一种基于docker的在线实验教学平台及实现方法技术

技术编号:20869509 阅读:34 留言:0更新日期:2019-04-17 09:57
本发明专利技术一种基于docker的在线实验教学平台及实现方法,包括三种系统角色:管理员、教师和学生;管理员的职能包括:docker镜像的拉取、课程、实验的新增及镜像与实验的绑定;教师的职能包括:课程实验的发布、学生实验进度的监督、截止实验及学生实验结果的评价;学生的职能包括:创建实验环境并完成实验要求和查看实验评价。本发明专利技术提供的基于docker的在线实验教学平台及实现方法,简化在服务器中配置相同实验环境带来的繁琐工作,提高教学效率,可快速上手,操作便捷,多个学生同时实验时互不干扰,提高实验体验,降低学生进行课程实验的要求,解决现阶段在线教学课程中出现的教育者与受教育者设备配置冲突、教学效率低的问题。

【技术实现步骤摘要】
一种基于docker的在线实验教学平台及实现方法
本专利技术属于教育教学领域,具体涉及一种基于docker的在线实验教学平台及实现方法。
技术介绍
由于大型开放式网络课程本身教学模式的限制,如教师与学生的比例较低、没有统一的课程实验平台等,使得教学双方在答疑讨论、作业批改、课程实验等方面还面临很多困难,特别是在一些需要学生动手实践的环节,如计算机编程语言、操作系统、分布式大数据处理等课程中,学生使用各自的计算机作为实验环境,既没有相同的软件与硬件配置,又不能满足分布式课程实验的硬件要求,学生使用自己的操作系统而无法达到统一教学环境,很多时候使得教学双方将大量精力花费在实验环境的部署与配置上,反而不能够专注于课程实验关注的内容,导致平台发布的实验往往不能很好地由学生完成。
技术实现思路
为解决现有技术存在的问题,本专利技术提供了一种基于docker的在线实验教学平台及实现方法,利用Docker应用技术的操作系统级的虚拟化技术,为在线实验平台中的教师、学生等角色提供简单快捷的环境部署功能和稳定、自由、可定制的Linux教学实验环境。为实现上述目的,本专利技术采用的技术方案为:一种基于docker的在线实验教学平台,包括创建的三种系统角色:管理员、教师和学生;所述管理员的职能包括:docker镜像的拉取和创建、课程、实验的新增以及镜像与实验的绑定,包括:系统资源管理模块、docker资源管理模块和课程实验资源管理模块,系统资源管理模块包括系统资源管理、用户资源管理和角色资源管理,这三个模块为系统运行所需的基础模块,用户资源管理用于管理系统的用户资源,角色资源管理与系统资源管理协同工作,docker资源管理模块包括端口管理模块、镜像管理模块和容器管理模块,端口管理模块是docker容器使用的服务器资源管理页面,镜像管理模块是用于管理远程服务器中的docker服务内现存的镜像资源,容器管理模块是提供给管理员对学生、教师进行实验时产生的数量极多的容器资源进行管理的页面,用于管理员查看和删除学生、教师实验容器,课程实验资源管理模块包括课程类型管理模块、课程管理模块和实验管理模块,课程类型管理模块提供管理员查询修改课程类型的功能,在删除课程类型时要确保该课程类型下无在用课程,课程管理模块提供实验可的新增修改,实验管理模块为管理员提供课程实验的基础信息列表和新增修改功能;所述教师的职能包括:课程实验的发布、学生实验进度的监督、截止实验以及学生实验结果的评价,包括实验发布模块、实验监督模块、实验评价模块和成绩展示模块;所述学生的职能包括:创建实验环境并完成实验要求和查看实验评价,学生角色包括未开始实验、进行中实验、已截止实验和选课四个模块。进一步的,用户资源为所有通过本平台申请注册的用户列表,包含用户注册时产生的所有信息,用户信息包括用户名(学生、教师名)、用户号码(学生、教师编号)、用户密码、用户角色、系统ID等基础信息;用户角色总共分为:管理员、教师、学生和超级管理员;管理员管理教师和学生用户资源列表,超级管理员管理管理员、教师和学生的用户列表;管理员用户由超级管理员分配,教师与学生账户由使用者自助申请获得,超级管理员由系统指定。进一步的,角色资源管理包含系统内部所有用户角色的列表,系统用户角色包含超级管理员、普通管理员、教师、学生四种基础角色,角色管理可以新增修改删除系统内部的角色资源,新增用户角色时需要为新增的角色资源指定对应的系统资源,即页面资源,系统会自动根据用户角色绑定的系统资源来展示相应的页面资源,角色管理不可删除四种基础角色但是可修改四种基础角色对应的系统资源页面。进一步的,系统资源管理页面包含系统内部现存的页面资源列表,这些资源可自由的分配给系统用户角色,为该角色提供对应的功能操作页面。进一步的,实验发布模块包含着管理员已经建立的、某一门课程或所有课程的、已发布或未发布或已截止的实验资源列表,每一条资源对应课程的一个实验,教师可在实验发布模块中设定起止日期来发布实验,或通过使用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(ID);步骤9):使用DockerClient类的实体对象,启动新创建的实验容器;步骤10):构建容器基础信息,包括容器唯一标识码、容器共享数据卷目录、容器创建时间、容器运行状态,更新数据库中容器表格;步骤11):根据端口资源及其描述,构建返回信息类,向前端提供容器登录页面信息及容器提示信息;步骤12):执行结果返回。功能3:停止实验容器:步骤1):根据系统中的配置文件docker.properties,创建docker-java的DockerClient类的实体对象;步骤2):根据本文档来自技高网...

【技术保护点】
1.一种基于docker的在线实验教学平台,其特征在于,包括创建的三种系统角色:管理员、教师和学生;所述管理员的职能包括:docker镜像的拉取和创建、课程、实验的新增以及镜像与实验的绑定,包括:系统资源管理模块、docker资源管理模块和课程实验资源管理模块,系统资源管理模块包括系统资源管理、用户资源管理和角色资源管理,这三个模块为系统运行所需的基础模块,用户资源管理用于管理系统的用户资源,角色资源管理与系统资源管理协同工作,docker资源管理模块包括端口管理模块、镜像管理模块和容器管理模块,端口管理模块是docker容器使用的服务器资源管理页面,镜像管理模块是用于管理远程服务器中的docker服务内现存的镜像资源,容器管理模块是提供给管理员对学生、教师进行实验时产生的数量极多的容器资源进行管理的页面,用于管理员查看和删除学生、教师实验容器,课程实验资源管理模块包括课程类型管理模块、课程管理模块和实验管理模块,课程类型管理模块提供管理员查询修改课程类型的功能,在删除课程类型时要确保该课程类型下无在用课程,课程管理模块提供实验可的新增修改,实验管理模块为管理员提供课程实验的基础信息列表和新增修改功能;所述教师的职能包括:课程实验的发布、学生实验进度的监督、截止实验以及学生实验结果的评价,包括实验发布模块、实验监督模块、实验评价模块和成绩展示模块;所述学生的职能包括:创建实验环境并完成实验要求和查看实验评价,学生角色包括未开始实验、进行中实验、已截止实验和选课四个模块。...

【技术特征摘要】
1.一种基于docker的在线实验教学平台,其特征在于,包括创建的三种系统角色:管理员、教师和学生;所述管理员的职能包括:docker镜像的拉取和创建、课程、实验的新增以及镜像与实验的绑定,包括:系统资源管理模块、docker资源管理模块和课程实验资源管理模块,系统资源管理模块包括系统资源管理、用户资源管理和角色资源管理,这三个模块为系统运行所需的基础模块,用户资源管理用于管理系统的用户资源,角色资源管理与系统资源管理协同工作,docker资源管理模块包括端口管理模块、镜像管理模块和容器管理模块,端口管理模块是docker容器使用的服务器资源管理页面,镜像管理模块是用于管理远程服务器中的docker服务内现存的镜像资源,容器管理模块是提供给管理员对学生、教师进行实验时产生的数量极多的容器资源进行管理的页面,用于管理员查看和删除学生、教师实验容器,课程实验资源管理模块包括课程类型管理模块、课程管理模块和实验管理模块,课程类型管理模块提供管理员查询修改课程类型的功能,在删除课程类型时要确保该课程类型下无在用课程,课程管理模块提供实验可的新增修改,实验管理模块为管理员提供课程实验的基础信息列表和新增修改功能;所述教师的职能包括:课程实验的发布、学生实验进度的监督、截止实验以及学生实验结果的评价,包括实验发布模块、实验监督模块、实验评价模块和成绩展示模块;所述学生的职能包括:创建实验环境并完成实验要求和查看实验评价,学生角色包括未开始实验、进行中实验、已截止实验和选课四个模块。2.根据权利要求1所述的一种基于docker的在线实验教学平台,其特征在于,用户资源为所有通过本平台申请注册的用户列表,包含用户注册时产生的所有信息,用户信息包括用户名(学生、教师名)、用户号码(学生、教师编号)、用户密码、用户角色、系统ID等基础信息;用户角色总共分为:管理员、教师、学生和超级管理员;管理员管理教师和学生用户资源列表,超级管理员管理管理员、教师和学生的用户列表;管理员用户由超级管理员分配,教师与学生账户由使用者自助申请获得,超级管理员由系统指定。3.根据权利要求1所述的一种基于docker的在线实验教学平台,其特征在于,角色资源管理包含系统内部所有用户角色的列表,系统用户角色包含超级管理员、普通管理员、教师、学生四种基础角色,角色管理可以新增修改删除系统内部的角色资源,新增用户角色时需要为新增的角色资源指定对应的系统资源,即页面资源,系统会自动根据用户角色绑定的系统资源来展示相应的页面资源,角色管理不可删除四种基础角色但是可修改四种基础角色对应的系统资源页面。4.根据权利要求1所述的一种基于docker的在线实验教学平台,其特征在于,系统资源管理页面包含系统内部现存的页面资源列表,这些资源可自由的分配给系统用户角色,为该角色提供对应的功能操作页面。5.根据权利要求1所述的一种基于docker的在线实验教学平台,其特征在于,实验发布模块包含着管理员已经建立的、某一门课程或所有课程的、已发布或未发布或已截止的实验资源列表,每一条资源对应课程的一个实验,教师可在实验发布模块中设定起止日期来发布实验,或通过使用docker容器对某一个实验进行模拟实验,学生只能看到已经发布的实验。6.根据权利要求1所述的一种基于docker的在线实验教学平台,其特征在于,学生在进行实验时的实验进度会以实验进度资源表的形式展示在实验监督模块,主要包括实验进度号、实验进度名称、实验进度备注、学号、学生姓名、实验名称、最近启动时间、实验完成度、实验进度状态、进入学生实验按钮和删除按钮。7.根据权利要求1所述的一种基于docker的在线实验教学平台,其特征在于,学生实验只有两种操作:进入实验与清除并创建实验和停止实验,学生实验步骤包括:功能1:进入实验容器:步骤1):根据系统中的配置文件docker.properties,创建docker...

【专利技术属性】
技术研发人员:张卫丰蒋臣威诸葛文杜
申请(专利权)人:南京邮电大学
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1