管理沿袭信息的制作方法

文档序号:12512646阅读:223来源:国知局
管理沿袭信息的制作方法与工艺

本申请要求于2014年7月18日提交的序列号为62/026,228的美国申请的优先权。

技术领域

本说明书涉及管理参数集。



背景技术:

在数据处理系统中,通常期望某些类型的用户在通过所述系统时访问数据沿袭的报告。一般来说,在许多用途中,这种“数据沿袭”报告可用于降低风险、验证合规性要求、简化业务流程和保护数据。保证数据沿袭报告的正确和完整很重要。



技术实现要素:

在一个方面,一般来说,管理参数值集合,反映使用那些参数值集合进行实例化的通用计算机程序的实例之间的关系的沿袭信息使得能够生成更准确和完整的数据沿袭报告。

在另一方面,一般来说,一种用于管理沿袭信息的方法包括:接收表示两个或更多个数据处理程序和两个或更多个逻辑数据集之间的一个或多个沿袭关系的沿袭信息;接收一个或多个运行时间工件(artifact),每个运行时间工件包括与所述两个或更多个数据处理程序中的一数据处理程序的先前执行相关的信息;以及分析所述一个或多个运行时间工件和所述沿袭信息以确定对所述沿袭信息的一个或多个候选修改。

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

所述一个或多个候选修改包括:在所述两个或更多个数据处理程序中的一数据处理程序与所述两个或更多个逻辑数据集中的一逻辑数据集之间添加新的间接沿袭关系的候选修改。

所述一个或多个候选修改包括:在所述两个或更多个数据处理程序中的一数据处理程序与所述两个或更多个逻辑数据集中的一逻辑数据集之间添加新的直接沿袭关系的第一候选修改。

分析所述运行时间工件和所述沿袭信息包括:分析所述两个或更多个数据处理程序的先前执行的日志,以确定从所述两个或更多个数据处理程序读取或写入的物理数据集。

分析所述运行时间工件和所述沿袭信息还包括:识别在所述沿袭信息中表示的并且与同一物理数据集相关联的所述两个或更多个逻辑数据集中的两个不同的逻辑数据集。

所述第一候选修改包括:在所述两个不同的逻辑数据集之间创建新的沿袭关系。

所述第一候选修改包括:创建所述新沿袭关系包括将所述两个不同的逻辑数据集合并成新的组合的逻辑数据集。

所述两个或更多个数据处理程序中的每个数据处理程序是根据一组一个或多个参数值实例化的通用数据处理程序的实例。

分析所述一个或多个运行时间工件和所述沿袭信息包括:分析所述两个或更多个数据处理程序中的第一数据处理程序的先前执行的一个或多个日志,以根据第一组一个或多个参数值确定在所述第一数据处理程序的第一实例化中使用的第一参数集,从所述第一参数集中选择至少一些参数,以及基于所述第一数据处理程序的通用版本和所述至少一些参数,确定所述第一数据处理程序的所述第一实例化没有表示在所述沿袭信息中。

从所述第一参数集中选择至少一些参数包括:基于从用户接收的信息来选择参数。

从所述第一参数集中选择至少一些参数包括:基于一个或多个预定义规则来选择参数。

所述一个或多个预定义规则中的第一规则指定从所选择的参数中排除具有日期形式的参数值的参数。

所述一个或多个预定义规则中的第一规则指定在所选择的参数中包括具有在通用数据处理程序的逻辑中变换的参数值的参数。

对所述沿袭信息的所述一个或多个候选修改包括:第一候选修改,其在所述两个或更多个数据处理程序中的第一数据处理程序与所述两个或更多个逻辑数据集中的一逻辑数据集之间添加新的沿袭关系。

在另一方面中,一般来说,一种用于管理沿袭信息的软件,以非暂时形式存储在计算机可读介质上,所述软件包括指令用于使计算系统:接收表示两个或更多个数据处理程序和两个或更多个逻辑数据集之间的一个或多个沿袭关系的沿袭信息;接收一个或多个运行时间工件,每个运行时间工件包括与所述两个或更多个数据处理程序中的一数据处理程序的先前执行相关的信息;以及分析所述一个或多个运行时间工件和所述沿袭信息以确定对所述沿袭信息的一个或多个候选修改。

在另一方面中,一般来说,一种用于管理沿袭信息的计算系统,所述计算系统包括:输入设备或端口,被配置为接收表示两个或更多个数据处理程序和两个或更多个逻辑数据集以及一个或多个运行时间工件之间的一个或多个沿袭关系的沿袭信息,每个运行时间工件包括与所述两个或更多个数据处理程序中的一数据处理程序的先前执行相关的信息;以及至少一个处理器,其被配置为分析所述一个或多个运行时间工件和所述沿袭信息以确定对所述沿袭信息的一个或多个候选修改。

在另一方面中,一般来说,一种用于管理沿袭信息的计算系统,所述计算系统包括:用于接收表示两个或更多个数据处理程序和两个或更多个逻辑数据集和一个或多个运行时间工件之间的一个或多个沿袭关系的沿袭信息的装置,每个运行时间工件包括与所述两个或更多个数据处理程序中的一数据处理程序的先前执行相关的信息;以及用于分析所述一个或多个运行时间工件和所述沿袭信息以确定对所述沿袭信息的一个或多个候选修改的装置。

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

通过使用本文描述的方法发现参数集并使用发现的参数集来扩充现有参数集,使用现有参数集的扩充集合生成的数据沿袭报告更准确地表示数据处理系统的真实数据沿袭。特别地,数据处理系统的数据沿袭的先前会被忽略的部分被包括在数据沿袭报告中。

在一些示例中,参数集发现方法的结果还可以用于扩充计算机程序的实例的执行的日志条目(即,用关于所发现的参数集的信息来扩充日志条目)。扩充的日志条目可以有利地用于验证计算机程序和/或数据集之间的对应于物理连接的逻辑连接。此验证的结果确保呈现给用户的数据沿袭显示计算机程序及其输入和输出之间的正确的沿袭关系。

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

附图说明

图1是用于发现参数集的系统的框图。

图2是包括子图及其相关联的参数集的数据流图。

图3是图2的数据流图的运行时间配置。

图4是图2的数据流图的静态分析配置。

图5是用于发现参数集的方法的流程图。

图6是用于发现参数集的方法的示例性操作的前半部分。

图7是用于发现参数集的方法的示例性操作的后半部分。

图8是包括第一子图和第二子图的示例数据流图。

图9示出了图8的数据流图,其逻辑数据集解析为物理数据集。

图10示出了用于图8的数据流图的数据沿袭报告。

图11是包括第一子图和第二子图并且具有重复的逻辑数据集的示例数据流图。

图12示出了图11的示例数据流图,其逻辑数据集解析为物理数据集。

图13示出了用于图11的数据流图的包括数据沿袭中断的数据沿袭报告。

图14示出了用于缓解数据沿袭报告中的数据沿袭中断的影响的第一技术。

图15示出了用于缓解数据沿袭报告中数据沿袭中断的影响的第二技术。

图16示出了用于缓解数据沿袭报告中的数据沿袭中断的影响的第三技术。

图17示出了用于缓解数据沿袭报告中的数据沿袭中断的影响的第四技术。

图18示出了用于缓解数据沿袭报告中的数据沿袭中断的影响的第五技术。

图19示出了用于缓解数据沿袭报告中的数据沿袭中断的影响的第六技术。

具体实施方式

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

执行环境104包括参数解析模块106和执行模块112。例如,执行环境104可以在合适的操作系统的控制下驻留在一个或多个通用计算机上,所述合适的操作系统诸如某个版本的UNIX操作系统。例如,执行环境104可以包括多节点并行计算环境,包括使用多个中央处理单元(CPU)或处理器核心的计算机系统的配置,其为本地的(例如,诸如对称多处理(SMP)计算机等多处理器系统),或本地分布式的(例如,耦接为群集或大规模并行处理(MPP)系统的多个处理器),或远程的,或远程分布式的(例如,经由局域网(LAN)和/或广域网(WAN)或其任何组合耦接的多处理器)。

参数解析模块106从数据存储系统116接收数据流图117的规范,并解析数据流图117的参数(如下面更详细描述的),以准备数据流图117以供执行模块112执行。执行模块112从参数解析模块106接收准备好的数据流图117,并使用准备好的数据流图117来处理来自数据源102的数据并生成输出数据114。输出数据114可以存储回数据源102或可由执行环境104访问的数据存储系统116中,或以其他方式使用。一般来说,数据源102可以包括一个或多个数据源,例如存储设备或到在线数据流的连接,每个数据源可以存储或提供各种格式中的任何格式的数据(例如,数据库表、电子表格文件、纯文本文件或大型机使用的本机格式)。

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

系统100还包括企业用户121(例如,数据架构师或业务用户)可访问的元数据环境模块119。元数据环境模块119包括数据沿袭模块115,其处理数据流图117(或表征数据流图117及其引用的输入和输出数据集的元数据)以生成数据流图117的数据沿袭。企业用户121可以因诸如数据流图117的验证和合规性检查等原因而查看数据。关于特定数据项(例如,数据集或数据集中的字段)的数据沿袭信息基于由数据处理系统执行的处理引起的依赖关系,并且这里使用的术语“数据沿袭”通常指的是包括其他相关数据项以及消耗或生成那些数据项的处理实体的集合。数据沿袭报告(也称为数据沿袭图)可以包括具有表示数据项和处理实体的节点以及表示它们之间的依赖关系的链接的图表形式的数据沿袭的图形表示。能够生成和显示数据沿袭报告的一些系统能够自动地提供从上游端处的终极数据源到下游端处产生的最终数据的端到端数据沿袭。来自特定数据项上游的路径上的节点有时被称为该数据项的“依赖性”,并且来自特定数据项下游的路径上的节点有时被称为该数据项的“影响”。虽然如本文所使用的,“数据沿袭”有时仅用于指代上游依赖性,但是“数据沿袭”可以指代对特定上下文适当的上游依赖性和/或下游影响。

1数据流图概述

参考图2,示出了使用图1的开发环境118生成的数据流图217的示例。图1包括名为gather.mp的第一子图202和名为process.mp的第二子图204。

第一子图202接收第一逻辑数据集DS1 206和第二逻辑数据集DS2 208作为输入,处理来自第一逻辑数据集206和第二逻辑数据集208的数据,并将处理结果写入第三逻辑数据集DS3 210。第二子图204接收作为输入的第四逻辑数据集DS4 212(其恰好指向与第三逻辑数据集210相同的物理文件),处理来自第四逻辑数据集212的数据,并且将第四逻辑数据集212的处理结果写入表214中。

四个逻辑数据集206、208、210、212中的每一个与在运行时间解析到物理文件的路径的参数化路径相关联。具体地,使用参数化路径/${FEED}/inv_${DATE}.dat标识第一逻辑数据集206,使用参数化路径/${FEED}/cust_${DATE}.dat标识第二逻辑数据集208,使用参数化路径/trans_${DATE}.dat标识第三逻辑数据集210,并且使用参数化路径/trans_${DATE}.dat标识第四逻辑数据集212。

第一子图202接收两个参数,P1=FEED(反馈)和P2=DATE(日期)作为自变量,并且如下面更详细描述的,使用参数来解析到第一逻辑数据集206、第二逻辑数据集208和第三逻辑数据集210的相应物理位置的路径,其中将参数化路径中的FEED和DATE占位符替换为接收到的FEED和DATE参数的值。另外,第一子图202包括DATE参数的“静态分析”值。如下面更详细地描述的,DATE参数的静态分析值是占位符值,其在数据流图217的静态分析期间(即,当确定数据流图217的数据沿袭时)用作参数值。

类似地,第二子图104接收单个参数P1=DATE,并且通过将第四逻辑数据集212的参数化路径中的DATE占位符替换为接收到的DATE参数的值,使用该参数来解析到第四逻辑数据集212的物理位置的路径。另外,第二子图204包括DATE参数的“静态分析”值。如下面更详细地描述的,DATE参数的静态分析值是占位符值,其在数据流图217的静态分析期间(即,当确定数据流图217的数据沿袭时)用作参数值。

由于数据流图217及其子图的操作取决于其接收的参数,因此数据流图及其子图有时被称为“通用”数据流图或“通用”计算机程序。

1.1参数

通常,上述参数可以被指定为“设计时间”参数或“运行时间”参数。除了如上所述用于路径解析之外,设计时间参数影响其相关联的数据流图的逻辑操作。相反,运行时间参数在逐个作业的基础上提供给图表,并且不影响图表的逻辑操作。在一些示例中,数据流图的逻辑操作指的是图表的功能性和图表所使用的逻辑数据集两者。

