專利名稱:用于檢測異常的自學習方法和系統(tǒng)的制作方法
技術(shù)領域:
本發(fā)明的實施例涉及一種適用于檢測在一個循環(huán)或另一種處理過程中的異常以便于簡化系統(tǒng)管理的自動化技術(shù),尤其是,本發(fā)明的實施例提出了檢測在一個計算系統(tǒng)或處理中行為的異常并適用于跟蹤商務關鍵性能的指示器。
背景技術(shù):
隨著網(wǎng)絡化計算設備和系統(tǒng)應用的增多,檢測這些系統(tǒng)中的難點就變得非常必要了,因為這些難點會帶來一個大范圍的影響。應用傳統(tǒng)的方法來手工監(jiān)測系統(tǒng)已是不切實際的,且在很多例子中是不可能的。
熟練的專家可以通過在工廠中聽一個引擎或上百個機器的嗡嗡聲來決定機器是否正常運行。但這種技術(shù)并不能有效地運用在服務器或數(shù)據(jù)中心上。一臺服務器或數(shù)據(jù)中心的分析需要一位相關的專家,他非常熟悉商務周期的正常漲落的變化以及服務器在幫助專家在得出結(jié)論之前進行數(shù)百次測量問題中的特殊效果。在一個數(shù)據(jù)中的上百臺服務器或者在整個企業(yè)中采用手工方式來進行這種分析往往是難以承擔的、也許是不可能的。
因而,已經(jīng)發(fā)展了一些適用于檢測計算機系統(tǒng)異常的技術(shù)。一種技術(shù)是識別取樣中的參數(shù)并將取樣的結(jié)果與一個固定閾值相比較。如果超過固定的閾值,這種技術(shù)就識別出一個異常。然而,這種技術(shù)時常會產(chǎn)生一些錯誤的結(jié)果。因為兩個系統(tǒng)不可能具有完全相同的結(jié)構(gòu)、條件和模式,并且閾值也很難設置。如果閾值設置得過高,則相當多比例的異常都不能被檢測出,反之,如果極值設置得過低,則這樣技術(shù)會導致在正常狀況下都會有過多的警報。因而,不論花費和復雜性,這種技術(shù)都會導致一些區(qū)域的過度報警、另一些區(qū)域的過低報警,即使這些區(qū)域是隨著一天中的時間變化的。
目前,從代理處所收集到的大部分數(shù)據(jù)都是數(shù)值數(shù)據(jù)。這部分數(shù)據(jù)會隨著變量跟蹤的數(shù)量和所需精度的增加而增加10至100和幾倍。該數(shù)據(jù)最終可以集合、趨勢和容積圖的方式來使用和報告。在大多數(shù)的情況下,并不會使用所收集到的原始數(shù)據(jù)。因此,這些數(shù)據(jù)收集的負擔嚴重限制了可量測性。
這些難點導致了客戶為了獲得精細的閾值而尋求咨詢服務。客戶還需要額外增加對所創(chuàng)建環(huán)境的了解,以便于系統(tǒng)管理者可以改變原先對客戶所制定的規(guī)則,這些規(guī)則包括在組和服務器層次上對沖突解決的政策。例外,客戶還必須對各種實際情況就其個性加深對屬性的了解。
不幸地,這些需求往往都很難實現(xiàn)。大部分系統(tǒng)管理者并不理解在這些系統(tǒng)中變化,也并不理解這些系統(tǒng)本身的內(nèi)部安裝,盡管已經(jīng)設置在十分理想的閾值上。此外,即使對專家來說,要了解大量服務器的個體特性也是件十分繁重的任務?;趩我幌到y(tǒng)的咨詢往往難以解決循環(huán)事件的節(jié)奏而只適合檢測多數(shù)的異常。最終,即使咨詢最初能適合一個特殊系統(tǒng)的需要,但隨著商務循環(huán)和設置的變化,該閾值也很快就會失效。
當前,使用咨詢代理的現(xiàn)有技術(shù)必須涉及到大量的數(shù)據(jù)收集和貯存。而根據(jù)跟蹤變量隨著時間的變化,這些數(shù)據(jù)的數(shù)量會迅速增加。大量的數(shù)據(jù)并不會被采用,并且保持過多的數(shù)據(jù)會限制系統(tǒng)的規(guī)??勺冃浴?br>
所以,我們需要一項既能提供自動異常檢測又能避免上述的難點的技術(shù)。這一技術(shù)應該避免保持過多的數(shù)據(jù)并且應該適用于在各種環(huán)境和處理中發(fā)揮作用。
發(fā)明概述一方面,本發(fā)明提出了一種適用于檢測過程的方法。這種方法包括了建立一個表示過程的特征,持續(xù)地更新所建立的特征,以及在一個不斷更新的特征的基礎上檢測異常。
另一方面,本發(fā)明包含了一種適用于根據(jù)一個表示過程的且不斷更新的信號來檢測異常發(fā)生的方法。該方法包括了持續(xù)監(jiān)測系統(tǒng)的參數(shù),根據(jù)不斷更新信號來計算系統(tǒng)參數(shù)的正常范圍,確定所檢測到的系統(tǒng)參數(shù)是否在正常的范圍內(nèi),以及當所檢測的系統(tǒng)參數(shù)超出了正常范圍時指示所存在的異常。
另一方面,本發(fā)明包含了一種用于創(chuàng)建在計算系統(tǒng)環(huán)境中檢測異常的特征的方法的在處理系統(tǒng)環(huán)境中檢測異常的建立信號的方法。該方法包含了設定一個學習響應常數(shù),監(jiān)測系統(tǒng)參數(shù)并以一個固定的時間間隔來調(diào)節(jié)學習響應常數(shù)直至達到一個理想值。特別地,該方法還包含了計算平均值和每個時間間隔的標準偏移常數(shù),以及學習響應常數(shù)來創(chuàng)建信號。
還有一個方面,本發(fā)明包含了一個適用于檢測在計算環(huán)境中的異常活動的系統(tǒng)。該系統(tǒng)包括了持續(xù)監(jiān)測系統(tǒng)參數(shù),和不斷更新表示系統(tǒng)參數(shù)正常值的特征的檢測工具,以及基于不斷更新的特征進行計算的異常指示器,其中,該異常指示器還包含著表示系統(tǒng)參數(shù)的正常值的區(qū)域。
另一方面,本發(fā)明包含了一個適用于檢測過程的監(jiān)測系統(tǒng)。該監(jiān)測系統(tǒng)包含了一個適用于創(chuàng)建表示過程的特征的特征創(chuàng)建模塊,一個適用于不斷更新特征的特征更新模塊,和一個適用于基于更新的特征偏移常數(shù)來檢測異常的異常檢測模塊。
附圖概述以下將結(jié)合附圖詳細討論本發(fā)明,附圖包括
圖1是一個可以實現(xiàn)本發(fā)明的示例性計算環(huán)境;圖2是說明本發(fā)明一個實施例的系統(tǒng)結(jié)構(gòu)的示意圖;圖3是說明根據(jù)本發(fā)明實施例方法的流程圖。
圖4A是說明適用于根據(jù)本發(fā)明實施例創(chuàng)建特征的方法的部分流程圖;圖4B是說明適用于根據(jù)本發(fā)明實施例創(chuàng)建特征的方法的另一過程的流程圖;圖5是說明適用于根據(jù)本發(fā)明實施例更新特征的方法的流程圖;圖6是說明適用于根據(jù)本發(fā)明實施例獲得特征組件的方法的流程圖;圖7是說明適用于根據(jù)本發(fā)明實施例獲得另一特征組件的方法的流程圖;圖8是說明適用于根據(jù)本發(fā)明實施例檢測異常的方法的流程圖;圖9A包含了特征更新過程的示意圖;圖9B說明采用一個簡單信號進行比較的預先計算的信號。用發(fā)明的具體描述本發(fā)明的實施例顯示了適用于檢測在一個計算機化的系統(tǒng)或事務過程中的異常的一種系統(tǒng)和方法。本發(fā)明的實施例具有持續(xù)檢測計算系統(tǒng)或事務處理過程,創(chuàng)建和不斷更新描述系統(tǒng)或過程的特征,和基于更新的信號來診斷計算系統(tǒng)或事件過程中所出現(xiàn)異常的能力。
本發(fā)明中的系統(tǒng)和方法構(gòu)建并持續(xù)更新一個包含跟隨一定的商務周期的時變信號的特征。該特征至少包含了兩個用途(1)當異常發(fā)生時,能夠識別出該異常;和(2)從最后的商務周期的取樣中計算一個更新的特征。該系統(tǒng)不再需要存貯原始的歷史數(shù)據(jù)。
已經(jīng)簡要地介紹了本發(fā)明,以下將參考圖1-9來討論本發(fā)明的實施例。以下將討論一個適用于本發(fā)明的示例性操作環(huán)境。
操作環(huán)境的實例圖1說明了一個能夠?qū)崿F(xiàn)本發(fā)明的適用的計算系統(tǒng)環(huán)境100的實例。計算系統(tǒng)環(huán)境100只是一個適用的計算環(huán)境的實例,并不試圖對本發(fā)明的使用范圍或功能形成任何限制。無需將計算環(huán)境100解釋為具有依賴性,或者要求如典型的操作系統(tǒng)100中所描述的一種元件或元件的組合。
本發(fā)明可以采用諸如計算機可執(zhí)行程序模塊的計算機可執(zhí)行指令的一般背景來討論。一般來說,程序模塊可以包括例程、程序、對象、元件、數(shù)據(jù)結(jié)構(gòu)等等,它們可以執(zhí)行特殊的任務或?qū)崿F(xiàn)特殊的抽象數(shù)據(jù)結(jié)構(gòu)。此外,本領域熟練技術(shù)認識應該意識到,本發(fā)明也可以采用其它計算機系統(tǒng)結(jié)構(gòu)來實現(xiàn),包括,手持設備、多處理器系統(tǒng)、基于微處理器或者可編程消費電子設備、小型計算機、大型計算機,以及其它等等。本發(fā)明也可以分布計式算環(huán)境來實現(xiàn),在分布式計算環(huán)境中,任務是由通過通訊網(wǎng)絡相連接的遠程處理設備來執(zhí)行。在分布計算環(huán)境中,程序模塊都可以被放置在包括存儲器存儲設備的本機或遠程計算機存儲介質(zhì)。
參考圖1,實現(xiàn)本發(fā)明的示例性系統(tǒng)100包括一臺采用計算機110結(jié)構(gòu)的通用計算設備,它包括一個處理單元120、一個系統(tǒng)存儲器130、以及一個將包括系統(tǒng)存儲器的各種系統(tǒng)組件與處理單元120相耦合的系統(tǒng)總線121。
計算機110一般包括多種計算機可讀介質(zhì)。作為一個實例,但并不限制于,計算機可讀介質(zhì)可以包括計算機存儲介質(zhì)和通訊介質(zhì)。系統(tǒng)存儲器130包括采用易失性和/或非易失性存儲器形式的計算機存儲介質(zhì),例如,只讀存儲器(ROM)131和隨機存儲器(RAM)132。基本輸入/輸出系統(tǒng)133(BIOS)包含著有助于在啟動期間在計算機110中的各個元件之間傳遞信息的基本例程,它一般存儲于ROM 131。RAM 132一般包含著由處理單元120即時存取和/或當前已被操作的數(shù)據(jù)和/或程序模塊。作為一個實例,但并不限制于,圖1圖示了操作系統(tǒng)134、應用程序135、其它程序模塊136,以及程序數(shù)據(jù)137。
計算機110也可以包括其它可移動/不可移動性、易失性/非易失性計算機存儲介質(zhì)。作為一個實例,圖1圖示了一個可讀寫、不可移動、非易失性的磁性介質(zhì)的硬盤驅(qū)動器141,一個可讀寫、可移動、非易失性的磁盤152的磁盤驅(qū)動器151,以及一個可讀寫、可移動、非易失性的光盤156(例如,CD ROM或其它光介質(zhì))的光盤驅(qū)動器155。在示例性操作環(huán)境中還可以使用其它可移動/不可移動性、易失性/非易失性的計算機存儲介質(zhì),這些計算機存儲介質(zhì)可以包括,但并不限制于,磁帶盒、閃存存儲卡、數(shù)字通用盤、數(shù)字視頻帶、固態(tài)RAM、固態(tài)ROM、以及其它等等。硬盤驅(qū)動器141一般通過一個不可移動性存儲器接口(例如,接口140)與系統(tǒng)總線121相耦合;磁盤驅(qū)動器151和光盤驅(qū)動器155一般可采用一個可移動性存儲器接口(例如,接口150)與系統(tǒng)總線121相耦合。
以上所討論的且如圖1所示的驅(qū)動器以及它們相關的計算機存儲介質(zhì)提供了適用于計算機110的計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊和其它數(shù)據(jù)的存儲。例如,在圖1中,所說明的硬盤驅(qū)動器141用于存儲操作系統(tǒng)144、應用程序145、其它程序模塊146,以及程序數(shù)據(jù)147。值得注意的是,這些元件既可以是相同于也可以不同于操作系統(tǒng)134、應用程序135、其它程序模塊136、以及程序數(shù)據(jù)137。操作系統(tǒng)144、應用程序145、其它程序模塊146,以及程序數(shù)據(jù)147在本文中采用不同的數(shù)值只是為了說明,起碼它們是不同的拷貝。用戶可以提供輸入設備向計算機110輸入命令和信息,這些輸入設備可包括鍵盤162和指點設備161,通常也稱之為鼠標器、跟蹤球或觸摸墊。其它輸入設備(未顯示)可以包括麥克風、操縱桿、游戲墊、衛(wèi)星式圓盤、掃描儀、以及其它等等。這些和其它輸入設備通常都通過一個與系統(tǒng)總線相耦合的用戶輸入接口160連接著處理單元120,但是也可以采用其它接口和系統(tǒng)總線來連接處理單元,例如,并行端口、游戲端口或者通用串行總線(USB)。監(jiān)視器191或其它類型顯示設備也可以通過一個接口,例如,視頻接口,與系統(tǒng)總線121相連接。除了監(jiān)視器以外,計算機也可以包括其它外圍輸出設備,例如,揚聲器197和打印機196,這些外圍輸出設備可以通過一個輸出外圍接口195相連接。
在本發(fā)明中,計算機110可以一個網(wǎng)絡環(huán)境來操作,它可使用邏輯連接的方式來連接一個或多個遠程計算機,例如,遠程計算機180。遠程計算機180可以是個人計算機,并且一般包括上述許多或所有的與計算機110有關的組件,盡管在圖1中只是討論了存儲器存儲設備181。圖1所說明的邏輯連接可包括一種局域網(wǎng)(LAN)171和一種廣域網(wǎng)(WAN)173,但也可以包括其它網(wǎng)絡。
在LAN網(wǎng)絡環(huán)境中使用時,計算機110可通過一個網(wǎng)絡接口或適配器170來連接LAN 171。在WAN網(wǎng)絡環(huán)境中使用時,計算機110一般包括一個調(diào)制解調(diào)器172或者其它用于建立與WAN 173(例如,因特網(wǎng))通訊的裝置。調(diào)制解調(diào)器172可以是內(nèi)置的或外置的,它可以通過用戶輸入接口160或者其它合適的機制來連接系統(tǒng)總線121。在一個網(wǎng)絡環(huán)境中,與計算機110有關的所述程序模塊,或者其部分程序模塊,都可以存儲于遠程存儲器存儲設備。作為一個實例,但并不限制于,圖1所說明的遠程應用程序185可駐留于存儲器設備181。應該意識到的是,所示的網(wǎng)絡連接只是示例性的,也可以使用其它建立在計算機之間通訊鏈路的部件。
盡管沒有顯示很多計算機110的其它內(nèi)部組件,但本領域的熟練技術(shù)人士應該意識到,這類組件和互連方式都是眾所周知的。因此,并不需要在與本發(fā)明的相關披露中給出與計算機110的內(nèi)部連接有關的其它細節(jié)。
系統(tǒng)實施例圖2是說明本發(fā)明一個實施例的系統(tǒng)組件的方框圖。監(jiān)視系統(tǒng)10連接著系統(tǒng)40,用于監(jiān)視所選擇參數(shù)。監(jiān)視系統(tǒng)10可以包括一個處理器12、一個網(wǎng)絡接口14、一個操作接口16、和一個存儲器20。處理器12、網(wǎng)絡接口14和存儲器20可以基本類似于以上參考圖1所討論的。存儲器20可以包括一個特征創(chuàng)建模塊22、一個特征更新模塊24,以及一個異常檢測模塊26。
上述所標識的組件可進行測量多個系統(tǒng)相關變量的操作。這些變量中的一些變量可以是時變的數(shù)值變量。也許要測量的一個變量是一個用于測量同時對話或事務處理數(shù)量的使用變量。使用變量提供了一種從它的消費者施加到系統(tǒng)的強度的指示。使用變量的實例包括(1)用戶同時注冊的數(shù)量;(2)每秒事務請求的數(shù)量;(3)請求到達的速率;(4)每秒接受到的數(shù)據(jù)包;和(5)每秒的Web網(wǎng)頁點擊數(shù)量。在最產(chǎn)品化的環(huán)境中,使用可遵循在營業(yè)時間中上升而在非營業(yè)時間中和周末下降等等的商務周期模式。一周為周期的模式通常都具有非常一致的模式。一般來說,大大超過或低于正常數(shù)值的使用測量是故障或一個異常的標志器。
另一組系統(tǒng)標量與利用率有關。這些變量表示了在施加任務時系統(tǒng)的應變能力。這些變量的實例包括(1)CPU的利用率;(2)隊列的長度;(3)每秒所切換的任務;(4)存儲器的利用率,等等。利用率通常是使用的函數(shù),因此,它也遵循著以上所討論的商務周期。然而,這些變量并不能以同樣方式來管理所有方面的使用。例如,在一簇內(nèi)的所有結(jié)點上的隊列長度或CPU利用的總和是沒有意義的。通常,大大超過或者低于正常的利用率都是一種故障和異常的反映。
另一組系統(tǒng)變量包含著出錯和警告。在大多數(shù)情況下,這些出錯或警告都是故障或錯誤配置的結(jié)果。出錯或警告的實例可包括(1)不正常形成的請求;(2)一致校驗錯誤;(3)404錯誤;(4)臨界的時間;(5)登錄上網(wǎng)的錯誤,等等。某些出錯是“正?!钡?。“正?!眱Τ鲥e的實例包括(1)在過載時,由設計作出的路由器丟失數(shù)據(jù)包;(2)一個可接受的WAN的比特差錯率;(3)由于持續(xù)變換完Web內(nèi)容所引起的給出404出錯的頁面;以及(4)某些用戶在登錄時輸入錯誤的用戶名/口令。因此,即有規(guī)則的出錯具有一個“正?!钡哪J?。
上述提及的變量可以是對服務請求的翻轉(zhuǎn)時間的測量。這類服務和請求的實例可以包括(1)發(fā)出響應的時間;(2)處理事務的響應時間;(3)硬盤的寫入響應時間,等等??蛻艨梢暂斎肱c服務器提供者達成的操作層的協(xié)議(OLA),以將翻轉(zhuǎn)的時間保持在一個可接受的水平上。整個響應時間是與使用有關的,這一關系是非線性的。響應時間也隨著差錯率而迅速增加。
圖3是說明根據(jù)本發(fā)明一個實施例的方法的流程圖。在過程A中,監(jiān)測系統(tǒng)10創(chuàng)建了一個特征。在過程B中,監(jiān)測系統(tǒng)10更新該特征。在過程C中,監(jiān)測系統(tǒng)10檢測和報告異常。
在以上所提及的特征中涉及到一種比所公知的閾值技術(shù)能夠一些組件成為更加精確地檢測異常機制的組件。特征的一個組成分量是“平均”數(shù)值。使用平均數(shù)值的技術(shù)可以包含著簡單地取樣所有相關變量并且保持著它們以平均值進行運算。如果新的取樣不在該平均值的“合理范圍”內(nèi),則該新的取樣將顯露為一個相關的異常。然而,由于在峰值使用期間相對于非工作時間,平均值中會存在著大的差異,所以系統(tǒng)使用了更精細的平均值概念,以便于獲得所需的精度。
特征將因此而使用隨時間平均的概念。隨時間平均的概念包含著周期性取樣變量和以不同的時間間隔來計算平均值。例如,監(jiān)測系統(tǒng)可以每間隔三分鐘取樣變量,并且以十五分鐘的時間間隔來計算一周的平均值。該系統(tǒng)可以信號的方式來存儲和使用該特征。
當系統(tǒng)要求新的取樣時,它就計算十五分鐘的平均值,且將該數(shù)值與“特征”相比較。該比較可以使系統(tǒng)產(chǎn)生一個標志異常。時間敏感的變量考慮了在商務周期中的變量。然而,系統(tǒng)還應該確定圍繞平均值的合理范圍,在該合理范圍中,相信是不會發(fā)生任何異常的。
盡管也許可以使用一個恒定的數(shù)值作為一個“合理的”范圍,但是一個恒定數(shù)值的使用可能會引起一些困難。例如,銀行可以在每天的下午7點鐘打烊。但是銀行職員在離開之前必須進行夜間處理。某些天可能會涉及到比其它天更多的存單。因此,在7:30-8:00之間的處理速率是非常難以預測的。這時,使用一個恒定數(shù)值作為一個合理范圍會在這一不穩(wěn)定的時間周期中產(chǎn)生大量變化,并且增加該數(shù)量具有失去在其它位置上的合理區(qū)別。對這種情況來說,在平均值附近的恒定包絡將是不準確的。
因此,特征使用標準偏差來測量一個合理的范圍。該特征使用適用于每一時間間隔的標準偏差,并以一個倍數(shù)來表示包絡或合理的范圍。因此,該包絡或合理范圍可以是在每周的商務周期中在偏移時間附近的更大的范圍內(nèi),并且更緊密圍繞正常的時間。標準偏差可以采用以下表達式來表示(1)σ2=1/N((Xi-Xavg)2的和)式中N是取樣的數(shù)量,Xi是當前的平均值,Xavg是計算的平均值。
在這種情況下,信號可表示成一個平均和標準偏差的各個事件的時間間隔的矩陣。該包絡可以表示為(2)包絡=Xavg+/-F*σ2,式中,F(xiàn)是容差。
方法實施例圖4A和圖4B還說明了在圖3流程A中所執(zhí)行的特征的創(chuàng)建。信號的創(chuàng)建是使用兩種同時應用的方法來完成的。這兩種方法包括一種加速學習的組件和一種假裝重復的組件。圖4A說明了一種促進學習的元件,而圖4B說明了一種假裝重復的元件。
圖4A是說明根據(jù)本發(fā)明一個實施例創(chuàng)建一個特征的方法的流程圖。在步驟A10,監(jiān)測系統(tǒng)10設置學習響應的比率。在步驟A12,以一個預先設置的時間間隔來增加學習響應比率。如果在步驟A14達到了所希望的學習響應比率的所希望數(shù)值,則該處理就結(jié)束。如果還沒有達到所希望的數(shù)值,則在步驟A12以所設置的時間間隔來重復增加學習響應比率。當學習響應比率達到一個所需的數(shù)值時,就結(jié)束該處理過程。例如,在一個第一學習周的期間,監(jiān)測系統(tǒng)可將“1/學習響應常數(shù)”設置成0。在下一周,監(jiān)測響應系統(tǒng)可將該比率設置成1,隨后2以及其它等等,直至達到一個所需的設置比率。該處理過程將在沒有充分的歷史的情況下加速了學習。但當建立的足夠的歷史時,該比率可自動調(diào)整到所需要的目標。
圖4B是說明根據(jù)本發(fā)明一個實施例創(chuàng)建一個特征的方法的另一流程圖。在步驟A20,監(jiān)測系統(tǒng)10的征創(chuàng)建模塊22選擇數(shù)據(jù)并計算適用于設置時間間隔的平均數(shù)據(jù)數(shù)值。在步驟A22,特征創(chuàng)建模塊22計算適用于設置時間間隔的標準偏差。在步驟A24,特征創(chuàng)建模塊22使用所計算的平均值和標準偏差來創(chuàng)建特征。在步驟A26,特征創(chuàng)建模塊22使用適用于一個學習周期的已創(chuàng)建的特征。
初始時運行的平均值和偏差值可以在第一天之后的每一天的所有特征中重復,使得這一天的信號在一周中重復,從這時開始就繼續(xù)正常的特征的更新。在第一周,該特征的出現(xiàn)接近于一天的直接帶寬,重復每一天來包絡第二天,并且在一周的周末來產(chǎn)生一個典型的特征。早期的特征可能會產(chǎn)生一些假的正面結(jié)論,但是這將以它包含的方式提供更加正確的信息。
圖5是說明根據(jù)本發(fā)明一個實施例更新特征的流程圖。在步驟B02,特征更新模塊24以一個設置的時間間隔來取樣所選擇的變量。在步驟B04,征更新模塊24計算適用于所設置時間間隔的平均值。在步驟B06,特征更新模塊24計算用于設置時間間隔的標準偏差。在步驟B08,特征更新模塊24基于老的特征、所計算的平均值和標準偏差來創(chuàng)建一個新的特征。
上述所討論的隨時間而變化的學習處理過程將考慮隨時間而增加的商務量的變化。但是,這必須確保某些時間在某些情況下可以具有比其它時間更強的加權(quán)。例如,每間隔三個月的一個周五所發(fā)生的,被稱之為“三倍魅力的時間”的大量安全傭金的經(jīng)歷。在另一實例中,以較低的商務容量開始最新打開的存儲。然而,隨著該詞的擴展到它的第一年,就可以存儲更多的商務。該特征應該確保最后所產(chǎn)生的數(shù)據(jù)比早期所產(chǎn)生的數(shù)據(jù)更具有影響。因此,系統(tǒng)應該可以在一個長的時間周期中自動學習和自身調(diào)整。
系統(tǒng)可以使用在當前數(shù)據(jù)和特征數(shù)值之間的加權(quán)平均來實現(xiàn)這一目標。如果周三在4:00和4:15之間的平均和標準偏差分別為XCavg和σC,而周三在4:00和4:15之間的信號分別是XSavg和σS,則新的信號數(shù)值可以由下列表達式來表示(3)新的XSavg=W1*(XSavg)+X2*(XCavg)
(4)新的σS2=W1*(σ2+XSavg2)+W2(σC2+XCavg2)-(新的XCavg2)該模式設置W1+W2=1,式中W1是特征的加權(quán),而W2是當前數(shù)據(jù)的加權(quán)。W2/W1是以上所討論的學習響應常數(shù)比率。該數(shù)值越大,則所產(chǎn)生的學習越快,且過去所使用的存儲器就變得越模糊。例如,如果W1=2/3和W2=1/3,則當天數(shù)據(jù)的影響將是當天的三分之一,下一周的九分之二,以及再下一周的二十七分之四,等等。
以上所討論的技術(shù)計算上是非常有效的,因為它只允許使用一個當前的數(shù)據(jù)來更新該特征。系統(tǒng)并不需要保留大量的老的數(shù)據(jù)。
圖6是說明根據(jù)本發(fā)明一個實施例適用于獲得特征分量的上述方法的流程圖。在步驟B10,監(jiān)測系統(tǒng)10將一個特征平均值與一個第一加權(quán)因子相乘。在步驟B12,監(jiān)測系統(tǒng)將新計算的平均值與一個第二加權(quán)因子相乘。在步驟B14,監(jiān)測系統(tǒng)10將步驟B12和步驟B10所得到的結(jié)果相加。
圖7是說明根據(jù)本發(fā)明一個實施例適用于獲得另一特征分量的方法的流程圖。在步驟B20,監(jiān)測系統(tǒng)將平方根特征平均值和平方根標準偏差值相加。在步驟B22,監(jiān)測系統(tǒng)10將步驟B20的和與第一加權(quán)因子相乘。在步驟B22,測系統(tǒng)10將當前的平方根平均值和當前的平方根標準偏差相加。在步驟B26,監(jiān)測系統(tǒng)將B24的和與一個第二加權(quán)因子相乘。在步驟B28,監(jiān)測系統(tǒng)將B24的因子與特征因子相加。在步驟B20,監(jiān)測系統(tǒng)減去新的特征平均的平方根。
以上所討論的因子有助于精細調(diào)整特征,以考慮在幅值上的變化。另一性能可以提供確保該特征可以精確反映在發(fā)生時間上的變化。事件的發(fā)生往往是比所希望的時間早些或晚些,例如,如果暴風雪延遲了半小時到來,就會注冊登記大量的警報。該系統(tǒng)可通過計算在一個間隔時間上的運動平均值和偏差值,并且根據(jù)在一個跨越當前時間的較寬時間間隔上所計算的信號進行比較。
例如,如果系統(tǒng)在4:15是每隔3分鐘取樣一個數(shù)據(jù),則可以從過去10個樣本中(從3:45至4:15)計算運動平均值,并且與在4:30計算20個樣本中(從3:30計算到4:30)的信號數(shù)值進行比較。這樣,可以標志在當前和既往之間的唯一差別,同時在時間間隔中的向后或向前的任何偏移都不會得到假的確定。兩個常數(shù),抖動擴展和抖動偏差都可以作為控制來介紹。在這種情況下,擴展是30分鐘,而偏移是15分鐘。在這種情況下的時間容差可以選擇為1小時(抖動擴展+兩個時間偏移)。因此,比由特征所期望的時間早或晚半小時所產(chǎn)生的一大的尖峰并不會引起假的確定異常。在嚴格的管轄事務中,時間上的容差可能是很緊的。
圖8是說明根據(jù)本發(fā)明一個實施例適用于檢測異常的方法的流程圖。在步驟C10,異常監(jiān)測模塊26計算正常數(shù)值的范圍。在步驟C12,異常監(jiān)測模塊26將所計算的范圍與一個運動平均值相比較。在步驟C14,異常監(jiān)測模塊確定運動平均值是否在正常范圍之外。如果平均值是在步驟C14的正常范圍之外,則異常監(jiān)測模塊就中止。如果平均值是在步驟C14的正常范圍之外,則異常監(jiān)測模塊26就標志異常,并且重復該處理過程。如果平均值不在步驟C14的正常范圍之外,則重復該處理過程。
正常和異常都是主觀的判斷??蛻粝M幸粋€衰減控制能標志異常數(shù)值只能直到客戶可以管理的程度上。正如主動和學習監(jiān)測成功之后,客戶可以從校正后現(xiàn)有異常中獲取更多的系統(tǒng)管理資源,以便于主動監(jiān)測。
本發(fā)明的系統(tǒng)和方法可以在從統(tǒng)計上確??蛻裟芗皶r獲得他們所要的警報。例如,一個具有1,000臺計算機的安裝,每間隔15分鐘的100個計時器的取樣在一天中的警報接近于10,000,000(1千萬)個機會。如果客戶要將警報限制于每天100個,客戶就需要適當?shù)卦O置容差F。
某些客戶也許喜歡使用F1、F2和F3來乘以包絡,以適用于諸如信息、警告和臨界的不同包絡。某些其它客戶也許會選擇具有不同過沖和下沖的包絡。由大多數(shù)設備所產(chǎn)生的原始變量都具有它們各自的特性。這種特性可分為以下幾類(1)運行滾動翻轉(zhuǎn)的計數(shù)器;(2)突發(fā)脈沖串式取樣數(shù)據(jù);以及(3)單調(diào)性增加/減小絕對數(shù)據(jù)。
在運行滾動翻轉(zhuǎn)的計數(shù)的第一種情況下,計數(shù)器只能提供運行的計數(shù)。需要數(shù)據(jù)的客戶希望能隨著時間產(chǎn)生兩個瞬態(tài)圖,并且計算其差異和速率。由于計數(shù)器會從一個最大數(shù)值翻轉(zhuǎn)至零,所以這樣的計算就會變得有點復雜。
在突發(fā)脈沖式取樣數(shù)據(jù)的第二種情況下,所采集到的數(shù)據(jù)可能都是一些尖峰信號。使用這種數(shù)據(jù)的唯一方法是計算在固定時間周期之間的曲線下的面積。
在單調(diào)性增加/減小絕對數(shù)據(jù)的情況下,某些變量趨向于恒定的增加和減小,使得每周的事務周期失去了意義。在這種情況下,預處理應該報告隨著時間變化的速率,例如,便于檢測失控的程序是否會突然填滿磁盤空間。
基于以上所討論的變量和方法,一種特征模式可以采用等式5和6來討論(5)NewXS(t)=(L/1+L)*XS(t)+(1/1+L)*(XCmovingavg(t,時間容差))
(6)(NewσS(t))2=(L/1+L)*(σS(t)2+XS(t)2+(1/1+L)*((σS(t,時間容差))2+(XCmovingavg(t,時間容差))2-(NewXS(t))2在以上提供的特征中,XC(t)是時間變量數(shù)值的變量。XS(t)和σS(t)是變量XC(t)的預先計算特征的分量。XCmovingavg(t,ΔT)是XC(t)在t-ΔT和t之間的時間周期中的移動平均值。SigmaC(t,ΔT)是XC(t)在t-ΔT和t之間的時間周期中的標準偏差。1/L是以下所討論的學習響應速率。
可基于以下與特征有關的表達式來計算異常。XC(t)是異常的條件(7)XCmovingavg(t,抖動展開)<[XS(t+抖動偏置)-F*σS(t+抖動偏置)]或(8)XCmovingavg(t,抖動展開)<[XS(t+抖動偏置)+F*σS(t+抖動偏置)]由上述表達式(7)所描述的第一背離情況可稱之為下沖,而由上述表達式(8)所描述的第二背離情況可稱之為過沖。抖動擴展是以上所討論的抖動的擴展,而抖動偏置是以上所討論的抖動的偏差。時間容差等于(2*抖動偏置+抖動展開),而F是其容差。
圖9A圖示了特征更新處理過程。圖9A包括取樣讀取2。該經(jīng)取樣的讀取2包括了表示經(jīng)取樣的數(shù)值XC(t)。圖9A也包括一個特征4。中間曲線204表示XS(t),平均特征數(shù)值。上曲線206表示了最上面的正常數(shù)值,下曲線208表示了最下面的正常數(shù)值。圖9A也包括一個更新特征6。該更新特征6包括了表示在考慮取樣數(shù)值XS(t)后的XS(t)的曲線210,以及有曲線212表示的上正常限制和由曲線214表示的下正常限制。
圖9B說明了原先計算的信號216和取樣信號218的比較。取樣信號218在兩點上超過了上正常限制以及在一點上超過了下正常限制。由此可見,該比較有助于辨別過沖和下沖。
確定異常的源正如以上所討論的,本發(fā)明的方法和系統(tǒng)的實施例監(jiān)測系統(tǒng)的異常參數(shù)。系統(tǒng)和方法將數(shù)值數(shù)據(jù)碼流轉(zhuǎn)換成表示適用于任何處理過程的正?;虍惓P袨榈臓顟B(tài)。此外,正如以下表1所示,根據(jù)跟蹤的處理變量的類型,可以發(fā)現(xiàn)四個子狀態(tài)。
監(jiān)測方法也便于根原因的分析,從而在檢測的過程中,可以通過確定和校正根原因來消除異常。根原因分析取決于以下從一個系統(tǒng)或子系統(tǒng)到其它子系統(tǒng)或系統(tǒng)的故障/異常檢測鏈。根原因分析所具有的規(guī)則類型(1)在類型1系統(tǒng)中的類型F1的異??梢允怯上嗤到y(tǒng)中的類型F2的異常引起;以及(2)在類型1系統(tǒng)中的類型F1的異常可以是由類型2系統(tǒng)中的類型F2的異常引起,只要系統(tǒng)1和系統(tǒng)2具有類型R1的關系。
根原因分析取決于識別那一個系統(tǒng)的那一個方面是異常的。特別是,在一個系統(tǒng)中,如果適用于檢測異常的系統(tǒng)檢測包括在一個特殊狀態(tài)中的使用、利用率、差錯以及響應的參數(shù),則單純知識規(guī)則就可以解釋根原因。這些單純的知識規(guī)則可以以下表1所闡述。
表1在本文詳細說明和討論本發(fā)明的特殊實施例的同時,應該理解的是,可以在不背離本發(fā)明的范圍和目的的條件下,對本發(fā)明進行各種變化和改進。本文所討論的實施例旨在以各個方面進行說明,并不是限制。很顯然,對本領域的熟練技術(shù)人士來說,其它實施例也都屬于本發(fā)明且不背離本發(fā)明的范圍。
從以上的討論中,可以看到,本發(fā)明可以較好地獲得以上所討論的各種結(jié)果和目的,以及其它優(yōu)點,這些對系統(tǒng)和方法來說都是顯而易見的和固有的。應該理解的是,某些性能和子組合都是有用的,并且可以無需參考其它性能和子組合來采用。這是所預期的且在附加權(quán)利要求的范圍之內(nèi)。
權(quán)利要求
1.一種適用于監(jiān)視處理過程的方法,該方法包括創(chuàng)建一個表示處理過程的特征;不斷地更新所創(chuàng)建的特征;以及根據(jù)所不斷更新的特征來檢測異常。
2.如權(quán)利要求1所述方法,其特征在于,創(chuàng)建一個特征包括計算一個平均值和一個標準偏差。
3.如權(quán)利要求2所述方法,其特征在于,創(chuàng)建一個特征包括通過增量增加一個學習響應比率來加速學習。
4.如權(quán)利要求2所述方法,其特征在于,創(chuàng)建一個特征包括通過多個時間間隔來初始重復運行平均和標準偏差。
5.如權(quán)利要求1所述方法,其特征在于,更新所創(chuàng)建的特征包括使用一個加權(quán)因子來確保當前所記錄的數(shù)據(jù)比老數(shù)據(jù)具有更大的影響。
6.如權(quán)利要求1所述方法,其特征在于,更新所創(chuàng)建的特征包括利用一個隨時間而變化的移動平均值來考慮在不希望時間上所產(chǎn)生的事件。
7.如權(quán)利要求1所述方法,其特征在于,檢測異常包括確定所測量的數(shù)值是否在上閾值以上還是在下閾值之下。
8.如權(quán)利要求1所述方法,其特征在于,還包括根據(jù)抖動偏置來計算上和下閾值限制。
9.一種具有適用于執(zhí)行權(quán)利要求1所述方法的計算機可執(zhí)行指令的計算機可讀介質(zhì)。
10.一種適用于根據(jù)一個表示處理過程的不斷更新特征來檢測在處理過程中所發(fā)生異常的方法,該方法包括連續(xù)監(jiān)視一個系統(tǒng)參數(shù);根據(jù)該不斷更新的特征來計算一個適用于該系統(tǒng)參數(shù)的數(shù)值的正常范圍;確定所監(jiān)視的系統(tǒng)參數(shù)是否在該正常的范圍之內(nèi);以及如果所監(jiān)視到的系統(tǒng)參數(shù)是在該正常范圍之外就指示一個異常存在。
11.如權(quán)利要求10所述方法,其特征在于,還包括通過計算一個平均值和一個標準偏差來創(chuàng)建一個特征。
12.如權(quán)利要求11所述方法,其特征在于,創(chuàng)建一個特征包括通過增量增加一個學習響應比率來加速學習。
13.如權(quán)利要求11所述方法,其特征在于,創(chuàng)建一個特征包括通過多個時間間隔來初始重復運行平均和標準偏差。
14.如權(quán)利要求10所述方法,其特征在于,計算值的正常范圍包括使用一個加權(quán)因子來確保當前所記錄的數(shù)據(jù)具有比老數(shù)據(jù)更大的影響。
15.如權(quán)利要求10所述方法,其特征在于,計算值的正常范圍包括利用一個隨時間而變化的動平均值來考慮在不希望時間上所產(chǎn)生的事件。
16.如權(quán)利要求移10所述方法,其特征在于,確定所監(jiān)視系統(tǒng)參數(shù)是否在一個值的正常范圍之內(nèi)包括確定所監(jiān)視系統(tǒng)的參數(shù)是在一個上閾值以上還是在一個下閾值之下。
17.如權(quán)利要求16所述方法,其特征在于,還包括根據(jù)抖動偏置來計算上和下閾值限制。
18.一種具有適用于執(zhí)行權(quán)利要求10所述方法的計算機可執(zhí)行指令的計算機可讀介質(zhì)。
19.一種適用于創(chuàng)建一個對檢測在一個計算系統(tǒng)環(huán)境中的異常有用的特征的方法,該方法包括設置一個學習響應速率;監(jiān)視一個系統(tǒng)參數(shù);以一個固定的時間間隔來調(diào)整學習響應速率,直至達到一個所需的數(shù)值;計算用于各個時間間隔的平均值和標準偏差;使用平均值、標準偏差和學習響應速率來創(chuàng)建特征。
20.如權(quán)利要求19所述方法,其特征在于,還包括不斷更新所創(chuàng)建的特征。
21.如權(quán)利要求20所述方法,其特征在于,還包括根據(jù)所更新的特征來檢測異常。
22.如權(quán)利要求19所述方法,其特征在于,創(chuàng)建一個特征包括通過多個時間間隔來初始重復運行平均和標準偏差。
23.如權(quán)利要求20所述方法,其特征在于,更新所創(chuàng)建的特征包括使用一個加權(quán)因子來確保當前所記錄的數(shù)據(jù)具有比老數(shù)據(jù)更大的影響。
24.如權(quán)利要求20所述方法,其特征在于,更新所創(chuàng)建的特征包括利用一個隨時間而變化的移動平均值來考慮在不希望時間上所產(chǎn)生的事件。
25.如權(quán)利要求21所述方法,其特征在于,確定異常包括確定所測量的值是在一個上閾值以上還是在一個下閾值之下。
26.如權(quán)利要求21所述方法,其特征在于,還包括根據(jù)抖動偏置來計算上和下閾值限制。
27.一種具有用于執(zhí)行權(quán)利要求19所述方法的計算機可執(zhí)行指令的計算機可讀介質(zhì)。
28.一種用于檢測在計算化環(huán)境中的異?;顒拥南到y(tǒng),該系統(tǒng)包括用于連續(xù)監(jiān)視一個系統(tǒng)參數(shù)的監(jiān)視工具,一個表示該系統(tǒng)參數(shù)的正常數(shù)值的不斷更新的特征;以及一個根據(jù)所不斷更新的征進行計算的異常指示符;該異常指示符包括一個用于該系統(tǒng)參數(shù)的正常值范圍。
29.如權(quán)利要求28所述系統(tǒng),其特征在于,所述不斷更新的特征包括一個平均值和標準偏差。
30.如權(quán)利要求28所述系統(tǒng),其特征在于,所述不斷更新的特征包括使用一個加權(quán)因子來確保當前所記錄的數(shù)據(jù)具有比老數(shù)據(jù)更大的影響。
31.如權(quán)利要求28所述系統(tǒng),其特征在于,所述不斷更新的特征包括利用一個隨時間而變化的移動平均值來考慮在不希望時間上所產(chǎn)生的事件。
32.如權(quán)利要求28所述系統(tǒng),其特征在于,所述異常指示符確定一個監(jiān)視系統(tǒng)參數(shù)是否在一個值的正常范圍之內(nèi)以及所監(jiān)視的系統(tǒng)參數(shù)是在一個上閾值以上還是在一個下閾值之下。
33.如權(quán)利要求28所述系統(tǒng),其特征在于,所述異常指示符根據(jù)抖動偏置來計算上和下閾值限制。
34.一種適用于監(jiān)視一個處理過程的監(jiān)視系統(tǒng),該監(jiān)視系統(tǒng)包括一個用于創(chuàng)建一個表示該處理過程的特征的特征創(chuàng)建模塊;一個用于不斷更新所創(chuàng)建特征的特征更新模塊;以及一個用于根據(jù)更新特征的偏差來檢測異常的異常檢測模塊。
35.如權(quán)利要求34所述系統(tǒng),其特征在于,所述特征創(chuàng)建模塊包括用于計算一個平均值和一個標準偏差的工具。
36.如權(quán)利要求35所述系統(tǒng),其特征在于,所述特征創(chuàng)建模塊包括用于通過增量增加一個學習響應比率而執(zhí)行加速學習的工具。
37.如權(quán)利要求35所述系統(tǒng),其特征在于,創(chuàng)建一個特征包括通過多個時間間隔來初始重復運行平均和標準偏差。
38.如權(quán)利要求35所述系統(tǒng),其特征在于,所述特征更新模塊包括使用一個加權(quán)因子來確保當前所記錄的數(shù)據(jù)具有比老數(shù)據(jù)更大的影響。
39.如權(quán)利要求34所述系統(tǒng),其特征在于,所述特征更新模塊包括用于計算隨時間變化的移動平均值來考慮在不希望時間上所產(chǎn)生的事件的工具。
40.如權(quán)利要求34所述系統(tǒng),其特征在于,所述異常檢測模塊確定所監(jiān)視的系統(tǒng)參數(shù)是在一個上閾值以上還是在一個下閾值之下。
41.如權(quán)利要求34所述系統(tǒng),其特征在于,所述異常檢測模塊包括一種適用于根據(jù)抖動偏置來計算上和下閾值限制的機制。
42.一種用于區(qū)別在處理過程中正常和異常行為的方法,該方法包括監(jiān)視一個系統(tǒng)參數(shù);將一個表示被監(jiān)測的系統(tǒng)參數(shù)的數(shù)值數(shù)據(jù)流轉(zhuǎn)換成用于處理過程的狀態(tài);以及根據(jù)該狀態(tài)在正常和異常行為之間進行區(qū)別。
43.如權(quán)利要求42所述方法,其特征在于,還包括將數(shù)值數(shù)據(jù)流轉(zhuǎn)換成多個子狀態(tài)。
44.如權(quán)利要求42所述方法,其特征在于,還包括根據(jù)所述狀態(tài)來確定一個異常的根原因。
全文摘要
本發(fā)明提出了一種用于在一個計算環(huán)境中監(jiān)測參數(shù)和檢測異常的方法和系統(tǒng)。一種用于監(jiān)視一個處理過程的監(jiān)視系統(tǒng)可以包括一個用于創(chuàng)建一個表示處理過程的特征創(chuàng)建模塊,一個用于不斷更新所創(chuàng)建特征的特征更新模塊,以及一個用于根據(jù)與所更新信號的偏差來檢測異常的異常檢測模塊。該系統(tǒng)可以執(zhí)行根據(jù)表示處理過程的不斷更新特征來檢測在該處理過程中所發(fā)生異常的方法。該方法可以包括不斷監(jiān)視一個系統(tǒng)參數(shù)以及根據(jù)不斷更新的特征來計算用于系統(tǒng)參數(shù)的值的正常范圍。該方法另外可以包括確定所監(jiān)視的系統(tǒng)參數(shù)是否在正常范圍之內(nèi)以及如果所監(jiān)視的系統(tǒng)參數(shù)是在正常范圍之外就指示一個異常的存在。
文檔編號G06F11/00GK1573709SQ200410045629
公開日2005年2月2日 申請日期2004年5月21日 優(yōu)先權(quán)日2003年5月22日
發(fā)明者A·J·杉格維 申請人:微軟公司