首页> 中国专利> 表征数据存储系统中的数据源

表征数据存储系统中的数据源

摘要

表征数据包括:从接口读取数据到数据存储系统,并存储两组或更多组汇总数据(200A-200D),所述汇总数据用于汇总存储在所述数据存储系统中的不同相应数据源的数据;以及处理所存储的各组汇总数据,以生成用于表征来自所述数据存储系统中多个数据源的数据的系统信息(208)。所述处理包括:分析所存储的各组汇总数据,以选择存储了满足预定准则的数据的两个或更多个数据源,以及至少部分基于来自用于汇总所选择的数据源中的第一数据源的所存储的一组汇总数据的值与来自用于汇总所选择的数据源中的第二数据源的所存储的一组汇总数据的值之间的比较,来生成所述系统信息,所述系统信息包括识别包括在不同数据源中的记录的字段之间潜在的关系的信息。

著录项

  • 公开/公告号CN104756106A

    专利类型发明专利

  • 公开/公告日2015-07-01

    原文格式PDF

  • 申请/专利权人 起元科技有限公司;

    申请/专利号CN201380055136.6

  • 发明设计人 阿伦·安德森;

    申请日2013-08-02

  • 分类号G06F17/30(20060101);

  • 代理机构隆天知识产权代理有限公司;

  • 代理人章侃铱;张浴月

  • 地址 美国马萨诸塞州

  • 入库时间 2023-12-18 09:48:08

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-03-22

    授权

    授权

  • 2015-11-11

    实质审查的生效 IPC(主分类):G06F17/30 申请日:20130802

    实质审查的生效

  • 2015-07-01

    公开

    公开

说明书

相关申请的交叉引用

本申请要求2012年10月22日提交的序列号为61/716,909的美国申请的 优先权,其通过引用合并于此。

背景技术

本说明书涉及表征(characterizing)数据存储系统中的数据源。

存储的数据集常包括各种特性未知的数据。例如,数据集的取值范围或 典型值、数据集内的不同字段之间的关系、或不同字段中值之间的依赖关系 可能是未知的。数据剖析(data profiling)可涉及检查数据集的源以确定这些 特性。

发明内容

在一个方面中,一般地,一种用于表征数据的方法,包括:从接口读取 数据到数据存储系统,并存储两组或更多组汇总数据,所述汇总数据用于汇 总存储在所述数据存储系统中的不同相应数据源的数据;以及使用至少一个 处理器处理所存储的各组汇总数据,以生成用于表征来自所述数据存储系统 中多个数据源的数据的系统信息。所述处理包括:分析所存储的各组汇总数 据,以选择存储了满足预定准则的数据的两个或更多个数据源,以及至少部 分基于来自用于汇总所选择的数据源中的第一数据源的所存储的一组汇总数 据的值与来自用于汇总所选择的数据源中的第二数据源的所存储的一组汇总 数据的值之间的比较,来生成所述系统信息,所述系统信息包括用于识别包 括在不同数据源中的记录的字段之间潜在的关系的信息。

各个方面可以包括一个或多个以下特征。

所述处理还包括:存储对应于相应各组汇总数据的数据单元,所述数据 单元中的至少一些数据单元包括用于描述与对应的一组汇总数据相关联的一 个或多个特性的描述性信息,以及基于从所存储的数据单元聚合得到的所述 描述性信息来生成所述系统信息。

所述处理还包括方法:应用一个或多个规则到两个或更多个第二组汇总 数据,聚合所述第二组汇总数据以生成第三组汇总数据,以及存储所述第三 组汇总数据。

两个或更多个第二组汇总数据由相同记录格式的两个或更多个数据源推 导出。

所述一个或多个规则对所述两个或更多个第二组汇总数据之间的一个或 多个所选择的字段的值进行比较。

用于汇总存储在特定的数据源中的数据的所存储的一组汇总数据,对于 所述特定的数据源中记录的至少一个所选择的字段而言,包括值条目的相应 列表,每个值条目包括在所选择的字段中出现的值。

对应于特定的数据源的值条目列表中每个值条目还包括:在所选择的字 段中出现该值的记录的数量的计数。

对应于特定的数据源的值条目列表中每个值条目还包括:识别在所选择 的字段中出现该值的记录在所述特定的数据源内相应位置的位置信息。

所述位置信息包括所识别出的相应位置的比特向量表示。

所述比特向量表示包括经压缩的比特向量。

所述位置信息指向不再存储数据的位置,基于已存储的副本来重构该位 置信息所指向的数据。

所述处理还包括:将一个或多个字段添加到所述多个数据源中的至少一 个数据源的记录。

所添加的字段填充有由所述至少一个数据源的一个或多个所选择的字段 或字段的片段计算出的数据。

所添加的字段填充有由所述至少一个数据源的一个或多个所选择的字段 或字段的片段计算出的数据,并填充有来自所述至少一个数据源以外的数据 (例如,来自查找以丰富该记录)。

所述处理还包括:将所述一个或多个字段添加到第一组汇总数据。

在另一方面中,一般地,一种用于表征数据的方法,包括:从接口读取 数据到数据存储系统,并存储两组或更多组汇总数据,所述汇总数据用于汇 总存储在所述数据存储系统中的不同相应数据源的数据;以及使用至少一个 处理器处理所存储的各组汇总数据,以生成用于表征来自所述数据存储系统 中多个数据源的数据的系统信息。所述处理包括:存储对应于相应各组汇总 数据的数据单元,所述数据单元中的至少一些数据单元包括用于描述与对应 的一组汇总数据相关联的一个或多个特性的描述性信息,以及基于从所存储 的数据单元聚合得到的所述描述性信息来生成所述系统信息。

各个方面可以包括一个或多个特征。

用于汇总第一数据源中存储的数据的至少第一组汇总数据,对于所述第 一数据源中存储的记录的至少一个字段而言,包括在所述字段中出现的特异 值的列表以及每个特异值所出现的记录的数量的相应计数。

用于描述与所述第一组汇总数据相关联的一个或多个特性的描述性信息 包括:用于描述与所述第一组汇总数据相关联的一个或多个潜在问题的问题 信息。

所述一个或多个潜在问题包括:被检测为候选主关键字字段的字段中存 在重复值。

用于描述与所述第一组汇总数据相关联的一个或多个特性的描述性信息 包括:用于描述所述第一数据源中存储的记录的字段的填充度的填充信息。

用于描述与所述第一组汇总数据相关联的一个或多个特性的描述性信息 包括:用于描述所述第一数据源中存储的记录的字段中出现的值的唯一性程 度的唯一性信息。

用于描述与所述第一组汇总数据相关联的一个或多个特性的描述性信息 包括:用于描述对所述第一数据源中存储的记录的字段中出现的值加以表征 的一个或多个重复模式的模式信息。

