NCRE考试系统环境批量自动化部署方案的研究与实现

时间:2022-08-09 10:44:12

NCRE考试系统环境批量自动化部署方案的研究与实现

摘 要:针对目前全国计算机等级考试(NCRE)系统环境部署中人工逐台配置考试机工作繁琐,各类网络同传功能均无法实现不同考试机上自动生成K用户以及自动映射网络驱动器K盘的实际问题,文章提出了一种基于批处理与AutoIt脚本程序相结合,同时借助于网络同步软件实现NCRE考试系统的批量自动化安装与环境设置同时进行的高效部署方案,从而在实际应用中大大提高了工作效率。

关键词:NCRE;批处理AutoIt;批量;自动化

中图分类号:TP311 文献标志码:A 文章编号:1673-8454(2016)23-0078-04

一、引言

全国计算机等级考试(National Computer Rank Examination,简称NCRE)是由国家教育部考试中心主办,面向社会,用于考查应试人员计算机应用知识与技能的全国性计算机水平考试体系。NCRE的考核内容是根据社会各个部门应用计算机的不同程度和需要、国内计算机技术的发展情况以及中国计算机教育和普及的现状而确定的;它以应用能力为主,划分不同的等级进行考核,为人员择业、人才流动提供其计算机应用知识与能力水平的证明。

作为国家级的考试,NCRE的整个考试过程要求非常严谨,其考试系统软件的安装配置工作也极为繁琐。本文就如何解决考试软件在考场中的快速部署和设置问题,提出了一种不同于以往的全新的高效解决方案,实现了对考场中所有考试机进行批量自动化安装考试系统和环境设置,从而大大提高了考场部署工作的效率,以保障考试的顺利进行。

二、NCRE软件部署中存在的问题

NCRE考试在局域网环境下进行,考试机操作系统使用Windows 7(中文专业版),服务器操作系统使用Windows Server 2008(中文标准版),并安装SQL Server 2008(中文标准版)数据库系统[1]。整个NCRE上机考试软件由“管理系统”和“考试系统”两部分组成,以一二级考试为例,其安装部署流程如图1所示。

NCRE的考试软件环境采用了C/S模式,每个考场配备一台服务器,每台考试机通过映射网络驱动器连接考试服务器上的考生文件夹。为了保障考试数据的安全和防止考生作弊,整个考试系统利用服务器来验证用户权限和提供数据存储服务。服务器限定了考试机的系统用户名,每台考试机只能使用服务器设置的唯一用户名(如K01、K02等)登录到考试网络中。这些用户不仅是服务器上设置的用户,还必须是所在考试网络考试机的用户,且是考试机的Administrators组成员[3]。考生在考试过程中只能对自己用户名对应的文件夹进行访问和操作。

各承办考点在每一次考试前都要为考生准备考试机房,既要为每一个考场安装配置服务器,又要为各考场中的考试机安装考试软件并设置考试环境[4]。由于考试机数量较多,考场的安装和部署工作量巨大且重复性高,往往要耗费大量的时间和人员精力。通常的做法是安装配置好一台考试机作为母机,然后利用网络同传系统(例如联想的网络同传、噢易的网络同传等)实现其它考试机的软件安装及IP地址和计算机名的批量更改,但是对于考试机的系统登录用户名和服务器网络映射只能同传后人工逐台修改,费时费力还容易出错,特别是还存在因个别设置遗漏造成考试过程中出现问题而难以排查的隐患[5]。另一方面,NCRE考试对机房的需求数量较大,且考试基本集中在周六和周日进行。而作为考场的机房在日常使用中又充当着教学实验室的角色,往往在考试的前一天晚上才有时间部署,时间紧迫,即使使用网络同传也需要耗费相当长的时间。因此,如何提高NCRE考试系统环境部署的工作效率,避免差错,将考试软件的安装设置由手动操作变为批量自动化操作,就显得尤为重要。

三、自动化部署方案的原理与实现

针对上述问题,作者根据自身多年的部署实践经验,结合批处理、AutoIt脚本工具和网络同步软件,设计了一种高效可行的NCRE考试系统环境批量自动化部署方案。该方案的优势在于不使用网络同传而实现考试软件同时在每台考试机上的自踊安装、设置与检测。

1.脚本工具简介

(1)批处理。批处理是一种简化的脚本语言,它应用于DOS或Windows系统中,由DOS或Windows系统内嵌的命令解释器解释运行,可以对计算机进行基本设置和快捷操作。

(2)AutoIt。AutoIt是一个使用类似BASIC脚本语言的免费工具软件,它设计用于Windows GUI(图形用户界面)中进行自动化操作,它利用模拟键盘按键、鼠标移动或点击以及窗口/控件的组合来实现自动化任务。它非常小巧,完全运行在所有Windows操作系统上,并且不需要任何运行库,可以调用批处理或其它应用程序,功能强大。

2.方案的设计思路

首先,在考试服务器上安装设置好NCRE管理系统,管理系统会自动在服务器磁盘中建立一个考试共享目录NCRE??(??为考次号,例如NCRE45),然后将NCRE考试系统的安装程序拷贝到该目录下,以便考试机能通过网络共享安装考试软件。为了免除手动配置考场中考试机IP地址的重复工作,需要为考试服务器配置DHCP服务,可根据考试机数量设置DHCP服务的IP地址池,如图2所示,使连接该服务器的每台考试机都能自动获取唯一的IP地址,从而最大限度避免考场网络的IP冲突。

其次,根据NCRE考试机环境配置要求,可以采用批处理程序实现在考试机上自动生成具有系统管理员权限的K用户以及将服务器上的考试共享目录自动映射为网络驱动器K盘,同时启动K盘中的考试系统安装程序,利用事先编好的AutoIt自动化脚本实现考试系统的自动安装和环境检测。

最后,借助于网络同步软件将批处理程序和AutoIt脚本程序同步传送至每台考试机的一个指定目录下,然后调用该同步软件的远程运行程序功能,同时运行每台考试机该目录下的批处理程序和AutoIt脚本程序,从而实现考场中所有考试机的批量自动化部署。整个方案的实施流程如图3所示。

3.方案的技术原理与实现

根据方案的实施流程,方案实现的关键点为:自动生成K用户、自动映射K盘以及考试系统的自动安装与检测。

(1)自动生成K用户

由于考试机的IP地址可以通过服务器的DHCP服务自动获取,而DHCP服务的IP地址池是根据考场中考试机的数量进行设定的,因此,可以通过截取考试机IP地址的最后一个字节段数值来组成K用户名,即“K+截取的数值”。据此原理编写批处理程序addUser.bat,实现在考试机中添加该K用户,并将其隶属于Administrators组。关键代码如下:

for /f "tokens=2 delims=:" %%a in ('ipconfig ^| find/i "ipv4"') do for /f "tokens=4 delims=." %%b in ("%%a") do set ip=00%%b //截取IP地址最后一个字节段

set usno=%ip:~-3%

//对截取的IP地址字节段数值补齐3位数

set usname=K%usno% //设置K用户名

net user %usname% /add /fullname:%usname% /passwordchg:no /passwordreq:no /expires:never

//添加K用户

net localgroup Administrators %usname% /add

//设置K用户隶属于Administrators组

shutdown-1 //注销系统

(2)自动映射K盘

编写批处理程序ncreSetup.bat,实现自动映射服务器考试共享目录为网络驱动器K盘,并启动K盘下的考试系统安装程序。由于NCRE考试系统有严格的时间限制,只能在规定的考试期限内安装运行,而考场中每台考试机的系统时间不一定一致,这样就有可能出现部分考试机的考试系统程序安装运行错误,因此需要与服务器进行一次时间同步来统一所有考试机的系统时间。关键代码如下:

set servip=192.168.1.5 //定义服务器IP地址

set username=ServerAdmin //定义服务器用户名

set userpwd=ServerPwd //定义服务器密码

set ncrefolder=Ncre45//定义考试共享目录

net use \\%servip% %userpwd% /user:%username% //与服务器建立一个空连接

net time \\%servip% /set /y //与服务器时间同步

net use * /del /y //删除空连接

net use K: \\%servip%\%ncrefolder% %userpwd% /user:%username% /persistent:yes //映射服务器上的考试共享目录为网络驱动器K盘

start /wait "" "K:\考试系统\NCRE一二级考试系统.exe" //启动考试系统安装程序

(3)考试系统的自动安装与检测

根据考试系统的安装和环境检测步骤采用AutoIt编写脚本程序实现自动化安装,包括等待安装程序窗口激活、模拟键盘输入和鼠标点击等操作,待测试无误后将其编译成可执行文件ncreAutoIt.exe。主要代码如下:

Run("ncreSetup.bat") //调用批处理

WinWaitActive("NCRE一二级考试系统 安装程序","欢迎") //等待程序安装窗口出现

Send("!n") //模拟键盘键击“下一步”按钮

WinWaitActive("NCRE一二级考试系统 安装程序","安装文件夹")

Send("!n")

WinWaitActive("NCRE一二级考试系统 安装程序","准备安装")

Send("!n")

WinWaitActive("NCRE一二级考试系统 安装程序","完成")

Send("!f") //模拟键盘键击“完成”按钮

WinWaitActive("NCRE一二级考试环境检测")

//等待环境监测窗口出现

ControlClick("NCRE一二级考试环境检测", "", "[NAME:Command1]") //模拟鼠标点击按钮开始检测

上述三个关键程序在单台考试机上测试运行成功后,选用网络同步软件――同步专家网吧版将三个程序文件同步传送到每台考试机的指定目录下(该目录由同步专家网吧版的服务端程序设定,同传前需在每台考试机上运行一次其客户端程序)。由于程序文件容量非常小,只有几个KB,因此同步时间很短,在网络通畅的情况下约1分钟之内就能完成。文件同步完成后,首先利用同步软件远程同时运行每台考试机特定目录下的批处理程序addUser.bat自动生成K用户;然后,待系统重启或注销后以K用户登录,再次使用同步软件远程运行每台考试机特定目录下的可执行程序ncreAutoIt.exe,该程序会调用批处理ncreSetup.bat自动映射K盘并根据事先编好的AutoIt自动化脚本实现考试系统在每台考试机上的自动化安装和环境检测,如图4、图5所示。

以一个配备有100台考试机的机房作为考场为例,通过测试对比分析,使用传统的网络同传方法实施NCRE考试系统的安装部署,即安装配置好一台母机后再进行网络同传,即使同传一个硬盘分区至少也需要约30分钟的时间,再加上同传后人工逐台设置考试环境还要花费大量的时间和人力,因此部署完整个机房需耗时约1小时左右。而本方案不但弥补了网络同传功能的不足,实现了机房中所有考试机的软件安装与环境设置同步进行,而且还实现了批量自动化操作,整个过程无需任何人工干预,使得整个机房的部署时间与部署一台考试机的时间相当,约15-20分钟即可完成整个机房NCRE考试系统的安装部署,工作效率大大提高。如果需要部署考试环境的机房数量较多,本方案的效率优势将会进一步突显。

经过本考点在2016年3月第45次NCRE考试中的实际应用来看,本文所提出的方案很好地达到了预期效果,全面实现了NCRE考试系统环境在机房中的批量自动化安装部署,高效快捷,大大节约了时间和人力,对于NCRE以及类似考试的考场环境部署工作具有很好的参考和应用价值。

参考文献:

[1]教育部考试中心.NCRE一二级考试软件使用手册[CP/CD].2014-08.

[2]翟银山.全国计算机等级考试培训资料[R].北京:教育部考试中心,2013.

[3]江芝蒙,钱真坤.批量修改NCRE系统计算机用户名的实现[J].四川文理学院学报,2013,23(5):70-72.

[4]董国钢,孙林,邓敏杰等.应用DOS批处理设置NCRE考试机[J].电脑知识与技术,2013,9(21):4837-4841.

[5]胡海斌,周智勇,李青等.全国计算机等级考试系统环境的自动部署[J].计算机应用,2014,34(S2):361-363.

[6]潘瑞东.NCRE考试环境智能自动化部署方案的研究[J].电脑知识与技术,2013,9(32):7307-7309.

上一篇:基于网络平台的自动控制原理课程教学改革探索 下一篇:大学生手机依赖现状及其应对路径研究