CN113434482A - 数据迁移方法、装置、计算机设备及存储介质 - Google Patents

数据迁移方法、装置、计算机设备及存储介质 Download PDF

Info

Publication number
CN113434482A
CN113434482A CN202110720293.0A CN202110720293A CN113434482A CN 113434482 A CN113434482 A CN 113434482A CN 202110720293 A CN202110720293 A CN 202110720293A CN 113434482 A CN113434482 A CN 113434482A
Authority
CN
China
Prior art keywords
data table
target
database
field
matching
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
Application number
CN202110720293.0A
Other languages
English (en)
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.)
Ping An International Smart City Technology Co Ltd
Original Assignee
Ping An International Smart City 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 Ping An International Smart City Technology Co Ltd filed Critical Ping An International Smart City Technology Co Ltd
Priority to CN202110720293.0A priority Critical patent/CN113434482A/zh
Publication of CN113434482A publication Critical patent/CN113434482A/zh
Pending legal-status Critical Current

Links

Images

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
    • 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
    • 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/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/283Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP

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)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种数据迁移方法、装置、计算机设备及存储介质,涉及信息技术领域,主要在于能够批量创建数据表任务,提高数据迁移效率,同时能够减少仓储工程师的工作量。其中方法包括:获取源数据库和目标数据库分别对应的元数据信息;将所述源数据库对应的元数据信息与所述目标数据库对应的元数据信息进行匹配,生成所述源数据库与所述目标数据库之间的匹配信息;基于所述匹配信息,批量创建数据表任务;执行所述数据表任务,将所述源数据库中的数据迁移至所述目标数据库。本发明适用于数据迁移。

Description

数据迁移方法、装置、计算机设备及存储介质
技术领域
本发明涉及信息技术领域,尤其是涉及一种数据迁移方法、装置、计算机设备及存储介质。
背景技术
在数据仓库等技术领域中,通常需要将外部数据库中的数据导入至数据中心进行数据仓库建设,之后针对数据仓库中的数据进行数据分析,因此,高效地完成数据迁移对数据仓库等技术领域有重要意义。
目前,在将数据导入到数据仓库的过程中,数仓工程师通常会针对每一个数据表手动创建一个任务,以便根据创建的任务完成数据迁移。然而,如果外部数据库中存在大量数据,如一个数据库中存在上千张表,此时仓储工程师需要手动完成上千张表任务的创建,这种方式极大地增加了仓储工程师的工作量,且任务创建的效率较低,从而严重影响了数据迁移效率。
发明内容
本发明提供了一种数据迁移方法、装置、计算机设备及存储介质,主要在于能够批量创建数据表任务,提高数据迁移效率,同时能够减少仓储工程师的工作量。
根据本发明的第一个方面,提供一种数据迁移方法,包括:
获取源数据库和目标数据库分别对应的元数据信息;
将所述源数据库对应的元数据信息与所述目标数据库对应的元数据信息进行匹配,生成所述源数据库与所述目标数据库之间的匹配信息;
基于所述匹配信息,批量创建数据表任务;
执行所述数据表任务,将所述源数据库中的数据迁移至所述目标数据库。
根据本发明的第二个方面,提供一种数据迁移装置,包括:
获取单元,用于获取源数据库和目标数据库分别对应的元数据信息;
匹配单元,用于将所述源数据库对应的元数据信息与所述目标数据库对应的元数据信息进行匹配,生成所述源数据库与所述目标数据库之间的匹配信息;
创建单元,用于基于所述匹配信息,批量创建数据表任务;
迁移单元,用于执行所述数据表任务,将所述源数据库中的数据迁移至所述目标数据库。
根据本发明的第三个方面,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现以下步骤:
获取源数据库和目标数据库分别对应的元数据信息;
将所述源数据库对应的元数据信息与所述目标数据库对应的元数据信息进行匹配,生成所述源数据库与所述目标数据库之间的匹配信息;
基于所述匹配信息,批量创建数据表任务;
执行所述数据表任务,将所述源数据库中的数据迁移至所述目标数据库。
根据本发明的第四个方面,提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现以下步骤:
获取源数据库和目标数据库分别对应的元数据信息;
将所述源数据库对应的元数据信息与所述目标数据库对应的元数据信息进行匹配,生成所述源数据库与所述目标数据库之间的匹配信息;
基于所述匹配信息,批量创建数据表任务;
执行所述数据表任务,将所述源数据库中的数据迁移至所述目标数据库。
本发明提供的一种数据迁移方法、装置、计算机设备及存储介质,与目前数仓工程师针对每一个数据表手动创建任务的方式相比,本发明能够获取源数据库和目标数据库分别对应的元数据信息;并将所述源数据库对应的元数据信息与所述目标数据库对应的元数据信息进行匹配,生成所述源数据库与所述目标数据库之间的匹配信息;与此同时,基于所述匹配信息,批量创建数据表任务;最终执行所述数据表任务,将所述源数据库中的数据迁移至所述目标数据库,由此通过将源数据库对应的元数据信息与目标数据库对应的元数据信息进行匹配,能够基于匹配信息,批量创建数据表任务,从而能够减少仓储工程师的工作量,提高数据迁移效率。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1示出了本发明实施例提供的一种数据迁移方法流程图;
图2示出了本发明实施例提供的另一种数据迁移方法流程图;
图3示出了本发明实施例提供的一种数据迁移装置的结构示意图;
图4示出了本发明实施例提供的另一种数据迁移装置的结构示意图;
图5示出了本发明实施例提供的一种计算机设备的实体结构示意图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
目前,在将数据导入到数据仓库的过程中,数仓工程师通常会针对每一个数据表手动创建一个任务,以便根据创建的任务完成数据迁移。然而,如果外部数据库中存在大量数据,如一个数据库中存在上千张表,此时仓储工程师需要手动完成上千张表任务的创建,这种方式极大地增加了仓储工程师的工作量,且任务创建的效率较低,从而严重影响了数据迁移效率。
为了解决上述问题,本发明实施例提供了一种数据迁移方法,如图1所示,所述方法包括:
101、获取源数据库和目标数据库分别对应的元数据信息。
其中,目标数据库用于接收并存储源数据库中的数据,源数据库对应的元数据信息包括源数据库中各个第一数据表对应的数据表信息和字段信息,目标数据库对应的元数据信息包括目标数据库中各个第二数据表对应的数据表信息和字段信息,数据表信息具体可以为数据表名称,字段信息具体可以为字段类型、字段名称等。为了克服现有技术中仓储工程师工作量大,且数据迁移效率低的缺陷,本发明实施例通过将源数据库对应的元数据信息与目标数据库对应的元数据信息进行匹配,能够基于匹配信息,批量创建数据表任务,从而能够减少仓储工程师的工作量,提高数据迁移效率。本发明实施例主要应用于将数据从外部数据库导入至数据中心的场景。本发明实施例的执行主体为能够进行数据迁移的装置或者设备,具体可以设置在服务器一侧。
对于本发明实施例,在完成对源数据库和目标数据库的配置后,当用户触发数据迁移指令时,服务器会采集源数据库对应的元数据信息,并根据采集到的源数据库对应的元数据信息,在目标数据库中建立相应的数据表和字段,进而能够获取目标数据库对应的元数据信息。
102、将所述源数据库对应的元数据信息与所述目标数据库对应的元数据信息进行匹配,生成所述源数据库与所述目标数据库之间的匹配信息。
其中,源数据库与目标数据库之间的匹配信息包括源数据库与目标数据库之间的表匹配信息和字段匹配信息,该表匹配信息为源数据库中的第一数据表和目标数据库中的第二数据表之间的表匹配信息,具体包括将第一数据表和第二数据表标记为匹配或者不匹配;该字段匹配信息为相匹配的第一数据表和第二数据表中两个字段之间的字段匹配信息,具体包括将第一数据表中的字段与第二数据表中的字段标记为匹配或者不匹配。
对于本发明实施例,为了能够批量创建数据表任务,需要获取源数据库与目标数据库之间的匹配信息,具体地,将源数据库中各个第一数据表对应的数据表信息与目标数据库中各个第二数据表对应的数据表信息进行匹配,若源数据库中某个第一数据表对应的数据表信息与目标数据库中各个第二数据表对应的数据表信息均不相同,则确定不存在与该第一数据表相匹配的第二数据表,此时需要通过相似度计算找到与该第一数据表最相近的第二数据表,并建立两个数据表之间的映射关系,将两者标记为不匹配,其中,相似度的具体计算过程见步骤203;若源数据库中某个第一数据表对应的数据表信息与目标数据库中某个第二数据表对应的数据表信息相同,则确定源数据库中的第一数据表与目标数据库中的第二数据表相匹配,并建立该第一数据表和该第二数据表之间的映射关系,并将二者标记为匹配,进而生成表匹配信息。
进一步地,在确定源数据库中某个第一数据表与目标数据库中某个第二数据表相匹配之后,将该第一数据表中各个字段对应的字段信息与第二数据表中各个字段对应的字段信息进行匹配,若第一数据表中某个字段对应的字段信息与第二数据表中各个字段对应的字段信息均不相同,则确定第二数据表中不存在与第一数据表中某个字段相匹配的字段,此时需要通过相似度计算从第二数据表中找到与该字段最相近的字段,并建立两个字段之间的映射关系,将两者标记为不匹配;若第一数据表中某个字段对应的字段信息与第二数据中某个字段对应的字段信息相同,则确定第一数据表和第二数据表中的两个字段相匹配,并建立两者之间的映射关系,将其标记为匹配,进而生成字段匹配信息,进一步地,根据表匹配信息和字段匹配信息,确定源数据库和目标数据库之间的匹配信息。
103、基于所述匹配信息,批量创建数据表任务。
对于本发明实施例,根据该匹配信息,确定源数据库和目标数据库中相匹配的数据表和字段,针对相匹配的数据表和字段,批量创建数据表任务。例如,根据该匹配信息,确定源数据库中的数据表A和数据表B分别与目标数据库中的数据表a和数据表b相匹配,且数据表A中的字段1和字段2分别与数据表a中的字段3和字段4相匹配,数据表B中的字段5和字段6分别与数据表b中的字段7和字段8相匹配,则根据该匹配信息,创建数据表A和数据表a之间的数据迁移任务,以及数据表B和数据表b之间的数据迁移任务。
104、执行所述数据表任务,将所述源数据库中的数据迁移至所述目标数据库。
对于本发明实施例,当用户点击一键搬库的按钮时,ETL工具会批量执行创建的数据表任务,具体可以将创建的数据表任务放入队列中,通过启动线程的方式来执行,具体地,如果后台服务器资源足够,可以一同执行队列中的任务;如果后台服务器资源不足,可以分批执行队列中的任务,通过执行任务,将源数据库中的数据写入目标数据库中,完成数据的迁移。进一步地,用户还可以查看执行结果,对于迁移失败的任务,用户可以通过设置增量字段继续执行。
本发明实施例提供的一种数据迁移方法,与目前数仓工程师针对每一个数据表手动创建任务的方式相比,本发明能够获取源数据库和目标数据库分别对应的元数据信息;并将所述源数据库对应的元数据信息与所述目标数据库对应的元数据信息进行匹配,生成所述源数据库与所述目标数据库之间的匹配信息;与此同时,基于所述匹配信息,批量创建数据表任务;最终执行所述数据表任务,将所述源数据库中的数据迁移至所述目标数据库,由此通过将源数据库对应的元数据信息与目标数据库对应的元数据信息进行匹配,能够基于匹配信息,批量创建数据表任务,从而能够减少仓储工程师的工作量,提高数据迁移效率。
进一步的,为了更好的说明上述批量创建数据表任务的过程,作为对上述实施例的细化和扩展,本发明实施例提供了另一种数据迁移方法,如图2所示,所述方法包括:
201、分别配置所述源数据库和所述目标数据库对应的数据库信息,并基于所述源数据库对应的数据库信息,采集所述源数据库对应的元数据信息。
对于本发明实施例,在批量创建数据迁移过程中的数据表任务之前,需要对源数据库和目标数据库进行配置,具体包括源数据库对应的ip地址、端口、数据库名称、用户名、密码、schema等信息,以及目标数据库对应的ip地址、端口、数据库名称、用户名、密码、schema等信息,进一步地,对源数据库对应的元数据进行采集,得到源数据库对应的元数据信息,主要包括数据表信息、字段信息和视图信息等。
202、基于所述源数据库对应的元数据信息,生成所述目标数据库对应的元数据信息。
对于本发明实施例,为了生成目标数据库对应的元数据信息,步骤202具体包括:若所述源数据库对应的数据库类型与所述目标数据库对应的数据库类型相同,则根据所述源数据库对应的元数据信息,生成并执行SQL建表语句,得到所述目标数据库对应的元数据信息;若所述源数据库对应的数据库类型与所述目标数据库对应的数据库类型不同,则根据预设字段类型映射关系,对所述源数据库对应的元数据信息进行字段类型的转化,得到所述源数据库对应的转化后的元数据信息,并基于所述转化后的元数据信息,生成并执行SQL建表语句,得到所述目标数据库对应的元数据信息。
具体地,在采集完源数据库对应的元数据信息后,根据源数据库对应的元数据信息,在目标数据库上建立相对应的数据表和字段。具体地,如果源数据库与目标数据库是相同类型的数据库,则直接根据源数据库对应的元数据信息,生成建表SQL语句,通过执行建表SQL语句,在目标数据库中建立相应的数据表和字段;如果源数据库与目标数据库是异构类型的数据库,则基于预设的字段类型映射关系,将源数据库中数据表的字段类型转化为目标数据库所支持的字段类型,例如,源数据库为Oacle数据库,其支持的字段类型为VARCHAR2(n),目标数据库为Mysql数据库,其支持的字段类型为VARCHAR(n),因此在目标数据库建表的过程中,需要将源数据库中的VARCHAR2(n)字段类型转化为VARCHAR(n)字段类型,之后再根据源数据库对应的数据表信息、转化后的字段信息,生成建表SQL语句,通过执行建表SQL语句,在目标数据中建立相应的数据表和字段。
进一步地,在目标数据库中创建相应的数据表之后,当接收到用户触发的数据迁移指令时,会获取用户选定的源数据库对应的元数据信息和目标数据库对应的元数据信息,即自动读取源数据库对应的数据表信息和字段信息,以及目标数据库对应的数据表信息和字段信息,以便将源数据库对应的元数据信息与目标数据库对应的元数据信息进行匹配,根据匹配结果,批量创建和执行数据表任务,从而提高数据迁移效率。
203、将所述源数据库对应的元数据信息与所述目标数据库对应的元数据信息进行匹配,生成所述源数据库与所述目标数据库之间的匹配信息。
其中,所述源数据库对应的元数据信息包括所述源数据库中各个第一数据表对应的数据表信息和字段信息,所述目标数据库对应的元数据信息包括所述目标数据库中各个第二数据表对应的数据表信息和字段信息。
对于本发明实施例,为了获取源数据库与目标数据库之间的匹配信息,步骤203具体包括:将所述各个第一数据表中目标第一数据表对应的数据表信息与所述各个第二数据对应的数据表信息进行匹配;若所述各个第二数据表中存在与所述目标第一数据表相匹配的目标第二数据表,则建立所述目标第一数据表和所述目标第二数据表之间的表映射关系,并基于所述表映射关系,生成所述目标第一数据和所述目标第二数据表之间的表匹配信息;将所述目标第一数据表中各个字段对应字段信息与所述目标第二数据表中各个字段对应的字段信息进行匹配,根据匹配结果,生成字段匹配信息;根据所述表匹配信息和所述字段匹配信息,确定所述源数据库与所述目标数据库之间的匹配信息。其中,目标第一数据表指源数据库中各个第一数据表中的任意一个数据表。
具体地,将源数据库的各个第一数据表中的任意一个数据表(目标第一数据表)对应的数据表信息与目标数据库中各个第二数据表对应的数据表信息进行匹配,判断各个第二数据表中是否存在与目标第一数据表相匹配的目标第二数据表,若某第二数据表对应的数据表信息与目标第一数据表对应的数据表信息相同,则确定该第二数据表为目标第二数据表,即目标第一数据表与目标第二数据表相匹配,并构建两者之间的映射关系,将其标记为匹配,进而生成目标第一数据表和目标第二数据表之间的表匹配信息。进一步地,将目标第一数据表中各个字段对应的字段信息与目标第二数据表中各个字段对应的字段进行匹配,如将目标第一数据表中字段A对应的字段信息与目标第二数据表中各个字段对应的字段信息进行匹配,如果目标第二数据表中存在与字段A对应的字段信息相同的目标字段,则确定目标字段与字段A相匹配,并建立两个字段之间的映射关系,将其标记为匹配,进而生成字段匹配信息。
进一步地,针对生成字段匹配信息的具体过程,作为一种可选实施方式,所述方法包括:若所述目标第一数据表的各个字段中目标字段对应的字段类型为主键字段,则将所述目标字段确定为目标增量字段,并将所述目标增量字段对应的字段信息与所述目标第二数据表中增量字段对应的字段信息进行匹配,根据匹配结果,生成主键字段匹配信息;若所述目标字段对应的字段类型为非主键字段,则将所述目标字段对应的字段信息与所述目标第二数据表中非增量字段对应的字段信息进行匹配,根据匹配结果,生成非主键字段匹配信息。其中,目标字段为目标第一数据表的各个字段中的任意一个字段。
例如,确定源数据库中的第一数据表A与目标数据库中的第二数据表a相匹配,则需要进一步确定第一数据表A与第二数据表a中相匹配的字段,在进行字段匹配的过程中,需要首先确定字段类型,如果第一数据表A中的目标字段为普通字段,即非主键字段,则直接利用字段信息(字段名称)进行匹配;如果第一数据表中的目标字段为主键字段,则默认作为增量字段与第二数据表a中的增量字段进行匹配。
在具体应用场景中,为了便于用户对数据表之间的匹配关系进行调整,当目标数据库中不存在与目标第一数据表相匹配的第二数据表时,可以计算目标第一数据表与各个第二数据表之间的相似度,并根据该相似度挑选与目标第一数据表最相近的第二数据表,基于此,在所述将所述各个第一数据表中目标第一数据表对应的数据表信息与所述各个第二数据对应的数据表信息进行匹配之后,所述方法还包括:若所述各个第二数据表中不存在与所述目标第一数据表相匹配的目标第二数据表,则分别计算所述各个第二数据表对应的数据表信息与所述目标第一数据表对应的数据表信息之间的相似度,基于所述相似度,确定所述各个第二数据表中与所述目标第一数据表最相近的第二数据表;建立所述目标第一数据表和所述最相近的第二数据表之间的表映射关系,并基于所述表映射关系,生成所述目标第一数据和所述最相近的第二数据表之间的表匹配信息。
例如,确定与目标第一数据表最相近的第二数据表为第二数据表A,建立目标第一数据表与第二数据表A之间的表映射关系,并将目标第一数据表和第二数据表A标记为不匹配,进而生成目标第一数据表和第二数据表A之间的表匹配信息。在生成完所有第一数据表与第二数据表之间的匹配信息之后,将该匹配信息以web形式展示给用户,用户可以对数据表之间的标记进行调整,如将目标第一数据表和第二数据表A之间的标记调整为匹配,或者也可以通过修改第二数据表A对应的数据表信息,重新生成两者之间的表匹配信息,将其调整为匹配。
进一步地,在计算各个第二数据表分别与目标第一数据表之间的相似度的过程中,如果第一数据表和第二数据表对应的数据表信息(数据表名称)为字符串,则分别计算各个第二数据表对应的字符串与目标第一数据表对应的字符串之间的编辑距离,基于该编辑距离从各个第二数据表中挑选出与目标第一数据表最相近的第一数据表,其中,该编辑距离越大,说明数据表之间的相似度越小,相反该编辑距离越小,说明数据表之间的相似度越大,因此可以从计算的各个编辑距离中挑选出最小编辑距离对应的第二数据表,并将最小编辑距离对应的第二数据表确定为与目标第一数据表最相近的第二数据表。
例如,第二数据表对应的字符串A为adfgc,目标第一数据表对应的字符串B为aefbc,在计算字符串A与字符串B之间的编辑距离时,将字符串A中的各个字符与字符串B中的各个字符分别进行比较,确定字符串A与字符串B不相同的字符的数量,由于字符串A中的第二个字符“d”与字符串B中的第二个字符“e”不同,且字符串A中的第四个字符“g”与字符串B中的第四个字符“b”不同,因此可以确定字符串A与字符串B之间的编辑距离为2,即第二数据表与目标第一数据表之间的编辑距离为2,由此按照上述方式能够计算出目标数据库中各个第二数据表分别与目标第一数据表之间的编辑距离,进而能够挑选出最小编辑距离,并将最小编辑距离对应的第二数据表确定为与目标第一数据表最相近的第二数据表。
在具体应用场景中,如果第一数据表和第二数据表对应的数据表信息(数据表名称)为字段,则可以利用现有技术中的word2vec的词向量方法,分别确定第二数据表和目标第一数据表对应的向量,之后分别计算各个第二数据表对应的向量和目标第一数据表对应的向量之间的欧式距离,其中,欧式距离越大,说明数据表之间的相似度越小,相反欧式距离越小,说明数据表之间的相似度越大,由此可以从计算的多个欧式距离中挑选出最小欧式距离对应的第二数据表,并将最小欧式距离对应的第二数据表确定为与目标第一数据表最相近的第二数据表。
204、基于所述匹配信息,批量创建数据表任务。
对于本发明实施例,为批量创建数据表任务,步骤204具体包括:根据所述表匹配信息,确定标记为匹配的第一数据表和第二数据表;根据所述字段匹配信息,确定所述标记为匹配的第一数据表和第二数据表共同对应的匹配字段;基于所述标记为匹配的第一数据表和第二数据表,以及所述匹配字段,分别生成数据读取函数和数据写入函数;基于所述数据读取函数和所述数据写入函数,批量创建执行文件;基于所述执行文件,确定所述数据表任务。
具体地,在批量创建数据表任务的过程中,需要批量生成执行文件,每个执行文件中包含数据读取函数和数据写入函数,该数据读取函数用于读取源数据库中第一数据表中的数据,该数据写入函数用于将第一数据表中的数据写入目标数据库中相应的第二数据表中,数据读取函数对应有数据读取参数,该数据读取参数代表读取数据所在的第一数据表和字段,数据写入函数对应有数据写入参数,该数据写入参数代表写入数据的数据表和字段。在现有技术中,需要仓储工程师手动填写上述的数据读取参数和数据写入参数,从而导致数据迁移的效率较低,而在本发明实施例中,可以直接从生成的匹配信息中读取标记为匹配的每组数据表及其对应的匹配字段,进而根据标记为匹配的每组数据表及其对应的匹配字段,批量创建执行文件,每个执行文件对应一组标记为匹配的数据表,进一地,通过执行创建的执行文件,能够完成数据的迁移。
例如,通过该匹配信息,确定源数据库中的数据表1与目标数据库的数据表2标记为匹配,数据表1中的字段a和数据表2中的字段b标记为匹配,在创建针对数据表1和数据表2的执行文件的过程中,将数据表1和字段a作为数据读取参数,生成数据表1的数据读取函数,同理将数据表2和字段b作为数据写入参数,生成数据表2的数据写入函数,基于生成的数据读取函数和数据写入函数,创建针对数据表1和数据表2的执行文件,进而能够创建数据表1和数据表2之间的数据迁移任务。
205、执行所述数据表任务,将所述源数据库中的数据迁移至所述目标数据库。
对于本发明实施例,在批量创建数据表任务后,将源数据库中的数据迁移至目标数据库,数据迁移过程与步骤104完全相同,在此不再赘述。
本发明实施例提供的另一种数据迁移方法,与目前数仓工程师针对每一个数据表手动创建任务的方式相比,本发明能够获取源数据库和目标数据库分别对应的元数据信息;并将所述源数据库对应的元数据信息与所述目标数据库对应的元数据信息进行匹配,生成所述源数据库与所述目标数据库之间的匹配信息;与此同时,基于所述匹配信息,批量创建数据表任务;最终执行所述数据表任务,将所述源数据库中的数据迁移至所述目标数据库,由此通过将源数据库对应的元数据信息与目标数据库对应的元数据信息进行匹配,能够基于匹配信息,批量创建数据表任务,从而能够减少仓储工程师的工作量,提高数据迁移效率。
进一步地,作为图1的具体实现,本发明实施例提供了一种数据迁移装置,如图3所示,所述装置包括:获取单元31、匹配单元32、创建单元33和迁移单元34。
所述获取单元31,可以用于获取源数据库和目标数据库分别对应的元数据信息。
所述匹配单元32,可以用于将所述源数据库对应的元数据信息与所述目标数据库对应的元数据信息进行匹配,生成所述源数据库与所述目标数据库之间的匹配信息。
所述创建单元33,可以用于基于所述匹配信息,批量创建数据表任务。
所述迁移单元34,可以用于执行所述数据表任务,将所述源数据库中的数据迁移至所述目标数据库。
在具体应用场景中,所述源数据库对应的元数据信息包括所述源数据库中各个第一数据表对应的数据表信息和字段信息,所述目标数据库对应的元数据信息包括所述目标数据库中各个第二数据表对应的数据表信息和字段信息,如图4所示,所述匹配单元32,包括:匹配模块321、生成模块322和确定模块323。
所述匹配模块321,可以用于将所述各个第一数据表中目标第一数据表对应的数据表信息与所述各个第二数据对应的数据表信息进行匹配。
所述生成模块322,可以用于若所述各个第二数据表中存在与所述目标第一数据表相匹配的目标第二数据表,则建立所述目标第一数据表和所述目标第二数据表之间的表映射关系,并基于所述表映射关系,生成所述目标第一数据和所述目标第二数据表之间的表匹配信息。
所述生成模块322,还可以用于将所述目标第一数据表中各个字段对应字段信息与所述目标第二数据表中各个字段对应的字段信息进行匹配,根据匹配结果,生成字段匹配信息。
所述确定模块323,可以用于根据所述表匹配信息和所述字段匹配信息,确定所述源数据库与所述目标数据库之间的匹配信息。
进一步地,所述匹配单元32还包括:计算模块324。
所述计算模块324,可以用于若所述各个第二数据表中不存在与所述目标第一数据表相匹配的目标第二数据表,则分别计算所述各个第二数据表对应的数据表信息与所述目标第一数据表对应的数据表信息之间的相似度,基于所述相似度,确定所述各个第二数据表中与所述目标第一数据表最相近的第二数据表。
所述生成模块322,还可以用于建立所述目标第一数据表和所述最相近的第二数据表之间的表映射关系,并基于所述表映射关系,生成所述目标第一数据和所述最相近的第二数据表之间的表匹配信息。
进一步地,搜书生成模块322,具体可以用于若所述目标第一数据表的各个字段中目标字段对应的字段类型为主键字段,则将所述目标字段确定为目标增量字段,并将所述目标增量字段对应的字段信息与所述目标第二数据表中增量字段对应的字段信息进行匹配,根据匹配结果,生成主键字段匹配信息;若所述目标字段对应的字段类型为非主键字段,则将所述目标字段对应的字段信息与所述目标第二数据表中非增量字段对应的字段信息进行匹配,根据匹配结果,生成非主键字段匹配信息。
在具体应用场景中,所述创建单元33包括:确定模块331、生成模块332和创建模块333。
所述确定模块331,可以用于根据所述表匹配信息,确定标记为匹配的第一数据表和第二数据表。
所述确定模块331,还可以用于根据所述字段匹配信息,确定所述标记为匹配的第一数据表和第二数据表共同对应的匹配字段。
所述生成模块332,可以用于基于所述标记为匹配的第一数据表和第二数据表,以及所述匹配字段,分别生成数据读取函数和数据写入函数。
所述创建模块333,可以用于基于所述数据读取函数和所述数据写入函数,批量创建执行文件。
所述确定模块331,还可以用于基于所述执行文件,确定所述数据表任务。
进一步地,所述获取单元31包括:配置模块311、采集模块312和生成模块313。
所述配置模块311,可以用于分别配置所述源数据库和所述目标数据库对应的数据库信息。
所述采集模块312,可以用于基于所述源数据库对应的数据库信息,采集所述源数据库对应的元数据信息。
所述生成模块313,可以用于基于所述源数据库对应的元数据信息,生成所述目标数据库对应的元数据信息。
进一步地,所述生成模块313,具体可以用于若所述源数据库对应的数据库类型与所述目标数据库对应的数据库类型相同,则根据所述源数据库对应的元数据信息,生成并执行SQL建表语句,得到所述目标数据库对应的元数据信息;若所述源数据库对应的数据库类型与所述目标数据库对应的数据库类型不同,则根据预设字段类型映射关系,对所述源数据库对应的元数据信息进行字段类型的转化,得到所述源数据库对应的转化后的元数据信息,并基于所述转化后的元数据信息,生成并执行SQL建表语句,得到所述目标数据库对应的元数据信息。
需要说明的是,本发明实施例提供的一种数据迁移装置所涉及各功能模块的其他相应描述,可以参考图1所示方法的对应描述,在此不再赘述。
基于上述如图1所示方法,相应的,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现以下步骤:获取源数据库和目标数据库分别对应的元数据信息;将所述源数据库对应的元数据信息与所述目标数据库对应的元数据信息进行匹配,生成所述源数据库与所述目标数据库之间的匹配信息;基于所述匹配信息,批量创建数据表任务;执行所述数据表任务,将所述源数据库中的数据迁移至所述目标数据库。
基于上述如图1所示方法和如图3所示装置的实施例,本发明实施例还提供了一种计算机设备的实体结构图,如图5所示,该计算机设备包括:处理器41、存储器42、及存储在存储器42上并可在处理器上运行的计算机程序,其中存储器42和处理器41均设置在总线43上所述处理器41执行所述程序时实现以下步骤:获取源数据库和目标数据库分别对应的元数据信息;将所述源数据库对应的元数据信息与所述目标数据库对应的元数据信息进行匹配,生成所述源数据库与所述目标数据库之间的匹配信息;基于所述匹配信息,批量创建数据表任务;执行所述数据表任务,将所述源数据库中的数据迁移至所述目标数据库。
通过本发明的技术方案,本发明能够获取源数据库和目标数据库分别对应的元数据信息;并将所述源数据库对应的元数据信息与所述目标数据库对应的元数据信息进行匹配,生成所述源数据库与所述目标数据库之间的匹配信息;与此同时,基于所述匹配信息,批量创建数据表任务;最终执行所述数据表任务,将所述源数据库中的数据迁移至所述目标数据库,由此通过将源数据库对应的元数据信息与目标数据库对应的元数据信息进行匹配,能够基于匹配信息,批量创建数据表任务,从而能够减少仓储工程师的工作量,提高数据迁移效率。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。

