CN1713179A - 在对象模型中的影响分析 - Google Patents

在对象模型中的影响分析 Download PDF

Info

Publication number
CN1713179A
CN1713179A CNA2005100740115A CN200510074011A CN1713179A CN 1713179 A CN1713179 A CN 1713179A CN A2005100740115 A CNA2005100740115 A CN A2005100740115A CN 200510074011 A CN200510074011 A CN 200510074011A CN 1713179 A CN1713179 A CN 1713179A
Authority
CN
China
Prior art keywords
data
resource
tabulation
assembly
impact analysis
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.)
Granted
Application number
CNA2005100740115A
Other languages
English (en)
Other versions
CN1713179B (zh
Inventor
J·K·哈塞尔登
M·J·T·杜利
M·E·戴维
S·伊万诺夫
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of CN1713179A publication Critical patent/CN1713179A/zh
Application granted granted Critical
Publication of CN1713179B publication Critical patent/CN1713179B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • G06F8/24Object-oriented
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/40Data acquisition and logging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99942Manipulating data structure, e.g. compression, compaction, compilation
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99943Generating database or data structure, e.g. via user interface
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99944Object-oriented database structure

Abstract

影响分析提供了确定某一特定对象所依赖或使用的那些对象,和依赖或使用某一特定对象的那些对象的能力。术语“对象”,举例说,可以指任务和/或对象类型。影响分析在提高大型、复杂文档中的用户生产效率非常重要,因为它帮助确定怎样和哪里一个对象被系统中其他对象所使用,从而潜在地节省了大量体力劳动。

Description

在对象模型中的影响分析
(1)技术领域
本发明主要涉及对象模型领域,尤其涉及分析数据结构或系统中对象之间的关系。
(2)背景技术
存储系统通常把对象排列在特定的结构中,比如图表。结构中的对象间存在隐含的依赖关系,所以对一个对象的改变可能改变或影响该结构中的其他对象,或者整个系统。在确定对一个对象的改变对于结构或整个系统的影响上存在问题。这种改变的影响只有在结构中的对象间相互作用完全基于结构中对象的位置时才是显而易见的。但情况通常并非如此,特别是当结构中的对象包含有可执行代码,可以以任意方式运行。所以在对象间依赖关系并非显而易见的环境中,有克服发现改变的影响-影响分析-的困难的需要。
一种类型的存储系统是数据库管理系统。计算机上的关系数据库管理系统中的数据记录以表的形式维护,表是有相同列的行的集合。每一列为构成行的数据记录保存有关一个特定类型的数据的信息。每个表可关联一个或多个索引。索引是根据表中一列或多列中的数据排序的指向表中数据记录的指针集。在某些情况下,一个查询所需的全部信息可以在索引中找到,而无需搜索实表。一个索引由行即索引项组成,索引项包含索引键和指向表中具有该索引项键的键列值的数据库记录的指针。索引键包括提供表中记录排序的索引键列。索引键列包含表中的列,且可包含对特定的列可能的值中的任意值。那些经常被用来访问表的列可被用作关键列。
数据库表中的外键—也可称作外部关键字—是涉及(或指向)所用表中的特定键—通常为主键—的来自其他表的键。主键可以被其他表中的多个外键所指向。但是主键并非必需被外键所指向。当用户的具体需求改变时,是能够更改表中的主键的。例如,在一个应用中,一个城镇中的人们可以根据他们的驾驶执照号码唯一地予以标识,但在另一情况下,可能根据他们的电话号码来标识他们更方便。当表中的主键被更改时,如果存在任何相关联的外键集,通常也会因此而改变。容易判定外键和主键间的关系,且容易理解外键的改变是如何影响主键的,反之亦然。
已经定义了各种提供软件组件间的标准互连机制的对象模型。根据这些对象模型,软件组件在面向对象意义上是“对象”,且软件组件提供“接口”,通过接口他们的功能性能被访问。就一个对象模型而言,很难确定对象模型中一个对象的改变对结构或整个系统的影响。
许多组织需要将数据集中,用以改进团体的决策。然而,他们的数据可能以多种形式存储,并存储在不同的位置。DTS通过提供一组允许对不同来源的数据进行提取、转换和合并至单个或多个由DTS连通性所支持的目的文件的工具而解决了这种需求。通过使用DTS工具以绘图形式生成DTS包或者通过用DTS对象模型来对包进行编程,可以按要求制定定制数据移动解决方案。
DTS包是连接、DTS任务、DTS转换、变量和或用一DTS工具汇编或程序性地汇编成多种协同操作的计算应用程序或结构化的存储文件的工作流程约束的有组织的集合。一般,每个包包含严格或多个当包运行时顺序执行或并行执行的步骤。当被执行时,该包连接至正确的数据源、复制数据和数据库对象、转换数据、并把事件通知其他用户或进程。例如,程序包可以被编辑、用口令保护、确定执行的时间、并通过版本来检索。
用户通常可以通过一次一个地添加各种组件、然后测试该更改而一件一件地创建或编辑包。这样的包可以是任意复杂的,而且难以—即使有点可能—在不实际运行程序的情况下确定对第一对象的一更改或更新对第二对象的影响。这导致反反复复的试验循环才可以得到想要的行为。
根据以上所述,可以理解,存在着对克服现有技术问题的系统和方法的需求。
(3)发明内容
下面的概述提供对本发明多个方面的概览。并非旨在提供对本发明所有的重要方面的详尽描述,也不是要定义本发明的范围。相反,本概述意欲作为对以下详细描述和附图的引言。
本发明涉及影响分析,影响分析提供确定一特定对象所依赖或所使用的对象的能力、和确定依赖于和使用一特定对象的对象的能力。术语“对象”,例如,可以指任务和/或对象类型。影响分析对于改善大的复杂文档中的用户生产效率是非常重要,因为它便于确定一对象是怎样和在哪里被系统中其他对象所使用的,由此可能节省大量手工劳动。
一示例性实现使用一个引用追踪器以允许该使用资源的组件(任务)声明他们使用的资源(对象类型)。换言之,该引用追踪器通过创建一从使用资源的的组件至所使用资源的引用条目而记录该任务和该对象类型间的关系。尔后在和任务之间、变量和任务之间创建链接。该引用追踪器充填一追踪列表,其为每一为影响分析而被追踪的对象类型提供。当一个对象假定依赖于(或使用)另一对象,它会在引用追踪器登记该依赖性,在追踪列表中添加一新条目。当该使用被更改或终止时,引用追踪器再次被通知,且相应的条目从追踪列表中移除。
根据本发明的诸方面,在追踪列表被生成之后,会接收到对一对象类型的更改。对该对象的更改的影响通过参考该追踪列表来确定对象模型中的哪些其它对象类型被登记为正使用该对象来确定。该信息随后返回给用户或应用程序。
本发明的其它特性和优点通过以下关于本发明的详细描述和附图可变得明显。
(4)附图说明
当结合附图阅读时,能更好地理解前述概述和以下优选实施例的详细描述。为阐明本发明,附图中显示了本发明的示例性结构;但是,本发明并不必局限于该被揭示的具体方法和手段。附图中:
图1是表现本发明的各个方面可纳入其中的计算机系统的结构图;
图2是表现本发明的各个方面可纳入其中的网络的示意图;
图3所示是一有益于描述本发明各个方面的示例性数据流执行;
图4是有益于描述本发明各个方面的示例性结构的图;
图5是根据本发明的一种示例性方法的流程图;
图6是依照本发明的一示例性追踪列表的图;和
图7是依照本发明的另一种示例性方法的流程图。
(5)具体实施方式
本发明的主题内容以专指性的方式描述以满足法定要求。但是,该描述本身并非意欲于限制本专利的范围。相反,本发明的发明人预期权利要求中的主题内容可以用其它方式实现,以包括不同的步骤或与本文描述的步骤相似的、结合其它现有的或将来的技术的步骤的组合。而且,尽管术语“步骤”可以在这里用来意指所采用的方法的不同元素,但该术语不应当被解释成暗示这里所揭示的多个步骤之间的任何特定顺序,除非单个步骤的顺序被明确地描述。
示例性计算环境
本发明的众多实施例可以在一台计算机上执行。图1和以下讨论旨在提供对适于本发明实现的计算环境的简要概括描述。尽管不是被要求的,但本发明会将在计算机可执行指令,诸如由客户工作站或服务器等计算机执行的程序模块的一般上下文中描述。一般,程序模块包括例行程序、程序、对象、组件、数据结构等实现特定任务或实现特定抽象数据类型者。一个“对象”是硬件/软件接口系统可访问的可存储信息的一个单元,其拥有通过硬件/软件接口系统外壳暴露给一最终用户的所有对象共同支持的一基本组的属性。对象还拥有包括允许引入新属性和关系的特征在内的所有类型共同支持的属性和关系。
而且,本领域的技术人员可以理解,本发明可以在其它计算机系统配置下运行,包括手持式设备、多处理器系统、基于微处理器或可编程消费者电子装置、网络PC、小型机、大型计算机等。本发明也可在分布式的计算环境中实现,其中任务通过由一通信网络连接的远程处理设备执行。在分布式计算环境中,程序模块可以位于本地和远程存储设备中。
如图1所示,一示例性通用计算系统包括一台常规个人计算机20或类似装置,它包括处理单元21、系统存储器22和耦合包括系统存储器在内的多个系统组件到处理单元21的系统总线23。系统总线23可以是任何类型的总线结构,包括存储器总线或存储器控制器、外部总线和使用多种总线体系结构中一种的本地总线。该系统存储器包括只读存储器(ROM)24和随机存取存储器(RAM)25。基本输入/输出系统26(BIOS),包含诸如在启动时用以帮助在个人计算机20中元素间传递信息的基本例行程序,被存储在ROM 24中。
个人计算机20还可以包括硬盘驱动器27用以从硬盘中读取或写入硬盘,未示出,磁盘驱动器28用以从可移动磁盘29中读取或写入磁盘,和光盘驱动器30用以从可移动光盘31诸如CD-ROM或其它光学媒体中读取或写入光盘。硬盘驱动器27、磁盘驱动器28和光盘驱动器30分别通过硬盘驱动器接口32、磁盘驱动器接口33和光盘驱动器接口34连接至系统总线23。这些驱动器和他们相应的计算机可读媒体向个人计算机20提供了对计算机可读指令、数据结构、程序模块和其它数据的非易失性存储。
尽管这里所描述的示例性环境使用了硬盘、可移动磁盘29和可移动光盘32,本领域的技术人员应该理解,其它类型的能够存储可被计算机访问的数据的计算机可读媒体,诸如磁带、闪存卡、数字视频光盘(DVD)、伯努里式磁带、随机存取存储器(RAM)、只读存储器(ROM)等也可以在该示例性操作环境中使用。
多个程序模块,包括操作系统35,一个或多个应用程序36,其它程序模块37和程序数据38可以被存储在硬盘、磁盘29、光盘31、ROM 24或RAM 25,上。用户可以向个人计算机20输入命令和信息通过输入设备,诸如键盘40和定点设备42。其它输入设备(未显示)可以包括麦克风、操纵杆、游戏手柄、卫星天线、扫描仪等。这些和其它输入设备通常通过与系统总线耦合在一起的串行端口接口46连接至处理单元21,但也可以通过其它接口连接,诸如并行端口、游戏端口或通用串行总线(USB)。监视器47或其它类型的显示设备也通过一接口,诸如视频适配器48连接至系统总线23。除监视器47之外,个人计算机通常包括其他外部输出设备(未示出),诸如扬声器和打印机。图1中的示例性系统也包括主机适配器55、小型计算机系统接口(SCSI)总线56和连接至SCSI总线56的外部存储设备62。
个人计算机20可以运行在使用逻辑连接至诸如远程计算机49的一台或多台远程计算机的网络环境中。远程计算机49可以是另一台个人计算机、服务器、路由器、网络PC、对等设备或其它公共网络节点,且通常包括上述与个人计算机20相关描述的多个或所有元素,尽管图1只示出存储设备50。图1中描述的逻辑连接包括局域网(LAN)51和广域网(WAN)52。这样的网络环境在办公室、企业范围计算机网络、企业内部互联网和因特网中是常见的。
当在LAN网络环境中使用时,个人计算机20通过网络接口或适配器53连接至LAN 51。当在WAN网络环境中使用时,个人计算机20典型地包括调制解调器54或其它在诸如因特网的广域网52上建立通信的手段。调制解调器54,可以是内置的或外置的,通过串行接口46连接至系统总线23。在网络环境中,与个人计算机20相关描述的程序模块或其中的部分,可以存储在远程存储设备中。将会认识到,所示网络连接是示例性的,其它在计算机间建立通信连接的方法也可以使用。
尽管预想到本发明的多种实施方式都是十分适合于计算机化的环境的,但本文中没有任何一部分是要将本发明局限于这些实施方式的。相反,正如这里使用的术语“计算机系统”意在包含任何和所有包括按钮、或能够确定按钮被按压、或按钮被按压的等价动作的设备,而不管此类设备是实质上是电子的、机械的、逻辑的或虚拟的。
网络环境
图2阐述了本发明在其中可以被采用的一示例性网络环境。当然,实际的网络和数据库环境可以组织成多种配置;然而,这里所示的示例性环境提供了一个框架,用以理解本发明可以在其中运行的环境的类型。其它环境也被预见。
该网络可以包含客户计算机20a、服务器计算机20b、数据源计算机20c和数据库70、72a和72b。客户计算机20a和数据源计算机20c通过通信网络80,诸如企业内部互联网,与服务器计算机20b进行电子通信。客户计算机20a和数据源计算机20c通过通信接口82连接至通信网络。通信接口82可以是任何众所周知的通信接口中的一个,诸如以太网连接、调制解调器连接等。
服务器20b通过数据库服务器系统软件提供对数据库70的管理。如此,服务器20b成为从多个数据来源中得到的数据的仓库,并把该数据提供给多个数据消费者。
在图2的示例中,数据来源由数据源计算机20c提供。数据源计算机20c经由通信网络80将数据传递给服务器计算机20b,它可以是LAN、WAN、企业内部互联网、因特网等。数据源计算机20c把数据以本地方式存储在数据库72a、72b中,其可以是关系数据库服务器、电子数据表、文件等。例如,数据库72a显示了存储在表150、152和154中的数据。由数据源20c提供的数据被合并并且被存储在一个大型数据库中,诸如由服务器20b维护的数据仓库。
想要使用由服务器计算机20b所存储的数据的客户计算机20a可以经由通信网络80访问数据库70。客户计算机20a通过对数据70中存储的数据进行SQL查询(如,更新、插入和删除)请求数据。
数据库体系结构
数据库是相关数据的一个集合。在一种类型的数据库中,如关系数据库中,数据以一个被称为表的二维列—行的形式组织。图2阐明了存储在数据库72a中的表,诸如150、152和154。一个关系数据库通常包括多张表。一张表可以包含零个或多个记录,每个记录中至少有一个字段。记录是表中由被称作记录标识符的唯一的数字所标识的一行。字段是一个记录的细分,其限度是使得表中的一列数据代表表中每个记录的同一个字段。
数据库通常也包括关联结构。关联结构的一个示例是索引,典型地,但不是必需地,是B-树或散列索引的形式。索引为查找一个表中特定的行提供了一个接近常数的访问时间,不管表的大小。关联结构被要求对数据库用户是透明的,并且帮助提供对数据库管理系统高效的操作和控制。数据库管理系统(DBMS),尤其是关系数据库管理系统(RDBMS),是一种控制系统,其支持包括—但不限于在一存储媒体上储存数据、从存储媒体上检索数据何在存储媒体上更新数据的数据库特征。
一般,存储在关系数据库中的数据是通过用户定义的使用诸如SQL查询语言构造的查询来访问的。典型地,对于任何给定的SQL查询,有多个需要在数据上执行的程序性操作,以实现SQL查询的目的。例如,可能存在要予执行的多个结合和表扫描,才能达到期望的目标。
数据转换服务和数据转换管道
示例性的数据转换服务系统(DTS)包括从一个数据来源接收数据的能力(诸如从一来源接收数据的数据检索系统)、有在其中存储被转换了的和/或未被转换的数据的能力的数据目的地(一个用以存储数据的目的地数据存储系统)和数据转换管道(DTP),DTP以流水线方式使数据通过各种互连的节点(当实例化后,其变成管道中的组件)从一个或多个来源流向一个或多个目的地而构造复杂的端到端数据转换功能性(数据流执行即DFE)用于当数据流过时转换数据(在这里术语“转换”被用于广泛地描述可对数据、和数据一起、由数据及在数据上所进行的交互作用领域)。管道中的每个组件拥有特定的预定义的数据转换功能,且组件间的逻辑连接定义了操作意义上的数据流路径。
数据转换管道(DTP)使用户得以经由图形用户界面(GUI)以图形的方式描述和表示所期望的从一个或多个来源通过多个互连的节点(图)流向一个或多个目的地的数据流,开发出复杂的端到端数据转换功能(DFE)。图中由用户所选择且纳入图中的每个节点代表特定的预定义数据转换功能(每个组件一个),节点(组件)间的连接定义了数据流路径。
图3所示是在包320中在来源350和目的地360之间的示例性数据流执行的示意图。元素322、326、328、330是指在其中数据被操纵的各种操作。来源350例如从一个文件、一个数据库、一个网站等接收数据。提取组件322从数据源350处提取数据。转换组件326根据组件326的输入/输出功能转换该数据。第二转换组件328根据它特定的功能进一步处理数据。装载组件330然后将某些数据装载至数据目的地360。这样一来,复杂数据转换的开发得以进行。
示例性实施方式
DTS是一个示例性计算环境,拥有可扩展的组件和通信,在其中本发明的各方面中可以被实现。许多组织机构需要将数据集中起来用以改进团体的决策过程。然而,他们的数据可能被以多种格式存储,并存储在不同位置。DTS是这样来解决这种需求的,即提供一组工具,这组工具允许对不同来源的数据进行提取、转换和合并至单个或多个由DTS连通性支持的目的文件。通过使用DTS工具以绘图方式生成DTS包或通过使用DTS对象模型把包进行编程,可以创建出针对专门企业需求而量身定做的定制数据移动解决方案。
DTS包是用DTS工具汇编的或可编程地汇编的并保存在例如MICROSOFTSQLServerTM或XML中的连接、DTS任务、DTS转换和工作流程约束的经组织的集合。一般,每个包包含当包在运行时即顺序地执行或并行地执行的一个或多个步骤。当被执行时,该包连接至正确的数据来源、复制数据和数据库对象、转换数据、并把事件向其他用户或进程通报。程序包可以被编辑、进行口令保护、预定执行的时间、并用版本来检索。
随同DTS包,存在DTS任务。DTS任务是一个功能的离散集合,在包中作为单个步骤执行。每一个任务定义一个工作项目作为数据移动和数据转换过程的一部分,或作为一个被执行的作业。通用的DTS任务的例子包括:1)输入和输出数据,2)转换数据,3)复制数据库对象,和4)发送信息至其他用户和包及从其他用户和包处接收信息。完成DTS组件和操作就是DTS转换。DTS转换是在数据到达目的地之前施加到数据片段使的一个或多个功能或操作。
影响分析提供确定一特定对象所依赖或使用的对象的能力、和确定依赖于和使用一特定对象的对象的能力。例如,在本发明中,术语“对象”可以指任务和/或对象类型。影响分析对于改善大的复杂文档中的用户生产效率非常重要,因为它促进确定一个对象是怎样和在哪里被系统中的其他对象所使用,由此可能节省大量手工劳动。
示例性的对象类型包括连接和变量,诸如读-访问变量和读/写访问变量。尽管该示例性实施例在这里就连接和变量来描述的,但是该示例性的实施例预计到了其它对象类型可以根据本发明被使用和追踪。此类对象类型会被希望追踪,如果确定它们会影响到一个包的话。本发明理想的是在一个对象模型而不是一个数据库中实现。因此,提供了一种可扩展的对象模型,在其中对象间暗含的关系根据本发明被展露。
在一个包中,如上文所述,来源接收到数据。该数据然后在到达其在包中的目的地之前被操纵。根据本发明,提供了一个连接清单,其显示了什么包是关于什么的。换言之,一个包包括一个任务(与组件)和对象类型。例如,为了创建一个包,用户通过用户界面提供任务和对象类型。然后,系统创建树形结构,诸如图4所示者。在图4的示例性结构中,一个包被显示为含有一个包括组件的任务,组件中其一为一个实现任务1和2的来源。连接1和2、变量1和2,都被显示为对象类型。像这样的一个树形结构可以被用于开发一个追踪列表,陈述如下。
图5显示了根据本发明的一种示例性方法的流程图。最初,在步骤500处用一个使用资源的组件(例如一个任务)和一个与该使用资源的组件相关联的来源创建一个包。一个被使用的资源(例如,诸如连接或变量的一个对象类型)也被描述。在步骤510处访问一个引用追踪器,以允许该使用资源的组件(任务)声明它们使用哪个资源(对象类型)。换言之,通过创建从使用资源的组件至所使用资源的引用,引用追踪器记录任务和对象类型间的关系。然后,在步骤520处创建连接和任务之间、变量和任务之间的链接。
引用追踪器在步骤530处充填一个追踪列表,其为用于影响分析而追踪的每个对象类型提供。在步骤540处,当一个对象假定依赖于(或使用)另一对象时,它在引用追踪器上登记该依赖性,这会在追踪列表中添加一个新条目。在步骤550处,当该使用被更改或终止时,引用追踪器再次被通知,且相应的条目从追踪列表中移除。
一个对象类型(例如,TASK1)的示例性追踪列表示于图6中。在这里,追踪列表提供了一TASK1所依赖(或使用)的连接的清单,和一个TASK1所依赖或使用的变量的清单。每个连接优选通过一个来源标识符标识,且每个变量优选通过其名称、类型和/或描述来标识。理想的是,一追踪列表响应于使用变量和/或连接的任务或组件、或为影响分析而被被监视的无论哪种对象类型而创建。
追踪列表是一个关系型结构,是可以用多种方式被查询和报告的,例如,对于被某一特定对象所使用的对象,对于使用某一特定对象的对象,对于所有某一特定类型的对象,对于使用某一特定类型对象的对象,对于被某一特定类型的对象所使用的对象等。对对象进行更改的历史可以通过追踪列表被维护。预期可以从这些信息得到的总览结报告。
根据本发明的另一示例性方法在图7的流程图中给出。当追踪列表被生成后(例如,通过关于图5所描述的示例性方法),在步骤700处,对一个对象类型的更改可以被接收。通过参考追踪列表以确定对象模型中的什么其它对象类型被登记为正在使用该对象,对该对象的更改所产生的影响在步骤710处确定。在步骤720处,该信息而后被传回给用户或应用程序。
例如,假设TASK1(图6所示的示例性追踪列表中)正在被删除或以其它方式更改,例如在一个数据库中的一个对象模型中。该追踪列表被访问以确定什么会被影响,且这个信息(TASK1的追踪列表中的连接和变量)被提供给用户或应用程序。这样,依照本发明,此类对对象类型的更改的影响被检测到,且可以被报告或以其它方式被保持。理想的是,潜在的更改能在进行更改之前被确定和通信告知。
在一示例性实施例中,实现了IDTSObjectReferenceTracker界面。如这里所述,引用追踪器是用于对象模型中的影响分析的一个可扩展机制。对象的用户登记他们在使用的对象和在哪里使用。然后,例如,如果该用户试图删除一个对象,系统可以核实该对象是没有在其它地方正在使用的,如果在其它地方被使用,系统则将这个信息显示给用户。该用户也可以主动询问追踪列表以获得关于在对象模型中一特定对象的使用的信息。
使用变量或连接的一个运行时任务或管道组件理想地创建这些对象类型的一个追踪列表。它提供该列表的使用位置和描述。例如,一个单变量的任务能够使用任务的名称作为位置信息,且关于该变量被用来干什么的描述被作为描述。
对变量和连接进行多种不同的使用的任务和组件可以按需要创建多个单独的追踪列表。例如,“有条件分裂”组件在输出表达式中使用变量,且理想地为每个使用变量的输出表达式创建一个追踪列表。它可以将组件名称设定为使用位置,且在描述中包括该表达式及的哪里它能被找到。以这种方式,如果相同的变量在多个表达式中使用,每个使用位置都将被系统所追踪。
管道组件理想地使用一个基类存取器,诸如GetReferenceTracker(),以获得接口。对该接口的设计允许系统被动态地扩展。即,其它程序员可以创建他们自己的任务或组件,在相同的引用追踪器进行登记,由此允许他们在影响分析模型中完全参与。现在,如果第三方任务登记它对变量和连接的使用,当用户试图删除变量和连结时,该任务将会被通知。
当对象不再被使用或已被摧毁时,追踪列表中的引用可以被除去。例如,当拥有一个列表的那个对象被摧毁时,整个追踪列表可以从引用追踪器系统中被除去。追踪列表也可以在拥有列表的那个对象被刷新时、和在一个新的列表被创建时,被除去。例如,在“有条件分裂”转换中,如果对一个输出的表达式被改变,用于该表达式的追踪列表可能被摧毁,且一个新的列表可在新的表达式被解析时被创建。
可提供用于一个追踪列表的元数据。例如,使用位置可以是拥有该列表的那个任务或组件的名称。使用描述可以给出关于在该列表中的对象如何被使用的更详细的描述。预计使用位置和使用描述可以按需要时常地更新或更改。
结论
在这里描述的各种系统、方法和技术可以使用硬件或软件、或合适时两者的组合来实现。本发明的方法和装置,或其中的某些方面或部分,可以采用包含在有形媒体中的程序代码(例如,指令)的形式,诸如软盘、CD-ROM、硬盘驱动器或任何其它机器可读存储媒介,其中,当该程序代码被装载至一台诸如计算机的机器并被该机器执行时,该机器成为一台实现本发明的装置。在程序代码是在可编程计算机上执行的情形中,该计算机通常会包括一处理器、一可被处理器读取的存储媒介(包括易失和非易失存储器和/或存储元件)、至少一个输入设备和至少一个输出设备。一个或多个程序优选使用一高级过程或面向对象的编程语言来实现,用以与计算机系统通信。然而,该程序可以使用汇编或机器语言实现,如果需要。在任何情况下,该语言可以是编译的或解释的语言,且同硬件实现相组合。
本发明的方法和组织也可以以在某些传输介质上传输的程序代码的形式实现,诸如在电线或电缆上、通过光导纤维或通过其它形式的传输,其中当程序代码被接收并装载至一台机器上并被该机器执行时,该机器诸如,EPROM、门阵列、可编程逻辑器件(PLD)、客户计算机、录影机等,该机器成为一台实现本发明的装置。当在一通用处理器上实现时,该程序代码与处理器相组合以提供运行来实现本发明功能的一个独特装置。
虽然本发明是结合各种附图的优选实施方式描述的,应该理解其他类似的实施方式可以被使用,或者对所述实施方式进行修改和添加用以实现本发明的相同的功能,而不背离本发明。因此,本发明不应局限于任何单个实施方式,而应完全按照所附要求来诠释其宽度和范围。

