CN108599996A - 数据库集群的故障处理方法、装置及终端 - Google Patents

数据库集群的故障处理方法、装置及终端 Download PDF

Info

Publication number
CN108599996A
CN108599996A CN201810289827.7A CN201810289827A CN108599996A CN 108599996 A CN108599996 A CN 108599996A CN 201810289827 A CN201810289827 A CN 201810289827A CN 108599996 A CN108599996 A CN 108599996A
Authority
CN
China
Prior art keywords
node
target
domain name
host node
current primary
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201810289827.7A
Other languages
English (en)
Inventor
陈阳
陈少杰
张文明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuhan Douyu Network Technology Co Ltd
Original Assignee
Wuhan Douyu Network Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Wuhan Douyu Network Technology Co Ltd filed Critical Wuhan Douyu Network Technology Co Ltd
Priority to CN201810289827.7A priority Critical patent/CN108599996A/zh
Publication of CN108599996A publication Critical patent/CN108599996A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1464Management of the backup or restore process for networked environments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • H04L41/0668Management of faults, events, alarms or notifications using network fault recovery by dynamic selection of recovery network elements, e.g. replacement by the most appropriate element after failure

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)

Abstract

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

Description

数据库集群的故障处理方法、装置及终端
技术领域
本发明实施例涉及技术领域,尤其涉及一种数据库集群的故障处理方法、装置及终端。
背景技术
MySQL Group Replication(简称MGR)是MySQL推出的全新的高可用和高扩张的MySQL集群服务,基于原生复制及paxos协议的组复制技术在数据的强一致性和性能上都得到了极大的提升。但是,这种高可用集群只是后端数据库的一种高可用,对于连接层并不能真正实现高可用。
当MGR的当前主节点发生故障时,一种解决方案是系统会通过监控手段通知数据库管理员(Database Administrator,DBA),由DBA通过手工检查,告知开发新的主节点的IP地址,最后由开发或者运维来手工调整代码中配置的数据库连接地址。这种方法的缺点是需要24小时监控,遇到突发情况立即需要协调开发部门、运维部门,以及DBA部门人工介入处理,所以很难快速及时地实现故障恢复。
另一种解决方案是在开发的代码中配置集群的所有节点的信息,连接数据库发生错误的时候去判断集群中的哪一个实例为主节点,再重定向连接。这种方法的缺点是需要对现已成型的代码进行改造,改造所需花费的时间成本根据现有代码的规模而定,并且每一次集群的伸缩都需要附带进行代码配置的更新,非常麻烦。
发明内容
本发明实施例提供了一种数据库集群的故障处理方法、装置及终端,以解决现有的数据库集群的故障修复比较耗费人力物力以及故障修复时间不确定等技术问题,实现自动快速地处理数据库集群的连接层故障。
第一方面,本发明实施例提供了一种数据库集群的故障处理方法,该方法包括:
基于健康检查函数对MGR集群中的当前主节点的连接状态进行检查,其中,所述主节点与域名系统对应设置,为所述域名系统提供读写域名系统服务;
当检查到当前域名系统与所述当前主节点发生连接故障时,获取与所述当前主节点对应的目标主节点;
基于域名切换函数将所述当前主节点切换为所述目标主节点,并建立当前域名系统与所述目标主节点之间的对应关系。
第二方面,本发明实施例还提供了一种数据库集群的故障处理装置,该装置包括:
检查模块,用于基于健康检查函数对MGR集群中的当前主节点的连接状态进行检查,其中,所述主节点与域名系统对应设置,为所述域名系统提供读写域名系统服务;
目标主节点获取模块,用于当检查到当前域名系统与所述当前主节点发生连接故障时,获取与所述当前主节点对应的目标主节点;
对应关系建立模块,用于基于域名切换函数将所述当前主节点切换为所述目标主节点,并建立当前域名系统与所述目标主节点之间的对应关系。
第三方面,本发明实施例还提供了一种终端,所述终端包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本发明任一实施例所述的数据库集群的故障处理方法。
本发明实施例的技术方案,通过健康检查函数对MGR集群中的当前主节点的连接状态进行检查,能够在发生故障时及时发现,争取恢复时间;当检查到当前域名系统与所当前主节点发生连接故障时,获取与当前主节点对应的目标主节点,即在当前主节点连接故障时能够自动获取可用的目标主节点,然后基于域名切换函数将当前主节点切换为目标主节点,并建立当前域名系统与所述目标主节点之间的对应关系,使得用户依然能够当前域名系统连接主节点的读写服务,能够解决现有的数据库集群的故障修复比较耗费人力物力以及故障修复时间不确定等技术问题,无需人工介入,节省人力物理成本,而且能够在用户对故障无感知的情况下,自动快速地处理数据库集群的连接层故障,极大地提升了用户体验。
附图说明
为了更加清楚地说明本发明示例性实施例的技术方案,下面对描述实施例中所需要用到的附图做一简单介绍。显然,所介绍的附图只是本发明所要描述的一部分实施例的附图,而不是全部的附图,对于本领域普通技术人员,在不付出创造性劳动的前提下,还可以根据这些附图得到其他的附图。
图1是本发明实施例一所提供的一种数据库集群的故障处理方法的流程示意图;
图2是本发明实施例二所提供的一种数据库集群的故障处理方法的优选实例的流程示意图;
图3是本发明实施例是三所提供的一种数据库集群的故障处理装置的结构示意图;
图4是本发明实施例四所提供的一种终端的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1为本发明实施例一所提供的一种数据库集群的故障处理方法的流程图,本实施例可适用于要求高效实现故障恢复的情况,该方法可以由数据库集群的故障处理装置来执行,该装置可通过硬件和/或软件的方式实现,并一般可配置于服务器中实现本实施例的方法。
如图1所示,本实施例的数据库集群的故障处理方法具体包括:
S110、基于健康检查函数对MGR集群中的当前主节点的连接状态进行检查。
在实际数据库应用中,系统后端可以根据实际需求配置一个或者多个集群,MGR集群通常包括至少三个实例也可以说是包括至少三个节点。每个集群对应提供两种域名系统(Domain Name System,DNS)服务,分别为读写DNS服务和只读DNS服务。其中,MGR集群的主节点与域名系统对应设置,为所述域名系统提供读写域名系统服务。从节点用于提供只读域名系统服务。在同一集群中从节点可以配置有多个。在本实施例中,可以通过DNS配置函数配置DNS,对后端数据库表中所定义的集群进行维护。
当系统中存在多个从节点时,为了实现读节点的负载均衡,可通过bind的方式进行轮询。即,在DNS服务器中为同一个域名配置多个IP地址,在响应DNS查询时,DNS服务器对每个查询将以DNS文件中主机记录的IP地址按顺序返回不同的解析结果,将客户端的访问引导到不同的计算机上去,从而达到负载均衡的目的。
为了方便查询系统当前配置的主节点以及与主节点对应的从节点,可以将MGR集群当前主节点所对应的网际协议地址(Internet Protocol Address,IP)以及与所述当前主节点对应的至少两个当前从节点分别对应的网际协议地址,存储于配置表中。需要说明的是,不配置表中可以存储但不仅限于存储有各节点以及各节点对应的IP。配置表中可以存储该集群中所有实例的信息。
可选地,基于健康检查函数对MGR集群中的当前主节点的连接状态进行检查,可以是基于健康检查函数实时对MGR集群中的当前主节点的连接状态进行检查,还可以基于健康检查函数定期或者不定期对MGR集群中的当前主节点的连接状态进行检查。
示例性地,基于健康检查函数定期对MGR集群中的当前主节点的连接状态进行检查,具体可以,基于心跳控制函数的心跳时间确定健康检查函数的发起时间,进而根据所述发起时间发起健康检查函数,对MGR集群中的当前主节点的连接状态进行检查。其中,心跳时间的具体数值可以根据实际需求进行设置,如,30毫秒,1秒,3或5秒等,在此不做限定。
S120、当检查到当前域名系统与所述当前主节点发生连接故障时,获取与所述当前主节点对应的目标主节点。
在本发明实施例中,当所述当前主节点发生故障时,根据MySQL的内部推选机制从所述至少两个从节点中推选出一个从节点作为目标主节点,并确定与所述目标主节点对应的目标从节点;将所述目标主节点对应的第一目标网际协议地址和第一目标端口,以及与所述目标从节点对应的第二目标网际协议地址和第二目标端口,分别存储于MySQL用于记录数据库服务器性能参数的内置库中的集群成员表中。其中,内部推选机制可以是预先设定好的从数据库集群的各节点中筛选主节点的条件,例如该节点中数据库中数据更新时间等。
示例性地,可以在监控到主节点故障时,提升其中拥有最新数据的从节点成为新的主节点,即目标主节点。在此期间,还可以通过于其他从节点获取额外信息来避免一致性方面的问题。进一步地,还可以通过在线切换功能按需切换主节点和从节点。
可选地,将目标主节点对应的第一目标网际协议地址和第一目标端口,以及与目标从节点对应的第二目标网际协议地址和第二目标端口,分别存储于MySQL内置库performance_schema中的replication_group_members表中。在此基础上,还可进一步通过MySQL内置库performance_schema中的集群成员状态表replication_group_member_stats来判断各节点的状态。
在本发明实施例中,可选是通过比对配置表和数据库成员表所存储的数据来检查到当前域名系统与当前主节点是否发生连接故障。
具体可以是从所述集群成员表中读取与所述目标主节点对应的第一目标网际协议地址,若检查到所述第一目标网际协议地址和所述配置表中的所述当前主节点对应的网际协议地址不一致,则认为检查到当前域名系统与所述当前主节点发生连接故障;还可以使从所述集群成员表中读取与所述目标从节点对应的第二目标网际协议地址;若检查到所述第二目标网际协议地址和所述配置表中的所述当前从节点对应的网际协议地址不一致,则认为检查到当前域名系统与所述当前主节点发生连接故障。
即,如果数据库成员表replication_group_members表中记录的当前推荐的读写DNS对应的IP或者只读DNS对应的IP和配置表中不一致,则认为检查到当前域名系统与所述当前主节点发生连接故障。
相应地,确认数据库是否正常工作的方式具体可以是,如果数据库成员表replication_group_members表中记录的当前推荐的读写DNS对应的IP而且只读DNS对应的IP和配置表中一致,则还可进一步通过DNS连接到数据集进行一个简单的查询SQL,用于再次确认数据库是否正常工作。
S130、基于域名切换函数将所述当前主节点切换为所述目标主节点,并建立当前域名系统与所述目标主节点之间的对应关系。
具体地,可从所述集群成员表中读取所述目标主节点对应的所述目标网际协议地址以及所述目标端口;基于域名切换函数将所述当前主节点对应的网际协议地址和端口切换为所述目标主节点对应的所述目标网际协议地址以及所述目标端口。进而,建立当前域名系统与所述目标主节点之间的对应关系,使得用户可以通过当前域名和目标端口访问目标网际协议地址,恢复正常使用。
在建立当前域名系统与所述目标主节点之间的对应关系之前,为了确保连接后可用,可以预先对目标主节点和端口连接进行测试更新和读取,如果检查正常,则把读写DNS切换到目标主节点。
在此基础上还可以进一步对目标主节点的新的从节点进行连接和测试读取操作,如果检查正常,则把只读DNS切换为所有新的从节点即目标从节点。
本实施例的技术方案,通过健康检查函数对MGR集群中的当前主节点的连接状态进行检查,能够在发生故障时及时发现,争取恢复时间;当检查到当前域名系统与所当前主节点发生连接故障时,获取与当前主节点对应的目标主节点,即在当前主节点连接故障时能够自动获取可用的目标主节点,然后基于域名切换函数将当前主节点切换为目标主节点,并建立当前域名系统与所述目标主节点之间的对应关系,使得用户依然能够当前域名系统连接主节点的读写服务,能够解决现有的数据库集群的故障修复比较耗费人力物力以及故障修复时间不确定等技术问题,无需人工介入,节省人力物理成本,而且能够在用户对故障无感知的情况下,自动快速地处理数据库集群的连接层故障,极大地提升了用户体验。
为了保证故障判断的准确性,可选是在将当前主节点切换为所述目标主节点之后,还包括:将所述目标主节点、与所述目标主节点对应的第一目标网际协议地址、所述目标从节点以及与所述目标从节点对应的第二目标网际协议地址更新至所述配置表中。这样设置的好处在于,配置表的信息与当前系统的信息保持一致,在之后的故障检查中,以更新过的数据作为依据,更为准确有效。
为了便于了解和查询操作纪律,可以记录详细的操作日志。具体地,可将更改之前的和更改之后的系统信息以及操作信息等故障处理的相关信息存入到数据库的记录表中。
示例性地,可基于日志函数记录所有健康检查的信息。其中,健康检查信息可包括被检查的集群信息、被检查的实例信息、检查的结果信息、检查的时间以及自动处理的结果信息中的至少一个。
另外,为了便于技术人员对数据库的维护以及管理,可以在完成故障处理时,发送一封通知邮件给目标邮箱,以告知所有相关人员由于数据库发生了故障,DNS对应的IP映射关系已经自动更新完毕,便于后期定位事故异常原因。
实施例二
图2是本发明实施例二所提供的一种数据库集群的故障处理方法的优选实例的流程示意图。参见图2,主程序使用Python进行开发。通过域名的方式来连接数据库。然后该程序通过心跳设置,发起对集群实时状态检查和读写节点的判断,在出现问题的第一时间,自动把域名从故障节点切换到新的读写节点上,对于用户来说,是透明无感知的,并且整个过程是无需任何人工干预的,秒级故障恢复。
具体地,可通过DNS配置函数进行DNS的配置,对于后端数据库表中所定义的集群进行维护。后端可以配置一个或者多个集群,每个集群可以包含至少3个实例,每个集群对应提供2个DNS服务:读写DNS和只读DNS。图2中示出了包括N个集群,每个集群中可以包括N个实例即节点的情况,其中,N可以为任意正整数。但需要说明的是,MGR集群包括至少3个实例,因此实例的个数大于等于3。
读写DNS服务是该集群的主节点,对外提供可读可写的服务。只读DNS服务是该集群的secondary节点,即从节点,对外提供只读服务,通过bind的方式进行轮询,实现读节点的负载均衡。
通过心跳控制函数发起健康检查函数,从配置表中获取该集群中所有实例的信息,进而配置表中的信息以及通过MySQL内置库performance_schema中的replication_group_member_stats表和replication_group_members表这两个表中的信息来判断该集群的健康状况。如果发现当前的读写DNS对应的IP而且只读DNS对应的IP和上述表中一致话,则通过DNS连接到数据集进行一个简单的查询SQL,用于再次确认数据库是否正常工作。如检查正常,则记录检查日志。记录此次健康检查的信息,包括被检查的集群信息、被检查的实例信息、检查的结果信息以及检查的时间。
如果在健康检查中发现了故障,则执行域名切换函数。
域名切换函数会自动进行如下处理:从MySQL内置库performance_schema中的replication_group_members获得当前集群的新的主节点以及secondary的IP和端口。对新的主节点和端口连接进行测试更新和读取,如果检查正常,则把读写DNS切换到主节点。对新的secondary节点进行连接和测试读取操作,如果检查正常,则把只读DNS切换为所有新的secondary节点。记录详细的操作日志,包括更改之前的和更改之后的信息等存入到数据库的表中。并发送一封通知邮件,告知所有相关人员由于数据库发生了故障,DNS对应的IP映射关系已经自动更新完毕,便于后期进行定位事故异常原因。
在邮件通知后,还需要日志函数记录此次故障处理的所有健康检查的信息,包括被检查的集群信息、被检查的实例信息、检查的结果信息、检查的时间以及自动处理的结果信息。
其中,心跳控制函数主要是用于根据心跳时间发起健康检查的子线程,对之前已经定义好的所有集群进行健康检查。一般可以心跳设置为1秒,也就是说在故障发生的情况下,程序会在1秒之内发现故障并开始自动处理。
本实施例的技术方案,实现MGR集群的自动健康检查,频率基于自身业务场景定义心跳时间即可,采用一套故障处理方案可以实现多个集群的高可用监控,打破传统的一对一高可用系统,而且,集群的伸缩对于用户也是透明的,无需频繁更新代码中的连接配置,无需人工干预的灾难恢复,秒级自动切换。
实施例三
图3所示为本发明实施例三提供的一种数据库集群的故障处理装置的结构示意图,该装置可通过硬件和/或软件的方式实现,并一般可配置于服务器中实现本实施例的方法。如图3所示,本实施例的数据库集群的故障处理装置包括:检查模块310、目标主节点获取模块320和对应关系建立模块330。
其中,检查模块310,用于基于健康检查函数对MGR集群中的当前主节点的连接状态进行检查,其中,所述主节点与域名系统对应设置,为所述域名系统提供读写域名系统服务;目标主节点获取模块320,用于当检查到当前域名系统与所述当前主节点发生连接故障时,获取与所述当前主节点对应的目标主节点;对应关系建立模块330,用于基于域名切换函数将所述当前主节点切换为所述目标主节点,并建立当前域名系统与所述目标主节点之间的对应关系。
本实施例的技术方案,通过健康检查函数对MGR集群中的当前主节点的连接状态进行检查,能够在发生故障时及时发现,争取恢复时间;当检查到当前域名系统与所当前主节点发生连接故障时,获取与当前主节点对应的目标主节点,即在当前主节点连接故障时能够自动获取可用的目标主节点,然后基于域名切换函数将当前主节点切换为目标主节点,并建立当前域名系统与所述目标主节点之间的对应关系,使得用户依然能够当前域名系统连接主节点的读写服务,能够解决现有的数据库集群的故障修复比较耗费人力物力以及故障修复时间不确定等技术问题,无需人工介入,节省人力物理成本,而且能够在用户对故障无感知的情况下,自动快速地处理数据库集群的连接层故障,极大地提升了用户体验。
在上述技术方案的基础上,所述数据库集群的故障处理装置的还可以包括:
将MGR集群当前主节点所对应的网际协议地址,以及与所述当前主节点对应的至少两个当前从节点分别对应的网际协议地址,存储于配置表中;其中,所述从节点用于提供只读域名系统服务。
在上述各技术方案的基础上,所述的装置还可以包括:
目标节点确定模块,用于在获取与所述当前主节点对应的目标主节点之前,当所述当前主节点发生故障时,根据MySQL的内部推选机制从所述至少两个从节点中推选出一个从节点作为目标主节点,并确定与所述目标主节点对应的目标从节点;
目标节点存储模块,用于将所述目标主节点对应的第一目标网际协议地址和第一目标端口,以及与所述目标从节点对应的第二目标网际协议地址和第二目标端口,分别存储于MySQL用于记录数据库服务器性能参数的内置库中的集群成员表中。
在上述各技术方案的基础上,所述目标主节点获取模块可以用于:
从所述集群成员表中读取与所述目标主节点对应的第一目标网际协议地址;
检查到所述第一目标网际协议地址和所述配置表中的所述当前主节点对应的网际协议地址不一致。
在上述各技术方案的基础上,所述目标主节点获取模块还可以用于:
从所述集群成员表中读取与所述目标从节点对应的第二目标网际协议地址;
检查到所述第二目标网际协议地址和所述配置表中的所述当前从节点对应的网际协议地址不一致。
在上述各技术方案的基础上,所述对应关系建立模块可用于:
从所述集群成员表中读取所述目标主节点对应的所述目标网际协议地址以及所述目标端口;
基于域名切换函数将所述当前主节点对应的网际协议地址和端口切换为所述目标主节点对应的目标网际协议地址以及所述目标端口。
在上述各技术方案的基础上,所述的装置还可以包括:
配置表更新模块,用于在所述基于域名切换函数将所述当前主节点切换为所述目标主节点之后,将所述目标主节点、与所述目标主节点对应的第一目标网际协议地址、所述目标从节点以及与所述目标从节点对应的第二目标网际协议地址更新至所述配置表中。
在上述各技术方案的基础上,所述的装置还可以包括:
检查时间发确定模块,用于在所述基于健康检查函数对MGR集群中的当前主节点的连接状态进行检查之前,基于心跳控制函数的心跳时间确定健康检查函数的发起时间。
上述数据库集群的故障处理装置可执行本发明实施例一和实施例二所提供的数据库集群的故障处理方法,具备执行上述数据库集群的故障处理方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本发明实施例一和实施例二所提供的数据库集群的故障处理方法。
实施例四
图4为本发明实施例四所提供的一种终端的结构示意图。图4示出了适于用来实现本发明实施方式的示例性终端412的框图。图4显示的终端412仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图4所示,终端412以通用计算设备的形式表现。终端412的组件可以包括但不限于:一个或者多个处理器或者处理器416,存储装置428,用于存储一个或多个程序,连接不同系统组件(包括存储装置428和处理器416)的总线418。当所述一个或多个程序被所述一个或多个处理器416执行,使得所述一个或多个处理器416实现本发明任意实施例所述的电视数据自动更新的方法。
总线418表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
终端412典型地包括多种计算机系统可读介质。这些介质可以是任何能够被终端412访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
存储装置428可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)430和/或高速缓存存储器432。终端412可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统434可以用于读写不可移动的、非易失性磁介质(图4未显示,通常称为“硬盘驱动器”)。尽管图4中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线418相连。存储器428可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块442的程序/实用工具440,可以存储在例如存储器428中,这样的程序模块442包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块442通常执行本发明所描述的实施例中的功能和/或方法。
终端412也可以与一个或多个外部设备414(例如键盘、指向设备、显示器424等)通信,还可与一个或者多个使得用户能与该终端412交互的设备通信,和/或与使得该终端412能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口422进行。并且,终端412还可以通过网络适配器420与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器420通过总线418与终端412的其它模块通信。应当明白,尽管图中未示出,可以结合终端412使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
处理器416通过运行存储在存储装置428中的程序,从而执行各种功能应用以及数据处理,例如实现本发明实施例所提供的代码同步方法。
另外,本发明实施例还提供了一种包含计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时用于执行一种数据库集群的故障处理方法,该方法包括:
基于健康检查函数对MGR集群中的当前主节点的连接状态进行检查,其中,所述主节点与域名系统对应设置,为所述域名系统提供读写域名系统服务;
当检查到当前域名系统与所述当前主节点发生连接故障时,获取与所述当前主节点对应的目标主节点;
基于域名切换函数将所述当前主节点切换为所述目标主节点,并建立当前域名系统与所述目标主节点之间的对应关系。
可选的,该计算机可执行指令在由计算机处理器执行时还可以用于执行本发明任意实施例所提供的数据库集群的故障处理方法的技术方案。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读存储介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读存储介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。
计算机可读存储介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读存储介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (10)

1.一种数据库集群的故障处理方法,其特征在于,包括:
基于健康检查函数对MGR集群中的当前主节点的连接状态进行检查,其中,所述主节点与域名系统对应设置,为所述域名系统提供读写域名系统服务;
当检查到当前域名系统与所述当前主节点发生连接故障时,获取与所述当前主节点对应的目标主节点;
基于域名切换函数将所述当前主节点切换为所述目标主节点,并建立当前域名系统与所述目标主节点之间的对应关系。
2.根据权利要求1所述的方法,其特征在于,还包括:
将MGR集群当前主节点所对应的网际协议地址,以及与所述当前主节点对应的至少两个当前从节点分别对应的网际协议地址,存储于配置表中;其中,所述从节点用于提供只读域名系统服务。
3.根据权利要求2所述的方法,其特征在于,在获取与所述当前主节点对应的目标主节点之前,还包括:
当所述当前主节点发生故障时,根据MySQL的内部推选机制从所述至少两个从节点中推选出一个从节点作为目标主节点,并确定与所述目标主节点对应的目标从节点;
将所述目标主节点对应的第一目标网际协议地址和第一目标端口,以及与所述目标从节点对应的第二目标网际协议地址和第二目标端口,分别存储于MySQL用于记录数据库服务器性能参数的内置库中的集群成员表中。
4.根据权利要求3所述的方法,其特征在于,所述检查到与所述数据库对应的主节点发生连接故障,包括:
从所述集群成员表中读取与所述目标主节点对应的第一目标网际协议地址;
检查到所述第一目标网际协议地址和所述配置表中的所述当前主节点对应的网际协议地址不一致。
5.根据权利要求3所述的方法,其特征在于,所述检查到与所述数据库对应的主节点发生连接故障,包括:
从所述集群成员表中读取与所述目标从节点对应的第二目标网际协议地址;
检查到所述第二目标网际协议地址和所述配置表中的所述当前从节点对应的网际协议地址不一致。
6.根据权利要求3所述的方法,其特征在于,所述基于域名切换函数将所述当前主节点切换为所述目标主节点,包括:
从所述集群成员表中读取所述目标主节点对应的所述目标网际协议地址以及所述目标端口;
基于域名切换函数将所述当前主节点对应的网际协议地址和端口切换为所述目标主节点对应的目标网际协议地址以及所述目标端口。
7.根据权利要求3所述的方法,其特征在于,在所述基于域名切换函数将所述当前主节点切换为所述目标主节点之后,还包括:
将所述目标主节点、与所述目标主节点对应的第一目标网际协议地址、所述目标从节点以及与所述目标从节点对应的第二目标网际协议地址更新至所述配置表中。
8.根据权利要求1所述的方法,其特征在于,在所述基于健康检查函数对MGR集群中的当前主节点的连接状态进行检查之前,还包括:
基于心跳控制函数的心跳时间确定健康检查函数的发起时间。
9.一种数据库集群的故障处理装置,其特征在于,包括:
检查模块,用于基于健康检查函数对MGR集群中的当前主节点的连接状态进行检查,其中,所述主节点与域名系统对应设置,为所述域名系统提供读写域名系统服务;
目标主节点获取模块,用于当检查到当前域名系统与所述当前主节点发生连接故障时,获取与所述当前主节点对应的目标主节点;
对应关系建立模块,用于基于域名切换函数将所述当前主节点切换为所述目标主节点,并建立当前域名系统与所述目标主节点之间的对应关系。
10.一种终端,其特征在于,所述终端包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-8中任一所述的数据库集群的故障处理方法。
CN201810289827.7A 2018-04-03 2018-04-03 数据库集群的故障处理方法、装置及终端 Pending CN108599996A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810289827.7A CN108599996A (zh) 2018-04-03 2018-04-03 数据库集群的故障处理方法、装置及终端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810289827.7A CN108599996A (zh) 2018-04-03 2018-04-03 数据库集群的故障处理方法、装置及终端

