30 lines
7.1 KiB
JSON
30 lines
7.1 KiB
JSON
|
|
{
|
|||
|
|
"projectId": 97,
|
|||
|
|
"generationId": "codegen_fa54ba0e8c734a7683962ff923b15d4b",
|
|||
|
|
"language": "C++",
|
|||
|
|
"status": "completed",
|
|||
|
|
"fileIds": [
|
|||
|
|
1305
|
|||
|
|
],
|
|||
|
|
"outputDir": "/app/agents/ai_agents/project-files/codegen-runs/codegen_fa54ba0e8c734a7683962ff923b15d4b",
|
|||
|
|
"relativeOutputDir": "codegen-runs/codegen_fa54ba0e8c734a7683962ff923b15d4b",
|
|||
|
|
"generatedFiles": [
|
|||
|
|
"CMakeLists.txt",
|
|||
|
|
"README.md",
|
|||
|
|
"events.ndjson",
|
|||
|
|
"include/app.hpp",
|
|||
|
|
"src/app.cpp",
|
|||
|
|
"src/main.cpp",
|
|||
|
|
"tests/basic_test.cpp"
|
|||
|
|
],
|
|||
|
|
"analysisSummary": "好的,作为需求分析助手,我已根据您提供的《软件设计说明书》文档,为您提炼出代码工程生成所需的结构化信息。\n\n---\n\n### 业务目标\n\n构建一个通用的数据处理与交互平台(测试系统)。其核心用途是接收来自外部数据源的数据,并按照预设规则进行格式解析、校验,最后将处理后的数据持久化存储到数据库中。系统需具备模块化、可配置和标准化接口的特性。\n\n### 功能清单\n\n1. **数据接收功能**\n * 作为TCP服务端,监听指定端口(8888)。\n * 接收来自外部数据源的连接请求。\n * 接收网络数据,并根据约定的协议(消息头+消息体)进行拆包,解决粘包问题。\n * 将解析后的原始数据字符串传递给数据处理模块。\n * 记录网络异常或数据格式错误日志。\n\n2. **数据处理功能**\n * 从内部队列中获取数据接收模块传递的原始数据。\n * 对数据进行解析、校验(例如完整性校验)和格式转换。\n * 将校验通过后的数据传递给数据存储模块。\n * 将校验失败的数据丢弃,并记录错误日志。\n\n3. **数据存储功能**\n * 将处理后的数据持久化写入MySQL数据库的 `t_received_data` 表中。\n * 处理数据库写入失败等异常,并记录日志。\n\n### 数据结构\n\n**1. 核心业务数据表 (MySQL)**\n\n* **表名**: `t_received_data`\n* **用途**: 存储所有接收并处理后的原始数据。\n\n| 字段名称 | 字段代码 | 数据类型 | 约束 | 说明 |\n| :--- | :--- | :--- | :--- | :--- |\n| 主键ID | id | BIGINT | PRIMARY KEY, AUTO_INCREMENT | 自增主键 |\n| 接收数据 | data_content | VARCHAR(1024) | NOT NULL | 接收到的原始数据内容 |\n| 接收时间 | receive_time | DATETIME | NOT NULL | 数据接收的系统时间 |\n| 数据来源 | source | VARCHAR(64) | NOT NULL | 标识数据来源的字段 |\n\n**2. 内存数据对象**\n\n* **原始数据包**: 包含消息头(4字节长度)和消息体(UTF-8编码的字符串,最大1024字符)。\n* **内部传递数据**: 解析后的 `String` 类型的原始数据字符串,用于CSU-01与CSU-02之间传递。\n* **内部传递数据**: 处理后的 `String` 类型的处理结果字符串,用于CSU-02与CSU-03之间传递。\n\n### 接口或命令\n\n**1. 外部接口**\n\n* **接口标识**: IF-001\n* **接口用途**: 外部数据源向测试软件单向传输实时数据。\n* **通信协议**: TCP/IP (应用层自定义协议)\n * **传输方式**: 千兆以太网。\n * **消息格式**: 自定义格式,由“消息头(4字节长度字段)” + “消息体(UTF-8编码字符串)”组成。\n * **连接方式**: 测试软件作为服务端,外部数据源作为客户端发起连接。\n* **数据流**: 单向,从外部数据源到测试软件。\n* **目标地址**: IP: 192.168.1.100, Port: 8888\n* **性能要求**: 优先级高,频率每秒最多100次数据包。\n\n**2. 内部接口**\n\n* **CSU-01 -> CSU-02 接口**\n * **接口标识**: `IF_CSU01_02` (内部)\n * **接口名称**: `pushDataToCSU02`\n * **用途**: 将CSU-01解析后的原始数据(字符串)传递给CSU-02。\n* **CSU-02 -> CSU-03 接口**\n * **接口标识**: (文档中未明确命名)\n * **接口名称**: (文档中未明确命名, 推测为 `processedDataToCSU03`)\n * **用途**: 将CSU-02处理后的数据传递给CSU-03进行持久化。\n\n### 约束\n\n1. **协议约束**: 数据接收模块(CSU-01)必须遵循约定的 `IF-001_PRT_001` 协议(TCP/IP应用层协议,含消息头长度校验)。\n2. **运行环境约束**: 系统必须运行在Linux操作系统、x86硬件平台上。\n3. **开发语言约束**: 软件整体使用Java语言开发,支持跨平台编译与运行。\n4. **资源约束**: 硬件要求为4核CPU、8GB内存、100GB SSD硬盘、千兆以太
|
|||
|
|
"eventLogFile": "/app/agents/ai_agents/project-files/codegen-runs/codegen_fa54ba0e8c734a7683962ff923b15d4b/events.ndjson",
|
|||
|
|
"repoSettings": {
|
|||
|
|
"username": "root",
|
|||
|
|
"password": "pAssW0rd",
|
|||
|
|
"repoUrl": "http://47.108.255.216:3000/root/user.git",
|
|||
|
|
"branch": "main"
|
|||
|
|
},
|
|||
|
|
"repoUrl": "http://47.108.255.216:3000/root/user.git",
|
|||
|
|
"branch": "main"
|
|||
|
|
}
|