异构数据库的数据同步方法及装置制造方法及图纸

技术编号:15938758 阅读:36 留言:0更新日期:2017-08-04 21:41
本申请实施例提供了一种异构数据库的数据同步方法及装置,该方法包括以下步骤:在基于预设的第一数据同步机制,将源数据库中预定范围的数据同步至目标数据库的过程中,检测所述第一数据同步机制的状态;当所述第一数据同步机制的状态异常时,启用第二数据同步机制,以将所述源数据库中预定范围的数据同步至所述目标数据库。本申请实施例实现了,在主用的数据同步机制因异常而无法工作时,还可以通过其他数据同步机制将源数据库中的指定范围内的数据同步到目标数据库。

Data synchronization method and device for heterogeneous database

The embodiment of the invention provides a data synchronization method and device, the method comprises the following steps: in the first data synchronization mechanism based on pre-set process will be a predetermined range in the source database to the target database data synchronization in the detection of the first data synchronization state; when the first data synchronization mechanism of abnormal state, second data synchronization mechanism is enabled, to a predetermined range of the source data in the database to the target database synchronization. The embodiment of the application, in the main data synchronization mechanism for abnormal and unable to work, can also be synchronized in the source database within the specified range of data to the target database through other data synchronization mechanism.

【技术实现步骤摘要】
异构数据库的数据同步方法及装置
本申请涉及数据库
,尤其是涉及一种异构数据库的数据同步方法及装置。
技术介绍
对于异构数据库,目前现有的数据同步手段可通过DRC(DataReplicationCenter,数据同步中心)监听源数据库的binlog日志(这里的源数据库是基于mysql数据库技术),然后通过消息将binlog日志发送到订阅端,订阅端拿到消息后生成相应的ETL(ExtractTransformLoading,数据抽取转化装载规则)任务,然后基于ETL任务将数据同步到目标数据库中。然而,一旦DRC异常(比如宕机)暂时无法自动恢复时,源数据库的增量数据则无法同步到目标数据库。由于增量数据未及时同步到目标数据库,往往也就丧失了其时效性,进而还可能影响基于该目标数据库的系统应用(比如系统无法及时向用户推送最新资讯)。
技术实现思路
本申请实施例的目的在于提供一种异构数据库的数据同步方法及装置,以实现在主用的数据同步机制因异常而无法工作时,还可以通过其他方式将源数据库中的指定范围内的数据同步到目标数据库。为达到上述目的,一方面,本申请实施例提供了一种异构数据库的数据同步方法,包括以下步骤:在基于预设的第一数据同步机制,将源数据库中预定范围的数据同步至目标数据库的过程中,检测所述第一数据同步机制的状态;当所述第一数据同步机制的状态异常时,启用第二数据同步机制,以将所述源数据库中预定范围的数据同步至所述目标数据库。另一方面,本申请实施例还提供了一种异构数据库的数据同步装置,包括:同步状态检测模块,用于在基于预设的第一数据同步机制,将源数据库中预定范围的数据同步至目标数据库的过程中,检测所述第一数据同步机制的状态;同步机制替换模块,用于当所述第一数据同步机制的状态异常时,启用第二数据同步机制,以将所述源数据库中预定范围的数据同步至所述目标数据库。本申请实施例中,在基于预设的第一数据同步机制,将源数据库中预定范围的数据同步至目标数据库的过程中,检测第一数据同步机制的状态;当确认第一数据同步机制的状态异常时,启用第二数据同步机制,以将源数据库中预定范围的数据同步至目标数据库,从而实现了在主用的第一数据同步机制故障期间,还可通过启用第二数据同步机制,继续将源数据库中预定范围的数据同步至目标数据库。附图说明此处所说明的附图用来提供对本申请实施例的进一步理解,构成本申请实施例的一部分,并不构成对本申请实施例的限定。在附图中:图1为本申请实施例的异构数据库的数据同步方法的流程图;图2为本申请实施例的数据同步装置的结构框图;图3为本申请实施例的数据同步装置中同步机制替换模块的结构框图;图4为本申请实施例一应用场景的时序图。具体实施方式为使本申请实施例的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,对本申请实施例做进一步详细说明。在此,本申请实施例的示意性实施例及其说明用于解释本申请实施例,但并不作为对本申请实施例的限定。下面结合附图,对本申请实施例的具体实施方式作进一步的详细说明。参考图1所示,本申请实施例的异构数据库的数据同步方法包括以下步骤:步骤S101、在基于预设的第一数据同步机制,将源数据库中预定范围的数据同步至目标数据库的过程中,检测所述第一数据同步机制的状态。在本申请实施例中,所述的第一数据同步机制一般为主用的数据同步机制,即正常情况下,数据同步所适合采用的数据同步机制。一般的,系统会对第一数据同步机制进行监控,当监控发现同步有故障时,会发出告警,以触发采用其他方式继续进行数据同步。所述检测第一数据同步机制的状态,即通过对第一数据同步机制进行监控而获得的监控结果,判断第一数据同步机制当前是否正常运行。在本申请实施例中,所述目标数据库和所述源数据库一般属于异构数据库。步骤S102、当所述第一数据同步机制的状态异常时,启用第二数据同步机制,以将所述源数据库中预定范围的数据同步至所述目标数据库。在本申请实施例中,所述启用第二数据同步机制可以包括以下步骤:1)、接收理DRM(distributedresourcemanagement,分布式资源管理)平台推送的数据同步任务,所述数据同步任务包括数据恢复时间点及指定的目标数据库中待同步的数据库表的标识。在本申请的一个示例性实施例中,为了可以在系统运行时修改系统的缓存配置且不用重启系统,数据同步任务可通过DRM平台动态推送至系统。DRM平台是一种能提供动态资源配置的平台,其可以在系统运行时修改系统缓存配置,对于系统而言,DRM平台向其推送缓存配置信息(所述缓存配置信息中包括数据同步任务),其相当于是系统订阅了DRM平台推送的缓存配置信息,并且可远程将订阅的缓存配置信息加载至缓存,因此系统无需重启就可以生效,从而节省了重启系统所需花费的时间,因而有利于快速实现数据同步。在本申请的一个示例性实施例中,所述的数据恢复时间点比如可以为DRC最近一次成功同步数据时的时间点;在本申请的另一示例性实施例中,所述的数据恢复时间点也可以为所述DRC发生异常时的时间点(比如DRC宕机时间点)等。在本申请的再一示例性实施例中,为了确保数据的完整性,所述的数据恢复时间点也可以是在所述DRC发生异常时的时间点的基础上,向前偏移指定时间后的时间点,比如DRC异常时间点为13:50:48,所述的数据恢复时间点可以设定为13:49:48,即提前一分钟。在本申请的一个示例性实施例中,所述基于预设的第一数据同步机制,将源数据库中预定范围的数据同步至目标数据库,比如可以通过DRC监听源数据库的日志文件(比如binlog日志)的方式来获得源数据库中预定范围的数据,然后将其同步至目标数据库。需要说明的是,本申请实施例中的第一数据同步机制,并不局限于通过DRC监听源数据库的日志文件的方式来获得源数据库中预定范围的数据。在本申请的其他示例性实施例中,还可以通过其他方式获得源数据库中预定范围的数据,例如增量数据抽取方式等。在本申请的一个具体实施例中,所述的增量数据抽取例如可以是基于触发器、基于时间戳或基于全表对比等等。以下对上述的各个增量数据抽取方式进行简要说明:基于触发器:在目标数据库中的待同步数据库表上建立需要的触发器(本申请实施例中可建立插入触发器),每当源数据库源中对应的数据库表中的数据发生变化,就会被插入触发器将变化的数据写入一个临时表,抽取线程则从临时表中抽取数据,临时表中已抽取过的数据被标记或删除。基于全表比对:典型的全表比对的方式可以是采用MD5(Message-DigestAlgorithm5,信息-摘要算法5)校验码。具体的,利用ETL(ExtractTransformLoad,抽取、转换、装载)工具事先为目标数据库中的待同步数据库表建立一个结构类似的MD5临时表,该临时表中记录有源数据库源中的待同步数据库表主键以及根据所有字段的数据计算出来的MD5校验码。每次进行数据抽取时,对源数据库源中的待同步数据库表和MD5临时表进行MD5校验码的比对,从而决定源数据库源中的待同步数据库表中的数据是新增、修改还是删除,同时更新MD5校验码。基于时间戳:它是一种基于快照比较的变化数据捕获方式,在源数据库源中的待同步数据库表上增加一个时间戳字段,系统中更新修改表数据的时候,同时修改时间戳本文档来自技高网...
异构数据库的数据同步方法及装置

