A blockchain system, data transmission method, device and equipment

By introducing internal and external communication modules and chain management modules into the blockchain system, optimizing the data transmission path and address allocation between nodes, and establishing a multicast forwarding tree, the problems of low efficiency and high cost of existing blockchain communications are solved, and efficient and low-latency data transmission is achieved.

CN119211248BActive Publication Date: 2025-10-03CHINA MOBILE COMM LTD RES INST +1
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411468202.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-10-21
Publication Date
2025-10-03
Estimated Expiration
2044-10-21

AI Technical Summary

Technical Problem

Existing blockchain communication solutions are inefficient and costly, especially when message propagation between nodes is prolonged and communication bandwidth is not fully utilized.

Method used

The intra- and inter-office communication modules are used to manage blockchain nodes, the intra- and inter-office communication modules are used for efficient data transmission, the chain management module is used to optimize the path and address allocation, and a multicast forwarding tree is established to improve transmission efficiency.

Benefits of technology

It achieves efficient data transmission between nodes, reduces transmission delay, optimizes communication bandwidth utilization, and reduces costs.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119211248B_ABST
    Figure CN119211248B_ABST
Patent Text Reader

Abstract

This application provides a blockchain system, data transmission method, apparatus, and device. The blockchain system includes: a first office and at least one second office capable of communicating with the first office; the first office includes at least one organization, and the second office includes at least one organization; each organization includes at least one blockchain node, and at least one organization in the first office and at least one organization in the second office are joined to the same blockchain network; two organizations within the same office communicate via an intra-office communication module; and different offices communicate via an inter-office communication module; a chain management module is provided within the first office, and the chain management module is configured to: manage blockchain nodes deployed at different offices; interact with the inter-office communication modules within each office; detect and configure cross-office communication channels; and allocate IP multicast addresses for corresponding blockchains and / or communication channels. This solution can address the low efficiency and high cost of existing blockchain communication solutions.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of communication technology, and in particular to a blockchain system, data transmission method, device and equipment. Background Art

[0002] As a distributed ledger technology, blockchain emphasizes decentralization. Therefore, a P2P (Peer to Peer) protocol is typically used to propagate ledger transactions between different nodes and addresses. For example, Hyperledger Fabric (an open-source consortium blockchain software) uses the Gossip protocol. The Gossip process is initiated by a seed node. When a seed node has a status that needs to be updated to other nodes in the network, it randomly selects several surrounding nodes to spread the message. The nodes that receive the message will 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 will receive 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; Nodes 2, 4, and 5 all receive three copies of the same data from multiple paths, which not only occupies 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 existing technology.

[0006] In order to solve the above technical problems, the present invention 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 office node includes at least one organization, and the first office node provides blockchain services for the included organization; and / or the second office node includes at least one organization, and the second office node provides blockchain services for the included organization;

[0009] One of the organizations includes at least one blockchain node, and at least one organization in the first office node and at least one organization in the second office node join the same blockchain network; two organizations in the same office node communicate with each other via an intra-office communication module; and different offices communicate with each other via an inter-office 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 within 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 channels, blockchain data transmission across different locations is carried out;

[0019] The intra-bureau communication module acts as the 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 from the inter-office communication module for multicast forwarding within a target blockchain and / or target communication channel;

[0023] Cache block data.

[0024] The embodiment of the present application further provides a data transmission method, which is applied to the first node in the above-mentioned blockchain system, including:

[0025] Utilize 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.

[0026] Optionally, the utilizing chain management module to send the first instruction to each second bureau point in the blockchain system includes:

[0027] In the first case, using the chain management module, a first instruction is sent to each second bureau node in the blockchain system;

[0028] The first situation includes at least one of the following:

[0029] There is a change in the Internet access method of a local point in the blockchain system;

[0030] Add or delete 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 based on a creation request initiated by the chain management module for a blockchain and / or a 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 chain 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 establishing a multicast forwarding tree to the intra-office communication module of the second office point;

[0040] Using the intra-office communication module, create 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 the intra-office network device of the first office point to join the multicast forwarding tree in the form of a leaf node;

[0045] A multicast forwarding tree is created according to the first request using the intra-office network device; 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 utilized 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 node, receiving a first block message sent by other office nodes in the blockchain system except the first office node;

