变电站边缘 AI:设备台账与舰队 CMDB 手册(可执行)
调研日期:约 2026-10-25(Asia/Shanghai)
落盘:/workspace/research/edge-ai-fleet-cmdb-inventory.md
定位:把 device_id / 边缘盒 / 相机 / 交换 / SPD 等资产字段、生命周期状态、与 OTA·canary·备份·变更窗·VLAN 口别的关联键写成可落地 CMDB;支持多站索引;CMDB 与资产永不进保护网(PROT)。
衔接:edge-ai-model-signstore-mender-cookbook.md、edge-ai-model-canary-rollback.md、edge-ai-backup-disaster-recovery.md、edge-ai-remote-ops-change-window.md、edge-ai-vlan-network-isolation.md、edge-ai-cabinet-surge-emc-baseline.md、edge-ai-onvif-camera-commissioning.md、edge-ai-substation-gateway-bom.md、edge-ai-d60-d90-acceptance-checklist.md、edge-ai-observability-logging-metrics.md。
声明:本文是边缘 AI 工程资产台账基线,不替代继电保护二次安规、业主未公开站规或固定资产财务账。不确定处标 unknown。
0. 一句话结论与红线
结论:无完整台账禁止上 prod;舰队以 site_id + device_id 为主键索引盒、相机、交换口、SPD;运行态字段只挂 公钥/指纹、版本指针、口别角色、备份包 ID、change_id;设备身份私钥与签名私钥永不进 CMDB;CMDB 不登记、不镜像 PROT 资产。
| 红线 ID | 禁止项 | 说明 |
|---|---|---|
| I1 | 无台账禁上 prod | 缺 site_id/device_id/口别表/相机清单/当前 model.ver/Mender Artifact 指针 → 仅 commissioning/maintenance,禁止金标准告警与 canary 晋升 |
| I2 | 私钥不进 CMDB | mTLS/MQTT 设备私钥、SSH 主机私钥、Mender/模型签名私钥、TPM 密封材料:禁止写入飞书/Git/SQLite/CSV/聊天;CMDB 仅存证书序列号、公钥指纹、key_id |
| I3 | CMDB 不写 PROT 资产 | 禁止登记保护装置、GOOSE/SV 交换、跳闸硬接点、保护 LD;禁止在 CMDB 建 PROT VLAN/口别「对照副本」以外的可写行(对照表只读且禁止导出到现场盒) |
| I4 | 台账与证据仓分轨 | CMDB 不存 JPEG/clip;证据仓不存资产主数据;密钥 vault 与 CMDB 分离(叠 B1、N5) |
| I5 | 无关联键禁推 prod 变更 | 无有效 change_id / 无 device_id 匹配 → 拒 Mender prod 与模型 current 切换(叠 CW-02、C2) |
| I6 | 退役未抹除禁复用序列号 | 退役须吊销证、擦 /data 身份、CMDB 标 retired;序列号不可直接复挂他站 |
1. 最小数据模型与必填字段
1.1 实体关系(一站最小集)
Site (site_id)
├── EdgeBox (device_id) ─── 1:N Camera
├── Switch (switch_id) ─── 1:N Port (port_id → role/VLAN)
├── SpdUnit (spd_id) # 机柜 SPD / 防雷单元
├── BackupPackage (backup_id) # 关联 device_id
└── ChangeRecord (change_id) # 关联 site_id / device_id[]
多站舰队:上层 FleetIndex 仅存 site_id、区域、运维责任人、连通健康摘要;详情下沉到站仓,避免把全网拓扑塞进单表。
1.2 主键与命名
| 键 | 格式建议 | 唯一域 | 备注 |
|---|---|---|---|
site_id |
SS{电压档}-{站码} 如 SS220-01 |
舰队全局 | 与 site.yaml、MQTT topic 前缀一致 |
device_id |
{board}-{site短码}-{序号} 如 rk3588-ss22001-01 |
舰队全局 | = Mender Device ID / MQTT clientId 基底 |
camera_id |
{device_id}-cam{nn} |
站内 | 与 cameras.yaml、ONVIF 联调一致 |
switch_id / port_id |
{site}-sw{n} / {switch}-p{nn} |
站内 | 口别标签贴纸与 CMDB 同步 |
spd_id |
{site}-spd-{柜位} |
站内 | 对齐防雷/EMC 手册台账 |
change_id |
CHG-{YYYYMMDD}-{序} |
舰队 | 变更窗唯一票号 |
backup_id |
BKP-{device_id}-{UTC日} |
设备 | 日备/变更即备包 |
1.3 各实体必填字段
Site(站)
| 字段 | 必填 | 说明 |
|---|---|---|
site_id / 站名 / 电压等级 / 区域 |
✓ | 多站索引主键 |
owner / 值班联系(脱敏) |
✓ | 不含私人手机明文亦可 vault ref |
vlan_plan_ver |
✓ | 当前 VLAN 规划版本号 |
prot_boundary_ack |
✓ | 「AI 零接入 PROT」签字页 ID(只存引用) |
lifecycle |
✓ | 见 §2 |
EdgeBox(边缘盒)
| 字段 | 必填 | 说明 |
|---|---|---|
device_id / site_id / 序列号 / 板型(如 RK3588J) |
✓ | 硬件身份 |
mgmt_mac / ai_mac(业务口) |
✓ | 禁混记 CAM 口为管理 |
mender_device_id / 当前 Artifact 名 / 槽(A|B) |
✓ | 系统轨指针 |
model.ver(=current SHA)/ previous SHA / canary 态 |
✓ | 模型轨指针;可空 canary |
cert_fp / ssh_hostkey_fp / model_verify_pub_fp |
✓ | 仅指纹 |
role_ports:eth→CAM\|AI\|MQ\|EVD\|MGMT\|OTA |
✓ | 与 network-role.json 一致 |
lifecycle / last_backup_id / last_change_id |
✓ | 运行关联 |
| 私钥材料 / 明文相机密码 | ✗ | 禁止列 |
Camera
| 字段 | 必填 | 说明 |
|---|---|---|
camera_id / device_id / 厂商型号 / 序列号 |
✓ | |
poe_port_id / VLAN=CAM |
✓ | 物理口可追溯 |
| RTSP/ONVIF 地址(可 vault ref)/ 分辨率·码率基线 | ✓ | 密码用 ref,不进明文 CMDB |
| 安装点位 / 任务绑定(烟火/PPE/围栏…) | ✓ | |
| 画质自检态(OK|SUSPECT|BAD) | ✓ | 对齐脏镜手册;BAD→强制 suspect |
lifecycle |
✓ |
Switch / Port
| 字段 | 必填 | 说明 |
|---|---|---|
switch_id / 型号 / 管理 IP(MGMT) |
✓ | 管理面仅 MGMT |
port_id / 物理口 / role / vlan_id / 对端(camera_id 或 device_id) |
✓ | 口别表核心 |
| Trunk 允许 VLAN 列表 | ✓ | 抽检无 PROT |
lifecycle |
✓ |
SpdUnit(SPD)
| 字段 | 必填 | 说明 |
|---|---|---|
spd_id / 柜位 / 类型(电源/信号)/ 额定 |
✓ | 对齐 EMC 基线 |
| 安装日期 / 下次巡检 | ✓ | |
| 与盒/交换供电回路引用 | ✓ | 无 PROT 回路 |
禁止出现的字段/行类型:保护装置 IED 名、GOOSE 控制块、软压板、跳闸回路编号、PROT VLAN 可写配置、任何 BEGIN PRIVATE KEY。
2. 生命周期状态机
采购 procured → 到货入库 received → 实验室预置 lab_prep
→ 站内联调 commissioning → 预生产 pre_prod → 生产 prod
→ 维护 maintenance ⇄ prod
→ 隔离 quarantine(安全事件)
→ 退役 retired(终态)
| 状态 | 允许动作 | 禁止 | 进入条件 |
|---|---|---|---|
procured/received |
建 CMDB 空壳、贴资产标签 | 入 Mender 舰队、拉业务流 | 采购单/到货单号 |
lab_prep |
刷黄金镜像、注公钥、生成 device_id |
连站内 CAM 实网 | Secure Boot/公钥预置记录 |
commissioning |
ONVIF 联调、口别接线、备份演练 | 金标准告警、canary 晋升 | 口别表+相机清单齐;VLAN 自检无 PROT |
pre_prod |
影子告警、人工复核台 | 标 prod、对外 SLA |
D60 相关项绿 |
prod |
受变更窗管控的 OTA/模型/配置 | 无 change_id 热改 |
I1 字段全绿 + 验收门禁 |
maintenance |
开窗变更、换盘恢复 | 隐瞒降级仍报金标准 | 变更单或故障单 |
quarantine |
吊销证、断 OTA、取证 | 自动回 prod | 密钥泄露/越权告警 |
retired |
审计只读 | 复用 device_id/序列号上新站 |
擦除证明 + 吊销记录 |
状态迁移审计:每次变更写 actor、approver、change_id(若有)、UTC+8 时间;禁止脚本静默改 prod。
3. 与 OTA / canary / 备份 / 变更窗 / VLAN 的关联键
| 外部系统 | CMDB 关联键 | CMDB 存什么 | 不存什么 |
|---|---|---|---|
| Mender | device_id = Mender Device ID;artifact_name;slot |
当前/上一成功 Artifact、报到时间 | Artifact 私钥、整包二进制 |
| 模型仓 / canary | device_id + model.ver(SHA) |
current/previous/canary 指针与通道 |
权重文件、签名私钥 |
| 备份 | backup_id → device_id;manifest_sha256 |
最近成功备、RPO 告警位 | 私钥、整盘 dd 镜像路径当「标准备」 |
| 变更窗 | change_id → site_id + device_id[] + level(L0–L3) |
窗口态、基线哈希、关窗结果 | 执行时粘贴的临时口令 |
| VLAN / 口别 | port_id ↔ role ↔ 对端资产 |
口别表版本、vlan_plan_ver |
PROT 交换机配置正文 |
| 可观测性 | 标签 site_id,device_id |
健康摘要外键 | 原始高基数日志全文 |
| 人工复核 | camera_id / device_id |
误报闭环工单计数 | 原始人脸长留图 |
联动硬规则
- 推 Mender prod / 切
current:请求必须带change_id,且 CMDB 中该device_id.lifecycle∈{prod,maintenance}且窗口frozen|executing。 - 日备成功:写回
last_backup_id;超 24h 未备 → 运维告警,不自动降级推理(配置不可丢是运维门禁,不是 NPU 门禁)。 - 口别变更(L3):先改 CMDB 草稿 → 变更窗执行 → 现场贴纸与
network-role.json三方哈希一致才关窗。 - 换盒(灾备):新
device_id建档或原 ID 迁移单;旧盒必retired;仓侧重拉模型与配置,不迁私钥(B1)。 - canary 失败自动回
previous:CMDB 只更新指针与事件引用,不改生命周期(除非连续失败转maintenance)。
4. 多站舰队索引
| 层级 | 存放 | 内容 | 访问 |
|---|---|---|---|
| L-舰队 | 地市/运维云(MGMT/OTA 可达) | site_id 列表、区域、责任人、盒数量、prod 比例、备份逾期数、开放 change_id |
运维只读 + 变更系统写 |
| L-站 | 站内 CMDB 副本或配置仓 | 全量盒/相机/口别/SPD | 站值班 + 远程经堡垒 |
| L-盒本地 | /data/config/inventory-stub.json |
本盒 device_id、相机子集、口别自检用角色 |
只读给 Agent;无私钥 |
同步方向:舰队 ← 站(摘要上行);明细变更以站仓+变更窗为准下行。禁止相机 RTSP 密码随摘要上行明文。
检索最小能力:按 site_id、device_id、model.ver、artifact_name、change_id、backup_id、口别 role=CAM 对端反查相机。
5. 两周落地计划 + 验收门禁
5.1 十四天(单站试点 → 可复制模板)
| 日 | 动作 | 产出 |
|---|---|---|
| D1 | 定主键规范;建空库(SQLite/表格/Git YAML 三选一,试点可 YAML+CI) | schema 冻结 PR |
| D2 | 录入 Site + 既有盒序列号/MAC/板型;生成或对齐 device_id |
盒行 ≥1,I2 自检无私钥列 |
| D3 | 录入交换口别表与贴纸核对;标记对端 | 口别表 v1;无 PROT 口 |
| D4 | 录入相机与 PoE 口绑定;密码改 vault ref | cameras.yaml ↔ CMDB 一致 |
| D5 | 录入 SPD/柜位;挂 BOM 与 EMC 巡检日 | SPD 行齐全 |
| D6 | 对接 Mender:Device ID=device_id;回写 Artifact/槽 |
系统轨指针绿 |
| D7 | 对接模型指针:读盒上 current/previous |
模型轨指针绿 |
| D8 | 备份钩子写 backup_id;演练缺备告警 |
叠备份手册 |
| D9 | 变更窗强制 change_id;拒无票推送演练 |
叠 CW-02 |
| D10 | 盒本地 stub 导出;Agent 启动读角色自检 | 错口别拒进 prod |
| D11 | 多站索引表(可先 2 站假数据) | 舰队摘要可查询 |
| D12 | 生命周期演练:commissioning→pre_prod→prod;retired 抹除检查单 |
状态机跑通 |
| D13 | 权限:运维写、访客读、禁止导出私钥列(本来无) | RBAC 记录 |
| D14 | 按 §5.2 门禁走查;缺口开缺陷 | 签字页 |
5.2 验收门禁(否决项)
| ID | 门禁 | 否决? |
|---|---|---|
| CMDB-01 | 每一 prod 盒具备完整必填字段;抽检无私钥/口令明文 |
是 |
| CMDB-02 | 口别表与现场贴纸、network-role.json 三方一致;无 PROT 成员 |
是 |
| CMDB-03 | 无 change_id 的 Mender prod 与模型 current 切换被拒绝(可演示) |
是 |
| CMDB-04 | device_id 与 Mender/MQTT 标识一致;换盒流程不复制私钥 |
是 |
| CMDB-05 | last_backup_id 可查且配置类 RPO 策略已挂告警 |
是 |
| CMDB-06 | CMDB 中不存在 PROT 资产可写行;对照 ack 仅引用 | 是 |
| CMDB-07 | 退役盒证书吊销 + 状态 retired + 序列号占用检查 |
是 |
| CMDB-08 | 按 change_id/device_id/model.ver 可检索审计 |
是 |
6. 最小 YAML 示意(可作站仓片段)
site_id: SS220-01
lifecycle: prod
vlan_plan_ver: 2026.10.1
prot_boundary_ack: ACK-PROT-2026-001
boxes:
- device_id: rk3588-ss22001-01
board: RK3588J
lifecycle: prod
mender: { artifact: "gw-rootfs-20261020", slot: B }
model: { ver: "a1b2…", previous: "c3d4…", canary: null }
fps: { cert: "sha256:…", ssh_host: "SHA256:…", model_pub: "sha256:…" }
role_ports: { eth0: MGMT, eth1: AI, eth2: CAM }
last_backup_id: BKP-rk3588-ss22001-01-20261024
last_change_id: CHG-20261024-003
cameras:
- camera_id: rk3588-ss22001-01-cam01
poe_port_id: ss22001-sw1-p03
quality: OK
lifecycle: prod
ports:
- port_id: ss22001-sw1-p03
role: CAM
vlan_id: 110
peer: rk3588-ss22001-01-cam01
7. 常见失败模式
| 现象 | 根因 | 处置 |
|---|---|---|
| 能推理但台账红灯仍标 prod | 绕过 I1 | 强制 Agent 读 stub;红灯只出 maintenance 事件 |
| 换盒后 MQTT 撞 clientId | 复制旧 device_id 未退役 |
旧盒 retired;新 ID 或迁移单+吊销旧证 |
| 口别改了 CMDB 未改 | L3 未走窗 | 关窗门禁 V-01/CMDB-02 打回 |
| 表格里出现 PEM 私钥 | 违规粘贴 | 立即轮换密钥;行删除;事故单 |
| 舰队索引含相机密码 | 摘要上行未脱敏 | 打断同步;只保留 vault ref |
8. 参考与边界
- 本手册字段为工程最小集;财务固定资产编号可作为可选外键,不替代
device_id。 - 具体 CMDB 产品(自建 YAML、NetBox、业主 IMP)unknown,以「键与红线」为准可替换存储。
- 与保护专业的边界确认以
prot_boundary_ack为准,本文不扩展 PROT 对象模型。
本文为工程手册草稿;资产与密钥策略须业主安监/信息化复核。仅落盘,不写入飞书。