摘 要:本文結(jié)合學(xué)院動(dòng)漫類專業(yè)的實(shí)際情況,詳細(xì)介紹了一種基于移動(dòng)Agent的在線考試系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn),并主要對Agent的理論和關(guān)鍵技術(shù)進(jìn)行了研究和探討。論文從在線考試系統(tǒng)的實(shí)際需求出發(fā),對系統(tǒng)應(yīng)該具備的主要功能模塊進(jìn)行了較詳細(xì)的闡述,提出一種基于移動(dòng)Agent的在線考試系統(tǒng)模型,并對系統(tǒng)的主要模塊和操作流程進(jìn)行了詳細(xì)說明。
關(guān)鍵詞:移動(dòng)Agent;考試系統(tǒng)
中圖分類號(hào):TP311.52
隨著計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)的普及和發(fā)展,很多考試都開始考慮在計(jì)算機(jī)上進(jìn)行,甚至有些類別的考試已經(jīng)完全取代了傳統(tǒng)的筆試,比如駕駛員駕照的理論考試和部分計(jì)算機(jī)應(yīng)用的考證等,但是這類考試仍然還是存在著不足,比如說考試軟件在智能性、與用戶的交互性、安全性以及大量考試數(shù)據(jù)通信等方面都存在著或多或少的問題。所以我們有必要來研究和設(shè)計(jì)一個(gè)基于計(jì)算機(jī)網(wǎng)絡(luò)的,在智能性、交互性、安全性和數(shù)據(jù)通信方面功能比較突出的在線考試系統(tǒng),這對目前的考試體系改革是有一定的現(xiàn)實(shí)意義的?;诖?,我們可以考慮用Agent技術(shù)來開發(fā)和設(shè)計(jì)這類考試系統(tǒng)以解決以往考試系統(tǒng)存在的弊端和不足。因?yàn)槟壳霸谟?jì)算機(jī)領(lǐng)域Agent技術(shù)是一個(gè)熱門的研究方向,這類技術(shù)在很多領(lǐng)域都得到了研究和運(yùn)用,實(shí)驗(yàn)證明它能有效解決上述傳統(tǒng)考試系統(tǒng)存在的弊端和不足。
1 現(xiàn)有考試系統(tǒng)中存在的問題
從目前已有的考試系統(tǒng)來看,運(yùn)用考試系統(tǒng)在線進(jìn)行考試的大多都是國內(nèi)外計(jì)算機(jī)方面的各類認(rèn)證考試,比如TOEFL考試、CSIEO認(rèn)證考試、GRE考試、計(jì)算機(jī)應(yīng)用能力等級(jí)考試、駕駛員駕照的理論考試等。
這些考試系統(tǒng)都或多或少的存在以下問題:
(1)基于C/S模式的考試系統(tǒng)。很多考試系統(tǒng),特別是某些類別考試的專用考試系統(tǒng),這類系統(tǒng)中參與計(jì)算的實(shí)體主要采用的是C/S模型,各個(gè)實(shí)體間數(shù)據(jù)交換是一種基于固定的通信協(xié)議通過遠(yuǎn)程過程調(diào)用或者消息傳遞的機(jī)制。首先,這類機(jī)制的數(shù)據(jù)交換環(huán)境是靜態(tài)的,只能調(diào)用服務(wù)器預(yù)設(shè)的服務(wù),沒辦法適應(yīng)用戶的不同需求;其次,C/S模式要在客戶機(jī)安裝固定的程序,不適合移動(dòng)計(jì)算;再者,C/S模式功能單一且難于升級(jí)和功能改造,要增加更多的服務(wù)功能必須通過改造客戶端程序或者修改服務(wù)器功能;最后,傳統(tǒng)的C/S模式所構(gòu)成的現(xiàn)代分布式信息處理系統(tǒng)靈活性較差,難以做到業(yè)務(wù)和服務(wù)的動(dòng)態(tài)重構(gòu)。
(2)基于B/S模式的考試系統(tǒng)。現(xiàn)在比較流行的分布式系統(tǒng)開發(fā)模式主要是基于B/S的,這種模式的在線考試系統(tǒng)克服了傳統(tǒng)C/S模式的許多弊端和不足,但是自身也存在或多或少的問題需要改進(jìn)和提高。首先,有些基于B/S模式的在線考試系統(tǒng)是針對單個(gè)科目或者課程的,系統(tǒng)兼容性和通用性差,不適應(yīng)其他的考試科目;其次,由于B/S結(jié)構(gòu)的客戶端是瀏覽器,因?yàn)闉g覽器功能的限制,這類考試系統(tǒng)主要只能考客觀題,比如單選、多選、判斷等,復(fù)雜題型的考試沒辦法進(jìn)行;再者,有些基于B/S模式的考試系統(tǒng)本身就是一個(gè)試卷庫,不能隨機(jī)生成多變的試卷,不能滿足不同出題者的要求;最后,隨著考試人數(shù)的增加,在線考試系統(tǒng)的數(shù)據(jù)信息處理量也會(huì)大大增加,但是服務(wù)器的處理能力有限,所以會(huì)加重服務(wù)器負(fù)擔(dān)甚至導(dǎo)致服務(wù)器癱瘓。
2 采用移動(dòng)Agent技術(shù)開發(fā)在線考試系統(tǒng)的意義
Agent技術(shù)特別是移動(dòng)Agent理論與技術(shù)的研究和應(yīng)用目前已經(jīng)很廣泛,技術(shù)相對也比較成熟,許多公司也都開始采用移動(dòng)Agent技術(shù)進(jìn)行軟件系統(tǒng)的開發(fā)。移動(dòng)Agent技術(shù)特有的特點(diǎn)在分布式軟件系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)方面具有重要的意義,它能夠有效的降低網(wǎng)絡(luò)堵塞、克服網(wǎng)絡(luò)安全隱患,特別是它異步與能夠自主運(yùn)行的特性大大提高了分布式系統(tǒng)的智能型與健壯性。
移動(dòng)Agent的特性主要表現(xiàn)在以下幾個(gè)方面:
(1)移動(dòng)Agent可以以異步的工作方式從客戶端傳輸?shù)搅硪粋€(gè)主機(jī)上,傳送完畢后客戶端就可以和網(wǎng)絡(luò)斷開直到想回收Agent或者重新傳送Agent。(2)移動(dòng)Agent可以帶著代碼從一個(gè)主機(jī)移動(dòng)到另外一個(gè)主機(jī)且無需預(yù)先安裝就能直接運(yùn)行,這將使軟件系統(tǒng)實(shí)現(xiàn)負(fù)載平衡相對來說變得容易。(3)移動(dòng)Agent能夠感知運(yùn)行環(huán)境的變化且作出相應(yīng)的處理,多個(gè)移動(dòng)Agent能夠自主調(diào)整分布來維持最優(yōu)配置。
因此,在基于網(wǎng)絡(luò)的在線考試系統(tǒng)中采用移動(dòng)Agent技術(shù)將會(huì)使考試系統(tǒng)更智能、更高效、更穩(wěn)定、功能更強(qiáng)大。
3 什么是移動(dòng)Agent
移動(dòng)Agent是一個(gè)能代表用戶利益,且具有自主性的軟件實(shí)體,它在一定的環(huán)境中能夠通過在運(yùn)行環(huán)境之間遷移和與環(huán)境的交互來完成用戶指定的任務(wù)。由此可見,移動(dòng)agent模式與傳統(tǒng)C/S模式最大的區(qū)別在于,在整個(gè)運(yùn)行和計(jì)算的環(huán)境中,計(jì)算實(shí)體對象不是靜止和被動(dòng)的,而是能夠自主遷移運(yùn)算的Agent,而且在網(wǎng)絡(luò)上不但數(shù)據(jù)可以遷移與傳遞,運(yùn)算實(shí)體對象也是可以遷移的。
同時(shí),我們也應(yīng)該把移動(dòng)Agent與遠(yuǎn)程執(zhí)行區(qū)分開,移動(dòng)Agent可以從一個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)遷移到另一個(gè)節(jié)點(diǎn),可以根據(jù)自己的需要和選擇進(jìn)行遷移;還有,移動(dòng)Agent與進(jìn)程遷移也是不同的,一般情況下進(jìn)程遷移系統(tǒng)是不允許進(jìn)程選擇遷移的地點(diǎn)和遷移的時(shí)間的,而移動(dòng)Agent是帶有狀態(tài)的,所以它可根據(jù)實(shí)際需要在任何時(shí)候進(jìn)行遷移;此外,移動(dòng)Agent可以在客戶端與服務(wù)器端之間進(jìn)行雙向遷移。
4 基于移動(dòng)Agent在線考試系統(tǒng)的模型設(shè)計(jì)
基于以上移動(dòng)Agent的多種特性,我們應(yīng)該有理由相信將移動(dòng)Agent技術(shù)運(yùn)用到在線考試系統(tǒng)中是可行的。經(jīng)研究和分析后,我們設(shè)計(jì)的基于移動(dòng)Agent的在線考試系統(tǒng)具有主Agent、考生管理Agent、考試試卷Agent、題庫管理Agent、隨機(jī)組卷Agent及身份驗(yàn)證Agent,同時(shí)還必須有一個(gè)保存考生信息和試卷信息的數(shù)據(jù)庫。為了保證數(shù)據(jù)的安全性,在考試系統(tǒng)中只允許主Agent、考生管理Agent和題庫管理Agent對該數(shù)據(jù)庫的數(shù)據(jù)進(jìn)行各種操作。
該系統(tǒng)模型主要分兩大模塊,即服務(wù)器模塊和客戶端模塊,主要作用和分工如下:
(1)服務(wù)器模塊。在這個(gè)模塊主要有兩個(gè)基本的Agent,一個(gè)是主Agent,它負(fù)責(zé)考生身份驗(yàn)證、系統(tǒng)環(huán)境配置和加載、考試信息展示、考試信息交互處理、試題綜合管理、將考生信息和考試信息提取并打包發(fā)送給客戶的移動(dòng)智能代理IMA;另一個(gè)是組卷Agent,它依據(jù)主Agent獲取的考生信息采用智能、隨機(jī)組卷算法動(dòng)態(tài)生成適合每位考試的試卷。
(2)客戶端??蛻舳四K主要有一個(gè)試卷Agent,服務(wù)器IMA進(jìn)入客戶端后,該模塊負(fù)責(zé)接收服務(wù)器信息并生成在本地運(yùn)行的試卷Agent,包括表示層界面Agent、考試過程管理Agent、試卷評(píng)分Agent和數(shù)據(jù)保存和上傳Agent等。客戶端模塊各Agent根據(jù)考生的考試進(jìn)程相互協(xié)作,共同完成考試后將考試結(jié)果交給IMA,IMA帶回服務(wù)器后集中處理。
由此可見,整個(gè)考試系統(tǒng)各Agent分工明確,各司其職,同時(shí)又相互協(xié)作,在滿足條件的情況下激發(fā)相應(yīng)的Agent進(jìn)行工作,構(gòu)成在線考試系統(tǒng)的有機(jī)的整體順利完成考試。
5 在線考試系統(tǒng)模塊設(shè)計(jì)
(1)系統(tǒng)管理模塊。系統(tǒng)管理模塊包括密碼修改和綜合管理(考生綜合管理、題庫綜合管理、試卷綜合管理、管理員綜合管理)兩大子模塊。
(2)考生管理模塊??忌芾砟K包括考生注冊、考生信息查詢等、考生賬戶信息修改等模塊。
(3)成績查詢模塊。本模塊是可以對考生基本信息、成績單和考試記錄進(jìn)行查詢。
(4)考試控制模塊??荚嚳刂颇K包括開始考試、考試過程監(jiān)控和操作、結(jié)束考試三個(gè)模塊。
(5)制卷模塊。制卷模塊主要是按照獲取的考生信息智能組卷,其中智能組卷包括按照難度、分值、考試內(nèi)容等進(jìn)行綜合評(píng)定隨機(jī)組卷。
(6)考試模塊??忌荚嚹K主要作用是考生獲取試卷、查看試卷和在考試時(shí)對試卷必要的一些基本操作。
6 移動(dòng)Agent的安全隱患
Agent是由一組執(zhí)行任務(wù)的代碼以及標(biāo)識(shí)用戶信息和Agent狀態(tài)的綜合數(shù)據(jù)組成的程序。它借助網(wǎng)絡(luò)智能地代表用戶從服務(wù)器獲取所需資源,然后適時(shí)返回給用戶。移動(dòng)Agent可以有效地減輕網(wǎng)絡(luò)數(shù)據(jù)傳輸量和服務(wù)器負(fù)載,并且可以進(jìn)行異步交互,但是這種靈活性有時(shí)候會(huì)在分布式網(wǎng)絡(luò)環(huán)境中會(huì)引起一些安全隱患。移動(dòng)Agent平臺(tái)可能會(huì)遭受到有敵意的Agent的攻擊;有時(shí)候創(chuàng)建好了Agent還沒有送出去就斷網(wǎng)或者主機(jī)死機(jī)了,主機(jī)中其他實(shí)體或者病毒也可以破壞Agent數(shù)據(jù);甚至在開放的網(wǎng)絡(luò)中Agent數(shù)據(jù)也可以被第三方實(shí)體獲取或者修改。這些安全隱患必須在我們設(shè)計(jì)和實(shí)現(xiàn)在線考試系統(tǒng)的時(shí)候引起高度重視并盡量預(yù)先處理。
參考文獻(xiàn):
[1]郭淵博,劉偉,袁順,周睿鵬.基于中間件規(guī)范的容侵應(yīng)用服務(wù)器研究與實(shí)現(xiàn)[J].高技術(shù)通訊,2010,20(7).
[2]王汝傳,徐小龍,黃海平.智能agent及其在信息網(wǎng)絡(luò)中的應(yīng)用[M].北京:郵電人學(xué)出版社,2006:39-40.
作者簡介:易燦,湖南湘陰人,講師,現(xiàn)擔(dān)任湖南大眾傳媒職業(yè)技術(shù)學(xué)院網(wǎng)絡(luò)傳媒系軟件技術(shù)教研室專任教師,主要從事計(jì)算機(jī)應(yīng)用開發(fā)和手機(jī)游戲開發(fā)的研究和教學(xué)。
作者單位:湖南大眾傳媒職業(yè)技術(shù)學(xué)院,長沙 410100
基金項(xiàng)目:此文用于湖南省教育廳課題11C0274《基于移動(dòng)Agent的無線WebService中間件應(yīng)用研究》結(jié)題。