Claims (30)

1.一种将组件与资源相关联的方法,包括:
接收包括所述组件与所述资源的包;
确定所述组件和所述资源之间的关系;和
在一追踪列表中为所述资源创建一追踪列表条目。
2.如权利要求1所述的方法,其中所述组件是一个任务,且所述资源是一个对象类型。
3.如权利要求2所述的方法,其中所述对象类型是连接、读访问变量和读/写访问变量中的一种。
4.如权利要求1所述的方法,其中确定所述组件和所述资源之间的关系包括访问一个引用追踪器用以创建从所述组件到所述资源的引用。
5.如权利要求1所述的方法,其中确定所述组件和所述资源之间的关系包括创建所述组件和所述资源之间的链接。
6.如权利要求1所述的方法,其中所述追踪列表包括影响所述资源的一列对象。
7.如权利要求1所述的方法,其中所述追踪列表揭示对象之间的隐含关系。
8.如权利要求1所述的方法,其中所述接收、确定和创建的步骤在一个对象模型中发生。
9.如权利要求1所述的方法,还包括从一个对象接收关于所述资源的依赖性数据,且基于所述依赖性数据更新所述追踪列表。
10.如权利要求1所述的方法,还包括基于所述追踪列表确定影响分析,且向一个用户或一个应用程序提供所述影响分析。
11.一种提供影响分析的方法,包括:
生成包括影响一个资源的一列对象的追踪列表;
接收—更改所述资源的声明;
确定—包括会被所述更改资源的声明所影响的来自追踪列表的对象的影响分析;和
向一用户或一应用程序提供所述影响分析。
12.如权利要求11所述的方法,其中接收、确定和创建的步骤在一个对象模型中发生。
13.如权利要求11所述的方法,其中所述资源是一个对象类型。
14.如权利要求13所述的方法,其中所述对象类型是连接、读访问变量和读/写访问变量中的一种。
15.如权利要求11所述的方法,其中所述追踪列表揭示对象之间的隐含关系。
16.一种在其上存储有数据结构的计算机可读媒体,所述数据结构包括一个对象模型中的追踪列表,所述追踪列表括含影响一个资源的一列对象。
17.如权利要求16所述的计算机可读媒体,其中所述追踪列表揭示对象之间的隐含关系。
18.如权利要求16所述的计算机可读媒体,其中所述资源是一个对象类型。
19.如权利要求18所述的计算机可读媒体,其中所述对象类型是连接、读访问变量和读/写访问变量中的一种。
20.一种用于影响分析的系统,包括:
一引用追踪器,运行在一个对象模型上追踪以确定组件和资源之间的关系;和
为所述资源服务的一个追踪列表,所述追踪列表包含影响所述资源的一列对象。
21.如权利要求20所述的系统,其中所述组件是一个任务,且所述资源是一个对象类型。
22.如权利要求20所述的系统,其中所述对象类型是连接、读访问变量和读/写访问变量中的一种。
23.如权利要求20所述的系统,其中所述追踪列表揭示对象之间的隐含关系。
24.如权利要求20所述的系统,还包括一用于确定包括会被一更改资源的声明影响到的追踪列表中的对象的影响分析的处理器,并向一用户或一应用程序提供所述影响分析。
25.一种数据转换服务,包括:
一数据检索系统,以从一来源接收数据;
一数据转换管道,包括:
多个组件对象;
一个图形用户界面,通过所述界面用户可以将数据转换表示成图中的一系列互连的节点,每个节点对应所述多个组件对象中的一个组件对象;
一个翻译程序,其遍历所述图,并将所述图翻译成一个数据流执行计划和至少一个工作列表,所述工作列表包含至少一个工作项目;和
一个管道引擎,以基于所述数据流执行计划建立一数据流执行,所述数据流执行包括一组从所述多个组件对象的实例化而来的组件;
一引用追踪器,运行在一个对象模型上追踪以确定组件和资源之间的关系;
一用于所述资源追踪列表,所述追踪列表包括影响所述资源的一列对象;
一目的地数据存储系统,以存储数据。
26.如权利要求25所述的数据转换服务,其中所述组件是一个任务,且所述资源是一个对象类型。
27.如权利要求26所述的数据转换服务,其中所述对象类型是连接、读访问变量和读/写访问变量中的一种。
28.如权利要求25所述的数据转换服务,其中所述追踪列表揭示对象之间的隐含关系。
29.如权利要求25所述的数据转换服务,还包括一用于确定包括会被一更改资源的声明影响到的追踪列表中的对象的影响分析的处理器。
30.如权利要求29所述的数据转换服务,其中所述目的地数据存储系统存储所述影响分析。
CN2005100740115A 2004-06-23 2005-05-23 在对象模型中的影响分析 Expired - Fee Related CN1713179B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/874,921 US7536406B2 (en) 2004-06-23 2004-06-23 Impact analysis in an object model
US10/874,921 2004-06-23