【技术保护点】
一种异构数据库的数据同步方法,其特征在于,包括以下步骤:在基于预设的第一数据同步机制,将源数据库中预定范围的数据同步至目标数据库的过程中,检测所述第一数据同步机制的状态;当所述第一数据同步机制的状态异常时,启用第二数据同步机制,以将所述源数据库中预定范围的数据同步至所述目标数据库。

【技术特征摘要】
1.一种异构数据库的数据同步方法,其特征在于,包括以下步骤:在基于预设的第一数据同步机制,将源数据库中预定范围的数据同步至目标数据库的过程中,检测所述第一数据同步机制的状态;当所述第一数据同步机制的状态异常时,启用第二数据同步机制,以将所述源数据库中预定范围的数据同步至所述目标数据库。2.根据权利要求1所述的异构数据库的数据同步方法,其特征在于,所述启用第二数据同步机制,包括:接收分布式资源管理DRM平台推送的数据同步任务;所述数据同步任务包括数据恢复时间点及所述源数据库中的待同步数据库表的标识;根据所述待同步数据库表的标识,从该待同步数据库表中定时捞取,其创建时间点晚于所述数据恢复时间点的所有数据放入临时列表,并将所述临时列表中的数据插入所述目标数据库中对应的数据库表。3.根据权利要求2所述的异构数据库的数据同步方法,其特征在于,还包括:所述的定时捞取中,除首次捞取的捞取范围为待同步数据库表中,其创建时间晚于所述数据恢复时间点的所有数据外,其后每次捞取的捞取范围为创建时间晚于上一次捞取的截止时间的所有数据。4.根据权利要求2所述的异构数据库的数据同步方法,其特征在于,所述的定时捞取是在每次接收到,由调度中心定时发送的驱动消息时触发的。5.根据权利要求2所述的异构数据库的数据同步方法,其特征在于,在所述第二数据同步机制下,当所述源数据库中的待同步数据库表有多个时,并行处理每个待同步数据库表的同步,或者根据预设的数据同步优先级处理每个待同步数据库表的同步。6.根据权利要求2所述的异构数据库的数据同步方法,其特征在于,在所述的插入之前,还包括:判断所述目标数据库中对应的数据库表中,是否已存所述临时列表中的数据;如果不存在,则将所述临时列表中的数据插入所述目标数据库中对应的数据库表。7.根据权利要求6所述的异构数据库的数据同步方法,其特征在于,还包括:如果所述目标数据库中对应的数据库表内已存在所述临时列表中的数据,则忽略该数据。8.根据权利要求2所述的异构数据库的数据同步方法,其特征在于,在所述将临时列表中的数据插入所述目标数据库中对应的数据库表之后,还包括:清空所述临时列表。9.根据权利要求2所述的异构数据库的数据同步方法,其特征在于,所述第一数据同步机制,包括:通过数据同步中心DRC监听所述源数据库的日志文件,以从所述日志文件中获取所述源数据库中预定范围的数据,然后将其同步至所述目标数据库。10.根据权利要求9所述的异构数据库的数据同步方法,其特征在于,所述的数...

【专利技术属性】
技术研发人员:张锐刘银
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛,KY

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1