文|孫鯨鵬
隨著大數(shù)據(jù)、云計算等新興技術(shù)的快速發(fā)展,智慧教育考試平臺已成為未來必然的趨勢,傳統(tǒng)網(wǎng)絡(luò)考試方式組卷不夠靈活、考生和考情等數(shù)據(jù)相對分散、封閉不利于數(shù)據(jù)的統(tǒng)計與分析,并且考試結(jié)束后,服務(wù)器與網(wǎng)絡(luò)基本處于閑置狀態(tài),造成資源的巨大浪費(fèi),因此建設(shè)智慧化教育考試平臺便于智慧組卷及考情的大數(shù)據(jù)分析,同時基于云計算的靈活資源調(diào)度對建設(shè)節(jié)約型校園具有重要現(xiàn)實(shí)意義。
我院集職業(yè)技術(shù)教育、技能鑒定為一體,是國家綜合性職業(yè)培訓(xùn)基地、國家職業(yè)技能鑒定所,常年舉辦初級工、中級工、高級工、技師、高級技師等培訓(xùn)與鑒定考試工作。為切實(shí)完成學(xué)院的不同工種考試需求,更好的開展考情分析工作,在學(xué)習(xí)和借鑒國內(nèi)外先進(jìn)理念、管理經(jīng)驗(yàn)及技術(shù)體系的基礎(chǔ)上,總結(jié)當(dāng)前多種在線考試系統(tǒng)、平臺建設(shè)過程中的經(jīng)驗(yàn)及問題,提出建設(shè)基于云計算的智慧教育考試平臺的任務(wù)。
由于職業(yè)鑒定的特殊性,當(dāng)前市面上沒有針對職業(yè)技能鑒定設(shè)計開發(fā)的在線考試產(chǎn)品。大多數(shù)職業(yè)鑒定考試都是與ATA合作的方式開展,試題以國家鑒定題庫為基礎(chǔ)混合組卷而成,無法完全滿足各工種考試的特定需求。本平臺正是針對此類的痛點(diǎn)設(shè)計開發(fā),不僅突破了上述的限制,并且在未來可以針對需求的變化不斷地更新功能,保障鑒定考試順利開展的同時為后續(xù)鑒定教育培訓(xùn)工作提供大數(shù)據(jù)分析決策支撐。
本平臺通過TCP/IP網(wǎng)絡(luò)與云服務(wù)器交換數(shù)據(jù),將智慧化的試題數(shù)據(jù)存儲于服務(wù)器中,并能根據(jù)各工種需求以多種方式組卷開展考試,同時支持PC端及手機(jī)移動端的訪問。如圖1所示。

圖1 架構(gòu)圖
云服務(wù)器:基于openstack私有云技術(shù),在校園網(wǎng)內(nèi)安裝部署若干臺彈性服務(wù)器,提供Web服務(wù)和數(shù)據(jù)服務(wù)。
小程序服務(wù)器:考慮到微信的龐大用戶群,基于微信小程序開發(fā)的系統(tǒng)無須安裝APP,有微信即可參加考試,給用戶帶來了極大的便利,本平臺同步部署在騰訊云的小程序服務(wù)器,為手機(jī)移動端的訪問提供適配。
基于瀏覽器的客戶端:基于WebView2控件封裝的客戶端可以將web技術(shù)應(yīng)用于原生Winform程序中,實(shí)現(xiàn)跨平臺、快速迭代、代碼復(fù)用、用戶體驗(yàn)佳等諸多優(yōu)勢。
微信小程序:基于微信小程序開放框架,開發(fā)者可以簡單和高效地開發(fā)和調(diào)試微信小程序,而不必考慮各種用戶設(shè)備及不同軟件系統(tǒng)之間的兼容問題。
包括云服務(wù)模塊、Web前后端模塊,智慧化分析模塊。
云服務(wù)模塊:該功能主要是通過云計算微服務(wù)支撐Web后端管理及考試功能,根據(jù)考試的規(guī)模靈活調(diào)度服務(wù)器的資源。
Web前后端模塊:該模塊主要功能包括考試管理、考生管理,在線考試等。
智慧化分析模塊:該模塊主要實(shí)現(xiàn)考務(wù)、考情相關(guān)的大數(shù)據(jù)統(tǒng)計分析功能。
本平臺采用考生端與服務(wù)端解耦合的設(shè)計,將前后端分離,前端使用基于layui的框架構(gòu)建,后端使用asp.net core技術(shù)跨平臺開發(fā),暴露API接口給前端調(diào)用獲取JSON格式的數(shù)據(jù),相關(guān)服務(wù)部署在docker容器中,達(dá)到自動化部署的效果。
(1)layui

