欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種利用攔截器進(jìn)行日志數(shù)據(jù)收集的方法及系統(tǒng)的制作方法

文檔序號:10569948閱讀:331來源:國知局
一種利用攔截器進(jìn)行日志數(shù)據(jù)收集的方法及系統(tǒng)的制作方法
【專利摘要】本發(fā)明涉及一種利用攔截器進(jìn)行日志數(shù)據(jù)收集的方法及系統(tǒng),其中方法包括以下步驟:步驟1:自定義構(gòu)建一個攔截器,將攔截器放到Flume的根目錄下;步驟2:所述攔截器接收數(shù)據(jù)并過濾掉不需要的數(shù)據(jù),得到需要收集的日志數(shù)據(jù)。一個大的應(yīng)用系統(tǒng)中往往產(chǎn)生的日志數(shù)據(jù)會有幾十甚至上百個字段,在使用Flume自帶的攔截器進(jìn)行日志收集時,收集到的日志還是會有對應(yīng)這么多的字段,但是基本上有很多字段是我們不需要去關(guān)注的,沒有實際利用價值,這樣帶來數(shù)據(jù)的傳輸性能緩慢和存儲的開銷。本發(fā)明通過自定義Flume攔截器,可以抽取出我們需要的字段,并對某個字段進(jìn)行加密處理。減少了數(shù)據(jù)的傳輸量,降低了存儲的開銷。
【專利說明】
一種利用攔截器進(jìn)行日志數(shù)據(jù)收集的方法及系統(tǒng)
技術(shù)領(lǐng)域
[0001 ]本發(fā)明涉及一種利用攔截器進(jìn)行日志數(shù)據(jù)收集的方法及系統(tǒng),屬于計算機軟件領(lǐng)域。
【背景技術(shù)】
[0002]Flume是Cloudera提供的一個高可用的,高可靠的,分布式的海量日志采集、聚合和傳輸?shù)南到y(tǒng),F(xiàn)lume支持在日志系統(tǒng)中定制各類數(shù)據(jù)發(fā)送方,用于收集數(shù)據(jù);同時,F(xiàn)lume提供對數(shù)據(jù)進(jìn)行簡單處理,并寫到各種數(shù)據(jù)接受方(可定制)的能力。Flume有各種自帶的攔截器,比如:Times tamplnterceptor、Host Interceptor、RegexExtractor Interceptor等,通過使用不同的攔截器,實現(xiàn)不同的功能。但是以上的這些攔截器,并不能改變原有日志數(shù)據(jù)的內(nèi)容,當(dāng)一條日志信息有幾十個甚至上百個字段的時候,在傳統(tǒng)的Flume處理下,收集到的日志還是會有對應(yīng)這么多的字段。

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

