VWED_server/.cursor/rules/system-architecture.mdc
2025-04-30 16:57:46 +08:00

69 lines
3.3 KiB
Plaintext
Raw Permalink 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.

---
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. 执行结果通过状态管理机制反馈给用户