陳嘉發(fā)
(惠州衛(wèi)生職業(yè)技術(shù)學(xué)院,廣東 惠州 516025)
云計算技術(shù)下Moodle的應(yīng)用研究
陳嘉發(fā)
(惠州衛(wèi)生職業(yè)技術(shù)學(xué)院,廣東 惠州 516025)
云計算技術(shù)和Moodle的出現(xiàn)為課程教學(xué)改革創(chuàng)新提供新的思路。分析Moodle在應(yīng)用過程中存在的問題,提出基于云計算技術(shù)優(yōu)化Moodle平臺的方法。
云計算;Moodle;應(yīng)用研究
Moodle是基于建構(gòu)主義教育理論開發(fā)的課程管理系統(tǒng)軟件,具有源碼開放、模塊化設(shè)計的特點,它作為一款優(yōu)秀的E-learning管理工具在課程教學(xué)改革創(chuàng)新方面發(fā)揮著重要作用。然而,Moodle畢竟不是企業(yè)級團隊開發(fā)的軟件,自然會存在一些缺陷和問題。
1.1 運行環(huán)境配置復(fù)雜
Moodle可以基于WindowsWNMP、Linux LNMP兩種環(huán)境架構(gòu)運行,所需要的支撐軟件主要由PHP、MySQL、Nginx等開源軟件構(gòu)成。一方面,由于開源軟件一般缺少技術(shù)支持和說明文檔,在出現(xiàn)故障或錯誤時只能由用戶自己解決問題,技術(shù)要求比較高。盡管網(wǎng)絡(luò)上早已存在XAMPP一體建站集成軟件包供用戶快速構(gòu)建運行環(huán)境,但必須手動關(guān)閉被占用的80端口,否則影響提供http服務(wù)的Nginx軟件的開啟;另一方面,Moodle對開源組件的版本有嚴格限制,XAMPP集成環(huán)境嚴重滯后于Moodle的更新發(fā)展,無法滿足實際使用要求。
1.2 高成本的建設(shè)和維護
Moodle在本地服務(wù)器上的部署建設(shè)要面臨硬件資源和軟件管理兩個問題。服務(wù)器和網(wǎng)絡(luò)設(shè)備的購置、系統(tǒng)運行維護需要技術(shù)人員專門負責(zé)管理,還要安裝入侵檢測和防火墻設(shè)備等來保障服務(wù)器數(shù)據(jù)的安全性和系統(tǒng)的穩(wěn)定性。Moodle系統(tǒng)占用公網(wǎng)IP的端口而且對帶寬要求較高,將直接影響系統(tǒng)的響應(yīng)速度和用戶體驗。單一化服務(wù)器運行無法實現(xiàn)負載均衡,購置多臺服務(wù)器雖能分攤負載但會造成資源浪費。
1.3 并發(fā)響應(yīng)能力不足
單一服務(wù)器負載能力有限,無法實現(xiàn)負載均衡。筆者以惠普ProLiant360 G6服務(wù)器為測試對象,通過Apache Bench工具使用命令“-ab-c 100-n 10000 http://127.0.0.1:9394/index.php”模擬一萬個并發(fā)請求對Moodle系統(tǒng)進行壓力測試,測試結(jié)果顯示每秒并發(fā)線程請求響應(yīng)請求數(shù)89.5個,響應(yīng)能力無法滿足實際使用需求。
1.4 數(shù)據(jù)無法在線遷移
單一化的本地服務(wù)器無法實現(xiàn)數(shù)據(jù)在線遷移。本地服務(wù)器部署的Moodle系統(tǒng)必須將安裝目錄下的NginxMoodleData、MySQLdata以及Nginxhtml3個文件夾完整復(fù)制到目標(biāo)路徑來實現(xiàn)數(shù)據(jù)庫的轉(zhuǎn)移[1]。另外,系統(tǒng)管理員需要重新寫入當(dāng)前服務(wù)器數(shù)據(jù)存儲的新路徑,不利于數(shù)據(jù)備份和遷移。
1.5 中文亂碼問題
Moodle系統(tǒng)的用戶管理默認分為單個添加和批量上傳。由于Moodle的原生語言為英語,在批量上傳中文用戶賬戶數(shù)據(jù)時會出現(xiàn)“列數(shù)不連續(xù)”的問題和產(chǎn)生中文亂碼。添加中文用戶只能單個添加,嚴重影響了用戶批量管理的功能。
2.1 云計算技術(shù)介紹
云計算技術(shù)是一種基于互聯(lián)網(wǎng)的計算方式,運營商通過建立網(wǎng)絡(luò)服務(wù)器集群,以有償方式向各種不同類型用戶提供在線軟件服務(wù)、硬件租借、數(shù)據(jù)存儲、計算分析等不同類型的服務(wù),用戶能夠不受地理空間限制,只需以商業(yè)租賃方式便可隨時隨地從云計算服務(wù)運營商處租賃基礎(chǔ)設(shè)施、運算處理能力等使用權(quán)。云計算技術(shù)的出現(xiàn)實現(xiàn)了計算資源的實現(xiàn)形態(tài)、計算服務(wù)的應(yīng)用模式的根本性變革[2]。
2.2 Moodle結(jié)合云計算技術(shù)的優(yōu)勢
2.2.1 部署簡單,提高設(shè)備資源利用率 云計算技術(shù)吸收了分布式計算、虛擬化、并行處理和網(wǎng)格計算等技術(shù)優(yōu)點[3],只要支付相應(yīng)的租金即可輕松獲取存儲資源和服務(wù)器等硬件資源,從而降低教學(xué)信息化的建設(shè)成本。以阿里云ECS服務(wù)器(Elastic Compute Service)為例,彈性IP地址隨ECS服務(wù)器建立由云計算服務(wù)運營商提供,無需占用本地網(wǎng)絡(luò)IP端口,不需要考慮網(wǎng)絡(luò)帶寬資源,更不需要額外購置網(wǎng)絡(luò)設(shè)備。
2.2.2 管理維護簡單 云計算技術(shù)下,Moodle用戶不需要負責(zé)硬件管理和運行維護等問題。以開源的Linux系統(tǒng)環(huán)境為例,用戶通過云計算控制后臺遠程登錄服務(wù)器,通過安裝SHH軟件包后,在本地計算機安裝Xshell即可實現(xiàn)遠程操作和管理服務(wù)器,通過安裝Xftp可以實現(xiàn)傳送文件。
2.2.3 實現(xiàn)在線遷移數(shù)據(jù),提高系統(tǒng)安全性 單一化的本地服務(wù)器上無法實現(xiàn)Moodle自帶“數(shù)據(jù)庫導(dǎo)出”功能,在云計算技術(shù)下能夠?qū)崿F(xiàn)將本數(shù)據(jù)庫所有的數(shù)據(jù)傳送到另一個數(shù)據(jù)服務(wù)器。此外,在云服務(wù)器ECS上部署則能夠直接使用鏡像快照功能,實現(xiàn)云服務(wù)器上的磁盤自動化數(shù)據(jù)備份。如果發(fā)生病毒入侵或黑客攻擊等造成數(shù)據(jù)丟失,用戶可借助快照回滾功能迅速恢復(fù)到某一個快照時間點的數(shù)據(jù),以保障數(shù)據(jù)庫安全。總而言之,云計算技術(shù)的數(shù)據(jù)存儲遠比個人用戶的數(shù)據(jù)存儲安全。
2.2.4 具備大數(shù)據(jù)分析能力 Moodle用戶能夠利用云計算技術(shù)通過建立一個或多個ECS實例組成Hadoop集群或Spark集群,通過E-MapReduce將數(shù)據(jù)導(dǎo)入和導(dǎo)出到其他的云數(shù)據(jù)存儲系統(tǒng)和數(shù)據(jù)庫系統(tǒng)中,為用戶提供集群、作業(yè)、數(shù)據(jù)等管理的一站式大數(shù)據(jù)處理分析服務(wù)。
2.2.5 友好的支撐移動學(xué)習(xí) 在云計算技術(shù)下,數(shù)字化學(xué)習(xí)服務(wù)和數(shù)據(jù)可以在最大范圍內(nèi)共享,除了傳統(tǒng)的B/S瀏覽器訪問模式,還提供通過手機APP訪問的客戶端模式,方便學(xué)習(xí)者隨時隨地使用Moodle展開學(xué)習(xí)。
3.1 基于云計算PaaS服務(wù)建立Moodle
云計算的服務(wù)形式包括軟件即服務(wù)SaaS(Software as a Service),平臺即服務(wù)PaaS(Platform as a Service),基礎(chǔ)設(shè)施服務(wù)IaaS(Infrastructure as a Service)。通過實踐證明,基于PaaS服務(wù)形式,選擇簡單高效、處理能力可彈性伸縮的阿里云服務(wù)器ECS的云計算服務(wù)最為合適。筆者以noVNC的CentOS7.1為Moodle系統(tǒng)環(huán)境,該版本集成了運行必備的各類庫文件,免除了運行環(huán)境的復(fù)雜配置。
3.2 Moodle應(yīng)用的優(yōu)化研究
3.2.1 提高響應(yīng)速度 Moodle系統(tǒng)默認運行狀態(tài)只調(diào)用單個php-cgi進程響應(yīng)web頁面的http請求,一旦并發(fā)請求數(shù)量超過了500個,PHP就發(fā)生崩潰停止運行。通過加入php-fpm進程維持器,始終維持8個php-cgi進程以保證Moodle運行的高并發(fā)響應(yīng)。
3.2.2 提升數(shù)據(jù)讀寫速度 數(shù)據(jù)庫讀寫的快慢直接影響Moodle系統(tǒng)的響應(yīng)速度和用戶體驗,主要通過改寫Moodle的寫入方式及增大MySQL緩存池容量可實現(xiàn)速度提升。首先,通過打開mysqlinmy.ini配置文件,修改語句“innodb_buffer_pool_size= 4096M”中的內(nèi)存值,最好設(shè)置為物理服務(wù)器內(nèi)存的50%。其次,將MySQL數(shù)據(jù)庫的寫入方式從默認的寫入硬盤更改為寫入緩存,修改語句的數(shù)值“innodb_flush_log_at_trx_commit=2”(其中1表示寫入硬盤,2表示寫入緩存),實踐效果表明可以大幅度提升Moodle響應(yīng)速度。最后,開啟Ajax和JavaScript提升頁面響應(yīng)速度。在 Moodle的開發(fā)選項中開啟緩存 Javascript Cachejs,修改后數(shù)據(jù)能夠與服務(wù)器保持快速穩(wěn)定的通訊更新狀態(tài),緩存和壓縮能大大提升頁面的加載速度。
3.2.3 解決中文亂碼問題 Moodle系統(tǒng)困擾管理員最大的問題就是批量上傳用戶出現(xiàn)亂碼的問題。經(jīng)過實踐證明,通過修改系統(tǒng)目錄Moodle ginxhtmllib代碼庫里的csvlib.php文件中的部分代碼,可以實現(xiàn)中文用戶名單的批量上傳。具體方法是,文件中在第129行和第249行前面添加下面代碼。
3.3 實際運行情況
在云計算技術(shù)服務(wù)中選擇與HP ProLiant360 G6配置相似的ESC服務(wù)器部署Moodle,經(jīng)過優(yōu)化設(shè)置后的并發(fā)響應(yīng)速度達到了238個并發(fā)數(shù),性能得到了大幅度提升。
結(jié)合云計算技術(shù)構(gòu)建Moodle平臺具有巨大的優(yōu)勢,既能解決設(shè)備資源投入和管理維護的問題,又能實現(xiàn)在線遷移數(shù)據(jù)和大數(shù)據(jù)分析。通過研究實踐,找出優(yōu)化方案和解決Moodle自身的問題和缺陷,擺脫Moodle系統(tǒng)過去并發(fā)線程響應(yīng)慢以及用戶體驗差的情況,發(fā)揮出其應(yīng)有的性能。
[1]曾棕根.Moodle災(zāi)難恢復(fù)與應(yīng)對計劃[J].計算機應(yīng)用與軟件,2013(10):120-122.
[2]梁元.基于云計算環(huán)境下的可信平臺設(shè)計[D].成都:電子科技大學(xué),2012.[3]黃麗芳,曾健民,高薇,等.云計算在高校教育中的應(yīng)用研究[J].安陽師范學(xué)院學(xué)報,2015(5):52-54.■
G420
B
1671-1246(2017)10-0156-02