在另一方面,一般地,一种用于表征数据的计算机程序,存储在计算机 可读存储介质上,所述计算机程序包括用于使得计算机系统执行上述方法中 任一种的各个步骤的指令。

在另一方面,一般地,一种用于表征数据的计算系统,所述计算系统包 括:数据存储系统,和被配置为从数据存储系统接收数据的输入设备或端口; 以及至少一个处理器,被配置为实施上述方法中任一种的各个步骤。

各个方面可以包括一个或多个以下优点。

在一些数据处理和/或软件开发环境中,数据质量跟踪程序中的一个方面 包括在数据存储系统内对数据源(多个)进行剖析,以生成特征描述,其使 得该程序能够对数据质量进行量化。特征描述中的信息和从特征描述中提取 的数据质量信息使得用户或数据分析员能够更好地理解该数据。除了特征描 述中的信息以外,诸如唯一值和特异值的计数、最大和最小值或共同和非共 同值的列表、字段特定验证规则(例如,“在信用卡号字段中的值必须是16- 位数字”)等可以在剖析之前推断出,并且特征描述将包括逐个字段基础上 的每个验证规则的无效例的计数。从长远来看,因为对具有相同格式和出处 的一系列数据源进行了剖析,所以数据质量指标(例如,“具有无效的信用 卡号的记录的分数比例(fraction)”)可以被定义和用于随着时间的推移监测 数据质量。

对于某些程序,数据剖析和数据质量跟踪基本上在逐个字段基础上(因 此在一次一个源的基础上)构思而成,(尽管允许涉及跨越源配对的字段的 规则)。数据剖析中的验证规则被应用于字段,或字段的组合、字段级,并 且在剖析之前被指定,并用作对字段特定值进行分类。多个验证规则可被应 用到同一字段,导致包含在被分析的记录的该字段中的值的更多样的分类, 而不是简单地分为有效的或无效的。

在剖析之后,在为数据源中的特定字段初始定义之后,可应用数据质量 度量。数据质量度量的值可聚合到一定层级上的数据质量测量值,以给出多 组相关字段视图。例如,顾客数据中“first_name(名字)”和“last_name(姓氏)” 字段的关于质量和填充度的字段特定数据质量度量能够被聚合到“顾客姓名” 的数据质量测量值,其依次被与“顾客地址”的类似的经聚合的数据质量测 量值结合,以计算“顾客信息”的数据质量测量值。汇总仍然是数据特定的: 数据质量测量值“顾客信息”的意思和用途来源于包含顾客数据的字段中的 原始数据(相对于例如生成数据而言)。

然而,在某些情况下,数据质量的系统级视图是有用的。例如,在第一 种情景下,一个公司有一个包括一千张表格的关系数据库。一千个数据特征 描述可以包括关于每一个表格的大量有用的信息,但不提供整个数据库的视 图,基本无需数据分析员的更多时间和精力投资。特别是,用不断发展的验 证规则对完整的表格进行重新剖析的代价可能很高,而在开始剖析之前构建 完整的一组验证规则的延迟可能很长。

在第二种情景下,一个公司迁移到一个新的计费系统。他们现有的计费 系统包括多个数据库,好几个数据库包含有一千张以上表格。他们知道在开 始数据迁移前应对数据进行剖析,但他们将如何及时消化所有的分析结果, 更不用说利用它?此外,在适合迁移之前他们将需要确保数据符合预定义的 数据质量标准。他们如何优化精力来清理数据?

在第三种情景下,公司有多个副本数据库,但这些数据库已经被允许进 行更新,并可能独立修改。没有人知道它们是否仍然保持同步,或可能有什 么差异。他们只是想无需构建验证规则来比较这些数据库——他们更关注一 致性而非有效性。

本文描述的技术使得能够基于应用一个或多个表征步骤来表征数据,包 括在批量数据的情况下,可以在数据剖析和数据质量跟踪之间执行,既按照 处理的次序又依据目的来进行。在一些实现方式中,表征步骤使得数据表征 能够基于剖析结果,更有效地应用验证规则或者各种数据质量度量,而无需 对数据存储系统中的所有数据源进行多个数据剖析。

从下面的描述中,以及从权利要求书中,本发明的其他特征和优点将变 得明显。

附图说明

图1是用于表征数据源的系统的方框图。

图2是数据表征步骤的示意图。

具体实施方式

参照图1,数据处理系统100从存储在数据存储系统中的一个或多个数 据源102(例如,数据库表或含有记录集合的其他数据集)读取数据,并使 用剖析引擎104对其进行剖析。存储数据源102的数据存储系统可以包括例 如任何数量的数据库系统或存储介质,并且可以与数据处理系统100集成或 经由一个或多个本地或网络连接进行耦接。剖析引擎104从元数据存储106 读取记录格式信息、验证规则、和可选的数据集位置信息、以及剖析配置信 息,为剖析做准备。存储在特征描述(profile)存储108中的剖析结果可以 包括对数据源102中的任何对象(包括字段、记录或数据集)进行汇总的信 息。例如,字段级特征描述汇总关于数据源的记录的特定字段中出现的值的 信息。可选地,特征描述结果还可以包括汇总统计文件(census file),其存 储被布置为所选字段的值条目列表的统计数据,每个值条目包括所选字段中 出现的特异值(distinct value)和(可选的)在所选字段中该特异值出现的记 录的数量计数。在剖析之后,从特征描述存储108读取所选对象的剖析结果, 并由表征引擎110进行处理。表征引擎110从元数据存储106或用户接口112 读取表征步骤、表征配置信息,和特征描述识别信息,以准备执行一个或多 个所选表征步骤。来自用户接口112的用户输入可以直接控制表征引擎110 的各个方面,包括选择哪些特征描述进行表征、应用哪些表征步骤(可能按 类别分组)、以及在特定表征步骤中使用什么阈值。用户输入还可以用于构 造将应用的新的表征步骤。可选地,在对一个或多个特征描述应用一个或多 个表征步骤之后,数据(例如,表征步骤的结果),可以通过数据质量引擎 114传递,用于随着时间的推移进行数据质量跟踪和监控。

在一些实现方式中,存储在特征描述存储108中的文件可以包含位置信 息、识别数据源中哪些特定记录包括给定值,并且(所选择的)数据源的(可 选地经压缩的)索引副本可以归档在索引源存档116中。在数据源(例如数 据库)随时间变化的情况下,这些数据源副本用作在剖析时刻的数据的快照。 通过使用附加到表征步骤的结果的位置信息以支持“深入(drill-down)”(例 如,响应于通过用户接口112的请求),系统100可以从索引源存档116检 索对应于数据表征观察结果(表征步骤的结果)的记录(原则上为穷尽集合)。 检索到的记录可以可选地转移到其他数据处理系统用于进一步的处理和/或 存储。在一些实现方式中,该位置信息表示采用比特向量的形式。如果出现 一个值的记录的数量计数未明确地包括在该值条目中,则可从该位置信息计 算出。

