30 lines
10 KiB
JSON
30 lines
10 KiB
JSON
{
|
||
"projectId": 42,
|
||
"generationId": "codegen_d0add3470891422097f0b7fb8558b115",
|
||
"language": "C++",
|
||
"status": "completed",
|
||
"fileIds": [
|
||
693
|
||
],
|
||
"outputDir": "D:\\workspace\\agent\\DocumentGenerateAgent\\agents\\ai_agents\\project-files\\codegen-runs\\codegen_d0add3470891422097f0b7fb8558b115",
|
||
"relativeOutputDir": "codegen-runs/codegen_d0add3470891422097f0b7fb8558b115",
|
||
"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),接收上游模块推送的原始事件数据。\n - 解析JSON格式事件包,校验字段完整性并返回ACK确认信号。\n\n2. **事件处理与存储**\n - 对接收到的事件进行清洗、格式化和分类打标。\n - 将合法事件写入数据库(t_event表),状态标记为“Received”。\n\n3. **事件列表前端展示**\n - 分页查询事件数据,按创建时间倒序渲染至前端列表。\n - 支持滚动加载、点击查看详情,依据事件等级使用颜色标识。\n\n4. **事件排序与交互操作**\n - 提供事件列表自定义排序功能(如按时间、威胁度等维度)。\n - 用户可对事件执行“处理”、“拒绝”等操作,系统给予即时反馈。\n\n5. **待处理事件筛选与准备**\n - 接收标记为“待处理”的事件集合,建立事件与潜在任务的映射关系。\n - 在界面中高亮显示紧迫事件,支持查看详情。\n\n6. **任务模板知识库版本管理**\n - 查询可用的知识库版本列表,供用户选择用于模板生成的基础版本。\n - 支持锁定选定版本以确保一致性。\n\n7. **任务模板接收与更新**\n - 接收上级系统推送的任务模板集合(JSON/XML格式)。\n - 校验模板完整性后增量更新本地数据库(t_task_template表)。\n\n8. **任务模板可视化展示**\n - 以前端卡片或网格形式展示所有可用模板,包含名称、图标和简要描述。\n - 支持关键词搜索和分类浏览。\n\n9. **任务模板排序与详情查看**\n - 支持按指定字段(如适用场景、优先级)对模板列表进行排序。\n - 展示模板详细信息,包括树状结构的子任务列表,支持展开/折叠。\n\n10. **人机协同下的模板选择**\n - 在“人环模式”下允许用户手动选择任务模板。\n - 记录选择结果并传递给任务实例化模块。\n\n11. **自主推荐提示**\n - 在“自主执行模式”下根据事件特征自动推荐匹配模板。\n - 前端弹出提示框供用户确认是否采纳推荐方案。\n\n12. **任务生成请求发送**\n - 组装任务生成请求报文(含事件引用、初始参数、模板ID等)。\n - 通过HTTP协议将请求安全发送至外部任务规划引擎。\n\n---\n\n### 数据结构\n#### 核心数据库表\n**1. 事件表(t_event)**\n| 字段名称 | 字段代码 | 类型 | 说明 |\n|--------|--------|------|------|\n| 主键ID | id | BIGINT | 自增主键 |\n| 事件ID | event_id | VARCHAR(64) | 全局唯一标识 |\n| 事件类型 | event_type | VARCHAR(20) | 如侦察、打击、预警等 |\n| 时间戳 | timestamp | TIMESTAMP | 事件发生时间 |\n| 事件等级 | level | INTEGER | 数值表示紧急程度 |\n| 经度 | longitude | DOUBLE | 地理位置信息 |\n| 纬度 | latitude | DOUBLE | 地理位置信息 |\n| 描述文本 | description | TEXT | 事件具体内容 |\n| 状态 | status | VARCHAR(20) | Received, Processed, Pending Task, Rejected, Task Generated |\n| 创建时间 | create_time | TIMESTAMP | 记录入库时间 |\n\n**2. 任务模板表(t_task_template)**\n| 字段名称 | 字段代码 | 类型 | 说明 |\n|--------|--------|------|------|\n| 模板ID | template_id | VARCHAR(64) | 唯一标识 |\n| 名称 | name | VARCHAR(100) | 显示名称 |\n| 版本号 | version | VARCHAR(20) | 关联知识库版本 |\n| 内容路径 | content_path | TEXT | MinIO中模板文件存储路径 |\n| 适用类型 | applicable_type | VARCHAR(50) | 可匹配的事件类型 |\n| 创建时间 | create_time | TIMESTAMP | 模板导入时间 |\n\n**3. 知识库版本表(t_kb_version)**\n| 字段名称 | 字段代码 | 类型 | 说明 |\n|--------|--------|------|------|\n| 版本ID | version_id | VARCHAR(32) | 如KB-V1.0 |\n| 版本名称 | version_name | VARCHAR(50) | 友好显示名 |\n| 发布时间 | release_time | TIMESTAMP | 版本发布时间 |\n| 状态 | status | VARCHAR(20) | Active / Deprecated |\n\n#### 缓存与文件存储\n- **Redis缓存**:用于缓存热点事件数据、模板元数据及会话信息,提升高并发访问性能。\n- **MinIO对象存储**:存放完整的任务模板定义文件(JSON/XML),通过唯一ID索引访问。\n\n---\n\n### 接口或命令\n#### 外部接口\n| 接口标识 | 名称 | 方向 | 协议 | 数据格式 | 描述 |\n|--------|-----|------|-------|---------|------|\n| SRS-ETMS_I_EVT_RAW | 接收原始事件数据 | 输入 | MQTT | JSON | 上游事件生成模块推送事件流,最大4KB,含event_id、eventType、timestamp、location等字段 |\n| SRS-ETMS_O_REQ_TSK | 发送任务生成请求 | 输出 | HTTP POST | JSON | 向任务规划引擎提交任务请求,需OAuth2.0认证与HTTPS加密传输 |\n\n#### 内部API接口\n| 接口名称 | 方向 | 数据类型 | 描述 |\n|--------|------|----------|------|\n| Query API | 输入 | JSON | 分页查询参数(page, size, sortField, sortOrder) |\n| List Data | 输出 | JSON Array | 返回事件或模板列表数据 |\n| Sort Rule | 输入 | String | 用户选择的排序规则(如threat_level_desc) |\n| Version List | 输入 | JSON Array | 获取可用知识库版本列表 |\n| Selected Ver | 输出 | String | 用户选定的版本ID |\n| Template Pack | 输入 | JSON/XML | 接收模板集合数据包 |\n| Select Template | 输入 | String | 用户选择的模板ID |\n\n#### 消息通信机制\n- **消息队列**:采用MQTT主题订阅方式实现异步事件接收。\n- **WebSocket**:向前端实时推送事件状态变更通知。\n- **RPC调用**:微服务间通过内部接口同步调用关键业务逻辑。\n\n---\n\n### 约束\n1. **技术栈约束**\n - 开发语言:Java(基于JVM)\n - 框架:Spring Boot 微服务架构\n - 前端框架:Vue.js\n - 数据库:PostgreSQL集群 + Redis缓存\n - 文件存储:MinIO对象存储\n - 部署环境:Kubernetes集群,运行于CentOS/Kylin Linux发行版\n\n2. **安全性约束**\n - 所有敏感字段(地理位置、部队番号)须使用AES-256或国密SM4算法加密存储。\n - 数据传输全程启用HTTPS/TLS加密。\n - 身份认证采用JWT令牌机制,会话超时设置≤30分钟。\n - 实施RBAC权限控制,限制敏感操作访问。\n\n3. **性能约束**\n - 事件接收延迟 ≤ 500ms\n - 列表渲染响应时间 ≤ 800ms(万级数据量)\n - 支持≥1000个并发事件同时处理\n - 前端操作反馈延迟 ≤ 200ms\n\n4. **可靠性约束**\n - 关键路径具备重试机制(网络中断自动重连)\n - 数据库操作使用事务保证一致性\n - 心跳检测监控服务健康状态,异常时自动告警并切换备用节点\n\n5. **部署与环境适应性**\n - 支持内场模拟环境与野战指挥所双场景部署\n - 具备离线缓存能力,网络恢复后自动同步数据\n - 可在低配置服务器上稳定运行(最低4核CPU、8GB内存)\n\n6. **标准合规性**\n - 符合GJB 438C-2021文档规范要求\n - 界面设计遵循GJB军用软件人机界面标准(色调、字体、控件统一)\n\n---\n\n### 测试建议\n1. **功能测试**\n - 验证各功能单元是否按需求正确实现,重点覆盖:\n - 事件接收与ACK返回机制\n - 事件状态流转逻辑(Received → Processed → Pending Task → Task Generated)\n - 模板选择与任务请求组装流程\n - 不同排序规则下的列表展示效果\n\n2. **性能测试**\n - 使用JMeter模拟高并发事件涌入场景(如1000+事件/秒)\n - 监测事件处理延迟、数据库写入吞吐量、GC频率\n - 结合Prometheus+Grafana采集CPU、内存、接口耗时指标,评估系统瓶颈\n\n3. **安全性测试**\n - 进行SQL注入、XSS攻击模拟,验证输入过滤有效性\n - 检查JWT令牌生命周期管理与会话劫持防护机制\n - 审计日志记录完整性,确保所有敏感操作可追溯\n\n4. **可靠性测试**\n - 模拟网络中断、数据库宕机等故障场景,验证系统容错与恢复能力\n - 测试消息队列断线重连与数据重传机制\n - 验证备份策略(全量+增量)的有效性及恢复时效\n\n5. **兼容性测试**\n - 在不同Linux发行版(CentOS、Kylin)上验证部署与运行稳定性\n - 测试跨浏览器兼容性(Chrome、Edge、国产浏览器)\n - 验证移动端适配能力(如有触屏操作需求)\n\n6. **可维护性与可观测性测试**\n - 验证ELK日志系统的检索能力,能否按模块、级别、时间精准定位问题\n - 测试配置中心动态调整参数功能(无需重启服务)\n - 检查代码注释率与命名规范符合度(不低于30%注释率)\n\n7. **集成与端到端测试**\n - 构建Mock服务模拟上游事件源与下游任务引擎,开展隔离测试\n - 执行完整链路测试:事件接入 → 展示 → 用户选择模板 → 发起任务请求\n - 验证各微服务间RPC调用与消息总线协作的正确性与稳定性",
|
||
"eventLogFile": "D:\\workspace\\agent\\DocumentGenerateAgent\\agents\\ai_agents\\project-files\\codegen-runs\\codegen_d0add3470891422097f0b7fb8558b115\\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"
|
||
} |