在图2中,FEED参数是影响gather.mp子图的逻辑操作的设计时间参数。例如,对于FEED参数的一个值,第一子图202中的排序组件216可以按照升序对其接收的数据进行排序,而FEED参数的另一个不同的值可以使排序组件216对数据按降序排列。在一些示例中,包括设计时间参数的数据流图被称为“通用图表”,因为其逻辑操作基于所提供的设计时间参数的值而改变。

DATE参数是运行时间参数,其对子图202的逻辑操作没有影响,并且在逐个作业的基础上提供。

1.2参数集

在一些示例中,用于数据流图的常用参数集被存储为可以保存到磁盘并且易于重新使用的“参数集”(有时称为“pset”)。例如,在图2中,第一子图202具有与其相关联的三个pset,PSET_mexico 218、PSET_canada 220和PSET_usa 222。PSET_mexico 218包括常用的FEED参数值“mexico”和常用的DATE参数值“today()”,其是返回今天日期的函数。PSET_canada 220包括常用的FEED参数值、“canada”和常用的DATE参数值“today()”。PSET_usa 222包括常用的FEED参数值“usa”和常用的DATE参数值“today()”。

类似地,第二子图204具有与其相关联的单个pset,PSET 223。PSET 223包括常用的DATE参数值“today()”,其是返回今天日期的函数。

2参数分辨率模块

在一些示例中,在数据流图117被执行模块112执行之前,图1的参数解析模块106标识与数据流图117(及其相关联的子图202、204)相关联的一个或多个pset,并且确定一个或多个pset中唯一设计时间参数的数量。对于给定数据流图的每个唯一设计时间参数,参数解析模块106实例化数据流图的单独可执行实例。例如,参考图3,对于图2的数据流图217,第一子图202的三个实例,gather.mp被实例化(PSET_mexico->gather.mp 202a,PSET_canada->gather.mp 202b,PSET_usa->gather.mp 202c),每个实例根据图2的pset中的以下三个唯一FEED参数中不同的一个进行配置:mexico、canada和usa。由于第二子图204仅与不包括任何设计时间参数的单个pset 223相关联,因此在执行时仅实例化第二子图204的单个实例(process.mp 204a)。

一旦子图202、204的适当实例被参数解析模块106实例化,则参数解析模块106用来自pset的实际参数值替换数据集的参数化路径中的参数值占位符,将路径解析为数据集的物理位置。例如,对于第一子图202的PSET_mexico->gather.mp实例202a,第一数据集206的路径被解析为//mexico/inv_031014,因为FEED参数值是‘mexico’,并且DATE参数值是‘031014’。

一旦参数解析模块106已经实例化了包括其子图202、204的数据流图217并且已经解析了到数据流图217的数据集的物理路径,则数据流图217就准备好由执行模块112执行。在执行期间,第一子图202的三个实例202a、202b、202c从它们各自的输入数据集中读取数据、处理数据,并将处理的数据存储在/trans_031014.dat物理文件中。由于用于第二子图202的实例204a的输入数据集(例如,DS4 212)解析为与第一子图的输出数据集相同的物理文件,因此/trans_031014.dat物理文件被process.mp的实例读取然后处理并存储在表214中。

3数据沿袭模块

参考图4,在一些示例中,不是执行数据流图217,而是图1的数据架构师或业务用户121可能需要检查在数据通过数据流图217时的数据的沿袭。为此,图1的数据沿袭模块115被配置为分析数据流图217以生成用于呈现给数据架构师或业务用户121的数据沿袭报告。

在一些示例中,作为确定数据流图217的数据沿袭的第一步,数据沿袭模块115识别数据流图217的各个子图202、204。对于每个识别的子图202、204,数据沿袭模块115识别与子图202、204相关联的一个或多个pset 218、220、222、223,然后为子图202、204确定一个或多个pset 218、220、222、223中的唯一设计时间参数的数量。对于每个唯一设计时间参数,参数解析模块实例化子图202、204的单独实例。

在一些示例中,数据沿袭模块115在假设实际物理文件和它们存储的数据与数据沿袭分析无关的情况下操作。因此,用于解析数据集的物理位置的任何运行时间参数值都是不必要的,并且可以用占位符值替换。如上所述,对于与子图相关联的每个运行时间参数,相应的占位符、静态分析参数值被包括在子图中。例如,在图2中,由于数据流图202、204都包括DATE运行时间参数,所以它们也都包括占位符、静态分析参数值‘MMDDYY’。

当数据沿袭模块115分析数据流图217以确定数据沿袭时,数据流图中的DATE参数的所有实例被替换为‘MMDDYY’占位符值,从而创建如图4所示的临时数据集对象452。然后,识别各个子图实例和临时数据集对象之间的互连,并将其作为数据沿袭呈现给数据架构师或业务用户。例如,第一子图202的实例202a、202b、202c的分析指示第一子图202的所有实例将数据写入由/trans_MMDDYY.dat数据集对象表示的数据集。该分析然后指示第二数据流图204的实例204a从由/trans_MMDDYY.dat数据集对象表示的数据集读取。基于该信息,数据流图217的数据沿袭指示第一子图202的实例202a、202b、202c的输出被馈送到第二子图204的实例204a的输入。

4逻辑pset发现和创建方法

在一些示例中,使用执行命令而不是从先前存储的pset来执行给定数据流图,该执行命令接收参数值作为提供给执行命令的自变量。由于上述方法仅使用存储的pset来确定数据沿袭,所以与源自提供给执行命令用于执行数据流图的自变量的参数值相关联的pset不表示在数据沿袭中。这可能导致向企业架构师或审核员提供不完整或不正确的数据沿袭。

图5是示出用于基于在与数据流图的实例的执行相关联的日志中标识的参数集,扩充具有所创建的逻辑pset的数据流图的现有逻辑参数集(pset)的存储库的方法的流程图。在一些示例中,图5中描述的方法由图1的数据沿袭模块115实现。

4.1图表参数

最初,数据流图(例如,图1的第一子图202)的一个示例包括两个参数(P1和P2),每个参数可以被指定为“设计时间”参数或“运行时间”参数。如上所述,设计时间参数是影响图表的逻辑操作(例如,可以改变由图表执行的变换)的参数,而运行时间参数是在逐个作业的基础上改变的参数(例如,日期),并且不影响图表的逻辑操作。

