数据库表数据迁移方法及装置制造方法及图纸

技术编号:38141550 阅读:6 留言:0更新日期:2023-07-08 09:56
本说明书涉及数据处理技术领域,具体地公开了一种数据库表数据迁移方法及装置,其中,该方法包括:获取待迁移的查询结果集;查询结果集中包括表数据以及对应的元数据;对元数据进行解析,得到表数据中各列数据对应的数据类型信息;基于数据类型信息生成读取数组;读取数组中包括各列数据对应的解析对象;解析对象中封装有用于解析表数据的流程;基于数据类型信息生成写入数组;写入数组中包括各列数据对应的写入对象;写入对象中封装有用于设置表数据的流程;利用读取数组从查询结果集中读取并解析各列数据;利用写入数组将解析得到的各列数据写入目标数据库表。上述方案可以提高数据迁移效率。迁移效率。迁移效率。

【技术实现步骤摘要】
数据库表数据迁移方法及装置


[0001]本说明书涉及数据处理
,特别涉及一种数据库表数据迁移方法及装置。

技术介绍

[0002]在生产和测试环境,由于业务要求和资源切换等原因需要快速将已有库表数据迁移到新的数据库。数据迁移有很多成熟的方案,第一种可以通过数据迁移工具来操作。第二种方式是通过dump文件,将需要的数据导出后再导入目标数据库。然而,第一种方式,需要在生产环境配置迁移工具,操作权限上有限制。此外不够灵活,对于多表联合数据导入的情况不适用。第二种方式,通过dump文件迁移耗时较长,会影响生产用数的实时性。
[0003]针对上述问题,目前尚未提出有效的解决方案。

技术实现思路

