【技术实现步骤摘要】
数据一致性校验方法、装置、设备及存储介质
[0001]本专利技术涉及数据库
,尤其涉及一种数据一致性校验方法、装置、设备及存储介质。
技术介绍
[0002]随着业务的增长,企业系统变得越来越复杂。复杂的分布式系统架构容易出现远程调用失败、消息发送失败等异常,这些异常可能导致系统间的数据不一致。另外,随着时间的推移,系统的用户数量不断增长,系统的数据量越来越大,为了保证核心功能的性能同时保留历史数据,存储层逐渐演变成冷热两个架构,热库存储核心热门数据,冷库存储历史数据,同样对冷热库之间的数据一致性提出了挑战。
[0003]现有技术中常用的冗余数据一致性检验方案一般会采用online模式,即通过数据库表中专门设置一个字段用于保存记录的校验和,对该记录进行更新时同时更新校验和,通过校验和字段来检验一致性。此外,也有基于业务特点,也可能采用offline模式,主要通过对原数据数量进行校验,以保证数量上的一致,针对offline模式的冗余数据一致性检验方案,虽然与业务相解耦,但是实效性低,同时会给存储层的数据库带来额外压力。
技术实现思路
[0004]本专利技术的主要目的在于解决现有的offline模式的冗余数据一致性检验方案,实效性低,同时会给存储层的数据库带来额外压力的技术问题。
[0005]本专利技术第一方面提供了一种数据一致性校验方法,方法包括:
[0006]获取预设的数据一致性校验参数和核心查询脚本,其中,所述数据一致性检验参数包括核心脚本执行次数、校验周期和采样时间段个 ...
【技术保护点】
【技术特征摘要】
1.一种数据一致性校验方法,其特征在于,所述数据一致性校验方法包括:获取预设的数据一致性校验参数和核心查询脚本,其中,所述数据一致性检验参数包括核心脚本执行次数、校验周期和采样时间段个数,所述核心查询脚本用于查询源数据库和目标数据库的数据;根据所述采样时间段个数划分所述校验周期,得到采样时间段,并在所述采样时间段中根据所述核心脚本执行次数查询所述核心查询脚本;根据预设的分层采样算法,在每个采样时间段中取N个时间点采样所述核心查询脚本查询的源数据库和目标数据库的数据,并进行数据量一致性校验,得到数据量一致性校验结果,其中,所述N为不小于1的自然数;若所述数据量一致性校验结果为数据量一致,则根据所述核心查询脚本查询的所述源数据库和目标数据库的数据进行数据内容一致性校验,得到数据内容一致性校验结果;根据所述数据内容一致性校验结果得到数据一致性校验结果。2.根据权利要求1所述的数据一致性校验方法,其特征在于,在所述根据预设的分层采样算法,在每个采样时间段中取N个时间点采样所述核心查询脚本查询的源数据库和目标数据库的数据,并进行数据量一致性校验,得到数据量一致性校验结果之后,还包括:根据各采样时间段执行核心脚本执行次数的核心查询脚本查询所述源数据库和所述目标数据库的数据的查询数据量,从所述校验周期中的各采样时间段中筛选出查询数据量最大的t个采样时间段,其中,所述t为不小于1的自然数;根据所述分层采样算法,在查询数据量最大的t个采样时间段中的每个采样时间段取M个时间点采样所述核心查询脚本查询的源数据库和目标数据库的数据,其中,M为不小于N的自然数;对M个时间点采样的源数据库和目标数据库的采样数据进行数据量一致性校验,并对所述数据量一致性校验结果进行一次更新。3.根据权利要求2所述的数据一致性校验方法,其特征在于,若一次更新后的数据量一致性校验结果为M个时间点采样的采样数据的数据量一致,则在所述对所述数据量一致性校验结果进行一次更新之后,还包括:获取各采样时间段中执行核心查询脚本查询源数据库和目标数据库的数据对应的查询总时间;根据所述各采样时间段对应的查询总时间和核心脚本执行次数,计算各采样时间段的平均耗时和比例耗时。4.根据权利要求3所述的数据一致性校验方法,其特征在于,在所述根据所述各采样时间段对应的查询总时间和核心脚本执行次数,计算各采样时间段的平均耗时和比例耗时之后,还包括:从所述校验周期的各采样时间段中筛选出平均耗时和/或比例耗时最高的t个采样时间段;根据所述分层采样算法,在平均耗时和/或比例耗时最高的t个采样时间段中的每个采样时间段取W个时间点采样所述核心查询脚本查询的源数据库和目标数据库的数据,其中,W为不小于N的自然数;对W个时间点采样的源数据库和目标数据库的采样数据进行数据量一致性校验,并对
所述数据量一致性校验结果进行二次更新。5.根据权利要求4所述的数据一致性校验方法,其特征在于,所述数据一致性检验参数还包括重试次数;在所述根据预设的分层采样算法,在每个采样时间段中取N个时间点采样所述核心查询脚本查询的源数据库和目标数据库的数据,并进行数据量一致性校验,得到数据量一致性校验结果之后,还包括:若所述数据量一致性校验结果或一次更新后的数据量一致性校或二次更新后的数据量一致性校验结果为数据量不一致,则延时预设时间后,根据所述数据一致性校验参数和核心查询脚本重新查询源数据库和目标数据库的数据,并进行数据量一致性校验,直至数据量一致性校验结果为数据量一致或重新查询的次数到达所述重试次数。6.根据权利要求5所述的数据一致性校验方法,其特征在于,在所述进行数据量一致性校验,直至数据量一致性校验结果为数据量一致或重新查询的次数到达所述重试次数之后,还包括:若重新查询的次数到达所述重试次数之后所述数据量一致性校验结果为不一...
【专利技术属性】
技术研发人员:郭世明,
申请(专利权)人:网易杭州网络有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。