Claims (10)

1.一种数据迁移方法,其特征在于,包括:
获取源数据库和目标数据库分别对应的元数据信息;
将所述源数据库对应的元数据信息与所述目标数据库对应的元数据信息进行匹配,生成所述源数据库与所述目标数据库之间的匹配信息;
基于所述匹配信息,批量创建数据表任务;
执行所述数据表任务,将所述源数据库中的数据迁移至所述目标数据库。
2.根据权利要求1所述的方法,其特征在于,所述源数据库对应的元数据信息包括所述源数据库中各个第一数据表对应的数据表信息和字段信息,所述目标数据库对应的元数据信息包括所述目标数据库中各个第二数据表对应的数据表信息和字段信息,所述将所述源数据库对应的元数据信息与所述目标数据库对应的元数据信息进行匹配,生成所述源数据库与所述目标数据库之间的匹配信息,包括:
将所述各个第一数据表中目标第一数据表对应的数据表信息与所述各个第二数据对应的数据表信息进行匹配;
若所述各个第二数据表中存在与所述目标第一数据表相匹配的目标第二数据表,则建立所述目标第一数据表和所述目标第二数据表之间的表映射关系,并基于所述表映射关系,生成所述目标第一数据和所述目标第二数据表之间的表匹配信息;
将所述目标第一数据表中各个字段对应字段信息与所述目标第二数据表中各个字段对应的字段信息进行匹配,根据匹配结果,生成字段匹配信息;
根据所述表匹配信息和所述字段匹配信息,确定所述源数据库与所述目标数据库之间的匹配信息。
3.根据权利要求2所述的方法,其特征在于,在所述将所述各个第一数据表中目标第一数据表对应的数据表信息与所述各个第二数据对应的数据表信息进行匹配之后,所述方法还包括:
若所述各个第二数据表中不存在与所述目标第一数据表相匹配的目标第二数据表,则分别计算所述各个第二数据表对应的数据表信息与所述目标第一数据表对应的数据表信息之间的相似度,基于所述相似度,确定所述各个第二数据表中与所述目标第一数据表最相近的第二数据表;
建立所述目标第一数据表和所述最相近的第二数据表之间的表映射关系,并基于所述表映射关系,生成所述目标第一数据和所述最相近的第二数据表之间的表匹配信息。
4.根据权利要求2所述的方法,其特征在于,所述将所述目标第一数据表中各个字段对应字段信息与所述目标第二数据表中各个字段对应的字段信息进行匹配,根据匹配结果,生成字段匹配信息,包括:
若所述目标第一数据表的各个字段中目标字段对应的字段类型为主键字段,则将所述目标字段确定为目标增量字段,并将所述目标增量字段对应的字段信息与所述目标第二数据表中增量字段对应的字段信息进行匹配,根据匹配结果,生成主键字段匹配信息;
若所述目标字段对应的字段类型为非主键字段,则将所述目标字段对应的字段信息与所述目标第二数据表中非增量字段对应的字段信息进行匹配,根据匹配结果,生成非主键字段匹配信息。
5.根据权利要求2所述的方法,其特征在于,所述基于所述匹配信息,批量创建数据表任务,包括:
根据所述表匹配信息,确定标记为匹配的第一数据表和第二数据表;
根据所述字段匹配信息,确定所述标记为匹配的第一数据表和第二数据表共同对应的匹配字段;
基于所述标记为匹配的第一数据表和第二数据表,以及所述匹配字段,分别生成数据读取函数和数据写入函数;
基于所述数据读取函数和所述数据写入函数,批量创建执行文件;
基于所述执行文件,确定所述数据表任务。
6.根据权利要求1所述的方法,其特征在于,所述获取源数据库和目标数据库分别对应的元数据信息,包括:
分别配置所述源数据库和所述目标数据库对应的数据库信息;
基于所述源数据库对应的数据库信息,采集所述源数据库对应的元数据信息;
基于所述源数据库对应的元数据信息,生成所述目标数据库对应的元数据信息。
7.根据权利要求6所述的方法,其特征在于,所述基于所述源数据库对应的元数据信息,生成所述目标数据库对应的元数据信息,包括:
若所述源数据库对应的数据库类型与所述目标数据库对应的数据库类型相同,则根据所述源数据库对应的元数据信息,生成并执行SQL建表语句,得到所述目标数据库对应的元数据信息;
若所述源数据库对应的数据库类型与所述目标数据库对应的数据库类型不同,则根据预设字段类型映射关系,对所述源数据库对应的元数据信息进行字段类型的转化,得到所述源数据库对应的转化后的元数据信息,并基于所述转化后的元数据信息,生成并执行SQL建表语句,得到所述目标数据库对应的元数据信息。
8.一种数据迁移装置,其特征在于,包括:
获取单元,用于获取源数据库和目标数据库分别对应的元数据信息;
匹配单元,用于将所述源数据库对应的元数据信息与所述目标数据库对应的元数据信息进行匹配,生成所述源数据库与所述目标数据库之间的匹配信息;
创建单元,用于基于所述匹配信息,批量创建数据表任务;
迁移单元,用于执行所述数据表任务,将所述源数据库中的数据迁移至所述目标数据库。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
CN202110720293.0A 2021-06-28 2021-06-28 数据迁移方法、装置、计算机设备及存储介质 Pending CN113434482A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110720293.0A CN113434482A (zh) 2021-06-28 2021-06-28 数据迁移方法、装置、计算机设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110720293.0A CN113434482A (zh) 2021-06-28 2021-06-28 数据迁移方法、装置、计算机设备及存储介质

