一种任务按需生成与调度执行的方法技术

技术编号:34964791 阅读:22 留言:0更新日期:2022-09-17 12:45
本发明专利技术公开了一种任务按需生成与调度执行的方法,属于计算机技术领域,包括任务分组与处理、任务查询、任务按需生成、任务检索、任务调度和任务异步执行。本发明专利技术按需生成任务和任务清单,使调度及时准确,最优使用系统资源;在任务执行时监控状态,自动解决因故障出现的永远无法重新执行的脏任务问题,避免人工介入;解决任务并发执行问题,保障任务在调度执行中,仅有一个任务有效执行中。仅有一个任务有效执行中。仅有一个任务有效执行中。

【技术实现步骤摘要】
一种任务按需生成与调度执行的方法


[0001]本专利技术属于计算机
,具体涉及一种任务按需生成与调度执行的方法。

技术介绍

[0002]在现有各式各样的软件系统应用中,各种维度的耗时任务需求层出不穷。传统处理方式包括使用定时轮询调度,间隔固定时间执行预定的任务,通过简单的任务状态“待执行、执行中、执行结束”进行管理;实时执行任务,实时触发,但当任务触发频率高时,会触发大量重复的并发任务两种方法。其中两种方法存在以下问题:第一、调度间隔时间设定过长,导致任务长时间不能被执行,无法获取最新的任务结果; 如果设置过短,在上次任务未完成时,会产生多个同时执行的任务,不但损耗系统性能,执行结果因为并发出现冲途,容易产生错误;第二、高耗时任务通常采用异步调用的方式,当任务开始执行时,任务状态设置为“执行中”,如果执行任务的程序或者系统因为重启、宕机等特殊原因导致执行中断,任务的状态将永远处于“执行中”,永远无法重新执行,必须人工介入干预。第一种任务按需生成与调度执行的方法还存在:无法识别任务是否真正需要执行,只能根据设置的时间周期机械调用任务。在成百上千任务时,如果大部分任务结果没有发生变更时,任务执行无意义。
[0003]因此,本专利技术提供了一种任务按需生成与调度执行的方法,以至少解决上述部分技术问题。

技术实现思路

[0004]本专利技术要解决的技术问题是:提供一种任务按需生成与调度执行的方法,以至少解决上述部分技术问题。
[0005]为实现上述目的,本专利技术采用的技术方案如下:一种任务按需生成与调度执行的方法,包括以下步骤:步骤S1、将需处理的任务根据类型分组,对各组赋予任务标识P1

Pn,组内任务的任务标识与该组任务标识一致,将所述任务储存至异步任务执行清单中;步骤S2、查询异步任务执行清单中是否存在任务标识为 P1、任务状态为待执行或执行中的任务;步骤S3、经查询不存在任务标识为P1的任务,生成新任务并储存至异步任务执行清单中;步骤S4、间隔检索异步任务执行清单是否存在任务状态为待执行或执行中的任务;步骤S5、经检索当前时间存在任务状态为待执行或执行中的任务,有序调度任务执行并检查执行中的任务是否出现异常中断;步骤S6、上报任务执行状态并监控任务是否正常执行,在执行结束立刻更新任务状态。
[0006]进一步地,所述步骤S3具体包括:步骤S31、对同一类型需处理的任务按序赋予任务号;步骤S32、对各任务赋予同一任务标识 P1;步骤S33、对各任务按序赋予任务状态为待执行,并设定任务执行周期、任务准备执行时间以及允许的最大断线时间;步骤S34、将新任务储存至异步任务执行清单中。
[0007]进一步地,对同一类型需处理的任务按序由1到n对每个任务赋予一个任务号,第一个任务的任务号为1。
[0008]进一步地,所述任务准备执行时间为系统时间加上任务执行周期,任务的初始状态为待执行。
[0009]进一步地,所述步骤S5具体包括:步骤S51、检查任务集是否存在任务状态为执行中的任务;步骤S52、任务集中存在任务状态为执行中的任务则进入步骤S53,任务集中不存在任务状态为执行中的任务则进入步骤S55;步骤S53、判断当前系统时间减去任务最后执行时间是否小于允许的最大断线时间;步骤S54、当前系统时间减去任务最后执行时间小于或等于允许的最大断线时间,判定任务为正常执行,结束流程;当前系统时间减去任务最后执行时间大于允许的最大断线时间,判定任务为异常中断,设置该任务的任务状态为执行中断,并跳转至步骤S55;步骤S55、检查任务集是否存在任务状态为待执行的任务;步骤S56、任务集中不存在任务状态为待执行的任务,结束流程;步骤S57、任务集中存在任务状态为待执行的任务,且准备执行时间小于当前系统时间,结束流程;任务集中存在任务状态为待执行的任务,且准备执行时间大于或等于当前系统时间,进行异步执行任务。
[0010]进一步地,所述步骤S6具体包括:步骤61、赋予当前待执行的任务内部执行标识,并将内部执行标识设定为1;步骤62、更新异步任务执行清单中当前任务的任务状态为执行中、最后执行时间为系统时间;步骤63、执行预定的任务处理程序,并同步启用状态上报程序;步骤64、任务处理程序结束,更新当前任务的任务状态为执行完成或执行失败,并设定其内部执行标识为0。
[0011]进一步地,内部执行标识为0表示任务执行结束,内部执行标识为1表示任务处于执行中。
[0012]进一步地,所述状态上报程序具体为:每间隔5秒检查任务内部执行标识是否为0,内部执行标识为1,获取当前系统时间并更新异步任务执行清单该任务的最后执行时间;内部执行标识为0,退出流程。
[0013]进一步地,执行预定的任务处理程序与启用状态上报程序为并行同时进行。
[0014]进一步地,所述步骤S4中,检索间隔时间为5秒。
[0015]与现有技术相比,本专利技术具有以下有益效果:
本专利技术按需生成任务和任务清单,使调度及时准确,节约系统资源;在任务执行时监控状态,自动解决因故障出现的永远无法重新执行的脏任务问题,避免人工介入;解决任务并发执行问题,保障任务在调度执行中,仅有一个任务有效执行中。
附图说明
[0016]图1为本专利技术方法流程图。
具体实施方式
[0017]为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图,对本专利技术进一步详细说明。显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0018]如图1所示,本专利技术提供的按需生成任务和任务清单,使调度及时准确,节约系统资源;在任务执行时监控状态,自动解决因故障出现的永远无法重新执行的脏任务问题,避免人工介入;解决任务并发执行问题,保障任务在调度执行中,仅有一个任务有效执行中。
[0019]本专利技术包括以下步骤:步骤S1、任务分组与处理:步骤S1、将需处理的任务根据类型分组,对各组赋予任务标识P1

