[发明专利]一种强同步角色故障的识别与恢复方法有效
| 申请号: | 202110188539.4 | 申请日: | 2021-02-19 |
| 公开(公告)号: | CN112838965B | 公开(公告)日: | 2023-03-28 |
| 发明(设计)人: | 朱林浩;徐伟涛;赵文慧 | 申请(专利权)人: | 浪潮云信息技术股份公司 |
| 主分类号: | H04L41/0654 | 分类号: | H04L41/0654;H04L43/10;H04L67/10 |
| 代理公司: | 济南信达专利事务所有限公司 37100 | 代理人: | 姜鹏 |
| 地址: | 250100 山东省济南市高*** | 国省代码: | 山东;37 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 同步 角色 故障 识别 恢复 方法 | ||
本发明涉及分布式共识协议技术领域,具体提供了一种强同步角色故障的识别与恢复方法,其特征在于,具有以下步骤:S1、强同步角色故障的识别;S2、告知用户强同步角色故障信息;S3、强同步角色故障的处理;S4、避免重复识别强同步角色故障。与现有技术相比,本发明在强同步角色恢复工作后,也能自动恢复其强同步配置,该自动恢复过程除了在命令行告知将要恢复强同步配置的表名以外,对用户无任何影响,具有良好的推广价值。
技术领域
本发明涉及分布式共识协议技术领域,具体提供一种强同步角色故障的识别与恢复方法。
背景技术
在raft算法的etcd实现版本中,心跳与心跳回复消息用于维系领导者与其他节点的联系,默认发送心跳的时间间隔(即心跳超过时间)为5tick(raft算法中每个raft结构体定时执行的方法,tick间隔约200毫秒,5tick约为1秒);Progress结构体用于追踪其他节点的状态,包括角色类型、最后一条日志的索引等;配置变更则用于变更集群中的节点数量、角色(如强同步角色)等。写入数据和配置变更都会产生日志,都需要日志提交后才能生效。
根据《In Search of an Understandable Consensus Algorithm》,在raft分布式一致性算法中,日志的提交需要获得集群中半数以上的赞成投票,若没有获得,则集群将无法继续提交日志导致无法写入数据,即便集群中仍然有半数以上的节点正常工作,这将严重影响分布式集群的容灾能力。
若在raft算法中增加强同步角色,将在原有的日志提交策略的基础上,新增获得全部强同步角色赞成投票的条件,该方案打破了投票权重的均等性,在异地分布的集群中,更好地保证了数据一致性,也提供了更多的个性化功能。而强同步角色的故障处理也将成为随之而来的关键问题。
发明内容
本发明是针对上述现有技术的不足,提供一种实用性强的强同步角色故障的识别与恢复方法。
本发明解决其技术问题所采用的技术方案是:
一种强同步角色故障的识别与恢复方法,具有以下步骤:
S1、强同步角色故障的识别;
S2、告知用户强同步角色故障信息;
S3、强同步角色故障的处理;
S4、避免重复识别强同步角色故障。
进一步的,在步骤S1中,在progress结构体中添加整型计时变量SynchronizerElapsed,表示距离领导者上一次收到来自强同步角色的心跳回复消息的tick次数,在领导者的每次tick中,所有强同步角色的计时变量自增1,领导者每次收到强同步角色的心跳回复时,则将相应的计时变量清零。
进一步的,在步骤S1中,若领导者在一定时间内未收到强同步角色的心跳回复,致使计时变量达到强同步超时时间,则将该强同步角色的id录入raft结构体中用于记录故障强同步角色的映射表inactiveSynchronizers,至此成功识别强同步角色故障。
进一步的,在步骤S2中,识别到强同步角色故障后,领导者所在的节点通过内部SQL查询,获取发送失败的心跳对应range所属的表名,在数据库命令行告知用户故障信息,包括发送心跳失败的目标节点,以及该节点上将要取消同步配置的表名。
进一步的,在步骤S2中,在强同步角色恢复工作后,若发送成功的心跳对应的range在此之前发生了强同步角色故障,则查询上述映射表获取该range所属的表名,在命令行告知用户恢复工作的目标节点,以及该节点上将要恢复强同步配置的表名;
对于同一个table,每次识别到强同步角色故障或故障的强同步角色恢复时,只告知用户一次。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮云信息技术股份公司,未经浪潮云信息技术股份公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110188539.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种MySQL数据库增量同步实现方法
- 下一篇:自动上料绞线绕线装置





