|
|
||
|---|---|---|
| include | ||
| src | ||
| tests | ||
| .gitignore | ||
| CMakeLists.txt | ||
| README.md | ||
| events.ndjson | ||
| generation.json | ||
README.md
数据处理与交互平台(测试系统)
概述
本工程是一个模拟的数据处理与交互平台(测试系统),采用管道流式处理架构。 核心功能包括:
- 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+)
编译步骤
cd codegen-runs/codegen_fa54ba0e8c734a7683962ff923b15d4b
mkdir -p build && cd build
cmake ..
cmake --build .
运行主程序
./dataflow_main
运行测试
./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() |