数据迁移方法、装置、设备及存储介质制造方法及图纸

技术编号:39329224 阅读:11 留言:0更新日期:2023-11-12 16:06
本申请提供一种数据迁移方法、装置、设备及存储介质。该方法包括:获取数据迁移请求;根据文件标识获取配置文件,配置文件中包括源数据库的标识、数据筛选条件、目标数据库的标识和迁移方式;根据数据筛选条件在源数据库中确定待迁移的目标数据集合,并确定目标数据集合中各目标数据所在的目标数据表,得到多个目标数据表;针对任意一个目标数据表,根据目标数据表中包括的多条目标数据,生成目标数据表对应的目标数据文件;确定目标数据库的数据库类型,根据目标数据库类型、迁移方式、以及每个目标数据表对应的目标数据文件,生成多条程序语句;执行多条程序语句,将目标数据集合迁移至目标数据库。提高了迁移数据的灵活性。提高了迁移数据的灵活性。提高了迁移数据的灵活性。

【技术实现步骤摘要】
数据迁移方法、装置、设备及存储介质


[0001]本申请涉及计算机领域,尤其涉及一种数据迁移方法、装置、设备及存储介质。

技术介绍

[0002]数据库中可以存储有多条数据。在一些工作场景中,需要将源数据库中的数据迁移至目标数据库。
[0003]在相关技术中,通常是使用数据库自带的迁移工具,将待迁移的数据从源数据库中导出,再导入目标数据库。然而,在上述方式中,通常是对数据库进行整体迁移,且源数据库和目标数据库的类型需相同,导致对数据迁移的灵活性差。

技术实现思路

