2. 批次控制基础

在批次控制系统中,所有控制逻辑、异常恢复与审计追溯都建立在几个基础概念之上:批次(Batch)、作业(Job)、步骤(Step)以及描述它们运行规则的状态机(State Machine)。理解这些术语的边界与相互关系,是后续设计状态管理、断点续跑和异常恢复策略的前提。本节从概念定义出发,结合典型应用场景,建立批次控制的术语坐标系。

一、核心术语的层次关系

批次控制本质上是一种分层聚合模型:一个批次包含若干作业,一个作业包含若干步骤,而每个步骤在任意时刻都处于某个确定状态。四者的关系可以用下面的结构图表示。

批次控制四层术语结构 批次 Batch 一次完整生产/处理任务 作业 Job 批次内的可调度执行单元 步骤 Step 作业内的最小控制动作 状态 State 步骤/作业/批次的运行态 1 : N 批次 → 作业 1 : N 作业 → 步骤 1 : 1 步骤 → 当前状态 批次号 / 产品 / 数量 优先级 / 计划时间 作业类型 / 资源占用 重试次数 / 超时 步骤号 / 指令 / 参数 前置条件 / 后置校验 就绪 / 运行 / 暂停 完成 / 失败 / 中止

二、批次、作业、步骤的定义与职责

批次是业务层面的最高聚合单位,通常对应一次生产订单、一批数据处理任务或一轮实验。批次携带业务属性,如批次号、产品型号、计划数量、优先级和交付时间。批次本身不直接执行动作,它负责组织作业并对外提供整体进度与结果。

作业是调度层面的执行单元,是资源分配和并发控制的基本对象。一个批次可以拆分为多个作业,例如“上料作业”“加工作业”“检测作业”“包装作业”。作业拥有独立的生命周期,可以被单独启动、暂停、重试或取消,这使得异常恢复可以精确到作业粒度,而不必重跑整个批次。

步骤是控制层面的最小动作,直接对应设备指令、服务调用或数据操作。步骤是状态机真正作用的对象:每个步骤在任意时刻处于一个明确状态,步骤之间的迁移由前置条件、执行结果和异常规则共同决定。步骤的原子性设计决定了断点续跑能否可靠实现。

关键原则:批次管业务、作业管调度、步骤管执行。三者职责分离,才能在异常发生时做到“批次可追溯、作业可重试、步骤可续跑”。

三、状态机:步骤运行的核心规则

状态机定义了步骤允许出现的状态集合,以及状态之间允许的迁移路径。一个典型的步骤状态机包含以下状态:

  • IDLE(空闲):步骤已创建但尚未满足启动条件。
  • READY(就绪):前置条件满足,等待调度执行。
  • RUNNING(运行中):正在执行指令或调用服务。
  • PAUSED(暂停):被人工或规则主动挂起,可恢复。
  • COMPLETED(完成):执行成功且后置校验通过。
  • FAILED(失败):执行出错,可进入重试或人工介入。
  • ABORTED(中止):被强制终止,不可自动恢复。

状态迁移必须遵循白名单规则,禁止非法跳转。例如 RUNNING 不能直接跳到 COMPLETED 而跳过校验,FAILED 不能直接回到 RUNNING 而必须先经过 READY 或重试队列。状态机的严格性直接决定了异常恢复的可预测性。

步骤状态迁移示例(合法路径):
IDLE    --> READY      : 前置条件满足
READY   --> RUNNING    : 调度器派发
RUNNING --> COMPLETED  : 执行成功 + 校验通过
RUNNING --> FAILED     : 执行异常 / 超时
RUNNING --> PAUSED     : 人工暂停 / 规则挂起
PAUSED  --> READY      : 恢复执行
FAILED  --> READY      : 重试(未超上限)
FAILED  --> ABORTED    : 重试超限 / 人工终止

四、典型应用场景

场景 批次 作业 步骤 状态管理重点
制造业生产工单 一张生产订单 上料/加工/检测 启动设备、设定参数 设备故障后的步骤级续跑
数据批处理 一次离线计算任务 抽取/转换/加载 读取分片、写入分区 失败分片重试与幂等
实验室流程 一批样本检测 前处理/上机/分析 加样、温控、读数 样本级暂停与恢复
自动化运维 一次版本发布 预检/部署/验证 拉取镜像、重启服务 回滚与状态一致性

五、常见误区与复盘

误区一:把批次当步骤用。直接在批次上记录“运行中/完成”,会导致异常时无法定位到具体环节,只能整批重跑,代价极高。

误区二:状态迁移过于自由。允许任意状态互相跳转,看似灵活,实则让恢复逻辑无法收敛,容易出现“状态漂移”。

误区三:步骤不具备幂等性。重试时重复执行副作用操作(如重复扣款、重复写库),是批次系统最常见的数据事故来源。

复盘建议:在设计阶段就用状态机图把每个步骤的合法迁移画出来,并明确每个迁移的触发条件、超时时间和重试上限。状态机越清晰,异常恢复代码就越简单。

掌握批次、作业、步骤与状态机这四个基础概念,就建立了批次控制的“坐标系”。后续的断点续跑、失败重试、人工干预和审计追溯,都是在这个坐标系上展开的具体策略。