[发明专利]区块链共识节点的重启处理方法、共识节点及区块链系统有效
申请号: | 202010630197.2 | 申请日: | 2020-07-03 |
公开(公告)号: | CN111522697B | 公开(公告)日: | 2020-10-09 |
发明(设计)人: | 李帅 | 申请(专利权)人: | 支付宝(杭州)信息技术有限公司 |
主分类号: | G06F11/14 | 分类号: | G06F11/14;G06F16/27 |
代理公司: | 北京国昊天诚知识产权代理有限公司 11315 | 代理人: | 许振新 |
地址: | 310000 浙江省杭州市*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 区块 共识 节点 处理 方法 系统 | ||
1.一种区块链共识节点的重启处理方法,包括:
区块链的目标共识节点在目标共识的过程中重启后,调取所述目标共识节点在重启前批量记录的所述目标共识的共识持久化数据,其中,所述共识持久化数据包括所述目标共识节点在蜜獾拜占庭共识机制的至少一个协议阶段所收发的共识消息;
所述目标共识节点基于所述共识持久化数据中的所述目标共识节点在所述至少一个协议阶段所收发的共识消息,确定所述目标共识节点针对所述目标共识的完成状态;
所述目标共识节点基于所述蜜獾拜占庭共识机制的逻辑,恢复至在重启前的所述目标共识的完成状态;
其中,所述共识持久化数据还包括:所述目标共识节点接收到的其他共识节点基于所述目标共识节点发送的共识消息所反馈的确认响应消息;
所述目标共识节点还设置有:待发送队列,存放有目标共识节点在所述目标共识中待发送且尚未发送过的共识消息;重发送队列,存放有目标共识节点在所述目标共识中需要重新发送的共识消息;响应队列,存放有目标共识节点在所述目标共识中待发送的确认响应消息;在所述目标共识节点执行目标共识的过程中,所述方法还包括:所述目标共识节点在发送所述待发送队列中的任意第一目标共识消息后,将所述第一目标共识消息从待发送队列迁移至重发送队列;所述目标共识节点在接收到其他共识节点基于所述重发送队列中的任意第二目标共识消息所发送的确认响应消息后,将所述第二目标共识消息从所述重发送队列中移除。
2.根据权利要求1所述的方法,所述目标共识节点设置有:
持久化缓存队列,存放有所述目标共识节点针对所述目标共识生成的共识持久化数据;
其中,在所述目标共识节点执行目标共识的过程中,所述方法还包括:
所述目标共识节点基于预设周期,将所述持久化缓存队列中的共识持久化数据进行本地写入并清空所述持久化缓存队列,或者,所述目标共识节点在所述持久化缓存队列中的共识持久化数据积累到预设数据量阈值时,将所述持久化缓存队列中的共识持久化数据进行本地写入并清空所述持久化缓存队列。
3.根据权利要求1所述的方法,
所述共识持久化数据包括的所述目标共识节点在所述蜜獾拜占庭共识机制的至少一个协议阶段所发送的共识消息为所述目标共识节点从所述重发送队列中移除的共识消息。
4.根据权利要求1-3中任一项所述的方法,
所述蜜獾拜占庭共识机制的至少一个协议阶段包括:可靠广播传输RBC协议阶段和二进制协定BA协议阶段中的至少一个。
5.根据权利要求4所述的方法,若所述蜜獾拜占庭共识机制的至少一个协议阶段包括有所述BA协议阶段,则所述共识持久化数据还包括:
所述目标共识在所述BA协议阶段,基于Bval消息、AUX消息和Term消息中的至少一者所确定的决策结果,其中,所述Bval消息用于确定所述目标共识的提议数据的初始BA值,所述AUX消息用于确定所述目标共识的提议数据的中间BA值,所述Term消息用于确定所述目标共识的提议数据的最终BA值。
6.根据权利要求1-3中任一项所述的方法,还包括:
若确定到的所述目标共识节点针对所述目标共识的完成状态指示所述目标共识节点在所述目标共识中发起的提议数据未达成共识,则所述目标共识节点向其他共识节点重新发送所述目标共识节点在所述目标共识中所发起的提议数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于支付宝(杭州)信息技术有限公司,未经支付宝(杭州)信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010630197.2/1.html,转载请声明来源钻瓜专利网。