一种基于任务分解的异构数据库迁移方法及系统技术方案

技术编号:33956864 阅读:33 留言:0更新日期:2022-06-29 23:43
本发明专利技术涉及一种基于任务分解的异构数据库迁移方法及系统,通过配置对应数据库迁移的执行任务分解规则,将数据库迁移请求拆分为若干相互独立的执行任务分别进行处理和验证,从而有效降低异构数据库迁移操作复杂度,迁移速度快,迁移稳定,支持失败重试机制,支持多种迁移条件,支持数据迁移后多表数据量、表关键数据多维度源数据库和目标数据库检核校验,能够适应多种灵活的数据迁移场景。适应多种灵活的数据迁移场景。适应多种灵活的数据迁移场景。

【技术实现步骤摘要】
一种基于任务分解的异构数据库迁移方法及系统


[0001]本专利技术涉及数据处理和数据库管理
,尤其涉及一种基于任务分解的异构数据库迁移方法及系统。

技术介绍

[0002]数据迁移是指将数据从源数据库迁移到目标数据库的过程,数据迁移的实现可以分为3个阶段:数据迁移前的准备、数据迁移的实施和数据迁移后的校验。由于数据迁移的特点,大量的工作都需要在准备阶段完成,充分而周到的准备工作是完成数据迁移的主要基础。
[0003]应用的升级改造往往离不开数据库的数据迁移,数据迁移的成功与否是新系统成功上线的重要前提,也是新系统今后稳定运行的有力保障。如果数据迁移失败,新系统将不能正常启用;如果数据迁移的质量较差,没能屏蔽全部的垃圾数据,会严重影响新系统的稳定性,新系统一旦访问这些垃圾数据,可能会由这些垃圾数据产生新的错误数据,严重时还会导致系统异常等不可预知的异常。相反,成功的数据迁移可以有效地保障新系统的顺利运行,能够保留珍贵的历史数据。
[0004]数据迁移从数据库角度可以分为同构数据迁移以及异构数据迁移,同构数据迁移指源数据库和目标数据库的数据库类型相同,异构数据迁移指源数据库和目标数据库数据类型不同。同构数据库的迁移技术及方法已经很成熟了,比如ORACLE基于IMPDP和EXPDP的迁移方法。异构数据库的迁移由于数据库的类型以及数据类型实现的差异,在迁移过程中往往需要进行数据类型适配转换,并且数据的迁移存在一定的失败概率,目前并无成熟的异构数据库迁移方法。
[0005]另一方面,数据库的迁移场景是复杂的,针对不通的业务需求,数据迁移可以是全量数据迁移和部分数据迁移,当迁移部分数据时,要求迁移方法对数据库表的选择以及表中数据的选择机制是灵活的,以适应负责多变的迁移场景。
[0006]由此可知,现有技术对于数据库迁移,特别是异构数据库迁移缺乏简便有效的处理手段,数据库迁移过程效率较低且容易出现错误,极大地影响新系统正常运行。

技术实现思路

