[发明专利]一种联盟链非全连接P2P网络的收敛方法及P2P节点有效
申请号: | 202011386475.0 | 申请日: | 2020-12-01 |
公开(公告)号: | CN112565392B | 公开(公告)日: | 2023-04-07 |
发明(设计)人: | 臧铖;陈嘉俊;陈权;尤士豪 | 申请(专利权)人: | 浙商银行股份有限公司 |
主分类号: | H04L67/104 | 分类号: | H04L67/104;H04L45/02 |
代理公司: | 杭州求是专利事务所有限公司 33200 | 代理人: | 刘静 |
地址: | 311200 浙江*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 联盟 链非全 连接 p2p 网络 收敛 方法 节点 | ||
本发明公开了一种联盟链非全连接P2P网络的收敛方法及P2P节点。源节点根据自身邻居表计算消息从自身至目标节点是否需要中继转发;源节点从零开始生成一个累加的序列号;源节点选择邻居表中所有节点作为中继节点,将其邻居表、序列号及目标节点放入消息体中,向中继节点广播消息;收到消息的节点如果非目标节点,则从自身邻居表中选择未发送过该消息的节点,将节点添加至该消息邻居表中,并向这些节点广播消息;如果是目标节点,则对源节点维护一个LRU,根据消息序列号进行过滤,不接收重复消息。本发明设计的这种收敛性较好的逐步逼近的收敛方法,可以自动生成合适的消息路由路径,且有部分节点宕机时也能保证可用性,冗余消息少,易扩展,可用性好。
技术领域
本发明属于计算机系统领域,尤其涉及一种联盟链非全连接P2P网络的收敛方法及P2P节点。
背景技术
区块链通过点对点P2P(Peer-To-Peer)网络进行通信,P2P网络是一种分布式网络,网络中各节点之间不需要通过服务器进行中转,可以直接互相传输数据。一般情况下,区块链联盟链中各节点都是两两相互连通,构建全连接的P2P网络,但全连接的网络中一旦节点数量上升,网络复杂度大,难以部署。为简化网络复杂度,需要构建非全连接的P2P网络,非直接连接的节点之间通过其他节点进行数据中转,被选择作为数据中转的节点称为中继节点。
非全连接P2P网络中,消息的收敛方法是非常重要的,收敛方法的性能直接影响源节点到目标节点之间的数据传输,进而影响整个P2P网络的负载。因此一般来说,应该尽可能减少消息从源节点到目标节点传输过程中的转发次数,即计算最短路由。但是采用这种最短路径算法,为保证中继节点的可用性,将会导致大量探测报文,会极大加重网络负载。
发明内容
本发明的目的在于针对现有区块链技术的不足,提供一种联盟链非全连接P2P网络的收敛方法及P2P节点,可以让消息从源节点到目标节点快速收敛,且保证消息的可靠性。
为达到上述目的,本发明的技术方案具体是这样实现的:
根据本说明书的第一方面,提供一种联盟链非全连接P2P网络的收敛方法,该方法包括:
源节点根据自身邻居表计算消息从自身至目标节点是否需要中继转发;
源节点从零开始生成一个累加的序列号;
源节点选择邻居表中所有节点作为中继节点,并将其邻居表、序列号以及目标节点放入消息体中,向中继节点广播消息;
收到消息的节点根据消息体中内容判断该消息是否需要转发:
如果收到消息的节点非目标节点,则从自身邻居表中选择未发送过该消息的节点,将节点添加至该消息的邻居表中,并向这些节点广播消息;
如果收到消息的节点是目标节点,则对源节点维护一个LRU,根据消息序列号进行过滤,不接收重复消息。
进一步地,所述邻居表的建立方法为:
源节点与直接连接节点建立网络连接后,相互交换信息,根据散列函数生成唯一的身份标识符,将所有身份标识符加入邻居表中;
若一个消息的目标节点标识符不在邻居表中,则该消息需要发送至中继节点进行转发。
进一步地,所述邻居表建立后,通过定期发送心跳消息探测邻居表中的邻居节点是否失效,将失效的邻居节点从所述邻居表中删除。
进一步地,所述源节点生成的序列号是自增长的,具有唯一性,且序列号每增长S,会对序列号进行持久化,防止源节点宕机后序列号重复。
进一步地,所述消息体中包含源节点的邻居表、唯一序列号以及目标节点,源节点选择邻居表中所有节点作为中继节点,向其广播消息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙商银行股份有限公司,未经浙商银行股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011386475.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种分板机
- 下一篇:一种电力营业厅智能收费机