CN107844566B - 一种dump控制方法及其系统 - Google Patents
一种dump控制方法及其系统 Download PDFInfo
- Publication number
- CN107844566B CN107844566B CN201711065831.7A CN201711065831A CN107844566B CN 107844566 B CN107844566 B CN 107844566B CN 201711065831 A CN201711065831 A CN 201711065831A CN 107844566 B CN107844566 B CN 107844566B
- Authority
- CN
- China
- Prior art keywords
- data
- full
- dump
- incremental
- database
- 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
- 238000000034 method Methods 0.000 title claims abstract description 33
- 230000005012 migration Effects 0.000 claims abstract description 21
- 238000013508 migration Methods 0.000 claims abstract description 21
- 230000004048 modification Effects 0.000 claims description 15
- 238000012986 modification Methods 0.000 claims description 15
- 238000010586 diagram Methods 0.000 description 2
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
- G06F11/1451—Management of the data involved in backup or backup restore by selection of backup contents
-
- 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/21—Design, administration or maintenance of databases
- G06F16/214—Database migration support
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/80—Database-specific techniques
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种Dump控制方法及其系统,包括数据平台周期性地从线下数据库获得全量数据并发送至dump系统;数据平台实时获取线上数据库的增量数据并发送至dump系统;全量数据以及增量数据均携带有表征其生成时间的时间标识;dump系统将全量数据或增量数据作为输入数据,查询备份数据库中的已处理数据中是否包括输入数据;若包括,判断输入数据的时间标识是否晚于已处理数据中对应数据的时间标识,若是,将输入数据发送至备份数据库,并覆盖相应的已处理数据;若已处理数据中不包括输入数据,将输入数据发送至备份数据库进行存储。本发明能够做到全量增量同时进行dump迁移,用户体验好。
Description
技术领域
本发明涉及数据库技术领域,特别是涉及一种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迁移的效率高,用户体验好。
以上的几种具体实施方式仅是本发明的优选实施方式,以上几种具体实施例可以任意组合,组合后得到的实施例也在本发明的保护范围之内。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进,这些改进也应视为本发明的保护范围。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其他实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (5)
1.一种Dump控制方法,其特征在于,包括:
数据平台周期性地从线下数据库获得全量数据并发送至dump系统;其中所述全量数据为对所述线下数据库的完全备份;
所述数据平台实时获取线上数据库的增量数据并发送至所述dump系统;其中,所述增量数据为对所述线上数据库内数据修改的记录;所述全量数据以及所述增量数据均携带有表征其生成时间的时间标识;
所述dump系统将所述全量数据或所述增量数据作为输入数据,查询备份数据库中的已处理数据中是否包括所述输入数据;
若包括,判断所述输入数据的时间标识是否晚于所述已处理数据中对应数据的时间标识,若是,将所述输入数据发送至所述备份数据库,并覆盖相应的已处理数据;
若所述已处理数据中不包括所述输入数据,将所述输入数据发送至所述备份数据库进行存储。
2.根据权利要求1所述的方法,其特征在于,所述时间标识为时间戳。
3.根据权利要求1所述的方法,其特征在于,所述时间标识为版本号,所述版本号依据更新时间从早到晚的顺序进行排序,较早的更新时间对应较小的版本号。
4.根据权利要求1所述的方法,其特征在于,当多个服务器进行dump处理中的数据迁移操作时,各个服务器的dump处理之间设置有分布式锁。
5.一种dump控制系统,其特征在于,包括:
线下数据库,用于产生全量数据;其中,所述全量数据为对所述线下数据库的完全备份,
线上数据库,用于依据自身数据的修改实时产生增量数据;所述增量数据为对所述修改的记录;
数据平台,用于周期性地从线下数据库获得全量数据并发送至dump系统;实时获取线上数据库的增量数据并发送至所述dump系统;其中,所述增量数据为对所述线上数据库内数据修改的记录;
所述dump系统,用于将所述全量数据或所述增量数据作为输入数据,查询备份数据库中的已处理数据中是否包括所述输入数据;若包括,判断所述输入数据的时间标识是否晚于所述已处理数据中对应数据的时间标识,若是,将所述输入数据发送至所述备份数据库,并覆盖相应的已处理数据;若所述已处理数据中不包括所述输入数据,将所述输入数据发送至所述备份数据库进行存储;
所述备份数据库,用于存储所述dump系统发送的所述全量数据以及所述增量数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711065831.7A CN107844566B (zh) | 2017-11-02 | 2017-11-02 | 一种dump控制方法及其系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711065831.7A CN107844566B (zh) | 2017-11-02 | 2017-11-02 | 一种dump控制方法及其系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107844566A CN107844566A (zh) | 2018-03-27 |
CN107844566B true CN107844566B (zh) | 2020-05-05 |
Family
ID=61682283
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711065831.7A Active CN107844566B (zh) | 2017-11-02 | 2017-11-02 | 一种dump控制方法及其系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107844566B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109933632B (zh) * | 2019-04-04 | 2021-04-27 | 杭州数梦工场科技有限公司 | 一种数据库的数据迁移方法、装置及设备 |
CN111177159B (zh) * | 2019-08-16 | 2021-04-16 | 腾讯科技(深圳)有限公司 | 一种数据处理的系统、方法和数据更新设备 |
CN113052543B (zh) * | 2021-05-31 | 2022-05-03 | 广州宸祺出行科技有限公司 | 一种区域订单和司机热力的统计储存方法、装置及应用 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5799322A (en) * | 1995-01-24 | 1998-08-25 | Tandem Computer, Inc. | System and method for stopping updates at a specified timestamp in a remote duplicate database facility |
CN1601515A (zh) * | 2003-09-28 | 2005-03-30 | 华为技术有限公司 | 一种数据间差异性的分析比较方法 |
CN102801543A (zh) * | 2011-05-24 | 2012-11-28 | 中国银联股份有限公司 | 一种双活系统间动态数据同步的方法 |
CN103617176A (zh) * | 2013-11-04 | 2014-03-05 | 广东电子工业研究院有限公司 | 一种实现多源异构数据资源自动同步的方法 |
CN103678494A (zh) * | 2013-11-15 | 2014-03-26 | 北京奇虎科技有限公司 | 客户端同步服务端数据的方法及装置 |
CN105447084A (zh) * | 2015-11-05 | 2016-03-30 | 广东欧珀移动通信有限公司 | 一种同步播放列表的方法及装置 |
-
2017
- 2017-11-02 CN CN201711065831.7A patent/CN107844566B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5799322A (en) * | 1995-01-24 | 1998-08-25 | Tandem Computer, Inc. | System and method for stopping updates at a specified timestamp in a remote duplicate database facility |
CN1601515A (zh) * | 2003-09-28 | 2005-03-30 | 华为技术有限公司 | 一种数据间差异性的分析比较方法 |
CN102801543A (zh) * | 2011-05-24 | 2012-11-28 | 中国银联股份有限公司 | 一种双活系统间动态数据同步的方法 |
CN103617176A (zh) * | 2013-11-04 | 2014-03-05 | 广东电子工业研究院有限公司 | 一种实现多源异构数据资源自动同步的方法 |
CN103678494A (zh) * | 2013-11-15 | 2014-03-26 | 北京奇虎科技有限公司 | 客户端同步服务端数据的方法及装置 |
CN105447084A (zh) * | 2015-11-05 | 2016-03-30 | 广东欧珀移动通信有限公司 | 一种同步播放列表的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN107844566A (zh) | 2018-03-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106649378B (zh) | 一种数据同步方法及装置 | |
CN105763369B (zh) | 一种终端设备远程软件版本分发方法及系统 | |
CN102637214B (zh) | 基于数据库服务间的通用数据同步方法及其系统 | |
CN107844566B (zh) | 一种dump控制方法及其系统 | |
CN107844343A (zh) | 一种复杂服务端应用系统的升级系统及方法 | |
CN110830608B (zh) | 一种全局唯一标识符生成方法、装置、设备及存储介质 | |
CN109063005B (zh) | 一种数据迁移方法及系统、存储介质、电子设备 | |
CN105468720A (zh) | 集成分布式数据处理系统的方法、相应系统及其数据处理方法 | |
US20110265073A1 (en) | Systems and methods for generating encoded identifications of selected subsets of installed software packages on a client machine | |
CN110659261A (zh) | 一种数据挖掘模型发布方法及模型和模型服务管理方法 | |
JP3888827B2 (ja) | プログラム置換システム、分散処理システム及びプログラム置換方法 | |
CN107656796B (zh) | 一种虚拟机冷迁移方法、系统及设备 | |
CN113672692B (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
CN110134533B (zh) | 一种可批量调度数据的系统及方法 | |
CN108156194B (zh) | 一种表单数据处理方法 | |
CN111209332B (zh) | 一种基于自制序列化算法的数据库同步方法 | |
CN110377298B (zh) | 一种分布式集群升级方法及分布式集群 | |
US20010023434A1 (en) | Computational data processing system and computational process implemented by means of such a system | |
CN114528155A (zh) | 一种灾备方法、平台、系统、计算机设备和存储介质 | |
CN111078258B (zh) | 一种版本升级方法及装置 | |
CN114237633A (zh) | 应用配置方法、装置、设备及存储介质 | |
CN109657001B (zh) | 一种源数据端管理平台 | |
CN112968897B (zh) | 一种在去中心化系统中运行的容器计算方法 | |
CN109739535B (zh) | 一种对产品进行驱动维护的方法和系统 | |
JPH10283361A (ja) | データベースアクセス履歴管理装置及び方法及び記憶媒体 |
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 |