一种数据比对方法、装置、设备及存储介质制造方法及图纸

技术编号:19934322 阅读:24 留言:0更新日期:2018-12-29 04:35
本发明专利技术实施例公开了一种数据比对方法、装置、设备及存储介质。该方法包括:获取至少两张数据表中组数据的标识和摘要信息,每张数据表包括至少一组数据;提取不同数据表中标识相同而摘要信息不同的组数据,并将提取出的每张数据表中的组数据按照摘要信息排序;输出排序后的组数据中与其他数据表中组数据不一致的组数据标识,通过本发明专利技术的技术方案,以实现比较同数据库或不同数据库中表中的数据,且效率较高。

【技术实现步骤摘要】
一种数据比对方法、装置、设备及存储介质
本专利技术实施例涉及数据库技术,尤其涉及一种数据比对方法、装置、设备及存储介质。
技术介绍
随着数据库信息系统的广泛应用,从一个数据库中抽取所需的对象数据并将其迁移到另一数据库中已成为常见的数据库操作,迁移后数据的一致性检验是对数据迁移质量的检查,保证迁移前后数据的一致性至关重要。通常,数据迁移后一致性检验包括:数据对象一致、数据量大小一致、数据内容一致等三个方面的检验。本专利技术目的是提供一种检验不同数据库中任意两张表的数据内容是否一致的方法,可用于检验数据迁移后表数据包括数据量和数据内容是否一致。一般来说,有两张数据表A和B,若表A与表B的数据行数相等,且表A中的每一行数据在表B中都可以找到匹配的行,表B中的每一行数据在表A中也可以找到匹配的行,则认为表A与表B的数据一致。目前常用的表数据对比方法有两种:一种是利用SQL语句的NOTIN子查询,一种是将待比较的两张表的数据读取到内存,通过程序进行循环对比。第一种方法由于使用SQL语句,只能对比在同一个数据库中的两张表,而数据迁移常常是将数据从一个数据库迁移到另一个数据库,此时这种方法就不适用了。第二种方法一般要求表中有主键列或唯一非空列,用于确认进行比对的行,对于没有主键列或唯一非空列的情况,则需要进行循环遍历以确认比对行,效率非常低。也有改进的方法是将两张表都按照指定列排序后再进行比对的,但是当表中没有主键列或唯一非空列时排序的效率也会很低。
技术实现思路
本专利技术实施例提供一种数据存储方法、装置、设备及存储介质,以实现比较同数据库或不同数据库(同构、异构皆可)中两张表中的数据,且效率较高。第一方面,本专利技术实施例提供了一种数据比对方法,包括:获取至少两张数据表中组数据的标识和摘要信息,每张数据表包括至少一组数据;提取不同数据表中标识相同而摘要信息不同的组数据,并将提取出的每张数据表中的组数据按照摘要信息排序;输出排序后的组数据中与其他数据表中组数据不一致的组数据标识。进一步的,获取至少两张数据表中组数据的标识和摘要信息,每张数据表包括至少一组数据之前,还包括:从至少一个数据库中读取至少两张数据表。进一步的,获取至少两张数据表中组数据的标识和摘要信息包括:获取两张数据表中组数据的行标识符;计算所述组数据的摘要信息;将所述行标识符和所述摘要信息对应存储至第一阻塞队列和第二阻塞队列。进一步的,提取不同数据表中标识相同而摘要信息不同的组数据,并将提取出的每张数据表中的组数据按照摘要信息排序包括:提取所述第一阻塞队列和所述第二阻塞队列中行标识符相同而摘要信息不同的组数据;将提取出的所述第一阻塞队列中的组数据以及对应的行标识符存储至第三阻塞队列;将提取出的所述第二阻塞队列中的组数据以及对应的行标识符存储至第四阻塞队列;将所述第三阻塞队列中的组数据插入临时数据库的第一临时表中;将所述第四阻塞队列中的组数据插入临时数据库的第二临时表中;根据所述第一临时表中的组数据的摘要信息调整所述第一临时表中的组数据的顺序;根据所述第二临时表中的组数据的摘要信息调整所述第二临时表中的组数据的顺序。进一步的,输出排序后的组数据中与其他数据表中组数据不一致的组数据标识包括:读取排序后的第一临时表中的组数据和排序后的第二临时表中的组数据;输出所述排序后的第一临时表中的组数据和排序后的第二临时表中的组数据不一致的组数据标识。进一步的,所述摘要信息为信息-摘要算法5的计算值。第二方面,本专利技术实施例还提供了一种数据比对装置,该装置包括:获取模块,用于获取至少两张数据表中组数据的标识和摘要信息,每张数据表包括至少一组数据;提取模块,用于提取不同数据表中标识相同而摘要信息不同的组数据,并将提取出的每张数据表中的组数据按照摘要信息排序;输出模块,用于输出排序后的组数据中与其他数据表中组数据不一致的组数据标识。进一步的,还包括:读取模块,用于从至少一个数据库中读取至少两张数据表。第三方面,本专利技术实施例还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如本专利技术实施例中任一所述的数据比对方法。第四方面,本专利技术实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本专利技术实施例中任一所述的数据比对方法。本专利技术实施例通过获取至少两张数据表中组数据的标识和摘要信息,每张数据表包括至少一组数据;提取不同数据表中标识相同而摘要信息不同的组数据,并将提取出的每张数据表中的组数据按照摘要信息排序;输出排序后的组数据中与其他数据表中组数据不一致的组数据标识,以实现比较同数据库或不同数据库中表中的数据,且效率较高。附图说明为了更清楚地说明本专利技术实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本专利技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。图1是本专利技术实施例一中的一种数据比对方法的流程图;图2A是本专利技术实施例二中的一种数据比对方法的流程图;图2B是本专利技术实施例二中的一种数据比对方法的图示;图2C是本专利技术实施例二中的ExtraDataTask任务线程执行流程图;图2D是本专利技术实施例二中的CompareTask1第一阶段对比任务线程执行流程图;图2E是本专利技术实施例二中的LoadDataTask任务线程执行流程图;图2F是本专利技术实施例二中的CompareTask2第二阶段对比任务线程执行流程图;图3是本专利技术实施例三中的一种数据比对装置的结构示意图;图4是本专利技术实施例四中的一种计算机设备的结构示意图。具体实施方式下面结合附图和实施例对本专利技术作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本专利技术,而非对本专利技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本专利技术相关的部分而非全部结构。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本专利技术的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。实施例一图1为本专利技术实施例一提供的一种数据比对方法的流程图,本实施例可适用于数据比对的情况,该方法可以由本专利技术实施例中的数据比对装置来执行,该装置可采用软件和/或硬件的方式实现,如图1所示,该方法具体包括如下步骤:S110,获取至少两张数据表中组数据的标识和摘要信息,每张数据表包括至少一组数据。其中,所述组数据可以为一行数据,也可以为一列数据,相应的,若所述组数据为一行数据,则组数据的标识为行标识符,若所述组数据为一列数据,则组数据的标识为列标识符。其中,表中组数据的摘要信息均不相同,也就是说摘要信息为组数据的指纹,不同的组数据的摘要信息不同。例如可以是,表A中第一行数据的摘要信息为A、第二行数据的摘要信息为B,则A与B一定不同。其中,所述至少两张数据表之间的关系为同一张表进行迁移之后的表,例如可以是,数据库A中的表A迁移到数据库B中,得到表B,所述至少两张数据表也就指的是表A和表B。具体的,获取至少两张数据表中组数据的本文档来自技高网...

