Block chain system, data transmission method, device and equipment
By introducing chain management modules and communication modules into the blockchain system, establishing a multicast forwarding tree and optimizing the blockchain data transmission path, the problems of low efficiency and high cost of blockchain communication in the existing technology are solved, and the improvement is achieved Efficient data transmission and resource utilization.
Patent Information
- Application Number
- CN202411468202.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-10-21
- Publication Date
- 2024-12-27
- Estimated Expiration
- 2044-10-21
AI Technical Summary
The existing blockchain communication solutions are inefficient and costly, resulting in increased data transmission delay, excessive communication bandwidth usage, wasted resources and limited system capacity.
The blockchain nodes are managed by the chain management module in the blockchain system, and the multicast forwarding tree is established through intra-office and inter-office communication modules, optimize the data transmission path, support blockchain data transmission across local points, and reduce redundancy. transmission.
It improves blockchain communication efficiency, reduces communication costs, shortens data transmission paths, avoids redundant transmissions, and improves system capacity and performance.
Smart Images

Figure CN119211248A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of communication technology, and in particular to a blockchain system, a data transmission method, a device and equipment. Background Art
[0002] As a distributed ledger technology, blockchain emphasizes decentralization. Therefore, P2P (Peer to Peer) protocol is usually used to propagate ledger transactions between different nodes and addresses. For example: Hyperledger Fabric (an open source consortium chain software) uses the Gossip protocol (rumor protocol). The Gossip process is initiated by the seed node. When a seed node has a status that needs to be updated to other nodes in the network, it will randomly select several surrounding nodes to spread the message. The nodes that receive the message will also repeat the process until all nodes in the network have received the message. This process may take a certain amount of time, and there is no guarantee that each node receives the message once and only once. For example:
[0003] like Figure 1 As shown in the figure, the message sent from Node 1 takes two sending cycles to reach Node 3, which brings additional delay and increases the waiting time required for ledger convergence; Node 2, 4, and 5 all receive three copies of the same data from multiple paths, which not only occupies the communication bandwidth, but also consumes the receiving, parsing, and judgment overhead of the receiving node.
[0004] From the above, the blockchain communication solutions in the existing technology have problems such as low efficiency and high cost. Summary of the invention
[0005] The purpose of this application is to provide a blockchain system, data transmission method, device and equipment to solve the problems of low efficiency and high cost of blockchain communication solutions in the prior art.
[0006] In order to solve the above technical problems, the present application embodiment provides a blockchain system, including:
[0007] A first office point and at least one second office point capable of communicating with the first office point;
[0008] The first bureau point includes at least one organization, and the first bureau point provides blockchain services for the included organization, and / or the second bureau point includes at least one organization, and the second bureau point provides blockchain services for the included organization;
[0009] One of the organizations includes at least one blockchain node, at least one organization in the first bureau point and at least one organization in the second bureau point join the same blockchain network; the two organizations in the same bureau point communicate with each other through an intra-bureau communication module; different bureau points communicate with each other through an inter-bureau communication module;
[0010] A link management module is provided in the first office node, and the link management module is used for at least one of the following:
[0011] Manage blockchain nodes deployed in different locations;
[0012] Interact with the inter-office communication modules in each office site;
[0013] Detect and configure inter-station communication channels;
[0014] IP multicast addresses are assigned to corresponding blockchains and / or communication channels.
[0015] Optionally, the inter-office communication module is used for at least one of the following:
[0016] Forwarding path calculation;
[0017] Inter-office communication channels are established;
[0018] Based on the established communication channel, blockchain data transmission across multiple locations is performed;
[0019] The intra-bureau communication module acts as a multicast source and multicast tree root node of the target blockchain and / or target communication channel.
[0020] Optionally, the intra-office communication module is used for at least one of the following:
[0021] Serves as the multicast source and multicast tree root node for internal blockchain communication of the affiliated office;
[0022] Receiving data forwarded by multicast within a target blockchain and / or target communication channel from an inter-office communication module;
[0023] Cache block data.
[0024] The embodiment of the present application also provides a data transmission method, which is applied to the first node in the above blockchain system, including:
[0025] Utilize the chain management module to send a first instruction to each second bureau point in the blockchain system; the first instruction is used to instruct the second bureau point to determine an inter-bureau data forwarding path, and the first instruction carries a delay upper limit value.
[0026] Optionally, the utilizing chain management module to send a first instruction to each second bureau point in the blockchain system includes:
[0027] In the first case, using the chain management module, sending a first instruction to each second bureau point in the blockchain system;
[0028] The first situation includes at least one of the following:
[0029] The Internet access method of the local point in the blockchain system changes;
[0030] Adding or deleting nodes in the blockchain system;
[0031] The communication delay increment of at least some routing links of the blockchain system is greater than a first threshold;
[0032] Currently in a business idle period;
[0033] There are management and operation requirements.
[0034] Optionally, also include:
[0035] Allocate multicast addresses according to the creation request initiated by the chain management module for the blockchain and / or the communication channel;
[0036] Using the chain management module, sending a second instruction to the second office point corresponding to the creation request and / or the inter-office communication module of the first office point; the second instruction is used to instruct the creation of a multicast forwarding tree and carries the multicast address allocated to the second office point;
[0037] The link management module is used to receive a second response sent by the inter-office communication module of the second office point and / or the first office point corresponding to the creation request.
[0038] Optionally, before receiving, by the chain management module, a second response sent by the inter-office communication module of the first office point corresponding to the creation request, the method further includes:
[0039] Using the inter-office communication module, according to the second instruction, sending a first notification of creating a multicast forwarding tree to the intra-office communication module of the second office point;
[0040] Using the intra-office communication module, creating a multicast forwarding tree according to the first notification;
[0041] After the multicast routing is stable and the multicast forwarding tree is created, the inter-office communication module is used to send a second response to the chain management module.
[0042] Optionally, the using the intra-office communication module to create a multicast forwarding tree according to the first notification includes:
[0043] Using the intra-office communication module, sending a second notification to the inter-office communication module to join the multicast forwarding tree in the form of a leaf node; the second notification carries the address of the intra-office communication module and the multicast address;
[0044] Using the inter-office communication module, according to the second notification, initiate a first request to join the multicast forwarding tree in the form of a leaf node to the intra-office network device of the first office point;
[0045] Using the intra-office network device, a multicast forwarding tree is created according to the first request; the multicast forwarding tree uses the intra-office communication module of the first office point as the multicast source and multicast tree root.
[0046] Optionally, also include:
[0047] Using the intra-office communication module of the first office point, receiving the message sent by the block packaging node in unicast mode;
[0048] The intra-office communication module of the first office point is used to forward the message to each leaf node based on the multicast forwarding tree.
[0049] Optionally, also include:
[0050] Using the inter-office communication module of the first office point, receiving the first block message sent by other office points in the blockchain system except the first office point;
[0051] Using the inter-office communication module of the first office point, sending the first block message to the intra-office communication module of the first office point in a unicast manner;
[0052] The first block message is forwarded to each leaf node based on the multicast forwarding tree by using the intra-office communication module of the first office point.
[0053] Optionally, also include:
[0054] The block data is cached using the intra-office communication module in the first office point.
[0055] Optionally, also include:
[0056] Using the chain management module, receiving the first node registration information sent by the second office point, and performing identity allocation according to the first node registration information, and sending the allocated identity to the second office point;
[0057] And / or, in the case of a new organization or a new blockchain node, the intra-office communication module of the first office point sends the second node registration information to the chain management module via the inter-office communication module of the first office point; the chain management module is used to allocate an identifier according to the second node registration information, and the allocated identifier is sent to the inter-office communication module of the first office point, and the inter-office communication module of the first office point transmits it to the corresponding blockchain node via the intra-office communication module of the first office point;
[0058] and / or, using the chain management module to receive the first node deregistration information sent by the second office point, and deleting the corresponding organizational affiliation according to the first node deregistration information, obtaining a first deregistration response, and sending the first deregistration response to the second office point;
[0059] And / or, in the event of organization deletion or blockchain node deletion, the intra-office communication module of the first office point sends the second node deregistration information to the chain management module via the inter-office communication module of the first office point; using the chain management module, the corresponding organization affiliation is deleted according to the second node deregistration information to obtain a second deregistration response; the second deregistration response is sent to the inter-office communication module of the first office point, and the inter-office communication module of the first office point transmits it to the corresponding blockchain node via the intra-office communication module of the first office point.
[0060] Optionally, identifiers are assigned based on node registration information, including:
[0061] Based on the node registration information, at least one of the following identifiers is assigned:
[0062] The station ID of the station to which the node belongs;
[0063] The organization ID of the organization to which the node belongs;
[0064] Node type identification; the node type identification is used to indicate that the node is a chain management module, an inter-office communication module, an intra-office communication module or a blockchain node;
[0065] Node identification; the node identification includes: the node's own identifier and the identification of the information required for node communication;
[0066] The node registration information is the first node registration information or the second node registration information.
[0067] Optionally, also include:
[0068] Using the chain management module, determine the status information of all current inter-office communication modules in the blockchain system and obtain device status notification; the status information includes: identification information and corresponding communication information;
[0069] The chain management module is utilized to send the device status notification to all the inter-office communication modules in a unicast manner.
[0070] The embodiment of the present application also provides a data transmission method, which is applied to the second node in the above blockchain system, including:
[0071] Using the inter-office communication module, receiving a first instruction sent by a first office point; the first instruction is used to instruct the second office point to determine an inter-office data forwarding path, and the first instruction carries a delay upper limit value;
[0072] According to the first instruction, using the inter-office communication module to send a first message to other second office points in the blockchain system respectively, where the first message is used to instruct to perform path detection;
[0073] Using the inter-office communication module, receiving a first response sent by the other second office point, the first response carrying a data forwarding path between the second office point and the other second office point determined by the other second office point;
[0074] According to the first response, inter-office data forwarding paths corresponding to the second office point are determined.
[0075] Optionally, also include:
[0076] Using the inter-office communication module, receiving a second message sent by at least one other second office point, wherein the second message is used to instruct path detection and carries a data path;
[0077] In the case where it is determined that the second office point is located on the data path, discarding the second message;
[0078] When it is determined that the second office point is not located in the data path, the identifier and current timestamp of the second office point are added to the end of the data path to obtain a third message; the third message is sent to other second office points that are not located in the data path respectively by using the inter-office communication module; and the message path that first reaches the second office point is obtained for the received fourth message, a third response is obtained according to the message path, and the third response is sent to the initiator of the fourth message;
[0079] The fourth message refers to a message for performing path detection from the same initiator in at least one of the received second messages.
[0080] Optionally, also include:
[0081] Using the inter-office communication module, receiving a second instruction sent by the first office point; the second instruction is used to instruct the creation of a multicast forwarding tree and carries the multicast address allocated to the second office point;
[0082] Using the inter-office communication module, according to the second instruction, sending a third notification of creating a multicast forwarding tree to the intra-office communication module of the second office point;
[0083] Using the intra-office communication module, creating a multicast forwarding tree according to the third notification;
[0084] After the multicast routing is stable and the multicast forwarding tree is created, the inter-office communication module is used to send a second response to the first office point.
[0085] Optionally, the using the intra-office communication module to create a multicast forwarding tree according to the third notification includes:
[0086] Using the intra-office communication module, sending a fourth notification to the inter-office communication module to join the multicast forwarding tree in the form of a leaf node; the fourth notification carries the address of the intra-office communication module and the multicast address;
[0087] Using the inter-office communication module, according to the fourth notification, initiate a second request to join the multicast forwarding tree in the form of a leaf node to the intra-office network device of the second office point;
[0088] Using the intra-office network device, a multicast forwarding tree is created according to the second request; the multicast forwarding tree uses the intra-office communication module of the second office point as the multicast source and multicast tree root.
[0089] Optionally, also include:
[0090] Using the intra-office communication module of the second office point, receiving the message sent by the block packaging node in unicast mode;
[0091] The intra-office communication module of the second office point is utilized to forward the message to each leaf node based on the multicast forwarding tree.
[0092] Optionally, also include:
[0093] Using the inter-office communication module of the second office point, receiving the second block message sent by other office points in the blockchain system except the second office point;
[0094] Using the inter-office communication module of the second office point, sending the second block message to the intra-office communication module of the second office point in a unicast manner;
[0095] The second block message is forwarded to each leaf node based on the multicast forwarding tree by utilizing the intra-office communication module of the second office point.
[0096] Optionally, also include:
[0097] The block data is cached using the intra-office communication module in the second office point.
[0098] Optionally, also include:
[0099] In the case of a new organization or a new blockchain node, the intra-office communication module of the second office point sends the first node registration information to the first office point via the inter-office communication module of the second office point; the inter-office communication module of the second office point receives the identifier sent by the first office point, and transmits it to the corresponding blockchain node via the intra-office communication module of the second office point;
[0100] And / or, in the event of organization deletion or blockchain node deletion, the intra-office communication module of the second office point sends the first node deregistration information to the first office point via the inter-office communication module of the second office point; the inter-office communication module of the second office point is used to receive the first deregistration response sent by the first office point, and transmit it to the corresponding blockchain node through the intra-office communication module of the second office point.
[0101] Optionally, the identifier sent by the first office point includes at least one of the following:
[0102] The station ID of the station to which the node belongs;
[0103] The organization ID of the organization to which the node belongs;
[0104] Node type identification; the node type identification is used to indicate that the node is a chain management module, an inter-office communication module, an intra-office communication module or a blockchain node;
[0105] Node identification; the node identification includes: the node's own identifier and the identification of the information required for node communication.
[0106] Optionally, also include:
[0107] Utilize the inter-office communication module of the second office point to receive the device status notification sent by the first office point; the device status notification carries the status information of all the inter-office communication modules in the blockchain system; the status information includes: identification information and corresponding communication information.
[0108] The embodiment of the present application further provides a data transmission device, which is applied to the first bureau point in the above blockchain system, including:
[0109] The first sending module is used to use the chain management module to send a first instruction to each second office point in the blockchain system; the first instruction is used to instruct the second office point to determine an inter-office data forwarding path, and the first instruction carries a delay upper limit value.
[0110] Optionally, the utilizing chain management module to send a first instruction to each second bureau point in the blockchain system includes:
[0111] In the first case, using the chain management module, sending a first instruction to each second bureau point in the blockchain system;
[0112] The first situation includes at least one of the following:
[0113] The Internet access method of the local point in the blockchain system changes;
[0114] Adding or deleting nodes in the blockchain system;
[0115] The communication delay increment of at least some routing links of the blockchain system is greater than a first threshold;
[0116] Currently in a business idle period;
[0117] There are management and operation requirements.
[0118] Optionally, also include:
[0119] A first allocation module, configured to allocate a multicast address according to a creation request initiated by the chain management module for a blockchain and / or a communication channel;
[0120] A second sending module, used to use the link management module to send a second instruction to the second office point corresponding to the creation request and / or the inter-office communication module of the first office point; the second instruction is used to instruct the creation of a multicast forwarding tree and carries the multicast address allocated to the second office point;
[0121] The first receiving module is used to use the link management module to receive a second response sent by the second office point corresponding to the creation request and / or the inter-office communication module of the first office point.
[0122] Optionally, also include:
[0123] A third sending module is used to use the inter-office communication module to send a first notification of creating a multicast forwarding tree to the intra-office communication module of the second office point according to the second instruction before using the chain management module to receive a second response sent by the inter-office communication module of the first office point corresponding to the creation request;
[0124] A first creation module, configured to use the intra-office communication module to create a multicast forwarding tree according to the first notification;
[0125] The fourth sending module is used to send a second response to the link management module by using the inter-office communication module after the multicast routing is stable and the multicast forwarding tree is created.
[0126] Optionally, the using the intra-office communication module to create a multicast forwarding tree according to the first notification includes:
[0127] Using the intra-office communication module, sending a second notification to the inter-office communication module to join the multicast forwarding tree in the form of a leaf node; the second notification carries the address of the intra-office communication module and the multicast address;
[0128] Using the inter-office communication module, according to the second notification, initiate a first request to join the multicast forwarding tree in the form of a leaf node to the intra-office network device of the first office point;
[0129] Using the intra-office network device, a multicast forwarding tree is created according to the first request; the multicast forwarding tree uses the intra-office communication module of the first office point as the multicast source and multicast tree root.
[0130] Optionally, also include:
[0131] A second receiving module, used to receive a message sent by a block packaging node in a unicast manner using an intra-office communication module of the first office point;
[0132] The fifth sending module is used to forward the message to each leaf node based on the multicast forwarding tree by utilizing the intra-office communication module of the first office point.
[0133] Optionally, also include:
[0134] A third receiving module is used to receive a first block message sent by other bureaus in the blockchain system except the first bureau, by using the inter-bureau communication module of the first bureau;
[0135] A sixth sending module, configured to send the first block message to the intra-office communication module of the first office point in a unicast manner by using the inter-office communication module of the first office point;
[0136] The seventh sending module is used to forward the first block message to each leaf node based on the multicast forwarding tree by using the intra-office communication module of the first office point.
[0137] Optionally, also include:
[0138] The first cache module is used to cache block data by utilizing the intra-office communication module in the first office point.
[0139] Optionally, also include:
[0140] A first transceiver processing module, configured to use the link management module to receive the first node registration information sent by the second office point, allocate an identifier according to the first node registration information, and send the allocated identifier to the second office point;
[0141] And / or, in the case of a new organization or a new blockchain node, the intra-office communication module of the first office point sends the second node registration information to the chain management module via the inter-office communication module of the first office point; the chain management module is used to allocate an identifier according to the second node registration information, and the allocated identifier is sent to the inter-office communication module of the first office point, and the inter-office communication module of the first office point transmits it to the corresponding blockchain node via the intra-office communication module of the first office point;
[0142] and / or, using the chain management module to receive the first node deregistration information sent by the second office point, and deleting the corresponding organizational affiliation according to the first node deregistration information, obtaining a first deregistration response, and sending the first deregistration response to the second office point;
[0143] And / or, in the event of organization deletion or blockchain node deletion, the intra-office communication module of the first office point sends the second node deregistration information to the chain management module via the inter-office communication module of the first office point; using the chain management module, the corresponding organization affiliation is deleted according to the second node deregistration information to obtain a second deregistration response; the second deregistration response is sent to the inter-office communication module of the first office point, and the inter-office communication module of the first office point transmits it to the corresponding blockchain node via the intra-office communication module of the first office point.
[0144] Optionally, identifiers are assigned based on node registration information, including:
[0145] Based on the node registration information, at least one of the following identifiers is assigned:
[0146] The station ID of the station to which the node belongs;
[0147] The organization ID of the organization to which the node belongs;
[0148] Node type identification; the node type identification is used to indicate that the node is a chain management module, an inter-office communication module, an intra-office communication module or a blockchain node;
[0149] Node identification; the node identification includes: the node's own identifier and the identification of the information required for node communication;
[0150] The node registration information is the first node registration information or the second node registration information.
[0151] Optionally, also include:
[0152] A first determination module is used to use the chain management module to determine the status information of all current inter-office communication modules in the blockchain system and obtain a device status notification; the status information includes: identification information and corresponding communication information;
[0153] An eighth sending module is used to use the link management module to send the device status notification to all the inter-office communication modules in a unicast manner.
[0154] The embodiment of the present application further provides a data transmission device, which is applied to the second node in the above blockchain system, including:
[0155] A fourth receiving module is used to receive a first instruction sent by a first office point using an inter-office communication module; the first instruction is used to instruct the second office point to determine an inter-office data forwarding path, and the first instruction carries a delay upper limit value;
[0156] a ninth sending module, configured to send a first message to other second bureau points in the blockchain system respectively by using the inter-bureau communication module according to the first instruction, wherein the first message is used to instruct to perform path detection;
[0157] A fifth receiving module, configured to receive, by using the inter-office communication module, a first response sent by the other second office point, wherein the first response carries a data forwarding path between the second office point and the other second office point determined by the other second office point;
[0158] The second determination module is used to determine, according to the first response, the inter-office data forwarding paths corresponding to the second office point.
[0159] Optionally, also include:
[0160] A sixth receiving module, used to receive, by using the inter-office communication module, a second message sent by at least one other second office point, wherein the second message is used to instruct path detection and carry a data path;
[0161] A first processing module, configured to discard the second message when it is determined that the second office point is located on the data path;
[0162] The second transceiver processing module is used to add the identifier and current timestamp of the second office point to the end of the data path to obtain a third message when it is determined that the second office point is not located in the data path; use the inter-office communication module to send the third message to other second office points that are not located in the data path respectively; and obtain the message path that first arrives at the second office point for the received fourth message, obtain a third response according to the message path, and send the third response to the initiator of the fourth message;
[0163] The fourth message refers to a message for performing path detection from the same initiator in at least one of the received second messages.
[0164] Optionally, also include:
[0165] a seventh receiving module, configured to receive, by using the inter-office communication module, a second instruction sent by the first office point; the second instruction is configured to instruct the creation of a multicast forwarding tree and carry a multicast address allocated to the second office point;
[0166] a tenth sending module, configured to use the inter-office communication module to send a third notification of creating a multicast forwarding tree to the intra-office communication module of the second office point according to the second instruction;
[0167] A second creation module, configured to use the intra-office communication module to create a multicast forwarding tree according to the third notification;
[0168] The eleventh sending module is used to send a second response to the first office point by using the inter-office communication module after the multicast routing is stable and the multicast forwarding tree is created.
[0169] Optionally, the using the intra-office communication module to create a multicast forwarding tree according to the third notification includes:
[0170] Using the intra-office communication module, sending a fourth notification to the inter-office communication module to join the multicast forwarding tree in the form of a leaf node; the fourth notification carries the address of the intra-office communication module and the multicast address;
[0171] Using the inter-office communication module, according to the fourth notification, initiate a second request to join the multicast forwarding tree in the form of a leaf node to the intra-office network device of the second office point;
[0172] Using the intra-office network device, a multicast forwarding tree is created according to the second request; the multicast forwarding tree uses the intra-office communication module of the second office point as the multicast source and multicast tree root.
[0173] Optionally, also include:
[0174] An eighth receiving module, configured to receive a message sent by the block packaging node in a unicast manner by using the intra-office communication module of the second office point;
[0175] The twelfth sending module is used to forward the message to each leaf node based on the multicast forwarding tree by utilizing the intra-office communication module of the second office point.
[0176] Optionally, also include:
[0177] A ninth receiving module, configured to use the inter-office communication module of the second office point to receive a second block message sent by other office points in the blockchain system except the second office point;
[0178] A thirteenth sending module, configured to send the second block message to the intra-office communication module of the second office point in a unicast manner by using the inter-office communication module of the second office point;
[0179] A fourteenth sending module is used to forward the second block message to each leaf node based on the multicast forwarding tree by utilizing the intra-office communication module of the second office point.
[0180] Optionally, also include:
[0181] The second cache module is used to cache block data by utilizing the intra-office communication module in the second office point.
[0182] Optionally, also include:
[0183] The first transceiver module is used to send the first node registration information to the first office point through the intra-office communication module of the second office point via the inter-office communication module of the second office point when a new organization or a new blockchain node is added; receive the identifier sent by the first office point by the inter-office communication module of the second office point, and transmit it to the corresponding blockchain node through the intra-office communication module of the second office point;
[0184] And / or, in the event of organization deletion or blockchain node deletion, the intra-office communication module of the second office point sends the first node deregistration information to the first office point via the inter-office communication module of the second office point; the inter-office communication module of the second office point is used to receive the first deregistration response sent by the first office point, and transmit it to the corresponding blockchain node through the intra-office communication module of the second office point.
[0185] Optionally, the identifier sent by the first office point includes at least one of the following:
[0186] The station ID of the station to which the node belongs;
[0187] The organization ID of the organization to which the node belongs;
[0188] Node type identification; the node type identification is used to indicate that the node is a chain management module, an inter-office communication module, an intra-office communication module or a blockchain node;
[0189] Node identification; the node identification includes: the node's own identifier and the identification of the information required for node communication.
[0190] Optionally, also include:
[0191] The tenth receiving module is used to use the inter-office communication module of the second office point to receive the device status notification sent by the first office point; the device status notification carries the status information of all the inter-office communication modules in the blockchain system; the status information includes: identification information and corresponding communication information.
[0192] The embodiment of the present application also provides a data transmission device, which is applied to the first bureau point in the above blockchain system, including: a processor and a transceiver;
[0193] The processor is used to use the chain management module to send a first instruction to each second office point in the blockchain system through the transceiver; the first instruction is used to instruct the second office point to determine an inter-office data forwarding path, and the first instruction carries a delay upper limit value.
[0194] Optionally, the utilizing chain management module to send the first instruction to each second bureau point in the blockchain system through the transceiver includes:
[0195] In the first case, using the chain management module, sending a first instruction to each second bureau point in the blockchain system through the transceiver;
[0196] The first situation includes at least one of the following:
[0197] The Internet access method of the local point in the blockchain system changes;
[0198] Adding or deleting nodes in the blockchain system;
[0199] The communication delay increment of at least part of the routing links of the blockchain system is greater than a first threshold;
[0200] Currently in a business idle period;
[0201] There are management and operation requirements.
[0202] Optionally, the processor is further configured to:
[0203] Allocate multicast addresses according to the creation request initiated by the chain management module for the blockchain and / or the communication channel;
[0204] Using the chain management module, sending a second instruction to the second office point corresponding to the creation request and / or the inter-office communication module of the first office point; the second instruction is used to instruct the creation of a multicast forwarding tree and carries the multicast address allocated to the second office point;
[0205] The link management module is used to receive a second response sent by the inter-office communication module of the second office point and / or the first office point corresponding to the creation request.
[0206] Optionally, the processor is further configured to:
[0207] Before receiving, by the chain management module, a second response sent by the inter-office communication module of the first office point corresponding to the creation request, by the inter-office communication module, according to the second instruction, sending a first notification of creating a multicast forwarding tree to the intra-office communication module of the second office point through the transceiver;
[0208] Using the intra-office communication module, creating a multicast forwarding tree according to the first notification;
[0209] After the multicast routing is stable and the multicast forwarding tree is created, the inter-office communication module is used to send a second response to the chain management module.
[0210] Optionally, the using the intra-office communication module to create a multicast forwarding tree according to the first notification includes:
[0211] Using the intra-office communication module, sending a second notification to the inter-office communication module to join the multicast forwarding tree in the form of a leaf node; the second notification carries the address of the intra-office communication module and the multicast address;
[0212] Using the inter-office communication module, according to the second notification, initiate a first request to join the multicast forwarding tree in the form of a leaf node to the intra-office network device of the first office point;
[0213] Using the intra-office network device, a multicast forwarding tree is created according to the first request; the multicast forwarding tree uses the intra-office communication module of the first office point as the multicast source and multicast tree root.
[0214] Optionally, the processor is further configured to:
[0215] Using the intra-office communication module of the first office point, receiving the message sent by the block packaging node in unicast mode;
[0216] The intra-office communication module of the first office point is used to forward the message to each leaf node based on the multicast forwarding tree.
[0217] Optionally, the processor is further configured to:
[0218] Using the inter-office communication module of the first office point, receiving, through the transceiver, a first block message sent by other office points in the blockchain system except the first office point;
[0219] Using the inter-office communication module of the first office point, sending the first block message to the intra-office communication module of the first office point in a unicast manner;
[0220] The first block message is forwarded to each leaf node based on the multicast forwarding tree by using the intra-office communication module of the first office point.
[0221] Optionally, the processor is further configured to:
[0222] The block data is cached using the intra-office communication module in the first office point.
[0223] Optionally, the processor is further configured to:
[0224] Using the link management module, receiving the first node registration information sent by the second office point through the transceiver, and assigning an identifier according to the first node registration information, and sending the assigned identifier to the second office point through the transceiver;
[0225] And / or, in the case of a new organization or a new blockchain node, the intra-office communication module of the first office point sends the second node registration information to the chain management module via the inter-office communication module of the first office point; the chain management module is used to allocate an identifier according to the second node registration information, and the allocated identifier is sent to the inter-office communication module of the first office point, and the inter-office communication module of the first office point transmits it to the corresponding blockchain node via the intra-office communication module of the first office point;
[0226] and / or, using the link management module, receiving the first node deregistration information sent by the second office point through the transceiver, deleting the corresponding organization affiliation according to the first node deregistration information, obtaining a first deregistration response, and sending the first deregistration response to the second office point through the transceiver;
[0227] And / or, in the event of organization deletion or blockchain node deletion, the intra-office communication module of the first office point sends the second node deregistration information to the chain management module via the inter-office communication module of the first office point; using the chain management module, the corresponding organization affiliation is deleted according to the second node deregistration information to obtain a second deregistration response; the second deregistration response is sent to the inter-office communication module of the first office point, and the inter-office communication module of the first office point transmits it to the corresponding blockchain node via the intra-office communication module of the first office point.
[0228] Optionally, identifiers are assigned based on node registration information, including:
[0229] Based on the node registration information, at least one of the following identifiers is assigned:
[0230] The station ID of the station to which the node belongs;
[0231] The organization ID of the organization to which the node belongs;
[0232] Node type identification; the node type identification is used to indicate that the node is a chain management module, an inter-office communication module, an intra-office communication module or a blockchain node;
[0233] Node identification; the node identification includes: the node's own identifier and the identification of the information required for node communication;
[0234] The node registration information is the first node registration information or the second node registration information.
[0235] Optionally, the processor is further configured to:
[0236] Using the chain management module, determine the status information of all current inter-office communication modules in the blockchain system and obtain device status notification; the status information includes: identification information and corresponding communication information;
[0237] The link management module is utilized to send the device status notification to all the inter-office communication modules in a unicast manner through the transceiver.
[0238] The embodiment of the present application also provides a data transmission device, which is applied to the second bureau point in the above blockchain system, including: a processor and a transceiver;
[0239] The processor is used to use the inter-office communication module to receive a first instruction sent by the first office point through the transceiver; the first instruction is used to instruct the second office point to determine an inter-office data forwarding path, and the first instruction carries a delay upper limit value;
[0240] According to the first instruction, using the inter-office communication module to send a first message to other second office points in the blockchain system through the transceiver, wherein the first message is used to instruct to perform path detection;
[0241] Using the inter-office communication module, receiving a first response sent by the other second office point through the transceiver, the first response carrying a data forwarding path between the second office point and the other second office point determined by the other second office point;
[0242] According to the first response, inter-office data forwarding paths corresponding to the second office point are determined.
[0243] Optionally, the processor is further configured to:
[0244] Using the inter-office communication module, receiving a second message sent by at least one other second office point through the transceiver, wherein the second message is used to instruct path detection and carries a data path;
[0245] In the case where it is determined that the second office point is located on the data path, discarding the second message;
[0246] When it is determined that the second office point is not located in the data path, the identifier and current timestamp of the second office point are added to the end of the data path to obtain a third message; the third message is respectively sent to other second office points that are not located in the data path through the transceiver by using the inter-office communication module; and for the received fourth message, the message path that first arrives at the second office point is obtained, a third response is obtained according to the message path, and the third response is sent to the initiator of the fourth message through the transceiver;
[0247] The fourth message refers to a message for performing path detection from the same initiator in at least one of the received second messages.
[0248] Optionally, the processor is further configured to:
[0249] Using the inter-office communication module, receiving a second instruction sent by the first office point through the transceiver; the second instruction is used to instruct the creation of a multicast forwarding tree and carries the multicast address allocated to the second office point;
[0250] Using the inter-office communication module, according to the second instruction, sending a third notification of creating a multicast forwarding tree to the intra-office communication module of the second office point;
[0251] Using the intra-office communication module, creating a multicast forwarding tree according to the third notification;
[0252] After the multicast routing is stable and the multicast forwarding tree is created, the inter-office communication module is used to send a second response to the first office point through the transceiver.
[0253] Optionally, the using the intra-office communication module to create a multicast forwarding tree according to the third notification includes:
[0254] Using the intra-office communication module, sending a fourth notification to the inter-office communication module to join the multicast forwarding tree in the form of a leaf node; the fourth notification carries the address of the intra-office communication module and the multicast address;
[0255] Using the inter-office communication module, according to the fourth notification, initiate a second request to join the multicast forwarding tree in the form of a leaf node to the intra-office network device of the second office point;
[0256] Using the intra-office network device, a multicast forwarding tree is created according to the second request; the multicast forwarding tree uses the intra-office communication module of the second office point as the multicast source and multicast tree root.
[0257] Optionally, the processor is further configured to:
[0258] Using the intra-office communication module of the second office point, receiving the message sent by the block packaging node in unicast mode;
[0259] The intra-office communication module of the second office point is utilized to forward the message to each leaf node based on the multicast forwarding tree.
[0260] Optionally, the processor is further configured to:
[0261] Using the inter-office communication module of the second office point, receiving, through the transceiver, a second block message sent by other office points in the blockchain system except the second office point;
[0262] Using the inter-office communication module of the second office point, sending the second block message to the intra-office communication module of the second office point in a unicast manner;
[0263] The second block message is forwarded to each leaf node based on the multicast forwarding tree by utilizing the intra-office communication module of the second office point.
[0264] Optionally, the processor is further configured to:
[0265] The block data is cached using the intra-office communication module in the second office point.
[0266] Optionally, the processor is further configured to:
[0267] In the case of a newly added organization or a newly added blockchain node, the intra-office communication module of the second office point sends the first node registration information to the first office point through the inter-office communication module of the second office point through the transceiver; the inter-office communication module of the second office point receives the identifier sent by the first office point through the transceiver, and transmits it to the corresponding blockchain node through the intra-office communication module of the second office point;
[0268] And / or, in the event of organization deletion or blockchain node deletion, the intra-office communication module of the second office point sends the first node deregistration information to the first office point through the transceiver via the inter-office communication module of the second office point; the inter-office communication module of the second office point receives the first deregistration response sent by the first office point through the transceiver, and transmits it to the corresponding blockchain node through the intra-office communication module of the second office point.
[0269] Optionally, the identifier sent by the first office point includes at least one of the following:
[0270] The station ID of the station to which the node belongs;
[0271] The organization ID of the organization to which the node belongs;
[0272] Node type identification; the node type identification is used to indicate that the node is a chain management module, an inter-office communication module, an intra-office communication module or a blockchain node;
[0273] Node identification; the node identification includes: the node's own identifier and the identification of the information required for node communication.
[0274] Optionally, the processor is further configured to:
[0275] Utilizing the inter-office communication module of the second office point, the device status notification sent by the first office point is received through the transceiver; the device status notification carries the status information of all the inter-office communication modules in the blockchain system; the status information includes: identification information and corresponding communication information.
[0276] An embodiment of the present application also provides a data transmission device, including a memory, a processor, and a computer program stored in the memory and executable on the processor; when the processor executes the program, the above-mentioned data transmission method on the first station side or the second station side is implemented.
[0277] An embodiment of the present application also provides a readable storage medium on which a program is stored. When the program is executed by a processor, the steps in the data transmission method on the first office point side or the second office point side are implemented.
[0278] An embodiment of the present application also provides a computer program product, including computer instructions, which, when executed by a processor, implement the steps of the above-mentioned data transmission method on the first office point side or the second office point side.
[0279] The beneficial effects of the above technical solution of the present application are as follows:
[0280] In the above scheme, the blockchain system is configured by setting a first bureau point and at least one second bureau point capable of communicating with the first bureau point; wherein the first bureau point includes at least one organization, the first bureau point provides blockchain services for the organizations included therein, and / or the second bureau point includes at least one organization, the second bureau point provides blockchain services for the organizations included therein; one of the organizations includes at least one blockchain node, at least one organization in the first bureau point and at least one organization in the second bureau point join the same blockchain network; the two organizations in the same bureau point communicate through an intra-bureau communication module; different bureau points communicate through an inter-bureau communication module; a chain management module is provided in the first bureau point, and the chain management module is used for at least one of the following: managing blockchain nodes deployed in different bureau points; interacting with inter-bureau communication modules in each bureau point; detecting and configuring cross-bureau communication channels; allocating IP multicast addresses for corresponding blockchains and / or communication channels; being able to support clarifying the optimal inter-bureau data forwarding path, thereby supporting shortening the transmission path and avoiding redundant transmission, thereby improving communication efficiency and reducing communication costs, and well solving the problems of low efficiency and high cost of blockchain communication solutions in the prior art. BRIEF DESCRIPTION OF THE DRAWINGS
[0281] Figure 1 It is a schematic diagram of an example of redundancy and delay of P2P communication in the prior art;
[0282] Figure 2 This is a schematic diagram of the blockchain system architecture of an embodiment of the present application;
[0283] Figure 3 The data transmission method of the present invention is shown in the following figure. Figure 1 ;
[0284] Figure 4 The data transmission method of the present invention is shown in the following figure. Figure 2 ;
[0285] Figure 5 A schematic diagram of a network scheme of a blockchain system according to an embodiment of the present application;
[0286] Figure 6 This is a schematic diagram of an example of a device registration and device addressing process according to an embodiment of the present application;
[0287] Figure 7 A schematic diagram of establishing an intra-office multicast communication channel according to an embodiment of the present application;
[0288] Figure 8 This is a schematic diagram of an example of business traffic of a large-scale blockchain service system built across bureaus in an embodiment of the present application;
[0289] Fig. 9The structure of the data transmission device of the embodiment of the present application is shown as follows: Figure 1 ;
[0290] Fig.10 The structure of the data transmission device of the embodiment of the present application is shown as follows: Figure 2 ;
[0291] Fig.11 The data transmission device structure of the embodiment of the present application is shown in FIG. Figure 1 ;
[0292] Fig.12 The data transmission device structure of the embodiment of the present application is shown in FIG. Figure 2 . DETAILED DESCRIPTION
[0293] In order to make the technical problems, technical solutions and advantages to be solved by the present application clearer, a detailed description will be given below with reference to the accompanying drawings and specific embodiments.
[0294] The following first introduces the relevant contents of this plan.
[0295] 1. Blockchain technology;
[0296] Blockchain is a new type of information processing and storage technology: it adopts a decentralized networking structure to carry out distributed ledger management and maintenance; it uses a consensus mechanism to ensure that ledger data is fair and cannot be tampered with, supports the neutral execution of contracts (codes recognized by multiple parties), and solves problems such as information opacity, lack of trust, and poor collaboration among partners.
[0297] Specifically, computers and communication networks provide information representation, transmission and processing capabilities, changing the way people communicate in life and work; while blockchain technology realizes the value representation and transfer mechanism, becoming a new means to enhance trust and strengthen collaboration in social production and life, and is expected to optimize the social resource collaboration model and improve production relations. It is a major breakthrough technology that may completely change the way business and even institutions operate.
[0298] Among them, blockchain is a distributed ledger technology that uses a data structure called "blockchain" to store and manage data. Blockchain is composed of multiple blocks, each of which contains a certain amount of data and a hash value pointing to the previous block. This data structure makes blockchain decentralized, tamper-proof, and traceable, so it has broad application prospects in finance, supply chain, Internet of Things and other fields. In the blockchain system, the data stored by each node is used to record accounts separately to form a distributed ledger. The chain structure of the ledger data combined with the cryptographic algorithm ensures the time sequence relationship and information self-consistency of the data; the code (i.e., smart contract) signed and approved by the relevant nodes runs in a secure environment to ensure the neutrality and credibility of the information processing process. Based on the above principles, blockchain essentially adds trust attributes to information through redundant information processing, storage and approved business logic. Obviously, the redundancy and cross-validation process of storage, communication and processing processes lead to a significant reduction in the processing performance of the blockchain and a significant increase in resource overhead.
[0299] As mentioned above, compared with traditional database systems, blockchain technology is more complex, blockchain applications involve more stakeholders, and the developer community is smaller. Therefore, application development costs are high, deployment and maintenance are difficult, and there is a shortage of professional talent.
[0300] 2. Blockchain as a Service (BaaS);
[0301] BaaS (Blockchain as a Service) refers to deploying the blockchain engine on a cloud computing platform, leveraging the deployment and management advantages of cloud infrastructure to provide developers with a convenient, high-performance blockchain ecosystem and supporting ecological services, and supporting developers' business expansion and operational support through a blockchain open platform.
[0302] Specifically, BaaS is a technical solution that uses network and cloud services to provide blockchain capabilities and application operating environments based on customers' business needs and operation and maintenance management needs for blockchain. This solution runs the blockchain engine on a cloud computing platform and provides services to customers in the form of PaaS / SaaS (Platform as a Service or Software as a Service). Compared with a bare blockchain system, the functions provided by BaaS are mainly: quickly establishing the development environment required, providing a series of operational services such as blockchain-based search and query, transaction submission, and data analysis. These services can be either centralized or decentralized, and are used to help developers verify their concepts and models more quickly.
[0303] From the above, BaaS provides blockchain capability services and supporting services, and can provide a blockchain application innovation incubator for blockchain developers, entrepreneurs, etc.
[0304] 3. Multicast technology;
[0305] Multicast technology refers to a type of network communication in which a single sender corresponds to multiple receivers. In multicast technology, by transmitting a single information stream to multiple receivers, the network communication traffic can be reduced when multiple receivers listen to or view the same resource at the same time. Based on this, multicast technology solves the problem of achieving single-point sending and multi-point receiving with minimal network overhead; it is more efficient than broadcast and / or unicast transmission to achieve point-to-multipoint data transmission, saves network bandwidth, and reduces network load. Specifically, compared with unicast, the advantage of multicast is that since the transmitted information is copied and distributed at the network node as far away from the information source as possible, the increase in users will not lead to an increase in the load of the information source and a significant increase in network resource consumption; compared with broadcast, the advantage of multicast is that since the transmitted information is only sent to the receivers who need the information, it will not cause a waste of network resources and can improve the security of information transmission; in addition, broadcast can only be carried out in the same broadcast domain, while multicast can achieve cross-domain transmission.
[0306] Among them, multicast messages can be transmitted at the L2 layer (i.e., layer 2), which is called "layer 2 multicast", and the corresponding multicast protocol is called a layer 2 multicast protocol, including IGMP Snooping (Internet Group Management Protocol Snooping) and / or MLD Snooping (Multicast Listener Discovery Snooping), etc.; multicast messages can also be transmitted at the L3 layer (i.e., layer 3), which is called "layer 3 multicast", and the corresponding multicast protocol is called a layer 3 multicast protocol, including IGMP (Internet Group Management Protocol) and / or MLD (Multicast Listener Discovery), PIM (Protocol Independent Multicast), etc.
[0307] Specifically, cross-domain multicast refers to the process of implementing multicast transmission between multiple management domain networks in different autonomous systems (AS), involving multiple solutions such as MSDP (Multicast Source Discovery Protocol), SSM (Source-Specific Multicast), and multicast VPN (Virtual Private Network). In the Internet, an autonomous system is composed of a group of routers and the networks connecting these routers, which together constitute an independent network operating unit. The main purpose of cross-domain multicast is to enable multicast information published in an autonomous system to be transmitted to other networks across multiple autonomous systems. Cross-domain multicast needs to solve problems such as communication between routers, multicast address allocation, and router joining multicast groups.
[0308] 4. Data center interconnection technology;
[0309] Data Center Interconnect (DCI) is a network solution that achieves network interconnection across data centers. The solution has the characteristics of flexible interconnection, high efficiency and security, and simplified operation and maintenance. It meets the needs of scenarios such as efficient data exchange and disaster recovery between data centers.
[0310] Specifically, the commonly used data center interconnect technologies include the following:
[0311] 1) MPLS (Multi-Protocol Label Switching) technology: The interconnection solution based on MPLS technology requires that the interconnection network between data centers is a core network that deploys MPLS technology, so that the direct Layer 2 interconnection of data centers can be completed directly through VLL (Virtual Leased Line) and VPLS (Virtual Private LAN Service). Among them, MPLS includes Layer 2 VPN technology and Layer 3 VPN technology; VPLS protocol is Layer 2 VPN technology. The advantage of this technology is that it can relatively easily realize the deployment of metropolitan area and / or wide area networks. It has been deployed and applied in many industries, but due to the complexity of the technology, it is difficult to operate and maintain;
[0312] 2) IP (Internet Protocol) tunnel technology: It is a data packet encapsulation technology that can realize the Layer 2 interconnection of heterogeneous networks between multiple data centers;
[0313] 3) VxLAN (Virtual eXtensible Local Area Network)-DCI tunnel technology: VxLAN technology can be used to achieve Layer 2 and / or Layer 3 interconnection of multiple data center networks.
[0314] The above technologies are not mature and complete enough to support multicast protocols across the public Internet between multiple data centers. The implementation, configuration and maintenance costs are high, and it is difficult to carry out long-distance, high-reliability, and low-overhead multicast.
[0315] In addition, in the current mainstream blockchain system, peer nodes usually use the Overlay P2P (Peer to Peer) protocol to communicate with each other to improve their equality and scalability. Specifically, a P2P network is built in the blockchain, which is decentralized and coordinated by all participants. These participants have no central supervisor, but are autonomous nodes that communicate and share information by connecting to other participants. Such a network (i.e., a P2P network) can ensure the synchronization of all data on the blockchain and support a decentralized network.
[0316] Specifically, P2P networks are widely used in blockchains, which allow participants in the blockchain network to not rely on or trust each other. Each node in the blockchain network has its own equipment and software, which ensures that each node is available on the network and can communicate and synchronize data throughout the network. Furthermore, the blockchain network runs on the basis of the P2P network, controlling each node in the blockchain network to synchronously update the blockchain status and ensure joining the network to participate in the communication services in the peer-to-peer network. In this way, the P2P peer-to-peer network of the blockchain can play the greatest role and realize the true decentralization of the blockchain network.
[0317] However, blockchain is a complex system that is communication-intensive and latency-sensitive; blockchain platforms that use P2P (such as Gossip) protocols are constrained in processing latency, system capacity, and throughput, which leads to higher costs for providing and using blockchain services. Specifically:
[0318] (1) When deploying blockchain services in a single cloud data center, the P2P communication mechanism causes the following impacts: 1) Processing delay: Since the communication protocol cannot guarantee that all nodes receive messages containing ledger content within one communication cycle, the communication delay of the node that receives the message the latest becomes the bottleneck when the entire consensus is reached by relying on multiple relay forwarding by P2P nodes; 2) Resource overhead: Due to redundant communication, message forwarding by nodes as relays, and the judgment of the target node receiving duplicate messages, communication and processing resources are wasted, which causes a significant waste of the already limited system resources (especially network resources); 3) System capacity and performance: Due to the increase in latency and waste of resources, the system is prone to communication and processing bottlenecks, which in turn affects the overall capacity and performance of the system; the number of networking nodes is to some extent restricted by the existing communication mechanism, and can usually only reach a scale of dozens of nodes; this leads to further increases in the deployment and operation costs of blockchain services.
[0319] (2) When deploying blockchain services in multiple cloud data centers, the constraints brought by the P2P communication mechanism are more obvious, especially for alliance chain scenarios with high performance requirements. Specifically: (1) P2P communication is inefficient and costly when networking in multiple regions. (2) When networking across cloud data centers on a large scale, if dedicated lines are used to interconnect data centers, the number of dedicated lines will increase exponentially as the number of data centers used increases, and the communication routing and management between data centers will become complex. If the public Internet is used to connect data centers, the Internet uses a best-effort communication method, and the multiple forwarding delays of P2P communication will significantly reduce the blockchain processing throughput and processing delay. At the same time, the repeated traffic of the P2P communication method will consume a large amount of additional network bandwidth.
[0320] Based on the above, this application aims to solve the problems of low efficiency and high cost of blockchain communication solutions in the existing technology, and provides a blockchain system, such as Figure 2 As shown (only one bureau point includes two organizations and a second bureau point for illustration), including:
[0321] A first office point 1 and at least one second office point 2 capable of communicating with the first office point 1;
[0322] The first bureau point 1 includes at least one organization, and the first bureau point 1 provides blockchain services for the included organizations, and / or the second bureau point 2 includes at least one organization, and the second bureau point 2 provides blockchain services for the included organizations;
[0323] One of the organizations includes at least one blockchain node, at least one organization in the first bureau point and at least one organization in the second bureau point join the same blockchain network; the two organizations in the same bureau point communicate with each other through an intra-bureau communication module; different bureau points communicate with each other through an inter-bureau communication module;
[0324] A link management module is provided in the first office node, and the link management module is used for at least one of the following:
[0325] Manage blockchain nodes deployed in different locations;
[0326] Interact with the inter-office communication modules in each office site;
[0327] Detect and configure inter-station communication channels;
[0328] IP multicast addresses are assigned to corresponding blockchains and / or communication channels.
[0329] Among them, the above-mentioned organization can be reflected as a separate enterprise, legal person or group, or as a department in different locations (regions); the above-mentioned organization can use the same blockchain business and / or service to form a cross-regional virtual group, but is not limited to this.
[0330] The blockchain system provided in the embodiment of the present application is configured by setting a first bureau point and at least one second bureau point capable of communicating with the first bureau point; wherein the first bureau point includes at least one organization, the first bureau point provides blockchain services for the organizations included therein, and / or the second bureau point includes at least one organization, the second bureau point provides blockchain services for the organizations included therein; one of the organizations includes at least one blockchain node, at least one organization in the first bureau point and at least one organization in the second bureau point join the same blockchain network; the two organizations in the same bureau point communicate with each other through an intra-bureau communication module; different bureau points communicate with each other through an inter-bureau communication module; a chain management module is provided in the first bureau point, and the chain management module is used for at least one of the following: managing blockchain nodes deployed in different bureau points; interacting with inter-bureau communication modules in each bureau point; detecting and configuring cross-bureau communication channels; allocating IP multicast addresses for corresponding blockchains and / or communication channels; being able to support clarifying the optimal inter-bureau data forwarding path, thereby supporting shortening the transmission path and avoiding redundant transmission, thereby improving communication efficiency and reducing communication costs, and well solving the problems of low efficiency and high cost of blockchain communication solutions in the prior art.
[0331] The inter-office communication module is used for at least one of the following: forwarding path calculation (i.e. determining the data transmission path between offices); establishing inter-office communication channels; transmitting blockchain data across offices based on the established communication channels; and controlling the intra-office communication module as the multicast source and multicast tree root node of the target blockchain and / or target communication channel. This ensures the normal implementation of inter-office functions.
[0332] In the embodiment of the present application, the intra-office communication module is used for at least one of the following: serving as a multicast source and multicast tree root node for internal blockchain communication of the affiliated office point; receiving data forwarded by multicast for the target blockchain and / or target communication channel from the inter-office communication module; caching block data. This can ensure the normal implementation of intra-office functions.
[0333] The embodiment of the present application also provides a data transmission method, which is applied to the first bureau point in the above blockchain system, such as Figure 3 As shown, including:
[0334] Step 31: Use the chain management module to send a first instruction to each second bureau point in the blockchain system; the first instruction is used to instruct the second bureau point to determine an inter-bureau data forwarding path, and the first instruction carries a delay upper limit value.
[0335] The data transmission method provided in the embodiment of the present application sends a first instruction to each second bureau point in the blockchain system by utilizing a chain management module; the first instruction is used to instruct the second bureau point to determine an inter-bureau data forwarding path, and the first instruction carries an upper limit value of the delay; it can support the clarification of the optimal inter-bureau data forwarding path, thereby supporting the shortening of the transmission path and avoiding redundant transmission, thereby improving communication efficiency and reducing communication costs, and well solving the problems of low efficiency and high cost of blockchain communication solutions in the prior art.
[0336] Wherein, using the chain management module to send the first instruction to each second bureau point in the blockchain system includes: in the first case, using the chain management module to send the first instruction to each second bureau point in the blockchain system; wherein the first case includes at least one of the following: the Internet access method of the bureau point in the blockchain system changes; adding or deleting bureau points in the blockchain system; the communication delay increment of at least part of the routing links of the blockchain system is greater than the first threshold; the business is currently idle; there is a management and operation demand. This can support the confirmation of inter-bureau paths in specific cases.
[0337] Furthermore, the data transmission method further includes: allocating a multicast address according to a creation request initiated by the chain management module for the blockchain and / or the communication channel; using the chain management module, sending a second instruction to the second bureau point and / or the inter-bureau communication module of the first bureau point corresponding to the creation request; the second instruction is used to instruct the creation of a multicast forwarding tree and carry the multicast address allocated to the second bureau point; using the chain management module, receiving a second response sent by the inter-bureau communication module of the second bureau point and / or the first bureau point corresponding to the creation request. This can support the establishment of an intra-bureau multicast communication channel. Among them, the second instruction can be implemented as a creation request, and (optionally) the content in the request message can be encrypted using the communication encryption key K for a specific chain or channel encrypted by the public key of the inter-bureau communication module, but is not limited to this.
[0338] In the embodiment of the present application, before using the link management module to receive the second response sent by the inter-office communication module of the first office point corresponding to the creation request, it also includes: using the inter-office communication module to send a first notification of creating a multicast forwarding tree to the intra-office communication module of the second office point according to the second instruction; using the intra-office communication module to create a multicast forwarding tree according to the first notification; after the multicast routing is stable and the multicast forwarding tree is created, using the inter-office communication module to send a second response to the link management module. This can further support the establishment of an intra-office multicast communication channel.
[0339] Wherein, the use of the intra-office communication module to create a multicast forwarding tree according to the first notification includes: using the intra-office communication module to send a second notification to the inter-office communication module to join the multicast forwarding tree in the form of a leaf node; the second notification carries the address of the intra-office communication module and the multicast address; using the inter-office communication module, according to the second notification, to initiate a first request to join the multicast forwarding tree in the form of a leaf node to the intra-office network device of the first office point; using the intra-office network device, according to the first request, to create a multicast forwarding tree; the multicast forwarding tree uses the intra-office communication module of the first office point as the multicast source and the multicast tree root. In this way, the creation of a multicast forwarding tree can be accurately achieved.
[0340] Furthermore, the data transmission method further includes: using the intra-office communication module of the first office point to receive the message sent by the block packaging node in unicast mode; using the intra-office communication module of the first office point to forward the message to each leaf node based on the multicast forwarding tree (other related blockchain nodes (i.e., leaf nodes) in the office point can obtain blocks within one communication cycle through the multicast forwarding tree). This can support the optimization of the intra-office communication process for block broadcasting.
[0341] In the embodiment of the present application, the data transmission method further includes: using the inter-office communication module of the first office point to receive the first block message sent by other office points in the blockchain system except the first office point; using the inter-office communication module of the first office point to send the first block message to the intra-office communication module of the first office point in a unicast manner; using the intra-office communication module of the first office point to forward the first block message to each leaf node based on the multicast forwarding tree. This can support the optimization of the inter-office communication process for block broadcasting.
[0342] Furthermore, the data transmission method further includes: using the intra-office communication module in the first office point to cache the block data, so as to support the implementation of a communication compensation mechanism for packet loss and other situations.
[0343] In an embodiment of the present application, the data transmission method further includes: (1) using the chain management module to receive the first node registration information sent by the second office point, and assigning an identifier according to the first node registration information, and sending the assigned identifier to the second office point; and / or, (2) in the case of a new organization or a new blockchain node, the intra-office communication module of the first office point sends the second node registration information to the chain management module via the inter-office communication module of the first office point; using the chain management module to assign an identifier according to the second node registration information, and sending the assigned identifier to the inter-office communication module of the first office point, and the inter-office communication module of the first office point transmits it to the corresponding blockchain node via the intra-office communication module of the first office point; and / or, (3) using the The chain management module receives the first node deregistration information sent by the second office point, deletes the corresponding organization affiliation according to the first node deregistration information, obtains a first deregistration response, and sends the first deregistration response to the second office point; and / or, (4) in the case of organization deletion or blockchain node deletion, the intra-office communication module of the first office point sends the second node deregistration information to the chain management module via the inter-office communication module of the first office point; uses the chain management module to delete the corresponding organization affiliation according to the second node deregistration information, and obtains a second deregistration response; sends the second deregistration response to the inter-office communication module of the first office point, and the inter-office communication module of the first office point transmits it to the corresponding blockchain node via the intra-office communication module of the first office point. This can support the management of blockchain nodes and organizations.
[0344] The allocation of identifiers according to the node registration information includes: allocating at least one of the following identifiers according to the node registration information: (1) the station identifier of the station to which the node belongs; (2) the organization identifier of the organization to which the node belongs; (3) the node type identifier; the node type identifier is used to indicate that the node is a chain management module, an inter-station communication module, an intra-station communication module, or a blockchain node; (4) the node identifier; the node identifier includes: the node's own identifier and the identifier of the information required for the node communication; wherein the node registration information is the first node registration information or the second node registration information. This can support accurate implementation of identifier allocation.
[0345] Furthermore, the data transmission method further includes: using the chain management module to determine the status information of all current inter-office communication modules in the blockchain system to obtain a device status notification; the status information includes: identification information and corresponding communication information; using the chain management module to send the device status notification to all the inter-office communication modules in a unicast manner. In this way, device status notification can be accurately realized.
[0346] The embodiment of the present application also provides a data transmission method, which is applied to the second node in the above blockchain system, such as Figure 4 As shown, including:
[0347] Step 41: using the inter-office communication module, receiving a first instruction sent by the first office point; the first instruction is used to instruct the second office point to determine an inter-office data forwarding path, and the first instruction carries a delay upper limit value;
[0348] Step 42: according to the first instruction, using the inter-office communication module to send a first message to other second office points in the blockchain system respectively, wherein the first message is used to instruct to perform path detection;
[0349] Step 43: using the inter-office communication module, receiving a first response sent by the other second office point, where the first response carries a data forwarding path between the second office point and the other second office point determined by the other second office point;
[0350] Step 44: Determine, based on the first response, the inter-office data forwarding paths corresponding to the second office point.
[0351] Among them, the operations performed by other second bureau points in step 43 may include: sorting the same messages received from the same sender (i.e. the above-mentioned second bureau point) in chronological order of reception time, selecting the message path that arrives first, and forming a response message to feed back to the sender (i.e. the above-mentioned second bureau point), but is not limited to this.
[0352] The data transmission method provided in the embodiment of the present application receives a first instruction sent by a first office point by utilizing an inter-office communication module; the first instruction is used to instruct the second office point to determine an inter-office data forwarding path, and the first instruction carries an upper limit value of delay; according to the first instruction, the inter-office communication module is used to send a first message to other second office points in the blockchain system respectively, and the first message is used to instruct path detection; the inter-office communication module is used to receive a first response sent by the other second office points, and the first response carries the data forwarding path between the second office point and the other second office point determined by the other second office points; according to the first response, each inter-office data forwarding path corresponding to the second office point is determined; it can support clarifying the optimal inter-office data forwarding path, thereby supporting shortening the transmission path and avoiding redundant transmission, thereby improving communication efficiency and reducing communication costs, and well solving the problems of low efficiency and high cost of blockchain communication solutions in the prior art.
[0353] Furthermore, the data transmission method further includes: using the inter-office communication module to receive a second message sent by at least one other second office point, the second message is used to indicate path detection and carries a data path; if it is determined that the second office point is located on the data path, the second message is discarded; if it is determined that the second office point is not located on the data path, the identifier and current timestamp of the second office point are added to the end of the data path to obtain a third message; using the inter-office communication module to send the third message to other second office points that are not located on the data path; and obtaining the message path that first reaches the second office point for the received fourth message, obtaining a third response according to the message path, and sending the third response to the initiator of the fourth message (the initiator can subsequently obtain each data forwarding path corresponding to itself according to each received third response); wherein the fourth message refers to a message for path detection from the same initiator in at least one of the received second messages. In this way, the second office point can also support the first office point or other second office points (i.e., the initiator of the fourth message) to provide path-related responses so that the first office point or other second office points can determine each inter-office data forwarding path corresponding to themselves.
[0354] In the embodiment of the present application, the data transmission method further includes: using the inter-office communication module to receive a second instruction sent by the first office point; the second instruction is used to instruct the creation of a multicast forwarding tree and carries the multicast address assigned to the second office point; using the inter-office communication module, according to the second instruction, sending a third notification of creating a multicast forwarding tree to the intra-office communication module of the second office point; using the intra-office communication module, creating a multicast forwarding tree according to the third notification; after the multicast routing is stable and the multicast forwarding tree is created, using the inter-office communication module to send a second response to the first office point. This can support the establishment of an intra-office multicast communication channel. Among them, when forwarding the third notification, the second office point can use the private key of the inter-office communication module to decrypt, and encrypt it with the public key of the intra-office communication module before sending, but it is not limited to this.
[0355] Wherein, the use of the intra-office communication module to create a multicast forwarding tree according to the third notification includes: using the intra-office communication module to send a fourth notification to the inter-office communication module to join the multicast forwarding tree in the form of a leaf node; the fourth notification carries the address of the intra-office communication module and the multicast address; using the inter-office communication module, according to the fourth notification, to initiate a second request to join the multicast forwarding tree in the form of a leaf node to the intra-office network device of the second office point; using the intra-office network device, according to the second request, to create a multicast forwarding tree; the multicast forwarding tree uses the intra-office communication module of the second office point as the multicast source and the multicast tree root. In this way, the creation of a multicast forwarding tree can be accurately achieved.
[0356] Furthermore, the data transmission method further includes: using the intra-office communication module of the second office point to receive the message sent by the block packaging node in unicast mode; using the intra-office communication module of the second office point to forward the message to each leaf node based on the multicast forwarding tree (other related blockchain nodes (i.e., leaf nodes) in the office point can obtain blocks within one communication cycle through the multicast forwarding tree). This can support the optimization of the intra-office communication process for block broadcasting.
[0357] In the embodiment of the present application, the data transmission method further includes: using the inter-office communication module of the second office point to receive the second block message sent by other office points in the blockchain system except the second office point; using the inter-office communication module of the second office point to send the second block message to the intra-office communication module of the second office point in a unicast manner; using the intra-office communication module of the second office point to forward the second block message to each leaf node based on the multicast forwarding tree. This can support the optimization of the inter-office communication process for block broadcasting.
[0358] Furthermore, the data transmission method further includes: utilizing the intra-office communication module in the second office point to cache the block data, so as to support the implementation of a communication compensation mechanism for packet loss and other situations.
[0359] In the embodiment of the present application, the data transmission method further includes: (1) when an organization is newly added or a blockchain node is newly added, the intra-bureau communication module of the second bureau point sends the first node registration information to the first bureau point via the inter-bureau communication module of the second bureau point; the inter-bureau communication module of the second bureau point receives the identifier sent by the first bureau point, and transmits it to the corresponding blockchain node via the intra-bureau communication module of the second bureau point; and / or, (2) when an organization is deleted or a blockchain node is deleted, the intra-bureau communication module of the second bureau point sends the first node deregistration information to the first bureau point via the inter-bureau communication module of the second bureau point; the inter-bureau communication module of the second bureau point receives the first deregistration response sent by the first bureau point, and transmits it to the corresponding blockchain node via the intra-bureau communication module of the second bureau point. This can support the management of blockchain nodes and organizations.
[0360] The identifier sent by the first office includes at least one of the following: (1) the office identifier of the office to which the node belongs; (2) the organization identifier of the organization to which the node belongs; (3) the node type identifier; the node type identifier is used to indicate that the node is a chain management module, an inter-office communication module, an intra-office communication module, or a blockchain node; (4) the node identifier; the node identifier includes: the node's own identifier and the identifier of the information required for node communication. In this way, the relevant identifiers can be specifically identified.
[0361] Furthermore, the data transmission method further includes: using the inter-office communication module of the second office point to receive the device status notification sent by the first office point; the device status notification carries the status information of all inter-office communication modules in the blockchain system; the status information includes: identification information and corresponding communication information. This can support accurate implementation of device status notification.
[0362] The blockchain system and data transmission method provided in the embodiments of the present application are illustrated below.
[0363] In response to the above technical problems, the embodiments of the present application provide a blockchain system and a data transmission method, which can be specifically implemented as a blockchain system and a communication method that supports the deployment of multiple cloud data centers. It can be applicable to large-scale blockchain service networks, support networking environments that span multiple cloud data centers and autonomous domains, optimize communication mechanisms, effectively improve communication efficiency, reduce communication load, eliminate message transmission and processing redundancy, and achieve the effects of reducing system overhead, increasing system capacity, and reducing service provision costs.
[0364] This solution mainly involves: for multiple cloud data centers, one is selected as the main station (corresponding to the first station mentioned above), and a blockchain management module (corresponding to the chain management module mentioned above) is established in it, which is responsible for unified coordination and scheduling of blockchain nodes located in different stations; a multicast forwarding tree is established in each station to realize communication between blockchain nodes in the station; a group of (inter-station) communication nodes (corresponding to the inter-station communication module mentioned above) are set up in each station, and the optimal path of this solution is used to carry out communication between nodes, improve communication quality, reduce communication redundancy and overhead, so as to achieve the effect of improving the performance, capacity and quality of the entire blockchain service, and reduce the system implementation cost and operation and maintenance cost overall.
[0365] The following is a specific example to illustrate the contents involved in this plan.
[0366] 1. Description of the premise conditions that are reasonably assumed;
[0367] For ease of description, the following text uniformly refers to cloud data centers in the same region or management domain as a site.
[0368] This solution assumes the following prerequisites, which can be achieved without any threshold through the configuration of hardware and software under the current engineering technology status:
[0369] (1) All involved sites are accessible via IP (Internet Protocol) via a wide area network (e.g., an Internet connection provided by a single operator or by multiple operators);
[0370] (2) Have necessary and stable time services (such as NTP (Network Time Protocol)) to provide timestamp services for blockchain nodes in different locations;
[0371] (3) Network equipment within the cloud data center where the site is located (network equipment used for communication in the cloud data center, such as switches, routers, etc. Figure 5 (Not shown) Support multicast technology; all offices can uniformly plan IP multicast addresses for the same cloud tenant and the same blockchain service platform;
[0372] (4) As a participating member of the permissioned alliance chain, each blockchain node has a pair of public and private keys, where the private key is securely stored locally and the public key is open to the entire network; in this solution, each network element and module also has a pair of secure public and private key pairs.
[0373] In addition, the protocols, process names, numbers, enumerations, schematic diagrams, and message formats in the following text are all examples, and this solution is not limited to examples and exemplary descriptions.
[0374] 2. System structure and module function description;
[0375] This solution optimizes the communication mechanism of the blockchain system deployed in cloud data centers in multiple regions or management domains. The specific modules and networking are shown as follows: Figure 5 As shown:
[0376] The blockchain service platform across multiple sites is scheduled, managed and monitored by a centralized blockchain management module; the chain management module (i.e., blockchain management module) can be deployed at any site, and the currently deployed site is called the master site (i.e., Figure 5 In the example of node 001 in Figure 1, all nodes are functionally isomorphic except for the additional chain management module.
[0377] The components and functions of each station in this solution are described as follows:
[0378] (1) Chain management module: It is the management console of the blockchain system, used to manage chains (including: creating, deleting, viewing chains or channels); it is deployed at a local point in the blockchain system, but can uniformly manage blockchain nodes and software deployed at different local points (i.e., different cloud data centers); it also interacts with the inter-local communication nodes (i.e., inter-local communication modules) deployed inside each local point to detect and configure the wide area network cross-local communication channels; it can also allocate IP multicast addresses for the corresponding blockchains and channels; corresponding to the chain management module provided in the first local point, the chain management module is used for at least one of the following: managing blockchain nodes deployed at different local points; interacting with the inter-local communication modules in each local point; detecting and configuring cross-local communication channels; allocating IP multicast addresses for the corresponding blockchains and / or communication channels. After the IP multicast address is allocated, each blockchain + channel combination obtains an idle IP multicast address; the IP multicast address remains unchanged during the life cycle of the chain + channel; the IP multicast address can be released when the chain or the channel is deleted, but it is not limited to this.
[0379] (2) Inter-office communication module: Under the control of the chain management module, it can carry out reachability between (blockchain) nodes, forwarding path calculation and establishment of inter-office communication channels; subsequently, based on the established communication channels, it can carry out blockchain data transmission across offices; it can also control the intra-office communication module as a multicast source and root node for a specific chain or channel; the above-mentioned inter-office communication module is used for at least one of the following: forwarding path calculation; establishment of inter-office communication channels; blockchain data transmission across offices based on the established communication channels; control the intra-office communication module as a multicast source and multicast tree root node for the target blockchain and / or target communication channel.
[0380] (3) Intra-office communication module: It can serve as a multicast source and multicast tree root node for internal blockchain communication of the office, receive data for a designated chain and / or channel from the inter-office communication module for multicast forwarding; it can also cache block data for subsequent acquisition by newly added blockchain nodes, and can also serve as a compensation mechanism for multicast packet loss; corresponding to the above-mentioned intra-office communication module, it is used for at least one of the following: serving as a multicast source and multicast tree root node for internal blockchain communication of the office to which it belongs; receiving data for multicast forwarding within the target blockchain and / or target communication channel from the inter-office communication module; caching block data.
[0381] (4) Blockchain nodes: Blockchain nodes located at each bureau and belonging to different organizations can obtain multicast address information from the inter-bureau communication module according to their roles and the chains (and / or channels) they join, and join the corresponding multicast group as a multicast leaf node; (optionally) they can also support encryption of blocks sent by this node to the intra-bureau communication module of this bureau by unicast, and decryption of blocks received through multicast messages according to the security level of the chain (and / or channel); this is not limited here.
[0382] 3. The following is a further specific example to illustrate the content of this solution;
[0383] (1) Node identification and addressing design;
[0384] The chain management module deployed at the main site is responsible for the organization, deployment and management of the entire blockchain service, including site configuration, deployment and docking of various functional modules. Therefore, the chain management module is responsible for the following addressing functions:
[0385] 1) Site ID (corresponding to the site ID of the site to which the above-mentioned node belongs): Identify all sites participating in the blockchain service network one by one, such as using a 3-digit number;
[0386] 2) Equipment type identification (corresponding to the above node type identification): Classify and distinguish according to the modules involved in the system that need to be deployed, configured and monitored by the chain management module, such as: using 2 digits; 00-chain management module, 01-inter-office communication module, 02-intra-office communication module, 11-blockchain business node (i.e. blockchain node);
[0387] 3) Organization ID (corresponding to the organization ID of the above node): uniquely identifies an organization (an organization is a set of blockchain nodes that join a specific chain and / or a specific channel), such as a 3-digit number;
[0388] 4) Device identification (corresponding to the above node identification), including the following information:
[0389] a) Device ID (corresponding to the node identifier mentioned above); to avoid ID duplication, the device can generate a GUID (globally unique identifier) by itself; this solution only uses non-repeating digital numbers as an example;
[0390] b) Information required to communicate with the device (such as address, port, protocol, certificate, etc.; identifiers corresponding to the information required for the above node communication); Due to cloud data center networking issues, blockchain nodes are usually not assigned public network addresses, so communications with blockchain nodes will be forwarded by the intra-office communication module of the corresponding office point;
[0391] Based on the above addressing method, some examples of node addressing information are as follows:
[0392] Table 1 Node identification example
[0393]
[0394]
[0395] (2) Business process and message design;
[0396] This solution designs the following business processes:
[0397] A) Equipment management;
[0398] The purpose of the device registration process is to allow the chain management module to maintain information such as all node identification, topology, online status, and communication paths in this blockchain service network.
[0399] 1) Device registration (message type 91), device addressing message (message type 92): Interaction between blockchain nodes and chain management modules to achieve dynamic node addition; triggered when an organization (at this bureau or other bureaus) or blockchain node is added. When an organization is created or adds a node, the intra-bureau communication module sends the node registration information to the chain management module via the inter-bureau communication module; the chain management module assigns identification information to the device according to the rules, and responds to the (corresponding) blockchain node through an addressing message (organization creation may also involve adding a new node to the organization). Figure 6 The figure shows the communication process between a blockchain node and a chain management module, which includes the following steps:
[0400] Step 0. Blockchain node (00211007139116) confirms joining organization 007;
[0401] Step 1. The blockchain node (00211007139116) sends a device registration message
[91] to the intra-office communication node (00201000139111), carrying the ID.
[0402] Step 2. After authentication, the intra-office communication node (00201000139111) forwards the device registration message
[91] to the inter-office communication node (00201000139110), and fills its own communication address into the communication information CI;
[0403] Step 3. The inter-office communication node (00201000139110) forwards the device registration message
[91] to the chain management module (00100000139139) after authentication;
[0404] Step 4. The chain management module (00100000139139) addresses the node, records the information and responds;
[0405] Step 5. The chain management module (00100000139139) responds to the device addressing message
[92] to the inter-office communication node (00201000139110);
[0406] Step 6. The inter-office communication node (00201000139110) records the addressing information and forwards the message
[92] to the intra-office communication node (00201000139111);
[0407] Step 7. The intra-office communication node (00201000139111) records the addressing information and forwards the message
[92] to the blockchain node (00211007139116);
[0408] Step 8. The blockchain node (00211007139116) records the addressing information.
[0409] The above steps 3-8 may correspond to the first bureau point using the chain management module to receive the first node registration information sent by the second bureau point, and assign an identifier based on the first node registration information, and send the assigned identifier to the second bureau point; it may also correspond to the second bureau point's intra-bureau communication module sending the first node registration information to the first bureau point via the inter-bureau communication module of the second bureau point; the inter-bureau communication module of the second bureau point is used to receive the identifier sent by the first bureau point, and transmit it to the corresponding blockchain node through the intra-bureau communication module of the second bureau point.
[0410] 2) Device deregistration (message type 93), device deregistration response message (message type 94): interact between blockchain nodes and chain management modules to realize dynamic exit of nodes; triggered when organizations and blockchain nodes are deleted. When organizations delete or organizations delete nodes, the intra-bureau communication module sends node deregistration information to the chain management module via the inter-bureau communication module; and the chain management module deletes the device and organization affiliation relationship, and responds to the (corresponding) blockchain node (organization deletion may also involve node deletion in the organization). This part of the operation may correspond to the first bureau point using the chain management module to receive the first node deregistration information sent by the second bureau point, and delete the corresponding organization affiliation according to the first node deregistration information, obtain the first deregistration response, and send the first deregistration response to the second bureau point; it may also correspond to the intra-bureau communication module of the second bureau point sending the first node deregistration information to the first bureau point via the inter-bureau communication module of the second bureau point; the inter-bureau communication module of the second bureau point receives the first deregistration response sent by the first bureau point, and transmits it to the corresponding blockchain node through the intra-bureau communication module of the second bureau point.
[0411] 3) Device status notification (message type 99): Interacts between blockchain nodes and inter-office communication modules to enable all inter-office communication modules to understand each other's communication information. Specifically, when creating a station, the chain management module can deploy corresponding inter-office communication nodes, configure node identifiers and related communication information (CI) for each station based on the data of each station; when all inter-office communication module information is collected or the deployment of inter-office communication modules is changed, the chain management module sends a device status notification message to all inter-office communication modules in IP unicast mode. Through this status notification message, all inter-office communication modules can discover each other and know each other's communication information CI. The status notification message contains the following information:
[0412] Table 2 Device status notification message example
[0413]
[0414] The process of this part of the device status notification can correspond to the first office point using the chain management module to determine the status information of all the current inter-office communication modules in the blockchain system and obtain the device status notification; the status information includes: identification information and corresponding communication information; using the chain management module, the device status notification is sent to all the inter-office communication modules in a unicast manner. It can also correspond to the second office point using the inter-office communication module of the second office point to receive the device status notification sent by the first office point; the device status notification carries the status information of all the inter-office communication modules in the blockchain system; the status information includes: identification information and corresponding communication information.
[0415] B) Establishment of optimized inter-office communication channels across the Internet;
[0416] After the device status notification process is completed, the inter-office communication modules in the entire blockchain system have completed neighbor discovery. The next step is to select the inter-office communication channel of the wide area network under the command of the chain management module.
[0417] 1) Start the routing process (message type 98): The chain management module initiates a start routing instruction (corresponding to the above-mentioned first instruction) to each inter-office communication module, and the routing instruction contains a maximum delay value T (corresponding to the above-mentioned first office point using the chain management module to send the first instruction to each second office point in the blockchain system; the first instruction is used to instruct the second office point to determine the inter-office data forwarding path, and the first instruction carries the upper limit of the delay); after each inter-office communication module receives the message (corresponding to the above-mentioned second office point using the inter-office communication module to receive the first instruction sent by the first office point), it selects a random number between 0 and T seconds as the delay and starts routing detection;
[0418] Each inter-office communication module needs to go through the following process to obtain the optimal forwarding path from itself to other inter-office communication modules. The optimal path can be a comprehensive weighted calculation result of multiple factors such as delay and link cost, but here because all links are forwarded via the Internet, the following embodiment only considers the shortest delay factor.
[0419] 2) Path detection (message type 97): Each inter-office communication module uses the instruction to initiate path detection, and sends a path detection message to all other inter-office communication modules respectively (corresponding to the second office point sending the first message to other second office points in the blockchain system respectively using the inter-office communication module according to the first instruction, and the first message is used to instruct path detection). The message format is as follows:
[0420] Table 3 Example of initial routing detection message of the initiator's inter-office communication module
[0421]
[0422] Each inter-office communication module that receives the routing detection message (97) performs the following operations: Determine whether it is in the list of passers-by:
[0423] a) If it is located, discard the message;
[0424] b) If it is not in the list of passers-by, then add its own identification and current timestamp to the end of the list of passers-by; and forward it to the inter-office communication module that is not in the list of passers-by in sequence. The specific message format is as follows:
[0425] Table 4 Example of a routing detection message sent by station 002, forwarded by station 003, and received by station 004
[0426]
[0427]
[0428] Each inter-office communication module sorts the received identical messages from the same sender (i.e., sequence number 1 in the list of passers-by) in chronological order of reception time, selects the message path that arrives first (i.e., the list of inter-office communication modules in the list of passers-by), and forms a routing response (96) message response to the sender (i.e., sequence number 1 in the list of passers-by); corresponding to the above-mentioned second office point, using the inter-office communication module, receives the first response sent by the other second office point, the first response carrying the data forwarding path between the second office point and the other second office point determined by the other second office point;
[0429] The above operations performed according to the routing detection message (97) may also correspond to the above-mentioned use of the inter-office communication module to receive a second message sent by at least one other second office point, the second message being used to indicate path detection and carrying a data path; when it is determined that the second office point is located on the data path, the second message is discarded; when it is determined that the second office point is not located on the data path, the identifier and current timestamp of the second office point are added to the end of the data path to obtain a third message; the inter-office communication module is used to send the third message to other second office points that are not located on the data path respectively; and for the received fourth message, the message path that first arrives at the second office point is obtained, a third response is obtained according to the message path, and the third response is sent to the initiator of the fourth message; wherein the fourth message refers to a message for path detection from the same initiator in at least one of the received second messages.
[0430] 3) Routing response (message type 96): This message is responded to by each inter-office communication module to the sender. The message example is as follows:
[0431] Table 5 Example of a routing response message sent by station 004 to station 002
[0432]
[0433]
[0434] Once the above 96 message is received, the inter-office communication module of the office point 002 establishes the forwarding path of 002-->003-->004; after collecting the responses of all the inter-office communication modules, the office point 002 constructs the WAN optimization path forwarding table (corresponding to the above second office point determining the inter-office data forwarding paths corresponding to the second office point according to the first response), as shown in the following example:
[0435] Table 6 Example of routing table formed by station 002
[0436]
[0437]
[0438] All bureaus will establish a WAN optimization path forwarding table similar to the one in the above table, thus forming an optimized blockchain message forwarding channel across the Internet.
[0439] The above B) process may be triggered in the following multiple situations (corresponding to the above first situation, using the chain management module to send the first instruction to each second bureau point in the blockchain system):
[0440] a. The Internet access method of a specific point changes; corresponding to the change of the Internet access method of the point in the above blockchain system;
[0441] b. Add or delete a point; corresponding to the above-mentioned addition or deletion of a point in the blockchain system;
[0442] c. When it is found that the communication delay on some routing links has increased significantly; the communication delay increment corresponding to at least some routing links of the above blockchain system is greater than the first threshold;
[0443] d. Active triggering during the business idle period; corresponding to the current business idle period mentioned above;
[0444] e. Other scenarios required for management and operation; corresponding to the above management and operation requirements.
[0445] C) Establishment of intra-office multicast communication channels;
[0446] The chain management module is responsible for creating chains and channels, and adding blockchain nodes to designated chains and channels to form a consortium chain targeting specific user groups and specific businesses.
[0447] The process of establishing links and channels and constructing a multicast forwarding tree can be as follows: Figure 7 As shown, the following steps are included:
[0448] First, enable multicast protocol support (such as PIM-SM (Protocol Independent Multicast-Sparse Mode) or PIM-DM (Protocol Independent Multicast Dense Mode), IGMP or IGMP-Snooping, etc.) on each intra-office network device in advance; then perform the following steps:
[0449] Step 1. The chain administrator (corresponding to the first bureau point) initiates a chain and channel creation request through the chain management module, and after completing the relevant configuration, allocates a multicast address G (corresponding to the above-mentioned allocation of a multicast address according to the creation request initiated by the chain management module for the blockchain and / or communication channel);
[0450] Step 2. After the chain management module completes the chain and channel creation related processing, it initiates a request for the creation of a corresponding multicast channel to the inter-office communication module of the relevant bureau point x (which can be the above-mentioned first bureau point or the second bureau point) (i.e., notifies the inter-office communication module; corresponding to the above-mentioned first bureau point, the chain management module is used to send a second instruction to the second bureau point and / or the inter-office communication module of the first bureau point corresponding to the creation request; the second instruction is used to instruct the creation of a multicast forwarding tree and carries the multicast address assigned to the second bureau point; the above-mentioned second bureau point uses the inter-office communication module to receive the second instruction sent by the first bureau point; the second instruction is used to instruct the creation of a multicast forwarding tree and carries the multicast address assigned to the second bureau point), and (optionally) the content in the request message is encrypted using the communication encryption key K for a specific chain and channel encrypted by the public key of the inter-office communication module of the bureau point x;
[0451] Step 3. The inter-office communication module x notifies the corresponding intra-office communication module y; when forwarding the message, it (optionally) uses its own private key to decrypt to obtain K, and encrypts K with the public key of the intra-office communication module y;
[0452] This step may correspond to the first office point utilizing the inter-office communication module to send a first notification of creating a multicast forwarding tree to the intra-office communication module of the second office point according to the second instruction; and may also correspond to the second office point utilizing the inter-office communication module to send a third notification of creating a multicast forwarding tree to the intra-office communication module of the second office point according to the second instruction.
[0453] Step 4. The intra-office communication module y serves as a multicast source and a multicast tree root to prepare for establishing a multicast tree. The intra-office network device can be used in correspondence with the first office point to create a multicast forwarding tree according to the first request. The multicast forwarding tree uses the intra-office communication module of the first office point as the multicast source and the multicast tree root. The intra-office network device can also be used in correspondence with the second office point to create a multicast forwarding tree according to the second request. The multicast forwarding tree uses the intra-office communication module of the second office point as the multicast source and the multicast tree root.
[0454] Step 5. The intra-office communication module y notifies the relevant blockchain nodes to join the (S, G) multicast tree as leaves;
[0455] Specifically, the intra-office communication module y notifies each relevant blockchain node in a unicast manner of its own address S, the multicast communication address G, and (optionally) the multicast communication encryption key K encrypted using the public key of the corresponding blockchain node;
[0456] Step 4-5 may correspond to the first office point using the intra-office communication module to create a multicast forwarding tree according to the first notification; or may correspond to the second office point using the intra-office communication module to create a multicast forwarding tree according to the third notification;
[0457] Step 6. Blockchain node xy turns on multicast (function) and joins the (S, G) multicast tree as a leaf;
[0458] Specifically, blockchain node xy parses the message to obtain the information (S, G) and (optional) multicast communication encryption key required for establishing a multicast route, and initiates a multicast join request to (or for) (S, G);
[0459] Step 7. Blockchain node xy initiates a request to join the multicast tree to the upstream network device (internal network device xz);
[0460] Specifically, after the intra-office network device xz adjacent to the blockchain node xy recognizes the multicast join request sent by the blockchain node xy, it can initiate a multicast join request in the direction of S;
[0461] Step 8. The intra-office communication module y notifies the inter-office communication module x to join the (S, G) multicast tree as a leaf;
[0462] Specifically, the intra-office communication module y notifies the inter-office communication module x of its own address S, the multicast communication address G (i.e., the multicast address), and (optionally) the multicast communication encryption key K encrypted using the public key of the receiver (inter-office communication module x);
[0463] This step may correspond to the first office point using the intra-office communication module to send a second notification to the inter-office communication module to join the multicast forwarding tree in the form of a leaf node; the second notification carries the address of the intra-office communication module and the multicast address; the second office point may also correspond to the second office point using the intra-office communication module to send a fourth notification to the inter-office communication module to join the multicast forwarding tree in the form of a leaf node; the fourth notification carries the address of the intra-office communication module and the multicast address;
[0464] Step 9. The inter-office communication module x initiates a request to join the multicast tree to the upstream network device (inter-office network device xz);
[0465] Specifically, after the intra-office network device adjacent to the inter-office communication module x recognizes the multicast join request sent by the inter-office communication module x, it can initiate a multicast join request in the direction of S;
[0466] This step may correspond to the first office point using the inter-office communication module to initiate a first request to join the multicast forwarding tree in the form of a leaf node to the intra-office network device of the first office point according to the second notification; and may correspond to the second office point using the inter-office communication module to initiate a second request to join the multicast forwarding tree in the form of a leaf node to the intra-office network device of the second office point according to the fourth notification;
[0467] Step 10. The intra-office network device xz establishes a multicast tree level by level;
[0468] Specifically, a multicast forwarding tree with S as the source and G as the target is formed on the intra-office network device xz; wherein, "establishing step by step" can be understood as establishing according to the origin path of the received message, but is not limited to this.
[0469] Step 11. After the multicast routing is stable and the multicast tree is established (i.e., the multicast stream of (S, G) is received), the inter-office communication module x sends a channel establishment completion response (i.e., processing completion notification) to the chain management module; the chain management module may be used in correspondence with the first office point to receive a second response sent by the second office point and / or the inter-office communication module of the first office point corresponding to the creation request; the first office point may send a second response to the chain management module by using the inter-office communication module after the multicast routing is stable and the multicast forwarding tree is established; the second office point may also send a second response to the first office point by using the inter-office communication module after the multicast routing is stable and the multicast forwarding tree is established.
[0470] In the above process, only the process of creating chains and channels is described; when deleting channels and chains, the multicast IP address is released (specifically, it can be initiated by the bureau where the chain management module is located, the network equipment within the bureau, or the blockchain node itself). For details, please refer to the above process and will not be repeated here.
[0471] D) Optimized communication process for block broadcasting;
[0472] After completing the above process, the following Figure 8 The communication mode shown (taking the example of site x creating a block and needing to notify other site y):
[0473] 1) Source end office: In office point x, a multicast forwarding tree is formed with the intra-office communication module y as the multicast source and multicast tree root, and the inter-office communication module x and the blockchain nodes associated with the specific chain and channel as the multicast tree leaves; the block packaging node unicasts the message to the intra-office communication module y [①], and other related blockchain nodes in the office point can obtain the block within a communication cycle through the multicast forwarding tree [②]; the intra-office communication module of the first office point can be used to receive the message sent by the block packaging node in unicast mode corresponding to the above-mentioned first office point; the intra-office communication module of the first office point is used to forward the message to each leaf node based on the multicast forwarding tree; the intra-office communication module of the second office point can also be used to receive the message sent by the block packaging node in unicast mode corresponding to the above-mentioned second office point; the intra-office communication module of the second office point is used to forward the message to each leaf node based on the multicast forwarding tree.
[0474] 2) Inter-office: Between office points x and y, an optimized unicast message sending path [③] is established based on process B);
[0475] 3) Target end office: In office point y, the inter-office communication module x receives the block message from other office ends, and then sends it to the intra-office communication module y in unicast mode [④], and other relevant blockchain nodes in the office point can obtain the block within one communication cycle through the multicast forwarding tree [⑤]; corresponding to the above-mentioned first office point, the inter-office communication module of the first office point can be used to receive the first block message sent by other office points in the blockchain system except the first office point; the inter-office communication module of the first office point is used to send the first block message to the intra-office communication module of the first office point in unicast mode; the intra-office communication module of the first office point is used to forward the first block message to each leaf node based on the multicast forwarding tree; the inter-office communication module of the second office point can also be used to receive the second block message sent by other office points in the blockchain system except the second office point in accordance with the above-mentioned second office point; the inter-office communication module of the second office point is used to send the second block message to the intra-office communication module of the second office point in unicast mode; the intra-office communication module of the second office point is used to forward the second block message to each leaf node based on the multicast forwarding tree.
[0476] It should be noted that, considering that multicast uses the UDP protocol (User Datagram Protocol) and there is packet loss, and the blockchain node may be overloaded and unable to receive correctly at the multicast time, this solution also designs a communication compensation mechanism: each intra-office communication module is equipped with a block storage library to cache block data for specific chains and channels (it can correspond to the above-mentioned first office point using the intra-office communication module within the first office point to cache block data; it can also correspond to the above-mentioned second office point using the intra-office communication module within the second office point to cache block data), so that the blockchain node that detects the missing block can directly obtain it in unicast mode.
[0477] For the above process, the block loss detection method not only supports the identification and compensation of a single block loss, but also the identification of multiple continuous or discontinuous block losses. The above method is not only applicable to occasional multicast packet loss scenarios, but also to scenarios where blockchain nodes are offline for a long time or resume work after disconnection, and can quickly compensate for block losses during the offline period.
[0478] From the above, the method and system for communication of a multi-regional networked blockchain system proposed in this application can improve the communication efficiency across regions, across cloud data centers, and across management domains by using the inter-office communication link optimization mechanism without modifying the main process of the blockchain business, avoiding the additional bandwidth occupation caused by repeated transmission caused by the use of P2P mode in the inter-office link and the problem that the P2P communication link is not controlled by the business and management system; it can also use IP multicast technology within the office to effectively improve communication efficiency, reduce communication load, and eliminate message transmission and processing redundancy; the combination of these two measures can achieve the effect of reducing system overhead, increasing system capacity and networking scale, shortening the consensus formation delay in the blockchain system, and reducing the cost of providing a single business. It is an important technical solution for building a large-scale, low-cost, universal and high-information security protection blockchain infrastructure.
[0479] Specifically, this plan mainly involves:
[0480] (1) An optimization of the communication mechanism of a large-scale blockchain system that is cross-regional, cross-cloud data center, and provides network connectivity via the Internet. For scenarios where deployment is done at a local site, an inter-site unicast (e.g. Figure 8 [③] in the above), the construction and communication method of blockchain system combined with intra-office multicast system; significantly reducing the communication volume, block propagation delay and accounting node processing workload;
[0481] (2) Inter-office unicast communication channel optimization algorithms, protocols, and process methods for the above mechanisms, including: device addressing, mutual discovery between devices, communication channel optimization mechanism, etc.;
[0482] (3) Establishment and communication method of intra-office multicast communication channel for the above mechanism, including: multicast address allocation, communication channel establishment process, improved normal process of communication between blockchain nodes, and efficient compensation process added based on this;
[0483] (4) The above mechanisms, methods and processes provide on-demand and optional confidentiality protection methods, mechanisms and processes during block communication, including: encryption methods, key distribution, encrypted communication methods, etc.
[0484] In addition, compared with existing solutions (such as the need to build dedicated lines, VPNs or L2 logical links across data centers when the BaaS blockchain capability platform is multi-cloud, multi-data center and multi-point networking), this solution has been comprehensively improved in terms of architecture, system, mechanism, and device. The main technical advantages are reflected in:
[0485] (1) The design of a large-scale blockchain service system that is cross-regional, cross-cloud data center, and provides network connectivity via the Internet has a more reasonable architecture. The newly added communication devices and mechanisms effectively solve the problems of low efficiency and high cost of P2P communication methods, which is more conducive to expanding the scale of the alliance chain platform, simplifying operation and maintenance, and reducing development difficulty and deployment costs;
[0486] (2) A new blockchain communication method, process and protocol combining unicast and multicast. Through this solution, the inter-office communication achieves the effect of saving unicast communication traffic and reducing communication delay; within the office, a multicast forwarding channel is constructed with the communication node as the root and the blockchain node as the leaf, so that all blockchain nodes can reliably obtain block data through a single multicast; (optional) the confidentiality problem of the block distribution process is solved through encrypted communication, and reliable communication and fast synchronization of ledgers are achieved through the compensation process;
[0487] (3) Effectively reduce redundant block communication traffic, redundant P2P forwarding overhead of each node, and the overhead of each node parsing and judging the received duplicate messages;
[0488] (4) Compatible with existing blockchain systems. There is no need to reconstruct the functions of the blockchain system and nodes. It can be implemented by simply replacing the communication functions of some modules and adding new devices.
[0489] (5) Based on the above optimization, the system communication and processing bottlenecks are resolved, thereby improving the overall capacity and performance of the system. After preliminary simulation, the number of networking nodes can be expanded to several hundred nodes per bureau, reducing the deployment and operation costs of blockchain services.
[0490] In summary, the multicast communication mechanism, method, device and process proposed in this scheme fundamentally avoid the problems of large communication volume, frequent repeated transmission, long convergence time and large overhead of each node caused by block release based on the P2P overlay network method, and reduce the resource overhead of each node and the network between nodes from the perspective of architecture and mechanism. It breaks through the network, performance and cost bottlenecks for building a consortium chain platform with more than hundreds of nodes, and is a necessary technology for building blockchain capabilities for the new infrastructure information infrastructure for the whole society.
[0491] The embodiment of the present application also provides a data transmission device, which is applied to the first bureau point in the above blockchain system, such as Fig. 9 As shown, including:
[0492] The first sending module 91 is used to use the chain management module to send a first instruction to each second office point in the blockchain system; the first instruction is used to instruct the second office point to determine an inter-office data forwarding path, and the first instruction carries a delay upper limit value.
[0493] The data transmission device provided in the embodiment of the present application sends a first instruction to each second office point in the blockchain system by utilizing a chain management module; the first instruction is used to instruct the second office point to determine an inter-office data forwarding path, and the first instruction carries an upper limit value of the delay; it can support the clarification of the optimal inter-office data forwarding path, thereby supporting the shortening of the transmission path and avoiding redundant transmission, thereby improving communication efficiency and reducing communication costs, and well solving the problems of low efficiency and high cost of blockchain communication solutions in the prior art.
[0494] Among them, using the chain management module to send a first instruction to each second bureau point in the blockchain system includes: in a first case, using the chain management module to send a first instruction to each second bureau point in the blockchain system; wherein the first case includes at least one of the following: the Internet access method of a bureau point in the blockchain system changes; adding or deleting a bureau point in the blockchain system; the communication delay increment of at least part of the routing links of the blockchain system is greater than a first threshold; it is currently in a business idle period; there is a management and operation demand.
[0495] Furthermore, the data transmission device also includes: a first allocation module, used to allocate multicast addresses according to the creation request initiated by the chain management module for the blockchain and / or the communication channel; a second sending module, used to use the chain management module to send a second instruction to the second office point corresponding to the creation request and / or the inter-office communication module of the first office point; the second instruction is used to instruct the creation of a multicast forwarding tree and carry the multicast address allocated to the second office point; a first receiving module, used to use the chain management module to receive a second response sent by the second office point and / or the inter-office communication module of the first office point corresponding to the creation request.
[0496] In an embodiment of the present application, the data transmission device further includes: a third sending module, which is used to use the inter-office communication module to send a first notification of creating a multicast forwarding tree to the intra-office communication module of the second office point according to the second instruction before using the chain management module to receive the second response sent by the inter-office communication module of the first office point corresponding to the creation request; a first creation module, which is used to use the intra-office communication module to create a multicast forwarding tree according to the first notification; and a fourth sending module, which is used to use the inter-office communication module to send a second response to the chain management module after the multicast routing is stable and the multicast forwarding tree is created.
[0497] Among them, the use of the intra-office communication module to create a multicast forwarding tree according to the first notification includes: using the intra-office communication module to send a second notification to the inter-office communication module to join the multicast forwarding tree in the form of a leaf node; the second notification carries the address of the intra-office communication module and the multicast address; using the inter-office communication module, according to the second notification, initiating a first request to the intra-office network device of the first office point to join the multicast forwarding tree in the form of a leaf node; using the intra-office network device, according to the first request, creating a multicast forwarding tree; the multicast forwarding tree uses the intra-office communication module of the first office point as the multicast source and the multicast tree root.
[0498] Furthermore, the data transmission device also includes: a second receiving module, used to use the intra-office communication module of the first office point to receive the message sent by the block packaging node in unicast mode; a fifth sending module, used to use the intra-office communication module of the first office point to forward the message to each leaf node based on the multicast forwarding tree.
[0499] In the embodiment of the present application, the data transmission device also includes: a third receiving module, used to use the inter-office communication module of the first office point to receive the first block message sent by other office points in the blockchain system except the first office point; a sixth sending module, used to use the inter-office communication module of the first office point to send the first block message to the intra-office communication module of the first office point in a unicast manner; a seventh sending module, used to use the intra-office communication module of the first office point to forward the first block message to each leaf node based on the multicast forwarding tree.
[0500] Furthermore, the data transmission device also includes: a first cache module, used to cache block data using the intra-office communication module in the first office point.
[0501] In the embodiment of the present application, the data transmission device further includes: a first transceiver processing module, which is used to (1) use the chain management module to receive the first node registration information sent by the second office point, and assign an identifier according to the first node registration information, and send the assigned identifier to the second office point; and / or, (2) when an organization is added or a blockchain node is added, the intra-office communication module of the first office point sends the second node registration information to the chain management module via the inter-office communication module of the first office point; use the chain management module to assign an identifier according to the second node registration information, and send the assigned identifier to the inter-office communication module of the first office point, and the inter-office communication module of the first office point transmits it to the corresponding blockchain node via the intra-office communication module of the first office point; and / or, (3 ) using the chain management module to receive the first node deregistration information sent by the second bureau point, and deleting the corresponding organizational affiliation according to the first node deregistration information to obtain a first deregistration response, and sending the first deregistration response to the second bureau point; and / or, (4) in the case of organization deletion or blockchain node deletion, the intra-bureau communication module of the first bureau point sends the second node deregistration information to the chain management module via the inter-bureau communication module of the first bureau point; using the chain management module, deleting the corresponding organizational affiliation according to the second node deregistration information to obtain a second deregistration response; sending the second deregistration response to the inter-bureau communication module of the first bureau point, and the inter-bureau communication module of the first bureau point transmits it to the corresponding blockchain node via the intra-bureau communication module of the first bureau point.
[0502] The step of allocating identifiers based on the node registration information includes: allocating at least one of the following identifiers based on the node registration information: (1) an identifier of the bureau to which the node belongs; (2) an organization identifier of the organization to which the node belongs; (3) a node type identifier; the node type identifier is used to indicate that the node is a chain management module, an inter-bureau communication module, an intra-bureau communication module, or a blockchain node; (4) a node identifier; the node identifier includes: an identifier of the node itself and an identifier of information required for node communication; the node registration information is the first node registration information or the second node registration information.
[0503] Furthermore, the data transmission device also includes: a first determination module, used to use the chain management module to determine the status information of all current inter-office communication modules in the blockchain system to obtain a device status notification; the status information includes: identification information and corresponding communication information; an eighth sending module, used to use the chain management module to send the device status notification to all the inter-office communication modules in a unicast manner.
[0504] Among them, the implementation embodiments of the data transmission method on the first office point side are all applicable to the embodiments of the data transmission device and can achieve the same technical effect.
[0505] The embodiment of the present application also provides a data transmission device, which is applied to the second bureau point in the above blockchain system, such as Fig.10 As shown, including:
[0506] The fourth receiving module 101 is used to receive a first instruction sent by a first office point using an inter-office communication module; the first instruction is used to instruct the second office point to determine an inter-office data forwarding path, and the first instruction carries a delay upper limit value;
[0507] A ninth sending module 102, configured to send a first message to other second bureau points in the blockchain system respectively by using the inter-bureau communication module according to the first instruction, wherein the first message is used to instruct to perform path detection;
[0508] A fifth receiving module 103, configured to receive, by using the inter-office communication module, a first response sent by the other second office point, wherein the first response carries a data forwarding path between the second office point and the other second office point determined by the other second office point;
[0509] The second determination module 104 is used to determine, according to the first response, each inter-office data forwarding path corresponding to the second office point.
[0510] The data transmission device provided in the embodiment of the present application receives a first instruction sent by a first office point by utilizing an inter-office communication module; the first instruction is used to instruct the second office point to determine an inter-office data forwarding path, and the first instruction carries an upper limit value of delay; according to the first instruction, the inter-office communication module is used to send a first message to other second office points in the blockchain system respectively, and the first message is used to instruct path detection; the inter-office communication module is used to receive a first response sent by the other second office points, and the first response carries the data forwarding path between the second office point and the other second office point determined by the other second office point; according to the first response, each inter-office data forwarding path corresponding to the second office point is determined; it can support clarifying the optimal inter-office data forwarding path, thereby supporting shortening the transmission path and avoiding redundant transmission, thereby improving communication efficiency and reducing communication costs, and well solving the problems of low efficiency and high cost of blockchain communication solutions in the prior art.
[0511] Furthermore, the data transmission device also includes: a sixth receiving module, used to use the inter-office communication module to receive a second message sent by at least one other second office point, the second message is used to indicate path detection and carry a data path; a first processing module, used to discard the second message when it is determined that the second office point is located in the data path; a second transceiver processing module, used to add the identifier and current timestamp of the second office point to the end of the data path when it is determined that the second office point is not located in the data path, to obtain a third message; use the inter-office communication module to send the third message to other second office points that are not located in the data path respectively; and obtain the message path that first arrives at the second office point for the received fourth message, obtain a third response according to the message path, and send the third response to the initiator of the fourth message; wherein the fourth message refers to a message for path detection from the same initiator in at least one of the received second messages.
[0512] In an embodiment of the present application, the data transmission device further includes: a seventh receiving module, used to use the inter-office communication module to receive a second instruction sent by the first office point; the second instruction is used to instruct the creation of a multicast forwarding tree and carry the multicast address assigned to the second office point; a tenth sending module, used to use the inter-office communication module to send a third notification of creating a multicast forwarding tree to the intra-office communication module of the second office point according to the second instruction; a second creation module, used to use the intra-office communication module to create a multicast forwarding tree according to the third notification; and an eleventh sending module, used to use the inter-office communication module to send a second response to the first office point after the multicast routing is stable and the multicast forwarding tree is created.
[0513] Among them, the use of the intra-office communication module to create a multicast forwarding tree according to the third notification includes: using the intra-office communication module to send a fourth notification to the inter-office communication module to join the multicast forwarding tree in the form of a leaf node; the fourth notification carries the address of the intra-office communication module and the multicast address; using the inter-office communication module, according to the fourth notification, initiating a second request to join the multicast forwarding tree in the form of a leaf node to the intra-office network device of the second office point; using the intra-office network device, according to the second request, creating a multicast forwarding tree; the multicast forwarding tree uses the intra-office communication module of the second office point as the multicast source and the multicast tree root.
[0514] Furthermore, the data transmission device also includes: an eighth receiving module, used to use the intra-office communication module of the second office point to receive the message sent by the block packaging node in unicast mode; a twelfth sending module, used to use the intra-office communication module of the second office point to forward the message to each leaf node based on the multicast forwarding tree.
[0515] In the embodiment of the present application, the data transmission device also includes: a ninth receiving module, used to use the inter-office communication module of the second office point to receive the second block message sent by other office points in the blockchain system except the second office point; a thirteenth sending module, used to use the inter-office communication module of the second office point to send the second block message to the intra-office communication module of the second office point in a unicast manner; a fourteenth sending module, used to use the intra-office communication module of the second office point to forward the second block message to each leaf node based on the multicast forwarding tree.
[0516] Furthermore, the data transmission device also includes: a second cache module, used to cache block data using the intra-office communication module in the second office point.
[0517] In an embodiment of the present application, the data transmission device further includes: a first transceiver module, which is used for (1) when an organization is added or a blockchain node is added, the intra-office communication module of the second office point sends the first node registration information to the first office point via the inter-office communication module of the second office point; using the inter-office communication module of the second office point to receive the identifier sent by the first office point, and transmitting it to the corresponding blockchain node via the intra-office communication module of the second office point; and / or, (2) when an organization is deleted or a blockchain node is deleted, the intra-office communication module of the second office point sends the first node de-registration information to the first office point via the inter-office communication module of the second office point; using the inter-office communication module of the second office point to receive the first de-registration response sent by the first office point, and transmitting it to the corresponding blockchain node via the intra-office communication module of the second office point.
[0518] The identifier sent by the first bureau includes at least one of the following: (1) the bureau identifier of the bureau to which the node belongs; (2) the organization identifier of the organization to which the node belongs; (3) the node type identifier; the node type identifier is used to indicate that the node is a chain management module, an inter-bureau communication module, an intra-bureau communication module or a blockchain node; (4) the node identifier; the node identifier includes: the node's own identifier and the identifier of the information required for node communication.
[0519] Furthermore, the data transmission device also includes: a tenth receiving module, used to use the inter-office communication module of the second office point to receive the device status notification sent by the first office point; the device status notification carries the status information of all the inter-office communication modules in the blockchain system; the status information includes: identification information and corresponding communication information.
[0520] Among them, the implementation embodiments of the data transmission method on the second office point side are all applicable to the embodiments of the data transmission device and can achieve the same technical effect.
[0521] The embodiment of the present application also provides a data transmission device, which is applied to the first bureau point in the above blockchain system, such as Fig.11 As shown, it includes: a processor 111 and a transceiver 112;
[0522] The processor 111 is used to use the chain management module to send a first instruction to each second office point in the blockchain system through the transceiver 112; the first instruction is used to instruct the second office point to determine an inter-office data forwarding path, and the first instruction carries a delay upper limit value.
[0523] The data transmission device provided in the embodiment of the present application sends a first instruction to each second bureau point in the blockchain system by utilizing a chain management module; the first instruction is used to instruct the second bureau point to determine an inter-bureau data forwarding path, and the first instruction carries an upper limit value of the delay; it can support the clarification of the optimal inter-bureau data forwarding path, thereby supporting the shortening of the transmission path and avoiding redundant transmission, thereby improving communication efficiency and reducing communication costs, and well solving the problems of low efficiency and high cost of blockchain communication solutions in the prior art.
[0524] Among them, the use of the chain management module to send the first instruction to each second bureau point in the blockchain system through the transceiver includes: in a first case, using the chain management module to send the first instruction to each second bureau point in the blockchain system through the transceiver; wherein, the first case includes at least one of the following: the Internet access method of the bureau point in the blockchain system changes; the bureau point is added or deleted in the blockchain system; the communication delay increment of at least part of the routing links of the blockchain system is greater than the first threshold; it is currently in a business idle period; there is a management and operation demand.
[0525] Furthermore, the processor is also used to: allocate a multicast address according to a creation request initiated by the chain management module for the blockchain and / or the communication channel; use the chain management module to send a second instruction to the second office point and / or the inter-office communication module of the first office point corresponding to the creation request; the second instruction is used to instruct the creation of a multicast forwarding tree and carry the multicast address allocated to the second office point; use the chain management module to receive a second response sent by the inter-office communication module of the second office point and / or the first office point corresponding to the creation request.
[0526] In an embodiment of the present application, the processor is also used to: before using the chain management module to receive the second response sent by the inter-office communication module of the first office point corresponding to the creation request, use the inter-office communication module to send a first notification of creating a multicast forwarding tree to the intra-office communication module of the second office point through the transceiver according to the second instruction; use the intra-office communication module to create a multicast forwarding tree according to the first notification; and after the multicast routing is stable and the multicast forwarding tree is created, use the inter-office communication module to send a second response to the chain management module.
[0527] Among them, the use of the intra-office communication module to create a multicast forwarding tree according to the first notification includes: using the intra-office communication module to send a second notification to the inter-office communication module to join the multicast forwarding tree in the form of a leaf node; the second notification carries the address of the intra-office communication module and the multicast address; using the inter-office communication module, according to the second notification, initiating a first request to the intra-office network device of the first office point to join the multicast forwarding tree in the form of a leaf node; using the intra-office network device, according to the first request, creating a multicast forwarding tree; the multicast forwarding tree uses the intra-office communication module of the first office point as the multicast source and the multicast tree root.
[0528] Furthermore, the processor is also used to: use the intra-office communication module of the first office point to receive the message sent by the block packaging node in unicast mode; use the intra-office communication module of the first office point to forward the message to each leaf node based on the multicast forwarding tree.
[0529] In an embodiment of the present application, the processor is also used to: use the inter-office communication module of the first office point to receive the first block message sent by other office points in the blockchain system except the first office point through the transceiver; use the inter-office communication module of the first office point to send the first block message to the intra-office communication module of the first office point in a unicast manner; use the intra-office communication module of the first office point to forward the first block message to each leaf node based on the multicast forwarding tree.
[0530] Furthermore, the processor is also used to: utilize the intra-office communication module in the first office point to cache the block data.
[0531] In an embodiment of the present application, the processor is also used to: (1) use the chain management module to receive the first node registration information sent by the second office point through the transceiver, and allocate an identifier according to the first node registration information, and send the allocated identifier to the second office point through the transceiver; and / or, (2) when a new organization is added or a new blockchain node is added, the intra-office communication module of the first office point sends the second node registration information to the chain management module via the inter-office communication module of the first office point; use the chain management module to allocate an identifier according to the second node registration information, and send the allocated identifier to the inter-office communication module of the first office point, and the inter-office communication module of the first office point transmits it to the corresponding blockchain node via the intra-office communication module of the first office point; and / or, (3) use the chain management module module, receiving the first node deregistration information sent by the second office point through the transceiver, and deleting the corresponding organizational affiliation according to the first node deregistration information to obtain a first deregistration response, and sending the first deregistration response to the second office point through the transceiver; and / or, (4) in the case of organization deletion or blockchain node deletion, the intra-office communication module of the first office point sends the second node deregistration information to the chain management module via the inter-office communication module of the first office point; using the chain management module, deleting the corresponding organizational affiliation according to the second node deregistration information to obtain a second deregistration response; sending the second deregistration response to the inter-office communication module of the first office point, and the inter-office communication module of the first office point transmits it to the corresponding blockchain node via the intra-office communication module of the first office point.
[0532] The step of allocating identifiers based on the node registration information includes: allocating at least one of the following identifiers based on the node registration information: (1) an identifier of the bureau to which the node belongs; (2) an organization identifier of the organization to which the node belongs; (3) a node type identifier; the node type identifier is used to indicate that the node is a chain management module, an inter-bureau communication module, an intra-bureau communication module, or a blockchain node; (4) a node identifier; the node identifier includes: an identifier of the node itself and an identifier of information required for node communication; the node registration information is the first node registration information or the second node registration information.
[0533] Furthermore, the processor is also used to: use the chain management module to determine the status information of all current inter-office communication modules in the blockchain system to obtain a device status notification; the status information includes: identification information and corresponding communication information; use the chain management module to send the device status notification to all the inter-office communication modules in a unicast manner through the transceiver.
[0534] Among them, the implementation embodiments of the data transmission method on the first bureau side are all applicable to the embodiments of the data transmission device and can achieve the same technical effect.
[0535] The embodiment of the present application also provides a data transmission device, which is applied to the second bureau point in the above blockchain system, such as Fig.12 As shown, it includes: a processor 121 and a transceiver 122;
[0536] The processor 121 is used to use the inter-office communication module to receive a first instruction sent by the first office point through the transceiver 122; the first instruction is used to instruct the second office point to determine an inter-office data forwarding path, and the first instruction carries a delay upper limit value;
[0537] According to the first instruction, using the inter-office communication module to send a first message to other second office points in the blockchain system through the transceiver 122, wherein the first message is used to instruct to perform path detection;
[0538] Using the inter-office communication module, receiving a first response sent by the other second office point through the transceiver 122, the first response carrying a data forwarding path between the second office point and the other second office point determined by the other second office point;
[0539] According to the first response, inter-office data forwarding paths corresponding to the second office point are determined.
[0540] The data transmission device provided in the embodiment of the present application receives a first instruction sent by a first office point by utilizing an inter-office communication module; the first instruction is used to instruct the second office point to determine an inter-office data forwarding path, and the first instruction carries an upper limit value of delay; according to the first instruction, the inter-office communication module is used to send a first message to other second office points in the blockchain system respectively, and the first message is used to instruct path detection; the inter-office communication module is used to receive a first response sent by the other second office points, and the first response carries the data forwarding path between the second office point and the other second office point determined by the other second office points; according to the first response, each inter-office data forwarding path corresponding to the second office point is determined; it can support clarifying the optimal inter-office data forwarding path, thereby supporting shortening the transmission path and avoiding redundant transmission, thereby improving communication efficiency and reducing communication costs, and well solving the problems of low efficiency and high cost of blockchain communication solutions in the prior art.
[0541] Furthermore, the processor is also used to: utilize the inter-office communication module to receive a second message sent by at least one other second office point through the transceiver, the second message being used to indicate path detection and carrying a data path; when it is determined that the second office point is located on the data path, discard the second message; when it is determined that the second office point is not located on the data path, add the identifier and current timestamp of the second office point to the end of the data path to obtain a third message; utilize the inter-office communication module to send the third message to other second office points that are not located on the data path through the transceiver; and obtain the message path that first arrives at the second office point for the received fourth message, obtain a third response based on the message path, and send the third response to the initiator of the fourth message through the transceiver; wherein the fourth message refers to a message for path detection from the same initiator in at least one of the received second messages.
[0542] In an embodiment of the present application, the processor is also used to: use the inter-office communication module to receive a second instruction sent by the first office point through the transceiver; the second instruction is used to instruct the creation of a multicast forwarding tree and carry the multicast address assigned to the second office point; use the inter-office communication module to send a third notification of creating a multicast forwarding tree to the intra-office communication module of the second office point according to the second instruction; use the intra-office communication module to create a multicast forwarding tree according to the third notification; after the multicast routing is stable and the multicast forwarding tree is created, use the inter-office communication module to send a second response to the first office point through the transceiver.
[0543] Among them, the use of the intra-office communication module to create a multicast forwarding tree according to the third notification includes: using the intra-office communication module to send a fourth notification to the inter-office communication module to join the multicast forwarding tree in the form of a leaf node; the fourth notification carries the address of the intra-office communication module and the multicast address; using the inter-office communication module, according to the fourth notification, initiating a second request to join the multicast forwarding tree in the form of a leaf node to the intra-office network device of the second office point; using the intra-office network device, according to the second request, creating a multicast forwarding tree; the multicast forwarding tree uses the intra-office communication module of the second office point as the multicast source and the multicast tree root.
[0544] Furthermore, the processor is also used to: utilize the intra-office communication module of the second office point to receive the message sent by the block packaging node in unicast mode; utilize the intra-office communication module of the second office point to forward the message to each leaf node based on the multicast forwarding tree.
[0545] In an embodiment of the present application, the processor is also used to: use the inter-office communication module of the second office point to receive, through the transceiver, a second block message sent by other office points in the blockchain system except the second office point; use the inter-office communication module of the second office point to send the second block message to the intra-office communication module of the second office point in a unicast manner; use the intra-office communication module of the second office point to forward the second block message to each leaf node based on the multicast forwarding tree.
[0546] Furthermore, the processor is also used to: utilize the intra-office communication module in the second office point to cache the block data.
[0547] In an embodiment of the present application, the processor is also used for: (1) in the case of a new organization or a new blockchain node, the intra-office communication module of the second office point sends the first node registration information to the first office point through the inter-office communication module of the second office point through the transceiver; using the inter-office communication module of the second office point to receive the identifier sent by the first office point through the transceiver, and transmitting it to the corresponding blockchain node through the intra-office communication module of the second office point; and / or, (2) in the case of deletion of an organization or a blockchain node, the intra-office communication module of the second office point sends the first node de-registration information to the first office point through the inter-office communication module of the second office point through the transceiver; using the inter-office communication module of the second office point to receive the first de-registration response sent by the first office point through the transceiver, and transmitting it to the corresponding blockchain node through the intra-office communication module of the second office point.
[0548] The identifier sent by the first bureau includes at least one of the following: (1) the bureau identifier of the bureau to which the node belongs; (2) the organization identifier of the organization to which the node belongs; (3) the node type identifier; the node type identifier is used to indicate that the node is a chain management module, an inter-bureau communication module, an intra-bureau communication module or a blockchain node; (4) the node identifier; the node identifier includes: the node's own identifier and the identifier of the information required for node communication.
[0549] Furthermore, the processor is also used to: utilize the inter-office communication module of the second office point to receive the device status notification sent by the first office point through the transceiver; the device status notification carries the status information of all the inter-office communication modules in the blockchain system; the status information includes: identification information and corresponding communication information.
[0550] Among them, the implementation embodiments of the data transmission method on the second bureau side are all applicable to the embodiments of the data transmission device and can achieve the same technical effect.
[0551] An embodiment of the present application also provides a data transmission device, including a memory, a processor, and a computer program stored in the memory and executable on the processor; when the processor executes the program, the above-mentioned data transmission method on the first station side or the second station side is implemented.
[0552] Among them, the implementation embodiments of the data transmission method on the first office point side or the second office point side are applicable to the embodiments of the data transmission device and can achieve the same technical effect.
[0553] An embodiment of the present application also provides a readable storage medium on which a program is stored. When the program is executed by a processor, the steps in the data transmission method on the first office point side or the second office point side are implemented.
[0554] Among them, the implementation embodiments of the data transmission method on the first office point side or the second office point side are all applicable to the embodiments of the readable storage medium and can achieve the same technical effect.
[0555] An embodiment of the present application also provides a computer program product, including computer instructions. When the computer instructions are executed by a processor, the various processes of the method embodiment of the above-mentioned data transmission method on the first station point side or the second station point side are implemented, and the same technical effect can be achieved. To avoid repetition, they are not repeated here.
[0556] It should be noted that many functional components described in this specification are referred to as modules in order to more particularly emphasize the independence of their implementation methods.
[0557] In the embodiment of the present application, module can be implemented with software so that it can be executed by various types of processors. For example, an executable code module of an identification can include one or more physical or logical blocks of computer instructions, for example, it can be constructed as an object, process or function. Nevertheless, the executable code of the identified module does not need to be physically located together, but can include different instructions stored in different positions, and when these instructions are logically combined together, it constitutes a module and realizes the specified purpose of the module.
[0558] In fact, executable code module can be a single instruction or many instructions, and can even be distributed on a plurality of different code segments, distributed among different programs, and distributed across a plurality of memory devices. Similarly, operating data can be identified in the module, and can be implemented and organized in the data structure of any appropriate type according to any appropriate form. The operating data can be collected as a single data set, or can be distributed in different locations (including on different storage devices), and can only be present on a system or network as an electronic signal at least in part.
[0559] When a module can be implemented by software, considering the level of existing hardware technology, a person skilled in the art can build a corresponding hardware circuit to implement the corresponding function of the module that can be implemented by software without considering the cost. The hardware circuit includes a conventional very large scale integration (VLSI) circuit or gate array and existing semiconductors such as logic chips, transistors, or other discrete components. The module can also be implemented by a programmable hardware device, such as a field programmable gate array, a programmable array logic, a programmable logic device, etc.
[0560] The above is a preferred embodiment of the present application. It should be pointed out that for ordinary personnel in this technical field, several improvements and modifications can be made without departing from the principles described in the present application. These improvements and modifications should also be regarded as the scope of protection of the present application.
Claims
1. A blockchain system, characterized in that: include: A first office point and at least one second office point capable of communicating with the first office point; The first bureau point includes at least one organization, and the first bureau point provides blockchain services for the included organization, and / or the second bureau point includes at least one organization, and the second bureau point provides blockchain services for the included organization; One of the organizations includes at least one blockchain node, at least one organization in the first bureau point and at least one organization in the second bureau point join the same blockchain network; the two organizations in the same bureau point communicate with each other through an intra-bureau communication module; different bureau points communicate with each other through an inter-bureau communication module; A link management module is provided in the first office node, and the link management module is used for at least one of the following: Manage blockchain nodes deployed in different locations; Interact with the inter-office communication modules in each office site; Detect and configure inter-station communication channels; IP multicast addresses are assigned to corresponding blockchains and / or communication channels.
2. The blockchain system according to claim 1, characterized in that: The inter-office communication module is used for at least one of the following: Forwarding path calculation; Inter-office communication channels are established; Based on the established communication channel, blockchain data transmission across multiple locations is performed; The intra-bureau communication module acts as a multicast source and multicast tree root node of the target blockchain and / or target communication channel.
3. The blockchain system according to claim 1, characterized in that: The intra-office communication module is used for at least one of the following: Serves as the multicast source and multicast tree root node for internal blockchain communication of the affiliated office; Receiving data forwarded by multicast within a target blockchain and / or target communication channel from an inter-office communication module; Cache block data.
4. A data transmission method, applied to the first bureau in the blockchain system as claimed in any one of claims 1 to 3, characterized in that: include: Using the chain management module, sending a first instruction to each second bureau point in the blockchain system; The first instruction is used to instruct the second office point to determine an inter-office data forwarding path, and the first instruction carries a delay upper limit value.
5. The data transmission method according to claim 4, characterized in that: The utilizing chain management module sends a first instruction to each second bureau point in the blockchain system, including: In the first case, using the chain management module, sending a first instruction to each second bureau point in the blockchain system; The first situation includes at least one of the following: The Internet access method of the local point in the blockchain system changes; Adding or deleting nodes in the blockchain system; The communication delay increment of at least some routing links of the blockchain system is greater than a first threshold; Currently in a business idle period; There are management and operation requirements.
6. The data transmission method according to claim 4, characterized in that: Also includes: Allocate multicast addresses according to the creation request initiated by the chain management module for the blockchain and / or the communication channel; Using the chain management module, sending a second instruction to the second office point corresponding to the creation request and / or the inter-office communication module of the first office point; the second instruction is used to instruct the creation of a multicast forwarding tree and carries the multicast address allocated to the second office point; The link management module is used to receive a second response sent by the inter-office communication module of the second office point and / or the first office point corresponding to the creation request.
7. The data transmission method according to claim 6, characterized in that: Before receiving, by the chain management module, a second response sent by the inter-office communication module of the first office point corresponding to the creation request, the method further includes: Using the inter-office communication module, according to the second instruction, sending a first notification of creating a multicast forwarding tree to the intra-office communication module of the second office point; Using the intra-office communication module, creating a multicast forwarding tree according to the first notification; After the multicast routing is stable and the multicast forwarding tree is created, the inter-office communication module is used to send a second response to the chain management module.
8. The data transmission method according to claim 7, characterized in that: The using the intra-office communication module to create a multicast forwarding tree according to the first notification includes: Using the intra-office communication module, sending a second notification to the inter-office communication module to join the multicast forwarding tree in the form of a leaf node; the second notification carries the address of the intra-office communication module and the multicast address; Using the inter-office communication module, according to the second notification, initiate a first request to join the multicast forwarding tree in the form of a leaf node to the intra-office network device of the first office point; Using the intra-office network device, a multicast forwarding tree is created according to the first request; the multicast forwarding tree uses the intra-office communication module of the first office point as the multicast source and multicast tree root.
9. The data transmission method according to claim 7 or 8, characterized in that: Also includes: Using the intra-office communication module of the first office point, receiving the message sent by the block packaging node in unicast mode; The intra-office communication module of the first office point is used to forward the message to each leaf node based on the multicast forwarding tree.
10. The data transmission method according to claim 7 or 8, characterized in that: Also includes: Using the inter-office communication module of the first office point, receiving the first block message sent by other office points in the blockchain system except the first office point; Using the inter-office communication module of the first office point, sending the first block message to the intra-office communication module of the first office point in a unicast manner; The first block message is forwarded to each leaf node based on the multicast forwarding tree by using the intra-office communication module of the first office point.
11. The data transmission method according to claim 4, characterized in that: Also includes: The block data is cached using the intra-office communication module in the first office point.
12. The data transmission method according to claim 4, characterized in that: Also includes: Using the chain management module, receiving the first node registration information sent by the second office point, and performing identity allocation according to the first node registration information, and sending the allocated identity to the second office point; and / or, when an organization is newly added or a blockchain node is newly added, the intra-office communication module of the first office point sends the second node registration information to the chain management module via the inter-office communication module of the first office point; Using the chain management module, assigning an identifier according to the second node registration information, and sending the assigned identifier to the inter-office communication module of the first office point, which is then transmitted to the corresponding blockchain node by the inter-office communication module of the first office point via the intra-office communication module of the first office point; and / or, using the chain management module to receive the first node deregistration information sent by the second office point, and deleting the corresponding organizational affiliation according to the first node deregistration information, obtaining a first deregistration response, and sending the first deregistration response to the second office point; and / or, in the case of organization deletion or blockchain node deletion, the intra-office communication module of the first office point sends second node deregistration information to the chain management module via the inter-office communication module of the first office point; using the chain management module, deleting the corresponding organization affiliation according to the second node deregistration information, and obtaining a second deregistration response; The second deregistration response is sent to the inter-office communication module of the first office point, and the inter-office communication module of the first office point transmits it to the corresponding blockchain node via the intra-office communication module of the first office point.
13. The data transmission method according to claim 12, characterized in that: The identifier is allocated based on the node registration information, including: Based on the node registration information, at least one of the following identifiers is assigned: The station ID of the station to which the node belongs; The organization ID of the organization to which the node belongs; Node type identification; the node type identification is used to indicate that the node is a chain management module, an inter-office communication module, an intra-office communication module or a blockchain node; Node identification; the node identification includes: the node's own identifier and the identification of the information required for node communication; The node registration information is the first node registration information or the second node registration information.
14. The data transmission method according to claim 4 or 12, characterized in that: Also includes: Using the chain management module, determine the status information of all current inter-office communication modules in the blockchain system and obtain device status notification; The state information includes: identification information and corresponding communication information; The chain management module is utilized to send the device status notification to all the inter-office communication modules in a unicast manner.
15. A data transmission method, applied to the second node in the blockchain system as claimed in any one of claims 1 to 3, characterized in that: include: Using the inter-office communication module, receiving a first instruction sent by a first office point; The first instruction is used to instruct the second office point to determine an inter-office data forwarding path, and the first instruction carries a delay upper limit value; According to the first instruction, using the inter-office communication module to send a first message to other second office points in the blockchain system respectively, where the first message is used to instruct to perform path detection; Using the inter-office communication module, receiving a first response sent by the other second office point, the first response carrying a data forwarding path between the second office point and the other second office point determined by the other second office point; According to the first response, inter-office data forwarding paths corresponding to the second office point are determined.
16. The data transmission method according to claim 15, characterized in that: Also includes: Using the inter-office communication module, receiving a second message sent by at least one other second office point, wherein the second message is used to instruct path detection and carries a data path; In the case where it is determined that the second office point is located on the data path, discarding the second message; When it is determined that the second office point is not located in the data path, the identifier and current timestamp of the second office point are added to the end of the data path to obtain a third message; and the third message is sent to other second office points that are not located in the data path respectively by using the inter-office communication module; and obtaining a message path that first arrives at the second office point for the received fourth message, obtaining a third response according to the message path, and sending the third response to the initiator of the fourth message; The fourth message refers to a message for performing path detection from the same initiator in at least one of the received second messages.
17. The data transmission method according to claim 15, characterized in that: Also includes: Using the inter-office communication module, receiving a second instruction sent by the first office point; the second instruction is used to instruct the creation of a multicast forwarding tree and carries the multicast address allocated to the second office point; Using the inter-office communication module, according to the second instruction, sending a third notification of creating a multicast forwarding tree to the intra-office communication module of the second office point; Using the intra-office communication module, creating a multicast forwarding tree according to the third notification; After the multicast routing is stable and the multicast forwarding tree is created, the inter-office communication module is used to send a second response to the first office point.
18. The data transmission method according to claim 17, characterized in that: The using the intra-office communication module to create a multicast forwarding tree according to the third notification includes: Using the intra-office communication module, sending a fourth notification to the inter-office communication module to join the multicast forwarding tree in the form of a leaf node; the fourth notification carries the address of the intra-office communication module and the multicast address; Using the inter-office communication module, according to the fourth notification, initiate a second request to join the multicast forwarding tree in the form of a leaf node to the intra-office network device of the second office point; Using the intra-office network device, a multicast forwarding tree is created according to the second request; the multicast forwarding tree uses the intra-office communication module of the second office point as the multicast source and multicast tree root.
19. The data transmission method according to claim 17 or 18, characterized in that: Also includes: Using the intra-office communication module of the second office point, receiving the message sent by the block packaging node in unicast mode; The intra-office communication module of the second office point is utilized to forward the message to each leaf node based on the multicast forwarding tree.
20. The data transmission method according to claim 17 or 18, characterized in that: Also includes: Using the inter-office communication module of the second office point, receiving the second block message sent by other office points in the blockchain system except the second office point; Using the inter-office communication module of the second office point, sending the second block message to the intra-office communication module of the second office point in a unicast manner; The second block message is forwarded to each leaf node based on the multicast forwarding tree by utilizing the intra-office communication module of the second office point.
21. The data transmission method according to claim 15, characterized in that: Also includes: The block data is cached using the intra-office communication module in the second office point.
22. The data transmission method according to claim 15, characterized in that: Also includes: In the case of a newly added organization or a newly added blockchain node, the intra-office communication module of the second office point sends the first node registration information to the first office point via the inter-office communication module of the second office point; Using the inter-office communication module of the second office point to receive the identifier sent by the first office point, and transmitting it to the corresponding blockchain node through the intra-office communication module of the second office point; and / or, in case of organization deletion or blockchain node deletion, the intra-office communication module of the second office point sends the first node deregistration information to the first office point via the inter-office communication module of the second office point; The inter-office communication module of the second office point is used to receive the first deregistration response sent by the first office point, and is transmitted to the corresponding blockchain node through the intra-office communication module of the second office point.
23. The data transmission method according to claim 22, characterized in that: The identifier sent by the first office point includes at least one of the following: The station ID of the station to which the node belongs; The organization ID of the organization to which the node belongs; Node type identification; the node type identification is used to indicate that the node is a chain management module, an inter-office communication module, an intra-office communication module or a blockchain node; Node ID; The node identification includes: the node's own identifier and the identification of information required for node communication.
24. The data transmission method according to claim 15, characterized in that: Also includes: Using the inter-office communication module of the second office point, receiving the device status notification sent by the first office point; The device status notification carries status information of all inter-office communication modules in the blockchain system; The state information includes: identification information and corresponding communication information.
25. A data transmission device, applied to the first bureau in the blockchain system as claimed in any one of claims 1 to 3, characterized in that: include: A first sending module, configured to send a first instruction to each second bureau point in the blockchain system by using a chain management module; The first instruction is used to instruct the second office point to determine an inter-office data forwarding path, and the first instruction carries a delay upper limit value.
26. A data transmission device, applied to the second bureau point in the blockchain system as claimed in any one of claims 1 to 3, characterized in that: include: A fourth receiving module, used for receiving a first instruction sent by the first office point by using the inter-office communication module; The first instruction is used to instruct the second office point to determine an inter-office data forwarding path, and the first instruction carries a delay upper limit value; a ninth sending module, configured to send a first message to other second bureau points in the blockchain system respectively by using the inter-bureau communication module according to the first instruction, wherein the first message is used to instruct to perform path detection; A fifth receiving module, configured to receive, by using the inter-office communication module, a first response sent by the other second office point, wherein the first response carries a data forwarding path between the second office point and the other second office point determined by the other second office point; The second determination module is used to determine, according to the first response, the inter-office data forwarding paths corresponding to the second office point.
27. A data transmission device, applied to the first bureau point in the blockchain system as claimed in any one of claims 1 to 3, characterized in that: include: processor and transceiver; The processor is configured to use the chain management module to send a first instruction to each second bureau point in the blockchain system through the transceiver; The first instruction is used to instruct the second office point to determine an inter-office data forwarding path, and the first instruction carries a delay upper limit value.
28. A data transmission device, applied to the second bureau point in the blockchain system as claimed in any one of claims 1 to 3, characterized in that: include: processor and transceiver; The processor is used to receive a first instruction sent by a first office point through the transceiver by using the inter-office communication module; The first instruction is used to instruct the second office point to determine an inter-office data forwarding path, and the first instruction carries a delay upper limit value; According to the first instruction, using the inter-office communication module to send a first message to other second office points in the blockchain system through the transceiver, wherein the first message is used to instruct to perform path detection; Using the inter-office communication module, receiving a first response sent by the other second office point through the transceiver, the first response carrying a data forwarding path between the second office point and the other second office point determined by the other second office point; According to the first response, inter-office data forwarding paths corresponding to the second office point are determined.
29. A data transmission device, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor; characterized in that: When the processor executes the program, the data transmission method according to any one of claims 4 to 24 is implemented.
30. A readable storage medium having a program stored thereon, characterized in that: When the program is executed by a processor, the steps of the data transmission method according to any one of claims 4 to 24 are implemented.
31. A computer program product, characterized in that The method comprises computer instructions, which, when executed by a processor, implement the steps of the data transmission method according to any one of claims 4 to 24.
Citation Information
Patent Citations
Method and system for interoffice transmission encrypting information
CN101083783A
User information managing method, user information managing system and service processor
CN101902766A
Block chain platform channel management method and device, computer equipment and storage medium
CN114268638A
Cross-domain analysis system, cross-domain resource scheduling method and device and storage medium
CN114827286A
Multi-domain multicast integration data distributing structure and method based on IP / MPLS / BGP
CN1801783A
