[发明专利]定时器实例的添加方法及装置在审
申请号: | 201911421755.8 | 申请日: | 2019-12-31 |
公开(公告)号: | CN113127104A | 公开(公告)日: | 2021-07-16 |
发明(设计)人: | 徐佳宏;李银;李威青;刘彬 | 申请(专利权)人: | 深圳市茁壮网络股份有限公司 |
主分类号: | G06F9/448 | 分类号: | G06F9/448 |
代理公司: | 深圳市深佳知识产权代理事务所(普通合伙) 44285 | 代理人: | 常忠良 |
地址: | 518004 广东省*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 定时器 实例 添加 方法 装置 | ||
本发明提供了一种定时器实例的添加方法及装置,该方法包括:基于添加请求中包含的唤醒时间、当前系统时间和基准时间,计算偏移时间差,将偏移时间差除以数组元素个数,得到第一余数值,确定数组指针的当前位置,依据当前位置、第一余数值和数组元素个数,确定第一偏移量,依据第一偏移量,移动数组指针,并在数组指针移动至第一偏移量对应的目标数组元素时,将新的定时器实例添加至目标数据元素中。可见,通过确定数组指针移动的偏移量,基于该偏移量移动数组指针,在数组指针移动至偏移量对应的目标数组元素时,直接将新的定时器实例添加至目标数组元素中,而无需遍历整个数组,从而缩短定时器实例的添加时间,提高定时器实例的添加效率。
技术领域
本发明涉及软件定时技术领域,尤其涉及一种定时器实例的添加方法及装置。
背景技术
诸如闹钟、日程提醒之类的包含有定时唤醒逻辑的应用程序是使用较为广泛的一种应用程序,在这类应用程序中,实现定时唤醒定时器实例即称为定时,而实现定时,需将定时器实例添加至定时器管理器中。
现有技术中,定时器管理器通过队列管理各个定时器实例,队列中的各个定时器实例按照唤醒时间进行排序,最近唤醒的定时器实例处于队列的队首,最晚唤醒时间处于队列的队尾,当新的定时器实例添加至定时器管理器中的队列时,首先需遍历有序的队列,确定新的定时器实例的唤醒时间在队列的各个定时器实例的唤醒时间中的排序顺序,即确定新的定时器实例的添加位置,再将该新发的定时器实例添加至所确定的添加位置中。通过该定时器实例的添加方法,导致添加定时器实例的时间过长,效率低。
发明内容
本发明提供了一种定时器实例的添加方法及装置,目的在于解决添加定时器实例的时间过长、效率低的问题。
为了实现上述目的,本发明提供了以下技术方案:
一种定时器实例的添加方法,应用于定时器管理器,所述定时器管理器通过数组管理多个定时器实例,所述数组包括多个数组元素,每一个所述数组元素为一个定时器实例集合,所述方法包括:
响应于新的定时器实例的添加请求,获取当前系统时间和所述定时器管理器当前的基准时间;
依据所述添加请求中包含的唤醒时间、所述当前系统时间和所述基准时间,计算所述唤醒时间相对所述基准时间的偏移时间差;
将所述偏移时间差除以所述数组中包括的数组元素个数,得到第一商值和第一余数值,并将所述第一商值作为所述新的定时器实例的计数值;
确定所述数组的数组指针的当前位置;所述当前位置用于指示所述数组指针当前所指向的数组元素的标识信息;
依据所述数组指针的当前位置、所述第一余数值和所述数组元素个数,确定所述数组指针的第一偏移量;
依据所述第一偏移量,移动所述数组指针,并在所述数组指针移动至所述第一偏移量对应的目标数组元素时,将所述新的定时器实例添加至所述目标数组元素中。
上述的方法,可选的,所述依据所述添加请求中包含的唤醒时间、所述当前系统时间和所述基准时间,计算所述唤醒时间相对所述基准时间的偏移时间差,包括:
依据所述添加请求中包含的唤醒时间和所述当前系统时间,计算所述新的定时器实例的实际唤醒时间;
计算所述实际唤醒时间和所述基准时间之间的差值,将所述实际唤醒时间和所述基准时间之间的差值按预设换算规则进行换算,得到所述唤醒时间相对所述基准时间的偏移时间差。
上述的方法,可选的,所述依据所述当前位置、所述第一余数值和所述数组元素个数,确定所述数组指针的第一偏移量,包括:
对所述第一余数值和所述当前位置进行求和计算,得到第一和值;
将所述第一和值除以所述数组元素个数得到的余数作为所述数组指针的第一偏移量。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市茁壮网络股份有限公司,未经深圳市茁壮网络股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911421755.8/2.html,转载请声明来源钻瓜专利网。