国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      基于日志相似性來處理故障的方法和裝置制造方法

      文檔序號:6513064閱讀:172來源:國知局
      基于日志相似性來處理故障的方法和裝置制造方法
      【專利摘要】本發(fā)明涉及基于日志相似性來處理故障的方法和裝置。在一個實施方式中,提供了一種基于日志相似性來處理故障的方法,包括:響應于采集到來自出現(xiàn)故障的至少一個系統(tǒng)的多個日志文件,從多個日志文件提取日志模式,日志模式描述多個日志文件中的日志文件中的日志消息所符合的正則表達式;利用日志模式構建模式存儲庫;基于模式存儲庫將多個日志文件中的每個日志文件映射至一n維向量;以及將多個日志文件中的每個日志文件所映射到的多個n維向量聚類至至少一個分組,其中至少一個分組中的每個分組指示至少一個系統(tǒng)的一種故障類型。在另一實施方式中,提供了相應的裝置。采用本發(fā)明的方法和裝置,可以降低故障處理期間的人工工作量。
      【專利說明】基于日志相似性來處理故障的方法和裝置

      【技術領域】
      [0001] 本發(fā)明的各實施方式涉及處理故障(trouble shooting),更具體地,涉及用于基 于日志相似性(log similarity)來處理故障的方法和裝置。

      【背景技術】
      [0002] 隨著計算機硬件系統(tǒng)復雜度的提高以及軟件系統(tǒng)功能的增強,當運行在不同的硬 件系統(tǒng)上時,計算機系統(tǒng)(例如,包括硬件和軟件)所面臨的運行環(huán)境日益復雜,此時系統(tǒng) 可能會出現(xiàn)各種各樣的故障。例如,隨著多核處理器技術的發(fā)展,越來越多的計算設備采用 一個或者多個多核處理器,這就增加了處理器出現(xiàn)故障的可能性;又例如,隨著應用程序的 復雜化,系統(tǒng)還有可能會面臨內(nèi)存泄漏等其他類型的故障。
      [0003] 在目前的各種應用系統(tǒng)中,通常存在較為完善的日志記錄模塊,該模塊可以記錄 硬件/軟件系統(tǒng)在運行期間的各種狀態(tài)。通常而言,系統(tǒng)出現(xiàn)故障時,使用系統(tǒng)的客戶可以 向系統(tǒng)提供者反饋故障的細節(jié),繼而系統(tǒng)提供者會派遣技術工程師來進行處理。
      [0004] 在實際應用中可能會存在這樣的情況,例如,客戶A所使用的服務器系統(tǒng)A在運行 過程中出現(xiàn)故障,此時所記錄的日志文件為A,技術工程師A通過分析后發(fā)現(xiàn)服務器系統(tǒng)A 出現(xiàn)內(nèi)存泄漏并且排除故障。之后,客戶B所使用的相同型號的服務器系統(tǒng)B出現(xiàn)故障,并 且所記錄日志文件為B,此時服務器提供者可能會派遣另一位技術工程師B來解決問題。
      [0005] 技術工程師B可以進行現(xiàn)場檢查并且從日志數(shù)據(jù)庫中調(diào)取故障系統(tǒng)的歷史日志, 繼而分析出現(xiàn)故障的可能原因并確定服務器系統(tǒng)B也出現(xiàn)了內(nèi)存泄漏的問題。通常,技術 工程師分析日志文件并基于自身經(jīng)驗來判斷并排除故障,這些都需要人工診斷而不能以自 動化的方式判斷系統(tǒng)的故障類型。
      [0006] 應當注意,當兩個相同的服務器系統(tǒng)出現(xiàn)相同類型的故障時,來自兩個服務器系 統(tǒng)的日志文件A和B中通常會存在某種程度的文本相似性。如何利用這種文本相似性來輔 助技術工程師判斷系統(tǒng)可能出現(xiàn)故障的原因,成為一個新的研究領域。


      【發(fā)明內(nèi)容】

      [0007] 因而,期望能夠開發(fā)并實現(xiàn)一種能夠基于日志中的相似性來診斷并處理故障的技 術方案,期望該技術方案能夠將現(xiàn)有的歷史日志文件聚類到表示不同故障類型(例如,處 理器故障、內(nèi)存泄漏等)的分組。進一步,還期望該技術方案能夠在接收到出現(xiàn)故障的另一 系統(tǒng)的新的日志文件時,將該新的日志文件與現(xiàn)有分組中的歷史日志文件進行比較,以便 將該新的日志文件歸類到特定的故障類型。以此方式,可以便于尋找曾經(jīng)處理過該類故障 的技術工程師進行處理,以降低時間和人工成本。
      [0008] 在本發(fā)明的一個實施方式中,提供了一種基于日志相似性來處理故障的方法,包 括:響應于采集到來自出現(xiàn)故障的至少一個系統(tǒng)的多個日志文件,從多個日志文件提取日 志模式(log pattern),日志模式描述多個日志文件中的日志文件中的日志消息所符合的 正則表達式;利用日志模式構建模式存儲庫(pattern repository);基于模式存儲庫將多 個日志文件中的每個日志文件映射至一 η維向量;以及將多個日志文件中的每個日志文件 所映射到的多個η維向量聚類至至少一個分組,其中至少一個分組中的每個分組指示至少 一個系統(tǒng)的一種故障類型。
      [0009] 在本發(fā)明的一個實施方式中,基于模式存儲庫將多個日志文件中的每個日志文件 映射至一 η維向量包括:針對多個日志文件中的日志文件j,將日志文件j中的每行日志消 息k匹配至模式存儲庫中的相應日志模式pk ;將日志文件j轉換為相應日志模式pk的序列 fj ;以及將序列fj映射至一 η維向量。
      [0010] 在本發(fā)明的一個實施方式中,將序列&映射至一 η維向量包括:針對模式存儲庫 中的日志模式Pi,計算與日志模式Pi和序列fj相關聯(lián)的特征值tfidfi,』,特征值tfidfi, ^關聯(lián)于日志模Sp i在與多個日志文件相對應的多個序列中的出現(xiàn)頻率;以及將特征值 tfidfi,」作為η維向量中的第i個分量,以構造 η維向量。
      [0011] 在本發(fā)明的一個實施方式中,提供了一種用于基于日志相似性來處理故障的方 法,包括:響應于接收到系統(tǒng)的新的日志文件,計算新的日志文件與至少一個分組中的多個 向量的相似性,至少一個分組是基于上述的方法獲得的;以及將相似性最高的向量所在分 組指示的故障類型作為系統(tǒng)的故障類型。
      [0012] 在本發(fā)明的一個實施方式中,響應于接收到系統(tǒng)的新的日志文件,計算新的日志 文件與至少一個分組中的多個向量的相似性包括:基于上述方法中的模式存儲庫,將新的 日志文件映射至一 η維向量;以及計算η維向量與多個向量的相似性。
      [0013] 在本發(fā)明的一個實施方式中,提供了一種基于日志相似性來處理故障的裝置,包 括:提取模塊,配置用于響應于采集到來自出現(xiàn)故障的至少一個系統(tǒng)的多個日志文件,從所 述多個日志文件提取日志模式,所述日志模式描述所述多個日志文件中的日志文件中的日 志消息所符合的正則表達式;構建模塊,配置用于利用所述日志模式構建模式存儲庫;映 射模塊,配置用于基于所述模式存儲庫將所述多個日志文件中的每個日志文件映射至一 η 維向量;以及聚類模塊,配置用于將所述多個日志文件中的每個日志文件所映射到的多個 η維向量聚類至至少一個分組,其中所述至少一個分組中的每個分組指示所述至少一個系 統(tǒng)的一種故障類型。
      [0014] 在本發(fā)明的一個實施方式中,所述映射模塊包括:匹配模塊,配置用于針對所述多 個日志文件中的日志文件j,將所述日志文件j中的每行日志消息k匹配至所述模式存儲庫 中的相應日志模式P k;轉換模塊,配置用于將所述日志文件j轉換為相應日志模式Pk的序 列fj ;以及第一映射模塊,配置用于將所述序列fj映射至一 η維向量。
      [0015] 在本發(fā)明的一個實施方式中,所述第一映射模塊包括:計算模塊,配置用于針對 所述模式存儲庫中的日志模式P i,計算與所述日志模式h和所述序列A相關聯(lián)的特征值 tfidfi,j,所述特征值tfidfi,j關聯(lián)于所述日志模式Pi在與所述多個日志文件相對應的多個 序列中的出現(xiàn)頻率;以及生成模塊,配置用于將所述特征值tfidfy作為所述η維向量中的 第i個分量,以構造所述η維向量。
      [0016] 在本發(fā)明的一個實施方式中,提供了一種用于基于日志相似性來處理故障的裝 置,包括:相似性計算模塊,配置用于響應于接收到系統(tǒng)的新的日志文件,計算所述新的日 志文件與至少一個分組中的多個向量的相似性,所述至少一個分組是基于上文所述裝置獲 得的;以及指定模塊,配置用于將相似性最高的向量所在分組指示的故障類型作為所述系 統(tǒng)的故障類型。
      [0017] 在本發(fā)明的一個實施方式中,所述相似性計算模塊包括:向量映射模塊,配置用于 基于根據(jù)上文所述裝置中的所述模式存儲庫,將所述新的日志文件映射至一 η維向量;以 及向量相似性計算模塊,配置用于計算所述η維向量與所述多個向量的相似性。
      [0018] 可以在不改變現(xiàn)有系統(tǒng)的日志記錄機制的情況下實現(xiàn)根據(jù)本發(fā)明各個實施方式 的方法和裝置。具體地,通過采集來自故障系統(tǒng)的歷史日志文件并將其聚類到反映不同故 障類型的分組,可以提供一種用于輔助未來處理故障的診斷機制。之后當發(fā)現(xiàn)系統(tǒng)出現(xiàn)故 障時,可以將來自該系統(tǒng)的新的日志文件與被聚類到不同分組的歷史日志文件進行比較, 通過選擇相似性最高的歷史日志文件,即可獲得該系統(tǒng)的故障類型。

      【專利附圖】

      【附圖說明】
      [0019] 結合附圖并參考以下詳細說明,本發(fā)明各實施方式的特征、優(yōu)點及其他方面將變 得更加明顯,在此以示例性而非限制性的方式示出了本發(fā)明的若干實施方式。在附圖中:
      [0020] 圖1示意性示出了適于實現(xiàn)本發(fā)明實施方式的示例性計算系統(tǒng)的框圖;
      [0021] 圖2示意性示出了根據(jù)一個方案的用于處理故障的方法的示意圖;
      [0022] 圖3示意性示出了根據(jù)本發(fā)明一個實施方式的基于日志相似性來處理故障的方 法的架構圖;
      [0023] 圖4示意性示出了根據(jù)本發(fā)明一個實施方式的日志文件的示意圖;
      [0024] 圖5示意性示出了根據(jù)本發(fā)明一個實施方式的基于日志相似性來處理故障的方 法的流程圖;
      [0025] 圖6示意性示出了根據(jù)本發(fā)明一個實施方式的提取日志文件并基于所提取日志 文件構建模式存儲庫的示意圖;以及
      [0026] 圖7示意性示出了根據(jù)本發(fā)明一個實施方式的基于日志相似性來處理故障的裝 置的框圖。

      【具體實施方式】
      [0027] 下面將參照附圖更詳細地描述本公開的優(yōu)選實施方式。雖然附圖中顯示了本公開 的優(yōu)選實施方式,然而應該理解,可以以各種形式實現(xiàn)本公開而不應被這里闡述的實施方 式所限制。相反,提供這些實施方式是為了使本公開更加透徹和完整,并且能夠將本公開的 范圍完整的傳達給本領域的技術人員。
      [0028] 圖1示出了適于用來實現(xiàn)本發(fā)明實施方式的示例性計算系統(tǒng)100的框圖。如圖 1所示,計算機系統(tǒng)100可以包括:CPU (中央處理單元)101、RAM(隨機存取存儲器)102、 ROM(只讀存儲器)103、系統(tǒng)總線104、硬盤控制器105、鍵盤控制器106、串行接口控制器 107、并行接口控制器108、顯示控制器109、硬盤110、鍵盤111、串行外部設備112、并行外部 設備113和觸摸屏顯示器114。在這些設備中,與系統(tǒng)總線104耦合的有CPUlOl、RAM102、 R0M103、硬盤控制器105、鍵盤控制器106、串行控制器107、并行控制器108和顯示控制器 109。硬盤110與硬盤控制器105耦合,鍵盤111與鍵盤控制器106耦合,串行外部設備112 與串行接口控制器107耦合,并行外部設備113與并行接口控制器108耦合,以及觸摸屏顯 示器114與顯示控制器109耦合。應當理解,圖1所示的結構框圖僅僅是為了示例的目的, 而不是對本發(fā)明范圍的限制。在某些情況下,可以根據(jù)具體情況增加或減少某些設備。
      [0029] 所屬【技術領域】的技術人員知道,本發(fā)明可以實現(xiàn)為系統(tǒng)、方法或計算機程序產(chǎn)品。 因此,本公開可以具體實現(xiàn)為以下形式,即:可以是完全的硬件、也可以是完全的軟件(包 括固件、駐留軟件、微代碼等),還可以是硬件和軟件結合的形式,本文一般稱為"電路"、"模 塊"或"系統(tǒng)"。此外,在一些實施方式中,本發(fā)明還可以實現(xiàn)為在一個或多個計算機可讀介 質(zhì)中的計算機程序產(chǎn)品的形式,該計算機可讀介質(zhì)中包含計算機可讀的程序代碼。
      [0030] 可以采用一個或多個計算機可讀的介質(zhì)的任意組合。計算機可讀介質(zhì)可以是計 算機可讀信號介質(zhì)或者計算機可讀存儲介質(zhì)。計算機可讀存儲介質(zhì)例如可以是--但不限 于--電、磁、光、電磁、紅外線、或半導體的系統(tǒng)、裝置或器件,或者任意以上的組合。計算 機可讀存儲介質(zhì)的更具體的例子(非窮舉的列表)包括:具有一個或多個導線的電連接、便 攜式計算機磁盤、硬盤、隨機存取存儲器(RAM)、只讀存儲器(ROM)、可擦式可編程只讀存儲 器(EPROM或閃存)、光纖、便攜式緊湊磁盤只讀存儲器(CD-ROM)、光存儲器件、磁存儲器件、 或者上述的任意合適的組合。在本文件中,計算機可讀存儲介質(zhì)可以是任何包含或存儲程 序的有形介質(zhì),該程序可以被指令執(zhí)行系統(tǒng)、裝置或者器件使用或者與其結合使用。
      [0031] 計算機可讀的信號介質(zhì)可以包括在基帶中或者作為載波一部分傳播的數(shù)據(jù)信號, 其中承載了計算機可讀的程序代碼。這種傳播的數(shù)據(jù)信號可以采用多種形式,包括一但 不限于一電磁信號、光信號或上述的任意合適的組合。計算機可讀的信號介質(zhì)還可以是 計算機可讀存儲介質(zhì)以外的任何計算機可讀介質(zhì),該計算機可讀介質(zhì)可以發(fā)送、傳播或者 傳輸用于由指令執(zhí)行系統(tǒng)、裝置或者器件使用或者與其結合使用的程序。
      [0032] 計算機可讀介質(zhì)上包含的程序代碼可以用任何適當?shù)慕橘|(zhì)傳輸,包括--但不限 于--無線、電線、光纜、RF等等,或者上述的任意合適的組合。
      [0033] 可以以一種或多種程序設計語言或其組合來編寫用于執(zhí)行本發(fā)明操作的計算機 程序代碼,所述程序設計語言包括面向對象的程序設計語言-諸如Java、Smalltalk、C++, 還包括常規(guī)的過程式程序設計語言-諸如"C"語言或類似的程序設計語言。程序代碼可以 完全地在用戶計算機上執(zhí)行、部分地在用戶計算機上執(zhí)行、作為一個獨立的軟件包執(zhí)行、部 分在用戶計算機上部分在遠程計算機上執(zhí)行、或者完全在遠程計算機或服務器上執(zhí)行。在 涉及遠程計算機的情形中,遠程計算機可以通過任意種類的網(wǎng)絡--包括局域網(wǎng)(LAN)或 廣域網(wǎng)(WAN)-連接到用戶計算機,或者,可以連接到外部計算機(例如利用因特網(wǎng)服務提 供者來通過因特網(wǎng)連接)。
      [0034] 下面將參照本發(fā)明實施方式的方法、裝置(系統(tǒng))和計算機程序產(chǎn)品的流程圖 和/或框圖描述本發(fā)明。應當理解,流程圖和/或框圖的每個方框以及流程圖和/或框圖 中各方框的組合,都可以由計算機程序指令實現(xiàn)。這些計算機程序指令可以提供給通用計 算機、專用計算機或其他可編程數(shù)據(jù)處理裝置的處理器,從而生產(chǎn)出一種機器,這些計算機 程序指令通過計算機或其他可編程數(shù)據(jù)處理裝置執(zhí)行,產(chǎn)生了實現(xiàn)流程圖和/或框圖中的 方框中規(guī)定的功能/操作的裝置。
      [0035] 也可以把這些計算機程序指令存儲在能使得計算機或其他可編程數(shù)據(jù)處理裝置 以特定方式工作的計算機可讀介質(zhì)中,這樣,存儲在計算機可讀介質(zhì)中的指令就產(chǎn)生出一 個包括實現(xiàn)流程圖和/或框圖中的方框中規(guī)定的功能/操作的指令裝置(instruction means)的制造品(manufacture) 〇
      [0036] 也可以把計算機程序指令加載到計算機、其他可編程數(shù)據(jù)處理裝置、或其他設備 上,使得在計算機、其他可編程數(shù)據(jù)處理裝置或其他設備上執(zhí)行一系列操作步驟,以產(chǎn)生計 算機實現(xiàn)的過程,從而使得在計算機或其他可編程裝置上執(zhí)行的指令能夠提供實現(xiàn)流程圖 和/或框圖中的方框中規(guī)定的功能/操作的過程。
      [0037] 圖2示意性示出了根據(jù)一個方案的用于處理故障的方法的示意圖200。如圖2所 示,系統(tǒng)1210、系統(tǒng)2212和系統(tǒng)N214的日志分別對應于日志1230、日志2232和日志N234, 當系統(tǒng)出現(xiàn)故障時,與故障相關的各項數(shù)據(jù)分別記錄在相應的日志中。例如,當不同客戶處 的系統(tǒng)出現(xiàn)故障時,系統(tǒng)的提供者通常會指派不同的工程師來解決問題。此時,例如指派工 程師1220來分析日志1230并處理系統(tǒng)1210中的故障,指派工程師2222來分析日志2232 并處理系統(tǒng)2212中的故障,等等。
      [0038] 以此方式,盡管可以排除各個系統(tǒng)中的故障,然而由于各個工程師的經(jīng)驗可能有 所差異,例如,某些工程師最擅長處理關于內(nèi)存泄漏的問題,有些工程師擅長處理關于處理 器異常的問題,因而期望能夠預先診斷故障類型并派遣適合的工程師。按照圖2所示的方 法,在工程師親自分析故障系統(tǒng)的日志文件之前,無法判斷系統(tǒng)的故障類型,因而很難有針 對性地派遣最適合的工程師。這一方案的問題在于,一方面要求每個工程師都具備全面的 專業(yè)經(jīng)驗,另一方面也不能有效地發(fā)揮每個工程師的優(yōu)勢。
      [0039] 對于出現(xiàn)相同類型故障的系統(tǒng),其日志的內(nèi)容通常會出現(xiàn)一定程度的相似性。例 如,在存儲器出現(xiàn)故障的系統(tǒng)的日志文件中,可能會連續(xù)地出現(xiàn)內(nèi)容"Java heap out of memory"。此時,如果發(fā)現(xiàn)一個系統(tǒng)因故障停機,并且其日志文件中也連續(xù)地出現(xiàn)了 "Java heap out of memory",則可以認為該故障系統(tǒng)的存儲器很可能出現(xiàn)了故障。
      [0040] 基于這一原理,本發(fā)明的各個實施方式提供了一種基于日志相似性來處理故障的 方法。應當注意,在本發(fā)明的實施方式中所述的日志相似性,是指日志文件中所記錄文本的 相似性。具體地,圖3示意性示出了根據(jù)本發(fā)明一個實施方式的基于日志相似性來處理故 障的方法的架構圖300。在此實施方式中,可以首先采集來自曾經(jīng)出現(xiàn)故障的系統(tǒng)的日志 1310、日志2312、...、日志N314等。應當注意,在此并不限定這些日志文件是否來自同一 個系統(tǒng),而是,日志文件可以來自相同或者不同的系統(tǒng);在此也并不限定這些系統(tǒng)是否是相 同類型的系統(tǒng),而是,例如一個系統(tǒng)可以是用于銀行的服務器系統(tǒng),而一個系統(tǒng)可以是用于 電子商務的服務器系統(tǒng)。
      [0041] 可以從各個日志中提取日志模式(如箭頭A所示),并基于所提取的日志模式來構 建模式存儲庫320。繼而,基于模式存儲庫中的日志模式,將各個日志1310、日志2312..... 日志N314等映射至相應的向量,并基于這些向量來構造向量存儲庫(如箭頭B所示)。換 言之,可以以一個向量來作為一個日志的唯一標識符。繼而,可以將向量存儲庫330中的多 個向量聚類為不同的分組,以便使每個分組來表示一種故障類型。
      [0042] 進一步,當接收到來自一新系統(tǒng)的新的日志時,還可以通過與如步驟A和B所示的 提取和映射方法,將該新的日志映射至一個新的向量。繼而,通過將該新的向量與被聚類到 不同分組的歷史向量進行比較,即可找到與該新的向量最為近似的歷史向量,并將該歷史 向量的故障類型作為新系統(tǒng)的故障類型。
      [0043] 在此首先描述日志文件的結構,圖4示意性示出了根據(jù)本發(fā)明一個實施方式的日 志文件的示意圖400。應當注意,日志文件是一種半結構化(semi-structured)的數(shù)據(jù)結 構,并且圖4中僅僅示意性示出了 4行日志。如參考數(shù)字410所示,每行日志的頭部可以指 示采集到該行日志的時間戳信息,例如"07 :23 :22, 221";接著,如參考數(shù)字420所示的部分 是模塊信息,表示產(chǎn)生該行日志的模塊,例如" [D2-API] ";之后如參考數(shù)字430所示的部分 是日志級別(log level),表示該日志所屬于的級別,例如"DEBUG";最后一部分440則表示 日志消息,例如:
      [0044] " Product Registration Forms" document set tor bdOlobject and qauserl user and null interface is false (0. 000s)
      [0045] 在本發(fā)明的實施方式中,日志消息是指一行日志中過濾掉時間戳、模塊信息和日 志級別后剩余的部分。圖4中僅以示例方式示出了日志文件的一種可行的結構,當日志文 件具有其他數(shù)據(jù)結構時,本領域技術人員可以基于上文所述的原理提取日志消息。在本發(fā) 明的上下文中,分析日志相似性也即分析日志消息部分的文本相似性。
      [0046] 在本發(fā)明的一個實施方式中,提供了一種基于日志相似性來處理故障的方法,包 括:響應于采集到來自出現(xiàn)故障的至少一個系統(tǒng)的多個日志文件,從多個日志文件提取日 志模式,該日志模式描述多個日志文件中的日志文件中的日志消息所符合的正則表達式; 利用日志模式構建模式存儲庫;基于模式存儲庫將多個日志文件中的每個日志文件映射至 一 η維向量;以及將多個日志文件中的每個日志文件所映射到的多個η維向量聚類至至少 一個分組,其中至少一個分組中的每個分組指示至少一個系統(tǒng)的一種故障類型。
      [0047] 參見圖5,該圖示意性示出了根據(jù)本發(fā)明一個實施方式的基于日志相似性來處理 故障的方法的流程圖500。具體地,在步驟S502中,響應于采集到來自出現(xiàn)故障的至少一個 系統(tǒng)的多個日志文件,從多個日志文件提取日志模式,日志模式描述多個日志文件中的日 志文件中的日志消息所符合的正則表達式。
      [0048] 在本發(fā)明的一個實施方式中,按照"行"來提取日志模式,換言之,一行日志消息可 以對應于一個日志模式。在下文中將詳細說明日志模式的含義。為簡化描述,假設一個日 志文件中包括8行日志消息,例如可以將這8行日志消息標識為Μ1-Μ8 :
      [0049] Ml = Create" Auditing Proj ects" forl23321obj ect
      [0050] M2 = Delete" Auditing Projects" for321123object
      [0051] M3 = Create" Bank Documents" forl2345object
      [0052] M4 = Delete" Bank Documents" for53412object
      [0053] M5 = Create" Test Plans" forl2345object
      [0054] M6 = Create" Clinical Trials" for553689object
      [0055] M7 = Delete" Test Plans" for53412object
      [0056] M8 = Delete" Clinical Trials" for55378object
      [0057] 當一個系統(tǒng)已經(jīng)開發(fā)完成時,與該系統(tǒng)相關聯(lián)的日志消息的類型則不再改變。開 發(fā)完成的系統(tǒng)在運行時所產(chǎn)生的日志模式的數(shù)量將是固定的。盡管一個日志文件可能會記 錄有數(shù)百萬行甚至上千萬行的日志消息,然而這些日志消息所屬于的正則表達式(即,日 志模式)的數(shù)量通常僅在數(shù)百的數(shù)量級。因而,通過從每行日志消息中提取日志模式,并以 日志模式作為后期處理的基礎,可以大大降低計算開銷。
      [0058] 日志消息通??梢园▋煞N類型:(1)包括變量和常量兩者,例如上文所述的 "Create document set Banklfor objectl2345failed,',其中"Bankl" 和"12345,'是變量, 而其他部分為常量;(2)僅包括常量,例如上文所述的"Java heap out of memory"。
      [0059] 通過處理上文所示的日志文件,可以從中提取出兩個日志模式:
      [0060] Patternl :Create〈variable>for〈va;riable>ob ject ;以及
      [0061] Pattern2 :Delete<variable>for<variable>obj ect〇
      [0062] 在此示例中,日志消息Ml、M3、M5和M6的日志模式為Patternl,而日志消息M2、 M4、M7和M8的日志模式為Pattern2。
      [0063] 接著,在步驟S504中,利用日志模式構建模式存儲庫。應當注意,從不同的日志消 息中提取到的日志模式可能是相同的,在此步驟中,僅利用彼此不同的日志模式來構造模 式存儲庫。
      [0064] 在步驟S506中,基于模式存儲庫將多個日志文件中的每個日志文件映射至一 η維 向量。為了以更為簡便的方式來標識每個日志文件,可以將每個日志文件映射至一個η維 向量。在此應當注意,由于一個日志文件中的每行日志消息已經(jīng)對應于一個日志模式,此時 可以基于模式存儲庫中的日志模式來實現(xiàn)映射。
      [0065] 最后,在步驟S508中,將多個日志文件中的每個日志文件所映射到的多個η維向 量聚類至至少一個分組,其中至少一個分組中的每個分組指示至少一個系統(tǒng)的一種故障類 型。
      [0066] 在步驟S506中,由于每個日志文件已經(jīng)被映射至一個η維向量,因而在步驟S508 中,通過將對應于多個日志文件的多個η維向量進行聚類,即可完成對日志文件進行聚類。 另外,由于每個日志文件代表一個故障的實例,因而,通過對η維向量進行聚類即可實現(xiàn)對 系統(tǒng)出現(xiàn)的錯誤的聚類,即,可以使聚類所得的每個分組指示至少一個系統(tǒng)的一種故障類 型。
      [0067] 在本發(fā)明的一個實施方式中,響應于采集到來自出現(xiàn)故障的至少一個系統(tǒng)的多個 日志文件,從多個日志文件提取日志模式包括:針對多個日志文件中的當前日志文件,從當 前日志文件中的兩行日志消息提取日志模式。
      [0068] 具體地,可以將日志文件中各個日志消息兩兩組合,并且從每對日志消息中提取 日志模式。例如,通過將Μ1-Μ8中的任意兩個日志消息進行組合,可以獲得日志消息配對 (Μ1,Μ2)、(Μ1,Μ3)、(Μ1,Μ4)、...、(Μ7,Μ8)。通過從各個配對中提取相同部分,可以獲得與 各個日志消息相對應的日志模式。
      [0069] 在本發(fā)明的一個實施方式中,從當前日志文件中的兩行日志消息提取日志模式包 括:計算兩行日志消息的最長公共子序列(Longest Common Subsequence),以提取日志模 式。
      [0070] 兩個日志消息可以分別表示為由連續(xù)的詞(word)構成的串Xi = (X1, x2, ...,xj 和L = {yi,y2,...,yj,并且兩個日志消息之間的最長公共子序列可以定義為:

      【權利要求】
      1. 一種基于日志相似性來處理故障的方法,包括: 響應于采集到來自出現(xiàn)故障的至少一個系統(tǒng)的多個日志文件,從所述多個日志文件提 取日志模式,所述日志模式描述所述多個日志文件中的日志文件中的日志消息所符合的正 則表達式; 利用所述日志模式構建模式存儲庫; 基于所述模式存儲庫將所述多個日志文件中的每個日志文件映射至一η維向量;以及 將所述多個日志文件中的每個日志文件所映射到的多個η維向量聚類至至少一個分 組,其中所述至少一個分組中的每個分組指示所述至少一個系統(tǒng)的一種故障類型。
      2. 根據(jù)權利要求1所述的方法,其中響應于采集到來自出現(xiàn)故障的至少一個系統(tǒng)的多 個日志文件,從所述多個日志文件提取日志模式包括:針對所述多個日志文件中的當前日 志文件, 從所述當前日志文件中的兩行日志消息提取所述日志模式。
      3. 根據(jù)權利要求2所述的方法,其中從所述當前日志文件中的兩行日志消息提取所述 日志模式包括: 計算所述兩行日志消息的最長公共子序列,以提取所述日志模式。
      4. 根據(jù)權利要求1-3中的任一項所述的方法,其中基于所述模式存儲庫將所述多個日 志文件中的每個日志文件映射至一η維向量包括:針對所述多個日志文件中的日志文件j, 將所述日志文件j中的每行日志消息k匹配至所述模式存儲庫中的相應日志模式pk ; 將所述日志文件j轉換為相應日志模式Pk的序列fy以及 將所述序列A映射至一η維向量。
      5. 根據(jù)權利要求4所述的方法,其中所述η維向量的維度η等于所述模式存儲庫中的 日志模式的數(shù)量。
      6. 根據(jù)權利要求5所述的方法,其中將所述序列&映射至一η維向量包括:針對所述 模式存儲庫中的日志模式Pi, 計算與所述日志模式Pi和所述序列fj相關聯(lián)的特征值tfidfV」,所述特征值tfidfi,j關聯(lián)于所述日志模式Pi在與所述多個日志文件相對應的多個序列中的出現(xiàn)頻率;以及 將所述特征值tfidfy作為所述η維向量中的第i個分量,以構造所述η維向量。
      7. 根據(jù)權利要求6所述的方法,其中所述特征值關聯(lián)于所述日志模式Pi的詞 頻tfi,j、以及所述日志模式Pi的逆向文本頻率idfp
      8. 根據(jù)權利要求6所述的方法,其中tfidfi,』=tfi,idfp
      9. 根據(jù)權利要求7所述的方法,其中: t- I= k」表示所述日志模式Pi在所述序列fj中的出現(xiàn)次數(shù),Σutu,」表示所 LauluJ 述模式存儲庫中的全部日志模式在所述序列a中的出現(xiàn)次數(shù)的總和;以及 Wi=1〇g-~~-^~TT,IfI表示所述多個日志文件的數(shù)量,{v:pie 表示包括所ι+{Κ} 述日志模式序列的數(shù)量。
      10. 根據(jù)權利要求1-3中的任一項所述的方法,其中利用所述日志模式構建模式存儲 庫包括: 響應于所述日志模式中的日志模式P的出現(xiàn)次數(shù)超過預定閾值,將所述日志模式P加 入所述模式存儲庫。
      11. 一種用于基于日志相似性來處理故障的方法,包括: 響應于接收到系統(tǒng)的新的日志文件,計算所述新的日志文件與至少一個分組中的多個 向量的相似性,所述至少一個分組是基于權利要求1-10中的任一項所述的方法獲得的;以 及 將相似性最高的向量所在分組指示的故障類型作為所述系統(tǒng)的故障類型。
      12. 根據(jù)權利要求11所述的方法,其中響應于接收到系統(tǒng)的新的日志文件,計算所述 新的日志文件與至少一個分組中的多個向量的相似性包括: 基于根據(jù)權利要求1-10中的任一項所述方法中的所述模式存儲庫,將所述新的日志 文件映射至一η維向量;以及 計算所述η維向量與所述多個向量的相似性。
      13. -種基于日志相似性來處理故障的裝置,包括: 提取模塊,配置用于響應于采集到來自出現(xiàn)故障的至少一個系統(tǒng)的多個日志文件,從 所述多個日志文件提取日志模式,所述日志模式描述所述多個日志文件中的日志文件中的 日志消息所符合的正則表達式; 構建模塊,配置用于利用所述日志模式構建模式存儲庫; 映射模塊,配置用于基于所述模式存儲庫將所述多個日志文件中的每個日志文件映射 至一η維向量;以及 聚類模塊,配置用于將所述多個日志文件中的每個日志文件所映射到的多個η維向量 聚類至至少一個分組,其中所述至少一個分組中的每個分組指示所述至少一個系統(tǒng)的一種 故障類型。
      14. 根據(jù)權利要求13所述的裝置,其中所述提取模塊包括: 第一提取模塊,配置用于針對所述多個日志文件中的當前日志文件,從所述當前日志 文件中的兩行日志消息提取所述日志模式。
      15. 根據(jù)權利要求14所述的裝置,其中所述第一提取模塊包括: 第二提取模塊,配置用于計算所述兩行日志消息的最長公共子序列,以提取所述日志 模式。
      16. 根據(jù)權利要求12-15中的任一項所述的裝置,其中所述映射模塊包括: 匹配模塊,配置用于針對所述多個日志文件中的日志文件j,將所述日志文件j中的每 行日志消息k匹配至所述模式存儲庫中的相應日志模式pk ; 轉換模塊,配置用于將所述日志文件j轉換為相應日志模式Pk的序列fy以及 第一映射模塊,配置用于將所述序列A映射至一η維向量。
      17. 根據(jù)權利要求16所述的裝置,其中所述η維向量的維度η等于所述模式存儲庫中 的日志模式的數(shù)量。
      18. 根據(jù)權利要求17所述的裝置,其中所述第一映射模塊包括: 計算模塊,配置用于針對所述模式存儲庫中的日志模式Pi,計算與所述日志模式Pi和 所述序列fj相關聯(lián)的特征值tfidfi,』,所述特征值tfidfi,』關聯(lián)于所述日志模式Pi在與所 述多個日志文件相對應的多個序列中的出現(xiàn)頻率;以及 生成模塊,配置用于將所述特征值tfidfy作為所述η維向量中的第i個分量,以構造 所述η維向量。
      19. 根據(jù)權利要求18所述的裝置,其中所述特征值tfidf^關聯(lián)于所述日志模式Pi的 詞頻tfy、以及所述日志模式Pi的逆向文本頻率idfp
      20. 根據(jù)權利要求18所述的裝置,其中tfidfy=tf^Xidfi。
      21. 根據(jù)權利要求19所述的裝置,其中: =V11,j表示所述日志模式Pi在所述序列fj中的出現(xiàn)次數(shù),Σutu,j表示所LuuluJ 述模式存儲庫中的全部日志模式在所述序列a中的出現(xiàn)次數(shù)的總和;以及 Idfi =Iog-~~~TT,IfI表示所述多個日志文件的數(shù)量,{v:piefJ表示包括所 \ + {v:PiEfJ 述日志模式序列的數(shù)量。
      22. 根據(jù)權利要求13-15中的任一項所述的裝置,其中所述構建模塊包括: 選擇模塊,配置用于響應于所述日志模式中的日志模式P的出現(xiàn)次數(shù)超過預定閾值, 將所述日志模式P加入所述模式存儲庫。
      23. -種用于基于日志相似性來處理故障的裝置,包括: 相似性計算模塊,配置用于響應于接收到系統(tǒng)的新的日志文件,計算所述新的日志文 件與至少一個分組中的多個向量的相似性,所述至少一個分組是基于權利要求11-22中的 任一項所述的裝置獲得的;以及 指定模塊,配置用于將相似性最高的向量所在分組指示的故障類型作為所述系統(tǒng)的故 障類型。
      24. 根據(jù)權利要求23所述的裝置,其中所述相似性計算模塊包括: 向量映射模塊,配置用于基于根據(jù)權利要求11-22中的任一項所述裝置中的所述模式 存儲庫,將所述新的日志文件映射至一η維向量;以及 向量相似性計算模塊,配置用于計算所述η維向量與所述多個向量的相似性。
      【文檔編號】G06F11/34GK104461842SQ201310441156
      【公開日】2015年3月25日 申請日期:2013年9月23日 優(yōu)先權日:2013年9月23日
      【發(fā)明者】付宇, 陳超, 王天青, 鐘錢杰, 陳齊彥 申請人:伊姆西公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1