国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      刷新虛擬桌面客戶端屏顯的方法及虛擬桌面系統(tǒng)的制作方法

      文檔序號(hào):7779131閱讀:300來源:國知局
      專利名稱:刷新虛擬桌面客戶端屏顯的方法及虛擬桌面系統(tǒng)的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及網(wǎng)絡(luò)優(yōu)化技術(shù),尤其涉及一種刷新虛擬桌面客戶端屏顯的方法以及一種虛擬桌面系統(tǒng)。
      背景技術(shù)
      當(dāng)前的虛擬化技術(shù)不只是基礎(chǔ)的服務(wù)器虛擬化,高層次的桌面虛擬化和應(yīng)用虛擬化技術(shù)也已經(jīng)獲得了蓬勃的發(fā)展和廣泛的關(guān)注。但不同于服務(wù)器的虛擬化技術(shù),桌面虛擬化和應(yīng)用虛擬化對(duì)網(wǎng)絡(luò)具有極大的依賴性,在網(wǎng)絡(luò)條件并不能得到充分保障的今天,這種對(duì)網(wǎng)絡(luò)的依賴性成為大力發(fā)展和推廣桌面虛擬化和應(yīng)用虛擬化技術(shù)的重大桎梏。目前的桌面虛擬化和應(yīng)用虛擬化技術(shù)主要受制于網(wǎng)絡(luò),在目前不足以提供優(yōu)質(zhì)而穩(wěn)定的網(wǎng)絡(luò)環(huán)境下,各大虛擬化廠商只能通過使用其他如優(yōu)化、壓縮等手段來達(dá)到降低帶寬占用的目的,利用緩存機(jī)制就是其中一種普遍使用的手段。目前,Microsoft, VMware, Citrix等廠商的桌面虛擬化產(chǎn)品都已經(jīng)實(shí)現(xiàn)了服務(wù)器端的緩存機(jī)制,其中Citrix和 VMware更是提供了客戶端緩存。通過使用緩存機(jī)制,可以將最近的顯示數(shù)據(jù)進(jìn)行短期保存,更新時(shí)可以避免對(duì)全屏顯示數(shù)據(jù)進(jìn)行重新編碼傳輸,有利于減輕CPU或GPU (Graphic Processing Unit,圖形處理器)的負(fù)荷,而且能夠減少數(shù)據(jù)的傳輸量。通過對(duì)Microsoft、VMware, Citrix等廠商通過緩存機(jī)制刷新屏幕技術(shù)的研究,可以總結(jié)出目前市場上各種桌面產(chǎn)品的屏幕刷新技術(shù)的基本思想,如圖1所示,現(xiàn)有技術(shù)中的虛擬桌面系統(tǒng)一般包括服務(wù)器和客戶端,其中,服務(wù)器包括服務(wù)器緩存器、傳輸器、服務(wù)器處理模塊、比對(duì)器,客戶端包括客戶端緩存器、接收器、客戶端處理模塊、顯示屏。下面描述虛擬桌面系統(tǒng)進(jìn)行屏幕刷新的具體處理過程在服務(wù)器端,首先從發(fā)起屏幕刷新事件開始,服務(wù)器端將刷新前的那一張屏顯數(shù)據(jù)替入服務(wù)器緩存器中并處理完成屏幕刷新事件,服務(wù)器處理模塊向比對(duì)器發(fā)送待更新的屏顯數(shù)據(jù)(同時(shí)服務(wù)器處理模塊還向傳輸器發(fā)送指定的模式數(shù)據(jù),該模式數(shù)據(jù)中包括傳輸通道、加密算法等信息),然后將刷新后的屏顯與服務(wù)器緩存器中刷新前的屏顯在比對(duì)器中進(jìn)行對(duì)比,獲得前后兩張屏顯的差異區(qū)域,然后將該差異區(qū)域上的更新屏顯數(shù)據(jù)傳輸給傳輸器,最后,傳輸器對(duì)接收的屏顯數(shù)據(jù)進(jìn)行編碼打包,通過指定的傳輸通道傳輸給客戶端的接收器,同時(shí)在服務(wù)器端完成刷新后的屏顯;在客戶端,接收器接收到來自虛擬通道的刷屏請求信號(hào),將本次刷新前的屏顯數(shù)據(jù)替入客戶端緩存器中,并繼續(xù)接收來自虛擬通道編碼打包后的更新屏顯數(shù)據(jù),進(jìn)行拆包解碼,然后發(fā)送給客戶端處理模塊,客戶端處理模塊從客戶端緩存器中獲取之前的屏顯數(shù)據(jù),并結(jié)合拆包解碼后的更新屏顯數(shù)據(jù),即可重構(gòu)出新的屏顯數(shù)據(jù),最后將重構(gòu)出的屏顯數(shù)據(jù)發(fā)送給顯示屏,完成屏幕顯示。根據(jù)理論分析,只要從客戶端緩存器中讀取的原有屏顯數(shù)據(jù)和從服務(wù)器緩存中讀取的原有屏顯數(shù)據(jù)一致,重構(gòu)的屏顯與服務(wù)器端刷新的屏顯應(yīng)該也具有一致性。上述技術(shù)在網(wǎng)絡(luò)帶寬不受限制的情況下并沒有什么明顯的缺點(diǎn)。然而,就目前普遍的網(wǎng)絡(luò)環(huán)境而言,一方面我們能夠獲得的網(wǎng)絡(luò)帶寬普遍是不穩(wěn)定且受限的;而另一方面, 大規(guī)模的部署桌面虛擬化產(chǎn)品又需要占用相當(dāng)多的網(wǎng)絡(luò)帶寬。這樣一來,就會(huì)導(dǎo)致部分的虛擬桌面用戶因?yàn)閹捠芟逕o法及時(shí)接收從服務(wù)器端發(fā)送過來的無損桌面數(shù)據(jù),從而降低了虛擬桌面的用戶體驗(yàn)。那么,是否能夠通過充分利用緩存技術(shù)所帶來的便利,進(jìn)一步減少服務(wù)器端與客戶端之間數(shù)據(jù)的傳輸量,從而提高虛擬桌面的用戶體驗(yàn)?zāi)??解決這個(gè)問題對(duì)桌面虛擬化和應(yīng)用虛擬化技術(shù)的普及具有重大意義。

      發(fā)明內(nèi)容
      為解決上述問題,本發(fā)明提供一種刷新虛擬桌面客戶端屏顯的方法及一種虛擬桌面系統(tǒng),能夠減少服務(wù)器端與客戶端之間不必要的數(shù)據(jù)傳輸,避免在客戶端中已經(jīng)存有的數(shù)據(jù)通過網(wǎng)絡(luò)再次重發(fā),從而有效地節(jié)約了網(wǎng)絡(luò)帶寬。為實(shí)現(xiàn)上述目的,本發(fā)明采用如下的技術(shù)方案一種刷新虛擬桌面客戶端屏顯的方法,包括以下步驟服務(wù)器端發(fā)起屏幕刷新事件,將刷新前的屏顯數(shù)據(jù)替入服務(wù)器緩存器中并處理完成服務(wù)器端的屏幕刷新事件,然后將刷新后的屏顯與刷新前的屏顯進(jìn)行對(duì)比,獲得前后兩張屏顯的差異區(qū)域,并以像素為基本單位,在所述差異區(qū)域上進(jìn)行像素點(diǎn)/像素塊的移動(dòng)檢測,檢測在所述差異區(qū)域中是否存在有位置改變但像素相同的像素點(diǎn)/像素塊,并將這些像素點(diǎn)/像素塊的位置變化通過移動(dòng)描述來進(jìn)行表述,然后將能夠通過移動(dòng)描述的像素點(diǎn)/像素塊的移動(dòng)描述命令、不能通過移動(dòng)描述的像素點(diǎn)/像素塊的更新數(shù)據(jù)分別進(jìn)行編碼、打包處理,并通過不同的虛擬通道傳輸給客戶端;客戶端對(duì)從不同虛擬通道傳送過來的移動(dòng)描述命令包與更新數(shù)據(jù)包進(jìn)行識(shí)別、拆包、解碼,然后從客戶端緩存器中獲取之前的屏顯數(shù)據(jù),根據(jù)移動(dòng)描述命令進(jìn)行像素點(diǎn)/像素塊的移動(dòng),并結(jié)合所述更新數(shù)據(jù),重構(gòu)出新的屏顯數(shù)據(jù),完成屏幕顯示。一種虛擬桌面系統(tǒng),包括服務(wù)器和客戶端,所述服務(wù)器包括服務(wù)器處理模塊、服務(wù)器緩存器、比對(duì)器、傳輸器;所述客戶端包括接收器、客戶端緩存器、客戶端處理模塊、顯示屏;所述服務(wù)器還包括移動(dòng)檢測模塊;所述服務(wù)器處理模塊用于發(fā)起屏幕刷新事件并處理完成服務(wù)器端的屏幕刷新事件后,向所述比對(duì)器發(fā)送刷新后的屏顯數(shù)據(jù);所述服務(wù)器緩存器用于存儲(chǔ)刷新前的屏顯數(shù)據(jù);所述比對(duì)器用于將刷新后的屏顯與刷新前的屏顯進(jìn)行對(duì)比,獲得前后兩張屏顯的差異區(qū)域;所述移動(dòng)檢測模塊用于以像素為基本單位,在所述差異區(qū)域上進(jìn)行像素點(diǎn)/像素塊的移動(dòng)檢測,檢測在所述差異區(qū)域中是否存在有位置改變但像素相同的像素點(diǎn)/像素塊,并將這些像素點(diǎn)/像素塊的位置變化通過移動(dòng)描述來進(jìn)行表述;所述傳輸器用于將能夠通過移動(dòng)描述的像素點(diǎn)/像素塊的移動(dòng)描述命令、不能通過移動(dòng)描述的像素點(diǎn)/像素塊的更新數(shù)據(jù)分別進(jìn)行編碼、打包處理,并通過不同的虛擬通道傳輸給所述接收器;所述接收器用于對(duì)從不同虛擬通道傳送過來的移動(dòng)描述命令包與更新數(shù)據(jù)包進(jìn)行識(shí)別、拆包、解碼,處理完成后發(fā)送給所述客戶端處理模塊;所述客戶端處理模塊用于從所述客戶端緩存器中獲取之前的屏顯數(shù)據(jù),根據(jù)移動(dòng)描述命令進(jìn)行像素點(diǎn)/像素塊的移動(dòng),并結(jié)合所述更新數(shù)據(jù),重構(gòu)出新的屏顯數(shù)據(jù),發(fā)送給所述顯示屏以完成屏幕顯示。由以上方案可以看出,本發(fā)明的刷新虛擬桌面客戶端屏顯的方法及虛擬桌面系統(tǒng),在移動(dòng)檢測過程和減少數(shù)據(jù)傳輸量上有著明顯的優(yōu)勢,其通過使用像素點(diǎn)/像素塊的移動(dòng)描述命令來指示客戶端已有屏顯數(shù)據(jù)的移動(dòng),避免了客戶端緩存中的已有像素通過網(wǎng)絡(luò)再次發(fā)送,有效取代了對(duì)部分差異區(qū)域單點(diǎn)像素進(jìn)行逐個(gè)更新的過程,粗化了處理對(duì)象的粒度,也減少了需要傳輸?shù)臄?shù)據(jù)量,在當(dāng)前帶寬受限的網(wǎng)絡(luò)環(huán)境下,采用上述做法可以有效減少對(duì)網(wǎng)絡(luò)帶寬的消耗,降低虛擬化技術(shù)對(duì)網(wǎng)絡(luò)資源的依賴性,從而極大擴(kuò)展了遠(yuǎn)程顯示協(xié)議的廣泛適用性并提高了用戶體驗(yàn)。


      圖1為傳統(tǒng)的虛擬桌面系統(tǒng)結(jié)構(gòu)示意圖;圖2為實(shí)施例一中的一種刷新虛擬桌面客戶端屏顯的方法流程示意圖;圖3為實(shí)施例二中的一種刷新虛擬桌面客戶端屏顯的方法流程示意圖;圖4為實(shí)施例三中的一種虛擬桌面系統(tǒng)結(jié)構(gòu)示意圖。
      具體實(shí)施例方式本發(fā)明提供一種刷新虛擬桌面客戶端屏顯的方法及虛擬桌面系統(tǒng),以解決現(xiàn)有技術(shù)中需要對(duì)差異區(qū)域數(shù)據(jù)進(jìn)行逐個(gè)更新從而導(dǎo)致的數(shù)據(jù)傳輸量大、不能有效節(jié)約網(wǎng)絡(luò)帶寬的問題。下面結(jié)合附圖對(duì)本發(fā)明的具體實(shí)施例作進(jìn)一步的描述。實(shí)施例一本實(shí)施例以移動(dòng)描述的對(duì)象為像素點(diǎn)為例進(jìn)行說明,如圖2所示,一種刷新虛擬桌面客戶端屏顯的方法,包括兩個(gè)部分,即服務(wù)器端的處理過程和客戶端的處理過程在服務(wù)器端,服務(wù)器端發(fā)起屏幕刷新事件,將刷新前的屏顯數(shù)據(jù)替入服務(wù)器緩存器中并處理完成服務(wù)器端的屏幕刷新事件,然后將刷新后的屏顯與刷新前的屏顯進(jìn)行對(duì)比,獲得前后兩張屏顯的差異區(qū)域,并以像素為基本單位,在所述差異區(qū)域上進(jìn)行像素點(diǎn)的移動(dòng)檢測,檢測在所述差異區(qū)域中是否存在有位置改變但像素相同的像素點(diǎn),如果有則將這些像素點(diǎn)的位置變化通過移動(dòng)描述來進(jìn)行表述,然后將能夠通過移動(dòng)描述的像素點(diǎn)的移動(dòng)描述命令、不能通過移動(dòng)描述的像素點(diǎn)的更新數(shù)據(jù)分別進(jìn)行編碼、打包處理,并通過不同的虛擬通道傳輸給客戶端;在客戶端,客戶端對(duì)從不同虛擬通道傳送過來的移動(dòng)描述命令包與更新數(shù)據(jù)包進(jìn)行識(shí)別、拆包、解碼,然后從客戶端緩存器中獲取之前的屏顯數(shù)據(jù),根據(jù)移動(dòng)描述命令進(jìn)行像素點(diǎn)的移動(dòng),并結(jié)合所述更新數(shù)據(jù),重構(gòu)出新的屏顯數(shù)據(jù),完成屏幕顯示。將本發(fā)明的方案與現(xiàn)有技術(shù)進(jìn)行對(duì)比可知,本發(fā)明的刷新虛擬桌面客戶端屏顯的方法,最重要的是在服務(wù)器端增加了一個(gè)移動(dòng)檢測過程,移動(dòng)檢測主要是在比對(duì)器工作的基礎(chǔ)上,將緩存在服務(wù)器緩存器中的原有屏顯數(shù)據(jù)和刷新后的屏顯數(shù)據(jù)的差異區(qū)域進(jìn)行進(jìn)一步的分析。
      6
      移動(dòng)檢測的基本算法思想描述如下像素P是由顯示數(shù)據(jù)X和顯示位置y所確定的二元組,可以表示為P(x,y)。另外,屏顯本身是由若干的像素點(diǎn)構(gòu)成,因此一個(gè)屏顯也可以看作若干像素點(diǎn)的集合。這里我們將舊的(刷新前)屏顯稱SS1,新的(刷新后)屏顯 SSyS1 η &表示S1和&中相同像素點(diǎn)的集合,即是兩張屏顯的不變區(qū)域。以像素為基本單位,移動(dòng)檢測算法將檢測在新舊兩張屏顯的差異區(qū)域(即為 ^)中是否存在有位置改變但像素相同的像素點(diǎn)。若存在這樣的點(diǎn)a,則我們可以把其歸入移動(dòng)檢測點(diǎn)集合Q = (PjP1 e S1, P2 e s2,P1 — X = P2 — X,P1 — y 乒 P2 — y}中,并且將 P1 — y 到 P2 — y 的位置變化通過移動(dòng)描述即一個(gè)表述函數(shù)f來進(jìn)行表述,f可表述為fi = T1(PjP2-Y)jP e Q表示將P移動(dòng)到P2的位置。通過移動(dòng)檢測確定了能夠通過移動(dòng)描述的像素點(diǎn)之后,我們就只需要將這些像素點(diǎn)的移動(dòng)描述進(jìn)行編碼打包處理,并利用Transmitter (傳輸器)新開一個(gè)虛擬通道專門用于傳輸這些移動(dòng)描述的命令包。而其他的像素點(diǎn)數(shù)據(jù)(即不能通過移動(dòng)描述的像素點(diǎn)的更新數(shù)據(jù))則使用原來的技術(shù),通過傳統(tǒng)的用于屏幕刷新的虛擬通道進(jìn)行傳輸。完成服務(wù)器端的傳輸改良之后,我們還需要在客戶端上進(jìn)行接收數(shù)據(jù)的改良處理,以識(shí)別從新建虛擬通道傳送過來的移動(dòng)描述命令包??蛻舳私邮盏絹碜蕴摂M通道的刷屏請求信號(hào),將刷新前的屏顯數(shù)據(jù)替入客戶端緩存,并繼續(xù)接收來自虛擬通道的數(shù)據(jù)包,依傳遞虛擬通道的不同,識(shí)別為普通的用于屏幕刷新的更新數(shù)據(jù)包和移動(dòng)描述命令包。通過使用不同的拆包解碼算法,分別獲得原始的更新數(shù)據(jù)和一組移動(dòng)描述命令。對(duì)移動(dòng)描述命令包的識(shí)別、拆包、解碼的過程都需要在重構(gòu)屏顯前完成,作為一個(gè)較好的實(shí)施例,可將上述處理過程均放在Receiver (接收器)中進(jìn)行實(shí)現(xiàn)。進(jìn)行識(shí)別的過程非常簡單,由于采取了虛擬通道技術(shù),只需要將用于傳送移動(dòng)描述命令包的虛擬通道數(shù)據(jù)提取出來,即可實(shí)現(xiàn)命令包與其他更新數(shù)據(jù)包的分離。而拆包和解碼的過程則只需要配備一個(gè)對(duì)應(yīng)于服務(wù)器端將移動(dòng)描述進(jìn)行編碼打包過程的模塊即可在客戶端獲得原始的移動(dòng)描述命令。獲得的移動(dòng)描述命令和通過原有屏幕刷新通道傳輸?shù)母聰?shù)據(jù)事實(shí)上都是通過 Receiver (接收器)接收,然后傳遞給具有處理功能的客戶端處理模塊。客戶端處理模塊從客戶端緩存器中讀取原有屏顯數(shù)據(jù),利用移動(dòng)描述命令進(jìn)行像素點(diǎn)的移動(dòng),并結(jié)合更新數(shù)據(jù)進(jìn)行其他變化區(qū)域的更新,從而達(dá)到完全重構(gòu)屏顯的目的。根據(jù)理論分析,只要從客戶端緩存器中讀取的原有屏顯數(shù)據(jù)和從服務(wù)器緩存器中讀取的原有屏顯數(shù)據(jù)一致,重構(gòu)的屏顯與服務(wù)器端刷新的屏顯應(yīng)該也具有一致性。實(shí)施例二本實(shí)施例與實(shí)施例一的區(qū)別在于本實(shí)施例中移動(dòng)描述的對(duì)象為像素塊而非像素點(diǎn)。如圖3所示,一種刷新虛擬桌面客戶端屏顯的方法,包括以下步驟服務(wù)器端發(fā)起屏幕刷新事件,將刷新前的屏顯數(shù)據(jù)替入服務(wù)器緩存器中并處理完成服務(wù)器端的屏幕刷新事件,然后將刷新后的屏顯與刷新前的屏顯進(jìn)行對(duì)比,獲得前后兩張屏顯的差異區(qū)域,并以像素為基本單位,在所述差異區(qū)域上進(jìn)行像素塊的移動(dòng)檢測,檢測在所述差異區(qū)域中是否存在有位置改變但像素相同的像素塊,如果有則將這些像素塊的位置變化通過移動(dòng)描述來進(jìn)行表述,然后將能夠通過移動(dòng)描述的像素塊的移動(dòng)描述命令、不能通過移動(dòng)描述的像素塊的更新數(shù)據(jù)分別進(jìn)行編碼、打包處理,并通過不同的虛擬通道傳輸給客戶端;客戶端對(duì)從不同虛擬通道傳送過來的移動(dòng)描述命令包與更新數(shù)據(jù)包進(jìn)行識(shí)別、拆包、解碼,然后從客戶端緩存器中獲取之前的屏顯數(shù)據(jù),根據(jù)移動(dòng)描述命令進(jìn)行像素塊的移動(dòng),并結(jié)合所述更新數(shù)據(jù),重構(gòu)出新的屏顯數(shù)據(jù),完成屏幕顯示??梢韵胂螅绻哑聊簧纤械南袼攸c(diǎn)都進(jìn)行單獨(dú)的移動(dòng)檢測和移動(dòng)描述,那移動(dòng)檢測將是一個(gè)非常密集的CPU運(yùn)算過程(如一個(gè)19X10的屏幕上所有的像素可能有二百萬以上)。事實(shí)上,可以想到,移動(dòng)其實(shí)很多時(shí)候是一個(gè)連續(xù)的過程,根據(jù)之前的屏幕移動(dòng)狀態(tài),我們可以對(duì)接下來可能發(fā)生的移動(dòng)進(jìn)行估計(jì),這種對(duì)過去經(jīng)驗(yàn)的積累,我們稱作學(xué)習(xí)。服務(wù)器端的服務(wù)器處理模塊將通過學(xué)習(xí)來對(duì)將要發(fā)生的移動(dòng)進(jìn)行估計(jì),這部分內(nèi)容通過VMware與Teradici共同開發(fā)的PCoIP協(xié)議已經(jīng)完全實(shí)現(xiàn)了(本發(fā)明借用這方面的思想,但是并不做贅述)。對(duì)于本發(fā)明的移動(dòng)描述,對(duì)單個(gè)的像素點(diǎn)進(jìn)行移動(dòng)描述比較簡單,通過上面的f\ 即可完成,但宏觀上講,如果需要對(duì)大量的單點(diǎn)進(jìn)行移動(dòng)描述,那總體的表述數(shù)據(jù)量就將非常大,這不符合本發(fā)明的初衷。因此,本發(fā)明還對(duì)實(shí)施例一中的移動(dòng)描述進(jìn)行了改良,將移動(dòng)描述的對(duì)象從像素點(diǎn)變?yōu)橄袼貕K,該像素塊可以設(shè)定一定的要求,如該像素塊由至少設(shè)定個(gè)數(shù)像素點(diǎn)所組成。檢測在所述差異區(qū)域中是否存在有位置改變但像素相同的像素塊的過程即為尋找能夠通過移動(dòng)描述的像素塊的過程,因?yàn)榘l(fā)生位置變化的像素塊必然可以通過移動(dòng)描述來進(jìn)行表述。尋找能夠通過移動(dòng)描述的像素塊的方法有很多,作為一個(gè)較好的實(shí)施例,本發(fā)明提出兩種比較成熟的方法其一是將屏幕顯示在圖像應(yīng)用層時(shí)就進(jìn)行分離,確認(rèn)出各種類型,此時(shí)的圖像未被分解成位圖,可以直接將整體圖像元素(如窗體,圖標(biāo)等)進(jìn)行記錄,利用新舊屏顯的記錄,確定成為位圖后可以綁定處理的像素塊,即獲得了能夠通過移動(dòng)描述的像素塊。這種在圖像的應(yīng)用層就將圖像元素分離出來進(jìn)行匹配的方法,可以有效減少在像素形式下進(jìn)行匹配的工作量,能大大降低服務(wù)器CPU的工作負(fù)擔(dān)。另外一種方法是根據(jù)像素點(diǎn)進(jìn)行處理,將新舊屏顯中適應(yīng)的像素匹配(利用目前已有的很多成熟算法都可以實(shí)現(xiàn),這里不做重點(diǎn)討論。),找到成塊的像素,獲得能夠通過移動(dòng)描述的像素塊。通過以上任意一種方式獲得的綁定像素塊都是確認(rèn)在新舊屏顯中進(jìn)行了移動(dòng)的像素塊,事實(shí)上,重新進(jìn)行的移動(dòng)描述已經(jīng)可以初步擴(kuò)展了,不但可以描述平動(dòng)像素塊,也可以進(jìn)行特定角度轉(zhuǎn)動(dòng)的描述,因此,我們的移動(dòng)描述表述函數(shù)可以變更為f = f(P,P2 — y,m,θ ),P e Q,m = 1,2其中,m= 1表示像素塊的平動(dòng),即當(dāng)m= 1時(shí),f表示將P移動(dòng)到P2的位置,同時(shí)整個(gè)像素塊都隨著P平移;m = 2表示像素塊的轉(zhuǎn)動(dòng),即當(dāng)m = 2時(shí),f表示將P以P2為中心逆時(shí)針轉(zhuǎn)動(dòng)θ°角度,可以取0、90、180或270等值,同時(shí)整個(gè)像素塊都隨著P平移。以上的兩種移動(dòng)描述還只是最簡單的移動(dòng)描述,事實(shí)上,像素塊的位置變化除了包括平動(dòng)、轉(zhuǎn)動(dòng)之外,還可以包括以上二種移動(dòng)描述的組合,以擴(kuò)展像素塊的移動(dòng)描述。以前單點(diǎn)的P變成現(xiàn)在用于表示區(qū)域的L,且有
      1)對(duì)任意 P G L,f = f(P,P2 — y,m,θ ) e F = F (L,P2 — y,m,θ )成立;2)對(duì)任意 Ptl e LjP1 e L,若有 P。Φ P1,則 f(P0,P2 — y,m,θ )興 f(P1,P2 — y,m, θ);反之也成立;3)對(duì)任意 P0 e L,P1 e L,若有 f (PQ,P2 — y,m,θ ) = f(P17 P2 - y, m, θ ),貝丨J P0 =P1 ;反之也成立。利用上述方式,在處理大像素塊移動(dòng)時(shí),可以僅使用簡單的移動(dòng)描述來代替大規(guī)模的區(qū)域像素更新,數(shù)據(jù)傳輸量將大大減少。而且即使沒有可以使用的大像素塊出現(xiàn),這也不會(huì)給網(wǎng)絡(luò)增加額外的負(fù)擔(dān)。本實(shí)施例中的其它技術(shù)特征與實(shí)施例一相同,在此不予贅述。實(shí)施例三與上述兩個(gè)實(shí)施例中的刷新虛擬桌面客戶端屏顯的方法相對(duì)應(yīng)的,本發(fā)明還提供一種虛擬桌面系統(tǒng),如圖4所示,包括服務(wù)器和客戶端,所述服務(wù)器包括服務(wù)器處理模塊、 服務(wù)器緩存器、比對(duì)器、傳輸器;所述客戶端包括接收器、客戶端緩存器、客戶端處理模塊、 顯示屏;另外,所述服務(wù)器還包括移動(dòng)檢測模塊;所述服務(wù)器處理模塊用于發(fā)起屏幕刷新事件并處理完成服務(wù)器端的屏幕刷新事件后,向所述比對(duì)器發(fā)送刷新后的屏顯數(shù)據(jù);所述服務(wù)器緩存器用于存儲(chǔ)刷新前的屏顯數(shù)據(jù);所述比對(duì)器用于將刷新后的屏顯與刷新前的屏顯進(jìn)行對(duì)比,獲得前后兩張屏顯的差異區(qū)域;所述移動(dòng)檢測模塊用于以像素為基本單位,在所述差異區(qū)域上進(jìn)行像素點(diǎn)/像素塊的移動(dòng)檢測,檢測在所述差異區(qū)域中是否存在有位置改變但像素相同的像素點(diǎn)/像素塊,并將這些像素點(diǎn)/像素塊的位置變化通過移動(dòng)描述來進(jìn)行表述;所述傳輸器用于將能夠通過移動(dòng)描述的像素點(diǎn)/像素塊的移動(dòng)描述命令、不能通過移動(dòng)描述的像素點(diǎn)/像素塊的更新數(shù)據(jù)分別進(jìn)行編碼、打包處理,并通過不同的虛擬通道傳輸給所述接收器;所述接收器用于對(duì)從不同虛擬通道傳送過來的移動(dòng)描述命令包與更新數(shù)據(jù)包進(jìn)行識(shí)別、拆包、解碼,處理完成后發(fā)送給所述客戶端處理模塊;所述客戶端處理模塊用于從所述客戶端緩存器中獲取之前的屏顯數(shù)據(jù),根據(jù)移動(dòng)描述命令進(jìn)行像素點(diǎn)/像素塊的移動(dòng),并結(jié)合所述更新數(shù)據(jù),重構(gòu)出新的屏顯數(shù)據(jù),發(fā)送給所述顯示屏以完成屏幕顯示。優(yōu)選的,所述服務(wù)器處理模塊還可以用于向所述傳輸器發(fā)送指定的模式數(shù)據(jù),該模式數(shù)據(jù)包括傳輸通道信息和加密算法等信息,以指定傳輸器進(jìn)行數(shù)據(jù)傳輸時(shí)的傳輸通道以及進(jìn)行編碼時(shí)的加密算法。優(yōu)選的,所述客戶端緩存器用于當(dāng)客戶端接收到從虛擬通道傳輸過來的刷屏請求信號(hào)后,將完成本次刷新處理前的屏顯數(shù)據(jù)進(jìn)行存儲(chǔ)(即為客戶端處理模塊所讀取的“之前的屏顯數(shù)據(jù)”)。優(yōu)選的,所述像素塊由至少設(shè)定個(gè)數(shù)的像素點(diǎn)所組成。優(yōu)選的,所述移動(dòng)檢測模塊可以包括第一檢測子模塊,用于檢測在所述差異區(qū)域中是否存在有位置改變但像素相同的像素塊,具體為將屏幕顯示在圖像應(yīng)用層進(jìn)行分離,確認(rèn)出各種類型,將整體圖像元素進(jìn)行記錄,利用新舊屏顯的記錄,獲得成為位圖后能夠通過移動(dòng)描述的像素塊?;蛘?,所述移動(dòng)檢測模塊可以包括第二檢測子模塊,用于檢測在所述差異區(qū)域中是否存在有位置改變但像素相同的像素塊,具體為根據(jù)像素點(diǎn)進(jìn)行處理,將新舊屏顯中適應(yīng)的像素匹配,獲得能夠通過移動(dòng)描述的像素塊。本發(fā)明的一種虛擬桌面系統(tǒng)中的其它技術(shù)特征與本發(fā)明的一種刷新虛擬桌面客戶端屏顯的方法相同,在此不予贅述。通過以上幾個(gè)實(shí)施例可以看出,本發(fā)明的刷新虛擬桌面客戶端屏顯的方法及虛擬桌面系統(tǒng),充分利用了客戶端緩存的便利,其通過使用像素點(diǎn)/像素塊的移動(dòng)描述命令來指示客戶端已有屏顯數(shù)據(jù)的移動(dòng),避免了客戶端緩存中的已有像素通過網(wǎng)絡(luò)再次發(fā)送,有效取代了對(duì)部分差異區(qū)域單點(diǎn)像素進(jìn)行逐個(gè)更新的過程,粗化了處理對(duì)象的粒度,也減少了需要傳輸?shù)臄?shù)據(jù)量,在當(dāng)前帶寬受限的網(wǎng)絡(luò)環(huán)境下,采用上述做法可以有效減少對(duì)網(wǎng)絡(luò)帶寬的消耗,降低虛擬化技術(shù)對(duì)網(wǎng)絡(luò)資源的依賴性,從而極大擴(kuò)展了遠(yuǎn)程顯示協(xié)議的廣泛適用性并提高了用戶體驗(yàn)。以上所述的本發(fā)明實(shí)施方式,并不構(gòu)成對(duì)本發(fā)明保護(hù)范圍的限定。任何在本發(fā)明的精神和原則之內(nèi)所作的修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的權(quán)利要求保護(hù)范圍之內(nèi)。
      權(quán)利要求
      1.一種刷新虛擬桌面客戶端屏顯的方法,其特征在于,包括以下步驟服務(wù)器端發(fā)起屏幕刷新事件,將刷新前的屏顯數(shù)據(jù)替入服務(wù)器緩存器中并處理完成服務(wù)器端的屏幕刷新事件,然后將刷新后的屏顯與刷新前的屏顯進(jìn)行對(duì)比,獲得前后兩張屏顯的差異區(qū)域,并以像素為基本單位,在所述差異區(qū)域上進(jìn)行像素點(diǎn)/像素塊的移動(dòng)檢測, 檢測在所述差異區(qū)域中是否存在有位置改變但像素相同的像素點(diǎn)/像素塊,并將這些像素點(diǎn)/像素塊的位置變化通過移動(dòng)描述來進(jìn)行表述,然后將能夠通過移動(dòng)描述的像素點(diǎn)/像素塊的移動(dòng)描述命令、不能通過移動(dòng)描述的像素點(diǎn)/像素塊的更新數(shù)據(jù)分別進(jìn)行編碼、打包處理,并通過不同的虛擬通道傳輸給客戶端;客戶端對(duì)從不同虛擬通道傳送過來的移動(dòng)描述命令包與更新數(shù)據(jù)包進(jìn)行識(shí)別、拆包、 解碼,然后從客戶端緩存器中獲取之前的屏顯數(shù)據(jù),根據(jù)移動(dòng)描述命令進(jìn)行像素點(diǎn)/像素塊的移動(dòng),并結(jié)合所述更新數(shù)據(jù),重構(gòu)出新的屏顯數(shù)據(jù),完成屏幕顯示。
      2.根據(jù)權(quán)利要求1所述的刷新虛擬桌面客戶端屏顯的方法,其特征在于,所述像素塊由至少設(shè)定個(gè)數(shù)的像素點(diǎn)所組成。
      3.根據(jù)權(quán)利要求2所述的刷新虛擬桌面客戶端屏顯的方法,其特征在于,檢測在所述差異區(qū)域中是否存在有位置改變但像素相同的像素塊的過程具體包括將屏幕顯示在圖像應(yīng)用層進(jìn)行分離,確認(rèn)出各種類型,將整體圖像元素進(jìn)行記錄,利用新舊屏顯的記錄,獲得成為位圖后能夠通過移動(dòng)描述的像素塊。
      4.根據(jù)權(quán)利要求2所述的刷新虛擬桌面客戶端屏顯的方法,其特征在于,檢測在所述差異區(qū)域中是否存在有位置改變但像素相同的像素塊的過程具體包括根據(jù)像素點(diǎn)進(jìn)行處理,將新舊屏顯中適應(yīng)的像素匹配,獲得能夠通過移動(dòng)描述的像素塊。
      5.根據(jù)權(quán)利要求3或4所述的刷新虛擬桌面客戶端屏顯的方法,其特征在于,所述像素塊的位置變化包括像素塊的平動(dòng)、像素區(qū)域的轉(zhuǎn)動(dòng)或者二者的組合。
      6.一種虛擬桌面系統(tǒng),包括服務(wù)器和客戶端,所述服務(wù)器包括服務(wù)器處理模塊、服務(wù)器緩存器、比對(duì)器、傳輸器;所述客戶端包括接收器、客戶端緩存器、客戶端處理模塊、顯示屏; 其特征在于,所述服務(wù)器還包括移動(dòng)檢測模塊;所述服務(wù)器處理模塊用于發(fā)起屏幕刷新事件并處理完成服務(wù)器端的屏幕刷新事件后, 向所述比對(duì)器發(fā)送刷新后的屏顯數(shù)據(jù);所述服務(wù)器緩存器用于存儲(chǔ)刷新前的屏顯數(shù)據(jù);所述比對(duì)器用于將刷新后的屏顯與刷新前的屏顯進(jìn)行對(duì)比,獲得前后兩張屏顯的差異區(qū)域;所述移動(dòng)檢測模塊用于以像素為基本單位,在所述差異區(qū)域上進(jìn)行像素點(diǎn)/像素塊的移動(dòng)檢測,檢測在所述差異區(qū)域中是否存在有位置改變但像素相同的像素點(diǎn)/像素塊,并將這些像素點(diǎn)/像素塊的位置變化通過移動(dòng)描述來進(jìn)行表述;所述傳輸器用于將能夠通過移動(dòng)描述的像素點(diǎn)/像素塊的移動(dòng)描述命令、不能通過移動(dòng)描述的像素點(diǎn)/像素塊的更新數(shù)據(jù)分別進(jìn)行編碼、打包處理,并通過不同的虛擬通道傳輸給所述接收器;所述接收器用于對(duì)從不同虛擬通道傳送過來的移動(dòng)描述命令包與更新數(shù)據(jù)包進(jìn)行識(shí)別、拆包、解碼,處理完成后發(fā)送給所述客戶端處理模塊;所述客戶端處理模塊用于從所述客戶端緩存器中獲取之前的屏顯數(shù)據(jù),根據(jù)移動(dòng)描述命令進(jìn)行像素點(diǎn)/像素塊的移動(dòng),并結(jié)合所述更新數(shù)據(jù),重構(gòu)出新的屏顯數(shù)據(jù),發(fā)送給所述顯示屏以完成屏幕顯示。
      7.根據(jù)權(quán)利要求6所述的虛擬桌面系統(tǒng),其特征在于,所述服務(wù)器處理模塊還用于向所述傳輸器發(fā)送指定的模式數(shù)據(jù),所述模式數(shù)據(jù)包括傳輸通道信息和加密算法信息;和/或所述客戶端緩存器用于當(dāng)客戶端接收到刷屏請求信號(hào)后,將刷新前的屏顯數(shù)據(jù)進(jìn)行存儲(chǔ)。
      8.根據(jù)權(quán)利要求6所述的虛擬桌面系統(tǒng),其特征在于,所述像素塊由至少設(shè)定個(gè)數(shù)的像素點(diǎn)所組成。
      9.根據(jù)權(quán)利要求8所述的虛擬桌面系統(tǒng),其特征在于,所述移動(dòng)檢測模塊包括第一檢測子模塊,用于將屏幕顯示在圖像應(yīng)用層進(jìn)行分離,確認(rèn)出各種類型,將整體圖像元素進(jìn)行記錄,利用新舊屏顯的記錄,獲得成為位圖后能夠通過移動(dòng)描述的像素塊。
      10.根據(jù)權(quán)利要求8所述的虛擬桌面系統(tǒng),其特征在于,所述移動(dòng)檢測模塊包括第二檢測子模塊,用于根據(jù)像素點(diǎn)進(jìn)行處理,將新舊屏顯中適應(yīng)的像素匹配,獲得能夠通過移動(dòng)描述的像素塊。
      全文摘要
      本發(fā)明提供一種刷新虛擬桌面客戶端屏顯的方法及虛擬桌面系統(tǒng),該虛擬桌面系統(tǒng)包括服務(wù)器和客戶端,所述服務(wù)器包括服務(wù)器處理模塊、服務(wù)器緩存器、比對(duì)器、傳輸器;所述客戶端包括接收器、客戶端緩存器、客戶端處理模塊、顯示屏、移動(dòng)檢測模塊。本發(fā)明的刷新虛擬桌面客戶端屏顯的方法及虛擬桌面系統(tǒng)在移動(dòng)檢測過程和減少數(shù)據(jù)傳輸量上有著明顯的優(yōu)勢,其通過使用像素點(diǎn)/像素塊的移動(dòng)描述命令來指示客戶端已有屏顯數(shù)據(jù)的移動(dòng),避免了客戶端緩存中的已有像素通過網(wǎng)絡(luò)再次發(fā)送,有效取代了對(duì)部分差異區(qū)域單點(diǎn)像素進(jìn)行逐個(gè)更新的過程,減少了需要傳輸?shù)臄?shù)據(jù)量,在當(dāng)前帶寬受限的網(wǎng)絡(luò)環(huán)境下,采用上述做法可以有效減少對(duì)網(wǎng)絡(luò)帶寬的消耗并提高用戶體驗(yàn)。
      文檔編號(hào)H04L29/08GK102566910SQ20111041964
      公開日2012年7月11日 申請日期2011年12月14日 優(yōu)先權(quán)日2011年12月14日
      發(fā)明者何利明 申請人:廣州杰賽科技股份有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1