【技术实现步骤摘要】
本专利技术涉及数据处理
,更具体地说,涉及一种任务调度方法及系统。
技术介绍
目前大部分应用系统都有重复执行某些任务的需求,因此就需要采用任务调度的方式间隔调起这些任务,并重复的执行这些任务,以达成该需求。目前的任务调度方式主要是基于Quartz开源框架实现(Quartz是一个完全由java编写的开源作业调度框架),然而采用Quartz开源框架实现任务调度需要引入第三方的库,这使得任务调度的配置较为复杂,且占用资源较多;因此如何以简单的配置实现任务调度,并降低资源占用,成为了本领域技术人员需要考虑的问题。
技术实现思路
有鉴于此,本专利技术实施例提供一种任务调度方法及系统,达到以简单的配置实现任务调度,并降低资源占用的目的。为实现上述目的,本专利技术实施例提供如下技术方案:一种任务调度方法,包括:启动任务管理器,以初始化任务队列;所述任务队列基于延时队列实现,所述任务队列集合有一组延时类型的任务,所述任务队列中的任务仅在对应延期时间到达时才能从所述任务队列中调取;任务管理器启动任务扫描器;任务扫描器循环调用任务管理器提供的从任务队列中获取到达延期时间的任务的接 ...
【技术保护点】
一种任务调度方法,其特征在于,包括:启动任务管理器,以初始化任务队列;所述任务队列基于延时队列实现,所述任务队列集合有一组延时类型的任务,所述任务队列中的任务仅在对应延期时间到达时才能从所述任务队列中调取;任务管理器启动任务扫描器;任务扫描器循环调用任务管理器提供的从任务队列中获取到达延期时间的任务的接口,从任务队列中获取到达延期时间的任务,并将获取的所述任务交给任务执行器,直至任务管理器的状态变更为停止;任务执行器通过工作线程执行所述任务,并根据所述任务重复执行的间隔时间,生成新的任务,以通过任务管理器提供的添加任务到任务队列的接口,添加该新的任务到任务队列中,以实现需重 ...
【技术特征摘要】
1.一种任务调度方法,其特征在于,包括:启动任务管理器,以初始化任务队列;所述任务队列基于延时队列实现,所述任务队列集合有一组延时类型的任务,所述任务队列中的任务仅在对应延期时间到达时才能从所述任务队列中调取;任务管理器启动任务扫描器;任务扫描器循环调用任务管理器提供的从任务队列中获取到达延期时间的任务的接口,从任务队列中获取到达延期时间的任务,并将获取的所述任务交给任务执行器,直至任务管理器的状态变更为停止;任务执行器通过工作线程执行所述任务,并根据所述任务重复执行的间隔时间,生成新的任务,以通过任务管理器提供的添加任务到任务队列的接口,添加该新的任务到任务队列中,以实现需重复执行的任务的间隔重复运行。2.根据权利要求1所述的任务调度方法,其特征在于,还包括:任务执行器控制工作线程的数量,以控制同时运行的任务数。3.根据权利要求1所述的任务调度方法,其特征在于,任务执行器执行任务的入口是任务执行类的run方法,执行run方法以顺序调用execute方法和afterExcuter方法;其中,execute方法实现任务内容的执行,由任务实现类实现;afterExcuter方法实现添加新的任务到任务队列中,由上层类实现。4.根据权利要求1所述的任务调度方法,其特征在于,还包括:任务扫描器扫描到任务发现器时,调度任务发现器;通过任务发现器将任务发现器在构建时从配置数据中获取并维护的数据最后维护时间,与最新的配置数据中的数据最后维护时间进行比对;如果比对不一致,获取比对不一致对应的新变更任务;构建新变更任务并通过任务管理器提供的添加任务到任务队列的接口,将新变更任务添加到任务队列中。5.根据权利要求1所述的任务调度方法,其特征在于,还包括:通过任务管理器管理任务队列、启动任务扫描器、停止任务扫描器。6.一种任务调度系统,其特征在于,包括:任务管理器,任务队列,任务扫描器,和任务...
【专利技术属性】
技术研发人员:冯志强,吴旭春,杨鹏,盛一民,杜念冰,
申请(专利权)人:中国农业银行股份有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。