【技术实现步骤摘要】
一种区块链网络的组网方法、区块链网络和节点设备
[0001]本说明书实施例属于区块链
,尤其涉及一种区块链网络的组网方法、区块链网络和节点设备。
技术介绍
[0002]区块链是一个去中心化的、无需信任第三方的分布式账本。区块链技术具有多方写入、公开透明、不可篡改等特点。区块链按照准入机制的不同,可以分为公链、联盟链以及私有链。对于公链来说,任何的节点都可以加入区块链网络。而联盟链具备访问控制功能,只有被授权的节点才可以加入联盟链网络,因此往往比公链网络更安全和高效,主要用于企业或机构间的相互合作。然而,在实际应用中,当区块链节点规模逐渐增加时,现有的区块链的网络拓扑组织方式,可能导致数据分发的带宽利用率低,数据分发速度慢,难以满足大规模区块链网络下高效传输数据的要求。
技术实现思路
[0003]本说明书提出一种区块链网络的组网方法,所述区块链网络中包括由多个共识节点构成的共识子网络,以及分别对应不同的地理位置的至少一个区域子网络;所述区域子网络包括多个非共识节点;所述多个非共识节点包括从所述共识节点处接收共识数据的至少一中继节点;以及,从所述中继节点处接收所述中继节点转发的共识数据的至少一普通节点;所述方法应用于任一待加入所述区块链网络的网络设备;包括:
[0004]确定与所述网络设备所在的地理位置对应的目标区域子网络,并发起针对所述目标区域子网络的注册;
[0005]响应于针对所述目标区域子网络的注册完成,确定所述网络设备是否满足成为所述中继节点的条件;如果是,作为中继节点与所 ...
【技术保护点】
【技术特征摘要】
1.一种区块链网络的组网方法,所述区块链网络中包括由多个共识节点构成的共识子网络,以及分别对应不同的地理位置的至少一个区域子网络;所述区域子网络包括多个非共识节点;所述多个非共识节点包括从所述共识节点处接收共识数据的至少一中继节点;以及,从所述中继节点处接收所述中继节点转发的共识数据的至少一普通节点;所述方法应用于任一待加入所述区块链网络的网络设备;包括:确定与所述网络设备所在的地理位置对应的目标区域子网络,并发起针对所述目标区域子网络的注册;响应于针对所述目标区域子网络的注册完成,确定所述网络设备是否满足成为所述中继节点的条件;如果是,作为中继节点与所述共识子网络中的共识节点建立网络连接;如果否,作为普通节点与所述目标区域子网络中的中继节点建立网络连接。2.如权利要求1所述的方法,发起针对所述目标区域子网络的注册之前,还包括:向区块链服务平台发起针对所述区块链网络的注册请求,以由所述区块链服务平台响应于所述注册请求针对所述网络设备进行注册处理;响应于针对所述区块链网络的注册完成,从所述区块链服务平台处同步所述区块链网络相关的服务数据;其中,所述服务数据包括所述区块链网络中的共识节点的网络地址。3.如权利要求1所述的方法,发起针对所述目标区域子网络的注册,包括:构建针对所述目标区域子网络的注册交易;其中,所述注册交易包含与所述网络设备对应的网络地址;将所述注册交易提交至所述共识子网络,由所述共识子网络中的各个共识节点对所述注册交易进行共识,并在共识通过后将所述注册交易在所述区块链上进行存储,以完成针对所述目标区域子网络的注册。4.如权利要求3所述的方法,确定所述网络设备是否满足成为所述中继节点的条件,包括:获取所述目标区域子网络中的中继节点的数量:确定所述目标区域子网络中的中继节点的数量是否低于阈值;如果是,确定所述网络设备是否满足成为所述中继节点的条件;反之,确定所述网络设备不满足成为所述中继节点的条件。5.如权利要求4所述的方法,所述确定所述网络设备是否满足成为所述中继节点的条件之前,还包括:获取所述区块链上存储的由所述目标区域子网络中的其它非共识节点提交的注册交易,从获取到的该注册交易中获取所述目标区域子网络中的其它非共识节点对应的网络地址;从获取到的所述目标区域子网络中的非共识节点对应的网络地址中,随机选择至少一个网络地址,并与所述至少一个网络地址对应的至少一个非共识节点分别建立网络连接。6.如权利要求5所述的方法,所述区块链网络中的各个节点之间交互的消息包括用于询问消息接收节点对应的区域子网络中的中继节点的节点信息的第一消息;以及,用于向所述第一消息的消息发送节点返回由所述消息接收节点维护的其所在的区域子网络中的中继节点的节点信息集合的第二消息;获取所述目标区域子网络中的中继节点的数量,包括:向所述至少一个非共识节点分别发送所述第一消息;
获取所述至少一个非共识节点返回的所述第二消息,读取所述第二消息的消息内容中包含的由所述至少一个非共识节点维护的所述目标区域子网络中的中继节点的节点信息集合,并基于所述节点信息集合来确定所述目标区域子网络中的中继节点的数量。7.如权利要求6所述的方法,如果所述至少一个非共识节点为多个非共识节点,则获取所述至少一个非共识节点返回的所述第二消息,并读取所述第二消息的消息内容中包含的由所述至少一个非共识节点维护的所述目标区域子网络中的中继节点的节点信息集合,并基于所述节点信息集合来确定所述目标区域子网络中的中继节点的数量,包括:获取所述多个非共识节点返回的所述第二消息,分别读取所述多个非共识节点返回的所述第二消息的消息内容中包含的由所述多个非共识节点分别维护的所述目标区域子网络中的中继节点的节点信息集合,对读取到的节点信息集合取并集,并基于得到的并集来确定所述目标区域子网络中的中继节点的数量。8.如权利要求7所述的方法,所述区块链网络中的各个节点之间交互的消息还包括用于声明消息发送节点为正常运行的中继节点的第三消息;所述方法还包括:在作为中继节点与所述共识子网络中的共识节点建立了网络连接之后,周期性的在所述目标区域子网络中广播发送所述第三消息;其中,所述第三消息的消息内容中包含所述网络设备作为中继节点的节点信息;以及,接收所述目标区域子网络中的其它中继节点周期性的广播发送的所述第三消息,读取所述第三消息的消息内容中包含的所述其它中继节点的节点信息,并将读取到的节点信息添加至维护的与所述目标区域子网络中的中继节点对应的节点信息集合。9.如权利要求3所述的方法,所述区块链上部署了用于对所述区块链网络进行注册管理的智能合约;所述注册交易为与所述智能合约对应的智能合约调用交易;将所述注册交易提交至所述共识子网络,由所述共识子网络中的各个共识节点对所述注册交易进行共识,并在共识通过后将所述注册交易在所述区块链上进行存储,包括:将包含所述网络设备针对所述目标区域子网络的注册信息的智能合约调用交易提交至所述共识子网络,以触发所述共识子网络中的各个共识节点分布式的执行所述智...
【专利技术属性】
技术研发人员:虎振兴,徐文博,肖臻,管圣杰,丁秋雨,李鹏泽,石杰,丁慧,曾超,
申请(专利权)人:北京大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。