数据一致性校验方法、装置、设备及存储介质制造方法及图纸

技术编号:38046102 阅读:12 留言:0更新日期:2023-06-30 11:12
本发明专利技术提供了一种数据一致性校验方法、装置、设备及存储介质,该方法包括:根据采样时间段个数划分校验周期,得到采样时间段,并在采样时间段中执行核心脚本执行次数的核心查询脚本;根据分层采样算法,在每个采样时间段中取N个时间点采样核心查询脚本查询的源数据库和目标数据库的数据,并进行数据量一致性校验,得到数据量一致性校验结果;若数据量一致性校验结果为数据量一致,则对核心查询脚本查询的源数据库和目标数据库的数据进行数据内容一致性校验,得到数据内容一致性校验结果。本方式中通过分层采样对每个时间段选取特定个数时间点采样验证,从而降低数据库压力,通过周期性校验及时发现数据问题,提高校验的实效性并降低数据库压力。效性并降低数据库压力。效性并降低数据库压力。

【技术实现步骤摘要】
数据一致性校验方法、装置、设备及存储介质


[0001]本专利技术涉及数据库
,尤其涉及一种数据一致性校验方法、装置、设备及存储介质。

技术介绍

[0002]随着业务的增长,企业系统变得越来越复杂。复杂的分布式系统架构容易出现远程调用失败、消息发送失败等异常,这些异常可能导致系统间的数据不一致。另外,随着时间的推移,系统的用户数量不断增长,系统的数据量越来越大,为了保证核心功能的性能同时保留历史数据,存储层逐渐演变成冷热两个架构,热库存储核心热门数据,冷库存储历史数据,同样对冷热库之间的数据一致性提出了挑战。
[0003]现有技术中常用的冗余数据一致性检验方案一般会采用online模式,即通过数据库表中专门设置一个字段用于保存记录的校验和,对该记录进行更新时同时更新校验和,通过校验和字段来检验一致性。此外,也有基于业务特点,也可能采用offline模式,主要通过对原数据数量进行校验,以保证数量上的一致,针对offline模式的冗余数据一致性检验方案,虽然与业务相解耦,但是实效性低,同时会给存储层的数据库带来额外压力。

技术实现思路

[0004]本专利技术的主要目的在于解决现有的offline模式的冗余数据一致性检验方案,实效性低,同时会给存储层的数据库带来额外压力的技术问题。
[0005]本专利技术第一方面提供了一种数据一致性校验方法,方法包括:
[0006]获取预设的数据一致性校验参数和核心查询脚本,其中,所述数据一致性检验参数包括核心脚本执行次数、校验周期和采样时间段个数,所述核心查询脚本用于查询源数据库和目标数据库的数据;
[0007]根据所述采样时间段个数划分所述校验周期,得到采样时间段,并在所述采样时间段中根据所述核心脚本执行次数查询所述核心查询脚本;
[0008]根据预设的分层采样算法,在每个采样时间段中取N个时间点采样所述核心查询脚本查询的源数据库和目标数据库的数据,并进行数据量一致性校验,得到数据量一致性校验结果,其中,所述N为不小于1的自然数;
[0009]若所述数据量一致性校验结果为数据量一致,则根据所述核心查询脚本查询的所述源数据库和目标数据库的数据进行数据内容一致性校验,得到数据内容一致性校验结果;
[0010]根据所述数据内容一致性校验结果得到数据一致性校验结果。
[0011]本专利技术第二方面提供了一种数据一致性校验装置,包括:
[0012]获取模块,用于获取预设的数据一致性校验参数和核心查询脚本,其中,所述数据一致性检验参数包括核心脚本执行次数、校验周期和采样时间段个数,所述核心查询脚本用于查询源数据库和目标数据库的数据;
[0013]查询模块,用于根据所述采样时间段个数划分所述校验周期,得到采样时间段,并在所述采样时间段中根据所述核心脚本执行次数查询所述核心查询脚本;
[0014]数据量校验模块,用于根据预设的分层采样算法,在每个采样时间段中取N个时间点采样所述核心查询脚本查询的源数据库和目标数据库的数据,并进行数据量一致性校验,得到数据量一致性校验结果,其中,所述N为不小于1的自然数;
[0015]数据内容校验模块,用于当所述数据量一致性校验结果为数据量一致时,根据所述核心查询脚本查询的所述源数据库和目标数据库的数据进行数据内容一致性校验,得到数据内容一致性校验结果;
[0016]校验结果生成模块,用于根据所述数据内容一致性校验结果得到数据一致性校验结果。
[0017]本专利技术第三方面提供了一种数据一致性校验装置,包括:存储器和至少一个处理器,所述存储器中存储有指令,所述存储器和所述至少一个处理器通过线路互连;所述至少一个处理器调用所述存储器中的所述指令,以使得所述数据一致性校验设备执行上述的数据一致性校验方法的步骤。
[0018]本专利技术的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述的数据一致性校验方法的步骤。
[0019]上述数据一致性校验方法、装置、设备及存储介质,通过根据采样时间段个数划分校验周期,得到采样时间段,并在采样时间段中执行核心脚本执行次数的核心查询脚本;根据分层采样算法,在每个采样时间段中取N个时间点采样核心查询脚本查询的源数据库和目标数据库的数据,并进行数据量一致性校验,得到数据量一致性校验结果;若数据量一致性校验结果为数据量一致,则对核心查询脚本查询的源数据库和目标数据库的数据进行数据内容一致性校验,得到数据内容一致性校验结果。本方式中通过分层采样对每个时间段选取特定个数时间点采样验证,从而降低数据库压力,通过周期性校验及时发现数据问题,提高校验的实效性并降低数据库压力。
[0020]本专利技术的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本专利技术而了解。本专利技术的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
[0021]为使本专利技术的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
[0022]图1为本专利技术实施例中数据一致性校验方法的第一个实施例示意图;
[0023]图2为本专利技术实施例中数据一致性校验装置的一个实施例示意图;
[0024]图3为本专利技术实施例中数据一致性校验装置的另一个实施例示意图;
[0025]图4为本专利技术实施例中数据一致性校验设备的一个实施例示意图。
具体实施方式
[0026]本专利技术实施例提供一种数据一致性校验方法、装置、设备及存储介质,通过根据采样时间段个数划分校验周期,得到采样时间段,并在采样时间段中执行核心脚本执行次数
的核心查询脚本;根据分层采样算法,在每个采样时间段中取N个时间点采样核心查询脚本查询的源数据库和目标数据库的数据,并进行数据量一致性校验,得到数据量一致性校验结果;若数据量一致性校验结果为数据量一致,则对核心查询脚本查询的源数据库和目标数据库的数据进行数据内容一致性校验,得到数据内容一致性校验结果。本方式中通过分层采样对每个时间段选取特定个数时间点采样验证,从而降低数据库压力,通过周期性校验及时发现数据问题,提高校验的实效性并降低数据库压力。
[0027]本专利技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”或“具有”及其任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0028]为便于理解,下面对本专利技术实施例的具体流程进行描述,请参阅图1,本专利技术实施例中数据一致性校本文档来自技高网
...

【技术保护点】

【技术特征摘要】
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所述的数据一致性校验方法,其特征在于,在所述进行数据量一致性校验,直至数据量一致性校验结果为数据量一致或重新查询的次数到达所述重试次数之后,还包括:若重新查询的次数到达所述重试次数之后所述数据量一致性校验结果为不一...

【专利技术属性】
技术研发人员:郭世明
申请(专利权)人:网易杭州网络有限公司
类型:发明
国别省市:

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

1