refactor(openspec): 归档心跳数据库v2更新相关文档

将update-heartbeat-db-v2目录下的文档迁移至archive目录
更新specs目录下的相关规范文件以反映最新变更
This commit is contained in:
2026-01-14 19:38:02 +08:00
parent eb35635253
commit 7d5b9c50ea
9 changed files with 89 additions and 45 deletions

View File

@@ -0,0 +1,39 @@
## MODIFIED Requirements
### Requirement: 心跳数据解包
系统 MUST 能够将 Kafka 消息 value 解码/解压并还原为 JSON 对象或数组,支持两层以内的编码/压缩组合。
#### Scenario: 支持常见编码/压缩(两层以内)
- **WHEN** Kafka 消息 value 为下列任意形式时:
- UTF-8 JSON对象或数组
- base64(二进制)
- gzip / deflate(zlib) / deflate(raw) / brotli 压缩后的二进制
- **THEN** 系统应当按“最多两层”的策略尝试解码/解压
- **AND** 成功时应还原为 JSON 对象或数组
- **AND** 失败时应记录错误并丢弃该消息
#### Scenario: 支持包装结构
- **WHEN** 解包得到的 JSON 为包装结构(例如包含 `data`/`payload`/`body` 字段)
- **THEN** 系统应优先提取其中的对象作为心跳数据源
#### Scenario: 解包有效心跳数据
- **WHEN** 接收到有效格式的Kafka心跳消息时
- **THEN** 系统应该成功解包消息
- **AND** 提取出心跳数据的各个字段
#### Scenario: 解包无效心跳数据
- **WHEN** 接收到无效格式的Kafka心跳消息时
- **THEN** 系统应该返回解包错误
- **AND** 记录错误日志
### Requirement: 心跳数据转换
系统 MUST 能够将解包后的心跳数据转换为数据库存储格式。
#### Scenario: 转换为 v2 明细表字段
- **WHEN** 心跳数据验证通过时
- **THEN** 系统应输出与 v2 明细表字段一致的数据结构
- **AND** 添加必要的元数据
#### Scenario: 缺失必填字段
- **WHEN** 心跳数据缺失必填字段时
- **THEN** 系统应判定为无效数据并丢弃

View File

@@ -4,7 +4,7 @@
- [x] 实现按 `ts_ms` 日分区与自动建分区机制
- [x] 补充性能建议(索引策略、分区影响、聚合/物化视图建议)
- [x] 产出 docsDB 表结构文档 + Kafka 生产者推送数据结构与方式
- [ ] Processor实现 Kafka 心跳 value 的两层解码/解压与反序列化(需要对端样本/算法确认)
- [x] Processor实现 Kafka 心跳 value 的两层解码/解压与反序列化(需要对端样本/算法确认)
## 2. Validation
- [x] 在可访问的 PostgreSQL 环境执行脚本并验证对象创建成功

View File

@@ -1,21 +0,0 @@
## MODIFIED Requirements
### Requirement: Kafka 心跳消息解码/解压
系统 MUST 能够将 Kafka 消息 value 解码为 JSON 对象或数组,并支持两层以内的编码/压缩组合。
#### Scenario: 两层以内解码成功
- **WHEN** Kafka 消息 value 为 UTF-8 JSON、base64(二进制)、或 gzip/deflate/raw-deflate/brotli 压缩二进制
- **THEN** 系统应按“最多两层”策略尝试解码/解压
- **AND** 成功时得到 JSON 对象或数组
#### Scenario: 解码失败
- **WHEN** Kafka 消息 value 无法被解码/解压为 JSON
- **THEN** 系统应记录错误并丢弃该消息
### Requirement: 心跳数据转换
系统 MUST 能够将解包后的心跳数据转换为数据库存储格式。
#### Scenario: 转换为 v2 明细表字段
- **WHEN** 心跳数据验证通过时
- **THEN** 系统应输出与 v2 明细表字段一致的数据结构
- **AND** 缺失必填字段时应判定为无效数据并丢弃