数据库异常确定方法、装置、介质及电子设备与流程

文档序号:40146395发布日期:2024-11-29 15:33阅读:20来源:国知局
数据库异常确定方法、装置、介质及电子设备与流程

本发明涉及数据处理的,具体而言,涉及一种数据库异常确定方法、装置、介质及电子设备。


背景技术:

1、为了保证数据库连续性,需要实时确定主数据库和备数据库是否存在异常,当主数据库存在异常,需要利用正常状态的备数据库替换存在异常的主数据库。目前,采用单点检测或多点检测的方法确定主数据库和备数据库是否存在异常,以此方式需要重复多次检测来确定主数据库和备数据库是否存在异常。例如,采用多个检测程序对主数据库和备数据库进行检测,或采用一个检测程序对主数据库和备数据库进行检测,以上两种方式检测效率和准确性不容易同时得到保证,提高检测效率,容易降低检测的准确性,提高检测准确性,则会影响探测效率。

2、需要说明的是,在上述背景技术部分公开的信息仅用于加强对本发明的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。


技术实现思路

1、本发明实施例的目的在于提供一种数据库异常确定方法、装置、介质及电子设备,进而至少可以在一定程度上可以快速准确的从拓扑图中确定出存在异常的数据库。

2、本发明的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本发明的实践而习得。

3、根据本发明实施例的第一方面,提供了一种数据库异常确定方法,包括:获取数据库集群的拓扑图,所述拓扑图用于反映所述数据库集群中各数据库节点之间的关联关系;对目标父节点执行读操作,得到所述目标父节点的读状态,所述目标父节点为所述各数据库节点中任一存在子节点的数据库节点;对目标子节点执行读操作,得到所述目标子节点的读状态,所述目标子节点为所述目标父节点的所有子节点;根据所述目标子节点的读状态,获取所述目标子节点的数据同步状态;根据所述目标父节点的读状态、所述目标子节点的读状态和数据同步状态,确定所述目标父节点是否存在异常。

4、在本发明的一些实施例中,根据所述目标父节点的读状态、所述目标子节点的读状态和数据同步状态,确定所述目标父节点是否存在异常包括:如果所述目标父节点的读状态为不可读、所述目标子节点的读状态为可读、以及所述目标子节点的数据同步状态为异常,确定所述目标父节点存在异常;或者如果所述目标父节点的读状态为不可读、所述目标子节点的读状态为可读、以及所述目标子节点的数据同步状态为正常,确定所述目标父节点不存在异常。

5、在本发明的一些实施例中,该方法还包括:对所述目标父节点执行写操作,得到所述目标父节点的写状态;对所述目标子节点执行写操作,得到所述目标子节点的写状态;在所述目标父节点的读状态为可读、所述目标子节点的读状态为可读、以及所述目标子节点的数据同步状态为正常的情况下,根据所述目标父节点的写状态和所述目标子节点的写状态,确定所述目标父节点是否存在异常。

6、在本发明的一些实施例中,根据所述目标父节点的写状态和所述目标子节点的写状态,确定所述目标父节点是否存在异常包括:如果所述目标父节点的写状态为不可写,所述目标子节点的写状态为可写,确定所述目标父节点存在异常;或者如果所述目标父节点的写状态为不可写,所述目标子节点的写状态为不可写,确定所述目标父节点不存在异常。

7、在本发明的一些实施例中,在所述目标父节点的写状态为不可写且所述目标子节点的写状态为可写的情况下,该方法还包括:继续对所述目标父节点执行写操作,得到所述目标父节点的写状态;继续对所述目标子节点执行写操作,得到所述目标子节点的写状态;如果所述目标父节点的写状态仍为不可写,所述目标子节点的写状态仍为可写,确定所述目标父节点存在异常。

8、在本发明的一些实施例中,该方法包括:如果所述目标父节点的写状态仍为不可写,且所述目标子节点的写状态为不可写,确定所述目标子节点存在异常。

9、在本发明的一些实施例中,在不同拓扑结构的拓扑图中,所述目标父节点为主数据库节点或备数据库节点,所述目标子节点为备数据库节点。

