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