CN107958057A - 一种用于异构数据库中数据迁移的代码生成方法及装置 - Google Patents

一种用于异构数据库中数据迁移的代码生成方法及装置 Download PDF

Info

Publication number
CN107958057A
CN107958057A CN201711229644.8A CN201711229644A CN107958057A CN 107958057 A CN107958057 A CN 107958057A CN 201711229644 A CN201711229644 A CN 201711229644A CN 107958057 A CN107958057 A CN 107958057A
Authority
CN
China
Prior art keywords
data
source database
database
information
reading
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
CN201711229644.8A
Other languages
English (en)
Other versions
CN107958057B (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.)
Suning Commerce Group Co Ltd
Original Assignee
Suning Commerce Group 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 Suning Commerce Group Co Ltd filed Critical Suning Commerce Group Co Ltd
Priority to CN201711229644.8A priority Critical patent/CN107958057B/zh
Publication of CN107958057A publication Critical patent/CN107958057A/zh
Application granted granted Critical
Publication of CN107958057B publication Critical patent/CN107958057B/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
    • 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/214Database migration support
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Stored Programmes (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明实施例公开了一种用于异构数据库中数据迁移的代码生成方法及装置,涉及大数据技术领域,能够降低数据迁移中的代码开发的工作量,降低人工成本。本发明包括:获取脚本文件和映射信息;根据所述映射信息处理数据迁移模板,生成数据读写任务,所述数据读写任务用于从所述源数据库读取待迁移数据,并用于向所述目标数据库写入所述待迁移数据;根据所述脚本文件和所述映射信息,处理所述数据迁移模板,生成数据转换任务,所述数据转换任务,用于将所述待迁移数据的数据形式从源数据库表转换至目标数据库表;通过运行所述数据读写任务和数据转换任务,将所述待迁移数据从所述源数据库迁移至所述目标数据库。本发明适用于异构数据库的数据迁移。

Description

一种用于异构数据库中数据迁移的代码生成方法及装置
技术领域
本发明涉及大数据技术领域,尤其涉及一种用于异构数据库中数据迁移的代码生成方法及装置。
背景技术
随着各类电商平台的规模越来越大,需要投入更多的成本维护、建设支撑电商平台的数据库系统。而不论是新的业务系统上线,还是老系统的备份升级,都往往都需要进行数据迁移。
在现有的数据迁移方案中,需要进行异构数据库之间的数据抽取、逻辑转换、落目标数据库、反抽对比验证等逻辑步骤,每个逻辑步骤都需要技术人员人工编写大量的代码和脚本。尤其是存在千万级甚至数以亿计数据行的数据表时,通常都需要技术人员针对每张数据表开发相应的代码和脚本,目前业内效率较高的技术人员,开发迁移一张数据表需要2-3个工作日,而一些大型的异构数据库之间数据迁移,往往需要集合多名技术人员投入几十个工作日才能完成数据迁移工作。极度消耗技术人员的时间精力,人工成本很高。
发明内容
本发明的实施例提供一种用于异构数据库中数据迁移的代码生成方法及装置,能够降低数据迁移中的代码开发的工作量,降低人工成本。
为达到上述目的,本发明的实施例采用如下技术方案:
提供一种异构数据库之间数据迁移的场景中,自动生成用于迁移的代码的方法。数据迁移过程中,主要需要运用于大数据平台的任务代码的生成,例如:Spark任务和Hive任务,其中:Spark任务用于从DB2抽取数据到Hive数据库以及将Hive数据库的数据迁移到MySQL数据库;Hive任务主要用于Hive数据库中的脚本执行。代码生成工具生成了所有Spark任务的代码,以及具有简单业务逻辑的Hive任务的代码。
从而降低了人工开发的工作量,节省技术人员的时间精力,降低人工成本。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本发明实施例提供的系统架构示意图;
图2为本发明实施例提供的方法流程示意图;
图3、图4为本发明实施例提供的装置结构示意图。
具体实施方式
为使本领域技术人员更好地理解本发明的技术方案,下面结合附图和具体实施方式对本发明作进一步详细描述。下文中将详细描述本发明的实施方式,所述实施方式的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的任一单元和全部组合。本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语)具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样定义,不会用理想化或过于正式的含义来解释。
本实施例中的方法流程,具体可以在一种如图1所示的系统上执行,该系统包括:
处理系统、源数据库、目标数据库。处理系统在硬件层面上具体可以是工作站、超级计算机等设备,或者是由多台服务器组成的一种用于数据处理的服务器集群。
本实施例中所揭示的源数据库和目标数据库,在硬件层面上具体可以是由多台服务器组成的一种用于数据处理和存储的服务器集群。
本发明实施例提供一种用于异构数据库中数据迁移的代码生成方法,如图2所示,包括:
S1、获取脚本文件和映射信息。
在本实施例中,所述映射信息具体包括:源数据库表与主键字段对应关系,和源数据库表与目标数据库表对应关系。其中,源数据库可以理解为:在数据迁移的过程中,被抽取数据的数据库;目标数据可以理解为:在数据迁移的过程中,被抽取数据所要导入的数据库,简单来说,本实施例中所涉及的数据迁移过程,可以理解为从源数据库中抽取数据并导入到目标数据库的过程。在实际应用中,数据库中的数据通常以数据表的形式存储,因此源数据库中的数据也可称为源数据库表,目标数据库中的数据也可称为目标数据库表。
以源数据库为DB2(按照IBM公司标准设计的一种关系型数据库管理系统)、目标数据库为MySQL(按照瑞典MySQL AB公司标准设计的一种关系型数据库管理系统)的情况为例,在采用本实施例中的代码生成工具生成代码之前,至少需准备数据库表的相关文件,包括:建表脚本、DB2表与主键字段对应关系的文件、DB2表与MySQL表对应关系的文件。:
在生成代码前,先解析相关文件,相关文件中预存了脚本文件和映射信息的相关信息和字段,相关文件可以是Java对象的文件。例如:数据表的相关信息以及根据表名生成的类名保存到TablelnfoEntity类的对象中;数据表的字段信息以及根据字段名生成的属性名保存到FieldEntity类的对象中,TableInfoEntity类对象中用List属性存储表包含的所有字段信息。源数据库表(即DB2表)与主键字段的对应关系、源数据库表(即DB2表)与目标数据库表(即MySQL表)对应关系,并以表名为key、主键字段名或者DB2表名为value保存到Map中。比如:DB2表与主键字段对应关系的文件记录了DB2各表的表名及表名对应的主键字段名,主要用于生成Hive任务。
DB2表与MySQL表对应关系的文件中,记录的是MySQL中各表的数据是由DB2的哪些表迁移而成的,主要用于生成Hive任务。
在本实施例中,所述脚本文件包括:源数据库的建表脚本文件和目标数据库的建表脚本文件。建表脚本包括DB2的建表脚本文件及MySQL的建表脚本文件,主要用于生成Spark(一种专为大规模数据处理而设计的快速通用的计算引擎)任务的代码和生成Hive任务的脚本,Spark任务用于数据的读取和写入,具体的,数据读取还包括对源数据库的分库分表进行整合的操作;写入数据包括分库分表的路由,写入目标数据库的操作。
S2、根据所述映射信息处理数据迁移模板,生成数据读写任务。
在本实施例中,生成Spark任务的代码,以及生成具有简单业务逻辑的Hive任务的代码。其实现过程主要是以正常完成一次数据迁移的案例为所述数据迁移模板,将数据迁移模板中涉及到数据库表信息的相关代码进行相应替换,最终将生成的代码输出到指定的文件中。具体的,Hive任务还包括数据过滤,比如按业务条件筛选数据。
S3、根据所述脚本文件和所述映射信息,处理所述数据迁移模板,生成数据转换任务。
其中,所述数据读写任务用于从所述源数据库读取待迁移数据,并用于向所述目标数据库写入所述待迁移数据。所述数据转换任务,用于将所述待迁移数据的数据形式从源数据库表转换至目标数据库表。
例如:在数据迁移过程中,以主要运用于大数据平台的Spark任务和Hive任务分别作为所述数据读写任务和所述数据转换任务,其中:Spark任务用于从DB2抽取数据到Hive数据库以及将Hive数据库的数据迁移到MySQL数据库;Hive任务主要用于Hive数据库中的脚本执行。
S4、通过运行所述数据读写任务和数据转换任务,将所述待迁移数据从所述源数据库迁移至所述目标数据库。
本实施提供一种异构数据库之间数据迁移的场景中,自动生成用于迁移的代码的方法。数据迁移过程中,主要需要运用于大数据平台的任务代码的生成,例如:Spark任务和Hive任务,其中:Spark任务用于从DB2抽取数据到Hive数据库以及将Hive数据库的数据迁移到MySQL数据库;Hive任务主要用于Hive数据库中的脚本执行。代码生成工具生成了所有Spark任务的代码,以及具有简单业务逻辑的Hive任务的代码。
在实际应用中举例:DB2数据库有53张表(部分表有16到32数量不等的分表),30亿行记录,目标Mysql数据库有38张有效数据表和28张历史数据表(涉及业务库和索引库,不同的分库分表维度),按通常的迁移方案和开发技术(迁移过程包括数据抽取、逻辑转换、落目标数据库、反抽对比验证,每步都需要人工写大量spark代码和hive脚本),一个人2天开发迁移一张表,投入3个开发人员计算,需要大约30个工作日,采用本实施例自动生成代码后,可以将开发周期缩短到10个工作日。从而从而降低了人工开发的工作量,节省技术人员的时间精力,降低人工成本。
在本实施例中,步骤S2中生成数据读写任务的具体方式,包括:
从所述数据迁移模板中,读取用于代码生成的类文件;根据所述映射信息,更新所读取的类文件。
其中,所述类文件包括:抽取动作类文件、修改替换类文件和建表脚本创建类文件。
具体的,所述数据迁移模板中的类文件包括预设的基础字段。例如:根据配置的路径读取建表脚本,以运行正常的案例代码为模板,调用TableInfoEntity类及FieldEntity类中的字段信息替换模板中的案例的字段信息。例如:通过Spark任务及Hive任务的例子来进一步说明:
抽取动作类文件可以理解为:在Spark任务中的使用过程中,从DB2抽取TB1010表的数据到Hive数据库,使用Spark任务从DB2抽取TB1010表的数据到Hive数据库时,需要创建3个类文件作为抽取动作类文件:TB1010Bean.java、TB1010FieldDef.java以及TB1010ToHiveService.java,
修改替换类文件可以理解为:需要修改的Constants常量类及from_container.xml容器的配置文件;
建表脚本创建类文件可以理解为:在Hive数据库创建相对应的表。
由于涉及到6个文件,所以分别创建6个代码生成的类文件,如表5所示的:
其中,GenerateBeanUtil类用于生成TB1010Bean.java文件;
GenerateConstantsUtil类用于生成Constants常量类需要添加的内容;
GenerateDbToHiveServiceClassUtil类用于生成TB1010ToHiveService.java文件;
GenerateFieldDefClassUtil类用于生成TB1010FieldDef.java文件;
GenerateFromContainerUtil用于生成from_container.xml容器配置文件需要新增的内容;
GenerateHiveTableSqlUtil用于生成Hive数据库的建表脚本。
具体的,所述更新所读取的类文件,包括:
根据所述源数据库表与目标数据库表对应关系,创建抽取动作类文件。
根据源数据库表与主键字段对应关系,更新修改替换类文件中的指定字段。例如:由于涉及到的类中有互相调用的场景,因此需要在生成代码前,对其需要替换的代码部分需要进行约定。配置文件中的容器名在Tb1010ToHiveService类、Constants常量类以及from_container.xml文件中都有使用,例如:
Tb1010ToHiveService类中的字段:
Constants类中的字段:
//源TN1010容器
public static final string
from_container.xml配置文件中的字段:
具体的,对于生成任务代码所需的类文件中,对每一个案例模板的方法创建与其对应的生成方法,且每个方法都可以接收tableInfo参数,当模板的内容需要根据表信息进行相应修改时,能通过tableInfo的内容进行替换。当所有内容拼接完毕,修改tableInfo的className属性,将原来的className拼接相应的后缀,比如:CLASS SUFFIX=″ToHiveService″;,拼接的内容最终输出到文件名为className的Java文件中。
在本实施例中,步骤S3中生成数据转换任务的具体方式,包括:
获取所述目标数据库的表信息,并根据所述源数据库表与目标数据库表对应关系,获取所述源数据库的表信息。
获取所述源数据库的主键信息,并利用所述目标数据库的表信息、所述源数据库的表信息和所述源数据库的主键信息,导入所述源数据库的建表脚本文件。
例如:需准备DB2对应的建表脚本文件、MySQL对应的建表脚本文件、DB2的表名和主键字段名文件、以及MySQL的表名与涉及到DB2的表名文件。在生成Hive任务的过程中:以A类表数据迁移到C类表为例。涉及到A类表、C类表以及E类表,其中A类表、C类表与DB2数据库表的字段一致,E类表与MySQL数据库表的字段一致。从DB2抽取的数据放在A类表,转换后待迁移到mysql的数据放在E类表,E类表中有字段保存了对应A类表相关数据的主键id。C类表是A类表的子集,用于存储A类表中所有主键id包含在E类表中的数据。脚本生成前,需准备DB2对应的建表脚本文件、MySQL对应的建表脚本文件、DB2的表名和主键字段名文件、以及MySQL的表名与涉及到DB2的表名文件。代码生成前,分别读取四个文件内容到内存中。
通过循环遍历所有MySQL对应的表信息,根据MySQL的表名获取到所有与其相关的DB2的表信息,嵌套for循环遍历获取到的DB2表信息,根据DB2表名获取到其主键id字段名,然后将MySQL的表信息、DB2的表信息以及DB2表的主键信息传入prepareFileContent方法,进行脚本内容的生成。
最后开始拼接sql脚本,并将拼接的脚本输出到不同的脚本文件中。例如:生成的脚本模板的主要内容包括:
insert overwrite table ztbd_cmf_valid_无分表后缀的DB2表名partition(order_date='${hiveconf:order_date}_ztbd_aimp_无分表后缀的MySQL表名')
select DB2表的所有字段from ztbd_cmf_无分表后缀的DB2表名a
inner join ztbd_aimp_无分表后缀的MySQL表名b onb.order_date='${hiveconf:order_date}'
and b.无分表后缀的DB2表名_DB2表的主键=a.DB2表的主键
where a.order_date='${hiveconf:or der_date}';
其中:ztbd_cmf_无分表后缀的DB2表名a为A类表名。ztbd_aimp_无分表后缀的MySQL表名b为E类表名。ztbd_cmf_valid_无分表后缀的DB2表名为C类表名。
可选的,在本实施例中,还包括:
在运行所述数据读写任务和所述数据转换任务之前,读取业务逻辑信息。
根据所述业务逻辑信息,从所述数据读写任务和所述数据转换任务中筛选出当前业务中无效的通用字段。之后将筛选出的通用字段放到List中。
具体的,代码生成过程中,可以增加相应的业务逻辑来修改生成的代码,当表中的某些通用字段不需要时(即当前业务中无效的通用字段),可以将不需要的字段放到List中,遍历FieldEntity信息时,如果字段包含在List,则不对其进行操作。例如:行、列的分隔符,在数据迁移中会导致代码混乱。当实际运行的代码需要进行调整时,只需修改代码生成使用的模板并重新生成代码,便可对所有相关代码进行调整,比如“|”是hive数据库字段的分隔符,如果数据中含有该符号,解析字段时会出现错位,导致字段值与目标数据库不匹配而发生异常。所以从源数据库抽取数据时需要进行过滤,将“|”替换成“”。从而降低了代码的出错率。
本发明实施例还提供一种用于异构数据库中数据迁移的代码生成装置,如图3所示的,包括:
预处理模块,用于获取脚本文件和映射信息;
第一处理模块,用于根据所述映射信息处理数据迁移模板,生成数据读写任务,所述数据读写任务用于从所述源数据库读取待迁移数据,并用于向所述目标数据库写入所述待迁移数据;
第二处理模块,用于根据所述脚本文件和所述映射信息,处理所述数据迁移模板,生成数据转换任务,所述数据转换任务,用于将所述待迁移数据的数据形式从源数据库表转换至目标数据库表;
执行模块,用于通过运行所述数据读写任务和数据转换任务,将所述待迁移数据从所述源数据库迁移至所述目标数据库。
其中,所述脚本文件包括:源数据库的建表脚本文件和目标数据库的建表脚本文件,所述映射信息包括:源数据库表与主键字段对应关系,和源数据库表与目标数据库表对应关系;
所述第一处理模块,具体用于从所述数据迁移模板中,读取用于代码生成的类文件,所述类文件包括:抽取动作类文件、修改替换类文件和建表脚本创建类文件;根据所述源数据库表与目标数据库表对应关系,创建抽取动作类文件;根据源数据库表与主键字段对应关系,更新修改替换类文件中的指定字段。
所述第二处理模块,具体用于获取所述目标数据库的表信息,并根据所述源数据库表与目标数据库表对应关系,获取所述源数据库的表信息;获取所述源数据库的主键信息,并利用所述目标数据库的表信息、所述源数据库的表信息和所述源数据库的主键信息,导入所述源数据库的建表脚本文件。
进一步的,如图4所示的,还包括:
清洗模块,用于在运行所述数据读写任务和所述数据转换任务之前,读取业务逻辑信息;根据所述业务逻辑信息,从所述数据读写任务和所述数据转换任务中筛选出当前业务中无效的通用字段;将筛选出的通用字段放到List中。
通过该装置生成了所有Spark任务的代码,以及具有简单业务逻辑的Hive任务的代码。从而降低了人工开发的工作量,节省技术人员的时间精力,降低人工成本。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

