新聞中心

EEPW首頁 > 智能計算 > 設(shè)計應(yīng)用 > 基于私有云的在線學(xué)習(xí)交流平臺的設(shè)計與實(shí)現(xiàn)*

基于私有云的在線學(xué)習(xí)交流平臺的設(shè)計與實(shí)現(xiàn)*

作者:劉波(南京工業(yè)職業(yè)技術(shù)大學(xué)計算機(jī)與軟件學(xué)院,南京 210023) 時間:2023-02-27 來源:電子產(chǎn)品世界 收藏
編者按:針對當(dāng)前在線教學(xué)過程中缺乏交流互動的問題,本文設(shè)計了一套基于私有云的高校在線學(xué)習(xí)交流平臺。系統(tǒng)通過OpenStack搭建私有云服務(wù),使用SpringBoot和Vue框架實(shí)現(xiàn)前后端分離并開發(fā)了在線學(xué)習(xí)交流平臺系統(tǒng)。通過用戶自主上傳學(xué)習(xí)資源、自由標(biāo)記知識點(diǎn)問題和自由加入討論組,實(shí)現(xiàn)學(xué)習(xí)過程中的實(shí)時交流。通過本平臺,一方面解決了部分高校信息化建設(shè)基礎(chǔ)條件受限的問題;另一方面解決了在線教學(xué)過程中無人交流和無法實(shí)時解惑的問題。

*基金項(xiàng)目:江蘇省現(xiàn)代教育技術(shù)研究課題(2022-R-100280)

本文引用地址:http://m.butianyuan.cn/article/202302/443759.htm

自新冠疫情爆發(fā)以來,全國高校逐漸進(jìn)入停課不停學(xué)的狀態(tài),高校的授課方式也由線下教學(xué)轉(zhuǎn)變?yōu)?a class="contentlabel" href="http://m.butianyuan.cn/news/listbylabel/label/在線教學(xué)">在線教學(xué)。在線學(xué)習(xí)最早由《美國教育白皮書》提出,是指通過計算機(jī)和互聯(lián)網(wǎng)等新技術(shù)形式進(jìn)行知識內(nèi)容傳播和便捷學(xué)習(xí)的新型教育方法[1]。在國內(nèi),慕課網(wǎng)[2]、職教云等各類在線學(xué)習(xí)平臺的出現(xiàn),也為高校實(shí)現(xiàn)提供了技術(shù)支撐。在線學(xué)習(xí)為學(xué)生提供了豐富的學(xué)習(xí)資料和多樣化的學(xué)習(xí)方式,逐漸成為學(xué)生獲取知識的有效手段之一。為了研究在線學(xué)習(xí)是否能夠普及使用,有學(xué)者開始組織學(xué)生對在線學(xué)習(xí)、和模塊化教學(xué)進(jìn)行評價[3]。結(jié)果顯示,有部分學(xué)生對在線學(xué)習(xí)體驗(yàn)不滿意。其主要原因包括:1)環(huán)境與技術(shù)因素。例如基礎(chǔ)條件不足, 同時缺乏互聯(lián)網(wǎng)使用經(jīng)驗(yàn)以及必要培訓(xùn)[4];2)在線教學(xué)過程中僅能夠在線留言和回復(fù),無法對學(xué)習(xí)內(nèi)容進(jìn)行實(shí)時

為了解決這些問題,學(xué)者們也進(jìn)行了探索。劉小英[5]等提出通過WebSocket 通訊技術(shù),實(shí)現(xiàn)實(shí)時,提高了師生互動性;安磊[6]等開發(fā)了一個基ThinkPHP框架的遠(yuǎn)程學(xué)習(xí)平臺, 實(shí)現(xiàn)了網(wǎng)上交流和資料下載;張國平[7]開發(fā)了適用于軟件工程專業(yè)的學(xué)習(xí)交流平臺,實(shí)現(xiàn)了學(xué)生從被動聽講到主動參與的轉(zhuǎn)化。學(xué)者們的這些工作,在一定程度上解決了在線學(xué)習(xí)過程中的交流問題,在經(jīng)濟(jì)發(fā)展較好的地區(qū)及高校能夠快速地推廣使用。然而,這些信息化系統(tǒng)通常需要一定的硬件條件支撐,有些還需要較高的系統(tǒng)配置才能夠使用,同時還需要一定的后期維護(hù)。在一些基礎(chǔ)條件不足的高校,可能無法進(jìn)行此類學(xué)習(xí)交流平臺系統(tǒng)的建設(shè)。

隨著云計算平臺的不斷發(fā)展,對于基礎(chǔ)設(shè)施的要求逐漸降低。因其具備虛擬性、可靠性、通用性、可伸縮性、按需使用等特點(diǎn),使其在數(shù)據(jù)安全、計算效率、經(jīng)濟(jì)成本等方面都有巨大的優(yōu)勢。因此,使用云平臺構(gòu)建定制化的數(shù)字系統(tǒng)也逐漸被各企事業(yè)單位所接受。私有云作為一種單獨(dú)為企事業(yè)單位創(chuàng)建的云服務(wù),只為企事業(yè)單位內(nèi)部用戶使用,最大程度地增加了數(shù)據(jù)的安全性。本文主要將私有云技術(shù)應(yīng)用到在線學(xué)習(xí)交流平臺中,以期用比公有云更低的經(jīng)濟(jì)成本,滿足高校學(xué)生在學(xué)習(xí)過程中的實(shí)時交流需求,同時為高校的信息化建設(shè)提供參考。

1   需求分析

本系統(tǒng)主要目標(biāo)為構(gòu)建學(xué)習(xí)問題交流、分享發(fā)布學(xué)習(xí)資源、學(xué)習(xí)資源管理的在線交流平臺。根據(jù)用戶需要,系統(tǒng)主要涉及三種角色: 學(xué)生、教師和管理員。

1)學(xué)生用戶具有維護(hù)個人基本信息;查看各類通知公告;瀏覽課程資料、教師資料;瀏覽課程進(jìn)度;針對課程信息的交流、留言;針對課程或某一問題創(chuàng)建、編輯、加入和退出;課程相關(guān)資源的上傳下載等功能。

2)教師用戶除學(xué)生用戶的功能外,還具有通知公告的編輯;課程資料編輯;課程大綱、教案、先導(dǎo)和后續(xù)課程的編輯等功能。

3)管理員用戶可以使用平臺的所有功能,除學(xué)生和教師用戶的功能外,還具有基礎(chǔ)信息維護(hù)[8](包含院系、專業(yè)、班級、課程、學(xué)生、教師等基礎(chǔ)信息的初始化及導(dǎo)入導(dǎo)出);系統(tǒng)的基礎(chǔ)管理;數(shù)據(jù)字典的設(shè)置;學(xué)習(xí)資源的審核管理等功能。

2   系統(tǒng)設(shè)計

2.1 系統(tǒng)架構(gòu)

本系統(tǒng)包含基礎(chǔ)設(shè)施層、服務(wù)管理層和用戶層,其平臺架構(gòu)圖如圖1 所示?;A(chǔ)設(shè)施層將多臺服務(wù)器資源進(jìn)行整合和存儲,由服務(wù)管理層對用戶數(shù)據(jù)進(jìn)行管理,在用戶層進(jìn)行結(jié)果展示。

1677480957788218.png

1)基礎(chǔ)設(shè)施層:基礎(chǔ)設(shè)施層位于云平臺的最底層,包括構(gòu)成云計算平臺的基礎(chǔ)硬件設(shè)施、系統(tǒng)虛擬鏡像、數(shù)據(jù)管理服務(wù)及網(wǎng)絡(luò)服務(wù)等模塊。該層負(fù)責(zé)采集物理節(jié)點(diǎn)的存儲、網(wǎng)絡(luò)、內(nèi)存等資源,通過虛擬化技術(shù)將資源進(jìn)行處理并整合為統(tǒng)一資源池。資源池內(nèi)部根據(jù)用戶的需要進(jìn)行動態(tài)調(diào)整,為系統(tǒng)運(yùn)行提供了基礎(chǔ)保障。

2)服務(wù)管理層:服務(wù)管理層為系統(tǒng)的核心層,采用模塊化設(shè)計,為平臺提供支撐,其數(shù)據(jù)資源來源于基礎(chǔ)設(shè)施層。具有元數(shù)據(jù)服務(wù)、資源庫服務(wù)、數(shù)據(jù)計算服務(wù)、在線交流平臺系統(tǒng)門戶服務(wù)等模塊。通過服務(wù)管理層實(shí)現(xiàn)在線學(xué)習(xí)交流系統(tǒng)的開發(fā)、配置、維護(hù)等。學(xué)習(xí)交流資源存儲在云端,學(xué)生可以便捷的上傳和下載。

3)用戶層:用戶層一般由瀏覽器構(gòu)成,包含PC 端瀏覽器和移動端瀏覽器。用戶根據(jù)請求地址對數(shù)據(jù)資源進(jìn)行請求操作,數(shù)據(jù)經(jīng)由基礎(chǔ)設(shè)施層和服務(wù)管理層的處理,最終以友好的方式向用戶展現(xiàn)。

2.2 私有云設(shè)計

云平臺構(gòu)建采用基于 的IaaS 架構(gòu), 云計算平臺的優(yōu)勢在于模塊耦合度低、組件靈活配置等[9]。云平臺構(gòu)建時使用 中的核心組件及其功能如表1 所示。

1677481059488766.png

云平臺用戶經(jīng)由Keystone 認(rèn)證,使用Horizon 的UI界面創(chuàng)建虛擬機(jī),鏡像服務(wù)由Glance 提供。由Neutron進(jìn)行IP 地址的配置,再由Cinder 為虛擬機(jī)實(shí)例提供塊存儲。本系統(tǒng)使用五臺物理機(jī),具有網(wǎng)絡(luò)節(jié)點(diǎn)、控制節(jié)點(diǎn)和計算節(jié)點(diǎn),網(wǎng)絡(luò)節(jié)點(diǎn)配置如表2,組網(wǎng)結(jié)構(gòu)如圖2。

1677481168151605.png

1677481226286278.png

2.3 系統(tǒng)功能設(shè)計

在線學(xué)習(xí)交流平臺具有在線論壇和系統(tǒng)管理兩個模塊。在線論壇主要包括:在線學(xué)習(xí)、論壇板塊列表、論壇帖子列表、帖子交互(包括回復(fù)、引用、點(diǎn)贊、收藏等)、熱門內(nèi)容(時間段內(nèi)討論最多的問題)、關(guān)鍵字搜索等功能;系統(tǒng)管理主要包括[10]:論壇板塊管理、論壇帖子管理、管理、學(xué)習(xí)資源管理(審核資源合法性)、初始化管理、通知公告和系統(tǒng)管理等模塊。具體系統(tǒng)功能結(jié)構(gòu)如圖3 所示。

1677481276728262.png

1)課程資源管理

課程資源由授課教師進(jìn)行編輯維護(hù)。教師負(fù)責(zé)維護(hù)課程的課程標(biāo)準(zhǔn)、教學(xué)大綱、教學(xué)設(shè)計、課程知識點(diǎn)、教學(xué)課件、課后習(xí)題等必要資源。對于多個教師同時教授一門課程時,可以同步維護(hù)課程資源。

2)資源上傳下載

用戶可以按照課程維度和知識點(diǎn)維度,自由上傳和下載相關(guān)學(xué)習(xí)資源。上傳資源類型支持Word、PPT、Excel、PDF、MP4、AVI、MOV、WMV 和RMVB 等。對于上傳的學(xué)習(xí)資源,可以選擇公開或獨(dú)有,但公開的學(xué)習(xí)資源,需要經(jīng)過管理員審核后才會被其他用戶所見。

3)資源在線學(xué)習(xí)

用戶可以自由查看課程相關(guān)資源,資源支持在線瀏覽學(xué)習(xí),同時開始記錄學(xué)習(xí)時長。對于用戶瀏覽的非視頻資源,系統(tǒng)每隔15 min 檢測一次客戶端是否活躍。當(dāng)發(fā)現(xiàn)用戶無任何交互動作后,暫時計時,直到用戶重新激活學(xué)習(xí)狀態(tài)。學(xué)習(xí)資源也支持下載到本地觀看,線下學(xué)習(xí)時間不被系統(tǒng)記錄。

