李偉
(懷化學院計算機科學與工程學院,懷化 418000)
基于網(wǎng)絡(luò)設(shè)備配置指令集的自動閱卷系統(tǒng)設(shè)計與實現(xiàn)
李偉
(懷化學院計算機科學與工程學院,懷化418000)
在驗收網(wǎng)絡(luò)設(shè)備管理類課程的考試或?qū)嶒灂r通常采取的做法是教師人工檢查設(shè)備中的配置指令,這種方式不僅耗時費力而且公正性得不到保證。針對這一問題,設(shè)計并實現(xiàn)一種基于網(wǎng)絡(luò)設(shè)備配置指令集的自動閱卷系統(tǒng)。分析網(wǎng)絡(luò)設(shè)備指令集的特點,根據(jù)特點提出自動閱卷系統(tǒng)的設(shè)計方案與指令集匹配算法,介紹開發(fā)實現(xiàn)此系統(tǒng)的流程與關(guān)鍵技術(shù)。目前,該自動閱卷系統(tǒng)在本校的教學過程中已得到有效應(yīng)用,能準確快速地計算出成績,提高了閱卷效率。
網(wǎng)絡(luò)設(shè)備;指令集;自動閱卷
懷化學院教學改革研究資助項目
目前,普通高校網(wǎng)絡(luò)工程專業(yè)都將“培養(yǎng)網(wǎng)絡(luò)運行維護與管理能力”作為培養(yǎng)目標之一,很多高校開設(shè)了《交換與路由技術(shù)》、《網(wǎng)絡(luò)設(shè)備管理》等課程,學生通過學習交換機、路由器、防火墻等網(wǎng)絡(luò)設(shè)備的管理與維護方面的知識,從而達到設(shè)定的培養(yǎng)目標。交換與路由技術(shù)這類課程的實驗對設(shè)備要求比較多,一個學生做實驗可能就需要4臺乃至更多物理設(shè)備,當一個班幾十個學生一起做實驗時對物理設(shè)備的需求量是巨大的,目前很多高校使用GNS3、Dynamips、Cisco Packet Tracer等模擬軟件進行輔助實驗,借助這些軟件,學生能夠同時開展學習、作業(yè)、考試,提高了教學效率,但對于學生完成的作業(yè)、考試的批改仍然需要教師逐個審查,效率非常低。本文提出了針對網(wǎng)絡(luò)配置指令進行判定與評分的思路,介紹了自動閱卷系統(tǒng)的設(shè)計框架與關(guān)鍵實現(xiàn)技術(shù)。
對物理網(wǎng)絡(luò)設(shè)備進行訪問通常使用遠程接入的方式,通過console接口或虛擬終端登錄設(shè)備,使用超級終端、命令提示符或SecureCRT等軟件登錄并輸入配置指令。不同廠商生產(chǎn)的網(wǎng)絡(luò)設(shè)備具有不同的指令集,但完成的功能卻類似,例如每家廠商都會提供查看當前已生效配置的指令,思科與銳捷廠商的指令是:show running-config,華為與華三廠商的指令是:display current-configuration,Juniper廠商的指令是:show configuration。使用思科的show running-config指令查看當前已生效配置的部分結(jié)果如圖1所示。
由于配置較長,圖1中給出了部分配置指令,從圖中可以看出已生效指令集具備下列3個特點:
(1)指令集與格式相對固定,每行一條指令,每條指令行包含多個單詞或參數(shù),由空格分隔。
(2)每行指令皆由字母或感嘆號或空格開頭,其中感嘆號在配置指令中是注釋標識符,無功能性含義,系統(tǒng)實現(xiàn)時將利用這一點設(shè)計參考答案的格式。
(3)相鄰的兩個感嘆號行中間的指令行是一個整體功能指令塊,共同完成一項功能,這樣的指令塊中包含多條指令行,除第一行外其余指令行都由空格開頭。
圖1 思科設(shè)備show running-config指令結(jié)果
針對某一個實驗或測試,教師根據(jù)要求完成后將生效指令集保存為文件并在其中添加得分點,這個文件作為參考答案是評分的標準,學生完成實驗后同樣將生效指令集保存為文件,這個文件作為學生的答卷將要被評定分數(shù)。根據(jù)參考答案中的得分點來檢查學生的答卷進行評分。
2.1參考答案的設(shè)計
教師在正確配置設(shè)備后將配置文件即show running-config指令的結(jié)果保存為文本文件,根據(jù)考核要求在每行關(guān)鍵指令前增加分值,因為任何指令都不會以數(shù)字開頭,所以不會與指令混淆,分值與指令間不需要任何分隔符,程序處理時會使用正則表達式區(qū)分分值與指令。根據(jù)評分標準,對于包含空格開頭的功能整體可以在首行設(shè)置分值也可以每一行都設(shè)置。
2.2指令文件比較
將學生提交的文件與參考答案進行比較就可以計算出學生的得分,這種比較不同于文檔全文比較,因為配置文件中的一些行始終存在,不可以作為得分點,而且學生的答案中有可能出現(xiàn)多余指令,占用一行但不影響配置效果,如果全文匹配會存在因為錯行而導致的誤判。設(shè)計本系統(tǒng)的文件比較按照下列方式進行:
(1)在學生提交的文件中搜尋得分點
首先將參考答案中的得分點遍歷存儲起來,針對每個得分點在學生提交的文件中搜索匹配,如果匹配上則得分,如果沒有則不得分。匹配方式采用判斷字符串是否一樣的方法,因為使用show running-config指令得到的配置是經(jīng)過標準化的,雖然用戶在配置過程中可以使用命令縮寫或多種配置技巧,但標準化后的指令都會統(tǒng)一成一種格式,并且全部都是完整指令。
(2)整體指令塊得分點處理
整體指令塊是指后續(xù)存在以空格開頭指令行的多條指令,例如圖1中的第4-5行,7-10行和12-16行,整體指令塊前后通常會由感嘆號分隔,指令塊的第一行通常是模式切換指令,后續(xù)以空格開始的指令則是在當前模式下的功能指令。由于指令塊是一個功能整體,不可以逐條指令進行匹配記分,系統(tǒng)實現(xiàn)時采取指令塊匹配方式,通過指令塊內(nèi)的第一條指令遍歷學生文件,對匹配上的指令塊動態(tài)建立指令集,指令匹配在指令集內(nèi)進行,而不是整個文件。
2.3用戶交互接口設(shè)計
學生在完成實驗后將配置結(jié)果保存為文本文件并由表單頁面提交,后臺調(diào)用自動評分程序,返回得分存入數(shù)據(jù)庫并在跳轉(zhuǎn)頁面上顯示。
根據(jù)參考答案中的得分點自動匹配學生試卷中答案的算法是本系統(tǒng)實現(xiàn)的關(guān)鍵,采用C#語言開發(fā),基于Windows操作系統(tǒng),.NET4框架。
3.1主要數(shù)據(jù)結(jié)構(gòu)
考慮參考答案得分點中可能出現(xiàn)整體功能塊,而功能塊中指令數(shù)量不固定,設(shè)計了得分點類,其中包含動態(tài)數(shù)組ArrayList成員變量m_LineList保存指令集,使用整形變量保存得分點分值。具體代碼如下所示:class ScorePoint
{
private int m_score;
private ArrayList m_LineList=new ArrayList();
public ScorePoint(int iscore){
m_score=iscore;
}
public void AddString(string str){
m_LineList.Add(str);
}
public int score{
get{return m_score;}
set{m_score=value;}
}
public ArrayList linelist{
get{return m_LineList;}
set{m_LineList=value;}
}
}
在遍歷參考答案中得分點和整體功能塊時需要判斷指令行是否以數(shù)字開始或者空格開始,使用了正則表達式Regex(@"^d{1,2}")與Regex(@"^s"),其中“^”匹配字符串的開始,“d”匹配數(shù)字,“{1,2}”表示重復1到2次,匹配分值最多支持2位數(shù),“s”匹配任意的空白符。
對于單條指令的比較使用字符串對象的Equals方法,根據(jù)返回的布爾值判斷是否匹配。
3.2系統(tǒng)實現(xiàn)流程
對于已經(jīng)預處理的參考答案文件,系統(tǒng)讀取每一行指令,分析得分點類型,并且將各得分點實例化為ScorePoint對象,存儲在動態(tài)數(shù)組中。學生答卷文件的存儲使用定長字符串數(shù)組,在預處理過程中獲取文件行數(shù)作為數(shù)組長度。系統(tǒng)采用的閱卷原則是檢查參考答案中的得分點是否在學生答卷中出現(xiàn)的方式,主控制流程遍歷每個得分點并且對學生答卷文件進行指令匹配,根據(jù)類型是否為整體功能指令塊來判斷應(yīng)該采用指令行匹配方式還是指令塊匹配方式,無論采用那種方式,匹配上則累加此得分點,否則此得分點記0分,繼續(xù)下一個得分點直到記錄得分點的數(shù)組為空,最后根據(jù)總分計算所得成績,系統(tǒng)流程圖如圖2所示。
圖2 系統(tǒng)實現(xiàn)流程圖
將系統(tǒng)應(yīng)用于交換與路由課程中的9個驗證性實驗,涉及到銳捷與思科廠商的RG-S3760-24、RGS2628G-I、WS-C3650-24TS-L交換機、Cisco2621XM、RG-RSR20-24路由器等多種型號設(shè)備,實驗內(nèi)容包含靜態(tài)路由、VLAN管理與配置、RIP/OSPF/ISIS動態(tài)路由協(xié)議、生成樹管理等技術(shù),學生在完成實驗后提交配置文檔,判定結(jié)果與人工審核一致。
基于網(wǎng)絡(luò)設(shè)備配置集的閱卷不同于傳統(tǒng)的主觀題或客觀題閱卷,不存在相似度問題,參考答案中的指令與學生答卷中的指令都是經(jīng)過網(wǎng)絡(luò)設(shè)備標準化的輸出,格式一致。答案中的得分點包含的指令具有唯一性,本系統(tǒng)實現(xiàn)的閱卷過程模擬了人工判別的人腦思路,具有很高的準確性。應(yīng)用此閱卷系統(tǒng)能減輕教師評定作業(yè)或測試分數(shù)的負擔,使學生的成績更加公正、合理,大大提高閱卷效率,節(jié)省教學資源。
[1]張樹壯,吳志剛,羅浩.一種高效的正則表達式匹配方法[J].高技術(shù)通訊,2014,6:551-557.
[2]鄭志明,鄭燕娥.Java語言程序設(shè)計題自動閱卷技術(shù)研究[J].福建工程學院學報,2014,12(3):237-240.
[3]陳永松.Office操作題自動閱卷組件設(shè)計[J].實驗室研究與探索,2013,32(8):64-67.
[4]王力洪.基于和序列匹配的自動評分算法的研究[J].福建電腦,2015,31(12):10-12.
[5]趙騏,金衛(wèi).基于Web的自動測試系統(tǒng)實驗教學平臺設(shè)計[J].實驗科學與技術(shù),2016,14(1):75-77.
[6]王錦錦,陳宏朝.基于句框架的自動閱卷算法[J].現(xiàn)代計算機,2013,11:9-11
[7]潘夏福.基于字符串匹配算法的Word閱卷系統(tǒng)實現(xiàn)[J].電腦與信息技術(shù),2013,21(3):29-30.
[8]運正佳,李軼男,楊曉春.支持帶有通配符的字符串匹配算法[J].計算機科學與探索,2010,11:984-995.
[9]陳一航,薛質(zhì).一種針對網(wǎng)絡(luò)入侵檢測系統(tǒng)的字符串匹配算法[J].計算機應(yīng)用與軟件,2005,22(4):5-6.
[10]宗德才.操作題自動評分系統(tǒng)的設(shè)計與實現(xiàn)[J].計算機過程與設(shè)計,2010,31(5):1156-1160.
[11]余石泉,周肆清.正則表達式在編程題自動閱卷中的應(yīng)用[J].計算機技術(shù)與發(fā)展,2007,17(7):244-246.
[12]秦學勇.基于相似度計算的主觀題閱卷系統(tǒng)設(shè)計[J].安徽建筑工業(yè)學院學報,2010,4:77-80.
Network Device;Instruction Set;Automatic Marking
Design and Implement of Automatic Marking System Based on Network Device Instruction Set
LI Wei
(Department of Computer Science and Engineering,Huaihua University,Huaihua 418000)
In the teaching process of some courses like Network Device Management,the common inspection way is by human when teachers check the results of test or experiment,it is hard and time-consuming and the fairness cannot be guaranteed.In order to solve this problem,designs an automatic marking system based on network device instruction set.Gives the analysis about features of network device instruction set,puts forward an automatic marking system design proposal and algorithm to match instruction set,introduces the process of implementation and the key techniques.Currently,this system has been effectively applied in the teaching process of our courses,which gets the mark quickly and accurately and improves the efficiency of paper inspection.
1007-1423(2016)28-0073-04
10.3969/j.issn.1007-1423.2016.28.020
李偉(1979-),男,河南駐馬店人,講師,碩士,研究方向為網(wǎng)絡(luò)協(xié)議分析與測試、計算機網(wǎng)絡(luò)安全
2016-08-03
2016-09-26