Publications (1)

Publication Number Publication Date
CN113434482A true CN113434482A (zh) 2021-09-24

Family

ID=77754993

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110720293.0A Pending CN113434482A (zh) 2021-06-28 2021-06-28 数据迁移方法、装置、计算机设备及存储介质

Country Status (1)

Country Link
CN (1) CN113434482A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113901033A (zh) * 2021-11-10 2022-01-07 建信金融科技有限责任公司 数据迁移方法、装置、设备及介质
CN113961625A (zh) * 2021-10-27 2022-01-21 北京科杰科技有限公司 一种异构大数据管理平台任务迁移方法
CN114385623A (zh) * 2021-11-30 2022-04-22 北京达佳互联信息技术有限公司 数据表获取方法、设备、装置、存储介质及程序产品
CN114780252A (zh) * 2022-06-15 2022-07-22 阿里云计算有限公司 数据仓库***的资源管理方法及装置
CN114816578A (zh) * 2022-05-11 2022-07-29 上海柯林布瑞信息技术有限公司 基于配置表的程序配置文件生成方法、装置及设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140279890A1 (en) * 2013-03-14 2014-09-18 Microsoft Corporation Data migration framework
CN104281704A (zh) * 2014-10-22 2015-01-14 新华瑞德(北京)网络科技有限公司 数据库数据拷贝方法和装置
CN111241071A (zh) * 2020-02-14 2020-06-05 苏州浪潮智能科技有限公司 一种数据迁移方法、***、设备及计算机可读存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140279890A1 (en) * 2013-03-14 2014-09-18 Microsoft Corporation Data migration framework
CN104281704A (zh) * 2014-10-22 2015-01-14 新华瑞德(北京)网络科技有限公司 数据库数据拷贝方法和装置
CN111241071A (zh) * 2020-02-14 2020-06-05 苏州浪潮智能科技有限公司 一种数据迁移方法、***、设备及计算机可读存储介质

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113961625A (zh) * 2021-10-27 2022-01-21 北京科杰科技有限公司 一种异构大数据管理平台任务迁移方法
CN113961625B (zh) * 2021-10-27 2022-06-07 北京科杰科技有限公司 一种异构大数据管理平台任务迁移方法
CN113901033A (zh) * 2021-11-10 2022-01-07 建信金融科技有限责任公司 数据迁移方法、装置、设备及介质
CN114385623A (zh) * 2021-11-30 2022-04-22 北京达佳互联信息技术有限公司 数据表获取方法、设备、装置、存储介质及程序产品
CN114816578A (zh) * 2022-05-11 2022-07-29 上海柯林布瑞信息技术有限公司 基于配置表的程序配置文件生成方法、装置及设备
CN114816578B (zh) * 2022-05-11 2024-05-17 上海柯林布瑞信息技术有限公司 基于配置表的程序配置文件生成方法、装置及设备
CN114780252A (zh) * 2022-06-15 2022-07-22 阿里云计算有限公司 数据仓库***的资源管理方法及装置
CN114780252B (zh) * 2022-06-15 2022-11-18 阿里云计算有限公司 数据仓库***的资源管理方法及装置

