CN110140118B - 用于确定数据元素之间的关系的系统和方法 - Google Patents

用于确定数据元素之间的关系的系统和方法 Download PDF

Info

Publication number
CN110140118B
CN110140118B CN201780082371.0A CN201780082371A CN110140118B CN 110140118 B CN110140118 B CN 110140118B CN 201780082371 A CN201780082371 A CN 201780082371A CN 110140118 B CN110140118 B CN 110140118B
Authority
CN
China
Prior art keywords
data
lineage
physical
elements
business
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
CN201780082371.0A
Other languages
English (en)
Other versions
CN110140118A (zh
Inventor
乔尔·古尔德
杜桑·拉迪沃杰维克
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 CN110140118A publication Critical patent/CN110140118A/zh
Application granted granted Critical
Publication of CN110140118B publication Critical patent/CN110140118B/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/23Updating
    • G06F16/2365Ensuring data consistency and integrity
    • 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/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • G06F16/288Entity relationship models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9024Graphs; Linked lists
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3604Software analysis for verifying properties of programs

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)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明提供了一种数据处理系统,该数据处理系统被配置成执行以下操作:获得表示物理数据元素之间的关系的第一数据沿袭,该第一数据沿袭至少部分地通过执行以下各项中的至少一项来生成:(a)分析被配置成访问这些物理数据元素的至少一个计算机程序的源代码;以及(b)分析在该至少一个计算机程序的运行时间期间获得的信息;基于用户输入获得表示业务数据元素之间的关系的第二数据沿袭;获得该第一数据沿袭的这些物理数据元素中的至少一些与该第二数据沿袭的这些业务数据元素中的至少一些之间的关联;以及基于这些物理数据元素与这些业务数据元素之间的关联,生成该第一数据沿袭与该第二数据沿袭之间的一致或差异的指示。

Description

