泛云桌面关键技术分析

责任编辑:朱文凤 2022.08.04 08:48 来源:通信世界全媒体

一、背景

云桌面主要是指PC端的桌面系统(如windows)运行在云端,用户在本地通过软终端或者瘦终端作为入口,外接显示器,连接到远程的桌面系统,体验就如同本地电脑一样,整个使用过程中,所有的计算工作在云端完成。除了云桌面,现在基于安卓系统的云手游、云手机、云应用等业务场景,发展也是非常火热,像阿里、腾讯、字节等都在推进布局自己的云化业务。

2022年6月13日,IDC发布的《虚拟客户端计算软件市场半年跟踪报告》显示:2021年虚拟客户端计算软件市场的市场规模达到了3.2亿美元(21.6亿人民币),同比增长25.2%。

image002.jpg

IDC定义的虚拟客户端计算软件市场主要指的是与桌面云/桌面虚拟化技术相关的软件市场,包括了虚拟桌面,应用虚拟化以及其他种类的桌面云/桌面虚拟化技术。这个市场并不是一个新兴市场,但是随着这几年企业工作方式的转型,疫情的影响以及云上DaaS(Desktop as a Service)模式的高速发展,整体市场迸发出了新的活力。

Citrix和VMware作为云桌面市场的全球领导者,在中国同样具有很大的影响力,但是随着近几年国内厂商的崛起,也遇到了较大的挑战。他们通过积极拓展合作伙伴来发展更广阔的商业市场。

在5G以及家用带宽日益提速的背景下,网络大带宽传输已经日趋成熟,对于运营商来说,可以充分利用自身网络通道+IDC机房的双重优势,将用户的终端设备计算能力全量上云,一方面可以终端瘦身,减少用户的投入,一方面发挥运营商的资源优势,提升云端的算力密度和资源利用率,也是为国家的双碳政策贡献力量。

二、发展历史

纵观云桌面的技术演进路线,从两大巨头Citrix和VMware的发展历程(如下图所示)中可看出,它们分别聚焦于一项技术侧重点:Citrix公司是以推流协议起家,在桌面虚拟化的关键核心技术上已经研发储备超过30年之久,推流协议的性能业界第一;而VMware公司则是以虚拟化技术起家,在服务器虚拟化方面的研发储备也超过30年之久,虚拟化解决方案整体市场占比超过90%。

image004.gif

国内云桌面企业从2010年开始陆续发力,多以企业私有云场景入手点。但近些年,国内多家厂商也陆续进入到公有云市场。主流云桌面厂商主要有阿里云、中兴、锐捷、深信服、华为等,其云桌面产品涉及的关键技术有自研、合作、基于开源改造等,但是核心关键技术都包括计算资源云化(虚拟化)、端到端推流(远程显示协议)、网络传输(抗抖动、低时延)、外设适配(USB设备远程接入)。

三、技术架构

经过多年的技术演进,各大厂商的云化整体方案如下图所示:

image006.gif

用户层:用户通过软件终端或者硬件终端连接远程桌面系统;

网络层:在公有云或者私有云网络环境传输数据;

接入层:负责用户信息校验、桌面分配控制、连接、安全控制等;

虚拟桌面/应用池:给用户分配虚拟的桌面系统/应用并关联虚拟资源;

资源池:将硬件层的资源进行虚拟池化管理。

将上述整体方案转换为技术方案,如下图所示:

image008.jpg

从左侧的端、网、云三个层次的厚度即可看出,大部分核心关键技术点都集中在云端,云魔百盒、云游戏、云桌面三个典型应用场景基本可以覆盖当前整体云化能力的各个技术领域,归纳总结其整体流程,如下图所示:

image010.jpg

整个端到端的流程可以总结为流化的过程,主要分为云、端、网三大部分,从技术领域的角度,可总结为计算机资源云化、端到端推流、网络传输、外设适配四大基础能力。

下面分别从云、端、网结合四大基础能力展开详细说明。

(一)云:虚拟化、抓屏、编码(计算资源云化、端到端推流)

1. 虚拟化

主要包括基于ARM架构的虚拟化和X86架构的虚拟化;

虚拟化技术采用KVM+QEMU的技术栈,实现系统级虚拟化;

在应用级虚拟化方面,主要以安卓场景为主,开源的有Anbox,Anbox是一种基于容器的方法,可以在常规的GNU/Linux系统(如Ubuntu)上启动完整的Android系统。换句话说,Anbox可以让你在Linux系统上运行Android,而不用像虚拟化那样缓慢;当然也有厂商自研安卓应用容器化方案,如华为的Kbox;在桌面场景下,其实也是系统虚拟化,只需在串流方面采用窗口串流,对用户屏蔽窗口以外的信息;

当然也有厂商采用硬件的 方式云化,相当于是真机在云端运行,安卓场景下如海马云的ARM阵列,桌面场景下如PC农场(虚拟化高密度主机);

