[发明专利]一种计划任务的检测方法及装置在审
申请号: | 201811159496.1 | 申请日: | 2018-09-30 |
公开(公告)号: | CN110968405A | 公开(公告)日: | 2020-04-07 |
发明(设计)人: | 潘习文;李海燕 | 申请(专利权)人: | 杭州海康威视系统技术有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48 |
代理公司: | 北京柏杉松知识产权代理事务所(普通合伙) 11413 | 代理人: | 李欣;项京 |
地址: | 310051 浙*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 计划 任务 检测 方法 装置 | ||
本发明实施例提供了一种计划任务的检测方法及装置。其中所述方法,可以包括:获取已产生的待执行的计划任务的执行时刻;确定最早的执行时刻与当前的系统时间之间的时间差,作为休眠时长;在从当前的系统时间起,经过的时长为所述休眠时长时,检测所述待执行的计划任务的执行时刻是否已经到达。本发明实施例,由于将最早的执行时刻与当前的系统时间之间的时间差,作为下次检测待执行的计划任务的执行时刻是否已经到到达的间隔时间,可以在确保不进行无效的检测的同时,在最早的执行时刻到达时,及时地对待执行的计划任务进行检测,可以实现在节省系统资源的前提下,及时检测到执行时刻已经到达的计划任务。
技术领域
本发明涉及计算机技术领域,特别是涉及一种计划任务的检测方法及装置。
背景技术
应用系统中,一类任务在产生后,被立即执行,这类任务被称为实时任务。还有一类任务在产生后,不被立即执行,而是当对应的执行时刻到达时才执行该任务,这类任务被称为计划任务。为了确定计划任务是否需要被执行,应用系统可以检测计划任务的执行条件是否满足,以确定计划任务的执行时刻是否到达,例如,当计划任务的执行时刻已经到达时,执行该计划任务,当计划任务对应的执行时刻尚未到达时,暂时不执行该计划任务。
现有技术中,可以每间隔预设的检测周期,检测待执行的计划任务,确定这些待执行的计划任务的执行时刻是否已经到达。但是,如果检测周期设置的太长,可能无法及时检测到对应的执行时刻已经到达,示例性的,假设检测周期为1s,如果执行的计划任务对应的执行时刻为t=10ms,在t=0s时,应用系统进行第一次检测,由于该待执行的计划任务对应的执行时刻尚未到达,因此该待执行的计划任务不被执行,在t=1s时应用系统再次进行检测,由于该待执行的计划任务对应的执行时刻已经到达,因此该待执行的计划任务被执行。可见该待执行的计划任务真正被执行的时刻为t=1s,相比对应的执行时刻存在990ms的延时。而如果检测周期设置的太短,应用系统需要频繁进行检测,造成系统资源的浪费。
发明内容
本发明实施例的目的在于提供一种计划任务的检测方法,以实现在节省系统资源的前提下,及时检测到执行时刻已经到达的计划任务。具体技术方案如下:
在本发明实施例的第一方面,提供了一种计划任务的检测方法,所述方法包括:
获取已产生的待执行的计划任务的执行时刻;
确定最早的执行时刻与当前的系统时间之间的时间差,作为休眠时长;
在从当前的系统时间起,经过的时长为所述休眠时长时,检测所述待执行的计划任务的执行时刻是否已经到达。
结合第一方面,在第一种可能的实现方式中,所述确定最早的执行时刻与当前的系统时间之间的时间差,作为休眠时长,包括:
获取任务队列中位于首位的待执行的计划任务的超时时间,作为休眠时长,所述超时时间,为待执行的计划任务的执行时刻与当前的系统时间之间的时间差,所述任务队列中包括按照执行时刻从早到晚的顺序进行排列的已产生的待执行的计划任务。
结合第一方面的第一种可能的实现方式,在第二种可能的实现方式中,在所述检测所述已产生的待执行的计划任务的执行时刻是否已经到达之后,所述方法还包括:
从所述任务队列中,删除执行时刻已经到达的计划任务,得到更新后的任务队列;
获取所述更新后的任务队列中,位于首位的待执行的计划任务的超时时间,作为新的休眠时长;
在从当前的系统时间起,经过的时长为所述新的休眠时长时,检测所述更新后的任务队列中,待执行的计划任务的执行时刻是否已经到达。
结合第一方面的第一种可能的实现方式,在第三种可能的实现方式中,所述任务队列通过以下方法得到,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州海康威视系统技术有限公司,未经杭州海康威视系统技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811159496.1/2.html,转载请声明来源钻瓜专利网。