用于确定数据元素之间的关系的系统和方法
相关申请的交叉引用
本申请根据35 U.S.C.§119(e)要求保护于2016年11月9日提交的名称为“SYSTEMSAND METHODS FOR DETERMINING RELATIONSHIPS AMONG DATA ELEMENTS[用于确定数据元素之间的关系的系统和方法]”的美国临时申请序列号62/419,826的权益,该申请的全部内容通过援引并入本文。
背景技术
管理大量数据的组织通常希望获得被管理数据中的至少一些数据的数据沿袭。被管理的数据集的数据沿袭可以包括指示以下的信息:如何获得数据集、数据集如何随时间变化、和/或数据集可以如何被一个或多个数据处理系统和/或过程使用。数据集的数据沿袭可以包括指示如何获得数据集的上游沿袭信息。例如,上游沿袭信息可以标识从其获得数据集的一个或多个数据源,和/或已经应用于数据集的一个或多个数据处理操作。附加地或可替代地,数据集的数据沿袭可以包括指示依赖和/或使用数据集的一个或多个其他数据集、过程和/或应用的下游沿袭信息。组织可能希望获得任何合适数据集的沿袭信息,比如,例如,一个或多个数据记录、数据库中的一个或多个数据表、一个或多个数据电子表格、一个或多个数据文件、单个数据值、用于产生一个或多个报告的数据、由一个或多个应用程序访问的数据、和/或任何其他合适的数据集。
存在关于由组织的数据处理系统管理的数据的沿袭信息的许多用途。这类用途的示例包括但不限于风险降低、监管合规义务的验证、业务过程的流简化、保护数据、将错误追溯到其来源、以及判定数据更改是否可能导致下游错误。在一些情况下,不完整或不正确的沿袭信息可能对组织产生负面的实际影响,比如记录被不正确处理、向组织成员提供不准确的数据、系统操作低效、系统故障、无意中引入错误、错误的低效解决、难以遵守监管过程等。对于业务组织而言,这类影响可能很快导致客户和/或监管者不满。因此,重要的是沿袭信息是正确且完整的。
发明内容
一些实施例涉及一种数据处理系统,包括:至少一个计算机硬件处理器;以及存储处理器可执行指令的至少一个非暂态计算机可读存储介质,这些处理器可执行指令在由该至少一个计算机硬件处理器执行时致使该至少一个计算机硬件处理器执行以下操作:获得表示多个物理数据元素之间的关系的第一数据沿袭,该第一数据沿袭至少部分地通过执行以下各项中的至少一项来生成:(a)分析被配置成访问该多个物理数据元素中的至少一些的至少一个计算机程序的源代码;以及(b)分析在该至少一个计算机程序的运行时间期间获得的信息;至少部分地基于用户输入获得表示多个业务数据元素之间的关系的第二数据沿袭;获得该第一数据沿袭的多个物理数据元素中的至少一些与该第二数据沿袭的多个业务数据元素中的至少一些之间的关联;以及基于该多个物理数据元素与该多个业务数据元素之间的关联,生成该第一数据沿袭与该第二数据沿袭之间的一致或差异的指示。
在一些实施例中,生成该一致或差异的指示包括:显示该第二数据沿袭的可视化,其示出该一致或差异的指示。
在包括任何前述实施例的一些实施例中,该第二数据沿袭包括表示两个业务数据元素之间的第一依赖性的第一链路,并且其中,显示该第二数据沿袭的可视化包括当在该第一数据沿袭中存在与该第一依赖性相对应的依赖性时以一种方式显示该链路,并且在该第一数据沿袭中不存在与该第一依赖性相对应的依赖性时以另一种方式显示该链路。
在包括任何前述实施例的一些实施例中,生成该一致或差异的指示包括:基于该多个物理数据元素与该多个业务数据元素之间的关联,判定该第一数据沿袭、该第二数据沿袭和所获得的关联之间是否存在一个或多个差异。
在包括任何前述实施例的一些实施例中,获得该第一数据沿袭包括至少部分地通过执行以下各项中的至少一项来生成该第一数据沿袭:分析该至少一个计算机程序的源代码;以及分析在该至少一个计算机程序的运行时间期间获得的信息。
在包括任何前述实施例的一些实施例中,获得该第一数据沿袭包括分析该至少一个计算机程序的源代码。
在一些实施例中,获得该第一数据沿袭包括分析在该至少一个计算机程序的运行时间期间获得的信息。
在包括任何前述实施例的一些实施例中,该至少一个计算机程序包括实施为数据流图的计算机程序。
在包括任何前述实施例的一些实施例中,获得该第一数据沿袭的多个物理数据元素中的至少一些与该第二数据沿袭的多个业务数据元素中的至少一些之间的关联包括基于经由图形用户界面提供的用户输入来生成该关联。
在包括任何前述实施例的一些实施例中,该多个物理数据元素包括第一物理数据元素,该多个业务数据元素包括第一业务数据元素,该关联指示该第一物理数据元素与该第一业务数据元素相关联,并且该确定包括确定在该第一数据沿袭中被标识为用于获得该第一物理数据元素的一个或多个数据源的第一集合不同于在该第二数据沿袭中被标识为用于获得该第一业务数据元素的一个或多个数据源的第二集合。
在包括任何前述实施例的一些实施例中,根据指定的时间表重复执行获得该第一数据沿袭并判定是否存在差异的动作。
在包括任何前述实施例的一些实施例中,该关联包括该多个物理数据元素中的第一物理数据元素与该多个业务数据元素中的第一业务数据元素之间的关联,并且该至少一个计算机硬件处理器进一步被配置成执行以下操作:至少部分地基于该第一物理数据元素与该第一业务数据元素之间的关联来确定该第一业务数据元素的数据质量的度量。
在包括任何前述实施例的一些实施例中,确定该第一业务数据元素的数据质量的度量包括:至少部分地基于与该第一物理数据元素中的数据相关联的一个或多个数据质量规则来执行对该第一物理数据元素中的数据的数据质量的分析。
在包括任何前述实施例的一些实施例中,该第一业务元素的数据质量的度量包括准确性、完整性和有效性中的一个或多个的度量。
一些实施例涉及一种方法,包括:使用至少一个计算机硬件处理器来执行以下操作:获得表示多个物理数据元素之间的关系的第一数据沿袭,该第一数据沿袭至少部分地通过执行以下各项中的至少一项来生成:(a)分析被配置成访问该多个物理数据元素中的至少一些的至少一个计算机程序的源代码;以及(b)分析在该至少一个计算机程序的运行时间期间获得的信息;至少部分地基于用户输入获得表示多个业务数据元素之间的关系的第二数据沿袭;获得该第一数据沿袭的多个物理数据元素中的至少一些与该第二数据沿袭的多个业务数据元素中的至少一些之间的关联;以及基于该多个物理数据元素与该多个业务数据元素之间的关联,生成该第一数据沿袭与该第二数据沿袭之间的一致或差异的指示。
一些实施例涉及存储处理器可执行指令的至少一个非暂态计算机可读存储介质,这些处理器可执行指令在由该至少一个计算机硬件处理器执行时致使该至少一个计算机硬件处理器执行以下操作:获得表示多个物理数据元素之间的关系的第一数据沿袭,该第一数据沿袭至少部分地通过执行以下各项中的至少一项来生成:(a)分析被配置成访问该多个物理数据元素中的至少一些的至少一个计算机程序的源代码;以及(b)分析在该至少一个计算机程序的运行时间期间获得的信息;至少部分地基于用户输入获得表示多个业务数据元素之间的关系的第二数据沿袭;获得该第一数据沿袭的多个物理数据元素中的至少一些与该第二数据沿袭的多个业务数据元素中的至少一些之间的关联;以及基于该多个物理数据元素与该多个业务数据元素之间的关联,生成该第一数据沿袭与该第二数据沿袭之间的一致或差异的指示。
一些实施例涉及存储供至少一个计算机硬件处理器执行的处理器可执行指令的至少一个非暂态计算机可读存储介质,这些处理器可执行指令包括:用于获得表示多个物理数据元素之间的关系的第一数据沿袭的装置,该第一数据沿袭至少部分地通过执行以下各项中的至少一项来生成:(a)分析被配置成访问该多个物理数据元素中的至少一些的至少一个计算机程序的源代码;以及(b)分析在该至少一个计算机程序的运行时间期间获得的信息;
用于至少部分地基于用户输入获得表示多个业务数据元素之间的关系的第二数据沿袭的装置;用于获得该第一数据沿袭的多个物理数据元素中的至少一些与该第二数据沿袭的多个业务数据元素中的至少一些之间的关联的装置;以及用于基于该多个物理数据元素与该多个业务数据元素之间的关联,生成该第一数据沿袭与该第二数据沿袭之间的一致或差异的指示的装置。
一些实施例涉及一种数据处理系统,其用于判定第一数据沿袭、第二数据沿袭、以及第一数据沿袭和第二数据沿袭的数据元素之间的关联是否存在差异。该系统包括至少一个计算机硬件处理器;以及存储处理器可执行指令的至少一个非暂态计算机可读存储介质,这些处理器可执行指令在由该至少一个计算机硬件处理器执行时致使该至少一个计算机硬件处理器执行以下操作:获得表示多个物理数据元素之间的关系的第一数据沿袭,该第一数据沿袭至少部分地通过执行以下各项中的至少一项来生成:(a)分析被配置成访问该多个物理数据元素中的至少一些的至少一个计算机程序的源代码;以及(b)分析在该至少一个计算机程序的运行时间期间获得的信息;至少部分地基于用户输入获得表示多个业务数据元素之间的关系的第二数据沿袭;获得该第一数据沿袭的多个物理数据元素中的至少一些与该第二数据沿袭的多个业务数据元素中的至少一些之间的关联;以及基于该多个物理数据元素与该多个业务数据元素之间的关联,判定该第一数据沿袭、该第二数据沿袭和所获得的关联之间是否存在一个或多个差异。
一些实施例涉及一种方法,其包括使用至少一个计算机硬件处理器来执行:获得表示多个物理数据元素之间的关系的第一数据沿袭,该第一数据沿袭至少部分地通过执行以下各项中的至少一项来生成:(a)分析被配置成访问该多个物理数据元素中的至少一些的至少一个计算机程序的源代码;以及(b)分析在该至少一个计算机程序的运行时间期间获得的信息;至少部分地基于用户输入获得表示多个业务数据元素之间的关系的第二数据沿袭;获得该第一数据沿袭的多个物理数据元素中的至少一些与该第二数据沿袭的多个业务数据元素中的至少一些之间的关联;以及基于该多个物理数据元素与该多个业务数据元素之间的关联,判定该第一数据沿袭、该第二数据沿袭和所获得的关联之间是否存在一个或多个差异。
一些实施例涉及存储处理器可执行指令的至少一个非暂态计算机可读存储介质,这些处理器可执行指令在由该至少一个计算机硬件处理器执行时致使该至少一个计算机硬件处理器执行以下操作:获得表示多个物理数据元素之间的关系的第一数据沿袭,该第一数据沿袭至少部分地通过执行以下各项中的至少一项来生成:(a)分析被配置成访问该多个物理数据元素中的至少一些的至少一个计算机程序的源代码;以及(b)分析在该至少一个计算机程序的运行时间期间获得的信息;至少部分地基于用户输入获得表示多个业务数据元素之间的关系的第二数据沿袭;获得该第一数据沿袭的多个物理数据元素中的至少一些与该第二数据沿袭的多个业务数据元素中的至少一些之间的关联;以及基于该多个物理数据元素与该多个业务数据元素之间的关联,判定该第一数据沿袭、该第二数据沿袭和所获得的关联之间是否存在一个或多个差异。
一些实施例涉及存储供至少一个计算机硬件处理器执行的处理器可执行指令的至少一个非暂态计算机可读存储介质,这些处理器可执行指令包括:用于获得表示多个物理数据元素之间的关系的第一数据沿袭的装置,该第一数据沿袭至少部分地通过执行以下各项中的至少一项来生成:(a)分析被配置成访问该多个物理数据元素中的至少一些的至少一个计算机程序的源代码;以及(b)分析在该至少一个计算机程序的运行时间期间获得的信息;用于至少部分地基于用户输入获得表示多个业务数据元素之间的关系的第二数据沿袭的装置;用于获得该第一数据沿袭的多个物理数据元素中的至少一些与该第二数据沿袭的多个业务数据元素中的至少一些之间的关联的装置;以及用于基于该多个物理数据元素与该多个业务数据元素之间的关联,判定该第一数据沿袭、该第二数据沿袭和所获得的关联之间是否存在一个或多个差异的装置。
一些实施例涉及一种用于确定一个或多个业务数据元素的数据质量的度量的数据处理系统。该系统包括至少一个计算机硬件处理器;以及存储处理器可执行指令的至少一个非暂态计算机可读存储介质,这些处理器可执行指令在由该至少一个计算机硬件处理器执行时致使该至少一个计算机硬件处理器执行以下操作:获得表示多个物理数据元素之间的关系的第一数据沿袭,该第一数据沿袭至少部分地通过执行以下各项中的至少一项来生成:分析被配置成访问该多个物理数据元素中的至少一些的至少一个计算机程序的源代码;以及分析在该至少一个计算机程序的运行时间期间获得的信息;至少部分地基于用户输入获得表示多个业务数据元素之间的关系的第二数据沿袭;获得该第一数据沿袭的多个物理数据元素中的至少一些与该第二数据沿袭的多个业务数据元素中的至少一些之间的关联,该关联包括该多个物理数据元素中的第一物理数据元素与该多个业务数据元素中的第一业务数据元素之间的关联;以及至少部分地基于与该第一物理数据元素相关联的至少一个数据质量度量和该第一物理数据元素与该第一业务数据元素之间的关联,来确定该第一业务数据元素的数据质量的度量。
在一些实施例中,确定该第一业务数据元素的数据质量的度量包括至少部分地基于与该第一物理数据元素中的数据相关联的一个或多个数据质量规则来执行对该第一物理数据元素中的数据的数据质量的分析,以获得与该第一物理数据元素相关联的至少一个数据质量度量。
在一些实施例中,根据权利要求18所述的数据处理系统,其中,该第一业务元素的数据质量的度量包括准确性、完整性和有效性中的一个或多个的度量。
一些实施例涉及一种方法,其包括使用至少一个计算机硬件处理器来执行:获得表示多个物理数据元素之间的关系的第一数据沿袭,该第一数据沿袭至少部分地通过执行以下各项中的至少一项来生成:分析被配置成访问该多个物理数据元素中的至少一些的至少一个计算机程序的源代码;以及分析在该至少一个计算机程序的运行时间期间获得的信息;至少部分地基于用户输入获得表示多个业务数据元素之间的关系的第二数据沿袭;获得该第一数据沿袭的多个物理数据元素中的至少一些与该第二数据沿袭的多个业务数据元素中的至少一些之间的关联,该关联包括该多个物理数据元素中的第一物理数据元素与该多个业务数据元素中的第一业务数据元素之间的关联;以及至少部分地基于与该第一物理数据元素相关联的至少一个数据质量度量和该第一物理数据元素与该第一业务数据元素之间的关联,来确定该第一业务数据元素的数据质量的度量。
一些实施例涉及存储处理器可执行指令的至少一个非暂态计算机可读存储介质,这些处理器可执行指令在由该至少一个计算机硬件处理器执行时致使该至少一个计算机硬件处理器执行以下操作:获得表示多个物理数据元素之间的关系的第一数据沿袭,该第一数据沿袭至少部分地通过执行以下各项中的至少一项来生成:分析被配置成访问该多个物理数据元素中的至少一些的至少一个计算机程序的源代码;以及分析在该至少一个计算机程序的运行时间期间获得的信息;至少部分地基于用户输入获得表示多个业务数据元素之间的关系的第二数据沿袭;获得该第一数据沿袭的多个物理数据元素中的至少一些与该第二数据沿袭的多个业务数据元素中的至少一些之间的关联,该关联包括该多个物理数据元素中的第一物理数据元素与该多个业务数据元素中的第一业务数据元素之间的关联;以及至少部分地基于与该第一物理数据元素相关联的至少一个数据质量度量和该第一物理数据元素与该第一业务数据元素之间的关联,来确定该第一业务数据元素的数据质量的度量。
一些实施例涉及存储供至少一个计算机硬件处理器执行的处理器可执行指令的至少一个非暂态计算机可读存储介质,这些处理器可执行指令包括:用于获得表示多个物理数据元素之间的关系的第一数据沿袭的装置,该第一数据沿袭至少部分地通过执行以下各项中的至少一项来生成:分析被配置成访问该多个物理数据元素中的至少一些的至少一个计算机程序的源代码;以及分析在该至少一个计算机程序的运行时间期间获得的信息;用于至少部分地基于用户输入获得表示多个业务数据元素之间的关系的第二数据沿袭的装置;用于获得该第一数据沿袭的多个物理数据元素中的至少一些与该第二数据沿袭的多个业务数据元素中的至少一些之间的关联的装置,该关联包括该多个物理数据元素中的第一物理数据元素与该多个业务数据元素中的第一业务数据元素之间的关联;以及用于至少部分地基于与该第一物理数据元素相关联的至少一个数据质量度量和该第一物理数据元素与该第一业务数据元素之间的关联,来确定该第一业务数据元素的数据质量的度量的装置。
前述内容为本发明的非限制性摘要,其由所附权利要求界定。
附图说明
将参考以下附图描述各个方面和实施例。应当理解,附图不一定按比例绘制。出现在多个附图中的项目在其出现的所有附图中由相同或相似的附图标记指示。
图1是示意性计算环境的框图,其中本文描述的技术的一些实施例可以操作。
图2是根据本文描述的技术的一些实施例的示意性派生数据沿袭的示意性图形表示。
图3A是展示根据本文描述的技术的一些实施例的用户指定沿袭与派生数据沿袭之间的关联的图示。
图3B是展示根据本文描述的技术的一些实施例的用户指定沿袭与派生数据沿袭之间的关联的另一个图示。
图3C是展示根据本文描述的技术的一些实施例的用户指定沿袭与派生数据沿袭之间的关联的另一个图示。
图3D是展示根据本文描述的技术的一些实施例的用户指定沿袭与派生数据沿袭之间的关联的另一个图示。
图4A是展示根据本文描述的技术的一些实施例的图形界面的图示,通过该图形界面可以将业务数据元素与物理数据元素相关联。
图4B是展示根据本文描述的技术的一些实施例的另一个图形界面的图示,通过该图形界面可以将物理数据元素与业务数据元素相关联。
图5是根据本文描述的技术的一些实施例的示意性过程的流程图,该示意性过程用于获得用户指定数据沿袭与派生数据沿袭之间的关联,并且使用所获得的关联来判定用户指定数据沿袭、派生数据沿袭以及其间的关联中是否存在任何差异。
图6A至图B是示出根据本文描述的技术的一些实施例的关于业务数据元素“信用评分”的信息的示意性图形界面的图示。
图6C是根据本文描述的技术的一些实施例的呈现针对业务数据元素“信用评分”的派生数据沿袭的示意性用户界面的图示。
图6D是根据本文描述的技术的一些实施例的呈现针对业务数据元素“信用评分”的用户指定数据沿袭的示意性用户界面的图示。
图6E是根据本文描述的技术的一些实施例的示意性用户界面的图示,该用户界面指示针对业务数据元素“信用评分”的用户指定沿袭和派生沿袭之间的差异的存在。
图7是可用于实现本文描述的技术的一些实施例的示意性计算系统环境的框图。
图8A是根据本文描述的技术的一些实施例的呈现用户指定数据沿袭的示意性用户界面的图示。
图8B是根据本文描述的技术的一些实施例的示意性用户界面的图示,该用户界面提供关于图8A的用户指定数据沿袭中的两个业务数据元素之间的依赖性的细节。
图8C是根据本文描述的技术的一些实施例的示意性用户界面的图示,该用户界面呈现与图8A的用户指定数据沿袭的一部分相对应的派生数据沿袭。
图8D是根据本文描述的技术的一些实施例的示意性用户界面的图示,该用户界面呈现关于图8A的用户指定数据沿袭中的节点的信息。
图8E是呈现关于与图8A的用户指定数据沿袭中的业务数据元素相关联的物理数据元素的信息的示意性用户界面的图示。
图8F是根据本文描述的技术的一些实施例的示意性用户界面的图示,该用户界面提供关于图8A的用户指定数据沿袭中的两个其他业务数据元素之间的依赖性的细节。
具体实施方式
发明人已经认识并理解了可以通过有助于为数据处理系统管理的数据生成准确和完整的沿袭信息的技术来改进数据处理系统的准确性、可审计效率和可靠性。这类技术可以用于标识数据处理系统中存在问题并有助于其解决,由此改进数据处理系统的功能并减少数据处理错误。发明人进一步认识并理解了用于改进生成数据沿袭信息的常规方法的技术。
用于生成数据沿袭信息的一些常规技术是手动的。尽管使用用于生成数据沿袭信息的手动技术允许定制所生成的数据沿袭信息以包括请求数据沿袭信息的人所理解的术语和感兴趣的信息,但存在许多缺点。第一,不能自动验证使用常规手动技术来生成的数据沿袭信息的准确性。例如,当手动为报告创建数据沿袭的人指示用于生成报告的一些数据源自特定数据源(例如,特定位置处的数据库系统)时,除了通过手动重新检查该人的工作之外,无法以任何方式验证该指示。第二,手动生成的数据沿袭信息很快就会变得陈旧,因为由数据处理系统管理的数据经常改变,例如由于数据源的移除和/或添加、数据的迁移、数据处理逻辑的改变等。这类变化以很快的速率发生,常规手动沿袭生成技术无法跟上该速率。
用于生成数据沿袭信息的自动化技术可以解决这些缺点中的一些。例如,可以重复执行自动化日期沿袭生成技术,使得所生成的数据沿袭信息是最新的。作为另一个示例,所生成的数据沿袭信息可以由一个或多个计算机程序验证。然而,用于生成数据沿袭信息的自动化技术也具有一些缺点。例如,由自动化技术产生的数据沿袭信息(例如,基于分析对由数据处理系统管理的数据进行操作的一个或多个应用程序的源代码的技术)可以包括查看数据沿袭信息的人(例如,业务人员)不容易理解的术语(例如,变量和数据记录字段的技术名称)。作为另一个示例,自动生成的数据沿袭信息可以包括比查看其的人希望看到的信息多得多的信息。例如,自动生成的数据沿袭信息可以包括关于应用于数据的每一个变换的详细信息,包括对观看沿袭的人来说可能无关紧要的一些信息(例如,根据密钥对数据记录进行排序以提取关于姓氏以“A”开头的所有客户的信息可以是相对于对指示姓氏为“Armstrong”的银行客户的信用评分的数据值的沿袭感兴趣的银行高管而言是不感兴趣的变换)。
发明人已经认识并理解,手动和自动获得的信息都提供了可用于改进整个数据沿袭的有用信息。因此,一些实施例提供用于生成数据沿袭信息的改进技术。并非仅使用手动生成的数据沿袭信息或仅使用自动生成的数据沿袭信息,这些信息中的每一个都有缺点(包括上述那些),发明人开发并在本文中描述的技术提供了通过以下方式生成准确和完整的数据沿袭信息:(1)获得手动生成的数据沿袭信息(本文称为“用户指定数据沿袭”或“用户指定沿袭”或“声明沿袭”);(2)获得自动生成的数据沿袭信息(本文称为“派生数据沿袭”或“派生沿袭”);以及(3)获得用户指定数据沿袭与派生数据沿袭之间的关联(例如,通过生成关联或访问先前生成的关联)。所获得的关联可以用于解决仅使用任一类型的数据沿袭信息的上述缺点中的至少一些。作为一个示例,用户指定数据沿袭与派生数据沿袭之间的关联可以用于验证用户指定数据沿袭的准确性,并且更一般地讲,标识这两种类型的沿袭之间的差异或不一致。作为另一个示例,用户指定沿袭与派生数据沿袭之间的关联可以将派生数据沿袭中的信息(通常使用技术术语表达)映射到数据沿袭信息的消费者更容易访问的业务术语。作为又一个示例,用户指定数据沿袭与派生数据沿袭之间的关联可以用于验证派生数据沿袭的准确性。标识派生数据沿袭中的错误(例如,经由与用户指定沿袭的不一致)允许标识关于底层数据处理系统、其间通信链路、和/或数据处理错误的问题。继而,标识和解决这类问题改进底层数据处理系统的功能并减少数据处理错误。由于派生数据沿袭提供有关数据流的非常详细的信息,因此从这些详细信息中发现错误非常困难——它类似于大海捞针。根据本文描述的实施例,将用户指定沿袭与派生数据沿袭相关联而不是单独使用派生数据沿袭有助于标识任何数据处理错误。
由发明人开发并在本文中描述的技术改进数据处理系统。第一,本文描述的技术提供了对许多数据处理系统中包括的常规数据沿袭技术的改进。第二,本文描述的技术允许生成用户指定数据沿袭与派生数据沿袭之间的一致和/或差异的指示,这允许标识任一类型的沿袭中的错误,并且因此有助于标识和分辨数据处理系统中的数据处理错误。
本文描述的一些实施例解决了发明人已经通过用于生成数据沿袭信息的常规技术所认识到的所有上述问题。然而,并非下面描述的每个实施例都解决了这些问题中的每一个问题,并且一些实施例可能没有解决它们中的任一个。因此,应当理解,本文描述的技术的实施例不限于解决用于生成数据沿袭信息的常规技术的所有或任何的以上讨论问题。
在一些实施例中,数据处理系统可以被配置成:(1)获得表示物理数据元素之间的关系的派生数据沿袭;(2)获得表示业务数据元素之间的关系的用户指定数据沿袭;(3)获得派生数据沿袭与用户指定数据沿袭之间的关联(例如,通过生成派生数据沿袭的物理数据元素中的至少一些与用户指定数据沿袭的业务数据元素中的至少一些之间的关联);并且(4)基于多个物理数据元素与多个业务数据元素之间的关联,生成第一数据沿袭与第二数据沿袭之间的一致或差异的指示。
在一些实施例中,生成该一致或差异的指示包括:显示该第二数据沿袭的可视化,其示出该一致或差异的指示。在本文的图6A至图6E和图8A至图8F中提供了这类可视化的非限制性示例。例如,用户指定数据沿袭可以包括表示两个业务数据元素之间的第一依赖性的第一链路,并且显示用户指定数据沿袭的可视化可以包括当在派生数据沿袭中存在与第一依赖性相对应的依赖性时以一种方式(例如,使用如图8A所示的粗线)显示链路,并且当在派生数据沿袭中不存在与第一依赖性相对应的依赖性时以另一种方式(例如,使用如图8A所示的细线)显示链路。
在一些实施例中,生成一致或差异的指示:
基于派生数据沿袭与用户指定数据沿袭之间的关联,判定派生数据沿袭、用户指定数据沿袭、以及派生数据沿袭与用户指定数据沿袭之间的关联是否存在任何差异。
在一些实施例中,物理数据元素可以是由数据处理系统存储和/或处理的任何数据元素。例如,物理数据元素可以是数据记录中的字段,并且物理数据元素的值可以是存储在数据记录的字段中的值。作为另一个示例,物理数据元素可以是表格中的单元格(例如,在表格的特定行和列处出现的单元格),并且物理数据元素的值可以是表格的单元格中的值。作为又一个示例,物理数据元素可以是变量(例如,在报告中),并且物理元素的值可以是变量的值(例如,在报告的特定实例中)。
在一些实施例中,业务数据元素可以是表示与业务相关的概念量的任何数据元素。可以通过使用业务用户熟悉的自然语言(例如,业务术语)来引用(例如,命名和/或标识)业务数据元素。可能存在与业务数据元素相对应的一个或多个物理数据元素,因为它们存储作为业务数据元素表示的概念量的实例的一个或多个值。业务数据元素的一个示例可以是银行客户的信用评分,其是与银行业务相关的概念量。可以存在存储表示银行客户的信用评分的值的一个或多个物理数据元素(例如,在一个或多个表格、文件、电子表格、数据流等中)。在该示例中,可以存在与业务数据元素相对应的多个物理数据元素,因为客户的信用评分可以存储在多个位置中,或者因为针对客户存在多个不同信用评分(例如,由不同信用评级机构提供的不同信用评分)。因此,可以存在与单个业务数据元素相对应的一个或多个物理数据元素。另一方面,在一些实施例中,可能只存在与特定物理数据元素相对应的单个业务数据元素。业务数据元素可以采用相应物理数据元素的值。
应当理解,尽管可能存在与业务数据元素相对应的一个或多个物理元素,但常规数据处理系统可能无法访问指示这种相应关系的信息。如果不能访问这些信息,数据处理系统可能无法自动标识哪个或哪些物理数据元素与业务数据元素相对应和/或哪个或哪些业务数据元素与一个或多个物理数据元素相对应。相反,本文描述的技术的一些实施例提供了生成和存储物理数据元素与业务数据元素之间的关联。所生成的物理数据元素与业务数据元素之间的关联可以构成指示物理数据元素与业务数据元素之间的对应关系的信息。在一些实施例中,数据处理系统可以使用这类关联来自动确定哪些物理数据元素和业务数据元素彼此对应。
在一些实施例中,派生数据沿袭可以包括关于由数据处理系统存储和/或处理的一个或多个物理数据元素的沿袭的信息。关于物理数据元素的沿袭的信息可以包括上游沿袭信息,其指示如何获得物理数据元素的值。例如,上游沿袭信息可以标识从其获得物理数据元素的数据(例如,一个或多个其他物理数据元素)和/或已经应用于数据的一个或多个变换。附加地或可替代地,关于物理数据元素的沿袭的信息可以包括下游沿袭信息,其指示取决于物理数据元素的值的一个或多个其他数据集、物理数据元素、过程和/或应用程序。
在一些实施例中,可以通过分析被配置成访问(例如,读取、写入和修改)由数据处理系统管理的多个物理数据元素中的至少一些的至少一个计算机程序的源代码来获得派生数据沿袭。可以通过使用任何合适的静态代码分析技术和/或任何其他合适的(多种)技术来执行源代码分析。源代码分析可以用于标识由计算机程序输入和/或访问的一个或多个物理数据元素、标识应用于输入的一个或多个变换和/或使用输入作为计算机程序的一部分来执行的计算、和/或标识计算机程序的一个或多个输出。在一些实施例中,计算机程序可以包括数据流图。
在一些实施例中,除了或代替分析一个或多个计算机程序的源代码,可以通过分析在至少一个计算机程序的运行时间期间获得的信息来获得派生数据沿袭。例如,在一些实施例中,可以分析在计算机程序的运行时间期间生成的一个或多个日志以标识计算机程序的输入、应用于输入的一个或多个变换和/或使用输入作为计算机程序的一部分来执行的计算、和/或计算机程序的一个或多个输出。
在一些实施例中,用户指定数据沿袭可以由用户指定并且可以表示业务数据元素之间的关系。用户指定沿袭可以包括上游和下游沿袭信息。例如,用户指定沿袭可以包括指示用于生成(例如,计算)业务感兴趣的业务数据元素(例如,银行客户的信用评分)的一个或多个其他业务数据元素的信息。在一些实施例中,可以向用户提供一个或多个图形用户界面以便于他/她指定用户指定数据沿袭。
在一些实施例中,通过生成派生数据沿袭中的一个或多个物理数据元素与用户指定数据沿袭中的一个或多个对应业务数据元素之间的关联,可以执行获得派生数据沿袭与用户指定数据沿袭之间的关联。在一些实施例中,可以例如基于物理数据元素和业务数据元素的元数据(例如,名称)自动生成物理数据元素与业务数据元素之间的关联。在一些实施例中,可以基于指定关联的用户输入来生成物理数据元素与业务数据元素之间的关联。在这类实施例中,可以向用户提供一个或多个图形用户界面以便于他/她指定关联。
在一些实施例中,可以使用派生数据沿袭与用户指定数据沿袭之间的关联来判定这些类型的沿袭之间是否存在差异。例如,当存在沿袭之间的关联(即业务数据元素“B”与物理数据元素“P”相关联)时,判定是否存在差异可以包括确定在派生数据沿袭中被标识为用于获得物理数据元素P的一个或多个数据源的第一集合不同于在用户指定沿袭中被标识为用于获得业务数据元素B的一个或多个数据源的第二集合。
在一些实施例中,可以更新派生数据沿袭,并且可以重复判定派生数据沿袭与用户指定数据沿袭之间是否存在差异。以此方式,可以检测由于数据处理系统管理的数据的改变而可能出现的沿袭之间的差异。
应当理解,派生数据沿袭与用户指定数据沿袭之间的关联不限于用于标识沿袭之间的差异,并且可以用于任何其他合适的目的。例如,在一些实施例中,沿袭之间的关联可以用于获得一个或多个业务数据元素的数据质量的度量。
在一些实施例中,可以评估一个或多个物理数据元素中的数据的质量。例如,可以使用预定义的数据质量规则来评估数据的质量,这些数据质量规则可以定义用于评估物理数据元素的值的标准,比如通过根据标准标识值的特性(例如,准确性、精确性、完整性和有效性)。值表现这些特性的程度可以由此产生物理数据元素的数据质量的度量,并且凭借物理数据元素与业务数据元素之间的关联产生业务数据元素的数据质量的度量。
因此,在一些实施例中,数据处理系统可以被配置成:(1)获得表示物理数据元素之间的关系的派生数据沿袭;(2)获得表示业务数据元素之间的关系的用户指定数据沿袭;(3)获得派生数据沿袭与用户指定数据沿袭之间的关联,该关联包括派生数据沿袭中的第一物理数据元素与用户指定数据沿袭中的第一业务数据元素之间的关联;以及(4)基于派生数据沿袭与用户指定数据沿袭之间的关联以及第一物理数据元素的数据质量的度量,确定第一业务数据元素的数据质量的度量。
应当理解,本文描述的实施例可能以多种方式中的任一种来实施。以下提供具体实现方式的示例仅用于说明目的。应当理解,这些实施例和所提供的特征/能力可以单独使用、一起使用、或者以两个或更多个的任何组合使用,因为本文描述的技术的方面在这方面不受限制。
图1是示意性计算环境100的框图,其中本文描述的技术的一些实施例可以操作。计算环境100包括数据处理系统105,其被配置成对存储在数据存储设备104中的数据进行操作。
在一些实施例中,数据存储设备104可以包括以一种或多种任何合适类型的格式存储数据的一个或多个存储装置。例如,数据存储设备104的(多个)存储装置部分可以使用一个或多个数据库表、电子表格文件、平面文本文件和/或任何其他合适格式(例如,主机的本机格式)的文件来存储数据。(多个)存储装置可以是任何合适的类型,并且可以包括一个或多个服务器、一个或多个数据库系统、一个或多个便携式存储装置、一个或多个非易失性存储装置、一个或多个易失性存储装置、和/或被配置成电子地存储数据的任何其他(多个)装置。在一些实施例中,除了(多个)存储装置之外或代替(多个)存储装置,数据存储设备104可以包括一个或多个在线数据流。因此,在一些实施例中,数据处理系统105可以访问以任何合适格式通过一个或多个数据流提供的数据。
在数据存储设备104包括多个存储装置的实施例中,存储装置可以共同位于一个物理位置中(例如,在一个建筑物中)或分布在多个物理位置(例如,在多个建筑物中,在不同的城市、州或国家)。存储装置可以被配置成使用一个或多个网络(比如,例如,图1所示的网络106)来彼此通信。
在一些实施例中,由(多个)存储装置存储的数据可以包括一个或多个数据实体,比如一个或多个文件、表格、表格的行和/或列中的数据、电子表格、数据集、数据记录(例如,信用卡交易记录、电话记录和银行交易记录)、字段、变量、消息和/或报告。(多个)存储装置可以存储数千、数百万、数千万或数亿个数据实体。每个数据实体可以包括一个或多个物理数据元素。
物理数据元素可以是由数据处理系统存储和/或处理的任何数据元素。例如,物理数据元素可以是数据记录中的字段,并且物理数据元素的值可以是存储在数据记录的字段中的值。作为具体的非限制性示例,物理数据元素可以是在存储关于电话呼叫的信息的数据记录中存储呼叫者姓名的字段(该数据记录可能是关于电信公司客户进行的电话呼叫的多个数据记录的一部分),并且物理数据元素的值可以是存储在字段中的值。作为另一个示例,物理数据元素可以是表格中的单元格(例如,在表格的特定行和列处出现的单元格),并且物理数据元素的值可以是表格的单元格中的值。作为另一个示例,物理数据元素可以是变量(例如,在报告中),并且物理元素的值可以是变量的值(例如,在报告的特定实例中)。作为具体的非限制性示例,物理数据元素可以是关于银行贷款申请人的报告中的表示申请人的信用评分的变量,并且物理数据元素的值可以是信用评分的数值(例如,在300与850之间的数值)。表示申请人信用评分的物理数据元素的值可以取决于用于生成关于银行贷款申请人的报告的数据而改变。
在一些实施例中,物理数据元素可以采用任何合适类型的值。例如,物理数据元素可以采用数值、字母值、来自离散选项集(例如,有限的类别集)的值、或任何其他合适类型的值,因为本文描述的技术的方面在这方面不受限制。
数据处理系统105可以包括被配置成对数据存储设备104中的数据进行操作的一个或多个计算机程序109。计算机程序109可以是任何合适的类型并且可以用任何合适的(多种)编程语言编写。例如,在一些实施例中,计算机程序109可以包括至少部分地使用结构化查询语言(SQL)编写并被配置成访问数据存储设备104的一个或多个数据库部分中的数据的一个或多个计算机程序。作为另一个示例,在一些实施例中,数据处理系统105被配置成以图形式执行程序,并且计算机程序109可以包括作为数据流图开发的一个或多个计算机程序。数据流图可以包括称为“节点”或“顶点”的组成部分,其表示要对输入数据执行的数据处理操作和表示数据流的组成部分之间的链路。用于执行由数据流图进行编码的计算的技术在名称为“Executing Computations Expressed as Graphs[执行表达为图表的计算]”的美国专利号5,966,072中描述,该专利的全部内容通过援引并入本文。
在图1的所示实施例中,数据处理系统105进一步包括开发环境108,其可以由人(例如,开发者)使用以开发用于对数据存储设备104中的数据进行操作的计算机程序109中的一个或多个。例如,在一些实施例中,用户102可以使用计算装置103来与开发环境交互以指定计算机程序(比如数据流图)并将计算机程序保存为计算机程序109的一部分。用于开发作为数据流图的计算机程序的环境在名称为“Managing Parameters for Graph-BasedApplications[为基于图表的应用程序管理参数]”的美国专利公开号2007/0011668中描述,该专利的全部内容通过援引并入本文。
在一些实施例中,计算机程序109中的一个或多个可以被配置成对数据存储设备104中的数据执行任何合适的操作。例如,计算机程序109中的一个或多个可以被配置成从一个或多个源访问数据、转变所访问的数据(例如,通过改变数据值、过滤数据记录、改变数据格式、对数据进行排序、组合来自多个源的数据、将数据分成多个部分、和/或以任何其他合适的方式)、根据所访问的数据计算一个或多个新值、和/或将数据写入一个或多个目的地。
在一些实施例中,计算机程序109中的一个或多个可以被配置成对数据存储设备109中的数据执行计算和/或根据该数据生成报告。所执行的计算和/或所生成的报告可以与和业务相关的一个或多个量相关。例如,计算机程序可以被配置成访问人的信用历史数据并基于信用历史确定该人的信用评分。作为另一个示例,计算机程序可以访问电话公司的多个客户的电话呼叫日志,并生成指示有多少客户使用的数据多于其数据计划中允许的数据的报告。作为又一个示例,计算机程序可以访问指示银行进行的贷款类型的数据,并生成指示银行进行的贷款的总体风险的报告。这些示例是示意性的且非限制性的,因为计算机程序可以被配置成根据存储在数据存储设备104中的数据生成任何合适的信息(例如,用于任何合适的业务目的)。
在所示的实施例中,数据处理系统105还包括支持各种数据治理任务的执行的数据治理模块110。例如,在所示实施例中,数据治理模块110包括数据字典模块112、角色管理模块114、数据质量模块116、派生沿袭模块118、用户指定沿袭模块120和沿袭关联模块122,其中的每一个包括在被执行时执行支持一个或多个数据治理任务的执行的功能的处理器可执行指令,如下面更详细地描述的。
在一些实施例中,数据字典模块112可以被配置成存储关于数据存储设备104中的数据的信息。也就是说,数据字典112可以被配置成存储与数据存储设备104中的数据相关联的元数据。例如,数据字典112可以存储数据存储设备104中的物理数据元素的一个或多个替代名称。以此方式,而不是通过物理数据元素相对应的变量的名称来引用物理数据元素(该变量名称可能是由程序员创建的,并且不是“用户友好的”,因为它不会立即向用户传达变量表示的信息),数据字典可以包括用于物理数据元素的一个或多个替代术语,比如,例如,业务人员为了引用物理数据元素将使用的自然语言术语或短语。作为具体示例,数据字典112可以存储名称“银行客户信用评分”或“银行客户FICO信用评分”作为与名为“cstCrdScr”的变量相对应的物理数据元素的替代名称,该物理数据元素存储特定银行客户的FICO信用评分值。作为另一个具体示例,数据字典112可以存储名称“订单金额”作为可用于引用与名为“订单_金额(order_amt)”的字段相对应的物理数据元素的语言。
在一些实施例中,角色管理模块114可以管理指示哪个或哪些方负责存储在数据存储设备104中的各种数据元素的信息。管理这种角色信息可以包括存储角色信息、允许一个或多个用户修改这种信息(例如,通过移除、添加或改变各方和/或其责任)、和/或显示角色信息。
在一些实施例中,角色管理模块114可以为一个或多个物理数据元素和/或一个或多个业务数据元素指定责任方。例如,角色管理模块114可以被配置成管理用于生成(并且在一些实施例中,可以被配置成生成)指示负责管理数据元素的各方的图形界面的信息。图6A中示出了这种图形界面的示意性示例,其标识负责管理“信用评分”业务数据元素601的四个人(包括企业所有者602、数据管理人员604和两个主题专家606和608)。
在一些实施例中,数据质量模块116可以被配置成确定一个或多个物理数据元素中的每一个的数据质量的一个或多个度量。可以以任何合适的方式确定物理数据元素中的数据质量。例如,在一些实施例中,可以使用预定义的数据质量规则来评估数据的质量,这些数据质量规则可以定义用于评估物理数据元素的值的标准,比如通过根据标准标识值的特性(例如,准确性、精确性、完整性和有效性)。值表现这些特性的程度可以由此产生物理数据元素的数据质量的度量。使用数据质量规则来评估数据质量的方面在题目为“Specifying and Applying Rules to Data[对数据指定和应用规则]”的美国专利公开号2014/0108357中描述,该专利申请的全部内容通过援引并入本文。
在一些实施例中,派生沿袭模块118可以被配置成针对数据存储设备104中的数据中的至少一些生成派生数据沿袭。派生数据沿袭可以包括关于一个或多个物理数据元素的沿袭的信息。例如,派生数据沿袭可以包括:上游沿袭信息,其指示如何获得物理数据元素的值;和/或下游沿袭信息,其指示取决于物理数据元素的值的一个或多个其他数据集、物理数据元素、过程和/或应用程序。
在一些实施例中,派生沿袭模块118可以被配置成通过分析被配置成访问(例如,读取、写入和修改)由数据处理系统管理的多个物理数据元素中的至少一些的至少一个计算机程序的源代码来生成派生数据沿袭。源代码分析可以用于标识计算机程序的输入(例如,标识由计算机程序访问的一个或多个物理数据元素)、标识应用于输入的一个或多个变换和/或使用输入作为计算机程序的一部分来执行的计算、和/或标识计算机程序的一个或多个输出。在一些实施例中,计算机程序可以包括数据流图。
在一些实施例中,派生沿袭模块118可以被配置成通过分析在至少一个计算机程序的运行时间期间获得的信息来生成派生数据沿袭。例如,在一些实施例中,可以分析在计算机程序的运行时间期间生成的一个或多个日志以标识计算机程序的输入、应用于输入的一个或多个变换和/或使用输入作为计算机程序的一部分来执行的计算、和/或计算机程序的一个或多个输出。
在一些实施例中,派生沿袭模块118可以被配置成通过使用一个或多个数据发现过程来生成派生数据沿袭。例如,在一些实施例中,实现数据发现的计算机程序可以被配置成标识包含相同数据值的不同物理数据元素,并且基于该标识来确定这些物理数据元素是相关的。例如,计算机程序可以被配置成确定相同的数据表存储在多个不同的数据库中,并在此基础上确定这些表中的物理数据元素是相关的。应当理解,派生沿袭模块118可以被配置成使用上述方式中的任一个或者上述或其他方式中的两个或更多个的任何组合来生成派生沿袭,因为本文描述的技术的方面在这方面不受限制。
图2是示意性派生数据沿袭的数据沿袭图示200。派生数据沿袭和展示它的图示可以由派生沿袭模块118生成。数据沿袭图示200包括表示数据实体的节点202和表示应用于数据实体的变换的节点204。数据沿袭图示200示出了数据实体206中的一个或多个物理数据元素的上游沿袭信息。进入表示变换的节点的箭头指示哪些数据实体被作为输入提供给变换。从表示数据变换的节点出来的箭头指示向其提供变换结果的数据实体。本文提供了数据实体的示例。变换的示例包括但不限于执行任何合适类型的计算、对数据进行排序、基于任何合适的标准过滤数据以移除数据的一个或多个部分(例如,过滤数据记录以移除一个或多个数据记录)、合并数据(例如,使用联接操作或以任何其他合适的方式)、执行任何合适的数据库操作或命令、和/或前述变换的任何合适组合。可以使用任何合适类型的一个或多个计算机程序(作为示例而非限制,包括实施为数据流图的一个或多个计算机程序)来实施变换。
数据沿袭图示(比如图2所示的图示200)可能由于多种原因而是有用的。例如,展示数据实体与变换之间的关系可以帮助用户确定如何获得特定物理数据元素(例如,如何计算报告中的特定值)。作为另一个示例,数据沿袭图示可以用于确定将哪些变换被应用于各种物理数据元素和/或数据实体。
在一些实施例中,派生数据沿袭可以表示物理数据元素、包含那些物理数据元素的数据实体、和/或应用于物理数据元素的变换之间的关系。物理数据元素、数据实体和变换之间的关系可以用于确定其他事物之间的关系,比如,这些事物例如为系统(例如,一个或多个计算装置、数据库、数据仓库等)和/或应用程序(例如,访问由数据处理系统管理的数据的一个或多个计算机程序)。例如,当在派生数据沿袭内,存储在位于一个物理位置的系统“A”中的数据库中的表的物理数据元素部分被指示为从存储在系统“B”中的另一个数据库中的另一个表的另一个物理数据元素部分派生时,则可以推断系统A和B之间的关系。作为另一个示例,当应用程序从系统读取一个或多个物理数据元素时,可以推断应用程序与系统之间的关系。作为又一个示例,当一个应用程序访问由另一个应用程序操作的物理数据元素时,可以推断应用程序之间的关系。这些关系中的任何一个或多个可以被示为数据沿袭图示的一部分。
应当理解,数据处理系统可以管理大量物理数据元素(例如,数百万、数十亿或数万亿的物理数据元素)。(例如,管理与信用卡交易相关联的数据的数据处理系统可以一年处理数十亿的信用卡交易,并且交易中的每一个可以包括多个物理数据元素,比如,例如信用卡号、日期、商家身份和购买金额。)因此,派生数据沿袭可以表示大量物理数据元素、包含那些物理数据元素的数据实体、和/或应用于物理数据元素的变换之间的关系。因为派生数据沿袭可能包括大量信息,所以以观察者可理解的方式呈现该信息是重要的。因此,在一些实施例中,可能以不同粒度级别将派生数据沿袭中的信息可视化。用于可视化派生沿袭中的信息的各种技术和用于生成和/或可视化派生数据沿袭的技术的一些方面在以下专利中描述:(1)名称为“Visualizing Relationships Between Data Elements andGraphical Representations of Data Element Attributes[将数据元素之间的关系和数据元素属性的图形表示可视化]”的美国专利申请公开号2010/0138431;(2)名称为“Filtering Data Lineage Diagrams[对数据沿袭图示进行过滤]”的美国专利申请公开号2016/0232230;(3)名称为“Data Lineage Summarization[数据沿袭概要]”的美国专利申请公开号2016/0028580;以及(4)名称为“Managing Lineage Information[管理数据沿袭信息]”的美国专利申请公开号2016/0019286,这些专利申请中的每一个的通过援引以其全文并入本文。
在一些实施例中,用户指定沿袭模块120可以被配置成有助于用户(例如,用户102或任何其他合适的用户)指定用户指定沿袭。用户指定沿袭模块120可以被配置成向用户提供一个或多个图形用户界面以有助于他/她手动指定沿袭。(多个)图形用户界面可以提供画布,其中用户可以拖放与业务数据元素相对应的图形显示元素。图形显示元素可以使用链路(例如,线、方向箭头等)来连接以指示由图形显示元素表示的业务数据元素之间的沿袭关系。
在一些实施例中,用户指定数据沿袭可以由用户指定并且可以表示业务数据元素之间的关系。用户指定沿袭可以包括上游和下游沿袭信息。例如,用户指定沿袭可以包括指示用于生成(例如,计算)业务感兴趣的业务数据元素(例如,银行客户的信用评分)的一个或多个其他业务数据元素的信息。
在一些实施例中,关联模块122可以被配置成有助于生成派生数据沿袭与用户指定数据沿袭之间的关联。为此,关联模块122可以为一个或多个业务数据元素中的每一个生成业务数据元素与一个或多个相应物理数据元素之间的关联。
在一些实施例中,关联模块122可以自动生成业务数据元素与一个或多个相应物理数据元素之间的关联(例如,而不用指示业务数据元素和物理数据元素应当关联的用户输入)。这可以以任何合适的方式完成。例如,在一些实施例中,可以例如基于物理数据元素和业务数据元素的元数据自动生成物理数据元素与业务数据元素之间的关联。这类元数据可以包含信息,包括但不限于物理数据元素和/或业务元素的名称、物理数据元素和业务数据元素的类型、物理数据元素与一个或多个其他物理数据元素之间的关系、以及业务数据元素与一个或多个其他物理数据元素之间的关系。作为一个特定示例,当物理数据元素和业务数据元素至少共享阈值数量的属性时,关联模块122可以关联这些元素。作为另一个示例,数据元素之间的现有关联可以通知新关联的自动标识。例如,如果物理数据元素A(表I中存储银行客户信用评分的字段)与业务数据元素B(银行客户的信用评分)相关联,并且数据处理系统确定(例如,使用数据发现过程)物理数据元素A与物理数据元素C(表II中存储银行客户的信用评分副本的字段)相关,则关联模块可以将物理数据元素C关联到业务数据元素B。
在一些实施例中,关联模块122可以生成物理数据元素与业务数据元素之间的关联,该关联可以至少部分地(或整体地)基于指定关联的用户输入而生成。在这类实施例中,可以提供一个或多个图形用户界面以允许用户指定物理数据元素与业务数据元素之间的关联。这类用户界面的示意性示例在图4A和图4B中示出。
图4A是展示图形界面400的图示,通过该图形界面,业务数据元素401(“订单金额”)可以与两个相应的物理数据元素相关联:在数据集“紧急_订单(rush_order)”中命名为“订单_金额”的物理数据元素402和在数据集“订单_事实(order_fact)”中也命名为“订单_金额”的物理数据元素403。图形用户界面400可以用于移除这些关联中的一个或两个和/或添加一个或多个其他关联。如从图形用户界面400可以理解的,业务数据元素401可以与一个或多个相应物理数据元素相关联。
图4B是示出根据本文描述的技术的一些实施例的另一个图形界面410的图示,通过该图形界面可以将物理数据元素与业务数据元素相关联。如图4B所示,数据集“紧急_订单”中的物理数据元素402可以与业务数据元素401相关联。如从图形用户界面410可以理解的,物理数据元素402可以与单个相应业务数据元素相关联。
在一些实施例中,数据处理系统100可以被配置成向一个或多个用户显示关于由数据处理系统管理的数据的信息。在图1所示的实施例中,数据处理系统100可以被配置成经由计算装置134向用户130显示关于由系统管理的数据的信息。用户130可以经由计算装置134查看任何合适的信息,包括例如与系统100管理的数据相关联的沿袭信息。因此,用户130可以查看关于通过使用派生数据沿袭模块118生成的物理数据元素的派生数据沿袭的信息(例如,经由任何合适类型的数据沿袭图示,其示例在本文中提供)、关于至少部分地通过使用用户指定沿袭模块120来生成的用户指定数据沿袭的信息、和指示所派生数据沿袭与用户指定数据沿袭之间的关联的信息(例如,如下面参考图3A至图3D所述)。
计算装置103和134中的每一个可以是固定或便携的任何合适类型的计算装置,因为本文描述的技术的方面在这方面不受限制。此外,计算装置103和134不需要是相同类型的计算装置。计算装置103和134、数据处理系统105和数据存储设备104被配置成经由网络106彼此通信。网络106可以是任何合适类型的网络,比如互联网、内联网、广域网、局域网和/或任何其他合适类型的网络。
如上所述,在一些实施例中,可以使用派生数据沿袭与用户指定数据沿袭之间的关联来判定这些类型的沿袭之间是否存在差异。例如,如图3A和图3B所示,派生数据沿袭与用户指定数据沿袭之间的关联可以用于确定派生数据沿袭和用户指定数据沿袭指示相关联的物理数据元素和业务数据元素的不同数据源。
图3A是展示根据本文描述的技术的一些实施例的示例用户指定沿袭300与示例派生数据沿袭320之间的关联的图示。用户指定沿袭300和派生数据沿袭320中的每一个可以以本文描述的方式中的任一种获得。应当理解,用户指定数据沿袭和派生数据沿袭可能比图3A所示的沿袭更复杂,并且例如可以包括更多业务数据元素、物理数据元素、数据实体、业务数据容器等。图3A所示的沿袭的示例用于方便说明而不是限制。
派生数据沿袭320包括数据实体340、342、344、346、348和350。数据实体中的每一个可以存储在不同的系统和/或计算装置中。可替代地,两个或更多个(或所有)数据实体可以存储在一个系统和/或计算装置中。本文提供了数据实体的示例。每个数据实体可以包括一个或多个物理数据元素。数据实体340包含一个或多个物理数据元素,其包括物理数据元素322。数据实体342包含一个或多个物理数据元素,其包括物理数据元素324。数据实体344包含多个物理数据元素,其包括物理数据元素326、328和330。数据实体346包括一个或多个物理数据元素,其包括物理数据元素332。数据实体348包括一个或多个物理数据元素,其包括物理数据元素334。数据实体350包括一个或多个物理数据元素,其包括物理数据元素336。
在一些实施例中,派生数据沿袭可以包括用于一个或多个物理数据元素的上游数据沿袭信息,其提供关于如何获得和/或生成(多个)物理数据元素的信息。例如,在图3A的示意性示例中,派生数据沿袭320包括物理数据元素322的上游数据沿袭信息。如图3A所示的阴影指示的,物理数据元素322是从物理数据元素324获得的,该物理数据元素324是从包括物理数据元素326的多个物理数据元素获得的,该物理数据元素326是从物理数据元素332获得的。因此,至少部分地基于数据实体346中的物理数据元素332获得物理数据元素322。
用户指定数据沿袭320包括数据容器303、305、307和309。数据容器可以是用于封装业务数据元素的任何合适容器。数据容器可以用于将业务数据元素呈现给业务用户。例如,数据容器可以是报告、电子表格、具有一个或多个幻灯片的演示文稿、文本文件、Word文档和/或PDF文件。在一些实施例中,数据容器中的内容可以由用户生成,例如通过执行数据库查询(例如,SQL查询)并将数据库查询的结果放入数据容器中。作为特定的非限制性示例,创建用户指定数据沿袭的用户可以执行数据库查询并将作为查询结果返回的表插入电子表格文件中。
如图3A所示,数据容器303包括一个或多个业务数据元素,其包括业务数据元素302。数据容器305包括一个或多个业务数据元素,其包括业务数据元素304。数据容器307包括一个或多个业务数据元素,其包括业务数据元素306。数据容器309包括一个或多个业务数据元素,其包括业务数据元素308。
在一些实施例中,用户指定数据沿袭可包括上游数据沿袭信息,其提供有关如何获得和/或生成(多个)业务数据元素的信息,和/或一个或多个业务数据元素的下游沿袭信息,其提供指示哪些其他(多个)业务数据元素取决于(多个)业务数据元素的信息。例如,在图3A的示意性示例中,用户指定沿袭300包括用于业务数据元素302的上游数据沿袭信息。如图3A所示,用户指定沿袭300指示业务数据元素302是从业务数据元素304获得的,该业务数据元素304是从业务数据元素306获得的,该业务数据元素306是从业务数据元素308获得的。
如本文所讨论的,在一些实施例中,通过生成派生数据沿袭中的一个或多个物理数据元素与用户指定数据沿袭中的一个或多个相应的业务数据元素之间的关联,可以生成用户指定沿袭与派生数据沿袭之间的关联。在图3A中示出了这种关联的示意性示例,该图示出:(1)业务数据元素302经由关联链路352与物理数据元素322相关联;(2)业务数据元素304经由关联链路354与物理数据元素324相关联;(3)业务数据元素306经由关联链路356与物理数据元素326相关联;以及(4)业务数据元素308经由关联链路358与物理数据元素332相关联。从图3A的示例可以理解,用户指定数据沿袭与派生数据沿袭之间的关联可以包括指定沿袭中的数据元素之间的一个或多个关联链路的信息。图3B示出了图3A的简化版本,其中省略了数据实体340、342、344、346、348和350以及数据容器303、305、307和309。
在一些实施例中,可以使用派生数据沿袭与用户指定数据沿袭之间的关联来判定沿袭之间是否存在差异。例如,图3A所示的关联指示业务数据元素302的用户指定沿袭与物理数据元素322的派生数据沿袭之间没有差异,该物理数据元素与业务数据元素302相关联。在该示例中,物理数据元素322的上游派生数据沿袭中的每个物理数据元素与业务数据元素302的上游用户指定数据沿袭中的对应业务数据元素相关联。例如,用于根据派生数据沿袭320获得物理数据元素322的物理数据元素332与用于根据用户指定数据沿袭300获得业务数据元素302的业务数据元素308相关联。
相反,图3C所示的关联指示用户指定沿袭300与派生数据沿袭320之间存在差异,其已经被更新以反映对底层数据处理系统管理的数据的改变。作为对派生数据沿袭320的改变的结果,现在通过使用物理数据元素336(如图3C中的阴影所指示的)而不是物理数据元素332(如图3B所示)来获得物理数据元素322。因此,并非物理数据元素322的上游派生数据沿袭中的每个物理数据元素与业务数据元素302的上游用户指定数据沿袭中的相应业务数据元素相关联。如图3C所示,用于获得物理数据元素322的物理数据元素336不与用户指定数据沿袭300中的用于获得业务数据元素302的业务数据元素相关联,该业务数据元素302是与物理数据元素322相关联的业务数据元素。此外,尽管物理数据元素332不用于根据派生数据沿袭生成物理数据元素322,但虽然如此,它仍与用于根据用户指定数据沿袭生成业务数据元素302的业务数据元素308相关联。可以使用本文描述的技术来自动标识这些差异,并且可以向用户警告其存在和/或可以采取一个或多个自动化动作来解决差异(例如,通过改变用户指定数据沿袭和/或通知一个或多个用户实现这种改变)。
如图3A、图3B和图3C所示,在一些实施例中,用户指定数据沿袭与派生数据沿袭之间的关联包括用户指定数据沿袭中的业务数据元素与派生数据沿袭中的物理数据元素之间的关联。在一些实施例中,用户指定数据沿袭与派生数据沿袭之间的关联可以进一步包括用户指定数据沿袭和派生数据沿袭中的变换之间的关联。用户指定数据沿袭中的变换可以指示如何从一个或多个其他业务数据元素获得业务数据元素。派生数据沿袭中的变换可以指示如何从一个或多个其他物理数据元素获得物理数据元素。本文提供了变换的示例。
在图3D中展示的示例中示出了用户指定数据沿袭和派生数据沿袭中的变换之间的关联的示例。在图3D中,用户指定数据沿袭300进一步包括变换310,其被应用于业务数据元素308和309以获得业务数据元素306。派生数据沿袭320进一步包括变换323,其被应用于物理数据元素332和334以获得物理数据元素326。如图3D所示,变换310和323经由关联链路357彼此相关联。尽管图3D中为用户指定数据沿袭300和派生数据沿袭320中的每一个仅示出了一个变换,但应当理解,每一个沿袭可以包括任何合适数量的变换,因为本文描述的技术的方面在这方面不受限制。例如,派生数据沿袭可以包括数据实体和/或物理数据实体的链接对之间的变换(参见例如图2所示的变换204)。
图5是根据本文描述的技术的一些实施例的示意性过程500的流程图,该示意性过程用于获得(例如,生成或访问)用户指定沿袭与派生沿袭之间的关联,并且使用所获得的关联来判定用户指定沿袭、派生沿袭以及其间的关联中是否存在任何差异。过程500可以由任何合适的系统和/或(多个)计算装置执行,并且例如,可以由参考图1描述的数据处理系统105执行。
过程500开始于动作502,其中获得用户指定数据沿袭。可以以任何合适的方式获得用户指定数据沿袭。例如,用户指定数据沿袭可以由用户使用由数据处理系统提供给用户的一个或多个图形用户界面来指定以便有助于他/她指定用户指定数据沿袭。
接下来,过程500进展到动作504,其中获得派生数据沿袭。派生数据沿袭可以以本文描述的方式中的任一种获得。例如,在一些实施例中,可以通过分析被配置成访问由数据处理系统管理的多个物理数据元素中的至少一些的一个或多个计算机程序的源代码来获得派生数据沿袭。源代码分析可以用于标识由(多个)计算机程序输入或访问的一个或多个物理数据元素、标识应用于输入的一个或多个变换和/或使用输入作为(多个)计算机程序的一部分来执行的计算、和/或标识(多个)计算机程序的一个或多个输出。附加地或可替代地,可以通过分析在(多个)计算机程序的运行时间期间获得的信息来获得派生数据沿袭。例如,在一些实施例中,可以分析在计算机程序的运行时间期间生成的一个或多个日志以标识计算机程序的输入、应用于输入的一个或多个变换和/或使用输入作为计算机程序的一部分来执行的计算、和/或计算机程序的一个或多个输出。
接下来,过程500进展到动作506,其中获得在动作502处获得的用户指定沿袭与在动作504处获得的派生数据沿袭之间的关联。可以通过访问先前生成的关联或通过生成关联作为过程500的一部分来获得关联。生成派生数据沿袭与用户指定数据沿袭之间的关联可以包括生成派生数据沿袭中的一个或多个物理数据元素与用户指定数据沿袭中的一个或多个相应业务数据元素之间的关联。附加地,生成派生数据沿袭与用户指定数据沿袭之间的关联可以包括生成派生数据沿袭中的物理数据元素的一个或多个变换与用户指定数据沿袭中的业务数据元素的一个或多个相应变换之间的关联。一旦生成,该关联可以由数据处理系统存储在一个或多个数据结构中,使得其可用于后续使用。
可以以本文描述的任何方式生成用户指定数据沿袭与派生数据沿袭之间的关联。在一些实施例中,可以例如基于物理数据元素和业务数据元素的元数据(例如,名称)自动生成沿袭之间的关联。在一些实施例中,可以基于指定关联的用户输入来生成沿袭之间的关联。在这类实施例中,数据处理系统可以向用户提供一个或多个图形用户界面以便于他/她指定关联。图形用户界面可以有助于指定物理数据元素和业务数据元素之间的关联以及应用于这些元素的变换之间的关联。
接下来,过程500进展到动作508,其中生成了在动作506处生成的关联的可视化。可视化可以提供哪些物理数据元素和业务数据元素彼此相关联的图形指示。附加地,可视化还可以提供用户指定沿袭中的哪些变换以及所派生数据中的哪些变换彼此相关联的图形指示。例如,在一些实施例中,所生成的可视化可以包括一个或多个图形元素,其表示派生数据沿袭中的一个或多个物理数据元素与(多个)相关联的业务数据元素之间的关联链路(例如,图3A中的关联链路352、354、356和358)。作为特定示例,在动作508处生成的可视化可以包括:(1)表示在动作504处获得的派生数据沿袭的第一图的可视化,第一图包括表示数据实体、物理数据元素和/或变换的节点;(2)表示在动作502处获得的用户指定数据沿袭的第二图的可视化,第二图包括表示数据容器、业务数据元素和/或变换的节点;以及(3)图中节点之间的一个或多个边缘,其表示物理数据元素与业务数据元素之间的关联链路和/或两个沿袭中的变换之间的关联链路。在本文中的图6A至图6E和图8A至图8F中展示了其他非限制性示例可视化。
接下来,过程500进展到动作509,其中基于与(多个)业务数据元素相关联的一个或多个物理数据元素中的每一个的数据质量的度量来确定一个或多个业务数据元素中的每一个的数据质量的度量。在一些实施例中,可以使用一个或多个预定义数据质量规则来评估物理数据元素的质量度量,这些数据质量规则可以定义用于评估物理数据元素值的标准,比如通过根据标准标识值的特性(例如,准确性、精确性、完整性和有效性)。值表现这些特性的程度可以由此产生物理数据元素的数据质量的度量,并且凭借物理数据元素与业务数据元素之间的关联产生业务数据元素的数据质量的度量。
接下来,过程500进展到判定框510,其中确定在动作502处获得的用户指定数据沿袭、在动作504处获得的派生数据沿袭、以及在动作506处获得的关联之间是否存在差异。在一些实例中,两种类型的沿袭之间的关联可能是正确的,并且可能由于沿袭本身之间的差异而发生差异。在其他实例中,两种类型的沿袭之间的关联中可能存在错误,并且可能由于错误而发生差异。
可以以任何合适的方式检测差异。例如,在一些实施例中,数据处理系统可以检查以查看用于获得另一个物理数据元素(例如,图3A中的物理数据元素322)的物理数据元素(例如,图3A中的物理数据元素332)是否与用于获得与其他物理数据元素(例如,图3A中的物理数据元素322)相关联的业务数据元素(例如,图3A中的业务数据元素302)的业务数据元素(例如,图3A中的业务数据元素308)相关联。作为另一个示例,数据处理系统可以判定在派生数据沿袭中被标识为用于获得物理数据元素P的一个或多个数据源的第一集合是否不同于(或相同于)在用户指定沿袭中被标识为用于获得业务数据元素B的一个或多个数据源的第二集合。
当在用户指定数据沿袭与派生数据沿袭之间没有检测到差异时,过程500经由否分支进展到判定框514。另一方面,当检测到差异时,过程500进展到动作512,其中向用户提供差异的指示。该指示可以是图形、文本或其任何合适的组合。例如,该指示可以作为图形用户界面的一部分(参见例如图6D)、文本消息、电子邮件和/或任何其他合适的通信形式提供。
在判定框514处,确定是否刷新在动作504处获得的派生数据沿袭。该确定可以以任何合适的方式进行。例如,在一些实施例中,可以根据时间表自动刷新派生数据沿袭。在一些实施例中,用户可以提供指示是否要刷新派生数据沿袭的输入(例如,响应于提示或不被提示)。当确定要刷新派生数据沿袭时,过程500经由是分支返回动作504。否则,过程500完成。
应当理解,过程500是示意性的,并且该过程存在变化。例如,尽管在所示的实施例中,响应于检测到的用户指定数据沿袭与派生数据沿袭之间的差异,向用户提供差异的指示,但在其他实施例中,可以采取一个或多个自动化动作来解决差异。例如,在一些实施例中,可以刷新派生数据沿袭以努力消除差异。作为另一个示例,在一些实施例中,执行过程500的数据处理系统可以将用户指定数据沿袭改变为与派生数据沿袭一致。作为又一个示例,数据处理系统可以使用用户指定数据沿袭来帮助其获得新的派生数据沿袭。
作为过程500的变型的另一个示例,应当理解,并非在每个实施例中都需要过程500的所有动作。例如,在一些实施例中,动作508-514中的任何一个或多个可以是可选的。例如,在一些实施例中,过程500可以在不执行动作508和/或509的情况下进展。
图6A至图6E示出了可以结合本文描述的技术的一些实施例使用的图形用户界面的一些附加示意性示例。图6A至图6E的图形用户界面提供了关于业务数据元素“信用评分”的信息,其可以表示银行客户的信用评分。
如本文所述,数据处理系统可以维护关于哪些方负责业务数据元素的管理的信息。作为其示例,图6A的示意性图形用户界面600标识负责管理“信用评分”业务数据元素601的四个人(包括企业所有者602、数据管理人员604以及两个主题专家606和608)。
图6B和图6C提供了关于与“信用评分”业务数据元素601相对应的物理数据元素的派生数据沿袭的信息。图6B的图形用户界面610示出了生成与业务数据元素601相对应的物理数据元素所涉及的系统的列表612。
图6C是呈现用于业务数据元素601“信用评分”的派生数据沿袭630的示意性用户界面。如图6C所示,与业务数据元素601相对应的物理数据元素存储在风险数据集市622内的馈送621中。馈送621中的物理数据元素是使用存储在客户数据仓库624的存储设备623中的物理数据元素来获得的。存储设备623中的物理数据元素是使用馈送626中的物理数据元素来获得的,该馈送中的物理数据元素继而是从存储在系统628、630和632中的物理数据元素获得的。
图6D是呈现用于业务数据元素601“信用评分”的声明数据沿袭中的信息的示意性用户界面640。如界面所示,用于获得与信用评分业务数据元素601相关联的物理数据元素的用户指定(“声明”)数据源是“外部数据”642。
图6E是指示在业务数据元素601的用户指定沿袭与派生沿袭之间存在差异的示意性用户界面650。如界面650所示,用于获得与信用评分业务数据元素601相关联的物理数据元素的用户指定(“声明”)数据源是“外部数据”652。然而,根据派生数据沿袭,该物理数据元素的来源是“美国始发系统”654。如从图6E可以看出,用户界面650通过示出(通过框中的校验标记)与业务数据元素601相对应的物理数据元素的声明源与派生源不匹配来向用户呈现用户指定沿袭与派生沿袭之间的差异。
图8A是呈现由节点808表示的报告“消费者暴露报告”中包含的业务数据元素“总信用暴露”的用户指定数据沿袭800的示意性用户界面的图示。用户指定数据沿袭800表示(除其他之外)以下各项:
(1)业务数据元素“总信用暴露”的输入为“信用评分”和“未偿还贷款金额”,两者都在由节点806表示的名为“风险数据集市”的数据库系统中,并且汇总为“总信用暴露”业务数据元素的输入;
(2)风险数据集市数据库中的“信用评分”业务数据元素在同一数据库中具有表列输入,其通过变换将信用评分排到各段中;
(3)由节点804表示的名为客户数据仓库(CDW)的应用程序中的“信用评分”表列传递输入到“风险数据集市”中“信用评分”表列,并且通过沿节点804和806之间的链路805的复选框所示的称为“信用评分检查”的自动控制来检查;以及
(4)CDW应用程序中的“信用评分”表列的内容取决于来自三个不同始发系统中的每一个的数据:由节点802a表示的加拿大始发系统、由节点802c表示的墨西哥始发系统、和由节点802d表示的美国始发系统、以及由节点802b表示的第三方应用程序“信用局数据”。
从前述内容可以理解,在用户指定数据沿袭800中,各种节点表示不同的系统、应用程序、数据库和报告。节点之间的链路表示数据流,这就是它们有时被称为“流”的原因。在用户指定数据沿袭800中,链路803a-d表示从节点802a-d到节点804的对应流,链路805表示从节点804到节点806的数据流,并且链路807表示从节点806到节点808的数据流。应当注意,用户指定沿袭800中的链路中的每一个不仅指示节点之间的数据流,而且还指示其中包含的业务数据元素之间的依赖性。例如,链路803a指示由节点804表示的CDW应用程序中的“信用评分”表中的数据取决于由节点802a表示的加拿大始发系统中的“信用评分”表。用户指定沿袭中的链路指示数据依赖性。从业务数据元素A到业务元素B的链路指示业务元素B取决于业务元素A。
如图8A所示,使用粗线来指示链路(例如,链路803a、803c和803d)中的一些,使用虚线来指示链路(例如,链路803b)中的一些,并且使用细线来指示链路(例如,链路807)中的一些。在一些实施例中,细线链路指示由用户指定沿袭中的链路表示的依赖性在派生数据沿袭中没有相应的依赖性(例如,由一个或多个链路表示)。例如当在派生数据沿袭中,在与两个业务数据元素相对应的两个物理数据元素之间没有依赖性时,两个业务数据元素之间的链路可以由细线表示。作为一个示意性示例,在图8F中,针对链路807的依赖性GUI元素840通过“声明”字段842附近的校验标记来示出由链路807表示的依赖性是由用户指定的,但在“派生”字段842附近缺少校验标记指示在与用户指定数据沿袭相关联的派生数据沿袭中没有相应的依赖性。以此方式,用户指定沿袭中的细线链路可以指示用户指定沿袭与相关联的派生数据沿袭之间存在差异。可以使用根据本文描述的技术的用户指定数据沿袭与派生数据沿袭之间的关联来检测这种不一致。
在一些实施例中,粗线链路指示由用户指定沿袭中的链路表示的依赖性在派生数据沿袭中具有相应的依赖性(例如,由一个或多个链路表示)。例如当在派生数据沿袭中,在与两个业务数据元素相对应的两个物理数据元素之间存在依赖性时,两个业务数据元素之间的链路可以由粗线表示。作为一个示意性示例,在图8B中,针对链路803a的依赖性GUI元素810示出:(1)通过“声明”字段812附近的校验标记来示出由链路803a表示的依赖性是由用户指定的;并且(2)通过“派生”字段814附近的校验标记来示出在与用户指定数据沿袭800相关联的派生数据沿袭中存在相应的依赖性。点击GUI元素816揭示了图8C所示的派生数据沿袭820中的节点822和824(通过节点824)之间的这种相应依赖性。以此方式,用户指定沿袭中的粗线链路可以指示用户指定沿袭与派生数据沿袭之间的一致或相应关系。可以使用根据本文描述的技术的用户指定数据沿袭与派生数据沿袭之间的关联来检测这种一致或相应关系。
在一些实施例中,虚线链路(例如,图8A中的链路803a)可以指示依赖性是对于由第三方应用程序提供的数据。
在一些实施例中,示出用户指定数据沿袭的图形用户界面还可以示出一个或多个控制检查GUI元素,其可以为由创建用户指定沿袭的用户做出的断言提供可信度。例如,如图8A所示,控制检查GUI元素被表示为带圆圈的字母,其中带圆圈的V指示节点通过了有效性控制检查,而带圆圈的A指示该节点通过准确性控制检查。附加地或可替代地,可以提供通过数据质量控制检查的图形指示。控制检查GUI元素可以应用于节点和链路/流两者。例如,链路805上的复选框指示执行了对一个或多个信用评分的检查。
图8D是根据本文描述的技术的一些实施例的示意性用户界面的图示,该用户界面呈现关于图8A的用户指定数据沿袭中的节点的信息。如图8D所示,面板825示出与业务数据元素“信用评分”相关联的附加信息,并且包括到相应的物理数据元素“信用_评分(credit_score)”的链路,该链路由附图标记830指示。这提供了用户指定沿袭与派生数据沿袭之间的关联的另一个视图。点击由附图标记830指示的针对物理数据元素“信用_评分”的链路提供了关于物理数据元素的进一步信息,例如,如图8E的面板835所示。进一步点击图8E所示的GUI元素836将示出包含物理数据元素“信用_评分”的派生数据沿袭的至少一部分。
图7示出了可以在其上实施本文描述的技术的合适计算系统环境700的示例。计算系统环境700仅是合适计算环境的一个示例,并且不旨在对本文描述的技术的使用或功能的范围提出任何限制。也不应当将计算环境700解释为具有与示例性操作环境700中展示的部件中的任何一个或组合相关的任何依赖性或要求。
本文描述的技术与许多其他通用或专用计算系统环境或配置一起操作。可适合与本文描述的技术一起使用的众所周知的计算系统、环境和/或配置的示例包括但不限于:个人计算机、服务器计算机、手持或膝上型装置、多处理器系统、基于微处理器的系统、机顶盒、可编程消费电子产品、网络PC、小型计算机、大型计算机、包括上述系统或装置中任一个的分布式计算环境等。
计算环境可以执行计算机可执行指令,比如程序模块。通常来说,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、部件、数据结构等。本文描述的技术还可以在分布式计算环境中实践,其中任务由通过通信网络链接的远程处理装置执行。在分布式计算环境中,程序模块可以位于包括存储器存储装置的本地和远程计算机存储介质中。
参照图7,用于实现本文描述的技术的示例性系统包括呈计算机710形式的通用计算装置。计算机710的部件可以包括但不限于处理单元720、系统存储器730、以及将包括系统存储器的各种系统部件耦接到处理单元720的系统总线721。系统总线721可以是若干类型的总线结构中的任一种,包括使用各种总线架构中的任一种的存储器总线或存储器控制器、外围总线和本地总线。作为示例而非限制,这类架构包括工业标准架构(ISA)总线、微通道架构(MCA)总线、增强型ISA(EISA)总线、视频电子标准协会(VESA)本地总线和外围部件互连(PCI)总线(也称夹层总线)。
计算机710通常包括各种计算机可读介质。计算机可读介质可以是可由计算机710访问的任何可用介质,并且包括易失性和非易失性介质、可移除和不可移除介质两者。作为示例且非限制,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括以用于存储比如计算机可读指令、数据结构、程序模块或其他数据的信息的任何方法或技术来实施的易失性和非易失性、可移除和不可移除的介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存存储器或其他存储技术、CD-ROM、数字通用盘(DVD)或其他光盘存储设备、磁带盒、磁带、磁盘存储设备或其他磁存储装置、或者可用于存储期望信息并可由计算机710访问的任何其他介质。通信介质通常以比如载波或其他传输机制的已调制数据信号来体现计算机可读指令、数据结构、程序模块或其他数据,并且包括任何信息递送介质。术语“已调制数据信号”表示以对信号中的信息进行编码的方式设置或改变其特性集中的一者或多者的信号。作为示例且非限制,通信介质包括比如有线网络或直接有线连接的有线介质,以及比如声学、RF、红外和其他无线介质的无线介质。上述中任一个的组合也应包括在计算机可读介质的范围内。
系统存储器730包括呈易失性和/或非易失性存储器形式的计算机存储介质,比如只读存储器(ROM)731和随机存取存储器(RAM)732。包含有助于在计算机710内的元件之间转移信息(比如在启动期间)的基本例程的基本输入/输出系统733(BIOS)通常存储在ROM731中。RAM 732通常包含处理单元720可立即访问和/或当前正在操作的数据和/或程序模块。作为示例且非限制,图7示出了操作系统734、应用程序735、其他程序模块736和程序数据737。
计算机710还可以包括其他可移除/不可移除、易失性/非易失性计算机存储介质。仅作为示例,图7示出了读取或写入不可移除的非易失性磁介质的硬盘驱动器741、读取或写入可移除非易失性存储器752(比如闪存存储器)的闪存驱动器751、以及读取或写入可移除的非易失性光盘756(比如CD ROM或其他光学介质)的光盘驱动器755。可以在示例性操作环境中使用的其他可移除/不可移除、易失性/非易失性计算机存储介质包括但不限于磁带盒、闪存卡、数字通用盘、数字录像带、固态RAM、固态ROM等。硬盘驱动器741通常通过不可移除存储器接口(比如接口740)连接到系统总线721,并且磁盘驱动器751和光盘驱动器755通常通过可移除存储器接口(比如接口750)连接到系统总线721。
上面讨论并在图7中展示的驱动器及其相关联的计算机存储介质为计算机710提供了计算机可读指令、数据结构、程序模块和其他数据的存储。例如,在图7中,硬盘驱动器741被示为存储操作系统744、应用程序745、其他程序模块746和程序数据747。应当注意,这些部件可以与操作系统734、应用程序735、其他程序模块736和程序数据737相同或不同。这里向操作系统744、应用程序745、其他程序模块746和程序数据747赋予不同的数字以至少展示它们是不同的副本。用户可以通过比如键盘762和定点装置761(通常称为鼠标、轨迹球或触摸板)的输入装置将命令和信息输入到计算机710中。其他输入装置(未示出)可以包括麦克风、操纵杆、游戏手柄、圆盘式卫星天线、扫描仪等。这些和其他输入装置通常通过耦接到系统总线的用户输入接口760连接到处理单元720,但可以通过其他接口和总线结构(比如并行端口、游戏端口或通用串行总线(USB))来连接。监视器791或其他类型的显示装置也经由接口(比如视频接口790)连接到系统总线721。除了监视器之外,计算机还可以包括可通过输出外围接口795连接的其他外围输出装置,比如扬声器797和打印机796。
计算机710可以使用与一个或多个远程计算机(比如远程计算机780)的逻辑连接在联网环境中操作。远程计算机780可以是个人计算机、服务器、路由器、网络PC、对等装置或其他公共网络节点,并且通常包括上面关于计算机710描述的许多或所有元件,尽管在图7中仅展示了存储器存储装置781。图7中描绘的逻辑连接包括局域网(LAN)771和广域网(WAN)773,但也可以包括其他网络。这类网络环境在办公室、企业范围的计算机网络、内联网和互联网中是常见的。
当在LAN联网环境中使用时,计算机710通过网络接口或适配器770连接到LAN771。当在WAN联网环境中使用时,计算机710通常包括调制解调器772或用于通过WAN 773(例如互联网)建立通信的其他装置。调制解调器772可以是内置的或外置的,可以经由用户输入接口760或其他适当的机制连接到系统总线721。在联网环境中,关于计算机710描述的程序模块或其部分可以存储在远程存储器存储装置中。作为示例且非限制,图7展示了远程应用程序785驻留在存储器装置781上。应当理解,所示的网络连接是示例性的,并且可以使用在计算机之间建立通信链路的其他方式。
如此描述了本发明的至少一个实施例的若干方面之后,应了解的是,本领域技术人员会容易想到各自变更、修改以及改进。
这类变更、修改以及改进旨在是本披露的一部分、并且旨在落入本发明的精神和范围之内。此外,尽管指示了本发明的优点,但应当理解,并非本文描述的技术的每个实施例都将包括每个所描述的优点。一些实施例可以不实施在本文中描述为有利的任何特征,并且在一些实例中,可以实施所描述的特征中的一个或多个以实施进一步的实施例。因而,先前的描述和附图仅是以举例的方式的。
本文描述的技术的上述实施例可以以多种方式中的任一种来实施。例如,可以使用硬件、软件或其组合来实施这些实施例。当在软件中实施时,可以在任何适合的处理器或处理器集合(无论是设置在单个计算机中还是分布在多个计算机中)上执行软件代码。这类处理器可以被实施为集成电路(其中集成电路部件中具有一个或多个处理器),包括名称为比如CPU芯片、GPU芯片、微处理器、微控制器或协处理器的本领域已知的商用集成电路部件。可替代地,处理器可以以定制电路系统(比如ASIC)或者通过配置可编程逻辑装置产生的半定制电路系统来实施。作为又一替代方案,处理器可以是较大电路或半导体装置的一部分,无论是商用的、半定制的还是定制的。作为具体示例,一些商用微处理器具有多个核,使得这些核中的一个或子集可以构成处理器。然而,一个处理器可以使用任何适合形式的电路系统来实施。
进一步地,应了解,计算机可以体现为多种形式中的任一种形式,比如机架式计算机、台式计算机、膝上型计算机或平板计算机。另外,计算机可以嵌入在通常不认为是计算机但具有适当的处理能力的装置中,该装置包括个人数字助理(PDA)、智能手机或任何其他适合的便携式或固定式电子装置。
另外,计算机可以具有一个或多个输入和输出装置。这些装置可以尤其用于呈现用户界面。可以用于提供用户界面的输出装置的示例包括用于视觉呈现输出的打印机或显示屏、以及用于可听呈现输出的扬声器或其他发声装置。可以用于用户界面的输入装置的示例包括键盘和指点装置,比如鼠标、触摸板、以及数字化写字板。作为另一个示例,计算机可以通过语音识别或以其他可听形式接收输入信息。
这类计算机可以通过处于任何适合的形式的一个或多个网络来互连,该一个或多个网络包括局域网或广域网,比如企业网或互联网。这类网络可以基于任何适合的技术并且可以根据任何适合的协议来运行,并且可以包括无线网络、有线网络或光纤网络。
而且,本文中概括的不同方法或过程可以被编码为在采用各种操作系统或平台中的任一种的一个或多个处理器上可执行的软件。此外,这类软件可以使用多种适合的编程语言和/或编程或脚本工具中的任一种来编写,并且还可以被编译为可执行的机器语言代码或在框架或虚拟机上执行的中间代码。
在这方面中,本发明可以被体现为用一个或多个程序进行编码的计算机可读存储介质(或多个计算机可读介质)(例如,计算机存储器、一个或多个软盘、压缩光盘(CD)、光盘、数字视频盘(DVD)、磁带、闪存存储器、现场可编程门阵列或其他半导体装置中的电路配置、或其他有形计算机存储介质),该一个或多个程序在一个或多个计算机或其他处理器上执行时执行实现以上讨论的本发明的各种实施例的方法。如从前文示例将清楚明白,计算机可读存储介质可以将信息保留足够的时间,以便提供处于非暂时形式的计算机可执行指令。这种或这些计算机可读存储介质可以是可运送的,使得其上存储的一个或多个程序可以载入到一个或多个不同的计算机或其他处理器中,以实现如上讨论的本发明的不同方面。如本文中使用的,术语“计算机可读存储介质”仅涵盖可被视作是制品(即,制造物品)或机器的非暂态计算机可读介质。可替代地或另外,本发明可以体现为除了计算机可读存储介质之外的计算机可读介质,比如传播信号。
术语“程序”或“软件”在本文中在一般意义上使用,以指代任何类型的计算机代码或计算机可执行指令集,它们可以被采用来对计算机或其他处理器进行编程以实现如上讨论的本发明的不同方面。此外,应了解到,根据该实施例的一个方面,当被执行时执行本发明的方法的一个或多个计算机程序不必驻留在单个计算机或处理器上,但可以按照模块的方式分布在多个不同的计算机或处理器中来实现本发明的各种方面。
计算机可执行指令可以呈由一个或多个计算机或其他装置执行的许多形式,比如程序模块。通常来说,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、部件、数据结构等。典型地,程序模块的功能在各种实施例中可以根据需要进行组合或分布。
而且,数据结构可以以任何合适的形式存储在计算机可读介质中。为了简化说明,可以将数据结构示出为具有通过数据结构中的位置而相关的字段。这些关系同样可以通过为字段指定在计算机可读介质中的储存位置来实现,这些位置传达字段之间的关系。然而,可以使用任何合适的机制来建立数据结构的字段中的信息之间的关系,包括通过使用指针、标签、或建立数据元素之间的关系的其他机制。
本发明的各种方面可以单独使用、组合使用、或以前文所述的实施例中未确切讨论的各种安排使用,并且因此在其应用中不局限于其在前文描述中所阐述或附图中所展示的部件的细节和安排。例如,一个实施例中描述的方面可以以任何方式与其他实施例中描述的方面组合。
另外,本发明可以体现为其示例已被提供的一种方法。作为该方法的一部分而执行的动作可以以任何适合的方式排序。因此,可以构建实施例,其中动作以与所示的顺序不同的顺序执行,可以包括同时执行一些动作,即使这些动作在示意性实施例中被示出为顺序动作。
此外,一些动作被描述为由“用户”采取。应当理解,“用户”不必是单个个人,并且在一些实施例中,可归因于“用户”的动作可以由个人团队和/或个人与计算机辅助工具或其他机制的组合来执行。
在权利要求中使用比如“第一”、“第二”、“第三”等的序数术语来修饰权利要求要素本身并不意味着一个权利要求要素优先于另一个权利要求要素的任何优先级、优先权或顺序,或者执行方法的动作的顺序,但仅用作标签以将具有特定名称的一个权利要求要素与具有同一名称的另一个要素进行区分(但为了使用序数术语)以区分权利要求要素。
而且,在本文中使用的措辞和术语是用于描述的目的,而不应当被视为是限制性的。在本文中使用“包括”、“包含”或“具有”、“含”、“涉及”及其变化形式旨在涵盖其后所列的项目和其等同形式以及额外项目。

