亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種基于Flume的數(shù)據(jù)處理方法和裝置的制造方法

文檔序號(hào):9887763閱讀:458來源:國知局
一種基于Flume的數(shù)據(jù)處理方法和裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及數(shù)據(jù)處理領(lǐng)域,更為具體而言,涉及一種基于Flume的數(shù)據(jù)處理方法和
目.ο
【背景技術(shù)】
[0002]隨著電子商務(wù)的快速發(fā)展,相關(guān)網(wǎng)站的規(guī)模以及數(shù)據(jù)正以指數(shù)級(jí)形式飛速增長,電子商務(wù)網(wǎng)站每天需要處理的日志信息多達(dá)幾TB。如何實(shí)時(shí)準(zhǔn)確的收集、傳輸、計(jì)算海量日志成為電子商務(wù)領(lǐng)域迫切需要解決的問題。
[0003]現(xiàn)有技術(shù)主要使用分布式日志收集處理方法,最具代表性的是Flume-NG技術(shù)。Flume可用于從不同數(shù)據(jù)源收集、聚合、傳輸海量日志到日志管理服務(wù)器。傳統(tǒng)的分布式Flume日志采集傳輸系統(tǒng)通過日志發(fā)送端Flume Client來發(fā)送日志,然后通過協(xié)議連接Flume服務(wù)器,將日志文件發(fā)送到日志收集模塊Flume Server,在Flume Server模塊進(jìn)行相應(yīng)的數(shù)據(jù)處理。但是,現(xiàn)有的Flume收集系統(tǒng)是直接從不同的WEB應(yīng)用服務(wù)器接收日志,極易導(dǎo)致Flume服務(wù)器之間負(fù)載失衡,造成部分服務(wù)器宕機(jī)。

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

