System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 数据迁移方法、装置、设备、存储介质及计算机程序产品制造方法及图纸_技高网

数据迁移方法、装置、设备、存储介质及计算机程序产品制造方法及图纸

技术编号:41206153 阅读:5 留言:0更新日期:2024-05-07 22:32
本申请提供一种数据迁移方法、装置、设备、存储介质及计算机程序产品,应用于数据库技术领域,该方法包括采集源数据库的基本信息,将所述源数据库的基本信息拆分为前置基础信息和后置基础信息;基于所述前置基础信息生成第一结构查询语言SQL语句,并执行所述第一SQL语句以在目标数据库中创建与所述源数据库对应的目标库表结构;将所述源数据库中的数据写入所述目标库表结构,基于所述后置基础信息生成第二SQL语句,并执行所述第二SQL语句。该方法通过采集源数据库的基本信息,并将源数据库中的基本信息拆解为前置基础信息和后置基础信息,将前置基础信息、源数据库中的数据和后置基础信息分布写入目标数据库,有效地提高了数据的写入效率。

【技术实现步骤摘要】

本申请涉及数据库,尤其涉及一种数据迁移方法、装置、设备、存储介质及计算机程序产品


技术介绍

1、数据迁移是指选择、准备、提取和转换数据,并将数据从一个计算机存储系统永久地传输到另一个计算机存储系统的过程。数据迁移有多种原因,包括服务器或存储设备更换、维护或升级、应用程序迁移、网站集成、灾难恢复和数据中心迁移。现有数据迁移方法存在热迁移的方式,即通过获取源数据库中待迁移数据,将数据迁移至目标库后采用对比待迁移数据以及第一迁移数据进行md5值校验一致性。该方案中,数据库第一迁移数据同步至目标库的过程中,未考虑到库表结构调整对于整个数据迁移效率的影响,从而导致数据迁移耗时过长,数据写入的效率较低。


技术实现思路

1、本申请实施例提供一种数据迁移方法、装置、设备及存储介质,以解决现有数据迁移方法中数据迁移耗时过长,数据写入的效率较低的问题。

2、为了解决上述技术问题,本申请是这样实现的:

3、第一方面,本申请实施例提供了一种数据迁移方法,该数据迁移方法包括:

4、采集源数据库的基本信息,将所述源数据库的基本信息拆分为前置基础信息和后置基础信息,所述前置基础信息包括基础字段,所述后置基础信息包括触发器及索引;

5、基于所述前置基础信息生成第一结构查询语言sql语句,并执行所述第一sql语句以在目标数据库中创建与所述源数据库对应的目标库表结构;

6、将所述源数据库中的数据写入所述目标库表结构,基于所述后置基础信息生成第二sql语句,并执行所述第二sql语句。

7、可选地,所述将所述源数据库的基本信息拆分为前置基础信息和后置基础信息,包括:

8、对所述基本信息进行评估处理;

9、在所述基本信息满足预设数据迁移要求的情况下,将所述源数据库的基本信息拆分为前置基础信息和后置基础信息。

10、可选地,所述将所述源数据库中的数据写入所述目标库表结构,包括:

11、将所述源数据库中的全量数据分割为多个数据包,并将所述多个数据包分别写入所述目标库表结构;

12、通过解析二进制日志数据获取增量数据,将所述增量数据写入所述目标库表结构,所述源数据库中的数据包括所述全量数据和所述增量数据。

13、可选地,每个数据包包括标志位和校验码,所述标志位包括以下至少一项:数据库标识id;表id;所述数据包对应的数据范围;时间戳;

14、所述将所述源数据库中的全量数据分割为多个数据包,并将所述多个数据包分别写入所述目标库表结构之后,所述方法还包括:

15、根据目标第一数据包对应的第一数据范围,获取第一数据,并基于所述第一数据生成第一校验码,所述目标第一数据包为所述多个数据包中成功写入所述目标库表结构的数据包;

16、将所述第一校验码和所述源数据库中与所述第一数据范围对应的源第一数据包的校验码进行比对;

17、在所述第一校验码和所述源数据库中与所述第一数据范围对应的源第一数据包的校验码比对失败的情况下,将所述目标第一数据包转移至重试区存储。

18、可选地,所述方法还包括:

19、将第二数据包转移至所述重试区存储,所述第二数据包为所述多个数据包中n次均写入所述目标库表结构失败的数据包,其中,n大于第一阈值。

20、可选地,所述方法还包括:

21、对所述重试区中的数据包进行修复,并将修复后的所述重试区的数据包写入所述目标库表结构。

22、可选地,所述基于所述后置基础信息生成第二sql语句,并执行所述第二sql语句之后,所述方法还包括:

23、将所述源数据库的库表结构和数据内容与所述目标数据库的所述目标库表结构和数据内容进行校验。

24、第二方面,本申请实施例还提供一种数据迁移系统,该数据迁移系统包括解析器、数据池、控制器和执行器,其中:

25、所述解析器用于采集源数据库的基本信息,并将所述源数据库的基本信息拆分为前置基础信息和后置基础信息,以及将全量数据分割为多个数据包,所述前置基础信息包括基础字段,所述后置基础信息包括触发器及索引;

26、所述数据池用于缓存所述解析器分割的多个数据包;

