中文字幕无码日韩视频无码三区

聯合的配置數據管理的制作方法

文檔序號:6585934閱讀:242來源:國知局
專利名稱:聯合的配置數據管理的制作方法
技術領域
本發明涉及聯合的(federated)配置數據管理。
背景技術
當前的信息技術(IT)環境使用多種IT管理工具。通常,每一個這樣的工具都具 有相關聯的其自己的數據存儲器。在這種環境中,用戶(人或機器)不具有獲得散布在這 些各種數據存儲器中的數據的完整視圖的能力。另外,用戶不能看見聚合數據(aggregated data),它會與在IT環境中執行的特定應用相關聯。缺乏總體數據視圖以及不能看見數據 聚合產生了信息瓶頸以及用以組裝完整且準確的數據視圖的額外的開銷(時間和金錢), 并導致常常根據不完整信息做出的決定。最后,在具有不可相關數據的這些當前IT環境 中,管理者常常不能預期到基礎結構變化的效果。

發明內容
公開了一種系統,實現為對處理器進行程序設計,用于聯合與網絡對象的配置有 關的數據搜索功能。系統包括一個或多個外部數據存儲器接口,其中,數據存儲器包括與網 絡對象有關的數據;連接到CMDB的配置管理數據庫(CMDB)適配器,及耦合到CMDB和數據 存儲器的CMDB服務器。CMDB服務器包括聯合引擎,其包括用于識別網絡對象的裝置。CMDB 服務器還包括耦合到聯合引擎的映射引擎。映射引擎包括向外部數據存儲器查詢協調數 據(reconciliation data)的裝置以及創建在所述網絡對象與聯合的數據之間的關系的裝 置。還公開了一種在處理器上實現的方法,用于聯合與網絡對象的配置有關的數據搜 索功能。該方法包括以下步驟從客戶端接收拓撲查詢語言(topologicalquery language, TQL)查詢,所述查詢包括一個或多個節點;識別將受到查詢的網絡對象;在配置管理數據 庫(CMDB)與一個或多個外部數據存儲器之間協調所識別的網絡對象;聯合查詢,包括將查 詢分為子查詢,其中,查詢中的每一個節點都轉換為相關聯的子查詢;將子查詢應用于協調 的網絡對象;及向客戶端返回子查詢的結果。


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