王家 龍冬梅



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