張乃千 楊海 周麗濤



摘要:分析云計算的結(jié)構(gòu)特點及在教學領(lǐng)域的發(fā)展趨勢,提出“教學實驗云”的想法,分析其技術(shù)優(yōu)勢,采用瘦客戶端模式,完成虛擬實驗云平臺的總體構(gòu)架和功能設計,以程序編譯平臺、電路仿真平臺和硬件實驗平臺為例進行具體設計,同時提出運用最近最少使用算法(LRU)解決資源訪問沖突和提高資源利用效率、建立預約機制等關(guān)鍵問題的方案,在云計算教學領(lǐng)域具有巨大的發(fā)展前景。
關(guān)鍵詞:云計算;虛擬實驗;實驗云;云教學
0.引言
虛擬實驗云平臺是指通過融合云計算技術(shù)和遠程實驗技術(shù)提供的一項虛擬實驗課程,可以改變傳統(tǒng)的上機實驗課程模式,實現(xiàn)利用任意終端的“瘦客戶端”模式實現(xiàn)遠程虛擬實驗。隨著云計算和信息網(wǎng)絡的發(fā)展,虛擬實驗平臺得到了巨大的關(guān)注,相應的遠程實驗室產(chǎn)品也越來越多。卡拉羅納州立大學設計研發(fā)了LAAP(learn anytime anywhere physics)物理實驗系統(tǒng),可以通過網(wǎng)頁客戶端直接訪問實驗室資源,實現(xiàn)虛擬實驗室資源選取、相關(guān)實現(xiàn)模塊實施、測試實驗數(shù)據(jù)結(jié)果和測試評分等功能。華中科技大學開發(fā)的虛擬實驗教學環(huán)境項目也在虛擬實驗室建設和虛擬實驗教學上取得了重大突破。楊龍軍等人設計了一個基于云計算平臺的計算機硬件遠程實驗室,通過在線網(wǎng)絡連接方式控制實體硬件資源完成虛擬實驗;劉福強等人基于云計算方式設計了一種開放式實驗平臺并完成整體規(guī)劃設計;吳迪等人基于XEN云平臺設計了網(wǎng)絡安全實驗課程,發(fā)揮了云計算的優(yōu)勢。基于目前計算機虛擬實驗軟件資源豐富,高等院校校園網(wǎng)絡建設進入快速發(fā)展階段,在線網(wǎng)絡多媒體表達模式發(fā)生巨大變化的現(xiàn)狀,我們設計了一款基于云計算的虛擬實驗云平臺,可以通過利用服務器模擬仿真和遠程硬件操控等方式充分發(fā)揮云計算優(yōu)勢,解決傳統(tǒng)計算機課程實驗的不足,具有一定的發(fā)展前景。
1.云計算在實驗教學領(lǐng)域的優(yōu)勢
云計算技術(shù)主要發(fā)展自并行計算(parallel computing)、分布式計算(distributed computing)和網(wǎng)格計算(grid computing),目前主要包括虛擬化(virtualization)、效用計算(utility computing)等概念。它包含基礎(chǔ)設施、平臺、應用3個邏輯層次,可以提供包括基礎(chǔ)設施即服務(IaaS)、平臺即服務(PaaS)和軟件即服務(SaaS)等功能,具有超大規(guī)模、虛擬化、高可靠性、高拓展性、多功能性等技術(shù)特點。下面基于云計算的相關(guān)特點,分析將其應用于實驗教學領(lǐng)域的優(yōu)勢。
1.1云計算的體系構(gòu)架
基于廣義云計算的定義,云計算提供的服務主要通過網(wǎng)絡形式按需獲得,資源提供者可以看做是“云”端,“云”中的資源具有獲取實時性、使用按需性、擴展方便性等特點。目前的云計算體系主要分為5個構(gòu)架層次:物理層、核心處理層、資源分布層、服務提供層和用戶應用層。
1.2云計算在教學領(lǐng)域的發(fā)展
近幾年,隨著云計算的快速發(fā)展,云計算在國防工業(yè)、傳媒、政務公務領(lǐng)域得到了一定的應用,發(fā)揮了相關(guān)優(yōu)勢。但是在教學領(lǐng)域,云計算與教學主體的融合還沒有展開,教育信息化還停留在“傳統(tǒng)課堂講授+電子教案”的模式上,計算機等課程實驗仍是基于單一計算機或硬件終端的調(diào)試實驗。國家教育部《教育信息化十年發(fā)展規(guī)劃(2011-2020年)》已明確提出:到2015年,初步建成國家教育云基礎(chǔ)平臺,支持相關(guān)教育云計算資源平臺和管理服務平臺的有效部署和應用,為用戶提供教育基礎(chǔ)類云服務。可以預見,推動云計算在教學領(lǐng)域的發(fā)展,具有廣闊的應用前景。
基于云計算應用的教學云可以將相應的教育信息化資源虛擬化成巨大的云資源庫,以云資源庫為基礎(chǔ)向?qū)W生提供廣泛的云計算教學服務。在云計算應用的教學云中,用戶不需要安裝服務器程序或任何客戶端軟件就可以利用自己的移動設備終端,在任意時間、任意地點通過瀏覽器訪問教學云資源,來完成各種課程學習或在線遠程實驗操作。云計算系統(tǒng)包含大量計算機集群進行海量數(shù)據(jù)存儲與處理,可以為用戶提供最新最快速的服務信息。如果將基于云計算的教學云與多媒體教學資源和虛擬實驗資源進行整合優(yōu)化,就可以構(gòu)建成一個實時、全面的“多媒體教學實驗云平臺”,這對于提高教育信息化、促進教育發(fā)展具有重要意義。
2.虛擬實驗云平臺總體設計
2.1總體構(gòu)架
虛擬實驗云平臺采用瘦客戶端/云服務器模式,系統(tǒng)主要由用戶端、云服務器和網(wǎng)絡連接組成,包括相關(guān)的硬件系統(tǒng)和軟件平臺,整體平臺構(gòu)架如圖1所示。
其中,用戶端采用瘦客戶端模式,要求用戶可以使用終端連接實驗云網(wǎng)絡并可以實現(xiàn)頁面瀏覽即可。實驗云資源支持通過安全虛擬桌面連接,實驗運行在虛擬桌面中,實驗過程和結(jié)果保存在虛擬實驗云服務器中。除去用戶端以外的其他部分是平臺的后臺系統(tǒng),后臺系統(tǒng)綜合運用存儲設備、硬件設備、服務器集群設備、網(wǎng)絡網(wǎng)關(guān)設備等,并基于云計算平臺搭建后臺虛擬仿真實驗室及虛擬實驗環(huán)境。這一平臺實現(xiàn)了數(shù)據(jù)、軟硬件設備等大規(guī)模資源的統(tǒng)一調(diào)度管理。其中,存儲服務器主要負責用戶實驗數(shù)據(jù)的在線存儲,實驗服務器負責搭建虛擬實驗環(huán)境并提供實驗支持,監(jiān)控服務器負責監(jiān)控實驗環(huán)境運行狀態(tài)。
后臺部分的最底層為磁盤陣列,用來為云平臺服務器提供共享數(shù)據(jù)存儲。上一層為服務器群和網(wǎng)絡交換設備,通過高速物理網(wǎng)絡聯(lián)通。服務器集群中包含虛擬實驗室的各種操作平臺,平臺內(nèi)已含實驗相關(guān)運行環(huán)境、實驗數(shù)據(jù)、硬件資源及應用軟件,用戶可以在虛擬實驗室基礎(chǔ)上構(gòu)建自己所需的各種實驗環(huán)境。每個用戶都可以平等地從云服務器獲取相關(guān)資源并建立虛擬實驗環(huán)境,并且用戶之間的數(shù)據(jù)相互隔離,可以提供實驗數(shù)據(jù)的存儲功能等。
軟件部分主要通過在云服務器中運行不同的虛擬實驗環(huán)境,包括操作系統(tǒng)的選取和實驗軟件的安裝,根據(jù)服務器的運算性能不同,在不同的服務器上部署不同的實驗環(huán)境。系統(tǒng)管理部分將用來管理和維護創(chuàng)建的虛擬實驗環(huán)境,并合理分配實驗資源,將一個或多個云服務器整合為多個虛擬計算機集群系統(tǒng)。在實際應用中,使用負載均衡技術(shù),保證每臺虛擬實驗環(huán)境的云服務器具有等價地位,可以單獨提供虛擬實驗服務,實現(xiàn)實驗資源利用率的均衡化,提高實驗環(huán)境的可用性。
除了虛擬實驗程序仿真以外,針對用戶需要硬件實驗板進行實驗的情況,我們設計了將實驗板與云服務器連接成內(nèi)部網(wǎng)絡的結(jié)構(gòu),當用戶提出硬件實驗需求時,可直接將相關(guān)實驗代碼發(fā)送到硬件實驗板上,通過云服務器返回實驗數(shù)據(jù)。在這方面,國防科學技術(shù)大學獨立研發(fā)的天河陽光實驗板對此進行了積極的探索,取得了較大進展,在技術(shù)上積累了一定經(jīng)驗。天河陽光實驗板與交換機、Web服務器等共同組成了B/S模式的云實驗平臺,用戶只需要一個可以上網(wǎng)的終端就可以進行實驗。天河陽光實驗板由Web服務器進行控制,擁有豐富的硬件實驗資源,可以將實驗者的實驗數(shù)據(jù)遠程下載到FPGA,可實現(xiàn)相關(guān)的硬件實驗。天河陽光實驗板的硬件結(jié)構(gòu)如圖2所示,當用戶發(fā)送實驗請求時,實驗板的STM32會控制命令CPLD完成FPGA的配置工作,同時將地址和數(shù)據(jù)傳送給FPGA,并將實驗數(shù)據(jù)通過STM32返回云服務器并最終發(fā)送給用戶。
2.2實現(xiàn)功能
虛擬實驗云平臺實現(xiàn)的主要功能包括:用戶在使用虛擬實驗云平臺之前先申請專門的用戶賬號以進行實驗;實驗的環(huán)境可以提前預約,也可以直接上機操作;在用戶端完成登陸后即可搭建虛擬實驗環(huán)境,進行相關(guān)實驗;實驗設計完成后可以將實驗內(nèi)容發(fā)送到云服務器端并進行實驗仿真,模擬實驗結(jié)束后將實驗結(jié)果傳送給用戶;用戶的實驗數(shù)據(jù)不會永久存放在虛擬實驗環(huán)境中,但可以將實驗數(shù)據(jù)和結(jié)果存放在云存儲端以便后續(xù)實驗的調(diào)用;云服務端通過虛擬實驗軟件提供預置的實驗環(huán)境以方便用戶實驗;用戶在進行實驗時還可以實時檢索云服務端的參考文獻資料并將相關(guān)實驗情況實時共享。為簡化用戶操作,提高對系統(tǒng)的熟練性和實驗效率以及考慮到系統(tǒng)的跨平臺性,用戶端提供安全虛擬桌面支持,主要由網(wǎng)頁操作完成,實驗環(huán)境安裝在虛擬桌面平臺,用戶只要在動態(tài)網(wǎng)頁中完成相關(guān)操作即可。實驗完成后,用戶可以對實驗環(huán)境進行在線評價、指出存在問題,以便于云服務端系統(tǒng)維護和改進。系統(tǒng)的功能實現(xiàn)流程圖如圖3所示。
2.3具體應用設計
2.3.1虛擬實驗云程序編譯平臺的設計
虛擬實驗云程序編譯平臺主要提供程序編譯服務,用戶不需要在本機安裝任何程序語言編譯環(huán)境,通過云服務端的虛擬編譯環(huán)境,在線搭建程序開發(fā)平臺后即可實時編譯程序代碼,并得到相關(guān)程序編譯情況和二進制程序。例如,在進行c語言代碼編譯實驗時,可以根據(jù)實驗需要選擇Windows或Linux系統(tǒng)下的Visual C++、Java、Turbo C等編譯環(huán)境作為虛擬實驗環(huán)境,用戶提交測試代碼后由云服務器端根據(jù)用戶設計需求選擇實驗服務器中對應的系統(tǒng)平臺和編譯環(huán)境進行遠程編譯并返回編譯結(jié)果。虛擬實驗云程序編譯平臺的主要設計功能如圖4所示。
實驗中,云服務端提前配置好不同系統(tǒng)平臺下的不同編譯環(huán)境,用戶在登錄后,即可選擇需要的編譯環(huán)境搭建自己的項目工程文件。對于常用的底層資源庫,云實驗環(huán)境支持實時的添加和調(diào)用。用戶完成項目配置后即可進行根據(jù)系統(tǒng)文檔規(guī)范的代碼設計,設計完成后,可以選擇進行編譯。系統(tǒng)將用戶的項目工程發(fā)送到云服務端,通過虛擬編譯環(huán)境實時編譯并反饋編譯信息,如錯誤代碼、二進制文件等,用戶可以選擇將這些實驗數(shù)據(jù)保存在云服務器存儲或者下載到本機保存。這種云編譯平臺不受本地客戶端性能限制,擁有豐富的編譯開發(fā)環(huán)境,可以極大提高用戶的編程效率。
2.3.2虛擬實驗云電路仿真平臺的設計
虛擬實驗云電路仿真平臺的應用效果與程序編譯平臺類似,用戶不需要在本機安裝相關(guān)電路仿真軟件,通過云服務端就可以完成電路的虛擬實驗測試。但是基于電路實驗的客觀需要,虛擬電路仿真平臺要求用戶端提供更多的富文本信息,包括圖形圖像和必要的音視頻資源,實驗數(shù)據(jù)的發(fā)送和實驗結(jié)果的反饋也有所不同。
為了提高瀏覽器端電路仿真平臺的表達效果,可以采用HTML5技術(shù)進行網(wǎng)頁的設計與表達。HTML5是HTML語言的最新版本,對于多元素網(wǎng)頁有更好的支持,可以較好地解決數(shù)據(jù)存儲、地理定位、音視頻播放、網(wǎng)頁繪圖等問題,可以實現(xiàn)對語義化標簽的直接支持,矢量繪圖和支持網(wǎng)頁內(nèi)容編輯、多線程處理和離線存儲等。目前主流的瀏覽器客戶端均增加了對HTML5語言的支持。其中,HTML5提供了一種Canvas標記元素,這種元素可以在瀏覽器端直接實現(xiàn)畫布功能。Canvas可以實現(xiàn)畫矢量圖、合成柵格圖等操作,并將這些圖形直接渲染在瀏覽器上,這樣極大地簡化了網(wǎng)頁中圖形等多媒體資源的交互過程。基于HTML5設計的電路仿真平臺效果如圖5。
實驗中,云服務端提前配置電路仿真平臺環(huán)境,用戶登錄后即可開展仿真操作。電路仿真平臺基于富文本信息呈現(xiàn),用戶可以通過拖拽電子元件實現(xiàn)“所見即所得”的電路設計,并通過調(diào)用與服務端虛擬電路仿真平臺進行電路仿真實驗,實時返回仿真結(jié)果。
2.3.3虛擬實驗云硬件實驗平臺的設計
虛擬實驗云硬件實驗平臺包括硬件仿真和硬件實物操作,硬件仿真平臺與程序編譯平臺相類似,硬件實物操作將云計算技術(shù)與真實硬件實驗板相結(jié)合,用戶可以通過遠程云連接直接調(diào)用硬件實驗板資源進行實驗。使用云計算+實驗板的模式可以有效提高資源利用效率,降低實驗成本,減少不必要的用戶等待時間,為更多的用戶提供硬件實驗操作。該用戶端的功能類似于程序編譯平臺,用戶只需要在線提交使用硬件描述語言描述的實驗代碼,云服務器接收相關(guān)代碼并在特定的虛擬仿真環(huán)境中測試,如果仿真測試成功,則自動連接實驗板進行硬件實物操作并返回實驗結(jié)果,平臺的主要設計功能如圖6所示。
實驗中,計算機綜合硬件實驗板整合了豐富的硬件實驗資源,實驗板直接與云服務器端連接并接受云服務器的資源調(diào)用,響應客戶端請求。當用戶提交實驗代碼后,云服務器接收到相關(guān)數(shù)據(jù),選取相對占用率最低硬件實驗板進行排隊操作,將配置文件下載到FPGA后進行實驗操作,記錄實驗結(jié)果并返回實驗數(shù)據(jù)。
3.虛擬實驗云平臺關(guān)鍵技術(shù)研究
3.1資源訪問最近最少使用法
在虛擬實驗云平臺設計中,大規(guī)模用戶申請相關(guān)實驗資源后,存在資源占用沖突的可能。如虛擬電路仿真平臺需要提供大量配置文件,仿真環(huán)境配置準備時間較長;進行硬件實驗板實驗時,由于對實驗板的反復連續(xù)操作,新下載的配置文件需要在較短時間內(nèi)替換舊的配置文件等。如果每次不同用戶配置的實驗環(huán)境相差不大,實驗環(huán)境一直處于運行狀態(tài),則沒有必要每次重新配置實驗環(huán)境。為了解決這一問題,可以將每一個實驗環(huán)境類比Cache調(diào)度的替換算法,采用最近最少算法(LRU)合理配置虛擬實驗室資源訪問。
實驗云平臺運行中,服務器端記錄每一個實驗環(huán)境的相關(guān)參數(shù)信息,當上一個用戶完成實驗退出后,云服務器端實驗環(huán)境并不隨機清空,并同時記錄相關(guān)服務資源或硬件實驗板的訪問次數(shù)。當新的用戶申請實驗環(huán)境時,如果所需實驗環(huán)境與服務器記錄某類實驗環(huán)境資源類似,且該服務資源處于空閑狀態(tài),則優(yōu)先分配空閑實驗環(huán)境中使用次數(shù)最少的一個分配給用戶操作。如果沒有與用戶提交相類似的實驗資源,則找出空閑實驗資源中使用次數(shù)最少的一個分配給用戶操作。同時為了防止掛機現(xiàn)象的出現(xiàn),當服務器長期未能與用戶進行數(shù)據(jù)連接并確認時,將自動斷開服務器與客戶端的實驗連接,同時回收相關(guān)實驗環(huán)境。
3.2虛擬實驗環(huán)境預約機制
當用戶需要提前預約實驗環(huán)境和實驗時間時,可以通過預約機制完成。預約系統(tǒng)包括用戶端、云計算服務器和數(shù)據(jù)庫3部分組成。當用戶通過用戶端登陸并選擇實驗環(huán)境預約功能后,將從數(shù)據(jù)庫資源中顯示當前可以預約的虛擬實驗環(huán)境。數(shù)據(jù)庫中主要存放用戶信息、虛擬實驗室資源環(huán)境情況等。當用戶確認實驗環(huán)境預約后,可以由系統(tǒng)自動依據(jù)相關(guān)信息進行審核,審核完成后,系統(tǒng)即自動生成該用戶的模擬使用信息并在特定時間點前占用相關(guān)虛擬實驗資源,資源占用同樣按照最近最少法原則,根據(jù)超時規(guī)則即如果用戶在預約實驗環(huán)境一段時間后,未登錄系統(tǒng)或未實現(xiàn)數(shù)據(jù)連接,則自動取消占用并退出實驗環(huán)境。
4.結(jié)語
隨著云計算技術(shù)的快速發(fā)展,在相關(guān)領(lǐng)域的技術(shù)應用也將越來越普遍,利用云計算技術(shù)成功解決的實際問題也會越來越多。基于云計算的虛擬實驗云平臺可以借助云計算網(wǎng)絡共享實驗環(huán)境,擴大實現(xiàn)規(guī)模,實現(xiàn)教育資源整合,降低實驗成本。通過服務器主機模擬和遠程硬件操控等實現(xiàn)方式進行虛擬實驗可以充分發(fā)揮云計算優(yōu)勢,解決傳統(tǒng)計算機課程實驗不足問題,同時為學生的創(chuàng)新實驗、課程設計提供了方便靈活的技術(shù)支撐,避免了實驗室硬件資源堆疊、利用率低、實驗環(huán)境重復建設問題,具有一定的發(fā)展前景。
(編輯:孫怡銘)