CN107016014B - 异构数据库的数据同步方法及装置 - Google Patents

异构数据库的数据同步方法及装置 Download PDF

Info

Publication number
CN107016014B
CN107016014B CN201610875651.4A CN201610875651A CN107016014B CN 107016014 B CN107016014 B CN 107016014B CN 201610875651 A CN201610875651 A CN 201610875651A CN 107016014 B CN107016014 B CN 107016014B
Authority
CN
China
Prior art keywords
data
database
data synchronization
synchronization
synchronized
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
Application number
CN201610875651.4A
Other languages
English (en)
Other versions
CN107016014A (zh
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.)
Ant Fortune Shanghai Financial Information Service Co ltd
Original Assignee
Alibaba Group Holding Ltd
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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201610875651.4A priority Critical patent/CN107016014B/zh
Publication of CN107016014A publication Critical patent/CN107016014A/zh
Application granted granted Critical
Publication of CN107016014B publication Critical patent/CN107016014B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • G06F16/275Synchronous replication

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请实施例提供了一种异构数据库的数据同步方法及装置,该方法包括以下步骤:在基于预设的第一数据同步机制,将源数据库中预定范围的数据同步至目标数据库的过程中,检测所述第一数据同步机制的状态;当所述第一数据同步机制的状态异常时,启用第二数据同步机制,以将所述源数据库中预定范围的数据同步至所述目标数据库。本申请实施例实现了,在主用的数据同步机制因异常而无法工作时,还可以通过其他数据同步机制将源数据库中的指定范围内的数据同步到目标数据库。

Description

