数据沿袭概括的制作方法

文档序号:12071180阅读:280来源:国知局
数据沿袭概括的制作方法与工艺

本申请要求于2014年7月24日提交的序列号为62/028,485的美国申请以及于2015年2月11日提交的序列号为62/114,684的美国申请的优先权。

技术领域

本说明书涉及数据沿袭图中的概括。



背景技术:

在数据处理系统中,通常期望某些类型的用户访问在数据通过系统时的数据沿袭的视觉表示。这样的“数据沿袭图”可以包括系统中的数据和实体的图形表示,用于处理它们之间的数据和依赖关系。非常一般地,在多个用途中,这样的数据沿袭图可以用于降低风险、验证合规性要求、简化业务流程和保护数据。保证数据沿袭图的正确和完整很重要。

能够生成和显示数据沿袭图的一些系统能够自动地呈现端到端数据沿袭图,所述端到端数据沿袭图示出数据项和表示消耗或生成这些数据项的处理实体的项的表示。特定项上游的路径有时被称为该项的“依赖性(dependency)分析”,并且特定项下游的路径有时被称为该项的“影响(impact)分析”。如本文所使用的,“数据沿袭图”可以包括相对于任何给定项的上游依赖性分析和/或下游影响分析。能够生成和显示数据沿袭图的一些系统允许用户将数据沿袭图中的项的逻辑组和/或物理组折叠成单个元素。能够生成和显示数据沿袭图的一些系统能够利用诸如数据质量评分的丰富的数据信息来增强数据沿袭图。



技术实现要素:

在一个方面中,一般性地,一种用于在计算系统中管理沿袭信息的方法,包括:在输入设备或输入端口上接收有向图的标识,所述有向图的标识包括表示变换数据元素的计算的一个或多个数据变换节点和表示数据元素的一个或多个数据节点,并且包括表示计算和在计算的执行期间由计算接收或产生的数据元素之间的相应沿袭关系的有向链接;以及使用至少一个处理器基于所述有向图中的路径来计算概括信息,以及将所述概括信息存储在一个或多个概括对象中,所述计算包括:接收对所述有向图的多个节点的关注的指定;以及为未包括在关注的所述多个节点中的剩余节点生成一个或多个概括对象,所述一个或多个概括对象中的第一概括对象包括基于第一关注节点和第二关注节点之间的第一路径的概括信息,其包括所述剩余节点中的一个或多个并且不包括除了所述第一节点和所述第二节点之外的任何关注节点。

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

生成所述第一概括对象包括:遍历所述第一关注节点和所述第二关注节点之间的所述第一路径,以识别沿着所述第一路径未被指定为关注的一个或多个剩余节点,以及为所识别的一个或多个剩余节点形成概括信息。

所述方法还包括:生成数据沿袭图作为所述有向图的至少部分的视觉表示,其中被指定为关注的每个节点由其自己的图标表示,并且根据存储在一个或多个概括对象中的概括信息由连接到多个关注节点的公共图标表示多个剩余节点。

所述方法还包括:接收指示用户期望查看与所述公共图标相关联的细节的用户输入,并且响应于所述用户输入,遍历由所述公共图标表示的所述多个剩余节点,并且基于对包括与所述概括信息相关联的所述多个剩余节点的有向图的路径的遍历来视觉表示所述数据沿袭图中的剩余节点。

所述方法还包括:接收所述一个或多个数据变换节点中的一个或所述一个或多个数据节点中的一个作为目标节点的指定,其中生成所述数据沿袭图包括:遍历通过所述有向图的一个或多个路径,所述一个或多个路径中的每个路径包括两个或更多个关注节点和所述目标节点。

对于通过所述有向图的一个或多个路径中的至少一些路径,遍历路径包括:从所述目标节点沿上游方向遍历该路径的第一部分并且从所述目标节点沿下游方向遍历该路径的第二部分。

遍历路径的第一部分包括:确定所述目标节点是否被标记为关注节点,以及如果所述目标节点被确定为关注节点,则从所述目标节点遍历与所述目标节点相关联的概括对象对应的链接到关注的第一上游节点,否则如果所述目标节点未被确定为关注节点,则遍历所述目标节点和所述关注的第一上游节点之间的所述有向图的原始路径,包括遍历一个或多个数据变换节点或未被指定为关注的数据节点。

遍历路径的第一部分还包括:遍历与关注的第一上游节点相关联的概括对象对应的链接从关注的第一上游节点到关注的第二上游节点。

遍历路径的第二部分包括:确定所述目标节点是否被标记为关注节点,以及如果确定所述目标节点是关注节点,则从所述目标节点遍历与所述目标节点相关联的概括对象对应的链接到关注的第一下游节点,否则如果所述目标节点未被确定为关注节点,则遍历所述目标节点和关注的第一下游节点之间的所述有向图的原始路径,包括遍历一个或多个数据变换节点或未被指定为关注的数据节点。

遍历路径的第二部分还包括:遍历与关注的第一下游节点相关联的概括对象对应的链接到关注的第二下游节点。

所述一个或多个概括对象包括两个或多个概括对象,生成所述沿袭图还包括:将所述两个或多个概括对象中的至少一些概括对象合并到由所述公共图标表示的概括节点。

将所述两个或更多个概括对象中的至少一些概括对象合并到所述概括节点包括:分析由所述两个或更多个概括对象中的至少一些概括对象链接的关注节点之间的关系,以确定是否能够合并所述两个或更多个概括对象中的至少一些概括对象。

分析关注节点之间的关系包括:确定所述两个或更多个概括对象中的至少一些概括对象与关注的公共下游节点相关联。

从用户接收对至少一些节点的关注的指定。

所述计算系统生成对至少一些节点的关注的指定。

所述计算系统基于至少一些节点相对于被指定为关注的其它节点的位置的位置,生成针对至少一些节点的关注的指定。

所述计算系统基于至少一些节点与被指定为关注的其它节点共享数据结构来生成对至少一些节点的关注的指定。

所述计算系统包括多个单独的互连子系统,所述有向图的部分分布在至少一些子系统之间。

至少一些子系统由所述公共图标表示。

