[发明专利]一种定时任务的调度方法、调度系统及电子设备在审
申请号: | 202111127931.4 | 申请日: | 2021-09-26 |
公开(公告)号: | CN114064228A | 公开(公告)日: | 2022-02-18 |
发明(设计)人: | 李永银 | 申请(专利权)人: | 苏州宏软信息技术有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F9/50;G06F16/2455;G06F16/25 |
代理公司: | 苏州华博知识产权代理有限公司 32232 | 代理人: | 黄丽莉 |
地址: | 215000 江苏省苏*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 定时 任务 调度 方法 系统 电子设备 | ||
1.一种定时任务的调度方法,其特征在于,基于无状态微服务框架,所述无状态微服务框架包括两个以上微服务实例;所述调度方法包括:
步骤A:当达到定时任务的执行时间节点时,获取缓存中的时间记录信息,所述时间记录信息为所述定时任务之前的执行时间信息;
步骤B:根据所述时间记录信息判断所述定时任务是否已被其他微服务实例执行;
步骤C:若所述定时任务未被执行,获取所述定时任务的触发器信息;
步骤D:获取所述定时任务的锁定信息,并判断所述定时任务是否被锁定;
步骤E:若所述定时任务未被锁定,则获取所述定时任务的任务类型;
步骤F:判断所述定时任务的任务类型;
若执行所述定时任务不需要调用第三方服务,则在本地直接执行所述定时任务;
若执行所述定时任务需要调用第三方服务,则查询本地缓存中是否存在所述第三方服务;若存在,则先从所述本地缓存中调用所述第三方服务、再执行所述定时任务。
2.根据权利要求1所述的定时任务的调度方法,其特征在于,在步骤F之后,所述调度方法还包括步骤G:
若所述本地缓存中不存在所述第三方服务,则在注册中心查询所述第三方服务的服务信息、并将所述服务信息写入所述本地缓存;
从所述本地缓存中调用所述第三方服务后,执行所述定时任务。
3.根据权利要求2所述的定时任务的调度方法,其特征在于,步骤C中,“获取所述定时任务的触发器信息”具体包括:
根据quartz配置规则获取所述定时任务的触发器信息。
4.根据权利要求2所述的定时任务的调度方法,其特征在于,步骤F和/或步骤G中,“从所述本地缓存中调用所述第三方服务”具体包括:
根据负载均衡策略,从所述本地缓存中调用所述第三方服务。
5.根据权利要求2所述的定时任务的调度方法,其特征在于,步骤D中,“获取所述定时任务的锁定信息”具体包括:
查询数据库、获取所述定时任务的锁定信息。
6.根据权利要求2所述的定时任务的调度方法,其特征在于,所述定时任务为按照固定时间执行的定时任务,或按照固定频率执行的定时任务。
7.根据权利要求2所述的定时任务的调度方法,其特征在于,在步骤F之前,所述调度方法还包括:
预设cron表达式;
根据所述cron表达式判断当前时间是否达到所述定时任务的执行时间节点。
8.一种定时任务的调度系统,其特征在于,包括:
无状态微服务框架,包括两个以上微服务实例;
获取模块,用于分别获取缓存中的时间记录信息、定时任务的触发器信息、所述定时任务的锁定信息、以及所述定时任务的任务类型;其中,所述时间记录信息为所述定时任务之前的执行时间信息;
判断模块,用于分别根据所述时间记录信息判断所述定时任务是否已被其他微服务实例执行、判断所述定时任务是否被锁定、以及判断所述定时任务的任务类型;
查询模块,当执行所述定时任务需要调用第三方服务时,所述查询模块用于查询本地缓存中是否存在所述第三方服务;
调用模块,用于从所述本地缓存中调用所述第三方服务;
以及执行模块,用于在调用所述第三方服务后执行所述定时任务。
9.根据权利要求8所述的定时任务的调度系统,其特征在于,当所述本地缓存中不存在所述第三方服务时,所述查询模块还用于在注册中心查询所述第三方服务的服务信息;所述调度系统还包括写入模块,用于将所述服务信息写入所述本地缓存。
10.一种电子设备,其特征在于,包括:
处理器;
存储器,存储用于所述处理器控制如权利要求1-7任一项所述操作的指令。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州宏软信息技术有限公司,未经苏州宏软信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111127931.4/1.html,转载请声明来源钻瓜专利网。