1. 制造数据流批实时一体工程导论
在智能制造场景中,数据不再只是事后统计的报表来源,而是驱动设备控制、质量判定、排产调度与能耗优化的实时生产要素。一条汽车焊装产线每秒可能产生数万条传感器采样,而一份月度质量分析报告又需要跨数月、跨车间地汇总历史数据。这两类需求在时间尺度、数据形态和处理语义上差异巨大,却必须共享同一份"事实"。制造数据流批实时一体工程,正是为解决这种"同一数据、多种时效"的矛盾而提出的工程方法体系。
制造数据的四个基本特征
理解一体化的必要性,先要看清制造数据本身的特征。它不同于互联网点击流,也不同于传统企业ERP数据,主要体现在四个方面。
- 强时序与高频率:PLC扫描周期常为1~10 ms,振动、电流、温度等信号以毫秒级持续写入。数据天然带时间戳,且顺序不可随意重排。
- 多源异构:设备侧有OPC UA、Modbus、MQTT,MES侧有关系库,视觉系统输出图像与结构化缺陷记录,ERP提供工单与物料。格式、协议、语义各不相同。
- 质量参差:现场存在丢包、时钟漂移、量程跳变、重复上报。原始数据往往"脏",需要清洗、对齐、补全后才能用于判断。
- 时效分层:同一批数据,安全联锁要求毫秒级响应,工艺参数监控要求秒级,OEE统计要求分钟级,质量追溯与成本核算则按天或按月。时效不同,处理路径就不同。
这四点决定了:用单一技术栈同时满足所有时效需求,几乎必然在延迟或成本上失衡。因此需要"一体"而非"统一"——统一的是数据语义与治理规则,分层的是处理时效与计算引擎。
流批实时一体的核心理念
流批实时一体并非把流处理和批处理简单拼在一起,其核心是同一份数据定义、同一套计算逻辑、按需选择执行时效。具体包含三层含义。
第一层是数据模型一体。无论数据来自实时通道还是历史归档,都遵循同一张主题表结构。例如"设备状态事件"统一包含设备编号、时间戳、状态码、来源系统、数据质量标记五个字段。实时链路写入的与批处理回算的,字段语义完全一致,避免"实时看一个口径、报表看另一个口径"。
第二层是计算逻辑一体。同一段业务规则,例如"连续3个采样点超出上限即判定为异常",既能在流引擎中增量执行,也能在批引擎中对历史区间重算。逻辑以SQL或算子图形式表达,由执行引擎决定是逐条增量还是区间扫描。
第三层是时效按需选择。安全联锁走毫秒级规则引擎,工艺监控走秒级流计算,日终报表走批处理,而追溯查询走交互式分析。它们读取同一份数据,只是触发时机与计算粒度不同。
工程目标与整体架构
本课程将围绕五个工程目标展开:低延迟(关键链路端到端秒级以内)、高吞吐(单线每秒十万级事件)、口径一致(实时与离线指标可对账)、可回溯(任意历史时刻可重算)、易运维(故障可定位、状态可观测)。这五个目标之间存在张力,架构设计本质上是在它们之间做权衡。
整体架构可分为四层。最下层是接入与缓冲层,负责协议适配、边缘预处理与消息缓冲,典型组件包括边缘网关、MQTT Broker、Kafka。其上是存储与计算层,包含时序库、对象存储、流计算引擎与批计算引擎,承担数据的持久化与两类时效的计算。再上是语义与治理层,定义统一数据模型、指标口径、数据质量规则与元数据血缘。最上是服务与应用层,面向监控大屏、质量追溯、排产优化等场景提供查询与订阅接口。
图中自下而上呈现数据从设备到应用的流动方向。设备与业务系统产生的原始数据经接入层完成协议转换与缓冲,进入存储与计算层后,由流计算引擎处理秒级以内的增量计算,由批计算引擎处理历史区间扫描与回算。两者共享同一份存储,并通过语义治理层统一模型与口径,最终向上支撑各类应用。右侧标注了不同计算路径的典型时效范围,说明"一体"不等于"同一延迟",而是同一数据在不同时效路径上的一致表达。
一个可对照的示例场景
以某焊装车间一台点焊机器人为例。其电流、电压、电极压力以2 ms周期采样,经边缘网关聚合为10 ms窗口后写入Kafka。流计算引擎消费该主题,执行"连续5个窗口电流均值低于设定下限则触发焊接质量预警"的规则,预警在1秒内推送至监控大屏。同时,原始10 ms窗口数据落入时序库,日终批计算引擎扫描全天数据,按同一规则重算每个焊点的质量判定,生成质量追溯报表。若白天因网络抖动漏算,夜间批处理可基于完整数据回补,且判定口径与实时链路完全一致。这就是"流批实时一体"在制造现场的最小闭环。