在另一个方面中,一般性地,一种以非暂时形式存储在计算机可读介质上的软件,用于管理计算系统中的沿袭信息,所述软件包括用于使得计算系统执行以下操作的指令:在输入设备或输入端口上接收有向图的标识,所述有向图的标识包括表示变换数据元素的计算的一个或多个数据变换节点和表示数据元素的一个或多个数据节点,并且包括表示计算和在计算的执行期间由计算接收或产生的数据元素之间的相应沿袭关系的有向链接;以及使用至少一个处理器基于所述有向图中的路径来计算概括信息,以及将所述概括信息存储在一个或多个概括对象中,所述计算包括:接收对所述有向图的多个节点的关注的指定;以及为未包括在关注的所述多个节点中的剩余节点生成一个或多个概括对象,所述一个或多个概括对象中的第一概括对象包括基于第一关注节点和第二关注节点之间的第一路径的概括信息,其包括所述剩余节点中的一个或多个并且不包括除了所述第一节点和所述第二节点之外的任何关注节点。

在另一个方面中,一般性地,一种用于管理计算系统中的沿袭信息的计算系统,包括:输入设备或端口,用于接收有向图的标识,所述有向图的标识包括表示变换数据元素的计算的一个或多个数据变换节点和表示数据元素的一个或多个数据节点,并且包括表示计算和在计算的执行期间由计算接收或产生的数据元素之间的相应沿袭关系的有向链接;以及至少一个处理器,用于基于所述有向图中的路径来计算概括信息,以及将所述概括信息存储在一个或多个概括对象中,所述计算包括:接收对所述有向图的多个节点的关注的指定;以及为未包括在关注的所述多个节点中的剩余节点生成一个或多个概括对象,所述一个或多个概括对象中的第一概括对象包括基于第一关注节点和第二关注节点之间的第一路径的概括信息,其包括所述剩余节点中的一个或多个并且不包括除了所述第一节点和所述第二节点之外的任何关注节点。

在另一个方面中,一般性地,一种用于管理计算系统中的沿袭信息的计算系统,包括:用于接收有向图的标识的装置,所述有向图的标识包括表示变换数据元素的计算的一个或多个数据变换节点和表示数据元素的一个或多个数据节点,并且包括表示计算和在计算的执行期间由计算接收或产生的数据元素之间的相应沿袭关系的有向链接;以及用于使用至少一个处理器基于所述有向图中的路径来计算概括信息,以及将所述概括信息存储在一个或多个概括对象中的装置,所述计算包括:接收对所述有向图的多个节点的关注的指定;以及为未包括在关注的所述多个节点中的剩余节点生成一个或多个概括对象,所述一个或多个概括对象中的第一概括对象包括基于第一关注节点和第二关注节点之间的第一路径的概括信息,其包括所述剩余节点中的一个或多个并且不包括除了所述第一节点和所述第二节点之外的任何关注节点。

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

随着数据处理系统的复杂性增加,数据沿袭图也变得越来越复杂,在单个视图中呈现由相应图标表示的许多数据沿袭节点(例如,数据节点和数据变换节点)。随着在数据沿袭图中呈现给用户的数据节点的数量增加,数据沿袭图可能变得难以理解。

本文描述的方法利用在给定数据处理系统内特定数据节点通常被用户特别关注的现实情况。例如,用户特别关注的一种类型的数据节点可以是已知存储某种类型的信息(例如,个人可识别信息)的沿袭中的任何数据节点。

在本文描述的方法中,用户不关注并且彼此共享相关拓扑的数据沿袭节点的集合被折叠成由数据沿袭图中的单个图标表示的概括节点。数据沿袭图中未包括在概括节点中的其余节点对于用户是“高度关注的”(即,被指定为“关注”的节点,而不是未被指定为“关注”的节点)。结果得到概括的数据沿袭图,其仅示出已被指定为用户(或预期的受众)关注的细节,由概括数据沿袭图中的概括节点指示任何省略的细节。

在一个方面,一般来说,一种数据沿袭图生成系统被配置为概括其显示的数据沿袭图的部分。数据沿袭图是具有特定拓扑并存储在系统可访问的一个或多个数据结构中的对应“数据沿袭图”的屏幕表示。在系统接收到对数据沿袭图中的高度关注节点的指定之后,生成已经增强为以“概括对象”(以下更详细地描述)的形式存储概括信息的“增强数据沿袭图”。系统使用增强数据沿袭图来生成用于显示的概括数据沿袭图。由系统生成的概括数据沿袭图仅示出数据沿袭图的高度关注部分并且概括数据沿袭图的低度关注部分,从而降低数据沿袭图的复杂性。

除了其它优点,方法突出高度关注数据沿袭节点同时隐藏低度关注数据沿袭节点,从而提供更容易理解的数据沿袭图。这可能是特别有用的,例如,如果可能在数据沿袭图中显示的数据沿袭节点的数量如此大(例如,数千或数百万),则它们将在视觉上模糊相对少(例如,几十或几百)的实际被关注的数据沿袭节点的位置。因此,以考虑人类感知和信息接收的物理条件的方式来呈现所得到的概括沿袭图,以改善人类用户对可能关注的相关沿袭信息的感知。

由于所描述的方法在数据沿袭图中显示较少的数据沿袭节点,因此由所述方法产生的数据沿袭图计算并显示得比由先前方法生成的数据沿袭图更快。

从下面的描述和权利要求书中,本发明的其它特征和优点将变得显而易见。

附图说明

图1是包括数据沿袭模块的计算系统的框图。

图2是数据沿袭模块。

图3是概括链接计算方法的流程图。

图4是概括数据沿袭计算方法的流程图。

图5是第一示例性标记数据沿袭图。

图6是包括由概括链接计算方法生成的概括链接的第一示例性增强数据沿袭图。

图7是在应用图4的方法之后的第一示例性增强数据沿袭图。

图8示出了用于第一示例性增强数据沿袭图的概括节点生成的方法。

图9是第一示例性标记数据沿袭图的概括数据沿袭图。

图10是第二示例性标记数据沿袭图。

图11是包括由概括链接计算方法生成的概括链接的第二示例性增强数据沿袭图。

图12是在应用图4的方法之后的第二示例性增强数据沿袭图。

图13示出了用于第二示例性增强数据沿袭图的概括节点生成的方法。

图14是第二示例性标记数据沿袭图的概括数据沿袭图。

图15是在数据沿袭概括之前的示例性数据沿袭报告。

图16是图15的数据沿袭报告的概括版本。

图17是包括可扩展云图标的概括数据沿袭报告的一部分。

