区块链节点注册至节点集合的方法及装置转让专利
申请号 : CN202110903877.1
文献号 : CN113342901B
文献日 : 2021-11-02
发明人 : 孙赫 , 曾超
申请人 : 支付宝(杭州)信息技术有限公司
摘要 :
权利要求 :
1.一种区块链节点注册至节点集合的方法,包括:区块链中继通信网络中的任一中继节点接收注册请求,所述注册请求表示目标区块链节点请求注册至目标区块链节点集合;
若所述任一中继节点确认自身为与所述目标区块链节点相连的本地中继节点,则识别所述目标区块链节点集合是否存在:在所述目标区块链节点集合不存在的情况下,所述任一中继节点创建所述目标区块链节点集合,并直接将所述目标区块链节点注册至所述目标区块链节点集合中;
在所述目标区块链节点集合已存在的情况下,所述任一中继节点通过所述区块链中继通信网络中的其他中继节点将所述注册请求分别转发至所述目标区块链节点集合的已存在区块链节点,包括:所述任一中继节点查询目标区块链节点集合对应的节点信息库,所述节点信息库用于记录加入所述目标区块链节点集合的所有区块链节点的信息;所述任一中继节点根据查询到的已存在区块链节点的信息,确定各个已存在区块链节点所连接的中继节点,并将注册请求发送至确定出的中继节点,以由确定出的中继节点将所述注册请求进一步转发至自身相连的已存在区块链节点;并且在超过预设数量的所述已存在区块链节点同意注册的情况下,将所述目标区块链节点注册至所述目标区块链节点集合中;
若所述任一中继节点确认自身并非所述本地中继节点,则将所述注册请求发送至与所述任一中继节点相连的已存在区块链节点,并向所述本地中继节点转发用于表示该已存在区块链节点是否同意注册的消息,以使所述本地中继节点确认是否将所述目标区块链节点注册至所述目标区块链节点集合中。
2.根据权利要求1所述的方法,将所述目标区块链节点注册至所述目标区块链节点集合中,包括:
将目标区块链节点的信息写入所述节点信息库。
3.根据权利要求1所述的方法,节点信息库包括:各中继节点统一维护的中心信息库;和/或,所述中继节点自身维护的本地信息库。
4.根据权利要求1所述的方法,所述在超过预设数量的所述已存在区块链节点同意注册的情况下,将所述目标区块链节点注册至所述目标区块链节点集合中,包括:在发出所述注册请求后启动计时;
若超过预设数量的其它区块链节点在预设时长内返回同意消息,则将所述目标区块链节点注册至所述目标区块链节点集合中。
5.根据权利要求1所述的方法,当所述已存在区块链节点自身维护的所述目标区块链节点集合的成员信息中包含所述目标区块链节点的信息时,所述已存在区块链节点向所述本地中继节点反馈同意消息。
6.根据权利要求5所述的方法,所述目标区块链节点集合的成员信息被记录于所述已存在区块链节点维护的创世区块和/或预设世界状态中。
7.根据权利要求1所述的方法,还包括:所述任一中继节点接收所述目标区块链节点集合中的区块链节点定期提交的注册请求,以将所述区块链节点重复注册至所述目标区块链节点集合。
8.一种区块链节点注册至节点集合的装置,包括:接收单元,区块链中继通信网络中的任一中继节点接收注册请求,所述注册请求表示目标区块链节点请求注册至目标区块链节点集合;
注册单元,在所述任一中继节点接收到所述注册请求的情况下:若所述任一中继节点确认自身为与所述目标区块链节点相连的本地中继节点,则识别所述目标区块链节点集合是否存在:在所述目标区块链节点集合不存在的情况下,所述任一中继节点创建所述目标区块链节点集合,并直接将所述目标区块链节点注册至所述目标区块链节点集合中;
在所述目标区块链节点集合已存在的情况下,所述任一中继节点通过所述区块链中继通信网络中的其他中继节点将所述注册请求分别转发至所述目标区块链节点集合的已存在区块链节点,包括:所述任一中继节点查询目标区块链节点集合对应的节点信息库,所述节点信息库用于记录加入所述目标区块链节点集合的所有区块链节点的信息;所述任一中继节点根据查询到的已存在区块链节点的信息,确定各个已存在区块链节点所连接的中继节点,并将注册请求发送至确定出的中继节点,以由确定出的中继节点将所述注册请求进一步转发至自身相连的已存在区块链节点;并且在超过预设数量的所述已存在区块链节点同意注册的情况下,将所述目标区块链节点注册至所述目标区块链节点集合中;
若所述任一中继节点确认自身并非所述本地中继节点,则将所述注册请求发送至与所述任一中继节点相连的已存在区块链节点,并向所述本地中继节点转发用于表示该已存在区块链节点是否同意注册的消息,以使本地中继节点确认是否将所述目标区块链节点注册至所述目标区块链节点集合中。
9.一种电子设备,其特征在于,包括:处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器通过运行所述可执行指令以实现如权利要求1‑7中任一项所述的方法。
10.一种计算机可读存储介质,其上存储有计算机指令,其特征在于,该指令被处理器执行时实现如权利要求1‑7中任一项所述方法的步骤。
说明书 :
区块链节点注册至节点集合的方法及装置
技术领域
背景技术
直接采用点对点技术进行通信,以传输交易、区块等,但由于各种网络因素导致通信时延
高、稳定性差,无法满足应用需求。因此,可以利用区块链中继网络实现区块链节点之间的
通信。
发明内容
述任一中继节点创建所述目标区块链节点集合,并直接将所述目标区块链节点注册至所述
目标区块链节点集合中;在所述目标区块链节点集合已存在的情况下,所述任一中继节点
通过所述区块链中继通信网络中的其他中继节点将所述注册请求分别转发至所述目标区
块链节点集合的已存在区块链节点,并且在超过预设数量的所述已存在区块链节点同意注
册的情况下,将所述目标区块链节点注册至所述目标区块链节点集合中;
存在区块链节点是否同意注册的消息,以使所述本地中继节点确认是否将所述目标区块链
节点注册至所述目标区块链节点集合中。
述任一中继节点创建所述目标区块链节点集合,并直接将所述目标区块链节点注册至所述
目标区块链节点集合中;在所述目标区块链节点集合已存在的情况下,所述任一中继节点
通过所述区块链中继通信网络中的其他中继节点将所述注册请求分别转发至所述目标区
块链节点集合的已存在区块链节点,并且在超过预设数量的所述已存在区块链节点同意注
册的情况下,将所述目标区块链节点注册至所述目标区块链节点集合中;
存在区块链节点是否同意注册的消息,以使本地中继节点确认是否将所述目标区块链节点
注册至所述目标区块链节点集合中。
步骤。
附图说明
具体实施方式
中所描述的实施方式并不代表与本说明书一个或多个实施例相一致的所有实施方式。相
反,它们仅是与如所附权利要求书中所详述的、本说明书一个或多个实施例的一些方面相
一致的装置和方法的例子。
多或更少。此外,本说明书中所描述的单个步骤,在其他实施例中可能被分解为多个步骤进
行描述;而本说明书中所描述的多个步骤,在其他实施例中也可能被合并为单个步骤进行
描述。
节点14等若干中继节点。以中继节点11为例,该中继节点11可以通过网关101与区块链网络
中的区块链节点21相连;类似地,其他中继节点也可以与区块链网络中的其他区块链节点
相连。网关101用于协助区块链节点21接入区块链中继通信网络,该网关101在逻辑上相当
于区块链网络中的一个区块链节点,但该网关101本身并不参与区块链共识,这样区块链节
点21可以通过区块链网络所采用的通信协议与该网关101进行通信,并且该网关101不会对
区块链网络中的共识等过程产生负面影响。网关101本质上是区块链节点21接入区块链中
继通信网络的适配程序,该适配程序可以部署在区块链节点21上,也可以部署在中继节点
11上,还可以部署在独立于中继节点11和区块链节点21的另一设备中,本说明书并不对此
进行限制。
Peer,点对点)技术进行通信,以传输交易、区块等,但由于各种网络因素导致通信时延高、
稳定性差,无法满足应用需求。因此,类似于上述的区块链节点21,每个区块链节点都可以
分别接入区块链中继通信网络中的中继节点,这样区块链节点之间就可以通过区块链中继
通信网络来实现通信。由于区块链中继通信网络是面向区块链实时传输的骨干中继通信网
络,各个中继节点之间能够通过高QoS保障的优质带宽进行通信交互,因而由区块链中继通
信网络接管区块链节点之间通信的中间链路,能够降低通信时延、提高稳定性,从而显著提
升区块链节点之间的通信质量。
Relay Network(FBRN)、Fast Internet Bitcoin Relay Engine(FIBRE)等,而应用于联盟
链的区块链中继通信网络主要包括BloXRoute、Blockchain Transmission Network (BTN)
等。
通用和高效。对于区块链中继通信网络而言,控制面可以理解为消息路由的策略,而数据面
是指区块链消息在区块链中继通信网络中的传输。而区块链节点通过提交注册请求,可以
根据应用(或业务)上的需求而自由配置自身所属的区块链节点集合,进而调整与该区块链
节点相关的路由策略。同一区块链节点可以根据应用需求而加入一个或多个区块链节点集
合,即不同区块链节点集合所含的区块链节点可能存在重叠。
链节点24与中继节点13相连、区块链节点25‑26与中继节点14相连;其中,为了便于理解,此
处省去了前文所述的网关(如网关101)。假定区块链节点21希望将区块链消息发送至区块
链节点22和区块链节点24,如果区块链节点22和区块链节点24预先通过发送注册请求而加
入了同一区块链节点集合,那么区块链节点21只要将该区块链消息的目标对象标注为该区
块链节点集合(下称目标区块链节点集合),区块链中继通信网络中的中继节点即可根据区
块链节点集合信息将该区块链消息通过区块链中继通信网络发送至归属于该目标区块链
节点集合的区块链节点22和区块链节点24。中继节点可以维护有路由表,该路由表用于记
录各个区块链节点分别对应的路由策略,每条路由策略可以包含相应区块链节点所属的区
块链节点集合、该区块链节点与中继节点之间的连接关系。可见,路由表中所记录的各个区
块链节点与区块链节点集合之间的归属信息,可以认为相当于上文所述的区块链节点集合
信息。那么,区块链节点21将上述区块链消息发送至中继节点11后,中继节点11可以通过查
询上述路由表,确定上述目标区块链节点集合中包含的区块链节点(即区块链节点22、区块
链节点24),以及区块链中继通信网络中与该目标区块链节点集合中的各个区块链节点相
连的各个中继节点,进而将区块链消息转发至确定出的各个中继节点,而各个中继节点也
可以通过查询路由表的方式将接收到的区块链消息传输至自身连接的区块链节点。比如区
块链节点21将区块链消息发送至中继节点11后,中继节点11将该区块链消息转发至区块链
区块链节点22,中继节点11将该区块链消息转发至中继节点13、中继节点13将区块链消息
转发至区块链节点24,而避免将该区块链消息发送至其他的中继节点和区块链节点,以避
免通信资源的浪费。在上述实施例中,中继节点11与中继节点13之间直接相连,使得中继节
点11仅需一跳即可将区块链消息传输至中继节点13。而在一些情况下,中继节点11可能并
未直接连接至中继节点13,因而中继节点11需要多跳才能够将区块链消息传输至中继节点
13,即中继节点11与中继节点13之间需要通过其他的一个或多个中继节点来实现消息转
发,并进而由中继节点13将区块链消息发送至区块链节点24。
链中继通信网络中的中继节点无法接触到区块链存储,而区块链节点集合中所包含的区块
链节点信息(即区块链节点集合对应的成员信息)被预先写入区块链存储中,因此中继节点
无法确认上述区块链节点是否属于其请求加入的区块链节点集合。
点退出节点集合的方法。
属于多个不同的区块链节点集合,因此目标区块链节点的注册对象可以包含多个区块链节
点集合,在上述情况下,可以在同一个注册请求中携带目标区块链节点需要注册进入的全
部区块链节点集合的信息,以表明目标区块链节点需要注册进入的全部区块链节点集合。
和目标区块链节点相连的本地中继节点可以根据注册请求中携带的各个区块链节点集合
的信息对上述注册请求进行转发。或者,目标区块链节点也可以分多次发送注册请求,每个
注册请求表明目标区块链节点请求注册进入的一个区块链节点集合,本地中继节点分别对
各个注册请求进行响应。
情况下,所述任一中继节点创建所述目标区块链节点集合,并直接将所述目标区块链节点
注册至所述目标区块链节点集合中;在所述目标区块链节点集合已存在的情况下,所述任
一中继节点通过所述区块链中继通信网络中的其他中继节点将所述注册请求分别转发至
所述目标区块链节点集合的已存在区块链节点,并且在超过预设数量的所述已存在区块链
节点同意注册的情况下,将所述目标区块链节点注册至所述目标区块链节点集合中。
述本地中继节点转发用于表示该目标区块链节点集合的已存在区块链节点是否同意注册
的消息,以使所述本地中继节点确认是否将所述目标区块链节点注册至所述目标区块链节
点集合中。
他区块链节点。因此,对于每个中继节点而言,其接收到的注册请求可能来自与自身直接相
连的区块链节点,也可能来自与自身间接相连的区块链节点。当任一中继节点接收到注册
请求时,可以解析此注册请求。注册请求中至少包含目标区块链节点的信息以及目标区块
链节点集合的信息,因此中继节点可以从解析结果中确认目标区块链节点,进而确认自身
与目标区块链节点的连接关系,例如,中继节点可以根据中继节点维护的路由信息确定自
身与目标区块链节点的连接关系。
标区块链节点集合的区块链节点为初始区块链节点,在该初始区块链节点发送注册请求
时,目标区块链节点集合尚未创建,此时本地中继节点可以创建目标区块链节点集合,进而
将目标区块链节点直接注册至目标区块链节点集合中。由于在该初始区块链节点加入目标
区块链节点集合之前,该目标区块链节点集合中尚未包含前述的已存在区块链节点,因而
本地中继节点不需要且无法向已存在区块链节点征询意见,只需要直接将该初始区块链节
点注册至目标区块链节点集合。值得注意的是,下文中已存在区块链节点指代目标区块链
节点集合的已存在区块链节点,即已经注册至目标区块链节点集合的区块链节点。
其他中继节点,将上述注册请求分别转发至已存在的区块链节点。已存在区块链节点接收
到注册请求后,可以验证目标区块链节点是否为目标区块链节点集合的成员,如果确认目
标区块链节点为目标区块链节点集合的成员,则可以通过区块链中继通信网络返回同意消
息至本地中继节点,以表明同意目标区块链节点的注册请求,否则,已存在区块链节点可以
选择不对上述注册请求进行响应或者返回拒绝消息,以表明不同意目标区块链节点的注册
请求。考虑到已存在区块链节点可能存在重复发送同意消息的问题,为了解决这一问题,本
地中继节点可以根据消息发送方对接收到的同意消息进行去重处理,去重后得到的同意消
息的数量相当于发送了同意消息的区块链节点的数量。进一步的,本地中继节点可以在向
其他区块链节点发送注册请求时开始计时,在经过预设时长后停止计时,并统计上述预设
时长内发送同意消息的区块链节点的数量,以将上述数量与预设数量相比较。上述预设数
量可以设定为目标区块链节点集合中已经注册成功的区块链节点的总数量的一定比例,那
么预设数量可以随着目标区块链节点集合中区块链节点的总数量浮动。假设目标区块链节
点集合中注册成功的区块链节点有100个,上述比例为50%,那么预设数量为50个,如果向本
地中继节点发送同意消息的区块链节点数量达到或超过五十个,本地中继节点可以将目标
区块链节点注册至目标区块链节点集合中,否则不予注册。通过上述方式,不仅可以使多个
区块链节点分别确认目标区块链节点是否属于目标区块链节点集合,以达到多次验证目标
区块链节点是否为目标区块链节点集合的成员的目的,同时,也可以避免部分已存在的区
块链节点故意不响应或返回拒绝消息而导致目标区块链节点注册失败的情况发生。而上述
统计方式可以在已存在区块链节点有意或无意多次发送同意消息的情况下,避免目标区块
链节点注册至错误的区块链节点集合。
该任一中继节点在目标区块链节点集合中对应的已存在区块链节点是否同意上述注册请
求此时,任一中继节点可以将上述注册请求转发至与自身相连的已存在区块链节点,等待
已存在区块链节点对上述注册请求的投票结果,并将用于表示该已存在区块链节点是否同
意注册请求的消息返回上述的本地中继节点。本地中继节点通过对各个中继节点分别返回
的同意消息进行统计,并根据统计结果确认是否将所述目标区块链节点注册至所述目标区
块链节点集合中,此处可以参考上文的相关描述。
继节点可以基于节点信息库中保存的各个区块链节点集合的信息以及各个区块链节点之
间的连接关系对消息进行转发。值得注意的是,上述节点信息库中维护的目标区块链节点
集合信息中,记载了上述的已存在区块链节点的信息。因此,本地中继节点可以从保存有目
标区块链节点集合的节点信息库中读取上述的已存在区块链节点的信息,以及与已存在区
块链节点连接的中继节点的信息。基于所读取的上述信息,本地中继节点可以将注册请求
转发至上述与已存在区块链节点连接的中继节点,进而由上述与已存在区块链节点连接的
中继节点将注册请求转发至已经存在于目标区块链节点集合中的区块链节点处。
本地中继节点可以将目标区块链节点的信息写入节点信息库,上述节点信息库中维护有已
经注册至目标区块链节点集合的已存在区块链节点的信息。
本地缓存信息库,而直接从中心信息库处获取目标区块链节点集合的信息,以将注册请求
发送至已存在区块链节点处。当目标区块链节点经过投票被允许注册进入目标区块链节点
集合时,本地中继节点可以将目标区块链节点的信息写入中心信息库。为了减少各个中继
节点查询中心信息库时占用的传输资源,各个中继节点也可以选择维护本地缓存信息库,
并将中心信息库中的区块链节点集合信息各自缓存至中继节点自行维护的本地缓存信息
库处。当中继节点需要进行消息转发时,可以直接查询本地缓存信息库中维护的信息,而无
需请求中心信息库,以达到提升转发效率的效果。值得注意的是,在中心信息库与本地缓存
信息库同时存在的情况下,目标区块链节点经过投票被允许注册进入目标区块链节点集合
时,本地中继节点可以将目标区块链节点的信息写入中心信息库,中心信息库或者本地中
继节点可以通知各个中继节点(包括本地中继节点)更新自身缓存的本地缓存信息库,以使
各个本地中继节点及时将各自本地缓存信息库中的区块链节点集合信息同步为最新的版
本。
节点集合中已经存在的区块链节点所对应的信息,各个中继节点可以从自身维护的本地信
息库处获取目标区块链节点集合的信息,以将注册请求发送至已经存在目标区块链节点集
合中的区块链节点处。如果通过已存在区块链节点的投票,目标区块链节点被允许注册进
入目标区块链节点集合,本地中继节点可以将目标区块链节点的信息写入本地中继节点对
应的本地信息库,进而通知各个其他中继节点。其他中继节点响应于上述通知,将目标区块
链节点的信息写入其各自维护的本地信息库中,以保证各个中继节点维护的本地信息库保
持一致。
区块链节点并启动计时,进而统计在启动计时后的预设时长内,同意目标区块链节点的注
册请求的已存在区块链节点的数量,如果超过预设数量的其他区块链节点在预设时长内返
回了同意消息,则将目标区块链节点注册至目标区块链节点集合中。上述预设时长可以灵
活调整,本说明书对此不作限制。
注册或拒绝目标区块链节点注册。具体而言,当已存在区块链节点自身维护的所述目标区
块链节点集合的成员信息中包含目标区块链节点的信息时,已存在区块链节点可以反馈同
意目标区块链节点注册的消息。换言之,其他已存在的区块链节点可以获取自身维护的目
标区块链节点集合的成员信息,上述成员信息记录了属于目标区块链节点集合的所有区块
链节点的信息。其他已存在的区块链节点可查询成员信息中是否存在注册请求中包含的目
标区块链节点,如果确认目标区块链节点属于目标区块链节点集合,则同意目标区块链节
点注册至所述目标区块链节点集合,否则不予同意。
者被记录于该区块链账本数据对应的预设世界状态中。如果上述成员列表被记录于创世区
块链中,则后期不可以对成员列表进行修改,如果记录于预设世界状态中,后续可以对成员
列表进行修改。
节点可能尚未注册至目标区块链节点集合。相对的,中继节点维护的节点信息库中记载的
区块链节点信息表征了已经成功注册至目标区块链节点集合的区块链节点,即上文中的已
存在区块链节点。
块链中继通信网络中的各区块链节点可以分别定期向相连的中继节点提交注册请求,以重
复注册至相应区块链节点所处的区块链节点集合。重新注册的频率可以根据实际情况灵活
调整,本说明书对此不作限制。在本实施例中,如果存在已经退出的区块链节点,即使节点
信息库中已经退出的区块链节点的信息未被删除,其重新注册时也无法通过验证。因此,区
块链节点可以通过定期重新将各个区块链节点注册至所属的区块链节点集合中,使信息库
中的区块链节点信息强制进行更新,保证目标区块链节点集合对应的目标区块链节点信息
的准确性。
节点无法正常注册至目标区块链节点集合的情况。本实施例中,各个区块链节点可以定期
重新注册至目标区块链节点集合,由于各个区块链节点的注册时间随机生成,所以初始区
块链节点也随之发生变化,即便某些区块链节点故意拒绝其他区块链节点加入目标区块链
节点集合,但通过对初始区块链节点的变化,可以避免类似的情况长期存在,从而保证区块
链节点注册过程的顺利进行。
点注册过程的准确性。各个区块链节点定期重新注册至目标区块链节点集合,可以避免存
在区块链节点故意使其他区块链节点注册失败的情况,进一步保证了区块链节点可以顺利
注册进入正确的区块链节点集合。
~
区块链节点21可以被称为目标区块链节点,和区块链节点21相连的中继节点11可以被称为
本地中继节点。区块链节点21可以将注册请求发送至中继节点11,上述注册请求中至少包
含区块链节点21的信息以及目标区块链节点集合的信息。
~
26。具体而言,各个中继节点可以基于节点信息库中保存的各个区块链节点集合的信息以
及各个区块链节点之间的连接关系对消息进行转发。值得注意的是,上述节点信息库中维
护的目标区块链节点集合信息中,记载了已经注册进入目标区块链节点的信息。因此,中继
节点11可以确定保存有目标区块链节点集合的节点信息库,并从上述节点信息库中获取已
经存在于目标区块链节点集合中的区块链节点(即区块链节点22 26),以及上述各个区块
~
链节点连接的中继节点。进而,本地中继节点11可以将注册请求转发至确定出的各个中继
节点(即中继节点12 14),进而由各个中继节点将注册请求转发至已经存在于目标区块链
~
节点集合中的区块链节点处。
标区块链节点集合尚不存在(或者目标区块链节点集合为空,即不存在区块链节点),由于
目标区块链节点集合中不存在其他区块链节点,因此无法使其他区块链节点确认目标区块
链节点是否属于目标区块链节点集合。在上述情况下,可以进入步骤406b,即本地中继节点
创建目标区块链节点集合并将目标区块链节点直接注册至新创建的目标区块链节点集合
中,如果存在目标区块链节点集合但是目标区块链节点集合为空,则直接将目标区块链节
点注册至目标区块链节点集合中。
员列表,上述成员列表记录了属于目标区块链节点集合的所有区块链节点的信息。如果上
述成员列表中记载的目标区块链节点集合信息中包含区块链节点21,说明区块链节点21属
于目标区块链节点集合中所包含的成员,则区块链节点22 26可以向本地中继节点11返回
~
同意消息,表明同意区块链节点21注册至目标区块链节点集合,即步骤410a。如果上述成员
列表中记载的目标区块链节点集合信息中不包含区块链节点21,说明区块链节点21发送的
注册请求有误,换言之,目标区块链节点集合中的成员不包含区块链节点21。在上述情况下
可以进入步骤410b,即向本地中继节点11返回拒绝消息,表明不同意区块链节点21注册至
目标区块链节点集合,或者对注册请求不予响应,即并不返回任何消息至本地中继节点11。
块中,或者被记录于该区块链账本数据对应的预设世界状态中。如果上述成员列表被记录
于创世区块链中,则后期不可以成员列表进行修改,如果上述成员列表被记录于预设世界
状态中,后续可以对成员列表进行修改。
~
时长内发送同意消息的区块链节点的数量,例如,本地中继节点11可以对接收到的同意消
息进行去重处理,以筛选出发送同意消息的区块链节点,如果在预设时长内,超过预设数量
的其他区块链节点返回了同意消息,可以将目标区块链节点注册至目标区块链节点集合
中。具体而言,假设预设时长为10秒,预设数量为3个,如果在10秒内,本地中继节点11接收
到了区块链节点22 26中至少3个节点发送的同意消息,则进入步骤414a,否则进入步骤
~
414b,即在同意注册的区块链节点未达到预设数量时,不予注册目标区块链节点21。上述预
设时长和预设数量均可以根据实际应用情况灵活调整,本说明书对此不进行限制。
信息库中维护有已经注册至目标区块链节点集合的区块链节点的信息,即区块链节点22
~
26的信息。
息库处获取目标区块链节点集合的信息,以将注册请求发送至区块链节点22 26处。当目标
~
区块链节点21经过投票被允许注册进入目标区块链节点集合时,本地中继节点11可以将目
标区块链节点21的信息写入中心信息库;为了减少中继节点11 14查询中心信息库时占用
~
的传输资源,各个中继节点也可以各自缓存中心信息库中的区块链节点集合信息在中继节
点自行维护的本地缓存信息库中,当中继节点需要进行消息转发时,可以直接查询本地缓
存信息库中维护的信息,而无需请求中心信息库,提升转发效率。值得注意的是,在中心信
息库与本地缓存信息库同时存在的情况下,目标区块链节点经过投票被允许注册进入目标
区块链节点集合时,本地中继节点可以将目标区块链节点的信息写入中心信息库,中心信
息库或者本地中继节点可以通知中继节点12 14更新自身缓存的本地缓存信息库,当然,本
~
地中继节点11也需要更新自身的本地缓存信息库,以使各个本地缓存信息库中的区块链节
点集合信息保持一致。
~
点22 26的信息,各个中继节点可以从自身维护的本地信息库处获取目标区块链节点集合
~
的信息,以通过区块链中继通信网络将注册请求发送至区块链节点22 26处。当目标区块链
~
节点21经过投票被允许注册进入目标区块链节点集合时,本地中继节点11可以将目标区块
链节点21的信息写入本地中继节点对应的本地信息库,进而通知中继节点12 14;中继节点
~
12 14响应于上述通知,可以将目标区块链节点的信息写入其各自维护的本地信息库中,以
~
保证各个中继节点处维护的本地信息库保持一致。
块链节点21是否成功注册进入目标区块链节点集合中,区块链节点21 26均可以定期重新
~
注册,上述重新注册的频率可以根据实际情况灵活调整,本说明书对此不作限制。在本实施
例中,如果存在已经退出的区块链节点,即使节点信息库中已经退出的区块链节点的信息
未被删除,其重新注册时也无法通过验证。因此,区块链节点可以通过定期重新将各个区块
链节点注册至所属的区块链节点集合中,使信息库中的区块链节点信息强制进行更新,保
证目标区块链节点集合对应的目标区块链节点信息的准确性。
可能包括其他业务所需要的硬件。本说明书一个或多个实施例可以基于软件方式来实现,
比如由处理器502从非易失性存储器510中读取对应的计算机程序到内存508中然后运行。
当然,除了软件实现方式之外,本说明书一个或多个实施例并不排除其他实现方式,比如逻
辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻
辑单元,也可以是硬件或逻辑器件。
该装置可以包括:
述任一中继节点创建所述目标区块链节点集合,并直接将所述目标区块链节点注册至所述
目标区块链节点集合中;在所述目标区块链节点集合已存在的情况下,所述任一中继节点
通过所述区块链中继通信网络中的其他中继节点将所述注册请求分别转发至所述目标区
块链节点集合的已存在区块链节点,并且在超过预设数量的所述已存在区块链节点同意注
册的情况下,将所述目标区块链节点注册至所述目标区块链节点集合中;
存在区块链节点是否同意注册的消息,以使本地中继节点确认是否将所述目标区块链节点
注册至所述目标区块链节点集合中。
通信网络中的其他中继节点将所述注册请求分别转发至所述目标区块链节点集合的已存
在区块链节点,包括:
点将所述注册请求进一步转发至自身相连的已存在区块链节点。
括:
的消息用于表明其同意注册。
以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放
器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的
任意几种设备的组合。
质的示例。
计算机的存储介质的例子包括,但不限于相变内存 (PRAM)、静态随机存取存储器 (SRAM)、
动态随机存取存储器 (DRAM)、其他类型的随机存取存储器 (RAM)、只读存储器 (ROM)、电
可擦除可编程只读存储器 (EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器
(CD‑ROM)、数字多功能光盘 (DVD) 或其他光学存储、磁盒式磁带、磁盘存储、量子存储器、
基于石墨烯的存储介质或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计
算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体
(transitory media),如调制的数据信号和载波。
括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要
素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要
素的过程、方法、商品或者设备中还存在另外的相同要素。
执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺
序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可
以的或者可能是有利的。
中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表
示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出
项目的任何或所有可能组合。
分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一信息也可以被称为第
二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如
果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
修改、等同替换、改进等,均应包含在本说明书一个或多个实施例保护的范围之内。