10、根据本发明实施例的第二方面,提供了一种数据库异常确定装置,包括:拓扑图获取模块,用于获取数据库集群的拓扑图,所述拓扑图用于反映所述数据库集群中各数据库节点之间的关联关系;第一执行读操作模块,用于对目标父节点执行读操作,得到所述目标父节点的读状态,所述目标父节点为所述各数据库节点中任一存在子节点的数据库节点;第二执行读操作模块,用于对目标子节点执行读操作,得到所述目标子节点的读状态,所述目标子节点为所述目标父节点的所有子节点;数据同步状态获取模块,用于根据所述目标子节点的读状态,获取所述目标子节点的数据同步状态;第一异常确定模块,用于根据所述目标父节点的读状态、所述目标子节点的读状态和数据同步状态,确定所述目标父节点是否存在异常。

11、在本发明的一些实施例中,上述第一异常确定模块被配置为:如果所述目标父节点的读状态为不可读、所述目标子节点的读状态为可读、以及所述目标子节点的数据同步状态为异常,确定所述目标父节点存在异常;或者如果所述目标父节点的读状态为不可读、所述目标子节点的读状态为可读、以及所述目标子节点的数据同步状态为正常,确定所述目标父节点不存在异常。

12、在本发明的一些实施例中,该装置还包括:第一执行写操作模块,用于对所述目标父节点执行写操作,得到所述目标父节点的写状态;第二执行写操作模块,用于对所述目标子节点执行写操作,得到所述目标子节点的写状态;第二异常确定模块,用于在所述目标父节点的读状态为可读、所述目标子节点的读状态为可读、以及所述目标子节点的数据同步状态为正常的情况下,根据所述目标父节点的写状态和所述目标子节点的写状态,确定所述目标父节点是否存在异常。

13、在本发明的一些实施例中,上述第二异常确定模块被配置为:如果所述目标父节点的写状态为不可写,所述目标子节点的写状态为可写,确定所述目标父节点存在异常;或者如果所述目标父节点的写状态为不可写,所述目标子节点的写状态为不可写,确定所述目标父节点不存在异常。

14、在本发明的一些实施例中,在所述目标父节点的写状态为不可写且所述目标子节点的写状态为可写的情况下,该装置还包括:第三执行写操作模块,用于继续对所述目标父节点执行写操作,得到所述目标父节点的写状态;第四执行写操作模块,用于继续对所述目标子节点执行写操作,得到所述目标子节点的写状态;第三异常确定模块,用于如果所述目标父节点的写状态仍为不可写,所述目标子节点的写状态仍为可写,确定所述目标父节点存在异常。

15、在本发明的一些实施例中,该装置包括:第四异常确定模块,用于如果所述目标父节点的写状态仍为不可写,且所述目标子节点的写状态为不可写,确定所述目标子节点存在异常。

16、在本发明的一些实施例中,在不同拓扑结构的拓扑图中,所述目标父节点为主数据库节点或备数据库节点,所述目标子节点为备数据库节点。

17、根据本发明实施例的第三方面,提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上述实施例中第一方面所述的数据库异常确定方法。

18、根据本发明实施例的第四方面,提供了一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现如上述实施例中第一方面所述的数据库异常确定方法。

19、本发明实施例提供的技术方案可以包括以下有益效果:

20、在本发明的一些实施例所提供的技术方案中,获取数据库集群的拓扑图,该拓扑图用于反映所述数据库集群中各数据库节点之间的关联关系;对目标父节点执行读操作,得到目标父节点的读状态,所述目标父节点为所述各数据库节点中任一存在子节点的数据库节点,对目标子节点执行读操作,得到所述目标子节点的读状态,所述目标子节点为目标父节点的所有子节点,然后根据目标子节点的读状态,获取目标子节点的数据同步状态,并根据目标父节点的读状态、所述目标子节点的读状态和数据同步状态,确定目标父节点是否存在异常,以此方式可以快速准确的从拓扑图中确定出存在异常的数据库。

21、应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1