陳坡坡 文福安
摘要:隨著我國信息化技術(shù)的發(fā)展,網(wǎng)絡(luò)考試在各種培訓(xùn)考試、等級考試、認(rèn)證考試、專業(yè)考試等方面應(yīng)用都非常廣泛,且越來越呈現(xiàn)出其卓越的優(yōu)越性,各種網(wǎng)上考試系統(tǒng)隨之而產(chǎn)生。雖然在線考試系統(tǒng)的開發(fā)越來越簡單,但是在考試過程中,考場管理系統(tǒng)的作用尤為重要,針對這種情況,本文以此探討了現(xiàn)有的一些考場管理系統(tǒng),著重分析了基于Java的考場管理系統(tǒng),介紹了基于java的考場管理系統(tǒng)是如何通過thrift通信實(shí)現(xiàn)對考試過程的控制的,使得監(jiān)考人員能夠直接使用這套系統(tǒng),同時(shí)介紹了基于Java的考場管理系統(tǒng)的開發(fā)過程的難點(diǎn)研究,希望借此給開發(fā)人員提供相應(yīng)的經(jīng)驗(yàn),提高開發(fā)的效率。
關(guān)鍵詞:考場管理系統(tǒng);在線考試;java開發(fā);thrift
中圖分類號:TP39 文獻(xiàn)標(biāo)識碼:A DOI:10.3969/j.issn.1003-6970.2016.04.020
0 引言
隨著計(jì)算機(jī)應(yīng)用及網(wǎng)絡(luò)技術(shù)的迅猛發(fā)展,人們迫切要求利用計(jì)算機(jī)技術(shù)來進(jìn)行在線考試或者計(jì)算機(jī)化考試,以減輕教師的工作負(fù)擔(dān)以及提高工作效率,提高考試的質(zhì)量。從而使考試更趨于公正、客觀。由于計(jì)算機(jī)自動組卷、閱卷,不僅能節(jié)省教師大量寶貴時(shí)間,而且能徹底消除出卷人的主觀影響,考試工作更加規(guī)范化,更加客觀、真實(shí)、全面的反映教學(xué)的實(shí)際效果,有助于促進(jìn)教學(xué)質(zhì)量的提高,有助于實(shí)現(xiàn)考、教分離,促使教師嚴(yán)格按照教學(xué)大綱的要求認(rèn)真?zhèn)湔n,認(rèn)真組織教學(xué)內(nèi)容,改進(jìn)教學(xué)方法,對提高教學(xué)質(zhì)量和整體教學(xué)水平有著非常重要的意義。
目前在線考試系統(tǒng)很多,ETS(美國教育考試服務(wù)中心)舉辦的GRE(美國研究生入學(xué)考試)的計(jì)算機(jī)網(wǎng)絡(luò)化考試就是最有影響的案例,但是在線考試系統(tǒng)實(shí)現(xiàn)的功能差異很大,存在的問題也很多,例如數(shù)據(jù)庫的安全性等,考試系統(tǒng)研究開發(fā)仍任重而道遠(yuǎn)。管理系統(tǒng)的不完善導(dǎo)致了考試的漏洞,所以優(yōu)秀的考場管理系統(tǒng)的開發(fā),對考試系統(tǒng)的全面發(fā)展有重要意義。本文主要是對考場管理系統(tǒng)的關(guān)鍵技術(shù)進(jìn)行研究。
1 考場管理系統(tǒng)的關(guān)鍵步驟
1.1 考場管理系統(tǒng)與考生的通信
在考場管理系統(tǒng)配置好考務(wù)的信息后,就需要進(jìn)行的是考場管理系統(tǒng)和考生機(jī)系統(tǒng)的通信,在局域網(wǎng)條件下,使用什么樣的通信協(xié)議連接考生機(jī)系統(tǒng)和考場管理系統(tǒng),這個(gè)就需要考慮考場管理系統(tǒng)和考生機(jī)系統(tǒng)的開發(fā)語言,由于我們需要使用chrome改裝的考生機(jī)系統(tǒng),所以考生機(jī)系統(tǒng)和考場管理系統(tǒng)是兩種不同的語言,所以我們需要的通信框架就應(yīng)該是一個(gè)跨語言的通信框架,所以thrift通信框架成了我們的首選。
1.1.1 Thrift簡介(一個(gè)跨語言通信框架)
Thrift是一個(gè)跨語言的服務(wù)部署框架,最初由Facebook于2007年開發(fā),2008年進(jìn)入Apache開源項(xiàng)目。Thrift通過一個(gè)中間語言(IDL,接口定義語言)來定義RPC的接口和數(shù)據(jù)類型,然后通過一個(gè)編譯器通過編譯一個(gè)后綴名為.thrift的文件來生成指定語言的代碼(目前支持C++,Java,Python,PHP,Ruby,Erlang,Perl,Haskell,C#,Cocoa,Smalltalk和OCaml),并由生成的代碼負(fù)責(zé)RPC協(xié)議層和傳輸層的實(shí)現(xiàn):如服務(wù)端是用Thrift生成的Java代碼,客戶端使用Thrift生成的C++/C#代碼,用Thrift可以完成C++代碼到Java代碼的調(diào)用,而不需要關(guān)心其他如網(wǎng)絡(luò)通信等內(nèi)容,可以讓開發(fā)人員專注于業(yè)務(wù)實(shí)現(xiàn)。
1.2 考試信息的設(shè)置
在傳統(tǒng)的考試中,我們需要知道我們考試的時(shí)間,考試的科目,考試的場次,考試的地點(diǎn)等等,這樣我們才能確認(rèn)需要考試的是哪一門考試,在考場管理系統(tǒng)中,我們也需要知道這場考試的信息,所以需要對考試的信息進(jìn)行處理,這就需要我們對考試信息經(jīng)行設(shè)置。
1.3 考務(wù)數(shù)據(jù)的導(dǎo)入
在傳統(tǒng)的考試中,監(jiān)考教師會有這場考試的考務(wù)信息,這其中就包含了考試的時(shí)間,考試的科目,考試的場次,考試的地點(diǎn)等等,所以在考場管理系統(tǒng)中,我們也需要有考務(wù)的數(shù)據(jù),我們需要把這些考務(wù)信息導(dǎo)入到考場管理系統(tǒng)中,所以需要有考務(wù)數(shù)據(jù)的導(dǎo)入。
1.4 考試信息的確認(rèn)
傳統(tǒng)考試中,我們需要確認(rèn)一下考生信息和考務(wù)信息,確認(rèn)一下這場考試是不是我們將要進(jìn)行的考試,同時(shí)我們需要確認(rèn)一下這場考試的考生是不是需要考這場試的學(xué)生,所以在這套新的考場管理系統(tǒng)中,我們也需要確認(rèn)一下這些信息,通過對比設(shè)置的考試信息和考務(wù)數(shù)據(jù)信息我們來確認(rèn)當(dāng)場考試,通過確認(rèn)考生的信息和考務(wù)數(shù)據(jù)里的考生信息來確認(rèn)考試學(xué)生,只要這兩點(diǎn)同時(shí)滿足,我們就確定了考試的主題和考試的對象。
1.5 試卷的導(dǎo)入,安全的研究
這是考試過程中重要的環(huán)節(jié),傳統(tǒng)考試過程中最重要的環(huán)節(jié)是答題,所以對試卷的保護(hù)是尤為重要的,考場管理系統(tǒng)負(fù)責(zé)把試卷分發(fā)給每個(gè)考生,在分發(fā)的過程中就會出現(xiàn)安全的問題,所以在這個(gè)過程中就需要提供安全機(jī)制,由于不同的網(wǎng)絡(luò)設(shè)施,其安全性是不同的,因此需要根據(jù)對網(wǎng)絡(luò)的安全性要求來選擇相應(yīng)的網(wǎng)絡(luò)設(shè)施。網(wǎng)絡(luò)中有服務(wù)器、考試機(jī)、交換機(jī)、路由器等,需要針對各種設(shè)施的不同特點(diǎn)分別考慮其安全性。網(wǎng)絡(luò)中存在的安全漏洞以及安全威脅的類型,由于網(wǎng)絡(luò)的安全漏洞多種多樣,使得攻擊者可采用多種攻擊手段??荚囅到y(tǒng)中的服務(wù)器、考試客戶機(jī)的操作系統(tǒng)本身有各種各樣的漏洞,很多漏洞都能夠被黑客利用進(jìn)而對系統(tǒng)進(jìn)行控制或破壞,對操作系統(tǒng)的漏洞評估是整個(gè)安全項(xiàng)目中不可缺少的一部分。應(yīng)用服務(wù)的軟件也不可避免存在有漏洞或缺陷,而且應(yīng)用系統(tǒng)的配置也是一個(gè)關(guān)鍵的因素,如果不考慮安全的配置,很容易被黑客利用。全面的安全策略就是在不同層次上利用不同的安全技術(shù),不同成本的設(shè)備相互補(bǔ)充,從而既加強(qiáng)安全,又平衡安全中存在的矛盾。在實(shí)際網(wǎng)絡(luò)環(huán)境中應(yīng)著重考慮網(wǎng)絡(luò)的通信安全、網(wǎng)絡(luò)層的安全以及應(yīng)用安全。
1.6 通知考生登錄
這一部分內(nèi)容是對考生的控制,控制考生的登錄時(shí)間和答題時(shí)間,告訴考生什么時(shí)間可以登錄系統(tǒng),下載考試數(shù)據(jù),然后進(jìn)行答題,這就是一個(gè)控制器,控制進(jìn)程,這就相當(dāng)于傳統(tǒng)考試的發(fā)卷和通知考生可以答題了。
1.7 考場的監(jiān)控
這個(gè)模塊是對傳統(tǒng)考試的優(yōu)化,在傳統(tǒng)的考試中,監(jiān)考教師并不知道考生答了哪些題目,不了解考生的答題進(jìn)度,考場管理系統(tǒng)完全解決了這個(gè)問題,通過對考生機(jī)的監(jiān)控,我們可以知道考生的答題進(jìn)度,掌握考生的動向,同時(shí)可以在監(jiān)控過程中對違紀(jì)考生直接處理,記錄違紀(jì)考生的信息或者直接禁止違紀(jì)考生繼續(xù)答題。
1.8 導(dǎo)出考試的結(jié)果
傳統(tǒng)考試的結(jié)束就是收回試卷,考場管理系統(tǒng)的結(jié)束就是收回考試的答案,在答案的收回之后我們還需要對答案進(jìn)行處理,因?yàn)槭怯?jì)算機(jī)化考試,所以閱卷系統(tǒng)也是計(jì)算機(jī)化閱卷,我們需要把答案的格式變成閱卷系統(tǒng)需要的格式,這樣就完成了考場管理系統(tǒng)的整體流程。
1.9 考場管理系統(tǒng)的恢復(fù)問題
我們知道系統(tǒng)并不是穩(wěn)定的,在考試的過程中完全可能會出現(xiàn)考場管理系統(tǒng)的崩潰或者考場管理系統(tǒng)的不穩(wěn)定,在遇到這些問題時(shí),我們需要做的就是立即恢復(fù)系統(tǒng),使得系統(tǒng)回到崩潰前的狀態(tài),這是我們必須要能夠保證的,所以對問題的處理也是我們需要研究的內(nèi)容。
2 本考場管理系統(tǒng)的優(yōu)點(diǎn)
本研究課題主要是為了實(shí)現(xiàn)考生的計(jì)算機(jī)化答題,讓考生拋棄了傳統(tǒng)的紙筆答題,這本身就是一種進(jìn)步,其次,考場管理系統(tǒng)是為了實(shí)現(xiàn)計(jì)算機(jī)對考場的管理,這直接就降低了人的參與度,這也是一種進(jìn)步,在技術(shù)上的創(chuàng)新點(diǎn)有以下幾點(diǎn):
2.1 一種可快速部署的考場管理系統(tǒng)
現(xiàn)有的考場管理系統(tǒng)大都是以數(shù)據(jù)庫的形式保存考生數(shù)據(jù),而現(xiàn)要開發(fā)的考場管理系統(tǒng)在保存數(shù)據(jù)上主要是以文件的形式保存數(shù)據(jù),用xml格式的文件保存考生答案和考生信息,考場管理系統(tǒng)直接把這些收到的文件保存到本地,省略了數(shù)據(jù)庫的部署,加快了考場管理系統(tǒng)的部署。
2.2 一種安全的考場管理系統(tǒng)的數(shù)據(jù)處理方法
首先更加安全的是對考務(wù)數(shù)據(jù)的處理,在導(dǎo)入考務(wù)數(shù)據(jù)和試卷的信息時(shí),對這些資料經(jīng)行加密處理,使得更加安全,同時(shí)對服務(wù)器進(jìn)行加密處理,使得在工作過程中不受影響。其次安全的是對數(shù)據(jù)用xml文件形式處理,更加安全。第三,是對數(shù)據(jù)的保存更加安全,考場管理系統(tǒng)會保存一份考生的答案,同時(shí)考生機(jī)本身也對數(shù)據(jù)進(jìn)行了保存,這樣就使得數(shù)據(jù)是雙份保存,更加安全。
2.3 基于Thrift通信協(xié)議的系統(tǒng)解決方案
現(xiàn)在比較流行的通信協(xié)議還是TCP/IP協(xié)議,但是本系統(tǒng)使用的是Thrift通信協(xié)議thrift可以支持多種程序語言,例如:C++,C#,Cocoa,Erlang,Haskell,Java,Ocami,Perl,PHP,Python,Ruby,Smalltalk.在多種不同的語言之間通信thrift可以作為二進(jìn)制的高性能的通訊中間件,支持?jǐn)?shù)據(jù)(對象)序列化和多種類型的RPC服務(wù)。Thrift適用于程序?qū)Τ绦蜢o態(tài)的數(shù)據(jù)交換,需要先確定好他的數(shù)據(jù)結(jié)構(gòu),他是完全靜態(tài)化的,當(dāng)數(shù)據(jù)結(jié)構(gòu)發(fā)生變化時(shí),必須重新編輯IDL文件,代碼生成,再編譯載人的流程,跟其他IDL工具相比較可以視為是Thrift的弱項(xiàng),Thrift適用于搭建大型數(shù)據(jù)交換及存儲的通用工具,對于大型系統(tǒng)中的內(nèi)部數(shù)據(jù)傳輸相對于JSON和xml無論在性能、傳輸大小上有明顯的優(yōu)勢。而且這個(gè)系統(tǒng)在傳輸過程中傳輸?shù)闹饕莤ml文件,所以thrift通信有無與倫比的優(yōu)勢。
3 本考場管理系統(tǒng)的實(shí)現(xiàn)
考場管理系統(tǒng)本身就是從現(xiàn)實(shí)中的考試過程中抽象出來的,所以它的實(shí)現(xiàn)必須滿足現(xiàn)有考試的一切功能,所以根據(jù)現(xiàn)有考試的流程,本系統(tǒng)實(shí)現(xiàn)了這些流程,并且增加了新的功能,下面就按照考試的流程來實(shí)現(xiàn)這些功能:
4 總結(jié)與展望
本系統(tǒng)適用于局域網(wǎng)內(nèi)的高利害考試,保證了考生答案的回收與處理,通過thrift技術(shù)解決了客戶端和服務(wù)器的高并發(fā)通信問題,使得考試能夠在通信安全的情況下完成考試,但是本系統(tǒng)還有可以提高的地方,本次研究開發(fā)的考場管理系統(tǒng)只是在北京郵電大學(xué)對大學(xué)英語進(jìn)行了測試,測試的次數(shù)和范圍都比較小,具有一定的片面性。因此,希望以后能夠?qū)⒃摽紙龉芾硐到y(tǒng)放在更多的學(xué)校進(jìn)行測試,從而完善本考場管理系統(tǒng)。由于筆者本人軟件開發(fā)經(jīng)驗(yàn)有限,可能導(dǎo)致開發(fā)的系統(tǒng)功能不是那么完善,性能不是那么穩(wěn)定,希望在以后的開發(fā)過程中完善系統(tǒng)功能,進(jìn)一步增加系統(tǒng)的穩(wěn)定性。