首页 / 业务功能与流程 / 设备全生命周期流程

生命周期阶段总览

出厂注册 → 接入认证 → 用户绑定 → 权益分配 → 运行期(定位/告警/视频/OTA)
  → 分享/家庭 → 解绑 → 注销/回收
阶段主导系统关键记录
注册Go dgsvr + Java iot设备档案 iot_device、产品 iot_product
认证接入Go dgsvr / gpscodecsvrMQTT 会话、在线状态 Redis
绑定与权益Java iot + member + subscription + payiot_bind_sessioniot_binding_tasksubscription_seat
运行期Go 数据面 + Java 业务面轨迹、告警、录像、OTA 记录
分享Java iot(iot_device_sharefrom/to 用户、状态、有效期
解绑/注销Java iot + subscriptionSeat 释放、归属清空

注册与认证

  1. 产品与物模型在 Java iot 定义(iot_product / 物模型)
  2. 设备出厂注册(deviceRegisterLogic)或后台建档,绑定产品密钥
  3. 设备上线经 EMQX → dgsvr 登录/访问认证 → 在线状态维护
  4. 上线事件 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 实时/回放
OTAiot_ota_task* + 设备升级记录otasvr 下发与状态跟踪

解绑与注销

  1. 用户发起解绑,创建解绑任务(幂等防重)
  2. 发布 subscription.seat.release.requested,Subscription 释放 Seat(subscription.seat.released
  3. 清理分享关系与家庭成员可见性
  4. 清空设备归属(保留设备档案与历史证据),设备可重新绑定
注销/回收需符合合规要求:一键注销入口 ≤3 级菜单,注销后 10 个工作日内抹除云端关联数据(GDPR)。