(19)国家知识产权局
(12)发明 专利申请
(10)申请公布号
(43)申请公布日
(21)申请 号 202210905765.4
(22)申请日 2022.07.29
(71)申请人 天翼云科技有限公司
地址 100007 北京市东城区青龙胡同甲1
号、 3号2幢2层20 5-32室
(72)发明人 廖裕兴
(74)专利代理 机构 北京同达信恒知识产权代理
有限公司 1 1291
专利代理师 王迪
(51)Int.Cl.
G06F 16/21(2019.01)
G06F 16/23(2019.01)
G06F 16/27(2019.01)
G06F 16/22(2019.01)
(54)发明名称
一种数据库迁移的方法、 装置及存 储介质
(57)摘要
本发明公开了一种数据库迁移的方法、 装置
及存储介质, 用以解决数据库迁移速度慢、 效率
低的问题, 该方法包括: 将源数据库中的数据全
量迁移到目标数据库, 并在数据全量迁移的过程
中, 计算从源数据库读取的每批数据的第一哈希
值; 将源数据库中的增量数据同步到目标数据
库, 并在同步的过程中, 记录增量数据所在的位
置; 之后, 复查源数据库的数据与目标数据库的
数据是否一致; 在复查同批次数据是否一致时,
对于源数据库中无增量数据的各批数据, 用对应
的第一哈希 值复查; 对于源数据库中有增量数据
的各批数据, 用重新从源数据库 读取的对应批数
据的第二哈希 值复查; 若源表的数据与目标表的
数据一致确定数据库迁移成功; 否则确定数据库
迁移失败。
权利要求书3页 说明书13页 附图5页
CN 115269553 A
2022.11.01
CN 115269553 A
1.一种数据库迁移的方法, 其特 征在于, 包括:
将源数据库中的数据全量迁移到目标数据库, 并在所述数据全量迁移 的过程中, 计算
从所述源数据库读取的每批数据的第一哈希值;
将源数据库中的增量数据同步到所述目标数据库, 并在所述增量数据同步的过程中,
记录数据发生变更的增量数据所在的位置;
在完成所述增量数据同步后, 复查所述源数据库的数据与所述目标数据库的数据 是否
一致; 其中, 在复查所述源数据库与所述目标数据库中同批次数据是否一致时, 对于所述源
数据库中无所述增量数据的各批数据, 用对应的第一哈希值复查; 对于所述源数据库中有
所述增量数据的各批数据, 用重新从所述源数据库读取的对应批数据的第二哈希值复查;
若所述源表的数据与所述目标表的数据一致, 确定数据库迁移成功; 否则, 确定数据库
迁移失败。
2.如权利要求1所述的方法, 其特征在于, 将源数据库中的数据全量迁移到目标数据
库, 包括:
记录所述源数据库中开始全量迁移的位 点信息, 并获取对应源数据表的总行 数;
根据所述总行数及 分批大小, 将所述源数据表中的数据分为多个批次依次迁移到所述
目标数据库中, 并在完成所述数据全量迁移后记录所述源数据表中所述数据全量迁移结束
的最大主键 。
3.如权利要求2所述的方法, 其特征在于, 将源数据库中的增量数据同步到所述目标数
据库, 包括:
从所述位点信息对应的位置开始, 获取所述源数据表的增量数据, 直至所述最大主键
对应的位置;
在获取所述增量数据时, 确定所述增量数据对应的变更类型是否为数据操作语言类
型; 若为是, 将所述增量数据同步到所述目标 数据表中对应位置 。
4.如权利要求3所述的方法, 其特征在于, 在所述增量数据同步的过程中, 记录数据发
生变更的增量数据所在的位置, 包括:
在确定所述增量数据对应的变更类型为所述数据操作语言类型时, 进一步确定所述增
量数据对应的变更操作是否为更新操作;
若确定所述增量数据对应的变更操作为更新操作, 则记录所述增量数据变更前后分别
对应的批次号;
若确定所述增量数据对应的变更操作为插入操作或删除操作, 则根据 所述增量数据对
应的主键, 计算并记录对应的批次号, 以及行 数;
对记录的批次号进行去重处 理, 获得数据发生变更的最终批次号。
5.如权利要求4所述的方法, 其特征在于, 复查所述源数据库的数据与 所述目标数据库
的数据是否一 致, 包括:
判断所述源数据表的总行 数与所述目标 数据表的总行 数是否相同;
若所述源数据表的总行数与 所述目标数据表的总行数不同, 则确定所述源数据库的数
据与所述目标 数据库的数据不 一致;
所述源数据表的总行数与 所述目标数据表的总行数相同, 进一步判断所述源数据表与
所述目标 数据表中同批次的数据是否相同;权 利 要 求 书 1/3 页
2
CN 115269553 A
2若所述源数据表与 所述目标数据表中任一同批次的数据不同, 则确定所述源数据库的
数据与所述目标 数据库的数据不 一致;
若所述源数据表与 所述目标数据表中所有同批次的数据相同, 则进一步确定所述源数
据表与所述目标数据 表中记录的相同位置的增量数据是否相同, 若所有相同位置的增量数
据均相同, 则确定所述源数据库的数据与所述 目标数据库的数据一致, 否则确定源数据库
的数据与所述目标 数据库的数据不 一致。
6.如权利要求5所述的方法, 其特征在于, 判断所述源数据表的总行数与所述目标数据
表的总行 数是否相同, 包括:
获取所述数据全量迁移过程中迁移数据的第 一总行数, 以及所述数据增量同步过程中
插入和删除分别对应的增量数据的第二总行 数和第三总行 数;
对所述第一总行数与 所述第二总行数的和值与 所述第三总行数进行差运算, 获得所述
源数据表的总行 数;
对所述源数据表 的总行数与所述目标数据表的总行数进行差运算, 获得差运算结果;
若所述差运算结果为0, 则确定所述源 数据表的总行数与所述目标数据 表的总行数相同, 否
则确定所述源数据表的总行 数与所述目标 数据表的总行 数不同。
7.如权利要求5所述的方法, 其特征在于, 判断所述源数据表与 所述目标数据表中同批
次的数据是否相同, 包括:
计算所述目标 数据库中每批数据的第三哈希值;
从所述源数据库中重新获取每个所述最终批次号对应的一批数据, 并进行哈希计算,
获得对应的第二哈希值;
对于所述源数据库中无所述增量数据的各批数据, 判断对应批数据的第 一哈希值与 所
述目标数据库中同批次的第三哈希值是否相同, 若相同确定所述源数据库与所述目标数据
库对应的同批数据相同, 否则确定不同;
对于所述源数据库中每个所述最终批次号对应的一批数据, 判断对应的第 二哈希值与
所述目标数据库中同批次的第三哈希值是否相同, 若相同确定所述源数据库与所述目标数
据库对应的同批次数据相同, 否则确定不同。
8.一种数据库迁移的装置, 其特 征在于, 包括:
全量迁移单元, 用于将源数据库中的数据全量迁移到目标数据库, 并在所述数据全量
迁移的过程中, 计算从所述源数据库读取的每批数据的第一哈希值;
增量同步单元, 用于将源数据库中的增量数据同步到所述目标数据库, 并在所述增量
数据同步的过程中, 记录数据发生变更的增量数据所在的位置; 其中, 在复查所述源数据库
与所述目标数据库中同批次数据是否一致时, 对于所述源数据库中无所述增量数据的各批
数据, 用对应的第一哈希值复查; 对于所述源数据库中有所述增量数据的各批数据, 用重新
从所述源数据库读取的对应批数据的第二哈希值复查;
复查单元, 用于在完成所述增量数据同步后, 复查所述源数据库的数据与所述目标数
据库的数据是否一致; 若 所述源表的数据与所述目标表的数据一致, 确定数据库迁移成功;
否则, 确定数据库迁移失败。
9.一种数据库迁移的装置, 其特 征在于, 包括:
至少一个处 理器, 以及权 利 要 求 书 2/3 页
3
CN 115269553 A
3
专利 一种数据库迁移的方法、装置及存储介质
文档预览
中文文档
22 页
50 下载
1000 浏览
0 评论
0 收藏
3.0分
温馨提示:本文档共22页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 SC 于 2024-02-07 12:43:08上传分享