摘 要: 為了適應現代化考試管理的需要,降低考務人員工作量,并使工作效率得以提高,實現智能化操作、減少出錯率的目的,提出了一種基于S3C2440的智能考試管理系統,該系統可在脫機狀態下使用指紋識別技術進行身份驗證,自動打印出考生考試信息和準考證號碼的條形碼,從而防止考生信息誤填,方便考務人員操作。對所設計的系統進行實際環境測試,其測試結果達到了設計目標。
關鍵詞: 考試管理;指紋識別;條形碼
0 引言
隨著人們生活水平提高,教育問題得到廣泛關注,不管是學校還是社會都開設了不同類型的考試來檢驗一個人的能力和學習程度。目前大部分的考試管理還是采用較原始的人工方式,在驗證考生身份時容易出現錯誤,并出現代考等現象,這樣不僅降低考務人員工作效率,還破壞了考試的公平性[1]。而考試過程中有些考生容易填錯準考證等考試信息,讓錄入成績變得困難。本文針對以上問題,設計出一個集智能控制和身份驗證等功能為一體的智能考試管理系統,含有上位機和考試管理手持器。
1 總體設計方案
本系統由多節點的考試管理手持器和系統服務器組成,手持器的使用主要針對監考老師、考生和巡考人員三個對象。其系統框架圖如圖1所示。
考試管理手持器包括嵌入式主控制器、指紋識別模塊、條形碼打印模塊。嵌入式主控制以S3C2440嵌入式ARM處理器為核心,外接兩片SDRAM和兩片NandFlash,采用DM9000網卡與服務器進行網絡通信,可自適應10/100 Mb/s網絡,并外接可觸摸電阻屏進行人機界面交互;DSP指紋模塊和微型條碼模塊作為從設備,由嵌入式主設備通過串口發送相關命令分別對其進行控制。
系統服務器設計為并發通信服務器,可支持多客戶端網絡連接,主要提供數據服務,管理相應的考試信息,實現客戶端下載、上傳、查詢等數據交互。系統服務器和終端手持器的網絡通信通過Socket編程完成,網絡通信采用TCP/IP協議。
2 考試管理器手持器設計
考試管理手持器可作為系統的一個節點,在聯網情況下可與教務處服務器進行網絡通信,下載和上傳所在考場信息。在脫機狀態下可對考生進行指紋驗證、統計簽到人數。
設計上,以ARM平臺為硬件基礎,在其之上采用Linux操作系統,內核版本為Linux 2.6.32.2,在Qt集成開發環境中進行GUI界面設計和程序編寫,所用類庫為Qt-4.6.3。其中,考生信息、配置信息等相關數據的存儲和查詢需要用到數據庫,數據庫采用SQLite3,該數據庫是一種用于嵌入式的低資源消耗、高運行速度的輕型數據庫。
2.1 指紋識別模塊
由于指紋具有唯一、終身不變的特點,因此本系統中使用指紋識別技術驗證身份,從而防止代考現象的發生[2-3]。系統選擇了TFS-E12指紋模塊,它不僅體積小,而且識別率高。TFS-E12指紋模塊由主控板和光學采集頭組成,主控板以DSP處理器為核心,處理來自光學采集頭的指紋圖像信息,其串口通信命令格式如表1所示。
其中,CMD為命令類型,用于區別指紋的采集、識別等操作,P1、P2、P3為命令參數,Q1、Q2、Q3為應答參數,CHK為校驗位,0xF5為起始和終止結束位。在軟件設計上,通過打開Linux操作系統的串口設備文件發送8 B命令,可完成對指紋的采集和識別等功能,通過對應答命令中應答參數的解析判斷操作結果,并通過GUI界面反饋。
在指紋錄入階段,通過指紋采集頭采集的指紋圖像進行處理后指紋特征值的提取,并將其轉變成二進制數據保存在服務器中[4]。指紋簽到的實現,需要考試管理手持器先通過網絡下載對應考場的所有考生信息;或者通過Socket編程來實現,之后下載所有待比對考生的指紋特征值到指紋模塊,進而進行指紋比對。根據對指紋模塊應答參數的解析,在考試管理手持器上的數據庫文件里完成對簽到信息的統計和記錄,并通過Socket編程將簽到結果通過網絡上傳至服務器。其軟件設計流程圖如圖2所示。
2.2 條形碼打印模塊
與一般的考試管理系統相比,本文加入了條形碼打印技術,在考試過程中使用,能夠防止考生信息誤填。在考生成績錄入時,可直接掃描條形碼提高考務人員工作效率。本文選擇了微型熱敏打印模塊,其具有體積小、打印速度快、噪音小等特點。該微型熱敏打印模塊以STM32F103為控制芯片,控制打印頭完成各種打印功能,對外UART接口所提供的指令集為ESC/POS指令。考生信息打印的軟件設計,主要是在嵌入式Linux操作系統上調用open函數打開串口設備文件,通過write函數寫入ESC/POC操作指令設置字體大小、行距等相關信息并選擇是否進行條形碼打印,之后寫入要打印的字符數據,打印出帶有考生信息的條形碼。
該微型熱敏打印模塊支持的漢字編碼為GBK,而考試管理手持器上運行的Linux操作系統其采用的漢字編碼為UTF-8,在打印之前需要編碼轉換。UTF-8是一種變長的編碼方式,是Unicode編碼值的一種表現形式,它可以使用1~4 B表示一個符號,根據不同的符號而變化字節長度。因此在編碼轉換的軟件設計中,對于每個漢字,先根據UTF-8編碼方式計算出Unicode編碼值,再采用查表法,最終完成UTF-8編碼到GBK編碼的轉換,編碼轉換流程圖如圖3所示。
3 服務器設計
本文所設計的系統服務器為高并發通信服務器,運行在Fedora 9操作系統上,模擬教務處數據服務器,負責對考生考試信息、用戶認證信息等相關數據的存儲和查詢。軟件設計上,采用多線程技術,完成對多客戶端的并發連接和數據查詢,其設計框圖如圖4所示。
每個客戶端線程通過對應連接一個網絡終端考試管理手持器,將接收到的客戶端數據解包后放入共享內存A。工作線程池由一定數目的工作線程構成,從共享內存A獲取待處理數據并解析,根據解析結果完成對數據庫的操作,實現對考生信息的查詢、下載以及用戶身份的信息驗證等,最后將數據打包后放入共享內存B,由數據發送線程統一發送。
4 結論
本文設計一種針對三種用戶類別的智能考試管理系統。不同的情況中對應的用戶都能夠通過使用考試管理手持器實現對應考試中的功能。為了檢驗系統的可靠性,共模擬10個考場進行測試,其測試結果如表2所示。
分析表2可以得出,該系統在模擬不同的考場情況下都能運行良好,同時指紋誤識率(FAR)以及指紋拒真率(FRR)都較低,系統效率高,與其他考試管理系統對比有明顯的優勢[1,5-6]。
對所設計的系統進行實際環境的測試,結果顯示各項指標均能達到預期效果,能滿足考試管理高效率、安全性、智能化等需求。本文所設計的考試管理系統可適用于英語四六級考試、計算機等級考試等。
參考文獻
[1] 薛亞許,陳金玉.學校指紋考勤系統的設計與實現[J].微型機與應用,2011,30(1):90-93.
[2] 吳賢平.基于校園網身份管理的指紋考勤系統的設計與實現[J].制造業自動化,2011,33(24):141-144.
[3] 胡小虹,李見為,劉元兵,等.基于DSP的指紋識別模塊設計與實現[J].重慶大學學報(自然科學版),2004,27(9):26-28,44.
[4] 傅磊,史延東,李飛,等.一種新型指紋識別系統的設計與實現[J].電子技術應用,2010,36(2):16-18.
[5] 張惠茹.學生網上考試系統的設計與實現[J].微型機與應用,2013,32(4):6-8.
[6] 周麗莉.基于B/S結構的等級考試管理系統[J].計算機工程,2005,31(z1):195-197.