錢建良
(江蘇省教育考試院,江蘇南京210024)
網(wǎng)上評卷是一種新的評卷方式,它以計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)、掃描和圖像處理技術(shù)為依托,以控制非選擇題評卷誤差和實(shí)現(xiàn)考試公平性原則為最終目的,將多年評卷積累的豐富經(jīng)驗(yàn)與現(xiàn)代高新技術(shù)相結(jié)合,評卷教師不在考生的原始答卷上直接評分,而是通過計(jì)算機(jī)網(wǎng)絡(luò)在客戶端計(jì)算機(jī)上對考生答卷掃描圖像評分。
2004年網(wǎng)上評卷首次在江蘇省成人高考中實(shí)施,目前已在普通高考、學(xué)業(yè)水平測試和成人高考中得到了廣泛應(yīng)用,經(jīng)過多年改進(jìn),已形成了比較完善的以物理機(jī)為系統(tǒng)架構(gòu)的部署模式。但在近十年的實(shí)施中,仍存在一些無法避免的問題:①不同項(xiàng)目承擔(dān)評卷的公司不同,而硬件環(huán)境則使用同一套設(shè)備,每次運(yùn)行前30多臺(tái)服務(wù)器都需要重裝操作系統(tǒng)開始進(jìn)行全新部署,造成大量的低級重復(fù)勞動(dòng);②評卷過程中一旦有服務(wù)器出現(xiàn)故障,將會(huì)造成某些科目評卷中斷,影響評卷整體進(jìn)度,如果中斷時(shí)間過長,將有可能造成不良影響;③無法充分利用硬件資源。
而近幾年,日益成熟的虛擬化技術(shù)越來越多地應(yīng)用于各種生產(chǎn)系統(tǒng),其實(shí)時(shí)動(dòng)態(tài)遷移、高可用性[1]等優(yōu)點(diǎn)使得解決目前網(wǎng)上評卷部署中遇到的問題成為可能。
文中以江蘇省教育考試院運(yùn)用虛擬化部署技術(shù)的實(shí)踐成果作為案例,從實(shí)用性角度比較分析了原有系統(tǒng)部署模式與改進(jìn)后的虛擬化部署模式的優(yōu)缺點(diǎn);概括了虛擬化技術(shù)的顯著特點(diǎn),并展望了基于云計(jì)算模式下的網(wǎng)上評卷系統(tǒng)前景。旨在將這一新型技術(shù)推廣開來,為各類網(wǎng)上評卷系統(tǒng)提供高效率的技術(shù)服務(wù)。
網(wǎng)上評卷系統(tǒng)采用基于J2EE的設(shè)計(jì)架構(gòu),客戶端以瀏覽器方式訪問系統(tǒng)進(jìn)行評卷。評卷開始前,先將考生原始答題信息通過掃描的方式轉(zhuǎn)換成電子圖片保存到存儲(chǔ)上,再根據(jù)評卷專家組預(yù)先制定的切割方案將圖片分割成以一題或若干題為單位的子圖,通過網(wǎng)上評卷系統(tǒng)將子圖分發(fā)到評卷客戶端供評卷教師評閱。每一科目所需的硬件包括存儲(chǔ)考生答題圖片的存儲(chǔ)、數(shù)據(jù)庫服務(wù)器、提供考生答題子圖下載的文件服務(wù)器以及應(yīng)用服務(wù)器。根據(jù)考生數(shù)量的不同,不同科目部署的應(yīng)用服務(wù)器和文件服務(wù)器數(shù)量會(huì)有差異,如語文會(huì)配置2臺(tái)應(yīng)用服務(wù)器、2臺(tái)文件服務(wù)器及1臺(tái)數(shù)據(jù)庫服務(wù)器。具體如圖1所示。
圖1 網(wǎng)上評卷傳統(tǒng)部署結(jié)構(gòu)Fig.1 Online marking traditional deployment structure diagram
網(wǎng)上評卷系統(tǒng)的評卷過程為:評卷教師通過評卷客戶端瀏覽器訪問應(yīng)用服務(wù)器,應(yīng)用服務(wù)器接收客戶端請求,從數(shù)據(jù)庫服務(wù)器中獲取相關(guān)信息,包括答題子圖的url路徑,返回給客戶端瀏覽器;客戶端瀏覽器收到響應(yīng)后,根據(jù)子圖的url路徑,從文件服務(wù)器獲取對應(yīng)子圖,返回給客戶端;評卷教師評閱答題子圖后對答題結(jié)果打分提交,存入數(shù)據(jù)庫服務(wù)器,并請求下一個(gè)答題子圖。
1.2.1 系統(tǒng)部署效率低 以普通高考為例,所有科目所需的服務(wù)器包括應(yīng)用服務(wù)器、文件服務(wù)器、數(shù)據(jù)庫服務(wù)器、掃描服務(wù)器和備用服務(wù)器共30多臺(tái)。在每次評卷前,每臺(tái)服務(wù)器都需要重裝操作系統(tǒng)、安裝補(bǔ)丁、防病毒軟件、數(shù)據(jù)庫軟件、中間件等支撐軟件;并對操作系統(tǒng)進(jìn)行安全設(shè)置,優(yōu)化數(shù)據(jù)庫軟件和中間件參數(shù);再部署評卷系統(tǒng),根據(jù)不同的科目,評卷教師的數(shù)量,設(shè)置各個(gè)科目的各類評卷參數(shù)。
整個(gè)部署工作完成一般需要一周的時(shí)間,這些工作都是簡單的重復(fù)性工作,不僅浪費(fèi)時(shí)間精力,而且容易出錯(cuò),如漏裝服務(wù)器,個(gè)別服務(wù)器系統(tǒng)參數(shù)未設(shè)置或設(shè)置錯(cuò)誤等。
1.2.2 服務(wù)器調(diào)整時(shí)間長 在網(wǎng)上評卷系統(tǒng)運(yùn)行過程中,會(huì)出現(xiàn)一些雖可預(yù)料但無法預(yù)知何時(shí)出現(xiàn)的問題,如硬件故障或由于個(gè)別服務(wù)器負(fù)載壓力過大需要增加服務(wù)器分擔(dān)壓力。在傳統(tǒng)部署模式中,會(huì)在部署系統(tǒng)時(shí)準(zhǔn)備一定數(shù)量的備用服務(wù)器,出現(xiàn)上述情況時(shí)及時(shí)進(jìn)行切換。應(yīng)急預(yù)案中無法知道是哪種服務(wù)器出現(xiàn)故障,因此在進(jìn)行更換時(shí)需要對服務(wù)器進(jìn)行參數(shù)設(shè)置和調(diào)整,甚至要安裝數(shù)據(jù)庫系統(tǒng)或中間件,切換時(shí)間一般較長(至少需要半天時(shí)間);同時(shí)由于時(shí)間緊、壓力大,容易出現(xiàn)配錯(cuò)參數(shù)等低級錯(cuò)誤,對評卷進(jìn)度、評卷教師的心情影響比較大[2]。
1.2.3 服務(wù)器資源利用率低 網(wǎng)上評卷系統(tǒng)在評卷高峰期間,系統(tǒng)負(fù)載較高,為確保網(wǎng)上評卷系統(tǒng)的性能,評卷使用的硬件服務(wù)器配置一般都比較高,但由于網(wǎng)上評卷系統(tǒng)所使用的系統(tǒng)都是32位系統(tǒng),無法充分利用硬件資源,造成資源利用率低下,整個(gè)系統(tǒng)性能得不到提高。
1.3.1 虛擬化技術(shù)比較 目前基于x86架構(gòu)的服務(wù)器虛擬化主流產(chǎn)品有VMware的vSphere,開源的Xen,微軟的Hyper-V和開源的KVM。
1)VMware vSphere是業(yè)界領(lǐng)先的用于構(gòu)建云計(jì)算基礎(chǔ)架構(gòu)的虛擬化平臺(tái)。利用vSphere可以減少IT空間占用,并最大限度地提高現(xiàn)有IT基礎(chǔ)架構(gòu)的利用率。允許多個(gè)虛擬機(jī)共享單個(gè)物理機(jī)的計(jì)算、網(wǎng)絡(luò)連接和資源存儲(chǔ)。通過其內(nèi)置的業(yè)務(wù)連續(xù)性功能、基于策略的服務(wù)級別管理以及集成的網(wǎng)絡(luò)安全和防火墻保護(hù)來提供應(yīng)用系統(tǒng)的可用性,已在全世界數(shù)以萬計(jì)的客戶部署中經(jīng)過了生產(chǎn)驗(yàn)證[3]。
2)Hyper-V采用微內(nèi)核的架構(gòu),兼顧了安全性和虛擬機(jī)系統(tǒng)性能的要求。Hyper-V底層的Hypervisor運(yùn)行在最高的特權(quán)級別下,微軟將其稱為ring-1,而虛擬機(jī)的OS內(nèi)核和驅(qū)動(dòng)運(yùn)行在ring 0,應(yīng)用程序運(yùn)行在ring 3下,這種架構(gòu)就不需要采用復(fù)雜的BT(二進(jìn)制特權(quán)指令翻譯)技術(shù),可以進(jìn)一步提高安全性[4]。但是鑒于Hyper-V采用Windows Server 2008內(nèi)核,決定其穩(wěn)定性具有一定的局限性。
3)Xen采用半虛擬化技術(shù),需要修改操作系統(tǒng)的內(nèi)核,加入一個(gè)Xen Hypervisor層。它允許安裝在同一硬件設(shè)備上的多個(gè)系統(tǒng)同時(shí)啟動(dòng),由Xen Hypervisor進(jìn)行資源調(diào)配。在這種虛擬環(huán)境下,依然需要模擬硬件設(shè)備,安裝Guest操作系統(tǒng),并且需要修改操作系統(tǒng)的內(nèi)核,部署和維護(hù)較為復(fù)雜。
4)KVM是開源的虛擬化軟件,KVM是Linux內(nèi)核的一部分,這個(gè)輕量級的虛擬化管理程序模塊能直接與硬件交互,不需要修改虛擬化操作系統(tǒng),并且補(bǔ)丁包能夠和Linux內(nèi)核兼容,輕松控制虛擬化進(jìn)程,同時(shí)減輕管理負(fù)擔(dān)。但KVM的出現(xiàn)時(shí)間不長,技術(shù)尚不成熟,生產(chǎn)環(huán)境中還較少使用。
綜上分析,文中重點(diǎn)考慮虛擬化軟件在生產(chǎn)環(huán)境中的使用程度、穩(wěn)定性、可靠性和易維護(hù)性,選用了VMware虛擬化軟件進(jìn)行部署,通過vCenter對虛擬機(jī)進(jìn)行管理。網(wǎng)上評卷虛擬化部署結(jié)構(gòu)如圖2所示。
圖2 網(wǎng)上評卷虛擬化部署結(jié)構(gòu)Fig.2 Online marking virtualization deployment structure diagram
1.3.2 共享存儲(chǔ)的選擇 共享存儲(chǔ)是虛擬化部署的一個(gè)重要組成部分,共享存儲(chǔ)可以選擇NAS,IP SAN或FC SAN。在網(wǎng)上評卷系統(tǒng)中,掃描后的考生答題圖像保存在NAS存儲(chǔ)上。評卷教師在評卷期間,瀏覽器通過文件服務(wù)器下載考生答題子圖會(huì)占用大量的網(wǎng)絡(luò)帶寬,如果虛擬化使用NAS存儲(chǔ)或IP SAN存儲(chǔ),在虛擬機(jī)進(jìn)行實(shí)時(shí)遷移或復(fù)制時(shí),會(huì)影響評卷教師評卷的流暢度。實(shí)際測試中發(fā)現(xiàn),在千兆網(wǎng)絡(luò)下,克隆或遷移一臺(tái)4個(gè)vcpu,8 GB vram,80 GB磁盤大小的虛擬機(jī),如果使用NAS存儲(chǔ),時(shí)間約20 min左右,同時(shí)其他虛擬機(jī)的運(yùn)行流暢度會(huì)受到較明顯的影響;而采用8 Gb帶寬的FC SAN存儲(chǔ),只需要5 min左右,且不影響其他虛擬機(jī)的運(yùn)行。因此文中在部署中,選用了FC存儲(chǔ)。FC存儲(chǔ)劃分成多個(gè)LUN,分別用于存放不同評卷公司需要使用的虛擬機(jī)文件和虛擬機(jī)模板,在進(jìn)行虛擬機(jī)遷移、克隆等操作時(shí),可避免對已運(yùn)行的虛擬機(jī)性能產(chǎn)生影響。
1.3.3 虛擬服務(wù)器的快速部署 在網(wǎng)上評卷系統(tǒng)中,應(yīng)用服務(wù)器和文件服務(wù)器選用虛擬機(jī)部署,對于負(fù)載比較高的評卷項(xiàng)目(如高考),數(shù)據(jù)庫服務(wù)器采用物理機(jī)部署,負(fù)載比較輕的評卷項(xiàng)目數(shù)據(jù)庫服務(wù)器使用虛擬機(jī)部署。根據(jù)不同評卷公司系統(tǒng)的情況,為每個(gè)評卷公司創(chuàng)建評卷所需的虛擬服務(wù)器(分別安裝應(yīng)用服務(wù)器、文件服務(wù)器和數(shù)據(jù)庫服務(wù)器虛擬機(jī)),每種服務(wù)器均按實(shí)際要求進(jìn)行安裝并優(yōu)化,完成后生成虛擬機(jī)模板[5]。在網(wǎng)上評卷系統(tǒng)準(zhǔn)備期間,根據(jù)虛擬機(jī)模板批量生成所需服務(wù)器。高考評卷期間,原本需要約一周的準(zhǔn)備時(shí)間可壓縮到半天,而且可以確保每臺(tái)復(fù)制出來的服務(wù)器都經(jīng)過了優(yōu)化。在網(wǎng)上評卷系統(tǒng)運(yùn)行過程中,如果需要增加應(yīng)用服務(wù)器或文件服務(wù)器,可以用虛擬機(jī)模板直接克隆生成,將生成后的虛擬機(jī)IP地址、主機(jī)信息進(jìn)行相應(yīng)更改后,即可快速投入使用,這個(gè)過程一般可在15~30 min完成。
在第一次復(fù)制完虛擬機(jī)后,需要對每臺(tái)虛擬機(jī)的評卷參數(shù)進(jìn)行設(shè)置,設(shè)置完成及本次評卷結(jié)束后,虛擬機(jī)將全部關(guān)閉,下次評卷開始時(shí)不再需要重新設(shè)置這些參數(shù),只需啟動(dòng)這些虛擬機(jī)即可。
虛擬化部署方式極大地提高了部署效率,同時(shí),也保證了每臺(tái)服務(wù)器的可靠性和穩(wěn)定性。
1.3.4 群集系統(tǒng)的高可用性 在采用虛擬化部署前,一臺(tái)物理服務(wù)器故障只會(huì)導(dǎo)致一個(gè)應(yīng)用無法工作,而虛擬化部署后,一臺(tái)物理機(jī)故障會(huì)導(dǎo)致運(yùn)行的多個(gè)應(yīng)用無法工作。用于確保更高級別高可用性的傳統(tǒng)解決方案都需要較大開銷,并且難以實(shí)施和管理。群集的高可用性能減少計(jì)劃內(nèi)停機(jī)時(shí)間,防止出現(xiàn)計(jì)劃外停機(jī)[6],并在物理機(jī)出現(xiàn)故障時(shí)提供自動(dòng)恢復(fù)能力。群集中的主機(jī)均會(huì)受到監(jiān)控,如果發(fā)生故障,故障主機(jī)上的虛擬機(jī)將在備用主機(jī)上重新啟動(dòng)[7]。在網(wǎng)上評卷系統(tǒng)中啟用了群集系統(tǒng)的高可用性,解決了原部署模式下,當(dāng)物理服務(wù)器出現(xiàn)突發(fā)故障后長時(shí)間影響業(yè)務(wù)的正常運(yùn)行,提高了系統(tǒng)的健壯性。
1.3.5 虛擬服務(wù)器的權(quán)限管理 網(wǎng)上評卷系統(tǒng)的虛擬機(jī)包括用于管理虛擬平臺(tái)所需要的虛擬機(jī)和不同評卷公司評卷用的虛擬機(jī),管理虛擬平臺(tái)所用虛擬機(jī)主要有DNS服務(wù)器、Active Directory服務(wù)器、vCenter服務(wù)器。在網(wǎng)上評卷用戶權(quán)限設(shè)置中,設(shè)置了網(wǎng)絡(luò)管理和若干個(gè)評卷公司兩個(gè)角色,每個(gè)評卷公司角色下又設(shè)置了掃描虛擬機(jī)、應(yīng)用服務(wù)器、文件服務(wù)器和數(shù)據(jù)庫服務(wù)器4個(gè)角色,每個(gè)角色分配相應(yīng)的管理或使用人員。這樣,不同的用戶登錄后只能看到相應(yīng)的虛擬服務(wù)器,確保了虛擬機(jī)的訪問安全。
1.3.6 提高網(wǎng)上評卷系統(tǒng)的可維護(hù)性 在網(wǎng)上評卷系統(tǒng)運(yùn)行過程中,對硬件設(shè)備進(jìn)行計(jì)劃內(nèi)維護(hù)時(shí),可使用實(shí)時(shí)遷移技術(shù)vmotion將虛擬機(jī)遷移到其他物理機(jī)上,不需要中斷業(yè)務(wù)的正常運(yùn)行。
1.3.7 提高硬件資源的利用率 網(wǎng)上評卷系統(tǒng)采用虛擬化方式部署后,每臺(tái)物理機(jī)上都運(yùn)行著若干臺(tái)虛擬機(jī),極大地提高了硬件資源的利用率[8],也降低了硬件設(shè)備的數(shù)量,整個(gè)評卷系統(tǒng)所使用的服務(wù)器比原來減少了近一半。
網(wǎng)上評卷系統(tǒng)采用虛擬化部署后,硬件費(fèi)用、維護(hù)成本等各方面都有了較大幅度降低,而系統(tǒng)性能則完全能滿足網(wǎng)上評卷的要求,表1為普通高考網(wǎng)上評卷虛擬化部署前后的對比情況。
表1 普通高考網(wǎng)上評卷虛擬化部署前后的對比Tab.1 College entrance examination online marking virtualization deployment before and after contrast
云計(jì)算是一種新型的計(jì)算模式,能夠把IT基礎(chǔ)設(shè)施資源、應(yīng)用系統(tǒng)作為服務(wù)通過互聯(lián)網(wǎng)提供給用戶,它也是一種新的基礎(chǔ)架構(gòu)管理方法,能夠把大量的、高度虛擬化的資源管理起來,組成一個(gè)龐大的資源池,以服務(wù)方式進(jìn)行管理[9]。
云計(jì)算定義了3種服務(wù)模式,基礎(chǔ)設(shè)施即服務(wù)(IaaS)、平臺(tái)即服務(wù)(PaaS)和軟件即服務(wù)(SaaS)。Iaas通過網(wǎng)絡(luò)向用戶提供計(jì)算機(jī)(物理機(jī)和虛擬機(jī))、存儲(chǔ)空間、網(wǎng)絡(luò)連接、負(fù)載均衡和防火墻等基本計(jì)算資源;用戶在此基礎(chǔ)上部署和運(yùn)行各種軟件,包括操作系統(tǒng)和應(yīng)用程序。PaaS實(shí)際上是指將軟件研發(fā)的平臺(tái)作為一種服務(wù),以SaaS的模式提交給用戶。平臺(tái)通常包括操作系統(tǒng)、編程語言的運(yùn)行環(huán)境、數(shù)據(jù)庫和 Web服務(wù)器,用戶在此平臺(tái)上部署和運(yùn)行自己的應(yīng)用。用戶不能管理和控制底層的基礎(chǔ)設(shè)施,只能控制自己部署的應(yīng)用。SaaS是一種通過Internet提供軟件的模式,云用戶通過云客戶端(通常是Web瀏覽器)使用軟件。云用戶不能管理應(yīng)用軟件運(yùn)行的基礎(chǔ)設(shè)施和平臺(tái),只能做有限的應(yīng)用程序設(shè)置。
根據(jù)網(wǎng)上評卷系統(tǒng)的特點(diǎn),可以對現(xiàn)有部署結(jié)構(gòu)進(jìn)一步加以改進(jìn),在現(xiàn)有服務(wù)器虛擬化基礎(chǔ)上,對網(wǎng)絡(luò)、存儲(chǔ)等資源進(jìn)行虛擬化,以PaaS服務(wù)的方式提供網(wǎng)上評卷所需的數(shù)據(jù)庫服務(wù)器平臺(tái)、Web服務(wù)器平臺(tái)和文件服務(wù)器平臺(tái),評卷公司直接從提供的云服務(wù)中申請資源即可完成系統(tǒng)的部署。
文中提出了在網(wǎng)上評卷項(xiàng)目中采用虛擬化部署的方式。并在2012年江蘇省普通高考、學(xué)業(yè)水平測試和成人高考的網(wǎng)上評卷項(xiàng)目中進(jìn)行了部署實(shí)施。實(shí)踐結(jié)果表明:采用虛擬化部署方式能大幅度地提高部署效率和質(zhì)量,減少大量的重復(fù)低級工作,充分提高硬件資源的利用率;同時(shí),利用虛擬化的高可用性、實(shí)時(shí)動(dòng)態(tài)遷移、資源動(dòng)態(tài)分配等優(yōu)點(diǎn),解決原有部署方式中由于硬件服務(wù)器故障等計(jì)劃外停機(jī)和計(jì)劃內(nèi)停機(jī)而導(dǎo)致的評卷工作中斷,確保了網(wǎng)上評卷系統(tǒng)可靠、穩(wěn)定地運(yùn)行。
[1]Scott Lowe.Mastering VMware vSphere 5[M].Indianapolis:John Wiley and Sons,2011.
[2]楊志彬.高校實(shí)驗(yàn)教學(xué)用服務(wù)器資源虛擬化部署[J].實(shí)驗(yàn)室研究與探索,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中國官方網(wǎng)站.ESXi和 vCenter Server5.1 文檔中心[EB/OL].(2012-09-14)[2013-01-16].http://www.vmware.com.cn.
[4]韓寓.服務(wù)器虛擬化技術(shù)研究與分析[J].電腦知識(shí)與技術(shù),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]繆一峰.醫(yī)院虛擬化服務(wù)器部署[J].計(jì)算機(jī)應(yīng)用與軟件,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部署圖書館服務(wù)器虛擬化解決方案[J].信息技術(shù),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]葉玲,孫鑒坤.虛擬化技術(shù)在圖書館服務(wù)器中的應(yīng)用[J].高校圖書情報(bào)論壇,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]張文盛.虛擬化服務(wù)器的應(yīng)用研究[J].辦公自動(dòng)化,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]李雙權(quán),王燕偉.云計(jì)算中服務(wù)器虛擬化技術(shù)探討[J].郵電設(shè)計(jì)技術(shù),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)