[0003]本發(fā)明所要解決的技術(shù)問題是,根據(jù)實際業(yè)務(wù)的需求,為了更好的滿足數(shù)據(jù)在應(yīng)用層的處理,提供一種通過自定義Flume攔截器,過濾掉不需要的字段,并對字段加密處理,將源數(shù)據(jù)進(jìn)行預(yù)處理。減少了數(shù)據(jù)的傳輸量,降低了存儲的開銷的利用攔截器進(jìn)行日志數(shù)據(jù)收集的方法及系統(tǒng)。
[0004]本發(fā)明解決上述技術(shù)問題的技術(shù)方案如下:一種利用攔截器進(jìn)行日志數(shù)據(jù)收集的方法,具體包括以下步驟:
[0005]步驟1:自定義構(gòu)建一個攔截器,將攔截器放到Flume的根目錄下;
[0006]步驟2:所述攔截器接收數(shù)據(jù)并過濾掉不需要的數(shù)據(jù),得到需要收集的日志數(shù)據(jù)。
[0007]本發(fā)明的有益效果是:一個大的應(yīng)用系統(tǒng)中往往產(chǎn)生的日志數(shù)據(jù)會有幾十甚至上百個字段,在使用Flume自帶的攔截器進(jìn)行日志收集時,收集到的日志還是會有對應(yīng)這么多的字段,但是基本上有很多字段是我們不需要去關(guān)注的,沒有實際利用價值,這樣帶來數(shù)據(jù)的傳輸性能緩慢和存儲的開銷。通過自定義Flume攔截器,可以抽取出我們需要的字段,并對某個字段進(jìn)行加密處理。減少了數(shù)據(jù)的傳輸量,降低了存儲的開銷。
[0008]在上述技術(shù)方案的基礎(chǔ)上,本發(fā)明還可以做如下改進(jìn)。
[0009]進(jìn)一步,所述步驟I具體包括以下步驟:
[0010]步驟1.1:定義一個自定義攔截器類;
[0011]步驟1.2:在自定義攔截器類中定義變量,并配置相關(guān)信息,根據(jù)配置的相關(guān)信息設(shè)置攔截器接口 ;
[0012]步驟1.3:在攔截器接口中定義內(nèi)部接口產(chǎn)生器,并進(jìn)行參數(shù)配置,完成攔截器的設(shè)置;
[0013]步驟I.4:將攔截器放到Flume的根目錄下。
[0014]進(jìn)一步,所述相關(guān)信息包括正則表達(dá)式、每一行字段間的分隔符、所需要列字段的下標(biāo)和多個下標(biāo)使用的分隔符。
[0015]進(jìn)一步,所述步驟1.2具體包括以下步驟:
[0016]步驟1.2.1:在自定義攔截器類中定義變量,并配置相關(guān)信息;
[0017]步驟1.2.2:在自定義攔截器類中添加有參構(gòu)造法,并對相關(guān)信息進(jìn)行處理;
[0018]步驟1.2.3:設(shè)置處理邏輯,根據(jù)根據(jù)處理邏輯和處理后的相關(guān)信息設(shè)置攔截器接
□O
[0019]進(jìn)一步,所述步驟1.2.2中對相關(guān)信息的處理為將相關(guān)信息中的Unicode編碼轉(zhuǎn)換為字符串。
[0020]進(jìn)一步,所述處理邏輯包括單個處理和批量處理。
[0021]進(jìn)一步,所述步驟2中過濾掉不需要的字段,并對字段進(jìn)行加密處理。
[0022]采用上述進(jìn)一步方案的有益效果是,減少了數(shù)據(jù)的傳輸量,并降低了存儲的開銷。
[0023]本發(fā)明解決上述技術(shù)問題的技術(shù)方案如下:一種利用攔截器進(jìn)行日志數(shù)據(jù)收集的系統(tǒng),包括攔截器模塊和數(shù)據(jù)過濾模塊;
[0024]所述攔截器模塊用于自定義構(gòu)建一個攔截器,將攔截器放到Flume的根目錄下;
[0025]所述數(shù)據(jù)過濾模塊用于控制所述攔截器接收數(shù)據(jù)并過濾掉不需要的數(shù)據(jù),得到需要收集的日志數(shù)據(jù)。
[0026]在上述技術(shù)方案的基礎(chǔ)上,本發(fā)明還可以做如下改進(jìn)。
[0027]進(jìn)一步,所述攔截器模塊包括類定義模塊、配置模塊、參數(shù)設(shè)置模塊和目錄模塊;
[0028]所述類定義模塊用于定義一個自定義攔截器類;
[0029]所述配置模塊用于在自定義攔截器類中定義變量,并配置相關(guān)信息,根據(jù)配置的相關(guān)信息設(shè)置攔截器接口 ;
[0030]所述參數(shù)設(shè)置模塊用于在攔截器接口中定義內(nèi)部接口產(chǎn)生器,并進(jìn)行參數(shù)配置,完成攔截器的設(shè)置;
[0031 ]所述目錄模塊用于將攔截器放到Flume的根目錄下。
[0032]進(jìn)一步,所述相關(guān)信息包括正則表達(dá)式、每一行字段間的分隔符、所需要列字段的下標(biāo)和多個下標(biāo)使用的分隔符。
【附圖說明】
[0033]圖1為本發(fā)明實施例1所述的一種利用攔截器進(jìn)行日志數(shù)據(jù)收集的方法流程圖;
[0034]圖2為本發(fā)明實施例1所述的一種利用攔截器進(jìn)行日志數(shù)據(jù)收集的系統(tǒng)結(jié)構(gòu)框圖。
[0035]附圖中,各標(biāo)號所代表的部件列表如下:
[0036]1、攔截器模塊,2、數(shù)據(jù)過濾模塊。
【具體實施方式】
[0037]以下結(jié)合附圖對本發(fā)明的原理和特征進(jìn)行描述,所舉實例只用于解釋本發(fā)明,并非用于限定本發(fā)明的范圍。
[0038]如圖1所示,為本發(fā)明實施例1所述的一種利用攔截器進(jìn)行日志數(shù)據(jù)收集的方法,具體包括以下步驟:
[0039]步驟1:自定義構(gòu)建一個攔截器,將攔截器放到Flume的根目錄下;
[0040]步驟2:所述攔截器接收數(shù)據(jù)并過濾掉不需要的數(shù)據(jù),得到需要收集的日志數(shù)據(jù)。
[0041]本發(fā)明實施例2所述的一種利用攔截器進(jìn)行日志數(shù)據(jù)收集的方法,在實施例1的基礎(chǔ)上,所述步驟I具體包括以下步驟:
[0042]步驟1.1:定義一個自定義攔截器類;
[0043]步驟1.2:在自定義攔截器類中定義變量,并配置相關(guān)信息,根據(jù)配置的相關(guān)信息設(shè)置攔截器接口 ;
[0044]步驟1.3:在攔截器接口中定義內(nèi)部接口產(chǎn)生器,并進(jìn)行參數(shù)配置,完成攔截器的設(shè)置;
[0045]步驟I.4:將攔截器放到Flume的根目錄下。
[0046]本發(fā)明實施例3所述的一種利用攔截器進(jìn)行日志數(shù)據(jù)收集的方法,在實施例2的基礎(chǔ)上,所述相關(guān)信息包括正則表達(dá)式、每一行字段間的分隔符、所需要列字段的下標(biāo)和多個下標(biāo)使用的分隔符等。
[0047]本發(fā)明實施例4所述的一種利用攔截器進(jìn)行日志數(shù)據(jù)收集的方法,在實施例3的基礎(chǔ)上,所述步驟1.2具體包括以下步驟:
[0048]步驟1.2.1:在自定義攔截器類中定義變量,并配置相關(guān)信息;
[0049]步驟1.2.2:在自定義攔截器類中添加有參構(gòu)造法,并對相關(guān)信息進(jìn)行處理;
[0050]步驟1.2.3:設(shè)置處理邏輯,根據(jù)根據(jù)處理邏輯和處理后的相關(guān)信息設(shè)置攔截器接
□O
[0051]本發(fā)明實施例5所述的一種利用攔截器進(jìn)行日志數(shù)據(jù)收集的方法,在實施例4的基礎(chǔ)上,所述步驟1.2.2中對相關(guān)信息的處理為將相關(guān)信息中的Unicode編碼進(jìn)行轉(zhuǎn)換為字符串O
[0052]本發(fā)明實施例6所述的一種利用攔截器進(jìn)行日志數(shù)據(jù)收集的方法,在實施例4或5的基礎(chǔ)上,所述處理邏輯包括單個處理和批量處理。
[0053]本發(fā)明實施例7所述的一種利用攔截器進(jìn)行日志數(shù)據(jù)收集的方法,在實施例1-6任一項的基礎(chǔ)上,所述步驟2中過濾掉不需要的字段,并對字段進(jìn)行加密處理。
[0054]如圖2所示,為本發(fā)明實施例1所述的一種利用攔截器進(jìn)行日志數(shù)據(jù)收集的系統(tǒng),包括攔截器模塊I和數(shù)據(jù)過濾模塊2;
[0055]所述攔截器模塊I用于自定義構(gòu)建一個攔截器,將攔截器放到Flume的根目錄下;
[0056]所述數(shù)據(jù)過濾模塊2用于控制所述攔截器接收數(shù)據(jù)并過濾掉不需要的數(shù)據(jù),得到需要收集的日志數(shù)據(jù)。
[0057]本發(fā)明實施例2所述的一種利用攔截器進(jìn)行日志數(shù)據(jù)收集的系統(tǒng),在實施例1的基礎(chǔ)上,所述攔截器模塊I包括類定義模塊、配置模塊、參數(shù)設(shè)置模塊和目錄模塊;
[0058]所述類定義模塊用于定義一個自定義攔截器類;
[0059]所述配置模塊用于在自定義攔截器類中定義變量,并配置相關(guān)信息,根據(jù)配置的相關(guān)信息設(shè)置攔截器接口 ;
[0060]所述參數(shù)設(shè)置模塊用于在攔截器接口中定義內(nèi)部接口產(chǎn)生器,并進(jìn)行參數(shù)配置,完成攔截器的設(shè)置;
[0061 ]所述目錄模塊用于將攔截器放到Flume的根目錄下。
[0062]本發(fā)明實施例3所述的一種利用攔截器進(jìn)行日志數(shù)據(jù)收集的系統(tǒng),在實施例2的基礎(chǔ)上,所述相關(guān)信息包括正則表達(dá)式、每一行字段間的分隔符、所需要列字段的下標(biāo)和多個下標(biāo)使用的分隔符等。
[0063]本技術(shù)方案核心包括二部分:
[0064]I)編寫java代碼,自定義攔截器:具體包括以下步驟:
[0065]a)定義一個類CustomInterceptor實現(xiàn)Interceptor接口。
[0066]b)在CustomInterceptor類中定義變量,這些變量是需要到Flume的配置文件中進(jìn)行配置使用的。配置正則表達(dá)式(regex)、每一行字段間的分隔符(fields_separator)、通過分隔符分隔后,所需要列字段的下標(biāo)(indexs)、多個下標(biāo)使用的分隔符(indexS_separator)、多個下標(biāo)使用的分隔符(indexs_separator)。
[0067]c)添加CustomInterceptor的有參構(gòu)造方法。并對相應(yīng)的變量進(jìn)行處理。將配置文件中傳過來的Unicode編碼進(jìn)行轉(zhuǎn)換為字符串。
[0068]d)寫具體的要處理的邏輯interceptO方法,一個是單個處理的,一個是批量處理。
[0069]e)接口中定義了一個內(nèi)部接口Builder,在configure方法中,進(jìn)行一些參數(shù)配置。并給出,在flume的conf中沒配置一些參數(shù)時,給出其默認(rèn)值。通過其bui Ider方法,返回一個 interceptor 對象。
[0070]f)通過以上步驟,自定義攔截器的代碼開發(fā)已完成,然后打包成jar,放到Flume的根目錄下的Iib中
[0071]2)修改Flume的配置信息:
[0072]進(jìn)入到Flume的安裝目錄下的conf,配置source、channel、sink,并在source中對自定義的攔截器進(jìn)行引用,對之前在代碼中定義的變量進(jìn)行配置。
[0073]將開發(fā)完成的自定義攔截器打包成jar,放到flume的根目錄下的Iib中,進(jìn)入到Flume的安裝目錄下的conf,配置source、channel、sink,并在source中對自定義的攔截器進(jìn)行引用,對之前在代碼中定義的變量進(jìn)行配置。這樣實現(xiàn)了整個Flume自定義攔截器的開發(fā)。
[0074]以上所述僅為本發(fā)明的較佳實施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
【主權(quán)項】
1.一種利用攔截器進(jìn)行日志數(shù)據(jù)收集的方法,其特征在于,具體包括以下步驟: 步驟1:自定義構(gòu)建一個攔截器,將攔截器放到Flume的根目錄下; 步驟2:所述攔截器接收數(shù)據(jù)并過濾掉不需要的數(shù)據(jù),得到需要收集的日志數(shù)據(jù)。2.根據(jù)權(quán)利要求1所述的一種利用攔截器進(jìn)行日志數(shù)據(jù)收集的方法,其特征在于,所述步驟I具體包括以下步驟: 步驟I.I:定義一個自定義攔截器類; 步驟1.2:在自定義攔截器類中定義變量,并配置相關(guān)信息,根據(jù)配置的相關(guān)信息設(shè)置攔截器接口; 步驟1.3:在攔截器接口中定義內(nèi)部接口產(chǎn)生器,并進(jìn)行參數(shù)配置,完成攔截器的設(shè)置; 步驟1.4:將攔截器放到Flume的根目錄下。3.根據(jù)權(quán)利要求2所述的一種利用攔截器進(jìn)行日志數(shù)據(jù)收集的方法,其特征在于,所述相關(guān)信息包括正則表達(dá)式、每一行字段間的分隔符、所需要列字段的下標(biāo)和多個下標(biāo)使用的分隔符。4.根據(jù)權(quán)利要求3所述的一種利用攔截器進(jìn)行日志數(shù)據(jù)收集的方法,其特征在于,所述步驟1.2具體包括以下步驟: 步驟1.2.1:在自定義攔截器類中定義變量,并配置相關(guān)信息; 步驟1.2.2:在自定義攔截器類中添加有參構(gòu)造法,并對相關(guān)信息進(jìn)行處理; 步驟1.2.3:設(shè)置處理邏輯,根據(jù)根據(jù)處理邏輯和處理后的相關(guān)信息設(shè)置攔截器接口。5.根據(jù)權(quán)利要求4所述的一種利用攔截器進(jìn)行日志數(shù)據(jù)收集的方法,其特征在于,所述步驟1.2.2中對相關(guān)信息的處理為將相關(guān)信息中的Unicode編碼轉(zhuǎn)換為字符串。6.根據(jù)權(quán)利要求4或5所述的一種利用攔截器進(jìn)行日志數(shù)據(jù)收集的方法,其特征在于,所述處理邏輯包括單個處理和批量處理。7.根據(jù)權(quán)利要求1所述的一種利用攔截器進(jìn)行日志數(shù)據(jù)收集的方法,其特征在于,所述步驟2中過濾掉不需要的字段,并對字段進(jìn)行加密處理。8.—種利用攔截器進(jìn)行日志數(shù)據(jù)收集的系統(tǒng),其特征在于,包括攔截器模塊和數(shù)據(jù)過濾豐吳塊; 所述攔截器模塊用于自定義構(gòu)建一個攔截器,將攔截器放到Flume的根目錄下; 所述數(shù)據(jù)過濾模塊用于控制所述攔截器接收數(shù)據(jù)并過濾掉不需要的數(shù)據(jù),得到需要收集的日志數(shù)據(jù)。9.根據(jù)權(quán)利要求8所述的一種利用攔截器進(jìn)行日志數(shù)據(jù)收集的系統(tǒng),其特征在于,所述攔截器模塊包括類定義模塊、配置模塊、參數(shù)設(shè)置模塊和目錄模塊; 所述類定義模塊用于定義一個自定義攔截器類; 所述配置模塊用于在自定義攔截器類中定義變量,并配置相關(guān)信息,根據(jù)配置的相關(guān)信息設(shè)置攔截器接口 ; 所述參數(shù)設(shè)置模塊用于在攔截器接口中定義內(nèi)部接口產(chǎn)生器,并進(jìn)行參數(shù)配置,完成攔截器的設(shè)置; 所述目錄模塊用于將攔截器放到Flume的根目錄下。10.根據(jù)權(quán)利要求9所述的一種利用攔截器進(jìn)行日志數(shù)據(jù)收集的系統(tǒng),其特征在于,所述相關(guān)信息包括正則表達(dá)式、每一行字段間的分隔符、所需要列字段的下標(biāo)和多個下標(biāo)使用的分隔符。
【文檔編號】G06F17/30GK105930379SQ201610230525
【公開日】2016年9月7日
【申請日】2016年4月14日
【發(fā)明人】金曉飛
【申請人】北京思特奇信息技術(shù)股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
巩留县| 上犹县| 富川| 蒲江县| 潮安县| 天祝| 五常市| 四平市| 祁门县| 闻喜县| 霍山县| 阿拉善左旗| 牟定县| 茂名市| 吴桥县| 上高县| 河北省| 蕲春县| 绥宁县| 年辖:市辖区| 信阳市| 泉州市| 军事| 芮城县| 屏东县| 平陆县| 广安市| 镇宁| 布拖县| 南京市| 乾安县| 高尔夫| 勐海县| 吉林省| 独山县| 磐安县| 门头沟区| 荥经县| 灵台县| 固始县| 博罗县|