当前位置: 首页 > 专利查询>北京大学专利>正文

一种区块链网络的组网方法、区块链网络和节点设备技术

技术编号:37411310 阅读:15 留言:0更新日期:2023-04-30 09:36
本申请实施例提供一种区块链网络的组网方法、区块链网络和节点设备,区块链网络中包括由多个共识节点构成的共识子网络,以及分别对应不同的地理位置的至少一个区域子网络;区域子网络包括多个非共识节点;多个非共识节点包括从共识节点处接收共识数据的至少一中继节点;以及,从中继节点处接收中继节点转发的共识数据的至少一普通节点;方法包括:确定与网络设备所在的地理位置对应的目标区域子网络,并发起针对目标区域子网络的注册;响应于针对目标区域子网络的注册完成,确定网络设备是否满足成为中继节点的条件;如果是,作为中继节点与共识子网络中的共识节点建立网络连接;如果否,作为普通节点与目标区域子网络中的中继节点建立网络连接。的中继节点建立网络连接。的中继节点建立网络连接。

【技术实现步骤摘要】
一种区块链网络的组网方法、区块链网络和节点设备


[0001]本说明书实施例属于区块链
,尤其涉及一种区块链网络的组网方法、区块链网络和节点设备。

技术介绍

[0002]区块链是一个去中心化的、无需信任第三方的分布式账本。区块链技术具有多方写入、公开透明、不可篡改等特点。区块链按照准入机制的不同,可以分为公链、联盟链以及私有链。对于公链来说,任何的节点都可以加入区块链网络。而联盟链具备访问控制功能,只有被授权的节点才可以加入联盟链网络,因此往往比公链网络更安全和高效,主要用于企业或机构间的相互合作。然而,在实际应用中,当区块链节点规模逐渐增加时,现有的区块链的网络拓扑组织方式,可能导致数据分发的带宽利用率低,数据分发速度慢,难以满足大规模区块链网络下高效传输数据的要求。

技术实现思路

[0003]本说明书提出一种区块链网络的组网方法,所述区块链网络中包括由多个共识节点构成的共识子网络,以及分别对应不同的地理位置的至少一个区域子网络;所述区域子网络包括多个非共识节点;所述多个非共识节点包括从所述共识节点处接收共识数据的至少一中继节点;以及,从所述中继节点处接收所述中继节点转发的共识数据的至少一普通节点;所述方法应用于任一待加入所述区块链网络的网络设备;包括:
[0004]确定与所述网络设备所在的地理位置对应的目标区域子网络,并发起针对所述目标区域子网络的注册;
[0005]响应于针对所述目标区域子网络的注册完成,确定所述网络设备是否满足成为所述中继节点的条件;如果是,作为中继节点与所述共识子网络中的共识节点建立网络连接;如果否,作为普通节点与所述目标区域子网络中的中继节点建立网络连接。
[0006]本说明书还提出一种区块链网络,包括:由多个共识节点构成的共识子网络;以及分别对应不同的地理位置的至少一个区域子网络;所述区域子网络包括多个非共识节点;所述多个非共识节点包括从所述共识节点处接收共识数据的至少一中继节点;以及,从所述中继节点处接收所述中继节点转发的共识数据的至少一普通节点;
[0007]其中,待加入所述区块链网络的网络设备通过执行如下的注册过程加入所述区块链网络:
[0008]确定与所述网络设备所在的地理位置对应的目标区域子网络,并发起针对所述目标区域子网络的注册;
[0009]响应于针对所述目标区域子网络的注册完成,确定所述网络设备是否满足成为所述中继节点的条件;如果是,作为中继节点与所述共识子网络中的共识节点建立网络连接;如果否,作为普通节点与所述目标区域子网络中的中继节点建立网络连接。
[0010]本说明书还提出一种区块链网络中的节点设备,其中所述区块链网络中包括由多
个共识节点构成的共识子网络,以及分别对应不同的地理位置的至少一个区域子网络;所述区域子网络包括多个非共识节点;所述多个非共识节点包括从所述共识节点处接收共识数据的至少一中继节点;以及,从所述中继节点处接收所述中继节点转发的共识数据的至少一普通节点;所述方法应用于任一待加入所述区块链网络的网络设备;包括:
[0011]注册模块,确定与所述网络设备所在的地理位置对应的目标区域子网络,并发起针对所述目标区域子网络的注册;
[0012]连接模块,响应于针对所述目标区域子网络的注册完成,确定所述网络设备是否满足成为所述中继节点的条件;如果是,作为中继节点与所述共识子网络中的共识节点建立网络连接;如果否,作为普通节点与所述目标区域子网络中的中继节点建立网络连接。
[0013]上述实施例中,一方面,通过预先将区块链网络划分成共识子网络和分别对应不同的地理位置的至少一个区域子网络,使得一个网络设备在作为区块链节点加入区块链网络时,可以针对其所在的地理位置对应的目标区域子网络就近的发起注册,并作为区块链节点加入到该目标区域子网络。由于同一个区域子网络中的节点之间在物理拓扑上更加靠近,拥有更低的数据传输延迟,这使得同一个区域子网络中的节点,可以更快地将待共识的数据传输至共识节点,也可以更快收到共识节点分发的共识完成的共识数据。
[0014]另一方面,通过将区域子网络中的非共识节点,进一步划分成从共识节点处接收共识数据的中继节点;以及,从中继节点处接收中继节点转发的共识数据的普通节点,使得共识子网络中的共识节点在向各个区域子网络中的非共识节点分发共识数据时,可以将共识数据分发给中继节点,再由中继节点转发到各个普通节点,而不再需要向各个非共识节点分别分发共识数据,从而可以降低区块链网络的共识层在分发共识数据时的带宽负载,提升共识效率。
附图说明
[0015]为了更清楚地说明本说明书实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0016]图1是本说明书根据一示例性实施例示出的区块链网络的组网架构图;
[0017]图2是本说明书根据一示例性实施例示出的一种区块链网络的组网方法的流程图;
[0018]图3是本说明书根据一示例性实施例示出的一种电子设备的示意结构图;
[0019]图4是本说明书根据一示例性实施例示出的一种区块链网络中的节点设备的框图。
具体实施方式
[0020]为了使本
的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于
本说明书保护的范围。
[0021]在相关技术中,目前的区块链网络在组网时所采用的网络拓扑以及组网方式主要有以下的三种方式。
[0022]1)基于直连式网络拓扑的组网方式
[0023]在采用直连式网络拓扑进行组网时,共识层的共识节点之间可以进行全连接,其他的新加入的非共识节点(全节点)可以直接与共识节点建立网络连接,共识节点再通过该网络连接把共识结果传输给非共识节点。
[0024]采用这种网络拓扑在小规模的组网场景下简单实用,每个共识节点的带宽,除了要用于数据共识之外,还要用于将共识结果发送给与共识节点建立了网络连接的非共识节点。随着网络中新加入节点数量越来越多,共识节点需要保持的网络连接越来越多,需要由共识节点发送的数据也会越来越多。
[0025]而且,由于共识节点向外发送数据时的带宽耗费通常与区块链网络中与共识节点建立网络连接的节点数量正相关,因此与共识节点建立了网络连接的非共识节点数量越多,共识节点的上行带宽负载就越大。当与共识节点建立了网络连接的非共识节点的数量较小的时候,每个非共识节点都能很快的收到最新的共识结果。
[0026]然而,一旦与共识节点建立网络连接的节点的数量达到上限,并超出共识节点的带宽能力时,会本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种区块链网络的组网方法,所述区块链网络中包括由多个共识节点构成的共识子网络,以及分别对应不同的地理位置的至少一个区域子网络;所述区域子网络包括多个非共识节点;所述多个非共识节点包括从所述共识节点处接收共识数据的至少一中继节点;以及,从所述中继节点处接收所述中继节点转发的共识数据的至少一普通节点;所述方法应用于任一待加入所述区块链网络的网络设备;包括:确定与所述网络设备所在的地理位置对应的目标区域子网络,并发起针对所述目标区域子网络的注册;响应于针对所述目标区域子网络的注册完成,确定所述网络设备是否满足成为所述中继节点的条件;如果是,作为中继节点与所述共识子网络中的共识节点建立网络连接;如果否,作为普通节点与所述目标区域子网络中的中继节点建立网络连接。2.如权利要求1所述的方法,发起针对所述目标区域子网络的注册之前,还包括:向区块链服务平台发起针对所述区块链网络的注册请求,以由所述区块链服务平台响应于所述注册请求针对所述网络设备进行注册处理;响应于针对所述区块链网络的注册完成,从所述区块链服务平台处同步所述区块链网络相关的服务数据;其中,所述服务数据包括所述区块链网络中的共识节点的网络地址。3.如权利要求1所述的方法,发起针对所述目标区域子网络的注册,包括:构建针对所述目标区域子网络的注册交易;其中,所述注册交易包含与所述网络设备对应的网络地址;将所述注册交易提交至所述共识子网络,由所述共识子网络中的各个共识节点对所述注册交易进行共识,并在共识通过后将所述注册交易在所述区块链上进行存储,以完成针对所述目标区域子网络的注册。4.如权利要求3所述的方法,确定所述网络设备是否满足成为所述中继节点的条件,包括:获取所述目标区域子网络中的中继节点的数量:确定所述目标区域子网络中的中继节点的数量是否低于阈值;如果是,确定所述网络设备是否满足成为所述中继节点的条件;反之,确定所述网络设备不满足成为所述中继节点的条件。5.如权利要求4所述的方法,所述确定所述网络设备是否满足成为所述中继节点的条件之前,还包括:获取所述区块链上存储的由所述目标区域子网络中的其它非共识节点提交的注册交易,从获取到的该注册交易中获取所述目标区域子网络中的其它非共识节点对应的网络地址;从获取到的所述目标区域子网络中的非共识节点对应的网络地址中,随机选择至少一个网络地址,并与所述至少一个网络地址对应的至少一个非共识节点分别建立网络连接。6.如权利要求5所述的方法,所述区块链网络中的各个节点之间交互的消息包括用于询问消息接收节点对应的区域子网络中的中继节点的节点信息的第一消息;以及,用于向所述第一消息的消息发送节点返回由所述消息接收节点维护的其所在的区域子网络中的中继节点的节点信息集合的第二消息;获取所述目标区域子网络中的中继节点的数量,包括:向所述至少一个非共识节点分别发送所述第一消息;
获取所述至少一个非共识节点返回的所述第二消息,读取所述第二消息的消息内容中包含的由所述至少一个非共识节点维护的所述目标区域子网络中的中继节点的节点信息集合,并基于所述节点信息集合来确定所述目标区域子网络中的中继节点的数量。7.如权利要求6所述的方法,如果所述至少一个非共识节点为多个非共识节点,则获取所述至少一个非共识节点返回的所述第二消息,并读取所述第二消息的消息内容中包含的由所述至少一个非共识节点维护的所述目标区域子网络中的中继节点的节点信息集合,并基于所述节点信息集合来确定所述目标区域子网络中的中继节点的数量,包括:获取所述多个非共识节点返回的所述第二消息,分别读取所述多个非共识节点返回的所述第二消息的消息内容中包含的由所述多个非共识节点分别维护的所述目标区域子网络中的中继节点的节点信息集合,对读取到的节点信息集合取并集,并基于得到的并集来确定所述目标区域子网络中的中继节点的数量。8.如权利要求7所述的方法,所述区块链网络中的各个节点之间交互的消息还包括用于声明消息发送节点为正常运行的中继节点的第三消息;所述方法还包括:在作为中继节点与所述共识子网络中的共识节点建立了网络连接之后,周期性的在所述目标区域子网络中广播发送所述第三消息;其中,所述第三消息的消息内容中包含所述网络设备作为中继节点的节点信息;以及,接收所述目标区域子网络中的其它中继节点周期性的广播发送的所述第三消息,读取所述第三消息的消息内容中包含的所述其它中继节点的节点信息,并将读取到的节点信息添加至维护的与所述目标区域子网络中的中继节点对应的节点信息集合。9.如权利要求3所述的方法,所述区块链上部署了用于对所述区块链网络进行注册管理的智能合约;所述注册交易为与所述智能合约对应的智能合约调用交易;将所述注册交易提交至所述共识子网络,由所述共识子网络中的各个共识节点对所述注册交易进行共识,并在共识通过后将所述注册交易在所述区块链上进行存储,包括:将包含所述网络设备针对所述目标区域子网络的注册信息的智能合约调用交易提交至所述共识子网络,以触发所述共识子网络中的各个共识节点分布式的执行所述智...

【专利技术属性】
技术研发人员:虎振兴徐文博肖臻管圣杰丁秋雨李鹏泽石杰丁慧曾超
申请(专利权)人:北京大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1