[发明专利]任务调度执行方法及装置在审
申请号: | 202110783240.3 | 申请日: | 2021-07-12 |
公开(公告)号: | CN113448712A | 公开(公告)日: | 2021-09-28 |
发明(设计)人: | 马文建 | 申请(专利权)人: | 中国银行股份有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48 |
代理公司: | 北京三友知识产权代理有限公司 11127 | 代理人: | 谷敬丽;薛平 |
地址: | 100818 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 任务 调度 执行 方法 装置 | ||
1.一种任务调度执行方法,其特征在于,包括:
在数据库中创建定时任务表;
创建定时任务或可重试任务,并在所述定时任务表中增加相应的任务记录;
在应用程序中开启一个定时线程,按照预设时间间隔扫描所述定时任务表中待执行的定时任务或可重试任务;
将待执行的定时任务或可重试任务添加到待执行任务队列中;
从所述待执行任务队列中读取待执行的定时任务或可重试任务,分派至对应任务执行线程池中处于空闲状态的任务执行线程上执行。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
定义多个执行线程池,其中,每个执行线程池对应不同的任务类型。
3.如权利要求1所述的方法,其特征在于,所述方法还包括:
基于数据库乐观锁对当前待执行的定时任务或可重试任务进行加锁;
如果加锁成功,则执行当前待执行的定时任务或可重试任务;
如果加锁失败,则跳过当前待执行的定时任务或可重试任务。
4.如权利要求3所述的方法,其特征在于,在执行当前待执行的定时任务或可重试任务之后,所述方法还包括:
获取当前执行的定时任务或可重试任务的任务执行结果;
根据当前执行的定时任务或可重试任务的任务执行结果,更新当前执行的定时任务或可重试任务在数据库中记录的任务执行状态。
5.如权利要求3所述的方法,其特征在于,在根据当前执行的定时任务或可重试任务的任务执行结果,更新当前执行的定时任务或可重试任务在数据库中记录的任务执行状态之后,所述方法还包括:
读取定时任务或可重试任务在数据库中记录的任务执行状态;
以可视化界面展示定时任务或可重试任务的任务执行状态。
6.如权利要求1所述的方法,其特征在于,将待执行的定时任务或可重试任务添加到待执行任务队列中,包括:
判断待执行的定时任务或可重试任务是否符合预设任务执行条件;
当待执行的定时任务或可重试任务是否符合预设任务执行条件的情况下,将待执行的定时任务或可重试任务添加到待执行任务队列中。
7.一种任务调度执行装置,其特征在于,包括:
任务表创建模块,用于在数据库中创建定时任务表;
任务创建模块,用于创建定时任务或可重试任务,并在所述定时任务表中增加相应的任务记录;
任务扫描模块,用于在应用程序中开启一个定时线程,按照预设时间间隔扫描所述定时任务表中待执行的定时任务或可重试任务;
任务队列处理模块,用于将待执行的定时任务或可重试任务添加到待执行任务队列中;
任务执行模块,用于从所述待执行任务队列中读取待执行的定时任务或可重试任务,分派至对应任务执行线程池中处于空闲状态的任务执行线程上执行。
8.如权利要求7所述的装置,其特征在于,所述装置还包括:
线程池配置模块,用于定义多个执行线程池,其中,每个执行线程池对应不同的任务类型。
9.如权利要求7所述的装置,其特征在于,所述装置还包括:
任务加锁模块,用于基于数据库乐观锁对当前待执行的定时任务或可重试任务进行加锁;
其中,所述任务执行模块,还用于:如果加锁成功,则执行当前待执行的定时任务或可重试任务;或如果加锁失败,则跳过当前待执行的定时任务或可重试任务。
10.如权利要求9所述的装置,其特征在于,所述装置还包括:
任务状态更新模块,用于获取当前执行的定时任务或可重试任务的任务执行结果;以及根据当前执行的定时任务或可重试任务的任务执行结果,更新当前执行的定时任务或可重试任务在数据库中记录的任务执行状态。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国银行股份有限公司,未经中国银行股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110783240.3/1.html,转载请声明来源钻瓜专利网。