本發(fā)明涉及日志分析技術領域,尤其涉及一種基于本體知識庫的半自動日志分析方法及系統(tǒng)。
背景技術:
本體(Ontology)的概念誕生于古希臘哲學領域,對于本體,國內(nèi)認知度較高的一種翻譯是本體論,從上個世紀90年代至今,本體論已經(jīng)發(fā)展成為人工智能領域最具吸引力的課題之一,本體論吸引了國內(nèi)外諸多學者的關注目光,并被廣泛地應用到包括物理領域、生物領域、化學領域、醫(yī)學領域以及語言學領域在內(nèi)的眾多學科領域中。
然而,對于將本體論應用到日志分析的報道幾乎沒有,目前通常需要耗費巨大的人力資源去分析日志,完成debug工作。
因此,現(xiàn)有技術還有待于改進和發(fā)展。
技術實現(xiàn)要素:
鑒于上述現(xiàn)有技術的不足,本發(fā)明的目的在于提供一種基于本體知識庫的半自動日志分析方法及系統(tǒng),旨在解決現(xiàn)有的日志分析方法,人力資源消耗大、效率低的問題。
本發(fā)明的技術方案如下:
一種基于本體知識庫的半自動日志分析方法,其中,包括步驟:
A、當程序運行出現(xiàn)異常事件時,獲取異常日志和用于對比的正常日志;
B、訪問本體知識庫,判斷所述異常事件是否存在于所述本體知識庫中,當是時,則將標志位clusterMark設置為false,同時在本體知識庫中取出所述異常事件對應的特征值集合,進入步驟C;當否時,則將標志位clusterMark設置為true,通過聚類分析從本體知識庫中找出與所述異常事件距離最近的簇,并取出所述簇的特征值集合,進入步驟C;
C、對特征值集合中的特征值進行優(yōu)先級排序,按優(yōu)先級先后順序依次檢查所述異常日志中與所述特征值對應的值是否異常,當是時,則記錄所述異常日志中的異常特征值,同時設置標志位unReaValMark為true,進入步驟D;
D、判斷標志位clusterMark是否為false,當是時,則根據(jù)本體知識庫的描述,輸出結果分析報告,進入步驟G;當否時,則進入步驟E;
E、更新概念格和本體知識庫;
F、判斷標志位unReaValMark是否為true,并根據(jù)判定結果做出相應的處理,進入步驟G;
G、將各操作信息數(shù)據(jù)更新到關聯(lián)數(shù)據(jù)庫中,結束流程。
較佳地,所述的基于本體知識庫的半自動日志分析方法,其中,所述步驟C具體包括:
C1、采用公式計算特征值的優(yōu)先級,并將所述特征值按優(yōu)先級高低排序,Pe值越小,表示優(yōu)先級越高,其中,e為特征值,ωe為調(diào)控系數(shù),ke為核心系數(shù),所述ke通過公式計算所得,其中所述fe為特征值e的出現(xiàn)頻次,所述ne為特征值e對應的充分必要事件的個數(shù);
C2、按優(yōu)先級先后順序依次檢查所述異常日志中與所述特征值對應的值是否異常,當檢查到異常日志中存在一個異常特征值時,則結束檢查。
較佳地,所述的基于本體知識庫的半自動日志分析方法,其中,所述步驟D具體包括:
D1、當判定標志位clusterMark為false時,則根據(jù)本體知識庫的描述,輸出結果分析報告,同時根據(jù)異常特征值,查找所述本體知識庫中與異常特征值有關聯(lián)的事件,輸出現(xiàn)象預測報告,進入步驟G;
D2、當判定標志位clusterMark為true時,則進入步驟E。
較佳地,所述的基于本體知識庫的半自動日志分析方法,其中,所述步驟F具體包括:
F1、當判定標志位unReaValMark為true時,表明異常特征值存在于更新后的本體庫中,則根據(jù)更新后的本體知識庫的描述,輸出結果分析報告,進入步驟G;
F2、當判定標志位unReaValMark為false時,表明異常特征值不存在與更新后的本體庫中,直接進入步驟G。
較佳地,所述的基于本體知識庫的半自動日志分析方法,其中,所述操作信息數(shù)據(jù)具體包括:
結果分析報告、現(xiàn)象預測報告、新增異常特征值、新增異常事件、新增概念格節(jié)點以及新增日志。
一種基于本體知識庫的半自動日志分析系統(tǒng),其中,包括:
獲取模塊,用于當程序運行出現(xiàn)異常事件時,獲取異常日志和用于對比的正常日志;
特征值提取模塊,用于訪問本體知識庫,判斷所述異常事件是否存在于所述本體知識庫中,當是時,則將標志位clusterMark設置為false,同時在本體知識庫中取出所述異常事件對應的特征值集合,進入檢查模塊;當否時,則將標志位clusterMark設置為true,通過聚類分析從本體知識庫中找出與所述異常事件距離最近的簇,并取出所述簇的特征值集合,進入檢查模塊;
檢查模塊,用于對特征值集合中的特征值進行優(yōu)先級排序,按優(yōu)先級先后順序依次檢查所述異常日志中與所述特征值對應的值是否異常,當是時,則記錄所述異常日志中的異常特征值,同時設置標志位unReaValMark為true,進入第一判斷模塊;
第一判斷模塊,用于判斷標志位clusterMark是否為false,當是時,則根據(jù)本體知識庫的描述,輸出結果分析報告,進入第二更新模塊;當否時,則進入第一更新模塊;
第一更新模塊,用于更新概念格和本體知識庫;
第二判斷模塊,用于判斷標志位unReaValMark是否為true,并根據(jù)判定結果做出相應的處理,進入第二更新模塊;
第二更新模塊,用于將各操作信息數(shù)據(jù)更新到關聯(lián)數(shù)據(jù)庫中,結束流程。
較佳地,所述的基于本體知識庫的半自動日志分析系統(tǒng),其中,所述檢查模塊具體包括:
排序單元,采用公式計算特征值的優(yōu)先級,并將所述特征值按優(yōu)先級高低排序,Pe值越小,表示優(yōu)先級越高,其中,e為特征值,ωe為調(diào)控系數(shù),ke為核心系數(shù),所述ke通過公式計算所得,其中所述fe為特征值e的出現(xiàn)頻次,所述ne為特征值e對應的充分必要事件的個數(shù);
檢查單元,用于按優(yōu)先級先后順序依次檢查所述異常日志中與所述特征值對應的值是否異常,當檢查到異常日志中存在一個異常特征值時,則結束檢查。
較佳地,所述的基于本體知識庫的半自動日志分析系統(tǒng),其中,所述第一判斷模塊具體包括:
第一輸出單元,用于當判定標志位clusterMark為false時,則根據(jù)本體知識庫的描述,輸出結果分析報告,同時根據(jù)異常特征值,查找所述本體知識庫中與異常特征值有關聯(lián)的事件,輸出現(xiàn)象預測報告,進入第二更新模塊;
第一跟進單元,用于當判定標志位clusterMark為true時,則進入第一更新模塊。
較佳地,所述的基于本體知識庫的半自動日志分析系統(tǒng),其中,所述第二判斷模塊具體包括:
第二輸出單元,用于當判定標志位unReaValMark為true時,表明異常特征值存在于更新后的本體庫中,則根據(jù)更新后的本體知識庫的描述,輸出結果分析報告,進入第二更新模塊;
第二跟進單元,用于當判定標志位unReaValMark為false時,表明異常特征值不存在與更新后的本體庫中,直接進入第二更新模塊。
較佳地,所述的基于本體知識庫的半自動日志分析系統(tǒng),其中,所述操作信息數(shù)據(jù)具體包括:
結果分析報告、現(xiàn)象預測報告、新增異常特征值、新增異常事件、新增概念格節(jié)點以及新增日志。
有益效果:本發(fā)明提供了一種基于本體知識庫的半自動日志分析方法及系統(tǒng),具體地,基于本體知識庫理論,通過將本體知識庫應用到智能日志分析領域,初步解放人力,減少了人力資源消耗,同時顯著提高了debug工作效率。
附圖說明
圖1為本發(fā)明的一種基于本體知識庫的半自動日志分析方法較佳實施例的流程圖。
圖2為本發(fā)明的一種基于本體知識庫的半自動日志分析系統(tǒng)較佳實施例的結構框圖。
具體實施方式
本發(fā)明提供一種基于本體知識庫的半自動日志分析方法及系統(tǒng),為使本發(fā)明的目的、技術方案及效果更加清楚、明確,以下對本發(fā)明進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
請參閱圖1,圖1為本發(fā)明一種基于本體知識庫的半自動日志分析方法較佳實施例的流程圖,如圖1所示,其包括步驟:
S100、當程序運行出現(xiàn)異常事件時,獲取異常日志和用于對比的正常日志;
具體來說,所述正常日志和異常日志需要具有一定的可對比性。
S110、訪問本體知識庫,判斷所述異常事件是否存在于所述本體知識庫中,當是時,則將標志位clusterMark設置為false,同時在本體知識庫中取出所述異常事件對應的特征值集合,進入步驟S120;當否時,則將標志位clusterMark設置為true,通過聚類分析從本體知識庫中找出與所述異常事件距離最近的簇,并取出所述簇的特征值集合,進入步驟S120;
具體來說,當判定所述異常事件存在于所述本體知識庫中時,則直接在本體知識庫中取出異常事件對應的特征值集合,進入步驟S120;當判定所述異常事件不存在于所述本體知識庫中時,則需要通過聚類分析從本體知識庫中找出與所述異常事件距離最近的簇,具體地,本發(fā)明可采用常用的K-means算法將所述異常事件和本體知識庫中的所有事件進行聚類分析,迭代完成的聚類分析結果會生成多個聚類簇,,找出所述異常事件所述的聚類簇,然后找出所述聚類簇的特征值集合,進入步驟S120。
S120、對特征值集合中的特征值進行優(yōu)先級排序,按優(yōu)先級先后順序依次檢查所述異常日志中與所述特征值對應的值是否異常,當是時,則記錄所述異常日志中的異常特征值,同時設置標志位unReaValMark為true,進入步驟S130;若檢查結束時,還未發(fā)現(xiàn)異常,則通過領域?qū)<腋深A得到新的特征值,并設置標志位unReaValMark為false,進入步驟S140;
進一步,所述步驟S120具體包括:
S121、采用公式計算特征值的優(yōu)先級,并將所述特征值按優(yōu)先級高低排序,Pe值越小,表示優(yōu)先級越高,其中,e為特征值,ωe為調(diào)控系數(shù),ke為核心系數(shù),所述ke通過公式計算所得,其中所述fe為特征值e的出現(xiàn)頻次,即特征值e在歷次分析的日志中出現(xiàn)的頻次統(tǒng)計;所述ne為特征值e對應的充分必要事件的個數(shù);
具體地,在細化的方案中,如果一個特征值發(fā)現(xiàn)異常,此時如果該特征值不是該事件的充要條件,并不會終止特征值遍歷,反之,則立即終止遍歷。因此,特征值e對應的充分必要事件的個數(shù)越多,則優(yōu)先檢查特征值e可以越多的節(jié)省計算資源。
S122、按優(yōu)先級先后順序依次檢查所述異常日志中與所述特征值對應的值是否異常,當檢查到異常日志中存在一個異常特征值時,則結束檢查。
具體來說,在上述步驟中,只要找到異常特征值,就跳出循環(huán),不在查找優(yōu)先級排在異常特征值后面的特征值集合,這樣做的優(yōu)勢在于,可以有效的節(jié)約計算資源。
S130、判斷標志位clusterMark是否為false,當是時,則根據(jù)本體知識庫的描述,輸出結果分析報告,進入步驟S160;當否時,則進入步驟S140;
進一步,所述步驟S130具體包括:
S131、當判定標志位clusterMark為false時,則根據(jù)本體知識庫的描述,輸出結果分析報告,同時根據(jù)異常特征值,查找所述本體知識庫中與異常特征值有關聯(lián)的事件,輸出現(xiàn)象預測報告,進入步驟S160;
具體地,所述結果分析報告是指debug結果,即給出所述異常事件對應的根本原因的詳細描述;所述現(xiàn)象預測報告的功能是:參照多次迭代出的概念格,給出已出現(xiàn)的異常特征值還會影響到的現(xiàn)象集,所述現(xiàn)象集根據(jù)層級可以分為:必定發(fā)生的現(xiàn)象、可能發(fā)生的現(xiàn)象,這項功能充分利用了本體知識庫的特性。
進一步,所述現(xiàn)象預測報告還具有更多的現(xiàn)實意義,比如測試資源的節(jié)約,同源現(xiàn)象的debug資源節(jié)約以及緊急bug的風險計算等。
S132、當判定標志位clusterMark為true時,則進入S140、
S140、更新概念格和本體知識庫;
具體地,在本發(fā)明中,所述概念格,它是一種根據(jù)形式背景中對象和屬性之間的二元偏序關系建立的層次結構,是形式概念分析理論中的核心數(shù)據(jù)結構。所述概念格中的節(jié)點體現(xiàn)了概念內(nèi)涵和外延的統(tǒng)一,非常適合規(guī)則的發(fā)現(xiàn)和推理,目前這種數(shù)據(jù)結構被廣泛應用于不同的領域中,在本發(fā)明中,所述概念格作為核心數(shù)據(jù)結構應用與本體知識庫的創(chuàng)建中。
進一步,所述形式背景是由事件集合G和屬性集合M以及表示G和M之間的關系I組成,在本發(fā)明中所述事件集合G中的事件即對應異常事件,所述屬性集合M中的屬性即對應異常特征值。
具體來說,對所述概念格進行更新,即通過添加新的異常事件或新的異常特征值對概念格進行更新;進一步,基于概念格對所述本體知識庫進行更新這一部分內(nèi)容已經(jīng)有成熟的理論基礎,不再贅述。
S150、判斷標志位unReaValMark是否為true,并根據(jù)判定結果做出相應的處理,進入步驟S160;
進一步,所述步驟S150具體包括:
S151、當判定標志位unReaValMark為true時,表明異常特征值存在于更新后的本體庫中,則根據(jù)更新后的本體知識庫的描述,輸出結果分析報告,進入步驟S160;
具體地,當判定標志位unReaValMark為true時,表明異常特征值存在于更新后的本體庫中,也就是說所述步驟S140中,概念格和本體知識庫的更新是由新的異常事件的添加引起的。
S152、當判定標志位unReaValMark為false時,表明異常特征值不存在與更新后的本體庫中,直接進入步驟S160。
具體地,當判定標志位unReaValMark為false時,表明異常特征值不存在與更新后的本體庫中,也就是說所述步驟S140中,概念格和本體知識庫的更新是由新的異常特征值的添加引起的。
S160、將各操作信息數(shù)據(jù)更新到關聯(lián)數(shù)據(jù)庫中,結束流程。
具體來說,所述操作信息數(shù)據(jù)具體包括:結果分析報告、現(xiàn)象預測報告、新增異常特征值、新增異常事件、新增概念格節(jié)點以及新增日志。可以將所述關聯(lián)數(shù)據(jù)庫理解為一個存儲著大量的、不完全的、有噪聲的數(shù)據(jù)的容器,它存在的目的是為下一步的指示提取、數(shù)據(jù)挖掘以及語義分析等提供數(shù)據(jù)基礎。
基于上述方法,本發(fā)明還提供一種基于本體知識庫的半自動日志分析的系統(tǒng)較佳實施例,如圖2所示,其包括:
獲取模塊100,用于當程序運行出現(xiàn)異常事件時,獲取異常日志和用于對比的正常日志;
特征值提取模塊200,用于訪問本體知識庫,判斷所述異常事件是否存在于所述本體知識庫中,當是時,則將標志位clusterMark設置為false,同時在本體知識庫中取出所述異常事件對應的特征值集合,進入檢查模塊;當否時,則將標志位clusterMark設置為true,通過聚類分析從本體知識庫中找出與所述異常事件距離最近的簇,并取出所述簇的特征值集合,進入檢查模塊;
檢查模塊300,用于對特征值集合中的特征值進行優(yōu)先級排序,按優(yōu)先級先后順序依次檢查所述異常日志中與所述特征值對應的值是否異常,當是時,則記錄所述異常日志中的異常特征值,同時設置標志位unReaValMark為true,進入第一判斷模塊;當檢查結束時,還未發(fā)現(xiàn)異常,則通過領域?qū)<腋深A得到新的特征值,并設置標志位unReaValMark為false,進入第一更新模塊;
第一判斷模塊400,用于判斷標志位clusterMark是否為false,當是時,則根據(jù)本體知識庫的描述,輸出結果分析報告,進入第二更新模塊;當否時,則進入第一更新模塊;
第一更新模塊500,用于更新概念格和本體知識庫;
第二判斷模塊600,用于判斷標志位unReaValMark是否為true,并根據(jù)判定結果做出相應的處理,進入第二更新模塊;
第二更新模塊700,用于將各操作信息數(shù)據(jù)更新到關聯(lián)數(shù)據(jù)庫中,結束流程。
較佳地,所述的基于本體知識庫的半自動日志分析系統(tǒng),其中,所述檢查模塊300具體包括:
排序單元,采用公式計算特征值的優(yōu)先級,并將所述特征值按優(yōu)先級高低排序,Pe值越小,表示優(yōu)先級越高,其中,e為特征值,ωe為調(diào)控系數(shù),ke為核心系數(shù),所述ke通過公式計算所得,其中所述fe為特征值e的出現(xiàn)頻次,所述ne為特征值e對應的充分必要事件的個數(shù);
檢查單元,用于按優(yōu)先級先后順序依次檢查所述異常日志中與所述特征值對應的值是否異常,當檢查到異常日志中存在一個異常特征值時,則結束檢查。
較佳地,所述的基于本體知識庫的半自動日志分析系統(tǒng),其中,所述第一判斷模塊400具體包括:
第一輸出單元,用于當判定標志位clusterMark為false時,則根據(jù)本體知識庫的描述,輸出結果分析報告,同時根據(jù)異常特征值,查找所述本體知識庫中與異常特征值有關聯(lián)的事件,輸出現(xiàn)象預測報告,進入第二更新模塊;
第一跟進單元,用于當判定標志位clusterMark為true時,則進入第一更新模塊。
較佳地,所述的基于本體知識庫的半自動日志分析系統(tǒng),其中,所述第二判斷模塊600具體包括:
第二輸出單元,用于當判定標志位unReaValMark為true時,表明異常特征值存在于更新后的本體庫中,則根據(jù)更新后的本體知識庫的描述,輸出結果分析報告,進入第二更新模塊;
第二跟進單元,用于當判定標志位unReaValMark為false時,表明異常特征值不存在與更新后的本體庫中,直接進入第二更新模塊。
較佳地,所述的基于本體知識庫的半自動日志分析系統(tǒng),其中,所述操作信息數(shù)據(jù)具體包括:
結果分析報告、現(xiàn)象預測報告、新增異常特征值、新增異常事件、新增概念格節(jié)點以及新增日志。
關于上述模塊單元的技術細節(jié)在前面的方法中已有詳述,故不再贅述。
綜上所述,本發(fā)明提供了一種基于本體知識庫的半自動日志分析方法及系統(tǒng),具體地,基于本體知識庫理論,通過將本體知識庫應用到智能日志分析領域,初步解放人力,減少了人力資源消耗,同時顯著提高了debug工作效率。
應當理解的是,本發(fā)明的應用不限于上述的舉例,對本領域普通技術人員來說,可以根據(jù)上述說明加以改進或變換,所有這些改進和變換都應屬于本發(fā)明所附權利要求的保護范圍。