王麗媛
(大慶鉆探工程公司鉆井一公司信息文化中心計算機室,黑龍江大慶 163411)
基于虛擬網(wǎng)絡計算的數(shù)據(jù)傳輸技術研究
王麗媛
(大慶鉆探工程公司鉆井一公司信息文化中心計算機室,黑龍江大慶 163411)
由著名歐洲研究實驗室所研發(fā)的虛擬網(wǎng)絡計算是個強大的遠程桌面共享工具,能夠進行遠程操作并讓許多客戶端查看服務器端實時桌面狀況通過互聯(lián)網(wǎng)。本文對VNC系統(tǒng)的數(shù)據(jù)傳輸技術在星形直連體系結構的基礎上采用了共享轉發(fā)控制服務器進行改進。方案中,由共享轉發(fā)控制服務器轉發(fā)共享服務器端的共享數(shù)據(jù)到各個共享客戶端,并且在數(shù)據(jù)傳輸過程中允許丟失一定的共享數(shù)據(jù),同時提供了一種用來保證共享數(shù)據(jù)在客戶端的解析和顯示的數(shù)據(jù)傳輸保證機制。經(jīng)應用驗證,數(shù)據(jù)在改進后的系統(tǒng)中能夠實時、可靠的傳輸,基于VNC的應用程序共享在低帶寬網(wǎng)絡中的應用成為現(xiàn)實。
虛擬網(wǎng)絡計算 控制服務器 共享客戶端
1.1 虛擬網(wǎng)絡計算的系統(tǒng)結構
以VNC系統(tǒng)為基礎,應用程序共享系統(tǒng)通過擴展和改進的主要分為三個部分:共享服務器、共享客戶端和轉發(fā)控制服務器。共享服務器和共享客戶端都是視頻會議系統(tǒng)客戶端其中的一部分。
共享的程序在共享服務器上運行。共享轉發(fā)數(shù)據(jù)和服務管理網(wǎng)絡兩大功能由轉發(fā)控制服務器承擔,通過轉發(fā)控制服務器可以大大減少共享服務器性能和網(wǎng)絡帶寬的流量,同時可以負責整個應用程序共享的統(tǒng)一管理。接收從轉發(fā)控制服務器轉發(fā)的桌面實時數(shù)據(jù)就是共享客戶端,桌面實時數(shù)據(jù)通過共享客戶端的解壓縮和解碼后在客戶端桌面上顯示。
1.2 虛擬網(wǎng)絡計算的工作方式
傳統(tǒng)的VNC體系結構為星型直連的模式[1],作為共享客戶端的每一臺電腦都與共享服務器直接相連,向每一個共享客戶端發(fā)送共享更新數(shù)據(jù)由共享服務器完成。如果有足夠的帶寬,那么應用程序共享能夠直接流暢的運行。
1.3 虛擬網(wǎng)絡計算的工作原理
VNC協(xié)議是基于遠端幀緩沖器,協(xié)議之上的應用層協(xié)議,該協(xié)議需要拷貝位圖和底層設備命令來捕捉和顯示信息,這種方式可用于任何操作系統(tǒng)平臺所以并不依賴于某種特定的操作系統(tǒng)。
2.1 國內的研究現(xiàn)狀
VNC由兩部分組成:一部分被稱作服務器端應用程序(VNCServer),另外一部分被稱作客戶端應用程序(VNCViewer)。每一臺安裝了客戶端應用程序的計算機都可以和安裝了服務器端應用程序的計算機相連,多個VNC客戶端可以通過TCP連接同時連接在一個VNC服務器上。
可以直接將VNC系統(tǒng)整合在視頻會議系統(tǒng)中進行應用程序共享的應用,如果網(wǎng)絡帶寬足夠的話。因此在國外,如果要實現(xiàn)數(shù)據(jù)會議功能,可以直接采用VNC系統(tǒng)。目前國內由于網(wǎng)絡資源不足,帶寬接入的水平都比較低,如果應用程序共享直接采用VNC系統(tǒng)進行,數(shù)據(jù)會議的質量將會不高,不能滿足一般意義上數(shù)據(jù)共享的需求。當共享服務器端網(wǎng)絡出口為10M時,共享客戶端連接達到15人以上時,網(wǎng)絡發(fā)送與接收壓力將呈線性增長,造成嚴重網(wǎng)絡阻塞,這時應用程序共享的實時性將大為降低。所以必須采用合適的數(shù)據(jù)傳輸技術,如果要在低網(wǎng)絡帶寬的條件下保證采用VNC機制的數(shù)據(jù)會議系統(tǒng)能夠流暢運行。
2.2 國外研究現(xiàn)狀
國外比較早的對應用程序共享進行了研究。從早期的NetMeeting和一些遠程操控軟件到現(xiàn)在廣泛應用Microsoft Live Messager、Skype等即時通訊軟件中都包含了一些應用程序共享的功能[2],并且應用程序共享功能在越來越多的視頻會議系統(tǒng)中也被運用。
在應用程序共享等遠程協(xié)助類應用中虛擬網(wǎng)絡計算機技術起著重要作用,虛擬網(wǎng)絡計算技術的發(fā)展同樣推動著瘦客戶計算技術在實際應用中的前進步伐。
由AT&T試驗室開發(fā)的VNC是一款優(yōu)秀的桌面遠程共享系統(tǒng),后來以GPL授權的形式開源。經(jīng)過許多年的發(fā)展,現(xiàn)在的VNC已經(jīng)是一類軟件的統(tǒng)稱而不在單純的指某一個軟件。
雖然VNC是一個強大的桌面遠程共享工具,但由于VNC的用戶容量小、VNC服務器必須具有公網(wǎng)IP地址、安全性差、網(wǎng)絡傳輸方式不合理、系統(tǒng)兼容性差等原因,使得在實際的視頻會議應用場景中不適合VNC的使用[3]。
在對VNC系統(tǒng)進行改進并采用共享轉發(fā)控制服務器的過程中需要對以下幾方面進行研究:
(1)VNC體系結構:傳統(tǒng)的VNC體系結構默認采用星形直連的方式進行通訊。(2)VNC協(xié)議及編碼方法:VNC提供了一個基于Frame Buffer 層次上的簡單圖形界面?zhèn)鬏攨f(xié)議來進行遠程圖形界面控制。(3)VNC屏幕數(shù)據(jù)傳輸策略:對于每一次屏幕更新都將發(fā)送數(shù)據(jù),傳統(tǒng)的VNC系統(tǒng)發(fā)送數(shù)據(jù)時采用小包發(fā)送模式,在低帶寬的網(wǎng)絡條件下極易造成阻塞,不適用于實際場景。對屏幕數(shù)據(jù)傳輸策略進行研究和改進,才能實現(xiàn)高效、實時的應用程序共享。(4)數(shù)據(jù)傳輸保證機制:由于采用了共享轉發(fā)控制服務器的新方案,在新方案中對于數(shù)據(jù)傳輸模式的改變會影響應用程序共享的實時性、可靠性。
應用程序共享作為實現(xiàn)數(shù)據(jù)會議的重要手段,已經(jīng)得到了越來越多的關注。虛擬網(wǎng)絡計算(VNC)由于具有平臺適用性、強大的遠程控制能力以及高效、實用的性能,在應用程序共享領域有著廣闊的發(fā)展前景。在研究過程中,主要工作如下:
通過對VNC交互機制和通訊機制進行分析,改進了系統(tǒng)的體系結構。設計了采用共享轉發(fā)控制服務器對共享數(shù)據(jù)進行轉發(fā)的數(shù)據(jù)傳輸模式,提高了網(wǎng)絡資源利用率在減輕共享服務器數(shù)據(jù)傳輸壓力的同時。
通過對VNC協(xié)議支持的數(shù)據(jù)編碼方式進行研究,選擇高效率的數(shù)據(jù)壓縮方式,減輕了網(wǎng)絡壓力在數(shù)據(jù)傳輸過程中。
對于數(shù)據(jù)傳輸方式改進后帶來的新問題,提供了一種數(shù)據(jù)傳輸保證機制。避免了垃圾信息對共享客戶端數(shù)據(jù)解析時的干擾,保證了數(shù)據(jù)共享的穩(wěn)定進行通過特征碼定位技術。
由于時間有限,在數(shù)據(jù)的編碼機制選擇上,只是在VNC支持的編碼方式中找出最佳方案,為了進一步提高系統(tǒng)編碼、解碼性能,可以考慮將其他高效的數(shù)據(jù)壓縮方式引入VNC系統(tǒng)。另外,本文并沒有對改進后的系統(tǒng)安全機制進行研究,數(shù)據(jù)會議的安全性和保密性依賴于視頻會議,在以后的研究中,可以為其建立獨立的安全機制,加強數(shù)據(jù)共享的保密性。
[1]張鵬.計算機支持協(xié)同工作中混合式應用程序共享模型分析[J].西安交通大學學報,2002.36(6):596-599.
[2]王學義.計算機協(xié)同編輯系統(tǒng)中若干關鍵技術的研究[D].浙江大學碩士論文,2002:3-5.
[3]張惠,王軼文,舒華忠.基于虛擬網(wǎng)絡計算(VNC)協(xié)議的遠程醫(yī)療繪制[J].山東生物醫(yī)學工程,2002.21(3):437-443.