孙建文 张昭理 刘三等
摘 要:开源软件以其开放、灵活、安全、成本低等优点,广泛应用于教育信息化领域。本文首先介绍了几个与教育云相关的开源项目,然后结合云课堂的共性需求和云计算的三个层次,提出了一种基于开源技术框架的云课堂平台体系架构参考模型,最后基于该模型研制了云课堂软件平台,并通过应用实践研究验证其有效性。
关键词:云课堂;开源技术;平台架构
中图分类号:G434 文献标志码:A 文章编号:1673-8454(2014)19-0020-04
一、引言
从云计算开始落地以来,云在教育领域的发展便受到各国政府的高度重视。美国、法国、韩国等都将教育云作为云计算的核心应用领域,先后启动了教育云建设计划。美国从2009年开始大规模推行政府云建设,资助并要求各州政府在信息化预算中提出教育云方案。2011年,韩国颁布了“智能教育推进战略”,强调普及电子课本,推动教育云服务。法国则启动了高等教育云信息项目,推动云计算的应用。我国教育部也于2012年3月发布了《教育信息化十年发展规划(2011-2020年)》,明确提出采用云计算服务模式,形成资源配置与服务的集约化、效益化、优质化发展途径,构建稳定可靠、低成本的国家教育云服务平台[1]。
从技术上,云计算是分布式计算、虚拟化等传统计算机和网络技术融合与发展的产物,具有计算弹性化、资源池化、按需服务、服务可计量化和泛在接入等特点,实现了“互联网即计算机”的构想,用户只需连上互联网就可像使用水电一样使用计算或存储资源。从应用上,云计算大大提高了IT 基础设施、软件和服务的经济性、可伸缩性、可访问性与可扩展性,能够以较低的成本为企业、机构或学校等潜在用户提供一种新的信息化解决方案[2]。
近年来,云计算在国内教育领域的应用已非常广泛,从国家、区域到学校等不同层面都在积极地开展教育云实践。如以“班班通”工程建设、教育云服务平台构建等为代表的国家级教育云工程。在区域或学校层面,关于教育云的实践更加多样化,从教育私有云、公有云到混合云,从教育云IaaS层、PaaS层到SaaS层,从云课堂、云资源、云管理到云空间,在技术应用和模式创新两方面都开展了大量的工作[3][4]。
本文着眼于云计算在教育领域的应用研究,结合云课堂的共性需求,提出一种基于开源技术的云课堂构建方案,并通过技术实现和示范应用来积累教育云的实践经验,同时也为建设本地云或校园云的潜在用户提供参考。
二、相关开源项目介绍
开源软件具有开放、灵活、安全、成本低等优点,目前在云计算和教育领域都有多个开源项目可供选择。如著名的开源云平台就有OpenStack、CloudStack和Eucalyptus等,开源学习管理系统则有Sakai、Moodle和EDX等。采用开源技术来构建教育云平台是一种经济而又灵活有效的思路。为此,本文选择了OpenStack、Hadoop、Mahout和Sakai等几个典型开源项目来开展研究,具体介绍如下:
1. OpenStack
OpenStack是一个由美国国家航空航天局(NASA)和Rackspace合作研发的,以Apache许可证授权的开源云计算项目。Nova和Swift是该项目的两个主要成员。其中,Nova是NASA开发的虚拟服务器部署和业务计算模块,Swift是Rackspace开发的分布式云存储模块。OpenStack使任何人自行建设和提供IaaS云服务成为可能。
2. Hadoop
Hadoop是一个由Apache基金会管理的分布式处理开源软件平台,无需开发者了解底层分布式细节就可开发分布式应用。HDFS和MapReduce是Hadoop的两个核心成员。其中,HDFS是一个具有高容错性、可靠性和伸缩性的分布式文件系统,是Google文件系统的开源实现,能够处理PB级数据。MapReduce是一种并行计算编程模型,主要操作是Map和Reduce函数。开发者只需要针对特定任务实现Map和Reduce两个接口,即可实现对TB级大数据的计算。
3. Mahout
Mahout也是Apache基金会旗下的一个开源项目,提供了一些易于并行化处理的数据挖掘和机器学习领域经典算法的实现,包括聚类、分类、推荐过滤、频繁子项挖掘等。由于Mahout可构建于Hadoop之上,因此与普通开源数据挖掘软件的最大区别是,Mahout解决了算法并行运算的问题,能够更高效地扩展到云中,帮助开发者更容易地构建基于云或大数据的智能应用。
4. Sakai
Sakai是由美国印第安纳大学、密西根大学、斯坦福大学和麻省理工学院于2004年发起的一项开放源码的课程与教学管理系统开发计划。从功能上,Sakai是一个提供了课程管理、学习资源管理、协作学习和各类常见在线学习工具的LMS系统。从技术上,Sakai是一个基于JavaEE技术框架开发的Web应用系统,采用微内核、组件式、面向服务的体系架构,每一个学习工具就是一个组件,以服务的方式向上层或第三方系统提供接口调用,这种架构特点使Sakai具有良好的可扩展性,易于二次开发。
三、基于开源技术的云课堂平台体系架构
在线课堂平台是为支撑学生开展在线学习活动的软件系统,一直以来都是教育行业的核心业务系统。云课堂是在教育云和教育大数据的背景下,利用云理念和云技术打造的一种在线开放课堂。其特点包括:
(1)可有效利用IT资源,包括充分利用历史遗留IT资产和实现IT资源的按需服务;
(2)可支持同时开设大规模课堂和海量用户同时开展在线教学活动;
(3)可利用云存储技术实现学习资源的统一存储、组织、管理和访问服务,支持学习资源的极大丰富,支持个人云存储业务,如网盘或备课空间;endprint
(4)可利用云计算开展教育大数据分析,推动在线学习模式和学习情景的创新,最终实现智慧课堂;
(5)可较好支持多终端接入,尤其是对于移动学习终端,实现云端一体化的云课堂平台。
1.总体思路
本文的目标是利用开源软件,构建一个开放、灵活的云课堂平台,除支持传统的在线学习业务功能外,还具有上述因云计算而带来的特点和能力。
按照云的三层结构模型来设计,基本思路为:首先,在IaaS层利用OpenStack构建一个云基础设施,为所有上层服务或应用提供虚拟机和云存储服务。其次,在PaaS层利用Sakai系统和Hadoop/Mahout平台来构建云课堂的核心业务逻辑,并以服务的方式向上或对外提供调用。最后,在SaaS层,通过调用PaaS层或IaaS层的服务,实现面向不同类型用户终端的云课堂视图。
其中,IaaS层和PaaS层均采用RESTfulAPI的方式来提供服务,这种方式可保障整体架构的简单性与可扩展性。同时,RESTful API的无状态特性使PaaS层服务的负载均衡部署变得非常简单,有利于提高架构的可伸缩性。
2.体系结构
综合以上讨论,基于开源技术的云课堂平台体系结构如图1所示。
从图1可看出,该体系由3个云服务层加上用户访问终端共4部分构成。各部分具体功能介绍如下:
(1)教育云IaaS层
作为云计算的核心服务,IaaS层主要提供硬件基础设施服务,为用户按需提供虚拟化的计算、存储和网络等IT资源。需要强调的一点是,教育云IaaS层同时也可为除云课堂以外的应用,如云管理、云空间等提供统一的基础设施服务。
(2)云课堂PaaS层
在本文所提的云课堂体系中,拟通过抽象云课堂的核心业务逻辑,以服务的方式部署在PaaS层,目标是打造成云课堂的公共服务,对上层应用或第三方系统提供统一的PaaS级别服务。因此,对PaaS层进行了重点设计。
一方面,通过提炼传统在线课堂业务的共性需求,构建云课堂的基础服务,具体包括课程管理、课程资源、在线作业、课程论坛、课堂测验、课堂成员、课程通知、课程大纲、教学日历、课程信息设置等。另一方面,结合云课堂面向大规模用户的现实需求和未来智慧课堂的发展趋势,有必要对在线学习过程中产生的海量数据进行采集、分析和利用。这也属于教育大数据的范畴,是未来云课堂的核心要素[5]。因此,本文在PaaS层设计了大数据分析引擎,提供大数据的采集、分析和可视化呈现等服务。
在具体实现上,云课堂PaaS层的基础服务基于Sakai系统来构建。Sakai系统本身具有的功能已经囊括了大部分上述PaaS层的基础服务。对于不具备的功能,可以在Sakai的技术框架下扩展开发,或者完全自主开发。对于大数据分析引擎,可利用Hadoop和Mahout平台的接口来实现大数据分析服务,数据采集和可视化呈现服务可自主开发。
(3)云课堂SaaS层
通过服务的聚合实现统一的云课堂视图,直接面向用户提供服务。同时,可在SaaS层为面向不同类型的用户终端定制应用。
(4)用户访问终端
云课堂支持多种学习情景和主流终端接入,包括云端教室、PC机、笔记本、Pad和手机等。
四、应用实践
根据以上所提的云课堂体系架构和开源技术框架,研制了云课堂软件平台,开发了PC端(如图2、图3和图4)和移动手机端两个版本(如图5和图6)。此外,结合华中师范大学开展学历教育慕课教学的需求,为其定制了专门的云课堂版本,即华大云课堂,在华中师大面向全校本科生开展云课堂的应用实践。
截至到目前为止,华大云课堂上已开设500门以上课堂,用户数(包括教师、学生和助教)超过1万人。从近一年来的实际运行情况来看,基于开源云技术架构的华大云课堂运行稳定且可靠,较好地支撑了教学业务的顺利开展。此外,由于云课堂在IaaS层和PaaS层所具有的高可伸缩性和高可扩展性,使其能够较好地满足未来业务的扩展和用户规模的增长。
五、结束语
当前众多开源云技术的流行使学校或相关机构建设自己的教育云平台变得越来越容易,本文设计了一种利用开源技术来构建云课堂的体系架构,并在此基础上进行了软件实现和展开了应用实践,验证了该体系架构的有效性。后续随着应用的持续开展和业务的不断扩展,云课堂平台上积累的数据会越来越丰富,这为下一阶段围绕教育大数据展开深入研究提供了平台和数据基础。
参考文献:
[1]教育部.教育信息化十年发展规划(2011-2020年)[DB/OL].http://www.moe.edu.cn/ewebeditor/uploadfile/2012/03/29/20120329140800968.doc,2012.
[2]Mell P, Grance T. The NIST Definition of Cloud Computing[R].National Institute of Standards and Technology,2011.
[3]杨宗凯.教育信息化十年发展展望——未来教室、未来学校、未来教师、未来教育[J].中国教育信息化,2011(18):14-15.
[4]祝智庭,杨志.云技术给中国教育信息化带来的机遇与挑战[J].中国电化教育,2012(10):1-6.
[5]Enhancing Teaching and Learning through Educational Data Mining and Learning Analytics[DB/OL].http://www.ed.gov/edblogs/technology/files/2012/03/edm-la-brief.pdf,2012.
(编辑:王晓明)endprint