4.2参数分类

图表202被提供给参数分类步骤424,其分析图表202的参数以生成参数分类结果426。在参数分类结果426中,每个参数被分类为设计时间参数或运行时间参数。在流程图所示的示例性情况下,P1被分类为设计时间参数,P2被分类为运行时间参数。

在一些示例中,数据流图的参数被预分类(例如,由用户)为设计时间参数或运行时间参数。在其他示例中(例如,对于遗留数据流图),用于数据流图的参数不被预分类为设计时间参数或运行时间参数。在这种情况下,参数分类步骤424可以假设所有参数都是设计时间参数。在后续的重新分类步骤中,如果确定给定参数在日志条目(例如,下面描述的作业日志数据存储)的集合中具有大(例如,高于给定阈值)数量的唯一值,则给定的参数可以被重新分类为运行时间参数。可替代地,重新分类可以基于数据沿袭敏感性分析。特别地,如果参数可以采取各种不同的值而不改变数据流图内部的数据沿袭(即,数据流图内的数据集或组件的影响或依赖性),则该参数可以被分类为运行时间参数。例如,如果图表中的数据集(例如,图3中的DS1,DS2,DS3)的相关联的记录格式或其他特性不受参数的各种值影响,则将该参数重新分类为运行时间参数。可以使用这种数据沿袭敏感性分析的变化,例如包括解决所有内部影响和依赖性的更全面的数据沿袭敏感性分析,以及包括仅解决与数据集记录格式相关联的影响和依赖性的更有限的数据沿袭敏感性分析。

在一些示例中(例如,对于遗留数据流图),参数可以包括设计时间部分和运行时间部分两者。例如,文件名参数“/mexico/inv_031014.dat”可以是混合参数,因为它包括设计时间部分(即,“mexico”)和运行时间部分(即,“031014”)。在这样的示例中,用户可以提供正规表达式或一些其他类型的字符串解析规则,其由参数分类步骤424使用用于从混合参数中提取和分类出相应的设计时间参数和运行时间参数。

4.3作业日志数据存储

所述方法利用包括多个作业日志条目429的作业日志数据存储428,每个作业日志条目429包括与数据流图202的实例的执行相关联的信息。在其它信息中,至少一些作业日志条目包括用于实例化数据流图202的执行命令的记录。用于给定作业日志条目的执行命令包括图表名称和作为自变量提供给执行命令的参数值。通常,作业日志数据存储428中的至少一些作业日志条目实例化数据流图而不访问任何参数集,而是接收作为提供给执行命令的自变量的参数值。

4.4处理循环

作业日志数据存储428和参数分类结果426被提供给处理循环430,对于作业日志数据存储428中的每个作业日志条目429,处理循环430为图表执行命令生成新的逻辑pset,确定新的逻辑pset是否已经存在于现有逻辑pset的存储库448中,并且如果新的逻辑pset尚不存在,则将其添加到存储库448。

4.4.1初始命令行逻辑pset构造

在处理循环430内,参数分类结果426和来自作业日志数据存储428的作业日志条目Jn 432被提供给逻辑pset构建步骤434,逻辑pset构建步骤434根据参数分类结果426分析作业日志条目432以生成逻辑pset 436。这样做,逻辑pset构建步骤434分析包括在作业日志条目432中的图表执行命令,以提取被包括为至图表执行命令的自变量的参数值。逻辑pset构建步骤434还提取包括在作业日志条目432中的项目范围。在一些示例中,项目范围包括数据流图在其中执行的项目的指示,数据流图的内部参数的指示,以及数据流图所使用的环境设置、全局变量和配置变量的指示。

逻辑pset构造步骤434自动地将所提取的项目范围包括在逻辑pset 436中。然后,逻辑pset构造步骤434将每个提取的参数值与参数分类结果426中的对应参数进行匹配。如果逻辑pset构建步骤434确定所提取的参数值对应于参数分类结果426中的设计时间参数,则逻辑pset构建步骤434在逻辑pset 436中包括所提取的设计时间参数的值。如果逻辑pset构造步骤434确定所提取的参数值对应于参数分类结果426中的运行时间参数,则所提取的参数值不包括在逻辑pset 436中。

4.4.2 pset签名字符串计算

逻辑pset 436被提供给pset签名字符串计算步骤442,pset签名字符串计算步骤442基于项目范围和逻辑pset 436中的参数值来计算逻辑pset签名字符串444。在一些示例中,pset签名字符串444通过序列化逻辑pset 436的项目范围、逻辑pset 436中的参数的名称/值对以及与逻辑pset 436相关联的数据流图的原型来进行计算。在其他示例中,pset签名字符串444通过应用散列函数(hash function)或一些其他数据映射算法到逻辑pset 436来进行计算。

4.4.3 pset签名字符串搜索

将pset签名字符串444与现有逻辑pset的存储库448中的所有现有逻辑pset的pset签名字符串一起提供给pset签名搜索步骤446。对于每个现有逻辑pset,现有逻辑pset的pset签名字符串pset与pset签名字符串444进行比较。如果pset签名字符串444与现有逻辑pset的pset签名字符串中的至少一个匹配,则不需要进行任何操作,因为用于图表432的执行命令实例化的逻辑pset已经存在于现有逻辑pset的存储库448中。

在一些示例中,现有逻辑pset的存储库448中的所有现有逻辑pset的pset签名字符串与存储库448中的现有逻辑pset并排存储。在其他示例中,现有逻辑pset的签名字符串自动地(on the fly)和基于需要进行计算。

4.4.4添加新的逻辑pset

否则,如果现有逻辑pset的签名字符串都不与pset签名字符串444匹配,则通过新的逻辑pset添加步骤450,将逻辑pset 436及其签名字符串444作为新逻辑pset添加到现有逻辑pset的存储库448中。

4.5示例

参考图6和图7,图4的逻辑pset发现和创建方法的示例性操作被应用于图2的第一子图202。图2的第一子图202包括两个参数,P1=FEED,P2=DATE。第一子图202被提供给参数分类步骤424,其中参数被分类为“设计时间”参数或“运行时间”参数,生成参数分类结果426。参数分类结果426指示P1(FEED)参数是设计时间参数,P2(DATE)参数是运行时间参数。

参数分类结果426和作业日志数据存储428被提供给逻辑pset构造步骤434。在图6的示例中,作业日志数据存储428包括四个作业日志条目,其包括与第一子图202的实例(即,gather.mp)的执行相关联的信息。每个作业日志条目包括接收DATE和FEED参数的值作为自变量的执行命令。

逻辑pset构建步骤434为作业日志数据存储428中的每个作业日志条目创建不同的逻辑pset 436。由于P1(FEED)参数是设计时间参数,所以曾作为执行命令的自变量提供的P1参数的值(例如,mexico(墨西哥)、usa(美国)、canada(加拿大)或hong kong(香港))被包括在逻辑pset 436中的每一个中。由于P2(DATE)参数是运行时间参数,所以曾作为执行命令的自变量提供的P2参数的值不包括在逻辑pset 436中。每个逻辑pset 436包括其对应的第一子图202的实例的项目范围。

参考图7,逻辑pset 436被提供给pset签名字符串计算步骤442,pset签名字符串计算步骤442为每个逻辑pset 436计算不同的逻辑pset签名字符串444。

逻辑pset签名字符串444和现有pset的存储库448中的现有pset 447的一组逻辑pset签名字符串被提供给搜索步骤446。如图2中的情况所示,存在与第一子图202相关联的三个现有pset:一个用于mexico FEED参数,一个用于usa FEED参数,一个用于canada FEED参数。因此,用于现有pset 447的一组逻辑pset签名串444包括用于与第一子图202相关联的每个现有pset的字符串。

搜索步骤446在现有的pset 447的该组逻辑pset签名字符串中搜索每一个逻辑pset签名字符串444的存在。在该示例中,由搜索步骤446生成的结果是,只有未包括在现有pset 447的该组逻辑pset签名字符串中的逻辑pset签名是与具有FEED参数值‘hong kong’的逻辑pset相关联的逻辑pset签名字符串。

搜索步骤446的结果和包括‘hong kong’feed参数的逻辑pset 436被提供给逻辑pset添加步骤450,逻辑pset添加步骤450将包括‘hong kong’的FEED参数的逻辑pset及其对应的逻辑pset签名字符串444添加到现有逻辑pset的存储库448。

通过将新的逻辑pset添加到存储库,在之前的数据沿袭结果中将被忽略的第一子图202的‘hong kong’实例表示在数据沿袭结果中。

注意,虽然在上述示例中将运行时间参数的静态分析值描述为存储在数据流图本身中,但是在一些示例中,运行时间参数的静态分析值可以保持在与数据流图相关联的一个或多个pset中。

在一些示例中,从不一定存在于静态分析时间的源(例如,从数据库)导出某些设计时间参数值。然而,在一些示例中,存储在作业日志数据存储中的作业日志条目包括针对该特定作业解析的所有参数的值。在静态分析时间处,可以使用存储的参数值来代替从静态分析时间处不存在的源导出的参数值。

在一些示例中,作业日志数据存储中的作业日志条目包括数据流图的所有解析的参数,由数据流图读取和写入的所有文件的日志,以及性能跟踪信息。在一些示例中,作业日志数据存储中的作业日志条目用由图4的方法发现的任何逻辑参数集扩充。在一些示例中,使用发现的逻辑参数集来扩充作业日志数据存储中的作业日志条目包括:形成作业日志条目与发现的逻辑参数集之间的关联。可以利用作业日志数据存储中的扩充的作业日志条目来向数据架构师或业务用户提供各种形式的信息。在一些示例中,可以分析扩充的作业日志条目以确保逻辑连接的数据流图也物理连接。在一些示例中,可以分析扩充的作业日志条目以确定物理数据集对应于哪些逻辑数据集实例。在一些示例中,可以分析扩充的作业日志条目以识别具有相同物理文件名但与不同静态分析参数相关联的数据集。在这样的示例中,不一致性可以呈现给用户用于手动修复或者可以自动修复。在一些示例中,数据沿袭报告可以包括不一致性的指示和其是否已被自动修复。

在一些示例中,扩充的作业日志条目可以由数据沿袭模块用于通过频率和/或新近度来过滤数据沿袭报告。例如,元数据环境模块可以维护不再由执行模块执行的若干数据流图和pset。这样的数据流图和pset可以留在原位,以防稍后需要它。但是,未执行的数据流图和pset可能会导致数据沿袭报告中不必要的混乱。为了减少混乱,可以分析扩充的作业日志条目以确定哪些数据流图和/或pset使用不频繁和/或最近未被使用。基于该频率和新近度信息,可以在向企业用户呈现之前从数据沿袭报告中过滤出不频繁和非最近执行的数据流图和pset(例如,在过去一年中没有运行的数据流图)。

在一些示例中,可以存在用于给定数据流图(例如,包括FEED=USA的pset)的逻辑pset,但是调用数据流图的一个或多个作业通过直接向数据流图提供参数值而不是利用现有pset来进行。在这种情况下,在作业和由作业访问的逻辑pset(例如,经由与作业相关联的签名)之间维持的关联可以用于基于它们相关联的逻辑pset来对作业日志条目进行分组。基于分组,通过直接调用图表而不是利用现有pset来实例化的任何作业可以被识别为与逻辑pset及其参数相关。

在一些示例中,数据流图的每个作业日志条目包括用于执行与作业日志条目相关联的数据流图的所有解析的参数值的列表以及其他信息。一旦累积了多个作业日志条目,则可以比较包括在作业日志条目中的解析的参数值,以识别数据流图的各种“设计时间实例”。例如,作业日志条目中的某些已解析的参数可以仅由所有作业日志条目中的少数值表示,而某些其他解析的参数可以由所有作业日志条目中的许多不同的值表示。在作业日志条目中仅由少数值表示的那些解析参数可能是“设计时间”参数,并且由作业日志条目中的许多不同值表示的其他解析参数可能是“运行时间参数”。数据流图共享“设计时间参数”的唯一组合的任何实例被分组在一起,并且被认为都是数据流图的“设计时间实例”。数据沿袭模块包括数据沿袭报告中的数据流图的不同设计时间实例。

5重复的逻辑数据集发现和缓解方法

5.1概述

通常,给定数据流图的输入和输出数据集(例如,数据库或数据表)特定为数据流图中的逻辑数据集。在一些示例中,每个逻辑数据集与诸如逻辑文件名的标识符相关联。

