[发明专利]一种定时任务的处理方法及装置在审
| 申请号: | 201310460458.0 | 申请日: | 2013-09-30 |
| 公开(公告)号: | CN103530179A | 公开(公告)日: | 2014-01-22 |
| 发明(设计)人: | 赵保卫 | 申请(专利权)人: | 大唐移动通信设备有限公司 |
| 主分类号: | G06F9/48 | 分类号: | G06F9/48 |
| 代理公司: | 北京同达信恒知识产权代理有限公司 11291 | 代理人: | 刘松 |
| 地址: | 100083*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 定时 任务 处理 方法 装置 | ||
技术领域
本发明涉及通信技术领域,具体涉及一种定时任务的处理方法及装置。
背景技术
针对目前的定时任务处理中,定时器时间到后,会触发遍历定时任务序列,依据获取到的定时任务,经过一些判断和计算处理,来确定每个需要处理的定时任务的信息。由于对于每个具体的定时任务,都需要对每个定时任务包含的多个时间信息进行复杂的计算过程,来判断是否满足触发条件,触发定时任务。整个处理过程,所以如果定时任务序列中的待执行的定时任务较多时,会使得判断和计算的时间较长,使得需要及时被处理的定时任务无法被及时处理,从而造成定时任务处理上的延误,使得问题在分析、结论推理的准确性上产生一定的误差。
发明内容
本发明实施例提供了一种定时任务的处理方法及装置,用以在降低系统的压力的同时,能够及时地对定时任务进行处理。
本发明实施例提供的一种定时任务的处理方法,该方法包括:
在预设的每一第一周期结束前,检测当前是否存在定时任务序列;
如果是,则根据所述定时任务序列生成任务执行时间在下一个第一周期内的执行命令序列;
在下一第一周期开始时,立即执行所述执行命令序列。
在本发明上述实施例中,将定时任务分成每个周期进行,也就是将定时任务“分期进行”,在每个周期开始的时候,根据定时任务序列中的任务,生成一个该周期内需要触发的执行命令序列,该执行命令序列中的每个执行命令由于每个只执行一次,因为定时任务包含的时间信息可能会非常多(例如如果该定时任务为周期性任务,则会包括触发触发、循环周期),而执行命令只包含一个触发的时间,所以系统对执行命令的判断计算过程明显会快一些,而且对于一些触发时间还比较远的定时任务先放在一边,在本执行命令序列中不进行判断,执行命令序列中的执行命令的数量有可能会少于定时任务序列中的定时任务的数量。
在本发明上述实施例的基础上,根据所述定时任务序列生成任务执行时间在下一个第一周期内的定时执行命令序列,具体包括:
对所述定时任务序列中所有定时任务依次判断是否落入下一个第一周期的时间范围内;
对落入所述下一个第一周期的时间范围内的每一定时任务生成对应的执行命令;
所有的执行命令根据触发时间的先后顺序形成定时执行命令序列。
在本发明实施例中,提供了一种定时执行命令序列的生成过程,即在每个第一周期开始的时候,根据该周期的时间范围(起始时间,结束时间)为标准,判断每个定时任务的触发时间是否落入了该第一周期的时间范围内,对落入的这些定时任务生成对应的执行命令,未落入的则不生成。最后在根据触发时间的先后顺序形成序列,保证在执行的时候先对触发时间近的进行计算和判断,保证每个执行命令的准时触发。
在本发明上述实施例的基础上,更佳地,对落入所述下一个第一周期的时间范围内的每一定时任务生成对应的执行命令,具体包括:
在所述定时任务为第二周期性任务时,只对触发时间落入所述下一个第一周期的时间范围内的时间点生成对应的执行命令;
在所述定时任务为一次性任务时,根据所述一次性任务的触发时间生成对应的执行命令。
在本发明上述实施例中,提供了一种更详细的执行命令的生成实施例。由于定时任务一般分为周期性任务和一次性任务,所以对于一次性任务来说,因为触发时间只有一个,所以只要简单的判断这个触发时间是否落入了范围即可决定是否生成执行命令,但是周期性任务具备多个触发时间,所以需要判断这些触发时间哪些落入了范围,这样就可能会生成多个执行命令。
在本发明上述实施例的基础上,在下一第一周期开始时,立即执行所述执行命令序列,具体包括:
在下一第一周期开始时,根据所述执行命令序列的首个执行命令的触发时间生成第一触发器;
在所述第一触发器触发时,遍历所述执行命令序列,依次触发与所述第一触发器触发时间相等的所有执行命令;
将已经触发的执行命令从所述执行命令序列中删除;
根据删除后的执行命令序列中的当前位于首位执行命令的出发时间生成第二触发器,如此循环直至所述执行命令序列中的执行命令为空。
在本发明实上述实施例中,提供了一种执行命令序列的执行方式,为了更好的达到降低系统压力的效果,不采用背景技术中介绍的定时器周期性触发系统遍历定时任务序列的方式,而采用触发器触发系统对执行命令序列的遍历判断和计算,在执行命令序列开始实施后,对首个执行命令,也就是触发时间最近的执行命令建立一个触发器,在触发器触发时,系统开始遍历执行命令序列,对触发时间与触发器相等的执行命令进行触发。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于大唐移动通信设备有限公司,未经大唐移动通信设备有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310460458.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:高楼救生缓降器
- 下一篇:一种虚拟机在线自动软件安装的方法及系统





