← 首页 · 边缘工程 边缘工程

边缘 AI 时间同步(NTP / PTP)与事件时间戳可执行手册

调研日期:约 2026-10-25(Asia/Shanghai)
定位:站内边缘 AI 网关、多路相机、MCU 传感、MQTT 事件与 录波 / SOE / 104 的时钟对齐;保证 Schema 字段 ts 可信、可追溯。
上游衔接:edge-ai-event-schema-acceptance.md、edge-ai-mqtt-hardening-offline-buffer.md、edge-ai-substation-gateway-bom.md、edge-ai-mcu-tinyml-sensing-cookbook.md、edge-ai-multistream-rtsp-scheduling.md、edge-ai-d60-d90-acceptance-checklist.md。
工具以 chrony、linuxptp(ptp4l / phc2sys / timemaster) 公开文档为准;站端 GPS/北斗接收机与调度时钟型号 unknown(以运维现网为准)。不确定处标 unknown。


0. 一句话结论

边缘 AI 必须有站内可追溯时钟:最低 NTP/SNTP(chrony) 对站控/管理网 NTP;有条件上 PTP(IEEE 1588,ptp4l)+ GPS/北斗。事件 Schema 的 ts 建议 UTC(带 Z)或带显式偏移,并可选上报 clock_quality。时钟跳变、断 NTP 要告警;禁止把未同步、大幅跳变后的事件当金标准对标 SOE。中国大陆 无夏令时,禁止本地脚本按 DST 改钟。


1. 为何要对时(硬动机)

场景 错时后果 可接受量级(站端经验目标,非标准承诺)
多路 RTSP 相机检出合并 同场景多路框时间错位 → 误关联、难例错配 站内相对偏差 ≤100 ms(视觉告警);录波级须更严
MCU 振动/AFCI 窗 + 网关二次确认 特征窗与视频帧对不齐 → 复标失败 MCU↔网关 ≤50~200 ms(视串口/MQTT 缓冲)
MQTT events ↔ 104/SOE 主站 SOE 与 AI 事件无法交叉追溯 与站控时钟 ≤1 s(最低);有 PTP 时目标 ≤1~10 ms 量级
主动学习难例抽帧 错 ts 抽到错误前后文 → 脏标污染 A 轨 抽帧窗口依赖可信 ts
审计 / 事故反查 无法证明「告警时刻」与一次设备动作先后 无可信时钟 = 证据链断裂

红线

# 红线 说明
T1 上电未同步不得冒充金标准 clock_quality 差时事件默认 quality=suspect,禁止写进验收金标准集
T2 禁止跨保用 AI 钟 AI VLAN 时钟与保护网 GPS/PTP 可同源参考,但禁止经 MQTT/AI 路径改保护装置钟
T3 禁止容器自改主机钟无审计 容器内 chronyd 若碰主机时钟须权限与审计;推荐主机管钟、容器读系统钟
T4 中国站禁止 DST 逻辑 不启用夏令时规则;Asia/Shanghai 固定 UTC+8

2. 方案分层(选型与落地)

2.1 分层总表

层级 技术 典型精度量级 适用 默认建议
L0 最低 SNTP / NTP 客户端(chrony 或 systemd-timesyncd) 数十 ms~数百 ms(跨 VLAN/WAN 更差) 所有边缘盒 必做
L1 站内 NTP 站控 / 管理网 NTP 服务器(或调度下发 NTP) 数 ms~数十 ms 多盒同站对齐 试点必做
L2 PTP IEEE 1588-2008/2019,ptp4l + phc2sys 亚 ms~数十 μs(硬件时间戳) 与录波/SOE/交换机 PTP 域对齐 有条件(B/C 档、要与录波对标时)
L3 GNSS GPS / 北斗 接收机 → 站钟 → NTP/PTP Grandmaster 与卫星钟同源 变电站主钟已有则接入 优先 跟站钟,边缘盒不做独立卫星钟
L4 组合 timemaster(ptp4l+phc2sys → chrony SOCK)或 chrony 以 PTP 为参考、NTP 为后备 取优 要 PTP 精度又要 NTP 韧性 推荐组合

2.2 主机:chrony 最低配置要点

  • 安装:chrony(Debian/Ubuntu 常见包名);禁用与 systemd-timesyncd 双跑(二选一,默认 chrony)。
  • 指站内 NTP:server <站控NTP> iburst;可选公网仅作 运维备路(生产站内常禁外网)。
  • 常用核验:chronyc tracking(参考源、Last offset、RMS offset、Leap status);chronyc sources -v。
  • 硬件时间戳:ethtool -T ethX 确认 HW TX/RX;chrony hwtimestamp 勿与同口 ptp4l 抢 PHC(冲突时分口或走 timemaster)。
  • 步进 vs 渐变:大偏差时 chrony 可 step;生产建议配置 告警阈值(见 §4),避免静默大跳。

2.3 PTP:ptp4l / phc2sys / timemaster