在执行数据流图之前,其被准备好用于执行,包括将每个逻辑数据集解析为对应的物理数据集(例如,磁盘上的文件)。在一些示例中,每个物理数据集与诸如物理文件名(例如,“summary.dat”)的标识符相关联。参数解析过程能够成功地将逻辑数据集解析为其对应的物理数据集,即使逻辑数据集的逻辑文件名与对应的物理数据集的物理文件名不同也是如此。

当为包括两个或更多个子图的数据流图确定数据沿袭报告时,至少部分地根据两个或更多个子图的输入和输出逻辑数据集的逻辑文件名来确定子图之间的沿袭关系。为此,沿袭关系的正确性要求参考给定物理数据集的两个或更多个子图的任何输入和输出逻辑数据集共享相同的逻辑文件名。实际上,如果第一子图写入给定的物理数据集,并且第二子图随后从给定的物理数据集读取,但是第一子图的输出逻辑数据集的逻辑文件名与第二子图的输入逻辑数据集的逻辑文件名不匹配,则将识别这两个子图之间没有沿袭关系。在一些示例中,解析为相同物理数据集但具有不匹配的逻辑文件名的两个逻辑数据集被称为“重复的逻辑数据集”。

如下面详细描述的,数据流图中的重复(duplicate)的逻辑数据集可以被识别并呈现给用户。然后,用户可以选择以多种方式来寻址重复的逻辑数据集。

5.2没有重复的逻辑数据集的示例

参考图8,使用图1的开发环境118生成的数据流图817的示例,其包括名为gather.mp的第一子图802和名为process.mp的第二子图804。

第一子图802接收具有逻辑文件名“Acct_1.dat”的第一逻辑数据集DL1 806和具有逻辑文件名“Acct_2.dat”的第二逻辑数据集DL2 808作为输入。第一子图802处理来自第一逻辑数据集806和第二逻辑数据集808的数据,并将处理结果写入具有逻辑文件名称“Acct_summ.dat.”的第三逻辑数据集DL3 810中。第二子图804接收具有逻辑文件名“Acct_summ.dat”的第三逻辑数据集DL3 810作为输入,处理来自第三逻辑数据集810的数据,并将处理结果写入表814。注意,由第一子图802和第二子图804两者使用的第三逻辑数据集810在两个子图802、804中具有相同的逻辑文件名。

参考图9,当在执行之前解析数据流图817时,逻辑数据集被解析为它们对应的物理数据集。例如,第一逻辑数据集806被解析为具有物理文件名称“Acct_1.dat”的第一物理数据集DP1 814,第二逻辑数据集808被解析为具有物理文件名称“Acct_2.dat”的第二物理数据集DP2 816、第三逻辑数据集810被解析为具有物理文件名为“summary.dat”的第三物理数据集DP3 818。

参考图10,用于数据流图的数据沿袭报告1017包括第一子图1002、第二子图1004、第一逻辑数据集1006、第二逻辑数据集1008和第三逻辑数据集1010。数据沿袭报告1017还包括第一逻辑数据集1006和第一子图1002的输入之间的第一沿袭关系1018,第二逻辑数据集1008和第一子图1002的输入之间的第二沿袭关系1020,在第一子图1002的输出和第三逻辑数据集1010之间的第三沿袭关系1022,以及第三逻辑数据集1010和第二子图1004之间的第四沿袭关系1024。注意,在这种情况下,数据沿袭报告1017是正确的,因为具有相同逻辑文件名(即,“Acct_summ.dat”)的相同逻辑数据集(即,第三逻辑数据集DL3 810)存在于第一子图802的输出处和第二子图804的输入处。

5.3具有重复的逻辑数据集的示例

参考图11,其是使用图1的开发环境118生成的数据流图1117的另一示例,包括名为gather.mp的第一子图1102和名为process.mp的第二子图1104。

第一子图1102接收具有逻辑文件名“Acct_1.dat”的第一逻辑数据集DL11106和具有逻辑文件名“Acct_2.dat”的第二逻辑数据集DL2 1108作为输入。第一子图1102处理来自第一逻辑数据集1106和第二逻辑数据集1108的数据,并将处理结果写入具有逻辑文件名“Acct_summ.dat”的第三逻辑数据集DL3 1110中。第二子图1104接收作为输入的具有逻辑文件名“Acct-summ.dat”的第四逻辑数据集DL4 1111作为输入,处理来自第四逻辑数据集1111的数据,并将处理结果写入表814。注意,第三逻辑数据集1110的逻辑文件名(即“Acct_summ.dat”)不同于第四逻辑数据集1111的逻辑文件名(即“Acct-summ.dat”)。

参考图12,当数据流图1117在执行之前被解析时,逻辑数据集被解析为它们对应的物理数据集。例如,第一逻辑数据集1106被解析为具有物理文件名“Acct_1.dat”的第一物理数据集DP1 1114,第二逻辑数据集1108被解析为具有物理文件名“Acct_2.dat”的第二物理数据集DP2 1116,并且第三逻辑数据集1110和第四逻辑数据集1111都被解析为具有物理文件名“summary.dat”的第三物理数据集DP3 1218。注意,第三逻辑数据集1110和第四逻辑数据集数据集1111是重复的逻辑数据集,因为它们各自指向相同的物理数据集(即,第三物理数据集1218)。

参考图13,用于数据流图的数据沿袭报告1317包括第一子图1102、第二子图1104、第一逻辑数据集1106、第二逻辑数据集1108、第三逻辑数据集1110和第四逻辑数据集1111。数据沿袭报告1317还包括第一逻辑数据集1106和第一子图1102的输入之间的第一沿袭关系1318,第二逻辑数据集1108和第一子图1102的输入之间的第二沿袭关系1320,第一子图1002的输出和第三逻辑数据集1110之间的第三沿袭关系1322,以及第四逻辑数据集1111和第二子图1104之间的第四沿袭关系1324。

注意,在这种情况下,数据沿袭报告1317是不正确的,因为具有不同逻辑文件名的两个不同的逻辑数据集(即,第三逻辑数据集1110和第四逻辑数据集1111)指的是相同的物理数据集(即,第三物理数据集1218)。特别地,具有逻辑文件名“Acct_summ.dat”的第三逻辑数据集DL3 1110存在于第一子图1102的输出处,而具有逻辑文件名“Acct_summ.dat”的第四逻辑数据集1111存在于第二子图1104的输入处。数据沿袭报告1317将第三逻辑数据集1110和第四逻辑数据集1111表示为彼此没有任何沿袭关系的单独数据集。因此,数据沿袭报告1317不正确地包括第三逻辑数据集1110和第四逻辑数据集1111之间的数据沿袭的中断。

