Data sharing exchange method, apparatus, device, and medium
By collaboratively identifying target data providers through data sharing and exchange nodes and a central scheduling system, establishing network connections, and recording operational behaviors, the universality problem of data sharing and exchange systems is solved, security and scalability are achieved, and data sharing and exchange efficiency is improved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- CHINA TELECOM CORP LTD
- Filing Date
- 2022-05-13
- Publication Date
- 2026-05-19
AI Technical Summary
Existing data sharing and exchange systems lack universality and are difficult to meet the scalability requirements of cloud-network integration, making it difficult to reuse data sharing and exchange functions.
The system obtains the data demanders' needs through data sharing and exchange nodes, identifies target data suppliers, establishes a network connection between the data demanders and target data suppliers, coordinates the data sharing and exchange process using a central scheduling system, and records operational behavior on the blockchain.
It achieves security and system scalability in data sharing and exchange, and improves the efficiency of data sharing and exchange.
Smart Images

Figure CN117097798B_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to the field of big data technology, and in particular to a data sharing and exchange method, apparatus, electronic device, and computer-readable storage medium. Background Technology
[0002] With the rapid development of the information age and the rise of big data and artificial intelligence, data has become a core strategic resource for nations. How to achieve efficient data sharing and interaction among different organizations within a cloud-network integrated system has become crucial for driving the transformation of data into a factor of production within this system.
[0003] However, in related technologies, data sharing and exchange systems are mainly geared towards professional customized services for specific needs. Data sharing and exchange functions are difficult to reuse, there is a lack of universal solutions, and it is difficult to meet the requirements of cloud-network integration for system scalability.
[0004] It should be noted that the information disclosed in the background section above is only used to enhance the understanding of the background of this disclosure, and therefore may include information that does not constitute prior art known to those skilled in the art. Summary of the Invention
[0005] This disclosure provides a data sharing and exchange method, apparatus, electronic device, and computer-readable storage medium, which at least to some extent overcomes the problem of the lack of universality in existing data sharing and exchange methods.
[0006] Other features and advantages of this disclosure will become apparent from the following detailed description, or may be learned in part from practice of this disclosure.
[0007] According to one aspect of this disclosure, a data sharing and exchange method is provided, comprising:
[0008] Obtain the data sharing and exchange request sent by the data sharing and exchange node, wherein the data sharing and exchange request is generated based on the target data required by the data demander;
[0009] Based on the data sharing and exchange request, determine the target data provider that can provide the target data;
[0010] A network connection is established between the data demander and the target data supplier to enable the sharing and exchange of the target data between the target data supplier and the data demander.
[0011] In one embodiment of this disclosure, the data sharing and exchange request is generated based on the target data required by the data demander, including:
[0012] The data sharing and exchange node obtains the exchange request sent by the data demander. The exchange request carries the target data, the data sharing and exchange calculation type of the target data, and the data storage address of the data demander.
[0013] The data sharing and exchange node matches the corresponding initial data supplier based on the target data;
[0014] The data sharing exchange request is generated based on the exchange request and the initial data provider.
[0015] In one embodiment of this disclosure, the data sharing exchange request includes the data sharing exchange calculation type of the target data, the data storage address of the data demander, the initial data supplier that can provide the target data, the data storage address of the initial data supplier, and the network hop count from the initial data supplier to the data demander.
[0016] In one embodiment of this disclosure, the target data provider obtains the target data in the following manner:
[0017] Select initial data providers from the initial data providers that have the same data sharing and exchange calculation type as the target data, and use them as alternative data providers;
[0018] The location weight of the candidate data supplier is calculated based on the data storage address of the data demander, the data storage address of the initial data supplier, and the network hops from the initial data supplier to the data demander.
[0019] When the location weight meets the preset conditions, the candidate data supplier that meets the preset conditions will be used as the target data supplier.
[0020] In one embodiment of this disclosure, calculating the location weights of the candidate data providers includes:
[0021] Based on the physical location distances from the candidate data suppliers to the data demanders, a normalized physical location distance is calculated, where the normalized physical location distance d′ from the i-th candidate data supplier to the data demander is... i for:
[0022]
[0023] Where, d i d represents the physical distance from the i-th alternative data supplier to the data demander. max d is the maximum physical distance from the candidate data supplier to the data demander. min The minimum physical distance between the candidate data supplier and the data demander;
[0024] Based on the network hop count from the candidate data supplier to the data demander, a normalized network hop count is calculated, where h is the normalized network hop count from the i-th candidate data supplier to the data demander. i 'for:
[0025]
[0026] Among them, h i h is the network hop count from the i-th alternative data supplier to the data demander. max h is the maximum network hop count from the candidate data supplier to the data demander. min The minimum network hops from the candidate data supplier to the data demander;
[0027] The location weights of the candidate data providers are calculated based on the normalized physical location distance and the normalized network hop count, where the location weight w of the i-th candidate data provider is... i for:
[0028]
[0029] Among them, W d W represents the location distance weight of the data demander. h The network hop count weight for the data demand side.
[0030] In one embodiment of this disclosure, the step of selecting the initial data provider that meets the preset conditions as the target data provider when the location weights meet preset conditions includes:
[0031] When the location weight of the candidate data provider is greater than a preset weight threshold, the candidate data provider with the location weight greater than the preset weight threshold is selected as the target data provider.
[0032] In one embodiment of this disclosure, the method further includes:
[0033] When the number of candidate data providers whose position weight is greater than a preset weight threshold is greater than a preset number of providers, the candidate data providers are sorted according to their position weights, and the preset number of candidate data providers at the top of the sorted list are selected as the target data providers.
[0034] In one embodiment of this disclosure, establishing a network connection between the data demander and the target data provider to enable the sharing and exchange of the target data between the target data provider and the data demander includes:
[0035] Send the data storage address of the data demander and the data storage address of the target data supplier to the controller;
[0036] The controller establishes a network connection between the data demander and the target data supplier based on the data storage address of the data demander and the data storage address of the target data supplier, so that the target data supplier can send the target data to the data demander.
[0037] In one embodiment of this disclosure, before the data sharing exchange request sent by the data sharing exchange node is obtained, and the data sharing exchange request is generated based on the target data required by the data demander, the method further includes:
[0038] The data sharing and exchange node obtains an access request from an access point, wherein the access point includes the data demander and the target data supplier;
[0039] Determine whether the device attributes and network information of the access point are correct;
[0040] If correct, the data sharing and exchange node accesses the central scheduling system via the access request;
[0041] If an error occurs, the access request will fail, and the access point will be unable to access the central scheduling system.
[0042] In one embodiment of this disclosure, the method further includes:
[0043] During the data sharing and exchange process, the operational behaviors of the data demander and the target data supplier are recorded on the blockchain.
[0044] According to another aspect of this disclosure, a data sharing and exchange apparatus is provided, comprising:
[0045] The request acquisition module is used to acquire data sharing and exchange requests sent by data sharing and exchange nodes. The data sharing and exchange requests are generated based on the target data required by the data demander.
[0046] The supplier determination module is used to determine the target data supplier that can provide the target data based on the data sharing and exchange request;
[0047] The data exchange module is used to establish a network connection between the data demander and the target data supplier to realize the sharing and exchange of data between the target data supplier and the data demander.
[0048] According to another aspect of this disclosure, an electronic device is provided, comprising: a processor; and a memory for storing executable instructions of the processor; wherein the processor is configured to perform the data sharing and exchange method described above by executing the executable instructions.
[0049] According to another aspect of this disclosure, a computer-readable storage medium is provided having a computer program stored thereon, which, when executed by a processor, implements the data sharing and exchange method described above.
[0050] The embodiments of this disclosure provide a data sharing and exchange method, apparatus, device, and medium. A data demander sends the required target data to a data sharing and exchange node. The data sharing and exchange node generates a data sharing and exchange request and sends it to a central scheduling system. The central scheduling system determines the target data supplier based on the data sharing and exchange request. The target data supplier sends the target data to the data demander. The entire data sharing and exchange process is coordinated and scheduled through the central scheduling system. Compared to traditional centralized data sharing and exchange schemes, the multi-layered architecture data sharing and exchange method of this disclosure is more secure, has stronger system scalability, and improves data sharing and exchange efficiency.
[0051] It should be understood that the above general description and the following detailed description are exemplary and explanatory only, and are not intended to limit this disclosure. Attached Figure Description
[0052] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with this disclosure and, together with the description, serve to explain the principles of this disclosure. It is obvious that the drawings described below are merely some embodiments of this disclosure, and those skilled in the art can obtain other drawings based on these drawings without any inventive effort.
[0053] Figure 1 This diagram illustrates the system architecture provided in an embodiment of the present disclosure.
[0054] Figure 2 This diagram illustrates the system topology provided in an embodiment of the present disclosure.
[0055] Figure 3 This diagram illustrates a flowchart of a data sharing and exchange method provided in an embodiment of the present disclosure;
[0056] Figure 4 A flowchart illustrating another data sharing and exchange method provided by an embodiment of this disclosure is shown;
[0057] Figure 5 A flowchart illustrating yet another data sharing and exchange method provided in an embodiment of this disclosure is shown;
[0058] Figure 6 A flowchart illustrating yet another data sharing and exchange method provided in an embodiment of this disclosure is shown;
[0059] Figure 7 This diagram illustrates a signaling diagram of the data sharing and exchange method provided in an embodiment of the present disclosure.
[0060] Figure 8 This diagram illustrates a data sharing and exchange apparatus provided in an embodiment of the present disclosure.
[0061] Figure 9 A structural block diagram of an electronic device provided in an embodiment of this disclosure is shown. Detailed Implementation
[0062] Exemplary embodiments will now be described more fully with reference to the accompanying drawings. However, these exemplary embodiments can be implemented in many forms and should not be construed as limited to the examples set forth herein; rather, they are provided so that this disclosure will be more comprehensive and complete, and will fully convey the concept of the exemplary embodiments to those skilled in the art. The described features, structures, or characteristics may be combined in any suitable manner in one or more embodiments.
[0063] Furthermore, the accompanying drawings are merely illustrative of this disclosure and are not necessarily drawn to scale. The same reference numerals in the drawings denote the same or similar parts, and therefore repeated descriptions of them will be omitted. Some block diagrams shown in the drawings are functional entities and do not necessarily correspond to physically or logically independent entities. These functional entities may be implemented in software, in one or more hardware modules or integrated circuits, or in different network and / or processor devices and / or microcontroller devices.
[0064] Figure 1 A schematic diagram of an exemplary system architecture that can be applied to the data sharing and exchange method or data sharing and exchange apparatus provided in the embodiments of this disclosure is shown.
[0065] The integrated network-cloud system architecture can include a central layer and an edge layer. The central layer includes a central scheduling system 104, a central node for federated computing, and a central node for TEE privacy computing. The edge layer includes edge computing nodes and data storage for edge computing nodes. The central layer and the edge layer are connected by an SDWAN network composed of an SDWAN controller.
[0066] Edge computing nodes can also be called data nodes. The data demander is the party that needs the target data. The data demander connects to the SDWAN network as an edge computing node.
[0067] In one embodiment, such as Figure 1 As shown, the integrated network-cloud system architecture includes a data node 101, a data sharing and exchange node 103, and a central scheduling system 104. The data node 101 stores data in a data source 102, and the data source 102 serves as a data storage device for the edge computing node, providing data to the data node 101.
[0068] Data node 101 is connected to the central scheduling system 104 as an edge computing node. Data node 104 can be connected as a data demander or as a data supplier. The node connection process can also be regarded as a node consensus process. Only nodes that reach a consensus can be connected to the central scheduling system 104.
[0069] A front-end exchange is configured between data node 101 and data source 102. The front-end exchange acts as a bridge connecting data source 102 and data node 101, and also serves as a barrier isolating different databases within itself. The front-end exchange is equipped with an exchange database, application adapter, and data exchange software to enable data sending and receiving.
[0070] Data sharing and exchange node 103 serves as an intermediate node between data node 101 and central scheduling system 104 to achieve isolation between them. Data sharing and exchange node 103 receives access requests from data demanders, coordinates with the actual needs of the data demanders to select data available for sharing and exchange, and performs corresponding access configurations for data providers and data demanders based on the data format, type, and access policy.
[0071] After the requirements are configured, the data sharing and exchange node 103 will publish the information of the data provider that can provide data to the cloud network data sharing and exchange platform so that the data provider can be discovered by other data nodes 101 on the network.
[0072] As part of the cloud network data sharing and exchange platform, the central scheduling system 104 can query the storage location of data on edge nodes or central nodes based on requests initiated by the data sharing and trading center. Edge nodes consist of nodes that can provide data. The central scheduling system 104 determines the target data provider based on the request.
[0073] Figure 2 This diagram illustrates a system topology provided in an embodiment of the present disclosure. Figure 2 In this system, the integrated network-cloud system includes a central scheduling system 103 and multiple participating nodes, such as a data demander 201, a target data provider 202, and a data sharing and exchange node 103. The data demander 201, the target data provider 202, and the participating nodes are all connected to the data sharing and exchange node 103. The target data provider 202 may include one or more edge computing nodes or a central node.
[0074] Each participating node connects to its corresponding data source 102 via the front-end switch 203, thereby achieving isolation between different databases.
[0075] The solution provided in this application relates to edge computing technology, which is a software program applied in a computer. The data demander sends the required target data to a data sharing and exchange node. The data sharing and exchange node generates a data sharing and exchange request and sends it to a central scheduling system. The central scheduling system determines the target data supplier based on the data sharing and exchange request. The target data supplier sends the target data to the data demander. The entire data sharing and exchange process is coordinated and scheduled by the central scheduling system. Compared to traditional centralized data sharing and exchange schemes, the multi-layered architecture data sharing and exchange method disclosed herein is more secure, has stronger system scalability, and improves data sharing and exchange efficiency. This is specifically illustrated through the following embodiments:
[0076] First, this disclosure provides a data sharing and exchange method, which can be executed by any system with computing power.
[0077] Figure 3 This diagram illustrates a data sharing and exchange method according to an embodiment of the present disclosure, such as... Figure 3 As shown, the data sharing and exchange method provided in this embodiment includes the following steps:
[0078] S302. Obtain the data sharing and exchange request sent by the data sharing and exchange node. The data sharing and exchange request is generated based on the target data required by the data demander.
[0079] In this embodiment, the data sharing and exchange node receives the exchange request sent by the data demander, selects edge computing nodes and / or central nodes that can provide the target data as the initial data supplier based on the exchange request, and configures the initial data supplier for access according to the format, type, and access control policy of the target data.
[0080] The target data is the data that the data demander needs to obtain. The scope of the target data is broad, and it can be archival data or business data, such as user data. This embodiment does not limit it here, and the target data can include a variety of data.
[0081] For example, when sharing target data, a data provider may provide the sharing of one or more target data, that is, the number of target data may be one or more.
[0082] For example, the target data may be provided by one data provider or multiple data providers, such as a portion of the target data being provided by the first data provider and other portions being provided by the second data provider.
[0083] The descriptive information of the target data may include, but is not limited to, information describing its own characteristics such as the type, format, size, and data type of the target data.
[0084] In this embodiment, the data sharing and exchange node selects participating nodes with target data based on the target data of the data demander, forming an initial data supplier. The information of the initial data supplier and the information of the data demander are used to generate a data sharing and exchange request, which is then sent to the central scheduling system so that the central scheduling system can determine the target data supplier based on the data sharing and exchange request.
[0085] Typically, the initial data providers include a central node and multiple edge computing nodes, each performing different types of data exchange computations. After filtering the initial data providers, the data sharing and exchange nodes can store the information of the data demanders and the initial data providers in a data sharing and exchange request table, and then send the data sharing request to the central scheduling system in the form of a data table.
[0086] It should be noted that the data sharing and exchange request includes the data sharing and exchange calculation type of the target data, the data storage address of the data demander, the initial data supplier that can provide the target data, the data storage address of the initial data supplier, and the network hop count from the initial data supplier to the data demander.
[0087] S303. Determine the target data provider that can provide the target data based on the data sharing and exchange request.
[0088] In this embodiment, the target data provider is an initial data provider that meets certain conditions, thereby ensuring the validity of the data and the efficiency of data sharing and exchange.
[0089] It should be noted that the target data provider can be determined by using data sharing and exchange computing type, as well as the location information of the data demander and data provider, as filtering conditions to ensure that data is transmitted between nearby edge nodes.
[0090] S304. Establish a network connection between the data demander and the target data supplier to enable the sharing and exchange of target data between the target data supplier and the data demander.
[0091] The network connection between the data demander and the target data provider in this embodiment can be achieved in various ways. For example, a network connection can be established by sending the data storage address of the data demander and the data storage address of the target data provider to the Software Defined Wide Area Network (SDWAN) controller. SDWAN services are used to connect enterprise networks, data centers, Internet applications, and cloud services over a wide geographical area, "cloudifying" network control capabilities through software and supporting application-aware network capability exposure.
[0092] The data sharing and exchange method disclosed herein involves the data demander sending the required target data to the data sharing and exchange node. The data sharing and exchange node generates a data sharing and exchange request and sends it to the central scheduling system. The central scheduling system determines the target data supplier based on the data sharing and exchange request. The target data supplier then sends the target data to the data demander. The entire data sharing and exchange process is coordinated and scheduled through the central scheduling system. Compared with traditional centralized data sharing and exchange schemes, the multi-layered architecture data sharing and exchange method disclosed herein is more secure, has stronger system scalability, and improves data sharing and exchange efficiency.
[0093] Figure 4 A flowchart illustrating another data sharing and exchange method provided by an embodiment of this disclosure is shown. In this embodiment, in Figure 3 Based on the technical solution, step S302 is further refined into steps S402 to S406. For example... Figure 4 As shown, the method includes steps S402-406 and steps S304-S306. Specifically, the method includes:
[0094] S402. The data sharing and exchange node obtains the exchange request sent by the data demander. The exchange request carries the target data, the data sharing and exchange calculation type of the target data, and the data storage address of the data demander.
[0095] S404. The data sharing and exchange node matches the corresponding initial data supplier based on the target data;
[0096] S406. Generate a data sharing exchange request based on the exchange request and the initial data provider.
[0097] It should be noted that steps S304 to S306 are the same as those in the above embodiments, and will not be repeated here.
[0098] When a data demander needs to obtain target data, the data demander sends an exchange request to the data sharing exchange node. The exchange request is used to describe the information of the target data, including but not limited to the quantity of the target data, the characteristic information of the target data, and the data sharing exchange calculation type of the target data. The exchange request is also used to describe the information of the data demander, including but not limited to the data storage address of the data demander and the node identifier of the data demander. The node identifier is used to distinguish different participating nodes, and thus distinguish the data demander, data supplier, etc.
[0099] The data sharing and exchange node selects initial data providers that can provide target data from the participating nodes that have been connected. Typically, the initial data providers include a central node and multiple edge nodes. For example, the initial data providers include 2 central nodes and 10 edge nodes. Among them, the data sharing and exchange computation type of one central node and 6 edge nodes is federated computation, and the data sharing and exchange computation type of the other central node and the other 4 edge nodes is privacy computation.
[0100] For example, when the target data includes multiple data points, the initial data provider may be a central node and multiple edge nodes.
[0101] The data sharing and exchange node integrates the information from the initial data provider and the information from the data demander in the exchange request to generate a data sharing and exchange request.
[0102] A data sharing and exchange request shall include at least the data storage address of the data requester, the data storage address of the initial data provider, and the data sharing and exchange computation type, which includes federated computation and privacy computation.
[0103] Figure 5 A flowchart illustrating yet another data sharing and exchange method provided by an embodiment of this disclosure is shown. Figure 4 Based on this, step S304 is further refined into steps S502 to S504. For example... Figure 5 As shown, the method includes steps S402-S406, S502-S506, and step S306. Specifically, the method includes:
[0104] S502. Select initial data providers from the initial data providers that have the same data sharing and exchange calculation type as the target data as alternative data providers;
[0105] S504. Calculate the location weight of the candidate data supplier based on the data storage address of the data demander, the data storage address of the initial data supplier, and the network hop count from the initial data supplier to the data demander.
[0106] S506. When the location weight meets the preset conditions, the initial data supplier that meets the preset conditions will be used as the target data supplier.
[0107] It should be noted that steps S402 to S406 and step S306 are the same as those in the previous embodiments, and will not be repeated here.
[0108] The central scheduling system queries the location of the edge nodes containing the target data based on the data sharing and exchange request initiated by the data sharing and exchange center. These edge nodes consist of data providing nodes. The central scheduling system selects the target data provider based on the data demander's data storage address, the initial data provider's data storage address, and the data sharing and exchange calculation type.
[0109] The alternative data providers are determined by the data sharing and exchange computing type. If the data sharing and exchange computing type is federated computing, then the node whose initial data provider is federated computing is used as the alternative data provider; if the data sharing and exchange computing type is privacy computing, then the node whose initial data provider is privacy computing is used as the alternative data provider.
[0110] The location weights of the candidate data providers in this embodiment are used to characterize the distance between each node in the candidate data providers and the data demander, thereby filtering out target data providers that meet the conditions from the candidate data providers.
[0111] For example, if the data sharing and exchange computation type of the target data is federated computation, then the candidate data suppliers are determined to be one central node and six edge nodes of the above-mentioned computation type of federated computation; the position weight of one central node and the position weight of six edge nodes are calculated respectively, and the node that meets the preset conditions is selected as the target data supplier.
[0112] When the location weight meets the preset conditions, it means that the node in the candidate data supplier meets the data sharing and exchange calculation type on the one hand, and the node is close to the data demander on the other hand, so the node can be determined as the target data supplier; when the node in the candidate data supplier does not meet the preset conditions, it means that the node that does not meet the preset conditions cannot provide the target data, so the node can be directly removed.
[0113] In one embodiment, calculating the location weights of candidate data providers includes:
[0114] Based on the physical distances between the candidate data suppliers and the data demanders, calculate the normalized physical distance, where the normalized physical distance d′ between the i-th candidate data supplier and the data demander is... i for:
[0115]
[0116] Where, d i d represents the physical distance from the i-th alternative data supplier to the data demander; max d represents the maximum physical distance between the alternative data supplier and the data demander. min The minimum physical distance between the alternative data supplier and the data demander;
[0117] Calculate the normalized network hop count based on the network hop count from the candidate data supplier to the data demander, where h is the normalized network hop count from the i-th candidate data supplier to the data demander. i 'for:
[0118]
[0119] Among them, h i h is the network hop count from the i-th alternative data supplier to the data demander. max h is the maximum network hops from the alternative data supplier to the data demander. min The minimum number of network hops from the alternative data supplier to the data demander;
[0120] The location weights of candidate data providers are calculated based on the normalized physical location distance and the normalized network hop count, where the location weight w of the i-th candidate data provider is... i for:
[0121]
[0122] Among them, W d W represents the location distance weight for the data demander. h The network hop count weight for the data demand side.
[0123] In one embodiment, step S506, when the location weights meet preset conditions, designates the initial data provider that meets the preset conditions as the target data provider, including:
[0124] When the location weight of a candidate data provider is greater than a preset weight threshold, the candidate data provider with the location weight greater than the preset weight threshold will be used as the target data provider.
[0125] The preset weight threshold in this embodiment can be determined according to the actual situation, or it can be set in advance in the central scheduling system.
[0126] In another embodiment, the method further includes:
[0127] When the number of candidate data providers whose position weight is greater than the preset weight threshold is greater than the preset number of providers, the candidate data providers are sorted according to their position weight, and the candidate data providers with the preset number of providers at the top of the sort are selected as the target data providers.
[0128] The number of preset suppliers can be determined by the utilization rate of the data sharing and exchange nodes and the network status, or the value of the preset number of suppliers can be set in advance. This application does not make a specific limitation.
[0129] For example, among the 7 nodes of the initial data supplier, the position weights of 1 central node and 5 edge nodes are greater than the preset weight threshold (e.g., 80%), forming candidate data suppliers, and the position weight of the remaining edge node is less than the preset weight threshold. If the preset number of suppliers is 5, determined by the utilization rate of the data sharing and exchange nodes, then the nodes with position weights greater than the preset weight threshold are sorted from largest to smallest according to their position weights. From the sorted candidate data suppliers, the node with the larger position weight among the preset number of suppliers (5) is selected as the target data supplier.
[0130] The data sharing and exchange method provided in this disclosure improves the efficiency of data sharing and exchange by selecting initial data providers with the same data sharing and exchange calculation type as target data providers, calculating the position weight of the candidate data providers, and selecting candidate data providers that meet preset conditions as target data providers. This enables data to be shared and exchanged between neighboring nodes, thereby enhancing the effectiveness of data exchange.
[0131] In one embodiment, step S306 establishes a network connection between the data demander and the target data provider to enable the sharing and exchange of target data between the target data provider and the data demander, including:
[0132] Send the data storage address of the data demander and the data storage address of the target data supplier to the controller;
[0133] The controller establishes a network connection between the data demander and the target data supplier based on the data storage address of the data demander and the data storage address of the target data supplier, so that the target data supplier can send the target data to the data demander.
[0134] The central scheduling system sends the data storage addresses of the target data providers (including the privacy-preserving computation center node / federated learning center node and all participating edge nodes) and the data storage addresses of the data demanders to the SDWAN controller. The SDWAN controller then establishes SDWAN connections between the privacy-preserving computation center node / federated learning center node, all edge nodes, and the data demanders.
[0135] The privacy-preserving computation center node / federated learning center node and participating edge nodes begin interacting with their respective data and algorithm models, completing the computation and outputting the results.
[0136] Figure 6 A flowchart illustrating yet another data sharing and exchange method provided by an embodiment of this disclosure is shown. For example... Figure 6 As shown, before obtaining the data sharing and exchange request sent by the data sharing and exchange node in step S302, and before the data sharing and exchange request is generated based on the target data required by the data demander, the method further includes:
[0137] S602. The data sharing and exchange node obtains the access request from the access point, which includes the data demander and the target data supplier;
[0138] S604. Determine whether the device attributes and network information of the access point are correct;
[0139] S606. If correct, the data sharing and exchange node will access the central scheduling system via an access request.
[0140] S608. If an error occurs, the access request will fail, and the access point will be unable to access the central dispatch system.
[0141] Before a node can start the data sharing and exchange service, it needs to be connected to the data sharing and exchange node so that the central scheduling system can schedule the nodes that operate on the data.
[0142] After receiving an access request from an access point, the data sharing and exchange node automatically checks whether the device attributes and network information provided by the access point are correct. If correct, the node successfully accesses the data sharing and trading platform by accepting the access request. The access point can be a data node participating in data operations, including at least the data demander and the initial data supplier.
[0143] Data sharing and exchange nodes connect to the central scheduling system and join the data sharing and exchange service platform as participants.
[0144] The data sharing and exchange center collaborates with data nodes participating in data operations to select target data available for sharing and exchange based on actual needs, and performs corresponding access configurations according to the format, type, and access control policies of the target data.
[0145] After the requirements are configured, the data sharing and exchange center will publish the information of the initial data provider on the data sharing and exchange service platform, so that the initial data provider can be discovered by other nodes on the network.
[0146] In one embodiment, the method further includes:
[0147] During the data sharing and exchange process, the actions of both the data demander and the target data provider are recorded on the blockchain.
[0148] Blockchain is a novel application model of computer technologies such as distributed data storage, peer-to-peer transmission, consensus mechanisms, and cryptographic algorithms. Essentially, a blockchain is a decentralized database, a chain of data blocks linked together using cryptographic methods. Each data block contains information about a batch of network transactions, used to verify the validity of the information and generate the next block. A blockchain can include an underlying platform, a platform product and service layer, and an application service layer.
[0149] Smart contracts are the key code implementations that carry core business functions in blockchain technology. In the process of blockchain industrialization, smart contracts will gradually become more generalized, more complex, and more industrialized, and the digital asset value of smart contracts will continue to increase.
[0150] During the aforementioned data sharing and exchange process, all operations are recorded on the blockchain. The roles of each participating party and the blockchain are as follows: the central scheduling system is granted natural authorized access to the blockchain; the target data provider signs and publishes the summary information of the target data to the blockchain, including but not limited to the data storage address of the target data provider, and records the approval status of the authorization record on the blockchain; after applying for authorization, the data requester checks the access control permissions for the target data. If authorization is successfully obtained, the blockchain's smart contract verifies the signature of the target data summary information, obtains the summary information, and encrypts the summary information using the data requester's public key. The data requester obtains the encrypted summary information and decrypts it using its public key, thereby obtaining the summary information and indexing the target data to the data storage address of the target data provider.
[0151] The data sharing and exchange method provided in this disclosure records the operational behaviors of the data demander and the target data supplier on the blockchain, thereby achieving permanent storage, traceability, and immutability of the data sharing and exchange operation records.
[0152] The following is in conjunction with the appendix Figure 7 The data sharing and exchange methods are explained.
[0153] like Figure 7 As shown, the specific process is as follows:
[0154] S701, The access point for parameter operation data is connected to the central dispatch system;
[0155] Data demander 201 and target data supplier 202 send access requests to data sharing and exchange node 103. Data sharing and exchange node 103 determines whether the device attributes and network information of the access point are correct. If they are correct, data sharing and exchange node 103 enables the access point to access the central scheduling system through the access request.
[0156] S702, Data demander 201 sends an exchange request to data sharing and exchange node 103, the exchange request carrying target data information;
[0157] S703, the data sharing and exchange node 103 matches the initial data provider corresponding to the target data information, and generates a data sharing and exchange request based on the exchange request and the initial data provider;
[0158] S704, Data sharing and exchange node 103 sends a data sharing and exchange request to the central scheduling system 104;
[0159] S705. The central dispatch system determines the target data provider based on the data sharing and exchange request.
[0160] S706, The central dispatch system sends data demand information and target data supplier information to controller 701;
[0161] S707, Controller 701 establishes a network connection between data demander 201 and target data supplier 202 based on data demander information and target data supplier information;
[0162] S708, Target data provider 202 sends target data to data demander 201.
[0163] In addition, the method also includes recording the operational behaviors of the data demander 201 and the target data supplier 202 on the blockchain during the data sharing and exchange process.
[0164] Based on the same inventive concept, this disclosure also provides a data sharing and exchange device, as described in the following embodiments. Since the principle by which this device solves the problem is similar to that of the method embodiments described above, the implementation of this device embodiment can be referred to the implementation of the method embodiments described above, and will not be repeated here.
[0165] Figure 8 A diagram of a data sharing and exchange apparatus according to an embodiment of this disclosure is shown, such as... Figure 8 As shown, the data sharing and exchange device of this embodiment includes a request acquisition module 801, a supplier determination module 802, and a data exchange module 803, wherein...
[0166] The request acquisition module 801 is used to acquire the data sharing and exchange request sent by the data sharing and exchange node. The data sharing and exchange request is generated based on the target data required by the data demander.
[0167] Supplier determination module 802 is used to determine the target data supplier that can provide the target data based on the data sharing and exchange request;
[0168] The data exchange module 803 is used to establish a network connection between the data demander and the target data supplier in order to realize the sharing and exchange of data between the target data supplier and the data demander.
[0169] In one embodiment of this disclosure, the request acquisition module 801 is specifically used for the data sharing and exchange node to acquire the exchange request sent by the data demander. The exchange request carries the target data, the data sharing and exchange calculation type of the target data, and the data storage address of the data demander.
[0170] Data sharing and exchange nodes match the corresponding initial data supplier based on the target data;
[0171] A data sharing exchange request is generated based on the exchange request and the initial data provider.
[0172] It should be noted that the data sharing and exchange request includes the data sharing and exchange calculation type of the target data, the data storage address of the data demander, the initial data supplier that can provide the target data, the data storage address of the initial data supplier, and the network hop count from the initial data supplier to the data demander.
[0173] In one embodiment, the supplier determination module 802 includes a screening module, a calculation module, and a judgment module (not shown in the figures), wherein...
[0174] The filtering module is used to filter out initial data providers from the initial data providers that have the same data sharing and exchange calculation type as the target data, as alternative data providers;
[0175] The calculation module is used to calculate the location weight of the candidate data supplier based on the data storage address of the data demander, the data storage address of the initial data supplier, and the network hops from the initial data supplier to the data demander.
[0176] The judgment module is used to select the candidate data supplier that meets the preset conditions as the target data supplier when the position weight meets the preset conditions.
[0177] For example, the calculation module is specifically used to calculate the location weight of the initial data provider;
[0178] The supplier determination module 802 is used to select the initial data supplier with the largest position weight as the target data supplier.
[0179] For example, the location weight calculation module is used to calculate a normalized physical location distance based on the physical location distance from the candidate data supplier to the data demander, wherein the normalized physical location distance d′ from the i-th candidate data supplier to the data demander is... i for:
[0180]
[0181] Where, d i d represents the physical distance from the i-th alternative data supplier to the data demander. max d is the maximum physical distance from the candidate data supplier to the data demander. min The minimum physical distance between the candidate data supplier and the data demander;
[0182] Based on the network hop count from the candidate data supplier to the data demander, a normalized network hop count is calculated, where h is the normalized network hop count from the i-th candidate data supplier to the data demander. i 'for:
[0183]
[0184] Among them, h i h is the network hop count from the i-th alternative data supplier to the data demander. max h is the maximum network hop count from the candidate data supplier to the data demander. min The minimum network hops from the candidate data supplier to the data demander;
[0185] The location weights of the candidate data providers are calculated based on the normalized physical location distance and the normalized network hop count, where the location weight w of the i-th candidate data provider is... i for:
[0186]
[0187] Among them, W d W represents the location distance weight of the data demander. h The network hop count weight for the data demand side.
[0188] In one embodiment, the judgment module is specifically used to select the candidate data provider whose position weight is greater than the preset weight threshold as the target data provider when the position weight of the candidate data provider is greater than the preset weight threshold.
[0189] In another embodiment, the judgment module is further configured to sort the candidate data providers according to their position weights when the number of candidate data providers with position weights greater than a preset weight threshold is greater than a preset number of providers, and filter the candidate data providers with the preset number of providers ranked first as the target data provider.
[0190] In one embodiment, the data exchange module 803 is used to send the data storage address of the data demander and the data storage address of the target data supplier to the controller.
[0191] The controller is used to establish a network connection between the data demander and the target data supplier based on the data storage address of the data demander and the data storage address of the target data supplier, so that the target data supplier can send the target data to the data demander.
[0192] It should be noted that the device also includes a node access module not shown in the accompanying drawings.
[0193] The node access module is used to obtain the access request from the access point before the data sharing and exchange node generates the data sharing and exchange request based on the target data required by the data demander. The access point includes the data demander and the target data provider.
[0194] Determine if the access point's device attributes and network information are correct;
[0195] If correct, the data sharing and exchange node will access the central scheduling system via an access request;
[0196] If an error occurs, the access request will fail, and the access point will be unable to connect to the central dispatch system.
[0197] In one embodiment, the device further includes a data exchange recording module (not shown in the figures) for recording the operational behavior of the data demander and the target data supplier on the blockchain during the data sharing and exchange process.
[0198] Those skilled in the art will understand that various aspects of the present invention can be implemented as systems, methods, or program products. Therefore, various aspects of the present invention can be specifically implemented in the following forms: entirely hardware implementations, entirely software implementations (including firmware, microcode, etc.), or implementations combining hardware and software aspects, collectively referred to herein as “circuits,” “modules,” or “systems.”
[0199] This embodiment provides a data sharing and exchange device. The data demander sends the required target data to the data sharing and exchange node. The data sharing and exchange node generates a data sharing and exchange request and sends it to the central scheduling system. The central scheduling system determines the target data supplier based on the data sharing and exchange request. The target data supplier sends the target data to the data demander. The entire data sharing and exchange process is coordinated and scheduled by the central scheduling system. Compared with the traditional centralized data sharing and exchange scheme, the multi-layer architecture data sharing and exchange method disclosed in this invention is more secure, has strong system scalability, and improves data sharing and exchange efficiency.
[0200] The following reference Figure 9 To describe an electronic device 900 according to this embodiment of the present invention. Figure 9 The electronic device 900 shown is merely an example and should not impose any limitations on the functionality and scope of use of the embodiments of the present invention.
[0201] like Figure 9 As shown, the electronic device 900 is manifested in the form of a general-purpose computing device. The components of the electronic device 900 may include, but are not limited to: at least one processing unit 910, at least one storage unit 920, and a bus 930 connecting different system components (including the storage unit 920 and the processing unit 910).
[0202] The storage unit stores program code that can be executed by the processing unit 910, causing the processing unit 910 to perform the steps described in the "Exemplary Methods" section of this specification according to various exemplary embodiments of the present invention. For example, the processing unit 910 can perform actions such as... Figure 3 The data sharing and exchange request sent by the data sharing and exchange node is shown in the diagram. The data sharing and exchange request is generated based on the target data required by the data demander. The target data supplier that can provide the target data is determined based on the data sharing and exchange request. A network connection is established between the data demander and the target data supplier to realize the sharing and exchange of the target data between the target data supplier and the data demander.
[0203] Storage unit 920 may include readable media in the form of volatile storage units, such as random access memory (RAM) 9201 and / or cache memory 9202, and may further include read-only memory (ROM) 9203.
[0204] Storage unit 920 may also include a program / utility 9204 having a set (at least one) program module 9205, such program module 9205 including but not limited to: operating system, one or more application programs, other program modules and program data, each or some combination of these examples may include an implementation of a network environment.
[0205] Bus 930 can represent one or more of several types of bus structures, including a memory cell bus or memory cell controller, a peripheral bus, a graphics acceleration port, a processing unit, or a local bus using any of the various bus structures.
[0206] Electronic device 900 can also communicate with one or more external devices 940 (e.g., keyboard, pointing device, Bluetooth device, etc.), and with one or more devices that enable a user to interact with system 900, and / or with any device that enables electronic device 900 to communicate with one or more other computing devices (e.g., router, modem, etc.). This communication can be performed via input / output (I / O) interface 950. Furthermore, system 900 can also communicate with one or more networks (e.g., local area network (LAN), wide area network (WAN), and / or public networks, such as the Internet) via network adapter 960. As shown, network adapter 960 communicates with other modules of electronic device 900 via bus 930. It should be understood that, although not shown in the figures, other hardware and / or software modules can be used in conjunction with electronic device 900, including but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data backup storage systems.
[0207] From the above description of the embodiments, those skilled in the art will readily understand that the exemplary embodiments described herein can be implemented by software or by combining software with necessary hardware. Therefore, the technical solutions according to the embodiments of this disclosure can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (such as a CD-ROM, USB flash drive, external hard drive, etc.) or on a network, including several instructions to cause a computing device (such as a personal computer, server, terminal device, or network device, etc.) to execute the methods according to the embodiments of this disclosure.
[0208] In exemplary embodiments of this disclosure, a computer-readable storage medium is also provided, on which a program product capable of implementing the methods described above is stored. In some possible embodiments, various aspects of the invention may also be implemented as a program product comprising program code that, when the program product is run on a terminal device, causes the terminal device to perform the steps of the various exemplary embodiments of the invention described in the "Exemplary Methods" section of this specification.
[0209] A program product for implementing the above-described method according to embodiments of the present invention is described. This product may employ a portable compact disc read-only memory (CD-ROM) and include program code, and may run on a terminal device, such as a personal computer. However, the program product of the present invention is not limited thereto. In this document, the readable storage medium may be any tangible medium containing or storing a program that may be used by or in conjunction with an instruction execution system, apparatus, or device.
[0210] The program product may employ any combination of one or more readable media. A readable medium may be a readable signal medium or a readable storage medium. A readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of readable storage media (a non-exhaustive list) include: an electrical connection having one or more wires, a portable disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination thereof.
[0211] Computer-readable signal media may include data signals propagated in baseband or as part of a carrier wave, carrying readable program code. Such propagated data signals may take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. A readable signal medium may also be any readable medium other than a readable storage medium, capable of sending, propagating, or transmitting programs for use by or in conjunction with an instruction execution system, apparatus, or device.
[0212] The program code contained on the readable medium may be transmitted using any suitable medium, including but not limited to wireless, wired, optical fiber, RF, etc., or any suitable combination thereof.
[0213] Program code for performing the operations of this invention can be written in any combination of one or more programming languages, including object-oriented programming languages such as Java and C++, and conventional procedural programming languages such as C or similar languages. The program code can execute entirely on the user's computing device, partially on the user's device, as a standalone software package, partially on the user's computing device and partially on a remote computing device, or entirely on a remote computing device or server. In cases involving remote computing devices, the remote computing device can be connected to the user's computing device via any type of network, including a local area network (LAN) or a wide area network (WAN), or it can be connected to an external computing device (e.g., via the Internet using an Internet service provider).
[0214] It should be noted that although several modules or units for the device used to perform actions have been mentioned in the detailed description above, this division is not mandatory. In fact, according to embodiments of this disclosure, the features and functions of two or more modules or units described above can be embodied in one module or unit. Conversely, the features and functions of one module or unit described above can be further divided and embodied by multiple modules or units.
[0215] Furthermore, although the steps of the method in this disclosure are described in a specific order in the accompanying drawings, this does not require or imply that the steps must be performed in that specific order, or that all the steps shown must be performed to achieve the desired result. Additional or alternative steps may be omitted, multiple steps may be combined into one step, and / or a step may be broken down into multiple steps.
[0216] From the above description of the embodiments, those skilled in the art will readily understand that the exemplary embodiments described herein can be implemented by software or by combining software with necessary hardware. Therefore, the technical solutions according to the embodiments of this disclosure can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (such as a CD-ROM, USB flash drive, external hard drive, etc.) or on a network, including several instructions to cause a computing device (such as a personal computer, server, mobile terminal, or network device, etc.) to execute the methods according to the embodiments of this disclosure.
[0217] Other embodiments of this disclosure will readily occur to those skilled in the art upon consideration of the specification and practice of the invention disclosed herein. This application is intended to cover any variations, uses, or adaptations of this disclosure that follow the general principles of this disclosure and include common knowledge or customary techniques in the art not disclosed herein. The specification and examples are to be considered exemplary only, and the true scope and spirit of this disclosure are indicated by the appended claims.
Claims
1. A data sharing and exchange method, characterized in that, include: The data sharing and exchange node obtains the exchange request sent by the data demander, and the exchange request carries the target data; The central scheduling system acquires data sharing and exchange requests sent by data sharing and exchange nodes, and determines a target data provider that can provide the target data based on the data sharing and exchange requests. The data sharing and exchange requests are generated based on the target data and include the data sharing and exchange calculation type of the target data, the data storage address of the data demander, the initial data provider that can provide the target data, the data storage address of the initial data provider, and the network hop count from the initial data provider to the data demander. The controller establishes a network connection between the data demander and the target data supplier to enable the sharing and exchange of the target data between the target data supplier and the data demander; The target data provider for the target data is obtained by: selecting initial data providers from the initial data providers that have the same data sharing and exchange calculation type as the target data, and using them as candidate data providers; calculating the location weight of the candidate data providers based on the data storage address of the data demander, the data storage address of the initial data providers, and the network hop count from the initial data providers to the data demander. When the location weight meets the preset conditions, the candidate data supplier that meets the preset conditions will be used as the target data supplier.
2. The data sharing and exchange method according to claim 1, characterized in that, The data sharing and exchange request is generated based on the target data required by the data demander, including: The data sharing and exchange node obtains the exchange request sent by the data demander. The exchange request carries the target data, the data sharing and exchange calculation type of the target data, and the data storage address of the data demander. The data sharing and exchange node matches the corresponding initial data supplier based on the target data; The data sharing exchange request is generated based on the exchange request and the initial data provider.
3. The data sharing and exchange method according to claim 1, characterized in that, The calculation of the location weights of the candidate data providers includes: Based on the physical location distances from the candidate data suppliers to the data demanders, a normalized physical location distance is calculated, where the normalized physical location distance from the i-th candidate data supplier to the data demander is... for: in, The distance between the i-th alternative data supplier and the data demander is the physical location distance. The maximum physical distance between the candidate data supplier and the data demander; The minimum physical distance between the candidate data supplier and the data demander; Based on the network hop count from the candidate data supplier to the data demander, calculate the normalized network hop count, where the normalized network hop count from the i-th candidate data supplier to the data demander is... for: in, The network hop count from the i-th alternative data supplier to the data demander; The maximum number of network hops from the candidate data supplier to the data demander; The minimum network hops from the candidate data supplier to the data demander; The location weights of the candidate data providers are calculated based on the normalized physical location distance and the normalized network hop count, wherein the location weight of the i-th candidate data provider is... for: in, The location distance weight is used for the data demander. The network hop count weight for the data demand side.
4. The data sharing and exchange method according to claim 1, characterized in that, When the position weight meets the preset conditions, the initial data supplier that meets the preset conditions will be used as the target data supplier, including: When the location weight of the candidate data provider is greater than a preset weight threshold, the candidate data provider with the location weight greater than the preset weight threshold is selected as the target data provider.
5. The data sharing and exchange method according to claim 4, characterized in that, The method further includes: When the number of candidate data providers whose position weight is greater than a preset weight threshold is greater than a preset number of providers, the candidate data providers are sorted according to their position weights, and the preset number of candidate data providers at the top of the sorted list are selected as the target data providers.
6. The data sharing and exchange method according to claim 1, characterized in that, The establishment of a network connection between the data demander and the target data provider to enable the sharing and exchange of the target data between the target data provider and the data demander includes: Send the data storage address of the data demander and the data storage address of the target data supplier to the controller; The controller establishes a network connection between the data demander and the target data supplier based on the data storage address of the data demander and the data storage address of the target data supplier, so that the target data supplier can send the target data to the data demander.
7. The data sharing and exchange method according to claim 1, characterized in that, Before the data sharing and exchange request sent by the data sharing and exchange node is generated based on the target data required by the data demander, the method further includes: The data sharing and exchange node obtains an access request from an access point, wherein the access point includes the data demander and the target data supplier; Determine whether the device attributes and network information of the access point are correct; If correct, the data sharing and exchange node accesses the central scheduling system via the access request; If an error occurs, the access request will fail, and the access point will be unable to access the central scheduling system.
8. The data sharing and exchange method according to any one of claims 1-7, characterized in that, The method further includes: During the data sharing and exchange process, the operational behaviors of the data demander and the target data supplier are recorded on the blockchain.
9. A data sharing and exchange device, characterized in that, include: A data sharing and exchange node is used to obtain exchange requests sent by data demanders, the exchange requests carrying target data; The central scheduling system is used to acquire data sharing and exchange requests sent by data sharing and exchange nodes, determine the target data supplier that can provide the target data based on the data sharing and exchange request, the data sharing and exchange request is generated based on the target data, and the data sharing and exchange request includes the data sharing and exchange calculation type of the target data, the data storage address of the data demander, the initial data supplier that can provide the target data, the data storage address of the initial data supplier, and the network hop count from the initial data supplier to the data demander; A controller is used to establish a network connection between the data demander and the target data supplier to enable data sharing and exchange between the target data supplier and the data demander. The central scheduling system is used to select initial data providers from the initial data providers that have the same data sharing and exchange calculation type as the target data, as alternative data providers; The location weight of the candidate data supplier is calculated based on the data storage address of the data demander, the data storage address of the initial data supplier, and the network hops from the initial data supplier to the data demander. When the location weight meets the preset conditions, the candidate data supplier that meets the preset conditions will be used as the target data supplier.
10. An electronic device, characterized in that, include: processor; and a memory for storing executable instructions of the processor; wherein the processor is configured to perform the data sharing and exchange method as described in any one of claims 1-8 by executing the executable instructions.
11. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by the processor, it implements the data sharing and exchange method as described in any one of claims 1-8.