基于MongoShake的数据迁移方法及装置制造方法及图纸

技术编号:33291173 阅读:9 留言:0更新日期:2022-05-01 00:10
本申请实施例在于提供基于MongoShake的数据迁移方法及装置,属于数据迁移领域。所述数据迁移方法包括:响应于被启动的数据迁移任务,管理平台调用源数据库和目标数据库的服务接口,进行准入验证并检测源数据库与目标数据库的存活状态;在通过准入验证且检测到源数据库与目标数据库均存活后,管理平台触发配置的MongoShake;MongoShake执行数据迁移任务,以将源数据库中的全量数据和增量数据迁移至目标数据库;管理平台在MongoShake执行数据迁移任务的过程中,调用MongoShake的预设接口,以监控数据迁移任务的迁移状态;MongoShake在执行完数据迁移任务时,进行一致性校验;MongoShake在确定一致性校验通过时,通知管理平台结束数据迁移任务。本申请旨在达成数据迁移的通用化。移的通用化。移的通用化。

【技术实现步骤摘要】
基于MongoShake的数据迁移方法及装置


[0001]本申请实施例涉及数据迁移的领域,具体而言,涉及一种基于MongoShake的数据迁移方法及装置。

技术介绍

[0002]MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。
[0003]DTS,即数据迁移服务(Data Transmission Service),通过对MongoDB非关系型数据库的数据迁移,能够帮助用户在业务不停服的前提下轻松完成数据库迁移上云,利用实时同步通道构建高可用的数据库容灾架构。
[0004]但是在现有技术中,对MongoDB进行的数据迁移并没有较为完整的流程,在进行数据迁移时,流程较为复杂,且每次迁移的过程都不同,MongoDB数据库的数据迁移难以做到集群化与通用化。

技术实现思路

[0005]本申请实施例提供一种基于MongoShake的数据迁移方法及装置,旨在提供基于MongoShake数据迁移的完整流程,以达到基于MongoShake数据迁移任务的通用化。
[0006]第一方面,本申请实施例提供一种基于MongoShake的数据迁移方法,包括:响应于被启动的数据迁移任务,管理平台调用所述源数据库和目标数据库的服务接口,进行准入验证并检测所述源数据库与所述目标数据库的存活状态;所述数据迁移任务用于在源数据库与目标数据库之间进行数据迁移;
[0007]在通过准入验证且检测到所述源数据库与所述目标数据库均存活后,所述管理平台触发配置的MongoShake;
[0008]所述MongoShake执行所述数据迁移任务,以将所述源数据库中的全量数据和增量数据迁移至所述目标数据库;
[0009]所述管理平台在所述MongoShake执行所述数据迁移任务的过程中,调用所述MongoShake的预设接口,以监控所述数据迁移任务的迁移状态;
[0010]所述MongoShake在执行完所述数据迁移任务时,对所述源数据库与所述目标数据库中的数据进行一致性校验;
[0011]所述MongoShake在确定所述一致性校验通过时,通知所述管理平台结束所述数据迁移任务。
[0012]可选地,所述管理平台在所述MongoShake执行所述数据迁移任务的过程中,调用所述MongoShake的预设接口,以监控所述数据迁移任务的迁移状态;包括:
[0013]在数据迁移过程中,
[0014]调用所述MongoShake的预设接口对所述数据迁移任务中主节点状态进行监测并
修正;
[0015]调用所述MongoShake的预设接口对所述MongoShake的运行状态进行监测。
[0016]可选地,所述MongoShake执行所述数据迁移任务,以将所述源数据库中的全量数据和增量数据迁移至所述目标数据库,包括:
[0017]迁移所述源数据库中的全量数据至所述目标数据库,并将全量数据迁移完毕时间记作第一时间;
[0018]持续检测在第一时间结束后所述源数据库内是否产生增量数据,
[0019]若是,则继续迁移所述增量数据至所述目标数据库,直至不再产生增量数据;
[0020]若否,完成数据迁移。
[0021]可选地,所述调用所述MongoShake的预设接口对所述数据迁移任务中主节点状态进行监测并修正,包括:
[0022]在进行数据迁移时,持续探测所述源数据库和目标数据库的主节点状态;
[0023]若所述数据迁移任务中的主节点出现节点异常,则将所述数据迁移任务中的主节点锁定。
[0024]可选地,所述调用所述MongoShake的预设接口对所述MongoShake的运行状态进行监测,包括:
[0025]基于所述MongoShake的restful接口,获取LSN_CKPT.time的数值;
[0026]监测LSN_CKPT.time的数值变化情况,
[0027]若所述LSN_CKPT.time的数值不断增长,则数据同步正常;
[0028]若所述LSN_CKPT.time的数值停止增长,则数据同步异常。
[0029]可选地,所述MongoShake在执行完所述数据迁移任务时,对所述源数据库与所述目标数据库中的数据进行一致性校验,包括:
[0030]判断所述源数据库与目标数据库中的数据是否一致,所述数据包括数据库个数、每个数据库中连接的数量、每个连接的数据条数和索引大小;
[0031]若一致,则完成一致性校验。
[0032]可选地,所述MongoShake在确定所述一致性校验通过时,通知所述管理平台结束所述数据迁移任务,包括,
[0033]停止迁移数据,并将所述数据迁移任务的日志信息存入所述管理平台;
[0034]所述管理平台调用所述MongoShake的MongoDB

