李文江,陳詩琴
(1.重慶文理學院機電工程學院,重慶 永川 402160;2.重慶文理學院圖書館,重慶 永川 402160)
考試是檢查教學效果、評價學生成績的重要手段,是教學工作的必要環(huán)節(jié).閉卷考試作為考試的常規(guī)形式,組織、實施的規(guī)范化、合理化、科學化有利于促進教學目標的實現(xiàn).考試管理工作中考生身份驗證是嚴肅考試紀律、杜絕考試作弊、保證考試公平的重要工作.在實際工作中,考生身份需在考試入場時憑準考證和有效身份證件進行驗證,但因入場時間短、考生多等原因帶來考生身份核實的困難.如何快速、可靠地對考生進行身份驗證是考試管理工作需要認真對待的問題[1].隨著移動互聯(lián)網的發(fā)展,二維碼和智能手機的結合使得二維碼在物流、商業(yè)和教育等行業(yè)得到了廣泛應用.本文引入二維碼解決考生身份驗證的問題.
目前,考生身份驗證主要是憑考生紙質準考證和有效身份證件,通過人工檢查判斷驗證.其中存在以下不足:
(1)紙質準考證的制作與發(fā)放工作量大.每次考試都要制作、打印準考證,并加蓋考試相關公章,然后再發(fā)放到考生手中.考試規(guī)模越大,這項工作量就越大.
(2)紙質準考證容易仿造.有的紙質準考證上包含了考生照片(打印或粘貼上去),有的紙質準考證則沒有包含考生照片.無論有照片還是無照片的準考證,都容易被想找人代考的考生仿造.考試舞弊嚴重損害了考試結果的公正性,嚴重影響到考試的信譽和有效性.傳統(tǒng)的紙質準考證方案弊端在于沒有很好地把住假身份證報名考試關,也沒有很好的準考證防偽手段.
(3)紙質準考證易損壞或丟失.紙質準考證若丟失或損壞,考試前需要及時補辦,否則將會影響考生進行正??荚?這給考試組織部門增加了工作量.
(4)紙質準考證和有效身份證件缺一不可.如果兩者缺一都不能參加考試.
二維碼作為一種全新的信息存儲、傳遞和識別技術,它的應用極大地提高了數據采集和信息處理的速度.根據識讀應用的業(yè)務實現(xiàn)方式,它可分為在線應用和離線應用兩種[2].
(1)在線應用
二維碼圖形存儲的只是索引號,配合存儲索引號的網絡數據庫,從中檢索出與二維碼中索引號唯一對應的內容.這類業(yè)務的特點是:二維碼中存儲的不是實際內容,而是一個索引號,終端用戶使用客戶端軟件掃描識別二維碼圖形后,必須上網到數據庫中查詢,獲取對應的內容進行業(yè)務操作.
(2)離線應用
二維碼圖形存儲的是實際內容,終端用戶使用客戶端軟件掃描識別二維碼圖形后,無需上網即可直接獲取二維碼圖形存儲的內容,然后進行后續(xù)的業(yè)務操作.
常見的二維碼有PDF417、QR Code、Code 49、Code 16K、Code One 等.其中,QR Code 二維碼信息容量大,可靠性高,能有效表示漢字及圖像信息,有保密防偽性強、超高速全方位識讀、糾錯能力強等特點,具有良好的應用前景.
根據實際應用和設計開發(fā)的成本需求,本文選擇QR Code 二維碼的在線應用方式,主要有以下兩個原因:
(1)在線應用門檻低.離線應用需要將考生姓名、準考證號、考試科目、考試時間、考試地點、考生照片等信息存儲到二維碼圖形中.圖片需要進行Base64 編碼轉換成字符串.這樣生成的二維碼圖片會大,不僅會影響識別速度,而且需要專用識別軟件還原考生照片.
(2)在線應用的安全性高.如果對離線應用的二維碼圖形中存儲的數據不進行加密,其中考生圖片數據很容易被偽造替換.如果進行了加密,還需要專用的識別軟件進行識別后解密.
另外,離線識別端軟件要進行有針對性的專門設計,然后進行安裝識別.但離線應用的最大優(yōu)點是不需要網絡查詢系統(tǒng)支持,不會消耗數據流量.為了彌補在線應用需要流量的缺點,可在考場區(qū)域安裝無線路由器.
建立一個準考證信息查詢網絡系統(tǒng),將準考證文字信息存儲在數據庫中,考生的電子照片以準考證號命名并保存到指定的文件目錄中.通過準考證號直接查詢獲取準考證的詳細信息.其中,考生照片與考生本人進行對比,起到身份驗證的作用.二維碼圖形中只需儲存網絡查詢系統(tǒng)地址和考生準考證號即可.在考試時,考生只需要出示準考證二維碼圖片,通過掃描識讀二維碼自動連接到查詢系統(tǒng)上進行查詢并返回結果[3-4],從而使考生只憑二維碼準考證就能參加考試.
本文設計準考證二維碼的總體框架如圖1所示.整個設計分為3 個過程:
圖1 二維碼生成、發(fā)布與識別
將考生準考證的準考證號、姓名、考試科目、考試時間、考試地點等信息導入數據庫中.利用開源QR Code 類庫設計二維碼生成程序.將“考生準考證信息查詢地址”字符串送入程序中,批量生成每個考生的二維碼圖片.
將生成的二維碼圖片發(fā)布在建立的WAP 網站上,方便考生自行下載.考生將下載的圖片保存在手機中或者直接打印使用.
監(jiān)考教師用帶攝像頭的智能手機,安裝通用二維碼識讀軟件,并將手機網絡開啟.考生進入考場時,出示準考證二維碼圖片,監(jiān)考教師的手機對準二維碼圖片進行掃描識別,根據識別出的信息自動打開WAP 網站查詢考生準考證信息.
選擇Visual Studio 2008 作為開發(fā)工具,基于Microsoft .NET Framework 3.5 框架,選擇VB.NET 作為開發(fā)語言,采用Microsoft SQL Server 2005 作為后臺數據庫,選擇LINQ to SQL 對數據庫進行建模.其中,采用Windows Form 應用程序方式實現(xiàn)二維碼的批量生成和考生電子照片縮小處理,采用WAP 網站方式實現(xiàn)二維碼的發(fā)布與準考證信息查詢.
由于很多考試都有自己的考試系統(tǒng),為了不同考試都能方便地生成準考證的二維碼,故建立獨立數據庫,將其它考試系統(tǒng)的準考證信息導入該系統(tǒng)的準考證信息記錄表(student_zkz)中即可.student_zkz 各字段如表1所示.
表1 student_zkz 表各字段說明
在Windows Form 應用程序和WAP 網站項目中,新建一個LINQ to SQL 類文件(DataClasses1.dbml),然后添加數據庫連接,從數據庫中拖動準考證信息記錄表到O/R 設計器中,自動創(chuàng)建映射到數據庫中student_zkz 表的實體類,如圖2所示.
圖2 實體類視圖
在程序中直接調用實體類即可,省去寫SQL查詢語句字符串的麻煩.通過以下程序代碼,即可獲取student_zkz 表中的數據.
考生近期照一般采用480 ×640 像素大小進行統(tǒng)一拍攝,這樣的照片在手機上顯示會過大,下載速度也較慢,所以需要把照片縮小.本文將照片調整為120 ×160 像素,更方便手機查看照片.把調整程序封裝為PhotoSizeChange 過程.該過程有兩個輸入參數:原照片路徑和考生準考生號碼.該過程代碼如下:
循環(huán)讀取每個考生原照片路徑和準考證號,并送入PhotoSizeChange 過程中執(zhí)行調整,即可批量完成所有考生圖片大小調整,把調整后的照片放在WAP 網站pic 子目錄下.
(1)QR Code 開源類庫修改
選擇QR Code 開源類庫設計二維碼的生成程序.原類庫對中文支持不是很好,對中文字符生成的二維碼識別出來是亂碼,需要對類庫的編碼方式進行修改:
①將QRCodeEncoder.cs 文件中MemoryStream memoryStream=new MemoryStream(Resources.GetResource(fileName))修改為
MemoryStream memoryStream=New MemoryStream((byte[])Resources.ResourceManager.GetObject(fileName));
②將QRCodeEncoder.cs 和QRCodeDecoder.cs文件中Encoding.Unicode 替換成 Encoding.UTF8;
③將util 目錄下QRCodeUtility.cs 文件中UnicodeEncoding encoding = new UnicodeEncoding()替換成UTF8Encoding encoding = new UTF8Encoding().
最后重新生成ThoughtWorks.QRCode.dll類庫文件.
(2)生成程序設計
準考證信息查詢方法采用GET 方式傳遞準考證號,查詢獲取準考證詳細信息.考生的查詢地址由兩部分構成:查詢頁面地址+準考證號,如:http://10.62.4.6/Default.aspx?zkzh =“2013021001”.二維碼圖形中存儲的是以上形式的地址字符串.每個考生查詢地址的變化只涉及準考證號.整個二維碼的生成流程如圖3所示[5-6].
圖3 生成考生二維碼的程序流程
根據準考證信息查詢地址的字符數,選擇QR Code 參數值如表2所示.最多可以容納122 個英文字母與數字.這足以滿足實際編碼需求.
表2 QR Code 參數值
在程序中引用ThoughtWorks.QRCode.dll 類庫,調用QRCodeEncoder 中提供的API 進行編碼,將查詢地址字符串生成QR Code 二維碼,并保存二維碼圖片.將生成程序封裝為QRCodeEncode 過程.該過程代碼如下:
循環(huán)讀取每個考生的準考證號,并送入QRCodeEncode 過程中執(zhí)行,即可批量生成所有考生的二維碼圖片,并保存在WAP 網站QRpic 子目錄下.
(1)添加WAP 模板插件
在Microsoft Visual Studio 2008 環(huán)境中開發(fā)WAP 網站,需下載WAP 模板插件,解壓后復制到[My Document]Visual Studio 2008TemplatesItemTemplates下.新創(chuàng)建Web 網站后,刪除默認的Web.config,添加新項目,選擇“我的模板”下的“Mobile Web Configuration File”,重新添加WAP 的Web.config;選擇“Mobile Web Form”,創(chuàng)建WAP 頁面.
(2)建立WAP 頁面
整個WAP 網站只有二維碼發(fā)布和準考證詳細信息查詢兩個頁面.它們所顯示的內容基本一樣,都是以準考證號為查詢條件.在頁面上放置5 個mobile:Label控件,顯示準考證文字信息;放置2 個mobile:Image 控件,顯示考生照片和二維碼圖片.
兩個頁面的查詢方式不一樣.發(fā)布頁面增加mobile:TextBox 控件,用于考生輸入準考證號碼,再放置mobile:Command 按鈕.在按鈕事件中執(zhí)行查詢,顯示出二維碼圖片,進行下載.信息查詢頁面是在Page_Load 事件中接收Request.Query-String(“zkzh”)獲取的準考證號,在Page_Load-Complete 事件里執(zhí)行查詢,顯示出考生照片.
(3)二維碼識別
監(jiān)考教師手機上安裝一種二維碼識別軟件后,對準考生二維碼進行掃描,即可識別出考生準考證信息查詢的地址,并自動打開準考證詳細信息查詢頁面.頁面通過Request.QueryString(“zkzh”)獲取準考證號后執(zhí)行查詢,將查詢結果(包括考生照片)顯示在手機屏幕上,方便監(jiān)考教師與考生本人進行核對.
WAP 網站以Windows 2003 Server 服務器、Microsoft .NET Framework 3.5 框架、IIS 6.0 和Microsoft SQL Server 2005 為運行環(huán)境.由于WAP網站暫時配置在校園內網服務器上,只能采用校內無線WiFi 進行測試.
(1)二維碼圖片下載
在公共場合和考室門口張貼準考證二維碼下載地址的二維碼如圖4所示,
圖4 下載地址
考生手機對著下載地址二維碼進行掃描,自動訪問下載頁面,輸入自己的準考證號后點擊“確定”查詢.如輸入“2013021003”,查詢結果如圖5所示.
圖5 2013021003 考生的查詢結果
(2)二維碼識別
監(jiān)考教師打開手機二維碼掃描軟件,攝像頭對準二維碼掃描,識別出查詢地址后,自動打開手機瀏覽器查詢準考證詳細信息,如圖6所示.
圖6 考生準考證詳細信息
從測試結果可以看出,該系統(tǒng)的應用較好地彌補了紙質準考證加有效身份證件進行身份驗證模式的不足,給考試組織部門和考生都提供了巨大方便,取得了以下效果:
(1)有效避免了少數學生想通過仿造紙質準考證和有效身份證件代考的目的,確保了考試的公平、公正.
(2)避免了考生紙質準考證或有效身份證件丟失影響正??荚嚨那闆r發(fā)生,為考生提供了方便.
(3)減少了監(jiān)考教師人工檢查證件驗證考生身份的環(huán)節(jié),排除了人為失誤的因素,縮短了考生入場時間.
(4)避免了紙質準考證的制作與發(fā)放、考前臨時補辦準考證和考試中處理代考等工作,大大減輕考試組織部門的工作量,提高了工作效率.
本文基于QR Code 開源類庫設計并實現(xiàn)了二維碼在準考證中的應用,系統(tǒng)介紹了二維碼在考試中的需求分析、技術思路、整體設計框架和最終實現(xiàn)效果.為使其發(fā)揮更大的作用,可以將二維碼應用到各種大型考試中,并加入考試地點導航和考試相關問題提示等功能,極大方便考試組織部門和考生.
[1]杜飛,鄭貴花.對高??荚嚬芾憩F(xiàn)狀的分析與建議[J].佳木斯教育學院學報,2013(9):195 -196.
[2]楊彥格,杜杏蘭.二維碼業(yè)務實現(xiàn)及其典型應用[J].信息通信技術,2008(1):23 -30.
[3]汪琪.淺議二維碼技術在高校信息化建設中的應用[J].湖北經濟學院學報:人文社會科學版,2012(7):173 -174.
[4]唐燕.手機二維碼在校園信息化中的應用[J].數字技術與應用,2011(6):168,170.
[5]于彤.基于QR 二維碼的高校身份驗證系統(tǒng)的研究[J].吉林省教育學院學報(中旬),2012(3):111-113.
[6]張軍紅.基于二維碼識讀的集中式校園門禁系統(tǒng)[J].福建電腦,2011(12):82 -84,107.