System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及数据库开发,尤其涉及一种数据库故障检测方法和装置、电子设备及存储介质。
技术介绍
1、相关技术中,基于心跳检测技术对数据库进行故障检测,来判断数据库是否故障。但是心跳检测会由于一些因素的影响,例如数据库负载较高无法及时响应心跳信号,导致误判数据库故障。如何提高数据库故障检测的准确性,成为了亟待解决的问题。
技术实现思路
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、本申请提出的数据库故障检测方法、数据库故障检测装置、电子设备及计算机可读存储介质,通过对数据库集群进行心跳检测,判断数据库存在故障的可能性,得到心跳信息。若心跳信息表征主数据库心跳检测失败,说明主数据库可能存在故障,需要进一步确定主数据库是否故障,则根据心跳信息获取心跳检测成功的从数据库,得到目标从数据库。为了提高数据库故障检测的准确性,获取主数据库与目标从数据库之间的数据同步链路状态信息,将心跳信息和数据同步链路状态信息二者结合起来进行数据库故障检测。若数据同步链路状态信息表征主数据库与所有目标从数据库之间的数据同步链路均断开,则确定主数据库处于故障状态,通过心跳信息和数据同步链路状态信息的双重判断提高了数据库故障检测的准确性。
本文档来自技高网...【技术保护点】
1.数据库故障检测方法,其特征在于,所述方法包括:
2.根据权利要求1所述的数据库故障检测方法,其特征在于,在所述若所述数据同步链路状态信息表征所述主数据库与所有所述目标从数据库之间的数据同步链路均断开,则确定所述主数据库处于故障状态之后,所述数据库故障检测方法还包括:
3.根据权利要求2所述的数据库故障检测方法,其特征在于,所述从所述目标从数据库选取候选临时主数据库,包括:
4.根据权利要求2所述的数据库故障检测方法,其特征在于,所述对除所述候选临时主数据库之外的其他所述目标从数据库进行数据库分类,得到从数据库类型,包括:
5.根据权利要求2所述的数据库故障检测方法,其特征在于,在所述根据所述从数据库类型更新其他所述目标从数据库与所述候选临时主数据库之间的数据同步关系,并根据所述数据同步关系进行数据同步之后,所述数据库故障检测方法还包括:
6.根据权利要求5所述的数据库故障检测方法,其特征在于,所述若所述合法性检测信息表征所述候选临时主数据库合法性检测失败,则从其他所述目标从数据库选取目标主数据库,包括:
8.数据库故障检测装置,其特征在于,所述装置包括:
9.电子设备,其特征在于,所述电子设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现权利要求1至7任一项所述的数据库故障检测方法。
10.计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7任一项所述的数据库故障检测方法。
...【技术特征摘要】
1.数据库故障检测方法,其特征在于,所述方法包括:
2.根据权利要求1所述的数据库故障检测方法,其特征在于,在所述若所述数据同步链路状态信息表征所述主数据库与所有所述目标从数据库之间的数据同步链路均断开,则确定所述主数据库处于故障状态之后,所述数据库故障检测方法还包括:
3.根据权利要求2所述的数据库故障检测方法,其特征在于,所述从所述目标从数据库选取候选临时主数据库,包括:
4.根据权利要求2所述的数据库故障检测方法,其特征在于,所述对除所述候选临时主数据库之外的其他所述目标从数据库进行数据库分类,得到从数据库类型,包括:
5.根据权利要求2所述的数据库故障检测方法,其特征在于,在所述根据所述从数据库类型更新其他所述目标从数据库与所述候选临时主数据库之间的数据同步关系,并根据所述数据同步关系进行数据...
【专利技术属性】
技术研发人员:闵建兵,
申请(专利权)人:云和恩墨北京信息技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。