一种定时调度方法及系统技术方案

技术编号:17596641 阅读:54 留言:0更新日期:2018-03-31 09:56
公开一种定时调度方法,其能够消除了调度延时,能够调度大量的定时任务,可扩展性好。该方法包括:(1)获取所有的定时任务集合;(2)采用基于滑动窗口的时间计算器,计算未来一定长度的时间内将要被调度的任务集合,将未来一段时间内将要被调度的任务放入一个任务集合中;(3)采用一个时间检查器,从将要被调度的任务集合中逐个检查,如果一个任务需要被提交,时间检查器就提交该任务,之后从任务集合中删除该任务。还有定时调度系统。

A timing scheduling method and system

Open a time scheduling method, which can eliminate scheduling delay, can schedule a large number of timing tasks, and has good scalability. The method comprises the following steps: (1) get the collection of all timing tasks; (2) using sliding window time calculator based on Calculation of a certain length of time in the future will be scheduled task set, the next period of time will be scheduled tasks in a task set; (3) using a a time to check one by one from the inspector will be scheduled task set, if a task needs to be submitted, submit the task time checker, then remove the task from the task set. There is also a timing scheduling system.

【技术实现步骤摘要】
一种定时调度方法及系统
本专利技术涉及大数据处理的
,尤其涉及一种定时调度方法,以及定时调度系统。
技术介绍
crontab命令常见于Unix和类Unix的操作系统之中,用于设置周期性被执行的指令。该命令从标准输入设备读取指令,并将其存放于“crontab”文件中,以供之后读取和执行。该词来源于希腊语chronos(χρνο),原意是时间。crontab储存的指令被守护进程激活,crontab常常在后台运行,每一分钟检查是否有预定的作业需要执行。这类作业一般称为cronjobs。crontab文件包含送交cron守护进程的一系列作业和指令。每个用户可以拥有自己的crontab文件;同时,操作系统保存一个针对整个系统的crontab文件,该文件通常存放于/etc或者/etc之下的子目录中,而这个文件只能由系统管理员来修改。目前,基于linux的crontab一般是定时执行或者定时器组件。但是存在以下缺陷:1、基于linux的crontab定时任务不便于统一管理,对于大量的调度任务将会非常混乱。2、基于定时器组件调度器不便于程序扩展。
技术实现思路
为克服现有技术的缺陷,本专利技术要解决的技术问题是提供了一种定时调度方法,其能够消除了调度延时,能够调度大量的定时任务,可扩展性好。本专利技术的技术方案是:这种定时调度方法,该方法包括以下步骤:(1)获取所有的定时任务集合;(2)采用基于滑动窗口的时间计算器,计算未来一定长度的时间内将要被调度的任务集合,将未来一段时间内将要被调度的任务放入一个任务集合中;(3)采用一个时间检查器,从将要被调度的任务集合中逐个检查,如果一个任务需要被提交,时间检查器就提交该任务,之后从任务集合中删除该任务。本专利技术通过基于滑动窗口的时间计算提前计算将要被调度的任务,通过时间检查器从将要被调度的任务集合中逐个检查,如果一个任务需要被提交,时间检查器就提交该任务,之后从任务集合中删除该任务,因此时间检查器,从将要被调度的任务集合中逐个检查,如果一个任务需要被提交,时间检查器就提交该任务,之后从任务集合中删除该任务。还提供了一种定时调度系统,该系统包括:获取模块,其配置来获取所有的定时任务集合;时间计算器,其配置来计算未来一定长度的时间内将要被调度的任务集合,将未来一段时间内将要被调度的任务放入一个任务集合中;时间检查器,其配置来从将要被调度的任务集合中逐个检查,如果一个任务需要被提交,时间检查器就提交该任务,之后从任务集合中删除该任务。附图说明图1所示为根据本专利技术的定时调度方法的流程图。图2所示为根据本专利技术的滑动窗口的示意图。图3所示为根据本专利技术的所述步骤(2)的流程图。具体实施方式如图1所示,这种定时调度方法,该方法包括以下步骤:(1)获取所有的定时任务集合;(2)采用基于滑动窗口(如图2所示)的时间计算器,计算未来一定长度的时间内将要被调度的任务集合,将未来一段时间内将要被调度的任务放入一个任务集合中;(3)采用一个时间检查器,从将要被调度的任务集合中逐个检查,如果一个任务需要被提交,时间检查器就提交该任务,之后从任务集合中删除该任务。本专利技术通过基于滑动窗口的时间计算提前计算将要被调度的任务,通过时间检查器从将要被调度的任务集合中逐个检查,如果一个任务需要被提交,时间检查器就提交该任务,之后从任务集合中删除该任务,因此时间检查器,从将要被调度的任务集合中逐个检查,如果一个任务需要被提交,时间检查器就提交该任务,之后从任务集合中删除该任务。另外,如图3所示,所述步骤(2)包括以下分步骤:(2.1)开始;(2.2)计算一个时间窗口内的任务的调度时间点;(2.3)判断当前时间是否到达当前时间窗口的阈值点,是则执行步骤(2.4),否则等待时间窗口的长度再执行步骤(2.3);(2.4)计算下一个时间窗口内的任务的调度时间点;(2.5)下一个时间窗口设为当前时间窗口,返回步骤(2.3)。另外,每个时间窗口的阈值一定,而且小于时间窗口的长度。另外,时间窗口的阈值为时间窗口的长度的80%-90%。另外,每个时间窗口的长度为10分钟,每个时间窗口的阈值为8分钟。另外,两次相邻的计算时间之间的距离为一个时间窗口的长度。另外,每一次在当前窗口的阈值处开始计算下一个时间窗口内的任务。本领域普通技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,包括上述实施例方法的各步骤,而所述的存储介质可以是:ROM/RAM、磁碟、光盘、存储卡等。因此,与本专利技术的方法相对应的,本专利技术还同时包括一种定时调度系统,该系统通常以与方法各步骤相对应的功能模块的形式表示。使用该方法的系统包括:获取模块,其配置来获取所有的定时任务集合;时间计算器,其配置来计算未来一定长度的时间内将要被调度的任务集合,将未来一段时间内将要被调度的任务放入一个任务集合中;时间检查器,其配置来从将要被调度的任务集合中逐个检查,如果一个任务需要被提交,时间检查器就提交该任务,之后从任务集合中删除该任务。另外,所述时间计算器,扫描所有的定时任务表达式,计算未来一定长度的时间内将要被调度的任务集合,将未来一段时间内将要被调度的任务放入一个任务集合中。本专利技术的有益效果如下:1.该系统消除了调度延时,而且能够调度大量的定时任务。2.可扩展性好。以上所述,仅是本专利技术的较佳实施例,并非对本专利技术作任何形式上的限制,凡是依据本专利技术的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属本专利技术技术方案的保护范围。本文档来自技高网...
一种定时调度方法及系统