Publications (1)

Publication Number Publication Date
CN108599996A true CN108599996A (zh) 2018-09-28

Family

ID=63624286

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810289827.7A Pending CN108599996A (zh) 2018-04-03 2018-04-03 数据库集群的故障处理方法、装置及终端

Country Status (1)

Country Link
CN (1) CN108599996A (zh)

Cited By (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109542627A (zh) * 2018-11-30 2019-03-29 北京金山云网络技术有限公司 节点切换方法、装置、管理机、节点设备和分布式系统
CN109542692A (zh) * 2018-11-21 2019-03-29 南京中孚信息技术有限公司 Greenplum集群监控方法和装置
CN110569303A (zh) * 2019-08-19 2019-12-13 杭州衣科信息技术有限公司 一种适用于多种云环境的MySQL应用层高可用系统及方法
CN110855808A (zh) * 2019-10-11 2020-02-28 新浪网技术(中国)有限公司 一种基于分布式监控策略的域名自动切换方法、装置及系统
CN111107172A (zh) * 2018-10-28 2020-05-05 无锡雅座在线科技股份有限公司 一种终端访问入口自动切换方法
CN111131361A (zh) * 2018-10-31 2020-05-08 北京国双科技有限公司 集群查询系统中连接节点的处理方法及装置
CN111200532A (zh) * 2020-01-02 2020-05-26 广州虎牙科技有限公司 数据库集群节点主从切换的方法、装置、设备和介质
CN111488333A (zh) * 2020-05-18 2020-08-04 网易(杭州)网络有限公司 数据处理方法及装置、存储介质和电子设备
CN111581284A (zh) * 2020-04-29 2020-08-25 上海中通吉网络技术有限公司 一种数据库高可用性方法、装置、系统和存储介质
CN111669452A (zh) * 2020-05-13 2020-09-15 新浪网技术(中国)有限公司 一种基于多主dns架构的高可用方法及装置
CN111679925A (zh) * 2019-03-11 2020-09-18 阿里巴巴集团控股有限公司 数据库故障处理方法、装置、计算设备和存储介质
CN112202712A (zh) * 2020-08-26 2021-01-08 广东网堤信息安全技术有限公司 云防护领域中基于分布式健康状态检测的业务恢复方法
CN112434193A (zh) * 2020-10-27 2021-03-02 北京空间飞行器总体设计部 一种引导式系统故障快速排查方法及装置
CN112437166A (zh) * 2020-10-30 2021-03-02 四川新网银行股份有限公司 一种MySQL数据库域名自动切换方法
CN112445677A (zh) * 2019-09-04 2021-03-05 中国石油化工股份有限公司 一种计算机集群的健康状态检查和修复方法及存储介质
CN112685486A (zh) * 2021-01-05 2021-04-20 腾讯科技(深圳)有限公司 数据库集群的数据管理方法、装置、电子设备及存储介质
CN112685498A (zh) * 2020-12-28 2021-04-20 紫光云技术有限公司 一种云平台上Redis数据持久化的方法
CN113010599A (zh) * 2019-12-19 2021-06-22 中国移动通信集团四川有限公司 Mysql数据库组复制状态监控方法、装置和系统
CN113141412A (zh) * 2021-04-30 2021-07-20 北京奇艺世纪科技有限公司 域名切换方法、系统、装置、设备及存储介质
CN113285860A (zh) * 2021-05-20 2021-08-20 上海涵润汽车电子有限公司 一种通过主节点刷写从节点的方法和系统
CN113641558A (zh) * 2021-08-31 2021-11-12 合众人寿保险股份有限公司 一种健康检查方法、装置及电子设备
CN113704029A (zh) * 2021-09-24 2021-11-26 携程旅游信息技术(上海)有限公司 节点可用性管理、控制方法、节点、集群、装置及介质
WO2022082475A1 (en) * 2020-10-21 2022-04-28 Paypal, Inc. Access consistency in high-availability databases
CN115509796A (zh) * 2022-11-01 2022-12-23 云和恩墨(北京)信息技术有限公司 处理故障节点的方法及装置、非易失性存储介质、处理器
CN115794769A (zh) * 2022-10-09 2023-03-14 云和恩墨(北京)信息技术有限公司 高可用数据库管理的方法、电子设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8775381B1 (en) * 2011-05-14 2014-07-08 Pivotal Software, Inc. Parallel database mirroring
CN104283710A (zh) * 2014-08-18 2015-01-14 四川长虹电器股份有限公司 数据库集群的故障处理方法和管理服务器
CN104679907A (zh) * 2015-03-24 2015-06-03 新余兴邦信息产业有限公司 高可用高性能数据库集群的实现方法及系统
CN106909568A (zh) * 2015-12-23 2017-06-30 北京奇虎科技有限公司 一种数据库集群主数据库的切换方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8775381B1 (en) * 2011-05-14 2014-07-08 Pivotal Software, Inc. Parallel database mirroring
CN104283710A (zh) * 2014-08-18 2015-01-14 四川长虹电器股份有限公司 数据库集群的故障处理方法和管理服务器
CN104679907A (zh) * 2015-03-24 2015-06-03 新余兴邦信息产业有限公司 高可用高性能数据库集群的实现方法及系统
CN106909568A (zh) * 2015-12-23 2017-06-30 北京奇虎科技有限公司 一种数据库集群主数据库的切换方法及装置

Cited By (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111107172A (zh) * 2018-10-28 2020-05-05 无锡雅座在线科技股份有限公司 一种终端访问入口自动切换方法
CN111131361A (zh) * 2018-10-31 2020-05-08 北京国双科技有限公司 集群查询系统中连接节点的处理方法及装置
CN111131361B (zh) * 2018-10-31 2023-03-24 北京国双科技有限公司 集群查询系统中连接节点的处理方法及装置
CN109542692A (zh) * 2018-11-21 2019-03-29 南京中孚信息技术有限公司 Greenplum集群监控方法和装置
CN109542627A (zh) * 2018-11-30 2019-03-29 北京金山云网络技术有限公司 节点切换方法、装置、管理机、节点设备和分布式系统
CN111679925B (zh) * 2019-03-11 2023-06-27 阿里云计算有限公司 数据库故障处理方法、装置、计算设备和存储介质
CN111679925A (zh) * 2019-03-11 2020-09-18 阿里巴巴集团控股有限公司 数据库故障处理方法、装置、计算设备和存储介质
CN110569303A (zh) * 2019-08-19 2019-12-13 杭州衣科信息技术有限公司 一种适用于多种云环境的MySQL应用层高可用系统及方法
CN112445677A (zh) * 2019-09-04 2021-03-05 中国石油化工股份有限公司 一种计算机集群的健康状态检查和修复方法及存储介质
CN110855808B (zh) * 2019-10-11 2022-09-16 新浪网技术(中国)有限公司 一种基于分布式监控策略的域名自动切换方法、装置及系统
CN110855808A (zh) * 2019-10-11 2020-02-28 新浪网技术(中国)有限公司 一种基于分布式监控策略的域名自动切换方法、装置及系统
CN113010599B (zh) * 2019-12-19 2023-07-21 中国移动通信集团四川有限公司 Mysql数据库组复制状态监控方法、装置和系统
CN113010599A (zh) * 2019-12-19 2021-06-22 中国移动通信集团四川有限公司 Mysql数据库组复制状态监控方法、装置和系统
CN111200532A (zh) * 2020-01-02 2020-05-26 广州虎牙科技有限公司 数据库集群节点主从切换的方法、装置、设备和介质
CN111581284B (zh) * 2020-04-29 2023-09-15 上海中通吉网络技术有限公司 一种数据库高可用性方法、装置、系统和存储介质
CN111581284A (zh) * 2020-04-29 2020-08-25 上海中通吉网络技术有限公司 一种数据库高可用性方法、装置、系统和存储介质
CN111669452B (zh) * 2020-05-13 2022-05-27 新浪网技术(中国)有限公司 一种基于多主dns架构的高可用方法及装置
CN111669452A (zh) * 2020-05-13 2020-09-15 新浪网技术(中国)有限公司 一种基于多主dns架构的高可用方法及装置
CN111488333A (zh) * 2020-05-18 2020-08-04 网易(杭州)网络有限公司 数据处理方法及装置、存储介质和电子设备
CN111488333B (zh) * 2020-05-18 2023-07-11 网易(杭州)网络有限公司 数据处理方法及装置、存储介质和电子设备
CN112202712A (zh) * 2020-08-26 2021-01-08 广东网堤信息安全技术有限公司 云防护领域中基于分布式健康状态检测的业务恢复方法
WO2022082475A1 (en) * 2020-10-21 2022-04-28 Paypal, Inc. Access consistency in high-availability databases
US11704182B2 (en) 2020-10-21 2023-07-18 Paypal, Inc. Access consistency in high-availability databases
CN112434193B (zh) * 2020-10-27 2023-09-29 北京空间飞行器总体设计部 一种引导式系统故障快速排查方法及装置
CN112434193A (zh) * 2020-10-27 2021-03-02 北京空间飞行器总体设计部 一种引导式系统故障快速排查方法及装置
CN112437166A (zh) * 2020-10-30 2021-03-02 四川新网银行股份有限公司 一种MySQL数据库域名自动切换方法
CN112685498A (zh) * 2020-12-28 2021-04-20 紫光云技术有限公司 一种云平台上Redis数据持久化的方法
CN112685486A (zh) * 2021-01-05 2021-04-20 腾讯科技(深圳)有限公司 数据库集群的数据管理方法、装置、电子设备及存储介质
CN112685486B (zh) * 2021-01-05 2023-10-24 腾讯科技(深圳)有限公司 数据库集群的数据管理方法、装置、电子设备及存储介质
CN113141412A (zh) * 2021-04-30 2021-07-20 北京奇艺世纪科技有限公司 域名切换方法、系统、装置、设备及存储介质
CN113141412B (zh) * 2021-04-30 2022-09-30 北京奇艺世纪科技有限公司 域名切换方法、系统、装置、设备及存储介质
CN113285860B (zh) * 2021-05-20 2023-04-07 上海涵润汽车电子有限公司 一种通过主节点刷写从节点的方法和系统
CN113285860A (zh) * 2021-05-20 2021-08-20 上海涵润汽车电子有限公司 一种通过主节点刷写从节点的方法和系统
CN113641558A (zh) * 2021-08-31 2021-11-12 合众人寿保险股份有限公司 一种健康检查方法、装置及电子设备
CN113704029A (zh) * 2021-09-24 2021-11-26 携程旅游信息技术(上海)有限公司 节点可用性管理、控制方法、节点、集群、装置及介质
CN115794769A (zh) * 2022-10-09 2023-03-14 云和恩墨(北京)信息技术有限公司 高可用数据库管理的方法、电子设备及存储介质
CN115794769B (zh) * 2022-10-09 2024-03-19 云和恩墨(北京)信息技术有限公司 高可用数据库管理的方法、电子设备及存储介质
CN115509796B (zh) * 2022-11-01 2023-03-10 云和恩墨(北京)信息技术有限公司 处理故障节点的方法及装置、非易失性存储介质、处理器
CN115509796A (zh) * 2022-11-01 2022-12-23 云和恩墨(北京)信息技术有限公司 处理故障节点的方法及装置、非易失性存储介质、处理器

Similar Documents

Publication Publication Date Title
CN108599996A (zh) 数据库集群的故障处理方法、装置及终端
DE112011100822B4 (de) Aufrechterhalten der Durchlässigkeit eines Datenübertragungspfades in einem Datenspeichernetzwerk
US7269648B1 (en) Resolving multiple master node conflict in a DDB
US6314526B1 (en) Resource group quorum scheme for highly scalable and highly available cluster system management
US5713017A (en) Dual counter consistency control for fault tolerant network file servers
US7340578B1 (en) Method and apparatus for maintaining an accurate inventory of storage capacity in a clustered data processing system
US8028193B2 (en) Failover of blade servers in a data center
US6427163B1 (en) Highly scalable and highly available cluster system management scheme
JP5102901B2 (ja) データセンタにわたる複数データサーバ間のデータ完全性を保持する方法およびシステム
US5265241A (en) Method and apparatus for verifying the configuration of a link-connected network
CN108270726B (zh) 应用实例部署方法及装置
US20110107148A1 (en) Fault management in virtual computing environments
US7945773B2 (en) Failover of blade servers in a data center
EP1675007B1 (en) Fault management system in multistage copy configuration
CN104503965A (zh) PostgreSQL高弹性的高可用及负载均衡实现方法
US20060080319A1 (en) Apparatus, system, and method for facilitating storage management
CN113360579A (zh) 数据库高可用处理方法、装置、电子设备及存储介质
CN110321197A (zh) 一种基于kvm的虚拟网卡管理方法
JPH10308724A (ja) システム障害管理方法
KR20030069856A (ko) 네트워크 마스터 하드 디스크 드라이브 복제기
CN108460160A (zh) 数据库实例的下线方法、装置、终端及存储介质
CN110069365A (zh) 管理数据库的方法和相应的装置、计算机可读存储介质
CN113676368A (zh) 一种运用于ats网络性能测试的方法及装置
CN108089968A (zh) 一种宿主机监控虚拟机数据库状态的方法
CN109547525A (zh) 一种计算机分布式云桌面办公系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20180928