CN105373599A - 基于多种数据存储平台的数据迁移系统 - Google Patents

基于多种数据存储平台的数据迁移系统 Download PDF

Info

Publication number
CN105373599A
CN105373599A CN201510713434.0A CN201510713434A CN105373599A CN 105373599 A CN105373599 A CN 105373599A CN 201510713434 A CN201510713434 A CN 201510713434A CN 105373599 A CN105373599 A CN 105373599A
Authority
CN
China
Prior art keywords
data
source database
destination data
field
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.)
Granted
Application number
CN201510713434.0A
Other languages
English (en)
Other versions
CN105373599B (zh
Inventor
许丹霞
刘寅
汪伟
郑宇�
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Xiaodu Information Technology Co Ltd
Original Assignee
Beijing Huishang Rongtong Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Huishang Rongtong Information Technology Co Ltd filed Critical Beijing Huishang Rongtong Information Technology Co Ltd
Priority to CN201510713434.0A priority Critical patent/CN105373599B/zh
Priority to PCT/CN2016/072669 priority patent/WO2017071135A1/zh
Publication of CN105373599A publication Critical patent/CN105373599A/zh
Application granted granted Critical
Publication of CN105373599B publication Critical patent/CN105373599B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/215Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (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)
  • Computing Systems (AREA)
  • Quality & Reliability (AREA)

Abstract

一种数据迁移方法,包括以下步骤:连接源数据库和目的数据库;从源数据库读出待迁移的数据;将该读出的数据转换为中间数据类型的数据;将转换后的中间数据类型的数据转换为目的数据库的数据类型的数据;将所述转换为目的数据库的数据类型的数据写入目的数据库。该方法能够解决源数据库和目的数据库数据表结构不同情况下的数据迁移问题,同时支持跨数据平台的数据迁移。

Description

基于多种数据存储平台的数据迁移系统
技术领域
本发明涉及数据迁移技术,特别是涉及一种多种数据存储平台的异构数据迁移技术。
背景技术
在项目开发过程中经常会遇到老系统的历史数据向新系统迁移的问题,很多历史数据对新系统来说非常重要,有些甚至是系统启用时所必须的。可以说一次成功的历史数据迁移是新系统成功上线运行的基础。数据迁移的质量不光决定了新系统上线的成功与否,也对新系统上线后的稳定运行有着巨大的影响。
数据库系统一般有很多子工具,数据迁移工具就是其中一种。许多数据库厂商都提供数据迁移工具,如Informi的InfoMover、MicrosoftSQLServer的DTS和Oracle的OracleWarehouseBuilder等;在第三方产品中,AscentialSoftware公司的DataStage和AdventNet公司的SwisSQL提供了一个完善的数据迁工具,能在目前普遍使用的数据库(Oracle、IBMDB2、SQLServer、Sybase和MySQL)之间实现数据库结构和数据的迁移。其过程具有开放性和扩展性,并便于用户操作,确保了数据的完整性和可靠性。目前流行的迁移工具主要提供如下功能:数据在数据库之间进行快速迁移,并确保数据的完整性。支持与Oracle、IBMDB2、SQLServer、Sybase和MySQL等主要数据库之间的结构和数据迁移。支持表格、索引、约束以及数据的迁移。支持存储程序、函数和触发器的迁移。识别主、子表格之间的依赖性,还可以通过主关键字和外键排序表格。支持ODBC和JDBC连接。通过配置选择迁移表格、索引、视图和数据,可随时中断或继续迁移。
目前存在的数据迁移工具大致上都是通过JDBC和ODBC这两种接口来实现的。这些类型的数据迁移工具的迁移过程如图1所示。
发明内容
以上提到的第三方工具在源数据库和目的数据库数据表结构相同的情况下使用是非常方便的,但对于源数据库和目的数据库数据表结构不同的情况下,用户使用起来是非常麻烦的,甚至还要编写相应的脚本才能实现数据库的迁移工作。
例如Informix的InfoMover、MicrosoftSQLServer的DTS和0raele的OracleWarehouseBuilder等。这些工具在一定范围内解决了数据的提取和转换。但这些工具基本都不能自动完成数据的抽取,用户还需利用这些工具编写适当的转换程序。
例如Oracle的OracleWarehouseBuilder(OWB)数据抽取工具提供的功能包括:模型构造和设计,数据提取、移动和装载,元数据管理等。但OWB提供的流程繁琐,维护很困难,不易于使用。
本发明的技术方案能够解决源数据库和目的数据库数据表结构不同情况下的数据迁移问题,同时支持跨数据平台的数据迁移。其中包括:
1、解决跨数据平台之间数据转换问题。各数据平台的数据类型存在着一些差异,本发明通过建立各数据平台基础类型对应表,实现它们之间的数据转换。
2、对于源数据库与目的数据库数据表结构不同的迁移,解决新旧数据表结构之间的字段映射问题。
3、实现按映射关系进行数据迁移的功能。通过JDBC接口连接源数据库和目的数据库,以映射关系为依据,通过动态生成SQL语句并分批自动执行,实现数据的迁移。
为实现本发明之目的,采用以下技术方案予以实现:
一种数据迁移方法,包括以下步骤:
第1步:连接源数据库和目的数据库;
第2步:从源数据库读出待迁移的数据;
第3步:将该读出的数据转换为中间数据类型的数据;
第4步:将转换为中间数据类型的数据转换为目的数据库数据类型的数据;
第5步:将所述转换为目的数据库数据类型的数据写入目的数据库。
所述的数据迁移方法,优选的:在第2步从源数据库读出待迁移的数据之前,先要判断源数据库的表结构与目的数据库表结构是否相同。
所述的数据迁移方法,优选的:当源数据库的表结构与目的数据库表结构相同时,提供选择界面,列出源数据库的表结构,供操作者选择将源数据库中的哪些表和字段迁移到目的数据库。
所述的数据迁移方法,优选的:当源数据库的表结构与目的数据库表结构不同时,提供选择界面,列出源数据库的表结构和目的数据库的表结构,供操作者选择将源数据库中的哪些表与目的数据库中的哪些表对应以及将源数据库中的哪些字段与目的数据库中的哪些字段对应,从而实现供操作者选择将源数据库中的哪些表和字段迁移到目的数据库。
所述的数据迁移方法,优选的通过JDBC接口连接源数据库和目的数据库。
优选的,所述数据迁移方法,在进行了源数据库字段与目的数据库字段的映射选择后,根据需要,对该源数据库字段进行数学计算,并将计算式与目的数据库相应字段进行映射。
优选的,在目的数据库中一个表内的所有字段与源数据库中表的字段的映射选择完毕后,根据预定规则对该目的数据库的表中的字段进行排序。
优选的,在选择了目的数据库中表中的一个字段后,在选择与之对应的源数据库中表中的字段时,对该目的数据库字段和该源数据库字段的数据类型进行比较,如果二者不一致,则在字段映射选择界面上显示类型不一致的提示或禁止该源数据库字段的选择,该禁止该源数据库字段的选择是将该目的数据库中的字段作反白处理。
优选的,在选择了目的数据库中表中的一个字段后,在选择与之对应的源数据库中表中的字段时,对该目的数据库字段和该源数据库字段的数据类型进行比较,如果二者不一致,则在字段映射选择界面上显示类型不一致的提示,并向操作者提供是否继续该操作的提示,当操作者选择继续,则将该源数据库字段与目的数据库字段进行映射,如操作者选择中止,则放弃该映射选择。
一种数据迁移系统,包括:连接模块、读取模块、转换模块和写入模块,其中:
连接模块,用于连接源数据库和目的数据库;
读取模块,用于从源数据库读出待迁移的数据;
转换模块,用于将该读出的数据转换为中间数据类型的数据,并将转换为中间数据类型的数据转换为目的数据库的数据类型的数据;
写入模块,用于将所述转换为目的数据库的数据类型的数据写入目的数据库。
所述的数据迁移系统,其中:还包括判断模块,用于在读取模块从源数据库读出待迁移的数据之前,判断源数据库的表结构与目的数据库表结构是否相同。
所述的数据迁移系统,还包括选择模块,用于当源数据库的表结构与目的数据库表结构相同时,提供选择界面,列出源数据库的表结构,供操作者选择将源数据库中的哪些表和字段迁移到目的数据库。
所述的数据迁移系统,还包括选择模块,用于当源数据库的表结构与目的数据库表结构不同时,提供选择界面,列出源数据库的表结构和目的数据库的表结构,供操作者选择源数据库中的哪些表与目的数据库中的哪些表对应以及源数据库中的哪些字段与目的数据库中的哪些字段对应,从而实现供操作者选择将源数据库中的哪些表和字段迁移到目的数据库。
所述的数据迁移系统,其中通过JDBC接口连接源数据库和目的数据库。
优选的,所述数据迁移系统还包括排序模块,在目的数据库中一个表内的所有字段与源数据库中表的字段的映射选择完毕后,用户可通过该排序模块根据预定规则对该目的数据库的表中的字段进行排序,以满足相应的需要。
优选的,所述数据迁移系统还包括计算模块,该计算模块,在进行了源数据库字段与目的数据库字段的映射选择后,对该源数据库字段进行数学计算。
优选的,在选择了目的数据库中表中的一个字段后,在选择与之对应的源数据库中表中的字段时,所述判断模块,对该目的数据库字段和该源数据库字段的数据类型进行比较,如果二者不一致,则在字段映射选择界面上显示类型不一致的提示或禁止该源数据库字段的选择,该禁止该源数据库字段的选择是将该目的数据库中的字段作反白处理。
优选的,在选择了目的数据库中表中的一个字段后,在选择与之对应的源数据库中表中的字段时,所述判断模块,对该目的数据库字段和该源数据库字段的数据类型进行比较,如果二者不一致,则在字段映射选择界面上显示类型不一致的提示,并向操作者提供是否继续该操作的提示,当操作者选择继续,则系统将该源数据库字段与目的数据库字段进行映射,如操作者选择中止,则系统放弃该映射选择。
附图说明
图1为数据迁移的一般过程示意图;
图2为数据库迁移的流程示意图;
图3为数据库中数据迁移的流程示意图;
图4为数据迁移系统框图;
图5为表选择界面示意图之一;
图6为另一表映射选择界面示意图;
图7为字段映射选择界面示意图。
具体实施方式
下面结合附图详细说明本发明的优选实施例。
一、流程设计
首先要能够与源数据库和目的数据库连接上;然后根据工具自动对数据类型进行映射或者手动进行设置。对于源数据库与目的数据库数据表结构不同的情况,还要设置表和字段之间的映射关系。
总的来说,一个完整的迁移任务,从被创建开始到执行完成的主要步骤如下:
1.选择源数据库和目的数据库进行连接。
2.选择需要迁移的数据库对象。
3.确定数据类型的转换。可以通过系统自带的类型映射表对源数据库和目的数据库的类型进行映射,并且能清楚的显示每个字段的对应情况,包括类型和具体精度的映射。
4.若源数据库与目的数据库数据表结构不同,这时目的数据库的表结构是已经设计好的,需要设置各表和字段的映射关系。
5.进行迁移任务。
如图2所示,数据库迁移流程主要包括以下步骤:
第1步:添加驱动程序,如添加JAVA与各个数据库连接的接口程序,例如加载JDBC驱动程序,实现JAVA与数据库之间的通信;
第2步:利用JDBC接口连接源数据库和目的数据库;
第3步:判断源数据库和目的数据库中的数据表结构是否相同,如果不同,执行第4步,如果相同则执行第7步;
第4步:建立目的数据库中数据表与表中字段的映射表;
第5步:根据映射表从源数据库向目的数据库迁移数据;
第6步:迁移完成。
第7步:进行数据类型匹配;
第8步:从源数据库向目的数据库迁移表和数据;转到第6步。
二、数据类型转换
数据类型的转换是数据迁移中最重要的一个问题,也是最关键的问题。可以分为两个步骤来实现:首先是要给出从源数据库到目的数据库的数据类型的对应关系,也就是确定源数据库中的某种数据类型在目的数据库中相对应的数据类型;第二步则是在后台进行的数据类型的转换,也就是源数据的数据类型转换为对应的JAVA类型,再从JAVA类型转换为目的数据库所需要的数据类型的过程。
不同的数据库之间的数据类型不可能全部都是一一对应的,肯定存在一对多或者多对一的情况,所以需要在源和目的数据库数据类型之间通过JDBC的数据类型来桥接。数据库与JDBC类型的映射的目的就是为了使数据库的数据类型能在JDBC类型中找到最为匹配的数据类型,来满足新系统的需求。
为此,需要在源、目的数据库类型匹配和表、字段映射之前,建立一个数据类型对应表,如下表1所示,作为数据类型转换的基本信息表,表1示意性地列出了JAVA类型与数据库类型的对应关系。
表1JAVA类型与数据库类型的对应关系表
三、源数据库与目的数据库的表和字段映射
1、对于源数据库与目的数据库的数据表结构相同的情况,这一步可以省略,也即无需建立源数据库与目的数据库的表和字段映射表,系统会自动在目的数据库建立和源数据库相同的表,并将数据迁移。当源数据库的表结构与目的数据库表结构相同时,提供选择界面,列出源数据库的表结构,供操作者选择将源数据库中的哪些表迁移到目的数据库。以下图5示意性地示出了源数据库与目的数据库迁移到目的数据库。以下如图5所示图5为在源、目的数据库的数据表结构相同的情况下,表选择界面的示意图。
如图5所示,当源数据库与目的数据库的数据表结构相同时,提供图5所示界面,供使用者选择目的数据库中需要的源数据库中的表,只需要选择源数据库中的相应表,则可实现上述选择,此时形成了选择表。通过该选择,能够得到目的数据库所需要的源数据库中的表,在数据迁移时,根据该选择表从源数据库中读取所需的表及表中的数据,在进行数据类型转换后写入目的数据库。
2、对于源数据库与目的数据库的数据表结构不同的情况,需要先抽取源数据库和目的数据库的表和表结构。抽取完相关信息后,在两者表和字段之间建立映射关系。当源数据库的表结构与目的数据库表结构不同时,提供选择界面,列出源数据库的表结构和目的数据库的表结构,供操作者选择源数据库中的哪些表与目的数据库中的表对应以及源数据库中的哪些字段与目的数据库中的哪些字段对应。建立映射关系的方法是以目的数据库表和字段为基准,从源数据库中找到相应的表和字段与之对应,如果某个字段不需从源数据库中迁移数据,则可以设置默认值或空值,还可以根据源数据库表字段设置公式等。对于目的数据库的字段,有时需要对与之对应的源数据库的字段进行公式计算,可以在选择了源数据库字段后,对该字段进行数值计算,如加减乘除等。例如源数据库中有“有效天数”字段,而在数据迁移后希望该“有效天数”增加一倍,此时在进行了源数据库字段与目的数据库字段的映射选择后,可对该源数据库字段增加*2的计算,以使得迁移后的“有效天数”加倍。
以下如图6所示图6示意性地列出了进行表映射选择界面的图示,在选择目的数据库中的某一表如表1后,选择与之对应的源数据库中的表,选择的源数据库中的表既可以是一个表,也可以是多个表,在完成对目的数据库的一个表与源数据库中的表的映射的选择后,再选择目的数据库中的其他表与源数据库中的表的映射关系,直到目的数据库中的表全部选择完毕。此时形成源、目的数据库之间的表映射关系表。
以下如图7所示图7示意性的列出了进行字段映射选择界面的图示,如图4所示,选择目的数据库中需要进行字段映射的表如表1,则界面中会显示前述步骤中已经选择的与之相关的源数据库中的表的字段情况,选择目的数据库中表1中的字段如字段1,再选择与之对应的源数据库中的表中的字段,如表1中的字段2、表2中的字段3等;目的数据库中表1中的字段1的映射选择完毕后,选择其他字段,重复上述选择过程,直到表1中全部字段映射关系选择完毕后,选择目的数据库中的其他表,再次进行如上的字段映射关系选择,直至全部表-字段映射选择完毕,此时形成源、目的数据库之间的表-字段映射关系表。
进一步的,在目的数据库中一个表内的所有字段与源数据库中表的字段的映射选择完毕后,可以根据预定规则对该目的数据库的表中的字段进行排序,以满足相应的需要。一般而言,目的数据库中字段的类型和与之对应的源数据库中的字段的类型应当相同,因此,为避免字段选择错误,在选择了目的数据库中表中的一个字段后,在选择与之对应的源数据库中表中的字段时,对该目的数据库字段和该源数据库字段的数据类型进行比较,如果二者不一致,则在字段映射选择界面上显示类型不一致的提示或禁止该源数据库字段的选择。如:选择的目的数据库中的字段数据类型是日期,而选择的源数据库中的对应的字段的数据类型是姓名,则二者明显不一致,因此在字段映射选择界面上显示类型不一致的提示或禁止该源数据库字段的选择,还可将该目的数据库中的字段作反白处理,以禁止该选择,避免数据迁移错误。而在有些情况下,目的数据库中字段的类型和与之对应的源数据库中的字段的类型也可以不同,在选择了目的数据库中表中的一个字段后,在选择与之对应的源数据库中表中的字段时,对该目的数据库字段和该源数据库字段的数据类型进行比较,如果二者不一致,则在字段映射选择界面上显示类型不一致的提示,并向操作者提供是否继续该操作的提示,当操作者选择继续,则将该源数据库字段与目的数据库字段进行映射,如操作者选择中止,则放弃该映射。
在数据迁移时,根据以上源、目的数据库之间的表-字段映射关系表,从源数据库中读取相关的表以及字段的数据,在进行数据类型转换后根据源、目的数据库之间的表-字段映射关系表,将该数据写入目的数据库。
四、数据迁移
数据迁移通过如下方式完成:先将源数据库中待迁移信息转换为JDBC类型的信息,然后将JDBC类型的信息转换为目的数据库的相关信息,最后按照目的数据库的SQL语法组合出相关的SQL语句,依靠SQL语句的成功执行来完成数据迁移。
数据迁移的流程如图3所示,包括如下步骤:
从源数据库读取一条记录;
将记录中的各列转换为JAVA类型的数据;
将转换后的数据写入内存,可根据数据量、内存大小以及数据读取、写入速度等设定内存中存储的数据大小,当写数据达到该预定写入数量时,提交写入的数据。例如,如果待写入的数据量很大,则要分次写入目的数据库,此时可设定内存中写入的预定量数据量,如1000条数据,当内存中写入1000条后将该数据提交,以写入目的数据;
判断写入内存是否成功,如否,回到读取记录的步骤;如是,则判断是否所有记录均已读取完毕,如否,从源数据库读取下一条记录;如是,则提交写入记录后的数据,将提交的数据写入目的数据库。
数据迁移有两种情况:
1、源数据库和目的数据库数据表结构相同
先将源数据库中的表和表结构抽取出来,并根据数据类型对应表转换成适于目的数据库建表的Sql语句,在目的数据库中建立表。然后再根据各个表结构生成select查询语句,获取需要迁移的数据,通过JDBC程序生成目的数据库的insert语句,完成数据的迁移。
2、源数据库和目的数据库数据表结构不同
此种情况,系统不需要建表步骤,直接通过源数据库与目的数据库的表和字段映射关系,从源数据库中抽取相关数据,生成目的数据库的insert语句,完成数据的迁移。
以上本发明的数据库迁移方法可由本发明的数据迁移系统完成。结合图4,对本发明数据迁移系统进行说明。本发明数据迁移系统包括:包括:连接模块、判断模块、选择模块、读取模块、转换模块、写入模块,存储模块(图中未示出),其中:连接模块,用于连接源数据库和目的数据库;读取模块,用于从源数据库读出待迁移的数据;转换模块,用于将该读出的数据转换为中间数据类型的数据,并将转换为中间数据类型的数据转换为目的数据库的数据类型的数据;写入模块,用于将所述转换为目的数据库的数据类型的数据写入目的数据库。
判断模块,用于在读取模块从源数据库读出待迁移的数据之前,判断源数据库的表结构与目的数据库表结构是否相同。
选择模块,用于当源数据库的表结构与目的数据库表结构相同时,提供选择界面,列出源数据库的表结构,供操作者选择将源数据库中的哪些表迁移到目的数据库,形成选择表;当源数据库的表结构与目的数据库表结构不同时,提供选择界面,列出源数据库的表结构和目的数据库的表结构,供操作者选择源数据库中的哪些表与目的数据库中的哪些表对应以及源数据库中的哪些字段与目的数据库中的哪些字段对应,形成表-字段映射关系表,该映射关系表可写入存储模块进行存储。
存储模块,用于存储所述选择表、所述表-字段映射关系表、所述数据类型对应表。读取模块根据存储模块中的选择表或表-字段映射关系表,从源数据库读出待迁移的数据;转换模块,根据存储模块中的数据类型对应表,将该读出的数据转换为中间数据类型的数据,并根据数据类型对应表将转换为中间数据类型的数据转换为目的数据库的数据类型的数据;写入模块,根据存储模块中的选择表或表-字段映射关系表,将所述转换为目的数据库的数据类型的数据写入目的数据库。
一般而言,目的数据库中字段的类型和与之对应的源数据库中的字段的类型应当相同,因此,为避免字段选择错误,进一步的,在选择了目的数据库中表中的一个字段后,在选择与之对应的源数据库中表中的字段时,所述判断模块,对该目的数据库字段和该源数据库字段的数据类型进行比较,如果二者不一致,则在字段映射选择界面上显示类型不一致的提示或禁止该源数据库字段的选择。如:选择的目的数据库中的字段数据类型是日期,而选择的源数据库中的对应的字段的数据类型是姓名,则二者明显不一致,因此在字段映射选择界面上显示类型不一致的提示或禁止该源数据库字段的选择,还可将该目的数据库中的字段作反白处理,以禁止该选择,避免数据迁移错误。而在有些情况下,目的数据库中字段的类型和与之对应的源数据库中的字段的类型也可以不同,在选择了目的数据库中表中的一个字段后,在选择与之对应的源数据库中表中的字段时,所述判断模块,对该目的数据库字段和该源数据库字段的数据类型进行比较,如果二者不一致,则在字段映射选择界面上显示类型不一致的提示,并向操作者提供是否继续该操作的提示,当操作者选择继续,则将该源数据库字段与目的数据库字段进行映射,如操作者选择中止,则放弃该映射。
数据迁移系统还包括排序模块,在目的数据库中一个表内的所有字段与源数据库中表的字段的映射选择完毕后,用户可通过该排序模块根据预定规则对该目的数据库的表中的字段进行排序,以满足相应的需要。
数据迁移系统还包括计算模块(图中未示出),对于目的数据库的字段,有时需要对与之对应的源数据库的字段进行公式计算,可以在选择了源数据库字段后,通过计算模块对该字段进行数值计算,如加减乘除等。例如源数据库中有“有效天数”字段,而在数据迁移后希望该“有效天数”增加一倍,此时在进行了源数据库字段与目的数据库字段的映射选择后,可通过该计算模块对该源数据库字段进行*2的计算,以使得迁移后的“有效天数”加倍。
本发明公开了一种基于多种数据存储平台的数据迁移方法及系统,以解决现有数据迁移工具使用繁琐的问题。所述方法包括:整理数据库类型对应基础信息表,配置源数据库与目的数据库之间的表和字段的映射关系,然后通过JAVA程序实现数据迁移的功能。其意义在于可以实现无需编写程序和脚本即可进行跨数据存储平台的相同表结构的数据迁移和跨数据存储平台的不同表结构的数据迁移。
这里本发明的描述和应用是说明性的,并非想将本发明的范围限制在上述实施例中。这里所披露的实施例的变形和改变是可能的,对于那些本领域的普通技术人员来说实施例的替换和等效的各种部件是公知的。本领域技术人员应该清楚的是,在不脱离本发明的精神或本质特征的情况下,本发明可以以其它形式、结构、布置、比例,以及用其它组件和部件等来实现。在不脱离本发明范围和精神的情况下,可以对这里所披露的实施例进行其它变形和改变。

Claims (10)

1.一种数据迁移方法,包括以下步骤:
第1步:连接源数据库和目的数据库;
第2步:从源数据库读出待迁移的数据;
第3步:将该读出的数据转换为中间数据类型的数据;
第4步:将所述转换为中间数据类型的数据转换为目的数据库数据类型的数据;
第5步:将所述转换为目的数据库数据类型的数据写入目的数据库。
2.根据权利要求1所述的数据迁移方法,其中:在第2步从源数据库读出待迁移的数据之前,先要判断源数据库的表结构与目的数据库表结构是否相同。
3.根据权利要求2所述的数据迁移方法,其中:当源数据库的表结构与目的数据库表结构相同时,提供选择界面,列出源数据库的表结构,列出目的数据库,供操作者选择将源数据库中的哪些表迁移到目的数据库。
4.根据权利要求2所述的数据迁移方法,其中:当源数据库的表结构与目的数据库表结构不同时,提供选择界面,分别列出源数据库的表结构和目的数据库的表结构,供操作者选择将源数据库中的哪些表与目的数据库中的哪些表对应,以及将源数据库中的哪些字段与目的数据库中的哪些字段对应,从而实现供操作者选择将源数据库中的哪些表和字段迁移到目的数据库。
5.根据权利要求1-4之一所述的数据迁移方法,其中通过JDBC接口连接源数据库和目的数据库。
6.一种数据迁移系统,包括:连接模块、读取模块、转换模块和写入模块,其中:
连接模块,用于连接源数据库和目的数据库;
读取模块,用于从源数据库读出待迁移的数据;
转换模块,用于将该读出的数据转换为中间数据类型的数据,并将所述转换为中间数据类型的数据转换为目的数据库的数据类型的数据;
写入模块,用于将所述转换为目的数据库的数据类型的数据写入目的数据库。
7.根据权利要求6所述的数据迁移系统,其中:还包括判断模块,用于在读取模块从源数据库读出待迁移的数据之前,判断源数据库的表结构与目的数据库表结构是否相同。
8.根据权利要求7所述的数据迁移系统,还包括选择模块,用于当源数据库的表结构与目的数据库表结构相同时,提供选择界面,列出源数据库的表结构,列出目的数据库,供操作者选择将源数据库中的哪些表和迁移到目的数据库。
9.根据权利要求7所述的数据迁移系统,还包括选择模块,用于当源数据库的表结构与目的数据库表结构不同时,提供选择界面,分别列出源数据库的表结构和目的数据库的表结构,供操作者选择源数据库中的哪些表与目的数据库中的哪些表对应,以及源数据库中的哪些字段与目的数据库中的哪些字段对应,从而实现供操作者选择将源数据库中的哪些表和字段迁移到目的数据库。
10.根据权利要求6-9之一所述的数据迁移系统,其中通过JDBC接口连接源数据库和目的数据库。
CN201510713434.0A 2015-10-28 2015-10-28 基于多种数据存储平台的数据迁移系统 Active CN105373599B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201510713434.0A CN105373599B (zh) 2015-10-28 2015-10-28 基于多种数据存储平台的数据迁移系统
PCT/CN2016/072669 WO2017071135A1 (zh) 2015-10-28 2016-01-29 基于多种数据存储平台的数据迁移系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510713434.0A CN105373599B (zh) 2015-10-28 2015-10-28 基于多种数据存储平台的数据迁移系统

Publications (2)

Publication Number Publication Date
CN105373599A true CN105373599A (zh) 2016-03-02
CN105373599B CN105373599B (zh) 2017-05-31

Family

ID=55375798

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510713434.0A Active CN105373599B (zh) 2015-10-28 2015-10-28 基于多种数据存储平台的数据迁移系统

Country Status (2)

Country Link
CN (1) CN105373599B (zh)
WO (1) WO2017071135A1 (zh)

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106649788A (zh) * 2016-12-28 2017-05-10 深圳启润德管理咨询有限公司 一种数据库数据传输方法与装置
CN106909633A (zh) * 2017-01-23 2017-06-30 北京思特奇信息技术股份有限公司 一种将oracle数据库内的数据导入到mongodb数据库的方法及系统
CN107301239A (zh) * 2017-06-30 2017-10-27 海南职业技术学院 一种数据库转换器及转换方法
CN107480224A (zh) * 2017-09-11 2017-12-15 爱普(福建)科技有限公司 控制站的组态数据与第三方数据库实现数据共享的装置
CN108062329A (zh) * 2016-11-08 2018-05-22 北京国双科技有限公司 一种数据导入方法及装置
CN108153806A (zh) * 2016-11-30 2018-06-12 Ncr公司 数据迁移
CN108241618A (zh) * 2016-12-23 2018-07-03 航天信息股份有限公司 数据库迁移的方法及装置、服务程序迁移的方法及装置
CN109408493A (zh) * 2018-10-17 2019-03-01 成都四方伟业软件股份有限公司 一种数据源的迁移方法及系统
CN109783555A (zh) * 2018-12-13 2019-05-21 东软集团股份有限公司 表单模板存储方法、装置、存储介质及电子设备
CN110109892A (zh) * 2018-01-25 2019-08-09 杭州海康威视数字技术股份有限公司 一种数据迁移方法、装置及电子设备
CN110275914A (zh) * 2019-04-26 2019-09-24 武汉众邦银行股份有限公司 跨数据库的数据迁移方法、装置和存储介质
CN110784532A (zh) * 2019-10-25 2020-02-11 北京天润融通科技股份有限公司 双向数据同步方法及系统
CN110955410A (zh) * 2019-10-23 2020-04-03 山东中创软件工程股份有限公司 一种代码自动生成方法、装置、设备及介质
CN111125054A (zh) * 2019-11-21 2020-05-08 青岛聚好联科技有限公司 一种社区数据迁移的方法及装置
CN111241060A (zh) * 2020-01-08 2020-06-05 苏州科达科技股份有限公司 数据迁移方法、系统、设备及存储介质
CN111309792A (zh) * 2019-12-31 2020-06-19 中国电子科技集团公司第二十八研究所 一种覆盖复杂异构情况的数据抽取转换方法
CN111352918A (zh) * 2018-12-21 2020-06-30 卓望数码技术(深圳)有限公司 一种终端数据库数据迁移方法及系统
CN111752928A (zh) * 2020-06-30 2020-10-09 武汉虹信技术服务有限责任公司 一种数据库对象迁移方法及系统
CN114968214A (zh) * 2022-07-12 2022-08-30 云账户技术(天津)有限公司 代码自动生成方法、装置、存储介质及终端设备

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111581183A (zh) * 2020-04-24 2020-08-25 上海泛微网络科技股份有限公司 一种基于数据模型进行数据迁移方法及装置
CN113297239A (zh) * 2021-04-29 2021-08-24 上海淇玥信息技术有限公司 一种数据管理平台、方法及电子设备
CN114490672B (zh) * 2022-04-06 2022-06-21 成都九洲电子信息系统股份有限公司 一种表格数据输入处理方法、装置及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102999537A (zh) * 2011-09-19 2013-03-27 阿里巴巴集团控股有限公司 一种数据迁移系统和方法
CN103176988A (zh) * 2011-12-21 2013-06-26 上海博腾信息科技有限公司 基于SaaS的数据迁移系统
CN103440273A (zh) * 2013-08-06 2013-12-11 北京航空航天大学 一种数据跨平台迁移方法及装置
CN104281704A (zh) * 2014-10-22 2015-01-14 新华瑞德(北京)网络科技有限公司 数据库数据拷贝方法和装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW502181B (en) * 2001-05-04 2002-09-11 Lasmsoft Corp Dynamic real-time exchange method and system of heterogeneous database and of heterogeneous data source
WO2012083679A1 (zh) * 2011-07-13 2012-06-28 华为技术有限公司 一种数据迁移方法、数据迁移装置及数据迁移系统
CN103631907B (zh) * 2013-11-26 2016-09-07 中国科学院信息工程研究所 一种将关系型数据迁移至HBase的方法及系统
CN104951528B (zh) * 2015-06-15 2019-08-23 深圳市创梦天地科技有限公司 一种数据迁移的方法及终端
CN105205117B (zh) * 2015-09-09 2019-03-05 郑州悉知信息科技股份有限公司 一种数据表迁移方法和装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102999537A (zh) * 2011-09-19 2013-03-27 阿里巴巴集团控股有限公司 一种数据迁移系统和方法
CN103176988A (zh) * 2011-12-21 2013-06-26 上海博腾信息科技有限公司 基于SaaS的数据迁移系统
CN103440273A (zh) * 2013-08-06 2013-12-11 北京航空航天大学 一种数据跨平台迁移方法及装置
CN104281704A (zh) * 2014-10-22 2015-01-14 新华瑞德(北京)网络科技有限公司 数据库数据拷贝方法和装置

Cited By (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108062329A (zh) * 2016-11-08 2018-05-22 北京国双科技有限公司 一种数据导入方法及装置
CN108153806A (zh) * 2016-11-30 2018-06-12 Ncr公司 数据迁移
CN108153806B (zh) * 2016-11-30 2021-10-15 Ncr公司 数据迁移
CN108241618B (zh) * 2016-12-23 2022-05-17 航天信息股份有限公司 数据库迁移的方法及装置、服务程序迁移的方法及装置
CN108241618A (zh) * 2016-12-23 2018-07-03 航天信息股份有限公司 数据库迁移的方法及装置、服务程序迁移的方法及装置
CN106649788B (zh) * 2016-12-28 2020-12-08 深圳启润德科技有限公司 一种数据库数据传输方法与装置
CN106649788A (zh) * 2016-12-28 2017-05-10 深圳启润德管理咨询有限公司 一种数据库数据传输方法与装置
CN106909633A (zh) * 2017-01-23 2017-06-30 北京思特奇信息技术股份有限公司 一种将oracle数据库内的数据导入到mongodb数据库的方法及系统
CN107301239A (zh) * 2017-06-30 2017-10-27 海南职业技术学院 一种数据库转换器及转换方法
CN107480224A (zh) * 2017-09-11 2017-12-15 爱普(福建)科技有限公司 控制站的组态数据与第三方数据库实现数据共享的装置
CN110109892A (zh) * 2018-01-25 2019-08-09 杭州海康威视数字技术股份有限公司 一种数据迁移方法、装置及电子设备
CN109408493A (zh) * 2018-10-17 2019-03-01 成都四方伟业软件股份有限公司 一种数据源的迁移方法及系统
CN109783555A (zh) * 2018-12-13 2019-05-21 东软集团股份有限公司 表单模板存储方法、装置、存储介质及电子设备
CN111352918A (zh) * 2018-12-21 2020-06-30 卓望数码技术(深圳)有限公司 一种终端数据库数据迁移方法及系统
CN111352918B (zh) * 2018-12-21 2023-05-23 卓望数码技术(深圳)有限公司 一种终端数据库数据迁移方法及系统
CN110275914A (zh) * 2019-04-26 2019-09-24 武汉众邦银行股份有限公司 跨数据库的数据迁移方法、装置和存储介质
CN110955410A (zh) * 2019-10-23 2020-04-03 山东中创软件工程股份有限公司 一种代码自动生成方法、装置、设备及介质
CN110784532A (zh) * 2019-10-25 2020-02-11 北京天润融通科技股份有限公司 双向数据同步方法及系统
CN111125054A (zh) * 2019-11-21 2020-05-08 青岛聚好联科技有限公司 一种社区数据迁移的方法及装置
CN111309792A (zh) * 2019-12-31 2020-06-19 中国电子科技集团公司第二十八研究所 一种覆盖复杂异构情况的数据抽取转换方法
CN111309792B (zh) * 2019-12-31 2023-12-08 中国电子科技集团公司第二十八研究所 一种覆盖复杂异构情况的数据抽取转换方法
CN111241060A (zh) * 2020-01-08 2020-06-05 苏州科达科技股份有限公司 数据迁移方法、系统、设备及存储介质
CN111752928A (zh) * 2020-06-30 2020-10-09 武汉虹信技术服务有限责任公司 一种数据库对象迁移方法及系统
CN114968214A (zh) * 2022-07-12 2022-08-30 云账户技术(天津)有限公司 代码自动生成方法、装置、存储介质及终端设备
CN114968214B (zh) * 2022-07-12 2022-10-28 云账户技术(天津)有限公司 代码自动生成方法、装置、存储介质及终端设备

Also Published As

Publication number Publication date
WO2017071135A1 (zh) 2017-05-04
CN105373599B (zh) 2017-05-31

Similar Documents

Publication Publication Date Title
CN105373599A (zh) 基于多种数据存储平台的数据迁移系统
US10067954B2 (en) Use of dynamic dictionary encoding with an associated hash table to support many-to-many joins and aggregations
CN101770479B (zh) 一种关联关系的查询方法及装置
CN102426582B (zh) 数据操作管理装置和数据操作管理方法
CN102279749B (zh) 一种代码归并方法和设备
CN102254029B (zh) 一种基于视图的数据访问系统及其方法
CN102902763B (zh) 关联、检索信息处理数据和处理信息任务的方法及装置
US20060229922A1 (en) Association and visualization of schematized business networks
RU2406115C2 (ru) Доступ к сложным данным
CN104361139A (zh) 数据导入装置和方法
US11907184B1 (en) Collaborative data mapping system
CN103345469B (zh) 号码集合的存储、查询方法及其装置
CN111367939B (zh) 一种公路工程项目台帐编制与管理系统及方法、计算机
CN109408528A (zh) 一种数据库脚本生成方法、装置、计算装置和存储介质
CN107168977A (zh) 一种数据查询的优化方法及装置
CN110990396B (zh) 数据存储方法、装置及存储介质
US20220269702A1 (en) Intelligent annotation of entity-relationship data models
CN100589101C (zh) 基于程序调用接口的Oracle关系数据库的数据访问方法
CN107193943A (zh) 一种rdbms在线数据迁移的方法和装置
CN101645062B (zh) 一种报表生成方法、系统
CN105677805A (zh) 一种利用protobuf的数据存储、读取方法及装置
CN103793401B (zh) 建立多个数据库表的共享索引的方法及装置
CN107766519B (zh) 一种可视化配置数据结构的方法
CN104636471A (zh) 一种程序代码的查找方法及装置
CN102592190A (zh) 一种电子合同的签订系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20190808

Address after: Room 206, 2nd floor, No. 18 Keyuan Road, Daxing Economic Development Zone, 102600, Beijing

Patentee after: Beijing Xiaodunbird Information Technology Co.,Ltd.

Address before: 100028 Beijing city Daxing District Keyuan Road Economic Development Zone No. 18 Chinese creative building No. 4

Patentee before: BEIJING HUISHANG RONGTONG INFORMATION TECHNOLOGY Co.,Ltd.

PE01 Entry into force of the registration of the contract for pledge of patent right
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: Data migration system based on multiple data storage platforms

Effective date of registration: 20221028

Granted publication date: 20170531

Pledgee: Shaanxi Pharmaceutical Holding Group Paeon Pharmaceutical Co.,Ltd.

Pledgor: Beijing Xiaodunbird Information Technology Co.,Ltd.

Registration number: Y2022110000284