林杰
(華南理工大學(xué)公共管理學(xué)院,廣東廣州510640)
近年來(lái),我國(guó)的教育資源發(fā)展迅速,日常教學(xué)對(duì)實(shí)驗(yàn)室的發(fā)展提出了一定的要求。隨著科學(xué)技術(shù)的不斷進(jìn)步,虛擬實(shí)驗(yàn)室因其良好的便捷性和快速性而得到了廣泛的應(yīng)用[1-2]。國(guó)內(nèi)的許多高校根據(jù)自身的教學(xué)需求,都建立了對(duì)應(yīng)的虛擬實(shí)驗(yàn)室,但是同時(shí)也帶來(lái)了諸多問(wèn)題,如虛擬實(shí)驗(yàn)室在建設(shè)的過(guò)程中需購(gòu)置一定數(shù)量的IT設(shè)備以及配置IT設(shè)備維修人員,導(dǎo)致較大的建設(shè)成本以及后期維修成本,同時(shí)這些設(shè)備利用率都較低。針對(duì)該問(wèn)題,本文提出了基于云平臺(tái)軟件Cloudstack的虛擬實(shí)驗(yàn)室解決方法。根據(jù)傳統(tǒng)學(xué)校實(shí)驗(yàn)室存在的問(wèn)題,分析了云平臺(tái)虛擬實(shí)驗(yàn)室的需求,提出了虛擬實(shí)驗(yàn)室云服務(wù)平臺(tái)的基本架構(gòu)和功能,根據(jù)Cloudstack的Open API基本特征完成了虛擬實(shí)驗(yàn)室的設(shè)計(jì),并完成了系統(tǒng)測(cè)試。
實(shí)驗(yàn)室是高校教學(xué)系統(tǒng)中必不可少的組成部分,對(duì)學(xué)生技能提升、素質(zhì)提高具有重大意義。但是從目前的高校實(shí)驗(yàn)室資源現(xiàn)狀來(lái)看,還存在很多的問(wèn)題和不足[3-4],主要表現(xiàn)在:1)較高的建設(shè)維護(hù)費(fèi)用,實(shí)驗(yàn)室計(jì)算機(jī)使用強(qiáng)度較大,很難落實(shí)統(tǒng)一的使用規(guī)范,導(dǎo)致較高的更換頻率,因此計(jì)算技術(shù)設(shè)備以及軟件反復(fù)的更新替代造成了較大的網(wǎng)絡(luò)實(shí)驗(yàn)室建設(shè)費(fèi)用;2)繁瑣的上機(jī)準(zhǔn)備環(huán)境,實(shí)驗(yàn)室管理人員首先得將實(shí)驗(yàn)教師提交的實(shí)驗(yàn)準(zhǔn)備文檔上傳至所有的計(jì)算機(jī)中,一般耗時(shí)較長(zhǎng)且必須在非上機(jī)的時(shí)間段內(nèi)進(jìn)行操作,同時(shí)不能在上機(jī)時(shí)進(jìn)行實(shí)驗(yàn)環(huán)境的調(diào)整,因此帶來(lái)了較大的不便;3)桌面終端維護(hù)困難,網(wǎng)絡(luò)實(shí)驗(yàn)室的大量終端一起運(yùn)行時(shí)會(huì)導(dǎo)致操作效率很低,同時(shí)不同電腦的系統(tǒng)安裝、軟件刪除添加都有較大的工作量且耗時(shí)較大;4)終端安全性低,學(xué)校網(wǎng)絡(luò)實(shí)驗(yàn)室的電腦有較多的終端,實(shí)驗(yàn)資料頻繁的傳輸極易感染病毒,一些電腦病毒查殺軟件更新也不夠及時(shí),從而具有較大的安全隱患;5)單一的應(yīng)用場(chǎng)景,學(xué)校網(wǎng)絡(luò)實(shí)驗(yàn)室的功能往往比較單一,如電子閱覽書、外語(yǔ)教學(xué)網(wǎng)絡(luò)實(shí)驗(yàn)室、計(jì)算機(jī)教學(xué)網(wǎng)絡(luò)實(shí)驗(yàn)室等,該類網(wǎng)絡(luò)實(shí)驗(yàn)室占用資源較大,不具備多功能切換,致使應(yīng)用場(chǎng)景較為單一。
云計(jì)算技術(shù)的快速發(fā)展,為高校實(shí)驗(yàn)室的建設(shè)提供了新的解決方案。云計(jì)算憑借互聯(lián)網(wǎng)作為支撐中心,可提供安全和便捷的數(shù)據(jù)存儲(chǔ)以及計(jì)算服務(wù)功能,具有大規(guī)模多用戶、虛擬化和高可靠性等功能特點(diǎn)[5-6],因此可在云端搭建不同專業(yè)、功能的虛擬網(wǎng)絡(luò)實(shí)驗(yàn)室環(huán)境。云平臺(tái)可根據(jù)用戶的選擇,通過(guò)虛擬機(jī)來(lái)實(shí)現(xiàn)資源動(dòng)態(tài)分配,從而可以更好的利用教學(xué)實(shí)驗(yàn)室資源。將云計(jì)算引入來(lái)構(gòu)建學(xué)校虛擬網(wǎng)絡(luò)實(shí)驗(yàn)室一方面能夠降低實(shí)驗(yàn)室的建設(shè)成本,另一方面可靈活方便的動(dòng)態(tài)分配實(shí)驗(yàn)資源,提高了實(shí)驗(yàn)室的利用效率。因此,該方案具有較好的應(yīng)用需求價(jià)值。
云平臺(tái)虛擬網(wǎng)絡(luò)實(shí)驗(yàn)室是一種建立在云計(jì)算服務(wù)平臺(tái)的實(shí)驗(yàn)教學(xué)平臺(tái),其示意圖如圖1所示。云服務(wù)平臺(tái)使資源共享傳遞更加快速便利,可實(shí)現(xiàn)不同實(shí)驗(yàn)資源之間的真正共享。該實(shí)驗(yàn)平臺(tái)存在于一個(gè)虛擬的網(wǎng)絡(luò)環(huán)境當(dāng)中,可提供各種實(shí)驗(yàn)所需工具,云服務(wù)虛擬技術(shù)存儲(chǔ)大量的實(shí)驗(yàn)資源信息,為不同的網(wǎng)絡(luò)實(shí)驗(yàn)需求服務(wù),同時(shí)云平臺(tái)能夠提供多種網(wǎng)絡(luò)資源,滿足實(shí)驗(yàn)教學(xué)需求。
云服務(wù)采用先進(jìn)的虛擬化技術(shù)[7-8],信息搜取快捷方便,儲(chǔ)存較大的信息量,能夠提供多種不同的網(wǎng)絡(luò)實(shí)驗(yàn)設(shè)施,管理方式較為合理,同時(shí)能夠適應(yīng)不同的實(shí)驗(yàn)需求。虛擬網(wǎng)絡(luò)實(shí)驗(yàn)室的基本功能框圖如圖2所示,主要體現(xiàn)在以下幾個(gè)方面:1)網(wǎng)絡(luò)實(shí)驗(yàn)室設(shè)施管理功能,通過(guò)云計(jì)算和虛擬化平臺(tái)來(lái)提供多種服務(wù)功能,空間廣闊能夠涵蓋多種不同信息資源,存儲(chǔ)功能強(qiáng)大,同時(shí)還可以采用云計(jì)算和虛擬化技術(shù)來(lái)建立基礎(chǔ)設(shè)施云,進(jìn)一步提高云平臺(tái)功能;2)虛擬儀器管理功能,云平臺(tái)能夠在一個(gè)虛擬的環(huán)境中綜合有序的管理各類實(shí)驗(yàn)室虛擬儀器,實(shí)現(xiàn)真正的網(wǎng)絡(luò)虛擬資源共享,所有管理和共享是以Web服務(wù)為基礎(chǔ);3)實(shí)驗(yàn)設(shè)計(jì)和配置功能,該功能能夠改變網(wǎng)絡(luò)虛擬資源使用的不便,虛擬教學(xué)實(shí)驗(yàn)中的數(shù)據(jù)變動(dòng)靈活,設(shè)備使用范圍更改靈活,同時(shí)可模擬實(shí)驗(yàn)環(huán)境。
圖1 虛擬網(wǎng)絡(luò)實(shí)驗(yàn)室云平臺(tái)示意圖
圖2 虛擬網(wǎng)絡(luò)實(shí)驗(yàn)室平臺(tái)功能框圖
雖然網(wǎng)絡(luò)實(shí)驗(yàn)室是虛擬化平臺(tái),但可以對(duì)實(shí)驗(yàn)的每個(gè)步驟進(jìn)行配置,實(shí)驗(yàn)室數(shù)據(jù)信息具有一定的可信度和真實(shí)性,加上數(shù)據(jù)處理靈活可靠,且實(shí)驗(yàn)設(shè)計(jì)和組建配置自由,因此云服務(wù)平臺(tái)信息資源豐富。
云平臺(tái)虛擬網(wǎng)絡(luò)實(shí)驗(yàn)室是基于CloudStack的開放性軟件接口Open API技術(shù)(又稱開放平臺(tái))[9-10],API首先將所有的信息進(jìn)行整合而得到大批的API,然后傳播出去給用戶所使用。
在API的基礎(chǔ)上,采用以下構(gòu)建思想:1)類分層設(shè)計(jì),采用類分層設(shè)計(jì)思想建立系統(tǒng)模型,能夠降低相互之間的緊密程度,本文分別設(shè)計(jì)對(duì)象屬性以及不同的操作類,一共分為控制類層、頁(yè)面層、模型屬性層以及模型操作層等4個(gè)水平層次,其中控制層和頁(yè)面層利用JSF來(lái)綁定、轉(zhuǎn)換或者顯示數(shù)據(jù),主要的執(zhí)行功能是不同用戶之間的交互、數(shù)據(jù)獲取顯示等,模型屬性層表示的是對(duì)象的基本屬性以及對(duì)應(yīng)的基本操作,模型操作層對(duì)所有模擬對(duì)象進(jìn)行操作;2)多平臺(tái)管理設(shè)計(jì),本文采用WEB UI和Open API使系統(tǒng)完成交互,只需要用戶名以及密碼即可完成云平臺(tái)交互,此形式的云計(jì)算可管理所有云平臺(tái),實(shí)現(xiàn)云平臺(tái)資源共享和管理;3)采用XML或JSON數(shù)據(jù)格式對(duì)模型屬性類進(jìn)行設(shè)計(jì),能夠有效轉(zhuǎn)換為和API交互的數(shù)據(jù)格式或者模型屬性;4)采用JSEE的系統(tǒng)設(shè)計(jì)架構(gòu),JSEE框架可展示出不同層次的設(shè)計(jì)和環(huán)境轉(zhuǎn)移較為方便,因此可提高效率和增強(qiáng)規(guī)范性。
云計(jì)算對(duì)于不同的用戶設(shè)置不同的權(quán)限,管理人員能夠?qū)θ康腁PI進(jìn)行操作。系統(tǒng)Mobile WEB UI和PC WEB的支持來(lái)源于Primefaces mobile開源庫(kù),系統(tǒng)架構(gòu)圖如圖3所示。
圖3 系統(tǒng)架構(gòu)圖
主要的設(shè)計(jì)功能板塊包括API交互模塊、物理資源管理模塊、虛擬資源管理模塊、平臺(tái)資源管理模塊以及業(yè)務(wù)服務(wù)管理模塊等5個(gè)部分。
1)API交互模塊
Cloudstack一共有3類API交互方法,第一類是WEB UI的訪問(wèn),login接口調(diào)出的兩類結(jié)果實(shí)現(xiàn)API的交互;第二類是由apikey和signature交互所完成;第三類是服務(wù)器端口所完成的交互,該類交互缺乏認(rèn)證步驟極易造成危機(jī),因此不宜采用。綜合考慮本文的設(shè)計(jì)需求,采用第一類API交互方法,通過(guò)設(shè)計(jì)靜態(tài)全方位類來(lái)管理多平臺(tái)。系統(tǒng)的登錄類圖方式 主 要 有 LoginOp,LoginRequest,LoginResponse,LoginStatic,LoginResponseJson和 JsonUtil等 6種類型,其中JsonUtil類型是公用類型,通過(guò)Jackson工具來(lái)完成JavaObject和Json之間的交互。然后根據(jù)用戶登錄的時(shí)序圖來(lái)設(shè)計(jì)交互板塊,第一步使用用戶需要在第一頁(yè)申請(qǐng)登記需求,LoginRequest數(shù)據(jù)通過(guò)LoginView獲取之后便調(diào)用函數(shù)getLogin(),函數(shù)getLogin()再通過(guò)函數(shù)obToJson()完成LoginRequest對(duì)象到字符的轉(zhuǎn)變,最后通過(guò)HttpClient傳送派生的字符。
2)物理資源管理模塊
物理資源管理的基礎(chǔ)設(shè)置有Zone,Pod,Cluster以及Host等,此基礎(chǔ)設(shè)置對(duì)應(yīng)的資源管理有ZoneOp,PodOp,ClusterOp 以 及 HostOp,其 中ZoneOp,PodOp,ClusterOp主要實(shí)現(xiàn)修改、刪除等基本功能,HostOp則不僅完成基本功能,同時(shí)還能夠添加二級(jí)存儲(chǔ)、更新Host操作等。另外基礎(chǔ)設(shè)置的添加時(shí)序?yàn)閿?shù)據(jù)庫(kù)中心、機(jī)房、機(jī)架和主機(jī)。
3)虛擬資源管理模塊
虛擬資源管理模塊主要有系統(tǒng)虛擬機(jī)、虛擬路由器以及網(wǎng)絡(luò)資源等管理模塊,資源管理的實(shí)質(zhì)是管理云平臺(tái)、實(shí)際物理主機(jī)以及用戶虛擬機(jī)等3方面,資源監(jiān)管類型有Capacity類、UserVm類、Host類及Capacitys類等,其中云平臺(tái)通過(guò)Capacitys類獲取總資源,而實(shí)際物理主機(jī)以及用戶虛擬機(jī)則通過(guò)Host類及UserVm類獲取資源。
4)平臺(tái)資源管理模塊
平臺(tái)資源管理主要包括模板管理模塊、事件管理模塊、服務(wù)方案模塊以及資源計(jì)量等模塊等,其中模板管理模塊最重要的是管理虛擬機(jī)和ISO模塊,通過(guò)TemplateOp類來(lái)設(shè)置其基本屬性;事件管理模塊主要是記錄、查詢和刪除系統(tǒng)登錄和操控過(guò)程的整個(gè)事件,事件根據(jù)屬性可以劃分為系統(tǒng)事件和報(bào)警事件兩大類;服務(wù)方案模塊包含的內(nèi)容是計(jì)算、網(wǎng)絡(luò)和硬盤存儲(chǔ)等,為用戶資源分配提供依據(jù);資源計(jì)量模塊是通過(guò)人工手動(dòng)的啟動(dòng)Cloudstack管理服務(wù)工具來(lái)實(shí)現(xiàn)。
5)業(yè)務(wù)服務(wù)管理模塊
業(yè)務(wù)服務(wù)管理模塊包括實(shí)例管理模塊、項(xiàng)目管理模塊和用戶管理模塊等,其中實(shí)例管理是管控用戶虛擬機(jī),系統(tǒng)主要通過(guò)InstancesGroup工具來(lái)管控所有實(shí)例群的創(chuàng)建、更改以及刪除等,而通過(guò)VmSnapshot工具來(lái)設(shè)置虛擬機(jī)的快照,InstancesOP工具主要是支撐虛擬機(jī)內(nèi)部的調(diào)整和維護(hù)等;項(xiàng)目管理模塊能夠使用戶查找已有項(xiàng)目和添加待進(jìn)行的項(xiàng)目;用戶管理模塊主要完成用戶范圍、用戶賬戶以及用戶管理等,該模塊必須具備管理管理權(quán)限,用戶管理類圖中的AccoutOp和UserOp類支持基本功能的完成,Domain,Account及和User則是支持創(chuàng)建、修改、注冊(cè)和查看等功能。
在Cloudstack4.2云環(huán)境中搭建測(cè)試平臺(tái),云環(huán)境服務(wù)器為聯(lián)想的PC,分別設(shè)置3臺(tái)PC的用戶名和密碼,其中第一臺(tái)PC的IP為192.168.1.8,主要作為Cloudstack的服務(wù)管理器,第二臺(tái)PC和第三臺(tái)PC的IP分別為192.168.1.6和192.168.1.4,主要用作計(jì)算資源的結(jié)點(diǎn)。
測(cè)試系統(tǒng)中分別讓200個(gè)用戶、300個(gè)用戶、400個(gè)用戶和500個(gè)用戶訪問(wèn)云平臺(tái)虛擬網(wǎng)絡(luò)實(shí)驗(yàn)室,對(duì)訪問(wèn)的響應(yīng)時(shí)間和每秒事物數(shù)量進(jìn)行了測(cè)試,測(cè)試結(jié)果如圖4和圖5所示。從圖4中可以看出,當(dāng)并發(fā)用戶數(shù)為200和300時(shí),其平均響應(yīng)時(shí)間都在允許的范圍之內(nèi),而當(dāng)并發(fā)用戶數(shù)量超過(guò)400時(shí),響應(yīng)時(shí)間增加顯著,表明承受的負(fù)載太高。同樣的從圖5可知,并發(fā)用戶數(shù)在400之前的服務(wù)均可通過(guò),系統(tǒng)響應(yīng)正常,而當(dāng)并發(fā)用戶數(shù)達(dá)到500時(shí),每秒事物數(shù)開始下降,表明因大負(fù)荷已導(dǎo)致系統(tǒng)阻塞,系統(tǒng)非正常運(yùn)行,綜合看來(lái)所設(shè)計(jì)的實(shí)驗(yàn)室系統(tǒng)能夠滿足現(xiàn)代高校實(shí)驗(yàn)室用戶的使用需求。
圖4 云平臺(tái)下不同用戶響應(yīng)時(shí)間
圖5 云平臺(tái)下不同用戶每秒事物數(shù)
文中以云平臺(tái)軟件Cloudstack為基礎(chǔ),研究了云平臺(tái)虛擬網(wǎng)絡(luò)實(shí)驗(yàn)室功能實(shí)現(xiàn)技術(shù),分析了現(xiàn)有教學(xué)實(shí)驗(yàn)室的弊端以及云平臺(tái)虛擬實(shí)驗(yàn)室的需求,為此提出了虛擬實(shí)驗(yàn)室云服務(wù)平臺(tái)的基本架構(gòu)和功能,并根據(jù)云平臺(tái)Cloudstack的Open API基本特征設(shè)計(jì)了虛擬網(wǎng)絡(luò)實(shí)驗(yàn)室,最后搭建測(cè)試平臺(tái)對(duì)系統(tǒng)性能進(jìn)行了測(cè)試。所設(shè)計(jì)的云平臺(tái)虛擬網(wǎng)絡(luò)實(shí)驗(yàn)室能夠解決傳統(tǒng)教學(xué)實(shí)驗(yàn)室中資源浪費(fèi)和維護(hù)成本高等問(wèn)題,同時(shí)具備快速、可靠的運(yùn)行特性,能夠滿足現(xiàn)代高校實(shí)驗(yàn)室用戶的使用需求,是未來(lái)高校實(shí)驗(yàn)室建設(shè)的發(fā)展趨勢(shì)。