1. 引言
云计算被誉为“革命性的计算模型”正在信息技术领域得到广泛的研究和应用 [1] ,对社会和科学的发展与进步产生了深远的影响。由于云计算是一个为用户提供如基础设施即服务(Infrastructure as a Service, IaaS)、平台即服务(Platform as a Service, PaaS)和软件即服务(Software as a Service, SaaS)等各种层次的服务 [2] ,即把计算实体整合成功能强大的系统,并以上述多种服务形式扩散使用户按需取用和支付 [3] ,它不仅广泛地应用在科学计算和商业计算领域 [4] ,而且还越来越多地应用于各行各业的海量信息资源的存储共享、通信、处理、控制和利用等方面,为这个信息大爆炸的时代提供各式各样服务的云平台。与企业相比,高校是新技术研究和应用的前沿,加之传统的教学模式已经落后于信息时代的脚步,跟不上教学改革发展的要求,特别是在软件实验教学方面,如何建设实验室,构建实验教学平台,消除传统实验教学平台和模式的弊端,成为高校教学改革必须要解决的问题。因此,云计算技术为云实验室建设、云平台的构建与应用提供了全新的技术支撑,规划、设计、实施和应用先进的实验教学云平台就成为必需。一方面需要底层构建云计算平台的基础设施,另一方面需要构建云计算平台的应用程序 [5] ,为使教育真正实现信息化提供服务平台。
2. 高校传统软件综合实验室教学平台
在高等学校中,特别是理工类及综合性大学中,都离不开软件综合实验室建设和实验教学平台的搭建,随着信息技术特别是云计算技术的迅猛发展和应用,传统的软件综合实验室建设教学平台已远远落后于时代的发展和高校实现实验教学改革教育信息化的要求,不管是实验教学资源(软件、硬件和应用等资源)的整合,还是实验教学模式和信息化手段及培养学生的创新能力和实践能力上,都迫切要求建设实验教学云计算平台以推动教学实践体制改革 [6] [7] [8] [9] 。
通过对高校传统软件综合实验室实验教学平台及教学模式的调查和分析,可知具体存在着以下几个方面的主要问题:
1) 实验室教学资源分散
在没有建设云教育平台和桌面之前,由于实验室承担着校级计算机软件类公共教学实验和本学院相应专业的软件教学实验,特别是跨校区、跨专业软件课教学实验,从实验室场所到机房平台配置及环境不断变换等,都使得实验教学资源无法集中 [10] ,很难实现真正的资源共享,因此给实验室建设和利用的硬件资源和软件资源造成了重复和浪费。
2) 机房实验环境固定
高校传统的软件综合实验室建设和其它各专业实验室的建设类似,受传统实验教学模式的影响,其实验室和教学资源环境是固定的,如实验场所、实验硬件平台(服务器、台式机和网络设备等)及实验教学软件平台资源及环境、教学模式等都是固定的,从而形成了一个个的信息孤岛 [11] ,这不仅给众多的软件实验环境的重构带来了很大的困难,而且也无法满足学生个性化和开放式学习与实验的需要。
3) 缺乏互动性和协作性
传统的软件综合实验室教学平台只提供一般的管理功能,各台式PC实验机与管理机或教师机中缺乏互动交流平台或只能借助互联网中的QQ等等平台或人工手段进行教师与学生的交流,互动实时性差,互动的范围非常有限,有时甚至于仅仅安排实验管理员管理和辅导,教学质量很难保证,由于这种各实验机及教学管理机之间具有很少交互功能,也很难实现协作式学习和协作能力的培养 [12] 。
基于上面这种种问题,云计算技术中的IaaS、PaaS、SaaS等各层服务及建立实验教学虚拟云桌面实现按需取用和支付(或免费)提供了理想的解决方法和技术支撑 [13] [14] [15] 。
3. 软件综合实验室教学云平台的构建
3.1. 云平台的总体物理架构
根据NIST(National Institute of Standards and Technology, NIST)提出的通用云计算架构模型和实验教学环境与应用的要求,并在武汉大学计算机学院实验室教学平台的基础上,设计了如图1所示的一种通用的实验教学云平台的物理拓扑结构,该教学云平台主要依托校园网的网络环境进行设计的,亦可拓展

