基于云计算的移动学习平台设计与实现

2016-12-22 21:47武玉坤
软件导刊 2016年11期
关键词:分布式计算移动学习云计算

武玉坤

摘 要:基于云计算的移动学习系统架构采用资源虚拟化管理,减少了硬件资源建设投资。采用面向服务的分布式计算应用架构,设计实现了一个高性能、高可靠性和高扩展的学习平台。该平台按需快速检索和聚合,既能满足日常学习与考试需要,又能应付高并发状况。

关键词关键词:云计算;移动学习;高并发;分布式计算

DOIDOI:10.11907/rjdk.162405

中图分类号:TP319

文献标识码:A 文章编号文章编号:16727800(2016)011010102

0 引言

云计算是伴随着移动互联网、物联网的发展而出现的一种IT相关资源整合模式,它既是多种技术(虚拟化、网络、分布式计算、面向服务模式以及Web2.0)的整合共享,也是一种商业计算模型[1]。基于云计算的移动学习平台研究已有很多:如黄成云等[2]的基于云计算的移动学习系统设计,李树波[3]的基于云计算的移动学习网络平台构建研究,任远鹏[4]的基于Hadoop的移动学习模型设计与实现,王琴等[5]的基于移动云计算的移动学习研究。上述研究都是围绕如何使用已有的云计算技术来搭建移动学习平台,未考虑移动学习任务的突发性。在使用网络进行学习过程中,学习者与学习内容往往会出现二八规律,即80%的学习者集中学习20%的网络课程和相应内容,同时在复习、考试时访问量会骤增,这就需要系统能动态扩展,而云计算正好具有按需分配功能。因此,本文根据学习规律设计了一个基于云计算的动态可扩展的移动学习模型。

1 系统设计

1.1 系统功能模块

基于云计算的移动学习平台功能模块包括客户端与云端两部分,主要功能有课程学习、课件中心、在线练习、在线考试、用户管理、课件管理、考试管理等模块。由于移动学习平台功能模块多,聚合了大量的应用和服务组件,导致编译、部署困难、数据库连接耗尽、新增业务困难等问题。基于上述问题,采取拆分的解决方案,把整个大应用拆分为多个小应用,采用面向服务的分布式计算应用架构,将模块独立部署,降低系统的耦合性,将复用的业务拆分出来,独立部署为分布式服务。对学习、考试任务流程灵活编排和组合,新增业务只需要调用这些分布式服务,不需要依赖具体的模块代码,而当模块内业务逻辑变化时,只要接口保持一致就不会影响业务程序和其它模块。本文采用Web Service来整合及构建分布式移动学习平台,并借助发布—订阅模式的消息队列通信完成模块间合作。

1.2 系统整体架构

基于云计算的移动学习系统主要包括知识管理、学习业务管理、考试等系统。其中,学习业务模块与考试系统模块是两个非常重要的子系统,显著特点是任务性和集中性。

根据学习业务与考试业务特点,结合云计算服务模式,本文构建的基于云计算的动态可扩展移动学习平台架构分为 4层,如图1所示。

(1)移动学习平台应用层。即系统的业务实现,包括课件管理、在线练习、课程管理、题库管理、考试等子系统。

(2)云计算中间件层。包括数据库、中间件等软件资源,中间件以及并行处理和集群处理等。

(3)基础设施虚拟化层。主要是系统运行所需的服务器、存储设备和网络设备。

(4)管理层。包括账户管理、运维管理以及监控、策略、仲裁和准备4个模块。

这种架构模式正好和云计算的软件即服务、平台即服务、基础架构即服务相对应。通过虚拟化技术的基础设施层向上提供动态可扩展物理资源池,本文采用VMware vSphere虚拟化技术。

图1 系统架构

通过云计算中间件层调度服务器集群、缓存服务、负载均衡、数据库服务等,对资源进行动态调度,满足应用的弹性伸缩。文献[6]~[8]对云计算资源调度进行了研究,本文采用文献[7]提出的改进遗传算法的云资源调度算法。

缓存技术采用Squid作为服务器的前置缓存;负载均衡技术采用高性能的HTTP和反向代理服务器Nginx。

应用层则由网络学习系统以及考试系统构成,利用现有技术保证系统操作便利和界面友好。采用页面静态化、数据的分类存储等系统优化策略。系统数据主要包含结构化数据与非结构化数据。结构化数据存储采用数据库集群技术与库表散列。非结构化数据像课件、音视频、案例库(由图片、文字组成)等采用基于对象的云存储存放。

管理层完成用户账号管理、平台运营管理和4个点对点模块,监控模块主要记录学习者访问资源状况以及系统资源利用率,实时监控云计算对应三层的运行状态,并及时向策略模块反馈,满足资源的弹性需求。策略模块能够设置教学策略、同时对系统资源负荷进行预测,对于那些访问频率高的学习资源进行预调度以保障其高并发性需求。仲裁模块主要根据策略来改进资源分配,根据不同学习行为设置不同的资源使用方式。

2 系统实现

2.1 环境搭建

通过学习安排、资源准备和压力测试等流程,验证系统平台架构的合理性。移动学习系统验证平台主要由云端管理服务、客户端集群管理服务、客户端应用服务以及前台代理服务组成。移动学习平台初始化环境如表 1 所示。

2.2 仿真实验

使用LoadRunner工具对系统进行压力测试,并发300个用户登录系统进行集中学习,并查看事务的响应时间。响应时间随着并发压力的增大而不断增大,这表明用户访问系统开始变慢。压力测试脚本运行后,学习事务的响应时间逐步加大,2′30″达到较高的响应时长50s。

3 结语

基于云计算的可扩展移动学习系统可解决高并发带来的系统瓶颈问题,监控与策略模块的运用提高了学习系统的调度与响应能力。本文给出了动态可扩展云计算的移动学习平台总体架构和技术特点,并进行了系统实现与仿真实验,为快速灵活满足业务变化提供了可靠的系统结构模型。

参考文献:

[1] 许守东.云计算技术应用与实践[M].北京: 中国铁道出版社,2013.

[2] 黄成云,左明章,荣先海.基于云计算的移动学习系统设计[J].现代教育技术,2010(8):102105.

[3] 李树波.基于云计算的移动学习网络平台构建研究[J].软件导刊,2010(12):115117.

[4] 任远鹏.基于Hadoop的移动学习模型设计与实现[J].渤海大学学报,2013(12):412417.

[5] 王琴.基于移动云计算的移动学习研究[J].制造业自动化,2013(4):67.

[6] 李文娟.基于模糊聚类的云任务调度算法[J].通信学报,2012(3):146154.

[7] 朱宗斌.基于改进GA的云计算任务调度算法[J].计算机工程与应用,2013,49(5):7780.

[8] 吴皓.云环境下任务调度算法研究[D].南京:南京邮电大学,2013.

(责任编辑:杜能钢)

猜你喜欢
分布式计算移动学习云计算
云计算中MapReduce分布式并行处理框架的研究与搭建
实验云:理论教学与实验教学深度融合的助推器
面向异构分布式计算环境的并行任务调度优化方法