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