基于一个或多个表征步骤的数据表征可以以无视数据(data-blind)的方 式应用:忽略字段中的特定值及其含义,取其模式、计数和分布(例如,特 征描述和统计数据的组成部分)。例如,对于一些表征步骤,字段保存值“股 票(equity)”、“债券(bond)”和“衍生品(derivative)”而非值“p”、“q”和 “r”并不重要,但该字段包含带有取一个值的分布的三个值可能是重要的。 表征步骤一般应用于一类特征描述(或统计)对象中的任何对象,例如,应 用于任何字段级特征描述。这意味着相同的表征步骤可以应用于一类特征描 述对象中的每个对象而无需该对象下的语义的先验知识。表征步骤本身的一 部分能够确定其可应用性。

例如,字段级特征描述可以包含值的共同模式及其相关的计数的列表 (即,展现特定模式的记录的数量计数),其中模式的一个例子通过用 “A”取代每个字母并用“9”取代每个数字而保持所有其他字符(例如,空 格或标点符号)不变,由字段值形成的模式。“主要模式”表征步骤可以被 配置为通过将具有共同(非空白)模式的记录的分数比例与一阈值进行比较 (“如果超过95%的被填充记录共用一共同模式,则该字段主要由该模式填 充),来确定一个字段是否主要填充了具有特定模式的值。此表征步骤可以 应用到所有字段,但只有某些字段将满足该条件并且得到数据表征观察结果 (主要以一个模式填充)。2012/0197887号美国申请中可以找到模式的其他 例子,该申请通过引用合并于此。

对表征步骤的数据特定(data-specific)(语义)改进和扩展是可能的, 并且可以可选地被应用于使得结果更丰富。这样的扩展可以要求对特征描述 或统计数据中的值的评估,或可以指标识具有特定语义意义的特殊值。经扩 展的表征步骤仍可以应用到其类(或子类,如果表征步骤之前应用的条件是 相关的)中的所有特征描述对象。

表征步骤可以分层和/或是有条件的。已确定字段主要以一种模式填充, 可以取决于该模式的性质应用额外的表征步骤。例如,如果主要模式表征步 骤发现字段主要填充有16位数字,则这可能引发二级(数据特定)表征步骤 来检查特定的16位数字值是否满足卢恩测试(Luhn test),其中如果应用到 头15个数字的算法可确定第16个数字,则该测试成功。值的取样(sample) 可以以共同和非共同值的列表的形式被提供在字段级特征描述中。因为随机 成功的几率只有十分之一,所以取样可足以以一置信度确定字段中的值是否 有可能满足卢恩测试,但只要不同的情况需要或发现确切集合测试失败,则 在统计数据中呈现特异值的完整集合。

数据表征的一个目的是编制观察结果以通知用户(可能是数据分析员或 程序员)在预先不知道字段和语义内容之间关联的情况下从数据存储系统的 填充结构可以推断出什么。这些观察结果并不一定暗示数据剖析和数据质量 监控的值判断(例如,“无效”,“低质量数据”),但可能会简单地识别 数据的特性(例如,“主要是空值(null)”,“候选主关键字(key)”)。

作为字段与语义内容分离的一个例子,设想一个推断语义结论的数据表 征:满足卢恩测试的由16位数字构成的字段的值被推断为上有效的信用卡 号。而通过应用卢恩测试将16位数字识别为有效的信用卡号的表征步骤在 表征步骤开始之前已被定义,要应用该步骤的特定字段不一定被预先指定— —这些字段可以在表征步骤中推导出来。这种推导待表征的字段的能力使这 种类型的表征步骤区别于大多数验证规则,即使像验证规则那样,表征步骤 也可以最终实现语义结论(“有效的信用卡号”)。在包括大量的数据库表 的数据存储系统的情况下,该区别可以是显着的。它可能需要专业技能和巨 大的工作量来从数据库架构(schema)中识别哪些字段应保存信用卡号并指 定将被应用到这些被识别出的每个字段的信用卡验证规则,做这些用于要在 数据剖析过程中执行的验证规则。与此相反,在数据剖析之后应用的数据表 征能够利用特征描述结果来发现哪些字段主要填充有16位数字,并随后对 这些字段应用卢恩测试以识别哪些可能包含信用卡号(例如,基于满足该测 试的值的统计)。此外,在提供字段包含信用卡号的观察结果后,可以识别 并(从统计数据)提取出无效信用卡号的子集。

该信用卡号的例子表明,至少一些验证规则可以改写为表征步骤并追溯 应用而无需重新对数据进行剖析。

一些数据表征的结果可能会伴随着从这些结果得到的潜在结论(例如, “此字段保存信用卡号”或“此字段为主关键字”)。在整个系统中,根据 各种基于潜在结论和观察结果的性质的各种层次结构,这些结论连同其他观 察结果(例如,“此字段主要是空值”)可以以优先的方式(例如,连同表 示结论的置信度的评级)被编制并呈现给用户。这向用户群体提供了到他们 的数据的各种条目路由,包括数据存储系统的内容的初步纲目(例如,关键 字标识、建议的关键字关系、列举的域标识等)、证实或否认潜在结论(语 义推论)所需的专业技能(expertise)的指示、以及需要调查以确定它们是否是 潜在的数据质量的征兆的问题(例如,参照完整性(referential integrity)违反、 域或模式违反、离群(outlier)值等)。

在存储多个数据源的数据存储系统中,具有一个或多个路线图(roadmap) 是有用的,即使是宽泛的纲目形式的,也提供了如何查看系统的视角。数据 表征能够提供一些细节来填充这样的架构图,并使它们有用。对于关系数据 库,数据库的架构提供了一张架构图,但是当注释有从数据本身获知的信息 时该架构图被大大丰富了。在数据表征后填充的注释后的架构图在用户接口 中可以回答以下问题:每个实体中有多少记录?实体之间的关系的基数 (cardinality)是多少?如果关系的基数是多对一或多对多,基数级的分布 (即,N对1映射中的数N)及每级的例子是什么?

当沿线而非内容区域和关键字关系(例如,主关键字对外关键字关系) 来重新表达架构时还可以有另一种视角。例如,一种替代方案是设想对记录 的多个数据集在各个字段中存储值的数据存储系统,通过原始记录计数或通 过最多样化字段(通常上主关键字字段)的特异值的计数,按大小对数据集 排序,用次级布置以尽量减少最密集数据集之间的关键字关系路径的长度。 此表示方式强调数据集中。当加上测量字段的填充度的数据表征的可视化表 示方式(例如无填充或空字段),则可以看出数据的完整性和全面性。其中, 可以识别出数据不完整的区域用于调查和可能的补救。

