在低速網(wǎng)絡(luò)下利用VNC實(shí)現(xiàn)應(yīng)用程序共享的解決方案

虛擬網(wǎng)絡(luò)計(jì)算VNC[1](Virtual Network Computing)是由AT&T劍橋研發(fā)中心研發(fā)的一種瘦客戶計(jì)算[2]體系,是一個(gè)強(qiáng)大的遠(yuǎn)程桌面共享工具,能夠讓多個(gè)客戶端通過(guò)互聯(lián)網(wǎng)查看服務(wù)器端實(shí)時(shí)桌面狀況并可以進(jìn)行遠(yuǎn)程操作。本文首先分析了低速網(wǎng)絡(luò)環(huán)境下VNC在遠(yuǎn)程視頻會(huì)議系統(tǒng)中應(yīng)用的技術(shù)難點(diǎn),并提出了一種在低速網(wǎng)絡(luò)下利用VNC實(shí)現(xiàn)應(yīng)用程序共享的解決方案。

1 VNC協(xié)議特點(diǎn)

VNC由VNC Server和VNC Client兩部分組成。VNC Server產(chǎn)生本地顯示,通過(guò)VNC協(xié)議實(shí)現(xiàn)VNC Server和VNC Client之間的通信。VNC協(xié)議中實(shí)現(xiàn)了一種遠(yuǎn)程圖形用戶界面訪問(wèn)協(xié)議RFB[2](Remote Frame Buffer)協(xié)議,RFB協(xié)議是基于幀緩存(Frame Buffer)層級(jí),因此適用于所有操作系統(tǒng)平臺(tái)及應(yīng)用,例如X Windows、MS Windows和Macintosh等。VNC在TCP/IP協(xié)議基礎(chǔ)上通過(guò)一個(gè)簡(jiǎn)單的圖形界面?zhèn)鬏攨f(xié)議實(shí)現(xiàn)在遠(yuǎn)程客戶端上顯示服務(wù)器端的桌面實(shí)時(shí)數(shù)據(jù)。

協(xié)議的顯示方面是基于一個(gè)很簡(jiǎn)單的原理,即將一個(gè)矩形區(qū)域的像素點(diǎn)放置在一個(gè)特定的位置上。通過(guò)采用不同的圖像編碼方法,可以在傳輸速度、圖像質(zhì)量、服務(wù)器處理速度、終端顯示速度和網(wǎng)絡(luò)帶寬之間達(dá)到平衡。通過(guò)每次的窗口更新,可以得到最新的窗口內(nèi)容。在某些方面,這看上去更像是一種視頻圖像流。每次窗口更新的消息是通過(guò)客戶端發(fā)送給服務(wù)器端的,每接收到一個(gè)消息,服務(wù)器端對(duì)其發(fā)生響應(yīng),這樣就使得協(xié)議本身可以控制自己的刷新速度。如果客戶端或者由于網(wǎng)絡(luò)的原因比較慢,同樣地刷新率也會(huì)比較低,這樣可以完成速度的自適應(yīng)。

輸入?yún)f(xié)議是基于標(biāo)準(zhǔn)工作站的鍵盤響應(yīng)消息和鼠標(biāo)設(shè)備的。當(dāng)客戶端接收到這些輸入消息后,被簡(jiǎn)單地以事件形式傳送給服務(wù)器端,并產(chǎn)生對(duì)應(yīng)的動(dòng)作。

2 VNC在低帶寬網(wǎng)絡(luò)環(huán)境中應(yīng)用存在的問(wèn)題

在大規(guī)模視頻會(huì)議中,當(dāng)需要對(duì)其中一個(gè)會(huì)議成員的桌面或者某個(gè)應(yīng)用程序進(jìn)行共享時(shí),此時(shí)VNC服務(wù)器的計(jì)算性能和網(wǎng)絡(luò)接入的條件都比較差,這樣就對(duì)共享機(jī)制提出了很高的要求,其必須具備高效、延時(shí)小,又要求架構(gòu)輕盈、占系統(tǒng)資源少、節(jié)省帶寬等性能。由于在國(guó)外網(wǎng)絡(luò)帶寬足夠,采用VNC機(jī)制的多點(diǎn)應(yīng)用程序共享能夠流暢地運(yùn)行,但在國(guó)內(nèi)目前低帶寬的網(wǎng)絡(luò)條件下,VNC機(jī)制采用的是星型直連結(jié)構(gòu),如果直接采用VNC默認(rèn)的星型直連機(jī)制,在多點(diǎn)遠(yuǎn)程視頻會(huì)議中實(shí)現(xiàn)應(yīng)用程序共享會(huì)很困難,VNC Server與各VNC Client以直連方式進(jìn)行通信,此種情況下由于VNC Server端的出口帶寬受到限制,VNC Server端的數(shù)據(jù)發(fā)送壓力會(huì)呈線性增長(zhǎng),在2 MHz的ADSL出口帶寬條件下,當(dāng)會(huì)議成員達(dá)到10個(gè)后,將導(dǎo)致嚴(yán)重的網(wǎng)絡(luò)擁塞,致使應(yīng)用程序共享實(shí)時(shí)性大大降低,因而其不具備在遠(yuǎn)程視頻會(huì)議系統(tǒng)中的實(shí)際可用性。

3 VNC共享機(jī)制改進(jìn)方案

3.1 VNC共享通信機(jī)制

VNC機(jī)制默認(rèn)采用直連的方式同VNC Client通信,本文將提出一種新的實(shí)現(xiàn)方案,通過(guò)在遠(yuǎn)程視頻會(huì)議系統(tǒng)[4]中采用中轉(zhuǎn)服務(wù)器轉(zhuǎn)發(fā)模式實(shí)現(xiàn)共享,具體結(jié)構(gòu)如圖1所示。此時(shí)VNC Server端只需上傳數(shù)據(jù)給中轉(zhuǎn)服務(wù)器,VNC Client只與中轉(zhuǎn)服務(wù)器建立連接,由中轉(zhuǎn)服務(wù)器向每個(gè)客戶端發(fā)送數(shù)據(jù),通常中轉(zhuǎn)服務(wù)器的網(wǎng)絡(luò)出口帶寬都比較大,因此網(wǎng)絡(luò)帶寬不會(huì)成為性能瓶頸。這樣就大大減輕了VNC Server端的網(wǎng)絡(luò)傳輸壓力,在應(yīng)用程序共享時(shí)系統(tǒng)的反應(yīng)速度也將得到提升。

3.2 屏幕變化檢測(cè)算法

屏幕變化檢測(cè)算法性能的好壞將直接影響到VNC Server端發(fā)送的數(shù)據(jù)量,一種高效的屏幕檢測(cè)算法將大大降低傳輸?shù)臄?shù)據(jù)量,節(jié)省網(wǎng)絡(luò)帶寬,從而提高系統(tǒng)的實(shí)時(shí)效果。VNC默認(rèn)的屏幕變化檢測(cè)機(jī)制是通過(guò)消息鉤子機(jī)制獲取區(qū)域的坐標(biāo)信息后,再將坐標(biāo)區(qū)域的屏幕像素?cái)?shù)據(jù)發(fā)送給各VNC Client。此檢測(cè)方法使得大量沒(méi)有發(fā)生改變的屏幕數(shù)據(jù)也被發(fā)送,增加了網(wǎng)絡(luò)發(fā)送的數(shù)據(jù)量,在低速網(wǎng)絡(luò)環(huán)境中容易造成網(wǎng)絡(luò)擁塞,影響系統(tǒng)的性能。因此,本文在此基礎(chǔ)上提出了一種新的屏幕變化區(qū)域檢測(cè)算法。

VNC機(jī)制通過(guò)采用消息鉤子機(jī)制截獲系統(tǒng)屏幕重繪區(qū)域信息,將得到的區(qū)域拆分成一個(gè)矩形鏈表(遍歷鏈表)來(lái)存儲(chǔ)區(qū)域坐標(biāo)信息,記為array_list,定義一個(gè)變化區(qū)域記為vnc_rgn,專門保存需要重新發(fā)送的區(qū)域位置信息,對(duì)array_list每個(gè)成員矩形調(diào)用此檢測(cè)算法進(jìn)行變化區(qū)域檢測(cè)。具體的算法流程圖如圖2所示。

 

   來(lái)源:電子技術(shù)應(yīng)用
微信掃描分享本文到朋友圈
掃碼關(guān)注5G通信官方公眾號(hào),免費(fèi)領(lǐng)取以下5G精品資料
  • 1、回復(fù)“YD5GAI”免費(fèi)領(lǐng)取《中國(guó)移動(dòng):5G網(wǎng)絡(luò)AI應(yīng)用典型場(chǎng)景技術(shù)解決方案白皮書
  • 2、回復(fù)“5G6G”免費(fèi)領(lǐng)取《5G_6G毫米波測(cè)試技術(shù)白皮書-2022_03-21
  • 3、回復(fù)“YD6G”免費(fèi)領(lǐng)取《中國(guó)移動(dòng):6G至簡(jiǎn)無(wú)線接入網(wǎng)白皮書
  • 4、回復(fù)“LTBPS”免費(fèi)領(lǐng)取《《中國(guó)聯(lián)通5G終端白皮書》
  • 5、回復(fù)“ZGDX”免費(fèi)領(lǐng)取《中國(guó)電信5GNTN技術(shù)白皮書
  • 6、回復(fù)“TXSB”免費(fèi)領(lǐng)取《通信設(shè)備安裝工程施工工藝圖解
  • 7、回復(fù)“YDSL”免費(fèi)領(lǐng)取《中國(guó)移動(dòng)算力并網(wǎng)白皮書
  • 8、回復(fù)“5GX3”免費(fèi)領(lǐng)取《R1623501-g605G的系統(tǒng)架構(gòu)1
  • 本周熱點(diǎn)本月熱點(diǎn)

     

      最熱通信招聘

      最新招聘信息