CN115037746B - Data transmission system, method, device, electronic equipment and readable storage medium - Google Patents

Data transmission system, method, device, electronic equipment and readable storage medium Download PDF

Info

Publication number
CN115037746B
CN115037746B CN202210602327.0A CN202210602327A CN115037746B CN 115037746 B CN115037746 B CN 115037746B CN 202210602327 A CN202210602327 A CN 202210602327A CN 115037746 B CN115037746 B CN 115037746B
Authority
CN
China
Prior art keywords
under
node
chain
computing
task
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202210602327.0A
Other languages
Chinese (zh)
Other versions
CN115037746A (en
Inventor
王毅飞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ant Blockchain Technology Shanghai Co Ltd
Original Assignee
Ant Blockchain Technology Shanghai Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ant Blockchain Technology Shanghai Co Ltd filed Critical Ant Blockchain Technology Shanghai Co Ltd
Priority to CN202210602327.0A priority Critical patent/CN115037746B/en
Publication of CN115037746A publication Critical patent/CN115037746A/en
Application granted granted Critical
Publication of CN115037746B publication Critical patent/CN115037746B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1074Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
    • H04L67/1078Resource delivery mechanisms

Abstract

The present specification provides a data transmission system, method, apparatus, electronic device, and readable storage medium. The method is applied to a second under-chain computing node corresponding to a second block chain node in a block chain network, a first block chain link point in the network corresponds to the first under-chain computing node, and node identifiers of all under-chain computing nodes corresponding to any block chain node are different from each other, and the method comprises the following steps: and receiving a data message which is sent by the second blockchain node and contains target data, executing an under-chain cooperative computing task according to the target data, and sending the message to the first blockchain node under the condition that the first under-chain computing node monitors that the under-chain cooperative computing task indicates that the second under-chain computing node is a participant and the target data provided by the first under-chain computing node is required to be used, wherein the message is sent to the second blockchain node according to the node identifier and the task identifier contained in the message by the first under-chain computing node.

Description

Data transmission system, method, device, electronic equipment and readable storage medium
Technical Field
The embodiment of the specification belongs to the technical field of blockchains, and particularly relates to a data transmission system, a method, a device, electronic equipment and a readable storage medium.
Background
Blockchain (Blockchain) is a new application mode of computer technologies such as distributed data storage, point-to-point transmission, consensus mechanisms, encryption algorithms, and the like. In the block chain system, the data blocks are combined into a chain data structure in a sequential connection mode according to the time sequence, and the distributed account book which is not tamperable and counterfeit and is ensured in a cryptographic mode is formed.
There may be a need for multiple tenants registered with a blockchain node in a blockchain network to participate in co-under-chain collaborative computing, for which each tenant may participate in performing a respective under-chain collaborative computing task, respectively. In the process of executing the under-chain collaborative computing task, data interaction requirements may exist among multiple tenants, such as the need to transfer intermediate data of the computing process or share the respective obtained computing results.
In the related art, to meet the data transmission requirements between multiple tenants, the multiple tenants may implement data interaction through the blockchain network. For example, the sender tenant may record the data to be sent and the task identifier of the under-link cooperative computing task in a message, so that the receiver tenant determines, according to the task identifier, which task that the target data sent by its corresponding receiver blockchain node participates in corresponds to. However, to implement this solution smoothly, the precondition that the receiver blockchain node connects only one receiver tenant needs to be satisfied. If multiple tenants connected with the same receiver blockchain node participate in executing the same under-chain collaborative computing task, the receiver blockchain node cannot determine which tenant of the multiple tenants is the true receiver of the message after receiving the message, so that data transmission failure is caused. Therefore, according to the scheme, multiple tenants participating in the collaborative computing task under the same chain are required to be connected to different blockchain nodes respectively, the requirements on the tenant connection mode are severe, and the application scene is limited.
Disclosure of Invention
The invention aims to provide a data transmission system, a data transmission method, a data transmission device, an electronic device and a readable storage medium.
According to a first aspect of one or more embodiments of the present disclosure, a data transmission system is provided, including a blockchain node and its corresponding under-chain computing node in a blockchain network, node identifiers of respective under-chain computing nodes corresponding to any blockchain node in the blockchain network are different from each other, a first blockchain node corresponds to the first under-chain computing node, and a second blockchain node corresponds to the second under-chain computing node, where:
the method comprises the steps that a first under-chain computing node is used for monitoring an under-chain cooperation computing task generated by the first under-chain computing node, and sending a data message containing target data to the first under-chain computing node when the under-chain cooperation computing task indicates that a second under-chain computing node is a participant and the target data provided by the first under-chain computing node is needed, wherein the data message also contains identity information of the second under-chain computing node, node identification of the second under-chain computing node and task identification of the under-chain cooperation computing task;
the first blockchain node is used for forwarding the data message to a second blockchain node indicated by the identity information through the blockchain network;
The second blockchain node is used for determining a second under-chain computing node according to the node identifier and the task identifier, and sending the data message to the determined second under-chain computing node;
the second under-chain computing node is used for monitoring the under-chain cooperative computing task generated by the second blockchain node, and executing the monitored under-chain cooperative computing task according to the received target data under the condition that the under-chain cooperative computing task indicates that the second under-chain computing node is a participant and the target data provided by the first under-chain computing node is needed.
According to a second aspect of one or more embodiments of the present disclosure, a data transmission method is provided, which is applied to a first under-chain computing node corresponding to a first blockchain link point in a blockchain network, a second blockchain node in the blockchain network corresponds to the second under-chain computing node, and node identifiers of under-chain computing nodes corresponding to any blockchain node in the blockchain network are different from each other, and the method includes:
monitoring an under-chain cooperative computing task generated by a first blockchain node;
and in the case that the under-chain cooperative computing task indicates that the second under-chain computing node is a participant and target data provided by the first under-chain computing node is needed, sending a data message containing the target data, identity information of the second under-chain computing node, node identification of the second under-chain computing node and task identification of the under-chain cooperative computing task to the first under-chain computing node, wherein the data message is used for indicating the first under-chain computing node to forward the message to the second under-chain computing node indicated by the identity information through the blockchain network so that the message is sent to the second under-chain computing node indicated by the node identification and the task identification by the second under-chain computing node, and in the case that the under-chain cooperative computing task generated by the second under-chain computing node indicates that the second under-chain computing node is a participant and the target data provided by the first under-chain computing node is needed, executing the monitored under-chain cooperative computing task according to the received target data.
According to a third aspect of one or more embodiments of the present disclosure, a data transmission method is provided, which is applied to a first blockchain node corresponding to a first under-chain computing node in a blockchain network, a second blockchain node in the blockchain network corresponds to a second under-chain computing node, and node identifiers of the under-chain computing nodes corresponding to any blockchain node in the blockchain network are different from each other, and the method includes:
receiving a data message sent when an under-chain cooperative computing task generated by a first under-chain computing node and monitored by the first under-chain computing node indicates that a second under-chain computing node is a participant and target data provided by the first under-chain computing node is needed to be used, wherein the data message comprises the target data, identity information of the second under-chain computing node, a node identifier of the second under-chain computing node and a task identifier of the under-chain cooperative computing task;
forwarding the data message to a second blockchain node indicated by the identity information through the blockchain network, sending the data message to a second under-chain computing node indicated by the node identifier and the task identifier by a second blockchain node, and executing the monitored under-chain cooperative computing task according to the received target data under the condition that the under-chain computing task generated by the second under-chain computing node monitors the second blockchain node indicates that the second under-chain computing node is a participant and the target data provided by the first under-chain computing node is needed.
According to a fourth aspect of one or more embodiments of the present disclosure, a data transmission method is provided, which is applied to a second blockchain node corresponding to a second under-chain computing node in a blockchain network, where a first blockchain link point in the blockchain network corresponds to the first under-chain computing node, and node identifiers of under-chain computing nodes corresponding to any blockchain node in the blockchain network are different from each other, and the method includes:
receiving a data message forwarded by a first blockchain node through the blockchain network, wherein the data message is sent to the first blockchain node under the condition that a first blockchain computing node monitors that an under-chain cooperative computing task generated by the first blockchain node indicates that a second under-chain computing node is a participant and target data provided by the first under-chain computing node is needed to be used, and the data message comprises the target data, identity information of the second blockchain node, node identification of the second under-chain computing node and task identification of the under-chain cooperative computing task;
and determining a second under-chain computing node according to the node identifier and the task identifier, and sending the data message to the determined second under-chain computing node, wherein when the under-chain cooperative computing task generated by the second under-chain computing node in the monitored second blockchain node indicates that the second under-chain computing node is a participant and target data provided by the first under-chain computing node is required to be used, the monitored under-chain cooperative computing task is executed according to the received target data.
According to a fifth aspect of one or more embodiments of the present disclosure, a data transmission method is provided, which is applied to a second under-chain computing node corresponding to a second blockchain node in a blockchain network, where a first blockchain link point in the blockchain network corresponds to the first under-chain computing node, and node identifiers of under-chain computing nodes corresponding to any blockchain node in the blockchain network are different from each other, and the method includes:
receiving a data message containing target data sent by a second blockchain node, wherein the data message is sent to the first blockchain node by the first blockchain node under the condition that an under-chain cooperative computing task generated by the first blockchain node is monitored to indicate that the second blockchain computing node is a participant and the target data provided by the first blockchain computing node is required to be used, and the data message is forwarded to the second blockchain node by the first blockchain node according to the identity information of the second blockchain node contained in the message, and is sent to the second blockchain node by the second blockchain node according to the node identifier of the second blockchain computing node and the task identifier of the under-chain cooperative computing task contained in the message;
And executing the monitored under-chain cooperative computing task according to the received target data under the condition that the monitored under-chain cooperative computing task generated by the second blockchain node indicates that the second under-chain computing node is a participant and the target data provided by the first under-chain computing node is needed.
According to a sixth aspect of one or more embodiments of the present disclosure, a data transmission apparatus is provided, which is applied to a first under-chain computing node corresponding to a first blockchain link point in a blockchain network, a second blockchain node in the blockchain network corresponds to the second under-chain computing node, and node identifiers of respective under-chain computing nodes corresponding to any blockchain node in the blockchain network are different from each other, and the apparatus includes:
the task monitoring unit is used for monitoring the downlink cooperative computing task generated by the first blockchain node;
and the message sending unit is used for sending a data message containing the target data, the identity information of the second blockchain node, the node identification of the second blockchain node and the task identification of the under-chain cooperative computing task to the first blockchain node when the under-chain cooperative computing task indicates that the second blockchain computing node is a participant and the target data provided by the first under-chain computing node is needed, wherein the data message is used for indicating the first blockchain node to forward the message to the second blockchain node indicated by the identity information through the blockchain network so as to send the message to the second under-chain computing node indicated by the node identification and the task identification by the second blockchain node, and executing the monitored under-chain cooperative computing task according to the received target data when the under-chain cooperative computing task generated by the second under-chain computing node monitored indicates that the second under-chain computing node is a participant and the target data provided by the first under-chain computing node is needed.
According to a seventh aspect of one or more embodiments of the present disclosure, a data transmission apparatus is provided, which is applied to a first blockchain node corresponding to a first under-chain computing node in a blockchain network, a second blockchain node in the blockchain network corresponds to a second under-chain computing node, and node identifiers of respective under-chain computing nodes corresponding to any blockchain node in the blockchain network are different from each other, and the apparatus includes:
the task receiving unit is used for receiving a data message sent when the first under-chain computing node monitors that an under-chain cooperative computing task generated by the first blockchain node indicates that the second under-chain computing node is a participant and target data provided by the first under-chain computing node is needed to be used, wherein the data message comprises the target data, identity information of the second blockchain node, a node identifier of the second under-chain computing node and a task identifier of the under-chain cooperative computing task;
and the message forwarding unit is used for forwarding the data message to a second blockchain node indicated by the identity information through the blockchain network, sending the data message to a second under-chain computing node indicated by the node identifier and the task identifier by a second blockchain node point, and executing the monitored under-chain cooperative computing task according to the received target data under the condition that the under-chain computing node is indicated to be a participant by the under-chain cooperative computing task generated by the second under-chain computing node and the target data provided by the first under-chain computing node is needed.
According to an eighth aspect of one or more embodiments of the present disclosure, there is provided a data transmission apparatus applied to a second blockchain node corresponding to a second under-chain computing node in a blockchain network, where a first blockchain link point in the blockchain network corresponds to the first under-chain computing node, and node identifiers of respective under-chain computing nodes corresponding to any blockchain node in the blockchain network are different from each other, the apparatus including:
the message receiving unit is used for receiving a data message forwarded by the first blockchain node through the blockchain network, wherein the data message is sent to the first blockchain node when the first blockchain node monitors that an under-chain cooperative computing task generated by the first blockchain node indicates that the second under-chain computing node is a participant and target data provided by the first under-chain computing node is needed to be used, and the data message comprises the target data, identity information of the second blockchain node, node identification of the second under-chain computing node and task identification of the under-chain cooperative computing task;
and the message sending unit is used for determining a second under-chain computing node according to the node identifier and the task identifier, sending the data message to the determined second under-chain computing node, and executing the monitored under-chain cooperative computing task according to the received target data under the condition that the under-chain cooperative computing task generated by the second under-chain computing node during monitoring of the second blockchain node indicates that the second under-chain computing node is a participant and the target data provided by the first under-chain computing node is needed.
According to a ninth aspect of one or more embodiments of the present disclosure, there is provided a data transmission apparatus applied to a second under-chain computing node corresponding to a second blockchain node in a blockchain network, where a first blockchain link point in the blockchain network corresponds to the first under-chain computing node, and node identifiers of respective under-chain computing nodes corresponding to any blockchain node in the blockchain network are different from each other, the apparatus including:
the message receiving unit is used for receiving a data message which is sent by the second blockchain node and contains target data, wherein the data message is sent to the first blockchain node when the first blockchain node monitors that an under-chain cooperative computing task generated by the first blockchain node indicates that the second blockchain node is a participant and the target data provided by the first blockchain node is needed to be used, the first blockchain node forwards the data message to the second blockchain node through the blockchain network according to the identity information of the second blockchain node contained in the message, and the second blockchain node sends the data message to the second blockchain node according to the node identifier of the second blockchain node and the task identifier of the under-chain cooperative computing task contained in the message;
And the task execution unit is used for executing the monitored under-chain cooperative computing task according to the received target data under the condition that the monitored under-chain cooperative computing task generated by the second blockchain node indicates that the second under-chain computing node is a participant and the target data provided by the first under-chain computing node is needed.
According to a tenth aspect of one or more embodiments of the present specification, there is provided an electronic device comprising:
a processor;
a memory for storing processor-executable instructions;
wherein the processor implements the method of any one of the second to fifth aspects by executing the executable instructions.
According to an eleventh aspect of one or more embodiments of the present description, there is provided a computer-readable storage medium having stored thereon computer instructions which, when executed by a processor, implement the steps of the method according to any of the second to fifth aspects.
In the embodiment of the present disclosure, node identifiers of the respective under-chain computing nodes connected to the same blockchain node in the blockchain network are different from each other. After the first chain computing node monitors the chain cooperative computing task generated by the first block chain node, when the task indicates that the second chain computing node is a participant and target data provided by the first chain computing node is needed to be used, a data message containing the target data, the identity information of the second block chain node, the node identification of the second chain computing node and the task identification of the chain cooperative computing task is sent to the first block chain node. The first blockchain node sends the data message to a second blockchain node indicated by the identity information through a blockchain network, and the second blockchain node further sends the message to a second under-chain computing node indicated by the node identifier and the task identifier, so that if an under-chain cooperation computing task generated by the second under-chain computing node in the monitoring state of the second under-chain computing node indicates that the second under-chain computing node is a participant and target data provided by the first under-chain computing node is needed, the monitored under-chain cooperation computing task is executed according to the received target data.
The under-chain computing node in the scheme of the specification is the tenant connected with the blockchain node. Therefore, the node identification of the second under-chain computing node and the task identification of the under-chain cooperative computing task are carried in the data message, so that the second blockchain node can determine the true receiving party of the data message according to the two identifications, namely, the corresponding second under-chain computing node is determined. It can be understood that, because the node identifiers of the under-chain computing nodes connected by the second blockchain node are different from each other, even if the multiple under-chain computing nodes connected by the second blockchain node participate in executing the same under-chain cooperative computing task (i.e. multi-tenant scenario), the second blockchain node can accurately determine the second under-chain computing node from the multiple under-chain computing nodes connected by itself according to the data identifier and the task identifier carried in the data message, thereby realizing accurate routing of the target data in the multi-tenant scenario and being beneficial to smooth execution of the under-chain cooperative computing task. It can be seen that the scheme is not limited to block link points respectively connected by a plurality of computing nodes under the chain participating in executing the same cooperative computing task under the chain: any two under-chain computing nodes can be respectively connected to different blockchain nodes or can be connected to the same blockchain node. Obviously, the scheme has loose requirements on the connection mode of the computing nodes under the chain, so that the scheme is more widely applicable.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present disclosure, the drawings that are needed in the description of the embodiments will be briefly described below, and it is obvious that the drawings in the following description are only some embodiments described in the present disclosure, and that other drawings may be obtained according to these drawings without inventive effort for a person skilled in the art.
Fig. 1 is a schematic diagram of a data transmission scenario provided in an exemplary embodiment.
Fig. 2 is a flow chart of a data transmission method according to an exemplary embodiment.
Fig. 3 is a flow chart of another data transmission method provided in an exemplary embodiment.
Fig. 4 is a flow chart of yet another data transmission method provided by an exemplary embodiment.
Fig. 5 is a flow chart of yet another data transmission method provided by an exemplary embodiment.
Fig. 6 is a schematic diagram of an apparatus according to an exemplary embodiment.
Fig. 7 is a block diagram of a data transmission apparatus according to an exemplary embodiment.
Fig. 8 is a block diagram of another data transmission apparatus provided by an exemplary embodiment.
Fig. 9 is a block diagram of yet another data transmission apparatus provided by an exemplary embodiment.
Fig. 10 is a block diagram of yet another data transmission apparatus provided by an exemplary embodiment.
Detailed Description
In order to make the technical solutions in the present specification better understood by those skilled in the art, the technical solutions in the embodiments of the present specification will be clearly and completely described below with reference to the drawings in the embodiments of the present specification, and it is obvious that the described embodiments are only some embodiments of the present specification, not all embodiments. All other embodiments, which can be made by one of ordinary skill in the art without undue burden from the present disclosure, are intended to be within the scope of the present disclosure.
In this specification, as a participant in an under-chain collaborative computing task, a second under-chain computing node needs to use target data provided by a first under-chain computing node in performing the task, and the first under-chain computing node transmits the data to the second under-chain computing node through the blockchain network. Wherein the first and second under-chain computing nodes correspond to first and second blockchain nodes in the blockchain network, respectively.
Fig. 1 is a schematic diagram of a data transmission system according to an exemplary embodiment, which illustrates a connection manner between each blockchain node and its corresponding under-chain computing node in a blockchain network. As shown in FIG. 1, the blockchain nodes 11-14 form a blockchain network to which the under-chain computing nodes 21-24 respectively access through, i.e., are respectively connected to, the respective blockchain nodes. Wherein the under-chain computing node 21 is connected to the blockchain node 11, the under-chain computing node 22 is connected to the blockchain node 12, and the under-chain computing nodes 23-24 are connected to the blockchain node 13. It should be noted that, there may be some blockchain nodes in the blockchain network that are not connected to the computing nodes under the chain, such as the blockchain node 14 in fig. 1, that is, are not connected to any computing nodes under the chain, but such blockchain nodes are not related to the present disclosure, which is not limited thereto in this disclosure. The following embodiments are described taking as an example the transmission of target data by the chain under-computing node 21 to the chain under-computing node 23 via a blockchain network (i.e., the first and second chain under-computing nodes 21 and 23, respectively).
In the related art, the registration information of the under-chain computing node 21 in the blockchain node 11 is { "channel": "task_001", "node ID": "id_1" }, the registration information of the chain computing nodes 23 and 24 in the blockchain node 13 are both { "channel": "task_001", "node ID": "ID_3" }, where "task_001" is the task identification of the co-participating under-chain cooperative computing task of under-chain computing node 21, under-chain computing nodes 23 and 24, and "ID_1" and "ID_3" are the node identifications of blockchain node 11 and blockchain node 13, respectively. Based on this, when the under-chain computing node 21 needs to send data to the under-chain computing node 23, the message it sends is:
message= { "from": "id_1", "to": "id_3", "channel": "task_001", "payload": "XXX" }
Where "XXX" is the data to be transmitted (hereinafter referred to as "XXX"). Upon receiving the message, blockchain node 31 queries the locally registered undersea computing node for the channel "task_001" therein, and discovers that undersea computing nodes 23 and 24 are both registered for the channel, so that it cannot be determined whether the message should be sent to undersea computing node 23 or undersea computing node 24, resulting in a message transmission failure.
In order to solve the above-mentioned problems in the related art, the present disclosure proposes a data transmission system, in which a data message containing target data to be transmitted carries a task identifier of a second under-chain computing node serving as a data receiver, where the task identifier of the under-chain cooperative computing task is identified, so as to implement accurate routing of the data message in a multi-tenant scenario. The data transmission scheme is described in detail below with reference to the accompanying drawings and corresponding embodiments.
The data transmission system comprises blockchain nodes in a blockchain network and corresponding subchain computing nodes thereof, node identifiers of all subchain computing nodes corresponding to any blockchain node in the blockchain network are different from each other, a first blockchain link point corresponds to a first subchain computing node, and a second blockchain node corresponds to a second subchain computing node, wherein:
the method comprises the steps that a first under-chain computing node is used for monitoring an under-chain cooperation computing task generated by the first under-chain computing node, and sending a data message containing target data to the first under-chain computing node when the under-chain cooperation computing task indicates that a second under-chain computing node is a participant and the target data provided by the first under-chain computing node is needed, wherein the data message also contains identity information of the second under-chain computing node, node identification of the second under-chain computing node and task identification of the under-chain cooperation computing task;
the first blockchain node is used for forwarding the data message to a second blockchain node indicated by the identity information through the blockchain network;
the second blockchain node is used for determining a second under-chain computing node according to the node identifier and the task identifier, and sending the data message to the determined second under-chain computing node;
The second under-chain computing node is used for monitoring the under-chain cooperative computing task generated by the second blockchain node, and executing the monitored under-chain cooperative computing task according to the received target data under the condition that the under-chain cooperative computing task indicates that the second under-chain computing node is a participant and the target data provided by the first under-chain computing node is needed.
In this specification, any blockchain node and its corresponding downlink computing node may be deployed in the same node device, or may also be deployed in the same network environment, for example, in the same local area network. Any under-chain computing node connected to any blockchain node may be considered as a tenant registered to the blockchain node, and node members corresponding to the under-chain computing node may be individuals, organizations, communities, etc., which are not limited in this specification.
In addition, the number of the first under-link computing nodes and the second under-link computing nodes is at least one, for example, in the transmission process of the target data described in the present specification, there may be a plurality of first under-link computing nodes and one second under-link computing node, that is, a plurality of under-link computing nodes (serving as data providers) respectively transmit corresponding target data to the same under-link computing node (serving as data receivers) through the blockchain network, where the target data respectively provided by the first under-link computing nodes may be different from each other. Or, there may be one first under-link computing node and a plurality of second under-link computing nodes, that is, one under-link computing node outputs corresponding target data to a plurality of under-link computing nodes through a blockchain network, where the first under-link computing node may output the same or different target data to each of the second under-link computing nodes, which is not described herein.
As shown in fig. 1, the node identities of the under-chain computing node 23 and the under-chain computing node 24 to which the blockchain node 23 is connected are different from each other, and may be tenant_1 and tenant_2, respectively. In addition, node identifiers of the under-chain computing nodes connected to different block chain nodes may be the same, for example, node identifiers of the under-chain computing node 21 connected to the block chain node 11 and the under-chain computing node 22 connected to the block chain node 12 may be tenant_1; alternatively, node identifiers of the under-link computing nodes connected to different block chain nodes may be different from each other, that is, node identifiers of the under-link computing nodes may be unique in the block chain network, for example, node identifiers of the under-link computing nodes 21 to 24 may be tenant_21, tenant_22, tenant_23, tenant_24, and the like, which are not described herein.
In the following, the node identifiers of the computing nodes under the chain connected by the different blockchain nodes are taken as examples to describe that the node identifiers are different, and at this time, the blockchain node 11 is a first blockchain node, the identity information of the first blockchain node is "id_1", the blockchain node 13 is a second blockchain node, and the identity information of the second blockchain node is "id_3"; the under-chain computing node 21 is a first under-chain computing node, whose node identification is tenant_21, and the under-chain computing node 23 is a second under-chain computing node, whose node identification is tenant_23.
Briefly, in the case where the under-chain computing node 21 monitors an under-chain cooperative computing task generated by the blockchain node 11, if the task indicates that the under-chain computing node 23 is a participant and the target data provided by the under-chain computing node 21 needs to be used, a data message containing the target data may be sent to the blockchain node 11, where the data message further includes the identity information of the blockchain node 13, the node identifier of the under-chain computing node 23, and the task identifier of the under-chain cooperative computing task. Further, the blockchain node 11 forwards the data message to the blockchain node 13 indicated by the identity information included in the message through the blockchain network, and the blockchain node 13 may determine that the computing node 23 is a real data receiver according to the node identifier and the task identifier recorded in the data message, and send the data message to the determined computing node 23. Further, in the case that the under-chain computing node 23 monitors the under-chain cooperative computing task generated by the blockchain node 13, if the task indicates that the under-chain computing node 23 is a participant and it is necessary to use the target data provided by the under-chain computing node 21, the monitored task may be executed according to the received target data.
In an embodiment, blockchain nodes 11 and 13 may each execute the same blockchain transaction in the blockchain network to generate the under-chain collaborative computing task, wherein the transaction may be initiated by blockchain node 11, blockchain node 13, or an administrator of the blockchain network, or the like. The first or second under-chain computing node may acquire the task through a listening mechanism, for example, may respectively listen to the under-chain cooperative computing task generated by the first or second blockchain node, or may also respectively listen to an under-chain cooperative computing event including the under-chain cooperative computing task. The monitored under-link cooperative computing task or the under-link cooperative computing event may include identity information of each participant of the task, for example, a node identifier of each under-link computing node that needs to perform the under-link cooperative computing task may be used to inform the relevant party of each participant of the task. For example, in a case where the node identifier of the under-link cooperative computing node 21 is included in the under-link cooperative computing task or the under-link cooperative computing event that is monitored by the under-link computing node 21, it may be determined that the under-link cooperative computing task itself is a participant in the under-link cooperative computing task according to the identifier. The under-link cooperative computing task or the under-link cooperative computing event may further specify a provider of data required by the task, for example, a correspondence between a data identifier of the required data and identity information of the first under-link computing node may be recorded. For example, in the case of the under-chain cooperative computing task or the correspondence between the data identifier in which the target data is recorded in the under-chain cooperative computing event monitored by the under-chain computing node 21 and the node identifier of the under-chain computing node 21, it may be determined that the target data required for the task needs to be provided by itself to other under-chain computing nodes. Similar to the first under-chain computing node, in the case that the second under-chain computing node monitors the under-chain cooperative computing task generated by the second blockchain node, the second under-chain computing node can be determined to be a participant of the task in the above manner and the target data provided by the first under-chain computing node needs to be used, which is not repeated.
Of course, other blockchain nodes in the blockchain network besides the first and second blockchain nodes may also respectively participate in performing the blockchain transaction to generate the under-chain collaborative computing task, which is not limited in this specification. Taking the example that the blockchain node 12 executes the blockchain transaction to generate the under-chain cooperative computing task, the under-chain computing node 22 can determine that the under-chain cooperative computing task is not a participant of the task according to the node identifier contained in the under-chain cooperative computing task or the task allocation event, so that the task is not required to be executed, and detailed description is omitted.
The under-chain collaborative computing task described in this specification may be any form of collaborative computing task, such as an MPC (Secure Multi-Party Computation) task, a federal computing (Federal Computing) task, and the like, which is not limited in this specification. In the case that the monitored under-chain cooperative computing task indicates that the second under-chain computing node is a participant of the task and the target data provided by the first under-chain computing node needs to be used, the first under-chain computing node may determine the corresponding target data according to the data identifier.
The target data may have various forms in different application scenarios. For example, the target data may be in-chain data maintained by the first in-chain computing node, such as service operation data generated by a member of the node to which the node belongs. For another example, in the case where the under-link cooperative computing task includes a plurality of sub-tasks having a dependency relationship, the target data may be a sub-task execution result obtained by the first under-link computing node executing the dependent first cooperative computing sub-task, specifically, the result may be obtained by the first under-link computing node performing computation according to local data or other data, and the second under-link computing node may execute a second cooperative computing sub-task that depends on the first cooperative computing sub-task in the under-link cooperative computing task according to the above-mentioned sub-task execution result. In this scenario, after the under-chain cooperative computing tasks are respectively acquired, the first under-chain computing node may be configured to execute a first cooperative computing subtask included in the task, and transmit, as target data, a corresponding subtask execution result to the second under-chain computing node through the blockchain network, so that the latter uses the result to execute a second cooperative computing subtask that depends on the first cooperative computing subtask. According to the method, all the cooperative computing subtasks with the dependency relationship can be completed in sequence, so that the under-chain cooperative computing tasks are triggered to be pushed among all task nodes according to a preset workflow, and finally the execution process of the tasks is completed.
Any under-chain computing node locally maintains own node identification and identity information of the corresponding blockchain node. And through the monitored under-chain cooperative computing task or task distribution event, the under-chain computing node can determine the node identification of each participant of the task and the identity information of the corresponding blockchain node. The identity information of the second blockchain node may include a node public key thereof or a member identifier of a corresponding node member thereof, which is not limited in this specification. Based on this, the first under-chain computing node may construct a data message that needs to be sent to the second under-chain computing node, where the message may include, in addition to the target data to be sent, identity information of the second blockchain node, a node identifier of the second under-chain computing node, and a task identifier of the under-chain cooperative computing task. The data messages constructed by the first in-chain computing nodes may be in the form of a binary or a ternary form, as described below.
1. Form of two-tuple
Each under-chain computing node serving as a participant of the under-chain cooperative computing task can respectively acquire a task identifier of the task, further generate a task channel of the under-chain cooperative computing task according to the node identifier of the under-chain computing node and the acquired task identifier, and register the task channel to a corresponding block chain node of the under-chain cooperative computing task so as to maintain a first mapping relation between the task channel and the node identifier of the under-chain computing node through the block chain node. Taking a second under-chain computing node as an example, after acquiring the task identifier of the under-chain cooperative computing task, the node can generate a task channel of the under-chain cooperative computing task according to the node identifier of the second under-chain computing node and the acquired task identifier and register the task channel to the second blockchain node so as to maintain a first mapping relation between the task channel and the node identifier of the second under-chain computing node by the second blockchain node; or, a task registration request including the node identifier of the second blockchain node and the acquired task identifier may be initiated to the second blockchain node, so that a task channel of the under-chain cooperative computing task is generated by the second blockchain node according to the node identifier and the task identifier, and a first mapping relationship between the node identifier of the second under-chain computing node and the task channel is maintained. The first mapping relationship may be used to determine a second in-chain computing node from the task channel contained in the data message.
The second under-chain computing node may monitor a task allocation event including the under-chain cooperative computing task generated by the second blockchain node, extract a task identifier of the under-chain cooperative computing task from the event, and directly obtain the task identifier of the task from the monitored under-chain cooperative computing task. Or the second under-chain computing node may receive a task identifier of the under-chain cooperative computing task sent by an under-chain task related party, where a sending process of the identifier may be completed in an under-chain manner, and the task related party may be the initiator of the foregoing blockchain transaction or a node member corresponding to the second blockchain node, which is not described herein.
In addition, the second under-link computing node may splice the node identifier of itself and the acquired task identifier into the task channel, for example, the blockchain node 23 may splice the node identifier "tenant_23" of itself and the task identifier "task_001" of the under-link cooperative computing task into the task channel "tenant_23_task_001". Alternatively, the second under-link computing node may also use the node identifier of the second under-link computing node and the obtained abstract of the task identifier as a task channel, for example, the blockchain node 23 may splice the abstract of "tenant_23" and the abstract of "task_001" into a task channel, or use the abstract of "tenant_23_task_001" as a task channel, etc. The digest may be a Hash (Hash), for example, hash256 may be used as any of the digests, which is not limited in this specification.
Through the above registration process, the blockchain node corresponding to any of the under-chain computing nodes as the participants may maintain registration information of the under-chain computing node, for example, the registration information of the under-chain computing node 21 is { "channel": "tenant_21_task_001", "node ID": "id_1" }, the registration information of the chain off-calculation node 23 is { "channel": "tenant_23_task_001", "node ID": "id_3" }, the registration information of the in-chain computing node 24 is { "channel": "tenant_24_task_001", "node ID": "ID_3" }.
The first under-link computing node can know the registration mode and the generation rule of the task channel in advance, so that the first under-link computing node can infer the registration information of the second under-link computing node in the second blockchain node. Based on this, in the case that the under-chain computing node 21 needs to send the target data to the under-chain computing node 23, the under-chain computing node 21 may construct a data message in the form of a binary group as follows:
message 1= { "from": "id_1", "to": "id_3", "channel": "tenant_23_task_001", "payload": "XXX" }
Where "ID_1" and "ID_3" are identity information (e.g., node public keys, etc.) of blockchain node 11 and blockchain node 13, respectively, and "tenant_23_task_001" is the task channel that the under-chain computing node 23 registers at blockchain node 13.
2. Triplet form
Similar to the maintenance process of the first mapping relationship, each under-chain computing node serving as a participant of the under-chain cooperative computing task may respectively acquire a task identifier of the task, and initiate a task registration request including the node identifier of the under-chain computing node and the acquired task identifier to a corresponding blockchain node of the under-chain computing node, so that the blockchain node responds to the request to maintain a second mapping relationship between the node identifier and the task identifier. Taking the second under-chain computing node as an example, after acquiring the task identifier of the under-chain cooperative computing task, the node may initiate a task registration request including the node identifier of the node and the acquired task identifier to the second blockchain node, so as to maintain a second mapping relationship between the node identifier and the task identifier by the second blockchain node. The second mapping relationship may be used to determine a second in-chain computing node from the task channels contained in the data message.
The task identifier in the second mapping relationship may also be regarded as a task channel of the under-link collaborative computing task, that is, the task channel in the second mapping relationship only includes the task identifier. Through the above registration process, the blockchain node corresponding to any of the under-chain computing nodes as the participants may maintain registration information of the under-chain computing node, for example, the registration information of the under-chain computing node 21 is { "channel": "task_001", "node ID": "id_1", "tenant ID": "tenant_11" }, the registration information of the under-chain computing node 23 is { "channel": "task_001", "node ID": "id_3", "tenant ID": "tenant_23" }, the registration information of the in-chain computing node 24 is { "channel": "task_001", "node ID": "id_3", "tenant ID": "tenant_24" }.
The first under-link computing node can know the registration mode and the generation rule of the task channel in advance, so that the first under-link computing node can infer the registration information of the second under-link computing node in the second blockchain node. Based on this, in the case that the in-chain computing node 21 needs to send the target data to the in-chain computing node 23, the in-chain computing node 21 may construct a data message in the form of a triplet as follows:
message 2= { "from": "ID_1", "from_tenant": "tenant_11", "to": "ID_3", "to_tenant": "tenant_23", "channel": "task_001", "payload": "XXX" }
Where "id_1" and "id_3" are identity information (e.g., node public keys, etc.) of the blockchain node 11 and the blockchain node 13, respectively, "tenant_21" and "tenant_23" are node identifications of the blockchain node 21 and the blockchain node 23, respectively, and "task_001" is a task channel that the under-chain computing node 23 registers at the blockchain node 13.
As can be seen from the above information structure, the Message1 in the form of a triplet and the Message2 in the form of a triplet each include target data, identity information of the second blockchain node, a node identifier of the second under-chain computing node, and a task identifier of the under-chain cooperative computing task. After constructing the data message, the first in-chain computing node may send the message to the first blockchain node to which it is connected. Under the condition that the second blockchain node maintains a first mapping relation, the first computing node under the chain can send Message1 in the form of a binary group; and in the case where the second blockchain node maintains the second mapping relationship, the first in-chain computing node may send Message2 in the form of a triplet.
Further, after receiving the data message sent by the computing node under the first chain, the first blockchain link point can forward the message to the second blockchain node indicated by the identity information through the blockchain network where the first blockchain link point is located. Specifically, the first blockchain node may extract the identity information included in the data message, then determine a corresponding second blockchain node according to the identity information of each node in the blockchain network maintained by itself, further determine an intermediate blockchain node corresponding to the next hop, and send the data message to the blockchain node, so as to forward the message to the second blockchain node through the interaction between the subsequent blockchain nodes. As shown in fig. 1, if the foregoing Message1 or Message2 is received, the blockchain node 11 may determine that the blockchain node 13 is the second blockchain node according to the value "id_3" of the "to" field, and may further determine a corresponding forwarding path, such as the blockchain node 11→12→13, or the blockchain node 11→14→13, and the like, and then forward the data Message according to the determined forwarding path.
Each block link point in the block chain network may be logically formed by a plurality of functional components, where the functional components forming each block chain node generally include P2P (Peer-to-Peer) components, and a consensus link is established between the P2P components respectively included in each block chain node, and each block chain node may implement a consensus process for messages including data, transactions, and the like. Based on this, the first block link point may forward the data message to the second block link point over the common link. The method transmits the blockchain message through multiplexing the consensus link, so that the consensus link can realize partial service functions while having the consensus function, the repeated utilization of the consensus link is realized, the purpose of transmitting target data in the execution process of the under-link cooperative computing task is realized, and the overall utilization rate of the consensus link serving as the blockchain network infrastructure is improved to a certain extent.
Further, after receiving the data message, the second blockchain node may determine a second downlink computing node according to the node identifier and the task identifier included in the message. For example, in the case where the second blockchain node maintains the aforementioned first mapping relationship between the node identifier of the downlink computing node and the task channel of the downlink cooperative computing task, the node identifier and the task identifier in the data message may be the task channel that constitutes the downlink cooperative computing task, and at this time, the second blockchain node may determine the second downlink computing node corresponding to the task channel included in the data message according to the first mapping relationship. As in the case of the aforementioned Message1 forwarded to the receiving blockchain node 11, the blockchain node 13 may determine that the under-chain computing node 23 is the second under-chain computing node according to the value "tenant_23_task_001" of the "channel" field. For another example, in the case of maintaining the aforementioned second mapping relationship between the node identifier of the under-chain computing node and the task identifier of the under-chain cooperative computing task, the second blockchain node determines, according to the second mapping relationship, a second under-chain computing node corresponding to the task identifier included in the data message. As in the case of receiving the foregoing Message2 forwarded by the blockchain node 11, the blockchain node 13 may determine that the under-chain computing node 23 is the second under-chain computing node according to the value "tenant_23" of the "to_tenant" field. After determining the second under-chain computing node, the second blockchain node may send a data message to the node.
It is to be appreciated that the previous embodiment is premised on the first blockchain node and the second blockchain node being different blockchain nodes. Indeed, the first and second blockchain nodes described herein may also be the same blockchain node, i.e., the first and second under-chain computing nodes correspond to the same blockchain node in the blockchain network. At this time, in the case that the identity information included in the data message is determined to be the identity information of the first blockchain node itself, the first blockchain node does not need to forward the message, but can directly determine the corresponding second under-chain computing node according to the node identifier and the task identifier (using the mapping relationship described above) included in the message, and directly send the message to the second under-chain computing node. It can be seen that in this scenario, the data message need not be forwarded by other nodes in the blockchain network, but only the first blockchain node (actually, the second blockchain node) receives the message sent by the first infranain computing node and sends it to the second infranain computing node.
The second under-chain computing node may monitor the under-chain cooperative computing task generated by the second blockchain node, and if the monitored under-chain cooperative computing task indicates that the second under-chain computing node is a participant and needs to use target data provided by the first under-chain computing node, the monitored task may be executed according to the received target data. For example, a second in-chain computing node may be engaged in performing multiple tasks simultaneously, at which time it may determine, from the task identity contained in the data message, which task the message corresponds to, and thus perform the task (i.e., the in-chain collaborative computing task) using the target data contained in the message. The present specification does not limit the specific execution of the under-chain collaborative computing task.
As previously described, the number of first and second under-chain computing nodes may each be at least one. In the case that the number of the first under-chain computing nodes is a plurality of and the number of the second under-chain computing nodes is one, the second under-chain computing nodes may perform an under-chain cooperative computing task according to the target data respectively transmitted by the first under-chain computing nodes through the blockchain network. For example, the under-chain computing nodes 21 and 22 shown in FIG. 1 may each transmit corresponding target data to the under-chain computing node 23 over a blockchain network to perform under-chain collaborative computing tasks by the under-chain computing node 23 based on the target data provided by both. The under-link computing node 23 may compare the target data respectively transmitted by the under-link computing nodes 21 and 22, and perform the under-link cooperative computing task using the data if the target data and the target data agree. In this scenario, the data for executing the task may be ensured to be provided and consistent by the plurality of under-chain computing nodes, respectively, through the comparison, so that the consistency of the execution results of the under-chain cooperative computing task is ensured through the consistency of the data. Alternatively, the target data respectively transmitted by the downlink computing nodes 21 and 22 may be different, and the downlink computing node 23 may perform the downlink cooperative computing task according to the two data. Of course, the above-mentioned plurality of first under-chain computing nodes may also correspond to the same blockchain node, such as the under-chain computing nodes 21 and 25 (not shown) connected to the blockchain node 11, in other words, the present specification does not limit the under-chain computing nodes corresponding to the plurality of first under-chain computing nodes that respectively transmit the target data to the same second under-chain computing node.
When the number of the first under-link computing nodes is one and the number of the second under-link computing nodes is a plurality of, if the plurality of second under-link computing nodes belong to the same node set, the first under-link computing node may include the set identifier of the node set as identity information of the plurality of second under-link computing nodes in the data message. At this time, the first under-link computing node does not need to construct different data messages for each second under-link computing node, and only needs to include the target data required by each target data in the same data message for sending, so that the message construction operation of the first under-link computing node is simplified, and the first under-link computing node is convenient for batch transmission of the target data for a plurality of second under-link computing nodes.
In the case that the number of the first under-link computing nodes is one and the number of the second under-link computing nodes is a plurality, each of the second under-link computing nodes may perform the under-link cooperative computing task according to the target data transmitted by the first under-link computing node through the blockchain network, respectively. For example, the under-chain computing node 31 shown in FIG. 2 may transmit the same or different target data to the under-chain computing nodes 22 and 23, respectively, via the blockchain network to perform under-chain collaborative computing tasks by the under-chain computing nodes 22 and 23, respectively, based on the target data acquired by themselves. The method is suitable for a scene that a certain under-chain computing node provides data for a plurality of other under-chain computing nodes to execute the under-chain cooperative computing tasks respectively. Of course, the above-mentioned plurality of second under-link computing nodes may also correspond to the same blockchain node, such as the under-link computing nodes 23 and 24 connected to the blockchain node 13, in other words, the present specification does not limit the under-link computing nodes respectively corresponding to the plurality of second under-link computing nodes that receive the target data transmitted by the same first under-link computing node.
After receiving the target data transmitted in the foregoing manner, the second under-link computing node may execute the previously monitored under-link cooperative computing task according to the data, and obtain a corresponding execution result. The present specification does not limit the specific execution of the under-chain collaborative computing task.
Thereafter, the second under-chain computing node may return the execution result to the first under-chain computing node or other under-chain computing nodes in the under-chain computing node through the under-chain computing node network, so that the under-chain cooperative computing task monitored by the second under-chain computing node itself can be executed according to the execution result or the execution result can be processed by the second under-chain computing node. Of course, the second under-link computing node returns the execution result to the first under-link computing node through the under-link computing node, similar to the transmission process of the target data, for example, the second under-link computing node may construct a result message for the first under-link computing node by taking the execution result as a value of a payload field, and the message may further include identity information of the first under-link computing node, node identification of the first under-link computing node and information of the under-link cooperative computing task, so that the second under-link computing node may determine the first under-link computing node according to the identity information in the result message and forward the message to the first under-link computing node through the under-link computing node; further, the first blockchain node may determine the first downlink computing node according to the node identifier and the task identifier in the result message, and forward the message to the first downlink computing node through the blockchain network, so that the latter further executes the downlink cooperative computing task according to the execution result therein, which is not described in detail.
In the above embodiment, the node identities of the respective under-chain computing nodes connected to the same blockchain node in the blockchain network are different from each other. After the first chain computing node monitors the chain cooperative computing task generated by the first block chain node, when the task indicates that the second chain computing node is a participant and target data provided by the first chain computing node is needed to be used, a data message containing the target data, the identity information of the second block chain node, the node identification of the second chain computing node and the task identification of the chain cooperative computing task is sent to the first block chain node. The first blockchain node sends the message to a second blockchain node indicated by the identity information through a blockchain network, and the second blockchain node further sends the message to a second under-chain computing node indicated by the node identifier and the task identifier, so that the under-chain computing node monitors the under-chain cooperative computing task generated by the second blockchain node to indicate that the second under-chain computing node is a participant and the target data provided by the first under-chain computing node is needed to be used, and the monitored under-chain cooperative computing task is executed according to the received target data.
Therefore, the node identification of the second under-chain computing node and the task identification of the under-chain cooperative computing task are carried in the data message, so that the second blockchain node can determine the true receiving party of the data message according to the two identifications, namely, the corresponding second under-chain computing node is determined. It can be understood that, because the node identifiers of the under-chain computing nodes connected by the second blockchain node are different from each other, even if the multiple under-chain computing nodes connected by the second blockchain node participate in executing the same under-chain cooperative computing task (i.e. multi-tenant scenario), the second blockchain node can accurately determine the second under-chain computing node from the multiple under-chain computing nodes connected by itself according to the data identifier and the task identifier carried in the data message, thereby realizing accurate routing of the target data in the multi-tenant scenario and being beneficial to smooth execution of the under-chain cooperative computing task. It can be seen that the scheme is not limited to block link points respectively connected by a plurality of computing nodes under the chain participating in executing the same cooperative computing task under the chain: any two under-chain computing nodes can be respectively connected to different blockchain nodes or can be connected to the same blockchain node. Obviously, the scheme has loose requirements on the connection mode of the computing nodes under the chain, so that the scheme is more widely applicable.
Corresponding to the data transmission system described in the foregoing embodiment, the present specification also proposes a corresponding data transmission method. The following description is provided in connection with fig. 2-5, respectively.
Fig. 2 is a flow chart of a data transmission method according to an exemplary embodiment. As shown in fig. 2, the method is applied to a first under-chain computing node corresponding to a first blockchain link point in a blockchain network, a second blockchain node in the blockchain network corresponds to a second under-chain computing node, and node identifiers of under-chain computing nodes corresponding to any blockchain node in the blockchain network are different from each other, and the method includes the following steps 202-204:
and 202, monitoring an under-chain cooperative computing task generated by a first blockchain node.
Step 204, in the case that the under-chain cooperative computing task indicates that the second under-chain computing node is a participant and the target data provided by the first under-chain computing node is needed, sending a data message containing the target data, the identity information of the second under-chain computing node, the node identifier of the second under-chain computing node and the task identifier of the under-chain cooperative computing task to the first under-chain computing node, where the data message is used to instruct the first under-chain computing node to forward the message to the second under-chain computing node indicated by the identity information through the blockchain network, so that the second under-chain computing node sends the message to the second under-chain computing node indicated by the node identifier and the task identifier, and in the case that the under-chain cooperative computing task generated by the second under-chain computing node monitored by the second under-chain computing node indicates that the second under-chain computing node is a participant and the target data provided by the first under-chain computing node is needed, executing the monitored under-chain cooperative computing task according to the received target data.
In an embodiment, further comprising:
and receiving an execution result of the under-chain cooperative computing task returned by the second under-chain computing node through the blockchain network, and executing the under-chain cooperative computing task according to the execution result.
Fig. 3 is a flowchart of a data transmission method according to an exemplary embodiment. As shown in fig. 3, the method is applied to a first blockchain node corresponding to a first under-chain computing node in a blockchain network, a second blockchain node in the blockchain network corresponds to a second under-chain computing node, and node identifiers of the under-chain computing nodes corresponding to any blockchain node in the blockchain network are different from each other, and the method includes the following steps 302-304:
step 302, receiving a data message sent when an under-chain cooperative computing task generated by a first under-chain computing node and monitored by the first under-chain computing node indicates that a second under-chain computing node is a participant and target data provided by the first under-chain computing node is needed to be used, wherein the data message comprises the target data, identity information of the second under-chain computing node, a node identifier of the second under-chain computing node and a task identifier of the under-chain cooperative computing task.
And step 304, forwarding the data message to a second blockchain node indicated by the identity information through the blockchain network, so that the second blockchain node sends the data message to a second under-chain computing node indicated by the node identifier and the task identifier, and under-chain cooperation computing tasks generated by the second under-chain computing node in the case that the second under-chain computing node is a participant and target data provided by the first under-chain computing node is needed, executing the monitored under-chain cooperation computing tasks according to the received target data.
In an embodiment, the forwarding the data message to the second blockchain node indicated by the identity information through the blockchain network to send the data message to the second under-chain computing node indicated by the node identification and the task identification by a second blockchain node, includes:
and under the condition that the identity information is the identity information of the first blockchain node, sending the data message to the second under-chain computing node indicated by the node identifier and the task identifier.
Fig. 4 is a flowchart of a data transmission method according to an exemplary embodiment. As shown in fig. 4, the method is applied to a second blockchain node corresponding to a second under-chain computing node in a blockchain network, wherein a first blockchain link point in the blockchain network corresponds to the first under-chain computing node, and node identifiers of the under-chain computing nodes corresponding to any blockchain node in the blockchain network are different from each other, and the method includes the following steps 402-404:
Step 402, receiving a data message forwarded by the first blockchain node through the blockchain network, where the data message is sent to the first blockchain node when the first blockchain node monitors that an under-chain cooperative computing task generated by the first blockchain node indicates that the second under-chain computing node is a participant and needs to use target data provided by the first under-chain computing node, and includes the target data, identity information of the second blockchain node, a node identifier of the second under-chain computing node, and a task identifier of the under-chain cooperative computing task.
And step 404, determining a second under-link computing node according to the node identifier and the task identifier, and sending the data message to the determined second under-link computing node, so that the monitored under-link cooperative computing task is executed according to the received target data under the condition that the under-link cooperative computing task generated by the second under-link computing node monitors the second blockchain node indicates that the second under-link computing node is a participant and the target data provided by the first under-link computing node is required to be used.
In an embodiment, the determining the second in-chain computing node according to the node identifier and the task identifier includes:
Under the condition that a first mapping relation between node identifiers of the under-chain computing nodes and task channels of the under-chain cooperative computing tasks is maintained, generating the task channels of the under-chain cooperative computing tasks according to the node identifiers of the second under-chain computing nodes and the task identifiers of the under-chain cooperative computing tasks contained in the data message, and determining the second under-chain computing nodes corresponding to the task channels according to the first mapping relation; or,
and under the condition that a second mapping relation between the node identification of the chain under-link computing node and the task identification of the under-link cooperative computing task is maintained, determining a second chain under-link computing node corresponding to the task identification contained in the data message according to the second mapping relation.
In an embodiment, further comprising:
receiving a task registration request initiated by any one of the under-chain computing nodes corresponding to the self for any one of the under-chain cooperative computing tasks;
generating a task channel of the under-link cooperative computing task according to the node identifier of the under-link computing node and the task identifier of the under-link cooperative computing task carried in the task registration request, and maintaining a first mapping relation between the node identifier of the under-link computing node and the task channel; or,
And maintaining a second mapping relation according to the node identification of any one of the under-chain computing nodes and the task identification of any one of the under-chain cooperative computing tasks carried in the task registration request.
Fig. 5 is a flowchart of a data transmission method according to an exemplary embodiment. As shown in fig. 5, the method includes the following steps 502-504:
step 502, receiving a data message including target data sent by a second blockchain node, where the data message is sent to the first blockchain node by the first blockchain node when the monitored under-chain cooperative computing task generated by the first blockchain node indicates that the second under-chain computing node is a participant and the target data provided by the first under-chain computing node needs to be used, and forwarding, by the first blockchain node, the data message to the second blockchain node through the blockchain network according to identity information of the second blockchain node included in the message, and sending, by the second blockchain node, the second blockchain node according to a node identifier of the second under-chain computing node and a task identifier of the under-chain cooperative computing task included in the message.
In step 504, in the case that the monitored downlink cooperative computing task generated by the second blockchain node indicates that the second downlink computing node is a participant and the target data provided by the first downlink computing node needs to be used, the monitored downlink cooperative computing task is executed according to the received target data.
In an embodiment, further comprising:
acquiring a task identifier of the under-chain cooperative computing task;
generating a task channel of the under-chain cooperative computing task according to the node identification of the second under-chain computing node and the acquired task identification, and registering the task channel to the second blockchain node so that the second blockchain node maintains a first mapping relation between the task channel and the node identification of the second under-chain computing node for determining the second under-chain computing node according to the task channel contained in the data message.
In an embodiment, the obtaining the task identifier of the under-link cooperative computing task includes:
monitoring a task allocation event containing the under-chain cooperative computing task generated by a second blockchain node, and extracting a task identifier of the under-chain cooperative computing task from the event; or,
And receiving a task identification of the under-chain cooperative computing task sent by the under-chain task related party.
In an embodiment, the generating the task channel of the under-link cooperative computing task according to the node identifier of the second under-link computing node and the acquired task identifier includes:
splicing the node identification of the second under-chain computing node and the acquired task identification into the task channel; or,
and taking the node identification of the second chain computing node and the obtained abstract of the task identification as a task channel.
In an embodiment, further comprising:
and returning the execution result of the under-chain cooperative computing task to a first under-chain computing node through the blockchain network so that the first under-chain computing node executes the under-chain cooperative computing task monitored by itself according to the execution result.
The specific implementation manner of each step in the foregoing data transmission method may refer to the description of the foregoing embodiment, which is not described herein in detail.
Fig. 6 is a schematic block diagram of an apparatus provided in an exemplary embodiment. Referring to fig. 6, at the hardware level, the device includes a processor 602, an internal bus 604, a network interface 606, a memory 608, and a non-volatile storage 610, although other hardware required by other services is possible. One or more embodiments of the present description may be implemented in a software-based manner, such as by the processor 602 reading a corresponding computer program from the non-volatile memory 610 into the memory 608 and then running. Of course, in addition to software implementation, one or more embodiments of the present disclosure do not exclude other implementation manners, such as a logic device or a combination of software and hardware, etc., that is, the execution subject of the following processing flow is not limited to each logic unit, but may also be hardware or a logic device.
As shown in fig. 7, fig. 7 is a block diagram of a data transmission apparatus according to an exemplary embodiment provided in the present specification, and the apparatus may be applied to a device shown in fig. 6 to implement the technical solution of the present specification. The device is applied to a first under-chain computing node corresponding to a first block chain link point in a block chain network, a second block chain node in the block chain network corresponds to a second under-chain computing node, and node identifiers of all under-chain computing nodes corresponding to any block chain node in the block chain network are different from each other, and the device comprises:
a task monitoring unit 701, configured to monitor an under-chain cooperative computing task generated by the first blockchain node;
and a message sending unit 702, configured to send, to a first blockchain node, a data message including the target data, identity information of the second blockchain node, a node identifier of the second blockchain node, and a task identifier of the under-chain cooperative computing task, where the under-chain cooperative computing task indicates that the second blockchain node is a participant and needs to use target data provided by the first under-chain computing node, where the data message is used to instruct the first blockchain node to forward the message to the second blockchain node indicated by the identity information through the blockchain network, so that the second blockchain node sends the message to the second under-chain computing node indicated by the node identifier and the task identifier, and where the under-chain cooperative computing task generated by the second under-chain computing node indicates that the second under-chain computing node is a participant and needs to use the target data provided by the first under-chain computing node, perform the monitored under-chain cooperative computing task according to the received target data.
Optionally, the method further comprises:
and the task receiving unit 703 is configured to receive the under-chain cooperative computing task returned by the second under-chain computing node through the blockchain network.
As shown in fig. 8, fig. 8 is a block diagram of a data transmission apparatus according to an exemplary embodiment provided in the present specification, and the apparatus may be applied to a device shown in fig. 6 to implement the technical solution of the present specification. The apparatus is applied to a first blockchain node corresponding to a first under-chain computing node in a blockchain network, a second blockchain node in the blockchain network corresponds to a second under-chain computing node, and node identifiers of all under-chain computing nodes corresponding to any blockchain node in the blockchain network are different from each other, and the apparatus includes:
a task receiving unit 801, configured to receive a data message sent when an under-chain cooperative computing task generated by a first under-chain computing node and monitored by the first under-chain computing node indicates that a second under-chain computing node is a participant and needs to use target data provided by the first under-chain computing node, where the data message includes the target data, identity information of the second under-chain computing node, a node identifier of the second under-chain computing node, and a task identifier of the under-chain cooperative computing task;
And a message forwarding unit 802, configured to forward, through the blockchain network, the data message to a second blockchain node indicated by the identity information, so that the second blockchain node sends the data message to a second under-chain computing node indicated by the node identifier and the task identifier, and if an under-chain cooperative computing task generated by the second under-chain computing node during monitoring by the second under-chain computing node indicates that the second under-chain computing node is a participant and needs to use target data provided by the first under-chain computing node, execute the monitored under-chain cooperative computing task according to the received target data.
Optionally, the message forwarding unit 802 is further configured to:
and under the condition that the identity information is the identity information of the first blockchain node, sending the data message to the second under-chain computing node indicated by the node identifier and the task identifier.
As shown in fig. 9, fig. 9 is a block diagram of a data transmission apparatus according to an exemplary embodiment provided in the present specification, and the apparatus may be applied to a device shown in fig. 6 to implement the technical solution of the present specification. The apparatus is applied to a second blockchain node corresponding to a second under-chain computing node in a blockchain network, a first blockchain link point in the blockchain network corresponds to the first under-chain computing node, and node identifiers of all under-chain computing nodes corresponding to any blockchain node in the blockchain network are different from each other, and the apparatus includes:
A message receiving unit 901, configured to receive a data message forwarded by a first blockchain node through the blockchain network, where the data message is sent to the first blockchain node when an under-chain cooperative computing task generated by the first blockchain node by the first under-chain computing node is monitored indicates that a second under-chain computing node is a participant and target data provided by the first under-chain computing node is needed, where the data message includes the target data, identity information of the second blockchain node, a node identifier of the second under-chain computing node, and a task identifier of the under-chain cooperative computing task;
and the message sending unit 902 is configured to determine a second under-link computing node according to the node identifier and the task identifier, and send the data message to the determined second under-link computing node, so that when an under-link cooperative computing task generated by the second under-link computing node monitors the second blockchain node indicates that the second under-link computing node is a participant and needs to use target data provided by the first under-link computing node, execute the monitored under-link cooperative computing task according to the received target data.
Optionally, the message sending unit 902 is further configured to:
Under the condition that a first mapping relation between a node identifier of an under-chain computing node and a task channel of an under-chain cooperative computing task is maintained, and the node identifier and the task identifier in the data message form the task channel of the under-chain cooperative computing task, determining a second under-chain computing node corresponding to the task channel contained in the data message according to the first mapping relation; or,
and under the condition that a second mapping relation between the node identification of the chain under-link computing node and the task identification of the under-link cooperative computing task is maintained, determining the first chain under-link computing node corresponding to the node identification and the task identification contained in the data message according to the second mapping relation.
Optionally, the method further comprises:
a request receiving unit 903, configured to receive a task registration request initiated by any one of the under-link computing nodes corresponding to the request receiving unit for any one of the under-link cooperative computing tasks;
a first maintenance unit 904, configured to generate a task channel of the under-link cooperative computing task according to the node identifier of the under-link computing node and the task identifier of the under-link cooperative computing task carried in the task registration request, and maintain a first mapping relationship between the node identifier of the under-link computing node and the task channel; or,
The second maintenance unit 905 is configured to maintain a second mapping relationship according to the node identifier of the any one of the under-link computing nodes and the task identifier of the any one of the under-link cooperative computing tasks carried in the task registration request.
As shown in fig. 10, fig. 10 is a block diagram of a data transmission apparatus according to an exemplary embodiment provided in the present specification, and the apparatus may be applied to a device shown in fig. 6 to implement the technical solution of the present specification. The device is applied to a second under-chain computing node corresponding to a second block chain node in a block chain network, a first block chain link point in the block chain network corresponds to the first under-chain computing node, and node identifiers of all under-chain computing nodes corresponding to any block chain node in the block chain network are different from each other, and the device comprises:
a message receiving unit 1001, configured to receive a data message including target data sent by a second blockchain node, where the data message is sent to the first blockchain node when an under-chain cooperative computing task generated by the first blockchain node by the first under-chain computing node is monitored indicates that the second under-chain computing node is a participant and the target data provided by the first under-chain computing node needs to be used, and the data message is forwarded to the second blockchain node by the first blockchain node according to identity information of the second blockchain node included in the message, and is sent to the second blockchain node by the second blockchain node according to a node identifier of the second under-chain computing node and a task identifier of the under-chain cooperative computing task included in the message;
The task execution unit 1002 is configured to execute, when the monitored downlink cooperative computing task generated by the second blockchain node indicates that the second downlink computing node is a participant and the target data provided by the first downlink computing node needs to be used, the monitored downlink cooperative computing task according to the received target data.
Optionally, the method further comprises:
an identifier obtaining unit 1003, configured to obtain a task identifier of the under-link cooperative computing task;
the channel registration unit 1004 is configured to generate a task channel of the under-chain cooperative computing task according to the node identifier of the second under-chain computing node and the acquired task identifier, and register the task channel to the second blockchain node, so that the second blockchain node maintains a first mapping relationship between the task channel and the node identifier of the second under-chain computing node, and is used to determine the second under-chain computing node according to the task channel included in the data message.
Optionally, the identifier obtaining unit 1003 is further configured to:
monitoring a task allocation event containing the under-chain cooperative computing task generated by a second blockchain node, and extracting a task identifier of the under-chain cooperative computing task from the event; or,
And receiving a task identification of the under-chain cooperative computing task sent by the under-chain task related party.
Optionally, the channel registration unit 1004 is further configured to:
splicing the node identification of the second under-chain computing node and the acquired task identification into the task channel; or,
and taking the node identification of the second chain computing node and the obtained abstract of the task identification as a task channel.
Optionally, the method further comprises:
the result returning unit 1005 is configured to return, through the blockchain network, an execution result of the under-chain cooperative computing task to the first under-chain computing node, so that the first under-chain computing node executes the under-chain cooperative computing task monitored by itself according to the execution result.
In the 90 s of the 20 th century, improvements to one technology could clearly be distinguished as improvements in hardware (e.g., improvements to circuit structures such as diodes, transistors, switches, etc.) or software (improvements to the process flow). However, with the development of technology, many improvements of the current method flows can be regarded as direct improvements of hardware circuit structures. Designers almost always obtain corresponding hardware circuit structures by programming improved method flows into hardware circuits. Therefore, an improvement of a method flow cannot be said to be realized by a hardware entity module. For example, a programmable logic device (Programmable Logic Device, PLD) (e.g., field programmable gate array (Field Programmable Gate Array, FPGA)) is an integrated circuit whose logic function is determined by the programming of the device by a user. A designer programs to "integrate" a digital system onto a PLD without requiring the chip manufacturer to design and fabricate application-specific integrated circuit chips. Moreover, nowadays, instead of manually manufacturing integrated circuit chips, such programming is mostly implemented by using "logic compiler" software, which is similar to the software compiler used in program development and writing, and the original code before the compiling is also written in a specific programming language, which is called hardware description language (Hardware Description Language, HDL), but not just one of the hdds, but a plurality of kinds, such as ABEL (Advanced Boolean Expression Language), AHDL (Altera Hardware Description Language), confluence, CUPL (Cornell University Programming Language), HDCal, JHDL (Java Hardware Description Language), lava, lola, myHDL, PALASM, RHDL (Ruby Hardware Description Language), etc., VHDL (Very-High-Speed Integrated Circuit Hardware Description Language) and Verilog are currently most commonly used. It will also be apparent to those skilled in the art that a hardware circuit implementing the logic method flow can be readily obtained by merely slightly programming the method flow into an integrated circuit using several of the hardware description languages described above.
The controller may be implemented in any suitable manner, for example, the controller may take the form of, for example, a microprocessor or processor and a computer readable medium storing computer readable program code (e.g., software or firmware) executable by the (micro) processor, logic gates, switches, application specific integrated circuits (Application Specific Integrated Circuit, ASIC), programmable logic controllers, and embedded microcontrollers, examples of which include, but are not limited to, the following microcontrollers: ARC 625D, atmel AT91SAM, microchip PIC18F26K20, and Silicone Labs C8051F320, the memory controller may also be implemented as part of the control logic of the memory. Those skilled in the art will also appreciate that, in addition to implementing the controller in a pure computer readable program code, it is well possible to implement the same functionality by logically programming the method steps such that the controller is in the form of logic gates, switches, application specific integrated circuits, programmable logic controllers, embedded microcontrollers, etc. Such a controller may thus be regarded as a kind of hardware component, and means for performing various functions included therein may also be regarded as structures within the hardware component. Or even means for achieving the various functions may be regarded as either software modules implementing the methods or structures within hardware components.
The system, apparatus, module or unit set forth in the above embodiments may be implemented in particular by a computer chip or entity, or by a product having a certain function. One typical implementation device is a server system. Of course, the invention does not exclude that as future computer technology advances, the computer implementing the functions of the above-described embodiments may be, for example, a personal computer, a laptop computer, a car-mounted human-computer interaction device, a cellular telephone, a camera phone, a smart phone, a personal digital assistant, a media player, a navigation device, an email device, a game console, a tablet computer, a wearable device, or a combination of any of these devices.
Although one or more embodiments of the present description provide method operational steps as described in the embodiments or flowcharts, more or fewer operational steps may be included based on conventional or non-inventive means. The order of steps recited in the embodiments is merely one way of performing the order of steps and does not represent a unique order of execution. When implemented in an actual device or end product, the instructions may be executed sequentially or in parallel (e.g., in a parallel processor or multi-threaded processing environment, or even in a distributed data processing environment) as illustrated by the embodiments or by the figures. The terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, it is not excluded that additional identical or equivalent elements may be present in a process, method, article, or apparatus that comprises a described element. For example, if first, second, etc. words are used to indicate a name, but not any particular order.
For convenience of description, the above devices are described as being functionally divided into various modules, respectively. Of course, when one or more of the present description is implemented, the functions of each module may be implemented in the same piece or pieces of software and/or hardware, or a module that implements the same function may be implemented by a plurality of sub-modules or a combination of sub-units, or the like. The above-described apparatus embodiments are merely illustrative, for example, the division of the units is merely a logical function division, and there may be additional divisions when actually implemented, for example, multiple units or components may be combined or integrated into another system, or some features may be omitted or not performed. Alternatively, the coupling or direct coupling or communication connection shown or discussed with each other may be an indirect coupling or communication connection via some interfaces, devices or units, which may be in electrical, mechanical or other form.
The present invention is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the invention. It will be understood that each flow and/or block of the flowchart illustrations and/or block diagrams, and combinations of flows and/or blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
In one typical configuration, a computing device includes one or more processors (CPUs), input/output interfaces, network interfaces, and memory.
The memory may include volatile memory in a computer-readable medium, random Access Memory (RAM) and/or nonvolatile memory, such as Read Only Memory (ROM) or flash memory (flash RAM). Memory is an example of computer-readable media.
Computer readable media, including both non-transitory and non-transitory, removable and non-removable media, may implement information storage by any method or technology. The information may be computer readable instructions, data structures, modules of a program, or other data. Examples of storage media for a computer include, but are not limited to, phase change memory (PRAM), static Random Access Memory (SRAM), dynamic Random Access Memory (DRAM), other types of Random Access Memory (RAM), read Only Memory (ROM), electrically Erasable Programmable Read Only Memory (EEPROM), flash memory or other memory technology, read only compact disc read only memory (CD-ROM), digital Versatile Discs (DVD) or other optical storage, magnetic cassettes, magnetic tape magnetic disk storage, graphene storage or other magnetic storage devices, or any other non-transmission medium, which can be used to store information that can be accessed by a computing device. Computer-readable media, as defined herein, does not include transitory computer-readable media (transmission media), such as modulated data signals and carrier waves.
One skilled in the relevant art will recognize that one or more embodiments of the present description may be provided as a method, system, or computer program product. Accordingly, one or more embodiments of the present description may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Moreover, one or more embodiments of the present description can take the form of a computer program product on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) having computer-usable program code embodied therein.
One or more embodiments of the present specification may be described in the general context of computer-executable instructions, such as program modules, being executed by a computer. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. One or more embodiments of the present specification may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote computer storage media including memory storage devices.
In this specification, each embodiment is described in a progressive manner, and identical and similar parts of each embodiment are all referred to each other, and each embodiment mainly describes differences from other embodiments. In particular, for system embodiments, since they are substantially similar to method embodiments, the description is relatively simple, as relevant to see a section of the description of method embodiments. In the description of the present specification, a description referring to terms "one embodiment," "some embodiments," "examples," "specific examples," or "some examples," etc., means that a particular feature, structure, material, or characteristic described in connection with the embodiment or example is included in at least one embodiment or example of the present specification. In this specification, schematic representations of the above terms are not necessarily directed to the same embodiment or example. Furthermore, the particular features, structures, materials, or characteristics described may be combined in any suitable manner in any one or more embodiments or examples. Furthermore, the different embodiments or examples described in this specification and the features of the different embodiments or examples may be combined and combined by those skilled in the art without contradiction.
The foregoing is merely an example of one or more embodiments of the present specification and is not intended to limit the one or more embodiments of the present specification. Various modifications and alterations to one or more embodiments of this description will be apparent to those skilled in the art. Any modification, equivalent replacement, improvement, or the like, which is within the spirit and principles of the present specification, should be included in the scope of the claims.