圖2 用例圖
較為流行的開源 Web UI 解決方案框架,內(nèi)部采用規(guī)范化模塊,遵循原生 HTML/CSS/JS 的開發(fā)方式,開發(fā)簡單高效。
(2)asp.net core
開放源代碼的Web模塊化后端框架,有著開發(fā)快速、安全、跨平臺和基于云服務(wù)的特性。
(3)JSON
輕量級的數(shù)據(jù)交換格式。不僅易于程序設(shè)計開發(fā)人員閱讀和編寫,同時也易于程序解析和構(gòu)造,并能有效地提升傳輸效率。
(4)Docker容器
應(yīng)用容器技術(shù),將后端服務(wù)拆解成微服務(wù),打包發(fā)布到可移植的容器中,實(shí)現(xiàn)服務(wù)部署的虛擬化與自動化。
本平臺設(shè)計的初衷是構(gòu)建一套基于云計算的智慧教育服務(wù),通過開放的標(biāo)準(zhǔn)API接口實(shí)現(xiàn)各功能模塊獨(dú)立化、微小化、彈性擴(kuò)展的目標(biāo)。用戶在與各功能模塊交互使用過程中的關(guān)系與概覽信息如圖2所示。
與考試相關(guān)的各項考務(wù)信息管理,包括考試信息、考場安排、試卷編排、考生管理等。
考生輸入身份證與準(zhǔn)考證登錄考試平臺,查看考生須知及操作說明,待開考時間到后進(jìn)入在線考試平臺參加考試,監(jiān)考人員輸入各自考場管理帳號及密碼登錄在線考試后臺管理本考場的考務(wù),包括考生簽到、查看考生答題情況、補(bǔ)時、更換機(jī)器、收卷等功能。

圖3 數(shù)據(jù)庫視圖關(guān)系表
管理人員可以隨時查看當(dāng)前考試的統(tǒng)計情況,包括參考總體情況、各考場的缺考率、考生的答題情況等信息,方便相關(guān)管理人員第一時間掌控考試情況。考試結(jié)束后針對所有考試數(shù)據(jù)進(jìn)行深度挖掘分析,生成不同維度的比照圖表。
平臺使用的數(shù)據(jù)庫有五張核心表,完成數(shù)據(jù)庫與數(shù)據(jù)表的創(chuàng)建完成后具體關(guān)系如圖3所示。
以考試信息表(T_Exam)表一為例說明:

表1 考試信息表
其中考試編號為考試信息表的主鍵,除可交卷時間外其它字段均具有非空約束。
考生的答卷數(shù)據(jù)與服務(wù)器之間進(jìn)行交互的過程中,考生端的JS方法定時觸發(fā),它首先通過AJAX庫構(gòu)建所有數(shù)據(jù),并加入驗(yàn)證令牌信息,接著調(diào)用服務(wù)端的API接口函數(shù)FeedBack保存答卷數(shù)據(jù),服務(wù)端處理完畢后返回處理結(jié)果。代碼如下:


本文探討了基于云計算的智慧教育考試平臺開發(fā)技術(shù),目前平臺運(yùn)行情況良好,后續(xù)將持續(xù)深入地研究開發(fā)服務(wù)于學(xué)院鑒定考試的同時為學(xué)院程序設(shè)計相關(guān)專業(yè)課程提供實(shí)踐平臺。