Pn,组内任务的任务标识与该组任务标识一致,将所述任务储存至异步任务执行清单中;步骤S2、任务查询:查询异步任务执行清单中是否存在任务标识为 P1、任务状态为待执行或执行中的任务;步骤S3、任务按需生成:经查询不存在任务标识为P1的任务,生成新任务并储存至异步任务执行清单中;步骤S4、任务检索:间隔检索异步任务执行清单是否存在任务状态为待执行或执行中的任务;步骤S5、任务调度:经检索当前时间存在任务状态为待执行或执行中的任务,有序调度任务执行并检查执行中的任务是否出现异常中断;步骤S6、任务异步执行:上报任务执行状态并监控任务是否正常执行,在执行结束立刻更新任务状态。
[0020]本专利技术按需生成任务,对不需要执行的任务在调度时不存在执行计划。本专利技术建立任务集用于任务执行,并实时检索任务执行状态,便于新任务及时生成并执行,使系统资源最优运行。本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种任务按需生成与调度执行的方法,其特征在于,包括以下步骤:步骤S1、将需处理的任务根据类型分组,对各组赋予任务标识P1

Pn,组内任务的任务标识与该组任务标识一致,将所述任务储存至异步任务执行清单中;步骤S2、查询异步任务执行清单中是否存在任务标识为 P1、任务状态为待执行或执行中的任务;步骤S3、经查询不存在任务标识为P1的任务,生成新任务并储存至异步任务执行清单中;步骤S4、间隔检索异步任务执行清单是否存在任务状态为待执行或执行中的任务;步骤S5、经检索当前时间存在任务状态为待执行或执行中的任务,有序调度任务执行并检查执行中的任务是否出现异常中断;步骤S6、上报任务执行状态并监控任务是否正常执行,在执行结束立刻更新任务状态。2.根据权利要求1所述的一种任务按需生成与调度执行的方法,其特征在于,所述步骤S3具体包括:步骤S31、对同一类型需处理的任务按序赋予任务号;步骤S32、对各任务赋予同一任务标识 P1;步骤S33、对各任务按序赋予任务状态为待执行,并设定任务执行周期、任务准备执行时间以及允许的最大断线时间;步骤S34、将新任务储存至异步任务执行清单中。3.根据权利要求2所述的一种任务按需生成与调度执行的方法,其特征在于,对同一类型需处理的任务按序由1到n对每个任务赋予一个任务号,第一个任务的任务号为1。4.根据权利要求2所述的一种任务按需生成与调度执行的方法,其特征在于,所述任务准备执行时间为系统时间加上任务执行周期,任务的初始状态为待执行。5.根据权利要求2所述的一种任务按需生成与调度执行的方法,其特征在于,所述步骤S5具体包括:步骤S51、检查任务集是否存在任务状态为执行中的任务;步骤S52、任务集中存在任务状态为执行中的任务则进入步骤S53,任务集中不存在任务状态为执行中的任务则进入步骤S55;步骤S53、判断当前系统时间减去任务最后...

【专利技术属性】
技术研发人员:陈强何旭
申请(专利权)人:中建电子商务有限责任公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1