CN106716352B - 管理参数集 - Google Patents

管理参数集 Download PDF

Info

Publication number
CN106716352B
CN106716352B CN201580050557.9A CN201580050557A CN106716352B CN 106716352 B CN106716352 B CN 106716352B CN 201580050557 A CN201580050557 A CN 201580050557A CN 106716352 B CN106716352 B CN 106716352B
Authority
CN
China
Prior art keywords
parameter values
computer program
purpose computer
identifier
sets
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
CN201580050557.9A
Other languages
English (en)
Other versions
CN106716352A (zh
Inventor
E·巴赫
R·奥伯多夫
B·拉尔森
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 CN106716352A publication Critical patent/CN106716352A/zh
Application granted granted Critical
Publication of CN106716352B publication Critical patent/CN106716352B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3476Data logging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/116Details of conversion of file system types or formats
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/119Details of migration of file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/178Techniques for file synchronisation in file systems
    • 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/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof
    • 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/2379Updates performed during online database operations; commit processing
    • 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/285Clustering or classification
    • 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
    • G06F8/00Arrangements for software engineering
    • G06F8/10Requirements analysis; Specification techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4494Execution paradigms, e.g. implementations of programming paradigms data driven
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0633Workflow analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Business, Economics & Management (AREA)
  • Quality & Reliability (AREA)
  • Human Resources & Organizations (AREA)
  • Computer Hardware Design (AREA)
  • Economics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Strategic Management (AREA)
  • Game Theory and Decision Science (AREA)
  • Operations Research (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Educational Administration (AREA)
  • Development Economics (AREA)
  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

管理参数值集合包括:接收用于通用计算机程序(202)的多个参数值集合(448),以及处理与所述通用计算机程序的实例的执行相关联的日志条目(428),每个实例与一个或更多的参数值相关联。所述处理包括:分析通用计算机程序以将与通用计算机程序相关联的一个或多个参数中的每个分类为第一类或第二类的成员(426);处理与所述通用计算机程序的第一实例的执行相关联的日志条目(429),以形成特定的参数值集合;以及基于所述特定参数值集合的第一标识符与所述参数值集合中的至少一些参数值的标识符的比较来确定是否将所述特定的参数值集合添加到所述多个参数值集合中。

Description

管理参数集
相关申请的交叉引用
本申请要求于2014年7月18日提交的序列号为62/026,228的美国申请的优先权。
技术领域
本说明书涉及管理参数集。
背景技术
在数据处理系统中,某些类型的用户通常期望访问数据在通过所述系统时沿袭的报告。一般来说,在许多用途中,这种“数据沿袭”报告可用于降低风险、验证合规性要求、简化业务流程和保护数据。保证数据沿袭报告的正确和完整很重要。
发明内容
在一个方面,一般来说,管理参数值集合,反映使用那些参数值集合进行实例化的通用计算机程序的实例之间的关系的沿袭信息使得能够生成更准确和完整的数据沿袭报告。
在另一方面,一般来说,一种管理参数值集合的方法包括:接收用于通用计算机程序的多个参数值集合,以及处理与所述通用计算机程序的实例的执行相关联的日志条目,所述通用计算机程序的每个实例与一个或多个参数值相关联。所述处理包括:分析所述通用计算机程序以将与所述通用计算机程序相关联的一个或多个参数中的每个分类为第一类参数或第二类参数的成员;处理与所述通用计算机程序的第一实例的执行相关联的日志条目以形成特定的参数值集合,其中该处理包括:在所述特定集合中包括出现在所述日志条目中的被分类为所述第一类的成员的参数的任何值,以及从所述特定集合中排除出现在所述日志条目中的被分类为所述第二类的成员的参数的任何值;以及基于所述特定的参数值集合的第一标识符与所述多个参数值集合中的至少一些参数值集合的标识符的比较来确定是否将所述特定的参数值集合添加到所述多个参数值集合中。
各个方面可以包括以下特征中的一个或多个。
处理所述日志条目包括:基于参数是否影响与所述通用计算机程序相关联的数据沿袭来对参数进行分类。
所述特定的参数值集合的第一标识符与所述多个参数值集合中的至少一些参数值集合的标识符的比较包括:基于所述特定的参数值集合和所述通用计算机程序的标识符来确定所述第一标识符;确定多个第二标识符,每个第二标识符对应于所述多个参数值集合中的至少一些参数值集合的一个参数值集合;以及将所述第一标识符与所述多个第二标识符中的每个第二标识符进行比较,以确定所述第一标识符是否和所述多个第二标识符中的任一个第二标识符匹配。
确定是否将所述特定的参数值集合添加到所述多个参数值集合中包括:如果没有第二标识符匹配所述第一标识符,则确定将所述特定的参数值集合添加到所述多个参数值集合中。
确定所述第一标识符包括:从所述特定的参数值集合的内容计算标识字符串,并且确定所述多个第二标识符包括:从所述多个参数值集合中的至少一些参数值集合的内容计算标识字符串。
确定所述第一标识符包括形成以下中的一个或多个的串联符:所述通用计算机程序的所述标识符,所述特定的参数值集合的名称-数值对,所述通用计算机程序的函数原型以及所述通用计算机程序的第一实例的项目范围。
确定所述第一标识符包括将数据映射函数应用于以下中的一个或多个:所述通用计算机程序的标识符,所述特定的参数值集合的名称-数值对,所述通用计算机程序的函数原型以及所述通用计算机程序的第一实例的项目范围。
所述数据映射函数包括散列函数。
所述第一类参数包括影响所述通用计算机程序的逻辑操作的参数,并且所述第二类参数包括不影响所述通用计算机程序的逻辑操作的参数。
所述通用计算机程序被指定为数据流图,所述数据流图包括表示数据处理操作的节点和所述节点之间表示数据处理操作之间的数据元素的流的链接。
对于所述多个参数中的每个,所述分析包括:对该参数进行自动分类或接受该参数的用户定义的分类。
对该参数进行自动分类包括:初始时将该参数分类为属于所述第一类参数;确定在所述通用计算机程序的实例的多次执行中该参数的唯一值的数量;以及如果该参数的唯一值的数量超过预定阈值,则将该参数重新分类为属于所述第二类参数。
对该参数进行自动分类包括:初始时将该参数分类为属于所述第一类参数;确定在所述通用计算机程序的实例的多次执行中该参数的数值的变化是否影响与所述通用计算机程序相关联的数据沿袭,以及如果该参数的数值的变化不影响数据沿袭,则将该参数重新分类为属于所述第二类参数。
所述方法还包括:形成与所述通用计算机程序的第一实例的执行相关联的日志条目与所述特定的参数值集合之间的关联。
与所述通用计算机程序的第一实例的执行相关联的日志条目包括:用于实例化所述通用计算机程序的执行命令的日志条目,该日志条目包括作为所述执行命令的自变量提供的一个或多个参数值。
与所述通用计算机程序的第一实例的执行相关联的日志条目还包括以下中的一个或多个:所述第一实例在其中执行的项目的指示,所述第一实例的内部参数的指示,以及由所述第一实例使用的环境设置、全局变量和配置变量的指示。
所述方法还包括:处理用于多个通用计算机程序的全部多个参数值集合以及与所述多个通用计算机程序中的至少一些通用计算机程序的实例的执行相关联的全部多个日志条目,以形成数据沿袭报告,其中全部多个参数值集合包括:通用计算机程序的扩充的多个参数值集合,并且与所述多个通用计算机程序中的至少一些通用计算机程序的实例的执行相关联的全部多个日志条目包括:通用计算机程序的第一实例的执行的日志条目,包括其与所述特定的参数值集合的关联。
形成数据沿袭报告包括:对于所述多个通用计算机程序的全部多个参数值集合中的每个参数值集合,处理与所述多个通用计算机程序中的所述至少一些通用计算机程序的实例的执行相关联的全部多个日志条目,以识别与对应于该参数值集合的通用计算机程序的实例的执行相关联的所有日志条目,并且从与通用计算机程序的实例的执行相关联的所识别的日志条目中识别通用计算机程序的最近实例化时间;以及基于通用计算机程序的最近实例化时间来确定是否将该参数值集合包括在所述数据沿袭报告中。
基于通用计算机程序的最近实例化时间来确定是否将该参数值集合包括在所述数据沿袭报告中包括:将所述最近实例化时间与预定时间间隔进行比较,并且如果通用计算机程序的最近实例化时间在预定时间间隔内,则将该参数值集合包括在所述数据沿袭报告中。
形成所述数据沿袭报告包括:对于所述多个通用计算机程序的全部多个参数值集合中的每个参数值集合,处理与所述多个通用计算机程序中的至少一些通用计算机程序的实例的执行相关联的全部多个日志条目,以确定与对应于该参数值集合的通用计算机程序的实例的执行相关联的日志条目的数量,以及基于与该通用计算机程序的实例的执行相关联的日志条目的数量来确定是否将该参数值集合包括在所述数据沿袭报告中。
在另一方面,一般来说,一种以非暂时形式存储在计算机可读介质上的软件,用于管理参数值集合,所述软件包括指令用于使计算系统:接收用于通用计算机程序的多个参数值集合,以及处理与所述通用计算机程序的实例的执行相关联的日志条目,所述通用计算机程序的每个实例与一个或多个参数值相关联,以及基于所述处理扩充所述多个参数值集合。所述处理包括:分析所述通用计算机程序以将与所述通用计算机程序相关联的一个或多个参数中的每个分类为第一类参数或第二类参数的成员;处理与所述通用计算机程序的第一实例的执行相关联的日志条目以形成特定的参数值集合,其中该处理包括:在所述特定集合中包括出现在所述日志条目中的被分类为所述第一类的成员的参数的任何值,以及从所述特定集合中排除出现在所述日志条目中的被分类为所述第二类的成员的参数的任何值;以及基于所述特定的参数值集合的第一标识符与所述多个参数值集合中的至少一些参数值集合的标识符的比较来确定是否将所述特定的参数值集合添加到所述多个参数值集合中。
在另一方面,一般来说,一种用于管理参数值集合的计算系统包括:输入设备或端口,用于接收用于通用计算机程序的多个参数值集合,以及至少一个处理器,用于处理与所述通用计算机程序的实例的执行相关联的日志条目,所述通用计算机程序的每个实例与一个或多个参数值相关联。所述处理包括:分析所述通用计算机程序以将与所述通用计算机程序相关联的一个或多个参数中的每个分类为第一类参数或第二类参数的成员;处理与所述通用计算机程序的第一实例的执行相关联的日志条目以形成特定的参数值集合,其中该处理包括:在所述特定集合中包括出现在所述日志条目中的被分类为所述第一类的成员的参数的任何值,以及从所述特定集合中排除出现在所述日志条目中的被分类为所述第二类的成员的参数的任何值;以及基于所述特定的参数值集合的第一标识符与所述多个参数值集合中的至少一些参数值集合的标识符的比较来确定是否将所述特定的参数值集合添加到所述多个参数值集合中。
在另一方面,一般来说,一种用于管理参数值集合的计算系统包括:用于接收用于通用计算机程序的多个参数值集合的装置,以及用于处理与所述通用计算机程序的实例的执行相关联的日志条目的装置,所述通用计算机程序的每个实例与一个或多个参数值相关联。所述处理包括:分析所述通用计算机程序以将与所述通用计算机程序相关联的一个或多个参数中的每个分类为第一类参数或第二类参数的成员;处理与所述通用计算机程序的第一实例的执行相关联的日志条目以形成特定的参数值集合。其中该处理包括:在所述特定集合中包括出现在所述日志条目中的被分类为所述第一类的成员的参数的任何值,以及从所述特定集合中排除出现在所述日志条目中的被分类为所述第二类的成员的参数的任何值;以及基于所述特定的参数值集合的第一标识符与所述多个参数值集合中的至少一些参数值集合的标识符的比较来确定是否将所述特定的参数值集合添加到所述多个参数值集合中。
在另一方面,一般来说,一种用于管理参数值集合的方法包括:接收通用计算机程序;接收第一参数值集合;通过根据所述第一参数值集合对所述通用计算机程序进行实例化来生成所述通用计算机程序的可执行实例;从一个或多个数据集接收数据;执行所述通用计算机程序的可执行实例以处理所接收的数据中的至少一些数据;生成所述通用计算机程序的可执行实例的日志条目,所述日志条目包括所述第一参数值集合的至少一些参数值;存储所述日志条目;接收所述日志条目;处理所述日志条目以形成特定的参数值集合,其中所述处理包括:从所述日志条目提取所述第一参数值集合的所述至少一些参数值,并且由所提取的参数值形成所述特定的参数值集合;以及基于所述特定的参数值集合的第一标识符与多个预先存在的参数值集合中的至少一些预先存在的参数值集合的标识符的比较来确定是否将所述特定的参数值集合添加到所述多个预先存在的参数值集合中。
各个方面可以包括以下特征中的一个或多个。
所述特定的参数值集合的标识符与多个预先存在的参数值集合中的至少一些预先存在的参数值集合的标识符的比较包括:基于所述特定的参数值集合和所述通用计算机程序的标识符来确定所述第一标识符;确定多个第二标识符,每个第二标识符对应所述至少一些预先存在的参数值集合中的每个预先存在的参数值集合;以及将所述第一标识符与所述多个第二标识符中的每个第二标识符进行比较,以确定所述第一标识符是否和所述多个第二标识符中的任一个第二标识符匹配。
确定是否将所述特定的参数值集合添加到所述多个预先存在的参数值集合中包括:如果没有第二标识符匹配所述第一标识符,则确定将所述特定的参数值集合添加到所述多个预先存在的参数值集合中。
确定所述第一标识符包括:从所述特定的参数值集合的内容计算标识字符串,并且确定所述多个第二标识符包括:从所述多个预先存在的参数值集合中的至少一些预先存在的参数值集合的内容计算标识字符串。
确定所述第一标识符包括形成以下中的一个或多个的串联符:所述通用计算机程序的所述标识符,所述特定的参数值集合的名称-数值对,所述通用计算机程序的函数原型以及所述通用计算机程序的可执行实例的项目范围。
确定所述第一标识符包括将数据映射函数应用于以下中的一个或多个:所述通用计算机程序的标识符,所述特定的参数值集合的名称-数值对,所述通用计算机程序的函数原型以及所述通用计算机程序的可执行实例的项目范围。
所述数据映射函数包括散列函数。
所述方法还包括:分析所述通用计算机程序以将与所述通用计算机程序相关联的一个或多个参数中的每个分类为第一类参数或第二类参数的成员。
处理所述日志条目以形成特定的参数值集合还包括:在所述特定集合中包括出现在所述日志条目中的被分类为所述第一类的成员的任何提取的参数值,以及从所述特定集合中排除出现在所述日志条目中的被分类为所述第二类的成员的任何提取的参数值。
所述第一类参数包括影响所述通用计算机程序的逻辑操作的参数,并且所述第二类参数包括不影响所述通用计算机程序的逻辑操作的参数。
在另一方面,一般来说,一种以非暂时形式存储在计算机可读介质上的软件,用于管理参数值集合,所述软件包括指令用于使计算系统:接收通用计算机程序;接收第一参数值集合;通过根据所述第一参数值集合对所述通用计算机程序进行实例化来生成所述通用计算机程序的可执行实例;从一个或多个数据集接收数据;执行所述通用计算机程序的可执行实例以处理所接收的数据中的至少一些数据;生成所述通用计算机程序的可执行实例的日志条目,所述日志条目包括所述第一参数值集合的至少一些参数值;存储所述日志条目;接收所述日志条目;处理所述日志条目以形成特定的参数值集合,其中所述处理包括:从所述日志条目提取所述第一参数值集合的所述至少一些参数值,并且由所提取的参数值形成所述特定的参数值集合;以及基于所述特定的参数值集合的第一标识符与多个预先存在的参数值集合中的至少一些预先存在的参数值集合的标识符的比较来确定是否将所述特定的参数值集合添加到所述多个预先存在的参数值集合中。
在另一方面,一般来说,一种用于管理参数值集合的系统包括:第一计算系统包括:第一输入设备或端口,用于接收通用计算机程序、第一参数值集合和来自一个或多个数据集的数据;第一组一个或多个处理器,被配置为:通过根据所述第一参数值集合对所述通用计算机程序进行实例化来生成所述通用计算机程序的可执行实例;执行所述通用计算机程序的可执行实例以处理所接收的数据中的至少一些数据;生成所述通用计算机程序的可执行实例的日志条目,所述日志条目包括所述第一参数值集合的至少一些参数值;第一输出设备或端口,用于在存储设备中存储所述日志条目;第二计算系统包括:第二输入设备或端口,用于接收所述日志条目;第二组一个或多个处理器,被配置为:处理所述日志条目以形成特定的参数值集合,其中所述处理包括:从所述日志条目提取所述第一参数值集合的所述至少一些参数值,并且由所提取的参数值形成所述特定的参数值集合;以及基于所述特定的参数值集合的第一标识符与多个预先存在的参数值集合中的至少一些预先存在的参数值集合的标识符的比较来确定是否将所述特定的参数值集合添加到所述多个预先存在的参数值集合中。
各个方面可以包括以下优点中的一个或多个。
通过使用本文描述的方法发现参数集并使用发现的参数集来扩充现有参数集,使用现有参数集的扩充集合生成的数据沿袭报告更准确地表示数据处理系统的真实数据沿袭。特别地,数据处理系统的数据沿袭的先前会被忽略的部分被包括在数据沿袭报告中。
在一些示例中,参数集发现方法的结果还可以用于扩充计算机程序的实例的执行的日志条目(即,用关于所发现的参数集的信息来扩充日志条目)。扩充的日志条目可以有利地用于验证计算机程序和/或数据集之间的对应于物理连接的逻辑连接。此验证的结果确保呈现给用户的数据沿袭显示计算机程序及其输入和输出之间的正确的沿袭关系。
从下面的描述和权利要求书中,本发明的其他特征和优点将变得显而易见。
附图说明
图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 Parametersfor 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_usa222包括常用的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.2pset签名字符串计算
逻辑pset 436被提供给pset签名字符串计算步骤442,pset签名字符串计算步骤442基于项目范围和逻辑pset 436中的参数值来计算逻辑pset签名字符串444。在一些示例中,pset签名字符串444通过序列化逻辑pset 436的项目范围、逻辑pset 436中的参数的名称/值对以及与逻辑pset 436相关联的数据流图的原型来进行计算。在其他示例中,pset签名字符串444通过应用散列函数(hash function)或一些其他数据映射算法到逻辑pset436来进行计算。
4.4.3pset签名字符串搜索
将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:一个用于mexicoFEED参数,一个用于usaFEED参数,一个用于canadaFEED参数。因此,用于现有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”的第一逻辑数据集DL1 1106和具有逻辑文件名“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的输出处的第三逻辑数据集的标识符DL31110,在第二子图1106的输入处的第四逻辑数据集的标识符DL41111,以及第三物理数据集1218的标识符。
由于第三逻辑数据集1110和第四逻辑数据集1111是指向相同物理数据集(即,第三物理数据集1218)的不同逻辑数据集(例如,具有不同逻辑文件名的逻辑数据集),第三逻辑数据集1110和第四逻辑数据集1111被分类为重复的逻辑数据集。
注意,尽管上述简单示例包括来自单个作业日志的单对重复的逻辑数据集的标识,但是在包括上述重复的逻辑数据集发现方法的数据处理系统的实际实现中,若干对重复的逻辑数据集可以使用多个作业日志来标识。
5.5重复的逻辑数据集缓解
如上所述,重复的逻辑数据集可能导致数据沿袭报告中的中断。一旦识别出重复的逻辑数据集,就可以采用许多不同的方法来消除重复的逻辑数据集或缓解它们对数据沿袭报告的影响。在一些示例中,所识别的重复的逻辑数据集以例如电子表格形式呈现给用户。然后,用户可以编辑包括重复的逻辑数据集的数据流图以消除重复的逻辑数据集(例如,通过确保在给定的数据流图中,给定的物理数据集仅由单个逻辑数据集引用)。在其他示例中,用户可以将一对重复的逻辑数据集标记为等效的。以这种方式,用户不需要对数据流图进行任何改变。在其他示例中,重复的逻辑数据集对可以被自动标记为等效。
当一对重复的逻辑数据集被标记为等效时,有多种方法在数据沿袭报告中显示等效性。在一种方法中,一对重复的逻辑数据集所引用的物理数据集被示为连接到数据沿袭报告中的重复的逻辑数据集。例如,如图14所示,第三物理数据集DP3 1218包括在数据沿袭报告1317中。第三逻辑数据集DL3 1110和第四逻辑数据集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)的专用硬件来执行处理中的一些或全部。处理可以以分布式方式实现,其中由软件指定的计算的不同部分由不同的计算元件执行。每个这样的计算机程序优选地存储在或下载到可由通用或专用可编程计算机访问的存储设备的计算机可读存储介质(例如,固态存储器或介质,或磁介质或光介质)上,用于当计算机读取存储设备介质以执行本文所述的处理时,配置和操作计算机。本发明的系统还可以被认为可实现为配置有计算机程序的有形的、非暂时性介质,其中如此配置的介质使得计算机以特定和预定义的方式操作以执行一个或多个处理步骤。
已经描述了本发明的多个实施例。然而,应当理解,前述描述旨在说明而不是限制本发明的范围,本发明的范围由所附权利要求的范围限定。因此,其他实施例也在所附权利要求的范围内。例如,在不脱离本发明的范围的情况下可以进行各种修改。另外,上述的一些步骤可以是与顺序无关的,并且因此可以以与所描述的顺序不同的顺序来执行。

Claims (31)

1.一种管理参数值集合的方法,所述方法包括:
接收用于通用计算机程序的多个参数值集合,以及
处理与所述通用计算机程序的实例的执行相关联的日志条目,所述通用计算机程序的每个实例与一个或多个参数值相关联,所述处理包括:
分析所述通用计算机程序以将与所述通用计算机程序相关联的一个或多个参数中的每个分类为第一类参数或第二类参数的成员;
处理与所述通用计算机程序的第一实例的执行相关联的日志条目以形成特定的参数值集合,其中该处理包括:
在所述特定集合中包括出现在所述日志条目中的被分类为所述第一类参数的成员的参数的任何值,以及
从所述特定集合中排除出现在所述日志条目中的被分类为所述第二类参数的成员的参数的任何值;以及
基于所述特定的参数值集合的第一标识符与所述多个参数值集合中的至少一些参数值集合的标识符的比较来确定是否将所述特定的参数值集合添加到所述多个参数值集合中,
其中,所述特定的参数值集合的第一标识符与所述多个参数值集合中的至少一些参数值集合的标识符的比较包括:
基于所述特定的参数值集合和所述通用计算机程序的标识符来确定所述第一标识符;
确定多个第二标识符,每个第二标识符对应于所述多个参数值集合中的至少一些参数值集合的一个参数值集合;以及
将所述第一标识符与所述多个第二标识符中的每个第二标识符进行比较,以确定所述第一标识符是否和所述多个第二标识符中的任一个第二标识符匹配,其中确定是否将所述特定的参数值集合添加到所述多个参数值集合中包括:如果没有第二标识符匹配所述第一标识符,则确定将所述特定的参数值集合添加到所述多个参数值集合中。
2.根据权利要求1所述的方法,其中处理所述日志条目包括:基于参数是否影响与所述通用计算机程序相关联的数据沿袭来对参数进行分类。
3.根据权利要求1所述的方法,其中确定所述第一标识符包括:从所述特定的参数值集合的内容来计算标识字符串,并且确定所述多个第二标识符包括:从所述多个参数值集合中的所述至少一些参数值集合的内容来计算多个标识字符串。
4.根据权利要求1所述的方法,其中确定所述第一标识符包括形成以下中的一个或多个的串联符:所述通用计算机程序的所述标识符,所述特定的参数值集合的名称-数值对,所述通用计算机程序的函数原型以及所述通用计算机程序的第一实例的项目范围。
5.根据权利要求1所述的方法,其中确定所述第一标识符包括将数据映射函数应用于以下中的一个或多个:所述通用计算机程序的所述标识符,所述特定的参数值集合的名称-数值对,所述通用计算机程序的函数原型以及所述通用计算机程序的第一实例的项目范围。
6.根据权利要求5所述的方法,其中所述数据映射函数包括散列函数。
7.根据权利要求1所述的方法,其中所述第一类参数包括影响所述通用计算机程序的逻辑操作的参数,并且所述第二类参数包括不影响所述通用计算机程序的逻辑操作的参数。
8.根据权利要求1所述的方法,其中所述通用计算机程序被指定为数据流图,所述数据流图包括表示数据处理操作的节点和所述节点之间表示数据处理操作之间的数据元素流的链接。
9.根据权利要求1所述的方法,其中对于所述多个参数中的每个,所述分析包括:对该参数进行自动分类或接受该参数的用户定义分类。
10.根据权利要求9所述的方法,其中对该参数进行自动分类包括:初始时将该参数分类为属于所述第一类参数;确定在所述通用计算机程序的实例的多次执行中该参数的唯一值的数量;以及如果该参数的唯一值的数量超过预定阈值,则将该参数重新分类为属于所述第二类参数。
11.根据权利要求9所述的方法,其中对该参数进行自动分类包括:初始时将该参数分类为属于所述第一类参数;确定在所述通用计算机程序的实例的多次执行中该参数的数值变化是否影响与所述通用计算机程序相关联的数据沿袭;以及如果该参数的数值变化不影响所述数据沿袭,则将该参数重新分类为属于所述第二类参数。
12.根据权利要求1所述的方法,还包括:形成与所述通用计算机程序的第一实例的执行相关联的日志条目与所述特定的参数值集合之间的关联。
13.根据权利要求1所述的方法,其中与所述通用计算机程序的第一实例的执行相关联的日志条目包括:用于实例化所述通用计算机程序的执行命令的日志条目,该日志条目包括作为所述执行命令的自变量提供的一个或多个参数值。
14.根据权利要求13所述的方法,其中与所述通用计算机程序的第一实例的执行相关联的日志条目还包括以下中的一个或多个:所述第一实例在其中执行的项目的指示,所述第一实例的内部参数的指示,以及由所述第一实例使用的环境设置、全局变量和配置变量的指示。
15.根据权利要求9所述的方法,还包括:处理用于多个通用计算机程序的全部多个参数值集合以及与所述多个通用计算机程序中的至少一些通用计算机程序的实例的执行相关联的全部多个日志条目,以形成数据沿袭报告,其中所述全部多个参数值集合包括:通用计算机程序的扩充的多个参数值集合,并且与所述多个通用计算机程序中的至少一些通用计算机程序的实例的执行相关联的所述全部多个日志条目包括:通用计算机程序的第一实例的执行的日志条目,包括其与所述特定的参数值集合的关联。
16.根据权利要求15所述的方法,其中形成数据沿袭报告包括:对于所述多个通用计算机程序的全部多个参数值集合中的每个参数值集合,
处理与所述多个通用计算机程序中的所述至少一些通用计算机程序的实例的执行相关联的全部多个日志条目,以识别与对应于该参数值集合的通用计算机程序的实例的执行相关联的所有日志条目,并且从与通用计算机程序的实例的执行相关联的所识别的日志条目中识别通用计算机程序的最近实例化时间;以及
基于通用计算机程序的所述最近实例化时间来确定是否将该参数值集合包括在所述数据沿袭报告中。
17.根据权利要求16所述的方法,其中基于通用计算机程序的最近实例化时间来确定是否将该参数值集合包括在所述数据沿袭报告中包括:将所述最近实例化时间与预定时间间隔进行比较,并且如果通用计算机程序的所述最近实例化时间在所述预定时间间隔内,则将该参数值集合包括在所述数据沿袭报告中。
18.根据权利要求15所述的方法,其中形成所述数据沿袭报告包括:对于所述多个通用计算机程序的全部多个参数值集合中的每个参数值集合,
处理与所述多个通用计算机程序中的至少一些通用计算机程序的实例的执行相关联的全部多个日志条目,以确定与对应于该参数值集合的通用计算机程序的实例的执行相关联的日志条目的数量,以及
基于与该通用计算机程序的实例的执行相关联的日志条目的数量来确定是否将该参数值集合包括在所述数据沿袭报告中。
19.一种计算机可读介质,包括用于管理参数值集合的指令,所述指令用于使计算系统:
接收用于通用计算机程序的多个参数值集合,以及
处理与所述通用计算机程序的实例的执行相关联的日志条目,所述通用计算机程序的每个实例与一个或多个参数值相关联,以及基于所述处理扩充所述多个参数值集合,所述处理包括:
分析所述通用计算机程序以将与所述通用计算机程序相关联的一个或多个参数中的每个分类为第一类参数或第二类参数的成员;
处理与所述通用计算机程序的第一实例的执行相关联的日志条目以形成特定的参数值集合,其中该处理包括:
在所述特定集合中包括出现在所述日志条目中的被分类为所述第一类参数的成员的参数的任何值,以及
从所述特定集合中排除出现在所述日志条目中的被分类为所述第二类参数的成员的参数的任何值;以及
基于所述特定的参数值集合的第一标识符与所述多个参数值集合中的至少一些参数值集合的标识符的比较来确定是否将所述特定的参数值集合添加到所述多个参数值集合中,
其中,所述特定的参数值集合的第一标识符与所述多个参数值集合中的至少一些参数值集合的标识符的比较包括:
基于所述特定的参数值集合和所述通用计算机程序的标识符来确定所述第一标识符;
确定多个第二标识符,每个第二标识符对应于所述多个参数值集合中的至少一些参数值集合的一个参数值集合;以及
将所述第一标识符与所述多个第二标识符中的每个第二标识符进行比较,以确定所述第一标识符是否和所述多个第二标识符中的任一个第二标识符匹配,
其中确定是否将所述特定的参数值集合添加到所述多个参数值集合中包括:如果没有第二标识符匹配所述第一标识符,则确定将所述特定的参数值集合添加到所述多个参数值集合中。
20.一种用于管理参数值集合的计算系统,所述计算系统包括:
输入设备或端口,用于接收用于通用计算机程序的多个参数值集合,以及
至少一个处理器,用于处理与所述通用计算机程序的实例的执行相关联的日志条目,所述通用计算机程序的每个实例与一个或多个参数值相关联,所述处理包括:
分析所述通用计算机程序以将与所述通用计算机程序相关联的一个或多个参数中的每个分类为第一类参数或第二类参数的成员;
处理与所述通用计算机程序的第一实例的执行相关联的日志条目以形成特定的参数值集合,其中所述处理包括:
在所述特定集合中包括出现在所述日志条目中的被分类为所述第一类参数的成员的参数的任何值,以及
从所述特定集合中排除出现在所述日志条目中的被分类为所述第二类参数的成员的参数的任何值;以及
基于所述特定的参数值集合的第一标识符与所述多个参数值集合中的至少一些参数值集合的标识符的比较来确定是否将所述特定的参数值集合添加到所述多个参数值集合中,
其中,所述特定的参数值集合的第一标识符与所述多个参数值集合中的至少一些参数值集合的标识符的比较包括:
基于所述特定的参数值集合和所述通用计算机程序的标识符来确定所述第一标识符;
确定多个第二标识符,每个第二标识符对应于所述多个参数值集合中的至少一些参数值集合的一个参数值集合;以及
将所述第一标识符与所述多个第二标识符中的每个第二标识符进行比较,以确定所述第一标识符是否和所述多个第二标识符中的任一个第二标识符匹配,
其中确定是否将所述特定的参数值集合添加到所述多个参数值集合中包括:如果没有第二标识符匹配所述第一标识符,则确定将所述特定的参数值集合添加到所述多个参数值集合中。
21.一种用于管理参数值集合的计算系统,所述计算系统包括:
用于接收用于通用计算机程序的多个参数值集合的装置,以及
用于处理与所述通用计算机程序的实例的执行相关联的日志条目的装置,所述通用计算机程序的每个实例与一个或多个参数值相关联,所述处理包括:
分析所述通用计算机程序以将与所述通用计算机程序相关联的一个或多个参数中的每个分类为第一类参数或第二类参数的成员;
处理与所述通用计算机程序的第一实例的执行相关联的日志条目以形成特定的参数值集合,其中该处理包括:
在所述特定集合中包括出现在所述日志条目中的被分类为所述第一类参数的成员的参数的任何值,以及
从所述特定集合中排除出现在所述日志条目中的被分类为所述第二类参数的成员的参数的任何值;以及
基于所述特定的参数值集合的第一标识符与所述多个参数值集合中的至少一些参数值集合的标识符的比较来确定是否将所述特定的参数值集合添加到所述多个参数值集合中,
其中,所述特定的参数值集合的第一标识符与所述多个参数值集合中的至少一些参数值集合的标识符的比较包括:
基于所述特定的参数值集合和所述通用计算机程序的标识符来确定所述第一标识符;
确定多个第二标识符,每个第二标识符对应于所述多个参数值集合中的至少一些参数值集合的一个参数值集合;以及
将所述第一标识符与所述多个第二标识符中的每个第二标识符进行比较,以确定所述第一标识符是否和所述多个第二标识符中的任一个第二标识符匹配,
其中确定是否将所述特定的参数值集合添加到所述多个参数值集合中包括:如果没有第二标识符匹配所述第一标识符,则确定将所述特定的参数值集合添加到所述多个参数值集合中。
22.一种用于管理参数值集合的方法,所述方法包括:
接收通用计算机程序;
接收第一参数值集合;
通过根据所述第一参数值集合对所述通用计算机程序进行实例化来生成所述通用计算机程序的可执行实例;
从一个或多个数据集接收数据;
执行所述通用计算机程序的可执行实例以处理所接收的数据中的至少一些数据;
生成所述通用计算机程序的可执行实例的日志条目,所述日志条目包括所述第一参数值集合的至少一些参数值;
存储所述日志条目;
接收所述日志条目;
处理所述日志条目以形成特定的参数值集合,其中所述处理包括:从所述日志条目提取所述第一参数值集合的所述至少一些参数值,并且由所提取的参数值形成所述特定的参数值集合;以及
基于所述特定的参数值集合的第一标识符与多个预先存在的参数值集合中的至少一些预先存在的参数值集合的标识符的比较来确定是否将所述特定的参数值集合添加到所述多个预先存在的参数值集合中,
其中所述特定的参数值集合的标识符与多个预先存在的参数值集合中的至少一些预先存在的参数值集合的标识符的比较包括:
基于所述特定的参数值集合和所述通用计算机程序的标识符来确定所述第一标识符;
确定多个第二标识符,每个第二标识符对应于所述至少一些预先存在的参数值集合中的一个预先存在的参数值集合;以及
将所述第一标识符与所述多个第二标识符中的每个第二标识符进行比较,以确定所述第一标识符是否和所述多个第二标识符中的任一个第二标识符匹配,
其中确定是否将所述特定的参数值集合添加到所述多个预先存在的参数值集合中包括:如果没有第二标识符匹配所述第一标识符,则确定将所述特定的参数值集合添加到所述多个预先存在的参数值集合中。
23.根据权利要求22所述的方法,其中确定所述第一标识符包括:从所述特定的参数值集合的内容来计算标识字符串,并且确定所述多个第二标识符包括:从所述多个预先存在的参数值集合中的所述至少一些预先存在的参数值集合的内容来计算多个标识字符串。
24.根据权利要求22所述的方法,其中确定所述第一标识符包括形成以下中的一个或多个的串联符:所述通用计算机程序的所述标识符,所述特定的参数值集合的名称-数值对,所述通用计算机程序的函数原型以及所述通用计算机程序的可执行实例的项目范围。
25.根据权利要求22所述的方法,其中确定所述第一标识符包括将数据映射函数应用于以下中的一个或多个:所述通用计算机程序的所述标识符,所述特定的参数值集合的名称-数值对,所述通用计算机程序的函数原型以及所述通用计算机程序的可执行实例的项目范围。
26.根据权利要求25所述的方法,其中所述数据映射函数包括散列函数。
27.根据权利要求22所述的方法,还包括:分析所述通用计算机程序以将与所述通用计算机程序相关联的一个或多个参数中的每个分类为第一类参数或第二类参数的成员。
28.根据权利要求27所述的方法,其中处理所述日志条目以形成特定的参数值集合还包括:
在所述特定集合中包括出现在所述日志条目中的被分类为所述第一类参数的成员的任何提取的参数值,以及
从所述特定集合中排除出现在所述日志条目中的被分类为所述第二类参数的成员的任何提取的参数值。
29.根据权利要求27所述的方法,其中所述第一类参数包括影响所述通用计算机程序的逻辑操作的参数,并且所述第二类参数包括不影响所述通用计算机程序的逻辑操作的参数。
30.一种计算机可读介质,包括用于管理参数值集合的指令,所述指令用于使计算系统:
接收通用计算机程序;
接收第一参数值集合;
通过根据所述第一参数值集合对所述通用计算机程序进行实例化来生成所述通用计算机程序的可执行实例;
从一个或多个数据集接收数据;
执行所述通用计算机程序的可执行实例以处理所接收的数据中的至少一些数据;
生成所述通用计算机程序的可执行实例的日志条目,所述日志条目包括所述第一参数值集合的至少一些参数值;
存储所述日志条目;
接收所述日志条目;
处理所述日志条目以形成特定的参数值集合,其中所述处理包括:从所述日志条目提取所述第一参数值集合的所述至少一些参数值,并且由所提取的参数值形成所述特定的参数值集合;以及
基于所述特定的参数值集合的第一标识符与多个预先存在的参数值集合中的至少一些预先存在的参数值集合的标识符的比较来确定是否将所述特定的参数值集合添加到所述多个预先存在的参数值集合中,
其中所述特定的参数值集合的标识符与多个预先存在的参数值集合中的至少一些预先存在的参数值集合的标识符的比较包括:
基于所述特定的参数值集合和所述通用计算机程序的标识符来确定所述第一标识符;
确定多个第二标识符,每个第二标识符对应于所述至少一些预先存在的参数值集合中的一个预先存在的参数值集合;以及
将所述第一标识符与所述多个第二标识符中的每个第二标识符进行比较,以确定所述第一标识符是否和所述多个第二标识符中的任一个第二标识符匹配,
其中确定是否将所述特定的参数值集合添加到所述多个预先存在的参数值集合中包括:如果没有第二标识符匹配所述第一标识符,则确定将所述特定的参数值集合添加到所述多个预先存在的参数值集合中。
31.一种用于管理参数值集合的系统,所述系统包括:
第一计算系统包括:
第一输入设备或端口,用于接收通用计算机程序、第一参数值集合和来自一个或多个数据集的数据;
第一组一个或多个处理器,被配置为:
通过根据所述第一参数值集合对所述通用计算机程序进行实例化来生成所述通用计算机程序的可执行实例;
执行所述通用计算机程序的可执行实例以处理所接收的数据中的至少一些数据;
生成所述通用计算机程序的可执行实例的日志条目,所述日志条目包括所述第一参数值集合的至少一些参数值;第一输出设备或端口,用于在存储设备中存储所述日志条目;
第二计算系统包括:
第二输入设备或端口,用于接收所述日志条目;第二组一个或多个处理器,被配置为:
处理所述日志条目以形成特定的参数值集合,其中所述处理包括:从所述日志条目提取所述第一参数值集合的所述至少一些参数值,并且由所提取的参数值形成所述特定的参数值集合;以及
基于所述特定的参数值集合的第一标识符与多个预先存在的参数值集合中的至少一些预先存在的参数值集合的标识符的比较来确定是否将所述特定的参数值集合添加到所述多个预先存在的参数值集合中,
其中所述特定的参数值集合的标识符与多个预先存在的参数值集合中的至少一些预先存在的参数值集合的标识符的比较包括:
基于所述特定的参数值集合和所述通用计算机程序的标识符来确定所述第一标识符;
确定多个第二标识符,每个第二标识符对应于所述至少一些预先存在的参数值集合中的一个预先存在的参数值集合;以及
将所述第一标识符与所述多个第二标识符中的每个第二标识符进行比较,以确定所述第一标识符是否和所述多个第二标识符中的任一个第二标识符匹配,
其中确定是否将所述特定的参数值集合添加到所述多个预先存在的参数值集合中包括:如果没有第二标识符匹配所述第一标识符,则确定将所述特定的参数值集合添加到所述多个预先存在的参数值集合中。
CN201580050557.9A 2014-07-18 2015-07-20 管理参数集 Active CN106716352B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201462026228P 2014-07-18 2014-07-18
US62/026,228 2014-07-18
PCT/US2015/041093 WO2016011441A1 (en) 2014-07-18 2015-07-20 Managing parameter sets

Publications (2)

Publication Number Publication Date
CN106716352A CN106716352A (zh) 2017-05-24
CN106716352B true CN106716352B (zh) 2020-04-28

Family

ID=53836203

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201580050557.9A Active CN106716352B (zh) 2014-07-18 2015-07-20 管理参数集
CN201580039343.1A Active CN106796513B (zh) 2014-07-18 2015-07-20 管理沿袭信息

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201580039343.1A Active CN106796513B (zh) 2014-07-18 2015-07-20 管理沿袭信息

Country Status (9)

Country Link
US (3) US10175974B2 (zh)
EP (4) EP3195114B1 (zh)
JP (2) JP6457622B2 (zh)
KR (2) KR102279859B1 (zh)
CN (2) CN106716352B (zh)
AU (3) AU2015289441B2 (zh)
CA (2) CA2955380C (zh)
SG (2) SG11201700384WA (zh)
WO (2) WO2016011441A1 (zh)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102279859B1 (ko) 2014-07-18 2021-07-20 아브 이니티오 테크놀로지 엘엘시 파라미터 세트의 관리
US10275227B1 (en) * 2015-02-20 2019-04-30 The Mathworks, Inc. Determining functional equivalence of configurations of a model
US11727025B2 (en) 2015-04-03 2023-08-15 Oracle International Corporation Method and system for implementing a log parser in a log analytics system
US10366096B2 (en) 2015-04-03 2019-07-30 Oracle International Corporation Method and system for implementing a log parser in a log analytics system
US11226975B2 (en) 2015-04-03 2022-01-18 Oracle International Corporation Method and system for implementing machine learning classifications
US10467195B2 (en) 2016-09-06 2019-11-05 Samsung Electronics Co., Ltd. Adaptive caching replacement manager with dynamic updating granulates and partitions for shared flash-based storage system
US10455045B2 (en) 2016-09-06 2019-10-22 Samsung Electronics Co., Ltd. Automatic data replica manager in distributed caching and data processing systems
CA3043586A1 (en) 2016-11-09 2018-05-17 Ab Initio Technology Llc Systems and methods for determining relationships among data elements
US10431002B2 (en) * 2017-02-23 2019-10-01 International Business Machines Corporation Displaying data lineage using three dimensional virtual reality model
US10379825B2 (en) 2017-05-22 2019-08-13 Ab Initio Technology Llc Automated dependency analyzer for heterogeneously programmed data processing system
US10726069B2 (en) * 2017-08-18 2020-07-28 Sap Se Classification of log entry types
US11055074B2 (en) * 2017-11-13 2021-07-06 Ab Initio Technology Llc Key-based logging for processing of structured data items with executable logic
US11681944B2 (en) 2018-08-09 2023-06-20 Oracle International Corporation System and method to generate a labeled dataset for training an entity detection system
US10803051B2 (en) * 2018-10-10 2020-10-13 Bank Of America Corporation System for performing a lineage control in a data network
US11256701B2 (en) 2019-01-02 2022-02-22 Bank Of America Corporation Interactive lineage mapping system
US11194845B2 (en) * 2019-04-19 2021-12-07 Tableau Software, LLC Interactive lineage analyzer for data assets
US10996946B2 (en) 2019-05-22 2021-05-04 Ab Initio Technology Llc Static and runtime analysis of computer program ecosystems
US11080227B2 (en) * 2019-08-08 2021-08-03 SambaNova Systems, Inc. Compiler flow logic for reconfigurable architectures
US10798100B1 (en) 2019-09-12 2020-10-06 Snowflake Inc. Managing membership in a private data exchange
KR102168775B1 (ko) * 2019-12-27 2020-10-23 주식회사에어플러그 네트워크를 경유하는 서비스 기반의 정보 조회를 신속하게 처리하기 위한 방법과 그 방법을 위한 기기
CN112131303A (zh) * 2020-09-18 2020-12-25 天津大学 基于神经网络模型的大规模数据沿袭方法
US11971909B2 (en) 2021-01-31 2024-04-30 Ab Initio Technology Llc Data processing system with manipulation of logical dataset groups
CA3210343A1 (en) * 2021-01-31 2022-08-04 Ab Initio Technology Llc Dataset multiplexer for data processing system
WO2023060170A2 (en) 2021-10-08 2023-04-13 Ab Initio Technology Llc Automated modification of computer programs

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1328904A2 (en) * 2000-07-28 2003-07-23 AB Initio Software Corporation Parameterized graphs with conditional components
CN101535955A (zh) * 2005-06-27 2009-09-16 起元软件有限公司 基于图形的计算的参数管理
CN103745319A (zh) * 2014-01-09 2014-04-23 北京大学 一种基于多状态科学工作流的数据世系追溯系统和方法

Family Cites Families (162)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2727026B2 (ja) * 1989-06-14 1998-03-11 株式会社エイ・ティ・アール通信システム研究所 プログラム構造自動設計装置
US5168441A (en) 1990-05-30 1992-12-01 Allen-Bradley Company, Inc. Methods for set up and programming of machine and process controllers
US5446885A (en) 1992-05-15 1995-08-29 International Business Machines Corporation Event driven management information system with rule-based applications structure stored in a relational database
JPH0744368A (ja) 1993-07-29 1995-02-14 Hitachi Ltd 組合せモデルの編集システム
US5758351A (en) 1995-03-01 1998-05-26 Sterling Software, Inc. System and method for the creation and use of surrogate information system objects
US5966072A (en) 1996-07-02 1999-10-12 Ab Initio Software Corporation Executing computations expressed as graphs
US6216140B1 (en) 1997-09-17 2001-04-10 Hewlett-Packard Company Methodology for the efficient management of hierarchically organized information
US6216131B1 (en) 1998-02-06 2001-04-10 Starfish Software, Inc. Methods for mapping data fields from one data set to another in a data processing environment
US6088702A (en) 1998-02-25 2000-07-11 Plantz; Scott H. Group publishing system
US6381735B1 (en) * 1998-10-02 2002-04-30 Microsoft Corporation Dynamic classification of sections of software
US6948154B1 (en) 1999-03-22 2005-09-20 Oregon State University Methodology for testing spreadsheets
US7120638B1 (en) 1999-09-21 2006-10-10 International Business Machines Corporation Method, system, program, and data structure for cleaning a database table
US6633875B2 (en) 1999-12-30 2003-10-14 Shaun Michael Brady Computer database system and method for collecting and reporting real estate property and loan performance information over a computer driven network
GB2358072B (en) 2000-01-07 2004-01-28 Mitel Corp Tabular range editing mechanism
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
US7054885B1 (en) * 2000-05-23 2006-05-30 Rockwell Collins, Inc. Method and system for managing the configuration of an evolving engineering design using an object-oriented database
US7031001B2 (en) 2000-07-31 2006-04-18 Canon Kabushiki Kaisha Print control apparatus and control method
US6704024B2 (en) 2000-08-07 2004-03-09 Zframe, Inc. Visual content browsing using rasterized representations
US6708186B1 (en) 2000-08-14 2004-03-16 Oracle International Corporation Aggregating and manipulating dictionary metadata in a database system
US7143076B2 (en) 2000-12-12 2006-11-28 Sap Aktiengesellschaft Method and apparatus for transforming data
US6629098B2 (en) 2001-01-16 2003-09-30 Hewlett-Packard Development Company, L.P. Method and system for validating data submitted to a database application
JP2002279147A (ja) 2001-03-22 2002-09-27 Sharp Corp 内製化判断支援装置、内製化判断支援方法および内製化判断支援プログラムを記録した機械読取可能な記録媒体および内製化判断支援プログラム
US7614036B2 (en) 2001-03-22 2009-11-03 Robert D Bjornson Method and system for dataflow creation and execution
US7853553B2 (en) 2001-03-26 2010-12-14 Siebel Systems, Inc. Engine for converting data from a source format to a destination format using user defined mappings
US6732095B1 (en) 2001-04-13 2004-05-04 Siebel Systems, Inc. Method and apparatus for mapping between XML and relational representations
US6494159B2 (en) 2001-05-11 2002-12-17 The United States Of America As Represented By The Secretary Of The Navy Submarine launched unmanned combat vehicle replenishment
US6832366B2 (en) 2001-05-17 2004-12-14 Simdesk Technologies, Inc. Application generator
US7099885B2 (en) 2001-05-25 2006-08-29 Unicorn Solutions Method and system for collaborative ontology modeling
US6868526B2 (en) 2001-07-18 2005-03-15 The Mathworks, Inc. Graphical subclassing
AUPR966001A0 (en) 2001-12-20 2002-01-24 Canon Information Systems Research Australia Pty Ltd A microprocessor card defining a custom user interface
US7080088B1 (en) 2002-01-30 2006-07-18 Oracle International Corporation Automatic reconciliation of bindable objects
US7185317B2 (en) 2002-02-14 2007-02-27 Hubbard & Wells Logical data modeling and integrated application framework
US6820077B2 (en) 2002-02-22 2004-11-16 Informatica Corporation Method and system for navigating a large amount of data
US7110924B2 (en) 2002-05-15 2006-09-19 Caterpillar Inc. Method for controlling the performance of a target system
US7574652B2 (en) 2002-06-20 2009-08-11 Canon Kabushiki Kaisha Methods for interactively defining transforms and for generating queries by manipulating existing query data
US20050144189A1 (en) 2002-07-19 2005-06-30 Keay Edwards Electronic item management and archival system and method of operating the same
US7437766B2 (en) * 2002-10-03 2008-10-14 Sandia National Laboratories Method and apparatus providing deception and/or altered operation in an information system operating system
US7167850B2 (en) 2002-10-10 2007-01-23 Ab Initio Software Corporation Startup and control of graph-based computation
US7225301B2 (en) 2002-11-22 2007-05-29 Quicksilver Technologies External memory controller node
US20040225632A1 (en) 2003-05-08 2004-11-11 Microsoft Corporation Automated information management and related methods
US7257603B2 (en) 2003-05-08 2007-08-14 Microsoft Corporation Preview mode
CA2433750A1 (en) * 2003-06-27 2004-12-27 Ibm Canada Limited - Ibm Canada Limitee Automatic collection of trace detail and history data
US20050010896A1 (en) 2003-07-07 2005-01-13 International Business Machines Corporation Universal format transformation between relational database management systems and extensible markup language using XML relational transformation
US20050060317A1 (en) 2003-09-12 2005-03-17 Lott Christopher Martin Method and system for the specification of interface definitions and business rules and automatic generation of message validation and transformation software
US7865507B2 (en) 2003-09-15 2011-01-04 Oracle International Corporation Data quality analyzer
CN102982065B (zh) 2003-09-15 2016-09-21 起元科技有限公司 数据处理方法、数据处理装置及计算机可读存储介质
US7263532B2 (en) * 2003-09-23 2007-08-28 Microsoft Corporation Region-based memory management for object-oriented programs
US7328428B2 (en) 2003-09-23 2008-02-05 Trivergent Technologies, Inc. System and method for generating data validation rules
US7765529B1 (en) 2003-10-31 2010-07-27 The Mathworks, Inc. Transforming graphical objects in a graphical modeling environment
US20080052687A1 (en) 2003-11-03 2008-02-28 Agustin Gonzales-Tuchmann Development environment for data transformation applications
US7690000B2 (en) 2004-01-08 2010-03-30 Microsoft Corporation Metadata journal for information technology systems
US20050187984A1 (en) 2004-02-20 2005-08-25 Tianlong Chen Data driven database management system and method
US7543256B1 (en) 2004-03-01 2009-06-02 Advanced Micro Devices, Inc. System and method for designing an integrated circuit device
US8165853B2 (en) 2004-04-16 2012-04-24 Knowledgebase Marketing, Inc. Dimension reduction in predictive model development
JP4275013B2 (ja) 2004-06-21 2009-06-10 三洋電機株式会社 データフローグラフ処理装置、処理装置、リコンフィギュラブル回路。
US7536406B2 (en) 2004-06-23 2009-05-19 Microsoft Corporation Impact analysis in an object model
US20060007464A1 (en) 2004-06-30 2006-01-12 Percey Michael F Structured data update and transformation system
US7353227B2 (en) 2004-07-23 2008-04-01 Sap Aktiengesellschaft Conflict resolution engine
US7899833B2 (en) 2004-11-02 2011-03-01 Ab Initio Technology Llc Managing related data objects
US7760746B2 (en) * 2004-11-30 2010-07-20 Computer Associates Think, Inc. Cascading configuration using one or more configuration trees
US7428486B1 (en) 2005-01-31 2008-09-23 Hewlett-Packard Development Company, L.P. System and method for generating process simulation parameters
US8768877B2 (en) 2005-03-07 2014-07-01 Ca, Inc. System and method for data manipulation
JP4550641B2 (ja) 2005-03-30 2010-09-22 大陽日酸エンジニアリング株式会社 データ照合装置及び方法
US8255363B2 (en) 2005-06-08 2012-08-28 rPath Methods, systems, and computer program products for provisioning software using dynamic tags to identify and process files
US8630917B2 (en) 2005-06-09 2014-01-14 At&T Intellectual Property Ii, L.P. Arrangement for guiding user design of comprehensive product solution using on-the-fly data validation
US7877350B2 (en) 2005-06-27 2011-01-25 Ab Initio Technology Llc Managing metadata for graph-based computations
US7464105B2 (en) 2005-07-06 2008-12-09 International Business Machines Corporation Method for performing semi-automatic dataset maintenance
US7870162B2 (en) 2005-07-29 2011-01-11 Sap Ag Method for generating properly formed expressions
US20070050750A1 (en) 2005-08-31 2007-03-01 Microsoft Corporation Extensible data-driven setup application for operating system
US20070080088A1 (en) 2005-10-06 2007-04-12 Trotter Jason K Preassembly of cooperating parts
US9798781B2 (en) 2005-10-25 2017-10-24 Angoss Software Corporation Strategy trees for data mining
US8060821B2 (en) 2005-12-09 2011-11-15 Apple Inc. Enhanced visual feedback of interactions with user interface
US20070179956A1 (en) 2006-01-18 2007-08-02 Whitmyer Wesley W Jr Record protection system for networked databases
US7761586B2 (en) 2006-02-06 2010-07-20 Microsoft Corporation Accessing and manipulating data in a data flow graph
US7661067B2 (en) 2006-02-21 2010-02-09 International Business Machines Corporation Method for providing quick responses in instant messaging conversations
US7647298B2 (en) 2006-03-23 2010-01-12 Microsoft Corporation Generation of query and update views for object relational mapping
US20070294119A1 (en) 2006-03-30 2007-12-20 Adaptive Alpha, Llc System, method and computer program product for evaluating and rating an asset management business and associate investment funds using experiential business process and performance data, and applications thereof
US8868577B2 (en) 2006-03-31 2014-10-21 Sap Se Generic database manipulator
US7797319B2 (en) 2006-05-15 2010-09-14 Algebraix Data Corporation Systems and methods for data model mapping
US7870556B2 (en) 2006-05-16 2011-01-11 Ab Initio Technology Llc Managing computing resources in graph-based computations
US7970746B2 (en) 2006-06-13 2011-06-28 Microsoft Corporation Declarative management framework
US7689565B1 (en) 2006-06-28 2010-03-30 Emc Corporation Methods and apparatus for synchronizing network management data
US20080040388A1 (en) * 2006-08-04 2008-02-14 Jonah Petri Methods and systems for tracking document lineage
EP2050013A4 (en) 2006-08-10 2010-01-06 Ab Initio Software Llc DISTRIBUTION SERVICES IN DIAGRAM-BASED CALCULATIONS
US8397208B2 (en) * 2006-08-31 2013-03-12 Serena Software, Inc. Method and system for baselining across multiple domains
US7913233B2 (en) 2006-09-28 2011-03-22 Bank Of America Corporation Performance analyzer
US8423564B1 (en) 2006-10-31 2013-04-16 Ncr Corporation Methods and apparatus for managing and updating stored information
US20080126988A1 (en) 2006-11-24 2008-05-29 Jayprakash Mudaliar Application management tool
CA2705379C (en) * 2006-12-04 2016-08-30 Commvault Systems, Inc. Systems and methods for creating copies of data, such as archive copies
US7890509B1 (en) 2006-12-05 2011-02-15 First American Real Estate Solutions Llc Parcel data acquisition and processing
US9614929B2 (en) * 2006-12-19 2017-04-04 International Business Machines Corporation Application server with automatic and autonomic application configuration validation
US7428846B2 (en) 2006-12-21 2008-09-30 Namco Machine & Gear Works Ltd. Shaft encoder with anti-backlash gears
US20080162384A1 (en) 2006-12-28 2008-07-03 Privacy Networks, Inc. Statistical Heuristic Classification
GB0700450D0 (en) 2007-01-10 2007-02-21 Radiation Watch Ltd The RWL threat engine
WO2008113164A1 (en) * 2007-03-16 2008-09-25 Research In Motion Limited Automating construction of a data-source interface for component applications
US9430552B2 (en) 2007-03-16 2016-08-30 Microsoft Technology Licensing, Llc View maintenance rules for an update pipeline of an object-relational mapping (ORM) platform
US20080243765A1 (en) 2007-03-29 2008-10-02 Ariel Fuxman Method for generating nested mapping specifications in a schema mapping formalism
US7603368B2 (en) 2007-03-30 2009-10-13 Fmr Llc Mapping data on a network
US8069129B2 (en) 2007-04-10 2011-11-29 Ab Initio Technology Llc Editing and compiling business rules
US8032404B2 (en) 2007-06-13 2011-10-04 International Business Machines Corporation Method and system for estimating financial benefits of packaged application service projects
US8694518B2 (en) 2007-06-14 2014-04-08 Colorquick, L.L.C. Method and apparatus for database mapping
US8429619B2 (en) 2007-07-03 2013-04-23 International Business Machines Corporation Executable high-level trace file generation system
US8103704B2 (en) 2007-07-31 2012-01-24 ePrentise, LLC Method for database consolidation and database separation
US7912264B2 (en) 2007-08-03 2011-03-22 Siemens Medical Solutions Usa, Inc. Multi-volume rendering of single mode data in medical diagnostic imaging
US9110967B2 (en) 2007-08-29 2015-08-18 International Business Machines Corporation Data lineage in data warehousing environments
US7860863B2 (en) 2007-09-05 2010-12-28 International Business Machines Corporation Optimization model for processing hierarchical data in stream systems
US8566296B2 (en) 2007-09-14 2013-10-22 Oracle International Corporation Support for compensation aware data types in relational database systems
EP2191362B1 (en) 2007-09-20 2015-08-19 Ab Initio Technology LLC Managing data flows in graph-based computations
US8572551B2 (en) * 2007-12-20 2013-10-29 International Business Machines Corporation Difference log production for model merging
US7937415B2 (en) 2007-12-28 2011-05-03 Business Objects, S.A. Apparatus and method for stripping business intelligence documents of references to unused data objects
EP2260404A4 (en) 2008-02-26 2016-03-30 Ab Initio Technology Llc GRAPHICAL PRESENTATIONS OF DATA RELATIONSHIPS
US20090234623A1 (en) 2008-03-12 2009-09-17 Schlumberger Technology Corporation Validating field data
JP4224126B1 (ja) 2008-06-09 2009-02-12 パナソニック株式会社 データベース管理サーバ装置、データベース管理システム、データベース管理方法およびデータベース管理プログラム
US20090319494A1 (en) 2008-06-20 2009-12-24 Microsoft Corporation Field mapping for data stream output
CA2729304C (en) * 2008-06-30 2016-12-13 Ab Initio Technology Llc Data logging in graph-based computations
US8082228B2 (en) 2008-10-31 2011-12-20 Netapp, Inc. Remote office duplication
EP2356581A4 (en) 2008-11-12 2012-05-02 Ab Initio Technology Llc MANAGEMENT AND AUTOMATIC CONNECTION OF DATA OBJECTS
KR20150042866A (ko) 2008-12-02 2015-04-21 아브 이니티오 테크놀로지 엘엘시 데이터 관리 시스템 내의 데이터 집합의 맵핑 인스턴스
JP5587905B2 (ja) 2008-12-02 2014-09-10 アビニシオ テクノロジー エルエルシー データメンテナンスシステム
CN105243422B (zh) 2009-01-30 2018-07-06 起元技术有限责任公司 使用矢量字段处理数据
EP2221733A1 (en) 2009-02-17 2010-08-25 AMADEUS sas Method allowing validation in a production database of new entered data prior to their release
US20100293365A1 (en) * 2009-05-14 2010-11-18 Sony Computer Entertainment America Inc. Method and apparatus for system and software quick launch
CA2672336A1 (en) * 2009-07-15 2011-01-15 Ibm Canada Limited - Ibm Canada Limitee Tool for analyzing and resolving errors in a process server
US8935702B2 (en) 2009-09-04 2015-01-13 International Business Machines Corporation Resource optimization for parallel data integration
KR101688555B1 (ko) * 2009-09-16 2016-12-21 아브 이니티오 테크놀로지 엘엘시 데이터세트 요소의 매핑
KR101755365B1 (ko) 2009-11-13 2017-07-10 아브 이니티오 테크놀로지 엘엘시 레코드 포맷 정보의 관리
US9805015B2 (en) 2009-12-16 2017-10-31 Teradata Us, Inc. System and method for enhanced user interactions with a grid
US8433733B2 (en) * 2010-01-13 2013-04-30 Vmware, Inc. Web application record-replay system and method
US8555265B2 (en) 2010-05-04 2013-10-08 Google Inc. Parallel processing of data
US8862563B2 (en) 2010-05-12 2014-10-14 Microsoft Corporation Getting dependency metadata using statement execution plans
US8583664B2 (en) 2010-05-26 2013-11-12 Microsoft Corporation Exposing metadata relationships through filter interplay
US8412744B2 (en) * 2010-06-23 2013-04-02 Microsoft Corporation Visualization of runtime analysis across dynamic boundaries
US8732143B2 (en) 2010-08-27 2014-05-20 Microsoft Corporation Reducing locking during database transactions
WO2012061109A1 (en) 2010-10-25 2012-05-10 Ab Initio Technology Llc Managing data set objects in a dataflow graph that represents a computer program
US8949166B2 (en) 2010-12-16 2015-02-03 International Business Machines Corporation Creating and processing a data rule for data quality
US9171283B2 (en) 2011-01-11 2015-10-27 International Business Machines Corporation Capturing and visualizing data lineage in content management system
WO2012097278A1 (en) 2011-01-14 2012-07-19 Ab Initio Technology Llc Managing changes to collections of data
US8718978B2 (en) * 2011-02-28 2014-05-06 Apple Inc. Performance logging framework
US8321433B1 (en) * 2011-05-06 2012-11-27 Sap Ag Systems and methods for business process logging
US8935705B2 (en) * 2011-05-13 2015-01-13 Benefitfocus.Com, Inc. Execution of highly concurrent processing tasks based on the updated dependency data structure at run-time
US20120310904A1 (en) 2011-06-01 2012-12-06 International Business Machine Corporation Data validation and service
US8924930B2 (en) * 2011-06-28 2014-12-30 Microsoft Corporation Virtual machine image lineage
US8893091B2 (en) * 2011-06-30 2014-11-18 International Business Machines Corporation Running an executable during a debug session
CN102279087B (zh) * 2011-07-05 2014-03-26 苏州世力源科技有限公司 垂直冲击试验台安全连锁保护机构及方法
US9286334B2 (en) * 2011-07-15 2016-03-15 International Business Machines Corporation Versioning of metadata, including presentation of provenance and lineage for versioned metadata
US9384193B2 (en) * 2011-07-15 2016-07-05 International Business Machines Corporation Use and enforcement of provenance and lineage constraints
US20130166515A1 (en) 2011-12-22 2013-06-27 David Kung Generating validation rules for a data report based on profiling the data report in a data processing tool
US8874435B2 (en) * 2012-04-17 2014-10-28 International Business Machines Corporation Automated glossary creation
CN104471561B (zh) * 2012-05-14 2019-03-15 诺基亚技术有限公司 确定情境-认知相似度和确定情境-认知推荐的方法和装置
US8516008B1 (en) 2012-05-18 2013-08-20 Splunk Inc. Flexible schema column store
US8954923B2 (en) * 2012-05-22 2015-02-10 Salesforce.Com, Inc. Mechanism for facilitating dynamic interaction with development applications and tools an on-demand services enviroment
CN102693310B (zh) * 2012-05-28 2016-08-03 无锡成电科大科技发展有限公司 一种基于关系数据库的资源描述框架查询方法和系统
US9659042B2 (en) * 2012-06-12 2017-05-23 Accenture Global Services Limited Data lineage tracking
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
US9311221B2 (en) 2013-03-15 2016-04-12 Ab Initio Technology Llc Recording program execution
JP6264849B2 (ja) * 2013-11-12 2018-01-24 富士通株式会社 分析方法、分析装置、及び分析プログラム
KR102279859B1 (ko) 2014-07-18 2021-07-20 아브 이니티오 테크놀로지 엘엘시 파라미터 세트의 관리
CN104574306A (zh) 2014-12-24 2015-04-29 掌赢信息科技(上海)有限公司 一种即时视频中的人脸美化方法和电子设备
US9658848B2 (en) * 2015-05-29 2017-05-23 Bank Of America Corporation Stored procedure development and deployment
US10078579B1 (en) * 2015-06-26 2018-09-18 Amazon Technologies, Inc. Metrics-based analysis for testing a service
CN105118019B (zh) 2015-09-11 2018-07-06 广东欧珀移动通信有限公司 一种图片处理方法及用户终端

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1328904A2 (en) * 2000-07-28 2003-07-23 AB Initio Software Corporation Parameterized graphs with conditional components
CN101535955A (zh) * 2005-06-27 2009-09-16 起元软件有限公司 基于图形的计算的参数管理
CN103745319A (zh) * 2014-01-09 2014-04-23 北京大学 一种基于多状态科学工作流的数据世系追溯系统和方法

Also Published As

Publication number Publication date
KR20170031750A (ko) 2017-03-21
KR102292803B1 (ko) 2021-08-23
JP2017525039A (ja) 2017-08-31
EP3191962B1 (en) 2019-12-11
CA2955378C (en) 2020-10-13
CA2955380A1 (en) 2016-01-21
SG11201700384WA (en) 2017-02-27
CA2955378A1 (en) 2016-01-21
SG11201700381XA (en) 2017-02-27
EP3191962A1 (en) 2017-07-19
JP6457622B2 (ja) 2019-01-23
EP3742284A1 (en) 2020-11-25
AU2019236625A1 (en) 2019-10-17
US20160019057A1 (en) 2016-01-21
AU2015289442A1 (en) 2017-03-02
EP3195114B1 (en) 2020-04-01
JP2017528797A (ja) 2017-09-28
CN106796513B (zh) 2020-12-11
US20160019286A1 (en) 2016-01-21
KR102279859B1 (ko) 2021-07-20
CN106796513A (zh) 2017-05-31
AU2015289441B2 (en) 2019-06-27
AU2019236625B2 (en) 2020-11-26
CA2955380C (en) 2021-03-16
CN106716352A (zh) 2017-05-24
US20190243639A1 (en) 2019-08-08
EP3195114A1 (en) 2017-07-26
EP3690637A1 (en) 2020-08-05
AU2015289441A1 (en) 2017-02-23
WO2016011442A1 (en) 2016-01-21
JP6636009B2 (ja) 2020-01-29
WO2016011441A1 (en) 2016-01-21
AU2015289442B2 (en) 2019-07-11
US10175974B2 (en) 2019-01-08
US11210086B2 (en) 2021-12-28
US10318283B2 (en) 2019-06-11
KR20170031749A (ko) 2017-03-21

Similar Documents

Publication Publication Date Title
CN106716352B (zh) 管理参数集
AU2021201363B2 (en) Format-specific data processing operations
WO2013168495A1 (ja) 階層型確率モデル生成システム、階層型確率モデル生成方法、およびプログラム
US10657476B2 (en) Just in time compilation (JIT) for business process execution
US10996946B2 (en) Static and runtime analysis of computer program ecosystems

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

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant