金成明 李 巍 李祉岐 吳 舜
(1.國網遼寧省電力有限公司信息通信分公司 沈陽 110006)(2.北京國電通網絡技術有限公司 北京 100071)(3.國網冀北電力有限公司信息通信分公司 北京 100053)
基于Spice協議的虛擬桌面視頻分析與改進?
金成明1李 巍1李祉岐2吳 舜3
(1.國網遼寧省電力有限公司信息通信分公司 沈陽 110006)(2.北京國電通網絡技術有限公司 北京 100071)(3.國網冀北電力有限公司信息通信分公司 北京 100053)
隨著云計算技術向實際應用轉化的不斷發展,桌面虛擬化VDI技術的日益成熟,作為云計算典型應用的虛擬桌面解決方案已逐步被人們接受和認可。傳統計算機使用過程中的一些問題能被虛擬桌面有效解決,使用虛擬桌面能降低企業的能耗和IT運維成本。論文分析了SPICE協議的架構以及它采用的視頻傳輸和壓縮機制,指出目前SPICE協議在視頻處理方面的不足,并提出了改進方案,對于桌面虛擬化技術的應用有一定的指導作用。
SPICE協議;桌面虛擬化;視頻優化;云終端
云桌面作為一種典型的云計算應用,與傳統的PC桌面相比,虛擬桌面可以增強企業設備的統一管理,資源的動態分配,提高企業的信息安全性。企業采用云桌面能顯著降低IT的運維成本和采購成本,能提高服務器的利用率和系統的安全性[1~2]。
云桌面整體解決方案一般由云桌面平臺,云終端和連接云平臺和云終端的遠程桌面協議三部分組成。云桌面的核心是虛擬桌面傳輸協議,云桌面的終極目標是為用戶提供接近傳統PC的服務體驗。擬桌面協議的優劣直接決定云桌面各項功能的效果和占用網絡帶寬的情況,目前主流的虛擬化傳輸協議是SPICE,ICA,PCoIP和RDP等[3~6]。由于SPICE協議完全開放源代碼,國內大部分云桌面平臺采用該協議來提供云桌面服務。
與傳統PC相比,云終端由于CPU性能一般,因此對多媒體處理能力普遍較弱。使用云終端來連接云桌面。當用戶播放高清本地視頻或者在線視頻時,云桌面會存在延時、音畫不同步等問題,嚴重影響了用戶體驗。
2.1 桌面傳輸協議原理
云桌面虛擬化傳輸協議是用來在云桌面平臺和云終端之間進行通信的一組協議。云桌面傳輸協議主要完成云平臺到云終端之間的數據傳輸,包括音視頻和圖像數據,各種外設等輸入數據[7~8],如圖1所示。

圖1 虛擬桌面傳輸協議原理
用戶通過虛擬桌面傳輸協議,將云桌面的在服務端上的數據顯示在本地終端,獲得與傳統PC桌面同樣的用戶體驗。虛擬桌面傳輸協議使用TCP或者UDP進行數據傳輸。目前大部分云桌面使用TCP協議,一般使用UDP協議來傳輸多媒體數據,如視頻數據等。服務端通過網絡傳遞到遠程用戶終端。
當前主流的虛擬桌面傳輸協議分別被不同的廠家支持,如ICA、SPICE、RDP和PCoIP等。表1對當前主流協議的特性進行了分析和比較[9~10]。

表1 主流虛擬桌面協議比較
云桌面操作的流暢性與傳輸帶寬的高低直接相關。PCoIP桌面協議采用逐步漸進的方式在終端展示桌面圖像。具體就是先傳輸一個相對模糊但是完整的圖像,再逐步精化后得到清晰的桌面圖像。ICA桌面協議則針對圖形圖像數據采用了較高壓縮率的算法,使得在低網絡帶寬的情況下,也能夠得到較優的桌面。但是這樣會使得視頻畫面的清晰度降低。而SPICE協議能夠協商終端的處理能力,將視頻解碼和渲染操作放在用戶終端進行。
2.2 SPICE協議架構分析
簡單協議獨立計算環境(Simple Protocol for Independent Computing Environment,SPICE)是具有自適應能力的遠程提交協議,能夠提供與傳統PC同樣的用戶體驗,采用了分層的架構,包含了三個組件[11]:
1)QXI驅動:部署在服務端的虛擬機主機中,接收系統層和應用層的圖形命令,并轉化為QXL的設備命令。
2)SPICE客戶端:運行在云終端上的一套SPICE軟件,用于顯示云桌面,并將用戶終端的輸入數據發送到服務端。
3)QXL設備:用于接收處理虛擬主機的圖形命令,一般部署在虛擬化的Hypervisor中[12]。
三個組件協同運作,確保高效處理圖形圖像操作,降低系統的整體負荷,改善和提高用戶體驗。

圖2 SPICE協議架構
SPICE桌面協議的三個組件架構如圖2所示。SPICE客戶端安裝部署在用戶終端上,顯示云桌面。SPICE服務端與KVM虛擬機整合部署,與客戶端的數據交互通過SPICE協議進行[13~14]。
SPICE協議處理視頻流采用了MJPEG壓縮算法[15],通過判斷圖像區域的刷新頻率來確認是否是視頻流。在識別出用戶在虛擬機里面播放了視頻流后,圖像區域自動轉化為視頻區域,提高了云桌面對流媒體的播放效果。另外,MJPEG還有一個突出的特點,它的壓縮和解壓縮過程是基本相同的,可以在服務端和客戶端使用相同的軟硬件實現。SPICE處理視頻流的基本過程如圖3所示。

圖3 SPICE協議視頻處理
3.1 服務端對視頻的處理
服務端對視頻流的處理,包括以下幾個過程:
1)檢測視頻流,SPICE服務端在檢測到虛擬桌面上的區域發生快速的變化時就將其當做視頻畫面進行處理。
2)進行MJPEG壓縮,SPICE服務端對檢測到視頻流區域的每一幀畫面進行MJPEG壓縮。
3)增加時間戳,SPICE為解決音視頻同步問題采用了增加時間戳的方法,服務端提取系統時鐘(精確到微秒)作為參考時鐘,然后在音視頻數據后加上時間戳。
4)發送壓縮視頻數據到客戶端,SPICE服務端將視頻數據放到緩沖隊列,由專門的模塊負責對視頻隊列里面的數據進行轉發。
3.2 客戶端對視頻的處理
客戶端對視頻流的處理相對簡單,主要是以下幾個過程:
1)獲取MJPEG視頻流數據,SPICE客戶端在接受到視頻流數據后,首先要獲取客戶端的媒體時間,然后再移除過期的幀數據。
2)MJPEG視頻數據解碼,SPICE客戶端在獲取到視頻流數據后,需要對每一幀MJPEG數據進行解壓縮處理。
3)視頻顯示,當客戶端解碼視頻數據后,首先要提取數據塊上的時間戳,接著與當前客戶端上的媒體時鐘的時間進行比較。如果視頻數據的時間戳大于系統參考時間,需要將這段視頻數據存入播放隊列,等系統時間到達后再觸發播放流程。
4.1 SPICE協議對視頻處理的不足
雖然SPICE協議專門針對視頻做了優化處理,但是在某些復雜應用場景下,尤其與PC體驗相比,還是存在一些不足,主要體現在:
1)SPICE服務端處理視頻流使用MJPEG壓縮。沒有考慮網絡帶寬的影響,自始至終設置固定的視頻播放幀數。如果網絡帶寬低,視頻播放卡頓嚴重。
2)SPICE服務端對視頻進行壓縮處理,需要消耗較多的服務端CPU資源。尤其是當服務端有多個虛擬桌面并行進行視頻播放時,會嚴重影響服務端的處理性能,導致終端用戶體驗不佳。
3)SPICE客戶端本地處理多媒體的能力沒有利用上,完全依賴服務端的處理。
4.2 視頻流處理改進方案
SPICE桌面協議對流媒體數據處理的缺陷,采用流媒體的方法[16],直接將云桌面里面的視頻數據發送到用戶終端,服務端不進行解碼操作,由客戶端直接對視頻數據進行解碼播放。這種方案的優勢是一方面釋放了服務端的處理視頻數據的性能,另一面是充分利用了客戶端的多媒體處理能力,基本原理如圖4所示。

圖4 改進的SPICE協議視頻處理
具體實現方式,在虛擬桌面系統中增加一個視頻代理模塊,在檢測到系統中的多媒體播放器有視頻要播放時,將播放器中分離后的視頻和音頻數據截獲,這一個過程會保證音視頻數據不會在服務端被渲染。音視頻數據被截獲后,通過SPICE服務端和客戶端之間的虛擬通道,發送給客戶端。客戶端通過專門的視頻虛擬通道,獲取到音視頻數據后,執行視頻解碼和顯示,達到播放視頻的目的。
優化方案的最終目的是讓終端本地進行視頻數據解碼和顯示,有效釋放SPICE服務端的性能消耗,提高了終端用戶的體驗。
本文首先介紹了當前主流桌面傳輸協議的基本原理,然后詳細分析了SPICE協議的三大組件架構和SPICE云桌面對視頻流的處理過程,在此基礎上指出SPICE協議對視頻處理的缺陷和不足,并提出了改進方案。
[1]劉夏.云桌面應用研究概述[J].計算機系統應用,2014(7):12-16.LIU Xia.Research and Applications of Cloud Desktop[J].Computer Systems&Applications,2014(7):12-16.
[2]成靜靜.基于虛擬化的云桌面技術方案研究與設計[J].廣東通信技術,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]汪匯.虛擬桌面協議的研究與實踐[J].信息安全與技術,2015(1):62-65.WANG Hui.VDI Protocol Research and Practice[J].Information Security and Technology,2015(1):62-65.
[4]路康.虛擬桌面傳輸協議研究[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協議的安全方案研究與實現[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的虛擬化架構的研究與實現[D].北京:中國地質大學(北京),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協議的虛擬化技術研究與改進方案[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協議的視頻傳輸分析與改進[D].濟南:山東大學,2013:21-34.QIAO Yong.Video transmission analysis and improvement of SPICE protocol[D].Jinan:Shandong University,2013:21-34.
[9]許瑾,舒珊,趙鑫.基于VDI虛擬桌面的RDP協議的改進方案[J].數字技術與應用,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]李承東.云桌面遠程傳輸協議綜述[J].現代電信科技,2014(8):23-26.LI Chengdong.Overview of cloud desktop remote transport protocols[J].modern telecommunications technology,2014(8):23-26.
[11]賴孫榮.虛擬桌面框架Spice剖析及其客戶端的設計與實現[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開源協議的云桌面技術架構研究[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的虛擬化研究及應用[J].計算機技術與發展,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的桌面虛擬化架構設計與實現[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].計算機技術與發展,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]陳玨奇,劉峰.流媒體傳輸技術[J].計算機技術與發展,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日
自主可控的國產化基礎辦公軟件關鍵技術研究。
金成明,男,碩士,高級工程師,研究方向:電力信息化。李巍,男,碩士,高級工程師,研究方向:電力信息化。李祉岐,男,碩士,工程師,研究方向:信息安全。吳舜,男,碩士,高級工程師,研究方向:面向電力企業的軟件定義網絡技術。