System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术属于工作流模型,尤其涉及一种工作流模型以及工作流模型的执行方法、电子设备和存储介质。
技术介绍
1、现有的工作流模型常见的有几类:顺序工作流模型:任务按照顺序严格执行,前一个任务的输入作为后一个任务的输出;并行工作流模型:任务可以同时进行而无需等待其他任务执行完成;分支工作流模型:根据前一个任务运行结果进行条件判断,并决定分支到特定的任务路径;dag工作流模型:dag即有向无环图,通过将任务作为dag的节点,来进行复杂的流程控制,dag工作流模型可以实现上面三种工作流的功能,具有很好的扩展性。
2、目前常见的工作流引擎基本上是基于dag有向无环图工作流模型来实现的,这种工作流模型有以下几个特点:描述不同任务之间的依赖关系;支持不同分支任务并行执行;支持对失败任务进行重试,而不会影响其他分支任务;通过dag的延展性,可以将大的dag流程拆细,从而实现分层结构,提高扩展性;可进行灵活的流程控制;
3、dag工作流模型虽然对比其他简单的工作流模型有很多优点,但是也同时存在一些缺点:异常流程的处理,这种模型在任务执行的过程中遇到异常情况时,主要有两种处理方式,一种是直接结束流程,一种是忽略错误继续执行。如果想要做一些流程的回退或者资源的清理,这种模型就显得力不从心;控制逻辑和处理逻辑混在一起;控制逻辑扩展困难,dag工作流模型想要引进控制逻辑,比如定时执行、重复执行、失败重试的话基本只能在任务节点之上进行控制,如果在任务节点上增加过多的控制逻辑,就会任务执行过程带来不稳定性。而且想要自定义控制逻辑也会变
技术实现思路
1、鉴于以上现有技术的不足,专利技术的目的在于提供一种工作流模型以及工作流模型的执行方法、电子设备和存储介质,解决现有工作流模型中控制逻辑和处理逻辑混在一起、控制逻辑扩展困难的问题。
2、本专利技术的第一方面,提出了一种工作流模型,包括:控制节点和逻辑节点;
3、控制节点和逻辑节点连接成多叉树型;
4、控制节点用于对任务执行的流程进行控制;
5、逻辑节点用于定义任务逻辑,执行任务逻辑主题;
6、执行任务时,工作流模型根据控制节点和逻辑节点的连接关系自顶向下执行;
7、回调任务时,工作流模型根据控制节点和逻辑节点的连接关系自顶向下执行;
8、其中,控制节点至少包括如下四种中的一种:串行执行控制节点、并行执行控制节点、定时控制节点和执行次数控制节点。
9、本专利技术的第二方面,提出了一种工作流模型的执行方法,应用于包括:控制节点和逻辑节点连接成多叉树型的工作流模型中,包括:
10、执行任务时,根据控制节点和逻辑节点的连接关系自顶向下执行;
11、回调任务时,根据控制节点和逻辑节点的连接关系自顶向下执行;
12、其中,控制节点至少包括如下四种中的一种:串行执行控制节点、并行执行控制节点、定时控制节点和执行次数控制节点;
13、逻辑节点用于定义任务逻辑,执行任务逻辑主题。
14、进一步地,上述一种工作流模型的执行方法中,执行任务时,根据控制节点和逻辑节点的连接关系自顶向下执行,包括:
15、当控制节点中的串行执行控制节点是父节点时,子节点根据顺序串行执行,前一个节点的结果作为后一个节点的输入。
16、进一步地,上述一种工作流模型的执行方法中,执行任务时,根据控制节点和逻辑节点的连接关系自顶向下执行,还包括:
17、当控制节点中的并行执行控制节点是父节点时,子节点并行执行,并将结果汇总。
18、进一步地,上述一种工作流模型的执行方法中,执行任务时,根据控制节点和逻辑节点的连接关系自顶向下执行,还包括:当控制节点中的定时控制节点是父节点时,子节点按照interval方式/cron方式定时执行或指定时间执行。
19、进一步地,上述一种工作流模型的执行方法中,执行次数控制节点用于指定任务重复运行次数。
20、进一步地,上述一种工作流模型的执行方法中,回调任务时,根据控制节点和逻辑节点的连接关系自顶向下执行,包括:
21、在控制节点定义回调逻辑;
22、当控制节点中的串行执行控制节点是父节点并且是正在执行状态时,找到最后一个执行的子节点回调,回调顺序为从最后一个执行的子节点开始一直到前面所有已执行节点回调逻辑处理完。
23、进一步地,上述一种工作流模型的执行方法中,回调任务时,根据控制节点和逻辑节点的连接关系自顶向下执行,包括:
24、当控制节点中的并行执行控制节点是父节点并且是正在执行状态时,找到非待执行状态的节点回调,回调顺序为从非待执行状态的节点开始一直到前面所有已执行节点回调逻辑处理完。
25、本专利技术的第三方面,还提出了一种电子设备,包括:处理器和存储器;
26、所述处理器通过调用所述存储器存储的程序或指令,用于执行如上所述任一项所述一种工作流模型的执行方法。
27、本专利技术的第四方面,还提出了一种计算机可读存储介质,所述计算机可读存储介质存储程序或指令,所述程序或指令使计算机执行如上所述任一项所述一种工作流模型的执行方法。
28、本专利技术的有益效果如下:本专利技术在执行任务时,根据控制节点和逻辑节点的连接关系自顶向下执行;回调任务时,根据控制节点和逻辑节点的连接关系自顶向下执行;其中,控制节点至少包括如下四种中的一种:串行执行控制节点、并行执行控制节点、定时控制节点和执行次数控制节点;逻辑节点用于定义任务逻辑,执行任务逻辑主题。本专利技术提出的一种多叉树型工作流模型,是一种可扩展、实现简单的通用工作流模型,能够适配各种工作流形态,执行任务时,控制节点和逻辑节点分离解耦,能够专注于逻辑处理,而不需要额外处理过多的流程控制,保证工作流模型整体的健壮性。
本文档来自技高网...【技术保护点】
1.一种工作流模型,其特征在于,包括:控制节点和逻辑节点;
2.一种工作流模型的执行方法,其特征在于,应用于包括:控制节点和逻辑节点连接成多叉树型的工作流模型中,包括:
3.根据权利要求2所述的一种工作流模型的执行方法,其特征在于,所述执行任务时,根据所述控制节点和所述逻辑节点的连接关系自顶向下执行,包括:
4.根据权利要求2所述的一种工作流模型的执行方法,其特征在于,所述执行任务时,根据所述控制节点和所述逻辑节点的连接关系自顶向下执行,还包括:
5.根据权利要求2所述的一种工作流模型的执行方法,其特征在于,所述执行任务时,根据所述控制节点和所述逻辑节点的连接关系自顶向下执行,还包括:当控制节点中的定时控制节点是父节点时,子节点按照interval方式/cron方式定时执行或指定时间执行。
6.根据权利要求2所述的一种工作流模型的执行方法,其特征在于,所述执行次数控制节点用于指定任务重复运行次数。
7.根据权利要求2所述的一种工作流模型的执行方法,其特征在于,所述回调任务时,根据所述控制节点和所述逻辑节点的连
8.根据权利要求2所述的一种工作流模型的执行方法,其特征在于,所述回调任务时,根据所述控制节点和所述逻辑节点的连接关系自顶向下执行,包括:
9.一种电子设备,其特征在于,包括:处理器和存储器;
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储程序或指令,所述程序或指令使计算机执行如权利要求2至8任一项所述一种工作流模型的执行方法。
...【技术特征摘要】
1.一种工作流模型,其特征在于,包括:控制节点和逻辑节点;
2.一种工作流模型的执行方法,其特征在于,应用于包括:控制节点和逻辑节点连接成多叉树型的工作流模型中,包括:
3.根据权利要求2所述的一种工作流模型的执行方法,其特征在于,所述执行任务时,根据所述控制节点和所述逻辑节点的连接关系自顶向下执行,包括:
4.根据权利要求2所述的一种工作流模型的执行方法,其特征在于,所述执行任务时,根据所述控制节点和所述逻辑节点的连接关系自顶向下执行,还包括:
5.根据权利要求2所述的一种工作流模型的执行方法,其特征在于,所述执行任务时,根据所述控制节点和所述逻辑节点的连接关系自顶向下执行,还包括:当控制节点中的定时控制节点是父节点时,子节点按照interval方...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。