CN117971806A - 一种数据迁移方法、装置、存储介质及电子设备 - Google Patents
一种数据迁移方法、装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN117971806A CN117971806A CN202410157260.3A CN202410157260A CN117971806A CN 117971806 A CN117971806 A CN 117971806A CN 202410157260 A CN202410157260 A CN 202410157260A CN 117971806 A CN117971806 A CN 117971806A
- Authority
- CN
- China
- Prior art keywords
- data
- target
- partition
- migrated
- migration
- 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
- 238000013508 migration Methods 0.000 title claims abstract description 140
- 230000005012 migration Effects 0.000 title claims abstract description 140
- 238000000034 method Methods 0.000 title claims abstract description 71
- 238000005192 partition Methods 0.000 claims abstract description 196
- 238000000638 solvent extraction Methods 0.000 claims abstract description 12
- 238000012795 verification Methods 0.000 claims description 34
- 238000004891 communication Methods 0.000 claims description 3
- 238000013500 data storage Methods 0.000 claims description 3
- 230000008569 process Effects 0.000 description 13
- 238000013461 design Methods 0.000 description 7
- 238000003780 insertion Methods 0.000 description 7
- 230000037431 insertion Effects 0.000 description 7
- 238000012545 processing Methods 0.000 description 7
- 238000004590 computer program Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 230000009471 action Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013524 data verification Methods 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供的一种数据迁移方法、装置、存储介质及电子设备,获得与待迁移数据对应的待迁移文件;基于Oracle数据库,生成与待迁移文件对应的外部表;按照数据分区条件,将外部表中的数据插入到临时分区表中的目标分区,其中,临时分区表中的目标分区与目标表一一对应;对临时分区表中任一目标分区:使用与目标分区对应的目标表所在的数据库的数据库链接,将目标分区存储的数据插入到目标表中。本发明使用外部表、临时分区表和数据库链接相结合的数据迁移方案,通过统一数据读取和分区入库,降低了分库分表场景下数据迁移的难度,从而实现了简单快速的数据迁移工作,提升了数据迁移效率。
Description
技术领域
本发明涉及大数据技术领域,尤其涉及一种数据迁移方法、装置、存储介质及电子设备。
背景技术
近年来,随着数据信息价值的不断提升,针对交易数据,商业银行逐渐从各分行数据中心单独处理改变为由总行数据中心统一处理,以保证银行交易的处理一致性,也降低由于各分行数据处理不一致所带来的交易风险和客户投诉。
为了方便对交易数据进行统一处理,需要将各分行的历史交易数据统一迁移至总行数据中心。然而,由于历史交易数据存在时间跨度长,且业务逻辑、数据库以及表结构存在差别,直接迁移会导致前后数据不一致的问题。同时,当前银行系统的数据库设计主要采用分库分表的设计形式,使得数据迁移的过程复杂,导致数据迁移效率低下。
因此,如何简化数据迁移流程,提升数据迁移效率,成为本领域技术人员急需解决的技术问题。
发明内容
鉴于上述问题,本发明提供一种克服上述问题或者至少部分地解决上述问题的一种数据迁移方法、装置、存储介质及电子设备,技术方案如下:
一种数据迁移方法,包括:
获得与待迁移数据对应的待迁移文件;
基于Oracle数据库,生成与所述待迁移文件对应的外部表;
按照数据分区条件,将所述外部表中的数据插入到临时分区表中的目标分区,其中,所述临时分区表中的所述目标分区与目标表一一对应;
对所述临时分区表中任一所述目标分区:使用与所述目标分区对应的所述目标表所在的数据库的数据库链接,将所述目标分区存储的数据插入到所述目标表中。
可选的,所述获得与待迁移数据对应的待迁移文件,包括:
获得待迁移数据;
执行与所述待迁移数据对应的迁移规范校验操作,获得迁移规范校验结果;
在所述迁移规范校验结果为校验通过的情况下,利用所述待迁移数据,生成待迁移文件。
可选的,在所述执行与所述待迁移数据对应的迁移规范校验操作,获得迁移规范校验结果之前,所述方法还包括:
获得与所述待迁移数据对应的数据迁移规范;
利用所述数据迁移规范,构建与所述待迁移数据对应的所述迁移规范校验操作。
可选的,所述迁移规范校验操作包括校验所述待迁移数据中是否存在数据字典外的数据、校验所述待迁移数据中每个字段的分隔符是否有效、校验所述待迁移数据中每个字段的字段属性是否有效和校验所述待迁移数据的文件编码格式是否有效。
可选的,所述按照数据分区条件,将所述外部表中的数据插入到临时分区表中的目标分区,包括:
对所述外部表中任一待插入数据:获得所述待插入数据在指定数值字段的特定字符位上的目标数;
获得临时分区表中目标分区的分区数;
利用所述目标数与所述分区数,确定与所述待插入数据对应的所述目标分区;
将所述待插入数据插入到所述临时分区表中的所述目标分区。
可选的,所述指定数值字段为客户号字段。
可选的,在所述将所述目标分区存储的数据插入到所述目标表中之后,所述方法还包括:
清除所述临时分区表中所述目标分区存储的数据。
一种数据迁移装置,包括:待迁移文件获得单元、外部表生成单元、数据分区单元和数据入库单元,
所述待迁移文件获得单元,用于获得与待迁移数据对应的待迁移文件;
所述外部表生成单元,用于基于Oracle数据库,生成与所述待迁移文件对应的外部表;
所述数据分区单元,用于按照数据分区条件,将所述外部表中的数据插入到临时分区表中的目标分区,其中,所述临时分区表中的所述目标分区与目标表一一对应;
所述数据入库单元,用于对所述临时分区表中任一所述目标分区:使用与所述目标分区对应的所述目标表所在的数据库的数据库链接,将所述目标分区存储的数据插入到所述目标表中。
一种计算机可读存储介质,其上存储有程序,所述程序被处理器执行时实现上述任一项所述的数据迁移方法。
一种电子设备,所述电子设备包括至少一个处理器、以及与处理器连接的至少一个存储器、总线;其中,所述处理器、所述存储器通过所述总线完成相互间的通信;所述处理器用于调用所述存储器中的程序指令,以执行上述任一项所述的数据迁移方法。
借由上述技术方案,本发明提供的一种数据迁移方法、装置、存储介质及电子设备,获得与待迁移数据对应的待迁移文件;基于Oracle数据库,生成与待迁移文件对应的外部表;按照数据分区条件,将外部表中的数据插入到临时分区表中的目标分区,其中,临时分区表中的目标分区与目标表一一对应;对临时分区表中任一目标分区:使用与目标分区对应的目标表所在的数据库的数据库链接,将目标分区存储的数据插入到目标表中。本发明使用外部表、临时分区表和数据库链接相结合的数据迁移方案,通过统一数据读取和分区入库,降低了分库分表场景下数据迁移的难度,从而实现了简单快速的数据迁移工作,提升了数据迁移效率。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明实施例提供的数据迁移方法的一种实施方式的流程示意图;
图2示出了本发明实施例提供的数据迁移方法中步骤S100的一种实施方式的流程示意图;
图3示出了本发明实施例提供的数据迁移方法中步骤S300的一种实施方式的流程示意图;
图4示出了本发明实施例提供的数据迁移方法的另一种实施方式的流程示意图;
图5示出了本发明实施例提供的数据迁移装置的结构示意图;
图6示出了本发明实施例提供的电子设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
随着线上支付的普及,随之产生的交易数据呈指数级增长。在线上支付等银行业务带来的并发场景下,为了保证数据库性能,当前银行系统的数据库设计主要采用分库分表架构。
其中,分库指的是从单个数据库拆分成多个数据库的过程,将数据散落在多个数据库中。分表指的是从单张表拆分成多张表的过程,将数据散落在多张表内。最后的结果就是在多个数据库中,每个库里都有多张表结构一致的数据表,交易流水通过一定规则写入这些表中。分库分表的数据库设计指的是将一张数据表拆分到多个数据库中,每个数据库中包含多个表结构一致的数据表,系统运行时多个数据库同时提供服务。单个数据库中的QPS(每秒查询率)被分散了,单个表中的数据量会显著减少,数据库操作的耗时也会显著下降。在提供服务时,交易按照一定的规则路由到不同数据库的某一数据表中。
尽管分库分表的数据库设计解决了关系型数据库性能不足的问题,但是也增加了数据迁移时的复杂度,目前针对分库分表场景下的数据迁移,常见的解决办法有:1、手动分批迁移;2、编写程序代码。
对于手动分批迁移的数据迁移方式,由于对数据的预处理要求高,容易导致数据插入失败或插入脏数据的问题,不仅操作繁琐且容易出现人为失误。例如:若按照当前分库分表的既有规则,若待迁移数据划分为25份,业务系统拆分为5个数据库,每个数据库对应不同的数据库语言程序,就需要将25份数据分别插入到5个数据库中,在此繁琐的操作过程中就容易出现人为失误。
对于编写程序代码的数据迁移方式,程序代码需要经开发、测试和投产等流程才可使用,且引入了额外代码,导致数据迁移的整体周期长且操作复杂。在面对海量数据迁移场景时,时效性低且耗时久,容易影响银行系统的业务连续性。例如:涉及正在迁移的数据的业务无法正常开展,程序代码长时间运行对数据库本身造成计算处理压力。
基于此,本发明实施例提供了一种数据迁移方法,设计了基于外部表、临时分区表和数据库链接(Database Link,dblink)的数据插入方案,首先,使用外部表统一数据读取,其次,通过临时分区表简化数据插入目标表的流程,然后,利用数据库链接将数据按分区插入到不同数据库的不同目标表中。可见,本发明实施例在交易数据迁移场景下,针对海量数据,简化了数据迁移流程,且不引入额外的程序代码,减少了程序代码的学习成本和开发调试成本,从而有利于提升数据迁移效率。
如图1所示,本发明实施例提供的数据迁移方法的一种实施方式的流程示意图,该方法可以包括:
S100、获得与待迁移数据对应的待迁移文件。
其中,待迁移数据可以为准备进行数据迁移的交易数据。
本发明实施例可以将待迁移数据以文件形式进行存储,生成与待迁移数据对应的待迁移文件,以在计算机内部和外部的存储设备上对待迁移文件中的待迁移数据进行读写和检索。
S200、基于Oracle数据库,生成与待迁移文件对应的外部表。
其中,Oracle数据库(Oracle Database)为关系型数据库系统。Oracle数据库支持创建外部表,在oracle数据库中外部表可视为可读的内部表。本发明实施例可以将待迁移文件映射为外部表,从而将待迁移文件作为一个只读的数据库表,以便访问外部表中的数据。在与待迁移文件对应的外部表(ET_SignInfo)成功生成后,可以在Oracle数据库中读取该外部表中的内容(即待迁移文件)。
可选的,本公开实施例可以在与待迁移文件对应的外部表生成失败的情况下,生成相应的错误日志和提示信息,以便提醒用户提供合规的待迁移数据。
本发明实施例使用外部表进行数据导入,避免插入中间表对数据进行暂存,可以有效降低数据迁移对计算机资源的占用。
S300、按照数据分区条件,将外部表中的数据插入到临时分区表中的目标分区,其中,临时分区表中的目标分区与目标表一一对应。
本发明实施例可以依据实际业务需求设置数据分区条件,以简化后续数据插入目标表的流程和提高数据迁移效率。需要说明的是,数据分区条件所要实现的数据分区目标为将外部表中的数据以接近均匀的方式插入至临时分区表(TMP_SignInfo)中的各个目标分区,以实现临时分区表中各个目标分区中的数据相对均衡。
本发明实施例可以依据目标表的表结构创建临时分区表,其中,临时分区表中预先设置有多个目标分区,每个目标分区与任一数据库中的任一目标表对应。例如:假设业务系统存在5个数据库,每个数据库存在5张目标表,则可以在临时分区表中设置25个目标分区,每个目标分区分别对应一张目标表。
本发明实施例可以依据数据分区条件,确定外部表中各个数据在临时分区表中对应的目标分区,再将外部表中的数据对应插入到临时分区表中的目标分区。本发明实施例通过创建临时分区表,将待迁移的外部文件转移到这张临时分区表中,以便提升数据操作的便捷性。
S400、对临时分区表中任一目标分区:使用与目标分区对应的目标表所在的数据库的数据库链接,将目标分区存储的数据插入到目标表中。
其中,数据库链接是一种远程操作数据库的方式。在需要跨本地数据库,远程访问另一个数据库的库表中的数据时,可以在本地数据库中创建远程数据库的数据库链接,使得本地数据库可以通过数据库链接访问远程数据库中的数据。
本发明实施例可以在Oracle数据库中预先创建好与各个目标表对应的数据库的数据库链接,通过数据库链接,将临时分区表中目标分区的数据对应插入到远程数据库的目标表中,从而实现将临时分区表的数据按目标分区插入到不同远程数据库中的不同目标表中,以完成数据迁移。
本发明提供的一种数据迁移方法,获得与待迁移数据对应的待迁移文件;基于Oracle数据库,生成与待迁移文件对应的外部表;按照数据分区条件,将外部表中的数据插入到临时分区表中的目标分区,其中,临时分区表中的目标分区与目标表一一对应;对临时分区表中任一目标分区:使用与目标分区对应的目标表所在的数据库的数据库链接,将目标分区存储的数据插入到目标表中。本发明使用外部表、临时分区表和数据库链接相结合的数据迁移方案,通过统一数据读取和分区入库,降低了分库分表场景下数据迁移的难度,从而实现了简单快速的数据迁移工作,提升了数据迁移效率。
可选的,基于图1所示方法,如图2所示,本发明实施例提供的数据迁移方法中步骤S100的一种实施方式的流程示意图,步骤S100可以包括:
S110、获得待迁移数据。
本发明实施例可以从银行分行数据中心获取准备迁移到银行总行数据中心的待迁移数据。
S120、执行与待迁移数据对应的迁移规范校验操作,获得迁移规范校验结果。
其中,迁移规范校验操作包括对待迁移数据进行迁移合规性校验的一系列校验操作。
S130、在迁移规范校验结果为校验通过的情况下,利用待迁移数据,生成待迁移文件。
本发明实施例通过迁移规范校验操作,可以确认待迁移数据的合规性,从而正确生成带待迁移文件,防止数据迁移过程中数据插入失败或插入脏数据,提升数据迁移的效率和有效性。
可选的,在上述图2对应的一个或多个实施例的基础上,本发明实施例提供的另一个可选实施例中,在步骤S120之前,该方法还可以包括:
获得与待迁移数据对应的数据迁移规范。利用数据迁移规范,构建与待迁移数据对应的迁移规范校验操作。
其中,数据迁移规范可以为数据接收部门针对待迁移数据制定的数据校验标准。本发明实施例可以针对数据迁移规范中的每一条数据要求,构建与该数据要求对应的迁移规范校验操作,以采用正则表达式等校验方式对待迁移数据的合规性进行校验。
可选的,数据迁移规范中的数据要求可以包括:1、待迁移数据包含的全部字段。2、提供描述业务字段含义的字典表,明确每个字段的生成逻辑、业务规则。3、明确每个字段的列分隔符和行分隔符。4、明确字段的长度、字段类型、是否可为空等规则。5、待迁移数据的文件编码格式的编码格式(如中文采用utf8或gbk),以及待迁移数据本身的格式(如文本文件等)。
可选的,迁移规范校验操作包括校验待迁移数据中是否存在数据字典外的数据、校验待迁移数据中每个字段的分隔符是否有效、校验待迁移数据中每个字段的字段属性是否有效和校验待迁移数据的文件编码格式是否有效。
本发明实施例通过数据迁移规范,可以构建自动化的迁移规范校验操作,从而有利于通过迁移规范校验操作,确认待迁移数据的合规性,进而提升数据迁移的效率和有效性。
可选的,基于图1所示方法,如图3所示,本发明实施例提供的数据迁移方法中步骤S300的一种实施方式的流程示意图,步骤S300可以包括:
S310、对外部表中任一待插入数据:获得待插入数据在指定数值字段的特定字符位上的目标数。
其中,指定数值字段可以为能够标识业务主体身份的字段,通常由字符与数字组成(例如:NH9056、NH9527、...NH9983),或由多位数字组成(157896、228753、...347131)。
可选的,指定数值字段可以为客户号字段。特定字符位可以为客户号字段中倒数第三位和第四位。例如。在待插入数据的客户号字段为NH9056的情况下,则目标数为90。
S320、获得临时分区表中目标分区的分区数。
其中,分区数为临时分区表中目标分区的总数量。由前述实施例可知,临时分区表中目标分区的分区数由目标表的数量决定。
S330、利用目标数与分区数,确定与待插入数据对应的目标分区。
本发明实施例可以计算出目标数与分区数之间的余数,利用该余数确定与待插入数据对应的目标分区。
S340、将待插入数据插入到临时分区表中的目标分区。
本发明实施例使用目标数和分区数,确定外部表中数据对应的目标分区,使得外部表中的数据能够以接近均匀的方式插入至各个目标分区,从而在数据迁移后,依然能够实现分库分表的数据库设计目标。
可选的,基于图1所示方法,如图4所示,本发明实施例提供的数据迁移方法的另一种实施方式的流程示意图,在步骤S400之后,该方法还可以包括:
S500、清除临时分区表中目标分区存储的数据。
本发明实施例在将目标分区存储的数据插入到目标表中之后,通过清除该目标分区存储的数据,可以有效避免数据的冗余存储,减小存储空间的压力,保证数据迁移过程中的计算机资源得到高效利用。
可选的,本发明实施例可以在临时分区表中各目标分区存储的数据均插入到相应的目标表中之后,统一清除临时分区表中各目标分区存储的数据,以减少数据清除操作的次数,避免错误清除未迁移数据,保证数据迁移的可靠性。
本发明实施例提供的数据迁移方法,使用外部表解决了数据迁移过程中的数据读取问题,再通过数据库链接实现远程数据库的读取,解决了数据迁移过程中涉及多个数据库的分批操作的问题,以外部表、临时分区表和数据库链接相结合的数据迁移方式,在配置好数据库链接之后,仅需要连接一个数据库,通过一条数据库语言程序就能将待迁移数据导入到不同数据库的不同目标表下,适用于历史数据积压且数据量大的银行交易数据的数据迁移场景,有效降低了数据迁移的操作难度和减少了数据迁移的耗费时间。
虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。
应当理解,本发明的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本发明的范围在此方面不受限制。
与上述方法实施例相对应,本发明实施例还提供一种数据迁移装置,其结构如图5所示,可以包括:待迁移文件获得单元10、外部表生成单元20、数据分区单元30和数据入库单元40。
待迁移文件获得单元10,用于获得与待迁移数据对应的待迁移文件。
外部表生成单元20,用于基于Oracle数据库,生成与待迁移文件对应的外部表。
数据分区单元30,用于按照数据分区条件,将外部表中的数据插入到临时分区表中的目标分区,其中,临时分区表中的目标分区与目标表一一对应。
数据入库单元40,用于对临时分区表中任一目标分区:使用与目标分区对应的目标表所在的数据库的数据库链接,将目标分区存储的数据插入到目标表中。
可选的,待迁移文件获得单元10,可以包括:待迁移数据获得子单元、迁移规范校验结果获得子单元和待迁移文件生成子单元。
待迁移数据获得子单元,用于获得待迁移数据。
迁移规范校验结果获得子单元,用于执行与待迁移数据对应的迁移规范校验操作,获得迁移规范校验结果。
待迁移文件生成子单元,用于在迁移规范校验结果为校验通过的情况下,利用待迁移数据,生成待迁移文件。
可选的,该数据迁移装置还可以包括:数据迁移规范获得单元和迁移规范校验操作构建单元。
数据迁移规范获得单元,用于迁移规范校验结果获得子单元执行与待迁移数据对应的迁移规范校验操作,获得迁移规范校验结果之前,获得与待迁移数据对应的数据迁移规范。
迁移规范校验操作构建单元,用于利用数据迁移规范,构建与待迁移数据对应的迁移规范校验操作。
可选的,迁移规范校验操作包括校验待迁移数据中是否存在数据字典外的数据、校验待迁移数据中每个字段的分隔符是否有效、校验待迁移数据中每个字段的字段属性是否有效和校验待迁移数据的文件编码格式是否有效。
可选的,数据分区单元30可以包括:目标数获得子单元、分区数获得子单元、目标分区确定子单元、数据插入子单元。
目标数获得子单元,用于对外部表中任一待插入数据:获得待插入数据在指定数值字段的特定字符位上的目标数。
分区数获得子单元,用于获得临时分区表中目标分区的分区数。
目标分区确定子单元,用于利用目标数与分区数,确定与待插入数据对应的目标分区。
数据插入子单元,用于将待插入数据插入到临时分区表中的目标分区。
可选的,指定数值字段为客户号字段。
可选的,该数据迁移装置还可以包括:数据清除单元。
数据清除单元,用于数据入库单元40将目标分区存储的数据插入到目标表中之后,清除临时分区表中目标分区存储的数据。
本发明提供的一种数据迁移装置,获得与待迁移数据对应的待迁移文件;基于Oracle数据库,生成与待迁移文件对应的外部表;按照数据分区条件,将外部表中的数据插入到临时分区表中的目标分区,其中,临时分区表中的目标分区与目标表一一对应;对临时分区表中任一目标分区:使用与目标分区对应的目标表所在的数据库的数据库链接,将目标分区存储的数据插入到目标表中。本发明使用外部表、临时分区表和数据库链接相结合的数据迁移方案,通过统一数据读取和分区入库,降低了分库分表场景下数据迁移的难度,从而实现了简单快速的数据迁移工作,提升了数据迁移效率。
关于上述实施例中的装置,其中各个单元执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
所述数据迁移装置包括处理器和存储器,上述待迁移文件获得单元10、外部表生成单元20、数据分区单元30和数据入库单元40等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来使用外部表、临时分区表和数据库链接相结合的数据迁移方案,通过统一数据读取和分区入库,降低分库分表场景下数据迁移的难度,实现简单快速的数据迁移工作,提升数据迁移效率。
本发明实施例提供了一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时实现所述数据迁移方法。
本发明实施例提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行所述数据迁移方法。
如图6所示,本发明实施例提供了一种电子设备1000,电子设备1000包括至少一个处理器1001、以及与处理器1001连接的至少一个存储器1002、总线1003;其中,处理器1001、存储器1002通过总线1003完成相互间的通信;处理器1001用于调用存储器1002中的程序指令,以执行上述的数据迁移方法。本文中的电子设备可以是服务器、PC、PAD、手机等。
本发明还提供了一种计算机程序产品,当在电子设备上执行时,适于执行初始化有数据迁移方法步骤的程序。
本发明是参照根据本发明实施例的方法、装置、电子设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程设备的处理器以产生一个机器,使得通过计算机或其他可编程设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
在一个典型的配置中,电子设备包括一个或多个处理器(CPU)、存储器和总线。电子设备还可以包括输入/输出接口、网络接口等。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
在本发明的描述中,需要理解的是,如若涉及术语“上”、“下”、“前”、“后”、“左”和“右”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的位置或元件必须具有特定方位、以特定的方位构成和操作,因此不能理解为本发明的限制。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本发明的实施例可提供为方法、系统或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上仅为本发明的实施例而已,并不用于限制本发明。对于本领域技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本发明的权利要求范围之内。
Claims (10)
1.一种数据迁移方法,其特征在于,包括:
获得与待迁移数据对应的待迁移文件;
基于Oracle数据库,生成与所述待迁移文件对应的外部表;
按照数据分区条件,将所述外部表中的数据插入到临时分区表中的目标分区,其中,所述临时分区表中的所述目标分区与目标表一一对应;
对所述临时分区表中任一所述目标分区:使用与所述目标分区对应的所述目标表所在的数据库的数据库链接,将所述目标分区存储的数据插入到所述目标表中。
2.根据权利要求1所述的方法,其特征在于,所述获得与待迁移数据对应的待迁移文件,包括:
获得待迁移数据;
执行与所述待迁移数据对应的迁移规范校验操作,获得迁移规范校验结果;
在所述迁移规范校验结果为校验通过的情况下,利用所述待迁移数据,生成待迁移文件。
3.根据权利要求2所述的方法,其特征在于,在所述执行与所述待迁移数据对应的迁移规范校验操作,获得迁移规范校验结果之前,所述方法还包括:
获得与所述待迁移数据对应的数据迁移规范;
利用所述数据迁移规范,构建与所述待迁移数据对应的所述迁移规范校验操作。
4.根据权利要求2所述的方法,其特征在于,所述迁移规范校验操作包括校验所述待迁移数据中是否存在数据字典外的数据、校验所述待迁移数据中每个字段的分隔符是否有效、校验所述待迁移数据中每个字段的字段属性是否有效和校验所述待迁移数据的文件编码格式是否有效。
5.根据权利要求1所述的方法,其特征在于,所述按照数据分区条件,将所述外部表中的数据插入到临时分区表中的目标分区,包括:
对所述外部表中任一待插入数据:获得所述待插入数据在指定数值字段的特定字符位上的目标数;
获得临时分区表中目标分区的分区数;
利用所述目标数与所述分区数,确定与所述待插入数据对应的所述目标分区;
将所述待插入数据插入到所述临时分区表中的所述目标分区。
6.根据权利要求5所述的方法,其特征在于,所述指定数值字段为客户号字段。
7.根据权利要求1至6中任一项所述的方法,其特征在于,在所述将所述目标分区存储的数据插入到所述目标表中之后,所述方法还包括:
清除所述临时分区表中所述目标分区存储的数据。
8.一种数据迁移装置,其特征在于,包括:待迁移文件获得单元、外部表生成单元、数据分区单元和数据入库单元,
所述待迁移文件获得单元,用于获得与待迁移数据对应的待迁移文件;
所述外部表生成单元,用于基于Oracle数据库,生成与所述待迁移文件对应的外部表;
所述数据分区单元,用于按照数据分区条件,将所述外部表中的数据插入到临时分区表中的目标分区,其中,所述临时分区表中的所述目标分区与目标表一一对应;
所述数据入库单元,用于对所述临时分区表中任一所述目标分区:使用与所述目标分区对应的所述目标表所在的数据库的数据库链接,将所述目标分区存储的数据插入到所述目标表中。
9.一种计算机可读存储介质,其上存储有程序,其特征在于,所述程序被处理器执行时实现如权利要求1至7中任一项所述的数据迁移方法。
10.一种电子设备,所述电子设备包括至少一个处理器、以及与处理器连接的至少一个存储器、总线;其中,所述处理器、所述存储器通过所述总线完成相互间的通信;所述处理器用于调用所述存储器中的程序指令,以执行如权利要求1至7中任一项所述的数据迁移方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410157260.3A CN117971806A (zh) | 2024-02-04 | 2024-02-04 | 一种数据迁移方法、装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410157260.3A CN117971806A (zh) | 2024-02-04 | 2024-02-04 | 一种数据迁移方法、装置、存储介质及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117971806A true CN117971806A (zh) | 2024-05-03 |
Family
ID=90865719
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410157260.3A Pending CN117971806A (zh) | 2024-02-04 | 2024-02-04 | 一种数据迁移方法、装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117971806A (zh) |
-
2024
- 2024-02-04 CN CN202410157260.3A patent/CN117971806A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111414403B (zh) | 数据访问方法和装置、数据存储方法和装置 | |
US10133767B1 (en) | Materialization strategies in journal-based databases | |
CN112860777B (zh) | 数据处理方法、装置及设备 | |
CN107016016A (zh) | 一种数据处理的方法及装置 | |
CN106445815A (zh) | 一种自动化测试方法及装置 | |
CN113868028A (zh) | 一种在数据节点上回放日志的方法、数据节点及系统 | |
CN106547658A (zh) | 一种自动化测试方法及装置 | |
US11544669B2 (en) | Computing framework for compliance report generation | |
CN112948473A (zh) | 数据仓库的数据处理方法、装置、系统及存储介质 | |
CN107276914A (zh) | 基于cmdb的自助资源分配调度的方法 | |
CN117971806A (zh) | 一种数据迁移方法、装置、存储介质及电子设备 | |
CN111124883A (zh) | 一种基于树形表格的测试用例库引入方法、系统及设备 | |
CN113515528B (zh) | 基于大数据和oracle海量数据的资产筛选系统和方法 | |
CN115422180A (zh) | 数据校验方法及系统 | |
CN110297842B (zh) | 一种数据比对方法、装置、终端和存储介质 | |
CN114817402A (zh) | 分布式数据库于多region部署场景下的SQL执行优化方法 | |
CN113868138A (zh) | 测试数据的获取方法、系统、设备及存储介质 | |
CN107995301B (zh) | 一种快速的基于互联网的数据收发方法 | |
CN115794806A (zh) | 金融数据的网格化处理系统及方法、装置、计算设备 | |
CN113157777A (zh) | 一种分布式实时查询数据的方法、集群、系统及存储介质 | |
CN114385722A (zh) | 接口属性的一致性校验方法、装置、电子设备和存储介质 | |
CN111367894A (zh) | 基于数据库迁移的数据对比方法及装置 | |
US11853312B1 (en) | Generation of feature stores | |
CN111914065B (zh) | 短信内容验证方法、装置、计算机系统和计算机可读介质 | |
US11748354B2 (en) | Data shape confidence |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination |