一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种可再投票的二元共识方法及装置与流程

2021-12-14 22:53:00 来源:中国专利 TAG:

技术特征:
1.一种可再投票的二元共识方法,其特征在于,应用于分布式系统中的任一共识节点,所述分布式系统至少包括n个共识节点,其中n≥3f 1,所述f为大于0的整数,所述方法包括:针对任一共识节点的待共识提议,确定对应于该待共识提议的初始投票值以及初始辅助值;其中,投票值包括优先投票值以及其他投票值两种值;初始投票值为优先投票值或其他投票值;在所述初始投票值为其他投票值、且满足预设条件的情况下,重新将所述初始投票值确定为优先投票值;广播携带有初始投票值以及初始辅助值的首轮共识消息;根据其他共识节点广播的针对该待共识提议的首轮共识消息以及首轮共识策略,就所述优先投票值达成共识。2.根据权利要求1所述的方法,其特征在于,还包括:在首轮未就所述优先投票值达成共识的情况下,循环执行以下步骤,直到得到针对该待共识提议的共识结果:广播本轮共识消息,所述共识消息中携带本轮投票值以及辅助值;基于接收到的其他共识节点广播的针对该待共识提议的投票值和辅助值,确定是否得到共识结果。3.根据权利要求1所述的方法,其特征在于,所述广播携带有初始投票值以及初始辅助值的首轮共识消息,包括:将初始投票值和初始辅助值携带在首轮第一类共识消息中进行广播;接收其他共识节点广播的首轮第一类共识消息;基于所述初始投票值以及其他共识节点广播的首轮第一类共识消息,重新确定投票值以及辅助值,并将重新确定的投票值以及辅助值携带在首轮第二类共识消息中进行广播。4.根据权利要求3所述的方法,其特征在于,所述重新确定投票值以及辅助值前,还包括:若接收到f 1个首轮第一类共识消息,且所述f 1个第一类共识消息中的投票值相同、与本地广播的初始投票值不同,则将本地初始投票值修改为所述f 1个第一类共识消息中的投票值,并再次广播携带初始投票值以及初始辅助值的首轮第一类共识消息。5.根据权利要求4所述的方法,其特征在于,所述基于所述初始投票值以及其他共识节点广播的首轮第一类共识消息,重新确定投票值以及辅助值,包括:在所述初始投票值为优先投票值的情况下,将所述初始投票值添加到首轮第一集合中,并将所述首轮第一集合中的投票值确定为首轮第二类共识消息中的投票值以及辅助值。6.根据权利要求5所述的方法,其特征在于,还包括:在所述初始投票值不为优先投票值的情况下,若接收到其他共识节点广播的f 1个首轮第一类共识消息,所述f 1个第一类共识消息中的携带的投票值均为优先投票值,则将所述优先投票值添加到首轮第一集合中,并将所述首轮第一集合中的投票值确定为首轮第二类共识消息中的投票值以及辅助值。7.根据权利要求6所述的方法,其特征在于,还包括:
在所述初始投票值不为优先投票值的情况下,若接收到其他共识节点广播的法定数量的首轮第一类共识消息,所述法定数量的第一类共识消息中携带的投票值均为其他投票值,则将该其他投票值添加到首轮第一集合中,并将所述首轮第一集合中的投票值确定为首轮第二类共识消息中的投票值以及辅助值。8.根据权利要求7所述的方法,其特征在于,所述基于其他共识节点广播的首轮共识消息以及首轮共识策略,就所述优先投票值达成共识,包括:基于接收到的首轮第二类共识消息中的投票值、辅助值以及首轮共识策略就所述优先投票值达成共识。9.根据权利要求8所述的方法,其特征在于,所述首轮共识策略包括:在接收到法定数量的首轮第二类共识消息后,将接收到的第二类共识消息中的投票值存入到首轮第二集合中,将辅助值存入到首轮第三集合中,将首轮公共抛币值置为所述优先投票值;在所述首轮第二集合中仅包含一种投票值的情况下,若接收到了超过(n f 1)/2个携带优先投票值的第二类共识消息,则确定共识结果为所述优先投票值;若接收到了超过(n f 1)/2个携带其他投票值的第二类共识消息,则将次轮第一类共识消息中携带的投票值以及辅助值均设置为其他投票值。10.根据权利要求9所述的方法,其特征在于,还包括:若未收到超过(n f 1)/2个携带相同投票值的第二类共识消息,则将次轮第一类共识消息中携带的投票值以及辅助值均设置为优先投票值。11.根据权利要求2所述的方法,其特征在于,所述广播本轮共识消息,包括:将投票值和辅助值携带在第一类共识消息中进行广播;接收其他共识节点广播的第一类共识消息;基于接收到的第一类共识消息重新确定投票值以及辅助值,并将重新确定的投票值以及辅助值携带在第二类共识消息中进行广播。12.根据权利要求11所述的方法,其特征在于,所述基于接收到的第一类共识消息重新确定投票值以及辅助值前,还包括:若在当前共识轮接收到f 1个第一类共识消息,且所述f 1个第一类共识消息中的投票值相同、与本地本轮共识通过第一类共识消息广播的投票值不同,则将投票值修改为所述f 1个第一类共识消息中的投票值,并再次广播携带投票值以及辅助值的第一类共识消息。13.根据权利要求12所述的方法,其特征在于,基于接收到的第一类共识消息重新确定投票值以及辅助值,包括:在接收到法定数量的第一类共识消息后,在所述法定数量的第一类共识消息所携带的投票值相同的情况下,将该投票值添加到本轮第一集合中;将所述本轮第一集合中的投票值与上一轮的公共抛币值进行比较,根据比较结果以及接收到的第一类共识消息重新确定投票值以及辅助值。14.根据权利要求13所述的方法,其特征在于,所述根据比较结果以及接收到的第一类共识消息重新确定投票值以及辅助值,包括:在本轮第一集合中的投票值与上一轮的公共抛币值相等的情况下,若接收过的第一类共识消息中携带的投票值均为该第一集合中的投票值,携带的辅助值均为该第一集合中的
投票值或空,则将投票值以及辅助值设置为该本轮第一集合中的投票值;否则,则将投票值设置为空,并且将辅助值设置为该本轮第一集合中的投票值。15.根据权利要求14所述的方法,其特征在于,还包括:在本轮第一集合中的投票值与上一轮的公共抛币值不相等的情况下,若接收过的第一类共识消息中携带的投票值以及辅助值均为该本轮第一集合中的投票值,则将第二类共识消息中的投票值以及辅助值设置为该第一集合中的投票值;否则,则将投票值设置为空,并且将辅助值设置为该第一集合中的投票值。16.根据权利要求15所述的方法,其特征在于,所述基于接收到的其他共识节点广播的投票值和辅助值,确定是否得到共识结果,包括:基于接收到的第二类共识消息中的投票值以及辅助值确定是否得到共识结果。17.根据权利要求16所述的方法,其特征在于,所述基于接收到的第二类共识消息中的投票值以及辅助值确定是否得到共识结果,包括:若接收到的第二类共识消息中存在超过法定数量的第二类共识消息是相同的,且所述第二类共识消息中投票值与辅助值相同,则将该第二类共识消息中的投票值与本轮公共抛币值进行比较,如果该投票值与本轮公共抛币值相同,则目标共识节点确定共识结果为该投票值;如果不相同,则将下一轮第一类共识消息中携带的投票值以及辅助值均设置为所述第二类共识消息中的投票值。18.根据权利要求17所述的方法,其特征在于,还包括:若只接收到过合法第二类共识消息,所述第二集合中的投票值为一种投票值和空,并且至少有法定数量条第二类共识消息的辅助值为该种投票值,则将该种投票值与上一轮共识和本轮共识的公共抛币值分别进行比较;若该种投票值与上一轮和本轮的公共抛币值均相同,则确定共识结果该为种投票值;若该种投票值与上一轮公共抛币值和/或本轮抛币值不相同,则将下一轮第一类共识消息中的投票值以及辅助值均设置为该种投票值。19.根据权利要求18所述的方法,其特征在于,还包括:若接收到了法定数量的合法第二类共识消息,所述法定数量条第二类共识消息携带的辅助值不相同,所述第二集合中的投票值为一种投票值和空,且该种投票值与上一轮公共抛币值相同,则将下一轮共识中第一类共识消息中的投票值以及辅助值均设置为该种投票值。20.根据权利要求19所述的方法,其特征在于,还包括:否则,将本轮公共抛币值作为下一轮第一类共识消息的投票值;若当前共识轮为首轮,则将下一轮的第一类共识消息中的辅助值设置为本轮公共抛币值;若当前共识轮不为首轮,则将下一轮的第一共消息中的辅助值设置为第二集合中的出现次数超过预设次数的值。21.一种可再投票的二元共识装置,其特征在于,应用于分布式系统中的任一共识节点,所述分布式系统至少包括n个共识节点,其中n≥3f 1,所述f为大于0的整数,所述装置包括:处理模块,用于针对任一共识节点的待共识提议,确定对应于该待共识提议的初始投票值以及初始辅助值;其中投票值包括优先投票值以及其他投票值两种值;初始投票值为
优先投票值或其他投票值;在所述初始投票值为其他投票值、且满足预设条件的情况下,重新将所述初始投票值确定为优先投票值;通信模块,用于广播携带有初始投票值以及初始辅助值的首轮共识消息;处理模块,还用于根据其他共识节点广播的针对该待共识提议的首轮共识消息以及首轮共识策略,就所述优先投票值达成共识。22.一种计算机设备,其特征在于,包括存储器、处理器、通信接口及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现如权利要求1至20任一项所述的方法。23.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,该程序被处理器执行时实现如权利要求1至20任一项所述的方法。

技术总结
本申请实施例中提供了一种可再投票的二元共识方法,应用于分布式系统中的任一共识节点,分布式系统至少包括N个共识节点,其中N≥3f 1,所述f为大于0的整数,方法包括:针对任一共识节点的待共识提议,确定对应于该待共识提议的初始投票值以及初始辅助值;在初始投票值为其他投票值、且满足预设条件的情况下,重新将所述初始投票值确定为优先投票值;广播携带有初始投票值以及初始辅助值的首轮共识消息;根据其他共识节点广播的针对该待共识提议的首轮共识消息以及首轮共识策略,就所述优先投票值达成共识。采用本说明书的方法,使各个共识节点可以在共识首轮就优先投票值快速达成共识,提高了分布式系统中的共识效率。提高了分布式系统中的共识效率。提高了分布式系统中的共识效率。


技术研发人员:张海滨 段斯斯
受保护的技术使用者:清华大学
技术研发日:2021.08.12
技术公布日:2021/12/13
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献