首页 / 业务功能与流程 / 设备全生命周期流程
设备全生命周期流程
设备从注册、认证、绑定、分享、OTA 到解绑/注销的完整生命周期与归属状态。
生命周期阶段总览
出厂注册 → 接入认证 → 用户绑定 → 权益分配 → 运行期(定位/告警/视频/OTA)
→ 分享/家庭 → 解绑 → 注销/回收
| 阶段 | 主导系统 | 关键记录 |
|---|---|---|
| 注册 | Go dgsvr + Java iot | 设备档案 iot_device、产品 iot_product |
| 认证接入 | Go dgsvr / gpscodecsvr | MQTT 会话、在线状态 Redis |
| 绑定与权益 | Java iot + member + subscription + pay | iot_bind_session、iot_binding_task、subscription_seat |
| 运行期 | Go 数据面 + Java 业务面 | 轨迹、告警、录像、OTA 记录 |
| 分享 | Java iot(iot_device_share) | from/to 用户、状态、有效期 |
| 解绑/注销 | Java iot + subscription | Seat 释放、归属清空 |
注册与认证
- 产品与物模型在 Java iot 定义(
iot_product/ 物模型) - 设备出厂注册(
deviceRegisterLogic)或后台建档,绑定产品密钥 - 设备上线经 EMQX → dgsvr 登录/访问认证 → 在线状态维护
- 上线事件
device.up.status.connected推送到 Java 消费
绑定与归属
归属的完整事实链:绑定会话(iot_bind_session)→ 绑定任务(iot_binding_task)→ Seat 预占(subscription_seat)→ 完成回写 iot_device.owner_user_id。
单行
owner_user_id 只是结果视图;排查归属问题必须回到会话/任务/Seat 的完整状态。详见设备绑定与权益分配流程。分享与家庭
- 家庭:member 模块维护家庭与成员(
AppMemberFamilyController),是设备分享的常见主体。 - 分享:
iot_device_share记录from_user_id / to_user_id,状态与有效期决定分享是否生效;到期自动失效。 - 权益约束:分享设备的能力受订阅 Seat 约束,新增分享需校验 Seat 余量。
运行期服务
| 能力 | 数据/记录 | 说明 |
|---|---|---|
| 定位与轨迹 | TDengine 轨迹 + 行程摘要 | geosvr 入库、tripsvr 计算行程 |
| 告警 | alarm_record + notify 任务 | risksvr/alertsvr 评估、eventsvr 分发 |
| 视频 | 录像索引(MySQL)+ 文件(OSS) | videosvr 实时/回放 |
| OTA | iot_ota_task* + 设备升级记录 | otasvr 下发与状态跟踪 |
解绑与注销
- 用户发起解绑,创建解绑任务(幂等防重)
- 发布
subscription.seat.release.requested,Subscription 释放 Seat(subscription.seat.released) - 清理分享关系与家庭成员可见性
- 清空设备归属(保留设备档案与历史证据),设备可重新绑定
注销/回收需符合合规要求:一键注销入口 ≤3 级菜单,注销后 10 个工作日内抹除云端关联数据(GDPR)。