CN106598977A - 数据迁移方法和装置 - Google Patents
数据迁移方法和装置 Download PDFInfo
- Publication number
- CN106598977A CN106598977A CN201510672112.6A CN201510672112A CN106598977A CN 106598977 A CN106598977 A CN 106598977A CN 201510672112 A CN201510672112 A CN 201510672112A CN 106598977 A CN106598977 A CN 106598977A
- Authority
- CN
- China
- Prior art keywords
- database
- data
- target
- current
- target 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.)
- 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
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
本申请公开了一种数据迁移方法和装置。其中,该方法包括:读取源数据库的当前数据库表中的数据;将当前数据库表中的数据存储到中间文件;以及将存储到中间文件的数据写入到目标数据库的与当前数据库表的表名相同的数据库表中。本申请解决了数据迁移过程中断时需要重新进行数据迁移的技术问题。
Description
技术领域
本申请涉及数据库领域,具体而言,涉及一种数据迁移方法和装置。
背景技术
目前,由于数据库的更新换代,数据迁移则是数据库更替的必经过程。目前主要通过Kettle等跨平台的ETL工具进行数据抽取,完成数据的迁移。
然而,对于部分数据库而言,由于数据量比较大,数据迁移过程一旦中断,则需要重新进行数据迁移,处理起来比较麻烦。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种数据迁移方法和装置,以至少解决数据迁移过程中断时需要重新进行数据迁移的技术问题。
根据本申请实施例的一个方面,提供了一种数据迁移方法,包括:读取源数据库的当前数据库表中的数据;将所述当前数据库表中的数据存储到中间文件;以及将存储到所述中间文件的数据写入到目标数据库的与所述当前数据库表的表名相同的数据库表中。
进一步地,将所述当前数据库表中的数据存储到中间文件包括:将所述当前数据库表中的数据存储到所述目标数据库可支持的文件中;将所述目标数据库可支持的文件映射为所述目标数据库的外部表;其中,将存储到所述中间文件的数据写入到目标数据库的与所述当前数据库表的表名相同的数据库表中包括:将所述外部表的数据写入到所述目标数据库的与所述当前数据库表的表名相同的数据库表中。
进一步地,将所述目标数据库可支持的文件映射为所述目标数据库的外部表包括:将所述目标数据库可支持的文件传输到所述目标数据库所在的服务器的预设路径下;连接到所述目标数据库,并将所述目标数据库可支持的文件映射为所述目标数据库的外部表。
进一步地,在读取源数据库的当前数据库表中的数据之前,所述方法还包括:读取所述目标数据库中的数据库表的外键关系参数,并存储所述外键关系参数;删除所述目标数据库中的数据库表的外键关系;其中,在源数据库的数据全部导入到当前数据库表中之后,基于存储的所述外键关系参数重建所述目标数据库的外键关系。
进一步地,在读取源数据库的当前数据库表中的数据之前,所述方法还包括:读取所述源数据库的所有数据库表的表名和所述目标数据库的所有数据库表的表名;将所述源数据库的数据库表的表名和所述目标数据库的数据库表的表名进行匹配,以将表名相同的数据库表关联;依次将匹配后的源数据库中的数据库表作为所述当前数据库表。
根据本申请实施例的另一方面,还提供了一种数据迁移装置,包括:第一读取单元,用于读取源数据库的当前数据库表中的数据;存储单元,用于将所述当前数据库表中的数据存储到中间文件;以及写入单元,用于将存储到所述中间文件的数据写入到目标数据库的与所述当前数据库表的表名相同的数据库表中。
进一步地,所述存储单元包括:存储模块,用于将所述当前数据库表中的数据存储到所述目标数据库可支持的文件中;映射模块,用于将所述目标数据库可支持的文件映射为所述目标数据库的外部表;其中,所述写入单元具体用于将所述外部表的数据写入到所述目标数据库的与所述当前数据库表的表名相同的数据库表中。
进一步地,所述映射模块包括:传输子模块,用于将所述目标数据库可支持的文件传输到所述目标数据库所在的服务器的预设路径下;映射子模块,用于连接到所述目标数据库,并将所述目标数据库可支持的文件映射为所述目标数据库的外部表。
进一步地,所述装置还包括:第二读取单元,用于在读取源数据库的当前数据库表中的数据之前,读取所述目标数据库中的数据库表的外键关系参数,并存储所述外键关系参数;删除单元,用于删除所述目标数据库中的数据库表的外键关系;重建单元,用于在源数据库的数据全部导入到当前数据库表中之后,基于存储的所述外键关系参数重建所述目标数据库的外键关系。
进一步地,所述装置还包括:第三读取单元,用于在读取源数据库的当前数据库表中的数据之前,读取所述源数据库的所有数据库表的表名和所述目标数据库的所有数据库表的表名;匹配单元,用于将所述源数据库的数据库表的表名和所述目标数据库的数据库表的表名进行匹配,以将表名相同的数据库表关联;确定单元,用于依次将匹配后的源数据库中的数据库表作为所述当前数据库表。
根据本申请实施例,通过读取源数据库的当前数据库表中的数据,将当前数据库表中的数据存储到中间文件,将存储到中间文件的数据写入到目标数据库的与当前数据库表的表名相同的数据库表中,解决了数据迁移过程中断时需要重新进行数据迁移的技术问题,达到了在数据迁移过程中断时无需从头重新进行数据迁移的效果。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例的数据迁移方法的流程图;
图2是根据本申请实施例的优选的数据迁移方法的流程图;
图3是根据本申请实施例的数据迁移装置的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
根据本申请实施例,提供了一种数据迁移方法的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是根据本申请实施例的数据迁移方法的流程图,如图1所示,该方法包括如下步骤:
步骤S102,读取源数据库的当前数据库表中的数据。
步骤S104,将当前数据库表中的数据存储到中间文件。
步骤S106,将存储到中间文件的数据写入到目标数据库的与当前数据库表的表名相同的数据库表中。
本实施例中,将源数据库中的数据迁移到目标数据库中,在数据迁移过程中,可以依次将源数据库中的数据库表作为当前数据库表,读取源数据库的当前数据表中的数据,然后将其存储到中间文件,再从中间文件中将数据写入到目标数据库中相同表名的数据库表中。按照上述流程依次将源数据库的数据库表中的数据迁移到目标数据库。由于采用中间文件逐个转存和迁移源数据库中的数据库表的数据,当数据迁移中断时,可以从中断时的数据库表开始重新迁移数据,无需从头对数据进行迁移。
根据本申请实施例,通过读取源数据库的当前数据库表中的数据,将当前数据库表中的数据存储到中间文件,将存储到中间文件的数据写入到目标数据库的与当前数据库表的表名相同的数据库表中,解决了数据迁移过程中断时需要重新进行数据迁移的技术问题,达到了在数据迁移过程中断时无需从头重新进行数据迁移的效果。
可选地,本申请实施例在对数据进行迁移的过程中,可以对已经迁移过的数据库表进行标记,当迁移过程中断时,基于上述标记来确定重新进行迁移的数据库表,对未标记的数据库表的数据继续进行迁移。
需要说明的是,本申请实施例中,源数据库和目标数据库没有进行限定,可以使PostgreSQL、ORACLE或者SQL Server,由于本实施例采用中间文件逐个转存和迁移源数据库中的数据库表的数据,可以适用于不同的数据库,无需对每个不同的数据库开发专用的数据抽取和迁移程序。
优选地,将当前数据库表中的数据存储到中间文件包括:将当前数据库表中的数据存储到目标数据库可支持的文件中;将目标数据库可支持的文件映射为目标数据库的外部表;其中,将存储到中间文件的数据写入到目标数据库的与当前数据库表的表名相同的数据库表中包括:将外部表的数据写入到目标数据库的与当前数据库表的表名相同的数据库表中。
目标数据库可支持的文件可以使目标数据库可读写的文件,例如文本文件,将读取的数据存储到该文件中,再将该文件映射为目标数据库的外部表,最后将该外部表的数据写入到目标数据库中,从而实现对当前数据库表的数据迁移。
本实施例中,目标数据库可支持的文件和外部表作为中间文件,由于目标数据库的外部表可以被目标数据库快速读取,由外部表映射的方式实现数据的迁移,提高了数据迁移的效率。
进一步地,将目标数据库可支持的文件映射为目标数据库的外部表包括:将目标数据库可支持的文件传输到目标数据库所在的服务器的预设路径下;连接到目标数据库,并将目标数据库可支持的文件映射为目标数据库的外部表。
在将当前数据库表中的数据存储到目标数据库可支持的文件中之后,可以将该文件传输到目标数据库所在的服务器指定的预设路径下,其传输方式包括但不限于:文本传输协议(File Transfer Protocol,简称为FTP)传输方式。在上述文件传输到预设路径下之后,连接目标数据库,并将文件映射为目标数据库的外部表。
本实施例中,将目标数据库可支持的文件传输到目标数据库所在的服务器,方便数据迁移到目标数据库中。
优选地,在读取源数据库的当前数据库表中的数据之前,方法还包括:读取目标数据库中的数据库表的外键关系参数,并存储外键关系参数;删除目标数据库中的数据库表的外键关系;其中,在源数据库的数据全部导入到当前数据库表中之后,基于存储的外键关系参数重建目标数据库的外键关系。
由于目标数据库中的数据库表存在外键关系,使得数据在迁移过程中,必须按照严格的顺序来迁移数据,降低数据迁移的效率和速度。另外,在数据库表存在外键关系情况下,数据迁移过程中需要对每一条外键关系做外键校验,这将大大降低数据迁移速度。而本实施例中,在数据迁移之前,先将目标数据库中的外键关系删除,在数据迁移完成之后,再重建目标数据库的外键关系,进而提高数据迁移效率和速度。
具体地,可以先读取目标数据库中所有数据库表的外键关系参数,该参数用于表示目标数据库中所有数据库表的外键关系,存储该外键关系参数,然后删除目标数据库中的所有数据库表的外键关系,再按照上述实施例中的数据迁移方法实现数据迁移。在将源数据库的数据全部迁移到目标数据库之后,基于存储的外键关系参数重建目标数据库的数据库表的外键关系。
优选地,在读取源数据库的当前数据库表中的数据之前,方法还包括:读取源数据库的所有数据库表的表名和目标数据库的所有数据库表的表名;将源数据库的数据库表的表名和目标数据库的数据库表的表名进行匹配,以将表名相同的数据库表关联;依次将匹配后的源数据库中的数据库表作为当前数据库表。
本实施例中,在读取源数据库的数据库表的数据之前,先将源数据库和目标数据库中的数据库表的表名进行匹配,以将相同表名的数据库表关联,以便于在数据迁移过程中,将源数据库中的数据库表的数据迁移到目标数据库中相同表名的数据库表中。
下面结合图2来描述本申请实施例的一个可选实施方式。如图2所示,包括:
步骤S201,输入源数据库地址和目标数据库地址,从源数据库和目标数据库分别读取所有数据库表。
步骤S202,读取目标数据库中所有表的外键关系,并储存为脚本文件A,删除目标表中所有的外键关系。
步骤S203,将源数据库的数据库表的表名和目标数据库的数据库表的表名进行匹配,得到匹配结果集。该匹配结果集中包括数据库表的表名。
步骤S204,判断匹配结果集是否为空,如果是,则执行步骤S205;反之,则执行步骤S206。
步骤S205,读取A中记录的目标数据库的外键关系,重建目标数据库中的所有外键关系,结束流程。
步骤S206,从匹配结果集中取出数据库表的表名。
步骤S207,从源数据库中读取取出的表中的所有数据存储到文本文件中。
步骤S208,将文本文件传输(可以是FTP或者其他方式)到目标数据库所在服务器的预设路径下。
步骤S209,连接目标数据库,将文本文件映射为目标数据库的外部表。
步骤S210,将外部表中的数据写入到目标数据库的与取出的表的表名相同的数据库表中,并将取出的表的表名从匹配结果集中移除,返回步骤S204。
本申请实施例还提供了一种数据迁移装置,该装置可以用于执行本申请实施例的数据迁移方法,如图3所示,该装置包括:第一读取单元10、存储单元20和写入单元30。
第一读取单元10用于读取源数据库的当前数据库表中的数据。
存储单元20用于将当前数据库表中的数据存储到中间文件。
写入单元30用于将存储到中间文件的数据写入到目标数据库的与当前数据库表的表名相同的数据库表中。
本实施例中,将源数据库中的数据迁移到目标数据库中,在数据迁移过程中,可以依次将源数据库中的数据库表作为当前数据库表,读取源数据库的当前数据表中的数据,然后将其存储到中间文件,再从中间文件中将数据写入到目标数据库中相同表名的数据库表中。按照上述流程依次将源数据库的数据库表中的数据迁移到目标数据库。由于采用中间文件逐个转存和迁移源数据库中的数据库表的数据,当数据迁移中断时,可以从中断时的数据库表开始重新迁移数据,无需从头对数据进行迁移。
根据本申请实施例,通过第一读取单元读取源数据库的当前数据库表中的数据,存储单元将当前数据库表中的数据存储到中间文件,写入单元将存储到中间文件的数据写入到目标数据库的与当前数据库表的表名相同的数据库表中,解决了数据迁移过程中断时需要重新进行数据迁移的技术问题,达到了在数据迁移过程中断时无需从头重新进行数据迁移的效果。
可选地,本申请实施例在对数据进行迁移的过程中,可以对已经迁移过的数据库表进行标记,当迁移过程中断时,基于上述标记来确定重新进行迁移的数据库表,对未标记的数据库表的数据继续进行迁移。
需要说明的是,本申请实施例中,源数据库和目标数据库没有进行限定,可以使PostgreSQL、ORACLE或者SQL Server,由于本实施例采用中间文件逐个转存和迁移源数据库中的数据库表的数据,可以适用于不同的数据库,无需对每个不同的数据库开发专用的数据抽取和迁移程序。
优选地,存储单元包括:存储模块,用于将当前数据库表中的数据存储到目标数据库可支持的文件中;映射模块,用于将目标数据库可支持的文件映射为目标数据库的外部表;其中,写入单元具体用于将外部表的数据写入到目标数据库的与当前数据库表的表名相同的数据库表中。
目标数据库可支持的文件可以使目标数据库可读写的文件,例如文本文件,将读取的数据存储到该文件中,再将该文件映射为目标数据库的外部表,最后将该外部表的数据写入到目标数据库中,从而实现对当前数据库表的数据迁移。
本实施例中,目标数据库可支持的文件和外部表作为中间文件,由于目标数据库的外部表可以被目标数据库快速读取,由外部表映射的方式实现数据的迁移,提高了数据迁移的效率。
进一步地,映射模块包括:传输子模块,用于将目标数据库可支持的文件传输到目标数据库所在的服务器的预设路径下;映射子模块,用于连接到目标数据库,并将目标数据库可支持的文件映射为目标数据库的外部表。
在将当前数据库表中的数据存储到目标数据库可支持的文件中之后,可以将该文件传输到目标数据库所在的服务器指定的预设路径下,其传输方式包括但不限于:文本传输协议(File Transfer Protocol,简称为FTP)传输方式。在上述文件传输到预设路径下之后,连接目标数据库,并将文件映射为目标数据库的外部表。
本实施例中,将目标数据库可支持的文件传输到目标数据库所在的服务器,方便数据迁移到目标数据库中。
优选地,装置还包括:第二读取单元,用于在读取源数据库的当前数据库表中的数据之前,读取目标数据库中的数据库表的外键关系参数,并存储外键关系参数;删除单元,用于删除目标数据库中的数据库表的外键关系;重建单元,用于在源数据库的数据全部导入到当前数据库表中之后,基于存储的外键关系参数重建目标数据库的外键关系。
由于目标数据库中的数据库表存在外键关系,使得数据在迁移过程中,必须按照严格的顺序来迁移数据,降低数据迁移的效率和速度。另外,在数据库表存在外键关系情况下,数据迁移过程中需要对每一条外键关系做外键校验,这将大大降低数据迁移速度。而本实施例中,在数据迁移之前,先将目标数据库中的外键关系删除,在数据迁移完成之后,再重建目标数据库的外键关系,进而提高数据迁移效率和速度。
具体地,可以先读取目标数据库中所有数据库表的外键关系参数,该参数用于表示目标数据库中所有数据库表的外键关系,存储该外键关系参数,然后删除目标数据库中的所有数据库表的外键关系,再对数据迁移。在将源数据库的数据全部迁移到目标数据库之后,基于存储的外键关系参数重建目标数据库的数据库表的外键关系。
优选地,装置还包括:第三读取单元,用于在读取源数据库的当前数据库表中的数据之前,读取源数据库的所有数据库表的表名和目标数据库的所有数据库表的表名;匹配单元,用于将源数据库的数据库表的表名和目标数据库的数据库表的表名进行匹配,以将表名相同的数据库表关联;确定单元,用于依次将匹配后的源数据库中的数据库表作为当前数据库表。
本实施例中,在读取源数据库的数据库表的数据之前,先将源数据库和目标数据库中的数据库表的表名进行匹配,以将相同表名的数据库表关联,以便于在数据迁移过程中,将源数据库中的数据库表的数据迁移到目标数据库中相同表名的数据库表中。
本申请实施例的所述数据迁移装置包括处理器和存储器,上述第一读取单元、存储单元、写入单元等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来实现数据迁移。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序代码:读取源数据库的当前数据库表中的数据;将当前数据库表中的数据存储到中间文件;以及将存储到中间文件的数据写入到目标数据库的与当前数据库表的表名相同的数据库表中。
根据本申请上述实施例的描述可以看出,本申请实施例可以达到如下效果:
1、使用简单方便,前期完成表结构的迁移之后,只需提供源数据库和目标数据库的地址即可自动完成数据迁移;
2、抽取过程若意外中断,处理很方便,最多只需清理最后一个迁移的表中的数据,再从该表开始继续迁移即可;
3、速度快,通过将文件映射为外部表,再从外部表中读取数据到目标表,可以达到非常高的写入性能。
4、通用性强,无需重复开发。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (10)
1.一种数据迁移方法,其特征在于,包括:
读取源数据库的当前数据库表中的数据;
将所述当前数据库表中的数据存储到中间文件;以及
将存储到所述中间文件的数据写入到目标数据库的与所述当前数据库表的表名相同的数据库表中。
2.根据权利要求1所述的方法,其特征在于,
将所述当前数据库表中的数据存储到中间文件包括:将所述当前数据库表中的数据存储到所述目标数据库可支持的文件中;将所述目标数据库可支持的文件映射为所述目标数据库的外部表;
其中,将存储到所述中间文件的数据写入到目标数据库的与所述当前数据库表的表名相同的数据库表中包括:将所述外部表的数据写入到所述目标数据库的与所述当前数据库表的表名相同的数据库表中。
3.根据权利要求2所述的方法,其特征在于,将所述目标数据库可支持的文件映射为所述目标数据库的外部表包括:
将所述目标数据库可支持的文件传输到所述目标数据库所在的服务器的预设路径下;
连接到所述目标数据库,并将所述目标数据库可支持的文件映射为所述目标数据库的外部表。
4.根据权利要求1所述的方法,其特征在于,在读取源数据库的当前数据库表中的数据之前,所述方法还包括:
读取所述目标数据库中的数据库表的外键关系参数,并存储所述外键关系参数;
删除所述目标数据库中的数据库表的外键关系;
其中,在源数据库的数据全部导入到当前数据库表中之后,基于存储的所述外键关系参数重建所述目标数据库的外键关系。
5.根据权利要求1所述的方法,其特征在于,在读取源数据库的当前数据库表中的数据之前,所述方法还包括:
读取所述源数据库的所有数据库表的表名和所述目标数据库的所有数据库表的表名;
将所述源数据库的数据库表的表名和所述目标数据库的数据库表的表名进行匹配,以将表名相同的数据库表关联;
依次将匹配后的源数据库中的数据库表作为所述当前数据库表。
6.一种数据迁移装置,其特征在于,包括:
第一读取单元,用于读取源数据库的当前数据库表中的数据;
存储单元,用于将所述当前数据库表中的数据存储到中间文件;以及
写入单元,用于将存储到所述中间文件的数据写入到目标数据库的与所述当前数据库表的表名相同的数据库表中。
7.根据权利要求6所述的装置,其特征在于,
所述存储单元包括:存储模块,用于将所述当前数据库表中的数据存储到所述目标数据库可支持的文件中;映射模块,用于将所述目标数据库可支持的文件映射为所述目标数据库的外部表;
其中,所述写入单元具体用于将所述外部表的数据写入到所述目标数据库的与所述当前数据库表的表名相同的数据库表中。
8.根据权利要求7所述的装置,其特征在于,所述映射模块包括:
传输子模块,用于将所述目标数据库可支持的文件传输到所述目标数据库所在的服务器的预设路径下;
映射子模块,用于连接到所述目标数据库,并将所述目标数据库可支持的文件映射为所述目标数据库的外部表。
9.根据权利要求6所述的装置,其特征在于,所述装置还包括:
第二读取单元,用于在读取源数据库的当前数据库表中的数据之前,读取所述目标数据库中的数据库表的外键关系参数,并存储所述外键关系参数;
删除单元,用于删除所述目标数据库中的数据库表的外键关系;
重建单元,用于在源数据库的数据全部导入到当前数据库表中之后,基于存储的所述外键关系参数重建所述目标数据库的外键关系。
10.根据权利要求6所述的装置,其特征在于,所述装置还包括:
第三读取单元,用于在读取源数据库的当前数据库表中的数据之前,读取所述源数据库的所有数据库表的表名和所述目标数据库的所有数据库表的表名;
匹配单元,用于将所述源数据库的数据库表的表名和所述目标数据库的数据库表的表名进行匹配,以将表名相同的数据库表关联;
确定单元,用于依次将匹配后的源数据库中的数据库表作为所述当前数据库表。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510672112.6A CN106598977A (zh) | 2015-10-15 | 2015-10-15 | 数据迁移方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510672112.6A CN106598977A (zh) | 2015-10-15 | 2015-10-15 | 数据迁移方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106598977A true CN106598977A (zh) | 2017-04-26 |
Family
ID=58553700
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510672112.6A Pending CN106598977A (zh) | 2015-10-15 | 2015-10-15 | 数据迁移方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106598977A (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109753493A (zh) * | 2019-01-04 | 2019-05-14 | 中国银行股份有限公司 | 数据库间进行数据迁移的方法、装置以及设备 |
CN109783498A (zh) * | 2019-01-17 | 2019-05-21 | 北京三快在线科技有限公司 | 数据处理方法及装置、电子设备、存储介质 |
CN110019034A (zh) * | 2017-09-29 | 2019-07-16 | 北京国双科技有限公司 | 表单文件加载方法和装置 |
CN110019507A (zh) * | 2017-09-21 | 2019-07-16 | 北京国双科技有限公司 | 数据同步的方法及装置 |
CN110309152A (zh) * | 2019-06-26 | 2019-10-08 | 广州探迹科技有限公司 | 一种基于HBase的数据存储方法及装置 |
WO2020000725A1 (zh) * | 2018-06-29 | 2020-01-02 | 平安科技(深圳)有限公司 | 电子装置、数据迁移的方法及存储介质 |
CN110851421A (zh) * | 2019-11-06 | 2020-02-28 | 珠海格力电器股份有限公司 | 减少数据迁移耗时的方法、装置、存储介质及电子设备 |
CN113535843A (zh) * | 2021-09-15 | 2021-10-22 | 北京交研智慧科技有限公司 | 数据查询方法、装置、电子设备及可读存储介质 |
CN114138714A (zh) * | 2022-02-08 | 2022-03-04 | 上海金仕达软件科技有限公司 | 数据迁移的方法、装置、存储介质及电子设备 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1787665A (zh) * | 2004-12-08 | 2006-06-14 | 华为技术有限公司 | 一种防止移动终端中个人数据丢失的方法及装置 |
CN101364186A (zh) * | 2008-09-27 | 2009-02-11 | 腾讯科技(深圳)有限公司 | 数据迁移方法、系统、数据迁移服务器及数据接口服务器 |
CN101944128A (zh) * | 2010-09-25 | 2011-01-12 | 中兴通讯股份有限公司 | 数据导出、导入的方法和装置 |
CN102902818A (zh) * | 2012-10-26 | 2013-01-30 | 杭州迪普科技有限公司 | 一种数据库升级的方法及装置 |
CN103218402A (zh) * | 2013-03-19 | 2013-07-24 | 上海宝信软件股份有限公司 | 通用的数据库数据结构与数据迁移系统及其方法 |
CN103327123A (zh) * | 2013-07-12 | 2013-09-25 | 北京金山云网络技术有限公司 | 一种文件同步的方法、客户端、服务器端及设备 |
CN103699580A (zh) * | 2013-12-03 | 2014-04-02 | 中铁程科技有限责任公司 | 数据库同步方法及装置 |
-
2015
- 2015-10-15 CN CN201510672112.6A patent/CN106598977A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1787665A (zh) * | 2004-12-08 | 2006-06-14 | 华为技术有限公司 | 一种防止移动终端中个人数据丢失的方法及装置 |
CN101364186A (zh) * | 2008-09-27 | 2009-02-11 | 腾讯科技(深圳)有限公司 | 数据迁移方法、系统、数据迁移服务器及数据接口服务器 |
CN101944128A (zh) * | 2010-09-25 | 2011-01-12 | 中兴通讯股份有限公司 | 数据导出、导入的方法和装置 |
CN102902818A (zh) * | 2012-10-26 | 2013-01-30 | 杭州迪普科技有限公司 | 一种数据库升级的方法及装置 |
CN103218402A (zh) * | 2013-03-19 | 2013-07-24 | 上海宝信软件股份有限公司 | 通用的数据库数据结构与数据迁移系统及其方法 |
CN103327123A (zh) * | 2013-07-12 | 2013-09-25 | 北京金山云网络技术有限公司 | 一种文件同步的方法、客户端、服务器端及设备 |
CN103699580A (zh) * | 2013-12-03 | 2014-04-02 | 中铁程科技有限责任公司 | 数据库同步方法及装置 |
Non-Patent Citations (2)
Title |
---|
SONGGUOZHI: "sql server删除数据库中所有的外键关系", 《HTTPS://BLOG.CSDN.NET/SONGGUOZHI/ARTICLE/DETAILS/5878648》 * |
李洪奇: "TDM系统中数据导入功能的设计和实现", 《软件工程师》 * |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110019507A (zh) * | 2017-09-21 | 2019-07-16 | 北京国双科技有限公司 | 数据同步的方法及装置 |
CN110019507B (zh) * | 2017-09-21 | 2021-06-08 | 北京国双科技有限公司 | 数据同步的方法及装置 |
CN110019034A (zh) * | 2017-09-29 | 2019-07-16 | 北京国双科技有限公司 | 表单文件加载方法和装置 |
WO2020000725A1 (zh) * | 2018-06-29 | 2020-01-02 | 平安科技(深圳)有限公司 | 电子装置、数据迁移的方法及存储介质 |
CN109753493A (zh) * | 2019-01-04 | 2019-05-14 | 中国银行股份有限公司 | 数据库间进行数据迁移的方法、装置以及设备 |
CN109783498A (zh) * | 2019-01-17 | 2019-05-21 | 北京三快在线科技有限公司 | 数据处理方法及装置、电子设备、存储介质 |
CN110309152A (zh) * | 2019-06-26 | 2019-10-08 | 广州探迹科技有限公司 | 一种基于HBase的数据存储方法及装置 |
CN110851421A (zh) * | 2019-11-06 | 2020-02-28 | 珠海格力电器股份有限公司 | 减少数据迁移耗时的方法、装置、存储介质及电子设备 |
CN110851421B (zh) * | 2019-11-06 | 2022-04-08 | 珠海格力电器股份有限公司 | 减少数据迁移耗时的方法、装置、存储介质及电子设备 |
CN113535843A (zh) * | 2021-09-15 | 2021-10-22 | 北京交研智慧科技有限公司 | 数据查询方法、装置、电子设备及可读存储介质 |
CN114138714A (zh) * | 2022-02-08 | 2022-03-04 | 上海金仕达软件科技有限公司 | 数据迁移的方法、装置、存储介质及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106598977A (zh) | 数据迁移方法和装置 | |
CN110933953B (zh) | 通过使用相关子区块链来扩展区块链效用的系统和方法 | |
CN102129458B (zh) | 关系型数据库的存储方法及装置 | |
CN104809237A (zh) | LSM-tree索引的优化方法和装置 | |
CN104866576B (zh) | 一种Data Vault模型数据仓库自动构建的方法及装置 | |
CN103473298B (zh) | 数据归档方法和装置以及存储系统 | |
CN102542071A (zh) | 一种分布式处理数据的系统及方法 | |
CN110109910A (zh) | 数据处理方法及系统、电子设备和计算机可读存储介质 | |
CN105630955A (zh) | 一种高效动态的数据集合成员管理方法 | |
CN106776375A (zh) | 一种磁盘内部的数据缓存方法及装置 | |
CN104750620B (zh) | 一种内存迁移方法及装置 | |
CN103186617B (zh) | 一种存储数据的方法和装置 | |
CN101763415B (zh) | 一种数据库的b树索引的生成方法及装置 | |
US11074133B2 (en) | Method, electronic device and computer readable medium of file management | |
US11853279B2 (en) | Data storage using vectors of vectors | |
CN106933935A (zh) | 任务存储方法和装置 | |
CN105740462A (zh) | 一种支持不同环境之间的数据迁移方法 | |
CN107665255A (zh) | 键值数据库数据变更的方法、装置、设备及存储介质 | |
CN106777170A (zh) | 增强服务器访问速度的医疗信息化文件处理系统及方法 | |
CN107391040A (zh) | 一种存储阵列磁盘io调度的方法及装置 | |
CN104298570B (zh) | 数据处理方法和装置 | |
CN106682021A (zh) | 数据库迁移方法及装置 | |
CN107861965A (zh) | 数据智能识别方法及系统 | |
CN107609011A (zh) | 一种数据库记录的维护方法和装置 | |
CN110457398A (zh) | 区块数据存储方法及装置 |
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 | ||
CB02 | Change of applicant information |
Address after: 100083 No. 401, 4th Floor, Haitai Building, 229 North Fourth Ring Road, Haidian District, Beijing Applicant after: Beijing Guoshuang Technology Co.,Ltd. Address before: 100086 Cuigong Hotel, 76 Zhichun Road, Shuangyushu District, Haidian District, Beijing Applicant before: Beijing Guoshuang Technology Co.,Ltd. |
|
CB02 | Change of applicant information | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170426 |
|
RJ01 | Rejection of invention patent application after publication |