异构数据库的数据同步方法及装置
技术领域
本申请涉及数据库技术领域,尤其是涉及一种异构数据库的数据同步方法及装置。
背景技术
对于异构数据库,目前现有的数据同步手段可通过DRC(Data ReplicationCenter,数据同步中心)监听源数据库的binlog日志(这里的源数据库是基于mysql数据库技术),然后通过消息将binlog日志发送到订阅端,订阅端拿到消息后生成相应的ETL(Extract Transform Loading,数据抽取转化装载规则)任务,然后基于ETL任务将数据同步到目标数据库中。
然而,一旦DRC异常(比如宕机)暂时无法自动恢复时,源数据库的增量数据则无法同步到目标数据库。由于增量数据未及时同步到目标数据库,往往也就丧失了其时效性,进而还可能影响基于该目标数据库的系统应用(比如系统无法及时向用户推送最新资讯)。
发明内容
本申请实施例的目的在于提供一种异构数据库的数据同步方法及装置,以实现在主用的数据同步机制因异常而无法工作时,还可以通过其他方式将源数据库中的指定范围内的数据同步到目标数据库。
为达到上述目的,一方面,本申请实施例提供了一种异构数据库的数据同步方法,包括以下步骤:
在基于预设的第一数据同步机制,将源数据库中预定范围的数据同步至目标数据库的过程中,检测所述第一数据同步机制的状态;
当所述第一数据同步机制的状态异常时,启用第二数据同步机制,以将所述源数据库中预定范围的数据同步至所述目标数据库。
另一方面,本申请实施例还提供了一种异构数据库的数据同步装置,包括:
同步状态检测模块,用于在基于预设的第一数据同步机制,将源数据库中预定范围的数据同步至目标数据库的过程中,检测所述第一数据同步机制的状态;
同步机制替换模块,用于当所述第一数据同步机制的状态异常时,启用第二数据同步机制,以将所述源数据库中预定范围的数据同步至所述目标数据库。
本申请实施例中,在基于预设的第一数据同步机制,将源数据库中预定范围的数据同步至目标数据库的过程中,检测第一数据同步机制的状态;当确认第一数据同步机制的状态异常时,启用第二数据同步机制,以将源数据库中预定范围的数据同步至目标数据库,从而实现了在主用的第一数据同步机制故障期间,还可通过启用第二数据同步机制,继续将源数据库中预定范围的数据同步至目标数据库。
附图说明
此处所说明的附图用来提供对本申请实施例的进一步理解,构成本申请实施例的一部分,并不构成对本申请实施例的限定。在附图中:
图1为本申请实施例的异构数据库的数据同步方法的流程图;
图2为本申请实施例的数据同步装置的结构框图;
图3为本申请实施例的数据同步装置中同步机制替换模块的结构框图;
图4为本申请实施例一应用场景的时序图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,对本申请实施例做进一步详细说明。在此,本申请实施例的示意性实施例及其说明用于解释本申请实施例,但并不作为对本申请实施例的限定。
下面结合附图,对本申请实施例的具体实施方式作进一步的详细说明。
参考图1所示,本申请实施例的异构数据库的数据同步方法包括以下步骤:
步骤S101、在基于预设的第一数据同步机制,将源数据库中预定范围的数据同步至目标数据库的过程中,检测所述第一数据同步机制的状态。
在本申请实施例中,所述的第一数据同步机制一般为主用的数据同步机制,即正常情况下,数据同步所适合采用的数据同步机制。一般的,系统会对第一数据同步机制进行监控,当监控发现同步有故障时,会发出告警,以触发采用其他方式继续进行数据同步。所述检测第一数据同步机制的状态,即通过对第一数据同步机制进行监控而获得的监控结果,判断第一数据同步机制当前是否正常运行。在本申请实施例中,所述目标数据库和所述源数据库一般属于异构数据库。
步骤S102、当所述第一数据同步机制的状态异常时,启用第二数据同步机制,以将所述源数据库中预定范围的数据同步至所述目标数据库。
在本申请实施例中,所述启用第二数据同步机制可以包括以下步骤:
1)、接收理DRM(distributed resource management,分布式资源管理)平台推送的数据同步任务,所述数据同步任务包括数据恢复时间点及指定的目标数据库中待同步的数据库表的标识。
在本申请的一个示例性实施例中,为了可以在系统运行时修改系统的缓存配置且不用重启系统,数据同步任务可通过DRM平台动态推送至系统。DRM平台是一种能提供动态资源配置的平台,其可以在系统运行时修改系统缓存配置,对于系统而言,DRM平台向其推送缓存配置信息(所述缓存配置信息中包括数据同步任务),其相当于是系统订阅了DRM平台推送的缓存配置信息,并且可远程将订阅的缓存配置信息加载至缓存,因此系统无需重启就可以生效,从而节省了重启系统所需花费的时间,因而有利于快速实现数据同步。
在本申请的一个示例性实施例中,所述的数据恢复时间点比如可以为DRC最近一次成功同步数据时的时间点;在本申请的另一示例性实施例中,所述的数据恢复时间点也可以为所述DRC发生异常时的时间点(比如DRC宕机时间点)等。在本申请的再一示例性实施例中,为了确保数据的完整性,所述的数据恢复时间点也可以是在所述DRC发生异常时的时间点的基础上,向前偏移指定时间后的时间点,比如DRC异常时间点为13:50:48,所述的数据恢复时间点可以设定为13:49:48,即提前一分钟。
在本申请的一个示例性实施例中,所述基于预设的第一数据同步机制,将源数据库中预定范围的数据同步至目标数据库,比如可以通过DRC监听源数据库的日志文件(比如binlog日志)的方式来获得源数据库中预定范围的数据,然后将其同步至目标数据库。
需要说明的是,本申请实施例中的第一数据同步机制,并不局限于通过DRC监听源数据库的日志文件的方式来获得源数据库中预定范围的数据。在本申请的其他示例性实施例中,还可以通过其他方式获得源数据库中预定范围的数据,例如增量数据抽取方式等。在本申请的一个具体实施例中,所述的增量数据抽取例如可以是基于触发器、基于时间戳或基于全表对比等等。以下对上述的各个增量数据抽取方式进行简要说明:
基于触发器:在目标数据库中的待同步数据库表上建立需要的触发器(本申请实施例中可建立插入触发器),每当源数据库源中对应的数据库表中的数据发生变化,就会被插入触发器将变化的数据写入一个临时表,抽取线程则从临时表中抽取数据,临时表中已抽取过的数据被标记或删除。
基于全表比对:典型的全表比对的方式可以是采用MD5(Message-DigestAlgorithm 5,信息-摘要算法5)校验码。具体的,利用ETL(Extract Transform Load,抽取、转换、装载)工具事先为目标数据库中的待同步数据库表建立一个结构类似的MD5临时表,该临时表中记录有源数据库源中的待同步数据库表主键以及根据所有字段的数据计算出来的MD5校验码。每次进行数据抽取时,对源数据库源中的待同步数据库表和MD5临时表进行MD5校验码的比对,从而决定源数据库源中的待同步数据库表中的数据是新增、修改还是删除,同时更新MD5校验码。
基于时间戳:它是一种基于快照比较的变化数据捕获方式,在源数据库源中的待同步数据库表上增加一个时间戳字段,系统中更新修改表数据的时候,同时修改时间戳字段的值。当进行数据抽取时,通过比较系统时间与时间戳字段的值来决定抽取哪些数据。对于支持时间戳自动更新的数据库而言,即表的其它字段的数据发生改变时,自动更新时间戳字段的值。对于不支持时间戳自动更新的数据库而言,这就要求业务系统在更新业务数据时,手工更新时间戳字段。
2)、根据所述待同步数据库表的标识,从该待同步数据库表中定时捞取,其创建时间点晚于所述数据恢复时间点的所有数据放入临时列表(list),并将所述临时列表中的数据插入所述目标数据库中对应的数据库表。
在本申请的一个示例性实施例中,上述定时捞取时,除首次捞取的捞取范围为源数据库中的待同步数据库表中,其创建时间晚于所述数据恢复时间点的所有数据外,其后每次捞取的捞取范围为创建时间晚于上一次捞取的截止时间的所有数据(即在首次捞取后,其后的各次捞取均为对源数据库中的待同步数据库表内的增量数据进行捞取),比如第一次捞取的截止时间为15:50:05,则在第二次捞取周期到来时,只需从源数据库中指定范围内捞取其创建时间晚于15:50:05的增量数据。这样,可以防止数据的重复捞取,节省系统资源,提高数据同步效率。
由此可见,本申请实施例中,在上述的定时捞取和数据插入中,每一次的捞取和数据插入就是一次数据同步过程。其中,所述定时捞取的时间间隔可根据实时性要求适当设定。
在本申请的一个示例性实施例中,在将所述临时列表中的数据插入所述目标数据库中对应的数据库表之前,还可以包括:
判断所述目标数据库中对应的数据库表中,是否已存所述临时列表中的数据;
如果不存在,则将所述临时列表中的数据插入所述目标数据库中对应的数据库表;否则,则忽略该数据,因为,对于已经存在的相同数据,没必要重复。
在本申请的一个示例性实施例中,在所述将临时列表中的数据插入所述目标数据库中对应的数据库表之后,还可以清空所述临时列表,以便于为下一次数据同步做准备。
在本申请的一个示例性实施例中,所述的定时捞取是在每次接收到由调度中心定时发送的驱动消息时触发的。需要说明的是,其中,调度中心定时发送驱动消息是类似于一种轮询(Polling)机制,不管DRM平台是否推送了数据同步任务,调度中心都会定时向系统发一个驱动消息,系统被驱动消息触发后,会检查缓存配置信息中是否包含数据同步任务;如果包含,则从中获得待同步数据库表及数据恢复时间点,以进行数据同步;如果不包含,则不进行数据同步。而在缓存配置信息中包含数据同步任务的前提下,系统每收到一个驱动消息就进行一次数据捞取(即从源数据库中的对应数据库表里捞取增量数据),并将捞取的数据更新到目标数据库的对应的数据库表中。
在本申请的另一示例性实施例中,还可以考虑在系统侧设置用于数据同步的定时机制,以实现数据同步的定时执行。
在本申请一个示例性实施例中,在所述第二数据同步机制下,当所述源数据库中的待同步数据库表有多个时,如果系统处理能力允许,可并行处理每个待同步数据库表的同步。在本申请另一示例性实施例中,在所述第二数据同步机制下,当所述源数据库中的待同步数据库表有多个时,如果系统处理能力不允许,则可以根据预设的数据同步优先级,进行数据同步处理。
此外,由于DRC故障后的恢复需要一定时间,在此期间,源数据库可能会不断产生增量数据,因此,至少在DRC故障尚未恢复前,数据同步需要持续进行。需要说明的是,由于通过DRC监听数据库日志的方式获取数据库增量数据,要比通过DRM配置后定时查表的方式获取数据库增量数据的效率要高,因此,本申请通过DRM配置后定时查表的方式获取数据库增量数据的方式,更适合于作为临时性或应急性的数据同步机制。
本申请实施例中,在基于预设的第一数据同步机制,将源数据库中预定范围的数据同步至目标数据库的过程中,检测第一数据同步机制的状态;当确认第一数据同步机制的状态异常时,启用第二数据同步机制,以将源数据库中预定范围的数据同步至目标数据库,从而实现了在主用的第一数据同步机制故障期间,还可通过启用第二数据同步机制,继续将源数据库中预定范围的数据同步至目标数据库。
虽然上文描述的过程流程包括以特定顺序出现的多个操作,但是,应当清楚了解,这些过程可以包括更多或更少的操作,这些操作可以顺序执行或并行执行(例如使用并行处理器或多线程环境)。
下面结合以下结合本申请的一个实施例介绍一种具体应用场景。
蚂蚁聚宝的资讯都是以股票,基金资讯为主体的。其中,资讯的源数据库是stockdb数据库。stockdb数据库是secuinfo系统中的数据库,其主要存放股票资讯数据;stockdb的资讯数据可以是来源于一财或者新浪的资讯,也是通过DRC从聚源同步而来。咨询的直接来源是finfoproddb数据库:finfoproddb数据库是finfocore系统中的数据库,其存放平台配置、业务表以及资讯数据;目前finfoproddb数据库中的资讯数据都是从stockdb数据库同步过来的,具体来说,是通过DRC监听stockdb数据库的binlog日志的方式同步而来。
参见图4所示,当DRC故障时,其基于本申请实施例的数据同步处理方式如下:
1、finfocore系统接收DRM推送的数据同步任务。
当DRC故障时,DRM可在后台以集群方式推送数据同步任务,推送格式可以如下:
orig_stock_news_info:recovery.switch=true,recovery.datetime=20150611000000(表名:recovery.switch=true,recovery.datetime=恢复时间点yymmddhhmmss)。本场景可以支持多个数据库表并行恢复(配置时,各个表之间可以用“|”隔开)。比如stock_news_info、stock_news_text、tock_news_auth_info、stock_news_column_item、stock_news_securities等数据库表均可并行恢复。其中,数据同步任务包括数据恢复时间点及stockdb数据库中的待同步数据库表的标识。
2、finfocore系统接收调度中心scheduler定时发送的驱动消息。需要说明的是,调度中心定时发送驱动消息是一种类似于轮询机制,不管DRM平台是否推送了数据同步任务,调度中心都会定时向系统发一个驱动消息。
3、finfocore系统被驱动消息触发后检查缓存配置信息中是否包含数据同步任务;如果包含,则从中获得待同步数据库表及数据恢复时间点,以进行数据同步;如果不包含,则不进行数据同步。
4、在缓存配置信息包含数据同步任务时,finfocore系统根据所述标识从stockdb数据库中对应的待同步数据库表中,查询创建时间大于数据恢复时间点的数据存放到list中(首次捞取)。其中,除首次捞取的捞取范围为源数据库中对应的待同步数据库表中,其创建时间晚于所述数据恢复时间点的所有数据外,其后每次捞取的捞取范围为创建时间晚于上一次捞取的截止时间的所有数据。当然,各次捞取的启动时机是在驱动消息的控制下进行的。
5、finfocore系统将list中的数据插入finfoproddb数据库中对应的数据库表。如果待插入的数据已存在于finfoproddb数据库对应的数据库表中,就忽略该数据,如果不存,则进行插入。
在DRC同步数据出现异常,暂时无法恢复时,通过本申请实例可以有效且及时地保障数据的同步,使得用户在客户端读取资讯的时候可以正常看到最及时的信息,从而提升了用户的体验,也避免了用户因没看到最及时的资讯产生不必要的经济损失。另外,在DRC出现消息丢失,导致资讯缺失时也可以考虑通过此机制恢复失去的资讯。
参考图2所示,本申请实施例的异构数据库的数据同步装置包括:
同步状态检测模块21,用于在基于预设的第一数据同步机制,将源数据库中预定范围的数据同步至目标数据库的过程中,检测所述第一数据同步机制的状态;
同步机制替换模块22,用于当所述第一数据同步机制的状态异常时,启用第二数据同步机制,以将所述源数据库中预定范围的数据同步至所述目标数据库。
结合图3所示,其中,所述同步机制替换模块22包括:
任务接收子模块221,用于接收分布式资源管理DRM平台推送的数据同步任务;所述数据同步任务包括数据恢复时间点及所述源数据库中的待同步数据库表的标识;
数据同步子模块222,用于根据所述待同步数据库表的标识,从该待同步数据库表中定时捞取,其创建时间点晚于所述数据恢复时间点的所有数据放入临时列表,并将所述临时列表中的数据插入所述目标数据库中对应的数据库表。
在本申请另一实施例中,所述同步机制替换模块22还可以包括:
列表清空子模块223,用于在所述数据同步子模块将临时列表中的数据,插入所述目标数据库中对应的数据库表之后,清空所述临时列表。
本申请实施例的异构数据库的数据同步装置与上述本申请实施例的异构数据库的数据方法对应,因此,有关于本申请实施例的异构数据库的数据同步装置中各模块或子模块的具体细节内容,请参见本申请实施例的异构数据库的数据方法,在此不再赘述。
本申请实施例中,在基于预设的第一数据同步机制,将源数据库中预定范围的数据同步至目标数据库的过程中,检测第一数据同步机制的状态;当确认第一数据同步机制的状态异常时,启用第二数据同步机制,以将源数据库中预定范围的数据同步至目标数据库,从而实现了在主用的第一数据同步机制故障期间,还可通过启用第二数据同步机制,继续将源数据库中预定范围的数据同步至目标数据库。
本领域技术人员还可以了解到本申请实施例列出的各种说明性逻辑块、单元和步骤可以通过硬件、软件或两者的结合来实现。至于是通过硬件还是软件来实现取决于特定的应用和整个系统的设计要求。本领域技术人员可以对于每种特定的应用,可以使用各种方法实现所述的功能,但这种实现不应被理解为超出本申请实施例保护的范围。
本申请实施例中所描述的各种说明性的逻辑块,或单元都可以通过通用处理器,数字信号处理器,专用集成电路(ASIC),现场可编程门阵列或其它可编程逻辑装置,离散门或晶体管逻辑,离散硬件部件,或上述任何组合的设计来实现或操作所描述的功能。通用处理器可以为微处理器,可选地,该通用处理器也可以为任何传统的处理器、控制器、微控制器或状态机。处理器也可以通过计算装置的组合来实现,例如数字信号处理器和微处理器,多个微处理器,一个或多个微处理器联合一个数字信号处理器核,或任何其它类似的配置来实现。
本申请实施例中所描述的方法或算法的步骤可以直接嵌入硬件、处理器执行的软件模块、或者这两者的结合。软件模块可以存储于RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移动磁盘、CD-ROM或本领域中其它任意形式的存储媒介中。示例性地,存储媒介可以与处理器连接,以使得处理器可以从存储媒介中读取信息,并可以向存储媒介存写信息。可选地,存储媒介还可以集成到处理器中。处理器和存储媒介可以设置于ASIC中,ASIC可以设置于用户终端中。可选地,处理器和存储媒介也可以设置于用户终端中的不同的部件中。
在一个或多个示例性的设计中,本申请实施例所描述的上述功能可以在硬件、软件、固件或这三者的任意组合来实现。如果在软件中实现,这些功能可以存储与电脑可读的媒介上,或以一个或多个指令或代码形式传输于电脑可读的媒介上。电脑可读媒介包括电脑存储媒介和便于使得让电脑程序从一个地方转移到其它地方的通信媒介。存储媒介可以是任何通用或特殊电脑可以接入访问的可用媒体。例如,这样的电脑可读媒体可以包括但不限于RAM、ROM、EEPROM、CD-ROM或其它光盘存储、磁盘存储或其它磁性存储装置,或其它任何可以用于承载或存储以指令或数据结构和其它可被通用或特殊电脑、或通用或特殊处理器读取形式的程序代码的媒介。此外,任何连接都可以被适当地定义为电脑可读媒介,例如,如果软件是从一个网站站点、服务器或其它远程资源通过一个同轴电缆、光纤电缆、双绞线、数字用户线(DSL)或以例如红外、无线和微波等无线方式传输的也被包含在所定义的电脑可读媒介中。所述的碟片(disk)和磁盘(disc)包括压缩磁盘、镭射盘、光盘、DVD、软盘和蓝光光盘,磁盘通常以磁性复制数据,而碟片通常以激光进行光学复制数据。上述的组合也可以包含在电脑可读媒介中。
以上所述的具体实施例,对本申请的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本申请实施例的具体实施例而已,并不用于限定本申请的保护范围,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (15)

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

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610875651.4A CN107016014B (zh) 2016-09-30 2016-09-30 异构数据库的数据同步方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610875651.4A CN107016014B (zh) 2016-09-30 2016-09-30 异构数据库的数据同步方法及装置