Claims (31)

1.一种数据处理系统,包括:
至少一个计算机硬件处理器;以及
存储处理器可执行指令的至少一个非暂态计算机可读存储介质,这些处理器可执行指令在由该至少一个计算机硬件处理器执行时致使该至少一个计算机硬件处理器执行以下操作:
获得表示多个物理数据元素之间的关系的第一数据沿袭,该第一数据沿袭至少部分地通过执行以下各项中的至少一项来生成:(a)分析被配置成访问该多个物理数据元素中的至少一些的至少一个计算机程序的源代码;以及(b)分析在该至少一个计算机程序的运行时间期间获得的信息;
至少部分地基于用户输入获得表示多个业务数据元素之间的关系的第二数据沿袭;
在获得所述第二数据沿袭之后,获得该第一数据沿袭的多个物理数据元素中的至少一些与该第二数据沿袭的多个业务数据元素中的至少一些之间的关联;以及
基于所述第一数据沿袭的至少一些物理数据元素与所述第二数据沿袭的至少一些业务数据元素之间的关联,生成该第一数据沿袭与该第二数据沿袭之间的一致或差异的指示。
2.如权利要求1所述的数据处理系统,其中,生成该一致或差异的指示包括:
显示该第二数据沿袭的可视化,其示出该一致或差异的指示。
3.如权利要求2所述的数据处理系统,其中,该第二数据沿袭包括表示两个业务数据元素之间的第一依赖性的第一链路,并且其中,显示该第二数据沿袭的可视化包括:当在该第一数据沿袭中存在与该第一依赖性相对应的依赖性时以一种方式显示该链路,并且在该第一数据沿袭中不存在与该第一依赖性相对应的依赖性时以另一种方式显示该链路。
4.如权利要求1或任何其他前述权利要求所述的数据处理系统,其中,生成该一致或差异的指示包括:
基于所述至少一些物理数据元素与所述至少一些业务数据元素之间的关联,判定该第一数据沿袭、该第二数据沿袭和所获得的关联之间是否存在一个或多个差异。
5.如权利要求1至3中任一项所述的数据处理系统,其中,获得该第一数据沿袭包括至少部分地通过执行以下各项中的至少一项来生成该第一数据沿袭:分析该至少一个计算机程序的源代码;以及分析在该至少一个计算机程序的运行时间期间获得的信息。
6.如权利要求2或3所述的数据处理系统,其中,获得该第一数据沿袭包括分析该至少一个计算机程序的源代码。
7.如权利要求2或3所述的数据处理系统,其中,获得该第一数据沿袭包括分析在该至少一个计算机程序的运行时间期间获得的信息。
8.如权利要求1至3中任一项所述的数据处理系统,其中,该至少一个计算机程序包括实施为数据流图的计算机程序。
9.如权利要求1至3中任一项所述的数据处理系统,其中,获得该第一数据沿袭的多个物理数据元素中的至少一些与该第二数据沿袭的多个业务数据元素中的至少一些之间的关联包括基于经由图形用户界面提供的用户输入来生成该关联。
10.如权利要求4所述的数据处理系统,
其中,该多个物理数据元素包括第一物理数据元素,
其中,该多个业务数据元素包括第一业务数据元素,
其中,该关联指示该第一物理数据元素与该第一业务数据元素相关联,并且
其中,该判定包括确定在该第一数据沿袭中被标识为用于获得该第一物理数据元素的一个或多个数据源的第一集合不同于在该第二数据沿袭中被标识为用于获得该第一业务数据元素的一个或多个数据源的第二集合。
11.如权利要求4所述的数据处理系统,其中,根据指定的时间表重复执行获得该第一数据沿袭并判定是否存在差异的动作。
12.如权利要求1至3中任一项所述的数据处理系统,其中,该关联包括该多个物理数据元素中的第一物理数据元素与该多个业务数据元素中的第一业务数据元素之间的关联,并且
其中,该至少一个计算机硬件处理器进一步被配置成执行以下操作:
至少部分地基于该第一物理数据元素与该第一业务数据元素之间的关联来确定该第一业务数据元素的数据质量的度量。
13.如权利要求12所述的数据处理系统,其中,确定该第一业务数据元素的数据质量的度量包括:
至少部分地基于与该第一物理数据元素中的数据相关联的一个或多个数据质量规则来执行对该第一物理数据元素中的数据的数据质量的分析。
14.如权利要求12所述的数据处理系统,其中,该第一业务数据元素的数据质量的度量包括准确性、完整性和有效性中的一个或多个的度量。
15.一种数据处理方法,包括:
使用至少一个计算机硬件处理器来执行以下操作:
获得表示多个物理数据元素之间的关系的第一数据沿袭,该第一数据沿袭至少部分地通过执行以下各项中的至少一项来生成:(a)分析被配置成访问该多个物理数据元素中的至少一些的至少一个计算机程序的源代码;以及(b)分析在该至少一个计算机程序的运行时间期间获得的信息;
至少部分地基于用户输入获得表示多个业务数据元素之间的关系的第二数据沿袭;
在获得所述第二数据沿袭之后,获得该第一数据沿袭的多个物理数据元素中的至少一些与该第二数据沿袭的多个业务数据元素中的至少一些之间的关联;以及
基于所述第一数据沿袭的至少一些物理数据元素与所述第二数据沿袭的至少一些业务数据元素之间的关联,生成该第一数据沿袭与该第二数据沿袭之间的一致或差异的指示。
16.存储处理器可执行指令的至少一个非暂态计算机可读存储介质,这些处理器可执行指令在由至少一个计算机硬件处理器执行时致使该至少一个计算机硬件处理器执行以下操作:
获得表示多个物理数据元素之间的关系的第一数据沿袭,该第一数据沿袭至少部分地通过执行以下各项中的至少一项来生成:(a)分析被配置成访问该多个物理数据元素中的至少一些的至少一个计算机程序的源代码;以及(b)分析在该至少一个计算机程序的运行时间期间获得的信息;
至少部分地基于用户输入获得表示多个业务数据元素之间的关系的第二数据沿袭;
在获得所述第二数据沿袭之后,获得该第一数据沿袭的多个物理数据元素中的至少一些与该第二数据沿袭的多个业务数据元素中的至少一些之间的关联;以及
基于所述第一数据沿袭的至少一些物理数据元素与所述第二数据沿袭的至少一些业务数据元素之间的关联,生成该第一数据沿袭与该第二数据沿袭之间的一致或差异的指示。
17.存储供至少一个计算机硬件处理器执行的处理器可执行指令的至少一个非暂态计算机可读存储介质,这些处理器可执行指令包括:
用于获得表示多个物理数据元素之间的关系的第一数据沿袭的装置,该第一数据沿袭至少部分地通过执行以下各项中的至少一项来生成:(a)分析被配置成访问该多个物理数据元素中的至少一些的至少一个计算机程序的源代码;以及(b)分析在该至少一个计算机程序的运行时间期间获得的信息;
用于至少部分地基于用户输入获得表示多个业务数据元素之间的关系的第二数据沿袭的装置;
用于在获得所述第二数据沿袭之后获得该第一数据沿袭的多个物理数据元素中的至少一些与该第二数据沿袭的多个业务数据元素中的至少一些之间的关联的装置;以及
用于基于所述第一数据沿袭的至少一些物理数据元素与所述第二数据沿袭的至少一些业务数据元素之间的关联生成该第一数据沿袭与该第二数据沿袭之间的一致或差异的指示的装置。
18.一种用于确定一个或多个业务数据元素的数据质量的度量的数据处理系统,该数据处理系统包括:
至少一个计算机硬件处理器;以及
存储处理器可执行指令的至少一个非暂态计算机可读存储介质,这些处理器可执行指令在由该至少一个计算机硬件处理器执行时致使该至少一个计算机硬件处理器执行以下操作:
获得表示多个物理数据元素之间的关系的第一数据沿袭,该第一数据沿袭至少部分地通过执行以下各项中的至少一项来生成:分析被配置成访问该多个物理数据元素中的至少一些的至少一个计算机程序的源代码;以及分析在该至少一个计算机程序的运行时间期间获得的信息;
至少部分地基于用户输入获得表示多个业务数据元素之间的关系的第二数据沿袭;
在获得所述第二数据沿袭之后,获得该第一数据沿袭的多个物理数据元素中的至少一些与该第二数据沿袭的多个业务数据元素中的至少一些之间的关联,该关联包括该多个物理数据元素中的第一物理数据元素与该多个业务数据元素中的第一业务数据元素之间的关联;以及
至少部分地基于与该第一物理数据元素相关联的至少一个数据质量度量和该第一物理数据元素与该第一业务数据元素之间的关联来确定该第一业务数据元素的数据质量的度量。
19.如权利要求18所述的数据处理系统,其中,确定该第一业务数据元素的数据质量的度量包括:
至少部分地基于与该第一物理数据元素中的数据相关联的一个或多个数据质量规则来执行对该第一物理数据元素中的数据的数据质量的分析,以获得与该第一物理数据元素相关联的至少一个数据质量度量。
20.如权利要求18或19所述的数据处理系统,其中,该第一业务数据元素的数据质量的度量包括准确性、完整性和有效性中的一个或多个的度量。
21.如权利要求18或19所述的数据处理系统,其中,获得该第一数据沿袭包括在生成该第一数据沿袭之后接收该第一数据沿袭。
22.如权利要求18或19所述的数据处理系统,其中,获得该第一数据沿袭包括生成该第一数据沿袭。
23.如权利要求22所述的数据处理系统,其中,生成该第一数据沿袭包括分析该至少一个计算机程序的源代码。
24.如权利要求22所述的数据处理系统,其中,生成该第一数据沿袭包括分析在该至少一个计算机程序的运行时间期间获得的信息。
25.如权利要求18或19所述的数据处理系统,其中,该至少一个计算机程序包括实施为数据流图的计算机程序。
26.如权利要求18或19所述的数据处理系统,其中,获得该第一数据沿袭的多个物理数据元素中的至少一些与该第二数据沿袭的多个业务数据元素中的至少一些之间的关联包括:该第一物理数据元素与该第一业务数据元素之间的关联的生成是基于用户输入将该第一物理数据元素与该第一业务数据元素相关联来执行的。
27.如权利要求18或19所述的数据处理系统,进一步包括:
基于该多个物理数据元素与该多个业务数据元素之间的关联,判定该第一数据沿袭与该第二数据沿袭之间是否存在差异。
28.如权利要求18或19所述的数据处理系统,其中,根据指定的时间表重复执行获得该第一数据沿袭并确定数据质量的度量的动作。
29.一种数据处理方法,包括:
使用至少一个计算机硬件处理器来执行以下操作:
获得表示多个物理数据元素之间的关系的第一数据沿袭,该第一数据沿袭至少部分地通过执行以下各项中的至少一项来生成:分析被配置成访问该多个物理数据元素中的至少一些的至少一个计算机程序的源代码;以及分析在该至少一个计算机程序的运行时间期间获得的信息;
至少部分地基于用户输入获得表示多个业务数据元素之间的关系的第二数据沿袭;
在获得所述第二数据沿袭之后,获得该第一数据沿袭的多个物理数据元素中的至少一些与该第二数据沿袭的多个业务数据元素中的至少一些之间的关联,该关联包括该多个物理数据元素中的第一物理数据元素与该多个业务数据元素中的第一业务数据元素之间的关联;以及
至少部分地基于与该第一物理数据元素相关联的至少一个数据质量度量和该第一物理数据元素与该第一业务数据元素之间的关联来确定该第一业务数据元素的数据质量的度量。
30.存储处理器可执行指令的至少一个非暂态计算机可读存储介质,这些处理器可执行指令在由至少一个计算机硬件处理器执行时致使该至少一个计算机硬件处理器执行以下操作:
获得表示多个物理数据元素之间的关系的第一数据沿袭,该第一数据沿袭至少部分地通过执行以下各项中的至少一项来生成:分析被配置成访问该多个物理数据元素中的至少一些的至少一个计算机程序的源代码;以及分析在该至少一个计算机程序的运行时间期间获得的信息;
至少部分地基于用户输入获得表示多个业务数据元素之间的关系的第二数据沿袭;
在获得所述第二数据沿袭之后,获得该第一数据沿袭的多个物理数据元素中的至少一些与该第二数据沿袭的多个业务数据元素中的至少一些之间的关联,该关联包括该多个物理数据元素中的第一物理数据元素与该多个业务数据元素中的第一业务数据元素之间的关联;以及
至少部分地基于与该第一物理数据元素相关联的至少一个数据质量度量以及该第一物理数据元素与该第一业务数据元素之间的关联来确定该第一业务数据元素的数据质量的度量。
31.存储供至少一个计算机硬件处理器执行的处理器可执行指令的至少一个非暂态计算机可读存储介质,这些处理器可执行指令包括:
用于获得表示多个物理数据元素之间的关系的第一数据沿袭的装置,该第一数据沿袭至少部分地通过执行以下各项中的至少一项来生成:分析被配置成访问该多个物理数据元素中的至少一些的至少一个计算机程序的源代码;以及分析在该至少一个计算机程序的运行时间期间获得的信息;
用于至少部分地基于用户输入获得表示多个业务数据元素之间的关系的第二数据沿袭的装置;
用于在获得所述第二数据沿袭之后获得该第一数据沿袭的多个物理数据元素中的至少一些与该第二数据沿袭的多个业务数据元素中的至少一些之间的关联的装置,该关联包括该多个物理数据元素中的第一物理数据元素与该多个业务数据元素中的第一业务数据元素之间的关联;以及
用于至少部分地基于与该第一物理数据元素相关联的至少一个数据质量度量以及该第一物理数据元素与该第一业务数据元素之间的关联来确定该第一业务数据元素的数据质量的度量的装置。
CN201780082371.0A 2016-11-09 2017-11-09 用于确定数据元素之间的关系的系统和方法 Active CN110140118B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201662419826P 2016-11-09 2016-11-09
US62/419,826 2016-11-09
PCT/US2017/060860 WO2018089633A1 (en) 2016-11-09 2017-11-09 Systems and methods for determining relationships among data elements

