数据库间大数据表批量迁移的方法、系统、设备和介质技术方案

技术编号:32564216 阅读:20 留言:0更新日期:2022-03-09 16:49
本发明专利技术提供一种数据库间大数据表批量迁移的方法、系统、设备和介质,方法包括:根据所需要迁移的数据表,生成一对应的配置文件,所述配置文件包括至少一行,所述每一行对应10个配置列,所述每个配置列为:源数据库、源数据库表名、源编码方式、目标数据库、目标数据库数据表名、目标数据库编码方式、迁移方式、迁移依据字段、开始数值以及结束数值;循环读取配置文件,进行数据表的批量迁移,降低了开发人员数据迁移的难度以及迁移工作量。据迁移的难度以及迁移工作量。据迁移的难度以及迁移工作量。

【技术实现步骤摘要】
数据库间大数据表批量迁移的方法、系统、设备和介质


[0001]本专利技术涉及计算机
,特别涉及一种数据库间大数据表批量迁移的方法、系统、设备和介质。

技术介绍

[0002]近年以来,数据爆炸式增长,市面上数据库产品的不断丰富,国产数据库产品也异军突起,行业竞争的不断加剧,数据库产品更新换代速度也随之提高。银行内部多年来开发诸多内部管理系统,随着数据库产品的更新换代,内部系统之间数据库产品的选择也逐渐多样化,出现了需要在不同的数据库产品间进行数据迁移的情况。但是市面上不同的数据库厂商基本仅针对自家的数据库产品提供数据导入或导出操作,未曾考虑过自家的数据如何导入到其他的厂商的数据库中的情况。而且在数据的导入导出过程中,如果数据表的记录数特别多,达到几十亿或上百亿,经常会由于各种各样的问题导致数据迁移失败的情况。

技术实现思路

