基于私有云的在線(xiàn)學(xué)習交流平臺的設計與實(shí)現*
*基金項目:江蘇省現代教育技術(shù)研究課題(2022-R-100280)
本文引用地址:http://dyxdggzs.com/article/202302/443759.htm自新冠疫情爆發(fā)以來(lái),全國高校逐漸進(jìn)入停課不停學(xué)的狀態(tài),高校的授課方式也由線(xiàn)下教學(xué)轉變?yōu)?a class="contentlabel" href="http://dyxdggzs.com/news/listbylabel/label/在線(xiàn)教學(xué)">在線(xiàn)教學(xué)。在線(xiàn)學(xué)習最早由《美國教育白皮書(shū)》提出,是指通過(guò)計算機和互聯(lián)網(wǎng)等新技術(shù)形式進(jìn)行知識內容傳播和便捷學(xué)習的新型教育方法[1]。在國內,慕課網(wǎng)[2]、職教云等各類(lèi)在線(xiàn)學(xué)習平臺的出現,也為高校實(shí)現在線(xiàn)教學(xué)提供了技術(shù)支撐。在線(xiàn)學(xué)習為學(xué)生提供了豐富的學(xué)習資料和多樣化的學(xué)習方式,逐漸成為學(xué)生獲取知識的有效手段之一。為了研究在線(xiàn)學(xué)習是否能夠普及使用,有學(xué)者開(kāi)始組織學(xué)生對在線(xiàn)學(xué)習、在線(xiàn)教學(xué)和模塊化教學(xué)進(jìn)行評價(jià)[3]。結果顯示,有部分學(xué)生對在線(xiàn)學(xué)習體驗不滿(mǎn)意。其主要原因包括:1)環(huán)境與技術(shù)因素。例如基礎條件不足, 同時(shí)缺乏互聯(lián)網(wǎng)使用經(jīng)驗以及必要培訓[4];2)在線(xiàn)教學(xué)過(guò)程中僅能夠在線(xiàn)留言和回復,無(wú)法對學(xué)習內容進(jìn)行實(shí)時(shí)交流。
為了解決這些問(wèn)題,學(xué)者們也進(jìn)行了探索。劉小英[5]等提出通過(guò)WebSocket 通訊技術(shù),實(shí)現實(shí)時(shí)交流,提高了師生互動(dòng)性;安磊[6]等開(kāi)發(fā)了一個(gè)基ThinkPHP框架的遠程學(xué)習交流平臺, 實(shí)現了網(wǎng)上交流和資料下載;張國平[7]開(kāi)發(fā)了適用于軟件工程專(zhuān)業(yè)的學(xué)習交流平臺,實(shí)現了學(xué)生從被動(dòng)聽(tīng)講到主動(dòng)參與的轉化。學(xué)者們的這些工作,在一定程度上解決了在線(xiàn)學(xué)習過(guò)程中的交流問(wèn)題,在經(jīng)濟發(fā)展較好的地區及高校能夠快速地推廣使用。然而,這些信息化系統通常需要一定的硬件條件支撐,有些還需要較高的系統配置才能夠使用,同時(shí)還需要一定的后期維護。在一些基礎條件不足的高校,可能無(wú)法進(jìn)行此類(lèi)學(xué)習交流平臺系統的建設。
隨著(zhù)云計算平臺的不斷發(fā)展,對于基礎設施的要求逐漸降低。因其具備虛擬性、可靠性、通用性、可伸縮性、按需使用等特點(diǎn),使其在數據安全、計算效率、經(jīng)濟成本等方面都有巨大的優(yōu)勢。因此,使用云平臺構建定制化的數字系統也逐漸被各企事業(yè)單位所接受。私有云作為一種單獨為企事業(yè)單位創(chuàng )建的云服務(wù),只為企事業(yè)單位內部用戶(hù)使用,最大程度地增加了數據的安全性。本文主要將私有云技術(shù)應用到在線(xiàn)學(xué)習交流平臺中,以期用比公有云更低的經(jīng)濟成本,滿(mǎn)足高校學(xué)生在學(xué)習過(guò)程中的實(shí)時(shí)交流需求,同時(shí)為高校的信息化建設提供參考。
1 需求分析
本系統主要目標為構建學(xué)習問(wèn)題交流、分享發(fā)布學(xué)習資源、學(xué)習資源管理的在線(xiàn)交流平臺。根據用戶(hù)需要,系統主要涉及三種角色: 學(xué)生、教師和管理員。
1)學(xué)生用戶(hù)具有維護個(gè)人基本信息;查看各類(lèi)通知公告;瀏覽課程資料、教師資料;瀏覽課程進(jìn)度;針對課程信息的交流、留言;針對課程或某一問(wèn)題創(chuàng )建、編輯、加入和退出討論組;課程相關(guān)資源的上傳下載等功能。
2)教師用戶(hù)除學(xué)生用戶(hù)的功能外,還具有通知公告的編輯;課程資料編輯;課程大綱、教案、先導和后續課程的編輯等功能。
3)管理員用戶(hù)可以使用平臺的所有功能,除學(xué)生和教師用戶(hù)的功能外,還具有基礎信息維護[8](包含院系、專(zhuān)業(yè)、班級、課程、學(xué)生、教師等基礎信息的初始化及導入導出);系統的基礎管理;數據字典的設置;學(xué)習資源的審核管理等功能。
2 系統設計
2.1 系統架構
本系統包含基礎設施層、服務(wù)管理層和用戶(hù)層,其平臺架構圖如圖1 所示?;A設施層將多臺服務(wù)器資源進(jìn)行整合和存儲,由服務(wù)管理層對用戶(hù)數據進(jìn)行管理,在用戶(hù)層進(jìn)行結果展示。
1)基礎設施層:基礎設施層位于云平臺的最底層,包括構成云計算平臺的基礎硬件設施、系統虛擬鏡像、數據管理服務(wù)及網(wǎng)絡(luò )服務(wù)等模塊。該層負責采集物理節點(diǎn)的存儲、網(wǎng)絡(luò )、內存等資源,通過(guò)虛擬化技術(shù)將資源進(jìn)行處理并整合為統一資源池。資源池內部根據用戶(hù)的需要進(jìn)行動(dòng)態(tài)調整,為系統運行提供了基礎保障。
2)服務(wù)管理層:服務(wù)管理層為系統的核心層,采用模塊化設計,為平臺提供支撐,其數據資源來(lái)源于基礎設施層。具有元數據服務(wù)、資源庫服務(wù)、數據計算服務(wù)、在線(xiàn)交流平臺系統門(mén)戶(hù)服務(wù)等模塊。通過(guò)服務(wù)管理層實(shí)現在線(xiàn)學(xué)習交流系統的開(kāi)發(fā)、配置、維護等。學(xué)習交流資源存儲在云端,學(xué)生可以便捷的上傳和下載。
3)用戶(hù)層:用戶(hù)層一般由瀏覽器構成,包含PC 端瀏覽器和移動(dòng)端瀏覽器。用戶(hù)根據請求地址對數據資源進(jìn)行請求操作,數據經(jīng)由基礎設施層和服務(wù)管理層的處理,最終以友好的方式向用戶(hù)展現。
2.2 私有云設計
云平臺構建采用基于OpenStack 的IaaS 架構,OpenStack 云計算平臺的優(yōu)勢在于模塊耦合度低、組件靈活配置等[9]。云平臺構建時(shí)使用OpenStack 中的核心組件及其功能如表1 所示。
云平臺用戶(hù)經(jīng)由Keystone 認證,使用Horizon 的UI界面創(chuàng )建虛擬機,鏡像服務(wù)由Glance 提供。由Neutron進(jìn)行IP 地址的配置,再由Cinder 為虛擬機實(shí)例提供塊存儲。本系統使用五臺物理機,具有網(wǎng)絡(luò )節點(diǎn)、控制節點(diǎn)和計算節點(diǎn),網(wǎng)絡(luò )節點(diǎn)配置如表2,組網(wǎng)結構如圖2。
2.3 系統功能設計
在線(xiàn)學(xué)習交流平臺具有在線(xiàn)論壇和系統管理兩個(gè)模塊。在線(xiàn)論壇主要包括:在線(xiàn)學(xué)習、論壇板塊列表、論壇帖子列表、帖子交互(包括回復、引用、點(diǎn)贊、收藏等)、熱門(mén)內容(時(shí)間段內討論最多的問(wèn)題)、關(guān)鍵字搜索等功能;系統管理主要包括[10]:論壇板塊管理、論壇帖子管理、討論組管理、學(xué)習資源管理(審核資源合法性)、初始化管理、通知公告和系統管理等模塊。具體系統功能結構如圖3 所示。
1)課程資源管理
課程資源由授課教師進(jìn)行編輯維護。教師負責維護課程的課程標準、教學(xué)大綱、教學(xué)設計、課程知識點(diǎn)、教學(xué)課件、課后習題等必要資源。對于多個(gè)教師同時(shí)教授一門(mén)課程時(shí),可以同步維護課程資源。
2)資源上傳下載
用戶(hù)可以按照課程維度和知識點(diǎn)維度,自由上傳和下載相關(guān)學(xué)習資源。上傳資源類(lèi)型支持Word、PPT、Excel、PDF、MP4、AVI、MOV、WMV 和RMVB 等。對于上傳的學(xué)習資源,可以選擇公開(kāi)或獨有,但公開(kāi)的學(xué)習資源,需要經(jīng)過(guò)管理員審核后才會(huì )被其他用戶(hù)所見(jiàn)。
3)資源在線(xiàn)學(xué)習
用戶(hù)可以自由查看課程相關(guān)資源,資源支持在線(xiàn)瀏覽學(xué)習,同時(shí)開(kāi)始記錄學(xué)習時(shí)長(cháng)。對于用戶(hù)瀏覽的非視頻資源,系統每隔15 min 檢測一次客戶(hù)端是否活躍。當發(fā)現用戶(hù)無(wú)任何交互動(dòng)作后,暫時(shí)計時(shí),直到用戶(hù)重新激活學(xué)習狀態(tài)。學(xué)習資源也支持下載到本地觀(guān)看,線(xiàn)下學(xué)習時(shí)間不被系統記錄。
4)知識點(diǎn)標記
學(xué)生對于任意知識點(diǎn)問(wèn)題,可以進(jìn)行手動(dòng)標記,可以看到已在該知識點(diǎn)下進(jìn)行標記的學(xué)生列表。
5)討論組
當知識點(diǎn)被標記后,平臺自動(dòng)以“專(zhuān)業(yè)- 學(xué)科- 知識點(diǎn)名稱(chēng)”創(chuàng )建一個(gè)關(guān)于該知識點(diǎn)的討論組,學(xué)生可以自由選擇加入、邀請列表內學(xué)生加入和退出該討論組。討論組內可以進(jìn)行實(shí)時(shí)交流,交流的消息記錄可以在云端永久保存。學(xué)生可以自由討論關(guān)于該知識點(diǎn)的見(jiàn)解或疑問(wèn),也可以針對該知識點(diǎn)選擇某一有授課記錄的教師來(lái)進(jìn)行回復。受邀教師將收到平臺短消息推送,教師可以直接回復該問(wèn)題,而不會(huì )自動(dòng)加入該討論組。同一教師每日最多可以被選擇5 次來(lái)進(jìn)行答疑。
6)學(xué)生學(xué)習統計
學(xué)生可以查看當前已學(xué)習的課程信息,包括已學(xué)課程列表、在學(xué)課程列表、在學(xué)課程已完成進(jìn)度、單科和全科學(xué)習時(shí)長(cháng),同時(shí)可以選擇是否公開(kāi)個(gè)人學(xué)習狀態(tài)及信息。系統可以統計排名全站用戶(hù)的公開(kāi)信息。
7)學(xué)習資源管理
用戶(hù)上傳的各類(lèi)學(xué)習資源,都處于待審核狀態(tài),管理員負責管理審核該類(lèi)資源。對于Word、PPT、Excel等文件內容,首先由系統平臺掃描文件內是否存在違禁詞字典表中的內容,然后由管理員手動(dòng)審核正文內容是否存在意識形態(tài)等問(wèn)題,審核無(wú)誤后該資源才能被其他用戶(hù)所查看。對于視頻資源,系統平臺不支持視頻直接上傳,必須先上傳至第三方站點(diǎn),再將該外鏈地址保存至系統平臺,合法的第三方站點(diǎn)由管理員在字典表中進(jìn)行設置。
8)初始化管理
管理員可以上傳導入學(xué)?;举Y料,如院系信息、專(zhuān)業(yè)信息、課程信息、班級信息、學(xué)生信息、教師信息等,同時(shí)自動(dòng)檢測是否存在對應的課程論壇板塊。若該板塊不存在,則自動(dòng)按照學(xué)院—專(zhuān)業(yè)—課程的目錄結構創(chuàng )建該板塊。課程板塊創(chuàng )建完畢后,自動(dòng)將有授課任務(wù)的教師列入該板塊的管理者。
3 私有云的構建
3.1 基礎環(huán)境配置
物理機硬件采用8 核心CPU、64 Gb 內存×4、16Tb企業(yè)盤(pán)×4,操作系統使用Centos7.7。配置好網(wǎng)絡(luò )節點(diǎn)、防火墻,數據庫使用MySQL。
3.2 Keystone 服務(wù)安裝
Keystone 為OpenStack 提供認證服務(wù),其安裝過(guò)程如下:
1)基礎環(huán)境安裝后,登錄MySQL 并創(chuàng )建Keystone數據庫,創(chuàng )新系統用戶(hù)并賦予操作權限;
2)獲取對應的管理口令,安裝軟件服務(wù)和配置文件;
3)執行身份引導服務(wù);
4)配置管理員用戶(hù),創(chuàng )建項目、域、用戶(hù)、角色。創(chuàng )建項目作為OpenStack 的系統項目,所有系統服務(wù)加入該目。
3.3 Glance 服務(wù)安裝
Glance 為OpenStack 提供鏡像服務(wù),為用戶(hù)的上傳、修改、導出、刪除虛擬機鏡像提供服務(wù)支撐,其安裝過(guò)程如下:
1)登錄MySQL 并創(chuàng )建 Glance 數據庫。
2)創(chuàng )建用戶(hù)、角色和API 服務(wù)端點(diǎn)
3)安裝和配置Glance 服務(wù)。
4)同步Glance 數據庫,啟動(dòng)并測試Glance 服務(wù)。
5)測試獨有鏡像并上傳。
3.4 Nova服務(wù)安裝
Nova 為OpenStack 提供計算服務(wù),可以用來(lái)管理虛擬機實(shí)例,其安裝過(guò)程與Glance 服務(wù)的安裝基本一致:
1) 登錄MySQL 并創(chuàng )建Nova 數據庫。
2)創(chuàng )建用戶(hù)、角色和API 服務(wù)端點(diǎn)。
3)安裝配置Nova。
4)同步Nova 數據庫,啟動(dòng)并測試Nova 服務(wù)。
3.5 Neutron服務(wù)安裝
Neutron 為OpenStack 提供網(wǎng)絡(luò )服務(wù),其對防火墻、交換機、負載均衡器等都有較好的支持。其安裝過(guò)程如下:
1) 登錄MySQL 并創(chuàng )建Neutron 數據庫。
2)創(chuàng )建用戶(hù)、角色和API 服務(wù)端點(diǎn)。
3)安裝配置Neutron,修改內核配置文件。
4)初始化創(chuàng )建網(wǎng)絡(luò )。
3.6 Horizon服務(wù)安裝
Horizon 為OpenStack 提供友好的交互界面,用戶(hù)可以使用控制臺完成項目管理。軟件安裝后,修改用戶(hù)域和角色并重啟服務(wù),即可登錄OpenStack 控制臺。
3.7 Cinder服務(wù)安裝
Cinder 為OpenStack 提供塊存儲服務(wù),同時(shí)提供實(shí)例對象的虛擬磁盤(pán)。其安裝過(guò)程如下:
1)登錄MySQL 并Cinder 數據庫。
2)創(chuàng )建用戶(hù)、角色和API 服務(wù)端點(diǎn)。
3)安裝配置Cinder。
4)同步Cinder 數據庫,啟動(dòng)并測試Cinder 服務(wù)。
4 系統實(shí)現
本系統基于開(kāi)源軟件若依進(jìn)行開(kāi)發(fā)。若依采用前后端分離技術(shù),后端核心采用SpringBoot 集成MyBatis、Spring Security、Redis 等框架,前端集成ES6、Vue、Axios、Element-UI 等框架, 數據庫使用MySQL。
4.1 知識點(diǎn)標記
用戶(hù)可以選中知識點(diǎn)內容,當監聽(tīng)到鼠標松開(kāi)事件后,通過(guò)window.getSelection 方法獲取選中的文本。將選中的文本內容和當前行數的文本做配對,從而獲取選中文本的索引值,若未有用戶(hù)標記過(guò)則定義新的索引值,標記的內容使用span 標簽包裹并隨機設置背景色。然后通過(guò)標簽彈窗的方式,列出已標記該知識點(diǎn)的其他用戶(hù),用戶(hù)間可以進(jìn)行交互操作。其中,知識點(diǎn)添加點(diǎn)擊事件的關(guān)鍵代碼如下:
4.2 討論組實(shí)時(shí)交流
討論組的實(shí)時(shí)交流基于WebSocket 通訊協(xié)議實(shí)現。用戶(hù)通過(guò)WebSocket 的onOpen 事件進(jìn)入討論組,輸入交流內容后通過(guò)WebSocket 的send 方法發(fā)送給服務(wù)端。服務(wù)端收到交流內容后,經(jīng)過(guò)解析處理再轉發(fā)給討論組內其他用戶(hù),用戶(hù)通過(guò)WebSocket 的onMessage 方法接收交流內容。其中,用戶(hù)接收交流內容的方法如下:
public void onMessage(String message,Session
session){
ObjectMapper mapper =new ObjectMapper();
Message mess = mapper.readValue(message,
Message.class);
String toName = mess.getToName();
String data = mess.getMessage();
String username = (String) httpSession.getAttribute
(“user”);
String resultMessage = MessageUtils.getMessage
(false, username, data);
onlineUsers.get(toName).session.getBasicRemote().
sendText(resultMessage);
}
4.3 學(xué)習時(shí)長(cháng)統計
將學(xué)習頁(yè)面的生命周期劃分為“初始”、“切換”、“終止”3 個(gè)狀態(tài),3 個(gè)狀態(tài)的認定形式如表3 所示。
當用戶(hù)在線(xiàn)學(xué)習時(shí),發(fā)生以上任意動(dòng)作,則累加動(dòng)作間的時(shí)長(cháng)。使用window.onload 和 window.onbeforeunload 方法監聽(tīng)頁(yè)面加載和頁(yè)面關(guān)閉;使用pageshow 和pagehide 監聽(tīng)瀏覽器前進(jìn)或后退; 使用visibilitychange 監聽(tīng)Tab 切換、桌面切換和電腦睡眠。
4.4 熱門(mén)內容
用戶(hù)可以按時(shí)間維度查看高頻關(guān)鍵詞,關(guān)鍵詞統計源包括論壇帖子內容、知識點(diǎn)活躍度和討論組內關(guān)鍵詞等。關(guān)鍵詞以詞云的方式進(jìn)行顯示,鼠標滑動(dòng)到詞云時(shí),顯示其詞頻數量及占比,如圖4 所示。
圖4 高頻關(guān)鍵詞
5 結束語(yǔ)
本文系統分析了當前高?!巴Un不停學(xué)”狀態(tài)下學(xué)生所遇到的問(wèn)題,并基于OpenStack 構建了一個(gè)高校在線(xiàn)學(xué)習交流的私有云平臺。私有云通過(guò)硬件虛擬化、存儲虛擬化和網(wǎng)絡(luò )虛擬化等技術(shù),能夠最大程度地保證用戶(hù)數據的安全性和可靠性;在線(xiàn)學(xué)習交流平臺為學(xué)生在學(xué)習過(guò)程遇到的問(wèn)題,提供了良好的解決途徑。本文對高校進(jìn)一步完善在線(xiàn)教學(xué)的能力提供了參考。
參考文獻:
[1] 孫金鑫.面向學(xué)習效能提升的智能在線(xiàn)學(xué)習平臺設計與實(shí)現[D].沈陽(yáng):中國科學(xué)院大學(xué)(中國科學(xué)院沈陽(yáng)計算技術(shù)研究所),2021.
[2] 習軍.MOOC趨勢下高校網(wǎng)絡(luò )公選課在線(xiàn)學(xué)習平臺的設計與實(shí)現[J].科技風(fēng),2018(16):62.
[3] TAJA-ON E, MIRAS R, JUROLAN C. E-Learning: teaching effectiveness to conventional teaching in undergraduates amid COVID-19 Pandemic[J]. Open Access Library Journal, 2021, 8(11): 1-10.
[4] MEKKY S T. On-line learning assessment: Egyptian universities as a case study[J].International Journal of Information and Education Technology, 2021, 11(10): 471-478.
[5] 劉小英,劉強.在線(xiàn)學(xué)習交流平臺的設計與實(shí)現[J].攀枝花學(xué)院學(xué)報,2021,38(2):62-67.
[6] 安磊,張波.在線(xiàn)學(xué)習平臺設計與實(shí)現[J].電腦編程技巧與維護,2020(3):17-19.
[7] 張國平,李亞麗,劉申申.基于SSH的軟件工程學(xué)習交流平臺的設計[J].科技資訊,2017,15(36):13-16.
[8] 謝兵,趙小梅.基于B/S架構的高校教學(xué)管理平臺設計與實(shí)現[J].電腦編程技巧與維護,2011(18):57-67.
[9] 裴棟,張巧燕,蒙曉燕.“雙高”建設任務(wù)背景下的云計算基礎實(shí)訓平臺的設計與實(shí)現[J].信息與電腦(理論版),2021,33(13):107-110.
[10] 鄭占,馬才學(xué).土地開(kāi)發(fā)整理項目預算系統設計研究[J].國土資源科技管理,2010,27(1):108-112.
(本文來(lái)源于《電子產(chǎn)品世界》雜志2023年2月期)
評論