校园局域网考试系统

Author: 栗秀芳 Date: 2001年 14期

    网上教育以受众广、投入低、不受师资和校舍等办学基础设施等条件限制、容易开展高水平教学、教学质量相对容易保证等特点而受到教育界的广泛重视,目前国内一些重点高校的网站已经开展这方面的应用。
      本文介绍的基于Internet/Intranet网络考试系统即为网上教育的一种评价系统。与相应的CAI课件配合,它适用于任意课程的测试或考试,具有通用性强,易于实现等特点。
  #1    一、系统设计原则
      基于网络的考试系统,依据网络布局和规模,可具有不同的体系结构,主要有以下几类:
      1.基于LAN的考试系统,这种模式适用于地域范围相对集中、距离相对较近的考试环境。如地处同一实验室、同一楼房或同一校区的考试。这种考试系统的设计相对简单,容易实现,市面上已有成熟的网络教室可供选择。
      2.基于 Intranet网的考试系统。该模式适用于地域范围相对较为分散,距离较远的考试环境,如某一大学的不同校区或同城的不同大学之间的联考,结构比较复杂,实现相对困难。
      3.基于Internet网的考试系统。它适用于全国乃至全球范围的考试。如即将开始的GRE网上考试等,结构复杂,实现困难,但这种考试模式具有较大的市场潜力,并会对我国的教育产生重要影响。
      4.基于LAN的考试系统,虽然具有简单易行等优点,但同时又有适用范围较小、不便开展大范围考试的缺点。
      本文根据某学校校园局域网建设基础,主要讨论基于校园网的考试系统。
  #1    二、网络结构建设
      1.校园网建设状况
      已建成了覆盖全校的主干网络,以网络中心为中心节点,下设行政楼、综合实验楼、第二教学楼、第三教学楼、图书馆等六个主干节点。学校各部门、各实验室的计算机就近接入各主干节点,并通过DDN专线接入CERNET(中国教育和科研计算机网)。考虑到计算机与网络技术发展迅速,且性能价格比提升很快,再加上学校各部门管理人员的计算机应用水平不一致,因此采用逐步发展的策略作为校园网建设的指导思想:以校园网建设推动学校计算机应用和管理水平的提高,以师生对网络需求促进校园网的建设。
      2.校园网拓扑结构
      在校园网设计中有多种网络技术和拓扑结构可供选择,常用的有FDDI光纤分布数据接口技术;ATM异步传输模式技术;100M快速以太网(Fast EtherNet)等。基于如下原因:①学校大约有600台微机分布在实验室和办公室中,且已经有计算机系、机电系、物理系、数学系、图书馆等多个局域网系统,均采用以太网技术,运行的网络操作系统有Windows NT、Netware等;②由于快速以太网是传统10M以太网的升级,它的组网成本较低,技术成熟;③100M的传输速率可满足学校近几年对网络的需求,现在千兆以太网技术和产品已成熟,有条件时即可升级到千兆以太网,这样可充分利用已在校园网上的投资,保证了向下兼容性。最后选定快速以太网作为校园主干网,为了方便校园网的扩展,采用星型结构。(^14040201a^)
      3.网络设备及布线
      根据学校安排,网络中心放在计算机系的二楼,用光缆连接其它六幢大楼,在网络中心安装一台Catalysl3200中心交换机,配置三个光纤接入模块共六个接口,另配一个双绞线接入模块共两个100M的RJ45接口;在六个一级主干节点各配备一台Catalysl1900交换机,该交换机有两个100M、24个10M的RJ45口,其中一个通过光电收发器与网络中心主交换机相连,使学校主干网络的传输速度达到100Mbps,可满足近几年学校对网络的要求,以后随着多媒体数据传输的要求,可对主干网络设备进行升级。楼内一部分管理用机通过双绞线直接进入Catalysl1900的10M接口,使每台计算机以10M的速率接入校园网,下级交换机接入Catalysl1900的100M接口,提供给楼内的计算机机房使用。在网络中心另配交换机一台,通过双绞线接入中心交换机,以供网络中心的服务器和其它pc机接入;Cisco2511路由器也接入交换机,并通过DDN专线与CERNET相联。考虑到有一些离主干网络较远的部门和家庭用户,安装了一组Modem让用户通过电话线拨号接入。
      4.计算机系统和网络服务
      计算机服务器的性能将直接影响整个校园网的性能,根据学校的规模和应用特点,并根据各种服务器的要求,选用一台SUN ULTRA 作DNS域名服务器,由于现在邮箱用户不是很多(不足200),把E-mail邮件服务器也放在SUN ULTRA上;用一台富士通GP7000作代理服务器,用户通过代理上网,这样利用代理服务器的Cache(缓存)作用,既可加快浏览速度,缓解DDN专线的瓶颈障碍,又可节省费用,同时能对上网用户进行管理和计费;WWW服务则采用联想万全NT服务器,以方便主页设计和维护。为了保护校内计算机系统和信息的安全,在路由器上采用防火墙的技术策略,只有少数的计算机如DNS域名服务和邮件服务的主机、代理服务器、WWW服务器等能通过防火墙直接与Internet相联,其他计算机则需要通过代理服务器才能与Internet联接。
      5.校园网应用
      学校正在利用校园网开展如下几方面的应用:①建立学校网站:通过WWW信息的发布,使教工、学生及时了解学校教学、科研、后勤等信息,也使社会了解学校;②建立教务综合管理系统:提供教学计划、课程安排、学生学籍档案信息等;③图书馆电子资料查阅:通过校园网可以查阅图书馆光盘数据库中的文献资料和馆藏图书书目等内容;④提供Internet服务:开设电子信箱、浏览并下载国内外的信息;⑤网络学习:利用校园网络可调用多媒体课件和老师讲稿主动学习,学生利用网络提交作业和问题,教师通过网络答疑;⑥建立网络办公管理系统:学校通知、会议安排表、文件等从网上发布和传阅。⑦基于局域网的网络考试系统。
      本文主要介绍网络考试系统应用的设计。以实验室及各系教学计算机房作为考试考场,考试系统建立于网络中心服务器内,由考试机客户端调用。??
  #1    三、系统结构
      1)试题库管理子系统。该子系统目标是实现一个通用的试题管理系统,做到题库试题录入、试题维护和管理与试卷随机生成的一致性,主要解决的问题是网络环境下多卷并发试卷的时间与试题内容的冲突等。
      2)学籍管理子系统。学籍系统主要实现学生信息的注册,学生档案的管理和维护。
      3)成绩管理子系统。该子系统完成测试后学生的成绩评定归档管理工作,包括成绩自动跟踪录入、学生成绩图表分析及学生成绩单打印等功能。
      4)网络考场。该子系统在网上实现学生的整个考试过程。包括:学生答卷和试卷提交。
      ①考生与试卷的交互操作由解释HTML文本的浏览器完成。
      ②考生交卷后,批卷以及成绩显示则由浏览器调用服务器上的CGI程序完成,随后将结果送至浏览器显示给考生,并将相应成绩信息追加到学生成绩库存档、分析和管理。
  #1    四、关于CGI
      WEB服务器应用程序实际是一种CGI(Commom Gateway Interface)程序,其作用是允许Web服务器执行其他程序,这相当在Web服务器和其他应用程序之间架起一座桥梁,大大提高了Web服务器的功能,通过CGI这个接口,开发人员可以借助各种编程工具,编制出能够被Web服务器访问的程序,这种程序称为CGI程序或脚本。CGI程序工作在Web服务器幕后,CGI程序执行步骤如下:
      1)浏览器将学生URL(Uniform Resource Location,即统一资源定位器)的第一部分取出,然后实现与URL所指定的服务器连接;
      2)浏览器将URL的其余部分提供给服务器;
      3)服务器把URL翻译为路径和文件名;
      4)服务器识别出URL并指向学生程序;
      5)服务器初始化环境变量,启动CGI程序;
      6)CGI程序执行并读取环境变量;
      7)CGI程序发送正确MIME提供给标准输出设备并终止执行;
      8)CGI程序输出的试卷内容发送给标准输出设备并终止执行;
      9)服务器监测考试程序运行结束,关闭输出器的连接;
      10)浏览器端显示考生成绩。整个工作过程如^14040201b^。
  #1    五、程序设计
      题库管理子系统的主要功能是从试题库按命题要求随机抽取适当试题并生成一份试卷。试卷生成采用Visual Basic 5.0编程实现,当然也可采用其它HTML文本生成器如FrontPage直接生成HTML文本试卷。
      对于网络考场中CGI通信程序的设计,我们有多种工具可供选择,如Perl、C,等,此处我们使用Perl作为编程语言,主要考虑Perl具有语法简单的特点,用它编制的CGI程序具有较强的可读性。下面是为完成试卷提交、试卷批阅及反馈结果等功能的CGI程序。
      CGI程序test.pl:??
      $I = 1;
      print “Content- type: text/html\n\n”;
      print “ <title> 网上考场</title>”;
      print “来自于$ENV{'REMOTE_ADDR'}<BR>”;
      read (STDIN, $buffer,$ENV{'CONTENT_LENGTH'});?牔?
      @pairs= split(/&/,$buffer);  #因为HTML中的输入分隔符为&,所以这利用&符号分隔#
      foreach $pair(@pairs){ ??
      ($name,$value)= split(/ = /, $pair);??
       $value= ~tr/ + / /;??
      $value= ~s/ % ([a - fA - f0 - 9][a - fA -f0 - 9]) / pack(“C”,hex($1))/ eg);??
       $FORM{$ name}= $value;
       }% ANSWER=(“1”, “C”, “2”, “B”);?牔?
       $right= 0;
       $wrong= 0;
      foreach $ item(sort keys % FORM)
       {
      print “第$ item 题送出的答案:$FORM($ item)”;??
      print “标准答案:$ANSWER?焮$item}<br>”;??
      if ( $ FORM{ $ item}eq $ ANSWER{$ item})}?牐牓?
      $ right+ +;??
      {else{$ wrong+ + ;}
  ?爙
      print “< p >总共答对: right题;答错: wrong题< p > ”;
      Perl程序的简单易读特点,可见一斑。当然也可选择其它开发工具。
  #1    六、网络系统安全
      网络系统的安全在当今世界是极为敏感的课题,保证数据与信息的完整性、消除整个系统的安全威胁是每一个计算机应用系统必须考虑的问题。
      1.数据完整性威胁因素
      (1)来自人类自身方面:主要是意外操作、缺乏经验、蓄意破坏等;
      (2)来在自然灾害方面:包括地震、水灾、火灾、电磁等。
      (3)来自逻辑问题方面:主要指构成硬件系统的各个组成部分,如硬盘、芯片、主板、存储介质、电源、I/O控制器等发生故障;
      (4)来自网络故障方面:网络故障包括网络连接问题(如网桥或路由器的缓冲不够大引起的阻塞,网络接口卡和驱动程序问题以及辐射问题等。
      2.系统安全威胁因素
      (1)物理设备威胁:是指偷窃设备、直接读取设备、间谍行为等以直接方式对系统信息造成的威胁;
      (2)线缆连接威胁:包括拨号进入、连线或非连线(如磁场分析)窃听等方式窃取重要信息;
      (3)身份鉴别威胁:包括口令被破解、加密算法不周、随意设置口令等漏洞性因素;
      (4)病毒或编程威胁:病毒袭击目前已成为计算机系统的最大威胁。此外,有的编程技术人员为了某种目的,故意编写一段程序代码隐藏在系统中,对系统安全构成了威胁。
      由于网络考试技术上的特殊性,对系统的安全及时效要求较高。针对上述威胁数据及系统安全的因素,学校采取了一系列保护措施。
      1.建立一套安全措施,主要有:
      (1)建立网络用户使用网络资源的规章制度;
      (2)严格划分不同工作人员的权限;
      (3)关键信息的传输采用端到端的专用加密工具;
      (4)采用数字签名技术和第三方确认的控制措施;
      (5)加强用户管理,防止非法侵入;
      (6)加强对用户从网上卸下的软件进行的病毒检查;
      (7)定时备份,防止系统崩溃;
      (8)加强组织管理,完善各项规章制度。
      2.加强安全防护
      (1)采用防火墙技术,利用Cisco路由器自带软件来实现授权控制、数据加密、地址转换、通信记录、控制列表等功能;
      (2)保证计算机的使用场地环境及操作系统和应用系统的安全措施,采用身份验证、存取控制、执行控制、电子签名与信息加密、RSA加密算法等技术;
      3.计算机病毒防范措施:计算机病毒是当今信息世界最大的危害之一,它通过磁盘、光盘、网络进行传播,因此它是应该防护的主要威胁之一:
      (1)选用网络病毒软件和单机防病毒软件进行计算机病毒诊断及消除;
      (2)严格控制介质传播,禁止盗版光盘使用;
      (3)建立完善的用机制度、介质使用制度、周期查毒制度和信息备份制度。
  #1    七、缺点
      网络考试系统存在的主要问题是:由于在CGI方式中每执行一次交互都需启动一个外部程序,所以当参加考试人员较多时,系统的实效性较差,还需改进。虽然如此,通过CGI编程实现的考试系统由于其实现容易和维护简单而仍有较广的应用前景。