CN104756107B - 采用位置信息剖析数据 - Google Patents
采用位置信息剖析数据 Download PDFInfo
- Publication number
- CN104756107B CN104756107B CN201380055340.8A CN201380055340A CN104756107B CN 104756107 B CN104756107 B CN 104756107B CN 201380055340 A CN201380055340 A CN 201380055340A CN 104756107 B CN104756107 B CN 104756107B
- Authority
- CN
- China
- Prior art keywords
- group
- value
- field
- special datum
- record
- 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.)
- Active
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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
-
- 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/2453—Query optimisation
- G06F16/24534—Query rewriting; Transformation
- G06F16/24542—Plan optimisation
- G06F16/24544—Join order optimisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
-
- 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/21—Design, administration or maintenance of databases
- G06F16/215—Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
-
- 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/23—Updating
- G06F16/2365—Ensuring data consistency and integrity
-
- 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
-
- 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/25—Integrating or interfacing systems involving database management systems
- G06F16/258—Data format conversion from or to a database
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Quality & Reliability (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Computer Security & Cryptography (AREA)
- Operations Research (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
剖析数据包括处理被访问的记录集合(203),包括:对在第一组一个或多个字段上出现的第一组特异值,产生相应的位置信息;对第一组字段,产生相应的条目列表(209),其从第一组特异值中识别一个特异值以及该特异值的位置信息;对第二组一个或多个字段,产生相应的条目列表(209),每个条目从出现在第二组字段的第二组特异值中识别一个特异值;和至少部分基于下述产生结果信息(240):采用出现在第一组字段的至少一个值的位置信息对集合中的至少一个记录进行定位,确定在该被定位记录的第二组字段中所出现的至少一个值。
Description
相关申请的交叉引用
本申请要求享有2012年10月22日提交的美国申请号61/716,766的优先权,该申请通过引用合并于此。
背景技术
本说明书涉及采用位置信息剖析(profile)数据。
存储的数据集经常包括各种特性未知的数据。数据集中的数据可以被组织为具有用于不同字段也称为“属性”或“列”)的值的记录。字段内的值可以包括字符串、数字或根据该字段的相关数据格式信息而编码或格式化而成的任何数据(包括可能无效的值)。在一些情况下,用于字段的数据格式信息是已知的,但是在该字段中显现的真实值可能不是已知的。例如,数据集内记录间字段的值范围或典型值、数据集内记录的不同字段之间的关系、或不同字段中的值的依赖性(dependency)可能是未知的。数据剖析涉及检查数据集的来源,从而确定所述特性。
发明内容
在一个方案中,通常,对存储在至少一个数据存储***中的数据进行剖析的方法包括:经与数据存储***连接的接口上,访问存储在数据存储***中的至少一个记录集合;对所述记录集合(collection)进行处理,以产生结果信息,所述结果信息表征所述记录集合的一个或多个特定字段中所出现的值。所述处理包括:对出现在集合中记录的第一组一个或多个字段上的第一组特异值(distinct values),产生相应的位置信息,所述位置信息针对第一组特异值中的每个特异值识别出现该特异值的所有每条记录,对所述第一组一个或多个字段,产生相应的条目(entry)列表,每个条目从第一组特异值中识别一个特异值以及该特异值的位置信息,对不同于所述第一组一个或多个字段的、集合中记录的第二组一个或多个字段,产生相应的条目列表,每个条目从所述第二组一个或多个字段中所出现的第二组特异值中确定一个特异值;以及至少部分基于下述产生表征出现在所述记录集合的一个或多个特定字段中的值的结果信息:采用出现在所述第一组一个或多个字段的至少一个值的位置信息对所述记录集合中的至少一个记录进行定位,确定在该被定位记录的所述第二组一个或多个字段上所出现的至少一个值。
这些方案可以包括以下特征。
每个条目进一步识别对在一组一个或多个字段中出现特异值的记录的数量的计数。
所述处理进一步包括通过所识别的计数,对在每个列表中的条目进行分类(sort)。
所述处理进一步包括:对于所述第二组特异值,产生相应的位置信息,所述位置信息针对第二组特异值中的每个特异值识别出现该特异值的所有每条记录。其中,对于对应于所述第二组一个或多个字段的列表,从所述第二组特异值中识别出一个特异值的每个条目包括该特异值的位置信息。
所述处理进一步包括:对于一组特异值对,产生相应的位置信息,其中其中每对值中的第一值出现在所述记录的所述第一组一个或多个字段中,每对值中的第二值出现在所述记录的所述第二组一个或多个字段中,所述位置信息对于每个特异值对识别出现该特异值对的所有每条记录。
从该组特异值对中产生特异值对的位置信息包括:确定来自所述第一组特异值的第一特异值的位置信息与来自所述第二组特异值的第二特异值的位置信息之间的交集。
确定所述交集包括:采用所述第一特异值的位置信息以定位所述集合中的记录,使用该被定位的记录来确定所述第二特异值。
该方法进一步包括:根据在每个列表的条目中所识别的特异值数量对一组多个列表进行分类,该一组多个列表包括对应于所述第一组一个或多个字段的列表和对应于所述第二组一个或多个字段的列表。
所述处理进一步包括:对于一组特异值对,产生相应的位置信息,其中每对值中的第一值出现在所述记录的所述第一组一个或多个字段中,以及每对值中的第二值出现在所述记录的第二组一个或多个字段中,所述第二组一个或多个字段不同于所述第一组一个或多个字段,所述位置信息对于每个特异值对识别出现该特异值对的所有每条记录;以及对于该组特异值对,产生相应的条目列表,其中每个条目从该组特异值对中识别一特异值对和该特异值对的位置信息。
所述位置信息识别用于出现该特异值的所有每条记录的唯一索引值。
所述位置信息通过存储特定的唯一索引值来识别该特定的唯一索引值。
所述位置信息通过对所述位置信息内的唯一索引值进行编码来识别该唯一索引值。
所述对唯一索引值进行编码包括在对应于该唯一索引值的矢量内的一位置处存储一个位。
所述集合包括第一记录子集和第二记录子集,该第一记录子集具有包括所述第一组一个或多个字段的字段,该第二记录子集具有包括所述第二组一个或多个字段的字段。
所述处理进一步包括生成在以下之间提供映射的信息:1)所述第一记录子集的字段索引值,其将唯一索引值与第一子集中的所有每条记录关联在一起;与2)所述第二记录子集的一个字段的键值,其将键值与所述第二子集值中的所有每条记录关联在一起;其中所述键值将所述第二子集中的记录与所述第一子集中的记录联系起来。
所述位置信息识别出现特异值的所有每条记录的唯一索引值。
在另一方案中,一种计算机程序,存储在计算机可读介质中,用于对存储在至少一个数据存储***中的数据进行剖析,该计算机程序包括使计算***进行以下的指令:经与该数据存储***连接的接口,访问存储在该数据存储***中的至少一个记录集合;和对所述记录集合进行处理,以产生结果信息,所述结果信息表征所述记录集合的一个或多个特定字段中所出现的值。所述处理包括:对出现在集合中记录的第一组一个或多个字段上的第一组特异值,产生相应的位置信息,所述位置信息针对第一组特异值中的每个特异值识别出现该特异值的所有每条记录,对所述第一组一个或多个字段,产生相应的条目列表,每个条目从第一组特异值中识别一个特异值以及该特异值的位置信息,对不同于所述第一组一个或多个字段的、集合中记录的第二组一个或多个字段,产生相应的条目列表,每个条目从所述第二组一个或多个字段中所出现的第二组特异值中确定一个特异值,和至少部分基于下述,产生表征出现在所述记录集合的一个或多个特定字段中的值的结果信息:采用出现在所述第一组一个或多个字段的至少一个值的位置信息对所述记录集合中的至少一个记录进行定位,确定在该被定位记录的所述第二组一个或多个字段上所出现的至少一个值。
在另一方案中,一种计算***,用于对存储在至少一个数据存储***中的数据进行剖析,该计算***包括:与该数据存储***连接的接口,其用于访问存储在该数据存储***中的至少一个记录集合;和至少一个处理器,用于处理该记录集合,以产生结果信息,所述结果信息表征所述记录集合的一个或多个特定字段中所出现的值。所述处理包括:对出现在集合中记录的第一组一个或多个字段上的第一组特异值,产生相应的位置信息,所述位置信息针对第一组特异值中的每个特异值识别出现该特异值的所有每条记录,对所述第一组一个或多个字段,产生相应的条目列表,每个条目从第一组特异值中识别一个特异值以及该特异值的位置信息,对不同于所述第一组一个或多个字段的、集合中记录的第二组一个或多个字段,产生相应的条目列表,每个条目从所述第二组一个或多个字段中所出现的第二组特异值中确定一个特异值,以及至少部分基于下述,产生表征出现在所述记录集合的一个或多个特定字段中的值的结果信息:采用出现在所述第一组一个或多个字段的至少一个值的位置信息对所述记录集合中的至少一个记录进行定位,确定在该被定位记录的所述第二组一个或多个字段上所出现的至少一个值。
在另一方案中,一种计算***,对存储在至少一个数据存储***中的数据进行剖析,该计算***包括:访问存储在该数据存储***中的至少一个记录集合的装置;以及,处理记录集合的装置,以产生结果信息,所述结果信息表征所述记录集合的一个或多个特定字段中所出现的值。所述处理包括:对出现在集合中记录的第一组一个或多个字段上的第一组特异值,产生相应的位置信息,所述位置信息针对第一组特异值中的每个特异值识别出现该特异值的所有每条记录,对所述第一组一个或多个字段,产生相应的条目列表,每个条目从第一组特异值中识别一个特异值以及该特异值的位置信息,对不同于所述第一组一个或多个字段的、集合中记录的第二组一个或多个字段,产生相应的条目列表,每个条目从所述第二组一个或多个字段中所出现的第二组特异值中确定一个特异值,以及至少部分基于下述,产生表征出现在所述记录集合的一个或多个特定字段中的值的结果信息:采用出现在所述第一组一个或多个字段的至少一个值的位置信息对所述记录集合中的至少一个记录进行定位,确定在该被定位记录的所述第二组一个或多个字段上所出现的至少一个值。
在另一方案中,对存储在至少一个数据存储***中的数据进行剖析的方法、计算机可读介质和***,包括:经与数据存储***连接的接口,访问存储在数据存储***中的至少一个记录集合;对记录集合进行处理,从而产生结果信息,其表征在记录集合的一个或多个特定字段中出现的值。所述处理包括:对于第一组两个或多个字段的第一组特异值,产生对应的条目列表,每个条目确定在集合内记录的第一组两个或多个字段中所出现的值的特异值组合,以及该特异值组合的剖析信息;以及至少部分基于下述产生结果信息,该结果信息表征该记录集合的一个或多个特定字段所出现的值:对第一组两个或多个字段中出现的至少两个特异值组合,从条目列表中组合剖析信息,并基于经组合的剖析信息,对出现在至少一个或多个特定字段的至少一个值确定剖析信息。
这些方案可以包括一个或多个下述优点。
一些数据剖析程序通过对数据集记录的一个域内的特异值的统计(census)进行编译,来计算数据集的数据质量的量度(measure),其中“域”包括一个或多个字段、字段的组合、数据集记录的字段片段。当对某域的统计进行编译时,统计数据被存储,其列举该域的特异值组,并包括为具有每个特异值的记录的数量计数。例如,统计数据可被设置为一个针对选定域的值计数条目列表,每个值计数条目包括出现在选定域内的特异值,以及该特异值出现在选定域中的记录次数。在一些实施方式中,每个字段为独立的域。在一些实施方式中,统计数据以单个数据集存储,可选地,通过字段进行索引从而可以快速随机访问,而在其他实施方式中,统计数据可以以多个数据集存储,例如一个字段一个。
数据质量的量度可以包括特异值的数量和分布,根据特定验证规则的有效或无效值的数量和分布、另一组一个或多个字段的值被保持为固定时一组一个或多个字段的值的数量和分布(也称为“分段”),以及两个或多个字段值之间的相关性(也称为“函数依赖”)。每次计算特定量度时,通过对数据集中的数据进行处理,可以采用适当的统计。然而,在一些情况下,例如当计算组合字段的数据质量量度时,并不要求对全部数据进行字次处理,而是采用存储的已经对单个字段进行计算的统计数据对字段组合进行计算。
在一些实施方式中,选定域的统计数据包括位置信息,其针对统计数据中的每个特异值,确定其中的该特异值出现在选定域中的每个记录。仅仅对全部数据计算一次位置信息。可以直接从现存的具有位置信息的统计数据对涉及字段组合的数据质量量度(尤其是,涉及包含多个字段的分段、相关性、或验证规则的量度)进行随后的评价,而不需要返回至存储数据集记录的源从而计算新的统计数据。这使计算其它的数据质量量度高效地多。另外,具有位置信息的统计数据可用于向下钻取数据质量结果,即返回与数据质量结果相关的底层(underlying)数据记录,例如无效记录或主键字段的重复记录。如果不同数据集的域被剖析,可以采用索引地图,以避免为了关联不同数据集的记录而需要进行联合运算。
根据下述描述和权利要求,本发明的其他特点和优势将显而易见。
附图说明
图1是用于剖析数据的***的框图。
图2A为数据剖析程序的操作和数据的示意图;
图2B为数据剖析程序的流程图;
图3为供函数依赖结果而产生的数据的示意图
图4为组合统计程序的流程图;
图5为供组合统计而产生的数据的示意图;
图6A为确定函数依赖的程序的流程图;
图6B为具有函数依赖信息的组合统计的示例;
图7为边缘下钻程序的示意图;
图8A为索引地图数据的示意图;
图8B为函数依赖结果数据的示意图;
图9为节点下钻程序的示意图;
图10为分段统计和分段组合统计的数据示意图;
图11为用于分段立方体(segment data)的数据的示意图。
具体实施方式
图1示出示例性数据处理***100,其中可以使用数据剖析技术。***100包括数据源102,数据源102可以包括诸如存储装置或连接至在线数据流的一个或多个数据源,其每个可以以任意多种存储格式(例如,数据库表、电子数据表文件、纯文本文件、或主机所使用的本机格式)来存储数据。执行环境104包括剖析模块106和处理模块108。所述执行环境104可能被托管在受合适的操作***(诸如UNIX操作***)控制的一个或多个通用计算机上。例如,所述执行环境104可包括多节点并行计算机***,该多节点并行计算机***包括使用多个中央处理器(CPU)的计算机***的配置,所述中央处理器可以是本地CPU(例如多处理器***,如SMP计算机)、或本地分布式CPU(例如多个处理器耦合为集群或MPP处理器)、或远程CPU、或远程分布式CPU(例如通过局域网(LAN)或广域网(WAN)来耦合的多个处理器)、或其组合。
剖析模块106从数据源102读取数据并且将剖析概要信息存储在由剖析模块106和处理模块108可访问的剖析数据存储110中。例如,剖析数据存储110可以被保存在数据源102的存储装置内,或者被保存在由执行环境104内可访问的单独的数据存储***中。基于剖析概要信息,处理模块108能够对数据源102中的数据执行多种处理任务,包括清理数据、下载数据至另一个***、或者管理对存储在数据源102中对象的访问。提供数据源102的存储装置对执行环境104而言可以是本地的,例如,被存储在连接至运行所述执行环境104的计算机的存储介质(例如,硬盘驱动器112)中、或者可以对执行环境104而言是远程的,例如,被托管在通过远程连接或服务(例如,由云计算基础设施提供)与运行所述执行环境104的计算机进行通信的远程***(例如,主机114)上。
剖析模块106能够读取存储在数据源102内的数据,并有效地进行各种类型的分析,包括例如基于函数依赖或分段而进行有利于计算数据质量量度的分析。在一些实施方式中,所述分析包括针对存储在数据源102中的数据集记录的每个独立字段产生统计数据,将该统计数据存储在剖析数据存储器110内。如上所述,特定数据集内记录的特定域的统计数据不仅包括用于出现在该域中的每个特异值的条目,还可以包括位置信息,其用于识别出现特异值的特定数据集中的记录的各个位置(例如,就记录索引值而言)。在一个实施方式中,在对关联值产生统计条目的过程中,矢量被赋予具有关联值的每个记录的唯一记录标识。如果数据集的原始数据内的记录不具有唯一的记录标识,可以产生所述记录标识,并作为剖析程序的一部分将其添加至记录中,例如对所有每条记录赋予一连续数字序列。之后,该位置信息可以包括在统计条目内,可用于生成其他的组合统计数据,以计算函数依赖或分段,如下所详述的。
还可以是其他的存储位置信息的实施方式,其中一些在性能和/或减少存储空间方面具有优势。例如,可以采用位矢量,而不采用记录标识的矢量。位矢量的每个位对应于特定的记录标识,如果具有对应记录标识的相关记录具有关联值,则设定一位。位矢量的位和记录标识之间的对应性可以是明确或者暗含的。例如,可以为明确的映射,其不一定是一对一的,其将位数字与对应的记录标识关联起来,或者可以为暗含的映射,其中每个位数字的位置对应于记录位置的顺序。在一些实施方式中,所得到的位矢量被压缩,以进一步节省存储。
位置信息还可以存储在位矢量的矢量内。例如,位矢量的每个位可能通过存储在交叉引用文件中的位位置与记录标识之间的映射而对应于相关的记录标识。位矢量的矢量内的位矢量条目的矢量索引可以用于隐含地对补充信息进行编码,该补充信息例如出现该值的字段或数据分块(例如当在多个数据分块内并行处理统计数据时)内的词的数量。明确的补充信息可以在另外的与位矢量相关或与位矢量的矢量内位矢量条目相关的字段中指定。该补充信息可以用于区分含有供之后使用的值的记录集。
图2A的例子描述了,在数据剖析过程中剖析模块106在来自数据源102的一个或多个数据集上执行的操作,以及在该过程中接收和产生的数据。图2B为该过程的流程图。参照图2A和2B,剖析模块106执行索引操作200,以确保每个将被剖析的数据集201中的每条记录具有索引值,其为可以通过即将生成的位置信息而被引用的每条记录提供了明确的位置。例如,特定数据集的索引值可以为基于表的行数、定界文件内的位置、存储地址、主键值、或记录的其他任意唯一属性而分配给每个记录的不断增加的整数(例如,从1开始,每次增加1)。分配的索引值可以明确地添加至每条记录,以提供索引数据集203,例如将该值作为每条记录的字段添加至数据源102的原始数据集内,或者在数据源102或剖析数据存储器110中存储为新的数据集。对于原始数据集已经包括可以作为索引的字段的情况,索引操作200可以被跳过去,或者仅被执行为用于验证该字段作为索引的能力。索引操作200可以包括产生索引地图,其为一个数据集的索引与另一数据集的索引之间提供了对应关系,如下所详述的。
剖析模块106进行统计操作205,其对每个选定域集计算具有位置信息的统计数据。在该示例中,每个域为单个字段。这样,在该示例中,统计操作205的结果为多个统计数据集207,其每一个是针对特定数据集的特定字段。每个数据集可以具有已经被指定用于剖析的一组字段,或者默认为每个数据集的所有字段都可以进行剖析。在其他例子中,域可以为字段的片段,或者多个字段或字段片段的组合。特定域的每个统计数据集(也称为“统计”)含有条目列表,包括域内出现的特异值、特定值出现的记录的数量的计数,特定值出现的相关位置信息。在一些实施方式中,该计数没有明确地包括在统计中,其原因在于,需要时其可以从位置信息中推导出(例如对出现该值的记录进行定位的位矢量中位数字的和可以产生该值出现的记录的数量)。在一些实施方式中,剖析模块106累积额外的信息,从而增加位置信息,例如证明或表征域内值的位置的信息。
剖析模块106接收指定想要的多域数据剖析结果的输入(例如用户输入),可以在产生统计数据集207之后的一段较长时间内接收该输入。该输入还指定(明确或隐含)在计算中所涉及的多个域。为了计算多域数据剖析结果,剖析模块106针对特定域的各个字段选择统计集合209。一个类型的多域数据剖析结果是“组合统计”,其指定了在同一记录(即位于相同索引处)的各个字段中出现的唯一元组(tuple)值。其他类型的多域数据剖析结果包括函数依赖结果或分段结果,其每一个从组合统计的计算开始,如下所更详细描述的。
可选地,剖析模块106可以对集合209进行分类(sort),从而统计和每个统计内的统计条目处于这样的顺序,该顺序使得当前或以后的多域数据剖析结果的计算更加有效。在该示例中,每个统计被分类(210),从而通过发生的次数,条目降序排列,因此,最常用的值排在第一。另外,在一些实施方式中,条目可以通过位置信息进行进一步(次分类)分类,比在数据集中具有相同发生次数的另一值较早首次出现的值在分类统计中更早出现。这使得统计值具有很明确的排序,其原因是,对于两个不同的值,一个值的首次出现(即最小的记录索引)必须不同于另一值的首次出现。还可以通过每个统计中特异值的数量对统计集合209进行分类(220),并通过最常用值的计数以降序进行进一步分类。该分类产生了经分类的分类统计集合225,其中较短的统计(在特异值的数量方面)出现地更早,对于具有相同数量的特异值的两个统计,其最常见值具有较大计数的那个统计出现地越早。对于对应于函数依赖的多个域数据分类结果,更可能的是,特异值出现次数相对低的字段之间为函数依赖。当特异值的次数增加时,该字段更可能代表一唯一属性,例如主键,或相同值出现次数较低的属性,其有可能与其他值虚假相关。通过将较短统计排序在较长统计之前,更可能与函数依赖分析相关的字段将很快被处理。在一些情况下,甚至可以识别暂停条件,此时可以计算结果,而不继续对分类集合225中的所有统计的所有条目进行处理。对于除了函数依赖的多域数据剖析结果,可能需要对完整的分类集合225进行处理,从而计算结果,在该情况下,可以不需要分类。在该示例中,分类210发生在分类220之前,但是在其他例子中,分类220可以发生在分类210之前。
剖析模块106执行组合统计产生操作230,其中经分类的集合225中的统计条目被顺序读取,并与其他统计条目的信息组合,从而产生组合统计240。为了有效地将来自不同统计条目的信息组合,剖析模块106采用位置信息对索引数据集203中的记录进行定位,其与组合统计240的产生密切相关,如下详述。可以执行组合统计产生操作230的多个路径。例如,如果组合统计240元组包括来自两个以上字段的值,则在对该元组在组合统计240内构建统计条目时,剖析模块106可以在第一路径上对两个字段进行逐对组合,在之后的路径中,统计条目可以与之前形成的组合统计240版本中的任何条目组合。
参见图3,描述了剖析程序的例子。A源数据集300被索引(在索引操作200中),以提供A索引数据集310。A源数据集300具有三个字段,其对应于三个图示的列,具有6个记录,其对应于六个图示的行,数据集中的第一条记录具有值“d”、“q”、“d8”,分别对应三个字段。在记录的起始增加了替代键字段,其为不断增加的整数值,作为位置索引以唯一确定A索引数据集310中的每条记录。在该示例中,剖析模块106对A源数据集300的前两个字段计算经分类的A统计集合320。第一个字段(即第一列)名称为“g”,第二字段(即第二列)名称为“f”,第三字段的名称在该示例中无关紧要,其原因是在该示例中不对其进行剖析。这样,在A统计集合中具有两个统计,一个是对g字段(称为g-统计),另一针对f字段(f-统计)。A统计集合320中的每个统计包括经分类的条目列表,其中每个条目包括一个值、该值出现的的数量的计数、表示该值位置信息的记录索引矢量。这样,对于f-统计,在该示例中以用空间定界(space-delimited)的字符串“q 3 A[1,4,5]”描述的第一统计条目表示了该值“q”在A源数据集300中出现3次,出现在A索引数据集310的第1、4、5条记录中,用矢量A[1,4,5]表示。每个字段的统计按照值出现的计数降序排序,并且按照位置信息矢量中的第一索引进一步进行升序排序。还对A统计集合320的统计集以每个统计中特异值的次数进行排列,将最短的统计放在第一位,在该示例中,将f字段的统计放在g字段的统计之前。
剖析模块106执行组合统计产生操作,以计算组合统计330。在该示例中,组合统计中的元组为一对值。该例中,用空间定界的字符串“g f d q 2 3 2 A[1,4]”表述的组合统计中的第一条目表示了,该对的第一字段为“g”,该对的第二字段为“f”,第一字段值为“d”,第二字段值为“q”,第一个值出现2次,第二个值出现三次,第一字段含有第一个值(即“d”的g值)和第二子段具有第二个值(即“q”的f值)的记录有2个,这些记录在A索引数据集310中为第1和4条,用矢量“A[1,4]”表示。之后,组合统计330可以用于计算各种数据剖析分析结果,如下详述。
在一些实施方式中,基于组合统计的结果可以在用户接口上图形显示,例如上述例子中的函数依赖结果340。每个圆含有特异值,位于字段“g”和“f”的标记下方,该值的计数在圆圈旁边显示(在g字段的左边,在f字段的右边)。圆圈之间的每个定向边指示位于两端的一对值,边缘之上的计数为共享该对值的记录的数量。从不同的计数中,可以确定单个值和字段对的关联评价,并通过剖析模块106显示。在该示例中,剖析模块106显示了评价为“g确定f”.
在一些实施方式中,组合统计生成操作230能够产生一起出现(即位于同一记录中)在两个字段中的特异值对的组合统计,而不需要形成在字段的各独立统计中所出现的特异值的笛卡尔(Cartesian)乘积。该Cartesian乘积可以用于计算所述的组合统计,例如从Cartesian乘积获得所形成的所有成对值的位置信息,并计算相关位置信息的交集从而定位同时共享这两个值的记录。然而,采用整个Cartesian乘积的过程可能是无效的,这是因为,许多对的位置信息可能不重叠。图4的流程图和图5的示意图描述了可用于组合统计生成操作230的步骤,其能够有效地识别并组合在位置信息确实具有重叠的那些对,并避免位置信息不重叠的对。在该示例中,位置信息可以用记录索引矢量表示和描述,但是可以采用其他位置信息的表示方法对矢量进行计算。例如,对于f值位置信息“f-A[]”和g值位置信息“g-A[]”,可以获得“f-A[]”和“g-A[]”的交集,两个矢量都用位矢量表示,分别对位矢量进行逻辑“与”的运算。
图4流程图中的步骤从已经准备了的统计集合320之后开始,如上所述,对于字段f和g在第一统计(该例中为f-统计)的分类条目上进行迭代(iteration)。剖析模块106读取(400)f-统计的下一个统计条目(即用于第一迭代的第一统计条目)。从当前条目的f值相关位置信息中,在A索引数据集310中查找(410)该值出现的第一条记录,以寻找在该记录的g字段中出现的配对g值。剖析模块106从与该g值相关的g-统计中检索(retrieve)(420)位置信息。所得到的g值位置信息(g-A[])与f值位置信息(f-A[])组合,以存储(430)用于识别共享该对(f-A[]‘与’g-A[])的所有记录的信息,并存储(440)用于对具有当前f值但g值不同的剩余记录集(f-A[]=f-A[]‘与’(非g-A[]))的位置信息进行更新的信息。该成对值被写进(450)组合统计330中。剩余集的位置信息被检查(460)以确定其是否为空的。如果不是空的,查阅(410)剩余集中的第一记录以从A索引数据集310中发现与当前f值配对的另一g值。如果剩余集的位置信息是空的,则从f统计中读取下一个统计条目,以进行另一迭代。经该过程步骤的完整迭代对f统计中的所有条目进行读取并处理之后,组合统计330完成。
图5显示了图4程序的例子,箭头表示剖析模块106执行操作的顺序,直至到达部分完成的组合统计330’的那个点。A统计集合320内的f统计中的统计条目顺序地被考虑,从具有f值“q”的第一条目开始,基于之前的分类,值“q”是最常见的f值。位置信息矢量中的第一元素“l”用于查找(522)A索引数据集310中对应记录的g字段值。在该示例中,对应记录(即索引位置1处的记录)中g字段的值为“d”。该值“d”的g统计条目被查找,以检索出全部的具有值“d”的记录集,其用位置信息矢量表示。f值“q”的位置信息矢量与g值“d”的位置信息进行比较,从而形成两个记录集的位置信息:具有配对值“q”和“d”(g与f)的记录集527;具有值“q”、但不具有值“d”(f与非g)的记录集528。共有值的位置信息作为组合统计330’的适当条目的矢量被存储(529)。在该示例中,组合统计中的条目有每个值的来源、值及其统计计数、同时包含两个值的所有记录的位置信息和所述记录的数量。条目“g f d q 2 3 2 A[1,4]”表示g值“d”出现2次,f值“q”出现3次,有2个记录同时具有这两个值,其对应于位置索引1和4。
剖析模块106对具有值“q”的剩余记录集528进行处理。位置信息矢量的第一(同时也是仅仅)元素“5”用于查找(540)A索引数据集310中对应记录的g字段值,其从g字段获得值“b”。查找(544)值为b的g统计条目,以获取位置信息A[5],与集528相比。计算(546)这些集的交集,并存储在组合统计330’的适当条目中。集与集之间的区别在该示例中为空,但是如果不是,迭代该程序以寻找与f字段的该特定值“q”相配对的g字段其他值。当具有f值“q”的记录集被用尽时,该程序移至f统计中的下一条目,并重复该过程。
参见图6A和6B,剖析模块106能够执行确定配对字段值之间相关性(函数依赖)的过程步骤,并扩大组合统计以包括关联分数,其对函数依赖结果进行定量。如上所述,基于字段的单个统计对配对字段的组合统计进行计算(600),对所述配对字段进行潜在函数依赖的分析。对于组合统计的条目中所包含的每对值中的每个值,计算“关联分数”(610),其表示具有该配对值的记录数量(“对计数”)和具有该值的记录数量(“值计数”)的比率。剖析模块106将关联分数(在该示例中为“1”和“2/3”)存储在条目中以产生扩大的组合统计615。例如,组合的统计条目“g f d q 2 3 2 A[1,4]”表示,在A索引数据集310中,有2条记录的字段g值为d,有3条记录的字段f值为q,有2条记录的配对值为“d q”,其索引为1和4。g值“d”(与“q”配对)的关联分数为2/2=1,而f值“q”(与“d”配对)的关联分数为2/3。
将每个值的关联分数与阈值比较以确定(620)哪个值在该阈值处相关。例如,如果关联分数超出阈值0.95,100个例子中低于5个的配对值不同于当前值。此处,“d”在阈值0.95处与“q”相关,但是反过来不是:如果g值为“d”,则对应的f值确定为“q”,但是如果f值为“q”,对应q值为“d”的几率只有2/3。
可以对在给定阈值处相关的记录总数(在一个字段)进行计数(630),并除以总的记录数,以确定(640)在给定阈值处相关的记录在整个数据集中所占的分数。如果该分数超出了第二个字段相关阈值,整个字段可以认为与另一字段相关。在一些实施方式中,对确定字段相关有贡献的记录数量可以将值的例数低于阈值的记录数量排除出去,或者基于所述值有可能是错误的而报告相关性。这是因为,如果例数太小,相关性可能是偶然的,或者是微不足道的,例如只有一个例子的情况,某一值与其配对值相关。
对其他字段重复进行字段关联计算,以确定在其他方向关联的记录分数。在该示例中,将所有的g值逐一与f值相关,从而关联记录的总数为6,记录的总数为6,记录的关联分数为6/6=1。结论是g确定f:知道了g值,就确保知晓对应的f值(在该字段关联阈值处)。相反,如果没有f值超过关联阈值,则f字段与g字段不关联。
参见图7,进行从函数依赖结果340至A-询问结果710的边edge drill-down)(700)(例如根据用户在图形用户接口中与所示结果340之间的互动),以显示与记录相关的更加详细的信息,其在所示结果340中用边线表示,边线指示了这些记录中出现的配对值。用边线表示的配对值“d q”在组合统计330”(其与经发生频率分类并经位置信息的第一索引进一步分类的组合统计330相同)中查找(725),以得到该对的位置信息。位置信息然后被用于从A索引数据集310中提取(735)相关记录。这些记录被显示(745)在A-询问结果710中。
在前述示例中,计算同一数据集中两个字段的(g和f)相关性。对经关键字段联系的不同数据集中两个字段的相关性进行的计算参见图8A和8B。A源数据集800和B源数据集820每一个均具有三个字段,它们具有一个共有的关键字段。该共有关键字段的键值并不一定是唯一的。但是,关键字段的键值用于将两个数据集中的相应记录经各自关键字段中的相同键值联系起来。A源数据集800中每个记录的唯一确认符(称为A-记录_id)作为字段添加至每条记录,从而产生A索引数据集810。类似地,B源数据集820中每个记录的唯一确认符(称为B-记录_id)作为字段添加至每条记录,从而产生B索引数据集830。索引地图840将每个A-记录_id与相同记录中关键字段的键值联系起来。因此,索引地图840为A索引数据集810的前两列的复制。索引地图840可以与A索引数据集810分别存储,例如存储在剖析数据存储器110的文件中。
在该示例中,关键字段为A源数据集800的主键(在图8A的A源数据集800的第一列显示),为B源数据集820的外来键(在图8A的B源数据集820的第二列显示)。可以选择A-记录_id值以映射至其关键字段(而不使用B-记录_id映射至其关键字段),其原因是该关键字段为主键。然而,数据集并不一定需要具有该主键/外来键关系,只要每个数据集中某个字段被指定为关键字段。索引地图840是有用的,其原因是,在A数据集中具有重复的主键值,如该例中,两个数据集均具有在两个不同记录中重复的关键字段值。采用该索引地图840,剖析模块106产生新版本的B索引数据集830,其具有包含A-记录_id值的新字段,从而两个数据集具有共同的参考框架,以确定位置信息。为此,剖析模块106将B索引数据集830中的关键字段值与索引地图840中的键值比较,以寻找与对应A-记录_id值的匹配数。在该示例中,B索引数据集830中的一个记录(具有外来键值k4)与两个不同的A-记录_id值匹配,当将A-记录_id添加至B索引数据集830记录中以产生B/A索引数据集850时,剖析模块添加(847)两个相应记录(具有“A4”的一个添加为索引,具有“A6”的另一个添加为索引)。B索引数据集830的其他记录与索引地图840中的单个A-记录_id值匹配,从而它们的每一个对应于添加至B/A索引数据集850中的单个记录,对应的A-记录_id值添加为索引。
现在参见图8B,对A索引数据集810的第三字段计算A统计860,位置信息参见A-记录_id值(第一字段),对B/A索引数据集850的第五字段计算B统计870,位置信息也参见用索引地图840添加的A-记录_id值(第一字段)。两个统计的位置信息如上所述结合起来,从而对用这些统计(来自A统计的字段用“A”标记,来自B统计的字段用“B”计算)表示的字段对计算组合统计880,之后将其用于显示函数依赖结果890,得出A和B字段不相关的结论。
参见图9,从函数依赖结果890执行节点向下钻取(drill-down)(900)(例如,根据用户与图形用户接口中所示结果340之间的互动),以显示与用节点所示值表示的记录相关的更加详细的信息。从B字段选择显示“p”值的节点,提取在A源数据集800和B源数据集820中均显示对应于此的记录,并显示在节点询问结果910中。首先在组合统计880中查找(915)p值,以找到每个匹配的条目(含有B字段为“p”),从而实现向下钻取(drill-down)。合并从而将这些条目的位置信息组合起来,产生位置信息A[1,3,4,6](相对于A-记录_id值)。然后在A索引数据集810和B/A索引数据集850中查找这些位置中的每一个以提取这些位置处的任何记录。A索引数据集810中被提取的记录显示(935)在节点询问结果910中,用“A”标记。比较B源数据集820中被提取的记录,以寻找任何具有相同B-记录_id值的记录,对其进行去重(945),从而只有一个显示在节点询问结果910中。在该示例中,A-记录_id值为A4和A6的记录具有相同的B-记录_id值B2。通过具有对应于单个B源数据集820记录的多个A源数据集800记录,A源数据集800记录中的重复关键字段值显示在节点询问结果910中。
图10中,显示了用分段法计算统计的例子。A源数据集100具有3个字段,f,g和h。A源数据集100中每个记录的唯一确认符(称为记录_id)作为字段被添加至每条记录以生成A索引数据集1010。计算经分类的统计集合1020,其具有三个字段中每一个的位置信息。在一些实施方式中,***100可以使用户形成询问,以回答商业问题,例如,通过将f字段和g字段的组合限定至包含特定值而分段得到的h字段的数据分档(即值的分布)是什么?例如,f字段可以代表性别,记录的f字段分别具有可能值“f”或“m”;而g字段可以代表“外国”或“本国”,记录的g字段可以分别具有“p”或“q”值。对f和g字段进行分段的数据分档(例如用统计表示)有利于回答问题,例如对于“外国男性”或“本国女性”,h字段最常见的值是什么?
集合1020可以用于计算分段的分档,而不需要对A源数据集1000中的所有记录进行处理。可以采用f字段和g字段统计以及上述计算组合统计的过程步骤将分段统计1030构建成组合统计。在一些实施方式中,分段统计1030的每个条目被赋予一唯一值(称为分段_id),以便于确定与该条目相关的分段。再次采用计算组合统计的过程步骤以形成分段的组合统计1040,其为来自A统计集合1020的h字段统计和分段统计1030的组合。例如,首先提取分段统计1030的s1条目,读取相关能位置信息A[1,4],计算分段的组合统计1040的h-s1条目。在统计中对A统计集合1020的h字段查找位置矢量的第一元素“1”,以寻找h字段值“d”,和对应的位置信息A[1,4]。将分段统计1030中用s1标记的条目的位置信息A[1,4]与h统计的d条目的位置信息A[1,4]比较。由于这两个条目之间的位置信息的所有元素均匹配,所得到的s1分段的组合统计条目矢量为“d 2 A[1,4]”,s1分段中没有剩余的位置条目。其表示,s1分段仅由单个h字段值d组成。采用其他分段值结合h统计记录,连续构建组合统计,以实现分段的组合统计1040。
图11显示了分段立方体计算的例子。当基于多个字段值的组合进行分段时,如图10的例子,可以构建分段立方体,其中分段的统计结果被重新集合成统计结果,其中分段涉及更少字段的每个组合。对于图10的例子,经计算的分段组合统计1040代表例如“外国男性”(即段s4)和“本国男性”(即s1)的分段。用户可以要求对段“外国”或“男性”进行剖析。对于新的分段,不是直接返回以重复图10的计算,而是将之前的分段结果与h统计结合以计算“分段立方体”中的其他条目,如下所述。
为了形成分段立方体1020,首先形成原始分段字段的每个子集。在本例中,基于两个分段字段f和g进行完全分段。两个字段集形成两个子集:一个集仅仅由f组成,另一集仅仅由g组成。将每个集称为分段立方体字段。如果原始分段字段由三个字段f,g和h组成,分段立方体字段可以为集{f,g},{f,h},{g,h},{f},{g},和{h},即,分段立方体字段为分段字段的所有非空子集的成员。
分段立方体1120的条目由与每个分段立方体字段相关的每个特异值(或值组合)组成。在一些实施方式中,对于分段立方体字段的每个值,含有该值的分段集合被确定,并作为数据结构中的分段位置信息,以存储分段立方体1120和所述分段的计数。另一个替代方式是对分段统计1030的每个对应条目进行合并(称为分段-统计条目),相对于增加至A索引数据集1010中的记录_id,组合位置信息。采用分段位置信息(即相对于分段_id的位置信息),而不是A位置信息(即相对于记录_id的位置信息),将会更加有效,其原因是,通常分段比记录少得多,因此其位置信息将更加紧凑。在一些实施方式中,向分段立方体1120的每个条目增加一个字段以标记条目。
在该示例中,分段立方体字段f在段s1和s2具有值f,因此,相关的分段位置信息为S[s1,s2]。其形成了分段立方体条目“c1f f 2 S[s1,s2]”。此处,c1为分段立方体条目的标记,第一个f为分段立方体字段,f为其值。该值出现在两个段,用位置信息S[s1,2]表示。或者,分段立方体字段g在段s1和s4具有值“q”,因此,相关的分段位置信息为S[s1,s4]。其形成了分段立方体条目“c4g q 2 S[s1,s4]”。
分段的组合统计1040通过以下过程步骤与分段立方体1120结合形成分段-立方体A统计集合1150。分段立方体1120中的每个条目含有分段位置信息,其用于确定哪个分段含有相关的分段立方体字段值。每个参考分段中分段统计条目组的合并给出了具有分段立方体字段值的统计条目集合。例如,c1分段立方体条目的分段位置信息为S[s1,s2]。对分段结合统计1040中的s1和s2结果的统计条目组进行合并,从而得到c1分段结果。s1分段由单个条目“d 2 A[1,4]”组成,而s2分段由两个条目“a 1 A[2]”和“e 1 A[6]”组成。这些条目的合并为所有三个条目的集,形成了分段立方体A统计集合1150的h统计的c1分段。从分段立方体可以看出,c1分段由其f字段具有f值的记录组成。因此,h统计的c1分段为其f字段具有f值的h统计分段。其可以通过检查图10中的A统计集合1020证实。记录A[1,2,4,6]的f字段具有值“f”,而记录A[1,4]的h字段具有值“d”,记录A[2]的h字段具有值“a”,记录A[6]的h字段具有值“e”。
如果一个值出现在一个以上的分段,从每个分段的A位置信息的合并获得该结果的A位置信息。其不发生在图示的分段立方体1120中,但是如果分段立方体条目的分段位置信息为S[s2,s4],则由于分段s2和s4的h值均为“e”,在该分段立方体统计结果中的“e”h值的A位置信息为A[3,6],即来自s2分段的A[6]和来自s4分段的A[3]的合并。
例如S[s2,s4]的分段立方体条目是更广泛的分段立方体中分段立方体条目的一个例子,所述分段立方体经分段组合而不是简单的字段组合而形成。在一些实施方式中,允许进行所述分段组合。在所述条目中,经允许的分段字段值对应于与经选择的分段组合的每个分段相关的值。在该示例中,分段立方体条目S[s2,s4]对应于f-g字段的值要么是“fp”要么是“m q”的分段。这使得可以形成复杂分段,其中允许字段和字段值的有条件组合。
可以从具有位置信息的统计中计算多字段验证规则,而不要求对原始数据集中的所有记录进行处理。多字段验证规则将条件应用至两个或多个字段值,一条记录必须同时满足所述条件才被认为是有效的。不满足该条件的记录被认为无效的。多字段验证规则的例子是:如果f值(性别)为“f”,则g值(外国/本国)必须是“p”。在一些实施方式中,验证规则以否定形式表示,即给出两个字段值组合的规则,如果满足则认定该记录是无效的。在本例中,确定无效记录的规则可以是:如果f值为“f”,g值不是“p”,则该记录是无效的。
数据质量报告可以包括针对一个或多个验证规则的有效和无效记录的数量。如果在进行初始统计之前制定了验证规则,在收集统计以及对相关的有效和无效记录进行统计的过程中,可以对规则进行检验。然而,通常验证规则在初始统计之后提出,以响应于没有被统计覆盖的值和值组合。在此情况下,不是重新进行统计并应用新的验证规则,而是采用具有位置信息的统计以确定有效和无效记录,而不需要对统计进行重新计算。由于多字段验证规则表达为字段值的条件组合,对应于验证规则中每个值的统计条目可以被组合,典型地对位置信息采用布尔(Boolean)操作,用于检查该规则。被认定为无效的任何值组合可以标记为无效,并将其计数至无效记录集合中。位置信息还可以用于向下钻取(drill-down)以确定在验证规则下要么是无效要么是有效的特定记录。
就以下验证规则而言,如果f值为“f”,则g值必须是“p”。A统计集合1020可以用于计算Boolean‘f=”f”和g=”p”’。具有f=”f”的记录的位置信息为A[1,2,4,6],而具有g=”p”的记录的位置信息为A[2,3,6]。通过这两组位置信息的交集A[2,6]可以形成有效记录。无效记录为经Boolean‘f=”f”and g!=”p”’运算得到的经矢量A[1,4]定位的无效记录。所得到的位置信息之后可以用于提取有效或无效记录。例如,可以从A索引文件1010中提取记录2和6,并返回具有f=”f”和g=”p”的两条记录。
可以采用执行适当软件的计算***实施上述技术。例如,软件可以包括一个或多个计算机程序中的程序,其在一个或多个编程或可编程的计算***中运行(其可以具有各种结构,例如分布的、客户/服务器、或网格),每个包括至少一个处理器、至少一个数据存储***(包括易失存储器和/或非易失存储器和/或存储元件)、至少一个用户接口(采用至少一个输入装置或端口接收输入,并采用至少一个输出装置或端口提供输出)。软件可以包括更大程序的一个或多个模块,例如,提供与数据流图形的设计、构造、和运行相关的服务。程序的模块(例如数据流图形的单元)可以为符合存储在数据储存库中数据模型的数据结构或其他有组织的数据。
上述数据剖析方法可以使用执行适当软件的计算机***来实现。例如,软件可以包括在一个或多个已编程或可编程计算***(可以具有各种架构,诸如分布式、客户端/服务器、或网格式)上执行的一个或多个计算机程序中的过程,每个计算***包括至少一个处理器、至少一个数据存储***(包括易失性和/或非易失性存储器和/或存储元件)以及至少一个用户接口(用于使用至少一个输入设备或端口来接收输入,以及用于使用至少一个输出设备或端口来提供输出)。该软件可包括大型程序的一个或多个模块,例如,该大型程序提供与数据流图的设计、配置和执行相关的其它服务。该程序的模块(例如,数据流图的元件)可以被实施为数据结构或者符合在数据库中存储的数据模型的其它组织的数据。
该软件可以被提供在诸如CD-ROM或其他计算机可读介质之类的有形永久存储介质(例如可以被通用或专用计算机***或装置读取的介质)上,或者通过网络的通信介质递送(例如编码成传送信号)到执行该软件的计算机***的有形永久介质处。一些或全部处理可以在专用计算机上执行,或者使用诸如协处理器或现场可编程门阵列(FPGA)或专用集成电路(ASIC)之类的专用硬件来执行。该处理可以以分布方式实施,在该分布方式中,由该软件指定的不同的计算部分由不同的计算元件执行。每个这样的计算机程序被优选地存储在或下载到可由通用或专用可编程计算机读取的存储设备的计算机可读存储介质(例如,固态存储器或介质、或者磁或光介质),用于在计算机读取该存储介质或设备时配置和操作该计算机,以执行此处所描述的处理。也可以考虑将本发明的***实施为有形永久存储介质,其配置有计算机程序,其中,如此配置的存储介质使得计算机以特定和预定义的方式操作以执行此处所描述的一个或多个处理步骤。
已经对本发明的多个实施例进行了描述。然而,应当理解,前面的描述旨在说明而非约束本发明的范围,本发明的范围由以下权利要求书的范围来限定。因此,其它实施例也落在以下权利要求书的范围内。例如,在不脱离本发明的范围的情况下可进行各种修改。此外,上述的一些步骤可以是无顺序关联的,因此可以以不同于所述的顺序来执行。
Claims (17)
1.一种对存储在至少一个数据存储***中的数据进行剖析的方法,该方法包括:
经与该数据存储***连接的接口,访问存储在该数据存储***中的至少一个记录集合;和
对所述记录集合进行处理,以产生结果信息,所述结果信息表征所述记录集合的一个或多个特定字段中所出现的值,所述处理包括:
对出现在集合中记录的第一组一个或多个字段上的第一组特异值,
产生相应的位置信息,所述位置信息针对第一组特异值中的每个特异值识别出现该特异值的所有每条记录,
对所述第一组一个或多个字段,产生相应的条目列表,每个条目从第一组特异值中识别一个特异值以及该特异值的位置信息,
对不同于所述第一组一个或多个字段的、集合中记录的第二组一个或多个字段,产生相应的条目列表,每个条目从所述第二组一个或多个字段中所出现的第二组特异值中确定一个特异值,和
至少部分基于下述,产生表征出现在所述记录集合的一个或多个特定字段中的值的结果信息:采用出现在所述第一组一个或多个字段的至少一个值的位置信息对所述记录集合中的至少一个记录进行定位,确定在该被定位记录的所述第二组一个或多个字段上所出现的至少一个值,
对于所述第二组特异值,产生相应的位置信息,所述位置信息针对第二组特异值中的每个特异值识别出现该特异值的所有每条记录,
其中,对于对应于所述第二组一个或多个字段的列表,从所述第二组特异值中识别出一个特异值的每个条目包括该特异值的位置信息,以及
其中所述处理进一步包括:对于一组特异值对,产生相应的位置信息,其中每对值中的第一值出现在所述记录的所述第一组一个或多个字段中,每对值中的第二值出现在所述记录的所述第二组一个或多个字段中,所述位置信息对于每个特异值对识别出现该特异值对的所有每条记录。
2.如权利要求1的方法,其中每个条目进一步识别对在一组一个或多个字段中出现特异值的记录的数量的计数。
3.如权利要求2的方法,其中所述处理进一步包括通过所识别的计数,对在每个列表中的条目进行分类。
4.如权利要求1的方法,其中从该组特异值对中产生一特异值对的位置信息包括:确定来自所述第一组特异值的第一特异值的位置信息与来自所述第二组特异值的第二特异值的位置信息之间的交集。
5.如权利要求4的方法,其中确定所述交集包括:采用所述第一特异值的位置信息以定位所述集合中的记录,使用该被定位的记录来确定所述第二特异值。
6.如权利要求1的方法,进一步包括:根据在每个列表的条目中所识别的特异值数量对一组多个列表进行分类,该一组多个列表包括对应于所述第一组一个或多个字段的列表和对应于所述第二组一个或多个字段的列表。
7.如权利要求1的方法,其中所述处理进一步包括:
对于一组特异值对,产生相应的位置信息,其中每对值中的第一值出现在所述记录的所述第一组一个或多个字段中,以及每对值中的第二值出现在所述记录的第二组一个或多个字段中,所述第二组一个或多个字段不同于所述第一组一个或多个字段,所述位置信息对于每个特异值对识别出现该特异值对的所有每条记录,和
对于该组特异值对,产生相应的条目列表,其中每个条目从该组特异值对中识别一特异值对和该特异值对的位置信息。
8.如权利要求1的方法,其中所述位置信息识别用于出现该特异值的所有每条记录的唯一索引值。
9.如权利要求8的方法,其中所述位置信息通过存储特定的唯一索引值来识别该特定的唯一索引值。
10.如权利要求8的方法,其中所述位置信息通过对所述位置信息内的唯一索引值进行编码来识别该唯一索引值。
11.如权利要求10的方法,其中所述对唯一索引值进行编码包括在对应于该唯一索引值的矢量内的一位置处存储一个位。
12.如权利要求1的方法,其中所述集合包括第一记录子集和第二记录子集,该第一记录子集具有包括所述第一组一个或多个字段的字段,该第二记录子集具有包括所述第二组一个或多个字段的字段。
13.如权利要求12的方法,其中所述处理进一步包括生成在以下之间提供映射的信息:1)所述第一记录子集的字段索引值,其将唯一索引值与所述第一记录子集中的所有每条记录关联在一起;与2)所述第二记录子集的一个字段的键值,其将键值与所述第二记录子集中的所有每条记录关联在一起;其中所述键值将所述第二记录子集中的记录与所述第一记录子集中的记录联系起来。
14.如权利要求13的方法,其中所述位置信息识别出现特异值的所有每条记录的唯一索引值。
15.一种计算机可读介质,用于存储计算机程序,所述计算机程序用于对存储在至少一个数据存储***中的数据进行剖析,该计算机程序包括使计算***执行如权利要求1-14中任一项所述的方法。
16.一种计算***,用于对存储在至少一个数据存储***中的数据进行剖析,该计算***包括:
与该数据存储***连接的接口,其用于访问存储在该数据存储***中的至少一个记录集合;和
至少一个处理器,用于处理该记录集合,以产生结果信息,所述结果信息表征所述记录集合的一个或多个特定字段中所出现的值,所述处理包括:
对出现在集合中记录的第一组一个或多个字段上的第一组特异值,
产生相应的位置信息,所述位置信息针对第一组特异值中的每个特异值识别出现该特异值的所有每条记录,
对所述第一组一个或多个字段,产生相应的条目列表,每个条目从第一组特异值中识别一个特异值以及该特异值的位置信息,
对不同于所述第一组一个或多个字段的、集合中记录的第二组一个或多个字段,产生相应的条目列表,每个条目从所述第二组一个或多个字段中所出现的第二组特异值中确定一个特异值,以及
至少部分基于下述,产生表征出现在所述记录集合的一个或多个特定字段中的值的结果信息:采用出现在所述第一组一个或多个字段的至少一个值的位置信息对所述记录集合中的至少一个记录进行定位,确定在该被定位记录的所述第二组一个或多个字段上所出现的至少一个值,
对于所述第二组特异值,产生相应的位置信息,所述位置信息针对第二组特异值中的每个特异值识别出现该特异值的所有每条记录,
其中,对于对应于所述第二组一个或多个字段的列表,从所述第二组特异值中识别出一个特异值的每个条目包括该特异值的位置信息,以及
其中所述处理进一步包括:对于一组特异值对,产生相应的位置信息,其中每对值中的第一值出现在所述记录的所述第一组一个或多个字段中,每对值中的第二值出现在所述记录的所述第二组一个或多个字段中,所述位置信息对于每个特异值对识别出现该特异值对的所有每条记录。
17.一种计算***,对存储在至少一个数据存储***中的数据进行剖析,该计算***包括:
访问存储在该数据存储***中的至少一个记录集合的装置;和
用于执行权利要求1-14中任一项所述的方法的装置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201261716766P | 2012-10-22 | 2012-10-22 | |
US61/716,766 | 2012-10-22 | ||
PCT/US2013/053412 WO2014065919A1 (en) | 2012-10-22 | 2013-08-02 | Profiling data with location information |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104756107A CN104756107A (zh) | 2015-07-01 |
CN104756107B true CN104756107B (zh) | 2019-01-01 |
Family
ID=48985856
Family Applications (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811474571.3A Active CN110096494B (zh) | 2012-10-22 | 2013-08-02 | 使用源跟踪剖析数据 |
CN201380055099.9A Active CN104737167B (zh) | 2012-10-22 | 2013-08-02 | 使用源跟踪剖析数据 |
CN201380055340.8A Active CN104756107B (zh) | 2012-10-22 | 2013-08-02 | 采用位置信息剖析数据 |
CN201380055344.6A Active CN104769586B (zh) | 2012-10-22 | 2013-10-22 | 采用位置信息剖析数据 |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811474571.3A Active CN110096494B (zh) | 2012-10-22 | 2013-08-02 | 使用源跟踪剖析数据 |
CN201380055099.9A Active CN104737167B (zh) | 2012-10-22 | 2013-08-02 | 使用源跟踪剖析数据 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380055344.6A Active CN104769586B (zh) | 2012-10-22 | 2013-10-22 | 采用位置信息剖析数据 |
Country Status (9)
Country | Link |
---|---|
US (5) | US9569434B2 (zh) |
EP (5) | EP2909746B1 (zh) |
JP (3) | JP6207619B2 (zh) |
KR (3) | KR102129643B1 (zh) |
CN (4) | CN110096494B (zh) |
AU (4) | AU2013335229B2 (zh) |
CA (3) | CA2887670C (zh) |
HK (3) | HK1211113A1 (zh) |
WO (3) | WO2014065919A1 (zh) |
Families Citing this family (42)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2909746B1 (en) | 2012-10-22 | 2019-12-18 | Ab Initio Technology LLC | Profiling data with source tracking |
US9953054B2 (en) * | 2013-04-22 | 2018-04-24 | Salesforce.Com, Inc. | Systems and methods for implementing and maintaining sampled tables in a database system |
US9292553B2 (en) * | 2013-08-20 | 2016-03-22 | Pivotal Software, Inc. | Queries for thin database indexing |
US9292554B2 (en) * | 2013-08-20 | 2016-03-22 | Pivotal Software, Inc. | Thin database indexing |
US10515231B2 (en) * | 2013-11-08 | 2019-12-24 | Symcor Inc. | Method of obfuscating relationships between data in database tables |
US20150199645A1 (en) * | 2014-01-15 | 2015-07-16 | Bank Of America Corporation | Customer Profile View of Consolidated Customer Attributes |
US9984173B2 (en) * | 2014-02-24 | 2018-05-29 | International Business Machines Corporation | Automated value analysis in legacy data |
EP3114578A1 (en) | 2014-03-07 | 2017-01-11 | AB Initio Technology LLC | Managing data profiling operations related to data type |
US10769122B2 (en) * | 2014-03-13 | 2020-09-08 | Ab Initio Technology Llc | Specifying and applying logical validation rules to data |
GB2524073A (en) * | 2014-03-14 | 2015-09-16 | Ibm | Communication method and system for accessing media data |
US9628107B2 (en) | 2014-04-07 | 2017-04-18 | International Business Machines Corporation | Compression of floating-point data by identifying a previous loss of precision |
US10877955B2 (en) * | 2014-04-29 | 2020-12-29 | Microsoft Technology Licensing, Llc | Using lineage to infer data quality issues |
US10089409B2 (en) | 2014-04-29 | 2018-10-02 | Microsoft Technology Licensing, Llc | Event-triggered data quality verification |
US9959299B2 (en) | 2014-12-02 | 2018-05-01 | International Business Machines Corporation | Compression-aware partial sort of streaming columnar data |
US10909078B2 (en) | 2015-02-25 | 2021-02-02 | International Business Machines Corporation | Query predicate evaluation and computation for hierarchically compressed data |
US11281639B2 (en) | 2015-06-23 | 2022-03-22 | Microsoft Technology Licensing, Llc | Match fix-up to remove matching documents |
US11392568B2 (en) | 2015-06-23 | 2022-07-19 | Microsoft Technology Licensing, Llc | Reducing matching documents for a search query |
US10565198B2 (en) | 2015-06-23 | 2020-02-18 | Microsoft Technology Licensing, Llc | Bit vector search index using shards |
US10229143B2 (en) | 2015-06-23 | 2019-03-12 | Microsoft Technology Licensing, Llc | Storage and retrieval of data from a bit vector search index |
US10242071B2 (en) | 2015-06-23 | 2019-03-26 | Microsoft Technology Licensing, Llc | Preliminary ranker for scoring matching documents |
US10733164B2 (en) | 2015-06-23 | 2020-08-04 | Microsoft Technology Licensing, Llc | Updating a bit vector search index |
US10467215B2 (en) * | 2015-06-23 | 2019-11-05 | Microsoft Technology Licensing, Llc | Matching documents using a bit vector search index |
US20170242876A1 (en) * | 2016-02-22 | 2017-08-24 | Ca, Inc. | Maintaining Database Referential Integrity Using Different Primary and Foreign Key Values |
US11475026B2 (en) * | 2016-02-26 | 2022-10-18 | Douglas Schiller | Value discrepancy visualization apparatus and method thereof |
CN106227837B (zh) * | 2016-07-27 | 2019-08-02 | 浪潮金融信息技术有限公司 | 一种数据分析方法和装置 |
JP2018036977A (ja) * | 2016-09-02 | 2018-03-08 | 富士ゼロックス株式会社 | 情報処理装置及びプログラム |
US10474649B2 (en) * | 2016-09-27 | 2019-11-12 | Halo Tech Corp. | Providing action corrections using a dual model system |
US10817465B2 (en) * | 2016-12-09 | 2020-10-27 | Salesforce.Com, Inc. | Match index creation |
US10636293B2 (en) * | 2017-06-07 | 2020-04-28 | International Business Machines Corporation | Uncertainty modeling in traffic demand prediction |
US10528549B2 (en) | 2017-09-25 | 2020-01-07 | Mastercard International Incorporated | Systems and methods for use in loading data based on a hierarchical framework |
US10795915B1 (en) * | 2017-12-29 | 2020-10-06 | Iqvia Inc. | System and method for merging slowly changing data |
CA3030513A1 (en) | 2018-01-19 | 2019-07-19 | Sofdesk Inc. | Automated roof surface measurement from combined aerial lidar data and imagery |
US11068540B2 (en) | 2018-01-25 | 2021-07-20 | Ab Initio Technology Llc | Techniques for integrating validation results in data profiling and related systems and methods |
EP3743820A1 (en) * | 2018-01-25 | 2020-12-02 | Ab Initio Technology LLC | Techniques for integrating validation results in data profiling and related systems and methods |
US10430100B2 (en) | 2018-02-28 | 2019-10-01 | International Business Machines Corporation | Transactional operations in multi-master distributed data management systems |
US10891307B2 (en) * | 2018-05-31 | 2021-01-12 | Microsoft Technology Licensing, Llc | Distributed data synchronization in a distributed computing system |
US11042522B2 (en) | 2018-06-11 | 2021-06-22 | International Business Machines Corporation | Resolving versions in an append-only large-scale data store in distributed data management systems |
US11188539B2 (en) | 2018-07-27 | 2021-11-30 | International Business Machines Corporation | Matching non-sequential log metadata with out-of-order record data |
JP6573187B1 (ja) * | 2019-01-08 | 2019-09-11 | 株式会社ビジネスインテリジェンス | データ処理プログラム、データ出力装置、データ統合方法、出力プログラム、データ出力方法及びデータ処理システム |
US11360990B2 (en) | 2019-06-21 | 2022-06-14 | Salesforce.Com, Inc. | Method and a system for fuzzy matching of entities in a database system based on machine learning |
US11194844B1 (en) * | 2020-09-01 | 2021-12-07 | Skyline Al Ltd. | System and method for detecting second degree relationships between entities by uniquely resolving entities |
US11909750B1 (en) * | 2020-10-15 | 2024-02-20 | Splunk Inc. | Data reduction and evaluation via link analysis |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1102490A (zh) * | 1993-09-24 | 1995-05-10 | 美国电报电话公司 | 图形分析记录文件的方法和装置 |
CN101393521A (zh) * | 2008-11-13 | 2009-03-25 | 上海交通大学 | Windows应用程序内部固化数据的提取*** |
Family Cites Families (143)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5179643A (en) | 1988-12-23 | 1993-01-12 | Hitachi, Ltd. | Method of multi-dimensional analysis and display for a large volume of record information items and a system therefor |
JPH032938A (ja) | 1989-05-31 | 1991-01-09 | Hitachi Ltd | データベース処理方法 |
US5604899A (en) | 1990-05-21 | 1997-02-18 | Financial Systems Technology Pty. Ltd. | Data relationships processor with unlimited expansion capability |
FR2698465B1 (fr) | 1992-11-20 | 1995-01-13 | Bull Sa | Méthode d'extraction de profils de statistiques, utilisation des statistiques créées par la méthode. |
US5742806A (en) | 1994-01-31 | 1998-04-21 | Sun Microsystems, Inc. | Apparatus and method for decomposing database queries for database management system including multiprocessor digital data processing system |
JP3519126B2 (ja) | 1994-07-14 | 2004-04-12 | 株式会社リコー | 自動レイアウトシステム |
US5842200A (en) | 1995-03-31 | 1998-11-24 | International Business Machines Corporation | System and method for parallel mining of association rules in databases |
US6601048B1 (en) | 1997-09-12 | 2003-07-29 | Mci Communications Corporation | System and method for detecting and managing fraud |
CN1052316C (zh) * | 1995-09-15 | 2000-05-10 | 殷步九 | 计算机管理设计*** |
US5966072A (en) | 1996-07-02 | 1999-10-12 | Ab Initio Software Corporation | Executing computations expressed as graphs |
US5778373A (en) | 1996-07-15 | 1998-07-07 | At&T Corp | Integration of an information server database schema by generating a translation map from exemplary files |
US6138123A (en) | 1996-07-25 | 2000-10-24 | Rathbun; Kyle R. | Method for creating and using parallel data structures |
JPH1055367A (ja) | 1996-08-09 | 1998-02-24 | Hitachi Ltd | データ利用システム |
US5845285A (en) | 1997-01-07 | 1998-12-01 | Klein; Laurence C. | Computer system and method of data analysis |
US5987453A (en) | 1997-04-07 | 1999-11-16 | Informix Software, Inc. | Method and apparatus for performing a join query in a database system |
US7031843B1 (en) * | 1997-09-23 | 2006-04-18 | Gene Logic Inc. | Computer methods and systems for displaying information relating to gene expression data |
US6134560A (en) | 1997-12-16 | 2000-10-17 | Kliebhan; Daniel F. | Method and apparatus for merging telephone switching office databases |
JP3474106B2 (ja) * | 1998-06-17 | 2003-12-08 | アルプス電気株式会社 | 液晶表示装置 |
USRE41901E1 (en) | 1998-08-11 | 2010-10-26 | Turbo Data Laboratories, Inc. | Method and apparatus for retrieving accumulating and sorting table formatted data |
US7039919B1 (en) * | 1998-10-02 | 2006-05-02 | Microsoft Corporation | Tools and techniques for instrumenting interfaces of units of a software program |
US6826556B1 (en) | 1998-10-02 | 2004-11-30 | Ncr Corporation | Techniques for deploying analytic models in a parallel |
US6546416B1 (en) | 1998-12-09 | 2003-04-08 | Infoseek Corporation | Method and system for selectively blocking delivery of bulk electronic mail |
US6959300B1 (en) | 1998-12-10 | 2005-10-25 | At&T Corp. | Data compression method and apparatus |
US6343294B1 (en) | 1998-12-15 | 2002-01-29 | International Business Machines Corporation | Data file editor for multiple data subsets |
US6741995B1 (en) | 1999-03-23 | 2004-05-25 | Metaedge Corporation | Method for dynamically creating a profile |
US6430539B1 (en) | 1999-05-06 | 2002-08-06 | Hnc Software | Predictive modeling of consumer financial behavior |
GB2349961A (en) * | 1999-05-08 | 2000-11-15 | Int Computers Ltd | Analysing data files to produce summaries therefrom |
US6163774A (en) * | 1999-05-24 | 2000-12-19 | Platinum Technology Ip, Inc. | Method and apparatus for simplified and flexible selection of aggregate and cross product levels for a data warehouse |
KR20020041337A (ko) | 1999-06-18 | 2002-06-01 | 토런트 시스템즈, 인크. | 트랜잭션 시맨틱스를 이용한 연속 데이터 스트림의세그먼테이션 및 처리 |
US6801938B1 (en) | 1999-06-18 | 2004-10-05 | Torrent Systems, Inc. | Segmentation and processing of continuous data streams using transactional semantics |
JP3318834B2 (ja) | 1999-07-30 | 2002-08-26 | 三菱電機株式会社 | データファイルシステム及びデータ検索方法 |
JP3363120B2 (ja) | 1999-08-30 | 2003-01-08 | ファンクルシステム株式会社 | コンテンツ収集・貼付方法及び装置並びにコンテンツ収集・貼付のためのプログラムを記録したコンピュータ読み取り可能な記録媒体 |
JP2001331362A (ja) | 2000-03-17 | 2001-11-30 | Sony Corp | ファイル変換方法、データ変換装置及びファイル表示システム |
JP3567861B2 (ja) | 2000-07-07 | 2004-09-22 | 日本電信電話株式会社 | 情報源所在推定方法及び装置及び情報源所在推定プログラムを格納した記憶媒体 |
JP4366845B2 (ja) | 2000-07-24 | 2009-11-18 | ソニー株式会社 | データ処理装置およびデータ処理方法、並びにプログラム提供媒体 |
US6788302B1 (en) | 2000-08-03 | 2004-09-07 | International Business Machines Corporation | Partitioning and load balancing graphical shape data for parallel applications |
US20020073138A1 (en) | 2000-12-08 | 2002-06-13 | Gilbert Eric S. | De-identification and linkage of data records |
US6952693B2 (en) | 2001-02-23 | 2005-10-04 | Ran Wolff | Distributed mining of association rules |
US20020161778A1 (en) | 2001-02-24 | 2002-10-31 | Core Integration Partners, Inc. | Method and system of data warehousing and building business intelligence using a data storage model |
US20020120602A1 (en) | 2001-02-28 | 2002-08-29 | Ross Overbeek | System, method and computer program product for simultaneous analysis of multiple genomes |
US20030063779A1 (en) * | 2001-03-29 | 2003-04-03 | Jennifer Wrigley | System for visual preference determination and predictive product selection |
CA2349265A1 (en) * | 2001-05-30 | 2002-11-30 | Andrew Emili | Protein expression profile database |
US20030033138A1 (en) | 2001-07-26 | 2003-02-13 | Srinivas Bangalore | Method for partitioning a data set into frequency vectors for clustering |
US7130852B2 (en) | 2001-07-27 | 2006-10-31 | Silicon Valley Bank | Internal security system for a relational database system |
WO2003014867A2 (en) | 2001-08-03 | 2003-02-20 | John Allen Ananian | Personalized interactive digital catalog profiling |
US6801903B2 (en) | 2001-10-12 | 2004-10-05 | Ncr Corporation | Collecting statistics in a database system |
US7359847B2 (en) * | 2001-11-30 | 2008-04-15 | International Business Machines Corporation | Tracking converage results in a batch simulation farm network |
US20030140027A1 (en) | 2001-12-12 | 2003-07-24 | Jeffrey Huttel | Universal Programming Interface to Knowledge Management (UPIKM) database system with integrated XML interface |
US7813937B1 (en) | 2002-02-15 | 2010-10-12 | Fair Isaac Corporation | Consistency modeling of healthcare claims to detect fraud and abuse |
US7031969B2 (en) | 2002-02-20 | 2006-04-18 | Lawrence Technologies, Llc | System and method for identifying relationships between database records |
CA2479838C (en) | 2002-03-19 | 2011-02-08 | Mapinfo Corporation | Location based service provider |
US7032212B2 (en) | 2002-05-06 | 2006-04-18 | Microsoft Corporation | Method and system for generating test matrices for software programs |
US20040083199A1 (en) | 2002-08-07 | 2004-04-29 | Govindugari Diwakar R. | Method and architecture for data transformation, normalization, profiling, cleansing and validation |
US6657568B1 (en) | 2002-08-27 | 2003-12-02 | Fmr Corp. | Data packing for real-time streaming |
US7047230B2 (en) | 2002-09-09 | 2006-05-16 | Lucent Technologies Inc. | Distinct sampling system and a method of distinct sampling for optimizing distinct value query estimates |
US7043476B2 (en) * | 2002-10-11 | 2006-05-09 | International Business Machines Corporation | Method and apparatus for data mining to discover associations and covariances associated with data |
AU2003284118A1 (en) | 2002-10-14 | 2004-05-04 | Battelle Memorial Institute | Information reservoir |
US7395243B1 (en) | 2002-11-01 | 2008-07-01 | Checkfree Corporation | Technique for presenting matched billers to a consumer |
US7698163B2 (en) | 2002-11-22 | 2010-04-13 | Accenture Global Services Gmbh | Multi-dimensional segmentation for use in a customer interaction |
US7403942B1 (en) | 2003-02-04 | 2008-07-22 | Seisint, Inc. | Method and system for processing data records |
US7433861B2 (en) | 2003-03-13 | 2008-10-07 | International Business Machines Corporation | Byte-code representations of actual data to reduce network traffic in database transactions |
US7117222B2 (en) | 2003-03-13 | 2006-10-03 | International Business Machines Corporation | Pre-formatted column-level caching to improve client performance |
US7130760B2 (en) | 2003-03-31 | 2006-10-31 | National Instruments Corporation | Reporting invalid parameter values for a parameter-based system |
US20040249810A1 (en) | 2003-06-03 | 2004-12-09 | Microsoft Corporation | Small group sampling of data for use in query processing |
GB0314591D0 (en) | 2003-06-21 | 2003-07-30 | Ibm | Profiling data in a data store |
US20060069717A1 (en) * | 2003-08-27 | 2006-03-30 | Ascential Software Corporation | Security service for a services oriented architecture in a data integration platform |
US20050240354A1 (en) * | 2003-08-27 | 2005-10-27 | Ascential Software Corporation | Service oriented architecture for an extract function in a data integration platform |
US7426520B2 (en) | 2003-09-10 | 2008-09-16 | Exeros, Inc. | Method and apparatus for semantic discovery and mapping between data sources |
ATE515746T1 (de) * | 2003-09-15 | 2011-07-15 | Ab Initio Technology Llc | Datenprofilierung |
CN101271472B (zh) * | 2003-09-15 | 2011-04-13 | 起元科技有限公司 | 数据处理方法和数据处理*** |
US7587394B2 (en) | 2003-09-23 | 2009-09-08 | International Business Machines Corporation | Methods and apparatus for query rewrite with auxiliary attributes in query processing operations |
US7149736B2 (en) | 2003-09-26 | 2006-12-12 | Microsoft Corporation | Maintaining time-sorted aggregation records representing aggregations of values from multiple database records using multiple partitions |
AU2003279999A1 (en) | 2003-10-21 | 2005-06-08 | Nielsen Media Research, Inc. | Methods and apparatus for fusing databases |
US7620630B2 (en) * | 2003-11-12 | 2009-11-17 | Oliver Lloyd Pty Ltd | Directory system |
US8078481B2 (en) * | 2003-12-05 | 2011-12-13 | John Steinbarth | Benefits administration system and methods of use and doing business |
US7689542B2 (en) | 2004-01-13 | 2010-03-30 | Oracle International Corporation | Dynamic return type generation in a database system |
US20050177578A1 (en) | 2004-02-10 | 2005-08-11 | Chen Yao-Ching S. | Efficient type annontation of XML schema-validated XML documents without schema validation |
US7376656B2 (en) | 2004-02-10 | 2008-05-20 | Microsoft Corporation | System and method for providing user defined aggregates in a database system |
KR100619064B1 (ko) | 2004-07-30 | 2006-08-31 | 삼성전자주식회사 | 메타 데이터를 포함하는 저장 매체, 그 재생 장치 및 방법 |
US8447743B2 (en) | 2004-08-17 | 2013-05-21 | International Business Machines Corporation | Techniques for processing database queries including user-defined functions |
CN1314634C (zh) | 2004-09-17 | 2007-05-09 | 南京理工大学 | 单质***降静电处理方法 |
US7392169B2 (en) * | 2004-10-21 | 2008-06-24 | International Business Machines Corporation | Method, system and program product for defining and recording minimum and maximum event counts of a simulation utilizing a high level language |
US7899833B2 (en) | 2004-11-02 | 2011-03-01 | Ab Initio Technology Llc | Managing related data objects |
US8145642B2 (en) | 2004-11-30 | 2012-03-27 | Oracle International Corporation | Method and apparatus to support bitmap filtering in a parallel system |
US20060129893A1 (en) * | 2004-11-30 | 2006-06-15 | Smith Alan R | Apparatus, system, and method for criteria driven summarization of trace entry data |
US7694088B1 (en) * | 2005-03-31 | 2010-04-06 | Symantec Operating Corporation | System and method for efficient creation of aggregate backup images |
US20060230019A1 (en) * | 2005-04-08 | 2006-10-12 | International Business Machines Corporation | System and method to optimize database access by synchronizing state based on data access patterns |
US8572018B2 (en) * | 2005-06-20 | 2013-10-29 | New York University | Method, system and software arrangement for reconstructing formal descriptive models of processes from functional/modal data using suitable ontology |
US7877350B2 (en) | 2005-06-27 | 2011-01-25 | Ab Initio Technology Llc | Managing metadata for graph-based computations |
US7584205B2 (en) * | 2005-06-27 | 2009-09-01 | Ab Initio Technology Llc | Aggregating data with complex operations |
US20070021995A1 (en) | 2005-07-20 | 2007-01-25 | Candemir Toklu | Discovering patterns of executions in business processes |
US7774346B2 (en) | 2005-08-26 | 2010-08-10 | Oracle International Corporation | Indexes that are based on bitmap values and that use summary bitmap values |
US20070073721A1 (en) | 2005-09-23 | 2007-03-29 | Business Objects, S.A. | Apparatus and method for serviced data profiling operations |
US7565349B2 (en) * | 2005-11-10 | 2009-07-21 | International Business Machines Corporation | Method for computing frequency distribution for many fields in one pass in parallel |
US20070214179A1 (en) | 2006-03-10 | 2007-09-13 | Khanh Hoang | Searching, filtering, creating, displaying, and managing entity relationships across multiple data hierarchies through a user interface |
US8271452B2 (en) * | 2006-06-12 | 2012-09-18 | Rainstor Limited | Method, system, and database archive for enhancing database archiving |
NO325864B1 (no) | 2006-11-07 | 2008-08-04 | Fast Search & Transfer Asa | Fremgangsmåte ved beregning av sammendragsinformasjon og en søkemotor for å støtte og implementere fremgangsmåten |
US20080114789A1 (en) | 2006-11-15 | 2008-05-15 | Wysham John A | Data item retrieval method and apparatus |
JP2008146242A (ja) * | 2006-12-07 | 2008-06-26 | Ricoh Co Ltd | 発注支援システム、機器監視装置、機器監視方法及びプログラム |
US7894075B2 (en) * | 2006-12-11 | 2011-02-22 | Zygo Corporation | Multiple-degree of freedom interferometer with compensation for gas effects |
US8412713B2 (en) * | 2007-03-06 | 2013-04-02 | Mcafee, Inc. | Set function calculation in a database |
US9224179B2 (en) * | 2007-05-14 | 2015-12-29 | The University Of Utah Research Foundation | Method and system for report generation including extensible data |
US7958142B2 (en) | 2007-09-20 | 2011-06-07 | Microsoft Corporation | User profile aggregation |
JP5241738B2 (ja) * | 2008-01-28 | 2013-07-17 | 株式会社ターボデータラボラトリー | 表からツリー構造データを構築する方法及び装置 |
US20090226916A1 (en) * | 2008-02-01 | 2009-09-10 | Life Technologies Corporation | Automated Analysis of DNA Samples |
US7912867B2 (en) | 2008-02-25 | 2011-03-22 | United Parcel Services Of America, Inc. | Systems and methods of profiling data for integration |
US7904464B2 (en) * | 2008-08-27 | 2011-03-08 | International Business Machines Corporation | Virtual list view support in a distributed directory |
US8463739B2 (en) * | 2008-08-28 | 2013-06-11 | Red Hat, Inc. | Systems and methods for generating multi-population statistical measures using middleware |
JP5287071B2 (ja) * | 2008-09-17 | 2013-09-11 | 株式会社リコー | データベース管理システムおよびプログラム |
US20100114976A1 (en) * | 2008-10-21 | 2010-05-06 | Castellanos Maria G | Method For Database Design |
US8150832B2 (en) * | 2009-03-06 | 2012-04-03 | Oracle International Corporation | Methods and systems for automatically determining a default hierarchy from data |
US9251212B2 (en) | 2009-03-27 | 2016-02-02 | Business Objects Software Ltd. | Profiling in a massive parallel processing environment |
US20110029478A1 (en) | 2009-05-20 | 2011-02-03 | Broeker Stephen A | Stream Star Schema and Nested Binary Tree for Data Stream Analysis |
US8977705B2 (en) * | 2009-07-27 | 2015-03-10 | Verisign, Inc. | Method and system for data logging and analysis |
AU2010295547B2 (en) | 2009-09-16 | 2015-05-07 | Ab Initio Technology Llc | Mapping dataset elements |
US8560575B2 (en) * | 2009-11-12 | 2013-10-15 | Salesforce.Com, Inc. | Methods and apparatus for selecting updates to associated records to publish on an information feed in an on-demand database service environment |
WO2011060257A1 (en) | 2009-11-13 | 2011-05-19 | Ab Initio Technology Llc | Managing record format information |
US8595284B2 (en) | 2009-12-14 | 2013-11-26 | Samsung Electronics Co., Ltd | Web application script migration |
US8396873B2 (en) | 2010-03-10 | 2013-03-12 | Emc Corporation | Index searching using a bloom filter |
US8326824B2 (en) * | 2010-05-28 | 2012-12-04 | International Business Machines Corporation | Methods to estimate existing cache contents for better query optimization |
KR101781416B1 (ko) * | 2010-06-22 | 2017-09-25 | 아브 이니티오 테크놀로지 엘엘시 | 관련 데이터세트의 처리 |
JP2012009996A (ja) * | 2010-06-23 | 2012-01-12 | National Institute Of Information & Communication Technology | 情報処理システム、中継装置、および情報処理方法 |
JP5398663B2 (ja) * | 2010-08-06 | 2014-01-29 | 三菱電機株式会社 | データ処理装置及びデータ処理方法及びプログラム |
WO2012051216A1 (en) * | 2010-10-11 | 2012-04-19 | The Regents Of The University Of Colorado, A Body Corporate | Direct echo particle image velocimetry flow vector mapping on ultrasound dicom images |
US8296274B2 (en) | 2011-01-27 | 2012-10-23 | Leppard Andrew | Considering multiple lookups in bloom filter decision making |
CA2823658C (en) | 2011-01-28 | 2018-03-13 | Ab Initio Technology Llc | Generating data pattern information |
JP5556695B2 (ja) * | 2011-02-16 | 2014-07-23 | 株式会社島津製作所 | 質量分析データ処理方法及び該方法を用いた質量分析装置 |
EP2704682A4 (en) * | 2011-05-05 | 2014-10-22 | Aegis Analytical Corp | SYSTEM FOR DESIGNATING, DISPLAYING AND SELECTING TYPES OF PROCESS PARAMETERS AND PRODUCT RESET PARAMETERS |
EP2608122A1 (en) * | 2011-12-22 | 2013-06-26 | Philip Morris Products S.A. | Systems and methods for quantifying the impact of biological perturbations |
US8610605B2 (en) | 2011-06-17 | 2013-12-17 | Sap Ag | Method and system for data compression |
DE102012210794A1 (de) * | 2011-07-01 | 2013-02-07 | International Business Machines Corporation | System und Verfahren zur Datenqualitätsüberwachung |
US8856085B2 (en) | 2011-07-19 | 2014-10-07 | International Business Machines Corporation | Automatic consistent sampling for data analysis |
US8666919B2 (en) | 2011-07-29 | 2014-03-04 | Accenture Global Services Limited | Data quality management for profiling, linking, cleansing and migrating data |
WO2013062984A1 (en) * | 2011-10-24 | 2013-05-02 | The Brigham And Women's Hospital, Inc. | Method for treatment of mesothelioma |
CN103176973B (zh) | 2011-12-20 | 2016-04-20 | 国际商业机器公司 | 用于生成数据库的测试工作负载的***和方法 |
US8762396B2 (en) | 2011-12-22 | 2014-06-24 | Sap Ag | Dynamic, hierarchical bloom filters for network data routing |
US9336246B2 (en) | 2012-02-28 | 2016-05-10 | International Business Machines Corporation | Generating composite key relationships between database objects based on sampling |
US9483268B2 (en) * | 2012-03-16 | 2016-11-01 | International Business Machines Corporation | Hardware based run-time instrumentation facility for managed run-times |
US10061807B2 (en) * | 2012-05-18 | 2018-08-28 | Splunk Inc. | Collection query driven generation of inverted index for raw machine data |
WO2013190083A1 (en) * | 2012-06-21 | 2013-12-27 | Philip Morris Products S.A. | Systems and methods relating to network-based biomarker signatures |
EP2909746B1 (en) * | 2012-10-22 | 2019-12-18 | Ab Initio Technology LLC | Profiling data with source tracking |
KR102113366B1 (ko) * | 2012-10-22 | 2020-05-20 | 아브 이니티오 테크놀로지 엘엘시 | 데이터 저장 시스템에서 데이터 소스 특성화 |
US9348773B2 (en) * | 2013-05-28 | 2016-05-24 | Dell Products, L.P. | Systems and methods for adaptive interrupt coalescing in a converged network |
-
2013
- 2013-08-02 EP EP13752720.6A patent/EP2909746B1/en active Active
- 2013-08-02 JP JP2015537694A patent/JP6207619B2/ja active Active
- 2013-08-02 US US13/957,641 patent/US9569434B2/en active Active
- 2013-08-02 KR KR1020157012267A patent/KR102129643B1/ko active IP Right Grant
- 2013-08-02 KR KR1020157013538A patent/KR102074026B1/ko active IP Right Grant
- 2013-08-02 EP EP13748437.4A patent/EP2909745B1/en active Active
- 2013-08-02 AU AU2013335229A patent/AU2013335229B2/en active Active
- 2013-08-02 CN CN201811474571.3A patent/CN110096494B/zh active Active
- 2013-08-02 WO PCT/US2013/053412 patent/WO2014065919A1/en active Application Filing
- 2013-08-02 EP EP19216483.8A patent/EP3657348B1/en active Active
- 2013-08-02 JP JP2015537698A patent/JP6357162B2/ja active Active
- 2013-08-02 CN CN201380055099.9A patent/CN104737167B/zh active Active
- 2013-08-02 AU AU2013335231A patent/AU2013335231B2/en active Active
- 2013-08-02 CN CN201380055340.8A patent/CN104756107B/zh active Active
- 2013-08-02 US US13/958,057 patent/US9323748B2/en active Active
- 2013-08-02 WO PCT/US2013/053351 patent/WO2014065917A1/en active Application Filing
- 2013-08-02 CA CA2887670A patent/CA2887670C/en active Active
- 2013-08-02 CA CA2888250A patent/CA2888250C/en active Active
- 2013-10-22 AU AU2013334870A patent/AU2013334870B2/en active Active
- 2013-10-22 CN CN201380055344.6A patent/CN104769586B/zh active Active
- 2013-10-22 KR KR1020157013542A patent/KR102134494B1/ko active IP Right Grant
- 2013-10-22 WO PCT/US2013/066061 patent/WO2014066314A1/en active Application Filing
- 2013-10-22 JP JP2015538128A patent/JP6377622B2/ja active Active
- 2013-10-22 CA CA2887931A patent/CA2887931C/en active Active
- 2013-10-22 EP EP13786806.3A patent/EP2909752B1/en active Active
- 2013-10-22 US US14/059,590 patent/US9323749B2/en active Active
- 2013-10-22 EP EP20187755.2A patent/EP3764242A1/en active Pending
-
2015
- 2015-09-21 US US14/859,502 patent/US9990362B2/en active Active
- 2015-12-03 HK HK15111895.6A patent/HK1211113A1/zh unknown
- 2015-12-03 HK HK15111898.3A patent/HK1211116A1/zh unknown
- 2015-12-03 HK HK15111884.9A patent/HK1211109A1/zh unknown
-
2017
- 2017-02-13 US US15/431,008 patent/US10719511B2/en active Active
-
2018
- 2018-10-24 AU AU2018253523A patent/AU2018253523B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1102490A (zh) * | 1993-09-24 | 1995-05-10 | 美国电报电话公司 | 图形分析记录文件的方法和装置 |
CN101393521A (zh) * | 2008-11-13 | 2009-03-25 | 上海交通大学 | Windows应用程序内部固化数据的提取*** |
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104756107B (zh) | 采用位置信息剖析数据 | |
CN108292310B (zh) | 用于数字实体相关的技术 | |
CN111612041B (zh) | 异常用户识别方法及装置、存储介质、电子设备 | |
US8032532B2 (en) | Efficient multifaceted search in information retrieval systems | |
JP4997856B2 (ja) | データベース分析プログラム、データベース分析装置、データベース分析方法 | |
US7805010B2 (en) | Cross-ontological analytics for alignment of different classification schemes | |
US9720986B2 (en) | Method and system for integrating data into a database | |
KR20150080533A (ko) | 데이터 저장 시스템에서 데이터 소스 특성화 | |
KR101590976B1 (ko) | 협업 필터링 기반 추천 성능을 향상 시키기 위한 의미 클러스터 기반 매트릭스 지역화 방법 및 장치 | |
CN106062751A (zh) | 对与数据类型有关的数据剖析操作的管理 | |
KR101296683B1 (ko) | 데이터 스트림에서의 다중 조인 질의 처리를 위한 2 페이즈 수행 방법 | |
CN108427730A (zh) | 一种基于随机游走和条件随机场的社会标签推荐方法 | |
CN104636422B (zh) | 用于挖掘数据集中的模式的方法和*** | |
CA3231515A1 (en) | Records matching techniques for facilitating database search and fragmented record detection | |
CA3231513A1 (en) | Records matching techniques for facilitating database search and fragmented record detection | |
CA3231516A1 (en) | Fragmented record detection based on records matching techniques | |
Chen et al. | Efficient and scalable graph similarity joins in mapreduce | |
Wu et al. | Efficient in-memory evaluation of reachability graph pattern queries on data graphs | |
JP5954742B2 (ja) | 文書を検索する装置及び方法 | |
Bindschadler | Privacy-preserving seedbased data synthesis | |
CN115080921B (zh) | 一种基于审计敏感的改进的Top-k Dominating方法 | |
Hadzic et al. | Mining unordered distance-constrained embedded subtrees | |
Jamil | Optimizing phylogenetic queries for performance | |
Aminah et al. | Detection of COVID‐19 Using Protein Sequence Data via Machine Learning Classification Approach | |
CN117009588A (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 1211109 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant |