首页 / Go 平台(cloud-go) / 设备管理:dmsvr
设备管理:dmsvr
设备/产品/物模型/协议/OTA/分组管理、设备影子与属性历史检索。
职责概览
dmsvr 是设备管理服务(gRPC),负责设备、产品、物模型、协议、OTA、远程配置与设备分组等核心管理能力,并维护设备影子与属性历史。
核心逻辑
| 逻辑分组 | 说明 |
|---|---|
devicemanage | 设备增删改查、在线/离线状态维护 |
devicemsg | 设备消息处理:propertyLogIndexLogic 检索历史上报属性(GPS、车速等);shadowIndexLogic 设备影子(离线指令缓存) |
productmanage | 产品定义与产品物模型管理 |
protocolmanage | 协议管理(GPS 私有协议、GB28181 等) |
devicegroup | 设备分组 |
deviceinteract | 设备交互:指令下发、属性设置、服务调用 |
assemble* / fillArea / auth | 设备组装、区域填充与认证辅助 |
设备影子机制
- 设备离线时后台下发的指令写入影子(期望状态)
- 设备上线后读取影子并同步执行
- 设备上报新状态后更新影子(当前状态),期望与当前一致后清除待执行项
对外契约
dm.proto(cloud-go/go-master/service/dmsvr/proto/dm.proto)涵盖设备 CRUD、物模型解析、分组管理;Java 侧通过 Nacos 服务发现调用。
dmsvr 同时订阅 NATS 下行主题(device.down.*),收到内部发布消息后向设备推送。
排查要点
- 属性历史缺失:检查
propertyLogIndexLogic索引写入与 TDengine 数据。 - 离线指令未执行:检查影子状态与设备上线后的同步流程。
- 物模型变更影响面大:修改产品物模型前确认存量设备兼容性。