許園甫
(桂林醫學院計算機教研室,廣西 桂林541004)
NCRE考試系統環境批量自動化部署方案的研究與實現
許園甫
(桂林醫學院計算機教研室,廣西 桂林541004)
針對目前全國計算機等級考試(NCRE)系統環境部署中人工逐臺配置考試機工作繁瑣,各類網絡同傳功能均無法實現不同考試機上自動生成K用戶以及自動映射網絡驅動器K盤的實際問題,文章提出了一種基于批處理與AutoIt腳本程序相結合,同時借助于網絡同步軟件實現NCRE考試系統的批量自動化安裝與環境設置同時進行的高效部署方案,從而在實際應用中大大提高了工作效率。
NCRE;批處理AutoIt;批量;自動化
全國計算機等級考試(National Computer Rank Examination,簡稱NCRE)是由國家教育部考試中心主辦,面向社會,用于考查應試人員計算機應用知識與技能的全國性計算機水平考試體系。NCRE的考核內容是根據社會各個部門應用計算機的不同程度和需要、國內計算機技術的發展情況以及中國計算機教育和普及的現狀而確定的;它以應用能力為主,劃分不同的等級進行考核,為人員擇業、人才流動提供其計算機應用知識與能力水平的證明。
作為國家級的考試,NCRE的整個考試過程要求非常嚴謹,其考試系統軟件的安裝配置工作也極為繁瑣。本文就如何解決考試軟件在考場中的快速部署和設置問題,提出了一種不同于以往的全新的高效解決方案,實現了對考場中所有考試機進行批量自動化安裝考試系統和環境設置,從而大大提高了考場部署工作的效率,以保障考試的順利進行。
NCRE考試在局域網環境下進行,考試機操作系統使用Windows 7(中文專業版),服務器操作系統使用Windows Server 2008(中文標準版),并安裝SQL Server 2008(中文標準版)數據庫系統[1]。整個NCRE上機考試軟件由“管理系統”和“考試系統”兩部分組成,以一二級考試為例,其安裝部署流程如圖1所示。

圖1 NCRE考試軟件安裝流程
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沖突。

圖2 服務器的DHCP配置
其次,根據NCRE考試機環境配置要求,可以采用批處理程序實現在考試機上自動生成具有系統管理員權限的K用戶以及將服務器上的考試共享目錄自動映射為網絡驅動器K盤,同時啟動K盤中的考試系統安裝程序,利用事先編好的AutoIt自動化腳本實現考試系統的自動安裝和環境檢測。
最后,借助于網絡同步軟件將批處理程序和AutoIt腳本程序同步傳送至每臺考試機的一個指定目錄下,然后調用該同步軟件的遠程運行程序功能,同時運行每臺考試機該目錄下的批處理程序和AutoIt腳本程序,從而實現考場中所有考試機的批量自動化部署。整個方案的實施流程如圖3所示。

圖3 方案流程圖
3.方案的技術原理與實現
根據方案的實施流程,方案實現的關鍵點為:自動生成K用戶、自動映射K盤以及考試系統的自動安裝與檢測。
(1)自動生成K用戶
由于考試機的IP地址可以通過服務器的DHCP服務自動獲取,而DHCP服務的IP地址池是根據考場中考試機的數量進行設定的,因此,可以通過截取考試機IP地址的最后一個字節段數值來組成K用戶名,即“K+截取的數值”。據此原理編寫批處理程序addUser.bat,實現在考試機中添加該K用戶,并將其隸屬于Administrators組。關鍵代碼如下:


(2)自動映射K盤
編寫批處理程序ncreSetup.bat,實現自動映射服務器考試共享目錄為網絡驅動器K盤,并啟動K盤下的考試系統安裝程序。由于NCRE考試系統有嚴格的時間限制,只能在規定的考試期限內安裝運行,而考場中每臺考試機的系統時間不一定一致,這樣就有可能出現部分考試機的考試系統程序安裝運行錯誤,因此需要與服務器進行一次時間同步來統一所有考試機的系統時間。關鍵代碼如下:

(3)考試系統的自動安裝與檢測
根據考試系統的安裝和環境檢測步驟采用AutoIt編寫腳本程序實現自動化安裝,包括等待安裝程序窗口激活、模擬鍵盤輸入和鼠標點擊等操作,待測試無誤后將其編譯成可執行文件ncreAutoIt.exe。主要代碼如下:


上述三個關鍵程序在單臺考試機上測試運行成功后,選用網絡同步軟件——同步專家網吧版將三個程序文件同步傳送到每臺考試機的指定目錄下(該目錄由同步專家網吧版的服務端程序設定,同傳前需在每臺考試機上運行一次其客戶端程序)。由于程序文件容量非常小,只有幾個KB,因此同步時間很短,在網絡通暢的情況下約1分鐘之內就能完成。文件同步完成后,首先利用該同步軟件遠程同時運行每臺考試機特定目錄下的批處理程序addUser.bat自動生成K用戶;然后,待系統重啟或注銷后以K用戶登錄,再次使用同步軟件遠程運行每臺考試機特定目錄下的可執行程序ncreAutoIt.exe,該程序會調用批處理ncreSetup.bat自動映射K盤并根據事先編好的AutoIt自動化腳本實現考試系統在每臺考試機上的自動化安裝和環境檢測,如圖4、圖5所示。

圖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.
(編輯:魯利瑞)
TP311
A
1673-8454(2016)23-0078-04