[发明专利]一种数据比对方法、装置、设备及存储介质有效
申请号: | 201810865306.1 | 申请日: | 2018-08-01 |
公开(公告)号: | CN109101603B | 公开(公告)日: | 2021-06-04 |
发明(设计)人: | 尹淑彬 | 申请(专利权)人: | 上海达梦数据库有限公司 |
主分类号: | G06F16/22 | 分类号: | G06F16/22 |
代理公司: | 北京品源专利代理有限公司 11332 | 代理人: | 孟金喆 |
地址: | 201203 上海*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据 方法 装置 设备 存储 介质 | ||
本发明实施例公开了一种数据比对方法、装置、设备及存储介质。该方法包括:获取至少两张数据表中组数据的标识和摘要信息,每张数据表包括至少一组数据;提取不同数据表中标识相同而摘要信息不同的组数据,并将提取出的每张数据表中的组数据按照摘要信息排序;输出排序后的组数据中与其他数据表中组数据不一致的组数据标识,通过本发明的技术方案,以实现比较同数据库或不同数据库中表中的数据,且效率较高。
技术领域
本发明实施例涉及数据库技术,尤其涉及一种数据比对方法、装置、设备及存储介质。
背景技术
随着数据库信息系统的广泛应用,从一个数据库中抽取所需的对象数据并将其迁移到另一数据库中已成为常见的数据库操作,迁移后数据的一致性检验是对数据迁移质量的检查,保证迁移前后数据的一致性至关重要。
通常,数据迁移后一致性检验包括:数据对象一致、数据量大小一致、数据内容一致等三个方面的检验。本发明目的是提供一种检验不同数据库中任意两张表的数据内容是否一致的方法,可用于检验数据迁移后表数据包括数据量和数据内容是否一致。
一般来说,有两张数据表A和B,若表A与表B的数据行数相等,且表A 中的每一行数据在表B中都可以找到匹配的行,表B中的每一行数据在表A中也可以找到匹配的行,则认为表A与表B的数据一致。目前常用的表数据对比方法有两种:一种是利用SQL语句的NOT IN子查询,一种是将待比较的两张表的数据读取到内存,通过程序进行循环对比。第一种方法由于使用SQL语句,只能对比在同一个数据库中的两张表,而数据迁移常常是将数据从一个数据库迁移到另一个数据库,此时这种方法就不适用了。第二种方法一般要求表中有主键列或唯一非空列,用于确认进行比对的行,对于没有主键列或唯一非空列的情况,则需要进行循环遍历以确认比对行,效率非常低。也有改进的方法是将两张表都按照指定列排序后再进行比对的,但是当表中没有主键列或唯一非空列时排序的效率也会很低。
发明内容
本发明实施例提供一种数据存储方法、装置、设备及存储介质,以实现比较同数据库或不同数据库(同构、异构皆可)中两张表中的数据,且效率较高。
第一方面,本发明实施例提供了一种数据比对方法,包括:
获取至少两张数据表中组数据的标识和摘要信息,每张数据表包括至少一组数据;
提取不同数据表中标识相同而摘要信息不同的组数据,并将提取出的每张数据表中的组数据按照摘要信息排序;
输出排序后的组数据中与其他数据表中组数据不一致的组数据标识。
进一步的,获取至少两张数据表中组数据的标识和摘要信息,每张数据表包括至少一组数据之前,还包括:
从至少一个数据库中读取至少两张数据表。
进一步的,获取至少两张数据表中组数据的标识和摘要信息包括:
获取两张数据表中组数据的行标识符;
计算所述组数据的摘要信息;
将所述行标识符和所述摘要信息对应存储至第一阻塞队列和第二阻塞队列。
进一步的,提取不同数据表中标识相同而摘要信息不同的组数据,并将提取出的每张数据表中的组数据按照摘要信息排序包括:
提取所述第一阻塞队列和所述第二阻塞队列中行标识符相同而摘要信息不同的组数据;
将提取出的所述第一阻塞队列中的组数据以及对应的行标识符存储至第三阻塞队列;
将提取出的所述第二阻塞队列中的组数据以及对应的行标识符存储至第四阻塞队列;
将所述第三阻塞队列中的组数据插入临时数据库的第一临时表中;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海达梦数据库有限公司,未经上海达梦数据库有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810865306.1/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置