Figure 1. Physical topology diagram of the experiment teaching cloud platform
图1. 实验教学云平台的物理拓扑结构
到因特网的网络环境中得到应用。用图1物理拓扑结构构建IaaS (基础设施即服务)的云服务平台,便于整合和利用现有的学校网络资源、服务器资源、教学实验机资源和其它实验硬平台资源,并能让学生既能在指定时间集中在不同场所的云实验室中完成规定的各类实验教学,又可以在校园网(甚至因特网)上的任何场所、任何时间完成个性化和开放性的实验或软件编程训练等各个环节的学习任务以及各项教学和科研工作等。
3.2. 云平台的构建
1) 云服务器集群
云服务器(Cloud Virtual Machine, CVM)是具有高性能高稳定的云虚拟机,可以整合校园实验室现有服务器,也可以购入新的服务器进行扩展构成云服务器集群,并选择一台服务器作为主控节点console,将其它服务器配置为计算节点agent (数量不限),共同完成云平台的各种计算服务(即所有服务功能)。服务器上需要安装操作系统平台如Linux等、云数据库平台如Google cloud SQL等和开发商提供的虚拟化软件及基于实验教学的虚拟化云桌面平台软件和用户提供的各种教学资源如各种软件平台资源、实验教学环境资源、计算资源和教学文档及学习材料等资源,并指定主控节点和计算节点,这样就可以通过主控节点管理整个服务器集群,同时主控节点也可以创建虚拟机给用户,而计算节点以KVM (Keyboard Video Mouse)为基础提供虚拟化层,虚拟化物理服务器的CPU、内存、存储以及网络资源,并将其分配给多台虚拟机提供云服务。
2) 云存储Redis
云存储Redis可采用腾讯云打造兼容Redis协议的缓存和存储服务,并整合现有存储资源形成共享存储服务。该服务支持主从热备,并提供自动容灾切换、数据备份、故障迁移、实例监控、在线扩容和数据回档等全套的数据库服务功能。
3) 云终端
云终端主要为使用者提供实验教学云桌面操作及显示等使用的计算机终端设备,因此可以选用专用的云终端产品(供应商提供的),也可利用台式机PC、笔记本电脑、平板电脑、智能手机和瘦客户机等安装云桌面客户软件来构建云终端。
4) 网络平台
实验教学云平台既可通过独立光纤/千兆交换机组成私有云网络,也可通过防火墙、交换机等接入校园网及因特网组成私有云、综合云及公有云网络。
3.3. 云平台的功能
按软件实验教学云平台量身定制的云桌面服务解决方案,将传统PC终端等的操作系统和应用软件都安装在后台服务器的虚拟机中,所有运算等都由服务器来完成,能方便实现桌面环境集中管理、终端零维护和硬件资源的弹性分配等功能。
云平台的功能具体可描述如下:
1) 云服务器集群通过虚拟技术,生成大量虚拟桌面,并利用远程桌面显示协议,通过网络将桌面发送给终端设备,为学生、教师和管理员提供所需服务功能的各种虚拟桌面。
2) 管理员云桌面可以通过服务器虚拟管理平台桌面,对服务器集群、所有终端和虚拟桌面进行管理和维护,其具体功能框图见图2所示。
功能框图2中:
① 全局统计:给管理员提供当前平台的主机数、处理器、桌面、终端、存储、用户和模板等全局

Figure 2. System administrators function frame
图2. 管理员桌面功能框图
基本信息,使管理员对该平台全局有所了解,一目了然。
② 资源池管理:主要给管理员提供主机管理、网络管理和存储管理等功能,管理所有硬件和软件资源。
③ 桌面管理:主要完成教学桌面的管理,实现桌面场景的新增、修改、删除、查找、激活及场景桌面的开、关机等功能。提供教学桌面和个人桌面工作模式服务的各项管理功能。
④ 模板管理:主要提供教学模板和个人模板的制作、编辑、更新、下载和删除及硬件模板的新增、修改和删除等基本功能。
⑤ 终端管理:主要提供对教室的管理、终端配置及管理和终端桌面会话管理等功能。
⑥ 用户管理:对各级用户、权限及配置等进行管理。用户可分为超级管理用户、管理用户、教师用户和学生用户等,他们被赋予不同的权限和功能。
⑦ 课程管理:提供课程的设置、排课和课程桌面平台及资源的准备、清除课程场景及排课等功能。
⑧ 在线监控:提供主机和桌面在线、离线等实时监控功能。
⑨ 系统管理:提供系统备份、系统镜像、操作日志及系统升级等系统管理的功能。
3) 教师云桌面和学生云桌面的功能主要是由管理员用户指定2)中一些功能、权限和云桌面,以达到能运用云平台顺利完成实验教学目的而按需具体设置的相应功能。
4. 软件综合实验室教学云平台的应用
软件综合实验教学云平台设计了“教学桌面”和“个人桌面”双工作模式,使得该平台的应用同时能满足软件实验、上课、辅导、讨论、考试和毕业设计、课程设计、编程训练、自学及科学研究等各种场景的教学科研活动,并为实现个性化、创新性、开放性和协作性及“一站式”等实验教学提供了实用的应用平台。
4.1. 现有软件综合实验室教学云平台的应用
现有软件综合实验室教学云平台的应用主要有:
1) 学校公共的实用计算机工具软件应用的实验教学
在此应用中,云平台实验管理员或教师首先构建Windows虚拟桌面,并将实验教学所需的工具软件资源如Office办公软件、Auto CAD制图软件、网页制作工具等各种实用工具软件进行整合安装建立场景,然后根据公选课的教师和学生建立帐号并排课授权,教师登录进入教学桌面后可设计实验教学内容,并可进行互动指导;学生登录进入教学桌面后可按要求完成该课程的实验教学并向教师提交实验报告。
2) 计算机类专业高级编程语言及汇编语言课的实验教学
在此类实验教学云桌面创建时,应建立相应要求的操作系统桌面如Windows、Linux等,并整合安装各类编程语言如汇编、Pascal、C、C++、Java、Asp等学习编程平台软件及环境如网络平台和各类数据库管理软件等建立实验场景,并根据不同的实验要求和课程安排建立教师和学生账号与授权,教师在此基础上设计相应课程个性化的实验教学内容,学生登录进入教学桌面可完成相应语言学习和编程训练等实验教学。
3) 计算机类专业其它课程的上机实验教学
这类实验教学如数据结构、操作系统、编译原理、数据库概论及软件工程、信息安全等课程的教学实验只需在2)中资源的支撑下,整合教师教学实验要求及资源,可建立不同课程的实验场景,以支持学生登录教学桌面完成相应课程要求的实验教学。
4) 完成课程设计、毕业设计及其它各类科研活动
本类应用教师和学生可登录进入管理员提供的虚拟个人桌面,此模式下的虚拟机就像自己的计算机系统一样,数据不还原,用户自己可以构建所需要的任何环境和平台,并且任何智能终端设备、任何时间、任何地点都可登录到属于自己的桌面进行各类教学和科研活动,完成相应的学习和科研任务。
5) 提供校内外各类上机及考试云桌面应用
本类应用主要设置为校内外各计算机应用类的培训上机实习和进行考试使用的云平台桌面。
4.2. 应用案例
软件综合实验教学云平台具有资源池管理、桌面管理、模板管理等功能,如图3所示。以网页设计软件Dreamweaver CS5的安装布置为例介绍云桌面的应用。
1) 制作镜像文件并上传安装包
系统管理具有系统备份、安装包的上传和编辑、系统升级等功能。
利用镜像文件制作工具软件(如UltraISO)将安装文件添加到ISO文件中,例如将Dreamweaver的安装文件添加到文件“Dreamweaver CS5简体中文版.ISO”中。管理员登录到桌面云管理台,使用系统功能上传安装包。选中左列的“系统”/“安装包”,单击“上传”按钮将“Dreamweaver CS5简体中文版.ISO”上传到云主机。
2) 编辑模板,安装软件,更新模板
模板管理具有新建模板、对现有模板进行编辑、更新、另存为新的模板、下载和删除的功能。
管理员利用模板管理功能安装软件。选中“模板”/“教学模板”,单击“Win7 教学”中的“编辑模板”,在模板编辑界面单击“加载安装包”按钮,选中安装包中的“Dreamweaver CS5简体中文版.ISO”,将安装包加载到光驱,在“我的电脑”中双击加载了文件的光驱,启动“setup.exe”文件开始安装Dreamweaver CS5,软件安装好后,单击“更新模板”按钮,开始将新装的软件更新到每台虚拟机上。多台虚拟机软件同时安装完毕,速度较快,省时省力,方便快捷。
3) 开启桌面
桌面管理可管理教学桌面和个人桌面。
管理员利用桌面管理功能启动相关场景桌面,可重看场景名、所属教室、激活状态、在线/桌面数、桌面模板等信息。选中“桌面”/“教学桌面”,将对应教室的场景(操作系统)激活,这里设置“WIN7教学01”为“ON”,如图4所示。用户登陆后就可以看到、进入“WIN7教学01”系统,使用新装的软件上机实习。
使用完毕后,用户可自行关机,也可由管理员统一关机。如管理员选中“WIN7教学01”场景,单击“场景桌面关机”,场景“WIN7教学01”关联的桌面将统一关机,大大的方便了机房的管理。

Figure 3. Management interface of the teaching cloud platform
图3. 教学云平台管理界面

Figure 4. Management interface of the teaching desktop
图4. 教学桌面管理界面
5. 总结
本文通过对高校传统软件综合实验室教学平台的调查与分析,设计了利用云计算技术建立软件综合实验室教学云平台的通用架构、详细功能和应用构想,能很好地解决软件综合实验室教学平台中存在的问题,也为更进一步整合高校实验教学资源、课程教学资源、科学研究资源等提供了新的发展思路,逐步建设高校各类应用的专用私有云平台、公有云平台和综合应用的混合云平台,为高校的教学、科研和管理服务,真正实现教育信息化。
基金项目
武汉大学实验技术项目(WHU-2016-SYJS-01);武汉大学开放实验项目(WHU-2017-KFSY-06)。