本發(fā)明涉及一種網(wǎng)絡(luò)帶寬自適應(yīng)方法,尤其是涉及一種虛擬桌面呈現(xiàn)設(shè)備中的網(wǎng)絡(luò)帶寬自適應(yīng)方法。
背景技術(shù):
目前已經(jīng)有多個(gè)公司提供部署于廣域網(wǎng)的公有云桌面服務(wù)。例如VMWare View與Teradici共同開發(fā)的PCoIP方案,PCoIP協(xié)議是一種高效率的數(shù)據(jù)交換協(xié)議,采用了數(shù)據(jù)壓縮、加密和連接優(yōu)化技術(shù),將用戶的會(huì)話以圖像的方式進(jìn)行壓縮傳輸,對(duì)于用戶的操作,只傳輸變化部分,保證在低帶寬下也能高效的使用,用戶在非常低的的網(wǎng)絡(luò)帶寬下均能使用,而實(shí)際運(yùn)行的桌面位于后臺(tái)的數(shù)據(jù)中心高速網(wǎng)絡(luò)內(nèi),因此終端用戶在低帶寬鏈路就可以享受到局域網(wǎng)內(nèi)的運(yùn)行速度。通過PCoIP協(xié)議飛躍性地提高了桌面虛擬化的功能及性能,目前已經(jīng)成為最為流行的桌面虛擬化協(xié)議和標(biāo)準(zhǔn)。
PCoIP專為交付虛擬桌面而構(gòu)建,無(wú)論最終用戶具有什么任務(wù)或處于何位置,均可為其提供內(nèi)容極為豐富的最佳桌面體驗(yàn)。借助PCoIP,整個(gè)計(jì)算體驗(yàn)先經(jīng)過在數(shù)據(jù)中心進(jìn)行壓縮、加密和編碼,然后再通過標(biāo)準(zhǔn)IP網(wǎng)絡(luò)傳輸?shù)絾⒂肞CoIP的端點(diǎn)設(shè)備。與傳統(tǒng)顯示協(xié)議不同,傳統(tǒng)協(xié)議是專為交付應(yīng)用程序而構(gòu)建的,而PCoIP則是為了進(jìn)行桌面交付全新構(gòu)建的。PCoIP采用自適應(yīng)技術(shù)進(jìn)行了高度優(yōu)化,可確保無(wú)論最終用戶在局域網(wǎng)或廣域網(wǎng)上的位置如何,均可獲得最佳用戶體驗(yàn)。
然而該服務(wù)的客戶連接公有云服務(wù)時(shí)的網(wǎng)絡(luò)情況差別很大,從光纖、專線、家用普通ADSL、甚至是2G/3G手機(jī)網(wǎng)絡(luò);由此網(wǎng)絡(luò)的帶寬,延時(shí),錯(cuò)誤率和丟包率都相差很大。如果以一種固定的帶寬來(lái)傳輸遠(yuǎn)程桌面數(shù)據(jù),對(duì)于不同的客戶來(lái)說(shuō)體驗(yàn)會(huì)完全不同,比如只適應(yīng)光纖網(wǎng)絡(luò)情況,那2G網(wǎng)絡(luò)情況下用戶體驗(yàn)將是不可接受的,而如果針對(duì)2G網(wǎng)絡(luò)優(yōu)化,則光纖用戶會(huì)感覺畫面質(zhì)量難以接受?,F(xiàn)有技術(shù)采用的方案針對(duì)不同的帶寬只能調(diào)整編碼的參數(shù),如JPEG質(zhì)量,或者H.264的質(zhì)量和碼率,缺點(diǎn)是可調(diào)整的范圍相對(duì)較窄。同時(shí),針對(duì)的內(nèi)容只包括了畫面類型,其他的如聲音和USB數(shù)據(jù)等沒有調(diào)整。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的就是為了克服上述現(xiàn)有技術(shù)存在的缺陷而提供一種虛擬桌面呈現(xiàn)設(shè)備中的網(wǎng)絡(luò)帶寬自適應(yīng)方法,通過采用和網(wǎng)絡(luò)帶寬相對(duì)應(yīng)的編碼方式,讓各種情況下的網(wǎng)絡(luò)都能有一個(gè)最佳的用戶體驗(yàn),解決廣域網(wǎng)公有云上的遠(yuǎn)程協(xié)議對(duì)網(wǎng)絡(luò)帶寬的自適應(yīng)問題。
本發(fā)明的目的可以通過以下技術(shù)方案來(lái)實(shí)現(xiàn):
一種虛擬桌面呈現(xiàn)設(shè)備中的網(wǎng)絡(luò)帶寬自適應(yīng)方法,用于遠(yuǎn)程桌面協(xié)議通信,所述的遠(yuǎn)程桌面協(xié)議以客戶端/服務(wù)器模式進(jìn)行通信,所述的方法包括以下步驟:
S1,服務(wù)器和客戶端載入查詢表,所述的查詢表包括相互對(duì)應(yīng)的編碼方式和網(wǎng)絡(luò)帶寬范圍,查詢表是根據(jù)經(jīng)驗(yàn)值和實(shí)際測(cè)算效果得出,形成可以通過網(wǎng)絡(luò)帶寬范圍查詢的編碼方式表,服務(wù)器和客戶端中,存儲(chǔ)的是相同的查詢表;
S2,客戶端通過網(wǎng)絡(luò)連接至服務(wù)器;
S3,客戶端將已知的所處網(wǎng)絡(luò)帶寬信息和自身網(wǎng)絡(luò)處理上限發(fā)送給服務(wù)器端,以便服務(wù)器和客戶端進(jìn)行帶寬能力協(xié)商;
S4,服務(wù)器實(shí)時(shí)發(fā)起與客戶端之間的帶寬能力測(cè)試,得到雙方當(dāng)前的網(wǎng)絡(luò)帶寬;
S5,根據(jù)當(dāng)前的網(wǎng)絡(luò)帶寬判斷雙方是否仍建立連接,若是,則進(jìn)入步驟S6,否則數(shù)據(jù)傳輸結(jié)束;
S6,服務(wù)器根據(jù)查詢表及當(dāng)前的網(wǎng)絡(luò)帶寬,選擇當(dāng)前網(wǎng)絡(luò)帶寬所處的網(wǎng)絡(luò)帶寬范圍對(duì)應(yīng)的選擇編碼方式進(jìn)行數(shù)據(jù)編碼,并向客戶端發(fā)送數(shù)據(jù);
S7,客戶端根據(jù)收到的數(shù)據(jù)和查詢表選擇解碼器和解碼方式進(jìn)行解碼,并向服務(wù)器發(fā)送回應(yīng);
S8,服務(wù)器接收客戶端回應(yīng),更新當(dāng)前網(wǎng)絡(luò)帶寬,并返回步驟S5。
所述的網(wǎng)絡(luò)帶寬范圍包括網(wǎng)絡(luò)帶寬的上限和下限。
所述的查詢表中,一個(gè)網(wǎng)絡(luò)帶寬范圍對(duì)應(yīng)多種數(shù)據(jù)類型的編碼方式,數(shù)據(jù)類型包括圖像數(shù)據(jù)、音頻數(shù)據(jù)和USB數(shù)據(jù),數(shù)據(jù)類型具有優(yōu)先級(jí),高優(yōu)先級(jí)的數(shù)據(jù)優(yōu)先進(jìn)行傳輸。
在不同的網(wǎng)絡(luò)帶寬范圍下,各數(shù)據(jù)類型的優(yōu)先級(jí)順序存在變化。
對(duì)于同一種數(shù)據(jù)類型,不同編碼方式對(duì)應(yīng)的網(wǎng)絡(luò)帶寬范圍之間的交集為空,即沒有重疊。
所述的步驟S4中,帶寬能力測(cè)試方法包括以下步驟:
S41,服務(wù)器實(shí)時(shí)向客戶端發(fā)送二者中間鏈路最大報(bào)文長(zhǎng)度的隨機(jī)數(shù)據(jù)包;
S42,服務(wù)器接收客戶端回應(yīng),根據(jù)數(shù)據(jù)傳輸時(shí)間和總傳輸成功的字節(jié)數(shù),計(jì)算當(dāng)前網(wǎng)絡(luò)實(shí)際帶寬。
與現(xiàn)有技術(shù)相比,本發(fā)明具有以下優(yōu)點(diǎn):
(1)根據(jù)經(jīng)驗(yàn)值和實(shí)際測(cè)算效果建立了查詢表,在后續(xù)的數(shù)據(jù)傳輸中,可以通過網(wǎng)絡(luò)帶寬范圍查詢編碼方式,從而在當(dāng)前網(wǎng)絡(luò)帶寬下獲取合適的編碼方式,從而獲取較流暢的通信效果。
(2)客戶端將已知的所處網(wǎng)絡(luò)帶寬信息和自身網(wǎng)絡(luò)處理上限發(fā)送給服務(wù)器端,以便服務(wù)器和客戶端進(jìn)行帶寬能力協(xié)商。
(3)查詢表中,傳輸?shù)臄?shù)據(jù)類型包括圖像數(shù)據(jù)、音頻數(shù)據(jù)和USB數(shù)據(jù),突破了現(xiàn)有技術(shù)僅對(duì)圖像編碼參數(shù)進(jìn)行調(diào)整的局限。
(4)帶寬能力測(cè)試中,依據(jù)客戶端發(fā)送的網(wǎng)絡(luò)帶寬信息和自身網(wǎng)絡(luò)處理上限,發(fā)送一定長(zhǎng)度的隨機(jī)數(shù)據(jù)包,使當(dāng)前網(wǎng)絡(luò)實(shí)際帶寬測(cè)試結(jié)果更加準(zhǔn)確可靠。
(5)服務(wù)器和客戶端中,存儲(chǔ)相同的查詢表,查詢結(jié)果唯一,便于客戶端快速選擇合適的解碼方式進(jìn)行解碼。
附圖說(shuō)明
圖1為本發(fā)明方法的流程圖。
具體實(shí)施方式
下面結(jié)合附圖和具體實(shí)施例對(duì)本發(fā)明進(jìn)行詳細(xì)說(shuō)明。本實(shí)施例以本發(fā)明技術(shù)方案為前提進(jìn)行實(shí)施,給出了詳細(xì)的實(shí)施方式和具體的操作過程,但本發(fā)明的保護(hù)范圍不限于下述的實(shí)施例。
實(shí)施例
如圖1所示,一種虛擬桌面呈現(xiàn)設(shè)備中的網(wǎng)絡(luò)帶寬自適應(yīng)方法,遠(yuǎn)程桌面協(xié)議以客戶端/服務(wù)器模式進(jìn)行通信,方法包括以下步驟:
S1,服務(wù)器和客戶端載入查詢表,查詢表包括相互對(duì)應(yīng)的編碼方式和網(wǎng)絡(luò)帶寬范圍,形成可以通過網(wǎng)絡(luò)帶寬范圍查詢的編碼方式表,網(wǎng)絡(luò)帶寬范圍包括網(wǎng)絡(luò)帶寬的上限和下限;
S2,客戶端通過網(wǎng)絡(luò)連接至服務(wù)器;
S3,客戶端將已知的所處網(wǎng)絡(luò)帶寬信息和自身網(wǎng)絡(luò)處理上限發(fā)送給服務(wù)器端,注意,客戶端對(duì)自身的網(wǎng)絡(luò)描述不一定準(zhǔn)確,如有線的客戶端一般有100M以上網(wǎng)卡,但是廣域網(wǎng)的帶寬可能只有4M,因此需要確定客戶端自身網(wǎng)絡(luò)處理能力;
S4,服務(wù)器實(shí)時(shí)發(fā)起與客戶端之間的帶寬能力測(cè)試,得到雙方當(dāng)前的網(wǎng)絡(luò)帶寬,具體包括以下步驟:
S41,服務(wù)器實(shí)時(shí)向客戶端發(fā)送二者中間鏈路最大報(bào)文長(zhǎng)度的隨機(jī)數(shù)據(jù)包;
S42,服務(wù)器接收客戶端回應(yīng),根據(jù)數(shù)據(jù)傳輸時(shí)間和總傳輸成功的字節(jié)數(shù),計(jì)算當(dāng)前網(wǎng)絡(luò)實(shí)際帶寬;
S5,根據(jù)當(dāng)前的網(wǎng)絡(luò)帶寬判斷雙方是否仍建立連接,若是,則進(jìn)入步驟S6,否則數(shù)據(jù)傳輸結(jié)束;
S6,服務(wù)器根據(jù)查詢表及當(dāng)前的網(wǎng)絡(luò)帶寬,選擇編碼方式進(jìn)行數(shù)據(jù)編碼,并向客戶端發(fā)送數(shù)據(jù);
S7,客戶端根據(jù)收到的數(shù)據(jù)和查詢表,得到當(dāng)前數(shù)據(jù)的編碼方式,并智能選擇解碼器和解碼方式進(jìn)行解碼,并向服務(wù)器發(fā)送回應(yīng);
S8,服務(wù)器接收客戶端回應(yīng),更新當(dāng)前網(wǎng)絡(luò)帶寬,并返回步驟S5。
查詢表中,一個(gè)網(wǎng)絡(luò)帶寬范圍對(duì)應(yīng)多種數(shù)據(jù)類型的編碼方式,數(shù)據(jù)類型包括圖像數(shù)據(jù)、音頻數(shù)據(jù)和USB數(shù)據(jù),數(shù)據(jù)類型具有優(yōu)先級(jí),高優(yōu)先級(jí)的數(shù)據(jù)優(yōu)先進(jìn)行傳輸,且所占比重較大;在不同的網(wǎng)絡(luò)帶寬范圍下,各數(shù)據(jù)類型的優(yōu)先級(jí)順序存在變化,以合理分配數(shù)據(jù)傳輸類型,達(dá)到最大的數(shù)據(jù)傳輸效率。
對(duì)于同一種數(shù)據(jù)類型,不同編碼方式對(duì)應(yīng)的網(wǎng)絡(luò)帶寬范圍之間的交集為空,即沒有重疊,因此編碼方式選擇的結(jié)果唯一,選擇速度快。
在媒介帶寬一定的情況下,為了能傳輸更高速率的數(shù)據(jù)流,要設(shè)法通過編碼方式降低傳輸速率,減少傳輸帶寬,從而減輕對(duì)媒介的要求。