文|孫鯨鵬
隨著大數(shù)據(jù)、云計(jì)算等新興技術(shù)的快速發(fā)展,智慧教育考試平臺(tái)已成為未來(lái)必然的趨勢(shì),傳統(tǒng)網(wǎng)絡(luò)考試方式組卷不夠靈活、考生和考情等數(shù)據(jù)相對(duì)分散、封閉不利于數(shù)據(jù)的統(tǒng)計(jì)與分析,并且考試結(jié)束后,服務(wù)器與網(wǎng)絡(luò)基本處于閑置狀態(tài),造成資源的巨大浪費(fèi),因此建設(shè)智慧化教育考試平臺(tái)便于智慧組卷及考情的大數(shù)據(jù)分析,同時(shí)基于云計(jì)算的靈活資源調(diào)度對(duì)建設(shè)節(jié)約型校園具有重要現(xiàn)實(shí)意義。
我院集職業(yè)技術(shù)教育、技能鑒定為一體,是國(guó)家綜合性職業(yè)培訓(xùn)基地、國(guó)家職業(yè)技能鑒定所,常年舉辦初級(jí)工、中級(jí)工、高級(jí)工、技師、高級(jí)技師等培訓(xùn)與鑒定考試工作。為切實(shí)完成學(xué)院的不同工種考試需求,更好的開(kāi)展考情分析工作,在學(xué)習(xí)和借鑒國(guó)內(nèi)外先進(jìn)理念、管理經(jīng)驗(yàn)及技術(shù)體系的基礎(chǔ)上,總結(jié)當(dāng)前多種在線(xiàn)考試系統(tǒng)、平臺(tái)建設(shè)過(guò)程中的經(jīng)驗(yàn)及問(wèn)題,提出建設(shè)基于云計(jì)算的智慧教育考試平臺(tái)的任務(wù)。
由于職業(yè)鑒定的特殊性,當(dāng)前市面上沒(méi)有針對(duì)職業(yè)技能鑒定設(shè)計(jì)開(kāi)發(fā)的在線(xiàn)考試產(chǎn)品。大多數(shù)職業(yè)鑒定考試都是與ATA合作的方式開(kāi)展,試題以國(guó)家鑒定題庫(kù)為基礎(chǔ)混合組卷而成,無(wú)法完全滿(mǎn)足各工種考試的特定需求。本平臺(tái)正是針對(duì)此類(lèi)的痛點(diǎn)設(shè)計(jì)開(kāi)發(fā),不僅突破了上述的限制,并且在未來(lái)可以針對(duì)需求的變化不斷地更新功能,保障鑒定考試順利開(kāi)展的同時(shí)為后續(xù)鑒定教育培訓(xùn)工作提供大數(shù)據(jù)分析決策支撐。
本平臺(tái)通過(guò)TCP/IP網(wǎng)絡(luò)與云服務(wù)器交換數(shù)據(jù),將智慧化的試題數(shù)據(jù)存儲(chǔ)于服務(wù)器中,并能根據(jù)各工種需求以多種方式組卷開(kāi)展考試,同時(shí)支持PC端及手機(jī)移動(dòng)端的訪(fǎng)問(wèn)。如圖1所示。
圖1 架構(gòu)圖
云服務(wù)器:基于openstack私有云技術(shù),在校園網(wǎng)內(nèi)安裝部署若干臺(tái)彈性服務(wù)器,提供Web服務(wù)和數(shù)據(jù)服務(wù)。
小程序服務(wù)器:考慮到微信的龐大用戶(hù)群,基于微信小程序開(kāi)發(fā)的系統(tǒng)無(wú)須安裝APP,有微信即可參加考試,給用戶(hù)帶來(lái)了極大的便利,本平臺(tái)同步部署在騰訊云的小程序服務(wù)器,為手機(jī)移動(dòng)端的訪(fǎng)問(wèn)提供適配。
基于瀏覽器的客戶(hù)端:基于WebView2控件封裝的客戶(hù)端可以將web技術(shù)應(yīng)用于原生Winform程序中,實(shí)現(xiàn)跨平臺(tái)、快速迭代、代碼復(fù)用、用戶(hù)體驗(yàn)佳等諸多優(yōu)勢(shì)。
微信小程序:基于微信小程序開(kāi)放框架,開(kāi)發(fā)者可以簡(jiǎn)單和高效地開(kāi)發(fā)和調(diào)試微信小程序,而不必考慮各種用戶(hù)設(shè)備及不同軟件系統(tǒng)之間的兼容問(wèn)題。
包括云服務(wù)模塊、Web前后端模塊,智慧化分析模塊。
云服務(wù)模塊:該功能主要是通過(guò)云計(jì)算微服務(wù)支撐Web后端管理及考試功能,根據(jù)考試的規(guī)模靈活調(diào)度服務(wù)器的資源。
Web前后端模塊:該模塊主要功能包括考試管理、考生管理,在線(xiàn)考試等。
智慧化分析模塊:該模塊主要實(shí)現(xiàn)考務(wù)、考情相關(guān)的大數(shù)據(jù)統(tǒng)計(jì)分析功能。
本平臺(tái)采用考生端與服務(wù)端解耦合的設(shè)計(jì),將前后端分離,前端使用基于layui的框架構(gòu)建,后端使用asp.net core技術(shù)跨平臺(tái)開(kāi)發(fā),暴露API接口給前端調(diào)用獲取JSON格式的數(shù)據(jù),相關(guān)服務(wù)部署在docker容器中,達(dá)到自動(dòng)化部署的效果。
(1)layui
圖2 用例圖
較為流行的開(kāi)源 Web UI 解決方案框架,內(nèi)部采用規(guī)范化模塊,遵循原生 HTML/CSS/JS 的開(kāi)發(fā)方式,開(kāi)發(fā)簡(jiǎn)單高效。
(2)asp.net core
開(kāi)放源代碼的Web模塊化后端框架,有著開(kāi)發(fā)快速、安全、跨平臺(tái)和基于云服務(wù)的特性。
(3)JSON
輕量級(jí)的數(shù)據(jù)交換格式。不僅易于程序設(shè)計(jì)開(kāi)發(fā)人員閱讀和編寫(xiě),同時(shí)也易于程序解析和構(gòu)造,并能有效地提升傳輸效率。
(4)Docker容器
應(yīng)用容器技術(shù),將后端服務(wù)拆解成微服務(wù),打包發(fā)布到可移植的容器中,實(shí)現(xiàn)服務(wù)部署的虛擬化與自動(dòng)化。
本平臺(tái)設(shè)計(jì)的初衷是構(gòu)建一套基于云計(jì)算的智慧教育服務(wù),通過(guò)開(kāi)放的標(biāo)準(zhǔn)API接口實(shí)現(xiàn)各功能模塊獨(dú)立化、微小化、彈性擴(kuò)展的目標(biāo)。用戶(hù)在與各功能模塊交互使用過(guò)程中的關(guān)系與概覽信息如圖2所示。
與考試相關(guān)的各項(xiàng)考務(wù)信息管理,包括考試信息、考場(chǎng)安排、試卷編排、考生管理等。
考生輸入身份證與準(zhǔn)考證登錄考試平臺(tái),查看考生須知及操作說(shuō)明,待開(kāi)考時(shí)間到后進(jìn)入在線(xiàn)考試平臺(tái)參加考試,監(jiān)考人員輸入各自考場(chǎng)管理帳號(hào)及密碼登錄在線(xiàn)考試后臺(tái)管理本考場(chǎng)的考務(wù),包括考生簽到、查看考生答題情況、補(bǔ)時(shí)、更換機(jī)器、收卷等功能。
圖3 數(shù)據(jù)庫(kù)視圖關(guān)系表
管理人員可以隨時(shí)查看當(dāng)前考試的統(tǒng)計(jì)情況,包括參考總體情況、各考場(chǎng)的缺考率、考生的答題情況等信息,方便相關(guān)管理人員第一時(shí)間掌控考試情況??荚嚱Y(jié)束后針對(duì)所有考試數(shù)據(jù)進(jìn)行深度挖掘分析,生成不同維度的比照?qǐng)D表。
平臺(tái)使用的數(shù)據(jù)庫(kù)有五張核心表,完成數(shù)據(jù)庫(kù)與數(shù)據(jù)表的創(chuàng)建完成后具體關(guān)系如圖3所示。
以考試信息表(T_Exam)表一為例說(shuō)明:
表1 考試信息表
其中考試編號(hào)為考試信息表的主鍵,除可交卷時(shí)間外其它字段均具有非空約束。
考生的答卷數(shù)據(jù)與服務(wù)器之間進(jìn)行交互的過(guò)程中,考生端的JS方法定時(shí)觸發(fā),它首先通過(guò)AJAX庫(kù)構(gòu)建所有數(shù)據(jù),并加入驗(yàn)證令牌信息,接著調(diào)用服務(wù)端的API接口函數(shù)FeedBack保存答卷數(shù)據(jù),服務(wù)端處理完畢后返回處理結(jié)果。代碼如下:
本文探討了基于云計(jì)算的智慧教育考試平臺(tái)開(kāi)發(fā)技術(shù),目前平臺(tái)運(yùn)行情況良好,后續(xù)將持續(xù)深入地研究開(kāi)發(fā)服務(wù)于學(xué)院鑒定考試的同時(shí)為學(xué)院程序設(shè)計(jì)相關(guān)專(zhuān)業(yè)課程提供實(shí)踐平臺(tái)。