专利名称:数据对比方法及相关装置
专利类型:发明专利
专利申请号:CN202010344245.1
专利申请(专利权)人:北京国双科技有限公司
权利人地址:北京市海淀区北四环中路229号海泰大厦4层南401号
专利发明(设计)人:穆洪军
专利摘要:本发明公开了一种数据对比方法及相关装置,可以从第一数据源中获得第一数据表,从第二数据源中获得第二数据表;从第一数据表和第二数据表中确定目标字段;从第一数据表中提取与目标字段的第一取值对应的一组数据;从第二数据表中提取与目标字段的第一取值对应的一组数据;将提取的两组数据按照所对应的字段进行对比,确定提取的两组数据中相同字段对应的数据是否一致。本发明通过目标字段来确定进行对比的两组数据,并通过字段分别对比各数据,可以有效保证进行对比的数据的匹配性,保证了对比结果的准确性。同时,由于直接使用两个数据源中的数据对比,因此无需拷贝,降低了存储器的负担,保证了存储器性能。
主权利要求:
1.一种数据对比方法,其特征在于,包括:
从第一数据源中获得第一数据表,从第二数据源中获得第二数据表;
从所述第一数据表和所述第二数据表中确定目标字段,其中,所述第一数据表和所述第二数据表中均包括所述目标字段且所述目标字段在不同行的取值不同;
从所述第一数据表中提取与所述目标字段的第一取值对应的一组数据;
从所述第二数据表中提取与所述目标字段的第一取值对应的一组数据;
将提取的两组数据按照所对应的字段进行对比,确定提取的所述两组数据中相同字段对应的数据是否一致;
所述将提取的两组数据按照所对应的字段进行对比,确定提取的所述两组数据中相同字段对应的数据是否一致,包括:根据所述第一数据表中字段与取值的对应关系,将从所述第一数据表中提取的一组数据构造为第一键值对组,所述第一键值对组包括至少一个键值对,其中,所述第一键值对组中的键值对中的键为所述第一数据表中的一个字段,所述第一键值对组中的键值对中的值为与该字段对应的取值;
根据所述第二数据表中字段与取值的对应关系,将从所述第二数据表中提取的一组数据构造为第二键值对组,所述第二键值对组包括至少一个键值对,其中,所述第二键值对组中的键值对中的键为所述第二数据表中的一个字段,所述第二键值对组中的键值对中的值为与该字段对应的取值;
将所述第一键值对组中至少一个键值对与所述第二键值对组中至少一个键值对进行对比,确定具有相同的键的键值对中的值是否相同,如果相同,则确定该具有相同的键的键值对对应的数据一致,否则,确定该具有相同的键的键值对对应的数据不一致。
2.根据权利要求1所述的方法,其特征在于,还包括:
对于确定一致的数据,将第一对比结果标识填入第三数据表中的目标单元格,对于确定不一致的数据,将第二对比结果标识填入第三数据表中的目标单元格,其中,所述目标单元格在所述第三数据表中的位置与进行对比的数据在所述第一数据表中的位置相同。
3.根据权利要求2所述的方法,其特征在于,所述第三数据表中的字段与所述第一数据表中的字段相同,且所述第三数据表中的所述目标字段所在的列与所述第一数据表中的所述目标字段所在的列相同。
4.根据权利要求1所述的方法,其特征在于,还包括:
为所述第一数据表中确定一致的数据添加第三对比结果标识,和/或,为所述第一数据表中确定不一致的数据添加第四对比结果标识。
5.一种数据对比装置,其特征在于,包括:数据表获得单元、目标字段获得单元、第一数据获得单元、第二数据获得单元和数据对比单元,所述数据表获得单元,用于从第一数据源中获得第一数据表,从第二数据源中获得第二数据表;
所述目标字段获得单元,用于从所述第一数据表和所述第二数据表中确定目标字段,其中,所述第一数据表和所述第二数据表中均包括所述目标字段且所述目标字段在不同行的取值不同;
所述第一数据获得单元,用于从所述第一数据表中提取与所述目标字段的第一取值对应的一组数据;
所述第二数据获得单元,用于从所述第二数据表中提取与所述目标字段的第一取值对应的一组数据;
所述数据对比单元,用于将提取的两组数据按照所对应的字段进行对比,确定提取的所述两组数据中相同字段对应的数据是否一致;
所述数据对比单元包括:第一键值对组构造子单元、第二键值对组构造子单元和键值对对比子单元,所述第一键值对组构造子单元,用于根据所述第一数据表中字段与取值的对应关系,将从所述第一数据表中提取的一组数据构造为第一键值对组,所述第一键值对组包括至少一个键值对,其中,所述第一键值对组中的键值对中的键为所述第一数据表中的一个字段,所述第一键值对组中的键值对中的值为与该字段对应的取值;
所述第二键值对组构造子单元,用于根据所述第二数据表中字段与取值的对应关系,将从所述第二数据表中提取的一组数据构造为第二键值对组,所述第二键值对组包括至少一个键值对,其中,所述第二键值对组中的键值对中的键为所述第二数据表中的一个字段,所述第二键值对组中的键值对中的值为与该字段对应的取值;
所述键值对对比子单元,用于将所述第一键值对组中至少一个键值对与所述第二键值对组中至少一个键值对进行对比,确定具有相同的键的键值对中的值是否相同,如果相同,则确定该具有相同的键的键值对对应的数据一致,否则,确定该具有相同的键的键值对对应的数据不一致。
6.根据权利要求5所述的装置,其特征在于,还包括:结果填写单元,用于对于确定一致的数据,将第一对比结果标识填入第三数据表中的目标单元格,对于确定不一致的数据,将第二对比结果标识填入第三数据表中的目标单元格,其中,所述目标单元格在所述第三数据表中的位置与进行对比的数据在所述第一数据表中的位置相同。
7.一种电子设备,其特征在于,包括:至少一个处理器、以及与所述处理器连接的至少一个存储器、总线;其中,所述处理器、所述存储器通过所述总线完成相互间的通信;所述处理器用于调用所述存储器中的程序指令,以执行如权利要求1至4任一项所述的数据对比方法。
8.一种存储介质,其特征在于,所述存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现如权利要求1至4任一项所述的数据对比方法。 说明书 : 数据对比方法及相关装置技术领域[0001] 本发明涉及数据处理技术领域,尤其涉及数据对比方法及相关装置。背景技术[0002] 随着科技的发展,数据的重要性也越来越高。出于某种目的,用户常需要从数据源中将大量的数据拷贝到另一个数据源中,例如:将数据库A中的数据导入另一个数据库B中。[0003] 但是,不同的数据源中对数据的要求不同,数据在拷贝的过程中可能需要调整数据的行和/或列。例如:数据库A中的数据对应的字段排列顺序为:字段1、字段2、字段3,而将该数据导入数据库B时,数据库B需要改数据对应的字段排列顺序为:字段1、字段3、字段2。这样的调整虽然可以实现,但是调整后由于数据存储位置发生了变化,因此当需要校验拷贝的数据是否有误时,则十分困难。[0004] 为了不修改数据库的数据,现有技术需要将数据库中的数据拷贝出来,然后将两个数据库中的数据的行和列的顺序调整一致,然后再进行对比,但当数据量较大时,这种额外的拷贝给存储器造成了负担,降低了存储器性能。发明内容[0005] 鉴于上述问题,本发明提供一种克服上述问题或者至少部分地解决上述问题的数据对比方法及相关装置,以使得数据对比过程可以在保证对比结果准确性的同时,降低存储器的负担。[0006] 为实现上述发明目的,本发明提供以下技术方案:[0007] 第一方面,本发明提供了一种数据对比方法,包括:[0008] 从第一数据源中获得第一数据表,从第二数据源中获得第二数据表;[0009] 从所述第一数据表和所述第二数据表中确定目标字段,其中,所述第一数据表和所述第二数据表中均包括所述目标字段且所述目标字段在不同行的取值不同;[0010] 从所述第一数据表中提取与所述目标字段的第一取值对应的一组数据;[0011] 从所述第二数据表中提取与所述目标字段的第一取值对应的一组数据;[0012] 将提取的两组数据按照所对应的字段进行对比,确定提取的所述两组数据中相同字段对应的数据是否一致。[0013] 结合第一方面,在某些可选的实施方式中,所述将提取的两组数据按照所对应的字段进行对比,确定提取的所述两组数据中相同字段对应的数据是否一致,包括:[0014] 根据所述第一数据表中字段与取值的对应关系,将从所述第一数据表中提取的一组数据构造为第一键值对组,所述第一键值对组包括至少一个键值对,其中,所述第一键值对组中的键值对中的键为所述第一数据表中的一个字段,所述第一键值对组中的键值对中的值为与该字段对应的取值;[0015] 根据所述第二数据表中字段与取值的对应关系,将从所述第二数据表中提取的一组数据构造为第二键值对组,所述第二键值对组包括至少一个键值对,其中,所述第二键值对组中的键值对中的键为所述第二数据表中的一个字段,所述第二键值对组中的键值对中的值为与该字段对应的取值;[0016] 将所述第一键值对组中至少一个键值对与所述第二键值对组中至少一个键值对进行对比,确定具有相同的键的键值对中的值是否相同,如果相同,则确定该具有相同的键的键值对对应的数据一致,否则,确定该具有相同的键的键值对对应的数据不一致。[0017] 结合第一方面,在某些可选的实施方式中,还包括:[0018] 对于确定一致的数据,将第一对比结果标识填入第三数据表中的目标单元格,对于确定不一致的数据,将第二对比结果标识填入第三数据表中的目标单元格,其中,所述目标单元格在所述第三数据表中的位置与进行对比的数据在所述第一数据表中的位置相同。[0019] 结合第一方面,在某些可选的实施方式中,所述第三数据表中的字段与所述第一数据表中的字段相同,且所述第三数据表中的所述目标字段所在的列与所述第一数据表中的所述目标字段所在的列相同。[0020] 结合第一方面,在某些可选的实施方式中,还包括:[0021] 为所述第一数据表中确定一致的数据添加第三对比结果标识,和/或,为所述第一数据表中确定不一致的数据添加第四对比结果标识。[0022] 第二方面,本发明提供了一种数据对比装置,包括:数据表获得单元、目标字段获得单元、第一数据获得单元、第二数据获得单元和数据对比单元,[0023] 所述数据表获得单元,用于从第一数据源中获得第一数据表,从第二数据源中获得第二数据表;[0024] 所述目标字段获得单元,用于从所述第一数据表和所述第二数据表中确定目标字段,其中,所述第一数据表和所述第二数据表中均包括所述目标字段且所述目标字段在不同行的取值不同;[0025] 所述第一数据获得单元,用于从所述第一数据表中提取与所述目标字段的第一取值对应的一组数据;[0026] 所述第二数据获得单元,用于从所述第二数据表中提取与所述目标字段的第一取值对应的一组数据;[0027] 所述数据对比单元,用于将提取的两组数据按照所对应的字段进行对比,确定提取的所述两组数据中相同字段对应的数据是否一致。[0028] 结合第二方面,在某些可选的实施方式中,所述数据对比单元包括:第一键值对组构造子单元、第二键值对组构造子单元和键值对对比子单元,[0029] 所述第一键值对组构造子单元,用于根据所述第一数据表中字段与取值的对应关系,将从所述第一数据表中提取的一组数据构造为第一键值对组,所述第一键值对组包括至少一个键值对,其中,所述第一键值对组中的键值对中的键为所述第一数据表中的一个字段,所述第一键值对组中的键值对中的值为与该字段对应的取值;[0030] 所述第二键值对组构造子单元,用于根据所述第二数据表中字段与取值的对应关系,将从所述第二数据表中提取的一组数据构造为第二键值对组,所述第二键值对组包括至少一个键值对,其中,所述第二键值对组中的键值对中的键为所述第二数据表中的一个字段,所述第二键值对组中的键值对中的值为与该字段对应的取值;[0031] 所述键值对对比子单元,用于将所述第一键值对组中至少一个键值对与所述第二键值对组中至少一个键值对进行对比,确定具有相同的键的键值对中的值是否相同,如果相同,则确定该具有相同的键的键值对对应的数据一致,否则,确定该具有相同的键的键值对对应的数据不一致。[0032] 结合第二方面,在某些可选的实施方式中,还包括:结果填写单元,用于对于确定一致的数据,将第一对比结果标识填入第三数据表中的目标单元格,对于确定不一致的数据,将第二对比结果标识填入第三数据表中的目标单元格,其中,所述目标单元格在所述第三数据表中的位置与进行对比的数据在所述第一数据表中的位置相同。[0033] 第三方面,本发明还提供了一种设备,包括:至少一个处理器、以及与所述处理器连接的至少一个存储器、总线;其中,所述处理器、所述存储器通过所述总线完成相互间的通信;所述处理器用于调用所述存储器中的程序指令,以执行第一方面提供的数据对比方法。[0034] 第四方面,本发明还提供了一种存储介质,所述存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现第一方面提供的数据对比方法。[0035] 借由上述技术方案,本发明提供的一种数据对比方法及相关装置,可以从第一数据源中获得第一数据表,从第二数据源中获得第二数据表;从所述第一数据表和所述第二数据表中确定目标字段,其中,所述第一数据表和所述第二数据表中均包括所述目标字段且所述目标字段在不同行的取值不同;从所述第一数据表中提取与所述目标字段的第一取值对应的一组数据;从所述第二数据表中提取与所述目标字段的第一取值对应的一组数据;将提取的两组数据按照所对应的字段进行对比,确定提取的所述两组数据中相同字段对应的数据是否一致。本发明通过目标字段来确定进行对比的两组数据,并通过字段分别对比各数据,可以有效保证进行对比的数据的匹配性,保证了对比结果的准确性。同时,由于直接使用两个数据源中的数据对比,因此无需拷贝,降低了存储器的负担,保证了存储器性能。[0036] 上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。附图说明[0037] 通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:[0038] 图1示出了本发明实施例提供的一种数据对比方法的流程图;[0039] 图2示出了本发明实施例提供的另一种数据对比方法的流程图;[0040] 图3示出了本发明实施例提供的另一种数据对比方法的流程图;[0041] 图4示出了本发明实施例提供的另一种数据对比方法的流程图;[0042] 图5示出了本发明实施例提供的一种数据对比装置的结构示意图;[0043] 图6示出了本发明实施例提供的另一种数据对比装置的结构示意图;[0044] 图7示出了本发明实施例提供的一种设备的结构示意图。具体实施方式[0045] 下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。[0046] 如图1所示,本发明实施例提供的一种数据对比方法,可以包括:[0047] S100、从第一数据源中获得第一数据表,从第二数据源中获得第二数据表。[0048] 其中,第一数据源可以为数据库,也可以为电子表格文件或其他存储数据的对象。第二数据源可以为数据库,也可以为电子表格文件或其他存储数据的对象。可选的,第二数据源中的至少部分数据可以是从第一数据源中导入的。或者,第一数据源中的至少部分数据可以是从第二数据源中导入的。第二数据表可以是将第一数据源中的第一数据表导入第二数据源后得到的数据表。或者,第一数据表可以是将第二数据源中的第二数据表导入第一数据源后得到的数据表。可选的,第一数据表和第二数据表的标识(例如表名)可以相同或具有关联。[0049] 可以理解的是,数据源中可以保存有多个数据表,例如:某数据库中保存有A地区警务信息表和B地区警务信息表这两个数据表。[0050] 可选的,第一数据源和第二数据源都可以为警务信息数据源,其中,本发明中的警务信息为警察机关进行案件处置过程中涉及的相关信息,例如:报警人信息(报警人姓名、性别等)、接警信息(接警人、报警内容、报警时间等)、出警信息(出警人、出警地点、出警时间等)、反馈信息(案件处置结果、反馈人等)。具体的,上述四种警务信息可以分别存储在不同的数据表中,例如:“报警人”数据表存储报警人信息,“接警单”数据表存储接警信息,“出警单”数据表存储出警信息,“反馈单”数据表存储反馈信息。[0051] S200、从第一数据表和第二数据表中确定目标字段,其中,第一数据表和第二数据表中均包括目标字段且目标字段在不同行的取值不同。[0052] 可选的,第一数据表和第二数据表可以包括相同的字段。进一步,第一数据表中各字段的排列顺序和第二数据表中各字段的排列顺序可以相同,也可以不同。[0053] 其中,目标字段可以为主关键字(primarykey),主关键字是数据表中的一个或多个字段,它的值用于唯一地标识数据表中的某一条记录。[0054] S300、从第一数据表中提取与目标字段的第一取值对应的一组数据。[0055] 具体的,步骤S300提取的一组数据可以为第一数据表中目标字段的第一取值所在的一行数据。[0056] 为方便理解,下面以表1为例进行说明:[0057] 表1、第一数据表[0058]ID 性别 姓名 年龄001 女 王美美 28002 男 李大壮 32[0059] 设目标字段为ID,第一取值为001,则步骤S300可以从表1中提取001所在的一行数据。[0060] S400、从第二数据表中提取与目标字段的第一取值对应的一组数据。[0061] 具体的,步骤S400提取的一组数据可以为第二数据表中目标字段的第一取值所在的一行数据。[0062] 为方便理解,下面以表2为例进行说明:[0063] 表2、第二数据表[0064]ID 姓名 性别 年龄001 王美美 女 28002 李大壮 女 32[0065] 设目标字段为ID,第一取值为001,则步骤S400可以从表2中提取001所在的一行数据。[0066] S500、将提取的两组数据按照所对应的字段进行对比,确定提取的两组数据中相同字段对应的数据是否一致。[0067] 在对比两组数据时,可以将相同字段对应的两个数据进行对比,例如:将表1提取的一行数据中与字段“性别”对应的“女”和表2提取的一行数据中与字段“性别”对应的“女”进行对比,由于都是“女”因此确定数据一致。当然,对于其他字段对应的两个数据,也可以分别进行对比。[0068] 下面再举一个对比结果为数据不一致的例子:设目标字段为ID,第一取值为002,则步骤S300可以从表1中提取002所在的一行数据,步骤S400可以从表2中提取002所在的一行数据。步骤S500可以将表1提取的一行数据中与字段“性别”对应的“男”和表2提取的一行数据中与字段“性别”对应的“女”进行对比,由于一个为“男”,一个为“女”,因此确定数据不一致。[0069] 需要说明的是,对于数据表中的目标字段所在一行,以及目标字段所在的一列,可以不进行对比。例如:表1和表2中的最上面一行以及最左侧一列可以不进行对比。当然,也可以将数据表中全部数据均进行对比。[0070] 可以理解的是,本发明在执行步骤S300至S500后,可以获得目标字段的第一取值对应的两组数据是否一致,在实际应用中,本发明还可以提取目标字段的其他取值对应的两组数据并确定是否一致。[0071] 本发明提供的一种数据对比方法,可以从第一数据源中获得第一数据表,从第二数据源中获得第二数据表;从第一数据表和第二数据表中确定目标字段,其中,第一数据表和第二数据表中均包括目标字段且目标字段在不同行的取值不同;从第一数据表中提取与目标字段的第一取值对应的一组数据;从第二数据表中提取与目标字段的第一取值对应的一组数据;将提取的两组数据按照所对应的字段进行对比,确定提取的两组数据中相同字段对应的数据是否一致。本发明通过目标字段来确定进行对比的两组数据,并通过字段分别对比各数据,可以有效保证进行对比的数据的匹配性,保证了对比结果的准确性。同时,由于直接使用两个数据源中的数据对比,因此无需拷贝,降低了存储器的负担,保证了存储器性能。[0072] 如图2所示,在图1所示实施例基础上,本发明实施例提供的另一种数据对比方法,步骤S500可以具体包括:[0073] S510、根据第一数据表中字段与取值的对应关系,将从第一数据表中提取的一组数据构造为第一键值对组,第一键值对组包括至少一个键值对,其中,第一键值对组中的键值对中的键为第一数据表中的一个字段,第一键值对组中的键值对中的值为与该字段对应的取值。[0074] S520、根据第二数据表中字段与取值的对应关系,将从第二数据表中提取的一组数据构造为第二键值对组,第二键值对组包括至少一个键值对,其中,第二键值对组中的键值对中的键为第二数据表中的一个字段,第二键值对组中的键值对中的值为与该字段对应的取值。[0075] S530、将第一键值对组中至少一个键值对与第二键值对组中至少一个键值对进行对比,确定具有相同的键的键值对中的值是否相同,如果相同,则执行步骤S540;否则,执行步骤S550。[0076] S540、确定该具有相同的键的键值对对应的数据一致。[0077] S550、确定该具有相同的键的键值对对应的数据不一致。[0078] 如图3所示,在图1所示实施例基础上,本发明实施例提供的另一种数据对比方法,还可以包括:[0079] S600、对于确定一致的数据,将第一对比结果标识填入第三数据表中的目标单元格,对于确定不一致的数据,将第二对比结果标识填入第三数据表中的目标单元格,其中,目标单元格在第三数据表中的位置与进行对比的数据在第一数据表中的位置相同。[0080] 下面以表1和表2中的数据为例进行说明:[0081] 对ID为001所在的一行数据:将表1中字段“性别”对应的数据“女”和表2中字段“性别”对应的数据“女”对比,得到的对比结果为:一致;将表1中字段“姓名”对应的数据“王美美”和表2中字段“姓名”对应的数据“王美美”对比,得到的对比结果为:一致;将表1中字段“年龄”对应的数据“28”和表2中字段“年龄”对应的数据“28”对比,得到的对比结果为:一致。[0082] 对ID为002所在的一行数据:将表1中字段“性别”对应的数据“男”和表2中字段“性别”对应的数据“女”对比,得到的对比结果为:不一致;将表1中字段“姓名”对应的数据“李大壮”和表2中字段“姓名”对应的数据“李大壮”对比,得到的对比结果为:一致;将表1中字段“年龄”对应的数据“32”和表2中字段“年龄”对应的数据“32”对比,得到的对比结果为:一致。[0083] 则根据表1中各对比的数据在表1中的位置,可以将对比结果标识存储在第三数据表的相同的位置上。如表3所示:[0084] 表3、第三数据表[0085] ID 姓名 性别 年龄001 PASS PASS PASS002 PASS NOTNPASS PASS[0086] 可选的,如表3所示,第三数据表中的字段与第一数据表中的字段相同,且第三数据表中的目标字段所在的列与第一数据表中的目标字段所在的列相同。[0087] 表3中的“PASS”为第一对比结果标识,“NOTPASS”为第二对比结果标识,当然,也可以使用其他标识。[0088] 如图4所示,在图1所示实施例基础上,本发明实施例提供的另一种数据对比方法,还可以包括:[0089] S700、为第一数据表中确定一致的数据添加第三对比结果标识,和/或,为第一数据表中确定不一致的数据添加第四对比结果标识。[0090] 其中,第三对比结果标识、第四对比结果标识可以为颜色、字体粗度等显示效果,通过让第一数据表中的数据具有不同的显示效果来标识不同的对比结果。例如:对比结果为一致的数据的颜色为绿色,对比结果为一致的数据的颜色为红色。[0091] 与上述方法实施例相对应,本发明实施例还提供了数据对比装置。[0092] 如图5所示,本发明实施例提供的一种数据对比装置,可以包括:数据表获得单元100、目标字段获得单元200、第一数据获得单元300、第二数据获得单元400和数据对比单元500,[0093] 数据表获得单元100,用于从第一数据源中获得第一数据表,从第二数据源中获得第二数据表;[0094] 目标字段获得单元200,用于从第一数据表和第二数据表中确定目标字段,其中,第一数据表和第二数据表中均包括目标字段且目标字段在不同行的取值不同;[0095] 第一数据获得单元300,用于从第一数据表中提取与目标字段的第一取值对应的一组数据;[0096] 第二数据获得单元400,用于从第二数据表中提取与目标字段的第一取值对应的一组数据;[0097] 数据对比单元500,用于将提取的两组数据按照所对应的字段进行对比,确定提取的两组数据中相同字段对应的数据是否一致。[0098] 可选的,在本发明其他实施例中,图5所示数据对比单元500可以包括:第一键值对组构造子单元、第二键值对组构造子单元和键值对对比子单元,[0099] 第一键值对组构造子单元,用于根据第一数据表中字段与取值的对应关系,将从第一数据表中提取的一组数据构造为第一键值对组,第一键值对组包括至少一个键值对,其中,第一键值对组中的键值对中的键为第一数据表中的一个字段,第一键值对组中的键值对中的值为与该字段对应的取值;[0100] 第二键值对组构造子单元,用于根据第二数据表中字段与取值的对应关系,将从第二数据表中提取的一组数据构造为第二键值对组,第二键值对组包括至少一个键值对,其中,第二键值对组中的键值对中的键为第二数据表中的一个字段,第二键值对组中的键值对中的值为与该字段对应的取值;[0101] 键值对对比子单元,用于将第一键值对组中至少一个键值对与第二键值对组中至少一个键值对进行对比,确定具有相同的键的键值对中的值是否相同,如果相同,则确定该具有相同的键的键值对对应的数据一致,否则,确定该具有相同的键的键值对对应的数据不一致。[0102] 相对于图5所示装置,如图6所示,本发明实施例提供的另一种数据对比装置,还可以包括:结果填写单元600,用于对于确定一致的数据,将第一对比结果标识填入第三数据表中的目标单元格,对于确定不一致的数据,将第二对比结果标识填入第三数据表中的目标单元格,其中,目标单元格在第三数据表中的位置与进行对比的数据在第一数据表中的位置相同。[0103] 可选的,第三数据表中的字段与第一数据表中的字段相同,且第三数据表中的目标字段所在的列与第一数据表中的目标字段所在的列相同。[0104] 相对于图5所示装置,本发明实施例提供的另一种数据对比装置,还可以包括:结果标识添加单元,用于为第一数据表中确定一致的数据添加第三对比结果标识,和/或,为第一数据表中确定不一致的数据添加第四对比结果标识。[0105] 本发明提供的一种数据对比装置,可以从第一数据源中获得第一数据表,从第二数据源中获得第二数据表;从第一数据表和第二数据表中确定目标字段,其中,第一数据表和第二数据表中均包括目标字段且目标字段在不同行的取值不同;从第一数据表中提取与目标字段的第一取值对应的一组数据;从第二数据表中提取与目标字段的第一取值对应的一组数据;将提取的两组数据按照所对应的字段进行对比,确定提取的两组数据中相同字段对应的数据是否一致。本发明通过目标字段来确定进行对比的两组数据,并通过字段分别对比各数据,可以有效保证进行对比的数据的匹配性,保证了对比结果的准确性。同时,由于直接使用两个数据源中的数据对比,因此无需拷贝,降低了存储器的负担,保证了存储器性能。[0106] 所述数据对比装置包括处理器和存储器,上述数据表获得单元100、目标字段获得单元200、第一数据获得单元300、第二数据获得单元400和数据对比单元500等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。[0107] 处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来使得数据对比过程可以在保证对比结果准确性的同时,降低存储器的负担。[0108] 本发明实施例提供了一种存储介质,其上存储有程序,该程序被处理器执行时实现本发明实施例提供的任一种数据对比方法。[0109] 本发明实施例提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行本发明实施例提供的任一种数据对比方法。[0110] 如图7所示,本发明实施例提供了一种设备70,设备70包括至少一个处理器701、以及与处理器701连接的至少一个存储器702、总线703;其中,处理器701、存储器702通过总线703完成相互间的通信;处理器701用于调用存储器中的程序指令,以执行上述的数据对比方法。本文中的设备可以是服务器、PC、PAD、手机等。[0111] 本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:[0112] 一种数据对比方法,包括:[0113] 从第一数据源中获得第一数据表,从第二数据源中获得第二数据表;[0114] 从所述第一数据表和所述第二数据表中确定目标字段,其中,所述第一数据表和所述第二数据表中均包括所述目标字段且所述目标字段在不同行的取值不同;[0115] 从所述第一数据表中提取与所述目标字段的第一取值对应的一组数据;[0116] 从所述第二数据表中提取与所述目标字段的第一取值对应的一组数据;[0117] 将提取的两组数据按照所对应的字段进行对比,确定提取的所述两组数据中相同字段对应的数据是否一致。[0118] 可选的,所述将提取的两组数据按照所对应的字段进行对比,确定提取的所述两组数据中相同字段对应的数据是否一致,包括:[0119] 根据所述第一数据表中字段与取值的对应关系,将从所述第一数据表中提取的一组数据构造为第一键值对组,所述第一键值对组包括至少一个键值对,其中,所述第一键值对组中的键值对中的键为所述第一数据表中的一个字段,所述第一键值对组中的键值对中的值为与该字段对应的取值;[0120] 根据所述第二数据表中字段与取值的对应关系,将从所述第二数据表中提取的一组数据构造为第二键值对组,所述第二键值对组包括至少一个键值对,其中,所述第二键值对组中的键值对中的键为所述第二数据表中的一个字段,所述第二键值对组中的键值对中的值为与该字段对应的取值;[0121] 将所述第一键值对组中至少一个键值对与所述第二键值对组中至少一个键值对进行对比,确定具有相同的键的键值对中的值是否相同,如果相同,则确定该具有相同的键的键值对对应的数据一致,否则,确定该具有相同的键的键值对对应的数据不一致。[0122] 可选的,还包括:[0123] 对于确定一致的数据,将第一对比结果标识填入第三数据表中的目标单元格,对于确定不一致的数据,将第二对比结果标识填入第三数据表中的目标单元格,其中,所述目标单元格在所述第三数据表中的位置与进行对比的数据在所述第一数据表中的位置相同。[0124] 可选的,所述第三数据表中的字段与所述第一数据表中的字段相同,且所述第三数据表中的所述目标字段所在的列与所述第一数据表中的所述目标字段所在的列相同。[0125] 可选的,还包括:[0126] 为所述第一数据表中确定一致的数据添加第三对比结果标识,和/或,为所述第一数据表中确定不一致的数据添加第四对比结果标识。[0127] 本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。[0128] 在一个典型的配置中,设备包括一个或多个处理器(CPU)、存储器和总线。设备还可以包括输入/输出接口、网络接口等。[0129] 存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flashRAM),存储器包括至少一个存储芯片。存储器是计算机可读介质的示例。[0130] 计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD‑ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。[0131] 还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。[0132] 本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD‑ROM、光学存储器等)上实施的计算机程序产品的形式。[0133] 以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
专利地区:北京
专利申请日期:2020-04-27
专利公开日期:2024-07-26
专利公告号:CN113642309B