一种数据同步校验方法、装置制造方法及图纸

技术编号:29133106 阅读:15 留言:0更新日期:2021-07-02 22:28
本发明专利技术公开了一种数据同步校验方法,包括以下步骤:获取源表和目标表;获取前次数据同步成功的历史时间,得到数据更新的时间范围;根据时间范围确定待校验的数据区间,对源表和目标表进行二分查找,判断源表和目标表在数据区间内的信息是否一致;当信息一致时,终止二分查找;当信息不一致时,输出数据不一致的差异区间;对比差异区间内的源数据和目标数据,得到不一致数据;将不一致数据与其他数据区间的不一致数据进行对比,基于对比结果对数据进行修正。

【技术实现步骤摘要】
一种数据同步校验方法、装置
本专利技术属于数据库数据同步的
,具体涉及一种数据同步校验方法、装置。
技术介绍
为了保证业务系统的正常运行,在数据同步/迁移完成后,需要对同步/迁移后的数据进行校验。数据同步/迁移后的校验,亦是对同步/迁移质量的检查,同时数据校验的结果也是保障业务系统运行的重要依据。现有技术在数据库底层数据文件一致的情况下,可以通过md5来判断数据是否一致,但是在不一致的情况下(比如总表与分表分库的数据),只能通过全量数据对比来判断,进而无法快速的定位数据不一致的文件。
技术实现思路
本专利技术的目的是要解决上述的技术问题,提供一种数据同步校验方法、装置。为了解决上述问题,本专利技术按以下技术方案予以实现的:第一方面,本专利技术提供了一种数据同步校验方法,包括以下步骤:获取源表和目标表;获取前次数据同步成功的历史时间,得到数据更新的时间范围;根据时间范围确定待校验的数据区间,对源表和目标表进行二分查找,判断源表和目标表在数据区间内的信息是否一致;当信息一致时,终止二分查找;当信息不一致时,输出数据不一致的差异区间;基于数据的记录ID和更新时间,对比差异区间内的源数据和目标数据,得到不一致数据;将不一致数据与其他数据区间的不一致数据进行对比,基于对比结果对不一致数据进行修正。结合第一方面,本专利技术还提供了第一方面的第1种实施方式,根据时间范围确定待校验的数据区间,对源表和目标表进行二分查找,具体包括:计算源表和目标表在数据区间的数据数量;当源表和目标表的数据数量一致时,统计源表和目标表在数据区间的关键值,所述关键值为数量、最大ID、最小ID、ID平均值、更新时间平均值;当源表和目标表的关键值一致时,判断源表和目标表在数据区间内的信息一致,终止二分查找。结合第一方面,本专利技术还提供了第一方面的第1种实施方式,根据时间范围确定待校验的数据区间,对源表和目标表进行二分查找,具体包括:当源表和目标表的数据数量不一致时,则表明数据区间内的数据不一致;判断数据数量是否大于预设阈值;若是,则继续二分查找;若否,则基于二分查找输出数据不一致的差异区间。结合第一方面,本专利技术还提供了第一方面的第1种实施方式,基于数据的记录ID和更新时间,对比差异区间内的源数据和目标数据,得到不一致数据,具体包括:基于数据的记录ID和更新时间,对比差异区间内的源数据和目标数据的记录ID和更新时间;查找得到源数据中的不一致数据,对不一致数据进行增删改标记。结合第一方面,本专利技术还提供了第一方面的第1种实施方式,基于对比结果对不一致数据进行修正,具体包括:将不一致数据与其他数据区间的不一致数据进行对比,得到不一致数据的交集;将交集中的不一致数据的增删改标记修改为更改标记。结合第一方面,本专利技术还提供了第一方面的第1种实施方式,本数据同步校验方法还包括更新元数据步骤,包括:设置临时同步成功时间;获取不一致数据的最小更新时间;当临时同步成功时间大于最小更新时间时,将最小更新时间设置为临时同步成功时间;当源表和目标表的关键值一致,且数据数量小于预设阈值时,检测数据库是否支持删除操作;检测不支持删除操作时,将临时同步成功时间作设置为同步成功时间,并将差异区间和不一致数据持久化记录到数据库中。结合第一方面,本专利技术还提供了第一方面的第1种实施方式,获取前次数据同步成功的历史时间,得到数据更新的时间范围,具体包括:获取前次数据同步成功的历史时间;基于历史时间至当前时间的时间段,减去缓冲时间得到时间范围;若不存在获取前次数据同步成功的历史时间,则将历史时间赋予一个初始值,进而计算时间范围。第二方面,本专利技术还提供了一种数据同步校验装置,包括:获取模块,其用于获取源表和目标表;时间范围模块,其用于获取前次数据同步成功的历史时间,得到数据更新的时间范围;查找模块,其用于根据时间范围确定待校验的数据区间,对源表和目标表进行二分查找,判断源表和目标表在数据区间内的信息是否一致;当信息一致时,终止二分查找;当信息不一致时,输出数据不一致的差异区间;对比模块,其用于基于数据的记录ID和更新时间,对比差异区间内的源数据和目标数据,得到不一致数据;修正模块,其用于将不一致数据与其他数据区间的不一致数据进行对比,基于对比结果对不一致数据进行修正。结合第二方面,本专利技术还提供了第二方面的第1种实施方式,所述查找模块根据时间范围确定待校验的数据区间,对源表和目标表进行二分查找,具体包括:计算源表和目标表在数据区间的数据数量;当源表和目标表的数据数量一致时,统计源表和目标表在数据区间的关键值,所述关键值为数量、最大ID、最小ID、ID平均值、更新时间平均值;当源表和目标表的关键值一致时,判断源表和目标表在数据区间内的信息一致,终止二分查找。结合第二方面,本专利技术还提供了第二方面的第2种实施方式,所述查找模块根据时间范围确定待校验的数据区间,对源表和目标表进行二分查找,还包括:当源表和目标表的数据数量不一致时,则表明数据区间内的数据不一致;判断数据数量是否大于预设阈值;若是,则继续二分查找;若否,则基于二分查找输出数据不一致的差异区间。与现有技术相比,本专利技术的有益效果是:本申请提供的数据同步校验方法、装置,通过对更新时间范围的数据区间进行二分查找,快速定位数据不一致的差异区间,并基于此查找不一致数据,缩减对比时间,高效校验。附图说明下面结合附图对本专利技术的具体实施方式作进一步详细的说明,其中:图1是本专利技术的一种数据同步校验方法的流程示意图;图2是本专利技术的一种数据同步校验装置的组成图。具体实施方式在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。在本申请中,提供了一种数据同步校验方法、装置,以及一种数据迁移系统。在下面的实施例中逐一进行详细说明。本申请提供的数据校验方法,其核心创新点包括如下:1、按照更新时间的世界范围对数据进行二分查找,并且记录本次校验之后确定的数据同步时间(在数据没有删除操作的前提下),即下次校验进行二次查找的开始时间。本专利技术通过二分查找提高校验效率,加上每次校验之后都能更新数据同步成功的时间,只要数据之前的校验属于同步数据,如果没有更改,比如更新或者添加,更新时间就不变,不用在下次校验时重复判断。2、对比当前二分查找区间的关键值【数量、最大ID、最小ID、平均ID】,快速对比,定位数据不一致区间。现有技术中,常规手段是拉取全量数据,进行如MD5操作或者其他对比,当前对比关键值的本文档来自技高网...

