[發明專利]定時器實例的添加方法及裝置在審
| 申請號: | 201911421755.8 | 申請日: | 2019-12-31 |
| 公開(公告)號: | CN113127104A | 公開(公告)日: | 2021-07-16 |
| 發明(設計)人: | 徐佳宏;李銀;李威青;劉彬 | 申請(專利權)人: | 深圳市茁壯網絡股份有限公司 |
| 主分類號: | G06F9/448 | 分類號: | G06F9/448 |
| 代理公司: | 深圳市深佳知識產權代理事務所(普通合伙) 44285 | 代理人: | 常忠良 |
| 地址: | 518004 廣東省*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 定時器 實例 添加 方法 裝置 | ||
本發明提供了一種定時器實例的添加方法及裝置,該方法包括:基于添加請求中包含的喚醒時間、當前系統時間和基準時間,計算偏移時間差,將偏移時間差除以數組元素個數,得到第一余數值,確定數組指針的當前位置,依據當前位置、第一余數值和數組元素個數,確定第一偏移量,依據第一偏移量,移動數組指針,并在數組指針移動至第一偏移量對應的目標數組元素時,將新的定時器實例添加至目標數據元素中。可見,通過確定數組指針移動的偏移量,基于該偏移量移動數組指針,在數組指針移動至偏移量對應的目標數組元素時,直接將新的定時器實例添加至目標數組元素中,而無需遍歷整個數組,從而縮短定時器實例的添加時間,提高定時器實例的添加效率。
技術領域
本發明涉及軟件定時技術領域,尤其涉及一種定時器實例的添加方法及裝置。
背景技術
諸如鬧鐘、日程提醒之類的包含有定時喚醒邏輯的應用程序是使用較為廣泛的一種應用程序,在這類應用程序中,實現定時喚醒定時器實例即稱為定時,而實現定時,需將定時器實例添加至定時器管理器中。
現有技術中,定時器管理器通過隊列管理各個定時器實例,隊列中的各個定時器實例按照喚醒時間進行排序,最近喚醒的定時器實例處于隊列的隊首,最晚喚醒時間處于隊列的隊尾,當新的定時器實例添加至定時器管理器中的隊列時,首先需遍歷有序的隊列,確定新的定時器實例的喚醒時間在隊列的各個定時器實例的喚醒時間中的排序順序,即確定新的定時器實例的添加位置,再將該新發的定時器實例添加至所確定的添加位置中。通過該定時器實例的添加方法,導致添加定時器實例的時間過長,效率低。
發明內容
本發明提供了一種定時器實例的添加方法及裝置,目的在于解決添加定時器實例的時間過長、效率低的問題。
為了實現上述目的,本發明提供了以下技術方案:
一種定時器實例的添加方法,應用于定時器管理器,所述定時器管理器通過數組管理多個定時器實例,所述數組包括多個數組元素,每一個所述數組元素為一個定時器實例集合,所述方法包括:
響應于新的定時器實例的添加請求,獲取當前系統時間和所述定時器管理器當前的基準時間;
依據所述添加請求中包含的喚醒時間、所述當前系統時間和所述基準時間,計算所述喚醒時間相對所述基準時間的偏移時間差;
將所述偏移時間差除以所述數組中包括的數組元素個數,得到第一商值和第一余數值,并將所述第一商值作為所述新的定時器實例的計數值;
確定所述數組的數組指針的當前位置;所述當前位置用于指示所述數組指針當前所指向的數組元素的標識信息;
依據所述數組指針的當前位置、所述第一余數值和所述數組元素個數,確定所述數組指針的第一偏移量;
依據所述第一偏移量,移動所述數組指針,并在所述數組指針移動至所述第一偏移量對應的目標數組元素時,將所述新的定時器實例添加至所述目標數組元素中。
上述的方法,可選的,所述依據所述添加請求中包含的喚醒時間、所述當前系統時間和所述基準時間,計算所述喚醒時間相對所述基準時間的偏移時間差,包括:
依據所述添加請求中包含的喚醒時間和所述當前系統時間,計算所述新的定時器實例的實際喚醒時間;
計算所述實際喚醒時間和所述基準時間之間的差值,將所述實際喚醒時間和所述基準時間之間的差值按預設換算規則進行換算,得到所述喚醒時間相對所述基準時間的偏移時間差。
上述的方法,可選的,所述依據所述當前位置、所述第一余數值和所述數組元素個數,確定所述數組指針的第一偏移量,包括:
對所述第一余數值和所述當前位置進行求和計算,得到第一和值;
將所述第一和值除以所述數組元素個數得到的余數作為所述數組指針的第一偏移量。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于深圳市茁壯網絡股份有限公司,未經深圳市茁壯網絡股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201911421755.8/2.html,轉載請聲明來源鉆瓜專利網。





