新增 Kafka 消息中 electricity[] 和 air_conditioner[] 数组字段支持,用于存储电力与空调设备明细数据。数据库表新增对应数组列并创建 GIN 索引优化查询性能,processor 实现数组字段校验与聚合转换逻辑。 主要变更: - Kafka 消息规范新增 electricity 和 air_conditioner 数组字段定义 - 数据库 heartbeat_events 表新增 14 个数组列并创建 4 个 GIN 索引 - processor 实现数组字段解析、校验及聚合转换逻辑 - 更新相关文档与测试用例,确保端到端功能完整
992 B
992 B
Change: 扩展心跳消息与分区表以支持电力/空调数组(v3)
Why
当前心跳数据仅落库基础字段与 extra,无法按需查询与聚合“电力设备/空调设备”的细粒度状态;需要将数组结构拆列为数据库数组列,并对指定列提供数组元素索引。
What Changes
- Kafka:新增可选字段
electricity[]、air_conditioner[]以及元素字段定义 - Processor:新增数组字段类型校验与“按原始顺序聚合为列数组”的转换规则
- DB:在
heartbeat.heartbeat_events新增数组列,并为elec_address/air_address/state/model建立 GIN 索引(数组元素查询) - Docs/Tests:更新 producer 与 schema 文档;补充单元测试与冒烟验证
Impact
- Affected specs:
openspec/specs/kafka,openspec/specs/processor,openspec/specs/db - Affected code:
src/processor/heartbeatProcessor.js,src/db/databaseManager.js,scripts/db/*.sql,docs/*,test/*