一種在vdi架構(gòu)下提升客戶端設(shè)備顯示性能的方法和裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及桌面虛擬化和圖像顯示技術(shù)領(lǐng)域,具體涉及一種在虛擬桌面基礎(chǔ)架構(gòu)下提升客戶端設(shè)備顯示性能的方法和系統(tǒng)。
【背景技術(shù)】
[0002]虛擬桌面基礎(chǔ)架構(gòu)(VDI,Virtualizat1n Desktop Infrastructure)是一種以虛擬桌面為中心的服務(wù)器計算架構(gòu),其中虛擬桌面實例是以遠(yuǎn)程服務(wù)器或刀片服務(wù)器為宿主運行的虛擬機,用戶通過遠(yuǎn)程顯示協(xié)議(如RDP、ICA、PCoIP、SPICE協(xié)議等)接入托管在遠(yuǎn)端服務(wù)器上的虛擬機,獲得同PC機桌面一樣的使用體驗。
[0003]如說明書附圖1所示,在現(xiàn)有的VDI架構(gòu)下,當(dāng)用戶通過云終端107的虛擬桌面客戶端105登錄并獲取到位于遠(yuǎn)端服務(wù)器101上的虛擬機102的用戶界面后,應(yīng)用程序103就會在虛擬桌面客戶端105中進行繪圖操作。這些繪圖操作最終變?yōu)槔L圖指令被虛擬機101收集,然后按順序發(fā)給虛擬桌面客戶端105。虛擬桌面客戶端105只要按照順序把這些指令發(fā)送給本地顯卡106處理,然后再把繪圖結(jié)果存入顯示緩沖區(qū)108,即可在顯示器109上繪制出應(yīng)用程序的界面。但是,由于服務(wù)器101的處理能力往往數(shù)倍于云終端107,這就造成了服務(wù)器101的繪圖命令發(fā)送速度超過云終端107的處理和執(zhí)行能力,容易導(dǎo)致顯示延遲或停滯的情況,特別是當(dāng)云終端的硬件性能較低時,這種情況就尤為突出。
【發(fā)明內(nèi)容】
[0004]本發(fā)明公開了一種在VDI架構(gòu)下提升客戶端圖像處理性能的方法和裝置,在原桌面虛擬化協(xié)議的基礎(chǔ)上,對客戶端的命令執(zhí)行過程進行了調(diào)整和優(yōu)化處理,可以在同樣配置的云終端上帶來更快、更好的圖形用戶界面更新體驗。
[0005]一種在VDI架構(gòu)下提升客戶端圖像處理性能的裝置,如說明書附圖2所示,包括一個安裝于云終端208上的圖形緩存監(jiān)控代理207以及由該代理生成并管理的繪圖結(jié)果緩沖區(qū) 210。
[0006]繪圖結(jié)果緩沖區(qū)210用于緩存經(jīng)本地顯卡對繪圖指令進行處理后的繪圖結(jié)果。
[0007]圖形緩存監(jiān)控代理負(fù)責(zé)接收從服務(wù)器201端發(fā)來的繪圖指令、發(fā)送接收到的繪圖指令給本地顯卡209處理、接收本地顯卡209的繪圖指令處理結(jié)果、將繪圖結(jié)果保存到繪圖結(jié)果緩沖區(qū)210、記錄繪圖結(jié)果緩存區(qū)210中存在的屏幕更新數(shù)據(jù)、執(zhí)行屏幕更新操作以及將繪圖結(jié)果緩沖區(qū)210中保存的變化部分的繪圖結(jié)果發(fā)送到顯示緩沖區(qū)206進而顯示到本地顯示器211上。
[0008]一種在VDI架構(gòu)下提升客戶端圖像處理性能的方法,包括如下步驟:
步驟1:位于服務(wù)器一側(cè)虛擬機上的應(yīng)用程序203將繪圖指令發(fā)給虛擬機202 ;
步驟2:虛擬機202通過網(wǎng)絡(luò)204,把繪圖指令發(fā)給虛擬桌面客戶端205 ;
步驟3:虛擬桌面客戶端205通過圖形緩存監(jiān)控代理207申請一塊內(nèi)存區(qū)域作為繪圖結(jié)果緩沖區(qū)210,并把經(jīng)本地顯卡209處理過的繪圖指令的結(jié)果保存到繪圖結(jié)果緩沖區(qū)210中;
步驟4:圖形緩存監(jiān)控代理207按照一定時間間隔查看繪圖結(jié)果緩沖區(qū)中的繪圖結(jié)果是否有更新,若有更新則執(zhí)行步驟5 ;
步驟5:圖形緩存監(jiān)控代理207將繪圖結(jié)果緩沖區(qū)210中的更新區(qū)域繪制到顯示緩沖區(qū)206中從而在本地顯示器211上顯示出來。
[0009]本發(fā)明公開的在VDI架構(gòu)下提升客戶端設(shè)備顯示性能的方法和裝置,很好的解決了由于服務(wù)端和客戶端的處理能力差異所導(dǎo)致的客戶端顯示效率低的問題,在同樣配置的客戶端上帶來更快、更好的圖形用戶界面更新體驗。
【附圖說明】
[0010]為了更清楚地說明本發(fā)明實施例或現(xiàn)有的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單的介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0011]圖1虛擬化基礎(chǔ)架構(gòu)下客戶端設(shè)備顯示更新處理過程示意圖。
[0012]圖2虛擬化基礎(chǔ)架構(gòu)下經(jīng)過優(yōu)化的客戶端設(shè)備顯示更新處理過程示意圖。
【具體實施方式】
[0013]下面將結(jié)合本發(fā)明實施例中的附圖對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明的一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動的前提下所獲得的其他實施例,都屬于本發(fā)明保護的范圍。
[0014]實施步驟一:首先建立初始的桌面虛擬化技術(shù)架構(gòu)運行環(huán)境,包括如下內(nèi)容:
1)準(zhǔn)備兩臺以上物理服務(wù)器、兩臺以上云終端、桌面虛擬化管理軟件以及圖形緩存監(jiān)控代理軟件,確保物理服務(wù)器和云終端之間的網(wǎng)絡(luò)連接正常;
2)在物理服務(wù)器上安裝桌面虛擬化管理軟件,確保云終端可以正常連接到虛擬化服務(wù)器并獲取到虛擬桌面;
3)在客戶端安裝圖形緩存監(jiān)控代理軟件,同時設(shè)置每次客戶端啟動后都自動運行該代理軟件。
[0015]實施步驟二:云終端獲取虛擬桌面到本地顯示,包括如下內(nèi)容:
1)從云終端208運行虛擬桌面客戶端205;
2)從虛擬桌面服務(wù)器列表中選擇所需的虛擬桌面服務(wù)器名稱或IP地址;
3)連接到虛擬桌面服務(wù)器201獲取用戶托管的虛擬機列表;
4)選擇其中一個虛擬機202,則虛擬桌面服務(wù)器201將啟動該虛擬機202并將圖形界面發(fā)送到云終端208顯示。
[0016]實施步驟三:持續(xù)在客戶端進行操作,服務(wù)器端則不斷將虛擬桌面的圖形界面發(fā)到客戶端顯示,包括如下內(nèi)容:
1)用戶在云終端208上的操作(鼠標(biāo)或鍵盤操作)被持續(xù)發(fā)送到物理服務(wù)器201上的虛擬機202 ; 2)虛擬機202對操作進行響應(yīng)和計算,若圖形界面發(fā)生了變化則虛擬機202將變化的桌面圖像以繪圖指令的方式發(fā)給虛擬桌面客戶端205 ;
3)圖形緩存監(jiān)控代理207執(zhí)行下面的操作:
①申請一塊內(nèi)存區(qū)域作為繪圖結(jié)果緩沖區(qū)210;
②收到來自虛擬桌面客戶端205的繪圖指令后,轉(zhuǎn)發(fā)給本地顯卡209處理獲得繪圖結(jié)果并保存到繪圖結(jié)果緩沖區(qū)210中,同時記錄更新的區(qū)域;
③啟動一個計時器,以每秒30次的頻率運行。在每個計時間隔圖形緩存監(jiān)控代理207把繪圖結(jié)果緩沖區(qū)210的變化部分更新到顯示緩沖區(qū)206進而顯示到本地顯示器211上。
[0017]通過上述實施例實現(xiàn)的一種在VDI架構(gòu)下提升客戶端圖像處理性能的方法和裝置,由于其圖形處理方式由只要接收到一個繪圖指令就立即進行屏幕更新的方式調(diào)整為累積接收到繪圖指令一定時間后才進行一次屏幕更新的方式,從而在相同時間內(nèi)可以處理更多繪圖指令,客戶端減少了繪制屏幕的次數(shù),圖像處理性能得到很大的提高。
[0018]本領(lǐng)域普通技術(shù)人員可以理解上述實施例的各種方法中的全部或部分步驟是可以通過程序來指令相關(guān)的硬件來完成,該程序可以存儲于一計算機可讀存儲介質(zhì)中,存儲介質(zhì)可以包括:只讀存儲器(ROM, Read Only Memory)、隨機存取記憶體(RAM, RandomAccess Memory)、磁盤或光盤。
[0019]以上對本發(fā)明實施例所提供的一種在VDI架構(gòu)下提升客戶端圖像處理性能的方法及裝置進行了詳細(xì)介紹,本文中應(yīng)用了具體個例對本發(fā)明的原理及實施方式進行了闡述,以上實施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時對于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在【具體實施方式】及應(yīng)用范圍上均會有改變指出,綜上所述,本說明書內(nèi)容不應(yīng)理解為對本發(fā)明的限制。
【主權(quán)項】
1.一種在VDI架構(gòu)下提升客戶端設(shè)備顯示性能的裝置,其特征在于,包括一個安裝于客戶端設(shè)備上的圖形緩存監(jiān)控代理和一個繪圖結(jié)果緩沖區(qū)。2.—種在VDI架構(gòu)下提升客戶端設(shè)備顯示性能的方法,其特征在于,包括如下步驟: 步驟1:位于服務(wù)器一側(cè)虛擬機上的應(yīng)用程序?qū)⒗L圖指令發(fā)給虛擬機; 步驟2:虛擬機通過網(wǎng)絡(luò),把繪圖指令傳給虛擬桌面客戶端; 步驟3:虛擬桌面客戶端通過圖形緩存監(jiān)控代理申請一塊內(nèi)存區(qū)域作為繪圖結(jié)果緩沖區(qū),并把經(jīng)本地顯卡處理過的繪圖指令的結(jié)果保存到繪圖結(jié)果緩沖區(qū)中; 步驟4:圖形緩存監(jiān)控代理按照一定時間間隔查看繪圖結(jié)果緩沖區(qū)中的繪圖結(jié)果是否有更新,若有更新則執(zhí)行步驟5 ; 步驟5:圖形緩存監(jiān)控代理將繪圖結(jié)果緩沖區(qū)中的更新區(qū)域繪制到顯示緩沖區(qū)中從而在本地顯示器上顯示出來。3.如權(quán)利要求1所述的圖形緩存監(jiān)控代理,其特征在于,該圖形緩存監(jiān)控代理負(fù)責(zé)接收從服務(wù)器端發(fā)來的繪圖指令、發(fā)送接收到的繪圖指令給本地顯卡處理、接收本地顯卡的繪圖指令處理結(jié)果、將繪圖結(jié)果保存到繪圖結(jié)果緩沖區(qū)、記錄繪圖結(jié)果緩存區(qū)中存在的屏幕更新數(shù)據(jù)、執(zhí)行屏幕更新操作以及將繪圖結(jié)果緩沖區(qū)中保存的變化部分的繪圖結(jié)果發(fā)送到屏幕緩沖區(qū)進而顯示到本地顯示器上。4.如權(quán)利要求1所述的圖形緩存監(jiān)控代理,其特征在于,該代理為一段常駐內(nèi)存的代碼,需要在實施階段設(shè)置每次虛擬桌面客戶端啟動后都自動運行該代理軟件。5.如權(quán)利要求1所述的圖形緩存監(jiān)控代理,其特征在于,會啟動一個計時器,以每秒30次的頻率運行,在每個計時周期都會查看繪圖結(jié)果緩沖區(qū)的更新情況,若有更新則執(zhí)行顯示更新操作。6.如權(quán)利要求1所述的繪圖結(jié)果緩沖區(qū),其特征在于,該繪圖結(jié)果緩沖區(qū)是由圖形緩存監(jiān)控代理創(chuàng)建的一塊內(nèi)存區(qū)域,用于保存經(jīng)本地顯卡處理過的繪圖指令的結(jié)果。7.如權(quán)利要求1所述的繪圖結(jié)果緩沖區(qū),其特征在于,經(jīng)過本地顯卡處理過的繪圖指令結(jié)果保存到繪圖結(jié)果緩沖區(qū)中的同時會記錄繪圖結(jié)果中更新過的區(qū)域。8.如權(quán)利要求2所述的VDI架構(gòu)下提升客戶端設(shè)備顯示性能的方法,其特征在于,客戶端設(shè)備首先要接入虛擬桌面技術(shù)架構(gòu),并通過虛擬桌面客戶端獲取到用戶的虛擬桌面。
【專利摘要】本發(fā)明公開了一種在VDI架構(gòu)下提升客戶端設(shè)備顯示性能的方法和裝置。包括一個安裝于客戶端設(shè)備上的圖形緩存監(jiān)控代理以及一個由該監(jiān)控代理生成并管理的內(nèi)存區(qū)域。該內(nèi)存區(qū)域用做繪圖結(jié)果緩沖區(qū),而圖形緩存監(jiān)控代理負(fù)責(zé)從客戶端接收經(jīng)本地顯卡處理過的繪圖指令結(jié)果并保存到繪圖結(jié)果緩沖區(qū)中。當(dāng)存在屏幕更新數(shù)據(jù)時,圖形緩存監(jiān)控代理執(zhí)行屏幕更新任務(wù)將圖形緩存中保存的繪圖信息發(fā)送到屏幕緩沖區(qū)進而顯示到本地顯示器上。由于在處理繪圖指令時,不需要在接收到每一條繪圖指令后都執(zhí)行繪制屏幕的操作,而是記錄一段時間的繪圖指令變化后才繪制屏幕,故本發(fā)明提供的方法可以在相同時間內(nèi)處理更多繪圖指令,減少了客戶端繪制屏幕的次數(shù),圖像處理性能得到很大的提高,可以在同樣配置的客戶端上帶來更快、更好的圖形用戶界面更新體驗。
【IPC分類】G06F3/14
【公開號】CN105302511
【申請?zhí)枴緾N201410233048
【發(fā)明人】王士爽, 劉琦
【申請人】北京云端時代科技有限公司
【公開日】2016年2月3日
【申請日】2014年5月29日