一种用于系统升级数据迁移的方法技术方案

技术编号:39498475 阅读:16 留言:0更新日期:2023-11-24 11:28
本发明专利技术公开了一种用于系统升级数据迁移的方法,包括确定原数据库中待迁移的数据表,配置迁移参数;循环查询待迁移的数据表

【技术实现步骤摘要】
一种用于系统升级数据迁移的方法


[0001]本专利技术涉及大数据
,具体涉及一种用于系统升级数据迁移的方法


技术介绍

[0002]在互联网飞速发展的过程中,随着公司规模的不断扩大和业务体系的不断升级,数据迁移成了不可避免的任务,因为它们直接影响到业务的连续性和数据的完整性

在过去,系统升级和数据迁移是一个高耗时且高风险的过程

[0003]早期,在公司规模比较小的时候,可以采用停机迁移的办法,但随着公司体量的增大和用户规模的快速增长,并且为了给用户更好的体验,不停机迁移就变的非常关键

而要做到快速和无感知的数据迁移,就必须解决数据模型转换和迁移效率提升,并且要解决在数据迁移过程中,数据的一致性和完整性

更重要的是要解决在迁移过程中,数据的变化能够实时感应并且快速兼容,不能使用户的操作受到停顿或者出现数据误差

[0004]如何提升数据迁移的投入的人力成本,以及如何提升数据迁移的速度等,特别是如何解决数据实时更新

保持数据一致性都是整个数据迁移过程中的痛点


技术实现思路

[0005]本专利技术要解决的技术问题是:提供一种用于系统升级数据迁移的方法,以至少解决上述部分技术问题

[0006]为实现上述目的,本专利技术采用的技术方案如下:一种用于系统升级数据迁移的方法,包括以下步骤:步骤
1、
确定原数据库中待迁移的数据表,配置迁移参数;步骤
2、
循环查询待迁移的数据表

提取对应的主键
id
,基于主键
id
获取待迁移数据并转换,将转换后的待迁移数据写入新数据库;步骤
3、
监听原数据库中的数据表,获取
binlog
日志并解析,得到增量数据并转换,将转换后的增量数据写入新数据库;步骤
4、
记录迁移失败的数据和原因,进行迁移重试直至迁移成功

[0007]进一步地,所述步骤1包括:采用全量迁移
job
模块确定待迁移的数据表,根据数据表的数据量和服务器的硬件配置确定本次迁移需要的服务节点数和每个节点需要的线程数,配置全量迁移
job
模块的迁移参数

[0008]进一步地,所述迁移参数包括原数据库的库名

待迁移数据表的表名

每个节点迁移的数据范围

每批次查询的数据量和每个节点启用的线程数

[0009]进一步地,所述步骤2包括:步骤
21、
采用全量迁移
job
模块循环查询原数据库中待迁移的数据表,提取对应的主键
id
;步骤
22、
根据主键
id
查询对应的待迁移数据,通过数据表的表名匹配相应的数据转换模型,采用数据转换模型将待迁移数据的格式转换为新数据库所需格式;步骤
23、
采用数据迁移内核模块添加分布式锁,开启事务,基于迁移参数将转换好的待迁移数据写入新数据库,提交事务,释放分布式锁

[0010]进一步地,所述步骤3包括:步骤
31、
采用数据变更捕获模块监听原数据库中的数据表,获取
binlog
日志并解析,得到数据表的表名

操作类型和主键
id
;步骤
32、
判断操作类型,如果是删除操作,则根据主键
id
将新数据库中对应已写入的数据删除;如果是新增或修改操作,则根据主键
id
查询对应的增量数据,通过数据表的表名匹配相应的数据转换模型,采用数据转换模型将增量数据的格式转换为新数据库所需格式;步骤
33、
采用数据迁移内核模块添加分布式锁,开启事务,基于迁移参数将转换好的增量数据写入新数据库,提交事务,释放分布式锁

[0011]进一步地,还包括观察所述步骤2中迁移过程的输出日志是否有异常

