秦宇
【摘 要】教育信息化極大的提高了學(xué)習(xí)者的學(xué)習(xí)效率,但在目前,信息化教育還主要停留在電子文字講解,音視頻多媒體演示等手段,還缺乏為學(xué)習(xí)者提供一個多功能的實驗平臺。本文分析和研究了遠(yuǎn)程桌面的實現(xiàn)原理和方式,設(shè)計出了通過web頁面訪問多臺運行于vshere平臺上的虛擬機的遠(yuǎn)程桌面系統(tǒng)。
【關(guān)鍵詞】websocket novnc 遠(yuǎn)程桌面
中圖分類號: TP309 文獻(xiàn)標(biāo)識碼: A 文章編號: 2095-2457(2017)23-0060-002
【Abstract】Education informationization greatly improves the learning efficiency,but at present,Education informationization are still in the state of using the electronic text,audio and video multimedia presentations and other means, but also lack of a multi-functional experimental platform for learners.This paper analyzes and studies the implementation principle and method of remote desktop, and designs a remote desktop system accessing multiple virtual machines running on vshere platform through web pages.
【Key words】Websocket novnc remote_desktop
0 前言
教育信息化不單要采用電子文字,音視頻等多媒體手段,還要給學(xué)習(xí)者提供一個實驗平臺,讓學(xué)習(xí)者動手實驗,這樣更有利于學(xué)習(xí)者的技能學(xué)習(xí)。為了給計算機專業(yè)的學(xué)生提供虛擬桌面,在計算機上進(jìn)行實驗,有以下幾種方案:
(1)為每個學(xué)生提供一臺物理機,實驗直接在物理機上開展。
(2)在每臺物理機上利用虛擬軟件。例如VMware workstations或者virtualbox建立虛擬機,實驗在虛擬機上進(jìn)行。
(3)在多臺服務(wù)器和共享存儲上組建云平臺,由管理員統(tǒng)一為學(xué)生分配虛擬機。
在第一種方案中,物理機一旦關(guān)機,實驗就被迫終止,實驗沒有延續(xù)性。各個物理機的資源利用不平衡,機器維護(hù)成本高。在第二種方案中,可以利用虛擬軟件的快照功能保存實驗,實驗有一定延續(xù)性,而且可以建立多臺虛擬機以及虛擬網(wǎng)絡(luò),可以進(jìn)行更加復(fù)雜的聯(lián)網(wǎng)實驗,但缺點一樣是要維護(hù)每個學(xué)生的物理機,維護(hù)成本高,而且資源無法動態(tài)分配。在第三種方案中,利用了最新的云計算技術(shù),只需要維護(hù)集中管理的幾臺服務(wù)器和存儲,實現(xiàn)了資源的動態(tài)分配,物理設(shè)備的維護(hù)和管理成本大幅降低。
基于以上分析,采用了業(yè)界領(lǐng)先的虛擬化平臺,VMware公司的vsphere云平臺建立虛擬機,提供給學(xué)生進(jìn)行實驗。
虛擬機建立以后,如何登陸虛擬機也有以下方案:
(1)學(xué)習(xí)者通過管理員分配的具有一定權(quán)限的vsphere賬號,直接登陸vsphere平臺。
(2)利用vnc客戶端登陸虛擬機。
(3)利用web頁面登陸虛擬機。
第一種方案中,學(xué)生需要登陸vsphere平臺,需要學(xué)習(xí)額外的vsphere平臺知識,增加了負(fù)擔(dān)。第二種方案中,需要在每臺登陸終端中安裝vnc客戶端,而在第三種方案中,可以直接利用web頁面,省去了安裝客戶端的麻煩,而且由于移動終端也支持html5頁面,所以在移動終端上也可以登陸到遠(yuǎn)程桌面。所以基于web頁面登陸遠(yuǎn)程桌面是最好的解決方案,也是本文采用的方案。
1 分析和設(shè)計
設(shè)計基于web的遠(yuǎn)程桌面時,首先需要解決的問題是支持html5的瀏覽器在訪問vnc服務(wù)器時,采用的是websocket協(xié)議,然而vsphere主機中的虛擬機只支持vnc協(xié)議,只有把websocket協(xié)議轉(zhuǎn)化為vnc協(xié)議才能從瀏覽器登陸虛擬機,所以采用了如圖1所示的平臺架構(gòu):
基于瀏覽器的vnc客戶端,選擇了novnc客戶端,代理服務(wù)器選擇了websockify,其中websockify的運行需要基于node.js環(huán)境。Node是一個Javascript運行環(huán)境(runtime)。它對Google V8引擎進(jìn)行了封裝,V8引 擎執(zhí)行Javascript的速度快,性能好。Node對一些特殊用例進(jìn)行了優(yōu)化,提供了替代的API,使得V8在非瀏覽器環(huán)境下運行得很好,也可以說node.js是運行于服務(wù)器端的JavaScript運行環(huán)境。以上軟件均可以在各自的官網(wǎng)上下載。
從而登錄到不同的虛擬機,成功實現(xiàn)了一臺代理服務(wù)器訪問多臺虛擬機的功能:成功后的界面如下圖所示:
2 結(jié)論
本文分析了多種現(xiàn)有的虛擬機實驗平臺方案,采用了基于web的遠(yuǎn)程桌面方法。對于novnc+websockify代理服務(wù)器+vsphere平臺虛擬機的架構(gòu)以及協(xié)議進(jìn)行了分析,在此基礎(chǔ)上,改進(jìn)了此框架的內(nèi)容,結(jié)合實際環(huán)境,實現(xiàn)了基于web的同一代理服務(wù)器訪問多臺虛擬機的功能,為學(xué)習(xí)者進(jìn)行實驗,提供了較好的實驗平臺。
【參考文獻(xiàn)】
[1]朱永強,湯雄.基于VNC的遠(yuǎn)程桌面?zhèn)鬏攨f(xié)議分析與研究[J].計算機系統(tǒng)應(yīng)用,2016,25(11):284-287.
[2]劉堅,余綜.VNC多媒體數(shù)據(jù)實時傳輸?shù)难芯颗c實現(xiàn)[J].計算機工程與設(shè)計,2012,33(7):2706-2710.
[3]陸凌牛.Node.js權(quán)威指南[M].北京:機械工業(yè)出版社,2017.endprint