趙永明
(中國(guó)氣象局氣象干部培訓(xùn)學(xué)院 北京市 100081)
自2006年氣象遠(yuǎn)程培訓(xùn)系統(tǒng)項(xiàng)目實(shí)施以來(lái),逐步建成了集在線學(xué)習(xí),教學(xué)組織管理、綜合資源管理、網(wǎng)站內(nèi)容管理、互動(dòng)學(xué)習(xí)社區(qū)及在線考試系統(tǒng)為一體的綜合性遠(yuǎn)程教育培訓(xùn)系統(tǒng)。其中在線考試系統(tǒng)主要實(shí)現(xiàn)在線管理試題庫(kù),在線組卷并安排相關(guān)學(xué)員參加在線考試等功能,包括題庫(kù)管理、試卷管理、考試管理、考務(wù)管理、查詢統(tǒng)計(jì)等主要模塊,基本能滿足組織遠(yuǎn)程培訓(xùn)學(xué)員參加在線考試等需求。在遠(yuǎn)程培訓(xùn)系統(tǒng)業(yè)務(wù)實(shí)施過(guò)程,發(fā)現(xiàn)存在如下問(wèn)題:部分功能易用性較差;管理員組織考試的業(yè)務(wù)流程不夠清晰;考試系統(tǒng)的性能還較差,不能滿足大規(guī)模并發(fā)考試需求;系統(tǒng)的穩(wěn)定性不高,有待提升。
為解決上述問(wèn)題,通過(guò)近期的項(xiàng)目建設(shè),完善了在線考試系統(tǒng)的題庫(kù)管理、智能組卷、考試管理、考務(wù)管理及考試過(guò)程監(jiān)控等功能和業(yè)務(wù)邏輯,改進(jìn)了學(xué)員參加考試的易用性及瀏覽器的兼容性;調(diào)整了考試系統(tǒng)的后臺(tái)業(yè)務(wù)管理流程;對(duì)之前的在線考試功能和培訓(xùn)班功能相互耦合緊密,不易擴(kuò)展的問(wèn)題進(jìn)行了架構(gòu)改造,對(duì)考試系統(tǒng)進(jìn)行了獨(dú)立部署,在培訓(xùn)實(shí)施環(huán)節(jié)通過(guò)開放接口調(diào)用使用考試系統(tǒng);另外對(duì)系統(tǒng)的性能和穩(wěn)定性的提升進(jìn)行了優(yōu)化,本文重點(diǎn)介紹在線考試系統(tǒng)性能優(yōu)化的設(shè)計(jì)與實(shí)現(xiàn)。
在舊版在線考試系統(tǒng)基本具有了試題管理、試卷管理、考試管理、閱卷管理等基本功能模塊,但在業(yè)務(wù)運(yùn)行實(shí)施過(guò)程中存在一定的問(wèn)題,功能性問(wèn)題主要包括:試題管理的導(dǎo)入方式不夠靈活,在線考試的防作弊功能不強(qiáng),考試過(guò)程的監(jiān)控不足,存在的系統(tǒng)性能問(wèn)題包括部分考試參加人員較多時(shí),有學(xué)員進(jìn)入考試時(shí)看不到試卷的現(xiàn)象;少量學(xué)員參加考試時(shí),存在中途退出以及提交答案保存時(shí)易丟失的情況,通過(guò)分析,定位原因主要是因?yàn)槭褂弥悄懿呗噪S機(jī)組卷考試模式時(shí),大量考生同時(shí)進(jìn)入考試時(shí),系統(tǒng)會(huì)隨機(jī)從試題庫(kù)按設(shè)定的策略抽取試卷,在考試結(jié)束前考生提交答案時(shí)需集中將所有考生的每道題的答案寫入到數(shù)據(jù)庫(kù),上訴操作時(shí)數(shù)據(jù)庫(kù)讀寫的并發(fā)壓力都較大,要解決這些問(wèn)題,計(jì)劃從系統(tǒng)架構(gòu)、系統(tǒng)整體設(shè)計(jì)、數(shù)據(jù)庫(kù)設(shè)計(jì)及程序編碼等方面全方位對(duì)系統(tǒng)進(jìn)行優(yōu)化,提高系統(tǒng)的數(shù)據(jù)吞吐能力,提升系統(tǒng)的并發(fā)支持能力及穩(wěn)定性,以提升在線考試系統(tǒng)的整體性能,目標(biāo)是單臺(tái)考試服務(wù)器穩(wěn)定支持200 人考試提高到5000 人。
根據(jù)存在問(wèn)題、原因分析以及需求目標(biāo),我們對(duì)系統(tǒng)功能和系統(tǒng)性能進(jìn)行了改造。
系統(tǒng)采用高效靈活的 J2EE 架構(gòu)和全 B/S 模式,具有高度的可靠性、擴(kuò)展性和易用性,同時(shí)增加了用戶權(quán)限控制、訪問(wèn)控制、日志管理、登陸安全以及資源和數(shù)據(jù)等安全性處理。如圖1 所示。
通過(guò)改造系統(tǒng)全面實(shí)現(xiàn)了試題試卷信息化管理、智能化組卷、電子化考務(wù)管理、智能閱卷評(píng)判、考試過(guò)程監(jiān)控、考試結(jié)果分析,真正實(shí)現(xiàn)全過(guò)程智能化的考試系統(tǒng)。具體包括:
圖1:氣象遠(yuǎn)程教育培訓(xùn)在線考試系統(tǒng)功能結(jié)構(gòu)圖
圖2:氣象遠(yuǎn)程教育培訓(xùn)在線考試管理流程圖
2.2.1 考試題型增加
在原來(lái)選擇題、填空題、簡(jiǎn)答題、判斷題的基礎(chǔ)上了增加了連線題和閱讀理解題等新題型的支持,支持題干包含圖片和視頻。
2.2.2 題庫(kù)可共享
題庫(kù)管理模塊支持獨(dú)立的分類管理,題庫(kù)可由各級(jí)機(jī)構(gòu)自主維護(hù)管理,上級(jí)機(jī)構(gòu)的題庫(kù)還可共享給分院和省級(jí)培訓(xùn)中心使用,共享后的題庫(kù)下級(jí)機(jī)構(gòu)只具有使用權(quán)。
2.2.3 試卷管理
在原來(lái)只能按題型組卷的基礎(chǔ)上增加了多種策略組卷方式,可按題型加難度加知識(shí)點(diǎn)組合組卷。支持策略組卷,支持按必考題和按題庫(kù)比例抽題。
2.2.4 試題導(dǎo)入功能優(yōu)化
支持試題錄入、支持按導(dǎo)入批次,增加批量對(duì)試題進(jìn)行刪除等維護(hù)操作。
2.2.5 考務(wù)管理及考試監(jiān)控管理
圖3:氣象遠(yuǎn)程教育培訓(xùn)在線考試實(shí)施情況列表
增加了考生卷面差異化顯示等試卷防抄襲等功能,增加了考場(chǎng)總覽、考試延時(shí)、強(qiáng)制收卷、作弊記錄等多種管控手段,優(yōu)化改造了閱卷任務(wù)分配、成績(jī)和及格線、成績(jī)確認(rèn)、成績(jī)公布設(shè)置、補(bǔ)考設(shè)置等考務(wù)管理功能。
2.2.6 題庫(kù)統(tǒng)計(jì)功能升級(jí)。
升級(jí)后的考試系統(tǒng)可以按題型、難度、知識(shí)點(diǎn)對(duì)題庫(kù)的試題量,試題庫(kù)的使用率以及試題的答題正確率等維度進(jìn)行統(tǒng)計(jì)分析。
氣象遠(yuǎn)程教育培訓(xùn)在線考試管理流程圖如圖2 所示。
2.3.1 采用預(yù)加載發(fā)卷技術(shù)提升系統(tǒng)隨機(jī)抽題效率
使用智能策略隨機(jī)組卷模式,學(xué)員進(jìn)入考試時(shí),系統(tǒng)會(huì)隨機(jī)從指定的題庫(kù)按比例按策略抽取試題,自動(dòng)生成試卷,每位考生所抽取的試卷都不同。為緩解抽題壓力,我們?cè)O(shè)計(jì)在考試開始時(shí)間前,考試公告發(fā)布后,系統(tǒng)提前抽取加密后的幾套試卷進(jìn)行預(yù)加載,考試時(shí)間到時(shí)學(xué)員從已預(yù)先加載的試卷中自動(dòng)打開試卷,對(duì)每學(xué)員通過(guò)隨機(jī)更換題型順序及選擇題的答題選項(xiàng)的順序。實(shí)現(xiàn)了每學(xué)員進(jìn)入考試時(shí)看到的試卷不一樣的效果。預(yù)先下發(fā)加密試卷數(shù)量默認(rèn)為20 套,根據(jù)性能需要,默認(rèn)數(shù)量可調(diào)整。通過(guò)預(yù)加載發(fā)卷技術(shù)、試卷動(dòng)態(tài)壓縮技術(shù)基本解決了大并發(fā)考試時(shí)隨機(jī)抽題導(dǎo)致的考生進(jìn)入時(shí)白屏的現(xiàn)象。
2.3.2 采用分時(shí)差異化答案提交技術(shù)解決試題答案并發(fā)提交穩(wěn)定性
在考試過(guò)程中,針對(duì)考試答案保存,按照一個(gè)時(shí)間段(默認(rèn)3分鐘)為周期,在每個(gè)時(shí)段之內(nèi)考生答案暫存在瀏覽器cookie 內(nèi), cookie 滿時(shí)自動(dòng)差異化的將考生答案提交到服務(wù)器端,從而避免了同一時(shí)間并發(fā)提交,通過(guò)答題雙通道保障,確保答卷過(guò)程答題結(jié)果不丟失任何數(shù)據(jù),緩解了數(shù)據(jù)庫(kù)的并發(fā)寫入的壓力,提高系統(tǒng)性能,實(shí)現(xiàn)了考生在考試中機(jī)器掉電,斷網(wǎng)等異常情況時(shí),可馬上換電腦或網(wǎng)絡(luò)環(huán)境進(jìn)入后實(shí)時(shí)接著考試,系統(tǒng)會(huì)保存考試電腦故障前的抽到的試卷及已答題情況,另外在考試結(jié)束前如果遇到其他網(wǎng)絡(luò)問(wèn)題,系統(tǒng)也會(huì)在網(wǎng)絡(luò)恢復(fù)正常后自動(dòng)處理考生的答題結(jié)果及成績(jī)處理。
2.3.3 采用動(dòng)態(tài)線程池技術(shù)優(yōu)化了系統(tǒng)承載能力
在考生進(jìn)入考試前,通過(guò)網(wǎng)頁(yè)請(qǐng)求發(fā)送參加考試及提交答案信號(hào),系統(tǒng)將所有考生的請(qǐng)求存入網(wǎng)頁(yè)請(qǐng)求隊(duì)列,利用動(dòng)態(tài)線程池技術(shù)的伸縮性,基于線程預(yù)創(chuàng)建技術(shù),線程創(chuàng)建和銷毀本身所帶來(lái)的開銷分?jǐn)偟搅烁鱾€(gè)網(wǎng)頁(yè)請(qǐng)求的任務(wù)上,執(zhí)行次數(shù)越多,每個(gè)任務(wù)所分擔(dān)到的線程本身開銷則越小,實(shí)現(xiàn)智能緩存排隊(duì)執(zhí)行處理所有請(qǐng)求,保證所有請(qǐng)求不會(huì)因?yàn)槟硞€(gè)節(jié)點(diǎn)壓力導(dǎo)致請(qǐng)求失敗。提升了系統(tǒng)的承載能力。
2.3.4 歷史數(shù)據(jù)和實(shí)時(shí)考試數(shù)據(jù)分離保證了系統(tǒng)的高可用性
將歷史數(shù)據(jù)和實(shí)時(shí)考試數(shù)據(jù)分離,在每次考試結(jié)束時(shí),將實(shí)時(shí)考試數(shù)據(jù)及時(shí)歸檔,使得考試性能不因數(shù)據(jù)量增加而造成系統(tǒng)衰減,保障了在線考試系統(tǒng)的整體數(shù)據(jù)處理能力,明顯提升了考試系統(tǒng)性能。
通過(guò)上述設(shè)計(jì)思路,調(diào)整了系統(tǒng)架構(gòu),進(jìn)行了重新編碼實(shí)現(xiàn),完成了對(duì)舊版考試系統(tǒng)的升級(jí)改造,改造后的新版在線考試系統(tǒng)已上線運(yùn)行,系統(tǒng)較之舊版系統(tǒng)增加了靈活的題庫(kù)管理、豐富的題型、考試全流程管理支持、多種策略的組卷方式、智能化及協(xié)助閱卷、多重考務(wù)管理及監(jiān)控、多層次的權(quán)限控制以及多維度的統(tǒng)計(jì)分析等新的功能,除此之外,新在線考試系統(tǒng)優(yōu)秀的帶寬節(jié)約及良好的穩(wěn)定性及并發(fā)支持能力在新的考試業(yè)務(wù)中表現(xiàn)充分,系統(tǒng)上線后我們實(shí)際組織了多次面向全國(guó)的天氣預(yù)報(bào)、觀測(cè)、農(nóng)氣等不同專業(yè)的遠(yuǎn)程在線考試活動(dòng),系統(tǒng)表現(xiàn)卓越,性能提升明顯,故障率明顯降低,基本沒(méi)有出現(xiàn)未知問(wèn)題,通過(guò)性能測(cè)試單臺(tái)考試服務(wù)器完全能滿足5000 人并發(fā)考試的需求,通過(guò)系統(tǒng)架構(gòu)的調(diào)整升級(jí),今后隨著業(yè)務(wù)量的增加,還可輕易擴(kuò)展部署新的考試服務(wù)器,可輕易滿足未來(lái)的在線考試的業(yè)務(wù)需求。氣象遠(yuǎn)程教育培訓(xùn)在線考試實(shí)施情況列表如圖3 所示。