專利名稱:關于多個域的依賴圖的制作方法
技術領域:
本發(fā)明涉及數據結構技術,尤其涉及關于多個域的依賴圖。
背景技術:
依賴圖(cbpendency graph)是表示計算系統(tǒng)中——諸如單個計算設備中或計算設備的網絡中——的對象之間的依賴的數據結構??蓪⒁蕾噲D用于表示由特定類型的軟件管理的對象之間的依賴。例如,數據庫服務器可提供表示諸如不同的數據庫、數據庫表格、 數據庫表格中的行等不同數據庫對象之間的依賴的依賴圖。
發(fā)明內容
此處所述的工具和技術涉及生成關于多個域的依賴圖。例如,在第一域中的依賴圖包括對第二域中的對象的引用的情形中,這會是有用的。在這種情況下,可生成關于第二域的第二圖,并且第二圖可表示關于所引用的對象的依賴。如此處所使用的,域是計算機系統(tǒng)中被映射到元數據系統(tǒng)的一部分(例如,計算機網絡中的服務器或一組服務器)。不同的域具有不同的元數據系統(tǒng),不同的元數據系統(tǒng)具有不同類型的元數據和/或不同的提供元數據的方式。例如,計算機網絡中的Windowderver文件服務器、SQL Server 數據庫服務器、Oracle數據庫服務器和SQL Server 集成服務(SSK)數據集成子系統(tǒng)可以是同一計算機系統(tǒng)中的四個不同的域。在一個實施例中,工具和技術可包括生成表示第一計算機系統(tǒng)中的第一計算域中的一個或多個依賴的第一依賴圖。第一依賴圖可包括對不同于第一計算域的第二計算域中的對象的引用??墒褂脤τ趯ο蟮囊脕砩傻诙蕾噲D(例如通過使用引用來定位適當的提供方模塊并調用該提供方模塊來提取第二依賴圖)。第二依賴圖可表示計算機系統(tǒng)中的第二計算域中的一個或多個依賴,并且第二計算域中的一個或多個依賴可包括對象的一個或多個依賴(即對對象的一個或多個依賴和/或對象對一個或多個其他對象的一個或多個依賴)。在工具和技術的另一實施例中,可生成表示計算機系統(tǒng)中的第一計算域中的一個或多個依賴的第一依賴圖。可以確定第一依賴圖是否包括對一個或多個其他域中的一個或多個外部對象的一個或多個引用。如果第一依賴圖包括對一個或多個其他域中的一個或多個外部對象的一個或多個引用,那么可提取關于來自一個或多個其他域的外部對象中的一個或多個的一個或多個依賴圖。在工具和技術的又一實施例中,可生成表示計算機系統(tǒng)中的第一計算域中的一個或多個依賴的第一依賴圖??蓸俗R第一依賴圖中對第一域之外的外部對象的依賴的引用。 此外,可定位被配置成從第二域提取依賴圖的提取提供方模塊。第二域可包括外部對象??烧{用提供方模塊來從第二域提取關于外部對象的第二依賴圖。提供本概述是為了以簡化的形式介紹一些概念。這些概念在以下詳細描述中進一步描述。本概述并不旨在標識出所要求保護的主題的關鍵因素或必要特征,也不旨在用于限定所要求保護的主題的范圍。類似地,本發(fā)明并不限于針對在背景技術具體實施方式
或附圖中討論的特定的技術、工具、環(huán)境、缺點或優(yōu)點的實現。
圖1是其中可實現一個或多個所描述的實施例的合適的計算環(huán)境的框圖。圖2是依賴圖生成環(huán)境的示意圖。圖3是依賴圖生成技術的流程圖。圖4是另一依賴圖生成技術的流程圖。圖5是又一依賴圖生成技術的流程圖。
具體實施例方式此處所述的實施例涉及用于生成關于多個域的依賴圖的技術和工具。這種改進可來自單獨地和結合地使用各種技術和工具。這種技術和工具可包括生成表示計算機系統(tǒng)中的一個和多個依賴的第一依賴圖。 第一依賴圖可包括對不同于第一計算域的第二計算域中的外部對象的引用。例如,如果第一域是SSIS域,那么來自該域中的SSIS包的任務可依賴于來自SQL Server 關系數據庫域的數據庫表格。如果第一依賴圖包括對第二域中的外部對象的這種引用,那么可生成關于第二域的第二依賴圖,而該第二依賴圖可表示該外部對象的依賴。第二依賴圖可以表示和可以不表示第二域中的其他依賴。例如,圖可僅包括特定數據庫表格的依賴,或者它可以包括更大的提取單元(例如特定級別的文件系統(tǒng)文件夾)中的所有依賴。可從用于生成關于多個域的依賴圖工具和技術來實現一個或多個益處。例如,可依照此處所描述的工具和技術來生成關于多個域的數據庫圖,且這些圖可包括在中央數據庫存儲中。這些依賴圖可用于表示域內依賴或域間依賴。例如,可生成關于多個域的總體合并圖。此外,可維護從中獲取圖的提取點(或服務器)的指示。因此,可將對每個依賴圖的訪問限于將被允許訪問圖來自于其的提取點的用戶對象。如此處所使用的,用戶對象是可被授予或拒絕訪問許可的計算機對象。用戶對象可表示用戶、用戶組、組織、設備、軟件模塊等。所附權利要求中定義的主題不必限于此處所描述的益處。本發(fā)明的特定實現可提供此處所描述的所有益處、一些益處或不能提供此處所描述的益處。盡管為了呈現,此處以特定的順序描述了各種技術的操作,但是應該理解這種方式的描述包含按照操作順序的重新排列,除非要求特定的順序。例如,在某些情況下可重新排列或并發(fā)執(zhí)行順序描述的操作。此處參考流程圖描述的技術可用于此處所描述的一個或多個系統(tǒng)和/或與一個或多個其他系統(tǒng)。例如,此處所描述的各種程序可用硬件或軟件或其組合來實現。此外,為了簡化起見,流程圖可能未示出可結合其他技術使用特定技術的各種方式。I.示例性計算環(huán)境圖1是其中可實現一個或多個所描述的實施例的合適的計算環(huán)境(100)的概括示例。例如,一個或多個這種計算環(huán)境可被用作用于一個或多個依賴提取器、提供方模塊和/ 或提取點的環(huán)境。一般而言,可使用各種不同的通用或專用計算系統(tǒng)配置。可適于此處所描述的工具和技術聯用的公知的計算系統(tǒng)配置的示例包括,但不限于,服務器場和服務器簇、個人計算機、服務器計算機、手持式或膝上型設備、多處理器系統(tǒng)、基于微處理器的系統(tǒng)、可編程消費電子產品、網絡PC、小型計算機、大型計算機、包括上述系統(tǒng)或設備中的任何一個的分布式計算環(huán)境等。 計算環(huán)境(100)并不旨在對本發(fā)明的使用范圍或功能提出任何限制,因為本發(fā)明可以在完全不同的通用或專用計算環(huán)境中實現。參考圖1,計算環(huán)境(100)包括至少一個處理單元(110)和存儲器(120)。在圖1 中,這一最基本配置(130)包括在虛線內。處理單元(110)執(zhí)行計算機可執(zhí)行指令,且可以是真實或虛擬處理器。在多處理系統(tǒng)中,多個處理單元執(zhí)行計算機可執(zhí)行指令以提高處理能力。存儲器(120)可以是易失性存儲器(例如,寄存器、高速緩存、RAM)、非易失性存儲器 (例如,R0M、EEPR0M、閃存)或兩者的某一組合。存儲器(120)儲存實現關于多個域的依賴圖的軟件(180)。盡管為了清楚起見用線條示出了圖1的各框,但是在實際上,各組件的輪廓并不是那樣清楚,并且按比喻的說法,圖1和以下討論的其他附圖的線條更精確地將是灰色的和模糊的。例如,可以將諸如顯示設備之類的呈現組件認為是I/O組件。同樣,處理器具有存儲器。本發(fā)明的發(fā)明者認識到,這是本領域的特性,并且重申,圖1的圖示只是例示可結合本發(fā)明的一個或多個實施例來使用的示例性計算設備。在諸如“工作站”、“服務器”、“膝上型計算機”、“手持式設備”等分類之間沒有區(qū)別,因為它們全部都被認為是在圖1的范圍之內的并且被稱為“計算機”、“計算環(huán)境”或“計算設備”。計算環(huán)境(100)可具有附加特征。在圖1中,計算環(huán)境(100)包括存儲(140)、一個或多個輸入設備(150)、一個或多個輸出設備(160)以及一個或多個通信連接(170)。諸如總線、控制器或網絡等互連機構(未示出)將計算環(huán)境(100)的組件互連。通常,操作系統(tǒng)軟件(未示出)為在計算環(huán)境(100)中執(zhí)行的其它軟件提供了操作環(huán)境,并協(xié)調計算環(huán)境(100)的組件的活動。存儲(140)可以是可移動或不可移動的,且可包括諸如磁盤、磁帶或磁帶盒、 CD-ROM、CD-RW、DVD或可用于儲存信息并可在計算環(huán)境(100)內被訪問的任何其它介質之類的非瞬態(tài)計算機可讀存儲介質。存儲(140)儲存關于軟件(180)的指令。輸入設備(150)可以是諸如鍵盤、鼠標、筆或跟蹤球等觸摸輸入設備;語音輸入設備;掃描設備;網絡適配器;CD/DVD讀取器;或可向計算環(huán)境(100)提供輸入的另一設備。 輸出設備(160)可以是顯示器、打印機、揚聲器、CD/DVD刻錄機、網絡適配器或從計算環(huán)境 (100)提供輸出的另一設備。通信連接(170)實現通過通信介質到另一計算實體的通信。由此,計算環(huán)境(100) 可在使用到諸如個人計算機、服務器、路由器、網絡PC、對等設備或另一公共網絡節(jié)點之類的一個或多個遠程計算設備的邏輯連接的聯網環(huán)境中運作。通信介質傳達諸如數據或計算機可執(zhí)行指令、或已調制數據信號形式的請求之類的信息。已調制數據信號是其一個或多個特征以在信號中編碼信息的方式設置或改變的信號。作為示例而非限制,通信介質包括以電、光、RF、紅外、聲學或其它載波實現的有線或無線技術。各種技術和工具可以在計算機可讀介質的一般上下文中描述。計算機可讀介質可以是可在計算環(huán)境內被訪問的任何可用介質。作為示例而非限制,對于計算環(huán)境(100),計算機可讀介質包括存儲器(120)、存儲(140)以及上述任一個的組合。
6
各種技術和工具可以在諸如程序模塊中所包括的在計算環(huán)境中的目標真實或虛擬處理器上執(zhí)行的計算機可執(zhí)行指令的一般上下文中描述。一般而言,程序模塊包括例程、 程序、庫、對象、類、組件、數據結構等,它們執(zhí)行特定任務或實現特定抽象數據類型。程序模塊的功能可以如各實施例中所需的組合或在程序模塊之間分離。關于程序模塊的計算機可執(zhí)行指令可以在本地或分布式計算環(huán)境中執(zhí)行。在分布式計算環(huán)境中,程序模塊可位于本地和遠程計算機存儲介質兩者中。為了呈現,詳細描述使用了如“確定”、“選擇”、“調整”和“操作,,等術語來描述計算環(huán)境中的計算機操作。這些和其他類似的術語是由計算機執(zhí)行的操作的高級抽象,且不應與人類所執(zhí)行的動作混淆,除非明確地指出人類(諸如“用戶”)動作的執(zhí)行。對應于這些術語的實際的計算機操作取決于實現而不同。II.依賴圖生成環(huán)境系統(tǒng)和環(huán)境圖2是結合可實現一個或多個所描述的實施例的依賴圖生成系統(tǒng)和/或環(huán)境 (200)的框圖。環(huán)境(200)可包括依賴提取器020),其可以是被配置成管理依賴圖(222) 的提取并將圖(22 存儲在中央圖存儲OM)中的模塊,該中央圖存儲(224)可以是一個或多個物理或虛擬存儲設備。依賴提取器(220)可管理提取操作隊列0沈)。例如,依賴提取器(220)可包括隊列0 )中表示仍需要執(zhí)行的提取操作的項目。依賴提取器(220)可以從隊列載入項目并且處理這些項目以執(zhí)行相應的提取操作。隊列可按各種方式中的任何一種來操作,諸如通過時候先進先出技術或者某些其他排隊技術。依賴提取器(220)可與第一提供方模塊交互以從第一域( 提取依賴圖。例如, 第一域可包括第一提取點(M4)和第二提取點046),這兩者都是MicrosoftSQL Server 數據庫服務器。第一提供方模塊(MO)可被配置成從依賴提取器接收對第一域(M2) 中的依賴圖的請求(即,該示例中的SQL Server 域,其可以包括環(huán)境QOO)中所有的 SQL Server 數據庫服務器))。第一提供方模塊(MO)也可以被配置成從第一域042)中的提取點044和對6)檢索依賴元數據。例如,第一提供方模塊(MO)可以用適用于第一域042)中的提取點的類型的網絡消息、API調用、專用連接等與第一域042)中的提取點 044和對6)通信。第一提供方模塊(MO)也可以被配置成通過將依賴元數據轉換成可以由依賴提取器(220)處理的形式(例如,可使用由依賴提取器(220)展示的應用程序編程接口來傳輸到依賴提取器O20)的形式)來生成依賴圖。依賴提取器(220)也可管理從其他域對依賴圖的提取。如圖2中所示,依賴提取器 (220)可調用第二提供方模塊(250)來從第二計算域(25 提取依賴元數據,第二計算域 (252)可包括第三提取點(254)和第四提取點056)。依賴提取器(220)也可以調用第三提供方模塊(260)來從第三域( 提取依賴圖,第三域( 可包括第五提取點064)。 當然,依賴提取器(220)可以與比圖2所示地更多或更少的域和提供方模塊交互?,F在將在圖2的依賴圖生成環(huán)境O00)的上下文中討論用于從多個域生成依賴圖的技術。技術可包括調用第一提供方模塊(240)以要求第一域042)中的提取點044 和對6)標識要用作提取單元的目錄對象的依賴提取器020)。例如,如果第一域(M2)是 SQLServer 域,那么目錄對象可以是第一域( 中的數據庫。作為另一示例,如果第一域 (242)是SIS數據集成子系統(tǒng),那么目錄對象可以是SSIS包。第一提供方模塊(MO)可以接收目錄對象并將它們轉換成提取操作的表示。可以將這些表示傳遞給依賴提取器(220)并將它們放置在提取操作隊列026)中?;蛘撸梢詫ο髠鬟f給依賴提取器020),并且依賴提取器(220)可使用這些對象來生成提取操作的表示。這些表示可各自包括對提供方模塊(此處為第一提供方模塊O40))的引用,可調用該提供方模塊以執(zhí)行對相應的依賴圖的提取。類似地,也可將對第二域052)的提取操作的表示包括在提取操作隊列(226)中。一旦用提取操作的初始表示填充了隊列0沈),依賴提取器O20)就可從隊列 (226)取得每個操作表示,并且調用適當的提供方模塊以用在提取操作表示中定義的范圍來執(zhí)行提取。例如,如果第一域042)是SQL Server 域,那么依賴提取器Q20)可調用第一提供方模塊O40)以從第一提取點(224)對特定的數據庫提取依賴圖??梢蕴幚砻總€所提取的依賴圖以確定來自其他域(例如除了來自從中提取依賴圖的域之外的域)的外部對象是否被包括在圖中。例如,可以用相應的提供方模塊(對0、 250或沈0)解析來自特定域042、252或沈幻的依賴圖以為該提供方模塊O40、250或 260)標識對不屬于該域的外部對象的引用。如果發(fā)現了這種外部對象引用,那么可以將它們用于生成附加的提取操作表示, 可執(zhí)行附加的提取操作表示以提取附加的依賴圖,附加的依賴圖可展示這些對象在它們的本地域中的新的依賴。例如,一個數據庫域中的第一數據庫表格可依賴于第二數據庫域中的第二數據庫表格,并且第二數據庫域中的該第二數據庫表格可進而依賴于也在第二數據庫域中的第三數據庫表格。作為這個的一個示例,兩個域可以是Oracle數據庫域和 SQL Server 數據庫域,而SQL Server 域實例可建立到Oracle數據庫的已鏈接服務器連接。(在SQL Server 側)所存儲的程序可使用來自Oracle和SQL Server 側的表格并且定義上述第一、第二和第三數據庫表格之間的依賴。第一表格(經由第二表格)對第三表格的依賴不會由僅表示第一數據庫表格的本地數據庫域的依賴圖來展示。然而,當連同包括第二和第三數據庫表格的第一域圖一起考慮第二域圖時,這些依賴可由從包括第二和第三數據庫表格的第二數據庫域提取的另一依賴圖來展示。作為一個示例,當提供方模塊O40、250或沈0)在依賴圖中標識對外部對象的引用時,提供方模塊040、250或沈0)可以將該引用標記為外部引用,并且可以將外部引用傳遞給依賴提取器(220)。一旦接收到外部引用,依賴提取器(220)就可以將引用傳遞給其他可用的提供方模塊O40、250或沈0),且這些其他提供方模塊中的每一個可告知依賴提取器O20)引用是否被識別為來自該提供方模塊040、250或沈0)的域042、252或沈2)。 例如,如果第一提供方模塊(MO)是SQL Server 提供方模塊,那么第一提供方模塊(MO) 可以解析連接字符串以識別SQL Server 連接。如果提供方模塊040,250或沈0)告知依賴提取器(220)它識別出外部引用來自它的域,那么依賴提取器可以將關于外部對象引用的操作表示連同在執(zhí)行提取操作時可調用提供方模塊040,250或沈0)的指示一起添加到提取操作隊列026)。定位對外部對象的引用的提供方可生成標識外部對象的對象并包括用于協(xié)助對象的本地域中的提供方提取該對象的依賴的特性??梢詫⒃撔碌膶ο髠鬟f給對象的本地域中的提供方。例如,在SSIS提供方解析SSIS包期間,SSIS提供方可發(fā)現對SQLkrver 對象(例如表格、視圖或查詢)的引用。當這個發(fā)生時,SSIS提供方可以創(chuàng)建新的外部對象并且用與所引用的外部對象相關的特性填充該新的外部對象??梢詫⑿碌耐獠繉ο髠鬟f給SQL Server 提供方??梢园唇邮招碌膶ο蟮腟QL Server 提供方可以理解新的對象表示SQLServer 對象并且可以加載由SSIS提供方存儲在新的對象內的特性的方式來構建對象。這可以使用諸如統(tǒng)一資源標識符(URI)、資源描述框架(RDF)或某些其他標準或內部協(xié)議(in-hous印rotocol)實現等各種不同的協(xié)議來實現??梢詫ㄍ獠繉ο笠玫脑家蕾噲D連同其他依賴圖(22 —起存儲在中央圖存儲OM)中。所存儲的圖可以包括對其他域中的外部對象的表面引用。當到了從隊列026)檢索關于外部對象的新添加的操作表示時,可以如同來自隊列(226)的其他操作表示一樣處理該表示。這可包括調用將外部對象引用識別為屬于它的域的提供者模塊040、250或沈0)。從外部對象的本地域042、252或26 提取的圖可包括對外部對象的引用。對原始圖中外部對象的引用和對來自外部對象的本地域中的外部對象的引用可在稍后用于將這些引用結合為公共依賴圖中的單個節(jié)點。這種公共依賴圖可包括原始依賴圖和來自外部對象的本地域的依賴圖兩者。如果不存在可從中為新安排的提取操作表示提取依賴圖的可用提取點,那么可以將該操作表示保存在隊列026)中。在這種情況下,由中央存儲中的依賴圖(22 組成的公共圖可具有遺漏的部分。然而,該遺漏的部分可以被用戶識別為公共圖的不完整性的警告。同樣地,可以向系統(tǒng)操作員發(fā)出警告,提示系統(tǒng)操作員將添加至相應的提取點的連接。 例如,系統(tǒng)操作員可以向用戶提供輸入(諸如用戶名、密碼、網絡地址等)以允許提供方模塊040、250或沈0)連接到提取點。隨著建立到環(huán)境O20)中的新的提取點的連接,可以填補公共圖的遺漏部分。例如,可使用可包括關于提取點的連接信息的訂閱注冊表來管理到提取點的連接。可使用訂閱注冊表來執(zhí)行對已提取的依賴圖(22 的經調度更新,并且可將關于新的提取點的連接信息添加到訂閱注冊表中。隨著特定的提取點專用的圖(222)被添加到中央圖存儲0 )中,這些圖(222) 中的每一個可以保持與它所來自的提取點044、246、2討、256或沈幻的鏈接或對其的引用。這些鏈接或引用可用于基于聚集的圖的每個元素源自的提取點044、246、2M、256或 262)來保護對元素的訪問。由此,如果用戶對象將不能訪問提取點Q44、246、2M、256或沈2),那么可拒絕該用戶對象從該提取點044、246、2討、256或沈幻訪問依賴圖元素。相應地,可拒絕公共圖的低優(yōu)先級用戶訪問公共圖中表示環(huán)境(220)里對于這些用戶而言是限制的部分的部分。盡管上文描述的特定的環(huán)境000),但是此處所描述的環(huán)境和工具可以在不同于圖2的環(huán)境000)的其他環(huán)境中使用。例如,提供方模塊結構可提供諸如便于擴展環(huán)境 (200)以便與附加域交互的益處。然而,中央依賴提取器可包括與系統(tǒng)中的多個域交互而無需調用單獨的提供者模塊的功能。III.用于生成關于多個域的依賴圖的技術現在將討論若干個依賴圖生成技術。這些技術的每一個可以在計算環(huán)境中執(zhí)行。 例如,每個技術可以在包括至少一個處理器和其上存儲有指令的存儲器的計算機環(huán)境中執(zhí)行,該指令在由至少一個處理器執(zhí)行時使得至少一個處理器執(zhí)行技術(存儲器存儲指令 (例如,對象代碼),且當處理器執(zhí)行這些指令時,處理器執(zhí)行技術)。類似地,一個或多個計算機可讀存儲介質可具有包含于其上的計算機可執(zhí)行指令,該可執(zhí)行指令在由至少一個處理器執(zhí)行時使得至少一個處理器執(zhí)行技術。參考圖3,將討論依賴圖生成技術。技術可包括生成(310)表示計算機系統(tǒng)中的第一計算域中的一個或多個依賴的第一依賴圖。第一依賴圖可包括對不同于第一計算域的第二計算域中的對象的引用。技術也可包括使用對對象的引用生成(320)第二依賴圖。第二依賴圖可表示計算機系統(tǒng)中的第二計算域中的一個或多個依賴,并且這些依賴可包括對象的一個或多個依賴。生成(320)第二依賴圖可包括確定第二域包括對象,并且從第二域提取關于第二依賴圖的元數據。此外,生成(310)第一依賴圖可包括調用第一提供方模塊來從第一域提取元數據,而生成(320)第二依賴圖可包括調用第二提供方模塊來從第二域提取元數據。 在對象是第一對象的情形中,技術還可包括將來自第一提供方模塊的第二對象傳遞(直接地或間接地)給第二提供方模塊,其中第二對象可標識第一對象。此外,生成(320)第二依賴圖可包括確定第二依賴圖的提取點是否可用。如果提取點可用,那么生成(320)第二依賴圖可包括從提取點檢索關于第二依賴圖的元數據。如果提取點不可用,那么生成(320) 第二依賴圖可包括等待直至提取點可用以從執(zhí)行點檢索關于第二依賴圖的元數據。圖3的技術還可包括發(fā)送(330)第一依賴圖和第二依賴圖到中央依賴提取模塊。 此外,技術可包括將第一依賴圖和第二依賴圖存儲C340)在中央依賴圖存儲中。第一依賴圖可包括第一依賴圖來自第一域中的第一提取點的指示,而第二依賴圖可包括第二依賴圖來自第二域中的第二提取點的指示。此外,技術還可包括將對第一依賴圖的訪問限于(350)能夠訪問第一提取點的用戶對象,并且將對象對第二依賴圖的訪問限于(350)能夠訪問第二提取點的用戶。參考圖4,將討論另一依賴圖生成技術。圖4的技術可包括生成(410)表示計算機系統(tǒng)中的第一計算域中的一個或多個依賴的第一依賴圖。圖4的技術也可以包括確定 (420)第一依賴圖是否包括對一個或多個其他域中的一個或多個外部對象的一個或多個引用。如果包括,那么技術可包括提取(430)關于來自一個或多個其他域的一個或多個外部對象的一個或多個依賴圖。提取(430)可包括搜索(43 —個或多個提供方模塊以便提取關于一個或多個域的依賴元數據。提取(430)也可包括確定(440)是否找到了用于提取關于一個或多個其他域的依賴元數據的一個或多個匹配提供方模塊。如果未找到(或甚至如果僅為外部對象中的一些找到了這樣的提供方),那么可提出(442)警告,諸如通過顯示告知用戶可能遺漏關于一個或多個外部對象的依賴的警告。如果找到了用于提取關于一個或多個其他域的依賴元數據的一個或多個匹配提供方模塊,那么提取(430)可包括在隊列中包括(44 一個或多個元素,該一個或多個元素用于執(zhí)行用來提取關于一個或多個外部對象的一個或多個依賴圖的一個或多個提取操作,以及調用(450) —個或多個匹配提供方模塊來提取關于一個或多個外部對象的一個或多個依賴圖。如果找到了用于提取關于一個或多個其他域的依賴元數據的一個或多個匹配提供方模塊,那么技術也可包括將第一依賴圖和關于一個或多個外部對象的一個或多個依賴圖存儲在中央依賴圖存儲庫中。此外,如果找到了用于提取關于一個或多個其他域的依賴元數據的一個或多個匹配提供方模塊,那么技術可包括存儲由關于一個或多個外部對象的一個或多個依賴圖表示的一個或多個域的一個或多個指示。技術也可包括將對第一依賴圖的訪問限于能夠訪問從中提取第一依賴圖的第一域中的提取點的用戶對象。此外,如果找到了用于提取關于一個或多個其他域的依賴元數據的一個或多個匹配提供方模塊,那么技術可包括將對關于一個或多個外部對象的一個或多個依賴圖的訪問限于能夠訪問其他域中的相應的提取點(即包括一個或多個外部對象的提取點)的用戶對象。參考圖5,將討論又一依賴圖生成技術。在圖5的技術中,可以生成第一依賴圖 (510)。第一依賴圖可表示計算機系統(tǒng)中的第一計算域中的一個或多個依賴。技術還可以包括在第一依賴圖中標識(520)對第一域之外的外部對象的依賴的引用。技術也可以包括定位(530)被配置成從可包括外部對象的第二域中提取依賴圖的提取提供方模塊。此外, 技術可以包括調用640)提供方模塊以從第二域提取關于外部對象的第二依賴圖。生成(510)第一依賴圖可以包括調用用于從第一域提取第一依賴圖的提供方模塊。第一依賴圖可包括第一依賴圖來自第一域中的第一提取點的指示,而第二依賴圖可包括第二依賴圖來自第二域中的第二提取點的指示。此外,技術還可包括將對第一依賴圖的訪問限于能夠訪問第一提取點的用戶對象,并且將對第二依賴圖的訪問限于能夠訪問第二提取點的用戶對象。動作還可以包括將第一依賴圖和第二依賴圖存儲在中央依賴圖存儲中。盡管用結構特征和/或方法動作專用的語言描述了本主題,但可以理解,所附權利要求書中定義的主題不必限于上述具體特征或動作。相反,上述具體特征和動作是作為實現權利要求的示例形式公開的。
權利要求
1.一種計算機實現的方法,包括生成表示計算機系統(tǒng)(200)中的第一計算域042、252或沈幻中的一個或多個依賴的第一依賴圖022),所述第一依賴圖(22 包括對不同于所述第一計算域042、252或沈2) 的第二計算域042、252或沈2)中的對象的引用;以及使用對所述對象的引用來生成第二依賴圖022),所述第二依賴圖(22 表示所述計算機系統(tǒng)O20)中的第二計算域042、252或沈幻中的一個或多個依賴,所述第二計算域 (242,252或26 中的一個或多個依賴包括所述對象的一個或多個依賴。
2.如權利要求1所述的方法,其特征在于,還包括將第一依賴圖和第二依賴圖存儲在中央依賴圖存儲中。
3.如權利要求1所述的方法,其特征在于,生成所述第二依賴圖包括確定所述第二域包括所述對象,以及從所述的第二域提取關于第二依賴圖的元數據。
4.如權利要求1所述的方法,其特征在于,生成所述第一依賴圖包括調用第一提供方模塊以從所述第一域提取元數據,并且其中生成所述第二依賴圖包括調用第二提供方模塊以從所述第二域提取元數據。
5.如權利要求4所述的方法,其特征在于,所述對象是第一對象,并且所述方法還包括將來自所述第一提供方模塊的第二對象傳遞給所述第二提供方模塊,所述第二對象標識所述第一對象。
6.如權利要求4所述的方法,其特征在于,還包括將所述第一依賴圖和所述第二依賴圖發(fā)送給中央依賴提取模塊。
7.如權利要求1所述的方法,其特征在于,所述第一依賴圖包括所述第一依賴圖來自所述第一域中的第一提取點的指示,并且所述第二依賴圖包括所述第二依賴圖來自所述第二域中的第二提取點的指示,并且其中所述方法還包括將對所述第一依賴圖的訪問限于能夠訪問所述第一提取點的用戶對象,以及將對所述第二依賴圖的訪問限于能夠能夠訪問所述第二提取點的用戶對象。
8.如權利要求1所述的方法,其特征在于,生成所述第二依賴圖包括 確定關于所述第二依賴圖的提取點是否可用;如果所述提取點可用,那么從所述提取點檢索關于所述第二依賴圖的元數據;以及如果所述提取點不可用,那么就等待直至所述提取點可用以從所述執(zhí)行點檢索關于所述第二依賴圖的元數據。
9.如權利要求1所述的方法,其特征在于,生成所述第二依賴圖包括確定所述第二域包括所述對象,并且從所述第二域提取關于所述第二依賴圖的元數據;在生成所述第二依賴圖的過程中使用對所述第一依賴圖中的對象的引用; 生成所述第一依賴圖包括調用第一提供方模塊以從所述第一域提取元數據; 生成所述第二依賴圖包括調用第二提供方模塊以從所述第二域提取元數據; 所述方法還包括將所述第一依賴圖和所述第二依賴圖存儲在中央依賴圖存儲庫中;將對所述第一依賴圖的訪問限于能夠訪問所述第一域中的第一提取點的用戶對象;以將對所述第二依賴圖的訪問限于能夠訪問所述第二域中的第二提取點的用戶對象。
10.具有包含于其上的計算機可執(zhí)行指令的一個或多個計算機可讀存儲介質,所述可執(zhí)行指令在由至少一個處理器執(zhí)行時使得至少一個處理器執(zhí)行動作,所述動作包括生成表示計算機系統(tǒng)(200)中的第一計算域042、252或沈幻中的一個或多個依賴的第一依賴圖022);確定所述第一依賴圖(22 是否包括對一個或多個其他域042、252或沈幻中的一個或多個外部對象的一個或多個引用;以及如果所述第一依賴圖(22 包括對一個或多個其他域042、252或沈幻中的一個或多個外部對象的一個或多個引用,那么就從所述一個或多個其他域042、252或沈幻提取關于一個或多個外部對象的一個或多個依賴圖022)。
11.如權利要求10所述的一個或多個計算機可讀存儲介質,其特征在于,從所述一個或多個其他域提取關于一個或多個外部對象的一個或多個依賴圖包括搜索一個或多個提供方模塊以提取關于所述一個或多個其他域的依賴元數據;以及如果找到用于提取關于所述一個或多個其他域的依賴元數據的一個或多個匹配提供方模塊,那么就調用所述一個或多個匹配提供方模塊以提取關于所述一個或多個外部對象的一個或多個依賴圖。
12.如權利要求11所述的一個或多個計算機可讀存儲介質,其特征在于,如果找到用于提取關于所述一個或多個其他域的依賴元數據的一個或多個匹配提供方模塊,那么所述動作還包括在隊列中包括一個或多個元素,所述一個或多個元素用于執(zhí)行用來提取關于所述一個或多個外部對象的一個或多個依賴圖的一個或多個提取操作。
13.如權利要求10所述的一個或多個計算機可讀存儲介質,其特征在于,如果所述第一依賴圖包括對一個或多個其他域中的一個或多個外部對象的一個或多個引用,那么所述動作還包括將所述第一依賴圖和關于所述一個或多個外部對象的一個或多個依賴圖存儲在中央依賴圖存儲庫中。
14.如權利要求10所述的一個或多個計算機可讀存儲介質,其特征在于,如果所述第一依賴圖包括對一個或多個其他域中的一個或多個外部對象的一個或多個引用,那么所述動作還包括存儲由關于所述一個或多個外部對象的一個或多個依賴圖表示的一個或多個域的一個或多個指示。
15.如權利要求10所述的一個或多個計算機可讀存儲介質,其特征在于,如果所述第一依賴圖包括對一個或多個其他域中的一個或多個外部對象的一個或多個引用,那么所述動作還包括將對所述第一依賴圖的訪問限于能夠訪問所述第一域中的第一提取點的用戶對象,以及將對關于所述一個或多個外部對象的一個或多個依賴圖的訪問限于能夠訪問所述一個或多個其他域中的一個或多個相應的提取點的用戶對象。
全文摘要
本文描述了關于多個域的依賴圖。可以生成表示計算機系統(tǒng)中的第一計算域中的一個或多個依賴的第一依賴圖。該第一依賴圖可包括對不同于該第一計算域的第二計算域中的對象的引用。可以使用對該對象的引用生成第二依賴圖。該第二依賴圖可表示該計算機系統(tǒng)中的第二計算域中的一個或多個依賴,并且該第二依賴圖中表示的該一個或多個依賴可包括該對象的一個或多個依賴。
文檔編號G06F17/30GK102236701SQ201110127699
公開日2011年11月9日 申請日期2011年5月6日 優(yōu)先權日2010年5月7日
發(fā)明者S·F·格亞, S·M·博亞尼奇 申請人:微軟公司