[发明专利]作业调度方法、装置、计算机设备和可读存储介质在审
申请号: | 201910744229.9 | 申请日: | 2019-08-13 |
公开(公告)号: | CN110597605A | 公开(公告)日: | 2019-12-20 |
发明(设计)人: | 刘明 | 申请(专利权)人: | 武汉联影医疗科技有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48 |
代理公司: | 11606 北京华进京联知识产权代理有限公司 | 代理人: | 乔改利 |
地址: | 430206 湖北省武汉*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 调度作业 作业操作 预设 实例化 描述信息 作业调度 集合 读取 可读存储介质 计算机设备 可执行程序 调度条件 遍历 线程 数据库 管理 | ||
本发明涉及一种作业调度方法、装置、计算机设备和可读存储介质,该方法包括:按照预设的时间间隔,从预设的作业调度数据库中读取待调度作业的描述信息;预设的时间间隔小于待调度作业的执行时间间隔;根据描述信息实例化出待调度作业对应的作业操作者,并将实例化的作业操作者加入到预设的作业操作者集合中;遍历作业操作者集合,若实例化的作业操作者满足预设的调度条件,则启动实例化的作业操作者中的线程,执行待调度作业。在该方法中各待调度作业都是独立的可执行程序,不会影响其他作业的运行,便于对各待调度作业进行管理。
技术领域
本发明涉及作业调度领域,特别是涉及一种作业调度方法、装置、计算机设备和可读存储介质。
背景技术
以Quartz为代表的开源作业调度框架,实现了多个作业作为一个业务组,使用一个Windows服务作为宿主,在未来某个时间点下满足某个作业的时间要求时,触发执行该作业。
传统的作业调度系统,将作业的调度逻辑与作业的业务逻辑汇在一起,作为一个可执行程序,部署在Windows服务上,但是,因为各作业间耦合性较高,当其中某个作业发生变化时则可能影响其他作业的运行,甚至导致Windows服务程序崩溃使整个作业组的业务停止运行,需要停止Windows服务程序,卸载该服务程序,对业务逻辑更新后再重新安装服务程序。
因此,传统的作业调度系统,存在调度与作业、各作业间耦合性较高的问题。
发明内容
基于此,有必要针对传统的作业调度系统,存在调度与作业、各作业间耦合性较高的问题,提供一种作业调度方法、装置、计算机设备和可读存储介质。
第一方面,本发明实施例提供一种作业调度方法,所述方法包括:
按照预设的时间间隔,从预设的作业调度数据库中读取待调度作业的描述信息;所述预设的时间间隔小于所述待调度作业的执行时间间隔;
根据所述描述信息实例化出所述待调度作业对应的作业操作者,并将实例化的作业操作者加入到预设的作业操作者集合中;
遍历所述作业操作者集合,若所述实例化的作业操作者满足预设的调度条件,则启动所述实例化的作业操作者中的线程,执行所述待调度作业。
在其中一个实施例中,所述根据所述描述信息实例化出所述待调度作业对应的作业操作者,并将实例化的作业操作者加入到预设的作业操作者集合中之前,所述方法还包括:
根据所述描述信息中的作业名称值,判断所述作业操作者集合中是否存在所述描述信息对应的作业操作者;
若存在,则根据所述描述信息中的作业状态值判断所述待调度作业的状态是否为待停止状态,并在所述待调度作业的状态是待停止状态时,将所述待调度作业的状态更新为停止状态,并从所述作业操作者集合中移除所述待调度作业对应的作业操作者。
在其中一个实施例中,所述方法还包括:
若不存在,则根据所述描述信息中的作业状态值判断所述待调度作业的状态是否为运行状态或者待启动状态;
若是,则根据所述描述信息实例化出所述待调度作业对应的作业操作者;
若否,则将所述待调度作业的状态更新为停止状态。
在其中一个实施例中,所述根据所述描述信息实例化出所述待调度作业对应的作业操作者,并将实例化的作业操作者加入到预设的作业操作者集合中,包括:
根据所述描述信息中的作业执行时间间隔值,实例化所述待调度作业对应的作业操作者的Cron时间表达式解析器;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉联影医疗科技有限公司,未经武汉联影医疗科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910744229.9/2.html,转载请声明来源钻瓜专利网。