图18示出了在扩展一个云图标之后的图17的概括数据沿袭报告的一部分。

具体实施方式

图1示出了可以使用数据沿袭概括技术的计算系统100的示例。系统100包括数据源102,其可以包括一个或多个数据源(诸如存储设备或至在线数据流的连接),每个数据源可以存储或提供各种格式中的任何格式的数据(例如,数据库表、电子表格文件、纯文本文件或大型机使用的本机格式)。执行环境104包括数据处理系统112。执行环境104可以例如在数据处理系统112上托管,数据处理系统112包括在合适的操作系统(诸如某个版本的UNIX操作系统)的控制下的一个或多个通用计算机。例如,数据处理系统112可以包括多节点并行计算环境,包括使用多个中央处理单元(CPU)或处理器核心的计算机系统的配置,其为本地的(例如,诸如对称多处理(SMP)计算机等多处理器系统),或本地分布式的(例如,耦接为群集或大规模并行处理(MPP)系统的多个处理器),或远程的,或远程分布式的(例如,经由局域网(LAN)和/或广域网(WAN)耦接的多处理器),或其任何组合。

提供数据源102的存储设备可以位于执行环境104的本地,例如存储在连接到托管执行环境104(例如,硬盘驱动器108)的计算机的存储介质上,或者可以在执行环境104远程,例如,通过远程连接(例如,由云计算基础设施提供)托管在与托管执行环境104的计算机通信的远程系统(例如,主机110)上。

系统100包括开发环境118,其中开发者能够指定数据处理计算机程序117(例如,数据流图)并将该程序存储在可由执行环境104访问的数据存储系统116中。数据处理系统112根据计算机程序117处理来自数据源的数据以生成输出数据114。输出数据可以被存储回数据源102或数据存储系统116中,或以其它方式使用。在一些实现方式中,开发环境118是用于将应用程序开发为数据流图的系统,所述数据流图包括由顶点之间的有向链接(表示工作元素即数据的流)连接的顶点(表示数据处理组件或数据集)。例如,这样的环境更详细地描述于发明名称为“Managing Parameters for Graph-Based Applications(管理基于图的应用程序的参数)”的第2007/0011668号美国公开文本中,其通过引用并入本文。用于执行这种基于图的计算的系统描述于发明名称为“EXECUTING COMPUTATIONS EXPRESSED AS GRAPHS(执行表达为图的计算)”的美国专利5,966,072中,其通过引用并入本文。根据该系统制作的数据流图提供用于将信息输入和输出由图组件表示的各个进程、用于在进程之间移动信息以及用于定义进程的运行顺序的方法。该系统包括从任何可用方法选择进程间通信方法的算法(例如,根据图的链接的通信路径可以使用TCP/IP或UNIX域套接字,或使用共享存储器在进程之间传递数据)。

系统100包括企业环境119,用户121(例如,企业用户或数据架构师)可以通过企业环境119请求和查看数据沿袭图。为了生成数据沿袭图,企业环境119包括数据沿袭模块115,其能够分析系统元数据120,系统元数据120包括表征表示对应于计算机程序117的不同部分的计算的数据变换节点的元数据(例如,不同的数据流图或数据流图内的不同组件)以及表征由计算机程序117访问或生成的数据节点的元数据(例如,来自数据源102的数据集或对应于输出数据114的数据集),以生成数据沿袭图。在一些情况下,如果例如元数据不可用或不完整,则数据沿袭模块115还能够直接分析计算机程序117和存储的数据。在一些实现方式中,系统100包括用于这种元数据的单独的存储系统。

参考图2,数据沿袭模块115从用户121接收系统元数据120和一个或多个命令123作为输入,并且生成概括数据沿袭图122以呈现给用户121作为输出。数据沿袭模块115包括标记数据沿袭图计算模块124和数据沿袭概括模块126。数据沿袭概括模块126包括概括链接计算模块128和概括数据沿袭图计算模块130。

在操作中,由数据沿袭模块115接收的系统元数据120与来自用户121的命令123一起被提供给标记数据沿袭图计算模块124。来自用户121的命令123中的至少一些命令包括用于数据沿袭分析的目标数据节点的指示,以及在一些示例中,包括高度关注的一个或多个数据节点的指示。非常一般地,在本文的一些示例中使用的术语“数据节点”涉及数据集(例如,数据库)和/或数据集中的特定字段。在一些示例中,被标记为高度关注数据节点通常被企业系统119的多于一个用户关注,而被标记为目标数据节点的数据节点在给定时间被企业系统119的给定用户特别关注。

标记数据沿袭图计算模块124根据来自用户121的命令处理系统元数据120以生成标记数据沿袭图125。非常一般地,标记数据沿袭图125包括通过链接与一个或多个变换节点互连的一个或多个数据节点,链接表示节点之间的依赖关系。用户121指示为高度关注的目标数据节点或数据节点的数据节点在标记数据沿袭图125中(例如,用牛眼符号)被标记为高度关注。

标记数据沿袭图125被提供给数据沿袭概括模块126,其中它首先被提供给概括链接计算模块128。如下面更详细地描述的,概括链接计算模块128生成用户121已经标记为高度关注节点之间的多个概括链接。表征概括链接的信息存储在概括对象中。每个概括链接表示两个高度关注数据节点之间的数据依赖性的路径,但省略沿着该路径存在的低度关注的任何数据变换节点或数据节点。概括链接计算模块128通过将表征计算出的概括链接的概括对象存储在存储标记数据沿袭图125的数据结构内来生成增强数据沿袭图127作为输出。

增强数据沿袭图127被提供给概括数据沿袭图计算模块130。如下面更详细地描述的,概括链接计算模块130处理增强数据沿袭图127以生成概括数据沿袭图122。为此,概括数据沿袭图计算模块130将指示为低度关注的节点分组为“概括节点”(基于增强数据沿袭图127中的处理概括链接),同时在概括数据沿袭图122中全面详细地显示高度关注节点。所得到的概括数据沿袭图122从数据沿袭模块115传递出并提供给用户121。

参考图3,流程图300示出了图2的概括链接计算模块128生成增强数据沿袭图127所遵循的步骤。在第一步骤334中,接收标记数据沿袭图125。标记数据沿袭图125被提供给处理循环336,处理循环336对标记数据沿袭图125中被标记为高度关注每个数据节点进行操作。