【技术保护点】
一种定时调度方法,其特征在于:该方法包括以下步骤:(1)获取所有的定时任务集合;(2)采用基于滑动窗口的时间计算器,计算未来一定长度的时间内将要被调度的任务集合,将未来一段时间内将要被调度的任务放入一个任务集合中;(3)采用一个时间检查器,从将要被调度的任务集合中逐个检查,如果一个任务需要被提交,时间检查器就提交该任务,之后从任务集合中删除该任务。

【技术特征摘要】
1.一种定时调度方法,其特征在于:该方法包括以下步骤:(1)获取所有的定时任务集合;(2)采用基于滑动窗口的时间计算器,计算未来一定长度的时间内将要被调度的任务集合,将未来一段时间内将要被调度的任务放入一个任务集合中;(3)采用一个时间检查器,从将要被调度的任务集合中逐个检查,如果一个任务需要被提交,时间检查器就提交该任务,之后从任务集合中删除该任务。2.根据权利要求1所述的定时调度方法,其特征在于:所述步骤(2)包括以下分步骤:(2.1)开始;(2.2)计算一个时间窗口内的任务的调度时间点;(2.3)判断当前时间是否到达当前时间窗口的阈值点,是则执行步骤(2.4),否则等待时间窗口的长度再执行步骤(2.3);(2.4)计算下一个时间窗口内的任务的调度时间点;(2.5)下一个时间窗口设为当前时间窗口,返回步骤(2.3)。3.根据权利要求2所述的定时调度方法,其特征在于:每个时间窗口的阈值一定,而且小于时间窗口的长度。4.根据权利要求3所述的定时调度方法,其特征在于:时间...

【专利技术属性】
技术研发人员:崔晶晶夏海华
申请(专利权)人:北京集奥聚合科技有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1