教育考试新一代网上评卷系统架构的实践及探索
2014-07-05钱建良
钱建良
1 引言
计算机网上评卷系统于1999年在我国诞生。历经十多年的应用发展,网上评卷不但解决了考试评卷的公正性和准确性难题,而且还使教育测量及教学诊断的科学化得以较好地实现。江苏省从2004年首次在成人高考中实施网上评卷,目前已在普通高考、学业水平测试、成人高考和研究生考试等各类教育考试中广泛使用。在江苏省各类教育考试网上评卷项目中,普通高考评卷的系统并发量最大,3 000多名评卷教师同时在线,扫描后经过切割的子图总容量约为1TB,切割后的图像大小一般从几十KB到几百KB。在评卷过程中,要求客户端每个页面(主要是考生答题图像)流畅地、没有任何停顿地显示,对评卷硬件架构和软件性能有较高的要求。在确保网上评卷系统性能的同时,还需保障网络线路、网络交换机、服务器以及存储等设备的可靠运行,避免由于单点故障造成的业务中断。江苏省教育考试院通过积极应用新的计算机技术,完善和优化系统架构,已建设完成具有高可靠性、高可扩展性和高性能的新一代网上评卷统一架构平台,能满足各类评卷软件架构的要求和各类评卷工作的需要。
2 网上评卷系统的常用体系架构及薄弱环节
2.1 网上评卷系统的常用体系架构
网上评卷系统采用基于J2EE的设计架构,客户端以浏览器方式访问系统进行评卷。评卷开始前,先将考生原始答题信息通过扫描的方式转换成电子图片保存到存储上,再根据评卷专家组预先制定的切割方案将图片分割成以一题或若干题为单位的子图,评卷教师通过评卷客户端浏览器访问应用服务器,应用服务器接收客户端请求,从数据库服务器中获取相关信息,包括答题子图的url路径,返回给客户端浏览器,客户端浏览器收到响应后,根据子图的url路径,从文件服务器获取对应子图,返回给客户端,评卷教师评阅答题子图后对答题结果打分提交,存入数据库服务器,并请求下一个答题子图。
评卷系统服务器端主要由应用服务器、文件服务器、数据库服务器、扫描服务器和NAS存储组成,各评卷点的评卷教师通过专线和中心机房服务器互联,如图1所示。所有服务器的操作系统一般都采用32位windows2003,应用服务器和文件服务器均使用HTTP协议提供服务,应用服务器一般采用基于jdk1.4的weblogic中间件,处理评卷业务逻辑,文件服务器使用weblogic或IIS提供图像传输,数据库服务器使用Oracle数据库,NAS存储保存考生的答题电子图像。
系统的部署以每个科目为单位,配置应用服务器、文件服务器、数据库服务器和存储。根据每个科目的评卷数量确定所需的服务器数量和存储容量,并发量小的几个科目会共用一组服务器。
2.2 网上评卷系统常用部署模式的薄弱环节
网上评卷系统常用的部署模式在正常情况下,能满足评卷的业务需求,但存在一定的不足。
图1 网上评卷常用部署结构图
2.2.1 单点故障
单点故障存在于评卷系统的线路以及网络和服务器设备各个环节。近几年随着城市建设的需要,目前各个城市路面施工比较多,连接各评卷点的专线随时有被挖断的风险,一旦某一条专线线路中断,相关评卷点的评卷工作将被迫停滞,而线路的恢复一般需要两三个小时甚至更长;中心机房的核心交换机和服务器同样存在单点故障,任意一台设备故障将造成某个科目甚至所有科目的评卷业务中断,设备修复、维护、更换的时间比较长。
2.2.2 部署复杂
每次评卷前根据不同考试项目评卷工作的需要,都要重新准备服务器系统,并配置系统参数,进行系统优化,从开始准备到进行评卷工作,一般需要一周左右的时间,这些工作都是简单的重复性工作,不仅浪费时间精力,而且容易出现差错。
2.2.3 服务器资源利用率低
网上评卷系统在评卷高峰期间,系统负载较高,为确保网上评卷系统的性能,评卷使用的硬件服务器配置一般都比较高,但由于网上评卷系统所使用的系统都是32位系统,无法充分利用硬件资源,造成资源利用率低下,整个系统性能得不到有效提高。
3 网上评卷系统的高可靠性部署架构
随着计算机技术的发展,许多新技术如虚拟化技术应用越来越广泛,使得网上评卷系统的部署架构有了进一步优化的可能。从2011年下半年开始,江苏省在网上评卷系统的部署中逐步采用虚拟化、负载均衡、数据库集群、数据库审计等技术,逐步对网上评卷的常用部署架构做进一步的调整和优化,优化的目标主要有以下几个:一是提高硬件基础设施的高可靠性;二是提高评卷系统部署的效率;三是提高硬件资源的利用率;四是从硬件架构和对数据库的优化提升评卷系统的性能。优化后的网上评卷系统架构图如图2所示,应用服务器和文件服务器以虚拟机方式部署,不同科目部署各自的应用服务器,而文件服务器和数据库服务器则由所有科目共用。
3.1 网络架构的高可靠性
图2 优化后的网上评卷系统架构图
优化后的网上评卷系统架构网络部分采用全冗余架构,为了防止专线的物理中断,中心机房和多个评卷点之间通过多条不同物理线路的专线组成环路,采用OSPF动态路由协议,确保线路中断时,网络流量无缝切换;中心机房评卷外网核心交换机和评卷内网交换机均用网络虚拟化方式部署,将多台物理交换机虚拟成一台大的逻辑交换机,实现跨设备链路聚合,共同分担网络流量,消除“网络环路”,增强网络的可靠性,提高链路利用率;系统中还部署了两台负载均衡设备,以主备方式运行,主备设备的切换会造成后端服务器群的服务短时间中断,为减少由于评卷外网核心交换机中任意一台设备故障而造成负载均衡设备的主备切换,每台负载均衡都连接了评卷外网核心交换机中的成员设备。
3.2 服务器系统的高可靠性
服务器虚拟化技术的应用,给系统的稳定运行、简化部署提供了坚实的保障:一是通过预先定制好的模版可快速部署虚拟服务器,提高了效率;二是提高硬件资源的利用率,原来一台物理服务器只能提供一个应用,通过虚拟化后可运行多台虚拟机提供多个应用;三是常用架构中一台物理服务器出现故障,将会造成较长时间评卷业务的中断,而通过虚拟化的高可用性(High Availability),当物理机发生故障时提供故障切换,虚拟机会在另一台物理机上重新启动,业务恢复的时间可缩短到几分钟以内,如果在故障切换过程中,要求虚拟机提供连续可用性,可以采用故障容错(Fault Tolerance)技术,使虚拟机无缝切换到其它物理机上;四是可随时对物理机进行计划内停机维护,通过虚拟机动态迁移(VMotion)技术,可以在不停机的情况下将整个正在运行的虚拟机从一台物理服务器移动到另一台物理服务器。
在网上评卷系统中,应用服务器和文件服务器采用虚拟机进行管理,数据库服务器使用物理机部署。虚拟机的HA或FT技术确保了物理机出现故障时能快速地恢复,数据库服务器采用集群技术避免单点故障。服务器配置多块千兆网卡,采用基于IEEE802.3ad标准的LACP协议(Link Aggregation Control Protocol,链路汇聚控制协议),将双网卡绑定为一个逻辑网卡,不仅解决了网卡的单点故障,而且增加了服务器的网络带宽。
3.3 存储系统的高可靠性
采用虚拟化技术后,网上评卷系统需要用到存储的地方有考生答题图像、虚拟机共享存储以及数据库共享存储。为保障存储的可靠性,在江苏省网上评卷存储方案中,配置了三台NAS存储和两台FC SAN存储。在三台NAS存储中,一台存放扫描的考生答题原图,另两台存放切割后的子图,子图用于评卷教师评卷使用,同时,这三台存储之间相互备份,确保任意一台存储故障都不会影响评卷;在两台FC SAN存储中,一台作为虚拟机的共享存储,另一台作为数据库共享存储,这两套存储之间相互备份,为了提高虚拟机系统和数据库的性能,每台SAN存储中都配置了SSD固态硬盘作为缓存。
4 网上评卷系统的高性能优化
网上评卷系统的性能影响着评卷的进度,评卷教师希望以流畅的、相对稳定的速度进行评卷。网上评卷系统的性能受多种因素的影响,包括硬件设备的部署架构、服务器和网络的性能、系统软件和支撑软件的优化程度、代码的质量和效率等。在网上评卷系统的优化方案中,本文主要侧重于系统架构、提高服务器和网络的性能以及对系统软件和支撑软件的配置进行优化。
在评卷过程中,服务器的负载基本趋于稳定,但对于小分值、相对客观、唯一答案的题目评卷中会出现峰值。近几年来通过对整个系统架构的深入分析,发现其制约瓶颈主要来自于服务器。在网上评卷系统中,主要针对应用服务器、文件服务器和数据库服务器来进行优化。
4.1 服务器性能优化
首先,为了提高服务器资源的利用率和并发能力,将应用服务器、文件服务器和数据库服务器的操作系统从Windows 2003 32位系统迁移到Linux 64位系统,32位Windows系统单个线程能使用的最大内存不超过4GB,64位系统则远超出这个限制,Linux系统相比于Windows系统,可通过最小化安装减少系统资源占有,也可以避免Windows环境中病毒和木马带来的困扰,系统运行稳定可靠。
其次,应用服务器采用的中间件从32位软件升级到64位系统,中间件所使用的Java版本也从1.4升级到1.6,Java1.6相对于1.4,性能有了大幅度的提升,使得应用服务器的性能也有了极大的提高。在一般的部署方式下,一台采用32位系统的应用服务器能支撑的在线评卷教师数量不到300位,在相同硬件配置下,采用64位系统后,能支撑的在线评卷教师数量能到700多名。
第三,文件服务器由IIS更改为Linux下的nginx,nginx是一款轻量级的高性能Web服务器,其特点是占有内存少,并发能力强,适合处理静态文件,传输考生答题图片。
第四,数据库服务器使用多路径软件管理服务器和存储的连接,一方面保证存储访问的可靠性,另一方面实现负载均衡,提高服务器访问存储的性能,此外,在Linux中配置大内存页(Huge page),以减轻CPU的负担,减少系统内存的消耗,提高数据库系统的性能。
4.2 采用负载均衡提高文件服务器并发负载
在整个评卷过程中,传输的是大量考生电子图像,因此文件服务器的压力尤为突出。文件服务器的压力大小和在线评卷教师人数、图像灰度、图像切割大小、评卷速度等因素有关,在同等条件下,任何一个因素变化如图像灰度提高,图像的显示就有可能从流畅变为间歇性的出现停顿,而且,不同科目文件服务器的负载差异很大,象语文、数学、生物、物理等科目的压力就比较大,而英语、历史等科目的负载会很小。
文件服务器实际上提供的是静态图片的HTTP服务,在WEB服务优化方案中,一般通过尽量减少HTTP请求、压缩静态文件、在服务器端和客户端对静态页面使用缓存、减少图片,图片延迟加载和预加载等技术手段来提升浏览速度和提高并发连接数。文件服务器传输的只有图片,如果评卷采用四评机制,一张图片会传给四位教师评阅,一般传给三位或两位教师,因此缓存无法起到根本性的作用,再加上图片压缩效率很低,常规的Web优化方案不能起到效果。在江苏省的部署方案中,在文件服务器前端部署硬件负载均衡设备,所有科目的图片都通过访问负载均衡设备获取,解决了原有不同科目文件服务器压力不均的情况,结合虚拟化技术,当整个文件服务器资源池不能满足性能需求时,可以动态快速地增加虚拟机来提高文件服务器群的性能。
4.3 网上评卷系统的性能监控和数据安全
加强对网上评卷系统的性能监控,对网络流量、负载均衡设备、服务器CPU、内存及磁盘、虚拟机性能、中间件、数据库性能等进行实时监控,及时发现问题所在,及时处理。为了保证数据的安全性,网上评卷系统中部署了数据库审计系统,所有对数据库的操作将被记录下来并可以回放。
5 结束语
网上评卷时间紧、任务重,同时在线评卷教师数量较多,加上传输的是大量的图片文件,评卷工作要求图片显示不能出现明显停顿现象,对整个评卷系统的性能和基础硬件设备的可靠性要求较高。本文主要从消除设备单点故障、充分利用硬件资源、提高服务器的并发处理能力等角度进行研究、分析和实践,对网上评卷系统体系架构进行完善和优化,建成一个统一的通用部署架构,具有高性能、高可靠性、高可扩展性和易维护性。
[1] 钱建良.基于虚拟化平台的网上评卷系统的研究与设计[J].江南大学学报,2013,12(4):419-423.
[2] 康长安,陈玉红.基于前端的Web性能优化[J].电脑知识与技术,2011,7(16):3811-3813,3838.
[3] 房秉毅,张云勇,陈清金,贾兴华.云计算网络虚拟化技术[J].信息通信技术,2011(1):50-53.