[发明专利]提高定时器精度的方法有效
申请号: | 200710163912.0 | 申请日: | 2007-10-10 |
公开(公告)号: | CN101141514A | 公开(公告)日: | 2008-03-12 |
发明(设计)人: | 卢勤元;安东岳 | 申请(专利权)人: | 中兴通讯股份有限公司 |
主分类号: | H04M3/24 | 分类号: | H04M3/24;H04Q3/00 |
代理公司: | 北京汇泽知识产权代理有限公司 | 代理人: | 张颖玲 |
地址: | 518057广东省深圳市南山*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 提高 定时器 精度 方法 | ||
技术领域
本发明涉及计算机或通讯领域内的定时器管理,特别是涉及一种提高定时器精度的方法。
背景技术
计算机或通讯技术领域内,很多应用场合都需要用到定时器来完成自动控制、定时状态切换或延时处理等功能。定时器的精度是影响这些应用效果的重要因素之一,尤其是在通讯领域用户呼叫过程中,必须通过用户账户上的余额设置用户可以呼叫的总时长,以避免用户呼叫过程出现账户透支或者提前中断用户呼叫等现象。一般,呼叫时长的控制方法就是通过计算用户可以呼叫的总时长来设置相应的定时器,如果用户呼叫的总时长超出了定时器设置的时长,则用户呼叫将被强行中断。基于此,定时器的精度显然会直接影响到用户和通讯运营商的实际利益,如果控制不好,甚至可能导致一些法律上的纠纷。
现有技术中,如图1所示,定时器一般由一个条件循环来实现,每一次循环过程称为一个定时器计时周期,定时器计时周期包括定时器操作时长和休眠时长。其中,所述定时器操作时长内完成相关定时器操作,例如对计时参数加一或减一操作、用户余额查询操作、定时提醒操作等;所述休眠时长为补偿定时器操作时长与理论定时器计时周期的差值而设置的时间段,定时器持续所述循环操作,直至计时参数到达某个预定值,或从某个预定值减至0后定时器计时完毕,执行定时器到达操作。
如果理论定时器计时周期与实际定时器计时周期存在偏差,例如由于定时器操作时长随实际操作的具体情况而发生变化等,则会由于定时器计时周期的循环累积而使所存在的偏差逐渐放大。对此问题,现有技术中采用的一种解决办法为:在每个定时器计时周期首先获取系统时间点t1,然后在完成定时器操作后,获取系统时间点t2,将t2减去t1即为实际定时器操作的时间长度,简称为操作时长,将理论定时器计时周期Tc减去操作时长,得到定时器执行休眠操作的时间长度为Tc-(t2-t1),简称为休眠时长,定时器休眠该休眠时长后,进入下一个定时器计时周期。
现有解决方法中,由于获取时间点t1和t2的系统调用都需要消耗一定的时间,且一般的休眠操作的精度大概也只有10毫秒左右,故实际所得到的定时器计时周期也不是真正等于理论定时器计时周期,二者之间的误差也会随着循环次数的增加而逐渐增大,如果循环次数很大,则定时器的累积误差也会很大,由此定时器的精度难以保证。
发明内容
有鉴于此,本发明的主要目的在于提供一种提高定时器精度的方法,解决现有技术中实际定时器计时周期与理论定时器计时周期之间存在的误差会随着循环次数增加而逐渐累积的问题。
为达到上述目的,本发明的技术方案是这样实现的:
一种提高定时器精度的方法,所述方法包括以下步骤:A、对比定时器计时参考点与相应的系统时间参考点;B、根据对比定时器计时参考点与相应的系统时间参考点所获得的差值,休眠补偿休眠时长,且调整下一定时器计时周期内的休眠时长。
其中,步骤A中所述对比为:在每个定时器计时周期内执行所述对比操作;或间隔至少一个定时器计时周期执行所述对比操作。
本发明的提高定时器精度的方法步骤B中,所述调整定时器计时周期为:如果定时器计时参考点早于相应的系统时间参考点的时长超过预定阈值,则定时器休眠补偿休眠时长,且增大下一个定时器计时周期内的休眠时长,如果定时器参考点晚于相应的系统时间参考点,则减小下一个定时器计时周期内的休眠时长。
其中,所述增大或减小下一个定时器计时周期内的休眠时长的幅度为预定阈值长度。
或者,所述增大下一个定时器计时周期的休眠时长的幅度为:对定时器计时参考点早于相应的系统时间参考点的时间段除以预定阈值的商取整,以取整后的值乘以预定阈值长度作为增大幅度;
减小下一个定时器计时周期内的休眠时长的幅度为:对定时器计时参考点晚于相应的系统时间参考点的时间段除以预定阈值的商取整,以取整后加一的值乘以预定阈值长度作为减小幅度。
本发明提高定时器精度的方法在步骤A之前,进一步包括步骤:执行休眠操作。
其中,所述预定阈值为定时器计时周期长度的十分之一。
本发明提出的提高定时器精度的方法,具有以下优点:由于本发明间隔一定定时器计时周期,对比定时器计时参考点与相应的系统时间参考点,以此调整定时器计时周期,实际上定时器不断根据系统时间调整执行补偿休眠操作和调整休眠时长,因此始终保证与系统时间同步,能够避免实际定时器计时周期与理论定时器计时周期之间存在的误差随着循环次数增加而逐渐累积的问题,提高定时器计时精度。
附图说明
图1为现有技术中定时器工作流程图;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中兴通讯股份有限公司,未经中兴通讯股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200710163912.0/2.html,转载请声明来源钻瓜专利网。