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