CN112565395B - 一种广播收敛的联盟链p2p组网方法、设备及可读存储介质 - Google Patents
一种广播收敛的联盟链p2p组网方法、设备及可读存储介质 Download PDFInfo
- Publication number
- CN112565395B CN112565395B CN202011391070.6A CN202011391070A CN112565395B CN 112565395 B CN112565395 B CN 112565395B CN 202011391070 A CN202011391070 A CN 202011391070A CN 112565395 B CN112565395 B CN 112565395B
- Authority
- CN
- China
- Prior art keywords
- message
- node
- nodes
- direct
- mapping table
- 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
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/1044—Group management mechanisms
- H04L67/1046—Joining mechanisms
-
- 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/1044—Group management mechanisms
- H04L67/1048—Departure or maintenance mechanisms
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种广播收敛的联盟链P2P组网方法、设备及可读存储介质,在实际企业级联盟链的实施部署过程当中,现有BFT类共识算法在多机构协作的情况下,采取全连接的组网方式。本发明通过消息转发机制进行P2P组网,简化了网络复杂度,并通过生存时间值机制控制消息的生命周期,以及节点映射表机制防止消息二次转发,两机制并存控制消息的转发和广播,以降低消息在网络中的冗余度,提升效率,同时能够防止网络广播风暴的产生。
Description
技术领域
本发明涉及区块链领域、P2P组网算法领域,特别涉及一种广播收敛的联盟链P2P组网方法、设备及可读存储介质。
背景技术
在实际企业级联盟链的实施部署过程当中,为了保证拜占庭容错,验证节点的网络需要同所有的其他验证节点打通,在实际部署实施过程当中,网络调整所带来的开销和实施成本非常高昂。
发明内容
为解决上述问题,本发明提供一种广播收敛的联盟链P2P组网方法、设备及可读存储介质,通过消息转发的方式避免全连接组网,且结合生存时间值机制和节点映射表,能够降低消息在网络中的冗余度,提升效率,同时防止网络广播风暴的产生。
根据本发明的第一方面,提供一种广播收敛的联盟链P2P组网方法,包括:
每个联盟链节点具有节点列表及唯一标识,节点列表中包括该节点的直连节点和非直连节点;
起始节点对P2P消息进行预处理,生成消息生存时间值和节点映射表;所述消息生存时间值T=n+1,n为该节点所有非直连节点数;所述节点映射表用于标识某个消息是否由特定节点转发;
起始节点从其节点列表读出所有直连节点,作为下一步的目的节点,将目的节点的标识写入待发送消息的节点映射表中,起始节点将预处理完成的P2P消息发送到其所有直连节点;
其他节点收到消息后,将该消息的生存时间值减1,如果生存时间值为0则不做处理,否则读取其节点列表搜索所有直连节点,再与该消息对应的节点映射表中节点进行比对,如果直连节点存在于节点映射表中,则不做处理,否则,将直连节点写入该消息的节点映射表中,然后将消息转发到该直连节点;重复该过程,直至联盟链中的所有节点收到消息,完成P2P消息全网广播;
其他节点完成消息转发后,对自身收到的消息进行对应的处理,之后该节点作为回复节点,对消息进行回复并全网广播;
P2P消息与各节点收到消息后的回复都已完成全网广播后,P2P组网完成。
进一步地,每个联盟链节点具有P2P配置模块和P2P消息模块,所述P2P消息模块包括P2P消息发送模块和P2P消息接收模块;P2P配置模块中设有节点列表;每个联盟链节点都具有唯一标识,P2P消息模块根据节点唯一标识进行节点路由寻址。
进一步地,针对所有P2P消息,根据节点自身网络复杂度,赋予P2P消息一个生存时间值T,在每次消息被转发后,该生存时间值减1,直到生存时间值为0,消息不再被转发。
进一步地,为所有的消息设定一个2-4字节的节点映射表,用于标识某个消息是否由特定节点转发,如果已经经过某些节点,则不再用这些节点进行转发。
进一步地,回复节点对消息进行回复并全网广播,包括:
回复节点对回复消息进行预处理,生成消息生存时间值和节点映射表;
回复节点从其节点列表读出所有直连节点,作为下一步的目的节点,将目的节点的标识写入待发送消息的节点映射表中,回复节点将预处理完成的P2P消息发送到其所有直连节点;
其他节点收到回复消息后进行对应的消息处理,之后将该消息的生存时间值减1,如果生存时间值为0则不做处理,否则读取其节点列表搜索所有直连节点,再与该消息对应的节点映射表中节点进行比对,如果直连节点存在于节点映射表中,则不做处理,否则,将直连节点写入该消息的节点映射表中,然后将消息转发到该直连节点;重复该过程,直至联盟链中的所有节点收到回复消息,完成P2P回复消息全网广播。
根据本发明的第二方面,提供一种广播收敛的联盟链P2P组网设备,包括:
存储器,处理器,以及计算机程序;
其中,所述计算机程序存储在所述存储器中,并被配置为由所述处理器执行以实现上述广播收敛的联盟链P2P组网方法。
根据本发明的第三方面,提供一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现上述广播收敛的联盟链P2P组网方法。
本发明的有益效果是:本发明通过消息转发机制进行P2P组网,简化了网络复杂度,并通过生存时间值机制控制消息的生命周期,以及节点映射表机制防止消息二次转发,两机制并存控制消息的转发和广播,以降低消息在网络中的冗余度,提升效率,同时能够防止网络广播风暴的产生。
附图说明
图1是本说明书一示例性实施例示出的联盟链P2P组网方法流程图;
图2是本说明书一示例性实施例示出的联盟链网络拓扑图。
具体实施方式
为了更好的理解本申请的技术方案,下面结合附图对本申请实施例进行详细描述。
应当明确,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在本申请实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
图1为本发明一个实施例中的一种广播收敛的联盟链P2P组网方法流程图。以图2所示的联盟链网络拓扑图为例,详细说明本发明方法的实现过程及原理。
本发明实施例中,每个联盟链节点具有P2P配置模块和P2P消息模块,所述P2P消息模块包括P2P消息发送模块和P2P消息接收模块;P2P配置模块中设有节点列表,节点列表中包括该节点的直连节点和非直连节点;每个联盟链节点都具有唯一标识,P2P消息模块可以根据节点唯一标识进行节点路由寻址。
在该实施例中,如图2所示,联盟链节点VP1需要发送P2P消息至VP2、VP3,首先对自身P2P配置模块中的节点列表进行搜索,节点列表包括直连节点VP2以及非直连节点VP3。之后执行以下流程:
S1:起始节点VP1对P2P消息进行预处理,生成消息生存时间值和节点映射表;
生成消息生存时间值具体为:针对所有P2P消息,根据节点自身P2P配置模块中的网络复杂度,赋予P2P消息一个生存时间值T,T=n+1,n为该节点VP1所有的非直连节点数,在每次消息被转发后,该生存时间值会-1,直到生存时间值为0,消息不再被转发。
生成节点映射表具体为:由于在联盟链网络中所有节点均具备唯一标识,因此为所有的消息设定一个2-4字节的节点映射表用于标识某个消息是否由特定节点转发,如果已经经过某些节点,则不再用这些节点进行转发,能够较为高效地控制消息转发和广播。
S2:起始节点VP1从其P2P配置模块的节点列表读出所有直连节点,作为下一步的目的节点,将目的节点的标识写入待发送消息的节点映射表中,节点VP1将预处理完成的P2P消息通过其P2P消息发送模块发送到其所有直连节点。
S3:其他节点的P2P消息接收模块收到消息后进行消息转发过程,具体为:将该消息的生存时间值减1,如果生存时间值为0则不进行任何处理,否则读取自身P2P配置模块中的节点列表搜索所有直连节点;再与该消息对应的节点映射表中节点进行比对,如果直连节点存在于节点映射表中,则不进行任何处理,否则,将直连节点写入该消息的节点映射表中,然后将消息转发到该直连节点;重复该过程,直至联盟链中的所有节点收到消息,完成P2P消息全网广播。
S4:其他节点的P2P消息接收模块完成消息转发后,对自身收到的消息进行对应的处理,之后该节点作为回复节点,对消息进行回复并全网广播,具体为:
S401:回复节点对回复消息进行预处理,生成消息生存时间值和节点映射表,生成方法如步骤S1;
S402:回复节点从其P2P配置模块的节点列表读出所有直连节点,作为下一步的目的节点,将目的节点的标识写入待发送消息的节点映射表中,回复节点将预处理完成的P2P消息通过其P2P消息发送模块发送到其所有直连节点。
S403:其他节点的P2P消息接收模块收到回复消息后,进行对应的消息处理,之后进行消息转发过程,具体为:将该消息的生存时间值减1,如果生存时间值为0则不进行任何处理,否则读取自身P2P配置模块中的节点列表搜索所有直连节点;再与该消息对应的节点映射表中节点进行比对,如果直连节点存在于节点映射表中,则不进行任何处理,否则,将直连节点写入该消息的节点映射表中,然后将消息转发到该直连节点;重复该过程,直至联盟链中的所有节点收到回复消息,完成P2P回复消息全网广播。
S5:P2P消息与各节点收到消息后的回复都已完成全网广播后,P2P组网完成。
在一个实施例中,提出了一种广播收敛的联盟链P2P组网设备,包括存储器,处理器,以及计算机程序;其中,所述计算机程序存储在所述存储器中,并被配置为由所述处理器执行以实现上述广播收敛的联盟链P2P组网方法。
在一个实施例中,提出了一种存储有计算机可读指令的存储介质,计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行上述各实施例中广播收敛的联盟链P2P组网方法中的步骤。其中,存储介质可以为非易失性存储介质。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、磁盘或光盘等。
以上所述仅为本说明书一个或多个实施例的较佳实施例而已,并不用以限制本说明书一个或多个实施例,凡在本说明书一个或多个实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书一个或多个实施例保护的范围之内。
Claims (7)
1.一种广播收敛的联盟链P2P组网方法,其特征在于,包括:
每个联盟链节点具有节点列表及唯一标识,节点列表中包括该节点的直连节点和非直连节点;
起始节点对P2P消息进行预处理,生成消息生存时间值和节点映射表;所述消息生存时间值T=n+1,n为该节点所有非直连节点数;所述节点映射表用于标识某个消息是否由特定节点转发;
起始节点从其节点列表读出所有直连节点,作为下一步的目的节点,将目的节点的标识写入待发送消息的节点映射表中,起始节点将预处理完成的P2P消息发送到其所有直连节点;
其他节点收到消息后,将该消息的生存时间值减1,如果生存时间值为0则不做处理,否则读取其节点列表搜索所有直连节点,再与该消息对应的节点映射表中节点进行比对,如果直连节点存在于节点映射表中,则不做处理,否则,将直连节点写入该消息的节点映射表中,然后将消息转发到该直连节点;重复该过程,直至联盟链中的所有节点收到消息,完成P2P消息全网广播;
其他节点完成消息转发后,对自身收到的消息进行对应的处理,之后该节点作为回复节点,对消息进行回复并全网广播;
P2P消息与各节点收到消息后的回复都已完成全网广播后,P2P组网完成。
2.根据权利要求1所述的一种广播收敛的联盟链P2P组网方法,其特征在于,每个联盟链节点具有P2P配置模块和P2P消息模块,所述P2P消息模块包括P2P消息发送模块和P2P消息接收模块;P2P配置模块中设有节点列表;每个联盟链节点都具有唯一标识,P2P消息模块根据节点唯一标识进行节点路由寻址。
3.根据权利要求1所述的一种广播收敛的联盟链P2P组网方法,其特征在于,针对所有P2P消息,根据节点自身网络复杂度,赋予P2P消息一个生存时间值T,在每次消息被转发后,该生存时间值减1,直到生存时间值为0,消息不再被转发。
4.根据权利要求1所述的一种广播收敛的联盟链P2P组网方法,其特征在于,为所有的消息设定一个2-4字节的节点映射表,用于标识某个消息是否由特定节点转发,如果已经经过某些节点,则不再用这些节点进行转发。
5.根据权利要求1所述的一种广播收敛的联盟链P2P组网方法,其特征在于,回复节点对消息进行回复并全网广播,包括:
回复节点对回复消息进行预处理,生成消息生存时间值和节点映射表;
回复节点从其节点列表读出所有直连节点,作为下一步的目的节点,将目的节点的标识写入待发送消息的节点映射表中,回复节点将预处理完成的P2P消息发送到其所有直连节点;
其他节点收到回复消息后进行对应的消息处理,之后将该消息的生存时间值减1,如果生存时间值为0则不做处理,否则读取其节点列表搜索所有直连节点,再与该消息对应的节点映射表中节点进行比对,如果直连节点存在于节点映射表中,则不做处理,否则,将直连节点写入该消息的节点映射表中,然后将消息转发到该直连节点;重复该过程,直至联盟链中的所有节点收到回复消息,完成P2P回复消息全网广播。
6.一种广播收敛的联盟链P2P组网设备,其特征在于,包括:
存储器,处理器,以及计算机程序;
其中,所述计算机程序存储在所述存储器中,并被配置为由所述处理器执行以实现如权利要求1-5中任一项所述的方法。
7.一种计算机可读存储介质,其特征在于,存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1-5中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011391070.6A CN112565395B (zh) | 2020-12-01 | 2020-12-01 | 一种广播收敛的联盟链p2p组网方法、设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011391070.6A CN112565395B (zh) | 2020-12-01 | 2020-12-01 | 一种广播收敛的联盟链p2p组网方法、设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112565395A CN112565395A (zh) | 2021-03-26 |
CN112565395B true CN112565395B (zh) | 2022-05-13 |
Family
ID=75047055
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011391070.6A Active CN112565395B (zh) | 2020-12-01 | 2020-12-01 | 一种广播收敛的联盟链p2p组网方法、设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112565395B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112565389B (zh) * | 2020-11-30 | 2021-09-24 | 网易(杭州)网络有限公司 | 基于区块链的消息广播方法、装置、电子设备及存储介质 |
CN115297126B (zh) * | 2022-07-11 | 2024-06-14 | 杭州趣链科技有限公司 | 基于区块链的信息传输方法、装置、终端及存储介质 |
CN118101360A (zh) * | 2024-03-21 | 2024-05-28 | 杭州高新区(滨江)区块链与数据安全研究院 | 数据交互方法、节点、终端设备及可读介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109040279A (zh) * | 2018-08-21 | 2018-12-18 | 北京京东金融科技控股有限公司 | 区块链网络组网方法、装置、设备及可读存储介质 |
CN110827147A (zh) * | 2019-10-31 | 2020-02-21 | 山东浪潮人工智能研究院有限公司 | 一种基于联盟链的联邦学习激励方法及*** |
CN112003886A (zh) * | 2020-07-03 | 2020-11-27 | 北京工业大学 | 一种基于区块链的物联网数据共享***和方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200218940A1 (en) * | 2019-01-08 | 2020-07-09 | International Business Machines Corporation | Creating and managing machine learning models in a shared network environment |
JP7025365B2 (ja) * | 2019-03-25 | 2022-02-24 | 株式会社日立製作所 | データ連携管理方法、データ連携管理システム、およびノード |
-
2020
- 2020-12-01 CN CN202011391070.6A patent/CN112565395B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109040279A (zh) * | 2018-08-21 | 2018-12-18 | 北京京东金融科技控股有限公司 | 区块链网络组网方法、装置、设备及可读存储介质 |
CN110827147A (zh) * | 2019-10-31 | 2020-02-21 | 山东浪潮人工智能研究院有限公司 | 一种基于联盟链的联邦学习激励方法及*** |
CN112003886A (zh) * | 2020-07-03 | 2020-11-27 | 北京工业大学 | 一种基于区块链的物联网数据共享***和方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112565395A (zh) | 2021-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112565395B (zh) | 一种广播收敛的联盟链p2p组网方法、设备及可读存储介质 | |
US11317467B2 (en) | Method for electing root node in mesh network | |
CN110474846B (zh) | 一种区块链中区块传播的方法及装置 | |
US20170099662A1 (en) | Dynamically hashed mac address for transmission in a network | |
US11622312B2 (en) | Overlapping subdags in a RPL network | |
US9906434B2 (en) | SMF-type communication method for a MANET network, network node and mobile network which implement this communication method | |
US10498632B2 (en) | Constrained reliable multicast in a directed acyclic graph based on deferred contention to higher devices | |
US8964526B2 (en) | Method and device for classifying media access control address based on ethernet ring network | |
CN107852369B (zh) | 用于获取电力线通信路线的方法 | |
CN109714742A (zh) | 一种物联网Wi-Fi模块网络自适应切换方法 | |
US20080013538A1 (en) | Method of transmitting neighbor discovery protocol message in IEEE 802.16/Wibro network | |
US20160212010A1 (en) | Node device, network system, and connection method for node devices | |
CN105933468A (zh) | 无线自组网水表抄表***和抄表方法 | |
JP7142107B2 (ja) | 親/子関係を保持しながらのpan切り換え | |
CN111918305B (zh) | 同频自组自愈网方法及装置 | |
CN112491647A (zh) | 一种交换机报文测试方法、***及相关装置 | |
CN113453302B (zh) | 自组网的电力无线LoRa通信方法、装置、***及存储介质 | |
CN102088738A (zh) | 请求发送方法和***、初始节点、中间节点和目的节点 | |
CN110933729B (zh) | 确定多跳网络节点生存时间值的方法及装置 | |
KR101903586B1 (ko) | TSCH 및 AODV 기반 산업용 IoT 네트워크에서 p2p를 위한 분산 스케줄링을 하는 장치 및 그 방법 | |
CN114666286A (zh) | 数据传输方法、第一基站、第二基站和*** | |
CN112737946A (zh) | 用于IPv6网络的路由通告方法、装置、存储介质和*** | |
CN111917868A (zh) | 区块链节点的寻址方法、装置、路由设备及存储介质 | |
ES2797500T3 (es) | Procedimiento de tratamiento, en una red ad hoc de radiocomunicación, estaciones de radiocomunicación y programas informáticos correspondientes | |
CN111615110B (zh) | 一种节点存储n的节点与基站双向认证方法 |
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 | ||
TR01 | Transfer of patent right |
Effective date of registration: 20220613 Address after: No. 1788, Hongning Road, Xiaoshan District, Hangzhou, Zhejiang 311200 Patentee after: CHINA ZHESHANG BANK Co.,Ltd. Patentee after: Yiqiyin (Hangzhou) Technology Co.,Ltd. Address before: No. 1788, Hongning Road, Xiaoshan District, Hangzhou, Zhejiang 311200 Patentee before: CHINA ZHESHANG BANK Co.,Ltd. |
|
TR01 | Transfer of patent right |