一种dump控制方法及其系统与流程

文档序号:14037090阅读:290来源:国知局
一种dump控制方法及其系统与流程

本发明涉及数据库技术领域,特别是涉及一种dump控制方法及其系统。



背景技术:

目前,市面上有许多用于数据库迁移的dump工具,常用的方式有全量迁移与增量迁移,全量迁移指的是将源数据全部经dump处理,增量迁移指的是将源数据中有变化的部分进行dump处理。

但是目前的dump迁移过程中,若有多个数据来源同时进行迁移,则旧数据可能会覆盖新数据或者令新旧数据同时存在,故目前的dump方法,无法同时做到增量和全量同时处理,用户体验差。

因此,如何提供一种能够提高用户体验的dump控制方法及其系统是本领域技术人员目前需要解决的问题。



技术实现要素:

本发明的目的是提供一种dump控制方法及其系统,能够做到全量增量同时进行dump迁移,提高用户体验。

为解决上述技术问题,本发明提供了一种dump控制方法,包括:

数据平台周期性地从线下数据库获得全量数据并发送至dump系统;其中所述全量数据为对所述线下数据库的完全备份;

所述数据平台实时获取线上数据库的增量数据并发送至所述dump系统;其中,所述增量数据为对所述线上数据库内数据修改的记录;所述全量数据以及所述增量数据均携带有表征其生成时间的时间标识;

所述dump系统将所述全量数据或所述增量数据作为输入数据,查询备份数据库中的已处理数据中是否包括所述输入数据;

若包括,判断所述输入数据的时间标识是否晚于所述已处理数据中对应数据的时间标识,若是,将所述输入数据发送至所述备份数据库,并覆盖相应的已处理数据;

若所述已处理数据中不包括所述输入数据,将所述输入数据发送至所述备份数据库进行存储。

优选地,所述时间标识为时间戳。

优选地,所述时间标识为版本号,所述版本号依据更新时间从早到晚的顺序进行排序,较早的更新时间对应较小的版本号。

优选地,当多个服务器进行dump处理中的数据迁移操作时,各个服务器的dump处理之间设置有分布式锁。

为解决上述技术问题,本发明还提供了一种dump控制系统,包括:

线下数据库,用于产生全量数据;其中,所述全量数据为对所述线下数据库的完全备份,

线上数据库,用于依据自身数据的修改实时产生增量数据;所述增量数据为对所述修改的记录;

数据平台,用于周期性地从线下数据库获得全量数据并发送至dump系统;实时获取线上数据库的增量数据并发送至所述dump系统;其中,所述增量数据为对所述线上数据库内数据修改的记录;

所述dump系统,用于将所述全量数据或所述增量数据作为输入数据,查询备份数据库中的已处理数据中是否包括所述输入数据;若包括,判断所述输入数据的时间标识是否晚于所述已处理数据中对应数据的时间标识,若是,将所述输入数据发送至所述备份数据库,并覆盖相应的已处理数据;若所述已处理数据中不包括所述输入数据,将所述输入数据发送至所述备份数据库进行存储;

所述备份数据库,用于存储所述dump系统发送的所述全量数据以及所述增量数据。

本发明提供了一种dump控制方法,从线下数据库周期性地获取全量数据,从线上数据库中实时获取增量数据,且全量数据和增量数据中均携带有时间标识,dump系统依据时间标识的先后,控制全量和增量中的新数据去覆盖备份数据库中相应的旧数据。可见,本发明能够同时对全量和增量进行dump迁移,两者互不干扰,且能够保证旧数据不会覆盖新数据或新旧数据同时存在的情况出现,dump迁移的效率高,用户体验好。本发明还提供一种基于上述方法的dump控制系统。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对现有技术和实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明提供的一种dump控制方法的流程图;

图2为本发明提供的一种dump控制系统的结构示意图。

具体实施方式

本发明的核心是提供一种dump控制方法及其系统,能够做到全量增量同时进行dump迁移,提高用户体验。

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明提供了一种dump控制方法,请参考图1,图1所示为本发明提供的一种dump控制方法的流程图,该方法包括:

步骤s1:数据平台周期性地从线下数据库获得全量数据并发送至dump系统;其中全量数据为对线下数据库的完全备份;

步骤s2:数据平台实时获取线上数据库的增量数据并发送至dump系统;其中,增量数据为对线上数据库内数据修改的记录;全量数据以及增量数据均携带有表征其生成时间的时间标识;

步骤s3:dump系统将全量数据或增量数据作为输入数据,查询备份数据库中的已处理数据中是否包括输入数据;若包括,进入步骤s4;若不包括,进入步骤s5;

