消息处理方式的自动切换方法技术

技术编号:3504259 阅读:208 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种消息处理方式的自动切换方法,涉及一种电数据数字处理中根据同一性比较结果进行处理的方法。针对中央处理器对于消息处理选择单一方式会降低中央处理器的处理效率的技术问题。本发明专利技术提出的技术方案为,首先计算出中央处理器单位时间能够处理消息的最大个数,然后计算出基准值A和B,当单位时间内处理消息个数大于A则将中央处理器处理方式切换到定时轮询方式,当单位时间内处理消息个数小于B,则将中央处理器处理方式切换到中断方式。本发明专利技术提出的消息处理方式的自动切换方法能够动态跟踪系统处理的消息状况,及时调整中央处理器的工作方式,以应对系统所处的复杂环境,提升系统的处理效率。

【技术实现步骤摘要】

本专利技术涉及一种电数据数字处理的方法,特别是指根据同一性比较结果进行处理的方法。
技术介绍
网络设备的数据处理器件,包括ASIC芯片、网络处理器等。数据处理器件负责接收各种数据、协议和其他信息,然后将需要进行处理的数据送到中央处理器(CPU)进一步分析处理。数据处理器件发送给中央处理器的信息通过消息机制来实现,比如数据消息、新地址消息、错误消息等。中央处理器对数据处理器件消息的处理有两种方式中断方式和定时轮询方式。中断方式是指中央处理器对数据处理器件初始化后,配置数据处理器件以中断方式上报需要处理的各种消息,一般数据处理器件通过一根外部中断线连接到中央处理器的相应中断电路,同时开启中央处理器的中断接收,在收到中断时进入相应中断服务程序进行处理。当数据处理器件有任何需要上报的消息都会向中央处理器发出中断申请,中央处理器进入中断服务程序后,读取数据处理器件的中断状态寄存器,决定是何种类型的中断,再进入具体的中断处理例程。在中断方式中,中央处理器是被动的,对数据处理器件消息的处理取决于数据处理器件向中央处理器发出的中断信号。定时轮询方式是指中央处理器对数据处理器件初始化后,配置数据处理器件关闭所有需要上报的中断,数据处理器件处于被动状态。中央处理器启动定时轮询机制,在每个固定时间间隔到来时,主动读取数据处理器件的消息队列,如果没有需要处理的消息,则立即返回;如果有一个或者多个需要处理的消息,则处理消息后返回。中断处理方式在需要处理的消息较少时,能有效节省中央处理器的处理时间,及时响应数据处理器件的消息处理请求;而定时轮询方式在有较多需要处理的消息的情况下,由中央处理器主动读取数据处理器件的消息队列,可以同时处理多个消息,与中断方式相比能够节省多次中断占用的中央处理器切换时间。上述两种处理方式都存在明显的缺陷中断方式下,当数据处理器件接收的信息足够多时,需要发送给中央处理器的消息会达到这样一种状态中央处理器刚处理完一个消息返回时,又一个数据处理器件发出中断申请迫使中央处理器又进入中断状态,如此反复,中央处理器无法再进行其他的事务处理,此时中央处理器的占用率会很高。定时轮询方式下,当数据处理器件接收的信息很少时,中央处理器也必须不断去读取数据处理器件的消息队列,以判断是否有需要处理的消息,这会降低中央处理器的处理速度。
技术实现思路
本专利技术的目的是提出一种,使中央处理器能够选择合理的方式处理消息当数据处理器件有较多消息需要处理时,中央处理器自动将处理方式切换到定时轮询方式;当需要处理的消息较少时,中央处理器自动将处理方式切换到中断方式;以提升中央处理器的处理效率。本专利技术提出的中央处理器包括以下步骤(1)将中央处理器的处理方式默认配置为中断方式;(2)由消息处理计算模块计算出当前单位时间内中央处理器实际处理的消息个数;(3)将消息处理计算模块的计数值和设定的基准值A进行比较,若消息处理计算模块的计数值大于等于A,则切换模块将中央处理器的处理方式改为定时轮询方式并进入步骤(4);若消息处理计算模块的计数值小于基准值A,则中央处理器的处理方式保持中断方式并返回步骤(2);(4)由消息处理计算模块计算当前单位时间内中央处理器实际处理的消息个数;(5)将消息处理计算模块的计数值和设定的基准值B进行比较,若消息处理计算模块的计数值大于等于基准值B,则中央处理器的处理方式保持定时轮询方式并返回步骤(4);若消息处理计算模块的计数值小于基准值B,则切换模块将中央处理器的处理方式改为中断方式并返回步骤(2)。其中,所述基准值A是由以下公式计算出来A=MAX×(1-0.618),其中MAX为中央处理器单位时间能处理的最大消息个数。其中,所述基准值B是由以下公式计算出来B=A×0.618。其中,所述的单位时间为1秒。本专利技术的优点是能够动态跟踪系统处理消息的状况、及时调整中央处理器的工作方式以应对系统所处的复杂环境,提升系统的处理效率,同时本专利技术还提供了一种对既定系统处理能力的评估方法。附图说明图1为本专利技术优选实施例处理流程图。具体实施例方式本专利技术优选实施例处理流程如图1所示,切换模块依据消息处理计算模块的计数值与基准值比较,以决定中央处理器处理消息的方式是保持现有工作方式还是切换到另外一个方式。下面结合图1所示,对本专利技术进行具体说明对于一个既定系统,中央处理器的处理能力、需要处理的事务、资源消耗等都已确定,不确定的因素是外界消息的驱动带来的中央处理器占用。因此为评估系统的处理能力,要为系统的正常运行模拟一个环境,并配置系统工作在中断方式,模拟中央处理器收到突发消息至中央处理器的利用率为100%,记录中央处理器能够处理的消息个数,多次测试取得平均值,就可以得到中央处理器单位时间内能够处理的最大消息个数MAX。另外,本专利技术根据MAX设定两个基准值A和B,其中,基准值A的计算公式为A=MAX×(1-0.618);基准值B的计算公式为B=A×0.618。这里,基准值A和B是一般的经验值,可根据具体情况而定。本实施例中单位时间选择1秒,消息处理计算模块使用计数器。本专利技术具体包括以下步骤第一步、配置中央处理器工作在中断方式,并初始化各数据处理器件,即将消息处理计算模块的计数值messageCounter清零、将时间窗口messageTimer清零,时间窗口由系统自动增加。第二步、数据处理器件接收到消息,把需要处理的消息放入中央处理器队列,并请求中央处理器中断处理。中央处理器每处理一个消息后,messageCounter自动加1。如果messageTimer≥1秒,清零messageTimer和messageCounter并触发其重新开始计数。由此,消息处理计算模块能够计算出1秒钟内中央处理器处理的消息个数。第三步、将messageCounter和基准值A进行比较,若1秒钟内messageCounter≥A,说明此时处理的消息已经过多,需要从中断方式切换到定时轮询方式,以提升中央处理器的消息处理效率。于是中央处理器启动定时轮询处理机制,关闭数据处理器件的中断功能,并进入第四步;数据处理器件的中断关闭后,仍然接收消息并处理为各种消息,但只把消息放入中央处理器队列,不再请求中断,切换模块将中央处理器的消息处理方式改为定时轮询方式,由中央处理器定时轮询消息队列,取出消息处理;若在时间窗口内messageCounter<A,认为要处理的消息比较少,中央处理器的处理方式保持中断方式,并返回第二步。第四步、中央处理器每处理一个消息后,messageCounter自动加1。如果messageTimer≥1秒,清零messageTimer和messageCounter并触发其重新开始计数。由此,消息处理计算模块能够计算出1秒钟内中央处理器处理的消息个数。第五步、将messageCounter和基准值B进行比较,若1秒钟内messageCounter≥B,说明此时处理的消息依旧过多,中央处理器的处理方式保持定时轮询方式,并返回第四步;若1秒钟内messageCounter<B,说明此时处理的消息很少,切换模块将中央处理器的处理方式改为中断方式,并返回第二步。权利要求1.一种,其特征在于,该方法包括以下步骤(1)将中央处理器的处理方式默认配置为中断方式;本文档来自技高网
...

【技术保护点】
一种消息处理方式的自动切换方法,其特征在于,该方法包括以下步骤:(1)将中央处理器的处理方式默认配置为中断方式;(2)由消息处理计算模块计算出当前单位时间内中央处理器实际处理的消息个数;(3)将消息处理计算模块的计数值和设定的基准值A进行比较,若消息处理计算模块的计数值大于等于A,则切换模块将中央处理器的处理方式改为定时轮询方式并进入步骤(4);若消息处理计算模块的计数值小于基准值A,则中央处理器的处理方式保持中断方式并返回步骤(2);(4)由消息处理计算模块计算当前单位时间内中央处理器实际处理的消息个数;(5)将消息处理计算模块的计数值和设定的基准值B进行比较,若消息处理计算模块的计数值大于等于基准值B,则中央处理器的处理方式保持定时轮询方式并返回步骤(4);若消息处理计算模块的计数值小于基准值B,则切换模块将中央处理器的处理方式改为中断方式并返回步骤(2)。

【技术特征摘要】

【专利技术属性】
技术研发人员:陈晓
申请(专利权)人:中兴通讯股份有限公司
类型:发明
国别省市:94[中国|深圳]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术
  • 暂无相关专利