Publications (2)

Publication Number Publication Date
CN107016014A CN107016014A (zh) 2017-08-04
CN107016014B true CN107016014B (zh) 2020-08-04

Family

ID=59439054

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610875651.4A Active CN107016014B (zh) 2016-09-30 2016-09-30 异构数据库的数据同步方法及装置

Country Status (1)

Country Link
CN (1) CN107016014B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107832124B (zh) * 2017-09-25 2021-07-09 创新先进技术有限公司 一种在文件处理系统中处理任务的方法和装置
CN110750410B (zh) * 2018-07-24 2024-04-12 北京京东尚科信息技术有限公司 一种监听数据库日志的方法和装置
CN109101622A (zh) * 2018-08-10 2018-12-28 北京奇虎科技有限公司 数据同步方法、装置、计算设备及计算机存储介质
CN109582733A (zh) * 2018-10-26 2019-04-05 平安科技(深圳)有限公司 数据同步方法、装置、计算机设备及存储介质
CN109508356B (zh) * 2018-11-14 2024-05-03 平安科技(深圳)有限公司 数据异常预警方法、装置、计算机设备及存储介质
CN110647534B (zh) * 2019-09-19 2022-11-04 中国银行股份有限公司 一种跨数据库平台同步数据的核对方法、设备以及系统
CN110941665A (zh) * 2019-10-31 2020-03-31 北京浪潮数据技术有限公司 节点间的数据同步方法、数据同步装置及数据同步设备
CN113515569B (zh) * 2020-04-09 2023-12-26 阿里巴巴集团控股有限公司 数据的同步方法、装置、系统
CN111858597A (zh) * 2020-07-22 2020-10-30 安徽华典大数据科技有限公司 一种异构数据库中数据的同步方法
CN112100189A (zh) * 2020-09-16 2020-12-18 南京亚信软件有限公司 数据更新冲突的检测方法、装置以及电子设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7523110B2 (en) * 2005-03-03 2009-04-21 Gravic, Inc. High availability designated winner data replication
CN104376017A (zh) * 2013-08-15 2015-02-25 阿里巴巴集团控股有限公司 在数据库之间进行数据同步的方法及系统
CN104679841A (zh) * 2015-02-11 2015-06-03 北京京东尚科信息技术有限公司 一种消费端数据流复制方法及系统
CN105335443A (zh) * 2014-08-13 2016-02-17 阿里巴巴集团控股有限公司 一种用于数据同步中的异常检测的方法与设备

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7523110B2 (en) * 2005-03-03 2009-04-21 Gravic, Inc. High availability designated winner data replication
CN104376017A (zh) * 2013-08-15 2015-02-25 阿里巴巴集团控股有限公司 在数据库之间进行数据同步的方法及系统
CN105335443A (zh) * 2014-08-13 2016-02-17 阿里巴巴集团控股有限公司 一种用于数据同步中的异常检测的方法与设备
CN104679841A (zh) * 2015-02-11 2015-06-03 北京京东尚科信息技术有限公司 一种消费端数据流复制方法及系统

