--- description: globs: alwaysApply: false --- # VWED任务模块 - 数据模型 ## 数据模型概述 VWED任务模块的数据模型层定义了系统中的各种实体和它们之间的关系。主要数据模型包括任务定义、任务记录、任务块记录、数据缓存和任务模板等。 ## 核心数据模型 ### 任务定义模型 (TaskDef) 任务定义模型存储任务的基本信息和配置,是系统中最基础的数据实体。 **核心字段**: - `id`: 任务定义ID - `name`: 任务名称 - `description`: 任务描述 - `task_type`: 任务类型 - `config`: 任务配置(JSON) - `status`: 任务状态 - `version`: 任务版本号 **相关文件**: [data/models/taskdef.py](mdc:data/models/taskdef.py) ### 任务记录模型 (TaskRecord) 任务记录模型记录任务的执行历史和状态,每次任务执行都会生成一条任务记录。 **核心字段**: - `id`: 记录ID - `task_def_id`: 关联的任务定义ID - `status`: 执行状态 - `result`: 执行结果 - `start_time`: 开始时间 - `end_time`: 结束时间 - `error_message`: 错误信息 **相关文件**: [data/models/taskrecord.py](mdc:data/models/taskrecord.py) ### 任务块记录模型 (BlockRecord) 任务块记录模型记录任务中各个执行块的执行情况,提供更细粒度的执行信息。 **核心字段**: - `id`: 记录ID - `task_record_id`: 关联的任务记录ID - `block_id`: 块ID - `block_type`: 块类型 - `status`: 执行状态 - `input_data`: 输入数据 - `output_data`: 输出数据 - `start_time`: 开始时间 - `end_time`: 结束时间 **相关文件**: [data/models/blockrecord.py](mdc:data/models/blockrecord.py) ### 数据缓存模型 (DataCache) 数据缓存模型用于存储任务执行过程中的临时数据和中间结果。 **核心字段**: - `id`: 缓存ID - `task_record_id`: 关联的任务记录ID - `key`: 缓存键 - `value`: 缓存值 - `type`: 数据类型 - `expire_time`: 过期时间 **相关文件**: [data/models/datacache.py](mdc:data/models/datacache.py) ### 任务模板模型 (TaskTemplate) 任务模板模型存储预定义的任务模板,用户可以基于模板快速创建任务。 **核心字段**: - `id`: 模板ID - `name`: 模板名称 - `description`: 模板描述 - `config`: 模板配置(JSON) - `version`: 模板版本号 - `task_type`: 任务类型 **相关文件**: [data/models/tasktemplate.py](mdc:data/models/tasktemplate.py) ## 数据关系图 ``` TaskDef (任务定义) ↓ 1:n TaskRecord (任务记录) ↓ 1:n BlockRecord (任务块记录) TaskDef ← 基于 ← TaskTemplate (任务模板) TaskRecord ↓ 1:n DataCache (数据缓存) ``` ## 数据库会话管理 系统使用SQLAlchemy作为ORM框架,支持同步和异步两种数据库访问方式。 **相关文件**: [data/session.py](mdc:data/session.py) ## 缓存系统 系统使用Redis作为分布式缓存,提供高性能的数据缓存和共享。 **相关文件**: [data/cache.py](mdc:data/cache.py)