CN111741126B - 一种区块链组通信方法及系统 - Google Patents
一种区块链组通信方法及系统 Download PDFInfo
- Publication number
- CN111741126B CN111741126B CN202010705415.4A CN202010705415A CN111741126B CN 111741126 B CN111741126 B CN 111741126B CN 202010705415 A CN202010705415 A CN 202010705415A CN 111741126 B CN111741126 B CN 111741126B
- Authority
- CN
- China
- Prior art keywords
- nodes
- group
- node
- message
- matrix
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 69
- 238000004891 communication Methods 0.000 title claims abstract description 34
- 239000011159 matrix material Substances 0.000 claims abstract description 147
- 239000013598 vector Substances 0.000 claims description 34
- 230000008569 process Effects 0.000 claims description 31
- 238000004364 calculation method Methods 0.000 claims description 16
- 230000005540 biological transmission Effects 0.000 abstract description 6
- 238000012795 verification Methods 0.000 description 5
- 238000010276 construction Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000004590 computer program Methods 0.000 description 2
- 239000006185 dispersion Substances 0.000 description 2
- 239000012634 fragment Substances 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 101150049349 setA gene Proteins 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
- H04L12/185—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with management of multicast group membership
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/12—Discovery or management of network topologies
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种区块链组通信方法及系统,所述方法包括:按预设规则将区块链系统中的通信节点分为一个或多个组,提取各组的组成员节点;将各组的组成员节点通过对等的分层拓扑结构排列成m行n列的拓扑矩阵,使得任一所述组成员节点与该节点所在行、所在列的所有节点连接构成完全正则图;当所述任一组成员节点接收到组消息时,按照预设规则在所述拓扑矩阵中进行消息传输,使得全部组成员节点接收到该组消息中包含的信息;所述方法及系统基于对等组内分层拓扑结构,可以根据消息重要性来决定消息发送对组成员有多少次全覆盖,从而控制消息的可靠性与冗余度,保证可靠性的同时,又可以达到提高通信效率、减少网络流量的目的。
Description
技术领域
本发明涉及信息技术领域,更具体地,涉及一种区块链组通信方法及系统。
背景技术
基于POS机制的区块链系统铸块过程,分为提案(proposal)和验证(verification)两个阶段,在验证阶段需要验证组进行大量通信来完成对新区块的验证,因此组通信的效率成为影响出块时间、提高TPS的关键。
目前常用的区块组通信方法包括基于DHT的分布式网络进行全网广播、全组广播方案以及使用Gossip协议来传播组消息。基于DHT的分布式网络进行全网广播的通信方式可以覆盖全网节点,但是通信量大,成本高,完全不能满足POS机制下区块链的网络通信需求;全组广播方案要求组内所有节点都要相互连接,每个节点都要保证对所有收到消息进行一次广播,这个方案实现简单,可以保证消息的到达率,但是消息的传输量高达n*n,通信量大,浪费流量,且消息覆盖全组耗时比较久,不能满足业务需求;使用Gossip协议来传播组消息只对部分节点广播,这样可以减少通信量,降低量流量占用,但是不能保证消息的到达率、及时性,可靠性不足,也不能满足业务需求。
发明内容
为了解决背景技术中现有区块链组通信方法通信量大、成本高、可靠性不足的问题,本发明提供了一种区块链组通信方法及系统,所述一种区块链组通信方法包括:
按预设规则将区块链系统中的通信节点分为一个或多个组,提取各组的组成员节点;
将各组的组成员节点通过对等的分层拓扑结构排列成m行n列的拓扑矩阵,使得任一所述组成员节点与该节点所在行的所有节点连接构成完全正则图,所述任一组成员节点与该节点所在列的所有节点连接构成完全正则图;
接收到组消息的节点,首先处理消息,然后向该节点所在列的所有节点发送列消息,向该节点所在行的所有节点发送行消息;
接收到列消息的一个或多个节点,首先处理消息,然后向该节点所在行的所有节点发送行消息;
接收到行消息的一个或多个节点,仅处理消息。
进一步的,所述将各组的组成员节点通过对等的分层拓扑结构排列成m行n列的拓扑矩阵的方法包括:
根据组成员节点总数V计算矩阵列数n,所述n=ceil(√V) ,其中,ceil(x)为大于或者等于x的最小整数;
根据组成员节点总数V和矩阵列数n计算得到矩阵行数m,所述m= ceil(V/n);
将组成员节点分成m组,每组有n个节点,将每组成员节点作为矩阵的行向量构造m行n列的矩阵;
设置矩阵每行节点之间相互连接构成完全正则图、矩阵每列节点之间相互连接构成完全正则图。
进一步的,所述根据组成员节点总数V和矩阵列数n计算得到矩阵行数m后,所述方法还包括:
将所述各组的组成员节点中任一节点定义为P_i,其中i为任一节点P_i的索引值;
将与节点索引值i除以矩阵列数n结果同商的节点构成行邻居节点集合,每个节点与其行邻居节点连接构成完全正则图,所述每个行邻居节点集合作为矩阵的行向量;
将节点索引值i关于矩阵列数n同余数的节点构成列邻居节点集合,每个节点与其列邻居节点连接构成完全正则图,所述每个列邻居节点集合作为矩阵的列向量;
根据所述行向量及所述列向量构造拓扑矩阵。
进一步的,当所述任一组成员节点接收到组消息时,按照预设规则在所述拓扑矩阵中进行消息传输的方法包括:
接收到组消息的节点,首先处理消息,然后向该节点所在列的所有节点发送列消息,向该节点在行的所有节点发送行消息;
接收到列消息的一个或多个节点,首先处理消息,然后向该节点所在行的所有节点发送行消息;
接收到行消息的一个或多个节点,仅处理消息。
进一步的,所述任一组成员节点发送消息分为组内广播和组外广播两种模式;
所述组内广播模式为任一节点发送组消息至本组其他节点,使得消息覆盖全组节点;
所述组外广播模式为任一节点发送组消息至其他组的节点,使得消息覆盖其他组的全组节点。
进一步的,所述组消息发送时设置冗余候选节点,发送节点发送组消息时,全部冗余候选节点及发送节点同时向目标节点发送消息;
所述冗余候选节点选择策略按发送节点与目标节点是否处于同一组分为组内广播模式策略和组外广播模式策略。
进一步的,所述组内广播模式策略的方法包括:
计算需要发送组消息的冗余候选节点数量,所述计算方法如下:
K=[n/2+1]
其中,所述K为需要发送组消息的冗余候选节点数量,所述n为拓扑矩阵的列数,函数[X]为取整函数;
从发送节点所在行中选择K个冗余候选节点,首先选择发送节点所在行的第一个节点,其余K-1个冗余候选节点从余下节点中随机选取;
向所有冗余候选节点发送组消息;
向发送节点所在行中不是冗余候选节点的节点发送行消息。
进一步的,所述组外广播模式策略的方法包括:
计算需要发送组消息的冗余候选节点数量,所述计算方法如下:
K=[n/2+1]
其中,所述K为需要发送组消息的冗余候选节点数量,所述n为目标节点所在组的拓扑矩阵列数,函数[X]为取整函数;
确定所有目标节点所在组中与发送节点存在连接关系的节点,构成已连接节点集合;
从已连接节点集合中选择不同列的K个节点,构成候选节点集合,若候选节点集合中总节点个数小于K,从剩余未连接节点中随机选择与候选节点集合中的节点均不位于同一列的节点,并将其加入候选节点集合;
向所述候选节点集合中所有节点发送组消息。
所述一种区块链组通信系统包括:
组成员节点以及拓扑矩阵创建单元;
所述组成员节点为各组的成员节点,所述组为区块链系统中待通信节点按预设规则划分的一个或多个组;
所述拓扑矩阵创建单元用于将各组的组成员节点通过对等的分层拓扑结构排列成m行n列的拓扑矩阵,使得任一所述组成员节点与该节点所在行的所有节点连接构成完全正则图,所述任一组成员节点与该节点所在列的所有节点连接构成完全正则图;
接收到组消息的节点,首先处理消息,然后向该节点所在列的所有节点发送列消息,向该节点所在行的所有节点发送行消息;
接收到列消息的一个或多个节点,首先处理消息,然后向该节点所在行的所有节点发送行消息;
接收到行消息的一个或多个节点,仅处理消息。
进一步的,所述拓扑矩阵创建单元根据组成员节点总数V计算矩阵列数n,所述n=ceil(√V) ,其中,ceil(x)为大于或者等于x的最小整数;
所述拓扑矩阵创建单元根据组成员节点总数V和矩阵列数n计算得到矩阵行数m,所述m= ceil(V/n);
所述拓扑矩阵创建单元将组成员节点分成m组,每组有n个节点,每组节点构成矩阵的行向量进而构造m行n列的矩阵;
所述拓扑矩阵创建单元设置矩阵每行节点之间相互连接构成完全正则图、矩阵每列节点之间相互连接构成完全正则图。
进一步的,所述拓扑矩阵创建单元计算得到拓扑矩阵行数和列数后,将所述组成员节点中任一节点定义为P_i,其中i为任一节点P_i的索引值;
所述拓扑矩阵创建单元将与节点索引值i除以矩阵列数n结果同商的节点构成行邻居节点集合,每个节点与其行邻居节点连接构成完全正则图,所述每个行邻居节点集合作为矩阵的行向量;
所述拓扑矩阵创建单元将节点索引值i关于矩阵列数n同余数的节点构成列邻居节点集合,每个节点与其列邻居节点连接构成完全正则图,所述每个列邻居节点集合作为矩阵的列向量;
所述拓扑矩阵创建单元根据所述行向量及所述列向量构成拓扑矩阵。
进一步的,接收到组消息的节点,首先处理消息,然后向该节点所在列的所有节点发送列消息,向该节点在行的所有节点发送行消息;
接收到列消息的一个或多个节点,首先处理消息,然后向该节点所在行的所有节点发送行消息;
接收到行消息的一个或多个节点,仅处理消息。
进一步的,所述任一组成员节点发送消息分为组内广播和组外广播两种模式;
所述组内广播模式为任一节点发送组消息至本组其他节点,使得消息覆盖全组节点;
所述组外广播模式为任一节点发送组消息至其他组的节点,使得消息覆盖其他组的全组节点。
进一步的,所述系统还包括冗余候选节点选择单元;
所述冗余候选节点选择单元用于选取冗余候选节点,所述冗余候选节点为同时与发送节点一起向目标节点发送组消息的备份节点;
所述冗余候选节点选择单元包括组内广播模式策略模块以及组外广播模式策略模块,所述组内广播模式策略模块的发送节点与目标节点处于同一组,所述组外广播模式策略模块的发送节点与目标节点处于不同组。
进一步的,所述组内广播模式策略模块计算需要发送组消息的冗余候选节点数量,所述计算方法如下:
K=[n/2+1]
其中,所述K为需要发送组消息的冗余候选节点数量,所述n为拓扑矩阵的列数,函数[X]为取整函数;
所述组内广播模式策略模块从发送节点所在行中选择K个冗余候选节点,首先选择发送节点所在行的第一个节点,其余K-1个冗余候选节点从余下节点中随机选取;
所述组内广播模式策略模块向所有冗余候选节点发送组消息;
所述组内广播模式策略模块向发送节点所在行中不是冗余候选节点的节点发送行消息。
进一步的,所述组外广播模式策略模块计算需要发送组消息的冗余候选节点数量,所述计算方法如下:
K=[n/2+1]
其中,所述K为需要发送组消息的冗余候选节点数量,所述n为目标节点所在组的拓扑矩阵列数,函数[X]为取整函数;
所述组外广播模式策略模块确定所有目标节点所在组中与发送节点存在连接关系的节点,构成已连接节点集合;
所述组外广播模式策略模块从已连接节点集合中选择不同列的K个节点,构成候选节点集合,若候选节点集合中总节点个数小于K,从剩余未连接节点中随机选择与候选节点集合中的节点均不位于同一列的节点,并将其加入候选节点集合;
所述组外广播模式策略模块向所述候选节点集合中所有节点发送组消息。
本发明的有益效果为:本发明提供了一种区块链组通信方法及系统,所述方法基于对等组内分层拓扑结构,可以根据消息重要性来决定消息发送对组成员有多少次全覆盖,从而控制消息的可靠性与冗余度;每次广播的消息量可以在1*n~n*n之间调整,保证通信可靠性的同时,达到提高通信效率,减少网络流量的目的。
附图说明
通过参考下面的附图,可以更为完整地理解本发明的示例性实施方式:
图1为本发明具体实施方式的一种区块链组通信方法的流程图;
图2为本发明具体实施方式中组成员节点总数为20时的网络结构图;
图3为本发明具体实施方式的一种区块链组通信系统的结构图。
具体实施方式
现在参考附图介绍本发明的示例性实施方式,然而,本发明可以用许多不同的形式来实施,并且不局限于此处描述的实施例,提供这些实施例是为了详尽地且完全地公开本发明,并且向所属技术领域的技术人员充分传达本发明的范围。对于表示在附图中的示例性实施方式中的术语并不是对本发明的限定。在附图中,相同的单元/元件使用相同的附图标记。
除非另有说明,此处使用的术语(包括科技术语)对所属技术领域的技术人员具有通常的理解含义。另外,可以理解的是,以通常使用的词典限定的术语,应当被理解为与其相关领域的语境具有一致的含义,而不应该被理解为理想化的或过于正式的意义。
图1为本发明具体实施方式的一种区块链组通信方法的流程图;如图1所示,所述方法包括:
步骤110,按预设规则将区块链系统中的通信节点分为一个或多个组,提取各组的组成员节点;
根据区块链系统的通信节点数量及通信需求可以将通信节点进行合理分组,分为一个或多个组,若消息发送节点将消息发送至本组其他节点则为组内广播模式,若消息发送节点将消息发送至其他组的节点则为组外广播模式。
步骤120,将各组的组成员节点通过对等的分层拓扑结构排列成m行n列的拓扑矩阵,使得任一所述组成员节点与该节点所在行的所有节点连接构成完全正则图,所述任一组成员节点与该节点所在列的所有节点连接构成完全正则图;
完全正则图中的任意节点与其他节点均有连接关系,所以消息只需一次即可通知到图上其他各点,结合完全正则图对网络结构重新设计,将组成员节点均匀分片,片内节点构成完全正则图,片间相同拓扑位置的节点构成完全正则图,达到增加消息传递速度并减少消息传输总量的目的。
拓扑矩阵的构建方法如下:
根据组成员节点总数V和矩阵列数n计算得到矩阵行数m,所述m= ceil(V/n),即取大于或者等于V/n的最小整数作为矩阵行数;
将组成员节点分成m组,每组有n个节点,每组成员节点作为矩阵的行向量,共m个行向量按顺序排布构成m行n列的矩阵,所述划分方式可以按顺序划分也可随机划分;
设置矩阵每行节点之间相互连接构成完全正则图、矩阵每列节点之间相互连接构成完全正则图。
计算得到矩阵行数m与列数n后,将与节点索引值i除以矩阵列数n结果同商的节点构成行邻居节点集合,每个节点与其行邻居节点连接构成完全正则图,所述每个行邻居节点集合作为矩阵的行向量;
将节点索引值i关于矩阵列数n同余数的节点构成列邻居节点集合,每个节点与其列邻居节点连接构成完全正则图,所述每个列邻居节点集合作为矩阵的列向量;
根据所述行向量及所述列向量构成拓扑矩阵。
每个节点与其行邻居节点连接构成完全正则图,且每个节点与其列邻居节点连接构成完全正则图,如图2所示;
步骤130,当所述任一组成员节点接收到组消息时,按照预设规则在所述拓扑矩阵中进行消息传输,使得全部组成员节点接收到该组消息中包含的信息;
消息类型包括组消息、列消息和行消息三种;所述当所述任一组成员节点接收到组消息时,按照预设规则在所述拓扑矩阵中进行消息传输的方法包括:
接收到组消息的节点,首先处理消息,然后向该节点所在列的所有节点发送列消息,向该节点在行的所有节点发送行消息;接收到列消息的一个或多个节点,首先处理消息,然后向该节点所在行的所有节点发送行消息;接收到行消息的一个或多个节点,仅处理消息。
仍以节点总数V=20为例具体说明消息传输过程:
列邻居节点收到列消息后,首先处理消息,向每个节点所在行的所有节点发送行消息;行邻居节点处理行消息,不做消息转发,此时全部节点均接收到该组消息所包含的信息。
综上所述,若所有节点均按上述组消息、行消息、列消息规则正常工作,则不论是组内广播模式还是组外广播模式,只要消息发送者将组消息发送给目标组(目标节点所在组),经过目标节点的一次行、列消息转发即可覆盖全组节点。
但是,考虑如果选定的信息交互节点不正常工作时会造成消息广播失败。出于容灾备份的考虑,选择多个冗余候选节点用于组消息的发送,而冗余候选节点的选择要求尽可能的随机分散,降低消息广播失败的风险;针对组内广播模式和组外广播模式设置不同的冗余候选节点选择策略。
对于组内广播模式,计算需要发送组消息的冗余候选节点数量,所述计算方法如下:
其中,所述K为需要发送组消息的冗余候选节点数量,所述n为拓扑矩阵的列数,函数[X]为取整函数;
从发送节点所在行中选择K个冗余候选节点,首先选择发送节点所在行的第一个节点,其余K-1个冗余候选节点从余下节点中随机选取;
向所有冗余候选节点发送组消息;
向发送节点所在行中不是冗余候选节点的节点发送行消息。
对于组外广播模式,计算需要发送组消息的冗余候选节点数量,所述计算方法如下:
其中,所述K为需要发送组消息的冗余候选节点数量,所述n为目标节点所在组的拓扑矩阵列数,函数[X]为取整函数;
确定所有目标节点所在组中与发送节点存在连接关系的节点,构成已连接节点集合;
从已连接节点集合中选择不同列的K个节点,构成候选节点集合,若候选节点集合中总节点个数小于K,从剩余未连接节点中随机选择与候选节点集合中的节点均不位于同一列的节点,并将其加入候选节点集合;
向所述候选节点集合中所有节点发送组消息。
图3为本发明具体实施方式的一种区块链组通信系统的结构图;如图3所示,所述系统包括:
组成员节点310以及拓扑矩阵创建单元320;所述组成员节点310包括一个或多个,图3仅体现一个。
所述组成员节点310为各组的成员节点,所述组为区块链系统中待通信节点按预设规则划分的一个或多个组;
所述拓扑矩阵创建单元320用于将各组的组成员节点310通过对等的分层拓扑结构排列成m行n列的拓扑矩阵,使得任一所述组成员节点310与该节点所在行的所有节点连接构成完全正则图,所述任一组成员节点310与该节点所在列的所有节点连接构成完全正则图;
将组成员节点310分成m组,每组有n个节点,每组成员节点作为矩阵的行向量,共m个行向量按顺序排布构成m行n列的矩阵,所述划分方式可以按顺序划分也可随机划分;
所述拓扑矩阵创建单元320设置矩阵每行节点之间相互连接构成完全正则图、矩阵每列节点之间相互连接构成完全正则图。
所述拓扑矩阵创建单元320将与节点索引值i除以矩阵列数n结果同商的节点构成行邻居节点集合,每个节点与其行邻居节点连接构成完全正则图,所述每个行邻居节点集合作为矩阵的行向量;
所述拓扑矩阵创建单元320将节点索引值i关于矩阵列数n同余数的节点构成列邻居节点集合,每个节点与其列邻居节点连接构成完全正则图,所述每个列邻居节点集合作为矩阵的列向量;
所述拓扑矩阵创建单元320根据所述行向量及所述列向量构成拓扑矩阵。
当所述任一组成员节点310接收到组消息时,按照预设规则在所述拓扑矩阵中进行消息传输,使得全部组成员节点310接收到该组消息中包含的信息。
接收到组消息的节点,首先处理消息,然后向该节点所在列的所有节点发送列消息,向该节点在行的所有节点发送行消息;接收到列消息的一个或多个节点,首先处理消息,然后向该节点所在行的所有节点发送行消息;接收到行消息的一个或多个节点,仅处理消息。
所述任一组成员节点310发送消息分为组内广播和组外广播两种模式;
所述组内广播模式为任一节点发送组消息至本组其他节点,使得消息覆盖全组节点;所述组外广播模式为任一节点发送组消息至其他组的节点,使得消息覆盖其他组的全组节点。
考虑如果选定的信息交互节点不正常工作时会造成消息广播失败。出于容灾备份的考虑,选择多个冗余候选节点用于组消息的发送,而冗余候选节点的选择要求尽可能的随机分散,降低消息广播失败的风险;针对组内广播模式和组外广播模式设置不同的冗余候选节点选择策略。
因此所述系统还包括冗余候选节点选择单元330;
所述冗余候选节点选择单元330用于选取冗余候选节点,所述冗余候选节点为同时与发送节点一起向目标节点发送组消息的备份节点;
所述冗余候选节点选择单元330包括组内广播模式策略模块3301以及组外广播模式策略模块3302,所述组内广播模式策略模块3301的发送节点与目标节点处于同一组,所述组外广播模式策略模块3302的发送节点与目标节点处于不同组。
其中,所述组内广播模式策略模块3301计算需要发送组消息的冗余候选节点数量,所述计算方法如下:
其中,所述K为需要发送组消息的冗余候选节点数量,所述n为拓扑矩阵的列数,函数[X]为取整函数;
所述组内广播模式策略模块3301从发送节点所在行中选择K个冗余候选节点,首先选择发送节点所在行的第一个节点,其余K-1个冗余候选节点从余下节点中随机选取;
所述组内广播模式策略模块3301向所有冗余候选节点发送组消息;
所述组内广播模式策略模块3301向发送节点所在行中不是冗余候选节点的节点发送行消息。
所述组外广播模式策略模块3302计算需要发送组消息的冗余候选节点数量,所述计算方法如下:
其中,所述K为需要发送组消息的冗余候选节点数量,所述n为目标节点所在组的拓扑矩阵列数,函数[X]为取整函数;
所述组外广播模式策略模块3302确定所有目标节点所在组中与发送节点存在连接关系的节点,构成已连接节点集合;
所述组外广播模式策略模块3302从已连接节点集合中选择不同列的K个节点,构成候选节点集合,若候选节点集合中总节点个数小于K,从剩余未连接节点中随机选择与候选节点集合中的节点均不位于同一列的节点,并将其加入候选节点集合;
所述组外广播模式策略模块3302向所述候选节点集合中所有节点发送组消息。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本公开的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。本说明书中涉及到的步骤编号仅用于区别各步骤,而并不用于限制各步骤之间的时间或逻辑的关系,除非文中有明确的限定,否则各个步骤之间的关系包括各种可能的情况。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本公开的范围之内并且形成不同的实施例。例如,在权利要求书中所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本公开的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本公开还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者系统程序(例如,计算机程序和计算机程序产品)。这样的实现本公开的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本公开进行说明而不是对本公开进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本公开可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干系统的单元权利要求中,这些系统中的若干个可以是通过同一个硬件项来具体体现。
以上所述仅是本公开的具体实施方式,应当指出的是,对于本领域的普通技术人员来说,在不脱离本公开精神的前提下,可以作出若干改进、修改、和变形,这些改进、修改、和变形都应视为落在本申请的保护范围内。
Claims (14)
1.一种区块链组通信方法,所述方法包括:
按预设规则将区块链系统中的通信节点分为一个或多个组,提取各组的组成员节点;
将各组的组成员节点通过对等的分层拓扑结构排列成m行n列的拓扑矩阵,使得任一所述组成员节点与该节点所在行的所有节点连接构成完全正则图,所述任一组成员节点与该节点所在列的所有节点连接构成完全正则图;
接收到组消息的节点,首先处理消息,然后向该节点所在列的所有节点发送列消息,向该节点所在行的所有节点发送行消息;
接收到列消息的一个或多个节点,首先处理消息,然后向该节点所在行的所有节点发送行消息;
接收到行消息的一个或多个节点,仅处理消息。
4.根据权利要求1所述的方法,其特征在于:
所述任一组成员节点发送消息分为组内广播和组外广播两种模式;
所述组内广播模式为任一节点发送组消息至本组其他节点,使得消息覆盖全组节点;
所述组外广播模式为任一节点发送组消息至其他组的节点,使得消息覆盖其他组的全组节点。
5.根据权利要求1所述的方法,其特征在于:
所述组消息发送时设置冗余候选节点,发送节点发送组消息时,全部冗余候选节点及发送节点同时向目标节点发送消息;
所述冗余候选节点选择策略按发送节点与目标节点是否处于同一组分为组内广播模式策略和组外广播模式策略。
8.一种区块链组通信系统,所述系统包括:
组成员节点以及拓扑矩阵创建单元;
所述组成员节点为各组的成员节点,所述组为区块链系统中待通信节点按预设规则划分的一个或多个组;
所述拓扑矩阵创建单元用于将各组的组成员节点通过对等的分层拓扑结构排列成m行n列的拓扑矩阵,使得任一所述组成员节点与该节点所在行的所有节点连接构成完全正则图,所述任一组成员节点与该节点所在列的所有节点连接构成完全正则图;
接收到组消息的节点,首先处理消息,然后向该节点所在列的所有节点发送列消息,向该节点所在行的所有节点发送行消息;
接收到列消息的一个或多个节点,首先处理消息,然后向该节点所在行的所有节点发送行消息;
接收到行消息的一个或多个节点,仅处理消息。
11.根据权利要求8所述的系统,其特征在于:
所述任一组成员节点发送消息分为组内广播和组外广播两种模式;
所述组内广播模式为任一节点发送组消息至本组其他节点,使得消息覆盖全组节点;
所述组外广播模式为任一节点发送组消息至其他组的节点,使得消息覆盖其他组的全组节点。
12.根据权利要求8所述的系统,其特征在于:
所述系统还包括冗余候选节点选择单元;
所述冗余候选节点选择单元用于选取冗余候选节点,所述冗余候选节点为同时与发送节点一起向目标节点发送组消息的备份节点;
所述冗余候选节点选择单元包括组内广播模式策略模块以及组外广播模式策略模块,所述组内广播模式策略模块的发送节点与目标节点处于同一组,所述组外广播模式策略模块的发送节点与目标节点处于不同组。
14.根据权利要求12所述的系统,其特征在于:
所述组外广播模式策略模块计算需要发送组消息的冗余候选节点数量,所述计算方法如下:
其中,所述K为需要发送组消息的冗余候选节点数量,所述n为目标节点所在组的拓扑矩阵列数,函数[X]为取整函数;
所述组外广播模式策略模块确定所有目标节点所在组中与发送节点存在连接关系的节点,构成已连接节点集合;
所述组外广播模式策略模块从已连接节点集合中选择不同列的K个节点,构成候选节点集合,若候选节点集合中总节点个数小于K,从剩余未连接节点中随机选择与候选节点集合中的节点均不位于同一列的节点,并将其加入候选节点集合;
所述组外广播模式策略模块向所述候选节点集合中所有节点发送组消息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010705415.4A CN111741126B (zh) | 2020-07-21 | 2020-07-21 | 一种区块链组通信方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010705415.4A CN111741126B (zh) | 2020-07-21 | 2020-07-21 | 一种区块链组通信方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111741126A CN111741126A (zh) | 2020-10-02 |
CN111741126B true CN111741126B (zh) | 2021-02-19 |
Family
ID=72655215
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010705415.4A Expired - Fee Related CN111741126B (zh) | 2020-07-21 | 2020-07-21 | 一种区块链组通信方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111741126B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109684127A (zh) * | 2018-12-29 | 2019-04-26 | 西安电子科技大学 | 基于完全图最小带宽再生码的局部性节点修复方法 |
CN110378150A (zh) * | 2019-09-11 | 2019-10-25 | 南京邮电大学 | 一种基于度序列最佳分组进行图结构修改的网络匿名方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012103705A1 (zh) * | 2011-06-24 | 2012-08-09 | 华为技术有限公司 | 计算机子系统和计算机系统 |
US10193757B2 (en) * | 2016-03-21 | 2019-01-29 | National Cheng Kung University | Network topology system and method |
CN106209294B (zh) * | 2016-07-01 | 2018-08-03 | 西安电子科技大学 | 一种高扩展的数据中心全光互连网络系统及通信方法 |
CN107092576A (zh) * | 2017-04-28 | 2017-08-25 | 郑州云海信息技术有限公司 | 一种多处理机互联方法及互联系统 |
-
2020
- 2020-07-21 CN CN202010705415.4A patent/CN111741126B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109684127A (zh) * | 2018-12-29 | 2019-04-26 | 西安电子科技大学 | 基于完全图最小带宽再生码的局部性节点修复方法 |
CN110378150A (zh) * | 2019-09-11 | 2019-10-25 | 南京邮电大学 | 一种基于度序列最佳分组进行图结构修改的网络匿名方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111741126A (zh) | 2020-10-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110809054B (zh) | 数据传输方法、装置、设备和存储介质 | |
CN110474846B (zh) | 一种区块链中区块传播的方法及装置 | |
US10306664B2 (en) | Deterministic scheduling method oriented to industrial wireless WIA-PA network | |
US20160134482A1 (en) | Distributed Determination OF Routes in a Vast Communication Network | |
CN107210850A (zh) | 用于选择无线网络中的通信参数的方法和系统 | |
CN103346967A (zh) | 一种数据中心网络拓扑结构及其路由方法 | |
CN117176736A (zh) | 基于近邻节点分簇的区块传输方法 | |
CN109889447B (zh) | 一种基于混合环组网和喷泉码的网络传输方法及系统 | |
CN111741126B (zh) | 一种区块链组通信方法及系统 | |
CN109242242B (zh) | 一种用于确定系统保护专网业务风险建模的方法和系统 | |
Matsuura et al. | Region-based neighbor selection in blockchain networks | |
US20160173472A1 (en) | Method for exchanging numerical data frames and associated communication system | |
CN107592218B (zh) | 一种数据中心网络结构的构建方法 | |
CA2577287A1 (en) | Systems for distributing data over a computer network and methods for arranging nodes for distribution of data over a computer network | |
CN107438026A (zh) | 域间路由系统的失效恢复方法和装置 | |
CN111935018B (zh) | 一种可自主配置组网规则的跳板网络路径生成方法 | |
CN101753463A (zh) | 一种多通道传输负载均衡方法及装置 | |
Wu et al. | On constructing the minimum orthogonal convex polygon for the fault-tolerant routing in 2-D faulty meshes | |
CN115603903A (zh) | 基于Snowman共识的联盟链多链系统及其交互与部署方法 | |
CN111818152B (zh) | 一种基于分布式网络的领导者选举的共识方法 | |
RU2290760C2 (ru) | Способ динамического распределения нагрузки для сигнальных точек и подсистем | |
Xiong et al. | Multi-fault aware parallel localization protocol for backbone network with many constraints | |
CN114095439A (zh) | 流量优化方法和装置、电子设备、计算机可读存储介质 | |
CN111510484A (zh) | 区块链处理方法、系统、装置、计算机设备和存储介质 | |
CA2975031C (en) | Systems for distributing data over a computer network and methods for arranging nodes for distribution of data over a computer network |
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 | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20210129 Address after: 310008 No.24, nilongshan, Shangcheng District, Hangzhou City, Zhejiang Province Applicant after: Lv Chengmin Address before: Room A201, building 3, 88 Longyuan Road, Cangqian street, Yuhang District, Hangzhou City, Zhejiang Province Applicant before: HANGZHOU ZHIKUAI NETWORK TECHNOLOGY Co.,Ltd. |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20210219 |
|
CF01 | Termination of patent right due to non-payment of annual fee |