在步骤338中,对于被标记为高度关注每个数据节点(指定为节点‘X’),其所有上游邻居(即,将数据馈送到高度关注数据节点的数据节点)被添加到数据节点列表的底部。然后在步骤340中,从列表移除数据节点列表顶部的数据节点并将其指定为数据节点‘Y’。在步骤342中,测试确定数据节点Y是否被标记为高度关注。如果数据节点Y未被标记为高度关注,则在步骤344中将所有数据节点Y的上游邻居添加到数据节点列表的底部。否则,如果数据节点Y被标记为高度关注,则在步骤346中存储数据节点Y和数据节点X之间的概括链接。如上所述,概括链接通过省略沿着路径的任何非高度关注节点(例如,数据节点和变换节点)来概括数据节点Y和数据节点X之间的数据依赖性的特定路径。

在步骤346中存储概括链接或在步骤344中添加数据节点Y的上游邻居之后,在步骤348中执行测试以确定数据节点列表是否为空。如果列表不为空,则过程循环回到步骤340,从数据节点列表的顶部移除下一数据节点,将新数据节点指定为‘Y’,并重复上述步骤。否则,如果数据节点列表为空,则该过程在350结束,并且用于生成增强数据沿袭图127的过程完成。

参考图4,流程图451示出了图2的概括数据沿袭图计算模块130用于生成概括数据沿袭图122所遵循的过程。在第一步骤452中,识别增强数据沿袭图127中的目标数据节点。然后将所识别的目标数据节点提供给处理循环454,在上游和下游两个方向上为每个所识别的目标数据节点执行处理循环454。非常一般地,处理循环454的每次迭代遍历(即,行走)从目标数据节点到增强数据沿袭图127的边缘处的数据节点的路径。遍历(或“行走”)节点之间的路径包括检查沿着路径的每个节点以识别沿着该路径的具有某些属性的任何节点。

在处理循环454内,在步骤456中执行测试以确定目标数据节点是否被标记为高度关注。如果数据节点被标记为高度关注,则算法在步骤458中行走连接到目标数据节点的概括链接至下一个数据节点。如果数据节点没有被标记为高度关注,则算法行走原始链接(即,非概括链接)至下一个数据节点。

在步骤462中,执行测试以确定算法是否已经到达其针对目标数据节点的行走终点。如果是,则在步骤464中存储与针对目标数据节点的行走相关联的链接,以供概括数据沿袭图生成步骤465稍后使用。如果算法尚未到达针对目标数据节点的行走终点,则该算法返回到步骤456,在步骤456中对于沿着从目标数据节点的当前行走的下一数据节点重复上述过程。如上所述,在从目标数据节点的上游方向和下游方向两个方向上重复上述过程。

在所有识别的目标数据节点被处理循环454处理之后,处理循环454的输出被提供给概括数据沿袭图生成步骤465。通常,概括数据沿袭图生成步骤将处理循环的输出中的概括链接折叠为概括节点以生成概括数据沿袭图122。在下面呈现的示例中更详细地描述将概括链接折叠成概括节点的过程。

在步骤466中,将由概括数据沿袭图生成步骤465生成的概括数据沿袭图122显示给用户121。

1示例1

参考图5,标记数据沿袭图500的一个示例包括多个数据节点D1-D8和多个数据变换节点T1-T6。数据节点和数据变换节点通过表示节点之间的数据依赖性的链接568互连。通常,链接568在数据沿着从页面的左侧到页面的右侧的方向上流动的意义上引导。在标记数据沿袭图500中,某些数据节点(即D2,D3,D4,D6和D8)被标记为高度关注,并且数据节点中的两个(即D3和D4)被标记为目标数据节点。目标数据节点D3和D4都位于容器570中。通常,容器是表示计算机程序中的系统或子系统的边界的结构。给定容器中的一些节点、全部节点或者没有节点对于用户121可能是高度关注的。

参考图3和图6,当标记数据沿袭图500被提供给图2的概括链接计算模块128时,如图3所示的过程应用于标记数据沿袭图以生成概括链接SA-SG。为了简洁起见,仅针对标记数据沿袭图500中的一个高度关注数据节点(即,D8)来描述图3的过程的应用。然而,应当理解,对于标记数据沿袭图500中的每个高度关注数据节点执行该过程。

对于高度关注数据节点D8,数据节点D8首先被指定为‘X’。在步骤338中,X的上游邻居D7和D5被添加到数据节点列表。在步骤340中,从列表中移除D7并将其指定为‘Y’。在步骤342中,执行测试以确定Y是否被标记为高度关注。测试返回答案“否”。由于测试返回“否”,所以过程进行到步骤344,在步骤344中将Y的上游邻居D3和D4添加到数据节点列表的底部。在步骤348中,执行测试以确定数据节点列表是否为空。测试返回答案“否”。

由于测试返回“否”,所以过程循环回到步骤340,在步骤340中从数据节点列表中移除D5并将其指定为‘Y’。在步骤342中,执行测试以确定Y是否被标记为高度关注。测试返回答案“否”。由于测试返回“否”,所以程序进行到步骤344,在步骤344中将Y的上游邻居D2添加到数据节点列表的底部。在步骤348中,执行测试以确定数据节点列表是否为空。测试返回答案“否”。

由于测试返回“否”,所以过程循环回到步骤340,其中从列表中移除D3并将其指定为‘Y’。在步骤342中,执行测试以确定Y是否被标记为高度关注。测试返回答案“是”。由于测试返回“是”,所以过程进行到步骤346,在步骤346中存储Y(D3)和X(D8)之间的概括链接(SD)。在步骤348中,执行测试以确定数据节点列表是否为空。测试返回答案“否”。

由于测试返回“否”,所以过程循环回到步骤340,在步骤340中从列表中移除D4并且将其指定为‘Y’。在步骤342中,执行测试以确定Y是否被标记为高度关注。测试返回答案“是”。由于测试返回“是”,因此过程进行到步骤346,在步骤346中存储Y(D4)和X(D8)之间的概括链接(SG)。在步骤348中,执行测试以确定数据节点列表是否为空。测试返回答案“否”。

由于测试返回“否”,所以过程循环回到步骤340,在步骤340中从列表中移除D2并将其指定为‘Y’。在步骤342中,执行测试以确定Y是否被标记为高度关注。测试返回答案“是”。由于测试返回“是”,因此过程进行到步骤346,其中存储Y(D2)和X(D8)之间的概括链接(SC)。在步骤348中,执行测试以确定数据节点列表是否为空。测试返回答案“是”。

在该列表为空时,过程已经结束计算针对D8数据节点的概括链接,其中D8的概括节点列表是:SD=D8→D3,SG=D8→D4,以及SC=D8→D2

概括链接计算模块128对于在标记数据沿袭图500中被标记为高度关注的所有数据节点执行上述概括链接计算过程。

参考图6,包括概括链接的增强数据沿袭图127示出了所得到的概括链接列表是SA=D4→D2,SB=D4→D2,SC=D8→D2,SD=D8→D3,SE=D6→D3,SF=D6→D4,以及SG=D8→D4

现在参考图4和图7,增强数据沿袭图127被提供给应用图4所示过程的图2的概括数据沿袭图计算模块130,以生成概括数据沿袭图122。最初,在该过程的步骤452中,增强数据沿袭图127中的目标数据节点被识别为数据节点D3和D4。对于D3和D4中的每一个,在上游和下游两个方向上,执行图4的步骤454中的过程。为了简洁起见,仅针对增强数据沿袭图127中的一个目标数据节点(即,D4)来描述图4的过程的应用。然而,应当理解,在上游和下游两个方向上针对增强数据沿袭图127中的每个目标数据节点执行该过程。

对于目标数据节点D4,在步骤456中执行测试以确定D4是否被标记为高度关注。因为D4被标记为高度关注,所以测试返回答案“是”。由于D4被标记为高度关注,所以过程进行到步骤458,在步骤458中“行走”连接到D4(即,SA,SB,SF,SG)的每个概括链接。特别地,在下游方向上,存在两个概括链接SF和SG。在步骤458中,行走概括链接SF至数据节点D6。在步骤462中,执行测试以确定D6是否在增强数据沿袭图127的边缘(即,行走的终点)。由于D6在边缘,测试返回“是”的答案。由于测试返回了“是”的回答,所以在步骤464中存储行走过的链接以用于稍后的概括沿袭生成步骤465。类似地,在步骤458中,行走概括链接SG至数据节点D8。在步骤462中,执行测试以确定D8是否在增强数据沿袭图127的边缘。由于D8在边缘,测试返回“是”的答案。由于测试返回“是”的回答,因此在步骤464中存储行走过的链接以用于稍后的概述沿袭生成步骤465。

在上游方向上,存在两个概括链接SA和SB。在步骤458中,行走概括链接SA至数据节点D2。在步骤462中,执行测试以确定D2是否在增强数据沿袭图127的边缘(即,行走的终点)。由于D2在边缘,测试返回“是”的答案。由于测试返回“是”的回答,所以在步骤464中存储行走过的链接以用于稍后的概括沿袭生成步骤465。类似地,在步骤458中,行走概括链接SB至数据节点D2。在步骤462中,执行测试以确定D2是否在增强数据沿袭图127的边缘。由于D2在边缘,测试返回“是”的回答。由于测试返回了“是”的回答,因此在步骤464中存储行走过的链接以用于稍后的概括数据沿袭图生成步骤465。

对于目标数据节点D3重复图4的过程,导致行走从D3到D6的概括链接SE,并且行走从D3到D8的SD的概括链接。行走过的链接被存储以供概括沿袭生成步骤465稍后使用。参考图7,增强数据沿袭图127以粗虚线示出了通过图4的过程行走的概括链接。

步骤464为目标数据节点D3和D4存储的行走过的概括链接被提供给步骤465,步骤465从存储的概括链接生成概括节点。将概括节点提供给数据沿袭显示步骤466,其向用户显示概括数据沿袭图122。

参考图8,概括数据沿袭图生成步骤465接收图4的过程循环454的输出。过程循环454的输出包括来自标记数据沿袭图的高度关注数据节点,目标数据节点D3和D4,以及由图4的步骤464存储的链接(在本例中恰好都是概括链接)。在一些示例中,对于每个概括链接,概括数据沿袭图生成步骤465使用相同的标签(例如,概括链接的名称)标记链接的每一端(即,最右端和最左端)。在该示例中,概括链接SA的最右端标记为SA并且最左端标记为SA。以相同的方式标记概括链接SB、SD、SE、SF和SG

对于每个高度关注数据节点,识别最右端连接到高度关注数据节点的任何概括链接。如果多于一个概括链接的最右端连接到高度关注数据节点,则连接到高度关注数据节点的每个概括链接的最右端的相应标签被替换为概括节点标签。例如,概括链接SA和SB的最右端连接到高度关注数据节点D4。概括链接SA和SB的最右端的标签都替换为概括节点标签‘X’。类似地,概括链接SE和SF的最右端的标签替换为概括节点标签‘Y’,并且概括链接SD和SG的最右端的标签替换为概括节点标签‘Z’。

对于每个高度关注数据节点,识别其最左端连接到高度关注数据节点的任何概括链接。对于具有对于其最右端具有相同的概括节点标签的两个或更多个所识别的概括链接的任何集合,概括链接的最左端的标签被替换为该概括链接的最右端的概括节点标签。例如,概括链接SA和概括链接SB的最左端连接到高度关注数据节点D2。用于SA和SB两者的最右端的标签都分配有概括节点标签‘X’(如上所述)。当识别出这种情况时,概括数据沿袭图生成步骤465将概括链接SA和概括链接SB的最左端的标签替换为概括节点标签‘X’。

参考图8和图9,对于每个唯一概括节点标签,概括数据沿袭图生成步骤465生成对应于标签的概括节点。对于最右端具有给定概括节点标签的任何概括链接,概括链接的最右端被折叠成从概括节点延伸到适当的高度关注数据节点的单个输出链接。

例如,概括链接SA和概括链接SB两者的最右端标记有概括节点标签‘X’。在图9中,生成具有从概括节点X 972延伸到高度关注数据节点D4的单个输出链接的概括节点X 972。单个输出链接表示概括链接SA的最右端和概括链接SB的最右端的组合。类似地,在图9中,利用延伸到高度关注数据节点D6的单个输出链接来生成概括节点Y 974。概括节点Y 974和高度关注数据节点D6之间的单个输出链接表示概括链接SE的最右端和概括链接SF的最右端的组合。此外,在图9中,利用延伸到高度关注数据节点D8的单个输出链接来生成概括节点Z976。概括节点Z 976和高度关注数据节点D8之间的单个输出链接表示概括链接SD的最右端和概括链接SG的最右端的组合。