Publications (2)

Publication Number Publication Date
CN1713179A true CN1713179A (zh) 2005-12-28
CN1713179B CN1713179B (zh) 2010-09-08

Family

ID=35507338

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2005100740115A Expired - Fee Related CN1713179B (zh) 2004-06-23 2005-05-23 在对象模型中的影响分析

Country Status (5)

Country Link
US (1) US7536406B2 (zh)
EP (1) EP1637993A3 (zh)
JP (1) JP5710851B2 (zh)
KR (1) KR101083488B1 (zh)
CN (1) CN1713179B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107135663A (zh) * 2014-11-05 2017-09-05 起元技术有限责任公司 影响分析

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8214799B2 (en) * 2004-07-08 2012-07-03 Microsoft Corporation Providing information to an isolated hosted object via system-created variable objects
US20060089943A1 (en) * 2004-10-25 2006-04-27 Perot Systems Corporation Computer system and process for aiding in an outsourcing environment
US20060242194A1 (en) * 2005-04-22 2006-10-26 Igor Tsyganskiy Systems and methods for modeling and manipulating a table-driven business application in an object-oriented environment
US8539003B2 (en) * 2005-04-22 2013-09-17 Sap Ag Systems and methods for identifying problems of a business application in a customer support system
US20060242197A1 (en) * 2005-04-22 2006-10-26 Igor Tsyganskiy Methods of transforming application layer structure as objects
US7958486B2 (en) * 2005-04-22 2011-06-07 Sap Ag Methods and systems for data-focused debugging and tracing capabilities
US20060293934A1 (en) * 2005-04-22 2006-12-28 Igor Tsyganskiy Methods and systems for providing an integrated business application configuration environment
US8639652B2 (en) * 2005-12-14 2014-01-28 SAP France S.A. Apparatus and method for creating portable ETL jobs
CN100512150C (zh) * 2006-07-31 2009-07-08 华为技术有限公司 业务跟踪控制方法及业务跟踪系统与相关跟踪装置
US9973421B2 (en) * 2006-12-29 2018-05-15 Orange Method and device for connection management in a telecommunication network
US20080196012A1 (en) * 2007-02-12 2008-08-14 Panaya Ltd. System and methods for static analysis of large computer programs and for presenting the results of the analysis to a user of a computer program
US20090165015A1 (en) * 2007-12-21 2009-06-25 Schlumberger Technology Corporation Managing dependencies among applications using satisfiability engine
US8752005B2 (en) * 2008-04-04 2014-06-10 Infosys Limited Concept-oriented software engineering system and method for identifying, extracting, organizing, inferring and querying software system facts
US8209216B2 (en) * 2008-10-31 2012-06-26 Demandtec, Inc. Method and apparatus for configurable model-independent decomposition of a business metric
CA2744881C (en) 2008-12-02 2020-03-10 Ab Initio Technology Llc Mapping instances of a dataset within a data management system
US8862563B2 (en) 2010-05-12 2014-10-14 Microsoft Corporation Getting dependency metadata using statement execution plans
US9977659B2 (en) * 2010-10-25 2018-05-22 Ab Initio Technology Llc Managing data set objects
AU2012203333A1 (en) 2011-06-15 2013-01-10 Agile Software Pty Limited Method and apparatus for testing data warehouses
KR101146293B1 (ko) * 2011-07-06 2012-05-21 (주)큐브젠소프트 어플리케이션 소스자원의 상호 관련 정보를 효과적으로 추출하는 소스자원 파싱 방법
US10489360B2 (en) 2012-10-17 2019-11-26 Ab Initio Technology Llc Specifying and applying rules to data
US9239854B2 (en) 2013-03-15 2016-01-19 Sas Institute Inc. Multi-domain impact analysis using object relationships
WO2016011442A1 (en) 2014-07-18 2016-01-21 Ab Initio Technology Llc Managing lineage information
US9626393B2 (en) 2014-09-10 2017-04-18 Ab Initio Technology Llc Conditional validation rules
US10135913B2 (en) * 2015-06-17 2018-11-20 Tata Consultancy Services Limited Impact analysis system and method
US9639411B2 (en) 2015-07-24 2017-05-02 Bank Of America Corporation Impact notification system
WO2018039257A1 (en) * 2016-08-22 2018-03-01 Oracle International Corporation System and method for ontology induction through statistical profiling and reference schema matching
WO2023180301A1 (en) 2022-03-25 2023-09-28 Lanxess Deutschland Gmbh Data transformation pipelines

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5898872A (en) * 1997-09-19 1999-04-27 Tominy, Inc. Software reconfiguration engine
US6493720B1 (en) * 1998-01-26 2002-12-10 International Business Machines Corporation Method and system for synchronization of metadata in an information catalog
US6427230B1 (en) * 1998-11-09 2002-07-30 Unisys Corporation System and method for defining and managing reusable groups software constructs within an object management system
US6397204B1 (en) 1999-06-25 2002-05-28 International Business Machines Corporation Method, system, and program for determining the join ordering of tables in a join query
US7260777B2 (en) * 2001-08-17 2007-08-21 Desknet Inc. Apparatus, method and system for transforming data
US7146399B2 (en) 2001-05-25 2006-12-05 2006 Trident Company Run-time architecture for enterprise integration with transformation generation
US7853554B2 (en) * 2002-11-12 2010-12-14 Oracle International Corporation Method and system for metadata reconciliation in a data warehouse

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107135663A (zh) * 2014-11-05 2017-09-05 起元技术有限责任公司 影响分析
CN107135663B (zh) * 2014-11-05 2021-06-22 起元技术有限责任公司 影响分析
US11475023B2 (en) 2014-11-05 2022-10-18 Ab Initio Technology Llc Impact analysis

Also Published As

Publication number Publication date
EP1637993A2 (en) 2006-03-22
US7536406B2 (en) 2009-05-19
KR101083488B1 (ko) 2011-11-17
JP2006012146A (ja) 2006-01-12
CN1713179B (zh) 2010-09-08
US20050289167A1 (en) 2005-12-29
KR20060045924A (ko) 2006-05-17
EP1637993A3 (en) 2007-12-12
JP5710851B2 (ja) 2015-04-30

Similar Documents

Publication Publication Date Title
CN1713179B (zh) 在对象模型中的影响分析
US11704331B2 (en) Dynamic generation of data catalogs for accessing data
US8321444B2 (en) Federated search
US7730056B2 (en) Software and method for utilizing a common database layout
CN101165688B (zh) 知识系统中资源之间的时间关联方法和系统
CN101183379A (zh) 用于检索数据的方法和系统
CN1811767A (zh) 用于提供带有自动搜索菜单的用户界面的系统和方法
US20070061294A1 (en) Source code file search
US8271478B2 (en) Fast algorithms for computing semijoin reduction sequences
CN102541631B (zh) 以多线程不同驱动源执行计划处理查询的方法和系统
ZA200503578B (en) Adaptively interfacing with a data repository
CN112860727B (zh) 基于大数据查询引擎的数据查询方法、装置、设备及介质
JP2012113706A (ja) データベース・クエリ最適化のためのコンピュータで実装される方法、コンピュータ・プログラム、およびデータ処理システム
US20080162457A1 (en) Software and method for utilizing a generic database query
US20180232410A1 (en) Refining structured data indexes
US7840603B2 (en) Method and apparatus for database change management
US9373093B2 (en) Gateway service manager for business object applications
US11416458B2 (en) Efficient indexing for querying arrays in databases
CN112035443A (zh) 基于Linux平台的大数据执行方法、系统、设备及存储介质
US11847121B2 (en) Compound predicate query statement transformation
Hsu et al. Reconfigurable Web wrapper agents for biological information integration
US20160019204A1 (en) Matching large sets of words
US20120259847A1 (en) Collaborative Data Appliance
CN115795521B (zh) 访问控制方法、装置、电子设备及存储介质
US20090138431A1 (en) System and computer program product for assembly of personalized enterprise information integrators over conjunctive queries

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150430

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150430

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20100908

Termination date: 20210523

CF01 Termination of patent right due to non-payment of annual fee