当前位置: 首页 > news >正文

用户仿真任务调度管理平台数据库设计

一、完整数据库表结构及说明
1. 用户表(User)
CREATE TABLE User (
    UserID INT AUTO_INCREMENT PRIMARY KEY,
    Username VARCHAR(50) UNIQUE NOT NULL,
    Password VARCHAR(255) NOT NULL,
    Role ENUM('user', 'ops', 'maintainer', 'admin') NOT NULL,
    Department VARCHAR(50),
    Email VARCHAR(100),
    CreatedAt TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    LastLogin TIMESTAMP
) ENGINE=InnoDB COMMENT '平台用户信息';
2. 机器资源表(Machine)
CREATE TABLE Machine (
    MachineID VARCHAR(10) PRIMARY KEY,
    IPAddress VARCHAR(15) NOT NULL,
    Hostname VARCHAR(50) NOT NULL,
    Status ENUM('online', 'offline', 'maintenance') DEFAULT 'online',
    Cluster VARCHAR(20) COMMENT '所属集群',
    CPUCores INT NOT NULL COMMENT '总CPU核心数',
    MemoryGB INT NOT NULL COMMENT '总内存(GB)',
    DiskSpaceGB INT COMMENT '可用磁盘空间(GB)',
    LastHeartbeat TIMESTAMP COMMENT '最后心跳时间',
    CONSTRAINT chk_cpu CHECK (CPUCores > 0),
    CONSTRAINT chk_mem CHECK (MemoryGB > 0)
) ENGINE=InnoDB;
3. 仿真任务表(Job)
CREATE TABLE Job (
    JobID VARCHAR(20) PRIMARY KEY COMMENT '格式: J[日期][序号]',
    UserID INT NOT NULL,
    Type VARCHAR(50) NOT NULL COMMENT '任务类型(如数据仿真/模型训练)',
    Status ENUM('pending', 'running', 'paused', 'completed', 'failed', 'canceled') DEFAULT 'pending',
    Priority TINYINT NOT NULL DEFAULT 10 COMMENT '1-10, 1为最高',
    MaxRetries TINYINT UNSIGNED DEFAULT 3 COMMENT '最大重试次数',
    EnvironmentConfig JSON COMMENT '环境配置(镜像版本、依赖库等)',
    Parameters JSON COMMENT '运行时参数',
    CreatedAt TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    StartedAt TIMESTAMP COMMENT '实际开始时间',
    FinishedAt TIMESTAMP COMMENT '结束时间',
    FOREIGN KEY (UserID) REFERENCES User(UserID),
    INDEX idx_job_user (UserID),
    INDEX idx_job_status (Status)
) ENGINE=InnoDB;
4. 子任务表(Task)
CREATE TABLE Task (
    TaskID VARCHAR(20) PRIMARY KEY COMMENT '格式: T[JobID后缀][序号]',
    JobID VARCHAR(20) NOT NULL,
    MachineID VARCHAR(10) COMMENT '实际运行的机器',
    Status ENUM('pending', 'running', 'completed', 'failed') DEFAULT 'pending',
    Retries TINYINT UNSIGNED DEFAULT 0 COMMENT '已重试次数',
    Requires JSON COMMENT '依赖的TaskID列表',
    ResourceDemand JSON NOT NULL COMMENT '资源需求(CPU/Memory)',
    Progress TINYINT UNSIGNED DEFAULT 0 COMMENT '进度百分比',
    LogPath VARCHAR(255) COMMENT '日志存储路径',
    StartedAt TIMESTAMP,
    FinishedAt TIMESTAMP,
    FOREIGN KEY (JobID) REFERENCES Job(JobID),
    FOREIGN KEY (MachineID) REFERENCES Machine(MachineID)

相关文章:

  • 使用Qt调用HslCommunication(C++调用C#库)
  • 微服务拆分-远程调用
  • 电子学会—2024年12月青少年软件编程(图形化)级等级考试真题——猜年龄互动小游戏
  • Linux之Web控制台管理系统命令终端管理系统(保姆级)
  • 精选一百道题备赛蓝桥杯 —— 1.子串简写
  • 【AI】Deepseek本地部署探索,尝试联网搜索
  • 碰撞率降低57.4%!VLM-AD显著提升自动驾驶规划准确性,无需VLM实时推理
  • 使用 Docker 构建不同 Node 环境下的 Hexo 调试环境
  • 推荐一个好用的在线文本对比网站 - diffchecker
  • 【新手指南】pyqt可视化远程部署deepseek7B蒸馏版模型
  • 测试大语言模型在嵌入式设备部署的可能性-ollama本地部署测试
  • HTTPS加密原理详解
  • 江协科技/江科大-51单片机入门教程——P[4-1] 静态数码管显示 P[4-2] 动态数码管显示
  • Dify 本地部署教程
  • 框架基本知识总结 Day16
  • 二级Python通关秘籍:字符串操作符/函数/方法全解析与实战演练
  • Android笔记:android 6.0 TextView对state_selected失效
  • [Python爬虫系列]bilibili
  • 【js逆向】某预约票网站 (webpack技术)
  • 【OpenCV图像处理基础与OCR应用】
  • 巴基斯坦外长:印巴已同意立即停火
  • 邯郸一酒店办婚宴发生火灾,新郎母亲:饭没吃成酒店还要收费
  • 韩德洙成为韩国执政党总统大选候选人
  • 中俄就应对美加征所谓“对等关税”等问题进行深入交流
  • 吉林市马拉松5月18日开赛,奖牌、参赛服公布
  • 印巴局势快速升级,外交部:呼吁印巴以和平稳定的大局为重