取后發(fā)送的日志數(shù)據(jù);
[0050]壓縮單元420,適于將接收單元接收的日志數(shù)據(jù)進(jìn)行壓縮;
[0051]發(fā)送單元430,適于將壓縮單元壓縮的日志數(shù)據(jù)發(fā)送給中心服務(wù)器,使得中心服務(wù)器對(duì)所接收到的日志數(shù)據(jù)進(jìn)行解壓縮后發(fā)送至中央存儲(chǔ)系統(tǒng)。
[0052]圖4所示日志收集系統(tǒng)中的本地服務(wù)器400,由于在向中心服務(wù)器發(fā)送數(shù)據(jù)時(shí)進(jìn)行了數(shù)據(jù)壓縮,因此節(jié)省了本地服務(wù)器和中心服務(wù)器之間的傳輸帶寬資源,緩解了中心服務(wù)器處的數(shù)據(jù)堆積壓力。
[0053]圖5示出了根據(jù)本發(fā)明又一個(gè)實(shí)施例的一種日志收集系統(tǒng)中的本地服務(wù)器的結(jié)構(gòu)圖。如圖5所示,本地服務(wù)器500包括:接收單元510、壓縮單元520、發(fā)送單元530、編碼單元550和用于存儲(chǔ)多個(gè)隊(duì)列的存儲(chǔ)單元540。
[0054]接收單元510,適于接收客戶端從日志源獲取后發(fā)送的日志數(shù)據(jù),將接收到的日志數(shù)據(jù)按照該日志數(shù)據(jù)的分類放入存儲(chǔ)單元540中的對(duì)應(yīng)的隊(duì)列中;
[0055]壓縮單元520,適于從存儲(chǔ)單元540中的隊(duì)列中取日志數(shù)據(jù),對(duì)取出的日志數(shù)據(jù)進(jìn)行壓縮;
[0056]編碼單元550,適于對(duì)壓縮單元520壓縮后的日志數(shù)據(jù)進(jìn)行base64編碼;
[0057]發(fā)送單元530,適于將編碼單元550進(jìn)行base64編碼后的日志數(shù)據(jù)發(fā)送給中心服務(wù)器,使得中心服務(wù)器對(duì)日志數(shù)據(jù)進(jìn)行解壓縮之前,先進(jìn)行base64解碼,再進(jìn)行解壓縮,然后再發(fā)送至中央存儲(chǔ)系統(tǒng)。
[0058]在本發(fā)明的一個(gè)實(shí)施例中,壓縮單元520,適于采用ZLIB算法或LZO算法對(duì)日志數(shù)據(jù)進(jìn)行壓縮。兩種壓縮算法各有優(yōu)缺點(diǎn),可以根據(jù)實(shí)際的情況選擇。ZLIB壓縮比高,但比較浪費(fèi)cpu資源;LZ0壓縮比低,對(duì)CPU要求不高。
[0059]圖6示出了根據(jù)本發(fā)明又一個(gè)實(shí)施例的一種日志收集系統(tǒng)的組成示意圖。如圖6所示,該日志收集系統(tǒng)600包括:客戶端610、本地服務(wù)器620和中心服務(wù)器630。客戶端610分布在各日志源處,從日志源實(shí)時(shí)獲取日志數(shù)據(jù)并實(shí)時(shí)發(fā)送給本地服務(wù)器620。本地服務(wù)器620可以是如圖4所示的本地服務(wù)器400,也可以是如圖5所示的本地服務(wù)器500,用于將日志數(shù)據(jù)發(fā)送給中心服務(wù)器630,其中,在發(fā)送給中心服務(wù)器之前先進(jìn)行數(shù)據(jù)壓縮,最后由中心服務(wù)器630對(duì)接收到的日志數(shù)據(jù)解壓縮后發(fā)送到中央存儲(chǔ)系統(tǒng)。
[0060]在本發(fā)明的一個(gè)實(shí)施例中,圖6所示的日志收集系統(tǒng)可以是一種經(jīng)過本發(fā)明的方案改進(jìn)的Scribe系統(tǒng)。
[0061 ] 綜上所述,根據(jù)本發(fā)明的這種本地服務(wù)器接收客戶端從日志源獲取后發(fā)送的日志數(shù)據(jù),本地服務(wù)器將接收的日志數(shù)據(jù)進(jìn)行壓縮后發(fā)送給中心服務(wù)器,由中心服務(wù)器對(duì)所接收到的日志數(shù)據(jù)進(jìn)行解壓縮后發(fā)送至中央存儲(chǔ)系統(tǒng)的技術(shù)方案,由于在本地服務(wù)器和中心服務(wù)器之間進(jìn)行了數(shù)據(jù)的壓縮傳輸,從而節(jié)省了本地服務(wù)器和中心服務(wù)器之間的傳輸帶寬資源,緩解了數(shù)據(jù)堆積的壓力。
[0062]需要說明的是:
[0063]在此提供的算法和顯示不與任何特定計(jì)算機(jī)、虛擬裝置或者其它設(shè)備固有相關(guān)。各種通用裝置也可以與基于在此的示教一起使用。根據(jù)上面的描述,構(gòu)造這類裝置所要求的結(jié)構(gòu)是顯而易見的。此外,本發(fā)明也不針對(duì)任何特定編程語(yǔ)言。應(yīng)當(dāng)明白,可以利用各種編程語(yǔ)言實(shí)現(xiàn)在此描述的本發(fā)明的內(nèi)容,并且上面對(duì)特定語(yǔ)言所做的描述是為了披露本發(fā)明的最佳實(shí)施方式。
[0064]在此處所提供的說明書中,說明了大量具體細(xì)節(jié)。然而,能夠理解,本發(fā)明的實(shí)施例可以在沒有這些具體細(xì)節(jié)的情況下實(shí)踐。在一些實(shí)例中,并未詳細(xì)示出公知的方法、結(jié)構(gòu)和技術(shù),以便不模糊對(duì)本說明書的理解。
[0065]類似地,應(yīng)當(dāng)理解,為了精簡(jiǎn)本公開并幫助理解各個(gè)發(fā)明方面中的一個(gè)或多個(gè),在上面對(duì)本發(fā)明的示例性實(shí)施例的描述中,本發(fā)明的各個(gè)特征有時(shí)被一起分組到單個(gè)實(shí)施例、圖、或者對(duì)其的描述中。然而,并不應(yīng)將該公開的方法解釋成反映如下意圖:即所要求保護(hù)的本發(fā)明要求比在每個(gè)權(quán)利要求中所明確記載的特征更多的特征。更確切地說,如下面的權(quán)利要求書所反映的那樣,發(fā)明方面在于少于前面公開的單個(gè)實(shí)施例的所有特征。因此,遵循【具體實(shí)施方式】的權(quán)利要求書由此明確地并入該【具體實(shí)施方式】,其中每個(gè)權(quán)利要求本身都作為本發(fā)明的單獨(dú)實(shí)施例。
[0066]本領(lǐng)域那些技術(shù)人員可以理解,可以對(duì)實(shí)施例中的設(shè)備中的模塊進(jìn)行自適應(yīng)性地改變并且把它們?cè)O(shè)置在與該實(shí)施例不同的一個(gè)或多個(gè)設(shè)備中??梢园褜?shí)施例中的模塊或單元或組件組合成一個(gè)模塊或單元或組件,以及此外可以把它們分成多個(gè)子模塊或子單元或子組件。除了這樣的特征和/或過程或者單元中的至少一些是相互排斥之外,可以采用任何組合對(duì)本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的所有特征以及如此公開的任何方法或者設(shè)備的所有過程或單元進(jìn)行組合。除非另外明確陳述,本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的每個(gè)特征可以由提供相同、等同或相似目的的替代特征來(lái)代替。
[0067]此外,本領(lǐng)域的技術(shù)人員能夠理解,盡管在此所述的一些實(shí)施例包括其它實(shí)施例中所包括的某些特征而不是其它特征,但是不同實(shí)施例的特征的組合意味著處于本發(fā)明的范圍之內(nèi)并且形成不同的實(shí)施例。例如,在下面的權(quán)利要求書中,所要求保護(hù)的實(shí)施例的任意之一都可以以任意的組合方式來(lái)使用。
[0068]本發(fā)明的各個(gè)部件實(shí)施例可以以硬件實(shí)現(xiàn),或者以在一個(gè)或者多個(gè)處理器上運(yùn)行的軟件模塊實(shí)現(xiàn),或者以它們的組合實(shí)現(xiàn)。本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,可以在實(shí)踐中使用微處理器或者數(shù)字信號(hào)處理器(DSP)來(lái)實(shí)現(xiàn)根據(jù)本發(fā)明實(shí)施例的日志收集系統(tǒng)及其中的本地服務(wù)器中的一些或者全部部件的一些或者全部功能。本發(fā)明還可以實(shí)現(xiàn)為用于執(zhí)行這里所描述的方法的一部分或者全部的設(shè)備或者裝置程序(例如,計(jì)算機(jī)程序和計(jì)算機(jī)程序產(chǎn)品)。這樣的實(shí)現(xiàn)本發(fā)明的程序可以存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)上,或者可以具有一個(gè)或者多個(gè)信號(hào)的形式。這樣的信號(hào)可以從因特網(wǎng)網(wǎng)站上下載得到,或者在載體信號(hào)上提供,或者以任何其他形式提供。
[0069]應(yīng)該注意的是上述實(shí)施例對(duì)本發(fā)明進(jìn)行說明而不是對(duì)本發(fā)明進(jìn)行限制,并且本領(lǐng)域技術(shù)人員在不脫離所附權(quán)利要求的范圍的情況下可設(shè)計(jì)出替換實(shí)施例。在權(quán)利要求中,不應(yīng)將位于括號(hào)之間的任何參考符號(hào)構(gòu)造成對(duì)權(quán)利要求的限制。單詞“包含”不排除存在未列在權(quán)利要求中的元件或步驟。位于元件之前的單詞“一”或“一個(gè)”不排除存在多個(gè)這樣的元件。本發(fā)明可以借助于包括有若干不同元件的硬件以及借助于適當(dāng)編程的計(jì)算機(jī)來(lái)實(shí)現(xiàn)。在列舉了若干裝置的單元權(quán)利要求中,這些裝置中的若干個(gè)可以是通過同一個(gè)硬件項(xiàng)來(lái)具體體現(xiàn)。單詞第一、第二、以及第三等的使用不表示任何順序??蓪⑦@些單詞解釋為名稱。
【主權(quán)項(xiàng)】
1.一種日志收集系統(tǒng)中的數(shù)據(jù)傳輸方法,應(yīng)用于包括客戶端、本地服務(wù)器和中心服務(wù)器的日志收集系統(tǒng),該方法包括: 本地服務(wù)器接收客戶端從日志源獲取后發(fā)送的日志數(shù)據(jù); 本地服務(wù)器將接收的日志數(shù)據(jù)進(jìn)行壓縮后發(fā)送給中心服務(wù)器,由中心服務(wù)器對(duì)所接收到的日志數(shù)據(jù)進(jìn)行解壓縮后發(fā)送至中央存儲(chǔ)系統(tǒng)。2.如權(quán)利要求1所述的方法,其中, 所述本地服務(wù)器接收客戶端從日志源獲取后發(fā)送的日志數(shù)據(jù)包括:將接收到的日志數(shù)據(jù)按照該日志數(shù)據(jù)的分類放入對(duì)應(yīng)的隊(duì)列中;其中,本地服務(wù)器有用于存放不同分類的日志數(shù)據(jù)的多個(gè)隊(duì)列; 所述本地服務(wù)器將接收的日志數(shù)據(jù)進(jìn)行壓縮后發(fā)送給中心服務(wù)器包括:從隊(duì)列中取日志數(shù)據(jù),對(duì)取出的日志數(shù)據(jù)進(jìn)行壓縮后發(fā)送給中心服務(wù)器。3.如權(quán)利要求1或2所述的方法,其中,該方法在本地服務(wù)器將接收的日志數(shù)據(jù)進(jìn)行壓縮后,并在發(fā)送給中心服務(wù)器之前,進(jìn)一步包括: 對(duì)壓縮后的日志數(shù)據(jù)進(jìn)行base64編碼,然后再發(fā)送給中心服務(wù)器; 中心服務(wù)器對(duì)所接收日志數(shù)據(jù)進(jìn)行解壓縮之前,先進(jìn)行base64解碼。4.如權(quán)利要求1或2所述的方法,其中,所述本地服務(wù)器將接收的日志數(shù)據(jù)進(jìn)行壓縮包括: 采用ZLIB算法或LZO算法對(duì)日志數(shù)據(jù)進(jìn)行壓縮。5.如權(quán)利要求2所述的方法,其中, 所述將接收到的日志數(shù)據(jù)按照該日志數(shù)據(jù)的分類放入對(duì)應(yīng)的隊(duì)列中包括:由本地服務(wù)器的多個(gè)接收工作線程接收客戶端發(fā)送的日志數(shù)據(jù),并按照該日志數(shù)據(jù)的分類放入對(duì)應(yīng)的隊(duì)列中; 所述從隊(duì)列中取日志數(shù)據(jù)包括:由本地服務(wù)器的多個(gè)發(fā)送工作線程從多個(gè)隊(duì)列中取日志數(shù)據(jù)。6.一種日志收集系統(tǒng)中的本地服務(wù)器,包括:接收單元、壓縮單元和發(fā)送單元; 所述接收單元,適于接收客戶端從日志源獲取后發(fā)送的日志數(shù)據(jù); 所述壓縮單元,適于將接收單元接收的日志數(shù)據(jù)進(jìn)行壓縮; 所述發(fā)送單元,適于將壓縮單元壓縮的日志數(shù)據(jù)發(fā)送給中心服務(wù)器,使得中心服務(wù)器對(duì)所接收到的日志數(shù)據(jù)進(jìn)行解壓縮后發(fā)送至中央存儲(chǔ)系統(tǒng)。7.如權(quán)利要求6所述的本地服務(wù)器,其中,該本地服務(wù)器進(jìn)一步包括:用于存儲(chǔ)多個(gè)隊(duì)列的存儲(chǔ)單元; 所述接收單元,適于將接收到的日志數(shù)據(jù)按照該日志數(shù)據(jù)的分類放入對(duì)應(yīng)的隊(duì)列中; 所述壓縮單元,適于從隊(duì)列中取日志數(shù)據(jù),對(duì)取出的日志數(shù)據(jù)進(jìn)行壓縮。8.如權(quán)利要求6或7所述的本地服務(wù)器,其中,該本地服務(wù)器進(jìn)一步包括:編碼單元,適于對(duì)壓縮單元壓縮后的日志數(shù)據(jù)進(jìn)行base64編碼; 所述發(fā)送單元,適于將編碼單元進(jìn)行base64編碼后的日志數(shù)據(jù)發(fā)送給中心服務(wù)器,使得中心服務(wù)器對(duì)日志數(shù)據(jù)進(jìn)行解壓縮之前,先進(jìn)行base64解碼。9.如權(quán)利要求6或7所述的本地服務(wù)器,其中, 所述壓縮單元,適于采用ZLIB算法或LZO算法對(duì)日志數(shù)據(jù)進(jìn)行壓縮。10.一種日志收集系統(tǒng),其中,該系統(tǒng)包括:客戶端、中心服務(wù)器和如權(quán)利要求6-9中任一項(xiàng)所述的本地服務(wù)器。
【專利摘要】本發(fā)明公開了一種日志收集系統(tǒng)及其中的數(shù)據(jù)傳輸方法和本地服務(wù)器。所述方法包括:日志收集系統(tǒng)從各種日志源收集日志數(shù)據(jù)并存儲(chǔ)到中央存儲(chǔ)系統(tǒng)中,日志收集系統(tǒng)包括客戶端、本地服務(wù)器和中心服務(wù)器,其中,本地服務(wù)器接收客戶端從日志源獲取后發(fā)送的日志數(shù)據(jù);本地服務(wù)器將接收的日志數(shù)據(jù)進(jìn)行壓縮后發(fā)送給中心服務(wù)器,由中心服務(wù)器對(duì)所接收到的日志數(shù)據(jù)進(jìn)行解壓縮后發(fā)送至中央存儲(chǔ)系統(tǒng)。本發(fā)明的技術(shù)方案,由于在本地服務(wù)器和中心服務(wù)器之間進(jìn)行了數(shù)據(jù)的壓縮傳輸,從而節(jié)省了本地服務(wù)器和中心服務(wù)器之間的傳輸帶寬資源,緩解了數(shù)據(jù)堆積的壓力。
【IPC分類】H04L29/06, H04L12/24
【公開號(hào)】CN105721179
【申請(qǐng)?zhí)枴緾N201410720704
【發(fā)明人】洪亮
【申請(qǐng)人】北京奇虎科技有限公司, 奇智軟件(北京)有限公司
【公開日】2016年6月29日
【申請(qǐng)日】2014年12月2日