CN110023925B - 生成、访问和显示沿袭元数据 - Google Patents
生成、访问和显示沿袭元数据 Download PDFInfo
- Publication number
- CN110023925B CN110023925B CN201780074708.3A CN201780074708A CN110023925B CN 110023925 B CN110023925 B CN 110023925B CN 201780074708 A CN201780074708 A CN 201780074708A CN 110023925 B CN110023925 B CN 110023925B
- Authority
- CN
- China
- Prior art keywords
- data
- metadata
- lineage
- data structure
- nodes
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 claims abstract description 89
- 230000000875 corresponding effect Effects 0.000 claims abstract description 56
- 230000015654 memory Effects 0.000 claims description 48
- 230000004044 response Effects 0.000 claims description 33
- 238000012545 processing Methods 0.000 claims description 32
- 230000000694 effects Effects 0.000 claims description 6
- 230000009471 action Effects 0.000 claims description 4
- 230000008569 process Effects 0.000 description 42
- 238000010586 diagram Methods 0.000 description 19
- 230000009466 transformation Effects 0.000 description 10
- 238000004458 analytical method Methods 0.000 description 6
- 238000000844 transformation Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 5
- 238000013500 data storage Methods 0.000 description 5
- 230000000007 visual effect Effects 0.000 description 5
- 238000004590 computer program Methods 0.000 description 4
- 239000008186 active pharmaceutical agent Substances 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000001934 delay Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 239000003550 marker Substances 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000012805 post-processing Methods 0.000 description 2
- 238000011144 upstream manufacturing Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000007418 data mining Methods 0.000 description 1
- 238000013499 data model Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 125000000524 functional group Chemical group 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000005381 magnetic domain Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000704 physical effect Effects 0.000 description 1
- 238000013404 process transfer Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Abstract
除了别的之外,我们描述了一种从数据源接收一部分元数据的方法,该一部分元数据描述节点和边缘;生成表示该一部分元数据的数据结构的实例,该数据结构的至少一个实例包括标识相应节点的标识值、表示该相应节点的对应性质的一个或多个性质值、和指向对应标识值的一个或多个指针,每个指针表示与该相应的对应标识值标识的节点相关联的边缘;将该数据结构的这些实例存储到随机存取存储器中;接收包括至少一个特定数据元素的标识的查询;以及使用该数据结构的至少一个实例使计算机系统的显示器显示该特定数据元素的沿袭的表示。
Description
技术领域
本申请涉及用于生成、访问和显示沿袭元数据的数据结构和方法,例如,存储在数据存储系统中的数据元素的沿袭。
背景技术
企业使用如数据仓库、客户关系管理和数据挖掘等数据处理系统来管理数据。在许多数据处理系统中,将数据从许多不同数据源(如数据库文件、操作系统、平面文件、互联网和其他源)拉入中央资料库中。通常,在将数据加载到数据系统中之前对该数据进行变换。变换可以包括清理、集成和提取。为了保持跟踪数据、数据源以及存储在数据系统中的数据所发生的变换,可以使用元数据。元数据(有时称为“关于数据的数据”)是描述其他数据的属性、格式、起源、历史、相互关系等的数据。元数据管理可以在复杂数据处理系统中发挥核心作用。
有时用户可能想要研究某些数据是如何从不同的数据源衍生出来的。例如,用户可能想知道数据集或数据对象是如何生成的,或者数据集或数据对象是从哪个源导入的。将数据集追溯到衍生出该数据集的源被称为数据沿袭跟踪(或“上游数据沿袭跟踪”)。有时用户可能想要研究如何使用某些数据集(称为“下游数据沿袭跟踪”或“影响分析”),例如,哪个应用读取了给定数据集。用户可能还有兴趣了解数据集如何与其他数据集相关。例如,用户可能想要知道是否修改了数据集,哪些表会受到影响。
作为一种元数据的沿袭使用户能够获得关于数据沿袭的问题的答案(例如,“给定值来自哪里?”“输出值是如何计算的?”“哪些应用产生并依赖此数据?”)。用户可以理解所提出的修改的结果(例如,“如果本条内容发生改变,则还有哪些内容会受到影响?”“如果此源格式发生改变,则哪些应用会受到影响?”)。用户还可以获得涉及技术元数据和业务元数据的问题的答案(例如,“哪些组负责产生和使用此数据?”“谁最后更改了此应用?”“他们作出了哪些更改?”)。
这些问题的答案可以帮助分析复杂数据处理系统并对其进行故障排除。例如,如果数据元素具有意外值,则任何数量的先前输入或数据处理步骤都可能造成此意外值。相应地,沿袭有时以图表的形式呈现给用户,该图表包括表示感兴趣数据元素的视觉元素,以及表示影响该感兴趣数据元素或受该感兴趣数据元素影响的其他数据元素的视觉元素。用户可以查看此图表并在视觉上标识影响感兴趣数据元素的其他数据元素和/或变换。作为示例,通过使用此信息,用户可以看到任何数据元素和/或变换是否可能是意外值的源,并在发现问题时校正(或标记用于校正)任何基础数据处理步骤。作为另一个示例,通过使用此信息,用户可以标识可能对系统的一部分必不可少的任何数据元素或变换(例如,使得感兴趣数据元素将受其从系统中移除的影响),和/或可能不是对系统的一部分必不可少的数据元素或变换(例如,使得感兴趣数据元素将不受其从系统中移除的影响)。
发明内容
除了别的之外,我们描述了一种由数据处理装置执行的方法,该方法包括:从数据源接收一部分元数据,该一部分元数据描述节点和边缘,这些边缘中的至少一些边缘各自表示一个节点对另一个节点的影响,每个边缘具有单一方向;生成表示该一部分元数据的数据结构的实例,该数据结构的至少一个实例包括标识相应节点的标识值、表示该相应节点的对应性质的一个或多个性质值、和指向对应标识值的一个或多个指针,每个指针表示与该相应的对应标识值标识的节点相关联的边缘;将该数据结构的这些实例存储到随机存取存储器中;接收包括至少一个特定数据元素的标识的查询;以及使用该数据结构的至少一个实例使计算机系统的显示器显示该特定数据元素的沿袭的表示。
可以采用多种方式实施这些技术,包括方法、系统和/或存储在计算机可读存储设备上的计算机程序产品。
这些技术的方面包括以下优点中的一项或多项。当响应对沿袭元数据的查询时,可以使用针对速度和效率设计的专用数据结构存储沿袭元数据。沿袭元数据可以存储在存储器中,使得与没有将沿袭元数据存储在存储器中的情况(例如,沿袭元数据存储在硬盘或另一种存储技术中并从中进行访问的情况)相比,存储沿袭元数据的计算机系统可以更快速地响应对沿袭元数据的查询。使用本文描述的技术,沿袭数据可以比其他技术更快速地检索,例如,快500倍。
附图说明
图1A至图1D示出了元数据处理环境。
图2A至图2E示出了元数据查看环境中显示的信息的示例。
图3示出了示例数据结构。
图4示出了示例遍览(walk)计划。
图5A示出了表示用于以专用数据结构定义的形式存储沿袭元数据的过程的流程图。
图5B示出了表示用于使沿袭元数据被显示的过程的流程图。
图6示出了表示用于遍历以专用数据结构的形式存储的沿袭元数据的过程的流程图。
各附图中的相同参考符号表示相似元素。
具体实施方式
管理对元数据的访问的系统可以从请求特定数据元素的沿袭的用户接收查询,并且作为响应提供表示数据元素的沿袭的图表。如果数据元素属于存储相对大量的数据的数据存储系统,则管理对元数据的访问的系统可能需要花费大量处理时间以便处理数据元素的沿袭并生成相应图表。然而,可以通过引入专用于处理沿袭元数据并针对此类处理进行优化的系统对该处理进行加速并使其更高效。因此,本说明书描述了一种技术,通过该技术,出于以通常比不使用专用系统更快速且更高效的方式处理和存储沿袭元数据的目的,使用该专用系统。
图1A示出了包括存储沿袭元数据并将其提供给该环境中的其他系统的沿袭服务器102的元数据处理环境100。元数据处理环境100还包括通常响应于对元数据的请求的元数据服务器104。元数据服务器104具有对存储在元数据数据库108中的元数据106的访问权。元数据106来自将元数据112A至112C持续贡献给元数据数据库108的数据源110A至110C。例如,数据源110A至110C可以是关系数据库、平面文件、网络源等的任何组合。
在使用时,元数据服务器104对从用户118操作的用户终端116接收到的请求114作出响应。例如,用户终端116可以是计算设备,如个人计算机、膝上型计算机、平板设备、智能电话等。在一些示例中,例如,如果元数据服务器104被配置成通过网络提供对数据的访问并且包括可以与web浏览器接口连接的web服务器或与其通信,则用户终端116操作如web浏览器等基于网络的用户应用。一般来说,可以使用互联网或类似通信网络、使用通常在这些种类的网络上使用的通信协议进行本文中描述的计算机系统之间的交互中的许多交互。
元数据服务器104被配置成对多种元数据的查询作出响应。由于一种元数据是沿袭元数据,因此元数据服务器104可以通过访问存储在描述特定数据元素的沿袭的元数据数据库108中的元数据106处理请求特定数据元素,例如由数据源110A至110C之一存储的数据元素120的沿袭的查询114。元数据服务器104然后可以向用户终端116提供沿袭元数据122,例如,采用沿袭图表形式的沿袭元数据(如以下关于图2A至图2E描述的)。
在一些示例中,处理与沿袭元数据有关的查询114是花费相对大量的处理时间和/或使用元数据服务器104的相对大量的处理资源的任务。例如,为了处理查询114,元数据服务器104可能需要访问存储在元数据数据库108中的元数据106。在此示例中,元数据服务器104将需要花费处理资源来生成对元数据数据库108的查询,以访问所有需要的元数据。进一步地,将查询传输至元数据数据库108并等待响应的过程引入了延迟,例如通信网络延迟。另外,在一些示例中,元数据服务器104将需要处理从元数据数据库108接收到的元数据,以便提取创建沿袭图表所需要的元数据。例如,从元数据数据库108接收到的元数据可以包括与感兴趣数据元素沿袭不直接相关的信息,因为元数据数据库108存储沿袭元数据之外的各种元数据,因此,附加处理时间用于标识和移除与沿袭无关的信息。
在一些实施方式中,沿袭服务器102用于将沿袭元数据提供给元数据服务器104例如以提高元数据处理环境100的性能。沿袭服务器102是专用系统,该系统以通常可以比不使用沿袭服务器的技术更快速且更高效的形式存储沿袭元数据124。具体地,当响应对沿袭元数据的查询时,沿袭服务器102使用针对速度和效率设计的专用数据结构存储沿袭元数据124。数据结构定义了数据的安排,使得使用特定数据结构存储的所有数据以相同方式安排。以下关于图3进一步详细描述了数据结构技术。
在使用时,沿袭服务器102将查询126传输至元数据数据库108以便检索沿袭元数据128。例如对于由数据源110A至110C存储的数据元素120中的大部分或所有,沿袭服务器102理想地存储沿袭元数据的综合主体。以这种方式,沿袭服务器102可以对可能进行查询的数据元素120的大部分的沿袭的查询作出响应。在沿袭服务器102从元数据数据库108接收到沿袭元数据128时,沿袭服务器102更新其包含已存储沿袭元数据124的数据结构。在一些示例中,沿袭服务器102定期向元数据数据库108发送新的查询126,例如每小时或每天或另一个间隔,以便存储沿袭元数据的相对最新的主体。例如,间隔可以是安排的间隔,例如与沿袭服务器102维护的日程数据相对应。
如图1B中更加详细示出的,元数据服务器104接收对沿袭元数据的查询114(例如,对可以用于在用户终端116上显示沿袭图表的沿袭元数据的查询),元数据服务器104可以向沿袭服务器102提供查询114。沿袭服务器然后可以响应于查询114而返回沿袭元数据122。与使用其他技术检索的沿袭元数据(如从元数据数据库108检索沿袭元数据)相比,元数据服务器104在将接收到的沿袭元数据122提供给用户终端116之前不需要花费过多处理时间和使用过多的处理资源来准备接收到的沿袭元数据。
图1C和图1D示出了沿袭服务器102和元数据服务器104的元素及其交互方式。如上所述,元数据服务器104接收请求特定数据元素的沿袭的查询114。查询114标识针对其请求沿袭的特定数据元素(例如,图1A的数据元素120之一)。元数据服务器104使用数据元素的身份从可以用于采集与数据元素有关的沿袭元数据的一组遍览计划132中选择遍览计划130。遍览计划130是描述如何以特定方式遍历(traverse)(“遍览”)一组沿袭元数据的数据结构(例如,包含标记部分的结构化文档,如XML文档)。在一些示例中,可以基于数据元素的数据类型选择遍览计划。例如,特定数据类型可以与遍览计划132中特定的一个相关联(例如,存储在可访问元数据服务器104的关联索引中的关联)。以下关于图4详细描述了遍览计划132。
一旦选择了遍览计划130,元数据服务器104就向沿袭服务器102发送查询114和遍览计划130。作为响应,沿袭服务器102在沿袭元数据的其数据结构134当中标识与查询114有关的沿袭元数据。数据结构134是沿袭元数据的表示,该表示以在不省略响应对沿袭元数据的查询所需要的任何数据的情况下最小化包含该沿袭元数据所需要的存储空间量的方式安排。因此,沿袭服务器102通常可以使用存储在其数据结构134中的数据来为该元数据服务器104提供元数据服务器104响应查询114所需的所有该沿袭元数据。以下关于图3详细描述了数据结构134。
在一些实施方式中,将数据结构134加载到沿袭服务器102的存储器135中以供快速访问(例如,快速读取和写入数据)。存储器的一个示例是随机存取存储器。随机存取存储器存储数据项,其方式为使得可以以与具有相同大小(例如,字节或字)的任何其他项基本上相同的时间量访问每个数据项。相比而言,如磁盘等其他数据存储类型具有使一些数据项比其他数据元素花费更长时间访问的物理约束,取决于磁盘的当前物理状态(例如,磁性读取/写入头的位置)。存储在随机存取存储器中的数据项通常存储在对所述数据项唯一或在少量数据项当中共享的地址处。随机存取存储器通常是易失性的,使得随机存储的数据在随机存取存储器与有功电源断开连接(例如,计算机系统损失功率)时丢失。相比而言,磁盘和一些其他种类的数据存储装置是非易失性的,并且在没有有功电源的情况下保留数据。
因为沿袭服务器102将数据结构134存储在存储器135中,所以沿袭服务器102可以比未将数据结构存储在存储器135中的技术更快速的读取和写入沿袭元数据。具体地,以最小化数据使用量的方式安排数据结构134。例如,数据结构134可以省略如文本串等从元数据服务器104获得的原始沿袭元数据中存在的数据。因此,所有数据结构134,例如表示沿袭元数据的所有数据可以在使用沿袭服务器102时存储在存储器135中。计算机系统通常对可以在给定时间使用的随机存取存储器的数量有限制(例如,由于寻址限制)。进一步地,随机存取存储器在每字节基础上趋向于比其他类型的存储装置(例如,磁盘)更贵。因此,如果使用随机存取存储器,则数据结构134可以对特定计算机系统上的其组合大小具有上限。因此,本文中描述的技术(例如,以下关于图3描述的技术)最小化其大小但保留了关于查询114可以请求的沿袭的信息。
在一些实施方式中,元数据服务器104还存储沿袭元数据137(例如,图1A中示出的从元数据数据库108接收的沿袭元数据)。然而,元数据服务器104不将其存储的沿袭元数据137的大部分存储在随机存取存储器中,例如因为元数据服务器104不使用沿袭服务器102的数据结构。因此,即使元数据服务器104也存储一些沿袭元数据137,元数据服务器104也可以访问沿袭服务器102的沿袭元数据124来获得未本地存储在元数据服务器104处的任何元数据。如果未使用沿袭服务器102,则存储一些沿袭元数据137的元数据服务器104通常会访问存储在元数据数据库108(图1A)中的沿袭元数据,如上所述,相比于使用沿袭服务器102,这可能存在性能缺陷。
虽然本文中将随机存取存储器用作主要示例,但其他类型的存储器可以与沿袭服务器102一起使用。例如,另一种类型的存储器是闪存。与随机存取存储器不同,闪存是非易失性的。然而,闪存通常对访问数据项有限制。一些类型的闪存按以下方式配置:如与单独可访问数据项相反,数据项的集合(例如,数据项的块)是一次可访问的最小数据单位。例如,为了删除一些类型的闪存上的数据项,必须删除整个块。剩余数据项可以被重新写入闪存以对其进行保存。
沿袭服务器102使用遍览计划130来遍历数据结构134并且收集存储在响应于查询114的数据结构中的沿袭元数据。如图1D中示出的,沿袭服务器102然后将包含沿袭元数据139的响应138发送回元数据服务器104。元数据服务器104可以使用沿袭元数据139来生成其自己对查询114的响应140。响应140可以采用若干形式之一。在一些示例中,响应140包含从沿袭服务器102接收到的相同沿袭元数据139,例如以具有最小后处理的形式。在一些示例中,元数据服务器104对沿袭元数据139执行后处理。例如,元数据服务器104可以例如在以非人类可读的编码格式接收沿袭元数据139时将沿袭元数据139的形式改变为人类可读形式。在一些示例中,元数据服务器104基于沿袭元数据139生成沿袭图表,并将表示沿袭图表的数据并入响应140中。在一些示例中,例如,如果响应140是沿袭图表(如以下关于图2A至图2E详细描述的),则将响应140传输至用户终端116(图1A)。在一些示例中,在将响应140传输至用户终端和/或处理成适合于传输至用户终端的形式之前,将该响应传输至中间系统。
图2A示出了元数据查看环境中显示的信息的示例。在一些示例中,元数据查看环境是在用户终端,例如图1A中示出的用户终端116上执行的接口。在图2A的示例中,元数据查看环境显示与数据沿袭图表200A有关的信息。元数据查看环境的一个示例是基于web的应用,该应用允许用户(例如,图1A中示出的用户118)将元数据可视化并进行编辑。使用元数据查看环境,用户可以使用来自企业内的任何地方的标准Web浏览器探索、分析和管理元数据。每种元数据对象都有一个或多个视图或视觉表示。图2A的元数据查看环境展示了目标元素206A的沿袭图表。
例如,该沿袭图表显示了表示存储在元数据服务器104(图1A)中的元数据对象的数据和/或处理节点的端到端沿袭;即,给定起始对象所依赖的对象(其源)和给定起始对象影响的对象(其目标)。在此示例中,示出了数据元素202A与变换204A(元数据对象的两个示例)之间的连接。通过图表中的节点表示元数据对象。数据元素202A可以表示例如数据集、数据集内的表、表中的列以及文件、消息和报告中的字段。变换204A的示例是可执行文件的元素,该元素描述了如何产生数据元素的单个输出。节点之间的这些连接基于元数据对象之间的关系。
图2B展示了图2A中示出的同一目标元素206A的相应沿袭图表200B,除了每个元素202B基于上下文分组并以组的形式示出。例如,数据元素202B被分组到数据集208B(例如,表、文件、消息和报告)、应用210B(包含如图形和计划和程序等可执行文件,加上他们所操作的数据集)和系统212B中。系统212B是数据和处理该数据的应用的功能组;系统由应用和数据组(例如,数据库、文件组、消息传递系统和数据集组)组成。转变204B被分组到可执行文件214B、应用210B和系统212B中。如图形、计划或程序等可执行文件对数据集进行读取和写入。参数可以设置默认情况下展开哪些组和折叠哪些组。这允许用户通过移除不必要等级的详细信息来查看仅对他们重要的组的详细信息。
出于多种原因,使用元数据查看环境执行数据沿袭计算是有用的。例如,计算和展示数据元素与变换之间的关系可以帮助用户确定如何计算给定字段报告的报告值。用户也可以查看哪些数据集存储特定类型的数据,以及哪些可执行文件对所述数据集进行读取和写入。在业务术语的情况下,数据沿袭图表可以展示哪些数据元素(例如,列和字段)与某些业务术语(例如,企业中的定义)相关联。
元数据查看环境中示出的数据沿袭图表还可帮助用户进行影响分析。特别地,用户可能想要知道在将列或字段加入数据集时,哪些下游可执行文件受到影响,以及需要通知谁。影响分析可以确定在哪里使用给定数据元素,并且还可以确定改变所述数据元素的分支。类似地,用户可查看哪些数据集受可执行文件的改变的影响,或者从产品中移除某个数据库表是否安全。
使用元数据查看环境执行数据沿袭计算以生成数据沿袭图表对业务术语的管理来说是有用的。例如,企业内部的员工通常希望在企业内的业务术语的意思、那些术语之间的关系以及术语所涉及的数据方面达成一致。一致地使用业务术语可以增强企业数据的透明度并促进对业务需求的沟通。因此,了解在哪里可以找到业务术语下面的物理数据以及计算中使用了什么业务逻辑是重要的。
查看数据节点之间的关系还可以帮助管理和维护元数据。例如,用户可能希望知道是谁更改了一条元数据、针对一条元数据的源(或“记录的源”)是什么或者当从外部源加载或重新加载元数据时进行了哪些更改。在维护元数据时,可能希望允许指定用户能够创建元数据对象(如业务术语)、编辑元数据对象的性质(如对象与其他对象的描述和关系)或删除过时的元数据对象。
元数据查看环境提供了对象的许多图形视图,允许用户探索和分析元数据。例如,用户可以查看系统和应用的内容并且探索任何对象的详细信息,并且还可以查看使用数据沿袭视图的对象之间的关系,这允许用户轻松地执行各种类型的依赖性分析,如以上描述的数据沿袭分析和影响分析。还可以查看对象的层次结构,并且可以针对特定对象搜索这些层次结构。一旦找到了对象,就可以为对象创建书签,以允许用户轻松地返回这些对象。
使用适当的权限,用户可在元数据查看环境中编辑元数据。例如,用户可以更新对象的描述、创建业务术语、定义对象之间的关系(如将业务术语与报告中的字段或表中的列连接)、移动对象(例如,将数据集从一个应用移动到另一个应用)或删除对象。
在图2C中,示出了目标元素206A的相应沿袭图表200C,但分辨率水平设置为参与目标元素206A计算的应用。特别地,示出了应用202C、204C、206C、208C和210C,因为只有那些应用直接参与对该目标数据元素206A的计算。如果用户希望以不同分辨率水平查看沿袭图表的任何部分(例如,以在图表中显示更多或更少详细信息),则用户可以激活相应的展开/折叠按钮212C。
图2D示出了不同分辨率水平下的相应沿袭图表200D。在此示例中,用户激活了展开/折叠按钮212C,并且元数据查看环境现在显示同一沿袭图表,但是应用202C被展开以示出应用202C中的数据集214D和可执行文件216D。
图2E示出了不同分辨率水平下的相应沿袭图表200E。在此示例中,用户被选择示出由自定义展开所展开的所有内容。对作为最终数据源(例如,其没有上游系统)的字段或列进行展开。另外,对具有特殊标志集的字段进行展开。在此示例中,在沿袭中的关键中间点处在数据集和字段上设置特殊标志,并且一列是示出沿袭的列。
在标题为“VISUALIZING RELATIONSHIPS BETWEEN DATA ELEMENTS ANDGRAPHICAL REPRESENTATIONS OF DATA ELEMENT ATTRIBUTES(数据元素之间的可视化关系和数据元素属性的图形表示)”的美国专利申请序列号12/629,466中描述了沿袭的其他示例,该美国专利申请通过引用以其整体并入本文。
通过添加与表示元素和关系的节点中的每一个相关的信息,可以使在元数据查看环境中查看元素和关系更有用。向节点添加相关信息的一种示例性方法是以图形方式将信息覆盖在某些节点上。这些图形可以示出由节点表示的数据的某个值或特性,也可以是元数据数据库中的任何性质。这种方法具有组合通常不同的两条或更多条信息(数据节点之间的关系和节点所表示的数据的特性)的优点,并努力将有用信息放在“上下文中”。例如,可以将如元数据质量、元数据新鲜度或记录信息源等特性与数据节点之间的关系的视觉表示一起显示。
虽然此信息中的一些信息可以以表格形式访问,但是对于用户来说,查看数据的特性联通不同数据节点之间的关系可能更有帮助。用户可以选择要在元数据查看环境中的数据元素和/或变换节点上示出数据的哪种特性。也可以根据默认系统设置来设置示出哪种特性。
如以上关于图1A描述的,沿袭服务器102使用数据结构134将沿袭元数据存储在存储器中(例如,随机存取存储器)。图3示出了示例数据结构300。在使用时,沿袭服务器102包含数据结构300的许多实例。数据结构的实例是以该数据结构定义的方式格式化的数据集合(例如,位集合)。本文描述的数据结构300的实例有时被称为“节点”。
数据结构300的每个实例表示元数据对象,例如,图2A中示出的数据元素202A或变换204A之一。在一些示例中,数据结构300的每个实例表示可以在沿袭图表,例如图2A至图2E中示出的图表200A至200E中示出的节点。
在使用时,沿袭服务器102将每个数据结构300存储在特定于该数据结构的存储器位置302处。每个数据结构300通常指向其他数据结构的存储器位置。
数据结构300由若干字段构成。字段是数据集合,例如,构成数据结构300的实例的位的子集。标识符字段310包括表示数据结构300的实例的唯一标识符的数据。类型字段312包括表示由数据结构300的相应实例表示的元数据对象的类型的数据。在一些示例中,类型可以是“数据元素”、“变换”等。在一些示例中,类型字段312还指示数据结构300的实例中包括多少前向边缘和后向边缘。性质字段314各自表示由数据结构300的相应实例表示的元数据对象的不同特性。性质字段314的示例可以包括“名称(name)”字段和“子类型(subtype)”字段,该“名称”字段包括标识元数据对象的文本标签,该“子类型”字段指示元数据对象的子类型,例如,无论元数据对象表示文件对象、可执行文件对象、数据库对象或另一子类型。可以使用其他类型的性质。一般来说,类型字段312和性质字段314可以针对沿袭服务器102的特定实例而定制,并且不限于本文所列出的示例。
数据结构还包括表示前向边缘316A至316C和后向边缘316D至316F的字段。边缘字段316A至316F使沿袭服务器102能够从数据结构“遍览”到数据结构,并在采集沿袭元数据时收集数据结构的数据。在最广泛的意义上,当我们提及“收集”一部分数据时,我们是指将该一部分数据标识为与未来动作(例如,传输收集到的数据)有关。收集一部分数据有时包括复制数据,例如,将数据复制到缓冲区或队列,以便在未来动作中使用。
每个边缘字段316A至316F包括指针字段320A至320B。指针字段320A至320B存储对应存储器位置322A至322B的地址。一般来说,指针字段320A至320B引用的存储器位置322A至322B是指存储数据结构300的另一个实例的存储器的一部分。以此方式,表示元数据对象的数据结构的一个实例与表示其他元数据对象的数据结构的一个或多个其他实例“连接”。因此,边缘316A至316D可以与例如图2A至图2E的沿袭图表示例200A至200E中示出的元数据对象之间的关系相对应。例如,前向边缘316A表示元数据对象(例如,由数据结构300的此实例表示的元数据对象)对另一个元数据对象(例如,由存储器位置322A处的数据结构的实例表示的元数据对象)的影响。作为另一个示例,后向边缘316D表示另一个元数据对象(例如,由存储器位置322B处的数据结构的实例表示的元数据对象)对数据结构300的实例的元数据对象的影响。
每个边缘字段316A至316F还包括一个或多个标志324。标志324是关于其相关联边缘的信息的指示符。在一些示例中,标志324之一可以指示从多个可能类型中选择的一种相关联边缘。许多类型的边缘是可能的。例如,一些类型的边缘是输入/输出边缘(表示从一个对象输出并输入到另一个对象)、元素/数据集边缘(表示元素与元素所属的数据集之间的关联)和应用/父边缘(表示可执行应用与容器之间的关联,该容器如还包括与该应用相关联的数据集的容器)。
数据结构300中的元素中的许多元素通常使用相对较少量的数据。例如,与标识符字段310、类型字段312和性质字段314一起相关联的数据可能只有几字节,例如32字节。这些字段将常用信息编码到仅几位内;例如,如果节点只有八种可能的类型,则类型字段312可能只有三位长。不需要使用更复杂的数据,如表示节点类型的文本串。进一步地,与存储器位置322A至322C相关联的数据通常是与执行将数据结构300实例化的软件的计算机系统的类型相关联的存储器地址长度相同量的数据。因此,与用于存储沿袭元数据的其他技术使用的数据相比,数据结构300的大部分或所有实例总体上可以使用相对少量的数据。
图4示出了遍览计划400的示例。如以上关于图1C描述的,遍览计划400通常由元数据服务器104存储。在使用时,元数据服务器104在请求沿袭元数据时向沿袭服务器102提供遍览计划。
遍览计划400描述沿袭服务器102在遍历其存储的数据结构134时使用的信息。一般来说,在接收到对沿袭元数据,例如与特定元数据对象有关的沿袭元数据的查询时,不需要返回所有类型的沿袭元数据作为响应。在一些示例中,根据查询,可能不需要返回与一些类型的边缘相关联的沿袭元数据,因为其不响应查询。
相应地,遍览计划400包括每个边缘类型的记录402A至402C,这些边缘类型可以位于沿袭服务器102存储的沿袭元数据所表示的边缘类型当中。记录402A包括边缘类型字段404,该边缘类型字段包括指示与记录402A相对应的边缘类型的数据。记录402A还包括用于前向方向410的跟随标志406、收集节点标志408和收集边缘标志409以及用于后向方向416的跟随标志412、收集节点标志414和收集边缘标志415。
跟随标志406、412指示沿袭服务器102在遍历其数据结构134时是否应当跟随具有此边缘类型的边缘。换句话说,用于前向方向410的跟随标志406指示参考图3的沿袭服务器102是否应当访问数据结构300的实例的前向边缘字段316A的指针字段320A所标识的存储器位置322A。类似地,用于后向方向416的跟随标志412指示参考图3的沿袭服务器102是否应当访问数据结构300的实例的后向边缘字段316D的指针字段320B所标识的存储器位置322B。
收集节点标志408、414指示沿袭服务器102是否应当收集数据结构300(图3)的实例,有时被称为在遍历其数据结构134时由此边缘类型指向的“节点”。当提及收集数据结构300的实例时,我们是指将实例(或节点)的数据添加到将要响应于由处理查询的沿袭服务器102(图1A)处理的查询而返回的数据。因此,如果已收集了节点,则与由数据结构300的实例表示的元数据对象相关联的数据将位于沿袭服务器102返回的沿袭元数据当中。
收集边缘标志409、415指示沿袭服务器102是否应当收集边缘(例如,与数据结构300的实例的指针字段320A相对应)。如果已收集了边缘,则表示该边缘的数据将位于沿袭服务器102返回的沿袭元数据当中。在一些实施方式中,如果边缘不表示节点之间的数据流,则可能不收集边缘。例如,边缘可以表示数据对象(由一个节点表示)与数据对象的容器(由另一个节点表示)之间的关联。以此方式,通过在遍览计划400中使用收集节点标志408、414和收集边缘标志409、415,节点可以以可以或可以不被收集用于包括在沿袭元数据中的各种方式彼此关联,并且节点可以表示可以或可以不被收集用于包括在沿袭元数据中的各种数据。
在一些实施方式中,在使用时,可以以一个或多个XML(可延伸标记语言)文档的形式表示遍览计划400。XML文档是由“标记”分开的部分的集合。标记通常包含标签(例如,标识标记类型的标签),并且还可以包括一个或多个属性。标记有时以开始标记和结束标记的形式出现,使得开始标记与相应结束标记配对。以此方式,标记可以是分层的,使得标记被“嵌套”在其他标记内,例如,通过将标记置于另一个标记的开始标记和结束标记对之间。
以下呈现了采用XML文档形式的遍览计划的示例:
<lineageServerPlan direction="both"conditionalOnArg="!autoFilterEnabled"replacesQueries="walk">
<useEdge name="DE-Tr">
<condition special="ExeInterfaceCallStack"/>
<condition special="ControlFilter"/>
<condition special="Summarization"/>
</useEdge>
<useEdge name="Tr-DE">
<condition special="ExeInterfaceCallStack"/>
<condition special="ControlFilter"/>
<condition special="Summarization"/>
</useEdge>
<useEdge name="DE-DS"direction="forward"collectEdge="false"conditionalOnArg="walkDSlevel"/>
<useEdge name="Tr-Exe"direction="forward"collectEdge="false"conditionalOnArg="walkDSlevel"/>
<useEdge name="DS-Exe"conditionalOnArg="walkDSlevel">
<condition special="ExeInterfaceCallStack"/>
<condition special="DSLevelIfNoDE"/>
</useEdge>
<useEdge name="Exe-DS"conditionalOnArg="walkDSlevel">
<condition special="ExeInterfaceCallStack"/>
<condition special="DSLevelIfNoDE"/>
</useEdge>
<useEdge name="DE-DS"direction="backward"collectEdge="false">
<condition special="DSLevelIfNoDE"/>
</useEdge>
<useEdge name="Tr-Exe"direction="backward"collectEdge="false">
<condition special="DSLevelIfNoDE"/>
</useEdge>
</lineageServerPlan>
在此示例中,“使用边缘(useEdge)”标记指定给定类型边缘的信息。每个“使用边缘”标记可以与记录(例如,遍览计划400的记录402A至402C)相对应。“名称”属性指定边缘类型(例如,边缘类型404),“方向(direction)”属性指定方向(例如,前向方向410或后向方向416),“收集边缘(collectEdge)”属性指定是否要收集边缘(例如,收集标志408、414)。可以使用其他标记。例如,以上示例中示出的“条件特殊(condition special)”标记用于指定在跟随具有所指定的边缘类型的边缘时执行的自定义规则。在一些示例中,自定义规则可指定条件以判定是否应当跟随和/或收集边缘。
图5A示出了表示用于以专用数据结构,例如图3中示出的数据结构300定义的形式存储沿袭元数据的过程500的流程图。可以例如通过图1A中示出的沿袭服务器102的部件来执行过程500。
该过程从元数据源请求502沿袭元数据。例如,元数据源可以是图1A中示出的元数据数据库108。请求可以是定期或半定期发出的请求,例如,每小时、每十分钟、每分钟或任何其他间隔。在一些示例中,可以响应于事件,例如如新元数据在元数据源处可用的通知等事件而发出请求。
沿袭元数据通常描述节点和边缘,使得每个节点表示元数据对象,并且边缘各自表示一个节点对另一个节点的单向影响,例如使得每个边缘具有单一方向。
在一些示例中,例如,当沿袭服务器102尚未生成表示沿袭元数据的数据结构的初始集合时,该请求是对数据源存储的所有沿袭元数据的请求。在一些示例中,例如,当沿袭服务器102正更新已存储数据结构的现有集合时,该请求是对自上次请求后添加或更改的沿袭元数据的请求。
该过程从元数据源接收504数据,例如沿袭元数据。例如,沿袭元数据可以是表示元数据对象和元数据对象之间的关系的数据。
该过程生成506数据结构,例如,图3中示出的数据结构300的实例。例如,数据结构可以包含与从元数据源接收到的数据相对应的信息。在一些示例中,数据结构的每个实例与从元数据源接收到的对应节点相对应。数据结构可以包括用于标识值的字段,例如,标识与数据结构的实例相对应的节点的标识值。数据结构还可以包括表示与数据结构的实例相对应的节点性质的性质字段。数据结构还可以是指向其他节点的标识值的指针,使得这些指针表示到与对应标识值相对应的节点的边缘。
该过程存储508数据结构。例如,数据结构可以存储在存储器中,例如,图1C中示出的存储器135。在一些示例中,数据结构存储在随机存取存储器中。由于数据结构用于存储沿袭元数据,因此可以省略与沿袭无关的任何数据(例如,存储在元数据源处的其他类型的元数据),以减少存储数据结构所需要的数据量。
在使用时,该过程例如在下一个定期安排的间隔中返回至从元数据源请求502沿袭元数据。
图5B示出了表示用于使沿袭元数据被显示的过程520的流程图。可以例如通过图1A中示出的沿袭服务器102的部件来执行过程520。一般来说,沿袭服务器被配置成返回对查询的响应,该响应包括描述例如元数据对象等特定数据元素的沿袭的元数据。在一些示例中,元数据描述了节点和边缘的序列,其中,序列的节点之一表示特定数据元素。在一些示例中,过程520用于访问通过以上关于图5A描述的过程500存储的沿袭元数据。
该过程接收522查询,例如针对沿袭元数据的查询。在一些示例中,查询标识为其请求沿袭元数据的元数据对象。
在一些实施方式中,查询包括一种类型的沿袭的标识以及标识哪些类型的边缘与该已标识类型的沿袭有关的遍览计划。在一些示例中,遍览计划包括用于基于表示相应节点的对应性质的一个或多个性质值来跟随或收集边缘的条件。图4中示出了遍览计划400的示例。
该过程采集524沿袭元数据。例如,可以访问和收集表示接收到的查询的元数据对象的节点,并且可以遍历边缘(例如,指向存储器位置的指针)以收集其他节点。以下关于图6进一步详细描述了对沿袭元数据的采集。
该过程传输526已采集沿袭元数据。例如,可以将已采集沿袭元数据传输至发出查询的计算机系统。
在传输已采集沿袭元数据之后,可以使该已采集沿袭元数据显示528在计算机系统,例如图1A中示出的用户终端116上。例如,可以以如图2A至图2E中示出的沿袭图表200A至200E等沿袭图表的形式显示沿袭元数据。
图6示出了表示用于以专用数据结构,例如图3中示出的数据结构300的实例的形式遍历已存储沿袭元数据的过程600的流程图。可以例如通过图1A中示出的沿袭服务器102的部件来执行过程600。
该过程接收602查询和遍览计划,例如图1C中示出的查询114和遍览计划130。该过程访问604表示查询114引用的元数据对象的初始节点(例如,图3中示出的数据结构300的实例)。例如,可以通过存储与元数据对象相关联的数据的标识符字段310(图3)标识初始节点。初始节点然后被用作“当前”节点,并且该过程的递归部分开始,其中,从队列中选择当前节点并将操作应用于该当前节点。换句话说,将初始节点置于队列中作为队列的第一节点,并且随后在执行该过程时将其他节点添加到队列中。
该过程判定606当前节点中是否存在剩余前向边缘指针(例如,尚未被访问的前向边缘指针)。如果是,则该过程访问608尚未被访问的下一个指针,例如,访问该指针的存储器位置来检索存储在所述存储器位置的数据。该过程例如基于遍览计划(如以上关于图4描述的)根据与该指针相关联的边缘类型判定610是否在所述指针处“遍览”(例如,处理)节点。如果否,则该过程访问608另一个指针。如果是,则该过程判定是否在所述指针处收集611节点。如果是,则该过程存储612待响应于查询而返回的节点的数据,并且然后将节点置于614队列中,使得其指针可以被访问。如果否,则该过程只将该节点放入队列中。
一旦已经遍历了当前节点中的所有前向边缘指针,该过程就判定616当前节点中是否存在剩余后向边缘指针。如果是,则该过程访问608下一个后向边缘指针。
如果没有剩余前向边缘指针或后向边缘指针,则该过程判定618该队列中是否保留任何节点。如果是,则该过程访问620队列中的下一个节点,并且使用队列中的下一个节点作为当前节点来执行上述操作。如果没有保留节点,则该过程准备622已收集数据来传输至其他系统。例如,已收集数据由于其传输可以按特定格式安排。作为另一个示例,可以对已收集数据中的经编码数据进行解码。例如,包含经编码值的数据字段可以转化为与该值相对应的文本串。
一旦数据被准备用于传输,就可以传输数据,例如,如图5B中关于数据传输526描述的。
本文描述的系统和技术可以例如使用执行合适的软件指令的可编程计算系统来实施,或者在现场可编程门阵列(FPGA)等合适的硬件中或以某种混合形式实施。例如,在程控方法中,软件可以包括一个或多个计算机程序中的在一个或多个程控的或可编程计算系统(其可以是各种体系架构,诸如分布式客户端/服务器、或电网)上执行的程序,该计算系统各自包括至少一个处理器、至少一个数据存储系统(包括易失性和/或非易失性存储器和/或存储元件)、至少一个用户接口(用于使用至少一个输入设备或端口接收输入,并且用于使用至少一个输出设备或端口提供输出)。软件可以包括较大程序的一个或多个模块,该较大程序例如提供与对数据流图形的设计、配置、和执行有关的服务。程序模块(例如,数据流图形的元素)可以被实施为数据结构或符合存储在数据储存库中的数据模型的其他经组织的数据。
软件可以以非暂态的形式存储一段时间(例如,如动态RAM等动态存储器设备的刷新周期之间的时间),诸如使用介质的物理性质(例如,表面凹坑和岸台、磁畴、或电荷)体现在易失性或非易失性存储介质中、或任何其他非暂态介质中。在准备加载指令时,软件可以提供在如CD-ROM或其他计算机可读介质(例如,由通用或专用计算系统或设备可读)等有形、非暂态介质上,或者可以通过网络的通信介质递送(例如,被编码到传播信号中)到其被执行的计算系统的有形、非暂态介质。该处理的一些或全部可以在专用计算机上执行,或者使用专用硬件,如协处理器或现场可编程门阵列(FPGA)或专用的、专用集成电路(ASIC)。该处理可以以分布式方式来实施,其中,由软件指定的计算的不同部分由不同的计算元件执行。每一个这种计算机程序优选地存储在或下载到可由通用或专用可编程计算机访问的存储设备的计算机可读存储介质(例如,固态存储器或介质、或者磁性介质或光学介质)上,以便当由计算机读取存储设备介质以执行本文中描述的处理时,对计算机进行配置和操作。也可以认为本发明的系统被实施为配置有计算机程序的有形非暂态介质,其中,如此配置的介质致使计算机以指定的且预定义的方式操作以便执行本文中描述的处理步骤中的一项或多项。
已经描述了本发明的多个实施例。然而,应当理解,前述描述旨在说明而非限制本发明的范围,本发明的范围由以下权利要求的范围限定。因此,其他实施例也在所附权利要求的范围内。例如,在不背离本发明的范围的情况下,可以进行各种修改。另外,上述步骤中的一些步骤可以是顺序独立的,并且因此可以以与所描述的顺序不同的顺序来执行。
Claims (23)
1.一种由数据处理装置执行的方法,该方法包括:
从数据源接收一部分元数据,该一部分元数据描述节点和边缘,这些边缘中的至少一些边缘各自表示一个节点对另一个节点的影响,每个边缘具有单一方向;
生成表示该一部分元数据的数据结构的实例,该数据结构的至少一个实例包括:
标识相应节点的标识值,
表示该相应节点的对应性质的一个或多个性质值,以及
指向对应标识值的一个或多个指针,每个指针表示与相应的对应标识值标识的节点相关联的边缘;
将该数据结构的这些实例存储到存储器中;
接收包括至少一个特定数据元素的标识的查询;以及
使用存储器中所存储的该数据结构的实例中的至少一个实例生成对所述查询的响应,所述响应包括表示该特定数据元素的沿袭的数据。
2.如权利要求1所述的方法,其中,该查询包括一种类型的沿袭的标识以及标识哪些类型的节点和边缘与已标识类型的沿袭有关的遍览计划。
3.如权利要求2所述的方法,其中,该遍览计划包括用于基于表示相应节点的对应性质的一个或多个性质值来跟随或收集边缘的条件。
4.如权利要求1至3中任一项所述的方法,其中,这些标识值中的至少一个表示与该查询中标识的该特定数据元素相对应的节点。
5.如权利要求1至3中任一项所述的方法,其中,该数据处理装置被配置成返回对该查询的响应,该响应包括描述该特定数据元素的沿袭的元数据。
6.如权利要求5所述的方法,其中,描述该特定数据元素的沿袭的该元数据包括描述节点和边缘的序列的元数据,其中,该序列的这些节点之一表示该特定数据元素。
7.如权利要求1至3中任一项所述的方法,其中,一组元数据包括与对应节点相关联的文本串,其中,该数据结构省略这些文本串中的至少一个。
8.如权利要求1至3中任一项所述的方法,其中,生成这些数据结构的这些实例包括标识与沿袭有关的元数据以及以该数据结构定义的格式存储所标识的元数据。
9.如权利要求1至3中任一项所述的方法,其中,这些指针中的至少一个包括对与该存储器的一部分相关联的存储器位置的引用,其中,该存储器位置对应于与这些标识值之一相对应的节点的位置。
10.如权利要求1至3中任一项所述的方法,包括:
响应于接收该查询:
访问使用该数据结构存储的数据,包括访问包含至少一个标识符的该数据结构的实例,该至少一个标识符与该查询标识的该特定数据元素相对应;以及
基于使用该数据结构存储的该数据,生成对该查询的响应,该响应包括沿袭元数据,该沿袭元数据描述节点和边缘的序列,其中,该序列的这些节点之一表示该特定数据元素。
11.如权利要求10所述的方法,包括:
访问该数据结构的第一实例,该数据结构的该第一实例由与该查询标识的该特定数据元素相对应的第一标识符标识;
访问与该第一标识符相关联的指针;
访问该数据结构的第二实例,该数据结构的该第二实例由第二标识符标识,该第二标识符存储在与该第一标识符相关联的该指针所引用的存储器位置处;以及
收集该数据结构的该第二实例的数据;
其中,该响应包括表示与该第二标识符相关联的节点的数据。
12.如权利要求1至3中任一项所述的方法,包括以安排的间隔向该数据源传输请求,其中,响应于这些请求之一而从该数据源接收该一部分元数据。
13.一种用于数据处理装置的系统,包括:
存储可执行指令的至少一个存储器;以及
一个或多个处理器,被配置成执行这些指令;
其中,当执行这些指令时,所述一个或多个处理器实现根据权利要求1至12中任一项所述的方法。
14.一种存储指令的非暂态计算机可读存储介质,这些指令当被处理器执行时使得所述处理器执行根据权利要求1至12中任一项所述的方法。
15.一种用于数据处理装置的系统,包括:
用于从数据源接收一部分元数据的装置,该一部分元数据描述节点和边缘,这些边缘中的至少一些边缘各自表示一个节点对另一个节点的影响,每个边缘具有单一方向;
用于生成表示该一部分元数据的数据结构的实例的装置,该数据结构的至少一个实例包括:
标识相应节点的标识值,
表示该相应节点的对应性质的一个或多个性质值,以及
指向对应标识值的一个或多个指针,每个指针表示与相应的对应标识值标识的节点相关联的边缘;
用于将该数据结构的这些实例存储到存储器中的装置;
用于接收包括至少一个特定数据元素的标识的查询的装置;以及
用于使用存储器中所存储的该数据结构的实例中的至少一个实例生成对所述查询的响应的装置,所述响应包括表示该特定数据元素的沿袭的数据。
16.一种由数据处理装置执行的方法,该方法包括:
接收包括至少一个特定数据元素的标识的查询;
接收一种类型的沿袭的标识;
接收标识哪些类型的节点和边缘与所标识的类型的沿袭有关的遍览计划,
其中,该遍览计划包括:1)与一种类型的边缘相对应的至少一个标识符、2)与遍历该类型的边缘的方向相对应的至少一个标识符、以及3)与在遍历该边缘时要采取的动作相对应的至少一个指示符;
基于该遍览计划遍历节点和边缘,其中,所述节点与存储器中存储的各数据结构的实例相对应,并且所述边缘与指向所述存储器中的各地址的各指针相对应,该地址与相应数据结构的实例相对应;以及
基于对这些节点和边缘的该遍历生成对所述查询的响应,所述响应包括表示该特定数据元素的沿袭的数据。
17.如权利要求16所述的方法,其中,这些节点与数据结构的对应实例相对应,并且这些边缘与指向该数据结构的对应实例的对应指针相对应。
18.如权利要求17所述的方法,其中,该数据结构的实例包括:
标识相应节点的标识值,
表示该相应节点的对应性质的一个或多个性质值,以及
指向对应标识值的一个或多个指针,每个指针表示与相应的对应标识值标识的节点相关联的边缘。
19.如权利要求16至18中任一项所述的方法,其中,基于该查询标识的该特定数据元素的数据类型来选择该遍览计划。
20.如权利要求16至18中任一项所述的方法,其中,该遍览计划包括结构化文档。
21.一种用于数据处理装置的系统,包括:
存储可执行指令的至少一个存储器;以及
一个或多个处理器,被配置成执行这些指令;
其中,当执行这些指令时,所述一个或多个处理器实现根据权利要求16至20中任一项所述的方法。
22.一种存储指令的非暂态计算机可读存储介质,这些指令当被处理器执行时使得所述处理器执行根据权利要求16至20中任一项所述的方法。
23.一种用于数据处理装置的系统,包括:
用于接收包括至少一个特定数据元素的标识的查询的装置;
用于接收一种类型的沿袭的标识的装置;
用于接收标识哪些类型的节点和边缘与所标识的类型的沿袭有关的遍览计划的装置,
其中,该遍览计划包括:1)与一种类型的边缘相对应的至少一个标识符、2)与遍历该类型的边缘的方向相对应的至少一个标识符、以及3)与在遍历该边缘时要采取的动作相对应的至少一个指示符;
用于基于该遍览计划遍历节点和边缘的装置,其中,所述节点与存储器中存储的各数据结构的实例相对应,并且所述边缘与指向所述存储器中的各地址的各指针相对应,该地址与相应数据结构的实例相对应;以及
用于基于对这些节点和边缘的该遍历生成对所述查询的响应的装置,所述响应包括表示该特定数据元素的沿袭的数据。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201662428860P | 2016-12-01 | 2016-12-01 | |
US62/428,860 | 2016-12-01 | ||
PCT/US2017/064227 WO2018102691A1 (en) | 2016-12-01 | 2017-12-01 | Generating, accessing, and displaying lineage metadata |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110023925A CN110023925A (zh) | 2019-07-16 |
CN110023925B true CN110023925B (zh) | 2024-07-12 |
Family
ID=
Non-Patent Citations (1)
Title |
---|
XML Data Integration By Graph Restructuring;Lucas Zamboulis;《SPRINGER-VERLAG》;20040619;说明书第3.1、5节 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU2020203027B2 (en) | Generating, accessing, and displaying lineage metadata | |
US8756567B2 (en) | Profile based version comparison | |
US10846273B2 (en) | System and method for automatic inference of a cube schema from a tabular data for use in a multidimensional database environment | |
US20110313969A1 (en) | Updating historic data and real-time data in reports | |
US20110087708A1 (en) | Business object based operational reporting and analysis | |
KR20110091544A (ko) | 데이터 요소 사이의 관계를 시각화하는 방법 | |
US10445370B2 (en) | Compound indexes for graph databases | |
US20130346426A1 (en) | Tracking an ancestry of metadata | |
US20180357328A1 (en) | Functional equivalence of tuples and edges in graph databases | |
Chang et al. | SQL and NoSQL database comparison: from performance perspective in supporting semi-structured data | |
US20150007129A1 (en) | Script execution framework | |
CN110023925B (zh) | 生成、访问和显示沿袭元数据 | |
US11734243B2 (en) | Sparse mapping of hierarchical subset | |
US10311049B2 (en) | Pattern-based query result enhancement | |
US10417185B2 (en) | Gesture based semantic enrichment | |
US10606502B2 (en) | Data aging infrastructure for automatically determining aging temperature | |
US8775463B2 (en) | Detection and display of semantic errors in a reporting tool | |
CA2928029A1 (en) | Data processing system including a search engine | |
Viazilov et al. | Choosing a Data Model for the Digital Twin of Environment | |
US20240028250A1 (en) | Dynamic update of consolidated data based on granular data values | |
Mahmud | Towards a data generation tool for NoSQL data stores | |
Kumar | Graph data modeling for political communication on Twitter | |
Sveen | An Event-Based Pipeline for Geospatial Vector Data Management | |
US20120089593A1 (en) | Query optimization based on reporting specifications | |
CN115455035A (zh) | 数据查询模型构建方法和计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant |