国产精品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>

      一種日志解析方法及裝置的制造方法

      文檔序號:10655391閱讀:235來源:國知局
      一種日志解析方法及裝置的制造方法
      【專利摘要】本發(fā)明實施例公開了一種日志解析方法及裝置,日志解析方法包括:獲取原始日志數(shù)據(jù);根據(jù)預先配置的正則表達式從所述原始日志數(shù)據(jù)中抓取目標字段,其中,所述正則表達式中包括所述目標字段的名稱;將所述目標字段與其名稱組合,得到鍵值對形態(tài)的結(jié)構(gòu)化數(shù)據(jù)。采用本發(fā)明實施例提供的日志解析方法及裝置可以對不同類型的日志進行統(tǒng)一解析,簡單高效,不必開發(fā)多種日志解析方法,進而大大降低了開發(fā)和維護的成本,易于業(yè)務(wù)的拓展。
      【專利說明】
      一種日志解析方法及裝置
      技術(shù)領(lǐng)域
      [0001 ]本發(fā)明涉及網(wǎng)絡(luò)技術(shù)領(lǐng)域,特別涉及一種日志解析方法及裝置?!颈尘凹夹g(shù)】
      [0002]目前,互聯(lián)網(wǎng)公司的業(yè)務(wù)種類繁多,不同的業(yè)務(wù)程序使用不同的編程語言和代碼框架,在運行時會產(chǎn)生不同類型的日志。其中,互聯(lián)網(wǎng)公司的業(yè)務(wù)中,常見的日志類型有 Nginx日志、Log4 j日志、Glog日志、PHP日志等。
      [0003]為了供后續(xù)大數(shù)據(jù)系統(tǒng)進行分析,需要進行日志解析,即將日志中的非結(jié)構(gòu)化數(shù)據(jù)轉(zhuǎn)化成結(jié)構(gòu)化數(shù)據(jù)。其中,非結(jié)構(gòu)化的數(shù)據(jù)就是原始日志,在這些日志中,包含了一些關(guān)鍵信息,例如IP地址、時間、請求url、請求參數(shù)、返回值、響應(yīng)時間等,這些都是可能需要提取出來的關(guān)鍵信息。這些關(guān)鍵信息被提取出來之后,轉(zhuǎn)化成由鍵值對(key-value pair)組成的結(jié)構(gòu)化數(shù)據(jù),即完成日志解析。
      [0004]由于業(yè)務(wù)程序不同,每種業(yè)務(wù)程序?qū)?yīng)的原始日志的類型也各不相同,解析各種類型的日志,需要完全不同的日志解析方法,例如,在Nginx日志中,時間的打印方式為[14/ Feb/2016:18:01:37+0800],而在Log4j 日志中,時間的打印方式為2016-02-15 10:17:35, 在日志解析時,需要把上述日志中的時間信息提取出來,轉(zhuǎn)化成Unix時間戳類型的key-value pair 形式的結(jié)構(gòu)化數(shù)據(jù),就必須有兩套完全不同的日志解析方法。實際應(yīng)用中 ,需要根據(jù)每種類型的日志,開發(fā)對應(yīng)的日志解析方法,多種日志解析方法之間不能復用,另外, 每當有新的類型的日志加入時,就需要針對新的類型的日志開發(fā)新的日志解析方法,每種類型的日志解析方法的開發(fā)和維護成本都非常高,非常不易于業(yè)務(wù)的擴展。
      【發(fā)明內(nèi)容】

      [0005]本發(fā)明實施例公開了一種日志解析方法及裝置,以解決現(xiàn)有的多種類型日志解析方法之間不能復用,開發(fā)和維護成本高的問題。技術(shù)方案如下:
      [0006]第一方面,本發(fā)明實施例提供了一種日志解析方法,包括:
      [0007]獲取原始日志數(shù)據(jù);
      [0008]根據(jù)預先配置的正則表達式從所述原始日志數(shù)據(jù)中抓取目標字段,其中,所述正則表達式中包括所述目標字段的名稱;
      [0009]將所述目標字段與其名稱組合,得到鍵值對形態(tài)的結(jié)構(gòu)化數(shù)據(jù)。
      [0010]優(yōu)選的,根據(jù)預先配置的正則表達式從所述原始日志數(shù)據(jù)中抓取目標字段之后, 還包括:
      [0011]將所述目標字段發(fā)送至第一解析插件,以使:所述第一解析插件按照預先配置的轉(zhuǎn)換算法將所述目標字段轉(zhuǎn)換成目標格式的目標字段;
      [0012]接收所述第一解析插件發(fā)送的所述目標格式的目標字段;
      [0013]相應(yīng)的,所述將所述目標字段與其名稱組合,得到鍵值對形態(tài)的結(jié)構(gòu)化數(shù)據(jù)具體為:
      [0014]將所述目標格式的目標字段與其對應(yīng)的目標字段的名稱組合,得到目標格式的鍵值對形態(tài)的結(jié)構(gòu)化數(shù)據(jù)。
      [0015]優(yōu)選的,所述目標格式為時間戳格式。
      [0016]優(yōu)選的,當獲取的原始日志數(shù)據(jù)為加密的原始日志數(shù)據(jù)時,所述根據(jù)預先配置的正則表達式從所述原始日志數(shù)據(jù)中抓取目標字段之前,還包括:
      [0017]將所述加密的原始日志數(shù)據(jù)發(fā)送至第二解析插件,以使:所述第二解析插件按照預先配置的解密算法對所述加密的原始日志數(shù)據(jù)進行解密,得到解密后的原始日志數(shù)據(jù);
      [0018]接收所述第二解析插件發(fā)送的所述解密后的原始日志數(shù)據(jù)。
      [0019]優(yōu)選的,所述預先配置的正則表達式為用戶自定義的正則表達式。
      [0020]第二方面,本發(fā)明實施例還提供了一種日志解析裝置,包括:[0021 ]數(shù)據(jù)獲取模塊,用于獲取原始日志數(shù)據(jù);
      [0022]字段抓取模塊,用于根據(jù)預先配置的正則表達式從所述原始日志數(shù)據(jù)中抓取目標字段,其中,所述正則表達式中包括所述目標字段的名稱;
      [0023]組合模塊,用于將所述目標字段與其名稱組合,得到鍵值對形態(tài)的結(jié)構(gòu)化數(shù)據(jù)。 [〇〇24]優(yōu)選的,所述裝置還包括:
      [0025]字段發(fā)送模塊,用于:在根據(jù)預先配置的正則表達式從所述原始日志數(shù)據(jù)中抓取目標字段之后,將所述目標字段發(fā)送至第一解析插件,以使:所述第一解析插件按照預先配置的轉(zhuǎn)換算法將所述目標字段轉(zhuǎn)換成目標格式的目標字段;
      [0026]字段接收模塊,用于接收所述第一解析插件發(fā)送的所述目標格式的目標字段; [〇〇27]相應(yīng)的,所述組合模塊具體用于:
      [0028]將所述目標格式的目標字段與其對應(yīng)的目標字段的名稱組合,得到目標格式的鍵值對形態(tài)的結(jié)構(gòu)化數(shù)據(jù)。
      [0029]優(yōu)選的,所述目標格式為時間戳格式。
      [0030]優(yōu)選的,所述裝置還包括:[0031 ]數(shù)據(jù)發(fā)送模塊,用于:當獲取的原始日志數(shù)據(jù)為加密的原始日志數(shù)據(jù)時,在所述根據(jù)預先配置的正則表達式從所述原始日志數(shù)據(jù)中抓取目標字段之前,將所述加密的原始日志數(shù)據(jù)發(fā)送至第二解析插件,以使:所述第二解析插件按照預先配置的解密算法對所述加密的原始日志數(shù)據(jù)進行解密,得到解密后的原始日志數(shù)據(jù);
      [0032]數(shù)據(jù)接收模塊,用于接收所述第二解析插件發(fā)送的所述解密后的原始日志數(shù)據(jù)。 [〇〇33]優(yōu)選的,所述預先配置的正則表達式為用戶自定義的正則表達式。
      [0034]本方案提供一種日志解析方法及裝置中,獲取原始日志數(shù)據(jù)后,首先根據(jù)預先配置的正則表達式從所述原始日志數(shù)據(jù)中抓取目標字段,其中,所述正則表達式中包括所述目標字段的名稱,然后將所述目標字段與其名稱組合,即得到鍵值對形態(tài)的結(jié)構(gòu)化數(shù)據(jù)。采用本方案提供的日志解析方法及裝置可以對不同類型的日志進行統(tǒng)一解析,簡單高效,不必開發(fā)多種日志解析方法,進而大大降低了開發(fā)和維護的成本,易于業(yè)務(wù)的拓展。【附圖說明】
      [0035]為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
      [0036]圖1為本發(fā)明實施例所提供的一種日志解析方法的第一種流程圖;
      [0037]圖2為本發(fā)明實施例所提供的一種日志解析方法的第二種流程圖;
      [0038]圖3為本發(fā)明實施例所提供的一種日志解析裝置的第一種結(jié)構(gòu)示意圖;
      [0039]圖4為本發(fā)明實施例所提供的一種日志解析裝置的第二種結(jié)構(gòu)示意圖?!揪唧w實施方式】
      [0040]下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
      [0041]為了可以對不同類型的日志進行統(tǒng)一解析,降低開發(fā)和維護的成本,使業(yè)務(wù)易于拓展,本發(fā)明實施例提供了一種日志解析方法及裝置。
      [0042]下面首先對本發(fā)明實施例所提供的第一種日志解析方法進行介紹。
      [0043]如圖1所示,一種日志解析方法,可以包括:
      [0044]S101,獲取原始日志數(shù)據(jù);
      [0045]需要說明的是,該原始日志數(shù)據(jù)可以為現(xiàn)有的任意一種類型的日志數(shù)據(jù),可以是 Nginx日志、Log4 j日志、Glog日志、PHP日志等類型的日志數(shù)據(jù),在此不做具體限定。例如,該原始日志數(shù)據(jù)可以為:2015-03-02 13:14:20user ZhaoGang login www.1qiy1.com from ip 192.168.255.253。
      [0046]SI 02,根據(jù)預先配置的正則表達式從所述原始日志數(shù)據(jù)中抓取目標字段;
      [0047]具體的,該正則表達式為使用單個字符串來描述、抓取一系列符合某個特征的字符串,其中,該正則表達式中包括該目標字段的名稱。需要說明的是,該預先配置的正則表達式可以為用戶根據(jù)實際情況自定義的正則表達式,該預先配置的正則表達式的數(shù)量可以根據(jù)所要得到的結(jié)構(gòu)化數(shù)據(jù)確定,一般一個種類的結(jié)構(gòu)化數(shù)據(jù)對應(yīng)一個預先配置的正則表達式,當然并不局限于此。實際應(yīng)用中,用戶可以根據(jù)需要得到的結(jié)構(gòu)化數(shù)據(jù)的種類來定義該正則表達式,該結(jié)構(gòu)化數(shù)據(jù)的種類可以理解為時間、用戶名、IP地址等。[〇〇48]舉例而言,如果需要從上述原始日志數(shù)據(jù)2015-03-02 13:14:20user ZhaoGanglogin www.1qiy1.com from ip 192.168.255.253中獲得時間、用戶名及IP地址三類結(jié)構(gòu)化數(shù)據(jù),則可以定義如下三個正則表達式:
      [0049]time:\d\d\d\d-\d\d_\d\d\s\d\d:\d\d:\d
      [0050]user_name:user\s(.+?)\s[0051 ]ip:\d\d\d.\d\d\d.\d\d\d[〇〇52]其中,time、USer_name及ip為目標字段的名稱,用戶可以根據(jù)實際需要進行定義, 并不局限與此,根據(jù)該三個正則表達式可以從上述原始日志數(shù)據(jù)中抓取三個對應(yīng)的目標字段:2015-03-02 13:14: 20、ZhaoGang及192.168.255.253??梢岳斫獾氖?,如果只需要從上述原始日志數(shù)據(jù)中抓取時間和IP地址兩個種類的目標字段,則只需要定義正則表達式 time: \d\d\d\d-\d\d_\d\d\s\d\d: \d\d: \(1和1卩:\d\d\d ? \d\d\d ? \d\d\d。類似的,如果只需要從上述原始日志數(shù)據(jù)中抓取時間、用戶名、IP地址中的一類目標字段,則對應(yīng)的定義一個正則表達式即可。
      [0053]S103,將所述目標字段與其名稱組合,得到鍵值對形態(tài)的結(jié)構(gòu)化數(shù)據(jù)。
      [0054]抓取目標字段后,將該目標字段與其名稱進行組合,即可以得到該鍵值對形態(tài)的結(jié)構(gòu)化數(shù)據(jù)。具體的,該鍵值對形態(tài)的結(jié)構(gòu)化數(shù)據(jù)一般由鍵和值兩部分組成,可以將目標字段的名稱作為鍵,抓取的目標字段作為值,將二者組合起來得到該鍵值對形態(tài)的結(jié)構(gòu)化數(shù)據(jù),進而完成對該原始日志數(shù)據(jù)的解析。例如,可以將目標字段的名稱time、user_name及ip 作為鍵,抓取的目標字段:2015-03-02 13:14: 20、ZhaoGang及192 ? 168 ? 255 ? 253作為值,分別進行組合,得到如下三個鍵值對形態(tài)的結(jié)構(gòu)化數(shù)據(jù):
      [0055]time:2015-03-02 13:14:20
      [0056]user_name:ZhaoGang
      [0057]ip:192.168.255.253[〇〇58]需要說明是,該鍵值對形態(tài)的結(jié)構(gòu)化數(shù)據(jù)中,鍵和值中間的冒號只是一個表示分割的符號,沒有其他含義,可以用等號、豎線、空格或者其他符號、字符等代替,可以根據(jù)實際情況進行選擇,在此不做具體限定。
      [0059]進一步需要說明的是,為了可以對加密的原始日志數(shù)據(jù)進行準確解析,本發(fā)明實施例所提供的方法,還可以包括:
      [0060]當獲取的原始日志數(shù)據(jù)為加密的原始日志數(shù)據(jù)時,在根據(jù)預先配置的正則表達式從該原始日志數(shù)據(jù)中抓取目標字段之前,將該加密的原始日志數(shù)據(jù)發(fā)送至第二解析插件, 以使:該第二解析插件按照預先配置的解密算法對該加密的原始日志數(shù)據(jù)進行解密,得到解密后的原始日志數(shù)據(jù);[0061 ]接收該第二解析插件發(fā)送的該解密后的原始日志數(shù)據(jù)。
      [0062]由于加密的原始日志數(shù)據(jù)可能導致根據(jù)預先配置的正則表達式抓取目標字段時發(fā)生錯誤或者無法匹配的問題出現(xiàn),因此,可以將該加密的原始日志數(shù)據(jù)發(fā)送至第二解析插件進行解密處理。需要說明的是,該預先配置的解密算法可以為用戶自定義的解密算法, 可以理解的是,該加密的原始日志數(shù)據(jù)的加密算法一般為用戶自定義的加密算法,該解密算法與該加密算法對應(yīng)。通過調(diào)用該第二解析插件提供的接口,將該加密的原始日志數(shù)據(jù)發(fā)送至第二解析插件,該第二解析插件根據(jù)該解密算法便可以對該加密的原始日志數(shù)據(jù)進行解密處理。[〇〇63]需要強調(diào)的是,“第二解析插件”中的“第二”以及后續(xù)提到的“第一解析插件”中的 “第一”僅僅用于從名稱上區(qū)分具有不同解析功能的功能模塊,并不具有任何限定意義;另夕卜,可以理解的是,實際應(yīng)用中,該第一解析插件和第二解析插件可以集成為一個插件,BP 一個插件具有解密功能和格式轉(zhuǎn)換功能,當然,該第一解析插件和第二解析插件也可以為相互獨立的兩個插件,該兩個插件具有不同的功能,這都是合理的。
      [0064]可見,本方案提供一種日志解析方法中,獲取原始日志數(shù)據(jù)后,首先根據(jù)預先配置的正則表達式從所述原始日志數(shù)據(jù)中抓取目標字段,其中,所述正則表達式中包括所述目標字段的名稱,然后將所述目標字段與其名稱組合,即得到鍵值對形態(tài)的結(jié)構(gòu)化數(shù)據(jù)。采用本方案提供日志解析方法可以對不同類型的日志進行統(tǒng)一解析,簡單高效,不必開發(fā)多種日志解析方法,進而大大降低了開發(fā)和維護的成本,易于業(yè)務(wù)的拓展。
      [0065]下面對本發(fā)明實施例所提供的第二種日志解析方法進行介紹。
      [0066]如圖2所示,一種日志解析方法,可以包括:[〇〇67]S201,獲取原始日志數(shù)據(jù);[〇〇68]S202,根據(jù)預先配置的正則表達式從所述原始日志數(shù)據(jù)中抓取目標字段;[〇〇69]其中,該正則表達式中包括該目標字段的名稱;[〇〇7〇] 上述兩個步驟分別與步驟S101、步驟S102相似,相關(guān)之處參見步驟S101、步驟S102 的部分說明即可,在此不再贅述。[0071 ]S203,將所述目標字段發(fā)送至第一解析插件,以使:所述第一解析插件按照預先配置的轉(zhuǎn)換算法將所述目標字段轉(zhuǎn)換成目標格式的目標字段;
      [0072]其中,該目標格式可以為時間戳格式,該時間戳格式為一種時間的描述方法,一般表示從1970年1月1日開始到某個指定時間所經(jīng)過的秒數(shù)(不考慮閏秒)。當然,該目標格式也可以為其他格式,在此不做具體限定。
      [0073]具體的,獲得目標字段后,通過調(diào)用該第一解析插件提供的接口,將該目標字段發(fā)送至該第一解析插件,該第一解析插件可以按照預先配置的轉(zhuǎn)換算法將該目標字段轉(zhuǎn)換成目標格式的目標字段,需要說明的是,一般只需將需要轉(zhuǎn)換為目標格式的目標字段發(fā)送至該第一解析插件,而不需要將全部目標字段發(fā)送至該第一解析插件。可以理解的是,該預先配置的轉(zhuǎn)換算法可以根據(jù)目標格式確定,例如,該目標格式為時間戳格式,則可以預先配置如下時間戳轉(zhuǎn)換算法:
      [0074]時間戮格式的目標字段= days*86400+hours*3600+minutes*60+seconds+時區(qū)修正值[〇〇75] 其中,days表示從1970年1月1日到目標字段中的日期所經(jīng)過的天數(shù);hours、 minutes及seconds分別表示目標字段中的小時數(shù)、分鐘數(shù)及秒數(shù);時區(qū)修正值表示各個時區(qū)的顯示時間與格林威治標準時間相差的秒數(shù)。例如,北京在東八區(qū),時區(qū)修正值就是(-8)*3600〇[〇〇76] 舉例而言,在抓取三個目標字段:2015-03-02 13: 14: 20、ZhaoGang及 192.168.255.253后,可以將需要轉(zhuǎn)換為時間戳格式的目標字段2015-03-0213:14: 20通過調(diào)用該第一解析插件提供的接口發(fā)送至該第一解析插件,該第一解析插件按照上述時間戳轉(zhuǎn)換算法,將目標字段2015-03-02 13:14:20轉(zhuǎn)換為時間戳格式的目標字段1425273260。 [〇〇77]S204,接收所述第一解析插件發(fā)送的所述目標格式的目標字段;
      [0078]具體的,在該第一解析插件將目標字段轉(zhuǎn)換成目標格式的目標字段后,可以通過該第一解析插件提供的接口,接收該第一解析插件發(fā)送的該目標格式的目標字段。例如,該第一解析插件將目標字段2015-03-02 13:14:20轉(zhuǎn)換為時間戳格式的目標字段1425273260 后,可以通過該第一解析插件提供的接口接收該第一解析插件發(fā)送的時間戳格式的目標字段1425273260。
      [0079]S205,將所述目標格式的目標字段與其對應(yīng)的目標字段的名稱組合,得到目標格式的鍵值對形態(tài)的結(jié)構(gòu)化數(shù)據(jù)。
      [0080]具體的,可以將該目標格式的目標字段對應(yīng)的目標字段的名稱作為鍵,該目標格式的目標字段作為值,將二者組合起來即得到鍵值對形態(tài)的結(jié)構(gòu)化數(shù)據(jù),進而完成對該原始日志數(shù)據(jù)的解析。需要說明的是,對于未進行目標格式轉(zhuǎn)換的目標字段,則可以將該目標字段的名稱作為鍵,該目標字段作為值,組合成鍵值對形態(tài)的結(jié)構(gòu)化數(shù)據(jù)。[0081 ] 舉例而言,對于未進行目標格式轉(zhuǎn)換的目標字段ZhaoGang及192.168.255.253,將目標字段的名稱user_name及ip作為鍵,目標字段:ZhaoGang及192.168.255.253作為值,分別進行組合,得到如下兩個鍵值對形態(tài)的結(jié)構(gòu)化數(shù)據(jù):
      [0082]user_name:ZhaoGang
      [0083]ip:192.168.255.253[〇〇84]對于目標字段2015-03-02 13:14: 20,則將其轉(zhuǎn)換成的時間戳格式的目標字段 1425273260作為值,目標字段2015-03-02 13:14:20的名稱time作為鍵,組合成鍵值對形態(tài)的結(jié)構(gòu)化數(shù)據(jù)time: 1425273260。最終得到目標格式的鍵值對形態(tài)的結(jié)構(gòu)化數(shù)據(jù):
      [0085]time:1425273260
      [0086]user_name:ZhaoGang
      [0087]ip:192.168.255.253[〇〇88]需要說明是,該鍵值對形態(tài)的結(jié)構(gòu)化數(shù)據(jù)中,鍵和值中間的冒號只是一個表示分割的符號,沒有其他含義,可以用等號、豎線、空格或者其他符號、字符等代替,可以根據(jù)實際情況進行選擇,在此不做具體限定。
      [0089]進一步需要說明的是,為了可以對加密的原始日志數(shù)據(jù)進行準確解析,本發(fā)明實施例所提供的方法,還可以包括:
      [0090]當獲取的原始日志數(shù)據(jù)為加密的原始日志數(shù)據(jù)時,在根據(jù)預先配置的正則表達式從該原始日志數(shù)據(jù)中抓取目標字段之前,將該加密的原始日志數(shù)據(jù)發(fā)送至第二解析插件, 以使:該第二解析插件按照預先配置的解密算法對該加密的原始日志數(shù)據(jù)進行解密,得到解密后的原始日志數(shù)據(jù);[0091 ]接收該第二解析插件發(fā)送的該解密后的原始日志數(shù)據(jù)。
      [0092]由于加密的原始日志數(shù)據(jù)可能導致根據(jù)預先配置的正則表達式抓取目標字段時發(fā)生錯誤或者無法匹配的問題出現(xiàn),可以將該加密的原始日志數(shù)據(jù)發(fā)送至第二解析插件進行解密處理,需要說明的是,該預先配置的解密算法可以為用戶自定義的解密算法,可以理解的是,該加密的原始日志數(shù)據(jù)的加密算法一般為用戶自定義的加密算法,該解密算法與該加密算法對應(yīng),通過調(diào)用該第二解析插件提供的接口,將該加密的原始日志數(shù)據(jù)發(fā)送至第二解析插件,該第二解析插件根據(jù)該解密算法便可以對該加密的原始日志數(shù)據(jù)進行解密處理。
      [0093]可見,本實施例所述方案在上述實施例的基礎(chǔ)上,通過第一解析插件將目標字段按照預先配置的轉(zhuǎn)換算法轉(zhuǎn)換成目標格式的目標字段,可以獲得多種目標格式的鍵值對形態(tài)的結(jié)構(gòu)化數(shù)據(jù),滿足用戶對鍵值對形態(tài)的結(jié)構(gòu)化數(shù)據(jù)格式的不同需求,方便快捷,更易于業(yè)務(wù)的拓展。
      [0094]相應(yīng)于上述方法實施例,本發(fā)明實施例還提供了日志解析裝置,下面對本發(fā)明實施例所提供的第一種日志解析裝置進行介紹。
      [0095]如圖3所示,一種日志解析裝置,可以包括:[〇〇96]數(shù)據(jù)獲取模塊310,用于獲取原始日志數(shù)據(jù);[〇〇97]字段抓取模塊320,用于根據(jù)預先配置的正則表達式從所述原始日志數(shù)據(jù)中抓取目標字段;
      [0098]其中,所述正則表達式中包括所述目標字段的名稱;
      [0099]組合模塊330,用于將所述目標字段與其名稱組合,得到鍵值對形態(tài)的結(jié)構(gòu)化數(shù)據(jù)。
      [0100]可見,本方案提供一種日志解析裝置,獲取原始日志數(shù)據(jù)后,首先根據(jù)預先配置的正則表達式從所述原始日志數(shù)據(jù)中抓取目標字段,其中,所述正則表達式中包括所述目標字段的名稱,然后將所述目標字段與其名稱組合,即得到鍵值對形態(tài)的結(jié)構(gòu)化數(shù)據(jù)。采用本方案提供日志解析裝置可以對不同類型的日志進行統(tǒng)一解析,簡單高效,不必開發(fā)多種日志解析裝置,進而大大降低了開發(fā)和維護的成本,易于業(yè)務(wù)的拓展。
      [0101]具體的,該預先配置的正則表達式為用戶自定義的正則表達式。
      [0102]進一步的,本發(fā)明實施例所提供的裝置還可以包括:
      [0103]數(shù)據(jù)發(fā)送模塊,用于:當獲取的原始日志數(shù)據(jù)為加密的原始日志數(shù)據(jù)時,在所述根據(jù)預先配置的正則表達式從所述原始日志數(shù)據(jù)中抓取目標字段之前,將所述加密的原始日志數(shù)據(jù)發(fā)送至第二解析插件,以使:所述第二解析插件按照預先配置的解密算法對所述加密的原始日志數(shù)據(jù)進行解密,得到解密后的原始日志數(shù)據(jù);
      [0104]數(shù)據(jù)接收模塊,用于接收所述第二解析插件發(fā)送的所述解密后的原始日志數(shù)據(jù)。
      [0105]下面對本發(fā)明實施例所提供的第二種日志解析裝置進行介紹。[〇106] 如圖4所示,一種日志解析裝置,可以包括:
      [0107]數(shù)據(jù)獲取模塊410,用于獲取原始日志數(shù)據(jù);
      [0108]字段抓取模塊420,用于根據(jù)預先配置的正則表達式從所述原始日志數(shù)據(jù)中抓取目標字段;
      [0109]其中,所述正則表達式中包括所述目標字段的名稱;
      [0110]字段發(fā)送模塊430,用于:在根據(jù)預先配置的正則表達式從所述原始日志數(shù)據(jù)中抓取目標字段之后,將所述目標字段發(fā)送至第一解析插件,以使:所述第一解析插件按照預先配置的轉(zhuǎn)換算法將所述目標字段轉(zhuǎn)換成目標格式的目標字段;
      [0111]字段接收模塊440,用于接收所述第一解析插件發(fā)送的所述目標格式的目標字段;
      [0112]組合模塊450,用于將所述目標格式的目標字段與其對應(yīng)的目標字段的名稱組合, 得到目標格式的鍵值對形態(tài)的結(jié)構(gòu)化數(shù)據(jù)。
      [0113]可見,本實施例所述方案在上述實施例的基礎(chǔ)上,通過第一解析插件將目標字段按照預先配置的轉(zhuǎn)換算法轉(zhuǎn)換成目標格式的目標字段,可以獲得多種目標格式的鍵值對形態(tài)的結(jié)構(gòu)化數(shù)據(jù),滿足用戶對鍵值對形態(tài)的結(jié)構(gòu)化數(shù)據(jù)格式的不同需求,方便快捷,更易于業(yè)務(wù)的拓展。[〇114]具體的,該預先配置的正則表達式為用戶自定義的正則表達式。
      [0115]進一步的,本發(fā)明實施例所提供的裝置還可以包括:
      [0116]數(shù)據(jù)發(fā)送模塊,用于:當獲取的原始日志數(shù)據(jù)為加密的原始日志數(shù)據(jù)時,在所述根據(jù)預先配置的正則表達式從所述原始日志數(shù)據(jù)中抓取目標字段之前,將所述加密的原始日志數(shù)據(jù)發(fā)送至第二解析插件,以使:所述第二解析插件按照預先配置的解密算法對所述加密的原始日志數(shù)據(jù)進行解密,得到解密后的原始日志數(shù)據(jù);
      [0117]數(shù)據(jù)接收模塊,用于接收所述第二解析插件發(fā)送的所述解密后的原始日志數(shù)據(jù)。
      [0118]需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個實體或者操作與另一個實體或操作區(qū)分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同要素。
      [0119]本說明書中的各個實施例均采用相關(guān)的方式描述,各個實施例之間相同相似的部分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。尤其,對于裝置實施例而言,由于其基本相似于方法實施例,所以描述的比較簡單,相關(guān)之處參見方法實施例的部分說明即可。
      [0120]本領(lǐng)域普通技術(shù)人員可以理解實現(xiàn)上述方法實施方式中的全部或部分步驟是可以通過程序來指令相關(guān)的硬件來完成,所述的程序可以存儲于計算機可讀取存儲介質(zhì)中, 這里所稱得的存儲介質(zhì),如:R0M/RAM、磁碟、光盤等。
      [0121]以上所述僅為本發(fā)明的較佳實施例而已,并非用于限定本發(fā)明的保護范圍。凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換、改進等,均包含在本發(fā)明的保護范圍內(nèi)。
      【主權(quán)項】
      1.一種日志解析方法,其特征在于,包括:獲取原始日志數(shù)據(jù);根據(jù)預先配置的正則表達式從所述原始日志數(shù)據(jù)中抓取目標字段,其中,所述正則表 達式中包括所述目標字段的名稱;將所述目標字段與其名稱組合,得到鍵值對形態(tài)的結(jié)構(gòu)化數(shù)據(jù)。2.如權(quán)利要求1所述的方法,其特征在于,根據(jù)預先配置的正則表達式從所述原始日志 數(shù)據(jù)中抓取目標字段之后,還包括:將所述目標字段發(fā)送至第一解析插件,以使:所述第一解析插件按照預先配置的轉(zhuǎn)換 算法將所述目標字段轉(zhuǎn)換成目標格式的目標字段;接收所述第一解析插件發(fā)送的所述目標格式的目標字段;相應(yīng)的,所述將所述目標字段與其名稱組合,得到鍵值對形態(tài)的結(jié)構(gòu)化數(shù)據(jù)具體為: 將所述目標格式的目標字段與其對應(yīng)的目標字段的名稱組合,得到目標格式的鍵值對 形態(tài)的結(jié)構(gòu)化數(shù)據(jù)。3.如權(quán)利要求2所述的方法,其特征在于,所述目標格式為時間戳格式。4.如權(quán)利要求1所述的方法,其特征在于,當獲取的原始日志數(shù)據(jù)為加密的原始日志數(shù) 據(jù)時,所述根據(jù)預先配置的正則表達式從所述原始日志數(shù)據(jù)中抓取目標字段之前,還包括:將所述加密的原始日志數(shù)據(jù)發(fā)送至第二解析插件,以使:所述第二解析插件按照預先 配置的解密算法對所述加密的原始日志數(shù)據(jù)進行解密,得到解密后的原始日志數(shù)據(jù);接收所述第二解析插件發(fā)送的所述解密后的原始日志數(shù)據(jù)。5.如權(quán)利要求1-4任一項所述的方法,其特征在于,所述預先配置的正則表達式為用戶 自定義的正則表達式。6.—種日志解析裝置,其特征在于,包括:數(shù)據(jù)獲取模塊,用于獲取原始日志數(shù)據(jù);字段抓取模塊,用于根據(jù)預先配置的正則表達式從所述原始日志數(shù)據(jù)中抓取目標字 段,其中,所述正則表達式中包括所述目標字段的名稱;組合模塊,用于將所述目標字段與其名稱組合,得到鍵值對形態(tài)的結(jié)構(gòu)化數(shù)據(jù)。7.如權(quán)利要求6所述的裝置,其特征在于,還包括:字段發(fā)送模塊,用于:在根據(jù)預先配置的正則表達式從所述原始日志數(shù)據(jù)中抓取目標 字段之后,將所述目標字段發(fā)送至第一解析插件,以使:所述第一解析插件按照預先配置的 轉(zhuǎn)換算法將所述目標字段轉(zhuǎn)換成目標格式的目標字段;字段接收模塊,用于接收所述第一解析插件發(fā)送的所述目標格式的目標字段;相應(yīng)的,所述組合模塊具體用于:將所述目標格式的目標字段與其對應(yīng)的目標字段的名稱組合,得到目標格式的鍵值對 形態(tài)的結(jié)構(gòu)化數(shù)據(jù)。8.如權(quán)利要求7所述的裝置,其特征在于,所述目標格式為時間戳格式。9.如權(quán)利要求6所述的裝置,其特征在于,還包括:數(shù)據(jù)發(fā)送模塊,用于:當獲取的原始日志數(shù)據(jù)為加密的原始日志數(shù)據(jù)時,在所述根據(jù)預 先配置的正則表達式從所述原始日志數(shù)據(jù)中抓取目標字段之前,將所述加密的原始日志數(shù) 據(jù)發(fā)送至第二解析插件,以使:所述第二解析插件按照預先配置的解密算法對所述加密的原始日志數(shù)據(jù)進行解密,得到解密后的原始日志數(shù)據(jù);數(shù)據(jù)接收模塊,用于接收所述第二解析插件發(fā)送的所述解密后的原始日志數(shù)據(jù)。10.如權(quán)利要求6-9任一項所述的裝置,其特征在于,所述預先配置的正則表達式為用 戶自定義的正則表達式。
      【文檔編號】G06F17/30GK106021554SQ201610369900
      【公開日】2016年10月12日
      【申請日】2016年5月30日
      【發(fā)明人】葉煒晨
      【申請人】北京奇藝世紀科技有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1