999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于VNC和P2P技術的實時課堂直播系統

2007-12-31 00:00:00程行榮
計算機時代 2007年10期

摘 要:VNC是由A7T劍橋實驗室開發的一個強大的遠程桌面共享工具,能夠讓多個用戶通過復雜的互聯網環境實時觀看到遠端的服務器桌面并進行操作。但VNC系統的星型結構在實際應用中很容易造成服務器端網絡的擁塞,使得可用性大大降低。文章對VNC系統進行了改進,增加了音/視頻方面的支持,增強了安全性能,并引進了P2P技術,利用現有網絡架構,通過優化和改進多媒體數據流的傳送技術,實現了一個低成本高效率的實時課堂直播系統。

關鍵詞:虛擬網絡計算;P2P;實時課堂直播;遠程教學

0 引言

以互聯網為主要媒介的現代遠程教育是當今教育的發展趨勢。據統計,現有的遠程教學系統,大多采用客戶機/服務器(C/S)結構。C/S結構系統在管理上具有優勢,但存在以下問題:①多客戶單服務器構架難以應付大規模并發客戶;②資源集中于服務器易形成瓶頸,客戶端資源利用率低;③魯棒性低,易出現單點故障,系統容錯能力低且易受攻擊。考慮到對等網絡(Peer-to-Peer,P2P)系統具有負載均衡、自適應、自組織和容錯力強等優點,很多研究者開始將對等網絡運用到流媒體的傳輸中來。

本文所討論的系統將通過擴展和改進VNC系統并結合P2P技術來實現所需的功能。VNC(Virtual Network Computing,虛擬網絡計算)是ATT劍橋實驗室所研發的遠程桌面共享工具,它能夠讓多個用戶通過復雜的互聯網環境實時觀看到遠端的服務器桌面并進行操作。VNC所采用的是RFB(RemoteFrame Buffer,遠程幀緩沖)協議,它是基于TCP/IP傳輸協議上的一個簡單的圖形界面傳輸協議。如果要使用VNC系統來實現多個客戶端能夠同時觀看到同一遠程計算機的桌面,就必須在該遠程計算機上維持多個VNC客戶端的TCP連接。由于每個TCP連接都要實時傳送VNC服務器和客戶端的控制信息以及反饋圖像,所以當控制者數目增大時,服務器端所需要的網絡帶寬和處理器速度都會線性增長。當客戶端數目增多到一定程度,這種點對點通信的RF33協議就顯得力不從心,從而導致系統癱瘓。

由于VNC是一個開放源代碼項目,我們可以針對上述VNC的不足之處,通過擴展VNC的RFB協議,增加音/視頻多播的支持,并改進身份識別認證、授權機制,來實現一個比較安全和穩定的實時課堂直播系統。

1 系統模型

該遠程教學系統主要由三部分組成:源服務器,中間服務器以及基于P2P網絡的客戶端。如圖1所示,下面就各功能模塊分別進行介紹。

1.1 源服務器

源服務器就是教師利用其進行授課的計算機,該計算機上安裝了VNC Server(VNC的服務器端軟件)。VNC Server將自動錄制教師在計算機屏幕上的一系列動作,形成屏幕數據流。該屏幕數據流將通過RFB協議傳送給中間服務器(其上安裝了VNC Client),然后再通過P2P網絡傳輸到學生的計算機上。在RFB協議中,它采用了一些編碼算法來減少傳輸的數據量,目前支持如下幾種編碼方法,包括Raw、Copy Rectangle、RRE、CoRRE、Hextile和ZRLE等方法。

VNC主要面向遠程控制,所以它只支持計算機屏幕數據的獲取和傳輸,目前還沒有實現對音/視頻數據的支持。好在VNC是開放源代碼軟件,本系統對VNC進行了進一步的改進,使得在學生計算機上不僅可以見到教師在其計算機上的操作過程,而且還可以同步聽到教師的聲音和看到教師的視頻,這樣大大增加了網絡課堂的真實性。同樣,VNC所依賴的RFB協議也是不支持音/視頻的傳輸的,因此,在源服務器上所采集的教師的音/視頻信號必須通過其它途徑進行傳輸。考慮到RTP(Real Time Transport Protocol,實時傳輸協議)是實現多媒體數據實時傳輸非常有效的協議,能夠提供端對端的網絡傳輸功能,適合單播或多播網絡的多媒體數據實時傳輸應用,因此,本系統通過RTP將音/視頻流傳輸到中間服務器。

源服務器將教師的音/視頻流和桌面數據流都傳到中間服務器進行進一步的處理和轉發,這樣,對于源服務器的計算性能和帶寬資源要求就可以大大降低。

1.2 中間服務器

中間服務器擔負著內容轉發服務器和網絡管理服務器的兩大功能。通過設置中間服務器,可以轉移教師計算機(源服務器)性能和帶寬的壓力,同時也可實現對遠程教學系統的統一管理。

1.2.1 內容轉發功能