5.4重复的逻辑数据集发现

在一些示例中,可以通过分析由数据流图的执行生成的运行时间工件(例如,图5的作业日志429)来发现数据流图中的重复的逻辑数据集。特别地,每次执行数据流图时,生成作业日志。

作业日志包括与数据流图的执行相关联的信息,包括图表实例名称和,对于图表中每个数据集组件,其访问的物理数据集和访问类型(读或写)。可以检查图表实例以确定每个数据集组件的逻辑数据集名称。通过匹配图表实例和数据集组件名称,系统能够将逻辑数据集名称映射到物理数据集名称。

为了识别重复的逻辑数据集,分析作业日志以识别任何逻辑到物理的数据集映射,其中映射的第一逻辑数据集与映射的第二逻辑数据集不同。第一逻辑数据集和第二逻辑数据集不同的任何逻辑到物理的数据集映射被分类为重复的逻辑数据集。

所识别的重复的逻辑数据集被呈现给用户,用户决定是校正重复的逻辑数据集还是自动缓解。

5.4.1重复的逻辑数据集发现的示例

再次参考图12,当执行解析的数据流图1117时,生成用于数据流图执行的作业日志。作业日志包括对应于第一子图1102和第二子图1104之间的流的单个逻辑到物理的数据集映射。逻辑到物理的数据集映射包括在第一子图1104的输出处的第三逻辑数据集的标识符DL3 1110,在第二子图1106的输入处的第四逻辑数据集的标识符DL4 1111,以及第三物理数据集1218的标识符。

由于第三逻辑数据集1110和第四逻辑数据集1111是指向相同物理数据集(即,第三物理数据集1218)的不同逻辑数据集(例如,具有不同逻辑文件名的逻辑数据集),第三逻辑数据集1110和第四逻辑数据集1111被分类为重复的逻辑数据集。

注意,尽管上述简单示例包括来自单个作业日志的单对重复的逻辑数据集的标识,但是在包括上述重复的逻辑数据集发现方法的数据处理系统的实际实现中,若干对重复的逻辑数据集可以使用多个作业日志来标识。

5.5重复的逻辑数据集缓解

如上所述,重复的逻辑数据集可能导致数据沿袭报告中的中断。一旦识别出重复的逻辑数据集,就可以采用许多不同的方法来消除重复的逻辑数据集或缓解它们对数据沿袭报告的影响。在一些示例中,所识别的重复的逻辑数据集以例如电子表格形式呈现给用户。然后,用户可以编辑包括重复的逻辑数据集的数据流图以消除重复的逻辑数据集(例如,通过确保在给定的数据流图中,给定的物理数据集仅由单个逻辑数据集引用)。在其他示例中,用户可以将一对重复的逻辑数据集标记为等效的。以这种方式,用户不需要对数据流图进行任何改变。在其他示例中,重复的逻辑数据集对可以被自动标记为等效。

当一对重复的逻辑数据集被标记为等效时,有多种方法在数据沿袭报告中显示等效性。在一种方法中,一对重复的逻辑数据集所引用的物理数据集被示为连接到数据沿袭报告中的重复的逻辑数据集。例如,如图14所示,第三物理数据集DP3 1218包括在数据沿袭报告1317中。第三逻辑数据集DL31110和第四逻辑数据集DL4 1111都被示为通过沿袭关系1450和1452连接到第三物理数据集1218。

在另一种方法中,一对重复的逻辑数据集的逻辑数据集被示为通过沿袭关系在数据沿袭报告中彼此连接。例如,在图15中,第三逻辑数据集DL3 1110被示为通过数据沿袭报告1317中的沿袭关系1550连接到第四逻辑数据集DL4 1111。

在另一种方法中,该对重复的逻辑数据集由数据沿袭报告中的组合逻辑数据集表示。例如,如图16所示,该对重复的逻辑数据集由数据沿袭报告1317中的组合逻辑数据集DLR1654表示。

在另一种方法中,选择该对重复的逻辑数据集中的一个逻辑数据集以表示数据沿袭报告中的该对重复的逻辑数据集。例如,如图17所示,第四逻辑数据集DL4 1111表示数据沿袭报告1317中的一对重复的逻辑数据集。

在另一种方法中,该对重复的逻辑数据集和该对重复的逻辑数据集的组合逻辑数据集表示包括在数据沿袭报告中。在数据沿袭图表中示出了该对重复的逻辑数据集与组合逻辑数据集表示之间的沿袭关系的唯一配置。例如,如图18所示,数据沿袭报告1317包括一对重复的逻辑数据集DLR,1854、第三逻辑数据集DL3 1110和第四逻辑数据集DL4 1111的组合逻辑数据集表示。组合逻辑数据集1854被示为具有与第一子图1102和第二子图1104的直接沿袭关系。组合的逻辑数据集1845还被示为具有经由第三逻辑数据集1110与第一子图1102的间接沿袭关系,并且具有经由第四逻辑数据集1111与第二子图1104的间接沿袭关系。

在另一种方法中,一对重复的逻辑数据集的逻辑数据集被包括在数据沿袭报告中。在数据沿袭图表中示出了该对重复的逻辑数据集的逻辑数据集之间的沿袭关系的唯一配置。例如,如图19所示,数据沿袭报告1317包括第三逻辑数据集DL3 1110和第四逻辑数据集DL4 1111。第四逻辑数据集1111被示为具有与第一子图1102和第二子图1104的直接沿袭关系。第三逻辑数据集DL3 1110被示出为与第一子图1102具有直接沿袭关系,并且经由第四逻辑数据集1111与第二子图1104具有间接沿袭关系。

注意,在一些示例中,上述缓解方法以虚线、粗线或以另一替代方式示出在数据沿袭报告中,使得数据沿袭报告的用户清楚已经对该数据沿袭报告应用缓解方法。

注意,虽然上述重复的逻辑数据集的发现和缓解方法使用第一组件写入物理数据集并且另一组件从该物理数据集读取的场景来描述,但是其他场景也可以导致重复的逻辑数据集。例如,一对重复的逻辑数据集可以由从同一物理数据集读取的两个不同的逻辑数据集产生。类似地,一对重复的逻辑数据集可以由两个不同的逻辑数据集写入相同的物理数据集产生。

