[发明专利]一种循环软件定时器实现方法有效
申请号: | 201711282007.7 | 申请日: | 2017-12-07 |
公开(公告)号: | CN109901879B | 公开(公告)日: | 2020-10-20 |
发明(设计)人: | 陈晓科 | 申请(专利权)人: | 普天信息技术有限公司 |
主分类号: | G06F9/32 | 分类号: | G06F9/32;G06F1/3234 |
代理公司: | 北京德琦知识产权代理有限公司 11018 | 代理人: | 闫焕娟;宋志强 |
地址: | 100080 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 循环 软件 定时器 实现 方法 | ||
本发明提供了一种循环软件定时器实现方法,该方法中,根据确定的循环长度和各个定时器的定时构造区分多层存放的定时器,位于同一竖列位置且具有定时器的各个位置均链接到第一层的对应竖列位置上。由第一层的始端开始查询第一层的各位置是否具有定时器,若查询到第一层的当前位置有定时器,或当前位置位于同一竖列位置上具有定时器,则将位于该同一竖列上的所有位置的层间距均减1,从而使得位于同一竖的具有定时器的位置逐层下落,只在第一层进行查询。通过该方法,只查询第一层,而不需要在各层进行查询,也无需将所有定时器都查询一遍。可大大减少查询时间,降低计算量,有效降低中央处理器CPU的损耗。
技术领域
本发明涉及定时器技术领域,特别涉及一种循环软件定时器实现方法。
背景技术
在网络设备中,例如路由器、数据中心、基站以及核心网等,都会用到大规模定时器,当这些大规模定时器采用硬件定时,由于硬件中断会引起任务切换开销,在linux下一个中断开销有几十微妙,是会严重降低其性能,因此,在大规模定时器上一般采用软件定时器。
现有技术中采用的软件定时器通常采用简单定时法或单队列定时法,也就是对所有的定时器均采用一个队列进行控制。根据设定的时间长度,按照从小到大的原则插入到队列中对应位置,当每个定时周期到达时,先将该队列头的定时器减1,然后判断结果是否为0,如果为0,则表示定时的时间到了,如果不为0,则继续等待下一个定时周期。
对于现有技术中的软件定时器的实现方法,提出了两种高性能循环软件定时器的实现方法。
一种是采用两个队列长度均为N的循环队列,定时周期为T,队列a放定时时长小于N*T的定时器,队列b放定时时长大于N*T的定时器。如此,每个定时周期到达时,只查两个队列同一位置p下的定时器,对队列a中位置p下的定时器直接触发定时,对队列b中位置p下的每个定时器减1,并和0进行比较,等于0的则触发定时。
另一种是采用多队列定时,通常根据定时等级划分队列,例如,队列1到队列n有的是分成:毫秒级、1秒级、10秒级、100秒级、1000秒级,而有的是以最小定时周期T为单位,将队列1到队列n分成:T、T*(n/m)、T*(n/m)*(n/m)、T*(n/m)*(n/m)*(n/m)……这样,每个定时器从其所属最大的队列随着时间的消耗依次向小一级队列转移。
上述的实现方法,第一种方法虽然具有较高的性能,但是,只有长的队列才会体现较高的性能,而且,当队列b中的定时器太多时容易导致性能下降。而第二种实现方法中多队列定时器会导致定时器堆积和计算量大。
针对上述技术问题,提出了对高性能循环软件定时器的实现方法新的要求,不仅能够实现高性能的大规模定时,又能够适应小的内存空间,降低中央处理器的消耗。
发明内容
本发明的一个目的是提供一种循环软件定时器实现方法,该循环软件定时器实现方法占用的内存空间小,并且大大减少查询时间和计算量,有效降低中央处理器的消耗。
本发明提供了一种循环软件定时器实现方法,所述方法包括:
S1、确定定时颗粒和循环长度;
S2、根据所述循环长度和定时器的定时构造分多层存放的定时器,每个所述定时器存放在对应层的对应位置;
S3、根据所述循环长度确定每一层均具有N个放置定时器的位置,位于同一竖列位置且具有定时器的各个位置均链接到第一层的对应竖列位置;
S4、由所述第一层的始端开始查询所述第一层的各位置是否具有定时器,若查询到所述第一层的当前位置有定时器,或与当前位置位于同一竖列的其他各层位置上具有定时器,则将位于该同一竖列上的所有位置的层间距均减1,所述层间距指的是所述第一层之上各层与所述第一层间隔的层数;
S5、查询位于所述第一层的当前位置的下一位置,至查询到所述第一层的末端位置后,执行步骤S4。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于普天信息技术有限公司,未经普天信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711282007.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种类脑计算芯片及计算设备
- 下一篇:一种spinlock硬件电路及电子设备