專利名稱:一種快速處理日志信息的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)領(lǐng)域,尤其涉及一種快速處理日志信息的方法。
背景技術(shù):
隨著智能交換平臺(tái)的業(yè)務(wù)規(guī)模擴(kuò)大,對(duì)于業(yè)務(wù)消息的處理速度要求也越來(lái)越高,由于在處理業(yè)務(wù)消息的同時(shí)會(huì)產(chǎn)生大量的日志信息,將日志信息頻繁的輸入到磁盤的日志文件中,會(huì)導(dǎo)致系統(tǒng)處理性能的下降。因此需要提高日志信息的處理效率,減少磁盤的輸入輸出操作。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題是針對(duì)現(xiàn)有技術(shù)的不足,提供一種可快速處理日志信息,大大減少磁盤輸入輸出操作的快速處理日志信息的方法。本發(fā)明解決上述技術(shù)問題的技術(shù)方案如下一種快速處理日志信息的方法,其特征在于,包括如下步驟步驟1:在系統(tǒng)內(nèi)存中為每個(gè)日志設(shè)置三個(gè)日志緩存模塊,并為各個(gè)日志緩存模塊標(biāo)號(hào);步驟2 :將系統(tǒng)產(chǎn)生的日志信息輪流存儲(chǔ)到日志緩存模塊中;步驟3 :實(shí)時(shí)檢測(cè)各個(gè)日志緩存模塊的狀態(tài),將處于已滿狀態(tài)的日志緩存模塊中的日志信息傳輸?shù)饺罩疚募?。在上述技術(shù)方案的基礎(chǔ)上,本發(fā)明還可以做如下改進(jìn)。進(jìn)一步,所述日志緩存模塊的狀態(tài)包括空閑狀態(tài)、在用狀態(tài)和已滿狀態(tài)。進(jìn)一步,所述步驟2中將系統(tǒng)產(chǎn)生的日志信息輪流存儲(chǔ)到日志緩存模塊中的具體步驟如下步驟2.1 :實(shí)時(shí)檢測(cè)各個(gè)日志緩存模塊的狀態(tài),判斷是否存在處于在用狀態(tài)的日志緩存模塊,如果存在進(jìn)入步驟2. 2,否則進(jìn)入步驟2. 3 ;步驟2.2 :判斷處于在用狀態(tài)的日志緩存模塊是否還有足夠的緩存空間,如果還有足夠的緩存空間則將日志信息存儲(chǔ)到該日志存儲(chǔ)模塊中,否則將上述日志緩存模塊的狀態(tài)修改成已滿狀態(tài);步驟2. 3 :判斷是否存在處于空閑狀態(tài)的日志緩存模塊,如果存在進(jìn)入步驟2. 4,否則提示出現(xiàn)異常;步驟2. 4 :判斷處于空閑狀態(tài)的日志緩存模塊的個(gè)數(shù),如果僅有一個(gè),則將日志信息存儲(chǔ)到該日志緩存模塊中;如果有兩個(gè)或兩個(gè)以上,則依照日志緩存模塊的標(biāo)號(hào),按順序?qū)⑷罩拘畔⒋鎯?chǔ)到日志緩存模塊中。進(jìn)一步,上述技術(shù)方案還包括預(yù)先設(shè)定日志信息的級(jí)別和日志信息的輸出限定級(jí)別,將處于已滿狀態(tài)的日志緩存模塊中的符合預(yù)先設(shè)定的日志信息的輸出限定級(jí)別的日志信息輸出到日志文件中。
進(jìn)一步,上述技術(shù)方案還包括當(dāng)日志存儲(chǔ)模塊輸出的日志信息超出日志文件的容量時(shí),則自動(dòng)生成日志文件的兄弟文件,將日志信息分割,并分別存儲(chǔ)到原日志文件和兄弟文件中。進(jìn)一步,上述技術(shù)方案還包括還包括當(dāng)?shù)竭_(dá)預(yù)定的日志無(wú)輸出時(shí)間后仍然沒有日志信息輸入到日志文件中,則將日志緩存區(qū)中的全部?jī)?nèi)容自動(dòng)輸出到日志文件中。進(jìn)一步,上述技術(shù)方案還包括根據(jù)不同的需求對(duì)日志緩沖模塊的大小、日志文件的大小、日志無(wú)輸出時(shí)間進(jìn)行設(shè)置。本發(fā)明的有益效果是采用本發(fā)明提供的方法,通過(guò)對(duì)日志信息進(jìn)行緩存,將日志信息積攢后再輸入到磁盤的日志文件中,這使原來(lái)需要的頻繁的輸入輸出操作大大減少,大大提高了系統(tǒng)的處理性能;同時(shí)可以針對(duì)不同的需求設(shè)置日志緩沖模塊的大小、日志文件的大小、日志無(wú)輸出時(shí)間等。
圖1為本發(fā)明所述一種快速處理日志信息的方法流程圖;圖2為本發(fā)明所述步驟2的具體流程具體實(shí)施例方式以下結(jié)合附圖對(duì)本發(fā)明的原理和特征進(jìn)行描述,所舉實(shí)例只用于解釋本發(fā)明,并非用于限定本發(fā)明的范圍。如圖1所示,一種快速處理日志信息的方法,其特征在于,包括如下步驟步驟1:在系統(tǒng)內(nèi)存中為每個(gè)日志設(shè)置三個(gè)日志緩存模塊,并為各個(gè)日志緩存模塊標(biāo)號(hào);步驟2 :將系統(tǒng)產(chǎn)生的日志信息輪流存儲(chǔ)到日志緩存模塊中;步驟3 :實(shí)時(shí)檢測(cè)各個(gè)日志緩存模塊的狀態(tài),將處于已滿狀態(tài)的日志緩存模塊中的日志信息傳輸?shù)饺罩疚募?。其中,日志緩存模塊設(shè)置于內(nèi)存中,日志文件設(shè)置于磁盤中。其中,所述日志緩存模塊的狀態(tài)包括空閑狀態(tài)、在用狀態(tài)和已滿狀態(tài)。其中,如圖2所示,所述步驟2中將系統(tǒng)產(chǎn)生的日志信息輪流存儲(chǔ)到日志緩存模塊中的具體步驟如下步驟2.1 :實(shí)時(shí)檢測(cè)各個(gè)日志緩存模塊的狀態(tài),判斷是否存在處于在用狀態(tài)的日志緩存模塊,如果存在進(jìn)入步驟2. 2,否則進(jìn)入步驟2. 3 ;步驟2.2 :判斷處于在用狀態(tài)的日志緩存模塊是否還有足夠的緩存空間,如果存在足夠緩存空間,則將日志信息存儲(chǔ)到該日志存儲(chǔ)模塊中,否則將上述日志緩存模塊的狀態(tài)修改成已滿狀態(tài);步驟2. 3 :判斷是否存在處于空閑狀態(tài)的日志緩存模塊,如果存在進(jìn)入步驟2. 4,否則提示出現(xiàn)異常;步驟2. 4 :判斷處于空閑狀態(tài)的日志緩存模塊的個(gè)數(shù),如果僅有一個(gè),則將日志信息存儲(chǔ)到該日志緩存模塊中;如果有兩個(gè)或兩個(gè)以上,則依照日志緩存模塊的標(biāo)號(hào),按順序?qū)⑷罩拘畔⒋鎯?chǔ)到日志緩存模塊中。
其中,上述技術(shù)方案還包括預(yù)先設(shè)定日志信息的級(jí)別和日志信息的輸出限定級(jí)別,將處于已滿狀態(tài)的日志緩存模塊中的符合預(yù)先設(shè)定的日志信息的輸出限定級(jí)別的日志信息輸出到日志文件中,比如,設(shè)定日志信息包括5個(gè)級(jí)別,設(shè)定的日志信息的輸出限定級(jí)別為3級(jí),則當(dāng)有日志緩存模塊處于已滿狀態(tài)時(shí),將前3級(jí)的日志信息輸出到日志文件中,第4、5級(jí)的日志信息則清除。其中,上述技術(shù)方案還包括當(dāng)日志存儲(chǔ)模塊輸出的日志信息超出日志文件的容量時(shí),則自動(dòng)生成日志文件的兄弟文件,將日志信息分割,并分別存儲(chǔ)到原日志文件和兄弟文件中,比如日志文件A的容量不能容納所有日志緩存模塊輸出的日志信息時(shí),則日志文件A將自身的文件名自動(dòng)添加后綴,變?yōu)锳.1,并自動(dòng)生成兄弟文件A. 2,將日志信息進(jìn)行分割,然后分別存儲(chǔ)到日志文件A.1和兄弟文件A. 2中。其中,上述技術(shù)方案還包括當(dāng)?shù)竭_(dá)預(yù)定的日志無(wú)輸出時(shí)間后仍然沒有日志信息輸入到日志文件中,則將日志緩存模塊中的全部?jī)?nèi)容自動(dòng)輸出到日志文件中,比如,預(yù)先設(shè)定一個(gè)時(shí)間T,當(dāng)達(dá)到時(shí)間T時(shí)沒有任何日志信息輸出到日志文件中,則將日志緩存模塊中的所有日志信息全部輸出到日志文件中。其中,上述技術(shù)方案根據(jù)不同的需求對(duì)日志緩沖模塊的大小、日志文件的大小、日志無(wú)輸出時(shí)間進(jìn)行設(shè)置。以下對(duì)本發(fā)明進(jìn)行詳細(xì)說(shuō)明1、首先給每一個(gè)日志開辟三個(gè)日志緩存模塊用于存儲(chǔ)日志信息,每一個(gè)日志緩存模塊的狀態(tài)在空閑、在用已滿三個(gè)狀態(tài)間循環(huán)。2、當(dāng)?shù)谝粔K緩沖區(qū)滿后,狀態(tài)變化為已滿,在第一塊緩沖區(qū)處于已滿狀態(tài)中的時(shí)候,使用第二塊緩沖模塊。3、實(shí)時(shí)監(jiān)測(cè)是否存在日志緩沖模塊的狀態(tài)是已滿狀態(tài),如果存在則把相應(yīng)緩沖模塊中的內(nèi)容輸出到日志文件,從而將多條日志記錄所需的多次輸入輸出操作減少到I次。4、三個(gè)緩存模塊輪流使用可以保證即使日志量非常巨大的時(shí)候也可以有足夠的時(shí)間進(jìn)行輸入輸出操作,將日志信息存儲(chǔ)在日志緩存模塊中,待有日志緩存模塊存滿后,將該日志緩存模塊中的所有日志信息一次輸出到日志文件中。5、將日志緩存模塊中的日志信息輸出到日志文件中時(shí)判斷日志文件的大小能否容納所有待輸入的日志信息,如果能則直接將所有待輸入的日志信息輸入到日志文件中,如果不能則自動(dòng)生成原日志文件的兄弟文件,將待輸入的日志信息進(jìn)行分割,分別輸入到原日志文件和兄弟日志文件中。6、預(yù)先設(shè)定一個(gè)時(shí)間參數(shù),當(dāng)達(dá)到預(yù)定時(shí)間后如果沒有日志信息輸出到日志文件中,則自動(dòng)把所有日志緩沖模塊中的日志信息輸出到日志文件中。采用本發(fā)明提供的方法,通過(guò)對(duì)日志信息進(jìn)行緩存,將日志信息積攢后再輸入到磁盤的日志文件中,這使原來(lái)需要的頻繁的輸入輸出操作大大減少,大大提高了系統(tǒng)的處理性能;同時(shí)可以針對(duì)不同的需求設(shè)置日志緩沖模塊的大小、日志文件的大小、日志無(wú)輸出時(shí)間等。以上所述僅為本發(fā)明的較佳實(shí)施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種快速處理日志信息的方法,其特征在于,包括如下步驟 步驟1:在系統(tǒng)內(nèi)存中為每個(gè)日志設(shè)置三個(gè)日志緩存模塊,并為各個(gè)日志緩存模塊標(biāo)號(hào); 步驟2 :將系統(tǒng)產(chǎn)生的日志信息輪流存儲(chǔ)到日志緩存模塊中; 步驟3 :實(shí)時(shí)檢測(cè)各個(gè)日志緩存模塊的狀態(tài),將處于已滿狀態(tài)的日志緩存模塊中的日志信息傳輸?shù)饺罩疚募小?br>
2.根據(jù)權(quán)利要求1所述一種快速理速日志信息的方法,其特征在于,所述日志緩存模塊的狀態(tài)包括空閑狀態(tài)、在用狀態(tài)和已滿狀態(tài)。
3.根據(jù)權(quán)利要求1或2所述一種快速理速日志信息的方法,其特征在于,所述步驟2中將系統(tǒng)產(chǎn)生的日志信息輪流存儲(chǔ)到日志緩存模塊中的具體步驟如下 步驟2.1 :實(shí)時(shí)檢測(cè)各個(gè)日志緩存模塊的狀態(tài),判斷是否存在處于在用狀態(tài)的日志緩存模塊,如果存在進(jìn)入步驟2. 2,否則進(jìn)入步驟2. 3 ; 步驟2. 2 :判斷處于在用狀態(tài)的日志緩存模塊是否還有足夠的緩存空間,如果還有的足夠的緩存空間則將日志信息存儲(chǔ)到該日志存儲(chǔ)模塊中,否則將上述日志緩存模塊的狀態(tài)修改成已滿狀態(tài); 步驟2. 3 :判斷是否存在處于空閑狀態(tài)的日志緩存模塊,如果存在進(jìn)入步驟2. 4,否則提示出現(xiàn)異常; 步驟2. 4 :判斷處于空閑狀態(tài)的日志緩存模塊的個(gè)數(shù),如果僅有一個(gè),則將日志信息存儲(chǔ)到該日志緩存模塊中;如果有兩個(gè)或兩個(gè)以上,則依照日志緩存模塊的標(biāo)號(hào),按順序?qū)⑷罩拘畔⒋鎯?chǔ)到日志緩存模塊中。
4.根據(jù)權(quán)利要求1所述一種快速理速日志信息的方法,其特征在于,還包括預(yù)先設(shè)定日志信息的級(jí)別和日志信息的輸出限定級(jí)別,將處于已滿狀態(tài)的日志緩存模塊中的符合預(yù)先設(shè)定的日志信息的輸出限定級(jí)別的日志信息輸出到日志文件中。
5.根據(jù)權(quán)利要求1所述一種快速理速日志信息的方法,其特征在于,還包括當(dāng)日志存儲(chǔ)模塊輸出的日志信息超出日志文件的容量時(shí),則自動(dòng)生成日志文件的兄弟文件,將日志信息分割,并分別存儲(chǔ)到原日志文件和兄弟文件中。
6.根據(jù)權(quán)利要求1所述一種快速理速日志信息的方法,其特征在于,還包括當(dāng)?shù)竭_(dá)預(yù)定的日志無(wú)輸出時(shí)間后仍然沒有日志信息輸入到日志文件中,則將日志緩存區(qū)中的全部?jī)?nèi)容自動(dòng)輸出到日志文件中。
7.根據(jù)權(quán)利要求1所述一種快速理速日志信息的方法,其特征在于,還包括根據(jù)不同的需求對(duì)日志緩沖模塊的大小、日志文件的大小、日志無(wú)輸出時(shí)間進(jìn)行設(shè)置。
全文摘要
本發(fā)明涉及一種快速處理日志信息的方法,包括如下步驟步驟1在系統(tǒng)內(nèi)存中為每個(gè)日志設(shè)置三個(gè)日志緩存模塊,并為各個(gè)日志緩存模塊標(biāo)號(hào);步驟2將系統(tǒng)產(chǎn)生的日志信息輪流存儲(chǔ)到日志緩存模塊中;步驟3實(shí)時(shí)檢測(cè)各個(gè)日志緩存模塊的狀態(tài),將處于已滿狀態(tài)的日志緩存模塊中的日志信息傳輸?shù)饺罩疚募校徊捎帽景l(fā)明提供的方法,通過(guò)對(duì)日志信息進(jìn)行緩存,將日志信息積攢后再輸入到磁盤的日志文件中,這使原來(lái)需要的頻繁的輸入輸出操作大大減少,大大提高了系統(tǒng)的處理性能;同時(shí)可以針對(duì)不同的需求設(shè)置日志緩沖模塊的大小、日志文件的大小、日志無(wú)輸出時(shí)間等。
文檔編號(hào)G06F11/34GK103064779SQ20121057583
公開日2013年4月24日 申請(qǐng)日期2012年12月26日 優(yōu)先權(quán)日2012年12月26日
發(fā)明者韓宇峰 申請(qǐng)人:北京思特奇信息技術(shù)股份有限公司