專利名稱:一種控制打印頻度的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及打印頻度的控制技術(shù),特別涉及一種控制打印頻度的方法。
背景技術(shù):
在許多通信軟件模塊中,打印都是非常重要的。通過打印出來的信息,我們可以方便的對(duì)系統(tǒng)中的故障進(jìn)行定位;同時(shí),打印信息對(duì)我們觀察代碼的運(yùn)行流程也很有幫助。但是,如果對(duì)打印頻度控制不好,同時(shí)需要打印的信息過多,使打印頻度達(dá)到很高,將會(huì)影響到系統(tǒng)的穩(wěn)定性。
例如,當(dāng)系統(tǒng)業(yè)務(wù)繁忙時(shí),中央處理器(CPU)的占用率都比較高,如果此時(shí)再有過多的打印信息需要同時(shí)進(jìn)行處理,CPU將暫時(shí)中斷對(duì)某些優(yōu)先級(jí)別較低的業(yè)務(wù)的處理,切換為對(duì)某些優(yōu)先級(jí)別較高的打印信息的處理,等處理完打印信息以后,再切換回來對(duì)業(yè)務(wù)進(jìn)行處理。當(dāng)CPU的占用率較高時(shí),這種切換過程進(jìn)行的非常頻繁,等待CPU處理的業(yè)務(wù)也將會(huì)有很多。因此,當(dāng)CPU的占用率較高時(shí),很多業(yè)務(wù)都不可能被及時(shí)處理,這樣也就必將會(huì)影響到系統(tǒng)的穩(wěn)定性,使系統(tǒng)的穩(wěn)定性降低,情況嚴(yán)重時(shí)還可能會(huì)使整個(gè)系統(tǒng)發(fā)生癱瘓。
目前,主要采用將打印信息分級(jí)以及對(duì)每一級(jí)別的打印信息設(shè)置打印開關(guān)的方式來控制打印頻度。在打印時(shí),根據(jù)打印信息的優(yōu)先級(jí)順序和該級(jí)別打印信息的打印開關(guān)狀態(tài),優(yōu)先輸出優(yōu)先級(jí)別較高的打印信息。
一般情況下,現(xiàn)有技術(shù)中根據(jù)打印信息的重要性將打印信息分為ERROR、WARNING、INFO三個(gè)優(yōu)先級(jí)別。其中,ERROR級(jí)別打印信息的優(yōu)先級(jí)別最高,INFO級(jí)別打印信息的優(yōu)先級(jí)別最低。優(yōu)先級(jí)別高的信息,在打印時(shí)打印出來的信息最詳細(xì),主要用于對(duì)系統(tǒng)運(yùn)行時(shí)出現(xiàn)的故障進(jìn)行診斷和定位;優(yōu)先級(jí)別低的信息,在打印時(shí)只打印出較大概的信息,主要用于打印一些調(diào)試信息,對(duì)系統(tǒng)的運(yùn)行狀態(tài)進(jìn)行調(diào)試。
另外,為了更好的控制打印頻度,現(xiàn)有技術(shù)中還對(duì)每一級(jí)別的打印信息都設(shè)置一個(gè)獨(dú)立的打印開關(guān),只有該級(jí)別打印信息的打印開關(guān)處于開啟狀態(tài)時(shí),該級(jí)別的打印信息才允許被輸出。
采用打印信息分級(jí)方式只能靜態(tài)的控制打印頻度,通過打印開關(guān)的方式雖然可以動(dòng)態(tài)的控制各級(jí)別打印信息的開啟或關(guān)閉,但還是缺少一定的靈活性。尤為重要的是,現(xiàn)有技術(shù)采用將打印信息分級(jí)方式和設(shè)置打印開關(guān)的方式來控制打印頻度,并沒有將打印頻度與系統(tǒng)當(dāng)前CPU的占用率聯(lián)系在一起,也就是說,現(xiàn)有技術(shù)并沒有將CPU的占用率作為控制打印頻度的重要依據(jù),這樣也就無法從根本上解決系統(tǒng)CPU的占用率較高時(shí),因需要同時(shí)處理過多的打印信息而影響系統(tǒng)穩(wěn)定性的問題。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明的主要目的在于提供一種控制打印頻度的方法,以根據(jù)系統(tǒng)當(dāng)前CPU的占用率來控制打印頻度。
為達(dá)到上述目的,本發(fā)明提供了一種控制打印頻度的方法,關(guān)鍵在于,該方法至少包括以下步驟A、設(shè)置輸出打印信息時(shí)中央處理器占用率的門限值,獲取系統(tǒng)當(dāng)前中央處理器的占用率;B、判斷系統(tǒng)當(dāng)前中央處理器的占用率是否超過設(shè)置的輸出打印信息時(shí)中央處理器占用率的門限值,如果超過,則不輸出打印信息;否則,輸出打印信息。
上述方案中,在所述的步驟A之前進(jìn)一步包括根據(jù)打印信息的重要性,將打印信息按照優(yōu)先級(jí)順序進(jìn)行分級(jí)。
上述方案中,步驟A中所述的設(shè)置輸出打印信息時(shí)中央處理器占用率的門限值包括按照打印信息的優(yōu)先級(jí)順序,分別設(shè)置輸出各級(jí)別打印信息時(shí)中央處理器占用率的門限值,且設(shè)置的輸出各級(jí)別打印信息時(shí)中央處理器占用率門限值的大小順序,與打印信息優(yōu)先級(jí)的高低順序相同。
上述方案中,所述的步驟B包括判斷系統(tǒng)當(dāng)前中央處理器的占用率是否超過設(shè)置的輸出該級(jí)別打印信息時(shí)中央處理器占用率的門限值,如果超過,則不輸出該級(jí)別的打印信息;否則,輸出該級(jí)別的打印信息。
上述方案中,在所述的步驟A之前進(jìn)一步包括按照打印信息的優(yōu)先級(jí)順序,分別設(shè)置每一級(jí)別打印信息的打印開關(guān)。在所述的步驟B之前進(jìn)一步包括系統(tǒng)的打印控制模塊收到打印信息,先根據(jù)打印信息的重要性判斷該打印信息的優(yōu)先級(jí)別,然后根據(jù)該打印信息的優(yōu)先級(jí)別判斷該級(jí)別打印開關(guān)的狀態(tài),如果該級(jí)別打印開關(guān)處于開啟狀態(tài),則執(zhí)行所述的獲取系統(tǒng)當(dāng)前中央處理器的占用率或者執(zhí)行步驟B;否則,結(jié)束本流程。
上述方案中,步驟A中所述的獲取系統(tǒng)當(dāng)前中央處理器的占用率包括系統(tǒng)的打印控制模塊調(diào)用操作系統(tǒng)提供的接口函數(shù),并根據(jù)接口函數(shù)直接獲取系統(tǒng)當(dāng)前中央處理器的占用率。
因此,本發(fā)明提供的這種控制打印頻度的方法,通過獲取系統(tǒng)當(dāng)前CPU的占用率,比較系統(tǒng)當(dāng)前CPU的占用率與設(shè)置的CPU占用率的門限值,并根據(jù)比較的結(jié)果來控制打印頻度,將CPU的占用率作為控制打印頻度的重要依據(jù),實(shí)現(xiàn)了對(duì)打印頻度的有效控制。利用本發(fā)明,系統(tǒng)的打印控制模塊可以實(shí)時(shí)根據(jù)系統(tǒng)當(dāng)前CPU的占用率來控制打印頻度,因而從根本上解決了系統(tǒng)CPU的占用率較高時(shí),因需要同時(shí)處理過多的打印信息而影響系統(tǒng)穩(wěn)定性的問題,保障了系統(tǒng)的穩(wěn)定性。
圖1為本發(fā)明控制打印頻度總體技術(shù)方案的方法流程圖;圖2為依照本發(fā)明一個(gè)較佳實(shí)施例控制打印頻度的方法流程圖。
具體實(shí)施例方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明白,以下舉實(shí)施例,并參照附圖,對(duì)本發(fā)明進(jìn)一步詳細(xì)說明。
本發(fā)明的核心內(nèi)容是通過獲取系統(tǒng)當(dāng)前CPU的占用率,比較系統(tǒng)當(dāng)前CPU的占用率與設(shè)置的CPU占用率的門限值,并根據(jù)比較的結(jié)果來控制打印頻度,將CPU的占用率作為控制打印頻度的重要依據(jù),實(shí)現(xiàn)對(duì)打印頻度的有效控制。
如圖1所示,圖1為本發(fā)明控制打印頻度總體技術(shù)方案的方法流程圖,該流程圖包括以下步驟步驟101設(shè)置輸出打印信息時(shí)CPU占用率的門限值,獲取系統(tǒng)當(dāng)前CPU的占用率;步驟102判斷系統(tǒng)當(dāng)前CPU的占用率是否超過設(shè)置的輸出打印信息時(shí)CPU占用率的門限值,如果超過,則不輸出打印信息;否則,輸出打印信息。
在具體實(shí)施的過程中,本發(fā)明的技術(shù)方案可以結(jié)合現(xiàn)有技術(shù)中將打印信息進(jìn)行分級(jí),以及對(duì)每一級(jí)別的打印信息都設(shè)置打印開關(guān)的方式來控制打印頻度。在這種情況下,步驟101設(shè)置CPU占用率的門限值時(shí),就應(yīng)當(dāng)根據(jù)打印信息的級(jí)別,對(duì)每級(jí)打印信息分別設(shè)置輸出該級(jí)別打印信息時(shí)CPU占用率的門限值。
例如,設(shè)置輸出ERROR級(jí)別的打印信息時(shí),對(duì)應(yīng)CPU占用率的門限值為x%。也就是說,當(dāng)系統(tǒng)CPU的占用率超過x%時(shí),將不再輸出優(yōu)先級(jí)別為ERROR的打印信息;而當(dāng)系統(tǒng)CPU的占用率小于或等于x%時(shí),將輸出優(yōu)先級(jí)別為ERROR的打印信息。同理設(shè)置輸出WARNING和INFO級(jí)別的打印信息時(shí),對(duì)應(yīng)CPU占用率的門限值分別為y%和z%,其控制方式同ERROR級(jí)別的類似,這里不在贅述。
另外,因?yàn)榇蛴⌒畔⒌膬?yōu)先級(jí)別ERROR、WARNING和INFO是逐漸降低的,為保證較高優(yōu)先級(jí)別的打印信息能夠盡可能被輸出,在設(shè)置門限值時(shí),應(yīng)當(dāng)使設(shè)置的輸出各級(jí)別打印信息時(shí)CPU占用率門限值的大小順序,與打印信息優(yōu)先級(jí)的高低順序相同,即x%>y%>z%。
步驟101中所述的獲取系統(tǒng)當(dāng)前CPU的占用率,是系統(tǒng)的打印控制模塊調(diào)用操作系統(tǒng)提供的接口函數(shù),并根據(jù)接口函數(shù)直接獲取系統(tǒng)當(dāng)前CPU的占用率。例如,系統(tǒng)的打印控制模塊調(diào)用操作系統(tǒng)提供的接口函數(shù)UINT32VOS_GetCPULoad(UINT8*pCPULoad),通過該接口函數(shù)中的出口參數(shù)pCPULoad就可以直接得到系統(tǒng)當(dāng)前CPU的占用率。
下面將本發(fā)明的技術(shù)方案與現(xiàn)有技術(shù)結(jié)合起來作為本發(fā)明的一個(gè)較佳實(shí)施例,說明本發(fā)明的技術(shù)方案具體是如何實(shí)施的。
如圖2所示,圖2為依照本發(fā)明一個(gè)較佳實(shí)施例控制打印頻度的方法流程圖,該流程圖包括以下步驟步驟201系統(tǒng)的打印控制模塊收到打印信息以后,首先判斷該打印信息的優(yōu)先級(jí)別是否是ERROR級(jí)別,如果是ERROR級(jí)別,則執(zhí)行步驟202;否則,執(zhí)行步驟205;步驟202判斷ERROR級(jí)別打印開關(guān)的開關(guān)狀態(tài),如果ERROR級(jí)別打印開關(guān)處于開啟狀態(tài),則執(zhí)行步驟203;否則,執(zhí)行步驟214;步驟203獲取系統(tǒng)當(dāng)前CPU的占用率,判斷系統(tǒng)當(dāng)前CPU的占用率是否超過x%,如果沒有超過,則執(zhí)行步驟204,否則執(zhí)行步驟214;步驟204輸出打印信息,結(jié)束本流程;步驟205判斷該打印信息的優(yōu)先級(jí)別是否是WARNING級(jí)別,如果是WARNING級(jí)別,則執(zhí)行步驟206;否則,執(zhí)行步驟209;;步驟206判斷WARNING級(jí)別打印開關(guān)的開關(guān)狀態(tài),如果WARNING級(jí)別打印開關(guān)處于開啟狀態(tài),則執(zhí)行步驟207;否則,執(zhí)行步驟214;步驟207獲取系統(tǒng)當(dāng)前CPU的占用率,判斷系統(tǒng)當(dāng)前CPU的占用率是否超過y%,如果沒有超過,則執(zhí)行步驟208,否則執(zhí)行步驟214;步驟208輸出打印信息,結(jié)束本流程;步驟209判斷該打印信息的優(yōu)先級(jí)別是否是INFO級(jí)別,如果是INFO級(jí)別,則執(zhí)行步驟210;否則,執(zhí)行步驟213;;步驟210判斷INFO級(jí)別打印開關(guān)的開關(guān)狀態(tài),如果INFO級(jí)別打印開關(guān)處于開啟狀態(tài),則執(zhí)行步驟211;否則,執(zhí)行步驟214;步驟211獲取系統(tǒng)當(dāng)前CPU的占用率,判斷系統(tǒng)當(dāng)前CPU的占用率是否超過z%,如果沒有超過,則執(zhí)行步驟212,否則執(zhí)行步驟214;步驟212輸出打印信息,結(jié)束本流程;步驟213不輸出打印信息,結(jié)束本流程;步驟214不輸出打印信息,結(jié)束本流程。
在本發(fā)明所舉的這個(gè)較佳實(shí)施例中,系統(tǒng)的打印控制模塊是在判斷打印信息的優(yōu)先級(jí)別和該級(jí)別打印信息的開關(guān)狀態(tài)以后,再獲取系統(tǒng)當(dāng)前CPU的占用率的。在實(shí)際應(yīng)用中,系統(tǒng)的打印控制模塊可以在判斷打印信息的優(yōu)先級(jí)別和該級(jí)別打印信息的開關(guān)狀態(tài)之前,也可以在判斷打印信息的優(yōu)先級(jí)別和該級(jí)別打印信息的開關(guān)狀態(tài)的同時(shí),獲取系統(tǒng)當(dāng)前CPU的占用率,這樣的技術(shù)方案與本發(fā)明技術(shù)方案的思路完全相同。
上述實(shí)施例是用于實(shí)現(xiàn)本發(fā)明技術(shù)方案的一個(gè)較佳實(shí)施例。在實(shí)際應(yīng)用中,也可以不必對(duì)打印信息進(jìn)行分級(jí),或者不必對(duì)每級(jí)打印信息都設(shè)置打印開關(guān),而是直接設(shè)置輸出打印信息時(shí)CPU占用率的門限值,然后獲取系統(tǒng)當(dāng)前CPU的占用率,將獲取的系統(tǒng)當(dāng)前CPU的占用率與設(shè)置的輸出打印信息時(shí)CPU占用率的門限值進(jìn)行比較,如果超過,則不輸出打印信息;否則,輸出打印信息。這樣的實(shí)施例與本發(fā)明提供的技術(shù)方案是完全一致的,同樣能夠達(dá)到根據(jù)系統(tǒng)當(dāng)前CPU的占用率來控制打印頻度的目的。
從上面的實(shí)施例可以看出,因此,本發(fā)明提供的這種控制打印頻度的方法,通過獲取系統(tǒng)當(dāng)前CPU的占用率,比較系統(tǒng)當(dāng)前CPU的占用率與設(shè)置的CPU占用率的門限值,并根據(jù)比較的結(jié)果來控制打印頻度,將CPU的占用率作為控制打印頻度的重要依據(jù),實(shí)現(xiàn)了對(duì)打印頻度的有效控制。利用本發(fā)明,系統(tǒng)的打印控制模塊可以實(shí)時(shí)根據(jù)系統(tǒng)當(dāng)前CPU的占用率來控制打印頻度,因而從根本上解決了系統(tǒng)CPU的占用率較高時(shí),因需要同時(shí)處理過多的打印信息而影響系統(tǒng)穩(wěn)定性的問題,保障了系統(tǒng)的穩(wěn)定性。
以上所述的具體實(shí)施例,對(duì)本發(fā)明的目的、技術(shù)方案和有益效果進(jìn)行了進(jìn)一步詳細(xì)說明,所應(yīng)理解的是,以上所述僅為本發(fā)明的具體實(shí)施例而已,并不用于限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種控制打印頻度的方法,其特征在于,該方法至少包括以下步驟A、設(shè)置輸出打印信息時(shí)中央處理器占用率的門限值,獲取系統(tǒng)當(dāng)前中央處理器的占用率;B、判斷系統(tǒng)當(dāng)前中央處理器的占用率是否超過設(shè)置的輸出打印信息時(shí)中央處理器占用率的門限值,如果超過,則不輸出打印信息;否則,輸出打印信息。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,在所述的步驟A之前進(jìn)一步包括根據(jù)打印信息的重要性,將打印信息按照優(yōu)先級(jí)順序進(jìn)行分級(jí)。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,步驟A中所述的設(shè)置輸出打印信息時(shí)中央處理器占用率的門限值包括按照打印信息的優(yōu)先級(jí)順序,分別設(shè)置輸出各級(jí)別打印信息時(shí)中央處理器占用率的門限值,且設(shè)置的輸出各級(jí)別打印信息時(shí)中央處理器占用率門限值的大小順序,與打印信息優(yōu)先級(jí)的高低順序相同。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述的步驟B包括判斷系統(tǒng)當(dāng)前中央處理器的占用率是否超過設(shè)置的輸出該級(jí)別打印信息時(shí)中央處理器占用率的門限值,如果超過,則不輸出該級(jí)別的打印信息;否則,輸出該級(jí)別的打印信息。
5.根據(jù)權(quán)利要求2所述的方法,其特征在于,在所述的步驟A之前進(jìn)一步包括按照打印信息的優(yōu)先級(jí)順序,分別設(shè)置每一級(jí)別打印信息的打印開關(guān)。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,在所述的步驟B之前進(jìn)一步包括系統(tǒng)的打印控制模塊收到打印信息,先根據(jù)打印信息的重要性判斷該打印信息的優(yōu)先級(jí)別,然后根據(jù)該打印信息的優(yōu)先級(jí)別判斷該級(jí)別打印開關(guān)的狀態(tài),如果該級(jí)別打印開關(guān)處于開啟狀態(tài),則執(zhí)行所述的獲取系統(tǒng)當(dāng)前中央處理器的占用率或者執(zhí)行步驟B;否則,結(jié)束本流程。
7.根據(jù)權(quán)利要求1所述的方法,其特征在于,步驟A中所述的獲取系統(tǒng)當(dāng)前中央處理器的占用率包括系統(tǒng)的打印控制模塊調(diào)用操作系統(tǒng)提供的接口函數(shù),并根據(jù)接口函數(shù)直接獲取系統(tǒng)當(dāng)前中央處理器的占用率。
全文摘要
本發(fā)明公開了一種控制打印頻度的方法,該方法至少包括以下步驟A、設(shè)置輸出打印信息時(shí)中央處理器占用率的門限值,獲取系統(tǒng)當(dāng)前中央處理器的占用率;B、判斷系統(tǒng)當(dāng)前中央處理器的占用率是否超過設(shè)置的輸出打印信息時(shí)中央處理器占用率的門限值,如果超過,則不輸出打印信息;否則,輸出打印信息。利用本發(fā)明,系統(tǒng)的打印控制模塊可以實(shí)時(shí)根據(jù)系統(tǒng)當(dāng)前CPU的占用率來控制打印頻度,因而從根本上解決了系統(tǒng)CPU的占用率較高時(shí),因需要同時(shí)處理過多的打印信息而影響系統(tǒng)穩(wěn)定性的問題,保障了系統(tǒng)的穩(wěn)定性。
文檔編號(hào)G06F9/50GK1790276SQ20041009882
公開日2006年6月21日 申請(qǐng)日期2004年12月13日 優(yōu)先權(quán)日2004年12月13日
發(fā)明者林諍, 董曉宏 申請(qǐng)人:華為技術(shù)有限公司