Claims (10)

1.一种用于异构数据库中数据迁移的代码生成方法,其特征在于,包括:
获取脚本文件和映射信息;
根据所述映射信息处理数据迁移模板,生成数据读写任务,所述数据读写任务用于从所述源数据库读取待迁移数据,并用于向所述目标数据库写入所述待迁移数据;
根据所述脚本文件和所述映射信息,处理所述数据迁移模板,生成数据转换任务,所述数据转换任务,用于将所述待迁移数据的数据形式从源数据库表转换至目标数据库表;
通过运行所述数据读写任务和数据转换任务,将所述待迁移数据从所述源数据库迁移至所述目标数据库。
2.根据权利要求1所述的方法,其特征在于,所述脚本文件包括:源数据库的建表脚本文件和目标数据库的建表脚本文件,所述映射信息包括:源数据库表与主键字段对应关系,和源数据库表与目标数据库表对应关系。
3.根据权利要求2所述的方法,其特征在于,所述生成数据读写任务,包括:
从所述数据迁移模板中,读取用于代码生成的类文件,所述类文件包括:抽取动作类文件、修改替换类文件和建表脚本创建类文件;
根据所述映射信息,更新所读取的类文件。
4.根据权利要求3所述的方法,其特征在于,所述更新所读取的类文件,包括:
根据所述源数据库表与目标数据库表对应关系,创建抽取动作类文件;
根据源数据库表与主键字段对应关系,更新修改替换类文件中的指定字段。
5.根据权利要求1所述的方法,其特征在于,生成数据转换任务,包括:
获取所述目标数据库的表信息,并根据所述源数据库表与目标数据库表对应关系,获取所述源数据库的表信息;
获取所述源数据库的主键信息,并利用所述目标数据库的表信息、所述源数据库的表信息和所述源数据库的主键信息,导入所述源数据库的建表脚本文件。
6.根据权利要求1所述的方法,其特征在于,还包括:
在运行所述数据读写任务和所述数据转换任务之前,读取业务逻辑信息;
根据所述业务逻辑信息,从所述数据读写任务和所述数据转换任务中筛选出当前业务中无效的通用字段;
将筛选出的通用字段放到List中。
7.一种用于异构数据库中数据迁移的代码生成装置,其特征在于,包括:
预处理模块,用于获取脚本文件和映射信息;
第一处理模块,用于根据所述映射信息处理数据迁移模板,生成数据读写任务,所述数据读写任务用于从所述源数据库读取待迁移数据,并用于向所述目标数据库写入所述待迁移数据;
第二处理模块,用于根据所述脚本文件和所述映射信息,处理所述数据迁移模板,生成数据转换任务,所述数据转换任务,用于将所述待迁移数据的数据形式从源数据库表转换至目标数据库表;
执行模块,用于通过运行所述数据读写任务和数据转换任务,将所述待迁移数据从所述源数据库迁移至所述目标数据库。
8.根据权利要求7所述的装置,其特征在于,所述脚本文件包括:源数据库的建表脚本文件和目标数据库的建表脚本文件,所述映射信息包括:源数据库表与主键字段对应关系,和源数据库表与目标数据库表对应关系;
所述第一处理模块,具体用于从所述数据迁移模板中,读取用于代码生成的类文件,所述类文件包括:抽取动作类文件、修改替换类文件和建表脚本创建类文件;根据所述源数据库表与目标数据库表对应关系,创建抽取动作类文件;根据源数据库表与主键字段对应关系,更新修改替换类文件中的指定字段。
9.根据权利要求7所述的装置,其特征在于,所述第二处理模块,具体用于获取所述目标数据库的表信息,并根据所述源数据库表与目标数据库表对应关系,获取所述源数据库的表信息;获取所述源数据库的主键信息,并利用所述目标数据库的表信息、所述源数据库的表信息和所述源数据库的主键信息,导入所述源数据库的建表脚本文件。
10.根据权利要求7所述的装置,其特征在于,还包括:
清洗模块,用于在运行所述数据读写任务和所述数据转换任务之前,读取业务逻辑信息;根据所述业务逻辑信息,从所述数据读写任务和所述数据转换任务中筛选出当前业务中无效的通用字段;将筛选出的通用字段放到List中。
CN201711229644.8A 2017-11-29 2017-11-29 一种用于异构数据库中数据迁移的代码生成方法及装置 Active CN107958057B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711229644.8A CN107958057B (zh) 2017-11-29 2017-11-29 一种用于异构数据库中数据迁移的代码生成方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711229644.8A CN107958057B (zh) 2017-11-29 2017-11-29 一种用于异构数据库中数据迁移的代码生成方法及装置

