CN104239301A - 一种数据比对方法和装置 - Google Patents
一种数据比对方法和装置 Download PDFInfo
- Publication number
- CN104239301A CN104239301A CN201310224623.2A CN201310224623A CN104239301A CN 104239301 A CN104239301 A CN 104239301A CN 201310224623 A CN201310224623 A CN 201310224623A CN 104239301 A CN104239301 A CN 104239301A
- Authority
- CN
- China
- Prior art keywords
- comparison
- item
- group
- compares
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2474—Sequence data queries, e.g. querying versioned data
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (AREA)
- Probability & Statistics with Applications (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Fuzzy Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供一种数据比对方法,包括:确定待比对的第一数据集和第二数据集,数据集中的每个比较对象包括一个或多个比较项;确定比较项的类型,所述类型至少包括:第一类比较项和非第一类比较项;对第一数据集中的比较对象和第二数据集中的比较对象进行比对,其中,如果第一数据集中的第一比较对象的第一类比较项和所述第二数据集中的第二比较对象中的对应第一类比较项相同,且第一比较对象的非第一类比较项与第二比较对象的对应非第一类比较项之间的差异满足预设条件,则判断第一比较对象和第二比较对象一致。本申请还提供一种数据比对装置。本申请可实现数据高效比对。
Description
技术领域
本申请涉及数据处理领域,尤其涉及一种数据比对方法和装置。
背景技术
在常见的跨平台间数据搬迁场景,当两个平台的计算内核和数据存储格式发生改变,通常需要进行迁移前后的数据对比。如果数据量比较小,可以进行手工验证,或者采用一些常见的DIFF(差异比较)工具,如LINUX***带的diff命令。如果需要对比的数据量为海量数据,比如,需要对比的数据记录数有数亿条时,仅仅靠人工验证或常规工具是不可能完成的。
现有技术的缺点主要集中在以下几个方面:
1)普通工具效率低,时间资源成本不可控;
2)基于单机等普通硬件平台,硬件能力不足以支持。
发明内容
本申请要解决的技术问题是提供一种数据比对方法和装置,提高海量数据比对效率。
为了解决上述问题,本申请提供了一种数据比对方法,包括:
确定待比对的第一数据集和第二数据集,且所述第一数据集和第二数据集中的每个比较对象包括一个或多个比较项;
确定所述比较项的类型,所述类型至少包括:第一类比较项和非第一类比较项;
对所述第一数据集中的比较对象和第二数据集中的比较对象进行比对,其中,如果所述第一数据集中的第一比较对象的第一类比较项和所述第二数据集中的第二比较对象中的对应第一类比较项相同,且所述第一比较对象的非第一类比较项与所述第二比较对象的对应非第一类比较项之间的差异满足预设条件,则判断所述第一比较对象和所述第二比较对象一致。
上述方法还可具有以下特点,所述对所述第一数据集中的比较对象和第二数据集中的比较对象进行比对包括:
提取每个比较对象的第一类比较项,作为该比较对象的键值;
将所述第一数据集中的比较对象按所述键值进行分组,将所述第二数据集中的比较对象按所述键值进行分组;其中,同一组中的比较对象其键值相同;
根据分组将所述第一数据集和第二数据集中的比较对象进行比较,且相互比较的两组中的比较对象的键值相同。
上述方法还可具有以下特点,所述根据分组将所述第一数据集和第二数据集中的比较对象进行比较包括:
根据所述分组从所述第一数据集中获取第一组,从所述第二数据集中获取第二组,且所述第一组中的各比较对象的键值与所述第二组中的各比较对象的键值相同;
将所述第一组中的各比较对象的非第一类比较项和所述第二组中对应非第一类比较项进行比较;
如果所述第一组中的所有非第一类比较项与所述第二组中的对应非第一类比较项满足所述预设条件,且所述第一组和所述第二组中的比较对象的数目相同,则所述第一组和所述第二组一致,否则,报告两组差异。
上述方法还可具有以下特点,所述将所述第一组中的各比较对象的非第一类比较项和所述第二组中对应非第一类比较项进行比较前,还包括:
将所述第一组中的各比较对象除所述键值外的比较项进行排序,将所述第二组中的各比较对象除所述键值外的比较项进行排序。
上述方法还可具有以下特点,所述方法还包括:对所述第一数据集和第二数据集中的比较对象进行比对前还包括:将所述第一数据集中的比较对象和所述第二数据集中的比较对象根据所述键值基于分布式计算框架分布到各实例中。
上述方法还可具有以下特点,所述第一比较对象的非第一类比较项与所述第二比较对象的对应非第一类比较项之间的差异满足预设条件包括:
对所述第一比较对象的任一非第一类比较项,获取其与所述第二比较对象的对应非第一类比较项的差值,或者,获取所述差值与当前比较的非第一类比较项的比值;
判断所述差值或所述比值是否小于预设阈值,如果小于,则所述第一比较对象和第二比较对象当前比较的非第一类比较项满足所述预设条件。
上述方法还可具有以下特点,所述第一类比较项包括数据类型为字符串的比较项,和/或,数据类型为整型的比较项;所述非第一类比较项包括数据类型为浮点数的比较项。
本申请还提供一种数据比对装置,包括:
数据集配置模块,用于确定待比对的第一数据集和第二数据集,且所述第一数据集和第二数据集中的每个比较对象包括一个或多个比较项;以及,确定所述比较项的类型,所述类型至少包括:第一类比较项和非第一类比较项;
比对模块,用于对所述第一数据集中的比较对象和第二数据集中的比较对象进行比对,其中,如果所述第一数据集中的第一比较对象的第一类比较项和所述第二数据集中的第二比较对象中的对应第一类比较项相同,且所述第一比较对象的非第一类比较项与所述第二比较对象的对应非第一类比较项之间的差异满足预设条件,则判断所述第一比较对象和所述第二比较对象一致。
上述装置还可具有以下特点,所述比对模块包括:
键值提取单元,用于提取每个比较对象的第一类比较项,作为该比较对象的键值;
分组单元,用于将所述第一数据集中的比较对象按所述键值进行分组,将所述第二数据集中的比较对象按所述键值进行分组;其中,同一组中的比较对象其键值相同;
比对单元,用于根据分组将所述第一数据集和第二数据集中的比较对象进行比较,且相互比较的两组中的比较对象的键值相同。
上述装置还可具有以下特点,所述比对单元根据分组将所述第一数据集和第二数据集中的比较对象进行比较包括:根据所述分组从所述第一数据集中获取第一组,从所述第二数据集中获取第二组,且所述第一组中的各比较对象的键值与所述第二组中的各比较对象的键值相同;将所述第一组中的各比较对象的非第一类比较项和所述第二组中对应非第一类比较项进行比较;如果所述第一组中的所有非第一类比较项与所述第二组中的对应非第一类比较项满足所述预设条件,且所述第一组和所述第二组中的比较对象的数目相同,则所述第一组和所述第二组一致,否则,报告两组差异。
上述装置还可具有以下特点,所述比对单元还用于,将所述第一组中的各比较对象的非第一类比较项和所述第二组中对应非第一类比较项进行比较前,将所述第一组中的各比较对象除所述键值外的比较项进行排序,将所述第二组中的各比较对象除所述键值外的比较项进行排序。
上述装置还可具有以下特点,所述比对模块还包括分发模块,用于将所述第一数据集中的比较对象和所述第二数据集中的比较对象根据所述键值基于分布式计算框架分布到各实例中。
上述装置还可具有以下特点,所述比对模块根据如下方式判断第一比较对象的非第一类比较项与所述第二比较对象的对应非第一类比较项之间的差异是否满足预设条件:
对所述第一比较对象的任一非第一类比较项,获取其与所述第二比较对象的对应非第一类比较项的差值,或者,获取所述差值与当前比较的非第一类比较项的比值;判断所述差值或所述比值是否小于预设阈值,如果小于,则所述第一比较对象和第二比较对象当前比较的非第一类比较项满足所述预设条件。
上述装置还可具有以下特点,所述第一类比较项包括数据类型为字符串的比较项,和/或,数据类型为整型的比较项;所述非第一类比较项包括数据类型为浮点数的比较项。
本申请包括如下优点:
1、基于云计算分布式平台,可以实现在大数据背景下的高效、快速数据比对。
2、对数据精度可灵活调整(精准或模糊)。
当然,实施本申请的任一产品并不一定需要同时达到以上所述的所有优点。
附图说明
图1是本申请实施例一数据比对方法流程图;
图2是本申请实施例二数据比对装置框图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚明白,下文中将结合附图对本申请的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
另外,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
实施例一
本实施例提供一种数据比对方法,如图1所示,包括:
步骤101,确定待比对的第一数据集和第二数据集,且所述第一数据集和第二数据集中的每个比较对象包括一个或多个比较项;
步骤102,确定所述比较项的类型,所述类型至少包括:第一类比较项和非第一类比较项;
步骤103,对所述第一数据集中的比较对象和第二数据集中的比较对象进行比对,其中,如果所述第一数据集中的第一比较对象的第一类比较项和所述第二数据集中的第二比较对象中的对应第一类比较项相同,且所述第一比较对象的非第一类比较项与所述第二比较对象的对应非第一类比较项之间的差异满足预设条件,则判断所述第一比较对象和所述第二比较对象一致。
本实施例中,对不同的比较项进行区分,有些比较项需要精确匹配,有些比较项只需要模糊匹配,通过这种区别的比较方式,在一些数值要求不高的情况下,放宽了比较要求,将差异在预设条件内的也认为相同,加快了比对速度,提高了比对效率。
本实施例中,如果对两个数据表进行比较,比较对象可以是每个数据表中的一行,比较项是该行中的每个元素,比如后续实施例中的表1,每行作为一个比较对象,该行中的省、市、月份、销售额为该比较对象的4个比较项。
第一类比较项和非第一类比较项可以根据需要设定,比如,可以将数据类型为字符串的比较项,和/或,数据类型为整型的比较项设定为第一类比较项;将数据类型为浮点数的比较项设定为非第一类比较项,比如设定为第二类比较项。当然,实际使用中,可以进行更细的划分,比如,将数据类型为单精度浮点数的比较项划分为第一类比较项,将数据类型为双精度浮点数的比较项划分为第二类比较项;或者,不按照数据类型进行划分,而按照比较项的具体内容进行划分,比如对于特殊的认定比较条件(非等值认定,譬如一边的取值为“杭州”,另一边的取值为“浙江”,则认定为一致),且数据字段的组成结构可人工预判定的情况下,可以不根据数据类型划分,直接指定数据集中某些比较项为第一类比较项,某些比较项为第二类比较项。或者,划分更多类型,比如第一类比较项,第二类比较项,第三类比较项等。
在本实施例的一种备选方案中,步骤103中,所述第一比较对象的非第一类比较项与所述第二比较对象的对应非第一类比较项之间的差异满足预设条件包括:
对所述第一比较对象的任一非第一类比较项,获取其与所述第二比较对象的对应非第一类比较项的差值,或者,获取所述差值与当前比较的非第一类比较项的比值;
判断所述差值或所述比值是否小于预设阈值,如果小于,则所述第一比较对象和第二比较对象当前比较的非第一类比较项满足所述预设条件。
上述预设阈值只是一种示例,也可以采取其他判断方式,比如,对所述第一比较对象中的任一非第一类比较项,获取其与所述第二比较对象中的对应非第一类比较项,分别定义一个有效域,只要双方的非第一类比较项落入预先定义的有效域,则认为所述第一比较对象中的非第一类比较项与所述第二比较对象中的对应非第一类比较项满足预设条件。
在本实施例的一种备选方案中,步骤103具体包括:
提取每个比较对象的第一类比较项,作为该比较对象的键值;
将所述第一数据集中的比较对象按所述键值进行分组,将所述第二数据集中的比较对象按所述键值进行分组;其中,同一组中的比较对象其键值相同;
根据分组将所述第一数据集和第二数据集中的比较对象进行比较,且相互比较的两组中的比较对象的键值相同。
在本实施例的一种备选方案中,所述根据分组将所述第一数据集和第二数据集中的比较对象进行比较包括:
根据所述分组从所述第一数据集中获取第一组,从所述第二数据集中获取第二组,且所述第一组中的各比较对象的键值与所述第二组中的各比较对象的键值相同;
将所述第一组中的各比较对象的非第一类比较项和所述第二组中对应非第一类比较项进行比较;
如果所述第一组中的所有非第一类比较项与所述第二组中的对应非第一类比较项满足所述预设条件,且所述第一组和所述第二组中的比较对象的数目相同,则所述第一组和所述第二组一致,否则,报告两组差异。
在本实施例的一种备选方案中,所述将所述第一组中的各比较对象的非第一类比较项和所述第二组中对应非第一类比较项进行比较前,还可包括:
将所述第一组中的各比较对象除所述键值外的比较项进行排序,将所述第二组中的各比较对象除所述键值外的比较项进行排序。
比如,第一组中包括比较对象Ai,i=1..4,第二组中包括比较对象Bj,j=1...4;Ai中包括比较项ai1,ai2,ai3,ai4;Bj中包括比较项bj1,bj2,bj3,bj4;且ai1,ai2,bj1,bj2是第一类比较项,ai3,ai4,bj3,bj4是第二类比较项;ai1,ai2组合作为键值,与键值bj1,bj2相同。
第一组和第二组比较时,判断第一组和第二组的比较对象的数据相同,均为4个,然后只需比较ai3,ai4与bj3,bj4,比较ai3与bj3时,先将ai3按数值大小排序,将bj3按数值大小排序,排序后再比较ai3,bj3。ai4,bj4的比较方法与ai3,bj3的比较方法类似。
在本实施例的一种备选方案中,基于云计算方式实现所述第一数据集和第二数据集的比对,具体的,对所述第一数据集和第二数据集中的比较对象进行比对前,将所述第一数据集中的比较对象和所述第二数据集中的比较对象根据所述键值基于分布式计算框架分布到各实例中,在各实例中实现比较对象的具体比对。具体分布方法可根据需要设定,比如,将键值相同的比较对象分布到同一实例中。同一分组中的比较对象可以分布到一个实例,也可以分布到多个实例,但可以使得一个实例中的比较对象属于同一分组。当然,一个实例中也可以有多个分组,比如,某个分组中的比较对象数目较少,将该分组分布到某个实例后,可以再将其他分组中的部分比较对象分布到该实例,本申请对此不作限定。
下面通过一应用实例进一步说明本申请。
该实例中,在比对数据集时,把数据集用mapreduce(分布式计算框架)的框架分布到不同的INSTANCE(实例)中进行分布式验证。
确定数据集对应的schema(一个schema代表一个数据集),也就是将数据看成二维表,确定每列的类型,本实例中把列的类型分为字符串,整型及浮点数几种类型。
字符串类型以及整型为第一类比较项(或称“精确匹配”类型),即,如果两行数据相等,则其中的字符串,整型(包括整数)的列必须精确匹配。而浮点数为第二类比较项,误差在一定范围内也可以认为是相等的。
如下面表1中的两行数据,字符串和整型的列都完全匹配,而浮点数的差异满足预设条件,可以认为这两行数据相等。在实际中可以指定一个阈值,如(f1-f2)/f1<0.000001,f1为数据1中的浮点数,f2为数据集2中的浮点数。
表1
字符串 | 整数 | 浮点数 | |
数据集1 | Hangzhou | 100 | 99.99999999 |
数据集2 | Hangzhou | 100 | 100.0000000 |
把两个数据集中的字符串和整数列找出来,作为分发数据时的key(键值),将浮点数作为要比较的值。如果相同key的组行数相等,且浮点数差异也在可接受阈值内,则认为数据集相等,否则报告差异。如果相同的一组KEY有多个浮点值,则排序后进行比较。以如下两个数据集的比较为例。表2为数据集1,表3为数据集2,需要进行比对。
表2
表3
此时两张表中的市,省,月份作为分组的key,销售额作为比较值。
相同key的数据会分发到同一台机器的INSTANCE中进行对比。
上述表2,表3可以依据key划分为逻辑上的三个组(group),group1,group2,group3分别在不同的INSTANCE中进行比较,这些INSTANCE分布在集群中的不同机器上。下表4中的key1和key2分别对应表2,表3中作为key的列。
表4
由上图可以看出,group1中有两行数据需要对比,其中第二行完全相等,第一行的浮点数差异在可接受范围内,也认为相等。group2的数据完全匹配。group3来自表2的数据有两行,来自表3的数据只有一行,因此可以报告表3与表2在这一组缺少一行数据。
综合各个组对比的结果,结论是两张表有差异,具体的差异是表3中,<NANJING,JIANGSU,1>这组中缺少一行,这个具体的信息也便于业务上追查差异产生的根源。
由于采用的是分布式的比较方法,可以方便的对比大的数据量,测试中对比过上百亿行的两张表。
上述应用实例中,如果存在多列浮点数,则可以逐列比对;但分布式计算的优势还在于可以将多列浮点数字段拆分出来与key键字段分别组合成一组,并行同时比对,然后将比对结果再进行组合。譬如ABCD四个字段,A是key键字段,BCD分别是浮点数字段,则可以AB+AC+AD分别同时进行比对,然后进行结果合并。
另外,存在多列浮点数时,比对过程是先排序,后比对,排序过程为:是逐一排序,按字段加大排序深度。譬如ABCD,A是主键,先完成B的排序,在B的排序下完成C的排序,再依次完成D的排序。排序完成后再进行比对。
实施例二
本实施例提供一种数据比对装置,如图2所示,包括:
数据集配置模块201,用于确定待比对的第一数据集和第二数据集,且所述第一数据集和第二数据集中的每个比较对象包括一个或多个比较项;以及,确定所述比较项的类型,所述类型至少包括:第一类比较项和非第一类比较项;
比对模块202,用于对所述第一数据集中的比较对象和第二数据集中的比较对象进行比对,其中,如果所述第一数据集中的第一比较对象的第一类比较项和所述第二数据集中的第二比较对象中的对应第一类比较项相同,且所述第一比较对象的非第一类比较项与所述第二比较对象的对应非第一类比较项之间的差异满足预设条件,则判断所述第一比较对象和所述第二比较对象一致。
在本实施例的一种备选方案中,所述比对模块202包括:
键值提取单元2021,用于提取每个比较对象的第一类比较项,作为该比较对象的键值;
分组单元2022,用于将所述第一数据集中的比较对象按所述键值进行分组,将所述第二数据集中的比较对象按所述键值进行分组;其中,同一组中的比较对象其键值相同;
比对单元2023,用于根据分组将所述第一数据集和第二数据集中的比较对象进行比较,且相互比较的两组中的比较对象的键值相同。
在本实施例的一种备选方案中,所述比对单元2023根据分组将所述第一数据集和第二数据集中的比较对象进行比较包括:根据所述分组从所述第一数据集中获取第一组,从所述第二数据集中获取第二组,且所述第一组中的各比较对象的键值与所述第二组中的各比较对象的键值相同;将所述第一组中的各比较对象的非第一类比较项和所述第二组中对应非第一类比较项进行比较;如果所述第一组中的所有非第一类比较项与所述第二组中的对应非第一类比较项满足所述预设条件,且所述第一组和所述第二组中的比较对象的数目相同,则所述第一组和所述第二组一致,否则,报告两组差异。
在本实施例的一种备选方案中,所述比对单元2023还用于,将所述第一组中的各比较对象的非第一类比较项和所述第二组中对应非第一类比较项进行比较前,将所述第一组中的各比较对象除所述键值外的比较项进行排序,将所述第二组中的各比较对象除所述键值外的比较项进行排序。
在本实施例的一种备选方案中,所述比对模块202还包括分发单元2024,用于将所述第一数据集中的比较对象和所述第二数据集中的比较对象根据所述键值基于分布式计算框架分布到各实例中。
在本实施例的一种备选方案中,所述比对模块202根据如下方式判断第一比较对象的非第一类比较项与所述第二比较对象的对应非第一类比较项之间的差异是否满足预设条件:
对所述第一比较对象的任一非第一类比较项,获取其与所述第二比较对象的对应非第一类比较项的差值,或者,获取所述差值与当前比较的非第一类比较项的比值;判断所述差值或所述比值是否小于预设阈值,如果小于,则所述第一比较对象和第二比较对象当前比较的非第一类比较项满足所述预设条件。
在本实施例的一种备选方案中,所述第一类比较项包括数据类型为字符串的比较项,和/或,数据类型为整型的比较项;所述非第一类比较项包括数据类型为浮点数的比较项。
本申请包括如下优点:
1、基于云计算分布式平台,可以实现在大数据背景下的高效、快速数据比对。
2、对数据精度可灵活调整(精准或模糊)。
当然,实施本申请的任一产品并不一定需要同时达到以上所述的所有优点。
本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本申请不限制于任何特定形式的硬件和软件的结合。
Claims (14)
1.一种数据比对方法,其特征在于,包括:
确定待比对的第一数据集和第二数据集,且所述第一数据集和第二数据集中的每个比较对象包括一个或多个比较项;
确定所述比较项的类型,所述类型至少包括:第一类比较项和非第一类比较项;
对所述第一数据集中的比较对象和第二数据集中的比较对象进行比对,其中,如果所述第一数据集中的第一比较对象的第一类比较项和所述第二数据集中的第二比较对象中的对应第一类比较项相同,且所述第一比较对象的非第一类比较项与所述第二比较对象的对应非第一类比较项之间的差异满足预设条件,则判断所述第一比较对象和所述第二比较对象一致。
2.如权利要求1所述的方法,其特征在于,所述对所述第一数据集中的比较对象和第二数据集中的比较对象进行比对包括:
提取每个比较对象的第一类比较项,作为该比较对象的键值;
将所述第一数据集中的比较对象按所述键值进行分组,将所述第二数据集中的比较对象按所述键值进行分组;其中,同一组中的比较对象其键值相同;
根据分组将所述第一数据集和第二数据集中的比较对象进行比较,且相互比较的两组中的比较对象的键值相同。
3.如权利要求2所述的方法,其特征在于,所述根据分组将所述第一数据集和第二数据集中的比较对象进行比较包括:
根据所述分组从所述第一数据集中获取第一组,从所述第二数据集中获取第二组,且所述第一组中的各比较对象的键值与所述第二组中的各比较对象的键值相同;
将所述第一组中的各比较对象的非第一类比较项和所述第二组中对应非第一类比较项进行比较;
如果所述第一组中的所有非第一类比较项与所述第二组中的对应非第一类比较项满足所述预设条件,且所述第一组和所述第二组中的比较对象的数目相同,则所述第一组和所述第二组一致,否则,报告两组差异。
4.如权利要求3所述的方法,其特征在于,
所述将所述第一组中的各比较对象的非第一类比较项和所述第二组中对应非第一类比较项进行比较前,还包括:
将所述第一组中的各比较对象除所述键值外的比较项进行排序,将所述第二组中的各比较对象除所述键值外的比较项进行排序。
5.如权利要求2至4任一所述的方法,其特征在于,所述方法还包括:对所述第一数据集和第二数据集中的比较对象进行比对前还包括:将所述第一数据集中的比较对象和所述第二数据集中的比较对象根据所述键值基于分布式计算框架分布到各实例中。
6.如权利要求1至4任一所述的方法,其特征在于,所述第一比较对象的非第一类比较项与所述第二比较对象的对应非第一类比较项之间的差异满足预设条件包括:
对所述第一比较对象的任一非第一类比较项,获取其与所述第二比较对象的对应非第一类比较项的差值,或者,获取所述差值与当前比较的非第一类比较项的比值;
判断所述差值或所述比值是否小于预设阈值,如果小于,则所述第一比较对象和第二比较对象当前比较的非第一类比较项满足所述预设条件。
7.如权利要求1至4任一所述的方法,其特征在于,所述第一类比较项包括数据类型为字符串的比较项,和/或,数据类型为整型的比较项;所述非第一类比较项包括数据类型为浮点数的比较项。
8.一种数据比对装置,其特征在于,包括:
数据集配置模块,用于确定待比对的第一数据集和第二数据集,且所述第一数据集和第二数据集中的每个比较对象包括一个或多个比较项;以及,确定所述比较项的类型,所述类型至少包括:第一类比较项和非第一类比较项;
比对模块,用于对所述第一数据集中的比较对象和第二数据集中的比较对象进行比对,其中,如果所述第一数据集中的第一比较对象的第一类比较项和所述第二数据集中的第二比较对象中的对应第一类比较项相同,且所述第一比较对象的非第一类比较项与所述第二比较对象的对应非第一类比较项之间的差异满足预设条件,则判断所述第一比较对象和所述第二比较对象一致。
9.如权利要求8所述的装置,其特征在于,所述比对模块包括:
键值提取单元,用于提取每个比较对象的第一类比较项,作为该比较对象的键值;
分组单元,用于将所述第一数据集中的比较对象按所述键值进行分组,将所述第二数据集中的比较对象按所述键值进行分组;其中,同一组中的比较对象其键值相同;
比对单元,用于根据分组将所述第一数据集和第二数据集中的比较对象进行比较,且相互比较的两组中的比较对象的键值相同。
10.如权利要求9所述的装置,其特征在于,所述比对单元根据分组将所述第一数据集和第二数据集中的比较对象进行比较包括:根据所述分组从所述第一数据集中获取第一组,从所述第二数据集中获取第二组,且所述第一组中的各比较对象的键值与所述第二组中的各比较对象的键值相同;将所述第一组中的各比较对象的非第一类比较项和所述第二组中对应非第一类比较项进行比较;如果所述第一组中的所有非第一类比较项与所述第二组中的对应非第一类比较项满足所述预设条件,且所述第一组和所述第二组中的比较对象的数目相同,则所述第一组和所述第二组一致,否则,报告两组差异。
11.如权利要求10所述的装置,其特征在于,所述比对单元还用于,将所述第一组中的各比较对象的非第一类比较项和所述第二组中对应非第一类比较项进行比较前,将所述第一组中的各比较对象除所述键值外的比较项进行排序,将所述第二组中的各比较对象除所述键值外的比较项进行排序。
12.如权利要求9至11任一所述的装置,其特征在于,所述比对模块还包括分发模块,用于将所述第一数据集中的比较对象和所述第二数据集中的比较对象根据所述键值基于分布式计算框架分布到各实例中。
13.如权利要求8至11任一所述的装置,其特征在于,所述比对模块根据如下方式判断第一比较对象的非第一类比较项与所述第二比较对象的对应非第一类比较项之间的差异是否满足预设条件:
对所述第一比较对象的任一非第一类比较项,获取其与所述第二比较对象的对应非第一类比较项的差值,或者,获取所述差值与当前比较的非第一类比较项的比值;判断所述差值或所述比值是否小于预设阈值,如果小于,则所述第一比较对象和第二比较对象当前比较的非第一类比较项满足所述预设条件。
14.如权利要求8至11任一所述的装置,其特征在于,所述第一类比较项包括数据类型为字符串的比较项,和/或,数据类型为整型的比较项;所述非第一类比较项包括数据类型为浮点数的比较项。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310224623.2A CN104239301B (zh) | 2013-06-06 | 2013-06-06 | 一种数据比对方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310224623.2A CN104239301B (zh) | 2013-06-06 | 2013-06-06 | 一种数据比对方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104239301A true CN104239301A (zh) | 2014-12-24 |
CN104239301B CN104239301B (zh) | 2018-02-13 |
Family
ID=52227395
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310224623.2A Active CN104239301B (zh) | 2013-06-06 | 2013-06-06 | 一种数据比对方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104239301B (zh) |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104572921A (zh) * | 2014-12-27 | 2015-04-29 | 北京奇虎科技有限公司 | 一种跨数据中心的数据同步方法和装置 |
CN104778179A (zh) * | 2014-01-14 | 2015-07-15 | 阿里巴巴集团控股有限公司 | 一种数据迁移测试方法和*** |
CN105677645A (zh) * | 2014-11-17 | 2016-06-15 | 阿里巴巴集团控股有限公司 | 一种数据表比对方法和装置 |
CN105989089A (zh) * | 2015-02-12 | 2016-10-05 | 阿里巴巴集团控股有限公司 | 一种数据对比方法及装置 |
CN105988889A (zh) * | 2015-02-11 | 2016-10-05 | 阿里巴巴集团控股有限公司 | 一种数据校验方法及装置 |
CN106202134A (zh) * | 2015-05-30 | 2016-12-07 | 中国石油化工股份有限公司 | 数据重复性检查方法 |
CN106372668A (zh) * | 2016-08-31 | 2017-02-01 | 新浪网技术(中国)有限公司 | 一种数据匹配方法及装置 |
CN107291672A (zh) * | 2016-03-31 | 2017-10-24 | 阿里巴巴集团控股有限公司 | 数据表的处理方法和装置 |
CN108228560A (zh) * | 2016-12-22 | 2018-06-29 | 北京国双科技有限公司 | 一种数据类型的确定方法及装置 |
CN108399151A (zh) * | 2017-02-06 | 2018-08-14 | 百度在线网络技术(北京)有限公司 | 数据比对***和方法 |
CN108681559A (zh) * | 2018-04-11 | 2018-10-19 | 广东电网有限责任公司 | 一种基于多***数据应用的比对方法及*** |
CN109783697A (zh) * | 2018-12-14 | 2019-05-21 | 北京海数宝科技有限公司 | 数据处理方法、装置、计算机设备和存储介质 |
CN111563073A (zh) * | 2020-04-20 | 2020-08-21 | 杭州市质量技术监督检测院 | Nqi信息共享的方法、平台、服务器及可读存储介质 |
CN112711683A (zh) * | 2021-02-25 | 2021-04-27 | 浙江口碑网络技术有限公司 | 数据比对方法、装置及计算机设备 |
CN112905602A (zh) * | 2021-03-26 | 2021-06-04 | 掌阅科技股份有限公司 | 数据比对方法、计算设备及计算机存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1472917A (zh) * | 2002-07-30 | 2004-02-04 | 上海阿尔卡特网络支援***有限公司 | 程控交换机数据库对比*** |
CN101887436A (zh) * | 2009-05-12 | 2010-11-17 | 阿里巴巴集团控股有限公司 | 一种检索方法、装置和*** |
US20110238621A1 (en) * | 2010-03-29 | 2011-09-29 | Commvault Systems, Inc. | Systems and methods for selective data replication |
CN102411588A (zh) * | 2010-09-26 | 2012-04-11 | 金蝶软件(中国)有限公司 | 数据表的对比检验方法及*** |
CN102831127A (zh) * | 2011-06-17 | 2012-12-19 | 阿里巴巴集团控股有限公司 | 重复数据处理方法、装置及*** |
CN102880650A (zh) * | 2012-08-27 | 2013-01-16 | 中国工商银行股份有限公司 | 一种数据匹配方法及装置 |
US20130311498A1 (en) * | 2012-05-05 | 2013-11-21 | Blackbaud, Inc. | Systems, methods, and computer program products for data integration and data mapping |
-
2013
- 2013-06-06 CN CN201310224623.2A patent/CN104239301B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1472917A (zh) * | 2002-07-30 | 2004-02-04 | 上海阿尔卡特网络支援***有限公司 | 程控交换机数据库对比*** |
CN101887436A (zh) * | 2009-05-12 | 2010-11-17 | 阿里巴巴集团控股有限公司 | 一种检索方法、装置和*** |
US20110238621A1 (en) * | 2010-03-29 | 2011-09-29 | Commvault Systems, Inc. | Systems and methods for selective data replication |
CN102411588A (zh) * | 2010-09-26 | 2012-04-11 | 金蝶软件(中国)有限公司 | 数据表的对比检验方法及*** |
CN102831127A (zh) * | 2011-06-17 | 2012-12-19 | 阿里巴巴集团控股有限公司 | 重复数据处理方法、装置及*** |
US20130311498A1 (en) * | 2012-05-05 | 2013-11-21 | Blackbaud, Inc. | Systems, methods, and computer program products for data integration and data mapping |
CN102880650A (zh) * | 2012-08-27 | 2013-01-16 | 中国工商银行股份有限公司 | 一种数据匹配方法及装置 |
Cited By (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104778179A (zh) * | 2014-01-14 | 2015-07-15 | 阿里巴巴集团控股有限公司 | 一种数据迁移测试方法和*** |
CN104778179B (zh) * | 2014-01-14 | 2019-05-28 | 阿里巴巴集团控股有限公司 | 一种数据迁移测试方法和*** |
CN105677645B (zh) * | 2014-11-17 | 2018-12-21 | 阿里巴巴集团控股有限公司 | 一种数据表比对方法和装置 |
CN105677645A (zh) * | 2014-11-17 | 2016-06-15 | 阿里巴巴集团控股有限公司 | 一种数据表比对方法和装置 |
CN104572921A (zh) * | 2014-12-27 | 2015-04-29 | 北京奇虎科技有限公司 | 一种跨数据中心的数据同步方法和装置 |
CN104572921B (zh) * | 2014-12-27 | 2017-12-19 | 北京奇虎科技有限公司 | 一种跨数据中心的数据同步方法和装置 |
CN105988889A (zh) * | 2015-02-11 | 2016-10-05 | 阿里巴巴集团控股有限公司 | 一种数据校验方法及装置 |
CN105988889B (zh) * | 2015-02-11 | 2019-06-14 | 阿里巴巴集团控股有限公司 | 一种数据校验方法及装置 |
CN105989089A (zh) * | 2015-02-12 | 2016-10-05 | 阿里巴巴集团控股有限公司 | 一种数据对比方法及装置 |
CN106202134A (zh) * | 2015-05-30 | 2016-12-07 | 中国石油化工股份有限公司 | 数据重复性检查方法 |
CN107291672A (zh) * | 2016-03-31 | 2017-10-24 | 阿里巴巴集团控股有限公司 | 数据表的处理方法和装置 |
CN106372668A (zh) * | 2016-08-31 | 2017-02-01 | 新浪网技术(中国)有限公司 | 一种数据匹配方法及装置 |
CN108228560A (zh) * | 2016-12-22 | 2018-06-29 | 北京国双科技有限公司 | 一种数据类型的确定方法及装置 |
CN108399151A (zh) * | 2017-02-06 | 2018-08-14 | 百度在线网络技术(北京)有限公司 | 数据比对***和方法 |
CN108399151B (zh) * | 2017-02-06 | 2022-02-15 | 百度在线网络技术(北京)有限公司 | 数据比对***和方法 |
CN108681559A (zh) * | 2018-04-11 | 2018-10-19 | 广东电网有限责任公司 | 一种基于多***数据应用的比对方法及*** |
CN108681559B (zh) * | 2018-04-11 | 2020-09-25 | 广东电网有限责任公司 | 一种基于多***数据应用的比对方法及*** |
CN109783697A (zh) * | 2018-12-14 | 2019-05-21 | 北京海数宝科技有限公司 | 数据处理方法、装置、计算机设备和存储介质 |
CN109783697B (zh) * | 2018-12-14 | 2021-04-27 | 北京海数宝科技有限公司 | 数据处理方法、装置、计算机设备和存储介质 |
CN111563073A (zh) * | 2020-04-20 | 2020-08-21 | 杭州市质量技术监督检测院 | Nqi信息共享的方法、平台、服务器及可读存储介质 |
CN112711683A (zh) * | 2021-02-25 | 2021-04-27 | 浙江口碑网络技术有限公司 | 数据比对方法、装置及计算机设备 |
CN112905602A (zh) * | 2021-03-26 | 2021-06-04 | 掌阅科技股份有限公司 | 数据比对方法、计算设备及计算机存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN104239301B (zh) | 2018-02-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104239301A (zh) | 一种数据比对方法和装置 | |
US9442979B2 (en) | Data analysis using multiple systems | |
CN107807982B (zh) | 一种异构数据库的一致性校验方法及装置 | |
US10402427B2 (en) | System and method for analyzing result of clustering massive data | |
KR100996443B1 (ko) | 고집적인덱스 데이터베이스 및 쿼리 데이터의 검색과 연산기능 분할에 의한 그래픽 프로세서 기반 병렬분산 처리 시스템 및 방법 | |
US8943091B2 (en) | System, method, and computer program product for performing a string search | |
CN103793424A (zh) | 数据库数据迁移方法及*** | |
CN102708183B (zh) | 数据压缩的方法和装置 | |
CN102665231B (zh) | 一种lte***自动生成参数配置文件的方法 | |
CN108446315B (zh) | 大数据迁移方法、装置、设备及存储介质 | |
EP3435256A3 (en) | Optimal sort key compression and index rebuilding | |
CN108874297A (zh) | 合并文件的方法、存储装置、存储设备和存储介质 | |
CN110020333A (zh) | 数据分析方法及装置、电子设备、存储介质 | |
CN104506636B (zh) | 一种数据同步方法及装置 | |
CN112148713B (zh) | 异构数据库之间数据迁移方法及装置 | |
CN116578558A (zh) | 一种数据处理方法、装置、设备及存储介质 | |
CN111274275B (zh) | 数据处理方法、装置和计算机可读存储介质 | |
CN107657050A (zh) | 一种基于“用归并算法计算一对一join、一对多join”的对位分段并行方法 | |
CN104700435A (zh) | 一种利用oasis图形阵列压缩版图数据的方法 | |
CN106980673A (zh) | 内存数据库表索引更新方法及*** | |
CN115421965A (zh) | 一致性校验方法、装置、电子设备及存储介质 | |
CN105808577A (zh) | 一种基于HBase数据库的数据批量入库的方法和装置 | |
CN112328641B (zh) | 多维度数据聚合方法、装置及计算机设备 | |
CN103970792A (zh) | 一种基于索引进行文件比对的方法和装置 | |
CN103678545A (zh) | 进行网络资源聚类的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20191210 Address after: P.O. Box 31119, grand exhibition hall, hibiscus street, 802 West Bay Road, Grand Cayman, Cayman Islands Patentee after: Innovative advanced technology Co., Ltd Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands Patentee before: Alibaba Group Holding Co., Ltd. |
|
TR01 | Transfer of patent right |