task_plan/generation.json

30 lines
9.0 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
"projectId": 42,
"generationId": "codegen_47766ceaaeab4da19614e0d5bfc5a26e",
"language": "C++",
"status": "completed",
"fileIds": [
693
],
"outputDir": "/app/agents/ai_agents/project-files/codegen-runs/codegen_47766ceaaeab4da19614e0d5bfc5a26e",
"relativeOutputDir": "codegen-runs/codegen_47766ceaaeab4da19614e0d5bfc5a26e",
"generatedFiles": [
"CMakeLists.txt",
"README.md",
"events.ndjson",
"include/app.hpp",
"src/app.cpp",
"src/main.cpp",
"tests/basic_test.cpp"
],
"analysisSummary": "### 业务目标\n事件与任务管理软件ETMS作为战场任务规划系统BTPS的核心组件旨在实现从战场临机事件感知到作战任务草案生成的全流程支持。系统通过接入、处理和展示战场态势事件辅助指挥员在人机协同或自主模式下快速响应突发情况提升作战决策效率与任务生成自动化水平。主要服务对象为作战指挥部门部署于野战指挥所服务器集群运行于内场模拟环境并向实战化场景演进。\n\n---\n\n### 功能清单\n1. **事件接收与校验** \n - 监听消息队列MQTT/Kafka接收上游模块推送的原始事件数据JSON格式。 \n - 校验数据完整性返回ACK/NACK信号支持重试与丢弃机制。\n\n2. **事件处理与存储** \n - 对合法事件进行清洗、格式化并写入数据库t_event表。 \n - 支持事件状态流转Received → Processed → Pending Task/Rejected → Task Generated。\n\n3. **事件列表前端展示** \n - 分页查询事件数据,以列表形式渲染至前端界面。 \n - 按事件等级着色标识,支持滚动加载、排序及查看详情。\n\n4. **事件操作与排序** \n - 提供“处理”、“拒绝”等交互按钮,操作后即时反馈提示。 \n - 支持按威胁度、距离等维度自定义排序待处理事件列表。\n\n5. **任务生成准备** \n - 接收标记为“待处理”的事件列表,建立事件与潜在任务的映射关系。 \n - 触发任务生成流程前的数据上下文构建。\n\n6. **任务模板管理** \n - 接收并解析上级系统推送的任务模板集合JSON/XML增量更新本地模板库t_task_template表。 \n - 支持模板列表的搜索、排序与详情查看(含子任务树状结构)。\n\n7. **知识库版本选择** \n - 查询可用先验知识库版本列表t_kb_version表供用户选择锁定用于模板生成的版本。\n\n8. **人环模式下模板选择** \n - 在人机协同模式中,允许用户手动选择任务模板,并将选择结果传递至任务实例化模块。\n\n9. **自主推荐模式提示** \n - 在自主执行模式下,系统自动推荐匹配的任务模板,提供采纳、忽略或手动选择选项。\n\n10. **任务请求发送** \n - 组装任务生成请求报文通过HTTP协议发送至外部任务规划引擎触发正式任务规划流程。\n\n---\n\n### 数据结构\n#### 核心数据库表\n| 表名 | 字段说明 |\n|------|--------|\n| `t_event`(事件表) | id, event_id, event_type, timestamp, level, longitude, latitude, description, status, create_time |\n| `t_task_template`(任务模板表) | 模板ID、名称、类型、参数配置、子任务结构、创建时间、版本号等 |\n| `t_kb_version`(知识库版本表) | 版本ID、描述、生效时间、状态启用/禁用)、创建人 |\n\n#### 缓存与文件存储\n- **Redis缓存**:用于缓存热点事件数据、会话信息及临时处理队列,提升高并发查询性能。\n- **MinIO对象存储**存储完整的任务模板定义文件JSON/XML通过唯一ID索引支持CDN加速访问。\n- **本地文件系统**:存放频繁读取的模板元数据副本及系统日志文件。\n\n#### 主要数据元素(接口级)\n| 接口 | 数据元素 | 类型 | 大小 | 描述 |\n|------|----------|------|------|------|\n| SRS-ETMS_I_EVT_RAW | eventId, eventType, timestamp, location | String, Enum, Long, Object | ≤64B, 2B, 8B, Variable | 原始事件数据流 |\n| SRS-ETMS_O_REQ_TSK | 事件引用、初始任务参数 | JSON对象 | - | 任务生成请求报文 |\n\n---\n\n### 接口或命令\n#### 外部接口\n| 接口标识 | 名称 | 方向 | 协议 | 数据格式 | 特征 |\n|--------|------|------|-------|---------|------|\n| SRS-ETMS_I_EVT_RAW | 接收原始事件数据 | 输入 | MQTT/TCP | JSON | 实时传输带ACK/NACK控制 |\n| SRS-ETMS_O_REQ_TSK | 发送任务生成请求 | 输出 | HTTP POST | JSON | OAuth2.0认证HTTPS加密 |\n| RESTful API | 用户指令与配置输入 | 输入 | HTTP | JSON | 接收用户操作指令 |\n| WebSocket | 实时事件推送 | 输出 | WebSocket | JSON Array | 向前端推送事件更新与状态变更 |\n\n#### 内部服务调用\n- **RPC调用**各微服务单元间通过内部RPC协议协作如gRPC或Dubbo。\n- **消息总线**使用Kafka/RabbitMQ实现异步事件通知与解耦通信。\n\n#### 前端交互接口\n| 功能 | 接口名称 | 方向 | 数据类型 | 描述 |\n|------|----------|------|----------|------|\n| 事件列表查询 | Query API | 输入 | JSON | 分页、筛选参数 |\n| 列表数据输出 | List Data | 输出 | JSON Array | 渲染前端列表 |\n| 自定义排序 | Sort Rule / Sort Field | 输入 | String | 排序维度(如威胁度、时间) |\n| 模板选择 | Select Template | 输入 | String | 用户选定的模板ID |\n| 版本选择 | Selected Ver | 输出 | String | 锁定的知识库版本ID |\n\n---\n\n### 约束\n1. **技术栈约束** \n - 开发语言Java基于Spring Boot框架 \n - 运行环境LinuxCentOS/KylinJVM平台 \n - 数据库PostgreSQL集群主从架构Redis缓存集群 \n - 存储MinIO对象存储 + 本地文件系统 \n - 前端框架Vue.js \n\n2. **安全约束** \n - 数据传输全程采用HTTPS/TLS加密 \n - 敏感字段地理位置、部队番号使用AES-256或国密SM4算法加密存储 \n - 身份认证采用JWT令牌机制会话超时控制 \n - 基于角色的访问控制RBAC限制敏感操作权限 \n\n3. **性能约束** \n - 用户操作响应时间 ≤ 200ms \n - 支持上千个事件并发涌入场景下的稳定接收与处理 \n - 列表查询延迟 < 500ms万级数据量 \n\n4. **部署与环境适应性** \n - 部署于Kubernetes集群支持弹性伸缩 \n - 兼容低配置服务器,适应野战环境网络波动 \n - 支持离线缓存机制,网络恢复后自动同步数据 \n\n5. **标准合规性** \n - 符合GJB 438C-2021《军用软件开发文档通用要求》 \n - 界面设计符合GJB相关人机交互标准颜色、字体、控件样式 \n\n6. **可维护性要求** \n - 代码注释率 ≥ 30% \n - 日志系统集成ELK栈支持多维度检索 \n - 配置中心支持动态参数调整,无需重启服务 \n\n---\n\n### 测试建议\n1. **功能测试**\n - 验证事件接收、处理、入库全流程是否完整,异常数据能否被正确拦截。\n - 测试任务模板增删改查、版本切换、排序与搜索功能的准确性。\n - 模拟用户在人环模式下选择模板的操作路径,验证推荐逻辑与状态传递。\n\n2. **性能测试**\n - 使用JMeter模拟高并发事件注入如1000+/秒),监测系统吞吐量、延迟及资源占用。\n - 通过Prometheus+Grafana监控CPU、内存、GC频率、数据库连接池使用情况。\n - 测试分页查询、列表渲染在大数据量下的响应速度。\n\n3. **可靠性测试**\n - 模拟网络中断、数据库宕机等故障场景,验证重试机制、心跳检测与节点切换能力。\n - 测试事务一致性,确保部分失败不会导致脏数据写入。\n\n4. **安全性测试**\n - 扫描API接口是否存在SQL注入、XSS漏洞。\n - 验证JWT令牌有效性与过期机制防止会话劫持。\n - 检查敏感数据是否加密存储与传输。\n\n5. **兼容性测试**\n - 在不同Linux发行版CentOS、Kylin上验证软件运行稳定性。\n - 测试前端界面在多种终端分辨率下的显示一致性。\n\n6. **可测试性增强措施**\n - 内置自检程序:启动时检查数据库连接、中间件状态与配置完整性。\n - 关键节点埋点日志:记录输入输出与执行耗时,便于追踪问题。\n - 提供Mock服务模拟上游事件源与下游任务引擎支持独立单元与集成测试。\n\n7. **回归测试策略**\n - 建立自动化测试套件,覆盖核心业务流程。\n - 每次版本迭代后执行全量或增量回归测试,确保原有功能不受影响。",
"eventLogFile": "/app/agents/ai_agents/project-files/codegen-runs/codegen_47766ceaaeab4da19614e0d5bfc5a26e/events.ndjson",
"repoSettings": {
"username": "root",
"password": "pAssW0rd",
"repoUrl": "http://47.108.255.216:3000/root/task_plan.git",
"branch": "main"
},
"repoUrl": "http://47.108.255.216:3000/root/task_plan.git",
"branch": "main"
}