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