第二种替代方案可能集中在个别字段,为每个字段列出一组出现该字段 的关联数据集。系统100可以生成用于对用户显示包括字段的表示的图,并 且如果它们属于共同的数据集,则做出字段之间的联系。可以通过将最多重 用字段放置在中央,并且将最少使用字段放置在图的外部区域来进行总体排 序。这里表征问题可以覆盖在该图的上方,例如,与一个字段相关联的每个 数据集的相关联表征。例如,与一个字段相关联的数据集的列表可能具有交 通灯指示器(具有映射到不同表征状态的绿色/黄色/红色),与每个数据集 配对以显示数据集-字段对的表征状态。整个数据集上绑定到特定字段的表征 指示器的相关性会易于视觉查看。对所显示的表征步骤的选择可以由用户改 变,以提供该步骤结果的全系统视图的可视化。

数据表征的另一个方面,这样的以字段为中心的视图将提供整个系统中 枚举域值的使用的显示。某些字段保存常被编码的参考数据,一些数据集为 其提供了允许值及其说明的列表。在布置为示出共用共同字段的数据集的列 表的视图中,已被发现作为枚举域的字段的填充的验证一致性是有可能的。 例如,数据集可以被着色以区分哪些保存枚举域的所有允许值,哪些保存允 许值的子集,以及哪些包含超出允许值的额外值。通过编码值的列表的相似 性程度进行排序将使得显示变得整洁。当试图传送与大量表征相关联的结果 时,这样的可视化是非常重要的。

在数据表征提供的进入数据源的其他条目路线当中,语义推断可能是非 常重要的。如已经说明的,有时确认可能的信用卡字段比从整个架构中识别 出它们要更容易,因此作为起点,即使不完全准确,也可能优于初始一片空 白。同样,在许多场景中,识别特定种类的数据,例如如社保号码的个人身 份信息,是很重要的,特别是在包含任意文本的字段中。表征步骤可以被配 制来识别这样的信息。

1数据剖析

数据源的数据剖析可以作为数据质量跟踪步骤的一部分来执行。可对各 个数据源进行剖析以汇总它们的内容,包括:特异值的计数、唯一值的计数、 空白(blank)值的计数、空值的计数、或其他类型的值的数量计数;将每个字 段的值与它的相关联的元数据比较,以确定数据类型规范的一致性(例如, 数字字段中是否为数字?);将验证规则应用到一个或多个字段来确认,例 如,域、模式或一致性;比较字段的函数依赖性;比较一个或多个数据集的 字段的参照完整性(即,如果字段被用作联接关键字则数据是否匹配)。用 户可见的剖析结果例如是汇总报告或其他类型的数据特征描述,其还可以包 括共同、非共同或其它类型的值的列表和值的模式(例如,当每个字母被替 换为A并且每个数字被替换为9时,结果是值中表示字母、数字、空格和标 点符号的位置的模式)。用于查看数据特征描述的用户接口可以包括各种表 格和图表来传达上述信息,并且可以提供从报告深入到原始数据的能力。数 据特征描述对于发掘丢失的、不一致的、无效的或者以其他方式存在问题而 可能妨碍正确的数据处理的数据非常有用。在开始开发软件之前识别和处理 这些问题比在开发之后试图解决首次遇到问题的软件更经济和更容易。

数据特征描述后面可能存在统计文件,其记录数据源的各个字段的特异 值的所有集合和具有这些值的记录的数量计数。在一些实现方式中,还捕获 标识具有给定值的原记录的位置的位置信息(例如,原始数据源中的存储位 置或数据源的一个副本)。

在剖析之前可以指定验证规则来检测各种数据特定的情况。例如,一个 字段中的值可以与有效值(或已知的无效值)的枚举列表,或与包含有效(或 无效)值的参考数据集进行比较。也可以指定有效或无效值的范围或有效或 无效值的模式。也可应用涉及多个字段、阈值和基于示例(case-based)的业务 逻辑的层次结构的更复杂的规则。

数据特征描述可能是多个粒度级别。例如,可以是与数据源内的记录中 每个字段相关联的特征描述信息、与数据源中每个记录相关联的单独的特征 描述信息、以及与数据源作为一个整体相关联的特征描述信息。

字段级别特征描述可包括数量计数,包括字段中特异值的数量,唯一值 (即出现一次的特异值)的数量,或空值、空白或其他类型的值的数量。可 以创建问题规则以在处理剖析以检测和记录各种状况的过程中将不同的数量 与阈值、范围进行比较或相互进行比较。或者,如果特异值的数量大于唯一 值的数量,(“特异值的数量>唯一值的数量”),则一定存在“字段的复 制”。当汇总到系统级时,能够对每个问题的实例的数量进行计数。

多字段或记录级特征描述信息可包括与涉及多个字段的验证规则相关联 的计数、包括相关的填充的模式(例如,一对字段要么都被填充要么都未填 充)、相关值和/或模式(例如,如果country_cd(国家代码)为“US”,则邮 政编码字段必须用五位数字填充)、或指示多个字段的特定组合(“复合关 键字”)的唯一性的计数。

可以在剖析之前添加数据模式码字段到记录中以支持与字段的相关填充 关联的表征步骤。数据的模式码被分配为对一个或多个字段或字段的片段的 一个或多个类的值的存在进行编码的值。例如,对于记录中的字符串字段使 用以下分类填充模式码可以被构造:每个字符串字段被分配“0”值如果其为 空值(不存在),被分配“1”如果它已被填充(存在,且不是空的或空白), 被分配“2”如果它是空的(存在但不包含任何数据:空字符串),且被分配 “3”如果它是空白的(存在但由一个或多个空格字符构成)。记录的值是记 录中出现的字符串字段的有序集合的这些值的串联(concatenation),例如 五个字符串字段记录的“11230”指示第一和第二个字符串字段被填充,第三 个字段为空的,第四个为空白,并且最后一个为空值。另一个模式码可以表 示为位图,其指示符字段的设置集合只取两个值中的一个(例如,0或1, “Y”或“N”,“M”或“F”)。当构造数据模式码时组合不同的值类是 可能的。数据模式码实现了许多记录级有效性规则以制定记录中多个字段之 间的相关性而无需返回到原始数据源。

数据源级特征描述信息可以包括记录的数量、体积(volume)和剖析运行 的时间。当处理到系统级时,这给出了数据存储系统中存储的数据源的记录 数量和体积的分布。在时间上,可以为各个源单独确定和集体确定记录的数 量和/或体积的生长速率。对于数据迁移,知道数据库中未被填充的表所占的 部分和具体哪些表未被填充以及其他表中的尺寸分布对于规划迁移很有帮 助。对于容量规划,记录数量和体积的度量被添加到数据库中是很重要的。

数据剖析有时被视为基本上一次一个源(source-at-time)。每个数据源有 一个特征描述,带有数据源之间的偶然的重叠以用第二个数据源分析参照完 整性和函数依赖性。

这种类型剖析后面的一个挑战是,对于大型数据源和/或大量数据源,可 能需要很长时间来计算统计文件和数据特征描述。对于什么验证规则是感兴 趣的或适于被应用可能也没有先验知识。或者,对于许多源,在剖析开始之 前可能需要很长时间来制定和应用对源的集合的验证规则。可以首先获取数 据源的数据特征描述而无验证规则。分析数据特征描述、制定候选验证规则 并产生第二个特征描述。随着时间的推移,随着验证规则的积累和完善不断 重新运行剖析。

2表征步骤

表征步骤可以被应用于现有的数据特征描述及其关联的统计文件。这允 许对于数据源的给定集合只执行一次生成完整的特征描述的潜在高代价的步 骤。这还能够避免在开始剖析之前制定完整的一套验证规则的延迟。可应用 于任何字段级特征描述的预定义的表征步骤的范围可以最初被应用到完整特 征描述的结果。可以逐步发展进一步的数据特定表征步骤,其有些类似于验 证规则,而不带来采取超过一个完整剖析或在开始剖析之前(在任何剖析结 果可用之前)制定完整的一套验证规则的延迟。当数据源变化时,可以再次 按需生成完整的数据剖析,并且表征步骤可被应用到所得到的数据特征描述。

下面例子中的“系统”被设想包括两个或多个数据源。如上所述对每个 数据源一起或单独进行剖析,并且可能以多向方式进行,例如,将功能依赖 性和参照完整性分析与数据的表征分离。这导致两个或两个以上数据特征描 述及其相关联的统计文件的集合。表征引擎110处理所选择的数据特征描 述。特别是,表征步骤被应用到一个或多个特征描述以生成汇总并扩充有观 察结果。此外,表征步骤观察结果可以经过聚合,并进行额外的表征步骤, 以生成系统级汇总。系统可以以可能重叠的方式进行分组以形成更大的系 统,其结果是对于数据源和系统的不同组合的汇总的集合。

当对数据特征描述应用表征步骤时可以进行跟随各种类型的分析的几个 例子(示例性但非穷尽性)。首先设想对单个特征描述的分析,其集中于字 段的问题和记录的填充。如果对于一个字段包含空值的记录分数比例大于阈 值(例如,“空值的数量/记录的数量>0.95”),则问题“字段主要为空值” 可以被检测到并被记录。或者,如果空白、空或空值字段的数量大于阈值(例 如,“空白的数量+空的数量+空值的字段>0.95”),则可以标记“字段主要 是未填充的”。类似地,用户可修改可调阈值,默认被设置为0.3,来检测 “字段显著未填充”。

不成比例的表示一个或多个值的字段可能是感兴趣的。在一些实现方式 中,这可能会被检测如下。如果与一值相关联的记录的计数在与任何值相关 联的记录的平均计数之上超过一个标准偏差,则表征引擎110可报告“字段 主要已被填充”,并且提供主要的值的列表。这可以通过估计共同值及其数 量的集合的平均值和标准偏差来进行计算。报告所有值的主要的值和主要 值,排除特定值,例如空白或空值(或用户声明的“标志(sentinel)”值)是 有用的。作为一个例子,假定共同值的列表包含具有计数10、1和1的三个 值。平均计数为(10+1+1)/3=4。标准偏差是sqrt((36+9+9)/3)~4.2。 因而10>4+4.2意味着最高计数的值是被主要填充的值。此步骤不需要知道 这些值。

此步骤的数据特定的变型例将涉及特定的数据值:假设三个字段值是 “A”、“P”和“Z”,并且如果“A”的记录的分数比例大于50%则它是 显着的。表征步骤可能被制定如下:“对于包含三个值“A”、“P”和“Z” 的字段,如果“A”的记录的分数比例大于50%则它是显着的”。此表征步 骤将首先识别哪些字段具有计数为3的特异值,然后,识别出那些具有共同 值“A”、“P”和“Z”的,最后识别“A”的分数比例是否大于50%。作 为第一印象,这似乎费事,但实际上当应用到系统中所有字段的大批量字段 时是很有效的,这是因为该步骤对其相关的字段将被迅速地发现并且应用适 当的测试,而无需对数据模型的特别了解。

上面的一些步骤使用剖析输出中存在的一个或多个计数、值列表、或者 计数和列表的函数,以检测关于字段的填充问题并进行记录。在一些实现方 式中,由表征引擎110执行的对一组特征描述的随后汇总将对每个种类的观 察结果进行计数并且可以记录到产生观察结果的该每个数据集/字段/特征描 述三重链接。(使用三重是因为对给定的数据集/字段对可以做出多个特征描 述,特别是随着时间的推移)。该链接可以被存储以支持在最终汇总特征描 述报告中“深入”到做出观察结果所在的每个底层数据集/字段/特征描述。 然后,可以使用索引源存档116在所识别的特征描述内进一步深入以找到体 现该问题的特定记录。

有时在剖析之前丰富数据集以允许对特征描述进行更详细的分析是非常 有用的。例如,在剖析之前如上所述的用于填充的数据模式码可以由系统 100添加到数据中。每个字段的填充状态、被填充与否可以被组合成用于记 录的码。这使得能够在对特征描述的分析中检测跨多个字段相关的填充模 式。例如两个字段可以总是或者都被填充或两者都不被填充。这可以通过检 查具有每对字段之间的成对相关性的记录的分数比例从填充模式码的集合来 确定——即,可以通过采用“异-非(exclusive-nor)”来计算具有填充状态的逻 辑等同性的记录的分数比例:如果两个字段均被填充或两个均未被填充则为 1,否则为0。这种通用计算对字段的内容是无视的,因此,可以批处理情况 下应用。

