本發(fā)明涉及云計(jì)算技術(shù)領(lǐng)域,尤其涉及一種基于云計(jì)算的日志生成方法及系統(tǒng)。
背景技術(shù):
云計(jì)算(Cloud Computing),是一種基于互聯(lián)網(wǎng)的計(jì)算方式,通過這種方式,共享的軟硬件資源和信息可以按需求提供給計(jì)算機(jī)和其他設(shè)備。云是網(wǎng)絡(luò)、互聯(lián)網(wǎng)的一種比喻說法,它將計(jì)算任務(wù)分布在大量計(jì)算機(jī)構(gòu)成的資源池上,使各種應(yīng)用系統(tǒng)能夠根據(jù)需要獲取計(jì)算力、存儲(chǔ)空間和信息服務(wù)。提供資源的網(wǎng)絡(luò)被稱為“云”?!霸啤敝械馁Y源在使用者看來是可以無限擴(kuò)展的,并且可以隨時(shí)獲取,按需使用,隨時(shí)擴(kuò)展。
目前,日志信息生成方法為:獲取云環(huán)境中的虛擬機(jī)或宿主機(jī)的日志信息,并將其保存到存儲(chǔ)空間中供后續(xù)分析使用。通常,日志信息可以包括云環(huán)境中的虛擬機(jī)或宿主機(jī)的CPU使用率信息、內(nèi)存使用率或磁盤使用率信息,還可以包括磁盤IO(Input Output,輸入輸出)流量信息、網(wǎng)絡(luò)流量信息,以及系統(tǒng)登錄信息、訪問信息、端口連接信息等。通過對(duì)日志信息的分析,可獲取虛擬機(jī)或宿主機(jī)的負(fù)載及訪問情況等信息,從而為企業(yè)對(duì)突發(fā)事件、網(wǎng)絡(luò)攻擊等事件的發(fā)生和應(yīng)對(duì)提供數(shù)據(jù)參考;同時(shí),可以根據(jù)日志信息中提供的用戶數(shù)據(jù)進(jìn)行用戶行為研究,還可為企業(yè)的未來產(chǎn)品發(fā)展提供數(shù)據(jù)依據(jù)。
現(xiàn)有技術(shù)中,對(duì)于云環(huán)境中的日志信息,一般采用完全保存的方式進(jìn)行存儲(chǔ),隨著云環(huán)境中用戶的劇增,這種方式會(huì)導(dǎo)致形成不必要的冗余數(shù)據(jù),浪費(fèi)云計(jì)算服務(wù)器的磁盤存儲(chǔ)空間,同時(shí)也降低了對(duì)日志信息的查詢速度;而且,由于智能手機(jī)、平板電腦和其他互聯(lián)網(wǎng)設(shè)備的普及,以及云計(jì)算技術(shù)的發(fā)展,互聯(lián)網(wǎng)帶寬資源和云端內(nèi)網(wǎng)資源在不久的將來都將面臨帶寬極限的問題,現(xiàn)有技術(shù)中將日志信息的所有原始數(shù)據(jù)上傳至存儲(chǔ)空間的方式,浪費(fèi)了大量的網(wǎng)絡(luò)帶寬,使其存在局限性。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的在于提出一種基于云計(jì)算的日志生成方法及系統(tǒng),能夠以節(jié)約存儲(chǔ)空間、節(jié)約網(wǎng)絡(luò)帶寬。
為達(dá)此目的,本發(fā)明采用以下技術(shù)方案:
本發(fā)明一方面提供了一種基于云計(jì)算的日志生成方法,包括:
周期性獲取云環(huán)境中的各虛擬機(jī)的日志信息到緩存;
當(dāng)預(yù)設(shè)的處理周期到來時(shí),對(duì)本處理周期內(nèi)緩存的日志信息進(jìn)行分組,將其中來自同一虛擬機(jī)的日志信息歸為一組;
分析本處理周期內(nèi)的各組日志信息,將各組日志信息中類型相同的若干條日志信息進(jìn)行合并處理;
對(duì)合并處理后的日志信息進(jìn)行存儲(chǔ);
其中,所述預(yù)設(shè)的處理周期為獲取日志信息的時(shí)間周期的4~10倍。
其中,日志信息的類型包括:
第一類:CPU使用率、磁盤使用率、磁盤IO流量或網(wǎng)絡(luò)流量信息;
第二類:系統(tǒng)登錄信息或訪問信息。
其中,所述分析本處理周期內(nèi)的各組日志信息,將各組日志信息中類型相同的若干條日志信息進(jìn)行合并處理,包括:
確定本處理周期內(nèi)的各組日志信息中各條日志信息的類型;
對(duì)其中的第一類日志信息進(jìn)行合并處理具體為,計(jì)算平均值,生成包含所述平均值的一條日志信息作為第一類日志信息的合并日志信息;
對(duì)其中的第二類日志信息進(jìn)行合并處理具體為,將本處理周期內(nèi)獲取到的第一條第二類日志信息作為臨時(shí)日志記錄,將其他第二類日志信息與該臨時(shí)日志記錄比較,若其他第二類日志信息的登錄或者訪問用戶包含在臨時(shí)日志記錄中,則將舍棄該第二類日志信息;否則,更新臨時(shí)日志記錄將對(duì)應(yīng)的用戶信息加入;將最終的臨時(shí)日志記錄中作為第二類日志信息的合并日志信息。
其中,所述對(duì)其中的第一類日志信息進(jìn)行合并處理,還包括:
統(tǒng)計(jì)全部第一類日志信息中的最大值、最小值,根據(jù)所述最大值、最小值計(jì)算出本處理周期內(nèi)的波動(dòng)值,所述第一類日志信息的合并日志信息中還包含所述最大值、最小值和波動(dòng)值。
其中,所述對(duì)其中的第二類日志信息進(jìn)行合并處理,還包括:
統(tǒng)計(jì)對(duì)應(yīng)用戶的訪問次數(shù),所述第二類日志信息的合并日志信息中還包括對(duì)應(yīng)用戶的訪問次數(shù)的信息。
本發(fā)明還提供了一種基于云計(jì)算的日志生成系統(tǒng),包括:
緩存模塊,用于周期性獲取云環(huán)境中的各虛擬機(jī)的日志信息到緩存;
分組模塊,用于當(dāng)預(yù)設(shè)的處理周期到來時(shí),對(duì)本處理周期內(nèi)緩存的日志信息進(jìn)行分組,將其中來自同一虛擬機(jī)的日志信息歸為一組;
合并模塊,用于分析本處理周期內(nèi)的各組日志信息,將各組日志信息中類型相同的若干條日志信息進(jìn)行合并處理;
存儲(chǔ)模塊,用于對(duì)合并處理后的日志信息進(jìn)行存儲(chǔ);
其中,所述預(yù)設(shè)的處理周期為獲取日志信息的時(shí)間周期的4~10倍。
其中,其中,日志信息的類型包括:
第一類:CPU使用率、磁盤使用率、磁盤IO流量或網(wǎng)絡(luò)流量信息;
第二類:系統(tǒng)登錄信息或訪問信息。
其中,所述分析本處理周期內(nèi)的各組日志信息,將各組日志信息中類型相同的若干條日志信息進(jìn)行合并處理,包括:
確定本處理周期內(nèi)的各組日志信息中各條日志信息的類型;
對(duì)其中的第一類日志信息進(jìn)行合并處理具體為,計(jì)算平均值,生成包含所述平均值的一條日志信息作為第一類日志信息的合并日志信息;
對(duì)其中的第二類日志信息進(jìn)行合并處理具體為,將本處理周期內(nèi)獲取到的第一條第二類日志信息作為臨時(shí)日志記錄,將其他第二類日志信息與該臨時(shí)日志記錄比較,若其他第二類日志信息的登錄或者訪問用戶包含在臨時(shí)日志記錄中,則將舍棄該第二類日志信息;否則,更新臨時(shí)日志記錄將對(duì)應(yīng)的用戶信息加入;將最終的臨時(shí)日志記錄中作為第二類日志信息的合并日志信息。
其中,所述對(duì)其中的第一類日志信息進(jìn)行合并處理,還包括:
統(tǒng)計(jì)全部第一類日志信息中的最大值、最小值,根據(jù)所述最大值、最小值計(jì)算出本處理周期內(nèi)的波動(dòng)值,所述第一類日志信息的合并日志信息中還包含所述最大值、最小值和波動(dòng)值。
其中,所述對(duì)其中的第二類日志信息進(jìn)行合并處理,還包括:
統(tǒng)計(jì)對(duì)應(yīng)用戶的訪問次數(shù),所述第二類日志信息的合并日志信息中還包括對(duì)應(yīng)用戶的訪問次數(shù)的信息。
實(shí)施本發(fā)明實(shí)施例,具有如下有益效果:
本發(fā)明實(shí)施例,當(dāng)日志信息的采集頻率高于統(tǒng)計(jì)分析頻率時(shí),將一個(gè)處理周期內(nèi),從同一虛擬機(jī)或宿主機(jī)獲取的多條日志信息進(jìn)行合并,僅將合并后的日志信息存儲(chǔ)到存儲(chǔ)空間內(nèi),而不需要緩存或者保存日志信息的所有原始數(shù)據(jù);從而,節(jié)約存儲(chǔ)空間,并節(jié)約網(wǎng)絡(luò)帶寬,并降低了保存大量日志信息的原始數(shù)據(jù)的成本?;诒景l(fā)明的方案,若用戶需要查詢或統(tǒng)計(jì)一段時(shí)間內(nèi)的日志信息,基于本發(fā)明的方案處理后的日志信息中查詢或統(tǒng)計(jì),可提高了查詢或統(tǒng)計(jì)速度。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1是本發(fā)明第一實(shí)施例的一種基于云計(jì)算的日志生成方法的流程示意圖。
圖2是本發(fā)明第二實(shí)施例的一種基于云計(jì)算的日志生成系統(tǒng)的結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面結(jié)合本發(fā)明的附圖對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整的描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明的一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動(dòng)的前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
結(jié)合圖1對(duì)本發(fā)明的第一實(shí)施例進(jìn)行說明。
圖1是本發(fā)明第一實(shí)施例的一種基于云計(jì)算的日志生成方法流程圖,詳述如下:
步驟101,周期性獲取云環(huán)境中的各虛擬機(jī)的日志信息到緩存。
在第一實(shí)施例中,將獲取的日志信息先進(jìn)行緩存,而不是直接存儲(chǔ)到數(shù)據(jù)庫(kù)中,等待合并處理。獲取日志信息的時(shí)間周期可根據(jù)需要進(jìn)行設(shè)定。
需要說明的是,該步驟也為周期性獲取云環(huán)境中的各宿主機(jī)的日志信息到緩存,其原理相同,應(yīng)該屬于本發(fā)明的保護(hù)范圍。
步驟102,當(dāng)預(yù)設(shè)的處理周期到來時(shí),對(duì)本處理周期內(nèi)緩存的日志信息進(jìn)行分組,將其中來自同一虛擬機(jī)的日志信息歸為一組。
在第一實(shí)施例中,當(dāng)設(shè)定的處理周期到達(dá)后,對(duì)于在本次處理周期內(nèi)緩存的全部日志信息中,來自同一虛擬機(jī)或宿主機(jī)的日志信息劃分到一個(gè)組中。
其中,設(shè)定的處理周期需大于獲取日志信息的時(shí)間周期,具體時(shí)間可以由本領(lǐng)域技術(shù)人員根據(jù)需要設(shè)定。優(yōu)選的,本實(shí)施例中,將所述預(yù)設(shè)的處理周期設(shè)定為獲取日志信息的時(shí)間周期的4~10倍。
步驟103,分析本處理周期內(nèi)的各組日志信息,將各組日志信息中類型相同的若干條日志信息進(jìn)行合并處理。
在第一實(shí)施例中,日志信息分為兩類,具體為:第一類:CPU使用率、磁盤使用率、磁盤IO流量或網(wǎng)絡(luò)流量信息等可以反映負(fù)載情況的信息;第二類:系統(tǒng)登錄信息或訪問信息等可以反映訪問情況的信息。
作為本發(fā)明的一優(yōu)選實(shí)施方式,步驟103的具體實(shí)現(xiàn)方式可如下:
首先,確定本處理周期內(nèi)的各組日志信息中各條日志信息的類型,識(shí)別出各組日志信息中的第一類日志信息和第二類日志信息;
然后,對(duì)其中的第一類日志信息進(jìn)行合并處理。具體可為,計(jì)算各組中全部第一類日志信息的平均值,生成包含所述平均值的一條日志信息作為第一類日志信息的合并日志信息。即對(duì)于本處理周期內(nèi),來自同一虛擬機(jī)的負(fù)載信息進(jìn)行平均值計(jì)算,將得到的負(fù)載信息的平均情況作為反應(yīng)本處理周期內(nèi)的對(duì)應(yīng)虛擬機(jī)的負(fù)載情況的日志信息。
對(duì)其中的第二類日志信息進(jìn)行合并處理,具體可為,將本處理周期內(nèi)獲取到的第一條第二類日志信息作為臨時(shí)日志記錄,將其他第二類日志信息與該臨時(shí)日志記錄比較,若其他第二類日志信息的登錄或者訪問用戶包含在臨時(shí)日志記錄中,則將舍棄該第二類日志信息;否則,更新臨時(shí)日志記錄將對(duì)應(yīng)的用戶信息加入;將最終的臨時(shí)日志記錄中作為第二類日志信息的合并日志信息。即對(duì)于本處理周期內(nèi)重復(fù)訪問的用戶信息進(jìn)行合并,刪除冗余的用戶信息。
步驟104,對(duì)合并處理后的日志信息進(jìn)行存儲(chǔ)。
在第一實(shí)施例中,只將合并處理后的日志信息寫入磁盤或者數(shù)據(jù)庫(kù)中進(jìn)行存儲(chǔ),以供查閱和分析,存儲(chǔ)完成后,釋放緩存,清空其中的日志信息。
較佳的,作為本發(fā)明的另一優(yōu)選實(shí)施方式,對(duì)本處理周期內(nèi)的各組日志信息中的第一類日志信息進(jìn)行合并處理時(shí),還可為:統(tǒng)計(jì)全部第一類日志信息中的最大值、最小值,根據(jù)所述最大值、最小值計(jì)算出本處理周期內(nèi)的波動(dòng)值,計(jì)算第一類日志信息包含的CPU使用率、磁盤使用率、磁盤IO流量或網(wǎng)絡(luò)流量信息等負(fù)載信息的平均值,生成包含所述平均值、最大值、最小值和波動(dòng)值的一條日志信息作為第一類日志信息的合并日志信息。以更全面的保全日志信息的內(nèi)容,便于后續(xù)根據(jù)日志信息分析時(shí)獲得更詳盡的負(fù)載信息。
較佳的,作為本發(fā)明的另一優(yōu)選實(shí)施方式,對(duì)本處理周期內(nèi)的各組日志信息中的第二類日志信息進(jìn)行合并處理時(shí),還可為:將本處理周期內(nèi)獲取到的第一條第二類日志信息作為臨時(shí)日志記錄,將其他第二類日志信息與該臨時(shí)日志記錄比較,若其他第二類日志信息的登錄或者訪問用戶包含在臨時(shí)日志記錄中,則舍棄該第二類日志信息,更新對(duì)應(yīng)用戶的訪問次數(shù);否則,更新臨時(shí)日志記錄將對(duì)應(yīng)的用戶信息加入,更新對(duì)應(yīng)用戶的訪問次數(shù);將最終的臨時(shí)日志記錄、以及對(duì)應(yīng)用戶的訪問次數(shù)作為第二類日志信息的合并日志信息。以更全面的保全日志信息的用戶訪問信息,便于后續(xù)根據(jù)日志信息分析時(shí)獲得更詳盡的用戶訪問信息。
通過本發(fā)明第一實(shí)施例,當(dāng)日志信息的采集頻率高于統(tǒng)計(jì)分析頻率時(shí),將一個(gè)處理周期內(nèi),從同一虛擬機(jī)或宿主機(jī)獲取的多條日志信息進(jìn)行合并,僅將合并后的日志信息存儲(chǔ)到存儲(chǔ)空間內(nèi),而不需要緩存或者保存日志信息的所有原始數(shù)據(jù);從而,節(jié)約存儲(chǔ)空間,并節(jié)約網(wǎng)絡(luò)帶寬,并降低了保存大量日志信息的原始數(shù)據(jù)的成本?;诒景l(fā)明的方案,若用戶需要查詢或統(tǒng)計(jì)一段時(shí)間內(nèi)的日志信息,基于本發(fā)明的方案處理后的日志信息中查詢或統(tǒng)計(jì),可提高了查詢或統(tǒng)計(jì)速度。
以下為本發(fā)明實(shí)施例提供的一種基于云計(jì)算的日志生成系統(tǒng)的實(shí)施例。所述系統(tǒng)的實(shí)施例與上述的方法實(shí)施例屬于同一構(gòu)思,系統(tǒng)的實(shí)施例中未詳盡描述的細(xì)節(jié)內(nèi)容,可以參考上述方法實(shí)施例。
圖2示出了本發(fā)明第二實(shí)施例的一種基于云計(jì)算的日志生成系統(tǒng)的結(jié)構(gòu)示意圖,下面進(jìn)行詳細(xì)說明。
請(qǐng)參見圖2,本實(shí)施例的基于云計(jì)算的日志生成系統(tǒng)包括:緩存模塊210、分組模塊220、合并模塊230以及存儲(chǔ)模塊240。各模塊具體說明如下:
所述的緩存模塊210,用于周期性獲取云環(huán)境中的各虛擬機(jī)的日志信息到緩存。
在本實(shí)施例中,將獲取的日志信息先進(jìn)行緩存,而不是直接存儲(chǔ)到數(shù)據(jù)庫(kù)中,等待合并處理。獲取日志信息的時(shí)間周期可根據(jù)需要進(jìn)行設(shè)定。
需要說明的是,該步驟也為周期性獲取云環(huán)境中的各宿主機(jī)的日志信息到緩存,其原理相同,應(yīng)該屬于本發(fā)明的保護(hù)范圍。
所述分組模塊220,用于當(dāng)預(yù)設(shè)的處理周期到來時(shí),對(duì)本處理周期內(nèi)緩存的日志信息進(jìn)行分組,將其中來自同一虛擬機(jī)的日志信息歸為一組。
其中,設(shè)定的處理周期需大于獲取日志信息的時(shí)間周期,具體時(shí)間可以由本領(lǐng)域技術(shù)人員根據(jù)需要設(shè)定。優(yōu)選的,本實(shí)施例中,將所述預(yù)設(shè)的處理周期設(shè)定為獲取日志信息的時(shí)間周期的4~10倍。
所述的合并模塊230,用于分析本處理周期內(nèi)的各組日志信息,將各組日志信息中類型相同的若干條日志信息進(jìn)行合并處理。
在第二實(shí)施例中,日志信息分為兩類,具體為:第一類:CPU使用率、磁盤使用率、磁盤IO流量或網(wǎng)絡(luò)流量信息等可以反映負(fù)載情況的信息;第二類:系統(tǒng)登錄信息或訪問信息等可以反映訪問情況的信息。
所述分析本處理周期內(nèi)的各組日志信息,將各組日志信息中類型相同的若干條日志信息進(jìn)行合并處理具體可為:
首先,確定本處理周期內(nèi)的各組日志信息中各條日志信息的類型,識(shí)別出各組日志信息中的第一類日志信息和第二類日志信息;
然后,對(duì)其中的第一類日志信息進(jìn)行合并處理。具體可為,計(jì)算各組中全部第一類日志信息的平均值,生成包含所述平均值的一條日志信息作為第一類日志信息的合并日志信息。即對(duì)于本處理周期內(nèi),來自同一虛擬機(jī)的負(fù)載信息進(jìn)行平均值計(jì)算,將得到的負(fù)載信息的平均情況作為反應(yīng)本處理周期內(nèi)的對(duì)應(yīng)虛擬機(jī)的負(fù)載情況的日志信息。
對(duì)其中的第二類日志信息進(jìn)行合并處理,具體可為,將本處理周期內(nèi)獲取到的第一條第二類日志信息作為臨時(shí)日志記錄,將其他第二類日志信息與該臨時(shí)日志記錄比較,若其他第二類日志信息的登錄或者訪問用戶包含在臨時(shí)日志記錄中,則將舍棄該第二類日志信息;否則,更新臨時(shí)日志記錄將對(duì)應(yīng)的用戶信息加入;將最終的臨時(shí)日志記錄中作為第二類日志信息的合并日志信息。即對(duì)于本處理周期內(nèi)重復(fù)訪問的用戶信息進(jìn)行合并,刪除冗余的用戶信息。
所述的存儲(chǔ)模塊240,用于對(duì)合并處理后的日志信息進(jìn)行存儲(chǔ)。
在本實(shí)施例中,只將合并處理后的日志信息寫入磁盤或者數(shù)據(jù)庫(kù)中進(jìn)行存儲(chǔ),以供查閱和分析,存儲(chǔ)完成后,釋放緩存,清空其中的日志信息。
進(jìn)一步的,作為本實(shí)施例的另一優(yōu)選實(shí)施方式,所述對(duì)第一類日志信息進(jìn)行合并處理時(shí),還可以包括:統(tǒng)計(jì)全部第一類日志信息中的最大值、最小值,根據(jù)所述最大值、最小值計(jì)算出本處理周期內(nèi)的波動(dòng)值,所述第一類日志信息的合并日志信息中還包含所述最大值、最小值和波動(dòng)值。
進(jìn)一步的,作為本實(shí)施例的另一優(yōu)選實(shí)施方式,所述對(duì)第二類日志信息進(jìn)行合并處理,還可以包括:統(tǒng)計(jì)對(duì)應(yīng)用戶的訪問次數(shù),所述第二類日志信息的合并日志信息中還包括對(duì)應(yīng)用戶的訪問次數(shù)的信息。
通過本發(fā)明上述實(shí)施例,通過將一定時(shí)間內(nèi)(處理周期內(nèi))緩存的若干條日志信息進(jìn)行合并處理,僅將合并后的一條日志信息存儲(chǔ)到存儲(chǔ)空間內(nèi);從而,節(jié)約存儲(chǔ)空間,并節(jié)約網(wǎng)絡(luò)帶寬,并降低了保存大量日志信息的原始數(shù)據(jù)的成本?;诒景l(fā)明的方案,若用戶需要查詢或統(tǒng)計(jì)一段時(shí)間內(nèi)的日志信息,基于本發(fā)明的方案處理后的日志信息中查詢或統(tǒng)計(jì),可提高了查詢或統(tǒng)計(jì)速度。
以上所揭露的僅為本發(fā)明較佳實(shí)施例而已,當(dāng)然不能以此來限定本發(fā)明之權(quán)利要求范圍,因此,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,仍屬本發(fā)明所涵蓋的范圍。