[发明专利]遍历计时器的方法及装置在审
申请号: | 201510992833.5 | 申请日: | 2015-12-24 |
公开(公告)号: | CN105653367A | 公开(公告)日: | 2016-06-08 |
发明(设计)人: | 艾菲 | 申请(专利权)人: | 北京奇虎科技有限公司;北京奇安信科技有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50;G06F17/30 |
代理公司: | 北京鼎佳达知识产权代理事务所(普通合伙) 11348 | 代理人: | 王伟锋;刘铁生 |
地址: | 100088 北京市西城区新*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 遍历 计时器 方法 装置 | ||
技术领域
本发明涉及互联网技术领域,尤其涉及一种遍历计时器的方法及装置。
背景技术
终端在向服务器请求数据时,服务器会对数据库进行访问,从数据库 中获取终端请求的数据内容并返回给终端。由于每次请求都会访问数据库, 因此当请求并发数较大时,会对数据库造成比较大的访问压力。为降低数 据库的访问压力,工程人员对现有技术进行了改进,将从数据库中获取的 数据缓存在服务器内存中。当终端发起数据请求时,服务器在内存中查找 终端请求的数据,如果查找到该数据则直接返回给终端,由此减少数据库 的访问次数。
通常,服务器端内存资源是十分宝贵的,无法将数据永久地存储在服 务器内存中。因此现有技术为内存中的数据建立了有效期机制,即为不同 的数据设置不同的有效期,这个有效期是一个时长值,用以表征数据在内 存中保存的时间长短。为监控数据是否过期,服务器需要为内存中的每条 数据设置一个计时器(Timer),将上述有效期时长设置为计时器的计时时 长。如果计时器到时,则触发计时器事件,将对应的数据从内存中删除。
为及时释放计时器任务,节省服务器的处理资源,服务器需要定期对 计时器进行遍历,查找并关闭到时的计时器。通常服务器遍历计时器的周 期为计时器的最小计时单位,例如1秒或10毫秒。也就是说,服务器会每 隔1秒(甚至更短)对内存中所有的计时器进行一次遍历。现有技术中, 计时器列表是按照计时器建立的先后顺序对所有计时器进行保存的。服务 器每次遍历计时器时,都需要将当前的系统时刻值与计时器列表中的每一 个计时器的到时时刻值进行一次比对,关闭到时时刻值小于当前系统时刻 值的计时器。这种遍历计时器的方式效率非常低,实际应用中,当服务器 内存中保存的数据较多时(例如十万甚至百万级别的数据),服务器每次都 需要对十万百万个计时器进行遍历,这会占用服务器的大量处理资源,严 重影响服务器性能。
发明内容
本发明提供了一种遍历计时器的方法及装置,能够解决计时器遍历效 率低下的问题。
为解决上述问题,一方面,本发明提供了一种遍历计时器的方法,该 方法包括:
构建计时器二叉树,计时器二叉树的节点数值为计时器的到时时刻值, 节点数值大于父节点数值的子节点为父节点的右子节点,节点数值小于父 节点数值的子节点为父节点的左子节点;
从根节点开始遍历,查找节点数值小于等于当前时刻值的目标节点;
关闭目标节点对应的计时器。
另一方面,本发明还提供了一种遍历计时器的装置,该装置包括:
构建单元,用于构建计时器二叉树,计时器二叉树的节点数值为计时 器的到时时刻值,节点数值大于父节点数值的子节点为父节点的右子节点, 节点数值小于父节点数值的子节点为父节点的左子节点;
遍历单元,用于从根节点开始遍历,查找节点数值小于等于当前时刻 值的目标节点;
处理单元,用于关闭目标节点对应的计时器。
本发明提供的遍历计时器的方法及装置,能够根据计时器到时时刻值 的大小构建计时器二叉树,其中,节点数值大于父节点数值的子节点为父 节点的右子节点,节点数值小于父节点数值的子节点为父节点的左子节点。 在遍历计时器时,通过对计时器二叉树的遍历查找到时的计时器。本发明 中,计时器二叉树根据节点数值的大小构建左右分支,当遍历到计时器到 时的节点时,可以将该节点左侧分支的所有下级节点全部确定为目标节点, 而无需继续对这些节点依次进行遍历。与现有技术相比,本发明能够大大 减少计时器的遍历次数,提高计时器的遍历效率,节省服务器的处理资源。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的 技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和 其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于 本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目 的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符 号表示相同的部件。在附图中:
图1示出了本发明实施例提供的一种遍历计时器的方法流程图;
图2a示出了本发明实施例提供的一种在计时器二叉树中新增节点的示 意图;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京奇虎科技有限公司;北京奇安信科技有限公司,未经北京奇虎科技有限公司;北京奇安信科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510992833.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:动态更新除错选项的方法
- 下一篇:执行环境切换方法及多核处理器系统