user/README.md

2.4 KiB
Raw Permalink Blame History

数据处理与交互平台(测试系统)

概述

本工程是一个模拟的数据处理与交互平台(测试系统),采用管道流式处理架构。 核心功能包括:

  • 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()