对于具有给定概括节点标签的最左端的任何概括链接,概括链接的最左端被折叠为从适当的高度关注数据节点延伸到概括节点中的单个输入链接。例如,在图8中,概括链接SA的最左端和概括链接SB的最左端都标记为概括节点标签‘X’。在图9中,单个输入链接从高度关注数据节点D2延伸到概括节点X 972中。单个输入链接表示概括链接SA的最左端和概括链接SB的最左端的组合。

最后,对于最左端具有其最初的概括链接标签的每个概括链接,在连接到概括链接的最左端的数据节点和数据节点下游的下一个组件之间生成链接,无论所述数据节点是高度关注数据节点或概括节点。

从图9可以看出,所得到的概括数据沿袭图122隐藏概括节点972、974、976中的低度关注数据节点和数据变换节点,同时保留高度关注数据节点和目标数据节点的数据沿袭的总体概括。注意,在图9中,容器570被示出处于展开状态。在一些示例中,当向用户121显示概括数据沿袭图122时,包括目标节点的任何容器被示为处于展开状态,而不包括目标节点的任何容器被示为处于折叠状态。

2实施例2

在一些示例中,如果标记数据沿袭图中的目标数据节点没有被标记为高度关注,则目标数据节点连同目标数据节点和任何相邻的高度关注数据节点之间的原始链接被排除在概括之外。例如,参考图10,标记数据沿袭图1000的第二示例包括相同的数据节点D1-D8、数据变换节点T1-T6和链接1168,作为图5的标记数据沿袭图500。图10的标记数据沿袭图1000与图5的标记数据沿袭图500的不同之处在于,数据节点D3在图10中未被标记为高度关注数据节点并且图10的标记数据沿袭图将数据节点D7标记为目标数据节点,而不是如图5的标记数据沿袭图500那样将数据节点D3和D4标记为目标数据节点。注意,数据节点D7虽然被标记为目标数据节点,但未被标记为高度关注数据节点。高度关注数据节点D4位于容器1070中。

参考图11,当将标记数据沿袭图1000提供给图2的概括链接计算模块128时,将图3所示的过程应用于标记数据沿袭图以生成概括链接SA-SE。为了简洁起见,对于该第二示例省略了对于标记数据沿袭图1000的概括链接生成的详细描述。

现在参考图4和图12,增强数据沿袭图1127被提供给图2的概括数据沿袭图计算模块130,概括数据沿袭图计算模块130应用图4所示的过程以生成概括数据沿袭图122。最初,在该过程的步骤452中,将增强数据沿袭图1127中的目标数据节点识别为数据节点D7。对于自D7的上游和下游两个方向,在增强数据沿袭图1127上执行图4的过程454。

首先,在步骤456中,执行测试以确定D7是否被标记为高度关注。因为D7未被标记为高度关注,测试返回“否”的答案。由于D7没有被标记为高度关注,因此过程进行到步骤460,其中行走连接到D7的每个原始链接。特别地,在下游方向上存在单个链接要行走(即,从数据节点D7经由变换节点T6到数据节点D8)。行走从D7到D8的链接,并且在步骤462中,执行测试以确定D8是否在增强数据沿袭图形1127的边缘(即,行走的终点)。因为D8在边缘,测试返回“是”的答案。由于测试返回了“是”的回答,所以在步骤464中存储包括变换节点T6的行走过的原始链接,以用于稍后的概括沿袭生成步骤465。

在上游方向上,存在三个要行走的链接(即,从数据节点D7到数据节点D1的第一链接,从数据节点D7到数据节点D2经由数据变换节点T2的第二链接,以及从数据节点D7经由数据变换T3到数据节点D2的第三链接)。过程454首先行走第一链接。由于D7没有被标记为高度关注,因此过程进行到步骤460并且沿原始链接行走到数据节点D3。在步骤462中,执行测试以确定数据节点D3是否是当前行走的终点。该测试返回“否”的答案,并且过程循环回到步骤456,步骤456执行确定数据节点D3是否被标记为高度关注的步骤。该测试返回“否”的答案,并且过程进行到步骤460,步骤460沿原始链接从数据节点D3经由数据变换节点T1行走到数据节点D1。在步骤462中,执行测试以确定数据节点D1是否在增强数据沿袭图1127的边缘。由于D1在边缘,测试返回“是”的答案。由于测试返回“是”的回答,所以在步骤464中存储包括变换节点T5和T1的行走过的原始链接,以用于稍后的概括沿袭生成步骤465。

然后过程454行走第二链接。因为D7未被标记为高度关注,所以过程454进行到步骤460,并且在步骤460中经由数据变换节点T5沿原始链接从数据节点D7行走到数据节点D4。在步骤462中,执行测试以确定数据节点D4是否是当前行走的终点。测试返回“否”,并且过程循环回到步骤456,在步骤456中执行测试以确定数据节点D4是否被标记为高度关注数据节点。测试返回“是”,并且过程进行到步骤458,其中行走概括链接SA至数据节点D2。在步骤462中,执行测试以确定数据节点D2是否在增强数据沿袭图1127的边缘。由于D2在边缘,测试返回“是”。由于测试返回“是”的回答,所以在步骤464中存储包括从D7到D4(包括数据变换节点T5)的原始链接和概括链接SA的行走过的链接,以用于稍后的概括沿袭生成步骤465。

最后,过程454行走第三链接。由于D7未被标记为关注,因此过程454进行到步骤460,并且在步骤460经由数据变换节点T5沿原始链接从数据节点D7行走到数据节点D4。在步骤462中,执行测试以确定数据节点D4是否是当前行走的终点。测试返回“否”,并且过程循环回到步骤456,其中执行测试以确定数据节点D4是否被标记为高度关注数据节点。测试返回“是”,并且过程进行到步骤458,其中行走概括链接SB至数据节点D2。在步骤462中,执行测试以确定数据节点D2是否在增强数据沿袭图127的边缘。由于D2在边缘,测试返回“是”。由于测试返回“是”的回答,所以在步骤464中存储包括从D7到D4(包括数据变换节点T5)的原始链接和概括链接SB的行走过的链接,以用于稍后的概括沿袭生成步骤465。

