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

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

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

摘 要:VNC是由A7T劍橋?qū)嶒?yàn)室開發(fā)的一個(gè)強(qiáng)大的遠(yuǎn)程桌面共享工具,能夠讓多個(gè)用戶通過復(fù)雜的互聯(lián)網(wǎng)環(huán)境實(shí)時(shí)觀看到遠(yuǎn)端的服務(wù)器桌面并進(jìn)行操作。但VNC系統(tǒng)的星型結(jié)構(gòu)在實(shí)際應(yīng)用中很容易造成服務(wù)器端網(wǎng)絡(luò)的擁塞,使得可用性大大降低。文章對(duì)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)了一個(gè)低成本高效率的實(shí)時(shí)課堂直播系統(tǒng)。

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

0 引言

以互聯(lián)網(wǎng)為主要媒介的現(xiàn)代遠(yuǎn)程教育是當(dāng)今教育的發(fā)展趨勢(shì)。據(jù)統(tǒng)計(jì),現(xiàn)有的遠(yuǎn)程教學(xué)系統(tǒng),大多采用客戶機(jī)/服務(wù)器(C/S)結(jié)構(gòu)。C/S結(jié)構(gòu)系統(tǒng)在管理上具有優(yōu)勢(shì),但存在以下問題:①多客戶單服務(wù)器構(gòu)架難以應(yīng)付大規(guī)模并發(fā)客戶;②資源集中于服務(wù)器易形成瓶頸,客戶端資源利用率低;③魯棒性低,易出現(xiàn)單點(diǎn)故障,系統(tǒng)容錯(cuò)能力低且易受攻擊。考慮到對(duì)等網(wǎng)絡(luò)(Peer-to-Peer,P2P)系統(tǒng)具有負(fù)載均衡、自適應(yīng)、自組織和容錯(cuò)力強(qiáng)等優(yōu)點(diǎn),很多研究者開始將對(duì)等網(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ò)計(jì)算)是ATT劍橋?qū)嶒?yàn)室所研發(fā)的遠(yuǎn)程桌面共享工具,它能夠讓多個(gè)用戶通過復(fù)雜的互聯(lián)網(wǎng)環(huán)境實(shí)時(shí)觀看到遠(yuǎn)端的服務(wù)器桌面并進(jìn)行操作。VNC所采用的是RFB(RemoteFrame Buffer,遠(yuǎn)程幀緩沖)協(xié)議,它是基于TCP/IP傳輸協(xié)議上的一個(gè)簡(jiǎn)單的圖形界面?zhèn)鬏攨f(xié)議。如果要使用VNC系統(tǒng)來實(shí)現(xiàn)多個(gè)客戶端能夠同時(shí)觀看到同一遠(yuǎn)程計(jì)算機(jī)的桌面,就必須在該遠(yuǎn)程計(jì)算機(jī)上維持多個(gè)VNC客戶端的TCP連接。由于每個(gè)TCP連接都要實(shí)時(shí)傳送VNC服務(wù)器和客戶端的控制信息以及反饋圖像,所以當(dāng)控制者數(shù)目增大時(shí),服務(wù)器端所需要的網(wǎng)絡(luò)帶寬和處理器速度都會(huì)線性增長(zhǎng)。當(dāng)客戶端數(shù)目增多到一定程度,這種點(diǎn)對(duì)點(diǎn)通信的RF33協(xié)議就顯得力不從心,從而導(dǎo)致系統(tǒng)癱瘓。

由于VNC是一個(gè)開放源代碼項(xiàng)目,我們可以針對(duì)上述VNC的不足之處,通過擴(kuò)展VNC的RFB協(xié)議,增加音/視頻多播的支持,并改進(jìn)身份識(shí)別認(rèn)證、授權(quán)機(jī)制,來實(shí)現(xiàn)一個(gè)比較安全和穩(wěn)定的實(shí)時(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ī),該計(jì)算機(jī)上安裝了VNC Server(VNC的服務(wù)器端軟件)。VNC Server將自動(dòng)錄制教師在計(jì)算機(jī)屏幕上的一系列動(dòng)作,形成屏幕數(shù)據(jù)流。該屏幕數(shù)據(jù)流將通過RFB協(xié)議傳送給中間服務(wù)器(其上安裝了VNC Client),然后再通過P2P網(wǎng)絡(luò)傳輸?shù)綄W(xué)生的計(jì)算機(jī)上。在RFB協(xié)議中,它采用了一些編碼算法來減少傳輸?shù)臄?shù)據(jù)量,目前支持如下幾種編碼方法,包括Raw、Copy Rectangle、RRE、CoRRE、Hextile和ZRLE等方法。

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

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

1.2 中間服務(wù)器

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

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

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

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

VNC的網(wǎng)絡(luò)安全性差,因?yàn)閂NC僅使用單一的固定密碼對(duì)用戶進(jìn)行認(rèn)證,無法做到用戶的權(quán)限管理和多個(gè)會(huì)話的訪問控制。在本系統(tǒng)中,利用中間服務(wù)器負(fù)責(zé)對(duì)學(xué)生用戶在服務(wù)器上的合法身份進(jìn)行安全認(rèn)證,并對(duì)學(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ò)中傳輸,需要對(duì)這些數(shù)據(jù)進(jìn)行一定的處理和包裝。關(guān)于這部分內(nèi)容將在下面具體闡述。

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

