金成明 李 巍 李祉岐 吳 舜
(1.國網(wǎng)遼寧省電力有限公司信息通信分公司 沈陽 110006)(2.北京國電通網(wǎng)絡(luò)技術(shù)有限公司 北京 100071)(3.國網(wǎng)冀北電力有限公司信息通信分公司 北京 100053)
基于Spice協(xié)議的虛擬桌面視頻分析與改進?
金成明1李 巍1李祉岐2吳 舜3
(1.國網(wǎng)遼寧省電力有限公司信息通信分公司 沈陽 110006)(2.北京國電通網(wǎng)絡(luò)技術(shù)有限公司 北京 100071)(3.國網(wǎng)冀北電力有限公司信息通信分公司 北京 100053)
隨著云計算技術(shù)向?qū)嶋H應(yīng)用轉(zhuǎn)化的不斷發(fā)展,桌面虛擬化VDI技術(shù)的日益成熟,作為云計算典型應(yīng)用的虛擬桌面解決方案已逐步被人們接受和認可。傳統(tǒng)計算機使用過程中的一些問題能被虛擬桌面有效解決,使用虛擬桌面能降低企業(yè)的能耗和IT運維成本。論文分析了SPICE協(xié)議的架構(gòu)以及它采用的視頻傳輸和壓縮機制,指出目前SPICE協(xié)議在視頻處理方面的不足,并提出了改進方案,對于桌面虛擬化技術(shù)的應(yīng)用有一定的指導作用。
SPICE協(xié)議;桌面虛擬化;視頻優(yōu)化;云終端
云桌面作為一種典型的云計算應(yīng)用,與傳統(tǒng)的PC桌面相比,虛擬桌面可以增強企業(yè)設(shè)備的統(tǒng)一管理,資源的動態(tài)分配,提高企業(yè)的信息安全性。企業(yè)采用云桌面能顯著降低IT的運維成本和采購成本,能提高服務(wù)器的利用率和系統(tǒng)的安全性[1~2]。
云桌面整體解決方案一般由云桌面平臺,云終端和連接云平臺和云終端的遠程桌面協(xié)議三部分組成。云桌面的核心是虛擬桌面?zhèn)鬏攨f(xié)議,云桌面的終極目標是為用戶提供接近傳統(tǒng)PC的服務(wù)體驗。擬桌面協(xié)議的優(yōu)劣直接決定云桌面各項功能的效果和占用網(wǎng)絡(luò)帶寬的情況,目前主流的虛擬化傳輸協(xié)議是SPICE,ICA,PCoIP和RDP等[3~6]。由于SPICE協(xié)議完全開放源代碼,國內(nèi)大部分云桌面平臺采用該協(xié)議來提供云桌面服務(wù)。
與傳統(tǒng)PC相比,云終端由于CPU性能一般,因此對多媒體處理能力普遍較弱。使用云終端來連接云桌面。當用戶播放高清本地視頻或者在線視頻時,云桌面會存在延時、音畫不同步等問題,嚴重影響了用戶體驗。
2.1 桌面?zhèn)鬏攨f(xié)議原理
云桌面虛擬化傳輸協(xié)議是用來在云桌面平臺和云終端之間進行通信的一組協(xié)議。云桌面?zhèn)鬏攨f(xié)議主要完成云平臺到云終端之間的數(shù)據(jù)傳輸,包括音視頻和圖像數(shù)據(jù),各種外設(shè)等輸入數(shù)據(jù)[7~8],如圖1所示。
圖1 虛擬桌面?zhèn)鬏攨f(xié)議原理
用戶通過虛擬桌面?zhèn)鬏攨f(xié)議,將云桌面的在服務(wù)端上的數(shù)據(jù)顯示在本地終端,獲得與傳統(tǒng)PC桌面同樣的用戶體驗。虛擬桌面?zhèn)鬏攨f(xié)議使用TCP或者UDP進行數(shù)據(jù)傳輸。目前大部分云桌面使用TCP協(xié)議,一般使用UDP協(xié)議來傳輸多媒體數(shù)據(jù),如視頻數(shù)據(jù)等。服務(wù)端通過網(wǎng)絡(luò)傳遞到遠程用戶終端。
當前主流的虛擬桌面?zhèn)鬏攨f(xié)議分別被不同的廠家支持,如ICA、SPICE、RDP和PCoIP等。表1對當前主流協(xié)議的特性進行了分析和比較[9~10]。
表1 主流虛擬桌面協(xié)議比較
云桌面操作的流暢性與傳輸帶寬的高低直接相關(guān)。PCoIP桌面協(xié)議采用逐步漸進的方式在終端展示桌面圖像。具體就是先傳輸一個相對模糊但是完整的圖像,再逐步精化后得到清晰的桌面圖像。ICA桌面協(xié)議則針對圖形圖像數(shù)據(jù)采用了較高壓縮率的算法,使得在低網(wǎng)絡(luò)帶寬的情況下,也能夠得到較優(yōu)的桌面。但是這樣會使得視頻畫面的清晰度降低。而SPICE協(xié)議能夠協(xié)商終端的處理能力,將視頻解碼和渲染操作放在用戶終端進行。
2.2 SPICE協(xié)議架構(gòu)分析
簡單協(xié)議獨立計算環(huán)境(Simple Protocol for Independent Computing Environment,SPICE)是具有自適應(yīng)能力的遠程提交協(xié)議,能夠提供與傳統(tǒng)PC同樣的用戶體驗,采用了分層的架構(gòu),包含了三個組件[11]:
1)QXI驅(qū)動:部署在服務(wù)端的虛擬機主機中,接收系統(tǒng)層和應(yīng)用層的圖形命令,并轉(zhuǎn)化為QXL的設(shè)備命令。
2)SPICE客戶端:運行在云終端上的一套SPICE軟件,用于顯示云桌面,并將用戶終端的輸入數(shù)據(jù)發(fā)送到服務(wù)端。
3)QXL設(shè)備:用于接收處理虛擬主機的圖形命令,一般部署在虛擬化的Hypervisor中[12]。
三個組件協(xié)同運作,確保高效處理圖形圖像操作,降低系統(tǒng)的整體負荷,改善和提高用戶體驗。
圖2 SPICE協(xié)議架構(gòu)
SPICE桌面協(xié)議的三個組件架構(gòu)如圖2所示。SPICE客戶端安裝部署在用戶終端上,顯示云桌面。SPICE服務(wù)端與KVM虛擬機整合部署,與客戶端的數(shù)據(jù)交互通過SPICE協(xié)議進行[13~14]。
SPICE協(xié)議處理視頻流采用了MJPEG壓縮算法[15],通過判斷圖像區(qū)域的刷新頻率來確認是否是視頻流。在識別出用戶在虛擬機里面播放了視頻流后,圖像區(qū)域自動轉(zhuǎn)化為視頻區(qū)域,提高了云桌面對流媒體的播放效果。另外,MJPEG還有一個突出的特點,它的壓縮和解壓縮過程是基本相同的,可以在服務(wù)端和客戶端使用相同的軟硬件實現(xiàn)。SPICE處理視頻流的基本過程如圖3所示。
圖3 SPICE協(xié)議視頻處理
3.1 服務(wù)端對視頻的處理
服務(wù)端對視頻流的處理,包括以下幾個過程:
1)檢測視頻流,SPICE服務(wù)端在檢測到虛擬桌面上的區(qū)域發(fā)生快速的變化時就將其當做視頻畫面進行處理。
2)進行MJPEG壓縮,SPICE服務(wù)端對檢測到視頻流區(qū)域的每一幀畫面進行MJPEG壓縮。
3)增加時間戳,SPICE為解決音視頻同步問題采用了增加時間戳的方法,服務(wù)端提取系統(tǒng)時鐘(精確到微秒)作為參考時鐘,然后在音視頻數(shù)據(jù)后加上時間戳。
4)發(fā)送壓縮視頻數(shù)據(jù)到客戶端,SPICE服務(wù)端將視頻數(shù)據(jù)放到緩沖隊列,由專門的模塊負責對視頻隊列里面的數(shù)據(jù)進行轉(zhuǎn)發(fā)。
3.2 客戶端對視頻的處理
客戶端對視頻流的處理相對簡單,主要是以下幾個過程:
1)獲取MJPEG視頻流數(shù)據(jù),SPICE客戶端在接受到視頻流數(shù)據(jù)后,首先要獲取客戶端的媒體時間,然后再移除過期的幀數(shù)據(jù)。
2)MJPEG視頻數(shù)據(jù)解碼,SPICE客戶端在獲取到視頻流數(shù)據(jù)后,需要對每一幀MJPEG數(shù)據(jù)進行解壓縮處理。
3)視頻顯示,當客戶端解碼視頻數(shù)據(jù)后,首先要提取數(shù)據(jù)塊上的時間戳,接著與當前客戶端上的媒體時鐘的時間進行比較。如果視頻數(shù)據(jù)的時間戳大于系統(tǒng)參考時間,需要將這段視頻數(shù)據(jù)存入播放隊列,等系統(tǒng)時間到達后再觸發(fā)播放流程。
4.1 SPICE協(xié)議對視頻處理的不足
雖然SPICE協(xié)議專門針對視頻做了優(yōu)化處理,但是在某些復雜應(yīng)用場景下,尤其與PC體驗相比,還是存在一些不足,主要體現(xiàn)在:
1)SPICE服務(wù)端處理視頻流使用MJPEG壓縮。沒有考慮網(wǎng)絡(luò)帶寬的影響,自始至終設(shè)置固定的視頻播放幀數(shù)。如果網(wǎng)絡(luò)帶寬低,視頻播放卡頓嚴重。
2)SPICE服務(wù)端對視頻進行壓縮處理,需要消耗較多的服務(wù)端CPU資源。尤其是當服務(wù)端有多個虛擬桌面并行進行視頻播放時,會嚴重影響服務(wù)端的處理性能,導致終端用戶體驗不佳。
3)SPICE客戶端本地處理多媒體的能力沒有利用上,完全依賴服務(wù)端的處理。
4.2 視頻流處理改進方案
SPICE桌面協(xié)議對流媒體數(shù)據(jù)處理的缺陷,采用流媒體的方法[16],直接將云桌面里面的視頻數(shù)據(jù)發(fā)送到用戶終端,服務(wù)端不進行解碼操作,由客戶端直接對視頻數(shù)據(jù)進行解碼播放。這種方案的優(yōu)勢是一方面釋放了服務(wù)端的處理視頻數(shù)據(jù)的性能,另一面是充分利用了客戶端的多媒體處理能力,基本原理如圖4所示。
圖4 改進的SPICE協(xié)議視頻處理
具體實現(xiàn)方式,在虛擬桌面系統(tǒng)中增加一個視頻代理模塊,在檢測到系統(tǒng)中的多媒體播放器有視頻要播放時,將播放器中分離后的視頻和音頻數(shù)據(jù)截獲,這一個過程會保證音視頻數(shù)據(jù)不會在服務(wù)端被渲染。音視頻數(shù)據(jù)被截獲后,通過SPICE服務(wù)端和客戶端之間的虛擬通道,發(fā)送給客戶端??蛻舳送ㄟ^專門的視頻虛擬通道,獲取到音視頻數(shù)據(jù)后,執(zhí)行視頻解碼和顯示,達到播放視頻的目的。
優(yōu)化方案的最終目的是讓終端本地進行視頻數(shù)據(jù)解碼和顯示,有效釋放SPICE服務(wù)端的性能消耗,提高了終端用戶的體驗。
本文首先介紹了當前主流桌面?zhèn)鬏攨f(xié)議的基本原理,然后詳細分析了SPICE協(xié)議的三大組件架構(gòu)和SPICE云桌面對視頻流的處理過程,在此基礎(chǔ)上指出SPICE協(xié)議對視頻處理的缺陷和不足,并提出了改進方案。
[1]劉夏.云桌面應(yīng)用研究概述[J].計算機系統(tǒng)應(yīng)用,2014(7):12-16.LIU Xia.Research and Applications of Cloud Desktop[J].Computer Systems&Applications,2014(7):12-16.
[2]成靜靜.基于虛擬化的云桌面技術(shù)方案研究與設(shè)計[J].廣東通信技術(shù),2011,31(6):36-39.CHEN Jinjin.Research and design of cloud desktop technology scheme based on virtualization technology[J].Guangdong Communication Technology,2011,31(6):36-39.
[3]汪匯.虛擬桌面協(xié)議的研究與實踐[J].信息安全與技術(shù),2015(1):62-65.WANG Hui.VDI Protocol Research and Practice[J].Information Security and Technology,2015(1):62-65.
[4]路康.虛擬桌面?zhèn)鬏攨f(xié)議研究[D].武漢:華中科技大學,2013:9-13.LU Kang.Research of virtualized desktop transmission protocol[D].Wuhan:Huazhong University of Science and Technology,2013:9-13.
[5]羅勱.基于RDP協(xié)議的安全方案研究與實現(xiàn)[D].成都:電子科技大學,2012:15-28.LUO Mai.University of Electronic Science and technology research and implementation of[D].Chengdu:Security scheme based on RDP protocol,2012:15-28.
[6]趙剛.基于VMware vSphere的虛擬化架構(gòu)的研究與實現(xiàn)[D].北京:中國地質(zhì)大學(北京),2013:11-23.ZHAO Gang.Research and implementation of virtualization architecture based on VMware[D].Beijing:Sphere China University of Geosciences(Beijing),2013:11-23.
[7]徐浩,蘭雨晴.基于SPICE協(xié)議的虛擬化技術(shù)研究與改進方案[J].計算機工程與科學,2013(12):20-25.Terry Chui,LAN Yuqing.Research on virtualization technology SPICE protocol and improved scheme based on[J].Computer engineering and science,2013(12):20-25.
[8]喬詠.SPICE協(xié)議的視頻傳輸分析與改進[D].濟南:山東大學,2013:21-34.QIAO Yong.Video transmission analysis and improvement of SPICE protocol[D].Jinan:Shandong University,2013:21-34.
[9]許瑾,舒珊,趙鑫.基于VDI虛擬桌面的RDP協(xié)議的改進方案[J].數(shù)字技術(shù)與應(yīng)用,2015(7):58-58.XU Jin,SHU Shan,ZHAO Xin.Improved scheme of RDP protocol based on VDI virtual desktop[J].Digital technology and application,2015(7):58-58.
[10]李承東.云桌面遠程傳輸協(xié)議綜述[J].現(xiàn)代電信科技,2014(8):23-26.LI Chengdong.Overview of cloud desktop remote transport protocols[J].modern telecommunications technology,2014(8):23-26.
[11]賴孫榮.虛擬桌面框架Spice剖析及其客戶端的設(shè)計與實現(xiàn)[D].廣州:華南理工大學,2012:33-67.LAI Sunrong.Analysis of virtual desktop framework Spice and design and implementation of its client[D].Guangzhou:South China University of Technology,2012:33-67.
[12]石屹嶸,龔德志.基于SPICE開源協(xié)議的云桌面技術(shù)架構(gòu)研究[J].電信科學,2013(8):162-167.SHI Yirong,GONG Dezhi.Research on Technical Architecture on the SPICE of Open Source VDI[J].Telecommunications Science,2013(8):162-167.
[13]崔澤永,趙會群.基于KVM的虛擬化研究及應(yīng)用[J].計算機技術(shù)與發(fā)展,2011(6):108-111.CUI Zeyong,ZHAO Huiqun.Research and application of virtualization based on KVM[J].Computer technology and development,2011(6):108-111.
[14]徐燕雯.基于KVM的桌面虛擬化架構(gòu)設(shè)計與實現(xiàn)[D].上海:上海交通大學,2012.XU Yanwen.Design and implementation of desktop virtualization architecture based on KVM[D].Shanghai:Shanghai Jiao Tong University,2012:18-30.
[15]馬媛媛,楊峰,信科,等.基于DCT的JPEG圖像壓縮的研究[J].計算機技術(shù)與發(fā)展,2011,21(8):133-136.MA Yuanyuan,YANG Feng,XIN Ke,et al.Research of JPEG Image Compression Based on DCT[J].Computer technology and development,2011,21(8):133-136.
[16]陳玨奇,劉峰.流媒體傳輸技術(shù)[J].計算機技術(shù)與發(fā)展,2012(3):6-10.CHEN Jueqi,LIU Feng.Media Streaming Technology[J].Computer technology and development,2012(3):6-10.
Video Analysis and Improvement of Virtual Desktop Based on SPICE Protocol
JIN Chengming1LI Wei1LI Zhiqi2WU Shun3
(1.State Grid Liaoning Information and Communication Company,Shenyang 110006)(2.Guodiantong Corporation State Grid Information&Telecommunication Group,Beijing 100071)(3.State Grid Jibei Information and Communication Company,Beijing 100053)
With the continuous development of cloud computing,the virtual desktop solution becomes increasingly mature and the desktop virtualization becomes a typical cloud computing application.Virtual desktop technology can effectively solve those problems when using traditional personal computers and also reduce maintenance costs,which draws industries'attentions.This thesis discusses the architecture of SPICE virtual desktop solution and analyzes its video transmission and compression mechanisms.Finally the drawbacks of SPICE protocol in video processing are pointed out and some improvements methods are proposed,which will play a guide role for the development of virtual desktop technology.
SPICE protocol,desktop virtualization,Video optimization,Cloud Terminal
TP393
10.3969/j.issn.1672-9722.2017.11.027
Class Number TP393
2017年5月23日,
2017年6月29日
自主可控的國產(chǎn)化基礎(chǔ)辦公軟件關(guān)鍵技術(shù)研究。
金成明,男,碩士,高級工程師,研究方向:電力信息化。李巍,男,碩士,高級工程師,研究方向:電力信息化。李祉岐,男,碩士,工程師,研究方向:信息安全。吳舜,男,碩士,高級工程師,研究方向:面向電力企業(yè)的軟件定義網(wǎng)絡(luò)技術(shù)。