# 数据处理与交互平台(测试系统) ## 概述 本工程是一个模拟的数据处理与交互平台(测试系统),采用管道流式处理架构。 核心功能包括: - **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` | 原始数据传递队列 | | 内部接口 CSU-02→CSU-03 | `ThreadSafeQueue` | 处理后数据传递队列 | ## 需求追踪 | 需求标识 | 需求名称 | 对应函数 | |:---|:---|:---| | SRS-测试_F-001 | 数据接收功能 | `DataReceiver::start()`, `DataReceiver::receiveLoop()`, `DataReceiver::parsePacket()`, `DataProcessor::start()`, `DataProcessor::processLoop()`, `DataProcessor::validateAndTransform()`, `DataStorage::start()`, `DataStorage::storageLoop()`, `DataStorage::storeToDatabase()`, `main()` |