[发明专利]一种定时器实现方法及装置、调度器、存储介质有效
申请号: | 201811497240.1 | 申请日: | 2018-12-07 |
公开(公告)号: | CN109684056B | 公开(公告)日: | 2021-04-13 |
发明(设计)人: | 王宏志 | 申请(专利权)人: | 咪咕文化科技有限公司;中国移动通信集团有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F16/22 |
代理公司: | 北京派特恩知识产权代理有限公司 11270 | 代理人: | 姚文娴;张颖玲 |
地址: | 100032 北京市西城区德*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 定时器 实现 方法 装置 调度 存储 介质 | ||
本发明实施例公开了一种定时器实现方法,该方法包括:根据预设的十字链表结构,获取定时器节点的属性值;其中所述预设的十字链表结构表征所述定时器节点的数据存储结构;根据所述预设的十字链表结构,将所述属性值表征的所述定时器节点插入到与所述预设的十字链表结构的行字段和列字段的值对应的位置,生成所述定时器;其中,所述预设的十字链表结构的行字段表征第一自动机号,所述预设的十字链表结构的列字段表征时间点。本发明实施例还公开了一种定时器实现装置、调度器和存储介质。
技术领域
本发明涉及网络通信技术领域,尤其涉及一种定时器实现方法及装置、调度器、存储介质。
背景技术
事件驱动模型是基于NIO(非阻塞IO)的单线程并发处理模型,相对于基于多线程并发处理模型,事件驱动模型具有更高的可靠性,不会因为负荷增大导致吞吐量降低。事件驱动模型主要由调度器、事件队列、自动机队列以及事件循环构成,为适应现实应用场景,还需要定时器,以完成超时相关处理。然而现有事件驱动模型中并没有涉及如何高效设计定时器,调度器对定时器的管理比较耗时。
发明内容
有鉴于此,本发明实施例期望提供一种定时器实现方法及装置、调度器、存储介质,能有效提升调度器对定时器的管理效率。
本发明实施例的技术方案是这样实现的:
第一方面,本发明实施例提供一种定时器实现方法,应用于事件驱动模型中,所述方法包括:
根据预设的十字链表结构,获取定时器节点的属性值;其中所述预设的十字链表结构表征所述定时器节点的数据存储结构;
根据所述预设的十字链表结构,将所述属性值表征的所述定时器节点插入到与所述预设的十字链表结构的行字段和列字段的值对应的位置,生成所述定时器;其中,所述预设的十字链表结构的行字段表征第一自动机号,所述预设的十字链表结构的列字段表征时间点。
在上述方案中,所述生成所述定时器之后,所述方法还包括:
计算当前时间距离前次扫描的第一时间间隔;所述当前时间是指相对凌晨零点的偏移量;
在所述第一时间间隔内,获取所述定时器中与所述当前时间对应的至少一个第一定时器节点;
更新所述至少一个第一定时器节点的第一待超时天数,所述第一待超时天数属于所述定时器中的定时器节点的属性值;
当所述更新后的至少一个第一定时器节点的第一待超时天数为0时,触发定时事件。
在上述方案中,所述生成所述定时器之后,所述方法还包括:
根据预设的待销毁自动机号,删除所述定时器中的至少一个第二定时器节点。
在上述方案中,所述生成所述定时器之后,所述方法还包括:
检索所述定时器中的定时器节点,将所述定时器节点对应的超时事件放入事件队列;
获取所述事件队列中的第一事件;
获取自动机队列;
当所述第一事件的目的对应所述自动机队列时,将所述第一事件给对应的自动机处理;
接收所述自动机的请求,根据所述请求创建新的定时器节点。
第二方面,本发明实施例提供一种定时器实现装置,应用事件驱动模型中,所述装置包括:
属性获取单元,用于根据预设的十字链表结构,获取定时器节点的属性值;其中所述预设的十字链表结构表征所述定时器节点的数据存储结构;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于咪咕文化科技有限公司;中国移动通信集团有限公司,未经咪咕文化科技有限公司;中国移动通信集团有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811497240.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种基于主动观测任务的卫星调度方法
- 下一篇:任务处理方法、装置和存储介质