1 .一种基于共识系统的节点竞选投票方法,所述共识系统包括多个节点设备,多个节
点设备中包括处于主节点角色的主节点设备,所述方法通过任意一个第二节点设备执行,
包括:
接收第一节点设备发送的第一预竞选消息;其中,所述第一预竞选消息用于预备竞选
主节点角色,所述第一预竞选消息是所述第一节点设备在确定主节点设备不在工作状态时
发送的;
将所述第一预竞选消息保存在缓存中;
当确定主节点设备仍在工作状态时,保持所述第一预竞选消息在所述缓存中的等待状
态;
当确定主节点设备不在工作状态时,基于所述缓存中的第一预竞选消息,向对应的第
一节点设备发送预投票消息,以使得所述第一节点设备在接收到多于第一数量个预投票消
息时向其他节点设备发送第一竞选消息。
2.根据权利要求1所述的方法,所述第一预竞选消息中包括第一预竞选任期和第一最
晚共识数据;所述第一最晚共识数据是经过多个节点设备共识后的数据,所述第一预竞选
任期是所述第一节点设备竞选的主节点角色的任期;
所述将所述第一预竞选消息保存在缓存中的步骤,包括:
当确定所述第一预竞选任期和第一最晚共识数据比所述第二节点设备中的对应数据
更新时,将所述第一预竞选消息保存在缓存中。
3 .根据权利要求2所述的方法,还包括:
当确定所述第一预竞选任期和第一最晚共识数据不比所述第二节点设备中的对应数
据更新时,丢弃所述第一预竞选消息。
4 .根据权利要求2所述的方法,所述第二节点设备中的对应数据包括:当前任期和第二
最晚共识数据;所述当前任期是所述第二节点设备中保存的主节点设备的任期,所述第二
最晚共识数据是所述第二节点设备中保存的最晚共识数据;
所述第一预竞选任期和第一最晚共识数据比所述第二节点设备中的对应数据更新,包
括以下情况:
所述第一预竞选任期高于所述当前任期,并且所述第一最晚共识数据不早于所述第二
最晚共识数据;
所述第一预竞选任期等于所述当前任期,并且所述第一最晚共识数据晚于所述第二最
晚共识数据。
5 .根据权利要求1所述的方法,所述保持所述第一预竞选消息在所述缓存中的等待状
态的步骤,包括:
在第一时长内保持所述第一预竞选消息在所述缓存中的等待状态;所述第一时长大于
预设经验时长;
所述方法还包括:
当直到所述第一时长结束,仍确定主节点设备在工作状态时,丢弃所述第一预竞选消
息。
6 .根据权利要求1所述的方法,采用以下方式确定主节点设备不在工作状态:
判断自身的选举定时器是否超时,如果是,则确定主节点设备不在工作状态;其中,所
权 利 要 求 书
1/3 页
2
评论