[0004]本申请提供一种数据迁移方法、装置、设备及存储介质,用以提高对数据迁移的灵活性。
[0005]第一方面,本申请提供一种数据迁移方法,包括:
[0006]获取数据迁移请求,所述数据迁移请求包括文件标识;
[0007]根据文件标识获取配置文件,所述配置文件中包括源数据库的标识、数据筛选条件、目标数据库的标识和迁移方式;
[0008]根据所述数据筛选条件在源数据库中确定待迁移的目标数据集合,并确定所述目标数据集合中各目标数据所在的目标数据表,得到多个目标数据表;
[0009]针对任意一个目标数据表,根据所述目标数据表中包括的多条目标数据,生成所述目标数据表对应的目标数据文件,所述目标数据文件中包括多条目标数据;
[0010]确定所述目标数据库的数据库类型,根据所述目标数据库类型、所述迁移方式、以及每个目标数据表对应的目标数据文件,生成多条程序语句,所述程序语句用于在目标数据库中迁入目标数据;
[0011]执行所述多条程序语句,将所述目标数据集合迁移至所述目标数据库。
[0012]在一种可能的实施方式中,根据所述目标数据库类型、所述迁移方式、以及每个目标数据表对应的目标数据文件,生成多条程序语句,包括:
[0013]根据所述迁移方式确定目标执行类型,所述目标执行类型包括批量插入类型、批量更新类型和单独插入类型;
[0014]根据所述目标数据库类型,确定目标语句类型;
[0015]根据所述目标执行类型、所述目标语句类型、以及每个目标数据表对应的目标数据文件,生成所述多条程序语句。
[0016]在一种可能的实施方式中,所述迁移方式包括初始化方式、更新方式、忽略冲突方式;根据所述迁移方式确定目标执行类型,包括:
[0017]若所述迁移方式为所述初始化方式,则确定所述目标执行类型为批量插入类型;
[0018]若所述迁移方式为更新方式,则确定所述目标执行类型为批量更新类型;
[0019]若所述迁移方式为忽略冲突方式,则确定所述目标执行类型为单独插入类型。
[0020]在一种可能的实施方式中,若所述目标执行类型为批量插入类型或批量更新类型;根据所述目标执行类型、所述目标语句类型、以及每个目标数据表对应的目标数据文件,生成所述多条程序语句,包括:
[0021]确定预设数据量;
[0022]确定每条目标数据的数据量得到多个数据量,将所述多个数据量中的最大值确定为最大数据量;
[0023]针对任意一条程序语句,根据所述预设数据量和所述最大数据量,在至少一个目标数据表对应的目标数据文件中确定N条目标数据,并根据所述N条目标数据、所述目标执行类型、以及所述目标语句类型,生成程序语句,所述程序语句用于迁移所述N条目标数据,N为大于或等于1的整数。
[0024]在一种可能的实施方式中,若所述目标执行类型为单独插入类型;根据所述目标执行类型、所述目标语句类型、以及每个目标数据表对应的目标数据文件,生成所述多条程序语句,包括:
[0025]针对任意一条程序语句,在至少一个目标数据表对应的目标数据文件中确定第一目标数据;
[0026]根据所述第一目标数据、所述目标执行类型、以及所述目标语句类型,生成程序语句,所述程序语句用于迁移所述第一目标数据。
[0027]在一种可能的实施方式中,根据所述第一目标数据、所述目标执行类型、以及所述目标语句类型,生成程序语句,包括:
[0028]根据所述目标执行类型确定第一字段;
[0029]确定待迁入数据表的数据表标识,将所述数据表标识确定为第二字段;
[0030]将所述第一目标数据确定为第三字段;
[0031]对所述第一字段、所述第二字段和所述第三字段进行组装处理,生成所述程序语句,所述程序语句的语句类型为目标语句类型。
[0032]在一种可能的实施方式中,根据所述迁移范围在所述源数据库中确定多张目标数据表之后,所述方法还包括:
[0033]获取第一统计信息,所述第一统计信息中包括所述多个目标数据表的标识、以及每个目标数据表对应的目标数据量;
[0034]执行所述多条程序语句,将所述目标数据集合迁移至所述目标数据库时,所述方法还包括:
[0035]获取第二统计信息,所述第二统计信息中包括待迁入数据表的数据表标识、以及每个待迁入数据表对应的迁入数据量。
[0036]在一种可能的实施方式中,所述方法还包括:
[0037]对所述第一统计信息和所述第二统计信息进行对比处理;
[0038]若所述第一统计信息和所述第二统计信息一致,则确定所述迁移结果为迁移成功;
[0039]若所述第一统计信息和所述第二统计信息存在不一致,则确定所述迁移结果为部分迁移失败。
[0040]第二方面,本申请提供一种数据迁移装置,包括:第一获取模块、第二获取模块、确定模块、第一生成模块、第二生成模块和执行模块,其中,
[0041]所述第一获取模块用于,获取数据迁移请求,所述数据迁移请求包括文件标识;
[0042]所述第二获取模块用于,根据文件标识获取配置文件,所述配置文件中包括源数据库的标识、数据筛选条件、目标数据库的标识和迁移方式;
[0043]所述确定模块用于,根据所述数据筛选条件在源数据库中确定待迁移的目标数据集合,并确定所述目标数据集合中各目标数据所在的目标数据表,得到多个目标数据表;
[0044]所述第一生成模块用于,针对任意一个目标数据表,根据所述目标数据表中包括的多条目标数据,生成所述目标数据表对应的目标数据文件,所述目标数据文件中包括多条目标数据;
[0045]所述第二生成模块用于,确定所述目标数据库的数据库类型,根据所述目标数据库类型、所述迁移方式、以及每个目标数据表对应的目标数据文件,生成多条程序语句,所述程序语句用于在目标数据库中迁入目标数据;
[0046]所述执行模块用于,执行所述多条程序语句,将所述目标数据集合迁移至所述目标数据库。
[0047]在一种可能的实施方式中,所述第二生成模块具体用于:
[0048]根据所述迁移方式确定目标执行类型,所述目标执行类型包括批量插入类型、批量更新类型和单独插入类型;
[0049]根据所述目标数据库类型,确定目标语句类型;
[0050]根据所述目标执行类型、所述目标语句类型、以本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据迁移方法,其特征在于,包括:获取数据迁移请求,所述数据迁移请求包括文件标识;根据文件标识获取配置文件,所述配置文件中包括源数据库的标识、数据筛选条件、目标数据库的标识和迁移方式;根据所述数据筛选条件在源数据库中确定待迁移的目标数据集合,并确定所述目标数据集合中各目标数据所在的目标数据表,得到多个目标数据表;针对任意一个目标数据表,根据所述目标数据表中包括的多条目标数据,生成所述目标数据表对应的目标数据文件,所述目标数据文件中包括多条目标数据;确定所述目标数据库的数据库类型,根据所述目标数据库类型、所述迁移方式、以及每个目标数据表对应的目标数据文件,生成多条程序语句,所述程序语句用于在目标数据库中迁入目标数据;执行所述多条程序语句,将所述目标数据集合迁移至所述目标数据库。2.根据权利要求1所述的方法,其特征在于,根据所述目标数据库类型、所述迁移方式、以及每个目标数据表对应的目标数据文件,生成多条程序语句,包括:根据所述迁移方式确定目标执行类型,所述目标执行类型包括批量插入类型、批量更新类型和单独插入类型;根据所述目标数据库类型,确定目标语句类型;根据所述目标执行类型、所述目标语句类型、以及每个目标数据表对应的目标数据文件,生成所述多条程序语句。3.根据权利要求2所述的方法,其特征在于,所述迁移方式包括初始化方式、更新方式、忽略冲突方式;根据所述迁移方式确定目标执行类型,包括:若所述迁移方式为所述初始化方式,则确定所述目标执行类型为批量插入类型;若所述迁移方式为更新方式,则确定所述目标执行类型为批量更新类型;若所述迁移方式为忽略冲突方式,则确定所述目标执行类型为单独插入类型。4.根据权利要求2或3所述的方法,其特征在于,若所述目标执行类型为批量插入类型或批量更新类型;根据所述目标执行类型、所述目标语句类型、以及每个目标数据表对应的目标数据文件,生成所述多条程序语句,包括:确定预设数据量;确定每条目标数据的数据量得到多个数据量,将所述多个数据量中的最大值确定为最大数据量;针对任意一条程序语句,根据所述预设数据量和所述最大数据量,在至少一个目标数据表对应的目标数据文件中确定N条目标数据,并根据所述N条目标数据、所述目标执行类型、以及所述目标语句类型,生成程序语句,所述程序语句用于迁移所述N条目标数据,N为大于或等于1的整数。5.根据权利要求2或3所述的方法,其特征在于,若所述目标执行类型为单独插入类型;根据所述目标执行类型、所述目标语句类型、以及每个目标数据表对应的目标数据文件,生成所述多条程序语句,包括:针对任意一条程序语句,在至少一个目标数据表对应的目标数据文件中确定第一目标数据;
根据所述第一目标数据、所述目标执行类型、以及所述目标语句类型,生成程序语句,所述程序语句用于迁移所述第一目标数据。6.根据权利要求5所述的方法,其特征在于,根据所述第一...

【专利技术属性】
技术研发人员:姜奥杰
申请(专利权)人:建信金融科技有限责任公司
类型:发明
国别省市:

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

1