VWED_server/.cursor/rules/system-architecture.mdc

69 lines
3.3 KiB
Plaintext
Raw Normal View History

2025-04-30 16:57:46 +08:00
---
description:
globs:
alwaysApply: false
---
# VWED任务模块 - 系统架构
## 架构概览
VWED任务模块采用分层架构设计共分为五层
1. **客户端层**:包括任务管理界面、任务创建界面、任务编辑界面和任务监控与执行界面
2. **业务逻辑层**:包括任务定义模块、任务执行模块、组件管理模块、参数配置模块和模板配置模块
3. **数据访问层**包括任务定义DAO、任务记录DAO、任务块记录DAO、数据缓存DAO和模板DAO
4. **数据存储层**包括vwed_taskdef、vwed_taskrecord、vwed_blockrecord、vwed_datacache和vwed_tasktemplate等数据表
5. **集成服务层**包括AGV控制接口、站点管理接口、设备接口、外部系统接口和认证服务
## 核心模块
### 任务调度系统
任务调度系统是VWED任务模块的核心负责任务的分配、执行和管理。系统采用增强版任务调度器设计主要组件包括
- **EnhancedTaskScheduler**:主调度器,协调各组件工作
- **PriorityQueueManager**:优先级队列管理,实现多级队列
- **WorkerManager**:工作线程管理和监控
- **TaskPersistenceManager**:任务队列持久化,故障恢复
- **PeriodicTaskManager**:高级定时任务管理
相关代码:[services/enhanced_scheduler](mdc:services/enhanced_scheduler)
### 业务逻辑服务
业务逻辑服务层包含多个关键服务:
- **TaskService**[services/task_service.py](mdc:services/task_service.py) - 任务管理服务
- **TaskEditService**[services/task_edit_service.py](mdc:services/task_edit_service.py) - 任务编辑服务
- **TemplateService**[services/template_service.py](mdc:services/template_service.py) - 模板管理服务
- **ScriptService**[services/script_service.py](mdc:services/script_service.py) - 脚本管理服务
### API接口层
API接口层通过FastAPI框架实现主要包括以下路由模块
- **任务API**[routes/task_api.py](mdc:routes/task_api.py) - 任务管理相关接口
- **任务编辑API**[routes/task_edit_api.py](mdc:routes/task_edit_api.py) - 任务编辑相关接口
- **模板API**[routes/template_api.py](mdc:routes/template_api.py) - 模板管理相关接口
- **脚本API**[routes/script_api.py](mdc:routes/script_api.py) - 脚本管理相关接口
- **数据库API**[routes/database.py](mdc:routes/database.py) - 数据库操作相关接口
### 数据模型层
数据模型层定义了系统中的各种数据实体:
- **TaskDef**[data/models/taskdef.py](mdc:data/models/taskdef.py) - 任务定义模型
- **TaskRecord**[data/models/taskrecord.py](mdc:data/models/taskrecord.py) - 任务记录模型
- **BlockRecord**[data/models/blockrecord.py](mdc:data/models/blockrecord.py) - 任务块记录模型
- **DataCache**[data/models/datacache.py](mdc:data/models/datacache.py) - 数据缓存模型
- **TaskTemplate**[data/models/tasktemplate.py](mdc:data/models/tasktemplate.py) - 任务模板模型
## 系统流程
1. 用户通过客户端界面创建或编辑任务
2. API接口层接收请求并转发给相应的业务逻辑服务
3. 业务逻辑服务处理请求,操作数据模型,并提交任务至调度系统
4. 调度系统根据任务优先级和资源情况安排任务执行
5. 执行结果通过状态管理机制反馈给用户