本發(fā)明涉及數(shù)據(jù)處理領(lǐng)域,尤其是涉及一種日志處理方法。
背景技術(shù):
對(duì)于業(yè)務(wù)支撐網(wǎng)運(yùn)營(yíng)管理系統(tǒng)來(lái)說(shuō),隨著支撐網(wǎng)絡(luò)和業(yè)務(wù)的復(fù)雜性和多元性逐漸加強(qiáng),業(yè)務(wù)監(jiān)控的粒度也越來(lái)越細(xì),由此產(chǎn)生的服務(wù)日志信息量越來(lái)越多,特別是業(yè)務(wù)服務(wù)日志的數(shù)據(jù)量更大。一個(gè)通信運(yùn)營(yíng)商一天的業(yè)務(wù)服務(wù)日志可能會(huì)超過(guò)200G,而且這些業(yè)務(wù)服務(wù)日志分布在幾十臺(tái)服務(wù)器上。同時(shí),業(yè)務(wù)監(jiān)控中心對(duì)告警信息的實(shí)時(shí)性要求越來(lái)越高。如何快速完成日志的采集、提煉處理、存儲(chǔ)、高效查詢成為業(yè)務(wù)支撐網(wǎng)運(yùn)營(yíng)管理系統(tǒng)關(guān)注的重點(diǎn)。
目前,針對(duì)日志信息的采集方法主要有兩種方式來(lái)實(shí)現(xiàn):
采集方法一:集中處理服務(wù)器(或稱為服務(wù)器)上的處理程序通過(guò)Telnet采集(即遠(yuǎn)程控制命令采集)分布在各個(gè)日志服務(wù)器上的日志信息,或者通過(guò)日志服務(wù)器上的代理程序?qū)⑷罩拘畔⑹占郊刑幚矸?wù)器上;集中處理服務(wù)器上的處理程序根據(jù)日志提煉規(guī)則或者提煉邏輯進(jìn)行日志的提煉處理。
采集方法二:各個(gè)日志服務(wù)器(或稱為客戶端)對(duì)自身的日志數(shù)據(jù)進(jìn)行凈化處理,凈化處理包括對(duì)日志信息的抽取、合并和保存等操作過(guò)程,并將凈化處理后的日志數(shù)據(jù)上傳到集中處理服務(wù)器,集中處理服務(wù)器將收到的日志數(shù)據(jù)文件根據(jù)時(shí)間周期合并為一個(gè)文件,進(jìn)行提煉處理。
現(xiàn)有技術(shù)針對(duì)日志信息的存儲(chǔ)和操作通過(guò)以下兩種方式來(lái)解決:
存儲(chǔ)和操作方法一:當(dāng)日志信息提煉完成后,根據(jù)需要的要素保持到磁盤關(guān)系型數(shù)據(jù)庫(kù),通過(guò)SQL語(yǔ)句進(jìn)行統(tǒng)計(jì)分析、告警信息過(guò)濾采集,通過(guò)標(biāo)準(zhǔn)SQL提供對(duì)外的查詢;
存儲(chǔ)和操作方法二:當(dāng)日志信息提煉后,保存到文件中,提供相關(guān)的通用接口,通過(guò)對(duì)文件全量的掃描,提供對(duì)外的統(tǒng)計(jì)處理服務(wù)。
從上述采集方法中可以看出,現(xiàn)有的日志信息采集方法存在以下缺陷:
采集方法一存在顯著日志處理性能瓶頸,集中處理服務(wù)器采集到的各個(gè)日志服務(wù)器上的日志信息中包括大量無(wú)效的日志信息,傳輸這些無(wú)效的日志信息占用了大量的網(wǎng)絡(luò)傳輸帶寬,極大地影響了日志信息的采集速度和采集周期;更重要的是,隨著業(yè)務(wù)日志達(dá)到一定規(guī)模,無(wú)效的日志信息對(duì)集中服務(wù)器處理壓力就變得更為顯著,這樣就造成集中處理服務(wù)器上的處理邏輯越來(lái)越復(fù)雜,處理日志信息、輸出日志信息中的告警信息的及時(shí)性得不到保證;
采集方法二雖然在日志服務(wù)器上先對(duì)日志進(jìn)行凈化,凈化處理包括抽取、合并和保存等操作過(guò)程,這就使得凈化處理延長(zhǎng)了日志信息采集的周期,同樣極大地影響了日志信息的采集速度;以及在后續(xù)集中服務(wù)器對(duì)日志信息的存儲(chǔ)查詢處理中,輸出日志信息中的告警信息的及時(shí)性得不到保證。
從上述存儲(chǔ)查詢方法中可以看出,現(xiàn)有的存儲(chǔ)操作方法存在以下缺陷:
存儲(chǔ)和操作方法一:將提煉處理后的日志信息保存在磁盤關(guān)系型數(shù)據(jù)庫(kù)(比如Oracle)中,通過(guò)SQL語(yǔ)句對(duì)其中的海量數(shù)據(jù)進(jìn)行檢索和查詢,對(duì)于復(fù)雜的數(shù)據(jù)分析場(chǎng)景,往往需要對(duì)多張大表做笛卡爾集合后再關(guān)聯(lián)查詢,造成等待響應(yīng)的時(shí)間過(guò)長(zhǎng),無(wú)法滿足對(duì)日志信息中的告警信息及時(shí)輸出的要求;
存儲(chǔ)和操作方法二:處理后的數(shù)據(jù)保存在文件中,通常文件根據(jù)時(shí)間段來(lái)組織的。故后續(xù)的分析處理,一般會(huì)對(duì)一個(gè)文件全量進(jìn)行掃描處理,顯然查詢和分析處理的效率比較低,也無(wú)法滿足對(duì)日志信息中的告警信息及時(shí)輸出的要求。
可見(jiàn),現(xiàn)有的針對(duì)海量日志信息的采集處理和存儲(chǔ)查詢處理方法,存在采集周期過(guò)長(zhǎng)、無(wú)效日志信息占用過(guò)多傳輸帶寬的問(wèn)題,對(duì)海量日志信息的查詢和統(tǒng)計(jì)處理的處理時(shí)間長(zhǎng)、效率低,無(wú)法滿足對(duì)日志信息中的告警信息及時(shí)輸出的要求的問(wèn)題。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例提供一種日志處理方法,用以解決現(xiàn)有技術(shù)中針對(duì)海量日志信息的采集處理和存儲(chǔ)查詢處理方法,存在采集周期過(guò)長(zhǎng)、無(wú)效日志信息占用過(guò)多傳輸帶寬的問(wèn)題,對(duì)海量日志信息的操作處理時(shí)間長(zhǎng)、效率低,無(wú)法滿足對(duì)日志信息中的告警信息及時(shí)輸出的要求的問(wèn)題。
本發(fā)明實(shí)施例技術(shù)方案如下:
一種海量日志信息的處理方法,包括:日志客戶端采集日志客戶端上新增的日志信息;按照預(yù)定的過(guò)濾規(guī)則對(duì)采集到的日志信息中的數(shù)據(jù)進(jìn)行過(guò)濾;根據(jù)預(yù)定的日志信息和實(shí)時(shí)性等級(jí)的對(duì)應(yīng)關(guān)系,在過(guò)濾后的日志信息中攜帶與日志信息相對(duì)應(yīng)的實(shí)時(shí)性等級(jí)的實(shí)時(shí)性標(biāo)識(shí);根據(jù)日志信息中的實(shí)時(shí)性標(biāo)識(shí),將實(shí)時(shí)性標(biāo)識(shí)所代表的高實(shí)時(shí)性的日志信息實(shí)時(shí)發(fā)送給日志服務(wù)器,將實(shí)時(shí)性標(biāo)識(shí)所代表的低實(shí)時(shí)性的日志信息延后發(fā)送給日志服務(wù)器。
根據(jù)本發(fā)明實(shí)施例的技術(shù)方案,在本發(fā)明實(shí)施例提供的用于日志信息采集的海量日志信息的處理方法中,日志客戶端對(duì)采集到的新增的日志信息進(jìn)行過(guò)濾,能夠過(guò)濾掉采集到的日志信息中的無(wú)效日志信息,減少傳輸日志信息時(shí)無(wú)效日志信息所占用的傳輸帶寬,并根據(jù)預(yù)定的日志信息和實(shí)時(shí)性等級(jí)的對(duì)應(yīng)關(guān)系,在過(guò)濾后的日志信息中攜帶實(shí)時(shí)性標(biāo)識(shí),在將過(guò)濾后的日志信息發(fā)送給服務(wù)器的過(guò)程中,將實(shí)時(shí)性高的日志信息實(shí)時(shí)發(fā)送給服務(wù)器,將實(shí)時(shí)性低的日志信息延后發(fā)送給服務(wù)器,能夠有效地縮短日志信息采集的周期;在本發(fā)明實(shí)施例提供的用于日志信息的存儲(chǔ)的海量日志信息的處理方法中,日志服務(wù)器將告警日志信息及時(shí)發(fā)送給告警處理裝置,能夠快速地將告警信息發(fā)送給告警處理裝置,能夠滿足對(duì)日志信息中的告警信息及時(shí)輸出的要求,根據(jù)非告警日志信息的類別和接收日志信息的時(shí)間,將非告警日志信息分別存儲(chǔ)到關(guān)系型數(shù)據(jù)庫(kù)、所述服務(wù)器的內(nèi)存數(shù)據(jù)庫(kù)或者文件系統(tǒng),并且,日志信息的類別與針對(duì)日志信息進(jìn)行操作的操作類別相對(duì)應(yīng),使得日志操作平臺(tái)在對(duì)日志信息進(jìn)行操作的過(guò)程中,能夠根據(jù)操作類別來(lái)判斷出日志信息的存儲(chǔ)位置,并且關(guān)系型數(shù)據(jù)庫(kù)和內(nèi)存數(shù)據(jù)庫(kù)中對(duì)數(shù)據(jù)的讀取速度較快,能夠快速有效地縮短對(duì)對(duì)日志數(shù)據(jù)操作的處理時(shí)間、提高處理效率,從而能夠解決現(xiàn)有技術(shù)中針對(duì)海量日志信息的采集處理和存儲(chǔ)查詢處理方法,存在采集周期過(guò)長(zhǎng)、無(wú)效日志信息占用過(guò)多傳輸帶寬的問(wèn)題,對(duì)海量日志信息的操作處理時(shí)間長(zhǎng)、效率低,無(wú)法滿足對(duì)日志信息中的告警信息及時(shí)輸出的要求的問(wèn)題。
本發(fā)明的其它特征和優(yōu)點(diǎn)將在隨后的說(shuō)明書中闡述,并且,部分地從說(shuō)明書中變得顯而易見(jiàn),或者通過(guò)實(shí)施本發(fā)明而了解。本發(fā)明的目的和其他優(yōu)點(diǎn)可通過(guò)在所寫的說(shuō)明書、權(quán)利要求書、以及附圖中所特別指出的結(jié)構(gòu)來(lái)實(shí)現(xiàn)和獲得。
附圖說(shuō)明
圖1是本發(fā)明實(shí)施例提供的海量日志信息的處理方法的工作流程圖。
具體實(shí)施方式
以下結(jié)合附圖對(duì)本發(fā)明的實(shí)施例進(jìn)行說(shuō)明,應(yīng)當(dāng)理解,此處所描述的實(shí)施例僅用于說(shuō)明和解釋本發(fā)明,并不用于限定本發(fā)明。
圖1示出了本發(fā)明實(shí)施例提供的海量日志信息的處理方法的工作流程圖,該方法用于在日志客戶端采集日志信息,該方法包括:
步驟101、日志客戶端采集所述日志客戶端上新增的日志信息;
優(yōu)選地,日志客戶端可以通過(guò)爬蟲程序采集所述日志客戶端上新增的日志信息;通過(guò)在日志客戶端部署爬蟲程序,可以高效地采集到日志客戶端上新增的日志信息,并且,還可以通過(guò)日志服務(wù)器向日志客戶端推送需要采集的日志信息中的關(guān)鍵字,來(lái)更新爬蟲程序的采集策略;本發(fā)明實(shí)施例中的爬蟲程序可以通過(guò)現(xiàn)有技術(shù)中的爬蟲程序的原理來(lái)實(shí)現(xiàn);
步驟102、按照預(yù)定的過(guò)濾規(guī)則對(duì)采集到的日志信息中的數(shù)據(jù)進(jìn)行過(guò)濾;
具體地,按照過(guò)濾規(guī)則中包括的關(guān)鍵字或者關(guān)鍵字值,保留采集到的日志信息中包含有所述關(guān)鍵字(例如表示業(yè)務(wù)類別的關(guān)鍵字)或者所述關(guān)鍵字值(例如某一指定的IP地址)的日志信息作為過(guò)濾得到的日志信息;其中,日志信息至少包括:日志標(biāo)識(shí)、日志信息生成的開(kāi)始時(shí)刻、結(jié)束時(shí)刻和日志信息的類別;
優(yōu)選地,預(yù)定的過(guò)濾規(guī)則可以是日志服務(wù)器推送給日志客戶端的也可以是預(yù)先存儲(chǔ)在日志客戶端中的;
步驟103、根據(jù)預(yù)定的日志信息和實(shí)時(shí)性等級(jí)的對(duì)應(yīng)關(guān)系,在過(guò)濾后的日志信息中攜帶與日志信息相對(duì)應(yīng)的實(shí)時(shí)性等級(jí)的實(shí)時(shí)性標(biāo)識(shí);
其中,實(shí)時(shí)性標(biāo)識(shí)所代表的高實(shí)時(shí)性的日志信息包括:采集日志信息時(shí)調(diào)用接口的時(shí)間長(zhǎng)的日志信息構(gòu)成的日志信息;實(shí)時(shí)性標(biāo)識(shí)所代表的低實(shí)時(shí)性的日志信息包括:用于針對(duì)統(tǒng)計(jì)操作的日志信息或用于非實(shí)時(shí)查詢操作的數(shù)據(jù);
優(yōu)選地,預(yù)定的日志信息和實(shí)時(shí)性等級(jí)的對(duì)應(yīng)關(guān)系可以是日志服務(wù)器推送給日志客戶端的也可以是預(yù)先存儲(chǔ)在日志客戶端中的;
步驟104、根據(jù)日志信息中的實(shí)時(shí)性標(biāo)識(shí),將實(shí)時(shí)性標(biāo)識(shí)所代表的高實(shí)時(shí)性的日志信息實(shí)時(shí)發(fā)送給日志服務(wù)器,將實(shí)時(shí)性標(biāo)識(shí)所代表的低實(shí)時(shí)性的日志信息延后發(fā)送給所述日志服務(wù)器。
其中,將實(shí)時(shí)性標(biāo)識(shí)所代表的低實(shí)時(shí)性的日志信息延后發(fā)送給所述日志服務(wù)器的處理,具體包括:向日志服務(wù)器發(fā)送請(qǐng)求,在接收到來(lái)自日志服務(wù)器的等待響應(yīng)后,等待預(yù)定的等待時(shí)間,在等待所述等待時(shí)間到時(shí)后,將實(shí)時(shí)性標(biāo)識(shí)所代表的低實(shí)時(shí)性的日志信息發(fā)送給所述日志服務(wù)器;在接收到來(lái)自日志服務(wù)器的發(fā)送響應(yīng)后,將實(shí)時(shí)性標(biāo)識(shí)所代表的低實(shí)時(shí)性的日志信息發(fā)送給日志服務(wù)器。
根據(jù)圖1所示的方法,客戶端對(duì)采集到的新增的日志信息進(jìn)行過(guò)濾,能夠過(guò)濾掉采集到的日志信息中的無(wú)效日志信息,減少傳輸日志信息時(shí)無(wú)效日志信息所占用的傳輸帶寬,并根據(jù)預(yù)定的日志信息和實(shí)時(shí)性等級(jí)的對(duì)應(yīng)關(guān)系,在過(guò)濾后的日志信息中攜帶實(shí)時(shí)性標(biāo)識(shí),在將過(guò)濾后的日志信息發(fā)送給服務(wù)器的過(guò)程中,將實(shí)時(shí)性高的日志信息實(shí)時(shí)發(fā)送給服務(wù)器,將實(shí)時(shí)性低的日志信息延后發(fā)送給服務(wù)器,能夠有效地縮短日志信息采集的周期,從而能夠解決現(xiàn)有技術(shù)中針對(duì)海量日志信息的采集處理方法,存在采集周期過(guò)長(zhǎng)、無(wú)效日志信息占用過(guò)多傳輸帶寬的問(wèn)題。
本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法攜帶的全部或部分步驟是可以通過(guò)程序來(lái)指令相關(guān)的硬件完成,所述的程序可以存儲(chǔ)于一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,該程序在執(zhí)行時(shí),包括方法實(shí)施例的步驟之一或其組合。
另外,在本發(fā)明各個(gè)實(shí)施例中的各功能單元可以集成在一個(gè)處理模塊中,也可以是各個(gè)單元單獨(dú)物理存在,也可以兩個(gè)或兩個(gè)以上單元集成在一個(gè)模塊中。上述集成的模塊既可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能模塊的形式實(shí)現(xiàn)。所述集成的模塊如果以軟件功能模塊的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),也可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中。
本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明的實(shí)施例可提供為方法、系統(tǒng)、或計(jì)算機(jī)程序產(chǎn)品。因此,本發(fā)明可采用完全硬件實(shí)施例、完全軟件實(shí)施例、或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本發(fā)明可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲(chǔ)介質(zhì)(包括但不限于磁盤存儲(chǔ)器和光學(xué)存儲(chǔ)器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。
本發(fā)明是參照根據(jù)本發(fā)明實(shí)施例的方法、設(shè)備(系統(tǒng))、和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或方框圖來(lái)描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計(jì)算機(jī)程序指令到通用計(jì)算機(jī)、專用計(jì)算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個(gè)機(jī)器,使得通過(guò)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的裝置。
這些計(jì)算機(jī)程序指令也可存儲(chǔ)在能引導(dǎo)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計(jì)算機(jī)可讀存儲(chǔ)器中,使得存儲(chǔ)在該計(jì)算機(jī)可讀存儲(chǔ)器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能。
這些計(jì)算機(jī)程序指令也可裝載到計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的處理,從而在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的步驟。
在本說(shuō)明書的描述中,參考術(shù)語(yǔ)“一個(gè)實(shí)施例”、“一些實(shí)施例”、“示例”、“具體示例”、或“一些示例”等的描述意指結(jié)合該實(shí)施例或示例描述的具體特征、結(jié)構(gòu)、材料或者特點(diǎn)包含于本發(fā)明的至少一個(gè)實(shí)施例或示例中。在本說(shuō)明書中,對(duì)上述術(shù)語(yǔ)的示意性表述不一定指的是相同的實(shí)施例或示例。而且,描述的具體特征、結(jié)構(gòu)、材料或者特點(diǎn)可以在任何的一個(gè)或多個(gè)實(shí)施例或示例中以合適的方式結(jié)合。
盡管已經(jīng)示出和描述了本發(fā)明的實(shí)施例,本領(lǐng)域的普通技術(shù)人員可以理解:在不脫離本發(fā)明的原理和宗旨的情況下可以對(duì)這些實(shí)施例進(jìn)行多種變化、修改、替換和變型,本發(fā)明的范圍由權(quán)利要求及其等同物限定。