CN112565389A - 基于区块链的消息广播方法、装置、电子设备及存储介质 - Google Patents
基于区块链的消息广播方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN112565389A CN112565389A CN202011384741.6A CN202011384741A CN112565389A CN 112565389 A CN112565389 A CN 112565389A CN 202011384741 A CN202011384741 A CN 202011384741A CN 112565389 A CN112565389 A CN 112565389A
- Authority
- CN
- China
- Prior art keywords
- node
- message
- broadcasted
- preset
- nodes
- 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.)
- Granted
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
- H04L67/1087—Peer-to-peer [P2P] networks using cross-functional networking aspects
- H04L67/1089—Hierarchical topologies
-
- 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
- H04L67/1087—Peer-to-peer [P2P] networks using cross-functional networking aspects
- H04L67/1093—Some peer nodes performing special functions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/55—Push-based network services
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供一种基于区块链的消息广播方法、装置、电子设备及存储介质,涉及区块链技术领域。其中,该方法可以应用于区块链中的任一节点,该区块链中的多个节点可以共同构成一预设完全N叉树,该方法包括:若本节点生成待广播消息,根据预设完全N叉树确定根节点,预设完全N叉树根据每个节点的节点标识、节点之间的拓扑关系、以及预设根节点构造,其中,N为大于2的整数;向根节点发送待广播消息,以使根节点根据预设完全N叉树的拓扑关系向区块链中的其他节点有向转发待广播消息,应用本申请实施例,可以实现待广播消息的有向转发,解决待广播消息被重复发送的问题,避免广播风暴、节省带宽资源。
Description
技术领域
本申请涉及区块链技术领域,特别涉及一种基于区块链的消息广播方法、装置、电子设备及存储介质。
背景技术
Kademlia是一种P2P重叠网络传输协议,可以用于构建分布式的P2P电脑网络,Kademlia节点可以利用分布式散列表(DHT)储存资料索引,通过现有的局域网/广域网,可以建立起一个新的虚拟网络或重叠网络,Kademlia节点间则使用传输通讯协议UDP进行数据交互。
目前,在公链区块链P2P网络中,基本使用Kademlia或类Kademlia算法的网络拓扑来实现消息的广播。
但现有的消息广播方式,由于消息在发送过程中,会存在大量的消息重复发送,并且反复广播的现象,因此,现有的广播方式,会存在严重的广播风暴以及带宽浪费的情况。
发明内容
本申请的目的在于,针对上述现有技术中的不足,提供一种基于区块链的消息广播方法、装置、电子设备及存储介质,可以避免广播风暴、节省带宽资源。
为实现上述目的,本申请实施例采用的技术方案如下:
第一方面,本申请实施例提供了一种基于区块链的消息广播方法,应用于区块链中的任一节点,所述区块链中的多个节点共同构成一预设完全N叉树,所述方法包括:
若本节点生成待广播消息,根据所述预设完全N叉树确定根节点,所述预设完全N叉树根据每个所述节点的节点标识、节点之间的拓扑关系、以及预设根节点构造,其中,N为大于2的整数,用于指示所述预设完全N叉树中每个所述节点最多可配置的子节点数;
向所述根节点发送所述待广播消息,以使所述根节点根据所述预设完全N叉树的拓扑关系向所述区块链中的其他节点有向转发所述待广播消息。
可选地,所述有向转发所述待广播消息包括:以所述根节点为起点向所述拓扑关系中的子节点依次转发所述待广播消息。
可选地,所述方法还包括:
获取所述区块链中每个节点的节点标识;
根据每个所述节点的节点标识、预设根节点以及预设拓扑规则,建立所述预设完全N叉树。
可选地,所述根据每个所述节点的节点标识、预设根节点以及预设拓扑规则,建立所述预设完全N叉树,包括:
根据所述节点标识,对每个所述节点的节点标识进行排序,获取排序后的节点标识列表;
根据所述节点标识列表、预设根节点以及预设拓扑规则,建立所述预设完全N叉树。
可选地,所述方法还包括:
接收待注册节点发送的节点注册请求,所述节点注册请求用于请求分配网络地址;
根据所述节点注册请求,向所述待注册节点发送当前节点注册列表,所述当前节点注册列表包括为待注册节点分配的网络地址,所述当前节点注册列表用于记录已注册的至少一个节点分配的网络地址;
向所述其他节点发送为所述待注册节点分配的网络地址。
可选地,所述待广播消息包括:消息类型、本节点的节点标识,消息内容;
所述消息类型用于指示所述待广播消息是否为有向消息。
可选地,所述方法还包括:
若收到所述待广播消息,根据节点列表获取随机广播节点,并向所述随机广播节点发送所述待广播消息,所述节点列表包括所述区块链的至少一个节点信息。
可选地,所述根据节点列表获取随机广播节点,包括:
根据所述节点列表和预设随机算法,获取除本节点的子节点之外的节点作为所述随机广播节点。
可选地,所述根据节点列表获取随机广播节点,并向所述随机广播节点发送所述待广播消息,包括:
根据所述节点列表获取随机广播节点,并将所述待广播消息中的消息类型标记为随机消息,获取更新后的待广播消息;
向所述随机广播节点发送所述更新后的待广播消息,其中,所述随机广播节点接收到所述更新后的待广播消息后不再转发。
可选地,所述以所述根节点为起点向所述拓扑关系中的子节点依次转发所述待广播消息,包括:
判断所述待广播消息的消息类型是否为有向消息;
若是,则根据所述预设完全N叉树的拓扑关系向所述拓扑关系中的子节点依次转发所述待广播消息。
第二方面,本申请实施例提供了一种基于区块链的消息广播装置,应用于区块链中的任一节点,所述区块链中的多个节点共同构成一预设完全N叉树,所述装置包括:确定模块和发送模块;
所述确定模块,用于若本节点生成待广播消息,根据所述预设完全N叉树确定根节点,所述预设完全N叉树根据每个所述节点的节点标识、节点之间的拓扑关系、以及预设根节点构造,其中,N为大于2的整数,用于指示所述预设完全N叉树中每个所述节点最多可配置的子节点数;
所述发送模块,用于向所述根节点发送所述待广播消息,以使所述根节点根据所述预设完全N叉树的拓扑关系向所述区块链中的其他节点有向转发所述待广播消息。
可选地,所述有向转发所述待广播消息包括:以所述根节点为起点向所述拓扑关系中的子节点依次转发所述待广播消息。
可选地,所述装置还包括建立模块,用于获取所述区块链中每个节点的节点标识;根据每个所述节点的节点标识、预设根节点以及预设拓扑规则,建立所述预设完全N叉树。
可选地,所述建立模块,具体用于根据所述节点标识,对每个所述节点的节点标识进行排序,获取排序后的节点标识列表;根据所述节点标识列表、预设根节点以及预设拓扑规则,建立所述预设完全N叉树。
可选地,上述装置还包括:注册模块,用于接收待注册节点发送的节点注册请求,所述节点注册请求用于请求分配网络地址;
根据所述节点注册请求,向所述待注册节点发送当前节点注册列表,所述当前节点注册列表包括为待注册节点分配的网络地址,所述当前节点注册列表用于记录已注册的至少一个节点分配的网络地址;
向所述其他节点发送为所述待注册节点分配的网络地址。
可选地,所述待广播消息包括:消息类型、本节点的节点标识,消息内容;所述消息类型用于指示所述待广播消息是否为有向消息。
可选地,所述发送模块,还用于若收到所述待广播消息,根据节点列表获取随机广播节点,并向所述随机广播节点发送所述待广播消息,所述节点列表包括所述区块链的至少一个节点信息。
可选地,所述发送模块,具体用于根据所述节点列表和预设随机算法,获取除本节点的子节点之外的节点作为所述随机广播节点。
可选地,所述发送模块,具体用于根据所述节点列表获取随机广播节点,并将所述待广播消息中的消息类型标记为随机消息,获取更新后的待广播消息;向所述随机广播节点发送所述更新后的待广播消息,其中,所述随机广播节点接收到所述更新后的待广播消息后不再转发。
可选地,所述发送模块,具体用于判断所述待广播消息的消息类型是否为有向消息;若是,则根据所述预设完全N叉树的拓扑关系向所述拓扑关系中的子节点依次转发所述待广播消息。
第三方面,本申请实施例提供了一种电子设备,包括:处理器、存储介质和总线,存储介质存储有处理器可执行的机器可读指令,当电子设备运行时,处理器与存储介质之间通过总线通信,处理器执行机器可读指令,以执行上述第一方面的基于区块链的消息广播方法的步骤。
第四方面,本申请实施例提供了一种存储介质,存储介质上存储有计算机程序,计算机程序被处理器运行时执行上述第一方面的基于区块链的消息广播方法的步骤。
本申请的有益效果是:
本申请实施例提供的基于区块链的消息广播方法、装置、电子设备及存储介质,可以应用于区块链中的任一节点,该区块链中的多个节点共同构成一预设完全N叉树,该方法包括:若本节点生成待广播消息,根据预设完全N叉树确定根节点,预设完全N叉树根据每个节点的节点标识、节点之间的拓扑关系、以及预设根节点构造,其中,N为大于2的整数,用于指示预设完全N叉树中每个节点最多可配置的子节点数;向根节点发送待广播消息,以使根节点根据预设完全N叉树的拓扑关系向区块链中的其他节点有向转发待广播消息,应用本申请实施例,可以实现待广播消息的有向转发,解决待广播消息被重复发送的问题,避免广播风暴、节省带宽资源。且广播过程中,根节点将待广播消息广播到多个子节点后,若子节点非叶子节点,则该多个子节点可以作为多个父节点并行完成其他子节点的广播,实现并行广播,使得可以以较快的速度将待广播消息广播至全网,提高消息广播的速度。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的现有网络拓扑结构的示意图;
图2为本申请实施例提供的一种基于区块链的消息广播方法的流程示意图;
图3为本申请实施例提供的另一种基于区块链的消息广播方法的流程示意图;
图4为本申请实施例提供的又一种基于区块链的消息广播方法的流程示意图;
图5为本申请实施例提供的另一种基于区块链的消息广播方法的流程示意图;
图6为本申请实施例提供的又一种基于区块链的消息广播方法的流程示意图;
图7为本申请实施例提供的另一种基于区块链的消息广播方法的流程示意图;
图8为本申请实施例提供的一种完全N叉树的结构示意图;
图9为本申请实施例提供的一种基于区块链的消息广播装置的功能模块示意图;
图10为本申请实施例提供的另一种基于区块链的消息广播装置的功能模块示意图;
图11为本申请实施例提供的一种电子设备结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
在介绍本申请之前,为了更好地理解本申请,首先对本申请中的相关名词进行解释说明。
P2P:对等网络,即对等计算机网络,是一种在对等者(Peer)之间分配任务和工作负载的分布式应用架构,是对等计算模型在应用层形成的一种组网或网络形式。在P2P网络环境中,彼此连接的多台计算机之间都处于对等的地位,各台计算机有相同的功能,无主从之分,一台计算机既可作为服务器,设定共享资源供网络中其他计算机所使用,又可以作为工作站,整个网络一般来说不依赖专用的集中服务器,也没有专用的工作站。网络中的每一台计算机既能充当网络服务的请求者,又对其它计算机的请求做出响应,提供资源、服务和内容。通常这些资源和服务包括:信息的共享和交换、计算资源(如CPU计算能力共享)、存储共享(如缓存和磁盘空间的使用)、网络共享、打印机共享等。
Kademlia:是一种P2P重叠网络传输协议,以构建分布式的P2P电脑网络。Kademlia节点间使用传输通讯协议UDP沟通,Kademlia节点利用分布式散列表(DHT)储存资料索引,通过现有的局域网/广域网(LAN/WAN),建立起一个新的虚拟网络或重叠网络。
完全N叉树:除最后一层外,每一层上的节点数均达到最大N值;在最后一层上只缺少右边的若干节点。
图1为本申请实施例提供的现有网络拓扑结构的示意图。如图1(a)所示,基于区块链中的节点,该网络拓扑结构中可以包括[A0,A1,A2,A3,A4,A5]共7个节点,图中的连接线可以代表节点间的TCP连接。例如,消息msg0从A0发出,则消息msg0会广播给节点[A1,A2,A3],而A2节点收到A0消息msg0后,同样会将消息msg0广播给[A5,A4],同样A5收到A2消息msg0后,会继续将消息msg0广播给[A3,A4],此间会不断广播,直至广播收敛,可以看出,在其中一条链路中,都有A2->A5,A3->A5消息msg0的重复发送,可以理解的是,若在更复杂的链路中,会存在这种大量的消息重复发送,并且反复广播的现象。因此,现有的P2P网络拓扑结构,会引起严重的广播风暴,且存在带宽浪费的现象。
另外,在联盟链中,虽然会对上述拓扑结构进行改造,比如,改造成如图1(b)所示的网络拓扑结构,在该网络拓扑结构中,所有节点都会相互连接,然后消息的广播也比较简单,例如,节点A0广播消息msg0时,则会遍历所有节点[A1~A5],然后逐个将消息发送,当别的节点收到该消息后,则不会继续转发该消息,可以看出的是,该广播方式中消息广播的速度会非常慢,特别是当节点数量较多时,会严重影响消息的广播速度。
有鉴于此,本申请实施例提供一种基于区块链的消息广播方法,该方法可以应用于区块链中的任一节点,且不会引起消息的广播风暴,同时,也会以较快的速度将待广播消息进行全网广播,保证消息的广播速度。
图2为本申请实施例提供的一种基于区块链的消息广播方法的流程示意图,该方法可以应用于区块链中的任一节点,该节点可以是位于区块链中的计算机、终端设备、矿机和服务器等,本申请在此不作限定,该区块链中的多个节点可以共同构成一预设完全N叉树,如图2所示,该方法可以包括:
S101、若本节点生成待广播消息,根据预设完全N叉树确定根节点,预设完全N叉树根据每个节点的节点标识、节点之间的拓扑关系、以及预设根节点构造。
其中,N为大于2的整数,用于指示预设完全N叉树中每个节点最多可配置的子节点数。
其中,待广播消息为区块链中需要广播发送的消息,其可以包括任意交易数据;预设完全N叉树根据每个节点的节点标识、节点之间的拓扑关系、以及预设根节点构造,N用于指示该预设完全N叉树中每个节点最多可配置的子节点数,在该预设完全N叉树中,除最后一层外,每一层上的节点数均达到最大值(N),在最后一层上只缺少右边的若干结点。比如,对于预设完全3叉树来说,则指示该预设完全3叉树中,除最后一层外,每一层上的节点数均达到3,在最后一层上只缺少右边的若干结点。
可以理解的是,通过预设完全N叉树可以反映区块链中节点之间的网络拓扑结构,本节点可以是该预设完全N叉树中的任一节点。在进行消息广播时,若本节点生成待广播消息,可以根据预设N叉树确定其中的根节点。
S102、向根节点发送待广播消息,以使根节点根据预设完全N叉树的拓扑关系向区块链中的其他节点有向转发待广播消息。
在确定上述根节点后,本节点可以向该根节点发送待广播消息,使得该根节点可以根据预设完全N叉树的拓扑关系可以向其他节点有向转发该待广播消息,其中,有向转发即按一定的方向进行转发,可以理解的是,由于在转发过程中实现了待广播消息的有向转发,因此,可以解决现有待广播消息被重复发送的问题,避免广播风暴出现、其还可以节省带宽资源。
当然,可以理解的是,本节点也可以根节点,本节点为根节点时,则该根节点可以根据预设完全N叉树的拓扑关系向其他节点有向转发待广播消息。在一些实施例中,对于本节点来说,若本节点不为根节点,本节点在向根节点发送待广播消息时,也可以并行向其子节点发送待广播消息,如此,可以提高消息广播的速度。
综上,本申请实施例提供的基于区块链的消息广播方法,可以应用于区块链中的任一节点,该区块链中的多个节点共同构成一预设完全N叉树,该方法包括:若本节点生成待广播消息,根据预设完全N叉树确定根节点,预设完全N叉树根据每个节点的节点标识、节点之间的拓扑关系、以及预设根节点构造,其中,N为大于2的整数,用于指示预设完全N叉树中每个节点最多可配置的子节点数;向根节点发送待广播消息,以使根节点根据预设完全N叉树的拓扑关系向区块链中的其他节点有向转发待广播消息,应用本申请实施例,可以实现待广播消息的有向转发,解决待广播消息被重复发送的问题,避免广播风暴、节省带宽资源。
可选地,有向转发待广播消息包括:以根节点为起点向拓扑关系中的子节点依次转发待广播消息。
其中,进行有向转发时,可以以该根节点为起点,根据预设完全N叉树的拓扑关系向其他子节点依次传输待广播消息。在一些实施例中,可以以该根节点为起点,通过该根节点向其第一子节点发送待广播消息,该第一子节点收到该待广播消息后,可以再次将该待广播消息转发给其第二子节点,其中,第二子节点为第一子节点的子节点,可以理解的是,对于第二子节点来说,若该第二子节点包括第三子节点,则可以将该待广播消息转发给第三子节点,而若该第二子节点不包括其他子节点,则可以停止转发。
应用本申请实施例,使得对于非根节点来说,其可以只接收父节点转发的待广播消息,实现了消息的有向转发,可以避免广播风暴。且广播过程中,根节点将待广播消息广播到多个子节点后,若子节点非叶子节点,则该多个子节点可以作为多个父节点并行完成其他子节点的广播,实现并行广播,使得可以以较快的速度将待广播消息广播至全网,提高消息广播的速度。
图3为本申请实施例提供的另一种基于区块链的消息广播方法的流程示意图。可选地,如图3所示,上述方法还包括:
S201、若收到待广播消息,根据节点列表获取随机广播节点,并向随机广播节点发送待广播消息,节点列表包括区块链的至少一个节点信息。
其中,对于每个节点来说,其可以包括相应的节点列表,该节点列表可以包括区块链的至少一个节点信息。
基于上述实施例的基础上,若本节点非根节点,由于根节点会根据预设完全N叉树的拓扑关系向其他节点有向转发待广播消息,可以理解的是,根节点也会将该待广播消息有向转发给本节点,则本节点在收到待广播消息时,可以根据节点列表获取随机广播节点,从而可以向该随机广播节点发送待广播消息。当然,本申请在此并不限定随机广播节点的数量,根据实际的应用场景,可以包括1个、2个、或任意数量,本申请在此不作限定。
应用本申请实施例,可以看出的,每个节点除了有向广播来自父节点的消息给自身的子节点外,还可以选择随机广播节点,向该随机广播节点发送待广播消息,如此可以提高消息的广播可靠性。
可选地,上述根据节点列表获取随机广播节点,包括:
根据节点列表和预设随机算法,获取除本节点的子节点之外的节点作为随机广播节点。
其中,预设随机算法可以用于在节点列表中获取随机广播节点,在一些实施例中,可以通过该预设随机算法确定随机广播节点的数量和随机广播节点在节点列表中的列表索引,进而根据该随机广播节点的数量和列表索引可以确定随机广播节点。
可选地,也可以通过预设随机算法先获取本节点的子节点之外的节点,然后从本节点的子节点之外的节点中选择随机广播节点。
举例说明,例如节点列表包括节点[11,2,43,64,85,36,57,28,19,10]共10个节点的节点信息,每个节点对应的列表索引依次为[1,2,3,4,5,6,7,8,9,10],可选地,可以通过预设随机算法生成0~10以内的随机数和列表索引,若生成的随机数为10%、随机列表索引为4,其中,根据该随机数可以确定随机广播节点的数量,则本申请实施例中,随机广播节点为1,对应的随机列表索引为4,也即选择节点列表中的节点[64],在一些实施例中,可以进一步判断节点[64]是否为本节点的子节点,若否,可以将节点[64]作为本节点的随机广播节点,若是,则可以根据上述过程重新确定随机广播节点。当然,随机广播节点的确定方式并不以此为限,根据实际的应用场景可以灵活调整。
图4为本申请实施例提供的又一种基于区块链的消息广播方法的流程示意图。其中,对于预设完全N叉树来说,可以参见下述的方法构建该预设完全N叉树。可选地,如图4所示,上述方法还包括:
S301、获取区块链中每个节点的节点标识。
S302、根据每个节点的节点标识、预设根节点以及预设拓扑规则,建立预设完全N叉树。
其中,区块链中的每个节点可以对应一节点标识,该节点标识可以唯一标识各节点;预设根节点可以是区块链中的任一节点,根据实际的场景,可以任意指定;预设拓扑规则可以用于指示各节点之间的网络拓扑关系,则根据各节点的节点标识、预设根节点以及该预设拓扑规则可以构建预设完全N叉树以使后续在进行消息广播时,可以基于该预设完全N叉树进行消息广播。
可选地,节点标识可以包括数字、字母等组合,本申请在此不作限定,根据实际的应用场景可以灵活设置。
图5为本申请实施例提供的另一种基于区块链的消息广播方法的流程示意图。可选地,如图5所示,上述根据每个节点的节点标识、预设根节点以及预设拓扑规则,建立预设完全N叉树,包括:
S401、根据节点标识,对每个节点的节点标识进行排序,获取排序后的节点标识列表。
S402、根据节点标识列表、预设根节点以及预设拓扑规则,建立预设完全N叉树。
其中,可以根据各节点标识的大小,按照其数值进行升序或降序排序,获取排序后的节点标识列表,基于该节点标识列表,预设根节点以及预设拓扑规则可以构建该预设完全N叉树。
图6为本申请实施例提供的又一种基于区块链的消息广播方法的流程示意图。若本节点为种子节点,则对于本节点来说,可以参加下述的方法为待注册节点分配网络地址,可选地,如图6所示,上述方法还包括:
S501、接收待注册节点发送的节点注册请求,节点注册请求用于请求分配网络地址。
其中,本申请实施例中的区块链中可以包括一个或多个种子节点,可选地,本节点可以为种子节点,每个种子节点可以包括相应的网络地址,种子节点可以记录在种子节点列表中。比如,某区块链中的种子节点可以包括2个,则种子节点列表可以包括如下内容:{“ip”:“12.12.42.23”,“port”:“1003”}、{“ip”:“12.12.42.24”,“port”:“1003”},其中,ip可以指示种子节点的互联网协议地址,port可以指示种子节点的端口。
待注册节点可以是待加入区块链中的节点,则对于该待注册节点来说,该待注册节点可以向本节点,也即种子节点发送节点注册请求,用于请求向种子节点请求分配网络地址。
S502、根据节点注册请求,向待注册节点发送当前节点注册列表,当前节点注册列表包括为待注册节点分配的网络地址,当前节点注册列表用于记录已注册的至少一个节点分配的网络地址。
其中,当前节点注册列表用于记录已注册的至少一个节点分配的网络地址,其中可以包括各节点的标识、以及对应分配的网络地址。在一些实施例中,对于本节点来说,也即对于种子节点来说,种子节点在接收到该节点注册请求后,则可以为待注册节点分配网络地址,并将为该待注册节点分配的网络地址加入当前节点注册列表中,向该待注册节点发送当前节点注册列表,该待注册节点则接收种子节点发送的当前节点注册列表,根据当前节点注册列表设置自己的网络地址。
S503、向其他节点发送为待注册节点分配的网络地址。
可以理解的是,对于种子节点来说,在为待注册节点分配网络地址之后,可以将为待注册节点分配的网络地址信息广播给全网节点,广播方式可以为普通的节点遍历,便于全网各节点接收到该待注册节点分配的网络地址信息后,实时更新各节点的节点注册列表。可选地,待注册节点分配的网络地址信息可以通过update消息发送给全网节点,update消息的格式可以为:{“type”:“NewNode”,“ip”:“xxxx”,“port”:“xxxx”},其中,“type”可以指示是否为新注册节点,若为“NewNode”,则表示为新注册的节点;“ip”和“port”可以指示该新注册节点的网络地址信息,当然,在此并不限定update消息的具体格式。
此外,需要说明的是,本节点启动时,本节点则可以作为待注册节点,参见上述的方法可以向区块链中的其他种子节点发送节点注册请求,经其他种子节点分配后,可以获取到网络地址,具体分配方式可参见前述的相关说明,本申请在此不再赘述。
可选地,上述待广播消息包括:消息类型、本节点的节点标识,消息内容;消息类型用于指示待广播消息是否为有向消息。
图7为本申请实施例提供的另一种基于区块链的消息广播方法的流程示意图。可选地,如图7所示,上述根据节点列表获取随机广播节点,并向随机广播节点发送待广播消息,包括:
S601、根据节点列表获取随机广播节点,并将待广播消息中的消息类型标记为随机消息,获取更新后的待广播消息。
S602、向随机广播节点发送更新后的待广播消息,其中,随机广播节点接收到更新后的待广播消息后不再转发。
参见前述的相关说明,在获取到随机广播节点后,则可以将该待广播消息中的消息类型标记为随机消息,比如,可以标记为“random”,获取更新后的待广播消息,向该随机广播节点发送该更新后的待广播消息,使得对于随机广播节点来说,随机广播节点在接收到更新后的待广播消息时,若确定其中的消息类型为随机消息,那么,随机广播节点可以不再转发该更新后的待广播消息,避免引起消息的广播风暴。
可选地,上述以根节点为起点向拓扑关系中的子节点依次转发待广播消息,包括:
判断待广播消息的消息类型是否为有向消息;若是,则根据预设完全N叉树的拓扑关系向拓扑关系中的子节点依次转发述待广播消息。
其中,根据预设完全N叉树的拓扑关系向拓扑关系中的子节点依次转发述待广播消息时,可以判断该待广播消息是否为有向消息,若是,比如标记为“direct”时,则可以转发,可以看出,应用本申请实施例,进行消息广播时为有向转发,不会引起消息的广播风暴。
可选地,待广播消息可以以如下格式进行消息的转发:{“content”:“xxxx”,“type1”:“xxxx”,“nodeNum”:“xxxx”}。
其中,“content”对应的字段值可以指示消息内容,“type1”对应的字段值可以指示消息类型,该字段值可以包括:“direct”和“random”,若为“direct”则指示该待广播消息为有向消息,某节点收到的待广播消息中“type1”对应的字段值为“direct”,则该节点需要向拓扑关系中的子节点依次转发待广播消息;若为“random”则指示该待广播消息为随机广播消息。比如,本节点若收到待广播消息,根据节点列表获取随机广播节点,向随机广播节点发送待广播消息时,可以将待广播消息中的消息类型标记为随机消息,获取更新后的待广播消息,该更新后的待广播消息可以为{“content”:“xxxx”,“type1”:“random”,“nodeNum”:“xxxx”},也即随机广播节点在接收到该更新后的待广播消息时,由于该更新后的待广播消息中消息类型指示为随机消息(即为“random”),则该随机广播节点不再进行转发。
“nodeNum”对应的字段值可以指示本节点的节点标识,其中,需要说明的是,待广播消息是由哪个节点生成的,则“nodeNum”对应的字段值可以取该节点的节点标识,本申请实施例中,待广播消息由本节点生成,则“nodeNum”对应的字段值可以为本节点的节点标识,待广播消息广播过程中,“nodeNum”对应的字段值可以保持不变。
下面,本申请结合具体的举例对上述实施例进行说明,区块链中每一节点包括唯一的节点标识nodeId,在一些实施例中,每个节点可以通过预设的散列算法,比如第三代安全散列算法(Secure Hash Algorithm 3,SHA-3)获取全网各节点标识对应的10进制数字nodeNum,并按照其数值进行升序排序,获取节点标识列表,可以将其记为[nodeNum1,nodeNum2,nodeNum3,...,nodeNumM],其中,nodeNum1、nodeNum2、nodeNum3、nodeNumM分别表示各节点标识对应的10进制数字nodeNum,根据全网节点的数量,M的取值可以有所不同。
图8为本申请实施例提供的一种完全N叉树的结构示意图。本申请实施例在此以N=3,也即以完全3叉树为例进行说明,若获取的节点标识列表为[6,7,10,16,17,90,95,100,101],根节点为17,则可以按照根节点所在位置的先左后右的原则建立完全3叉树。具体地,可以按照17的第一个左边数值为16,第一个右边数值为90,第二个左边数值为10,第二个右边数值为95,然后可以得到一个新的以17为根节点的完全3叉列表[17,16,90,10,95,7,100,6,101],将该完全3叉列表用完全3叉树进行表示,则可以得到如图8所示的网络拓扑结构,则后续进行待广播消息的转发时,则基于该完全3叉树进行转发。需要说明的是,完全3叉树构建之后,区块链中的每一节点可以包括同一完全3叉树。
关于待广播消息的转发,可进一步参见下述的转发过程,若待广播消息从nodeNum为16的节点发起时,即nodeNum为16的节点为本节点,则本节点可以基于上述构建的完全3叉树获取根节点(nodeNum为17的节点),向该根节点发送待广播消息,根节点收到该待广播消息后,可以根据完全3叉树的拓扑关系向其他节点(也即该根节点的子节点,如图8所示中,nodeNum为[16、90、10]的节点)有向转发待广播消息,可选地,待广播消息可以通过如下的格式进行转发:{“content”:“xxx”,“type1”:“direct”,“nodeNum”:16},其中,“type1”的字段值为“direct”,“direct”可以指示该待广播消息为有向消息,某节点(比如,nodeNum为90的节点)收到的待广播消息中“type1”对应的字段值为“direct”,则该节点需要向拓扑关系中的子节点(即nodeNum为[6、101]的节点)转发待广播消息。
其中,以nodeNum为6的节点为例,该节点收到待广播消息后,由于该节点为叶子节点,不再包括其他子节点,则该节点不再转发该待广播消息。
基于上述实施例可以看出,本申请实施例提供的基于区块链的消息广播方法中,待广播消息可以从根节点逐层广播到叶子节点结束,是有向的,直到叶子节点,所以不会引起网络风暴,而现有的广播方法,由于待广播消息会被重复发送,因此会引起严重的广播风暴。
基于上述实施例可以看出,由于根据预设完全N叉树的拓扑关系向其他节点有向转发待广播消息时,根节点将待广播消息广播到多个子节点后,若子节点非叶子节点,则该多个子节点可以作为多个父节点并行完成其他子节点的广播,实现并行广播,提高消息广播的速度。
图9为本申请实施例提供的一种基于区块链的消息广播装置的功能模块示意图,该装置可以应用于区块链中的任一节点,该区块链中的多个节点共同构成一预设完全N叉树,该装置基本原理及产生的技术效果与前述对应的方法实施例相同,为简要描述,本实施例中未提及部分,可参考方法实施例中的相应内容。如图9所示,消息广播装置100可以包括:确定模块110和发送模块120。
确定模块110,用于若本节点生成待广播消息,根据预设完全N叉树确定根节点,预设完全N叉树根据每个所述节点的节点标识、节点之间的拓扑关系、以及预设根节点构造,其中,N为大于2的整数,用于指示预设完全N叉树中每个节点最多可配置的子节点数;发送模块120,用于向根节点发送所述待广播消息,以使根节点根据预设完全N叉树的拓扑关系向区块链中的其他节点有向转发待广播消息。
可选地,有向转发所述待广播消息包括:以根节点为起点向拓扑关系中的子节点依次转发待广播消息。
可选地,发送模块120,还用于若收到所述待广播消息,根据节点列表获取随机广播节点,并向所述随机广播节点发送所述待广播消息,所述节点列表包括所述区块链的至少一个节点信息。
可选地,所述发送模块120,具体用于根据节点列表和预设随机算法,获取除本节点的子节点之外的节点作为随机广播节点。
图10为本申请实施例提供的另一种基于区块链的消息广播装置的功能模块示意图。可选地,如图10所示,消息广播装置100还包括:建立模块140,用于获取区块链中每个节点的节点标识;根据每个节点的节点标识、预设根节点以及预设拓扑规则,建立预设完全N叉树。
可选地,建立模块140,具体用于根据节点标识,对每个节点的节点标识进行排序,获取排序后的节点标识列表;根据节点标识列表、预设根节点以及预设拓扑规则,建立预设完全N叉树。
可选地,若本节点为待注册节点,上述消息广播装置100还包括:注册模块150,用于接收待注册节点发送的节点注册请求,节点注册请求用于请求分配网络地址;根据节点注册请求,向待注册节点发送当前节点注册列表,当前节点注册列表包括为待注册节点分配的网络地址,当前节点注册列表用于记录已注册的至少一个节点分配的网络地址;向其他节点发送为待注册节点分配的网络地址。
可选地,上述待广播消息包括:消息类型、本节点的节点标识,消息内容;消息类型用于指示所述待广播消息是否为有向消息。
可选地,发送模块120,具体用于根据所述节点列表获取随机广播节点,并将待广播消息中的消息类型标记为随机消息,获取更新后的待广播消息;向随机广播节点发送更新后的待广播消息,其中,随机广播节点接收到更新后的待广播消息后不再转发。
可选地,发送模块120,具体用于判断待广播消息的消息类型是否为有向消息;若是,则根据预设完全N叉树的拓扑关系向拓扑关系中的子节点依次转发待广播消息。
上述装置用于执行前述实施例提供的方法,其实现原理和技术效果类似,在此不再赘述。
以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit,简称ASIC),或,一个或多个微处理器(Digital Signal Processor,简称DSP),或,一个或者多个现场可编程门阵列(Field Programmable Gate Array,简称FPGA)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(CentralProcessing Unit,简称CPU)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,简称SOC)的形式实现。
图11为本申请实施例提供的一种电子设备结构示意图。如图11所示,该电子设备可以包括:处理器210、存储介质220和总线230,存储介质220存储有处理器210可执行的机器可读指令,当电子设备运行时,处理器210与存储介质220之间通过总线230通信,处理器210执行机器可读指令,以执行上述方法实施例的步骤。具体实现方式和技术效果类似,这里不再赘述。
可选地,本申请还提供一种存储介质,存储介质上存储有计算机程序,计算机程序被处理器运行时执行上述方法实施例的步骤。具体实现方式和技术效果类似,这里不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本申请各个实施例方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取存储器(英文:Random Access Memory,简称:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。以上仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (13)
1.一种基于区块链的消息广播方法,其特征在于,应用于区块链中的任一节点,所述区块链中的多个节点共同构成一预设完全N叉树,所述方法包括:
若本节点生成待广播消息,根据所述预设完全N叉树确定根节点,所述预设完全N叉树根据每个所述节点的节点标识、节点之间的拓扑关系、以及预设根节点构造,其中,N为大于2的整数,用于指示所述预设完全N叉树中每个所述节点最多可配置的子节点数;
向所述根节点发送所述待广播消息,以使所述根节点根据所述预设完全N叉树的拓扑关系向所述区块链中的其他节点有向转发所述待广播消息。
2.根据权利要求1所述的方法,其特征在于,所述有向转发所述待广播消息包括:以所述根节点为起点向所述拓扑关系中的子节点依次转发所述待广播消息。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取所述区块链中每个节点的节点标识;
根据每个所述节点的节点标识、预设根节点以及预设拓扑规则,建立所述预设完全N叉树。
4.根据权利要求3所述的方法,其特征在于,所述根据每个所述节点的节点标识、预设根节点以及预设拓扑规则,建立所述预设完全N叉树,包括:
根据所述节点标识,对每个所述节点的节点标识进行排序,获取排序后的节点标识列表;
根据所述节点标识列表、预设根节点以及预设拓扑规则,建立所述预设完全N叉树。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收待注册节点发送的节点注册请求,所述节点注册请求用于请求分配网络地址;
根据所述节点注册请求,向所述待注册节点发送当前节点注册列表,所述当前节点注册列表包括为待注册节点分配的网络地址,所述当前节点注册列表用于记录已注册的至少一个节点分配的网络地址;
向所述其他节点发送为所述待注册节点分配的网络地址。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述待广播消息包括:消息类型、本节点的节点标识,消息内容;
所述消息类型用于指示所述待广播消息是否为有向消息。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
若收到所述待广播消息,根据节点列表获取随机广播节点,并向所述随机广播节点发送所述待广播消息,所述节点列表包括所述区块链的至少一个节点信息。
8.根据权利要求7所述的方法,其特征在于,所述根据节点列表获取随机广播节点,包括:
根据所述节点列表和预设随机算法,获取除本节点的子节点之外的节点作为所述随机广播节点。
9.根据权利要求7所述的方法,其特征在于,所述根据节点列表获取随机广播节点,并向所述随机广播节点发送所述待广播消息,包括:
根据所述节点列表获取随机广播节点,并将所述待广播消息中的消息类型标记为随机消息,获取更新后的待广播消息;
向所述随机广播节点发送所述更新后的待广播消息,其中,所述随机广播节点接收到所述更新后的待广播消息后不再转发。
10.根据权利要求6所述的方法,其特征在于,所述以所述根节点为起点向所述拓扑关系中的子节点依次转发所述待广播消息,包括:
判断所述待广播消息的消息类型是否为有向消息;
若是,则根据所述预设完全N叉树的拓扑关系向所述拓扑关系中的子节点依次转发所述待广播消息。
11.一种基于区块链的消息广播装置,其特征在于,应用于区块链中的任一节点,所述区块链中的多个节点共同构成一预设完全N叉树,所述装置包括:确定模块和发送模块;
所述确定模块,用于若本节点生成待广播消息,根据所述预设完全N叉树确定根节点,所述预设完全N叉树根据每个所述节点的节点标识、节点之间的拓扑关系、以及预设根节点构造,其中,N为大于2的整数,用于指示所述预设完全N叉树中每个所述节点最多可配置的子节点数;
所述发送模块,用于向所述根节点发送所述待广播消息,以使所述根节点根据所述预设完全N叉树的拓扑关系向所述区块链中的其他节点有向转发所述待广播消息。
12.一种电子设备,其特征在于,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述机器可读指令,以执行如权利要求1-10任一所述基于区块链的消息广播方法的步骤。
13.一种存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如权利要求1-10任一所述基于区块链的消息广播方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011384741.6A CN112565389B (zh) | 2020-11-30 | 2020-11-30 | 基于区块链的消息广播方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011384741.6A CN112565389B (zh) | 2020-11-30 | 2020-11-30 | 基于区块链的消息广播方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112565389A true CN112565389A (zh) | 2021-03-26 |
CN112565389B CN112565389B (zh) | 2021-09-24 |
Family
ID=75046047
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011384741.6A Active CN112565389B (zh) | 2020-11-30 | 2020-11-30 | 基于区块链的消息广播方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112565389B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113114761A (zh) * | 2021-04-12 | 2021-07-13 | 中共陕西省委党校 | 基于分布式服务的数据共享交换激励系统及方法 |
CN113709203A (zh) * | 2021-04-08 | 2021-11-26 | 曾春峰 | 一种应用于区块链中的高效通信方法及系统 |
CN114490129A (zh) * | 2022-01-27 | 2022-05-13 | 阿里巴巴(中国)有限公司 | 一种集群中的消息广播方法、设备及存储介质 |
CN115221558A (zh) * | 2022-07-29 | 2022-10-21 | 北京大学 | 一种面向多主体科技资源的数字对象高效存证方法和系统 |
CN115296943A (zh) * | 2022-07-18 | 2022-11-04 | 杭州趣链科技有限公司 | 一种消息广播方法、装置、服务器和存储介质 |
WO2023160089A1 (zh) * | 2022-02-25 | 2023-08-31 | 蚂蚁区块链科技(上海)有限公司 | 用于区块链网络的消息广播方法、区块链节点和区块链系统 |
WO2023231344A1 (zh) * | 2022-06-01 | 2023-12-07 | 蚂蚁区块链科技(上海)有限公司 | 一种运行联盟链网络的方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170046698A1 (en) * | 2015-08-13 | 2017-02-16 | The Toronto-Dominion Bank | Systems and methods for establishing and enforcing transaction-based restrictions using hybrid public-private blockchain ledgers |
CN108847925A (zh) * | 2018-06-20 | 2018-11-20 | 深圳大学 | 一种基于树状结构的分片区块链生成方法 |
CN109302296A (zh) * | 2018-10-10 | 2019-02-01 | 上海保险交易所股份有限公司 | 用于在区块链网络中广播消息的方法、设备和存储介质 |
CN111427955A (zh) * | 2020-03-23 | 2020-07-17 | 杭州鹿扬科技有限公司 | 使用区块链网络消减广播风暴的系统及方法 |
CN111432009A (zh) * | 2020-03-30 | 2020-07-17 | 深圳壹账通智能科技有限公司 | 一种区块链数据的同步方法、装置及电子设备、存储介质 |
CN112417001A (zh) * | 2020-11-19 | 2021-02-26 | 腾讯科技(深圳)有限公司 | 基于区块链网络的数据处理方法及相关设备 |
CN112565395A (zh) * | 2020-12-01 | 2021-03-26 | 浙商银行股份有限公司 | 一种广播收敛的联盟链p2p组网方法、设备及可读存储介质 |
-
2020
- 2020-11-30 CN CN202011384741.6A patent/CN112565389B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170046698A1 (en) * | 2015-08-13 | 2017-02-16 | The Toronto-Dominion Bank | Systems and methods for establishing and enforcing transaction-based restrictions using hybrid public-private blockchain ledgers |
CN108847925A (zh) * | 2018-06-20 | 2018-11-20 | 深圳大学 | 一种基于树状结构的分片区块链生成方法 |
CN109302296A (zh) * | 2018-10-10 | 2019-02-01 | 上海保险交易所股份有限公司 | 用于在区块链网络中广播消息的方法、设备和存储介质 |
CN111427955A (zh) * | 2020-03-23 | 2020-07-17 | 杭州鹿扬科技有限公司 | 使用区块链网络消减广播风暴的系统及方法 |
CN111432009A (zh) * | 2020-03-30 | 2020-07-17 | 深圳壹账通智能科技有限公司 | 一种区块链数据的同步方法、装置及电子设备、存储介质 |
CN112417001A (zh) * | 2020-11-19 | 2021-02-26 | 腾讯科技(深圳)有限公司 | 基于区块链网络的数据处理方法及相关设备 |
CN112565395A (zh) * | 2020-12-01 | 2021-03-26 | 浙商银行股份有限公司 | 一种广播收敛的联盟链p2p组网方法、设备及可读存储介质 |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113709203A (zh) * | 2021-04-08 | 2021-11-26 | 曾春峰 | 一种应用于区块链中的高效通信方法及系统 |
CN113114761A (zh) * | 2021-04-12 | 2021-07-13 | 中共陕西省委党校 | 基于分布式服务的数据共享交换激励系统及方法 |
CN113114761B (zh) * | 2021-04-12 | 2022-09-20 | 中共陕西省委党校 | 基于分布式服务的数据共享交换激励系统及方法 |
CN114490129A (zh) * | 2022-01-27 | 2022-05-13 | 阿里巴巴(中国)有限公司 | 一种集群中的消息广播方法、设备及存储介质 |
WO2023160089A1 (zh) * | 2022-02-25 | 2023-08-31 | 蚂蚁区块链科技(上海)有限公司 | 用于区块链网络的消息广播方法、区块链节点和区块链系统 |
WO2023231344A1 (zh) * | 2022-06-01 | 2023-12-07 | 蚂蚁区块链科技(上海)有限公司 | 一种运行联盟链网络的方法 |
CN115296943A (zh) * | 2022-07-18 | 2022-11-04 | 杭州趣链科技有限公司 | 一种消息广播方法、装置、服务器和存储介质 |
CN115296943B (zh) * | 2022-07-18 | 2024-04-16 | 杭州趣链科技有限公司 | 一种消息广播方法、装置、服务器和存储介质 |
CN115221558A (zh) * | 2022-07-29 | 2022-10-21 | 北京大学 | 一种面向多主体科技资源的数字对象高效存证方法和系统 |
CN115221558B (zh) * | 2022-07-29 | 2023-07-25 | 北京大学 | 一种面向多主体科技资源的数字对象高效存证方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN112565389B (zh) | 2021-09-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112565389B (zh) | 基于区块链的消息广播方法、装置、电子设备及存储介质 | |
US9647917B2 (en) | Maintaining consistency within a federation infrastructure | |
AU2007270060B2 (en) | Inter-proximity communication within a rendezvous federation | |
US7660320B2 (en) | Communication network, a method of routing data packets in such communication network and a method of locating and securing data of a desired resource in such communication network | |
TW200803303A (en) | Inter-proximity communication within a rendezvous federation | |
US20080288659A1 (en) | Maintaining consistency within a federation infrastructure | |
US20080031246A1 (en) | Allocating and reclaiming resources within a rendezvous federation | |
JP2009543447A5 (zh) | ||
US20140095605A1 (en) | Method and apparatus for increasing localization of peer-to-peer traffic for content distribution in communication network | |
CN110601906A (zh) | 一种基于区块链的数据传输方法及装置 | |
Shen et al. | A proximity-aware interest-clustered P2P file sharing system | |
CN103069781A (zh) | 用于分布式哈希表中的内容的对等业务局域化 | |
EP2514173B1 (en) | Localization of peer to peer traffic | |
Aguilar et al. | A hamming distance and fuzzy logic-based algorithm for P2P content distribution in enterprise networks | |
Cherbal et al. | A survey of DHT solutions in fixed and mobile networks | |
JP2013051566A (ja) | ノード装置、情報通信方法及びプログラム | |
WO2021087865A1 (zh) | 寻址方法、寻址系统以及寻址装置 | |
US20130111068A1 (en) | Creating an optimized distribution network for the efficient transfer of data between endpoints using crossover connections | |
Sacha et al. | A service-oriented peer-to-peer architecture for a digital ecosystem | |
WO2017198088A1 (zh) | 资源订阅方法、资源订阅装置和资源订阅系统 | |
CN108965387A (zh) | 一种提高p2p数据存储抗毁性的均衡方法及系统 | |
US20130110999A1 (en) | Creating an optimized distribution network for the efficient transfer of data between endpoints | |
Bo | Optimizing the network topology in gnutella p2p networks | |
Lu et al. | Arrangement graph-based overlay with replica mechanism for file sharing | |
Wu et al. | Study on the Fast Response and Adaptability Peer-to-Peer Network Based on Optimized Meridian and Gnutella |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |