CN115599600A - 一种灾备切换方法、装置、存储介质及电子设备 - Google Patents

一种灾备切换方法、装置、存储介质及电子设备 Download PDF

Info

Publication number
CN115599600A
CN115599600A CN202211233378.7A CN202211233378A CN115599600A CN 115599600 A CN115599600 A CN 115599600A CN 202211233378 A CN202211233378 A CN 202211233378A CN 115599600 A CN115599600 A CN 115599600A
Authority
CN
China
Prior art keywords
cluster
database
standby
main
disaster recovery
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
CN202211233378.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.)
China Construction Bank Corp
Original Assignee
China Construction Bank Corp
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 China Construction Bank Corp filed Critical China Construction Bank Corp
Priority to CN202211233378.7A priority Critical patent/CN115599600A/zh
Publication of CN115599600A publication Critical patent/CN115599600A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/1448Management of the data involved in backup or backup restore
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, 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)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Quality & Reliability (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请公开了一种灾备切换方法、装置、存储介质及电子设备,识别分布式数据库OceanBase的主集群和备集群之间的同步模式,得到同步模式识别结果,当主集群受到灾备影响且同步模式识别结果为异地同步模式时,通过预设切换方式将受到灾备影响的主集群与备集群进行切换操作,确保受到灾备影响的主集群的业务不中断。无需通过人工切换方式对受到灾备影响的主集群的数据库进行灾备切换,只需识别分布式数据库OceanBase的主集群和备集群之间的同步模式,针对不同模式多方面考虑灾备切换过程中可能存在的异常情况,提高灾备切换的准确性。在异地同步模式下,通过预设切换方式实现自动化的灾备切换,减少人力物力,提高灾备切换的效率。

Description

一种灾备切换方法、装置、存储介质及电子设备
技术领域
本申请涉及数据库技术领域,更具体地说,涉及一种灾备切换方法、装置、存储介质及电子设备。
背景技术
随着数据量的快速增长,数据库运维成为互联网技术(Internet Technology,IT)运维的重中之重。但是由于自然灾害、设备故障或人为因素等原因,可能会导致数据的丢失和业务的中断。因此,需要对数据库进行灾备切换。
现有各类数据库的灾备切换方式通常使用人工切换的方式,使用人工切换的方式需要投入大量时间、人力成本、协调多位运维人员等,则会导致灾备切换的准确性低和效率低。
发明内容
有鉴于此,本申请公开了一种灾备切换方法、装置、存储介质及电子设备,旨在实现提高灾备切换的准确性和效率的目的。
为了实现上述目的,其公开的技术方案如下:
本申请第一方面公开了一种灾备切换方法,所述方法包括:
识别分布式数据库OceanBase的主集群和备集群之间的同步模式,得到同步模式识别结果;所述备集群为所述主集群的备用集群;所述备集群为多个;所述同步模式为所述主集群和所述备集群之间的数据传输模式;
当所述主集群受到灾备影响,且所述同步模式识别结果为异地同步模式时,在所述异地同步模式下,通过预设切换方式,将受到灾备影响的主集群与所述备集群进行切换操作,确保受到灾备影响的主集群的业务不中断。
优选的,所述同步模式包括异地同步模式或强同步模式,所述识别分布式数据库OceanBase的主集群和备集群之间的同步模式,得到同步模式识别结果,包括:
确定分布式数据库OceanBase的主集群与备集群之间的传输距离;
当所述传输距离大于预设传输距离时,确定分布式数据库OceanBase的主集群和备集群之间的同步模式的识别结果为异地同步模式;所述异地同步模式为不受网络延时和备库持久化日志时间影响的同步模式;
当所述传输距离小于等于所述预设传输距离时,确定分布式数据库OceanBase的主集群和备集群之间的同步模式的识别结果为强同步模式;所述强同步模式为受到网络延时和备库持久化日志时间影响的同步模式。
优选的,所述当所述主集群受到灾备影响,且所述同步模式识别结果为异地同步模式时,在所述异地同步模式下,通过预设切换方式,将受到灾备影响的主集群与所述备集群进行切换操作,确保受到灾备影响的主集群的业务不中断,包括:
当所述主集群受到灾备影响,且所述同步模式识别结果为所述异地同步模式时,在所述异地同步模式下,通过模拟切换方式对所述备集群进行模拟操作,得到模拟结果;所述模拟操作用于测试所述备集群是否能正常接管受到灾备影响的主集群所有业务的操作;
当所述模拟结果表征所述备集群正常接管受到灾备影响的主集群所有业务的模拟结果时,通过正切切换方式,将受到灾备影响的主集群与所述备集群进行切换,使得所述备集群接管受到灾备影响的主集群的业务,确保受到灾备影响的主集群的业务不中断;所述正切切换方式为将受到灾备影响的主集群的数据库observer集群、受到灾备影响的主集群的OCP集群和受到灾备影响的主集群的OMS集群,对应转换为备集群的数据库observer集群、备集群的OCP集群和备集群的OMS集群的切换方式。
优选的,通过正切切换方式,将受到灾备影响的主集群与所述备集群进行切换的过程,包括:
对受到灾备影响的主集群的主数据库和所述备集群的备数据库进行第一停止应用操作;所述第一停止应用操作用于确保在受到灾备影响的主集群与所述备集群进行切换过程中数据不丢失的操作;
对第一停止应用操作后的主数据库和第一停止应用操作后的备数据库进行第一绿灯测试操作;所述第一绿灯测试操作用于查询第一停止应用操作后的主数据库的网络是否畅通和配置文件是否存在,第一停止应用操作后的备数据库的网络是否畅通和配置文件是否存在的操作;
对通过第一绿灯测试操作的主数据库和备数据库进行第一检查操作;所述第一检查操作用于检查主数据库和备数据库的数据库状态是否正常、主数据库和备数据库是否均处于可切换状态、主数据库和备数据库是否均已停止数据库全备的检查操作;所述数据库全备表征在预设时间内,对服务器管理的所有数据库数据进行备份;
当主数据库和备数据库均通过第一检查操作时,将受到灾备影响的主集群与所述备集群进行互切,得到新的主集群;所述新的主集群为互切前的备集群;所述新的备集群为互切前的灾备影响的主集群;
检查切换后的新的主集群与新的备集群的数据库状态;
当切换后的主集群的数据库状态与新的备集群的数据库状态均为正常时,启动所述新的主集群的应用。
优选的,还包括:
当受到灾备影响的主集群恢复正常时,通过回切切换方式,将所述新主集群与恢复正常的主集群进行切换,使得恢复正常的主集群恢复所有业务。
优选的,所述当受到灾备影响的主集群恢复正常时,通过回切切换方式,将所述新主集群与恢复正常的主集群进行切换,使得恢复正常的主集群恢复所有业务,包括:
当受到灾备影响的主集群恢复正常时,对所述新主集群和恢复正常的主集群进行第二停止应用操作;所述第二停止应用操作用于确保所述新主集群与恢复正常的主集群进行切换过程中数据不丢失的操作;
对第二停止应用操作后的新主集群的数据库和恢复正常的主集群的数据库进行第二绿灯测试操作;所述第二绿灯测试操作用于查询第二停止应用操作后的新主集群的网络是否畅通和配置文件是否存在,第二停止应用操作后的恢复正常的主集群的数据库的网络是否畅通和配置文件是否存在的操作;
对通过第二绿灯测试操作的新的主集群的数据库和恢复正常的主集群的数据库进行第二检查操作;所述第二检查操作用于检查新的主集群的数据库和恢复正常的主集群的数据库的数据库状态是否正常、新的主集群的数据库和恢复正常的主集群的数据库是否均处于可切换状态、新的主集群的数据库和恢复正常的主集群的数据库是否均已停止数据库全备的检查操作;所述数据库全备表征在预设时间内,对服务器管理的所有数据库数据进行备份;
当新的主集群的数据库和恢复正常的主集群的数据库均通过所述第二检查操作时,将新的主集群和恢复正常的主集群进行互切;
检查切换后的新的主集群的数据库和恢复正常的主集群的数据库状态;
当切换后的新的主集群的数据库和恢复正常的主集群的数据库均为正常时,启动恢复正常的主集群的应用。
本申请第二方面公开了一种灾备切换装置,所述装置包括:
识别单元,用于识别分布式数据库OceanBase的主集群和备集群之间的同步模式,得到同步模式识别结果;所述备集群为所述主集群的备用集群;所述备集群为多个;所述同步模式为所述主集群和所述备集群之间的数据传输模式;
第一切换单元,用于当所述主集群受到灾备影响,且所述同步模式识别结果为异地同步模式时,在所述异地同步模式下,通过预设切换方式,将受到灾备影响的主集群与所述备集群进行切换操作,确保受到灾备影响的主集群的业务不中断。
优选的,所述识别单元,包括:
第一确定模块,用于确定分布式数据库OceanBase的主集群与备集群之间的传输距离;
第二确定模块,用于当所述传输距离大于预设传输距离时,确定分布式数据库OceanBase的主集群和备集群之间的同步模式的识别结果为异地同步模式;所述异地同步模式为不受网络延时和备库持久化日志时间影响的同步模式;
第三确定模块,用于当所述传输距离小于等于所述预设传输距离时,确定分布式数据库OceanBase的主集群和备集群之间的同步模式的识别结果为强同步模式;所述强同步模式为受到网络延时和备库持久化日志时间影响的同步模式。
本申请第三方面公开了一种存储介质,所述存储介质包括存储的指令,其中,在所述指令运行时控制所述存储介质所在的设备执行如第一方面任意一项所述的灾备切换方法。
本申请第四方面公开了一种电子设备,包括存储器,以及一个或者一个以上的指令,其中一个或者一个以上指令存储于存储器中,且经配置以由一个或者一个以上处理器执行如第一方面任意一项所述的灾备切换方法。
经由上述技术方案可知,本申请公开了一种灾备切换方法、装置、存储介质及电子设备,识别分布式数据库OceanBase的主集群和备集群之间的同步模式,得到同步模式识别结果,备集群为主集群的备用集群,备集群为多个,同步模式为主集群和备集群之间的数据传输模式,当主集群受到灾备影响,且同步模式识别结果为异地同步模式时,在异地同步模式下,通过预设切换方式,将受到灾备影响的主集群与备集群进行切换操作,确保受到灾备影响的主集群的业务不中断。通过上述方案,无需通过人工切换的方式,对受到灾备影响的主集群的数据库进行灾备切换,只需识别分布式数据库OceanBase的主集群和备集群之间的同步模式,针对不同模式,多方面考虑灾备切换过程中可能存在的异常情况,提高灾备切换的准确性。在异地同步模式下,通过预设切换方式,实现自动化的灾备切换,减少人力物力,提高灾备切换的效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例公开的一种灾备切换方法的流程示意图;
图2为本申请实施例公开的数据库灾备切换系统架构图;
图3为本申请实施例公开的通过正切切换方式,将受到灾备影响的主集群与备集群进行切换操作的示意图;
图4为本申请实施例公开的通过回切切换方式,将受到灾备影响的主集群与备集群进行切换操作的示意图;
图5为本申请实施例公开的一种灾备切换装置的结构示意图;
图6为本申请实施例公开的一种电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在本申请中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
由背景技术可知,现有各类数据库的灾备切换方式通常使用人工切换的方式,使用人工切换的方式需要投入大量时间、人力成本、协调多位运维人员等,则会导致灾备切换的准确性低和效率低。
为了解决上述问题,本申请实施例公开了一种灾备切换方法、装置、存储介质及电子设备,确定分布式数据库OceanBase的主集群和备集群之间的同步模式,得到同步模式识别结果,备集群为主集群的备用集群,备集群为多个,同步模式为主集群和备集群之间的数据传输模式,当主集群受到灾备影响,且同步模式识别结果为异地同步模式时,在异地同步模式下,通过预设切换方式,将受到灾备影响的主集群与备集群进行切换操作,确保受到灾备影响的主集群的业务不中断。通过上述方案,无需通过人工切换的方式,对受到灾备影响的主集群的数据库进行灾备切换,只需确定分布式数据库OceanBase的主集群和备集群之间的同步模式,针对不同模式,多方面考虑灾备切换过程中可能存在的异常情况,提高灾备切换的准确性。在异地同步模式下,通过预设切换方式,实现自动化的灾备切换,减少人力物力,提高灾备切换的效率。具体实现方式通过下述实施例进行说明。
参考图1所示,为本申请实施例公开的一种灾备切换方法,该灾备切换方法主要包括如下步骤:
S101:识别分布式数据库OceanBase的主集群和备集群之间的同步模式,得到同步模式识别结果;备集群为主集群的备用集群;备集群为多个;同步模式为主集群和备集群之间的数据传输模式。
其中,备集群与主集群为异地。
分布式数据库OceanBase的主集群和备集群之间的同步模式包括异地同步模式和强同步模式。
为了方便理解异地同步模式和强同步模式,结合图2进行说明,图2示出了分布式数据库OceanBase灾备切换系统的示意图。图2仅为示例。
异地同步模式,如图2中标识“异步传输日志”部分。该异地同步模式下,每一条引擎层的操作(Redo)日志不需要等到主备集群同时落盘持久化后才认为该笔交易成功,主集群的Redo日志不需要强同步到备集群。该异地同步模式不会受网络延时和备库持久化日志时间的影响。
强同步模式,如图2中标识“同步传输日志”部分。该强同步模式下,每一条Redo日志都需要等到主备集群同时落盘持久化后,即数据真正写入磁盘后才认为该笔交易成功,主集群的Redo日志需要强同步到备集群。该强同步模式会受网络延时和备库持久化日志时间的影响。
其中,Redo日志是主数据库和备数据库的传输的内容,主备的同步就是通过传输redo日志来实现的。
图2中,RegionSH为区域上海;RegionHZ为区域杭州。
具体识别分布式数据库OceanBase的主集群和备集群之间的同步模式,得到同步模式识别结果的过程如A1-A3所示。
A1:确定分布式数据库OceanBase的主集群与备集群之间的传输距离。
A2:当传输距离大于预设传输距离时,确定分布式数据库OceanBase的主集群和备集群之间的同步模式识别结果为异地同步模式;异地同步模式为不受网络延时和备库持久化日志时间影响的同步模式。
本方案中,由于传输距离大于预设传输距离,且为保证主库性能最大化,备集群采用异地同步模式。在本方案中,针对的是OceanBase国产分布式新兴数据库,该数据库的特殊性在于主备数据库均是以集群存在,每个集群又通过副本实现数据一致性,相较于Oracle、mysql集中型数据库来说,切换更加复杂,操作步骤更加繁杂。
预设传输距离可以是500公里、1000公里等。预设传输距离的确定由技术人员根据实际情况进行设置,本申请不做具体限定。
A3:当传输距离小于等于预设传输距离时,确定分布式数据库OceanBase的主集群和备集群之间的同步模式识别结果为强同步模式;强同步模式为受到网络延时和备库持久化日志时间影响的同步模式。
其中,由于强同步模式为受到网络延时和备库持久化日志时间影响的同步模式,因此当分布式数据库OceanBase的主集群与备集群之间的传输距离小于等于预设传输距离时,即在强同步模式下,分布式数据库OceanBase的主集群与备集群之间灾备切换的效率高。
S102:当主集群受到灾备影响,且同步模式识别结果为异地同步模式时,在异地同步模式下,通过预设切换方式,将受到灾备影响的主集群与备集群进行切换操作,确保受到灾备影响的主集群的业务不中断。
在上述图2中,在分布式数据库OceanBase的数据库灾备切换场景中,主备库配置支持1个主集群和最多31个备集群,通常管理主集群和备集群是通过结构化查询语言(Structured Query Language,SQL)或者Oracle数据库认证专家(Oracle CertifiedProfessional,OCP)管理组件。
在实际生活中,一般主集群为生产集群,它的特点是可以接受应用的读写,并且可以做到数据强一致性。它的角色是PRIMATY角色,即PRIMATY角色对应的数据库为主数据库。
备集群一般与主集群为异地,保证了主集群在发生自然灾害等不可逆伤害时可以启用备集群做接管,备集群是主集群的一个数据备份,用于保证数据一致性,它的角色是PHYSICAL STANDBY角色。
主备集群的传输服务是通过Redo日志,即主集群会自动将Redo日志传输到备集群,从而实现主备的数据同步。
预设切换方式即为正切切换方式。正切切换方式指的是备库切换成为主库,主库成为备库。
具体当主集群受到灾备影响,且同步模式识别结果为异地同步模式时,在异地同步模式下,通过预设切换方式,将受到灾备影响的主集群与备集群进行切换操作,确保受到灾备影响的主集群的业务不中断的过程,如B1-B2所示。
B1:当主集群受到灾备影响,且同步模式识别结果为异地同步模式时,在异地同步模式下,通过模拟切换方式对备集群进行模拟操作,得到模拟结果;模拟操作用于测试备集群是否能正常接管受到灾备影响的主集群所有业务的操作。
其中,模拟切换方式可以是switchover切换方式、Failover切换方式等。本方案优选switchover切换方式。
本方案切换场景使用switchover切换方式,即有计划的进行角色互换,从而确保备库搭建正常且正常运行。Switchover切换方式通常是无损的,即不会有数据丢失。该系统具备OceanBase数据库专家经验的自动应用,可以实现快速准确切换。
通过switchover切换方式,模拟切换备集群,来确定备集群能正常接管主集群。
B2:当模拟结果表征备集群正常接管受到灾备影响的主集群所有业务的模拟结果时,通过正切切换方式,将受到灾备影响的主集群与备集群进行切换,使得备集群接管受到灾备影响的主集群的业务,确保受到灾备影响的主集群的业务不中断;正切切换方式为将受到灾备影响的主集群的数据库observer集群、受到灾备影响的主集群的云平台(OceanBase Cloud Platform,OCP)集群和受到灾备影响的主集群的OMS集群,对应转换为备集群的数据库的内核observer集群、备集群的OCP集群和备集群的数据迁移服务(OceanBase Migration Service,OMS)集群的切换方式。
其中,Observer即为OceanBase组件。Observer为OceanBase数据库的内核,通过分布式一致性协议Paxos保证了高可用性。
OCP即为OceanBase组件。面向运维人员的工具OCP,白屏化管理和运维OceanBase的工具。
OMS即为OceanBase组件。OMS提供了数据的在线迁移和实时增量同步的数据复制的工具。
具体正切切换方式参考图3所示,图3示出了通过正切切换方式,将受到灾备影响的主集群与备集群进行切换的示意图。
图3中,正切切换方式指的是备数据库切换成为主数据库,主数据库成为备数据库。反之即为回切切换方式。在正切切换过程中,需要分别切换数据库observer集群、OCP集群和OMS集群。
另外,切换系统为客户信息系统,它分为对私南集群、对私北集群和对公集群。正切切换过程中含有对私南集群、北集群和对公集群的数据库observer集群、OCP和OMS的分别切换。
具体通过正切切换方式,将受到灾备影响的主集群与备集群进行切换,如C1-C6所示。
C1:对受到灾备影响的主集群的主数据库和所述备集群的备数据库进行第一停止应用操作;第一停止应用操作用于确保在受到灾备影响的主集群与备集群进行切换过程中数据不丢失的操作。
其中,本方案为有计划的切换演练,所以需要在应用停止的情况下来实现切换,从而保证数据不丢失。
C2:对第一停止应用操作后的主数据库和第一停止应用操作后的备数据库进行第一绿灯测试操作;第一绿灯测试操作用于查询第一停止应用操作后的主数据库的网络是否畅通和配置文件是否存在,第一停止应用操作后的备数据库的网络是否畅通和配置文件是否存在的操作。
如图3所示,第一绿灯测试操作包括对私OB南集群的绿灯测试、对私OB北集群的绿灯测试和对公OB集群的绿灯测试。
第一绿灯测试包括查询网络是否畅通、配置文件是否存在等内容第一绿灯测试成功才能进行下一步。
C3:对通过第一绿灯测试操作的主数据库和备数据库进行第一检查操作;第一检查操作用于检查主数据库和备数据库的数据库状态是否正常、主数据库和备数据库是否均处于可切换状态、主数据库和备数据库是否均已停止数据库全备的检查操作;数据库全备表征在预设时间内,对服务器管理的所有数据库数据进行备份。
其中,预设时间可以是5分钟,也可以是30分钟等。具体预设时间的确定由技术人员根据实际情况进行设置,本申请不做具体限定。
如图3所示,第一检查操作包括对私OB南集群检查、对私OB北集群检查和对公OB集群检查。
数据库全备即为分布式存储服务(Cloud Object Storage,COS)全备。
灾备切换前进行第一检查操作(检查、修正、重检)。第一检查操作包括检查主备数据库状态是否正常(包括集群角色、状态、保护模式和保护级别等内容)、检查主备数据库是否为可切换状态、检查主数据库是否已停止COS全备。
如果没有停止COS全备,在此步骤会进行修正,自动停止COS全备。等一切准备就绪后,数据库会重检切换前一系列检查,直到检查无误,各方面具备才会进行下一步。本方案的亮点之一为该步骤。传统的灾备切换,需要人工在切换前进行一系列的检查、修正及重建,耗时耗力,而一键式切换方案可以基本上实现零人工,自主检查切换前状态。
进行自主检查切换前状态的具体过程如下:
首先查询集群的状态(status)是否处于活动(active)状态;
若status处于active状态,则查询集群的开始时间(start_time)是否正常;
若start_time正常,则查询集群的结束时间(stop_time)是否正常;
若stop_time正常,则查看数据库的全备状态是否处于全备已停状态;
若数据库的全备状态处于全备已停状态,则执行C4,若数据库的全备状态处于全备未停状态,则执行进行修正,自动停止COS全备,并返回执行查看数据库的全备状态是否处于全备已停状态这一步骤。
C4:当主数据库和备数据库均通过第一检查操作时,将受到灾备影响的主集群与备集群进行互切,得到新的主集群;新的主集群为互切前的备集群;新的备集群为互切前的灾备影响的主集群。
C5:检查切换后的新的主集群与新的备集群的数据库状态。
其中,切换后检查新的主集群与新的备集群的数据库状态。确认切换后的新的主集群与新的备集群的数据库状态是否正常。
C6:当切换后的主集群的数据库状态与新的备集群的数据库状态均为正常时,启动新的主集群的应用。
数据库正常后启动应用,此时交易在新的主集群正常运行则切换成功。
以上C1-C6内容脚本均采用shell编程实现,通过前后端交互做成界面,提供友好界面供用户使用。
当受到灾备影响的主集群恢复正常时,通过回切切换方式,将新主集群与恢复正常的主集群进行切换,使得恢复正常的主集群恢复所有业务。
其中,回切切换方式是指主数据库切换成备数据库,备数据库切换成为主数据库。
具体当受到灾备影响的主集群恢复正常时,通过回切切换方式,将新主集群与恢复正常的主集群进行切换,使得恢复正常的主集群恢复所有业务的过程如D1-D6所示,并结合图4进行说明,图4示出了通过回切切换方式,将受到灾备影响的主集群与备集群进行切换的示意图。
D1:当受到灾备影响的主集群恢复正常时,对新主集群和恢复正常的主集群进行第二停止应用操作;第二停止应用操作用于确保新主集群与恢复正常的主集群进行切换过程中数据不丢失的操作。
D2:对第二停止应用操作后的新主集群的数据库和恢复正常的主集群的数据库进行第二绿灯测试操作;第二绿灯测试操作用于查询第二停止应用操作后的新主集群的网络是否畅通和配置文件是否存在,第二停止应用操作后的恢复正常的主集群的数据库的网络是否畅通和配置文件是否存在的操作。
如图4所示,第二绿灯测试操作包括对私OB南集群的绿灯测试、对私OB北集群的绿灯测试和对公OB集群的绿灯测试。
第二绿灯测试包括查询网络是否畅通、配置文件是否存在等内容,第二绿灯测试成功才能进行D3。
D3:对通过第二绿灯测试操作的新的主集群的数据库和恢复正常的主集群的数据库进行第二检查操作;第二检查操作用于检查新的主集群的数据库和恢复正常的主集群的数据库的数据库状态是否正常、新的主集群的数据库和恢复正常的主集群的数据库是否均处于可切换状态、新的主集群的数据库和恢复正常的主集群的数据库是否均已停止数据库全备的检查操作;数据库全备表征在预设时间内,对服务器管理的所有数据库数据进行备份。
其中,预设时间可以是7分钟,也可以是25分钟等。具体预设时间的确定由技术人员根据实际情况进行设置,本申请不做具体限定。
如图4所示,第二检查操作包括对私OB南集群检查、对私OB北集群检查和对公OB集群检查。
D4:当新的主集群的数据库和恢复正常的主集群的数据库均通过第二检查操作时,将新的主集群和恢复正常的主集群进行互切。
D5:检查切换后的新的主集群的数据库和恢复正常的主集群的数据库状态。
D6:当切换后的新的主集群的数据库和恢复正常的主集群的数据库均为正常时,启动恢复正常的主集群的应用。
本方案旨在通过自动化切换代替人工操作来实现OceanBase数据库的灾备切换。OceanBase的主备库高可用架构是高可用能力的重要补充。当主集群出现不可用情况时,备集群可以接管主集群,并且可以做到最大数据丢失量RPO=0,即无损切换的容灾能力。其中,RPO为灾难发生时衡量业务最大数据丢失量。
通过测试,充分验证了本方案的实用性、规范性和普适性。实用性体现在本申请平滑的实现了OceanBase数据库的正切回切过程,减少人力物力,多方面考虑过程中可能存在的异常情况,一一进行自动化验证,高效实用的实现了灾备切换。规范性体现在了过程流程化、可视化、自动化,加速切换过程。普适性体现在本申请的思想可以用于多种数据库的切换流程,比如Oracle数据库、关系型分布式数据库(goldendb)等,只需要将切换实体修改为响应数据库即可。
本申请实施例中,无需通过人工切换的方式,对受到灾备影响的主集群的数据库进行灾备切换,只需确定分布式数据库OceanBase的主集群和备集群之间的同步模式,针对不同模式,多方面考虑灾备切换过程中可能存在的异常情况,提高灾备切换的准确性。在异地同步模式下,通过预设切换方式,实现自动化的灾备切换,减少人力物力,提高灾备切换的效率。
基于上述实施例图1公开的一种灾备切换方法,本申请实施例还对应公开了一种灾备切换装置,如图5所示,该灾备切换装置包括识别单元501和第一切换单元502。
识别单元501,用于识别分布式数据库OceanBase的主集群和备集群之间的同步模式,得到同步模式识别结果;备集群为所述主集群的备用集群;备集群为多个;同步模式为所述主集群和备集群之间的数据传输模式。
第一切换单元502,用于当主集群受到灾备影响,且同步模式识别结果为异地同步模式时,在异地同步模式下,通过预设切换方式,将受到灾备影响的主集群与备集群进行切换操作,确保受到灾备影响的主集群的业务不中断。
进一步的,识别单元501,包括第一确定模块、第二确定模块和第三确定模块。
第一确定模块,用于确定分布式数据库OceanBase的主集群与备集群之间的传输距离。
第二确定模块,用于当传输距离大于预设传输距离时,确定分布式数据库OceanBase的主集群和备集群之间的同步模式识别结果为异地同步模式;异地同步模式为不受网络延时和备库持久化日志时间影响的同步模式。
第三确定模块,用于当传输距离小于等于预设传输距离时,确定分布式数据库OceanBase的主集群和备集群之间的同步模式识别结果为强同步模式;强同步模式为受到网络延时和备库持久化日志时间影响的同步模式。
进一步的,第一切换单元502,包括操作模块和切换模块。
操作模块,用于当主集群受到灾备影响,且同步模式识别结果为异地同步模式时,在异地同步模式下,通过模拟切换方式对备集群进行模拟操作,得到模拟结果;模拟操作用于测试备集群是否能正常接管受到灾备影响的主集群所有业务的操作。
切换模块,用于当模拟结果表征备集群正常接管受到灾备影响的主集群所有业务的模拟结果时,通过正切切换方式,将受到灾备影响的主集群与备集群进行切换,使得备集群接管受到灾备影响的主集群的业务,确保受到灾备影响的主集群的业务不中断;正切切换方式为将受到灾备影响的主集群的数据库observer集群、受到灾备影响的主集群的OCP集群和受到灾备影响的主集群的OMS集群,对应转换为备集群的数据库observer集群、备集群的OCP集群和备集群的OMS集群的切换方式。
进一步的,切换模块,包括第一操作子模块、第二操作子模块、第三操作子模块、第四操作子模块、第一检查子模块和第一启动子模块。
第一操作子模块,用于对受到灾备影响的主集群的主数据库和备集群的备数据库进行第一停止应用操作;第一停止应用操作用于确保在受到灾备影响的主集群与备集群进行切换过程中数据不丢失的操作。
第二操作子模块,用于对第一停止应用操作后的主数据库和第一停止应用操作后的备数据库进行第一绿灯测试操作;第一绿灯测试操作用于查询第一停止应用操作后的主数据库的网络是否畅通和配置文件是否存在,第一停止应用操作后的备数据库的网络是否畅通和配置文件是否存在的操作。
第三操作子模块,用于对通过第一绿灯测试操作的主数据库和备数据库进行第一检查操作;第一检查操作用于检查主数据库和备数据库的数据库状态是否正常、主数据库和备数据库是否均处于可切换状态、主数据库和备数据库是否均已停止数据库全备的检查操作;数据库全备表征在预设时间内,对服务器管理的所有数据库数据进行备份。
第四操作子模块,用于当主数据库和备数据库均通过第一检查操作时,将受到灾备影响的主集群与备集群进行互切,得到新的主集群;新的主集群为互切前的备集群;新的备集群为互切前的灾备影响的主集群。
第一检查子模块,用于检查切换后的新的主集群与新的备集群的数据库状态。
第一启动子模块,用于当切换后的主集群的数据库状态与新的备集群的数据库状态均为正常时,启动新的主集群的应用。
进一步的,灾备切换装置还包括第二切换单元。
第二切换单元,用于当受到灾备影响的主集群恢复正常时,通过回切切换方式,将新主集群与恢复正常的主集群进行切换,使得恢复正常的主集群恢复所有业务。
进一步的,第二切换单元,包括第五操作子模块、第六操作子模块、第七操作子模块、第八操作子模块、第二检查子模块和第二启动模块。
第五操作子模块,用于当受到灾备影响的主集群恢复正常时,对新主集群和恢复正常的主集群进行第二停止应用操作;第二停止应用操作用于确保新主集群与恢复正常的主集群进行切换过程中数据不丢失的操作。
第六操作子模块,用于对第二停止应用操作后的新主集群的数据库和恢复正常的主集群的数据库进行第二绿灯测试操作;第二绿灯测试操作用于查询第二停止应用操作后的新主集群的网络是否畅通和配置文件是否存在,第二停止应用操作后的恢复正常的主集群的数据库的网络是否畅通和配置文件是否存在的操作。
第七操作子模块,用于对通过第二绿灯测试操作的新的主集群的数据库和恢复正常的主集群的数据库进行第二检查操作;第二检查操作用于检查新的主集群的数据库和恢复正常的主集群的数据库的数据库状态是否正常、新的主集群的数据库和恢复正常的主集群的数据库是否均处于可切换状态、新的主集群的数据库和恢复正常的主集群的数据库是否均已停止数据库全备的检查操作;数据库全备表征在预设时间内,对服务器管理的所有数据库数据进行备份。
第八操作子模块,用于当新的主集群的数据库和恢复正常的主集群的数据库均通过第二检查操作时,将新的主集群和恢复正常的主集群进行互切。
第二检查子模块,用于检查切换后的新的主集群的数据库和恢复正常的主集群的数据库状态。
第二启动子模块,用于当切换后的新的主集群的数据库和恢复正常的主集群的数据库均为正常时,启动恢复正常的主集群的应用。
本申请实施例中,无需通过人工切换的方式,对受到灾备影响的主集群的数据库进行灾备切换,只需确定分布式数据库OceanBase的主集群和备集群之间的同步模式,针对不同模式,多方面考虑灾备切换过程中可能存在的异常情况,提高灾备切换的准确性。在异地同步模式下,通过预设切换方式,实现自动化的灾备切换,减少人力物力,提高灾备切换的效率。
本申请实施例还提供了一种存储介质,存储介质包括存储的指令,其中,在指令运行时控制存储介质所在的设备执行上述灾备切换方法。
本申请实施例还提供了一种电子设备,其结构示意图如图6所示,具体包括存储器601,以及一个或者一个以上的指令602,其中一个或者一个以上指令602存储于存储器601中,且经配置以由一个或者一个以上处理器603执行所述一个或者一个以上指令602执行上述灾备切换方法。
上述各个实施例的具体实施过程及其衍生方式,均在本申请的保护范围之内。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。

Claims (10)

1.一种灾备切换方法,其特征在于,所述方法包括:
识别分布式数据库OceanBase的主集群和备集群之间的同步模式,得到同步模式识别结果;所述备集群为所述主集群的备用集群;所述备集群为多个;所述同步模式为所述主集群和所述备集群之间的数据传输模式;
当所述主集群受到灾备影响,且所述同步模式识别结果为异地同步模式时,在所述异地同步模式下,通过预设切换方式,将受到灾备影响的主集群与所述备集群进行切换操作,确保受到灾备影响的主集群的业务不中断。
2.根据权利要求1所述的方法,其特征在于,所述同步模式包括异地同步模式或强同步模式,所述识别分布式数据库OceanBase的主集群和备集群之间的同步模式,得到同步模式识别结果,包括:
确定分布式数据库OceanBase的主集群与备集群之间的传输距离;
当所述传输距离大于预设传输距离时,确定分布式数据库OceanBase的主集群和备集群之间的同步模式识别结果为异地同步模式;所述异地同步模式为不受网络延时和备库持久化日志时间影响的同步模式;
当所述传输距离小于等于所述预设传输距离时,确定分布式数据库OceanBase的主集群和备集群之间的同步模式识别结果为强同步模式;所述强同步模式为受到网络延时和备库持久化日志时间影响的同步模式。
3.根据权利要求2所述的方法,其特征在于,所述当所述主集群受到灾备影响,且所述同步模式识别结果为异地同步模式时,在所述异地同步模式下,通过预设切换方式,将受到灾备影响的主集群与所述备集群进行切换操作,确保受到灾备影响的主集群的业务不中断,包括:
当所述主集群受到灾备影响,且所述同步模式识别结果为所述异地同步模式时,在所述异地同步模式下,通过模拟切换方式对所述备集群进行模拟操作,得到模拟结果;所述模拟操作用于测试所述备集群是否能正常接管受到灾备影响的主集群所有业务的操作;
当所述模拟结果表征所述备集群正常接管受到灾备影响的主集群所有业务的模拟结果时,通过正切切换方式,将受到灾备影响的主集群与所述备集群进行切换,使得所述备集群接管受到灾备影响的主集群的业务,确保受到灾备影响的主集群的业务不中断;所述正切切换方式为将受到灾备影响的主集群的数据库observer集群、受到灾备影响的主集群的OCP集群和受到灾备影响的主集群的OMS集群,对应转换为备集群的数据库observer集群、备集群的OCP集群和备集群的OMS集群的切换方式。
4.根据权利要求3所述的方法,其特征在于,通过正切切换方式,将受到灾备影响的主集群与所述备集群进行切换的过程,包括:
对受到灾备影响的主集群的主数据库和所述备集群的备数据库进行第一停止应用操作;所述第一停止应用操作用于确保在受到灾备影响的主集群与所述备集群进行切换过程中数据不丢失的操作;
对第一停止应用操作后的主数据库和第一停止应用操作后的备数据库进行第一绿灯测试操作;所述第一绿灯测试操作用于查询第一停止应用操作后的主数据库的网络是否畅通和配置文件是否存在,第一停止应用操作后的备数据库的网络是否畅通和配置文件是否存在的操作;
对通过第一绿灯测试操作的主数据库和备数据库进行第一检查操作;所述第一检查操作用于检查主数据库和备数据库的数据库状态是否正常、主数据库和备数据库是否均处于可切换状态、主数据库和备数据库是否均已停止数据库全备的检查操作;所述数据库全备表征在预设时间内,对服务器管理的所有数据库数据进行备份;
当主数据库和备数据库均通过第一检查操作时,将受到灾备影响的主集群与所述备集群进行互切,得到新的主集群;所述新的主集群为互切前的备集群;所述新的备集群为互切前的灾备影响的主集群;
检查切换后的新的主集群与新的备集群的数据库状态;
当切换后的主集群的数据库状态与新的备集群的数据库状态均为正常时,启动所述新的主集群的应用。
5.根据权利要求4所述的方法,其特征在于,还包括:
当受到灾备影响的主集群恢复正常时,通过回切切换方式,将所述新主集群与恢复正常的主集群进行切换,使得恢复正常的主集群恢复所有业务。
6.根据权利要求5所述的方法,其特征在于,所述当受到灾备影响的主集群恢复正常时,通过回切切换方式,将所述新主集群与恢复正常的主集群进行切换,使得恢复正常的主集群恢复所有业务,包括:
当受到灾备影响的主集群恢复正常时,对所述新主集群和恢复正常的主集群进行第二停止应用操作;所述第二停止应用操作用于确保所述新主集群与恢复正常的主集群进行切换过程中数据不丢失的操作;
对第二停止应用操作后的新主集群的数据库和恢复正常的主集群的数据库进行第二绿灯测试操作;所述第二绿灯测试操作用于查询第二停止应用操作后的新主集群的网络是否畅通和配置文件是否存在,第二停止应用操作后的恢复正常的主集群的数据库的网络是否畅通和配置文件是否存在的操作;
对通过第二绿灯测试操作的新的主集群的数据库和恢复正常的主集群的数据库进行第二检查操作;所述第二检查操作用于检查新的主集群的数据库和恢复正常的主集群的数据库的数据库状态是否正常、新的主集群的数据库和恢复正常的主集群的数据库是否均处于可切换状态、新的主集群的数据库和恢复正常的主集群的数据库是否均已停止数据库全备的检查操作;所述数据库全备表征在预设时间内,对服务器管理的所有数据库数据进行备份;
当新的主集群的数据库和恢复正常的主集群的数据库均通过所述第二检查操作时,将新的主集群和恢复正常的主集群进行互切;
检查切换后的新的主集群的数据库和恢复正常的主集群的数据库状态;
当切换后的新的主集群的数据库和恢复正常的主集群的数据库均为正常时,启动恢复正常的主集群的应用。
7.一种灾备切换装置,其特征在于,所述装置包括:
识别单元,用于识别分布式数据库OceanBase的主集群和备集群之间的同步模式,得到同步模式识别结果;所述备集群为所述主集群的备用集群;所述备集群为多个;所述同步模式为所述主集群和所述备集群之间的数据传输模式;
第一切换单元,用于当所述主集群受到灾备影响,且所述同步模式识别结果为异地同步模式时,在所述异地同步模式下,通过预设切换方式,将受到灾备影响的主集群与所述备集群进行切换操作,确保受到灾备影响的主集群的业务不中断。
8.根据权利要求7所述的装置,其特征在于,所述识别单元,包括:
第一确定模块,用于确定分布式数据库OceanBase的主集群与备集群之间的传输距离;
第二确定模块,用于当所述传输距离大于预设传输距离时,确定分布式数据库OceanBase的主集群和备集群之间的同步模式的识别结果为异地同步模式;所述异地同步模式为不受网络延时和备库持久化日志时间影响的同步模式;
第三确定模块,用于当所述传输距离小于等于所述预设传输距离时,确定分布式数据库OceanBase的主集群和备集群之间的同步模式的识别结果为强同步模式;所述强同步模式为受到网络延时和备库持久化日志时间影响的同步模式。
9.一种存储介质,其特征在于,所述存储介质包括存储的指令,其中,在所述指令运行时控制所述存储介质所在的设备执行如权利要求1至6任意一项所述的灾备切换方法。
10.一种电子设备,其特征在于,包括存储器,以及一个或者一个以上的指令,其中一个或者一个以上指令存储于存储器中,且经配置以由一个或者一个以上处理器执行如权利要求1至6任意一项所述的灾备切换方法。
CN202211233378.7A 2022-10-10 2022-10-10 一种灾备切换方法、装置、存储介质及电子设备 Pending CN115599600A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211233378.7A CN115599600A (zh) 2022-10-10 2022-10-10 一种灾备切换方法、装置、存储介质及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211233378.7A CN115599600A (zh) 2022-10-10 2022-10-10 一种灾备切换方法、装置、存储介质及电子设备

Publications (1)

Publication Number Publication Date
CN115599600A true CN115599600A (zh) 2023-01-13

Family

ID=84847189

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211233378.7A Pending CN115599600A (zh) 2022-10-10 2022-10-10 一种灾备切换方法、装置、存储介质及电子设备

Country Status (1)

Country Link
CN (1) CN115599600A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116610499A (zh) * 2023-07-19 2023-08-18 联想凌拓科技有限公司 文件系统中的集群角色切换方法、装置、设备及介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116610499A (zh) * 2023-07-19 2023-08-18 联想凌拓科技有限公司 文件系统中的集群角色切换方法、装置、设备及介质
CN116610499B (zh) * 2023-07-19 2023-11-03 联想凌拓科技有限公司 文件系统中的集群角色切换方法、装置、设备及介质

Similar Documents

Publication Publication Date Title
CN109901949B (zh) 双活数据中心的应用灾备系统及方法
CN107491343B (zh) 一种基于云计算的跨集群资源调度系统
EP2541413A1 (en) Systems and Methods for Data Integrity Checking
CN103853837B (zh) Oracle全自动不停生产数据库的表级备份恢复方法
CN104660386A (zh) 一种基于安腾平台下提高db2容灾高可用性的方法
CN112235142B (zh) 一种可实现关键业务容灾的用电信息采集系统及其运行方法
MXPA06005797A (es) Sistema y metodo para la recuperacion en caso de fallas.
WO2018192534A1 (zh) 节点设备运行方法、工作状态切换装置、节点设备及介质
CN104765652B (zh) 一种数据备份和数据恢复方法及装置
US20230004465A1 (en) Distributed database system and data disaster backup drilling method
CN115599600A (zh) 一种灾备切换方法、装置、存储介质及电子设备
CN105183544A (zh) 一种非阻塞式容错的分布式事务提交方法及系统
CN105938446B (zh) 基于rdma和硬件事务性内存支持的数据复制容错方法
CN114422331A (zh) 容灾切换方法、装置及系统
CN105323271B (zh) 一种云计算系统以及云计算系统的处理方法和装置
CN117708242A (zh) 一种GoldenDB数据库灾备同步关系的搭建方法及相关装置
CN105630626A (zh) 事务备份处理方法及装置
CN116974816A (zh) 一种异地双节点服务的灾备系统
CN111125060A (zh) 一种数据库管理方法、系统、设备及存储介质
CN107483257B (zh) 一种基于x86和arm混合环境的应用系统部署方法及架构
CN103780433B (zh) 自愈式虚拟资源配置管理数据架构
CN111581221B (zh) 一种分布式多站融合系统信息冗余存储与重构的方法
KR101589213B1 (ko) 백업 데이터베이스를 활용한 운영 데이터베이스 부하 분산 방법
KR20100061983A (ko) 실시간 복제 환경의 데이터베이스 운용 관리 방법 및 시스템
CN106649419A (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