CN109753493A - 数据库间进行数据迁移的方法、装置以及设备 - Google Patents
数据库间进行数据迁移的方法、装置以及设备 Download PDFInfo
- Publication number
- CN109753493A CN109753493A CN201910006705.7A CN201910006705A CN109753493A CN 109753493 A CN109753493 A CN 109753493A CN 201910006705 A CN201910006705 A CN 201910006705A CN 109753493 A CN109753493 A CN 109753493A
- Authority
- CN
- China
- Prior art keywords
- transmitted
- data
- file
- database
- disk
- 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
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种数据库间进行数据迁移的方法、装置以及设备,其中,该方法包括:获取源数据库端N个并行待传输文件,其中,N为大于等于1的正整数;将所述N个并行待传输文件传输至所述目标数据库端所在系统的磁盘中;在所述目标数据库端创建外部表,其中,所述外部表关联磁盘中N个传输完成的文件;通过所述外部表读取磁盘中N个传输完成的文件写入目标数据库。在本发明实施例中,通过创建外部表,来进行数据迁移,以解决现有的在数据迁移的时候数据本身需要进行多次存储转移的过程所导致的资源消耗过大的问题,达到了减少数据本身存储转移次数,以减少资源浪费的技术效果。
Description
技术领域
本发明涉及数据处理技术领域,特别涉及一种数据库间进行数据迁移的方法、装置以及设备。
背景技术
在企业的业务系统(也可以称为核心系统)中,产生的数据一般会按照一定的规则、时间,准确、完整地导出至外围系统中。其中,核心系统用于处理各种信息,外围系统则是围绕核心系统提供信息和传达指令。
现有的数据迁移的方案中,通常是将核心系统数据库中的数据表导出到一个文件中,然后将导出的文件传输至外围系统磁盘中,然后外围系统将文件导入数据库的接口表或中间表中,并将接口表或中间表中的数据按照一定规则插入外围系统数据库的目标表中,以完成数据迁移。
在外围系统端,需要先将文件导入数据库的接口表或中间表中,才能再进行逻辑加工插入目标表中,并且读写入数据库的接口表或中间表中的文件占用数据库的存储空间,因此,整个数据迁移过程的时间以及空间消耗都会较大。
针对上述问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种数据库间进行数据迁移的方法、装置以及设备,以解决现有技术中在数据间进行数据迁移时,需要先将文件导入数据库的接口表或中间表中,才能再进行逻辑加工插入目标表中,并且读写入数据库的接口表或中间表中的文件占用数据库的存储空间,使得整个数据迁移过程的时间以及空间消耗都会较大的问题。
本发明实施例提供了一种数据库间进行数据迁移的方法,包括:获取源数据库端N个并行待传输文件,其中,N为大于等于1的正整数;将所述N个并行待传输文件传输至目标数据库端所在系统的磁盘中;在所述目标数据库端创建外部表,其中,所述外部表关联磁盘中N个传输完成的文件;通过所述外部表读取磁盘中N个传输完成的文件写入目标数据库。
在一个实施例中,获取源数据库端N个并行待传输文件,包括:获取源数据库端数据表中多个目标分区的数据量统计信息;根据所述数据量统计信息,将所述多个目标分区的数据分配至N个并行待传输文件中。
在一个实施例中,根据所述数据量统计信息,将所述多个目标分区的数据平均分配至N个并行待传输文件中,包括:按照预定的次序将所述多个目标分区的数据中相邻的目标分区的数据分配至相同的待传输文件中。
在一个实施例中,将所述N个并行待传输文件传输至所述目标数据库端所在系统的磁盘中,包括:设置所述N个并行待传输文件的后缀为预设标识,其中,所述预设标识用于表征所述N个并行待传输文件的传输状态为正在传输;在所述N个并行待传输文件传输至所述目标数据库端所在系统的磁盘中后,将所述预设标识删除。
在一个实施例中,所述目标数据库为ORACLE数据库。
本发明还提供一种数据库间进行数据迁移的装置,包括:获取模块,用于获取源数据库端N个并行待传输文件,其中,N为大于等于1的正整数;传输模块,用于将所述N个并行待传输文件传输至目标数据库端所在系统的磁盘中;创建模块,用于在所述目标数据库端创建外部表,其中,所述外部表关联磁盘中N个传输完成的文件;写入模块,用于通过所述外部表读取磁盘中N个传输完成的文件写入目标数据库。
在一个实施例中,所述获取模块包括:获取单元,用于获取源数据库端数据表中多个目标分区的数据量统计信息;第一分配单元,根据所述数据量统计信息,将所述多个目标分区的数据分配至N个并行待传输文件中,其中,N为大于等于1的正整数。
在一个实施例中,所述第一分配单元包括:第二分配单元,用于按照预定的次序将所述多个目标分区的数据中相邻的目标分区的数据分配至相同的待传输文件中。
在一个实施例中,所述传输模块,包括:设置单元,用于设置所述N个并行待传输文件的后缀为预设标识,其中,所述预设标识用于表征所述N个并行待传输文件的传输状态为正在传输;删除单元,用于在所述N个并行待传输文件传输至所述目标数据库端所在系统的磁盘中后,将所述预设标识删除。
本发明还提供一种数据库间进行数据迁移的设备,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现所述数据库间进行数据迁移的方法的步骤。
本发明还提供一种计算机可读存储介质,其上存储有计算机指令,所述指令被执行时实现所述数据库间进行数据迁移的方法的步骤。
在本发明实施例中,提供了一种数据库间进行数据迁移的方法,通过在将所述N个并行待传输文件传输至所述目标数据库端所在系统的磁盘中后,创建外部表,其中,所述外部表关联磁盘中N个传输完成的文件。在上述方案中,通过创建用于关联文件的外部表,来进行数据迁移,可以解决现有的在数据迁移的时候数据本身需要进行多次存储转移的过程所导致的资源消耗过大的问题,达到了减少数据本身存储转移次数,以减少资源浪费的技术效果。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,并不构成对本发明的限定。在附图中:
图1是根据本发明实施例提供的数据库间进行数据迁移的方法步骤示意图;
图2是根据本发明具体实施例提供的数据库间进行数据迁移的系统示意图;
图3是根据本发明实施例提供的数据库间进行数据迁移的装置示意图;
图4是根据本发明实施例提供的数据库间进行数据迁移电子设备的示意图。
具体实施方式
下面将参考若干示例性实施方式来描述本发明的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本发明,而并非以任何方式限制本发明的范围。相反,提供这些实施方式是为了使本申请公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
本领域的技术人员知道,本发明的实施方式可以实现为一种系统、装置设备、方法或计算机程序产品。因此,本申请公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。
考虑到现有的数据库间进行数据迁移的方案中,在将源数据库端传输的文件写入目标数据库中时,需要先将文件写入目标数据库端的接口表或中间表中,增加的数据迁移过程的时间消耗,并且写入目标数据库的接口表或中间表中的文件会占用目标数据库的存储空间,使得整个数据迁移过程的时间以及空间消耗都会较大。
基于以上问题,本发明实施例提供了一种数据库间进行数据迁移的方法,如图1所示,可以包括以下步骤:
S101:获取源数据库端N个并行待传输文件,其中,N为大于等于1的正整数。
在源数据库端,为了能够对源数据库端数据表中的数据进行合理的并行规划,在进行数据迁移之前,对源数据库端数据表中的每个分区的数据量进行分析、统计,可以将该数据量统计信息保存至源数据库端以便在进行数据迁移时可以随时调用。在进行数据迁移时向源数据端获取数据表中需要进行迁移的多个目标分区的数据量统计信息,其中多个目标分区可以是源数据库端数据表中所有的分区也可以是数据表中所有分区的子集,具体的按照实际情况确定,本申请对此不作限定。
进一步的,根据数据量统计信息,将多个目标分区的数据尽可能的平均分配至N个并行待传输文件中,其中,N为大于等于1的正整数。
其中,在对多个目标分区的数据进行分配之前,可以预先在源数据端设置好配置参数,可以包括但不限于:数据导出的并行度N(对应导出的文件个数)、导出的文件名、目标数据库所在系统的连接参数、传输路径。
为了使得各个并行度中传输的文件大小相对一致,根据预先设置的并行度N以及导出的文件名,将多个目标分区的数据尽可能的平均分配至N个并行待传输文件中。其中在将多个目标分区的数据尽可能的平均分配至N个并行待传输文件的前提下,优选的可以按照原表分区的次序将相邻的分区分配至相同的待传输文件中,即不打乱原表中各分区间的相关性。例如:分区1(20M)、分区2(10M)、分区3(15M)、分区4(15M)、分区5(20M)、分区6(10M),其中,预设的并行度N=3,根据各分区的数据量统计信息以及预设的并行度N,可以将上述分区进行如下分配:分区1&分区2、分区3&分区4、分区5&分区6,这样的分配方式确保了不打乱原表各分区间的相关性,从而可以避免了分区1&分区6、分区3&分区4、分区5&分区2这样的分配方式。
S102:将N个并行待传输文件传输至目标数据库端所在系统的磁盘中。
上述N个并行待传输文件可以是导入至源数据端所在系统的磁盘中的N个并行待传输文件,按照预设的路径并行传输至目标数据库端所在系统的磁盘中,其中,N个并行待传输文件在目标数据库端所在系统的磁盘中的存储位置可以是预先设置好的。
其中,上述N个并行待传输文件在传输过程中设置N个并行待传输文件的后缀为预设标识,例如:传输文件名1.now,该预设标识用于标记上述N个并行待传输文件的传输状态为正在传输。目标数据库端在检测到接收目录中有传输文件后,可以通过确认N个并行待传输文件的后缀是否为预设标识从而对该待传输文件的传输状态进行判断,如果检测到该文件的后缀为预设标识就可以确定该文件还在传输过程中,尚不能进行处理。源数据库端在文件传输完成后,可以对已传输完成的文件进行重命名,即将预设标识去除,在一个实施例中,也可以将预设标识修改为原文件格式的后缀名,例如:将Word文档的预设标识“.now”修改为“.doc”。
S103:在目标数据库端创建外部表,其中,所述外部表关联磁盘中N个传输完成的文件。
考虑到当源系统数据库需要写数据到目标系统的数据库中时,为了保证数据的安全性,一般不会让其直接操作目标系统的数据表,否则如果源系统中存在的BUG可能会使得数据库误操作而破坏了表中的数据,从而会导致本软件系统出错。由于源数据端导出的N个并行待传输文件,在一般情况下不是符合目标数据库端要求的数据的形态,往往需要对源数据库端导出的数据进行字段上的删减或者补全、字段格式上的调整、其他数据的关联整合等处理,因而通常需要将数据传输至磁盘然后再加载到中间表或者接口表中,再进行逻辑处理到目标表中,此过程在将数据写入目标表前需要完成一次读取文件并写入中间表或者接口表的过程,增加了数据迁移过程的时间及空间消耗。
因此本申请中,目标数据库端在检测到N个后缀不为预设标识的文件,即N个传输完成的文件后可以创建一个外部表。其中,外部表是指不存在于数据库中的表,不占用数据库的内存,对外部表的访问可以通过SQL语句(Structured Query Language,结构化查询语言)来完成,而不需要先将外部表中的数据读写入数据库中。
进一步的,通过在外部表中设置目标数据库端磁盘中N个传输完成的文件的存储路径,以达到外部表表和N个传输完成的文件关联的目的,使得数据库里可以直接通过表查询来读取磁盘文件的效果。
S104:通过外部表读取磁盘中N个传输完成的文件写入目标数据库。
通过外部表中设置的目标数据库端磁盘中N个传输完成的文件的存储路径,可以达到直接通过数据库SQL语句读取磁盘中N个传输完成的文件,获取数据并进行相应逻辑处理然后将结果写入目标数据库的目标表中,从而减少一次读写过程。上述外部表中设置有N个传输完成的文件在目标数据库端所在系统的磁盘中的存储路径,并通过一个建表SQL语句,将N个传输完成的文件逻辑映射到目标数据库中,以便于目标数据库对N个传输完成的文件进行查询。外部表无需耗时读取保存至目标数据库端所在系统的磁盘中的N个传输完成的文件,并写入到目标数据库的存储空间中即可实现在目标数据库通过SQL语句直接进行数据读取。
在一个具体实施例中,上述源数据库可以是基于IBM(International BusinessMachines,国际商用机器)主机的DB2数据库(是美国IBM公司开发的一套关系型数据库,可支持从大型机到单用户环境),上述目标数据库可以是ORACLE数据库(Oracle Database,是甲骨文公司的一款关系数据库)。可以理解的是,上述源数据库以及目标数据库也可以是任何其它可以实现相应功能的数据库,本申请对此不作限定。
下面结合一个具体实施例对上述方法进行说明,然而,值得注意的是,该具体实施例仅是为了更好地说明本申请,并不构成对本申请的不当限定。
本发明实施提供了一种数据库间进行数据迁移的系统,如图2所示,可以包括:
采集模块201,用于采集主机端数据库数据表中各分区的数据量统计信息。
上述采集模块可以部署在IBM主机端,根据采集的IBM主机端DB2数据库数据表中各目标分区的数据量统计信息根据预先设置的并行度N进行并行规划,其中,在进行并行规划时将多个目标分区的数据尽可能的平均分配至N个并行度中。在完成对目标分区中数据的分配后,将N个并行度中的数据并行导出至N个指定文件名的文件中,并保存至IBM主机端所在系统的硬盘中。
传输模块202,用于将N个指定文件名的文件并行传输至目标系统指定位置。
可以预先在主机端设置好目标系统的连接参数、传输路径,按照预设的路径并行传输至目标ORACLE数据库端所在系统的磁盘中。
其中,上述N个并行待传输文件在传输过程中使用特定后缀,例如:传输文件名1.now,该特定后缀用于标记上述N个并行待传输文件正在传输过程中。目标ORACLE数据库端在检测到接收目录中有传输文件后,可以通过是否有特定后缀从而对该待传输文件的传输状态进行判断,如果检测到该文件有特定后缀就可以确定该文件还在传输过程中,尚不能进行处理。主机端在文件传输完成后,可以对已传输完成的文件进行重命名,即将特定后缀去除。
接收监控模块203,用于监控在目标ORACLE数据库端接收到的文件。
目标ORACLE数据库端根据预先设置的文件名监控接收到的文件,当监控到N个符合预先设置的文件名且没有特定后缀的文件后,确定主机端的N个并行待传输文件已传输完成。
导入模块204,用于将接收到的N个并行待传输文件导入至目标ORACLE数据库。
目标ORACLE数据库端在监控到N个符合预先设置的文件名且没有特定后缀的文件后创建外部表,其中,外部表中可以设置有N个传输完成的文件在目标数据库端所在系统的磁盘中的存储路径,以便于目标数据库根据该存储路径通过外部表对N个传输完成的文件进行查询。
考虑到IBM主机端DB2数据库导出的数据,都是按照源数据库系统的程序逻辑进行设计的,但是目标数据库系统所需要的数据结构往往与源数据库系统中的数据结构不完全一致,字段的属性、表现形式等也会有差异,所以需要对源数据库端导出的数据进行字段上的补全、格式上的调整、其他数据的关联整合等处理。
因此,在将N个传输完成的文件中的数据写入至目标ORACLE数据库时,可以直接使用数据库SQL语句读取磁盘中N个传输完成的文件,获取数据并进行相应逻辑处理然后将结果写入目标数据库的目标表中。
基于同一发明构思,本发明实施例中还提供了一种数据库间进行数据迁移的装置,如下面的实施例所述。由于数据库间进行数据迁移装置解决问题的原理与数据库间进行数据迁移方法相似,因此数据库间进行数据迁移装置的实施可以参见数据库间进行数据迁移方法的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。图3是本发明实施例的数据库间进行数据迁移装置的一种结构框图,如图3所示,包括:获取模块301、传输模块302、创建模块303以及写入模块304,下面对该结构进行说明。
获取模块301,用于获取源数据库端N个并行待传输文件,其中,N为大于等于1的正整数。
在源数据库端,为了能够对源数据库端数据表中的数据进行合理的并行规划,在进行数据迁移之前通过获取单元,对源数据库端数据表中的每个分区的数据量进行分析、统计,可以将该数据量统计信息保存至源数据库端以便在进行数据迁移时可以随时调用。在进行数据迁移时向源数据端获取数据表中需要进行迁移的多个目标分区的数据量统计信息,其中多个目标分区可以是源数据库端数据表中所有的分区也可以是数据表中所有分区的子集,具体的按照实际情况确定,本申请对此不作限定。
进一步的,在第一分配单元中根据数据量统计信息,将多个目标分区的数据尽可能的平均分配至N个并行待传输文件中,其中,N为大于等于1的正整数。
其中,在对多个目标分区的数据进行分配之前,可以预先在源数据端设置好配置参数,可以包括但不限于:数据导出的并行度N(对应导出的文件个数)、导出的文件名、目标数据库所在系统的连接参数、传输路径。
为了使得各个并行度中传输的文件大小相对一致,根据预先设置的并行度N以及导出的文件名,将多个目标分区的数据尽可能的平均分配至N个并行待传输文件中。其中在将多个目标分区的数据尽可能的平均分配至N个并行待传输文件的前提下,优选的在第二分配单元中可以按照原表分区的次序将相邻的分区分配至相同的待传输文件中,即不打乱原表中各分区间的相关性。例如:分区1(20M)、分区2(10M)、分区3(15M)、分区4(15M)、分区5(20M)、分区6(10M),其中,预设的并行度N=3,根据各分区的数据量统计信息以及预设的并行度N,可以将上述分区进行如下分配:分区1&分区2、分区3&分区4、分区5&分区6,这样的分配方式确保了不打乱原表各分区间的相关性,从而可以避免了分区1&分区6、分区3&分区4、分区5&分区2这样的分配方式。
传输模块302,用于将N个并行待传输文件传输至目标数据库端所在系统的磁盘中。
上述N个并行待传输文件可以是导入至源数据端所在系统的磁盘中的N个并行待传输文件,按照预设的路径并行传输至目标数据库端所在系统的磁盘中,其中,N个并行待传输文件在目标数据库端所在系统的磁盘中的存储位置可以是预先设置好的。
其中,上述传输模块还包括标记单元,用于在上述N个并行待传输文件在传输过程中使用特定后缀,例如:传输文件名1.now,该特定后缀用于标记上述N个并行待传输文件正在传输过程中。目标数据库端在检测到接收目录中有传输文件后,可以通过是否有特定后缀从而对该待传输文件的传输状态进行判断,如果检测到该文件有特定后缀就可以确定该文件还在传输过程中,尚不能进行处理。源数据库端在文件传输完成后,在重命名单元可以对已传输完成的文件进行重命名,即将特定后缀去除。
创建模块303,用于在所述目标数据库端创建外部表,其中,所述外部表关联磁盘中N个传输完成的文件。
考虑到当源系统数据库需要写数据到目标系统的数据库中时,为了保证数据的安全性,一般不会让其直接操作目标系统的数据表,否则如果源系统中存在的BUG可能会使得数据库误操作而破坏了表中的数据,从而会导致本软件系统出错,而如果将数据传输至中间表或者接口表中,则需要耗费较长时间对源数据库端传输至目标数据库所在系统磁盘的文件进行读写操作。
因此本申请中,目标数据库端在检测到N个没有特定后缀的文件后可以创建一个外部表。其中,外部表是指不存在于数据库中的表,不占用数据库的内存,对外部表的访问可以通过SQL语句(Structured Query Language,结构化查询语言)来完成,而不需要先将外部表中的数据读写入数据库中,外部数据表都是只读的,因此在外部表不能够执行DML(Data Manipulation Language,数据操控语言)操作,也不能创建索引。
进一步的,通过在外部表中设置目标数据库端磁盘中N个传输完成的文件的存储路径,以达到外部表表和N个传输完成的文件关联的目的,使得数据库里可以直接通过表查询来读取磁盘文件的效果。
写入模块304:用于通过外部表读取磁盘中N个传输完成的文件写入目标数据库。
上述外部表中可以存储有N个传输完成的文件在目标数据库端所在系统的磁盘中的存储路径,并通过一个建表SQL语句,N个传输完成的文件逻辑映射到目标数据库中,以便于目标数据库对N个传输完成的文件进行查询。其中,外部表无需耗时读写保存至目标数据库端所在系统的磁盘中的N个传输完成的文件关联到数据库中,在目标数据库中即可通过SQL语句读取磁盘中上述N个传输完成的文件,获取数据并进行相应逻辑处理然后将结果写入目标数据库的目标表中。
在一个具体实施例中,上述源数据库可以是基于IBM(International BusinessMachines,国际商用机器)主机的DB2数据库(是美国IBM公司开发的一套关系型数据库,可支持从大型机到单用户环境),上述目标数据库可以是ORACLE数据库(Oracle Database,是甲骨文公司的一款关系数据库)。可以理解的是,上述源数据库以及目标数据库也可以是任何其它可以实现相应功能的数据库,本申请对此不作限定。
从以上的描述中,可以看出,本发明实施例实现了如下技术效果:通过对源数据库端数据表中的分区进行数据量统计,并根据数据量统计信息将多个目标分区的数据尽可能的平均分配至N个并行待传输文件中,可以智能化的对多个分区的数据进行分配,有效地避免了各分区数据量大小不一从而影响数据传输时间的情况,缩短了将源数据库端数据导出的耗时;通过在目标数据库端创建外部表,减少了目标数据库端的存储空间消耗,并且由于无需将源数据库端传输的文件先写入外部表或中间表中,从而缩短了将N个并行待传输文件导入目标数据库端的耗时,并减少了目标数据库端的空间消耗。
本申请实施方式还提供了一种电子设备,具体可以参阅图4所示的基于本申请实施例提供的数据库间进行数据迁移方法的电子设备组成结构示意图,所述电子设备具体可以包括输入设备41、处理器42、存储器43。其中,所述输入设备41具体可以用于获取源数据库端数据表中多个目标分区的数据量统计信息。所述处理器42具体可以用于根据所述数据量统计信息,将所述多个目标分区的数据平均分配至N个并行待传输文件中,其中,N为大于等于1的正整数;并将所述N个并行待传输文件,按照预设路径并行传输至目标数据库端。所述存储器43具体可以用于存储多个分区的数据量统计信息、配置参数等参数。
在本实施方式中,所述输入设备具体可以是用户和计算机系统之间进行信息交换的主要装置之一。所述输入设备可以包括键盘、鼠标、摄像头、扫描仪、光笔、手写输入板、语音输入装置等;输入设备用于把原始数据和处理这些数的程序输入到计算机中。所述输入设备还可以获取接收其他模块、单元、设备传输过来的数据。所述处理器可以按任何适当的方式实现。例如,处理器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式等等。所述存储器具体可以是现代信息技术中用于保存信息的记忆设备。所述存储器可以包括多个层次,在数字系统中,只要能保存二进制数据的都可以是存储器;在集成电路中,一个没有实物形式的具有存储功能的电路也叫存储器,如RAM、FIFO等;在系统中,具有实物形式的存储设备也叫存储器,如内存条、TF卡等。
在本实施方式中,该电子设备具体实现的功能和效果,可以与其它实施方式对照解释,在此不再赘述。
本申请实施方式中还提供了一种基于数据库间进行数据迁移的方法的计算机存储介质,所述计算机存储介质存储有计算机程序指令,在所述计算机程序指令被执行时实现:源数据库端与目标数据库端的数据迁移。
在本实施方式中,上述存储介质包括但不限于随机存取存储器(Random AccessMemory,RAM)、只读存储器(Read-Only Memory,ROM)、缓存(Cache)、硬盘(Hard DiskDrive,HDD)或者存储卡(Memory Card)。所述存储器可以用于存储计算机程序指令。网络通信单元可以是依照通信协议规定的标准设置的,用于进行网络连接通信的接口。
在本实施方式中,该计算机存储介质存储的程序指令具体实现的功能和效果,可以与其它实施方式对照解释,在此不再赘述。
显然,本领域的技术人员应该明白,上述的本发明实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明实施例不限制于任何特定的硬件和软件结合。
应该理解,以上描述是为了进行图示说明而不是为了进行限制。通过阅读上述描述,在所提供的示例之外的许多实施方式和许多应用对本领域技术人员来说都将是显而易见的。因此,本申请的范围不应该参照上述描述来确定,而是应该参照前述权利要求以及这些权利要求所拥有的等价物的全部范围来确定。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明实施例可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (11)
1.一种数据库间进行数据迁移的方法,其特征在于,包括:
获取源数据库端N个并行待传输文件,其中,N为大于等于1的正整数;
将所述N个并行待传输文件传输至目标数据库端所在系统的磁盘中;
在所述目标数据库端创建外部表,其中,所述外部表关联磁盘中N个传输完成的文件;
通过所述外部表读取磁盘中N个传输完成的文件写入目标数据库。
2.根据权利要求1所述的方法,其特征在于,获取源数据库端N个并行待传输文件,包括:
获取源数据库端数据表中多个目标分区的数据量统计信息;
根据所述数据量统计信息,将所述多个目标分区的数据分配至N个并行待传输文件中。
3.根据权利要求2所述的方法,其特征在于,根据所述数据量统计信息,将所述多个目标分区的数据平均分配至N个并行待传输文件中,包括:
按照预定的次序将所述多个目标分区的数据中相邻的目标分区的数据分配至相同的待传输文件中。
4.根据权利要求1所述的方法,其特征在于,将所述N个并行待传输文件传输至所述目标数据库端所在系统的磁盘中,包括:
设置所述N个并行待传输文件的后缀为预设标识,其中,所述预设标识用于表征所述N个并行待传输文件的传输状态为正在传输;
在所述N个并行待传输文件传输至所述目标数据库端所在系统的磁盘中后,将所述预设标识删除。
5.根据权利要求1所述的方法,其特征在于,所述目标数据库为ORACLE数据库。
6.一种数据库间进行数据迁移的装置,其特征在于,包括:
获取模块,用于获取源数据库端N个并行待传输文件,其中,N为大于等于1的正整数;
传输模块,用于将所述N个并行待传输文件传输至目标数据库端所在系统的磁盘中;
创建模块,用于在所述目标数据库端创建外部表,其中,所述外部表关联磁盘中N个传输完成的文件;
写入模块,用于通过所述外部表读取磁盘中N个传输完成的文件写入目标数据库。
7.根据权利要求6所述的装置,其特征在于,所述获取模块包括:
获取单元,用于获取源数据库端数据表中多个目标分区的数据量统计信息;
第一分配单元,根据所述数据量统计信息,将所述多个目标分区的数据平均分配至N个并行待传输文件中,其中,N为大于等于1的正整数。
8.根据权利要求7所述的装置,其特征在于,所述第一分配单元包括:
第二分配单元,用于按照预定的次序将所述多个目标分区的数据中相邻的目标分区的数据分配至相同的待传输文件中。
9.根据权利要求6所述的装置,其特征在于,所述传输模块,包括:
设置单元,用于设置所述N个并行待传输文件的后缀为预设标识,其中,所述预设标识用于表征所述N个并行待传输文件的传输状态为正在传输;
删除单元,用于在所述N个并行待传输文件传输至所述目标数据库端所在系统的磁盘中后,将所述预设标识删除。
10.一种数据库间进行数据迁移的设备,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现权利要求1至5中任一项所述方法的步骤。
11.一种计算机可读存储介质,其上存储有计算机指令,所述指令被执行时实现权利要求1至5中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910006705.7A CN109753493A (zh) | 2019-01-04 | 2019-01-04 | 数据库间进行数据迁移的方法、装置以及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910006705.7A CN109753493A (zh) | 2019-01-04 | 2019-01-04 | 数据库间进行数据迁移的方法、装置以及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109753493A true CN109753493A (zh) | 2019-05-14 |
Family
ID=66404559
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910006705.7A Pending CN109753493A (zh) | 2019-01-04 | 2019-01-04 | 数据库间进行数据迁移的方法、装置以及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109753493A (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110515991A (zh) * | 2019-07-16 | 2019-11-29 | 上海数据交易中心有限公司 | 批量配送文件的收集方法及装置、存储介质、终端 |
CN110895522A (zh) * | 2019-12-02 | 2020-03-20 | 中国银行股份有限公司 | 数据迁移方法及系统 |
CN111125059A (zh) * | 2019-12-17 | 2020-05-08 | 南京甄视智能科技有限公司 | 数据迁移方法、装置、存储介质及服务器 |
CN111176580A (zh) * | 2019-12-30 | 2020-05-19 | 成都易我科技开发有限责任公司 | 分区数据无损移动的方法、装置及可读存储介质 |
CN112015716A (zh) * | 2020-08-04 | 2020-12-01 | 北京人大金仓信息技术股份有限公司 | 数据库数据迁移方法、装置、介质和电子设备 |
CN112559537A (zh) * | 2019-09-25 | 2021-03-26 | 阿里巴巴集团控股有限公司 | 云存储区间更新方法、装置、电子设备及计算机存储介质 |
CN113032818A (zh) * | 2021-05-27 | 2021-06-25 | 北京国电通网络技术有限公司 | 任务加密方法、装置、电子设备和计算机可读介质 |
CN113342269A (zh) * | 2021-05-31 | 2021-09-03 | 上海蓝色帛缔智能工程有限公司 | 基于云统计的多路数据存储的方法、装置、设备及介质 |
CN114265828A (zh) * | 2021-12-20 | 2022-04-01 | 平安证券股份有限公司 | 行迁移消除方法、装置、计算机设备和存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003108781A (ja) * | 2001-09-27 | 2003-04-11 | Nec Corp | 移行レコード作成システム、移行レコード作成方法、および、移行レコード作成プログラム |
CN105718507A (zh) * | 2016-01-06 | 2016-06-29 | 杭州数梦工场科技有限公司 | 一种数据迁移方法和装置 |
CN106598977A (zh) * | 2015-10-15 | 2017-04-26 | 北京国双科技有限公司 | 数据迁移方法和装置 |
CN106777345A (zh) * | 2017-01-16 | 2017-05-31 | 山东浪潮商用系统有限公司 | 一种基于海量数据迁移的数据抽取加载方法 |
-
2019
- 2019-01-04 CN CN201910006705.7A patent/CN109753493A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003108781A (ja) * | 2001-09-27 | 2003-04-11 | Nec Corp | 移行レコード作成システム、移行レコード作成方法、および、移行レコード作成プログラム |
CN106598977A (zh) * | 2015-10-15 | 2017-04-26 | 北京国双科技有限公司 | 数据迁移方法和装置 |
CN105718507A (zh) * | 2016-01-06 | 2016-06-29 | 杭州数梦工场科技有限公司 | 一种数据迁移方法和装置 |
CN106777345A (zh) * | 2017-01-16 | 2017-05-31 | 山东浪潮商用系统有限公司 | 一种基于海量数据迁移的数据抽取加载方法 |
Non-Patent Citations (2)
Title |
---|
一泽涟漪: "Oracle外部表详解 url:https://www.cnblogs.com/ilifeilong/p/7648193.html", 《博客园》 * |
浓明公: "数据迁移 url:https://wenku.baidu.com/view/861dc21889eb172dec63b713.html", 《百度文库》 * |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110515991A (zh) * | 2019-07-16 | 2019-11-29 | 上海数据交易中心有限公司 | 批量配送文件的收集方法及装置、存储介质、终端 |
CN112559537A (zh) * | 2019-09-25 | 2021-03-26 | 阿里巴巴集团控股有限公司 | 云存储区间更新方法、装置、电子设备及计算机存储介质 |
CN112559537B (zh) * | 2019-09-25 | 2022-04-29 | 阿里巴巴集团控股有限公司 | 云存储区间更新方法、装置、电子设备及计算机存储介质 |
CN110895522B (zh) * | 2019-12-02 | 2022-06-03 | 中国银行股份有限公司 | 数据迁移方法及系统 |
CN110895522A (zh) * | 2019-12-02 | 2020-03-20 | 中国银行股份有限公司 | 数据迁移方法及系统 |
CN111125059A (zh) * | 2019-12-17 | 2020-05-08 | 南京甄视智能科技有限公司 | 数据迁移方法、装置、存储介质及服务器 |
CN111125059B (zh) * | 2019-12-17 | 2022-08-12 | 南京甄视智能科技有限公司 | 数据迁移方法、装置、存储介质及服务器 |
CN111176580A (zh) * | 2019-12-30 | 2020-05-19 | 成都易我科技开发有限责任公司 | 分区数据无损移动的方法、装置及可读存储介质 |
CN111176580B (zh) * | 2019-12-30 | 2023-04-07 | 成都易我科技开发有限责任公司 | 分区数据无损移动的方法、装置及可读存储介质 |
CN112015716A (zh) * | 2020-08-04 | 2020-12-01 | 北京人大金仓信息技术股份有限公司 | 数据库数据迁移方法、装置、介质和电子设备 |
CN112015716B (zh) * | 2020-08-04 | 2024-02-09 | 北京人大金仓信息技术股份有限公司 | 数据库数据迁移方法、装置、介质和电子设备 |
CN113032818A (zh) * | 2021-05-27 | 2021-06-25 | 北京国电通网络技术有限公司 | 任务加密方法、装置、电子设备和计算机可读介质 |
CN113032818B (zh) * | 2021-05-27 | 2021-08-31 | 北京国电通网络技术有限公司 | 任务加密方法、装置、电子设备和计算机可读介质 |
CN113342269A (zh) * | 2021-05-31 | 2021-09-03 | 上海蓝色帛缔智能工程有限公司 | 基于云统计的多路数据存储的方法、装置、设备及介质 |
CN114265828A (zh) * | 2021-12-20 | 2022-04-01 | 平安证券股份有限公司 | 行迁移消除方法、装置、计算机设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109753493A (zh) | 数据库间进行数据迁移的方法、装置以及设备 | |
US10073888B1 (en) | Adjusting partitioning policies of a database system in view of storage reconfiguration | |
CN108536761A (zh) | 报表数据查询方法及服务器 | |
Olston et al. | Automatic optimization of parallel dataflow programs | |
CN104699423B (zh) | Linux系统中绑定盘符的方法和装置 | |
US8924373B2 (en) | Query plans with parameter markers in place of object identifiers | |
US20200065313A1 (en) | Extensible content object metadata | |
WO2019161645A1 (zh) | 基于Shell的数据表提取方法、终端、设备及存储介质 | |
CN108776702A (zh) | 一种数据填报页面自定义可视化配置方法 | |
CN102385588A (zh) | 用于提高数据并行插入的性能的方法和系统 | |
WO2024055571A1 (zh) | 一种namespace设置方法、装置及可读存储介质 | |
CN107423321B (zh) | 适用大批量小文件云存储的方法及其装置 | |
CN104537012B (zh) | 数据处理方法和装置 | |
US20170322963A1 (en) | Apparatus and Method for Creating User Defined Variable Size Tags on Records in RDBMS | |
CN110413588A (zh) | 分布式对象存储方法、装置、计算机设备和存储介质 | |
US20080222183A1 (en) | Autonomic rule generation in a content management system | |
CN103501341A (zh) | 一种Web服务的创建方法及装置 | |
US20160170892A1 (en) | Expression pattern matching in a storage subsystem | |
CN105653680A (zh) | 一种基于文档型数据库的存储数据的方法及系统 | |
CN111752941A (zh) | 一种数据存储、访问方法、装置、服务器及存储介质 | |
US10853331B1 (en) | System and method for editing materializations of a data store | |
KR102214697B1 (ko) | 데이터베이스 관리 시스템에서 데이터 저장을 위한 공간 관리를 제공하는 컴퓨터 프로그램 | |
US20170031982A1 (en) | Maintaining Performance in the Presence of Insertions, Deletions, and Streaming Queries | |
US10726041B1 (en) | Multi-revision graph data store | |
US11995084B1 (en) | Database system for querying time-series data stored in a tiered storage using a cloud platform |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190514 |