中間服務器上安裝了VNC客戶端(VNC Client)程序,它從源服務器接收桌面數據,同時也接收音/視頻數據流,并將這些多媒體內容進行分塊、編碼、打包,以供其他客戶節點下載,也就是為P2P網絡提供原始的流媒體內容,當客戶機向中間服務器請求多媒體內容的時候,中間服務器便開始查找緩存有請求內容的在線客戶機節點列表,選擇一空閑節點(沒有為其他客戶服務)返回給請求者,并將狀態置為忙;請求者得到服務提供者的地址后,便向提供者請求提供服務。客戶節點得到請求內容后,就在中間服務器注冊其所緩存內容以便為其他客戶服務。

1.2.2 網絡管理功能

VNC的網絡安全性差,因為VNC僅使用單一的固定密碼對用戶進行認證,無法做到用戶的權限管理和多個會話的訪問控制。在本系統中,利用中間服務器負責對學生用戶在服務器上的合法身份進行安全認證,并對學生用戶的權限進行控制。這樣,就摒棄了VNC的用戶身份認證機制,大大地增加了系統的安全性。

中間服務器還充當著P2P網絡的管理服務器的角色。為了使從源服務器傳送過來的數據,能夠高效地在P2P網絡中傳輸,需要對這些數據進行一定的處理和包裝。關于這部分內容將在下面具體闡述。

1.3 P2P網絡

通過中間服務器,把多媒體數據同時發送給多個客戶端,無論是采用重復點對點通信方式,還是采用廣播方式,都會嚴重浪費網絡帶寬,而且效率很低。對此,可以借鑒PPlive這類網絡電視的原理,它提供了基于P2P技術的流媒體傳輸解決方案,每一臺P2P網絡內的主機既是客戶機又是服務器,在接收服務的同時又向別人提供服務。在本系統中使用混合型P2P網絡,使得P2P網絡的高效和C/S結構的穩定以及易于管理的優點得以體現。

2 多媒體數據分塊與調度機制

為了能夠充分使用網絡帶寬和提高課堂直播的質量,我們對P2P網絡上的數據流進行分類,即:控制流,桌面數據流以及音/視頻數據流。

2.1 桌面數據的處理

源服務器上的VNC Server將桌面環境通過RFB協議送給中間服務器的VNC Client端,并不是通過連續抓取全屏數據然后發送來達到目的的。它會在抓屏之前動態跟蹤屏幕變化矩形區域,通過只保存變化矩形區域的數據和位置的方法來減少圖像處理和傳輸的數據量,提高效率和帶寬。

當中間服務器收到來自源服務器的變化矩形區域的數據時,并不是直接將它通過P2P網絡就發送給各個學生客戶機。因為變化矩形區域的大小是不固定的,如果太大的話,在網絡中傳輸的時間長,而且易出錯,這樣網絡延遲也就會比較大,因而不能充分體現P2P網絡的高效性。所以,在中間服務器中,會對來自源服務器的矩形數據進行相應的處理,也就是對較大的矩形進行分割,進一步分成小的矩形塊(如圖2所示)。

究竟要把多大的矩形進行進一步分塊呢?通過試驗證明,如果對大于64×64的矩形進行分塊的話,效果會比較好。分塊后的小矩形進行編碼打包后,發送到各個學生客戶機上,進行解碼后重新拼成大的矩形。正因為數據包通過P2P網絡傳輸到客戶機上并不是按順序進行傳送的,所以客戶機并不知道一幀的數據包是否都收到了,是否有丟包的情況發生,這些情況下都會造成客戶機上面畫面的顯示效果很差。因此,中間服務器會對各個小矩形進行編號,還會給出每一幀上總共有幾個小矩形等參數。圖3給出了代表每個小矩形的數據包的結構。其中FRM NUM用來標識該小矩形是屬于第幾幀;RECT_SUM表示每一幀的變化區域劃分成小矩形的數目;SEQ NUM表示每個小矩形的編號;RECT_POS表示每個小矩形在屏幕上的位置,包括X坐標和Y坐標;RECT_SIZE則表示每個小矩形的大小,包括寬和高;ENC_WAY表示每個小矩形所采用的編碼方法;RECT_DATA表示每個小矩形編碼以后的數據。

下面就圖2所示桌面數據在P2P網絡的傳輸過程進行簡要的介紹。

(1)中間服務器將對源服務器發過來的矩形數據進行處理。如圖2所示,R1和R2表示有變化的大的矩形區域,中間服務器則將它進一步劃分成小的矩形區域如r1,r2,r3,…,rn,然后進行編碼,并按照圖3的格式封裝成數據包。

(2)中間服務器上保存著通過合法身份認證后的學生客戶機列表,根據這個列表,中間服務器向每個學生客戶機隨機發送一個小矩形數據包。學生客戶機根據這個數據包就可以了解該幀的數據情況,包括總共分成多少個小矩形,當前收到的是哪一個小矩形等等。

(3)學生客戶機根據第2步得到的信息,得知還缺哪些小矩形數據包,于是向其鄰近區域的計算機發出請求,如果哪臺計算機擁有所請求的數據包的話就發送給它。同時,該學生客戶機也將已經收到的數據包作為共享,向其它計算機提供數據源,