Publications (2)

Publication Number Publication Date
CN107958057A true CN107958057A (zh) 2018-04-24
CN107958057B CN107958057B (zh) 2022-04-05

Family

ID=61962997

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711229644.8A Active CN107958057B (zh) 2017-11-29 2017-11-29 一种用于异构数据库中数据迁移的代码生成方法及装置

Country Status (1)

Country Link
CN (1) CN107958057B (zh)

Cited By (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108647270A (zh) * 2018-04-28 2018-10-12 尚谷科技(天津)有限公司 一种基于容错时间日志的数据迁移的方法
CN108710489A (zh) * 2018-05-23 2018-10-26 中国平安人寿保险股份有限公司 自动化导数脚本生成方法、装置、计算机设备
CN109299063A (zh) * 2018-07-02 2019-02-01 北京市天元网络技术股份有限公司 一种跨平台数据库迁移方法及系统
CN109725933A (zh) * 2018-05-24 2019-05-07 中国平安人寿保险股份有限公司 大数据文档生成方法、装置、设备及计算机可读存储介质
CN110851400A (zh) * 2018-07-25 2020-02-28 北京国双科技有限公司 文本数据的处理方法及装置
CN110895522A (zh) * 2019-12-02 2020-03-20 中国银行股份有限公司 数据迁移方法及系统
CN111125213A (zh) * 2019-11-29 2020-05-08 北京数起科技有限公司 数据采集的方法、装置及其系统
CN111177247A (zh) * 2019-12-30 2020-05-19 腾讯科技(深圳)有限公司 一种数据转换的方法、装置及存储介质
CN111352918A (zh) * 2018-12-21 2020-06-30 卓望数码技术(深圳)有限公司 一种终端数据库数据迁移方法及系统
CN111367895A (zh) * 2020-03-31 2020-07-03 中国建设银行股份有限公司 数据迁移方法及装置
CN111367890A (zh) * 2020-03-13 2020-07-03 深圳壹账通智能科技有限公司 一种数据迁移的方法、装置、计算机设备及可读存储介质
CN111752928A (zh) * 2020-06-30 2020-10-09 武汉虹信技术服务有限责任公司 一种数据库对象迁移方法及系统
CN112181951A (zh) * 2020-10-20 2021-01-05 新华三大数据技术有限公司 一种异构数据库数据迁移方法、装置及设备
CN112347080A (zh) * 2020-11-11 2021-02-09 金蝶云科技有限公司 一种数据迁移方法及相关装置
CN112650736A (zh) * 2020-12-31 2021-04-13 中国农业银行股份有限公司 一种数据迁移方法及装置
CN112667733A (zh) * 2021-03-15 2021-04-16 北京焦点新干线信息技术有限公司 数据仓库数据导入方法与系统
CN112765184A (zh) * 2021-04-07 2021-05-07 四川新网银行股份有限公司 一种基于Mysql分库分表的实时采集方法
CN112817930A (zh) * 2019-11-15 2021-05-18 北京沃东天骏信息技术有限公司 一种数据迁移的方法和装置
CN112925743A (zh) * 2021-02-07 2021-06-08 中国工商银行股份有限公司 一种文件生成方法、装置及存储介质
CN113204538A (zh) * 2021-04-27 2021-08-03 北京百度网讯科技有限公司 用于数据迁移的方法、装置、设备、介质和程序产品
CN113656474A (zh) * 2021-08-05 2021-11-16 京东科技控股股份有限公司 业务数据的接入方法、装置、电子设备及存储介质
CN113742318A (zh) * 2021-09-14 2021-12-03 央视国际网络无锡有限公司 一种关系型数据库之间大数据迁移的方法
CN114896225A (zh) * 2022-05-25 2022-08-12 平安普惠企业管理有限公司 适用于大数据的数据迁移方法、装置、设备及存储介质

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030177146A1 (en) * 2002-03-18 2003-09-18 International Business Machines Corporation Method, system, and program product for migrating data from one data base management system to another data base management system
CA2437008A1 (en) * 2003-08-12 2005-02-12 Ibm Canada Limited-Ibm Canada Limitee Method and apparatus for data migration between databases
CN101217406A (zh) * 2008-01-15 2008-07-09 中兴通讯股份有限公司 配置数据备份和恢复方法
CN102012947A (zh) * 2010-12-16 2011-04-13 创新科存储技术有限公司 一种数据库在线备份的方法及系统
CN102629277A (zh) * 2012-03-21 2012-08-08 北京英孚斯迈特信息技术有限公司 一种通用sql数据处理方法和系统
CN103440273A (zh) * 2013-08-06 2013-12-11 北京航空航天大学 一种数据跨平台迁移方法及装置
CN103793424A (zh) * 2012-10-31 2014-05-14 阿里巴巴集团控股有限公司 数据库数据迁移方法及系统
CN104426967A (zh) * 2013-08-30 2015-03-18 中国石油天然气股份有限公司 一种跨平台和跨设备的移动应用构建方法
CN105005618A (zh) * 2015-07-21 2015-10-28 杭州合众数据技术有限公司 一种异构数据库之间的数据同步方法及系统
CN105528381A (zh) * 2014-10-27 2016-04-27 青岛金讯网络工程有限公司 数据库数据迁移方法及系统

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030177146A1 (en) * 2002-03-18 2003-09-18 International Business Machines Corporation Method, system, and program product for migrating data from one data base management system to another data base management system
CA2437008A1 (en) * 2003-08-12 2005-02-12 Ibm Canada Limited-Ibm Canada Limitee Method and apparatus for data migration between databases
CN101217406A (zh) * 2008-01-15 2008-07-09 中兴通讯股份有限公司 配置数据备份和恢复方法
CN102012947A (zh) * 2010-12-16 2011-04-13 创新科存储技术有限公司 一种数据库在线备份的方法及系统
CN102629277A (zh) * 2012-03-21 2012-08-08 北京英孚斯迈特信息技术有限公司 一种通用sql数据处理方法和系统
CN103793424A (zh) * 2012-10-31 2014-05-14 阿里巴巴集团控股有限公司 数据库数据迁移方法及系统
CN103440273A (zh) * 2013-08-06 2013-12-11 北京航空航天大学 一种数据跨平台迁移方法及装置
CN104426967A (zh) * 2013-08-30 2015-03-18 中国石油天然气股份有限公司 一种跨平台和跨设备的移动应用构建方法
CN105528381A (zh) * 2014-10-27 2016-04-27 青岛金讯网络工程有限公司 数据库数据迁移方法及系统
CN105005618A (zh) * 2015-07-21 2015-10-28 杭州合众数据技术有限公司 一种异构数据库之间的数据同步方法及系统

Cited By (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108647270A (zh) * 2018-04-28 2018-10-12 尚谷科技(天津)有限公司 一种基于容错时间日志的数据迁移的方法
CN108710489A (zh) * 2018-05-23 2018-10-26 中国平安人寿保险股份有限公司 自动化导数脚本生成方法、装置、计算机设备
CN109725933A (zh) * 2018-05-24 2019-05-07 中国平安人寿保险股份有限公司 大数据文档生成方法、装置、设备及计算机可读存储介质
CN109299063A (zh) * 2018-07-02 2019-02-01 北京市天元网络技术股份有限公司 一种跨平台数据库迁移方法及系统
CN110851400A (zh) * 2018-07-25 2020-02-28 北京国双科技有限公司 文本数据的处理方法及装置
CN111352918A (zh) * 2018-12-21 2020-06-30 卓望数码技术(深圳)有限公司 一种终端数据库数据迁移方法及系统
CN111352918B (zh) * 2018-12-21 2023-05-23 卓望数码技术(深圳)有限公司 一种终端数据库数据迁移方法及系统
CN112817930A (zh) * 2019-11-15 2021-05-18 北京沃东天骏信息技术有限公司 一种数据迁移的方法和装置
CN111125213A (zh) * 2019-11-29 2020-05-08 北京数起科技有限公司 数据采集的方法、装置及其系统
CN110895522B (zh) * 2019-12-02 2022-06-03 中国银行股份有限公司 数据迁移方法及系统
CN110895522A (zh) * 2019-12-02 2020-03-20 中国银行股份有限公司 数据迁移方法及系统
CN111177247A (zh) * 2019-12-30 2020-05-19 腾讯科技(深圳)有限公司 一种数据转换的方法、装置及存储介质
CN111177247B (zh) * 2019-12-30 2023-10-20 腾讯科技(深圳)有限公司 一种数据转换的方法、装置及存储介质
CN111367890A (zh) * 2020-03-13 2020-07-03 深圳壹账通智能科技有限公司 一种数据迁移的方法、装置、计算机设备及可读存储介质
CN111367895B (zh) * 2020-03-31 2023-11-24 中国建设银行股份有限公司 数据迁移方法及装置
CN111367895A (zh) * 2020-03-31 2020-07-03 中国建设银行股份有限公司 数据迁移方法及装置
CN111752928A (zh) * 2020-06-30 2020-10-09 武汉虹信技术服务有限责任公司 一种数据库对象迁移方法及系统
CN112181951A (zh) * 2020-10-20 2021-01-05 新华三大数据技术有限公司 一种异构数据库数据迁移方法、装置及设备
CN112181951B (zh) * 2020-10-20 2022-03-25 新华三大数据技术有限公司 一种异构数据库数据迁移方法、装置及设备
CN112347080A (zh) * 2020-11-11 2021-02-09 金蝶云科技有限公司 一种数据迁移方法及相关装置
CN112650736A (zh) * 2020-12-31 2021-04-13 中国农业银行股份有限公司 一种数据迁移方法及装置
CN112925743A (zh) * 2021-02-07 2021-06-08 中国工商银行股份有限公司 一种文件生成方法、装置及存储介质
CN112667733A (zh) * 2021-03-15 2021-04-16 北京焦点新干线信息技术有限公司 数据仓库数据导入方法与系统
CN112765184A (zh) * 2021-04-07 2021-05-07 四川新网银行股份有限公司 一种基于Mysql分库分表的实时采集方法
CN113204538A (zh) * 2021-04-27 2021-08-03 北京百度网讯科技有限公司 用于数据迁移的方法、装置、设备、介质和程序产品
CN113656474A (zh) * 2021-08-05 2021-11-16 京东科技控股股份有限公司 业务数据的接入方法、装置、电子设备及存储介质
CN113742318A (zh) * 2021-09-14 2021-12-03 央视国际网络无锡有限公司 一种关系型数据库之间大数据迁移的方法
CN113742318B (zh) * 2021-09-14 2024-02-20 央视国际网络无锡有限公司 一种关系型数据库之间大数据迁移的方法
CN114896225A (zh) * 2022-05-25 2022-08-12 平安普惠企业管理有限公司 适用于大数据的数据迁移方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN107958057B (zh) 2022-04-05

Similar Documents

Publication Publication Date Title
CN107958057A (zh) 一种用于异构数据库中数据迁移的代码生成方法及装置
CN102999537B (zh) 一种数据迁移系统和方法
CN105069033A (zh) 一种创建数据库表模型的方法及装置
Barmpis et al. Hawk: Towards a scalable model indexing architecture
CN101901265B (zh) 一种虚拟试验数据对象化管理系统
CN104361018B (zh) 电子档案信息整编方法及装置
CN102033748A (zh) 一种数据处理流程代码的生成方法
CN111324610A (zh) 一种数据同步的方法及装置
CN105989150A (zh) 一种基于大数据环境的数据查询方法及装置
CN104331446A (zh) 一种基于内存映射的海量数据预处理方法
CN105683940A (zh) 处理混合流的数据流图
CN106062751A (zh) 对与数据类型有关的数据剖析操作的管理
WO2013175422A1 (en) Methodology supported business intelligence (bi) software and system
CN106445529A (zh) 持续集成服务器的配置信息的备份方法及系统
CN103955429B (zh) 确定回归测试范围的方法及装置
CN105224527A (zh) 适用于多种目的表更新方式的通用etl方法
Bidoit et al. Processing XML queries and updates on map/reduce clusters
CN115943351A (zh) 用于创建或更新数字孪生的方法和系统
CN115858513A (zh) 数据治理方法、装置、计算机设备和存储介质
CN106802928B (zh) 电网历史数据管理方法及其系统
AL-Msie'deen et al. Detecting commonality and variability in use-case diagram variants
Huang et al. Ymir: A rapid data-centric development platform for vision applications
CN114691643A (zh) 一种应用于国产化替代的数据迁移方法与系统
CN113434413B (zh) 基于数据差异的数据测试方法、装置、设备及存储介质
CN102508832B (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
CB02 Change of applicant information

Address after: 210000, 1-5 story, Jinshan building, 8 Shanxi Road, Nanjing, Jiangsu.

Applicant after: SUNING.COM Co.,Ltd.

Address before: 210042 Suning Headquarters, No. 1 Suning Avenue, Xuanwu District, Nanjing City, Jiangsu Province

Applicant before: SUNING COMMERCE GROUP Co.,Ltd.

GR01 Patent grant
GR01 Patent grant