基于多級模式預測的軟件系統(tǒng)行為異常檢測方法
【技術(shù)領域】
[0001] 本發(fā)明設及計算機系統(tǒng)異常檢測,具體地,設及基于多級模式預測的軟件系統(tǒng)行 為異常檢測方法。
【背景技術(shù)】
[0002] 隨著目前信息技術(shù)的不斷發(fā)展,現(xiàn)代計算機系統(tǒng)無論是在自身的結(jié)構(gòu)和設計屬性 還是系統(tǒng)的使用模式上都變得越來越復雜。特別是近幾年來高速互聯(lián)網(wǎng)絡的普及和計算機 處理能力的飛躍性提升W及虛擬化技術(shù)的不斷完善,云計算概念日漸火熱,成為當前極為 重要的一種計算機系統(tǒng)使用方式。如何保證云平臺穩(wěn)定運行變得日益重要,而自動化的系 統(tǒng)異常檢測、告警乃至預測是維護云平臺正常運轉(zhuǎn)和異??焖倩謴偷幕A。本專利提出一 種基于模式學習和預測的系統(tǒng)行為異常檢測算法,通過在線學習系統(tǒng)狀態(tài)轉(zhuǎn)移規(guī)律,進而 進行預測和比較,最終快速判斷系統(tǒng)是否出于行為異常狀態(tài)。
[0003] 現(xiàn)有算法主要著重于對完整周期的行為模式進行異常自動檢測的應用場景,因此 運些算法在用于檢測當前系統(tǒng)行為模式是否屬于異常行為模式時在很大程度上需要等待 監(jiān)控系統(tǒng)采集完整個行為模式周期內(nèi)的數(shù)據(jù)才能進行。在實際的計算機系統(tǒng)監(jiān)控工作中, 還有一個重要的用例,就是實時檢測當前較短的一段時期內(nèi)是否出現(xiàn)系統(tǒng)行為異常。運種 異常檢測的實時性要求更強,需要針對局部系統(tǒng)行為而不是整個行為模式周期的異常進行 自動檢測。
【發(fā)明內(nèi)容】
[0004] 針對現(xiàn)有技術(shù)中的缺陷,本發(fā)明的目的是提供一種基于多級模式預測的軟件系統(tǒng) 行為異常檢測方法。 陽〇化]根據(jù)本發(fā)明提供的基于多級模式預測的軟件系統(tǒng)行為異常檢測方法,包括如下步 驟:
[0006] 步驟1:對檢測窗口內(nèi)的系統(tǒng)行為模式進行建模,從而構(gòu)建對應窗口內(nèi)的系統(tǒng)行 為模型;
[0007] 步驟2:對系統(tǒng)行為模型中的系統(tǒng)行為模式之間的轉(zhuǎn)移規(guī)律進行建模,得到行為 模式轉(zhuǎn)移概率模型;
[0008] 步驟3 :初始構(gòu)建一個窗口狀態(tài)轉(zhuǎn)移概率模型,并加入到行為模式轉(zhuǎn)移概率模型 當中;
[0009] 步驟4 :當有新的監(jiān)控數(shù)據(jù)時,移動窗口并獲得新的窗口狀態(tài),并利用行為模式轉(zhuǎn) 移概率模型從窗口狀態(tài)轉(zhuǎn)移概率模型中找到預測模型,根據(jù)預測模型判斷當前窗口狀態(tài)是 否屬于異常狀態(tài);
[0010] 若符合預測模型的預測,則說明該預測模型有效,根據(jù)新的窗口狀態(tài)來更新窗口 狀態(tài)轉(zhuǎn)移概率模型;
[0011] 若預測模型的預測與實際的窗口狀態(tài)之間的差值大于設定的闊值T,則判定是窗 口狀態(tài)出現(xiàn)異常情況還是出現(xiàn)新的行為模式;
[0012] 當異常情況只出現(xiàn)一次,表示系統(tǒng)行為出現(xiàn)異常;
[0013] 當連續(xù)出現(xiàn)異常情況時,表示出現(xiàn)新的窗口狀態(tài)轉(zhuǎn)移規(guī)律,需構(gòu)建新的窗口狀態(tài) 轉(zhuǎn)移概率模型;
[0014] 步驟5:窗口狀態(tài)轉(zhuǎn)移概率模型完成檢測和更新后,行為模式轉(zhuǎn)移概率模型通過 檢測預測模型預測的準確性W及是否發(fā)生窗口狀態(tài)轉(zhuǎn)移概率模型的新建進行自身的更新。
[0015] 優(yōu)選地,所述步驟3包括:
[0016] A:構(gòu)建窗口狀態(tài)轉(zhuǎn)移概率模型,包括如下步驟:
[0017] 步驟A1 :記滑動窗口大小為W,監(jiān)控數(shù)據(jù)維度D,監(jiān)控數(shù)據(jù)為權(quán),S2,S3,...Sd],Si =[(yi,ti),柄,心),...,(y。,t。),...]表示第i個監(jiān)控時間序列流,t。表示采樣時刻點,y。 表示在t。時刻采樣的指標值,則一個滑動窗口中的有效數(shù)據(jù)為:
[0018]
陽019]式中:Sij. .. 表示第i個監(jiān)控時間序列中一個滑動窗口內(nèi)的W個數(shù)據(jù)采樣點, 1《i《D;
[0020] 步驟A2 :將數(shù)據(jù)采樣點進行狀態(tài)離散化,離散化函數(shù)如下:
[0021]
[0022] 式中:Ml,,表示第i個監(jiān)控時間序列j時刻采樣值離散化后的數(shù)值, [1, 2,...,閑,1《i《D,1《j《W,N表示離散化區(qū)間個數(shù),minimum表示最小采樣 值,maximum表示最大采樣值;
[0023] 步驟A3:得到離散化的當前滑動窗口的狀態(tài)M:
[0024]
陽02引式中:Ml,j的取值由步驟A2中的公式算出,1《i《D,1《j《W;
[00%] 步驟A4:窗口狀態(tài)之間的轉(zhuǎn)移過程用窗口狀態(tài)轉(zhuǎn)移概率模型P表述,其計算公式 如下:
[0027]P(MlIMj)=從Mj狀態(tài)轉(zhuǎn)移到M1狀態(tài)的概率;
[0028] 其中,Mj和Mi表不兩種不同的窗口狀態(tài);
[0029]B:構(gòu)建行為模式轉(zhuǎn)移概率模型,包括如下步驟:
[0030] 步驟B1 :標記所有的窗口狀態(tài)轉(zhuǎn)移概率模型集合為:滬,且!P=LPi,P2,P:;,…Pw],N為 該時刻集合中模型的個數(shù);Pi表示某個的窗口狀態(tài)轉(zhuǎn)移概率模型,1《i《N;
[0031] 步驟B2 :建立行為模式轉(zhuǎn)移概率模型R: 陽03引R化IPj,M)=出現(xiàn)窗口狀態(tài)M時,從P攜型換用P1模型的概率;
[0033] 式中:P,和Pi表示兩個不同的窗口狀態(tài)轉(zhuǎn)移概率模型,M表示當前滑動窗口狀態(tài);
[0034] C:當要增加新的窗口狀態(tài)轉(zhuǎn)移概率模型時,包括如下步驟:
[0035] 設此時共有N個窗口狀態(tài)轉(zhuǎn)移概率模型,標記新的窗口狀態(tài)轉(zhuǎn)移概率模型為IV貝。 新的行為模式轉(zhuǎn)移概率模型為R。,建立的公式如下:
[0038] 式中表示狀態(tài)空間中狀態(tài)總數(shù),P(0《P《1)表示行為模式轉(zhuǎn)移狀態(tài)模 型的更新參數(shù),W表示滑動窗口大小,D表示監(jiān)控數(shù)據(jù)維度,Pi和Pi表示兩個不同的窗口狀 態(tài)轉(zhuǎn)移概率模型,M表示當前滑動窗口狀態(tài);其中,等式右邊的Rp(Pi|Pj,M)表示當前的行為 模式轉(zhuǎn)移概率模型,等式左邊的^(Pi|P,,M)表示更新的行為模式轉(zhuǎn)移概率模型;
[0039] D:當滑動窗口移動時,包括如下處理步驟: W40] 設當前窗口的狀態(tài)為M,窗口狀態(tài)從M轉(zhuǎn)移為Ml的概率為P。(MlIM),下一時刻的滑 動窗口中狀態(tài)為M。,則窗口狀態(tài)轉(zhuǎn)移概率的計算公式如下:
[0041 ]
[0042] 式中:a(0《a《1)表示窗口狀態(tài)轉(zhuǎn)移概率模型的更新參數(shù);其中等式右邊的 P。(Ml|M)表示當前窗口的狀態(tài)轉(zhuǎn)移概率模型,等式左邊的P。(MilM)表示更新的窗口的狀態(tài) 轉(zhuǎn)移概率模型;
[0043] 更新行為模式轉(zhuǎn)移狀態(tài)模型Re,計算公式如下:
[0044]
[0045] 式中:丫表示行為模式轉(zhuǎn)移狀態(tài)模型的更新參數(shù),其中,0《丫《1。 陽〇46] 優(yōu)選地,
[0047] 初始構(gòu)建一個窗口狀態(tài)轉(zhuǎn)移概率模型,若狀態(tài)空間中狀態(tài)總數(shù)為則初始化 過程中,窗口狀態(tài)轉(zhuǎn)移概率模型將所有狀態(tài)間的轉(zhuǎn)移概率都設置為平均值,即
[0048] 優(yōu)選地,所述步驟4包括:計算預測模型的預測結(jié)果與實際的窗口狀態(tài)之間的差 值,并將所述差值與闊值T比較,用于判斷窗口狀態(tài)轉(zhuǎn)移概率模型的穩(wěn)定性。
[0049] 優(yōu)選地,所述步驟4中的窗口狀態(tài)異常是指出現(xiàn)行為模式轉(zhuǎn)移概率模型中的小概 率事件的情況,或者當前窗口狀態(tài)的變化不符合系統(tǒng)行為模式轉(zhuǎn)移概率模型的預測。
[0050] 優(yōu)選地,所述步驟4包括:
[0051] 步驟4. 1 :當有新的監(jiān)控數(shù)據(jù)時,移動窗口并獲得新的窗口狀態(tài),并利用行為模式 轉(zhuǎn)移概率模型從窗口狀態(tài)轉(zhuǎn)移概率模型中找到預測模型;
[0052] 步驟4. 2 :根據(jù)預測模型判斷當前窗口狀態(tài)是否屬于異常狀態(tài);
[0053] 若符合預測模型的預測,則說明該預測模型有效,根據(jù)新的窗口狀態(tài)來更新窗口 狀態(tài)轉(zhuǎn)移概率模型;
[0054] 若預測模型的預測與實際的窗口狀態(tài)之間的差值大于設定的闊值T,則進一步判 定是窗口狀態(tài)出現(xiàn)異常情況還是出現(xiàn)新的行為模式;
[0055] 當異常情況只出現(xiàn)一次,表示系統(tǒng)行為出現(xiàn)異常;
[0056] 當連續(xù)出現(xiàn)異常情況時,構(gòu)建全新的窗口狀態(tài)轉(zhuǎn)移概率模型;
[0057] 步驟4. 3 :更新行為模式轉(zhuǎn)移概率模型,用于下一次的窗口狀態(tài)異常檢測。
[0058] 與現(xiàn)有技術(shù)相比,本發(fā)明具有如下的有益效果:
[0059] 1、本發(fā)明所提出的方法相對于其他基于分類器和統(tǒng)計學的方法來說,其優(yōu)勢在于 無需標號的訓練數(shù)據(jù)和監(jiān)督學習過程,而大規(guī)模計算機系統(tǒng)上的標號訓練監(jiān)控數(shù)據(jù)收集正 是解決系統(tǒng)異常自動發(fā)現(xiàn)問題中最難實現(xiàn)的過程,因此本發(fā)明中的方法規(guī)避了運一難題, 更好地解決了計算機系統(tǒng)的異常檢測問題。
[0060] 2、本發(fā)明所提出的方法的另一個優(yōu)勢是在系統(tǒng)正常行為模式不斷變化的情況下 能夠通過新數(shù)據(jù)更新模型,從而對新的異常模式實現(xiàn)自動檢測能力。
【附圖說明】
[0061] 通過閱讀參照W下附圖對非限制性實施例所作的詳細描述,本發(fā)明的其