CN112069018A - 一种数据库高可用方法及系统 - Google Patents
一种数据库高可用方法及系统 Download PDFInfo
- Publication number
- CN112069018A CN112069018A CN202010707939.7A CN202010707939A CN112069018A CN 112069018 A CN112069018 A CN 112069018A CN 202010707939 A CN202010707939 A CN 202010707939A CN 112069018 A CN112069018 A CN 112069018A
- Authority
- CN
- China
- Prior art keywords
- database
- slave
- master
- delay
- judging
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 32
- 238000012544 monitoring process Methods 0.000 claims abstract description 100
- 239000013589 supplement Substances 0.000 claims abstract description 38
- 230000002159 abnormal effect Effects 0.000 claims abstract description 21
- 230000004044 response Effects 0.000 claims description 24
- 238000001514 detection method Methods 0.000 claims description 10
- 230000008569 process Effects 0.000 claims description 9
- 230000001502 supplementing effect Effects 0.000 claims description 9
- 230000005856 abnormality Effects 0.000 claims description 6
- 230000000737 periodic effect Effects 0.000 claims description 6
- 230000001360 synchronised effect Effects 0.000 claims description 3
- 238000012545 processing Methods 0.000 claims description 2
- 230000009469 supplementation Effects 0.000 claims 2
- 238000004519 manufacturing process Methods 0.000 abstract description 5
- 230000009286 beneficial effect Effects 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000036541 health Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/302—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3051—Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Quality & Reliability (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种数据库高可用方法,一种数据库高可用方法,包括以下步骤:步骤S1,监控节点对数据库进行周期性监控;步骤S2,监控节点判断出现异常的数据库的类型;步骤S3,监控节点判断主数据库和要被切换的从数据库之间是否存在同步延迟;步骤S4,监控节点根据主数据库的数据库日志对从数据库进行数据补充后返回步骤S3;步骤S5,监控节点通知负载均衡控制器对主数据库和从数据库进行主从切换,随后返回步骤S1。上述技术方案的有益效果是:减少数据库管理员人为干预操作,减少了系统宕机的时间,避免了传统高可用架构由于主从不一致切换主从角色导致数据丢失的情况,降低生产事故发生的概率。
Description
技术领域
本发明涉及数据库高可用技术领域,尤其涉及一种数据库高可用方法及系统。
背景技术
数据库维护期间,需要数据库管理员进行7X24小时全天候的在线支持。由于性能需要,MYSQL数据库主从架构开启半同步复制,在数据库故障发生后,数据库主从切换,可能需要人为补偿丢失的数据,极大影响了应用的可用性。假如未及时发现数据库故障并且主备切换后发生数据丢失的情况,这样极有可能导致生产事故的发生。特别是对于涉及到交易资金往来的系统,会导致严重的生产事故。在数据库系统故障期间,应用数据的可靠性得不到保障。
基于上述描述,现有技术中亟待解决的技术问题在于:当数据库故障发生的时候,如何自动检查主从同步的情况,根据主从同步的情况进行自动的数据补偿操作。换言之,现有技术中不存在一套系统可以在数据库发生故障时自动进行主从切换,并且能够解决切换过程中发生的数据延迟问题。
发明内容
根据现有技术中存在的上述问题,现提供一种数据库高可用方法及系统,旨在通过定期检查主从状态,并且根据从库应用数据库日志的情况判断主从延迟的情况,自动补偿从库的数据,减少数据库管理员人为干预操作,减少了系统宕机的时间,避免了传统高可用架构由于主从不一致切换主从角色导致数据丢失的情况,降低生产事故发生的概率。
上述技术方案具体包括:
一种数据库高可用方法,提供两个数据库、一负载均衡控制器以及一监控节点,负载均衡控制器和监控节点分别连接主数据库和从数据库,监控节点还连接负载均衡控制器;
初始状态下,于两个数据库中设置一个作为主数据库,另一个作为从数据库;
数据库高可用方法包括以下步骤:
步骤S1,监控节点对数据库进行周期性监控,当存在有数据库的运行状态出现异常时转向步骤S2;
步骤S2,监控节点判断出现异常的数据库的类型:
若为主数据库,则转向步骤S3;
若为从数据库,则输出相应的告警信息,随后返回步骤S1;
步骤S3,监控节点判断主数据库和要被切换的从数据库之间是否存在同步延迟;
若是,则转向步骤S4;
若否,则转向步骤S5;
步骤S4,监控节点根据主数据库的数据库日志对从数据库进行数据补充后返回步骤S3;
步骤S5,监控节点通知负载均衡控制器对主数据库和从数据库进行主从切换,随后返回步骤S1。
优选的,步骤S1中,监控节点采用下述方法分别对每个数据库进行周期性监控:
步骤S11,监控节点周期性地检测数据库是否有响应,并记录数据库的连续无响应的次数;
步骤S12,监控节点判断连续无响应的次数是否超过一预设的第一阈值:
若是,则转向步骤S2;
若否,则返回步骤S11。
优选的,步骤S3具体包括:
步骤S31,判断从数据库与主数据库之间的同步延迟是否超过一预设的第一延迟阈值;
若是,则判定主数据库和从数据库之间存在同步延迟,转向步骤S4;
若否,则判定主数据库和从数据库之间不存在同步延迟,转向步骤S5。
优选的,步骤S4具体包括:
步骤S41,判断主数据库和从数据库之间的同步延迟是否超过一预设的第二延迟阈值;
若是,则转向步骤S42;
若否,则转向步骤S43;
步骤S42,从主数据库中获取从数据库中缺失的数据库日志,以对从数据库进行数据补充;
步骤S43,应用主数据库的数据库日志对从数据库进行数据补充。
优选的,若监控节点监测到从数据库的运行状态出现异常,则监控节点根据从数据库的数据库日志分析得到从数据库的异常原因,并向从数据库的数据库控制器发出相应的告警信息,以供数据库控制器进行处理。
优选的,数据库日志为BINLOG日志文件。
一种数据库高可用系统,包括:
两个数据库,用于存储用户数据,初始状态下,于两个数据库中设置一个作为主数据库,另一个作为从数据库;
一运行监控模块,分别连接主数据库和从数据库,用于对数据库进行周期性监控并输出一监控信息;
一类型判断模块,连接运行监控模块,用于根据监控信息对出现异常的数据库的类型进行判断并输出一类型信息;
一延迟判断模块,连接类型判断模块,用于根据类型信息对主数据库和要被切换的从数据库之间是否存在同步延迟进行判断,并输出一第一延迟判断信息;
一数据补充模块,连接延迟判断模块,用于根据第一延迟判断信息和主数据库的数据库日志对从数据库进行数据补充并输出一数据同步信息;
一负载均衡控制模块,分别连接数据补充模块和数据库,用于根据数据同步信息对主数据库和从数据库进行主从切换。
优选的,运行监控模块包括:
一运行检测单元,分别连接主数据库和从数据库,用于周期性地检测数据库是否有响应;
一运行计数单元,连接运行检测单元,用于记录数据库的连续无响应的次数;
一运行判断单元,连接运行计数单元,用于判断连续无响应的次数是否超过一预设的第一阈值;
若是,则输出数据库的运行状态出现异常的监控信息;
若否,则输出数据库的运行状态正常的监控信息。
优选的,延迟判断模块包括:
第一延迟判断单元,连接类型判断模块,用于判断从数据库与主数据库之间的同步延迟是否超过一预设的第一延迟阈值;
若是,则输出判定主数据库和从数据库之间存在同步延迟的第二判断信息;
若否,则输出判定主数据库和从数据库之间不存在同步延迟的第二判断信息。
优选的,数据补充模块包括:
第二延迟判断单元,连接延迟判断模块,用于判断主数据库和从数据库之间的同步延迟是否超过一预设的第二延迟阈值并输出一第二延迟判断信息;
第一数据补充单元,连接第二延迟判断单元,用于根据第二延迟判断信息从主数据库中获取从数据库中缺失的数据库日志,以对从数据库进行数据补充;
第二数据补充单元,连接第二延迟判断单元,用于根据第二延迟判断信息和主数据库的数据库日志对从数据库进行数据补充。
上述技术方案的有益效果是:提供一种数据库高可用方法及系统,旨在减少数据库管理员人为干预操作,减少了系统宕机的时间,避免了传统高可用架构由于主从不一致切换主从角色导致数据丢失的情况,降低生产事故发生的概率。
附图说明
图1是本发明的较佳的实施例中,一种数据库高可用方法的总体流程图;
图2是本发明的较佳的实施例中,图1的基础上,对步骤S1做进一步描述的流程图;
图3是本发明的较佳的实施例中,图1的基础上,对步骤S3做进一步描述的流程图;
图4是本发明的较佳的实施例中,图1的基础上,对步骤S4做进一步描述的流程图;
图5是本发明的较佳的实施例中,一种数据库高可用系统的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
下面结合附图和具体实施例对本发明作进一步说明,但不作为本发明的限定。
基于现有技术中存在的上述问题,本发明提供一种数据库高可用方法,提供两个数据库、一负载均衡控制器以及一监控节点,负载均衡控制器和监控节点分别连接主数据库和从数据库,监控节点还连接负载均衡控制器;
初始状态下,于两个数据库中设置一个作为主数据库,另一个作为从数据库;
如图1所示,数据库高可用方法包括以下步骤:
步骤S1,监控节点对数据库进行周期性监控,当存在有数据库的运行状态出现异常时转向步骤S2;
步骤S2,监控节点判断出现异常的数据库的类型:
若为主数据库,则转向步骤S3;
若为从数据库,则输出相应的告警信息,随后返回步骤S1;
步骤S3,监控节点判断主数据库和要被切换的从数据库之间是否存在同步延迟;
若是,则转向步骤S4;
若否,则转向步骤S5;
步骤S4,监控节点根据主数据库的数据库日志对从数据库进行数据补充后返回步骤S3;
步骤S5,监控节点通知负载均衡控制器对主数据库和从数据库进行主从切换,随后返回步骤S1。
具体地,给数据库高可用方法提供了两个数据库一负载均衡控制器以及一监控节点。在初始状态下,负载均衡控制器将将两个数据库中的一个设置为主数据库,另一个设置为从数据库。负载均衡控制器和监控节点均与上述主数据库和从数据库建立连接关系,监控节点还与负载均衡控制器相连接。
上述实施例中,数据库高可用方法包括以下步骤:
监控节点对数据库进行周期性地监控,监测是否存在数据库的运行状态存在异常。当检测到存在数据库的运行状态处于异常时,监控节点会对出现异常的数据库的类型进行判断:
进一步地,若判断为主数据库的运行状态处于异常时,监控节点对主数据库和要被切换的从数据库之间是否存在同步延迟进行判断:如果主数据库和要被切换的从数据库之间存在延迟,则监控节点根据主数据库的数据库日志对从数据库进行数据补充后再对主数据库和要被切换的从数据库之间是否存在同步延迟进行判断;如果主数据库和要被切换的从数据库之间不存在延迟,则监控节点通知负载均衡控制器对主数据库和从数据库进行主从切换,并通过监控节点继续对数据库进行周期性地监控。
进一步地,若判断从数据库的运行状态处于异常时,则输出相应的告警信息,随后通过监控节点继续对数据库进行周期性地监控。
上述实施例中,监控节点可以采用MYSQL FAILOVER。MYSQL FAILOVER是Mysqlutilities工具包中包含的一个重要的高可用命令,用于对主从复制架构进行健康检测以及实现故障自动转移。它会定期按指定的时间间隔探测各节点的健康状态,一旦在捕获到主节点不可用时,将触发故障转移相关动作,自动执行故障切换到当前最佳的从服务器上。同时整个主从架构内的其他从节点将指向新的主节点,自动完成主从拓扑结构更新。
本发明的较佳的实施例中,如图2所示,步骤S1中,监控节点采用下述方法分别对每个数据库进行周期性监控:
步骤S11,监控节点周期性地检测数据库是否有响应,并记录数据库的连续无响应的次数;
步骤S12,监控节点判断连续无响应的次数是否超过一预设的第一阈值:
若是,则转向步骤S2;
若否,则返回步骤S11。
具体地,上述实施例中,监控节点分别对每个数据库进行周期性监控。首先,监控节点周期性地检测数据库是否有响应并记录下数据库的连续无响应的次数;然后,由监控节点判断连续无响应的次数是否超过一预设的第一阈值:若是,则监控节点判断出现异常的数据库的类型;若否,则监控节点继续对数据库进行周期性检测。
本发明的较佳的实施例中,如图3所示,步骤S3具体包括:
步骤S31,判断从数据库与主数据库之间的同步延迟是否超过一预设的第一延迟阈值;
若是,则判定主数据库和从数据库之间存在同步延迟,转向步骤S4;
若否,则判定主数据库和从数据库之间不存在同步延迟,转向步骤S5。
具体地,监控节点判断从数据库与主数据库之间的同步延迟是否超过一预设的第一延迟阈值:若是,则判定主数据库和从数据库之间存在同步延迟并根据主数据库的数据库日志对从数据库进行数据补充;若否,则判定主数据库和从数据库之间不存在同步延迟并通知负载均衡控制器对主数据库和从数据库进行主从切换。
本发明的较佳的实施例中,如图4所示,步骤S4具体包括:
步骤S41,判断主数据库和从数据库之间的同步延迟是否超过一预设的第二延迟阈值;
若是,则转向步骤S42;
若否,则转向步骤S43;
步骤S42,从主数据库中获取从数据库中缺失的数据库日志,以对从数据库进行数据补充;
步骤S43,应用主数据库的数据库日志对从数据库进行数据补充。
具体地,判断主数据库和从数据库之间的同步延迟是否超过一预设的第二延迟阈值:若是,则从主数据库中获取从数据库中缺失的数据库日志,以对从数据库进行数据补充;若否,则应用主数据库的数据库日志对从数据库进行数据补充。
本发明的较佳的实施例中,若监控节点监测到从数据库的运行状态出现异常,则监控节点根据从数据库的数据库日志分析得到从数据库的异常原因,并向从数据库的数据库控制器发出相应的告警信息,以供数据库控制器进行处理。
本发明的较佳的实施例中,数据库日志为BINLOG日志文件。
具体地,上述实施例中,数据库可以采用Mysql数据库。BINLOG日志文件是二进制格式的日志文件,用来记录Mysql内部对数据库的改动,只记录对数据的修改操作,主要用于数据库的主从复制以及增量恢复。
进一步地,当监控节点判断主数据库和从数据库之间的同步存在延迟并且该同步延迟情况较小,则根据从数据库应用BINLOG日志文件的情况,自动获取主数据库的BINLOG日志文件并进行应用,完成补数据库的操作。
进一步地,上述实施例中,当监控节点判断主数据库和从数据库之间的同步存在延迟并且该同步延迟情况较大,则根据从数据库应用BINLOG日志文件的情况,自动获取主数据库中未传输过来的BINLOG日志文件,应用多份BINLOG日志,直到从数据库与主数据库之间的不存在同步延迟。
一种数据库高可用系统,如图5所示,包括:
两个数据库1,用于存储用户数据,初始状态下,于两个数据库1中设置一个作为主数据库,另一个作为从数据库;
一运行监控模块2,分别连接主数据库和从数据库,用于对数据库1进行周期性监控并输出一监控信息;
一类型判断模块3,连接运行监控模块2,用于根据监控信息对出现异常的数据库1的类型进行判断并输出一类型信息;
一延迟判断模块4,连接类型判断模块3,用于根据类型信息对主数据库和要被切换的从数据库之间是否存在同步延迟进行判断,并输出一第一延迟判断信息;
一数据补充模块5,连接延迟判断模块4,用于根据第一延迟判断信息和主数据库的数据库1日志对从数据库进行数据补充并输出一数据同步信息;
一负载均衡控制模块6,连接数据补充模块5,用于根据数据同步信息对主数据库和从数据库进行主从切换。
具体地,上述数据库高可用系统包括:两个数据库1、运行监控模块2、类型判断模块3、延迟判断模块4、数据补充模块5以及负载均衡控制模块6。
上述实施例中,两个数据库1存储用户数据,初始状态下,负载均衡控制模块6于两个数据库1中设置一个作为主数据库,另一个作为从数据库。运行监控模块2对数据库1进行周期性监控并输出一监控信息,类型判断模块3根据监控信息对出现异常的数据库1的类型进行判断并输出一类型信息,延迟判断模块4根据类型信息对主数据库和要被切换的从数据库之间是否存在同步延迟进行判断,并输出一第一延迟判断信息,数据补充模块5根据第一延迟判断信息和主数据库的数据库1日志对从数据库进行数据补充并输出一数据同步信息,负载均衡控制模块6根据数据同步信息对主数据库和从数据库进行主从切换。
本发明的较佳的实施例中,运行监控模块2包括:
一运行检测单元,分别连接主数据库和从数据库,用于周期性地检测数据库1是否有响应;
一运行计数单元,连接运行检测单元,用于记录数据库1的连续无响应的次数;
一运行判断单元,连接运行计数单元,用于判断连续无响应的次数是否超过一预设的第一阈值;
若是,则输出数据库1的运行状态出现异常的监控信息;
若否,则输出数据库1的运行状态正常的监控信息。
具体地,运行监控模块2中的运行检测单元分别连接主数据库和从数据库并周期性地检测数据库1是否有响应,运行计数单元记录下上述检测过程中数据库1的连续无响应的次数,运行判断单元判断连续无响应的次数是否超过一预设的第一阈值:若是,则输出数据库1的运行状态出现异常的监控信息;若否,则输出数据库1的运行状态正常的监控信息。
本发明的较佳的实施例中,延迟判断模块4包括:
第一延迟判断单元,连接类型判断模块3,用于判断从数据库与主数据库之间的同步延迟是否超过一预设的第一延迟阈值;
若是,则输出判定主数据库和从数据库之间存在同步延迟的第二判断信息;
若否,则输出判定主数据库和从数据库之间不存在同步延迟的第二判断信息。
具体地,延迟判断模块4中的第一延迟判断单元连接类型判断模块3并判断从数据库与主数据库之间的同步延迟是否超过一预设的第一延迟阈值:若是,则输出判定主数据库和从数据库之间存在同步延迟的第二判断信息;若否,则输出判定主数据库和从数据库之间不存在同步延迟的第二判断信息。
本发明的较佳的实施例中,数据补充模块5包括:
第二延迟判断单元,连接延迟判断模块4,用于判断主数据库和从数据库之间的同步延迟是否超过一预设的第二延迟阈值并输出一第二延迟判断信息;
第一数据补充单元,连接第二延迟判断单元,用于根据第二延迟判断信息从主数据库中获取从数据库中缺失的数据库1日志,以对从数据库进行数据补充;
第二数据补充单元,连接第二延迟判断单元,用于根据第二延迟判断信息和主数据库的数据库1日志对从数据库进行数据补充。
具体地,数据补充模块5包括:第二延迟判断单元、第一数据补充单元以及第二数据补充单元。其中,第二延迟判断单元连接于延迟判断模块4,用于判断主数据库和从数据库之间的同步延迟是否超过一预设的第二延迟阈值并输出一第二延迟判断信息:若主数据库和从数据库之间的同步延迟超过预设的第二延迟阈值,则判断主数据库和从数据库之间存在较大的同步延迟;若主数据库和从数据库之间的同步延迟不超过预设的第二延迟阈值,则判断主数据库和从数据库之间存在较小的同步延迟。第一数据补充单元根据表示同步延迟较大的第二延迟判断信息从主数据库中获取从数据库中缺失的数据库1日志,以对从数据库进行数据补充。第二数据补充单元根据表示同步延迟较小的第二延迟判断信息,应用主数据库的数据库1日志对从数据库进行数据补充。
以上所述仅为本发明较佳的实施例,并非因此限制本发明的实施方式及保护范围,对于本领域技术人员而言,应当能够意识到凡运用本发明说明书及图示内容所作出的等同替换和显而易见的变化所得到的方案,均应当包含在本发明的保护范围内。
Claims (10)
1.一种数据库高可用方法,其特征在于,提供两个数据库、一负载均衡控制器以及一监控节点,所述负载均衡控制器和所述监控节点分别连接所述主数据库和所述从数据库,所述监控节点还连接所述负载均衡控制器;
初始状态下,于两个所述数据库中设置一个作为主数据库,另一个作为从数据库;
所述数据库高可用方法包括以下步骤:
步骤S1,所述监控节点对所述数据库进行周期性监控,当存在有所述数据库的运行状态出现异常时转向步骤S2;
步骤S2,所述监控节点判断出现异常的所述数据库的类型:
若为主数据库,则转向步骤S3;
若为从数据库,则输出相应的告警信息,随后返回所述步骤S1;
步骤S3,所述监控节点判断所述主数据库和要被切换的所述从数据库之间是否存在同步延迟;
若是,则转向步骤S4;
若否,则转向步骤S5;
步骤S4,所述监控节点根据所述主数据库的数据库日志对所述从数据库进行数据补充后返回所述步骤S3;
步骤S5,所述监控节点通知所述负载均衡控制器对所述主数据库和所述从数据库进行主从切换,随后返回所述步骤S1。
2.如权利要求1所述的数据库高可用方法,其特征在于,所述步骤S1中,所述监控节点采用下述方法分别对每个所述数据库进行周期性监控:
步骤S11,所述监控节点周期性地检测所述数据库是否有响应,并记录所述数据库的连续无响应的次数;
步骤S12,所述监控节点判断所述连续无响应的次数是否超过一预设的第一阈值:
若是,则转向所述步骤S2;
若否,则返回所述步骤S11。
3.如权利要求1所述的数据库高可用方法,其特征在于,所述步骤S3具体包括:
步骤S31,判断所述从数据库与所述主数据库之间的同步延迟是否超过一预设的第一延迟阈值;
若是,则判定所述主数据库和所述从数据库之间存在同步延迟,转向所述步骤S4;
若否,则判定所述主数据库和所述从数据库之间不存在同步延迟,转向所述步骤S5。
4.如权利要求1所述的数据库高可用方法,其特征在于,所述步骤S4具体包括:
步骤S41,判断所述主数据库和所述从数据库之间的同步延迟是否超过一预设的第二延迟阈值;
若是,则转向所述步骤S42;
若否,则转向所述步骤S43;
步骤S42,从所述主数据库中获取所述从数据库中缺失的所述数据库日志,以对所述从数据库进行数据补充;
步骤S43,应用所述主数据库的所述数据库日志对所述从数据库进行数据补充。
5.如权利要求1所述的数据库高可用方法,其特征在于,所述步骤S1中,若所述监控节点监测到所述从数据库的运行状态出现异常,则所述监控节点根据所述从数据库的数据库日志分析得到所述从数据库的异常原因,并向所述从数据库的数据库控制器发出相应的告警信息,以供所述数据库控制器进行处理。
6.如权利要求1所述的数据库高可用方法,其特征在于,所述数据库日志为BINLOG日志文件。
7.一种数据库高可用系统,其特征在于,包括:
两个数据库,用于存储用户数据,初始状态下,于两个所述数据库中设置一个作为主数据库,另一个作为从数据库;
一运行监控模块,分别连接所述主数据库和所述从数据库,用于对所述数据库进行周期性监控并输出一监控信息;
一类型判断模块,连接所述运行监控模块,用于根据所述监控信息对出现异常的所述数据库的类型进行判断并输出一类型信息;
一延迟判断模块,连接所述类型判断模块,用于根据所述类型信息对所述主数据库和要被切换的所述从数据库之间是否存在同步延迟进行判断,并输出一第一延迟判断信息;
一数据补充模块,连接所述延迟判断模块,用于根据所述第一延迟判断信息和所述主数据库的数据库日志对所述从数据库进行数据补充并输出一数据同步信息;
一负载均衡控制模块,分别连接所述数据补充模块和所述数据库,用于根据所述数据同步信息对所述主数据库和所述从数据库进行主从切换。
8.如权利要求7所述的数据库高可用系统,其特征在于,所述运行监控模块包括:
一运行检测单元,分别连接所述主数据库和所述从数据库,用于周期性地检测所述数据库是否有响应;
一运行计数单元,连接所述运行检测单元,用于记录所述数据库的连续无响应的次数;
一运行判断单元,连接所述运行计数单元,用于判断所述连续无响应的次数是否超过一预设的第一阈值;
若是,则输出所述数据库的运行状态出现异常的所述监控信息;
若否,则输出所述数据库的运行状态正常的所述监控信息。
9.如权利要求7所述的数据库高可用系统,其特征在于,所述延迟判断模块包括:
第一延迟判断单元,连接所述类型判断模块,用于判断所述从数据库与所述主数据库之间的同步延迟是否超过一预设的第一延迟阈值;
若是,则输出判定所述主数据库和所述从数据库之间存在同步延迟的所述第二判断信息;
若否,则输出判定所述主数据库和所述从数据库之间不存在同步延迟的所述第二判断信息。
10.如权利要求7所述的数据库高可用系统,其特征在于,所述数据补充模块包括:
第二延迟判断单元,连接所述延迟判断模块,用于判断所述主数据库和所述从数据库之间的同步延迟是否超过一预设的第二延迟阈值并输出一第二延迟判断信息;
第一数据补充单元,连接所述第二延迟判断单元,用于根据所述第二延迟判断信息从所述主数据库中获取所述从数据库中缺失的所述数据库日志,以对所述从数据库进行数据补充;
第二数据补充单元,连接所述第二延迟判断单元,用于根据所述第二延迟判断信息和所述主数据库的所述数据库日志对所述从数据库进行数据补充。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010707939.7A CN112069018B (zh) | 2020-07-21 | 一种数据库高可用方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010707939.7A CN112069018B (zh) | 2020-07-21 | 一种数据库高可用方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112069018A true CN112069018A (zh) | 2020-12-11 |
CN112069018B CN112069018B (zh) | 2024-05-31 |
Family
ID=
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113515499A (zh) * | 2021-03-25 | 2021-10-19 | 中国雄安集团数字城市科技有限公司 | 一种数据库服务方法及系统 |
CN116595085A (zh) * | 2023-07-17 | 2023-08-15 | 上海爱可生信息技术股份有限公司 | 数据库主从切换方法和分布式数据库 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008059470A (ja) * | 2006-09-01 | 2008-03-13 | Hitachi Kokusai Electric Inc | 処理実行制御システム |
CN104536971A (zh) * | 2014-12-02 | 2015-04-22 | 北京锐安科技有限公司 | 一种具备高可用性的数据库 |
CN106776121A (zh) * | 2016-11-23 | 2017-05-31 | 中国工商银行股份有限公司 | 一种数据灾备装置、系统及方法 |
CN106991120A (zh) * | 2017-02-22 | 2017-07-28 | 杭州沃趣科技股份有限公司 | 一种实现Oracle数据库同机房零数据丢失的方法 |
WO2017177941A1 (zh) * | 2016-04-13 | 2017-10-19 | 中兴通讯股份有限公司 | 主备数据库切换方法和装置 |
CN108319617A (zh) * | 2017-01-17 | 2018-07-24 | 阿里巴巴集团控股有限公司 | 确定数据库主从差异的方法、装置及切换控制方法、装置 |
US20190095293A1 (en) * | 2016-07-27 | 2019-03-28 | Tencent Technology (Shenzhen) Company Limited | Data disaster recovery method, device and system |
CN110445667A (zh) * | 2019-05-29 | 2019-11-12 | 北京大米科技有限公司 | 一种链路延迟检测方法、装置、存储介质以及终端 |
CN110489092A (zh) * | 2019-08-27 | 2019-11-22 | 四川长虹电器股份有限公司 | 一种数据库读写分离架构下读取数据延迟问题的解决方法 |
US20200125449A1 (en) * | 2018-10-18 | 2020-04-23 | Oracle International Corporation | Database backup from standby db |
CN111382024A (zh) * | 2018-12-28 | 2020-07-07 | 中兴通讯股份有限公司 | 一种数据库主备复制延迟监控方法、装置和系统 |
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008059470A (ja) * | 2006-09-01 | 2008-03-13 | Hitachi Kokusai Electric Inc | 処理実行制御システム |
CN104536971A (zh) * | 2014-12-02 | 2015-04-22 | 北京锐安科技有限公司 | 一种具备高可用性的数据库 |
WO2017177941A1 (zh) * | 2016-04-13 | 2017-10-19 | 中兴通讯股份有限公司 | 主备数据库切换方法和装置 |
CN107291787A (zh) * | 2016-04-13 | 2017-10-24 | 中兴通讯股份有限公司 | 主备数据库切换方法和装置 |
US20190095293A1 (en) * | 2016-07-27 | 2019-03-28 | Tencent Technology (Shenzhen) Company Limited | Data disaster recovery method, device and system |
CN106776121A (zh) * | 2016-11-23 | 2017-05-31 | 中国工商银行股份有限公司 | 一种数据灾备装置、系统及方法 |
CN108319617A (zh) * | 2017-01-17 | 2018-07-24 | 阿里巴巴集团控股有限公司 | 确定数据库主从差异的方法、装置及切换控制方法、装置 |
CN106991120A (zh) * | 2017-02-22 | 2017-07-28 | 杭州沃趣科技股份有限公司 | 一种实现Oracle数据库同机房零数据丢失的方法 |
US20200125449A1 (en) * | 2018-10-18 | 2020-04-23 | Oracle International Corporation | Database backup from standby db |
CN111382024A (zh) * | 2018-12-28 | 2020-07-07 | 中兴通讯股份有限公司 | 一种数据库主备复制延迟监控方法、装置和系统 |
CN110445667A (zh) * | 2019-05-29 | 2019-11-12 | 北京大米科技有限公司 | 一种链路延迟检测方法、装置、存储介质以及终端 |
CN110489092A (zh) * | 2019-08-27 | 2019-11-22 | 四川长虹电器股份有限公司 | 一种数据库读写分离架构下读取数据延迟问题的解决方法 |
Non-Patent Citations (1)
Title |
---|
倪泳智;王珊;: "一种基于虚拟日志的数据复制解决方案", 计算机科学 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113515499A (zh) * | 2021-03-25 | 2021-10-19 | 中国雄安集团数字城市科技有限公司 | 一种数据库服务方法及系统 |
CN116595085A (zh) * | 2023-07-17 | 2023-08-15 | 上海爱可生信息技术股份有限公司 | 数据库主从切换方法和分布式数据库 |
CN116595085B (zh) * | 2023-07-17 | 2023-09-29 | 上海爱可生信息技术股份有限公司 | 数据库主从切换方法和分布式数据库 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106202075B (zh) | 一种数据库主备切换的方法及装置 | |
CN109032849B (zh) | 热备份系统、热备份方法和计算机设备 | |
CN110750480B (zh) | 一种双机热备系统 | |
WO2017177941A1 (zh) | 主备数据库切换方法和装置 | |
CN104036043B (zh) | 一种mysql高可用的方法及管理节点 | |
CN107480014B (zh) | 一种高可用设备切换方法及装置 | |
CN103294701B (zh) | 一种分布式文件系统以及数据处理的方法 | |
CN112463448B (zh) | 分布式集群数据库同步方法、装置、设备及存储介质 | |
US9164864B1 (en) | Minimizing false negative and duplicate health monitoring alerts in a dual master shared nothing database appliance | |
WO2022088861A1 (zh) | 数据库故障处理方法和装置 | |
CN111142801B (zh) | 分布式存储系统网络亚健康检测方法及装置 | |
CN107688547B (zh) | 一种控制器主备切换的方法及系统 | |
CN110209526A (zh) | 一种存储层同步系统、及存储介质 | |
CN108243031B (zh) | 一种双机热备的实现方法及装置 | |
CN112910694B (zh) | 一种归档日志传输的方法、系统及介质 | |
CN112069018A (zh) | 一种数据库高可用方法及系统 | |
CN112069018B (zh) | 一种数据库高可用方法及系统 | |
CN116737462A (zh) | 一种数据处理方法、系统、装置及介质 | |
CN108897645B (zh) | 一种基于备用心跳磁盘的数据库集群容灾方法和系统 | |
CN114884803A (zh) | 多重冗余状态的处理方法、装置、设备和介质 | |
CN107590032A (zh) | 存储集群故障转移的方法及存储集群系统 | |
CN114706714A (zh) | 一种同步计算机内存分割快照的方法 | |
CN110675614A (zh) | 一种电力监控数据的传输方法 | |
CN110321261B (zh) | 一种监控系统及监控方法 | |
CN110442770B (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 | ||
GR01 | Patent grant |