CN116775599A - 数据迁移方法、装置、电子设备、存储介质 - Google Patents
数据迁移方法、装置、电子设备、存储介质 Download PDFInfo
- Publication number
- CN116775599A CN116775599A CN202310618902.0A CN202310618902A CN116775599A CN 116775599 A CN116775599 A CN 116775599A CN 202310618902 A CN202310618902 A CN 202310618902A CN 116775599 A CN116775599 A CN 116775599A
- Authority
- CN
- China
- Prior art keywords
- data
- source
- target
- input object
- configuration item
- 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
- 238000013508 migration Methods 0.000 title claims abstract description 162
- 230000005012 migration Effects 0.000 title claims abstract description 162
- 238000000034 method Methods 0.000 title claims abstract description 73
- 238000006243 chemical reaction Methods 0.000 claims abstract description 55
- 238000013499 data model Methods 0.000 claims abstract description 41
- 238000013507 mapping Methods 0.000 claims description 18
- 238000011161 development Methods 0.000 abstract description 7
- 238000004590 computer program Methods 0.000 description 14
- 238000012545 processing Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000007405 data analysis Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种数据迁移方法及装置,属于计算机技术领域,用于解决异构数据迁移效率低下的问题。所述方法包括:解析数据迁移操作对应的配置文件,得到数据输入对象的第一配置项、数据输出对象的第二配置项,以及数据输入对象至数据输出对象的数据迁移规则;基于第一配置项读取相应数据输入对象中的源数据,并转换为相应数据输入对象的指定数据形式的第一数据集;根据数据迁移规则对相应第一数据集进行数据模型转换,得到目标数据输出对象的指定数据形式的第二数据集,基于第二配置项将第二数据集迁移至数据输出对象中。本方法不需要针对每种数据进行单一代码开发,仅需提供配置文件,即可实现异构数据源之间的数据迁移,提升了数据迁移效率。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及数据迁移方法、装置、电子设备及计算机可读存储介质。
背景技术
随着互联网进入大数据时代,数据的来源类型开始多样化,异构数据迁移的场景屡见不鲜。基于内存计算的大数据并行计算框架,例如Flink计算框架,能够满足在大数据环境下数据迁移时的模型转换。现有技术中,基于并行计算框架读取多源数据的时候,需要对每种数据源进行代码配置,导致配置工作难度大、效率低。并且,在数据迁移途中,涉及新旧数据模型转换,需要对数据集进行单一代码配置,代码开发繁琐、复用性低。现有技术中,基于并行计算框架进行数据迁移时,迁移效率比较低。
可见,需要一种高效的基于并行计算框架进行数据迁移的方法。
发明内容
本申请实施例提供一种数据迁移方法、装置,及电子设备,可以提升异构数据迁移效率。
第一方面,本申请实施例公开了一种数据迁移方法,包括:
解析数据迁移操作对应的配置文件,得到数据输入对象的第一配置项、数据输出对象的第二配置项,以及,所述数据输入对象至所述数据输出对象的数据迁移规则;
基于第一配置项读取相应数据输入对象中的源数据,并将所述源数据转换为所述相应数据输入对象的指定数据形式的第一数据集;
根据数据迁移规则对相应第一数据集进行数据模型转换,得到目标数据输出对象的所述指定数据形式的第二数据集,其中,所述目标数据输出对象为:用于生成所述相应第一数据集的源数据所属数据输入对象对应的数据输出对象;
基于第二配置项对相应第二数据集进行输出,以将所述数据输入对象中的源数据迁移至所述数据输出对象中。
第二方面,本申请实施例公开了一种数据迁移装置,包括:
配置项获取模块,用于解析数据迁移操作对应的配置文件,得到数据输入对象的第一配置项、数据输出对象的第二配置项,以及,所述数据输入对象至所述数据输出对象的数据迁移规则;
源数据读取转换模块,用于基于第一配置项读取相应数据输入对象中的源数据,并将所述源数据转换为所述相应数据输入对象的指定数据形式的第一数据集;
数据模型转换模块,用于根据数据迁移规则对相应第一数据集进行数据模型转换,得到目标数据输出对象的所述指定数据形式的第二数据集,其中,所述目标数据输出对象为:用于生成所述相应第一数据集的源数据所属数据输入对象对应的数据输出对象;
迁移输出模块,用于基于第二配置项对相应第二数据集进行输出,以将所述数据输入对象中的源数据迁移至所述数据输出对象中。
第三方面,本申请实施例还公开了一种电子设备,包括存储器、处理器及存储在所述存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现本申请实施例所述的数据迁移方法。
第四方面,本申请实施例公开了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时本申请实施例公开的数据迁移方法的步骤。
本申请实施例公开的数据迁移方法,通过解析数据迁移操作对应的配置文件,得到数据输入对象的第一配置项、数据输出对象的第二配置项,以及,所述数据输入对象至所述数据输出对象的数据迁移规则;基于第一配置项读取相应数据输入对象中的源数据,并将所述源数据转换为所述相应数据输入对象的指定数据形式的第一数据集;根据数据迁移规则对相应第一数据集进行数据模型转换,得到目标数据输出对象的所述指定数据形式的第二数据集,其中,所述目标数据输出对象为:用于生成所述相应第一数据集的源数据所属数据输入对象对应的数据输出对象;基于第二配置项对相应第二数据集进行输出,以将数据输入对象中的源数据迁移至数据输出对象中。本方法不需要针对每种数据进行单一代码开发,只需要提供配置文件,即可以实现异构数据源之间的数据迁移,有效降低了数据迁移的工作量,提升了数据迁移效率。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
图1是本申请实施例公开的数据迁移方法的流程图;
图2是本申请实施例公开的数据迁移方法应用场景示意图;
图3是本申请实施例公开的数据迁移方法的系统架构示意图;
图4是本申请实施例公开的数据迁移装置结构示意图;
图5示意性地示出了用于执行根据本申请的方法的电子设备的框图;以及
图6示意性地示出了用于保持或者携带实现根据本申请的方法的程序代码的存储单元。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例公开的数据迁移方法应用于数据迁移场景中,例如,异构数据库中的数据迁移场景。其中,源数据存储的数据库和目标数据库可以为同种类型,但格式不同的数据库,也可以为不同种类型的数据库。
本申请实施例中公开的数据迁移方法,可以应用于数据迁移平台、数据模型转换插件、数据迁移应用等多种形态的产品中,提供数据迁移服务。可选的,如图2所示,本申请实施例中公开的数据迁移方法可以应用于数据模型转换插件中,所述数据模型转换插件用于配置文件,执行数据迁移操作。其中,配置文件为:针对数据输入对象至数据输出对象的数据迁移操作,预先配置生成的。
其中,所述数据输入对象包括但不限于以下任意一种形式:存储输入数据的数据库、文件、大数据平台等。具体举例而言,所述数据输入对象包括但不限于以下一种或多种:Sybase数据库、HBase数据库、MySQL数据库、Oracle数据库、MongonDB数据库、Redis数据平台、Excel文件、Json文件等。所述数据输出对象包括但不限于以下任意一种形式:存储输出数据的数据库、文件、大数据平台等。所述数据输出对象包括但不限于以下一种或多种:Sybase数据库、HBase数据库、MySQL数据库、Oracle数据库、MongonDB数据库、Redis数据平台、Excel文件、Json文件等。
可选的,实施本申请实施例公开的数据迁移方法的数据迁移平台、数据模型转换插件、数据迁移应用等产品,首先需要预置用于数据输入对象读取、数据结构转换、数据输出对象写入的程序代码。以在数据模型转换插件中实施本方法为例,可选的,所述程序代码可以以插件、功能函数、方法等形式,集成在数据模型转换插件中。例如,可以在数据模型转换插件中预置与数据输入对象对应一个或多个插件,以及,与数据输出对象对应一个或多个插件。可选的,每个数据输入对象可以分别对应一个插件,每个数据输出对象可以分别对应一个插件。
可选的,在通过所述数据模型转换插件执行数据迁移操作之前,还需要按照所述数据模型转换插件的要求,提供配置文件。可选的,所述数据模型转换插件中包括一个或多个与数据输入对象对应的插件,与数据输入对象对应的插件用于读取相应数据输入对象中的源数据,并转换为指定数据形式的数据进行缓存。所述数据模型转换插件中还包括一个或多个与数据输出对象对应的插件,与数据输出对象对应的插件用于读取缓存的指定数据形式的数据,并转换为匹配迁移目标需求的指定数据形式的数据,进行缓存。
当用于数据输入对象读取、数据结构转换、数据输出对象写入的程序代码以插件形式集成在所述数据模型转换插件中时,可以配置每个插件与一个数据输入对象或数据输出对象对应,这样,可以根据所述数据模型转换插件支持数据输入对象和数据输出对象类型的需求,灵活扩展集成的插件,并且,降低代码复杂度,提高插件稳定性。
可选的,可以根据所述数据模型转换插件对应的配置文件模板,生成每种数据迁移场景的配置文件,或者生成包括多个数据迁移场景的配置文件。本申请实施例中对配置文件中包括的迁移场景的数量不做限制。
可选的,配置文件包括:数据输入对象的第一配置项、数据输出对象的第二配置项,以及,所述数据输入对象至所述数据输出对象的数据迁移规则。
可选的,配置文件包括所述数据模型转换插件支持的一个或多个数据输入对象各自的第一配置项。所述第一配置项包括以下一项或两项:数据输入对象配置信息、数据结构配置信息。其中,所述数据输入对象配置信息进一步包括以下一项或多项:数据输入对象类型、链接地址、账号、密码、数据输入对象别名标签。其中,数据输入对象别名标签用于直观的区别每种数据输入对象,用户可以根据数据输入对象别名标签项完成相应数据输入对象的信息配置。所述数据输入对象别名标签可以为字符串形式。数据结构配置信息用于描述数据输入对象中源数据的数据结构。
可选的,所述配置文件中还包括所述数据模型转换插件支持的一个或多个数据输出对象各自的第二配置项。可选的,所述第二配置项包括以下一项或两项:数据输出对象配置信息、数据结构配置信息。其中,所述数据输出对象配置信息进一步包括以下一项或多项:数据输出对象类型、链接地址、账号、密码、数据输入对象别名标签。
可选的,所述数据输入对象至所述数据输出对象的数据迁移规则用于定义数据输入对象至数据输出对象之间的数据迁移规则。可选的,所述数据迁移规则包括:数据输入对象的信息、数据输出对象的信息、数据输入对象的各源字段与相应数据输出对象的各目标字段之间的映射关系。其中,数据输入对象的信息用于指示数据迁移规则对应的数据输入对象,数据输出对象的信息用于指示数据迁移规则对应的数据输出对象。例如,数据迁移规则可以定义数据输入对象的名称、数据输出对象的名称、以及数据模型转换时采用的结构化查询SQL语句等。
可选的,第一配置项、和第二配置项可以存储在两个或多个配置文件中,也可以存储在一个配置文件中。
下面,以数据迁移方法执行在数据模型转换插件中为例,对本申请实施例公开的数据迁移方法的具体实施方式,进行举例说明。
如图1所示,本申请实施例公开的一种数据迁移方法,包括:步骤110至步骤140。
步骤110,解析数据迁移操作对应的配置文件,得到数据输入对象的第一配置项、数据输出对象的第二配置项,以及,所述数据输入对象至所述数据输出对象的数据迁移规则。
其中,所述配置文件是对预设配置模板中提供的配置项进行配置后生成的。
如前所述,所述配置文件中包括一组或多组第一配置项,每组第一配置项对应一个数据输入对象。所述数据输入对象包括但不限于:数据库、文件、大数据平台等任意一种。所述数据输入对象是进行数据迁移操作的源数据的数据源。所述配置文件中还包括一组或多组第二配置项,每组第二配置项对应一个数据输出对象。所述数据输出对象包括但不限于:数据库、文件、大数据平台等任意一种。所述数据输出对象是进行数据迁移操作的数据输出目标端。所述配置文件中还包括一组或多组数据迁移规则,每组数据迁移规则用于描述一个数据输入对象至一个数据输出对象的数据迁移规则。
按照配置文件的格式,对配置文件进行解析,可以得到配置文件中定义的各数据输入对象的第一配置项的列表,列表中的每个第一配置项包括但不限于:数据输入对象类型、链接地址、账号、密码、数据输入对象别名标签、数据结构信息等。
解析配置文件,还可以得到配置文件中定义的各数据输出对象的第二配置项的列表,列表中的每个第二配置项包括但不限于:数据输出对象类型、链接地址、账号、密码、数据输出对象别名标签、数据结构信息等。其中,数据结构信息包括但不限于:字段信息。
按照配置文件的格式,对配置文件进行解析,还可以得到数据迁移规则的列表。列表中每组数据迁移规则包括一个指定数据输入对象的各字段到一个指定数据输出对象的各字段的映射关系。
以数据迁移操作为将数据库A中的数据迁移至数据库B中为例,通过配置文件中需要包括数据库A的第一配置项、数据库B的第二配置项,以及,数据库A的各字段与数据库B的各字段的映射关系(即数据库A至数据库B的数据迁移规则)。
步骤120,基于第一配置项读取相应数据输入对象中的源数据,并将所述源数据转换为所述相应数据输入对象的指定数据形式的第一数据集。
接下来,分别对列表中每组第一配置项进行处理。例如,对于每组第一配置项,可以根据该组第一配置项中配置的数据输入对象(如数据库、文件、大数据平台等)的数据输入对象类型选择对应的数据读取方法,之后,通过选择的数据读取方法访问所述第一配置项中的链接地址,并通过第一配置项中的账号和密码进行数据访问验证,在验证通过之后,读取相应数据输入对象对应的源数据,并将读取的源数据转换为指定数据形式的数据,将转换得到的数据作为该数据输入对象的第一数据集进行存储。
可选的,所述指定数据形式为:DataStream数据,所述基于第一配置项读取相应数据输入对象中的源数据,并将所述源数据转换为所述相应数据输入对象的指定数据形式的第一数据集,包括:基于第一配置项,连接所述第一配置项所属数据输入对象,并调用Flink计算引擎的接口读取已连接数据输入对象中的源数据,将所述源数据转换成DataStream数据的第一数据集。
可选的,采用Flink计算引擎(一种流式分布式框架处理引擎)读取数据输入对象中的源数据,并转换为Flink计算引擎的DataStream(数据流)数据。对每种数据输入对象的源数据进行转换后得到的数据流,作为一个数据集,本申请实施例中记为“第一数据集”。之后,将每种数据输入对象的源数据进行转换后得到的第一数据集,存储在指定的数据池中,本申请实施例中记为“第一数据池”。
可选的,对于第一配置项列表中的每个第一配置项,可以根据所述第一配置项所对应的数据输入对象的类型,采用Flink计算引擎提供的相应方法进行数据读取和转换。例如,可以根据Flink计算引擎中最核心的数据结构DataStream提供的readTextFile()方法,将本地或分布式文件系统上的文本文件作为数据源(即数据输入对象)读入Flink中。又例如,可以根据DataStream提供的addSource()方法将JDBC(Java DataBaseConnectivity,JAVA数据库连接)数据源读入Flink中。最终,得到每组第一配置项对应的数据源(即数据输入对象)的DataStream数据。
本申请具体实施时,可以预先针对每种数据输入对象预置对应的插件,通过调用插件,执行该插件对应的数据输入对象的读取、转换操作。
可选的,基于第一配置项,连接所述第一配置项所属数据输入对象,并调用Flink计算引擎的接口读取已连接数据输入对象中的源数据,将所述源数据转换成DataStream数据的第一数据集,包括:基于所述第一配置项,通过第一配置项所属数据输入对象所对应的预设插件,连接所述第一配置项所属数据输入对象,并调用Flink计算引擎的接口读取已连接数据输入对象中的源数据,将所述源数据转换成DataStream数据的第一数据集。
例如,可以预先设置Sybase数据库对应的插件、HBase数据库对应的插件、MySQL数据库对应的插件、Oracle数据库对应的插件、MongonDB数据库对应的插件、Redis数据平台对应的插件、Excel文件对应的插件、Json文件对应的插件等。其中,各插件调用Flink计算引擎的接口读取连接的数据输入对象中的源数据,将所述源数据转换成DataStream数据的第一数据集。当配置文件中配置的Excel文件的第一配置项、Oracle数据库的第二配置项,以及,Excel文件到Oracle数据库的数据迁移规则时,可以通过Excel文件对应的插件读取待迁移的Excel文件的源数据,并转换成DataStream数据的第一数据集。
步骤130,根据数据迁移规则对相应第一数据集进行数据模型转换,得到目标数据输出对象的所述指定数据形式的第二数据集。
其中,所述目标数据输出对象为:用于生成所述相应第一数据集的源数据所属数据输入对象对应的数据输出对象。
接下来,将对源数据进行转换得到第一数据集,进一步按照数据迁移规则转换为符合数据输出对象的数据结构要求的目标数据。
如前所述,所述数据迁移规则包括:数据输入对象的各源字段与相应数据输出对象的各目标字段之间的映射关系,所述根据数据迁移规则对相应第一数据集进行数据模型转换,得到目标数据输出对象的所述指定数据形式的第二数据集,包括:调用Table API读取目标第一数据集中各源字段的数据,并根据用于生成所述目标第一数据集的源数据所属数据输入对象至目标数据输出对象的数据迁移规则,将所述源字段的数据映射为相应目标字段的数据,得到目标数据输出对象的DataStream数据的第二数据集。
Table API是Flink计算引擎提供的关系型编程接口,用于数据流的批处理和实时计算。在对每个数据源(即数据输入对象)对应的第一数据集进行数据模型转换时,对于第一数据池中的目标第一数据集,在前述步骤获取的数据迁移规则的列表中,找到该目标第一数据集对应的数据迁移规则,从而得到数据输入对象至数据输出对应的各字段的一组映射关系。例如,如果转换得到目标第一数据集的源数据所属数据输入对象为数据库A,则可以查找数据迁移规则的列表,找到迁移数据源为数据库A的数据迁移规则。
然后,调用Table API从第一数据池中读取目标第一数据集,得到当前迁移的数据输入对象中源数据的各字段。可选的,可以调用Table API数据引擎的SQL结构化查询语句,读取第一数据池内目标第一数据集中各数据流的各字段的数据,作为源字段的数据。
之后,对读取的源字段的数据,按照数据迁移规则中定义的映射关系,对目标字段赋值,以执行数据模型转换,得到匹配数据输出对象的数据结构需求的DataStream数据的目标数据,组成第二数据集。
进一步的,将第二数据集据存储至第二数据池中,便于后续读取、输出。
可选的,所述调用Table API读取目标第一数据集中各源字段的数据,并根据用于生成所述目标第一数据集的源数据所属数据输入对象至目标数据输出对象的数据迁移规则,将所述源字段的数据映射为相应目标字段的数据,得到目标数据输出对象的DataStream数据的第二数据集,包括:通过目标数据输出对象对应的预设插件,调用TableAPI读取目标第一数据集中各源字段的数据,并根据用于生成所述目标第一数据集的源数据所属数据输入对象至目标数据输出对象的数据迁移规则,将读取的所述源字段的数据映射为目标数据输出对象相应目标字段的数据,得到目标数据输出对象的DataStream数据的第二数据集。
所述目标第一数据集为:向目标数据输出对象迁移的数据输入对象中数据源转换得到的第一数据集。
例如,可以预先设置Sybase数据库对应的数据转换插件、HBase数据库对应的数据转换插件、MySQL数据库对应的数据转换插件、Oracle数据库对应的数据转换插件、MongonDB数据库对应的数据转换插件、Redis数据平台对应的数据转换插件、Excel文件对应的数据转换插件、Json文件对应的数据转换插件等。其中,各数据转换插件调用Flink计算引擎的Table API读取DataStream数据,并按照一定的映射关系,将读取的DataStream数据转换成新的DataStream数据,之后存储为第二数据集。当配置文件中配置的Excel文件的第一配置项、Oracle数据库的第二配置项,以及,Excel文件到Oracle数据库的数据迁移规则时,可以通过Oracle数据库对应的数据转换插件读取待迁移的Excel文件转换得到的DataStream数据的第一数据集,并按照Excel文件到Oracle数据库的数据迁移规则中的字段映射关系对读取的第一数据集中各字段的数据赋值给Oracle数据库的相应字段,得到新的DataStream数据,并将得到的新的DataStream数据存储为Oracle数据库对应的DataStream数据的第二数据集。
按照此方法,依次基于每组数据迁移规则进行数据模型转换,即可以得到匹配不同数据输出对象的数据结构的目标数据。
步骤140,基于第二配置项对相应第二数据集进行输出,以将所述数据输入对象中的源数据迁移至所述数据输出对象中。
如前所述,第二配置项包括但不限于:数据输出对象类型、链接地址、账号、密码、数据输出对象别名标签、数据结构信息等。其中,链接地址用于指示数据输出对象的输出指向。
可选的,通过Flink计算引擎提供的接口读取第二数据池中某一数据输出对象对应的DataStream数据的第二数据集,并将读取的第二数据集,按照该数据输出对象的输出指向写入到相应的本地文件或指定地址的数据库或大数据平台等数据输出对象中。
至此,完成将数据输入对象中的源数据迁移到数据输出对象中的数据迁移操作。
本领域技术人员应当理解,以上数据模型转换插件仅仅是实施本申请实施例公开的数据迁移方法的一种载体,所述数据迁移方法还可以应用于其他产品形态中,本申请对数据迁移方法应用的产品形态不做限制。
可选的,本申请实施例公开的数据迁移方法可以通过如图3所示的系统架构实施,如图3所示,所述系统架构包括:配置模块310、数据处理模块320和数据输出模块330。
其中,配置模块310用于生成配置文件。例如,配置数据输入对象信息、配置数据输出对象信息,以及配置数据输入对象至数据输出对象之间的数据迁移规则等。
数据处理模块320用于执行步骤110、步骤120和步骤130。数据处理模块320中可以预置与不同类型数据输入对象对应的插件,用于解析配置文件,并根据解析得到的第一配置项,加载相应的数据输入对象中的源数据,并将读取的源数据转换成DataStream数据的第一数据集,存储到第一数据池中;数据处理模块320还预置有与数据输出对象对应的插件,用于解析数据迁移规则,以及,读取第一数据集,并根据解析得到的数据迁移规则对读取第一数据池中的第一数据集进行数据模型转换,得到满足数据输出对象的数据结构需求的目标数据,存储到第二数据池中。
数据输出模块330用于执行前述步骤140,将第二数据集输出到相应数据输出对象中。
本领域技术人员应当理解,上述系统架构仅仅是本申请实施例公开的数据迁移方法的一种程序架构,还可以通过其他架构实施本申请实施例公开的数据迁移方法。
本申请实施例公开的数据迁移方法,通过解析数据迁移操作对应的配置文件,得到数据输入对象的第一配置项、数据输出对象的第二配置项,以及,所述数据输入对象至所述数据输出对象的数据迁移规则;基于第一配置项读取相应数据输入对象中的源数据,并将所述源数据转换为所述相应数据输入对象的指定数据形式的第一数据集;根据数据迁移规则对相应第一数据集进行数据模型转换,得到目标数据输出对象的所述指定数据形式的第二数据集,其中,所述目标数据输出对象为:用于生成所述相应第一数据集的源数据所属数据输入对象对应的数据输出对象;基于第二配置项对相应第二数据集进行输出,以将数据输入对象中的源数据迁移至数据输出对象中。本方法不需要针对每种数据进行单一代码开发,只需要提供配置文件,即可以实现异构数据源之间的数据迁移,有效降低了数据迁移的工作量,提升了数据迁移效率。
本申请实施例公开的数据迁移方法,通过预先设置用于不同类型数据输入对象读取、数据结构转换、不同类型数据输出对象写入的程序代码(如插件),然后,通过预先设置的读取、转换和写入代码,根据配置文件读取数据源、执行数据解析、读取、转换和输出,数据迁移需求方仅需要配置相关的配置项,生成配置文件,不需要进行代码开发,即可快速实现异构数据源之间的数据迁移,操作简便,效率高。
并且,本申请实施例公开的数据迁移方法在实施过程中,插件根据配置项提供的数据处理能力,有效提升了插件的复用性,使得实施本方法的产品可适用于更多异构数据源之间的数据迁移。
相应的,本申请实施例还公开了一种数据迁移装置,如图4所示,所述装置包括:
配置项获取模块410,用于解析数据迁移操作对应的配置文件,得到数据输入对象的第一配置项、数据输出对象的第二配置项,以及,所述数据输入对象至所述数据输出对象的数据迁移规则;
源数据读取转换模块420,用于基于第一配置项读取相应数据输入对象中的源数据,并将所述源数据转换为所述相应数据输入对象的指定数据形式的第一数据集;
数据模型转换模块430,用于根据数据迁移规则对相应第一数据集进行数据模型转换,得到目标数据输出对象的所述指定数据形式的第二数据集,其中,所述目标数据输出对象为:用于生成所述相应第一数据集的源数据所属数据输入对象对应的数据输出对象;
迁移输出模块440,用于基于第二配置项对相应第二数据集进行输出,以将所述数据输入对象中的源数据迁移至所述数据输出对象中。
可选的,所述指定数据形式为:DataStream数据,所述源数据读取转换模块420,进一步用于:
基于第一配置项,连接所述第一配置项所属数据输入对象,并调用Flink计算引擎的接口读取已连接数据输入对象中的源数据,将所述源数据转换成DataStream数据的第一数据集。
可选的,基于第一配置项,连接所述第一配置项所属数据输入对象,并调用Flink计算引擎的接口读取已连接数据输入对象中的源数据,将所述源数据转换成DataStream数据的第一数据集,包括:
基于所述第一配置项,通过第一配置项所属数据输入对象所对应的预设插件,连接所述第一配置项所属数据输入对象,并调用Flink计算引擎的接口读取已连接数据输入对象中的源数据,将所述源数据转换成DataStream数据的第一数据集。
可选的,所述数据迁移规则包括:数据输入对象的各源字段与相应数据输出对象的各目标字段之间的映射关系,所述数据模型转换模块430,进一步用于:
调用Table API读取目标第一数据集中各源字段的数据,并根据用于生成所述目标第一数据集的源数据所属数据输入对象至目标数据输出对象的数据迁移规则,将所述源字段的数据映射为相应目标字段的数据,得到目标数据输出对象的DataStream数据的第二数据集。
可选的,所述调用Table API读取目标第一数据集中各源字段的数据,并根据用于生成所述目标第一数据集的源数据所属数据输入对象至目标数据输出对象的数据迁移规则,将所述源字段的数据映射为相应目标字段的数据,得到目标数据输出对象的DataStream数据的第二数据集,包括:
通过目标数据输出对象对应的预设插件,调用Table API读取目标第一数据集中各源字段的数据,并根据用于生成所述目标第一数据集的源数据所属数据输入对象至目标数据输出对象的数据迁移规则,将读取的所述源字段的数据映射为目标数据输出对象相应目标字段的数据,得到目标数据输出对象的DataStream数据的第二数据集。
可选的,所述配置文件是对预设配置模板中提供的配置项进行配置后生成的。
本申请实施例公开的数据迁移装置,用于实现本申请实施例中所述的数据迁移方法,装置的各模块的具体实施方式不再赘述,可参见方法实施例相应步骤的具体实施方式。
本申请实施例公开的一种数据迁移装置,通过解析数据迁移操作对应的配置文件,得到数据输入对象的第一配置项、数据输出对象的第二配置项,以及,所述数据输入对象至所述数据输出对象的数据迁移规则;基于第一配置项读取相应数据输入对象中的源数据,并将所述源数据转换为所述相应数据输入对象的指定数据形式的第一数据集;根据数据迁移规则对相应第一数据集进行数据模型转换,得到目标数据输出对象的所述指定数据形式的第二数据集,其中,所述目标数据输出对象为:用于生成所述相应第一数据集的源数据所属数据输入对象对应的数据输出对象;基于第二配置项对相应第二数据集进行输出,以将数据输入对象中的源数据迁移至数据输出对象中。本方法不需要针对每种数据进行单一代码开发,只需要提供配置文件,即可以实现异构数据源之间的数据迁移,有效降低了数据迁移的工作量,提升了数据迁移效率。
本申请实施例公开的数据迁移装置,通过预先设置用于不同类型数据输入对象读取、数据结构转换、不同类型数据输出对象写入的程序代码(如插件),然后,通过预先设置的读取、转换和写入代码,根据配置文件读取数据源、执行数据解析、读取、转换和输出,数据迁移需求方仅需要配置相关的配置项,生成配置文件,不需要进行代码开发,即可快速实现异构数据源之间的数据迁移,操作简便,效率高。
并且,本申请实施例公开的数据迁移装置在实施过程中,插件根据配置项提供的数据处理能力,有效提升了插件的复用性,使得实施本方法的产品可适用于更多异构数据源之间的数据迁移。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上对本申请提供的一种数据迁移方法及装置进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其一种核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
本申请的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本申请实施例的电子设备中的一些或者全部部件的一些或者全部功能。本申请还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本申请的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
例如,图5示出了可以实现根据本申请的方法的电子设备。所述电子设备可以为PC机、移动终端、个人数字助理、平板电脑等。该电子设备传统上包括处理器510和存储器520及存储在所述存储器520上并可在处理器510上运行的程序代码530,所述处理器510执行所述程序代码530时实现上述实施例中所述的方法。所述存储器520可以为计算机程序产品或者计算机可读介质。存储器520可以是诸如闪存、EEPROM(电可擦除可编程只读存储器)、EPROM、硬盘或者ROM之类的电子存储器。存储器520具有用于执行上述方法中的任何方法步骤的计算机程序的程序代码530的存储空间5201。例如,用于程序代码530的存储空间5201可以包括分别用于实现上面的方法中的各种步骤的各个计算机程序。所述程序代码530为计算机可读代码。这些计算机程序可以从一个或者多个计算机程序产品中读出或者写入到这一个或者多个计算机程序产品中。这些计算机程序产品包括诸如硬盘,紧致盘(CD)、存储卡或者软盘之类的程序代码载体。所述计算机程序包括计算机可读代码,当所述计算机可读代码在电子设备上运行时,导致所述电子设备执行根据上述实施例的方法。
本申请实施例还公开了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请实施例所述的数据迁移方法的步骤。
这样的计算机程序产品可以为计算机可读存储介质,该计算机可读存储介质可以具有与图5所示的电子设备中的存储器520类似布置的存储段、存储空间等。程序代码可以例如以适当形式进行压缩存储在所述计算机可读存储介质中。所述计算机可读存储介质通常为如参考图6所述的便携式或者固定存储单元。通常,存储单元包括计算机可读代码530’,所述计算机可读代码530’为由处理器读取的代码,这些代码被处理器执行时,实现上面所描述的方法中的各个步骤。
本文中所称的“一个实施例”、“实施例”或者“一个或者多个实施例”意味着,结合实施例描述的特定特征、结构或者特性包括在本申请的至少一个实施例中。此外,请注意,这里“在一个实施例中”的词语例子不一定全指同一个实施例。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本申请的实施例可以在没有这些具体细节的情况下被实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本申请可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (10)
1.一种数据迁移方法,其特征在于,包括:
解析数据迁移操作对应的配置文件,得到数据输入对象的第一配置项、数据输出对象的第二配置项,以及,所述数据输入对象至所述数据输出对象的数据迁移规则;
基于第一配置项读取相应数据输入对象中的源数据,并将所述源数据转换为所述相应数据输入对象的指定数据形式的第一数据集;
根据数据迁移规则对相应第一数据集进行数据模型转换,得到目标数据输出对象的所述指定数据形式的第二数据集,其中,所述目标数据输出对象为:用于生成所述相应第一数据集的源数据所属数据输入对象对应的数据输出对象;
基于第二配置项对相应第二数据集进行输出,以将所述数据输入对象中的源数据迁移至所述数据输出对象中。
2.根据权利要求1所述的方法,其特征在于,所述指定数据形式为:DataStream数据,所述基于第一配置项读取相应数据输入对象中的源数据,并将所述源数据转换为所述相应数据输入对象的指定数据形式的第一数据集,包括:
基于第一配置项,连接所述第一配置项所属数据输入对象,并调用Flink计算引擎的接口读取已连接数据输入对象中的源数据,将所述源数据转换成DataStream数据的第一数据集。
3.根据权利要求2所述的方法,其特征在于,基于第一配置项,连接所述第一配置项所属数据输入对象,并调用Flink计算引擎的接口读取已连接数据输入对象中的源数据,将所述源数据转换成DataStream数据的第一数据集,包括:
基于所述第一配置项,通过第一配置项所属数据输入对象所对应的预设插件,连接所述第一配置项所属数据输入对象,并调用Flink计算引擎的接口读取已连接数据输入对象中的源数据,将所述源数据转换成DataStream数据的第一数据集。
4.根据权利要求1所述的方法,其特征在于,所述数据迁移规则包括:数据输入对象的各源字段与相应数据输出对象的各目标字段之间的映射关系,所述根据数据迁移规则对相应第一数据集进行数据模型转换,得到目标数据输出对象的所述指定数据形式的第二数据集,包括:
调用Table API读取目标第一数据集中各源字段的数据,并根据用于生成所述目标第一数据集的源数据所属数据输入对象至目标数据输出对象的数据迁移规则,将所述源字段的数据映射为相应目标字段的数据,得到目标数据输出对象的DataStream数据的第二数据集。
5.根据权利要求4所述的方法,其特征在于,所述调用Table API读取目标第一数据集中各源字段的数据,并根据用于生成所述目标第一数据集的源数据所属数据输入对象至目标数据输出对象的数据迁移规则,将所述源字段的数据映射为相应目标字段的数据,得到目标数据输出对象的DataStream数据的第二数据集,包括:
通过目标数据输出对象对应的预设插件,调用Table API读取目标第一数据集中各源字段的数据,并根据用于生成所述目标第一数据集的源数据所属数据输入对象至目标数据输出对象的数据迁移规则,将读取的所述源字段的数据映射为目标数据输出对象相应目标字段的数据,得到目标数据输出对象的DataStream数据的第二数据集。
6.一种数据迁移装置,其特征在于,所述装置包括:
配置项获取模块,用于解析数据迁移操作对应的配置文件,得到数据输入对象的第一配置项、数据输出对象的第二配置项,以及,所述数据输入对象至所述数据输出对象的数据迁移规则;
源数据读取转换模块,用于基于第一配置项读取相应数据输入对象中的源数据,并将所述源数据转换为所述相应数据输入对象的指定数据形式的第一数据集;
数据模型转换模块,用于根据数据迁移规则对相应第一数据集进行数据模型转换,得到目标数据输出对象的所述指定数据形式的第二数据集,其中,所述目标数据输出对象为:用于生成所述相应第一数据集的源数据所属数据输入对象对应的数据输出对象;
迁移输出模块,用于基于第二配置项对相应第二数据集进行输出,以将所述数据输入对象中的源数据迁移至所述数据输出对象中。
7.根据权利要求6所述的装置,其特征在于,所述指定数据形式为:DataStream数据,所述源数据读取转换模块,进一步用于:
基于第一配置项,连接所述第一配置项所属数据输入对象,并调用Flink计算引擎的接口读取已连接数据输入对象中的源数据,将所述源数据转换成DataStream数据的第一数据集。
8.根据权利要求6所述的装置,其特征在于,所述数据迁移规则包括:数据输入对象的各源字段与相应数据输出对象的各目标字段之间的映射关系,所述数据模型转换模块,进一步用于:
调用Table API读取目标第一数据集中各源字段的数据,并根据用于生成所述目标第一数据集的源数据所属数据输入对象至目标数据输出对象的数据迁移规则,将所述源字段的数据映射为相应目标字段的数据,得到目标数据输出对象的DataStream数据的第二数据集。
9.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在处理器上运行的程序代码,其特征在于,所述处理器执行所述程序代码时实现权利要求1至5任意一项所述的数据迁移方法。
10.一种计算机可读存储介质,其上存储有程序代码,其特征在于,该程序代码被处理器执行时实现权利要求1至5任意一项所述的数据迁移方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310618902.0A CN116775599A (zh) | 2023-05-29 | 2023-05-29 | 数据迁移方法、装置、电子设备、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310618902.0A CN116775599A (zh) | 2023-05-29 | 2023-05-29 | 数据迁移方法、装置、电子设备、存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116775599A true CN116775599A (zh) | 2023-09-19 |
Family
ID=87995532
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310618902.0A Pending CN116775599A (zh) | 2023-05-29 | 2023-05-29 | 数据迁移方法、装置、电子设备、存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116775599A (zh) |
-
2023
- 2023-05-29 CN CN202310618902.0A patent/CN116775599A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107861728B (zh) | 用于传统程序语言向现代程序语言转换的方法及其系统 | |
CN108334609B (zh) | Oracle中实现JSON格式数据存取的方法、装置、设备及存储介质 | |
CN106611044B (zh) | 一种sql优化方法及设备 | |
CN104360865A (zh) | 一种序列化方法、反序列化方法及相关设备 | |
CN112052242A (zh) | 数据查询方法、装置、电子设备及存储介质 | |
JP2010524060A (ja) | 分散コンピューティングにおけるデータマージング | |
CN111241182A (zh) | 数据处理方法和装置、存储介质和电子装置 | |
CN108829884B (zh) | 数据映射方法及装置 | |
CN106557307B (zh) | 业务数据的处理方法及处理系统 | |
CN110688544A (zh) | 一种查询数据库的方法、设备及存储介质 | |
CN109471893B (zh) | 网络数据的查询方法、设备及计算机可读存储介质 | |
KR20180133375A (ko) | 데이터 분석 및 처리 방법, 장치, 컴퓨터 장치 및 저장 매체 | |
CN111008020A (zh) | 将逻辑表达式解析为通用查询语句的方法 | |
CN110851511A (zh) | 数据同步的方法及装置 | |
CN116628066B (zh) | 数据传输方法、装置、计算机设备和存储介质 | |
CN114385173A (zh) | 编译方法、装置、设备及存储介质 | |
CN112597171A (zh) | 表格关系可视化方法、装置、电子设备及存储介质 | |
CN109324838B (zh) | 单片机程序的执行方法、执行装置及终端 | |
CN111125216A (zh) | 数据导入Phoenix的方法及装置 | |
CN116775599A (zh) | 数据迁移方法、装置、电子设备、存储介质 | |
CN115390936A (zh) | 统一校验方法、装置、设备和存储介质 | |
CN115114297A (zh) | 数据轻量存储及查找方法、装置、电子设备及存储介质 | |
WO2021259290A1 (zh) | 存储过程转换方法、装置、设备和存储介质 | |
CN113609128A (zh) | 生成数据库实体类的方法、装置、终端设备及存储介质 | |
CN114282895A (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 |