CN112383473B - A method for establishing P2P direct connections between nodes in an auxiliary blockchain network - Google Patents

A method for establishing P2P direct connections between nodes in an auxiliary blockchain network Download PDF

Info

Publication number
CN112383473B
CN112383473B CN202011272265.9A CN202011272265A CN112383473B CN 112383473 B CN112383473 B CN 112383473B CN 202011272265 A CN202011272265 A CN 202011272265A CN 112383473 B CN112383473 B CN 112383473B
Authority
CN
China
Prior art keywords
network
node
nodes
blockchain
message
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202011272265.9A
Other languages
Chinese (zh)
Other versions
CN112383473A (en
Inventor
曾超
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ant Blockchain Technology Shanghai Co Ltd
Original Assignee
Alipay Hangzhou Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alipay Hangzhou Information Technology Co Ltd filed Critical Alipay Hangzhou Information Technology Co Ltd
Priority to CN202011272265.9A priority Critical patent/CN112383473B/en
Publication of CN112383473A publication Critical patent/CN112383473A/en
Application granted granted Critical
Publication of CN112383473B publication Critical patent/CN112383473B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • H04L67/104—Peer-to-peer [P2P] networks
    • H—ELECTRICITY
    • H04—ELECTRIC COMMUNICATION TECHNIQUE
    • H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00—Routing or path finding of packets in data switching networks
    • H04L45/24—Multipath
    • H04L45/245—Link aggregation, e.g. trunking
    • H—ELECTRICITY
    • H04—ELECTRIC COMMUNICATION TECHNIQUE
    • H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本说明书实施例公开了辅助区块链网络中的节点建立P2P直连的方法。区块链网络包括P2P网络和中继网络。对于属于同一内网的若干区块链节点,与这些区块链节点直接连接的中继节点可以协助这些节点建立基于私用网络地址的P2P内网连接。建立P2P内网连接后,这些区块链节点通过P2P网络进行通信可能会获得更好的网络服务质量。通过协助一些可能提升网络服务质量的P2P直连的建立,有助于挖掘更丰富的链路优化信息。

Figure 202011272265

The embodiment of this specification discloses a method for assisting nodes in a blockchain network to establish a P2P direct connection. Blockchain network includes P2P network and relay network. For several blockchain nodes belonging to the same intranet, relay nodes directly connected to these blockchain nodes can assist these nodes to establish P2P intranet connections based on private network addresses. After the P2P intranet connection is established, these blockchain nodes may obtain better network service quality when communicating through the P2P network. By assisting the establishment of some P2P direct connections that may improve network service quality, it helps to mine richer link optimization information.

Figure 202011272265

Description

辅助区块链网络中的节点建立P2P直连的方法A method for establishing a P2P direct connection between nodes in an auxiliary blockchain network

分案说明Case Description

本申请是2020年6月12日提交的题为“区块链网络中的通信方法、业务数据传输方法”的中国专利申请CN202010534549.4的分案申请。This application is a divisional application of the Chinese patent application CN202010534549.4 filed on June 12, 2020, entitled "Communication method in blockchain network, business data transmission method".

技术领域technical field

本说明书涉及通信领域,特别涉及辅助区块链网络中的节点建立P2P直连的方法。This specification relates to the field of communication, in particular to a method for assisting nodes in a blockchain network to establish a P2P direct connection.

背景技术Background technique

由于P2P(Peer to Peer,点对点)网络中的节点分布具有随机性等原因,P2P网络存在部分通信链路服务质量(Quality of Service,QoS)差以及通信链路的服务质量时好时坏等问题。借助中继网络的快速中转能力和稳定性,可以一定程度上解决P2P网络存在的上述问题。然而,由于同一份数据还需要在中继网络中复制传输,造成了网络带宽和机器资源的浪费,一定程度上影响节点的网络处理能力。Due to the randomness of the distribution of nodes in the P2P (Peer to Peer, point-to-point) network, there are some problems in the P2P network, such as poor quality of service (Quality of Service, QoS) of some communication links and quality of service of communication links. . With the help of the fast transfer capability and stability of the relay network, the above-mentioned problems existing in the P2P network can be solved to a certain extent. However, since the same piece of data needs to be copied and transmitted in the relay network, it causes a waste of network bandwidth and machine resources, and affects the network processing capabilities of nodes to a certain extent.

因此,希望提供一种能够减少重复数据传输量的网络通信方案。Therefore, it is desirable to provide a network communication solution capable of reducing the amount of repeated data transmission.

发明内容Contents of the invention

本说明书实施例之一提供一种辅助区块链网络中的节点建立P2P直连的方法。所述区块链网络包括具有通信连接的P2P网络和中继网络。所述方法由所述中继网络中的某一中继节点执行,所述中继节点直接连接有P2P网络中的至少两个区块链节点。所述方法包括:获得所述至少两个区块链节点的公用网络地址;判断所述至少两个区块链节点的公用网络地址是否相同;若是,则协助所述至少两个区块链节点建立P2P直接连接。其中,所述协助所述至少两个区块链节点建立P2P直接连接包括:向所述至少两个区块链节点查询各自的私用网络地址;至少向所述至少两个区块链节点之一发送其它区块链节点的私用网络地址,以使所述至少两个区块链节点基于私用网络地址建立P2P直接连接。One of the embodiments of this specification provides a method for assisting nodes in a blockchain network to establish a P2P direct connection. The blockchain network includes a P2P network and a relay network with communication connections. The method is executed by a certain relay node in the relay network, and the relay node is directly connected to at least two block chain nodes in the P2P network. The method includes: obtaining the public network addresses of the at least two blockchain nodes; judging whether the public network addresses of the at least two blockchain nodes are the same; if so, assisting the at least two blockchain nodes Establish a P2P direct connection. Wherein, said assisting said at least two blockchain nodes to establish a P2P direct connection includes: querying said at least two blockchain nodes for their respective private network addresses; - sending the private network addresses of other blockchain nodes, so that the at least two blockchain nodes establish a P2P direct connection based on the private network addresses.

本说明书实施例之一提供一种辅助区块链网络中的节点建立P2P直连的系统。其中,所述区块链网络包括具有通信连接的P2P网络和中继网络。所述系统在所述中继网络中的某一中继节点上实现,所述中继节点直接连接有P2P网络中的至少两个区块链节点。所述系统包括:公用网络地址获得模块,用于获得所述至少两个区块链节点的公用网络地址;P2P直连协助模块,用于:判断所述至少两个区块链节点的公用网络地址是否相同;若是,则协助所述至少两个区块链节点建立P2P直接连接。其中,所述协助所述至少两个区块链节点建立P2P直接连接包括:向所述至少两个区块链节点查询各自的私用网络地址;至少向所述至少两个区块链节点之一发送其它区块链节点的私用网络地址,以使所述至少两个区块链节点基于私用网络地址建立P2P直接连接。One of the embodiments of this specification provides a system for assisting nodes in a blockchain network to establish a P2P direct connection. Wherein, the blockchain network includes a P2P network and a relay network with communication connections. The system is implemented on a certain relay node in the relay network, and the relay node is directly connected to at least two block chain nodes in the P2P network. The system includes: a public network address obtaining module for obtaining the public network addresses of the at least two blockchain nodes; a P2P direct connection assistance module for: judging the public network of the at least two blockchain nodes Whether the addresses are the same; if so, assisting the at least two blockchain nodes to establish a P2P direct connection. Wherein, said assisting said at least two blockchain nodes to establish a P2P direct connection includes: querying said at least two blockchain nodes for their respective private network addresses; - sending the private network addresses of other blockchain nodes, so that the at least two blockchain nodes establish a P2P direct connection based on the private network addresses.

本说明书实施例之一提供一种辅助区块链网络中的节点建立P2P直连的装置,包括处理器和存储设备。所述存储设备用于存储指令,当所述处理器执行指令时,实现如本说明书任一实施例所述的辅助区块链网络中的节点建立P2P直连的方法。One of the embodiments of this specification provides an apparatus for assisting nodes in a blockchain network to establish a P2P direct connection, including a processor and a storage device. The storage device is used to store instructions, and when the processor executes the instructions, the method for assisting nodes in the blockchain network to establish a P2P direct connection as described in any embodiment of this specification is implemented.

本说明书实施例之一提供一种区块链网络中的通信方法,其中,所述区块链网络包括具有通信连接的P2P网络和中继网络,所述方法由所述P2P网络中的某一区块链节点执行,所述方法包括:对于所述P2P网络中的任一其它区块链节点:通过所述P2P网络向所述其它区块链节点发送至少一个第一探测消息,接收所述其它区块链节点通过所述P2P网络返回的至少一个第一响应消息,所述至少一个第一响应消息与所述至少一个第一探测消息一一对应;根据所述至少一个第一探测消息的发送时间和所述至少一个第一响应消息的接收时间,确定所述某一区块链节点与所述其它区块链节点之间的P2P网络通信链路的第一服务质量数据;通过所述中继网络向所述其它区块链节点发送至少一个第二探测消息,接收所述其它区块链节点通过所述中继网络返回的至少一个第二响应消息,所述至少一个第二响应消息与所述至少一个第二探测消息一一对应;根据所述至少一个第二探测消息的发送时间和所述至少一个第二响应消息的接收时间,获得所述某一区块链节点与所述其它区块链节点之间的中继网络通信链路的第二服务质量数据;比较所述第一服务质量数据和所述第二服务质量数据;根据比较结果记录所述某一区块链节点到所述其它区块链节点的链路优化信息,该链路优化信息指示通过所述P2P网络和所述中继网络之一将业务数据从所述某一区块链节点传输至该其它区块链节点。One of the embodiments of this specification provides a communication method in a blockchain network, wherein the blockchain network includes a P2P network and a relay network with communication connections, and the method is implemented by one of the P2P networks The block chain node executes, and the method includes: for any other block chain node in the P2P network: sending at least one first detection message to the other block chain node through the P2P network, receiving the At least one first response message returned by other blockchain nodes through the P2P network, the at least one first response message is in one-to-one correspondence with the at least one first detection message; according to the at least one first detection message The sending time and the receiving time of the at least one first response message determine the first quality of service data of the P2P network communication link between the certain block chain node and the other block chain nodes; through the The relay network sends at least one second detection message to the other blockchain nodes, and receives at least one second response message returned by the other blockchain nodes through the relay network, and the at least one second response message One-to-one correspondence with the at least one second detection message; according to the sending time of the at least one second detection message and the receiving time of the at least one second response message, obtain the connection between the certain block chain node and the The second quality of service data of the relay network communication link between other blockchain nodes; compare the first quality of service data and the second quality of service data; record the certain blockchain node according to the comparison result Link optimization information to the other block chain nodes, the link optimization information indicates that business data is transmitted from the certain block chain node to the other area through one of the P2P network and the relay network Blockchain nodes.

本说明书实施例之一提供一种区块链网络中的通信系统,其中,所述区块链网络包括具有通信连接的P2P网络和中继网络,所述通信系统在所述P2P网络中的某一区块链节点上实现,所述通信系统包括第一服务质量数据获得模块、第二服务质量数据获得模块、服务质量数据比较模块和链路优化信息记录模块;对于所述P2P网络中的任一其它区块链节点:所述第一服务质量数据获得模块用于:通过所述P2P网络向所述其它区块链节点发送至少一个第一探测消息,接收所述其它区块链节点通过所述P2P网络返回的至少一个第一响应消息,根据所述至少一个第一探测消息的发送时间和所述至少一个第一响应消息的接收时间,确定所述某一区块链节点与所述其它区块链节点之间的P2P网络通信链路的第一服务质量数据,其中,所述至少一个第一响应消息与所述至少一个第一探测消息一一对应;所述第二服务质量数据获得模块用于:通过所述中继网络向所述其它区块链节点发送至少一个第二探测消息,接收所述其它区块链节点通过所述中继网络返回的至少一个第二响应消息,根据所述至少一个第二探测消息的发送时间和所述至少一个第二响应消息的接收时间,获得所述某一区块链节点与所述其它区块链节点之间的中继网络通信链路的第二服务质量数据,其中,所述至少一个第二响应消息与所述至少一个第二探测消息一一对应;所述第一服务质量数据获得模块用于比较所述第一服务质量数据和所述第二服务质量数据;所述链路优化信息记录模块用于根据比较结果记录所述某一区块链节点到所述其它区块链节点的链路优化信息,该链路优化信息指示通过所述P2P网络和所述中继网络之一将业务数据从所述某一区块链节点传输至该其它区块链节点。One of the embodiments of this specification provides a communication system in a block chain network, wherein the block chain network includes a P2P network and a relay network with communication connections, and the communication system in a certain part of the P2P network Realized on a block chain node, the communication system includes a first quality of service data acquisition module, a second service quality data acquisition module, a service quality data comparison module and a link optimization information recording module; for any in the P2P network One other block chain node: the first quality of service data obtaining module is used to: send at least one first detection message to the other block chain node through the P2P network, receive the other block chain node through the At least one first response message returned by the P2P network, according to the sending time of the at least one first detection message and the receiving time of the at least one first response message, determine the relationship between the certain block chain node and the other The first quality of service data of the P2P network communication link between blockchain nodes, wherein the at least one first response message corresponds to the at least one first detection message one by one; the second quality of service data is obtained The module is used to: send at least one second detection message to the other blockchain nodes through the relay network, and receive at least one second response message returned by the other blockchain nodes through the relay network, according to The sending time of the at least one second detection message and the receiving time of the at least one second response message obtain the relay network communication link between the certain blockchain node and the other blockchain nodes The second quality of service data, wherein, the at least one second response message is in one-to-one correspondence with the at least one second probe message; the first quality of service data obtaining module is used to compare the first quality of service data with The second quality of service data; the link optimization information recording module is used to record the link optimization information from the certain block chain node to the other block chain nodes according to the comparison result, and the link optimization information indicates The service data is transmitted from the certain block chain node to the other block chain node through one of the P2P network and the relay network.

本说明书实施例之一提供一种区块链网络中的通信装置,其中,包括处理器和存储设备,所述存储设备用于存储指令,当所述处理器执行指令时,实现如本说明书任一实施例所述的通信方法。One of the embodiments of this specification provides a communication device in a blockchain network, which includes a processor and a storage device, and the storage device is used to store instructions. When the processor executes the instructions, any A communication method described in an embodiment.

本说明书实施例之一提供一种区块链网络中的业务数据传输方法,其中,所述区块链网络包括具有通信连接的P2P网络和中继网络;所述方法由所述P2P网络中的某一区块链节点执行,其包括:获得待传输的业务数据;确定所述业务数据的目的区块链节点;查询所述某一区块链节点到所述目的区块链节点对应的链路优化信息,该链路优化信息指示通过所述P2P网络和所述中继网络之一将业务数据从所述某一区块链节点传输至所述目的区块链节点;根据查询结果选择通过所述P2P网络和所述中继网络之一将所述业务数据传输至所述目的区块链节点。One of the embodiments of this specification provides a business data transmission method in a block chain network, wherein the block chain network includes a P2P network and a relay network with communication connections; the method is implemented by the P2P network Execution by a certain block chain node, which includes: obtaining the business data to be transmitted; determining the target block chain node of the business data; querying the link from the certain block chain node to the target block chain node Path optimization information, the link optimization information indicates that business data is transmitted from the certain blockchain node to the destination blockchain node through one of the P2P network and the relay network; One of the P2P network and the relay network transmits the service data to the destination blockchain node.

本说明书实施例之一提供一种区块链网络中的业务数据传输系统,其中,所述区块链网络包括具有通信连接的P2P网络和中继网络;所述业务数据传输系统在所述P2P网络中的某一区块链节点上实现,其包括:第一业务数据获得模块,用于获得待传输的业务数据;目的区块链节点确定模块,用于确定所述业务数据的目的区块链节点;链路优化信息查询模块,用于查询所述某一区块链节点到所述目的区块链节点对应的链路优化信息,该链路优化信息指示通过所述P2P网络和所述中继网络之一将业务数据从所述某一区块链节点传输至所述目的区块链节点;第一选择模块,用于根据查询结果选择通过所述P2P网络和所述中继网络之一将所述业务数据传输至所述目的区块链节点。One of the embodiments of this specification provides a business data transmission system in a blockchain network, wherein the blockchain network includes a P2P network and a relay network with communication connections; the business data transmission system is in the P2P Implemented on a block chain node in the network, which includes: a first business data acquisition module, used to obtain the business data to be transmitted; a target block chain node determination module, used to determine the target block of the business data Chain node; link optimization information query module, used to query the link optimization information corresponding to the target block chain node from the certain block chain node, the link optimization information indicates that through the P2P network and the One of the relay networks transmits business data from the certain block chain node to the target block chain node; the first selection module is used to select the P2P network and the relay network according to the query result. - transmitting the business data to the target blockchain node.

本说明书实施例之一提供一种区块链网络中的业务数据传输装置,其中,包括处理器和存储设备,所述存储设备用于存储指令,当所述处理器执行指令时,实现如本说明书任一实施例所述的由区块链节点执行的业务数据传输方法。One of the embodiments of this specification provides a business data transmission device in a blockchain network, which includes a processor and a storage device, and the storage device is used to store instructions. When the processor executes the instructions, the The business data transmission method performed by the blockchain node described in any embodiment of the description.

本说明书实施例之一提供一种区块链网络中的业务数据传输方法,其中,所述区块链网络包括具有通信连接的P2P网络和中继网络;所述方法由所述中继网络中的某一中继节点执行,所述中继节点直接连接有P2P网络中的至少两个区块链节点;所述方法包括:获得来自所述至少两个区块链节点中的某一区块链节点广播的业务数据;获得所述某一区块链节点上报的链路优化信息;所述链路优化信息指示通过所述P2P网络和所述中继网络之一将业务数据从所述某一区块链节点传输至所述至少两个区块链节点中的其它区块链节点;根据所述某一区块链节点上报的链路优化信息选择是否向所述至少两个区块链节点中的其它区块链节点发送所述业务数据。One of the embodiments of this specification provides a business data transmission method in a block chain network, wherein the block chain network includes a P2P network and a relay network with communication connections; the method is implemented by the relay network Executed by a certain relay node, the relay node is directly connected to at least two blockchain nodes in the P2P network; the method includes: obtaining a certain block from the at least two blockchain nodes The service data broadcast by the chain node; obtain the link optimization information reported by the certain block chain node; A block chain node is transmitted to other block chain nodes in the at least two block chain nodes; according to the link optimization information reported by the certain block chain node, whether to send the link optimization information to the at least two block chain nodes Other blockchain nodes in the node send the business data.

本说明书实施例之一提供一种区块链网络中的业务数据传输系统,其中,所述区块链网络包括具有通信连接的P2P网络和中继网络;所述业务数据传输系统在所述中继网络中的某一中继节点上实现,所述中继节点直接连接有P2P网络中的至少两个区块链节点;所述业务数据传输系统包括:第二业务数据获得模块,用于获得来自所述至少两个区块链节点中的某一区块链节点广播的业务数据;链路优化信息获得模块,用于获得所述某一区块链节点上报的链路优化信息;所述链路优化信息指示通过所述P2P网络和所述中继网络之一将业务数据从所述某一区块链节点传输至所述至少两个区块链节点中的其它区块链节点;第二选择模块,用于根据所述某一区块链节点上报的链路优化信息选择是否向所述至少两个区块链节点中的其它区块链节点发送所述业务数据。One of the embodiments of this specification provides a business data transmission system in a blockchain network, wherein the blockchain network includes a P2P network and a relay network with communication connections; the business data transmission system in the Realized on a relay node in the relay network, the relay node is directly connected to at least two block chain nodes in the P2P network; the service data transmission system includes: a second service data obtaining module for obtaining Business data broadcast from a certain blockchain node among the at least two blockchain nodes; a link optimization information obtaining module, configured to obtain link optimization information reported by the certain blockchain node; the The link optimization information indicates that service data is transmitted from the certain block chain node to other block chain nodes in the at least two block chain nodes through one of the P2P network and the relay network; A selection module, configured to select whether to send the business data to other blockchain nodes among the at least two blockchain nodes according to the link optimization information reported by the certain blockchain node.

本说明书实施例之一提供一种区块链网络中的业务数据传输装置,其中,包括处理器和存储设备,所述存储设备用于存储指令,当所述处理器执行指令时,实现如本说明书任一实施例所述的由中继节点执行的业务数据传输方法。One of the embodiments of this specification provides a business data transmission device in a blockchain network, which includes a processor and a storage device, and the storage device is used to store instructions. When the processor executes the instructions, the The service data transmission method performed by the relay node described in any embodiment of the description.

附图说明Description of drawings

本说明书将以示例性实施例的方式进一步说明,这些示例性实施例将通过附图进行详细描述。这些实施例并非限制性的,在这些实施例中,相同的编号表示相同的结构,其中:This specification will be further illustrated by way of exemplary embodiments, which will be described in detail with the accompanying drawings. These examples are non-limiting, and in these examples, the same number indicates the same structure, wherein:

图1是根据本说明书一些实施例所示的区块链网络的拓扑图;FIG. 1 is a topological diagram of a block chain network according to some embodiments of this specification;

图2是根据本说明书一些实施例所示的辅助区块链节点间建立P2P直连的示意图;Fig. 2 is a schematic diagram of establishing a P2P direct connection between auxiliary blockchain nodes according to some embodiments of this specification;

图3是根据本说明书一些实施例所示的区块链网络中的通信方法的示例性流程图;Fig. 3 is an exemplary flow chart of a communication method in a blockchain network according to some embodiments of this specification;

图4是根据本说明书一些实施例所示的业务数据的单播方式的示意图;Fig. 4 is a schematic diagram of a unicast mode of service data according to some embodiments of this specification;

图5是根据本说明书一些实施例所示的业务数据的广播方式的示意图;Fig. 5 is a schematic diagram of a broadcasting manner of service data according to some embodiments of this specification;

图6是根据本说明书一些实施例所示的区块链网络中的通信系统的模块图;Fig. 6 is a block diagram of a communication system in a blockchain network according to some embodiments of this specification;

图7是根据本说明书一些实施例所示的区块链网络中的业务数据传输系统的模块图;7 is a block diagram of a business data transmission system in a blockchain network according to some embodiments of this specification;

图8是根据本说明书一些实施例所示的区块链网络中的业务数据传输系统的模块图。Fig. 8 is a block diagram of a business data transmission system in a blockchain network according to some embodiments of this specification.

具体实施方式Detailed ways

为了更清楚地说明本说明书实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本说明书的一些示例或实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图将本说明书应用于其它类似情景。除非从语言环境中显而易见或另做说明,图中相同标号代表相同结构或操作。In order to more clearly illustrate the technical solutions of the embodiments of the present specification, the following briefly introduces the drawings that need to be used in the description of the embodiments. Apparently, the accompanying drawings in the following description are only some examples or embodiments of this specification, and those skilled in the art can also apply this specification to other similar scenarios. Unless otherwise apparent from context or otherwise indicated, like reference numerals in the figures represent like structures or operations.

应当理解,本文使用的“系统”、“装置”、“单元”和/或“模组”是用于区分不同级别的不同组件、元件、部件、部分或装配的一种方法。然而,如果其他词语可实现相同的目的,则可通过其他表达来替换所述词语。It should be understood that "system", "device", "unit" and/or "module" as used herein is a method for distinguishing different components, elements, components, parts or assemblies of different levels. However, the words may be replaced by other expressions if other words can achieve the same purpose.

如本说明书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其它的步骤或元素。As indicated in this specification, words such as "a", "an", "an" and/or "the" are not specific to the singular and may include the plural unless the context clearly indicates an exception. Generally speaking, the terms "comprising" and "comprising" only suggest the inclusion of clearly identified steps and elements, and these steps and elements do not constitute an exclusive list, and the method or device may also contain other steps or elements.

本说明书中使用了流程图用来说明根据本说明书的实施例的系统所执行的操作。应当理解的是,前面或后面操作不一定按照顺序来精确地执行。相反,可以按照倒序或同时处理各个步骤。同时,也可以将其他操作添加到这些过程中,或从这些过程移除某一步或数步操作。The flowchart is used in this specification to illustrate the operations performed by the system according to the embodiment of this specification. It should be understood that the preceding or following operations are not necessarily performed in the exact order. Instead, various steps may be processed in reverse order or simultaneously. At the same time, other operations can be added to these procedures, or a certain step or steps can be removed from these procedures.

图1是根据本说明书一些实施例所示的区块链网络的拓扑图。如图1所示,区块链网络可包括具有通信连接的P2P网络和中继网络。Fig. 1 is a topological diagram of a blockchain network according to some embodiments of this specification. As shown in Figure 1, a blockchain network may include a P2P network and a relay network with communication connections.

P2P全称对等式网络(peer-to-peer),又称点对点技术,是无中心服务器、依靠用户群(peers)交换信息的互联网体系。与有中心服务器的中央网络系统不同,对等网络的每个用户端既是一个节点,也有服务器的功能。中心服务器意味着,当受到攻击的时候,中心服务器一旦宕机,整个网络和服务就会出现问题。P2P网络的优势在于,每个节点既是客户端又是服务端,所以当受到攻击时,任何一台机器垮掉,也不会影响整体的服务。区块链的核心是去中心化,这和P2P网络的观念不约而同,所以区块链网络一般都将P2P作为底层实现,包括大部分的公有链和联盟链都采用了类似的底层实现。The full name of P2P is peer-to-peer network (peer-to-peer), also known as peer-to-peer technology. It is an Internet system that has no central server and relies on user groups (peers) to exchange information. Different from the central network system with a central server, each client of the peer-to-peer network is not only a node, but also has the function of a server. The central server means that when attacked, once the central server goes down, the entire network and services will have problems. The advantage of the P2P network is that each node is both a client and a server, so when it is attacked, any machine crashes without affecting the overall service. The core of the blockchain is decentralization, which coincides with the concept of the P2P network, so the blockchain network generally uses P2P as the underlying implementation, including most public chains and alliance chains that use similar underlying implementations.

区块链网络中,底层的P2P网络可包括一个或多个P2P节点,这样的一个P2P节点同时一般也是区块链网络中的一个节点,如图1所示的节点A、B、...、G、H。中继网络(简称relay)可包括一个或多个中继节点,如图1所示的relay1、relay2、relay3、relay4。In the blockchain network, the underlying P2P network can include one or more P2P nodes. Such a P2P node is generally also a node in the blockchain network, as shown in Figure 1. Nodes A, B, ... , G, H. A relay network (relay for short) may include one or more relay nodes, such as relay1, relay2, relay3, and relay4 shown in FIG. 1 .

需要说明的是,本说明书中出现的“直接连接”(简称“直连”)表示两个节点之间无其它节点连接,换言之,具有连接但不是直接连接(即间接连接)的两个节点之间还连接有其它节点。例如,如图1所示,节点A与节点C、D分别直接连接,节点A、B、C分别与relay1直接连接,节点A与节点B、E、F、G、H分别间接连接。另外,图1、图3、图4、图5中由区块链节点指向中继节点间的单向箭头表示区块链节点和中继节点间的通信连接可以是由区块链节点主动发起的,应当理解,区块链节点与中继节点之间是可以双向通信的。It should be noted that the "direct connection" (referred to as "direct connection") in this specification means that there is no other node connection between two nodes, in other words, there is a connection between two nodes that are not directly connected (that is, indirectly connected). There are also other nodes connected between them. For example, as shown in FIG. 1 , node A is directly connected to nodes C and D, nodes A, B, and C are directly connected to relay1, and node A is indirectly connected to nodes B, E, F, G, and H respectively. In addition, in Figure 1, Figure 3, Figure 4, and Figure 5, the one-way arrow pointing from the blockchain node to the relay node indicates that the communication connection between the blockchain node and the relay node can be actively initiated by the blockchain node Yes, it should be understood that two-way communication is possible between blockchain nodes and relay nodes.

中继网络拥有快速中转能力且较为稳定,可以弥补P2P网络在一些情况下服务质量较差的不足。网络服务质量可以基于消息的传输时延等服务质量(Quality of Service,QoS)要素来衡量。以传输时延为例,例如,节点A要发送一条消息给节点E,消息从节点A发送消息到节点E接收到消息的时延越小或者从节点A发送消息到节点A接收到节点E反馈的消息的时延越小,传输消息的链路的服务质量越好。The relay network has fast transfer capability and is relatively stable, which can make up for the poor service quality of the P2P network in some cases. The network service quality may be measured based on a quality of service (Quality of Service, QoS) element such as a message transmission delay. Take the transmission delay as an example. For example, if node A wants to send a message to node E, the delay between sending a message from node A and receiving the message from node E is smaller, or from sending a message to node A receiving feedback from node E. The smaller the message delay, the better the service quality of the link transmitting the message.

在一些实施例中,区块链节点对于同一业务数据可以分别通过P2P网络和中继网络中的链路进行传输,相应地,该业务数据的目的区块链节点可以将先接收到业务数据作为有效数据保留,并将后接收到的业务数据作为无效数据丢弃。其中,重复的数据收发造成了网络带宽和机器资源的浪费,也会一定程度上影响节点的网络处理能力。在区块链网络中,业务数据可包括交易记录(简称交易)、请求消息、响应消息等中的一种或多种。In some embodiments, the blockchain node can transmit the same service data through the links in the P2P network and the relay network respectively. Correspondingly, the destination blockchain node of the service data can receive the service data first as Valid data is retained, and the business data received later is discarded as invalid data. Among them, repeated data sending and receiving causes waste of network bandwidth and machine resources, and also affects the network processing capability of nodes to a certain extent. In a blockchain network, business data may include one or more of transaction records (referred to as transactions), request messages, and response messages.

为此,本说明书中的实施例通过辅助区块链节点间建立P2P直连、记录链路优化信息、基于链路优化信息选择更优链路等手段,不仅可以保证业务数据的低时延传输,还能有效减少重复的数据收发(传输),从而可以节省网络带宽和机器资源以及减轻对节点网络处理能力的影响。For this reason, the embodiments in this specification can not only ensure the low-latency transmission of business data by assisting in the establishment of P2P direct connections between blockchain nodes, recording link optimization information, and selecting better links based on link optimization information. , can also effectively reduce repeated data sending and receiving (transmission), thereby saving network bandwidth and machine resources and reducing the impact on node network processing capabilities.

图2是根据本说明书一些实施例所示的辅助区块链节点间建立P2P直连的示意图。图2中与图1相同的部分可以参考图1及相关描述。Fig. 2 is a schematic diagram of establishing a P2P direct connection between auxiliary blockchain nodes according to some embodiments of this specification. For parts in FIG. 2 that are the same as those in FIG. 1 , reference may be made to FIG. 1 and related descriptions.

在一些实施例中,对于属于同一Intranet(企事业单位内部网络,可简称为内网)的若干区块链节点,与这些区块链节点直接连接的中继节点可以协助这些节点建立基于私用网络地址(或称为内网地址)的P2P子网连接(可称为P2P内网连接)。建立P2P内网连接后,这些区块链节点通过P2P网络进行通信可能会获得更好的网络服务质量(例如,低时延、大带宽)。In some embodiments, for several blockchain nodes belonging to the same Intranet (enterprise internal network, which may be referred to as intranet for short), the relay nodes directly connected to these blockchain nodes can assist these nodes to establish private-based A P2P subnet connection (may be called a P2P intranet connection) of a network address (or called an intranet address). After the P2P intranet connection is established, these blockchain nodes may obtain better network service quality (eg, low latency, large bandwidth) when communicating through the P2P network.

具体地,当区块链节点与中继节点建立直接连接后,该中继节点可获得该区块链节点的公用网络地址。与所述至少两个区块链节点直连的中继节点可获得所述至少两个区块链节点的外网地址,并判断所述至少两个区块链节点的外网地址是否相同。若相同,说明所述至少两个区块链节点属于同一内网(属于同一内网设备的外网地址相同),则中继节点可向所述至少两个区块链节点查询各自的内网地址,并至少向所述至少向两个区块链节点之一发送其它区块链节点的内网地址,以使所述至少两个区块链节点基于内网地址建立P2P直连。Specifically, after the blockchain node establishes a direct connection with the relay node, the relay node can obtain the public network address of the blockchain node. The relay node directly connected to the at least two blockchain nodes can obtain the external network addresses of the at least two blockchain nodes, and determine whether the external network addresses of the at least two blockchain nodes are the same. If they are the same, it means that the at least two blockchain nodes belong to the same intranet (the external network address of the same intranet device is the same), then the relay node can query the respective intranets from the at least two blockchain nodes address, and at least send the intranet addresses of other blockchain nodes to one of the at least two blockchain nodes, so that the at least two blockchain nodes can establish a P2P direct connection based on the intranet address.

参考图2,假设节点A、B、C属于同一内网(图2中用虚线圆圈标识)且节点A、B、C均直连于relay1,则relay1可获得节点A、B、C的外网地址,当relay1发现节点A、B、C的外网地址相同时,可向节点A、B、C中的一个或多个查询其内网地址,并向节点A、B、C中的一个或多个(可以是每一个)发送其余区块链节点的内网地址。例如,relay1可以向节点A发送节点B和C的内网地址,以使节点A基于节点B和C的内网地址向节点B和C发起P2P直连。又如,relay1可以分别向节点B和C分别发送节点A的内网地址,以使节点B和C分别基于节点A的内网地址向节点A发起P2P直连。Referring to Figure 2, assuming that nodes A, B, and C belong to the same intranet (marked by a dotted circle in Figure 2) and nodes A, B, and C are all directly connected to relay1, then relay1 can obtain the external network of nodes A, B, and C address, when relay1 finds that the external network addresses of nodes A, B, and C are the same, it can inquire about its internal network address from one or more of nodes A, B, and C, and send a query to one or more of nodes A, B, and C Multiple (can be each) send the intranet address of the remaining blockchain nodes. For example, relay1 may send the intranet addresses of nodes B and C to node A, so that node A initiates a P2P direct connection to nodes B and C based on the intranet addresses of nodes B and C. For another example, relay1 may send the internal network address of node A to node B and C respectively, so that node B and C initiate a P2P direct connection to node A based on the internal network address of node A respectively.

在已经协助节点A、B、C建立P2P子网连接后,若relay1又发现新连接的区块链节点与节点A、B、C具有相同的外网地址,则relay1可以将之前查询到的节点A、B、C的内网地址都发给新连接的区块链节点,以使新连接的区块链节点基于节点A、B、C的内网地址分别向节点A、B、C发起P2P直连。也可以是relay1向新连接的区块链节点发起查询其内网地址的请求,并将新连接的区块链节点的内网地址分别发送给节点A、B、C,以使节点A、B、C分别基于新连接的区块链节点的内网地址向新连接的区块链节点发起P2P直连。After assisting nodes A, B, and C to establish a P2P subnet connection, if relay1 finds that the newly connected blockchain node has the same external network address as nodes A, B, and C, relay1 can transfer the previously queried nodes to The intranet addresses of A, B, and C are all sent to the newly connected blockchain nodes, so that the newly connected blockchain nodes initiate P2P to nodes A, B, and C based on the intranet addresses of nodes A, B, and C, respectively. direct connection. It can also be that relay1 initiates a request to inquire the intranet address of the newly connected blockchain node, and sends the intranet address of the newly connected blockchain node to nodes A, B, and C respectively, so that nodes A, B C and C respectively initiate a P2P direct connection to the newly connected blockchain node based on the intranet address of the newly connected blockchain node.

在一些实施例中,对于地理位置相近的若干区块链节点,与这些区块链节点直连的中继节点可以协助这些节点建立基于外网地址的P2P子网连接。由于这些区块链节点的地理位置相近,互相建立P2P直连后通过P2P网络进行通信可能会获得更好的网络服务质量(例如,低时延、大带宽)。In some embodiments, for several blockchain nodes with close geographical locations, the relay nodes directly connected to these blockchain nodes can assist these nodes to establish P2P subnet connections based on external network addresses. Due to the geographical proximity of these blockchain nodes, communication through the P2P network after establishing a P2P direct connection with each other may obtain better network service quality (eg, low latency, large bandwidth).

具体地,对于至少两个区块链节点,与所述至少两个区块链节点直连的中继节点可以获得所述至少两个区块链节点的外网地址,并基于所述至少两个区块链节点的外网地址确定所述至少两个区块链节点的地理位置信息。进而,中继节点可以根据所述至少两个区块链节点的地理位置信息确定所述至少两个区块链节点的地理位置是否接近,若接近,则协助所述至少两个区块链节点建立P2P子网连接。其中,协助所述至少两个区块链节点建立P2P连接的方式可包括:至少向所述至少两个区块链节点之一发送其它区块链节点的外网地址,以使所述至少两个区块链节点基于外网地址建立P2P直连。Specifically, for at least two blockchain nodes, the relay node directly connected to the at least two blockchain nodes can obtain the external network addresses of the at least two blockchain nodes, and based on the at least two The external network addresses of the two blockchain nodes determine the geographic location information of the at least two blockchain nodes. Furthermore, the relay node can determine whether the geographical locations of the at least two blockchain nodes are close according to the geographic location information of the at least two blockchain nodes, and if they are close, assist the at least two blockchain nodes Establish a P2P subnet connection. Wherein, the method of assisting the at least two blockchain nodes to establish a P2P connection may include: at least sending the external network addresses of other blockchain nodes to one of the at least two blockchain nodes, so that the at least two blockchain nodes A blockchain node establishes a P2P direct connection based on the external network address.

在一些实施例中,所述地理位置信息可以包括地理坐标(如经纬度),当中继节点发现所述任意两个区块链节点中任意两个的距离(可根据坐标计算)小于距离阈值时,可认为两者的地理位置接近。在一些实施例中,所述地理位置信息可以包括物理世界中的地名(如城市名称),当发现所述任意两个区块链节点位于同一城市时,也可认为两者的地理位置接近。In some embodiments, the geographic location information may include geographic coordinates (such as latitude and longitude), and when the relay node finds that the distance between any two of the two blockchain nodes (can be calculated according to the coordinates) is less than the distance threshold, It can be considered that the geographical location of the two is close. In some embodiments, the geographic location information may include place names (such as city names) in the physical world. When any two blockchain nodes are found to be located in the same city, they may also be considered to be geographically close.

参考图2,假设节点E、H、G均直连于relay4,则relay4可获得节点E、H、G的外网地址,当relay4发现节点E和H、节点H和G、节点G和E的距离均小于距离阈值,或发现节点E和H、节点H和G、节点G和E分别属于同一城市时,relay4可以向节点E(或H)发送节点H(或E)的外网地址,向节点H(或G)发送节点G(或H)的外网地址,以及向节点G(或E)发送节点E(或G)的外网地址,以使节点E和H、节点H和G、节点G和E分别基于外网地址建立P2P直连。Referring to Figure 2, assuming that nodes E, H, and G are all directly connected to relay4, relay4 can obtain the external network addresses of nodes E, H, and G. When relay4 finds the addresses of nodes E and H, nodes H and G, and nodes G and E When the distance is less than the distance threshold, or when nodes E and H, nodes H and G, and nodes G and E are found to belong to the same city, relay4 can send the external network address of node H (or E) to node E (or H), and send Node H (or G) sends the external network address of node G (or H), and sends the external network address of node E (or G) to node G (or E), so that nodes E and H, nodes H and G, Nodes G and E respectively establish P2P direct connections based on external network addresses.

在一些实施例中,本说明书中提及的网络地址可以是IP地址。在一些实施例中,中继节点可以在IP地理信息库中查询IP地址对应的地理位置信息,所述IP地理信息库中存储有各IP地址对应的地理位置信息。In some embodiments, the network address mentioned in this specification may be an IP address. In some embodiments, the relay node may query the geographic location information corresponding to the IP address in the IP geographic information database, where the geographic location information corresponding to each IP address is stored.

应当理解,中继节点协助建立P2P子网连接的区块链节点中可能包括已经建立P2P直连的区块链节点。例如,结合参照图1和图2,在中继节点协助节点A、B、C建立P2P内网连接之前,节点A和C已经建立P2P直连。若节点A和B已经建立了基于内网地址的P2P直连,节点A、B可不必再基于内网地址发起P2P直连。若节点A和B建立的是基于外网地址的P2P直连,节点A、B可基于内网地址重新建立P2P直连。It should be understood that the blockchain nodes that the relay node assists in establishing the P2P subnet connection may include the blockchain nodes that have established the P2P direct connection. For example, referring to FIG. 1 and FIG. 2 together, before the relay node assists nodes A, B, and C to establish a P2P intranet connection, nodes A and C have established a P2P direct connection. If the nodes A and B have established the P2P direct connection based on the intranet address, the nodes A and B do not need to initiate the P2P direct connection based on the intranet address. If nodes A and B establish a P2P direct connection based on an external network address, nodes A and B can re-establish a P2P direct connection based on an internal network address.

通过协助一些可能提升网络服务质量的P2P直连的建立,有助于挖掘更丰富的链路优化信息。关于链路优化信息的详细内容,可以参考图3及其相关描述。By assisting the establishment of some P2P direct connections that may improve network service quality, it helps to mine richer link optimization information. For details of the link optimization information, refer to FIG. 3 and related descriptions.

图3是根据本说明书一些实施例所示的区块链网络中的通信方法的示例性流程图。流程300可以由P2P网络中的任一区块链节点(记为节点X)执行,以获得节点X到任一其它区块链节点(记为节点Y)的链路优化信息。所述链路优化信息指示通过P2P网络和中继网络之一将业务数据从节点X传输至节点Y。在一些实施例中,流程300可以由图6所示的系统600实现。如图3所示,流程300可以包括:Fig. 3 is an exemplary flowchart of a communication method in a blockchain network according to some embodiments of this specification. The process 300 can be executed by any blockchain node (denoted as node X) in the P2P network to obtain link optimization information from node X to any other blockchain node (denoted as node Y). The link optimization information indicates that the service data is transmitted from the node X to the node Y through one of the P2P network and the relay network. In some embodiments, the process 300 can be implemented by the system 600 shown in FIG. 6 . As shown in Figure 3, the process 300 may include:

步骤310,通过P2P网络向节点Y发送至少一个第一探测消息。Step 310, sending at least one first detection message to node Y through the P2P network.

步骤320,接收节点Y通过P2P网络返回的至少一个第一响应消息。Step 320, receiving at least one first response message returned by node Y through the P2P network.

所述至少一个第一响应消息与所述至少一个第一探测消息一一对应。在一些实施例中,单个探测消息(第一探测消息/第二探测消息)及其对应的响应消息(第一响应消息/第二响应消息)可包含相同的标记(如消息编号)。The at least one first response message is in one-to-one correspondence with the at least one first detection message. In some embodiments, a single probe message (first probe message/second probe message) and its corresponding response message (first response message/second response message) may contain the same tag (eg, message number).

在一些实施例中,发送节点可以持续地(如周期性地)发送探测消息到接收节点。例如,探测消息可以是P2P网络中让发送节点确认接受节点是否在线/发生故障/当前可用等的心跳消息。In some embodiments, the sending node may continuously (eg, periodically) send the probe message to the receiving node. For example, the probe message may be a heartbeat message in the P2P network for the sending node to confirm whether the receiving node is online/failed/currently available.

步骤330,根据所述至少一个第一探测消息的发送时间和所述至少一个第一响应消息的接收时间,获得节点X与节点Y之间的P2P网络通信链路的第一服务质量数据。Step 330: Obtain first quality of service data of the P2P network communication link between node X and node Y according to the sending time of the at least one first probe message and the receiving time of the at least one first response message.

在一些实施例,任一网络(P2P网络/中继网络)链路的服务质量数据可基于消息对(包括互相对应的探测消息和响应消息)的往返时延(Round-TripTime,RTT)确定。应当理解,对于任一消息对,将该消息对中响应消息的接收时间减去该消息对中探测消息的发送时间即可得到该消息对的RTT。In some embodiments, the QoS data of any network (P2P network/relay network) link can be determined based on the round-trip time delay (Round-TripTime, RTT) of a message pair (including a probe message and a response message corresponding to each other). It should be understood that, for any message pair, the RTT of the message pair can be obtained by subtracting the sending time of the detection message in the message pair from the receiving time of the response message in the message pair.

值得说明的是,可以认为单向通信和双向通信中网络通信链路的服务质量是稳定的,因此可以用往返时延去衡量涵盖单向通信和双向通信两种情形下的网络通信链路服务质量。It is worth noting that the quality of service of the network communication link in one-way communication and two-way communication can be considered to be stable, so the round-trip delay can be used to measure the network communication link service covering both one-way communication and two-way communication quality.

节点X可持续发出探测消息,以动态探测节点X与节点Y之间通信链路的服务质量。相应地,节点X可以持续计算出多个消息对的RTT,进而节点X可以基于各消息对的往返时延进行统计,得到节点X与节点Y之间的网络通信链路的服务质量数据。在一些实施例中,节点X可以根据平滑算法累计各消息对的往返时延,得到持续更新的QoS数据(也可称为累计往返时延)。具体地,节点X可以按SRTT=(alpha*SRTT)+((1-alpha)*RTT)更新QoS数据(即累计往返时延),其中,等号左右的SRTT表示更新前后的累计往返时延,alpha为预设的权重系数(0<alpha<1),RTT表示当前计算出的某个消息对的往返时延。通常情况下,alpha的取值可以接近1(相应地,1-alpha接近0),例如,alpha=0.9,以避免网络服务质量的短暂波动(体现在单个RTT上)使得整体的QoS数据数值出现较大波动。Node X can continuously send detection messages to dynamically detect the service quality of the communication link between node X and node Y. Correspondingly, node X can continuously calculate the RTT of multiple message pairs, and then node X can make statistics based on the round-trip delay of each message pair to obtain the service quality data of the network communication link between node X and node Y. In some embodiments, node X may accumulate round-trip delays of each message pair according to a smoothing algorithm to obtain continuously updated QoS data (also referred to as accumulated round-trip delay). Specifically, node X can update the QoS data according to SRTT=(alpha*SRTT)+((1-alpha)*RTT) (that is, the cumulative round-trip delay), where the SRTT around the equal sign represents the cumulative round-trip delay before and after the update , alpha is a preset weight coefficient (0<alpha<1), and RTT represents the currently calculated round-trip delay of a certain message pair. Normally, the value of alpha can be close to 1 (correspondingly, 1-alpha is close to 0), for example, alpha=0.9, to avoid short-term fluctuations of network service quality (reflected on a single RTT) and make the overall QoS data value appear large fluctuations.

步骤340,通过中继网络向节点Y发送至少一个第二探测消息。Step 340, sending at least one second detection message to node Y through the relay network.

步骤350,接收节点Y通过中继网络返回的至少一个第二响应消息。Step 350, receiving at least one second response message returned by node Y through the relay network.

步骤360,根据所述至少一个第二探测消息的发送时间和所述至少一个第二响应消息的接收时间,获得节点X与节点Y之间的中继网络通信链路的第二服务质量数据。Step 360, according to the sending time of the at least one second probe message and the receiving time of the at least one second response message, obtain second quality of service data of the relay network communication link between node X and node Y.

关于获得第二服务质量(QoS)数据的细节,可以参考获得第一服务质量数据(步骤310~330)的相关描述。For details about obtaining the second quality of service (QoS) data, reference may be made to the related description of obtaining the first quality of service data (steps 310-330).

步骤370,比较所述第一服务质量数据和所述第二服务质量数据。Step 370, comparing the first quality of service data with the second quality of service data.

步骤380,根据比较结果记录节点X到节点Y的链路优化信息。Step 380, record link optimization information from node X to node Y according to the comparison result.

服务质量数据与起止节点(即节点X和节点Y)以及通信链路所在的网络(P2P网络/中继网络)关联。第一服务质量(QoS)数据对应P2P网络,第二服务质量(QoS)数据对应中继网络。通过比较第一QoS数据和第二QoS数据,可以确定P2P网络的通信链路和中继网络的通信链路中哪个是更优的选择。因此,节点X可以根据比较结果记录指示通过P2P网络和中继网络之一将业务数据从节点X传输至节点Y的链路优化数据。区块链网络中的节点(区块链节点/中继节点)根据链路优化数据可不将业务数据通过服务质量较差的网络(P2P网络/中继网络)通信链路发送至目的区块链节点,从而可以减少重复的数据收发量。The quality of service data is associated with the starting and ending nodes (ie node X and node Y) and the network where the communication link is located (P2P network/relay network). The first quality of service (QoS) data corresponds to the P2P network, and the second quality of service (QoS) data corresponds to the relay network. By comparing the first QoS data and the second QoS data, it can be determined which is the better choice between the communication link of the P2P network and the communication link of the relay network. Therefore, node X may record link optimization data indicating to transmit service data from node X to node Y through one of the P2P network and the relay network according to the comparison result. The nodes in the blockchain network (blockchain nodes/relay nodes) may not send business data to the destination blockchain through the communication link of the network with poor service quality (P2P network/relay network) according to the link optimization data Nodes, which can reduce the amount of repeated data sending and receiving.

在一些实施例中,链路优化信息可以通过设置不同的标志来指示通过P2P网络和中继网络之一将业务数据从节点X传输至节点Y,例如,在链路优化信息中用“0”和“1”之一指示通过P2P网络传输业务数据,用“0”和“1”中的另一个指示通过中继网络传输业务数据。In some embodiments, the link optimization information may indicate that service data is transmitted from node X to node Y through one of the P2P network and the relay network by setting different flags, for example, "0" is used in the link optimization information One of "0" and "1" indicates that the service data is transmitted through the P2P network, and the other of "0" and "1" indicates that the service data is transmitted through the relay network.

在一些实施例中,节点X可以仅记录指示通过P2P网络将业务数据从节点X传输至节点Y的链路优化信息,即,当查询不到有关节点Y(作为目的节点)的链路优化信息时,说明通过中继网络将业务数据从节点X传输至节点Y可获得更优的服务质量。具体地,所述指示通过P2P网络将业务数据从节点X传输至节点Y的链路优化信息可以包含节点Y的标识信息。相应地,当查询不到包含节点Y(作为目的节点)的标识信息的链路优化信息时,说明通过P2P网络将业务数据从节点X传输至节点Y可获得更优的服务质量。In some embodiments, node X may only record the link optimization information indicating that the service data is transmitted from node X to node Y through the P2P network, that is, when the link optimization information about node Y (as the destination node) cannot be queried , it means that the service data can be transmitted from node X to node Y through the relay network to obtain better quality of service. Specifically, the link optimization information indicating that the service data is transmitted from node X to node Y through the P2P network may include identification information of node Y. Correspondingly, when the link optimization information including the identification information of node Y (as the destination node) cannot be queried, it means that the service data can be transmitted from node X to node Y through the P2P network to obtain better service quality.

类似地,在又一些实施例中,节点X可以仅记录指示通过中继网络将业务数据从节点X传输至节点Y的链路优化信息,即,当查询不到有关节点Y(作为目的节点)的链路优化信息时,说明通过P2P网络将业务数据从节点X传输至节点Y可获得更优的服务质量。具体地,所述指示通过中继网络将业务数据从节点X传输至节点Y的链路优化信息可以包含节点Y的标识信息。相应地,当查询不到包含节点Y(作为目的节点)的标识信息的链路优化信息时,说明通过中继网络将业务数据从节点X传输至节点Y可获得更优的服务质量。Similarly, in some other embodiments, node X may only record the link optimization information indicating that the service data is transmitted from node X to node Y through the relay network, that is, when the relevant node Y (as the destination node) cannot be queried When the link optimization information is obtained, it means that the service data can be transmitted from node X to node Y through the P2P network to obtain better service quality. Specifically, the link optimization information indicating that the service data is transmitted from node X to node Y through the relay network may include identification information of node Y. Correspondingly, when the link optimization information including the identification information of node Y (as the destination node) cannot be queried, it means that the service data can be transmitted from node X to node Y through the relay network to obtain better service quality.

在一些实施例中,节点X可以创建用于保存节点X到各其他区块链节点的链路优化信息的链路优化表,该链路优化表可跟随节点X到各个节点的链路优化信息动态更新。参考前述内容,在一些实施例中,可以是:对于任一节点,当节点X保存的链路优化表中包含该节点的标识信息时,说明通过P2P网络将业务数据从节点X传输至该节点可获得更优的服务质量。在又一些实施例中,也可以是:对于任一节点,当节点X保存的链路优化表中包含该节点的标识信息时,说明通过中继网络将业务数据从节点X传输至该节点可获得更优的服务质量。In some embodiments, node X can create a link optimization table for saving link optimization information from node X to each other blockchain node, and the link optimization table can follow the link optimization information from node X to each node dynamic updates. Referring to the foregoing, in some embodiments, it may be: for any node, when the link optimization table saved by node X contains the identification information of the node, it means that the service data is transmitted from node X to the node through the P2P network A better quality of service can be obtained. In some other embodiments, it may also be: for any node, when the link optimization table saved by node X contains the identification information of the node, it means that the service data can be transmitted from node X to the node through the relay network Get better quality of service.

对于发送给指定区块链节点(单个目的区块链节点)的业务数据(即单播消息),节点X可以根据节点X到目的区块链节点的链路优化信息选择通过P2P网络或中继网络将该业务数据传输至目的区块链节点。即,对于单播的业务数据,若节点X根据查询链路优化信息选择通过P2P网络和中继网络中的某一个传输该业务数据,则可不再通过P2P网络和中继网络中的另一个传输该业务数据,可减小数据的重复收发。具体地,节点X可以获得待传输的业务数据,确定该业务数据的目的区块链节点。进而,节点X可查询该目的区块链节点(参考前述节点Y)对应的链路优化信息,并根据查询结果选择通过P2P网络和中继网络之一将所述业务数据传输至该目的区块链节点。关于链路优化信息的更多细节,可以参考图3及其相关描述。For business data (i.e. unicast messages) sent to a designated blockchain node (single destination blockchain node), node X can choose to pass through the P2P network or relay according to the link optimization information from node X to the destination blockchain node The network transmits the business data to the destination blockchain node. That is, for unicast service data, if node X chooses to transmit the service data through one of the P2P network and the relay network according to the query link optimization information, it does not need to transmit the service data through the other of the P2P network and the relay network. The service data can reduce repeated sending and receiving of data. Specifically, node X can obtain the business data to be transmitted, and determine the destination blockchain node of the business data. Furthermore, node X can query the link optimization information corresponding to the target block chain node (refer to the aforementioned node Y), and choose to transmit the business data to the target block through one of the P2P network and the relay network according to the query result chain node. For more details about link optimization information, refer to FIG. 3 and related descriptions.

下面结合图4对业务数据的单播进行举例说明。如图4所示,节点A保存的链路优化表(图4中用list标识)中包含节点B、C、F的标识信息,该链路优化表将除节点A外的其余区块链节点划分为两部分,第一部分包含节点B、C、F,第二部分包含节点D、E、G、H。The unicast of service data is illustrated below with reference to FIG. 4 . As shown in Figure 4, the link optimization table saved by node A (identified by list in Figure 4) contains the identification information of nodes B, C, and F, and the link optimization table will save the other blockchain nodes except node A Divided into two parts, the first part contains nodes B, C, F, and the second part contains nodes D, E, G, H.

若该链路优化表指示通过P2P网络将业务数据从节点A传输至属于第一部分的区块链节点,节点A会选择通过P2P网络将业务数据发送给属于第一部分的区块链节点,以及通过中继网络将业务数据发送给属于第二部分的区块链节点。例如,如图4所示,节点A要发送业务数据data1至节点F,节点A不会将data1发送给直连的relay1,而会通过P2P网络中的某条通信链路(例如,A-C-F)将data1发送给至节点F。If the link optimization table indicates that the business data is transmitted from node A to the blockchain nodes belonging to the first part through the P2P network, node A will choose to send the business data to the blockchain nodes belonging to the first part through the P2P network, and through The relay network sends the business data to the blockchain nodes belonging to the second part. For example, as shown in Figure 4, node A wants to send business data data1 to node F, node A will not send data1 to the directly connected relay1, but will send data1 to data1 is sent to node F.

若该链路优化表指示通过中继网络将业务数据从节点A传输至属于第一部分的区块链节点,节点A会选择通过中继网络将业务数据发送给属于第一部分的区块链节点,以及通过中继网络将业务数据发送给属于第二部分的区块链节点。仍以待发往节点F的data1为例,节点A会通过中继网络中的某条通信链路将data1发送给至节点F。If the link optimization table indicates that the business data is transmitted from node A to the blockchain nodes belonging to the first part through the relay network, node A will choose to send the business data to the blockchain nodes belonging to the first part through the relay network, And send the business data to the blockchain nodes belonging to the second part through the relay network. Still taking data1 to be sent to node F as an example, node A will send data1 to node F through a certain communication link in the relay network.

在一些实施例中,节点X可以将节点X到目标区块链节点的链路优化信息上报给该同一中继节点,其中,目标区块链节点为与节点X直连于同一中继节点的区块链节点。如此,中继节点可以根据节点X上报的链路优化信息确定是否将节点X广播的业务数据发送给直连的目标区块链节点。其中,若节点X上报的链路优化信息指示通过P2P网络将业务数据传输至目标区块链节点,则中继节点可以不再向目标区块链节点发送广播的业务数据,可以减少数据的重复收发。应当理解,由于链路优化信息可持续更新,节点X可以将更新后的链路优化信息上报至直连的中继节点,以实现链路优化信息的同步。In some embodiments, node X can report the link optimization information from node X to the target blockchain node to the same relay node, wherein the target blockchain node is directly connected to the same relay node as node X Blockchain nodes. In this way, the relay node can determine whether to send the service data broadcast by node X to the directly connected target blockchain node according to the link optimization information reported by node X. Among them, if the link optimization information reported by node X indicates that the business data is transmitted to the target blockchain node through the P2P network, the relay node can no longer send broadcast business data to the target blockchain node, which can reduce data duplication send and receive. It should be understood that since the link optimization information can be continuously updated, node X can report the updated link optimization information to the directly connected relay node, so as to realize the synchronization of the link optimization information.

下面结合图5对业务数据的广播进行举例说明。如图5所示,节点A保存的链路优化表(图5中用list标识)中包含节点C、E的标识信息,该链路优化表将除节点A外的其余区块链节点划分为两部分,第一部分包含节点C、E(节点C即与节点A分别直连于relay1的目标区块链节点),第二部分包含节点B、D、F、G、H。节点A可将缺失节点E的标识信息的链路优化表(对应图5中仅包含C的list)上报给直连的relay1,当然节点A也可将完整的链路优化表上报给直连的relay1。The broadcast of service data will be illustrated below with reference to FIG. 5 . As shown in Figure 5, the link optimization table saved by node A (identified by list in Figure 5) contains the identification information of nodes C and E, and the link optimization table divides the rest of the blockchain nodes except node A into Two parts, the first part includes nodes C and E (node C is the target blockchain node directly connected to relay1 with node A), and the second part includes nodes B, D, F, G, and H. Node A can report the link optimization table missing the identification information of node E (corresponding to the list containing only C in Figure 5) to the directly connected relay1. Of course, node A can also report the complete link optimization table to the directly connected relay1.

若该链路优化表指示通过P2P网络将业务数据从节点A传输至属于第一部分的区块链节点,如图5所示,relay1接收到广播的业务数据data2后,可检查节点A上报的链路优化表中是否包含与relay1直连的区块链节点的标识信息,当发现节点A上报的链路优化表中包含节点C的标识信息时,relay1可向节点B中转一份data2但不向节点C中转一份data2。If the link optimization table indicates that the business data is transmitted from node A to the blockchain node belonging to the first part through the P2P network, as shown in Figure 5, after relay1 receives the broadcast business data data2, it can check the chain link reported by node A. Whether the link optimization table contains the identification information of the blockchain node directly connected to relay1. When it is found that the link optimization table reported by node A contains the identification information of node C, relay1 can transfer a copy of data2 to node B but not to Node C transfers a copy of data2.

若该链路优化表指示通过中继网络将业务数据从节点A传输至属于第一部分的区块链节点,relay1接收到广播的业务数据data2后,可检查节点A上报的链路优化表中是否包含与relay1直连的区块链节点的标识信息,当发现节点A上报的链路优化表中包含节点C的标识信息时,relay1可向节点C中转一份data2但不向节点B中转一份data2。If the link optimization table indicates that the business data is transmitted from node A to the blockchain nodes belonging to the first part through the relay network, after relay1 receives the broadcast business data data2, it can check whether the link optimization table reported by node A is Contains the identification information of the blockchain node directly connected to relay1. When it is found that the link optimization table reported by node A contains the identification information of node C, relay1 can transfer a copy of data2 to node C but not transfer a copy to node B data2.

经过POC(Proof of Concept,概念验证)验证发现,借助本说明书实施例提供的辅助区块链节点间建立P2P直连的方法、区块链网络中的通信方法、业务数据传输方法,同步交易、区块的速度明显提升(平均共识时延明显下降),且可以节约40%以上的带宽。After POC (Proof of Concept, proof of concept) verification, it is found that with the help of the method of establishing P2P direct connection between auxiliary blockchain nodes, the communication method in the blockchain network, and the business data transmission method provided by the embodiment of this manual, synchronous transactions, The speed of the block is significantly improved (the average consensus delay is significantly reduced), and more than 40% of bandwidth can be saved.

应当注意的是,上述有关流程的描述仅仅是为了示例和说明,而不限定本说明书的适用范围。对于本领域技术人员来说,在本说明书的指导下可以对流程进行各种修正和改变。然而,这些修正和改变仍在本说明书的范围之内。It should be noted that, the above descriptions about the process are only for illustration and description, and do not limit the scope of application of this specification. For those skilled in the art, various modifications and changes can be made to the flow under the guidance of this specification. However, such modifications and changes are still within the scope of this specification.

图6是根据本说明书一些实施例所示的区块链网络中的通信系统的模块图。系统600可以在P2P网络中的某一区块链节点(记为节点X)上实现,用于获得节点X到任一其它区块链节点(记为节点Y)的链路优化信息。如图6所示,系统600可以包括第一服务质量数据获得模块610、第二服务质量数据获得模块620、服务质量数据比较模块630和链路优化信息记录模块640。Fig. 6 is a block diagram of a communication system in a blockchain network according to some embodiments of this specification. The system 600 can be implemented on a certain blockchain node (denoted as node X) in the P2P network, and is used to obtain link optimization information from node X to any other blockchain node (denoted as node Y). As shown in FIG. 6 , the system 600 may include a first QoS data obtaining module 610 , a second QoS data obtaining module 620 , a QoS data comparing module 630 and a link optimization information recording module 640 .

第一服务质量数据获得模块610可以用于:通过P2P网络向节点Y发送至少一个第一探测消息,接收节点Y通过P2P网络返回的至少一个第一响应消息,根据所述至少一个第一探测消息的发送时间和所述至少一个第一响应消息的接收时间,获得节点X与节点Y之间的P2P网络通信链路的第一服务质量数据。The first quality of service data obtaining module 610 may be configured to: send at least one first probe message to node Y through the P2P network, receive at least one first response message returned by node Y through the P2P network, and according to the at least one first probe message The sending time of the at least one first response message and the receiving time of the at least one first response message are used to obtain the first quality of service data of the P2P network communication link between node X and node Y.

第二服务质量数据获得模块620可以用于:通过中继网络向节点Y发送至少一个第二探测消息,接收节点Y通过中继网络返回的至少一个第二响应消息,根据所述至少一个第二探测消息的发送时间和所述至少一个第二响应消息的接收时间,获得节点X与节点Y之间的中继网络通信链路的第二服务质量数据。The second quality of service data obtaining module 620 may be configured to: send at least one second detection message to node Y through the relay network, receive at least one second response message returned by node Y through the relay network, and according to the at least one second The sending time of the probe message and the receiving time of the at least one second response message obtain the second quality of service data of the relay network communication link between node X and node Y.

服务质量数据比较模块630可以用于比较所述第一服务质量数据和所述第二服务质量数据。The QoS data comparing module 630 may be used for comparing the first QoS data and the second QoS data.

链路优化信息记录模块640可以用于根据比较结果记录节点X到节点Y的链路优化信息。The link optimization information recording module 640 may be configured to record link optimization information from node X to node Y according to the comparison result.

关于系统600及其模块的更多细节,可以参考图3及其相关描述。For more details about the system 600 and its modules, refer to FIG. 3 and related descriptions.

图7是根据本说明书一些实施例所示的区块链网络中的通信系统的模块图。系统700可以在P2P网络中的某一区块链节点上实现。如图7所示,系统700可以包括第一业务数据获得模块710、目的区块链节点确定模块720、链路优化信息查询模块730和第一选择模块740。Fig. 7 is a block diagram of a communication system in a blockchain network according to some embodiments of this specification. System 700 can be implemented on a certain block chain node in the P2P network. As shown in FIG. 7 , the system 700 may include a first business data acquisition module 710 , a destination blockchain node determination module 720 , a link optimization information query module 730 and a first selection module 740 .

第一业务数据获得模块710可以用于获得待传输的业务数据。The first service data obtaining module 710 may be used to obtain service data to be transmitted.

目的区块链节点确定模块720可以用于确定所述业务数据的目的区块链节点。The destination blockchain node determining module 720 can be used to determine the destination blockchain node of the business data.

链路优化信息查询模块730可以用于查询所述某一区块链节点到所述目的区块链节点对应的链路优化信息,该链路优化信息指示通过P2P网络和中继网络之一将业务数据从所述某一区块链节点传输至所述目的区块链节点。The link optimization information query module 730 can be used to query the link optimization information corresponding to the target blockchain node from the certain block chain node, and the link optimization information indicates that one of the P2P network and the relay network will The service data is transmitted from the certain block chain node to the target block chain node.

第一选择模块740可以用于根据查询结果选择通过P2P网络和中继网络之一将所述业务数据传输至所述目的区块链节点。The first selection module 740 may be configured to select one of a P2P network and a relay network to transmit the service data to the target blockchain node according to the query result.

关于系统700及其模块的更多细节,可以参考图4及其相关描述。For more details about the system 700 and its modules, refer to FIG. 4 and related descriptions.

图8是根据本说明书一些实施例所示的区块链网络中的通信系统的模块图。系统800可以在中继网络中的某一中继节点上实现,所述中继节点直连有P2P网络中的至少两个区块链节点。如图8所示,系统800可以包括第二业务数据获得模块810、链路优化信息获得模块820和第二选择模块830。Fig. 8 is a block diagram of a communication system in a blockchain network according to some embodiments of this specification. The system 800 can be implemented on a certain relay node in the relay network, and the relay node is directly connected to at least two blockchain nodes in the P2P network. As shown in FIG. 8 , the system 800 may include a second service data obtaining module 810 , a link optimization information obtaining module 820 and a second selection module 830 .

第二业务数据获得模块810可以用于获得来自所述至少两个区块链节点中的某一区块链节点广播的业务数据。The second service data obtaining module 810 may be configured to obtain service data broadcast from a certain block chain node among the at least two block chain nodes.

链路优化信息获得模块820可以用于获得所述某一区块链节点上报的链路优化信息。The link optimization information obtaining module 820 can be used to obtain the link optimization information reported by the certain block chain node.

第二选择模块830可以用于根据所述某一区块链节点上报的链路优化信息选择是否向所述至少两个区块链节点中的其它区块链节点发送所述业务数据。The second selection module 830 may be configured to select whether to send the service data to other blockchain nodes among the at least two blockchain nodes according to the link optimization information reported by the certain blockchain node.

关于系统800及其模块的更多细节,可以参考图5及其相关描述。For more details about the system 800 and its modules, reference may be made to FIG. 5 and its related descriptions.

应当理解,图6~8所示的系统及其模块可以利用各种方式来实现。例如,在一些实施例中,系统及其模块可以通过硬件、软件或者软件和硬件的结合来实现。其中,硬件部分可以利用专用逻辑来实现;软件部分则可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。本领域技术人员可以理解上述的方法和系统可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、CD或DVD-ROM的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本说明书的系统及其模块不仅可以有诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用例如由各种类型的处理器所执行的软件实现,还可以由上述硬件电路和软件的结合(例如,固件)来实现。It should be understood that the systems and modules thereof shown in FIGS. 6-8 can be implemented in various ways. For example, in some embodiments, the system and its modules may be implemented by hardware, software, or a combination of software and hardware. Wherein, the hardware part can be implemented by using dedicated logic; the software part can be stored in a memory and executed by an appropriate instruction execution system, such as a microprocessor or specially designed hardware. Those skilled in the art will appreciate that the methods and systems described above can be implemented using computer-executable instructions and/or contained in processor control code, for example on a carrier medium such as a magnetic disk, CD or DVD-ROM, such as a read-only memory (firmware ) or on a data carrier such as an optical or electronic signal carrier. The system and its modules in this specification can not only be realized by hardware circuits such as very large scale integrated circuits or gate arrays, semiconductors such as logic chips, transistors, etc., or programmable hardware devices such as field programmable gate arrays, programmable logic devices, etc. , can also be realized by software executed by various types of processors, for example, and can also be realized by a combination of the above-mentioned hardware circuits and software (for example, firmware).

需要注意的是,以上对于系统及其模块的描述,仅为描述方便,并不能把本说明书限制在所举实施例范围之内。可以理解,对于本领域的技术人员来说,在了解系统的原理后,可能在不背离这一原理的情况下,对各个模块进行任意组合,或者构成子系统与其他模块连接。例如,在一些实施例中,图6所示的第一服务质量数据获得模块610和第二服务质量数据获得模块620可以是一个系统中的不同模块,也可以是一个模块实现这两个模块的功能。又如,在一些实施例中,图7所示的第一业务数据获得模块710和目的区块链节点确定模块720可以是两个模块,也可以合并为一个模块。诸如此类的变形,均在本说明书的保护范围之内。It should be noted that the above description of the system and its modules is only for convenience of description, and does not limit this description to the scope of the illustrated embodiments. It can be understood that for those skilled in the art, after understanding the principle of the system, it is possible to combine various modules arbitrarily, or form a subsystem to connect with other modules without departing from this principle. For example, in some embodiments, the first QoS data obtaining module 610 and the second QoS data obtaining module 620 shown in FIG. 6 may be different modules in one system, or one module may implement the two modules. Function. As another example, in some embodiments, the first service data obtaining module 710 and the target blockchain node determining module 720 shown in FIG. 7 may be two modules, or may be combined into one module. Such deformations are within the protection scope of this specification.

本说明书实施例可能带来的有益效果包括但不限于:(1)通过协助一些可能提升网络服务质量的P2P直连的建立,有助于挖掘更丰富的链路优化信息;(2)通过记录链路优化信息,有助于选择更优的网络通信链路传输业务数据,可以减少重复的数据收发,从而可以节省网络带宽和机器资源以及减轻对节点网络处理能力的影响。需要说明的是,不同实施例可能产生的有益效果不同,在不同的实施例里,可能产生的有益效果可以是以上任意一种或几种的组合,也可以是其他任何可能获得的有益效果。The possible beneficial effects of the embodiments of this specification include but are not limited to: (1) By assisting the establishment of some P2P direct connections that may improve the quality of network service, it is helpful to mine richer link optimization information; (2) by recording Link optimization information helps to select a better network communication link to transmit business data, and can reduce repeated data sending and receiving, thereby saving network bandwidth and machine resources and reducing the impact on node network processing capabilities. It should be noted that different embodiments may have different beneficial effects. In different embodiments, the possible beneficial effects may be any one or a combination of the above, or any other possible beneficial effects.

上文已对基本概念做了描述,显然,对于本领域技术人员来说,上述详细披露仅仅作为示例,而并不构成对本说明书实施例的限定。虽然此处并没有明确说明,本领域技术人员可能会对本说明书实施例进行各种修改、改进和修正。该类修改、改进和修正在本说明书实施例中被建议,所以该类修改、改进、修正仍属于本说明书示范实施例的精神和范围。The basic concepts have been described above. Obviously, for those skilled in the art, the above detailed disclosure is only an example, and does not constitute a limitation to the embodiment of this specification. Although not explicitly stated here, those skilled in the art may make various modifications, improvements and amendments to the embodiments of this specification. Such modifications, improvements and corrections are suggested in the embodiments of this specification, so such modifications, improvements and corrections still belong to the spirit and scope of the exemplary embodiments of this specification.

同时,本说明书使用了特定词语来描述本说明书的实施例。如“一个实施例”、“一实施例”、和/或“一些实施例”意指与本说明书至少一个实施例相关的某一特征、结构或特点。因此,应强调并注意的是,本说明书中在不同位置两次或多次提及的“一实施例”或“一个实施例”或“一个替代性实施例”并不一定是指同一实施例。此外,本说明书的一个或多个实施例中的某些特征、结构或特点可以进行适当的组合。Meanwhile, this specification uses specific words to describe the embodiments of this specification. For example, "one embodiment", "an embodiment", and/or "some embodiments" refer to a certain feature, structure or characteristic related to at least one embodiment of this specification. Therefore, it should be emphasized and noted that two or more references to "an embodiment" or "an embodiment" or "an alternative embodiment" in different places in this specification do not necessarily refer to the same embodiment . In addition, certain features, structures or characteristics in one or more embodiments of this specification may be properly combined.

此外,本领域技术人员可以理解,本说明书实施例的各方面可以通过若干具有可专利性的种类或情况进行说明和描述,包括任何新的和有用的工序、机器、产品或物质的组合,或对他们的任何新的和有用的改进。相应地,本说明书实施例的各个方面可以完全由硬件执行、可以完全由软件(包括固件、常驻软件、微码等)执行、也可以由硬件和软件组合执行。以上硬件或软件均可被称为“数据块”、“模块”、“引擎”、“单元”、“组件”或“系统”。此外,本说明书实施例的各方面可能表现为位于一个或多个计算机可读介质中的计算机产品,该产品包括计算机可读程序编码。In addition, those skilled in the art will understand that all aspects of the embodiments of this specification can be illustrated and described by several patentable categories or situations, including any new and useful process, machine, product or combination of substances, or Any new and useful improvements to them. Correspondingly, various aspects of the embodiments of this specification may be completely executed by hardware, may be completely executed by software (including firmware, resident software, microcode, etc.), or may be executed by a combination of hardware and software. The above hardware or software may be referred to as "block", "module", "engine", "unit", "component" or "system". In addition, aspects of the embodiments of this specification may be embodied as a computer product on one or more computer-readable media, the product including computer-readable program code.

计算机存储介质可能包含一个内含有计算机程序编码的传播数据信号,例如在基带上或作为载波的一部分。该传播信号可能有多种表现形式,包括电磁形式、光形式等,或合适的组合形式。计算机存储介质可以是除计算机可读存储介质之外的任何计算机可读介质,该介质可以通过连接至一个指令执行系统、装置或设备以实现通讯、传播或传输供使用的程序。位于计算机存储介质上的程序编码可以通过任何合适的介质进行传播,包括无线电、电缆、光纤电缆、RF、或类似介质,或任何上述介质的组合。A computer storage medium may contain a propagated data signal embodying a computer program code, for example, in baseband or as part of a carrier wave. The propagated signal may have various manifestations, including electromagnetic form, optical form, etc., or a suitable combination. A computer storage medium may be any computer-readable medium, other than a computer-readable storage medium, that can be used to communicate, propagate, or transfer a program for use by being coupled to an instruction execution system, apparatus, or device. Program code residing on a computer storage medium may be transmitted over any suitable medium, including radio, electrical cable, fiber optic cable, RF, or the like, or combinations of any of the foregoing.

本说明书实施例各部分操作所需的计算机程序编码可以用任意一种或多种程序语言编写,包括面向对象编程语言如Java、Scala、Smalltalk、Eiffel、JADE、Emerald、C++、C#、VB.NET、Python等,常规程序化编程语言如C语言、VisualBasic、Fortran2003、Perl、COBOL2002、PHP、ABAP,动态编程语言如Python、Ruby和Groovy,或其他编程语言等。该程序编码可以完全在用户计算机上运行、或作为独立的软件包在用户计算机上运行、或部分在用户计算机上运行部分在远程计算机运行、或完全在远程计算机或处理设备上运行。在后种情况下,远程计算机可以通过任何网络形式与用户计算机连接,比如局域网(LAN)或广域网(WAN),或连接至外部计算机(例如通过因特网),或在云计算环境中,或作为服务使用如软件即服务(SaaS)。The computer program codes required for the operation of each part of the embodiments of this specification can be written in any one or more programming languages, including object-oriented programming languages such as Java, Scala, Smalltalk, Eiffel, JADE, Emerald, C++, C#, VB.NET , Python, etc., conventional programming languages such as C language, VisualBasic, Fortran2003, Perl, COBOL2002, PHP, ABAP, dynamic programming languages such as Python, Ruby and Groovy, or other programming languages. The program code may run entirely on the user's computer, or as a stand-alone software package, or run partly on the user's computer and partly on a remote computer, or entirely on the remote computer or processing device. In the latter case, the remote computer can be connected to the user computer through any form of network, such as a local area network (LAN) or wide area network (WAN), or to an external computer (such as through the Internet), or in a cloud computing environment, or as a service Use software as a service (SaaS).

此外,除非权利要求中明确说明,本说明书实施例所述处理元素和序列的顺序、数字字母的使用、或其他名称的使用,并非用于限定本说明书实施例流程和方法的顺序。尽管上述披露中通过各种示例讨论了一些目前认为有用的发明实施例,但应当理解的是,该类细节仅起到说明的目的,附加的权利要求并不仅限于披露的实施例,相反,权利要求旨在覆盖所有符合本说明书实施例实质和范围的修正和等价组合。例如,虽然以上所描述的系统组件可以通过硬件设备实现,但是也可以只通过软件的解决方案得以实现,如在现有的处理设备或移动设备上安装所描述的系统。In addition, unless clearly stated in the claims, the sequence of processing elements and sequences, the use of numbers and letters, or the use of other names in the embodiments of this specification are not used to limit the sequence of the processes and methods of the embodiments of this specification. While the foregoing disclosure has discussed by way of various examples some embodiments of the invention that are presently believed to be useful, it should be understood that such detail is for illustrative purposes only and that the appended claims are not limited to the disclosed embodiments, but rather, the claims The claims are intended to cover all modifications and equivalent combinations that fall within the spirit and scope of the embodiments of this specification. For example, while the system components described above may be implemented as hardware devices, they may also be implemented as a software-only solution, such as installing the described system on an existing processing device or mobile device.

同理,应当注意的是,为了简化本说明书实施例披露的表述,从而帮助对一个或多个发明实施例的理解,前文对本说明书实施例的描述中,有时会将多种特征归并至一个实施例、附图或对其的描述中。但是,这种披露方法并不意味着本说明书实施例对象所需要的特征比权利要求中提及的特征多。实际上,实施例的特征要少于上述披露的单个实施例的全部特征。Similarly, it should be noted that, in order to simplify the description of the disclosure of the embodiments of this specification, so as to facilitate the understanding of one or more embodiments of the invention, in the foregoing descriptions of the embodiments of this specification, sometimes multiple features are combined into one implementation examples, drawings or descriptions thereof. However, this method of disclosure does not imply that the embodiments of the present specification require more features than those recited in the claims. Indeed, embodiment features are less than all features of a single foregoing disclosed embodiment.

针对本说明书引用的每个专利、专利申请、专利申请公开物和其他材料,如文章、书籍、说明书、出版物、文档等,特此将其全部内容并入本说明书作为参考。与本说明书内容不一致或产生冲突的申请历史文件除外,对本说明书权利要求最广范围有限制的文件(当前或之后附加于本说明书中的)也除外。需要说明的是,如果本说明书附属材料中的描述、定义、和/或术语的使用与本说明书所述内容有不一致或冲突的地方,以本说明书的描述、定义和/或术语的使用为准。Each patent, patent application, patent application publication, and other material, such as article, book, specification, publication, document, etc., cited in this specification is hereby incorporated by reference in its entirety. Application history documents that are inconsistent with or conflict with the content of this specification are excluded, and documents (currently or later appended to this specification) that limit the broadest scope of the claims of this specification are also excluded. It should be noted that if there is any inconsistency or conflict between the descriptions, definitions, and/or terms used in the accompanying materials of this manual and the contents of this manual, the descriptions, definitions and/or terms used in this manual shall prevail .

最后,应当理解的是,本说明书中所述实施例仅用以说明本说明书实施例的原则。其他的变形也可能属于本说明书实施例的范围。因此,作为示例而非限制,本说明书实施例的替代配置可视为与本说明书的教导一致。相应地,本说明书的实施例不仅限于本说明书明确介绍和描述的实施例。Finally, it should be understood that the embodiments described in this specification are only used to illustrate the principles of the embodiments of this specification. Other modifications may also fall within the scope of the embodiments of this specification. Therefore, by way of example and not limitation, alternative configurations of the embodiments of this specification may be considered consistent with the teachings of this specification. Accordingly, the embodiments of this specification are not limited to the embodiments explicitly introduced and described in this specification.

Claims (9)

1. A method for assisting a node in a blockchain network to establish P2P direct connection is provided, wherein the blockchain network comprises a P2P network with communication connection and a relay network; the method is executed by a relay node in the relay network, and the relay node is directly connected with at least two block chain nodes in a P2P network; the method comprises the following steps:
obtaining a common network address of the at least two blockchain nodes;
judging whether the public network addresses of the at least two block chain nodes are the same; if so, assisting the at least two block link points to establish P2P direct connection;
wherein the assisting the at least two blockchain nodes to establish the P2P direct connection comprises: querying the at least two blockchain nodes for respective private network addresses; and at least sending the private network addresses of other blockchain nodes to one of the at least two blockchain nodes, so that the at least two blockchain nodes establish the P2P direct connection based on the private network addresses.
2. The method of claim 1, further comprising:
obtaining service data broadcasted by a certain block chain node in the at least two block chain nodes;
obtaining link optimization information reported by the link point of the certain block; the link optimization information indicates that traffic data is transmitted from the certain blockchain node to other blockchain nodes of the at least two blockchain nodes through one of the P2P network and the relay network;
and selecting whether to send the service data to other block chain nodes in the at least two block chain nodes according to the link optimization information reported by the certain block chain node.
3. The method of claim 2, wherein the link optimization information is obtained by a certain block link point in the P2P network:
for any other blockchain node in the P2P network:
sending at least one first probe message to the other blockchain nodes through the P2P network, and receiving at least one first response message returned by the other blockchain nodes through the P2P network, wherein the at least one first response message corresponds to the at least one first probe message one to one; determining first quality of service data of P2P network communication links between the certain block chain node and the other block chain nodes according to the sending time of the at least one first probe message and the receiving time of the at least one first response message;
sending at least one second probe message to the other blockchain nodes through the relay network, and receiving at least one second response message returned by the other blockchain nodes through the relay network, wherein the at least one second response message corresponds to the at least one second probe message one to one; obtaining second quality of service data of a relay network communication link between the certain block link node and the other block link nodes according to the sending time of the at least one second probe message and the receiving time of the at least one second response message;
comparing the first quality of service data and the second quality of service data;
and recording link optimization information from the certain blockchain node to the other blockchain nodes according to the comparison result, wherein the link optimization information indicates that service data is transmitted from the certain blockchain node to the other blockchain nodes through one of the P2P network and the relay network.
4. The method of claim 3, wherein the determining first quality of service data for the P2P network communication link between the certain block chain node and the other block chain nodes based on the transmission time of the at least one first probe message and the reception time of the at least one first response message comprises:
acquiring at least one first message pair, wherein the first message pair comprises a first detection message and a first response message which correspond to each other; determining a round trip delay of the at least one first message pair based on a transmission time of the at least one first probe message and a reception time of the at least one first response message; counting round trip delay based on the at least one first message pair to obtain the first quality of service data;
the determining, according to the sending time of the at least one second probe message and the receiving time of the at least one second response message, second quality of service data of the P2P network communication link between the certain block link node and the other block link nodes includes:
acquiring at least one second message pair, wherein the second message pair comprises a second detection message and a second response message which correspond to each other; determining a round trip delay of the at least one second message pair based on a transmission time of the at least one second probe message and a reception time of the at least one second response message; and counting the round trip delay based on the at least one second message pair to obtain the second service quality data.
5. The method of claim 4, wherein the counting round trip delays based on the at least one first message pair comprises: accumulating the round trip delay of the at least one first message pair using a smoothing algorithm;
the counting round trip delays based on the at least one second message pair comprises: accumulating the round trip delay of the at least one second message pair using a smoothing algorithm.
6. The method of claim 3, further comprising:
establishing a link optimization table, wherein the link optimization table is used for storing link optimization information from the certain block chain node to each other block chain node; and the link optimization table is dynamically updated along with the link optimization information from the certain blockchain node to each other blockchain node.
7. The method of claim 6, wherein the link optimization table includes identification information of at least one of the other blockchain nodes to indicate transmission of traffic data from the certain blockchain node to the at least one blockchain node through one of the P2P network and the relay network.
8. A system that assists nodes in a blockchain network to establish P2P direct, wherein the blockchain network includes a P2P network with communication connections and a relay network; the system is realized on a relay node in the relay network, and the relay node is directly connected with at least two block chain nodes in a P2P network; the system comprises:
a public network address obtaining module, configured to obtain public network addresses of the at least two block link nodes;
a P2P direct connection assistance module to: judging whether the public network addresses of the at least two block chain nodes are the same or not; if so, assisting the at least two block link points to establish P2P direct connection;
wherein the assisting the at least two blockchain nodes to establish the P2P direct connection comprises: querying the at least two blockchain nodes for respective private network addresses; and at least sending the private network addresses of other blockchain nodes to one of the at least two blockchain nodes, so that the at least two blockchain nodes establish the P2P direct connection based on the private network addresses.
9. An apparatus for assisting a node in a blockchain network to establish P2P direct, comprising a processor and a storage device, wherein the storage device is configured to store instructions, and when the processor executes the instructions, the method according to any one of claims 1 to 7 is implemented.
CN202011272265.9A 2020-06-12 2020-06-12 A method for establishing P2P direct connections between nodes in an auxiliary blockchain network Active CN112383473B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011272265.9A CN112383473B (en) 2020-06-12 2020-06-12 A method for establishing P2P direct connections between nodes in an auxiliary blockchain network

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202011272265.9A CN112383473B (en) 2020-06-12 2020-06-12 A method for establishing P2P direct connections between nodes in an auxiliary blockchain network
CN202010534549.4A CN111447290B (en) 2020-06-12 2020-06-12 Communication method and business data transmission method in blockchain network

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN202010534549.4A Division CN111447290B (en) 2020-06-12 2020-06-12 Communication method and business data transmission method in blockchain network

Publications (2)

Publication Number Publication Date
CN112383473A CN112383473A (en) 2021-02-19
CN112383473B true CN112383473B (en) 2023-02-07

Family

ID=71655547

Family Applications (3)

Application Number Title Priority Date Filing Date
CN202011272265.9A Active CN112383473B (en) 2020-06-12 2020-06-12 A method for establishing P2P direct connections between nodes in an auxiliary blockchain network
CN202011270068.3A Active CN112437141B (en) 2020-06-12 2020-06-12 A method for establishing P2P direct connections between nodes in an auxiliary blockchain network
CN202010534549.4A Active CN111447290B (en) 2020-06-12 2020-06-12 Communication method and business data transmission method in blockchain network

Family Applications After (2)

Application Number Title Priority Date Filing Date
CN202011270068.3A Active CN112437141B (en) 2020-06-12 2020-06-12 A method for establishing P2P direct connections between nodes in an auxiliary blockchain network
CN202010534549.4A Active CN111447290B (en) 2020-06-12 2020-06-12 Communication method and business data transmission method in blockchain network

Country Status (2)

Country Link
CN (3) CN112383473B (en)
WO (1) WO2021249490A1 (en)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112383473B (en) * 2020-06-12 2023-02-07 支付宝(杭州)信息技术有限公司 A method for establishing P2P direct connections between nodes in an auxiliary blockchain network
CN112929285B (en) * 2020-08-28 2022-05-31 支付宝(杭州)信息技术有限公司 Communication optimization system of block chain network
CN113079082B (en) * 2020-09-25 2022-02-18 支付宝(杭州)信息技术有限公司 Message transmission method and device
CN111935314B (en) 2020-09-25 2021-01-12 支付宝(杭州)信息技术有限公司 Blockchain system, message transmission method and device
CN111934997B (en) 2020-09-25 2021-01-12 支付宝(杭州)信息技术有限公司 Message transmission method and device
CN111934996B (en) 2020-09-25 2021-01-12 支付宝(杭州)信息技术有限公司 Message transmission method and device
CN111935000B (en) 2020-09-25 2021-01-08 支付宝(杭州)信息技术有限公司 Message transmission method and device
CN111934990B (en) 2020-09-25 2021-02-09 支付宝(杭州)信息技术有限公司 Message transmission method and device
CN112968967B (en) 2020-09-25 2023-05-19 支付宝(杭州)信息技术有限公司 Block synchronization method and device
CN111934999B (en) * 2020-09-25 2021-01-22 支付宝(杭州)信息技术有限公司 Message transmission method and device
CN112804299B (en) * 2020-12-30 2023-02-28 成都知道创宇信息技术有限公司 Node mapping method, node mapping device, mapping equipment and readable storage medium
CN112887154B (en) * 2021-02-05 2022-02-18 广西师范大学 Two-dimensional variable code repeat OCDMA (optical code division multiple Access) system based on block chain and data processing method
CN114244840B (en) * 2021-12-20 2023-06-06 杭州溪塔科技有限公司 Automatic network optimization method under multi-cluster deployment scene
CN114285755B (en) * 2021-12-31 2024-06-28 支付宝(杭州)信息技术有限公司 A cross-subnet interaction method, device, electronic device and storage medium
CN115396918B (en) * 2022-08-09 2024-09-24 中国联合网络通信集团有限公司 Blockchain data transmission method, device and storage medium
CN115580643A (en) * 2022-10-09 2023-01-06 网易(杭州)网络有限公司 Connection establishing method and device, storage medium and electronic equipment
CN116192692B (en) * 2022-12-30 2024-06-14 蚂蚁区块链科技(上海)有限公司 A method for detecting data transmission delay in a blockchain network and a blockchain system
CN116233095A (en) * 2023-03-09 2023-06-06 刘洋伶 A performance optimization method of blockchain network protocol Gossip
CN116127148B (en) * 2023-04-04 2023-07-21 之江实验室 A trusted data storage method, device, storage medium and electronic equipment
CN116566878A (en) * 2023-04-28 2023-08-08 蚂蚁区块链科技(上海)有限公司 Method and device for updating routing table
CN116566973B (en) * 2023-06-20 2023-11-07 北京中宏立达科技发展有限公司 File transmission system based on peer-to-peer network

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101431464A (en) * 2007-11-06 2009-05-13 阿里巴巴集团控股有限公司 Method and apparatus for optimizing data transmission route between clients
CN109996126A (en) * 2017-12-29 2019-07-09 浙江宇视科技有限公司 Equipment connection dynamic dispatching method and system under a kind of hybrid network framework

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100716986B1 (en) * 2004-11-11 2007-05-10 삼성전자주식회사 Method and apparatus for route selection using RR (Return Routability)
CN102064992B (en) * 2009-11-13 2012-11-28 中兴通讯股份有限公司 Relay node, and relay node distributed network and networking method thereof
CN102857874A (en) * 2012-05-18 2013-01-02 北京邮电大学 Distributed management method for direct connection communication users in cellular network
KR101727090B1 (en) * 2012-07-06 2017-04-14 후아웨이 테크놀러지 컴퍼니 리미티드 Method, device, and system for registering and discovering service
US9210536B2 (en) * 2013-05-21 2015-12-08 Google Technology Holdings LLC Method for establishing device-to-device communication
CN107635022A (en) * 2016-07-18 2018-01-26 华为软件技术有限公司 Method and device for accessing services across internal and external networks
CN106878474A (en) * 2017-04-25 2017-06-20 浙江风向标科技有限公司 The method and apparatus that a kind of P2P connections are set up
CN110915188B (en) * 2017-06-30 2023-04-04 区块链控股有限公司 Method and system for efficiently propagated probabilistic relays in blockchain networks
US20190044725A1 (en) * 2017-08-05 2019-02-07 Proclus Technologies Limited Method and System for Securing a Blockchain with Proof-of-Transactions
KR101989063B1 (en) * 2017-11-06 2019-06-13 라인 가부시키가이샤 Method, system, and non-transitory computer readable medium for selecting optimal network path for media transmission in voip
CN108259594B (en) * 2018-01-11 2020-02-18 杭州秘猿科技有限公司 Data interaction system based on block chain and relay server
US11172327B2 (en) * 2018-07-12 2021-11-09 Qualcomm Incorporated Relaying for vehicular communications
CN110505270A (en) * 2019-07-03 2019-11-26 西安万像电子科技有限公司 Data transmission method, system and device
CN110944058B (en) * 2019-12-04 2022-03-04 杭州复杂美科技有限公司 Block chain intranet node relay connection method
CN112383473B (en) * 2020-06-12 2023-02-07 支付宝(杭州)信息技术有限公司 A method for establishing P2P direct connections between nodes in an auxiliary blockchain network

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101431464A (en) * 2007-11-06 2009-05-13 阿里巴巴集团控股有限公司 Method and apparatus for optimizing data transmission route between clients
CN109996126A (en) * 2017-12-29 2019-07-09 浙江宇视科技有限公司 Equipment connection dynamic dispatching method and system under a kind of hybrid network framework

Also Published As

Publication number Publication date
CN112437141A (en) 2021-03-02
CN112437141B (en) 2023-02-03
CN112383473A (en) 2021-02-19
WO2021249490A1 (en) 2021-12-16
CN111447290A (en) 2020-07-24
CN111447290B (en) 2020-10-02

Similar Documents

Publication Publication Date Title
CN112437141B (en) A method for establishing P2P direct connections between nodes in an auxiliary blockchain network
RU2385488C2 (en) Names resolution protocol for wire connection of equivalent devices and structure of message format date used in it
US7437479B2 (en) Position identifier management apparatus and method, mobile computer, and position identifier processing method
CN102932352B (en) The method of communicating with the client and the server
CN103024053A (en) Cloud storage method, resource scheduling system and cloud storage node and system
CN102904903B (en) Communication system and communication means
US8219695B1 (en) Anticipatory preparation of application-layer protocol responses
CN101841577A (en) Method and device for implementing domain name resolution agent function
RU2009149102A (en) METHOD, DEVICE AND MOBILITY MANAGEMENT SYSTEM AND EFFECTIVE INFORMATION SEARCH IN COMMUNICATION NETWORK
TW200803303A (en) Inter-proximity communication within a rendezvous federation
CN102984138B (en) A kind of methods, devices and systems obtaining object
CN107508855A (en) Node communication method and car networking node in car networking
US7848339B2 (en) Data communication apparatus, method for its network configuration, and computer readable recording medium storing its program
CN112019603B (en) A method and device for processing transaction data
EP3422674A1 (en) A method of resolving a domain name by a dns server to a plurality of ip addresses based on location information of the user equipment
CN113055193A (en) Data multicast transmission method, device, equipment and storage medium
CN108401040B (en) Content receiving method, content sending method, device and system for NDN
CN114726859A (en) Transmission method, electronic device and storage medium for back-to-source request
CN107690782B (en) forwarding server
HK40045922B (en) Method for assisting nodes in blockchain network to establish p2p direct connection
HK40045922A (en) Method for assisting nodes in blockchain network to establish p2p direct connection
HK40034076A (en) Communication method and service data transmission method in blockchain network
HK40034076B (en) Communication method and service data transmission method in blockchain network
HK40048640A (en) Method for assisting nodes in blockchain network to establish p2p direct connection
CN104796288B (en) The Anycast means of communication and device

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40045922

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20240920

Address after: Room 803, floor 8, No. 618 Wai Road, Huangpu District, Shanghai 200010

Patentee after: Ant blockchain Technology (Shanghai) Co.,Ltd.

Country or region after: China

Address before: 310000 801-11 section B, 8th floor, 556 Xixi Road, Xihu District, Hangzhou City, Zhejiang Province

Patentee before: Alipay (Hangzhou) Information Technology Co.,Ltd.

Country or region before: China