[0007]为解决现有技术的不足,本专利技术提出一种基于任务分解的异构数据库迁移方法及系统,根据预设规则将数据库迁移拆分为若干相互独立的执行任务分别进行处理,从而有效降低异构数据库迁移操作复杂度,迁移速度快,迁移稳定,支持失败重试机制,支持多种迁移条件,支持数据迁移后多表数据量、表关键数据多维度源数据库和目标数据库检核校验,能够适应多种灵活的数据迁移场景。
[0008]为实现以上目的,本专利技术所采用的技术方案包括:
[0009]一种基于任务分解的异构数据库迁移方法,其特征在于,包括:
[0010]S1、配置对应数据库迁移的执行任务分解规则,所述执行任务分解规则包括若干
相互独立的执行任务类型各以及各执行任务类型之间的逻辑处理顺序,所述执行任务类型包括数据库类型识别、迁移性能设定、迁移范围设定、数据转换、数据迁移和数据校验,所述逻辑处理顺序包括严格顺序执行和任意执行;
[0011]S2、获取数据库迁移请求,根据执行任务分解规则将数据库迁移请求拆分为若干相互独立的执行任务;
[0012]S3、根据执行任务分解规则判断所有执行任务当前是否可处理;
[0013]S4、对于判断当前可处理的执行任务,分别进行对应处理操作,并判断执行任务是否执行成功;
[0014]S5、当判断执行任务已执行成功时,将对应执行任务标记为完结任务;
[0015]S6、重复执行步骤S3至S5,直至所有执行任务均标记为完结任务。
[0016]进一步地,所述步骤S2包括:
[0017]根据执行任务分解规则将数据库迁移请求拆分为对应不同执行任务类型的任务组,所述任务组包含同一执行任务类型下的一个或多个相互独立的执行任务。
[0018]进一步地,所述步骤S3包括分步骤:
[0019]S31、将所有任务组分别作为目标组,识别目标组对应逻辑处理顺序为严格顺序执行的关联组;
[0020]S32、判断关联组是否为目标组的前置任务;
[0021]S33、当判断关联组是目标组的前置任务时,进一步判断关联组所包含的所有执行任务是否均已标记为完结任务;
[0022]S34、当判断关联组内存在执行任务未标记为完结任务时,判断当前不可处理目标组;
[0023]S35、将未判断为当前不可处理的目标组所包含的所有执行任务判断为当前可处理。
[0024]进一步地,所述步骤S5还包括:
[0025]当判断执行任务未执行成功时,将对应执行任务的重试计数增加1。
[0026]进一步地,所述方法还包括:
[0027]预设执行任务的重试次数上限阈值。
[0028]进一步地,所述方法还包括:
[0029]当任一执行任务的重试计数超过重试次数上限阈值时,停止所有执行任务的处理并反馈处理错误信息,所述处理错误信息包括重试计数超过重试次数上限阈值的执行任务的对应信息。
[0030]本专利技术还涉及一种基于任务分解的异构数据库迁移系统,其特征在于,包括:
[0031]规则配置模块,用于配置对应数据库迁移的执行任务分解规则;
[0032]任务拆分模块,用于根据执行任务分解规则将数据库迁移请求拆分为若干相互独立的执行任务;
[0033]第一判断模块,用于判断执行任务当前是否可处理;
[0034]任务执行模块,用于对执行任务进行对应处理操作;
[0035]第二判断模块,用于判断执行任务是否执行成功。
[0036]本专利技术还涉及一种计算机可读存储介质,其特征在于,所述存储介质上存储有计
算机程序,所述计算机程序被处理器执行时实现上述的方法。
[0037]本专利技术还涉及一种电子设备,其特征在于,包括处理器和存储器;
[0038]所述存储器,用于存储执行任务分解规则;
[0039]所述处理器,用于通过调用执行任务分解规则,执行上述的方法。
[0040]本专利技术还涉及一种计算机程序产品,包括计算机程序和/或指令,其特征在于,该计算机程序和/或指令被处理器执行时实现上述方法的步骤。
[0041]本专利技术的有益效果为:
[0042]采用本专利技术所述方法及系统,根据预设规则将数据库迁移拆分为若干相互独立的执行任务分别进行处理,从而有效降低异构数据库迁移操作复杂度,迁移速度快,迁移稳定,支持失败重试机制,支持多种迁移条件,支持数据迁移后多表数据量、表关键数据多维度源数据库和目标数据库检核校验,能够适应多种灵活的数据迁移场景。
附图说明
[0043]图1为本专利技术基于任务分解的异构数据库迁移方法流程示意图。
[0044]图2为本专利技术基于任务分解的异构数据库迁移系统结构示意图。
具体实施方式
[0045]为了更清楚的理解本专利技术的内容,将结合附图和实施例详细说明。
[0046]本专利技术第一方面涉及一种步骤流程如图1所示的基于任务分解的异构数据库迁移方法,包括:
[004本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于任务分解的异构数据库迁移方法,其特征在于,包括:S1、配置对应数据库迁移的执行任务分解规则,所述执行任务分解规则包括若干相互独立的执行任务类型各以及各执行任务类型之间的逻辑处理顺序,所述执行任务类型包括数据库类型识别、迁移性能设定、迁移范围设定、数据转换、数据迁移和数据校验,所述逻辑处理顺序包括严格顺序执行和任意执行;S2、获取数据库迁移请求,根据执行任务分解规则将数据库迁移请求拆分为若干相互独立的执行任务;S3、根据执行任务分解规则判断所有执行任务当前是否可处理;S4、对于判断当前可处理的执行任务,分别进行对应处理操作,并判断执行任务是否执行成功;S5、当判断执行任务已执行成功时,将对应执行任务标记为完结任务;S6、重复执行步骤S3至S5,直至所有执行任务均标记为完结任务。2.如权利要求1所述的方法,其特征在于,所述步骤S2包括:根据执行任务分解规则将数据库迁移请求拆分为对应不同执行任务类型的任务组,所述任务组包含同一执行任务类型下的一个或多个相互独立的执行任务。3.如权利要求2所述的方法,其特征在于,所述步骤S3包括分步骤:S31、将所有任务组分别作为目标组,识别目标组对应逻辑处理顺序为严格顺序执行的关联组;S32、判断关联组是否为目标组的前置任务;S33、当判断关联组是目标组的前置任务时,进一步判断关联组所包含的所有执行任务是否均已标记为完结任务;S34、当判断关联组内存在执行任务未标记为完结任务时,判断当前不可处理目标组;S35、将未判断为当前不...

【专利技术属性】
技术研发人员:李承文陈志国
申请(专利权)人:中国建设银行股份有限公司
类型:发明
国别省市:

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

1