一种控制打印频度的方法

文档序号:6443961阅读:178来源:国知局
专利名称:一种控制打印频度的方法
技术领域
本发明涉及打印频度的控制技术,特别涉及一种控制打印频度的方法。
背景技术
在许多通信软件模块中,打印都是非常重要的。通过打印出来的信息,我们可以方便的对系统中的故障进行定位;同时,打印信息对我们观察代码的运行流程也很有帮助。但是,如果对打印频度控制不好,同时需要打印的信息过多,使打印频度达到很高,将会影响到系统的稳定性。
例如,当系统业务繁忙时,中央处理器(CPU)的占用率都比较高,如果此时再有过多的打印信息需要同时进行处理,CPU将暂时中断对某些优先级别较低的业务的处理,切换为对某些优先级别较高的打印信息的处理,等处理完打印信息以后,再切换回来对业务进行处理。当CPU的占用率较高时,这种切换过程进行的非常频繁,等待CPU处理的业务也将会有很多。因此,当CPU的占用率较高时,很多业务都不可能被及时处理,这样也就必将会影响到系统的稳定性,使系统的稳定性降低,情况严重时还可能会使整个系统发生瘫痪。
目前,主要采用将打印信息分级以及对每一级别的打印信息设置打印开关的方式来控制打印频度。在打印时,根据打印信息的优先级顺序和该级别打印信息的打印开关状态,优先输出优先级别较高的打印信息。
一般情况下,现有技术中根据打印信息的重要性将打印信息分为ERROR、WARNING、INFO三个优先级别。其中,ERROR级别打印信息的优先级别最高,INFO级别打印信息的优先级别最低。优先级别高的信息,在打印时打印出来的信息最详细,主要用于对系统运行时出现的故障进行诊断和定位;优先级别低的信息,在打印时只打印出较大概的信息,主要用于打印一些调试信息,对系统的运行状态进行调试。
另外,为了更好的控制打印频度,现有技术中还对每一级别的打印信息都设置一个独立的打印开关,只有该级别打印信息的打印开关处于开启状态时,该级别的打印信息才允许被输出。
采用打印信息分级方式只能静态的控制打印频度,通过打印开关的方式虽然可以动态的控制各级别打印信息的开启或关闭,但还是缺少一定的灵活性。尤为重要的是,现有技术采用将打印信息分级方式和设置打印开关的方式来控制打印频度,并没有将打印频度与系统当前CPU的占用率联系在一起,也就是说,现有技术并没有将CPU的占用率作为控制打印频度的重要依据,这样也就无法从根本上解决系统CPU的占用率较高时,因需要同时处理过多的打印信息而影响系统稳定性的问题。

发明内容
有鉴于此,本发明的主要目的在于提供一种控制打印频度的方法,以根据系统当前CPU的占用率来控制打印频度。
为达到上述目的,本发明提供了一种控制打印频度的方法,关键在于,该方法至少包括以下步骤A、设置输出打印信息时中央处理器占用率的门限值,获取系统当前中央处理器的占用率;B、判断系统当前中央处理器的占用率是否超过设置的输出打印信息时中央处理器占用率的门限值,如果超过,则不输出打印信息;否则,输出打印信息。
上述方案中,在所述的步骤A之前进一步包括根据打印信息的重要性,将打印信息按照优先级顺序进行分级。
上述方案中,步骤A中所述的设置输出打印信息时中央处理器占用率的门限值包括按照打印信息的优先级顺序,分别设置输出各级别打印信息时中央处理器占用率的门限值,且设置的输出各级别打印信息时中央处理器占用率门限值的大小顺序,与打印信息优先级的高低顺序相同。
上述方案中,所述的步骤B包括判断系统当前中央处理器的占用率是否超过设置的输出该级别打印信息时中央处理器占用率的门限值,如果超过,则不输出该级别的打印信息;否则,输出该级别的打印信息。
上述方案中,在所述的步骤A之前进一步包括按照打印信息的优先级顺序,分别设置每一级别打印信息的打印开关。在所述的步骤B之前进一步包括系统的打印控制模块收到打印信息,先根据打印信息的重要性判断该打印信息的优先级别,然后根据该打印信息的优先级别判断该级别打印开关的状态,如果该级别打印开关处于开启状态,则执行所述的获取系统当前中央处理器的占用率或者执行步骤B;否则,结束本流程。
上述方案中,步骤A中所述的获取系统当前中央处理器的占用率包括系统的打印控制模块调用操作系统提供的接口函数,并根据接口函数直接获取系统当前中央处理器的占用率。
因此,本发明提供的这种控制打印频度的方法,通过获取系统当前CPU的占用率,比较系统当前CPU的占用率与设置的CPU占用率的门限值,并根据比较的结果来控制打印频度,将CPU的占用率作为控制打印频度的重要依据,实现了对打印频度的有效控制。利用本发明,系统的打印控制模块可以实时根据系统当前CPU的占用率来控制打印频度,因而从根本上解决了系统CPU的占用率较高时,因需要同时处理过多的打印信息而影响系统稳定性的问题,保障了系统的稳定性。


