首页 / Go 平台(cloud-go) / 设备管理:dmsvr

职责概览

dmsvr 是设备管理服务(gRPC),负责设备、产品、物模型、协议、OTA、远程配置与设备分组等核心管理能力,并维护设备影子与属性历史。

核心逻辑

逻辑分组说明
devicemanage设备增删改查、在线/离线状态维护
devicemsg设备消息处理:propertyLogIndexLogic 检索历史上报属性(GPS、车速等);shadowIndexLogic 设备影子(离线指令缓存)
productmanage产品定义与产品物模型管理
protocolmanage协议管理(GPS 私有协议、GB28181 等)
devicegroup设备分组
deviceinteract设备交互:指令下发、属性设置、服务调用
assemble* / fillArea / auth设备组装、区域填充与认证辅助

设备影子机制

  1. 设备离线时后台下发的指令写入影子(期望状态)
  2. 设备上线后读取影子并同步执行
  3. 设备上报新状态后更新影子(当前状态),期望与当前一致后清除待执行项

对外契约

dm.protocloud-go/go-master/service/dmsvr/proto/dm.proto)涵盖设备 CRUD、物模型解析、分组管理;Java 侧通过 Nacos 服务发现调用。

dmsvr 同时订阅 NATS 下行主题(device.down.*),收到内部发布消息后向设备推送。

排查要点

  • 属性历史缺失:检查 propertyLogIndexLogic 索引写入与 TDengine 数据。
  • 离线指令未执行:检查影子状态与设备上线后的同步流程。
  • 物模型变更影响面大:修改产品物模型前确认存量设备兼容性。