亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于VNC和P2P技術(shù)的實(shí)時課堂直播系統(tǒng)

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

        摘 要:VNC是由A7T劍橋?qū)嶒?yàn)室開發(fā)的一個強(qiáng)大的遠(yuǎn)程桌面共享工具,能夠讓多個用戶通過復(fù)雜的互聯(lián)網(wǎng)環(huán)境實(shí)時觀看到遠(yuǎn)端的服務(wù)器桌面并進(jìn)行操作。但VNC系統(tǒng)的星型結(jié)構(gòu)在實(shí)際應(yīng)用中很容易造成服務(wù)器端網(wǎng)絡(luò)的擁塞,使得可用性大大降低。文章對VNC系統(tǒng)進(jìn)行了改進(jìn),增加了音/視頻方面的支持,增強(qiáng)了安全性能,并引進(jìn)了P2P技術(shù),利用現(xiàn)有網(wǎng)絡(luò)架構(gòu),通過優(yōu)化和改進(jìn)多媒體數(shù)據(jù)流的傳送技術(shù),實(shí)現(xiàn)了一個低成本高效率的實(shí)時課堂直播系統(tǒng)。

        關(guān)鍵詞:虛擬網(wǎng)絡(luò)計算;P2P;實(shí)時課堂直播;遠(yuǎn)程教學(xué)

        0 引言

        以互聯(lián)網(wǎng)為主要媒介的現(xiàn)代遠(yuǎn)程教育是當(dāng)今教育的發(fā)展趨勢。據(jù)統(tǒng)計,現(xiàn)有的遠(yuǎn)程教學(xué)系統(tǒng),大多采用客戶機(jī)/服務(wù)器(C/S)結(jié)構(gòu)。C/S結(jié)構(gòu)系統(tǒng)在管理上具有優(yōu)勢,但存在以下問題:①多客戶單服務(wù)器構(gòu)架難以應(yīng)付大規(guī)模并發(fā)客戶;②資源集中于服務(wù)器易形成瓶頸,客戶端資源利用率低;③魯棒性低,易出現(xiàn)單點(diǎn)故障,系統(tǒng)容錯能力低且易受攻擊??紤]到對等網(wǎng)絡(luò)(Peer-to-Peer,P2P)系統(tǒng)具有負(fù)載均衡、自適應(yīng)、自組織和容錯力強(qiáng)等優(yōu)點(diǎn),很多研究者開始將對等網(wǎng)絡(luò)運(yùn)用到流媒體的傳輸中來。

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

        由于VNC是一個開放源代碼項(xiàng)目,我們可以針對上述VNC的不足之處,通過擴(kuò)展VNC的RFB協(xié)議,增加音/視頻多播的支持,并改進(jìn)身份識別認(rèn)證、授權(quán)機(jī)制,來實(shí)現(xiàn)一個比較安全和穩(wěn)定的實(shí)時課堂直播系統(tǒng)。

        1 系統(tǒng)模型

        該遠(yuǎn)程教學(xué)系統(tǒng)主要由三部分組成:源服務(wù)器,中間服務(wù)器以及基于P2P網(wǎng)絡(luò)的客戶端。如圖1所示,下面就各功能模塊分別進(jìn)行介紹。

        1.1 源服務(wù)器

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

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

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

        1.2 中間服務(wù)器

        中間服務(wù)器擔(dān)負(fù)著內(nèi)容轉(zhuǎn)發(fā)服務(wù)器和網(wǎng)絡(luò)管理服務(wù)器的兩大功能。通過設(shè)置中間服務(wù)器,可以轉(zhuǎn)移教師計算機(jī)(源服務(wù)器)性能和帶寬的壓力,同時也可實(shí)現(xiàn)對遠(yuǎn)程教學(xué)系統(tǒng)的統(tǒng)一管理。

        1.2.1 內(nèi)容轉(zhuǎn)發(fā)功能

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

        1.2.2 網(wǎng)絡(luò)管理功能

        VNC的網(wǎng)絡(luò)安全性差,因?yàn)閂NC僅使用單一的固定密碼對用戶進(jìn)行認(rèn)證,無法做到用戶的權(quán)限管理和多個會話的訪問控制。在本系統(tǒng)中,利用中間服務(wù)器負(fù)責(zé)對學(xué)生用戶在服務(wù)器上的合法身份進(jìn)行安全認(rèn)證,并對學(xué)生用戶的權(quán)限進(jìn)行控制。這樣,就摒棄了VNC的用戶身份認(rèn)證機(jī)制,大大地增加了系統(tǒng)的安全性。

        中間服務(wù)器還充當(dāng)著P2P網(wǎng)絡(luò)的管理服務(wù)器的角色。為了使從源服務(wù)器傳送過來的數(shù)據(jù),能夠高效地在P2P網(wǎng)絡(luò)中傳輸,需要對這些數(shù)據(jù)進(jìn)行一定的處理和包裝。關(guān)于這部分內(nèi)容將在下面具體闡述。

        1.3 P2P網(wǎng)絡(luò)

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

        2 多媒體數(shù)據(jù)分塊與調(diào)度機(jī)制

        為了能夠充分使用網(wǎng)絡(luò)帶寬和提高課堂直播的質(zhì)量,我們對P2P網(wǎng)絡(luò)上的數(shù)據(jù)流進(jìn)行分類,即:控制流,桌面數(shù)據(jù)流以及音/視頻數(shù)據(jù)流。

        2.1 桌面數(shù)據(jù)的處理

        源服務(wù)器上的VNC Server將桌面環(huán)境通過RFB協(xié)議送給中間服務(wù)器的VNC Client端,并不是通過連續(xù)抓取全屏數(shù)據(jù)然后發(fā)送來達(dá)到目的的。它會在抓屏之前動態(tài)跟蹤屏幕變化矩形區(qū)域,通過只保存變化矩形區(qū)域的數(shù)據(jù)和位置的方法來減少圖像處理和傳輸?shù)臄?shù)據(jù)量,提高效率和帶寬。

        當(dāng)中間服務(wù)器收到來自源服務(wù)器的變化矩形區(qū)域的數(shù)據(jù)時,并不是直接將它通過P2P網(wǎng)絡(luò)就發(fā)送給各個學(xué)生客戶機(jī)。因?yàn)樽兓匦螀^(qū)域的大小是不固定的,如果太大的話,在網(wǎng)絡(luò)中傳輸?shù)臅r間長,而且易出錯,這樣網(wǎng)絡(luò)延遲也就會比較大,因而不能充分體現(xiàn)P2P網(wǎng)絡(luò)的高效性。所以,在中間服務(wù)器中,會對來自源服務(wù)器的矩形數(shù)據(jù)進(jìn)行相應(yīng)的處理,也就是對較大的矩形進(jìn)行分割,進(jìn)一步分成小的矩形塊(如圖2所示)。

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

        下面就圖2所示桌面數(shù)據(jù)在P2P網(wǎng)絡(luò)的傳輸過程進(jìn)行簡要的介紹。

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

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

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

        (4)學(xué)生客戶機(jī)將收到的小矩形數(shù)據(jù)包進(jìn)行解碼,然后根據(jù)RECT_POS將小矩形顯示在適當(dāng)?shù)奈恢蒙稀?/p>

        2.2 音/視頻數(shù)據(jù)的處理

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

        3 結(jié)束語

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

        該系統(tǒng)目前在局域網(wǎng)內(nèi)進(jìn)行測試,基本上能夠滿足100人左右規(guī)模的正常使用。今后打算從以下幾方面對系統(tǒng)進(jìn)行改進(jìn):

        (1)改進(jìn)P2P網(wǎng)絡(luò)調(diào)度機(jī)制,使得實(shí)時課堂直播的效率更高。

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

        亚洲乱亚洲乱少妇无码99p| 日本在线综合一区二区| 国产精品国产三级久久| 久久狠狠色噜噜狠狠狠狠97| 天天摸日日摸狠狠添| 中文字幕乱偷乱码亚洲| 中国av一区二区三区四区| 国产一级内射视频在线观看| 开心五月激情综合婷婷色| 国产精品视频久久久久| 韩国日本在线观看一区二区| 日韩人妖视频一区二区| 亚洲无亚洲人成网站77777| 五月天综合网站| 久久国产亚洲av高清色| 午夜一区二区视频在线观看| 被三个男人绑着躁我好爽视频| 亚洲熟妇无码av不卡在线播放| 欧美人与动牲交片免费播放| 亚洲精品女同一区二区三区| 99久久婷婷国产综合精品青草免费| 国产精品-区区久久久狼| 放荡人妻一区二区三区| 亚洲av乱码二区三区涩涩屋 | 国产91成人自拍视频| 欧美白人战黑吊| 日韩电影一区二区三区| 精品国产91久久久久久久a| 午夜视频一区二区三区四区| 午夜免费视频| 亚洲永久无码动态图| 婷婷开心五月综合基地| 日本一区二区视频免费在线看| 九九久久精品无码专区| 亚洲大片免费| 一区二区三区在线观看视频精品| 日本一区二区三区免费播放| 亚洲 欧美 唯美 国产 伦 综合| av永远在线免费观看| 黄色av一区二区在线观看| 思思久久96热在精品国产|