CN111971665B - 将验证结果整合到数据归档中的技术以及相关系统和方法 - Google Patents

将验证结果整合到数据归档中的技术以及相关系统和方法 Download PDF

Info

Publication number
CN111971665B
CN111971665B CN201880091819.XA CN201880091819A CN111971665B CN 111971665 B CN111971665 B CN 111971665B CN 201880091819 A CN201880091819 A CN 201880091819A CN 111971665 B CN111971665 B CN 111971665B
Authority
CN
China
Prior art keywords
value
census
values
field
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.)
Active
Application number
CN201880091819.XA
Other languages
English (en)
Other versions
CN111971665A (zh
Inventor
乔尔·古尔德
S·瑞比奇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ab Initio Technology LLC
Original Assignee
Ab Initio Technology LLC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Ab Initio Technology LLC filed Critical Ab Initio Technology LLC
Publication of CN111971665A publication Critical patent/CN111971665A/zh
Application granted granted Critical
Publication of CN111971665B publication Critical patent/CN111971665B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/215Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

根据一些方面,提供了用于配置数据处理系统的技术,该技术提高了生成数据集的数据简档的灵活性和效率。该数据处理系统可以在单独的处理步骤中产生该数据集的值普查和验证普查。然后可以通过以允许在这两个普查之间匹配该数据集的字段‑值对的方式处理该验证普查,用该验证普查的内容来丰富该值普查。

Description

将验证结果整合到数据归档中的技术以及相关系统和方法
技术领域
本申请涉及用于将验证结果整合到数据归档中的技术、以及相关系统和方法。
背景技术
消耗和/或产生数据集的企业和其他组织对这些数据集的质量保证相当感兴趣。数据集的大小可能很大,通常包含成千上万甚至数百万条记录,使得对这些数据集进行自动化分析是审查这些记录是否满足预定的质量保证指标的唯一可行方法。数据集的质量保证分析通常利用有效性规范,该规范基于记录的内容来定义数据集的记录何时被认为有效和无效。另外,对记录的数据字段值的统计分析(诸如对每个值的实例的计数)在除有效性检查之外还可以产生有价值的质量保证信息。
作为这种过程的说明,数据集的记录格式可以包含邮政编码数据字段,该邮政编码数据字段与检查邮政编码是否遵循适当的格式(例如,在美国为五位数字或五位数字加上四位数字扩展)的有效性规则相关联。将这种有效性规则应用于数据集的记录可以指示数据集中有多少记录包含有效或无效的美国邮政编码值。即使邮政编码值的格式正确,也可能从对邮政编码值的统计分析中获得进一步的质量保证信息。例如,如果大量邮政编码值意外地具有相同的值,则可能会出现质量保证问题。邮政编码值的这种分布可能指示产生或修改邮政编码值的过程中出现了数据处理错误。
利用验证方法和统计方法两者的分析在本文中称为“归档”数据集。这种分析的集合性结果在本文中称为“数据简档”。
发明内容
根据一些方面,提供了一种操作数据处理系统以基于以下各项生成数据简档的计算机实施的方法:至少一个数据集,该至少一个数据集具有定义多个字段的相关联记录格式;针对该至少一个数据集的值普查,该值普查包括第一多个值,每个值具有该多个字段中的相关联字段和多个计数值,其中,计数值指示相应字段和值的组合在该至少一个数据集中出现的次数;以及验证规范,该验证规范包括多个验证规则,该多个验证规则定义针对该多个字段中的一个或多个字段的无效性的准则,该方法包括:至少部分地基于该至少一个数据集和该验证规范来生成验证普查,该验证普查包括:第二多个值,每个值具有该多个字段中的相关联字段;以及多个无效性指示,每个无效性指示与该第二多个值之一相关联;以及至少部分地基于该值普查和该验证普查,生成该至少一个数据集的数据简档,其中,生成该数据简档包括:将该第二多个值中的值及其相关联字段与该第一多个值中的值及其相关联字段进行匹配;以及至少部分地通过以下方式来产生针对该值普查的第一多个值的数据简档:用该验证普查的与该第二多个值中的匹配的值及其相关联字段相关联的无效性指示来丰富该第一多个值中的值及其相关联字段。
根据一些方面,提供了一种计算机系统,该计算机系统包括:至少一个处理器;至少一个用户接口设备;以及至少一个计算机可读介质,该至少一个计算机可读介质包括处理器可执行指令,这些处理器可执行指令在被执行时使该至少一个处理器执行基于以下各项生成数据简档的方法:至少一个数据集,该至少一个数据集具有定义多个字段的相关联记录格式;针对该至少一个数据集的值普查,该值普查包括第一多个值,每个值具有该多个字段中的相关联字段和多个计数值,其中,计数值指示相应字段和值的组合在该至少一个数据集中出现的次数;以及验证规范,该验证规范包括多个验证规则,该多个验证规则定义针对该多个字段中的一个或多个字段的无效性的准则,该方法包括:至少部分地基于该至少一个数据集和该验证规范来生成验证普查,该验证普查包括:第二多个值,每个值具有该多个字段中的相关联字段;以及多个无效性指示,每个无效性指示与该第二多个值之一相关联;以及至少部分地基于该值普查和该验证普查,通过以下方式生成该至少一个数据集的数据简档:将该第二多个值中的值及其相关联字段与该第一多个值中的值及其相关联字段进行匹配;以及至少部分地通过以下方式来产生针对该值普查的第一多个值的数据简档:用该验证普查的与该第二多个值中的匹配的值及其相关联字段相关联的无效性指示来丰富该第一多个值中的值及其相关联字段。
根据一些方面,提供了一种用于基于以下各项生成数据简档的计算机系统:至少一个数据集,该至少一个数据集具有定义多个字段的相关联记录格式;针对该至少一个数据集的值普查,该值普查包括第一多个值,每个值具有该多个字段中的相关联字段和多个计数值,其中,计数值指示相应字段和值的组合在该至少一个数据集中出现的次数;以及验证规范,该验证规范包括多个验证规则,该多个验证规则定义针对该多个字段中的一个或多个字段的无效性的准则,该计算机系统包括:至少一个处理器;用于至少部分地基于该至少一个数据集和该验证规范来生成验证普查的装置,该验证普查包括:第二多个值,每个值具有该多个字段中的相关联字段;以及多个无效性指示,每个无效性指示与该第二多个值之一相关联;以及用于至少部分地基于该值普查和该验证普查、通过以下方式生成该至少一个数据集的数据简档的装置:将该第二多个值中的值及其相关联字段与该第一多个值中的值及其相关联字段进行匹配;以及至少部分地通过以下方式来产生针对该值普查的第一多个值的数据简档:用该验证普查的与该第二多个值中的匹配的值及其相关联字段相关联的无效性指示来丰富该第一多个值中的值及其相关联字段。
可以用上文或下文进一步详细描述的方面、特征和动作的任何适当组合来实施前述装置和方法的实施例。根据以下描述并结合附图可以更全面地理解本传授内容的这些和其他方面、实施例和特征。
附图说明
将参照以下附图描述各个方面和实施例。应当理解,附图不一定按比例绘制。在附图中,在各个附图中展示的每个完全相同或几乎相同的部件由相同的数字表示。为了清楚起见,可能并非在每个附图中都标记了每个部件。
图1是描绘了根据一些实施例的归档数据集的过程的流程图;
图2A是描绘了根据一些实施例的通过将值普查的数据与验证普查的数据进行组合来丰富值普查的过程的流程图;
图2B根据一些实施例描绘了图2A的过程中的说明性数据;
图2C描绘了根据一些实施例的用例,在该用例中,不同的用户和/或过程创建值普查并在图2A的过程中丰富值普查;
图2D描绘了根据一些实施例的用于生成适合于与值普查组合的形式的验证普查的说明性过程;
图3A是描绘了根据一些实施例的通过将值普查的数据与验证普查的数据进行组合来丰富值普查的第一技术的流程图;
图3B是描绘了根据一些实施例的图3A的过程中的说明性数据的流程图;
图3C是描绘了根据一些实施例的根据图3A的第一技术来丰富值普查的流程图;
图4A是描绘了根据一些实施例的通过将值普查的数据与验证普查的数据进行组合来丰富值普查的第二技术的流程图;
图4B是描绘了根据一些实施例的图4A的过程中的说明性数据的流程图;
图4C是描绘了根据一些实施例的根据图4A的第二技术来丰富值普查的流程图;
图5A是描绘了根据一些实施例的通过将值普查的数据与验证普查的数据进行组合来丰富值普查的第三技术的流程图;
图5B是描绘了根据一些实施例的图5A的过程中的说明性数据的流程图;
图5C是描绘了根据一些实施例的根据图5A的第三技术来丰富值普查的流程图;
图5D根据一些实施例展示了根据字段-值对的类型有效性的真值表;以及
图6展示了可以在其上实施本发明的各个方面的计算系统环境的示例。
具体实施方式
如上所讨论的,生成“数据简档”可以包括关于数据生成有效性(例如,哪些记录有效或无效)信息和统计(例如,值的计数、平均值等)信息两者的任何分析。在常规的数据归档过程中,一次审查数据集的一个记录。针对每个记录,使用有效性规范来检查每个记录的数据字段,以根据该规范确定是否有任何数据字段包含无效数据,并且如果是,则确定哪些数据字段包含无效数据以及出于何种原因包含无效数据。另外,保留有关出现在每个字段中的各种值的信息,使得可以在该过程结束时产生有关每个字段的值的统计数据。然而,这种过程是不灵活的,因为数据集的有效性检查和统计处理是先后进行的,从而导致要在单个操作中进行大量处理。此外,必须将整个数据集归档为单元,以便产生期望的无效性信息和统计信息。对于大型数据集而言,此过程的计算非常密集,使得需要大量的处理操作才能产生数据集的期望的数据简档。此方法的说明性示例在图1中示出,在下面进行进一步的讨论。
发明人已经认识并理解,数据集的归档可以分为多个阶段。首先,可以从数据集中产生“值普查”,该值普查归纳了值在数据集的每个数据字段中出现的频率,从而产生具有相关联计数值的字段-值对的列表。其次,并且单独地,可以从数据集中产生“验证普查”,该验证普查标识了数据集的记录的无效字段。然后,通过用验证普查中的与值普查的字段-值对相关联的任何无效性指示来“丰富”值普查数据,从而组合来自每个普查的数据。此方法的优点在于,生成值普查的过程无需使用生成验证普查或使用验证普查来丰富值普查的同一软件。实际上,该技术允许在任何位置和使用任何合适的软件来生成值普查,从而大大提高了提供给数据归档过程的灵活性。
相应地,此多阶段方法会产生两组不同的数据——值普查和验证普查,每组数据通常都不提供数据集的完整数据简档。例如,数据字段的特定值可能有时有效而有时无效,因为针对该数据字段的有效性规范可能取决于一个或多个其他数据字段的值。至少由于这个原因,通常不能仅仅从由值普查所表示的数据字段值的统计数据中获得对数据的完整理解,因为对数据字段值的多个实例的计数没有提供有关该数据字段值的有效性的信息。验证普查也不能依据其自身完全传达质量,因为该验证普查仅指示无效性实例或有效性实例,而不包括有关数据值的任何统计数据。
作为非限制性示例,要应用的验证规范可以在国家数据字段等于“US”且邮政编码不包含五个数字(在此示例中,其他国家数据字段值可以针对邮政编码数据字段具有不同的附加有效性规则)时指示邮政编码数据字段无效。数据集的值普查可以指示特定的邮政编码“02144”在数据集中出现了100次,但仅此并不指示这100个值中的哪些可能是有效的,哪些可能是无效的,因为值普查没有确定哪些相应国家值对应于这100个值。实际上,进行这种分析将涉及对有效性的检查;在所描述的多步骤过程中,值普查旨在避免这样的有效性检查。类似地,验证普查将针对包含“02144”邮政编码值的记录中的每一个,指示哪些记录有效以及哪些记录无效。实际上,可以对验证普查进行分析以确定“02144”邮政编码在验证普查中出现了多少次,但这将再次重复产生值普查所需的处理,而这种类型的组合式处理正是所描述的多步骤过程旨在避免的。
然而,用验证普查来丰富值普查呈现出一个挑战,因为验证普查的内容不容易与值普查的内容一对一映射。由于值普查仅指示数据字段的计数及其相应的值,因此无法从值普查中辨别哪些记录对哪些字段-值计数做出了贡献。另一方面,验证普查产生与数据的特定记录相关联的无效性指示。但是,在可以丰富值普查条目之前,需要针对值普查中的给定条目标识验证普查的对应条目。
发明人已经认识并理解用于通过匹配来自值普查和验证普查的字段-值对来组合每个普查的技术。可以处理对数据集应用验证规范的结果来“上卷(roll up)”记录的无效性指示,以产生无效字段-值对的计数,从而允许用验证普查中的匹配的字段-值对来丰富值普查的字段-值对。在一些情况下,值普查中给定的字段-值对的计数可能与验证普查中同一字段-值对的对应计数不匹配;仅当该字段和值组合的一些(而非全部)实例无效时,才会发生这种情况。在这种情况下,组合普查数据的过程可以解释这些普查以产生适当的输出。
根据一些实施例,由数据处理系统将验证规范应用于数据集可以产生与数据集的特定记录相关联的无效性指示。例如,数据处理系统可以接收数据集和验证规范作为输入,并且除了产生针对每个记录指定是否发现了该记录的任何数据字段是无效的以及出于何种(哪些)原因无效的数据之外还可以产生包含数据集的记录的数据。如上所讨论的,尽管这种结果通常可能是有用的有效性指示,但是,这种形式的输出不容易用于丰富值普查。这样,根据一些实施例,验证普查的产生可以汇总与数据集的相应记录相关联的有效性指示,以产生与相应字段-值对相关联的无效性指示。
根据一些实施例,汇总与数据集的相应记录相关联的有效性指示的数据处理系统可以“上卷”那些指示,使得针对每个字段-值组合产生无效性指示的列表。也就是说,汇总可以针对数据集中的每个记录在验证普查中产生一个记录,该记录包含来自数据集记录的字段-值对以及该字段-值对被认为无效的原因的指示。上卷操作可以对这种数据执行附加的汇总,使得每个唯一的字段-值对在验证普查中出现一次,并且每个字段-值对都具有相关联的无效性原因的列表。在一些实施例中,还可以在验证普查中针对相关联字段-值对产生每个无效性实例的计数值。
根据一些实施例,值普查可以包括数据集中存在的每个字段-值对的类型有效性指示。数据处理系统可以通过访问描述数据集的记录格式并且整理记录格式的每个数据字段的每个值的实例来产生值普查。这样,数据处理系统可以另外检查这些值是否符合如记录格式所定义的预期类型。例如,包括电话号码数据字段的记录格式可以具有数字类型。在整理此字段的每个值的实例数以产生值普查的同时,数据处理系统可以针对这些值中的每一个另外确定该值是否符合预期数字类型。值普查可以相应地包括所包括的字段-值对中的每一个是类型有效还是类型无效的指示。
根据一些实施例,值普查可以包括每个字段-值对的空位性(nullity)指示。在一些情况下,描述数据集的记录格式可以指示针对该记录的一个或多个字段,是否将该字段的特定值解释为null(空位)值。虽然通常将空字段值定义为被解释为null,但通常可以将任何合适的字段值定义为null。在一些实施例中,从数据集中生成值普查的数据处理系统可以另外检查这些值是否是根据记录格式定义为null的值。例如,当包括名称字段的记录格式为空时,其可以被定义为null字符串字段。在整理此字段的每个值的实例数以产生值普查的同时,数据处理系统可以针对这些值中的每一个另外确定该值是否为空、并且因此被认为null。值普查可以相应地包括所包括的字段-值对中的每一个是否为null的指示。可以针对值普查生成空位性指示,而与是否也生成类型有效性指示无关。也就是说,可以针对值普查生成其中任一个指示或这两个指示。
以下是与用于将验证结果整合到数据归档中的技术有关的各种概念和这些技术的实施例的更详细描述。应当理解,本文所描述的各个方面可能以多种方式中的任何方式来实施。本文仅出于说明性目的提供了具体实施方式的示例。另外,以下实施例中描述的各个方面可以单独使用或以任何组合使用,并且不限于本文明确描述的组合。
图1是描绘了根据一些实施例的归档数据集的过程的流程图。过程100展示了常规的数据归档过程,在该过程中,数据处理系统部分地基于验证规范104来分析数据集102,并且基于该分析来产生数据简档120。如上所讨论的,数据简档在本文中是指描述数据集的有效性和统计数据两者的数据,并且可以由数据处理系统的用户界面以各种方式(包括经由图表、图、列表或其组合,其一些示例在图1中示出)中的任何一种来呈现。
如图1的说明性示例中所示,数据集102具有相关联记录格式,该记录格式定义了三个数据字段(以下简称为“字段”):客户ID、国家和邮政编码。验证规范定义了许多验证规则,可以对照这些验证规则检查数据集的记录和字段值,以确定任何记录是否无效以及出于何种原因无效。验证规范可以采用各种形式,诸如,在电子表格或被设计成允许针对给定记录格式输入有效性规则的其他软件中定义的规则、和/或通过审查输入值并产生指示这些值的有效性的输出来实施一组验证规则的代码。
在图1的示例中,第一验证规则指示,对于在国家字段的值为“USA”时被认为有效的记录,邮政编码必须包含五位数字,并且是有效的美国邮政编码。例如,可以通过对照有效邮政编码的列表检查邮政编码来确定邮政编码作为有效邮政编码的有效性。在图1的说明性数据归档过程中,在分析步骤110中,审查数据集102中的记录中的每一个,以查看其是否符合此验证规则。也就是说,执行过程100的数据处理系统对每个记录的相关字段(在此示例中,国家和邮政编码)的表达式进行评估,并且该评估的结果指示该记录是否有效。可以从步骤110输出有效性指示或无效性指示(其可以例如包括任何无效值),以产生数据简档120。
在过程100中,可以在步骤110中针对数据集102的记录来检查验证规范104的每个规则。此外,数据处理系统在执行步骤110时可以对每个字段包含在数据集102中找到的每个唯一值的次数进行计数。然后,系统可以整理这些统计数据以产生数据简档120。鉴于以上过程,在执行步骤110时,针对每个记录,数据处理系统针对该记录来评估验证规范104中的所有验证规则,并更新数据集102中每个字段的每个值的唯一实例的运行总数。如上所讨论的,针对数据集的每个记录执行所有这些操作可能会占用大量时间,并且可能需要大量处理能力才能完成,尤其是在数据集包含许多字段和许多记录时。由数据处理系统将该过程分为产生值普查和验证普查可以为进行该处理的方式和位置提供更大的灵活性,因为数据简档的产生不必是单个整体的过程,而是可以在多个位置通过多个不同的计算系统、并甚至用多种不同类型的软件进行。
根据一些实施例,除了无效字段值的出现次数的列表之外,数据简档120还可以包括关于数据集102的一个或多个字段的唯一值的绝对或相对出现次数的统计数据。仅作为一个示例,在图1中表示了这样的数据的一部分。数据简档可以以任何合适的方式来表示此数据,使得数据处理系统或其他系统可以经由包括图表、表格等的用户界面向用户呈现数据简档的各方面。
图2A是描绘了根据一些实施例的通过将值普查的数据与验证普查的数据进行组合来丰富值普查的过程的流程图。在图2A的示例中,数据处理系统可以执行过程200,在该过程中,在步骤220中对照验证规范204来检查数据集202以产生无效性指示。单独地且独立地,将数据集的值普查210输入到该过程。然后,在步骤230中通过用无效性指示来丰富值普查数据来组合值普查和验证普查。数据处理系统然后可以基于组合的普查数据来产生数据简档240。如上所讨论的,可以由数据处理系统通过在这两个普查之间匹配字段-值对来执行用验证普查来丰富值普查,下面将进一步讨论其示例。
值普查210可以已经由执行过程200的同一数据处理系统产生,或者可以已经由不同的数据处理系统产生。实际上,本文所描述的方法(图2A描绘了其说明性示例)的灵活性提供的是值普查210可以由任何合适的系统以任何合适的方式(包括通过与由执行过程200的数据处理系统所实施的软件应用不同的软件应用)产生。
图2B描绘了根据一些实施例的图2A的过程的说明性实例。为了展示可以在图2A的过程200内被处理的数据的一个示例,图2B描绘了其中要分析特定示例性数据集的过程201。数据集202包括三个字段:客户标识号(“客户ID”)、国家和邮政编码。为了清楚起见,在图2B中示出了几个示例性记录,但应当理解,数据集202可以包括许多这样的记录。
在图2B的示例中,数据集的值普查210被提供作为过程230的输入,该过程将值普查210与所生成的验证普查进行组合。如上所述,可以从不同的过程接收数据集202的值普查,或者可以可选地在过程201中从数据集202中生成值普查。值普查210包括与数据集中202中存在的字段-值对相关联的计数。例如,在图2B所示的第一记录中存在的字段客户ID的值2165121在整个数据集中仅出现一次,如在值普查中针对此字段和值对的计数1所指示的。作为另一个示例,根据值普查,在图2B中所描绘的数据的第一记录和第二记录中存在的国家字段的值“USA”在数据集202中出现了6372次。
在图2B的示例中,验证规范包括至少三个说明性验证规则,这些验证规则涉及邮政编码字段和客户ID字段。在此示例中,根据记录中国家字段的值(无论国家是“USA”还是“UK”)将与邮政编码字段相关的两个规则之一应用于记录。如上所述,由数据处理系统将验证规则中的每一个应用于数据集202的每个记录,以在步骤220中生成验证普查。例如,当数据处理系统在图2B的步骤220中针对所展示的数据的第二记录来评估验证规范时,国家字段的值为“USA”;因此,第一验证规则将触发检查记录的邮政编码是否为五位数字,并且该值是否为有效的美国邮政编码。在这种情况下,该值为五位数字,但值为“00000”,这是无效的美国邮政编码。结果是,数据处理系统在步骤220中生成验证普查的记录,该记录标识了该邮政编码字段、相关联的值“00000”以及对有效性问题的描述——发现USA邮政编码不是有效的邮政编码。如图2B的示例中所示,有四次发现此特定的字段-值对由于这个原因无效。在数据处理系统生成验证普查之后,系统可以在步骤230中将此普查与值普查进行组合。组合这些普查的过程将在以下进一步详细描述。
为了帮助说明图2A中所示的过程的灵活性,图2C描绘了图2A的示例性用例,在该用例中,不同的用户和/或过程创建值普查并在图2A的过程中丰富值普查。如上所讨论的,将值普查与验证普查进行组合的数据处理系统不必是产生了值普查的同一数据处理系统。图2C展示了此场景的示例,在该场景中,在位置A中操作第一数据处理系统的用户251操作该系统以通过过程207从数据集202中产生值普查210。在位置B中操作第二数据处理系统的不同用户252操作该系统以从同一数据集202中产生验证规范,从位置A接收值普查,并在步骤230中通过丰富值普查来组合普查数据。然后,可以从丰富后的普查数据中产生数据简档240。
图2D描绘了根据一些实施例的用于生成适合于与值普查组合的形式的验证普查的说明性过程。如上所讨论的,对于将验证普查与值普查进行组合的数据处理系统,验证普查和值普查可以各自包括唯一的字段-值对的列表,使得可以匹配字段-值对并且可以将相应的信息(即,值普查中的计数与验证普查中的问题)进行组合。图2D描绘了图2A的步骤220可以如何被配置用于产生这种形式的验证普查的说明性示例。出于说明的目的,在图2D中示出了根据图2B的示例的到过程220的示例输入和输出数据。
在图2D的示例中,执行步骤220的数据处理系统获得数据集202和验证规范204作为输入。数据集202包括多个记录,每个记录包括N个数据字段。在整个图2D的示例中,出于说明的目的,通过“记录……结束”容器内的字段列举来表示对过程中的每个阶段的数据进行描述的记录格式。例如,数据集202所包含的记录包括命名为字段1、字段2、……、字段N的字段。
在图2D的步骤221中,可以将验证规范204的规则应用于数据集202以产生无效性指示。数据处理系统可以针对每个输入的数据集202的记录来评估这些验证规则中的每一个,从而产生除了包含由验证规则识别出的问题的向量“问题[N]”之外还包含所评估的记录的数据的记录。应当理解,对于根据验证规范包含有效数据的记录,此向量的长度可以为零(即,此向量可以为空)。向量“问题[N]”的元素可以各自标识由数据处理系统在步骤221中通过应用验证规范而生成的验证问题。
在图2D的步骤222中,由数据处理系统对步骤221输出的数据执行规范化操作,该规范化操针对每个输入的记录产生数量等于向量“问题[N]”的长度的记录数。相应地,对于不包含问题(即,根据验证规范204是有效的)的记录,步骤222不输出记录。除了问题本身的指示之外,对于从步骤221输出的数据中存在的每个问题,由步骤222输出的数据还指示产生所识别出的问题的相应字段的名称“字段名称(fieldname)”、以及产生所识别出的问题的该字段的值“字段值(fieldvalue)”。因此,当执行步骤222时,数据处理系统针对在步骤221中发现的每个有效性问题产生一个记录。
在图2D的步骤223中,由数据处理系统使用字段名称、字段值和问题的组合作为键,对步骤222输出的数据执行上卷操作。此操作将具有相同的字段名称、字段值和问题组合的所有记录“上卷”到单个记录中,该记录还包括该组合在数据中出现了多少次的计数。相应地,步骤223的输出包括每个唯一的字段名称、字段值和问题组合以及该组合的实例计数。
应当理解,数据处理系统可以以许多不同的方式来对照验证规范来检查数据集的记录并产生与数据集的字段-值对相关联的验证问题的列表,并且相应地,图2D仅作为一个说明性示例而提供。
图3A是描绘了根据一些实施例的通过将值普查的数据与验证普查的数据进行组合来丰富值普查的第一技术的流程图。过程300展示了由数据处理系统执行的过程,在该过程中,将这些普查数据进行组合以产生可以从其中产生数据简档的数据。如上所讨论的,数据集的值普查可以指示字段-值对的计数,而验证普查可以被配置(例如,经由图2D的过程)用于指示数据集的字段-值对的验证问题的计数。
在图3A的示例中,在步骤330中,使用相应普查的字段和值字段的组合作为联接键(join key),将值普查310与验证普查320进行联接。也就是说,对于值普查的每个记录(在图3A的示例中,每个记录都包括字段的名称、该字段的对应值以及在数据库中存在的字段-值对实例的计数),都使用验证普查中具有匹配的字段名称和字段值的任何记录来丰富值普查。这种组合的结果针对原始数据集中的每个字段-值对除了产生针对该字段-值对发现的任何验证问题的列表之外还产生该字段-值对的出现次数的计数。可以在步骤340中基于由步骤330产生的丰富后的普查数据来产生数据简档。
图3B描绘了根据一些实施例的图3A的过程中的步骤330的说明性实例。为了展示可以在图3A的过程330内被处理的数据的一个示例,图3B描绘了将说明性值普查和验证普查进行组合的过程302。在图3B的示例中,已经针对根据具有三个字段(客户标识号(“客户ID”)、国家和邮政编码)的记录格式定义的数据集生成了说明性值普查381。图3B中示出了一些说明性的字段-值对的计数。另外,已经生成了说明性的验证普查382,并且该验证普查指示数据集的几个字段-值对的无效性计数和无效性问题。步骤330基于输入381和382产生丰富后的普查数据383,该丰富后的普查数据针对值普查的字段-值对指示哪些记录是有效的和无效的、以及在识别出无效实例时出于什么原因确定了无效性。
例如,客户ID值7773XXX在数据集中出现了一次,如值普查381中该字段和值对的计数所示。另外,该字段-值对在验证普查中以相同的计数和识别出的无效性原因(“类型无效”)出现。所产生的丰富后的普查数据383包括该字段-值对的实例的归纳。作为另一个示例,邮政编码值02421在数据集中出现了18次,如值普查381所示。此字段-值对在验证普查中作为“无效的UK邮政编码”伴随计数1出现。因此,当用此验证普查数据来丰富值普查时,可以推断出,存在邮政编码-02421的字段-值对的17个有效实例、以及一个无效实例,如丰富后的普查数据383中所归纳的。
图3C描绘了用于实施图3A的步骤330的说明性方法。在图3C的示例中,在步骤331中将值普查和验证普查的字段-值对进行匹配。由于已经在图3A的示例中准备值普查和验证普查所采用的方式,每个唯一的字段和值组合在值普查中出现不超过一次,但是在相同的字段和值对产生了多个不同的无效性问题的情况下,同一字段和值组合可能在验证普查中出现多次。在一些情况下,字段-值对可能出现在值普查中而未出现在验证普查中,这指示此字段-值对的每个实例都被认为是有效的。在其他情况下,字段值对可能同时出现在值普查和验证普查中,这指示字段-值对的至少一些实例是无效的。
在一些实施例中,步骤331可以由执行步骤330的数据处理系统实施为联接操作。也就是说,可以使用字段和值组合作为联接键来产生值普查和验证普查中的记录的并集。所产生的数据可以针对值普查中的每个字段-值对,除了包括该字段-值对在数据集中出现的次数的计数之外,还包括关于该字段-值对的任何问题以及问题出现次数的计数的指示。
无论在步骤331中字段-值对的匹配方式如何,在步骤332中,都审查出现在值普查中的每个字段-值对,以确定其在值普查中的计数值是否等于来自验证普查中的所有匹配的字段-值对中的计数值总数。如果计数匹配,则这指示在数据集中该字段-值对的所有实例均无效。相应地,在这种情况下,在步骤333中产生指示此字段-值对的所有实例均被认为无效的数据。在图3C的示例中,还产生指示针对相应字段-值对、那些记录被认为无效的原因的数据。
可替代地,在步骤334中,出现在值普查中的字段-值对的计数值可能大于验证普查中的所有匹配的字段-值对中的计数值总数。这指示数据处理系统发现并非字段-值对的全部实例都是无效的。在步骤334中,数据处理系统通过从来自值普查的计数中减去验证普查中的所有匹配的计数值之和,来确定字段-值对的有效实例的数目。在来自验证普查的所有匹配的计数值之和为零的一些情况下,这指示字段-值对的所有实例都被认为是有效的。可替代地,可能字段-值对的实例中的仅一部分被认为是有效的。在动作335中,产生指示字段-值对的一些实例被认为是有效的、并且在一些情况下还指示字段-值对的一些实例是无效的数据。在图3C的示例中,在动作335中识别出无效实例的情况下,还产生指示针对相应字段-值对那些记录被认为无效的原因的数据。
应当理解,在一些实施例中,因为针对给定的字段-值对,来自验证普查的所有匹配的计数值之和无法超过来自值普查的计数,所以可以不必执行动作334的逻辑评估。这样,一旦已经确定了动作332的逻辑评估并且认为其为假,则动作334的逻辑评估就可能是多余的。相应地,数据处理系统可以在评估步骤332之后直接执行步骤335。
图4A是描绘了根据一些实施例的通过将值普查的数据与验证普查的数据进行组合来丰富值普查的第二技术的流程图。过程400展示了由数据处理系统执行的过程,在该过程中,将这些普查数据进行组合以产生可以从其中产生数据简档的数据。如上所讨论的,数据集的值普查可以指示字段-值对的计数,而验证普查可以被配置(例如,经由图2D的过程)用于指示数据集的字段-值对的验证问题的计数。
在图4A的示例中,在步骤430中,使用相应普查的字段和值字段的组合作为联接键,将值普查410与验证普查420进行联接。也就是说,对于值普查的每个记录(在图4A的示例中,每个记录都包括字段的名称、该字段的对应值以及在数据库中存在的字段-值对实例的计数),都使用验证普查中具有匹配的字段名称和字段值的任何记录来丰富值普查。这种组合的结果针对原始数据集中的每个字段-值对除了产生针对该字段-值对发现的任何验证问题的列表之外还产生该字段-值对的出现次数的计数。可以在步骤440中基于由步骤430产生的丰富后的普查数据来产生数据简档。
与图3A相比,在图4A的示例中,验证普查已经被配置成使得无效性问题的向量和相应的计数与出现在验证普查中的每个字段-值对相关联。因此,与图3A的示例不同,验证普查的每个字段-值对仅出现一次,多个实例已经“反规范化”为单个记录内的向量。因此,此向量的长度等于针对相关联字段-值对识别出的不同无效性原因的数目。
图4B描绘了根据一些实施例的图4A的过程的说明性实例。为了展示可以在图4A的过程430内被处理的数据的一个示例,图4B描绘了将说明性值普查和验证普查进行组合的过程402。在图4B的示例中,已经针对根据具有三个字段(客户标识号(“客户ID”)、国家和邮政编码)的记录格式定义的数据集生成了说明性值普查481。图4B中示出了一些说明性的字段-值对的计数。另外,已经生成了说明性的验证普查482,并且该验证普查指示数据集的几个字段-值对的无效性计数和无效性问题。步骤430基于输入481和482产生丰富后的普查数据483,该丰富后的普查数据针对值普查的字段-值对指示哪些记录是有效的和无效的、以及在识别出无效实例时出于什么原因确定了无效性。
图4C描绘了用于实施图4A的步骤430的说明性方法。在图4C的示例中,在步骤431中将值普查和验证普查的字段-值对进行匹配。由于已经在图4A的示例中准备值普查和验证普查所采用的方式,每个唯一的字段和值组合在值普查或验证普查中出现都不超过一次。在一些情况下,字段-值对可能出现在值普查中而未出现在验证普查中,这指示此字段-值对的每个实例都被认为是有效的。在其他情况下,字段值对可能同时出现在值普查和验证普查中,这指示字段-值对的至少一些实例是无效的。
在一些实施例中,步骤431可以由执行步骤430的数据处理系统实施为联接操作。也就是说,可以使用字段和值组合作为联接键来产生值普查和验证普查中的记录的并集。所产生的数据可以针对值普查中的每个字段-值对,除了包括该字段-值对在数据集中出现的次数的计数之外,还包括关于该字段-值对的任何问题以及问题出现次数的计数(例如,根据验证普查420的向量格式)的指示。
无论在步骤431中字段-值对的匹配方式如何,在步骤432中,都审查出现在值普查中的每个字段-值对,以确定其在值普查中的计数值是否等于来自验证普查中的所有匹配的字段-值对中的计数值总数。如果计数匹配,则这指示在数据集中该字段-值对的所有实例均无效。相应地,在这种情况下,在步骤433中产生指示此字段-值对的所有实例均被认为无效的数据。在图4C的示例中,还产生指示针对相应字段-值对、那些记录被认为无效的原因的数据。
可替代地,在步骤434中,出现在值普查中的字段-值对的计数值可能大于验证普查中的所有匹配的字段-值对中的计数值总数。这指示数据处理系统发现并非字段-值对的全部实例都是无效的。在步骤434中,数据处理系统通过从来自值普查的计数中减去验证普查中的所有匹配的计数值之和,来确定字段-值对的有效实例的数目。在来自验证普查的所有匹配的计数值之和为零的一些情况下,这指示字段-值对的所有实例都被认为是有效的。可替代地,可能字段-值对的实例中的仅一部分被认为是有效的。在动作435中,产生指示字段-值对的一些实例被认为是有效的、并且在一些情况下还指示字段-值对的一些实例是无效的数据。在图4C的示例中,在动作435中识别出无效实例的情况下,还产生指示针对相应字段-值对那些记录被认为无效的原因的数据。
应当理解,在一些实施例中,因为针对给定的字段-值对,来自验证普查的所有匹配的计数值之和无法超过来自值普查的计数,所以可以不必执行动作434的逻辑评估。这样,一旦已经确定了动作432的逻辑评估并且认为其为假,则动作434的逻辑评估就可能是多余的。相应地,数据处理系统可以在评估步骤432之后直接执行步骤435。
图5A是描绘了根据一些实施例的通过将值普查的数据与验证普查的数据进行组合来丰富值普查的第三技术的流程图。过程500展示了由数据处理系统执行的过程,在该过程中,将这些普查数据进行组合以产生可以从其中产生数据简档的数据。如上所讨论的,数据集的值普查可以指示字段-值对的计数,而验证普查可以被配置(例如,经由图2D的过程)用于指示数据集的字段-值对的验证问题的计数。
在图5A的示例中,值普查510被配置用于包括对字段-值对的类型的评估。字段的类型由其记录格式定义,并且类型可以包括字符串或字符字段、字母数字字段、数字或十进制字段、日期、时间或日期和时间字段、二进制字段等。由于字段-值对的每个实例将针对类型表现出相同的有效性或无效性(字段-值对是否遵循所定义的类型),因此,产生值普查的数据处理系统可以确定每个字段-值对的类型有效性并将所产生的类型有效性存储在值普查中。在一些实施例中,字段可以具有被视为NULL的定义值。NULL值是特殊标记,该特殊标记指示数据值既不有效也不无效,而是不存在。在这种情况下,产生值普查的数据处理系统可以在确定类型有效性时确定字段-值对是否为NULL。在这些情况下,类型有效性可以是有效的、无效的或NULL。
在图5A的示例中,在步骤530中,使用相应普查的字段和值字段的组合作为联接键,将值普查510与验证普查520进行联接。也就是说,对于值普查的每个记录(在图5A的示例中,每个记录都包括字段的名称、该字段的对应值、在数据库中存在的字段-值对实例的计数以及类型有效性的指示),都使用验证普查中具有匹配的字段名称和字段值的任何记录来丰富值普查。这种组合的结果针对原始数据集中的每个字段-值对除了产生针对该字段-值对发现的任何验证问题的列表之外还产生该字段-值对的出现次数的计数。可以在步骤540中基于由步骤530产生的丰富后的普查数据来产生数据简档。
在图5A的示例中,验证普查已经被配置成使得无效性问题的向量和相应的计数与出现在验证普查中的每个字段-值对相关联。因此,与图4A的示例一样,验证普查的每个字段-值对仅出现一次,多个实例已经“反规范化”为单个记录内的向量。因此,此向量的长度等于针对相关联字段-值对识别出的不同无效性原因的数目。
图5B描绘了根据一些实施例的图5A的过程的说明性实例。为了展示可以在图5A的过程530内被处理的数据的一个示例,图5B描绘了将说明性值普查和验证普查进行组合的过程502。在图5B的示例中,已经针对根据具有三个字段(客户标识号(“客户ID”)、国家和邮政编码)的记录格式定义的数据集生成了说明性值普查581。图5B中示出了一些说明性的字段-值对的计数。如上所讨论的,在图5B的示例中,值普查还可以包括针对每个字段-值对的类型有效性的指示。另外,已经生成了说明性的验证普查582,并且该验证普查指示数据集的几个字段-值对的无效性计数和无效性问题。到图5A中所示的步骤530的这些输入产生丰富后的普查数据583,该丰富后的普查数据针对值普查的字段-值对指示哪些记录是有效的和无效的、以及在识别出无效实例时出于什么原因确定了无效性。丰富后的普查数据583包括如下示例:在数据集中国家字段的5个实例为NULL,如值普查所指示的。
图5C描绘了用于实施图5A的步骤530的说明性方法。在图5C的示例中,在步骤531中将值普查和验证普查的字段-值对进行匹配。由于已经在图5A的示例中准备值普查和验证普查所采用的方式,每个唯一的字段和值组合在值普查或验证普查中出现都不超过一次。在一些情况下,字段-值对可能出现在值普查中而未出现在验证普查中,这指示此字段-值对的每个实例都被认为是有效的。在其他情况下,字段值对可能同时出现在值普查和验证普查中,这指示字段-值对的至少一些实例是无效的。
在一些实施例中,步骤531可以由执行步骤530的数据处理系统实施为联接操作。也就是说,可以使用字段和值组合作为联接键来产生值普查和验证普查中的记录的并集。所产生的数据可以针对值普查中的每个字段-值对,除了包括该字段-值对在数据集中出现的次数的计数之外,还包括关于该字段-值对的任何问题以及问题出现次数的计数(例如,根据验证普查520的向量格式)的指示。
无论在步骤531中字段-值对的匹配方式如何,在步骤532中,都审查出现在值普查中的每个字段-值对,以确定值普查是否指示该值的类型有效。在图5C的示例中,该值的类型有效、类型无效还是NULL决定了关于在验证普查中识别出的记录的无效性可能出现多个可能结果中的哪一个。图5D中展示了针对此类可能性的真值表,在该真值表中,针对字段-值对的给定类型有效性结果,指示可能在丰富后的普查数据中出现的可能结果。当字段-值对的类型有效时,根据有效性规范,该字段-值对的实例可能是有效的或无效的,如表560的第一行所示。当字段-值对的类型无效时,至少是由于类型无效性(也可能是由于其他无效性问题),该字段-值对的实例必然无效。当字段-值对为NULL时,该字段-值对的实例可以为NULL且无效(如果在无效性规范中定义了指示认为NULL是无效的无效性规则),或者否则为NULL且有效。
返回图5C,当在步骤532中值普查指示字段-值对被确定为类型有效时,在步骤533中,确定其在值普查中的计数值是否等于来自验证普查中的所有匹配的字段-值对中的计数值总和。如果计数匹配,则这指示在数据集中该字段-值对的所有实例均无效。相应地,在这种情况下,在步骤534中产生指示此字段-值对的所有实例均被认为无效的数据。在图5C的示例中,还产生指示针对相应字段-值对、那些记录被认为无效的原因的数据。
可替代地,在步骤535中,出现在值普查中的字段-值对的计数值可能大于验证普查中的所有匹配的字段-值对中的计数值总数。这指示数据处理系统发现并非字段-值对的全部实例都是无效的。在步骤535中,数据处理系统通过从来自值普查的计数中减去验证普查中的所有匹配的计数值之和,来确定字段-值对的有效实例的数目。在来自验证普查的所有匹配的计数值之和为零的一些情况下,这指示字段-值对的所有实例都被认为是有效的。可替代地,可能字段-值对的实例中的仅一部分被认为是有效的。在动作536中,产生指示字段-值对的一些实例被认为是有效的、并且在一些情况下还指示字段-值对的一些实例是无效的数据。在图5C的示例中,在动作536中识别出无效实例的情况下,还产生指示针对相应字段-值对那些记录被认为无效的原因的数据。
应当理解,在一些实施例中,因为针对给定的字段-值对,来自验证普查的所有匹配的计数值之和无法超过来自值普查的计数,所以可以不必执行动作534的逻辑评估。这样,一旦已经确定了动作532的逻辑评估并且认为其为假,则动作534的逻辑评估就可能是多余的。相应地,数据处理系统可以在评估步骤532之后直接执行步骤535。
当在步骤532中值普查指示字段-值对被确定为类型非有效时,流程进行到步骤537,在该步骤中,审查值普查的类型有效性指示以查看其是否是类型无效。如果字段-值对的类型无效,则在步骤538中,数据处理系统产生指示此字段-值对的所有实例均被认为无效的数据。在图5C的示例中,还产生指示针对相应字段-值对、那些记录被认为无效的原因的数据。
当在步骤532和537中值普查指示字段-值对被确定为类型非有效或无效时,流程进行到步骤539,在该步骤中,审查值普查的类型有效性指示以查看其是否为NULL。如果值普查的类型有效性指示为NULL,则在步骤540中,将值普查的实例计数与来自针对相同字段-值对的验证普查的总计数进行比较,以确定这些计数是否匹配。如果计数匹配,则这指示在数据集中字段-值对的所有实例均为NULL且无效。相应地,在这种情况下,在步骤541中产生指示此字段-值对的所有实例均被认为NULL且无效的数据。在图5C的示例中,还产生指示针对相应字段-值对、那些记录被认为无效的原因的数据。
可替代地,在步骤542中,出现在值普查中的字段-值对的计数值可能大于验证普查中的所有匹配的字段-值对中的计数值总数。这指示数据处理系统发现并非字段-值对的全部实例都是无效的。在步骤542中,数据处理系统通过从来自值普查的计数中减去验证普查中的所有匹配的计数值之和,来确定字段-值对的NULL且有效实例的数目。在来自验证普查的所有匹配的计数值之和为零的一些情况下,这指示字段-值对的所有实例都被认为是NULL且有效的。可替代地,可能字段-值对的实例中的仅一部分被认为是NULL且有效的。在动作543中,产生指示字段-值对的一些实例被认为是NULL且有效的、并且在一些情况下还指示字段-值对的一些实例被认为是NULL且无效的数据。在图5C的示例中,在动作543中识别出NULL且无效实例的情况下,还产生指示针对相应字段-值对那些记录被认为无效的原因的数据。
图6展示了可以在其上实施本文所描述的技术的合适计算系统环境600的示例。计算系统环境600仅是合适的计算环境的一个示例,并且不旨在对本文所描述的技术的使用或功能的范围提出任何限制。也不应当将计算环境600解释为具有与示例性操作环境600中展示的部件中的任何一个或组合相关的任何依赖性或要求。
本文所描述的技术与许多其他通用或专用计算系统环境或配置一起操作。可以适合与本文所描述的技术一起使用的众所周知的计算系统、环境和/或配置的示例包括但不限于:个人计算机、服务器计算机、手持或膝上型设备、多处理器系统、基于微处理器的系统、机顶盒、可编程消费电子产品、网络PC、小型计算机、大型计算机、包括上述系统或设备中任一个的分布式计算环境等。
计算环境可以执行计算机可执行指令,诸如程序模块。通常,程序模块包括进行特定任务或实施特定抽象数据类型的例程、程序、对象、组件、数据结构等。本文所描述的技术还可以在分布式计算环境中实践,其中,任务由通过通信网络链接的远程处理设备进行。在分布式计算环境中,程序模块可以位于包括存储器存储设备的本地和远程计算机存储介质中。
参照图6,用于实施本文所描述的技术的示例性系统包括呈计算机610形式的通用计算设备。计算机610的部件可以包括但不限于处理单元620、系统存储器630、以及将包括系统存储器的各种系统部件耦合到处理单元620的系统总线621。系统总线621可以是包括存储器总线或存储器控制器、外围总线和使用各种总线架构中的任何架构的本地总线的若干类型的总线结构中的任何总线结构。通过举例而非限制,此类架构包括工业标准架构(ISA)总线、微通道架构(MCA)总线、增强ISA(EISA)总线、视频电子标准协会(VESA)本地总线、以及外围部件互连(PCI)总线(也称为夹层(Mezzanine)总线)。
计算机610通常包括各种计算机可读介质。计算机可读介质可以是可由计算机610访问的任何可用介质,并且包括易失性和非易失性介质、可移除和不可移除介质。通过举例而非限制,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以任何方法或技术实施的用于存储诸如计算机可读指令、数据结构、程序模块、或其他数据等信息的易失性和非易失性介质、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存存储器或其他存储器技术、CD-ROM、数字通用盘(DVD)或其他光盘存储装置、磁带盒、磁带、磁盘存储装置或其他磁存储设备、或者可用于存储期望信息并可由计算机610访问的任何其他介质。通信介质通常以诸如载波或其他传输机制等已调制数据信号来实施计算机可读指令、数据结构、程序模块或其他数据,并且包括任何信息递送介质。术语“已调制数据信号”是指以编码信号中的信息的这种方式使其特征中的一个或多个被设置或改变的信号。通过举例而非限制,通信介质包括有线介质(诸如有线网络或直接有线连接)以及无线介质(诸如声学、RF、红外线及其他无线介质)。上述中的任一个的组合也应包括在计算机可读介质的范围内。
系统存储器630包括呈易失性和/或非易失性存储器形式的计算机存储介质,诸如只读存储器(ROM)631和随机存取存储器(RAM)632。包含诸如在启动期间帮助在计算机610内的元件之间传输信息的基本例程的基本输入/输出系统633(BIOS)通常存储在ROM 631中。RAM 632通常包含可由处理单元620立即访问和/或当前正在操作的数据和/或程序模块。作为示例且非限制,图6展示了操作系统634、应用程序635、其他程序模块636和程序数据637。
计算机610还可以包括其他可移除/不可移除、易失性/非易失性计算机存储介质。仅通过举例,图6展示了读取或写入不可移除的非易失性磁介质的硬盘驱动器641、读取或写入可移除的非易失性存储器652(诸如闪存存储器)的闪存驱动器651、以及读取或写入可移除的非易失性光盘656(诸如CD ROM或其他光学介质)的光盘驱动器655。可以用于示例性操作环境中的其他可移除/不可移除、易失性/非易失性计算机存储介质包括但不限于磁带盒、闪存卡、数字通用盘、数字录像带、固态RAM、固态ROM等。硬盘驱动器641通常通过诸如接口640等不可移除存储器接口连接至系统总线621,并且磁盘驱动器651和光盘驱动器655通常由诸如接口650等可移除存储器接口连接至系统总线621。
上面讨论并在图6中展示的驱动器及其相关联的计算机存储介质为计算机610提供了计算机可读指令、数据结构、程序模块和其他数据的存储。例如,在图6中,硬盘驱动器641被展示为存储操作系统644、应用程序645、其他程序模块646和程序数据647。注意,这些部件与操作系统634、应用程序635、其他程序模块636和程序数据637可以是相同或不同的。这里给予了操作系统644、应用程序645、其他程序模块646和程序数据647不同的编号,以说明至少它们是不同的副本。用户可以通过诸如键盘662和定点设备661(通常称为鼠标、轨迹球或触摸板)等输入设备将命令和信息输入到计算机610中。其他输入设备(未示出)可以包括麦克风、操纵杆、游戏手柄、圆盘式卫星天线、扫描仪等。这些和其他输入设备通常通过耦合到系统总线的用户输入接口660连接到处理单元620,但可以由诸如并行端口、游戏端口或通用串行总线(USB)等其他接口和总线结构来连接。监视器691或其他类型的显示设备也经由诸如视频接口690等接口连接至系统总线621。除了监视器之外,计算机还可以包括可通过输出外围接口695连接的其他外围输出设备,诸如扬声器697和打印机696。
计算机610可以使用与一个或多个远程计算机(诸如远程计算机680)的逻辑连接在联网环境中操作。远程计算机680可以是个人计算机、服务器、路由器、网络PC、对等设备、或其他常见网络节点,并且通常包括以上描述的相对于计算机610的元件中的许多或全部,但是在图6中仅展示了存储器存储设备681。图6中描绘的逻辑连接包括局域网(LAN)671和广域网(WAN)673,但是还可以包括其他网络。这种联网环境在办公室、企业范围计算机网络、内联网和互联网中是普遍的。
当在LAN联网环境中使用时,计算机610通过网络接口或适配器670连接到LAN671。当在WAN联网环境中使用时,计算机610通常包括调制解调器672或用于通过诸如互联网等WAN 673建立通信的其他装置。调制解调器672可以是内置的或外置的,其可以经由用户输入接口660或其他适当的机制连接到系统总线621。在联网环境中,关于计算机610描绘的程序模块或是其部分可以存储在远程存储器存储设备中。作为示例且非限制性的,图6展示了远程应用程序685驻留在存储器设备681上。应当理解,所示出的网络连接是示例性的,并且可以使用在计算机之间建立通信链路的其他手段。
如此描述了本发明的至少一个实施例的若干方面之后,应当理解,本领域技术人员会容易想到各种更改、修改以及改进。
这种更改、修改以及改进旨在是本披露内容的一部分、并且旨在落入本发明的精神和范围之内。此外,尽管指示了本发明的优点,但应当理解,并非本文所描述的技术的每个实施例都将包括每个描述的优点。一些实施例可以不实施在本文中描述为有利的任何特征,并且在一些情况下,可以实施描述的特征中的一个或多个以实现进一步的实施例。因而,先前的描述和附图仅是通过举例的方式。
本文所描述的技术的上述实施例可以以多种方式中的任一种来实施。例如,可以使用硬件、软件或其组合来实施这些实施例。当在软件中实施时,可以在任何合适的处理器或处理器集合上执行软件代码,无论该处理器或处理器集合是设置在单个计算机中还是分布在多个计算机中。此类处理器可以被实施为集成电路(其中,一个集成电路部件中具有一个或多个处理器),包括名称为诸如CPU芯片、GPU芯片、微处理器、微控制器或协处理器等本领域已知的商用集成电路部件。可替代地,处理器可以以定制电路系统(诸如ASIC)或者通过配置可编程逻辑设备产生的半定制电路系统来实施。作为又一替代方案,处理器可以是较大电路的一部分或半导体器件,无论是商用的、半定制的还是定制的。作为具体示例,一些商用微处理器具有多个核,使得这些核中的一个或子集可以构成处理器。然而,处理器可以使用呈任何合适格式的电路系统来实施。
进一步地,应当理解,计算机可以实施为多种形式中的任何形式,诸如机架式计算机、台式计算机、膝上型计算机或平板计算机。另外,计算机可以嵌入在通常不被认为是计算机但具有合适的处理能力的设备中,该设备包括个人数字助理(PDA)、智能手机或任何其他合适的便携式或固定式电子设备。
而且,计算机可以具有一个或多个输入设备和输出设备。这些设备可以尤其用于呈现用户接口。可以用于提供用户接口的输出设备的示例包括用于对输出进行视觉呈现的打印机或显示屏,以及用于对输出进行听觉呈现的扬声器或其他声音生成设备。可以用于用户接口的输入设备的示例包括键盘和定点设备(诸如鼠标、触摸板以及数字化平板)。作为另一个示例,计算机可以通过语音识别或以其他可听格式接收输入信息。
这种计算机可以由呈任何合适的形式的一个或多个网络来互连,该一个或多个网络包括局域网或广域网,诸如企业网或互联网。这种网络可以基于任何合适的技术并且可以根据任何合适的协议来运行,并且可以包括无线网络、有线网络或光纤网络。
而且,本文中概括的各种方法或过程可以被编码为在采用各种操作系统或平台中的任一种的一个或多个处理器上可执行的软件。另外,这种软件可以使用多种合适的编程语言和/或编程或脚本工具中的任一种来编写,并且还可以被编译为可执行的机器语言代码或在框架或虚拟机上执行的中间代码。
在这方面,本发明可以被实施为用一个或多个程序进行编码的计算机可读存储介质(或多个计算机可读介质)(例如,计算机存储器、一个或多个软盘、压缩光盘(CD)、光盘、数字视频盘(DVD)、磁带、闪存存储器、现场可编程门阵列或其他半导体器件中的电路配置、或其他有形计算机存储介质),该一个或多个程序在一个或多个计算机或其他处理器上执行时进行实施以上讨论的本发明的各种实施例的方法。如从前文示例将清楚明白,计算机可读存储介质可以将信息保留足够的时间,以便提供呈非暂态形式的计算机可执行指令。这种计算机可读存储介质可以是可运送的,使得其上存储的一个或多个程序可以载入到一个或多个不同的计算机或其他处理器上,以实施如上讨论的本发明的各个方面。如本文使用的,术语“计算机可读存储介质”仅涵盖可被看作是制品(即,制造物品)或机器的非暂态计算机可读介质。可替代地或另外,本发明可以实施为除了计算机可读存储介质之外的计算机可读介质,诸如传播信号。
术语“程序”或“软件”当在本文中使用时在一般意义上使用,以指代任何类型的计算机代码或计算机可执行指令集,这些计算机代码或计算机可执行指令集可以被用来对计算机或其他处理器进行编程以实施如上讨论的本发明的各个方面。另外,应该理解,根据此实施例的一个方面,当被执行时进行本发明的方法的一个或多个计算机程序不必驻留在单个计算机或处理器上,而是可以用模块化的方式分布在多个不同的计算机或处理器中以实施本发明的各个方面。
计算机可执行指令可以呈由一个或多个计算机或其他设备执行的许多形式,诸如程序模块。通常,程序模块包括进行特定任务或实施特定抽象数据类型的例程、程序、对象、组件、数据结构等。通常,程序模块的功能可以如各个实施例所期望的而组合或分布。
而且,数据结构可以以任何合适的形式存储在计算机可读介质中。为了简化说明,可以将数据结构示出为具有通过数据结构中的位置而相关的字段。这种关系同样可以通过为针对字段的存储指派传达字段之间关系的计算机可读介质中的位置来实现。然而,可以使用任何合适的机制来建立数据结构的字段中的信息之间的关系,包括通过使用指针、标签、或建立数据元素之间的关系的其他机制。
本发明的各个方面可以单独使用、组合使用、或以前文所述的实施例中未确切讨论的各种布置使用,并且因此在其应用中不局限于其在前文描述中所阐述或附图中所展示的部件的细节和布置。例如,一个实施例中描述的方面可以以任何方式与其他实施例中描述的方面组合。
而且,本发明可以实施为其示例已被提供的一种方法。作为该方法的一部分而进行的动作可以以任何合适的方式排序。因此,可以构造实施例,在这些实施例中,动作以与所展示的顺序不同的顺序进行,这可以包括同时进行一些动作,即使这些动作在说明性实施例中被示出为顺序动作。
进一步地,一些动作被描述为由“用户”做出。应当理解,“用户”不必是单个个人,并且在一些实施例中,可归因于“用户”的动作可以由个人团队和/或个人与计算机辅助工具或其他机构的组合来进行。
在权利要求中使用诸如“第一”、“第二”、“第三”等序数术语来修饰权利要求要素本身并不意味着一个权利要求要素优先于另一个权利要求要素的任何优先级、优先权或顺序,或者进行方法的动作的时间顺序,而是仅用作用于将具有某个名称的一个权利要求要素与具有同一名称(但使用序数术语)的另一个要素进行区分的标签,从而区分这些权利要求要素。
而且,在本文中使用的措辞和术语是用于描述的目的,而不应当被视为是限制性的。本文使用的“包括(including)”、“包括(comprising)”或“具有(having)”、“包含(containing)”、“涉及(involving)”及其变化形式旨在涵盖其后所列的项及其等效形式,以及其他项。

Claims (15)

1.一种操作数据处理系统以生成数据简档的计算机实施的方法,其中,所述数据简档是基于以下各项生成的:至少一个数据集,该至少一个数据集具有定义多个字段的相关联记录格式;针对该至少一个数据集的值普查,该值普查包括第一多个值和多个计数值,其中,该第一多个值中的每个值具有该多个字段中的相关联字段,计数值指示相应字段和值的组合在该至少一个数据集中出现的次数;以及验证规范,该验证规范包括多个验证规则,该多个验证规则定义针对该多个字段中的一个或多个字段的无效性的准则,该方法包括:
至少部分地基于该至少一个数据集和该验证规范来生成验证普查,该验证普查包括:
第二多个值,每个值具有该多个字段中的相关联字段;以及
多个无效性指示,每个无效性指示与该第二多个值之一相关联;以及
至少部分地基于该值普查和该验证普查,生成该至少一个数据集的数据简档,其中,生成该数据简档包括:
将该第二多个值中的值及其相关联字段与该第一多个值中的值及其相关联字段进行匹配;以及
至少部分地通过以下方式来产生针对该值普查的第一多个值的数据简档:用该验证普查的无效性指示来丰富该第一多个值中的值及其相关联字段,其中,该无效性指示与该第二多个值中的匹配的值以及该匹配的值的相关联字段相关联。
2.如权利要求1所述的方法,其中,该至少一个数据集的数据简档针对该多个字段中的第一字段指定该至少一个数据集的多个记录,该多个记录的针对该第一字段的值根据该验证规范是有效的。
3.如权利要求1所述的方法,其中,生成该验证普查包括生成针对该至少一个数据集的一个或多个记录的无效性指示。
4.如权利要求1所述的方法,进一步包括生成对该至少一个数据集中的、根据该验证规范是无效的多个记录的指示。
5.如权利要求1所述的方法,其中,该验证普查包括至少两种不同的无效性指示,该至少两种不同的无效性指示各自与该第二多个值中的第一值相关联。
6.如权利要求1所述的方法,其中,该至少一个数据集的数据简档针对该多个字段中的第一字段指定该至少一个数据集的多个记录,该多个记录的针对该第一字段的值根据该验证规范是null且无效的。
7.如权利要求1所述的方法,进一步包括通过以下方式生成该值普查:
根据该记录格式将该至少一个数据集的内容解析为数据结构;
整理与该多个字段中的每个字段相关联的值的实例;以及
记录所述实例的计数。
8.一种计算机系统,包括:
至少一个处理器;
至少一个用户接口设备;以及
至少一个计算机可读介质,该至少一个计算机可读介质包括处理器可执行指令,这些处理器可执行指令在被执行时使该至少一个处理器执行基于以下各项生成数据简档的方法:
至少一个数据集,该至少一个数据集具有定义多个字段的相关联记录格式;
针对该至少一个数据集的值普查,该值普查包括第一多个值和多个计数值,其中,该第一多个值中的每个值具有该多个字段中的相关联字段,计数值指示相应字段和值的组合在该至少一个数据集中出现的次数;以及
验证规范,该验证规范包括多个验证规则,该多个验证规则定义针对该多个字段中的一个或多个字段的无效性的准则,该方法包括:
至少部分地基于该至少一个数据集和该验证规范来生成验证普查,该验证普查包括:
第二多个值,每个值具有该多个字段中的相关联字段;以及
多个无效性指示,每个无效性指示与该第二多个值之一相关联;以及
至少部分地基于该值普查和该验证普查,通过以下方式生成该至少一个数据集的数据简档:
将该第二多个值中的值及其相关联字段与该第一多个值中的值及其相关联字段进行匹配;以及
至少部分地通过以下方式来产生针对该值普查的第一多个值的数据简档:用该验证普查的与该第二多个值中的匹配的值及其相关联字段相关联的无效性指示来丰富该第一多个值中的值及其相关联字段。
9.如权利要求8所述的计算机系统,其中,该至少一个数据集的数据简档针对该多个字段中的第一字段指定该至少一个数据集的多个记录,该多个记录的针对该第一字段的值根据该验证规范是有效的。
10.如权利要求8所述的计算机系统,其中,生成该验证普查包括生成针对该至少一个数据集的一个或多个记录的无效性指示。
11.如权利要求8所述的计算机系统,其中,这些处理器可执行指令进一步使该至少一个处理器生成对该至少一个数据集中的、根据该验证规范是无效的多个记录的指示。
12.如权利要求8所述的计算机系统,其中,该验证普查包括至少两种不同的无效性指示,该至少两种不同的无效性指示各自与该第二多个值中的第一值相关联。
13.如权利要求8所述的计算机系统,其中,该至少一个数据集的数据简档针对该多个字段中的第一字段指定该至少一个数据集的多个记录,该多个记录的针对该第一字段的值根据该验证规范是null且无效的。
14.如权利要求8所述的计算机系统,其中,这些处理器可执行指令进一步使该至少一个处理器通过以下方式生成该值普查:
根据该记录格式将该至少一个数据集的内容解析为数据结构;
整理与该多个字段中的每个字段相关联的值的实例;以及
记录所述实例的计数。
15.一种用于生成数据简档的计算机系统,其中,所述数据简档是基于以下各项生成的:至少一个数据集,该至少一个数据集具有定义多个字段的相关联记录格式;针对该至少一个数据集的值普查,该值普查包括第一多个值和多个计数值,其中,该第一多个值中的每个值具有该多个字段中的相关联字段,计数值指示相应字段和值的组合在该至少一个数据集中出现的次数;以及验证规范,该验证规范包括多个验证规则,该多个验证规则定义针对该多个字段中的一个或多个字段的无效性的准则;该计算机系统包括:
至少一个处理器;
用于至少部分地基于该至少一个数据集和该验证规范来生成验证普查的装置,该验证普查包括:
第二多个值,每个值具有该多个字段中的相关联字段;以及
多个无效性指示,每个无效性指示与该第二多个值之一相关联;以及
用于至少部分地基于该值普查和该验证普查、通过以下方式生成该至少一个数据集的数据简档的装置:
将该第二多个值中的值及其相关联字段与该第一多个值中的值及其相关联字段进行匹配;以及
至少部分地通过以下方式来产生针对该值普查的第一多个值的数据简档:用该验证普查的无效性指示来丰富该第一多个值中的值及其相关联字段,其中,该无效性指示与该第二多个值中的匹配的值及该匹配的值的相关联字段相关联。
CN201880091819.XA 2018-01-25 2018-01-25 将验证结果整合到数据归档中的技术以及相关系统和方法 Active CN111971665B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2018/015274 WO2019147249A1 (en) 2018-01-25 2018-01-25 Techniques for integrating validation results in data profiling and related systems and methods

Publications (2)

Publication Number Publication Date
CN111971665A CN111971665A (zh) 2020-11-20
CN111971665B true CN111971665B (zh) 2024-04-19

Family

ID=61224517

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880091819.XA Active CN111971665B (zh) 2018-01-25 2018-01-25 将验证结果整合到数据归档中的技术以及相关系统和方法

Country Status (7)

Country Link
EP (1) EP3743820A1 (zh)
JP (1) JP6977177B2 (zh)
CN (1) CN111971665B (zh)
AU (1) AU2018404194B2 (zh)
CA (1) CA3089465A1 (zh)
SG (1) SG11202007022WA (zh)
WO (1) WO2019147249A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11907051B1 (en) 2022-09-07 2024-02-20 International Business Machines Corporation Correcting invalid zero value for data monitoring

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2261820A2 (en) * 2003-09-15 2010-12-15 Ab Initio Technology LLC Data profiling
CN106796585A (zh) * 2014-09-10 2017-05-31 起元技术有限责任公司 条件验证规则

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102129643B1 (ko) * 2012-10-22 2020-07-02 아브 이니티오 테크놀로지 엘엘시 소스 추적으로 데이터 프로파일링
US20140115013A1 (en) * 2012-10-22 2014-04-24 Arlen Anderson Characterizing data sources in a data storage system
AU2015225694B2 (en) * 2014-03-07 2019-06-27 Ab Initio Technology Llc Managing data profiling operations related to data type

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2261820A2 (en) * 2003-09-15 2010-12-15 Ab Initio Technology LLC Data profiling
CN106796585A (zh) * 2014-09-10 2017-05-31 起元技术有限责任公司 条件验证规则

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Development and validation of an electronic medical record-based alert score for detection of inpatient deterioration outside the ICU;Patricia Kipnis;《Elsevier》;第64卷;全文 *
山东省地理国情普查数据库系统的设计与实现;刘现印;曹新国;宋拥军;张金盈;;山东国土资源(08);全文 *
数据质量评估方法在水利普查中的应用;王继民;赵运革;徐波;;水利发展研究(07);全文 *

Also Published As

Publication number Publication date
JP2021514500A (ja) 2021-06-10
EP3743820A1 (en) 2020-12-02
AU2018404194A1 (en) 2020-08-06
JP6977177B2 (ja) 2021-12-08
CN111971665A (zh) 2020-11-20
SG11202007022WA (en) 2020-08-28
CA3089465A1 (en) 2019-08-01
AU2018404194B2 (en) 2024-02-15
WO2019147249A1 (en) 2019-08-01

Similar Documents

Publication Publication Date Title
AU2018272840B2 (en) Automated dependency analyzer for heterogeneously programmed data processing system
US9449057B2 (en) Generating data pattern information
US9280569B2 (en) Schema matching for data migration
US20190251072A1 (en) Techniques for automated data analysis
CN112052138A (zh) 业务数据质量检测方法、装置、计算机设备及存储介质
US9619533B2 (en) System and method for reporting multiple objects in enterprise content management
US20120130932A1 (en) Symbolic finite automata
EP3836036A1 (en) Automated rule generation framework using machine learning for classification problems
CN112487021B (zh) 业务数据的关联分析方法、装置及设备
CN111428142A (zh) 一种基于随机森林分类器的代码评审人推荐系统及方法
US11068540B2 (en) Techniques for integrating validation results in data profiling and related systems and methods
CN111971665B (zh) 将验证结果整合到数据归档中的技术以及相关系统和方法
US20240095219A1 (en) Techniques for discovering and updating semantic meaning of data fields
US11914557B2 (en) Techniques for performing lifecycle operations on a data store
Cao et al. On the data complexity of relative information completeness
CN112016975A (zh) 产品筛选方法、装置、计算机设备及可读存储介质
US11853359B1 (en) System and method for reporting multiple objects in enterprise content management
CN112052034B (zh) 计算接口构建方法、装置、计算机设备及可读存储介质
Calautti et al. Probabilistic Answers over Inconsistent Knowledge Bases
Xiuguo et al. An Optimized Association Rules Mining Framework for Chinese Social Insurance Fund Data Auditing
CN112925752A (zh) 批量文件处理方法、装置、电子设备和存储介质
CN116108007A (zh) 报表数据校验方法、装置、计算机设备和存储介质
CN117390023A (zh) 数据合计方法、数据合计装置、设备及存储介质
CN117591544A (zh) 数据查询报表获取方法、装置、电子设备及存储介质
CN114185891A (zh) 一种数据表分片方法、装置、设备及介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for 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: 40040262

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant