◆陳 晨 陳景亮 張金石
(海軍航空大學(xué)青島校區(qū) 山東 266041)
面向半封閉環(huán)境的網(wǎng)絡(luò)考試系統(tǒng)的設(shè)計(jì)
◆陳 晨 陳景亮 張金石
(海軍航空大學(xué)青島校區(qū) 山東 266041)
本文針對客戶機(jī)不可控的半封閉考試環(huán)境,設(shè)計(jì)開發(fā)了一套基于C/S+B/S混合結(jié)構(gòu)的,兼顧了安全性和部署成本的網(wǎng)絡(luò)考試系統(tǒng)。實(shí)際應(yīng)用證明,該系統(tǒng)適應(yīng)性強(qiáng)、安全性高且部署方便,具有較好的實(shí)用價(jià)值。
網(wǎng)絡(luò)考試系統(tǒng);半封閉環(huán)境;C/S; B/S;安全性;適應(yīng)性
時(shí)至今日,依托現(xiàn)代化信息技術(shù)手段的網(wǎng)絡(luò)考試在教育、訓(xùn)練等領(lǐng)域應(yīng)用十分廣泛。在函授教育的集中授課、短期業(yè)務(wù)培訓(xùn)、部隊(duì)的臨時(shí)組訓(xùn)等實(shí)際工作中,經(jīng)常會遇到一類情況,沒有專用機(jī)房和考試用計(jì)算機(jī),需要臨時(shí)建立考試環(huán)境甚至需要使用參訓(xùn)者自帶的計(jì)算機(jī)進(jìn)行考試,在這種考試環(huán)境下還要確保考試成績公正。目前還沒有為這類情況設(shè)計(jì)的網(wǎng)絡(luò)考試系統(tǒng)。因而,研發(fā)一種在客戶機(jī)不可控的半封閉環(huán)境下能夠低成本快速部署又能確??荚嚦煽冋鎸?shí)有效的網(wǎng)絡(luò)考試系統(tǒng),是具有現(xiàn)實(shí)意義和實(shí)用價(jià)值的。
半封閉考試環(huán)境下,人員集中于一個(gè)或多個(gè)考點(diǎn),依托于已有的網(wǎng)絡(luò)環(huán)境或臨時(shí)搭建的局域網(wǎng),客戶機(jī)不統(tǒng)一,通常帶有無線網(wǎng)絡(luò)功能。在這種網(wǎng)絡(luò)混雜,客戶機(jī)不可控的環(huán)境下想要確保成績的真實(shí)性,必須盡可能地將非受控環(huán)境轉(zhuǎn)換為受控環(huán)境,尤其要加強(qiáng)對客戶機(jī)的控制。C/S架構(gòu)的考試系統(tǒng)對客戶機(jī)的控制顯著優(yōu)于B/S架構(gòu)的考試系統(tǒng)[1],比較適合這種考試環(huán)境,而B/S架構(gòu)便于擴(kuò)展和維護(hù)的優(yōu)點(diǎn)[2]又能讓考試系統(tǒng)有更強(qiáng)的適應(yīng)性。綜合考慮下,將半封閉環(huán)境下的考試系統(tǒng)設(shè)計(jì)為C/S+B/S混合架構(gòu)[3,4],由客戶端負(fù)責(zé)實(shí)現(xiàn)控制窗體、屏蔽熱鍵、監(jiān)控取證等功能,使用TWebBrowser構(gòu)件調(diào)用一個(gè)標(biāo)準(zhǔn)瀏覽器,由瀏覽器與服務(wù)器進(jìn)行交互,B/S結(jié)構(gòu)完成考試系統(tǒng)的主要業(yè)務(wù)邏輯。這種設(shè)計(jì)利用客戶端對信息安全控制能力強(qiáng)的特點(diǎn)來克服瀏覽器自身功能的限制,又利用了B/S架構(gòu)的便捷性,增強(qiáng)了系統(tǒng)的適應(yīng)性,在考試系統(tǒng)的安全性和部署成本之間找到了一個(gè)平衡點(diǎn)。
系統(tǒng)的軟件架構(gòu)采取了C/S+B/S混合模式,服務(wù)器端采用Windows系列服務(wù)器,由IIS提供web服務(wù)器,數(shù)據(jù)庫為SQL Server和Access;客戶端針對Windows系列操作系統(tǒng)設(shè)計(jì),主要實(shí)現(xiàn)對操作系統(tǒng)的控制和考試監(jiān)視功能,客戶端在主窗體內(nèi)調(diào)用瀏覽器,由B/S結(jié)構(gòu)完成考試的主要業(yè)務(wù)邏輯。
考試系統(tǒng)的主要業(yè)務(wù)邏輯分為用戶管理、考試管理和系統(tǒng)管理三個(gè)模塊,每個(gè)模塊下又按功能需求分為若干個(gè)子模塊,每個(gè)子模塊再細(xì)化和實(shí)現(xiàn)具體的業(yè)務(wù)功能。系統(tǒng)的主要功能結(jié)構(gòu)如圖1所示。
除了常見的考試業(yè)務(wù)邏輯和功能外,此系統(tǒng)為進(jìn)一步增強(qiáng)適應(yīng)性、便捷性和安全性,還做了一些特別的設(shè)計(jì)。
3.1 增強(qiáng)系統(tǒng)適用性的設(shè)計(jì)
圖1 系統(tǒng)主要功能模塊
(1)多種考試模式。系統(tǒng)提供了封閉考試、開放考試、在線訓(xùn)練和單機(jī)訓(xùn)練四種考試模式,可滿足多種不同環(huán)境的考試需求。在使用客戶端進(jìn)行考試時(shí),客戶機(jī)處于完全受控狀態(tài),用戶無法使用考試系統(tǒng)以外的功能,此模式用于要求嚴(yán)格的考試。當(dāng)服務(wù)器端關(guān)閉客戶端驗(yàn)證功能后,用戶可以使用瀏覽器直接訪問考試服務(wù)器,進(jìn)行開放模式考試。服務(wù)器端開放訓(xùn)練功能后,用戶可以通過指定頁面自主選擇考試的科目、試卷的題型、難度、數(shù)量以及考試的時(shí)長,進(jìn)行在線訓(xùn)練。為了使用戶熟悉和適應(yīng)封閉考試時(shí)客戶端的操作,系統(tǒng)提供了單機(jī)訓(xùn)練版本,該版本將腳本、Access數(shù)據(jù)庫和web服務(wù)器封裝為可執(zhí)行文件,除了不屏蔽系統(tǒng)熱鍵外,其他操作和界面與真實(shí)考試高度一致。
(2)多版本考試客戶端。考試系統(tǒng)的客戶端針對目前主流的Windoews系列操作系統(tǒng)設(shè)計(jì),用戶可根據(jù)客戶機(jī)的操作系統(tǒng)選擇相應(yīng)版本的考試客戶端。對于無法正常運(yùn)行客戶端的客戶機(jī),考試系統(tǒng)還專門開發(fā)了基于Windows PE系統(tǒng)的考試客戶端,通過使用集成了Windows PE和考試客戶端的U盤或光盤啟動客戶機(jī),即可參加考試。這種多版本客戶端的設(shè)計(jì),降低了考試系統(tǒng)對客戶機(jī)的定制要求,即使在使用參考人員自備筆記本電腦的極限情況下,也能滿足考試的安全性需求。
(3)低服務(wù)器性能需求??荚囅到y(tǒng)采用批量預(yù)生成試卷、預(yù)加載資源以及考前身份驗(yàn)證和信息綁定等策略,將所有可以預(yù)處理的事物在備考階段完成,有效降低考試階段對服務(wù)器運(yùn)算和網(wǎng)絡(luò)資源的需求。采用動態(tài)線程池技術(shù)提升數(shù)據(jù)庫執(zhí)行并發(fā)請求的能力[5],采用存儲過程優(yōu)化數(shù)據(jù)庫執(zhí)行效率并降低網(wǎng)絡(luò)傳輸數(shù)據(jù)量,采用本地緩存技術(shù)進(jìn)一步降低對網(wǎng)絡(luò)流量的需求并有效提升用戶體驗(yàn)。以上這些策略,使得考試系統(tǒng)對服務(wù)器性能需求很寬松,組考者甚至可以在小規(guī)??贾性囀褂弥髁鞯腜C或筆記本充當(dāng)服務(wù)器。
(4)分布式考試支持。考慮到多考場同時(shí)考試的應(yīng)用環(huán)境,考試系統(tǒng)設(shè)計(jì)了考試服務(wù)器、監(jiān)考服務(wù)器和數(shù)據(jù)匯總服務(wù)器角色,每個(gè)分考場設(shè)1臺考試服務(wù)器,1臺同步備份考試服務(wù)器(可選),主考場增設(shè)1臺服務(wù)器擔(dān)任監(jiān)考服務(wù)器和數(shù)據(jù)匯總服務(wù)器角色,在條件有限的情況下也可由某臺性能最優(yōu)的考試服務(wù)器兼任。監(jiān)考服務(wù)器角色負(fù)責(zé)監(jiān)控考生考試狀態(tài)的變化以及獲取和監(jiān)察考試客戶機(jī)的實(shí)時(shí)畫面。數(shù)據(jù)匯總服務(wù)器角色負(fù)責(zé)考試成績的實(shí)時(shí)獲取和匯總。三種服務(wù)器角色可以根據(jù)考試環(huán)境靈活配置,能夠更好的滿足分布式考試的需求。
3.2 便于快速部署的設(shè)計(jì)
輕量級綠色客戶端??蛻舳瞬话魏慰荚嚇I(yè)務(wù)邏輯所需模塊,只負(fù)責(zé)對客戶機(jī)的控制和取證,因此體積很小,只有不到900K。在已有網(wǎng)管軟件的局域網(wǎng)中,可以不選配遠(yuǎn)程監(jiān)控模塊,客戶端將縮小到300K??蛻舳瞬捎妹獍惭b設(shè)計(jì),用戶只需在考試前將客戶端下載到客戶機(jī)并運(yùn)行即可進(jìn)入考試模式。
3.3 進(jìn)一步豐富防作弊手段
除了綜合借鑒使用現(xiàn)有的考試防作弊措施外,本系統(tǒng)著重加強(qiáng)了對客戶機(jī)的控制,利用客戶端將考試窗口全屏并強(qiáng)制置頂,屏蔽所有操作系統(tǒng)功能鍵,使用戶在考試階段無法手動進(jìn)行與考試無關(guān)的操作;用在線輸入法替代本地輸入法,杜絕了利用輸入法預(yù)存答案的作弊方式;通過對考生信息、Mac地址和IP地址以及考生狀態(tài)的綜合驗(yàn)證,防止多點(diǎn)登錄、替考等作弊手段。
這套針對半封閉環(huán)境的考試系統(tǒng)在投入使用的幾年中,在臨時(shí)組訓(xùn)考核、野外組訓(xùn)考核、跨省市聯(lián)合考核等多種情形下成功應(yīng)用。實(shí)踐證明,該系統(tǒng)適應(yīng)性強(qiáng)、易于部署、防作弊效果好,具有良好的實(shí)用和推廣價(jià)值。同時(shí),系統(tǒng)在非標(biāo)準(zhǔn)化試題的處理能力等方面還存在明顯的不足,這是在后續(xù)工作中需要深入研究和改進(jìn)的方向。
[1]蔡長安,王盈瑛.C/S和B/S的模式的比較和選擇[J].渭南師范學(xué)院學(xué)報(bào),2006.
[2]徐曾春,胡平.基于B/S的三層結(jié)構(gòu)網(wǎng)絡(luò)考試系統(tǒng)研制[J].計(jì)算機(jī)與現(xiàn)代化,2003.
[3]張友生,陳松喬.C/S與B/S混合軟件體系結(jié)構(gòu)模型[J].計(jì)算機(jī)工程與應(yīng)用,2002.
[4]趙志生,李桂權(quán).一種基于B/S結(jié)構(gòu)與C/S結(jié)構(gòu)結(jié)合的新體系結(jié)構(gòu)[J].電子技術(shù)應(yīng)用,2004.
[5]許永達(dá).基于線程池的高并發(fā)訪問考試系統(tǒng)設(shè)計(jì)[J].計(jì)算機(jī)與現(xiàn)代化,2013.