[发明专利]一种作业调度方法和系统无效
申请号: | 201010290701.5 | 申请日: | 2010-09-21 |
公开(公告)号: | CN101963921A | 公开(公告)日: | 2011-02-02 |
发明(设计)人: | 宫建涛;王一峰;胡仲华 | 申请(专利权)人: | 卓望数码技术(深圳)有限公司 |
主分类号: | G06F9/46 | 分类号: | G06F9/46;G06F9/50 |
代理公司: | 广州三环专利代理有限公司 44202 | 代理人: | 郝传鑫;潘中毅 |
地址: | 518000 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 作业 调度 方法 系统 | ||
技术领域
本发明涉及计算机技术领域,尤其涉及一种作业调度方法和系统。
背景技术
现有的作业调度系统大多基于开源组件quartz构建,Quartz中的触发器中,最常用的是SimpleTrigger(简单触发器)和CronTrigger(时钟触发器),本质上都是基于时间的触发,虽然用它们也可以实现较为复杂的作业调度,但是缺少一样项目中经常使用到的关键特性,即作业调度除了要满足时间条件外还存在一种作业依赖关系,例如B作业的执行需要以A作业的成功执行为条件,现有的作业调度系统仅能分别设定A和B的执行开始时间,但当A的执行过程超过预想值,在B的执行开始时间到达时A还没有执行完成,则会导致B的执行时数据不完整甚至发生错误。为了避免此类现象发生,使用现有的作业调度系统只有将B的执行开始时间设定得尽量晚,给A的执行尽可能预留更多的时间,这只能尽量减少遇到这种问题的机率,但是无法根除。
发明内容
本发明实施例所要解决的技术问题在于,提供一种作业调度方法和系统,可根据作业之间的依赖关系来触发执行作业。
为了解决上述技术问题,本发明实施例提供了一种作业调度方法,所述作业调度方法包括:
判断作业在预设的作业依赖关系中的所有父作业是否均成功执行;
当所述作业的所有父作业均成功执行时,则触发执行所述作业。
其中,所述作业调度方法还包括:
通过一张有向无环图设定作业的依赖关系。
其中,判断作业在预设的作业依赖关系中的所有父作业是否均成功执行包括:
检测所述父作业的执行进度,所述执行进度包括最后一次执行成功的时间值;
判断所述作业的所有父作业的执行成功的时间值是否满足预设条件。
其中,所述作业调度方法还包括:
判断是否到达所述作业的定时触发时间;
当到达所述作业的定时触发时间,并且所述作业的所有父作业均成功执行,则触发执行所述作业。
其中,所述判断是否到达所述作业的定时触发时间,当判断结果为已到达所述作业的定时触发时间后,每隔一定时间间隔进行判断作业在预设作业依赖关系中所有父作业的是否均成功执行;
当所述作业的所有父作业均成功执行时,则触发执行所述作业。
相应地,本发明实施例还提供了一种作业调度系统,所述作业调度系统包括:
作业流程资源库,用于保存作业流程中各个作业之间相互的依赖关系;
作业触发引擎,用于判断作业在预设作业依赖关系中的所有父作业是否均成功执行,当所述作业的所有父作业均成功执行时,则触发执行所述作业;
作业执行插件,用于执行所述作业。
其中,所述作业调度系统还包括:
流程设计单元,用于通过一张有向无环图设定作业的依赖关系。
其中,所述作业触发引擎判断所述作业的所有父作业是否均成功执行包括:
检测所述父作业的执行进度,所述执行进度包括最后一次执行成功的时间值;
判断所述作业的所有父作业的执行成功的时间值是否满足预设条件。
其中,所述作业触发引擎包括:
父作业检测模块,用于判断作业在预设作业依赖关系中所有父作业的是否均成功执行;
定时模块,用于判断是否到达所述作业的定时触发时间;
触发模块,用于当所述父作业检测模块和定时模块均得到肯定的判断结果时,触发执行所述作业。
其中,所述父作业检测模块用于当所述定时模块判断得到已到达所述作业的定时触发时间后,每隔一定时间间隔进行判断作业在预设作业依赖关系中所有父作业的是否均成功执行;
所述触发模块用于当所述父作业检测模块判断得到所述作业的所有父作业均成功执行时,则触发执行所述作业。
实施本发明实施例,具有如下有益效果:通过在现有的作业调度系统中加入了根据流程作业之间的依赖关系的触发机制,能够更加贴合实际需要的对作业执行进行灵活的安排和调度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中一种作业调度系统的结构组成示意图;
图2为本发明实施例中的作业调度系统中作业触发引擎的结构组成示意图;
图3为本发明实施例中一种作业流程的有向无环图;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于卓望数码技术(深圳)有限公司,未经卓望数码技术(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010290701.5/2.html,转载请声明来源钻瓜专利网。