跳转至

工作流定义

什么是工作流

工作流(Workflow),是对工作流程及其各操作步骤之间业务规则的抽象、概括描述。 工作流建模,即将工作流程中的工作如何前后组织在一起的逻辑和规则,在计算机中以恰当的模型表达并对其实施计算。简单来说,工作流就是对业务的流程化抽象。

根据业务流程的需要,工作流可以简单也可以复杂。 你可以创建自动启动的工作流, 也可以创建基于事件自动启动的工作流。工作流是一系列作业任务的集合,这些作业任务以流水线的形式向前执行,因此称为“工作流”。工作流中的作业任务可以是并行的,也可以是串行的。工作流示意图如下:

  • 圆形:表示任务的开始和结束。
  • 菱形:表示任务的分解。
  • 圆角矩形:表示具体任务的执行单元。
  • 圆点:表示任务的组合或合成。
  • 箭头:表示不同任务或相同任务的不同阶段的执行路径。

以视频处理为例,工作流包含转码、采样截图、时间点截图、转动图、雪碧图以及水印等作业任务。典型的视频处理任务工作流示例如下:

转码开始后,如果包含多个规格的转码任务,如标清、高清转码以及多尺寸截图等,则这些任务会被分解,然后并行执行,各转码子任务完成后再将结果进行合并,最后任务结束。

为什么需要工作流

工作流则是将业务流水线化,从原来的一团处理逻辑清晰的划分成为若干个步骤,每个步骤流转清晰明显。每个模块有非常高的内聚,模块之前有非常清晰的依赖。

Info

Workflows can help streamline and automate repeatable business tasks, minimizing room for errors and increasing overall efficiency.

业务可视化
借助工作流引擎,可以将业务可视化,通过工作流视图看到整个业务流程,每个节点执行什么业务逻辑一目了然,分支处理、异常处理也非常清晰。

业务可编排
业务总是千变万化的。通过工作流流程的重编排能力,则可以使得业务进一步在代码层面增加灵活性。可以通过节点的调整来快速调整业务流程,可以灵活增删节点,而不至于对整个流程有影响。

工作流使用场景

那么适合用工作流的业务有什么特点?

领域业务高复杂度

对于偏向业务系统的逻辑,并且具备一定的领域专业性,比如视频处理、数据分析等具备一定的领域复杂度的业务,可以用工作流模式,来实现业务的可视化。从全局的业务视角来观察整体系统架构。

多节点长链路

比如视频转码业务通常由多个节点和处理环节,每个节点都相对独立。此类业务就比较适合用工作流进行描述和建模流程。

什么是工作流节点

工作流节点是工作流中最基本的工作单元。工作流由一个或多个步骤组成, 每个步骤都包含特定的操作和关联的输入输出参数。当您根据工作流创建任务并执行时,任务的输入参数信息会自动传递到工作流的输入输出参数。平台提供了一系列可重用的工作流节点,可供您合并到工作流中。

什么是条件

设计工作流时, 可以使用工作流编辑器创建规则, 将条件逻辑应用到工作流程当做。 规则建立一个条件, 仅当该条件为 true 时, 工作流才会执行相关联的操作。 例如, 你可以创建一个规则, 其中仅当特定人员创建了项目时, 工作流才向某个服务后端发送处理完成信息。 您还可以为每个分支添加多个条件。

设计工作流

工作流是将您的个性化的业务逻辑嵌入到通用计算通用计算平台的强大方法。 既然您了解了工作流基础知识,您可能希望开始 创建工作流。 关于设计工作流和自定义工作流的详细信息您可以参考 工作流设计 相关章节。