CN110309126A - 关系数据库增量迁移处理方法、关系数据库中数据保存方法 - Google Patents
关系数据库增量迁移处理方法、关系数据库中数据保存方法 Download PDFInfo
- Publication number
- CN110309126A CN110309126A CN201910591554.6A CN201910591554A CN110309126A CN 110309126 A CN110309126 A CN 110309126A CN 201910591554 A CN201910591554 A CN 201910591554A CN 110309126 A CN110309126 A CN 110309126A
- Authority
- CN
- China
- Prior art keywords
- relational database
- migration
- increment
- task
- timestamp
- 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.)
- Pending
Links
Classifications
-
- 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
- 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/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (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
为了解决通过时间戳方式进行关系数据增量迁移过程中,存在数据丢失的技术问题,本发明提供一种关系数据库增量迁移处理方法、关系数据库中数据保存方法、电子装置和非易失性存储介质;所述关系数据库增量迁移处理方法中,基于时间偏移量Tx,调整关系数据库增量迁移处理中上次执行的时间戳为T’n‑1=Tn‑1‑Tx,并将所述数据库迁移时间戳字段范围Tr设置为[T’n‑1,Tn],对所述关系数据库中需要完成增量迁移操作、且时间戳在Tr范围内的每个迁移数据执行迁移操作。因此,即使关系数据库对应服务器的时间与数据迁移对应服务器的时间不一致,也不影响数据的准确性。
Description
技术领域
本发明涉及数据库技术领域,尤其涉及一种关系数据库增量迁移处理方法、关系数据库中数据保存方法、电子装置和非易失性存储介质。
背景技术
关系数据库,是建立在关系数据库模型基础上的数据库,借助于集合代数等概念和方法来处理数据库中的数据,同时也是一个被组织成一组拥有正式描述性的表格,该形式的表格作用的实质是装载着数据项的特殊收集体,这些表格中的数据能以许多不同的方式被存取或重新召集而不需要重新组织数据库表格。关系数据库的定义造成元数据的一张表格或造成表格、列、范围和约束的正式描述。每个表格(有时被称为一个关系)包含用列表示的一个或更多的数据种类。每行包含一个唯一的数据实体,这些数据是被列定义的种类。当创造一个关系数据库的时候,你能定义数据列的可能值的范围和可能应用于那个数据值的进一步约束,而SQL语言是标准用户和应用程序到关系数据库的接口。其优势是容易扩充,且在最初的数据库创造之后,一个新的数据种类能被添加而不需要修改所有的现有应用软件;主流的关系数据库有oracle、db2、sqlserver、sybase、mysql等。
随着信息化的不断发展,各大企事业组织内部通常会构建多种多样的业务系统,很多业务系统的数据是由关系数据库引擎进行存储和管理的,关系数据库引擎的优良特性也促进了信息化的空前繁荣。
在大数据时代,各种类型的技术层出不穷,传统的关系数据库引擎越来越无法满足海量数据的多种使用要求。在大数据领域,为了对原始业务数据进行分析处理,通常需要把关系数据库中存储的数据,迁移到其它NoSQL数据库或Hadoop分布式文件系统等各种大数据架构的存储系统中,以便对数据进行各种挖掘分析工作。
数据迁移有全量和增量两种方式;为提升数据迁移效率,通常采用增量数据迁移技术。目前业界比较常用的增量迁移方式主要有基于时间戳、基于数据库触发器、基于数据库日志、快照表比对等集中方式。
其中,时间戳方式因对源系统的业务处理性能影响较小、迁移性能较好、实现成本小,受到业界的推崇。时间戳迁移方式,要求业务数据表中必须创建一个时间戳字段。通常的时间戳迁移方式,会在每次迁移任务开始前产生一个时间戳标识Tn(n表示每次执行的序号,即第n次执行),每次迁移任务仅仅迁移Tn-1和Tn之间新产生的数据。
在对关系数据库数据迁移过程中,由于业务系统仍在使用并不断产生新的业务数据,因此在临界点Tn,关系数据库中可能存在部分时间戳为Tn的数据后,迁移任务刚好开始执行并获取到查询结果集进行遍历后,关系数据库中仍在产生大量时间戳为Tn的业务数据,甚至关系数据库存在多个入库线程,由于事务锁抢占问题,存在时间戳字段值不与入库顺序严格一直的情况。在做数据迁移时,仅仅查询两次迁移任务之间时间戳范围的数据,往往会导致数据丢失的情况。
有鉴于此,本本领域技术人员迫切希望:提供一种较为健壮的增量迁移方法,解决数据丢失的问题。
发明内容
为了解决通过时间戳方式进行关系数据增量迁移过程中,存在数据丢失的技术问题,本发明提供一种关系数据库增量迁移处理方法、关系数据库中数据保存方法、电子装置和非易失性存储介质,在迁移任务上次执行的时间戳Tn-1的基础上增加时间偏移量参数,这样即使关系数据库对应服务器的时间与数据迁移对应服务器的时间不一致,也不影响数据的准确性。
为了实现上述目的,本发明提供的技术方案包括:
本发明第一方面提供一种关系数据库增量迁移处理方法,其特征在于,所述方法包括:
将关系数据库中需要完成增量迁移操作的每个迁移数据设置时间戳字段;
增量迁移任务执行时,查询所述关系数据库中时间戳字段的最大值Tn和迁移任务上次执行的时间戳Tn-1;
基于时间偏移量Tx,调整所述关系数据库增量迁移处理中上次执行的时间戳为T’n-1=Tn-1-Tx,并将所述数据库迁移时间戳字段范围Tr设置为[T’n-1,Tn],对所述关系数据库中需要完成增量迁移操作、且时间戳在Tr范围内的每个迁移数据执行迁移操作;
其中,n为当前执行迁移任务的序号,n-1为前次执行迁移任务的序号;并且n为大于或等于2的正整数;如果所述关系数据库第一次执行增量迁移处理时,所述关系数据库中时间戳字段的最大值为T1,并且将所述数据库迁移时间戳字段范围设置成小于或等于T1。
本发明实施例优选地实施方式中,所述方法还包括:将所述关系数据库中需要完成增量迁移操作的每个迁移数据还配置有任务识别标识,并且将所述关系数据库中需要完成增量迁移操作的每个迁移数据的表还设置有一个主键字段;
对所述关系数据库中需要完成增量迁移操作、且时间戳在Tr范围内的每个迁移数据执行迁移操作,包括:
通过在所述关系数据库中增量迁移任务执行历史日志中查询对应任务识别标识,能够获取迁移任务上次执行的时间戳Tn-1;并且
如果某个迁移数据的时间戳取值范围为[T’n-1,Tn-1],则读取迁移任务日志并判断主键是否已经迁移,若是则跳过,否则进行迁移;如果某个迁移数据的时间戳取值范围为[Tn-1,Tn],则直接进行迁移操作。
本发明实施例进一步优选地实施方式中,所述方法还包括:次迁移处理执行完成后,将本次执行迁移任务后缓存中的主键列表替换所述关系数据库日志中的主键列表,并将时间戳Tn、任务识别标识记录到所述关系数据库对应增量迁移任务执行历史日志中。
本发明实施例优选地实施方式中,所述时间偏移量Tx的值,根据所述关系数据库中需要执行增量迁移处理的任务数量和/或执行所述关系数据库增量迁移处理能力自动调整。
本发明第二方面还提供一种关系数据库中数据保存方法,其特征在于,所述方法包括:
将关系数据库中需要完成增量迁移操作的每个迁移数据设置时间戳字段,并且所述时间戳字段为最大值Tn;
在增量迁移任务执行历史日志中,设置所述关系数据库中需要完成增量迁移操作的每个迁移数据上次执行迁移任务对应的时间戳Tn-1;
基于时间偏移量Tx,调整所述增量迁移任务执行历史日志中上次执行的时间戳为T’n-1=Tn-1-Tx;
其中,所述时间戳字段的最大值Tn和调整上次执行的时间戳为T’n-1,用于为所述关系数据库执行迁移操作时,提供迁移时间戳范围;并且n为当前执行迁移任务的序号,n-1为前次执行迁移任务的序号;而且n为大于或等于2的正整数;如果所述关系数据库第一次执行增量迁移处理时,所述关系数据库中时间戳字段的最大值为T1。
本发明实施例优选地实施方式中,所述方法还包括将所述关系数据库中需要完成增量迁移操作的每个迁移数据还配置有任务识别标识,并且将所述关系数据库中需要完成增量迁移操作的每个迁移数据的表还设置有一个主键字段;通过在所述关系数据库中增量迁移任务执行历史日志中查询对应任务识别标识,能够获取迁移任务上次执行的时间戳Tn-1。
本发明实施例进一步优选地实施方式中,所述方法还包括:每次迁移处理执行完成后,将本次执行迁移任务后缓存中的主键列表替换所述关系数据库日志中的主键列表,并将时间戳Tn、任务识别标识记录到所述关系数据库对应增量迁移任务执行历史日志中。
本发明实施例优选地实施方式中,所述时间偏移量Tx的值,根据所述关系数据库中需要执行增量迁移处理的任务数量和/或执行所述关系数据库增量迁移处理能力自动调整。
本发明第三方面还提供一种电子装置,其特征在于,所述电子装置包括:
存储器;
处理器;以及
计算机程序;
其中,所述计算机程序存储在所述存储器中,并被配置为由所述处理器执行以实现如第一方面提供的任意一种所述的关系数据库增量迁移处理方法或者如第二方面提供的任意一种所述的关系数据库中数据保存方法。
本发明第四方面还提供一种非易失性存储介质,其上存储有计算机程序,其特征在于,该计算机程序被执行时实现如第一方面提供的任意一种所述的关系数据库增量迁移处理方法或者如第二方面提供的任意一种所述的关系数据库中数据保存方法的步骤。
采用本发明提供的上述技术方案,可以获得以下有益效果:
1、基于时间偏移量Tx,调整关系数据库增量迁移处理中上次执行的时间戳为T’n-1=Tn-1-Tx,数据迁移过程中,即使关系库服务器的时间与数据迁移的服务器时间不一致,也不影响数据的准确性;因为可以通过时间偏移量Tx来将[Tn-1-Tx,Tn-1]时间范围的数据进一步进行增量迁移,所以业务系统可以并行写入数据;而且即使关系数据库服务器的时间与数据迁移的服务器时间不一致,也不影响数据的准确性。
2、优选地技术方案中,如果某个迁移数据的时间戳取值范围为[T’n-1,Tn-1],则读取迁移任务日志并判断主键是否已经迁移,若是则跳过,否则进行迁移;如果某个迁移数据的时间戳取值范围为[Tn-1,Tn],则直接进行迁移操作;所以可以更快快速地完成数据迁移,避免数据的重复处理,而且判断的时间选择,也可以增加判断处理的时间。
3、优选地技术方案中,通过在关系数据库中增量迁移任务执行历史日志中查询对应任务识别标识,不使用关系数据库服务器的时间,可以避免时间发生偏差或者调整系统时间,导致数据缺失的问题。
4、优选地技术方案中,根据关系数据库中需要执行增量迁移处理的任务数量和/或执行关系数据库增量迁移处理能力,自动调整时间偏移量Tx的值;这样设置更合理的偏移量,可以在满足不损失数据库的同时,对不必要的数据(例如已经备份过的数据)不重复搜索。
发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书变得显而易见,或者通过实施本发明的技术方案而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构和/或流程来实现和获得。
附图说明
图1为本发明实施例一提供一种关系数据库增量迁移处理方法的流程图。
图2为本发明实施例二提供一种关系数据库中数据保存方法的流程图。
图3为本发明实施例三提供一种关系数据库增量迁移处理装置的结构框图。
图4为本发明实施例四提供一种关系数据库中数据保存装置的结构框图。
图5为本发明实施例五提供一种电子装置的结构框图。
具体实施方式
以下将结合附图及实施例来详细说明本发明的实施方式,借此对本发明如何应用技术手段来解决技术问题,并达成技术效果的实现过程能充分理解并据以实施。需要说明的是,这些具体的说明只是让本领域普通技术人员更加容易、清晰理解本发明,而非对本发明的限定性解释;并且只要不构成冲突,本发明中的各个实施例以及各实施例中的各个特征可以相互结合,所形成的技术方案均在本发明的保护范围之内。
另外,在附图的流程图示出的步骤可以在诸如一组控制器可执行指令的控制系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
下面通过附图和具体实施例,对本发明的技术方案进行详细描述:
实施例一
本实施例提供一种关系数据库增量迁移处理方法,对上次执行的时间戳Tn-1进行调整,为了解决通过时间戳方式进行关系数据增量迁移过程中,存在数据丢失的技术问题,例如,迁移任务刚好开始执行并获取到查询结果集进行遍历后,关系数据库中仍在产生大量时间戳为Tn的业务数据,甚至关系数据库存在多个入库线程,由于事务锁抢占问题,存在时间戳字段值不与入库顺序严格一直的情况。本实施例提供的技术方案,在执行增量迁移处理时,将上次执行的时间戳Tn-1设置成往上次执行增量迁移操作任务的时间再往前一些,这样关系数据库在上次执行迁移任务过程中产生的数据也会再次在本次执行增量迁移处理时被迁移;从而不会出现数据因为时间戳字段值问题而导致的丢失。
具体地,如图1所示,本实施例提供一种关系数据库增量迁移处理方法包括:
S110、将关系数据库中需要完成增量迁移操作的每个迁移数据设置时间戳字段。
本实施例中,关系数据库是在一个给定的应用领域中,所有实体及实体之间联系的集合构成一个关系数据库。并且关系数据库的型与值:关系数据库的型称为关系数据库模式,是对关系数据库的描述,若干域的定义,在这些域上定义的若干关系模式;关系数据库的值是这些关系模式在某一时刻对应的关系的集合,通常简称为关系数据库。关系数据库的表采用二维表格来存储数据,是一种按行与列排列的具有相关信息的逻辑组,它类似于Excel工作表。一个数据库可以包含任意多个数据表;在用户看来,一个关系模型的逻辑结构是一张二维表,由行和列组成,这个二维表就叫关系,通俗地说,一个关系对应一张表。将每个迁移数据设置时间戳字段,可以是在这张表中增加一个时间戳字段。关系数据库中的数据记录可以是部分需要完成增量迁移任务,例如下文中被分配了任务识别标识的数据记录或数据表,也可以某些字段或者表格名称分别满足规则的数据记录或数据表;当然关系数据库中的数据记录还可以是全部需要完成增量迁移任务。
S120、增量迁移任务执行时,查询关系数据库中时间戳字段的最大值Tn和迁移任务上次执行的时间戳Tn-1。
Tn和Tn-1可以是每个一个预定的周期(执行增量迁移操作的周期)对应的不同时间,Tn和Tn-1分别对应本次或者上次执行迁移任务的时间,每次执行增量操作的时间差可以是相同的,也可以是不同的,本实施例不对其进行限制。
S130、基于时间偏移量Tx,调整关系数据库增量迁移处理中上次执行的时间戳为T’n-1=Tn-1-Tx,并将数据库迁移时间戳字段范围Tr设置为[T’n-1,Tn],对关系数据库中需要完成增量迁移操作、且时间戳在Tr范围内的每个迁移数据执行迁移操作;
其中,n为当前执行迁移任务的序号,n-1为前次执行迁移任务的序号;并且n为大于或等于2的正整数;如果关系数据库第一次执行增量迁移处理时,关系数据库中时间戳字段的最大值为T1,并且将数据库迁移时间戳字段范围设置成小于或等于T1。
需要说明的是时间偏移量Tx可以是提前设置的固定值,也可以是下文优选的技术方案中提及根据每次增量迁移任务的属性进行动态变化的值。而上述提及Tn、Tn-1、T’n-1分别为时刻,例如,可以精确到时、分、秒、毫秒等,[T’n-1,Tn]为时间段,例如XX1时-YY1分-ZZ1秒~XX2时-YY2分-ZZ2秒,Tx为具体的时长,例如5分钟。
采用本实施例提供的上述技术方案,基于时间偏移量Tx,调整关系数据库增量迁移处理中上次执行的时间戳为T’n-1=Tn-1-Tx,数据迁移过程中,即使关系库服务器的时间与数据迁移的服务器时间不一致,也不影响数据的准确性;因为可以通过时间偏移量Tx来将[Tn-1-Tx,Tn-1]时间范围的数据进一步进行增量迁移,所以业务系统可以并行写入数据;而且即使关系数据库服务器的时间与数据迁移的服务器时间不一致,也不影响数据的准确性。
并且由于迁移任务执行时,查询数据表中时间戳字段的最大值Tn。不使用服务器当前时间,可以避免时间发生偏差或者调整系统时间,导致数据缺失的问题。
本实施例优选地实施方式中,上述方法还包括:将关系数据库中需要完成增量迁移操作的每个迁移数据还配置有任务识别标识(Identity,简称ID),并且将关系数据库中需要完成增量迁移操作的每个迁移数据的表还设置有一个主键字段;
对关系数据库中需要完成增量迁移操作、且时间戳在Tr范围内的每个迁移数据执行迁移操作,包括:
通过在关系数据库中增量迁移任务执行历史日志中查询对应任务识别标识,能够获取迁移任务上次执行的时间戳Tn-1;并且
如果某个迁移数据的时间戳取值范围为[T’n-1,Tn-1],则读取迁移任务日志并判断主键是否已经迁移,若是则跳过,否则进行迁移;如果某个迁移数据的时间戳取值范围为[Tn-1,Tn],则直接进行迁移操作。
本实施例中,主键也叫主关键字(primary key),是表中的一个或多个字段,它的值用于唯一地标识表中的某一条记录。在两个表的关系中,主关键字用来在一个表中引用来自于另一个表中的特定记录;主关键字是一种唯一关键字,表定义的一部分;一个表的主键可以由多个关键字共同组成,并且主关键字的列不能包含空值。
上述优选实施方式中主键的判断逻辑即,如果时间戳的取值范围为[T’n-1,Tn-1],则进一步读取迁移任务日志并判断主键,是否已经迁移,若是则跳过,否则进行迁移;如果时间戳的取值范围为[Tn-偏移量Tx,Tn],则把记录主键写到缓存,例如,迁移到其它NoSQL数据库或Hadoop分布式文件系统等各种大数据架构的存储系统中。
其中,上述表达方式中[T’n-1,Tn-1]表示时间戳从T’n-1,到Tn-1之间的任务;而上述表达方式中[Tn-1,Tn]表示时间戳从Tn-1到Tn之间的任务;并且会对关系数据中所有任务时间戳进行遍历查找,并对每一条数据记录。
由于上述优选地技术方案中,如果某个迁移数据的时间戳取值范围为[T’n-1,Tn-1],则读取迁移任务日志并判断主键是否已经迁移,若是则跳过,否则进行迁移;如果某个迁移数据的时间戳取值范围为[Tn-1,Tn],则直接进行迁移操作;所以可以更快快速地完成数据迁移,避免数据的重复处理,而且判断的时间选择,也可以增加判断处理的时间。
本实施例进一步优选地实施方式中,上述方法还包括:每次迁移处理执行完成后,将本次执行迁移任务后缓存中的主键列表替换关系数据库日志中的主键列表,并将时间戳Tn、任务识别标识记录到关系数据库对应增量迁移任务执行历史日志中。
本实施例优选地实施方式中,时间偏移量Tx的值,根据关系数据库中需要执行增量迁移处理的任务数量和/或执行关系数据库增量迁移处理能力自动调整。具体地,可以根据增量迁移处理的任务数量、增量迁移处理能力划分为不同的等级,然后按照不同的等级用查找表的形式,分别对应不同的时间偏移量Tx;也可以用线性函数计算的方式,来确定每次执行增量迁移操作的时间偏移量Tx。
因此,优选地技术方案中,根据关系数据库中需要执行增量迁移处理的任务数量和/或执行关系数据库增量迁移处理能力,自动调整时间偏移量Tx的值;这样设置更合理的偏移量,可以在满足不损失数据库的同时,对不必要的数据(例如已经备份过的数据)不重复搜索。
实施例二
上述在关系数据库中迁移任务上次执行的时间戳Tn-1进一步设置时间偏移量Tx,不仅仅可以应用于增量迁移,还可以用于数据库备份,需要分析、全文检索的不同系统之间的调用等应用场景。鉴于此,本实施例提供一种关系数据库中数据保存方法,该方法包括:
S210、将关系数据库中需要完成增量迁移操作的每个迁移数据设置时间戳字段,并且时间戳字段为最大值Tn。
S220、在增量迁移任务执行历史日志中,设置关系数据库中需要完成增量迁移操作的每个迁移数据上次执行迁移任务对应的时间戳Tn-1。
S230、基于时间偏移量Tx,调整增量迁移任务执行历史日志中上次执行的时间戳为T’n-1=Tn-1-Tx;
其中,时间戳字段的最大值Tn和调整上次执行的时间戳为T’n-1,用于为关系数据库执行迁移操作时,提供迁移时间戳范围;并且n为当前执行迁移任务的序号,n-1为前次执行迁移任务的序号;而且n为大于或等于2的正整数;如果关系数据库第一次执行增量迁移处理时,关系数据库中时间戳字段的最大值为T1。
本实施例优选地实施方式中,上述方法还包括:将关系数据库中需要完成增量迁移操作的每个迁移数据还配置有任务识别标识,并且将关系数据库中需要完成增量迁移操作的每个迁移数据的还设置有一个主键字段;通过在关系数据库中增量迁移任务执行历史日志中查询对应任务识别标识,能够获取迁移任务上次执行的时间戳Tn-1。
本实施例进一步优选地实施方式中,上述方法还包括:每次迁移处理执行完成后,将本次执行迁移任务后缓存中的主键列表替换关系数据库日志中的主键列表,并将时间戳Tn、任务识别标识记录到关系数据库对应增量迁移任务执行历史日志中。
本实施例优选地实施方式中,时间偏移量Tx的值,根据关系数据库中需要执行增量迁移处理的任务数量和/或执行关系数据库增量迁移处理能力自动调整。
需要说明的是,本实施例中与实施例一中相同的技术特征具有相同的意思,并且也能实现相同的技术效果;在此不再赘述。
实施例三
如图3所示,本实施例提供一种关系数据库增量迁移处理装置100,该关系数据库增量迁移处理装置100包括:
时间戳字段设置模块110,用于将关系数据库中需要完成增量迁移操作的每个迁移数据设置时间戳字段。
时间戳查询模块120,用于增量迁移任务执行时,查询关系数据库中时间戳字段的最大值Tn和迁移任务上次执行的时间戳Tn-1。
增量迁移执行模块130,用于基于时间偏移量Tx,调整关系数据库增量迁移处理中上次执行的时间戳为T’n-1=Tn-1-Tx,并将数据库迁移时间戳字段范围Tr设置为[T’n-1,Tn],对关系数据库中需要完成增量迁移操作、且时间戳在Tr范围内的每个迁移数据执行迁移操作;
其中,n为当前执行迁移任务的序号,n-1为前次执行迁移任务的序号;并且n为大于或等于2的正整数;如果关系数据库第一次执行增量迁移处理时,关系数据库中时间戳字段的最大值为T1,并且将数据库迁移时间戳字段范围设置成小于或等于T1。
需要说明的是,本实施例中与实施例一中相同的技术特征具有相同的意思,并且也能实现相同的技术效果;在此不再赘述。
实施例四
如图4所示,本实施例提供关系数据库中数据保存装置200,该关系数据库中数据保存装置200包括:
时间戳字段设置模块210,用于将关系数据库中需要完成增量迁移操作的每个迁移数据设置时间戳字段,并且时间戳字段为最大值Tn。
迁移任务时间戳设置模块220,用于在增量迁移任务执行历史日志中,设置关系数据库中需要完成增量迁移操作的每个迁移数据上次执行迁移任务对应的时间戳Tn-1。
迁移任务时间戳更新模块230,用于基于时间偏移量Tx,调整增量迁移任务执行历史日志中上次执行的时间戳为T’n-1=Tn-1-Tx;
其中,时间戳字段的最大值Tn和调整上次执行的时间戳为T’n-1,用于为关系数据库执行迁移操作时,提供迁移时间戳范围;并且n为当前执行迁移任务的序号,n-1为前次执行迁移任务的序号;而且n为大于或等于2的正整数;如果关系数据库第一次执行增量迁移处理时,关系数据库中时间戳字段的最大值为T1。
需要说明的是,本实施例中与实施例二中相同的技术特征具有相同的意思,并且也能实现相同的技术效果;在此不再赘述。
实施例五
如图5所示,本实施例提供一种电子装置,该电子装置包括:
存储器310;
处理器320;以及
计算机程序;
其中,计算机程序存储在存储器310中,并被配置为由处理器320执行以实现如实施例一提供的任意一种的关系数据库增量迁移处理方法或者如实施例二提供的任意一种的关系数据库中数据保存方法。
本实施例还提供一种非易失性存储介质,其上存储有计算机程序,该计算机程序被执行时实现如实施例一提供的任意一种的关系数据库增量迁移处理方法或者如实施例二提供的任意一种的关系数据库中数据保存方法的步骤。
本领域普通技术人员可以理解:上述根据本发明实施例的方法可在硬件、固件中实现,或者被实现为可存储在记录介质(诸如CD ROM、RAM、软盘、硬盘或磁光盘)中的软件或计算机代码,或者被实现通过网络下载的原始存储在远程记录介质或非暂时机器可读介质中并将被存储在本地记录介质中的计算机代码,从而在此描述的方法可被存储在使用通用计算机、专用处理器或者可编程或专用硬件(诸如ASIC、FPGA或SoC)的记录介质上的这样的软件处理。可以理解,计算机、处理器、微处理器控制器或可编程硬件包括可存储或接收软件或计算机代码的存储组件(例如,RAM、ROM、闪存等),当所述软件或计算机代码被计算机、处理器或硬件访问且执行时,实现在此描述的处理方法。此外,当通用计算机访问用于实现在此示出的处理的代码时,代码的执行将通用计算机转换为用于执行在此示出的处理的专用计算机。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及方法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明实施例的范围。
最后需要说明的是,上述说明仅是本发明的最佳实施例而已,并非对本发明做任何形式上的限制。任何熟悉本领域的技术人员,在不脱离本发明技术方案范围内,都可利用上述揭示的做法和技术内容对本发明技术方案做出许多可能的变动和简单的替换等,这些都属于本发明技术方案保护的范围。
Claims (10)
1.一种关系数据库增量迁移处理方法,其特征在于,所述方法包括:
将关系数据库中需要完成增量迁移操作的每个迁移数据设置时间戳字段;
增量迁移任务执行时,查询所述关系数据库中时间戳字段的最大值Tn和迁移任务上次执行的时间戳Tn-1;
基于时间偏移量Tx,调整所述关系数据库增量迁移处理中上次执行的时间戳为T’n-1=Tn-1-Tx,并将所述数据库迁移时间戳字段范围Tr设置为[T’n-1,Tn],对所述关系数据库中需要完成增量迁移操作、且时间戳在Tr范围内的每个迁移数据执行迁移操作;
其中,n为当前执行迁移任务的序号,n-1为前次执行迁移任务的序号;并且n为大于或等于2的正整数;如果所述关系数据库第一次执行增量迁移处理时,所述关系数据库中时间戳字段的最大值为T1,并且将所述数据库迁移时间戳字段范围设置成小于或等于T1。
2.根据权利要求1所述方法,其特征在于,还包括:将所述关系数据库中需要完成增量迁移操作的每个迁移数据还配置有任务识别标识,并且将所述关系数据库中需要完成增量迁移操作的每个迁移数据的表还设置有一个主键字段;
对所述关系数据库中需要完成增量迁移操作、且时间戳在Tr范围内的每个迁移数据执行迁移操作,包括:
通过在所述关系数据库中增量迁移任务执行历史日志中查询对应任务识别标识,能够获取迁移任务上次执行的时间戳Tn-1;并且
如果某个迁移数据的时间戳取值范围为[T’n-1,Tn-1],则读取迁移任务日志并判断主键是否已经迁移,若是则跳过,否则进行迁移;如果某个迁移数据的时间戳取值范围为[Tn-1,Tn],则直接进行迁移操作。
3.根据权利要求2所述方法,其特征在于,还包括:每次迁移处理执行完成后,将本次执行迁移任务后缓存中的主键列表替换所述关系数据库日志中的主键列表,并将时间戳Tn、任务识别标识记录到所述关系数据库对应增量迁移任务执行历史日志中。
4.根据权利要求1所述方法,其特征在于,所述时间偏移量Tx的值,根据所述关系数据库中需要执行增量迁移处理的任务数量和/或执行所述关系数据库增量迁移处理能力自动调整。
5.一种关系数据库中数据保存方法,其特征在于,所述方法包括:
将关系数据库中需要完成增量迁移操作的每个迁移数据设置时间戳字段,并且所述时间戳字段为最大值Tn;
在增量迁移任务执行历史日志中,设置所述关系数据库中需要完成增量迁移操作的每个迁移数据上次执行迁移任务对应的时间戳Tn-1;
基于时间偏移量Tx,调整所述增量迁移任务执行历史日志中上次执行的时间戳为T’n-1=Tn-1-Tx;
其中,所述时间戳字段的最大值Tn和调整上次执行的时间戳为T’n-1,用于为所述关系数据库执行迁移操作时,提供迁移时间戳范围;并且n为当前执行迁移任务的序号,n-1为前次执行迁移任务的序号;而且n为大于或等于2的正整数;如果所述关系数据库第一次执行增量迁移处理时,所述关系数据库中时间戳字段的最大值为T1。
6.根据权利要求5所述方法,其特征在于,还包括:将所述关系数据库中需要完成增量迁移操作的每个迁移数据还配置有任务识别标识,并且将所述关系数据库中需要完成增量迁移操作的每个迁移数据的表还设置有一个主键字段;通过在所述关系数据库中增量迁移任务执行历史日志中查询对应任务识别标识,能够获取迁移任务上次执行的时间戳Tn-1。
7.根据权利要求6所述方法,其特征在于,还包括:每次迁移处理执行完成后,将本次执行迁移任务后缓存中的主键列表替换所述关系数据库日志中的主键列表,并将时间戳Tn、任务识别标识记录到所述关系数据库对应增量迁移任务执行历史日志中。
8.根据权利要求5所述方法,其特征在于,所述时间偏移量Tx的值,根据所述关系数据库中需要执行增量迁移处理的任务数量和/或执行所述关系数据库增量迁移处理能力自动调整。
9.一种电子装置,其特征在于,所述电子装置包括:
存储器;
处理器;以及
计算机程序;
其中,所述计算机程序存储在所述存储器中,并被配置为由所述处理器执行以实现如权利要求1-4中任意一种所述的关系数据库增量迁移处理方法或者如权利要求5-8中任意一种所述的关系数据库中数据保存方法。
10.一种非易失性存储介质,其上存储有计算机程序,其特征在于,该计算机程序被执行时实现如权利要求1-4中任意一种所述的关系数据库增量迁移处理方法或者如权利要求5-8中任意一种所述的关系数据库中数据保存方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910591554.6A CN110309126A (zh) | 2019-07-02 | 2019-07-02 | 关系数据库增量迁移处理方法、关系数据库中数据保存方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910591554.6A CN110309126A (zh) | 2019-07-02 | 2019-07-02 | 关系数据库增量迁移处理方法、关系数据库中数据保存方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110309126A true CN110309126A (zh) | 2019-10-08 |
Family
ID=68078833
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910591554.6A Pending CN110309126A (zh) | 2019-07-02 | 2019-07-02 | 关系数据库增量迁移处理方法、关系数据库中数据保存方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110309126A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111309673A (zh) * | 2020-02-12 | 2020-06-19 | 普信恒业科技发展(北京)有限公司 | 增量数据的快照数据生成方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101951399A (zh) * | 2010-09-08 | 2011-01-19 | 中兴通讯股份有限公司 | 交互式网络电视数据量增量同步方法及装置 |
CN102521225A (zh) * | 2011-09-29 | 2012-06-27 | 用友软件股份有限公司 | 增量数据抽取装置和增量数据抽取方法 |
CN103384263A (zh) * | 2012-05-03 | 2013-11-06 | 三星电子株式会社 | 用于数据同步的时间戳管理方法及其终端 |
US8788458B2 (en) * | 2009-12-30 | 2014-07-22 | Sybase, Inc. | Data caching for mobile applications |
CN105472045A (zh) * | 2016-01-26 | 2016-04-06 | 北京百度网讯科技有限公司 | 数据库迁移的方法和装置 |
CN107357883A (zh) * | 2017-06-30 | 2017-11-17 | 北京奇虎科技有限公司 | 数据迁移方法及装置 |
-
2019
- 2019-07-02 CN CN201910591554.6A patent/CN110309126A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8788458B2 (en) * | 2009-12-30 | 2014-07-22 | Sybase, Inc. | Data caching for mobile applications |
CN101951399A (zh) * | 2010-09-08 | 2011-01-19 | 中兴通讯股份有限公司 | 交互式网络电视数据量增量同步方法及装置 |
CN102521225A (zh) * | 2011-09-29 | 2012-06-27 | 用友软件股份有限公司 | 增量数据抽取装置和增量数据抽取方法 |
CN103384263A (zh) * | 2012-05-03 | 2013-11-06 | 三星电子株式会社 | 用于数据同步的时间戳管理方法及其终端 |
CN105472045A (zh) * | 2016-01-26 | 2016-04-06 | 北京百度网讯科技有限公司 | 数据库迁移的方法和装置 |
CN107357883A (zh) * | 2017-06-30 | 2017-11-17 | 北京奇虎科技有限公司 | 数据迁移方法及装置 |
Non-Patent Citations (1)
Title |
---|
GANWEIYI1994: "数据转移方案--时间戳方式", 《百度文库HTTPS://WENKU.BAIDU.COM/VIEW/4C22C62E76A20029BC642D9A.HTML》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111309673A (zh) * | 2020-02-12 | 2020-06-19 | 普信恒业科技发展(北京)有限公司 | 增量数据的快照数据生成方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20240211461A1 (en) | Customer-requested partitioning of journal-based storage systems | |
US20210011898A1 (en) | Automatic determination of table distribution for multinode, distributed database systems | |
Poess et al. | TPC-DI: the first industry benchmark for data integration | |
US8078579B2 (en) | Data source currency tracking and currency based execution | |
US7346628B2 (en) | Time in databases and applications of databases | |
CN103460208B (zh) | 用于将数据加载到时态数据仓库的方法和系统 | |
US7457797B2 (en) | Method and apparatus for associating logical conditions with the re-use of a database query execution strategy | |
US20090292740A1 (en) | Database management system and method | |
RU2406115C2 (ru) | Доступ к сложным данным | |
JPH04217042A (ja) | 物理データベース設計システム | |
US11442934B2 (en) | Database calculation engine with dynamic top operator | |
Kvet et al. | Complex time management in databases | |
US20180300147A1 (en) | Database Operating Method and Apparatus | |
Kaufmann | Storing and processing temporal data in main memory column stores | |
CN110309126A (zh) | 关系数据库增量迁移处理方法、关系数据库中数据保存方法 | |
Möller et al. | EvoBench–a framework for benchmarking schema evolution in NoSQL | |
Nguyen et al. | An approach towards an event-fed solution for slowly changing dimensions in data warehouses with a detailed case study | |
CA3191210A1 (en) | Data syncronization method and device, computer equipment and storage medium | |
US8706769B1 (en) | Processing insert with normalize statements | |
US20230153327A1 (en) | Loading data in a target database system using different synchronization programs | |
Kvet et al. | Management of Temporal System–Column Level | |
Burleson | Physical Database Design Using Oracle | |
Munir | Storage format selection and optimization for materialized intermediate results in data-intensive flows | |
Full et al. | MicroStream vs. JPA: An empirical investigation | |
US20210303583A1 (en) | Ranking filter algorithms |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20191008 |
|
RJ01 | Rejection of invention patent application after publication |