上述方法可以合并来自用于管理和呈现数据沿袭信息以及用于管理数据集对象的各种其他方法的特征,如更详细描述于2009年2月26日提交的序列号为12/393,765的美国申请,2011年10月25日提交的序列号为13/281,039的美国申请以及2014年7月24日提交的序列号为62/028,485的美国临时申请,所有这些申请通过引用并入本文。

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

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

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

权利要求书(按照条约第19条的修改)

1.一种用于管理沿袭信息的方法,所述方法包括:

接收表示两个或更多个数据处理程序和两个或更多个逻辑数据集之间的一个或多个沿袭关系的沿袭信息,其中所述逻辑数据集中的至少一个逻辑数据集在所述数据处理程序中的至少一个数据处理程序的运行时间处解析为物理数据集;

接收一个或多个运行时间工件,每个运行时间工件包括与所述两个或更多个数据处理程序中的一数据处理程序的先前执行相关的信息;以及

分析所述一个或多个运行时间工件和所述沿袭信息并且基于所述分析的结果确定对所述沿袭信息的一个或多个候选修改,其中至少一个候选修改包括至少部分地基于所述分析的结果对所述两个或更多个逻辑数据集中的至少一个逻辑数据集的表示的修改,其中所述结果与一个或多个物理数据集相关联。

2.根据权利要求1所述的方法,其中所述一个或多个候选修改包括:在所述两个或更多个数据处理程序中的一数据处理程序与所述两个或更多个逻辑数据集中的一逻辑数据集之间添加新的间接沿袭关系的候选修改。

3.根据权利要求1所述的方法,其中所述一个或多个候选修改包括:在所述两个或更多个数据处理程序中的一数据处理程序与所述两个或更多个逻辑数据集中的一逻辑数据集之间添加新的直接沿袭关系的第一候选修改。

4.根据权利要求3所述的方法,其中分析所述运行时间工件和所述沿袭信息包括:分析所述两个或更多个数据处理程序的先前执行的日志,以确定从所述两个或更多个数据处理程序读取或写入的物理数据集。

5.根据权利要求4所述的方法,其中分析所述运行时间工件和所述沿袭信息还包括:识别在所述沿袭信息中表示的并且与同一物理数据集相关联的所述两个或更多个逻辑数据集中的两个不同的逻辑数据集。

6.根据权利要求5所述的方法,其中所述第一候选修改包括:在所述两个不同的逻辑数据集之间创建新的沿袭关系。

7.根据权利要求5所述的方法,其中所述第一候选修改包括:创建所述新沿袭关系包括将所述两个不同的逻辑数据集合并成新的组合的逻辑数据集。

8.根据权利要求1所述的方法,其中所述两个或更多个数据处理程序中的每个数据处理程序是根据一组一个或多个参数值所实例化的通用数据处理程序的实例。

9.根据权利要求8所述的方法,其中分析所述一个或多个运行时间工件和所述沿袭信息包括:

分析所述两个或更多个数据处理程序中的第一数据处理程序的先前执行的一个或多个日志,以根据第一组一个或多个参数值确定在所述第一数据处理程序的第一实例化中使用的第一参数集,

从所述第一参数集中选择至少一些参数,以及

基于所述第一数据处理程序的通用版本和所述至少一些参数,确定所述第一数据处理程序的所述第一实例化没有表示在所述沿袭信息中。

10.根据权利要求9所述的方法,其中从所述第一参数集中选择至少一些参数包括:基于从用户接收的信息来选择参数。

11.根据权利要求9所述的方法,其中从所述第一参数集中选择至少一些参数包括:基于一个或多个预定义规则来选择参数。

12.根据权利要求11所述的方法,其中所述一个或多个预定义规则中的第一规则指定从所选择的参数中排除具有日期形式的参数值的参数。

13.根据权利要求11所述的方法,其中所述一个或多个预定义规则中的第一规则指定在所选择的参数中包括具有在通用数据处理程序的逻辑中变换的参数值的参数。

14.根据权利要求9所述的方法,其中对所述沿袭信息的所述一个或多个候选修改包括:第一候选修改,该第一候选修改在所述两个或更多个数据处理程序中的第一数据处理程序与所述两个或更多个逻辑数据集中的一逻辑数据集之间添加新的沿袭关系。

15.一种用于管理沿袭信息的软件,以非暂时形式存储在计算机可读介质上,所述软件包括指令用于使计算系统:

接收表示两个或更多个数据处理程序和两个或更多个逻辑数据集之间的一个或多个沿袭关系的沿袭信息,其中所述逻辑数据集中的至少一个逻辑数据集在所述数据处理程序中的至少一个数据处理程序的运行时间处解析为物理数据集;

接收一个或多个运行时间工件,每个运行时间工件包括与所述两个或更多个数据处理程序中的一数据处理程序的先前执行相关的信息;以及

分析所述一个或多个运行时间工件和所述沿袭信息并且基于所述分析的结果确定对所述沿袭信息的一个或多个候选修改,其中至少一个候选修改包括至少部分地基于所述分析的结果对所述两个或更多个逻辑数据集中的至少一个逻辑数据集的表示的修改,其中所述结果与一个或多个物理数据集相关联。

16.一种用于管理沿袭信息的计算系统,所述计算系统包括:

输入设备或端口,被配置为接收表示两个或更多个数据处理程序和两个或更多个逻辑数据集以及一个或多个运行时间工件之间的一个或多个沿袭关系的沿袭信息,每个运行时间工件包括与所述两个或更多个数据处理程序中的一数据处理程序的先前执行相关的信息,其中所述逻辑数据集中的至少一个逻辑数据集在所述数据处理程序中的至少一个数据处理程序的运行时间处解析为物理数据集;以及

至少一个处理器,被配置为分析所述一个或多个运行时间工件和所述沿袭信息并且基于所述分析的结果确定对所述沿袭信息的一个或多个候选修改,其中至少一个候选修改包括至少部分地基于所述分析的结果对所述两个或更多个逻辑数据集中的至少一个逻辑数据集的表示的修改,其中所述结果与一个或多个物理数据集相关联。

17.根据权利要求1所述的方法,其中所述分析的结果包括识别至少一个逻辑数据集在至少一个数据处理程序的运行时间处所解析到的至少一个物理数据集。

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