Publications (2)

Publication Number Publication Date
CN110140118A CN110140118A (zh) 2019-08-16
CN110140118B true CN110140118B (zh) 2024-02-02

Family

ID=60473651

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780082371.0A Active CN110140118B (zh) 2016-11-09 2017-11-09 用于确定数据元素之间的关系的系统和方法

Country Status (9)

Country Link
US (3) US10489384B2 (zh)
EP (2) EP3913502A1 (zh)
JP (2) JP7132918B2 (zh)
KR (1) KR102432104B1 (zh)
CN (1) CN110140118B (zh)
AU (2) AU2017359472B2 (zh)
CA (1) CA3043586A1 (zh)
DE (1) DE112017005638T5 (zh)
WO (1) WO2018089633A1 (zh)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110140118B (zh) 2016-11-09 2024-02-02 起元技术有限责任公司 用于确定数据元素之间的关系的系统和方法
US10331660B1 (en) * 2017-12-22 2019-06-25 Capital One Services, Llc Generating a data lineage record to facilitate source system and destination system mapping
US11296863B2 (en) * 2018-01-04 2022-04-05 Bank Of America Corporation Blockchain enterprise data management
KR101976167B1 (ko) * 2018-10-08 2019-05-08 지티원 주식회사 프로그램 소스 및 db 스키마의 누락 연관 관계 검증 방법 및 그 장치
CN110008201A (zh) * 2019-04-09 2019-07-12 浩鲸云计算科技股份有限公司 一种面向大数据的数据质量稽核监控方法
CN110825725B (zh) * 2019-10-12 2022-08-19 国网安徽省电力有限公司 基于双螺旋管理的数据质量校验方法及系统
CN112749158A (zh) * 2019-10-30 2021-05-04 北京国双科技有限公司 能源系统数据处理方法和装置
US11349957B2 (en) 2020-05-14 2022-05-31 Bank Of America Corporation Automatic knowledge management for data lineage tracking
US11366735B2 (en) 2020-08-20 2022-06-21 Bank Of America Corporation Dynamic data storage management
US11520801B2 (en) 2020-11-10 2022-12-06 Bank Of America Corporation System and method for automatically obtaining data lineage in real time
JPWO2022137526A1 (zh) * 2020-12-25 2022-06-30
WO2022165123A1 (en) 2021-01-31 2022-08-04 Ab Initio Technology Llc Techniques for managing data in a data processing system using data entities and inheritance
AU2022214314A1 (en) 2021-01-31 2023-06-29 Ab Initio Technology Llc Systems and methods for accessing data entities managed by a data processing system
US20240146769A1 (en) 2021-02-24 2024-05-02 Ab Initio Technology Llc Systems and methods for managing privileges in a data processing system
KR102415001B1 (ko) * 2021-05-13 2022-07-01 지티원 주식회사 데이터 리니지 관리 방법 및 그 시스템
CN113553205B (zh) * 2021-09-17 2021-12-07 统信软件技术有限公司 一种用于QT和Web端通信协议的执行方法和执行器
CN115994194B (zh) * 2023-03-23 2023-06-02 河北东软软件有限公司 政务大数据的数据质量检查方法、系统、设备及介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102239458A (zh) * 2008-12-02 2011-11-09 起元技术有限责任公司 可视化数据元素之间的关系
CA2955380A1 (en) * 2014-07-18 2016-01-21 Ab Initio Technology Llc Managing lineage information

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5966072A (en) 1996-07-02 1999-10-12 Ab Initio Software Corporation Executing computations expressed as graphs
US7725433B1 (en) * 1998-01-26 2010-05-25 International Business Machines Corporation Data navigation system and method employing data transformation lineage model
US6434558B1 (en) * 1998-12-16 2002-08-13 Microsoft Corporation Data lineage data type
US6343295B1 (en) * 1998-12-16 2002-01-29 Microsoft Corporation Data lineage
US7117219B1 (en) * 2000-05-05 2006-10-03 Group 1 Software, Inc. Method and apparatus for creating a lineage of a data field in a data flow system
US6839714B2 (en) * 2000-08-04 2005-01-04 Infoglide Corporation System and method for comparing heterogeneous data sources
US20060064666A1 (en) * 2001-05-25 2006-03-23 Amaru Ruth M Business rules for configurable metamodels and enterprise impact analysis
US7716630B2 (en) 2005-06-27 2010-05-11 Ab Initio Technology Llc Managing parameters for graph-based computations
US7493570B2 (en) * 2005-09-12 2009-02-17 International Business Machines Corporation User interface options of a data lineage tool
US9063988B2 (en) * 2009-03-23 2015-06-23 The Boeing Company Database methods and apparatus
US8819010B2 (en) * 2010-06-28 2014-08-26 International Business Machines Corporation Efficient representation of data lineage information
US9244956B2 (en) * 2011-06-14 2016-01-26 Microsoft Technology Licensing, Llc Recommending data enrichments
US8706684B2 (en) 2011-11-30 2014-04-22 Tata Consultancy Services Limited System and method for managing enterprise data
US9659042B2 (en) * 2012-06-12 2017-05-23 Accenture Global Services Limited Data lineage tracking
US10089335B2 (en) * 2012-07-10 2018-10-02 Microsoft Technology Licensing, Llc Data lineage across multiple marketplaces
US10489360B2 (en) 2012-10-17 2019-11-26 Ab Initio Technology Llc Specifying and applying rules to data
US9075860B2 (en) * 2012-10-18 2015-07-07 Oracle International Corporation Data lineage system
KR102143889B1 (ko) * 2013-03-15 2020-08-12 아브 이니티오 테크놀로지 엘엘시 메타데이터 관리를 위한 시스템
US20150012315A1 (en) * 2013-07-02 2015-01-08 Bank Of America Corporation Data lineage role-based security tools
US9811573B1 (en) * 2013-09-27 2017-11-07 EMC IP Holding Company LLC Lineage information management in data analytics
US10877955B2 (en) * 2014-04-29 2020-12-29 Microsoft Technology Licensing, Llc Using lineage to infer data quality issues
KR102410723B1 (ko) 2014-07-24 2022-06-17 아브 이니티오 테크놀로지 엘엘시 데이터 계통 요약
US10025878B1 (en) * 2014-11-11 2018-07-17 Google Llc Data lineage analysis
EP3051475A1 (en) 2015-01-27 2016-08-03 Tata Consultancy Services Limited Data analysis system and method to enable integrated view of customer information
JP6463845B2 (ja) 2015-02-11 2019-02-06 アビニシオ テクノロジー エルエルシー データ系統図のフィルタリング
US20170124154A1 (en) * 2015-11-02 2017-05-04 International Business Machines Corporation Establishing governance rules over data assets
US10037329B2 (en) * 2015-11-18 2018-07-31 American Express Travel Related Services Company, Inc. System and method for automatically capturing and recording lineage data for big data records
US10120923B2 (en) * 2015-11-30 2018-11-06 Bank Of America Corporation Data discovery and analysis tool
US11086751B2 (en) * 2016-03-16 2021-08-10 Asg Technologies Group, Inc. Intelligent metadata management and data lineage tracing
US10452625B2 (en) * 2016-06-30 2019-10-22 Global Ids, Inc. Data lineage analysis
US11137987B2 (en) * 2016-08-22 2021-10-05 Oracle International Corporation System and method for automated mapping of data types for use with dataflow environments
CN110140118B (zh) 2016-11-09 2024-02-02 起元技术有限责任公司 用于确定数据元素之间的关系的系统和方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102239458A (zh) * 2008-12-02 2011-11-09 起元技术有限责任公司 可视化数据元素之间的关系
CA2955380A1 (en) * 2014-07-18 2016-01-21 Ab Initio Technology Llc Managing lineage information