Claims (24)

1. A data transmission system, comprising blockchain nodes in a blockchain network and corresponding subchain computing nodes thereof, node identifiers of the subchain computing nodes corresponding to any blockchain node in the blockchain network are different from each other, a first blockchain link point corresponds to a first subchain computing node, and a second blockchain node corresponds to a second subchain computing node, wherein:
the method comprises the steps that a first under-chain computing node is used for monitoring an under-chain cooperation computing task generated by the first under-chain computing node, and sending a data message containing target data to the first under-chain computing node when the under-chain cooperation computing task indicates that a second under-chain computing node is a participant and the target data provided by the first under-chain computing node is needed, wherein the data message also contains identity information of the second under-chain computing node, node identification of the second under-chain computing node and task identification of the under-chain cooperation computing task;
The first blockchain node is used for forwarding the data message to a second blockchain node indicated by the identity information through the blockchain network;
the second blockchain node is used for determining a second under-chain computing node according to the node identifier and the task identifier, and sending the data message to the determined second under-chain computing node;
the second under-chain computing node is used for monitoring the under-chain cooperative computing task generated by the second blockchain node, and executing the monitored under-chain cooperative computing task according to the received target data under the condition that the under-chain cooperative computing task indicates that the second under-chain computing node is a participant and the target data provided by the first under-chain computing node is needed.
2. The system of claim 1, the first blockchain node forwarding the data message over the blockchain network, comprising:
the first blockchain node forwards the data message over a consensus link of the blockchain network, the consensus link established between P2P components respectively contained by each blockchain link point in the blockchain network.
3. The system of claim 1, the second blockchain node determining a second in-chain computing node from the node identification and the task identification, comprising:
Under the condition that a first mapping relation between node identifiers of the under-chain computing nodes and task channels of the under-chain cooperative computing tasks is maintained, a second block link point generates the task channels of the under-chain cooperative computing tasks according to the node identifiers of the second under-chain computing nodes and the task identifiers of the under-chain cooperative computing tasks contained in the data message, and determines the second under-chain computing nodes corresponding to the task channels according to the first mapping relation; or,
and under the condition that a second mapping relation between the node identification of the under-chain computing node and the task identification of the under-chain cooperative computing task is maintained, the second blockchain node determines a second under-chain computing node corresponding to the task identification contained in the data message according to the second mapping relation.
4. The system of claim 1, the under-chain collaborative computing task generated by a first blockchain node and a second blockchain node each executing a same blockchain transaction in the blockchain network.
5. The system according to claim 1,
under the condition that the number of the first under-chain computing nodes is a plurality of and the number of the second under-chain computing nodes is one, the second under-chain computing nodes execute the under-chain cooperation computing task according to the target data contained in the data messages respectively transmitted by the first under-chain computing nodes; or,
And under the condition that the number of the first under-link computing nodes is one and the number of the second under-link computing nodes is a plurality of, each second under-link computing node respectively executes the under-link cooperative computing task according to the target data contained in the data message transmitted by the first under-link computing node.
6. The system of claim 1, the target data comprising:
the first under-chain computing node maintains under-chain data; or,
in the case that the under-chain cooperative computing task includes a plurality of sub-tasks with dependency relationships, a sub-task execution result obtained by executing the dependent first cooperative computing sub-task by the first under-chain computing node is used for executing a second cooperative computing sub-task dependent on the first cooperative computing sub-task in the under-chain cooperative computing task according to the sub-task execution result by the second under-chain computing node.
7. A data transmission method applied to a first under-chain computing node corresponding to a first block link point in a block chain network, wherein a second block chain node in the block chain network corresponds to the second under-chain computing node, and node identifiers of all under-chain computing nodes corresponding to any block chain node in the block chain network are different from each other, the method comprising:
Monitoring an under-chain cooperative computing task generated by a first blockchain node;
and in the case that the under-chain cooperative computing task indicates that the second under-chain computing node is a participant and target data provided by the first under-chain computing node is needed, sending a data message containing the target data, identity information of the second under-chain computing node, node identification of the second under-chain computing node and task identification of the under-chain cooperative computing task to the first under-chain computing node, wherein the data message is used for indicating the first under-chain computing node to forward the message to the second under-chain computing node indicated by the identity information through the blockchain network so that the message is sent to the second under-chain computing node indicated by the node identification and the task identification by the second under-chain computing node, and in the case that the under-chain cooperative computing task generated by the second under-chain computing node indicates that the second under-chain computing node is a participant and the target data provided by the first under-chain computing node is needed, executing the monitored under-chain cooperative computing task according to the received target data.
8. The method of claim 7, further comprising:
And receiving an execution result of the under-chain cooperative computing task returned by the second under-chain computing node through the blockchain network, and executing the under-chain cooperative computing task according to the execution result.
9. A data transmission method applied to a first blockchain node corresponding to a first under-chain computing node in a blockchain network, wherein a second blockchain node in the blockchain network corresponds to a second under-chain computing node, and node identifiers of the under-chain computing nodes corresponding to any blockchain node in the blockchain network are different from each other, the method comprising:
receiving a data message sent when an under-chain cooperative computing task generated by a first under-chain computing node and monitored by the first under-chain computing node indicates that a second under-chain computing node is a participant and target data provided by the first under-chain computing node is needed to be used, wherein the data message comprises the target data, identity information of the second under-chain computing node, a node identifier of the second under-chain computing node and a task identifier of the under-chain cooperative computing task;
forwarding the data message to a second blockchain node indicated by the identity information through the blockchain network, sending the data message to a second under-chain computing node indicated by the node identifier and the task identifier by a second blockchain node, and executing the monitored under-chain cooperative computing task according to the received target data under the condition that the under-chain computing task generated by the second under-chain computing node monitors the second blockchain node indicates that the second under-chain computing node is a participant and the target data provided by the first under-chain computing node is needed.
10. The method of claim 9, the forwarding the data message over the blockchain network to a second blockchain node indicated by the identity information to send the data message by a second blockchain node to a second under-chain computing node indicated by the node identity and the task identity, comprising:
and under the condition that the identity information is the identity information of the first blockchain node, sending the data message to the second under-chain computing node indicated by the node identifier and the task identifier.
11. A data transmission method applied to a second blockchain node corresponding to a second under-chain computing node in a blockchain network, wherein a first blockchain link point in the blockchain network corresponds to the first under-chain computing node, and node identifiers of the under-chain computing nodes corresponding to any blockchain node in the blockchain network are different from each other, the method comprising:
receiving a data message forwarded by a first blockchain node through the blockchain network, wherein the data message is sent to the first blockchain node under the condition that a first blockchain computing node monitors that an under-chain cooperative computing task generated by the first blockchain node indicates that a second under-chain computing node is a participant and target data provided by the first under-chain computing node is needed to be used, and the data message comprises the target data, identity information of the second blockchain node, node identification of the second under-chain computing node and task identification of the under-chain cooperative computing task;
And determining a second under-chain computing node according to the node identifier and the task identifier, and sending the data message to the determined second under-chain computing node, wherein when the under-chain cooperative computing task generated by the second under-chain computing node in the monitored second blockchain node indicates that the second under-chain computing node is a participant and target data provided by the first under-chain computing node is required to be used, the monitored under-chain cooperative computing task is executed according to the received target data.
12. The method of claim 11, the determining a second in-chain computing node from the node identification and the task identification comprising:
under the condition that a first mapping relation between node identifiers of the under-chain computing nodes and task channels of the under-chain cooperative computing tasks is maintained, generating the task channels of the under-chain cooperative computing tasks according to the node identifiers of the second under-chain computing nodes and the task identifiers of the under-chain cooperative computing tasks contained in the data message, and determining the second under-chain computing nodes corresponding to the task channels according to the first mapping relation; or,
and under the condition that a second mapping relation between the node identification of the chain under-link computing node and the task identification of the under-link cooperative computing task is maintained, determining a second chain under-link computing node corresponding to the task identification contained in the data message according to the second mapping relation.
13. The method of claim 12, further comprising:
receiving a task registration request initiated by any one of the under-chain computing nodes corresponding to the self for any one of the under-chain cooperative computing tasks;
generating a task channel of the under-link cooperative computing task according to the node identifier of the under-link computing node and the task identifier of the under-link cooperative computing task carried in the task registration request, and maintaining a first mapping relation between the node identifier of the under-link computing node and the task channel; or,
and maintaining a second mapping relation according to the node identification of any one of the under-chain computing nodes and the task identification of any one of the under-chain cooperative computing tasks carried in the task registration request.
14. A data transmission method applied to a second under-chain computing node corresponding to a second blockchain node in a blockchain network, wherein a first blockchain link point in the blockchain network corresponds to the first under-chain computing node, and node identifiers of all under-chain computing nodes corresponding to any blockchain node in the blockchain network are different from each other, the method comprising:
receiving a data message containing target data sent by a second blockchain node, wherein the data message is sent to the first blockchain node by the first blockchain node under the condition that an under-chain cooperative computing task generated by the first blockchain node is monitored to indicate that the second blockchain computing node is a participant and the target data provided by the first blockchain computing node is required to be used, and the data message is forwarded to the second blockchain node by the first blockchain node according to the identity information of the second blockchain node contained in the message, and is sent to the second blockchain node by the second blockchain node according to the node identifier of the second blockchain computing node and the task identifier of the under-chain cooperative computing task contained in the message;
And executing the monitored under-chain cooperative computing task according to the received target data under the condition that the monitored under-chain cooperative computing task generated by the second blockchain node indicates that the second under-chain computing node is a participant and the target data provided by the first under-chain computing node is needed.
15. The method of claim 14, further comprising:
acquiring a task identifier of the under-chain cooperative computing task;
generating a task channel of the under-chain cooperative computing task according to the node identification of the second under-chain computing node and the acquired task identification, and registering the task channel to the second blockchain node so that the second blockchain node maintains a first mapping relation between the task channel and the node identification of the second under-chain computing node for determining the second under-chain computing node according to the task channel contained in the data message.
16. The method of claim 15, the obtaining a task identification of the link-down collaborative computing task, comprising:
monitoring a task allocation event containing the under-chain cooperative computing task generated by a second blockchain node, and extracting a task identifier of the under-chain cooperative computing task from the event; or,
And receiving a task identification of the under-chain cooperative computing task sent by the under-chain task related party.
17. The method of claim 15, wherein the generating the task channel of the link-down cooperative computing task according to the node identifier of the second link-down computing node and the obtained task identifier comprises:
splicing the node identification of the second under-chain computing node and the acquired task identification into the task channel; or,
and taking the node identification of the second chain computing node and the obtained abstract of the task identification as a task channel.
18. The method of claim 14, further comprising:
and returning the execution result of the under-chain cooperative computing task to a first under-chain computing node through the blockchain network so that the first under-chain computing node executes the under-chain cooperative computing task monitored by itself according to the execution result.
19. A data transmission apparatus for a first under-chain computing node corresponding to a first blockchain link point in a blockchain network, a second blockchain node in the blockchain network corresponding to the second under-chain computing node, node identifiers of respective under-chain computing nodes corresponding to any blockchain node in the blockchain network being different from each other, the apparatus comprising:
The task monitoring unit is used for monitoring the downlink cooperative computing task generated by the first blockchain node;
and the message sending unit is used for sending a data message containing the target data, the identity information of the second blockchain node, the node identification of the second blockchain node and the task identification of the under-chain cooperative computing task to the first blockchain node when the under-chain cooperative computing task indicates that the second blockchain computing node is a participant and the target data provided by the first under-chain computing node is needed, wherein the data message is used for indicating the first blockchain node to forward the message to the second blockchain node indicated by the identity information through the blockchain network so as to send the message to the second under-chain computing node indicated by the node identification and the task identification by the second blockchain node, and executing the monitored under-chain cooperative computing task according to the received target data when the under-chain cooperative computing task generated by the second under-chain computing node monitored indicates that the second under-chain computing node is a participant and the target data provided by the first under-chain computing node is needed.
20. A data transmission apparatus for use with a first blockchain node in a blockchain network that corresponds to a first under-chain computing node, a second blockchain node in the blockchain network that corresponds to a second under-chain computing node, node identifiers of respective under-chain computing nodes that correspond to any blockchain node in the blockchain network being different from each other, the apparatus comprising:
the task receiving unit is used for receiving a data message sent when the first under-chain computing node monitors that an under-chain cooperative computing task generated by the first blockchain node indicates that the second under-chain computing node is a participant and target data provided by the first under-chain computing node is needed to be used, wherein the data message comprises the target data, identity information of the second blockchain node, a node identifier of the second under-chain computing node and a task identifier of the under-chain cooperative computing task;
and the message forwarding unit is used for forwarding the data message to a second blockchain node indicated by the identity information through the blockchain network, sending the data message to a second under-chain computing node indicated by the node identifier and the task identifier by a second blockchain node point, and executing the monitored under-chain cooperative computing task according to the received target data under the condition that the under-chain computing node is indicated to be a participant by the under-chain cooperative computing task generated by the second under-chain computing node and the target data provided by the first under-chain computing node is needed.
21. A data transmission apparatus for use with a second blockchain node in a blockchain network that corresponds to a second under-chain computing node, a first blockchain link point in the blockchain network corresponding to the first under-chain computing node, node identifiers of respective under-chain computing nodes corresponding to any blockchain node in the blockchain network being different from each other, the apparatus comprising:
the message receiving unit is used for receiving a data message forwarded by the first blockchain node through the blockchain network, wherein the data message is sent to the first blockchain node when the first blockchain node monitors that an under-chain cooperative computing task generated by the first blockchain node indicates that the second under-chain computing node is a participant and target data provided by the first under-chain computing node is needed to be used, and the data message comprises the target data, identity information of the second blockchain node, node identification of the second under-chain computing node and task identification of the under-chain cooperative computing task;
and the message sending unit is used for determining a second under-chain computing node according to the node identifier and the task identifier, sending the data message to the determined second under-chain computing node, and executing the monitored under-chain cooperative computing task according to the received target data under the condition that the under-chain cooperative computing task generated by the second under-chain computing node during monitoring of the second blockchain node indicates that the second under-chain computing node is a participant and the target data provided by the first under-chain computing node is needed.
22. A data transmission apparatus for a second under-chain computing node corresponding to a second blockchain node in a blockchain network, a first blockchain link point in the blockchain network corresponding to the first under-chain computing node, node identifiers of respective under-chain computing nodes corresponding to any blockchain node in the blockchain network being different from each other, the apparatus comprising:
the message receiving unit is used for receiving a data message which is sent by the second blockchain node and contains target data, wherein the data message is sent to the first blockchain node when the first blockchain node monitors that an under-chain cooperative computing task generated by the first blockchain node indicates that the second blockchain node is a participant and the target data provided by the first blockchain node is needed to be used, the first blockchain node forwards the data message to the second blockchain node through the blockchain network according to the identity information of the second blockchain node contained in the message, and the second blockchain node sends the data message to the second blockchain node according to the node identifier of the second blockchain node and the task identifier of the under-chain cooperative computing task contained in the message;
And the task execution unit is used for executing the monitored under-chain cooperative computing task according to the received target data under the condition that the monitored under-chain cooperative computing task generated by the second blockchain node indicates that the second under-chain computing node is a participant and the target data provided by the first under-chain computing node is needed.
23. An electronic device, comprising:
a processor; a memory for storing processor-executable instructions;
wherein the processor is configured to implement the method of any of claims 7-18 by executing the executable instructions.
24. A computer readable storage medium having stored thereon computer instructions which, when executed by a processor, implement the steps of the method of any of claims 7-18.
CN202210602327.0A 2022-05-30 2022-05-30 Data transmission system, method, device, electronic equipment and readable storage medium Active CN115037746B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210602327.0A CN115037746B (en) 2022-05-30 2022-05-30 Data transmission system, method, device, electronic equipment and readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210602327.0A CN115037746B (en) 2022-05-30 2022-05-30 Data transmission system, method, device, electronic equipment and readable storage medium