步骤s4:判断输入数据的时间标识是否晚于已处理数据中对应数据的时间标识,若是,将输入数据发送至备份数据库,并覆盖相应的已处理数据;

步骤s5:将输入数据发送至备份数据库进行存储。

需要注意的是,在上述方法中,步骤s1与步骤s2之间并不先后顺序,两者是相互独立的两个步骤。

可以理解的是,在现有技术中,全量数据与增量数据的只能先进行全量数据处理,再进行增量数据处理,否则可能出现旧数据覆盖新数据的情况。在本发明中,在对全量数据和增量数据进行处理之前,会先判断已经处理过的数据的更新时间是否早于待处理的数据,只在待处理数据的更新时间较晚时,才可能出现用待处理数据覆盖已处理数据的情况,故即使在本实施例中,全量数据与增量数据同时处理,也不会出现旧数据覆盖新数据的情况。

在一种具体实现方式中,时间标识为时间戳。

需要注意的是,时间标识在本发明中仅用于表示更新时间的顺序,可以用时间戳表示,也可以用其他任意一种可以清楚表示上述顺序的方式来表示。

在另一种具体实现方式中,时间标识为版本号,版本号依据更新时间从早到晚的顺序进行排序,较早的更新时间对应较小的版本号。

需要注意的是,上述表示方法仅用于表示一种实现方式,并不用于限定只能按照上述方式实现,比如,也可以设置成较早的更新时间对应较大的版本号等,这并不影响本发明的实现。

其中,当多个服务器进行dump处理中的数据迁移操作时,各个服务器的dump处理之间设置有分布式锁。分布式锁用于锁定业务唯一id一段时间,只有拿到锁,才能继续下进行处理。没有拿到锁只能等待或放弃。业务唯一id可以为订单号,商品编号等。

可以理解的是,在并发进行的各个dump处理过程中,可能出现多个dump处理同时对一个数据进行处理的情况,这时,可能出现数据不一致的情况。在各个dump处理过程之间设置分布式锁,当多个dump处理过程需要对同一个数据进行处理时,可以由分布式锁控制各个dump处理过程处理该数据的顺序,从而避免出现数据不一致的情况。

当然,需要注意的是,现在的服务器都是集群(多台服务器)做dump装置处理,如果是一台服务器做dump装置处理的话,不需要分布锁。java本身的synchronize就可以解决并发问题(单个jvm可以)。

本发明提供了一种dump控制方法,从线下数据库周期性地获取全量数据,从线上数据库中实时获取增量数据,且全量数据和增量数据中均携带有时间标识,dump系统依据时间标识的先后,控制全量和增量中的新数据去覆盖备份数据库中相应的旧数据。可见,本发明能够同时对全量和增量进行dump迁移,两者互不干扰,且能够保证旧数据不会覆盖新数据或新旧数据同时存在的情况出现,dump迁移的效率高,用户体验好。

本发明还提供了一种dump控制系统,请结合图2,图2所示为本发明提供的一种dump控制系统的结构示意图,该系统包括:

线下数据库1,用于产生全量数据;其中,全量数据为对线下数据库1的完全备份,

线上数据库2,用于依据自身数据的修改实时产生增量数据;增量数据为对修改的记录;

数据平台3,用于周期性地从线下数据库1获得全量数据并发送至dump系统4;实时获取线上数据库2的增量数据并发送至dump系统4;其中,增量数据为对线上数据库2内数据修改的记录;

dump系统4,用于将全量数据或增量数据作为输入数据,查询备份数据库5中的已处理数据中是否包括输入数据;若包括,判断输入数据的时间标识是否晚于已处理数据中对应数据的时间标识,若是,将输入数据发送至备份数据库5,并覆盖相应的已处理数据;若已处理数据中不包括输入数据,将输入数据发送至备份数据库5进行存储;

备份数据库5,用于存储dump系统4发送的全量数据以及增量数据。

本发明提供了一种dump控制系统,从线下数据库周期性地获取全量数据,从线上数据库中实时获取增量数据,且全量数据和增量数据中均携带有时间标识,dump系统依据时间标识的先后,控制全量和增量中的新数据去覆盖备份数据库中相应的旧数据。可见,本发明能够同时对全量和增量进行dump迁移,两者互不干扰,且能够保证旧数据不会覆盖新数据或新旧数据同时存在的情况出现,dump迁移的效率高,用户体验好。

以上的几种具体实施方式仅是本发明的优选实施方式,以上几种具体实施例可以任意组合,组合后得到的实施例也在本发明的保护范围之内。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进,这些改进也应视为本发明的保护范围。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其他实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1