返回主 PPT
DAG WORKFLOW

DAG 工作流 编排
让复杂变更一键可靠执行

5 种节点类型 · 6 种条件判断 · 3 种失败策略 · 变量自动传递 · 模板一键复用,
把多步骤运维从"人肉串联"升级为"一键自动编排"。

5
节点类型
6
条件判断
3
失败策略
6
状态流转
01 / 09
返回
NODE TYPES

5 种 节点类型

每个工作流由节点和边组成 — 节点执行任务,边定义依赖和数据流向

命令执行节点

在远程设备上执行运维命令。自动接入风险评估 + 多种下发策略(滚动、金丝雀、分组),安全可控。

脚本执行节点

调用脚本库中的标准化脚本,参数可从上一步结果或用户输入自动填入,杜绝手抄脚本出错。

条件分支节点

基于前一步结果自动决定走哪条路径。支持数值比较、文本匹配、模式匹配六种判断方式。

审批节点

流程在此暂停,等待指定角色复核。审批人可填写理由,超时按预设策略自动处理。

外部集成节点

对接外部系统 — 如发布管理平台、工单系统、监控平台等,返回数据自动成为下一步的输入变量。

节点组合:命令 + 条件 + 审批三类节点组合,即可搭建"检查 → 判断 → 风险确认 → 执行"的标准变更流程,比纯脚本更灵活、更可控。
02 / 09
返回
EXAMPLE

典型 工作流:数据库滚动升级

6 步串并行编排,包含备份、验证、条件分支、滚动升级、健康检查

开始
① 全量备份
② 备份验证
③ 审批
④ 停止从库
⑤ 主库升级
⑥ 从库升级
⑦ 健康检查
✓ 完成
✘ 失败分支
→ 回滚 + 告警
8
步骤节点
1
条件分支
1
审批点
30s
批间隔(滚动)
03 / 09
返回
CONDITIONS

6 种 条件运算符

灵活判定逻辑 — 数值比较、字符串匹配、正则表达式全覆盖

等于判断

字段完全一致即通过 — 例如"执行状态 等于 成功"

不等于判断

字段不一致即通过 — 例如"返回码 不等于 0"触发告警分支

大于判断

数值超过阈值即通过 — 例如"备份文件大小 大于 1GB"

小于判断

数值低于阈值即通过 — 例如"CPU 使用率 小于 80%"方可继续

包含判断

文本中包含关键字即通过 — 例如"输出 包含 OK"确认成功

模式匹配

文本匹配指定格式即通过 — 例如识别"版本号 vX.Y"格式

备份步骤输出
条件判断
满足
继续升级
不满足
回滚并告警
汇合点:结果写入审计日志
组合能力:多个判断可用"且 / 或"嵌套表达任意复杂逻辑;变量可在步骤间自动传递,用户输入、设备属性、上一步结果皆可作为判断依据。DAG 引擎自动阻止环路,保证流程必然收敛。
04 / 09
返回
FAILURE POLICY

3 种 失败策略

不同步骤对失败容忍度不同 — 选择合适策略,避免"一步错满盘皆输"

立即中止

步骤失败立即终止整个流程并返回失败状态。适合核心步骤 — 如备份失败则禁止升级。

自动重试

按约定次数 + 退避策略自动重试,持续故障再升级告警。适合网络抖动、临时锁冲突等场景。

重试策略可视化
第 1 次失败
等 5s
第 2 次失败
等 15s
第 3 次失败
上限 60s
触发告警

指数退避 — 短时网络抖动自动恢复,持续故障及时上报。最大重试次数、等待时间均可配置。

节点默认策略
  • 命令执行 默认中止(保守策略,保障安全)
  • 外部集成 默认重试(容忍网络抖动)
  • 审批节点 无失败(只有通过 / 拒绝 / 超时)
  • 条件判断 不会失败(仅决定走哪条分支)
05 / 09
返回
EXECUTION ENGINE

执行引擎:智能编排 + 并行调度

独立分支自动并行、依赖链自动串行 — 像 Photoshop 图层一样拓扑编排,无需人工排期

调度流程
1
合法性校验

启动前自动检测流程是否存在环路,非法流程直接拒绝执行

2
自动分层

按依赖关系自动划分执行层,同层节点可并行、跨层节点按序

3
并行调度

同层任务并发下发到远程设备,最大化利用带宽与算力

4
失败短路

关键步骤失败时,所有未开始的下游节点自动取消,避免连锁事故

5
结果汇总

每步执行状态与输出持久化存档,控制台实时推送进度

并行 vs 串行示例
第 1 层(起点)
① 备份
第 2 层(三路同时并行)
②a 备主
②b 备从
②c 备日志
第 3 层(等第 2 层全部完成)
③ 验证完整性
性能:百台设备并行执行秒级下发;8 层嵌套流程,编排解析毫秒级完成。
06 / 09
返回
VARIABLES & TEMPLATES

变量传递 + 模板化 复用

步骤之间共享数据 + 把通用流程存为模板,复用省去 80% 重复配置

四类变量自动传递
用户输入

启动流程时由操作员填写 — 如目标版本号、是否启用回滚、灰度比例等

步骤输出

上一步的执行结果自动成为下一步输入 — 如备份文件路径、耗时、成功状态

设备属性

当前执行设备的主机名、IP、标签、所属部门自动注入 — 无需每个步骤重新指定

运行时信息

流程编号、启动时间、执行人自动带入 — 便于审计回溯与通知模板渲染

模板化机制
  • 保存为模板 — 工作流完成一次后一键另存为团队资产
  • 参数化 — 模板预留输入项(如目标版本、回滚开关),实例化时填入即可
  • 一键实例化 — 从模板创建实例,填参数立即执行,全程无需重写流程
  • 版本化 — 模板升级自动保存新版本,历史实例仍绑定当时版本,可完整回溯
团队协作:把"数据库主从切换""证书批量更新""Nginx 灰度发布"等常见变更固化为模板,新人按模板填参即可执行。
07 / 09
返回
STATE MACHINE

执行 状态机

工作流实例 6 状态流转,支持暂停 / 恢复 / 取消,任何时刻状态都可回溯

待执行
已创建,等待调度开始执行
执行中
至少一个节点正在执行
已暂停
用户主动暂停或等待审批
已完成
所有节点成功执行完毕
已失败
关键节点失败触发流程中止
已取消
用户主动取消执行
状态流转规则
  • 待执行 → 执行中 — 调度器拉起第一个节点,流程正式开始
  • 执行中 → 已暂停 — 用户点击暂停 或 流程遇到审批节点
  • 执行中 → 已完成 — 所有末端节点成功结束,流程闭环
  • 执行中 → 已失败 — 关键步骤失败,所有未开始的下游节点自动取消
08 / 09
返回
SCENARIOS & VALUE

典型 场景 + 核心价值

把"3 天熬夜变更"压缩为"30 分钟模板执行"

数据库滚动升级

备份 → 验证 → 审批 → 停从库 → 主从升级 → 健康检查,6 步零人工值守

Nginx 灰度发布

选样本节点 → 发布 → 监控 5 分钟 → 条件分支 → 全量 / 回滚

批量证书更新

生成新证书 → 并行分发 500 台 → 验证 → 重载服务 → 通知

30min
典型变更耗时(从 3 天压缩)
0
人工值守节点数
100%
操作可回溯
80%
重复配置减少
"把复杂变更固化为可执行模板,让新人按钮一按,老人安心睡觉。"
09 / 09