【技术保护点】
1.一种数据比对方法,其特征在于,包括:获取至少两张数据表中组数据的标识和摘要信息,每张数据表包括至少一组数据;提取不同数据表中标识相同而摘要信息不同的组数据,并将提取出的每张数据表中的组数据按照摘要信息排序;输出排序后的组数据中与其他数据表中组数据不一致的组数据标识。

【技术特征摘要】
1.一种数据比对方法,其特征在于,包括:获取至少两张数据表中组数据的标识和摘要信息,每张数据表包括至少一组数据;提取不同数据表中标识相同而摘要信息不同的组数据,并将提取出的每张数据表中的组数据按照摘要信息排序;输出排序后的组数据中与其他数据表中组数据不一致的组数据标识。2.根据权利要求1所述的方法,其特征在于,获取至少两张数据表中组数据的标识和摘要信息,每张数据表包括至少一组数据之前,还包括:从至少一个数据库中读取至少两张数据表。3.根据权利要求1所述的方法,其特征在于,获取至少两张数据表中组数据的标识和摘要信息包括:获取两张数据表中组数据的行标识符;计算所述组数据的摘要信息;将所述行标识符和所述摘要信息对应存储至第一阻塞队列和第二阻塞队列。4.根据权利要求3所述的方法,其特征在于,提取不同数据表中标识相同而摘要信息不同的组数据,并将提取出的每张数据表中的组数据按照摘要信息排序包括:提取所述第一阻塞队列和所述第二阻塞队列中行标识符相同而摘要信息不同的组数据;将提取出的所述第一阻塞队列中的组数据以及对应的行标识符存储至第三阻塞队列;将提取出的所述第二阻塞队列中的组数据以及对应的行标识符存储至第四阻塞队列;将所述第三阻塞队列中的组数据插入临时数据库的第一临时表中;将所述第四阻塞队列中的组数据插入临时数据库的第二临时表中;根据所述第一临时表中的组数据的...

【专利技术属性】
技术研发人员:尹淑彬
申请(专利权)人:上海达梦数据库有限公司
类型:发明
国别省市:上海,31

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

1