1 .一种检测无主键数据表一致性的方法,其特征在于,该方法应用于一种检测无主键
数据表一致性的系统,该系统包括始端数据代理AGENT、终端数据代理AGENT及数据校验
VERI,所述始端数据代理AGENT、终端数据代理AGENT用于获取对比数据集、计算MD5跳表、三
路快速排序、管理MD5跳表,所述数据校验VERI用于对比数据并生成对比报告;还包括被检
测的数据库同步系统、源数据库、目的数据库;所述始端数据代理AGENT和终端数据代理
AGENT分别从源数据库和目的数据库获取待检测的最新版本表数据并计算出MD5摘要值,所
述数据校验VERI接收始端数据代理AGENT和终端数据代理AGENT发送的数据包并进行分块、
排序、与MD5跳表比对以检测源数据库和目的数据库的一致性;所述始端数据代理AGENT、终
端数据代理AGENT为服务程序;所述数据包包含ROWID和MD5摘要值;
该方法包括以下步骤:
步骤S010,始端数据代理AGENT和终端数据代理AGENT分别从源数据库和目的数据库获
取待检测的最新版本表数据后计算出MD5摘要值;
步骤S020,数据校验VERI接收始端数据代理AGENT和终端数据代理AGENT发送的数据
包;
步骤S030,数据校验VERI对数据包进行分块、排序,并与MD5跳表比对;
其中,在步骤S010中,包括以下步骤:
步骤S010-1,始端数据代理AGENT和终端数据代理AGENT分别在源数据库和目的数据库
上执行数据查询;
步骤S010-2,始端数据代理AGENT和终端数据代理AGENT分别计算MD5摘要值;
步骤S010-3,始端数据代理AGENT和终端数据代理AGENT分别将ROWID、MD5摘要值填充
在数据包中发送给数据校验VERI,其中始端数据代理AGENT发送的数据包放置于左列表,终
端数据代理AGENT发送的数据包放置于右列表;
其中,在步骤S030中,设置两个变量left_over和right_over管理左列表和右列表,
left_over初始化为FALSE,right_over初始化为FALSE,数据校验VERI对数据包的排序包括
以下步骤:
步骤S031-1,若left_over为TRUE,转至步骤S031-4,否则从左列表取出一个数据包,放
到左排序内存中;
步骤S031-2,重复步骤S031-1直到左排序内存无法放入完整数据包,或者已经到达左
列表最后一个数据包;
步骤S031-3,将左排序内存的数据包进行排序,排序结果写入文件中,文件名由系统自
动生成,如果取到最后一个数据包,标记left_over为TRUE,转至步骤S031-1继续处理左列
表;
步骤S031-4,若right_over为TRUE,转至步骤S031-7,否则从右列表取出一个数据包,
放到右排序内存中;
步骤S031-5,重复步骤S031-4直到右排序内存无法放入完整数据包,或者已经到达右
列表最后一个数据包;
步骤S031-6,将右排序内存的数据包进行排序,排序结果写入文件,文件名系统自动生
成,如果取到最后一个排序结果包,标记right_over=TRUE,转至步骤S031-4继续处理右列
表;
权 利 要 求 书
1/2 页
2
评论