手动业务流程

如果您的业务流程不需要周期性运行,但又需要将任务发布至生产环境运行,则可以创建手动业务流程,本文为您介绍如何创建手动业务流程,并将其发布到生产环境。

使用说明

  • 手动业务流程仅支持手动触发执行,不支持自动调度。

  • 手动业务流程各节点间的连线仅表示执行顺序,并非设置调度依赖。

  • 手动业务流程与周期工作流存在部分差异,详情请参见功能说明

设计手动业务流程

  1. 创建工作流

    1. 进入DataWorks工作空间列表页,在顶部切换至目标地域,找到已创建的工作空间,单击操作列的快速进入 > Data Studio,进入Data Studio。

    2. 在左侧导航栏单击image,然后在手动业务流程右侧单击image > 新建手动业务流程,自定义手动业务流程名称,单击确认进入手动业务流程编辑页面。

  2. 编排节点

    1. 在业务流程编辑页面顶部单击新建内部节点,选择需要的内部节点类型,自定义内部节点名称,单击确认创建,对应节点即会出现在画布中。

    2. 按需规划手动业务流程。

      进行业务流程设计时,当业务流程中节点个数较多时可能会影响实际运行,建议单个业务流程下节点总数不要超过100个,业务流程中最多创建200个节点。

  3. 配置业务流程参数

    如需在工作流内部所有节点间共享参数,可在画布右侧的调度配置 > 调度参数中,单击添加参数进行设置。在节点代码中通过${参数名}格式引用该参数。

    说明

    与工作流参数的优先级不同,业务流程内部节点若配置了同名调度参数,其优先级会低于业务流程调度参数。

  4. 优先级与并发数(高级配置)

    当多个业务流程或任务同时被触发,导致系统资源出现瓶颈时,您可以通过优先级加权策略实现智能化的资源调度,确保最重要的任务优先执行。

    • 保障核心业务:为核心业务的业务流程设置一个更高的优先级,使其总能优先于其他非核心业务流程运行。

    • 缩短关键流程耗时:在同一个业务流程实例内部,通过优先级加权策略,可以影响节点的执行顺序。例如,使用向下加权策略,可以让处于关键路径上、拥有更多上游依赖的节点获得更高的动态权重,从而优先执行,有效缩短整个业务流程的运行时长。

      配置项

      功能说明

      优先级

      定义工作流实例在调度队列中的绝对优先级别。可选级别为1、3、5、7、8(数字越大,优先级越高)。高优先级的任务/业务流程总会优先于低优先级的任务/业务流程获取调度资源。

      优先级加权策略

      定义同一优先级下,业务流程内部各节点(Task)权重的动态计算方式。权重越高的节点将优先获得执行机会。

      • 不加权:所有节点的权重均为固定基准值。

      • 向下加权:节点的权重会动态调整,其上游依赖的节点越多,权重越高。此策略有助于DAG(有向无环图)中关键路径上的节点优先执行。权重计算方式为:权重初始值 + 其上游所有节点的优先级之和

      最大并行实例数

      控制此业务流程在同一时间可运行的最大实例数量,用于并发控制和资源保护。当运行中的实例数达到上限时,后续被触发的新实例将进入等待状态。支持设置不限制或自定义一个最大值(上限100,000)。

      说明

      设置上限时若超过资源组最大可承受能力,则实际的并发瓶颈将由资源组的物理上限决定。

      DataWorks的优先级系统遵循层级覆盖规则:运行时指定 > 节点级配置 > 业务流程级配置

      1. 业务流程级配置 (基准):在业务流程的调度策略中配置,作为所有节点的默认设置。

      2. 节点级配置 (局部):在业务流程内部单个节点的调度配置 > 调度策略中为特定节点单独设置更高优先级,会覆盖业务流程级别的设置。

      3. 运行时指定 (临时):在运维中心手动运行时,通过运行时重置优先级开关指定的配置。该配置优先级最高,仅对当次运行生效,不修改任何永久配置。

开发业务逻辑

DataWorks将引擎能力进行封装,您可以基于引擎节点进行数据开发,无需接触复杂的引擎命令行,同时您也可以结合平台提供的通用类型节点进行复杂逻辑处理。

在业务流程内,您可以基于同步和计算节点等进行具体的业务流程开发。

  • 您可以编辑同步节点,配置同步的数据来源和去向,将某个数据库的数据同步到另一个数据库。

  • 您可以打开某个数据开发节点,进行具体的数据清洗工作,例如MaxCompute SQL节点,如果代码开发过程中需要用到资源或函数,DataWorks也支持您通过可视化的方式来创建资源节点和函数节点。数据开发的更多细节,请参见节点开发,创建资源和函数,详情请参见资源管理

发布手动业务流程

标准模式工作空间下,数据开发界面仅作为任务节点的开发与测试页面,如果您需要将代码发布到生产环境,您可以直接发布该业务流程,从而批量发布该业务流程下的节点。

  1. 单击手动业务流程顶部的运行,进入业务流程运行页面,测试各节点运行是否成功。

  2. 在业务流程运行页面,单击顶部的返回,然后进行发布

  3. 单击开始发布生产后,您可选择增量发布全量发布

    • 增量发布:可选择部分内部节点任务进行发布。

    • 全量发布:全量发布手动业务流程及所有内部节点任务。

  4. 在发布流程中,依次完成发布包构建开发检查器发布到开发环境生产检查器发布到生产环境步骤。

生产环境运行手动业务流程

  1. 任务发布完成后,您可以单击发布界面的去运维,前往运维中心查看。

    说明

    您也可以前往DataWorks工作空间列表页,在顶部切换至目标地域,找到已创建的工作空间,单击操作列的快速进入 > 数据运维,进入数据运维,然后在左侧导航栏找到手动任务运维

  2. 单击目标手动任务操作列的运行,来运行手动业务流程。

其他操作

克隆手动业务流程

您可通过克隆功能,快速克隆现有手动业务流程以创建新的业务流程。克隆内容包括业务流程及其内部节点(含代码调试配置调度配置),以及节点间的依赖关系和业务流程本身的调度配置

  1. 在左侧手动业务流程中,右键单击需要克隆的手动业务流程名称。

  2. 在弹出菜单中选择克隆,进入克隆弹窗。

  3. 在弹窗中修改手动业务流程名称路径(或保留默认值),单击确认开始克隆。

  4. 在克隆过程中,可通过弹窗查看克隆的当前进度持续时间完成节点数等详细信息。

  5. 克隆完成后,您可以在手动业务流程中查看新生成的手动业务流程。

版本管理

系统支持通过版本管理功能将手动业务流程还原到指定的历史版本,同时还提供版本查看与对比功能,方便您分析差异并做出调整。

  1. 在左侧手动业务流程中,双击目标手动业务流程名称,进入业务流程画布。

  2. 单击业务流程画布右侧的版本,在版本页面查看和管理开发记录发布记录信息。

    • 查看版本

      1. 您可以在开发记录发布记录页签中,找到需要查看的手动业务流程版本。

      2. 单击操作栏中的查看,在详情页中即可查看手动业务流程代码以及调度配置信息。

        说明

        调度配置信息支持脚本模式可视化模式查看,您可在调度配置页签右上角切换查看模式。

    • 对比版本

      您可以在开发记录发布记录页签中,对不同版本的手动业务流程进行对比。下面以开发记录为例,为您演示对比操作。

      • 开发或发布环境对比:在开发记录页签中,勾选两个版本,单击上方的选择对比按钮,即可对比不同版本的手动业务流程代码信息和调度配置信息。

      • 开发与发布或构建环境对比

        1. 开发记录页签中,定位到手动业务流程的某个版本。

        2. 单击操作栏中的对比按钮,在弹出的请选择对比的内容窗口中选择与发布记录构建记录中的某个版本进行对比。

    • 还原版本

      仅支持将开发记录中的手动业务流程还原到指定的历史版本。您可在开发记录页签中找到目标版本,单击操作栏中的还原按钮,即可将该手动业务流程信息还原至目标版本。

      说明

      还原时,系统会基于目标版本进行恢复,并生成一条新的版本记录。