本发明涉及主从切换,具体而言,涉及一种主备节点的切换方法、装置、存储介质及电子设备。
背景技术:
1、为了应对业务规模和业务复杂性的增长,众多系统的节点(例如,服务器,存储设备等)采用主从架构,当主节点宕机时,备用的从节点能够接管其工作负载并保持服务的正常运行,以确保系统的高可用性和稳定性。
2、而随着集群技术的发展,集群系统内多节点可以进行数据同步,具有更高的可靠性。一般情况下,集群内只设置一个主节点,由主节点进行业务处理,其余节点均为备用节点。但由于存在多个节点,当出现网络波动时,可能出现多个存在主节点的情况,导致数据不一致的问题。
技术实现思路
1、为解决上述问题,本发明实施例的目的在于提供一种主备节点的切换方法、装置、存储介质及电子设备。
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、第四方面,本发明实施例还提供了一种电子设备,包括:
36、至少一个处理器;以及,
37、与所述至少一个处理器通信连接的存储器;其中,
38、所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述任意一项所述的主备节点的切换方法。
39、本发明实施例上述第一方面提供的方案中,在需要将第一节点作为主节点时,需要第一节点申请主节点的排他锁,在获取到主节点唯一的排他锁之后,才可以作为主节点提供服务;在第一节点不再适用于作为主节点时,也需要释放排他锁,保证排他锁的唯一性。通过这种方式,可以保证集群内只有一个主节点,有效避免出现多主节点的问题。
40、为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
1.一种主备节点的切换方法,其特征在于,应用于第一节点,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,还包括:
3.根据权利要求2所述的方法,其特征在于,所述向锁服务器申请主节点的排他锁,包括:
4.根据权利要求1所述的方法,其特征在于,所述释放所述排他锁,并将节点状态降为备用状态或初始状态,包括:
5.根据权利要求1所述的方法,其特征在于,还包括:
6.根据权利要求1至5中任一项所述的方法,其特征在于,在所述将节点状态升为主状态之后,还包括:
7.根据权利要求6所述的方法,其特征在于,所述与当前处于备用状态的节点进行数据同步,包括:
8.一种主备节点的切换装置,其特征在于,应用于第一节点,包括:
9.一种计算机存储介质,其特征在于,所述计算机存储介质存储有计算机可执行指令,所述计算机可执行指令用于执行权利要求1至7任意一项所述的主备节点的切换方法。
10.一种电子设备,其特征在于,包括: