4. 信号采集层设计:IoT传感器、ERP/SCM系统接口、人工录入的标准化数据采集协议
信号采集层是控制塔异常信号传输的“神经末梢”。该层负责将物理世界(IoT传感器)、数字世界(ERP/SCM系统)以及人工判断(现场录入)三类异构数据源,统一转换为控制塔可识别的标准化事件报文。设计核心在于协议统一与语义对齐。
4.1 三类数据源的采集特征对比
| 数据源类型 | 典型设备/系统 | 通信协议 | 数据频率 | 异常信号触发方式 |
|---|---|---|---|---|
| IoT传感器 | 温湿度、振动、GPS、RFID | MQTT / CoAP / OPC-UA | 秒级~分钟级 | 阈值越界、变化率异常 |
| ERP/SCM系统 | SAP、Oracle、WMS、TMS | REST API / SOAP / 文件批处理 | 分钟级~小时级 | 订单延迟、库存短缺、运输中断 |
| 人工录入 | 移动终端、PDA、Web表单 | HTTPS / WebSocket | 事件驱动(非固定周期) | 质检不合格、现场异常上报 |
设计原则:所有数据源在进入采集层后,必须经过“协议适配 → 字段映射 → 时间戳对齐 → 质量校验”四步处理,才能进入异常检测管道。
4.2 标准化数据采集协议(SCP-ADT)
我们定义了一套轻量级、可扩展的供应链采集协议(Supply Chain Acquisition Protocol for Anomaly Data Transmission, SCP-ADT)。该协议采用JSON作为载荷格式,包含三个核心段:Header、Payload、Signature。
{
"header": {
"protocolVersion": "1.0",
"messageId": "MSG-20250321-001",
"sourceType": "IoT_SENSOR", // IoT_SENSOR | ERP_SYSTEM | MANUAL_INPUT
"sourceId": "SENSOR-TEMP-0123",
"timestamp": "2025-03-21T14:30:00.000Z",
"priority": 2 // 1=紧急, 2=重要, 3=普通
},
"payload": {
"eventType": "TEMPERATURE_EXCEED",
"eventCode": "E-TEMP-001",
"location": "WH-03-Aisle-12",
"measurement": {
"value": 38.5,
"unit": "°C",
"threshold": 30.0
},
"context": {
"batchId": "BATCH-20250320",
"productSku": "SKU-8801"
}
},
"signature": {
"hash": "a1b2c3d4e5f6...",
"signingMethod": "HMAC-SHA256"
}
}
4.3 采集层架构与数据流
下图展示了从异构数据源到标准化事件总线的完整采集链路。每个适配器负责协议转换与异常预检,确保只有符合SCP-ADT格式的信号才能进入控制塔核心。
4.4 关键设计要点
- 时间戳统一:所有数据源必须使用UTC时间戳,传感器侧需做NTP同步,系统接口侧需做时区转换。
- 异常预检下沉:在适配器层完成基础阈值判断(如温度>35°C),避免无效数据进入总线。
- 消息去重:基于messageId与sourceId做幂等性校验,防止网络重传导致重复告警。
- 优先级标记:紧急异常(如冷库断电)标记priority=1,直接绕过队列进入实时处理通道。
常见陷阱:人工录入数据往往缺少精确时间戳或设备ID。建议在移动终端强制绑定操作员ID、GPS位置和系统时间,否则该数据源将被采集层标记为“低可信度”并降级处理。
4.5 采集层性能指标
| 指标名称 | 目标值 | 测量方式 |
|---|---|---|
| 端到端采集延迟 | < 500ms(IoT)/ < 5s(系统接口) | 从数据源产生到事件总线接收 |
| 协议转换成功率 | > 99.9% | 成功转换报文 / 总接收报文 |
| 数据质量通过率 | > 98% | 通过校验报文 / 总转换报文 |
| 消息去重率 | < 0.1% 重复进入总线 | 去重后报文 / 去重前报文 |
通过上述设计,信号采集层能够将千差万别的供应链数据源统一为SCP-ADT标准格式,为后续的异常检测引擎提供干净、可信、低延迟的信号输入。这是控制塔实现“全域感知”的第一道关口,也是整个异常信号传输优化的基础保障。