◆陳 晨 陳景亮 張金石
(海軍航空大學青島校區 山東 266041)
面向半封閉環境的網絡考試系統的設計
◆陳 晨 陳景亮 張金石
(海軍航空大學青島校區 山東 266041)
本文針對客戶機不可控的半封閉考試環境,設計開發了一套基于C/S+B/S混合結構的,兼顧了安全性和部署成本的網絡考試系統。實際應用證明,該系統適應性強、安全性高且部署方便,具有較好的實用價值。
網絡考試系統;半封閉環境;C/S; B/S;安全性;適應性
時至今日,依托現代化信息技術手段的網絡考試在教育、訓練等領域應用十分廣泛。在函授教育的集中授課、短期業務培訓、部隊的臨時組訓等實際工作中,經常會遇到一類情況,沒有專用機房和考試用計算機,需要臨時建立考試環境甚至需要使用參訓者自帶的計算機進行考試,在這種考試環境下還要確??荚嚦煽児D壳斑€沒有為這類情況設計的網絡考試系統。因而,研發一種在客戶機不可控的半封閉環境下能夠低成本快速部署又能確??荚嚦煽冋鎸嵱行У木W絡考試系統,是具有現實意義和實用價值的。
半封閉考試環境下,人員集中于一個或多個考點,依托于已有的網絡環境或臨時搭建的局域網,客戶機不統一,通常帶有無線網絡功能。在這種網絡混雜,客戶機不可控的環境下想要確保成績的真實性,必須盡可能地將非受控環境轉換為受控環境,尤其要加強對客戶機的控制。C/S架構的考試系統對客戶機的控制顯著優于B/S架構的考試系統[1],比較適合這種考試環境,而B/S架構便于擴展和維護的優點[2]又能讓考試系統有更強的適應性。綜合考慮下,將半封閉環境下的考試系統設計為C/S+B/S混合架構[3,4],由客戶端負責實現控制窗體、屏蔽熱鍵、監控取證等功能,使用TWebBrowser構件調用一個標準瀏覽器,由瀏覽器與服務器進行交互,B/S結構完成考試系統的主要業務邏輯。這種設計利用客戶端對信息安全控制能力強的特點來克服瀏覽器自身功能的限制,又利用了B/S架構的便捷性,增強了系統的適應性,在考試系統的安全性和部署成本之間找到了一個平衡點。
系統的軟件架構采取了C/S+B/S混合模式,服務器端采用Windows系列服務器,由IIS提供web服務器,數據庫為SQL Server和Access;客戶端針對Windows系列操作系統設計,主要實現對操作系統的控制和考試監視功能,客戶端在主窗體內調用瀏覽器,由B/S結構完成考試的主要業務邏輯。
考試系統的主要業務邏輯分為用戶管理、考試管理和系統管理三個模塊,每個模塊下又按功能需求分為若干個子模塊,每個子模塊再細化和實現具體的業務功能。系統的主要功能結構如圖1所示。
除了常見的考試業務邏輯和功能外,此系統為進一步增強適應性、便捷性和安全性,還做了一些特別的設計。
3.1 增強系統適用性的設計

