本申請涉及信息技術領域,尤其涉及一種系統(tǒng)異常的監(jiān)測方法及裝置。
背景技術:
隨著信息技術的發(fā)展,服務提供方為用戶提供越來越多種類的服務,這就導致為用戶提供服務的系統(tǒng)越發(fā)龐大,并且牽連甚廣。
通常在系統(tǒng)運行時可能會由于網(wǎng)絡延時、設備宕機、第三方超時等多種原因,出現(xiàn)系統(tǒng)異常的現(xiàn)象導致系統(tǒng)卡頓,輕則影響系統(tǒng)運行效率,重則導致系統(tǒng)中的業(yè)務無法正常進行,所以一方面人們致力于保證系統(tǒng)的流暢運行減少系統(tǒng)異常的現(xiàn)象,另一方面如何對系統(tǒng)異常進行預警,并在系統(tǒng)出現(xiàn)卡頓時,盡早發(fā)現(xiàn)并以便盡快采取應對措施也成為人們重點關注的問題。
在現(xiàn)有技術中,人們在判斷系統(tǒng)異常時采用的方法是,針對該系統(tǒng)中的每個設備,設置該設備正常運行時對應的警戒閾值,并在監(jiān)控該系統(tǒng)中各設備的運行情況,若監(jiān)測到某一設備運行時對應的數(shù)據(jù)超出該設備對應的警戒閾值,則判斷該設備出現(xiàn)異常,并可能導致系統(tǒng)異常的出現(xiàn),則此時發(fā)出針對該設備的報警信號,提示工作人員該設備出現(xiàn)異常,以使得工作人員可以人工對該設備進行故障排查。其中,該系統(tǒng)中的設備包括但不限于,中央處理器(centralprocessingunit,cpu)、內存、數(shù)據(jù)庫等設備,監(jiān)測各設備運行時對應的數(shù)據(jù)包括但不限于,數(shù)據(jù)調用量、設備報錯數(shù)量、工作狀態(tài)等等。
但是,在系統(tǒng)運行過程中通常偶爾還會出現(xiàn)一種正常的系統(tǒng)抖動的現(xiàn)象,也就是當系統(tǒng)中的設備出現(xiàn)瞬時的數(shù)據(jù)異常時,導致系統(tǒng)的運行狀態(tài)出現(xiàn)抖動,但這種現(xiàn)象屬于系統(tǒng)運行時的正?,F(xiàn)象,區(qū)別于系統(tǒng)異常的現(xiàn)象,系統(tǒng)出現(xiàn)抖動的時間較短并不會導致系統(tǒng)卡頓、影響系統(tǒng)的正常運行,不過,由于在出現(xiàn)系統(tǒng)抖動時,系統(tǒng)中設備運行時產生的數(shù)據(jù)也可能會超過工作人員預設的警戒閾值,導致現(xiàn)有技術對系統(tǒng)異常的監(jiān)測方法出現(xiàn)誤報的情況。
進一步地,由于針對每個設備,該設備在一天中的不同時段,其運行情況可能不完全一樣,例如,為用戶提供服務的設備在凌晨運行壓力通常較小,而在白天的運行壓力通常較大。同時,不同設備在同一時間段的運行情況也可能不完全一致,例如,結算設備可能在每天結束之后,對一天中產生的數(shù)據(jù)進行歸納整理,則凌晨時運行壓力可能較大,在白天則較為空閑,所以現(xiàn)有技術中,需要對每個設備針對性的設置警戒閾值,并且該警戒閾值的在不同應用場景下可能還需要工作人員進行調整,以避免漏報或者誤報,導致難以準確的對系統(tǒng)異常進行監(jiān)控。
可見,現(xiàn)有的對系統(tǒng)異常的監(jiān)控方法,由于需要工作人員針對不同設備對應的設置警戒閾值,并根據(jù)不同的應用場景,調整各設備對應的警戒閾值,導致對系統(tǒng)異常的監(jiān)控容易出現(xiàn)漏報和誤報,導致現(xiàn)有的系統(tǒng)異常的監(jiān)控方法,準確率低。
技術實現(xiàn)要素:
本申請實施例提供一種系統(tǒng)異常的監(jiān)測方法,用于解決由于現(xiàn)有技術在對系統(tǒng)異常的監(jiān)測過程中,需要人工為各設備設置警戒閾值,導致系統(tǒng)異常的監(jiān)測的準確率較低的問題。
本申請實施例提供一種系統(tǒng)異常的監(jiān)測裝置,用于解決由于現(xiàn)有技術在對系統(tǒng)異常的監(jiān)測過程中,需要人工為各設備設置警戒閾值,導致系統(tǒng)異常的監(jiān)測的準確率較低的問題。
本申請實施例采用下述技術方案:
一種系統(tǒng)異常的監(jiān)測方法,包括:
采集目標系統(tǒng)產生的至少一個維度的特征值;
根據(jù)各維度的特征值以及通過訓練得到的異常判斷模型,確定所述目標系統(tǒng)出現(xiàn)異常的概率;
當所述概率介于所述異常判斷模型對應的小概率區(qū)間時,確定所述目標系統(tǒng)出現(xiàn)異常。
一種系統(tǒng)異常的監(jiān)測裝置,包括:
確定模塊,采集目標系統(tǒng)產生的至少一個維度的特征值;
計算模塊,根據(jù)各維度的特征值以及通過訓練得到的異常判斷模型,確定所述目標系統(tǒng)出現(xiàn)異常的概率;
判斷模塊,當所述概率介于所述異常判斷模型對應的小概率區(qū)間時,確定所述目標系統(tǒng)出現(xiàn)異常。
本申請實施例采用的上述至少一個技術方案能夠達到以下有益效果:
首先,確定目標系統(tǒng)產生的各維度的特征值,之后根據(jù)預先訓練得到的異常判斷模型,確定該目標系統(tǒng)出現(xiàn)異常的概率,當該概率處于該異常判斷模型對應的小概率區(qū)間時,確定該目標系統(tǒng)出現(xiàn)異常??梢娡ㄟ^本申請?zhí)峁┑姆椒?,根?jù)訓練完成的異常判斷模型,確定該系統(tǒng)的運行情況,可以根據(jù)該系統(tǒng)的實際情況,做出相應處理,相對于現(xiàn)有技術降低了對系統(tǒng)異常出現(xiàn)誤報、漏報的概率,提高了監(jiān)控準確率。
附圖說明
此處所說明的附圖用來提供對本申請的進一步理解,構成本申請的一部分,本申請的示意性實施例及其說明用于解釋本申請,并不構成對本申請的不當限定。在附圖中:
圖1為本申請實施例提供的一種系統(tǒng)異常的監(jiān)測過程;
圖2為本申請實施例提供的一種系統(tǒng)異常的監(jiān)測裝置的結構示意圖。
具體實施方式
為使本申請的目的、技術方案和優(yōu)點更加清楚,下面將結合本申請具體實施例及相應的附圖對本申請技術方案進行清楚、完整地描述。顯然,所描述的實施例僅是本申請一部分實施例,而不是全部的實施例。基于本申請中的實施例,本領域普通技術人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本申請保護的范圍。
以下結合附圖,詳細說明本申請各實施例提供的技術方案。
圖1為本申請實施例提供的一種系統(tǒng)異常的監(jiān)測的過程,具體可包括以下步驟:
s101:采集目標系統(tǒng)產生的至少一個維度的特征值。
在本申請實施例中,對目標系統(tǒng)發(fā)生的異常情況進行監(jiān)測的可以是該目標系統(tǒng)內的監(jiān)測設備,也可以是獨立于該目標系統(tǒng)的監(jiān)測服務器。當然由于為了避免目標系統(tǒng)卡頓導致該設備對該目標系統(tǒng)的異常情況的監(jiān)控受到影響,通常該監(jiān)測設備是獨立于該目標系統(tǒng)的監(jiān)測服務器,那么在本申請實施例中,該監(jiān)測設備也可以是服務器,并由該服務器對該目標系統(tǒng)的異常情況進行的監(jiān)測,并且本申請并不限定該服務器是否位于該目標系統(tǒng)內,具體可根據(jù)實際應用的需要進行配置。
并且在本申請實施例中,所記載的各維度包括但不限于:所述系統(tǒng)調用量維度、所述系統(tǒng)被調用量維度、所述系統(tǒng)調用時長維度、所述系統(tǒng)中錯誤量維度、所述系統(tǒng)對數(shù)據(jù)庫的調用量維度中的一種;那么所述各維度的特征值可以是,該目標系統(tǒng)產生的不同維度的數(shù)據(jù)的數(shù)值,其中,各維度的特征值可包括但不限于:該目標系統(tǒng)的調用量的值、該目標系統(tǒng)的被調用量的值、該目標系統(tǒng)調用時長的值、該目標系統(tǒng)中錯誤量的值以及該目標系統(tǒng)對數(shù)據(jù)庫的調用量的值中的至少一種。也就是說,不同的維度的特征值的大小可以對應的表示該目標系統(tǒng)的運行狀況。
進一步地,該服務器采集的該目標系統(tǒng)的不同維度的特征值,也就是上述不同維度對應的數(shù)值,例如,當維度為被調用量時,該維度的特征值可以體現(xiàn)由于外部訪問該目標系統(tǒng)導致的該目標系統(tǒng)的運行負荷,而該被調用量的具體數(shù)值可以用于后續(xù)判斷該目標系統(tǒng)是否出現(xiàn)異常。
另外,在本申請實施例中以監(jiān)控服務器為例說明如何對目標系統(tǒng)的異常情況進行監(jiān)控。服務器在對該目標系統(tǒng)的異常情況進行監(jiān)測時,可以以預設時間周期(即,單位時間)為監(jiān)測時段,監(jiān)測該目標系統(tǒng)產生的各維度的特征值,其中,對該目標系統(tǒng)的監(jiān)測可以是連續(xù)的(例如,當上個時間周期的監(jiān)測結束時,立刻開始下一個時間周期的監(jiān)測),也可以是不連續(xù)的(例如,將每天的固定時間段作為時間周期進行監(jiān)測)。
具體的,該服務器根據(jù)預先以每個自然日中的每一分鐘的時間長度劃分出的時間周期作為單位時間,確定上一單位時間內該目標系統(tǒng)產生的各維度的特征值,也就是說,每經過一分鐘,則采集該目標系統(tǒng)在該一分鐘內產生的各維度的特征值。
例如,每個自然日擁有24個小時,即,1440分鐘,則將一個自然日按照每分鐘劃分為1440份單位時間,并在每經過一分鐘時,確定上一分鐘內(即,上一單位時間內)該目標系統(tǒng)產生的各維度的特征值。如,當前時刻為23點58分59秒,則當下一秒時間23點59分0秒時,該服務器可以確定該目標系統(tǒng)在23點58分0秒至23點58分60秒之內產生的各維度的特征值。
于是,該目標系統(tǒng)的調用量為該目標系統(tǒng)從外部(例如:第三方設備)設備調用數(shù)據(jù)的量。由于該目標系統(tǒng)在運行時并不是獨立的,而是需要與外部設備之間進行數(shù)據(jù)的發(fā)送以及調用的,所以通過對該目標系統(tǒng)的調用量可以確定該目標系統(tǒng)的運行壓力;
該目標系統(tǒng)的被調用量為該目標系統(tǒng)響應外部(例如:第三方設備)設備的請求并向外部設備發(fā)送數(shù)據(jù)的量,與該目標系統(tǒng)的調用量同樣可以表示該目標系統(tǒng)的運行壓力;
該目標系統(tǒng)調用時長為該目標系統(tǒng)調用外部設備(例如:第三方設備)的數(shù)據(jù)所耗費的時間,可以確定第三方是否出現(xiàn)問題或者網(wǎng)絡是否出現(xiàn)延時;
該目標系統(tǒng)中錯誤量為該目標系統(tǒng)在調用數(shù)據(jù)或者該目標系統(tǒng)在響應外部設備的請求時,出現(xiàn)調用失敗的數(shù)量,可以用于確定該目標系統(tǒng)內部出現(xiàn)錯誤的情況,其中,該服務器具體可以獲取該目標系統(tǒng)調用失敗時,所發(fā)出的報錯信息的數(shù)量,作為該目標系統(tǒng)出現(xiàn)調用失敗的數(shù)量,或者,該服務器也可以獲取執(zhí)行失敗的業(yè)務的數(shù)量,作為該目標系統(tǒng)出現(xiàn)調用失敗的數(shù)量,具體采用何種方法可由工作人員根據(jù)實際應用的需要進行設置,本申請對此并不做限定;
該目標系統(tǒng)對數(shù)據(jù)庫的調用量為該目標系統(tǒng)從該目標系統(tǒng)對應的數(shù)據(jù)庫中調用數(shù)據(jù)的量。由于在業(yè)務執(zhí)行時需要使用的數(shù)據(jù)不完全存儲在該目標系統(tǒng)中,所以該目標系統(tǒng)通常在運行時還需要調用數(shù)據(jù)庫中的數(shù)據(jù),例如,用戶的個人信息等可以是存儲在該目標系統(tǒng)對應的數(shù)據(jù)庫中的,所以在該目標系統(tǒng)執(zhí)行需要使用用戶的個人信息的業(yè)務時,該目標系統(tǒng)需要從該數(shù)據(jù)庫中調用該用戶的個人信息,該目標系統(tǒng)對于數(shù)據(jù)庫的調用量也可確定該目標系統(tǒng)的運行狀態(tài)。
進一步地,由于該服務器可以單位時間為時間長度,采集每個單位時間內對應的不同維度的特征值,所以該服務器可以通過各維度的特征值,確定不同單位時間內該目標系統(tǒng)的運行情況,并且該目標的運行情況是可以通過多個維度的特征值來體現(xiàn)的。
需要說明的是,該服務器可以是單獨的一臺設備,也可以是由多臺設備組成的目標系統(tǒng)。上述該目標系統(tǒng)的調用量、該目標系統(tǒng)的被調用量、該目標系統(tǒng)調用時長、該目標系統(tǒng)中錯誤量以及該目標系統(tǒng)對數(shù)據(jù)庫的調用量,均可以視為是不同維度的數(shù)據(jù)。除了本申請實施例中所列舉的不同維度之外,還可以包含其他維度(例如,該目標系統(tǒng)對網(wǎng)絡帶寬的占用率、該目標系統(tǒng)等待響應的時間等等),至于其他維度的具體內容可以根據(jù)實際需要確定,這里不再一一贅述。
s102:根據(jù)各維度的特征值以及通過訓練得到的異常判斷模型,確定所述目標系統(tǒng)出現(xiàn)異常的概率。
在本申請實施例中,當該服務器在獲取到該目標系統(tǒng)在上一單位時間內產生的各維度的特征值時,便可根據(jù)預先訓練完成的該單位時間對應的異常判斷模型,確定該目標系統(tǒng)在上一單位時間內出現(xiàn)異常的概率,以便后續(xù)確定該目標系統(tǒng)在上一單位時間內是否出現(xiàn)異常。
具體的,該異常判斷模型可以是混合高斯模型,也可以是其他模型,這里不做具體限定。在本申請實施例中以混合高斯模型為異常判斷模型為例進行說明。
于是,該服務器可以預先根據(jù)劃分出的各單位時間,確定本次目標系統(tǒng)異常的監(jiān)測的單位時間所對應的混合高斯模型,并將在步驟s101中確定的各維度的特征值輸入該混合高斯模型,計算得到該目標系統(tǒng)出現(xiàn)異常的概率,其中組成該混合高斯模型的各高斯模型為不同時間周期的異常判斷子模型。
在本申請實施例中,該服務器具體可采用下列公式計算該目標系統(tǒng)在該時間周期(即,該單位時間)內出現(xiàn)異常的概率:
其中,高斯公式為
其中,p(xt)表示該目標系統(tǒng)在第t個單位時間內出現(xiàn)異常的概率;t表示第t個單位時間;k表示第k個維度;l表示維度的總數(shù)量;wkt表示該第k個維度的特征值在該第t個單位時間內對應的權重值;gkt(xkt,ukt,σkt)表示第k個維度的特征值在第t個單位時間對應的異常判斷子模型;xkt表示該服務器確定的該目標系統(tǒng)在該第t個單位時間內產生的第k個維度的特征值對應的數(shù)值;ukt表示歷史上該目標系統(tǒng)在該第t個單位時間內產生的第k個維度的樣本數(shù)據(jù)的平均值;σkt表示歷史上該目標系統(tǒng)在該第t個單位時間內產生的第k個維度的樣本數(shù)據(jù)的方差。
其中,
在本申請實施例中,一個單位時間內的樣本數(shù)據(jù)可以是多個,這些樣本數(shù)據(jù)可以屬于不同維度,也可以屬于同一個維度,每一個樣本數(shù)據(jù)對應一個特征值,例如,該目標系統(tǒng)的調用量,則一個特征值可以是在該單位周期內產生的一個該目標系統(tǒng)的調用量的值,該樣本數(shù)據(jù)可以是該目標系統(tǒng)在與該單位周期相同的時間段內,歷史上產生的至少一個該目標系統(tǒng)的調用量的值。
其中,該異常判斷子模型,可以采用上述高斯公式表達,該高斯公式是對應于該單位時間的,并對應于一種維度的特征值,也就是說,在本申請實施例中,不同的時間周期同一維度可對應不完全一致的高斯公式,同一時間周期不同維度也可對應不完全一致的高斯公式。由于該混合高斯模型可以是通過多個對應不同維度的異常判斷子模型擬合得到的,而各異常判斷子模型都是對應于同一個時間周期(即,單位時間)的,所以該服務器用于計算該目標系統(tǒng)出現(xiàn)異常概率的該混合高斯模型(即,異常判斷模型)在不同時間周期時,可以不完全一致。例如,時間周期為2016年12月1日12:00至2016年12月1日12:01對應的異常判斷模型,與時間周期為2016年12月1日12:01至2016年12月1日12:02對應的異常判斷模型,可以不完全一致。
當然,由于該異常判斷模型可以是由多個維度的特征值對應的異常判斷子模型擬合得到的,所以不同時間周期所對應的各異常判斷模型,均可以是由不同維度的特征值計算得到的。例如,繼續(xù)沿用上例中的兩個異常判斷模型,這兩個異常判斷模型,均可以是由:該目標系統(tǒng)的調用量的值、該目標系統(tǒng)的被調用量的值、該目標系統(tǒng)調用時長的值、該目標系統(tǒng)中錯誤量的值以及該目標系統(tǒng)對數(shù)據(jù)庫的調用量的值,這五個維度的特征值分別對應的異常判斷子模型擬合得到的。
對應在本申請實施例中,由于該服務器確定的各維度的特征值可包括:該目標系統(tǒng)的調用量的值、該目標系統(tǒng)的被調用量的值、該目標系統(tǒng)調用時長的值、該目標系統(tǒng)中錯誤量的值以及該目標系統(tǒng)對數(shù)據(jù)庫的調用量的值,所以該l可為5,則
另外,該ukt以及該σkt,是在訓練該混合高斯模型時,該服務器通過確定該目標系統(tǒng)在預設天數(shù)中的每一天在該第t個單位時間內產生的該k維度的特征值得到的,也就是根據(jù)訓練該混合高斯模型時使用的樣本數(shù)據(jù)確定的數(shù)值。其中,該預設天數(shù)可以是由工作人員根據(jù)實際應用的需要設置的,例如,90天(即,以一季度該目標系統(tǒng)產生的數(shù)據(jù)作為樣本)、180天(即,以半年該目標系統(tǒng)產生的數(shù)據(jù)作為樣本)、或者360天(即,以一年該目標系統(tǒng)產生的數(shù)據(jù)作為樣本)等等。
具體的,該ukt可以是該目標系統(tǒng)在過去的180天內每一天中的第t個單位時間內產生的第k個維度的樣本數(shù)據(jù)的平均值,該σkt可以是該目標系統(tǒng)在過去的180天內每一天中的第t個單位時間內產生的第k個維度的樣本數(shù)據(jù)對應的方差,即,在方差計算時所使用的平均值為ukt,由于平均值以及方差是明確的數(shù)學概念,所以本申請不再羅列對應的公式。
可見,通過各異常判斷子模型的加權之和,可以計算得到該目標系統(tǒng)出現(xiàn)異常的概率。
進一步地,由于各異常判斷子模型對應的權重值wkt,可以是由該服務器隨機賦予一個初始值,所以在擬合得到該異常判斷模型時,若各權重值是發(fā)散的,則可能會對該異常判斷模型的準確度造成影響,所以為了提高該異常判斷模型的準確度,在本申請實施例中,該服務器還可以針對各維度對應的異常判斷子模型的初始權重值,分別判斷各維度對應的異常判斷子模型的初始權重值是否收斂,并在針對各維度對應的異常判斷子模型的初始權重值的判斷結果滿足收斂條件時,根據(jù)收斂的各異常判斷子模型的初始權重值,擬合得到該異常判斷模型,或者,當判斷不滿足該收斂條件時,對不滿足該收斂條件的初始權重值進行調整。
具體的,該服務器可以采用最大期望算法(expectationmaximizationalgorithm,em算法),對該混合高斯模型中的各維度特征值對應的初始權重值(即,wkt)進行e步計算,得到各初始權重值的更新權重值,并根據(jù)該更新權重值與該初始權重值,判斷該初始權重值是否收斂。
在針對各維度對應的異常判斷子模型的初始權重值的判斷結果滿足收斂條件時,則可根據(jù)收斂的各異常判斷子模型的初始權重值,擬合得到該異常判斷模型。其中,在本本申請實施例中,由于各異常判斷子模型對應的各權重值均是歸一化的,所以當出現(xiàn)某一個維度對應的異常判斷子模型的權重值收斂,而其他維度對應的異常判斷子模型的權重值不收斂時,該服務器可以繼續(xù)對各權重值進行訓練,直至各權重值均收斂為止,并以此為該收斂條件,對各權重值進行判斷的;
或者,該收斂條件也可以是,該服務器也可僅針對不收斂的權重值進行訓練,直至各權重值均收斂為止;
或者,該收斂條件也可以是,只要有一個權重值收斂時,便確定各權重值滿足收斂條件,并停止對各權重值的訓練過程,等等。當然,具體采用何種方式可由工作人員設置本申請并不限定。
進一步地若不滿足,則對至少一個維度對應的異常判斷子模型的初始權重值進行調整(即,對該維度對應的異常判斷子模型的初始權重值進行訓練)。
具體的,則該服務器可繼續(xù)循環(huán)采用該em算法的m步和e步,對該維度對應的異常判斷子模型的初始權重值進行訓練,并再次判斷該維度對應的異常判斷子模型訓練得到的權重值是否收斂,若是,則將訓練得到的權重值作為用于擬合所述異常判斷模型的該維度對應的異常判斷子模型的權重值,若否,則繼續(xù)對該維度對應的異常判斷子模型訓練得到的權重值再次進行訓練,直至對該維度對應的異常子模型訓練后的權重值收斂為止。
需要說明的是,該權重值的訓練過程是預先進行的,訓練對象可謂為前一天的x′kt對應的各異常判斷子模型。
具體的,該服務器在進行上述訓練時,可以采用初始化的隨機數(shù),作為各wkt初始對應的數(shù)值,當然由于各維度的特征值對應的權重值時歸一化的,所以各wkt初始對應的數(shù)值也是歸一化的。
首先,在該em算法的e步中,計算該x′kt由第k個維度的特征值對應的高斯模型產生的概率,可采用公式
在該em算法的m步中,對第k個維度的特征值對應的異常判斷子模型重新計算其對應的wkt的參數(shù),具體可采用公式
于是,該服務器可循環(huán)重復e步以及m步(即,訓練各權重值),直至該wkt滿足收斂條件為止(即,訓練完成)。其中,該服務器判斷該權重值是否收斂,可以是上一步得到的wkt與下一步得到的wkt的差值小于預設的數(shù)值,或者重復迭代的次數(shù)達到預設的次數(shù),等等。具體采用何種方式判斷是否收斂,或者該判斷收斂的數(shù)值如何設置,可由工作人員根據(jù)實際應用的需要進行設置,本申請對此并不做限定。
s103:當所述概率介于所述異常判斷模型對應的小概率區(qū)間時,確定所述目標系統(tǒng)出現(xiàn)異常。
在本申請實施例中,當該服務器確定了該目標系統(tǒng)在該單位時間出現(xiàn)異常的概率后,便可根據(jù)高斯定理,確定該概率是否對應為小概率事件,即,確定該概率是否處于該異常判斷模型對應的小概率區(qū)間內,并在確定該概率處于該小概率區(qū)間內時,確定該目標系統(tǒng)出現(xiàn)異常。
具體的,可以采用高斯定理中3倍方差的判斷方法,即判斷是否p(xt)≤p(ut±3σt),若是,則確定該目標系統(tǒng)在該單位時間內出現(xiàn)異常并報警,若否則確定該目標系統(tǒng)在該單位時間內無異常。也就是說,該服務器可以根據(jù)該訓練好的該異常判斷模型,確定該目標系統(tǒng)在該單位時間上對應的異常概率的分布,具體根據(jù)采用的特征值的維度的數(shù)量而確定,如僅采用2種維度的特征值,則該服務器可以在二維空間中確定該目標系統(tǒng)在該單位時間中對應的異常概率的分布,若采用5種維度的特征維度,則該服務器可以在5維向量空間中,確定該目標系統(tǒng)在該單位時間中對應的異常概率的分布,之后該服務器可以判斷該目標系統(tǒng)在該單位時間上對應的出現(xiàn)異常的概率,是否介于該空間分布中的小概率事件的區(qū)間中,若是則確定該目標系統(tǒng)出現(xiàn)異常,若否則確定該目標系統(tǒng)正常。
進一步地,當該服務器確定該目標系統(tǒng)出現(xiàn)異常后,在本申請實施例中,該服務器還可以發(fā)出告警消息,以提示工作人員該目標系統(tǒng)出現(xiàn)異常,使得工作人員可以及時的著手處理,當然,該告警信息以何種方式發(fā)送本申請并不做具體限定。
通過圖1所示的目標系統(tǒng)異常的監(jiān)測方法,該服務器可基于多個維度的特征值,并根據(jù)預先訓練好的異常判斷模型,確定該目標系統(tǒng)出現(xiàn)異常的概率,并當該概率處于該異常判斷模型對應的小概率區(qū)間時,確定該目標系統(tǒng)出現(xiàn)異常。其中,該異常判斷模型可以是混合高斯模型,并且可以是與預先劃分的各單位時間中的一個對應的,也就是說每個不同的單位時間都可對應不完全一致的混合高斯模型,使得本申請?zhí)峁┑姆椒梢约骖櫼惶熘胁煌瑫r段對應的目標系統(tǒng)運行情況,精確的對目標系統(tǒng)異常進行監(jiān)測。同時,區(qū)別于現(xiàn)有技術,對每個設備設置警戒閾值的方法,本申請?zhí)峁┑姆椒?,是根?jù)歷史記錄確定的不同單位時間內整個目標系統(tǒng)對應的異常概率分布,也就是本申請所述的目標系統(tǒng)產生的各維度的特征值,該特征值不再是單一設備的數(shù)據(jù),而是對應對整個目標系統(tǒng)的數(shù)據(jù),使得對目標系統(tǒng)的異常的判斷更加準確,可有效地避免對目標系統(tǒng)異常的漏報以及誤報,提高了目標系統(tǒng)異常的監(jiān)測效率。
另外,在本申請實施例中,為了減少目標系統(tǒng)抖動帶來的負面影響,該服務器可以根據(jù)預設的數(shù)量,針對各維度的特征值,確定與該時間周期相鄰的多個時間周期的該維度的樣本數(shù)據(jù)的平均值,作為該目標系統(tǒng)在該時間周期產生的該維度的特征值。其中,該預設的數(shù)量,可由工作人員根據(jù)實際應用時的需要進行設置。
例如,當前確定的單位時間為23:58至23:59對應的一分鐘,并且該預設的數(shù)量為5,則該服務器可以確定在23:58之前的5分鐘中,每一分鐘該目標系統(tǒng)產生的各維度的特征值,并根據(jù)不同的維度,確定各維度的特征值的平均值,作為該單位時間為23:58至23:59對應的各維度的特征值。
進一步地,在訓練該混合特征模型時,由于該目標系統(tǒng)在歷史上可能出現(xiàn)過異常,則該歷史記錄中可能存在異常的特征值,則該服務器可以根據(jù)標記為異常的特征值,確定該標記為異常的特征值對應的維度,確定該目標系統(tǒng)在所述時間周期相同的時間段內產生的多個該維度的樣本數(shù)據(jù),并采用多個特征值的均值以及方差的隨機倍數(shù)之和,替代該標記為異常的特征值,作為訓練所述異常判斷模型(即,混合高斯模型)的樣本。
具體的,該服務器可以采用該目標系統(tǒng)在所述時間周期相同的時間段內產生的多個該維度未標記為異常的樣本數(shù)據(jù),計算替代該標記為異常的樣本數(shù)據(jù),則該服務器可采用公式xkt異常=ukt未異常+α·σkt未異常重新計算確定該標記為異常的特征值,其中,xkt異常表示該標記為異常的特征值再重新計算后的值,ukt未異常表示在該維度對應的多個未標記為異常的特征值的平均值,σkt未異常表示該維度對應的多個未標記為異常的特征值的方差,α為零至一之間的隨機數(shù)。
例如,對于12:01至12點02的時間周期內對應的k維度的樣本數(shù)據(jù)中存在一個標記為異常的樣本數(shù)據(jù),假設當前日期為2016年12月31日,則該服務器可采集該目標系統(tǒng)在2016年12月20日、2016年12月19日、2016年12月4日、2016年12月1日的12:01至12點02產生的共4個該k維度的未標記為異常的樣本數(shù)據(jù),并采用公式,xkt異常=ukt未異常+α·σkt未異常,計算得到替代k維度的樣本數(shù)據(jù)中該標記為異常的樣本數(shù)據(jù)的數(shù)值。
其中,該服務器可在該目標系統(tǒng)在所述時間周期相同的時間段內產生的全部該維度的樣本數(shù)據(jù)中,隨機選擇多個未標記為異常的樣本數(shù)據(jù),該未標記為異常的樣本數(shù)據(jù)的數(shù)量可以由工作人員進行設置。
進一步地,為了減少該服務器的運行壓力,該服務器可以以隨機選擇該目標系統(tǒng)在所述時間周期相同的時間段內產生的多個該維度的樣本數(shù)據(jù),而不僅限于通過獲取未標記為異常的樣本數(shù)據(jù)進行計算,利用計算結果來替代該標記為異常的樣本數(shù)據(jù)。
當然,對于該服務器選擇多個該維度的樣本數(shù)據(jù),還可以添加更多的限制條件,如時間上的限制條件等等,本申請對此并不做限定。
通過,多個樣本數(shù)據(jù)計算得到的替代數(shù)值,替代該標記為異常的樣本數(shù)據(jù),可以有效地減少標記為異常的樣本數(shù)據(jù)對該異常判斷模型的影響,可以使該異常判斷模型對應的小概率區(qū)間更為準確,增加了該系統(tǒng)異常的監(jiān)測方法的準確率。
基于圖1所示系統(tǒng)異常的監(jiān)測方法,本申請實施例還對應提供一種系統(tǒng)異常的監(jiān)測裝置的結構示意圖,如圖2所示。
圖2為本申請實施例提供的一種系統(tǒng)異常的監(jiān)測裝置的結構示意圖,包括:
確定模塊201,采集目標系統(tǒng)產生的至少一個維度的特征值;
計算模塊202,根據(jù)各維度的特征值以及通過訓練得到的異常判斷模型,確定所述目標系統(tǒng)出現(xiàn)異常的概率;
判斷模塊203,當所述概率介于所述異常判斷模型對應的小概率區(qū)間時,確定所述目標系統(tǒng)出現(xiàn)異常。
所述判斷模塊203,在確定所述目標系統(tǒng)出現(xiàn)異常時,發(fā)出告警消息。
所述計算模塊202,采集所述目標系統(tǒng)歷史產生的至少一個維度的樣本數(shù)據(jù),針對各維度的樣本數(shù)據(jù),執(zhí)行以下操作,根據(jù)該維度的樣本數(shù)據(jù),訓練得到該維度的樣本數(shù)據(jù)對應的異常判斷子模型,在得到個維度的樣本數(shù)據(jù)對應的異常判斷子模型時,根據(jù)得到的所述異常判斷子模型,擬合得到所述異常判斷模型。
所述計算模塊202,確定時間周期,并獲取在所述時間周期內產生的該維度的樣本數(shù)據(jù),根據(jù)所述樣本數(shù)據(jù),訓練得到該維度在所述時間周期內對應的異常判斷子模型。
所述計算模塊202,從所述目標系統(tǒng)歷史產生的樣本數(shù)據(jù)中,查找與所述時間周期相同的時間段內產生的該維度的樣本數(shù)據(jù),將查找到的所述樣本數(shù)據(jù),作為所述時間周期對應的異常判斷子模型的訓練樣本。
所述計算模塊202,在得到各維度對應的異常判斷子模型時,為各維度對應的異常判斷子模型分配初始權重值,針對各維度對應的異常判斷子模型的初始權重值,分別執(zhí)行以下操作:判斷該維度對應的異常判斷子模型的初始權重值是否收斂,在針對各維度對應的異常判斷子模型的初始權重值的判斷結果滿足收斂條件時,根據(jù)收斂的各異常判斷子模型的初始權重值,擬合得到所述異常判斷模型,否則,對至少一個維度對應的異常判斷子模型的初始權重值進行調整。
所述計算模塊202,采用最大期望算法,對該維度對應的異常判斷子模型的初始權重值進行訓練,判斷該維度對應的異常判斷子模型訓練得到的權重值是否收斂,若是,則將訓練得到的權重值作為用于擬合所述異常判斷模型的該維度對應的異常判斷子模型的權重值,若否,則繼續(xù)對該維度對應的異常判斷子模型訓練得到的權重值再次進行訓練,直至對該維度對應的異常子模型訓練后的權重值收斂為止。
所述計算模塊202,在訓練得到該維度在所述時間周期內對應的異常判斷子模型之前,當獲取到的在所述時間周期內產生的該維度的樣本數(shù)據(jù)中存在標記為異常的樣本數(shù)據(jù)時,獲取所述目標系統(tǒng)在與所述時間周期相同的其他時間段內產生的多個該維度的樣本數(shù)據(jù),計算獲取的多個該維度的樣本數(shù)據(jù)的均值以及方差的和值,并利用所述和值調整該維度中所述標記為異常的樣本數(shù)據(jù),所述和值用于訓練該維度對應的異常判斷子模型。
所述確定模塊201,針對各維度的特征值,確定與所述時間周期相鄰的多個時間周期的該維度的樣本數(shù)據(jù)的平均值,作為所述目標系統(tǒng)在所述時間周期產生的該維度的特征值。
當所述異常判斷模型為混合高斯模型時,所述計算模塊202,根據(jù)高斯原理,確定所述異常判斷模型對應的小概率區(qū)間。
所述維度包括:所述系統(tǒng)調用量維度、所述系統(tǒng)被調用量維度、所述系統(tǒng)調用時長維度、所述系統(tǒng)中錯誤量維度、所述系統(tǒng)對數(shù)據(jù)庫的調用量維度中的一種或者多種。
具體的,如圖2所示的一種系統(tǒng)異常的監(jiān)測裝置可以位于服務器中,該服務器可以單獨的一臺設備,或者由多臺設備組成的系統(tǒng)。
在20世紀90年代,對于一個技術的改進可以很明顯地區(qū)分是硬件上的改進(例如,對二極管、晶體管、開關等電路結構的改進)還是軟件上的改進(對于方法流程的改進)。然而,隨著技術的發(fā)展,當今的很多方法流程的改進已經可以視為硬件電路結構的直接改進。設計人員幾乎都通過將改進的方法流程編程到硬件電路中來得到相應的硬件電路結構。因此,不能說一個方法流程的改進就不能用硬件實體模塊來實現(xiàn)。例如,可編程邏輯器件(programmablelogicdevice,pld)(例如現(xiàn)場可編程門陣列(fieldprogrammablegatearray,fpga))就是這樣一種集成電路,其邏輯功能由用戶對器件編程來確定。由設計人員自行編程來把一個數(shù)字系統(tǒng)“集成”在一片pld上,而不需要請芯片制造廠商來設計和制作專用的集成電路芯片。而且,如今,取代手工地制作集成電路芯片,這種編程也多半改用“邏輯編譯器(logiccompiler)”軟件來實現(xiàn),它與程序開發(fā)撰寫時所用的軟件編譯器相類似,而要編譯之前的原始代碼也得用特定的編程語言來撰寫,此稱之為硬件描述語言(hardwaredescriptionlanguage,hdl),而hdl也并非僅有一種,而是有許多種,如abel(advancedbooleanexpressionlanguage)、ahdl(alterahardwaredescriptionlanguage)、confluence、cupl(cornelluniversityprogramminglanguage)、hdcal、jhdl(javahardwaredescriptionlanguage)、lava、lola、myhdl、palasm、rhdl(rubyhardwaredescriptionlanguage)等,目前最普遍使用的是vhdl(very-high-speedintegratedcircuithardwaredescriptionlanguage)與verilog。本領域技術人員也應該清楚,只需要將方法流程用上述幾種硬件描述語言稍作邏輯編程并編程到集成電路中,就可以很容易得到實現(xiàn)該邏輯方法流程的硬件電路。
控制器可以按任何適當?shù)姆绞綄崿F(xiàn),例如,控制器可以采取例如微處理器或處理器以及存儲可由該(微)處理器執(zhí)行的計算機可讀程序代碼(例如軟件或固件)的計算機可讀介質、邏輯門、開關、專用集成電路(applicationspecificintegratedcircuit,asic)、可編程邏輯控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:arc625d、atmelat91sam、microchippic18f26k20以及siliconelabsc8051f320,存儲器控制器還可以被實現(xiàn)為存儲器的控制邏輯的一部分。本領域技術人員也知道,除了以純計算機可讀程序代碼方式實現(xiàn)控制器以外,完全可以通過將方法步驟進行邏輯編程來使得控制器以邏輯門、開關、專用集成電路、可編程邏輯控制器和嵌入微控制器等的形式來實現(xiàn)相同功能。因此這種控制器可以被認為是一種硬件部件,而對其內包括的用于實現(xiàn)各種功能的裝置也可以視為硬件部件內的結構。或者甚至,可以將用于實現(xiàn)各種功能的裝置視為既可以是實現(xiàn)方法的軟件模塊又可以是硬件部件內的結構。
上述實施例闡明的系統(tǒng)、裝置、模塊或單元,具體可以由計算機芯片或實體實現(xiàn),或者由具有某種功能的產品來實現(xiàn)。一種典型的實現(xiàn)設備為計算機。具體的,計算機例如可以為個人計算機、膝上型計算機、蜂窩電話、相機電話、智能電話、個人數(shù)字助理、媒體播放器、導航設備、電子郵件設備、游戲控制臺、平板計算機、可穿戴設備或者這些設備中的任何設備的組合。
為了描述的方便,描述以上裝置時以功能分為各種單元分別描述。當然,在實施本申請時可以把各單元的功能在同一個或多個軟件和/或硬件中實現(xiàn)。
本領域內的技術人員應明白,本發(fā)明的實施例可提供為方法、系統(tǒng)、或計算機程序產品。因此,本發(fā)明可采用完全硬件實施例、完全軟件實施例、或結合軟件和硬件方面的實施例的形式。而且,本發(fā)明可采用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(包括但不限于磁盤存儲器、cd-rom、光學存儲器等)上實施的計算機程序產品的形式。
本發(fā)明是參照根據(jù)本發(fā)明實施例的方法、設備(系統(tǒng))、和計算機程序產品的流程圖和/或方框圖來描述的。應理解可由計算機程序指令實現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結合。可提供這些計算機程序指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數(shù)據(jù)處理設備的處理器以產生一個機器,使得通過計算機或其他可編程數(shù)據(jù)處理設備的處理器執(zhí)行的指令產生用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。
這些計算機程序指令也可存儲在能引導計算機或其他可編程數(shù)據(jù)處理設備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產生包括指令裝置的制造品,該指令裝置實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。
這些計算機程序指令也可裝載到計算機或其他可編程數(shù)據(jù)處理設備上,使得在計算機或其他可編程設備上執(zhí)行一系列操作步驟以產生計算機實現(xiàn)的處理,從而在計算機或其他可編程設備上執(zhí)行的指令提供用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。
在一個典型的配置中,計算設備包括一個或多個處理器(cpu)、輸入/輸出接口、網(wǎng)絡接口和內存。
內存可能包括計算機可讀介質中的非永久性存儲器,隨機存取存儲器(ram)和/或非易失性內存等形式,如只讀存儲器(rom)或閃存(flashram)。內存是計算機可讀介質的示例。
計算機可讀介質包括永久性和非永久性、可移動和非可移動媒體可以由任何方法或技術來實現(xiàn)信息存儲。信息可以是計算機可讀指令、數(shù)據(jù)結構、程序的模塊或其他數(shù)據(jù)。計算機的存儲介質的例子包括,但不限于相變內存(pram)、靜態(tài)隨機存取存儲器(sram)、動態(tài)隨機存取存儲器(dram)、其他類型的隨機存取存儲器(ram)、只讀存儲器(rom)、電可擦除可編程只讀存儲器(eeprom)、快閃記憶體或其他內存技術、只讀光盤只讀存儲器(cd-rom)、數(shù)字多功能光盤(dvd)或其他光學存儲、磁盒式磁帶,磁帶磁磁盤存儲或其他磁性存儲設備或任何其他非傳輸介質,可用于存儲可以被計算設備訪問的信息。按照本文中的界定,計算機可讀介質不包括暫存電腦可讀媒體(transitorymedia),如調制的數(shù)據(jù)信號和載波。
還需要說明的是,術語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、商品或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、商品或者設備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、商品或者設備中還存在另外的相同要素。
本領域技術人員應明白,本申請的實施例可提供為方法、系統(tǒng)或計算機程序產品。因此,本申請可采用完全硬件實施例、完全軟件實施例或結合軟件和硬件方面的實施例的形式。而且,本申請可采用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(包括但不限于磁盤存儲器、cd-rom、光學存儲器等)上實施的計算機程序產品的形式。
本申請可以在由計算機執(zhí)行的計算機可執(zhí)行指令的一般上下文中描述,例如程序模塊。一般地,程序模塊包括執(zhí)行特定任務或實現(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、對象、組件、數(shù)據(jù)結構等等。也可以在分布式計算環(huán)境中實踐本申請,在這些分布式計算環(huán)境中,由通過通信網(wǎng)絡而被連接的遠程處理設備來執(zhí)行任務。在分布式計算環(huán)境中,程序模塊可以位于包括存儲設備在內的本地和遠程計算機存儲介質中。
本說明書中的各個實施例均采用遞進的方式描述,各個實施例之間相同相似的部分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。尤其,對于系統(tǒng)實施例而言,由于其基本相似于方法實施例,所以描述的比較簡單,相關之處參見方法實施例的部分說明即可。
以上所述僅為本申請的實施例而已,并不用于限制本申請。對于本領域技術人員來說,本申請可以有各種更改和變化。凡在本申請的精神和原理之內所作的任何修改、等同替換、改進等,均應包含在本申請的權利要求范圍之內。