[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 utilizing 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 site.

[0055] Optionally, also include:

[0056] Using the chain management module, receiving the first node registration information sent by the second office point, allocating an identifier according to the first node registration information, and sending the allocated identifier 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 sends second node registration information to the chain management module via the inter-office communication module of the first office; the chain management module allocates an identifier based on the second node registration information, and sends the allocated identifier to the inter-office communication module of the first office, which transmits the identifier to the corresponding blockchain node via the intra-office communication module of the first office;

[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 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, 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, assign at least one of the following identifiers:

[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 identifier; the node type identifier is used to indicate whether 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] Utilizing the chain management module, determining the status information of all current inter-office communication modules in the blockchain system and obtaining a 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 further provides a data transmission method, which is applied to the second node in the above-mentioned blockchain system, including:

[0071] 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;

[0072] According to the first instruction, using the inter-office communication module, send a first message to each of the other second office nodes in the blockchain system, where the first message is used to instruct to perform path detection;

[0073] Utilizing 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, as determined by the other second office point;

[0074] Determine, based on the first response, inter-office data forwarding paths corresponding to the second office point.

[0075] Optionally, also include:

[0076] Using the inter-office communication module, receiving a second message sent by at least one other second office point, where the second message is used to instruct path detection and carries a data path;

[0077] If it is determined that the second office point is located on the data path, discarding the second message;

[0078] If it is determined that the second office point is not located on the data path, the identifier of the second office point and the current timestamp 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 on the data path using the inter-office communication module; and for the received fourth message, the message path that first reaches the second office point is obtained, a third response is obtained based on the message path, and the third response is sent to the originator of the fourth message.

[0079] The fourth message refers to a message for 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 establishing a multicast forwarding tree to the intra-office communication module of the second office point;

[0083] Using the intra-office communication module, create a multicast forwarding tree according to the third notification;

[0084] After the multicast routing is stable and the multicast forwarding tree is created, a second response is sent to the first office point using the inter-office communication module.

[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 the intra-office network device of the second office point to join the multicast forwarding tree in the form of a leaf node;

[0088] A multicast forwarding tree is created according to the second request using the intra-office network device; 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 node, receiving a second block message sent by other office nodes in the blockchain system except the second office node;

[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 intra-office communication module of the second office node is utilized to forward the second block message to each leaf node based on the multicast forwarding tree.

[0096] Optionally, also include:

[0097] The block data is cached using the intra-office communication module in the second office site.

[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 sends the first node registration information to the first office via the inter-office communication module of the second office; the inter-office communication module of the second office receives the identifier sent by the first office, and transmits it to the corresponding blockchain node via the intra-office communication module of the second office;

[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 receives the first deregistration response sent by the first office point, and transmits 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 node 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 identifier; the node type identifier is used to indicate whether 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 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 node in the above-mentioned 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 the first instruction to each second bureau point in the blockchain system includes:

[0111] In the first case, using the chain management module, a first instruction is sent to each second bureau node in the blockchain system;

[0112] The first situation includes at least one of the following:

[0113] There is a change in the Internet access method of a local point in the blockchain system;

[0114] Add or delete 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 multicast addresses according to a creation request initiated by the chain management module for the blockchain and / or the communication channel;

[0120] a second sending module, configured to 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 carries the multicast address allocated to the second office point;

[0121] The first receiving module is configured to utilize the link 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.

[0122] Optionally, also include:

[0123] a third sending module configured to, 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, send, by the inter-office communication module, 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;

[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 chain management module by using the inter-office communication module after the multicast route 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 the intra-office network device of the first office point to join the multicast forwarding tree in the form of a leaf node;

[0129] A multicast forwarding tree is created according to the first request using the intra-office network device; 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 is configured to receive a message sent by a block packaging node in a unicast manner using the intra-office communication module of the first office point;

[0132] The fifth sending module is 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.

[0133] Optionally, also include:

[0134] a third receiving module, configured to receive, by using the inter-office communication module of the first office, a first block message sent by other office nodes in the blockchain system except the first office node;

[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 using the inter-office communication module of the first office point;

[0136] A seventh sending module is configured to utilize 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.

[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 site.

[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 sends second node registration information to the chain management module via the inter-office communication module of the first office; the chain management module allocates an identifier based on the second node registration information, and sends the allocated identifier to the inter-office communication module of the first office, which transmits the identifier to the corresponding blockchain node via the intra-office communication module of the first office;

[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 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, 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, assign at least one of the following identifiers:

[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 identifier; the node type identifier is used to indicate whether 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 configured to utilize the chain management module to determine 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 configured 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 present application also provides a data transmission device, which is applied to the second node in the blockchain system, including:

[0155] A fourth receiving module is configured to receive, using the inter-office communication module, a first instruction sent by the first office point; the first instruction is configured to instruct the second office point to determine an inter-office data forwarding path, the first instruction carrying a delay upper limit value;

[0156] a ninth sending module, configured to send, according to the first instruction, a first message to each of the other second office nodes in the blockchain system using the inter-office communication module, wherein the first message is used to instruct to perform path detection;

[0157] a fifth receiving module, configured to receive, using the inter-office communication module, 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, as determined by the other second office point;

[0158] The second determination module is used to determine the inter-office data forwarding paths corresponding to the second office point according to the first response.

[0159] Optionally, also include:

[0160] a sixth receiving module, configured to receive, 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 carries a data path;

[0161] a first processing module, configured to discard the second message if it is determined that the second office point is located on the data path;

[0162] The second transceiver processing module is configured to, upon determining that the second office point is not located on the data path, add the identifier of the second office point and the current timestamp 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; and for the received fourth message, obtain the message path that first arrives at the second office point, obtain a third response based on the message path, and send the third response to the originator of the fourth message;

[0163] The fourth message refers to a message for 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, 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 carries 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 is 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 the intra-office network device of the second office point to join the multicast forwarding tree in the form of a leaf node;

[0172] A multicast forwarding tree is created according to the second request using the intra-office network device; 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, by using the intra-office communication module of the second office point, a message sent by the block packaging node in a unicast manner;

[0175] The twelfth sending module is configured to 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.

[0176] Optionally, also include:

[0177] A ninth receiving module, configured to receive, by using the inter-office communication module of the second office point, 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 using the inter-office communication module of the second office point;

[0179] A fourteenth sending module is configured to utilize 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.

[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 site.

[0182] Optionally, also include:

[0183] The first transceiver module is configured to, when a new organization or blockchain node is added, send the first node registration information to the first office via the intra-office communication module of the second office via the inter-office communication module of the second office; receive the identifier sent by the first office via the inter-office communication module of the second office, and transmit it to the corresponding blockchain node via the intra-office communication module of the second office;

[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 receives the first deregistration response sent by the first office point, and transmits 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 node 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 identifier; the node type identifier is used to indicate whether 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 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 further provides a data transmission device, which is applied to the first node in the above-mentioned blockchain system, including: a processor and a transceiver;

[0193] The processor is configured 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 configured 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 office point in the blockchain system through the transceiver;

[0196] The first situation includes at least one of the following:

[0197] There is a change in the Internet access method of a local point in the blockchain system;

[0198] Add or delete nodes in the blockchain system;

[0199] The communication delay increment of at least some 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 based on a creation request initiated by the chain management module for a blockchain and / or a 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 chain 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, using the inter-office communication module to send, via the transceiver, 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;

[0208] Using the intra-office communication module, create 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 the intra-office network device of the first office point to join the multicast forwarding tree in the form of a leaf node;

[0213] A multicast forwarding tree is created according to the first request using the intra-office network device; 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 utilized 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 node, receiving, through the transceiver, a first block message sent by other office nodes in the blockchain system except the first office node;

[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 utilizing 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 site.

[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, allocating an identifier according to the first node registration information, and sending the allocated 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 sends second node registration information to the chain management module via the inter-office communication module of the first office; the chain management module allocates an identifier based on the second node registration information, and sends the allocated identifier to the inter-office communication module of the first office, which transmits the identifier to the corresponding blockchain node via the intra-office communication module of the first office;

[0226] and / or, utilizing the chain management module to receive, via the transceiver, first node deregistration information sent by the second office 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 office point via the transceiver;

[0227] And / or, 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, 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, assign at least one of the following identifiers:

[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 identifier; the node type identifier is used to indicate whether 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] Utilizing the chain management module, determining the status information of all current inter-office communication modules in the blockchain system and obtaining a device status notification; the status information includes: identification information and corresponding communication information;

[0237] The chain management module is utilized to send the device status notification to all the inter-office communication modules via the transceiver in a unicast manner.

[0238] The embodiment of the present application further provides a data transmission device, which is applied to the second node in the above-mentioned blockchain system, including: a processor and a transceiver;

[0239] The processor is configured to utilize the inter-office communication module to receive a first instruction sent by the first office through the transceiver; the first instruction is configured to instruct the second office 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 each of the other second office points in the blockchain system through the transceiver, where 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] Determine, based on the first response, inter-office data forwarding paths corresponding to the second office point.

[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, where the second message is used to instruct path detection and carries a data path;

[0245] If it is determined that the second office point is located on the data path, discarding the second message;

[0246] If it is determined that the second office point is not located on the data path, the identifier of the second office point and the current timestamp 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 on the data path through the transceiver using the inter-office communication module; and for the received fourth message, the message path that first reaches the second office point is obtained, a third response is obtained based on 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 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 establishing a multicast forwarding tree to the intra-office communication module of the second office point;

[0251] Using the intra-office communication module, create 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 the intra-office network device of the second office point to join the multicast forwarding tree in the form of a leaf node;

[0256] A multicast forwarding tree is created according to the second request using the intra-office network device; 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 intra-office communication module of the second office node is utilized to forward the second block message to each leaf node based on the multicast forwarding tree.

[0264] Optionally, the processor is further configured to:

[0265] The block data is cached using the intra-office communication module in the second office site.

[0266] Optionally, the processor is further configured to:

[0267] In the case of a new organization or a new blockchain node, the intra-office communication module of the second office sends the first node registration information to the first office via the inter-office communication module of the second office through the transceiver; the inter-office communication module of the second office receives the identifier sent by the first office via the transceiver, and transmits it to the corresponding blockchain node via the intra-office communication module of the second office;

[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 inter-office communication module of the second office point through the transceiver; 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 node 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 identifier; the node type identifier is used to indicate whether 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 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 data transmission method on the first or 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 above-mentioned 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 this application are as follows:

[0280] In the above scheme, the blockchain system is configured by setting up 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 the 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 the clarification of the optimal inter-bureau data forwarding path, thereby supporting the shortening of the transmission path, avoiding redundant transmission, and thereby improving communication efficiency and reducing communication costs, which is a good solution to the problems of low efficiency and high cost of blockchain communication solutions in the existing technology. BRIEF DESCRIPTION OF THE DRAWINGS

[0281] Figure 1 This is a schematic diagram showing an example of redundancy and delay in 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 Schematic diagram of the data transmission method process of the embodiment of the present application Figure 1 ;

[0284] Figure 4 Schematic diagram of the data transmission method process of the embodiment of the present application Figure 2 ;

[0285] Figure 5 This is a schematic diagram of the networking solution of the blockchain system according to an embodiment of the present application;

[0286] Figure 6 This is a schematic diagram illustrating an example of the 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 for a large-scale blockchain service system built across multiple sites in an embodiment of the present application;

[0289] Figure 9This is a schematic diagram of the data transmission device structure of the embodiment of the present application Figure 1 ;

[0290] Figure 10 This is a schematic diagram of the data transmission device structure of the embodiment of the present application Figure 2 ;

[0291] Figure 11 This is a schematic diagram of the data transmission device structure of the embodiment of the present application Figure 1 ;

[0292] Figure 12 This is a schematic diagram of the data transmission device structure of the embodiment of the present application Figure 2 . DETAILED DESCRIPTION

[0293] In order to make the technical problems, technical solutions and advantages to be solved by this 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 for distributed ledger management and maintenance; uses a consensus mechanism to ensure the fairness and immutability of ledger data, supports the neutral execution of contracts (codes approved 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 their lives 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 businesses and even institutions operate.

[0298] Blockchain is a distributed ledger technology that uses a data structure called a "blockchain" to store and manage data. A blockchain consists of multiple blocks, each containing a certain amount of data and a hash value pointing to the previous block. This data structure makes blockchain decentralized, tamper-proof, and traceable, giving it broad application prospects in finance, supply chains, the Internet of Things, and other fields. In a blockchain system, data stored on each node is used to maintain separate records, forming a distributed ledger. The chain-like structure of the ledger data, combined with cryptographic algorithms, ensures the temporal order and self-consistency of the data. Code signed and approved by all relevant nodes (i.e., smart contracts) runs in a secure environment, ensuring the neutrality and trustworthiness of the information processing process. Based on these principles, blockchain essentially adds trust to information through redundant information processing and storage, and approved business logic. Clearly, the redundancy and cross-validation in storage, communication, and processing significantly reduces blockchain processing performance and increases resource consumption.

[0299] As mentioned above, compared to traditional database systems, blockchain technology is more complex, involving more stakeholders and a smaller developer base. Consequently, application development costs are high, deployment and maintenance are difficult, and there is a shortage of specialized talent.

[0300] 2. Blockchain as a Service (BaaS);

[0301] BaaS (Blockchain as a Service) refers to deploying a 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, supporting developers' business expansion and operational support through a blockchain open platform.

[0302] Specifically, BaaS is a technical solution that leverages network and cloud services to provide blockchain capabilities and an application runtime environment based on clients' business needs and operational and management requirements for blockchain. This solution runs the blockchain engine on a cloud computing platform, providing services to clients via PaaS / SaaS (Platform as a Service or Software as a Service). Compared to bare-bones blockchain systems, BaaS primarily offers the ability to quickly establish a development environment and provide a range of operational services, including blockchain-based search and query, transaction submission, and data analysis. These services can be either centralized or decentralized, helping developers quickly validate their concepts and models.

[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 addresses multiple receivers. In multicast technology, by transmitting a single information stream to multiple receivers, network traffic can be reduced when multiple receivers are simultaneously listening to or viewing the same resource. Multicast technology addresses the problem of achieving single-point transmission and multi-point reception with minimal network overhead. It achieves point-to-multipoint data transmission more efficiently than broadcast and / or unicast, conserving network bandwidth and reducing network load. Specifically, multicast offers advantages over unicast: because the transmitted information is replicated and distributed only at network nodes as far away from the source as possible, increasing the number of users does not significantly increase the load on the source or network resource consumption. Compared to broadcast, multicast offers advantages: because the transmitted information is only sent to the receivers who need it, network resources are not wasted and information transmission is more secure. Furthermore, while broadcast can only occur within the same broadcast domain, 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 the 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 the 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 within 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 enables network interconnection across data centers. It features flexible interconnection, high efficiency and security, and simplified operations and maintenance, meeting the needs of scenarios such as efficient data exchange and disaster recovery between data centers.

[0310] Specifically, commonly used data center interconnect technologies include the following:

[0311] 1) MPLS (Multi-Protocol Label Switching) Technology: MPLS-based interconnection solutions require that the interconnection network between data centers be a core network that deploys MPLS technology. This allows for direct Layer 2 interconnection between data centers via VLL (Virtual Leased Line) and VPLS (Virtual Private LAN Service). MPLS includes Layer 2 VPN and Layer 3 VPN technologies; the VPLS protocol is a Layer 2 VPN technology. Its advantage is that it can easily implement metropolitan area and / or wide area network deployments, and has been deployed in many industries. However, due to its technical complexity, it is difficult to operate and maintain.

[0312] 2) IP (Internet Protocol) tunneling technology: It is a data packet encapsulation technology that can achieve heterogeneous network Layer 2 interconnection between multiple data centers;

[0313] 3) VxLAN (Virtual eXtensible Local Area Network)-DCI tunnel technology: Using VxLAN technology, it can achieve Layer 2 and / or Layer 3 interconnection of multiple data center networks.

[0314] The aforementioned technologies are not mature or complete enough in supporting multicast protocols across public networks between multiple data centers. The implementation, configuration, and maintenance costs are high, and it is difficult to perform long-distance, highly reliable, and low-overhead multicast.

[0315] Additionally, in current mainstream blockchain systems, peer nodes typically communicate using an overlay P2P (peer-to-peer) protocol to enhance peer-to-peer and scalability. Specifically, a P2P network is constructed within the blockchain, decentralized and coordinated by all participants. These participants, with no central authority, are autonomous nodes that communicate and share information by connecting to other participants. This network (i.e., a P2P network) ensures the synchronization of all data on the blockchain and supports a decentralized network.

[0316] Specifically, P2P networks are widely used in blockchains, allowing participants in a blockchain network to operate without dependencies or trust. Each node in a blockchain network has its own unique equipment and software, ensuring that it is available on the network and can communicate and synchronize data across the network. Furthermore, blockchain networks operate on a P2P foundation, ensuring that every node in the network synchronizes blockchain state updates and joins the network to participate in peer-to-peer communication services. This maximizes the effectiveness of blockchain's P2P peer-to-peer network and achieves true decentralization.

[0317] However, blockchain is a complex system that is communication-intensive and latency-sensitive. Blockchain platforms that use P2P protocols (such as Gossip) are constrained by processing latency, system capacity, and throughput, which increases the cost of providing and using blockchain services. Specifically:

[0318] (1) When deploying blockchain services in a single cloud data center, the P2P communication mechanism has the following impacts: 1) Processing delay: Since the communication protocol cannot guarantee that all nodes receive messages containing ledger content within one communication cycle, relying on multiple relay forwarding by P2P nodes, the communication delay of the node that receives the message latest becomes the bottleneck when the entire consensus is reached; 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 delay 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 network nodes is to some extent restricted by the existing communication mechanism, and can usually only reach a scale of dozens of nodes; this further increases 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 consortium 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 for data center interconnection, the number of interconnected 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 the 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 in the existing blockchain communication solutions, and provides a blockchain system, such as Figure 2 As shown (only one bureau point includes two organizations and one 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 office node 1 includes at least one organization, and the first office node 1 provides blockchain services for the included organizations; and / or the second office node 2 includes at least one organization, and the second office node 2 provides blockchain services for the included organizations;

[0323] One of the organizations includes at least one blockchain node, and at least one organization in the first office node and at least one organization in the second office node join the same blockchain network; two organizations in the same office node communicate with each other via an intra-office communication module; and different offices communicate with each other via an inter-office 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 within 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 up 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, and the first bureau point provides blockchain services for the organizations included therein, and / or the second bureau point includes at least one organization, and the second bureau point provides blockchain services for the organizations included therein; one of the organizations includes at least one blockchain node, and at least one organization in the first bureau point and at least one organization in the second bureau point join the same blockchain network; 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 the 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; and being able to support the clarification of the optimal inter-bureau data forwarding path, thereby supporting the shortening of the transmission path, avoiding redundant transmission, and thereby improving communication efficiency and reducing communication costs, which effectively solves the problems of low efficiency and high cost of blockchain communication solutions in the existing technology.

[0331] The inter-office communication module is responsible 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 to act as a multicast source and multicast tree root node for the target blockchain and / or target communication channel. This ensures the normal implementation of inter-office functions.

[0332] In this embodiment of the present application, the intra-office communication module is used to perform at least one of the following: serve as a multicast source and multicast tree root node for internal blockchain communications within the affiliated office; receive data forwarded by multicast to the target blockchain and / or target communication channel from the inter-office communication module; and cache block data. This ensures the normal operation of intra-office functions.

[0333] The embodiment of the present application also provides a data transmission method, which is applied to the first node in the above blockchain system, such as Figure 3 Shown, including:

[0334] Step 31: Utilize 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.

[0335] The data transmission method provided in the embodiment of the present application utilizes a 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; 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 effectively solving the problems of low efficiency and high cost of blockchain communication solutions in the existing technology.

[0336] The method of using the chain management module to send the first instruction to each second office in the blockchain system includes: using the chain management module to send the first instruction to each second office in the blockchain system in a first situation; wherein the first situation includes at least one of the following: a change in the internet access method of an office in the blockchain system; an office being added or deleted in the blockchain system; an increase in the communication delay of at least some routing links in the blockchain system exceeding a first threshold; the system being in a service idle period; or a need for management and operation. This allows for confirmation of inter-office paths in specific situations.

[0337] Furthermore, the data transmission method further includes: allocating a multicast address based on a creation request initiated by the chain management module for a blockchain and / or a communication channel; using the chain management module, sending a second instruction to the inter-office communication module of the second office point and / or the first office 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 allocated to the second office point; using the chain management module, receiving 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. This can support the establishment of an intra-office multicast communication channel. 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 using the public key of the inter-office communication module, but is not limited to this.

[0338] In an embodiment of the present application, before the chain management module receives the second response sent by the inter-office communication module of the first office corresponding to the creation request, the method further 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 according to the second instruction; using the intra-office communication module to create the multicast forwarding tree according to the first notification; and 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 chain management module. This can further support the establishment of an intra-office multicast communication channel.

[0339] The method of using the intra-office communication module to create a multicast forwarding tree based on 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 as 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 to initiate a first request to the intra-office network device of the first office point to join the multicast forwarding tree as a leaf node based on the second notification; using the intra-office network device to create a multicast forwarding tree based on 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. This allows accurate creation of the multicast forwarding tree.

[0340] Furthermore, the data transmission method further includes: utilizing the intra-office communication module of the first office node to receive a message sent in unicast mode by the block packaging node; utilizing the intra-office communication module of the first office node to forward the message to each leaf node based on the multicast forwarding tree (other relevant blockchain nodes (i.e., leaf nodes) within the office node can obtain the block 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 an embodiment of the present application, the data transmission method further includes: utilizing the inter-office communication module of the first office to receive a first block message sent by other offices in the blockchain system except the first office; utilizing the inter-office communication module of the first office to send the first block message to the intra-office communication module of the first office in a unicast manner; utilizing the intra-office communication module of the first office 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: utilizing an intra-office communication module within the first office node to cache block data, thereby enabling a communication compensation mechanism to be implemented for situations such as packet loss.

[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 bureau point, and assigning an identifier according to the first node registration information, and sending the assigned identifier to the second bureau point; and / or, (2) in the case of a new organization or a new blockchain node, the intra-bureau communication module of the first bureau point sends the second node registration information to the chain management module via the inter-bureau communication module of the first bureau 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-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; 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, 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 identifier allocation is performed based on the node registration information, including: allocating at least one of the following identifiers based on 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 whether 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 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: utilizing 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; and utilizing the chain management module to unicast the device status notification to all the inter-office communication modules. This allows for accurate device status notification.

[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 Shown, including:

[0347] Step 41: Using the inter-office communication module, receiving a first instruction sent by the first office; the first instruction is used to instruct the second office 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, send a first message to each of the other second offices in the blockchain system, wherein the first message is used to instruct to perform path detection;

[0349] Step 43: Utilizing 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, as determined by the other second office point;

[0350] Step 44: Determine inter-office data forwarding paths corresponding to the second office point based on the first response.

[0351] Among them, the operations performed by other second office points in step 43 may include: sorting the same messages received from the same sender (i.e., the above-mentioned second office point) in chronological order of receipt time, selecting the message path that arrived first, and forming a response message to feed back to the sender (i.e., the above-mentioned second office point), but is not limited to this.

[0352] The data transmission method provided in the embodiment of the present application utilizes an inter-office communication module to receive 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, 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 the clarification of the optimal inter-office data forwarding path, thereby supporting the shortening of the transmission path, avoiding redundant transmission, and thereby improving communication efficiency and reducing communication costs, which is a good solution to the problems of low efficiency and high cost of blockchain communication solutions in the existing technology.

[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 being used to instruct path detection and carrying a data path; if it is determined that the second office point is located on the data path, discarding the second message; if it is determined that the second office point is not located on the data path, appending the identifier of the second office point and the current timestamp to the end of the data path to obtain a third message; using the inter-office communication module to send the third message to the other second office points 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 based on the message path, and sending the third response to the initiator of the fourth message (the initiator can subsequently obtain its corresponding data forwarding paths based on each received third response); wherein the fourth message refers to a message for path detection from the same initiator as at least one of the received second messages. This also allows the second office point to provide path-related responses to the first office point or other second office points (i.e., the initiator of the fourth message), so that the first office point or other second office point can determine its corresponding inter-office data forwarding paths.

[0354] In an embodiment of the present application, the data transmission method further includes: utilizing the inter-office communication module to receive a second instruction sent by the first office; the second instruction is used to instruct the creation of a multicast forwarding tree and carries the multicast address assigned to the second office; utilizing the inter-office communication module, in accordance with the second instruction, to send a third notification to the intra-office communication module of the second office regarding the creation of the multicast forwarding tree; utilizing the intra-office communication module to create the multicast forwarding tree in accordance with the third notification; and utilizing the inter-office communication module to send a second response to the first office after the multicast routing is stable and the multicast forwarding tree is created. This supports the establishment of an intra-office multicast communication channel. When forwarding the third notification, the second office may decrypt it using the inter-office communication module's private key and encrypt it using the intra-office communication module's public key before sending it, but the present invention is not limited thereto.

[0355] The method of using the intra-office communication module to create a multicast forwarding tree based on 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 as 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 to initiate a second request to the intra-office network device of the second office point to join the multicast forwarding tree as a leaf node based on the fourth notification; using the intra-office network device to create a multicast forwarding tree based on 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. This allows accurate creation of the multicast forwarding tree.

[0356] Furthermore, the data transmission method further includes: utilizing the intra-office communication module of the second office node to receive a message sent in unicast mode by the block packaging node; utilizing the intra-office communication module of the second office node to forward the message to each leaf node based on the multicast forwarding tree (other relevant blockchain nodes (i.e., leaf nodes) within the office node can obtain the block 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 an embodiment of the present application, the data transmission method further includes: utilizing the inter-office communication module of the second office to receive a second block message sent by other offices in the blockchain system except the second office; utilizing the inter-office communication module of the second office to send the second block message to the intra-office communication module of the second office in a unicast manner; utilizing the intra-office communication module of the second office 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 node to cache the block data, thereby enabling a communication compensation mechanism to be implemented for situations such as packet loss.

[0359] In an 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-office communication module of the second office sends the first node registration information to the first office via the inter-office communication module of the second office; the inter-office communication module of the second office receives the identifier sent by the first office, and transmits it to the corresponding blockchain node via the intra-office communication module of the second office; and / or, (2) when an organization is deleted or a blockchain node is deleted, the intra-office communication module of the second office sends the first node deregistration information to the first office via the inter-office communication module of the second office; the inter-office communication module of the second office receives the first deregistration response sent by the first office, and transmits it to the corresponding blockchain node via the intra-office communication module of the second office. 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 whether 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: utilizing the inter-office communication module of the second office to receive a device status notification sent by the first office; the device status notification carries status information of all inter-office communication modules in the blockchain system; the status information includes identification information and corresponding communication information. This enables accurate device status notification.

[0362] The following is an example of the blockchain system and data transmission method provided in the embodiments of the present application.

[0363] In response to the above technical problems, the embodiments of the present application provide a blockchain system and data transmission method, which can be specifically implemented as a blockchain system and communication method that supports deployment of multiple cloud data centers. It can be applied to large-scale blockchain service networks, support networking environments spanning 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 within the station; a group of (inter-station) communication nodes (corresponding to the inter-station communication module mentioned above) are set up at 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, thereby achieving the effect of improving the performance, capacity and quality of the entire blockchain service, and reducing the overall system implementation cost and operation and maintenance cost.

[0365] The following is a specific example to illustrate the contents of this plan.

[0366] 1. A description of the preconditions for reasonable assumptions;

[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 easily achieved through a combination of hardware and software configurations under current engineering technology conditions:

[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) It has necessary and stable time services (such as NTP (Network Time Protocol)) to provide timestamp services for blockchain nodes at different locations;

[0371] (3) Internal networking equipment of the cloud data center where the office is located (network equipment used for communication in the cloud data center, such as switches, routers, etc. Figure 5 (Not shown) Supports multicast technology; all sites can plan IP multicast addresses uniformly for the same cloud tenant and the same blockchain service platform;

[0372] (4) Each blockchain node, as a participating member of the permissioned consortium chain, has a pair of public and private keys, where the private key is securely stored locally and the public key is publicly available on 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 or 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 station 001), except for the additional chain management module, all stations are functionally isomorphic.

[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, and 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 within each local point to detect and configure wide area network cross-local communication channels; it can also allocate IP multicast addresses for corresponding blockchains and channels; the chain management module is provided in the first local point, and 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 within each local point; detecting and configuring cross-local communication channels; and allocating IP multicast addresses for 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 channel is deleted, but this is not limited to the above.

[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, it can carry out cross-office blockchain data transmission based on the established communication channel; 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; cross-office blockchain data transmission based on the established communication channel; 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 the multicast source and multicast tree root node of the internal blockchain communication of the local office, receive data for the 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; the above-mentioned intra-office communication module is used for at least one of the following: serving as the multicast source and multicast tree root node of the 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 office and belonging to different organizations can obtain multicast address information from the inter-office communication module according to their roles and the chains (and / or channels) they join, and join the corresponding multicast group as multicast leaf nodes; (optionally) they can also support encryption of blocks sent by this node to the intra-office communication module of this office 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 detailed example of the content implemented in 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 of various functional modules, and docking. 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 each site participating in the blockchain service network, e.g., using a 3-digit number;

[0386] 2) Device type identification (corresponding to the node type identification mentioned above): 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 a two-digit number; 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 node): uniquely identifies an organization (an organization is a set of blockchain nodes that join a specific chain and / or a specific channel), e.g., a three-digit number;

[0388] 4) Device identification (corresponding to the node identification above), including the following information:

[0389] a) Device ID (corresponding to the node identifier mentioned above); to avoid ID duplication, the device can generate its own GUID (Globally Unique Identifier); this solution only uses non-repeating numbers as an example;

[0390] b) Information required to communicate with the device (e.g., address, port, protocol, certificate, etc.; identifiers corresponding to the information required for node communication); Due to cloud data center networking issues, blockchain nodes are typically not assigned public network addresses. Therefore, communications with blockchain nodes will be forwarded by the intra-office communication module at the corresponding office;

[0391] Based on the above addressing method, some node addressing information examples 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 the identification, topology, online status, and communication paths of all nodes in this blockchain service network.

[0399] 1) Device registration (message type 91), device addressing message (message type 92): interacts between the blockchain node and the chain management module to realize the dynamic addition of nodes; triggered when an organization (of this bureau or other bureaus) or a blockchain node is added. When an organization is created or an organization adds a node, the intra-bureau communication module sends the node registration information to the chain management module via the inter-bureau communication module; and 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 in 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. After authentication, the inter-office communication node (00201000139110) forwards the device registration message

[91] to the chain management module (00100000139139);

[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 with 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 allocate an identifier based on the first node registration information, and send the allocated identifier to the second bureau point; it may also correspond to the above-mentioned sending of the first node registration information to the first bureau point by the intra-bureau communication module of the second bureau point via the inter-bureau communication module of the second bureau point; using the inter-bureau communication module of the second bureau point to receive the identifier sent by the first bureau point, and transmitting it to the corresponding blockchain node through the intra-bureau communication module of the second bureau point.

[0410] 2) Device deregistration (message type 93) and device deregistration response message (message type 94): Interaction between the blockchain node and the chain management module to achieve dynamic node exit; triggered when an organization or blockchain node is deleted. When an organization is deleted or an organization deletes a node, the intra-office communication module sends node deregistration information to the chain management module via the inter-office communication module; 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 within the organization). This part of the operation can correspond to the first office node using the chain management module to receive the first node deregistration information sent by the second office node, and deleting the corresponding organization affiliation based on the first node deregistration information to obtain a first deregistration response, and sending the first deregistration response to the second office node; it can also correspond to the intra-office communication module of the second office node sending the first node deregistration information to the first office node via the inter-office communication module of the second office node; using the inter-office communication module of the second office node to receive the first deregistration response sent by the first office node, and transmitting it to the corresponding blockchain node via the intra-office communication module of the second office node.

[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 bureau point, the chain management module can deploy the corresponding inter-office communication node, configure the node identifier and related communication information (CI) for each bureau point based on the data of each bureau point; when all inter-office communication module information is collected or the inter-office communication module deployment 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 Example of device status notification message

[0413]

[0414] This device status notification process can correspond to the first office using 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; the chain management module is used to send the device status notification to all inter-office communication modules in a unicast manner. It can also correspond to the second office using the inter-office communication module of the second office to receive the device status notification sent by the first office; 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.

[0415] B) Establishment of optimized inter-office communication channels across the Internet;

[0416] After the device status notification process is complete, the inter-office communication modules in the entire blockchain system have completed neighbor discovery. Next, under the guidance of the chain management module, the WAN inter-office communication channel routing can be carried out.

[0417] 1) Start the routing process (message type 98): The chain management module initiates a routing start instruction (corresponding to the first instruction mentioned above) to each inter-office communication module. The routing instruction includes a maximum delay value T (corresponding to the first office node using the chain management module to send the first instruction to each second office node in the blockchain system; the first instruction is used to instruct the second office node to determine the inter-office data forwarding path, and the first instruction carries the upper limit of the delay). After receiving this message (corresponding to the second office node using the inter-office communication module to receive the first instruction sent by the first office node), each inter-office communication module selects a random number between 0 and T seconds as the delay and starts routing detection;

[0418] Each inter-office communication module must go through the following process to determine the optimal forwarding path from itself to other inter-office communication modules. The optimal path can be a weighted calculation of multiple factors, such as latency and link cost. However, because all links are forwarded through the Internet, the following example only considers the shortest latency factor.

[0419] 2) Routing Detection (Message Type 97): Each inter-office communication module uses this instruction to initiate path detection and sends a routing detection message to all other inter-office communication modules (corresponding to the second office node, according to the first instruction, using the inter-office communication module to send the first message to the other second office nodes in the blockchain system, 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: determining 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 transit list) in chronological order of reception time, selects the message path that arrives first (i.e., the inter-office communication module list in the transit list), and forms a routing response (96) message response to the sender (i.e., sequence number 1 in the transit list); the corresponding second office point utilizes the inter-office communication module to receive 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 in the data path, the second message is discarded; 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 inter-office communication module is used to send the third message to the other second office points that are not located in 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 sent 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] Upon receiving the 96 message, the inter-office communication module of office point 002 establishes a forwarding path from 002 to 003 to 004. After collecting responses from all inter-office communication modules, office point 002 constructs a WAN optimization path forwarding table (corresponding to the second office determining the inter-office data forwarding paths corresponding to the second office based on the first response). An example is shown below:

[0435] Table 6 Example of routing table formed by station 002

[0436]

[0437]

[0438] All sites will establish a WAN optimization path forwarding table similar to the one in the table above, thus forming an optimized blockchain message forwarding channel across the Internet.

[0439] The above-mentioned process B) may be triggered in the following multiple situations (corresponding to the above-mentioned first situation, using the chain management module to send the first instruction to each second bureau node in the blockchain system):

[0440] a. Changes in the Internet access method of a specific location; corresponding to changes in the Internet access method of a location in the aforementioned 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 the communication delay on some routing links is found to have 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 business idle period; corresponds 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 the chain, channel and 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) on ​​all intra-office network devices. Then, perform the following steps:

[0449] Step 1. The chain administrator (corresponding to the first bureau) initiates a chain and channel creation request through the chain management module. After completing the relevant configuration, it allocates a multicast address G (corresponding to the multicast address allocation based on the creation request initiated by the chain management module for the blockchain and / or communication channel);

[0450] Step 2. After completing the chain and channel creation-related processing, the chain management module initiates a request for creating a corresponding multicast channel to the inter-office communication module of the relevant office point x (which can be the first office point or the second office point mentioned above) (i.e., notifies the inter-office communication module; the first office point uses the chain management module to send a second instruction to the inter-office communication module of the second office point and / or the first office 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 allocated to the second office point; the second office point uses the inter-office communication module to receive the 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). (Optionally) the content of the request message is encrypted using the communication encryption key K for the specific chain and channel encrypted using the public key of the inter-office communication module of office point x;

[0451] Step 3. Inter-office communication module x notifies the corresponding intra-office communication module y; when forwarding the message, it (optionally) decrypts K using its own private key and encrypts K using the public key of intra-office communication module y;

[0452] This step may correspond to the above-mentioned first office point 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; it may also correspond to the above-mentioned second office point using 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 the multicast source and multicast tree root, and prepares for establishing the multicast tree; the intra-office network device can be used in correspondence with the above-mentioned 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 multicast tree root; the intra-office network device can also be used in correspondence with the above-mentioned 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 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] Steps 4-5 may correspond to the first office node utilizing the intra-office communication module to create a multicast forwarding tree according to the first notification; or may correspond to the second office node utilizing the intra-office communication module to create a multicast forwarding tree according to the third notification;

[0457] Step 6. Blockchain node xy enables 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) required for establishing a multicast route and the (optional) multicast communication encryption key, 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. Intra-office communication module y notifies 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 (the 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; and 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 (intra-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 using the inter-office communication module to initiate, based on the second notification, a first request to join the multicast forwarding tree as a leaf node to the intra-office network device of the first office; or may correspond to the second office using the inter-office communication module to initiate, based on the fourth notification, a second request to join the multicast forwarding tree as a leaf node to the intra-office network device of the second office.

[0467] Step 10. 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 destination 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., a processing completion notification) to the chain management module; the chain management module can be used in correspondence with the first office point to receive the 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; the first office point can use the inter-office communication module to send the second response to the chain management module after the multicast routing is stable and the multicast forwarding tree is established; the second office point can also use the inter-office communication module to send the second response to the first office point 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 or chains, the multicast IP address is released (specifically, it can be initiated by the local node where the chain management module is located, the local network equipment, or the blockchain node itself). For details, please refer to the above process and I will not repeat it here.

[0471] D) Optimized communication process for block broadcasting;

[0472] After completing the above process, the Figure 8 The communication mode shown (taking the example of site x creating a block and needing to notify site y):

[0473] 1) Source end office: Within 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 relevant blockchain nodes within the office point can obtain the block within one 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: Within office point y, the inter-office communication module x receives a block message from another office end and sends it to the intra-office communication module y in unicast mode [④]. All other relevant blockchain nodes within the office point can obtain the block within one communication cycle through the multicast forwarding tree [⑤]. Corresponding to the 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 offices in the blockchain system except the first office point; the inter-office communication module of the first office point can be 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 can be used to forward the first block message to each leaf node based on the multicast forwarding tree; Corresponding to the second office point, the inter-office communication module of the second office point can be used to receive the second block message sent by other offices in the blockchain system except the second office point; the inter-office communication module of the second office point can be 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 can be 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), which may result in packet loss and that blockchain nodes may be overloaded and unable to receive correctly at the time of multicast, 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 (which may correspond to the above-mentioned first office point using the intra-office communication module within the first office point to cache block data; or may 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 blockchain nodes that detect missing blocks can directly obtain them in a unicast manner.

[0477] For the above process, the block loss detection method supports not only the identification and compensation of single block losses, but also the identification of multiple consecutive or discontinuous block losses. This method is applicable not only to occasional multicast packet loss scenarios, but also to scenarios where blockchain nodes have been offline for an extended period or are recovering after a network outage, allowing for rapid compensation of blocks lost during the offline period.

[0478] From the above, the method and system for multi-regional networked blockchain system communication 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 inter-office links 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 highly information security-protected blockchain infrastructure.

[0479] Specifically, this plan mainly involves:

[0480] (1) An optimization of the communication mechanism of a large-scale blockchain system that provides network connectivity across regions, cloud data centers, and the Internet. It provides an inter-office unicast (e.g. Figure 8 [③] in the previous section) and the blockchain system construction and communication method combined with the 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, and communication channel optimization mechanisms;

[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, 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 BaaS blockchain capability platform multi-cloud, multi-data center multi-point networking that requires the construction of cross-data center dedicated lines, VPNs, or L2 logical links), this solution has been comprehensively improved in terms of architecture, system, mechanism, and device. The main technical advantages are reflected in:

[0485] (1) The goal of the design is to provide a large-scale blockchain service system that is cross-regional, cross-cloud data center, and provides network connectivity via the Internet. The architecture is more reasonable, and the newly added communication devices and mechanisms effectively solve the problems of low efficiency and high cost of P2P communication. It is more conducive to the expansion 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. This solution can save unicast communication traffic and reduce communication delay between bureaus. A multicast forwarding channel with communication nodes as roots and blockchain nodes as leaves is constructed within the bureau. Through a single multicast, all blockchain nodes can reliably obtain block data. (Optional) Encrypted communication is used to solve the confidentiality problem of the block distribution process. Reliable communication and rapid synchronization of ledgers are achieved through a 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 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 network nodes can be expanded to hundreds of nodes per station, 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 node overhead caused by block release based on the P2P overlay network method. It reduces the resource overhead of the network between nodes from the architecture and mechanism, 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 new infrastructure information infrastructure blockchain capabilities for the whole society.

[0491] The embodiment of the present application also provides a data transmission device, which is applied to the first node in the above-mentioned blockchain system, such as Figure 9 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 a delay upper limit value; 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 existing technology.

[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; a 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 a first threshold; the business is currently idle; 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 communication channel; a second sending module, used to 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; a first receiving module, used to 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.

[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, 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.

[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 a unicast manner; 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 an embodiment of the present application, the data transmission device further 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; and 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 further includes: a first cache module, configured to cache block data using the intra-office communication module within the first office site.

[0501] In an embodiment of the present application, the data transmission device further includes: a first transceiver processing module, configured to: (1) utilize the chain management module to receive the first node registration information sent by the second office point, and perform identity allocation based on the first node registration information, and send the allocated identity to the second office point; and / or, (2) when a new organization 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; utilize the chain management module to perform identity allocation based on the second node registration information, and send the allocated identity to the inter-office communication module of the first office point, and the inter-office communication module of the first office point transmits the identity 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 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, (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, obtaining 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.

[0502] 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 node communication; wherein 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 and 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 side are all applicable to the embodiments of the data transmission device and can achieve the same technical effects.

[0505] The embodiment of the present application also provides a data transmission device, which is applied to the second node in the above-mentioned blockchain system, such as Figure 10 Shown, including:

[0506] A fourth receiving module 101 is configured to receive a first instruction sent by a first office point using an inter-office communication module; the first instruction is configured 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 each of the other second offices in the blockchain system using the inter-office 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 is configured to use the inter-office communication module to receive 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, as determined by the other second office point;

[0509] The second determining module 104 is configured to determine, based on 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 a delay upper limit value; 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 the clarification of the optimal inter-office data forwarding path, thereby supporting the shortening of the transmission path, avoiding redundant transmission, and thereby improving communication efficiency and reducing communication costs, which is a good solution to the problems of low efficiency and high cost of blockchain communication solutions in the existing technology.

[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 the 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 based on the message path, and send the third response to the initiator of the fourth message; wherein, the fourth message refers to the 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 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; using the intra-office network device 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.

[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 a unicast manner; 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 an embodiment of the present application, the data transmission device further 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 further includes: a second cache module, configured to cache block data using the intra-office communication module within the second office site.

[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 newly added or a blockchain node is newly 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 deregistration 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 deregistration 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 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.

[0519] Furthermore, the data transmission device also includes: a tenth receiving module, which 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 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 effects.

[0521] The embodiment of the present application also provides a data transmission device, which is applied to the first node in the above-mentioned blockchain system, such as Figure 11 As shown, it includes: a processor 111 and a transceiver 112;

[0522] The processor 111 is configured to utilize 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 configured 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 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 a delay upper limit value; 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 existing technology.

[0524] Among them, the use of the chain management module to send the first instruction to each second office 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 office 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 office point in the blockchain system changes; the office 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; the business is currently in an idle period; there is a management and operation demand.

[0525] Furthermore, the processor is also used to: allocate a multicast address based on a creation request initiated by the chain management module for the blockchain and / or 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; 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, 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.

[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 further used to: utilize the inter-office communication module of the first office point to receive, through the transceiver, the first block message sent by other office points in the blockchain system except the first office point; utilize 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; utilize 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 further configured to: utilize an intra-office communication module within the first office site to cache block data.

[0531] In an embodiment of the present application, the processor is further used to: (1) utilize the chain management module to receive the first node registration information sent by the second bureau point through the transceiver, and allocate an identifier according to the first node registration information, and send the allocated identifier to the second bureau point through the transceiver; and / or, (2) in the case of a new organization or a new blockchain node, the intra-bureau communication module of the first bureau point sends the second node registration information to the chain management module via the inter-bureau communication module of the first bureau point; utilize the chain management module to allocate an identifier according to the second node registration information, and send the allocated identifier 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; and / or, (3) utilize the chain management module module, receives the first node deregistration information sent by the second office point through the transceiver, deletes the corresponding organizational affiliation according to the first node deregistration information, obtains a first deregistration response, and sends 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; uses the chain management module to delete the corresponding organizational 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.

[0532] 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 node communication; wherein 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 and 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 office side are all applicable to the embodiments of the data transmission device and can achieve the same technical effects.

[0535] The embodiment of the present application also provides a data transmission device, which is applied to the second node in the above blockchain system, such as Figure 12 As shown, it includes: a processor 121 and a transceiver 122;

[0536] The processor 121 is configured to utilize the inter-office communication module to receive a first instruction sent by the first office through the transceiver 122; the first instruction is configured to instruct the second office 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 each of the 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, through the transceiver 122, 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;

[0539] Determine, based on the first response, inter-office data forwarding paths corresponding to the second office point.

[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 a delay upper limit value; 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 the clarification of the optimal inter-office data forwarding path, thereby supporting the shortening of the transmission path, avoiding redundant transmission, and thereby improving communication efficiency and reducing communication costs, which is a good solution to the problems of low efficiency and high cost of blockchain communication solutions in the existing technology.

[0541] Furthermore, the processor is also used to: use 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 carry 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; use 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 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; using the intra-office network device 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.

[0544] Furthermore, the processor is also 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; 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.

[0545] In an embodiment of the present application, the processor is further used to: utilize the inter-office communication module of the second office point to receive, through the transceiver, the second block message sent by other office points in the blockchain system except the second office point; utilize 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; utilize 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 further configured to: utilize an intra-office communication module within the second office site to cache block data.

[0547] In an embodiment of the present application, the processor is further used to: (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 via 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; 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 deregistration information to the first office point via 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 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.

[0548] 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.

[0549] Furthermore, the processor is also 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 through the transceiver; 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.

[0550] Among them, the implementation embodiments of the data transmission method on the second office side are all applicable to the embodiments of the data transmission device and can achieve the same technical effects.

[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 data transmission method on the first or 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 effects.

[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 above-mentioned 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 effects.

[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 side or the second station side are implemented, and the same technical effect can be achieved. To avoid repetition, they will not be 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 embodiments of the present application, modules can be implemented in software so that they can be executed by various types of processors. For example, an identified executable code module can include one or more physical or logical blocks of computer instructions, for example, which can be constructed as objects, processes, or functions. Nevertheless, the executable code of the identified module does not need to be physically located together, but can include different instructions stored in different locations, which, when logically combined together, constitute the module and achieve 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 in the middle of 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.Described 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 using software, given the current state of hardware technology, those skilled in the art can build corresponding hardware circuits to implement the corresponding functions of the module, regardless of cost. The hardware circuits may include conventional very large scale integration (VLSI) circuits or gate arrays, as well as existing semiconductors such as logic chips and transistors, or other discrete components. Modules may also be implemented using programmable hardware devices, such as field programmable gate arrays, programmable array logic, or programmable logic devices.

[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 office node includes at least one organization, and the first office node provides blockchain services for the included organization; and / or the second office node includes at least one organization, and the second office node provides blockchain services for the included organization; One of the organizations includes at least one blockchain node, and at least one organization in the first office node and at least one organization in the second office node join the same blockchain network; two organizations in the same office node communicate with each other via an intra-office communication module; and different offices communicate with each other via an inter-office 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 within 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 channels, blockchain data transmission across different locations is carried out; The intra-bureau communication module acts as the 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 from the inter-office communication module for multicast forwarding within a target blockchain and / or target communication channel; Cache block data.

4. A data transmission method, applied to the first node in the blockchain system according to any one of claims 1 to 3, characterized in that: include: Using the chain management module, sending a first instruction to each second bureau node in the blockchain system; The first instruction is used to instruct the second office 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 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, a first instruction is sent to each second bureau node in the blockchain system; The first situation includes at least one of the following: There is a change in the Internet access method of a local point in the blockchain system; Add or delete 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 based on a creation request initiated by the chain management module for a blockchain and / or a 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 chain 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 establishing a multicast forwarding tree to the intra-office communication module of the second office point; Using the intra-office communication module, create 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 step of 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 the intra-office network device of the first office point to join the multicast forwarding tree in the form of a leaf node; A multicast forwarding tree is created according to the first request using the intra-office network device; 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 node is utilized 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 node, receiving a first block message sent by other office nodes in the blockchain system except the first office node; 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 utilizing the intra-office communication module of the first office point.

11. The data transmission method according to claim 4, wherein: Also includes: The block data is cached using the intra-office communication module in the first office site.

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, allocating an identifier according to the first node registration information, and sending the allocated identifier to the second office point; and / or, in the case of a new organization or a new blockchain node, the intra-office communication module of the first office node sends the second node registration information to the chain management module via the inter-office communication module of the first office node; Utilizing the chain management module, assigning an identifier based on 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 by the inter-office communication module of the first office point to the corresponding blockchain node 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 event of organization deletion or blockchain node deletion, the intra-office communication module of the first office node sends second node deregistration information to the chain management module via the inter-office communication module of the first office node; the chain management module deletes the corresponding organization affiliation according to the second node deregistration information, and obtains 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, wherein: Identifiers are assigned based on node registration information, including: Based on the node registration information, assign at least one of the following identifiers: The station ID of the station to which the node belongs; The organization ID of the organization to which the node belongs; Node type identifier; the node type identifier is used to indicate whether 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 according to any one of claims 1 to 3, characterized in that: include: 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; According to the first instruction, using the inter-office communication module, send a first message to each of the other second office nodes in the blockchain system, where the first message is used to instruct to perform path detection; Utilizing 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, as determined by the other second office point; Determine, based on the first response, inter-office data forwarding paths corresponding to the second office point.

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, where the second message is used to instruct path detection and carries a data path; If it is determined that the second office point is located on the data path, discarding the second message; If it is determined that the second office point is not located in the data path, adding the identifier of the second office point and the current timestamp to the end of the data path to obtain a third message; and using 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 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 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 establishing a multicast forwarding tree to the intra-office communication module of the second office point; Using the intra-office communication module, create a multicast forwarding tree according to the third notification; After the multicast routing is stable and the multicast forwarding tree is created, a second response is sent to the first office point using the inter-office communication module.

18. The data transmission method according to claim 17, characterized in that: The step of 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 the intra-office network device of the second office point to join the multicast forwarding tree in the form of a leaf node; A multicast forwarding tree is created according to the second request using the intra-office network device; 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 node, receiving a second block message sent by other office nodes in the blockchain system except the second office node; 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 intra-office communication module of the second office node is utilized to forward the second block message to each leaf node based on the multicast forwarding tree.

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 site.

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 node sends the first node registration information to the first office node via the inter-office communication module of the second office node; Utilizing 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 the event of organization deletion or blockchain node deletion, the intra-office communication module of the second office node sends the first node deregistration information to the first office node via the inter-office communication module of the second office node; 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 node 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 identifier; the node type identifier is used to indicate whether 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 status information includes: identification information and corresponding communication information.

25. A data transmission device, applied to the first node in the blockchain system according to 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 node in the blockchain system using a chain management module; The first instruction is used to instruct the second office 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 a second node in the blockchain system according to any one of claims 1 to 3, characterized in that: include: A fourth receiving module, configured to receive a first instruction sent by the first office point 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, according to the first instruction, a first message to each of the other second office nodes in the blockchain system using the inter-office communication module, wherein the first message is used to instruct to perform path detection; a fifth receiving module, configured to receive, using the inter-office communication module, 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, as determined by the other second office point; The second determination module is used to determine the inter-office data forwarding paths corresponding to the second office point according to the first response.

27. A data transmission device, applied to the first node in the blockchain system according to 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 office node in the blockchain system through the transceiver; The first instruction is used to instruct the second office 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 a second node in the blockchain system according to any one of claims 1 to 3, characterized in that: include: processor and transceiver; The processor is configured to utilize 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; According to the first instruction, using the inter-office communication module to send a first message to each of the other second office points in the blockchain system through the transceiver, 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 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; Determine, based on the first response, inter-office data forwarding paths corresponding to the second office point.

29. A data transmission device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor; 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