Job Controller接口,基于所述接口,更新数据迁移任务状态;
[0035]在所述数据迁移任务状态更新完毕后,延时停止数据迁移任务。
[0036]可选地,所述方法还包括:
[0037]在所述管理平台上容器化部署若干个数据迁移任务;
[0038]所述管理平台同时启动若干个所述数据迁移任务,对若干个源数据库与若干个目数据库内的数据进行迁移,若干个所述源数据库与若干个所述目标数据库一一对应。
[0039]第二方面,本申请实施例提供一种基于MongoShake的数据迁移装置,包括准入模块、启动模块、执行模块、监控模块、校验模块、结束模块和集群模块,其中,
[0040]准入模块,响应于被启动的数据迁移任务,管理平台调用所述源数据库和目标数据库的服务接口,进行准入验证并检测所述源数据库与所述目标数据库的存活状态;所述
数据迁移任务用于在源数据库与目标数据库之间进行数据迁移;
[0041]启动模块,用于在通过准入验证且检测到所述源数据库与所述目标数据库均存活后,所述管理平台触发配置的MongoShake;
[0042]执行模块,用于控制所述MongoShake执行所述数据迁移任务,以将所述源数据库中的全量数据和增量数据迁移至所述目标数据库;
[0043]监控模块,用于在所述管理平台在所述MongoShake执行所述数据迁移任务的过程中,调用所述MongoShake的预设接口,以监控所述数据迁移任务的迁移状态;
[0044]校验模块,用于在所述MongoShake在执行完所述数据迁移任务时,对所述源数据库与所述目标数据库中的数据进行一致性校验;
[0045]结束模块,用于在所述MongoShake在确定所述一致性校验通过时,通知所述管理平台结束所述数据迁移任务;
[0046]集群模块,用于在所述管理平台上容器化部署若干个数据本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.基于MongoShake的数据迁移方法,其特征在于,包括:响应于被启动的数据迁移任务,管理平台调用所述源数据库和目标数据库的服务接口,进行准入验证并检测所述源数据库与所述目标数据库的存活状态;所述数据迁移任务用于在源数据库与目标数据库之间进行数据迁移;在通过准入验证且检测到所述源数据库与所述目标数据库均存活后,所述管理平台触发配置的MongoShake;所述MongoShake执行所述数据迁移任务,以将所述源数据库中的全量数据和增量数据迁移至所述目标数据库;所述管理平台在所述MongoShake执行所述数据迁移任务的过程中,调用所述MongoShake的预设接口,以监控所述数据迁移任务的迁移状态;所述MongoShake在执行完所述数据迁移任务时,对所述源数据库与所述目标数据库中的数据进行一致性校验;所述MongoShake在确定所述一致性校验通过时,通知所述管理平台结束所述数据迁移任务。2.根据权利要求1所述的数据迁移方法,其特征在于,所述管理平台在所述MongoShake执行所述数据迁移任务的过程中,调用所述MongoShake的预设接口,以监控所述数据迁移任务的迁移状态;包括:在数据迁移过程中,调用所述MongoShake的预设接口对所述数据迁移任务中主节点状态进行监测并修正;调用所述MongoShake的预设接口对所述MongoShake的运行状态进行监测。3.根据权利要求1所述的数据迁移方法,其特征在于,所述MongoShake执行所述数据迁移任务,以将所述源数据库中的全量数据和增量数据迁移至所述目标数据库,包括:迁移所述源数据库中的全量数据至所述目标数据库,并将全量数据迁移完毕时间记作第一时间;持续检测在第一时间结束后所述源数据库内是否产生增量数据,若是,则继续迁移所述增量数据至所述目标数据库,直至不再产生增量数据;若否,完成数据迁移。4.根据权利要求2所述的数据迁移方法,其特征在于,所述调用所述MongoShake的预设接口对所述数据迁移任务中主节点状态进行监测并修正,包括:在进行数据迁移时,持续探测所述源数据库和目标数据库的主节点状态;若所述数据迁移任务中的主节点出现节点异常,则将所述数据迁移任务中的主节点锁定。5.根据权利要求2所述的数据迁移方法,其特征在于,所述调用所述MongoShake的预设接口对所述MongoShake的运行状态进行监测,包括:基于所述MongoShake的restful接口,获取LSN_CKPT.time的数值;监测LSN_CKPT.time的数值变化情况,若所述LSN_CKPT.time的数值不断增长,则数据同步正常;若所述LSN_CKPT.time的数值停止...

【专利技术属性】
技术研发人员:陈禹旭姜唯敖知琪崔焱代昊琦康旖梁子健刘明伟
申请(专利权)人:南方电网数字电网研究院有限公司
类型:发明
国别省市:

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

1