1.本发明属于数据库切换技术领域,尤其涉及一种异构容灾方案的数据库切换方法、电子设备和介质。
背景技术:
2.数据库做为核心资源,为了应对单idc(internet data center,互联网数据中心)故障,需要有快速在异地idc恢复业务的能力,因此基于sql server搭建了多中心高可用架构。sql server(一种关系型数据库管理系统)的高可用架构有多种,包括ag(availability group,可用性群组)技术、replication(复制)技术、mirror(镜像)技术、log shipping(日志传送)技术等。目前,数据库切换往往速度较慢、耗时较长,业务中断时间较多。
技术实现要素:
3.本发明要解决的技术问题是为了克服现有技术中数据库切换速度较慢、耗时较长,业务中断时间较多的缺陷,提供一种异构容灾方案的数据库切换方法、电子设备和介质。
4.本发明是通过下述技术方案来解决上述技术问题:
5.本发明提供一种异构容灾方案的数据库切换方法,包括以下步骤:
6.s1、若干个中心中的每一个中心运行心跳监测程序以监测其他中心的健康状态,并基于投票算法确定目标中心是否正常,若否,则生成切换指令;
7.s2、根据切换指令切换目标中心对应的数据库。
8.较佳地,步骤s1具体包括:
9.如果中心监测到目标中心的健康状态为监测失败,则通知若干个中心中的除中心和目标中心以外的其他中心对目标中心进行监测,并基于少数服从多数原则确定目标中心是否正常。
10.较佳地,步骤s2具体包括:从cmdb(configuration management database,配置管理数据库)获取故障集群信息,发送到统一消息平台,并基于切换处理程序消费数据。
11.较佳地,步骤s2还包括:对切换过程的完整性进行验证。
12.较佳地,在步骤s2之后,异构容灾方案的数据库切换方法还包括:
13.s3、生成切换报告。
14.较佳地,在步骤s3之后,异构容灾方案的数据库切换方法还包括:
15.s4、将切换报告汇总到统一告警平台进行展示。
16.较佳地,异构容灾方案的数据库切换方法应用于容灾架构。
17.较佳地,步骤s2具体包括:识别数据库的容灾方案,根据容灾方案执行数据库切换。
18.本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现本发明的异构容灾方案的数据库切
换方法。
19.本发明还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现本发明的异构容灾方案的数据库切换方法。
20.本发明的积极进步效果在于:基于本发明的技术方案,当出现idc故障后,能在一分钟内完成上百个实例切换,提升了切换的效率,而且又兼顾到了各种容灾方案。
附图说明
21.图1为本发明的实施例1的异构容灾方案的数据库切换方法的流程图。
22.图2为本发明的实施例2的电子设备的结构示意图。
具体实施方式
23.下面通过实施例的方式进一步说明本发明,但并不因此将本发明限制在所述的实施例范围之中。
24.实施例1
25.本实施例提供一种异构容灾方案的数据库切换方法。该异构容灾方案的数据库切换方法应用于容灾架构。参照图1,该异构容灾方案的数据库切换方法包括以下步骤:
26.步骤s1、若干个中心中的每一个中心运行心跳监测程序以监测其他中心的健康状态,并基于投票算法确定目标中心是否正常,若否,则生成切换指令。
27.步骤s2、根据切换指令切换目标中心对应的数据库。
28.步骤s3、生成切换报告。
29.步骤s4、将切换报告汇总到统一告警平台进行展示。
30.作为一种可选的实施方式,该异构容灾方案的数据库切换方法对应的容灾架构包括ag技术。
31.在一种具体应用场景中,同城设置三个中心,分别为中心a、中心b、中心c。在这三个中心各自部署心跳监测程序,间隔性通报彼此的健康状态,每收到一个节点的通报代表一票。并基于投票算法确定目标中心是否正常。投票算法基于投票结果少数服从多数。如中心a在对中心b、中心c进行心跳监测时,发现对中心b监测失败,于是通知中心c发起对中心b监测。如果中心c对中心b的监测也失败,即中心a、中心c都认为中心b已无法正常提供服务,也即中心b发生idc故障,于是发起切换指令。
32.在步骤s2中,中心b的健康监测程序收到切换操作指令,自动从cmdb获取故障集群信息,发送到统一消息平台,由中心b的切换处理程序消费数据以进行数据库切换。
33.在步骤s2中,切换处理程序接收消息,通过设定的标准流程工艺保证切换过程中的完整性验证。而现有技术缺少流程校验,出现故障也无法自动识别回滚。同时应对大批量切换时,现有技术切换慢,而本实施例的异构容灾方案的数据库切换方法采用启动上百个切换队列,可以做到分布式并发执行操作指令,大幅提升切换速度。
34.在步骤s3中,切换完成后,生成切换报告。然后,在步骤s4中,将切换报告汇总到统一告警平台进行展示,便于用户及时了解数据库切换进度。
35.在一些可选的实施方式中,对于replication技术、mirror技术、log shipping技术等其他类型的容灾架构,也设置了相应的切换流程。具体实施时,在步骤s2中,对数据库
的不同容灾方案进行自动识别,然后进行相应的自动化切换流程。用户只需要输入是否是演练切换还是实际切换即可。
36.实际切换与演练切换的主要区别:
37.实际切换,跳过切换条件的必要检测,例如节点之间的数据同步是否存在延迟。而演练切换会有严格前置检测,例如数据库账号是否存在,是否存在为配置高可用db,数据同步是否存在延迟等等,如有一项检测不通过,则自动中止切换流程。
38.实际切换,是以idc故障为背景进行设计的,以快速恢复业务为主要目标。因此先跳过主从数据一致性校验步骤,待切换完成后,自动对比数据,对丢失的数据自动补全,而现有技术只能完成切换动作,无法识别数据是否缺失。而演练切换会对主从数据一致性校验,如从节点有数据缺失,则会从主节点拉取差异数据同步到从节点。
39.基于本实施例的异构容灾方案的数据库切换方法当出现idc故障后,能在一分钟内完成上百个实例切换,提升了切换的效率,而且又兼顾到了各种容灾方案。
40.实施例2
41.图2为本实施例提供的一种电子设备的结构示意图。所述电子设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现实施例1的异构容灾方案的数据库切换方法。图2显示的电子设备30仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
42.如图2所示,电子设备30可以以通用计算设备的形式表现,例如其可以为服务器设备。电子设备30的组件可以包括但不限于:上述至少一个处理器31、上述至少一个存储器32、连接不同系统组件(包括存储器32和处理器31)的总线33。
43.总线33包括数据总线、地址总线和控制总线。
44.存储器32可以包括易失性存储器,例如随机存取存储器(ram)321和/或高速缓存存储器322,还可以进一步包括只读存储器(rom)323。
45.存储器32还可以包括具有一组(至少一个)程序模块324的程序/实用工具325,这样的程序模块324包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
46.处理器31通过运行存储在存储器32中的计算机程序,从而执行各种功能应用以及数据处理,例如本发明实施例1的异构容灾方案的数据库切换方法。
47.电子设备30也可以与一个或多个外部设备34(例如键盘、指向设备等)通信。这种通信可以通过输入/输出(i/o)接口35进行。并且,模型生成的设备30还可以通过网络适配器36与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图所示,网络适配器36通过总线33与模型生成的设备30的其它模块通信。应当明白,尽管图中未示出,可以结合模型生成的设备30使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、raid(磁盘阵列)系统、磁带驱动器以及数据备份存储系统等。
48.应当注意,尽管在上文详细描述中提及了电子设备的若干单元/模块或子单元/模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多单元/模块的特征和功能可以在一个单元/模块中具体化。反之,上文描述的一个单元/模块的特征和功能可以进一步划分为由多个单元/模块来具体化。
49.实施例3
50.本实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现实施例1的异构容灾方案的数据库切换方法的步骤。
51.其中,可读存储介质可以采用的更具体可以包括但不限于:便携式盘、硬盘、随机存取存储器、只读存储器、可擦拭可编程只读存储器、光存储器件、磁存储器件或上述的任意合适的组合。
52.在可能的实施方式中,本发明还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行实现实施例1的异构容灾方案的数据库切换方法的步骤。
53.其中,可以以一种或多种程序设计语言的任意组合来编写用于执行本发明的程序代码,所述程序代码可以完全地在用户设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户设备上部分在远程设备上执行或完全在远程设备上执行。
54.虽然以上描述了本发明的具体实施方式,但是本领域的技术人员应当理解,这仅是举例说明,本发明的保护范围是由所附权利要求书限定的。本领域的技术人员在不背离本发明的原理和实质的前提下,可以对这些实施方式做出多种变更或修改,但这些变更和修改均落入本发明的保护范围。
技术特征:
1.一种异构容灾方案的数据库切换方法,其特征在于,包括以下步骤:s1、若干个中心中的每一个所述中心运行心跳监测程序以监测其他所述中心的健康状态,并基于投票算法确定目标中心是否正常,若否,则生成切换指令;s2、根据所述切换指令切换所述目标中心对应的数据库。2.如权利要求1所述异构容灾方案的数据库切换方法,其特征在于,步骤s1具体包括:如果所述中心监测到所述目标中心的健康状态为监测失败,则通知若干个中心中的除所述中心和所述目标中心以外的其他所述中心对所述目标中心进行监测,并基于少数服从多数原则确定所述目标中心是否正常。3.如权利要求1所述异构容灾方案的数据库切换方法,其特征在于,步骤s2具体包括:从cmdb获取故障集群信息,发送到统一消息平台,并基于切换处理程序消费数据。4.如权利要求3所述异构容灾方案的数据库切换方法,其特征在于,步骤s2还包括:对切换过程的完整性进行验证。5.如权利要求1所述异构容灾方案的数据库切换方法,其特征在于,在步骤s2之后,所述异构容灾方案的数据库切换方法还包括:s3、生成切换报告。6.如权利要求5所述异构容灾方案的数据库切换方法,其特征在于,在步骤s3之后,所述异构容灾方案的数据库切换方法还包括:s4、将所述切换报告汇总到统一告警平台进行展示。7.如权利要求1所述异构容灾方案的数据库切换方法,其特征在于,所述异构容灾方案的数据库切换方法应用于容灾架构。8.如权利要求7所述异构容灾方案的数据库切换方法,其特征在于,步骤s2具体包括:识别数据库的容灾方案,根据所述容灾方案执行数据库切换。9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至8中任一项所述的异构容灾方案的数据库切换方法。10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至8中任一项所述的异构容灾方案的数据库切换方法。
技术总结
本发明公开了一种异构容灾方案的数据库切换方法、电子设备和介质。其中数据库切换方法包括:若干个中心中的每一个中心运行心跳监测程序以监测其他中心的健康状态,并基于投票算法确定目标中心是否正常,若否,则生成切换指令;根据切换指令切换目标中心对应的数据库。当出现IDC故障后,本发明能在一分钟内完成上百个实例切换,提升了切换的效率,而且又兼顾到了各种容灾方案。顾到了各种容灾方案。顾到了各种容灾方案。
技术研发人员:饶辉
受保护的技术使用者:携程科技(上海)有限公司
技术研发日:2022.02.18
技术公布日:2022/5/25
转载请注明原文地址:https://tc.8miu.com/read-7902.html