通過中間服務(wù)器,把多媒體數(shù)據(jù)同時(shí)發(fā)送給多個(gè)客戶端,無論是采用重復(fù)點(diǎn)對(duì)點(diǎn)通信方式,還是采用廣播方式,都會(huì)嚴(yán)重浪費(fèi)網(wǎng)絡(luò)帶寬,而且效率很低。對(duì)此,可以借鑒PPlive這類網(wǎng)絡(luò)電視的原理,它提供了基于P2P技術(shù)的流媒體傳輸解決方案,每一臺(tái)P2P網(wǎng)絡(luò)內(nèi)的主機(jī)既是客戶機(jī)又是服務(wù)器,在接收服務(wù)的同時(shí)又向別人提供服務(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ì)量,我們對(duì)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á)到目的的。它會(huì)在抓屏之前動(dòng)態(tài)跟蹤屏幕變化矩形區(qū)域,通過只保存變化矩形區(qū)域的數(shù)據(jù)和位置的方法來減少圖像處理和傳輸?shù)臄?shù)據(jù)量,提高效率和帶寬。

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

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

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

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

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

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

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

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

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

3 結(jié)束語

本文提出了一種基于VNC和P2P技術(shù)的實(shí)時(shí)課堂直播系統(tǒng)。VNC是一款優(yōu)秀的開放源碼的遠(yuǎn)程桌面控制軟件,但是VNC所采用的安全機(jī)制不夠完善,存在明顯的安全漏洞。雖然VNC也支持多個(gè)客戶端同時(shí)對(duì)同一個(gè)遠(yuǎn)程計(jì)算機(jī)(服務(wù)器端)進(jìn)行控制,但是它采用的是基于TCP協(xié)議之上的點(diǎn)對(duì)點(diǎn)傳輸協(xié)議,當(dāng)客戶端的數(shù)目增大時(shí),服務(wù)器端所需要的網(wǎng)絡(luò)帶寬和處理器速度都會(huì)線性增長(zhǎng)。本系統(tǒng)就針對(duì)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)行測(cè)試,基本上能夠滿足100人左右規(guī)模的正常使用。今后打算從以下幾方面對(duì)系統(tǒng)進(jìn)行改進(jìn):

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

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

主站蜘蛛池模板: 国产欧美日韩综合一区在线播放| 国产成人精品一区二区秒拍1o| 国产成年无码AⅤ片在线| 亚洲成人免费看| 国产精品视频公开费视频| 国产午夜人做人免费视频| 中文字幕啪啪| 欧美va亚洲va香蕉在线| 毛片免费在线视频| 亚洲无码高清免费视频亚洲| 99久久性生片| 尤物国产在线| 无码AV日韩一二三区| 国产日韩欧美精品区性色| 男女性色大片免费网站| 91成人在线免费视频| 久久公开视频| 国产女人18水真多毛片18精品| 欧美五月婷婷| 最近最新中文字幕免费的一页| 久久99国产精品成人欧美| 国产91色| 国产高清在线观看91精品| 精品亚洲麻豆1区2区3区| 欧美日韩成人在线观看| 无码人中文字幕| 国产va免费精品| 成人伊人色一区二区三区| 久久精品一卡日本电影| 99re精彩视频| 性69交片免费看| 女人一级毛片| 在线色国产| 国产精品女在线观看| 丁香婷婷久久| 国产精品久久久久久久伊一| 亚洲国产成人麻豆精品| 四虎精品黑人视频| 日韩午夜片| 国产精品99r8在线观看| 欧美一区二区三区香蕉视| 亚洲第一天堂无码专区| av一区二区三区高清久久| 国产精品一区在线麻豆| 人妻无码一区二区视频| 伊人成色综合网| a级毛片网| 青青操国产| 麻豆国产原创视频在线播放| 伊人久久婷婷| 日本欧美中文字幕精品亚洲| 国产精品乱偷免费视频| 国产aⅴ无码专区亚洲av综合网| 免费A级毛片无码无遮挡| 四虎成人免费毛片| 亚洲国产精品日韩av专区| 国产乱码精品一区二区三区中文| 国产成年无码AⅤ片在线| 永久免费av网站可以直接看的 | 日韩A∨精品日韩精品无码| 久久无码高潮喷水| 九九久久精品国产av片囯产区| 国产精品专区第一页在线观看| 国产欧美成人不卡视频| 天天色天天综合网| 五月婷婷丁香综合| 国内精品手机在线观看视频| 国产原创第一页在线观看| 国产成人盗摄精品| 色天天综合| 永久免费无码日韩视频| 四虎国产永久在线观看| 毛片久久久| 日韩高清在线观看不卡一区二区| 亚洲成A人V欧美综合天堂| 国产福利影院在线观看| 国产欧美日韩在线在线不卡视频| 日本免费福利视频| 啦啦啦网站在线观看a毛片| 激情午夜婷婷| a欧美在线| 久久久久久国产精品mv|