基于隱半馬爾可夫模型的云計(jì)算平臺(tái)系統(tǒng)故障預(yù)測(cè)方法
【專(zhuān)利摘要】本發(fā)明公開(kāi)一種基于隱半馬爾可夫模型的云計(jì)算平臺(tái)系統(tǒng)故障預(yù)測(cè)方法。具體步驟如下:從海量日志文件中提取錯(cuò)誤事件,并錯(cuò)誤事件賦予類(lèi)型和時(shí)間信息;將同一錯(cuò)誤事件的重復(fù)的報(bào)告合并為同一事件;將若干連續(xù)事件組合成事件序列,并根據(jù)是否對(duì)系統(tǒng)故障造成影響分成為故障相關(guān)事件序列和故障無(wú)關(guān)事件序列;根據(jù)序列似然值,對(duì)所有的事件序列進(jìn)行聚類(lèi)處理;在每一類(lèi)內(nèi)部進(jìn)行噪聲消除處理;分別計(jì)算實(shí)時(shí)提取出的事件序列與故障相關(guān)的HSMM和故障無(wú)關(guān)的HSMM的序列似然值,利用貝葉斯分類(lèi)器,通過(guò)計(jì)算判斷系統(tǒng)是否會(huì)發(fā)生故障。本發(fā)明基于機(jī)器學(xué)習(xí)的理論,實(shí)現(xiàn)了云計(jì)算平臺(tái)的實(shí)時(shí)系統(tǒng)故障預(yù)測(cè)的功能,并能夠提供準(zhǔn)確的故障預(yù)測(cè)結(jié)果和更高的整體性能。
【專(zhuān)利說(shuō)明】
基于隱半馬爾可夫模型的云計(jì)算平臺(tái)系統(tǒng)故障預(yù)測(cè)方法
技術(shù)領(lǐng)域
[0001] 本發(fā)明涉及到云計(jì)算平臺(tái)系統(tǒng)故障預(yù)測(cè)技術(shù),特別是涉及一種基于隱半馬爾可夫 模型的云計(jì)算平臺(tái)實(shí)時(shí)系統(tǒng)故障預(yù)測(cè)方法。
【背景技術(shù)】
[0002] 在傳統(tǒng)的云計(jì)算平臺(tái)運(yùn)維工作中,當(dāng)系統(tǒng)出現(xiàn)故障時(shí),運(yùn)維人員往往需要花費(fèi)一 定的時(shí)間用來(lái)排查故障解決問(wèn)題,這也導(dǎo)致了系統(tǒng)服務(wù)不穩(wěn)定甚至是服務(wù)暫停。因此,提前 對(duì)系統(tǒng)中可能發(fā)生的故障做出準(zhǔn)確的預(yù)測(cè),能夠?yàn)橄到y(tǒng)運(yùn)維人員預(yù)留出足夠的故障反應(yīng)時(shí) 間,提前處理問(wèn)題,從而避免系統(tǒng)故障的發(fā)生,對(duì)于提高系統(tǒng)服務(wù)的穩(wěn)定性和運(yùn)維工作的效 率有著極大的意義。
[0003] 云計(jì)算系統(tǒng)往往是一個(gè)大型松耦合的分布式系統(tǒng)集群,不同節(jié)點(diǎn)上的不同組件模 塊相互協(xié)同工作,共同對(duì)外提供服務(wù)。在計(jì)算機(jī)系統(tǒng)中,日志機(jī)制發(fā)揮著重要的作用,每個(gè) 模塊通過(guò)日志將系統(tǒng)中的動(dòng)作和操作記錄下來(lái),其中包含著豐富的信息和數(shù)據(jù)。傳統(tǒng)的運(yùn) 維方式通過(guò)系統(tǒng)運(yùn)維人員查看日志文件的方式來(lái)分析整個(gè)系統(tǒng)的運(yùn)行情況和服務(wù)情況。受 限于人的時(shí)間和精力,這種方式造成日志中許多有用的信息被忽略,從而導(dǎo)致了數(shù)據(jù)的大 量浪費(fèi)。
[0004] 在這樣的背景下,當(dāng)前在日志文件分析和數(shù)據(jù)挖掘方向的工作成為了研究熱點(diǎn), 特別是對(duì)于大規(guī)模分布式系統(tǒng)下的故障預(yù)測(cè)的研究工作,具有巨大的實(shí)際應(yīng)用價(jià)值。然而 目前在大規(guī)模分布式系統(tǒng)下的故障預(yù)測(cè)領(lǐng)域仍然缺乏一個(gè)比較成熟可靠的解決方案。
【發(fā)明內(nèi)容】
[0005] 本發(fā)明的目的是提供一種基于隱半馬爾可夫模型的云計(jì)算平臺(tái)系統(tǒng)故障預(yù)測(cè)方 法,實(shí)現(xiàn)了云計(jì)算平臺(tái)的實(shí)時(shí)系統(tǒng)故障預(yù)測(cè)的功能,并能夠提供準(zhǔn)確的故障預(yù)測(cè)結(jié)果和更 尚的整體性能。
[0006] 為解決上述問(wèn)題,本發(fā)明實(shí)施例提供一種基于隱半馬爾可夫模型的云計(jì)算平臺(tái)系 統(tǒng)故障預(yù)測(cè)方法,包括以下步驟:
[0007] 根據(jù)日志數(shù)據(jù)提取錯(cuò)誤事件;
[0008] 根據(jù)是否對(duì)系統(tǒng)故障造成影響,把錯(cuò)誤事件劃分為故障相關(guān)事件序列和故障無(wú)關(guān) 事件序列中;
[0009] 分別訓(xùn)練處故障相關(guān)事件序列的隱半馬爾可夫模型和故障無(wú)關(guān)事件序列的隱半 馬爾可夫模型,計(jì)算實(shí)時(shí)提取出的事件序列基于故障相關(guān)事件序列的隱半馬爾可夫模型的 序列似然值和故障無(wú)關(guān)事件序列的隱半馬爾可夫模型的序列似然值,利用貝葉斯分類(lèi)器判 斷系統(tǒng)未來(lái)是否會(huì)發(fā)生故障。
[0010] 進(jìn)一步地,所述根據(jù)日志數(shù)據(jù)提取錯(cuò)誤事件步驟包括實(shí)時(shí)地對(duì)云計(jì)算平臺(tái)生成的 日志數(shù)據(jù)的進(jìn)行處理,從非結(jié)構(gòu)化的日志文件中將其中所包含的錯(cuò)誤事件提取出來(lái),將類(lèi) 似的錯(cuò)誤事件記錄合并,并對(duì)得到的錯(cuò)誤事件賦予類(lèi)型和時(shí)間信息,
[0011] 進(jìn)一步地,所述根據(jù)日志數(shù)據(jù)提取錯(cuò)誤文件,其具體步驟如下:
[0012] 從云平臺(tái)中接收到日志數(shù)據(jù)之后,通過(guò)消息隊(duì)列中間件,將每一條日志記錄轉(zhuǎn)化 成為對(duì)應(yīng)的消息;
[0013]在消息隊(duì)列中間件中,只留下"ERROR"級(jí)別的日志記錄,同時(shí)只保留日志記錄的文 本信息和時(shí)間戳信息;
[0014] 基于編輯距離算法,將相似的錯(cuò)誤事件記錄合并分類(lèi),從而將所有的錯(cuò)誤事件記 錄簡(jiǎn)化成為類(lèi)型信息和時(shí)間戳的組合。
[0015] 作為一種可實(shí)施方式,所述故障預(yù)測(cè)方法還包括將同一個(gè)錯(cuò)誤事件的重復(fù)的報(bào)告 合并為同一事件,該步驟采用時(shí)間窗的方法,將所有到達(dá)時(shí)間小于閾值e的事件視為重復(fù)事 件,并將之合并。
[0016] 作為一種可實(shí)施方式,所述根據(jù)是否對(duì)系統(tǒng)故障造成影響,把錯(cuò)誤事件劃分為故 障相關(guān)事件序列和故障無(wú)關(guān)事件序列,具體步驟如下:
[0017] 根據(jù)時(shí)間窗口區(qū)間的設(shè)定,將同一窗口內(nèi)所有錯(cuò)誤事件組合成一個(gè)事件序列,并 根據(jù)是否對(duì)系統(tǒng)故障造成影響,將事件序列劃分成為故障相關(guān)事件序列和故障無(wú)關(guān)事件序 列。
[0018] 作為一種實(shí)施方式,所述故障預(yù)測(cè)方法還包括以下步驟:
[0019] 計(jì)算不同的事件序列之間的序列似然值,將序列似然值作為相似度對(duì)所有的事件 序列進(jìn)行聚類(lèi);
[0020] 在每一類(lèi)內(nèi)部進(jìn)行噪聲消除,得到精煉的事件序列。
[0021] 作為一種實(shí)施方式,所述序列似然值以相異度矩陣的形式保存,D(i,j)代表的是 FdPh之間的相異度,其計(jì)算公式如下:
[0023] 其中,F(xiàn)i代表一個(gè)故障相關(guān)事件序列,Mi是基于一個(gè)Fi訓(xùn)練出來(lái)的一個(gè)小的隱半馬 爾可夫模型。
[0024] 進(jìn)一步地,所述在每一類(lèi)內(nèi)部進(jìn)行噪聲消除,得到代表該類(lèi)別的事件序列,具體包 括以下步驟:
[0025] 在同一類(lèi)的事件序列內(nèi),計(jì)算每個(gè)事件基于具體的每個(gè)隱半馬爾可夫模型的先驗(yàn) 概率;
[0026] 在每個(gè)序列類(lèi)別中,按照系統(tǒng)發(fā)生的時(shí)間將序列進(jìn)行對(duì)齊操作,每個(gè)事件都根據(jù) 所在時(shí)間被劃分到指定的時(shí)間槽內(nèi);
[0027] 以時(shí)間槽為單位,頻率大于先驗(yàn)概率的事件即為故障相關(guān)事件,頻率小于先驗(yàn)概 率的事件則為故障無(wú)關(guān)事件,這些故障無(wú)關(guān)事件將被刪除。
[0028] 進(jìn)一步地,所述利用貝葉斯分類(lèi)器判斷系統(tǒng)未來(lái)是否會(huì)發(fā)生故障,具體包括以下 步驟:
[0029] 將這兩個(gè)序列似然值輸入到貝葉斯分類(lèi)器內(nèi),根據(jù)公式來(lái)進(jìn)行預(yù)測(cè)判斷,其計(jì)算 公式如下:
[0031] 其中,CFF表示錯(cuò)誤的將故障相關(guān)事件序列判斷成為故障無(wú)關(guān)事件序列所要的代 價(jià),P(F)表示發(fā)生系統(tǒng)故障的概率,P(〇|A)為計(jì)算得到的序列似然值;
[0032] 當(dāng)不等式成立時(shí),將這個(gè)事件序列標(biāo)記成為故障相關(guān)事件序列,當(dāng)不等式不成立 時(shí),將事件序列標(biāo)記為故障無(wú)關(guān)序列;
[0033] 對(duì)域系統(tǒng)中實(shí)時(shí)產(chǎn)生的每個(gè)序列,實(shí)時(shí)計(jì)算判斷,做出故障預(yù)測(cè)。
[0034] 進(jìn)一步地,對(duì)p(〇|AF)取對(duì)數(shù)處理。
[0035] 本方法由于采用以上所述的技術(shù)方案,其具有以下的優(yōu)點(diǎn):
[0036] 與傳統(tǒng)的故障預(yù)測(cè)技術(shù)所不同的是,本方法結(jié)合具體的云計(jì)算平臺(tái)使用場(chǎng)景,基 于隱半馬爾可夫模型,以事件序列為單位進(jìn)行分析。由于隱半馬爾可夫模型是對(duì)于隱馬爾 可夫模型的一種擴(kuò)展和改良,它將每個(gè)狀態(tài)的駐留時(shí)間對(duì)于具體狀態(tài)轉(zhuǎn)移概率的影響納入 到模型中,從而克服了隱馬爾可夫模型所存在的局限性,更加適合于實(shí)際云計(jì)算平臺(tái)的系 統(tǒng)故障預(yù)測(cè)的應(yīng)用場(chǎng)景。同時(shí)本方法引入了貝葉斯分類(lèi)理論將最后的預(yù)判問(wèn)題轉(zhuǎn)化成為分 類(lèi)問(wèn)題,提高了預(yù)測(cè)結(jié)果的準(zhǔn)確性。
[0037] 本方法所有的數(shù)據(jù)來(lái)源于實(shí)際場(chǎng)景中的日志數(shù)據(jù),其中包含著豐富的有效數(shù)據(jù), 同時(shí)本方法針對(duì)預(yù)測(cè)模型的特點(diǎn),對(duì)日志數(shù)據(jù)進(jìn)行了高效復(fù)雜地處理,從海量的數(shù)據(jù)中提 取出真正有效的信息,提高了方法的可行性和預(yù)測(cè)結(jié)果的準(zhǔn)確性。
[0038] 本方法能夠?qū)τ谑占瘉?lái)的數(shù)據(jù)進(jìn)行實(shí)時(shí)地計(jì)算處理,及時(shí)給出預(yù)測(cè)結(jié)果,為運(yùn)維 工作提供寶貴的反應(yīng)時(shí)間,提高系統(tǒng)服務(wù)的穩(wěn)定性和運(yùn)維工作的效率。
【附圖說(shuō)明】
[0039] 圖1是本發(fā)明實(shí)施例的基于隱半馬爾可夫模型的云計(jì)算平臺(tái)實(shí)時(shí)系統(tǒng)故障預(yù)測(cè)方 法的流程圖;
[0040] 圖2是本發(fā)明實(shí)施例的故障預(yù)測(cè)的過(guò)程圖。
【具體實(shí)施方式】
[0041] 下面結(jié)合附圖,通過(guò)具體實(shí)施例,對(duì)本發(fā)明的技術(shù)方案進(jìn)行清楚、完整的描述。
[0042] 如圖1所示,本發(fā)明基于隱半馬爾可夫模型(HSMM)的云計(jì)算平臺(tái)實(shí)時(shí)系統(tǒng)故障預(yù) 測(cè)方法通過(guò)對(duì)于云計(jì)算平臺(tái)中的日志數(shù)據(jù)進(jìn)行細(xì)致的處理分析,目的是能夠?qū)㈦[含在海量 的日志數(shù)據(jù)中的豐富信息挖掘出來(lái),從而能夠?qū)ξ磥?lái)可能發(fā)生的系統(tǒng)故障做出準(zhǔn)確的預(yù) 測(cè),保障系統(tǒng)服務(wù)的穩(wěn)定性和延續(xù)性。具體步驟如下:
[0043] S100,實(shí)時(shí)地對(duì)云計(jì)算平臺(tái)生成的日志數(shù)據(jù)的進(jìn)行處理,從非結(jié)構(gòu)化的日志文件 中將其中所包含的錯(cuò)誤事件提取出來(lái),然后使用編輯距離算法將類(lèi)似的錯(cuò)誤事件記錄合 并,并對(duì)得到的錯(cuò)誤事件賦予類(lèi)型和時(shí)間信息。
[0044] 步驟S100的主要作用是從海量的非結(jié)構(gòu)化的數(shù)據(jù)中將其中的有效數(shù)據(jù)提取出來(lái), 組成事件,然后再將這些事件組合成為事件序列。具體的實(shí)時(shí)過(guò)程包括以下內(nèi)容:
[0045] 從云平臺(tái)中接收到日志數(shù)據(jù)之后,通過(guò)消息隊(duì)列中間件,將每一條日志記錄轉(zhuǎn)化 成為對(duì)應(yīng)的消息,在消息隊(duì)列中,所有的日志記錄被初步格式化成為消息,包括了日志的來(lái) 源,日志內(nèi)容,日志級(jí)別,事件信息等關(guān)鍵內(nèi)容;
[0046]在消息隊(duì)列中間件中,將所有的日志級(jí)別不是"ERROR"的日志記錄過(guò)濾剔除,只留 下"ERROR"的日志記錄,同時(shí)只保留日志記錄的文本信息和時(shí)間戳信息;
[0047]基于Levenshtein編輯距離算法,將相似的錯(cuò)誤事件記錄合并分類(lèi),從而將所有的 錯(cuò)誤事件記錄簡(jiǎn)化成為類(lèi)型信息和時(shí)間戳的組合。
[0048] S200,將這些記錄中,將同一個(gè)錯(cuò)誤事件的重復(fù)的報(bào)告合并為同一事件。
[0049] 步驟S200的主要作用是將合并日志文件中的重復(fù)事件記錄,由于在日志機(jī)制中, 日志文件中可能會(huì)存在多條的記錄,稱(chēng)為重復(fù)事件。對(duì)于重復(fù)事件的合并有許多研究和應(yīng) 用,根據(jù)系統(tǒng)的特點(diǎn),本發(fā)明采用時(shí)間窗的方法,將所有到達(dá)時(shí)間小于一個(gè)閾值e的事件視 為重復(fù)事件,并將之合并。重復(fù)事件合并效果的好壞關(guān)鍵在于e的取值,具體的取值應(yīng)結(jié)合 具體系統(tǒng)實(shí)驗(yàn)決定。
[0050] S300,根據(jù)具體的提取規(guī)則和時(shí)間窗大小,將若干個(gè)合并后連續(xù)的錯(cuò)誤事件組合 成為事件序列,并將事件序列劃分成為故障相關(guān)事件序列和故障無(wú)關(guān)事件序列。
[0051 ]步驟S300的主要作用是將分散的錯(cuò)誤事件記錄綁定成為一個(gè)完整的事件序列,以 事件序列為單位進(jìn)行計(jì)算。在完成錯(cuò)誤事件的提取之后,這一步的目的是將分散的錯(cuò)誤事 件組合成為事件序列。按照一定的時(shí)間窗口區(qū)間,將同一個(gè)窗口內(nèi)的所有的錯(cuò)誤事件串聯(lián) 起來(lái)成為一個(gè)事件序列,同時(shí)根據(jù)該序列是否導(dǎo)致了系統(tǒng)故障,將所有的事件序列劃分成 為故障相關(guān)事件序列和故障無(wú)關(guān)事件序列。所謂的故障相關(guān)事件序列是指在可能引起系統(tǒng) 故障的系統(tǒng)錯(cuò)誤事件的集合。
[0052] S400,計(jì)算不同的序列之間的"序列似然值"作為相似度,對(duì)所有的事件序列進(jìn)行 聚類(lèi)。
[0053]步驟S400的目的是對(duì)得到的日志事件序列進(jìn)行進(jìn)一步的聚類(lèi)處理,聚類(lèi)的目的是 為了將同一類(lèi)的序列劃分到一起。采用層次聚類(lèi)的方法,使用序列似然值作為度量值來(lái)計(jì) 算序列之間的相似度。
[0054]本發(fā)明根據(jù)實(shí)際應(yīng)用,采用序列似然值作為相似度的度量值進(jìn)行計(jì)算,并將序列 似然值以相異度矩陣的形式保存。在本發(fā)明中,對(duì)象FHf表一個(gè)故障相關(guān)事件序列,D(i,j) 代表的是FjPh之間的相異度,D(i,j)越小表示兩個(gè)序列越相似,it是基于一個(gè)巧訓(xùn)練出來(lái) 的一個(gè)小的HSMM,訓(xùn)練的最終目標(biāo)是不斷地調(diào)整HSMM的各種參數(shù),使得最終的序列似然值 盡可能高。D(i, j)的計(jì)算公式如下:
[0056]其中P(Fi | Mj)表示Fi相對(duì)應(yīng)與Mj的似然值,似然值越大表示Fi和Fj之間的相似程度 越高,為了避免數(shù)據(jù)的顛簸,保證數(shù)值的穩(wěn)定性,對(duì)計(jì)算結(jié)果進(jìn)行取對(duì)數(shù)處理。
[0057] S500,在每一類(lèi)內(nèi)部進(jìn)行噪聲消除,通過(guò)對(duì)比計(jì)算,得到代表該類(lèi)別的事件序列。
[0058] 步驟S500的作用是對(duì)每一類(lèi)中的事件序列進(jìn)行噪聲過(guò)濾處理,通過(guò)將各個(gè)類(lèi)別中 的事件序列的噪聲剔除了,得到精煉的事件序列進(jìn)行計(jì)算。
[0059]在系統(tǒng)故障發(fā)生之前,同一類(lèi)的事件序列中,故障發(fā)生的錯(cuò)誤事件出現(xiàn)的概率會(huì) 明顯的高于其他的故障無(wú)關(guān)事件序列。根據(jù)這一特點(diǎn),事件序列的噪聲消除工作具體實(shí)施 過(guò)程包括了以下幾個(gè)步驟:
[0060]在同一類(lèi)的事件序列內(nèi),計(jì)算每個(gè)事件序列基于具體的每個(gè)HSMM的先驗(yàn)概率,先 驗(yàn)概率值越高,則說(shuō)明這個(gè)事件在系統(tǒng)故障發(fā)生前出現(xiàn)的概率越大;
[0061 ]在每個(gè)事件序列類(lèi)別中,按照系統(tǒng)發(fā)生的時(shí)間將事件序列進(jìn)行對(duì)齊操作,每個(gè)事 件序列都根據(jù)所在時(shí)間被劃分到指定的時(shí)間槽內(nèi);
[0062] 以時(shí)間槽為單位,對(duì)每個(gè)時(shí)間槽內(nèi)的所有事件序列里同一個(gè)事件發(fā)生的頻率,將 這個(gè)頻率與先驗(yàn)概率相比,頻率大于先驗(yàn)概率的即為故障相關(guān)事件,頻率小于先驗(yàn)概率的 則為故障無(wú)關(guān)事件,這些故障無(wú)關(guān)事件將被剔除。
[0063] S600,在訓(xùn)練階段,將得到的事件序列分成故障相關(guān)序列和故障無(wú)關(guān)序列,分別訓(xùn) 練出故障相關(guān)事件序列的HSMM和故障無(wú)關(guān)事件序列的HSMM。在線(xiàn)上的實(shí)時(shí)故障預(yù)測(cè)階段, 分別計(jì)算實(shí)時(shí)提取出的事件序列基于故障相關(guān)的HSMM的序列似然值和故障無(wú)關(guān)的HS匪的 序列似然值,將兩個(gè)序列似然值輸入到貝葉斯分類(lèi)器內(nèi),通過(guò)計(jì)算判斷系統(tǒng)未來(lái)是否會(huì)發(fā) 生故障。
[0064] 步驟S600是最終的故障預(yù)測(cè)步驟,如圖2所示,步驟6的具體實(shí)施過(guò)程如下所示:
[0065] 首先計(jì)算出待檢測(cè)的事件序列相對(duì)于故障相關(guān)HSMM和故障無(wú)關(guān)的HSMM的序列似 然值,將這兩個(gè)似然值輸入到貝葉斯分類(lèi)器內(nèi),根據(jù)公式:
[0067] 來(lái)做最后的預(yù)測(cè)判斷。當(dāng)不等式成立時(shí),將這個(gè)事件序列標(biāo)記成為故障相關(guān)事件 序列,當(dāng)不等式不成立時(shí),將事件序列標(biāo)記為故障無(wú)關(guān)序列。其中P(〇|A)為計(jì)算得到的序列 似然值,由觀測(cè)值和HSMM唯一確定。對(duì)序列似然值取對(duì)數(shù)處理,能夠避免序列似然值快速縮 小從而導(dǎo)致值太小溢出的問(wèn)題。其中C FF表示錯(cuò)誤的將故障相關(guān)事件序列判斷成為故障無(wú)關(guān) 事件序列所要的代價(jià),P(F)表示發(fā)生系統(tǒng)故障的概率。通過(guò)這樣層層的計(jì)算,對(duì)域系統(tǒng)中實(shí) 時(shí)產(chǎn)生的每個(gè)序列,可以高效地進(jìn)行實(shí)時(shí)計(jì)算判斷,做出故障預(yù)測(cè)。
[0068] 本方法由于采用以上所述的技術(shù)方案,其具有以下的優(yōu)點(diǎn):
[0069]與傳統(tǒng)的故障預(yù)測(cè)技術(shù)所不同的是,本方法結(jié)合具體的云計(jì)算平臺(tái)使用場(chǎng)景,基 于隱半馬爾可夫模型,以事件序列為單位進(jìn)行分析。由于隱半馬爾可夫模型是對(duì)于隱馬爾 可夫模型的一種擴(kuò)展和改良,它將每個(gè)狀態(tài)的駐留時(shí)間對(duì)于具體狀態(tài)轉(zhuǎn)移概率的影響納入 到模型中,從而克服了隱馬爾可夫模型所存在的局限性,更加適合于實(shí)際云計(jì)算平臺(tái)的系 統(tǒng)故障預(yù)測(cè)的應(yīng)用場(chǎng)景。同時(shí)本方法引入了貝葉斯分類(lèi)理論將最后的預(yù)判問(wèn)題轉(zhuǎn)化成為分 類(lèi)問(wèn)題,提高了預(yù)測(cè)結(jié)果的準(zhǔn)確性。
[0070] 本方法所有的數(shù)據(jù)來(lái)源于實(shí)際場(chǎng)景中的日志數(shù)據(jù),其中包含著豐富的有效數(shù)據(jù), 同時(shí)本方法針對(duì)預(yù)測(cè)模型的特點(diǎn),對(duì)日志數(shù)據(jù)進(jìn)行了高效復(fù)雜地處理,從海量的數(shù)據(jù)中提 取出真正有效的信息,提高了方法的可行性和預(yù)測(cè)結(jié)果的準(zhǔn)確性。
[0071] 本方法能夠?qū)τ谑占瘉?lái)的數(shù)據(jù)進(jìn)行實(shí)時(shí)地計(jì)算處理,及時(shí)給出預(yù)測(cè)結(jié)果,為運(yùn)維 工作提供寶貴的反應(yīng)時(shí)間,提高系統(tǒng)服務(wù)的穩(wěn)定性和運(yùn)維工作的效率。
[0072] 本發(fā)明雖然已以較佳實(shí)施例公開(kāi)如上,但其并不是用來(lái)限定本發(fā)明,任何本領(lǐng)域 技術(shù)人員在不脫離本發(fā)明的精神和范圍內(nèi),都可以利用上述揭示的方法和技術(shù)內(nèi)容對(duì)本發(fā) 明技術(shù)方案做出可能的變動(dòng)和修改,因此,凡是未脫離本發(fā)明技術(shù)方案的內(nèi)容,依據(jù)本發(fā)明 的技術(shù)實(shí)質(zhì)對(duì)以上實(shí)施例所作的任何簡(jiǎn)單修改、等同變化及修飾,均屬于本發(fā)明技術(shù)方案 的保護(hù)范圍。
【主權(quán)項(xiàng)】
1. 一種基于隱半馬爾可夫模型的云計(jì)算平臺(tái)系統(tǒng)故障預(yù)測(cè)方法,其特征在于,包括以 下步驟: 根據(jù)日志數(shù)據(jù)提取錯(cuò)誤事件; 根據(jù)是否對(duì)系統(tǒng)故障造成影響,把錯(cuò)誤事件劃分為故障相關(guān)事件序列和故障無(wú)關(guān)事件 序列; 分別訓(xùn)練處故障相關(guān)事件序列的隱半馬爾可夫模型和故障無(wú)關(guān)事件序列的隱半馬爾 可夫模型,計(jì)算實(shí)時(shí)提取出的事件序列基于故障相關(guān)事件序列的隱半馬爾可夫模型的序列 似然值和故障無(wú)關(guān)事件序列的隱半馬爾可夫模型的序列似然值,利用貝葉斯分類(lèi)器判斷系 統(tǒng)未來(lái)是否會(huì)發(fā)生故障。2. 如權(quán)利要求1所述的基于隱半馬爾可夫模型的云計(jì)算平臺(tái)系統(tǒng)故障預(yù)測(cè)方法,其特 征在于,所述根據(jù)日志數(shù)據(jù)提取錯(cuò)誤事件步驟包括實(shí)時(shí)地對(duì)云計(jì)算平臺(tái)生成的日志數(shù)據(jù)的 進(jìn)行處理,從非結(jié)構(gòu)化的日志文件中將其中所包含的錯(cuò)誤事件提取出來(lái),將類(lèi)似的錯(cuò)誤事 件記錄合并,并對(duì)得到的錯(cuò)誤事件賦予類(lèi)型和時(shí)間信息。3. 如權(quán)利要求1或2所述的基于隱半馬爾可夫模型的云計(jì)算平臺(tái)系統(tǒng)故障預(yù)測(cè)方法,其 特征在于,所述根據(jù)日志數(shù)據(jù)提取錯(cuò)誤文件,其具體步驟如下: 從云平臺(tái)中接收到日志數(shù)據(jù)之后,通過(guò)消息隊(duì)列中間件,將每一條日志記錄轉(zhuǎn)化成為 對(duì)應(yīng)的消息; 在消息隊(duì)列中間件中,只留下"ERROR"級(jí)別的日志記錄,同時(shí)只保留日志記錄的文本信 息和時(shí)間戳信息; 基于編輯距離算法,將相似的錯(cuò)誤事件記錄合并分類(lèi),從而將所有的錯(cuò)誤事件記錄簡(jiǎn) 化成為類(lèi)型信息和時(shí)間戳的組合。4. 如權(quán)利要求1所述的基于隱半馬爾可夫模型的云計(jì)算平臺(tái)系統(tǒng)故障預(yù)測(cè)方法,其特 征在于,所述故障預(yù)測(cè)方法還包括將同一個(gè)錯(cuò)誤事件的重復(fù)的報(bào)告合并為同一事件,該步 驟采用時(shí)間窗的方法,將所有到達(dá)時(shí)間小于閾值ε的事件視為重復(fù)事件,并將之合并。5. 如權(quán)利要求1所述的基于隱半馬爾可夫模型的云計(jì)算平臺(tái)系統(tǒng)故障預(yù)測(cè)方法,其特 征在于,所述根據(jù)是否對(duì)系統(tǒng)故障造成影響,把錯(cuò)誤事件劃分為故障相關(guān)事件序列和故障 無(wú)關(guān)事件序列,具體步驟如下: 根據(jù)時(shí)間窗口區(qū)間的設(shè)定,將同一窗口內(nèi)所有錯(cuò)誤事件組合成一個(gè)事件序列,并根據(jù) 是否對(duì)系統(tǒng)故障造成影響,將事件序列劃分成為故障相關(guān)事件序列和故障無(wú)關(guān)事件序列。6. 如權(quán)利要求5所述的基于隱半馬爾可夫模型的云計(jì)算平臺(tái)系統(tǒng)故障預(yù)測(cè)方法,其特 征在于,所述故障預(yù)測(cè)方法還包括以下步驟: 計(jì)算不同的事件序列之間的序列似然值,將序列似然值作為相似度對(duì)所有的事件序列 進(jìn)行聚類(lèi); 在每一類(lèi)內(nèi)部進(jìn)行噪聲消除,得到精煉的事件序列。7. 如權(quán)利要求6所述的基于隱半馬爾可夫模型的云計(jì)算平臺(tái)系統(tǒng)故障預(yù)測(cè)方法,其特 征在于,所述序列似然值以相異度矩陣的形式保存,D(i,j)代表的是FdPF j之間的相異度, 其計(jì)算公式如下:其中,F(xiàn)1代表一個(gè)故障相關(guān)事件序列,M1是基于一個(gè)巧訓(xùn)練出來(lái)的一個(gè)小的隱半馬爾可 夫模型。8. 如權(quán)利要求6所述的基于隱半馬爾可夫模型的云計(jì)算平臺(tái)系統(tǒng)故障預(yù)測(cè)方法,其特 征在于,所述在每一類(lèi)內(nèi)部進(jìn)行噪聲消除,得到代表該類(lèi)別的事件序列,具體包括以下步 驟: 在同一類(lèi)的事件序列內(nèi),計(jì)算每個(gè)事件基于具體的每個(gè)隱半馬爾可夫模型的先驗(yàn)概 率; 在每個(gè)序列類(lèi)別中,按照系統(tǒng)發(fā)生的時(shí)間將序列進(jìn)行對(duì)齊操作,每個(gè)事件都根據(jù)所在 時(shí)間被劃分到指定的時(shí)間槽內(nèi); 以時(shí)間槽為單位,頻率大于先驗(yàn)概率的事件即為故障相關(guān)事件,頻率小于先驗(yàn)概率的 事件則為故障無(wú)關(guān)事件,這些故障無(wú)關(guān)事件將被刪除。9. 如權(quán)利要求1所述的基于隱半馬爾可夫模型的云計(jì)算平臺(tái)系統(tǒng)故障預(yù)測(cè)方法,其特 征在于,所述利用貝葉斯分類(lèi)器判斷系統(tǒng)未來(lái)是否會(huì)發(fā)生故障,具體包括以下步驟: 將這兩個(gè)序列似然值輸入到貝葉斯分類(lèi)器內(nèi),根據(jù)公式來(lái)進(jìn)行預(yù)測(cè)判斷,其計(jì)算公式 如下:其中,Cff表示錯(cuò)誤的將故障相關(guān)事件序列判斷成為故障無(wú)關(guān)事件序列所要的代價(jià),P (F)表示發(fā)生系統(tǒng)故障的概率,Ρ(〇|λ)為計(jì)算得到的序列似然值; 當(dāng)不等式成立時(shí),將這個(gè)事件序列標(biāo)記成為故障相關(guān)事件序列,當(dāng)不等式不成立時(shí),將 事件序列標(biāo)記為故障無(wú)關(guān)序列; 對(duì)域系統(tǒng)中實(shí)時(shí)產(chǎn)生的每個(gè)序列,實(shí)時(shí)計(jì)算判斷,做出故障預(yù)測(cè)。10. 如權(quán)利要求8所述的基于隱半馬爾可夫模型的云計(jì)算平臺(tái)系統(tǒng)故障預(yù)測(cè)方法,其特 征在于,對(duì)ρ(0 |知)取對(duì)數(shù)處理。
【文檔編號(hào)】G06F11/30GK105893208SQ201610195766
【公開(kāi)日】2016年8月24日
【申請(qǐng)日】2016年3月31日
【發(fā)明人】曹暉, 壽黎但, 張之宣
【申請(qǐng)人】城云科技(杭州)有限公司