林杰
(華南理工大學公共管理學院,廣東廣州510640)
近年來,我國的教育資源發(fā)展迅速,日常教學對實驗室的發(fā)展提出了一定的要求。隨著科學技術(shù)的不斷進步,虛擬實驗室因其良好的便捷性和快速性而得到了廣泛的應(yīng)用[1-2]。國內(nèi)的許多高校根據(jù)自身的教學需求,都建立了對應(yīng)的虛擬實驗室,但是同時也帶來了諸多問題,如虛擬實驗室在建設(shè)的過程中需購置一定數(shù)量的IT設(shè)備以及配置IT設(shè)備維修人員,導致較大的建設(shè)成本以及后期維修成本,同時這些設(shè)備利用率都較低。針對該問題,本文提出了基于云平臺軟件Cloudstack的虛擬實驗室解決方法。根據(jù)傳統(tǒng)學校實驗室存在的問題,分析了云平臺虛擬實驗室的需求,提出了虛擬實驗室云服務(wù)平臺的基本架構(gòu)和功能,根據(jù)Cloudstack的Open API基本特征完成了虛擬實驗室的設(shè)計,并完成了系統(tǒng)測試。
實驗室是高校教學系統(tǒng)中必不可少的組成部分,對學生技能提升、素質(zhì)提高具有重大意義。但是從目前的高校實驗室資源現(xiàn)狀來看,還存在很多的問題和不足[3-4],主要表現(xiàn)在:1)較高的建設(shè)維護費用,實驗室計算機使用強度較大,很難落實統(tǒng)一的使用規(guī)范,導致較高的更換頻率,因此計算技術(shù)設(shè)備以及軟件反復的更新替代造成了較大的網(wǎng)絡(luò)實驗室建設(shè)費用;2)繁瑣的上機準備環(huán)境,實驗室管理人員首先得將實驗教師提交的實驗準備文檔上傳至所有的計算機中,一般耗時較長且必須在非上機的時間段內(nèi)進行操作,同時不能在上機時進行實驗環(huán)境的調(diào)整,因此帶來了較大的不便;3)桌面終端維護困難,網(wǎng)絡(luò)實驗室的大量終端一起運行時會導致操作效率很低,同時不同電腦的系統(tǒng)安裝、軟件刪除添加都有較大的工作量且耗時較大;4)終端安全性低,學校網(wǎng)絡(luò)實驗室的電腦有較多的終端,實驗資料頻繁的傳輸極易感染病毒,一些電腦病毒查殺軟件更新也不夠及時,從而具有較大的安全隱患;5)單一的應(yīng)用場景,學校網(wǎng)絡(luò)實驗室的功能往往比較單一,如電子閱覽書、外語教學網(wǎng)絡(luò)實驗室、計算機教學網(wǎng)絡(luò)實驗室等,該類網(wǎng)絡(luò)實驗室占用資源較大,不具備多功能切換,致使應(yīng)用場景較為單一。
云計算技術(shù)的快速發(fā)展,為高校實驗室的建設(shè)提供了新的解決方案。云計算憑借互聯(lián)網(wǎng)作為支撐中心,可提供安全和便捷的數(shù)據(jù)存儲以及計算服務(wù)功能,具有大規(guī)模多用戶、虛擬化和高可靠性等功能特點[5-6],因此可在云端搭建不同專業(yè)、功能的虛擬網(wǎng)絡(luò)實驗室環(huán)境。云平臺可根據(jù)用戶的選擇,通過虛擬機來實現(xiàn)資源動態(tài)分配,從而可以更好的利用教學實驗室資源。將云計算引入來構(gòu)建學校虛擬網(wǎng)絡(luò)實驗室一方面能夠降低實驗室的建設(shè)成本,另一方面可靈活方便的動態(tài)分配實驗資源,提高了實驗室的利用效率。因此,該方案具有較好的應(yīng)用需求價值。
云平臺虛擬網(wǎng)絡(luò)實驗室是一種建立在云計算服務(wù)平臺的實驗教學平臺,其示意圖如圖1所示。云服務(wù)平臺使資源共享傳遞更加快速便利,可實現(xiàn)不同實驗資源之間的真正共享。該實驗平臺存在于一個虛擬的網(wǎng)絡(luò)環(huán)境當中,可提供各種實驗所需工具,云服務(wù)虛擬技術(shù)存儲大量的實驗資源信息,為不同的網(wǎng)絡(luò)實驗需求服務(wù),同時云平臺能夠提供多種網(wǎng)絡(luò)資源,滿足實驗教學需求。
云服務(wù)采用先進的虛擬化技術(shù)[7-8],信息搜取快捷方便,儲存較大的信息量,能夠提供多種不同的網(wǎng)絡(luò)實驗設(shè)施,管理方式較為合理,同時能夠適應(yīng)不同的實驗需求。虛擬網(wǎng)絡(luò)實驗室的基本功能框圖如圖2所示,主要體現(xiàn)在以下幾個方面:1)網(wǎng)絡(luò)實驗室設(shè)施管理功能,通過云計算和虛擬化平臺來提供多種服務(wù)功能,空間廣闊能夠涵蓋多種不同信息資源,存儲功能強大,同時還可以采用云計算和虛擬化技術(shù)來建立基礎(chǔ)設(shè)施云,進一步提高云平臺功能;2)虛擬儀器管理功能,云平臺能夠在一個虛擬的環(huán)境中綜合有序的管理各類實驗室虛擬儀器,實現(xiàn)真正的網(wǎng)絡(luò)虛擬資源共享,所有管理和共享是以Web服務(wù)為基礎(chǔ);3)實驗設(shè)計和配置功能,該功能能夠改變網(wǎng)絡(luò)虛擬資源使用的不便,虛擬教學實驗中的數(shù)據(jù)變動靈活,設(shè)備使用范圍更改靈活,同時可模擬實驗環(huán)境。