数据特定的模式代码也会导致有用的表征步骤。例如,假设原来的记录 包含三个感兴趣域对于客户名称的“名”、“中间名”、“姓”。简单的模 式码可以是以下字母的串联:如果名字段已填充则为字母“F”,如果中间 名字段已填充则为字母“M”,如果姓字段已填充则为字母“L”。如果有 任何字段未被填充,则相应的字母不包含在代码中。因此,“FM”代码将 表示含有名字和中间名但没有姓的记录。在一个特征描述中,每个码的计数 的数量结果将为共同值的列表(并且更一般地,经呈现在该特征描述下层的 统计文件中,其中记录了每个特异值的计数)。然后,用户可以从与“FM” 关联的计数中确定多少记录同时有名字和中间名但没有姓。该数量不能从数 据集的特征描述中存在的、名字字段已填充的记录的计数和中间名字段已填 充的记录的计数,而没有填充模式代码来确定。

当名字和中间名已被填充时姓的存在是上游系统发生特定错误的指标。 通过监测具有此状况的记录的计数,公司可以监测此错误发生的频率并且验 证解决问题的工作的有效性。

指示两个或更多字段的相关填充的问题往往细微很难诊断,因此在特征 描述中具有识别相关记录的手段是有用的。可以是在开始时不知道字段之间 的相关性与问题的发生关联的情况。这种关联可以通过将已知具有特定错误 的记录的列表与和不同填充模式代码关联的记录的列表进行关联来推导出。 一旦识别出关联,则历史特征描述可以被用来确定过去发生错误的频率—— 在知道要寻找什么之前。这可以由系统100建立足够丰富的填充码,以便能 够回溯地识别这种相关性来实现。包括数据模式码和相关联的记录位置信息 的目的在于部分地促进了这种回溯分析。

在仅考虑字段的填充状态之后,可能的下一个步骤是集中于字段中字符 的模式。如果每个字母被替换,比如,替换成“A”,并且每个数字被替换 成“9”,留下标点符号和空格不变,则由构成字段值的字符形成模式。往 往首先要确立的事实是,字段中所有条目是否主要满足相同的模式。这本身 是将被检测和记录的显著的特征,因为其将固定模式的字段区别于那些包含 较少约束文本的字段。许多字段值,如日期、信用卡号、社保号和帐号,具 有特性模式。例如,日期通常包括各种可能格式的八个数字,如99/99/9999、 9999-99-99、或者就只是99999999。认识到这些特性模式其中之一,特征描 述中的共同值的列表可以被传递给用于验证为日期的函数——其可能会一致 地检查列表中的值:1到12之间相同的两个数字、1到31之间相同的两个数 字、以及1910至2020范围内余下的4位数字(视情况也许更窄或更宽)。 信用卡号码为16位数字字段,其最后一个数字是可以通过卢恩测试确认它是 有效的信用卡号码的校验数字。

如果字段具有主要模式但非通用模式,则例外情况常常是感兴趣的。这 可以被检测和记录。如果位置信息例如与每个模式相关联地被记录在特征描 述中的记录,则它们可以从汇总报告中通过深入被检索到。

考查字段中的模式还允许将字段的内容比对字段的数据类型规范进行验 证。此验证可以被单独记录在特征描述中,但有时可以根据特征描述进行更 详细的分析。特别是,例如,如果在明显数字字段中存在字母,这是很明显 的。有时帐户号码将被指定例如NUMERIC(10),但特征描述显示帐户号 码的前两个字符实际上是字母而非数字。如果这是主要模式,则可以得出推 断,帐户号码事实上以两个字母开头,并且错误的是类型规范。这将是在准 备一份或多份特征描述时在分析特征描述之后被记录的结论。

在考虑每个字段的数据的模式之后,可以将注意力集中到字段中的一组 值。第一个考虑是字段中特异值的数量。具有相对小数量(无论是绝对数量 或相对于记录量)的特异值的字段通常包含从一组枚举值的有限集合得到的 参考数据。这样的字段与特异值的数量和记录数相当的字段不同。这些字段 通常是关键字(唯一标识一个记录)或事实数据(具体数据项,如交易金额, 每个记录随机地不同)。关键字也在其他数据集中重用用于链接数据的目的, 而事实数据并非如此。数据集之间的交叉联接(cross-join)分析可以确认基于 字段值的相对唯一性和重叠范围最初提出的关键字关系。

第三组感兴趣的值是特异值的基数不仅不与记录的数量相当,还少得多。 这些值可以是外键或可以是事实数据。可能有必要决定与其他特征描述中的 数据进行比较。

考虑具有相对小的数量的特异值的该组字段。记录数量等于特异值的 (少)数量的数据集是包含一套完整的枚举值的候选参考数据集。候选参考 数据集和字段的识别是显著的,并可以被记录在汇总特征描述中。这样的参 考数据集通常具有至少两个字段,其数量与特异值的数量相同:一个是将在 其他数据集中重用的代码,而另一个是描述。这些可以以两种方式进行区 分。首先描述比代码通常具有更自由的格式(整组记录会有不规则的模式)。 第二,代码在其他数据集被重用。

在一个实现方式中,一个数据集的一个字段的字段值在其他数据集的其 他字段的重用可以通过以下方式来确定。取字段级特征描述的集合。通过找 寻特异值的数量小于一阈值(例如,150)并且特异值的数量等于唯一值的数 量的字段级特征描述,来找到字段级特征描述对应于候选参考数据集的子集。 接着,每个候选参考数据集的一组特异值与每个剩余的字段级特征描述中的 一组特异值比较,以找到具有大致重叠的一组特异值。因为有可能是数据质 量问题,所以无需完全符合:事实上,在存在大致重叠时检测不符合处是比 较的目的之一。大致重叠可以被定义为:参考数据集-字段中具有一个或多 个值的经填充的记录的分数比例大于一阈值。这使得源数据集中未填充的记 录不会影响到关联,并且允许(少)数个无效值(即候选参考数据集-字段中 不存在的值)。

在不同数据集中字段之间的关联未知并且必须被发现时,此表征步骤在 发现阶段是很有用的。在操作的较后阶段,当这样关联是已知的并被宣告 时,表征步骤可以被改变为检测何时超过不匹配的值的阈值分数比例。例如, 新的值可能已经被添加到数据集(例如,当新的数据源被添加到上游时), 但(尚且)还没有被添加到参考数据集。这对识别是一个重要变化。因此, 比较字段中预期共享同组值的各组特异值是可以持续地应用到数据集-字段 特征描述的重要测试。

