新聞中心

EEPW首頁 > 電源與新能源 > 設(shè)計(jì)應(yīng)用 > 基于虛擬通道的Flash映射技術(shù)

基于虛擬通道的Flash映射技術(shù)

作者: 時(shí)間:2014-01-23 來源:網(wǎng)絡(luò) 收藏

虛擬化領(lǐng)域的一個(gè)技術(shù)熱點(diǎn)是桌面PC的虛擬化,即虛擬桌面架構(gòu)()。虛擬桌面架構(gòu)解決方案正在幫助企業(yè)將其Windows桌面和數(shù)據(jù)轉(zhuǎn)變成類似云的資源,最終用戶能夠在任何設(shè)備上隨時(shí)隨地訪問這些資源。

然而,最終用戶都希望虛擬桌面的性能和用戶體驗(yàn)至少和物理桌面一樣好,但是對于某些應(yīng)用——如視頻播放、網(wǎng)頁Flash播放等等——的用戶體驗(yàn)均不理想。本文針對環(huán)境下網(wǎng)頁Flash視頻播放效果差的問題,提出了一種基于技術(shù),大幅度提升了在VDI環(huán)境下播放網(wǎng)頁Flash視頻的效果,提高了VDI環(huán)境下的用戶體驗(yàn)。

一、虛擬化環(huán)境

虛擬化是一個(gè)表現(xiàn)邏輯群組或電腦資源的子集的進(jìn)程,用戶可以用比原本的組態(tài)更好的方式來存取這些進(jìn)程。這些資源的新虛擬部份是不受現(xiàn)有資源的架設(shè)方式、地域或物理組態(tài)所限制。虛擬化技術(shù)和云計(jì)算平臺的結(jié)合帶來了全新的資源整合和使用模式,基于虛擬化技術(shù)的資源按需分配與調(diào)度可以提高云平臺資源的利用率,提升云服務(wù)的服務(wù)質(zhì),并降低云用戶的總體擁有成本。

虛擬桌面架構(gòu)解決方案正在幫助企業(yè)將其Windows桌面和數(shù)據(jù)轉(zhuǎn)變成類似云的資源,最終用戶能夠在任何設(shè)備上隨時(shí)隨地訪問這些資源。雖然VDI承諾的數(shù)據(jù)安全性和更高的資源利用率推動了特定市場中的初期采用,但是它并沒有被整個(gè)企業(yè)界廣泛采用。這是因?yàn)閭鹘y(tǒng)VDI的用戶體驗(yàn)大大低于本地PC可提供的用戶體驗(yàn)。尤其是在視頻觀看和Flash播放等富媒體內(nèi)容時(shí),VDI的用戶體驗(yàn)更是不可接受的。

二、技術(shù)

目前,對于在VDI環(huán)境下視頻播放已經(jīng)有了比較成熟的技術(shù)。但是對于網(wǎng)頁Flash播放卻一直沒有很好的解決方法。其原因無非有以下幾點(diǎn):

1.服務(wù)端源數(shù)據(jù)獲取困難

視頻技術(shù)是通過使用特殊的分離器和解碼器實(shí)現(xiàn)對源數(shù)據(jù)的獲取,因此只要視頻播放器能夠加載該分離器和解碼器即可獲取視頻源數(shù)據(jù)。然而,網(wǎng)頁中的Flash播放器是不會加載任何第三方解碼器的,這就造成了幾乎無法獲取視頻源數(shù)據(jù)。

2.客戶端源數(shù)據(jù)獲取困難

在多數(shù)VDI環(huán)境下,客戶端設(shè)備的網(wǎng)絡(luò)環(huán)境是受限的;也就是說,在這種環(huán)境下,運(yùn)行于客戶端設(shè)備的軟件無法任意地訪問位于互聯(lián)網(wǎng)的資源,如視頻、音頻等。而網(wǎng)頁上Flash視頻均保存在互聯(lián)網(wǎng)上,這就造成了此類客戶端無法獲取視頻源數(shù)據(jù)。

3.用戶操控?zé)o法獲取

在視頻技術(shù)中,當(dāng)用戶對視頻進(jìn)行播放、暫停、停止等等操作時(shí),分離器和解碼器會收到通知。然而在Flash視頻中,沒有任何方法能夠獲取用戶所進(jìn)行的操作。

為了解決以上問題,目前存在一種“Flash增強(qiáng)技術(shù)”。該技術(shù)通過在服務(wù)器端截取Flash視頻的繪圖事件,將Flash視頻繪制到屏幕上的數(shù)據(jù)進(jìn)行二次編碼,然后再將二次編碼過的數(shù)據(jù)發(fā)送到客戶端進(jìn)行播放。這種方法可以在一定程度上解決這些問題,但同時(shí)又帶來了其它問題,如服務(wù)器和客戶端資源占用過高,帶寬占用也較大,這就對服務(wù)器和客戶端的硬件增加了要求。

但以上幾點(diǎn)并不能說明Flash重定向是不可行的。Flash視頻是通過網(wǎng)頁上的Flash元素進(jìn)行播放的,而一個(gè)Flash元素會對應(yīng)一個(gè)Flash文件。通過將網(wǎng)頁上的Flash文件重定向到客戶端本地,理論上可以達(dá)到重定向Flash視頻的效果?;?a class="contentlabel" href="http://m.butianyuan.cn/news/listbylabel/label/虛擬通道">虛擬通道技術(shù)實(shí)現(xiàn)方法如下:

(1)在服務(wù)端編寫瀏覽器插件,用于獲取播放Flash視頻的Flash文件的URL;

(2)將Flash文件URL發(fā)送至客戶端,客戶端創(chuàng)建一個(gè)簡單的瀏覽器,使用相同的參數(shù)加載該文件。

理論上講,至此就可以實(shí)現(xiàn)Flash文件的重定向。由于是將Flash文件重定向至客戶端,所以也就不存在無法獲取視頻源的問題,因?yàn)橐曨l源的獲取將由客戶端的瀏覽器完成。同時(shí),在客戶端呈現(xiàn)的就是Flash視頻播放器界面,用戶將直接對客戶端本地的Flash播放器進(jìn)行如播放、暫停等等操作,因此也就不存在用戶操作的問題了。

最后一個(gè)問題,即前面所述的網(wǎng)絡(luò)受限問題,到目前為止還沒有解決。如果客戶端網(wǎng)絡(luò)受限,那么運(yùn)行在客戶端上的瀏覽器將無法直接訪問互聯(lián)網(wǎng),也就無法加載Flash文件。但此時(shí),服務(wù)端的網(wǎng)絡(luò)是不受限的;也就是說,運(yùn)行于服務(wù)端的軟件可以任意地訪問位于互聯(lián)網(wǎng)的資源。據(jù)此,使用一種基于的網(wǎng)絡(luò)代理方法,即可解決上述問題。

基于虛擬通道的網(wǎng)絡(luò)代理方法,在服務(wù)端搭建服務(wù)端用基于虛擬通道的特殊代理服務(wù)器(即“服務(wù)端代理”),當(dāng)用戶遠(yuǎn)程登錄到服務(wù)端時(shí)啟動,并建立一條特殊代理服務(wù)器專用虛擬通道(即“專用虛擬通道”);在客戶端運(yùn)行一個(gè)客戶端用基于虛擬通道的特殊代理服務(wù)器(即“客戶端代理”),負(fù)責(zé)代理客戶端中軟件的網(wǎng)絡(luò)請求;其它客戶端軟件(即“客戶端軟件”)在訪問互聯(lián)網(wǎng)資源時(shí),將客戶端代理設(shè)置為其代理服務(wù)器,并通過客戶端代理發(fā)送網(wǎng)絡(luò)請求;客戶端代理接收到來自其它運(yùn)行于客戶端軟件的網(wǎng)絡(luò)代理請求后,將該請求通過專用虛擬通道發(fā)送到服務(wù)端代理處;服務(wù)端代理從專用虛擬通道接收來自客戶端代理的代理請求后,將該請求發(fā)向互聯(lián)網(wǎng),并接收來自互聯(lián)網(wǎng)的響應(yīng);服務(wù)端代理接收到來自互聯(lián)網(wǎng)的響應(yīng)后,將該響應(yīng)通過專用虛擬通道發(fā)送到客戶端代理處;客戶端代理接收到來自專用虛擬通道的響應(yīng)后,將響應(yīng)發(fā)送到客戶端軟件,完成一次代理過程。

如此,客戶端可以通過特殊代理從服務(wù)器接收的原始壓縮多媒體流,并在本地解碼顯示。這將減少帶寬的使用,因?yàn)樵诰W(wǎng)絡(luò)上傳輸?shù)臄?shù)據(jù)是被壓縮的視頻,而不是一系列未壓縮的位圖。此時(shí)帶寬占用將與從視頻服務(wù)器播放流內(nèi)容或者通過文件共享方式播放服務(wù)器上的視頻類似。另外,無論播放視頻的窗口大小如何,甚至是全屏播放,帶寬的占用率都將保持不變。

這種方法還可以節(jié)省服務(wù)器資源,服務(wù)器不再花費(fèi)CPU資源解碼視頻內(nèi)容并進(jìn)行二次編碼,視頻解碼全由客戶端負(fù)責(zé)。即使是在客戶端上渲染,視頻顯示在屏幕上的內(nèi)容也將是無縫的。

三、結(jié)論

本文使用了一種基于虛擬通道的Flash映射技術(shù),大幅度提升了在VDI環(huán)境下播放網(wǎng)頁Flash視頻的效果,提高了VDI環(huán)境下的用戶體驗(yàn)。

本文引用地址:http://m.butianyuan.cn/article/258427.htm


關(guān)鍵詞: 虛擬通道 Flash映射 VDI 重定向

評論


技術(shù)專區(qū)

關(guān)閉