多租用環(huán)境中的拓撲查詢的制作方法
【專利摘要】具有多租用能力的表示信息技術(shù)環(huán)境的拓撲數(shù)據(jù)庫的每個節(jié)點表示環(huán)境內(nèi)的配置項并且由對被授權(quán)訪問對應配置的租戶的列表進行指示的租戶授權(quán)規(guī)則所表征。獲取對不受約束的查詢的不受約束的結(jié)果,不受約束的查詢可表示為子圖同構(gòu)。不受約束的結(jié)果包括滿足同構(gòu)的數(shù)據(jù)庫節(jié)點的群組。將租戶查詢應用于不受約束的結(jié)果以獲取經(jīng)授權(quán)的結(jié)果,租戶查詢通過與不受約束的查詢相同的子圖同構(gòu)是可表示的。經(jīng)授權(quán)的結(jié)果包括其組件節(jié)點各自由對進行查詢的租戶的訪問進行授權(quán)的TAR所表征的群組中任一個的標識。在所獲取的經(jīng)授權(quán)的結(jié)果的基礎上向進行查詢的租戶發(fā)布通知。
【專利說明】多租用環(huán)境中的拓撲查詢
【背景技術(shù)】
[0001]經(jīng)管理的服務提供者(MSP)和其它網(wǎng)絡或面向云的信息技術(shù)(IT)外購組織經(jīng)由網(wǎng)絡向客戶端用戶提供計算服務。訂購這樣的服務的客戶端可以訪問該客戶端所訂購的各種計算服務和資源。這樣,進行訂購的客戶端可以能夠訪問相當大的計算資源,否則所述資源由于維護那些資源所需要的費用和專門技能而可能對客戶端不可用。例如,在起步中或者優(yōu)選不雇傭技術(shù)職員的商行將會能夠在沒有延遲或費用的情況下訪問可以通過總合內(nèi)部資源所帶來的計算資源。
[0002]MSP可以向大量客戶端用戶提供對資源的并發(fā)訪問。諸如硬件設備或數(shù)據(jù)庫之類的資源可以在若干客戶端之中共享。MSP或其它面向云的IT組織的每個客戶端用戶可以被約束成僅訪問與該客戶端有關的IT網(wǎng)絡的那些部分(例如硬件、軟件、服務)。以每個客戶端不察覺到MSP的其它客戶端的這樣的方式提供訪問。
[0003]配置管理數(shù)據(jù)庫(CMDB )可以用于對通過MSP使其可用的共享資源進行建模。CMDB可以例如通過使用虛擬化而對資源進行建模。利用虛擬化,MSP IT環(huán)境被建模,使得抽象化的虛擬計算平臺被呈現(xiàn)給每個客戶端。組件僅以抽象化的虛擬形式被建模為由客戶端可訪問。在其它情況下,面向云的IT組織可以通過使用多實例途徑進行建模,其中為每個客戶端創(chuàng)建拓撲數(shù)據(jù)庫的分離實例。
[0004]面向云的IT組織可以通過使用多租用途徑進行建模。在多租用途徑中,使得各種客戶端或租戶能夠訪問經(jīng)建模的單個共享資源(實例)或共享信息。
【專利附圖】
【附圖說明】
[0005]當與附圖一起閱讀時,通過參照以下詳細描述可以最好地理解多租用環(huán)境中的拓撲查詢的示例,在附圖中:
圖1是用于應用多租用環(huán)境中的拓撲查詢的示例的系統(tǒng)的示意性圖示;
圖2是用于圖1中圖不的系統(tǒng)的管理員系統(tǒng)的不意性圖不;
圖3A是表示經(jīng)管理的服務提供者(MSP)的資源的拓撲數(shù)據(jù)庫的示例的圖形圖示;
圖3B圖示了每個租戶可訪問圖3A中圖示的拓撲數(shù)據(jù)庫的哪些節(jié)點;
圖4A示意性地圖示了對圖3A中圖示的拓撲數(shù)據(jù)庫的查詢的公式化;
圖4B示意性地圖示了對圖4A中圖示的查詢的結(jié)果;以及圖5是描繪了用于多租用環(huán)境中的拓撲查詢的方法的示例的流程圖。
【具體實施方式】
[0006]依照多租用環(huán)境中的拓撲查詢的示例,多租用環(huán)境可以是以支持多租用或者包括多租用能力的拓撲數(shù)據(jù)庫的形式。拓撲數(shù)據(jù)庫可以表示信息技術(shù)(IT)環(huán)境。拓撲數(shù)據(jù)庫可以包括對與IT環(huán)境相關聯(lián)的硬件或軟件項進行表示的配置項。例如,配置項可以表示由經(jīng)管理的服務提供者(MSP)提供的資源集合或者參與社交網(wǎng)絡的個體。拓撲數(shù)據(jù)庫可以是以配置管理數(shù)據(jù)庫(CMDB)的形式。作為另一示例,多租用拓撲數(shù)據(jù)庫可以用于對能夠訪問環(huán)境的各種資源的客戶端的社交或其它網(wǎng)絡進行建模。任何這樣的網(wǎng)絡可以在本文中稱為IT環(huán)境。
[0007]例如,IT環(huán)境或MSP可以包括可以被使得對MSP的租戶(例如經(jīng)授權(quán)的用戶或客戶端,諸如組織)可用的資源集。配置項可以表示諸如硬件(例如處理器、數(shù)據(jù)存儲設備、打印機或掃描儀)、軟件(例如應用、程序或數(shù)據(jù)庫)、商業(yè)服務(例如會計、管理或銀行業(yè))之類的資源,或者MSP或其它網(wǎng)絡或基于云的IT外購組織的其它資源。MSP的每個客戶端用戶或租戶可以被授權(quán)訪問配置項的子集。(租戶可以是以具有各種用戶的組織的形式,所述用戶有時在本文中稱為子租戶,其可以訪問租戶被授權(quán)訪問的配置項的子集。)另一方面,MSP的管理員系統(tǒng)可以被授權(quán)訪問IT環(huán)境的所有配置項(或者比租戶群組的單個租戶各自被授權(quán)訪問的更大的子集)。例如,管理員可以表示與單個租戶相比被授權(quán)訪問更寬范圍的資源的管理員系統(tǒng)的用戶,或者被授權(quán)訪問所有資源的整個MSP或IT環(huán)境的管理員。如果單個資源具有不同的訪問水平(例如只讀、或者讀和寫),則這樣的不同水平為了本描述的目的可以被視為不同資源。
[0008]諸如表示IT環(huán)境或MSP的拓撲數(shù)據(jù)庫之類的拓撲數(shù)據(jù)庫可以在視覺上被表示為節(jié)點的有向圖。拓撲數(shù)據(jù)庫的圖形表示的每個節(jié)點(有時為了簡潔起見在本文中被稱為拓撲數(shù)據(jù)庫的節(jié)點)表示配置項。兩個節(jié)點之間的有向連接邊于是可以表示兩個節(jié)點之間的關系。例如,拓撲數(shù)據(jù)庫的一個節(jié)點可以表示主機計算機,而另一個表示數(shù)據(jù)庫。從表示主機的節(jié)點到表示數(shù)據(jù)庫的節(jié)點的箭頭可以指示所述主機被配置成訪問所述數(shù)據(jù)庫。
[0009]由拓撲數(shù)據(jù)庫的節(jié)點表示的配置項可以由一個或多個屬性表征。一個這樣的屬性是被授權(quán)訪問由節(jié)點表示的配置項的租戶的集合(其可以是空的)。這樣的屬性在本文中稱為租戶授權(quán)規(guī)則(TAR)。其它屬性可以定義對應于節(jié)點的配置項所屬于的配置項的類別(例如節(jié)點所對應的硬件或軟件配置項的類型)。
[0010]可以查詢拓撲數(shù)據(jù)庫。對拓撲數(shù)據(jù)庫的查詢可以以圖形的組件的同構(gòu)(在本文中稱為子圖同構(gòu))的形式表示。例如,子圖同構(gòu)可以包括以特定方式互連的特定類型的節(jié)點集。查詢的返回結(jié)果包括其類型和互連與查詢的那些相匹配的拓撲數(shù)據(jù)庫節(jié)點的任何子群組。查詢可以通過子圖同構(gòu)的節(jié)點的屬性或特性來限定。這樣的特性可以包括例如由特定租戶或租戶集合進行的經(jīng)授權(quán)訪問。
[0011]可以存儲或保存查詢的結(jié)果。所存儲或保存的結(jié)果可以在稍后的時間被訪問或查詢。
[0012]可以以一次為基礎來查詢拓撲數(shù)據(jù)庫,這樣的查詢在本文中稱為專設(ad hoc)查詢。例如,專設查詢可以由與一個或多個租戶(每個這樣的租戶在本文中稱為進行查詢的租戶)相關聯(lián)的用戶發(fā)起。這樣的查詢可以例如請求其組件配置項具有(由查詢)定義的彼此之間的關系的多租用環(huán)境的配置項(節(jié)點)的特定組合的所有群組的列表(可表示為子圖同構(gòu))。由于專設查詢由與進行查詢的租戶相關聯(lián)的用戶發(fā)起,返回的結(jié)果僅僅限于進行查詢的租戶被授權(quán)訪問其組件配置項的那些配置項群組的列表。
[0013]在由與進行查詢的租戶相關聯(lián)的用戶發(fā)起的專設查詢的情況下,專設查詢可以由關于表征每個節(jié)點的TAR的條件所限定。例如,查詢可以由(例如CMDB的)拓撲數(shù)據(jù)庫的管理員系統(tǒng)自動限定。附加限定可以將結(jié)果限制到其中每個組件節(jié)點由對進行查詢的租戶(或者在用戶與若干租戶相關聯(lián)的情況下的若干進行查詢的租戶)的訪問進行授權(quán)的TAR所表征的節(jié)點的那些群組。這樣,用戶不接收對包括該用戶未被授權(quán)訪問的配置項在內(nèi)的查詢的任何結(jié)果。
[0014]可以在持續(xù)(ongoing)的基礎上反復查詢拓撲數(shù)據(jù)庫(例如周期性地)。這樣的持續(xù)的查詢在本文中稱為主動查詢。例如,主動查詢可以由(例如CMDB的)拓撲數(shù)據(jù)庫的管理員發(fā)起。這樣的主動查詢可以例如連續(xù)監(jiān)視其組件配置項具有(由查詢)定義的彼此之間的關系(查詢可表示為子圖同構(gòu))的多租用環(huán)境的配置項(節(jié)點)的特定組合的全部群組??梢源鎯虮4嬷鲃硬樵兊慕Y(jié)果。
[0015]與租戶相關聯(lián)的用戶(在本文中稱為訂購租戶)可以訂購主動查詢,或者注冊成被通知對主動查詢的結(jié)果的改變。通過訂購主動查詢,用戶指示這樣的請求:接收影響訂購租戶(或者當用戶與這樣的多個訂購租戶相關聯(lián)時的多個訂購租戶)的對主動查詢的結(jié)果的任何改變的通知。當管理員系統(tǒng)(自動地)檢測到主動查詢結(jié)果的結(jié)果中的改變時,(例如CMDB的)拓撲數(shù)據(jù)庫的管理員系統(tǒng)可以(自動地)向與受影響的訂購租戶相關聯(lián)的用戶報告改變。每個用戶僅被告知對相關聯(lián)的訂購租戶被授權(quán)訪問的那些配置項有影響的那些改變。在主動查詢的情況下,返回到管理員(系統(tǒng))的主動查詢結(jié)果可以包括滿足子圖同構(gòu)的節(jié)點的許多群組。然而,特定訂購租戶可能未被授權(quán)訪問整個結(jié)果,或者接收關于改變的整個集合的通知。
[0016]在向該特定訂購租戶報告結(jié)果之前,該訂購租戶被授權(quán)訪問的那些節(jié)點被標識。例如,可以為特定訂購租戶而查詢主動查詢的所保存結(jié)果。訂購租戶查詢的結(jié)果可以包括滿足主動查詢的子圖同構(gòu)的所標識節(jié)點之中的那些群組。這可以描述為對主動查詢的所保存結(jié)果應用適當分層次過濾器以選擇特定訂購租戶被授權(quán)訪問并且滿足主動查詢的子圖同構(gòu)的節(jié)點的那些群組。可以向該租戶報告與節(jié)點的所選群組相對應的配置項或者配置項的群組的子集(例如僅為表示從先前報告的主動查詢結(jié)果的改變的那些群組)。
[0017]多租用環(huán)境中的這樣的分層次拓撲查詢可以是有利的。例如,依照另一可能的途徑,將會為訂購主動查詢的每個租戶生成分離的查詢(例如類似于用于由訂購租戶進行的專設查詢的途徑)。然后將會為訂購主動查詢的每個租戶生成不同的結(jié)果。然而,例如,這樣的途徑可能呈現(xiàn)MSP的資源(例如計算或存儲空間)上的大負擔。利用這樣的途徑創(chuàng)建新的查詢可能變成棘手的任務,因為每個主動查詢將被適配于每個租戶(或者租戶群組)。
[0018]圖1是用于應用多租用環(huán)境中的拓撲查詢的示例的系統(tǒng)的示意性圖示。多租用IT環(huán)境10包括管理員系統(tǒng)12。圖2是圖1中圖示的系統(tǒng)的管理員系統(tǒng)的示意性圖示。
[0019]管理員系統(tǒng)12可以向租戶14a和14b提供資源(為了簡單起見僅示出兩個租戶,盡管可以存在更多的租戶)。管理員系統(tǒng)12可以經(jīng)由網(wǎng)絡16與租戶14a和14b通信。例如,網(wǎng)絡16可以表示與管理員系統(tǒng)12相關聯(lián)的網(wǎng)絡。
[0020]每個租戶14a或14b可以包括輸入設備26。例如,輸入設備26可以包括鍵盤、小鍵盤、定點設備或可以由用戶操作以便輸入諸如定義專設查詢的數(shù)據(jù)之類的數(shù)據(jù)的其它設備。
[0021]每個租戶14a或14b可以包括輸出設備28。例如,輸出設備28可以包括計算機監(jiān)視器或屏幕或其它設備(例如打印機、顯示面板、揚聲器或者能夠產(chǎn)生可視、可聽或觸覺輸出的另一設備),其可以被操作成向用戶傳送數(shù)據(jù),諸如由查詢的執(zhí)行所產(chǎn)生的數(shù)據(jù)。
[0022]管理員系統(tǒng)12可以包括處理器18。例如,處理器18可以包括例如一個或多個計算機的一個或多個處理單元。處理器18可以被配置成依照存儲器22中所存儲的編程指令進行操作。處理器18可以能夠執(zhí)行用于多租用IT環(huán)境中的拓撲查詢的應用。
[0023]處理器18可以與存儲器22通信。存儲器22可以包括一個或多個易失性或非易失性存儲器設備。存儲器22可以用于存儲例如用于處理器18的操作的編程指令、供處理器18在操作期間使用的數(shù)據(jù)或參數(shù),或者處理器18的操作的結(jié)果。例如,存儲器22可以用于存儲有關拓撲數(shù)據(jù)庫的數(shù)據(jù)、對拓撲數(shù)據(jù)庫的查詢或?qū)ν負鋽?shù)據(jù)庫的查詢的結(jié)果。
[0024]處理器18可以與數(shù)據(jù)存儲設備20通信。數(shù)據(jù)存儲設備20可以包括一個或多個固定的或可移除的非易失性數(shù)據(jù)存儲設備。例如,數(shù)據(jù)存儲設備20可以包括用于存儲用于處理器18的操作的程序指令的計算機可讀介質(zhì)。要注意,存儲設備20可以遠離于處理器18。在這樣的情況中,存儲設備20可以是以可以被下載和安裝以供處理器18執(zhí)行的一個或多個安裝包的形式存儲用于處理器18的操作的程序的遠程服務器的存儲設備。數(shù)據(jù)存儲設備20可以用于存儲數(shù)據(jù)或參數(shù)以供處理器18在操作期間使用,或者存儲處理器18的操作的結(jié)果。
[0025]處理器18可以與MSP資源24通信。例如,MSP資源24可以包括各種硬件和軟件資源。
[0026]MSP資源24可以由拓撲數(shù)據(jù)庫30表示。拓撲數(shù)據(jù)庫30可以存儲在數(shù)據(jù)存儲設備20中、存儲器22中或者這二者中。例如,拓撲數(shù)據(jù)庫30可以以所連接節(jié)點的有向圖的數(shù)字表示的形式進行存儲。
[0027]查詢32可以存儲在數(shù)據(jù)存儲設備20中、存儲器22中或者這二者中。例如,查詢32可以表示專設查詢或主動查詢。查詢32可以由處理器18在拓撲數(shù)據(jù)庫30上執(zhí)行。
[0028]查詢32的執(zhí)行可以導致查詢結(jié)果34。例如,主動查詢的結(jié)果可以作為查詢結(jié)果34而存儲在數(shù)據(jù)存儲設備20中;存儲器22中或者這二者中。
[0029]在向租戶14a或14b報告查詢結(jié)果34之前,處理器18可以向查詢結(jié)果34應用授權(quán)過濾器36。授權(quán)過濾器36可以例如在拓撲數(shù)據(jù)庫30中的數(shù)據(jù)的基礎上從查詢結(jié)果34選擇數(shù)據(jù)以用于經(jīng)由網(wǎng)絡16向租戶14a或14b報告。所選數(shù)據(jù)可以包括目的租戶被授權(quán)訪問的那些查詢結(jié)果。
[0030](在圖2中,為了簡單,僅將拓撲數(shù)據(jù)庫30、查詢32、查詢結(jié)果34和授權(quán)過濾器36示出為存儲在數(shù)據(jù)存儲設備20中。然而,拓撲數(shù)據(jù)庫30、查詢32、查詢結(jié)果34或授權(quán)過濾器36中的任一個可以在至少一些時間被存儲在存儲器22中)。
[0031]管理員系統(tǒng)12的MSP資源24可以由拓撲數(shù)據(jù)庫30表示。
[0032]圖3A是表示MSP的資源的拓撲數(shù)據(jù)庫的示例的圖形圖示。為了簡單起見,如圖3A中表示的拓撲數(shù)據(jù)庫50僅包括兩種類型的節(jié)點兩個租戶(標明“X”和“y”)。
[0033]以節(jié)點的有向圖的形式示出的拓撲數(shù)據(jù)庫50中。各自表示主機資源52的節(jié)點hi和h3被示出為方形。各自表示應用資源54的節(jié)點a2、a4、a5、a6、a7和a8被示出為圓形。例如,從主機資源52到應用資源54 (例如從節(jié)點hi到節(jié)點a4)的有向邊(箭頭)可以表示該應用資源54 (例如對應于節(jié)點a4)被配置成運行在該主機資源52 (例如對應于節(jié)點hi)上。類似地,從第一應用資源54到第二應用資源54的有向邊可以表示(例如從節(jié)點a7到節(jié)點a2)可以表示第一應用資源54 (例如對應于節(jié)點a7)被配置成調(diào)用或者以其它方式使得執(zhí)行第二應用資源54 (例如對應于節(jié)點a2)。注意,例如,由節(jié)點h3表示的主機資源52示出為被配置成運行由節(jié)點a2、節(jié)點a6和節(jié)點a8表示的三個應用資源54。由節(jié)點a8表示的應用資源54被配置成運行在由節(jié)點h3表示的主機資源52上,并且要被由節(jié)點a5表示的應用資源54調(diào)用。
[0034]用于拓撲數(shù)據(jù)庫50的每個MSP資源的TAR由與附接到對應節(jié)點的三角形標記所指示的節(jié)點相對應的字母來指示。在所圖示的示例中,節(jié)點a2、h3、a5、a6和a8中的每一個的TAR指示租戶X被授權(quán)訪問該節(jié)點。類似地,節(jié)點h 1、a4和a6中的每一個的TAR指示租戶I被授權(quán)訪問該節(jié)點。注意,節(jié)點a6的TAR指示租戶X和租戶y 二者被授權(quán)訪問節(jié)點a6。
[0035]圖3B圖示了圖3A中圖示的拓撲數(shù)據(jù)庫的哪些節(jié)點對每個租戶可訪問。拓撲數(shù)據(jù)庫50的子集50a的節(jié)點對租戶X可用。類似地,拓撲數(shù)據(jù)庫50的子集50b的節(jié)點對租戶I可用。
[0036]查詢可以在拓撲數(shù)據(jù)庫50上執(zhí)行。對拓撲數(shù)據(jù)庫50的查詢可以由拓撲數(shù)據(jù)庫50的子圖同構(gòu)表不。
[0037]圖4A示意性地圖示了對圖3A中圖示的拓撲數(shù)據(jù)庫的查詢的公式化。圖4B示意性地圖示了對圖4A中圖示的查詢的結(jié)果。
[0038]例如,子圖同構(gòu)60可以表不對拓撲數(shù)據(jù)庫50的查詢。子圖同構(gòu)60被不出為表不運行任何應用的任何主機。
[0039]當子圖同構(gòu)60被應用于如所示的拓撲數(shù)據(jù)庫50時,可以返回不受約束的結(jié)果70。(術(shù)語“不受約束的結(jié)果”在本文中用于指可以包括在討論之下的租戶未被授權(quán)訪問的節(jié)點的結(jié)果,并且不一定沒有任何授權(quán)約束。導致如以上定義的不受約束的結(jié)果的查詢在本文中稱為不受約束的查詢。)不受約束的結(jié)果70包括運行應用資源54的任何主機資源52的所有表示。然而,不受約束的結(jié)果70可以僅對拓撲數(shù)據(jù)庫50的管理員(或者與具有比租戶X或租戶I更少受約束的訪問的租戶相關聯(lián)的用戶)可訪問。不論租戶X還是租戶I都未被授權(quán)訪問所有不受約束的結(jié)果70。因此,不受約束的結(jié)果70可以不被報告為是對租戶X或租戶y。不受約束的結(jié)果70可以返回到進行查詢的管理員并且由管理員存儲以供稍后使用。
[0040]在子圖同構(gòu)60表示由進行查詢的租戶(與其相關聯(lián)的用戶)提交的專設查詢的情況下,子圖同構(gòu)60所表示的查詢可以通過將TAR相關的條件并入到查詢中來修改。例如,租戶可以經(jīng)由拓撲數(shù)據(jù)庫50的管理員系統(tǒng)提交專設查詢。管理員系統(tǒng)然后可以在向拓撲數(shù)據(jù)庫50提交查詢之前修改查詢。
[0041]例如,如果進行查詢的租戶是租戶X,則子圖同構(gòu)60可以被修改成子圖同構(gòu)62a的形式。子圖同構(gòu)62a表示租戶X被授權(quán)訪問的、運行租戶X也被授權(quán)訪問的任何應用的任何主機。將由子圖同構(gòu)62a表示的查詢應用于拓撲數(shù)據(jù)庫50返回經(jīng)授權(quán)的結(jié)果72b、經(jīng)授權(quán)的結(jié)果72c和經(jīng)授權(quán)的結(jié)果72e。
[0042]類似地,如果所提交的專設查詢的查詢租戶是租戶y,則子圖同構(gòu)60可以被修改成子圖同構(gòu)62b的形式。子圖同構(gòu)62b表示租戶y被授權(quán)訪問的、運行租戶I也被授權(quán)訪問的任何應用的任何主機。將由子圖同構(gòu)62b表示的查詢應用于拓撲數(shù)據(jù)庫50返回經(jīng)授權(quán)的結(jié)果72a和經(jīng)授權(quán)的結(jié)果72d。
[0043]在不受約束的結(jié)果70已經(jīng)被返回并且由管理員系統(tǒng)保存之后可以向管理員系統(tǒng)提交由子圖同構(gòu)62a或由子圖同構(gòu)62b表示的查詢。例如,可以已經(jīng)響應于由管理員系統(tǒng)以子圖同構(gòu)60的形式提交的主動查詢而返回不受約束的結(jié)果70。作為另一示例,不受約束的結(jié)果70可以已經(jīng)由與被授權(quán)訪問租戶X和租戶I 二者都被授權(quán)訪問的所有資源的租戶相關聯(lián)的用戶所提交的專設查詢產(chǎn)生(例如如果租戶X和y表示已經(jīng)訂購來自MSP的資源的組織的分離的細分,或者如果先前的查詢由與租戶X或租戶y相比訂購了更加多種多樣的資源的租戶所提交)。
[0044]在這種情況下,當例如與租戶X相關聯(lián)的用戶向管理員系統(tǒng)提交如子圖同構(gòu)62a表示的查詢時,管理員可以將提交的查詢應用于不受約束的結(jié)果70。然后可以返回經(jīng)授權(quán)的結(jié)果72b和經(jīng)授權(quán)的結(jié)果72c。類似地,如果與租戶y相關聯(lián)的用戶向管理員系統(tǒng)提交如子圖同構(gòu)62b表示的查詢,則管理員系統(tǒng)可以將提交的查詢應用于不受約束的結(jié)果70。然后可以返回經(jīng)授權(quán)的結(jié)果72a。如果不受約束的結(jié)果70不存在(例如由子圖同構(gòu)60表示的查詢尚未或者最近被提交到拓撲數(shù)據(jù)庫50),則可以首先生成不受約束的結(jié)果70 (例如如果預期到將來更多這樣的查詢由其它進行查詢的租戶提交)。僅在必要時這樣創(chuàng)建不受約束的查詢結(jié)果可以稱為“懶惰創(chuàng)建”。
[0045]在一些情況下,與租戶相關聯(lián)的用戶可以訂購或者注冊主動查詢以便被告知由拓撲數(shù)據(jù)庫50表示的環(huán)境中的任何改變。例如,如果從拓撲數(shù)據(jù)庫50移除節(jié)點a2,則經(jīng)授權(quán)的結(jié)果72b將不再出現(xiàn)在經(jīng)修改的不受約束的結(jié)果中。在對經(jīng)修改的不受約束的結(jié)果提交查詢時,可以在針對租戶X的經(jīng)授權(quán)的結(jié)果中但并不在針對租戶I的那些中檢測到改變。因此,可以向與租戶X相關聯(lián)的用戶但不向與租戶y相關聯(lián)的用戶發(fā)送所述改變的通知(經(jīng)授權(quán)的結(jié)果72b的刪除)。
[0046]這樣的查詢布置可以視為分層次的。例如,不受約束的結(jié)果70可以視為在層次的頂部。經(jīng)授權(quán)的結(jié)果72a直到72c可以視為表示層次的較低等級或水平。類似地,第三租戶(例如租戶X的子租戶)可以被授權(quán)訪問租戶X被授權(quán)訪問的資源的子集。第三租戶可以視為表示在經(jīng)授權(quán)的結(jié)果72b和72c的以下的層次水平處。當?shù)谌鈶籼峤徊樵儠r,可以將查詢應用于租戶X被授權(quán)訪問的經(jīng)授權(quán)的結(jié)果72b和72c。
[0047]如果主動查詢或租戶授權(quán)的定義改變,則可以更新層次的定義。與租戶的特定集合相關聯(lián)的用戶可以注冊關于主動查詢的通知。如果該用戶的相關聯(lián)的租戶集合改變,則對于該用戶的層次可以改變而不影響關于主動查詢所創(chuàng)建的其它層次,并且不影響注冊了來自該主動查詢的通知的其他用戶。
[0048]這樣的較高水平查詢結(jié)果的分層次查詢可以比查詢完整的拓撲數(shù)據(jù)庫更高效。例如,較高水平查詢結(jié)果可以比完整的拓撲數(shù)據(jù)庫小得多。因此,在分層次查詢的情況下可以使用比在直接查詢拓撲數(shù)據(jù)庫的情況下將會需要的更少的存儲器或處理資源。
[0049]這樣的較高水平查詢結(jié)果的分層次查詢可以比為每個租戶存儲分離的數(shù)據(jù)集合(可比于多客戶架構(gòu))更高效。由于不同租戶之間的重疊可以是相當大的,所以這樣存儲分離的數(shù)據(jù)可能導致數(shù)據(jù)復制,其可能消耗額外的數(shù)據(jù)存儲空間并且導致增加的處理。這樣存儲分離的租戶數(shù)據(jù)將不會使得能夠向單個資源指派多個租戶,或者向單個租戶指派子租戶。
[0050]在操作中,處理器18 (圖1)可以執(zhí)行用于多租用環(huán)境中的拓撲查詢的方法。
[0051]圖5是描繪了用于多租用環(huán)境中的分層次拓撲查詢的方法的示例的流程圖。在圖5的示例中,分層次的查詢方法100可以由用于多租用環(huán)境中的拓撲查詢的系統(tǒng)的處理器來執(zhí)行。分層次的查詢方法100可以在由租戶用戶、由管理員發(fā)布的或者由與租戶或管理員相關聯(lián)的另一應用自動發(fā)布的請求或命令時執(zhí)行。可以在不同時間或者響應于不同情形而發(fā)起分層次查詢方法100的各種組件操作。
[0052]關于流程圖應當理解到,已經(jīng)僅僅為了方便和清楚而選擇了將所圖示的方法劃分成由流程圖的框所表示的離散操作。所圖示方法成為離散操作的可替換劃分有可能具有等同結(jié)果。所圖示方法成為離散操作的這樣的可替換劃分應當理解為表示所圖示方法的其它示例。
[0053]類似地,應當理解到,除非另行指示,否則已經(jīng)僅僅為了方便和清楚而選擇了由流程圖的框所表示的操作執(zhí)行的所圖示順序。所圖示方法的操作可以以具有等同結(jié)果的可替換順序或者并發(fā)地執(zhí)行。所圖示方法的操作的這樣的重排序應當被理解為表示所圖示方法的其它示例。
[0054]依照多租用環(huán)境中的分層次拓撲查詢的示例,存儲在計算機可讀介質(zhì)(例如寄存器存儲器、處理器高速緩存、RAM、ROM、硬驅(qū)動器、閃速存儲器、CD ROM、磁性媒介等)中的計算機程序應用可以包括代碼或可執(zhí)行指令,其當被執(zhí)行時可以指令或使得控制器或處理器執(zhí)行本文所討論的方法,諸如用于多租用環(huán)境中的分層次拓撲查詢的方法的示例。計算機可讀介質(zhì)可以是包括除暫時性的、傳播信號之外的所有形式和類型的計算機可讀媒介在內(nèi)的非暫時性計算機可讀媒介。
[0055]分層次查詢方法100可以在拓撲數(shù)據(jù)庫上執(zhí)行(框110)。拓撲數(shù)據(jù)庫可以表示例如MSP的資源以及MSP的資源之間的關系。當以圖形形式表示時,拓撲數(shù)據(jù)庫的節(jié)點可以表示MSP資源并且進行連接的邊可以表示關系。
[0056]分層次查詢方法100可以在代表由拓撲數(shù)據(jù)庫表示的多租用環(huán)境的租戶對查詢要求結(jié)果時執(zhí)行(框110)。例如,租戶查詢可以以訂購或注冊向租戶告知由管理員進行的主動查詢的結(jié)果(或者結(jié)果中的改變)的服務的租戶的形式。在另一示例中,租戶查詢可以以由租戶發(fā)起但是對較大群組的租戶共同(或者預計共同)的專設查詢的形式。
[0057]代表其而進行了查詢的租戶可以不被授權(quán)訪問拓撲數(shù)據(jù)庫的所有節(jié)點。例如,對訂購MSP的組織進行表示的租戶可以被授權(quán)僅訪問MSP的管理員被授權(quán)訪問的資源的子集。因此,由管理員進行的查詢表示比代表租戶的查詢所表示的更高的分層次查詢水平。類似地,租戶的子租戶(例如訂購MSP的組織的劃分)可以被授權(quán)僅訪問租戶被授權(quán)訪問的節(jié)點(例如MSP資源)的子集。因此,代表子租戶的查詢可以表示比代表租戶的查詢所表示的更低的分層次查詢水平。
[0058]因此,可以獲取對比租戶可以被授權(quán)訪問的結(jié)果更少受約束的結(jié)果進行表示的較高水平查詢的結(jié)果(框130)。當可用時,可以在例如與拓撲數(shù)據(jù)庫所表示的環(huán)境的管理員相關聯(lián)的存儲器或存儲設備中訪問所存儲的較少受約束或不受約束的查詢結(jié)果。例如,可以在先前已經(jīng)存儲了由管理員進行的主動查詢或者由管理員響應于另一租戶的專設查詢而進行的查詢的結(jié)果。如果沒有這樣的所存儲的查詢結(jié)果可用但是指示生成這樣的較少受約束的結(jié)果(例如相同的查詢很可能由其他租戶提交),則可以提交較高水平的查詢并且獲取較少受約束的結(jié)果。(如果未指示獲取較少受約束的結(jié)果,例如在不太可能重復的所提交的專設查詢的情況下,則提交的查詢可以通過TAR的并入而被約束并且應用于整個拓撲數(shù)據(jù)庫。)例如,如果在預定時間段(或者操作數(shù)目)期間沒有租戶查詢被應用于較少受約束的結(jié)果,則可以從儲存中刪除所存儲的先前返回的較少受約束的結(jié)果。
[0059]租戶查詢可以被應用于所獲取的較少受約束的結(jié)果以便獲取更加受約束的(經(jīng)授權(quán)的)查詢結(jié)果(框140)。例如,可以查詢由管理員進行的主動查詢的所存儲的不受約束的結(jié)果以得到匹配租戶查詢的結(jié)果(例如以對進行查詢的租戶被授權(quán)訪問的節(jié)點具有約束的子圖同構(gòu)的形式)。返回的經(jīng)授權(quán)的查詢結(jié)果包括其關系對應于查詢的那些并且進行查詢的租戶被授權(quán)訪問的節(jié)點的那些群組(例如MSP的資源或配置項)。
[0060]在另一租戶被授權(quán)訪問與進行查詢的租戶相同的節(jié)點并且用于其他租戶的查詢已經(jīng)在先前被提交并且經(jīng)授權(quán)的結(jié)果被返回并保存的情況下,該保存的結(jié)果可以作為經(jīng)授權(quán)的查詢結(jié)果被返回到當前進行查詢的租戶。
[0061]在租戶被注冊成接收關于由管理員進行的主動查詢的更新的情況下,僅僅當在較少受約束的結(jié)果中檢測到改變時可以將租戶查詢應用于較少受約束的結(jié)果。
[0062]進行查詢的租戶可以接收基于經(jīng)授權(quán)的查詢結(jié)果的通知(框150)。例如,可以向進行查詢的租戶發(fā)送或以其它方式傳送在經(jīng)授權(quán)的查詢結(jié)果中所包括的節(jié)點的群組的列表。在一些情況下,例如在先前向進行查詢的租戶報告了初始經(jīng)授權(quán)的查詢結(jié)果之后,只有經(jīng)授權(quán)的查詢結(jié)果中的改變可以被報告。在沒有檢測到經(jīng)授權(quán)的查詢結(jié)果中的改變的情況下,可以不做出報告,或者可以報告沒有檢測到改變這一事實。
【權(quán)利要求】
1.一種方法,包括: 訪問表示信息技術(shù)環(huán)境的具有多租用能力的拓撲數(shù)據(jù)庫,拓撲數(shù)據(jù)庫的每個節(jié)點表示環(huán)境內(nèi)的配置項,每個節(jié)點由對被授權(quán)訪問對應于該節(jié)點的配置項的拓撲數(shù)據(jù)庫的租戶的列表進行指示的租戶授權(quán)規(guī)則(TAR)所表征; 獲取對不受約束的查詢的不受約束的結(jié)果,所述不受約束的查詢可表示為子圖同構(gòu),對不受約束的查詢的不受約束的結(jié)果包括滿足子圖同構(gòu)的數(shù)據(jù)庫節(jié)點的任何群組; 將租戶查詢應用于不受約束的結(jié)果以獲取經(jīng)授權(quán)的結(jié)果,租戶查詢通過基本上具有與不受約束的查詢的子圖同構(gòu)表示相同形式的子圖同構(gòu)是可表示的,經(jīng)授權(quán)的結(jié)果包括其組件節(jié)點各自由對進行查詢的租戶的訪問進行授權(quán)的TAR所表征的群組中的任一個的標識;以及 在所獲取的經(jīng)授權(quán)的結(jié)果的基礎上發(fā)布通知。
2.根據(jù)權(quán)利要求1所述的方法,其中信息技術(shù)環(huán)境包括經(jīng)管理的服務提供者(MSP),并且其中每個配置項表示MSP的資源。
3.根據(jù)權(quán)利要求1所述的方法,其中獲取不受約束的結(jié)果包括向數(shù)據(jù)庫反復地提交主動查詢。
4.根據(jù)權(quán)利要求3所述的方法,其中當在從主動查詢的接連提交所獲取的不受約束的結(jié)果中檢測到改變時,將租戶查詢應用于不受約束的結(jié)果。
5.根據(jù)權(quán)利要求1所述的方法,包括將所獲取的經(jīng)授權(quán)的結(jié)果與先前獲取的經(jīng)授權(quán)的結(jié)果進行比較。
6.根據(jù)權(quán)利要求5所述的方法,其中發(fā)布通知包括指示在所獲取的經(jīng)授權(quán)的結(jié)果與先前獲取的經(jīng)授權(quán)的結(jié)果之間的差異。
7.根據(jù)權(quán)利要求1所述的方法,其中應用租戶查詢包括將租戶查詢應用于所存儲的不受約束的結(jié)果。
8.—種已在其上存儲了指令的非暫時性計算機可讀介質(zhì),所述指令當由處理器執(zhí)行時將使處理器: 從拓撲數(shù)據(jù)庫的租戶接收對具有多租用能力的拓撲數(shù)據(jù)庫的租戶查詢,其中拓撲數(shù)據(jù)庫的每個節(jié)點表示信息技術(shù)環(huán)境內(nèi)的配置項,每個節(jié)點由對被授權(quán)訪問對應于該節(jié)點的配置項的那些租戶的列表進行指示的TAR所表征,并且其中租戶查詢可表示為數(shù)據(jù)庫的子圖同構(gòu); 獲取對數(shù)據(jù)庫的不受約束的查詢的不受約束的結(jié)果,所述不受約束的查詢的子圖同構(gòu)基本上具有與租戶查詢相同的形式,不受約束的結(jié)果包括滿足不受約束的查詢的子圖同構(gòu)的數(shù)據(jù)庫節(jié)點的任何群組; 將租戶查詢應用于所獲取的不受約束的結(jié)果以獲取經(jīng)授權(quán)的結(jié)果,經(jīng)授權(quán)的結(jié)果包括其組件節(jié)點各自由對租戶的訪問進行授權(quán)的TAR所表征的群組中的任一個的標識;以及 在所獲取的經(jīng)授權(quán)的結(jié)果的基礎上發(fā)布通知。
9.根據(jù)權(quán)利要求8所述的非暫時性計算機可讀介質(zhì),其中環(huán)境包括MSP,并且其中每個配置項包括MSP的資源。
10.根據(jù)權(quán)利要求8所述的非暫時性計算機可讀介質(zhì),其中獲取不受約束的結(jié)果的指令包括檢索不受約束的查詢的所存儲結(jié)果的指令。
11.根據(jù)權(quán)利要求8所述的非暫時性計算機可讀介質(zhì),其中獲取不受約束的結(jié)果的指令包括向數(shù)據(jù)庫提交不受約束的查詢的指令。
12.根據(jù)權(quán)利要求11所述的非暫時性計算機可讀介質(zhì),其中提交不受約束的查詢的指令包括向數(shù)據(jù)庫反復提交主動查詢并且存儲不受約束的結(jié)果的指令。
13.根據(jù)權(quán)利要求12所述的非暫時性計算機可讀介質(zhì),其中將租戶查詢應用于所獲取的不受約束的結(jié)果的指令包括當在不受約束的結(jié)果中檢測到改變時應用租戶查詢的指令。
14.根據(jù)權(quán)利要求8所述的非暫時性計算機可讀介質(zhì),包括將所獲取的經(jīng)授權(quán)的結(jié)果與先前獲取的經(jīng)授權(quán)的結(jié)果進行比較的指令。
15.根據(jù)權(quán)利要求14所述的非暫時性計算機可讀介質(zhì),其中對租戶的通知包括在所獲取的經(jīng)授權(quán)的結(jié)果與先前獲取的經(jīng)授權(quán)的結(jié)果之間的差異的指示。
【文檔編號】G06F21/31GK104205096SQ201280072423
【公開日】2014年12月10日 申請日期:2012年3月26日 優(yōu)先權(quán)日:2012年3月21日
【發(fā)明者】A.西特勇, A.齊夫, E.雷格夫 申請人:惠普發(fā)展公司,有限責任合伙企業(yè)