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