图1为本发明控制打印频度总体技术方案的方法流程图;图2为依照本发明一个较佳实施例控制打印频度的方法流程图。
具体实施例方式
为使本发明的目的、技术方案和优点更加清楚明白,以下举实施例,并参照附图,对本发明进一步详细说明。
本发明的核心内容是通过获取系统当前CPU的占用率,比较系统当前CPU的占用率与设置的CPU占用率的门限值,并根据比较的结果来控制打印频度,将CPU的占用率作为控制打印频度的重要依据,实现对打印频度的有效控制。
如图1所示,图1为本发明控制打印频度总体技术方案的方法流程图,该流程图包括以下步骤步骤101设置输出打印信息时CPU占用率的门限值,获取系统当前CPU的占用率;步骤102判断系统当前CPU的占用率是否超过设置的输出打印信息时CPU占用率的门限值,如果超过,则不输出打印信息;否则,输出打印信息。
在具体实施的过程中,本发明的技术方案可以结合现有技术中将打印信息进行分级,以及对每一级别的打印信息都设置打印开关的方式来控制打印频度。在这种情况下,步骤101设置CPU占用率的门限值时,就应当根据打印信息的级别,对每级打印信息分别设置输出该级别打印信息时CPU占用率的门限值。
例如,设置输出ERROR级别的打印信息时,对应CPU占用率的门限值为x%。也就是说,当系统CPU的占用率超过x%时,将不再输出优先级别为ERROR的打印信息;而当系统CPU的占用率小于或等于x%时,将输出优先级别为ERROR的打印信息。同理设置输出WARNING和INFO级别的打印信息时,对应CPU占用率的门限值分别为y%和z%,其控制方式同ERROR级别的类似,这里不在赘述。
另外,因为打印信息的优先级别ERROR、WARNING和INFO是逐渐降低的,为保证较高优先级别的打印信息能够尽可能被输出,在设置门限值时,应当使设置的输出各级别打印信息时CPU占用率门限值的大小顺序,与打印信息优先级的高低顺序相同,即x%>y%>z%。
步骤101中所述的获取系统当前CPU的占用率,是系统的打印控制模块调用操作系统提供的接口函数,并根据接口函数直接获取系统当前CPU的占用率。例如,系统的打印控制模块调用操作系统提供的接口函数UINT32VOS_GetCPULoad(UINT8*pCPULoad),通过该接口函数中的出口参数pCPULoad就可以直接得到系统当前CPU的占用率。
下面将本发明的技术方案与现有技术结合起来作为本发明的一个较佳实施例,说明本发明的技术方案具体是如何实施的。
如图2所示,图2为依照本发明一个较佳实施例控制打印频度的方法流程图,该流程图包括以下步骤步骤201系统的打印控制模块收到打印信息以后,首先判断该打印信息的优先级别是否是ERROR级别,如果是ERROR级别,则执行步骤202;否则,执行步骤205;步骤202判断ERROR级别打印开关的开关状态,如果ERROR级别打印开关处于开启状态,则执行步骤203;否则,执行步骤214;步骤203获取系统当前CPU的占用率,判断系统当前CPU的占用率是否超过x%,如果没有超过,则执行步骤204,否则执行步骤214;步骤204输出打印信息,结束本流程;步骤205判断该打印信息的优先级别是否是WARNING级别,如果是WARNING级别,则执行步骤206;否则,执行步骤209;;步骤206判断WARNING级别打印开关的开关状态,如果WARNING级别打印开关处于开启状态,则执行步骤207;否则,执行步骤214;步骤207获取系统当前CPU的占用率,判断系统当前CPU的占用率是否超过y%,如果没有超过,则执行步骤208,否则执行步骤214;步骤208输出打印信息,结束本流程;步骤209判断该打印信息的优先级别是否是INFO级别,如果是INFO级别,则执行步骤210;否则,执行步骤213;;步骤210判断INFO级别打印开关的开关状态,如果INFO级别打印开关处于开启状态,则执行步骤211;否则,执行步骤214;步骤211获取系统当前CPU的占用率,判断系统当前CPU的占用率是否超过z%,如果没有超过,则执行步骤212,否则执行步骤214;步骤212输出打印信息,结束本流程;步骤213不输出打印信息,结束本流程;步骤214不输出打印信息,结束本流程。
在本发明所举的这个较佳实施例中,系统的打印控制模块是在判断打印信息的优先级别和该级别打印信息的开关状态以后,再获取系统当前CPU的占用率的。在实际应用中,系统的打印控制模块可以在判断打印信息的优先级别和该级别打印信息的开关状态之前,也可以在判断打印信息的优先级别和该级别打印信息的开关状态的同时,获取系统当前CPU的占用率,这样的技术方案与本发明技术方案的思路完全相同。
上述实施例是用于实现本发明技术方案的一个较佳实施例。在实际应用中,也可以不必对打印信息进行分级,或者不必对每级打印信息都设置打印开关,而是直接设置输出打印信息时CPU占用率的门限值,然后获取系统当前CPU的占用率,将获取的系统当前CPU的占用率与设置的输出打印信息时CPU占用率的门限值进行比较,如果超过,则不输出打印信息;否则,输出打印信息。这样的实施例与本发明提供的技术方案是完全一致的,同样能够达到根据系统当前CPU的占用率来控制打印频度的目的。
从上面的实施例可以看出,因此,本发明提供的这种控制打印频度的方法,通过获取系统当前CPU的占用率,比较系统当前CPU的占用率与设置的CPU占用率的门限值,并根据比较的结果来控制打印频度,将CPU的占用率作为控制打印频度的重要依据,实现了对打印频度的有效控制。利用本发明,系统的打印控制模块可以实时根据系统当前CPU的占用率来控制打印频度,因而从根本上解决了系统CPU的占用率较高时,因需要同时处理过多的打印信息而影响系统稳定性的问题,保障了系统的稳定性。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种控制打印频度的方法,其特征在于,该方法至少包括以下步骤A、设置输出打印信息时中央处理器占用率的门限值,获取系统当前中央处理器的占用率;B、判断系统当前中央处理器的占用率是否超过设置的输出打印信息时中央处理器占用率的门限值,如果超过,则不输出打印信息;否则,输出打印信息。
2.根据权利要求1所述的方法,其特征在于,在所述的步骤A之前进一步包括根据打印信息的重要性,将打印信息按照优先级顺序进行分级。
3.根据权利要求2所述的方法,其特征在于,步骤A中所述的设置输出打印信息时中央处理器占用率的门限值包括按照打印信息的优先级顺序,分别设置输出各级别打印信息时中央处理器占用率的门限值,且设置的输出各级别打印信息时中央处理器占用率门限值的大小顺序,与打印信息优先级的高低顺序相同。
4.根据权利要求3所述的方法,其特征在于,所述的步骤B包括判断系统当前中央处理器的占用率是否超过设置的输出该级别打印信息时中央处理器占用率的门限值,如果超过,则不输出该级别的打印信息;否则,输出该级别的打印信息。
5.根据权利要求2所述的方法,其特征在于,在所述的步骤A之前进一步包括按照打印信息的优先级顺序,分别设置每一级别打印信息的打印开关。
6.根据权利要求5所述的方法,其特征在于,在所述的步骤B之前进一步包括系统的打印控制模块收到打印信息,先根据打印信息的重要性判断该打印信息的优先级别,然后根据该打印信息的优先级别判断该级别打印开关的状态,如果该级别打印开关处于开启状态,则执行所述的获取系统当前中央处理器的占用率或者执行步骤B;否则,结束本流程。
7.根据权利要求1所述的方法,其特征在于,步骤A中所述的获取系统当前中央处理器的占用率包括系统的打印控制模块调用操作系统提供的接口函数,并根据接口函数直接获取系统当前中央处理器的占用率。
全文摘要
本发明公开了一种控制打印频度的方法,该方法至少包括以下步骤A、设置输出打印信息时中央处理器占用率的门限值,获取系统当前中央处理器的占用率;B、判断系统当前中央处理器的占用率是否超过设置的输出打印信息时中央处理器占用率的门限值,如果超过,则不输出打印信息;否则,输出打印信息。利用本发明,系统的打印控制模块可以实时根据系统当前CPU的占用率来控制打印频度,因而从根本上解决了系统CPU的占用率较高时,因需要同时处理过多的打印信息而影响系统稳定性的问题,保障了系统的稳定性。
文档编号G06F9/50GK1790276SQ20041009882
公开日2006年6月21日 申请日期2004年12月13日 优先权日2004年12月13日
发明者林诤, 董晓宏 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1