圖1 系統主要功能模塊
(1)多種考試模式。系統提供了封閉考試、開放考試、在線訓練和單機訓練四種考試模式,可滿足多種不同環境的考試需求。在使用客戶端進行考試時,客戶機處于完全受控狀態,用戶無法使用考試系統以外的功能,此模式用于要求嚴格的考試。當服務器端關閉客戶端驗證功能后,用戶可以使用瀏覽器直接訪問考試服務器,進行開放模式考試。服務器端開放訓練功能后,用戶可以通過指定頁面自主選擇考試的科目、試卷的題型、難度、數量以及考試的時長,進行在線訓練。為了使用戶熟悉和適應封閉考試時客戶端的操作,系統提供了單機訓練版本,該版本將腳本、Access數據庫和web服務器封裝為可執行文件,除了不屏蔽系統熱鍵外,其他操作和界面與真實考試高度一致。
(2)多版本考試客戶端??荚囅到y的客戶端針對目前主流的Windoews系列操作系統設計,用戶可根據客戶機的操作系統選擇相應版本的考試客戶端。對于無法正常運行客戶端的客戶機,考試系統還專門開發了基于Windows PE系統的考試客戶端,通過使用集成了Windows PE和考試客戶端的U盤或光盤啟動客戶機,即可參加考試。這種多版本客戶端的設計,降低了考試系統對客戶機的定制要求,即使在使用參考人員自備筆記本電腦的極限情況下,也能滿足考試的安全性需求。
(3)低服務器性能需求??荚囅到y采用批量預生成試卷、預加載資源以及考前身份驗證和信息綁定等策略,將所有可以預處理的事物在備考階段完成,有效降低考試階段對服務器運算和網絡資源的需求。采用動態線程池技術提升數據庫執行并發請求的能力[5],采用存儲過程優化數據庫執行效率并降低網絡傳輸數據量,采用本地緩存技術進一步降低對網絡流量的需求并有效提升用戶體驗。以上這些策略,使得考試系統對服務器性能需求很寬松,組考者甚至可以在小規??贾性囀褂弥髁鞯腜C或筆記本充當服務器。
(4)分布式考試支持??紤]到多考場同時考試的應用環境,考試系統設計了考試服務器、監考服務器和數據匯總服務器角色,每個分考場設1臺考試服務器,1臺同步備份考試服務器(可選),主考場增設1臺服務器擔任監考服務器和數據匯總服務器角色,在條件有限的情況下也可由某臺性能最優的考試服務器兼任。監考服務器角色負責監控考生考試狀態的變化以及獲取和監察考試客戶機的實時畫面。數據匯總服務器角色負責考試成績的實時獲取和匯總。三種服務器角色可以根據考試環境靈活配置,能夠更好的滿足分布式考試的需求。
3.2 便于快速部署的設計
輕量級綠色客戶端??蛻舳瞬话魏慰荚嚇I務邏輯所需模塊,只負責對客戶機的控制和取證,因此體積很小,只有不到900K。在已有網管軟件的局域網中,可以不選配遠程監控模塊,客戶端將縮小到300K??蛻舳瞬捎妹獍惭b設計,用戶只需在考試前將客戶端下載到客戶機并運行即可進入考試模式。
3.3 進一步豐富防作弊手段
除了綜合借鑒使用現有的考試防作弊措施外,本系統著重加強了對客戶機的控制,利用客戶端將考試窗口全屏并強制置頂,屏蔽所有操作系統功能鍵,使用戶在考試階段無法手動進行與考試無關的操作;用在線輸入法替代本地輸入法,杜絕了利用輸入法預存答案的作弊方式;通過對考生信息、Mac地址和IP地址以及考生狀態的綜合驗證,防止多點登錄、替考等作弊手段。
這套針對半封閉環境的考試系統在投入使用的幾年中,在臨時組訓考核、野外組訓考核、跨省市聯合考核等多種情形下成功應用。實踐證明,該系統適應性強、易于部署、防作弊效果好,具有良好的實用和推廣價值。同時,系統在非標準化試題的處理能力等方面還存在明顯的不足,這是在后續工作中需要深入研究和改進的方向。
[1]蔡長安,王盈瑛.C/S和B/S的模式的比較和選擇[J].渭南師范學院學報,2006.
[2]徐曾春,胡平.基于B/S的三層結構網絡考試系統研制[J].計算機與現代化,2003.
[3]張友生,陳松喬.C/S與B/S混合軟件體系結構模型[J].計算機工程與應用,2002.
[4]趙志生,李桂權.一種基于B/S結構與C/S結構結合的新體系結構[J].電子技術應用,2004.
[5]許永達.基于線程池的高并發訪問考試系統設計[J].計算機與現代化,2013.