APP下载

基于网络设备配置指令集的自动阅卷系统设计与实现

2016-11-14李伟

现代计算机 2016年28期
关键词:指令集网络设备参考答案

李伟

(怀化学院计算机科学与工程学院,怀化 418000)

基于网络设备配置指令集的自动阅卷系统设计与实现

李伟

(怀化学院计算机科学与工程学院,怀化418000)

在验收网络设备管理类课程的考试或实验时通常采取的做法是教师人工检查设备中的配置指令,这种方式不仅耗时费力而且公正性得不到保证。针对这一问题,设计并实现一种基于网络设备配置指令集的自动阅卷系统。分析网络设备指令集的特点,根据特点提出自动阅卷系统的设计方案与指令集匹配算法,介绍开发实现此系统的流程与关键技术。目前,该自动阅卷系统在本校的教学过程中已得到有效应用,能准确快速地计算出成绩,提高了阅卷效率。

网络设备;指令集;自动阅卷

怀化学院教学改革研究资助项目

0 引言

目前,普通高校网络工程专业都将“培养网络运行维护与管理能力”作为培养目标之一,很多高校开设了《交换与路由技术》、《网络设备管理》等课程,学生通过学习交换机、路由器、防火墙等网络设备的管理与维护方面的知识,从而达到设定的培养目标。交换与路由技术这类课程的实验对设备要求比较多,一个学生做实验可能就需要4台乃至更多物理设备,当一个班几十个学生一起做实验时对物理设备的需求量是巨大的,目前很多高校使用GNS3、Dynamips、Cisco Packet Tracer等模拟软件进行辅助实验,借助这些软件,学生能够同时开展学习、作业、考试,提高了教学效率,但对于学生完成的作业、考试的批改仍然需要教师逐个审查,效率非常低。本文提出了针对网络配置指令进行判定与评分的思路,介绍了自动阅卷系统的设计框架与关键实现技术。

1 网络配置指令集特点

对物理网络设备进行访问通常使用远程接入的方式,通过console接口或虚拟终端登录设备,使用超级终端、命令提示符或SecureCRT等软件登录并输入配置指令。不同厂商生产的网络设备具有不同的指令集,但完成的功能却类似,例如每家厂商都会提供查看当前已生效配置的指令,思科与锐捷厂商的指令是:show running-config,华为与华三厂商的指令是:display current-configuration,Juniper厂商的指令是:show configuration。使用思科的show running-config指令查看当前已生效配置的部分结果如图1所示。

由于配置较长,图1中给出了部分配置指令,从图中可以看出已生效指令集具备下列3个特点:

(1)指令集与格式相对固定,每行一条指令,每条指令行包含多个单词或参数,由空格分隔。

(2)每行指令皆由字母或感叹号或空格开头,其中感叹号在配置指令中是注释标识符,无功能性含义,系统实现时将利用这一点设计参考答案的格式。

(3)相邻的两个感叹号行中间的指令行是一个整体功能指令块,共同完成一项功能,这样的指令块中包含多条指令行,除第一行外其余指令行都由空格开头。

图1 思科设备show running-config指令结果

2 系统设计

针对某一个实验或测试,教师根据要求完成后将生效指令集保存为文件并在其中添加得分点,这个文件作为参考答案是评分的标准,学生完成实验后同样将生效指令集保存为文件,这个文件作为学生的答卷将要被评定分数。根据参考答案中的得分点来检查学生的答卷进行评分。

2.1参考答案的设计

教师在正确配置设备后将配置文件即show running-config指令的结果保存为文本文件,根据考核要求在每行关键指令前增加分值,因为任何指令都不会以数字开头,所以不会与指令混淆,分值与指令间不需要任何分隔符,程序处理时会使用正则表达式区分分值与指令。根据评分标准,对于包含空格开头的功能整体可以在首行设置分值也可以每一行都设置。

2.2指令文件比较

将学生提交的文件与参考答案进行比较就可以计算出学生的得分,这种比较不同于文档全文比较,因为配置文件中的一些行始终存在,不可以作为得分点,而且学生的答案中有可能出现多余指令,占用一行但不影响配置效果,如果全文匹配会存在因为错行而导致的误判。设计本系统的文件比较按照下列方式进行:

(1)在学生提交的文件中搜寻得分点

首先将参考答案中的得分点遍历存储起来,针对每个得分点在学生提交的文件中搜索匹配,如果匹配上则得分,如果没有则不得分。匹配方式采用判断字符串是否一样的方法,因为使用show running-config指令得到的配置是经过标准化的,虽然用户在配置过程中可以使用命令缩写或多种配置技巧,但标准化后的指令都会统一成一种格式,并且全部都是完整指令。

(2)整体指令块得分点处理

整体指令块是指后续存在以空格开头指令行的多条指令,例如图1中的第4-5行,7-10行和12-16行,整体指令块前后通常会由感叹号分隔,指令块的第一行通常是模式切换指令,后续以空格开始的指令则是在当前模式下的功能指令。由于指令块是一个功能整体,不可以逐条指令进行匹配记分,系统实现时采取指令块匹配方式,通过指令块内的第一条指令遍历学生文件,对匹配上的指令块动态建立指令集,指令匹配在指令集内进行,而不是整个文件。

