專利名稱:基于模型的事件處理的制作方法
基于模型的事件處理
背景
計算機在我們的社會中變得日益普遍且提供各種功能。一些計算機最初被 設計為個人用途,而其它則最初被設計為由多個用戶和/或多個計算機同時訪 問。通過使用不同的硬件組件以及安裝在計算機上的不同的軟件應用程序,該 計算機可以實現(xiàn)各種功能。
雖然可用的計算機功能和軟件應用程序的多樣性對計算機的最終用戶來 說益處巨大,但這一廣泛的多樣性對被賦予保持計算機運行的任務的系統(tǒng)管理 員來說可能是成問題的。這對于包含大量不同的組件的計算系統(tǒng)尤其如此,這 些組件必須一起工作且正確地工作以使整個計算系統(tǒng)正確地操作。
出于這些和其它原因,事件處理變成受管計算系統(tǒng)的核心能力。 一般 而言,事件處理需要從事件的輸入流中導出含義。然而,這一含義通常被 與復雜計算系統(tǒng)中的各種資源相關聯(lián)的事件的巨大數(shù)量所遮蔽。例如,包
括訪問計算系統(tǒng)的用戶的數(shù)量、運行于計算系統(tǒng)中的應用程序的數(shù)量、以
及計算系統(tǒng)所執(zhí)行的任務或操作的數(shù)量的因素可以導致大量的與各種各樣
可用計算系統(tǒng)資源的相關聯(lián)的不同的事件。
概述
提供本概述以便介紹將在以下詳細描述中進一步描述的基于模型的事件 處理的簡化概念。本概述并不旨在標識所要求保護的主題的必要特征,也不旨 在用于幫助確定所要求保護的主題的范圍。
在一實施例中, 一種系統(tǒng)模型包括受管實體和這些受管實體之間的關
系。如果與事件相關聯(lián)的受管實體具有與該模型相一致的關系,則與這些 受管實體相關聯(lián)的事件被標識并被確定為是相關的。
附圖簡述
在全部附圖中,使用相同的標號來指示相同的特征
圖1示出一示例性系統(tǒng),其中的事件可以使用基于模型的事件處理的 各實施例來處理。
圖2示出可以與此處描述的基于模型的事件處理一起使用的示例性系
5統(tǒng)定義模型(SDM)。
圖3示出其中可以實現(xiàn)基于模型的事件處理的各實施例的示例性操作
管理器和事件相關模型。
圖4示出用于基于模型的事件處理的示例性方法。 圖5示出其中可以實現(xiàn)基于模型的事件處理的各實施例的示例性通用 計算機環(huán)境。.
詳細描述
描述了基于模型的事件處理,其中各實施例提供與各受管實體相關聯(lián)的事 件的相關。在一示例性實現(xiàn)中,這些受管實體之間的關系被存儲在模型中。隨 后根據(jù)該模型處理這些受管實體所生成的事件,其中在事件與具有在該模型下 的關系的受管實體相關聯(lián)時,它們被認為是相關的。
盡管用于基于模型的事件處理的所述系統(tǒng)和方法的各方面可用任何數(shù) 目的不同計算系統(tǒng)、環(huán)境和/或配置來實現(xiàn),但在以下示例性系統(tǒng)體系結構 和方法的上下文中描述基于模型的事件處理的各實施例。
示例性系統(tǒng) .
圖1示出可以生成能夠使用基于模型的事件處理的各實施例來處理的事 件的受管實體的示例性系統(tǒng)100。系統(tǒng)100包括文件系統(tǒng)A102、盤C:104、計 算機F106、計算機B108、消息通信服務XllO、消息通信服務Y112、和數(shù) 據(jù)中心M114。如此處所使用的,術語"受管實體"可以包括系統(tǒng)管理員感興 趣的任何事情。例如,受管實體可以包括硬件和/或軟件組件,如應用程序(包 括數(shù)據(jù)庫應用程序、電子郵件應用程序、文件服務器應用程序、游戲應用程序、 生產(chǎn)性應用程序、操作系統(tǒng)等)、域、文件系統(tǒng)、計算機上的特定硬件(如網(wǎng) 卡、硬盤驅(qū)動器、可移動盤驅(qū)動器、多個處理器中的一個等)、虛擬機、計算 機、多個計算機的組、子網(wǎng)、因特網(wǎng)網(wǎng)關、服務、數(shù)據(jù)中心、成本中心、網(wǎng)站、 web服務、進程等。系統(tǒng)指的是包括受管元素在內(nèi)的一個或多個硬件和/或軟件 組件的集合。
在系統(tǒng)100中,計算機F 106包括盤C:104并運行文件系統(tǒng)A 102。計算 機F106還是數(shù)據(jù)中心M114中的消息通信服務X110的一部分。類似地,計 算機B 108是數(shù)據(jù)中心M114中的消息通信服務Y112的一部分。在一實現(xiàn)中,此處使用的術語'服務'可以指運行于多個計算機上的多個應用程序。在另一 實現(xiàn)中,'服務'可以指運行于單個計算機上的單個應用程序。
圖1中連接受管實體的線指示所連接的實體之間的關系??梢源嬖谟谑芄?實體之間的關系的示例包括包含關系、主存關系、通信關系、依賴關系、所有 權關系等。包含關系將一受管實體標識為被另一受管實體所包含。通常,被包 含的受管實體的數(shù)據(jù)和定義被合并到包含的受管實體中。同樣,在一受管實體 被另一受管實體所包含時,包含的受管實體可以控制被包含的受管實體的生存 期和可見性。包含的受管實體還可以向被包含的受管實體委托行為。
主存關系標識受管實體間的依賴性。在主存關系中,主存的受管實體應該 存在以使客受管實體存在。通信關系標識可以互相通信的受管實體,而依賴關 系則標識依賴于其它受管實體的一個或多個受管實體。類似地,所有權關系標 識擁有或能夠控制其它受管實體的受管實體。
此外,可以將上述類型的關系中的若干種組合成"多跳(multi-hop)"關 系。例如,可以將計算機B108看作經(jīng)由通過消息通信服務Y112的一跳而相 關于數(shù)據(jù)中心M 114。通常,如果系統(tǒng)以XML文檔來建模(如下更詳細地討 論的),則多跳關系可被表達為Xpath或Xquery,它們可能遍歷多個關系支路 (leg)。
如數(shù)據(jù)中心M 114和消息通信服務X 110和Y 112 —樣,文件系統(tǒng)A 102 和計算機F 106可被認為是直接相關的。相反,諸如消息通信服務X 110和Y112 等實體不是直接相關的,因為圖1中未示出連接它們的線。然而,在一示例性 實施例中,由于消息通信服務X 110和Y 112兩者都相關于數(shù)據(jù)中心M 114, 所以消息通信服務X110和Y112可被看作是間接相關的。然而,可以理解, 該特性的可傳遞性關系可能不是對于所有關系類型都可識別的。
出于說明的目的,在盤C:104被包含在計算機F 106中且文件系統(tǒng)A102 運行于計算機F 106上時,文件系統(tǒng)A 102、計算機F 106和盤C:104之間的間 接關系可以存在由此,文件系統(tǒng)A102和計算機F 106具有'運行于'類型的 關系,而盤C: 104和計算機F 106具有'包含于'類型的關系。在盤C: 104 和文件系統(tǒng)A102之間的兩跳關系中,如果盤C: 104遇到壞的塊,則在盤C: 104 糾正其問題時文件系統(tǒng)A102可能經(jīng)歷來自盤C: 104的緩慢響應。以此方式,盤C: 104處的問題可能會對文件系統(tǒng)102的性能產(chǎn)生不利影響。相應地,可以 理解,此處使用的術語關系將還包括受管實體之間的多跳關系。
用戶或系統(tǒng)管理員可以出于各種原因?qū)⑹芄軐嶓w定義為相關的。例如,即 使計算機F 106和計算機B 108互相不直接相關,考慮到它們是同一模型類型 或受到類似的約束等,系統(tǒng)管理員也可能希望記錄它們之間的關系。
系統(tǒng)100可以包括比圖1中示出的多得多的受管實體。例如,系統(tǒng)100 可以包括運行支持多個服務的多個應用程序的多個計算機。另外,系統(tǒng)100可 以包括通過各種聯(lián)網(wǎng)技術互連的各種服務器等等。
在系統(tǒng)100操作時,各受管實體生成事件。此處使用的術語'事件'指示 用戶或系統(tǒng)管理員感興趣的任何準則、情況、事情或動作。例如,事件可以包 括受管實體的情況的快照,如在計算機F 106處使用的存儲器或處理容量的量。 類似地,事件可以包括傳達受管實體的問題的錯誤報告。例如,在盤C: 104 處報告的盤錯誤或諸如來自性能計數(shù)器的數(shù)據(jù)等關于受管實體的信息也可以 組成事件。
通過使用與系統(tǒng)100中的每一受管實體相關聯(lián)的規(guī)范116(a-g)來報告事 件。例如,與文件系統(tǒng)A102相關聯(lián)的事件由規(guī)范116(a)注冊和/或?qū)懙绞录?告中。類似地,與消息通信服務Y112相關聯(lián)的事件由規(guī)范116(e)注冊和域?qū)?到事件報告中。規(guī)范116檢測事件和/或周期性地檢査其相關聯(lián)的受管實體的情 況以形成包含與系統(tǒng)管理工作相關的信息的事件。該信息連同事件所關聯(lián)的受 管實體的身份一起被包括在規(guī)范所發(fā)布的記錄中。以下將結合圖3更詳細地討 論這些記錄中所包含的結構和數(shù)據(jù)。
在一示例性實施例中,規(guī)范116根據(jù)規(guī)范116所關聯(lián)的受管實體來類 型化和定制。例如,與盤C: 104相關聯(lián)的規(guī)范116(b)可以不同于與計算機 F 106相關聯(lián)的規(guī)范116(d)。
示例性模型
圖2示出系統(tǒng)定義模型(SDM) 200,其是圖1示出的系統(tǒng)100的抽象模 型。然而,還可以理解,可以使用SDM之外的各種方法和建模技術來有效地 對系統(tǒng)100進行建模。通常,隨著系統(tǒng)100中受管實體數(shù)量的增加,系統(tǒng)100的復雜性一一包括
系統(tǒng)100中的受管實體之間的直接和間接關系的復雜性一一也隨之增加。在系 統(tǒng)100的開發(fā)期間,可以創(chuàng)作系統(tǒng)100的抽象模型200,并用其來表達系統(tǒng)100 的結構。
如下更詳細地討論的,通過發(fā)現(xiàn)關于系統(tǒng)100中的各受管實體和關系的特 定信息可以從模型200創(chuàng)建系統(tǒng)100的具體模型。例如,可以通過發(fā)現(xiàn)模型200 中所找到的抽象類和關系的真實實例來創(chuàng)建具體模型。已經(jīng)完成的具體模型可 以精確地表達系統(tǒng)100的結構并可被用戶或管理員用來更好地理解和管理系統(tǒng) 100。
返回到模型200,諾如系統(tǒng)管理員等用戶可以定義與系統(tǒng)IOO相關聯(lián)的或 與系統(tǒng)100中的特定受管實體相關聯(lián)的一個或多個屬性。模型200因此可以包 括被建模為圖2中的組件的受管實體和這些組件之間的對應關系。由此,模型 200可以描述可被管理的系統(tǒng),其中系統(tǒng)管理可以包括,例如,監(jiān)視與系統(tǒng)中 的受管實體相關聯(lián)的事件、在系統(tǒng)上安裝軟件、監(jiān)視系統(tǒng)的性能、維護系統(tǒng)的 配置信息、驗證系統(tǒng)中所滿足的約束、從安全觀點監(jiān)視系統(tǒng)的完整性、其組合 等。
如圖所示,模型200包括對應于被建模的系統(tǒng)中的每一受管實體(軟件和 /或硬件)的組件。如上結合圖1所討論的,可以在系統(tǒng)中的硬件和/或軟件組 件的示例包括應用程序(包括數(shù)據(jù)庫應用程序、電子郵件應用程序、文件服務 器應用程序、游戲應用程序、生產(chǎn)性應用程序、操作系統(tǒng)等)、域、計算機上 的特定硬件(如網(wǎng)卡、硬盤驅(qū)動器、可移動盤驅(qū)動器、多個處理器中的一個等)、 虛擬機、計算機、多個計算機的組、子網(wǎng)、以及因特網(wǎng)網(wǎng)關、服務、數(shù)據(jù)中心、 網(wǎng)站、web服務、進程等。
模型200表示系統(tǒng)100的抽象模型,包括分別對文件系統(tǒng)A 102、盤C: 104、 計算機F106、計算機B108、消息通信服務XllO、消息通信服務Y112、以 及數(shù)據(jù)中心M114進行建模的組件202到204。類似地,連接組件的線表示各 種類型的關系。返回到以上給出的兩跳示例,連接組件202和組件206的線可 以表示'運行于'類型的關系。類似地,連接組件206和組件204的線可以表 示'包含于'類型的關系。雖然示例模型200包括七個組件,但在實踐中,被建模的系統(tǒng),并且因此
模型200都可以包括任何數(shù)量的組件,其中系統(tǒng)中所管理的每一硬件或軟件組 件都由模型200中的一個組件來表示。例如, 一個組件可以表示特定計算機, 而另一組件可以表示運行于該特定計算機上的操作系統(tǒng)。作為另一示例,又一 組件可以表示操作系統(tǒng),而再一組件可以表示運行于該操作系統(tǒng)上的數(shù)據(jù)庫應 用程序。作為又一示例, 一組件可以被包括在模型200中以表示特定計算機, 而一相關組件可以表示安裝在該特定計算機上的操作系統(tǒng)。類似地, 一組件可 以被包括以表示運行于操作系統(tǒng)上的虛擬機,而另一組件可以被包括以表示運 行于該虛擬機上的操作系統(tǒng)。在這一示例中,操作系統(tǒng)可以是相同的或另選地 兩個不同的操作系統(tǒng)。
模型200旨在作為全面的知識存儲,包括以抽象類型專用方式管理系統(tǒng) IOO時使用的所有信息。例如,具有變化的數(shù)量的計算機和管理服務及其實例 的類型100的系統(tǒng)也可以使用模型200來表示。此外,如下更詳細地討論的, 在真實系統(tǒng)中尋找組件和關系的知識和技巧還可以被編碼在信息頁中。
模型200中的信息可以包括關于系統(tǒng)100中的特定受管元素以及系統(tǒng)100 中的各受管元素之間的關系的信息。盡管有此意圖,但可以理解,模型200可 以另選地只包含在管理系統(tǒng)時使用的信息中的某一些而不是所有信息。
系統(tǒng)100中的不同受管元素之間存在的關系在模型200中用連接相關組件 的線示出。如上結合圖l所述,可以存在于組件之間的關系的示例包括包含關 系(如上面討論的'包含于,關系)、主存關系(如上述'運行于,關系)、通 信關系、依賴關系、和所有權關系。
圖2還示出一個或多個信息(info)頁可與模型200中的每一組件相關聯(lián)。 信息頁216與組件202相關聯(lián);信息頁218與組件204相關聯(lián);信息頁220與 組件206相關聯(lián);信息頁222與組件208相關聯(lián);信息頁224與組件210相關 聯(lián);信息頁226與組件212相關聯(lián);信息頁228與組件214相關聯(lián)。每一信息 頁都包含關于其相關聯(lián)的組件的信息。此外,可為不同的組件維護不同類型的 信息。在某些實施例中,不同的頁包含不同類型的信息,如一個頁包含安裝信 息而另一個頁包含約束信息。另選地,不同類型的信息可被包括在同一頁上, 如安裝信息和約束信息被包括在同一頁上。此外,可以理解,頁可以用與模型200中的組件(或模型100中的受管實體)相同的方式來關聯(lián)。換言之,頁自 身也可以是相關的。
信息頁的類型的示例包括安裝頁、監(jiān)視頁、服務等級協(xié)定頁、描述頁、關 系頁等。安裝頁可以包括描述如何將相關聯(lián)的組件安裝到另一組件上(例如, 將應用程序安裝到計算機上)的信息,如要將什么文件復制到硬盤驅(qū)動器、需 要添加或改變什么系統(tǒng)設置(如要包括在操作系統(tǒng)注冊表中的數(shù)據(jù))、在文件 被復制到硬盤驅(qū)動器后要運行什么配置程序等。
監(jiān)視頁包括涉及監(jiān)視相關聯(lián)的組件的性能和/或健康狀況的信息。該信息 可以包括描述如何監(jiān)視相關聯(lián)的組件(例如,什么準則和其它事情組成在監(jiān)視 組件時要尋找的事件)以及在滿足特定規(guī)則時采取什么動作(例如,在事件發(fā) 生時記錄特定設置和其它信息、拉響警報等)的規(guī)則。
服務等級協(xié)定頁包括描述關于相關聯(lián)的組件的兩方或更多方之間(例如, 相關聯(lián)的組件的買方和從其購買相關聯(lián)的組件的賣方之間)的協(xié)定的信息。這 些可以在系統(tǒng)操作以確定例如各方是否滿足這兩方或更多方之間達成的協(xié)定 期間訪問。
描述頁包括描述相關聯(lián)的組件的信息,如組件的各種設置或組件的其它特 征。這些設置或特征可以包括組件的名稱或其它標識符、組件的制造商、組件 何時被安裝或制造、組件的性能特征等。例如,與表示計算設備的組件相關聯(lián) 的描述頁可以包括關于安裝在該計算系統(tǒng)中的存儲器的量的信息。類似地,與 表示處理器的組件相關聯(lián)的描述頁可以包括關于處理器的速度的信息,而與表 示硬盤驅(qū)動器的組件相關聯(lián)的描述頁可以包括關于該硬盤驅(qū)動器的存儲容量 和該硬盤驅(qū)動器的速度的信息等。
關系頁包括關于相關聯(lián)的組件具有的與其它組件的各種關系的信息。這些 關系可以是直接的或間接的,且其可由用戶或管理員來設置以幫助事件處理的 工作。例如,組件的關系頁可以陳述該組件與若干其與之定期地交互(或其與 之電子地耦合)的其它組件直接相關。此外,關系頁可以陳述該組件與其它類 似組件在例如,類似的所執(zhí)行的任務、類似的組成、或主組件和間接地相關的 組件間的類似的操作約束的基礎上間接地相關。類似地,發(fā)現(xiàn)頁對關于尋找特 定組件或特定關系的實例的指令進行編碼。由此,模型200中的信息頁維護關于系統(tǒng)100中的每一組件的各種信息(例 如,安裝、約束、監(jiān)視、發(fā)現(xiàn)等)。盡管這些信息頁的變化的本質(zhì),但其還是
被一起維護在模型200中,并且因此都可由管理模型200所描述的類型的系統(tǒng) 時所涉及的各實用程序或其它應用程序很容易地訪問。
在此處的討論中,對不同類的計算設備進行參考。這些不同類的計算設備 中的每一種都指的是具有特定共同特征的計算設備,所以其被分組在一起并被 看作是一類設備。不同類的計算設備的示例包括因特網(wǎng)可訪問的ns (因特網(wǎng) 信息服務)服務器、只在內(nèi)部內(nèi)聯(lián)網(wǎng)可訪問的IIS服務器、數(shù)據(jù)庫服務器、電 子郵件服務器、順序處理服務器、臺式計算機等。通常,每一不同種類的計算 設備對應于系統(tǒng)模型中的配置中的一個。
模型200還可以包含靜態(tài)信息(例如,應用程序中的軟件服務拓撲)和動 態(tài)信息(例如,特定交互的控制流)。該信息被用來描述組件、系統(tǒng)體系結構 和交互流(例如,執(zhí)行功能的一系列步驟)。
圖3示出可被用來實現(xiàn)基于模型的事件處理的示例性操作管理器和事件 相關模塊??梢岳貌僮鞴芾砥?00來從模型服務器304導入系統(tǒng)100的抽象 模型302并從抽象模型302創(chuàng)建具體模型306。在一實現(xiàn)中,可以使用抽象模 型200中的對方法進行編碼來發(fā)現(xiàn)具體模型的實例的信息頁來創(chuàng)建這一具體模 型。實例可以是關于類的以及關于關系的。
在一實現(xiàn)中,抽象模型302包括以上結合圖2討論的模型200。然而,如 前所述,也可以將使用不同于結合圖2討論的系統(tǒng)定義模型(SDM)的語言、 方法、和技術創(chuàng)建的系統(tǒng)100的其它類型的抽象模型導入到操作管理器300中。 在一實施例中,從模型服務器304中以XML文檔的形式檢索抽象模型302。
一旦操作管理器300導入了抽象模型302并創(chuàng)建了相對應的具體模型 306,則可以在數(shù)據(jù)庫中保存具體模型306。該數(shù)據(jù)庫可被主存于同時主存操作 管理器300的全部或部分的計算機上,或者其對操作管理器300可以是遠程的。 另選地,可以在不同時間將該數(shù)據(jù)庫保存在各計算機上,包括或不包括主存操 作管理器300的計算機。
如上結合圖1所討論的,系統(tǒng)100 (以抽象模型302和具體模型306建模) 中的每一受管實體都與被配置為檢測與這些受管實體相關聯(lián)的事件308,并發(fā)放包括關于事件308的數(shù)據(jù)的事件記錄310的規(guī)范116相關聯(lián)。每一事件記錄 310都可以具有若干字段,包括含有關于所報告的事件的數(shù)據(jù)的事件字段312, 如事件的本質(zhì)和事件發(fā)生的或被注冊的時間。事件記錄310還可以包括含有對 與事件308相關聯(lián)的受管實體的身份和/或類型的引用的受管實體身份字段 314。在一實現(xiàn)中,該引用是稱為受管實體標識符(MEI)的固定的模式化標 識符。在一示例性實現(xiàn)中,MEJ包括受管實體的身份。在另一示例性實現(xiàn)中, MEI包括可被映射到來自模型的受管實體的身份的IP地址。
事件記錄310還可以包括其它字段,諸如其中可以存儲關于事件308的、 與事件308相關聯(lián)的受管實體的、或用戶或管理員感興趣的其它信息的補充數(shù) 據(jù)的附加數(shù)據(jù)字段316。 一旦被規(guī)范116所發(fā)放,事件記錄310則被保存在可 以包括sequel數(shù)據(jù)庫的事件集合服務器318中。
事件集合服務器318可由事件相關模塊320訪問。在圖3中,事件集相關 合模塊320被示為駐留在操作管理器300中。然而,可以理解,事件相關模塊 320可以整個地或部分地駐留在操作管理器300之外,或者事件相關模塊320 的各部分可以在不同的時間駐留在操作管理器300中一一或在各其它計算機 上。
在一示例性實現(xiàn)中,事件相關模塊320訪問事件相關服務器318并比較其 上保存的各個事件記錄310以致力于尋找具有與抽象模型302和/或具體模型 306相一致的關系的受管實體發(fā)放的事件記錄310。在一示例性實現(xiàn)中,事件 相關模塊320通過查看事件集合服務器318中的各個事件記錄310的受管實體 標識符字段314來實現(xiàn)這一點。在找到指示具有抽象模型302和/或具體模型 306下的關系的受管實體的受管實體標識符字段314時,可以說包括受管實體 身份字段314 (及其相應的事件308)的事件記錄310是相關的。此外, 一旦 定位了指示相關的事件308的事件記錄310,則事件相關模塊320可以向任何 用戶、管理員、或事件處理所涉及的實體發(fā)放報告。除諸如受管元素的身份、 事件308發(fā)生(或被注冊)的時間、以及相關的事件308自身的本質(zhì)等來自相 關的事件308的事件記錄310的各種信息之外,該報告可以包括警報或其它指 示符。還可以收集報告信息并將其用在供將來審査和報告的新的概述事件的記 錄中。事件相關模塊320可被編程為搜索事件記錄310中表示的受管實體之間的 變化類型的關系。例如,事件相關模塊320可被編程為只搜索直接關系?;蛘?, 事件相關模塊320可被編程為只搜索間接關系。此外,還可以使關系的分隔等 級對事件相關模塊320變得重要。
另外,由于受管實體和關系被類型化,相關邏輯可以基于指定類型以 及屬性匹配準則的査詢來遍歷受管實體和關系的實例。以此方式,可以定 位掛起相關的受管實體的相關的事件。例如,在一實現(xiàn)中,只有當數(shù)據(jù)庫 超時事件相關聯(lián)的數(shù)據(jù)庫被主存在同一 RAID設備上時,該超時事件可以 與RAID存儲中的磁盤塊錯誤相關。
示例性方法
圖4示出用于基于模型的事件處理的示例性方法400,并參考圖1-3中示 出的系統(tǒng)100、模型200、操作管理器300和事件相關模塊320來描述。描述 方法的次序并不旨在解釋為限制,并且任何數(shù)量的所述方法框都可以按任何次 序組合以實現(xiàn)本方法或?qū)崿F(xiàn)替換方法。另外,可從方法中刪除各個框,而不背 離此處所述的主題的精神和范圍。此外,本方法可用任何合適的硬件、軟件、 固件或其組合來實現(xiàn)。
在框402,檢索查詢模型。該抽象模型包括一個或多個受管實體的類型以 及表示模型中的受管實體的組件之間的一個或多個關系的類型的抽象定義。例 如,該模型可以認識到網(wǎng)站運行于web服務器上。在一示例性實現(xiàn)中,操作管 理器300可以從模型服務器204中檢索系統(tǒng)100的抽象模型302。
在框404,發(fā)現(xiàn)該抽象模型中定義的受管實體的實例和該抽象模型中定義 的受管實體之間的關系的實例以創(chuàng)建具體模型。例如,定義并限定模型200中 的組件202、 204、 206、 210和214之間的關系。類似地,定義并限定模型200 中的組件208、 212和214之間的關系。在一示例性實現(xiàn)中,通過在諸如系統(tǒng) 100等被建模的系統(tǒng)的實際運行環(huán)境中尋找受管實體的具體實例和它們之間的 各類型的關系以及它們在發(fā)現(xiàn)階段期間的關系來創(chuàng)建具體模型??梢允褂孟到y(tǒng) 的抽象模型中描述的方法來尋找具體實例和各類型的關系。
在框406,選擇與受管實體相關聯(lián)的事件。在一實現(xiàn)中,這包括通過使用 事件相關模塊320收集存儲在事件集合服務器318中的事件記錄310。在其它
14示例性實現(xiàn)中,可以使用抽象模型中編碼的方法來為受管實體訂閱、收集、過 濾或生成事件。此外,可以在與表示抽象模型中的受管實體的各組件相關聯(lián)的 信息頁中尋找引導事件選擇的選擇準則。
事件記錄310可以包括若干字段,包括含有關于所報告的事件的數(shù)據(jù)的事
件字段312、含有對與事件308相關聯(lián)的受管實體的身份和/或類型的引用的受 管實體身份字段314、以及其中可以存儲關于事件308的、與事件308相關聯(lián) 的受管實體的、或用戶或管理員感興趣的其它信息的補充數(shù)據(jù)的附加數(shù)據(jù)字段 316。
在框408,將每一訪問的事件與其對應的受管實體進行關聯(lián)。在一實現(xiàn)中, 可以通過訪問報告事件308的事件記錄310中的受管實體身份字段314來定位 與所報告的事件308相關聯(lián)的受管實體。受管實體身份字段314包括關于與事 件相關聯(lián)的受管實體的身份的數(shù)據(jù)。
在框410,基于相關聯(lián)的受管實體之間的關系使各事件相關。例如,事件 相關模塊320比較表示各個事件308的各個事件記錄310中的受管實體身份字 段314。在根據(jù)抽象模型302和/或具體模型306找到與相關的受管實體(如相 對應的受管實體身份字段314所報告的)的事件記錄310時,事件相關模塊320 則認為事件308是相關的。在一示例性實現(xiàn)中,通過遵循按照相關信息頁中找 到的、系統(tǒng)的抽象模型中的抽象類和關系描述的相關方法來使事件相關。
在框412, 一旦隔離了相關的事件,則發(fā)放指示相關的事件的發(fā)現(xiàn)的 通信。在一實現(xiàn)中,事件相關模塊320可以向任何用戶、管理員、或事件 處理所涉及的實體發(fā)放該通信,且除來自相關的事件308的事件記錄310 的各種信息之外,該通信可以包括警報或其它指示符。該信息可以包括受 管元素的身份、事件308發(fā)生(或被注冊)的時間和相關的事件308自身 的本質(zhì)。
示例性計算機環(huán)境
圖5示出示例通用計算機環(huán)境500,其可用于實現(xiàn)此處所述的技術,且整 體或部分地表示此處所述的元素。計算機環(huán)境500僅是計算環(huán)境的一個示例, 而非旨在對計算機和網(wǎng)絡體系結構的使用范圍或功能提出任何限制。計算機環(huán)境500也不應被解釋成對于在示例計算機環(huán)境500中所示出的任一組件或其組
合有任何依賴或要求。
計算機環(huán)境500包括計算機502形式的通用計算設備。計算機502例如可 以是臺式計算機、手持式計算機、筆記本或膝上型計算機、服務器計算機、游 戲控制臺等。計算機502的各組件可以包括但不限于 一個或多個處理器或處 理單元504、系統(tǒng)存儲器506、以及將包括處理器508在內(nèi)的各系統(tǒng)組件耦合 至系統(tǒng)存儲器504的系統(tǒng)總線506。
系統(tǒng)總線508表示任何若干類型的總線結構中的一個或多個,包括存儲器 總線或存儲器控制器、外圍總線、加速圖形端口以及使用任何各種總線體系結 構的處理器或局部總線。作為示例,這樣的體系結構可包括工業(yè)標準體系結構 (ISA)總線、微通道體系結構(MCA)總線、增強型ISA (EISA)總線、視 頻電子技術標準協(xié)會(VESA)局部總線和外圍部件互連(PCI)總線(也被稱 為夾層(Mezzanine)總線)。
計算機502通常包括各種計算機可讀介質(zhì)。這樣的介質(zhì)可以是能由計算機 502訪問的任何可用介質(zhì),包括易失性和非易失性介質(zhì)以及可移動和不可移動 介質(zhì)。
系統(tǒng)存儲器506包括諸如隨機存取存儲器(RAM) 510等易失性存儲器形 式的計算機可讀介質(zhì),和/或諸如只讀存儲器(ROM) 512等非易失性存儲器 形式的計算機可讀介質(zhì)?;据斎?輸出系統(tǒng)(BIOS) 514被存儲在ROM 502 中,它包含幫助在諸如啟動期間在計算機512內(nèi)元件之間傳遞信息的基本例程。 RAM 510通常包含處理單元504可以立即訪問和/或目前正在操作的數(shù)據(jù)和/或 程序模塊。
計算機502還可以包括其它可移動/不可移動、易失性/非易失性的計算機 存儲介質(zhì)。作為示例,圖5示出了對不可移動、非易失性磁性介質(zhì)(未示出) 進行讀寫的硬盤驅(qū)動器516、對可移動、非易失性磁盤518 (例如"軟盤")進 行讀寫的磁盤驅(qū)動器520、以及對諸如CD-ROM、 DVD-ROM或其它光學介質(zhì) 等可移動、非易失性光盤522進行讀寫操作的光盤驅(qū)動器524。硬盤驅(qū)動器516、 磁盤驅(qū)動器518和光盤驅(qū)動器522各自通過一個或多個數(shù)據(jù)介質(zhì)接口 526連接至系統(tǒng)總線508。另選地,硬盤驅(qū)動器516、磁盤驅(qū)動器518和光盤驅(qū)動器522 也可通過一個或多個接口 (未示出)連接至系統(tǒng)總線508。
盤驅(qū)動器及其相關聯(lián)的計算機可讀介質(zhì)向計算機502提供對計算機可讀 指令、數(shù)據(jù)結構、程序模塊以及其它數(shù)據(jù)的非易失性存儲。盡管該示例示出了 硬盤516、可移動磁盤520和可移動光盤524,可以理解可存儲可由計算機訪 問的數(shù)據(jù)的其他類型的計算機可讀介質(zhì)也可用來實現(xiàn)該示例性計算系統(tǒng)和環(huán) 境,這些介質(zhì)如盒式磁帶或其它磁存儲設備、閃存卡、CD-ROM、數(shù)字多功能 盤(DVD)或其它光盤存儲、隨機存取存儲器(RAM)、只讀存儲器(ROM)、 電可擦除可編程只讀存儲器(EEPROM)等等。
眾多程序模塊可儲存在硬盤516、磁盤520、光盤524、 ROM 512和/或 RAM510中,作為示例包括操作系統(tǒng)527、 一個或多個應用程序528、其它程 序模塊530和程序數(shù)據(jù)532。每個這樣的操作系統(tǒng)527、 一個或多個應用程序 528、其它程序模塊530以及程序數(shù)據(jù)532 (或其某種組合)可實現(xiàn)支持分布式 文件系統(tǒng)的常駐組件的全部或部分。
用戶可通過諸如鍵盤534和定點設備536 (例如"鼠標")等輸入設備向 計算機502輸入命令和信息。其它輸入設備538 (未具體示出)可以包括話筒、 操縱桿、游戲手柄、圓盤式衛(wèi)星天線、串行接口、掃描儀等。這些和其它輸入 設備通過耦合到系統(tǒng)總線508的輸入/輸出接口 540連接到處理單元504,但也 可通過其它接口和總線結構如并行端口、游戲端口或通用串行總線(USB)來 連接。
監(jiān)視器542或其它類型的顯示設備也經(jīng)由諸如視頻適配器544等接口連接 至系統(tǒng)總線508。除監(jiān)視器542之外,其它輸出外圍設備可包括諸如揚聲器(未 示出)和打印機546等組件,這些組件可通過輸入/輸出接口 540連接至計算機 502。
計算機502可以使用至一臺或多臺遠程計'算機,如遠程計算設備548的邏 輯連接在網(wǎng)絡化環(huán)境中工作。作為示例,遠程計算設備548可以是個人計算機、 便攜式計算機、服務器、路由器、網(wǎng)絡計算機、對等設備或者其它常見網(wǎng)絡節(jié) 點等。遠程計算設備548被示為可以包括在本文中關于計算機502描述的許多 或全部元件和特征的便攜式計算機。計算機502和遠程計算機548之間的邏輯連接被描繪為局域網(wǎng)(LAN)550 和通用廣域網(wǎng)(WAN) 552。這樣的聯(lián)網(wǎng)環(huán)境在辦公室、企業(yè)范圍計算機網(wǎng)絡、 內(nèi)聯(lián)網(wǎng)和因特網(wǎng)中是常見的。
當在LAN聯(lián)網(wǎng)環(huán)境中實現(xiàn)時,計算機502通過網(wǎng)絡接口或適配器550連 接到局域網(wǎng)554。當在WAN聯(lián)網(wǎng)環(huán)境中實現(xiàn)時,計算機502通常包括調(diào)制解 調(diào)器556或用于在廣域網(wǎng)552上建立通信的其它裝置。調(diào)制解調(diào)器556可以是 計算機502內(nèi)置或外置的,其可通過輸入/輸出接口 540或其它適當?shù)臋C制連接 到系統(tǒng)總線508??梢岳斫猓揪W(wǎng)絡連接是示例性的,也可采用在計算機502 和548之間建立通信鏈接的其它手段。
在諸如對計算環(huán)境500示出的網(wǎng)絡化環(huán)境中,相對于計算機502描繪的程 序模塊或其部分可被存儲在遠程存儲器存儲設備中。作為示例,遠程應用程序
558駐留在遠程計算機548的存儲器設備上。為說明起見,應用程序和諸如操 作系統(tǒng)等其他可執(zhí)行程序組件在這里被示為離散的塊,但可以理解,這樣的程
序和組件在不同的時間駐留在計算設備502的不同存儲組件中,并由計算機的 數(shù)據(jù)處理器來執(zhí)行。
各種模塊和技術在此可在諸如程序模塊等由一個或多個計算機或其它設 備執(zhí)行的計算機可執(zhí)行指令的一般上下文中描述。 一般而言,程序模塊包括執(zhí) 行特定任務或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、對象、組件、數(shù)據(jù)結構等。 通常,程序模塊的功能可以在各個實施例中按需進行組合或分布。
這些模塊和技術的實現(xiàn)可以存儲在某種形式的計算機可讀介質(zhì)上或通過 某種形式的計算機可讀介質(zhì)傳輸。計算機可讀介質(zhì)可以是可由計算機訪問的任 何可用介質(zhì)。作為示例而非限制,計算機可讀介質(zhì)可包括"計算機存儲介質(zhì)" 和"通信介質(zhì)"。
"計算機存儲介質(zhì)"包括以存儲如計算機可讀指令、數(shù)據(jù)結構、程序模塊 或其它數(shù)據(jù)等信息的任何方法或技術實現(xiàn)的易失性和非易失性、可移動和不可 移動介質(zhì)。計算機存儲介質(zhì)包括但不限于,RAM、 ROM、 EEPROM、閃存或 其它存儲器技術、CD-ROM、數(shù)字多功能盤(DVD)或其它光盤存儲、盒式磁 帶、磁帶、磁盤存儲或其它磁存儲設備,或者任何其它可用于存儲所需信息并 可由計算機訪問的介質(zhì)。另選地,該框架的各部分可用硬件或硬件、軟件和/或固件的組合來實
現(xiàn)。例如,可將一個或多個專用集成電路(ASIC)或可編程邏輯器件(PLD)
設計或編程為實現(xiàn)該框架的一個或多個部分。 結論
雖然己經(jīng)用結構特征和/或方法特定的語言描述了基于模型的事件處 理的各實施例,但是應該理解所附權利要求不必限于所述的具體特征或方 法。相反,這些具體特征和方法是作為基于模型的數(shù)據(jù)處理的示例性實現(xiàn) 而公開的。
權利要求
1. 一種方法,包括發(fā)現(xiàn)系統(tǒng)的具體模型,所述具體模型包括受管實體和這些受管實體之間的關系;標識與所述受管實體相關聯(lián)的事件;以及如果與所述事件相關聯(lián)的所述受管實體具有與所述模型相一致的關系,則確定所述事件是相關的。
2. 如權利要求l所述的方法,其特征在于,所述模型以包括XML 模式、系統(tǒng)定義建模語言中的至少一個的建模語言來表達。
3. 如權利要求1所述的方法,其特征在于,生成所述系統(tǒng)的所述模 型包括訪問所述系統(tǒng)的預先存在的模型。
4. 如權利要求1所述的方法,其特征在于,受管實體之間的關系包 括直接關系、間接關系中的至少一個。
5. 如權利要求l所述的方法,其特征在于,所述受管實體包括域、 計算機、子網(wǎng)、服務器、應用程序、因特網(wǎng)網(wǎng)關、數(shù)據(jù)庫、盤、服務、成 本中心、數(shù)據(jù)中心、網(wǎng)站、web服務、進程中的至少一個。
6. 如權利要求1所述的方法,其特征在于,標識所述事件包括生成 紀念每一事件的事件記錄,所述事件記錄包括對與所述事件相關聯(lián)的受管 實體的引用。
7. 如權利要求1所述的方法,其特征在于,事件包括關于受管實體 的計數(shù)器和度量。
8. 如權利要求1所述的方法,其特征在于,還包括發(fā)放包括關于相 關事件的信息報告、警報中的至少一個。
9. 如權利要求1所述的方法,其特征在于,標識與所述受管實體相 關聯(lián)的事件包括為每一事件生成事件記錄;以及將每一事件記錄存儲在數(shù)據(jù)庫中。
10. —種方法,包括訪問系統(tǒng)的模型,所述模型包括受管實體和所述受管實體之間的關系;生成關于與所述受管實體相關聯(lián)的事件的信息;以及將與具有所述模型定義的關系的受管實體相關聯(lián)的事件標識為相關的 事件。
11. 如權利要求10所述方法,其特征在于,生成所述信息包括為每 一事件生成包括關于與所述事件相關聯(lián)的受管實體的身份的信息的記錄。
12. 如權利要求ll所述方法,其特征在于,所述記錄是從與每一受 管實體相關聯(lián)的定制規(guī)范生成的。
13. 如權利要求IO所述的方法,其特征在于,還包括在標識相關的 事件時,發(fā)放報告或警報中的至少一個。
14. 如權利要求IO所述的方法,其特征在于,訪問系統(tǒng)的模型包括通過發(fā)現(xiàn)抽象模型中描述的受管實體的類型和它們之間的關系的實例來創(chuàng) 建所述系統(tǒng)的具體模型。
15. —種或多種其上存儲有計算機可執(zhí)行指令的計算機可讀介質(zhì),所述指令在由一個或多個處理器執(zhí)行時,使得所述一個或多個處理器檢索系統(tǒng)的抽象模型,所述抽象模型包括所述系統(tǒng)中的受管實體的定義;發(fā)現(xiàn)所述抽象模型中所描述的受管實體的類型以及它們之間的關系的實例以創(chuàng)建具體模型;訪問與所述受管實體相關聯(lián)的事件;以及 使與具有關系的受管實體相關聯(lián)的事件相關。
16. 如權利要求15所述的一種或多種計算機可讀介質(zhì),其特征在于, 還包括在由所述一個或多個處理器執(zhí)行時使得所述一個或多個處理器使用 在所述系統(tǒng)的所述抽象模型中描述的方法來標識所述系統(tǒng)的受管實體的具 體實例及它們之間的各類型的關系的計算機可執(zhí)行指令。
17. 如權利要求15所述的方法,其特征在于,受管實體之間的關系 包括直接關系、間接關系中的至少一個。
18. 如權利要求15所述的一種或多種計算機可讀介質(zhì),其特征在于, 還包括在由所述一個或多個處理器執(zhí)行時使得所述一個或多個處理器從事 件集合服務器中檢索與所述多個事件相關聯(lián)的記錄的計算機可執(zhí)行指令。
19. 如權利要求18所述的一種或多種計算機可讀介質(zhì),其特征在于, 還包括在由所述一個或多個處理器執(zhí)行時使得所述一個或多個處理器通過 檢查與所述事件相關聯(lián)的記錄中的受管實體標識符來確定事件和受管實體 之間的關聯(lián)的計算機可執(zhí)行指令。
20. 如權利要求15所述的一種或多種計算機可讀介質(zhì),其特征在于,還包括在由所述一個或多個處理器執(zhí)行時使得所述一個或多個處理器在標 識相關的事件時發(fā)放通信的計算機可執(zhí)行指令。
全文摘要
描述了基于模型的事件處理。在一實施例中,系統(tǒng)模型包括受管實體和這些受管實體之間的關系。如果與事件相關聯(lián)的受管實體具有與該模型相一致的關系,則與這些受管實體相關聯(lián)的事件被標識并被確定為是相關的。
文檔編號G06F17/00GK101427219SQ200780014114
公開日2009年5月6日 申請日期2007年3月8日 優(yōu)先權日2006年4月21日
發(fā)明者A·J·杉格維, L·瑞茲 申請人:微軟公司