分布式系统的冗余切换方法及装置与流程

文档序号:37676917发布日期:2024-04-18 20:49阅读:6来源:国知局
分布式系统的冗余切换方法及装置与流程

本申请涉及分布式系统,尤其涉及一种分布式系统的冗余切换方法及装置。


背景技术:

1、在分布式系统中,一致性算法是确保在分布式系统包括的多个节点上保持数据一致性的关键。选举算法是一种常用的分布式一致性算法,通过选举的方式从各节点中选出一个领导者(leader),由leader节点来处理所有的写请求,并将数据同步给其他节点。然而,在某些场景下,当leader节点出现故障时,系统可能会面临数据丢失的风险。

2、因此,如何实现分布式系统的冗余切换,避免数据丢失是目前亟待解决的问题。


技术实现思路

1、本申请实施例的目的是提供一种分布式系统的冗余切换方法及装置,用以解决leader节点出现故障时分布式系统的数据存在丢失风险的问题。

2、为了解决上述技术问题,本说明书是这样实现的:

3、第一方面,提供了一种分布式系统的冗余切换方法,应用于分布式系统中的目标节点,所述方法包括:

4、在所述目标节点的角色为跟随者时,如果检测到与角色为领导者的第一节点之间的连接不正常,则转换所述目标节点的角色为候选者;

5、在转换所述目标节点的角色为候选者后,向角色为跟随者的各第二节点发送投票请求以发起新一轮的选举,所述新一轮的选举用于接收的各第二节点响应所述投票请求进行投票以选举出领导者;

6、在所述选举结束后,如果所述目标节点得到的投票数量超过预设数量阈值,则转换所述目标节点的角色为领导者;

7、在转换所述目标节点的角色为领导者后,与所述分布式系统中的其他节点建立连接。

8、可选地,在所述目标节点的角色为跟随者时,还包括:

9、如果检测到与角色为领导者的第一节点之间的连接正常,则保持所述目标节点的角色为跟随者。

10、可选地,所述转换所述目标节点的角色为候选者之前,还包括:

11、确定所述目标节点的优先级;

12、如果优先级满足预设配置,则确定所述标节点具有转换角色为候选者的资格;

13、否则,保持所述目标节点的角色为跟随者。

14、可选地,所述保持所述目标节点的角色为跟随者之后,还包括:

15、等待至少一个角色为候选者的节点发起新一轮的选举时发送的投票请求;

16、响应接收到的第一条投票请求,向对应的候选者的节点投票;

17、响应所述第一条投票请求之后的各投票请求,拒绝向对应的候选者的节点投票;

18、等待所述选举结束。

19、可选地,所述选举结束之后,还包括:

20、如果选举出新的领导者,则与所述新的领导者对应的第三节点建立连接;

21、以检测心跳的方式定时检测与角色为领导者的所述第三节点之间的连接。

22、可选地,所述选举结束之后,还包括:

23、如果未选举出新的领导者,则转换所述目标节点的角色为候选者。

24、可选地,所述在转换所述目标节点的角色为候选者后,向角色为跟随者的各第二节点发送投票请求,包括:

25、在转换所述目标节点的角色为候选者后,基于所述目标节点的优先级确定发起新一轮的选举对应的预设等待时长,优先级越高,对应的预设等待时长越短;

26、在所述预设等待时长后,向角色为跟随者的各第二节点发送投票请求。

27、可选地,在投票结束后,还包括:

28、如果所述目标节点得到的投票数量不超过预设数量阈值,则在与角色为领导者的节点建立连接后,转换所述目标节点的角色为跟随者。

29、可选地,所述在转换所述目标节点的角色为领导者后,与所述分布式系统中的其他节点建立连接之前,还包括:

30、在转换所述目标节点的角色为领导者后,如果检测到角色为领导者的第四节点,则比较所述目标节点的优先级和所述第四节点的优先级;

31、如果所述目标节点的优先级低于所述第四节点的优先级,则转换所述目标节点的角色为跟随者;

32、否则,与所述分布式系统中的其他节点建立连接。

33、第二方面,提供了一种分布式系统的冗余切换装置,包括处理器和存储器,所述存储器存储可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如第一方面所述的方法的步骤。

34、第三方面,提供了一种可读存储介质,该可读存储介质上存储有程序或指令,所述程序或指令被处理器执行时实现如第一方面所述的方法的步骤。

35、在本申请实施例中,在目标节点的角色为跟随者时,如果检测到与角色为领导者的第一节点之间的连接不正常,则转换所述目标节点的角色为候选者;在转换所述目标节点的角色为候选者后,向角色为跟随者的各第二节点发送投票请求以发起新一轮的选举,所述新一轮的选举用于接收的各第二节点响应所述投票请求进行投票以选举出领导者;在所述选举结束后,如果所述目标节点得到的投票数量超过预设数量阈值,则转换所述目标节点的角色为领导者;在转换所述目标节点的角色为领导者后,与所述分布式系统中的其他节点建立连接,由此可以在leader节点出现故障时,实现分布式系统的冗余切换,避免数据丢失。



技术特征:

1.一种分布式系统的冗余切换方法,其特征在于,应用于分布式系统中的目标节点,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,在所述目标节点的角色为跟随者时,还包括:

3.根据权利要求1所述的方法,其特征在于,所述转换所述目标节点的角色为候选者之前,还包括:

4.根据权利要求3所述的方法,其特征在于,所述保持所述目标节点的角色为跟随者之后,还包括:

5.根据权利要求4所述的方法,其特征在于,所述选举结束之后,还包括:

6.根据权利要求4所述的方法,其特征在于,所述选举结束之后,还包括:

7.根据权利要求3所述的方法,其特征在于,所述在转换所述目标节点的角色为候选者后,向角色为跟随者的各第二节点发送投票请求,包括:

8.根据权利要求1所述的方法,其特征在于,在投票结束后,还包括:

9.根据权利要求1所述的方法,其特征在于,所述在转换所述目标节点的角色为领导者后,与所述分布式系统中的其他节点建立连接之前,还包括:

10.一种分布式系统的冗余切换装置,其特征在于,包括处理器和存储器,所述存储器存储可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如权利要求1-9中任一项所述的方法的步骤。


技术总结
本申请公开了一种分布式系统的冗余切换方法及装置,应用于分布式系统中的目标节点,所述方法包括:在所述目标节点的角色为跟随者时,如果检测到与角色为领导者的第一节点之间的连接不正常,则转换所述目标节点的角色为候选者;在转换所述目标节点的角色为候选者后,向角色为跟随者的各第二节点发送投票请求以发起新一轮的选举,所述新一轮的选举用于接收的各第二节点响应所述投票请求进行投票以选举出领导者;在所述选举结束后,如果所述目标节点得到的投票数量超过预设数量阈值,则转换所述目标节点的角色为领导者;在转换所述目标节点的角色为领导者后,与所述分布式系统中的其他节点建立连接。

技术研发人员:赵亮,高锐强,焦晓东,赵浚曦,周政强,温宜明
受保护的技术使用者:杭州康吉森自动化科技有限公司
技术研发日:
技术公布日:2024/4/17
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1