CN115134213B - 一种容灾方法、装置、设备及存储介质 - Google Patents
一种容灾方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN115134213B CN115134213B CN202110322564.7A CN202110322564A CN115134213B CN 115134213 B CN115134213 B CN 115134213B CN 202110322564 A CN202110322564 A CN 202110322564A CN 115134213 B CN115134213 B CN 115134213B
- Authority
- CN
- China
- Prior art keywords
- data
- database
- auditing
- target
- result
- 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.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0654—Management of faults, events, alarms or notifications using network fault recovery
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02A—TECHNOLOGIES FOR ADAPTATION TO CLIMATE CHANGE
- Y02A10/00—TECHNOLOGIES FOR ADAPTATION TO CLIMATE CHANGE at coastal zones; at river basins
- Y02A10/40—Controlling or monitoring, e.g. of flood or hurricane; Forecasting, e.g. risk assessment or mapping
Abstract
本申请公开了一种容灾方法、装置、设备及存储介质。该容灾方法包括:按照预设周期稽核目标对象信息,得到稽核结果,目标对象信息为目标数据库在运行过程中能够发生改变的数据信息,稽核结果为目标对象信息与备数据库中对应的对象信息的差异数据;在监控到目标数据库数据调度任务正常的情况下,根据稽核结果,批量更新备数据库的数据,得到更新结果;在监控到目标数据库数据调度任务故障的情况下,将目标数据库的输出下游接口切换至备数据库的输出下游接口。采用本申请提供的容灾方法,可以保持原有业务访问性能。
Description
技术领域
本申请涉及数据仓库及容灾备份技术领域,具体涉及一种容灾方法、装置、设备及存储介质。
背景技术
随着IT基础设施逐步从传统小型机向分布式云化架构转变,分布式数据库逐步成为大数据平台的主流数据库。分布式数据库的应用领域广泛,但是在实际应用中仍然存在各种问题,例如X86底层平台单节点中断,导致仓库停机或集群效率下降。因此,在应用分布式数据库的系统中需要用到容灾方法,以解决上述问题。
现有的容灾方法,为了实现双活架构,在数据库层之上引入中间代理层,业务通过代理层访问后端数据库。一方面所有业务访问需经过代理层实现,代理层的性能对整体架构的访问性能存在影响。另一方面代理层本身可能存在故障隐患,增加了整体架构的故障风险。
发明内容
本申请实施例的目的是提供一种容灾方法、装置、设备及存储介质,能够解决现有技术中容灾方法致使数据库访问性能降低,用户满意度低的技术问题。
本申请的技术方案如下:
第一方面,提供了一种容灾方法,应用于批处理容灾系统,批处理容灾系统包括目标数据库和备数据库,方法包括:按照预设周期稽核目标对象信息,得到稽核结果,目标对象信息为目标数据库在运行过程中能够发生改变的数据信息,稽核结果为目标对象信息与备数据库中对应的对象信息的差异数据;在监控到目标数据库数据调度任务正常的情况下,根据稽核结果,批量更新备数据库的数据,得到更新结果;在监控到目标数据库数据调度任务故障的情况下,将目标数据库的输出下游接口切换至备数据库的输出下游接口。在监控到目标数据库数据调度任务故障的情况下,将目标数据库的输出下游接口切换至备数据库的输出下游接口,包括:获取目标数据库数据调度任务的执行结果;在执行结果指示目标数据库数据调度任务故障的情况下,基于执行结果,在目标数据库的多个接口中确定至少一个故障接口;将目标数据库的至少一个故障接口切换至备数据库的输出下游接口,备数据库的输出下游接口是与目标数据库的至少一个故障接口对应的接口。
在一些实施例中,按照预设周期稽核目标对象信息,得到稽核结果,包括:
获取至少一个目标对象信息;
采用与至少一个目标对象信息中每个目标对象信息对应的稽核方法,稽核至少一个目标对象信息中每个目标对象信息,得到稽核结果。
在一些实施例中,目标对象信息包括代码信息、调度过程编排信息、监控配置信息及数据记录信息中的至少一个。
在一些实施例中,按照预设周期稽核目标对象信息,得到稽核结果之后,方法还包括:
将稽核结果,更新至目标数据库向备数据库同步的同步队列;
基于稽核结果,更新目标数据库的同步日志。
在一些实施例中,根据稽核结果,批量更新备数据库的数据,得到更新结果,包括:
获取同步队列中的待同步项;
将待同步项中的数据,更新至备数据库,得到同步结果;
将同步结果更新至同步队列;
基于同步结果更新备数据库的同步日志。
在一些实施例中,待同步项中的数据包括底层模型数据、指标数据、报表数据、标签数据中的至少一个。
在一些实施例中,将待同步项中的数据,更新至备数据库之前,方法还包括:
将备数据库中与待同步项中的数据对应的数据备份。
第二方面,提供了一种容灾装置,应用于批处理容灾系统,批处理容灾系统包括目标数据库和备数据库,装置包括:
数据稽核模块,用于按照预设周期稽核目标对象信息,得到稽核结果,目标对象信息为目标数据库在运行过程中能够发生改变的数据信息,稽核结果为目标对象信息与备数据库中对应的对象信息的差异数据;
数据同步模块,用于在监控到目标数据库数据调度任务正常的情况下,根据稽核结果,批量更新备数据库的数据,得到更新结果;
双活切换模块,用于在监控到目标数据库数据调度任务故障的情况下,将目标数据库的输出下游接口切换至备数据库的输出下游接口;
其中,所述双活切换模块包括:
第一获取单元,可以用于获取目标数据库数据调度任务的执行结果;
故障接口确定单元,可以用于在执行结果指示目标数据库数据调度任务故障的情况下,基于执行结果,在目标数据库的多个接口中确定至少一个故障接口;
接口切换单元,可以用于将目标数据库的至少一个故障接口切换至备数据库的输出下游接口,备数据库的输出下游接口是与目标数据库的至少一个故障接口对应的接口。
第三方面,本申请实施例提供了一种电子设备,该电子设备包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如第一方面所述的容灾方法的步骤。
第四方面,本申请实施例提供了一种可读存储介质,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如第一方面所述的容灾方法的步骤。
本申请的实施例提供的技术方案至少带来以下有益效果:
本申请实施例提供的容灾方法,按照预设周期稽核目标对象信息,在监控到目标数据库数据调度任务正常的情况下,根据稽核结果,批量更新备数据库的数据,得到更新结果。业务访问方式与无容灾架构一致,没有额外增加中间层访问代理,保持原有业务访问性能。
在监控到目标数据库数据调度任务故障的情况下,将目标数据库的输出下游接口切换至备数据库的输出下游接口,将切换过程精确到具体接口,切换效果更好,效率更高。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理,并不构成对本申请的不当限定。
图1是本申请实施例提供的一种容灾方法的流程示意图;
图2是本申请实施例提供的双活切换的自动化程序流程示意图;
图3是本申请实施例提供的双活切换前台界面示意图;
图4是本申请实施例提供的数据同步自动化程序流程示意图;
图5是本申请实施例提供的一种容灾装置的结构示意图一;
图6是本申请实施例提供的一种容灾装置的结构示意图二;
图7是本申请实施例提供的一种电子设备的结构示意图。
实施方式
为了使本领域普通人员更好地理解本申请的技术方案,下面将结合附图,对本申请实施例中的技术方案进行清楚、完整地描述。应理解,此处所描述的具体实施例仅意在解释本申请,而不是限定本申请。对于本领域技术人员来说,本申请可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本申请的示例来提供对本申请更好的理解。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的例子。
基于背景技术可知,现有技术中容灾方法致使数据库访问性能降低,用户满意度低。
具体的,为了实现双活架构,在数据库层之上引入中间代理层,业务通过代理层访问后端数据库,所有业务访问需经过代理层实现,代理层的性能对整体架构的访问性能存在影响,并且代理层本身可能存在故障隐患,增加了整体架构的故障风险。
现有技术中为了实现数据库数据严格一致性,每次数据写入均需确保双库均完成数据写入,增加了数据库本身读写I/O响应时长。底层数据同步方式的实现,仅能解决存储磁盘故障问题,无法规避计算引擎部分的故障问题,为局部双活架构。在批处理环境下,因调度过程中断后需要数据回滚后重新运算,仅磁盘同步无法实现快速双活接管。
基于上述发现,本申请实施例提供了一种容灾方法、装置、设备及存储介质,正常运行时,以目标数据库的数据作为生产对外输出,备数据库同步执行调度任务,其数据与生产数据保持同步。在目标数据库出现软硬件故障、日常生产中断时,所有应用能够无缝切换展示和输出数据,使大数据平台可靠性得到显著提升。
需要说明的是,本申请不限于对批处理系统的双活容灾配置,其他形式的分忙时闲时的系统容灾配置也适用。下文中以应用于批处理容灾系统进行示例性说明。
下面结合附图对本申请实施例提供的容灾方法进行详细说明。
图1示出了本申请实施例提供的一种容灾方法的流程示意图,该方法可以应用于批处理容灾系统,批处理系统包括目标数据库和备数据库,如图1所示,该方法可以包括步骤S110-S130。
步骤S110,按照预设周期稽核目标对象信息,得到稽核结果,目标对象信息为目标数据库在运行过程中能够发生改变的数据信息,稽核结果为目标对象信息与备数据库中对应的对象信息的差异数据。
批处理系统是用于执行批处理类型业务的系统。批处理类型业务通常是在夜间处理前一日账期的数据,统计汇总形成报表指标,第二天向业务人员展示报表指标数据。批处理数据处理过程通常需要8-10小时不间断、时序依赖的多个处理过程构成,当系统出现不可用时,故障发生时的处理过程通常需要进行数据回滚,并重新执行调度处理过程。因此,需要批处理容灾系统,现有的批处理容灾系统通过容灾切换,无法从中断点继续后续处理过程,此部分报错过程,往往需要重新调度,进而影响整体运行时长。可见,常规的容灾技术在此场景下难以实现业务的连续性,无法在维持两套库数据一致的同时具备双活接管能力。
作为一个示例,目标对象信息包括代码信息、调度过程编排信息、监控配置信息及数据记录信息中的至少一个。
预设周期具体可以是批处理系统的处理周期,例如一天。在预设周期为一天的情况下,步骤S110具体可以是按日实现代码稽核、调度稽核、监控稽核、数据记录稽核。针对稽核结果进行邮件输出,对差异性问题进行记录与梳理,通过代码修改、流程优化、建设自动化稽核工具等措施确保数据准确。
由于目标对象有很多,也对应有很多的目标对象信息。因此,在按照预设周期稽核目标对象信息,得到稽核结果的过程中,稽核方式可以有很多种,本申请中采用了根据目标对象确定与其对应的稽核方式。基于此,步骤S110可以具体包括步骤S111-S112。
步骤S111,获取至少一个目标对象信息。
目标对象信息即前文中的代码信息、调度过程编排信息、监控配置信息及数据记录信息中的至少一种。
从双活系统即批处理容灾系统中分别采集目标对象信息,目标对象信息可以包括代码信息、调度过程编排信息、监控配置信息及数据记录信息。为保障数据可靠存放,目标对象信息通常存放于分布式存储环境。统一采集完毕后,分别通知与目标对象对应的稽核模块进行下一步操作。
步骤S112,采用与至少一个目标对象信息中每个目标对象信息对应的稽核方法,稽核至少一个目标对象信息中每个目标对象信息,得到稽核结果。
各稽核模块获取稽核数据即目标对象信息后,执行稽核比对过程,稽核模块为多节点独立部署服务,如服务发生异常,则由备用节点负责执行稽核过程。结束稽核任务,并将并将稽核结果清单,通过邮件方式发出。通知数据比对模块,采集同步队列清单,进行后续异常数据同步流程。
需要说明的是,每个目标对象均设有其对应的稽核方法,在此不再展开,具体请参考下文实施例中的详细介绍。
步骤S120,在监控到目标数据库数据调度任务正常的情况下,根据稽核结果,批量更新备数据库的数据,得到更新结果。
在监控到目标数据库数据调度任务正常的情况下,其中监控的方式可以是值班维护巡检进行监控,也可以是自动化监控。
根据每天数据比对的结果差异即稽核结果,通过自动化手段,对备数据库的数据进行批量更新,并将更新结果以邮件方式通知管理员。
步骤S130,在监控到目标数据库数据调度任务故障的情况下,将目标数据库的输出下游接口切换至备数据库的输出下游接口。
当主库即目标数据库发生故障,主库服务整体无法访问,或者部分表数据不可用时,通过工具自动触发将主库输出下游接口切换至备库输出下游接口。切换后原主库转变为备数据库,原备数据库变为目标数据库,日常运维保障和附属策略均根据预案反转。通过切换前准备、精准切换、切换后改造,保障切换准确无误。
本申请实施例提供的容灾方法,按照预设周期稽核目标对象信息,在监控到目标数据库数据调度任务正常的情况下,根据稽核结果,批量更新备数据库的数据,得到更新结果。业务访问方式与无容灾架构一致,没有额外增加中间层访问代理,保持原有业务访问性能。在监控到目标数据库数据调度任务故障的情况下,将目标数据库的输出下游接口切换至备数据库的输出下游接口,将切换过程精确到具体接口,切换效果更好,效率更高。
为了便于理解上述实施例中步骤S110的具体稽核过程,下面针对每个目标对象进行详细介绍。
1、代码信息稽核
代码主要是指一组为了完成特定功能的SQL语句集,即数据库存储过程(StoredProcedure)。它存储在数据库中,一次编译后永久有效,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。存储过程一致,是保证基于此存储过程生成表一致的必要条件之一。具体可以在预设时间,例如每日4点,定时对两套库全量程序代码逐行比对,输出代码差异清单,并自动通过邮件发送。代码稽核模块可根据不同数据模型特点分层处理,这里按照模型对数据处理的不同过程进行分类,具体如下表所示:
表1代码稽核结果示意表
2、调度过程编排信息稽核
批处理过程通过调度配置工具对整体调度过程进行编排,包括接口依赖关系,数据表依赖关系,存储过程执行触发条件配置等。调度稽核主要针对差异调度问题,核查两套库配置内容,定位配置不一致情况,自动修改正确,保持调度编排一致。通过自动化工具执行稽核,每日全量稽核两套库的过程调度工具配置,稽核结果通过邮件自动发出。
稽核内容包括调度任务数量是否一致、依赖关系变化是否一致、调度的组件个数是否一致。调度稽核过程如下表所示:
表2调度稽核结果示意表
3、监控配置信息稽核
监控策略的一致性,是双活系统随时具备切换的重要保障。容灾系统长期无监控状态,可能无法及时发现系统本身隐患问题,导致双活切换后系统无法正常承载业务。这里建议采用两套相同的监控策略,而不是随着双活切换同步切换监控策略。监控稽核模块主要是针对监控策略差异进行稽核,通过自动化工具执行稽核,每日全量稽核两套库监控策略配置,稽核结果通过邮件自动发出。差异监控策略需要核查两套库监控配置内容,修改正确,保持双库一致。
4、数据记录信息稽核
数据记录是双活一致性稽核核心一环,直接决定最终输出报表指标的一致性。具体可针对接口层,转存层,整合层,融合层,应用层等不同数据层的数据表记录,采用不同的稽核方法进行比对。具体比对算法,需考虑报表规模、算法效率和比对时长等因素进行选择,后续列举的比对方法,均为举例,可根据实际生产环境情况进行调整。按照数据层介绍如下:
1)接口层:比对每个接口入库条数,两套库记录数存在差异,将差异数据进行备份,然后将生产库数据同步回另一套库。
2)转存层:核对转存层当日表中记录条数,两套库记录数存在差异,将差异数据进行备份,然后将生产库数据同步回另一套库。
3)整合层:核对整合层当日表中记录条数,两套库记录数存在差异,将差异数据进行备份,然后将生产库数据同步回另一套库。
4)融合层:要求每张融合层标签宽表或模型表的标签数据完全一致,分为两个方向:
a.融合层标签宽表或模型表比对。标签宽表或模型表主要比对数值型(sum),对于不一致的标签,则对该标签所在融合层宽表或模型表进行当天数据日期的全表同步,并将标签日志表中该表的当天的标签运行日志同步。
b.将生产库的融合层数据同步至另一套库,表与表之前对全字段逐行进行比较,以生产库的数据作为核对标准,输出结果,根据比对速度确定是否每日比对。
5)应用层:应用层的数据核对主要分为指标和报表,核对标准及方法如下:
指标:每日定时稽核每个指标数据,将差异率大于1%的指标结果备份,然后将生产库当日的指标结果表数据全量同步至另一套库。
报表:每日定时稽核每张报表数据(包括报表记录数及关键指标值),将差异数据备份后再同步生产库数据回另一套库,比对方法可采用数据哈希算法,也可以采用比对报表总记录数,对数值型字段直接sum统计总和,具体比对算法,需考虑报表规模、算法效率和比对时长等因素进行选择,后续列举的比对方法,均为举例,可根据实际生产环境情况进行调整。
6)参数层:分为静态参数表,应用库同步参数表和内部计算参数表,具体如下:
a.静态参数表:静态表通常人工插入数据,后续无数据内容变化,对比方式为记录数对比;出现数据不一致的时候直接将生产库全量数据同步到另一套库。
b.应用库同步参数表:该类参数表是由调度程序在前台应用库中抽取数据同步回数据库,对比方式为记录数对比;
c.内部计算参数表:该类参数表是由存储过程中生成,数据随底层数据变化而变。比对方法需要对记录数一致性和字段值逐一检测(枚举型、字符型(group by)、数值型(sum))均需要稽核。
在一些实施例中,在监控到目标数据库数据调度任务故障的情况下,将目标数据库的输出下游接口切换至备数据库的输出下游接口。该切换的过程可以是接口的全量切换也可以是部分切换,即只切换存在故障的接口。以该切换采用部分切换为例,步骤S130可以具体包括步骤S131-S133。
步骤S131,获取目标数据库数据调度任务的执行结果。
该步骤可以是值班维护巡检发现数据调度任务故障,确定故障情况和影响范围,明确切换范围。该步骤也可以是批处理容灾系统自主获取或通过第三方系统获取目标数据库调度任务的执行结果,该结果可以是故障情况和影响范围,用于明确切换范围。此外,该执行结果也可以是目标数据库数据调度任务正常,不存在故障。
步骤S132,在执行结果指示目标数据库数据调度任务故障的情况下,基于执行结果,在目标数据库的多个接口中确定至少一个故障接口。
根据步骤S131中的结果显示的故障范围,确定故障的接口,该接口可以为多个。之后调用切换前的检查脚本,将不满足切换条件的接口从后续切换清单中过滤。此步骤也支持自选接口切换/分类切换/全量切换三种类型,可提前预设不同类型下切换的范围。
步骤S133,将目标数据库的至少一个故障接口切换至备数据库的输出下游接口,备数据库的输出下游接口是与目标数据库的至少一个故障接口对应的接口。
维护在管理控制台“统一接口切换”界面执行切换操作,可根据步骤S132确定的切换范围作为入参,逐个接口批量切换。也可自定义切换范围,具体如下:
a.自选任务切换:根据任务ID切换;
b.分类任务切换:直接根据调度分类批量切换;
c.全量接口切换:使用全量切换功能一键切换;
切换并完成调度任务执行后,跟踪新备数据库调度任务执行情况。通过调用切换后检查脚本,对步骤S133执行结果进行核查,并记录每个接口切换完成情况(成功/失败)。
为了便于理解,下面具体说明本申请中双活切换的自动化程序流程。如图2所示,该切换流程可以具体包括步骤S201-S204。
步骤S201,调用切换前的检查脚本,将不满足切换条件的接口在之后的切换中过滤并记录(支持全量接口切换/局部切换);
步骤S202,调用切换脚本(包括切换数据日期脚本和接口状态脚本);
步骤S203,调用切换后的检查脚本,记录切换失败的接口;
步骤S204,前台界面给予结果展示,同时调用邮件发送结果。
双活切换结果可以展示在切换操作web界面上,并通过邮件方式发送至相关责任人。其中,双活切换的前台界面可以如图3所示。
在一些实施例中,由于按照预设周期稽核目标对象信息,得到稽核结果之后还需要同步目标数据库和备数据库中的数据,因此,在得到稽核结果之后,该方案中还可以对该稽核结果进一步处理,以便用于同步目标数据库和备数据库中的数据即更新备数据库的数据。基于此,步骤S110与步骤S120之间还可以包括步骤S140-S150。
步骤S140,将稽核结果,更新至目标数据库向备数据库同步的同步队列。
步骤S150,基于稽核结果,更新目标数据库的同步日志。
基于上述步骤S140-S150,批量更新备数据库的数据,得到更新结果即步骤S120可以具体包括步骤S121-S124。
步骤S121,获取同步队列中的待同步项。
通过步骤S110,在预设周期将稽核结果即数据比对结果汇总,生成同步队列,作为数据同步过程的输入即待同步项。
作为一个示例,待同步项中的数据包括底层模型数据、指标数据、报表数据、标签数据中的至少一个。
步骤S122,将待同步项中的数据,更新至备数据库,得到同步结果。
数据同步根据数据的不同种类,其主要处理内容分别进行不同处理,主要包括:分区表按分区更新;非分区表全表更新;指标差异按记录更新。
作为一个示例,将待同步项中的数据,更新至备数据库之前,还可以先备份数据,即将备数据库中与待同步项中的数据对应的数据备份。
每次同步数据前需要对所覆盖的原始数据进行备份操作,避免数据同步异常导致数据表不可回退的情况。备份操作前需首先清除上次备份的历史数据,减少存储空间浪费。
步骤S123,将同步结果更新至同步队列。
步骤S124,基于同步结果更新备数据库的同步日志。
将本次同步结果更新至同步队列,并更新同步日志,之后重复步骤S122,直至同步队列内所有待同步项均处理结束。
为了便于理解,下面具体说明本申请实施例中数据同步的自动化程序流程。如图4所示,该数据同步自动化程序流程可以具体包括步骤S401-S406。
步骤S401,获取同步队列;
步骤S402,清除过期备份数据表;
步骤S403,全量备份非分区数据表;
步骤S404,按分区备份分区数据表;
步骤S405,更新同步队列状态,并更新同步日志;
步骤S406,汇总同步结果自动邮件发出。
本申请实施例提供的容灾方法,容灾方式对业务系统透明,业务访问性能零折扣。业务访问方式与无容灾架构一致,没有额外增加中间层访问代理,保持原有业务访问性能。采用业务闲时区间,通过代码稽核、调度稽核、数据稽核方式,实现双活数据一致性,在数据库业务忙时做到性能零影响。本身采用多节点服务部署架构,保证自身稳定性。另一方面,即使本身发生不可用故障,仅对容灾机制产生影响,对生产无影响,不增加额外的故障点。
基于相同的发明构思,本申请实施例还提供了一种容灾装置。
图5示出了本申请实施例提供的一种容灾装置,如图5所示,该容灾装置500,可以应用于批处理容灾系统,批处理容灾系统包括目标数据库和备数据库,该容灾装置可以包括:
数据稽核模块510,可以用于按照预设周期稽核目标对象信息,得到稽核结果,目标对象信息为目标数据库在运行过程中能够发生改变的数据信息,稽核结果为目标对象信息与备数据库中对应的对象信息的差异数据;
数据同步模块520,可以用于在监控到目标数据库数据调度任务正常的情况下,根据稽核结果,批量更新备数据库的数据,得到更新结果;
双活切换模块530,可以用于在监控到目标数据库数据调度任务故障的情况下,将目标数据库的输出下游接口切换至备数据库的输出下游接口。
在一些实施例中,双活切换模块530,可以具体包括:
第一获取单元,可以用于获取目标数据库数据调度任务的执行结果;
故障接口确定单元,可以用于在执行结果指示目标数据库数据调度任务故障的情况下,基于执行结果,在目标数据库的多个接口中确定至少一个故障接口;
接口切换单元,可以用于将目标数据库的至少一个故障接口切换至备数据库的输出下游接口,备数据库的输出下游接口是与目标数据库的至少一个故障接口对应的接口。
在一些实施例中,数据稽核模块510,可以具体包括:
第二获取单元,可以用于获取至少一个目标对象信息;
数据稽核单元,可以用于采用与至少一个目标对象信息中每个目标对象信息对应的稽核方法,稽核至少一个目标对象信息中每个目标对象信息,得到稽核结果。
作为一个示例,数据稽核模块510中的目标对象信息包括代码信息、调度过程编排信息、监控配置信息及数据记录信息中的至少一个。
在一些实施例中,该容灾装置500,还可以包括:
同步队列更新模块,可以用于将稽核结果,更新至目标数据库向备数据库同步的同步队列;
同步日志更新模块,可以用于基于稽核结果,更新目标数据库的同步日志。
作为一个示例,数据同步模块520,可以具体包括:
第三获取单元,可以用于获取同步队列中的待同步项;
备数据库更新单元,可以用于将待同步项中的数据,更新至备数据库,得到同步结果;
同步队列更新单元,可以用于将同步结果更新至同步队列;
同步日志更新单元,可以用于基于同步结果更新备数据库的同步日志。
作为一个示例,第三获取单元中待同步项中的数据包括底层模型数据、指标数据、报表数据、标签数据中的至少一个。
作为一个示例,数据同步模块520还可以包括:
第一备份单元,可以用于将备数据库中与待同步项中的数据对应的数据备份。
在一些实施例中,请参考附图6,该容灾装置包括数据稽核模块510、数据同步模块520、双活切换模块530。
数据稽核模块510,可以具体包括代码稽核单元、调度稽核单元、监控稽核单元、数据记录稽核单元。
代码稽核单元,用于执行上述方法实施例中代码信息稽核的步骤。
调度稽核单元,用于执行上述方法实施例中调度过程编排信息稽核的步骤。
监控稽核单元,用于执行上述方法实施例中监控配置信息稽核的步骤。
数据记录稽核单元,用于执行上述方法实施例中数据记录信息稽核的步骤。
数据同步模块520,可以具体包括同步队列单元、数据备份单元、数据同步单元、结果汇总单元。
同步队列单元,用于执行上述方法实施例中同步队列更新相关的步骤。
数据备份单元,用于执行上述方法实施例中数据库表备份相关的步骤。
数据同步单元,用于执行上述方法实施例中备数据库数据同步更新过程相关的步骤。
结果汇总单元,用于执行上述方法实施例中数据同步结束后的汇总步骤。
双活切换模块530,可以具体包括前台界面单元、切换前检查单元、切换执行单元。
前台界面单元,用于执行上述方法实施例中在前台界面展示的步骤。
切换前检查单元,用于执行上述方法实施例中切换前确定需要切换的接口的步骤。
切换执行单元,用于执行上述方法实施例中接口切换的步骤。
本申请实施例提供的容灾装置,可以用于执行上述各方法实施例提供的容灾方法,其实现原理和技术效果类似,为简介起见,在此不再赘述。
基于同一发明构思,本申请实施例还提供了一种电子设备。
图7是本申请实施例提供的一种电子设备的结构示意图。如图7所示,电子设备可以包括处理器701以及存储有计算机程序或指令的存储器702。
具体地,上述处理器701可以包括中央处理器(CPU),或者特定集成电路(Application Specific Integrated Circuit,ASIC),或者可以被配置成实施本发明实施例的一个或多个集成电路。
存储器702可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器702可包括硬盘驱动器(Hard Disk Drive,HDD)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(Universal Serial Bus,USB)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器502可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器502可在综合网关容灾设备的内部或外部。在特定实施例中,存储器702是非易失性固态存储器。在特定实施例中,存储器702包括只读存储器(ROM)。在合适的情况下,该ROM可以是掩模编程的ROM、可编程ROM(PROM)、可擦除PROM(EPROM)、电可擦除PROM(EEPROM)、电可改写ROM(EAROM)或闪存或者两个或更多个以上这些的组合。
处理器701通过读取并执行存储器702中存储的计算机程序指令,以实现上述实施例中的任意一种容灾方法。
在一个示例中,电子设备还可包括通信接口703和总线710。其中,如图7示,处理器701、存储器702、通信接口703通过总线710连接并完成相互间的通信。
通信接口703,主要用于实现本发明实施例中各模块、设备、单元和/或设备之间的通信。
总线710包括硬件、软件或两者,将电子设备的部件彼此耦接在一起。举例来说而非限制,总线可包括加速图形端口(AGP)或其他图形总线、增强工业标准架构(EISA)总线、前端总线(FSB)、超传输(HT)互连、工业标准架构(ISA)总线、无限带宽互连、低引脚数(LPC)总线、存储器总线、微信道架构(MCA)总线、外围组件互连(PCI)总线、PCI-Express(PCI-X)总线、串行高级技术附件(SATA)总线、视频电子标准协会局部(VLB)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线710可包括一个或多个总线。尽管本发明实施例描述和示出了特定的总线,但本发明考虑任何合适的总线或互连。
该电子设备可以执行本发明实施例中的容灾方法,从而实现上述实施例描述的容灾方法和装置。
另外,结合上述实施例中的容灾方法,本发明实施例可提供一种可读存储介质来实现。该可读存储介质上存储有程序指令;该程序指令被处理器执行时实现上述实施例中的任意一种容灾方法。
需要明确的是,本发明并不局限于上文所描述并在图中示出的特定配置和处理。为了简明起见,这里省略了对已知方法的详细描述。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本发明的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可以在领会本发明的精神后,作出各种改变、修改和添加,或者改变步骤之间的顺序。
以上所述的结构框图中所示的功能块可以实现为硬件、软件、固件或者它们的组合。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(ASIC)、适当的固件、插件、功能卡等等。当以软件方式实现时,本发明的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。“机器可读介质”可以包括能够存储或传输信息的任何介质。机器可读介质的例子包括电子电路、半导体存储器设备、ROM、闪存、可擦除ROM(EROM)、软盘、CD-ROM、光盘、硬盘、光纤介质、射频(RF)链路,等等。代码段可以经由诸如因特网、内联网等的计算机网络被下载。
还需要说明的是,本发明中提及的示例性实施例,基于一系列的步骤或者装置描述一些方法或系统。但是,本发明不局限于上述步骤的顺序,也就是说,可以按照实施例中提及的顺序执行步骤,也可以不同于实施例中的顺序,或者若干步骤同时执行。
以上所述,仅为本发明的具体实施方式,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。应理解,本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。
Claims (10)
1.一种容灾方法,应用于批处理容灾系统,所述批处理容灾系统包括目标数据库和备数据库,所述方法包括:
按照预设周期稽核目标对象信息,得到稽核结果,所述目标对象信息为所述目标数据库在运行过程中能够发生改变的数据信息,所述稽核结果为所述目标对象信息与所述备数据库中对应的对象信息的差异数据;
在监控到所述目标数据库数据调度任务正常的情况下,根据所述稽核结果,批量更新所述备数据库的数据,得到更新结果;
在监控到所述目标数据库数据调度任务故障的情况下,将所述目标数据库的输出下游接口切换至备数据库的输出下游接口;
其中,所述在监控到所述目标数据库数据调度任务故障的情况下,将所述目标数据库的输出下游接口切换至备数据库的输出下游接口,包括:
获取目标数据库数据调度任务的执行结果;
在所述执行结果指示所述目标数据库数据调度任务故障的情况下,基于所述执行结果,在所述目标数据库的多个接口中确定至少一个故障接口;
将所述目标数据库的至少一个故障接口切换至备数据库的输出下游接口,所述备数据库的输出下游接口是与所述目标数据库的至少一个故障接口对应的接口。
2.根据权利要求1所述的方法,其特征在于,所述按照预设周期稽核目标对象信息,得到稽核结果,包括:
获取至少一个目标对象信息;
采用与所述至少一个目标对象信息中每个目标对象信息对应的稽核方法,稽核所述至少一个目标对象信息中每个目标对象信息,得到稽核结果。
3.根据权利要求2所述的方法,其特征在于,所述目标对象信息包括代码信息、调度过程编排信息、监控配置信息及数据记录信息中的至少一个。
4.根据权利要求1所述的方法,其特征在于,所述按照预设周期稽核目标对象信息,得到稽核结果之后,所述方法还包括:
将所述稽核结果,更新至所述目标数据库向所述备数据库同步的同步队列;
基于所述稽核结果,更新所述目标数据库的同步日志。
5.根据权利要求4所述的方法,其特征在于,所述根据所述稽核结果,批量更新所述备数据库的数据,得到更新结果,包括:
获取所述同步队列中的待同步项;
将所述待同步项中的数据,更新至所述备数据库,得到同步结果;
将所述同步结果更新至所述同步队列;
基于所述同步结果更新所述备数据库的同步日志。
6.根据权利要求5所述的方法,其特征在于,所述待同步项中的数据包括底层模型数据、指标数据、报表数据、标签数据中的至少一个。
7.根据权利要求5所述的方法,其特征在于,所述将所述待同步项中的数据,更新至所述备数据库之前,所述方法还包括:
将所述备数据库中与所述待同步项中的数据对应的数据备份。
8.一种容灾装置,应用于批处理容灾系统,所述批处理容灾系统包括目标数据库和备数据库,所述装置包括:
数据稽核模块,用于按照预设周期稽核目标对象信息,得到稽核结果,所述目标对象信息为所述目标数据库在运行过程中能够发生改变的数据信息,所述稽核结果为所述目标对象信息与所述备数据库中对应的对象信息的差异数据;
数据同步模块,用于在监控到所述目标数据库数据调度任务正常的情况下,根据所述稽核结果,批量更新所述备数据库的数据,得到更新结果;
双活切换模块,用于在监控到所述目标数据库数据调度任务故障的情况下,将所述目标数据库的输出下游接口切换至备数据库的输出下游接口;
其中,所述双活切换模块包括:
第一获取单元,可以用于获取目标数据库数据调度任务的执行结果;
故障接口确定单元,可以用于在执行结果指示目标数据库数据调度任务故障的情况下,基于执行结果,在目标数据库的多个接口中确定至少一个故障接口;
接口切换单元,可以用于将目标数据库的至少一个故障接口切换至备数据库的输出下游接口,备数据库的输出下游接口是与目标数据库的至少一个故障接口对应的接口。
9.一种电子设备,其特征在于,包括处理器,存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如权利要求1-7任一所述的容灾方法的步骤。
10.一种可读存储介质,其特征在于,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如权利要求1-7任一所述的容灾方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110322564.7A CN115134213B (zh) | 2021-03-25 | 2021-03-25 | 一种容灾方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110322564.7A CN115134213B (zh) | 2021-03-25 | 2021-03-25 | 一种容灾方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115134213A CN115134213A (zh) | 2022-09-30 |
CN115134213B true CN115134213B (zh) | 2023-09-05 |
Family
ID=83374589
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110322564.7A Active CN115134213B (zh) | 2021-03-25 | 2021-03-25 | 一种容灾方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115134213B (zh) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8346732B1 (en) * | 2005-11-30 | 2013-01-01 | Symantec Operating Corporation | Method and apparatus for providing high availability of a database |
EP2546746A1 (en) * | 2011-07-14 | 2013-01-16 | Alcatel-Lucent Polska Sp. z.o.o. | Fault detection system and method of processing request in the fault detection system |
US8762334B1 (en) * | 2009-04-29 | 2014-06-24 | Juniper Networks, Inc. | Distributed network anomaly detection |
WO2015088324A2 (en) * | 2013-12-09 | 2015-06-18 | Mimos Berhad | System and method for managing a faulty node in a distributed computing system |
WO2017008641A1 (zh) * | 2015-07-10 | 2017-01-19 | 中兴通讯股份有限公司 | 冗余端口的切换方法及装置 |
CN106528341A (zh) * | 2016-11-09 | 2017-03-22 | 上海新炬网络信息技术有限公司 | 基于Greenplum数据库的自动化容灾系统 |
CN106815097A (zh) * | 2017-01-18 | 2017-06-09 | 北京许继电气有限公司 | 数据库容灾系统和方法 |
WO2017198144A1 (zh) * | 2016-05-20 | 2017-11-23 | 中兴通讯股份有限公司 | 一种iptv系统容灾方法及iptv容灾系统 |
CN107862001A (zh) * | 2017-10-23 | 2018-03-30 | 北京京东尚科信息技术有限公司 | 一种数据容灾的方法和系统 |
CN108932295A (zh) * | 2018-05-31 | 2018-12-04 | 康键信息技术(深圳)有限公司 | 主数据库切换控制方法、装置、计算机设备和存储介质 |
CN109901948A (zh) * | 2019-02-18 | 2019-06-18 | 国家计算机网络与信息安全管理中心 | 无共享数据库集群异地双活容灾系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8996458B2 (en) * | 2009-12-23 | 2015-03-31 | Sybase, Inc. | High volume, high speed adaptive data replication |
US11163786B2 (en) * | 2019-05-31 | 2021-11-02 | Bae Systems Information And Electronic Systems Integration Inc. | Data layer architecture, open data layer module and translation layer |
-
2021
- 2021-03-25 CN CN202110322564.7A patent/CN115134213B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8346732B1 (en) * | 2005-11-30 | 2013-01-01 | Symantec Operating Corporation | Method and apparatus for providing high availability of a database |
US8762334B1 (en) * | 2009-04-29 | 2014-06-24 | Juniper Networks, Inc. | Distributed network anomaly detection |
EP2546746A1 (en) * | 2011-07-14 | 2013-01-16 | Alcatel-Lucent Polska Sp. z.o.o. | Fault detection system and method of processing request in the fault detection system |
WO2015088324A2 (en) * | 2013-12-09 | 2015-06-18 | Mimos Berhad | System and method for managing a faulty node in a distributed computing system |
WO2017008641A1 (zh) * | 2015-07-10 | 2017-01-19 | 中兴通讯股份有限公司 | 冗余端口的切换方法及装置 |
WO2017198144A1 (zh) * | 2016-05-20 | 2017-11-23 | 中兴通讯股份有限公司 | 一种iptv系统容灾方法及iptv容灾系统 |
CN107404394A (zh) * | 2016-05-20 | 2017-11-28 | 中兴通讯股份有限公司 | 一种iptv系统容灾方法及iptv容灾系统 |
CN106528341A (zh) * | 2016-11-09 | 2017-03-22 | 上海新炬网络信息技术有限公司 | 基于Greenplum数据库的自动化容灾系统 |
CN106815097A (zh) * | 2017-01-18 | 2017-06-09 | 北京许继电气有限公司 | 数据库容灾系统和方法 |
CN107862001A (zh) * | 2017-10-23 | 2018-03-30 | 北京京东尚科信息技术有限公司 | 一种数据容灾的方法和系统 |
CN108932295A (zh) * | 2018-05-31 | 2018-12-04 | 康键信息技术(深圳)有限公司 | 主数据库切换控制方法、装置、计算机设备和存储介质 |
CN109901948A (zh) * | 2019-02-18 | 2019-06-18 | 国家计算机网络与信息安全管理中心 | 无共享数据库集群异地双活容灾系统 |
Non-Patent Citations (1)
Title |
---|
肖航.数据库服务器实时备份与故障自动切换系统的构建.《万方数据库》.2009,全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN115134213A (zh) | 2022-09-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2474919B1 (en) | System and method for data replication between heterogeneous databases | |
Nawab et al. | Minimizing commit latency of transactions in geo-replicated data stores | |
CN113111129B (zh) | 数据同步方法、装置、设备及存储介质 | |
CN102231161A (zh) | 数据库同步验证及监控方法 | |
US7730029B2 (en) | System and method of fault tolerant reconciliation for control card redundancy | |
CN110263095B (zh) | 数据备份与恢复方法、装置、计算机设备及存储介质 | |
CN106777126B (zh) | 一种支持异构时序数据库的数据在线迁移方法 | |
CN109308227A (zh) | 故障检测控制方法及相关设备 | |
WO2019199419A1 (en) | High throughput order fullfillment database system | |
CN115134213B (zh) | 一种容灾方法、装置、设备及存储介质 | |
CN110659147B (zh) | 一种基于模块自检行为的自修复方法和系统 | |
CN111404737B (zh) | 一种容灾处理方法以及相关装置 | |
CN109150596B (zh) | 一种scada系统实时数据转储方法和装置 | |
CN107291575B (zh) | 一种数据中心故障时的处理方法和设备 | |
US10728326B2 (en) | Method and system for high availability topology for master-slave data systems with low write traffic | |
CN109116818B (zh) | 一种scada系统升级时的实时数据转储方法和装置 | |
US20130290385A1 (en) | Durably recording events for performing file system operations | |
CN108897645B (zh) | 一种基于备用心跳磁盘的数据库集群容灾方法和系统 | |
CN113326325A (zh) | 一种数据库主从服务断开的检测方法及装置 | |
CN111639057A (zh) | 日志消息处理方法、装置、计算机设备及存储介质 | |
CN110413438A (zh) | 针对备份报错的处理方法和装置 | |
CN114900531B (zh) | 数据同步方法、装置和系统 | |
CN107707402B (zh) | 一种分布式系统中服务仲裁的管理系统及其管理方法 | |
CN117312053A (zh) | 基于全流程的故障自愈方法、装置、电子设备及存储介质 | |
CN117667989A (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 | ||
GR01 | Patent grant |