劉洪通 邱勝海 董鶯 陳臘梅
摘要:特殊時期,倡導保持社交距離和保護師生健康,這給學生的學習帶來了極大的影響,各級政府及學校對在線實踐教學及考核非常重視。隨著互聯(lián)網(wǎng)、云計算及大數(shù)據(jù)等技術(shù)的日益成熟,易于構(gòu)建實踐類課程的在線答辯考核。探討了畢業(yè)設計在線答辯系統(tǒng)構(gòu)建的現(xiàn)狀,分析設計了在線答辯系統(tǒng)的功能、數(shù)據(jù)模型,設計了融合Bootstrap、Springboot、MyBatis等多項技術(shù)的分布式軟件架構(gòu)體系,描述了應用于該系統(tǒng)的關(guān)鍵技術(shù),最后以該系統(tǒng)的在線視頻答辯模塊的開發(fā)為例,詳細描述了系統(tǒng)的開發(fā)過程。實踐證明,該系統(tǒng)具有易用性、高性能、可擴展性及用戶體驗良好等優(yōu)點,能夠提高實踐類課程的答辯管理效率,有助于實現(xiàn)教學信息資源共享,能更快、更好地實現(xiàn)教學配套服務。
關(guān)鍵詞:在線答辯;Springboot;畢業(yè)設計;概念數(shù)據(jù)模型;持久層框架;分布式系統(tǒng)
中圖分類號:TP391,TP311? 文獻標識碼:A
文章編號:1009-3044(2021)29-0070-03
Design and Implementation of Online Completion Course Defense System Based on Distributed Environment
LIU Hong-tong, QIU Sheng-hai, DONG Ying, CHEN La-mei
(Department of Mechanical Engineering, Nanjing Institute of Technology, Nanjing 211167, China)
Abstract: In special times, it is recommended to keep a social distance and protect the health of teachers and students, that has had a great impact on students' learning. Governments and schools at all levels paid great attention to online practical teaching and assessment. With the increasing maturity of technologies such as the Internet, cloud computing, and big data, it is easy to construct online defense assessments for practical courses. Discussed the current status of the graduation design online defense system, analyzed and designed the function and data model of the online defense system, designed a distributed software architecture system integrating Bootstrap, Springboot, MyBatis and other technologies, and described the key to the system technology. Finally, taking the development of the online video defense module of the system as an example, the development process of the system is de? scribed in detail. Practice has proved that the system has the advantages of ease of use, high performance, scalability and good us? er experience, which can improve the efficiency of the defense management of practical courses, help realize the sharing of teaching information resources, and achieve faster and better realization teaching supporting services.
Key words: online defense; Springboot; graduation project; conceptual data model; persistence layer framework; Distributed System
1背景
互聯(lián)網(wǎng)的快速發(fā)展已經(jīng)改變了我們的世界,數(shù)字化、信息化在不斷地改變我們的生活?!盎ヂ?lián)網(wǎng)+創(chuàng)業(yè)”也已經(jīng)成為國家級的主題,由于要保持社交距離和保護師生健康的原因,對人們的工作、生活、學生的上課、畢業(yè)設計、課程設計、實驗與實習等教學活動在線下實現(xiàn)受到較大的影響,這對于學校、教師和學生都是非常大的挑戰(zhàn)[1]。與此同時,釘釘、騰訊會議等在線會議視頻平臺逐漸進入了教師和學生的學習中,已成為學生學習、課設等教學活動的最好途徑。目前國內(nèi)線上實踐類課程的答辯等考核環(huán)節(jié)大多采用騰訊會議或是其他第三方的軟件,這些軟件可以解決教師和學生的線上答辯的需求[2-4]。但由于這些軟件沒有基礎(chǔ)數(shù)據(jù)庫的支持,在答辯的過程中仍有著很多不便。同時,這些平臺有著版權(quán)的限制和廣告的影響,并不能充分滿足教學活動,如何構(gòu)建適合本專業(yè)學生畢業(yè)設計、實驗在內(nèi)的在線答辯系統(tǒng)顯得非常迫切。
WebRTC是一個開源的項目,得到 Google,Mozilla 和 Opera 等公司的支持,已成為事實上的實時通信行業(yè)的標準。WebRTC技術(shù)是目前視頻開發(fā)的主流技術(shù),其通信功能和媒體功能為業(yè)內(nèi)最先進的,主要包括先進的音視頻編解碼器、強制加密協(xié)議和網(wǎng)絡地址轉(zhuǎn)換器等,具有延時低,互動效果好,支持跨平臺,容易二次開發(fā),用 Html5網(wǎng)頁就能調(diào)用等優(yōu)點,適合An? droid、iOS及Windows等多種平臺[5-9]。
2 OVDS 系統(tǒng)分析
2.1 OVDS 系統(tǒng)的功能分析
在線視頻答辯系統(tǒng)(Online Video Defense System,OVDS)主要應用 WebRTC 技術(shù),通過與自行開發(fā)的數(shù)據(jù)庫管理系統(tǒng)進行集成,具有在線視頻活動創(chuàng)建、上傳文件、消息發(fā)布、學生管理、教師管理、會議管理、畢設課題管理和答辯安排管理等功能,教師可以查看學生課題、答辯安排、在線答辯等功能,學生可以查看答辯安排和答辯視頻回放的功能。
根據(jù)對畢業(yè)設計答辯在內(nèi)的實踐類課程考核情況進行調(diào)研及分析,得到 OVDS 系統(tǒng)的功能需求,按照 OVDS 系統(tǒng)的教師、學生、管理員和游客四個應用角色,主要功能描述如下:
1)學院管理:用于學院信息的管理,根據(jù)學校的院系安排,管理員可以錄入學院名稱、學院地址、學院聯(lián)系方式等信息,也可以刪除學院信息。
2)專業(yè)管理:管理員進行專業(yè)信息的錄入,也可查詢專業(yè)信息。
3)教師管理:管理員進行教師工號、職務、職稱、所在學院等信息錄入,也可以查詢教師的信息。
4)學生管理:管理員可審核學生注冊的信息,也可以錄入學生的學號、姓名、年齡,學院、專業(yè)和班級信息,也可根據(jù)查詢和修改學生信息。
5)課題管理:教師可以將自己所帶課題登錄系統(tǒng),如課題名稱、學生姓名、課題性質(zhì)、課題來源等,也可以修改和刪除課題信息。
6)答辯安排:系主任將答辯安排信息,如答辯時間、地點、所在小組、答辯老師等信息發(fā)布到系統(tǒng)中,也可以根據(jù)答辯安排的變化修改答辯安排信息。
7)答辯活動:管理員或教師創(chuàng)建一個答辯活動,包括答辯時間、答辯安排、開始時間和結(jié)束時間等信息,學生可以查詢答辯活動的信息,確定自己的答辯時間和答辯安排等。
8)在線答辯:在規(guī)定的答辯時間,老師、學生均可以登錄答辯系統(tǒng),學生可以選擇答辯小組、開啟攝像頭、調(diào)用麥克風,進行答辯,且答辯過程的視頻將作為重要的答辯資料進行保存,供教師、學生和專家等人員下載觀看。
2.2 OVDS 系統(tǒng)的數(shù)據(jù)庫分析
根據(jù)OVDS系統(tǒng)的功能描述及數(shù)據(jù)分析,提取出系統(tǒng)的數(shù)據(jù)實體如下:學院、專業(yè)、學生、教師、課題和答辯安排。其中,學院與專業(yè)的關(guān)系為一對多,一個學院對應多個專業(yè);學院與教師的關(guān)系為一對多,一個學院對應多個教師;專業(yè)與學生的關(guān)系為一對多;學生與課題的關(guān)系為一對一,每個學生對應多個課題;課題和答辯安排的關(guān)系為一對多;指導教師與課題的關(guān)系為多對多,即一個課題可以有多個教師指導,一個教師也會指導多個課題。這些實體包含多個字段,設計 OVDS概念模型(E-R 圖),如圖1 所示,限于篇幅,圖中省去了實體的屬性。學院(學院編號,學院名稱,學院地址,聯(lián)系方式等)、學生(學號,學生姓名,性別,聯(lián)系方式等)、指導教師(工號,姓名,所在部門,職務,年齡,聯(lián)系方式等)、答辯安排(序號,答辯小組,答辯日期等)、課題表(課題編號,課題名稱,學號等)、專業(yè)(專業(yè)編號,專業(yè)名稱等)。
3 OVDS 系統(tǒng)的架構(gòu)設計
OVDS 系統(tǒng)采用分布式多層次架構(gòu)體系,整體架構(gòu)從下往上分為數(shù)據(jù)庫層、模型層、業(yè)務邏輯層,控制層和表示層五層,該架構(gòu)使控制器、分派器以及模型對象相互分離,很大程度上降低了系統(tǒng)的開發(fā)難度[10-13]。每層的功能描述如下:
數(shù)據(jù)庫層采用的是MySQL關(guān)系型數(shù)據(jù)庫,該數(shù)據(jù)庫技術(shù)成熟、易擴展,具有較好事務處理能力;
模型層包括實體類和數(shù)據(jù)訪問類對象,該層也稱為數(shù)據(jù)持久層,該層是連接數(shù)據(jù)庫,并且對數(shù)據(jù)庫進行數(shù)據(jù)持久化的操作;
業(yè)務邏輯層也稱為服務層,主要是實現(xiàn)業(yè)務邏輯的應用,通過設計接口和實現(xiàn)的類來完成,通過調(diào)用數(shù)據(jù)訪問層定義的接口,實現(xiàn)業(yè)務邏輯層具體的功能;
控制層負責具體的業(yè)務模塊流程的控制,調(diào)用服務層的接口來控制業(yè)務流程;
表示層采用 Bootstrap 開源框架,基于 HTML、CSS、JavaS?cript技術(shù)的客戶端架構(gòu)技術(shù),該技術(shù)簡潔方便、布局美觀、響應速度快,用戶體驗良好。由于OVDS系統(tǒng)采用了靈活的輕量級架構(gòu)體系,具有工作量小,開發(fā)效率較高,部署簡單等優(yōu)點, OVDS系統(tǒng)的總體架構(gòu)如圖2所示。
4 OVDS 系統(tǒng)應用的相關(guān)技術(shù)
OVDS 系統(tǒng)采用的技術(shù)包括MyBatis技術(shù)、Bootstrap技術(shù)、 WebSocket技術(shù)、云服務器技術(shù)及Redis緩存數(shù)據(jù)庫技術(shù),描述如下:
1)MyBatis技術(shù) OVDS 系統(tǒng)的持久層采用的框架為MyBa? tis,通過配置文件和實體類的mapper 進行相關(guān)聯(lián),在mapper文件中設計數(shù)據(jù)庫所需的sql語句映射,該技術(shù)封裝數(shù)據(jù)庫的 CRUD操作。
2)SpringBoot技術(shù)該技術(shù)的核心是 Spring 中的 Controller 類,主要負責表示層與服務層的數(shù)據(jù)交換及控制轉(zhuǎn)發(fā),將用戶請求通過HandlerMapping去匹配Controller,再執(zhí)行所需要的操作,應用了 MVC設計思想的輕量級Web框架,對Web層進行解耦。
3)前端框架技術(shù)前端框架采用Bootstrap,目前Bootstrap 已成為最受歡迎的前端框架之一,多用于開發(fā)響應式布局項目,開發(fā)的界面美觀、簡潔。
4)云服務器平臺技術(shù)云服務器平臺是一種計算服務,可以實現(xiàn)軟硬件解耦,通常部署在虛擬化平臺上,其優(yōu)點包括:系統(tǒng)運行穩(wěn)定、數(shù)據(jù)可靠性高、安全性好,并可以自由配置CPU、內(nèi)存、帶寬等環(huán)境;安全性好,云服務器免費提供DDoS 防護、木馬查殺、防暴力破解等服務;易用性高,擁有豐富的操作系統(tǒng)和應用軟件,部署簡單,輕松擴展等優(yōu)點[14-15]。
5)Redis緩存數(shù)據(jù)庫技術(shù) OVDS 系統(tǒng)采用 MySQL關(guān)系型數(shù)據(jù)庫,其中整機及配件表存放了大量的數(shù)據(jù)記錄,由于系統(tǒng)使用的用戶數(shù)量較多,頻繁的訪問數(shù)據(jù)庫將給系統(tǒng)的性能帶來較大的影響,因此采用Redis緩存框架來減少對數(shù)據(jù)庫表的訪問,減輕數(shù)據(jù)庫壓力。
6)WebSocket技術(shù) WebSocket 技術(shù)使得客戶端和服務器之間的數(shù)據(jù)交換變得更加簡單,允許服務端主動向客戶端推送數(shù)據(jù),瀏覽器和服務器只需要完成一次握手,就直接可以創(chuàng)建持久性的連接,并進行雙向數(shù)據(jù)傳輸。
5在線視頻答辯功能實現(xiàn)
以 OVDS 系統(tǒng)在線視頻答辯功能為例,教師可以創(chuàng)建會議,老師與學生加入會議,詳細操作如下:
1)以教師和學生的賬號登錄該系統(tǒng),登錄成功后,系統(tǒng)會跳轉(zhuǎn)到系統(tǒng)的在線答辯視頻界面。
2)用戶可以根據(jù)自己的需求加入會議,加入后進入視頻答辯界面。
3)在答辯界面中,瀏覽器調(diào)用攝像頭和麥克風,進行視頻答辯,學生可以點擊右邊的共享白板,發(fā)送白板上的內(nèi)容。在信息文本框中輸入發(fā)送的信息,點擊發(fā)送信息按鈕,發(fā)送給在線答辯老師,點擊選擇文件,在本地選擇符合類型的文件,發(fā)送給在線答辯老師,以供下載。視頻會議界面如圖3所示。
采用WebSocket技術(shù)實現(xiàn)的步驟如下:
1)判斷當前瀏覽器是否支持WebSocket,參數(shù)為協(xié)議、本地
IP地址,判斷是否可以建立握手連接。
2)對視頻流的格式進行配置,一般為:352*320,幀率最高10幀。
3)判斷瀏覽器是否兼容并獲取攝像頭。4)將流媒體綁定到video上。
5)建立流通道的兼容方法。
6)用戶登錄后,瀏覽器主動建立連接方式,以確保用戶具有使用瀏覽器實現(xiàn)視頻功能。
6結(jié)束語
OVDS 開發(fā)運用了成熟的 WebRTC 技術(shù),通過 WebSocket 協(xié)議,使瀏覽器與服務器建立握手連接,交換數(shù)據(jù),實現(xiàn)了在線視頻答辯的主要功能,學生和教師不用安裝任何插件和軟件,只需要通過瀏覽器就可以在任何地方進行畢業(yè)設計在線視頻答辯,也不受版權(quán)和廣告的限制和影響。相比于目前普遍應用的騰訊會議和釘釘?shù)纫曨l軟件,本系統(tǒng)提供的功能相對簡單、視頻的清晰度不高、用戶在線數(shù)量和響應性等相對較小,由于本系統(tǒng)有自己的專用答辯數(shù)據(jù)庫管理系統(tǒng),如答辯安排、課題查詢等功能,基本滿足了目前高校畢業(yè)設計答辯的需求,后續(xù)經(jīng)過改善后,將具有較好的市場應用價值。
參考文獻:
[1]郭巍,楊建新,井平安,等.基于“雨課堂+騰訊會議”線上混合教學的課程設計與開發(fā)[J].電子世界,2020(22):32-33.
[2]蔣建軍,張榮鑒,楊爽.基于WebRTC 的交互式視頻教學平臺的設計與實現(xiàn)[J].信息技術(shù)與信息化,2020(12):190-192.
[3]張戈.WebRTC在視頻直播教學領(lǐng)域的應用研究[J].電腦編程技巧與維護,2018(11):144-146.
[4]趙永明.基于WebRTC 的音視頻實時教學系統(tǒng)建設探究[J].數(shù)字通信世界,2020(8):279-280.
[5]石芮,成洪豪,孫立民.基于WebRTC 的視頻會議系統(tǒng)開發(fā)[J].智能計算機與應用,2019,9(6):132-137.
[6] Nurrohman A, Abdurohman M. High performance streaming based on H264 and real time messaging protocol (RTMP)[C]//20186th International Conference on Information and Commu?nication Technology (ICoICT). Bandung, Indonesia. IEEE, 2018:174-177.
[6] Santos H,RosárioD,CerqueiraE,etal.A comparative analysis of H.264 and H.265 with different bitrates for on demand vid?eo streaming[C]//Proceedings of the 9th Latin America Net? working Conference.ValparaisoChile.NewYork,NY,USA:ACM, 2016:53-58.
[7] AlomanA,Ispas A I,CiotirnaeP,etal.Performance evaluation of video streaming using MPEG DASH, RTSP, and RTMP in mobile networks[C]//20158th IFIP Wireless and Mobile Net? working Conference (WMNC). Munich, Germany. IEEE, 2015:144-151.
[8]楊振宇.基于WebRTC 的會議服務的研究與實現(xiàn)[D].北京:北京郵電大學,2017.
[9]姚強.基于WebRTC 的視頻通信系統(tǒng)的研究與實現(xiàn)[D].西安: 西安理工大學,2018.
[11] 蔡碩,李毅超,劉辛彤,等.視頻會議系統(tǒng)關(guān)鍵技術(shù)及應用研究[J].科技視界,2020(31):25-26.
[12] 劉晨昱 . 關(guān)于高清視頻會議系統(tǒng)技術(shù)分析[J]. 電子測試,2020(9):33,135-136.
[13] 羅進.多功能視頻會議系統(tǒng)設計與實現(xiàn)[D].西安:西安電子科技大學,2019.
[14] 李峰.基于云平臺搭建視頻會議系統(tǒng)[J].電子技術(shù)與軟件工程,2020(24):193-194.
[15] 郭亞冬.5G時代的云視頻會議系統(tǒng)[J].通訊世界,2020,27(5):99,101.
【通聯(lián)編輯:謝媛媛】