[發(fā)明專(zhuān)利]一種日志分布式收集及存儲(chǔ)方法無(wú)效
| 申請(qǐng)?zhí)枺?/td> | 201210524643.7 | 申請(qǐng)日: | 2012-12-07 |
| 公開(kāi)(公告)號(hào): | CN103036961A | 公開(kāi)(公告)日: | 2013-04-10 |
| 發(fā)明(設(shè)計(jì))人: | 柯宗貴;柯宗慶;楊育斌;張道磊 | 申請(qǐng)(專(zhuān)利權(quán))人: | 藍(lán)盾信息安全技術(shù)股份有限公司 |
| 主分類(lèi)號(hào): | H04L29/08 | 分類(lèi)號(hào): | H04L29/08 |
| 代理公司: | 暫無(wú)信息 | 代理人: | 暫無(wú)信息 |
| 地址: | 510665 廣東省廣州市*** | 國(guó)省代碼: | 廣東;44 |
| 權(quán)利要求書(shū): | 查看更多 | 說(shuō)明書(shū): | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 日志 分布式 收集 存儲(chǔ) 方法 | ||
技術(shù)領(lǐng)域
本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,尤其涉及一種日志分布式收集及存儲(chǔ)方法。
背景技術(shù)
在分布式網(wǎng)絡(luò)與高性能系統(tǒng)中,一定時(shí)間內(nèi),從多個(gè)節(jié)點(diǎn)收集并處理的數(shù)據(jù)是很多的,單個(gè)數(shù)據(jù)庫(kù)系統(tǒng)的數(shù)據(jù)處理能力有限,怎樣提高高流量數(shù)據(jù)收集、處理及存儲(chǔ)能力,是一個(gè)亟待解決的問(wèn)題。
目前,普遍采用syslog-ng日志收集服務(wù)器來(lái)收集處理日志。當(dāng)多個(gè)客戶(hù)端將日志發(fā)送給中央日志服務(wù)端時(shí),由服務(wù)端統(tǒng)一寫(xiě)入數(shù)據(jù)庫(kù)。但是syslog-ng將大量數(shù)據(jù)寫(xiě)入命名管道時(shí),如果正好在讀取管道的數(shù)據(jù),這樣寫(xiě)操作會(huì)阻塞。而且syslog-ng作為日志服務(wù)器集中往數(shù)據(jù)庫(kù)寫(xiě)日志時(shí),事務(wù)到達(dá)頻繁,大量的數(shù)據(jù)庫(kù)IO操作,會(huì)成為系統(tǒng)性能的瓶頸,影響系統(tǒng)的實(shí)時(shí)性和可用性。
發(fā)明內(nèi)容
本發(fā)明的目的是為了克服現(xiàn)有技術(shù)的缺陷,提供一種日志分布式收集及存儲(chǔ)方法,通過(guò)該方法改善客戶(hù)端與日志服務(wù)器傳輸?shù)男剩纳迫罩痉?wù)器與數(shù)據(jù)庫(kù)操作的吞吐量。
一種日志分布式收集及存儲(chǔ)方法,其具體流程為:各客戶(hù)端節(jié)點(diǎn)收集的日志緩存在一個(gè)數(shù)組容器中,Protobuf序列化后通過(guò)回調(diào)函數(shù)發(fā)送給遠(yuǎn)程日志收集服務(wù)器,一次大量發(fā)送比通過(guò)管道多次少量發(fā)送要高效,采用tcp/ip協(xié)議進(jìn)行數(shù)據(jù)交互,發(fā)送端對(duì)數(shù)據(jù)序列化,接收端對(duì)數(shù)據(jù)反序列化;為了維護(hù)長(zhǎng)連接,客戶(hù)端定期發(fā)送心跳包判斷日志服務(wù)端是否在線,若在線則日志服務(wù)端對(duì)心跳包響應(yīng);調(diào)度器1對(duì)連接來(lái)的fd統(tǒng)一調(diào)度,并將處理好的數(shù)據(jù)放在數(shù)據(jù)緩存池中,調(diào)度器2從數(shù)據(jù)緩存池中取一定數(shù)量數(shù)據(jù)后,發(fā)送給遠(yuǎn)程終端,計(jì)算機(jī)遠(yuǎn)程終端收到數(shù)據(jù)后,將數(shù)據(jù)寫(xiě)入數(shù)據(jù)庫(kù)。
本發(fā)明技術(shù)方案帶來(lái)的有益效果:通過(guò)本發(fā)明將日志進(jìn)行分布式收集及存儲(chǔ)不僅改善了客戶(hù)端與日志服務(wù)器傳輸?shù)男剩€改善了日志服務(wù)器與數(shù)據(jù)庫(kù)操作的吞吐量,提高了系統(tǒng)的實(shí)時(shí)性和可用性。
附圖說(shuō)明
為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其它的附圖。
圖1是本發(fā)明方法的整體流程圖;
圖2是本發(fā)明中調(diào)度器1對(duì)客戶(hù)端發(fā)送來(lái)的數(shù)據(jù)進(jìn)行處理的流程圖;
圖3是本發(fā)明中調(diào)度器2將調(diào)度器1處理好的數(shù)據(jù)發(fā)送給遠(yuǎn)程終端系統(tǒng)的流程圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
本發(fā)明提供的一種日志分布式收集及存儲(chǔ)方法,其所要解決的問(wèn)題是將客戶(hù)端日志能快速的發(fā)給遠(yuǎn)程日志收集服務(wù)器,日志收集服務(wù)器能有效的往數(shù)據(jù)庫(kù)寫(xiě)日志。整個(gè)發(fā)明流程圖如圖1所示。
各客戶(hù)端節(jié)點(diǎn)收集的日志緩存在一個(gè)數(shù)組容器中,Protobuf序列化后通過(guò)回調(diào)函數(shù)發(fā)送給遠(yuǎn)程日志收集服務(wù)器,在以下四種情況下,發(fā)送回調(diào)函數(shù)將被調(diào)用。
1)當(dāng)緩存數(shù)量達(dá)到數(shù)據(jù)高水位級(jí)別時(shí)。
2)當(dāng)緩存時(shí)間達(dá)到時(shí)間高水位級(jí)別時(shí)。
3)當(dāng)緩存數(shù)量達(dá)到數(shù)據(jù)臨界水位時(shí)。
4)當(dāng)緩存時(shí)間達(dá)到時(shí)間臨界水位時(shí)。
其中,數(shù)據(jù)高水位:發(fā)送數(shù)據(jù)操作,使得輸出緩沖區(qū)的數(shù)據(jù)量在此級(jí)別或者更高時(shí),發(fā)送回調(diào)函數(shù)將被調(diào)用。
數(shù)據(jù)臨界水位:發(fā)送數(shù)據(jù)操作,使得輸出緩沖區(qū)的數(shù)據(jù)量在此級(jí)別,并且時(shí)間間隔達(dá)到一定時(shí),發(fā)送回調(diào)函數(shù)將被調(diào)用。
時(shí)間高水位:發(fā)送數(shù)據(jù)操作,時(shí)間間隔在此級(jí)別或者更高時(shí),發(fā)送回調(diào)函數(shù)將被調(diào)用。
時(shí)間臨界水位:發(fā)送數(shù)據(jù)操作,時(shí)間間隔在此級(jí)別,并且輸出緩沖區(qū)的數(shù)據(jù)量達(dá)到一定時(shí),發(fā)送回調(diào)函數(shù)將被調(diào)用。
發(fā)送數(shù)據(jù)先緩存在數(shù)組容量里,一次大量發(fā)送比通過(guò)管道多次少量發(fā)送要高效。采用tcp/ip協(xié)議進(jìn)行數(shù)據(jù)交互,發(fā)送端對(duì)數(shù)據(jù)序列化,接收端對(duì)數(shù)據(jù)反序列化。為了維護(hù)長(zhǎng)連接,客戶(hù)端定期發(fā)送心跳包判斷日志服務(wù)端是否在線,若在線則日志服務(wù)端對(duì)心跳包響應(yīng)。調(diào)度器1對(duì)連接來(lái)的fd(file?descriptor)統(tǒng)一調(diào)度,并將處理好的數(shù)據(jù)放在數(shù)據(jù)緩存池中,調(diào)度器2從數(shù)據(jù)緩存池中取一定數(shù)量數(shù)據(jù)后,發(fā)送給遠(yuǎn)程終端,計(jì)算機(jī)遠(yuǎn)程終端收到數(shù)據(jù)后,將數(shù)據(jù)寫(xiě)入數(shù)據(jù)庫(kù)。
其中,調(diào)度器1對(duì)客戶(hù)端發(fā)送來(lái)的數(shù)據(jù)進(jìn)行處理,其處理流程如圖2所示,具體為:
該專(zhuān)利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專(zhuān)利權(quán)人授權(quán)。該專(zhuān)利全部權(quán)利屬于藍(lán)盾信息安全技術(shù)股份有限公司,未經(jīng)藍(lán)盾信息安全技術(shù)股份有限公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買(mǎi)此專(zhuān)利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210524643.7/2.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專(zhuān)利網(wǎng)。
- 一種基于精簡(jiǎn)策略的集群系統(tǒng)的日志管理優(yōu)化方法
- 日志分離方法及裝置
- 日志服務(wù)器處理日志的方法和裝置
- 一種基于負(fù)載均衡的文件系統(tǒng)日志模型
- 日志生成方法、應(yīng)用服務(wù)器、日志服務(wù)器及日志生成系統(tǒng)
- 一種多線程日志輸出的方法及裝置
- 一種日志分析方法、系統(tǒng)、設(shè)備及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)
- 日志解析方法、裝置、設(shè)備及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)
- 日志處理方法及設(shè)備
- 一種日志檢測(cè)方法、裝置、終端及服務(wù)器
- 動(dòng)態(tài)存儲(chǔ)管理裝置及方法
- 一種存儲(chǔ)方法、服務(wù)器及存儲(chǔ)控制器
- 一種基于存儲(chǔ)系統(tǒng)的控制方法及裝置
- 一種信息的存儲(chǔ)控制方法
- 一種數(shù)據(jù)存儲(chǔ)方法及裝置
- 數(shù)據(jù)存儲(chǔ)方法、裝置、計(jì)算機(jī)設(shè)備以及存儲(chǔ)介質(zhì)
- 一種數(shù)據(jù)存儲(chǔ)控制方法及裝置
- 存儲(chǔ)設(shè)備、存儲(chǔ)系統(tǒng)及存儲(chǔ)方法
- 物料存儲(chǔ)方法及系統(tǒng)
- 基于雙芯智能電表的數(shù)據(jù)分類(lèi)存儲(chǔ)方法和裝置