[0004]本说明书实施例提供了一种数据库表数据迁移方法及装置,以解决现有技术中的数据迁移方法效率低的问题。
[0005]本说明书实施例提供了一种数据库表数据迁移方法,包括:
[0006]获取待迁移的查询结果集;所述查询结果集中包括表数据以及对应的元数据;对所述元数据进行解析,得到所述表数据中各列数据对应的数据类型信息;
[0007]基于所述数据类型信息生成读取数组;所述读取数组中包括所述各列数据对应的解析对象;所述解析对象中封装有用于解析表数据的流程;基于所述数据类型信息生成写入数组;所述写入数组中包括所述各列数据对应的写入对象;所述写入对象中封装有用于设置表数据的流程;
[0008]利用所述读取数组从所述查询结果集中读取各列数据;利用所述写入数组将解析得到的各列数据写入目标数据库表。
[0009]在一个实施例中,获取待迁移的查询结果集,包括:
[0010]接收数据迁移指令;所述数据迁移指令中包括查询语句;
[0011]执行所述查询语句,以从源数据库表中查询表数据,得到待迁移的查询结果集。
[0012]在一个实施例中,执行所述查询语句,以从源数据库表中查询表数据,包括:
[0013]通过JDBC API接口与源数据库建立连接;
[0014]执行所述查询语句,以从所述源数据库的源数据库表中查询表数据。
[0015]在一个实施例中,所述数据类型信息包括以下至少之一:日期数据类型、数字数据类型、字符数据类型、字符串数据类型。
[0016]在一个实施例中,对所述元数据进行解析,得到所述表数据中各列数据对应的数据类型信息,包括:
[0017]对所述元数据进行解析,得到所述表数据中各列数据对应的数据类型信息和列信息;所述列信息包括以下至少之一:列名、列大小以及列是否为空。
[0018]在一个实施例中,基于所述数据类型信息生成读取数组,包括:
[0019]基于所述各列数据对应的数据类型信息,生成所述各列数据对应的解析对象;
[0020]将所述各列数据对应的列标识和解析对象关联存储在数组中,得到读取数组。
[0021]在一个实施例中,基于所述数据类型信息生成写入数组,包括:
[0022]基于所述各列数据对应的数据类型信息,生成所述各列数据对应的写入对象;
[0023]将所述各列数据对应的列标识和写入对象关联存储在数组中,得到写入数组。
[0024]在一个实施例中,利用所述读取数组从所述查询结果集中读取各列数据,包括:
[0025]基于所述各列数据对应的列标识调用所述读取数组中对应的解析对象对所述各列数据进行解析。
[0026]在一个实施例中,利用所述写入数组将解析得到的各列数据写入目标数据库表,包括:
[0027]基于解析得到的各列数据对应的列标识调用所述写入数组中对应的写入对象对解析得到的各列数据进行设置,以写入目标数据库表。
[0028]在一个实施例中,所述查询结果集包括多个查询结果集,所述多个查询结果集中各查询结果集中携带有对应的源数据库标识和目标数据库标识;
[0029]相应的,基于所述数据类型信息生成读取数组,包括:
[0030]基于所述各查询结果集对应的数据类型信息生成所述各查询结果集对应的读取数组;所述读取数组中携带有对应的源数据库标识和目标数据库标识。
[0031]本说明书实施例还提供了一种数据库表数据迁移装置,包括:
[0032]获取模块,用于获取待迁移的查询结果集;所述查询结果集中包括表数据以及对应的元数据;对所述元数据进行解析,得到所述表数据中各列数据对应的数据类型信息;
[0033]生成模块,用于基于所述数据类型信息生成读取数组;所述读取数组中包括所述各列数据对应的解析对象;所述解析对象中封装有用于解析表数据的流程;基于所述数据类型信息生成写入数组;所述写入数组中包括所述各列数据对应的写入对象;所述写入对象中封装有用于设置表数据的流程;
[0034]写入模块,用于利用所述读取数组从所述查询结果集中读取各列数据;利用所述写入数组将解析得到的各列数据写入目标数据库表。
[0035]在一个实施例中,所述获取模块具体用于:
[0036]接收数据迁移指令;所述数据迁移指令中包括查询语句;
[0037]执行所述查询语句,以从源数据库表中查询表数据,得到待迁移的查询结果集。
[0038]本说明书实施例还提供一种计算机设备,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现上述任意实施例中所述的数据库表数据迁移方法的步骤。
[0039]本说明书实施例还提供一种计算机可读存储介质,其上存储有计算机指令,所述指令被处理器执行时实现上述任意实施例中所述的数据库表数据迁移方法的步骤。
[0040]本说明书实施例还提供一种计算机程序产品,包括计算机程序/指令,所述计算机程序/指令被处理器执行时实现上述任意实施例中所述的数据库表数据迁移方法的步骤。
[0041]在本说明书实施例中,提供了一种数据库表数据迁移方法,可以获取待迁移的查询结果集,所述查询结果集中包括表数据以及对应的元数据,对所述元数据进行解析,得到所述表数据中各列数据对应的数据类型信息,基于所述数据类型信息生成读取数组,所述
读取数组中包括所述各列数据对应的解析对象,所述解析对象中封装有用于解析表数据的流程,基于所述数据类型信息生成写入数组,所述写入数组中包括所述各列数据对应的写入对象,所述写入对象中封装有用于设置表数据的流程,利用所述读取数组从所述查询结果集中读取各列数据,利用所述写入数组将解析得到的各列数据写入目标数据库表。本方案中,在首次执行某个表迁移数据的查询时,通过解析查询结果集中的元数据,生成包括用于读取查询结果集的解析对象的读取数组。后续在进行查询结果集解析时,直接通过快速获取读取数组中的解析对象进行解析,使得后续解析每列数据时无需判断当前是哪个字段以及判断使用哪个类型来解析。对于数据插入,基于相似的原理,通过解析查询结果集中的元数据,生成包括如何设置数据类型的写入对象的写入数组,在写入数据时,直接通过调用对应的写入对象,使得后续写入每列数据时无需判断当前是哪本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据库表数据迁移方法,其特征在于,包括:获取待迁移的查询结果集;所述查询结果集中包括表数据以及对应的元数据;对所述元数据进行解析,得到所述表数据中各列数据对应的数据类型信息;基于所述数据类型信息生成读取数组;所述读取数组中包括所述各列数据对应的解析对象;所述解析对象中封装有用于解析表数据的流程;基于所述数据类型信息生成写入数组;所述写入数组中包括所述各列数据对应的写入对象;所述写入对象中封装有用于设置表数据的流程;利用所述读取数组从所述查询结果集中读取各列数据;利用所述写入数组将解析得到的各列数据写入目标数据库表。2.根据权利要求1所述的数据库表数据迁移方法,其特征在于,获取待迁移的查询结果集,包括:接收数据迁移指令;所述数据迁移指令中包括查询语句;执行所述查询语句,以从源数据库表中查询表数据,得到待迁移的查询结果集。3.根据权利要求2所述的数据库表数据迁移方法,其特征在于,执行所述查询语句,以从源数据库表中查询表数据,包括:通过JDBC API接口与源数据库建立连接;执行所述查询语句,以从所述源数据库的源数据库表中查询表数据。4.根据权利要求1所述的数据库表数据迁移方法,其特征在于,所述数据类型信息包括以下至少之一:日期数据类型、数字数据类型、字符数据类型、字符串数据类型。5.根据权利要求1所述的数据库表数据迁移方法,其特征在于,对所述元数据进行解析,得到所述表数据中各列数据对应的数据类型信息,包括:对所述元数据进行解析,得到所述表数据中各列数据对应的数据类型信息和列信息;所述列信息包括以下至少之一:列名、列大小以及列是否为空。6.根据权利要求1所述的数据库表数据迁移方法,其特征在于,基于所述数据类型信息生成读取数组,包括:基于所述各列数据对应的数据类型信息,生成所述各列数据对应的解析对象;将所述各列数据对应的列标识和解析对象关联存储在数组中,得到读取数组。7.根据权利要求1所述的数据库表数据迁移方法,其特征在于,基于所述数据类型信息生成写入数组,包括:基于所述各列数据对应的数据类型信息,生成所述各列数据对应的写入对象;将所述各列数据对应的列标识和写入对象关联存储在数组中,得到写入数组。8.根据权利要求6所述的数据库表数据迁移方法,其特征在于,利用所述读取数组从所述查询结...

【专利技术属性】
技术研发人员:赵培夫谢蓓李卓
申请(专利权)人:建信金融科技有限责任公司
类型:发明
国别省市:

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

1