为目标数据节点D7由步骤464存储的行走过的链接被提供给步骤465,步骤465从存储的概括链接生成概括节点。步骤465然后将所生成的概括节点与由步骤464存储的原始链接进行集成以生成概括数据沿袭图122。将概括数据沿袭图122提供给数据沿袭显示步骤466,数据沿袭显示步骤466将概括数据沿袭图122显示给用户。

参考图13,概括数据沿袭图生成步骤465接收图4的过程循环454的输出。过程循环454的输出包括来自标记数据沿袭图的高度关注数据节点、目标数据节点D7以及由图4的步骤464存储的链接(概括链接和原始链接)。与前面的示例中的情况一样,对于每个概括链接,概括数据沿袭图生成步骤465使用相同的标签(例如,概括链接的名称)来标记链接的每一端(即,最右端和最左端)。在该示例中,概括链接SA具有标记为SA的其最右端和标记为SA的其最左端。类似地,概括链接SB具有标记为SB的其最右端和标记为SB的其最左端。注意,虽然D1、T1和T3是由步骤464存储的行走过的链接的一部分,但是它们不包括在图13的图中,因为D1、T1和T3都不位于两个高度关注数据节点之间的路径上。

对于每个高度关注数据节点,标识其最右端连接到高度关注数据节点的任何概括链接。如果多于一个概括链接的最右端连接到高度关注数据节点,则连接到高度关注数据节点的每个概括链接的最右端用概括节点标签替换它们各自的标签。例如,概括链接SA和SB的最右端连接到高度关注数据节点D4。概括链接SA和SB的最右端的标签都用概括节点标签‘X’替换。

对于每个高度关注数据节点,识别其最左端连接到高度关注数据节点的任何概括链接。对于其最右端具有相同概括节点标签的两个或更多个所识别的概括链接的任何集合,概括链接的最左端的标签被替换为概括链接的最右端的概括节点标签。例如,概括链接SA和概括链接SB使其最左端连接到高度关注数据节点D2。用于SA和SB的最右端的标签都分配有概括节点标签“X”(如上所述)。当识别出这种情况时,概括数据沿袭图生成步骤465将概括链接SA和概括链接SB的最左端的标签替换为概括节点标签‘X’。

参考图13和图14,对于每个唯一概括节点标签,概括数据沿袭图生成步骤465生成对应于该标签的概括节点。对于最右端具有给定概括节点标签的任何概括链接,概括链接的最右端折叠成从概括节点延伸到适当的高度关注数据节点的单个输出链接。

例如,概括链接SA和概括链接SB两者的最右端标记都具有概括节点标签‘X’。在图14中,利用从概括节点X 1472延伸到高度关注数据节点D4的单个输出链接来生成概括节点X 1472。单个输出链接表示概括链接SA的最右端和概括链接SB的最右端的组合。

对于具有给定概括节点标签的最左端的任何概括链接,概括链接的最左端折叠成从适当的高度关注数据节点延伸到概括节点中的单个输入链接。例如,在图13中,概括链接SA的最左端和概括链接SB的最左端都用概括节点标签‘X’标记。在图14中,单个输入链接从高度关注数据节点D2延伸到概括节点X 1472中。单输入链接表示概括链接SA的最左端和概括链接SB的最左端的组合。

任何原始链接,例如数据节点D7和数据节点D8之间经由数据变换节点T6的链接,以及数据节点D7和数据节点D4之间经由数据变换节点T5的链接,以来自标记数据沿袭图1000的原始形式被包括在其中。

从图14可以看出,所得到的概括数据沿袭图122将低度关注数据节点和低度关注数据变换节点隐藏在X概括节点1472中,同时保留高度关注数据节点和目标数据节点的数据沿袭的总体概括。注意,在图14中,容器1070被示出为处于展开状态。在一些示例中,当将概括数据沿袭图122显示给用户121时,容器1070可以被示为折叠状态,因为它不包括任何目标数据节点。

3示例3

虽然上述示例对于说明沿袭概括机制是有用的,但重要的是要注意,在现实世界的实现中,沿袭概括方法所操作的数据流图比示例中所示的数据流图更大、更复杂。

例如,参考图15,用于示例性数据流图的数据沿袭报告1500包括多个容器对象1502,其中一些容器对象是嵌套的。每个容器对象包括一个或多个数据流图表组件1504。复杂的数据流网1506互连数据流图表组件1504。由于大量的数据流图组件1504以及互连组件1504的数据流1506的复杂性,示例性数据沿袭报告1500是数据沿袭概括的理想候选。

参考图16,概括数据沿袭报告1600是对图15的数据沿袭报告1500执行数据沿袭概括的结果。概括数据沿袭报告1600包括多个云图标1608,其以符号表示概括数据流图组件、数据流和容器对象。从图中清晰可见,概括数据沿袭报告1600包括更少的数据流图组件和更少的数据流,导致简化和更容易理解的数据沿袭报告。

参考图17,概括数据沿袭报告1700的另一示例的一部分的详细视图示出了云图标1608的更近的视图,包括第一云图标1710。特别地,每个云图标1608被示为包括具有文本“...”并包括“+”符号的超链接。点击给定云图标1608的这些中的任一个导致云图标1608的展开,展现由给定云图标表示的数据流图组件、数据流和容器对象。例如,参考图18,当用户点击“+”符号以展开第一云图标1710时,第一云图标1710被展开,示出由第一云图标1710概括的所有容器对象、数据流图表组件和数据流。注意,先前由第一云图标1710概括的每个组件包括云图标1712的较小版本,指示数据流图组件先前由云图标(即,第一云图标1710)概括。

