一种基于容器技术的在线实验教学系统及方法

文档序号:26142331发布日期:2021-08-03 14:27阅读:80来源:国知局
一种基于容器技术的在线实验教学系统及方法
本发明涉及教育教学领域,尤其涉及一种基于容器技术的在线实验教学系统及方法。
背景技术
:在信息技术飞速发展的今天,由于线下教学的时间和空间的局限性,越来越多的课程采用了线上教学的方式。各种线上教学平台也提供了大量优质的课程;然而大多数教学平台专注于理论知识的教学,不支持实验教学。传统的实验教学需要学生自备实验资源,比如高性能的计算机、高速稳定的网络环境等。学生使用各自的计算机作为实验环境,这些环境没有相同的软硬件配置,并且由于不同课程实验所需环境不同,甚至在学生在实验过程中将大部分的时间花费在了环境配置上,不能专注于实验本身的内容。技术实现要素:本发明目的在于提供一种基于容器技术的在线实验教学系统及方法,以解决现有技术存在的不足,实现高效的在线实验。为解决上述技术问题,本发明的一种基于容器技术的在线实验教学系统及方法的具体技术方案如下:一种基于容器技术的在线实验教学系统,包括:在线教学平台、在线实验平台、网络转发设备、镜像管理平台、可使用容器化技术的集群以及实验机,用户通过浏览器端的在线教学平台入口访问在线实验平台;所述在线实验平台通过网络转发设备与集群中的实验机连接;所述镜像管理平台通过提供私有的镜像仓库对集群中的镜像进行管理,并通过api接口将数据同步到在线教学平台中。进一步地,所述在线教学平台按课程中的学习任务与在线实验平台进行绑定,所述在线实验平台的服务与数据存储相对在线教学平台独立运行;所述实验机与在线实验平台之间基于自定义转发协议保持长连接,并在浏览器端实时显示实验机桌面。进一步地,所述在线实验平台包括可使用虚拟化技术的容器化集群和存储服务器以及数据库,存储服务器与集群连接,存储每个实验机特定目录下的文件;所述服务器的主节点与数据库连接,存储每一个实验机的挂载目录和访问地址、端口等信息;所述实验机通过集群统一调度被分配在集群中各服务器上,并通过不同端口进行访问;所述集群内部有自动的负载均衡机制。进一步地,所述网络转发设备部署于任意服务器上,包括请求中转模块和请求转发模块;所述请求中转模块负责将浏览器中对于实验机的请求中转到服务器上,服务器通过在其上部署的请求转发模块对请求进行路径的重写与转发。进一步地,所述镜像管理平台包括私有镜像仓库和镜像管理可视化平台,所述私有镜像仓库的镜像基于网络上的常用镜像或来自于课程高度自定义的镜像;将存在于私有镜像仓库的镜像信息通过在线教学平台进行存储;所述私有镜像仓库和集群相连接,集群中任意节点的镜像可以上传至私有镜像仓库从而被镜像管理平台所托管,同时集群中的任意节点可以通过私有镜像仓库下载本地不存在的镜像。所述镜像管理可视化平台可以对所有的镜像进行管理,管理内容包括镜像存储、镜像自定义制作、镜像分发和镜像移除。进一步地,可以在进行对应的教学实验时使用特定的镜像产生实验机,保证不同实验之间环境不同,相同实验的环境完全相同。本发明还公开了一种基于容器技术的在线实验教学系统的构建方法,包括如下步骤:步骤1:课程和实验的创建,教师通过在线教学平台创建课程,并发布在线实验,如在线实验中有需要分发的文件则一并上传;步骤2:镜像的创建,管理员根据教师提供的镜像信息,定制镜像,上传到镜像管理平台,并与在线教学平台中的镜像信息进行绑定;步骤3:进入在线实验平台,用户通过浏览器进入在线教学平台,进入教师创建好的相应课程章节,找到实验任务进入在线实验平台;步骤4:开启实验机,在线教学平台向在线实验平台发送请求,在线实验平台通过在线教学平台提供的信息为学生创建实验机,并将实验题中预先准备的实验数据挂载到实验机内部;步骤5:学生在线实验,学生通过浏览器操作实验机进行实验,此处与操作一台实体机没有任何区别;步骤6:实验暂停,学生不能一次性完成实验或者被其他事情中断实验,可以申请暂停实验,所有的实验文件以及环境都会被保存,下次进入实验将从中断处继续;暂停期间不占用服务器资源;步骤7:实验提交,学生通过在线教学平台中的提交按钮将实验进行提交,提交内容可以在后续被教师下载或者在实验机中查看;步骤8:实验结束,资源释放,学生主动发起释放占用的实验资源操作或者等待超时实验平台自动关闭,在线实验平台根据相关信息,关闭容器化的实验机,解除端口的占用和其他各种资源的占用,但对于挂载的特定文件夹下的文件会保存在存储服务器上;步骤9:实验评分,教师通过查看学生上交的实验结果文件对学生本次实验进行打分,若不符合要求则可以驳回实验结果,学生此时可重新开始实验并提交。进一步地,步骤4具体包括如下步骤:步骤4.1:学生点击开始实验,在线教学平台将实验机信息和学生信息发送至实验平台;步骤4.2:实验平台根据接收信息,初始化容器元数据并创建网络文件系统(nfs)类型的容器卷(pv/pvc);步骤4.3:实验平台调用集群接口,通过容器元数据创建一个实验机,并将实验机内运行的vnc需要转发的端口映射到宿主机的某个端口上,并将容器卷挂载到实验机上。进一步地,所述实验机通过网络转发设备与在线教学平台进行通信;每个用户的相同实验下,不同实验机通过数据库中存储的不同端口以区分彼此;通过nginx服务器对实验机在浏览器中访问路径进行重写与转发,使得不同的实验机之间的访问路径只需要微小的区别从而转发到不同节点的不同端口上去。进一步地,步骤6具体包括如下步骤:步骤6.1:学生点击暂停实验,在线教学平台将实验机信息和学生信息发送至在线实验平台;步骤6.2:在线实验平台向集群发送镜像提交请求,将学生正在使用的实验机打包成为一个新的镜像,在数据库中存储相关信息并在镜像管理平台上托管;步骤6.3:学生在此进入实验时,在线实验平台选择学生上次暂停保存的镜像生成容器,恢复学生暂停实验之前的实验机状态;步骤6.4:学生结束实验时,释放正在运行的在线实验机资源,并根据数据库信息,清理学生暂停时生成的中间镜像。本发明的一种基于容器技术的在线实验教学系统及方法具有以下优点:本发明依托于底层容器化的计算机集群、自定义的网络转发规则、镜像管理系统以及在线教学平台等结合计算机中各种不同的实验课程,为用户提供了一个在线的统一的计算机实验环境。节省了实验环境配置时间,提高了实验效率。附图说明图1是本发明的总体结构图;图2是本发明的实验平台集群网络拓扑结构图;图3是本发明的学生实验流程图。具体实施方式为了更好地了解本发明的目的、结构及功能,下面结合附图,对本发明一种基于容器技术的在线实验教学系统及方法做进一步详细的描述。一种基于容器技术的在线实验教学系统,包括:在线教学平台、在线实验平台、网络转发设备、镜像管理平台、可使用容器化技术的集群以及实验机,用户通过浏览器端的在线教学平台入口访问在线实验平台;所述在线实验平台通过网络转发设备与集群中的实验机连接;镜像管理平台通过提供私有的镜像仓库对集群中的镜像进行管理,镜像管理平台通过api接口将数据同步到在线教学平台中。在线教学平台按课程中的学习任务与在线实验平台进行绑定,同时在线实验平台的服务与数据存储相对在线教学平台独立运行。两个平台可以分别部署在不同的环境下,保证了平台高效稳定运行。实验机与在线实验平台之间基于自定义转发协议保持长连接,并在浏览器端实时显示实验机桌面。所述在线实验平台包括可使用虚拟化技术的容器化集群和存储服务器以及数据库,存储服务器与集群连接,存储每个实验机特定目录下的文件。服务器主节点与数据库连接,存储每一个实验机的挂载目录和访问地址、端口等信息。实验机通过集群统一调度被分配在集群中各服务器上,并通过不同端口进行访问。集群内部有自动的负载均衡机制,以保证集群的稳定性。所述网络转发设备部署于任意服务器上,包括请求中转模块和请求转发模块。请求中转模块负责将浏览器中对于实验机的请求中转到服务器上,服务器通过在其上部署的请求转发模块对请求进行路径的重写与转发,维护了一个从内部集群不同节点不同端口到外部浏览器的长连接通道,以便于浏览器端对实验机进行实时可视化的操作。所述镜像管理平台包括私有镜像仓库和镜像管理可视化平台,所述私有镜像仓库的镜像基于网络上的常用镜像或来自于课程高度自定义的镜像;将存在于私有镜像仓库的镜像信息通过在线教学平台进行存储;可以在进行对应的教学实验时使用特定的镜像产生实验机,从而保证了不同实验之间环境不同,相同实验的环境完全相同。所述镜像管理平台的私有镜像仓库和集群相连接,集群中任意节点的镜像可以上传至私有镜像仓库从而被镜像管理平台所托管,同时集群中的任意节点可以通过私有镜像仓库下载本地不存在的镜像,简化了镜像管理的复杂度。所述镜像管理可视化平台可以对所有的镜像进行管理,管理内容包括镜像存储、镜像自定义制作、镜像分发和镜像移除等。如图1所示,具体地,一种基于容器技术的在线实验教学系统,依托于底层容器化的计算机集群、自定义的网络转发规则、镜像管理系统以及在线教学平台等结合计算机中各种不同的实验课程,为用户提供了一个在线的统一的计算机实验环境。系统基于b/s架构,通过浏览器访问在线教学平台内不同课程的实验任务进入不同的计算机实验环境,实验过程中可以在实验机旁边查看教师编写的实验步骤与提示,同时也可以在开机时将教师提供的实验文件自动下载到实验机内部;在线实验平台由linux服务器集群、数据库、自定义网络转发协议、存储服务器及其他必要硬件设备组成,实验机与浏览器端保持websocket协议长连接,通过虚拟网络控制台(vnc)服务将实验机的桌面远程显示在浏览器中。客户端浏览器和远程实验机之间的连接通道是:网页浏览器←→在线教学平台←→在线实验平台←→实验机。系统具体包括如下部分:1、系统架构,系统由容器化集群、数据库、浏览器、在线教学平台、在线实验平台、镜像管理平台以及其他必要硬件设备组成,实验机的网拓扑结构如图2所示,使用http协议转发网络请求,使用自定义的网络转发协议对虚拟网络控制台(vnc)的websocket协议保持长连接。如图2所示,用户发起的实验机请求通过转发进入集群,然后由集群内自定义的服务(service)进行与实验机的交互,服务(service)实现的是在集群任意节点访问实验机,而代理服务器(proxy)转发实现的是在外网通过统一资源定位系统(url)的微小改变访问不同的实验机。2、在线教学平台设计,在线教学平台负责学生进行理论知识的学习。平台中有四种角色:学生、教师、高级教师、管理员。并提供相应的功能模块,角色拥有的具体功能模块如表1所示:用户角色功能模块学生个人中心、在线学习、在线实验、在线问答等教师班级管理、课程管理、题库管理、任务管理、学情统计等高级教师班级管理、课程管理、题库管理、任务管理、学情统计、镜像管理等管理员用户管理、镜像管理、课程管理、题库管理、任务管理、日志管理等表1对于学生用户,系统支持在线课程学习、在线课程实验、在线问答、个人信息设置、个人学习情况分析等功能,对于教师用户系统支持班级管理、课程管理、题库管理、任务管理、班级学情统计等功能,而高级教师除普通教师含有的功能外还还支持镜像管理等功能。对于管理员用户,平台支持用户管理、镜像管理、日志管理等系统高级功能。3、在线教学平台与在线实验平台连接方案设计:在线教学平台每一个实验通过任务与课程进行绑定,一个课程可以有多个任务,很好地适应了复杂课程中不同的实验需求。在线实验平台数据库与在线教学平台数据库可分别部署,增强了系统的稳定性。4、镜像管理平台设计:镜像管理平台通过提供私有的镜像仓库对集群中的镜像进行管理,私有的内网镜像仓库不仅可以高效率的在集群之间管理镜像,而且对集群镜像的安全性也有一定的保证。镜像管理平台通过api接口将数据同步到在线教学平台中,从而实现在同一个平台上对镜像进行管理。5、网络转发设备:此处的网络转发指websocket协议长连接类型的请求转发。如图2所示,用户和实验机建立连接的过程其实就是长连接建立的过程,用户对实验机的操作由此请求发送至实验机并作出反应。首先经过代理服务器(proxy)进行反向代理转发,可以使用nginx等常见的反向代理服务器,然后请求进入集群内网,通过集群中的服务(service),将请求真正转发到实验机内部,集群的机构方式多种多样,采用的管理框架也不限于kubernetes。一种基于容器技术的在线实验教学系统的构建方法,包括如下步骤:1、课程和实验的创建,教师通过在线教学平台创建课程,并发布在线实验,如在线实验中有需要分发的文件则一并上传;2、镜像的创建,管理员根据教师提供的镜像信息,定制镜像,上传到镜像管理平台,并与在线教学平台中的镜像信息进行绑定;3、进入在线实验平台,用户通过浏览器进入在线教学平台,进入教师创建好的相应课程章节,找到实验任务进入在线实验平台;4、开启实验机,在线教学平台向在线实验平台发送请求,在线实验平台通过在线教学平台提供的信息为学生创建实验机,并将实验题中预先准备的实验数据挂载到实验机内部;开启实验机包括如下步骤:4.1、学生点击开始实验,在线教学平台将实验机信息和学生信息发送至实验平台;4.2、实验平台根据接收信息,初始化容器元数据并创建网络文件系统(nfs)类型的容器卷(pv/pvc);4.3、实验平台调用集群接口,通过容器元数据创建一个实验机,并将实验机内运行的vnc需要转发的端口映射到宿主机的某个端口上,并将容器卷挂载到实验机上;所述实验机通过网络转发设备与在线教学平台进行通信。每个用户的相同实验下不同实验机通过数据库中存储的不同端口以区分彼此。通过nginx服务器对实验机在浏览器中访问路径进行重写与转发,使得不同的实验机之间的访问路径只需要微小的区别就可以转发到不同节点的不同端口上去。方便了在线实验平台对实验机的统一管理;5、学生在线实验,学生通过浏览器操作实验机进行实验,此处与操作一台实体机没有任何区别;6、实验暂停,学生不能一次性完成实验或者被其他事情中断实验,可以申请暂停实验,所有的实验文件以及环境都会被保存,下次进入实验将从中断处继续;暂停期间不占用服务器资源;实验暂停包括如下具体步骤:6.1、学生点击暂停实验,在线教学平台将实验机信息和学生信息发送至在线实验平台;6.2、在线实验平台向集群发送镜像提交请求,将学生正在使用的实验机打包成为一个新的镜像,在数据库中存储相关信息并在镜像管理平台上托管;6.3、学生在此进入实验时,在线实验平台选择学生上次暂停保存的镜像生成容器,恢复学生暂停实验之前的实验机状态;6.4、学生结束实验时,除了释放正在运行的在线实验机资源,还需要根据数据库信息,清理学生暂停时生成的中间镜像;7、实验提交,学生通过在线教学平台中的提交按钮将实验进行提交,提交内容可以在后续被教师下载或者在实验机中查看;8、实验结束,资源释放,学生主动发起释放占用的实验资源操作或者等待超时实验平台自动关闭,在线实验平台根据相关信息,关闭容器化的实验机,解除端口的占用和其他各种资源的占用,但对于挂载的特定文件夹下的文件会保存在存储服务器上;9、实验评分,教师通过查看学生上交的实验结果文件对学生本次实验进行打分,若不符合要求则可以驳回实验结果,学生此时可重新开始实验并提交;一种基于容器技术的在线实验教学系统的使用方法,如图3所示,包含以下步骤:步骤一、进入教学平台:在线实验平台内嵌于在线教学平台之中,需要登录在线教学平台,选择相应课程的对应实验任务,以进入在线实验平台;用户打开浏览器,输入在线教学平台网址进入,用户的账户由管理员创建;点击进入相关实验课程相关章节,进行理论知识学习,学习完毕后点击开始实验进入在线实验平台;步骤二、初始化实验资源:在线实验平台根据请求信息,创建实验机,并为其创建合理的相关资源,并且保证实验机之间互不干扰,若集群资源不足,则实验的开启需要等待。实验机开启后,教师预先上传的实验文件会自动下载至用户的实验机内,开启成功后实验机的桌面便会显示在在线教学平台中;步骤三、远程实验:学生通过浏览器中的在线学习平台对专属实验机进行操作,完成实验指定的内容后可以上交实验报告或者实验文件。点击在线教学平台中的上交按钮,作业会自动存储,以便教师查看和批阅,若教师未驳回作业,则不可再次提交;步骤四、暂停实验:实验进行中时,学生可以暂停实验,实验暂停后将会将当前实验机打包成一个新的镜像,交由镜像管理系统管理,并且在数据库中存储相应的信息。学生下次进入时将使用此镜像生成实验机,保证暂停前后的环境一致;步骤五、释放资源:当实验结束时,学生可手动点击结束实验,实验机将会关闭,任何没有保存在指定文件夹下的文件均不会被保存。也可以等待系统自动回收资源,实验超时后,系统将对实验资源进行回收,以供其他用户使用,文件的保存策略与手动结束相同。若学生在实验过程中申请过暂停实验,则在结束实验时对于学生产生的中间镜像进行清理。可以理解,本发明是通过一些实施例进行描述的,本领域技术人员知悉的,在不脱离本发明的精神和范围的情况下,可以对这些特征和实施例进行各种改变或等效替换。另外,在本发明的教导下,可以对这些特征和实施例进行修改以适应具体的情况及材料而不会脱离本发明的精神和范围。因此,本发明不受此处所公开的具体实施例的限制,所有落入本申请的权利要求范围内的实施例都属于本发明所保护的范围内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1