CN114077602B - 数据迁移方法和装置、电子设备、存储介质 - Google Patents
数据迁移方法和装置、电子设备、存储介质 Download PDFInfo
- Publication number
- CN114077602B CN114077602B CN202210035298.4A CN202210035298A CN114077602B CN 114077602 B CN114077602 B CN 114077602B CN 202210035298 A CN202210035298 A CN 202210035298A CN 114077602 B CN114077602 B CN 114077602B
- Authority
- CN
- China
- Prior art keywords
- data
- migration
- strategy
- import
- export
- 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.)
- Active
Links
Images
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
-
- 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/25—Integrating or interfacing systems involving database management systems
- G06F16/258—Data format conversion from or to a database
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
技术领域
本申请实施例涉及数据库技术领域,尤其涉及一种数据迁移方法和装置、电子设备、存储介质。
背景技术
信息业务的发展带来了数据量的与日俱增,数据库在信息系统中承担着不可或缺的数据桥梁作用。例如,分布式数据库是用计算机网络将物理上分散的多个数据库单元连接起来组成的一个逻辑上统一的数据库,有着存储量大、业务并发量高、可扩展性好的特点,故其应用日益广泛。在分布式数据库的应用场景中,数据的跨数据库迁移是常见操作,这对可靠的数据迁移技术提出了更高的要求。
当前的数据迁移方法主要采取的迁移方式是简单多线程迁移,将原始数据库的数据库按照表或者文件策略进行多线程数据迁移,不同源表或文件的数据不均匀导致整体迁移时间较长,迁移效率较低。
发明内容
以下是对本文详细描述的主题的概述。本概述并非是为了限制权利要求的保护范围。
本申请实施例提供一种数据迁移方法和装置、电子设备、存储介质,能够有效提高数据迁移的效率。
第一方面,本申请实施例提供一种数据迁移方法,应用于迁移端,所述方法包括:
获取来自原始数据库的源数据;
接收客户端发送的迁移请求信息;所述迁移请求信息包括所述源数据的数据属性参数;
根据所述数据属性参数生成迁移策略;
根据所述迁移策略将所述源数据迁移到目的数据库。
在一可选的实现方式中,数据属性参数包括以下的一种或多种:表数量参数、表数据量参数、行数量参数。
在一可选的实现方式中,所述迁移策略包括导出策略、导入策略;所述根据所述迁移策略将所述源数据迁移到目的数据库,包括:
根据所述导出策略将所述源数据转化为中间文件;
根据所述导入策略将所述中间文件迁移到所述目的数据库。
在一可选的实现方式中,所述导出策略包括导出进线程策略;所述根据所述导出策略将所述源数据转化为中间文件,包括:
根据所述数据属性参数配置导出进程数量和导出线程数量;
根据所述导出进程数量、所述导出线程数量和所述数据属性参数,将数据均匀分配到对应导出线程进行数据导出,生成所述中间文件。
在一可选的实现方式中,所述导出策略包括数据落盘策略,所述根据所述导出策略将所述源数据转化为中间文件,包括:
获取预设的文件划分规则;所述文件划分规则包括生成每一所述中间文件的数据量数或数据行数;
根据所述文件划分规则,将所述源数据对应导出为至少一个中间文件。
在一可选的实现方式中,所述导入策略包括导入进线程策略;所述根据所述导入策略将所述中间文件迁移到所述目的数据库,包括:
根据所述数据属性参数配置导入进程数量和导入线程数量;
根据所述导入进程数量、所述导入线程数量和所述数据属性参数,将数据均匀分配到对应导入线程进行数据导入,将所述中间文件迁移到所述目的数据库。
在一可选的实现方式中,所述根据所述数据属性参数生成迁移策略,包括:
根据所述表数量参数和所述表数据量参数进行预测处理,得到中间参数;
根据所述中间参数生成所述导入进线程策略。
在一可选的实现方式中,所述目的数据库包括多个分区;所述导入策略包括数据分发策略;所述根据所述导入策略将所述中间文件迁移到所述目的数据库,包括:
获取分发键信息;
根据所述分发键信息,获取与所述分发键信息相匹配的所述中间文件;
将所述中间文件迁移到所述目的数据库对应的分区。
在一可选的实现方式中,所述中间文件包括基础数据和业务数据,所述获取分发键信息,还包括:
获取所述基础数据的优先级;
根据所述优先级对所述基础数据进行排序处理,得到排序结果;
根据所述排序结果进行关键字段查询匹配处理,得到与所述业务数据关联的所述基础数据;
获取与所述业务数据关联的所述基础数据对应的所述分发键。
在一可选的实现方式中,所述分发键信息至少包括以下任一种:连续区间分发键、枚举值分发键、分区分发键。
在一可选的实现方式中,所述迁移请求信息还包括平台运行环境信息,所述根据所述导出策略将所述源数据转化为中间文件,包括:
根据所述平台运行环境信息生成格式转换策略;
根据所述格式转换策略对所述源数据进行格式转化处理,得到目标格式数据;
根据所述目标格式数据更新所述中间文件。
在一可选的实现方式中,所述迁移请求信息还包括数据筛选信息,所述根据所述数据属性参数生成迁移策略,包括:
根据所述源数据、所述数据筛选信息进行数据源筛选处理,得到目标数据;
根据所述目标数据的所述数据属性参数生成所述迁移策略;
对应的,所述根据所述迁移策略将所述源数据迁移到目的数据库,包括:
根据所述迁移策略将所述目标数据迁移到所述目的数据库。
在一可选的实现方式中,所述迁移请求信息还包括权限认证请求,所述根据所述数据属性参数生成迁移策略,包括:
对所述权限认证请求进行解析,得到所述权限信息;
对所述权限信息进行认证处理,得到所述认证结果信息;
根据所述认证结果信息、所述数据属性参数生成所述迁移策略。
在一可选的实现方式中,所述方法还包括:
根据所述中间文件生成迁移结果报告文件。
在一可选的实现方式中,所述目的数据库为分布式数据库。
第二方面,本申请实施例提供一种数据迁移方法,应用于客户端,所述方法包括:
获取迁移请求信息;所述迁移请求信息包括所述源数据的数据属性参数;
发送所述迁移请求信息给迁移端,以使所述迁移端执行本申请如上述第一方面所述的方法。
第三方面,本申请实施例提供一种数据迁移装置,用于迁移端,包括:
源数据获取模块,用于获取来自原始数据库的源数据;
迁移请求信息接收模块,用于接收客户端发送的迁移请求信息;所述迁移请求信息包括所述源数据的数据属性参数;
迁移策略生成模块,用于根据所述数据属性参数生成迁移策略;
迁移模块,用于根据所述迁移策略将所述源数据迁移到目的数据库。
第四方面,本申请实施例提供一种数据迁移装置,用于客户端,包括:
数据获取模块,用于获取迁移请求信息;所述迁移请求信息包括所述源数据的数据属性参数;
数据发送模块,用于发送所述迁移请求信息给迁移端,以使所述迁移端执行本申请如上述第一方面所述的方法。
第五方面,本申请实施例提供一种电子设备,包括:
至少一个存储器;
至少一个处理器;
至少一个程序;
所述程序被存储在存储器中,处理器执行所述至少一个程序以实现:
本申请如上述第一方面所述的方法;
或,如上述第二方面所述的方法。
第六方面,本申请实施例提供一种存储介质,该存储介质是计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行:
如上述第一方面所述的方法;
或,如上述第二方面所述的方法。
本申请实施例第一方面提供的数据迁移方法,与相关技术相比,通过客户端发送的迁移请求信息,其中迁移请求信息包括源数据的数据属性参数,并根据数据属性参数生成迁移策略,进而根据迁移策略将源数据迁移到目的数据库。通过本申请实施例提供的技术方案可以实现根据数据属性参数对数据库多进程多线程的迁移,避免了因数据不均匀而导致的迁移时长较大的问题,提升了数据迁移的效率。
可以理解的是,上述第二方面至第六方面与相关技术相比存在的有益效果与上述第一方面与相关技术相比存在的有益效果相同,可以参见上述第一方面中的相关描述,在此不再赘述。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请实施例的一些实施例,对于本领域普通技术人员来说,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的数据迁移方法的系统架构的示意图。
图2是本申请实施例提供的数据迁移方法的流程图。
图3是本申请另一实施例提供的数据迁移方法的流程图。
图4是本申请另一实施例提供的数据迁移方法的流程图。
图5是本申请另一实施例提供的数据迁移方法的流程图。
图6是本申请另一实施例提供的数据迁移方法的流程图。
图7是本申请另一实施例提供的数据迁移方法的流程图。
图8是本申请另一实施例提供的数据迁移方法的流程图。
图9是本申请另一实施例提供的数据迁移方法的流程图。
图10是本申请另一实施例提供的数据迁移方法的流程图。
图11是本申请另一实施例提供的数据迁移方法的流程图。
图12是本申请另一实施例提供的数据迁移方法的流程图。
图13是本申请另一实施例提供的数据迁移方法的流程图。
图14是本申请另一实施例提供的数据迁移方法的流程图。
图15是本申请另一实施例提供的数据迁移方法的流程图。
图16是本申请实施例提供的数据迁移方法的原理示意图。
图17是本申请实施例提供的数据迁移模块的示意图。
图18是本申请另一实施例提供的数据迁移模块的示意图。
附图标记:原始数据库100、客户端110、迁移端120、策略优化模块121、数据导出模块122、数据导入模块123、结果输出模块124、目的数据库130、源数据获取模块1710、迁移请求信息接收模块1720、迁移策略生成模块1730、迁移模块1740、数据获取模块1810、数据发送模块1820。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请实施例。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请实施例的描述。
需要说明的是,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于流程图中的顺序执行所示出或描述的步骤。说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
还应当理解,在本申请实施例说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请实施例的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
数据库(Database,DB)是按照数据结构来组织、存储和管理数据的仓库,是一个长期存储在计算机内的、有组织的、可共享的、统一管理的大量数据的集合。数据库管理系统(Database Management System,DBMS)是一种操纵和管理数据库的大型软件,用于建立、使用和维护数据库。它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。数据迁移(Data Migration,DM)一般是指将旧数据库管理系统的源数据转换迁移到新数据库管理系统中的过程。数据迁移工具是保证数据的完整性和一致性,有效完成数据库系统替换升级的重要辅助工具。
分布式数据库指常使用较小的计算机系统,每台计算机可单独放在一个地方,每台计算机中都可能有DBMS的一份完整拷贝副本,或者部分拷贝副本,并具有自己局部的数据库,位于不同地点的许多计算机通过网络互相连接,共同组成一个完整的、全局的逻辑上集中、物理上分布的大型数据库。
信息业务的发展带来了数据量的与日俱增,数据库在信息系统中承担着不可或缺的数据桥梁作用。例如,分布式数据库是用计算机网络将物理上分散的多个数据库单元连接起来组成的一个逻辑上统一的数据库,有着存储量大、业务并发量高、可扩展性好的特点,故其应用日益广泛。在分布式数据库的应用场景中,数据的跨数据库迁移是常见操作,这对可靠的数据迁移技术提出了更高的要求。
当前的数据迁移方法主要采取的迁移方式是简单多线程迁移,将原始数据库的数据库按照表或者文件策略进行多线程数据迁移,处理海量数据的迁移效率上依然达不到期望,不同源表或文件的数据不均匀导致整体迁移时间较长,迁移效率较低。
除此之外,当前的数据迁移方法没有考虑跨数据库字段类型转换的处理,导致数据迁移准确度降低;当前的数据迁移方法主要适用于一般数据库数据迁移场景,不能实现对分布式数据库的数据迁移,更没有考虑数据在分布式数据库上的分发和分布问题,在客户对数据库系统进行替换升级时,亟待需要在短期内完成Oracle数据库海量数据向新型分布式数据库迁移问题。同时,也不能实现对部分数据的选择迁移,因此数据迁移的灵活性很差。
基于此,本公开实施例提供一种数据迁移方法和装置、电子设备、存储介质,在迁移端,获取来自原始数据库的源数据,接收客户端发送的迁移请求信息,其中迁移请求信息包括源数据的数据属性参数,并根据数据属性参数生成迁移策略,进而根据迁移策略将源数据迁移到目的数据库,在客户端,获取迁移请求信息,并发送给迁移端使其完成迁移任务,通过本申请实施例提供的技术方案可以实现对数据库多进程多线程的迁移,避免了因数据不均匀而导致的迁移时长较大的问题,提升了数据迁移的效率;实现了跨数据库字段类型转换的处理,提升了数据迁移准确度;实现了对分布式数据库的数据迁移,考虑了数据在分布式数据库上的分发和分布问题,同时实现对部分数据的选择迁移,提升了数据迁移的灵活性。
本公开实施例提供数据迁移方法和装置、电子设备、存储介质,具体通过如下实施例进行说明,首先描述本公开实施例中的数据迁移方法。
下面结合附图,对本申请实施例作进一步阐述。
如图1所示,图1是本申请一个实施例提供的数据迁移方法的系统架构的示意图。在图1的示例中,该系统架构包括原始数据库100、客户端110、迁移端120、目的数据库130,其中,迁移端120包括策略优化模块121、数据导出模块122、数据导入模块123、结果输出模块124。
其中,原始数据库100与数据导出模块连接,客户端110与策略优化模块121连接,策略优化模块121与数据导出模块122连接,数据导出模块122与数据导入模块123连接,数据导入模块123与目的数据库130连接,结果输出模块124分别与数据导出模块122和数据导入模块123连接。
在本实施例中,原始数据库100为待进行数据迁移的数据库,客户端110用于发送迁移请求信息给策略优化模块121,以使策略优化模块121能够根据迁移请求信息生成迁移策略,进而根据迁移策略在数据导出模块122对原始数据库100中的数据进行数据导出,得到中间文件,再根据迁移策略在数据导入模块123进行数据导入,将中间文件分发导入到目的数据库130中,完成迁移过程。另外,结果输出模块124通过对数据导出模块122中的中间文件,和数据导入模块123中的迁移过程文件进行记录以生成迁移结果报告文件,实现对迁移结果的记录。
在一实施例中,目标数据库130为分布式数据库平台,迁移端120为导入服务平台,如Oraclecap平台。其中,分布式数据库平台是现有分布式数据库的实体与核心,主要负责数据存储与系统状态的管理和监控;数据导入服务平台Oraclecap提供从oralce数据库中将数据导出到CSV文件中,再通过CSV文件导入到内部分布式数据库系统中。
本申请实施例描述的系统架构以及应用场景是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域技术人员可知,随着系统架构的演变和新应用场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
本领域技术人员可以理解的是,图1中示出的系统架构并不构成对本申请实施例的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
在图1所示的系统架构中,各个设备可以分别调用其储存的数据迁移程序,以执行数据迁移方法。
基于上述系统架构,提出本申请实施例的数据迁移方法的各个实施例。
本申请实施例提供一种数据迁移方法,应用于迁移端,方法包括:获取来自原始数据库的源数据;接收客户端发送的迁移请求信息;迁移请求信息包括源数据的数据属性参数;根据数据属性参数生成迁移策略;根据迁移策略将源数据迁移到目的数据库。
在一可选的实现方式中,数据属性参数包括以下的一种或多种:表数量参数、表数据量参数、行数量参数。
如图2所示,图2是本申请一个实施例提供的数据迁移方法的流程图,该数据迁移方法应用于迁移端,例如应用于如图1所示实施例中的迁移端120中,该数据迁移方法包括但不限于有步骤S210和步骤S240。
S210,获取来自原始数据库的源数据;
S220,接收客户端发送的迁移请求信息;迁移请求信息包括源数据的数据属性参数;
S230,根据数据属性参数生成迁移策略;
S240,根据迁移策略将源数据迁移到目的数据库。
在步骤S210中,源数据为原始数据库中的数据,原始数据库直接与迁移端连接,用于将源数据发送至迁移端,用于迁移端对源数据进行迁移。
在步骤S220中,迁移请求信息用于客户端向迁移端传递与迁移过程相关的命令和参数,以使迁移平台根据上述命令和参数对源数据进行迁移处理。其中,与迁移过程相关的命令和参数包括但不限于数据属性参数、权限认证请求。
在步骤S230中,数据属性参数包括但不限于以下的一种或多种:表数量参数、表数据量参数、行数量参数,在具体的实施例中,表数量参数表征源数据中数据表的数量,表数据量参数表征源数据中数据表的大小,行数量参数表征每行数据的设置值。数据属性参数既可以用于生成迁移策略,又可以用于在导出和导入过程中对数据进行处理。
在步骤S240中,依据步骤S230生成的迁移策略,指导迁移端对源数据进行迁移,使得数据合理地、高效地导入到目的数据库中。
本申请提供的数据迁移方法,在迁移端,获取来自原始数据库的源数据,接收客户端发送的迁移请求信息,其中迁移请求信息包括源数据的数据属性参数,并根据数据属性参数生成迁移策略,进而根据迁移策略将源数据迁移到目的数据库,通过本申请实施例提供的技术方案可以实现对数据库多进程多线程的迁移,避免了因数据不均匀而导致的迁移时长较大的问题,提升了数据迁移的效率;实现了跨数据库字段类型转换的处理,提升了数据迁移准确度;实现了对分布式数据库的数据迁移,考虑了数据在分布式数据库上的分发和分布问题,同时实现对部分数据的选择迁移,提升了数据迁移的灵活性。
另外,本申请提供的数据迁移方法只是对源数据进行导出和导入操作,不会对原始数据库环境造成破坏,也保证了目的数据库的数据有效性。
在一可选的实现方式中,迁移策略包括导出策略、导入策略;根据迁移策略将源数据迁移到目的数据库,包括:根据导出策略将源数据转化为中间文件;根据导入策略将中间文件迁移到目的数据库。
另外,在一实施例中,参照图3,步骤S240可以包括但不限于有以下步骤:
S310,根据导出策略将源数据转化为中间文件;
S320,根据导入策略将中间文件迁移到目的数据库。
在一实施例中,迁移端先对源数据进行导出,依据导出策略使得数据均匀化,生成中间文件,进而再对中间文件依据导入策略进行数据分发,完成数据到目的数据库的迁移工作,实现了对分布式数据库的数据迁移,避免了因数据不均匀而导致的迁移时长较大的问题,提升了数据迁移的效率,使得针对各种数据库之间的数据迁移需求具有一定的适配性和可扩展性。
在一可选的实现方式中,导出策略包括导出进线程策略;根据导出策略将源数据转化为中间文件,包括:根据数据属性参数配置导出进程数量和导出线程数量;根据导出进程数量、导出线程数量和数据属性参数,将数据均匀分配到对应导出线程进行数据导出,生成中间文件。
另外,在一实施例中,参照图4,步骤S310可以包括但不限于有以下步骤:
S410,根据数据属性参数配置导出进程数量和导出线程数量;
S420,根据导出进程数量、导出线程数量和数据属性参数,将数据均匀分配到对应导出线程进行数据导出,生成中间文件。
在步骤S410中,数据属性参数包括但不限于表数量参数、表数据量参数,在具体的实施例中,表数量参数表征源数据中数据表的数量,表数据量参数表征源数据中数据表的大小,行数量参数表征每行数据的设置值。
具体地,针对表数量参数为700、表数据量参数为100亿的数据,配置导出进程数量为5,导出线程数量为20。其中,表数量参数为700表示数据中心有700个表,表数据量参数为100亿表示数据中有100亿条数据。
在步骤S420中,数据属性参数包括行数量参数,具体地,行数量参数为100万,表示在数据导出过程中将固定数据行设置为100万行数据,针对表数据的固定数据行进行拆分线程,实现了并发导出并生成中间文件。
需要说明的是,表数量参数、表数据量参数和行数量参数的设定可以根据源数据的不同而改变,能达到相应的技术效果即可。
在一可选的实现方式中,导出策略包括数据落盘策略,根据导出策略将源数据转化为中间文件,包括:获取预设的文件划分规则;文件划分规则包括生成每一中间文件的数据量数或数据行数;根据文件划分规则,将源数据对应导出为至少一个中间文件。
另外,在一实施例中,参照图5,步骤S310可以包括但不限于有以下步骤:
S510,获取预设的文件划分规则;
S520,根据文件划分规则,将源数据对应导出为至少一个中间文件。
在步骤S510中,文件划分规则包括生成每一中间文件的数据量数或数据行数,在具体的实施例中,生成每一中间文件的数据量数为64M,生成每一中间文件的数据行数为10万行,需要说明的是,生成每一中间文件的数据量数或数据行数的设定可以根据源数据的不同而改变,能达到相应的技术效果即可。
在步骤S520中,根据文件划分规则,将源数据对应导出为至少一个中间文件,完成数据落盘的过程,实现了数据的均匀化导出,为数据的快速导入提供了准备条件,也能便于在导出过程进行文件的格式转换,此外,生成的中间文件除了用于数据迁移过程之外,还可以用于迁移结果报告文件的生成,以实现对迁移结果的分析和记录。
在一可选的实现方式中,导入策略包括导入进线程策略;根据导入策略将中间文件迁移到目的数据库,包括:根据数据属性参数配置导入进程数量和导入线程数量;根据导入进程数量、导入线程数量和数据属性参数,将数据均匀分配到对应导入线程进行数据导入,将中间文件迁移到目的数据库。
另外,在一实施例中,参照图6,步骤S320可以包括但不限于有以下步骤:
S610,根据数据属性参数配置导入进程数量和导入线程数量;
S620,根据导入进程数量、导入线程数量和数据属性参数,将数据均匀分配到对应导入线程进行数据导入,将中间文件迁移到目的数据库。
在步骤S610中,数据属性参数包括但不限于表数量参数、表数据量参数,在具体的实施例中,表数量参数表征中间文件中数据表的数量,表数据量参数表征源数据中数据表的大小,行数量参数表征每行数据的设置值。
具体地,针对表数量参数为700、表数据量参数为100亿的数据,配置导入进程数量为5,导入线程数量为20。其中,表数量参数为700表示数据中心有700个表,表数据量参数为100亿表示数据中有100亿条数据。
在步骤S420中,数据属性参数包括行数量参数,具体地,行数量参数为5000条,表示文件数据每5000条进行拆分线程,针对表数据的固定数据行进行拆分线程,实现了对目的数据库的并发导入。
需要说明的是,表数量参数、表数据量参数和行数量参数的设定可以根据源数据的不同而改变,能达到相应的技术效果即可。
在一可选的实现方式中,根据数据属性参数生成迁移策略,包括:根据表数量参数和表数据量参数进行预测处理,得到中间参数;根据中间参数生成导入进线程策略。
另外,在一实施例中,参照图7,步骤S230可以包括但不限于有以下步骤:
S710,根据表数量参数和表数据量参数进行预测处理,得到中间参数;
S720,根据中间参数生成导入进线程策略。
在步骤S710中,迁移策略的生成在数据导出之前完成,包括导出策略和导入策略,因为导入策略的生成需要依赖中间文件的数据表数量和数据量大小,因此需要在数据导入之前根据源数据的数据体量情况对中间文件的规模进行预测,得到中间参数,用于导入进线程策略的生成,其中,中间参数包括但不限于预测得到的中间文件的表数量参数和表数据量参数。
需要说明的是,步骤S710中的预测过程包括但不限于人工预测、机器学习预测。其中,人工预测是由工作人员根据以往的数据迁移的经验,根据源文件的体量对生成的中间文件的规模进行预测,得到中间参数,并输入在系统中;而机器预测包括利用机器学习、深度学习等手段,通过历史的配置数据来对预测模型进行训练,利用预测模型实现对中间参数的预测过程。
在步骤S720中,预测得到中间参数之后,就利用中间参数对导入进线程策略进行配置,其配置的原理同根据数据属性参数对导出进线程策略配置的原理相同。
在一可选的实现方式中,目的数据库包括多个分区;导入策略包括数据分发策略;根据导入策略将中间文件迁移到目的数据库,包括:获取分发键信息;根据分发键信息,获取与分发键信息相匹配的中间文件;将中间文件迁移到目的数据库对应的分区。
在一可选的实现方式中,分发键信息至少包括以下任一种:连续区间分发键、枚举值分发键、分区分发键。
另外,在一实施例中,参照图8,步骤S320可以包括但不限于有以下步骤:
S810,获取分发键信息;
S820,根据分发键信息,获取与分发键信息相匹配的中间文件;
S830,将中间文件迁移到目的数据库对应的分区。
在步骤S810中,分发键信息用于表征对不同类型数据表的数据分发类型,分发键信息包括至少包括以下任一种:连续区间分发键、枚举值分发键、分区分发键,其中,连续区间分发键包括但不限于RANGE,基于一个给定连续区间范围把数据分配到不同的分区;枚举值分发键包括但不限于LIST,基于枚举出的值列表分区;分区分发键包括但不限于HASH,基于给定的分区个数,把数据分配到不同的分区。
需要说明的是,分发键信息的获取方式有两种,分别为直接获取和间接获取,对于基础数据来说,可以通过基础数据表的属性直接匹配得到其对应的分发键信息;对于业务数据来说,需要依赖利用基础数据来进行分发键的选择。
在步骤S820至S830中,分发键信息有着各自的分发规则,分发键信息的核心原理就是依据不同的分发规则,将匹配到的中间文件迁移到目的数据库对应的分区,实现了在目的数据库上的分发,将业务相关的数据分发到相同的数据库单元中,使得数据迁移后数据分布合理均匀,提升了数据迁移的灵活性。
在一可选的实现方式中,中间文件包括基础数据和业务数据,获取分发键信息,还包括:获取基础数据的优先级;根据优先级对基础数据进行排序处理,得到排序结果;根据排序结果进行关键字段查询匹配处理,得到与业务数据关联的基础数据;获取与业务数据关联的基础数据对应的分发键。
另外,在一实施例中,参照图9,步骤S810可以包括但不限于有以下步骤:
S910,获取基础数据的优先级;
S920,根据优先级对基础数据进行排序处理,得到排序结果;
S930,根据排序结果进行关键字段查询匹配处理,得到与业务数据关联的基础数据;
S940,获取与业务数据关联的基础数据对应的分发键。
在具体的实施例中,中间文件包括基础数据和业务数据,基础数据包括但不限于基础信息表,业务数据包括但不限于业务信息表。具体地,基础信息表指存储用户基本信息等数据的表,具有被依赖和数据相对稳定的特点,其中,表的某些字段信息能够区分体现表数据特点,例如性别、籍贯等信息;业务表是用户在办理业务过程中产生的业务信息数据,与基础信息表有很高的关联性,一般关联一张或多张基础信息表的信息。
在步骤S910中,基础数据的优先级是基础数据的属性之一,用于根据优先级进行查询匹配,以提前处理重要程度较高的基础数据,保证数据分发的可靠性。比如,基础表的优先级分别为:jc1、jc2、jc3。
在步骤S920至步骤S940中,针对业务数据按照基础信息表优先等级顺序循环进行关键字段的查询匹配,若匹配到基础信息表,则跳出循环匹配,将该基础信息表的分发键作为本业务表数据的分发键;若匹配不到基础信息表,将本业务表数据的分发键置为默认值,比如,默认值可以为hash(00001),其中,hash表明其分发键为HASH。
在一可选的实现方式中,迁移请求信息还包括平台运行环境信息,根据导出策略将源数据转化为中间文件,包括:根据平台运行环境信息生成格式转换策略;根据格式转换策略对源数据进行格式转化处理,得到目标格式数据;根据目标格式数据更新中间文件。
另外,在一实施例中,参照图10,步骤S310可以包括但不限于有以下步骤:
S1010,根据平台运行环境信息生成格式转换策略;
S1020,根据格式转换策略对源数据进行格式转化处理,得到目标格式数据;
S1030,根据目标格式数据更新中间文件。
在具体的实施例中,完成导出过程之后,需要考虑中间文件的格式是否符合当前运行平台的要求,从而进行中间文件的格式转换,一般情况下,格式转换的过程发生在数据导出的过程中。
在步骤S1010中,平台运行环境信息为迁移端当前使用的迁移平台的运行环境信息,格式转换策略为不同的平台运行环境于文件格式的对应关系,不同类型的平台对文件格式的要求不同,因此需要依据平台的特征对源数据的文件类型进行转换,以提升数据迁移的效率。
在步骤S1020至S1030中,目标格式数据包括但不限于CSV文件,需要说明的是,目标格式数据的格式也可以依据其他平台或数据库的特征进行适应性调整,能达到相应的技术效果即可,比如将varchar2类型转换为varchar类型;或者number类型转换为decimal类型等。
在一可选的实现方式中,迁移请求信息还包括数据筛选信息,根据数据属性参数生成迁移策略,包括:根据源数据、数据筛选信息进行数据源筛选处理,得到目标数据;根据目标数据的数据属性参数生成迁移策略;对应的,根据迁移策略将源数据迁移到目的数据库,包括:根据迁移策略将目标数据迁移到目的数据库。
另外,在一实施例中,参照图11,步骤S230可以包括但不限于有以下步骤:
S1110,根据源数据、数据筛选信息进行数据源筛选处理,得到目标数据;
S1120,根据目标数据的数据属性参数生成迁移策略;
对应的,步骤S240可以包括但不限于有以下步骤:
S1130,根据迁移策略将目标数据迁移到目的数据库。
在步骤S1110中,在一些数据迁移的场景下,不需要对原始数据库的所有源数据进行迁移,需要进行有选择地对所需数据或关键数据进行迁移,其中,目标数据是从源数据中筛选出来的所需数据或关键数据。
在步骤S1120至S1130中,迁移策略的生成过程和数据迁移的原理没有因迁移对象的改变而改变,客户可以根据业务需要选择迁移需要的或者关键的数据,达到对原始数据库的数据清洗作用,保持了目的数据库的数据高有效性,也提升了数据迁移过程的灵活性。
在一可选的实现方式中,迁移请求信息还包括权限认证请求,根据数据属性参数生成迁移策略,包括:对权限认证请求进行解析,得到权限信息;对权限信息进行认证处理,得到认证结果信息;根据认证结果信息、数据属性参数生成迁移策略。
另外,在一实施例中,参照图12,步骤S230可以包括但不限于有以下步骤:
S1210,对权限认证请求进行解析,得到权限信息;
S1220,对权限信息进行认证处理,得到认证结果信息;
S1230,根据认证结果信息、数据属性参数生成迁移策略。
在步骤S1210中,用户通过客户端向迁移端发送迁移请求信息,其中,迁移端包括但不限于数据迁移工具,数据迁移工具解析数据迁移命令得到权限信息,权限信息用于表征该客户端是否具有数据迁移的权限内。
在步骤S1220中,迁移端得到权限信息之后,对权限信息进行认证处理,得到认证结果信息,认证结果信息用于表征迁移端对客户端权限的认证结果。
在步骤S1230中,若认证结果为认证成功,即权限认证通过后,迁移端根据认证结果信息、数据属性参数生成迁移策略。
在一可选的实现方式中,方法还包括:根据中间文件生成迁移结果报告文件。
另外,在一实施例中,参照图13,数据迁移方法还包括:
S1310,获取中间文件、迁移过程文件;
S1320,根据中间文件、迁移过程文件生成迁移结果报告文件。
在步骤S1310中,中间文件为在导出过程中得到的中间文件,迁移过程文件为在导出和导入过程中,迁移过程文件为每个文件的导出和导入成功与否的记录。
在步骤S1320中,将中间文件、迁移过程文件进行汇总,生成迁移结果报告文件,以供数据分析等再利用。比如,迁移过程文件用于判断数据源中的每个数据表是否迁移成功,若未迁移成功,可通过记录的中间文件来判断,该数据表的迁移过程是在哪个步骤出现了错误,进而针对未迁移成功的数据表进行二次迁移,保证数据迁移的可靠性。
在一可选的实现方式中,目的数据库为分布式数据库。
在具体的实施例中,目的数据库为分布式数据库,在数据库系统的替换升级时使用,将原始数据库中的数据根据需要进行数据迁移到分布式数据库系统中,此时,无论原始数据库是分布式数据库,还是普通数据库,都可以利用本申请的数据迁移方法完成迁移过程。
需要说明的是,若原始数据库和目的数据库都为普通数据库,则省去本申请提供的数据迁移方法的数据分发功能,依然可完成数据迁移的任务,这提升了本申请的数据迁移方法的普适性。
本申请实施例提供一种数据迁移方法,应用于客户端,方法包括:获取迁移请求信息;迁移请求信息包括源数据的数据属性参数;发送迁移请求信息给迁移端,以使迁移端执行上述任一用于迁移端的方法。
如图14所示,图14是本申请一个实施例提供的数据迁移方法的流程图,该数据迁移方法应用于客户端,例如应用于如图1所示实施例中的客户端110中,该数据迁移方法包括但不限于有步骤S1410和步骤S1420。
S1410,获取迁移请求信息;
S1420,发送迁移请求信息给迁移端。
在步骤S1410中,迁移请求信息用于客户端向迁移端传递与迁移过程相关的命令和参数,以使迁移平台根据上述命令和参数对源数据进行迁移处理。其中,与迁移过程相关的命令和参数包括但不限于数据属性参数、权限认证请求。
在步骤S1420中,发送迁移请求信息给迁移端,以使迁移端执行上述任一用于迁移端的方法。
针对上述相关技术中所存在的技术问题,在本实施例中,在客户端,获取迁移请求信息,并发送给迁移端使其完成迁移任务,通过本申请实施例提供的技术方案可以实现对数据库多进程多线程的迁移,避免了因数据不均匀而导致的迁移时长较大的问题,提升了数据迁移的效率;实现了跨数据库字段类型转换的处理,提升了数据迁移准确度;实现了对分布式数据库的数据迁移,考虑了数据在分布式数据库上的分发和分布问题,同时实现对部分数据的选择迁移,提升了数据迁移的灵活性。
下面参考图15,以一个具体的实施例详细描述数据迁移方法。值得理解的是,下述描述仅是示例性说明,而不是对申请的具体限制。
S1510,客户端获取并发送迁移请求信息给迁移端;
S1520,迁移端获取来自原始数据库的源数据,并接收客户端发送的迁移请求信息;迁移请求信息包括源数据的数据属性参数、数据筛选信息;
S1530,迁移端对权限认证请求进行解析,得到权限信息,再对权限信息进行认证处理,得到认证结果信息;
S1540,若迁移端判断认证结果信息为权限合法;则根据源数据、数据筛选信息进行数据源筛选处理,得到目标数据;
S1550,策略优化模块根据目标数据的表数量参数和表数据量参数生成导出策略和导入策略;其中,导出策略包括导出进程数量、导出线程数量。
S1560,数据导出模块根据数据属性参数配置导出进程数量和导出线程数量,将数据均匀分配到对应导出线程进行数据导出,根据文件划分规则,将源数据对应导出为至少一个中间文件。
S1570,数据导出模块根据平台运行环境信息生成格式转换策略,根据格式转换策略对源数据进行格式转化处理,得到目标格式数据,再利用目标格式数据更新中间文件。
S1580,数据导入模块根据数据属性参数配置导入进程数量和导入线程数量,将数据均匀分配到对应导入线程进行数据导入,利用分发键信息获取与分发键信息相匹配的中间文件,将中间文件迁移到目的数据库对应的分区。
S1590,结果输出模块获取中间文件、迁移过程文件,生成迁移结果报告文件。
具体地,目标数据的表数量参数为700、表数据量参数为100亿,配置导出进程数量和导入进程数量为5,导出线程数量和导入线程数量为20。
在导出过程中,以100万行的固定数据行进行线程分发,以10万行的固定行数设来进行数据落盘,生成csv中间文件。
在导入过程中,以5000条数据记录进行线程分发,根据RANGE、LIST、HASH等分发键信息将基础数据和业务数据按照对应的分发规则部署在分布式数据库中。
在实际应用中,图15展示的数据迁移过程共占用Oracle数据库4T大小的表空间,在3小时内完成全部的数据迁移,极大地提升了数据迁移的效率。
以下一个应用示例,说明本申请的数据迁移方法。
一种典型的数据迁移流程如图16所示,简单说明如下:
原始数据库(图示为源数据库)将海量数据发送至数据导出模块,数据导出模块向策略优化模块发送策略查询命令,策略优化模块接收到查询命令之后,返回策略信息给数据导出模块,进而,数据导出模块根据策略信息将源数据导出为中间文件,中间文件依次记为TB1.csv1……TBm.csv1、TBn.csv1……TBn.csvk,然后数据导入模块根据策略信息将中间文件分发到目的数据库,目的数据库的文件记为TB1导入……TBm导入、TBn导入……TBn导入,进而完成数据迁移。最后,结果输出模块根据数据迁移记录形成结果文件,结果文件记为result。
另外,本申请实施例的一个实施例还提供了一种数据迁移装置,用于迁移端,参照图17,该数据迁移装置包括:
源数据获取模块1710,用于获取来自原始数据库的源数据;
迁移请求信息接收模块1720,用于接收客户端发送的迁移请求信息;迁移请求信息包括源数据的数据属性参数;
迁移策略生成模块1730,用于根据数据属性参数生成迁移策略;
迁移模块1740,用于根据迁移策略将源数据迁移到目的数据库。
源数据获取模块1710与迁移请求信息接收模块1720连接,迁移请求信息接收模块1720与迁移策略生成模块1730连接,迁移策略生成模块1730与迁移模块1740连接。
需要说明的是,本实施例中的数据迁移装置与用于迁移端的数据迁移方法,属于相同的发明构思,因此这些实施例具有相同的实现原理以及技术效果,此处不再详述。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,本申请实施例的一个实施例还提供了一种数据迁移装置,用于客户端,参照图18,该数据迁移装置包括:
数据获取模块1810,用于获取迁移请求信息;迁移请求信息包括源数据的数据属性参数;
数据发送模块1820,用于发送迁移请求信息给迁移端,以使迁移端执行本申请如上述任一用于迁移端的方法。
其中,数据获取模块1810与数据发送模块1820连接。
需要说明的是,本实施例中的数据迁移装置与用于客户端的数据迁移方法,属于相同的发明构思,因此这些实施例具有相同的实现原理以及技术效果,此处不再详述。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,本申请实施例的一个实施例还提供了一种电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序。
处理器和存储器可以通过总线或者其他方式连接。
存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序以及非暂态性计算机可执行程序。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至该处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
需要说明的是,本实施例中的电子设备,可以应用为如图1所示实施例的系统架构中的客户端110或者迁移端120中,本实施例中的电子设备和如图2所示实施例的数据迁移方法具有相同的发明构思,因此这些实施例具有相同的实现原理以及技术效果,此处不再详述。
实现上述实施例的数据迁移方法所需的非暂态软件程序以及指令存储在存储器中,当被处理器执行时,执行上述任一实施例中的数据迁移方法。
此外,本申请实施例的一个实施例还提供了一种存储介质,该存储介质存储有计算机可执行指令,该计算机可执行指令被一个处理器或控制器执行,例如,被上述实施例中的一个处理器执行,可使得上述处理器执行上述实施例中的数据迁移方法,例如,执行以上描述的任一实施例的数据迁移方法。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统可以被实施为软件、固件、硬件及其适当的组合。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
以上是对本申请实施例的较佳实施进行了具体说明,但本申请实施例并不局限于上述实施方式,熟悉本领域的技术人员在不违背本申请实施例精神的前提下还可作出种种的等同变形或替换,这些等同的变形或替换均包含在本申请实施例权利要求所限定的范围内。
Claims (13)
1.一种数据迁移方法,其特征在于,包括:
获取来自原始数据库的源数据;
接收客户端发送的迁移请求信息;所述迁移请求信息包括所述源数据的数据属性参数、平台运行环境信息;所述数据属性参数包括以下的一种或多种:表数量参数、表数据量参数、行数量参数;
根据所述数据属性参数生成迁移策略;所述迁移策略包括导出策略、导入策略;所述导入策略包括导入进线程策略、数据分发策略;所述根据所述数据属性参数生成迁移策略,包括:根据所述表数量参数和所述表数据量参数进行预测处理,得到中间参数;根据所述中间参数生成所述导入进线程策略;所述预测处理包括:根据源文件的体量对生成的中间文件的规模进行预测;通过历史的配置数据来对预测模型进行训练,并利用预测模型预进行预测;
根据所述迁移策略将所述源数据迁移到目的数据库,具体包括:根据所述导出策略将所述源数据转化为中间文件;根据所述导入策略将所述中间文件迁移到所述目的数据库;
所述根据所述导出策略将所述源数据转化为中间文件,包括:根据所述平台运行环境信息生成格式转换策略;根据所述格式转换策略对所述源数据进行格式转化处理,得到目标格式数据;根据所述目标格式数据更新所述中间文件;
所述目的数据库为包括多个分区的分布式数据库;所述根据所述导入策略将所述中间文件迁移到所述目的数据库,包括:获取分发键信息;根据所述分发键信息,获取与所述分发键信息相匹配的所述中间文件;将所述中间文件迁移到所述目的数据库对应的分区;
根据所述中间文件生成迁移结果报告文件;所述迁移结果报告文件用于判断迁移是否成功,所述迁移结果报告文件还用于判断迁移出错的位置。
2.根据权利要求1所述的方法,其特征在于,所述导出策略包括导出进线程策略;所述根据所述导出策略将所述源数据转化为中间文件,包括:
根据所述数据属性参数配置导出进程数量和导出线程数量;
根据所述导出进程数量、所述导出线程数量和所述数据属性参数,将数据均匀分配到对应导出线程进行数据导出,生成所述中间文件。
3.根据权利要求1所述的方法,其特征在于,所述导出策略包括数据落盘策略,所述根据所述导出策略将所述源数据转化为中间文件,包括:
获取预设的文件划分规则;所述文件划分规则包括生成每一所述中间文件的数据量数或数据行数;
根据所述文件划分规则,将所述源数据对应导出为至少一个中间文件。
4.根据权利要求1所述的方法,其特征在于,所述导入策略包括导入进线程策略;所述根据所述导入策略将所述中间文件迁移到所述目的数据库,包括:
根据所述数据属性参数配置导入进程数量和导入线程数量;
根据所述导入进程数量、所述导入线程数量和所述数据属性参数,将数据均匀分配到对应导入线程进行数据导入,将所述中间文件迁移到所述目的数据库。
5.根据权利要求1所述的方法,其特征在于,所述中间文件包括基础数据和业务数据,所述获取分发键信息,还包括:
获取所述基础数据的优先级;
根据所述优先级对所述基础数据进行排序处理,得到排序结果;
根据所述排序结果进行关键字段查询匹配处理,得到与所述业务数据关联的所述基础数据;
获取与所述业务数据关联的所述基础数据对应的所述分发键。
6.根据权利要求5所述的方法,其特征在于,所述分发键信息至少包括以下任一种:连续区间分发键、枚举值分发键、分区分发键。
7.根据权利要求1所述的方法,其特征在于,所述迁移请求信息还包括数据筛选信息,所述根据所述数据属性参数生成迁移策略,包括:
根据所述源数据、所述数据筛选信息进行数据源筛选处理,得到目标数据;
根据所述目标数据的所述数据属性参数生成所述迁移策略;
对应的,所述根据所述迁移策略将所述源数据迁移到目的数据库,包括:
根据所述迁移策略将所述目标数据迁移到所述目的数据库。
8.根据权利要求1所述的方法,其特征在于,所述迁移请求信息还包括权限认证请求,所述根据所述数据属性参数生成迁移策略,包括:
对所述权限认证请求进行解析,得到权限信息;
对所述权限信息进行认证处理,得到认证结果信息;
根据所述认证结果信息、所述数据属性参数生成所述迁移策略。
9.一种数据迁移方法,其特征在于,包括:
获取迁移请求信息;所述迁移请求信息包括所述源数据的数据属性参数;
发送所述迁移请求信息给迁移端,以使所述迁移端执行如权利要求1至8任一项所述的方法。
10.一种数据迁移装置,其特征在于,包括:
源数据获取模块,用于获取来自原始数据库的源数据;
迁移请求信息接收模块,用于接收客户端发送的迁移请求信息;所述迁移请求信息包括所述源数据的数据属性参数、平台运行环境信息;所述数据属性参数包括以下的一种或多种:表数量参数、表数据量参数、行数量参数;
迁移策略生成模块,用于根据所述数据属性参数生成迁移策略;所述迁移策略包括导出策略、导入策略;所述导入策略包括导入进线程策略、数据分发策略;所述根据所述数据属性参数生成迁移策略,包括:根据所述表数量参数和所述表数据量参数进行预测处理,得到中间参数;根据所述中间参数生成所述导入进线程策略;所述预测处理包括:根据源文件的体量对生成的中间文件的规模进行预测;通过历史的配置数据来对预测模型进行训练,并利用预测模型预进行预测;
迁移模块,用于根据所述迁移策略将所述源数据迁移到目的数据库,具体包括:根据所述导出策略将所述源数据转化为中间文件;根据所述导入策略将所述中间文件迁移到所述目的数据库;
所述根据所述导出策略将所述源数据转化为中间文件,包括:根据所述平台运行环境信息生成格式转换策略;根据所述格式转换策略对所述源数据进行格式转化处理,得到目标格式数据;根据所述目标格式数据更新所述中间文件;
所述目的数据库为包括多个分区的分布式数据库;所述根据所述导入策略将所述中间文件迁移到所述目的数据库,包括:获取分发键信息;根据所述分发键信息,获取与所述分发键信息相匹配的所述中间文件;将所述中间文件迁移到所述目的数据库对应的分区;
报告生成模块,用于根据所述中间文件生成迁移结果报告文件;所述迁移结果报告文件用于判断迁移是否成功,所述迁移结果报告文件还用于判断迁移出错的位置。
11.一种数据迁移装置,其特征在于,包括:
数据获取模块,用于获取迁移请求信息;所述迁移请求信息包括所述源数据的数据属性参数;
数据发送模块,用于发送所述迁移请求信息给迁移端,以使所述迁移端执行如权利要求1至8任一项所述的方法。
12.一种电子设备,其特征在于,包括:
至少一个存储器;
至少一个处理器;
至少一个程序;
所述程序被存储在存储器中,处理器执行所述至少一个程序以实现:
如权利要求1至8任一项所述的方法;
或,如权利要求9所述的方法。
13.一种存储介质,所述存储介质为计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行:
如权利要求1至8任一项所述的方法;
或,如权利要求9所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210035298.4A CN114077602B (zh) | 2022-01-13 | 2022-01-13 | 数据迁移方法和装置、电子设备、存储介质 |
PCT/CN2023/071319 WO2023134627A1 (zh) | 2022-01-13 | 2023-01-09 | 数据迁移方法和装置、电子设备、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210035298.4A CN114077602B (zh) | 2022-01-13 | 2022-01-13 | 数据迁移方法和装置、电子设备、存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114077602A CN114077602A (zh) | 2022-02-22 |
CN114077602B true CN114077602B (zh) | 2022-05-17 |
Family
ID=80284514
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210035298.4A Active CN114077602B (zh) | 2022-01-13 | 2022-01-13 | 数据迁移方法和装置、电子设备、存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN114077602B (zh) |
WO (1) | WO2023134627A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114077602B (zh) * | 2022-01-13 | 2022-05-17 | 中兴通讯股份有限公司 | 数据迁移方法和装置、电子设备、存储介质 |
CN114461369B (zh) * | 2022-04-12 | 2022-08-19 | 山东省计算中心(国家超级计算济南中心) | 一种面向复杂应用场景的自适应数据调度系统及方法 |
CN117278394B (zh) * | 2023-11-21 | 2024-04-05 | 京东科技信息技术有限公司 | 网关流量迁移方法、装置和系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108280148A (zh) * | 2018-01-02 | 2018-07-13 | 中国民生银行股份有限公司 | 一种数据迁移方法和数据迁移服务器 |
CN112015716A (zh) * | 2020-08-04 | 2020-12-01 | 北京人大金仓信息技术股份有限公司 | 数据库数据迁移方法、装置、介质和电子设备 |
CN113297182A (zh) * | 2021-06-16 | 2021-08-24 | 中国农业银行股份有限公司 | 数据迁移方法、设备、存储介质及程序产品 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8296615B2 (en) * | 2006-11-17 | 2012-10-23 | Infosys Limited | System and method for generating data migration plan |
CN105653630B (zh) * | 2015-12-25 | 2019-12-24 | 北京奇虎科技有限公司 | 分布式数据库的数据迁移方法与装置 |
CN108132949B (zh) * | 2016-12-01 | 2021-02-12 | 腾讯科技(深圳)有限公司 | 数据库集群中数据迁移的方法及装置 |
CN106708968B (zh) * | 2016-12-01 | 2019-11-26 | 成都华为技术有限公司 | 分布式数据库系统和分布式数据库系统中的数据处理方法 |
EP3686750A1 (en) * | 2019-01-23 | 2020-07-29 | Accenture Global Solutions Limited | Data migration |
CN112241398A (zh) * | 2019-07-19 | 2021-01-19 | 北京京东尚科信息技术有限公司 | 一种数据迁移方法和系统 |
CN111753016B (zh) * | 2020-06-28 | 2024-06-04 | 深圳前海微众银行股份有限公司 | 数据处理方法、装置、系统及计算机可读存储介质 |
CN112035439B (zh) * | 2020-09-01 | 2024-02-27 | 中国银行股份有限公司 | 数据迁移方法及装置、计算机设备及计算机可读存储介质 |
CN112650736B (zh) * | 2020-12-31 | 2024-07-05 | 中国农业银行股份有限公司 | 一种数据迁移方法及装置 |
CN113190534A (zh) * | 2021-05-26 | 2021-07-30 | 中国工商银行股份有限公司 | 数据库数据迁移方法及装置 |
CN114077602B (zh) * | 2022-01-13 | 2022-05-17 | 中兴通讯股份有限公司 | 数据迁移方法和装置、电子设备、存储介质 |
-
2022
- 2022-01-13 CN CN202210035298.4A patent/CN114077602B/zh active Active
-
2023
- 2023-01-09 WO PCT/CN2023/071319 patent/WO2023134627A1/zh unknown
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108280148A (zh) * | 2018-01-02 | 2018-07-13 | 中国民生银行股份有限公司 | 一种数据迁移方法和数据迁移服务器 |
CN112015716A (zh) * | 2020-08-04 | 2020-12-01 | 北京人大金仓信息技术股份有限公司 | 数据库数据迁移方法、装置、介质和电子设备 |
CN113297182A (zh) * | 2021-06-16 | 2021-08-24 | 中国农业银行股份有限公司 | 数据迁移方法、设备、存储介质及程序产品 |
Also Published As
Publication number | Publication date |
---|---|
CN114077602A (zh) | 2022-02-22 |
WO2023134627A1 (zh) | 2023-07-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114077602B (zh) | 数据迁移方法和装置、电子设备、存储介质 | |
CN110532247B (zh) | 数据迁移方法和数据迁移系统 | |
CN110147407B (zh) | 一种数据处理方法、装置及数据库管理服务器 | |
CN112765262B (zh) | 一种数据重分布方法、电子设备及存储介质 | |
US11860833B2 (en) | Data redistribution method, apparatus, and system | |
CN111324606B (zh) | 数据分片的方法及装置 | |
WO2016169237A1 (zh) | 数据处理方法及装置 | |
EP4170514A1 (en) | Data association query method and apparatus, and device and storage medium | |
CN112840334B (zh) | 管理分区表的数据的方法、装置、管理节点及存储介质 | |
CN116127436A (zh) | 多租户权限管理方法及系统 | |
CN111694811A (zh) | 一种批量数据入库方法及装置 | |
CN107566341B (zh) | 一种基于联邦分布式文件存储系统的数据持久化存储方法及系统 | |
CN111459913B (zh) | 分布式数据库的容量扩展方法、装置及电子设备 | |
US11301436B2 (en) | File storage method and storage apparatus | |
WO2023185309A1 (zh) | 数据同步方法和系统、计算机可读存储介质 | |
CN116775712A (zh) | 联表查询方法、装置、电子设备、分布式系统和存储介质 | |
CN110119389B (zh) | 虚拟机块设备的写操作方法、快照创建方法及装置 | |
CN114661246B (zh) | 一种存储控制的方法和装置 | |
CN116737113A (zh) | 面向海量科学数据的元数据目录管理系统及方法 | |
CN115455121A (zh) | 一种实时可靠的数据同步传输方法、设备及介质 | |
CN115905206A (zh) | 多租户数据隔离方法、装置、设备及存储介质 | |
CN113901018A (zh) | 一种待迁移文件识别方法、装置、计算机设备及存储介质 | |
CN112835887A (zh) | 数据库管理方法、装置、计算设备和存储介质 | |
CN113032446B (zh) | 一种分布式查询系统的数据处理方法和装置 | |
CN117632953B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |