本发明涉及数据库领域,特别是涉及数据库集群的故障转移方法、存储介质及设备。
背景技术:
1、信息化时代下,随着智能手机的普及,人们的生活与智能手机上app提供的信息服务越来越密切。因此,对提供信息服务的信息系统的稳定性和及时性要求越来越高,尤其是大型平台系统、民生系统及金融支付相关的系统,因此对与应用系统关联的数据库的可能性、及时性、稳定性提出了很高的要求。
2、为了提高数据库系统的稳定性,各行业一般在数据库服务端采用热备集群的方式,在故障发生或能快速的启动备份数据库来提供服务。
3、传统的提高可用性的方中,服务端部署热备集群。当某个主机故障后能快速主备切换,保证服务正常。客户端在原有故障连接上的执行出错,需要应用程序重新启动或重启服务来保证服务正常。此方案的缺点为无法快速发现主机或网络中的故障,位于客户端的应用程序需要手动参与处理,重启应用程序或服务,增加了人力成本以及服务的恢复时间。以及无法处理运行时的故障,即在执行任务的过程中,网络发生故障,往往会等待几分钟到几十分钟的超时。
技术实现思路
1、本发明的一个目的是要提供一种能够解决上述任一问题的数据库集群的故障转移方法、存储介质及设备。
2、本发明一个进一步的目的是要提高数据库集群的故障转移效率。
3、特别地,本发明提供了一种数据库集群的故障转移方法,该数据库集群的故障转移方法包括:
4、建立主连接与备连接,主连接用于连接应用程序与数据库集群的主节点,并为应用程序的提供服务,备连接用于连接应用程序与数据库集群的备节点,并在主连接提供服务时保持空闲;
5、判断数据库集群的主节点是否发生故障;
6、若是,则进行主备节点切换,主连接降级为空闲备连接,备连接升级为服务主连接,为应用程序提供服务。
7、进一步地,判断数据库集群的主节点是否发生故障的步骤包括:
8、判断是否发生发送数据超时事件;
9、若是,则确定数据集群的主节点发生故障。
10、进一步地,判断数据库集群的主节点是否发生故障的步骤还包括:
11、判断是否发生等待响应超时事件;
12、若是,则确定数据集群的主节点发生故障。
13、进一步地,进行主备节点切换的步骤之后还包括:
14、尝试恢复故障的空闲备连接。
15、进一步地,尝试恢复故障的空闲备连接的步骤包括:
16、间隔第一预设时间尝试重新连接空闲备连接。
17、进一步地,等待预设时间尝试重新连接空闲备连接的步骤包括:
18、在预设时间阈值内等待第一预设时间尝试重新连接空闲备连接。
19、进一步地,若尝试结果为失败,在预设时间阈值后等待第二预设时间尝试重新连接空闲备连接。
20、进一步地,预设时间设置为2n秒。
21、第一预设时间阈值设置为1~3小时。
22、本发明还提供一种机器可读存储介质,其上存储有机器可执行程序,机器可执行程序被处理器执行上述的数据库集群的故障转移方法。
23、本发明还提供一种计算机设备,包括存储器、处理器及存储在存储器上并在处理器上运行的机器可执行程序,并且处理器执行机器可执行程序时实现上述数据库集群的故障转移方法。
24、本发明的数据库集群的故障转移方法,包括:建立主连接与备连接,主连接用于连接应用程序与数据库集群的主节点,并为应用程序的提供服务,用于连接应用程序与数据库集群的备节点,并在主连接提供服务时保持空闲;判断数据库集群的主节点是否发生网络故障;若是,则进行主备节点切换,主连接降级为空闲备连接,备连接升级为服务主连接,为应用程序提供服务。本发明的数据库集群的故障转移方法始终保持两个正常的连接,当主连接故障后,自动降为备连接,原备连接升为主连接继续工作,从而将工作连接转移到正常的连接上,以此达到快速故障切换功能。
25、根据下文结合附图对本发明具体实施例的详细描述,本领域技术人员将会更加明了本发明的上述以及其他目的、优点和特征。
1.一种数据库集群的故障转移方法,包括:
2.根据权利要求1所述的数据库集群的故障转移方法,其中,所述判断数据库集群的主节点是否发生故障的步骤包括:
3.根据权利要求1所述的数据库集群的故障转移方法,其中,所述判断数据库集群的主节点是否发生故障的步骤还包括:
4.根据权利要求1所述的数据库集群的故障转移方法,其中,所述进行主备节点切换的步骤之后还包括:
5.根据权利要求4所述的数据库集群的故障转移方法,其中,所述尝试恢复故障的所述空闲备连接的步骤包括:
6.根据权利要求5所述的数据库集群的故障转移方法,其中,所述等待预设时间尝试重新连接所述空闲备连接的步骤包括:
7.根据权利要求6所述的数据库集群的故障转移方法,其中,若尝试结果为失败,在预设时间阈值后等待所述第二预设时间尝试重新连接所述空闲备连接。
8.根据权利要求7所述的数据库集群的故障转移方法,其中,
9.一种机器可读存储介质,其上存储有机器可执行程序,所述机器可执行程序被处理器执行时实现根据权利要求1至8任一项所述的数据库集群的故障转移方法。
10.一种计算机设备,包括存储器、处理器及存储在所述存储器上并在所述处理器上运行的机器可执行程序,并且所述处理器执行所述机器可执行程序时实现根据权利要求1至8任一项所述的数据库集群的故障转移方法。