基于虚拟化平台的网上评卷系统的研究与设计
2013-08-16钱建良
钱建良
(江苏省教育考试院,江苏南京210024)
网上评卷是一种新的评卷方式,它以计算机网络技术、扫描和图像处理技术为依托,以控制非选择题评卷误差和实现考试公平性原则为最终目的,将多年评卷积累的丰富经验与现代高新技术相结合,评卷教师不在考生的原始答卷上直接评分,而是通过计算机网络在客户端计算机上对考生答卷扫描图像评分。
2004年网上评卷首次在江苏省成人高考中实施,目前已在普通高考、学业水平测试和成人高考中得到了广泛应用,经过多年改进,已形成了比较完善的以物理机为系统架构的部署模式。但在近十年的实施中,仍存在一些无法避免的问题:①不同项目承担评卷的公司不同,而硬件环境则使用同一套设备,每次运行前30多台服务器都需要重装操作系统开始进行全新部署,造成大量的低级重复劳动;②评卷过程中一旦有服务器出现故障,将会造成某些科目评卷中断,影响评卷整体进度,如果中断时间过长,将有可能造成不良影响;③无法充分利用硬件资源。
而近几年,日益成熟的虚拟化技术越来越多地应用于各种生产系统,其实时动态迁移、高可用性[1]等优点使得解决目前网上评卷部署中遇到的问题成为可能。
文中以江苏省教育考试院运用虚拟化部署技术的实践成果作为案例,从实用性角度比较分析了原有系统部署模式与改进后的虚拟化部署模式的优缺点;概括了虚拟化技术的显著特点,并展望了基于云计算模式下的网上评卷系统前景。旨在将这一新型技术推广开来,为各类网上评卷系统提供高效率的技术服务。
1 网上评卷系统的部署模式
1.1 网上评卷系统的架构
网上评卷系统采用基于J2EE的设计架构,客户端以浏览器方式访问系统进行评卷。评卷开始前,先将考生原始答题信息通过扫描的方式转换成电子图片保存到存储上,再根据评卷专家组预先制定的切割方案将图片分割成以一题或若干题为单位的子图,通过网上评卷系统将子图分发到评卷客户端供评卷教师评阅。每一科目所需的硬件包括存储考生答题图片的存储、数据库服务器、提供考生答题子图下载的文件服务器以及应用服务器。根据考生数量的不同,不同科目部署的应用服务器和文件服务器数量会有差异,如语文会配置2台应用服务器、2台文件服务器及1台数据库服务器。具体如图1所示。
图1 网上评卷传统部署结构Fig.1 Online marking traditional deployment structure diagram
网上评卷系统的评卷过程为:评卷教师通过评卷客户端浏览器访问应用服务器,应用服务器接收客户端请求,从数据库服务器中获取相关信息,包括答题子图的url路径,返回给客户端浏览器;客户端浏览器收到响应后,根据子图的url路径,从文件服务器获取对应子图,返回给客户端;评卷教师评阅答题子图后对答题结果打分提交,存入数据库服务器,并请求下一个答题子图。
1.2 原有系统部署模式的缺点
1.2.1 系统部署效率低 以普通高考为例,所有科目所需的服务器包括应用服务器、文件服务器、数据库服务器、扫描服务器和备用服务器共30多台。在每次评卷前,每台服务器都需要重装操作系统、安装补丁、防病毒软件、数据库软件、中间件等支撑软件;并对操作系统进行安全设置,优化数据库软件和中间件参数;再部署评卷系统,根据不同的科目,评卷教师的数量,设置各个科目的各类评卷参数。
整个部署工作完成一般需要一周的时间,这些工作都是简单的重复性工作,不仅浪费时间精力,而且容易出错,如漏装服务器,个别服务器系统参数未设置或设置错误等。
1.2.2 服务器调整时间长 在网上评卷系统运行过程中,会出现一些虽可预料但无法预知何时出现的问题,如硬件故障或由于个别服务器负载压力过大需要增加服务器分担压力。在传统部署模式中,会在部署系统时准备一定数量的备用服务器,出现上述情况时及时进行切换。应急预案中无法知道是哪种服务器出现故障,因此在进行更换时需要对服务器进行参数设置和调整,甚至要安装数据库系统或中间件,切换时间一般较长(至少需要半天时间);同时由于时间紧、压力大,容易出现配错参数等低级错误,对评卷进度、评卷教师的心情影响比较大[2]。
1.2.3 服务器资源利用率低 网上评卷系统在评卷高峰期间,系统负载较高,为确保网上评卷系统的性能,评卷使用的硬件服务器配置一般都比较高,但由于网上评卷系统所使用的系统都是32位系统,无法充分利用硬件资源,造成资源利用率低下,整个系统性能得不到提高。
1.3 改进的虚拟化部署模式
1.3.1 虚拟化技术比较 目前基于x86架构的服务器虚拟化主流产品有VMware的vSphere,开源的Xen,微软的Hyper-V和开源的KVM。
1)VMware vSphere是业界领先的用于构建云计算基础架构的虚拟化平台。利用vSphere可以减少IT空间占用,并最大限度地提高现有IT基础架构的利用率。允许多个虚拟机共享单个物理机的计算、网络连接和资源存储。通过其内置的业务连续性功能、基于策略的服务级别管理以及集成的网络安全和防火墙保护来提供应用系统的可用性,已在全世界数以万计的客户部署中经过了生产验证[3]。
2)Hyper-V采用微内核的架构,兼顾了安全性和虚拟机系统性能的要求。Hyper-V底层的Hypervisor运行在最高的特权级别下,微软将其称为ring-1,而虚拟机的OS内核和驱动运行在ring 0,应用程序运行在ring 3下,这种架构就不需要采用复杂的BT(二进制特权指令翻译)技术,可以进一步提高安全性[4]。但是鉴于Hyper-V采用Windows Server 2008内核,决定其稳定性具有一定的局限性。
3)Xen采用半虚拟化技术,需要修改操作系统的内核,加入一个Xen Hypervisor层。它允许安装在同一硬件设备上的多个系统同时启动,由Xen Hypervisor进行资源调配。在这种虚拟环境下,依然需要模拟硬件设备,安装Guest操作系统,并且需要修改操作系统的内核,部署和维护较为复杂。
4)KVM是开源的虚拟化软件,KVM是Linux内核的一部分,这个轻量级的虚拟化管理程序模块能直接与硬件交互,不需要修改虚拟化操作系统,并且补丁包能够和Linux内核兼容,轻松控制虚拟化进程,同时减轻管理负担。但KVM的出现时间不长,技术尚不成熟,生产环境中还较少使用。
综上分析,文中重点考虑虚拟化软件在生产环境中的使用程度、稳定性、可靠性和易维护性,选用了VMware虚拟化软件进行部署,通过vCenter对虚拟机进行管理。网上评卷虚拟化部署结构如图2所示。
图2 网上评卷虚拟化部署结构Fig.2 Online marking virtualization deployment structure diagram
1.3.2 共享存储的选择 共享存储是虚拟化部署的一个重要组成部分,共享存储可以选择NAS,IP SAN或FC SAN。在网上评卷系统中,扫描后的考生答题图像保存在NAS存储上。评卷教师在评卷期间,浏览器通过文件服务器下载考生答题子图会占用大量的网络带宽,如果虚拟化使用NAS存储或IP SAN存储,在虚拟机进行实时迁移或复制时,会影响评卷教师评卷的流畅度。实际测试中发现,在千兆网络下,克隆或迁移一台4个vcpu,8 GB vram,80 GB磁盘大小的虚拟机,如果使用NAS存储,时间约20 min左右,同时其他虚拟机的运行流畅度会受到较明显的影响;而采用8 Gb带宽的FC SAN存储,只需要5 min左右,且不影响其他虚拟机的运行。因此文中在部署中,选用了FC存储。FC存储划分成多个LUN,分别用于存放不同评卷公司需要使用的虚拟机文件和虚拟机模板,在进行虚拟机迁移、克隆等操作时,可避免对已运行的虚拟机性能产生影响。
1.3.3 虚拟服务器的快速部署 在网上评卷系统中,应用服务器和文件服务器选用虚拟机部署,对于负载比较高的评卷项目(如高考),数据库服务器采用物理机部署,负载比较轻的评卷项目数据库服务器使用虚拟机部署。根据不同评卷公司系统的情况,为每个评卷公司创建评卷所需的虚拟服务器(分别安装应用服务器、文件服务器和数据库服务器虚拟机),每种服务器均按实际要求进行安装并优化,完成后生成虚拟机模板[5]。在网上评卷系统准备期间,根据虚拟机模板批量生成所需服务器。高考评卷期间,原本需要约一周的准备时间可压缩到半天,而且可以确保每台复制出来的服务器都经过了优化。在网上评卷系统运行过程中,如果需要增加应用服务器或文件服务器,可以用虚拟机模板直接克隆生成,将生成后的虚拟机IP地址、主机信息进行相应更改后,即可快速投入使用,这个过程一般可在15~30 min完成。
在第一次复制完虚拟机后,需要对每台虚拟机的评卷参数进行设置,设置完成及本次评卷结束后,虚拟机将全部关闭,下次评卷开始时不再需要重新设置这些参数,只需启动这些虚拟机即可。
虚拟化部署方式极大地提高了部署效率,同时,也保证了每台服务器的可靠性和稳定性。
1.3.4 群集系统的高可用性 在采用虚拟化部署前,一台物理服务器故障只会导致一个应用无法工作,而虚拟化部署后,一台物理机故障会导致运行的多个应用无法工作。用于确保更高级别高可用性的传统解决方案都需要较大开销,并且难以实施和管理。群集的高可用性能减少计划内停机时间,防止出现计划外停机[6],并在物理机出现故障时提供自动恢复能力。群集中的主机均会受到监控,如果发生故障,故障主机上的虚拟机将在备用主机上重新启动[7]。在网上评卷系统中启用了群集系统的高可用性,解决了原部署模式下,当物理服务器出现突发故障后长时间影响业务的正常运行,提高了系统的健壮性。
1.3.5 虚拟服务器的权限管理 网上评卷系统的虚拟机包括用于管理虚拟平台所需要的虚拟机和不同评卷公司评卷用的虚拟机,管理虚拟平台所用虚拟机主要有DNS服务器、Active Directory服务器、vCenter服务器。在网上评卷用户权限设置中,设置了网络管理和若干个评卷公司两个角色,每个评卷公司角色下又设置了扫描虚拟机、应用服务器、文件服务器和数据库服务器4个角色,每个角色分配相应的管理或使用人员。这样,不同的用户登录后只能看到相应的虚拟服务器,确保了虚拟机的访问安全。
1.3.6 提高网上评卷系统的可维护性 在网上评卷系统运行过程中,对硬件设备进行计划内维护时,可使用实时迁移技术vmotion将虚拟机迁移到其他物理机上,不需要中断业务的正常运行。
1.3.7 提高硬件资源的利用率 网上评卷系统采用虚拟化方式部署后,每台物理机上都运行着若干台虚拟机,极大地提高了硬件资源的利用率[8],也降低了硬件设备的数量,整个评卷系统所使用的服务器比原来减少了近一半。
1.4 虚拟化部署前后的对比
网上评卷系统采用虚拟化部署后,硬件费用、维护成本等各方面都有了较大幅度降低,而系统性能则完全能满足网上评卷的要求,表1为普通高考网上评卷虚拟化部署前后的对比情况。
表1 普通高考网上评卷虚拟化部署前后的对比Tab.1 College entrance examination online marking virtualization deployment before and after contrast
2 基于云计算的网上评卷系统的展望
云计算是一种新型的计算模式,能够把IT基础设施资源、应用系统作为服务通过互联网提供给用户,它也是一种新的基础架构管理方法,能够把大量的、高度虚拟化的资源管理起来,组成一个庞大的资源池,以服务方式进行管理[9]。
云计算定义了3种服务模式,基础设施即服务(IaaS)、平台即服务(PaaS)和软件即服务(SaaS)。Iaas通过网络向用户提供计算机(物理机和虚拟机)、存储空间、网络连接、负载均衡和防火墙等基本计算资源;用户在此基础上部署和运行各种软件,包括操作系统和应用程序。PaaS实际上是指将软件研发的平台作为一种服务,以SaaS的模式提交给用户。平台通常包括操作系统、编程语言的运行环境、数据库和 Web服务器,用户在此平台上部署和运行自己的应用。用户不能管理和控制底层的基础设施,只能控制自己部署的应用。SaaS是一种通过Internet提供软件的模式,云用户通过云客户端(通常是Web浏览器)使用软件。云用户不能管理应用软件运行的基础设施和平台,只能做有限的应用程序设置。
根据网上评卷系统的特点,可以对现有部署结构进一步加以改进,在现有服务器虚拟化基础上,对网络、存储等资源进行虚拟化,以PaaS服务的方式提供网上评卷所需的数据库服务器平台、Web服务器平台和文件服务器平台,评卷公司直接从提供的云服务中申请资源即可完成系统的部署。
3 结语
文中提出了在网上评卷项目中采用虚拟化部署的方式。并在2012年江苏省普通高考、学业水平测试和成人高考的网上评卷项目中进行了部署实施。实践结果表明:采用虚拟化部署方式能大幅度地提高部署效率和质量,减少大量的重复低级工作,充分提高硬件资源的利用率;同时,利用虚拟化的高可用性、实时动态迁移、资源动态分配等优点,解决原有部署方式中由于硬件服务器故障等计划外停机和计划内停机而导致的评卷工作中断,确保了网上评卷系统可靠、稳定地运行。
[1]Scott Lowe.Mastering VMware vSphere 5[M].Indianapolis:John Wiley and Sons,2011.
[2]杨志彬.高校实验教学用服务器资源虚拟化部署[J].实验室研究与探索,2010,29(7):75-78.YANG Zhi-bin.Study on virtualization deployment of server resource for university's laboratory[J].Research and Exploration in Laboratory,2010,29(7):75-78.(in Chinese)
[3]VMware中国官方网站.ESXi和 vCenter Server5.1 文档中心[EB/OL].(2012-09-14)[2013-01-16].http://www.vmware.com.cn.
[4]韩寓.服务器虚拟化技术研究与分析[J].电脑知识与技术,2011,7(7):1654-1655.HAN Yu.Server virtualization technology research and analysis[J].Computer Knowledge and Technology,2011,7(7):1654-1655.(in Chinese)
[5]缪一峰.医院虚拟化服务器部署[J].计算机应用与软件,2011,28(8):206-208,259.MIAO Yi-feng.Hostital virtual server deployment[J].Computer Applications and Software,2011,28(8):206-208,259.(in Chinese)
[6]薛秀珍.利用VMware部署图书馆服务器虚拟化解决方案[J].信息技术,2010(4):151-154.XUE Xiu-zhen.Using VM ware software to implement library server virtualization[J].Information Technology,2010(4):151-154.(in Chinese)
[7]叶玲,孙鉴坤.虚拟化技术在图书馆服务器中的应用[J].高校图书情报论坛,2012,11(1):12-14.YE Ling,SUN Jian-kun.Application of virtualization technology in the library server[J].Academic Library and Information Tribune,2012,11(1):12-14.(in Chinese)
[8]张文盛.虚拟化服务器的应用研究[J].办公自动化,2010(4):25-26.ZHANG Wen-sheng.Application of server virtualization in colleges and universities[J].Office Information,2010(4):25-26.(in Chinese)
[9]李双权,王燕伟.云计算中服务器虚拟化技术探讨[J].邮电设计技术,2011(10):27-33.LI Shuang-quan,WANG Yan-wei.Research on the server virtualization technology in cloud computing[J].Designing Techniques of Posts and Telecommunications,2011(10):27-33.(in Chinese)