基于Spice协议的虚拟桌面视频分析与改进∗

2017-12-18 06:21金成明李祉岐
计算机与数字工程 2017年11期
关键词:视频流服务端桌面

金成明 李 巍 李祉岐 吴 舜

(1.国网辽宁省电力有限公司信息通信分公司 沈阳 110006)(2.北京国电通网络技术有限公司 北京 100071)(3.国网冀北电力有限公司信息通信分公司 北京 100053)

基于Spice协议的虚拟桌面视频分析与改进∗

金成明1李 巍1李祉岐2吴 舜3

(1.国网辽宁省电力有限公司信息通信分公司 沈阳 110006)(2.北京国电通网络技术有限公司 北京 100071)(3.国网冀北电力有限公司信息通信分公司 北京 100053)

随着云计算技术向实际应用转化的不断发展,桌面虚拟化VDI技术的日益成熟,作为云计算典型应用的虚拟桌面解决方案已逐步被人们接受和认可。传统计算机使用过程中的一些问题能被虚拟桌面有效解决,使用虚拟桌面能降低企业的能耗和IT运维成本。论文分析了SPICE协议的架构以及它采用的视频传输和压缩机制,指出目前SPICE协议在视频处理方面的不足,并提出了改进方案,对于桌面虚拟化技术的应用有一定的指导作用。

SPICE协议;桌面虚拟化;视频优化;云终端

1 引言

云桌面作为一种典型的云计算应用,与传统的PC桌面相比,虚拟桌面可以增强企业设备的统一管理,资源的动态分配,提高企业的信息安全性。企业采用云桌面能显著降低IT的运维成本和采购成本,能提高服务器的利用率和系统的安全性[1~2]。

云桌面整体解决方案一般由云桌面平台,云终端和连接云平台和云终端的远程桌面协议三部分组成。云桌面的核心是虚拟桌面传输协议,云桌面的终极目标是为用户提供接近传统PC的服务体验。拟桌面协议的优劣直接决定云桌面各项功能的效果和占用网络带宽的情况,目前主流的虚拟化传输协议是SPICE,ICA,PCoIP和RDP等[3~6]。由于SPICE协议完全开放源代码,国内大部分云桌面平台采用该协议来提供云桌面服务。

与传统PC相比,云终端由于CPU性能一般,因此对多媒体处理能力普遍较弱。使用云终端来连接云桌面。当用户播放高清本地视频或者在线视频时,云桌面会存在延时、音画不同步等问题,严重影响了用户体验。

2 虚拟桌面协议分析

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]。

3 SPICE视频流分析

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 SPICE视频流改进方案

4.1 SPICE协议对视频处理的不足

虽然SPICE协议专门针对视频做了优化处理,但是在某些复杂应用场景下,尤其与PC体验相比,还是存在一些不足,主要体现在:

1)SPICE服务端处理视频流使用MJPEG压缩。没有考虑网络带宽的影响,自始至终设置固定的视频播放帧数。如果网络带宽低,视频播放卡顿严重。

2)SPICE服务端对视频进行压缩处理,需要消耗较多的服务端CPU资源。尤其是当服务端有多个虚拟桌面并行进行视频播放时,会严重影响服务端的处理性能,导致终端用户体验不佳。

3)SPICE客户端本地处理多媒体的能力没有利用上,完全依赖服务端的处理。

4.2 视频流处理改进方案

SPICE桌面协议对流媒体数据处理的缺陷,采用流媒体的方法[16],直接将云桌面里面的视频数据发送到用户终端,服务端不进行解码操作,由客户端直接对视频数据进行解码播放。这种方案的优势是一方面释放了服务端的处理视频数据的性能,另一面是充分利用了客户端的多媒体处理能力,基本原理如图4所示。

图4 改进的SPICE协议视频处理

具体实现方式,在虚拟桌面系统中增加一个视频代理模块,在检测到系统中的多媒体播放器有视频要播放时,将播放器中分离后的视频和音频数据截获,这一个过程会保证音视频数据不会在服务端被渲染。音视频数据被截获后,通过SPICE服务端和客户端之间的虚拟通道,发送给客户端。客户端通过专门的视频虚拟通道,获取到音视频数据后,执行视频解码和显示,达到播放视频的目的。

优化方案的最终目的是让终端本地进行视频数据解码和显示,有效释放SPICE服务端的性能消耗,提高了终端用户的体验。

5 结语

本文首先介绍了当前主流桌面传输协议的基本原理,然后详细分析了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日

自主可控的国产化基础办公软件关键技术研究。

金成明,男,硕士,高级工程师,研究方向:电力信息化。李巍,男,硕士,高级工程师,研究方向:电力信息化。李祉岐,男,硕士,工程师,研究方向:信息安全。吴舜,男,硕士,高级工程师,研究方向:面向电力企业的软件定义网络技术。

猜你喜欢
视频流服务端桌面
边缘实时视频流分析系统配置动态调整算法研究
新时期《移动Web服务端开发》课程教学改革的研究
基于三层结构下机房管理系统的实现分析
基于三层结构下机房管理系统的实现分析
桌面装忙
铁路货场智能大门集装箱全景图像采集方法研究
用好Windows 10虚拟桌面
美国视频流市场首现饱和征兆
当灰尘厚厚地落满了桌面