基于SaaS的校企合作慕课平台的研究与实现
2019-09-18唐彬文
唐 彬 文
(集美大学诚毅学院, 福建 厦门 361021)
增进校企融合,拓宽合作渠道是未来地方性高校发展转型的新趋势[1]。慕课(MOOC)作为新的教育模式,其思维是开放的[2],平台是包容的。企业资源的加入,一方面丰富了教育资源的种类和数量,另一方面开拓了校企合作的新渠道,使合作资源共享更加便捷。本次研究正是基于云服务的理念进行慕课平台的构建,为校企合作设计一套完整的慕课平台建设技术方案。
1 系统架构设计
1.1 总体结构
SaaS(Software-as-a-Service,软件即服务)是一种以浏览器为主要工具,向云服务器调用所需的软件应用,并按时付费的一种应用模式[3]。目前,慕课平台主要采用BS架构,能很好地迁移到SaaS平台,可以用作将来的主要云服务架构。SaaS层次体系依次分为用户界面层、控制层、业务逻辑层和数据处理层,如图1所示。
在 SaaS应用中,各个层级之间的权限划分并不是特别严格。如用户层各个类型的用户通过终端设备访问SaaS系统,在客户端设备中判断用户的权限和类别,即可完成控制层的任务。而业务逻辑层和数据处理层则是不可分割的,用户通过对各种应用的调用和应用功能的使用下达指令和任务,并获取需要的资源。在该阶段,系统会根据用户不同的客户端,分担数据处理任务。如果用户选择浏览器访问,数据处理任务即在服务器上执行;如果用户选择App,则会下放部分计算任务到客户端进行处理。
图1 SaaS系统架构
1.2 系统技术架构设计
要实现SaaS云服务模式,其技术架构的选择有很多种。由于SaaS是通过浏览器来调用服务器应用的特性(类似于传统的BS架构),故项目采用PHP开发的三层架构模式。以下系统技术架构方案主要整合开源的软件使用和搭配,如图2所示。
(1) 浏览器客户端。浏览器客户端采用JqueryCSSAjax结合的前端开发组合。Jquery是一款优秀的Javascript框架集合,可以很好地兼容CSS和Ajax。CSS(Cascading Styles Sheets)即层叠样式表,是传统的前端布局的源码规则,可用于实现网页样式与网页内容的分离[4]。Ajax(Asynchronous JavaScript and XML)即异步Javascript与XML,可用于实现Web应用程序的交互功能。
图2 系统技术架构方案
(2) Web服务器。Apache(Apache HTTP Server)是Apache软件基金会的一个开源的Web服务器,几乎可以在所有的主流操作系统中运行,部署在Apache上的Web应用程序具有可移植性[4]。本次慕课平台开发具有公益性,选择了一款开源的跨平台Web服务器,既可以节省开发成本,又可以拓宽准入标准和兼容标准。项目开发中,最终选择的是Apache网页服务器。
(3) 视频处理、数据库和操作系统。FFmpeg是一款开源软件,能够在Apache环境下,支持PHP脚本的调用,同时可以很好地解决音视频的流化过程。作为视频的上传量和播放量,占用绝大多数计算资源的慕课平台,一款具备录制、转换以及流化视音频功能的软件是不可或缺的。Mysql是一款小型的开源关系型数据库管理软件,支持SQL的标准操作规范,适合中小型的PHP平台开发要求。Windows是当下最为流行的操作系统,不管从开发还是使用角度,都最具适用性和实用性。作为区域的先行、先试的教育合作项目,项目规模有限,因此尝试采用以上成本较低的软件环境作为技术架构。
(4) 阿里云。采用SaaS的架构,因为暂不考虑底层的PAAS和IAAS架构,所以需选择一款能够提供搭建SaaS服务的云平台。作为阿里云的代表作 —— 飞天开发平台(Apsara),不仅隐藏底层故障和数据冗余的处理和操作,而且管理数据集群的物理资源,控制分布式的程序处理。Apsara架构下的云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务器,能够为中小型平台提供大规模、低成本的云计算及服务[5]。慕课平台的底层框架选择Apsara。按照前期的硬件标准选择其对应的云服务器 ECS,按照初期云服务器的硬件标准采用阿里云提供的基础套餐。其参数要求为:2 vCPU,8 GiB,Intel Xeon(Skylake) Platinum 8163,2.5 GHz。
2 系统设计
经过前期的调研和分析,绘制图3所示系统功能思维导图。
图3 系统功能思维导图
教师用户包括2类:一类是在校教师,另一类是企业教师。在校教师的主要任务是完成公共课、基础课、专业基础课的讲授,企业教师则更多负责实践类课程的讲授。前期的学生用户主要为校企合作项目的学生,后期随着平台的对外开放,学生用户的范围也会扩大。管理员主要由合作学校的教务人员来担任。
系统功能如下:
(1) 课件管理。教师课件包括视频和ppt这2种文档类型,在视频上传环节可以采用直播的方式或者上传提前录制完成的视频。教案主要包括doc、ppt、excel、pdf等静态文档。学生可以根据系统公告进行在线实时学习,即直播学习,或点播完整的录制视频,或根据需要下载相应的静态教案。
(2) 在线答疑。答疑方式分为实时答疑和评论回复。实时答疑采用即时软件的点对点模式,实时进行互动;评论回复则根据学生的提问,在相应章节的课程视频下方回复评论。
(3) 作业管理。作业管理模块为师生公用模块,教师根据课程要求发布作业,学生接收作业并完成作业的提交。对于客观题部分的作业,系统可以根据教师预设的答案自动批阅,对于主观题部分则需要手动逐个浏览批阅。
(4) 测验管理。测验管理分为平时测验部分和期末考试部分。在测验的题型中同样分为客观题和主观题。测验批改的规则与作业管理一致。
(5) 账号管理。个人账号管理除了管理用户名和密码管理,还可为学生个人账户添加选修成绩的查询功能,为教师账号添加上课学时的统计功能。管理员账号权限较宽,可以管理自身账号及其他类型账号,并可以对不同角色授予不同的权限。
(6) 课程审核。课程审核是慕课平台的重要环节。对于直播中的课程,允许管理员随机进入并审查课程内容,一旦发现违规行为,管理员有权中断直播。学生用户具备直播课程的举报权限,违规课程会因为举报而中断。对于录制视频,管理员需要逐个审核,并允许通过审核的课程在平台中显示。教师用户如果要更改录制课程,需重新提交申请并通过审核。
(7) 公告管理。管理员通过公告发布各项通知,包括平台规章制度、招生计划、课程计划和考试安排等信息。
3 系统的实现
(1) 平台首页。平台首页采用顶部导航结构(见图4),将慕课平台使用频繁的几大功能置于页面导航栏中。导航栏包含录播、直播、公告、考试和登录等菜单。主要内容展示的是点播率较高的课程,该内容根据月度数据排行而变动。
图4 校企合作慕课网首页
(2) 教案管理。教案管理通过调用JQuery插件AjaxFileUpload 实现了ppt、word和pdf等静态文档的异步上传。系统中作业管理和测试管理模块同样使用该插件。
(3) 课程直播。课程直播作为慕课平台的重要功能,是区别于传统在线教学平台的典型标志。在平台的开发初期,课程直播可以引入阿里直播,实现直播功能。直播架构采用阿里云视频直播解决方案,实现视频的推流和拉流,即视频直播和点播功能,如图5、图6所示。
图5 直播架构
图6 阿里直播界面
(4) 课程录播。视频录播功能的开发技术架构为PHP+FFmpeg。该功能需要教师用户将录制好的课程视频保存为mp4格式并上传到Apache,然后Apache自动截取其中某一帧作为该视频对应的缩略图,并保存相应的URL。学生用户端则通过提取对应的URL播放视频。图7所示为录播视频上传界面。
图7 录播视频上传界面
(5) 作业管理。作业管理功能实现了创建作业、上传作业文件和批量导出作业信息等功能,同时实现了作业信息的模糊查询。创建的作业类型可以分为主观题和客观题,作业发布界面如图8所示。
图8 作业发布界面
(6) 测试管理。测试管理功能主要完成对考试的创建、测试题目的导入、测试名称的查询、批量测试信息的导出等。试卷题目类型同样分为主观题和客观题,测试界面功能与作业管理功能类似,测试发布界面如图9所示。不同的是,测试页面的内容只能提交一次,而在作业管理界面可以根据需要修改已经上交的作业。即,后续的作业覆盖前面的内容,当然操作的前提是教师通过了作业修改权限的审核。
4 系统测试
(1) 代码测试。代码测试主要指通过异常和正常数据对代码功能逻辑性能的正确性进行的测试[6]。在课程录播界面提交非mp4视频数据或者大小超过400 M的视频,系统会正常报错,并取消视频文件上传;在作业管理和测试管理界面录入空数据或错误数据,平台提示数据错误,并返回初始界面;在教案管理界面上传异常文件(如exe、bat和com等异常扩展名文件),平台会正常报错,并取消文件上传。对于录入正常的数据,平台都能正常采用。
图9 测试发布界面
(2) 性能测试。平台采用阿里云PTS(Performance Test Service)进行性能测试,性能测试报告见表1。
表1 PTS性能测试报告
运行初期,能够在10 min内达到100个并发数。但是长期运行之后,面向校企合作的慕课平台将会拥有较多的用户数量,所以100个并发数远不能满足需要。在平台投入运营之后,升级云服务器的硬件配置,应该可以满足用户的并发需求。平均TPS低于互联网小型网站的标准(TPS为500~10 000),可见代码的执行效率较低。原因在于,课程录播和教案管理的后台开发过程中加入了太多的SQL检索语句,导致平台事务处理能力较低。这一问题可以通过优化SQL语句解决。系统具有较高的请求成功率,反应了代码具有较高的可靠性。平均响应时间虽然小于互联网行业500 ms响应时间的标准,但也只能说明在并发数较低的情况下,平台具有较快的响应速度。在硬件升级后,将重复平均响应时间的测试过程。
5 结 语
云技术的普及和慕课模式的推广是平台技术方案顺利实施的基础。通过采用SaaS云服务模式,利用Apsara+PHP+Apache技术设计,开发出一套校企合作慕课平台原型。平台能够满足校企合作的教师用户直播和录播慕课。学生用户通过平台进行相关课程的学习,并获取相应的学分。管理员用户的参与审核,保证了平台内容的合法性,也保证了平台的稳定运行。平台的实施为校企合作搭建了一个行之有效的桥梁,也为后续跨区域校企合作提供了可借鉴的完整功能设计思路。