[发明专利]一种基于docker的在线实验教学平台及实现方法有效
| 申请号: | 201811547517.7 | 申请日: | 2018-12-18 |
| 公开(公告)号: | CN109636691B | 公开(公告)日: | 2022-08-16 |
| 发明(设计)人: | 张卫丰;蒋臣威;诸葛文杜 | 申请(专利权)人: | 南京邮电大学 |
| 主分类号: | G06Q50/20 | 分类号: | G06Q50/20;G09B9/00 |
| 代理公司: | 南京纵横知识产权代理有限公司 32224 | 代理人: | 董建林 |
| 地址: | 210003 江苏*** | 国省代码: | 江苏;32 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 docker 在线 实验教学 平台 实现 方法 | ||
1.一种基于docker的在线实验教学平台,其特征在于,包括创建的三种系统角色:管理员、教师和学生;
所述管理员的职能包括:docker镜像的拉取和创建、课程、实验的新增以及镜像与实验的绑定,包括:系统资源管理模块、docker资源管理模块和课程实验资源管理模块,系统资源管理模块包括系统资源管理、用户资源管理和角色资源管理,这三个模块为系统运行所需的基础模块,用户资源管理用于管理系统的用户资源,角色资源管理与系统资源管理协同工作,docker资源管理模块包括端口管理模块、镜像管理模块和容器管理模块,端口管理模块是docker容器使用的服务器资源管理页面,镜像管理模块是用于管理远程服务器中的docker服务内现存的镜像资源,容器管理模块是提供给管理员对学生、教师进行实验时产生的数量极多的容器资源进行管理的页面,用于管理员查看和删除学生、教师实验容器,课程实验资源管理模块包括课程类型管理模块、课程管理模块和实验管理模块,课程类型管理模块提供管理员查询修改课程类型的功能,在删除课程类型时要确保该课程类型下无在用课程,课程管理模块提供实验的新增修改,实验管理模块为管理员提供课程实验的基础信息列表和新增修改功能;
所述教师的职能包括:课程实验的发布、学生实验进度的监督、截止实验以及学生实验结果的评价,包括实验发布模块、实验监督模块、实验评价模块和成绩展示模块;
所述学生的职能包括:创建实验环境并完成实验要求和查看实验评价,学生角色包括未开始实验、进行中实验、已截止实验和选课四个模块;
学生实验只有两种操作:进入实验与清除并创建实验和停止实验,学生实验步骤包括:
功能1:进入实验容器:
步骤1):根据系统中的配置文件docker.properties,创建docker-java的DockerClient类的实体对象;
步骤2):根据用户id在数据库中查询用户基础信息和用户容器信息;
步骤3):如果用户信息已经含有容器信息,则跳转到步骤8),若没有则继续步骤4);
步骤4):根据用户基础信息在数据库中查询该实验所用的镜像名称,以及分配给该用户的端口资源,并基于用户基础信息构建容器名称;
步骤5):根据镜像、端口资源和容器名称,使用DockerClient类的实体对象创建新的实验容器;
步骤6):使用DockerClient类提供的获取容器信息的api接口,获取容器唯一id;
步骤7):构建容器基础信息,包括容器名、容器唯一标识码、容器共享数据卷目录、容器创建时间、容器运行状态和容器使用者信息,插入数据库中容器表格;
步骤8):使用DockerClient类的实体对象,启动新创建的实验容器,并更新容器表格中的容器状态;
步骤9):根据端口资源及其描述,构建返回信息类,向前端提供容器登录页面信息及容器提示信息;
步骤10):执行结果返回;
功能2:清除并创建实验容器:
步骤1):根据系统中的配置文件docker.properties,创建docker-java的DockerClient类的实体对象;
步骤2):根据用户id,在数据库中查询用户正在使用的容器信息,并获取容器唯一标识码和容器名称;
步骤3):使用DockerClient类提供的api接口,利用容器唯一标识码,向服务器申请停止容器;
步骤4):使用DockerClient类提供的api接口,利用容器唯一标识码,向服务器申请删除容器;
步骤5):使用DockerClient类提供的api接口,利用容器唯一标识码,向服务器申请删除容器数据卷信息;
步骤6):根据用户基础信息在数据库中查询该实验所用的镜像名称,以及分配给该用户的端口资源;
步骤7):根据镜像、端口资源和容器名称,使用DockerClient类的实体对象创建新的实验容器;
步骤8):使用DockerClient类提供的获取容器信息的api接口,获取容器唯一id;
步骤9):使用DockerClient类的实体对象,启动新创建的实验容器;
步骤10):构建容器基础信息,包括容器唯一标识码、容器共享数据卷目录、容器创建时间、容器运行状态,更新数据库中容器表格;
步骤11):根据端口资源及其描述,构建返回信息类,向前端提供容器登录页面信息及容器提示信息;
步骤12):执行结果返回;
功能3:停止实验容器:
步骤 1):根据系统中的配置文件docker.properties,创建docker-java的DockerClient类的实体对象;
步骤2):根据用户id,在数据库中查询用户正在使用的容器信息,并获取容器唯一标识码和容器名称;
步骤3):使用DockerClient类提供的api接口,利用容器唯一标识码,向服务器申请停止容器;
步骤4):执行结果返回。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京邮电大学,未经南京邮电大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811547517.7/1.html,转载请声明来源钻瓜专利网。





