專利名稱:聯(lián)合的配置數(shù)據(jù)管理的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及聯(lián)合的(federated)配置數(shù)據(jù)管理。
背景技術(shù):
當(dāng)前的信息技術(shù)(IT)環(huán)境使用多種IT管理工具。通常,每一個(gè)這樣的工具都具 有相關(guān)聯(lián)的其自己的數(shù)據(jù)存儲器。在這種環(huán)境中,用戶(人或機(jī)器)不具有獲得散布在這 些各種數(shù)據(jù)存儲器中的數(shù)據(jù)的完整視圖的能力。另外,用戶不能看見聚合數(shù)據(jù)(aggregated data),它會與在IT環(huán)境中執(zhí)行的特定應(yīng)用相關(guān)聯(lián)。缺乏總體數(shù)據(jù)視圖以及不能看見數(shù)據(jù) 聚合產(chǎn)生了信息瓶頸以及用以組裝完整且準(zhǔn)確的數(shù)據(jù)視圖的額外的開銷(時(shí)間和金錢), 并導(dǎo)致常常根據(jù)不完整信息做出的決定。最后,在具有不可相關(guān)數(shù)據(jù)的這些當(dāng)前IT環(huán)境 中,管理者常常不能預(yù)期到基礎(chǔ)結(jié)構(gòu)變化的效果。
發(fā)明內(nèi)容
公開了一種系統(tǒng),實(shí)現(xiàn)為對處理器進(jìn)行程序設(shè)計(jì),用于聯(lián)合與網(wǎng)絡(luò)對象的配置有 關(guān)的數(shù)據(jù)搜索功能。系統(tǒng)包括一個(gè)或多個(gè)外部數(shù)據(jù)存儲器接口,其中,數(shù)據(jù)存儲器包括與網(wǎng) 絡(luò)對象有關(guān)的數(shù)據(jù);連接到CMDB的配置管理數(shù)據(jù)庫(CMDB)適配器,及耦合到CMDB和數(shù)據(jù) 存儲器的CMDB服務(wù)器。CMDB服務(wù)器包括聯(lián)合引擎,其包括用于識別網(wǎng)絡(luò)對象的裝置。CMDB 服務(wù)器還包括耦合到聯(lián)合引擎的映射引擎。映射引擎包括向外部數(shù)據(jù)存儲器查詢協(xié)調(diào)數(shù) 據(jù)(reconciliation data)的裝置以及創(chuàng)建在所述網(wǎng)絡(luò)對象與聯(lián)合的數(shù)據(jù)之間的關(guān)系的裝 置。還公開了一種在處理器上實(shí)現(xiàn)的方法,用于聯(lián)合與網(wǎng)絡(luò)對象的配置有關(guān)的數(shù)據(jù)搜 索功能。該方法包括以下步驟從客戶端接收拓?fù)洳樵冋Z言(topologicalquery language, TQL)查詢,所述查詢包括一個(gè)或多個(gè)節(jié)點(diǎn);識別將受到查詢的網(wǎng)絡(luò)對象;在配置管理數(shù)據(jù) 庫(CMDB)與一個(gè)或多個(gè)外部數(shù)據(jù)存儲器之間協(xié)調(diào)所識別的網(wǎng)絡(luò)對象;聯(lián)合查詢,包括將查 詢分為子查詢,其中,查詢中的每一個(gè)節(jié)點(diǎn)都轉(zhuǎn)換為相關(guān)聯(lián)的子查詢;將子查詢應(yīng)用于協(xié)調(diào) 的網(wǎng)絡(luò)對象;及向客戶端返回子查詢的結(jié)果。
詳細(xì)描述將參考以下附圖,其中,相似的數(shù)字指代相似的項(xiàng)目,其中圖1顯示了示例性的聯(lián)合的配置數(shù)據(jù)管理系統(tǒng)的所選擇組件;圖2A-2C示出了用于創(chuàng)建聯(lián)合的查詢的示例性過程;圖3示出了圖1的系統(tǒng)的示例性操作;及圖4A-4I示出了圖3的操作的細(xì)節(jié)和示例性工作流。
具體實(shí)施例方式任何大型現(xiàn)代化的組織都可以使用不同的系統(tǒng)來產(chǎn)生、存儲和搜索組織的關(guān)鍵性數(shù)據(jù)。系統(tǒng)的、尤其是包括這些系統(tǒng)的數(shù)據(jù)存儲器的該多樣性起因于許多因素,包括在組 織的工作單位中缺乏配合、采用新技術(shù)的不同比率、組織的工作單位的合并、收購與地理分 割。從這些各種系統(tǒng)中組合信息使得組織更有效地利用數(shù)據(jù)存儲器包含的數(shù)據(jù)??紤]兩個(gè)組織合并以構(gòu)成新的組織的示例。新的組織繼承了原始組織的數(shù)據(jù)存儲 器。這些數(shù)據(jù)存儲器中的許多會在不同的關(guān)系數(shù)據(jù)庫管理系統(tǒng)的控制下工作。在合并后, 新的組織要能夠從兩組數(shù)據(jù)存儲器中訪問客戶信息,以便使用現(xiàn)有的和新的應(yīng)用程序來分 析其新的投資組合(portfolio),并且通常是通過公共接口來使用兩個(gè)組織的所組合的資 源。即使可以在不同數(shù)據(jù)庫中并以不同格式存儲客戶數(shù)據(jù),新的組織也要能夠識別公共的 客戶并合并他們的賬戶。另外,新的組織必須能夠?qū)⑦z留的數(shù)據(jù)與可從外部數(shù)據(jù)源獲得的 新數(shù)據(jù)(例如在互聯(lián)網(wǎng)上的數(shù)據(jù)或來自其業(yè)務(wù)伙伴的數(shù)據(jù))進(jìn)行組合。使這些各種各樣的 數(shù)據(jù)源相集成造成了實(shí)質(zhì)性的難題。存在許多機(jī)制來對數(shù)據(jù)進(jìn)行集成。這些包括專用解決方案、應(yīng)用集成框架、工作流 (或者業(yè)務(wù)過程集成)框架、具有入門型(portal-style)或元搜索引擎集成的數(shù)字圖書館、 數(shù)據(jù)倉庫和數(shù)據(jù)庫聯(lián)合(database federation)。數(shù)據(jù)倉庫和數(shù)據(jù)庫聯(lián)合為用戶提供強(qiáng)大的高級查詢語言,其可以用于組合、對比、 分析以及用其它方式操縱其數(shù)據(jù)。用于優(yōu)化查詢的技術(shù)即使在非程序性地提出查詢的情況 下,也確保了有效地應(yīng)答查詢,極大地方便了應(yīng)用開發(fā)。通過將數(shù)據(jù)從一個(gè)或多個(gè)數(shù)據(jù)源 加載到關(guān)系數(shù)據(jù)庫中的新定義的模式(schema)中來構(gòu)建數(shù)據(jù)倉庫。在加載過程中常常提 煉(cleanse)并變換數(shù)據(jù)。在基礎(chǔ)源中的變化可以導(dǎo)致加載過程的變化,但保護(hù)了進(jìn)行數(shù) 據(jù)分析的應(yīng)用程序部分。新數(shù)據(jù)源可以在模式中引入變化,要求為新數(shù)據(jù)定義新的加載過 程。SQL(結(jié)構(gòu)化查詢語言)視圖可以進(jìn)一步保護(hù)應(yīng)用程序免于這種演變(evolution)。然 而,不是關(guān)系數(shù)據(jù)庫管理系統(tǒng)的標(biāo)準(zhǔn)部分的數(shù)據(jù)源的任何功能都必須在倉庫中再次實(shí)現(xiàn)或 者再次實(shí)現(xiàn)為應(yīng)用程序的一部分。僅基于倉庫建立(warehousing)的解決方案出于各種原因會是不可能的或者成 本較高的。例如,將數(shù)據(jù)從其原始位置移動(dòng)到數(shù)據(jù)倉庫并不總是可行的,如上所述,倉庫建 立伴隨著其自身的維護(hù)和實(shí)施成本。對傳統(tǒng)數(shù)據(jù)倉庫建立的改進(jìn)是數(shù)據(jù)庫聯(lián)合。數(shù)據(jù)庫聯(lián)合指的是一種架構(gòu),在其中,由數(shù)據(jù)庫管理系統(tǒng)組成的中間件提供對多 個(gè)不同種類數(shù)據(jù)源的統(tǒng)一訪問。對數(shù)據(jù)源進(jìn)行聯(lián)合;就是說,由數(shù)據(jù)庫管理系統(tǒng)將它們鏈接 在一起成為統(tǒng)一的系統(tǒng),以創(chuàng)建聯(lián)合的數(shù)據(jù)庫。在現(xiàn)有技術(shù)中,通常通過手動(dòng)地執(zhí)行與聯(lián)合的數(shù)據(jù)庫不同的應(yīng)用程序來訪問聯(lián)合 的數(shù)據(jù)。例如,聯(lián)合的數(shù)據(jù)可以保存在第二數(shù)據(jù)庫里中(可以通過單獨(dú)的數(shù)據(jù)庫管理系統(tǒng) 來訪問)或者不同的產(chǎn)品(例如單獨(dú)的配置管理應(yīng)用程序)中??梢酝ㄟ^開發(fā)定制的源集 成邏輯或通過調(diào)用第二應(yīng)用程序的預(yù)定的或固定的實(shí)例來訪問以此方式聯(lián)合的數(shù)據(jù)。在這些方法的第一個(gè)中,為每一個(gè)聯(lián)合的數(shù)據(jù)庫開發(fā)定制邏輯(即,軟件),其允 許與特定數(shù)據(jù)存儲器更自動(dòng)化的交互。在第二個(gè)方法中,將第二應(yīng)用程序用于手動(dòng)地搜索 所期望的數(shù)據(jù)。在第三個(gè)方法中,提供了到應(yīng)用程序的鏈接,該應(yīng)用程序可以操縱聯(lián)合的數(shù) 據(jù)對象的實(shí)例,但有可能不能夠修改這個(gè)鏈接的調(diào)用(包括參數(shù)傳送)。本文公開的聯(lián)合的配置數(shù)據(jù)管理系統(tǒng)克服了當(dāng)前聯(lián)合的數(shù)據(jù)管理系統(tǒng)的缺陷。該 聯(lián)合的配置數(shù)據(jù)管理系統(tǒng)提供數(shù)據(jù)透明性,其意味著與用戶屏蔽了基礎(chǔ)數(shù)據(jù)源的差別、特性和實(shí)現(xiàn)方式。這個(gè)透明性允許如同全部數(shù)據(jù)都在單個(gè)數(shù)據(jù)庫中一樣來應(yīng)用數(shù)據(jù)查詢,盡 管實(shí)際上,可以將數(shù)據(jù)存儲在數(shù)據(jù)源的不同種類的集合中。在沒有硬件、軟件、數(shù)據(jù)模型、接 口或協(xié)議的限制的情況下,聯(lián)合的配置數(shù)據(jù)管理系統(tǒng)還支持異質(zhì)性(heterogeneity),或者 容納寬范圍的數(shù)據(jù)源的能力。聯(lián)合的配置數(shù)據(jù)管理系統(tǒng)還增加了可擴(kuò)展性,或者動(dòng)態(tài)地增 加新數(shù)據(jù)源的能力,以便滿足業(yè)務(wù)變化的需要,以及開放性,或者運(yùn)行未改變的應(yīng)用程序的 能力既不移動(dòng)也不修改數(shù)據(jù),并且接口保持相同。因?yàn)槁?lián)合的配置數(shù)據(jù)管理系統(tǒng)為其用戶屏蔽了需要獲知是什么數(shù)據(jù)源、那些數(shù)據(jù) 存儲器運(yùn)行在什么硬件和軟件上、如何訪問那些數(shù)據(jù)源(經(jīng)由什么編程接口或語言),甚至 如何建模并管理存儲在那些數(shù)據(jù)存儲器中的數(shù)據(jù),單個(gè)查詢可以訪問來自多個(gè)數(shù)據(jù)源的數(shù) 據(jù),按需要連接(join)及限制、聚合和分析數(shù)據(jù)。此外,數(shù)據(jù)存儲器可以根本不是數(shù)據(jù)庫系 統(tǒng),作為代替,例如,可以是從傳感器到平面文件到應(yīng)用程序到XML(可擴(kuò)展標(biāo)記語言)的 源。以下的描述涉及聯(lián)合的配置數(shù)據(jù)管理系統(tǒng)的特定實(shí)現(xiàn),尤其涉及IT系統(tǒng)配置管 理系統(tǒng),包括使用拓?fù)洳樵冋Z言來訪問外部數(shù)據(jù)源,及配置管理數(shù)據(jù)庫(CMDB),其中至少存 儲了到外部數(shù)據(jù)源的鏈路。然而,本領(lǐng)域技術(shù)人員會意識到,聯(lián)合的數(shù)據(jù)庫管理系統(tǒng)可以用 于除配置管理之外的許多其他目的。配置管理是負(fù)責(zé)保留包括它們的關(guān)系在內(nèi)的與傳遞IT服務(wù)所需的配置項(xiàng)有關(guān)的 信息的過程。配置管理的主要目的是在需要它的時(shí)間和地點(diǎn),通過向所有IT服務(wù)管理過程 提供準(zhǔn)確的數(shù)據(jù)來加強(qiáng)IT服務(wù)的傳遞的基礎(chǔ)。配置管理在配置項(xiàng)(Cl)的生命周期中從始至終管理與配置項(xiàng)有關(guān)的信息。CI是 需要管理的任何組件,以便傳遞IT服務(wù)。CI通常包括硬件、軟件、建筑物、人和正式文件,例 如過程文件和SLA。將與每一個(gè)CI有關(guān)的信息記錄在配置管理數(shù)據(jù)庫(CMDB)內(nèi)的配置記 錄中。配置記錄是包含配置項(xiàng)的細(xì)節(jié)的記錄。每一個(gè)配置記錄文件都為單個(gè)CI的生命周 期提供文件。CMDB是用于在與配置記錄相關(guān)聯(lián)的CI的生命周期中從始至終管理配置記錄的數(shù) 據(jù)庫。CMDB記錄每一個(gè)CI的屬性及與其他CI的關(guān)系。CMDB還可以包含鏈接到CI的其他 信息,例如事件、問題或變化記錄。CMDB由配置管理來維護(hù)并由所有IT服務(wù)管理過程使用。CMDB通常僅存儲CI的關(guān)鍵信息。連接到配置管理數(shù)據(jù)庫的客戶端常常需要使用 CI數(shù)據(jù),除了存儲在CMDB中的數(shù)據(jù)之外該CI數(shù)據(jù)被存儲在單獨(dú)的數(shù)據(jù)存儲器中。為了呈 現(xiàn)從本地CMDB以及一個(gè)或多個(gè)遠(yuǎn)程數(shù)據(jù)存儲器采集(pull)的CI數(shù)據(jù)的無縫視圖,CMDB需 要提供聯(lián)合特征。聯(lián)合特征使客戶端能夠在無需獲知數(shù)據(jù)的實(shí)際位置的情況下,使用CMDB應(yīng)用編 程接口(API)向多個(gè)數(shù)據(jù)源請求配置項(xiàng)數(shù)據(jù)。聯(lián)合特征搜索多個(gè)在地理上和技術(shù)上不同的 IT系統(tǒng),以便從多個(gè)單獨(dú)的數(shù)據(jù)源定位相關(guān)數(shù)據(jù)并進(jìn)行變換。CMDB透明地組合來自多個(gè)數(shù) 據(jù)源的數(shù)據(jù),并將組合的數(shù)據(jù)返回給客戶端。然而,為了給CMDB的客戶端呈現(xiàn)無縫的數(shù)據(jù)存在幾個(gè)困難。首先,用于單個(gè)CI的 數(shù)據(jù)可以位于兩個(gè)或多個(gè)聯(lián)合的數(shù)據(jù)源中。另外,聯(lián)合的數(shù)據(jù)源可以為兩個(gè)或多個(gè)CI提供 屬性。由于在數(shù)據(jù)源類型、數(shù)據(jù)存儲器訪問機(jī)制和數(shù)據(jù)模式中的差別,CMDB從兩個(gè)或多個(gè) 數(shù)據(jù)源檢索信息會存在困難。CMDB還會難以獲知每一個(gè)數(shù)據(jù)源中存儲了哪一個(gè)配置項(xiàng)和屬性。另外,兩個(gè)或多個(gè)聯(lián)合的數(shù)據(jù)存儲器可以為CI的相同屬性提供數(shù)據(jù)。例如,在聯(lián) 網(wǎng)的計(jì)算機(jī)系統(tǒng)中,可以由在一個(gè)數(shù)據(jù)存儲器中的名稱(例如,HP Rl)和在另一個(gè)數(shù)據(jù)存 儲器中的互聯(lián)網(wǎng)地址(例如,128. 00. 00. 1)來指代路由器。在這種情況下,由于確定應(yīng)優(yōu)先 給出哪一個(gè)屬性數(shù)據(jù)的實(shí)例,CMDB會難以組合屬性數(shù)據(jù)。換句話說,CMDB會不能確定對于 給定屬性數(shù)據(jù)可以依賴于哪一個(gè)數(shù)據(jù)源。在由每一個(gè)數(shù)據(jù)源為給定屬性提供的數(shù)據(jù)在任何 方面都不同的情況下,這會是嚴(yán)重的問題。因此,本文描述的用于聯(lián)合的配置數(shù)據(jù)管理的系 統(tǒng)必須能夠?qū)⑦@兩個(gè)身份(identity)識別并協(xié)調(diào)為屬于單個(gè)硬件設(shè)備,即路由器。為了提供對在這些各種數(shù)據(jù)存儲器中的CI的增強(qiáng)的訪問,以下描述一種示例性 的聯(lián)合的配置數(shù)據(jù)管理系統(tǒng)及相應(yīng)方法,該系統(tǒng)具體的是一種聯(lián)合通用CMDB(uCMDB)系 統(tǒng)。在描述這個(gè)示例性的聯(lián)合uCMDB系統(tǒng)中,將使用以下術(shù)語數(shù)據(jù)存儲器是任何數(shù)據(jù)存儲系統(tǒng),包括CMDB,或者其他數(shù)據(jù)庫,外部CI和關(guān)系位 于其中。外部CI是配置項(xiàng),其不是源于uCMDB系統(tǒng)。就是說,外部CI是定義在uCMDB類 (class)模型中的一個(gè)類,其特定實(shí)例存儲在外部存儲器中,而不是uCMDB中。拓?fù)渲复趯ο笾g的拓?fù)錉顟B(tài)(即,關(guān)系或鏈接)。對象還可以具有非拓?fù)錉?態(tài);就是說,隨著時(shí)間的屬性和行為。拓?fù)渲械年P(guān)系本質(zhì)上是嚴(yán)格的二進(jìn)制的(binary)。就 是說,每一個(gè)關(guān)系都確切地鏈接兩個(gè)拓?fù)涔芾淼膶ο?。通過將關(guān)系自身表示為拓?fù)涔芾淼?對象來對程度(degree)!!的關(guān)系進(jìn)行建模,直至構(gòu)建了二進(jìn)制模型來描述程度η的關(guān)系。使 用這個(gè)方法,可以聚合是較大資源的一部分的各個(gè)對象。聚合的對象假定了包括該聚合的 對象的各個(gè)對象的拓?fù)錉顟B(tài)。拓?fù)洳樵冋Z言(TQL)指的是面向?qū)ο蟮目蚣?,用于描述?yīng)用程序和業(yè)務(wù)服務(wù),并 包括物理的和邏輯的對象、其屬性及其彼此的關(guān)系。TQL實(shí)現(xiàn)了圖形視圖的創(chuàng)建,其設(shè)計(jì)為 捕獲在IT服務(wù)、應(yīng)用程序與基礎(chǔ)結(jié)構(gòu)組上的項(xiàng)(包括Cl)的有關(guān)的相關(guān)性(即關(guān)系)。聯(lián) 合的TQL(FTQL)是在其定義中包括外部CI的TQL。圖1示出了示例性的聯(lián)合uCMDB系統(tǒng)100,其結(jié)合了以上定義的元件和特征。包括 系統(tǒng)100的組件可以作為硬件、軟件、固件或硬件、軟件和固件的組合而存在。系統(tǒng)100包括uCMDB服務(wù)器200,其借助外部數(shù)據(jù)存儲器適配器120耦合到外部 數(shù)據(jù)存儲器110,并通過適配器242耦合到uCMDB 240,其存儲配置數(shù)據(jù)。外部數(shù)據(jù)存儲器 110可以是任何數(shù)據(jù)存儲設(shè)備,包括外部CMDB??梢砸訨AVA程序設(shè)計(jì)語言來開發(fā)外部數(shù)據(jù) 存儲器適配器120??商鎿Q的,可以使用普通OOB適配器,僅僅改變適配器的XML配置。同樣耦合到uCMDB服務(wù)器200的是客戶端150。客戶端150可以是任何計(jì)算設(shè)備, 例如包括,PC或服務(wù)器。客戶端150發(fā)出TQL查詢140并作為應(yīng)答接收TQL結(jié)果130。uCMDB服務(wù)器200從外部數(shù)據(jù)存儲器110接收CI方式的輸入。uCMDB服務(wù)器200 從客戶端150接收TQL查詢140,并將查詢140的結(jié)果130提供回到客戶端150。如所示的, TQL結(jié)果130包括外部CI 125。uCMDB服務(wù)器200包括數(shù)據(jù)提供方(provider)接口 210 (其與外部數(shù)據(jù)存儲器110 通信,并通過相關(guān)聯(lián)的外部數(shù)據(jù)存儲器適配器120從外部數(shù)據(jù)存儲器110接收Cl),以及聯(lián)
6合引擎220和映射引擎230。聯(lián)合引擎220通常使用識別規(guī)則來識別網(wǎng)絡(luò)對象并驅(qū)動(dòng)協(xié)調(diào)過程。在一個(gè)實(shí)施例 中,將識別規(guī)則組織為識別組,每一條規(guī)則都指定了在確定匹配時(shí)應(yīng)考慮何種屬性,待匹配 的對象類型及規(guī)則所用于的發(fā)現(xiàn)源或數(shù)據(jù)集。識別組可以包含任何數(shù)量的規(guī)則,另外,可 以進(jìn)行排序,以便以給定順序處理組中的各個(gè)規(guī)則。聯(lián)合引擎220還包括協(xié)調(diào)引擎(未示 出),用于通過使用識別規(guī)則來協(xié)調(diào)在外部存儲器110和uCMDB 240中所識別的網(wǎng)絡(luò)組件的 身份。如圖1所示,系統(tǒng)100在幾個(gè)數(shù)據(jù)存儲器110上執(zhí)行聯(lián)合活動(dòng)。系統(tǒng)100及相關(guān)聯(lián) 的方法(例如見圖3)能夠在無需任何數(shù)據(jù)復(fù)制的情況下,使來自uCMDB 240的配置數(shù)據(jù)與 來自外部數(shù)據(jù)存儲器110的數(shù)據(jù)相關(guān)。就是說,使用聯(lián)合的查詢來實(shí)時(shí)執(zhí)行數(shù)據(jù)聯(lián)合。為 了允許數(shù)據(jù)檢索,為每一個(gè)外部數(shù)據(jù)存儲器110提供數(shù)據(jù)存儲器適配器120。數(shù)據(jù)存儲器適 配器120提供相關(guān)聯(lián)的數(shù)據(jù)存儲器的指定能力,并從數(shù)據(jù)存儲器110檢索所需數(shù)據(jù)。通過 數(shù)據(jù)存儲器110的適配器240做出對該數(shù)據(jù)存儲器的每一個(gè)請求(FTQL查詢140)。聯(lián)合TQL查詢使用聯(lián)合引擎220和映射引擎230來創(chuàng)建在不同外部存儲器CI與 uCMDB CI之間的適當(dāng)?shù)耐獠筷P(guān)系。在協(xié)調(diào)了 uCMDB CI與外部CI之后執(zhí)行映射。圖2A-2C呈現(xiàn)了在uCMDB 240與外部存儲器110之間的示例性的聯(lián)合查詢。在該 示例中,uCMDB 240將特定網(wǎng)絡(luò)組件(服務(wù)器)識別為主機(jī)(host)l和主機(jī)2 ;服務(wù)中心(外 部數(shù)據(jù)存儲器)110將網(wǎng)絡(luò)組件識別為服務(wù)器11和服務(wù)器12。服務(wù)中心110還為服務(wù)器存 儲許可證信息(ticket information)。因此,uCMDB 240保存借助自動(dòng)發(fā)現(xiàn)而發(fā)現(xiàn)的Cl,服 務(wù)中心110管理與由uCMDB 240保存的CI有關(guān)的許可證信息。在圖2A-2C中所示的示例 中的聯(lián)合目的在于將許可證與uCMDB CI相關(guān)聯(lián)。服務(wù)中心的適配器(未示出)將外部類 模型轉(zhuǎn)換為新的類模型(“事件(incident)”),并提供新的鏈接“包含_事件(contain^ incident)”和在主機(jī)與擴(kuò)充類“事件”之間的鏈接。另外,聯(lián)合引擎220協(xié)調(diào)主機(jī)與事件。 參考圖2A,將FTQL查詢300 (鏈接主機(jī)與事件的查詢)從客戶端130提供給映射引擎230, 以產(chǎn)生映射310。映射310將uCMDB 240的主機(jī)和服務(wù)中心110的服務(wù)器相關(guān)聯(lián)。就是說, 主機(jī)1映射到服務(wù)器11,主機(jī)2映射到服務(wù)器12。FTQL查詢300的結(jié)果是聯(lián)合的TQL結(jié)果 305,其顯示了在主機(jī)與事件之間的相關(guān)性。以下的工作流示出了上述實(shí)時(shí)的聯(lián)合映射引擎230將FTQL查詢300分為至少兩個(gè)子查詢,其中在子查詢中的所有節(jié)點(diǎn) 都涉及相同的數(shù)據(jù)存儲器。將每一個(gè)子查詢通過虛擬關(guān)系連接到其他子查詢。見圖2B,其 中,將原始FTQL查詢300分為兩個(gè)子查詢(分割FTQL307),主機(jī)和事件。在將FTQL查詢300分為子查詢307之后,uCMDB服務(wù)器200計(jì)算每一個(gè)子查詢拓 撲,并通過在子查詢的適當(dāng)節(jié)點(diǎn)之間創(chuàng)建虛擬關(guān)系來連接兩個(gè)適當(dāng)?shù)淖硬樵?。見圖2C,其 中,分割了圖2A的原始FTQL查詢300,結(jié)果產(chǎn)生uCMDB子查詢311和服務(wù)中心子查詢313。 借助這兩個(gè)子查詢311和313,uCMDB服務(wù)器200計(jì)算產(chǎn)生的FTQL拓?fù)浣Y(jié)果315。因此,主 機(jī)1與服務(wù)器11相關(guān)聯(lián),主機(jī)2與服務(wù)器12相關(guān)聯(lián),其中,在uCMDB 240中定義主機(jī),在服 務(wù)中心(外部數(shù)據(jù)存儲器)110中定義服務(wù)器。事件14與服務(wù)器11相關(guān)聯(lián),事件16與服 務(wù)器12相關(guān)聯(lián),其中,在服務(wù)中心110中定義事件。因此,主機(jī)1映射到事件14,主機(jī)2映 射到事件16,將在uCMDB 240中的對象映射到服務(wù)中心110中的對象。圖3是序列圖,其示出了圖1的uCMDB系統(tǒng)100的示例性操作400。圖3中所示的系統(tǒng)100的組件包括客戶端150、聯(lián)合引擎220、映射引擎230、uCMDB數(shù)據(jù)庫240和外部 數(shù)據(jù)存儲器適配器120。圖4A-4I示出了由操作400創(chuàng)建并使用的各種對象。操作400在 步驟401處開始,此時(shí)客戶端150通過接口 250向uCMDB服務(wù)器200提出FTQL查詢140。 將FTQL查詢140傳送到聯(lián)合引擎220,其分析(步驟402)查詢,以確定數(shù)據(jù)請求的式樣 (pattern) 0在分析了式樣后,聯(lián)合引擎220識別在主機(jī)與事件之間的虛擬關(guān)系,并將這個(gè) 關(guān)系提供給映射引擎230。映射引擎230將FTQL 140分為兩個(gè)子查詢uCMDB子查詢141 和服務(wù)中心子查詢143 (見圖4A和4B)。返回到圖3,在步驟403處,聯(lián)合引擎220在uCMDB 240上運(yùn)行TQL子查詢(S卩,圖 4B的uCMDB子查詢141),并接收外部拓?fù)浣Y(jié)果145,如圖4C所示。返回到圖3,在步驟404處,聯(lián)合引擎220將拓?fù)浣Y(jié)果145傳送到映射引擎230,映 射引擎230向聯(lián)合引擎220返回圖4D中所示的適當(dāng)?shù)臄?shù)據(jù)搜索式樣(srcTQL)161。搜索 式樣161包含連接(關(guān)聯(lián))從兩個(gè)單獨(dú)的數(shù)據(jù)存儲器接收的數(shù)據(jù)所需的信息。注意,式樣 161包括用于數(shù)據(jù)存儲器的主機(jī)名稱和地址。返回到圖3,在步驟405處,聯(lián)合引擎220在uCMDB 240上運(yùn)行TQL映射請求,并作 為應(yīng)答接收外部拓?fù)浣Y(jié)果。在圖3的步驟406處。聯(lián)合引擎220向映射引擎230提供拓?fù)?結(jié)果,并作為應(yīng)答接收TQL子查詢搜索式樣163 (見圖4E),以便在外部數(shù)據(jù)源110上運(yùn)行。 在步驟407處,將TQL子查詢搜索式樣提供給適配器120,其返回用于外部數(shù)據(jù)存儲器110 的外部拓?fù)浣Y(jié)果165,如圖4F所示。在圖3的步驟408處,聯(lián)合引擎220連接來自外部存儲器110的子查詢搜索式樣 與trgTQL 165,并將這個(gè)連接提供給映射引擎230,其返回原始FTQL的拓?fù)浣Y(jié)果167,如圖 4G所示。原始FTQL的拓?fù)浣Y(jié)果在適配器120上運(yùn)行,在圖4H中顯示了結(jié)果。接下來,在 圖3中的步驟409處,聯(lián)合引擎220在子查詢中的對象之間創(chuàng)建虛擬鏈接,并將這些鏈接連 同結(jié)果所需的布局(layout) —起提供(步驟410)給uCMDB 240。最后,在步驟411處,將 所需的鏈接和布局提供給適配器120,將結(jié)果返回給聯(lián)合引擎220。圖41顯示了在uCMDB 240和數(shù)據(jù)存儲器110上運(yùn)行了分割的FTQL查詢之后組合的FTQL查詢的結(jié)果173。在步 驟412處,由映射引擎230通過接口 250將原始FTQL查詢的結(jié)果提供給客戶端130。各種公開的實(shí)施例可以實(shí)現(xiàn)為方法、系統(tǒng)和/或裝置。作為一個(gè)示例,將示例性實(shí) 施例實(shí)現(xiàn)為一個(gè)或多個(gè)計(jì)算機(jī)軟件程序,以實(shí)施本文所述的方法。軟件實(shí)現(xiàn)為一個(gè)或多個(gè) 模塊(也稱為編碼子例程,或者面向?qū)ο蟪绦蛟O(shè)計(jì)中的“對象”)。對于不同可替換的實(shí)施 例,軟件的位置不同。例如,軟件程序設(shè)計(jì)代碼由計(jì)算機(jī)或服務(wù)器的一個(gè)處理器或多個(gè)處理 器從一些類型的長期存儲介質(zhì)中訪問,該長期存儲介質(zhì)例如半導(dǎo)體、磁性和光學(xué)設(shè)備,包括 可移動(dòng)盤或硬盤驅(qū)動(dòng)器。代碼可以分布在這種介質(zhì)上,或者可以從一個(gè)計(jì)算機(jī)系統(tǒng)的內(nèi)存 或存儲器通過到其他計(jì)算機(jī)系統(tǒng)的一些類型的網(wǎng)絡(luò)而分發(fā)給網(wǎng)絡(luò)操作員,用于由操作員使 用這些其他系統(tǒng)??商鎿Q地,將程序設(shè)計(jì)代碼包含在內(nèi)存中(例如手持便攜式電子設(shè)備的 內(nèi)存中),由處理器使用總線來訪問。用于將軟件程序設(shè)計(jì)代碼包含在內(nèi)存中、物理介質(zhì)上 和/或經(jīng)由網(wǎng)絡(luò)分發(fā)軟件代碼的技術(shù)和方法是公知的,本文將不再進(jìn)一步論述。本文所用的詞語和描述僅作為示例性方式來提出,并不意圖作為限制。本領(lǐng)域技 術(shù)人員會認(rèn)識到,如在隨后的權(quán)利要求中定義的本發(fā)明的精神和范圍及其等價(jià)物內(nèi)的許多 改變都是可能的,其中,所有詞語都以其最寬泛的可能的意義來理解,除非另有指明。
權(quán)利要求
一種系統(tǒng),實(shí)現(xiàn)為對處理器進(jìn)行程序設(shè)計(jì)以便聯(lián)合與網(wǎng)絡(luò)對象的配置有關(guān)的數(shù)據(jù)搜索功能,包括一個(gè)或多個(gè)外部數(shù)據(jù)存儲器適配器,用于訪問包括與網(wǎng)絡(luò)對象有關(guān)的數(shù)據(jù)的數(shù)據(jù)存儲器;配置管理數(shù)據(jù)庫(CMDB)適配器,用于訪問CMDB;CMDB服務(wù)器,耦合到所述CMDB和所述數(shù)據(jù)存儲器,其中,所述CMDB服務(wù)器包括聯(lián)合引擎,包括用于識別所述網(wǎng)絡(luò)對象的裝置,及映射引擎,耦合到所述聯(lián)合引擎,包括用于查詢所述外部數(shù)據(jù)存儲器的裝置,及用于創(chuàng)建在所述網(wǎng)絡(luò)對象與聯(lián)合的數(shù)據(jù)之間的關(guān)系的裝置。
2.如權(quán)利要求1所述的系統(tǒng),還包括客戶端接口,用于將客戶端連接到所述CMDB服務(wù)器ο
3.如權(quán)利要求1所述的系統(tǒng),其中,由虛擬關(guān)系來連接子查詢。
4.如權(quán)利要求1所述的系統(tǒng),其中,規(guī)則集包括所述網(wǎng)絡(luò)對象的名稱。
5.如權(quán)利要求1所述的系統(tǒng),其中,規(guī)則集包括所述網(wǎng)絡(luò)對象的功能。
6.如權(quán)利要求1所述的系統(tǒng),其中,所述網(wǎng)絡(luò)對象是硬件設(shè)備,包括服務(wù)器、路由器、交 換機(jī)和內(nèi)存設(shè)備。
7.如權(quán)利要求1所述的系統(tǒng),其中,所述網(wǎng)絡(luò)對象是軟件和固件中的一個(gè),包括操作系 統(tǒng)和應(yīng)用程序。
8.—種在處理器上實(shí)現(xiàn)的方法,用于聯(lián)合與網(wǎng)絡(luò)對象的配置有關(guān)的數(shù)據(jù)搜索功能,包括從客戶端接收拓?fù)洳樵冋Z言(TQL)查詢,所述查詢包括一個(gè)或多個(gè)節(jié)點(diǎn); 識別將受到查詢的網(wǎng)絡(luò)對象;在配置管理數(shù)據(jù)庫(CMDB)與一個(gè)或多個(gè)外部數(shù)據(jù)存儲器之間協(xié)調(diào)所識別的網(wǎng)絡(luò)對象;聯(lián)合查詢,包括將查詢分為子查詢,其中,查詢中的每一個(gè)節(jié)點(diǎn)都轉(zhuǎn)換為相關(guān)聯(lián)的子查詢;將所述子查詢應(yīng)用于協(xié)調(diào)的網(wǎng)絡(luò)對象;及 向所述客戶端返回所述子查詢的結(jié)果。
9.如權(quán)利要求8所述的方法,其中,所述網(wǎng)絡(luò)對象是硬件資源。
10.如權(quán)利要求8所述的方法,其中,所述網(wǎng)絡(luò)對象是軟件資源。
11.如權(quán)利要求8所述的方法,其中,協(xié)調(diào)所識別的網(wǎng)絡(luò)對象包括將規(guī)則集應(yīng)用于所述 識別的網(wǎng)絡(luò)對象,其中,所述規(guī)則集包括對象名稱和對象功能。
全文摘要
本發(fā)明涉及聯(lián)合的配置數(shù)據(jù)管理。公開了一種系統(tǒng),實(shí)現(xiàn)為對處理器進(jìn)行程序設(shè)計(jì),以及相應(yīng)的方法,用于聯(lián)合與網(wǎng)絡(luò)對象的配置有關(guān)的數(shù)據(jù)搜索功能。所述系統(tǒng)包括保存與網(wǎng)絡(luò)對象有關(guān)的數(shù)據(jù)的外部數(shù)據(jù)存儲器,配置管理數(shù)據(jù)庫CMDB和耦合到所述CMDB和所述數(shù)據(jù)存儲器的CMDB服務(wù)器。CMDB服務(wù)器包括識別網(wǎng)絡(luò)對象的聯(lián)合引擎及向外部數(shù)據(jù)存儲器查詢協(xié)調(diào)數(shù)據(jù)并創(chuàng)建在所述網(wǎng)絡(luò)對象與聯(lián)合的數(shù)據(jù)之間的關(guān)系的映射引擎。
文檔編號G06F17/30GK101901242SQ20091025308
公開日2010年12月1日 申請日期2009年10月30日 優(yōu)先權(quán)日2008年10月30日
發(fā)明者A·西蒂安, B·科倫菲爾德, O·圖布曼, U·B·多爾 申請人:惠普開發(fā)有限公司