数据库集群的故障处理方法、装置及终端制造方法及图纸

技术编号:19067326 阅读:26 留言:0更新日期:2018-09-29 14:42
本发明专利技术实施例公开了一种数据库集群的故障处理方法、装置及终端,其中,数据库集群的故障处理方法包括:基于健康检查函数对MGR集群中的当前主节点的连接状态进行检查,其中,所述主节点与域名系统对应设置,为所述域名系统提供读写域名系统服务;当检查到当前域名系统与所述当前主节点发生连接故障时,获取与所述当前主节点对应的目标主节点;基于域名切换函数将所述当前主节点切换为所述目标主节点,并建立当前域名系统与所述目标主节点之间的对应关系。本发明专利技术实施例的技术方案,能够解决现有的数据库集群的故障修复比较耗费人力物力以及故障修复时间不确定等技术问题,自动快速地处理数据库集群的连接层故障。

【技术实现步骤摘要】
数据库集群的故障处理方法、装置及终端
本专利技术实施例涉及
,尤其涉及一种数据库集群的故障处理方法、装置及终端。
技术介绍
MySQLGroupReplication(简称MGR)是MySQL推出的全新的高可用和高扩张的MySQL集群服务,基于原生复制及paxos协议的组复制技术在数据的强一致性和性能上都得到了极大的提升。但是,这种高可用集群只是后端数据库的一种高可用,对于连接层并不能真正实现高可用。当MGR的当前主节点发生故障时,一种解决方案是系统会通过监控手段通知数据库管理员(DatabaseAdministrator,DBA),由DBA通过手工检查,告知开发新的主节点的IP地址,最后由开发或者运维来手工调整代码中配置的数据库连接地址。这种方法的缺点是需要24小时监控,遇到突发情况立即需要协调开发部门、运维部门,以及DBA部门人工介入处理,所以很难快速及时地实现故障恢复。另一种解决方案是在开发的代码中配置集群的所有节点的信息,连接数据库发生错误的时候去判断集群中的哪一个实例为主节点,再重定向连接。这种方法的缺点是需要对现已成型的代码进行改造,改造所需花费的时间成本根据现有代码的规模而定,并且每一次集群的伸缩都需要附带进行代码配置的更新,非常麻烦。
技术实现思路
本专利技术实施例提供了一种数据库集群的故障处理方法、装置及终端,以解决现有的数据库集群的故障修复比较耗费人力物力以及故障修复时间不确定等技术问题,实现自动快速地处理数据库集群的连接层故障。第一方面,本专利技术实施例提供了一种数据库集群的故障处理方法,该方法包括:基于健康检查函数对MGR集群中的当前主节点的连接状态进行检查,其中,所述主节点与域名系统对应设置,为所述域名系统提供读写域名系统服务;当检查到当前域名系统与所述当前主节点发生连接故障时,获取与所述当前主节点对应的目标主节点;基于域名切换函数将所述当前主节点切换为所述目标主节点,并建立当前域名系统与所述目标主节点之间的对应关系。第二方面,本专利技术实施例还提供了一种数据库集群的故障处理装置,该装置包括:检查模块,用于基于健康检查函数对MGR集群中的当前主节点的连接状态进行检查,其中,所述主节点与域名系统对应设置,为所述域名系统提供读写域名系统服务;目标主节点获取模块,用于当检查到当前域名系统与所述当前主节点发生连接故障时,获取与所述当前主节点对应的目标主节点;对应关系建立模块,用于基于域名切换函数将所述当前主节点切换为所述目标主节点,并建立当前域名系统与所述目标主节点之间的对应关系。第三方面,本专利技术实施例还提供了一种终端,所述终端包括:一个或多个处理器;存储器,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本专利技术任一实施例所述的数据库集群的故障处理方法。本专利技术实施例的技术方案,通过健康检查函数对MGR集群中的当前主节点的连接状态进行检查,能够在发生故障时及时发现,争取恢复时间;当检查到当前域名系统与所当前主节点发生连接故障时,获取与当前主节点对应的目标主节点,即在当前主节点连接故障时能够自动获取可用的目标主节点,然后基于域名切换函数将当前主节点切换为目标主节点,并建立当前域名系统与所述目标主节点之间的对应关系,使得用户依然能够当前域名系统连接主节点的读写服务,能够解决现有的数据库集群的故障修复比较耗费人力物力以及故障修复时间不确定等技术问题,无需人工介入,节省人力物理成本,而且能够在用户对故障无感知的情况下,自动快速地处理数据库集群的连接层故障,极大地提升了用户体验。附图说明为了更加清楚地说明本专利技术示例性实施例的技术方案,下面对描述实施例中所需要用到的附图做一简单介绍。显然,所介绍的附图只是本专利技术所要描述的一部分实施例的附图,而不是全部的附图,对于本领域普通技术人员,在不付出创造性劳动的前提下,还可以根据这些附图得到其他的附图。图1是本专利技术实施例一所提供的一种数据库集群的故障处理方法的流程示意图;图2是本专利技术实施例二所提供的一种数据库集群的故障处理方法的优选实例的流程示意图;图3是本专利技术实施例是三所提供的一种数据库集群的故障处理装置的结构示意图;图4是本专利技术实施例四所提供的一种终端的结构示意图。具体实施方式下面结合附图和实施例对本专利技术作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本专利技术,而非对本专利技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本专利技术相关的部分而非全部结构。实施例一图1为本专利技术实施例一所提供的一种数据库集群的故障处理方法的流程图,本实施例可适用于要求高效实现故障恢复的情况,该方法可以由数据库集群的故障处理装置来执行,该装置可通过硬件和/或软件的方式实现,并一般可配置于服务器中实现本实施例的方法。如图1所示,本实施例的数据库集群的故障处理方法具体包括:S110、基于健康检查函数对MGR集群中的当前主节点的连接状态进行检查。在实际数据库应用中,系统后端可以根据实际需求配置一个或者多个集群,MGR集群通常包括至少三个实例也可以说是包括至少三个节点。每个集群对应提供两种域名系统(DomainNameSystem,DNS)服务,分别为读写DNS服务和只读DNS服务。其中,MGR集群的主节点与域名系统对应设置,为所述域名系统提供读写域名系统服务。从节点用于提供只读域名系统服务。在同一集群中从节点可以配置有多个。在本实施例中,可以通过DNS配置函数配置DNS,对后端数据库表中所定义的集群进行维护。当系统中存在多个从节点时,为了实现读节点的负载均衡,可通过bind的方式进行轮询。即,在DNS服务器中为同一个域名配置多个IP地址,在响应DNS查询时,DNS服务器对每个查询将以DNS文件中主机记录的IP地址按顺序返回不同的解析结果,将客户端的访问引导到不同的计算机上去,从而达到负载均衡的目的。为了方便查询系统当前配置的主节点以及与主节点对应的从节点,可以将MGR集群当前主节点所对应的网际协议地址(InternetProtocolAddress,IP)以及与所述当前主节点对应的至少两个当前从节点分别对应的网际协议地址,存储于配置表中。需要说明的是,不配置表中可以存储但不仅限于存储有各节点以及各节点对应的IP。配置表中可以存储该集群中所有实例的信息。可选地,基于健康检查函数对MGR集群中的当前主节点的连接状态进行检查,可以是基于健康检查函数实时对MGR集群中的当前主节点的连接状态进行检查,还可以基于健康检查函数定期或者不定期对MGR集群中的当前主节点的连接状态进行检查。示例性地,基于健康检查函数定期对MGR集群中的当前主节点的连接状态进行检查,具体可以,基于心跳控制函数的心跳时间确定健康检查函数的发起时间,进而根据所述发起时间发起健康检查函数,对MGR集群中的当前主节点的连接状态进行检查。其中,心跳时间的具体数值可以根据实际需求进行设置,如,30毫秒,1秒,3或5秒等,在此不做限定。S120、当检查到当前域名系统与所述当前主节点发生连接故障时,获取与所述当前主节点对应的目标主节点。在本专利技术实施例中,当所述当前主节点发生故障时,根据MySQL的内部推选机制从所述至少两个从节点中推选出一个从节点作为目标主节点本文档来自技高网...

