[发明专利]一种关系型数据库数据对比方法及系统有效
申请号: | 201911376043.9 | 申请日: | 2019-12-27 |
公开(公告)号: | CN111143368B | 公开(公告)日: | 2023-05-12 |
发明(设计)人: | 王大鹏;冯路;卢健;范翊;张元超 | 申请(专利权)人: | 瀚高基础软件股份有限公司 |
主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/28 |
代理公司: | 济南圣达知识产权代理有限公司 37221 | 代理人: | 黄海丽 |
地址: | 250010 山东省济南市高新*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 关系 数据库 数据 对比 方法 系统 | ||
1.一种关系型数据库数据对比方法,其特征在于,包括以下步骤:
分别从源库和目标库中获取数据表名并进行对比,得到表名对比结果;具体为,创建map,将源库表名列表写入key字段,将value字段作为表名对比结果字段,value字段的值初始化为插入;对于目标库中的每个表名,查找map中是否存在该表名,若存在,表名对比结果修改为相同;若不存在,不作处理;遍历map,得到表名对比结果列表;
对于表名对比结果为相同的每一对数据表,进行全表对比,得到全表对比结果;
对于全表对比结果为相同的每一对数据表,进行逐行对比,得到逐行对比结果;
其中,所述表名对比结果和逐行对比结果中,对于对比结果为不同的记录,均采用操作名称来标识;所述操作名称为更新、操作或删除;
全表对比方法包括:对于表名对比结果为相同的每一对数据表,依次根据表名、数据表行数和全表MD5将两个数据表进行对比;
全表对比方法包括:
对于表名对比结果为相同的每一对数据表,均执行以下操作:
从源库和目标库获取两个数据表的字段信息,所述字段信息包括字段名和字段的数据类型;
根据字段名的哈希值判断所述两个数据表中字段名是否完全相等,
若相等,判断字段的数据类型中是否存在MD5值不支持的数据类型;若不相等,表行数对比结果字段和MD5值对比结果字段的值均赋值为-1,将全表对比结果字段赋值为不同列,不再做其他操作;
若不存在,从源库和目标库获取所述两个数据表的行数,判断行数是否相等;若存在,表行数对比结果字段和MD5值对比结果字段的值均赋值为-1,将全表对比结果字段赋值不支持,不再做其他操作;
若行数均不为0且相等,从源库和目标库获取所述两个数据表的全表MD5,如果全表MD5值相等,所述两个数据表的全表对比结果为相同,否则,为不同;若其中一个行数为0或行数不相等,表行数对比结果字段和MD5值对比结果字段的值均赋值为-1,将全表对比结果字段赋值不同,不再做其他操作;
逐行对比方法包括:
对于全表对比结果为相同的每一对数据表,判断两个数据表是否存在主键,若存在,依次按照主键值MD5和整行数据值MD5对两个数据表进行对比;若不存在,按照整行数据值MD5对两个数据表进行对比;
若两个数据表存在主键,分别获取两个数据表中每一行对应的唯一标识、主键值MD5和整行数据值MD5,并分别写入两个行数据列表;
遍历源库行数据列表,将主键值MD5列写入map中的key字段,将value字段作为行对比结果字段;
遍历目标库行数据列表,对于每个主键值MD5,判断map中是否存在该主键值MD5,如果不存在,行对比结果记为删除;
如果存在,对比整行数据MD5值,若相同,从map中移除,否则,行对比结果记为更新;
遍历源库行数据列表,对于每个主键值MD5,判断map中是否存在该主键值MD5,如果不存在,将该主键值MD5写入map,相应的行对比结果记为插入;
如果存在,对比整行数据MD5值,若相同,从map中移除;否则行对比结果为更新;
若两个数据表不存在主键,分别获取两个数据表中每一行对应的唯一标识和整行数据值MD5,并分别写入两个行数据列表;
创建map,key字段初始化为空,将value字段作为行对比结果字段;
遍历源库行数据列表,对于每个整行数据值MD5,判断map中是否存在该整行数据值MD5,如果存在,该整行数据值MD5的出现次数加1;如果不存在,将该整行数据值MD5写入map,该整行数据值MD5的出现次数加1,并将相应的行对比结果赋值为插入;
遍历目标库行数据列表,对于每个整行数据值MD5,判断map中是否存在该整行数据值MD5,如果存在,该整行数据值MD5的出现次数减1;如果不存在,将该整行数据值MD5写入map,该整行数据值MD5的出现次数减1,并将相应的行对比结果赋值为删除。
2.如权利要求1所述的一种关系型数据库数据对比方法,其特征在于,所述方法还包括:将表名对比结果、全表对比结果和逐行对比结果进行可视化输出。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于瀚高基础软件股份有限公司,未经瀚高基础软件股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911376043.9/1.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置