迁移速率是否符合预期,若输出日志异常或迁移速率不符合预期,中断迁移操作,调整迁移参数再重新触发步骤
2。
[0012]进一步地,在所述步骤2和步骤3中,采用第一接口进行原数据库待迁移数据和增量数据的查询和转换,采用第二接口将已转换的待迁移数据和增量数据写入新数据库

[0013]进一步地,在所述步骤4中,采用重试
job
模块记录迁移失败的数据和原因

[0014]与现有技术相比,本专利技术具有以下有益效果:本专利技术采用自动化迁移流程,极大地节省了研发人力的投入成本;本专利技术通过迁移参数的控制,能够根据具体情况灵活调整数据迁移速率,从而满足不同的业务需求

此外,还可以通过优化迁移工具的性能和配置,提升数据迁移的速率,使数据迁移更加高效和快速;本专利技术解决了数据迁移过程中的数据同步和更新问题,能够实时监控和同步源数据和目标数据,从而保证了数据的准确性和实时性

附图说明
[0015]图1为本专利技术的方法流程图

具体实施方式
[0016]为了使本专利技术的目的

技术方案及优点更加清楚明白,以下结合附图,对本专利技术进一步详细说明

显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例

基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围

[0017]如图1所示,本专利技术提供的一种用于系统升级数据迁移的方法,包括以下步骤:步骤
1、
确定原数据库中待迁移的数据表,配置迁移参数;步骤
2、
循环查询待迁移的数据表

提取对应的主键
id
,基于主键
id
获取待迁移数据并转换,将转换后的待迁移数据写入新数据库;步骤
3、
监听原数据库中的数据表,获取
binlog
日志并解析,得到增量数据并转换,将转换后的增量数据写入新数据库;步骤
4、
记录迁移失败的数据和原因,进行迁移重试直至迁移成功

[0018]本专利技术采用自动化迁移流程,极大地节省了研发人力的投入成本;通过迁移参数的控制,能够根据具体情况灵活调整数据迁移速率,从而满足不同的业务需求

此外,还可以通过优化迁移工具的性能和配置,提升数据迁移的速率,使数据迁移更加高效和快速

[0019]在部分实施例中,所述步骤1包括:采用全量迁移
job
模块确定待迁移的数据表,根
据数据表的数据量和服务器的硬件配置确定本次本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种用于系统升级数据迁移的方法,其特征在于,包括以下步骤:步骤
1、
确定原数据库中待迁移的数据表,配置迁移参数;步骤
2、
循环查询待迁移的数据表

提取对应的主键
id
,基于主键
id
获取待迁移数据并转换,将转换后的待迁移数据写入新数据库;步骤
3、
监听原数据库中的数据表,获取
binlog
日志并解析,得到增量数据并转换,将转换后的增量数据写入新数据库;步骤
4、
记录迁移失败的数据和原因,进行迁移重试直至迁移成功
。2.
根据权利要求1所述的一种用于系统升级数据迁移的方法,其特征在于,所述步骤1包括:采用全量迁移
job
模块确定待迁移的数据表,根据数据表的数据量和服务器的硬件配置确定本次迁移需要的服务节点数和每个节点需要的线程数,配置全量迁移
job
模块的迁移参数
。3.
根据权利要求2所述的一种用于系统升级数据迁移的方法,其特征在于,所述迁移参数包括原数据库的库名

待迁移数据表的表名

每个节点迁移的数据范围

每批次查询的数据量和每个节点启用的线程数
。4.
根据权利要求1所述的一种用于系统升级数据迁移的方法,其特征在于,所述步骤2包括:步骤
21、
采用全量迁移
job
模块循环查询原数据库中待迁移的数据表,提取对应的主键
id
;步骤
22、
根据主键
id
查询对应的待迁移数据,通过数据表的表名匹配相应的数据转换模型,采用数据转换模型将待迁移数据...

【专利技术属性】
技术研发人员:梁宝乐张之宝张鑫刘毅强张自平
申请(专利权)人:云筑信息科技成都有限公司
类型:发明
国别省市:

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

1