(4)學生客戶機將收到的小矩形數據包進行解碼,然后根據RECT_POS將小矩形顯示在適當的位置上。

2.2 音/視頻數據的處理

對于音/視頻數據的處理與桌面數據的處理略有不同,這里我們采用分段順序下載法。為了保證學生客戶端能夠流暢播放音/視頻,中間服務器先緩存一段音/視頻數據(在該系統是10秒),然后將這一段數據分成小塊打包成小數據塊,每個數據塊播放時間為0.2秒,并且為每一個數據塊分配一個編號。學生客戶機在通過P2P網絡下載音/視頻數據的過程中,會按先后順序下載一個區段(一個區段10秒鐘)。但是,一個區段是由一個個小數據塊(0.2秒的數據)組成的,因此,下載這些小數據塊就不是按順序下載了,而是采用類似于2.1節所描述的桌面數據中小矩形數據包的下載機制。當學生客戶端下載完一個區段的數據時,就可以進行播放,同時繼續下載下一個區段的數據。通過上述的分段順序下載法就可以基本保證音/視頻在學生客戶端的流暢播放。

3 結束語

本文提出了一種基于VNC和P2P技術的實時課堂直播系統。VNC是一款優秀的開放源碼的遠程桌面控制軟件,但是VNC所采用的安全機制不夠完善,存在明顯的安全漏洞。雖然VNC也支持多個客戶端同時對同一個遠程計算機(服務器端)進行控制,但是它采用的是基于TCP協議之上的點對點傳輸協議,當客戶端的數目增大時,服務器端所需要的網絡帶寬和處理器速度都會線性增長。本系統就針對VNC的不足之處進行改進,改善其安全機制,增加音/視頻的支持,特別是引進了P2P技術,能充分利用客戶端的資源,減輕服務器的負擔,提高了系統的性能、效率和穩定性。

該系統目前在局域網內進行測試,基本上能夠滿足100人左右規模的正常使用。今后打算從以下幾方面對系統進行改進:

(1)改進P2P網絡調度機制,使得實時課堂直播的效率更高。

(2)目前該系統還只能在局域網中使用,還沒有考慮在跨網段情況下P2P技術的實現問題。因此要對系統在這方面進行完善,使得它能夠穿越大多數防火墻和NAT網關設備,使內外網用戶都可以得到同樣的服務質量。

主站蜘蛛池模板: 日本欧美在线观看| 亚洲大学生视频在线播放| 曰AV在线无码| 亚洲日韩精品伊甸| 成人精品午夜福利在线播放| 四虎永久免费网站| 一区二区偷拍美女撒尿视频| 成人免费一级片| 精品无码专区亚洲| 亚洲综合精品香蕉久久网| 无码精油按摩潮喷在线播放 | 免费AV在线播放观看18禁强制| 欧美人人干| 婷婷综合色| 日本少妇又色又爽又高潮| 国产视频只有无码精品| 成人午夜免费观看| 国内熟女少妇一线天| 久视频免费精品6| 欧美精品H在线播放| 久久久久久久久久国产精品| yy6080理论大片一级久久| 呦女亚洲一区精品| 色婷婷电影网| AV天堂资源福利在线观看| 99尹人香蕉国产免费天天拍| 亚洲综合婷婷激情| 国产在线麻豆波多野结衣| 色综合天天视频在线观看| 女人18毛片久久| 毛片免费试看| www.精品视频| 全部毛片免费看| 中国一级特黄视频| 国产精品99久久久| 国产sm重味一区二区三区| 伊人国产无码高清视频| 天堂网亚洲综合在线| 国产丝袜第一页| 在线高清亚洲精品二区| 久久狠狠色噜噜狠狠狠狠97视色| 国产制服丝袜91在线| 无码中文AⅤ在线观看| 亚洲天堂视频网站| 日本午夜三级| 狠狠色噜噜狠狠狠狠奇米777| 欧美色图第一页| 免费无码AV片在线观看中文| 国产成人综合日韩精品无码首页 | 亚洲狼网站狼狼鲁亚洲下载| 亚洲第一福利视频导航| 国产乱人激情H在线观看| 国产全黄a一级毛片| 91精品啪在线观看国产| 亚洲AV无码一二区三区在线播放| 亚洲伊人天堂| 中文字幕啪啪| 72种姿势欧美久久久大黄蕉| 91免费国产高清观看| 幺女国产一级毛片| 国产成人精品第一区二区| 亚洲欧美综合精品久久成人网| 亚洲手机在线| 99re在线观看视频| 国产va欧美va在线观看| 九九热视频在线免费观看| 久久综合色88| 亚洲欧美另类色图| 日韩大片免费观看视频播放| 免费女人18毛片a级毛片视频| 亚洲天堂网2014| 色偷偷综合网| 天堂网亚洲系列亚洲系列| 精品视频第一页| 久久婷婷综合色一区二区| 亚洲av无码片一区二区三区| 欧美性精品| 999在线免费视频| 婷婷色丁香综合激情| 国产另类视频| 精品国产美女福到在线不卡f| 国产高清免费午夜在线视频|