Also Published As

Publication number Publication date
US20220374413A1 (en) 2022-11-24
KR102432104B1 (ko) 2022-08-11
US11226957B2 (en) 2022-01-18
AU2022202530A1 (en) 2022-05-12
DE112017005638T5 (de) 2019-07-25
AU2017359472A1 (en) 2019-06-06
US10489384B2 (en) 2019-11-26
KR20190076047A (ko) 2019-07-01
US20180129699A1 (en) 2018-05-10
EP3539022A1 (en) 2019-09-18
CA3043586A1 (en) 2018-05-17
JP7469406B2 (ja) 2024-04-16
CN110140118A (zh) 2019-08-16
JP2022171690A (ja) 2022-11-11
EP3913502A1 (en) 2021-11-24
WO2018089633A1 (en) 2018-05-17
JP2020500369A (ja) 2020-01-09
US20200050598A1 (en) 2020-02-13
EP3539022B1 (en) 2021-09-29
AU2022202530B2 (en) 2023-05-11
JP7132918B2 (ja) 2022-09-07
AU2017359472B2 (en) 2022-05-26

Similar Documents

Publication Publication Date Title
CN110140118B (zh) 用于确定数据元素之间的关系的系统和方法
CN110998516B (zh) 用于异构编程数据处理系统的自动化依赖性分析器
Mahanti Data quality: dimensions, measurement, strategy, management, and governance
US11341116B2 (en) Techniques for automated data analysis
Li et al. Law is code: a software engineering approach to analyzing the United States code
US10599678B2 (en) Input gathering system and method for defining, refining or validating star schema for a source database
US11947567B2 (en) System and method for computing and managing datasets using hierarchical analytics
US20170139966A1 (en) Automated analysis of data reports to determine data structure and to perform automated data processing
US20200097615A1 (en) Difference-based comparisons in log-structured graph databases
Bicevska et al. Models of data quality
CN110222031B (zh) 利用数据库技术自动生成多维度账务的方法和系统
Knight et al. Microsoft Power BI Quick Start Guide: Bring your data to life through data modeling, visualization, digital storytelling, and more
Dunlop Beginning Big Data with Power BI and Excel 2013: Big Data Processing and Analysis Using PowerBI in Excel 2013
CN114175021A (zh) 用于为文档评估系统生成逻辑文档的系统和方法
Oliveira ETL for Data Science?: A Case Study
US9208224B2 (en) Business content hierarchy
US11893008B1 (en) System and method for automated data harmonization
US20240086409A1 (en) Techniques for pre-assignment validation of data managed by a data processing system
Ulici Choosing a Suitable Query Engine for Providing Observability and Accessibility for Dynamic Reporting of Business Data
Berg The risks and benefits of spreadsheet-based financial reporting as a form of shadow it in complex information systems: an action design research leading to the FRASIT-framework
Forner Framework for multidimensional definition of the data model, structure, taxonomies and rules of the XBRL specification
Maier Fakultät für Informatik

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: 40013245

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant