[发明专利]一种自动化弹性任务排程方法在审
申请号: | 202010045139.3 | 申请日: | 2020-01-16 |
公开(公告)号: | CN111274011A | 公开(公告)日: | 2020-06-12 |
发明(设计)人: | 刘柏辰 | 申请(专利权)人: | 苏州浪潮智能科技有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48 |
代理公司: | 济南舜源专利事务所有限公司 37205 | 代理人: | 刘雪萍 |
地址: | 215100 江苏省苏州市吴*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 自动化 弹性 任务 方法 | ||
1.一种自动化弹性任务排程方法,由Java定时任务调度工具实现任务排程,其特征在于,包括:
关闭服务前,将排程任务及其相关参数保存或更新到数据库;
重启服务时,从数据库中取出所保存的排程任务,若排程任务有下次触发,则根据所保存的相关参数获得其重排程触发时间后,将其加入任务调度器进行重排程。
2.根据权利要求1所述的自动化弹性任务排程方法,其特征在于,所述相关参数包括新增任务所需参数、下次触发时间、上次触发时间、Job已经执行的次数、job status。
3.根据权利要求2所述的自动化弹性任务排程方法,其特征在于,
若排程任务没有下次触发,保留或删除该排程任务。
4.根据权利要求2所述的自动化弹性任务排程方法,其特征在于,根据所保存的相关参数获得其重排程触发时间,具体包括:
判断Trigger种类;
若Trigger为CronTrigger,则将记录在数据库中的cron expression取出来并且重新安排至任务排程,由cron expression确定其重排程触发时间;
若Trigger不属于CronTrigger,则根据Trigger相关参数计算出重排程触发时间。
5.根据权利要求4所述的自动化弹性任务排程方法,其特征在于,所述根据Trigger相关参数计算出重排程触发时间,具体包括:
取得Trigger的时间区间,并判断上次触发时间是否有值;
若上次触发时间无值,则判断下次触发时间是否处于关闭服务时;
若下次触发时间未处于关闭服务时,则重排程触发时间为下次触发时间不断加上时间区间直至超过预设不安全时间阈值。
6.根据权利要求5所述的自动化弹性任务排程方法,其特征在于,若上次执行时间无值,且下次触发时间处于关闭服务时,则计算目前时间与下次触发时间之间的错失触发次数,根据错失触发次数计算重排程触发时间;
其中,错失触发次数=无条件舍去最大整数((现在时间-next trigger)/时间区间),式中next trigger为下次触发时间;
重排程触发时间=[next trigger+(时间区间*(错失触发次数+1))]不断加上时间区间直到超过预设不安全时间阈值。
7.根据权利要求6所述的自动化弹性任务排程方法,其特征在于,根据Trigger相关参数计算出重排程触发时间,具体还包括:
若上次执行时间有值,则判断下次触发时间是否处于关闭服务时;
若下次触发时间未处于关闭服务时,则重排程触发时间为上次触发时间不断加上时间区间直至超过预设不安全时间阈值。
8.根据权利要求7所述的自动化弹性任务排程方法,其特征在于,若上次执行时间有值,且下次触发处于关闭服务时,则计算目前时间与上次触发时间之间的错失触发次数,根据错失触发次数计算重排程触发时间;
其中,错失触发次数=无条件舍去最大整数((现在时间-last trigger)/时间区间),式中last trigger为上次触发时间;
重排程触发时间=[last trigger+(时间区间*(错失触发次数+1))]不断加上时间区间直到超过预设不安全时间阈值。
9.根据权利要求1-8任一项所述的自动化弹性任务排程方法,其特征在于,Java定时任务调度工具进行任务排程的新增任务时,若出现job group里面有重复的job name、开始的时间已经超过现在时间或结束时间为过去式,则拒绝该次新增。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州浪潮智能科技有限公司,未经苏州浪潮智能科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010045139.3/1.html,转载请声明来源钻瓜专利网。