4. 数据源梳理:ERP、WMS、TMS、IoT 与外部 API
通知链路的起点是数据。供应链控制塔需要从多个异构系统实时或准实时地采集事件数据,才能驱动后续的规则判断与通知分发。本章对五大类核心数据源进行结构化梳理,明确每类数据源的关键事件、采集方式与数据质量要求。
4.1 数据源全景概览
下表从系统定位、典型事件、数据格式与采集频率四个维度,对五大数据源进行横向对比:
| 数据源 | 系统定位 | 典型事件 | 数据格式 | 推荐采集频率 |
|---|---|---|---|---|
| ERP | 企业资源计划(订单、财务、主数据) | 订单创建、发货过账、库存转移、发票核销 | IDoc / RFC / REST JSON | 实时(事件驱动) |
| WMS | 仓库管理系统(入库、出库、库存) | 收货确认、拣货完成、装车扫描、库存调整 | XML / JSON / 文件 | 实时(RF 扫描触发) |
| TMS | 运输管理系统(在途、运力、签收) | 发车、到达、异常停留、电子围栏进出 | JSON / CSV / API | 分钟级(轮询或推送) |
| IoT 设备 | 物联网终端(温湿度、震动、位置) | 温度超限、门磁异常、低电量告警 | MQTT / CoAP / 二进制 | 秒级(流式) |
| 外部 API | 第三方服务(天气、交通、海关、供应商) | 恶劣天气预警、港口拥堵、清关放行 | REST / GraphQL | 定时(15-60 分钟) |
实践建议: 在控制塔项目初期,优先接入 ERP 订单事件与 WMS 出库事件,这两类数据覆盖了 80% 以上的客户通知场景。IoT 与外部 API 可作为第二阶段扩展。
4.2 ERP 数据源
ERP 是供应链控制塔的“主脑”,提供订单主数据、库存状态与财务凭证。关键事件包括:
- 订单创建/变更: 触发“订单确认”通知,包含客户、物料、数量、交期。
- 发货过账(GI): 触发“已发货”通知,包含物流单号、承运商。
- 库存转移: 触发“库存调拨”通知,用于内部补货场景。
- 发票核销: 触发“财务对账”通知,用于 B2B 客户。
ERP 数据采集通常采用 IDoc(Intermediate Document) 或 RFC(Remote Function Call) 接口。以下是一个简化的 IDoc 监听配置示例:
// 基于 SAP PI/PO 的 IDoc 监听配置片段
{
"idocType": "ORDERS05",
"messageType": "ORDER",
"receiverPort": "CONTROL_TOWER_HTTP",
"filter": {
"segment": "E1EDK01",
"field": "BSART",
"value": "ZOR" // 标准销售订单
},
"callbackUrl": "https://ctower.example.com/api/v1/events/erp"
}
4.3 WMS 数据源
WMS 提供仓库作业的实时状态,是“已拣货”、“已打包”、“已装车”等通知的源头。核心事件:
- 收货确认: 触发“入库完成”通知,用于采购方。
- 拣货完成: 触发“准备发货”通知,用于内部运营。
- 装车扫描: 触发“已发运”通知,包含实际发运时间。
- 库存调整: 触发“库存差异”告警,用于异常处理。
WMS 数据通常通过 消息队列 或 Webhook 推送至控制塔。以下是一个 WMS 出库事件的 JSON 示例:
{
"eventType": "PICKING_COMPLETE",
"timestamp": "2025-03-21T14:30:00Z",
"warehouse": "WH-SH-01",
"orderId": "SO-20250321-001",
"items": [
{
"sku": "SKU-A100",
"qty": 50,
"location": "A-12-03"
}
],
"carrier": "SF_EXPRESS",
"trackingNo": "SF1234567890"
}
4.4 TMS 数据源
TMS 管理运输执行过程,提供在途可见性。关键事件:
- 发车事件: 触发“运输开始”通知。
- 到达事件: 触发“已到达/目的地”通知。
- 异常停留: 触发“运输延迟”告警。
- 电子围栏进出: 触发“车辆接近”通知,用于预约收货。
TMS 数据采集建议采用 轮询 + Webhook 双通道 模式,确保数据不丢失。
4.5 IoT 设备数据源
IoT 设备提供物理世界的实时感知数据,是冷链、危险品等场景的必备数据源。典型设备与事件:
| 设备类型 | 采集数据 | 触发通知条件 |
|---|---|---|
| 温湿度记录仪 | 温度、湿度 | 温度 > 8°C 或 < 0°C(冷链) |
| 震动传感器 | 加速度、冲击 | 加速度 > 3G |
| GPS 定位器 | 经纬度、速度 | 偏离规划路线 > 500m |
| 门磁传感器 | 开关状态 | 非授权开门 |
IoT 数据通常通过 MQTT Broker 接入控制塔,数据格式为轻量级 JSON 或二进制 Protobuf。
4.6 外部 API 数据源
外部 API 为控制塔提供环境上下文,增强通知的预见性。常见外部数据源:
- 天气 API: 获取台风、暴雨、暴雪预警,触发“运输风险”通知。
- 交通 API: 获取实时路况与拥堵指数,触发“预计延迟”通知。
- 海关 API: 获取清关状态(放行/查验),触发“清关完成”通知。
- 供应商 API: 获取供应商发货确认与 ASN,触发“采购在途”通知。
注意: 外部 API 通常有调用频率限制与认证机制。建议在控制塔中设计统一的 API 网关层,负责限流、重试与缓存,避免因第三方服务不稳定导致通知链路中断。
4.7 数据源集成架构
下图展示了控制塔与五大数据源之间的逻辑集成关系,以及事件数据在通知链路中的流转路径:
4.8 数据质量与治理要点
数据源接入后,必须建立数据质量监控机制,否则通知链路将产生大量误报或漏报。关键治理指标:
| 维度 | 指标 | 目标值 | 监控方式 |
|---|---|---|---|
| 完整性 | 必填字段缺失率 | < 0.1% | Schema 校验 + 告警 |
| 时效性 | 事件产生到接入延迟 | < 30 秒(实时场景) | 时间戳比对 + 延迟告警 |
| 准确性 | 数据值与源系统一致率 | 100% | 定期对账 + 抽样比对 |
| 唯一性 | 重复事件比例 | < 0.01% | 事件 ID 去重 + 幂等处理 |
关键结论: 数据源梳理不是一次性工作。随着业务扩展,新的数据源(如 MES、QMS、供应商协同平台)会不断接入。建议在控制塔中维护一份“数据源注册表”,记录每个数据源的连接方式、事件列表、SLA 与负责人,作为持续运营的基础。