可以有多种方式比较两个或更多个字段级特征描述中各组特异值。因为 单纯的实现方式是全部对全部的成对比较,其中大多数都没有成功的机会, 所以减少比较的次数的途径很重要,特别是当带有上千个表格的数据库中常 面临的大量的字段级特征描述。图2示出由表征引擎110实施的表征步骤的 一个实现方式。第一步骤是为数据集A、B、C、D的候选参考数据集-字段 以特异值的计数N的递减顺序组织一组特征描述200A、200B、200C、200D。 接着,对于每个剩余数据集-字段特征描述(被称为非参考数据集-字段特征 描述),例如数据集F的特征描述200F,表征引擎110找到满足大致重叠测 试所需的特异值的最小数量。这可通过取填充字段值的总和,并依次除去至 少共同字段直到剩余的已填充记录的分数比例低于大致重叠阈值。参考值的 最小数量是剩余字段的值的数量加1。在特征描述200F中,最后的值“s” 被减去,并且对于值204,排除“s”后的已填充记录的分数比例是 (163+130+121)/(163+130+121+98)=414/512,发现其小于大致重叠阈值 0.95。这意味着,对于特征描述200F中的值计数,参考数据集中需要3+1=4 个值以满足大致重叠标准。因为从特征描述200F选择的任何一组三个或更 少的值将占F记录的分数比例小于95%,这已通过找到由三个最共同值所占 的分数比例被证明,所以任何含有少于4个值的数据集都不能满足与特征描 述200F的大致重叠测试。这免除了考虑具有太少值而没有大致重叠机会的 那些参考数据集。在这种情况下,特征描述200D的数据集D的参考数据集- 字段被去除。

下一步骤是比较非参考数据集-字段的最频繁值与每个参考数据集-字 段,以确定其在哪个参考数据集-字段不会发生。如果不包括最共同值的已 填充记录与所有已填充记录的比率小于大致重叠阈值,则任何不含有最共同 值的数据集-字段可以被排除,因为其不会满足大致重叠阈值。在这个例子 中,200F中最共同的值是“p”。不包括值“p”的已填充记录的分数比例 是(130+121+98)/(163+130+121+98)=349/512<0.95,这低于大致重叠阈 值。这意味着可以排除不包含“p”的任何其他数据集-字段。(一个以上的 值可能需要被排除,直到没有匹配的记录的分数比例大到足以使得大致重叠 阈值不能得到满足)。

进行这种比较的一种方法用表征引擎110构建的查找数据结构206(例 如,查找表),其条目包括每个参考数据集-字段值和指示值出现在哪个数据 集(或数据集特征描述)的位置信息的向量。为方便起见,可以添加对条目 进行标签的字段。在示例性查找数据结构206中,条目“p1[A,B,D]”表 示来自特征描述200F的“p”值出现在特征描述200A、200B和200D中(1 是对该条目进行标签的值)。查找数据结构206还可以被保存为标准化形式, 用每个条目标识该值出现在其中的一个数据集特征描述。在这里,在查找数 据结构206中查找“p”值找到相关联的参考数据集“[A,B,D]”,其中D 因为具有太少的参考值而已经被去除。此查找的效果是去除C,其具有足够 数量的值,但不包含最共同值“p”。

最后,给出可以潜在地满足大致重叠条件的一组成对的参考数据集-字段 和非参考数据集-字段,可以进行各组特异值的直接比较。在一个实现方式 中,这种直接比较可通过形成各组特异值的向量相交,确定剩余的数据集- 字段中匹配的记录的分数比例,并与大致重叠阈值进行比较来进行。在第二 个实现方式中,可以从参考数据集-字段特征描述和非参考数据集-字段特征 描述两者中一组特异值中形成比特向量(通过将一个比特赋予整个候选参考 数据集-字段和候选非参考数据集-字段中所有特异值中的每个特异值——注 意:如果在一个以上的参考数据集-字段中存在相同值,只需赋予其一个比 特)。查找数据结构206的前两列示出对参考值赋予比特。每个参考数据集 所得的比特向量被收集在系统信息208中。表示哪些参考值被填充在特征描 述200F中的比特向量由比特向量212给出。第五个比特是0表示在特征描 述200F中数据集-字段中不存在参考值“t”。对特征描述200F中比特向量 212和系统信息208的A和B条目中的每个比特向量进行简单的逻辑与 (AND),得到共同保存的特异值的集合。随后可以计算记录在剩余的数据 集-字段中的分数比例,并与大致重叠阈值进行比较。结果214发现,特征描 述200A和200B两者的参考数据集-字段对于特征描述200F的非参考数据集 -字段都是可能的参考数据集-字段。

在一些实现方式中,附加的特征可以减少计算时间。可以在对查找数据 结构206查找最共同值之后,一些非参考数据集-字段特征描述是对图2所示 的一个以上的参考数据集-字段的候选匹配。一旦发现匹配能将一个非参考数 据集-字段与第一参考数据集-字段配成对,则该非参考数据集-字段仅需要被 视为与参考数据集-字段充分相似的那些其他参考数据集-字段的候选。

附加的处理和/或预处理用于标识相似的参考集-字段。这种相似性的检 测可以独立于此计算优化而是感兴趣的。关键的观察是并非所有具有相同数 量值的参考数据集实际上共享相同的值。参考数据集-字段特征描述的集合 可以彼此比较,以找到每个具有多少共享值。大致重叠测试已经确定与非参 考数据集-字段共享的特异值的最小数量。假设具有特征描述200A的参考数 据集-字段A已被发现是具有特征描述200F的非参考数据集-字段F的匹配, 也就是说,它们共享足够的值,以满足与特征描述200F的大致重叠测试。 假设有具有特征描述200E的附加的参考数据集-字段E,包括四个值“p”、 “q”、“r”和“w”。此参考数据集-字段具有四个值,因此它具有足够的 值以满足上述与特征描述200F的大致重叠测试。但数据集-字段E仅与数据 集-字段A共享三个共同值,而已知数据集-字段A匹配非参考数据集-字段F (在大致重叠内)。这表明事实上数据集-字段E可至多与非参考数据集-字 段F共享三个值,因此不通过大致重叠测试。知道候选参考数据集-字段之 间共享值的数量允许一些候选参考数据集-字段被拒绝作为候选,因为它们 肯定会与非参考数据集-字段具有太少的共享值。与已知的匹配参考数据集- 字段具有足够数量的共享值的每个候选参考数据集-字段的估计如上所述。一 些候选参考数据集-字段和非参考集-字段的新配对可满足大致重叠的条件, 一些则不能。由于可能需要进一步的知识以消除歧义的配对,所以如果有一 个以上满足条件,则它们可以都被报告为候选匹配。

某些组的特异字段值,尤其是0、1或Y、N,被用于具有不同意义的各 种不同的数据集-字段。它们不是严格的参考值,因为它们的意思在上下文中 很明确(通常是从字段名),并不需要参考数据集来定义它们的意思。然而, 在发现阶段检测并在操作的以后阶段监测很重要。如果非常低的基数(例如 小于3或4个)的数据集-字段不具有匹配参考数据集-字段,则它可以被标 记为指标字段并被如此报告。在以后的处理中,尤其是随着时间的推移,监 测具有每个值的记录的分数比例的变化是很重要的。如果更高但基数仍较低 的数据集-字段不具有匹配参考数据集-字段,则可以被报告为“不具有相关 联的参考数据的低基数字段”。