在一些示例中,概括数据沿袭可以与沿袭清晰化机制的一种或多种其它形式一起包括在沿袭图内。例如,沿袭图可以包括交互式清晰化机制,其动态地响应于用户输入以折叠所呈现的沿袭图包括用户不关注的节点的部分。再次参考图17,除了展开(和折叠)由云图标1608表示的概括部分的能力之外,用户还能够利用由“-”符号1714表示的用户界面元素折叠容器对象1502以及嵌套在其中的数据集节点(例如数据集节点1716),并且展开折叠部分(如在美国申请序列号12/629,466中更详细描述的,其公开号为US2010/0138431,发明名称为“VISUALIZING RELATIONSHIPS BETWEEN DATA ELEMENTS AND GRAPHICAL REPRESENTATIONS OF DATA ELEMENT ATTRIBUTES(数据元素和数据元素属性的图形表示之间的可视化关系)”,通过引用并入本文)。可以包括的清晰化机制的另一个示例是过滤功能,其基于与节点相关联的标签值来增加或排除沿袭图中的节点(如发明名称为“FILTERING DATA LINEAGE DIAGRAMS(过滤数据沿袭图)”的美国申请序列号62/114,684中更详细描述的,通过引用并入本文)。通过组合这三种机制中的任何两种,或甚至组合所有这三种机制,清晰化所得沿袭图的能力大大增加,因为这些机制可以互补并提供协同的灵活性,允许用户以细粒度控制呈现数据沿袭图的什么部分。

可以同时使用不同的清晰化机制,并且每个机制使得用户能够明确控制该特定机制是否应用于沿袭的特定部分。例如,在沿袭图的左侧,用户可以展开其中包含云对象的容器对象,用户可以展开也可以不展开该容器对象,并且在右侧,用户可以展开其中包含容器对象的云对象,用户可以展开也可以不展开该云对象。这种细粒度控制可以递归地应用于沿袭图的不同部分,其中系统基于用户的交互来动态地呈现更新的沿袭图。通过限制仅应用于沿袭图的选定部分的过滤,也可以在细粒度水平上控制过滤。此外,也可以包括除了这三个示例之外的清晰化机制用于更进一步的控制。例如,在用户控制下,沿袭图的呈现可以被选择为仅限于最大半径(根据来自目标节点的跳跃)或者一次呈现连续跳跃。

4元数据联合

在一些示例中,上述沿袭概括方法可以用于简化联合元数据的呈现。例如,某些组织具有用于维护元数据的多个单独存储库。中央储存库用于管理分布在各个储存库中的至少一些元数据。在一些示例中,单个储存库之一被指定为中央储存库。在其它示例中,将单独的实体指定为中央储存库。

一般来说,中央储存库管理公司资产(例如,公司术语表或其它公司资产),并根据需要在各个储存库中分配公司资产。通过在中央存储库管理公司资产,在整个组织中保持公司资产的一致性,包括公司术语。

某些高级用户可以使用中央储存库获得高级数据沿袭图,高级数据沿袭图包括组合成单个数据沿袭图的各个储存库的所有元数据沿袭。为了生成这样的高级数据沿袭图,中央储存库从多个单独储存库检索元数据并组合检索到的元数据。

上述数据沿袭概括方法可以用于将单独存储库的部分或整个单独存储库分组成概括节点,指示被分组的部分对于用户来说是低度关注的。在一些示例中,直到用户展开该组的概括节点,指示对单独的储存库的沿袭的关注,才从单独的储存库检索分组部分的元数据沿袭。

5替代方案

在一些示例中,标记数据沿袭图中的所有节点最初被标记为低度关注的。然后,用户选择性地(例如,通过用户界面或以编程方式)将某些数据节点指定为高度关注的。在一些示例中,方法基于数据沿袭中的节点与其它节点之间的关系,自动将数据沿袭中的节点标记为高度关注。例如,如果节点与高度关注的节点在相同的数据集中,则该节点也可以被标记为高度关注。在一些示例中,由于某些节点相对于数据沿袭中的高度关注节点的相对位置,所以可以将其标记为高度关注。例如,与高度关注的节点相邻的某些节点也可以被标记为高度关注。

在一些示例中,用户将每个数据节点分类为两个类别之一:“详细”(即,仅在数据沿袭图的详细视图中显示的低度关注节点)或“概括”(即,在数据沿袭图的详细视图和概括视图中均显示的高度关注节点)。在一些示例中,确定节点是低度关注还是高度关注的类别基于表征节点表示的项目的性质的类别,诸如“系统架构”或“监管”。

在一些示例中,为了识别拓扑内的低度关注数据节点的集合,不管数据节点之间具有任何层次,数据节点都被折叠。实现要求每个输出数据集具有单个低度关注节点集的规则。在一些示例中,集合可以包括重复元素。在一些示例中,概括节点与单个输出数据节点相关联的物理/逻辑组相关联。在其它示例中,如果没有与输出节点的物理/逻辑组相关联的低度关注节点,则概括节点与包含最低度关注数据节点的物理/逻辑组相关联。

在一些示例中,概括节点通过云图标在数据沿袭图中表示。在其它示例中,使用其它类型的概括节点图标。在一些示例中,概括节点显示很少或没有关于其内容的信息。在其它示例中,概括节点显示关于其内容的有限量的信息(例如,其中包括的节点的数量,其中包括的系统的数量,等等)。在一些示例中,用户可以点击概括节点中的链接以显示沿袭的概括部分的信息气泡。然后,用户可以展开每个概括部分以查看有关概括节点的展开的详细信息。在一些示例中,当用户展开数据沿袭图的概括部分时,行走由概括链接概括并与数据沿袭图的概述部分相关联的原始链接,以确定用于数据沿袭图的概括部分的数据沿袭图。然后向用户显示概括部分的数据沿袭图。然后,用户可以点击展开的详细信息以还原到概括的沿袭。也就是说,允许用户向下钻取细节(即,展开概括节点)并且在每个概括节点的基础上重新折叠。以这种方式,如果用户选择这样做,则用户可以导航到特定细节。

6实现方式

上述数据沿袭概括方法可以例如使用执行合适的软件指令的可编程计算系统来实现,或者可以在诸如现场可编程门阵列(FPGA)或一些混合形式的合适的硬件中实现。例如,在编程方法中,软件可以包括在一个或多个编程或可编程计算系统(其可以是诸如分布式、客户端/服务器或网格的各种架构)上执行的一个或多个计算机程序中的过程,每个计算系统包括至少一个处理器,至少一个数据存储系统(包括易失性和/或非易失性存储器和/或存储元件),至少一个用户界面(用于使用至少一个输入设备或端口接收输入,并且用于使用至少一个输出设备或端口提供输出)。软件可以包括例如提供与数据流图的设计、配置和执行相关的服务的更大程序的一个或多个模块。程序的模块(例如,数据流图的元素)可以被实现为符合存储在数据仓库中的数据模型的数据结构或其他有组织的数据。

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

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

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1