【技术实现步骤摘要】
一种基于大表数据分割的数据比对方法及设备
[0001]本专利技术涉及数据库数据处理
,特别是涉及一种基于大表数据分割的数据比对方法及设备。
技术介绍
[0002]随着信息化建设的高速发展,业务越来越复杂,各个业务之间的耦合性也越来越强,常常出现不同的业务需要访问同一份数据,在这种情况下,被各个业务访问的数据常常成了热点数据,数据访问的竞争会导致业务性能的下降。为了解决这个问题,通常的处理方法是将这份数据做多个副本,每个业务访问不同的数据副本。而这种情况下,各个副本的数据一致性显得尤为重要。
[0003]数据比对通常以表为单位,比对方法包含以下三个步骤:
[0004]1.分别从需要比对的副本中,读取比对表的数据。
[0005]2.将读取到的数据,以数据行为单位进行MD5加密计算。
[0006]3.对两边数据的MD5进行比较,查找不一致的MD5值。
[0007]在步骤1中,通常使用单线程读取比对表的数据,在数据量不大的情况下,读取比对表数据耗时短,但是当单表数据量巨大时,存在以下问题 ...
【技术保护点】
【技术特征摘要】
1.一种基于大表数据分割的数据比对方法,其特征在于,包括:将待比对的两个表数据都分割成相同的若干份;申请叶子节点数与分割份数相同的完全二叉树,且每个叶子节点记录一对待比对的数据;对每个叶子节点的数据进行比对以得到不一致数据,对不一致数据进行两两比对,直到只剩最后一份不一致数据。2.根据权利要求1所述的基于大表数据分割的数据比对方法,其特征在于,所述将待比对的两个表数据都分割成相同的若干份具体包括:从配置中获取数据分割的结果集个数m;从数据库副本中查询待比对表的表号、数据存储所占用的数据页的文件号以及数据页号,按照文件号以及数据页号的顺序,将数据页分割成m份。3.根据权利要求2所述的基于大表数据分割的数据比对方法,其特征在于,将数据页分割成m份的具体流程包括:获取表的数据页数n;确定每份分割数据的数据页数为t=n/m;数据分割步骤:每分割一份数据,令n=n
‑
t,m=m
‑
1;判断是否m=0,若是则结束分割流程,若否则回到所述数据分割步骤。4.根据权利要求2所述的基于大表数据分割的数据比对方法,其特征在于,在将数据页分割成m份后,根据每份数据中的起始页,计算每份数据的起始ROWID,并根据本份数据的起始ROWID以及下一份数据的起始ROWID生成本份数据的查询语句,以通过该查询语句获取本份数据的结果集。5.根据权利要求2所述的基于大表数据分割的数据比对方法,其特征在于,所述申请叶子节点数与分割份数相同的完全二叉树,且每个叶子节点记录一对待比对的数据具体包括:将待比对的两个表数据都分割成m份后,申请叶子节点数为m的完全二叉树,并在第i个叶子节点记录第i对需要比对的数据子集;其中,i为大于等于1且小于等于m的整数。6.根据权利要求5所述的基于大表数据分割的数据比对方法,其特征在于,所述对每个叶子节点的数据进行比对以得到不一致数据,对不一致数据进行两两比对,直到只剩最后一份不一致数据具体包括:将初始的每个叶子节点的数据进行比对以得到第一个表数据副本的不一致数据以及第二个表数据副本的不一致数据,并将每个节点比对出的两个不一致数据作为一组差异数据;将每两组差异数据输入到一个新的叶子节点进行比对,以得到一组新的差异数据,重复该步骤,直到最后一个叶子节点比对完成,只剩下最后一组差异数据也即最后一份不一致数据;输出该最后一份不一致数据以生成比对差异报告。7.根据权利要求6所述的基于大表数据分割的数据比对方法,...
【专利技术属性】
技术研发人员:刘启春,孙峰,余院兰,彭青松,
申请(专利权)人:武汉达梦数据库股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。