Also Published As

Publication number Publication date
CN107016014A (zh) 2017-08-04

Similar Documents

Publication Publication Date Title
CN107016014B (zh) 异构数据库的数据同步方法及装置
US20190332513A1 (en) Method and apparatus for dealing with abnormality of application program and storage medium
US10545807B2 (en) Method and system for acquiring parameter sets at a preset time interval and matching parameters to obtain a fault scenario type
CN108563502B (zh) 一种任务调度方法和装置
US20120137164A1 (en) Methods and systems for fault-tolerant distributed stream processing
CN107480014B (zh) 一种高可用设备切换方法及装置
CN108123851B (zh) 分布式系统中主从节点同步链路的存活检测方法及装置
WO2014166265A1 (en) Method, terminal, cache server and system for updating webpage data
CN105653653B (zh) 一种订单数据同步方法及系统
CN104184756A (zh) 一种数据同步方法、装置及系统
CN107231435B (zh) 数据同步监控方法及系统
CN110895488B (zh) 任务调度方法及装置
CN111064789B (zh) 数据迁移的方法和系统
CN108183971B (zh) 一种分布式系统中的节点选举方法
CN110650164B (zh) 文件的上传方法、装置、终端以及计算机存储介质
CN113905005A (zh) 即时通讯的客户端状态更新方法和装置
CN111400104A (zh) 数据同步方法及装置、电子设备、存储介质
CN110795264A (zh) 监控管理方法及系统、智能管理终端
CN109684130B (zh) 一种机房间数据备份的方法及装置
WO2012079351A1 (zh) 多线程数据同步方法及装置
CN111680106B (zh) 一种多应用系统数据同步的方法及装置
CN107172112B (zh) 一种计算机文件传输方法及装置
CN105354110A (zh) 云服务器数据备份方法及装置
CN105939203B (zh) 表项同步方法以及装置
CN111897626A (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
TR01 Transfer of patent right

Effective date of registration: 20200925

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Patentee after: Innovative advanced technology Co.,Ltd.

Address before: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Patentee before: Advanced innovation technology Co.,Ltd.

Effective date of registration: 20200925

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Patentee after: Advanced innovation technology Co.,Ltd.

Address before: Greater Cayman, British Cayman Islands

Patentee before: Alibaba Group Holding Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220425

Address after: Room 602, No. 618 Wai Road, Huangpu District, Shanghai

Patentee after: Ant fortune (Shanghai) Financial Information Service Co.,Ltd.

Address before: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman ky1-9008

Patentee before: Innovative advanced technology Co.,Ltd.

TR01 Transfer of patent right