【技术保护点】
1.一种数据同步校验方法,其特征在于,包括以下步骤:/n获取源表和目标表;/n获取前次数据同步成功的历史时间,得到数据更新的时间范围;/n根据时间范围确定待校验的数据区间,对源表和目标表进行二分查找,判断源表和目标表在数据区间内的信息是否一致;/n当信息一致时,终止二分查找;当信息不一致时,输出数据不一致的差异区间;/n基于数据的记录ID和更新时间,对比差异区间内的源数据和目标数据,得到不一致数据;/n将不一致数据与其他数据区间的不一致数据进行对比,基于对比结果对不一致数据进行修正。/n

【技术特征摘要】
1.一种数据同步校验方法,其特征在于,包括以下步骤:
获取源表和目标表;
获取前次数据同步成功的历史时间,得到数据更新的时间范围;
根据时间范围确定待校验的数据区间,对源表和目标表进行二分查找,判断源表和目标表在数据区间内的信息是否一致;
当信息一致时,终止二分查找;当信息不一致时,输出数据不一致的差异区间;
基于数据的记录ID和更新时间,对比差异区间内的源数据和目标数据,得到不一致数据;
将不一致数据与其他数据区间的不一致数据进行对比,基于对比结果对不一致数据进行修正。


2.根据权利要求1所述的数据同步校验方法,其特征在于,根据时间范围确定待校验的数据区间,对源表和目标表进行二分查找,具体包括:
计算源表和目标表在数据区间的数据数量;
当源表和目标表的数据数量一致时,统计源表和目标表在数据区间的关键值,所述关键值为数量、最大ID、最小ID、ID平均值和更新时间平均值;
当源表和目标表的关键值一致时,判断源表和目标表在数据区间内的信息一致,终止二分查找。


3.根据权利要求2所述的数据同步校验方法,其特征在于,根据时间范围确定待校验的数据区间,对源表和目标表进行二分查找,具体包括:
当源表和目标表的数据数量不一致时,则表明数据区间内的数据不一致;
判断数据数量是否大于预设阈值;
若是,则继续二分查找;若否,则基于二分查找输出数据不一致的差异区间。


4.根据权利要求3所述的数据同步校验方法,其特征在于,基于数据的记录ID和更新时间,对比差异区间内的源数据和目标数据,得到不一致数据,具体包括:
基于数据的记录ID和更新时间,对比差异区间内的源数据和目标数据的记录ID和更新时间;
查找得到源数据中的不一致数据,对不一致数据进行增删改标记。


5.根据权利要求4所述的数据同步校验方法,其特征在于,基于对比结果对不一致数据进行修正,具体包括:
将不一致数据与其他数据区间的不一致数据进行对比,得到不一致数据的交集;
将交集中的不一致数据的增删改标记修改为更改标记。


6.根据权利要求5所述的数据同步校验方法,其特征在于,本数据同步校验方法还包括更新元数据步骤,包括:
设置临时同步成功时间;
获取不一致数据的最...

【专利技术属性】
技术研发人员:肖明睿
申请(专利权)人:广州宸祺出行科技有限公司
类型:发明
国别省市:广东;44

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

1