數據處理的方法及裝置制造方法
【專利摘要】本發明公開了一種數據處理的方法及裝置,涉及數據處理【技術領域】,能夠避免根據固定時長分割日志事件庫進行挖掘后所需的復雜的模式整合。該方法包括:根據第一時長對日志事件庫進行劃分,得到在時序上連續的至少一個日志序列;將日志序列中時序上排列第一的日志序列確定為起始序列,從起始序列開始依次判斷當前日志序列包含的事件數量;如果當前日志序列中的事件數量小于第一預設事件數量,則確定子序列庫;分別對每個子序列庫進行分析處理,得到與每個子序列庫分別對應的分析結果。本發明主要應用于數據處理的過程中。
【專利說明】數據處理的方法及裝置
【技術領域】
[0001]本發明涉及數據處理【技術領域】,尤其涉及一種數據處理的方法及裝置。
【背景技術】
[0002]隨著集群系統、云計算數據中心等平臺的規模逐漸增長和計算任務日益復雜,系統故障造成的業務中斷、數據泄漏丟失帶給用戶的打擊越來越沉重。當故障發生后,如何進行快速精確的故障診斷成為當務之急。系統的日志中記載了系統運行過程中發生的事件,包括操作系統、內核、網絡、硬件、應用程序或用戶行為等,是進行系統故障診斷的首選資源。通過對日志進行數據處理,能夠從日志中找出導致失效事件的根原因事件(Rootcause),以便及時解決系統故障。
[0003]現有技術中提供了并行處理日志的技術方案如下:根據固定大小對日志事件庫(日志文件)進行分割,得到多個子序列庫。以并行方式分別對這些子序列庫進行數據處理,得到頻繁序列(挖掘結果),在對所有頻繁序列(挖掘結果)進行復雜的全局模式整合,得到針對上述多個子序列庫的挖掘結果。
[0004]在實現上述數據處理的過程中,發明人發現現有技術中至少存在如下問題:現有的對日志事件庫進行固定分割并對得到的子序列庫進行并行數據處理以提高海量日志挖掘效率的方法中,在獲取日志整體挖掘結果時,需要對各個子序列庫得到的局部頻繁序列進行復雜的模式整合才能得到全局的挖掘結果。模式整合通常需要為每個頻繁序列搜索整個日志事件庫,使得總體的挖掘效率降低。
【發明內容】
[0005]本發明提供的一種數據處理的方法及裝置,能夠解決由于不能保證子序列庫中事件的相互獨立,導致在對每個子序列庫單獨進行數據處理后,需要通過復雜的全局模式整合才能夠得出數據處理結果,進而數據處理效率降低的問題。
[0006]第一方面,本發明提供了一種數據處理的方法,包括:
[0007]根據第一時長對日志事件庫進行劃分,得到在時序上連續的至少一個日志序列,其中,一個日志序列為一個第一時長內發生的日志事件的有序集合;
[0008]將所述日志序列中時序上排列第一的日志序列確定為起始序列,從所述起始序列開始依次判斷當前日志序列包含的事件數量;
[0009]如果當前日志序列中的事件數量小于第一預設事件數量,則將所述當前日志序列確定為終止序列;
[0010]將所述起始序列、所述終止序列以及所述起始序列與所述終止序列之間的日志序列三者的有序集合確定為子序列庫,將所述終止序列的下一個序列確定為起始序列,繼續進行判斷,或者,將所述起始序列以及所述起始序列與所述終止序列之間的日志序列兩者的有序集合確定為子序列庫,將所述終止序列確定為起始序列,繼續進行判斷;
[0011]分別對每個子序列庫進行分析處理,得到與每個子序列庫分別對應的分析結果,所述分析結果用于表示一個子序列庫中的全部第一頻繁序列以及每個第一頻繁序列在所述子序列庫中出現的次數,所述第一頻繁序列為日志序列中至少兩次出現的有序集合。
[0012]在所述第一方面的第一種可能的實現方式中,所述方法還包括:
[0013]根據第二時長分別對所述子序列庫中每個日志序列進行分片,得到在時序上連續的至少一個短日志序列,其中,一個短日志序列為一個第二時長內發生的日志事件的有序集合;
[0014]根據預設規則從每個短日志序列中確定重疊子序列,從所述至少一個短日志序列中的第一個短日志序列開始,將當前短日志序列的重疊子序列拼接到當前短日志序列的下一個短日志序列中,將拼接后的下一個短日志序列確定為第二子序列,其中,重疊子序列為以當前短日志序列時間截止點為截止點的至少一個日志事件的有序集合;
[0015]所述分別對每個子序列庫進行分析處理,得到與每個子序列庫分別對應的分析結果,所述分析結果用于表示一個子序列庫中的全部第一頻繁序列以及每個第一頻繁序列在所述子序列庫中出現的次數,所述第一頻繁序列為日志序列中至少兩次出現的有序集合,包括:
[0016]分別對每個子序列庫中的全部第二子序列進行分析處理,得到與每個子序列庫分別對應的分析結果,所述分析結果用于表示一個子序列庫中的全部第二頻繁序列以及每個第二頻繁序列在所述子序列庫中出現的次數,所述第二頻繁序列為短日志序列中至少兩次出現的有序集合;
[0017]如果所述至少一個第二頻繁序列中的至少兩個第二頻繁序列具有相同的重疊子序列,則將所述至少兩個第二頻繁序列在所述重疊子序列處進行拼接。
[0018]在所述第一方面的第一種可能的實現方式中,還提供了所述第一方面的第二種可能的實現方式,在所述第一方面的第二種可能的實現方式中,所述根據預設規則從每個短日志序列中確定重疊子序列,從所述至少一個短日志序列中的第一個短日志序列開始,將當前短日志序列的重疊子序列拼接到當前短日志序列的下一個短日志序列中,將拼接后的下一個短日志序列確定為第二子序列,包括:
[0019]從第一個短日志序列開始,依次在當前短日志序列中,從當前短日志序列時間截止點向當前短日志序列時間起始點方向,選擇預設時長內的有序集合或第二預設事件數量的有序集合,其中,所述預設時長為第二時長的預設比例的時長,所述第二預設數量為所述當前短日志序列包含的日志事件數量的預設比例的事件數量;
[0020]將所述預設時長內的有序集合或第二預設事件數量的有序集合確定為所述當前短日志序列對應的重疊子序列;
[0021]從第一個短日志序列開始,依次將當前短日志序列對應的重疊子序列拼接到所述當前段日志序列的下一個短日志序列的起始位置,所述重疊子序列與所述下一個短日志序列組成一個第二子序列。
[0022]在所述第一方面的第一種可能的實現方式中,還提供了所述第一方面的第三種可能的實現方式,在所述第一方面的第三種可能的實現方式中,所述如果所述至少一個第二頻繁序列中的至少兩個第二頻繁序列具有相同的重疊子序列,則將所述兩個第二頻繁序列進行拼接,包括:
[0023]從所述至少一個第二頻繁序列中的時序上排列第一的第二頻繁序列開始,依次在當前第二頻繁序列至時序上排列倒數第二的第二頻繁序列中,從當前第二頻繁序列時間截止點向當前第二頻繁序列時間起始點方向,選擇預設時長內的有序集合或第二預設事件數量的有序集合,將所述預設時長內的有序集合或第二預設事件數量的有序集合確定為與所述當前第二頻繁序列對應的重疊頻繁序列,其中,所述預設時長為第二時長的預設比例的時長,所述第二預設數量為所述當前短日志序列包含的日志事件數量的預設比例的事件數量;
[0024]從所述至少一個第二頻繁序列中查找出具有相同重疊頻繁序列的至少兩個第二頻繁序列,將所述至少兩個第二頻繁序列進行拼接。
[0025]在所述第一方面的第一種可能的實現方式中,還提供了所述第一方面的第四種可能的實現方式,在所述第一方面的第四種可能的實現方式中,所述如果所述至少一個第二頻繁序列中的至少兩個第二頻繁序列具有相同的重疊子序列,則將所述兩個第二頻繁序列進行拼接,包括:
[0026]從所述至少一個第二頻繁序列中的時序上排列第二的第二頻繁序列開始,依次在當前第二頻繁序列到時序上排列最后的第二頻繁序列中,從當前第二頻繁序列時間起始點向當前第二頻繁序列時間截止點方向,選擇所述預設時長內的第三有序集合或所述第二預設事件數量的第四有序集合,將所述第三有序集合或所述第四有序集合確定為與所述當前第二頻繁序列對應的重疊頻繁序列;
[0027]從所述至少一個第二頻繁序列中的查找出具有相同重疊頻繁序列的至少兩個第二頻繁序列,將所述至少兩個第二頻繁序列進行拼接。
[0028]第二方面,本發明提供了一種數據處理的裝置,包括:
[0029]劃分單元,用于根據第一時長對日志事件庫進行劃分,得到在時序上連續的至少一個日志序列,其中,一個日志序列為一個第一時長內發生的日志事件的有序集合;
[0030]第一確定單元,用于將所述劃分單元劃分的所述日志序列中時序上排列第一的日志序列確定為起始序列;
[0031]判斷單元,用于從所述第一確定單元確定的所述起始序列開始依次判斷當前日志序列包含的事件數量;
[0032]第二確定單元,用于當所述判斷單元判斷出當前日志序列中的事件數量小于第一預設事件數量時,將所述當前日志序列確定為終止序列;
[0033]第三確定單元,用于將所述第一確定單元確定的所述起始序列、所述第二確定單元確定的所述終止序列以及所述起始序列與所述終止序列之間的日志序列三者的有序集合確定為子序列庫,所述第一確定單元還用于將所述終止序列的下一個序列確定為起始序列,所述判斷單元還用于繼續進行判斷;
[0034]所述第三確定單元,還用于將所述第一確定單元確定的所述起始序列以及所述第二確定單元確定的所述起始序列與所述終止序列之間的日志序列兩者的有序集合確定為子序列庫,所述第一確定單元還用于將所述終止序列確定為起始序列,所述判斷單元還用于繼續進行判斷;
[0035]分析單元,用于分別對所述第三確定單元確定的每個子序列庫進行分析處理,得到與每個子序列庫分別對應的分析結果,所述分析結果用于表示一個子序列庫中的全部第一頻繁序列以及每個第一頻繁序列在所述子序列庫中出現的次數,所述第一頻繁序列為日志序列中至少兩次出現的有序集合。
[0036]在所述第二反面的第一種可能的實現方式中,所述裝置還包括:
[0037]分片單元,用于根據第二時長分別對所述第三單元確定的所述子序列庫中每個日志序列進行分片,得到在時序上連續的至少一個短日志序列,其中,一個短日志序列為一個第二時長內發生的日志事件的有序集合;
[0038]第四確定單元,用于根據預設規則從所述分片單元得到的每個短日志序列中確定重置子序列;
[0039]第一拼接單元,用于從所述至少一個短日志序列中的第一個短日志序列開始,將當前短日志序列的重疊子序列拼接到當前短日志序列的下一個短日志序列中,將拼接后的下一個短日志序列確定為第二子序列,其中,重疊子序列為以當前短日志序列時間截止點為截止點的至少一個日志事件的有序集合;
[0040]所述分析單元還用于,分別對所述第一拼接單元得到的每個子序列庫中的全部第二子序列進行分析處理,得到與每個子序列庫分別對應的分析結果,所述分析結果用于表示一個子序列庫中的全部第二頻繁序列以及每個第二頻繁序列在所述子序列庫中出現的次數,所述第二頻繁序列為短日志序列中至少兩次出現的有序集合;
[0041]第二拼接單元,用于當所述分析單元得到的所述至少一個第二頻繁序列中的至少兩個第二頻繁序列具有相同的重疊子序列時,將所述至少兩個第二頻繁序列在所述重疊子序列處進行拼接。
[0042]在所述第二反面的第一種可能的實現方式中,還提供了所述第二反面的第二種可能的實現方式,在所述第二反面的第二種可能的實現方式中,所述第四確定單元還包括:
[0043]第一選擇子單元,用于從所述分片單元得到的第一個短日志序列開始,依次在當前短日志序列中,從當前短日志序列時間截止點向當前短日志序列時間起始點方向,選擇預設時長內的有序集合或第二預設事件數量的有序集合,其中,所述預設時長為第二時長的預設比例的時長,所述第二預設數量為所述當前短日志序列包含的日志事件數量的預設比例的事件數量;
[0044]確定子單元,用于將所述第一選擇子單元選擇的所述預設時長內的有序集合或第二預設事件數量的有序集合確定為所述當前短日志序列對應的重疊子序列;
[0045]所述第一拼接單元還用于,從第一個短日志序列開始,依次將所述確定子單元確定的當前短日志序列對應的重疊子序列拼接到所述當前段日志序列的下一個短日志序列的起始位置,所述重疊子序列與所述下一個短日志序列組成一個第二子序列。
[0046]在所述第二反面的第一種可能的實現方式中,還提供了所述第二反面的第三種可能的實現方式,在所述第二反面的第三種可能的實現方式中,包括:
[0047]第二子選擇單元,用于從所述第四確定單元確定的所述至少一個第二頻繁序列中的時序上排列第一的第二頻繁序列開始,依次在當前第二頻繁序列至時序上排列倒數第二的第二頻繁序列中,從當前第二頻繁序列時間截止點向當前第二頻繁序列時間起始點方向,選擇預設時長內的有序集合或第二預設事件數量的有序集合,將所述預設時長內的有序集合或第二預設事件數量的有序集合確定為與所述當前第二頻繁序列對應的重疊頻繁序列,其中,所述預設時長為第二時長的預設比例的時長,所述第二預設數量為所述當前短日志序列包含的日志事件數量的預設比例的事件數量;
[0048]第一拼接子單元,用于從所述至少一個第二頻繁序列中查找出具有相同的所述第二子選擇單元選擇的重疊頻繁序列的至少兩個第二頻繁序列,將所述至少兩個第二頻繁序列進行拼接。
[0049]在所述第二反面的第一種可能的實現方式中,還提供了所述第二反面的第四種可能的實現方式,在所述第二反面的第四種可能的實現方式中,所述第二拼接單元還包括:
[0050]第三選擇子單元,用于從所述至少一個第二頻繁序列中的時序上排列第二的第二頻繁序列開始,依次在當前第二頻繁序列到時序上排列最后的第二頻繁序列中,從當前第二頻繁序列時間起始點向當前第二頻繁序列時間截止點方向,選擇所述預設時長內的第三有序集合或所述第二預設事件數量的第四有序集合,將所述第三有序集合或所述第四有序集合確定為與所述當前第二頻繁序列對應的重疊頻繁序列;
[0051 ] 第二拼接子單元,用于從所述至少一個第二頻繁序列中的查找出具有相同的所述第二子選擇單元選擇的重疊頻繁序列的至少兩個第二頻繁序列,將所述至少兩個第二頻繁序列進行拼接。
[0052]本發明提供的數據處理的方法及裝置,能夠根據第一時長對日志事件庫進行劃分,得到在時序上連續的至少一個日志序列,將所述日志序列中時序上排列第一的日志序列確定為起始序列,從所述起始序列開始依次判斷,如果當前日志序列中的事件數量小于第一預設事件數量,則將所述當前日志序列確定為終止序列;然后根據所述起始序列、所述終止序列確定為子序列庫,在重新確定起始序列之后,繼續進行判斷直至最后一個日志序列;再分別對每個子序列庫進行分析處理,得到與每個子序列庫分別對應的分析結果,所述分析結果用于表示一個子序列庫中的全部第一頻繁序列以及每個第一頻繁序列在所述子序列庫中出現的次數,所述第一頻繁序列為日志序列中至少兩次出現的有序集合。現有技術中根據數據大小進行固定分割,無法利用日志的分布特性進行動態分割,且分割后的子序列庫不相互獨立,在獲取日志整體挖掘結果時,需要對各個子序列庫得到的局部頻繁序列進行復雜的模式整合才能得到全局的挖掘結果。模式整合通常需要為每個頻繁序列再次搜索整個日志事件庫,使得總體的挖掘效率降低。本發明中,根據事件數量進行分割,能夠根據日志分布進行動態分割,分割出的子序列庫相互獨立,各子序列庫上的局部挖掘結果可以作為全局的挖掘結果,從而避免了復雜的模式整合,進而提高數據處理效率。發明人發現,日志事件庫中事件的分布呈間歇密集型(bursty behav1r)每一個密集段的事件只集中在該段發生,獨立于其它密集段。根據每個日志序列中的事件數量劃分出子序列庫,能夠得出對應每個密集段的子序列庫。對這些子序列庫進行分析之后,能夠得到對應每個密集段的的分析結果,進而減小對挖掘結果進行模式整合時的復雜度。
【專利附圖】
【附圖說明】
[0053]為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。
[0054]圖1為本發明實施例中一個數據處理的方法的流程圖;
[0055]圖2為本發明實施例中另一個數據處理的方法的流程圖;
[0056]圖3為本發明實施例中再一個數據處理的方法的流程圖;
[0057]圖4為本發明實施例中一個數據處理的裝置的結構示意圖;
[0058]圖5為本發明實施例中另一個數據處理的裝置的結構示意圖;
[0059]圖6為本發明實施例中再一個數據處理的裝置的結構示意圖。
【具體實施方式】
[0060]下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員在沒有作出創造性勞動前提下所獲得的所有其他實施例,都屬于本發明保護的范圍。
[0061]本發明實施例提供了一種數據處理的方法,所述方法應用于數據處理服務器等電子設備中,如圖1所示,包括:
[0062]步驟101、根據第一時長對日志事件庫進行劃分,得到在時序上連續的至少一個日志序列,其中,一個日志序列為一個第一時長內發生的日志事件的有序集合。
[0063]所謂有序集合為順序排列的有序集合,每個日志序列內的日志事件的排列順序根據日志事件的發生時間升序排列。從日志事件發生時間最早的日志事件開始,將發生在第一時長之內的日志事件確定為一個日志序列。從第一時長最后時刻發生的日志事件的下一個日志事件開始,將發生在第一時長之內的日志事件確定為一個日志序列。以此類推,得到至少一個日志序列,直到所述日志事件庫中最后一個日志事件為止。第一時長為單位時長,例如lmin、10s等,通常為lmin。如果第一時長為Imin,則生成的日志序列為第一分鐘內發生的日志事件的有序集合,第二分鐘內發生的日志事件的有序集合,第二分鐘內發生的日志事件的有序集合,直至第N分鐘內發生的日志事件的有序集合。
[0064]步驟102、將日志序列中時序上排列第一的日志序列確定為起始序列,從起始序列開始依次判斷當前日志序列包含的事件數量。
[0065]步驟103、如果當前日志序列中的事件數量小于第一預設事件數量,則將當前日志序列確定為終止序列。
[0066]步驟104、將起始序列、終止序列以及起始序列與終止序列之間的日志序列三者的有序集合確定為子序列庫,將終止序列的下一個序列確定為起始序列,繼續進行判斷,或者,將起始序列以及起始序列與終止序列之間的日志序列兩者的有序集合確定為子序列庫,將終止序列確定為起始序列,繼續進行判斷。
[0067]如果時序上排列第一的日志序列(為了方便說明,后續對時序上排列第一的日志序列稱為第一個日志序列)中的事件數量不小于第一預設事件數量,則判斷第二個日志序列中的事件數量是否小于第一預設事件數量,直至判斷出第N個日志序列中的事件數量小于第一預設事件數量時,將第一個日志序列至第N個日志序列確定為第一個子序列庫。然后,從第N+1個日志序列開始,判斷第N+1個日志序列中的事件數量是否小于第一預設事件數量,直至判斷出第N+M個日志序列中的事件數量小于第一預設事件數量時,將第N+1個日志序列至第N+M個日志序列確定為第二個子序列庫。以此類推,得到至少一個子序列庫。
[0068]或者,如果第一個日志序列中的事件數量不小于第一預設事件數量,則判斷第二個日志序列中的事件數量是否小于第一預設事件數量,直至判斷出第N個日志序列中的事件數量小于第一預設事件數量時,將第一個日志序列至第N-1個日志序列確定為第一個子序列庫。然后,從第N+1個日志序列開始,判斷第N+1個日志序列中的事件數量是否小于第一預設事件數量,直至判斷出第N+M個日志序列中的事件數量小于第一預設事件數量時,將第N個日志序列至第N+M-1個日志序列確定為第二個子序列庫。以此類推,得到至少一個子序列庫。
[0069]例如:日志事件庫用于記錄操作頻繁的用戶操作,如鍵盤輸入的點擊事件,第一時長為I分鐘,用戶在1-10分鐘每分鐘依次鍵入的字符的個數依次為:150、102、90、110、120、118、125、130、98、10。日志序列xl-xlO分別對應于第I分鐘到第10分鐘,第一預設事件數量為100。將Xl確定為起始日志序列,判斷Xl內的事件數量150是否小于第一預設事件數量100,結果為不小于,則判斷χ2內的事件數量102是否小于第一預設事件數量100,結果為不小于,再判斷x3內的事件數量90是否小于第一預設事件數量100,結果為小于,則將x3確定為終止序列,將所含日志事件數量分別為150、102、90的xl、x2、x3確定為第一個子序列庫XI。隨后,將X4確定為起始序列,并依次判斷X4內的事件數量110、x5內的事件數量120、x6內的事件數量118、x7內的事件數量125、x8內的事件數量130、是否小于第一預設事件數量100,結果均為不小于,當判斷x9內的事件數量98是否小于100時,結果為小于,將x9確定為終止序列,并將所含日志事件數量分別為110、120、118、125、130、98的x4、#、妨、17、18、的確定為第二個子序列庫乂2。再判斷xlO內的事件數量10是否小于100,結果為小于,將所含事件數量為10的XlO作為第三個子序列庫X3,由于XlO為最后一個日志序列,因此結束比較。生成的子序列庫有三個,分別為:X1 {x1、x2、x3}、X2 {x4、x5、x6、x7、x8、x9}、X3{xlO}。
[0070]現有技術中,對日志事件庫進行劃分是根據固定的事件數量進行的。在上例中,按照現有技術中的分割方式,分割出的每個子序列庫由100個輸入事件組成。上述日志中一共有1053個輸入事件,按照現有技術分割出的子序列庫為10個事件數量為100的子序列庫和一個事件數量為53的子數據庫,共i^一個子數據庫。
[0071]現有技術中還提供了一種基于固定時間窗口的分割方式:通過固定的時間窗口對日志事件庫進行分割。即將一個第一時長內的日志事件有序集合確定為一個子序列庫,用此種方式對上述日志進行分割,將得到下述子序列庫:{xl}、1x2}、1x3}、1x4}、1x5}、{x6}、1x7}、1x8}、1x9}、1x10},共十個。此種分割方式存在分割死板的缺陷,在后續分析的過程中,其分析對象為第一分鐘、第二分鐘。。。第十分鐘內的數據,而非連續的一段數據。例如:用戶花費2.5min的時間輸入一段文字。用戶輸入時,會存在Imin內輸入的文字不是一整句話的問題,此時如果按照固定時間窗口的分割方式進行劃分,則會出現數據分析的對象為不完整句子,降低數據處理結果的準確性。本發明中通過判斷日志序列中事件數量是否小于第一預設事件數量,能夠將集中產生日志事件的一段時間內生成的日志事件有序集合作為一個子序列庫,在上例中,能夠將2.5min內的全部事件確定為一個子序列庫進行挖掘,進而提高數據處理結果的準確性。
[0072]步驟105、分別對每個子序列庫進行分析處理,得到與每個子序列庫分別對應的分析結果,分析結果用于表示一個子序列庫中的全部第一頻繁序列以及每個第一頻繁序列在子序列庫中出現的次數,第一頻繁序列為日志序列中至少兩次出現的有序集合。
[0073]其中,所述志序列中至少兩次出現的有序集合為在日志事件中出現過的連續的至少兩個日志事件的集合。分析處理為現有技術中的數據處理處理,用于從子序列庫中統計出第一頻繁序列以及第一頻繁序列出現的次數。具體的挖掘的方式可以采用現有技術中的并行化的類Apr1ri算法(包括GSP算法和spade算法等)、并行化的模式增長算法(包括prefixSpan算法和FreeSpan算法等)、基于序列比較的算法(如Disc-all算法等)等序列模式挖掘方法進行數據分析。
[0074]本發明提供的數據處理的方法,能夠根據第一時長對日志事件庫進行劃分,得到在時序上連續的至少一個日志序列,將所述日志序列中時序上排列第一的日志序列確定為起始序列,從所述起始序列開始依次判斷,如果當前日志序列中的事件數量小于第一預設事件數量,則將所述當前日志序列確定為終止序列;然后根據所述起始序列、所述終止序列確定為子序列庫,在重新確定起始序列之后,繼續進行判斷直至最后一個日志序列;再分別對每個子序列庫進行分析處理,得到與每個子序列庫分別對應的分析結果,所述分析結果用于表示一個子序列庫中的全部第一頻繁序列以及每個第一頻繁序列在所述子序列庫中出現的次數,所述第一頻繁序列為日志序列中至少兩次出現的有序集合。現有技術中根據數據大小進行固定分割,無法利用日志的分布特性進行動態分割,且分割后的子序列庫不相互獨立,在獲取日志整體挖掘結果時,需要對各個子序列庫得到的局部頻繁序列進行復雜的模式整合才能得到全局的挖掘結果。模式整合通常需要為每個頻繁序列再次搜索整個日志事件庫,使得總體的挖掘效率降低。本發明中,根據事件數量進行分割,能夠根據日志分布進行動態分割,分割出的子序列庫相互獨立,各子序列庫上的局部挖掘結果可以作為全局的挖掘結果,從而避免了復雜的模式整合,進而提高數據處理效率。發明人發現,日志事件庫中事件的分布呈間歇密集型(bursty behav1r)每一個密集段的事件只集中在該段發生,獨立于其它密集段。根據每個日志序列中的事件數量劃分出子序列庫,能夠得出對應每個密集段的子序列庫。對這些子序列庫進行分析之后,能夠得到對應每個密集段的的分析結果,進而減小對挖掘結果進行模式整合時的復雜度。
[0075]本發明實施例還提供了一種數據處理的方法,作為對圖1所述方法的進一步描述,如圖2所示,所述方法還包括:
[0076]步驟201、根據第二時長分別對子序列庫中每個日志序列進行分片,得到在時序上連續的至少一個短日志序列,其中,一個短日志序列為一個第二時長內發生的日志事件的有序集合。
[0077]對子序列庫中的第一個日志序列進行分片時:從第一個日志序列的起始時間點tl開始,將位于第二時長內的日志事件的有序集合確定為第一個短日志序列,將tl與第二時長相加,得到t2,從t2開始,將位于第二時長內的日志事件的有序集合確定為第二個短日志序列。以此類推,直至tx大于子序列庫的終止時間點。由此能夠得到的每個短日志序列對應一個第二時長內的日志事件的有序集合,各短日志序列之間為連續的。第二時長為第一時長的預設比例或者預設時長。
[0078]如:第一時長為lmin,預設比例為50%,貝U第二時長為30s。再如:第一時長為2min,第二時長的時長為30s,此時一個第一時長為4個第二時長,因此第一子序列被分片為四個短日志序列。
[0079]步驟202、根據預設規則從每個短日志序列中確定重疊子序列,從至少一個短日志序列中的第一個短日志序列開始,將當前短日志序列的重疊子序列拼接到當前短日志序列的下一個短日志序列中,將拼接后的下一個短日志序列確定為第二子序列,其中,重疊子序列為以當前短日志序列時間截止點為截止點的至少一個日志事件的有序集合。
[0080]根據重疊子序列拼接得到的兩個第二子序列之間,前一個第二子序列的尾部為重疊子序列,后一個第二子序列的頭部為重疊子序列。由于分析處理是從原始數據(第二子序列)中,統計發生多次的日志事件的有序集合,因此,通過重疊子序列能夠使得兩個由于原始數據獨立而互相獨立的挖掘結果具有關聯性。
[0081]具體的,如圖3所示,在確定重疊子序列時可通過下述方式進行實施。
[0082]步驟301、從第一個短日志序列開始,依次在當前短日志序列中,從當前短日志序列時間截止點向當前短日志序列時間起始點方向,選擇預設時長內的有序集合或第二預設事件數量的有序集合,其中,預設時長為第二時長的預設比例的時長,第二預設數量為當前短日志序列包含的日志事件數量的預設比例的事件數量。
[0083]步驟302、將預設時長內的有序集合或第二預設事件數量的有序集合確定為當前短日志序列對應的重疊子序列。
[0084]步驟303、從第一個短日志序列開始,依次將當前短日志序列對應的重疊子序列拼接到當前段日志序列的下一個短日志序列的起始位置,重疊子序列與下一個短日志序列組成一個第二子序列。
[0085]下面通過一個例子對圖3所示方法做具體說明:
[0086]第一時長的時長為Imin (60s), 一個日志序列為{dl, d2, d3, d4, d5, d6},其中dl至d6為第一時長內均勻分布的日志事件。如果第二時長的時長為20s,則根據第二時長對日志序列進行分片,得到的短日志序列為xl (dl,d2),x2 (d3、d4),x3 (d5, d6)。如果此時預設時長為10s,則確定出在xl的重疊子序列為d2,x2的重疊子序列為d4。進行拼接:將xl的重疊子序列d2拼接到x2的起始位置,拼接后的x2’為(d2、d3、d4);將x2的重疊子序列d4拼接到x3的起始位置,拼接后的x3’為(d4、d5、d6)。得到的第二子序列分別為:xl (dl,d2)、x2,(d2、d3、d4)、x3,(d4、d5、d6)。
[0087]此時,步驟105、分別對每個子序列庫進行分析處理,得到與每個子序列庫分別對應的分析結果,分析結果用于表示一個子序列庫中的全部第一頻繁序列以及每個第一頻繁序列在子序列庫中出現的次數,第一頻繁序列為日志序列中至少兩次出現的有序集合,包括:
[0088]步驟203、分別對每個子序列庫中的全部第二子序列進行分析處理,得到與每個子序列庫分別對應的分析結果,分析結果用于表示一個子序列庫中的全部第二頻繁序列以及每個第二頻繁序列在子序列庫中出現的次數,第二頻繁序列為短日志序列中至少兩次出現的有序集合。
[0089]分析處理的方法與步驟105中的一致,不同的時分析處理的對象由日志序列變為第二子序列。
[0090]步驟204、如果至少一個第二頻繁序列中的至少兩個第二頻繁序列具有相同的重疊子序列,則將至少兩個第二頻繁序列在重疊子序列處進行拼接。
[0091]具體的,可通過兩種方式將至少兩個第二頻繁你序列進行拼接:
[0092]1、從每個第二頻繁序列的尾部選擇重疊頻繁序列,根據該重疊頻繁序列進行拼接。
[0093]I)從所述至少一個第二頻繁序列中的時序上排列第一的第二頻繁序列開始,依次在當前第二頻繁序列至時序上排列倒數第二的第二頻繁序列中,從當前第二頻繁序列時間截止點向當前第二頻繁序列時間起始點方向,選擇預設時長內的有序集合或第二預設事件數量的有序集合,將所述預設時長內的有序集合或第二預設事件數量的有序集合確定為與所述當前第二頻繁序列對應的重疊頻繁序列,其中,所述預設時長為第二時長的預設比例的時長,所述第二預設數量為所述當前短日志序列包含的日志事件數量的預設比例的事件數量;
[0094]2)從所述至少一個第二頻繁序列中查找出具有相同重疊頻繁序列的至少兩個第二頻繁序列,將所述至少兩個第二頻繁序列進行拼接。
[0095]2、從每個第二頻繁序列的尾部選擇重疊頻繁序列,根據該重疊頻繁序列進行拼接。
[0096]I)從所述至少一個第二頻繁序列中的時序上排列第二的第二頻繁序列開始,依次在當前第二頻繁序列到時序上排列最后的第二頻繁序列中,從當前第二頻繁序列時間起始點向當前第二頻繁序列時間截止點方向,選擇所述預設時長內的第三有序集合或所述第二預設事件數量的第四有序集合,將所述第三有序集合或所述第四有序集合確定為與所述當前第二頻繁序列對應的重疊頻繁序列;
[0097]2)從所述至少一個第二頻繁序列中的查找出具有相同重疊頻繁序列的至少兩個第二頻繁序列,將所述至少兩個第二頻繁序列進行拼接。
[0098]下面通過一個例子對本發明實施例提供的數據處理的方法進行具體說明:
[0099]1、根據第一時長確定日志序列:
[0100]日志事件庫由xl-xl2共12條日志序列組成,每條日志序列由一組日志事件ID構成,每個日志事件ID由一個自然數表示。每條日志序列是按照第一時長(假設10分鐘)劃分日志事件庫所得。
[0101]{xl(l、23、1945、72、98、67、32、45、14、19、1278、567);
[0102]x2(14、19、1278、567、1945、23、l);
[0103]x3(45、14、23、1945、72、14、19、1278、567);
[0104]x4(616、67、567、1278、23、1945、72、19、14);
[0105]x5(1278、67、32、45、14、19、1278、567、98、23、1945、72);
[0106]x6(333、5);
[0107]x7(1690、744、1690、293、7);
[0108]x8(7、1644、293、744、1690、);
[0109]x9(744、1690、77、89);
[0110]xl0(1555);
[0111]xll(40、50、99、234、798、145、176、33、985、211、202);
[0112]xl2(1945、33、985、145);
[0113]xl3(99、50、40、145、33、145、33、985、145)}
[0114]2.根據第一預設日志事件數量將至少一個日志序列的集合確定為第一子序列庫:
[0115]給定第一預設日志事件數量為3個,統計每條序列內日志事件的個數,將事件數量小于3的序列x6和xlO以及最后個日志序列xl3的確定為終止序列,得到三個子序列庫Xl{xl ;x2 ;x3 ;x4 ;x5}、X2 {x6 ;x7 ;x8 ;x9}和 X3{xl0 ;xll ;xl2 ;xl3}。則后續工作可在每個第一子序列庫上單獨進行。
[0116]3.根據第二時長對子序列庫中每個日志序列進行分片:
[0117]如果第一時長為10分鐘,假設預設比例為50%,第二時長為5分鐘。若第一時長內的日志事件數量最大為12個,則分片大小數量為6個。對Xl {xl ;x2 ;x3 ;x4 ;x5}分片后得到由10個短序列組成的子序列庫X_S1,其中每個短日志序列的事件數量不超過6個。分片后的子序列庫為:
[0118]{x_sl(l、23、1945、72、98、67);
[0119]x_s2(32、45、14、19、1278、567);
[0120]x_s3(14、19、1278、567、1945、23);
[0121]x_s4(l);
[0122]x_s5(45、14、23、1945、72、14);
[0123]x_s6(19,1278,567);
[0124]x_s7(616、67、567、1278、23、1945);
[0125]x_s8(72、19、14);
[0126]x_s9(1278、67、32、45、14、19);
[0127]x_sl0(1278、567、98、23、1945、72、14) ;}
[0128]類似方法可對其它兩個子序列庫X2和X3進行分片。
[0129]4.在每個短日志序列中確定重疊子序列,將該重疊子序列合并到每個短日志序列的下一個短日志序列中,將下一個短日志序列確定為一個第二子序列(重疊窗口機制):
[0130]第二時長內記錄的日志事件數量最大為6個,取預設比例為1/3,則重疊子序列的長度為2。以X_S1為例,將x_sl(l、23、1945、72、98、67)的最后兩個日志事件(98,67)確定為x_sl的重疊子序列,將x_s2(32、45、14、19、1278、567)的最后兩個日志事件(1278,567)確定為x_s2的重疊子序列,以此類推得到1_83至1_810各自的重疊子序列。Wx_sl開始,將x_sl的重疊子序列(98、67)拼接到x_s2的起始位置,將拼接后的x_s2確定為一個第二子序列。將x_s2的重疊子序列(1278、567)拼接到x_s3的起始位置,將拼接后的x_s3確定為另一個第二子序列。以此類推得到1_83至1_810各自拼接后對應的第二子序列。得到子序列庫x_si_s為:
[0131]{x_sl(l、23、1945、72、98、67);
[0132]x_s2(98、67、32、45、14、19、1278、567);
[0133]x_s3(1278、567、14、19、1278、567、1945、23);
[0134]x_s4(1945、23、l);
[0135]x_s5(l、45、14、23、1945、72、14);
[0136]x_s6(72、14、19、1278、567);
[0137]x_s7(1278、567、616、67、567、1278、23、1945);
[0138]x_s8(23、1945、72、19、14);
[0139]x_s9(19、14、1278、67、32、45、14、19);
[0140]x_sl0(14、19、1278、567、98、23、1945、72、14) ;}
[0141]5.對子序列庫進行分析處理:
[0142]采用類Apr1ri算法對子序列庫挖掘,得到長度大于3的第二頻繁序列和其出現次數為:
[0143]頻繁序列(23、1945、72)出現4次,
[0144]頻繁序列(67、32、45、14、19)出現2 次,
[0145]頻繁序列(14、19、1278、567)出現4 次。
[0146]6.對挖掘結果進行拼接:
[0147]此處頭部和尾部的長度與4中重疊子序列的長度相等,為2個。
[0148]在5中得到的三個頻繁序列中,如果一個頻繁序列的尾部與另一個頻繁序列的頭部相一致,則將這兩個頻繁序列進行根據相同的部分進行拼接。5中頭部和尾部相一致的兩條第二頻繁序列(67、32、45、14、19)和(14、19、1278、567)進行拼接得到{67、32、45、14、19,1278,567},出現次數選擇兩條第二頻繁序列的出現次數的較小者。則連接后得到的一子序列庫的挖掘結果,即長度大于3的第一頻繁序列集為:
[0149]頻繁序列(23、1945、72)出現4次,
[0150]頻繁序列(14、19、1278、567)出現4 次,
[0151]頻繁序列(67、32、45、14、19、1278、567)出現2 次。
[0152]本方法通過2中日志事件中的事件數量對日志事件庫進行劃分操作以及3中對子序列庫中的日志序列進行分片的操作顯著提高了序列挖掘的效果同時4的重疊窗口機制和6的拼接操作保證得到長度較長的頻繁序列,進而有助于故障診斷。
[0153]本發明實施例提供的數據處理的方法,能夠將子序列庫中的日志序列分片并通過拼接操作形成具有重疊子序列的第二子序列。根據挖掘算法的特點(挖掘短序列數據集比長序列數據集具有更高的效率)提出了具有重疊子序列的分片方式,進一步提高挖掘的效率。由于第二子序列具有重疊性進而降低數據挖掘后拼接過程中的復雜度,提高數據挖掘的效率。此外,本發明實施例還提出了對挖掘后得到的頻繁序列進行拼接的操作,以優化頻繁序列的數據挖掘結果,用于提高故障診斷的準確性。
[0154]本發明實施例還提供了一種數據處理的裝置,如圖4所示,包括:
[0155]劃分單元41,用于根據第一時長對日志事件庫進行劃分,得到在時序上連續的至少一個日志序列,其中,一個日志序列為一個第一時長內發生的日志事件的有序集合。
[0156]第一確定單元42,用于將所述劃分單元41劃分的所述日志序列中時序上排列第一的日志序列確定為起始序列。
[0157]判斷單元43,用于從所述第一確定單元42確定的所述起始序列開始依次判斷當前日志序列包含的事件數量。
[0158]第二確定單元44,用于當所述判斷單元43判斷出當前日志序列中的事件數量小于第一預設事件數量時,將所述當前日志序列確定為終止序列。
[0159]第三確定單元45,用于將所述第一確定單元42確定的所述起始序列、所述第二確定單元44確定的所述終止序列以及所述起始序列與所述終止序列之間的日志序列三者的有序集合確定為子序列庫,所述第一確定單元42還用于將所述終止序列的下一個序列確定為起始序列,所述判斷單元43還用于繼續進行判斷。
[0160]所述第三確定單元45,還用于將所述第一確定單元42確定的所述起始序列以及所述第二確定單元44確定的所述起始序列與所述終止序列之間的日志序列兩者的有序集合確定為子序列庫,所述第一確定單元42還用于將所述終止序列確定為起始序列,所述判斷單元43還用于繼續進行判斷。
[0161]分析單元46,用于分別對所述第三確定單元45確定的每個子序列庫進行分析處理,得到與每個子序列庫分別對應的分析結果,所述分析結果用于表示一個子序列庫中的全部第一頻繁序列以及每個第一頻繁序列在所述子序列庫中出現的次數,所述第一頻繁序列為日志序列中至少兩次出現的有序集合。
[0162]本發明實施例還提供了一種數據處理的裝置,如圖5所示,所述裝置包括分片單元51、第四確定單元52、第一拼接單元53、第二拼接單元54。
[0163]所述分片單元51,用于根據第二時長分別對所述第三確定單元45確定的所述子序列庫中每個日志序列進行分片,得到在時序上連續的至少一個短日志序列,其中,一個短日志序列為一個第二時長內發生的日志事件的有序集合;
[0164]第四確定單元52,用于根據預設規則從所述分片單元51得到的每個短日志序列中確定重置子序列;
[0165]第一拼接單元53,用于從所述至少一個短日志序列中的第一個短日志序列開始,將當前短日志序列的重疊子序列拼接到當前短日志序列的下一個短日志序列中,將拼接后的下一個短日志序列確定為第二子序列,其中,重疊子序列為以當前短日志序列時間截止點為截止點的至少一個日志事件的有序集合;
[0166]所述分析單元46還用于,分別對所述第一拼接單元53得到的每個子序列庫中的全部第二子序列進行分析處理,得到與每個子序列庫分別對應的分析結果,所述分析結果用于表示一個子序列庫中的全部第二頻繁序列以及每個第二頻繁序列在所述子序列庫中出現的次數,所述第二頻繁序列為短日志序列中至少兩次出現的有序集合;
[0167]第二拼接單元54,用于當所述分析單元46得到的所述至少一個第二頻繁序列中的至少兩個第二頻繁序列具有相同的重疊子序列時,將所述至少兩個第二頻繁序列在所述重疊子序列處進行拼接。
[0168]進一步的,所述第四確定單元52還包括:
[0169]第一選擇子單元521,用于從所述分片單元51得到的第一個短日志序列開始,依次在當前短日志序列中,從當前短日志序列時間截止點向當前短日志序列時間起始點方向,選擇預設時長內的有序集合或第二預設事件數量的有序集合,其中,所述預設時長為第二時長的預設比例的時長,所述第二預設數量為所述當前短日志序列包含的日志事件數量的預設比例的事件數量;
[0170]確定子單元522,用于將所述第一選擇子單元521選擇的所述預設時長內的有序集合或第二預設事件數量的有序集合確定為所述當前短日志序列對應的重疊子序列;
[0171]所述第一拼接單元53還用于,從第一個短日志序列開始,依次將所述確定子單元522確定的當前短日志序列對應的重疊子序列拼接到所述當前段日志序列的下一個短日志序列的起始位置,所述重疊子序列與所述下一個短日志序列組成一個第二子序列。
[0172]進一步的,所述第二拼接單元54,包括:
[0173]第二子選擇單元541,用于從所述第四確定單元52確定的所述至少一個第二頻繁序列中的時序上排列第一的第二頻繁序列開始,依次在當前第二頻繁序列至時序上排列倒數第二的第二頻繁序列中,從當前第二頻繁序列時間截止點向當前第二頻繁序列時間起始點方向,選擇預設時長內的有序集合或第二預設事件數量的有序集合,將所述預設時長內的有序集合或第二預設事件數量的有序集合確定為與所述當前第二頻繁序列對應的重疊頻繁序列,其中,所述預設時長為第二時長的預設比例的時長,所述第二預設數量為所述當前短日志序列包含的日志事件數量的預設比例的事件數量;
[0174]第一拼接子單元542,用于從所述至少一個第二頻繁序列中查找出具有相同的所述第二子選擇單元541選擇的重疊頻繁序列的至少兩個第二頻繁序列,將所述至少兩個第二頻繁序列進行拼接。
[0175]進一步的,所述第二拼接單元54還包括:
[0176]第三選擇子單元543,用于從所述至少一個第二頻繁序列中的時序上排列第二的第二頻繁序列開始,依次在當前第二頻繁序列到時序上排列最后的第二頻繁序列中,從當前第二頻繁序列時間起始點向當前第二頻繁序列時間截止點方向,選擇所述預設時長內的第三有序集合或所述第二預設事件數量的第四有序集合,將所述第三有序集合或所述第四有序集合確定為與所述當前第二頻繁序列對應的重疊頻繁序列;
[0177]第二拼接子單元544,用于從所述至少一個第二頻繁序列中的查找出具有相同的所述第二子選擇單元541選擇的重疊頻繁序列的至少兩個第二頻繁序列,將所述至少兩個第二頻繁序列進行拼接。
[0178]本發明提供的數據處理的裝置,能夠根據第一時長對日志事件庫進行劃分,得到在時序上連續的至少一個日志序列,將所述日志序列中時序上排列第一的日志序列確定為起始序列,從所述起始序列開始依次判斷,如果當前日志序列中的事件數量小于第一預設事件數量,則將所述當前日志序列確定為終止序列;然后根據所述起始序列、所述終止序列確定為子序列庫,在重新確定起始序列之后,繼續進行判斷直至最后一個日志序列;再分別對每個子序列庫進行分析處理,得到與每個子序列庫分別對應的分析結果,所述分析結果用于表示一個子序列庫中的全部第一頻繁序列以及每個第一頻繁序列在所述子序列庫中出現的次數,所述第一頻繁序列為日志序列中至少兩次出現的有序集合。現有技術中根據數據大小進行固定分割,無法利用日志的分布特性進行動態分割,且分割后的子序列庫不相互獨立,在獲取日志整體挖掘結果時,需要對各個子序列庫得到的局部頻繁序列進行復雜的模式整合才能得到全局的挖掘結果。模式整合通常需要為每個頻繁序列再次搜索整個日志事件庫,使得總體的挖掘效率降低。本發明中,根據事件數量進行分割,能夠根據日志分布進行動態分割,分割出的子序列庫相互獨立,各子序列庫上的局部挖掘結果可以作為全局的挖掘結果,從而避免了復雜的模式整合,進而提高數據處理效率。發明人發現,日志事件庫中事件的分布呈間歇密集型(bursty behav1r)每一個密集段的事件只集中在該段發生,獨立于其它密集段。根據每個日志序列中的事件數量劃分出子序列庫,能夠得出對應每個密集段的子序列庫。對這些子序列庫進行分析之后,能夠得到對應每個密集段的的分析結果,進而減小對挖掘結果進行模式整合時的復雜度。此外,本發明實施例提供的數據處理的裝置,能夠將子序列庫中的日志序列分片并通過拼接操作形成具有重疊子序列的第二子序列。根據挖掘算法的特點(挖掘短序列數據集比長序列數據集具有更高的效率)提出了具有重疊子序列的分片方式,進一步提高挖掘的效率。由于第二子序列具有重疊性進而降低數據挖掘后拼接過程中的復雜度,提高數據挖掘的效率。此外,本發明實施例還提出了對挖掘后得到的頻繁序列進行拼接的操作,以優化頻繁序列的數據挖掘結果,用于提高故障診斷的準確性。
[0179]本發明實施例還提供了一種數據處理的裝置,如圖6所示,所述裝置包括處理器61和存儲器62,所述存儲器62中存儲有與圖1所示方法一致的程序文件,所述處理器61從所述存儲器62中讀取該程序文件進行處理。
[0180]所述處理器61用于:
[0181]根據第一時長對日志事件庫進行劃分,得到在時序上連續的至少一個日志序列,其中,一個日志序列為一個第一時長內發生的日志事件的有序集合;
[0182]將所述日志序列中時序上排列第一的日志序列確定為起始序列,從所述起始序列開始依次判斷當前日志序列包含的事件數量;
[0183]如果當前日志序列中的事件數量小于第一預設事件數量,則將所述當前日志序列確定為終止序列;
[0184]將所述起始序列、所述終止序列以及所述起始序列與所述終止序列之間的日志序列三者的有序集合確定為子序列庫,將所述終止序列的下一個序列確定為起始序列,繼續進行判斷,或者,將所述起始序列以及所述起始序列與所述終止序列之間的日志序列兩者的有序集合確定為子序列庫,將所述終止序列確定為起始序列,繼續進行判斷;
[0185]分別對每個子序列庫進行分析處理,得到與每個子序列庫分別對應的分析結果,所述分析結果用于表示一個子序列庫中的全部第一頻繁序列以及每個第一頻繁序列在所述子序列庫中出現的次數,所述第一頻繁序列為日志序列中至少兩次出現的有序集合。
[0186]進一步的,所述處理器61還用于:
[0187]根據第二時長分別對所述子序列庫中每個日志序列進行分片,得到在時序上連續的至少一個短日志序列,其中,一個短日志序列為一個第二時長內發生的日志事件的有序集合;
[0188]根據預設規則從每個短日志序列中確定重疊子序列,從所述至少一個短日志序列中的第一個短日志序列開始,將當前短日志序列的重疊子序列拼接到當前短日志序列的下一個短日志序列中,將拼接后的下一個短日志序列確定為第二子序列,其中,重疊子序列為以當前短日志序列時間截止點為截止點的至少一個日志事件的有序集合;
[0189]分別對每個子序列庫中的全部第二子序列進行分析處理,得到與每個子序列庫分別對應的分析結果,所述分析結果用于表示一個子序列庫中的全部第二頻繁序列以及每個第二頻繁序列在所述子序列庫中出現的次數,所述第二頻繁序列為短日志序列中至少兩次出現的有序集合;
[0190]如果所述至少一個第二頻繁序列中的至少兩個第二頻繁序列具有相同的重疊子序列,則將所述至少兩個第二頻繁序列在所述重疊子序列處進行拼接。
[0191]進一步的,所述處理器61還用于:
[0192]從第一個短日志序列開始,依次在當前短日志序列中,從當前短日志序列時間截止點向當前短日志序列時間起始點方向,選擇預設時長內的有序集合或第二預設事件數量的有序集合,其中,所述預設時長為第二時長的預設比例的時長,所述第二預設數量為所述當前短日志序列包含的日志事件數量的預設比例的事件數量;
[0193]將所述預設時長內的有序集合或第二預設事件數量的有序集合確定為所述當前短日志序列對應的重疊子序列;
[0194]從第一個短日志序列開始,依次將當前短日志序列對應的重疊子序列拼接到所述當前段日志序列的下一個短日志序列的起始位置,所述重疊子序列與所述下一個短日志序列組成一個第二子序列。
[0195]進一步的,所述處理器61還用于:
[0196]從所述至少一個第二頻繁序列中的時序上排列第一的第二頻繁序列開始,依次在當前第二頻繁序列至時序上排列倒數第二的第二頻繁序列中,從當前第二頻繁序列時間截止點向當前第二頻繁序列時間起始點方向,選擇預設時長內的有序集合或第二預設事件數量的有序集合,將所述預設時長內的有序集合或第二預設事件數量的有序集合確定為與所述當前第二頻繁序列對應的重疊頻繁序列,其中,所述預設時長為第二時長的預設比例的時長,所述第二預設數量為所述當前短日志序列包含的日志事件數量的預設比例的事件數量;
[0197]從所述至少一個第二頻繁序列中查找出具有相同重疊頻繁序列的至少兩個第二頻繁序列,將所述至少兩個第二頻繁序列進行拼接。
[0198]進一步的,所述處理器61還用于:
[0199]從所述至少一個第二頻繁序列中的時序上排列第二的第二頻繁序列開始,依次在當前第二頻繁序列到時序上排列最后的第二頻繁序列中,從當前第二頻繁序列時間起始點向當前第二頻繁序列時間截止點方向,選擇所述預設時長內的第三有序集合或所述第二預設事件數量的第四有序集合,將所述第三有序集合或所述第四有序集合確定為與所述當前第二頻繁序列對應的重疊頻繁序列;
[0200]從所述至少一個第二頻繁序列中的查找出具有相同重疊頻繁序列的至少兩個第二頻繁序列,將所述至少兩個第二頻繁序列進行拼接。
[0201]本發明提供的數據處理的裝置,能夠根據第一時長對日志事件庫進行劃分,得到在時序上連續的至少一個日志序列,將所述日志序列中時序上排列第一的日志序列確定為起始序列,從所述起始序列開始依次判斷,如果當前日志序列中的事件數量小于第一預設事件數量,則將所述當前日志序列確定為終止序列;然后根據所述起始序列、所述終止序列確定為子序列庫,在重新確定起始序列之后,繼續進行判斷直至最后一個日志序列;再分別對每個子序列庫進行分析處理,得到與每個子序列庫分別對應的分析結果,所述分析結果用于表示一個子序列庫中的全部第一頻繁序列以及每個第一頻繁序列在所述子序列庫中出現的次數,所述第一頻繁序列為日志序列中至少兩次出現的有序集合。現有技術中根據數據大小進行固定分割,無法利用日志的分布特性進行動態分割,且分割后的子序列庫不相互獨立,在獲取日志整體挖掘結果時,需要對各個子序列庫得到的局部頻繁序列進行復雜的模式整合才能得到全局的挖掘結果。模式整合通常需要為每個頻繁序列再次搜索整個日志事件庫,使得總體的挖掘效率降低。本發明中,根據事件數量進行分割,能夠根據日志分布進行動態分割,分割出的子序列庫相互獨立,各子序列庫上的局部挖掘結果可以作為全局的挖掘結果,從而避免了復雜的模式整合,進而提高數據處理效率。發明人發現,日志事件庫中事件的分布呈間歇密集型(bursty behav1r)每一個密集段的事件只集中在該段發生,獨立于其它密集段。根據每個日志序列中的事件數量劃分出子序列庫,能夠得出對應每個密集段的子序列庫。對這些子序列庫進行分析之后,能夠得到對應每個密集段的的分析結果,進而減小對挖掘結果進行模式整合時的復雜度。此外,本發明實施例提供的數據處理的裝置,能夠將子序列庫中的日志序列分片并通過拼接操作形成具有重疊子序列的第二子序列。根據挖掘算法的特點(挖掘短序列數據集比長序列數據集具有更高的效率)提出了具有重疊子序列的分片方式,進一步提高挖掘的效率。由于第二子序列具有重疊性進而降低數據挖掘后拼接過程中的復雜度,提高數據挖掘的效率。此外,本發明實施例還提出了對挖掘后得到的頻繁序列進行拼接的操作,以優化頻繁序列的數據挖掘結果,用于提高故障診斷的準確性。
[0202]所屬領域的技術人員可以清楚地了解到,為描述的方便和簡潔,僅以上述各功能模塊的劃分進行舉例說明,實際應用中,可以根據需要而將上述功能分配由不同的功能模塊完成,即將裝置的內部結構劃分成不同的功能模塊,以完成以上描述的全部或者部分功能。上述描述的系統,裝置和單元的具體工作過程,可以參考前述方法實施例中的對應過程,在此不再贅述。
[0203]以上所述,僅為本發明的【具體實施方式】,但本發明的保護范圍并不局限于此,任何熟悉本【技術領域】的技術人員在本發明揭露的技術范圍內,可輕易想到變化或替換,都應涵蓋在本發明的保護范圍之內。因此,本發明的保護范圍應以所述權利要求的保護范圍為準。
【權利要求】
1.一種數據處理的方法,其特征在于,包括: 根據第一時長對日志事件庫進行劃分,得到在時序上連續的至少一個日志序列,其中,一個日志序列為一個第一時長內發生的日志事件的有序集合; 將所述日志序列中時序上排列第一的日志序列確定為起始序列,從所述起始序列開始依次判斷當前日志序列包含的事件數量; 如果當前日志序列中的事件數量小于第一預設事件數量,則將所述當前日志序列確定為終止序列; 將所述起始序列、所述終止序列以及所述起始序列與所述終止序列之間的日志序列三者的有序集合確定為子序列庫,將所述終止序列的下一個序列確定為起始序列,繼續進行判斷,或者,將所述起始序列以及所述起始序列與所述終止序列之間的日志序列兩者的有序集合確定為子序列庫,將所述終止序列確定為起始序列,繼續進行判斷; 分別對每個子序列庫進行分析處理,得到與每個子序列庫分別對應的分析結果,所述分析結果用于表示一個子序列庫中的全部第一頻繁序列以及每個第一頻繁序列在所述子序列庫中出現的次數,所述第一頻繁序列為日志序列中至少兩次出現的有序集合。
2.根據權利要求1所述的數據處理的方法,其特征在于,所述方法還包括: 根據第二時長分別對所述子序列庫中每個日志序列進行分片,得到在時序上連續的至少一個短日志序列,其中,一個短日志序列為一個第二時長內發生的日志事件的有序集合; 根據預設規則從每個短日志序列中確定重疊子序列,從所述至少一個短日志序列中的第一個短日志序列開始,將當前短日志序列的重疊子序列拼接到當前短日志序列的下一個短日志序列中,將拼接后的下一個短日志序列確定為第二子序列,其中,重疊子序列為以當前短日志序列時間截止點為截止點的至少一個日志事件的有序集合; 所述分別對每個子序列庫進行分析處理,得到與每個子序列庫分別對應的分析結果,所述分析結果用于表示一個子序列庫中的全部第一頻繁序列以及每個第一頻繁序列在所述子序列庫中出現的次數,所述第一頻繁序列為日志序列中至少兩次出現的有序集合,包括: 分別對每個子序列庫中的全部第二子序列進行分析處理,得到與每個子序列庫分別對應的分析結果,所述分析結果用于表示一個子序列庫中的全部第二頻繁序列以及每個第二頻繁序列在所述子序列庫中出現的次數,所述第二頻繁序列為短日志序列中至少兩次出現的有序集合; 如果所述至少一個第二頻繁序列中的至少兩個第二頻繁序列具有相同的重疊子序列,則將所述至少兩個第二頻繁序列在所述重疊子序列處進行拼接。
3.根據權利要求2所述的數據處理的方法,其特征在于,所述根據預設規則從每個短日志序列中確定重疊子序列,從所述至少一個短日志序列中的第一個短日志序列開始,將當前短日志序列的重疊子序列拼接到當前短日志序列的下一個短日志序列中,將拼接后的下一個短日志序列確定為第二子序列,包括: 從第一個短日志序列開始,依次在當前短日志序列中,從當前短日志序列時間截止點向當前短日志序列時間起始點方向,選擇預設時長內的有序集合或第二預設事件數量的有序集合,其中,所述預設時長為第二時長的預設比例的時長,所述第二預設數量為所述當前短日志序列包含的日志事件數量的預設比例的事件數量; 將所述預設時長內的有序集合或第二預設事件數量的有序集合確定為所述當前短日志序列對應的重疊子序列; 從第一個短日志序列開始,依次將當前短日志序列對應的重疊子序列拼接到所述當前段日志序列的下一個短日志序列的起始位置,所述重疊子序列與所述下一個短日志序列組成一個第二子序列。
4.根據權利要求2所述的數據處理的方法,其特征在于,所述如果所述至少一個第二頻繁序列中的至少兩個第二頻繁序列具有相同的重疊子序列,則將所述兩個第二頻繁序列進行拼接,包括: 從所述至少一個第二頻繁序列中的時序上排列第一的第二頻繁序列開始,依次在當前第二頻繁序列至時序上排列倒數第二的第二頻繁序列中,從當前第二頻繁序列時間截止點向當前第二頻繁序列時間起始點方向,選擇預設時長內的有序集合或第二預設事件數量的有序集合,將所述預設時長內的有序集合或第二預設事件數量的有序集合確定為與所述當前第二頻繁序列對應的重疊頻繁序列,其中,所述預設時長為第二時長的預設比例的時長,所述第二預設數量為所述當前短日志序列包含的日志事件數量的預設比例的事件數量; 從所述至少一個第二頻繁序列中查找出具有相同重疊頻繁序列的至少兩個第二頻繁序列,將所述至少兩個第二頻繁序列進行拼接。
5.根據權利要求2所述的數據處理的方法,其特征在于,所述如果所述至少一個第二頻繁序列中的至少兩個第二頻繁序列具有相同的重疊子序列,則將所述兩個第二頻繁序列進行拼接,包括: 從所述至少一個第二頻繁序列中的時序上排列第二的第二頻繁序列開始,依次在當前第二頻繁序列到時序上排列最后的第二頻繁序列中,從當前第二頻繁序列時間起始點向當前第二頻繁序列時間截止點方向,選擇所述預設時長內的第三有序集合或所述第二預設事件數量的第四有序集合,將所述第三有序集合或所述第四有序集合確定為與所述當前第二頻繁序列對應的重疊頻繁序列; 從所述至少一個第二頻繁序列中的查找出具有相同重疊頻繁序列的至少兩個第二頻繁序列,將所述至少兩個第二頻繁序列進行拼接。
6.一種數據處理的裝置,其特征在于,包括: 劃分單元,用于根據第一時長對日志事件庫進行劃分,得到在時序上連續的至少一個日志序列,其中,一個日志序列為一個第一時長內發生的日志事件的有序集合; 第一確定單元,用于將所述劃分單元劃分的所述日志序列中時序上排列第一的日志序列確定為起始序列; 判斷單元,用于從所述第一確定單元確定的所述起始序列開始依次判斷當前日志序列包含的事件數量; 第二確定單元,用于當所述判斷單元判斷出當前日志序列中的事件數量小于第一預設事件數量時,將所述當前日志序列確定為終止序列; 第三確定單元,用于將所述第一確定單元確定的所述起始序列、所述第二確定單元確定的所述終止序列以及所述起始序列與所述終止序列之間的日志序列三者的有序集合確定為子序列庫,所述第一確定單元還用于將所述終止序列的下一個序列確定為起始序列,所述判斷單元還用于繼續進行判斷; 所述第三確定單元,還用于將所述第一確定單元確定的所述起始序列以及所述第二確定單元確定的所述起始序列與所述終止序列之間的日志序列兩者的有序集合確定為子序列庫,所述第一確定單元還用于將所述終止序列確定為起始序列,所述判斷單元還用于繼續進行判斷; 分析單元,用于分別對所述第三確定單元確定的每個子序列庫進行分析處理,得到與每個子序列庫分別對應的分析結果,所述分析結果用于表示一個子序列庫中的全部第一頻繁序列以及每個第一頻繁序列在所述子序列庫中出現的次數,所述第一頻繁序列為日志序列中至少兩次出現的有序集合。
7.根據權利要求6所述的數據處理的裝置,其特征在于,所述裝置還包括: 分片單元,用于根據第二時長分別對所述第三單元確定的所述子序列庫中每個日志序列進行分片,得到在時序上連續的至少一個短日志序列,其中,一個短日志序列為一個第二時長內發生的日志事件的有序集合; 第四確定單元,用于根據預設規則從所述分片單元得到的每個短日志序列中確定重疊子序列; 第一拼接單元,用于從所述至少一個短日志序列中的第一個短日志序列開始,將當前短日志序列的重疊子序列拼接到當前短日志序列的下一個短日志序列中,將拼接后的下一個短日志序列確定為第二子序列,其中,重疊子序列為以當前短日志序列時間截止點為截止點的至少一個日志事件的有序集合; 所述分析單元還用于,分別對所述第一拼接單元得到的每個子序列庫中的全部第二子序列進行分析處理,得到與每個子序列庫分別對應的分析結果,所述分析結果用于表示一個子序列庫中的全部第二頻繁序列以及每個第二頻繁序列在所述子序列庫中出現的次數,所述第二頻繁序列為短日志序列中至少兩次出現的有序集合; 第二拼接單元,用于當所述分析單元得到的所述至少一個第二頻繁序列中的至少兩個第二頻繁序列具有相同的重疊子序列時,將所述至少兩個第二頻繁序列在所述重疊子序列處進行拼接。
8.根據權利要求7所述的數據處理的裝置,其特征在于,所述第四確定單元還包括: 第一選擇子單元,用于從所述分片單元得到的第一個短日志序列開始,依次在當前短日志序列中,從當前短日志序列時間截止點向當前短日志序列時間起始點方向,選擇預設時長內的有序集合或第二預設事件數量的有序集合,其中,所述預設時長為第二時長的預設比例的時長,所述第二預設數量為所述當前短日志序列包含的日志事件數量的預設比例的事件數量; 確定子單元,用于將所述第一選擇子單元選擇的所述預設時長內的有序集合或第二預設事件數量的有序集合確定為所述當前短日志序列對應的重疊子序列; 所述第一拼接單元還用于,從第一個短日志序列開始,依次將所述確定子單元確定的當前短日志序列對應的重疊子序列拼接到所述當前段日志序列的下一個短日志序列的起始位置,所述重疊子序列與所述下一個短日志序列組成一個第二子序列。
9.根據權利要求7所述的數據處理的裝置,其特征在于,所述第二拼接單元,包括: 第二子選擇單元,用于從所述第四確定單元確定的所述至少一個第二頻繁序列中的時序上排列第一的第二頻繁序列開始,依次在當前第二頻繁序列至時序上排列倒數第二的第二頻繁序列中,從當前第二頻繁序列時間截止點向當前第二頻繁序列時間起始點方向,選擇預設時長內的有序集合或第二預設事件數量的有序集合,將所述預設時長內的有序集合或第二預設事件數量的有序集合確定為與所述當前第二頻繁序列對應的重疊頻繁序列,其中,所述預設時長為第二時長的預設比例的時長,所述第二預設數量為所述當前短日志序列包含的日志事件數量的預設比例的事件數量; 第一拼接子單元,用于從所述至少一個第二頻繁序列中查找出具有相同的所述第二子選擇單元選擇的重疊頻繁序列的至少兩個第二頻繁序列,將所述至少兩個第二頻繁序列進行拼接。
10.根據權利要求7所述的數據處理的裝置,其特征在于,所述第二拼接單元還包括:第三選擇子單元,用于從所述至少一個第二頻繁序列中的時序上排列第二的第二頻繁序列開始,依次在當前第二頻繁序列到時序上排列最后的第二頻繁序列中,從當前第二頻繁序列時間起始點向當前第二頻繁序列時間截止點方向,選擇所述預設時長內的第三有序集合或所述第二預設事件數量的第四有序集合,將所述第三有序集合或所述第四有序集合確定為與所述當前第二頻繁序列對應的重疊頻繁序列; 第二拼接子單元,用于從所述至少一個第二頻繁序列中的查找出具有相同的所述第二子選擇單元選擇的重疊頻繁序列的至少兩個第二頻繁序列,將所述至少兩個第二頻繁序列進行拼接。
【文檔編號】G06F11/34GK104252406SQ201310270678
【公開日】2014年12月31日 申請日期:2013年6月28日 優先權日:2013年6月28日
【發明者】付曉毓, 任睿, 詹劍鋒 申請人:華為技術有限公司, 中國科學院計算技術研究所