">
摘要:云计算技术和Moodle的出现为课程教学改革创新提供新的思路。分析Moodle在应用过程中存在的问题,提出基于云计算技术优化Moodle平台的方法。
关键词:云计算;Moodle;应用研究
Moodle是基于建构主义教育理论开发的课程管理系统软件,具有源码开放、模块化设计的特点,它作为一款优秀的E-learning管理工具在课程教学改革创新方面发挥着重要作用。然而,Moodle毕竟不是企业级团队开发的软件,自然会存在一些缺陷和问题。
1Moodle本土化应用过程中存在的问题
1.1运行环境配置复杂
Moodle可以基于WindowsWNMP、LinuxLNMP两种环境架构运行,所需要的支撑软件主要由PHP、MySQL、Nginx等开源软件构成。一方面,由于开源软件一般缺少技术支持和说明文档,在出现故障或错误时只能由用户自己解决问题,技术要求比较高。尽管网络上早已存在XAMPP一体建站集成软件包供用户快速构建运行环境,但必须手动关闭被占用的80端口,否则影响提供http服务的Nginx软件的开启;另一方面,Moodle对开源组件的版本有严格限制,XAMPP集成环境严重滞后于Moodle的更新发展,无法满足实际使用要求。
1.2高成本的建设和维护
Moodle在本地服务器上的部署建设要面临硬件资源和软件管理两个问题。服务器和网络设备的购置、系统运行维护需要技术人员专门负责管理,还要安装入侵检测和防火墙设备等来保障服务器数据的安全性和系统的稳定性。Moodle系统占用公网IP的端口而且对带宽要求较高,将直接影响系统的响应速度和用户体验。单一化服务器运行无法实现负载均衡,购置多台服务器虽能分摊负载但会造成资源浪费。
1.3并发响应能力不足
单一服务器负载能力有限,无法实现负载均衡。笔者以惠普ProLiant360G6服务器为测试对象,通过ApacheBench工具使用命令“-ab-c100-n10000http://127.0.0.1:9394/index.php”模拟一万个并发请求对Moodle系统进行压力测试,测试结果显示每秒并发线程请求响应请求数89.5个,响应能力无法满足实际使用需求。
1.4数据无法在线迁移
单一化的本地服务器无法实现数据在线迁移。本地服务器部署的Moodle系统必须将安装目录下的Nginx\MoodleData、MySQL\data以及Nginx\html3个文件夹完整复制到目标路径来实现数据库的转移[1]。另外,系统管理员需要重新写入当前服务器数据存储的新路径,不利于数据备份和迁移。
1.5中文乱码问题
Moodle系统的用户管理默认分为单个添加和批量上传。由于Moodle的原生语言为英语,在批量上传中文用户账户数据时会出现“列数不连续”的问题和产生中文乱码。添加中文用户只能单个添加,严重影响了用户批量管理的功能。
2云计算技术的优势
2.1云计算技术介绍
云计算技术是一种基于互联网的计算方式,运营商通过建立网络服务器集群,以有偿方式向各种不同类型用户提供在线软件服务、硬件租借、数据存储、计算分析等不同类型的服务,用户能够不受地理空间限制,只需以商业租赁方式便可随时随地从云计算服务运营商处租赁基础设施、运算处理能力等使用权。云计算技术的出现实现了计算资源的实现形态、计算服务的应用模式的根本性变革[2]。
2.2Moodle结合云计算技术的优势
2.2.1部署简单,提高设备资源利用率云计算技术吸收了分布式计算、虚拟化、并行处理和网格计算等技术优点[3],只要支付相应的租金即可轻松获取存储资源和服务器等硬件资源,从而降低教学信息化的建设成本。以阿里云ECS服务器(ElasticComputeService)为例,弹性IP地址随ECS服务器建立由云计算服务运营商提供,无需占用本地网络IP端口,不需要考虑网络带宽资源,更不需要额外购置网络设备。2.2.2管理维护简单云计算技术下,Moodle用户不需要负责硬件管理和运行维护等问题。以开源的Linux系统环境为例,用户通过云计算控制后台远程登录服务器,通过安装SHH软件包后,在本地计算机安装Xshell即可实现远程操作和管理服务器,通过安装Xftp可以实现传送文件。2.2.3实现在线迁移数据,提高系统安全性单一化的本地服务器上无法实现Moodle自带“数据库导出”功能,在云计算技术下能够实现将本数据库所有的数据传送到另一个数据服务器。此外,在云服务器ECS上部署则能够直接使用镜像快照功能,实现云服务器上的磁盘自动化数据备份。如果发生病毒入侵或黑客攻击等造成数据丢失,用户可借助快照回滚功能迅速恢复到某一个快照时间点的数据,以保障数据库安全。总而言之,云计算技术的数据存储远比个人用户的数据存储安全。2.2.4具备大数据分析能力Moodle用户能够利用云计算技术通过建立一个或多个ECS实例组成Hadoop集群或Spark集群,通过E-MapReduce将数据导入和导出到其他的云数据存储系统和数据库系统中,为用户提供集群、作业、数据等管理的一站式大数据处理分析服务。2.2.5友好的支撑移动学习在云计算技术下,数字化学习服务和数据可以在最大范围内共享,除了传统的B/S浏览器访问模式,还提供通过手机APP访问的客户端模式,方便学习者随时随地使用Moodle展开学习。
3云计算技术下的Moodle的优化研究
3.1基于云计算PaaS服务建立Moodle
云计算的服务形式包括软件即服务SaaS(SoftwareasaSer-vice),平台即服务PaaS(PlatformasaService),基础设施服务IaaS(InfrastructureasaService)。通过实践证明,基于PaaS服务形式,选择简单高效、处理能力可弹性伸缩的阿里云服务器ECS的云计算服务最为合适。笔者以noVNC的CentOS7.1为Moodle系统环境,该版本集成了运行必备的各类库文件,免除了运行环境的复杂配置。
3.2Moodle应用的优化研究
3.2.1提高响应速度Moodle系统默认运行状态只调用单个php-cgi进程响应web页面的http请求,一旦并发请求数量超过了500个,PHP就发生崩溃停止运行。通过加入php-fpm进程维持器,始终维持8个php-cgi进程以保证Moodle运行的高并发响应。3.2.2提升数据读写速度数据库读写的快慢直接影响Moodle系统的响应速度和用户体验,主要通过改写Moodle的写入方式及增大MySQL缓存池容量可实现速度提升。首先,通过打开mysql\bin\my.ini配置文件,修改语句“innodb_buffer_pool_size=4096M”中的内存值,最好设置为物理服务器内存的50%。其次,将MySQL数据库的写入方式从默认的写入硬盘更改为写入缓存,修改语句的数值“innodb_flush_log_at_trx_commit=2”(其中1表示写入硬盘,2表示写入缓存),实践效果表明可以大幅度提升Moodle响应速度。最后,开启Ajax和JavaScript提升页面响应速度。在Moodle的开发选项中开启缓存JavascriptCachejs,修改后数据能够与服务器保持快速稳定的通讯更新状态,缓存和压缩能大大提升页面的加载速度。3.2.3解决中文乱码问题Moodle系统困扰管理员最大的问题就是批量上传用户出现乱码的问题。经过实践证明,通过修改系统目录Moodle\nginx\html\lib代码库里的csvlib.php文件中的部分代码,可以实现中文用户名单的批量上传。具体方法是,文件中在第129行和第249行前面添加下面代码。global$USER;$is_english=$USER->lang=='en';if(!$is_english){$st=implode($csv_delimiter,$fgetdata);$fgetdata=explode($csv_delimiter,$st);
3.3实际运行情况
在云计算技术服务中选择与HPProLiant360G6配置相似的ESC服务器部署Moodle,经过优化设置后的并发响应速度达到了238个并发数,性能得到了大幅度提升。
4结语
结合云计算技术构建Moodle平台具有巨大的优势,既能解决设备资源投入和管理维护的问题,又能实现在线迁移数据和大数据分析。通过研究实践,找出优化方案和解决Moodle自身的问题和缺陷,摆脱Moodle系统过去并发线程响应慢以及用户体验差的情况,发挥出其应有的性能。
参考文献:
[1]曾棕根.Moodle灾难恢复与应对计划[J].计算机应用与软件,2013(10):120-122.
[2]梁元.基于云计算环境下的可信平台设计[D].成都:电子科技大学,2012.
[3]黄丽芳,曾健民,高薇,等.云计算在高校教育中的应用研究[J].安阳师范学院学报,2015(5):52-54.
作者:陈嘉发 单位:惠州卫生职业技术学院