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

圖1 虛擬網絡實驗室云平臺示意圖

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

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

圖4 云平臺下不同用戶響應時間

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