劉洪通 邱勝海 董鶯 陳臘梅
摘要:特殊時(shí)期,倡導(dǎo)保持社交距離和保護(hù)師生健康,這給學(xué)生的學(xué)習(xí)帶來(lái)了極大的影響,各級(jí)政府及學(xué)校對(duì)在線實(shí)踐教學(xué)及考核非常重視。隨著互聯(lián)網(wǎng)、云計(jì)算及大數(shù)據(jù)等技術(shù)的日益成熟,易于構(gòu)建實(shí)踐類課程的在線答辯考核。探討了畢業(yè)設(shè)計(jì)在線答辯系統(tǒng)構(gòu)建的現(xiàn)狀,分析設(shè)計(jì)了在線答辯系統(tǒng)的功能、數(shù)據(jù)模型,設(shè)計(jì)了融合Bootstrap、Springboot、MyBatis等多項(xiàng)技術(shù)的分布式軟件架構(gòu)體系,描述了應(yīng)用于該系統(tǒng)的關(guān)鍵技術(shù),最后以該系統(tǒng)的在線視頻答辯模塊的開(kāi)發(fā)為例,詳細(xì)描述了系統(tǒng)的開(kāi)發(fā)過(guò)程。實(shí)踐證明,該系統(tǒng)具有易用性、高性能、可擴(kuò)展性及用戶體驗(yàn)良好等優(yōu)點(diǎn),能夠提高實(shí)踐類課程的答辯管理效率,有助于實(shí)現(xiàn)教學(xué)信息資源共享,能更快、更好地實(shí)現(xiàn)教學(xué)配套服務(wù)。
關(guān)鍵詞:在線答辯;Springboot;畢業(yè)設(shè)計(jì);概念數(shù)據(jù)模型;持久層框架;分布式系統(tǒng)
中圖分類號(hào):TP391,TP311? 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):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)成為國(guó)家級(jí)的主題,由于要保持社交距離和保護(hù)師生健康的原因,對(duì)人們的工作、生活、學(xué)生的上課、畢業(yè)設(shè)計(jì)、課程設(shè)計(jì)、實(shí)驗(yàn)與實(shí)習(xí)等教學(xué)活動(dòng)在線下實(shí)現(xiàn)受到較大的影響,這對(duì)于學(xué)校、教師和學(xué)生都是非常大的挑戰(zhàn)[1]。與此同時(shí),釘釘、騰訊會(huì)議等在線會(huì)議視頻平臺(tái)逐漸進(jìn)入了教師和學(xué)生的學(xué)習(xí)中,已成為學(xué)生學(xué)習(xí)、課設(shè)等教學(xué)活動(dòng)的最好途徑。目前國(guó)內(nèi)線上實(shí)踐類課程的答辯等考核環(huán)節(jié)大多采用騰訊會(huì)議或是其他第三方的軟件,這些軟件可以解決教師和學(xué)生的線上答辯的需求[2-4]。但由于這些軟件沒(méi)有基礎(chǔ)數(shù)據(jù)庫(kù)的支持,在答辯的過(guò)程中仍有著很多不便。同時(shí),這些平臺(tái)有著版權(quán)的限制和廣告的影響,并不能充分滿足教學(xué)活動(dòng),如何構(gòu)建適合本專業(yè)學(xué)生畢業(yè)設(shè)計(jì)、實(shí)驗(yàn)在內(nèi)的在線答辯系統(tǒng)顯得非常迫切。
WebRTC是一個(gè)開(kāi)源的項(xiàng)目,得到 Google,Mozilla 和 Opera 等公司的支持,已成為事實(shí)上的實(shí)時(shí)通信行業(yè)的標(biāo)準(zhǔn)。WebRTC技術(shù)是目前視頻開(kāi)發(fā)的主流技術(shù),其通信功能和媒體功能為業(yè)內(nèi)最先進(jìn)的,主要包括先進(jìn)的音視頻編解碼器、強(qiáng)制加密協(xié)議和網(wǎng)絡(luò)地址轉(zhuǎn)換器等,具有延時(shí)低,互動(dòng)效果好,支持跨平臺(tái),容易二次開(kāi)發(fā),用 Html5網(wǎng)頁(yè)就能調(diào)用等優(yōu)點(diǎn),適合An? droid、iOS及Windows等多種平臺(tái)[5-9]。
2 OVDS 系統(tǒng)分析
2.1 OVDS 系統(tǒng)的功能分析
在線視頻答辯系統(tǒng)(Online Video Defense System,OVDS)主要應(yīng)用 WebRTC 技術(shù),通過(guò)與自行開(kāi)發(fā)的數(shù)據(jù)庫(kù)管理系統(tǒng)進(jìn)行集成,具有在線視頻活動(dòng)創(chuàng)建、上傳文件、消息發(fā)布、學(xué)生管理、教師管理、會(huì)議管理、畢設(shè)課題管理和答辯安排管理等功能,教師可以查看學(xué)生課題、答辯安排、在線答辯等功能,學(xué)生可以查看答辯安排和答辯視頻回放的功能。
根據(jù)對(duì)畢業(yè)設(shè)計(jì)答辯在內(nèi)的實(shí)踐類課程考核情況進(jìn)行調(diào)研及分析,得到 OVDS 系統(tǒng)的功能需求,按照 OVDS 系統(tǒng)的教師、學(xué)生、管理員和游客四個(gè)應(yīng)用角色,主要功能描述如下:
1)學(xué)院管理:用于學(xué)院信息的管理,根據(jù)學(xué)校的院系安排,管理員可以錄入學(xué)院名稱、學(xué)院地址、學(xué)院聯(lián)系方式等信息,也可以刪除學(xué)院信息。
2)專業(yè)管理:管理員進(jìn)行專業(yè)信息的錄入,也可查詢專業(yè)信息。
3)教師管理:管理員進(jìn)行教師工號(hào)、職務(wù)、職稱、所在學(xué)院等信息錄入,也可以查詢教師的信息。
4)學(xué)生管理:管理員可審核學(xué)生注冊(cè)的信息,也可以錄入學(xué)生的學(xué)號(hào)、姓名、年齡,學(xué)院、專業(yè)和班級(jí)信息,也可根據(jù)查詢和修改學(xué)生信息。
5)課題管理:教師可以將自己所帶課題登錄系統(tǒng),如課題名稱、學(xué)生姓名、課題性質(zhì)、課題來(lái)源等,也可以修改和刪除課題信息。
6)答辯安排:系主任將答辯安排信息,如答辯時(shí)間、地點(diǎn)、所在小組、答辯老師等信息發(fā)布到系統(tǒng)中,也可以根據(jù)答辯安排的變化修改答辯安排信息。
7)答辯活動(dòng):管理員或教師創(chuàng)建一個(gè)答辯活動(dòng),包括答辯時(shí)間、答辯安排、開(kāi)始時(shí)間和結(jié)束時(shí)間等信息,學(xué)生可以查詢答辯活動(dòng)的信息,確定自己的答辯時(shí)間和答辯安排等。
8)在線答辯:在規(guī)定的答辯時(shí)間,老師、學(xué)生均可以登錄答辯系統(tǒng),學(xué)生可以選擇答辯小組、開(kāi)啟攝像頭、調(diào)用麥克風(fēng),進(jìn)行答辯,且答辯過(guò)程的視頻將作為重要的答辯資料進(jìn)行保存,供教師、學(xué)生和專家等人員下載觀看。
2.2 OVDS 系統(tǒng)的數(shù)據(jù)庫(kù)分析
根據(jù)OVDS系統(tǒng)的功能描述及數(shù)據(jù)分析,提取出系統(tǒng)的數(shù)據(jù)實(shí)體如下:學(xué)院、專業(yè)、學(xué)生、教師、課題和答辯安排。其中,學(xué)院與專業(yè)的關(guān)系為一對(duì)多,一個(gè)學(xué)院對(duì)應(yīng)多個(gè)專業(yè);學(xué)院與教師的關(guān)系為一對(duì)多,一個(gè)學(xué)院對(duì)應(yīng)多個(gè)教師;專業(yè)與學(xué)生的關(guān)系為一對(duì)多;學(xué)生與課題的關(guān)系為一對(duì)一,每個(gè)學(xué)生對(duì)應(yīng)多個(gè)課題;課題和答辯安排的關(guān)系為一對(duì)多;指導(dǎo)教師與課題的關(guān)系為多對(duì)多,即一個(gè)課題可以有多個(gè)教師指導(dǎo),一個(gè)教師也會(huì)指導(dǎo)多個(gè)課題。這些實(shí)體包含多個(gè)字段,設(shè)計(jì) OVDS概念模型(E-R 圖),如圖1 所示,限于篇幅,圖中省去了實(shí)體的屬性。學(xué)院(學(xué)院編號(hào),學(xué)院名稱,學(xué)院地址,聯(lián)系方式等)、學(xué)生(學(xué)號(hào),學(xué)生姓名,性別,聯(lián)系方式等)、指導(dǎo)教師(工號(hào),姓名,所在部門(mén),職務(wù),年齡,聯(lián)系方式等)、答辯安排(序號(hào),答辯小組,答辯日期等)、課題表(課題編號(hào),課題名稱,學(xué)號(hào)等)、專業(yè)(專業(yè)編號(hào),專業(yè)名稱等)。
3 OVDS 系統(tǒng)的架構(gòu)設(shè)計(jì)
OVDS 系統(tǒng)采用分布式多層次架構(gòu)體系,整體架構(gòu)從下往上分為數(shù)據(jù)庫(kù)層、模型層、業(yè)務(wù)邏輯層,控制層和表示層五層,該架構(gòu)使控制器、分派器以及模型對(duì)象相互分離,很大程度上降低了系統(tǒng)的開(kāi)發(fā)難度[10-13]。每層的功能描述如下:
數(shù)據(jù)庫(kù)層采用的是MySQL關(guān)系型數(shù)據(jù)庫(kù),該數(shù)據(jù)庫(kù)技術(shù)成熟、易擴(kuò)展,具有較好事務(wù)處理能力;
模型層包括實(shí)體類和數(shù)據(jù)訪問(wèn)類對(duì)象,該層也稱為數(shù)據(jù)持久層,該層是連接數(shù)據(jù)庫(kù),并且對(duì)數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)持久化的操作;
業(yè)務(wù)邏輯層也稱為服務(wù)層,主要是實(shí)現(xiàn)業(yè)務(wù)邏輯的應(yīng)用,通過(guò)設(shè)計(jì)接口和實(shí)現(xiàn)的類來(lái)完成,通過(guò)調(diào)用數(shù)據(jù)訪問(wèn)層定義的接口,實(shí)現(xiàn)業(yè)務(wù)邏輯層具體的功能;
控制層負(fù)責(zé)具體的業(yè)務(wù)模塊流程的控制,調(diào)用服務(wù)層的接口來(lái)控制業(yè)務(wù)流程;
表示層采用 Bootstrap 開(kāi)源框架,基于 HTML、CSS、JavaS?cript技術(shù)的客戶端架構(gòu)技術(shù),該技術(shù)簡(jiǎn)潔方便、布局美觀、響應(yīng)速度快,用戶體驗(yàn)良好。由于OVDS系統(tǒng)采用了靈活的輕量級(jí)架構(gòu)體系,具有工作量小,開(kāi)發(fā)效率較高,部署簡(jiǎn)單等優(yōu)點(diǎn), OVDS系統(tǒng)的總體架構(gòu)如圖2所示。
4 OVDS 系統(tǒng)應(yīng)用的相關(guān)技術(shù)
OVDS 系統(tǒng)采用的技術(shù)包括MyBatis技術(shù)、Bootstrap技術(shù)、 WebSocket技術(shù)、云服務(wù)器技術(shù)及Redis緩存數(shù)據(jù)庫(kù)技術(shù),描述如下:
1)MyBatis技術(shù) OVDS 系統(tǒng)的持久層采用的框架為MyBa? tis,通過(guò)配置文件和實(shí)體類的mapper 進(jìn)行相關(guān)聯(lián),在mapper文件中設(shè)計(jì)數(shù)據(jù)庫(kù)所需的sql語(yǔ)句映射,該技術(shù)封裝數(shù)據(jù)庫(kù)的 CRUD操作。
2)SpringBoot技術(shù)該技術(shù)的核心是 Spring 中的 Controller 類,主要負(fù)責(zé)表示層與服務(wù)層的數(shù)據(jù)交換及控制轉(zhuǎn)發(fā),將用戶請(qǐng)求通過(guò)HandlerMapping去匹配Controller,再執(zhí)行所需要的操作,應(yīng)用了 MVC設(shè)計(jì)思想的輕量級(jí)Web框架,對(duì)Web層進(jìn)行解耦。
3)前端框架技術(shù)前端框架采用Bootstrap,目前Bootstrap 已成為最受歡迎的前端框架之一,多用于開(kāi)發(fā)響應(yīng)式布局項(xiàng)目,開(kāi)發(fā)的界面美觀、簡(jiǎn)潔。
4)云服務(wù)器平臺(tái)技術(shù)云服務(wù)器平臺(tái)是一種計(jì)算服務(wù),可以實(shí)現(xiàn)軟硬件解耦,通常部署在虛擬化平臺(tái)上,其優(yōu)點(diǎn)包括:系統(tǒng)運(yùn)行穩(wěn)定、數(shù)據(jù)可靠性高、安全性好,并可以自由配置CPU、內(nèi)存、帶寬等環(huán)境;安全性好,云服務(wù)器免費(fèi)提供DDoS 防護(hù)、木馬查殺、防暴力破解等服務(wù);易用性高,擁有豐富的操作系統(tǒng)和應(yīng)用軟件,部署簡(jiǎn)單,輕松擴(kuò)展等優(yōu)點(diǎn)[14-15]。
5)Redis緩存數(shù)據(jù)庫(kù)技術(shù) OVDS 系統(tǒng)采用 MySQL關(guān)系型數(shù)據(jù)庫(kù),其中整機(jī)及配件表存放了大量的數(shù)據(jù)記錄,由于系統(tǒng)使用的用戶數(shù)量較多,頻繁的訪問(wèn)數(shù)據(jù)庫(kù)將給系統(tǒng)的性能帶來(lái)較大的影響,因此采用Redis緩存框架來(lái)減少對(duì)數(shù)據(jù)庫(kù)表的訪問(wèn),減輕數(shù)據(jù)庫(kù)壓力。
6)WebSocket技術(shù) WebSocket 技術(shù)使得客戶端和服務(wù)器之間的數(shù)據(jù)交換變得更加簡(jiǎn)單,允許服務(wù)端主動(dòng)向客戶端推送數(shù)據(jù),瀏覽器和服務(wù)器只需要完成一次握手,就直接可以創(chuàng)建持久性的連接,并進(jìn)行雙向數(shù)據(jù)傳輸。
5在線視頻答辯功能實(shí)現(xiàn)
以 OVDS 系統(tǒng)在線視頻答辯功能為例,教師可以創(chuàng)建會(huì)議,老師與學(xué)生加入會(huì)議,詳細(xì)操作如下:
1)以教師和學(xué)生的賬號(hào)登錄該系統(tǒng),登錄成功后,系統(tǒng)會(huì)跳轉(zhuǎn)到系統(tǒng)的在線答辯視頻界面。
2)用戶可以根據(jù)自己的需求加入會(huì)議,加入后進(jìn)入視頻答辯界面。
3)在答辯界面中,瀏覽器調(diào)用攝像頭和麥克風(fēng),進(jìn)行視頻答辯,學(xué)生可以點(diǎn)擊右邊的共享白板,發(fā)送白板上的內(nèi)容。在信息文本框中輸入發(fā)送的信息,點(diǎn)擊發(fā)送信息按鈕,發(fā)送給在線答辯老師,點(diǎn)擊選擇文件,在本地選擇符合類型的文件,發(fā)送給在線答辯老師,以供下載。視頻會(huì)議界面如圖3所示。
采用WebSocket技術(shù)實(shí)現(xiàn)的步驟如下:
1)判斷當(dāng)前瀏覽器是否支持WebSocket,參數(shù)為協(xié)議、本地
IP地址,判斷是否可以建立握手連接。
2)對(duì)視頻流的格式進(jìn)行配置,一般為:352*320,幀率最高10幀。
3)判斷瀏覽器是否兼容并獲取攝像頭。4)將流媒體綁定到video上。
5)建立流通道的兼容方法。
6)用戶登錄后,瀏覽器主動(dòng)建立連接方式,以確保用戶具有使用瀏覽器實(shí)現(xiàn)視頻功能。
6結(jié)束語(yǔ)
OVDS 開(kāi)發(fā)運(yùn)用了成熟的 WebRTC 技術(shù),通過(guò) WebSocket 協(xié)議,使瀏覽器與服務(wù)器建立握手連接,交換數(shù)據(jù),實(shí)現(xiàn)了在線視頻答辯的主要功能,學(xué)生和教師不用安裝任何插件和軟件,只需要通過(guò)瀏覽器就可以在任何地方進(jìn)行畢業(yè)設(shè)計(jì)在線視頻答辯,也不受版權(quán)和廣告的限制和影響。相比于目前普遍應(yīng)用的騰訊會(huì)議和釘釘?shù)纫曨l軟件,本系統(tǒng)提供的功能相對(duì)簡(jiǎn)單、視頻的清晰度不高、用戶在線數(shù)量和響應(yīng)性等相對(duì)較小,由于本系統(tǒng)有自己的專用答辯數(shù)據(jù)庫(kù)管理系統(tǒng),如答辯安排、課題查詢等功能,基本滿足了目前高校畢業(yè)設(shè)計(jì)答辯的需求,后續(xù)經(jīng)過(guò)改善后,將具有較好的市場(chǎng)應(yīng)用價(jià)值。
參考文獻(xiàn):
[1]郭巍,楊建新,井平安,等.基于“雨課堂+騰訊會(huì)議”線上混合教學(xué)的課程設(shè)計(jì)與開(kāi)發(fā)[J].電子世界,2020(22):32-33.
[2]蔣建軍,張榮鑒,楊爽.基于WebRTC 的交互式視頻教學(xué)平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)[J].信息技術(shù)與信息化,2020(12):190-192.
[3]張戈.WebRTC在視頻直播教學(xué)領(lǐng)域的應(yīng)用研究[J].電腦編程技巧與維護(hù),2018(11):144-146.
[4]趙永明.基于WebRTC 的音視頻實(shí)時(shí)教學(xué)系統(tǒng)建設(shè)探究[J].數(shù)字通信世界,2020(8):279-280.
[5]石芮,成洪豪,孫立民.基于WebRTC 的視頻會(huì)議系統(tǒng)開(kāi)發(fā)[J].智能計(jì)算機(jī)與應(yīng)用,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 的會(huì)議服務(wù)的研究與實(shí)現(xiàn)[D].北京:北京郵電大學(xué),2017.
[9]姚強(qiáng).基于WebRTC 的視頻通信系統(tǒng)的研究與實(shí)現(xiàn)[D].西安: 西安理工大學(xué),2018.
[11] 蔡碩,李毅超,劉辛彤,等.視頻會(huì)議系統(tǒng)關(guān)鍵技術(shù)及應(yīng)用研究[J].科技視界,2020(31):25-26.
[12] 劉晨昱 . 關(guān)于高清視頻會(huì)議系統(tǒng)技術(shù)分析[J]. 電子測(cè)試,2020(9):33,135-136.
[13] 羅進(jìn).多功能視頻會(huì)議系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[D].西安:西安電子科技大學(xué),2019.
[14] 李峰.基于云平臺(tái)搭建視頻會(huì)議系統(tǒng)[J].電子技術(shù)與軟件工程,2020(24):193-194.
[15] 郭亞冬.5G時(shí)代的云視頻會(huì)議系統(tǒng)[J].通訊世界,2020,27(5):99,101.
【通聯(lián)編輯:謝媛媛】