[發明專利]提高定時器精度的方法有效
| 申請號: | 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.szxzyx.cn/pat/books/200710163912.0/2.html,轉載請聲明來源鉆瓜專利網。





