一种自动化任务流调度方法以及系统技术方案

技术编号:32819269 阅读:26 留言:0更新日期:2022-03-26 20:16
本申请公开了一种自动化任务流调度方法以及系统,属于通信技术领域,调度方法包括:获取任务队列,其中,任务队列中包含组合任务和/或独立任务;从任务队列中按顺序取出一个任务;判断取出的当前任务内是组合任务还是独立任务;若取出的是组合任务,将当前组合任务拆分成多个子组合任务和/或子独立任务并且将拆分后的多个子组合任务和/或子独立任务重新返回到任务队列中形成新的任务;若取出的是独立任务,将当前独立任务进行调度直到整个任务队列中所有的独立任务被调度完毕。通过本申请调度方法,可以对各种复杂的任务流进行拆解调度,通用性强,设计难度低,降低了复杂编程时出错的风险,从而降低了任务流调度的错误率。从而降低了任务流调度的错误率。从而降低了任务流调度的错误率。

【技术实现步骤摘要】
一种自动化任务流调度方法以及系统


[0001]本专利技术属于通信
,尤其涉及一种自动化任务流调度方法以及系统。

技术介绍

[0002]任务流是一个任务执行单元的集合,是完成一个功能或服务所需的具体动作序列,具体的,任务流中包含多个子任务,处理任务流时,需要设计任务流调度系统将任务流中每个任务逐一调度到线程处进行执行,现有的调度系统针对一个任务流中每一个任务都需要单独编程进行调度,十分繁琐,当任务流集合较大时,调度系统程序的复杂度呈指数增加,这无疑增加了任务流调度系统的设计的难度,增加了设计出错的风险,容易导致任务流调度错误,并且,每个任务流调度系统只能对与其适配的任务流进行调度,当有不同的任务流时,需要重新设计任务流调度系统,工作量大。

技术实现思路

[0003](一)专利技术目的为了克服以上不足,本专利技术的目的在于提供一种自动化任务流调度方法以及系统,以解决现有的每个调度系统只能对其对应的任务流进行调度,通用性差以及设计难度大,增加了设计出错的风险,容易导致任务流调度出现错误的技术问题。
[0004](二)技术方案为实现上述目的,本申请一方面提供的技术方案如下:一种自动化任务流调度方法,包括:获取任务队列,其中,任务队列中包含组合任务和/或独立任务;从任务队列中按顺序取出一个任务;判断取出的当前任务内是组合任务还是独立任务;若取出的是组合任务,将当前组合任务拆分成多个子组合任务和/或多个子独立任务并且将按该组合任务在原任务队列中的排列顺序将拆分后的多个子组合任务和/或多个子独立任务重新返回到任务队列中形成新的任务队列;若取出的是独立任务,将当前独立任务进行调度直到整个任务队列中所有的独立任务被调度完毕。
[0005]本申请的调度方法以多层拆解的方式进行调度,调度过程中,每当取出一个任务后,均会判断当前取出的任务是组合任务还是独立任务,若是独立任务,则直接将该独立任务进行调度,若取出的是组合任务,由于其内还含有多个独立任务,需要将该组合任务逐层拆解直到该组合任务被拆分成多个独立任务,再将分出的独立任务进行调度,如此,无论是多复杂的任务流,均可以通过本申请的逐层递归拆解调度的方式进行调度,通用性强,并且,本申请整个调度逻辑只涉及判断、拆解以及调度三个步骤,编程程序难度小,降低了复杂编程时出错的风险,从而降低了任务流调度的错误率。
[0006]进一步地,还包括:每当成功调度完一个独立任务后,将成功调度的独立任务缓存
到成功执行队列中。
[0007]进一步地,将成功调度的独立任务缓存到成功执行队列中包括:若所有的独立任务均被成功调度并且全部被缓存到成功执行队列时,返回执行成功结果,成功执行队列作为一个记录载体,只有在所有的任务被成功调度后才会返回调度成功的结果,保证了调度的完整性以及准确性。
[0008]进一步地,将成功调度的独立任务缓存到成功执行队列中包括:若调度过程中有一个独立任务调度失败,将已经缓存在成功执行队列中的独立任务逐一进行回退,成功执行队列作为一个记录载体,每当有一个任务调度失败,将已完成成功调度的任务回退,需要重新进行调度,如此保证了整个调度任务的一致性。
[0009]本专利技术的另一方面提供了一种自动化任务流调度系统,用于实现上述的调度方法,系统包括:获取模块,用于获取任务队列,其中,任务队列中包含组合任务和/或独立任务;取出模块,用于从任务队列中按顺序取出一个任务;判断模块,用于判断取出的当前任务内是组合任务还是独立任务;拆分模块以及返回模块,拆分模块用于在判断模块判断到取出的是组合任务,将当前组合任务拆分成多个子组合任务和/或多个子独立任务,返回模块按该组合任务在原任务队列中的排列顺序将拆分后的多个子组合任务和/或多个子独立任务重新返回到任务队列中形成新的任务队列;调度模块,若取出的是独立任务,将当前独立任务进行调度直到整个任务队列中所有的独立任务被调度完毕。
[0010]进一步地,还包括:缓存模块,每当成功调度完一个独立任务后,将成功调度的独立任务缓存到成功执行队列中。
[0011]进一步地,还包括:返回模块,若所有的独立任务均被成功调度并且全部被缓存到成功执行队列时,返回执行成功结果。
[0012]进一步地,还包括:回退模块,若调度过程中有一个独立任务调度失败,将已经缓存在成功执行队列中的独立任务逐一进行回退,返回模块在所有任务均被回退后,返回执行失败结果。
附图说明
[0013]图1是本专利技术的自动化任务流调度方法的流程意图;图2是本专利技术的一个任务队列结构图。
具体实施方式
[0014]为使本专利技术的目的、技术方案和优点更加清楚明了,下面结合具体实施方式并参照附图,对本专利技术进一步详细说明。应该理解,这些描述只是示例性的,而并非要限制本专利技术的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本专利技术的概念。
[0015]请参阅图1,本专利技术提供的一种自动化任务流调度方法,包括:获取任务队列,其中,任务队列中包含组合任务和/或独立任务;
从任务队列中按顺序取出一个任务;判断取出的当前任务内是组合任务还是独立任务;若取出的是组合任务,将当前组合任务拆分成多个子组合任务和/或多个子独立任务并且按该组合任务在原任务队列中的排列顺序将拆分后的多个子组合任务和/或多个子独立任务重新返回到任务队列中形成新的任务队列;若取出的是独立任务,将当前独立任务进行调度直到整个任务队列中所有的独立任务被调度完毕。
[0016]具体的,初始时,在输入任务队列后,判断任务队列不为空,逐步进行任务调度,当调度完整个任务队列的所有任务后,判断任务队列为空,返回调度成功的结果。
[0017]具体的,初始时,任务队列中可能只包含独立任务或只包含组合任务或同时包含组合任务以及独立任务,每个任务队列会不相同。
[0018]具体的,组合任务包括:同步执行组合任务或异步执行组合任务,同步执行组合任务内包含多个任务,多个任务之间前后串联,异步执行组合任务包含多个任务,多个任务之间相互并联。一个组合任务至少包括两个独立任务,以同步执行或异步执行进行模块化划分。
[0019]具体的,调度时,调度出的每个任务交由线程进行处理,线程处根据整个任务队列的处理逻辑对各个任务进行前后或同时处理。
[0020]请参阅图2,具体的,以一个例子对上述调度过程进行说明:对任务FL1进行调度;开始

>人工输入任务队列:开始

FL1

结束;

>判断任务队列不为空;

>取出任务FL1;

>判断FL1为同步执行组合任务;

>将任务FL1拆分为A

ASFL1

E并且返回到任务队列中;

>取出任务A;

>判本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种自动化任务流调度方法,其特征在于,包括:获取任务队列,其中,所述任务队列中包含组合任务和/或独立任务;从任务队列中按顺序取出一个任务;判断取出的当前任务内是组合任务还是独立任务;若取出的是组合任务,将当前组合任务拆分成多个子组合任务和/或多个子独立任务并且按该组合任务在原任务队列中的排列顺序将拆分后的多个子组合任务和/或多个子独立任务重新返回到任务队列中形成新的任务队列;若取出的是独立任务,将当前独立任务进行调度直到整个任务队列中所有的独立任务被调度完毕。2.根据权利要求1所述的自动化任务流调度方法,其特征在于,还包括:每当成功调度完一个独立任务后,将成功调度的独立任务缓存到成功执行队列中。3.根据权利要求2所述的自动化任务流调度方法,其特征在于,所述将成功调度的独立任务缓存到成功执行队列中包括:若所有的独立任务均被成功调度并且全部被缓存到成功执行队列时,返回执行成功结果。4.根据权利要求3所述的自动化任务流调度方法,其特征在于,所述将成功调度的独立任务缓存到成功执行队列中包括:若调度过程中有一个独立任务调度失败,将已经缓存在成功执行队列中的独立任务逐一进行回退并且返回失败结果。5.根据权利要求1所述的自动化任务流调度方法,其特征在于,所述组合任务包括:同步执行组合任务或异步执行组合任务。6.一种自动化任务流调度系统,其特征在于...

【专利技术属性】
技术研发人员:程志达韩帆闵宇
申请(专利权)人:广东睿江云计算股份有限公司
类型:发明
国别省市:

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

1