[发明专利]一种基于Raft日志复制的自适应方法在审
申请号: | 202210185531.7 | 申请日: | 2022-02-28 |
公开(公告)号: | CN114661520A | 公开(公告)日: | 2022-06-24 |
发明(设计)人: | 李伟;曾磊;邵羽;王磊 | 申请(专利权)人: | 重庆趣链数字科技有限公司;重庆市先进区块链研究院 |
主分类号: | G06F11/14 | 分类号: | G06F11/14 |
代理公司: | 北京挺立专利事务所(普通合伙) 11265 | 代理人: | 郭磊 |
地址: | 400000 重*** | 国省代码: | 重庆;50 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 raft 日志 复制 自适应 方法 | ||
1.一种基于Raft日志复制的自适应方法,其特征在于:包括以下步骤:
步骤S01,选举Leader,Leader发送AppendEntries的操作时,计算出当前操作的哈希值,并记录到节点的log;
步骤S02,在记录每次log的哈希值时,按照log从低到高的顺序计算哈希对应的数字值的前缀和;
步骤S03,节点出现宕机再重启时,该节点则利用S02的对应的log计算差距gap,取出集群正常节点范围f;
步骤S04,获得正常节点范围f后,根据差距进行正常节点范围f分割获取分割点k、余数点left,k=gap/f,left=gap%f;
步骤S05,获得k,left的值后,利用轮询的方式把落后的log均匀的到分布到其他非Leader节点去获得;
步骤S06,按照上述步骤在重启节点获得某一日志,并拼接日志成功后,再按照上面计算出来的Sumi来验证log数据是否完整合法,直到数据验证合法完整,然后重启加入集群继续对外提供服务。
2.根据权利要求1所述的一种基于Raft日志复制的自适应方法,其特征在于,在步骤S02中,若前缀和有溢出的情况,则可以用取模操作,即Sumi=(Sumi-1+Hashi)%P。
3.根据权利要求1所述的一种基于Raft日志复制的自适应方法,其特征在于,在步骤S03中,集群剩余正常工作节点为N,N>=3,令f=max(N-1,1)。
4.根据权利要求1所述的一种基于Raft日志复制的自适应方法,其特征在于,在步骤S04中,可将k值按照集群能力设置为一个固定值。
5.根据权利要求1所述的一种基于Raft日志复制的自适应方法,其特征在于,在S05中,在获得k,left的值后,把落后的log均匀的到分布到其他非Leader节点去获得;如果其他非Leader节点无这段日志,则采用轮询规则,去下一个节点去获取。
6.根据权利要求5所述的一种基于Raft日志复制的自适应方法,其特征在于,轮询规则是令i=0,对应第一个正常的非Leader节点的编号,m为非Leader节点的总个数,每次轮询到下一个节点是(i+1)%m,这样就完成了压力均摊。
7.根据权利要求1所述的一种基于Raft日志复制的自适应方法,其特征在于:在步骤S06中,若log数据不完整,则可以通过顺序或者二分查找的方式快去定位出问题的区间,重新走一遍上述获得日志的流程。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于重庆趣链数字科技有限公司;重庆市先进区块链研究院,未经重庆趣链数字科技有限公司;重庆市先进区块链研究院许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210185531.7/1.html,转载请声明来源钻瓜专利网。