Similar Documents

Publication Publication Date Title
CN113434482A (zh) 数据迁移方法、装置、计算机设备及存储介质
CN110292775B (zh) 获取差异数据的方法及装置
CN102426582B (zh) 数据操作管理装置和数据操作管理方法
CN111125229B (zh) 数据血缘生成方法、装置、电子设备
CN111008521B (zh) 生成宽表的方法、装置及计算机存储介质
CN107870949B (zh) 数据分析作业依赖关系生成方法和***
CN110134663B (zh) 组织结构数据处理方法、装置、电子设备
CN107423037B (zh) 应用程序接口定位方法及设备
CN116560683A (zh) 软件更新方法、装置、设备及存储介质
CN111427577A (zh) 代码处理方法、装置及服务器
US20090100082A1 (en) Replication and mapping mechanism for recreating memory durations
CN113407565B (zh) 跨库数据查询方法、装置和设备
CN116737113B (zh) 面向海量科学数据的元数据目录管理***及方法
CN111949845A (zh) 处理测绘信息的方法、装置、计算机设备和存储介质
CN109697234B (zh) 实体的多属性信息查询方法、装置、服务器和介质
CN112052222A (zh) 异构对象存储集群访问方法、装置、设备及存储介质
CN111666302A (zh) 用户排名的查询方法、装置、设备及存储介质
CN111078671A (zh) 数据表字段的修改方法、装置、设备和介质
CN115114297A (zh) 数据轻量存储及查找方法、装置、电子设备及存储介质
CN112181796B (zh) 信息采集方法、装置、服务器及存储介质
CN111309821B (zh) 基于图数据库的任务调度方法、装置及电子设备
CN112463896A (zh) 档案编目数据处理方法、装置、计算设备及存储介质
CN111782834A (zh) 图像检索的方法、装置、设备及计算机可读存储介质
CN110609854A (zh) 字段名查询方法、***、电子设备及计算机存储介质
CN114185937B (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20210924

RJ01 Rejection of invention patent application after publication