组件 作用 要点
ptp4l Ordinary/Boundary/Transparent Clock clientOnly 边缘从钟常见;domainNumber 与站域一致;优先 硬件时间戳 NIC
phc2sys PHC ↔ 系统钟 把网卡 PHC 同步到 CLOCK_REALTIME,或反向按站设计
timemaster 一键编排 ptp4l + phc2sys + chronyd PTP 作 SOCK 参考、NTP 作后备;适合「PTP 优先、断 PTP 仍能 NTP」
pmc 查询 PTP 状态 监控 Grandmaster 是否存在、偏移(偏移对象常是 PHC,不等于系统钟,须分清)

站端注意:

  1. 域号 / Profile 跟运维现网(电力站常见专用 profile,具体编码 unknown,以站钟文档为准)。
  2. AI 网关默认 Ordinary Clock 从钟,不做站级 Grandmaster。
  3. 与录波装置同 PTP 域时,才能谈「ms 级对标」;仅 NTP 时验收写清「秒级对齐」。

2.4 容器与板级

部署 推荐 禁止 / 慎用
裸机 / Yocto / Debian 板 主机 chronyd(+ 可选 ptp4l) 多容器各自改钟
Docker / K8s 边缘 主机管钟;容器读系统时间;需要时挂载 /etc/localtime 只读 特权容器随意 CAP_SYS_TIME 无审计
MCU 无完整 NTP 栈时:上电后由网关 授时报文 或相对序号;事件带 ts_gateway 与 ts_mcu_mono 假装 MCU RTC 已与站钟绝对对齐且不声明质量
相机 优先 网关打戳(解码/推理时刻);ONVIF 相机 NTP 若可用可作辅 仅信相机 OSD 墙钟且无质量字段

3. 事件字段:ts 与 clock_quality

3.1 ts 约定(对齐 Schema)

约定 推荐 说明
序列化 RFC 3339 例:2026-10-25T01:00:00.123Z 或 2026-10-25T09:00:00.123+08:00
首选 UTC + Z 跨站、跨时区汇聚最省事;主站展示再转 Asia/Shanghai
备选 带显式偏移 若全站固定 +08:00,须在设备档案写明「设备时区=Asia/Shanghai」
禁止 无时区裸字符串 如 2026-10-25 09:00:00 无偏移 → 审计歧义
语义 事件发生时刻 检出/窗结束时刻;另可有 ts_publish(MQTT 发出时刻)

建议字段(可与现有 Schema 扩展兼容):

{
  "event_code": "PPE_VIOLATION",
  "ts": "2026-10-25T01:00:00.123Z",
  "ts_publish": "2026-10-25T01:00:00.180Z",
  "clock_quality": {
    "sync_state": "sync",
    "source": "ptp+ntp",
    "offset_ms": 2.5,
    "max_error_ms": 20,
    "leap": "ok",
    "last_sync_age_s": 12
  },
  "quality": "suspect"
}

3.2 clock_quality 建议枚举

sync_state 含义 对事件 quality 的默认影响
sync 有有效参考且偏移在阈内 不强制降级(仍可因业务为 suspect)
holdover 刚丢参考,短时保持 建议标注;超阈则降 suspect
unsync 未同步 / 启动中 强制业务 quality=suspect 或丢弃入金标准路径
step_recent 近 N 分钟发生过大步进 强制 suspect;难例抽帧需人工确认窗口
source 例 说明
ntp 仅 chrony/NTP
ptp 仅 PTP→系统钟
ptp+ntp timemaster / 组合
manual / none 人工或未配 → 高风险

阈值建议(可配置,非标准):|offset_ms| > 100 视觉告警降级;> 1000 与 SOE 对标任务冻结。


4. 故障模式:检测与告警

故障 检测 告警 / 动作
断 NTP chronyc tracking 无 reachable;last_sync_age_s 超阈(如 >600 s) 事件码建议 CLOCK_UNSYNC(ops);MQTT telemetry 上报;新事件 unsync
断 PTP / 无 GM pmc/ptp4l:grandmaster 不存在;或 phc2sys 失败 切 NTP 后备(若已配);source 降级;告警
时钟跳变(step) chrony 日志 / 自采「连续两次墙钟差 vs monotonic」 step_recent;可选暂停主动学习自动入轨 N 分钟
频率漂移过大 chrony rms offset / skew 持续恶化 运维工单;检查晶振、温变、虚拟化
容器时区错 date 与站控差整点倍数 部署检查单项;镜像钉 TZ=Asia/Shanghai 仅用于显示,存储仍用 UTC
夏令时误配 tzdata 非中国规则被误开 中国站 禁止 DST;CI/镜像扫描异常 zone
MCU 相对钟 网关授时丢失 仅用 ts_gateway;MCU 单调计数保留作辅

与 MQTT 衔接:运维类走 edgeai/.../events/ops 或 telemetry 扩展,禁止进保护遥控通道。断时钟 不得阻塞推理(同「断 MQTT 不堵」原则)。


5. 两周落地清单

