user/README.md

73 lines
2.4 KiB
Markdown
Raw Normal View History

2026-07-09 02:02:27 +00:00
# 数据处理与交互平台(测试系统)
2026-07-08 07:38:14 +00:00
2026-07-09 02:02:27 +00:00
## 概述
本工程是一个模拟的数据处理与交互平台(测试系统),采用管道流式处理架构。
核心功能包括:
- **CSU-01 (DataReceiver)**:模拟 TCP 服务端,按自定义协议(消息头 + 消息体)接收外部数据源的数据。
- **CSU-02 (DataProcessor)**:从队列获取原始数据,进行校验(非空、长度、字符合法性)和格式转换。
- **CSU-03 (DataStorage)**:将处理后的数据持久化存储(当前版本使用内存向量模拟数据库写入)。
三个模块通过线程安全队列(`ThreadSafeQueue`)解耦,形成数据流水线。
## 工程结构
```
.
├── CMakeLists.txt # CMake 构建配置
├── README.md # 本文件
├── include/
│ └── app.hpp # 公共头文件(类声明、数据结构)
├── src/
│ ├── main.cpp # 命令行入口(完整流水线演示)
│ └── app.cpp # 模块实现
└── tests/
└── basic_test.cpp # 单元测试与集成测试
```
## 编译与运行
### 前置条件
- CMake >= 3.14
- 支持 C++17 的编译器GCC 8+, Clang 7+, MSVC 2019+
### 编译步骤
```bash
cd codegen-runs/codegen_fa54ba0e8c734a7683962ff923b15d4b
mkdir -p build && cd build
cmake ..
cmake --build .
```
### 运行主程序
```bash
./dataflow_main
```
### 运行测试
```bash
./basic_test
# 或
ctest
```
## 模块映射
| 文档中的软件单元 | 本工程类名 | 职责 |
|:---|:---|:---|
| CSU-01 | `DataReceiver` | 数据接收(模拟 TCP 服务端、协议拆包) |
| CSU-02 | `DataProcessor` | 数据处理(校验、格式转换) |
| CSU-03 | `DataStorage` | 数据存储(持久化到内存数据库) |
| 内部接口 IF_CSU01_02 | `ThreadSafeQueue<std::string>` | 原始数据传递队列 |
| 内部接口 CSU-02→CSU-03 | `ThreadSafeQueue<std::string>` | 处理后数据传递队列 |
## 需求追踪
| 需求标识 | 需求名称 | 对应函数 |
|:---|:---|:---|
| SRS-测试_F-001 | 数据接收功能 | `DataReceiver::start()`, `DataReceiver::receiveLoop()`, `DataReceiver::parsePacket()`, `DataProcessor::start()`, `DataProcessor::processLoop()`, `DataProcessor::validateAndTransform()`, `DataStorage::start()`, `DataStorage::storageLoop()`, `DataStorage::storeToDatabase()`, `main()` |