系统/应用虚拟化后,云端如何对这些虚机进行管理呢,还需要一套晚上的虚拟化管理平台,负责对计算资源、虚机等进行调度管理,日常运维;

在时延敏感的游戏场景下,需要考虑GPU虚拟化或者GPU直通,来加速视频编码。

2. 抓屏

桌面场景包括windows和Linux;

windows抓屏技术主要有GDI、BitBlt、DXGI等;

Linux抓屏技术主要有X11、GLX、DRM等;

安卓抓屏技术主要是MediaProjection+VirtualDiaplay;

针对不同的业务场景需要根据具体情况针对性的综合运用以及性能优化。

3. 编码

抓屏后的原始图像编码标准、编码算法、码率控制等这些都是涉及到端到端时延的关键因素;

图像编码标准有YUV、RGB,可以根据具体业务场景和要求选择;

编码算法有MJPEG、H264、H265等;

整个视频编码传输涉及码率、帧率、分辨率三个关键数据,需要根据实际的网络质量动态跳帧这些数据以满足用户的基本使用,实现传输质量自适应。

(二)端:解码、指令收集上传、USB外设接入(端到端推流、外设适配)

1. 解码

对应云端的编码算法,需要匹配相应的解码流程,在低时延、高画质的场景下,需要考虑硬件解码,会提高用户终端设备的成本。

2. 指令收集上传

终端设备上会采集键鼠、手柄等外接设备的按键控制指令并组装成对应的数据协议格式上传云端,由云端系统解析并进行事件响应。

3. USB外设接入

在桌面场景下,为了符合用户对PC端电脑的所有使用场景需求,USB的外设接入适配是必不可少的工作,常见的有U盘、摄像头、麦克风等。不同厂家的云桌面技术栈会存在差异,相应的USB外设能力也层次不齐,与桌面协议强耦合,导致云 桌面的整体能力替换成本巨大。所以外设方面可以采用USB/IP协议来实现,USB/IP在2009年已经合并到Linux Kernel,而且该方案完全跨平台(云电脑平台),与桌面协议完全解耦,灵活可插拔;

在安卓场景下,外设需求相对弱化,外设的类型也会相对单一;

在公有云场景,为了减少前置入口网关设备的投入,可采用NAT内网穿透方案,覆盖私有云和公有云的网络场景。

(三)网:抗弱网环境、低时延传输(网络)

1. 抗抖动

可以采用QUIC UDP的方案,,基于 UDP 实现,握手过程简单,改进了拥塞控制,可以多路复用,同时还具备FEC前向纠错特性,在网络抖动丢包时可以一定程度上保证数据的完整性。

2. 低时延

云化场景的整个链路RTT包括如下步骤:

image012.jpg

其中比较耗时的关键步骤为抓屏、编码、网络传输、解码,所以整体的RTT时延控制不仅仅在网络侧,云和端的图形图像编解码等方面也需要深度优化,降低对应节点的时延。

以上从云、网、端三个方面总结输出了四大基础能力,并对这些核心关键技术点进行了详细的说明,在技术点逐个实现之后,可向下沉淀基础能力,延展到更多其它的云化业务场景,发挥更大的技术价值。

四、总结展望

image014.jpg

如上图所示,作为电信运营商之首的中国移动,以业务需求为导向,落实国家“东数西算”工程部署,优化“4+3+X”数据中心布局,面向京津冀、长三角、粤港澳为代表的东部节点及成渝国家枢纽节点,与呼和浩特、哈尔滨、贵州三大跨省节点,进行算力互补对接,在此背景下,可以充分发挥运营商的网络+计算的强大优势,为云化业务场景的深度演进提供有力支撑。

在资源云化能力、推流能力、网络能力、外设适配能力逐步建成的基础上,依托运营商的资源优势,通过网+云+IDC融合业务对外提供能力,形成连接+算力+能力+应用的一体化服务模式;云化业务场景从系统云化往应用云化逐步演进,提高云端算力密度,降本增效,同时在国产化方面支持硬件和软件的国产化,如以麒麟为代表的国产操作系统(Linux内核)和以鲲鹏为代表的国产硬件,最终实现全架构、全平台、全系统、全应用的云化目标,赋能各行各业。


通信世界网版权及免责声明:
1、凡本网注明“来源:通信世界全媒体”及标有原创的所有作品,版权均属于通信世界网。未经允许禁止转载、摘编及镜像,违者必究。对于经过授权可以转载我方内容的单位,也必须保持转载文章、图像、音视频的完整性,并完整标注作者信息和本站来源。
2、凡本网注明“来源:XXX(非通信世界网)”的作品,均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。
3、如因作品内容、版权和其它问题需要同本网联系的,请在相关作品刊发之日起30日内进行。
发表评论请先登录
...
热点文章
    暂无内容