27、所述控制器用于根据所述解析器在将所述全量数据分割为多个数据包之后,向所述执行器发送数据写入任务;

28、所述执行器用于根据所述控制器发送的所述数据写入任务,将所述多个数据包写入目标数据库,并向所述控制器发送任务反馈信息,所述任务反馈信息包括数据包信息、写入状态信息和校验状态信息。

29、第三方面,本申请实施例还提供一种数据迁移装置,该数据迁移装置包括:

30、第一拆分模块,用于采集源数据库的基本信息,将所述源数据库的基本信息拆分为前置基础信息和后置基础信息,所述前置基础信息包括基础字段,所述后置基础信息包括触发器及索引;

31、第一处理模块,用于基于所述前置基础信息生成第一结构查询语言sql语句,并执行所述第一sql语句以在目标数据库中创建与所述源数据库对应的目标库表结构;

32、第二处理模块,用于将所述源数据库中的数据写入所述目标库表结构,基于所述后置基础信息生成第二sql语句,并执行所述第二sql语句。

33、可选地,所述第一拆分模块,包括:

34、第一评估单元,用于对所述基本信息进行评估处理;

35、第一拆分单元,用于在所述基本信息满足预设数据迁移要求的情况下,将所述源数据库的基本信息拆分为前置基础信息和后置基础信息。

36、可选地,所述第二处理模块,包括:

37、第一处理单元,用于将所述源数据库中的全量数据分割为多个数据包,并将所述多个数据包分别写入所述目标库表结构;

38、第二处理单元,用于通过解析二进制日志数据获取增量数据,将所述增量数据写入所述目标库表结构,所述源数据库中的数据包括所述全量数据和所述增量数据。

39、可选地,每个数据包包括标志位和校验码,所述标志位包括以下至少一项:数据库标识id;表id;所述数据包对应的数据范围;时间戳;

40、所述装置还包括:

41、第一生成模块,用于根据目标第一数据包对应的第一数据范围,获取第一数据,并基于所述第一数据生成第一校验码,所述目标第一数据包为所述多个数据包中成功写入所述目标库表结构的数据包;

42、第一比对模块,用于将所述第一校验码和所述源数据库中与所述第一数据范围对应的源第一数据包的校验码进行比对;

43、第一存储模块,用于在所述第一校验码和所述源数据库中与所述第一数据范围对应的源第一数据包的校验码比对失败的情况下,将所述目标第一数据包转移至重试区存储。

44、可选地,所述装置还包括:

45、第二存储模块,用于将第二数据包转移至所述重试区存储,所述第二数据包为所述多个数据包中n次均写本文档来自技高网...

【技术保护点】

1.一种数据迁移方法,其特征在于,所述方法包括:

2.根据权利要求1所述的数据迁移方法,其特征在于,所述将所述源数据库的基本信息拆分为前置基础信息和后置基础信息,包括:

3.根据权利要求1所述的数据迁移方法,其特征在于,所述将所述源数据库中的数据写入所述目标库表结构,包括:

4.根据权利要求3所述的数据迁移方法,其特征在于,每个数据包包括标志位和校验码,所述标志位包括以下至少一项:数据库标识ID;表ID;所述数据包对应的数据范围;时间戳;

5.根据权利要求4所述的数据迁移方法,其特征在于,所述方法还包括:

6.根据权利要求4或5所述的数据迁移方法,其特征在于,所述方法还包括:

7.根据权利要求1所述的数据迁移方法,其特征在于,所述基于所述后置基础信息生成第二SQL语句,并执行所述第二SQL语句之后,所述方法还包括:

8.一种数据迁移系统,其特征在于,所述数据迁移系统包括解析器、数据池、控制器和执行器,其中:

9.一种数据迁移装置,其特征在于,所述数据迁移装置包括:

10.一种数据迁移设备,其特征在于,所述数据迁移设备包括收发机和处理器,所述收发机用于:

11.一种电子设备,其特征在于,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至7中任一项所述的数据迁移方法的步骤。

12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的数据迁移方法的步骤。

13.一种计算机程序产品,其特征在于,包括计算机指令,所述计算机指令被处理器执行时实现如权利要求1至7中任一项所述的数据迁移方法的步骤。

...

【技术特征摘要】

1.一种数据迁移方法,其特征在于,所述方法包括:

2.根据权利要求1所述的数据迁移方法,其特征在于,所述将所述源数据库的基本信息拆分为前置基础信息和后置基础信息,包括:

3.根据权利要求1所述的数据迁移方法,其特征在于,所述将所述源数据库中的数据写入所述目标库表结构,包括:

4.根据权利要求3所述的数据迁移方法,其特征在于,每个数据包包括标志位和校验码,所述标志位包括以下至少一项:数据库标识id;表id;所述数据包对应的数据范围;时间戳;

5.根据权利要求4所述的数据迁移方法,其特征在于,所述方法还包括:

6.根据权利要求4或5所述的数据迁移方法,其特征在于,所述方法还包括:

7.根据权利要求1所述的数据迁移方法,其特征在于,所述基于所述后置基础信息生成第二sql语句,并执行所述第二sql语句之后,所述方法还包括:

<...

【专利技术属性】
技术研发人员:施宏陈学平时家幸
申请(专利权)人:中移苏州软件技术有限公司
类型:发明
国别省市:

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

1