数据迁移方法和装置制造方法及图纸

技术编号:15219440 阅读:54 留言:0更新日期:2017-04-26 16:41
本申请公开了一种数据迁移方法和装置。其中,该方法包括:读取源数据库的当前数据库表中的数据;将当前数据库表中的数据存储到中间文件;以及将存储到中间文件的数据写入到目标数据库的与当前数据库表的表名相同的数据库表中。本申请解决了数据迁移过程中断时需要重新进行数据迁移的技术问题。

Data transfer method and apparatus

The invention discloses a method and a device for data migration. Among them, the method includes: the current data in the database table to read the source database; the database table data is stored into the intermediate file; and storing the intermediate file to write data to the target database and the database table with the same name in the database table. The utility model solves the technical problem of data migration when the data migration process is interrupted.

【技术实现步骤摘要】

本申请涉及数据库领域,具体而言,涉及一种数据迁移方法和装置。
技术介绍
目前,由于数据库的更新换代,数据迁移则是数据库更替的必经过程。目前主要通过Kettle等跨平台的ETL工具进行数据抽取,完成数据的迁移。然而,对于部分数据库而言,由于数据量比较大,数据迁移过程一旦中断,则需要重新进行数据迁移,处理起来比较麻烦。针对上述的问题,目前尚未提出有效的解决方案。
技术实现思路
本申请实施例提供了一种数据迁移方法和装置,以至少解决数据迁移过程中断时需要重新进行数据迁移的技术问题。根据本申请实施例的一个方面,提供了一种数据迁移方法,包括:读取源数据库的当前数据库表中的数据;将所述当前数据库表中的数据存储到中间文件;以及将存储到所述中间文件的数据写入到目标数据库的与所述当前数据库表的表名相同的数据库表中。进一步地,将所述当前数据库表中的数据存储到中间文件包括:将所述当前数据库表中的数据存储到所述目标数据库可支持的文件中;将所述目标数据库可支持的文件映射为所述目标数据库的外部表;其中,将存储到所述中间文件的数据写入到目标数据库的与所述当前数据库表的表名相同的数据库表中包括:将所述外部表的数据写入到所述目标数据库的与所述当前数据库表的表名相同的数据库表中。进一步地,将所述目标数据库可支持的文件映射为所述目标数据库的外部表包括:将所述目标数据库可支持的文件传输到所述目标数据库所在的服务器的预设路径下;连接到所述目标数据库,并将所述目标数据库可支持的文件映射为所述目标数据库的外部表。进一步地,在读取源数据库的当前数据库表中的数据之前,所述方法还包括:读取所述目标数据库中的数据库表的外键关系参数,并存储所述外键关系参数;删除所述目标数据库中的数据库表的外键关系;其中,在源数据库的数据全部导入到当前数据库表中之后,基于存储的所述外键关系参数重建所述目标数据库的外键关系。进一步地,在读取源数据库的当前数据库表中的数据之前,所述方法还包括:读取所述源数据库的所有数据库表的表名和所述目标数据库的所有数据库表的表名;将所述源数据库的数据库表的表名和所述目标数据库的数据库表的表名进行匹配,以将表名相同的数据库表关联;依次将匹配后的源数据库中的数据库表作为所述当前数据库表。根据本申请实施例的另一方面,还提供了一种数据迁移装置,包括:第一读取单元,用于读取源数据库的当前数据库表中的数据;存储单元,用于将所述当前数据库表中的数据存储到中间文件;以及写入单元,用于将存储到所述中间文件的数据写入到目标数据库的与所述当前数据库表的表名相同的数据库表中。进一步地,所述存储单元包括:存储模块,用于将所述当前数据库表中的数据存储到所述目标数据库可支持的文件中;映射模块,用于将所述目标数据库可支持的文件映射为所述目标数据库的外部表;其中,所述写入单元具体用于将所述外部表的数据写入到所述目标数据库的与所述当前数据库表的表名相同的数据库表中。进一步地,所述映射模块包括:传输子模块,用于将所述目标数据库可支持的文件传输到所述目标数据库所在的服务器的预设路径下;映射子模块,用于连接到所述目标数据库,并将所述目标数据库可支持的文件映射为所述目标数据库的外部表。进一步地,所述装置还包括:第二读取单元,用于在读取源数据库的当前数据库表中的数据之前,读取所述目标数据库中的数据库表的外键关系参数,并存储所述外键关系参数;删除单元,用于删除所述目标数据库中的数据库表的外键关系;重建单元,用于在源数据库的数据全部导入到当前数据库表中之后,基于存储的所述外键关系参数重建所述目标数据库的外键关系。进一步地,所述装置还包括:第三读取单元,用于在读取源数据库的当前数据库表中的数据之前,读取所述源数据库的所有数据库表的表名和所述目标数据库的所有数据库表的表名;匹配单元,用于将所述源数据库的数据库表的表名和所述目标数据库的数据库表的表名进行匹配,以将表名相同的数据库表关联;确定单元,用于依次将匹配后的源数据库中的数据库表作为所述当前数据库表。根据本申请实施例,通过读取源数据库的当前数据库表中的数据,将当前数据库表中的数据存储到中间文件,将存储到中间文件的数据写入到目标数据库的与当前数据库表的表名相同的数据库表中,解决了数据迁移过程中断时需要重新进行数据迁移的技术问题,达到了在数据迁移过程中断时无需从头重新进行数据迁移的效果。附图说明此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:图1是根据本申请实施例的数据迁移方法的流程图;图2是根据本申请实施例的优选的数据迁移方法的流程图;图3是根据本申请实施例的数据迁移装置的示意图。具体实施方式为了使本
的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。根据本申请实施例,提供了一种数据迁移方法的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。图1是根据本申请实施例的数据迁移方法的流程图,如图1所示,该方法包括如下步骤:步骤S102,读取源数据库的当前数据库表中的数据。步骤S104,将当前数据库表中的数据存储到中间文件。步骤S106,将存储到中间文件的数据写入到目标数据库的与当前数据库表的表名相同的数据库表中。本实施例中,将源数据库中的数据迁移到目标数据库中,在数据迁移过程中,可以依次将源数据库中的数据库表作为当前数据库表,读取源数据库的当前数据表中的数据,然后将其存储到中间文件,再从中间文件中将数据写入到目标数据库中相同表名的数据库表中。按照上述流程依次将源数据库的数据库表中的数据迁移到目标数据库。由于采用中间文件逐个转存和迁移源数据库中的数据库表的数据,当数据迁移中断时,可以从中断时的数据库表开始重新迁移数据,无需从头对数据进行迁移。根据本申请实施例,通过读取源数据库的当前数据库表中的数据,将当前数据库表中的数据存储到中间文件,将存储到中间文件的数据写入到目标数据库的与当前数据库表的表名相同的数据库表中,解决了数据迁移过程中断时需要重新进行数据迁移的技术问题,达到了在数据迁移过程中断时无需从头重新进行数据迁移的效果。本文档来自技高网
...

【技术保护点】
一种数据迁移方法,其特征在于,包括:读取源数据库的当前数据库表中的数据;将所述当前数据库表中的数据存储到中间文件;以及将存储到所述中间文件的数据写入到目标数据库的与所述当前数据库表的表名相同的数据库表中。

【技术特征摘要】
1.一种数据迁移方法,其特征在于,包括:读取源数据库的当前数据库表中的数据;将所述当前数据库表中的数据存储到中间文件;以及将存储到所述中间文件的数据写入到目标数据库的与所述当前数据库表的表名相同的数据库表中。2.根据权利要求1所述的方法,其特征在于,将所述当前数据库表中的数据存储到中间文件包括:将所述当前数据库表中的数据存储到所述目标数据库可支持的文件中;将所述目标数据库可支持的文件映射为所述目标数据库的外部表;其中,将存储到所述中间文件的数据写入到目标数据库的与所述当前数据库表的表名相同的数据库表中包括:将所述外部表的数据写入到所述目标数据库的与所述当前数据库表的表名相同的数据库表中。3.根据权利要求2所述的方法,其特征在于,将所述目标数据库可支持的文件映射为所述目标数据库的外部表包括:将所述目标数据库可支持的文件传输到所述目标数据库所在的服务器的预设路径下;连接到所述目标数据库,并将所述目标数据库可支持的文件映射为所述目标数据库的外部表。4.根据权利要求1所述的方法,其特征在于,在读取源数据库的当前数据库表中的数据之前,所述方法还包括:读取所述目标数据库中的数据库表的外键关系参数,并存储所述外键关系参数;删除所述目标数据库中的数据库表的外键关系;其中,在源数据库的数据全部导入到当前数据库表中之后,基于存储的所述外键关系参数重建所述目标数据库的外键关系。5.根据权利要求1所述的方法,其特征在于,在读取源数据库的当前数据库表中的数据之前,所述方法还包括:读取所述源数据库的所有数据库表的表名和所述目标数据库的所有数据库表的表名;将所述源数据库的数据库表的表名和所述目标数据库的数据库表的表名进行匹配,以将表名相同的数据库表关联;依次将匹配后的源数据库中的数据库表作为所述当前数据库表。6.一种数据迁移装置,其特...

【专利技术属性】
技术研发人员:李新国
申请(专利权)人:北京国双科技有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1