[0003]本专利技术要解决的技术问题,在于提供一种数据库间大数据表批量迁移的方法、系统、设备和介质,降低了开发人员数据迁移的难度以及迁移工作量。
[0004]第一方面,本专利技术提供了一种数据库间大数据表批量迁移的方法,包括:
[0005]步骤1、根据所需要迁移的数据表,生成一对应的配置文件,所述配置文件包括至少一行,所述每一行对应10个配置列,所述每个配置列为:源数据库、源数据库表名、源编码方式、目标数据库、目标数据库数据表名、目标数据库编码方式、迁移方式、迁移依据字段、开始数值以及结束数值;
[0006]步骤2、循环读取配置文件,进行数据表的批量迁移;
[0007]其中,通过源数据库和源数据库表名设定数据表建表脚本的获取方式;通过目标数据库以及目标数据库数据表名确定目标数据库的建表方式,并确定目标数据库的数据文件导入命令的选择;基于源编码方式与目标数据库编码方式的比较,进行判断在数据文件生成之后是否需要进行编码转换,如果源编码方式与目标数据库编码方式不一致,则需要进行编码转换,若一致,则无需进行编码转换;迁移方式包括拆分迁移和整体迁移。
[0008]进一步地,根据数据表的记录数量选择拆分方式,若数据表的记录数在设定范围内,则选择整体迁移的方式;若数据表的记录数不在设定范围内,则采用拆分迁移的方式;采用拆分迁移的方式时,基于迁移依据字段、开始数值以及结束数值的组合,形成拆分规则。
[0009]进一步地,所述步骤2进一步具体为:循环读取配置文件,进行数据表的批量迁移;每一次迁移过程完成之后,根据配置文件的源数据库表名、目标数据库数据表名、迁移方式、迁移依据字段、开始数值以及结束数值,生成数据表记录数查询SQL脚本,分别获取源数据表的记录数与目标数据表的记录数,进行比较是否一致,并记录至日志。
[0010]第二方面,本专利技术提供了一种数据库间大数据表批量迁移的系统,包括:
[0011]设置模块,根据所需要迁移的数据表,生成一对应的配置文件,所述配置文件包括至少一行,所述每一行对应10个配置列,所述每个配置列为:源数据库、源数据库表名、源编码方式、目标数据库、目标数据库数据表名、目标数据库编码方式、迁移方式、迁移依据字段、开始数值以及结束数值;
[0012]迁移模块,循环读取配置文件,进行数据表的批量迁移;
[0013]其中,通过源数据库和源数据库表名设定数据表建表脚本的获取方式;通过目标数据库以及目标数据库数据表名确定目标数据库的建表方式,并确定目标数据库的数据文件导入命令的选择;基于源编码方式与目标数据库编码方式的比较,进行判断在数据文件生成之后是否需要进行编码转换,如果源编码方式与目标数据库编码方式不一致,则需要进行编码转换,若一致,则无需进行编码转换;迁移方式包括拆分迁移和整体迁移。
[0014]进一步地,根据数据表的记录数量选择拆分方式,若数据表的记录数在设定范围内,则选择整体迁移的方式;若数据表的记录数不在设定范围内,则采用拆分迁移的方式;采用拆分迁移的方式时,基于迁移依据字段、开始数值以及结束数值的组合,形成拆分规则。
[0015]进一步地,所述迁移模块进一步具体为:循环读取配置文件,进行数据表的批量迁移;每一次迁移过程完成之后,根据配置文件的源数据库表名、目标数据库数据表名、迁移方式、迁移依据字段、开始数值以及结束数值,生成数据表记录数查询SQL脚本,分别获取源数据表的记录数与目标数据表的记录数,进行比较是否一致,并记录至日志。
[0016]第三方面,本专利技术提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现第一方面所述的方法。
[0017]第四方面,本专利技术提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现第一方面所述的方法。
[0018]本专利技术实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
[0019]1、与传统方法相比,本专利技术自动实现了对SYBASE IQ、SYABASE ASE、GBASE、ORACLE、MYSQL等多种数据库产品的支持,无需开发人员对各种数据库语言的语法、数据结构、字符编码、迁移命令、日志输出、异常排查的熟练掌握,降低了开发人员数据迁移的难度;
[0020]2、与传统方法相比,本专利技术很好地支持了大数据表(记录数几十亿或上百亿)的数据迁移,采取了更灵活的迁移文件大小控制方式,降低了文件系统在传统的数据库数据迁移过程中的空间限制约束要求;
[0021]3、与传统的手工处理过程相比,实现了批量化、自动化,屏蔽了手工过程带来的操作失误风险,大幅度降低了工作量;
[0022]4、与传统方法相比,本专利技术支持批量之后对有异常的数据进行统一分析、统一解决,降低了异常排查的难度,提高了问题排查效率。
[0023]上述说明仅是本专利技术技术方案的概述,为了能够更清楚了解本专利技术的技术手段,而可依照说明书的内容予以实施,并且为了让本专利技术的上述和其它目的、特征和优点能够更明显易懂,以下特举本专利技术的具体实施方式。
附图说明
[0024]下面参照附图结合实施例对本专利技术作进一步的说明。
[0025]图1为本专利技术的框架示意图。
具体实施方式
[0026]本申请实施例通过提供一种数据库间大数据表批量迁移的方法、系统、设备和介质,不仅解决了不同数据库间数据迁移的问题,而且对大数据表(记录数达到几十亿或上百亿)的批量迁移也能够充分支持;本专利技术支持的数据库产品包括:SYBASE IQ、SYABASE ASE、GBASE、ORACLE、MYSQL等。
[0027]本申请实施例中的技术方案,总体思路如下:
[0028]如图1所示,该装置实现的具体功能模块如下:
[0029]1.配置模块:主要负责对需要转移的数据表进行具体配置,并生成一个配置文件。配置文件由一行或多行组成,每一行对应具体的10个配置列。配置文件的每一个行10个列配置格式如下:“【列1】源数据库【列2】源数据库表名【列3】源编码方式【列4】目标数据库本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据库间大数据表批量迁移的方法,其特征在于:包括:步骤1、根据所需要迁移的数据表,生成一对应的配置文件,所述配置文件包括至少一行,所述每一行对应10个配置列,所述每个配置列为:源数据库、源数据库表名、源编码方式、目标数据库、目标数据库数据表名、目标数据库编码方式、迁移方式、迁移依据字段、开始数值以及结束数值;步骤2、循环读取配置文件,进行数据表的批量迁移;其中,通过源数据库和源数据库表名设定数据表建表脚本的获取方式;通过目标数据库以及目标数据库数据表名确定目标数据库的建表方式,并确定目标数据库的数据文件导入命令的选择;基于源编码方式与目标数据库编码方式的比较,进行判断在数据文件生成之后是否需要进行编码转换,如果源编码方式与目标数据库编码方式不一致,则需要进行编码转换,若一致,则无需进行编码转换;迁移方式包括拆分迁移和整体迁移。2.根据权利要求1所述的一种数据库间大数据表批量迁移的方法,其特征在于:根据数据表的记录数量选择拆分方式,若数据表的记录数在设定范围内,则选择整体迁移的方式;若数据表的记录数不在设定范围内,则采用拆分迁移的方式;采用拆分迁移的方式时,基于迁移依据字段、开始数值以及结束数值的组合,形成拆分规则。3.根据权利要求1所述的一种数据库间大数据表批量迁移的方法,其特征在于:所述步骤2进一步具体为:循环读取配置文件,进行数据表的批量迁移;每一次迁移过程完成之后,根据配置文件的源数据库表名、目标数据库数据表名、迁移方式、迁移依据字段、开始数值以及结束数值,生成数据表记录数查询SQL脚本,分别获取源数据表的记录数与目标数据表的记录数,进行比较是否一致,并记录至日志。4.一种数据库间大数据表批量迁移的系统,其特征在于:包括:设置模块,根据所需要迁移的数据表,生成一对应的配置文件,所述配置文件包括至少一行,所述每一行对应1...

【专利技术属性】
技术研发人员:曾钊饶龙翔钱美旋
申请(专利权)人:中国农业银行股份有限公司福建省分行
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1