CN102236701B - 关于多个域的依赖图 - Google Patents

关于多个域的依赖图 Download PDF

Info

Publication number
CN102236701B
CN102236701B CN201110127699.4A CN201110127699A CN102236701B CN 102236701 B CN102236701 B CN 102236701B CN 201110127699 A CN201110127699 A CN 201110127699A CN 102236701 B CN102236701 B CN 102236701B
Authority
CN
China
Prior art keywords
dependency graph
dependency
regard
provider
computational fields
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
CN201110127699.4A
Other languages
English (en)
Other versions
CN102236701A (zh
Inventor
S·M·博亚尼奇
S·F·格亚
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 Technology Licensing 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 Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN102236701A publication Critical patent/CN102236701A/zh
Application granted granted Critical
Publication of CN102236701B publication Critical patent/CN102236701B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/21Design, administration or maintenance of databases
    • G06F16/217Database tuning
    • 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/25Integrating or interfacing systems involving database management systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本文描述了关于多个域的依赖图。可以生成表示计算机系统中的第一计算域中的一个或多个依赖的第一依赖图。该第一依赖图可包括对不同于该第一计算域的第二计算域中的对象的引用。可以使用对该对象的引用生成第二依赖图。该第二依赖图可表示该计算机系统中的第二计算域中的一个或多个依赖,并且该第二依赖图中表示的该一个或多个依赖可包括该对象的一个或多个依赖。

Description

关于多个域的依赖图
技术领域
本发明涉及数据结构技术,尤其涉及关于多个域的依赖图。
背景技术
依赖图(dependency graph)是表示计算系统中——诸如单个计算设备中或计算设备的网络中——的对象之间的依赖的数据结构。可将依赖图用于表示由特定类型的软件管理的对象之间的依赖。例如,数据库服务器可提供表示诸如不同的数据库、数据库表格、数据库表格中的行等不同数据库对象之间的依赖的依赖图。
发明内容
此处所述的工具和技术涉及生成关于多个域的依赖图。例如,在第一域中的依赖图包括对第二域中的对象的引用的情形中,这会是有用的。在这种情况下,可生成关于第二域的第二图,并且第二图可表示关于所引用的对象的依赖。如此处所使用的,域是计算机系统中被映射到元数据系统的一部分(例如,计算机网络中的服务器或一组服务器)。不同的域具有不同的元数据系统,不同的元数据系统具有不同类型的元数据和/或不同的提供元数据的方式。例如,计算机网络中的Windows Server文件服务器、SQL数据库服务器、Oracle数据库服务器和SQL集成服务(SSIS)数据集成子系统可以是同一计算机系统中的四个不同的域。
在一个实施例中,工具和技术可包括生成表示第一计算机系统中的第一计算域中的一个或多个依赖的第一依赖图。第一依赖图可包括对不同于第一计算域的第二计算域中的对象的引用。可使用对于对象的引用来生成第二依赖图(例如通过使用引用来定位适当的提供方模块并调用该提供方模块来提取第二依赖图)。第二依赖图可表示计算机系统中的第二计算域中的一个或多个依赖,并且第二计算域中的一个或多个依赖可包括对象的一个或多个依赖(即对对象的一个或多个依赖和/或对象对一个或多个其他对象的一个或多个依赖)。
在工具和技术的另一实施例中,可生成表示计算机系统中的第一计算域中的一个或多个依赖的第一依赖图。可以确定第一依赖图是否包括对一个或多个其他域中的一个或多个外部对象的一个或多个引用。如果第一依赖图包括对一个或多个其他域中的一个或多个外部对象的一个或多个引用,那么可提取关于来自一个或多个其他域的外部对象中的一个或多个的一个或多个依赖图。
在工具和技术的又一实施例中,可生成表示计算机系统中的第一计算域中的一个或多个依赖的第一依赖图。可标识第一依赖图中对第一域之外的外部对象的依赖的引用。此外,可定位被配置成从第二域提取依赖图的提取提供方模块。第二域可包括外部对象。可调用提供方模块来从第二域提取关于外部对象的第二依赖图。
提供本概述是为了以简化的形式介绍一些概念。这些概念在以下详细描述中进一步描述。本概述并不旨在标识出所要求保护的主题的关键因素或必要特征,也不旨在用于限定所要求保护的主题的范围。类似地,本发明并不限于针对在背景技术、具体实施方式或附图中讨论的特定的技术、工具、环境、缺点或优点的实现。
附图说明
图1是其中可实现一个或多个所描述的实施例的合适的计算环境的框图。
图2是依赖图生成环境的示意图。
图3是依赖图生成技术的流程图。
图4是另一依赖图生成技术的流程图。
图5是又一依赖图生成技术的流程图。
具体实施方式
此处所述的实施例涉及用于生成关于多个域的依赖图的技术和工具。这种改进可来自单独地和结合地使用各种技术和工具。
这种技术和工具可包括生成表示计算机系统中的一个和多个依赖的第一依赖图。第一依赖图可包括对不同于第一计算域的第二计算域中的外部对象的引用。例如,如果第一域是SSIS域,那么来自该域中的SSIS包的任务可依赖于来自SQL关系数据库域的数据库表格。如果第一依赖图包括对第二域中的外部对象的这种引用,那么可生成关于第二域的第二依赖图,而该第二依赖图可表示该外部对象的依赖。第二依赖图可以表示和可以不表示第二域中的其他依赖。例如,图可仅包括特定数据库表格的依赖,或者它可以包括更大的提取单元(例如特定级别的文件系统文件夹)中的所有依赖。
可从用于生成关于多个域的依赖图工具和技术来实现一个或多个益处。例如,可依照此处所描述的工具和技术来生成关于多个域的数据库图,且这些图可包括在中央数据库存储中。这些依赖图可用于表示域内依赖或域间依赖。例如,可生成关于多个域的总体合并图。此外,可维护从中获取图的提取点(或服务器)的指示。因此,可将对每个依赖图的访问限于将被允许访问图来自于其的提取点的用户对象。如此处所使用的,用户对象是可被授予或拒绝访问许可的计算机对象。用户对象可表示用户、用户组、组织、设备、软件模块等。
所附权利要求中定义的主题不必限于此处所描述的益处。本发明的特定实现可提供此处所描述的所有益处、一些益处或不能提供此处所描述的益处。尽管为了呈现,此处以特定的顺序描述了各种技术的操作,但是应该理解这种方式的描述包含按照操作顺序的重新排列,除非要求特定的顺序。例如,在某些情况下可重新排列或并发执行顺序描述的操作。此处参考流程图描述的技术可用于此处所描述的一个或多个系统和/或与一个或多个其他系统。例如,此处所描述的各种程序可用硬件或软件或其组合来实现。此外,为了简化起见,流程图可能未示出可结合其他技术使用特定技术的各种方式。
I.示例性计算环境
图1是其中可实现一个或多个所描述的实施例的合适的计算环境(100)的概括示例。例如,一个或多个这种计算环境可被用作用于一个或多个依赖提取器、提供方模块和/或提取点的环境。一般而言,可使用各种不同的通用或专用计算系统配置。可适于此处所描述的工具和技术联用的公知的计算系统配置的示例包括,但不限于,服务器场和服务器簇、个人计算机、服务器计算机、手持式或膝上型设备、多处理器系统、基于微处理器的系统、可编程消费电子产品、网络PC、小型计算机、大型计算机、包括上述系统或设备中的任何一个的分布式计算环境等。
计算环境(100)并不旨在对本发明的使用范围或功能提出任何限制,因为本发明可以在完全不同的通用或专用计算环境中实现。
参考图1,计算环境(100)包括至少一个处理单元(110)和存储器(120)。在图1中,这一最基本配置(130)包括在虚线内。处理单元(110)执行计算机可执行指令,且可以是真实或虚拟处理器。在多处理系统中,多个处理单元执行计算机可执行指令以提高处理能力。存储器(120)可以是易失性存储器(例如,寄存器、高速缓存、RAM)、非易失性存储器(例如,ROM、EEPROM、闪存)或两者的某一组合。存储器(120)储存实现关于多个域的依赖图的软件(180)。
尽管为了清楚起见用线条示出了图1的各框,但是在实际上,各组件的轮廓并不是那样清楚,并且按比喻的说法,图1和以下讨论的其他附图的线条更精确地将是灰色的和模糊的。例如,可以将诸如显示设备之类的呈现组件认为是I/O组件。同样,处理器具有存储器。本发明的发明者认识到,这是本领域的特性,并且重申,图1的图示只是例示可结合本发明的一个或多个实施例来使用的示例性计算设备。在诸如“工作站”、“服务器”、“膝上型计算机”、“手持式设备”等分类之间没有区别,因为它们全部都被认为是在图1的范围之内的并且被称为“计算机”、“计算环境”或“计算设备”。
计算环境(100)可具有附加特征。在图1中,计算环境(100)包括存储(140)、一个或多个输入设备(150)、一个或多个输出设备(160)以及一个或多个通信连接(170)。诸如总线、控制器或网络等互连机构(未示出)将计算环境(100)的组件互连。通常,操作系统软件(未示出)为在计算环境(100)中执行的其它软件提供了操作环境,并协调计算环境(100)的组件的活动。
存储(140)可以是可移动或不可移动的,且可包括诸如磁盘、磁带或磁带盒、CD-ROM、CD-RW、DVD或可用于储存信息并可在计算环境(100)内被访问的任何其它介质之类的非瞬态计算机可读存储介质。存储(140)储存关于软件(180)的指令。
输入设备(150)可以是诸如键盘、鼠标、笔或跟踪球等触摸输入设备;语音输入设备;扫描设备;网络适配器;CD/DVD读取器;或可向计算环境(100)提供输入的另一设备。输出设备(160)可以是显示器、打印机、扬声器、CD/DVD刻录机、网络适配器或从计算环境(100)提供输出的另一设备。
通信连接(170)实现通过通信介质到另一计算实体的通信。由此,计算环境(100)可在使用到诸如个人计算机、服务器、路由器、网络PC、对等设备或另一公共网络节点之类的一个或多个远程计算设备的逻辑连接的联网环境中运作。通信介质传达诸如数据或计算机可执行指令、或已调制数据信号形式的请求之类的信息。已调制数据信号是其一个或多个特征以在信号中编码信息的方式设置或改变的信号。作为示例而非限制,通信介质包括以电、光、RF、红外、声学或其它载波实现的有线或无线技术。
各种技术和工具可以在计算机可读介质的一般上下文中描述。计算机可读介质可以是可在计算环境内被访问的任何可用介质。作为示例而非限制,对于计算环境(100),计算机可读介质包括存储器(120)、存储(140)以及上述任一个的组合。
各种技术和工具可以在诸如程序模块中所包括的在计算环境中的目标真实或虚拟处理器上执行的计算机可执行指令的一般上下文中描述。一般而言,程序模块包括例程、程序、库、对象、类、组件、数据结构等,它们执行特定任务或实现特定抽象数据类型。程序模块的功能可以如各实施例中所需的组合或在程序模块之间分离。关于程序模块的计算机可执行指令可以在本地或分布式计算环境中执行。在分布式计算环境中,程序模块可位于本地和远程计算机存储介质两者中。
为了呈现,详细描述使用了如“确定”、“选择”、“调整”和“操作”等术语来描述计算环境中的计算机操作。这些和其他类似的术语是由计算机执行的操作的高级抽象,且不应与人类所执行的动作混淆,除非明确地指出人类(诸如“用户”)动作的执行。对应于这些术语的实际的计算机操作取决于实现而不同。
II.依赖图生成环境系统和环境
图2是结合可实现一个或多个所描述的实施例的依赖图生成系统和/或环境(200)的框图。环境(200)可包括依赖提取器(220),其可以是被配置成管理依赖图(222)的提取并将图(222)存储在中央图存储(224)中的模块,该中央图存储(224)可以是一个或多个物理或虚拟存储设备。依赖提取器(220)可管理提取操作队列(226)。例如,依赖提取器(220)可包括队列(226)中表示仍需要执行的提取操作的项目。依赖提取器(220)可以从队列载入项目并且处理这些项目以执行相应的提取操作。队列可按各种方式中的任何一种来操作,诸如通过时候先进先出技术或者某些其他排队技术。
依赖提取器(220)可与第一提供方模块交互以从第一域(242)提取依赖图。例如,第一域可包括第一提取点(244)和第二提取点(246),这两者都是Microsoft SQL数据库服务器。第一提供方模块(240)可被配置成从依赖提取器接收对第一域(242)中的依赖图的请求(即,该示例中的SQL域,其可以包括环境(200)中所有的SQL数据库服务器))。第一提供方模块(240)也可以被配置成从第一域(242)中的提取点(244和246)检索依赖元数据。例如,第一提供方模块(240)可以用适用于第一域(242)中的提取点的类型的网络消息、API调用、专用连接等与第一域(242)中的提取点(244和246)通信。第一提供方模块(240)也可以被配置成通过将依赖元数据转换成可以由依赖提取器(220)处理的形式(例如,可使用由依赖提取器(220)展示的应用程序编程接口来传输到依赖提取器(220)的形式)来生成依赖图。
依赖提取器(220)也可管理从其他域对依赖图的提取。如图2中所示,依赖提取器(220)可调用第二提供方模块(250)来从第二计算域(252)提取依赖元数据,第二计算域(252)可包括第三提取点(254)和第四提取点(256)。依赖提取器(220)也可以调用第三提供方模块(260)来从第三域(262)提取依赖图,第三域(262)可包括第五提取点(264)。当然,依赖提取器(220)可以与比图2所示地更多或更少的域和提供方模块交互。
现在将在图2的依赖图生成环境(200)的上下文中讨论用于从多个域生成依赖图的技术。技术可包括调用第一提供方模块(240)以要求第一域(242)中的提取点(244和246)标识要用作提取单元的目录对象的依赖提取器(220)。例如,如果第一域(242)是SQL域,那么目录对象可以是第一域(242)中的数据库。作为另一示例,如果第一域(242)是SIS数据集成子系统,那么目录对象可以是SSIS包。第一提供方模块(240)可以接收目录对象并将它们转换成提取操作的表示。可以将这些表示传递给依赖提取器(220)并将它们放置在提取操作队列(226)中。或者,可以将对象传递给依赖提取器(220),并且依赖提取器(220)可使用这些对象来生成提取操作的表示。这些表示可各自包括对提供方模块(此处为第一提供方模块(240))的引用,可调用该提供方模块以执行对相应的依赖图的提取。类似地,也可将对第二域(252)的提取操作的表示包括在提取操作队列(226)中。
一旦用提取操作的初始表示填充了队列(226),依赖提取器(220)就可从队列(226)取得每个操作表示,并且调用适当的提供方模块以用在提取操作表示中定义的范围来执行提取。例如,如果第一域(242)是SQL域,那么依赖提取器(220)可调用第一提供方模块(240)以从第一提取点(224)对特定的数据库提取依赖图。
可以处理每个所提取的依赖图以确定来自其他域(例如除了来自从中提取依赖图的域之外的域)的外部对象是否被包括在图中。例如,可以用相应的提供方模块(240、250或260)解析来自特定域(242、252或262)的依赖图以为该提供方模块(240、250或260)标识对不属于该域的外部对象的引用。
如果发现了这种外部对象引用,那么可以将它们用于生成附加的提取操作表示,可执行附加的提取操作表示以提取附加的依赖图,附加的依赖图可展示这些对象在它们的本地域中的新的依赖。例如,一个数据库域中的第一数据库表格可依赖于第二数据库域中的第二数据库表格,并且第二数据库域中的该第二数据库表格可进而依赖于也在第二数据库域中的第三数据库表格。作为这个的一个示例,两个域可以是Oracle数据库域和SQL数据库域,而SQL域实例可建立到Oracle数据库的已链接服务器连接。(在SQL侧)所存储的程序可使用来自Oracle和SQL侧的表格并且定义上述第一、第二和第三数据库表格之间的依赖。第一表格(经由第二表格)对第三表格的依赖不会由仅表示第一数据库表格的本地数据库域的依赖图来展示。然而,当连同包括第二和第三数据库表格的第一域图一起考虑第二域图时,这些依赖可由从包括第二和第三数据库表格的第二数据库域提取的另一依赖图来展示。
作为一个示例,当提供方模块(240、250或260)在依赖图中标识对外部对象的引用时,提供方模块(240、250或260)可以将该引用标记为外部引用,并且可以将外部引用传递给依赖提取器(220)。一旦接收到外部引用,依赖提取器(220)就可以将引用传递给其他可用的提供方模块(240、250或260),且这些其他提供方模块中的每一个可告知依赖提取器(220)引用是否被识别为来自该提供方模块(240、250或260)的域(242、252或262)。例如,如果第一提供方模块(240)是SQL提供方模块,那么第一提供方模块(240)可以解析连接字符串以识别SQL连接。如果提供方模块(240,250或260)告知依赖提取器(220)它识别出外部引用来自它的域,那么依赖提取器可以将关于外部对象引用的操作表示连同在执行提取操作时可调用提供方模块(240,250或260)的指示一起添加到提取操作队列(226)。
定位对外部对象的引用的提供方可生成标识外部对象的对象并包括用于协助对象的本地域中的提供方提取该对象的依赖的特性。可以将该新的对象传递给对象的本地域中的提供方。例如,在SSIS提供方解析SSIS包期间,SSIS提供方可发现对SQL对象(例如表格、视图或查询)的引用。当这个发生时,SSIS提供方可以创建新的外部对象并且用与所引用的外部对象相关的特性填充该新的外部对象。可以将新的外部对象传递给SQL提供方。可以按接收新的对象的SQL提供方可以理解新的对象表示SQL对象并且可以加载由SSIS提供方存储在新的对象内的特性的方式来构建对象。这可以使用诸如统一资源标识符(URI)、资源描述框架(RDF)或某些其他标准或内部协议(in-house protocol)实现等各种不同的协议来实现。
可以将包括外部对象引用的原始依赖图连同其他依赖图(222)一起存储在中央图存储(224)中。所存储的图可以包括对其他域中的外部对象的表面引用。
当到了从队列(226)检索关于外部对象的新添加的操作表示时,可以如同来自队列(226)的其他操作表示一样处理该表示。这可包括调用将外部对象引用识别为属于它的域的提供者模块(240、250或260)。从外部对象的本地域(242、252或262)提取的图可包括对外部对象的引用。对原始图中外部对象的引用和对来自外部对象的本地域中的外部对象的引用可在稍后用于将这些引用结合为公共依赖图中的单个节点。这种公共依赖图可包括原始依赖图和来自外部对象的本地域的依赖图两者。
如果不存在可从中为新安排的提取操作表示提取依赖图的可用提取点,那么可以将该操作表示保存在队列(226)中。在这种情况下,由中央存储中的依赖图(222)组成的公共图可具有遗漏的部分。然而,该遗漏的部分可以被用户识别为公共图的不完整性的警告。同样地,可以向系统操作员发出警告,提示系统操作员将添加至相应的提取点的连接。例如,系统操作员可以向用户提供输入(诸如用户名、密码、网络地址等)以允许提供方模块(240、250或260)连接到提取点。随着建立到环境(220)中的新的提取点的连接,可以填补公共图的遗漏部分。例如,可使用可包括关于提取点的连接信息的订阅注册表来管理到提取点的连接。可使用订阅注册表来执行对已提取的依赖图(222)的经调度更新,并且可将关于新的提取点的连接信息添加到订阅注册表中。
随着特定的提取点专用的图(222)被添加到中央图存储(224)中,这些图(222)中的每一个可以保持与它所来自的提取点(244、246、254、256或262)的链接或对其的引用。这些链接或引用可用于基于聚集的图的每个元素源自的提取点(244、246、254、256或262)来保护对元素的访问。由此,如果用户对象将不能访问提取点(244、246、254、256或262),那么可拒绝该用户对象从该提取点(244、246、254、256或262)访问依赖图元素。相应地,可拒绝公共图的低优先级用户访问公共图中表示环境(220)里对于这些用户而言是限制的部分的部分。
尽管上文描述的特定的环境(200),但是此处所描述的环境和工具可以在不同于图2的环境(200)的其他环境中使用。例如,提供方模块结构可提供诸如便于扩展环境(200)以便与附加域交互的益处。然而,中央依赖提取器可包括与系统中的多个域交互而无需调用单独的提供者模块的功能。
III.用于生成关于多个域的依赖图的技术
现在将讨论若干个依赖图生成技术。这些技术的每一个可以在计算环境中执行。例如,每个技术可以在包括至少一个处理器和其上存储有指令的存储器的计算机环境中执行,该指令在由至少一个处理器执行时使得至少一个处理器执行技术(存储器存储指令(例如,对象代码),且当处理器执行这些指令时,处理器执行技术)。类似地,一个或多个计算机可读存储介质可具有包含于其上的计算机可执行指令,该可执行指令在由至少一个处理器执行时使得至少一个处理器执行技术。
参考图3,将讨论依赖图生成技术。技术可包括生成(310)表示计算机系统中的第一计算域中的一个或多个依赖的第一依赖图。第一依赖图可包括对不同于第一计算域的第二计算域中的对象的引用。技术也可包括使用对对象的引用生成(320)第二依赖图。第二依赖图可表示计算机系统中的第二计算域中的一个或多个依赖,并且这些依赖可包括对象的一个或多个依赖。
生成(320)第二依赖图可包括确定第二域包括对象,并且从第二域提取关于第二依赖图的元数据。此外,生成(310)第一依赖图可包括调用第一提供方模块来从第一域提取元数据,而生成(320)第二依赖图可包括调用第二提供方模块来从第二域提取元数据。在对象是第一对象的情形中,技术还可包括将来自第一提供方模块的第二对象传递(直接地或间接地)给第二提供方模块,其中第二对象可标识第一对象。此外,生成(320)第二依赖图可包括确定第二依赖图的提取点是否可用。如果提取点可用,那么生成(320)第二依赖图可包括从提取点检索关于第二依赖图的元数据。如果提取点不可用,那么生成(320)第二依赖图可包括等待直至提取点可用以从该提取点检索关于第二依赖图的元数据。
图3的技术还可包括发送(330)第一依赖图和第二依赖图到中央依赖提取模块。此外,技术可包括将第一依赖图和第二依赖图存储(340)在中央依赖图存储中。
第一依赖图可包括第一依赖图来自第一域中的第一提取点的指示,而第二依赖图可包括第二依赖图来自第二域中的第二提取点的指示。此外,技术还可包括将对第一依赖图的访问限于(350)能够访问第一提取点的用户对象,并且将对象对第二依赖图的访问限于(350)能够访问第二提取点的用户。
参考图4,将讨论另一依赖图生成技术。图4的技术可包括生成(410)表示计算机系统中的第一计算域中的一个或多个依赖的第一依赖图。图4的技术也可以包括确定(420)第一依赖图是否包括对一个或多个其他域中的一个或多个外部对象的一个或多个引用。如果包括,那么技术可包括提取(430)关于来自一个或多个其他域的一个或多个外部对象的一个或多个依赖图。提取(430)可包括搜索(435)一个或多个提供方模块以便提取关于一个或多个域的依赖元数据。提取(430)也可包括确定(440)是否找到了用于提取关于一个或多个其他域的依赖元数据的一个或多个匹配提供方模块。如果未找到(或甚至如果仅为外部对象中的一些找到了这样的提供方),那么可提出(442)警告,诸如通过显示告知用户可能遗漏关于一个或多个外部对象的依赖的警告。如果找到了用于提取关于一个或多个其他域的依赖元数据的一个或多个匹配提供方模块,那么提取(430)可包括在队列中包括(445)一个或多个元素,该一个或多个元素用于执行用来提取关于一个或多个外部对象的一个或多个依赖图的一个或多个提取操作,以及调用(450)一个或多个匹配提供方模块来提取关于一个或多个外部对象的一个或多个依赖图。
如果找到了用于提取关于一个或多个其他域的依赖元数据的一个或多个匹配提供方模块,那么技术也可包括将第一依赖图和关于一个或多个外部对象的一个或多个依赖图存储在中央依赖图存储库中。此外,如果找到了用于提取关于一个或多个其他域的依赖元数据的一个或多个匹配提供方模块,那么技术可包括存储由关于一个或多个外部对象的一个或多个依赖图表示的一个或多个域的一个或多个指示。技术也可包括将对第一依赖图的访问限于能够访问从中提取第一依赖图的第一域中的提取点的用户对象。此外,如果找到了用于提取关于一个或多个其他域的依赖元数据的一个或多个匹配提供方模块,那么技术可包括将对关于一个或多个外部对象的一个或多个依赖图的访问限于能够访问其他域中的相应的提取点(即包括一个或多个外部对象的提取点)的用户对象。
参考图5,将讨论又一依赖图生成技术。在图5的技术中,可以生成第一依赖图(510)。第一依赖图可表示计算机系统中的第一计算域中的一个或多个依赖。技术还可以包括在第一依赖图中标识(520)对第一域之外的外部对象的依赖的引用。技术也可以包括定位(530)被配置成从可包括外部对象的第二域中提取依赖图的提取提供方模块。此外,技术可以包括调用(540)提供方模块以从第二域提取关于外部对象的第二依赖图。
生成(510)第一依赖图可以包括调用用于从第一域提取第一依赖图的提供方模块。第一依赖图可包括第一依赖图来自第一域中的第一提取点的指示,而第二依赖图可包括第二依赖图来自第二域中的第二提取点的指示。此外,技术还可包括将对第一依赖图的访问限于能够访问第一提取点的用户对象,并且将对第二依赖图的访问限于能够访问第二提取点的用户对象。动作还可以包括将第一依赖图和第二依赖图存储在中央依赖图存储中。
尽管用结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附权利要求书中定义的主题不必限于上述具体特征或动作。相反,上述具体特征和动作是作为实现权利要求的示例形式公开的。

Claims (13)

1.一种计算机实现的方法,包括:
生成表示计算机系统(200)中的第一计算域(242、252或262)中的一个或多个依赖的第一依赖图(222),所述第一依赖图(222)包括对不同于所述第一计算域(242、252或262)的第二计算域(242、252或262)中的对象的引用;以及
使用对所述对象的引用来生成第二依赖图(222),所述第二依赖图(222)表示所述计算机系统(220)中的第二计算域(242、252或262)中的一个或多个依赖,所述第二计算域(242、252或262)中的一个或多个依赖包括所述对象的一个或多个依赖;
其中所述第一依赖图包括所述第一依赖图来自所述第一计算域中的第一提取点的指示,并且所述第二依赖图包括所述第二依赖图来自所述第二计算域中的第二提取点的指示,并且其中所述方法还包括将对所述第一依赖图的访问限于能够访问所述第一提取点的用户对象,以及将对所述第二依赖图的访问限于能够访问所述第二提取点的用户对象。
2.如权利要求1所述的方法,其特征在于,还包括将第一依赖图和第二依赖图存储在中央依赖图存储中。
3.如权利要求1所述的方法,其特征在于,生成所述第二依赖图包括确定所述第二计算域包括所述对象,以及从所述的第二计算域提取关于第二依赖图的元数据。
4.如权利要求1所述的方法,其特征在于,生成所述第一依赖图包括调用第一提供方模块以从所述第一计算域提取元数据,并且其中生成所述第二依赖图包括调用第二提供方模块以从所述第二计算域提取元数据。
5.如权利要求4所述的方法,其特征在于,所述对象是第一对象,并且所述方法还包括将来自所述第一提供方模块的第二对象传递给所述第二提供方模块,所述第二对象标识所述第一对象。
6.如权利要求4所述的方法,其特征在于,还包括将所述第一依赖图和所述第二依赖图发送给中央依赖提取模块。
7.如权利要求1所述的方法,其特征在于,生成所述第二依赖图包括:
确定关于所述第二依赖图的提取点是否可用;
如果所述提取点可用,那么从所述提取点检索关于所述第二依赖图的元数据;以及
如果所述提取点不可用,那么就等待直至所述提取点可用以从所述提取点检索关于所述第二依赖图的元数据。
8.如权利要求1所述的方法,其特征在于,
生成所述第二依赖图包括确定所述第二计算域包括所述对象,并且从所述第二计算域提取关于所述第二依赖图的元数据;
在生成所述第二依赖图的过程中使用对所述第一依赖图中的对象的引用;
生成所述第一依赖图包括调用第一提供方模块以从所述第一计算域提取元数据;
生成所述第二依赖图包括调用第二提供方模块以从所述第二计算域提取元数据;
所述方法还包括:
将所述第一依赖图和所述第二依赖图存储在中央依赖图存储库中;
将对所述第一依赖图的访问限于能够访问所述第一计算域中的第一提取点的用户对象;以及
将对所述第二依赖图的访问限于能够访问所述第二计算域中的第二提取点的用户对象。
9.一种计算机实现的方法,包括:
生成表示计算机系统(200)中的第一计算域(242、252或262)中的一个或多个依赖的第一依赖图(222);
确定所述第一依赖图(222)是否包括对一个或多个其他域(242、252或262)中的一个或多个外部对象的一个或多个引用;
如果所述第一依赖图(222)包括对一个或多个其他域(242、252或262)中的一个或多个外部对象的一个或多个引用,那么就从所述一个或多个其他域(242、252或262)提取关于一个或多个外部对象的一个或多个依赖图(222);以及
如果所述第一依赖图包括对一个或多个其他域中的一个或多个外部对象的一个或多个引用,那么所述方法还包括将对所述第一依赖图的访问限于能够访问所述第一计算域中的第一提取点的用户对象,以及将对关于所述一个或多个外部对象的一个或多个依赖图的访问限于能够访问所述一个或多个其他域中的一个或多个相应的提取点的用户对象。
10.如权利要求9所述的方法,其特征在于,从所述一个或多个其他域提取关于一个或多个外部对象的一个或多个依赖图包括:
搜索一个或多个提供方模块以提取关于所述一个或多个其他域的依赖元数据;以及
如果找到用于提取关于所述一个或多个其他域的依赖元数据的一个或多个匹配提供方模块,那么就调用所述一个或多个匹配提供方模块以提取关于所述一个或多个外部对象的一个或多个依赖图。
11.如权利要求10所述的方法,其特征在于,如果找到用于提取关于所述一个或多个其他域的依赖元数据的一个或多个匹配提供方模块,那么所述方法还包括在队列中包括一个或多个元素,所述一个或多个元素用于执行用来提取关于所述一个或多个外部对象的一个或多个依赖图的一个或多个提取操作。
12.如权利要求9所述的方法,其特征在于,如果所述第一依赖图包括对一个或多个其他域中的一个或多个外部对象的一个或多个引用,那么所述方法还包括将所述第一依赖图和关于所述一个或多个外部对象的一个或多个依赖图存储在中央依赖图存储库中。
13.如权利要求9所述的方法,其特征在于,如果所述第一依赖图包括对一个或多个其他域中的一个或多个外部对象的一个或多个引用,那么所述方法还包括存储由关于所述一个或多个外部对象的一个或多个依赖图表示的一个或多个域的一个或多个指示。
CN201110127699.4A 2010-05-07 2011-05-06 关于多个域的依赖图 Active CN102236701B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/775,494 2010-05-07
US12/775,494 US8392465B2 (en) 2010-05-07 2010-05-07 Dependency graphs for multiple domains

Publications (2)

Publication Number Publication Date
CN102236701A CN102236701A (zh) 2011-11-09
CN102236701B true CN102236701B (zh) 2017-05-17

Family

ID=44887350

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110127699.4A Active CN102236701B (zh) 2010-05-07 2011-05-06 关于多个域的依赖图

Country Status (2)

Country Link
US (1) US8392465B2 (zh)
CN (1) CN102236701B (zh)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10001898B1 (en) 2011-07-12 2018-06-19 Domo, Inc. Automated provisioning of relational information for a summary data visualization
US9202297B1 (en) 2011-07-12 2015-12-01 Domo, Inc. Dynamic expansion of data visualizations
US9792017B1 (en) 2011-07-12 2017-10-17 Domo, Inc. Automatic creation of drill paths
US9619580B2 (en) 2012-09-11 2017-04-11 International Business Machines Corporation Generation of synthetic context objects
US9741138B2 (en) 2012-10-10 2017-08-22 International Business Machines Corporation Node cluster relationships in a graph database
US8931109B2 (en) 2012-11-19 2015-01-06 International Business Machines Corporation Context-based security screening for accessing data
US9053102B2 (en) 2013-01-31 2015-06-09 International Business Machines Corporation Generation of synthetic context frameworks for dimensionally constrained hierarchical synthetic context-based objects
US9069752B2 (en) 2013-01-31 2015-06-30 International Business Machines Corporation Measuring and displaying facets in context-based conformed dimensional data gravity wells
US10152526B2 (en) 2013-04-11 2018-12-11 International Business Machines Corporation Generation of synthetic context objects using bounded context objects
US9348794B2 (en) 2013-05-17 2016-05-24 International Business Machines Corporation Population of context-based data gravity wells
US9954815B2 (en) * 2014-09-15 2018-04-24 Nxp Usa, Inc. Domain name collaboration service using domain name dependency server
US11144504B1 (en) 2015-03-31 2021-10-12 EMC IP Holding Company LLC Eliminating redundant file system operations
US11294862B1 (en) * 2015-03-31 2022-04-05 EMC IP Holding Company LLC Compounding file system metadata operations via buffering
US11151082B1 (en) 2015-03-31 2021-10-19 EMC IP Holding Company LLC File system operation cancellation
US10020983B2 (en) 2015-07-31 2018-07-10 Ca, Inc. Reachability fault isolation and recovery using asynchronous notifications
US10572822B2 (en) 2016-07-21 2020-02-25 International Business Machines Corporation Modular memoization, tracking and train-data management of feature extraction
US10355933B2 (en) 2017-03-31 2019-07-16 Microsoft Technology Licensing, Llc Dependency graph for coordination of device configuration
CN107391537B (zh) * 2017-04-25 2020-09-15 阿里巴巴集团控股有限公司 数据关系模型的生成方法、装置及设备
EP3416412B1 (en) * 2017-06-13 2020-06-03 Swisscom AG Service orchestration across multiple service domains
CN112136124B (zh) * 2018-04-19 2024-02-20 谷歌有限责任公司 用于与计算机实现的自动助理进行人机对话会话的依赖图谈话建模
US11204924B2 (en) 2018-12-21 2021-12-21 Home Box Office, Inc. Collection of timepoints and mapping preloaded graphs
US11269768B2 (en) 2018-12-21 2022-03-08 Home Box Office, Inc. Garbage collection of preloaded time-based graph data
US11475092B2 (en) 2018-12-21 2022-10-18 Home Box Office, Inc. Preloaded content selection graph validation
US11829294B2 (en) 2018-12-21 2023-11-28 Home Box Office, Inc. Preloaded content selection graph generation
US11474943B2 (en) 2018-12-21 2022-10-18 Home Box Office, Inc. Preloaded content selection graph for rapid retrieval
US11474974B2 (en) * 2018-12-21 2022-10-18 Home Box Office, Inc. Coordinator for preloading time-based content selection graphs

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5831618A (en) * 1996-02-29 1998-11-03 Nec Corporation Reconfigurable network map display system
CN1759368A (zh) * 2003-01-23 2006-04-12 罗切斯特大学 多时钟域微处理器

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6411936B1 (en) * 1999-02-05 2002-06-25 Nval Solutions, Inc. Enterprise value enhancement system and method
US20050071283A1 (en) * 2000-05-25 2005-03-31 Randle William M. Quality assured secure and coordinated transmission of separate image and data records representing a transaction
US7484002B2 (en) * 2000-08-18 2009-01-27 Akamai Technologies, Inc. Content delivery and global traffic management network system
US7171623B2 (en) * 2001-05-25 2007-01-30 International Business Machines Corporation Method and apparatus for efficiently exposing nodes of a display map while monitoring metrics in a complex heterogeneous system
US7373350B1 (en) 2002-11-07 2008-05-13 Data Advantage Group Virtual metadata analytics and management platform
US7853554B2 (en) 2002-11-12 2010-12-14 Oracle International Corporation Method and system for metadata reconciliation in a data warehouse
US7975043B2 (en) * 2003-02-25 2011-07-05 Hewlett-Packard Development Company, L.P. Method and apparatus for monitoring a network
US7152157B2 (en) * 2003-03-05 2006-12-19 Sun Microsystems, Inc. System and method for dynamic resource configuration using a dependency graph
KR100661313B1 (ko) * 2003-12-03 2006-12-27 한국전자통신연구원 평생 번호를 사용한 이동성 제공이 가능한 sip 기반의멀티미디어 통신 시스템 및 이동성 제공 방법
JP2005176021A (ja) * 2003-12-12 2005-06-30 Toshiba Corp 情報処理装置およびプログラム
US8024356B2 (en) * 2006-02-03 2011-09-20 Autodesk, Inc. Database-managed image processing
US7770217B2 (en) * 2006-02-23 2010-08-03 Cisco Technology, Inc. Method and system for quality of service based web filtering
US7536401B2 (en) * 2006-08-07 2009-05-19 International Business Machines Corporation Methods, systems, and computer program products for using graphs to solve circular dependency in object persistence
US7725505B2 (en) * 2006-12-29 2010-05-25 Sap Ag System and method for measuring memory consumption differences between objects within an object-oriented programming environment
US8443074B2 (en) 2007-03-06 2013-05-14 Microsoft Corporation Constructing an inference graph for a network
US20090006148A1 (en) 2007-06-27 2009-01-01 Business Objects, S.A. Apparatus and method for materializing related business intelligence data entities
US8468165B2 (en) * 2007-12-02 2013-06-18 Leviton Manufacturing Company, Inc. Method for discovering network of home or building control devices
US8489474B2 (en) 2007-12-31 2013-07-16 Software Ag Systems and/or methods for managing transformations in enterprise application integration and/or business processing management environments
US20100011048A1 (en) * 2008-07-10 2010-01-14 Morris Robert P Methods And Systems For Resolving A Geospatial Query Region To A Network Identifier

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5831618A (en) * 1996-02-29 1998-11-03 Nec Corporation Reconfigurable network map display system
CN1759368A (zh) * 2003-01-23 2006-04-12 罗切斯特大学 多时钟域微处理器

Also Published As

Publication number Publication date
US8392465B2 (en) 2013-03-05
CN102236701A (zh) 2011-11-09
US20110276603A1 (en) 2011-11-10

Similar Documents

Publication Publication Date Title
CN102236701B (zh) 关于多个域的依赖图
Biswas et al. Interoperability and synchronization management of blockchain-based decentralized e-health systems
US20060230025A1 (en) Enterprise software system having multidimensional XBRL engine
US10331441B2 (en) Source code mapping through context specific key word indexes and fingerprinting
EP1654679A2 (en) Information access using ontologies
JP2011070707A (ja) 分散コンピューティングシステムと、分散アプリケーションの自動化された設計、展開、および管理とのためのアーキテクチャ
CN102844756A (zh) 具有基于角色的访问控制的计算机关系数据库方法和系统
JP2018514012A (ja) ネットワーク上のデータソースへの照会
US20180205801A1 (en) Apparatus and method for connecting at least two systems by converting data
US11741119B2 (en) Canonical data model for distributed data catalog and metadata exchange
Schueler et al. Querying for meta knowledge
Shahand et al. A data‐centric neuroscience gateway: Design, implementation, and experiences
US11550785B2 (en) Bidirectional mapping of hierarchical data to database object types
US9373093B2 (en) Gateway service manager for business object applications
Athanasopoulos et al. Extracting REST resource models from procedure-oriented service interfaces
US8296725B2 (en) Framework for variation oriented analysis for service-oriented architecture
Dang et al. An effective and elastic blockchain-based provenance preserving solution for the open data
GB2514459A (en) Method and system for registering software systems in data-sharing sessions
Coelho et al. A blockchain-based architecture for trust in collaborative scientific experimentation
Karlsson et al. MAPI: a software framework for distributed biomedical applications
Singh et al. Evaluation of approaches for designing secure data warehouse
Uslander Reference Model for the ORCHESTRA Architecture (RM-OA). Version 2 (Rev 2.1).
Dragut et al. CRIS—Computational research infrastructure for science
Ahmed et al. A Deep Learning framework for Interoperable Machine Learning
Admodisastro et al. An architecture analysis approach for supporting black-box software development

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150728

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

Effective date of registration: 20150728

Address after: Washington State

Applicant after: Micro soft technique license Co., Ltd

Address before: Washington State

Applicant before: Microsoft Corp.

GR01 Patent grant
GR01 Patent grant