feat: 扩展心跳消息支持电力与空调设备数组字段
新增 Kafka 消息中 electricity[] 和 air_conditioner[] 数组字段支持,用于存储电力与空调设备明细数据。数据库表新增对应数组列并创建 GIN 索引优化查询性能,processor 实现数组字段校验与聚合转换逻辑。 主要变更: - Kafka 消息规范新增 electricity 和 air_conditioner 数组字段定义 - 数据库 heartbeat_events 表新增 14 个数组列并创建 4 个 GIN 索引 - processor 实现数组字段解析、校验及聚合转换逻辑 - 更新相关文档与测试用例,确保端到端功能完整
This commit is contained in:
@@ -58,6 +58,21 @@
|
||||
- **THEN** 系统应能够自动创建对应日分区或确保分区被预创建
|
||||
- **AND** 不应影响持续写入(高吞吐场景)
|
||||
|
||||
### Requirement: 数组字段存储与索引
|
||||
系统 MUST 支持将电力与空调子设备数据以数组列形式存储,并为指定数组列建立针对元素查询的索引。
|
||||
|
||||
#### Scenario: 新增数组列用于存储电力与空调子设备数据
|
||||
- **WHEN** 系统初始化 v2 心跳明细表结构时
|
||||
- **THEN** 表结构应包含以下新增列:
|
||||
- elec_address(text[])
|
||||
- air_address(text[])
|
||||
- voltage(double precision[])、ampere(double precision[])、power(double precision[])、phase(text[])、energy(double precision[])、sum_energy(double precision[])
|
||||
- state(int2[])、model(int2[])、speed(int2[])、set_temp(int2[])、now_temp(int2[])、solenoid_valve(int2[])
|
||||
|
||||
#### Scenario: 针对数组元素的索引
|
||||
- **WHEN** 对 elec_address、air_address、state、model 执行“元素包含”类查询时
|
||||
- **THEN** 系统应提供 GIN 索引以优化查询
|
||||
|
||||
### Requirement: 数据查询支持
|
||||
系统 MUST 支持基本的数据查询操作,用于监控和调试。
|
||||
|
||||
|
||||
Reference in New Issue
Block a user