日 动作 产出
D1 盘点站控 NTP/PTP/GNSS 入口、VLAN、域号 时钟源一页纸
D2 边缘盒装 chrony,指向站内 NTP;禁 timesyncd 双跑 chronyc tracking 截图
D3 Schema 落地:ts RFC3339;扩展 clock_quality 样例 JSON + 校验
D4 遥测:周期上报 offset / sync_state;告警阈 MQTT telemetry 字段表
D5 多路相机:统一 网关打戳;抽测两路相对差 相对偏差记录
D6 MCU:定义授时或 ts_gateway 规则 MCU↔网关时序图
D7 注入故障:断 NTP ≥10 min 确认推理不堵 + CLOCK_UNSYNC
D8 (可选)有 PTP 口:ptp4l clientOnly + phc2sys 或 timemaster PMC/chrony 状态
D9 与 104/SOE 人工对表 10 条事件 偏差表(写明 NTP 或 PTP)
D10 BOM 勾选:网卡是否 HW timestamp、是否需 PTP 许可交换机 BOM 修订
D11 容器镜像:去掉随意改钟;文档写「主机管钟」 部署说明
D12 写入 D60/D90:时钟门禁项 检查单勾选
D13 运维手册:跳变、换 NTP、域号变更 Runbook
D14 复盘:阈值固化、红线进验收 签字版

6. 与 BOM / Schema / MQTT 衔接

文档 衔接点
网关 BOM A 档至少 chrony+站内 NTP;B/C 档若对标录波,网卡选 支持 HW timestamp / PTP;GPS 模块默认不上盒、跟站钟
Event Schema ts 必填且带时区;clock_quality 可选但 D90 建议必填;unsync/step_recent → 业务 quality 降级规则写入验收
MQTT telemetry 带时钟水位;ops 事件 CLOCK_UNSYNC;断 NTP 不堵发布队列策略不变
D60/D90 否决例:生产盒长期 unsync 仍宣称与 SOE 毫秒对齐;无 ts 时区;DST 误开
主动学习 抽帧窗口以可信 ts 为准;step_recent 窗口人工复核

7. 验收门禁与 SOE / 录波对表(可勾选)

# 门禁项 通过标准 否决
A1 生产盒有且仅有一套时钟守护 chrony 或 timesyncd 其一;无双跑 双守护互相拉扯
A2 ts 可解析且带时区 RFC 3339;抽样 100 条 100% 合法 裸本地时间字符串
A3 未同步降级 unsync 时业务 quality=suspect 或拒绝入金标准 未同步仍标 confirmed
A4 断 NTP 不堵推理 断参考 ≥10 min,解码/NPU FPS 跌落 ≤5%(同 MQTT 门禁精神) 推理线程因对时阻塞
A5 与站控 NTP 偏差 连续 1 h 采样,|offset| 中位数达合同档(NTP 档常见 ≤1 s;写清实测) 宣传「PTP 级」却仅公网 NTP
A6 (可选)PTP 对表 与同域录波/SOE 抽 10 条,偏差分布入报告 无同域却写 ms 级验收
A7 跳变可观测 人为 makestep 大跳后出现 step_recent / ops 告警 静默大跳无日志
A8 时区 显示层 Asia/Shanghai;存储 UTC;无 DST 启用夏令时规则

与录波 / SOE 对表实操(最小)

  1. 选同一时间窗:人工触发可观测事件(如 PPE 试验帽、电子围栏试闯),同时记下保护/测控 SOE 或录波通道时刻。
  2. 取 AI MQTT 事件 ts(及可选 ts_publish),计算 Δt。
  3. 报告写明时钟层级(L1 NTP / L2 PTP)、VLAN、是否同源 GNSS。
  4. Δt 超合同阈:先查 AI 盒 clock_quality,再查相机 OSD、协议网关缓冲,最后才怀疑模型误检时刻。

二次系统对时规程、保护装置 IRIG-B/PTP 专规以站端为准;本文不展开继电保护专业条款(细节 unknown 处以调度/厂家文档为准)。

8. 参考命令速查(可执行)

# NTP / chrony
chronyc tracking
chronyc sources -v
chronyc makestep   # 仅维护窗口;生产慎用,须审计

# NIC 时间戳能力
ethtool -T eth0

# PTP(linuxptp,配置随站域)
# ptp4l -i eth0 -f /etc/linuxptp/ptp4l.conf
# phc2sys -s eth0 -c CLOCK_REALTIME -O 0
# 或 timemaster -f /etc/timemaster.conf

timedatectl status   # 确认 NTPSynchronized / Time zone: Asia/Shanghai

具体 conf 键值以发行版与站钟文档为准;上文不绑定单一 vendor profile(unknown 处以运维为准)。


9. 许可与版本钉选(简)

组件 常见许可(须再核) 台账
chrony GPL-2.0 进许可台账
linuxptp(ptp4l 等) GPL-2.0 进台账;版本钉死
systemd-timesyncd LGPL(随 systemd) 与 chrony 二选一记录

本文仅落盘调研手册,不替代站端二次系统/继电保护时钟规程。实施前与运维、保护专业确认 NTP/PTP 域与跨区边界。

← 边缘 AI MQTT 加固 + 离线缓冲可执行手册 首页 边缘 AI 证据仓与抽帧留存手册(变电站 / 电力场景) →