[發明專利]一種定時器實現方法及裝置有效
| 申請號: | 201010180908.7 | 申請日: | 2010-05-18 |
| 公開(公告)號: | CN101853047A | 公開(公告)日: | 2010-10-06 |
| 發明(設計)人: | 陳衛亮 | 申請(專利權)人: | 瑞斯康達科技發展股份有限公司 |
| 主分類號: | G06F1/04 | 分類號: | G06F1/04 |
| 代理公司: | 北京德琦知識產權代理有限公司 11018 | 代理人: | 謝安昆;宋志強 |
| 地址: | 100085 北京市海淀區*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 定時器 實現 方法 裝置 | ||
技術領域
本發明涉及定時器設計技術領域,特別涉及一種定時器實現方法及裝置。
背景技術
目前,在嵌入式實時系統開發中,常用的定時器有輪詢定時器和分類定時器兩種,下面分別對這兩種定時器進行簡單介紹。
圖1給出了現有輪詢定時器的設計示意圖。如圖1所示,在該輪詢定時器中有一個定時周期掃描器和一個子定時器隊列,其中,在定時周期掃描器中設置有掃描時間,子定時器隊列中有依次排列的T1、T2、T3、T4等多個子定時器,且子定時器隊列中的每一個子定時器與定時周期掃描器是同時啟動的:當定時周期掃描器開始掃描時,所有的子定時器開始進行定時操作。在每個掃描時間到達時,定時周期掃描器都會對子定時器隊列中的每個子定時器進行掃描,即,將掃描時間與子定時器的定時時間相比較,當兩者相等時,則視為子定時器超時,該子定時器會執行相應的超時處理,如響鈴等。如果該子定時器為可重置型定時器,則該子定時器會被重置到子定時器隊列中;如果該子定時器為一次性定時器,則該子定時器會從子定時器隊列中被刪除。
從上述分析可以看出,在輪詢定時器中,當在某個掃描時間內有多個子定時器同時超時時,則這多個子定時器需要同時執行各自對應的超時處理,因此,在某個時刻會造成中央處理單元(CPU)資源的占用率非常高。然而,在實際應用中,系統中的CPU資源是有限的,當某個時刻所需的CPU資源超過了系統中有限的CPU資源時,整個系統會崩潰,從而導致輪詢定時器定時功能失效,也就限制了輪詢定時器的使用。
圖2為現有分類定時器的設計示意圖。同現有輪詢定時器一樣,在分類定時器中,也有一個定時周期掃描器,但與輪詢定時器不同的是,在分類定時器中有子定時器隊列1、子定時器隊列2、子定時器隊列3等多個子定時器隊列,這些不同的子定時器隊列是將所有的子定時器依據一定的分類原則而得到的,分類原則不同,得到的子定時器隊列也就不同,圖2中給出的是按照定時周期的不同來對所有子定時器進行劃分而得到的。在分類定時器中,定時周期掃描器的掃描過程基本上同輪詢定時器,即,當定時周期掃描器開始掃描時,每個子定時器隊列中的每個子定時器都開始進行定時操作,且在每個掃描時間到達時,定時周期掃描器都會對每個子定時器隊列中的每個子定時器進行掃描。
在采用分類定時器時,當在某個掃描時間內有多個子定時器同時超時時,也會出現多個子定時器需要同時執行各自的超時處理,而每個子定時器在執行超時處理時都會占用系統的CPU資源,由于系統中的CPU資源是有限的,當多個子定時器同時執行超時處理所需的CPU資源超過了系統中有限的CPU資源時,整個系統會出現崩潰的問題。
目前,隨著業務支撐系統性能差異及業務需求不同,在業務功能開發中,常常有多個不同的子定時器同時執行超時處理,而當多個子定時器同時執行超時處理時,采用現有的各種定時器都可能會出現CPU資源占用率過高而導致系統崩潰的問題,從而導致不能完成定時器的定時功能。
發明內容
有鑒于此,本發明提供了一種定時器實現方法,能夠在降低CPU資源占用率的情況下實現定時器的定時功能,而且設計復雜度較低。
本發明還提供了一種定時器實現裝置,能夠在降低CPU資源占用率的情況下實現定時器的定時功能,而且設計復雜度較低。
為了達到上述目的,本發明提出的技術方案為:
一種定時器實現方法,應用于具有多個子定時器的定時器裝置中,該方法包括以下步驟:
創建對應有各定時時間的定時器超時桶,各定時器超時桶按定時時間由小到大的順序依次鏈接成一鏈表,所述定時時間為定時周期掃描器的最小掃描時間的整數倍;
若一子定時器的定時周期與一定時器超時桶對應有的定時時間相匹配,則將該子定時器鏈接到該定時器超時桶中;
當定時周期掃描器的掃描時間到達時,定時周期掃描器對定時時間與所述掃描時間相等的定時器超時桶所鏈接的子定時器進行超時處理。
一種定時器實現裝置,該裝置包括:創建模塊、選擇模塊和超時處理模塊,其中,
所述創建模塊,用于創建對應有各定時時間的定時器超時桶,各定時器超時桶按定時時間由小到大的順序依次鏈接成一鏈表,所述定時時間為定時周期掃描器的最小掃描時間的整數倍;
所述選擇模塊,用于若一子定時器的定時周期與一定時器超時桶對應有的定時時間相匹配,則將該子定時器鏈接到該定時器超時桶中;
所述超時處理模塊,用于當定時周期掃描器的掃描時間到達時,對定時時間與所述掃描時間相等的定時器超時桶所鏈接的子定時器進行超時處理。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于瑞斯康達科技發展股份有限公司,未經瑞斯康達科技發展股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201010180908.7/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:整合風扇的主機板
- 下一篇:基于傳感器網絡的污水曝氣監控系統