【技术保护点】
1.一种数据库集群的故障处理方法,其特征在于,包括:基于健康检查函数对MGR集群中的当前主节点的连接状态进行检查,其中,所述主节点与域名系统对应设置,为所述域名系统提供读写域名系统服务;当检查到当前域名系统与所述当前主节点发生连接故障时,获取与所述当前主节点对应的目标主节点;基于域名切换函数将所述当前主节点切换为所述目标主节点,并建立当前域名系统与所述目标主节点之间的对应关系。

【技术特征摘要】
1.一种数据库集群的故障处理方法,其特征在于,包括:基于健康检查函数对MGR集群中的当前主节点的连接状态进行检查,其中,所述主节点与域名系统对应设置,为所述域名系统提供读写域名系统服务;当检查到当前域名系统与所述当前主节点发生连接故障时,获取与所述当前主节点对应的目标主节点;基于域名切换函数将所述当前主节点切换为所述目标主节点,并建立当前域名系统与所述目标主节点之间的对应关系。2.根据权利要求1所述的方法,其特征在于,还包括:将MGR集群当前主节点所对应的网际协议地址,以及与所述当前主节点对应的至少两个当前从节点分别对应的网际协议地址,存储于配置表中;其中,所述从节点用于提供只读域名系统服务。3.根据权利要求2所述的方法,其特征在于,在获取与所述当前主节点对应的目标主节点之前,还包括:当所述当前主节点发生故障时,根据MySQL的内部推选机制从所述至少两个从节点中推选出一个从节点作为目标主节点,并确定与所述目标主节点对应的目标从节点;将所述目标主节点对应的第一目标网际协议地址和第一目标端口,以及与所述目标从节点对应的第二目标网际协议地址和第二目标端口,分别存储于MySQL用于记录数据库服务器性能参数的内置库中的集群成员表中。4.根据权利要求3所述的方法,其特征在于,所述检查到与所述数据库对应的主节点发生连接故障,包括:从所述集群成员表中读取与所述目标主节点对应的第一目标网际协议地址;检查到所述第一目标网际协议地址和所述配置表中的所述当前主节点对应的网际协议地址不一致。5.根据权利要求3所述的方法,其特征在于,所述检查到与所述数据库对应的主节点发生连接故障,包括:从所述集群成员表中读取与所述目标从节点对应的第二目标网际协议地址;检查到所述第二目...

【专利技术属性】
技术研发人员:陈阳陈少杰张文明
申请(专利权)人:武汉斗鱼网络科技有限公司
类型:发明
国别省市:湖北,42

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1