圖1 虛擬網(wǎng)絡(luò)實驗室云平臺示意圖

圖2 虛擬網(wǎng)絡(luò)實驗室平臺功能框圖
雖然網(wǎng)絡(luò)實驗室是虛擬化平臺,但可以對實驗的每個步驟進行配置,實驗室數(shù)據(jù)信息具有一定的可信度和真實性,加上數(shù)據(jù)處理靈活可靠,且實驗設(shè)計和組建配置自由,因此云服務(wù)平臺信息資源豐富。
云平臺虛擬網(wǎng)絡(luò)實驗室是基于CloudStack的開放性軟件接口Open API技術(shù)(又稱開放平臺)[9-10],API首先將所有的信息進行整合而得到大批的API,然后傳播出去給用戶所使用。
在API的基礎(chǔ)上,采用以下構(gòu)建思想:1)類分層設(shè)計,采用類分層設(shè)計思想建立系統(tǒng)模型,能夠降低相互之間的緊密程度,本文分別設(shè)計對象屬性以及不同的操作類,一共分為控制類層、頁面層、模型屬性層以及模型操作層等4個水平層次,其中控制層和頁面層利用JSF來綁定、轉(zhuǎn)換或者顯示數(shù)據(jù),主要的執(zhí)行功能是不同用戶之間的交互、數(shù)據(jù)獲取顯示等,模型屬性層表示的是對象的基本屬性以及對應(yīng)的基本操作,模型操作層對所有模擬對象進行操作;2)多平臺管理設(shè)計,本文采用WEB UI和Open API使系統(tǒng)完成交互,只需要用戶名以及密碼即可完成云平臺交互,此形式的云計算可管理所有云平臺,實現(xiàn)云平臺資源共享和管理;3)采用XML或JSON數(shù)據(jù)格式對模型屬性類進行設(shè)計,能夠有效轉(zhuǎn)換為和API交互的數(shù)據(jù)格式或者模型屬性;4)采用JSEE的系統(tǒng)設(shè)計架構(gòu),JSEE框架可展示出不同層次的設(shè)計和環(huán)境轉(zhuǎn)移較為方便,因此可提高效率和增強規(guī)范性。
云計算對于不同的用戶設(shè)置不同的權(quán)限,管理人員能夠?qū)θ康腁PI進行操作。系統(tǒng)Mobile WEB UI和PC WEB的支持來源于Primefaces mobile開源庫,系統(tǒng)架構(gòu)圖如圖3所示。

圖3 系統(tǒng)架構(gòu)圖
主要的設(shè)計功能板塊包括API交互模塊、物理資源管理模塊、虛擬資源管理模塊、平臺資源管理模塊以及業(yè)務(wù)服務(wù)管理模塊等5個部分。
1)API交互模塊
Cloudstack一共有3類API交互方法,第一類是WEB UI的訪問,login接口調(diào)出的兩類結(jié)果實現(xiàn)API的交互;第二類是由apikey和signature交互所完成;第三類是服務(wù)器端口所完成的交互,該類交互缺乏認證步驟極易造成危機,因此不宜采用。綜合考慮本文的設(shè)計需求,采用第一類API交互方法,通過設(shè)計靜態(tài)全方位類來管理多平臺。系統(tǒng)的登錄類圖方式 主 要 有 LoginOp,LoginRequest,LoginResponse,LoginStatic,LoginResponseJson和 JsonUtil等 6種類型,其中JsonUtil類型是公用類型,通過Jackson工具來完成JavaObject和Json之間的交互。然后根據(jù)用戶登錄的時序圖來設(shè)計交互板塊,第一步使用用戶需要在第一頁申請登記需求,LoginRequest數(shù)據(jù)通過LoginView獲取之后便調(diào)用函數(shù)getLogin(),函數(shù)getLogin()再通過函數(shù)obToJson()完成LoginRequest對象到字符的轉(zhuǎn)變,最后通過HttpClient傳送派生的字符。
2)物理資源管理模塊
物理資源管理的基礎(chǔ)設(shè)置有Zone,Pod,Cluster以及Host等,此基礎(chǔ)設(shè)置對應(yīng)的資源管理有ZoneOp,PodOp,ClusterOp 以 及 HostOp,其 中ZoneOp,PodOp,ClusterOp主要實現(xiàn)修改、刪除等基本功能,HostOp則不僅完成基本功能,同時還能夠添加二級存儲、更新Host操作等。另外基礎(chǔ)設(shè)置的添加時序為數(shù)據(jù)庫中心、機房、機架和主機。
3)虛擬資源管理模塊
虛擬資源管理模塊主要有系統(tǒng)虛擬機、虛擬路由器以及網(wǎng)絡(luò)資源等管理模塊,資源管理的實質(zhì)是管理云平臺、實際物理主機以及用戶虛擬機等3方面,資源監(jiān)管類型有Capacity類、UserVm類、Host類及Capacitys類等,其中云平臺通過Capacitys類獲取總資源,而實際物理主機以及用戶虛擬機則通過Host類及UserVm類獲取資源。
4)平臺資源管理模塊
平臺資源管理主要包括模板管理模塊、事件管理模塊、服務(wù)方案模塊以及資源計量等模塊等,其中模板管理模塊最重要的是管理虛擬機和ISO模塊,通過TemplateOp類來設(shè)置其基本屬性;事件管理模塊主要是記錄、查詢和刪除系統(tǒng)登錄和操控過程的整個事件,事件根據(jù)屬性可以劃分為系統(tǒng)事件和報警事件兩大類;服務(wù)方案模塊包含的內(nèi)容是計算、網(wǎng)絡(luò)和硬盤存儲等,為用戶資源分配提供依據(jù);資源計量模塊是通過人工手動的啟動Cloudstack管理服務(wù)工具來實現(xiàn)。
5)業(yè)務(wù)服務(wù)管理模塊
業(yè)務(wù)服務(wù)管理模塊包括實例管理模塊、項目管理模塊和用戶管理模塊等,其中實例管理是管控用戶虛擬機,系統(tǒng)主要通過InstancesGroup工具來管控所有實例群的創(chuàng)建、更改以及刪除等,而通過VmSnapshot工具來設(shè)置虛擬機的快照,InstancesOP工具主要是支撐虛擬機內(nèi)部的調(diào)整和維護等;項目管理模塊能夠使用戶查找已有項目和添加待進行的項目;用戶管理模塊主要完成用戶范圍、用戶賬戶以及用戶管理等,該模塊必須具備管理管理權(quán)限,用戶管理類圖中的AccoutOp和UserOp類支持基本功能的完成,Domain,Account及和User則是支持創(chuàng)建、修改、注冊和查看等功能。
在Cloudstack4.2云環(huán)境中搭建測試平臺,云環(huán)境服務(wù)器為聯(lián)想的PC,分別設(shè)置3臺PC的用戶名和密碼,其中第一臺PC的IP為192.168.1.8,主要作為Cloudstack的服務(wù)管理器,第二臺PC和第三臺PC的IP分別為192.168.1.6和192.168.1.4,主要用作計算資源的結(jié)點。
測試系統(tǒng)中分別讓200個用戶、300個用戶、400個用戶和500個用戶訪問云平臺虛擬網(wǎng)絡(luò)實驗室,對訪問的響應(yīng)時間和每秒事物數(shù)量進行了測試,測試結(jié)果如圖4和圖5所示。從圖4中可以看出,當并發(fā)用戶數(shù)為200和300時,其平均響應(yīng)時間都在允許的范圍之內(nèi),而當并發(fā)用戶數(shù)量超過400時,響應(yīng)時間增加顯著,表明承受的負載太高。同樣的從圖5可知,并發(fā)用戶數(shù)在400之前的服務(wù)均可通過,系統(tǒng)響應(yīng)正常,而當并發(fā)用戶數(shù)達到500時,每秒事物數(shù)開始下降,表明因大負荷已導致系統(tǒng)阻塞,系統(tǒng)非正常運行,綜合看來所設(shè)計的實驗室系統(tǒng)能夠滿足現(xiàn)代高校實驗室用戶的使用需求。

圖4 云平臺下不同用戶響應(yīng)時間

圖5 云平臺下不同用戶每秒事物數(shù)
文中以云平臺軟件Cloudstack為基礎(chǔ),研究了云平臺虛擬網(wǎng)絡(luò)實驗室功能實現(xiàn)技術(shù),分析了現(xiàn)有教學實驗室的弊端以及云平臺虛擬實驗室的需求,為此提出了虛擬實驗室云服務(wù)平臺的基本架構(gòu)和功能,并根據(jù)云平臺Cloudstack的Open API基本特征設(shè)計了虛擬網(wǎng)絡(luò)實驗室,最后搭建測試平臺對系統(tǒng)性能進行了測試。所設(shè)計的云平臺虛擬網(wǎng)絡(luò)實驗室能夠解決傳統(tǒng)教學實驗室中資源浪費和維護成本高等問題,同時具備快速、可靠的運行特性,能夠滿足現(xiàn)代高校實驗室用戶的使用需求,是未來高校實驗室建設(shè)的發(fā)展趨勢。