refactor(openspec): 归档心跳数据库v2更新相关文档
将update-heartbeat-db-v2目录下的文档迁移至archive目录 更新specs目录下的相关规范文件以反映最新变更
This commit is contained in:
@@ -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** 系统应判定为无效数据并丢弃
|
||||
@@ -4,7 +4,7 @@
|
||||
- [x] 实现按 `ts_ms` 日分区与自动建分区机制
|
||||
- [x] 补充性能建议(索引策略、分区影响、聚合/物化视图建议)
|
||||
- [x] 产出 docs:DB 表结构文档 + Kafka 生产者推送数据结构与方式
|
||||
- [ ] Processor:实现 Kafka 心跳 value 的两层解码/解压与反序列化(需要对端样本/算法确认)
|
||||
- [x] Processor:实现 Kafka 心跳 value 的两层解码/解压与反序列化(需要对端样本/算法确认)
|
||||
|
||||
## 2. Validation
|
||||
- [x] 在可访问的 PostgreSQL 环境执行脚本并验证对象创建成功
|
||||
@@ -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** 缺失必填字段时应判定为无效数据并丢弃
|
||||
Reference in New Issue
Block a user