本申请涉及用于生成、访问和显示沿袭元数据的数据结构和方法,例如,存储在数据存储系统中的数据元素的沿袭。
背景技术:
1、企业使用如数据仓库、客户关系管理和数据挖掘等数据处理系统来管理数据。在许多数据处理系统中,将数据从许多不同数据源(如数据库文件、操作系统、平面文件、互联网和其他源)拉入中央资料库中。通常,在将数据加载到数据系统中之前对该数据进行变换。变换可以包括清理、集成和提取。为了保持跟踪数据、数据源以及存储在数据系统中的数据所发生的变换,可以使用元数据。元数据(有时称为“关于数据的数据”)是描述其他数据的属性、格式、起源、历史、相互关系等的数据。元数据管理可以在复杂数据处理系统中发挥核心作用。
2、有时用户可能想要研究某些数据是如何从不同的数据源衍生出来的。例如,用户可能想知道数据集或数据对象是如何生成的,或者数据集或数据对象是从哪个源导入的。将数据集追溯到衍生出该数据集的源被称为数据沿袭跟踪(或“上游数据沿袭跟踪”)。有时用户可能想要研究如何使用某些数据集(称为“下游数据沿袭跟踪”或“影响分析”),例如,哪个应用读取了给定数据集。用户可能还有兴趣了解数据集如何与其他数据集相关。例如,用户可能想要知道是否修改了数据集,哪些表会受到影响。
3、作为一种元数据的沿袭使用户能够获得关于数据沿袭的问题的答案(例如,“给定值来自哪里?”“输出值是如何计算的?”“哪些应用产生并依赖此数据?”)。用户可以理解所提出的修改的结果(例如,“如果本条内容发生改变,则还有哪些内容会受到影响?”“如果此源格式发生改变,则哪些应用会受到影响?”)。用户还可以获得涉及技术元数据和业务元数据的问题的答案(例如,“哪些组负责产生和使用此数据?”“谁最后更改了此应用?”“他们作出了哪些更改?”)。
4、这些问题的答案可以帮助分析复杂数据处理系统并对其进行故障排除。例如,如果数据元素具有意外值,则任何数量的先前输入或数据处理步骤都可能造成此意外值。相应地,沿袭有时以图表的形式呈现给用户,该图表包括表示感兴趣数据元素的视觉元素,以及表示影响该感兴趣数据元素或受该感兴趣数据元素影响的其他数据元素的视觉元素。用户可以查看此图表并在视觉上标识影响感兴趣数据元素的其他数据元素和/或变换。作为示例,通过使用此信息,用户可以看到任何数据元素和/或变换是否可能是意外值的源,并在发现问题时校正(或标记用于校正)任何基础数据处理步骤。作为另一个示例,通过使用此信息,用户可以标识可能对系统的一部分必不可少的任何数据元素或变换(例如,使得感兴趣数据元素将受其从系统中移除的影响),和/或可能不是对系统的一部分必不可少的数据元素或变换(例如,使得感兴趣数据元素将不受其从系统中移除的影响)。
技术实现思路
1、除了别的之外,我们描述了一种由数据处理装置执行的方法,该方法包括:从数据源接收一部分元数据,该一部分元数据描述节点和边缘,这些边缘中的至少一些边缘各自表示一个节点对另一个节点的影响,每个边缘具有单一方向;生成表示该一部分元数据的数据结构的实例,该数据结构的至少一个实例包括标识相应节点的标识值、表示该相应节点的对应性质的一个或多个性质值、和指向对应标识值的一个或多个指针,每个指针表示与该相应的对应标识值标识的节点相关联的边缘;将该数据结构的这些实例存储到随机存取存储器中;接收包括至少一个特定数据元素的标识的查询;以及使用该数据结构的至少一个实例使计算机系统的显示器显示该特定数据元素的沿袭的表示。
2、可以采用多种方式实施这些技术,包括方法、系统和/或存储在计算机可读存储设备上的计算机程序产品。
3、这些技术的方面包括以下优点中的一项或多项。当响应对沿袭元数据的查询时,可以使用针对速度和效率设计的专用数据结构存储沿袭元数据。沿袭元数据可以存储在存储器中,使得与没有将沿袭元数据存储在存储器中的情况(例如,沿袭元数据存储在硬盘或另一种存储技术中并从中进行访问的情况)相比,存储沿袭元数据的计算机系统可以更快速地响应对沿袭元数据的查询。使用本文描述的技术,沿袭数据可以比其他技术更快速地检索,例如,快500倍。
1.一种由数据处理系统进行的用于更新具有来自数据库的沿袭的数据结构的方法,其中更新提供了确定沿袭的提高的效率,所述方法包括:
2.如权利要求1所述的方法,其中,更新所述一个或多个数据结构包括:
3.如权利要求1所述的方法,其中,更新所述一个或多个数据结构包括:
4.如权利要求1所述的方法,进一步包括:以定期或安排的间隔从所述数据库接收表示所述给定数据项或所述给定变换的沿袭的所述数据。
5.如权利要求1所述的方法,其中,表示所述给定数据项或所述给定变换的沿袭的所述数据是响应于发送到所述数据库的请求而接收到的。
6.如权利要求1所述的方法,进一步包括:
7.如权利要求6所述的方法,进一步包括:
8.一种用于更新具有来自数据库的沿袭的数据结构的系统,其中,更新提供了确定沿袭的提高的效率,所述系统包括:
9.如权利要求8所述的系统,其中,更新所述一个或多个数据结构包括:
10.如权利要求8所述的系统,其中,更新所述一个或多个数据结构包括:
11.如权利要求8所述的系统,其中,所述至少一个计算机可读介质存储能够由所述至少一个处理器执行以进行操作的指令,所述操作进一步包括:
12.如权利要求8所述的系统,其中,表示所述给定数据项或所述给定变换的沿袭的所述数据是响应于发送到所述数据库的请求而接收到的。
13.如权利要求8所述的系统,其中,所述至少一个计算机可读介质存储能够由所述至少一个处理器执行以进行操作的指令,所述操作进一步包括:
14.如权利要求13所述的系统,其中,所述至少一个计算机可读介质存储能够由所述至少一个处理器执行以进行操作的指令,所述操作进一步包括:
15.至少一个非暂态计算机可读介质,其存储能够由至少一个处理器执行以进行操作的指令,所述操作包括:
16.如权利要求15所述的至少一个非暂态计算机可读介质,其中,更新所述一个或多个数据结构包括:
17.如权利要求15所述的至少一个非暂态计算机可读介质,其中,更新所述一个或多个数据结构包括:
18.如权利要求15所述的至少一个非暂态计算机可读介质,其存储能够由所述至少一个处理器执行以进行操作的指令,所述操作进一步包括:
19.如权利要求15所述的至少一个非暂态计算机可读介质,其中,表示所述给定数据项或所述给定变换的沿袭的所述数据是响应于发送到所述数据库的请求而接收到的。
20.如权利要求15所述的至少一个非暂态计算机可读介质,其存储能够由所述至少一个处理器执行以进行操作的指令,所述操作进一步包括: