• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      虛擬網(wǎng)絡(luò)計算在應(yīng)用程序共享中的應(yīng)用研究

      2010-09-29 11:27:40劉勝輝舒友村
      關(guān)鍵詞:服務(wù)器端視頻會議矩形

      劉勝輝 ,舒友村

      (1.哈爾濱理工大學(xué) 軟件學(xué)院,黑龍江 哈爾濱 150080;2.哈爾濱理工大學(xué) 計算機學(xué)院,黑龍江 哈爾濱 150080)

      隨著網(wǎng)絡(luò)計算技術(shù)的發(fā)展,瘦客戶計算技術(shù)在遠程共享等網(wǎng)絡(luò)應(yīng)用中的地位變得越來越重要。這種瘦客戶計算體系架構(gòu)將大量復(fù)雜的計算任務(wù)保留在服務(wù)器端,客戶端則不進行復(fù)雜計算,只是簡單維護客戶端和服務(wù)器端的狀態(tài)交互,例如鍵盤輸入、鼠標點擊等,同時負責將服務(wù)器端的桌面數(shù)據(jù)實時顯示出來。應(yīng)用程序共享使地理位置分散的用戶通過計算機網(wǎng)絡(luò)的連接共享某一應(yīng)用程序,在互聯(lián)網(wǎng)辦公、遠程視頻會議系統(tǒng)、遠程協(xié)助等方面有著不可替代的作用,具有相當廣闊的發(fā)展前景。

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

      1 VNC協(xié)議特點

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

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

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

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

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

      3 VNC共享機制改進方案

      3.1 VNC共享通信機制

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

      3.2 屏幕變化檢測算法

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

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

      圖2 檢測算法流程圖

      (1)假設(shè)其中一個成員矩形為 arri,如果 arri的長寬都小于32×32,則直接作為需重新發(fā)送的變化區(qū)域,保存到vnc_rgn中,否則對arri進行分析檢測。

      (2)首 先 定 義 一 個 新 的 矩 形 arrj(arri.left,0,arri.right,0),在arr中找到發(fā)生變化的行,記錄該行的 y坐標,記arrj.top=y,同時y+=16遞增找到未發(fā)生變化行,暫時記arrj.bottom=y;然后從arrj底部 y-=1進行比較,尋找內(nèi)容發(fā)生變化的行,找到后將此行的y坐標設(shè)置成arrj.bottom=y。至此確定了變化矩形arrj的最終的top、bottom坐標。同時將 arri的值設(shè)為 arri(arri.left,arrj.bottom,arri.right,arri.bottom)。在對arrj分析完畢后接著對arri遍歷分析直至結(jié)束。

      (3)確定矩形 arrj后,對矩形 arrj進行分析。首先定義一個矩形 arrn(0,0,0,0),在 arrj中尋找最先發(fā)生改變的列,找到后記錄發(fā)生變化的區(qū)域的 left、top 坐標,arrn.left=x,arrn.top=y, 分別對x、y軸方向循環(huán)遍歷進行分析(記為 x+=32,y+=32),如果此列屏幕像素數(shù)據(jù)改變,則x+=32繼續(xù)比較;否則將記錄arrn.right=x,對 y軸方向進行同樣的比較,y+=32,并記錄arrn.bottom=y,最終得到需要發(fā)送的變化區(qū)域矩形坐標,并將此矩形保存到最終發(fā)送的矩形鏈表中,同時記錄下arrk(arrn.right,arrn.top,arrj.right,arrn.bottom)、arrm(arrn.left,arrn.bottom,arrj.right,arrj.bottom),分別將 arrk、arrm賦值給 arrj進行類似分析檢測,依次循環(huán)遍歷整個arrj,直到結(jié)束。

      通過此屏幕變化區(qū)域檢測算法,對整個array_list鏈表的成員矩形進行遍歷后得到需要重新發(fā)送的變化區(qū)域坐標信息。

      4 實驗結(jié)果

      此改進方案已經(jīng)應(yīng)用于VcomOffice遠程視頻會議系統(tǒng)中。實驗環(huán)境為:局域網(wǎng)內(nèi),中轉(zhuǎn)服務(wù)器采用Linux操作系統(tǒng),VNC Server和 VNC Client端均采用 Windows XP操作系統(tǒng),具體的軟硬件配置如表1所示。

      表1 實驗環(huán)境配置

      為了驗證調(diào)用屏幕變化區(qū)域檢測算法前后,VNCServer端對同一操作生成的數(shù)據(jù)量的變化,實驗在100 M的局域網(wǎng)內(nèi)進行,VNC Server采用的是VNC默認的tight編碼[5],編碼后經(jīng)過 zlib壓縮[5]后發(fā)送給中轉(zhuǎn)服務(wù)器,主要進行以下場景的測試:

      (1)打開一個 Word文檔,剪切、復(fù)制、粘貼一段文字,圖片保存到Word,在Word中輸入一些內(nèi)容;

      (2)打開IE瀏覽器登錄www.sina.com.cn主頁;

      (3)打開一個PDF文檔后,拖動滾動條至底部;

      (4)打開資源管理器,在屏幕上做拖動操作,之后將其最大化。

      調(diào)用檢測算法前后VNC Server發(fā)送數(shù)據(jù)量如圖3所示。通過對比可以看到,在調(diào)用屏幕區(qū)域變化檢測算法前后,VNC Server端發(fā)送的數(shù)據(jù)量都會有一定程度的下降。當執(zhí)行相同的Word操作時,VNC Server端發(fā)送的數(shù)據(jù)量降低了12.21%,登錄新浪網(wǎng)主頁的過程中數(shù)據(jù)發(fā)送量只降低了4.82%,打開PDF文檔并拖動滾動條至最底端的過程中,發(fā)送的數(shù)據(jù)總量降低了14.63%,在資源管理器的縮放過程中,數(shù)據(jù)發(fā)送量下降了22.19%。

      測試結(jié)果表時,當VNC系統(tǒng)調(diào)用屏幕區(qū)域變化檢測算法后,VNC Server端的發(fā)送數(shù)據(jù)量平均會有10%左右的下降。這在遠程多點應(yīng)用程序共享中,會大大減輕VNC Server端的發(fā)送壓力,減少網(wǎng)絡(luò)擁塞現(xiàn)象出現(xiàn)的概率,從而提高了應(yīng)用程序共享時遠程客戶端響應(yīng)速度。

      本文介紹了在低速網(wǎng)絡(luò)環(huán)境下遠程視頻會議系統(tǒng)中通過VNC協(xié)議進行應(yīng)用程序共享時存在的問題,提出了一種新的改進方案,并結(jié)合新方案提出了一種新的屏幕區(qū)域變化檢測算法。此外,對系統(tǒng)在調(diào)用新的屏幕區(qū)域變化檢測算法前后進行了測試比較。該方案已經(jīng)應(yīng)用于大連浩視數(shù)字技術(shù)有限公司的VcomOffice遠程視頻會議系統(tǒng)。通過多個實驗場景的測試,實驗結(jié)果表明,采用新的屏幕變化區(qū)域檢測算法后,VNC Server端的發(fā)送數(shù)據(jù)量出現(xiàn)了較大程度的下降,為低速網(wǎng)絡(luò)環(huán)境下遠程視頻會議系統(tǒng)節(jié)省了網(wǎng)絡(luò)帶寬,提高了應(yīng)用程序共享系統(tǒng)的實時性,從而實現(xiàn)了VNC在低速網(wǎng)絡(luò)環(huán)境下的應(yīng)用。

      [1]梁飛碟,李錦濤,史紅周.虛擬網(wǎng)絡(luò)計算(VNC)協(xié)議中的編碼方法[J].計算機應(yīng)用,2004,24(6).

      [2]張躍冬,朱定局,宋振華,等.一個面向分布式桌面計算環(huán)境的超瘦客戶端[J].計算機工程,2007,33(7).

      [3]Tae-Ho Lee,Hong-Chang Lee.Extending VNC for effective collaboration[A].3rd International Forum on Strategic Technology(IFOST 2008)[C].2008.

      [4]SIMOENS P, Praet P,VANKEIRSBILCK B, et al.Design and implementation of a hybrid remote display protocol to optimize multimedia experience on thin client devices[A].Telecommunication Networksand ApplicationsConference(ATNAC), 2008 Australasian; Adelaide, Australia[C].2008.

      [5]ZHANG Xiao Zheng.Screen data compression for improved VNC[A].10th World Multi-Conference on Systems,Cybernetics and Informatics(WMSCI 2006),jointly with the 12th InternationalConference on Information SystemsAnalysis and Synthesis(ISAS 2006),vol.III[C].2006.

      猜你喜歡
      服務(wù)器端視頻會議矩形
      省農(nóng)辦主任暨三農(nóng)重點工作推進視頻會議
      兩矩形上的全偏差
      化歸矩形證直角
      民政部召開民政領(lǐng)域社會工作推進視頻會議
      中國民政(2018年24期)2019-01-18 07:34:26
      淺析異步通信層的架構(gòu)在ASP.NET 程序中的應(yīng)用
      成功(2018年10期)2018-03-26 02:56:14
      從矩形內(nèi)一點說起
      淺談遠程視頻會議系統(tǒng)的構(gòu)建
      在Windows中安裝OpenVPN
      云技術(shù)在視頻會議系統(tǒng)中的應(yīng)用研究
      移動通信(2015年18期)2015-08-24 07:45:26
      網(wǎng)頁防篡改中分布式文件同步復(fù)制系統(tǒng)
      济宁市| 万州区| 临洮县| 广南县| 兴义市| 依兰县| 修文县| 渭源县| 巢湖市| 清水河县| 阿拉善右旗| 揭西县| 星子县| 闸北区| 平昌县| 横峰县| 连平县| 遂昌县| 东兰县| 鄂尔多斯市| 株洲市| 克拉玛依市| 定襄县| 高邮市| 开阳县| 堆龙德庆县| 会理县| 扶沟县| 克拉玛依市| 淳安县| 道孚县| 井研县| 屏东县| 长海县| 科技| 萝北县| 德惠市| 新巴尔虎左旗| 顺昌县| 安庆市| 西畴县|