[0004]為解決上述技術(shù)問題,本發(fā)明提供了一種基于Flume的數(shù)據(jù)處理方法和裝置。
[0005]根據(jù)本發(fā)明實(shí)施方式的第一方面,提供了一種基于Flume的數(shù)據(jù)處理方法,該方法可包括:從應(yīng)用服務(wù)器收集日志數(shù)據(jù);根據(jù)Flume服務(wù)器的運(yùn)行參數(shù)將所述日志數(shù)據(jù)均衡地分發(fā)至所述Flume服務(wù)器,其中,所述運(yùn)行參數(shù)包括以下的一種或多種:負(fù)載、性能和帶寬。
[0006]在本發(fā)明的一些實(shí)施方式中,所述運(yùn)行參數(shù)是通過所述Flume服務(wù)器定時(shí)報(bào)告進(jìn)行更新。
[0007]在本發(fā)明的一些實(shí)施方式中,所述方法還包括:在將所述日志數(shù)據(jù)發(fā)送至Flume月艮務(wù)器之后,通過文件類型的隊(duì)列Channel對(duì)所述日志數(shù)據(jù)進(jìn)行緩存。
[0008]在本發(fā)明的一些實(shí)施方式中,所述日志數(shù)據(jù)包括訪問日志數(shù)據(jù)和javascript標(biāo)記日志數(shù)據(jù)。
[0009]在本發(fā)明的一些實(shí)施方式中,所述方法還包括:在將所述日志數(shù)據(jù)發(fā)送至Flume月艮務(wù)器之后,將所述日志數(shù)據(jù)中的訪問日志數(shù)據(jù)和javascript標(biāo)記日志數(shù)據(jù)分別解析。
[0010]在本發(fā)明的一些實(shí)施方式中,所述方法還包括:將所述日志數(shù)據(jù)解析后的原始數(shù)據(jù)與緩存于內(nèi)存中的數(shù)據(jù)庫表中的業(yè)務(wù)數(shù)據(jù)進(jìn)行關(guān)聯(lián)查詢以形成用于指標(biāo)統(tǒng)計(jì)的數(shù)據(jù)。
[0011]在本發(fā)明的一些實(shí)施方式中,所述數(shù)據(jù)庫表是通過EHcache分布式緩存。
[0012]根據(jù)本發(fā)明實(shí)施方式的第二方面,提供了一種基于Flume的數(shù)據(jù)處理裝置,該裝置可包括:收集模塊,設(shè)置于應(yīng)用服務(wù)器,用于收集所述應(yīng)用服務(wù)器的日志數(shù)據(jù);均衡模塊,用于根據(jù)Flume服務(wù)器的運(yùn)行參數(shù)將所述日志數(shù)據(jù)均衡地分發(fā)至所述Flume服務(wù)器,其中,所述運(yùn)行參數(shù)包括以下的一種或多種:負(fù)載、性能和帶寬。
[0013]在本發(fā)明的一些實(shí)施方式中,所述均衡模塊,還用于定時(shí)接收所述Flume服務(wù)器報(bào)告的運(yùn)行參數(shù),并對(duì)所述Flume服務(wù)器的運(yùn)行參數(shù)進(jìn)行更新。
[0014]在本發(fā)明的一些實(shí)施方式中,所述裝置還包括:傳輸處理模塊,設(shè)置于Flume服務(wù)器,用于通過文件類型的隊(duì)列Channel對(duì)所述日志數(shù)據(jù)進(jìn)行緩存。
[00?5]在本發(fā)明的一些實(shí)施方式中,所述日志數(shù)據(jù)包括訪問日志數(shù)據(jù)和javascript標(biāo)記日志數(shù)據(jù)。
[0016]在本發(fā)明的一些實(shí)施方式中,所述裝置還包括:解析模塊,用于將所述日志數(shù)據(jù)中的訪問日志數(shù)據(jù)和javascript標(biāo)記日志數(shù)據(jù)分別解析。
[0017]在本發(fā)明的一些實(shí)施方式中,所述裝置還包括:查詢模塊,用于將所述日志數(shù)據(jù)解析后的原始數(shù)據(jù)與緩存于內(nèi)存中的數(shù)據(jù)庫表中的業(yè)務(wù)數(shù)據(jù)進(jìn)行關(guān)聯(lián)查詢以形成用于指標(biāo)統(tǒng)計(jì)的數(shù)據(jù)。
[0018]在本發(fā)明的一些實(shí)施方式中,所述數(shù)據(jù)庫表是通過EHcache分布式緩存。
[0019]本發(fā)明提供的基于Flume的數(shù)據(jù)處理方法和裝置,根據(jù)Flume服務(wù)器的運(yùn)行參數(shù)進(jìn)行負(fù)載均衡,顯著改善了數(shù)據(jù)收集處理的可靠性;而且對(duì)于均是海量數(shù)據(jù)的日志數(shù)據(jù)和業(yè)務(wù)數(shù)據(jù),通過緩存于內(nèi)存的數(shù)據(jù)庫表對(duì)日志數(shù)據(jù)的解析結(jié)果進(jìn)行關(guān)聯(lián)查詢,大大提高了數(shù)據(jù)查詢效率,改善了數(shù)據(jù)的吞吐量。
【附圖說明】
[0020]圖1是根據(jù)本發(fā)明一種實(shí)施方式的基于Flume的數(shù)據(jù)處理方法的流程示意圖;
[0021]圖2是根據(jù)本發(fā)明一種實(shí)施方式的基于Flume的數(shù)據(jù)處理裝置的結(jié)構(gòu)示意圖;
[0022]圖3是根據(jù)本發(fā)明一種實(shí)施方式的基于Flume的數(shù)據(jù)處理裝置的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0023]以下結(jié)合附圖和【具體實(shí)施方式】對(duì)本發(fā)明的各個(gè)方面進(jìn)行詳細(xì)闡述。其中,眾所周知的模塊、單元及其相互之間的連接、鏈接、通信或操作沒有示出或未作詳細(xì)說明。并且,所描述的特征、架構(gòu)或功能可在一個(gè)或一個(gè)以上實(shí)施方式中以任何方式組合。本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,下述的各種實(shí)施方式只用于舉例說明,而非用于限制本發(fā)明的保護(hù)范圍。還可以容易理解,本文所述和附圖所示的各實(shí)施方式中的模塊或單元或處理方式可以按各種不同配置進(jìn)行組合和設(shè)計(jì)。
[0024]參見圖1,圖1是根據(jù)本發(fā)明一種實(shí)施方式的基于Flume的數(shù)據(jù)處理方法的流程示意圖,該方法可包括:
[0025]SlOl,從應(yīng)用服務(wù)器收集日志數(shù)據(jù);
[0026]S102,根據(jù)Flume服務(wù)器的運(yùn)行參數(shù)將所述日志數(shù)據(jù)均衡地分發(fā)至所述Flume服務(wù)器,其中,所述運(yùn)行參數(shù)包括以下的一種或多種:負(fù)載、性能和帶寬。
[0027]在本發(fā)明的實(shí)施方式中,應(yīng)用服務(wù)器可以是對(duì)外提供各種業(yè)務(wù)處理應(yīng)用的服務(wù)器,并且可以通過服務(wù)器集群的形式實(shí)現(xiàn)。應(yīng)用服務(wù)器在提供應(yīng)用服務(wù)的過程中,產(chǎn)生各種日志數(shù)據(jù),例如,可包括訪問日志(例如,WEB訪問日志等)和javascript標(biāo)記日志數(shù)據(jù)等。
[0028]本發(fā)明的數(shù)據(jù)處理方法可包括:步驟SlOl,從應(yīng)用服務(wù)器收集日志數(shù)據(jù),例如,可以通過設(shè)置于各個(gè)應(yīng)用服務(wù)器的發(fā)送模塊進(jìn)行收集,發(fā)送模塊將應(yīng)用服務(wù)器的日志數(shù)據(jù)實(shí)時(shí)地同步發(fā)送,而且在日志數(shù)據(jù)接收方出現(xiàn)異常時(shí),將日志數(shù)據(jù)緩存到隊(duì)列中,等待接收方恢復(fù)正常時(shí)繼續(xù)發(fā)送,避免發(fā)送方一端日志數(shù)據(jù)的丟失。
[0029]在一些實(shí)施方式中,應(yīng)用服務(wù)器可以是WEB服務(wù)器。WEB服務(wù)器可使用Apache記錄接收的每一個(gè)HTTP請(qǐng)求日志,然后使用customlog配置來調(diào)用Linux系統(tǒng)的logger寫日志,所寫的日志可被收集模塊監(jiān)聽到,監(jiān)聽到的日志數(shù)據(jù)可發(fā)送至相應(yīng)的均衡模塊進(jìn)行分發(fā)。
[0030]接下來,執(zhí)行步驟S102,根據(jù)Flume服務(wù)器的運(yùn)行參數(shù)將日志數(shù)據(jù)均衡地分發(fā)至所述Flume服務(wù)器,其中,所述Flume服務(wù)器的運(yùn)行參數(shù)包括以下的一種或多種:負(fù)載、性能(例如,CPU以及內(nèi)存等)和帶寬。本發(fā)明的Flume服務(wù)器可以是集群的形式,可包括多個(gè)服務(wù)器。Flume服務(wù)器的運(yùn)行參數(shù)是通過各個(gè)Flume服務(wù)器定時(shí)報(bào)告其運(yùn)行參數(shù)(例如,負(fù)載、性能和帶寬等)進(jìn)行更新,例如,可以采用類似心跳檢測的形式進(jìn)行報(bào)告。根據(jù)定時(shí)更新的Flume月艮務(wù)器的運(yùn)行參數(shù),可獲知各個(gè)Flume服務(wù)器的動(dòng)態(tài)負(fù)載狀態(tài)及相關(guān)運(yùn)行狀態(tài),基于Flume服務(wù)器的動(dòng)態(tài)的綜合狀態(tài)均衡地將日志數(shù)據(jù)分發(fā)到Flume服務(wù)器。例如,可以將各臺(tái)Flume的各運(yùn)行參數(shù)根據(jù)預(yù)定的評(píng)估規(guī)則設(shè)定權(quán)值,對(duì)服務(wù)器I的負(fù)載設(shè)置權(quán)值λ? I* (ml-wl I ),性能設(shè)置權(quán)值λ12*?12,帶寬設(shè)置權(quán)值λ13*?13,對(duì)服務(wù)器2的負(fù)載設(shè)置權(quán)值λ21*(πι2-?21),性能設(shè)置權(quán)值λ22*?22,帶寬設(shè)置權(quán)值λ23*?23,對(duì)服務(wù)器3的負(fù)載設(shè)置權(quán)值λ31*(πι3-?31),性能設(shè)置權(quán)值λ32*?32,帶寬設(shè)置權(quán)值λ33*?33,分別計(jì)算服務(wù)器I至3的綜合評(píng)估值A(chǔ)ll*(ml-wlI )+A12*wl2+A13*wl3,記作Wl,λ21*(πι2ι21 )+A22*w22+A23*w23,記作W2 A31*(m3-w31) +λ32*?32+λ33*?33,記作W3,確定W1、W2和W3的大小,選擇最大的作為分發(fā)的對(duì)象。其中,mi表示Flume服務(wù)器的最大負(fù)載,i為服務(wù)器的標(biāo)號(hào),由壓力測試所得;wij表示Flume服務(wù)器的各項(xiàng)運(yùn)行參數(shù),由各Flume服務(wù)器定時(shí)向負(fù)載均衡器匯報(bào);Aij表示Flume服務(wù)器的各項(xiàng)運(yùn)行參數(shù)的權(quán)重,i為服務(wù)器的標(biāo)號(hào),j為運(yùn)行參數(shù)的標(biāo)號(hào)(例如,負(fù)載對(duì)應(yīng)的標(biāo)號(hào)為I,性能對(duì)應(yīng)的標(biāo)號(hào)為2,帶寬對(duì)應(yīng)的標(biāo)號(hào)為3),例如,λ??為服務(wù)器I的負(fù)載權(quán)重,其根據(jù)Flume服務(wù)器硬件及網(wǎng)絡(luò)配置而設(shè)定,且同一臺(tái)Flume服務(wù)器的各運(yùn)行參數(shù)權(quán)重之和等于I,例如,服務(wù)器I的負(fù)載權(quán)重λ??、性能權(quán)重λ12和帶寬權(quán)重λ13之和為I。需要說明的是,進(jìn)行均衡所選擇的參數(shù)可以是上述的三者,也可以是其中的二者或一者,具體的均衡策略可以采用上面舉例說明的加權(quán)方式,也可以采用其他的方式,本發(fā)明對(duì)具體的均衡策略不做具體限定。
[0031]相對(duì)于現(xiàn)有的Flume直接從不同的WEB服務(wù)器收集日志數(shù)據(jù)相比,本發(fā)明根據(jù)Flume服務(wù)器的運(yùn)行參數(shù)對(duì)日志數(shù)據(jù)均衡分發(fā),可最大限度地利用分布式日志收集服務(wù)器資源,提高系統(tǒng)的數(shù)據(jù)吞吐量。
[0032]本發(fā)明的Flume服務(wù)器可包括source (接收)模塊、channel (隊(duì)列)模塊和sink (處理)模塊。本發(fā)明的數(shù)據(jù)處理方法,在通過負(fù)載均衡將日志數(shù)據(jù)發(fā)送至Flume服務(wù)器之后,還可包括:通過文件file類型的channel(隊(duì)列)對(duì)日志數(shù)據(jù)進(jìn)行隊(duì)列緩存,這種緩存方式可有效避免使用內(nèi)存類型隊(duì)列而出現(xiàn)的服務(wù)器重啟后數(shù)據(jù)丟失的情況,改善數(shù)據(jù)處理的可靠性。
[0033]由上述可知,從應(yīng)用服務(wù)器集群中收集的日志數(shù)據(jù)可包括訪問日志數(shù)據(jù)和javascript標(biāo)記日志數(shù)據(jù)等。本發(fā)明的日志數(shù)據(jù)在發(fā)送至Flume服務(wù)器之后,在Flume服務(wù)器的接收模塊對(duì)日志數(shù)據(jù)中的訪問日志數(shù)據(jù)和javascript標(biāo)記日志數(shù)據(jù)分別解析,得到原始數(shù)據(jù)。本發(fā)明針對(duì)不同類別的日志數(shù)據(jù)分別解析,可顯著改善日志數(shù)據(jù)解析的效率。
[0034]由于WEB應(yīng)用服務(wù)器上日志數(shù)據(jù)的不完整性,還需要對(duì)解析得到的原始數(shù)據(jù)進(jìn)行關(guān)聯(lián)查詢,從而得到可用于指標(biāo)統(tǒng)計(jì)的一條完整數(shù)據(jù)。而且,原始數(shù)據(jù)關(guān)聯(lián)查詢的查詢效率是影響Flume服務(wù)器收集日志數(shù)據(jù)吞吐量的關(guān)鍵因素之一,而現(xiàn)有的Flume服務(wù)器并未對(duì)查詢?cè)O(shè)置優(yōu)化措施。
[0035]本發(fā)明的數(shù)據(jù)處理方法還可包括:在將日志數(shù)據(jù)進(jìn)行分類解析之后,將日志數(shù)據(jù)解析得到的原始數(shù)據(jù)與緩存于內(nèi)存中的數(shù)據(jù)庫表的業(yè)務(wù)數(shù)據(jù)進(jìn)行關(guān)聯(lián)查詢,從而形成用于指標(biāo)統(tǒng)計(jì)的數(shù)據(jù)。其中,緩存的數(shù)據(jù)庫表可以通過EHcache分布式緩存進(jìn)行緩存,并且還可以結(jié)合LRU(Least Recently Used,近期最少使用)算法,將數(shù)據(jù)庫表中的數(shù)據(jù)以〈key,value〉的形式緩存于內(nèi)存中,多方面提高數(shù)
當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1