4)知識點(diǎn)標(biāo)記

學(xué)生對于任意知識點(diǎn)問題,可以進(jìn)行手動標(biāo)記,可以看到已在該知識點(diǎn)下進(jìn)行標(biāo)記的學(xué)生列表。

5)

當(dāng)知識點(diǎn)被標(biāo)記后,平臺自動以“專業(yè)- 學(xué)科- 知識點(diǎn)名稱”創(chuàng)建一個關(guān)于該知識點(diǎn)的討論組,學(xué)生可以自由選擇加入、邀請列表內(nèi)學(xué)生加入和退出該討論組。討論組內(nèi)可以進(jìn)行實(shí)時交流,交流的消息記錄可以在云端永久保存。學(xué)生可以自由討論關(guān)于該知識點(diǎn)的見解或疑問,也可以針對該知識點(diǎn)選擇某一有授課記錄的教師來進(jìn)行回復(fù)。受邀教師將收到平臺短消息推送,教師可以直接回復(fù)該問題,而不會自動加入該討論組。同一教師每日最多可以被選擇5 次來進(jìn)行答疑。

6)學(xué)生學(xué)習(xí)統(tǒng)計

學(xué)生可以查看當(dāng)前已學(xué)習(xí)的課程信息,包括已學(xué)課程列表、在學(xué)課程列表、在學(xué)課程已完成進(jìn)度、單科和全科學(xué)習(xí)時長,同時可以選擇是否公開個人學(xué)習(xí)狀態(tài)及信息。系統(tǒng)可以統(tǒng)計排名全站用戶的公開信息。

7)學(xué)習(xí)資源管理

用戶上傳的各類學(xué)習(xí)資源,都處于待審核狀態(tài),管理員負(fù)責(zé)管理審核該類資源。對于Word、PPT、Excel等文件內(nèi)容,首先由系統(tǒng)平臺掃描文件內(nèi)是否存在違禁詞字典表中的內(nèi)容,然后由管理員手動審核正文內(nèi)容是否存在意識形態(tài)等問題,審核無誤后該資源才能被其他用戶所查看。對于視頻資源,系統(tǒng)平臺不支持視頻直接上傳,必須先上傳至第三方站點(diǎn),再將該外鏈地址保存至系統(tǒng)平臺,合法的第三方站點(diǎn)由管理員在字典表中進(jìn)行設(shè)置。

8)初始化管理

管理員可以上傳導(dǎo)入學(xué)?;举Y料,如院系信息、專業(yè)信息、課程信息、班級信息、學(xué)生信息、教師信息等,同時自動檢測是否存在對應(yīng)的課程論壇板塊。若該板塊不存在,則自動按照學(xué)院—專業(yè)—課程的目錄結(jié)構(gòu)創(chuàng)建該板塊。課程板塊創(chuàng)建完畢后,自動將有授課任務(wù)的教師列入該板塊的管理者。

3   私有云的構(gòu)建

3.1 基礎(chǔ)環(huán)境配置

物理機(jī)硬件采用8 核心CPU、64 Gb 內(nèi)存×4、16Tb企業(yè)盤×4,操作系統(tǒng)使用Centos7.7。配置好網(wǎng)絡(luò)節(jié)點(diǎn)、防火墻,數(shù)據(jù)庫使用MySQL。

3.2 Keystone 服務(wù)安裝

Keystone 為OpenStack 提供認(rèn)證服務(wù),其安裝過程如下:

1)基礎(chǔ)環(huán)境安裝后,登錄MySQL 并創(chuàng)建Keystone數(shù)據(jù)庫,創(chuàng)新系統(tǒng)用戶并賦予操作權(quán)限;

2)獲取對應(yīng)的管理口令,安裝軟件服務(wù)和配置文件;

3)執(zhí)行身份引導(dǎo)服務(wù);

4)配置管理員用戶,創(chuàng)建項(xiàng)目、域、用戶、角色。創(chuàng)建項(xiàng)目作為OpenStack 的系統(tǒng)項(xiàng)目,所有系統(tǒng)服務(wù)加入該目。

3.3 Glance 服務(wù)安裝

Glance 為OpenStack 提供鏡像服務(wù),為用戶的上傳、修改、導(dǎo)出、刪除虛擬機(jī)鏡像提供服務(wù)支撐,其安裝過程如下:

1)登錄MySQL 并創(chuàng)建 Glance 數(shù)據(jù)庫。

2)創(chuàng)建用戶、角色和API 服務(wù)端點(diǎn)

3)安裝和配置Glance 服務(wù)。

4)同步Glance 數(shù)據(jù)庫,啟動并測試Glance 服務(wù)。

5)測試獨(dú)有鏡像并上傳。

3.4 Nova服務(wù)安裝

Nova 為OpenStack 提供計算服務(wù),可以用來管理虛擬機(jī)實(shí)例,其安裝過程與Glance 服務(wù)的安裝基本一致:

1) 登錄MySQL 并創(chuàng)建Nova 數(shù)據(jù)庫。

2)創(chuàng)建用戶、角色和API 服務(wù)端點(diǎn)。

3)安裝配置Nova。

4)同步Nova 數(shù)據(jù)庫,啟動并測試Nova 服務(wù)。

3.5 Neutron服務(wù)安裝

Neutron 為OpenStack 提供網(wǎng)絡(luò)服務(wù),其對防火墻、交換機(jī)、負(fù)載均衡器等都有較好的支持。其安裝過程如下:

1) 登錄MySQL 并創(chuàng)建Neutron 數(shù)據(jù)庫。

2)創(chuàng)建用戶、角色和API 服務(wù)端點(diǎn)。

3)安裝配置Neutron,修改內(nèi)核配置文件。

4)初始化創(chuàng)建網(wǎng)絡(luò)。

3.6 Horizon服務(wù)安裝

Horizon 為OpenStack 提供友好的交互界面,用戶可以使用控制臺完成項(xiàng)目管理。軟件安裝后,修改用戶域和角色并重啟服務(wù),即可登錄OpenStack 控制臺。

3.7 Cinder服務(wù)安裝

Cinder 為OpenStack 提供塊存儲服務(wù),同時提供實(shí)例對象的虛擬磁盤。其安裝過程如下:

1)登錄MySQL 并Cinder 數(shù)據(jù)庫。

2)創(chuàng)建用戶、角色和API 服務(wù)端點(diǎn)。

3)安裝配置Cinder。

4)同步Cinder 數(shù)據(jù)庫,啟動并測試Cinder 服務(wù)。

4   系統(tǒng)實(shí)現(xiàn)

本系統(tǒng)基于開源軟件若依進(jìn)行開發(fā)。若依采用技術(shù),后端核心采用SpringBoot 集成MyBatis、Spring Security、Redis 等框架,前端集成ES6、Vue、Axios、Element-UI 等框架, 數(shù)據(jù)庫使用MySQL。

4.1 知識點(diǎn)標(biāo)記

用戶可以選中知識點(diǎn)內(nèi)容,當(dāng)監(jiān)聽到鼠標(biāo)松開事件后,通過window.getSelection 方法獲取選中的文本。將選中的文本內(nèi)容和當(dāng)前行數(shù)的文本做配對,從而獲取選中文本的索引值,若未有用戶標(biāo)記過則定義新的索引值,標(biāo)記的內(nèi)容使用span 標(biāo)簽包裹并隨機(jī)設(shè)置背景色。然后通過標(biāo)簽彈窗的方式,列出已標(biāo)記該知識點(diǎn)的其他用戶,用戶間可以進(jìn)行交互操作。其中,知識點(diǎn)添加點(diǎn)擊事件的關(guān)鍵代碼如下:

1678084287303976.png

4.2 討論組實(shí)時交流

討論組的實(shí)時交流基于WebSocket 通訊協(xié)議實(shí)現(xiàn)。用戶通過WebSocket 的onOpen 事件進(jìn)入討論組,輸入交流內(nèi)容后通過WebSocket 的send 方法發(fā)送給服務(wù)端。服務(wù)端收到交流內(nèi)容后,經(jīng)過解析處理再轉(zhuǎn)發(fā)給討論組內(nèi)其他用戶,用戶通過WebSocket 的onMessage 方法接收交流內(nèi)容。其中,用戶接收交流內(nèi)容的方法如下:

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é)習(xí)時長統(tǒng)計

將學(xué)習(xí)頁面的生命周期劃分為“初始”、“切換”、“終止”3 個狀態(tài),3 個狀態(tài)的認(rèn)定形式如表3 所示。

1677481545437642.png

當(dāng)用戶在線學(xué)習(xí)時,發(fā)生以上任意動作,則累加動作間的時長。使用window.onload 和 window.onbeforeunload 方法監(jiān)聽頁面加載和頁面關(guān)閉;使用pageshow 和pagehide 監(jiān)聽瀏覽器前進(jìn)或后退; 使用visibilitychange 監(jiān)聽Tab 切換、桌面切換和電腦睡眠。

4.4 熱門內(nèi)容

用戶可以按時間維度查看高頻關(guān)鍵詞,關(guān)鍵詞統(tǒng)計源包括論壇帖子內(nèi)容、知識點(diǎn)活躍度和討論組內(nèi)關(guān)鍵詞等。關(guān)鍵詞以詞云的方式進(jìn)行顯示,鼠標(biāo)滑動到詞云時,顯示其詞頻數(shù)量及占比,如圖4 所示。

1677481589112887.png

圖4 高頻關(guān)鍵詞

5   結(jié)束語

本文系統(tǒng)分析了當(dāng)前高?!巴Un不停學(xué)”狀態(tài)下學(xué)生所遇到的問題,并基于OpenStack 構(gòu)建了一個高校在線學(xué)習(xí)交流的私有云平臺。私有云通過硬件虛擬化、存儲虛擬化和網(wǎng)絡(luò)虛擬化等技術(shù),能夠最大程度地保證用戶數(shù)據(jù)的安全性和可靠性;在線學(xué)習(xí)交流平臺為學(xué)生在學(xué)習(xí)過程遇到的問題,提供了良好的解決途徑。本文對高校進(jìn)一步完善在線教學(xué)的能力提供了參考。

參考文獻(xiàn):

[1] 孫金鑫.面向?qū)W習(xí)效能提升的智能在線學(xué)習(xí)平臺設(shè)計與實(shí)現(xiàn)[D].沈陽:中國科學(xué)院大學(xué)(中國科學(xué)院沈陽計算技術(shù)研究所),2021.

[2] 習(xí)軍.MOOC趨勢下高校網(wǎng)絡(luò)公選課在線學(xué)習(xí)平臺的設(shè)計與實(shí)現(xiàn)[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] 劉小英,劉強(qiáng).在線學(xué)習(xí)交流平臺的設(shè)計與實(shí)現(xiàn)[J].攀枝花學(xué)院學(xué)報,2021,38(2):62-67.

[6] 安磊,張波.在線學(xué)習(xí)平臺設(shè)計與實(shí)現(xiàn)[J].電腦編程技巧與維護(hù),2020(3):17-19.

[7] 張國平,李亞麗,劉申申.基于SSH的軟件工程學(xué)習(xí)交流平臺的設(shè)計[J].科技資訊,2017,15(36):13-16.

[8] 謝兵,趙小梅.基于B/S架構(gòu)的高校教學(xué)管理平臺設(shè)計與實(shí)現(xiàn)[J].電腦編程技巧與維護(hù),2011(18):57-67.

[9] 裴棟,張巧燕,蒙曉燕.“雙高”建設(shè)任務(wù)背景下的云計算基礎(chǔ)實(shí)訓(xùn)平臺的設(shè)計與實(shí)現(xiàn)[J].信息與電腦(理論版),2021,33(13):107-110.

[10] 鄭占,馬才學(xué).土地開發(fā)整理項(xiàng)目預(yù)算系統(tǒng)設(shè)計研究[J].國土資源科技管理,2010,27(1):108-112.

(本文來源于《電子產(chǎn)品世界》雜志年2月期)

image.png




評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