比较数据集-字段值列表的第二种途径将产生不同但同样重要的结论。可 以比较具有相同或相似的字段名的一组数据集-字段,以确定它们的字段内 容是否相似。这将确定共享相同(或相似)名称的字段事实上是否包含相同 类型的数据。在一些遗产系统中,特别是在存储空间非常宝贵的大型计算机 系统中,一些字段已超载,并且其中存储有不同的数据而没有用字段名表示 (例如,在COBOL(面向商业的通用语言)副本(copybook)中)。在其他系统 中,由于设计和系统不断演变,共同术语已被用作针对保存特异种类的数据 的一个以上字段的字段名。在发现模式中,当通过其数据特征描述分析不熟 悉的系统时,发现这种掩藏的差异是很重要的,因为单纯的用户假定如果字 段名是相同的,则字段必然保存相似的数据。

比较的过程与上文所述大致相同,除了不是选择进行比较来找到具有相 似数量的特异值的数据集-字段,而是因为它们具有相同或相似的字段名而找 到候选配对。基于编辑距离的模糊匹配可以用来比较字段名,但第二种形式 的相似性也是相关的。这是用来如果每个字段中以相同的顺序发生字符的相 同次序则识别两个字段是相似的(在两个字段名中可能有多达一些数量的不 匹配的字符)。这有助于识别其中一个字段名是另一个的子字符串的字段, 例如,Country(国家)和OriginCountry(原国家)。这特别常发生在参考数据集- 字段中,因为来自特定的参考数据集-字段的值可以被用在另一个数据集中相 同记录的多个字段中,并且每个字段常常被修改者修改为与参考字段名不 同。

这种形式的相似性也标识了字段名已通过删除字符而改变的候选配对, 例如,EquityFundsMarket(股票基金市场)和EqFdsMkt。这两种类型的变化在 实践中均被观察到,前者更常见。有时后者与前者合并,在这种情况下,必 须允许较大的容差。例如,人们可能要求一个字段名的匹配字符必须以相同 的顺序发生在其他字段名中而忽略额外的字符。于是,country_cd(国家_代 码)和orgn_cntry(原_国家)匹配。当然,这将接纳更多的匹配,因此可能需要 更多的比较。

提供匹配组合的用户可见性,并且控制哪些匹配被传送给进一步的评估 (包括进一步增加配对的能力)显然是有价值的。

在一个实现方式中,在基于字段名识别数据集-字段的候选配对的集合 之后,对于相对低基数的特异值,可以如在参考数据集-字段例子中那样使用 大致重叠标准来比较各配对,查找最频繁值,以确定可能匹配的候选,并且 最终直接比较各特异值组。对于高基数组,可能需要联合分析或参考完整性 的评估。在一些实现方式中,这涉及到比较包括每个数据集的数据集-字段- 值和值-计数的统计文件,以找到每个数据集中存在多少匹配值。这一分析的 结果是识别值重叠很强并且字段名符合的数据-字段——如果重叠不强或不 存在,则这是值得注意的,因为它指示字段已超载。当然,仅仅是因为两个 字段具有较强的重叠并不一定意味着它们是相同的数量。这在代理 (surrogate)关键字字段的情况下尤其如此,其可能会无意地重叠因为两者都是 具有大致连续(或准连续)的一组关键字。无论如何,在该情况下,字段名 符合,有用的假设是具有重叠值组的数据集-字段是相关的。

当比较各组值时可以进行的其他检查之一是查找具有最大数量的唯一值 (或低基数的特异值)的数据集的最大和最小值以外的值。这可以表明离群 值。

不同的比较的集合在随时间重复对相同的逻辑数据集(多个)进行剖析 的数据监测情景中是相关的。在这种情景中,直接关注的数据质量问题是随 时间的数据一致性的数据质量问题。可以制定一般规则来计算基线平均值、 平均值变化的速率、围绕均值曲线波动的幅度、以及其他统计测量值。这可 以既适用于特定类型的(已填充的,空值等)的记录的数量计数又适用于值 本身。可以回答的问题有,数据量是否不断增加?单调性增长或循环性增 长?数据质量问题的频率为多少?(上述每类问题——填充、模式、枚举值 ——可以用这种方式进行分析)。这样的规则也可应用到数据模式码,也许 测量随时间引起的数据模式的数量的变化(更大的模式变化常常预期伴随着 数据量的增加)或由模式码表示的字段之间的相关性的变化。

上面所描述的技术可使用执行合适的软件的计算系统来实现。例如,软 件可以包括在编程的或可编程的一个或多个计算机系统上执行的一个或多个 程序中的步骤(其可以是各种架构,诸如分布式、客户端/服务器或网格), 每个包括至少一个处理器、至少一个数据存储系统(包括易失性和/或非易失 性的存储器和/或存储元件)、至少一个用户接口(用于使用至少一个输入设 备或端口接收输入,和用于使用至少一个输出设备或端口提供输出)。软件 可以包括较大的程序的一个或多个模块,例如,提供与设计、配置和执行数 据流图相关的服务。程序的模块(例如,数据流图的元素)可被实现为数据 结构或符合存储在数据存储库中的数据模型的其他有组织的数据。

软件可以被提供在有形的、非临时性介质,诸如CD-ROM或其他计算机 可读介质(例如,通用或专用计算系统或设备可读的),或通过网络的通信 介质传送(例如,编码成传播信号)到计算系统的有形的、非临时性介质, 并在那里被执行。一些或全部处理也可以由专用计算机执行,或者使用专用 硬件实现,诸如协处理器或现场可编程门阵列(FPGA)或专用的特定应用 集成电路(ASIC)。处理可以以分布式方式实现,其中由软件指定计算的不 同部分由不同的计算元件执行。每个这样的计算机程序优选存储在或下载到 存储设备的计算机可读存储介质(例如,固态存储器或介质,或磁或光学介 质)中,当存储设备介质由计算机读出以执行这里描述的处理时,其通过通 用或专用可编程计算机可访问,用于配置和操作计算机。本发明系统也可被 认为实现为有形的、非临时性介质,配置有计算机程序,其中如此配置的介 质使得计算机以特定和预定的方式执行本文中所描述的处理步骤中的一个或 多个。

本发明的一些实施例已经描述。然而,可以理解的是,前述描述旨在说 明而不是限制本发明的范围,其由以下的权利要求的范围限定。因此,其他 实施例也在以下权利要求的范围之内。例如,可以做出各种修改而不脱离本 发明的范围内。另外,一些上述步骤可以与顺序无关,因此可以以与所描述 的不同次序来执行。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号