Files
Web_BLS_Heartbeat_Server/openspec/changes/update-heartbeat-arrays-v3/proposal.md
XuJiacheng 455185ac5d feat: 扩展心跳消息支持电力与空调设备数组字段
新增 Kafka 消息中 electricity[] 和 air_conditioner[] 数组字段支持,用于存储电力与空调设备明细数据。数据库表新增对应数组列并创建 GIN 索引优化查询性能,processor 实现数组字段校验与聚合转换逻辑。

主要变更:
- Kafka 消息规范新增 electricity 和 air_conditioner 数组字段定义
- 数据库 heartbeat_events 表新增 14 个数组列并创建 4 个 GIN 索引
- processor 实现数组字段解析、校验及聚合转换逻辑
- 更新相关文档与测试用例,确保端到端功能完整
2026-01-16 14:45:36 +08:00

992 B
Raw Blame History

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/*