WO2024092925A1 - 一种加入区块链网络的方法、装置、电子设备和存储介质 - Google Patents
一种加入区块链网络的方法、装置、电子设备和存储介质 Download PDFInfo
- Publication number
- WO2024092925A1 WO2024092925A1 PCT/CN2022/135210 CN2022135210W WO2024092925A1 WO 2024092925 A1 WO2024092925 A1 WO 2024092925A1 CN 2022135210 W CN2022135210 W CN 2022135210W WO 2024092925 A1 WO2024092925 A1 WO 2024092925A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- node
- temporary
- resident
- blockchain network
- message
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 58
- 230000004044 response Effects 0.000 claims abstract description 15
- 238000004891 communication Methods 0.000 claims description 19
- 239000003795 chemical substances by application Substances 0.000 description 22
- 230000006870 function Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 11
- 238000012545 processing Methods 0.000 description 10
- 238000004590 computer program Methods 0.000 description 8
- 230000006872 improvement Effects 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 7
- 238000012423 maintenance Methods 0.000 description 5
- 239000000047 product Substances 0.000 description 5
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 101100233916 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) KAR5 gene Proteins 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 101001121408 Homo sapiens L-amino-acid oxidase Proteins 0.000 description 1
- 101000827703 Homo sapiens Polyphosphoinositide phosphatase Proteins 0.000 description 1
- 102100026388 L-amino-acid oxidase Human genes 0.000 description 1
- 102100023591 Polyphosphoinositide phosphatase Human genes 0.000 description 1
- 108010001267 Protein Subunits Proteins 0.000 description 1
- 101100012902 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) FIG2 gene Proteins 0.000 description 1
- 239000006227 byproduct Substances 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 229910021389 graphene Inorganic materials 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 229920001296 polysiloxane Polymers 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000004080 punching Methods 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 239000010979 ruby Substances 0.000 description 1
- 229910001750 ruby Inorganic materials 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/562—Brokering proxy services
Definitions
- the embodiments of this specification belong to the field of computer network technology, and in particular, to a method, device, electronic device, and storage medium for joining a blockchain network.
- Blockchain is a new application model of computer technologies such as distributed data storage, peer-to-peer transmission, consensus mechanism, encryption algorithm, etc.
- data blocks are combined into a chain data structure in a sequential manner according to time order, and a distributed ledger that cannot be tampered with or forged is guaranteed by cryptography. Due to the characteristics of blockchain such as decentralization, information cannot be tampered with, and autonomy, blockchain has also received more and more attention and application.
- the blockchain is maintained in a blockchain network that contains multiple nodes, and multiple nodes can communicate with each other based on their learned routing strategies.
- the blockchain network is large in scale, that is, the number of nodes it contains is large, if there are some nodes that are frequently disconnected or temporarily join the blockchain network, it will cause each node in the blockchain network to frequently update its routing strategy when the node joins the network or the node goes offline, resulting in huge network maintenance costs, increasing the pressure on the blockchain network, and destroying the stability of communication between nodes in the blockchain network.
- the object of the present invention is to provide a method, device, electronic device and storage medium for joining a blockchain network.
- a method for joining a blockchain network is proposed, which is applied to a first resident node in the blockchain network, wherein the nodes in the blockchain network include resident nodes and temporary nodes, and the routing strategy set maintained by any resident node includes the routing strategy for routing from the any resident node to each other resident node in the blockchain network; the proxy pool maintained by any temporary node includes the node information of at least one resident node connected to the any temporary node, and the any temporary node is not connected to nodes other than the at least one resident node in the blockchain network.
- the method includes: in response to the proxy access request sent by the first temporary node, establishing a connection with the first temporary node; creating a proxy unit corresponding to the first temporary node.
- the proxy unit is used to receive a first message sent by the first temporary node, and after changing the source address of the first message to the node address of the first resident node and marking the first message with the proxy identifier corresponding to the proxy unit, forward the first message based on the destination address of the first message; and when receiving a second message whose destination address is the node address of the first resident node and is marked with the proxy identifier, forward the second message to the first temporary node.
- a device for joining a blockchain network is proposed, which is applied to a first resident node in the blockchain network, wherein the nodes in the blockchain network include resident nodes and temporary nodes, and the routing strategy set maintained by any resident node includes a routing strategy for routing from any resident node to each other resident node in the blockchain network; the proxy pool maintained by any temporary node includes the node information of at least one resident node connected to any temporary node, and the any temporary node is not connected to nodes other than the at least one resident node in the blockchain network.
- the device includes: a connection establishment unit, which is used to establish a connection with the first temporary node in response to a proxy access request sent by the first temporary node; and a proxy creation unit, which is used to create a proxy unit corresponding to the first temporary node.
- the proxy unit is used to: receive a first message sent by the first temporary node, and after changing the source address of the first message to the node address of the first resident node and marking the proxy identifier corresponding to the proxy unit for the first message, forward the first message based on the destination address of the first message; and when receiving a second message whose destination address is the node address of the first resident node and is marked with the proxy identifier, forward the second message to the first temporary node.
- a blockchain network system wherein the nodes in the blockchain network system include resident nodes and temporary nodes, wherein: the routing strategy set maintained by any resident node includes the routing strategy for routing from the any resident node to each other resident node in the blockchain network system; the proxy pool maintained by any temporary node includes the node information of at least one resident node connected to the any temporary node, the any temporary node is not connected to nodes other than the at least one resident node in the blockchain network, and the at least one resident node is created with a proxy unit corresponding to the any temporary node.
- the proxy unit is used to: receive a first message sent by any temporary node, and after changing the source address of the first message to the node address of the at least one resident node and marking the proxy identifier corresponding to the proxy unit for the first message, forward the first message based on the destination address of the first message; and, when receiving a second message whose destination address is the node address of the at least one resident node and is marked with the proxy identifier, forward the second message to the any temporary node.
- an electronic device comprising: a processor; and a memory for storing processor executable instructions, wherein the processor implements the method as described in any one of the first aspects by running the executable instructions.
- a computer-readable storage medium on which computer instructions are stored, and when the instructions are executed by a processor, the steps of the method described in any one of the first aspects are implemented.
- this specification adds the first temporary node to the blockchain network in an agent manner, that is, only establishes a connection with the first resident node with which there is an agent relationship, but does not establish a connection with the first resident node in the blockchain network without an agent relationship.
- the nodes in the blockchain network that do not have an agent relationship with the first temporary node cannot perceive the joining of the first temporary node so these nodes will not trigger the update of their own routing policies when the first temporary node joins, so when the first temporary node exits the blockchain network, it will naturally not update its own routing policies, that is, the routing policy set maintained by any resident node only includes the routing policy for routing from any resident node to each other resident node, but does not include the routing policy for routing from any resident node to any temporary node, thereby saving network maintenance costs, reducing the pressure on the blockchain network, and maintaining the stability of communication between nodes in the blockchain network; in addition, as a node that can perceive the first temporary node joining the blockchain network, the first resident node will also create a proxy unit corresponding to the first temporary node to be responsible for proxy forwarding messages sent from the first temporary node or messages that need to be sent to the first temporary node, so when the first temporary node communicates with other nodes in the blockchain network, the other nodes
- FIG1 is a system architecture diagram of a blockchain network system provided by an exemplary embodiment.
- FIG2 is a flowchart of a method for joining a blockchain network provided by an exemplary embodiment.
- FIG. 3 is a schematic structural diagram of a device provided by an exemplary embodiment.
- FIG4 is a block diagram of a device for joining a blockchain network provided by an exemplary embodiment.
- FIG. 1 is a system architecture diagram of a blockchain network system provided by an exemplary embodiment. As shown in Figure 1, the nodes in the blockchain network system include resident nodes and temporary nodes, where:
- the routing strategy set maintained by any resident node includes a routing strategy for routing from the resident node to each other resident node in the blockchain network system;
- the proxy pool maintained by any temporary node includes node information of at least one resident node connected to the any temporary node, the any temporary node is not connected to any node in the blockchain network except the at least one resident node, the at least one resident node is created with a proxy unit corresponding to the any temporary node, and the proxy unit is used to:
- the second message When a second message whose destination address is the node address of the at least one resident node and is marked with the proxy identifier is received, the second message is forwarded to the any temporary node.
- the blockchain network system (or blockchain network) shown in Figure 1 includes a total of 7 nodes, among which nodes a, b and c are temporary nodes, and nodes A, B, C and D are resident nodes.
- Each resident node maintains a corresponding routing policy set, so that communication between resident nodes can be achieved through the routing policy set maintained by each resident node, and the routing policy set maintained by each resident node does not include the routing policy of any temporary node.
- the proxy pool maintained by node a only includes the node information of node A, that is, node a has established a proxy relationship with node A, node a is only connected to node A, and node a needs to communicate with other nodes through the proxy unit a corresponding to node a created on node A;
- the proxy pool maintained by node b only includes the node information of node A, that is, node b also has established a proxy relationship with node A, node b is only connected to node A, and node b communicates with other nodes through the proxy unit b corresponding to node b created on node A;
- the proxy pool maintained by node c includes the node information of node B and node C, that is, node c has established proxy relationships with node B and node C respectively, node c is respectively connected to node B and node C, and node c can communicate with other nodes through the proxy unit c1 corresponding to node c created on no
- temporary nodes will only establish connections with resident nodes with which proxy relationships have been established, and communicate with other nodes through proxy units created on resident nodes with which proxy relationships exist, so that temporary nodes will not be perceived by nodes without proxy relationships, that is, the routing policy of any temporary node will neither be added to the routing policy set maintained by resident nodes without proxy relationships nor to the routing policy set maintained by resident nodes with proxy relationships, because the resident nodes with proxy relationships do not communicate with any temporary node through the routing policy set, but communicate through the pre-created proxy unit corresponding to any temporary node as a substitute.
- the temporary node joins or exits the blockchain network, it will not trigger the resident node to update its own routing policy, thereby saving network maintenance costs, reducing the pressure on the blockchain network, maintaining the stability of communication between nodes in the blockchain network, and also satisfying the normal communication between the temporary node and other nodes in the blockchain network.
- Figure 2 is a flow chart of a method for joining a blockchain network provided by an exemplary embodiment.
- the method is applied to the first resident node in the blockchain network, and the nodes in the blockchain network include resident nodes and temporary nodes.
- the routing strategy set maintained by any resident node includes the routing strategy for routing from any resident node to each other resident node in the blockchain network;
- the proxy pool maintained by any temporary node includes the node information of at least one resident node that establishes a connection with any temporary node, and the any temporary node is not connected to nodes in the blockchain network other than the at least one resident node.
- the method includes:
- S202 In response to the proxy network access request sent by the first temporary node, establish a connection with the first temporary node.
- any resident node includes a node that undertakes the work of the blockchain system in the blockchain network, any temporary node that temporarily joins the blockchain network or a node that is frequently offline in the blockchain network.
- a resident node can be a consensus node, a verification node, a storage node, etc. in the blockchain network.
- temporary nodes are usually client roles, such as blockchain wallet clients, Dapp (Decentralized Application) clients, decentralized VPN (Virtual Private Network) clients, etc.
- These nodes will only temporarily join the blockchain network to obtain corresponding services, and will exit the blockchain network after meeting their needs.
- the first temporary node that wishes to join the blockchain network in a proxy manner before sending a proxy access request to the first resident node, it is necessary to first determine the node address of the first resident node before sending it.
- the first temporary node can obtain the node address of the first resident node returned by the blockchain network in response to the temporary access request by sending a temporary access request to the blockchain network.
- the first temporary node can first send a temporary access request to the seed node in the blockchain network (the access node that discloses its node address to the outside), and if it passes the network access review of the seed node, it will receive the node address of the first resident node returned by the seed node.
- the seed node can first determine the first resident node through the following strategy: the first resident node is the resident node with the lowest load in the blockchain network, the closest geographical location to the first temporary node, or the smallest network delay between the first temporary node and the first temporary node.
- the temporary network access request sent by the first temporary node will carry the geographical location corresponding to the first temporary node.
- the seed node will match the resident node closest to the geographical location based on the geographical location corresponding to the first temporary node as the first resident node.
- the first temporary node Since the cost of establishing a connection is lower and the stability is better when the geographical locations are close, after the first temporary node joins the blockchain network as a proxy (after the first temporary node establishes a connection with the first resident node), the first temporary node will not be easily disconnected from the blockchain network due to network fluctuations, thereby improving the overall robustness of the blockchain network.
- the node information of the first resident node will be written into the proxy pool maintained by itself. If it is necessary to communicate with other nodes in the blockchain network in the future, the proxy forwarding can be realized by sending the message to the first resident node. In the embodiment of this specification, it also includes: in response to the proxy access request sent by the first temporary node, the node information of each resident node in the blockchain network is sent to the first temporary node. After joining the blockchain network, in order to communicate with other nodes in the blockchain network, the first temporary node also needs to know the node information of other nodes in the blockchain network.
- the first temporary node can obtain the node information of other regular nodes in the blockchain network from the first regular node after sending the proxy access request (for the first regular node, the node information of other regular nodes can be stored in the routing strategy set maintained by it).
- the node information involved in the embodiment of this specification includes the node identification and/or node address of the corresponding node.
- the node address of any node involved in the embodiment of this specification may include the IP address, port number and/or node identification of any node.
- S204 Create an agent unit corresponding to the first temporary node.
- the agent unit is used to: receive a first message sent by the first temporary node, and after changing the source address of the first message to the node address of the first permanent node and marking the first message with the agent identifier corresponding to the agent unit, forward the first message based on the destination address of the first message; and when receiving a second message whose destination address is the node address of the first permanent node and is marked with the agent identifier, forward the second message to the first temporary node.
- the routing strategy set maintained by any resident node includes a routing strategy for routing from any resident node to each other resident node in the blockchain network.
- the routing strategy set maintained by any resident node can be a routing table maintained by any resident node, in which routing entries (routing strategies) for routing to each other resident node in the blockchain network are maintained, and each routing entry maintains a node identifier of a resident node that needs to be ultimately routed to and a node identifier of the next hop node required for routing to the resident node if routing to the resident node is required.
- each routing entry indicates the node identifier of a resident node that needs to be ultimately routed to
- the node identifier on the right side of each routing entry indicates the node identifier of the next hop node required for routing if routing to the resident node corresponding to the node identifier on the left is required.
- node A when node A receives a message whose destination address is the node address of node C, it will search the routing table and match the routing entry "node C-node B", determine that the message needs to be sent to node B, further search the neighbor table maintained by itself to obtain the node address corresponding to node B, and then send the message to node B based on the node address.
- the routing strategy set maintained by any resident node is determined and updated by the neighbor table of each resident node in the blockchain network, and the neighbor table maintained by any resident node includes the node information of other resident nodes connected to the resident node.
- the neighbor table maintained by any resident node includes the node information of other resident nodes connected to the resident node.
- any change in the neighbor table of any resident node in the blockchain network may trigger a large-scale update of the routing strategy set maintained by each resident node in the blockchain network. This behavior mainly occurs when a new node joins the blockchain network or a node exits the blockchain network offline.
- a proxy unit corresponding to the first temporary node is created for proxy forwarding messages related to the first temporary node, thereby finally completing the process of joining the first temporary node to the blockchain network. Since the first resident node does not add the first temporary node connected to it to the neighbor table it maintains during this process, it will not be perceived by other resident nodes in the blockchain network through various routing protocols in the blockchain network, and will not trigger the behavior of each resident node to update the routing policy set it maintains. Since each resident node did not update the corresponding routing policy set after the first temporary node joined the blockchain network, if the first temporary node subsequently exits the blockchain network, the routing policy set will naturally not be updated accordingly.
- the proxy unit involved in the embodiments of this specification specifically refers to a program instance maintained in a resident node and used to proxy forward messages related to a temporary node with which a proxy relationship is established.
- the following takes the example of node a in Figure 1 performing proxy forwarding based on the proxy unit a created in node A to illustrate the basic functions of the proxy unit involved in this specification.
- Node a assumes that it needs to send a first message to node D (the source address of the first message is the node address of node a, and the destination address is the node address of node D).
- node a will search its own proxy pool and find the node information of node A with which it has established a proxy relationship, thereby sending the first message to node A; after node A determines that the first message received is from node a, it will deliver the first message to the proxy unit a it created for processing.
- Proxy unit a then changes the source address of the first message to the node address of node A, and adds a proxy identifier corresponding to proxy unit a that can only be recognized by node A, and then forwards the first message to node D based on the destination address of the first message and the routing policy set maintained by itself; after receiving the first message, node D checks that the message contains the information contained in the message.
- proxy identifier will also be added in the second message returned in response to the first message, but node D will still believe that the source of the message is node A, so node D will send the second message to node A based on the routing policy set it maintains; after receiving the second message and confirming that it carries the proxy identifier corresponding to proxy unit a, node A will also deliver the second message to proxy unit a for processing.
- Proxy unit a will delete the proxy identifier corresponding to proxy unit a in the second message, and modify the destination address of the second message to the node address of node a, and then forward the second message to node a; after receiving the second message, node a can know that the source address of the second message is the node address of node D, that is, node a will believe that it is communicating normally with node D.
- the same resident node can establish a proxy relationship with multiple temporary nodes at the same time, so that multiple corresponding proxy units are created for the temporary nodes at the same time.
- node A establishes a proxy relationship with nodes a and b at the same time, and node A creates proxy unit a corresponding to node a and proxy unit b corresponding to node b respectively. Since the proxy identifiers corresponding to proxy unit a and proxy unit b are different, when a message with the corresponding proxy identifier is received, the message can be forwarded to the correct temporary node.
- the same temporary node can simultaneously establish an agent relationship with one or more permanent nodes in the blockchain network, so that one or more agent units corresponding to the same temporary node are created in one or more permanent nodes.
- the agent identifiers corresponding to the multiple agent units can be the same or different, thereby guiding the messages that need to be ultimately sent to the same temporary node in the blockchain network to the corresponding permanent nodes.
- node c establishes an agent relationship with node B and node C at the same time.
- Node B creates an agent unit c1 corresponding to node c
- node C creates an agent unit c2 corresponding to node c
- the agent identifiers corresponding to agent unit c1 and agent unit c2 can be the same or different.
- node c can design different message routing strategies by itself, such as sending different types of messages from different resident nodes (node B or node C) with established proxy relationships to the blockchain network, so that the message returned by the blockchain network in response to a certain type of message (carrying the proxy identifier corresponding to the type) can only be returned through the corresponding resident node (the resident node that maintains the proxy unit corresponding to the proxy identifier corresponding to the type), thereby realizing that a certain type of message is sent from the same resident node into the blockchain network or received from the blockchain network and returned to node c as a temporary node.
- the same P2P (peer-to-peer) communication protocol is used between any temporary node and at least one permanent node connected thereto, and between any two permanent nodes.
- the permanent nodes in the blockchain network communicate with each other through the P2P communication protocol.
- the invasiveness can be reduced and the development cost of additional communication components can be reduced.
- HTTPS Hypertext Transfer Protocol Secure
- RPC Remote Procedure Call Protocol
- WSS Web Socket Secure
- the present specification adds the first temporary node to the blockchain network in a proxy manner, that is, only establishes a connection with the first resident node with which there is a proxy relationship, but does not connect with the nodes in the blockchain network with which there is no proxy relationship, so that the nodes in the blockchain network with which there is no proxy relationship with the first temporary node cannot perceive the addition of the first temporary node, and therefore these nodes will not trigger the update of their own routing policies when the first temporary node joins, and naturally will not update their own routing policies when the first temporary node exits the blockchain network, that is, the routing policy set maintained by any resident node only includes the routing policies for routing from any resident node to each other resident node, and does not include the routing policies for routing from any resident node to any temporary node.
- the routing strategy of the node saves network maintenance costs, reduces the pressure on the blockchain network, and maintains the stability of communication between nodes in the blockchain network; in addition, the first resident node, as a node that can perceive the first temporary node joining the blockchain network, will also create an agent unit corresponding to the first temporary node to be responsible for proxy forwarding messages sent from the first temporary node or messages that need to be sent to the first temporary node. Therefore, when the first temporary node communicates with other nodes in the blockchain network, the other nodes in the blockchain network will think that they are communicating with the first resident node, so that when other nodes cannot perceive the first temporary node, it will not affect the normal communication between the first temporary node and the nodes in the blockchain network.
- it also includes: deleting the proxy unit when it is detected that the connection established with the first temporary node is disconnected.
- the first temporary node actively or passively disconnects from the first resident node, it is assumed that the first temporary node has exited the blockchain network.
- the first resident node can detect that the connection established with the first temporary node has been disconnected, and then the proxy unit corresponding to the first temporary node created locally can be deleted.
- the first resident node can detect whether the connection established with the first temporary node has been disconnected through a heartbeat mechanism.
- this specification will only trigger the deletion of the proxy unit corresponding to the first temporary node by the resident node that has established an agent relationship with the first temporary node when the first temporary node exits the blockchain network, and will not trigger a large-scale update of the routing policy set, thereby saving network maintenance costs, reducing the pressure on the blockchain network, and maintaining the stability of communication between nodes in the blockchain network.
- FIG3 is a schematic diagram of a device provided by an exemplary embodiment.
- the device includes a processor 302, an internal bus 304, a network interface 306, a memory 308, and a non-volatile memory 310, and may also include hardware required for other services.
- One or more embodiments of this specification may be implemented based on software, such as the processor 302 reading the corresponding computer program from the non-volatile memory 310 into the memory 308 and then running it.
- one or more embodiments of this specification do not exclude other implementations, such as logic devices or a combination of software and hardware, etc., that is, the execution subject of the following processing flow is not limited to each logic unit, but may also be hardware or logic devices.
- FIG. 4 is a block diagram of a device for joining a blockchain network provided by an exemplary embodiment, and the device can be applied to the device shown in FIG. 3 to implement the technical solution of this specification.
- the device is applied to the first resident node in the blockchain network, and the nodes in the blockchain network include resident nodes and temporary nodes.
- the routing strategy set maintained by any resident node includes the routing strategy from the any resident node to each other resident node in the blockchain network; the proxy pool maintained by any temporary node includes the node information of at least one resident node connected to the any temporary node, and the any temporary node is not connected to the nodes in the blockchain network except the at least one resident node.
- the device includes: a connection establishment unit 401, which is used to establish a connection with the first temporary node in response to the proxy access request sent by the first temporary node; and a proxy creation unit 402, which is used to create a proxy unit corresponding to the first temporary node.
- the proxy unit is used to: receive a first message sent by a first temporary node, and after changing the source address of the first message to the node address of the first permanent node and marking the first message with the proxy identifier corresponding to the proxy unit, forward the first message based on the destination address of the first message; and, upon receiving a second message whose destination address is the node address of the first permanent node and is marked with the proxy identifier, forward the second message to the first temporary node.
- the first temporary node sends a temporary network access request to the blockchain network to obtain a node address of a first resident node returned by the blockchain network in response to the temporary network access request.
- the first permanent node is a permanent node with the lowest load in the blockchain network, which is geographically closest to the first temporary node or has the smallest network delay with the first temporary node.
- the method further includes: a proxy deleting unit 403, configured to delete the proxy unit when detecting that the connection established with the first temporary node is disconnected.
- a node information sending unit 404 which is used to send node information of each permanent node in the blockchain network to the first temporary node in response to the proxy network access request sent by the first temporary node.
- the node information includes a node identifier and/or a node address.
- any resident node includes a node that undertakes the work of the blockchain system in the blockchain network, any temporary node that temporarily joins the blockchain network or a node in the blockchain network that is frequently offline.
- the same P2P communication protocol is used between any temporary node and at least one resident node connected thereto, and between any two resident nodes.
- the above-mentioned device embodiment corresponds to the above-mentioned method embodiment, and there is no essential difference between them.
- the detailed description is recorded in the above-mentioned corresponding method embodiment and will not be repeated here.
- a programmable logic device such as a field programmable gate array (FPGA)
- FPGA field programmable gate array
- HDL Hardware Description Language
- HDL Very-High-Speed Integrated Circuit Hardware Description Language
- ABEL Advanced Boolean Expression Language
- AHDL Altera Hardware Description Language
- HDCal Joint CHDL
- JHDL Java Hardware Description Language
- Lava Lava
- Lola MyHDL
- PALASM RHDL
- VHDL Very-High-Speed Integrated Circuit Hardware Description Language
- Verilog Verilog
- the controller may be implemented in any suitable manner, for example, the controller may take the form of a microprocessor or processor and a computer readable medium storing a computer readable program code (e.g., software or firmware) executable by the (micro)processor, a logic gate, a switch, an application specific integrated circuit (ASIC), a programmable logic controller, and an embedded microcontroller, examples of which include but are not limited to the following microcontrollers: ARC 625D, Atmel AT91SAM, Microchip PIC18F26K20, and Silicone Labs C8051F320, and the memory controller may also be implemented as part of the control logic of the memory.
- a computer readable program code e.g., software or firmware
- the controller may be implemented in the form of a logic gate, a switch, an application specific integrated circuit, a programmable logic controller, and an embedded microcontroller by logically programming the method steps. Therefore, such a controller may be considered as a hardware component, and the means for implementing various functions included therein may also be considered as a structure within the hardware component. Or even, the means for implementing various functions may be considered as both a software module for implementing the method and a structure within the hardware component.
- the systems, devices, modules or units described in the above embodiments may be implemented by computer chips or entities, or by products with certain functions.
- a typical implementation device is a server system.
- the computer that implements the functions of the above embodiments may be, for example, a personal computer, a laptop computer, a vehicle-mounted human-computer interaction device, a cellular phone, a camera phone, a smart phone, a personal digital assistant, a media player, a navigation device, an email device, a game console, a tablet computer, a wearable device, or a combination of any of these devices.
- one or more embodiments of the present specification provide method operation steps as described in the embodiments or flow charts, more or less operation steps may be included based on conventional or non-creative means.
- the order of steps listed in the embodiments is only one way of executing the order of many steps, and does not represent the only execution order.
- the device or terminal product in practice is executed, it can be executed in sequence or in parallel according to the method shown in the embodiments or the drawings (for example, a parallel processor or a multi-threaded processing environment, or even a distributed data processing environment).
- each module can be implemented in the same or more software and/or hardware, or the module implementing the same function can be implemented by a combination of multiple sub-modules or sub-units, etc.
- the device embodiments described above are only schematic.
- the division of the units is only a logical function division. There may be other division methods in actual implementation.
- multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed.
- Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.
- These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing device to work in a specific manner, so that the instructions stored in the computer-readable memory produce a manufactured product including an instruction device that implements the functions specified in one or more processes in the flowchart and/or one or more boxes in the block diagram.
- These computer program instructions may also be loaded onto a computer or other programmable data processing device so that a series of operational steps are executed on the computer or other programmable device to produce a computer-implemented process, whereby the instructions executed on the computer or other programmable device provide steps for implementing the functions specified in one or more processes in the flowchart and/or one or more boxes in the block diagram.
- a computing device includes one or more processors (CPU), input/output interfaces, network interfaces, and memory.
- processors CPU
- input/output interfaces network interfaces
- memory volatile and non-volatile memory
- Memory may include non-permanent storage in a computer-readable medium, in the form of random access memory (RAM) and/or non-volatile memory, such as read-only memory (ROM) or flash memory (flash RAM). Memory is an example of a computer-readable medium.
- RAM random access memory
- ROM read-only memory
- flash RAM flash memory
- Computer readable media include permanent and non-permanent, removable and non-removable media that can be implemented by any method or technology to store information.
- Information can be computer readable instructions, data structures, program modules or other data.
- Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, compact disk read-only memory (CD-ROM), digital versatile disk (DVD) or other optical storage, magnetic cassettes, magnetic tape magnetic disk storage, graphene storage or other magnetic storage devices or any other non-transmission media that can be used to store information that can be accessed by a computing device.
- computer readable media does not include temporary computer readable media (transitory media), such as modulated data signals and carrier waves.
- one or more embodiments of the present specification may be provided as a method, system or computer program product. Therefore, one or more embodiments of the present specification may take the form of a complete hardware embodiment, a complete software embodiment or an embodiment combining software and hardware. Moreover, one or more embodiments of the present specification may take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
- computer-usable storage media including but not limited to disk storage, CD-ROM, optical storage, etc.
- One or more embodiments of this specification may be described in the general context of computer-executable instructions executed by a computer, such as program modules.
- program modules include routines, programs, objects, components, data structures, etc. that perform specific tasks or implement specific abstract data types.
- One or more embodiments of this specification may also be practiced in distributed computing environments where tasks are performed by remote processing devices connected through a communication network.
- program modules may be located in local and remote computer storage media, including storage devices.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
提供一种加入区块链网络的方法,应用于区块链网络中的第一常驻节点,任一临时节点维护的代理池包括与该任一临时节点建立连接的常驻节点的节点信息,该任一临时节点不与区块链网络中除该常驻节点以外的节点相连。所述方法包括:响应于第一临时节点发送的代理入网请求,与第一临时节点建立连接(S202);创建第一临时节点对应的代理单元。其中,代理单元用于:接收第一临时节点发送的第一消息,在将第一消息的源地址更改为第一常驻节点的节点地址并为第一消息标记代理单元对应的代理标识后,基于第一消息的目的地址转发第一消息;以及,在接收到目的地址为第一常驻节点的节点地址且标记有代理标识的第二消息时,将第二消息转发至第一临时节点(S204)。
Description
本说明书实施例属于计算机网络技术领域,尤其涉及一种加入区块链网络的方法、装置、电子设备和存储介质。
区块链(Blockchain)是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链系统中按照时间顺序将数据区块以顺序相连的方式组合成链式数据结构,并以密码学方式保证的不可篡改和不可伪造的分布式账本。由于区块链具有去中心化、信息不可篡改、自治性等特性,区块链也受到人们越来越多的重视和应用。
区块链被维护在包含多个节点的区块链网络中,多个节点之间可以基于其学习到的路由策略进行相互通讯。然而,当区块链网络规模较大即其所包含节点的数量较多时,如果存在一些节点经常断线或临时加入区块链网络,将导致区块链网络中的各个节点会在节点加入网络或节点离线的情况下频繁更新自身的路由策略,造成了巨大的网络维护成本,增加了区块链网络的压力,破坏了区块链网络中各个节点之间通讯的稳定性。
发明内容
本发明的目的在于提供一种加入区块链网络的方法、装置、电子设备和存储介质。
根据本说明书一个或多个实施例的第一方面,提出了一种加入区块链网络的方法,应用于所述区块链网络中的第一常驻节点,所述区块链网络中的节点包括常驻节点与临时节点,任一常驻节点维护的路由策略集包括从该任一常驻节点路由至所述区块链网络中其他每一常驻节点的路由策略;任一临时节点维护的代理池包括与该任一临时节点建立连接的至少一个常驻节点的节点信息,该任一临时节点不与所述区块链网络中除该至少一个常驻节点以外的节点相连接。所述方法包括:响应于第一临时节点发送的代理入网请求,与第一临时节点建立连接;创建第一临时节点对应的代理单元。其中,所述代理单元用于接收第一临时节点发送的第一消息,在将第一消息的源地址更改为第一常驻节点的节点地址并为第一消息标记所述代理单元对应的代理标识后,基于第一消息的目的地址转发第一消息;以及,在接收到目的地址为第一常驻节点的节点地址且标记有所 述代理标识的第二消息时,将第二消息转发至第一临时节点。
根据本说明书一个或多个实施例的第二方面,提出了一种加入区块链网络的装置,应用于所述区块链网络中的第一常驻节点,所述区块链网络中的节点包括常驻节点与临时节点,任一常驻节点维护的路由策略集包括从该任一常驻节点路由至所述区块链网络中其他每一常驻节点的路由策略;任一临时节点维护的代理池包括与该任一临时节点建立连接的至少一个常驻节点的节点信息,该任一临时节点不与所述区块链网络中除该至少一个常驻节点以外的节点相连接。所述装置包括:建立连接单元,用于响应于第一临时节点发送的代理入网请求,与第一临时节点建立连接;代理创建单元,用于创建第一临时节点对应的代理单元。其中,所述代理单元用于:接收第一临时节点发送的第一消息,在将第一消息的源地址更改为第一常驻节点的节点地址并为第一消息标记所述代理单元对应的代理标识后,基于第一消息的目的地址转发第一消息;以及,在接收到目的地址为第一常驻节点的节点地址且标记有所述代理标识的第二消息时,将第二消息转发至第一临时节点。
根据本说明书一个或多个实施例的第三方面,提出了一种区块链网络系统,所述区块链网络系统中的节点包括常驻节点与临时节点,其中:任一常驻节点维护的路由策略集包括从该任一常驻节点路由至所述区块链网络系统中其他每一常驻节点的路由策略;任一临时节点维护的代理池包括与该任一临时节点建立连接的至少一个常驻节点的节点信息,该任一临时节点不与所述区块链网络中除该至少一个常驻节点以外的节点相连接,该该至少一个常驻节点创建有对应于该任一临时节点的代理单元。其中,所述代理单元用于:接收该任一临时节点发送的第一消息,在将第一消息的源地址更改为该至少一个常驻节点的节点地址并为第一消息标记所述代理单元对应的代理标识后,基于第一消息的目的地址转发第一消息;以及,在接收到目的地址为该至少一个常驻节点的节点地址且标记有所述代理标识的第二消息时,将第二消息转发至该任一临时节点。
根据本说明书一个或多个实施例的第四方面,提出了一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器。其中,所述处理器通过运行所述可执行指令以实现如第一方面中任一项所述的方法。
根据本说明书一个或多个实施例的第五方面,提出了一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如第一方面中任一项所述方法的步骤。
由上述实施例可知,本说明书通过将第一临时节点以代理方式加入区块链网络,即只与存在代理关系的第一常驻节点建立连接,而不与所述区块链网络中不存在代理关系 的节点相连接,从而使得区块链网络中和第一临时节点不存在代理关系的节点无法感知到第一临时节点的加入,因此这些节点不会在第一临时节点加入时触发更新自身的路由策略,于是在第一临时节点退出区块链网络时自然也不会更新自身的路由策略,即任一常驻节点维护的路由策略集只包括从该任一常驻节点路由其他每一常驻节点的路由策略,而不包括从该任一常驻节点路由至任一临时节点的路由策略,从而节省了网络维护成本,降低了区块链网络的压力,维持了区块链网络中各个节点之间通讯的稳定性;另外,第一常驻节点作为能够感知到第一临时节点加入区块链网络的节点,还会创建第一临时节点对应的代理单元负责对从第一临时节点发出的消息或需要发送给第一临时节点的消息进行代理转发,因此第一临时节点在与区块链网络中的其他节点进行通讯时,区块链网络中的其他节点会认为其在与第一常驻节点进行通讯,从而在其他节点无法感知到第一临时节点的情况下,不影响第一临时节点与区块链网络中各节点之间的正常通讯。
为了更清楚地说明本说明书实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是一示例性实施例提供的一种区块链网络系统的系统架构图。
图2是一示例性实施例提供的一种加入区块链网络的方法的流程图。
图3是一示例性实施例提供的一种设备的结构示意图。
图4是一示例性实施例提供的一种加入区块链网络的装置的框图。
为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。
图1是一示例性实施例提供的一种区块链网络系统的系统架构图。如图1所示,所述区块链网络系统中的节点包括常驻节点与临时节点,其中:
任一常驻节点维护的路由策略集包括从该任一常驻节点路由至所述区块链网络系统中其他每一常驻节点的路由策略;
任一临时节点维护的代理池包括与该任一临时节点建立连接的至少一个常驻节点的节点信息,该任一临时节点不与所述区块链网络中除该至少一个常驻节点以外的节点相连接,该该至少一个常驻节点创建有对应于该任一临时节点的代理单元,所述代理单元用于:
接收该任一临时节点发送的第一消息,在将第一消息的源地址更改为该至少一个常驻节点的节点地址并为第一消息标记所述代理单元对应的代理标识后,基于第一消息的目的地址转发第一消息;以及,
在接收到目的地址为该至少一个常驻节点的节点地址且标记有所述代理标识的第二消息时,将第二消息转发至该任一临时节点。
以图1为例,图1所示出的区块链网络系统(或称区块链网络)中一共包括7个节点,其中,节点a、节点b和节点c为临时节点,而节点A、节点B、节点C和节点D为常驻节点。每个常驻节点均维护有对应的路由策略集,从而使得常驻节点之间的通讯能够通过各自维护的路由策略集实现,同时每个常驻节点所维护的路由策略集中不包括任一临时节点的路由策略。
节点a维护的代理池中仅包括节点A的节点信息,即节点a与节点A建立有代理关系,节点a仅与节点A相连接,且节点a需要通过节点A上创建的节点a对应的代理单元a与其他节点进行通讯;节点b维护的代理池中仅包括节点A的节点信息,即节点b也与节点A建立有代理关系,节点b仅与节点A相连接,节点b通过节点A上创建的节点b对应的代理单元b与其他节点进行通讯;节点c维护的代理池中包括节点B和节点C的节点信息,即节点c分别与节点B和节点C建立有代理关系,节点c分别与节点B和节点C相连接,节点c既可以通过节点B上创建的节点c对应的代理单元c1与其他节点进行通讯,也可以通过节点C上创建的节点c对应的代理单元c2与其他节点进行通讯。
在本说明书实施例所涉及的区块链网络系统中,临时节点仅会与建立有代理关系的常驻节点建立连接,并通过存在有代理关系的常驻节点上创建的代理单元实现与其他节 点的通讯,从而使得临时节点不会被不存在代理关系的节点所感知,即任一临时节点的路由策略既不会被加入不存在代理关系的常驻节点维护的路由策略集,也不会被加入存在代理关系的常驻节点维护的路由策略集,因为存在代理关系的常驻节点并非通过路由策略集与该任一临时节点进行通讯,而是他通过预先创建的该任一临时节点对应的代理单元进行通讯作为替代。于是,临时节点无论是加入或退出区块链网络,都不会触发常驻节点更新自身的路由策略,从而节省了网络维护成本,降低了区块链网络的压力,维持了区块链网络中各个节点之间通讯的稳定性,同时也可以满足临时节点与区块链网络中其他节点的正常通讯。
请参见图2,图2是一示例性实施例提供的一种加入区块链网络的方法的流程图。该方法应用于所述区块链网络中的第一常驻节点,所述区块链网络中的节点包括常驻节点与临时节点,任一常驻节点维护的路由策略集包括从该任一常驻节点路由至所述区块链网络中其他每一常驻节点的路由策略;任一临时节点维护的代理池包括与该任一临时节点建立连接的至少一个常驻节点的节点信息,该任一临时节点不与所述区块链网络中除该至少一个常驻节点以外的节点相连接。如图2所示,该方法包括:
S202:响应于第一临时节点发送的代理入网请求,与第一临时节点建立连接。
在本说明书实施例中,任一常驻节点包括承担所述区块链网络中区块链系统工作的节点,任一临时节点临时加入所述区块链网络或所述区块链网络中频繁离线的节点。例如,常驻节点可以是所述区块链网络中的共识节点、验证节点、存储节点等,这些节点通常是常驻于区块链网络中,不会出现频繁加入或退出区块链网络的行为;临时节点通常为客户端的角色,比如区块链钱包客户端、Dapp(Decentralized Application,去中心化应用)客户端、去中心化VPN(Virtual Private Network,虚拟专用网络)客户端等,这些节点只会临时地加入区块链网络以获取相应的服务,在其满足需求后就会退出区块链网络。
在本说明书实施例中,作为希望以代理方式加入区块链网络的第一临时节点在向第一常驻节点发送代理入网请求之前,需要首先确定第一常驻节点的节点地址才能进行发送。而第一临时节点可以通过向所述区块链网络发送临时入网请求以获取区块链网络响应于所述临时入网请求返回的第一常驻节点的节点地址。具体而言,第一临时节点可以首先向区块链网络中的种子节点(对外部公开自身节点地址的入网口节点)发送临时入网请求,并在通过种子节点的入网审核的情况下,将接收到种子节点返回的第一常驻节点的节点地址。另外,种子节点在向第一临时节点返回第一常驻节点的节点地址前可以 通过以下策略来首先确定第一常驻节点:第一常驻节点为所述区块链网络中负载程度最低、与第一临时节点在地理位置上最接近或者与第一临时节点之间的网络延时最小的常驻节点。例如第一临时节点所发送的临时入网请求中会携带第一临时节点对应的地理位置,那么种子节点在接收到临时入网请求后,会基于第一临时节点对应的地理位置匹配出与该地理位置最接近的常驻节点以作为第一常驻节点,由于地理位置接近时建立连接的成本较低且稳定性较好,从而使得第一临时节点在以代理方式加入区块链网络后(第一临时节点与第一常驻节点建立连接后),第一临时节点不会轻易因网络波动而与区块链网络断开,提高了区块链网络整体的健壮性。
第一临时节点在于第一常驻节点建立连接后,就会在自身维护的代理池中写入第一常驻节点的节点信息,以后如果需要与区块链网络中其他节点进行通讯,可以通过将消息发送给第一常驻节点来实现代理转发。在本说明书实施例中,还包括:响应于第一临时节点发送的代理入网请求,向第一临时节点发送所述区块链网络中各常驻节点的节点信息。第一临时节点在加入区块链网络后,为了与区块链网络中的其他节点进行通讯,还需要知晓区块链网络中其他节点的节点信息,通过本说明书实施例可以使第一临时节点发送代理入网请求后从第一常规节点处获取区块链网络中其他常规节点的节点信息(对于第一常规节点而言,其他常规节点的节点信息可以存储在其维护的路由策略集中)。本说明书实施例所涉及的节点信息包括相应节点的节点标识和/或节点地址,当然,本说明书实施例所涉及的任一节点的节点地址可以包括该任一节点的IP地址、端口号和/或节点标识。
S204:创建第一临时节点对应的代理单元。其中,所述代理单元用于:接收第一临时节点发送的第一消息,在将第一消息的源地址更改为第一常驻节点的节点地址并为第一消息标记所述代理单元对应的代理标识后,基于第一消息的目的地址转发第一消息;以及,在接收到目的地址为第一常驻节点的节点地址且标记有所述代理标识的第二消息时,将第二消息转发至第一临时节点。
在本说明书实施例中,任一常驻节点维护的路由策略集包括从该任一常驻节点路由至所述区块链网络中其他每一常驻节点的路由策略。例如,任一常驻节点维护的路由策略集可以是任一常驻节点所维护的路由表,该路由表中维护有路由至所述区块链网络中其他每一常驻节点的路由条目(路由策略),每一个路由条目中维护有最终需要去往的某一个常驻节点的节点标识以及如果需要路由至该常驻节点所需路由的下一跳节点的节点标识。以图1为例,节点A上维护的路由表中记录有三个路由条目:“节点B-节 点B;节点C-节点B;节点D-节点D。”其中,每个路由条目左边的节点标识表示最终需要去往的某一个常驻节点的节点标识,每个路由条目右边的节点标识表示如果需要路由至左边的节点标识对应的常驻节点所需路由的下一跳节点的节点标识。例如当节点A接收到一个目的地址为节点C的节点地址的消息时,就会查找路由表并匹配路由条目“节点C-节点B”,确定需要将该消息发送至节点B,进一步查找自身维护的邻居表以获取节点B对应的节点地址,然后基于该节点地址将该消息发送至节点B。
在本说明书实施例中,任一常驻节点维护的路由策略集由所述区块链网络中各常驻节点的邻居表所确定并更新,该任一常驻节点维护的邻居表包括与该任一常驻节点相连接的其他常驻节点的节点信息。这意味着,区块链网络中任何常驻节点的邻居表发生变化都可能引发所述区块链网络中各常驻节点维护的路由策略集的大规模更新,这种行为主要发生在有新节点加入区块链网络时或者有节点从区块链网络中离线退出时。
在本说明书实施例中,第一常驻节点响应于第一临时节点发送的代理入网请求后,作为将第一临时节点的节点信息加入第一常驻节点的邻居表的替代,创建了用于对第一临时节点相关的消息进行代理转发的第一临时节点对应的代理单元,从而最终完成将第一临时节点加入区块链网络的过程,由于第一常驻节点在这个过程中并没有把与其建立连接的第一临时节点加入其维护的邻居表,因此也就不会通过区块链网络中的各类路由协议被区块链网络中的其他常驻节点所感知,不会触发各常驻节点更新各自维护的路由策略集的行为,由于各常驻节点均没有在第一临时节点加入区块链网络后更新相应的路由策略集,因此如果后续第一临时节点退出区块链网络时自然也不会相应地更新路由策略集。
本说明书实施例所涉及的代理单元具体是指维护在常驻节点中且用于代理转发与其建立有代理关系的临时节点相关消息的程序实例。下面以图1中节点a基于节点A中创建的代理单元a进行代理转发为例,来说明本说明书所涉及的代理单元的基本功能。节点a假设需要向节点D发送第一消息(此时第一消息的源地址为节点a的节点地址,目的地址为节点D的节点地址),那么首先节点a会查找自身的代理池并找到与其建立有代理关系的节点A的节点信息,从而将第一消息发送给节点A;节点A在确定接收到第一消息来自节点a后,会将第一消息交付其所创建的代理单元a进行处理,代理单元a进而将第一消息的源地址更改为节点A的节点地址,并为其添加一个只能被节点A所识别的代理单元a对应的代理标识,然后再基于第一消息的目的地址以及自身维护的路由策略集将第一消息转发至节点D;节点D在接收到第一消息后,检查得到该消息中包 含代理标识,那么也会在响应于第一消息进行应答时返回的第二消息中添加该代理标识,但节点D仍会认为该消息的来源为节点A,于是节点D将基于其维护的路由策略集将第二消息发送给节点A;节点A在接收到第二消息并确认其携带有代理单元a对应的代理标识后,同样会将第二消息交付代理单元a进行处理,代理单元a会删除第二消息中代理单元a对应的代理标识,同时修改第二消息的目的地址为节点a的节点地址,然后将第二消息转发给节点a;节点a在接收到第二消息后,可以知晓该第二消息的源地址为节点D的节点地址,即节点a会认为其在与节点D进行正常通讯。
在本说明书实施例中,同一个常驻节点可以同时与多个临时节点建立代理关系,从而针对临时节点同时创建有对应的多个代理单元。以图1为例,节点A同时与节点a与节点b建立有代理关系,节点A上分别创建有节点a对应的代理单元a与节点b对应的代理单元b,由于代理单元a与代理单元b对应的代理标识不同,这样一来就可以在接收到相应代理标识的消息时将消息转发至正确的临时节点。
在本说明书实施例中,同一个临时节点可以同时与区块链网络中的一个或多个常驻节点建立代理关系,从而在一个或多个常驻节点相应创建有一个或多个对应于该同一个临时节点的代理单元。在针对同一个临时节点创建有多个代理单元时,多个代理单元对应的代理标识可以相同或不同,由此可以引导区块链网络中需要最终发送至该同一个临时节点的消息去往相应的常驻节点。以图1为例,节点c同时与节点B和节点C建立有代理关系,节点B上创建有节点c对应的代理单元c1,节点C上创建有节点c对应的代理单元c2,而代理单元c1与代理单元c2对应的代理标识可以相同或不同。当代理单元c1与代理单元c2对应的代理标识相同时,从区块链网络中需要最终发送至节点c的消息可以灵活地通过节点B或节点C返回节点c;当代理单元c1与代理单元c2对应的代理标识不同时,可以使得节点c自行设计不同的消息分路策略,例如将不同类型的消息从建立有代理关系的不同的常驻节点(节点B或节点C)发送至区块链网络,以使区块链网络响应某一类型的消息而返回的消息(携带有该类型对应的代理标识)仅能通过对应的常驻节点(维护有该类型对应的代理标识所对应的代理单元的常驻节点)返回,实现某一类型的消息从同一处常驻节点发送进入区块链网络或从区块链网络中接收并返回作为临时节点的节点c。
在本说明书实施例中,任一临时节点和与其建立连接的至少一个常驻节点之间、任意两个常驻节点之间采用相同的P2P(peer-to-peer,点对点)通信协议。区块链网络中各常驻节点之间通过P2P通信协议进行通讯,例如,通过在第一临时节点与第一常驻节 点之间仍采用相同的P2P通信协议,可以降低侵入性、减少额外通讯组件的开发成本,同时相较于传统HTTPS(Hypertext Transfer Protocol Secure,超文本传输安全协议)、RPC(Remote Procedure Call Protocol,远程调用协议)或WSS(Web Socket Secure,网络套接字协议),还能享有P2P通信协议所带来的匿名性、强连通性、提高抗封锁并提供P2P打洞服务等优势。
由上述实施例可知,本说明书通过将第一临时节点以代理方式加入区块链网络,即只与存在代理关系的第一常驻节点建立连接,而不与所述区块链网络中不存在代理关系的节点相连接,从而使得区块链网络中和第一临时节点不存在代理关系的节点无法感知到第一临时节点的加入,因此这些节点不会在第一临时节点加入时触发更新自身的路由策略,于是在第一临时节点退出区块链网络时自然也不会更新自身的路由策略,即任一常驻节点维护的路由策略集只包括从该任一常驻节点路由其他每一常驻节点的路由策略,而不包括从该任一常驻节点路由至任一临时节点的路由策略,从而节省了网络维护成本,降低了区块链网络的压力,维持了区块链网络中各个节点之间通讯的稳定性;另外,第一常驻节点作为能够感知到第一临时节点加入区块链网络的节点,还会创建第一临时节点对应的代理单元负责对从第一临时节点发出的消息或需要发送给第一临时节点的消息进行代理转发,因此第一临时节点在与区块链网络中的其他节点进行通讯时,区块链网络中的其他节点会认为其在与第一常驻节点进行通讯,从而在其他节点无法感知到第一临时节点的情况下,不影响第一临时节点与区块链网络中各节点之间的正常通讯。
可选的,还包括:在检测到与第一临时节点建立的连接断开的情况下,删除所述代理单元。当第一临时节点主动或被动断开与第一常驻节点的连接时,就默认第一临时节点已经退出了区块链网络,此时第一常驻节点可以检测到与第一临时节点建立的连接已经断开,那么就可以删除本地创建第一临时节点对应的代理单元。第一常驻节点可以通过心跳机制来检测与第一临时节点之间建立的连接是否已经断开。通过上述实施例中,本说明书在第一临时节点退出区块链网络时仅会触发与第一临时节点建立有代理关系的常驻节点对第一临时节点对应的代理单元的删除,而不会触发大规模的路由策略集的更新,从而节省了网络维护成本,降低了区块链网络的压力,维持了区块链网络中各个节点之间通讯的稳定性。
图3是一示例性实施例提供的一种设备的示意结构图。请参考图3,在硬件层面,该设备包括处理器302、内部总线304、网络接口306、内存308以及非易失性存储器 310,当然还可能包括其他业务所需要的硬件。本说明书一个或多个实施例可以基于软件方式来实现,比如由处理器302从非易失性存储器310中读取对应的计算机程序到内存308中然后运行。当然,除了软件实现方式之外,本说明书一个或多个实施例并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
如图4所示,图4是一示例性实施例提供的一种加入区块链网络的装置的框图,该装置可以应用于如图3所示的设备中,以实现本说明书的技术方案。该装置应用于所述区块链网络中的第一常驻节点,所述区块链网络中的节点包括常驻节点与临时节点,任一常驻节点维护的路由策略集包括从该任一常驻节点路由至所述区块链网络中其他每一常驻节点的路由策略;任一临时节点维护的代理池包括与该任一临时节点建立连接的至少一个常驻节点的节点信息,该任一临时节点不与所述区块链网络中除该至少一个常驻节点以外的节点相连接。所述装置包括:建立连接单元401,用于响应于第一临时节点发送的代理入网请求,与第一临时节点建立连接;代理创建单元402,用于创建第一临时节点对应的代理单元。其中,所述代理单元用于:接收第一临时节点发送的第一消息,在将第一消息的源地址更改为第一常驻节点的节点地址并为第一消息标记所述代理单元对应的代理标识后,基于第一消息的目的地址转发第一消息;以及,在接收到目的地址为第一常驻节点的节点地址且标记有所述代理标识的第二消息时,将第二消息转发至第一临时节点。
可选的,第一临时节点通过向所述区块链网络发送临时入网请求以获取区块链网络响应于所述临时入网请求返回的第一常驻节点的节点地址。
可选的,第一常驻节点为所述区块链网络中负载程度最低、与第一临时节点在地理位置上最接近或者与第一临时节点之间的网络延时最小的常驻节点。
可选的,还包括:代理删除单元403,用于在检测到与第一临时节点建立的连接断开的情况下,删除所述代理单元。
可选的,还包括:节点信息发送单元404,用于响应于第一临时节点发送的代理入网请求,向第一临时节点发送所述区块链网络中各常驻节点的节点信息。
可选的,所述节点信息包括节点标识和/或节点地址。
可选的,任一常驻节点包括承担所述区块链网络中区块链系统工作的节点,任一临时节点临时加入所述区块链网络或所述区块链网络中频繁离线的节点。
可选的,任一临时节点和与其建立连接的至少一个常驻节点之间、任意两个常驻节点之间采用相同的P2P通信协议。
上述装置实施例与前述方法实施例相对应,不存在本质上的差异,详细的说明在前述相应的方法实施例中均有记载,这里不再赘述。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable Gate Array,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware Description Language)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(Ruby Hardware Description Language)等,目前最普遍使用的是VHDL(Very-High-Speed Integrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编 程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为服务器系统。当然,本发明不排除随着未来计算机技术的发展,实现上述实施例功能的计算机例如可以为个人计算机、膝上型计算机、车载人机交互设备、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
虽然本说明书一个或多个实施例提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的手段可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或终端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境,甚至为分布式数据处理环境)。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、产品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、产品或者设备所固有的要素。在没有更多限制的情况下,并不排除在包括所述要素的过程、方法、产品或者设备中还存在另外的相同或等同要素。例如若使用到第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本说明书一个或多个时可以把各模块的功能在同一个或多个软件和/或硬件中实现,也可以将实现同一功能的模块由多个子模块或子单元的组合实现等。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
本发明是参照根据本发明实施例的方法、装置(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每 一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储、石墨烯存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
本领域技术人员应明白,本说明书一个或多个实施例可提供为方法、系统或计算机程序产品。因此,本说明书一个或多个实施例可采用完全硬件实施例、完全软件实施例 或结合软件和硬件方面的实施例的形式。而且,本说明书一个或多个实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书一个或多个实施例可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本本说明书一个或多个实施例,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本说明书的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
Claims (11)
- 一种加入区块链网络的方法,应用于所述区块链网络中的第一常驻节点,所述区块链网络中的节点包括常驻节点与临时节点,任一常驻节点维护的路由策略集包括从该任一常驻节点路由至所述区块链网络中其他每一常驻节点的路由策略;任一临时节点维护的代理池包括与该任一临时节点建立连接的至少一个常驻节点的节点信息,该任一临时节点不与所述区块链网络中除该至少一个常驻节点以外的节点相连接;所述方法包括:响应于第一临时节点发送的代理入网请求,与第一临时节点建立连接;创建第一临时节点对应的代理单元,所述代理单元用于:接收第一临时节点发送的第一消息,在将第一消息的源地址更改为第一常驻节点的节点地址并为第一消息标记所述代理单元对应的代理标识后,基于第一消息的目的地址转发第一消息;以及,在接收到目的地址为第一常驻节点的节点地址且标记有所述代理标识的第二消息时,将第二消息转发至第一临时节点。
- 根据权利要求1所述的方法,第一临时节点通过向所述区块链网络发送临时入网请求以获取区块链网络响应于所述临时入网请求返回的第一常驻节点的节点地址。
- 根据权利要求1所述的方法,第一常驻节点为所述区块链网络中负载程度最低、与第一临时节点在地理位置上最接近或者与第一临时节点之间的网络延时最小的常驻节点。
- 根据权利要求1所述的方法,还包括:在检测到与第一临时节点建立的连接断开的情况下,删除所述代理单元。
- 根据权利要求1所述的方法,还包括:响应于第一临时节点发送的代理入网请求,向第一临时节点发送所述区块链网络中各常驻节点的节点信息。
- 根据权利要求1或5所述的方法,所述节点信息包括节点标识和/或节点地址。
- 根据权利要求1所述的方法,任一常驻节点包括承担所述区块链网络中区块链系统工作的节点,任一临时节点临时加入所述区块链网络或所述区块链网络中频繁离线的节点。
- 根据权利要求1所述的方法,任一临时节点和与其建立连接的至少一个常驻节点之间、任意两个常驻节点之间采用相同的P2P通信协议。
- 一种加入区块链网络的装置,应用于所述区块链网络中的第一常驻节点,所述区块链网络中的节点包括常驻节点与临时节点,任一常驻节点维护的路由策略集包括从该任一常驻节点路由至所述区块链网络中其他每一常驻节点的路由策略;任一临时节点维护的代理池包括与该任一临时节点建立连接的至少一个常驻节点的节点信息,该任一临时节点不与所述区块链网络中除该至少一个常驻节点以外的节点相连接;所述装置包括:建立连接单元,用于响应于第一临时节点发送的代理入网请求,与第一临时节点建立连接;代理创建单元,用于创建第一临时节点对应的代理单元,所述代理单元用于:接收第一临时节点发送的第一消息,在将第一消息的源地址更改为第一常驻节点的节点地址并为第一消息标记所述代理单元对应的代理标识后,基于第一消息的目的地址转发第一消息;以及,在接收到目的地址为第一常驻节点的节点地址且标记有所述代理标识的第二消息时,将第二消息转发至第一临时节点。
- 一种区块链网络系统,所述区块链网络系统中的节点包括常驻节点与临时节点,其中:任一常驻节点维护的路由策略集包括从该任一常驻节点路由至所述区块链网络系统中其他每一常驻节点的路由策略;任一临时节点维护的代理池包括与该任一临时节点建立连接的至少一个常驻节点的节点信息,该任一临时节点不与所述区块链网络中除该至少一个常驻节点以外的节点相连接,该至少一个常驻节点创建有对应于该任一临时节点的代理单元,所述代理单元用于:接收该任一临时节点发送的第一消息,在将第一消息的源地址更改为该至少一个常驻节点的节点地址并为第一消息标记所述代理单元对应的代理标识后,基于第一消息的目的地址转发第一消息;以及,在接收到目的地址为该至少一个常驻节点的节点地址且标记有所述代理标识的第二消息时,将第二消息转发至该任一临时节点。
- 一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器通过运行所述可执行指令以实现如权利要求1-8中任一项所述的 方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211352480.9 | 2022-10-31 | ||
CN202211352480.9A CN115834578A (zh) | 2022-10-31 | 2022-10-31 | 一种加入区块链网络的方法、装置、电子设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2024092925A1 true WO2024092925A1 (zh) | 2024-05-10 |
Family
ID=85525989
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2022/135210 WO2024092925A1 (zh) | 2022-10-31 | 2022-11-30 | 一种加入区块链网络的方法、装置、电子设备和存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN115834578A (zh) |
WO (1) | WO2024092925A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118381681B (zh) * | 2024-06-25 | 2024-08-20 | 欢乐互娱(上海)科技股份有限公司 | 使用异地组网实现cicd的方法、系统及代理节点 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109981622A (zh) * | 2019-03-15 | 2019-07-05 | 智链万源(北京)数字科技有限公司 | 区块链网络节点权限反向代理方法及设备 |
CN111817967A (zh) * | 2020-08-28 | 2020-10-23 | 支付宝(杭州)信息技术有限公司 | 区块链网络的通信优化系统、注册方法及报文转发方法 |
US20210306428A1 (en) * | 2020-11-24 | 2021-09-30 | Beijing Baidu Netcom Science And Technology Co., Ltd. | Method and apparatus for communication between private networks, electronic device and storage medium |
CN114157640A (zh) * | 2022-02-10 | 2022-03-08 | 北京中宇万通科技股份有限公司 | 用于区块链通信系统的方法、控制器与代理装置 |
-
2022
- 2022-10-31 CN CN202211352480.9A patent/CN115834578A/zh active Pending
- 2022-11-30 WO PCT/CN2022/135210 patent/WO2024092925A1/zh unknown
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109981622A (zh) * | 2019-03-15 | 2019-07-05 | 智链万源(北京)数字科技有限公司 | 区块链网络节点权限反向代理方法及设备 |
CN111817967A (zh) * | 2020-08-28 | 2020-10-23 | 支付宝(杭州)信息技术有限公司 | 区块链网络的通信优化系统、注册方法及报文转发方法 |
US20210306428A1 (en) * | 2020-11-24 | 2021-09-30 | Beijing Baidu Netcom Science And Technology Co., Ltd. | Method and apparatus for communication between private networks, electronic device and storage medium |
CN114157640A (zh) * | 2022-02-10 | 2022-03-08 | 北京中宇万通科技股份有限公司 | 用于区块链通信系统的方法、控制器与代理装置 |
Also Published As
Publication number | Publication date |
---|---|
CN115834578A (zh) | 2023-03-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9948575B2 (en) | Issuing method for forwarding adjacency link | |
CN113259455B (zh) | 跨子网交互方法及装置 | |
US11855876B2 (en) | BMP route detection method and network device | |
US20120096136A1 (en) | Method and apparatus for sharing contents using information of group change in content oriented network environment | |
CN114978978A (zh) | 一种算力资源调度方法、装置、电子设备及介质 | |
WO2023124744A1 (zh) | 跨子网交互 | |
WO2019085975A1 (zh) | 一种网络拓扑显示方法及网络管理设备 | |
CN101521616A (zh) | 边界网关协议bgp分布式系统中邻居迁移的方法和系统 | |
WO2024092925A1 (zh) | 一种加入区块链网络的方法、装置、电子设备和存储介质 | |
EP3779692B1 (en) | Blockchain data processing | |
WO2024001022A1 (zh) | 跨子网调用 | |
US10298672B2 (en) | Global contact-point registry for peer network devices | |
US11431619B2 (en) | Hierarchical ECMP control plane for dense topologies | |
CN105591872B (zh) | 一种实现多数据中心互联的方法和装置 | |
WO2024021412A1 (zh) | 结构化p2p网络优化 | |
Hassanzadeh-Nazarabadi et al. | DHT-based edge and fog computing systems: infrastructures and applications | |
CN114363335A (zh) | 跨链交互方法及装置 | |
US10686877B2 (en) | Network communication method, peers, and network communication system | |
WO2015117402A1 (zh) | 基于软件定义网络的数据管理方法、系统及存储介质 | |
CN109413118B (zh) | 一种实现会话同步的方法、装置及存储介质、程序产品 | |
WO2022257773A1 (zh) | 路由检测方法、设备、系统及存储介质 | |
CN111404827B (zh) | 一种数据包处理方法、装置及电子设备和存储介质 | |
CN108206823A (zh) | 一种处理报文的方法及网络设备 | |
WO2020024649A1 (zh) | 数据处理方法和装置、服务器 | |
US20200341968A1 (en) | Differential Update of Local Cache from Central Database |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 22964221 Country of ref document: EP Kind code of ref document: A1 |