论文部分内容阅读
Spice协议作为目前主流的桌面虚拟化协议,具备开源、跨平台、支持多种外设和丰富的多媒体的优势,用户能够享受到与传统PC一致的体验。但是Spice协议目前仍然存在着诸多问题亟待解决,例如带宽占用过大,视频区域识别效果不佳,画面容易卡顿。针对上述问题,本文对Spice协议进行了深入的研究和分析,提出了基于细粒度屏幕划分的图像命令优化方法和使用Quic协议作为网络传输协议的方法并实现了Quic-Spice协议,具体的研究工作主要包括以下几个方面:首先针对Spice协议带宽占用过大的问题,本文提出了基于细粒度屏幕划分的图像命令优化方法。该方法包含合并图像区域和识别视频区域两部分。在合并图像区域部分中服务器每秒发送固定次数的图像数据,将两次发送间隔内的数据按照图像区域进行合并,只保留最新的数据。在识别视频区域部分中通过对图像区域的变化频率来快速识别视频区域,并借助矫正区域解决视频窗口变化过程中视频区域误识别的问题。经实验表明,该算法能够有效降低带宽的占用,而且能够以更短的时间识别出视频区域,在识别过程中保持带宽占用的平滑变化,避免出现带宽占用陡然增加再陡然减少的现象。其次针对在网络不佳的情况下画面易延迟的现象,本文选择基于UDP协议的Quic协议作为Spice协议的网络传输协议,并对Quic协议进行改进。首先将相互独立的图像命令封装进不同的报文里,使得客户端收到一个报文就可以处理一个图像命令,减少队头阻塞的现象,其次根据图像区域和发送时间戳代替序列号来进行报文确认和超时重传,最后当连接的可用窗口不足时,使用图像区域合并方法对缓存的图像数据进行整理,避免缓冲区的空闲空间不足。经实验表明,该方法能够使图像命令更快地被客户端接收和处理,有效提高了数据传输的效率。最后本文利用上述两个解决方案,基于Spice协议实现了Quic-Spice协议。然后在富交互和视频播放两种场景下对它们进行性能测试,将网络负载和数据传输延迟作为测试指标。经实验表明,Quic-Spice协议相比于Spice协议,不仅占用更少的带宽,而且能够更快地将图像数据传输到客户端。