基於共同序列模式的、用於智能客戶服務的分析系統和方法
2023-07-14 17:43:36 3
基於共同序列模式的、用於智能客戶服務的分析系統和方法
【專利摘要】本發明提供一種信息分析方法和信息分析系統。該方法從源信息集合中提取多項元數據,以生成元數據集合,所述元數據包括錯誤日誌信息,所述錯誤日誌信息在所述元數據集合中構成錯誤序列;以及為多個所述元數據集合生成共同錯誤序列集合。通過該方法,可以使得容易地獲得基於全局的錯誤序列模式,並在面臨新的錯誤時可以容易地與先前的錯誤序列模式相比對,以便預防、診斷及修復錯誤。
【專利說明】基於共同序列模式的、用於智能客戶服務的分析系統和方法
【技術領域】
[0001]本發明涉及信息分析領域,更具體地,涉及一種基於共同序列模式的分析系統和方法。
【背景技術】
[0002]隨著計算機技術的不斷發展,經常存在需要在多個系統中部署產品組件的情形。一旦出現錯誤(error),針對複雜產品組件的分析是耗時以及複雜的工作(即使對於簡單的產品部署來說也是如此)。相關信息(例如應用日誌、系統日誌/事件)被放置在若干主機/組件、實例中。如何分析信息並找到錯誤的根源是極富挑戰性的工作。
[0003]現有的方法一般通過查看單個案例的單個日誌文件來查找問題,這不能檢測事件序列並獲得有用信息。在複雜的多生產環境中,找到問題根源非常困難,尤其是在存在多個噪聲信息時尤其如此。歷史性日誌不能用於未來的診斷和對嚴重問題的預防。之前的信息在分析之後不能以適當形式保存。可以看到,要從複雜的事件中獲得問題的根源而不比較不同的日誌信息是非常困難的。
【發明內容】
[0004]為了解決現有技術中存在的上述問題,本發明提出如下方案。
[0005]根據本發明的第一方面,提供一種信息分析方法,包括:基於源信息集合生成兀數據集合,所述元數據包括錯誤日誌信息,所述錯誤日誌信息在所述元數據集合中構成錯誤序列;以及為多個所述元數據集合生成共同錯誤序列集合。
[0006]根據本發明的第二方面,提供一種信息分析系統,包括:預處理裝置,用於基於源信息集合生成元數據集合,所述元數據包括錯誤日誌信息,所述錯誤日誌信息在所述元數據集合中構成錯誤序列;以及共同序列生成裝置,用於為多個所述元數據集合生成共同錯誤序列集合。
【專利附圖】
【附圖說明】
[0007]圖1是示出了根據本發明的、用於信息分析的方法100的流程圖。
[0008]圖2是示出了根據本發明實施方式的、用於生成元數據集合的示例圖。
[0009]圖3是示出了根據本發明實施方式的、用於生成共同錯誤序列集合的示例圖。
[0010]圖4是示出了根據本發明的、用於信息分析的系統400的框圖。
[0011]圖5是示出了適於用來實踐本發明實施方式的計算機系統500的示意性框圖
[0012]應當注意,附圖中的流程圖和框圖,圖示了按照本發明各種實施例的裝置、方法和電腦程式產品的可能實現的體系架構、功能和操作。在這點上,流程圖或框圖中的每個方框可以代表一個模塊、程序段、或代碼的一部分,所述模塊、程序段、或代碼的一部分包含一個或多個用於實現規定的邏輯功能的可執行指令。也應當注意,在有些作為替換的實現中,方框中所標註的功能也可以以不同於附圖中所標註的順序發生。例如,兩個接連地表示的方框實際上可以基本並行地執行,它們有時也可以按相反的順序執行,這依所涉及的功能而定。也要注意的是,框圖和/或流程圖中的每個方框、以及框圖和/或流程圖中的方框的組合,可以用執行規定的功能或操作的專用的基於硬體的系統來實現,或者可以用專用硬體與計算機指令的組合來實現。
【具體實施方式】
[0013]下面將參考若干示例性實施方式來描述本發明的原理和精神。應當理解,給出這些實施方式僅僅是為了使本領域技術人員能夠更好地理解進而實現本發明,而並非以任何方式限制本發明的範圍。
[0014]為了對信息進行分析,首先應當採集作為分析基礎的信息。針對分析所採集的信息包括例如來自不同的客戶環境的不同的源的應用程式日誌、系統事件/日誌、流程/線程堆棧、用戶/應用記錄等。術語「日誌」用來表示所有這類信息,大多數「日誌」為非結構化數據。而「錯誤日誌信息」用於表示「日誌」中與錯誤有關的信息。要注意的是,這裡所稱的術語「錯誤(error) 」是廣義的,其可以包括運行時錯誤(runtime error)、警告(warn)、調試信息(DEBUG)以及I NFO等等各種級別的與出錯或潛在的危險有關的信息,並且其還可以隨時由用戶來調整其所覆蓋的範圍。
[0015]在日誌中存在的錯誤日誌信息的特點可以歸納如下:
[0016]1.重複性:如果錯誤是由軟體問題所引起的,則它們會在客戶的環境中發生,並且該問題會被報告多次。
[0017]2.因果關係:如果在特定序列中若干錯誤頻繁發生,則它們在很大程度上具有因果關係;
[0018]3.分布性:日誌分布在若干主機/組件/實例中,一些由生產、中間件所產生,另一些由作業系統OS (如Windows事件)或CPU/存儲器/網絡的系統日誌所產生。
[0019]4.前兆性:許多錯誤不會突然地發生,它們具有一些前兆性的錯誤或者警告事件。
[0020]5.滯後性:許多錯誤不會立即停止,而是會引起後續的錯誤。
[0021]6.嚴重性:通常較早期的錯誤具有較小的破壞性,而較後期的錯誤則具有較大的破壞性。
[0022]由於上述特點,對於長期存在的生產/方案系統而言,存在許多來自客戶案例用於數據挖掘的歷史日誌。在本公開中,引入了基於日誌中的共同序列模式的、用於智能客戶服務的分析系統,共同序列也是生產中的共同問題。這些模式將用於對不同的問題進行分類,找到不同的症狀的根源,在發生嚴重問題之前設計「預激活」的解決方案等等。
[0023]圖1是示出了根據本發明的、用於信息分析的方法100的流程圖。應理解的是,方法100中記載的各個步驟可以按照不同的順序執行,和/或並行執行。方法100還可以包括附加的步驟和/或省略執行示出的步驟。本發明的範圍在此方面不受限制。為更好地描述本發明,以下結合附圖2和附圖3來詳細描述方法100。圖2是示出了根據本發明實施方式的、用於生成元數據集合的示例圖。圖3是示出了根據本發明實施方式的、用於生成共同錯誤序列集合的示例圖。本領域技術人員應理解,附圖2和附圖3僅為示例,而非對本發明的限制。
[0024]方法100開始之後,首先進到步驟S102,基於源信息集合生成元數據集合。要注意的是,這裡所稱的源信息包括各種信息,例如如前文所述的來自客戶環境的不同的源(source)的諸如應用程式日誌、系統事件、系統日誌、流程堆棧、線程堆棧、用戶記錄、應用程式記錄之類的信息。這些源信息作為分析的依據。並且,步驟S102中的元數據(metedata)包括錯誤日誌信息,該錯誤日誌信息在所述元數據集合中構成錯誤序列(errorsequence)。
[0025]除了錯誤日誌信息之外,元數據還可以包括時間信息。由於來自不同源數據的時間信息的格式往往不同,因此為便於比較,還需要歸一化(normalize)時間信息的格式(即調整時間差異),從而將日誌合併為單個列表以用於單個視圖。
[0026]除此之外,元數據還可以包括日誌等級和/或所述錯誤日誌信息的出處,例如錯誤日誌信息所述的日誌文件來自於哪個線程或哪個組件等。在提取元數據時,有時可以僅選擇錯誤日誌等級在錯誤/警告以上的日誌信息,因為它們在客戶服務中往往更為有用。
[0027]舉例而言,在圖2的示例中,從源信息集合201-203中分別提取元數據204-206。可以看到,例如元數據204與205的時間格式並不相同,因此需要通過歸一化時間來統一時間的格式,如207所示。
[0028]回到圖1,在本發明的可選實施方式中,方法100前進到步驟S104,在元數據集合中去除重複的錯誤日誌信息。本領域技術人員應理解,步驟S104是可選而非必須的,不能作為對本發明的限制。為了減少元數據集合的大小以便提高效率,如果多個錯誤日誌信息表示同樣的日誌信息,則將(例如相鄰的)錯誤日誌信息精簡為單個錯誤日誌信息。例如如圖2所示,對框207進行去重操作,獲得簡化過的208。
[0029]在步驟S104中,確定是否是重複的錯誤日誌信息的方法至少包括如下幾種:
[0030]A.嚴格字符匹配:使用嚴格字符匹配來比較兩個錯誤消息,如果完全相同,則將其提取為單個錯誤;
[0031]B.正則表達式:例如,如果錯誤消息類似於「Timeout, failed to index documentwith id xxxxxx」,則如果錯誤消息的其它部分相同,即使id為「yyyyyy」也認為是相同的錯誤消息。這時可以使用正則表達式來忽略掉id,並且將錯誤提取為單個錯誤;
[0032]C.部分匹配:僅錯誤消息的關鍵部分會被提取出來用於比較,例如,如果錯誤消息包含了在一些Java日誌中的錯誤行,則可以忽略調這些內容,因為其僅在細微版本上有所變化。繼而比較錯誤消息的其它部分。
[0033]D.機器學習:可以利用機器學習來對錯誤分類並提取,用戶可以接受/拒絕來自機器學習的結果以用於準確提取;
[0034]E.人員交互:可以通過引入用戶來確認是否將兩類錯誤提取成一個。
[0035]本領域技術人員應理解,這些方法A-E僅是示例性的,不作為對本發明的限制。
[0036]此外,方法A-E可以單獨地進行,也可以根據需要選取其中若干個同時進行。
[0037]在現實世界中,大多數情況將包含千兆字節的日誌內容,並且最終錯誤日誌序列的大小將是巨大的,為了進一步得到更為可用的錯誤日誌序列模式並且去除噪聲,需要減少錯誤日誌的數目。為此,方法100還可以例如包括基於一個多維標準來篩選錯誤的步驟(圖1中未示出)。例如,可以通過採用時間窗口(例如半年內)來進一步限定元數據集合的數據。或者還可以選擇來自諸如特定日誌文件/實例/組件等的源的元數據。在圖2中,框209即為採用「Dec-22」這一天作為時間窗口來進一步限定元數據集合的示例。除此之外,方法100也可以讓用戶手動地去除那些確定為不重要的錯誤,或者去除那些被用戶認為是重複的錯誤。
[0038]至此,方法100已經獲得了包括錯誤日誌信息的元數據集合。可以將錯誤日誌信息所構成的錯誤序列作為元數據集合的諸如籤名之類的標識。
[0039]接下來,方法100進到步驟S106,為多個元數據集合生成共同錯誤序列集合。該集合中的每個共同錯誤序列由於可用於對未來錯誤的比較和診斷,因此也被稱為「共同錯誤序列模式」或被簡稱為「共同序列模式」。
[0040]傳統的實現生成共同錯誤序列集合的方法例如可以採用最長共同子序列(longest common subsequence, LCS)算法,公式(I)不出了傳統 LCS 算法:
[0041]
【權利要求】
1.一種信息分析方法,包括: 基於源信息集合生成元數據集合,所述元數據包括錯誤日誌信息,所述錯誤日誌信息在所述元數據集合中構成錯誤序列;以及 為多個所述元數據集合生成共同錯誤序列集合。
2.根據權利要求1所述的方法,其中所述元數據還包括時間信息,並且所述方法進一步包括: 在所述第一集合中歸一化所述時間信息。
3.根據權利要求1所述的方法,進一步包括: 在所述元數據集合中去除重複的錯誤日誌信息。
4.根據權利要求3所述的方法,其中所述去除重複的錯誤日誌信息進一步包括去除以下中的一個或多個類型的消息: 完全相同的錯誤日誌、僅非關鍵部分不同而其它部分完全相同的錯誤日誌、關鍵部分相同的錯誤日誌、用戶認定為重複的錯誤日誌。
5.根據權利要求3所述的方法,其中所述去除重複的錯誤日誌信息進一步包括通過機器學習進行和/或由用戶進行。
6.根據權利要求1-5之任一所述的方法,其中所提取的元數據為設定時間段內的元數據和/或來自設定的源。
7.根據權利要求1-5之任一所述的方法,其中為多個所述元數據集合生成共同錯誤序列集合進一步包括: 為多個所述元數據集合中的每兩個所述元數據集合生成共同錯誤序列集合;以及 將所生成的每兩個所述元數據集合的共同錯誤序列集合合併為所述多個元數據集合的共同錯誤序列集合。
8.根據權利要求7所述的方法,其中為多個所述元數據集合中的每兩個所述元數據集合生成共同錯誤序列集合為並行進行。
9.根據權利要求7所述的方法,其中將所生成的每兩個所述元數據集合的共同錯誤序列集合合併為所述多個元數據集合的共同錯誤序列集合進一步包括: 統計每個共同錯誤序列出現的次數。
10.根據權利要求1-5之任一所述的方法,其中所述錯誤序列標識所述錯誤日誌信息之間的聯繫。
11.根據權利要求1-5之任一所述的方法,其中所述源信息包括與以下中的一個或多個相關的信息:應用程式日誌、系統事件、系統日誌、流程堆棧、線程堆棧、用戶記錄、應用程式記錄;和/或 所述錯誤日誌信息包括與以下中的一個或多個相關的信息:運行時錯誤、警告、調試。
12.根據權利要求1-5之任一所述的方法,其中所述元數據進一步包括日誌等級和/或所述錯誤日誌信息的出處。
13.根據權利要求1-5之任一所述的方法,其中所述共同錯誤序列集合包括多個所述元數據集合中相同的錯誤日誌信息構成的錯誤序列的集合。
14.根據權利要求13所述的方法,其中相同的錯誤日誌信息構成的錯誤序列的長度大於設定閾值。
15.根據權利要求13所述的方法,其中所述相同的判斷標準由用戶設定。
16.—種信息分析系統,包括: 預處理裝置,用於基於源信息集合生成元數據集合,所述元數據包括錯誤日誌信息,所述錯誤日誌信息在所述元數據集合中構成錯誤序列;以及 共同序列生成裝置,用於為多個所述元數據集合生成共同錯誤序列集合。
17.根據權利要求16所述的系統,其中所述元數據還包括時間信息,並且所述系統進一步包括: 歸一化裝置,用於在所述第一集合中歸一化所述時間信息。
18.根據權利要求16所述的系統,進一步包括: 去重裝置,用於在所述元數據集合中去除重複的錯誤日誌信息。
19.根據權利要求18所述的系統,其中所述去重裝置進一步包括用於去除以下中的一個或多個類型的消息的裝置: 完全相同的錯誤日誌、僅非關鍵部分不同而其它部分完全相同的錯誤日誌、關鍵部分相同的錯誤日誌、用戶認定為重複的錯誤日誌。
20.根據權利要求18所述的系統,其中所述去重裝置的操作通過機器學習進行和/或由用戶進行。
21.根據權利要求16-20之任一所述的系統,其中所提取的元數據為設定時間段內的元數據和/或來自設定的源。
22.根據權利要求16-20之任一所述的系統,其中所述共同序列生成裝置進一步包括: 子共同序列生成裝置,用於為多個所述元數據集合中的每兩個所述元數據集合生成共同錯誤序列集合;以及 合併裝置,用於將所生成的每兩個所述元數據集合的共同錯誤序列集合合併為所述多個元數據集合的共同錯誤序列集合。
23.根據權利要求22所述的系統,其中所述子共同序列生成裝置並行地為多個所述元數據集合中的每兩個所述元數據集合生成共同錯誤序列集合。
24.根據權利要求22所述的系統,其中所述合併裝置進一步包括: 統計裝置,用於統計每個共同錯誤序列出現的次數。
25.根據權利要求16-20之任一所述的系統,其中所述錯誤序列標識所述錯誤日誌信息之間的聯繫。
26.根據權利要求16-20之任一所述的系統,其中所述源信息包括與以下中的一個或多個相關的信息:應用程式日誌、系統事件、系統日誌、流程堆棧、線程堆棧、用戶記錄、應用程式記錄;和/或 所述錯誤日誌信息包括與以下中的一個或多個相關的信息:運行時錯誤、警告、調試。
27.根據權利要求16-20之任一所述的系統,其中所述元數據進一步包括日誌等級和/或所述錯誤日誌信息的出處。
28.根據權利要求16-20之任一所述的系統,其中所述共同錯誤序列集合包括多個所述元數據集合中相同的錯誤日誌信息構成的錯誤序列的集合。
29.根據權利要求28所述的 系統,其中相同的錯誤日誌信息構成的錯誤序列的長度大於設定閾值。
30.根據權利要求28所述的方法`,其中所述相同的判斷標準由用戶設定。
【文檔編號】G06F11/00GK103793284SQ201210439999
【公開日】2014年5月14日 申請日期:2012年10月29日 優先權日:2012年10月29日
【發明者】陳超, 付宇, 鍾錢傑, 劉晶晶, 陳齊彥 申請人:伊姆西公司