2.3用户交互接口设计

学生在完成实验后将配置结果保存为文本文件并由表单页面提交,后台调用自动评分程序,返回得分存入数据库并在跳转页面上显示。

3 系统实现关键技术

根据参考答案中的得分点自动匹配学生试卷中答案的算法是本系统实现的关键,采用C#语言开发,基于Windows操作系统,.NET4框架。

3.1主要数据结构

考虑参考答案得分点中可能出现整体功能块,而功能块中指令数量不固定,设计了得分点类,其中包含动态数组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;}

在遍历参考答案中得分点和整体功能块时需要判断指令行是否以数字开始或者空格开始,使用了正则表达式Regex(@"^d{1,2}")与Regex(@"^s"),其中“^”匹配字符串的开始,“d”匹配数字,“{1,2}”表示重复1到2次,匹配分值最多支持2位数,“s”匹配任意的空白符。

对于单条指令的比较使用字符串对象的Equals方法,根据返回的布尔值判断是否匹配。

3.2系统实现流程

对于已经预处理的参考答案文件,系统读取每一行指令,分析得分点类型,并且将各得分点实例化为ScorePoint对象,存储在动态数组中。学生答卷文件的存储使用定长字符串数组,在预处理过程中获取文件行数作为数组长度。系统采用的阅卷原则是检查参考答案中的得分点是否在学生答卷中出现的方式,主控制流程遍历每个得分点并且对学生答卷文件进行指令匹配,根据类型是否为整体功能指令块来判断应该采用指令行匹配方式还是指令块匹配方式,无论采用那种方式,匹配上则累加此得分点,否则此得分点记0分,继续下一个得分点直到记录得分点的数组为空,最后根据总分计算所得成绩,系统流程图如图2所示。

图2 系统实现流程图

4 测试与结果

将系统应用于交换与路由课程中的9个验证性实验,涉及到锐捷与思科厂商的RG-S3760-24、RGS2628G-I、WS-C3650-24TS-L交换机、Cisco2621XM、RG-RSR20-24路由器等多种型号设备,实验内容包含静态路由、VLAN管理与配置、RIP/OSPF/ISIS动态路由协议、生成树管理等技术,学生在完成实验后提交配置文档,判定结果与人工审核一致。

5 结语

基于网络设备配置集的阅卷不同于传统的主观题或客观题阅卷,不存在相似度问题,参考答案中的指令与学生答卷中的指令都是经过网络设备标准化的输出,格式一致。答案中的得分点包含的指令具有唯一性,本系统实现的阅卷过程模拟了人工判别的人脑思路,具有很高的准确性。应用此阅卷系统能减轻教师评定作业或测试分数的负担,使学生的成绩更加公正、合理,大大提高阅卷效率,节省教学资源。

[1]张树壮,吴志刚,罗浩.一种高效的正则表达式匹配方法[J].高技术通讯,2014,6:551-557.

[2]郑志明,郑燕娥.Java语言程序设计题自动阅卷技术研究[J].福建工程学院学报,2014,12(3):237-240.

[3]陈永松.Office操作题自动阅卷组件设计[J].实验室研究与探索,2013,32(8):64-67.

[4]王力洪.基于和序列匹配的自动评分算法的研究[J].福建电脑,2015,31(12):10-12.

[5]赵骐,金卫.基于Web的自动测试系统实验教学平台设计[J].实验科学与技术,2016,14(1):75-77.

[6]王锦锦,陈宏朝.基于句框架的自动阅卷算法[J].现代计算机,2013,11:9-11

[7]潘夏福.基于字符串匹配算法的Word阅卷系统实现[J].电脑与信息技术,2013,21(3):29-30.

[8]运正佳,李轶男,杨晓春.支持带有通配符的字符串匹配算法[J].计算机科学与探索,2010,11:984-995.

[9]陈一航,薛质.一种针对网络入侵检测系统的字符串匹配算法[J].计算机应用与软件,2005,22(4):5-6.

[10]宗德才.操作题自动评分系统的设计与实现[J].计算机过程与设计,2010,31(5):1156-1160.

[11]余石泉,周肆清.正则表达式在编程题自动阅卷中的应用[J].计算机技术与发展,2007,17(7):244-246.

[12]秦学勇.基于相似度计算的主观题阅卷系统设计[J].安徽建筑工业学院学报,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-),男,河南驻马店人,讲师,硕士,研究方向为网络协议分析与测试、计算机网络安全

2016-08-03

2016-09-26

猜你喜欢

指令集网络设备参考答案
基于Kubernetes的RISC-V异构集群云任务调度系统①
网络设备的安装与调试课程思政整体设计
3DNow指令集被Linux淘汰
一种基于C# 的网络设备自动化登录工具的研制
基于Dais—CMX模型机的斐波那契数列指令集设计
2017年6月七、八年级参考答案
2017年6月九年级参考答案
参考答案
参考答案
什么是AMD64