mirror of
https://gitee.com/pnoker/iot-dc3.git
synced 2026-11-03 11:42:04 +08:00
4.7 KiB
4.7 KiB
title
| title |
|---|
| 物模型改造设计 |
物模型改造设计
关联设计:物模型设计方案
状态
- 当前阶段:初版方案
- 目标范围:基于现有
Profile、Point、读写指令补齐自定义指令、事件能力 - 核心判断:先把设备与
Profile收敛为单归属,确保Profile承载设备能力模型、Point承载点位能力;之后把物模型语义里的服务统一落到 DC3 的Command / 指令体系
待办清单
方案确认
- 确认
Profile作为 DC3 设备能力模型根对象,不新增平行的Product / ThingModel主表。 - 确认继续使用
Profile、Point作为 DC3 领域名词,不改名为ThingModel、Property。 - 确认一个
Device只能归属一个Profile,一个Profile可以复用到多个Device。 - 确认
Point覆盖属性能力,数据库、接口和页面命名保持不变。 - 确认物模型语义里的服务统一命名为
Command / 指令,不新增Service领域概念。 - 确认 Point 读写由
Point.rw_flag和现有读写链路表达,不纳入dc3_command自定义指令定义范围。 - 确认自定义指令定义表命名为
dc3_command、dc3_command_param。 - 确认事件定义表命名为
dc3_event、dc3_event_param。 - 确认设备/驱动在线状态由
LocalCacheService(Caffeine)和运行态事件派生,不纳入dc3_event模型事件定义范围。 - 确认
dc3_driver_event保持平台运行态事件定位,dc3_device_event只有在补充event_id或event_code后才可承载模型事件实例。 - 确认历史多
Profile绑定设备的迁移规则和人工确认流程。
设备与 Profile 单归属
- 在
dc3_device增加profile_id字段,并补充 DO/BO/VO/Builder 映射。 - 将
dc3_profile_bind有效绑定迁移到dc3_device.profile_id。 - 对绑定了多个
Profile的设备输出迁移清单,确认唯一目标Profile后再迁移。 - 移除
ProfileBind的 DO/BO/VO、Mapper、Service、Controller、Facade、gRPC 契约和测试。 - 调整按
profile_id查询设备、按device_id查询点位、设备状态和 Dashboard 的 SQL / Service 逻辑。 - 调整设备导入导出模板,设备直接携带
profile_id或profile_code。 - 移除前端和文档中的多 Profile 绑定入口与说明。
Manager Center
- 新增自定义指令定义 DO/BO/VO、Builder、Mapper、Service、Controller。
- 新增事件定义 DO/BO/VO、Builder、Mapper、Service、Controller。
- 增加按
profile_id查询 Point、指令、事件的聚合接口。 - 增加
point_code、command_code、event_code在同一profile_id下的唯一校验。
API 与 Facade
- 在
dc3-api-manager中补充自定义指令、事件定义 gRPC 契约。 - 在
dc3-common-facade-api中补充自定义指令、事件查询 facade。 - 在
dc3-common-facade-grpc和dc3-common-facade-local中补齐实现。 - 更新 Agentic 工具能力,使其能查询 Profile、Point、指令、事件。
Data Center
- 保留现有点位读写 API,作为 Point 内置读写链路,不写入
dc3_command。 - 扩展自定义指令调用 API,支持按
device_id + command_code调用。 - 新增指令调用记录,保存入参、出参、状态、错误信息、耗时和关联驱动。
- 扩展事件上报 API,支持按
device_id + event_code关联模型事件定义。 - 评估复用
dc3_device_event还是新增事件实例表,并补齐模型事件与平台运行态事件的边界和迁移方案。
Driver SDK
- 扩展
DeviceCommandDTO,增加自定义指令类型和参数结构。 - 增加指令执行结果回传协议,支持同步与异步调用。
- 增加事件上报辅助接口,驱动可以按
event_code上报模型事件。 - 先在虚拟驱动中实现示例自定义指令和示例事件,作为其他协议驱动参考。
Web 与文档
- Web 的 Profile 详情页增加 Point、指令、事件三个页签。
- 操作手册补充 Profile 能力配置说明。
- 开发文档补充驱动如何适配自定义指令和事件。
- 增加完整 Profile 能力模型导入导出格式说明。
验收标准
- 一个
Profile可以完整定义 Point、指令、事件。 - 一个
Device只归属一个Profile,并可采集该模型 Point、调用该模型指令、上报该模型事件。 - 点位值、指令调用记录、事件记录都能按租户和设备隔离查询。
- 老的点位采集、点位读写命令保持兼容;旧的多 Profile 绑定流程被移除。
- 虚拟驱动提供可运行的端到端示例。