Publications (2)

Publication Number Publication Date
CN115037746A CN115037746A (en) 2022-09-09
CN115037746B true CN115037746B (en) 2024-03-29

Family

ID=83123786

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210602327.0A Active CN115037746B (en) 2022-05-30 2022-05-30 Data transmission system, method, device, electronic equipment and readable storage medium

Country Status (1)

Country Link
CN (1) CN115037746B (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111934999A (en) * 2020-09-25 2020-11-13 支付宝(杭州)信息技术有限公司 Message transmission method and device
CN113067902A (en) * 2021-06-02 2021-07-02 支付宝(杭州)信息技术有限公司 Block chain message transmission method and device

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111934996B (en) * 2020-09-25 2021-01-12 支付宝(杭州)信息技术有限公司 Message transmission method and device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111934999A (en) * 2020-09-25 2020-11-13 支付宝(杭州)信息技术有限公司 Message transmission method and device
CN113079079A (en) * 2020-09-25 2021-07-06 支付宝(杭州)信息技术有限公司 Message transmission method and device
CN113067902A (en) * 2021-06-02 2021-07-02 支付宝(杭州)信息技术有限公司 Block chain message transmission method and device

Also Published As

Publication number Publication date
CN115037746A (en) 2022-09-09

Similar Documents

Publication Publication Date Title
CN106375458B (en) Service calling system, method and device
CN114679457B (en) Node grouping method in block chain and block chain link point
CN115314273B (en) Data transmission system, method, electronic device and readable storage medium
CN111447143A (en) Business service data transmission method and device, computer equipment and storage medium
WO2024001022A1 (en) Cross-subnet calling
CN113935737B (en) Random number generation method and device based on block chain
CN114374699A (en) Cross-chain interaction method and cross-chain interaction auditing method
CN115037746B (en) Data transmission system, method, device, electronic equipment and readable storage medium
CN114363335B (en) Cross-chain interaction method and device
WO2024066005A1 (en) Method and apparatus for replaying blockchain transaction
CN114897532A (en) Operation log processing method, system, device, equipment and storage medium
CN114422520B (en) Cross-chain interaction method and device
CN116366666A (en) Chain state updating method and block link point in block chain system
CN115022305B (en) Data transmission system, method, device, equipment and medium
CN114726858A (en) Data processing method and device, electronic equipment and storage medium
CN114782016A (en) Creditor data processing method and device based on intelligent contract and block chain system
CN114785800A (en) Cross-link communication method and device
CN114692185A (en) Data processing method and device
CN112416980A (en) Data service processing method, device and equipment
CN111062814A (en) Resource transfer method, device and system based on block chain
CN115174572B (en) Data multicasting method in blockchain, blockchain node and storage medium
CN116366706A (en) Cross-chain interaction method and block chain link point
CN114785853B (en) Method, apparatus, storage medium and computing device for cross-chain communication in a blockchain system
CN115185543B (en) Model deployment method, packing method, device, equipment and storage medium
CN110417904B (en) Push information processing method, device and system

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant