王家 龍冬梅
摘要:隨著“互聯(lián)網(wǎng)+”概念不斷融入高校的教學(xué)與學(xué)生管理的各個(gè)方面,高校對于在線考試系統(tǒng)需求也逐漸增加,文章首先對高校在線考試系統(tǒng)需求進(jìn)行調(diào)研和分析,接著根據(jù)調(diào)研的結(jié)果提出了適合于高校的在線考試系統(tǒng)架構(gòu),該系統(tǒng)采用Docker容器技術(shù)簡化部署與維護(hù)成本,提高系統(tǒng)的可伸縮性,同時(shí)系統(tǒng)采用的前后端分離的軟件架構(gòu),前端基于Vue實(shí)現(xiàn)系統(tǒng)網(wǎng)頁界面,后端基于SpringBoot實(shí)現(xiàn)業(yè)務(wù)邏輯,最后文章提出了一套切實(shí)可行的高校在線考試系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)方案。
關(guān)鍵詞:容器;微服務(wù);在線考試系統(tǒng)
中圖分類號(hào):TP311 ? ? ?文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2022)02-0056-02
1引言
隨著“互聯(lián)網(wǎng)+”應(yīng)用逐漸滲透到高校教學(xué)和管理的各個(gè)方面,高校對在線考試系統(tǒng)的需求越來越迫切。高校對于學(xué)生文檔資料的歸檔的要求不斷提高,加速了各種自動(dòng)化系統(tǒng)應(yīng)用到高校教學(xué)與管理中,其中一個(gè)主要的方面是對學(xué)生考試試卷的管理與考試成績分析統(tǒng)計(jì)。
傳統(tǒng)紙質(zhì)試卷考試的方式已經(jīng)不能夠滿足學(xué)生和老師的需求,老師出題難度,難以覆蓋課程的各個(gè)知識(shí)點(diǎn),同時(shí)學(xué)生人數(shù)多,造成批改試卷工作量大,并且統(tǒng)計(jì)成績費(fèi)時(shí)費(fèi)力。此時(shí)在線考試系統(tǒng)優(yōu)勢就體現(xiàn)出來。首先,在線考試可以通過題庫隨機(jī)生成試卷,可以設(shè)置每個(gè)知識(shí)點(diǎn)在生成試卷中的占比,保證重點(diǎn)知識(shí)被重點(diǎn)考察,接著在線考試可以減輕老師在批改試卷的時(shí)候的負(fù)擔(dān),客觀題目由系統(tǒng)自動(dòng)評分,主觀題目由老師在線評分。最后老師統(tǒng)計(jì)學(xué)生成績更加方便和詳細(xì),可以對每道題目的得分率進(jìn)行統(tǒng)計(jì),也可以對每個(gè)知識(shí)點(diǎn)的得分率進(jìn)行統(tǒng)計(jì),配合各種統(tǒng)計(jì)圖形讓老師對學(xué)生的學(xué)習(xí)情況掌握得更加全面。在線考試使得學(xué)生查詢成績更加方便。
老師可以在學(xué)期中多次進(jìn)行在線考試,對學(xué)生的學(xué)習(xí)情況進(jìn)行跟蹤。而不是因?yàn)樵嚲沓鲱}和批改壓力過大,只能夠在學(xué)期中做極少次數(shù)的考試,從而提高高校的教學(xué)質(zhì)量。
雖然現(xiàn)在有很多的平臺(tái)提供在線考試的功能,例如學(xué)習(xí)通的在線考試。但是因?yàn)楦咝5木W(wǎng)絡(luò)質(zhì)量不同,對于教學(xué)資料安全性高,以及平臺(tái)費(fèi)用等問題,高校往往不能夠使用公開的平臺(tái)進(jìn)行考試。所以本文提出了一套能夠快速在學(xué)校內(nèi)部部署的在線考試系統(tǒng),能夠保證學(xué)校對于數(shù)據(jù)的完全獲取和數(shù)據(jù)的安全,避免數(shù)據(jù)泄露造成的風(fēng)險(xiǎn),降低系統(tǒng)的運(yùn)行費(fèi)用。
1 需求分析
在線考試系統(tǒng)包含三種用戶角色,分別針對學(xué)生、老師和后臺(tái)管理人員。學(xué)生可以通過手機(jī)或者電腦的瀏覽器在線進(jìn)行考試,考試完成以后可以查看自己的考試成績,以及提出查分申請。老師可以對學(xué)生的試卷進(jìn)行題庫的添加、刪除、修改,同時(shí)可以從題庫當(dāng)中生成所需要的試卷,設(shè)置試卷的考試時(shí)間,考試時(shí)長以及考試要求等信息,考試完成以后老師可以對主觀題目進(jìn)行在線的評閱,客觀題由在線考試系統(tǒng)實(shí)時(shí)自動(dòng)完成批改。試卷評閱完成后,系統(tǒng)會(huì)生成相關(guān)試卷的統(tǒng)計(jì)結(jié)果,方便老師對學(xué)生的學(xué)習(xí)情況進(jìn)行分析。
后臺(tái)管理模塊為方便學(xué)校管理,提供了一個(gè)綜合管理平臺(tái),后臺(tái)可以批量的導(dǎo)入學(xué)生、老師和題庫的信息,同時(shí)也可以批量地下載電子版的所有課程的試卷以及考試成績的分析和統(tǒng)計(jì)結(jié)果,方便學(xué)校對于相關(guān)資料進(jìn)行存檔。
3 系統(tǒng)架構(gòu)
3.1 系統(tǒng)結(jié)構(gòu)
本系統(tǒng)基于Docker容器技術(shù)和微服務(wù)架構(gòu),為高校提供一套快速部署、運(yùn)維管理、安全可靠的在線考試系統(tǒng)。
如圖2所示為系統(tǒng)架構(gòu)和流程,學(xué)生電腦→網(wǎng)絡(luò)→負(fù)載均衡→服務(wù)網(wǎng)關(guān)(GateWay)→Docker集群→微服務(wù)。為了保證安全性,客戶端請求在傳輸?shù)倪^程中需要使用https加密保護(hù),在系統(tǒng)內(nèi)部需要進(jìn)行SSL卸載。外部請求經(jīng)過負(fù)載均衡后,路由到GateWay集群中的某個(gè)GateWay服務(wù)處理,再由GateWay服務(wù)轉(zhuǎn)發(fā)到Docker集群中部署的微服務(wù)。服務(wù)網(wǎng)關(guān)作為內(nèi)部系統(tǒng)的邊界,基本作用為動(dòng)態(tài)路由,限流和容錯(cuò),身份認(rèn)證和安全性控制,監(jiān)控,訪問日志管理。
3.2 容器技術(shù)
Docker是一種高效率的、負(fù)載性極強(qiáng)的容器解決方案,在線考試系統(tǒng)采用容器技術(shù)后,可以靈活地將系統(tǒng)部署到本地服務(wù)或者云平臺(tái)上,Docker技術(shù)為系統(tǒng)提供了封裝、分發(fā)、部署、運(yùn)行整個(gè)鏈條上全方位全流程的管理功能[1]。
容器與微服務(wù)結(jié)合,系統(tǒng)只需要將基礎(chǔ)鏡像和微服務(wù)生成鏡像,再將鏡像部署在Docker容器中,系統(tǒng)就可以運(yùn)行。系統(tǒng)采用此種方式能夠簡單、高效、安全快速部署服務(wù)。
3.3 前端應(yīng)用
在線考試前端應(yīng)用,為用戶提供一個(gè)友好的交互界面,主要的業(yè)務(wù)邏輯功能會(huì)使用后端服務(wù)所提供的微服務(wù)。前端應(yīng)用的開發(fā)過程當(dāng)中,主要考慮到學(xué)生和老師可以在不同設(shè)備上面使用本系統(tǒng),本系統(tǒng)支持在電腦,平板以及手機(jī)瀏覽器當(dāng)中使用前端應(yīng)用的網(wǎng)頁界面。為了達(dá)到上述需求,系統(tǒng)采用了Vue框架。
Vue的核心思想MVVM原理,使得Vue可以對頁面上需要使用的數(shù)據(jù)進(jìn)行統(tǒng)一管理,并能夠很方便地獲取數(shù)據(jù)的更新,實(shí)現(xiàn)頁面視圖與數(shù)據(jù)模型的交互[2]。
3.4 后端服務(wù)
SpringBoot是一個(gè)腳手架程序,設(shè)計(jì)目的在于簡化Spring應(yīng)用的初始搭建以及開發(fā)過程,快速、便捷地開發(fā)Spring項(xiàng)目。在開發(fā)過程中,專注于應(yīng)用本身的開發(fā),而無須糾結(jié)于Spring的配置。SpringBoot具有高內(nèi)聚、低耦合、聲明式事務(wù)的優(yōu)點(diǎn),它是后端服務(wù)器應(yīng)用開發(fā)的主流技術(shù)。在線考試系統(tǒng)使用Spirng,MyBatis,Spring MVC作為基礎(chǔ)框架,通過SpringBoot對三個(gè)基礎(chǔ)框架的整合與管理。
其中SpringMVC是一個(gè)基于POJO開源的輕量級(jí)Java企業(yè)級(jí)應(yīng)用框架。主要由Model(模型)、Control(控制器)、View(視圖)三部分組成,能夠?qū)崿F(xiàn)業(yè)務(wù)數(shù)據(jù)處理和業(yè)務(wù)數(shù)據(jù)間的解耦[3]。MyBatis框架完成對數(shù)據(jù)庫的常見操作[4]。
系統(tǒng)后端主要提供在線考試系統(tǒng)的數(shù)據(jù)服務(wù),并且以json數(shù)據(jù)格式傳輸提供給前臺(tái)應(yīng)用使用,同時(shí)將前端發(fā)送到后端的數(shù)據(jù)存儲(chǔ)到數(shù)據(jù)庫當(dāng)中。為了應(yīng)對在線考試中大量并發(fā)的數(shù)據(jù)請求采用消息隊(duì)列來響應(yīng)并發(fā)請求[5]。
后臺(tái)服務(wù)被分成多個(gè)子模塊。每個(gè)子模塊也是一個(gè)微服務(wù),可以單獨(dú)打包為一個(gè)鏡像,使用Docker進(jìn)行部署。在實(shí)際運(yùn)營中不同時(shí)間段,對于在線考試中各個(gè)微服務(wù)的請求量有所不同,比如在期末時(shí),對于在線考試模塊請求量會(huì)升高,此時(shí)可以通過容器技術(shù)實(shí)現(xiàn)多個(gè)在線考試微服務(wù)部署,并使其形成集群,從而提高系統(tǒng)的吞吐量解決對于該模塊服務(wù)請求激增的問題。又如開學(xué)時(shí)需要大量下載相關(guān)成績分析表格和電子版試卷,此時(shí)可以動(dòng)態(tài)添加電子試卷微服務(wù)并形成集群。平時(shí)對于在線考試需求量較小時(shí)可以只保留少量的微服務(wù)容器,從而節(jié)約學(xué)校的運(yùn)營成本。
4 結(jié)束語
本文主要針對高校對于在線考試系統(tǒng)的需求,設(shè)計(jì)實(shí)現(xiàn)了基于容器和微服務(wù)的在線考試系統(tǒng)。該系統(tǒng)能夠減輕高校在部署系統(tǒng)上的難度,降低運(yùn)行費(fèi)用。系統(tǒng)能夠減輕老師和學(xué)校管理人員在考試工作中所花費(fèi)的時(shí)間,系統(tǒng)能夠提高老師在批改和出題的效率,提高學(xué)校對于考試文檔管理效率,提高學(xué)生對于考試的滿意度,使得高校能夠更好地服務(wù)學(xué)生。
參考文獻(xiàn):
[1] 劉昱良,何璐.基于Docker技術(shù)的容器云平臺(tái)淺析[J].大眾科技,2021,23(1):15-17,20.
[2] 沈佳棋,倪珊,王杰,等.基于Vue+SpringBoot的分類學(xué)科競賽管理系統(tǒng)設(shè)計(jì)[J].無線互聯(lián)科技,2020,17(17):74-77.
[3] 馬艷夕.基于SpringBoot與Vue技術(shù)的企業(yè)電商平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)[J].信息與電腦(理論版),2021,33(3):99-100.
[4] 劉娟,任光芹,左欣,等.基于Spring Boot的財(cái)政一體化管控平臺(tái)設(shè)計(jì)與實(shí)現(xiàn)[J].物聯(lián)網(wǎng)技術(shù),2021,11(12):78-80.
[5] 鄒燕飛,劉淑英,黃旺.基于Spring Boot的扶貧信息管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].數(shù)字技術(shù)與應(yīng)用,2021,39(11):155-157.
【通聯(lián)編輯:唐一東】
2468500511216