一种通用分布式选主的方法、系统和装置与流程
- 国知局
- 2024-08-02 14:14:12
本发明涉及分布式选主领域,具体涉及一种通用分布式选主的方法、系统和装置。
背景技术:
1、随着互联网技术的发展及云应用部署的普及,分布式选主涉及到的应用越来越多,很多分布式共识性算法及应用首要条件就是先选出一个共识的主,之后才能进行之后的操作。
2、现阶段分布式选主常用的算法有raft算法、paxos算法等。
3、此类算法普遍是按照添加顺序或者无序的进行选主,程序端不能指定分布式服务器中的一个确定的服务器成为主服务器,每个服务器成为主服务器的可能性都是随机的,而在很多分布式程序中,我们需要考虑安全性,便携性等多种因素而导致需要指定某个特定的服务器当做主服务器,在这种情况下raft、paxos等分布式一致性算法的选主无法满足程序的要求。
技术实现思路
1、本发明提供一种通用分布式选主的方法、系统和装置,用以解决分布式选主指定主,并且在各个分布式服务器数据一致的问题。
2、为实现上述目的,本发明采用如下技术方案:
3、本发明提供了一种通用分布式选主的方法,包括:
4、基于raft算法获取第一候选服务器,所述第一候选服务器用于表征raft算法产生的随机候选服务器;
5、获取客户端需求,并根据所述客户端需求从第一候选服务器确定第二候选服务器,所述第二候选服务器用于表征客户端指定候选服务器;
6、调整各从属服务器、第一候选服务器和第二候选服务器的逻辑时钟;
7、基于候选服务器和预设选举时间模型,并调整从属服务器和第二候选服务器的逻辑时钟,确定主服务器,所述主服务器用于表征指定选主服务器的选主结果。
8、可选的,
9、所述基于raft算法获取第一候选服务器,所述第一候选服务器用于表征raft算法产生的随机候选服务器,包括:
10、基于raft算法从服务器中随机选取第一候选服务器,并使第一候选服务器进入选举阶段。
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、从属服务器根据重新生成的选举时间所述选票向第二候选服务器投票;
36、选择获得投票数量最多的第二候选服务器作为主服务器。
37、本发明还提供了一种通用分布式选主系统,包括:
38、随机候选服务器模块、用于基于raft算法获取第一候选服务器,所述第一候选服务器用于表征raft算法产生的随机候选服务器;
39、指定候选服务器模块、用于获取客户端需求,并根据所述客户端需求从第一候选服务器确定第二候选服务器,所述第二候选服务器用于表征客户端指定候选服务器;
40、调整模块、用于调整各从属服务器、第一候选服务器和第二候选服务器的逻辑时钟;
41、指定选主模块、用于基于候选服务器和预设选举时间模型,并调整从属服务器和第二候选服务器的逻辑时钟,确定主服务器,所述主服务器用于表征指定选主服务器的选主结果。
42、本发明还提供了一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项所述的通用分布式选主的方法。
43、本发明还提供了一种存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项所述的通用分布式选主的方法。
44、本说明书采用的上述至少一个技术方案能够达到以下有益效果:
45、在本选主方法中,解决了raft选主在多服务器同时选主后无法人为指定某个服务器为主的问题。在此过程中,没有指定成为主的服务器在选主过程中,会一直停止逻辑时钟进行等待直到接收到指定成为主的服务器发送的votes选票再重新开启逻辑时钟。此种情况一下,不需要通过一致性算法逻辑沟通即可保证分布式的多个服务器选出的主的一致性。并且通过此方式选主后,延续了raft算法的服务器探活逻辑,如果主服务器因为某些原因掉线失联了,不影响之后的自动易主功能逻辑。
技术特征:1.一种通用分布式选主的方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述基于raft算法获取第一候选服务器,所述第一候选服务器用于表征raft算法产生的随机候选服务器,包括:
3.根据权利要求1所述的方法,其特征在于,所述获取客户端需求,并根据所述客户端需求从第一候选服务器确定第二候选服务器,所述第二候选服务器用于表征客户端指定候选服务器,包括:
4.根据权利要求3所述的方法,其特征在于,所述调整各从属服务器、第一候选服务器和第二候选服务器的逻辑时钟,包括:
5.根据权利要求3所述的方法,其特征在于,所述基于候选服务器和预设选举时间模型,并调整从属服务器和第二候选服务器的逻辑时钟,确定主服务器,所述主服务器用于表征指定选主服务器的选主结果,包括:
6.根据权利要求3所述的方法,其特征在于,所述基于候选服务器和预设选举时间模型,并调整从属服务器和第二候选服务器的逻辑时钟,确定主服务器,所述主服务器用于表征指定选主服务器的选主结果,还包括:
7.根据权利要求6所述的方法,其特征在于,所述从属服务器根据所述选票向候选服务器投票之后,还包括:
8.一种通用分布式选主系统,其特征在于,包括:
9.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行权利要求1至7任一项所述的通用分布式选主的方法。
10.一种存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行权利要求1至7中任一项所述的通用分布式选主的方法。
技术总结本说明书公开了一种通用分布式选主的方法、系统和装置,涉及分布式选主领域,包括:基于raft算法获取第一候选服务器;获取客户端需求,并根据所述客户端需求从第一候选服务器确定第二候选服务器;调整各从属服务器、第一候选服务器和第二候选服务器的逻辑时钟;基于候选服务器和预设选举时间模型,并调整从属服务器和第二候选服务器的逻辑时钟,确定主服务器,所述主服务器用于表征指定选主服务器的选主结果。基于此,解决了raft选主在多服务器同时选主后无法人为指定某个服务器为主的问题。技术研发人员:刘洋,付惠惠,姜翰受保护的技术使用者:航天科工网络信息发展有限公司技术研发日:技术公布日:2024/7/23本文地址:https://www.jishuxx.com/zhuanli/20240801/242115.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表