欢迎光临小豌豆知识网!
当前位置:首页 > 电学技术 > 电通讯技术> 基于虚拟化环境的安全桌面传输协议的实现方法及实现系统独创技术23920字

基于虚拟化环境的安全桌面传输协议的实现方法及实现系统

2021-03-24 10:26:32

基于虚拟化环境的安全桌面传输协议的实现方法及实现系统

  技术领域

  本发明涉及云计算领域,尤其涉及一种基于虚拟化环境的安全桌面传输协议的实现方法以及一种基于虚拟化环境的安全桌面传输协议的实现系统。

  背景技术

  近十年来虚拟化技术与云计算结合,带来了全新的资源整合和使用模式,激发了巨大的技术变革,引起了办公模式大规模创新。

  桌面云是一种提供桌面服务的新方式,远程终端设备通过网络来访问云端的应用程序,实现与PC一致的使用体验。云桌面通过云桌面传输协议向用户交付属于自己的计算与存储能力、个性化的应用与数据内容,因此传输协议决定着云桌面的效率和展现效果。

  开源云桌面传输协议即SPICE协议(简单协议独立计算环境,Simple Protocolfor Independent Computing Environment的简称),能够提供高性能、能动态自适应的桌面交付,其独特的技术架构和应用特性,能够为客户提供性能较好的体验。SPICE采用MJPEG压缩视频,MJPEG算法压缩率低,不考虑帧间图像变化,大量冗余信息被重复存储,占用网络带宽高,丢帧现象较重,实时性差,不适合视频图像的网络传输。

  发明内容

  本发明的目的在于提供一种安全多通道增强协议(SMEP,Secure MultichannelEnhancement Protocol),其是针对云桌面场景研发的专用桌面传输协议,能够适用于云桌面各种应用场景下的需求,是一套高性能、可动态自适应的远程网络通信组件,通过SMEP协议结合底层虚拟化能够为用户提供类似本地PC的虚拟桌面服务,拥有卓越的图像处理性能,带来强大功能、高分辨率视频和丰富外设的VDI体验。

  本发明的第一方面提供了一种基于虚拟化环境的安全桌面传输协议的实现方法,其包括:

  虚拟机通过部署的代理程序检测所述虚拟机使用的显卡模式,基于所述显卡模式选取图像处理设备对图像数据进行预处理,并将预处理后的图像数据传输到运行所述虚拟机的宿主机上;

  所述宿主机通过部署的服务端程序从所述虚拟机接收图像数据,并在对接收到的图像数据进行二次加工处理后通过网络将其传输到终端设备上;

  所述终端设备通过部署的客户端程序从所述宿主机上接收图像数据,并在对接收到的图像数据进行处理后将其显示出来。

  根据本发明的一个实施例,检测所述虚拟机使用的显卡模式包括:自动检测所述虚拟机使用的是物理显卡还是软显卡。

  根据本发明的一个实施例,基于所述显卡模式选取图像处理设备对图像数据进行预处理包括:在所述虚拟机使用所述物理显卡的情况下,选取所述物理显卡作为图像处理设备对3D图像数据进行预处理;在所述虚拟机使用所述软显卡的情况下,选取所述软显卡作为图像处理设备对2D图像数据进行预处理。

  根据本发明的一个实施例,所述物理显卡包括GPU虚拟化和GPU透传,所述软显卡包括软GPU。

  根据本发明的一个实施例,所述虚拟机预处理的图像清晰度根据私有云环境下的网络状况和用户自身诉求进行配置。

  根据本发明的一个实施例,所述宿主机和所述终端设备之间通过多个通道传输通信,所述多个通道至少包括:用于传输2D图形图像命令以及对应的图像和视频数据流的2D图像显示通道和用于传输3D图形图像命令以及对应的图像和视频数据流的3D图像显示通道。

  根据本发明的一个实施例,所述3D图像显示通道基于所述虚拟机使用的所述显卡模式选择性地开启或关闭,在所述虚拟机使用物理显卡的情况下,所述3D图像显示通道自动开启,在所述虚拟机使用软显卡的情况下,所述3D图像显示通道自动关闭。

  根据本发明的一个实施例,所述终端设备与所述宿主机在完成安全的互认证后建立可信的加密传输通道,所述图像数据在所述可信的加密传输通道中传输。

  根据本发明的一个实施例,所述虚拟机对图像数据的预处理包括图像类型识别、标识、转码、编码、加密,所述终端设备对图像数据的处理包括解密、解码、转码。

  本发明的第二方面提供了一种基于虚拟化环境的安全桌面传输协议的实现系统,其包括:

  部署了虚拟化环境的服务器;

  在所述服务器上运行的多个虚拟机;以及

  通过网络与所述服务器连接的终端设备,

  其中:

  每个所述虚拟机上部署有代理程序,配置为检测所述虚拟机使用的显卡模式,基于所述显卡模式选取图像处理设备对图像数据进行预处理,并将预处理后的图像数据传输到所述服务器上,

  所述服务器上部署有服务端程序,配置为从所述虚拟机接收图像数据,并在对接收到的图像数据进行二次加工处理后将其传输到所述终端设备上,

  在所述终端设备上部署有客户端程序,配置为从所述服务器接收图像数据,并在对接收到的图像数据进行处理后将其显示出来。

  采用上述技术方案,本发明至少具有如下有益效果:

  1.本发明提供的SMEP协议能够适用于云桌面各种应用场景下的需求,能够为用户提供类似本地PC的虚拟桌面服务,拥有卓越的图像处理性能,带来强大功能、高分辨率视频和丰富外设的VDI体验。

  2.本发明提供的SMEP协议能够自动检测虚拟机使用的显卡模式,针对不同的显卡模式自动采用不同的图形图像处理方式,能够实现显卡自适应。

  3.本发明提供的SMEP协议支持对清晰度的配置,可根据私有云环境下的网络状况和用户自身诉求进行全局或单个虚拟机的配置,以满足客户个性化的需求。

  4.本发明提供的SMEP协议利用多通道技术实现了数据的分类传输,有效避免了不同类型数据之间的干扰,保证了数据安全隔离,并能够通过通道管理控制实现基于优先级的动态传输策略,提高实时性和体验性。

  5.本发明提供的SMEP协议在保证传输像素级图像的基础上增加了传输通道的加密措施,保证了云桌面的安全使用。

  6.本发明提供的SMEP协议能够有效的利用服务端的vGPU硬编码能力和终端GPU的硬解码能力,从而提高了编解码效率,降低服务端和终端的CPU压力,能够在一定程度上提升服务端的虚拟机密度和提高终端本地操作体验。

  附图说明

  为了更清楚地说明本发明实施例的技术方案,下面将对实施例所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

  图1示出了本发明提供的基于虚拟化环境的安全桌面传输协议的实现方法的过程流程图;

  图2示出了本发明提供的SMEP协议的示意性架构图。

  具体实施方式

  为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。

  本发明的第一方面涉及一种基于虚拟化环境的安全桌面传输协议的实现方法,如图1所示,该实现方法100包括:步骤102:虚拟机通过部署的代理程序检测虚拟机使用的显卡模式,基于显卡模式选取图像处理设备对图像数据进行预处理,并将预处理后的图像数据传输到运行虚拟机的宿主机上;步骤104:宿主机通过部署的服务端程序以从虚拟机接收图像数据,并在对接收到的图像数据进行二次加工处理后通过网络将其传输到终端设备上;步骤106:终端设备通过部署客户端程序从宿主机上接收图像数据,并在对接收到的图像数据进行处理后将其显示出来。

  其中,步骤102中检测虚拟机使用的显卡模式包括自动检测虚拟机使用的是物理显卡还是软显卡。在虚拟机使用物理显卡的情况下,选取物理显卡作为图像处理设备对3D图像数据进行预处理;在虚拟机使用软显卡的情况下,选取软显卡作为图像处理设备对2D图像数据进行预处理。

  其中,物理显卡包括GPU(图形处理器)虚拟化和GPU透传,软显卡包括软GPU。

  其中,虚拟机预处理的图像清晰度可以根据私有云环境下的网络状况和用户自身诉求进行配置。

  其中,宿主机和终端设备之间通过多个通道传输通信,多个通道包括:用于传输控制和配置指令的主通道:用于传输2D图形图像命令以及对应的图像和视频数据流的2D图像显示通道:用于传输3D图形图像命令以及对应的图像和视频数据流的3D图像显示通道:用于键盘和鼠标的输入的输入通道:用于发送和接受指令设备的坐标以及光标的形状的光标通道:用于客户端从服务器端接收音频数据进行播放的录音通道:用于采集客户端的音频数据并发送到服务器端的回放通道:用于USB外设的重定向和数据传输的USB通道。

  其中,3D图像显示通道基于虚拟机使用的显卡模式选择性地开启或关闭。具体地,虚拟机上的代理程序自动检测虚拟机使用的显卡模式之后将检测结果传送到宿主机上的服务端程序,服务端程序基于检测结果选择性地开启或关闭3D图像显示通道:在虚拟机使用物理显卡的情况下,3D图像显示通道自动开启;在虚拟机使用软显卡的情况下,3D图像显示通道自动关闭。

  其中,终端设备与宿主机在完成安全的互认证后建立可信的加密传输通道,图像数据在所述可信的加密传输通道中传输。

  其中,虚拟机对图像数据的预处理包括图像类型识别、标识、转码、编码、加密,终端设备对图像数据的处理包括解密、解码、转码。

  以下参照图2具体说明本发明提供的基于虚拟化环境的SMEP协议的实现方法。

  SMEP协议主要包括三部分:SMEP Server:服务端程序,部署集成在虚拟化主机(即,宿主机,host)上,属于虚拟化层的一部分,作为虚拟机的后端程序存在;SMEP Client:客户端程序,部署集成在终端(client)上,属于云桌面客户端的一部分,作为云桌面终端侧图像处理的核心部分;SMEP Agent:代理程序,安装部署在虚拟机(VM)的操作系统(GuestOS)内部,实现与服务端程序的图像数据通信。

  SMEP协议具有以下特点:

  1、显卡自适应

  SMEP协议能够自动检测虚拟机使用的显卡模式,判断使用的是物理显卡(GPU虚拟化(vGPU)或GPU透传(pGPU))还是软显卡(soft gpu),针对不同的显卡模式自动采用不同的图形图像处理方式。使用物理显卡情况下,通过物理显卡对图像数据做处理,采用软显卡的情况下,只对2D图形图像数据进行处理。

  2、清晰度可配置

  由于桌面传输协议是通过网络将服务端的图形图像数据传输到终端本地处理显示,所以清晰度对网络的传输质量有极高的依赖性(尤其是图像变化快速的场景),而对于私有云而言,完全采用一种清晰度或完全自适应的方式往往不能取得理想的效果,SMEP支持对清晰度的配置,可根据私有云环境下的网络状况和用户自身诉求进行全局或单个虚拟机的配置,以满足客户个性化的需求。

  3、多通道传输

  服务端与客户端的数据通信通过通道传输(基于TCP、UDP协议),每个通道都是针对特定类型的数据来进行传输,主要分为以下几种:

  主通道:用于传输控制和配置指令的通道;

  2D图像显示通道:传输2D图形图像命令以及对应的图像和视频数据流;

  3D图像显示通道:传输3D图形图像命令以及对应的图像和视频数据流;

  输入通道:用于键盘和鼠标的输入;

  光标通道:发送和接受指令设备的坐标以及光标的形状;

  录音通道:此通道用于客户端从服务器端接收音频数据进行播放;

  回放通道:采集客户端的音频数据,发送到服务器端;

  USB通道:用于USB外设的重定向和数据传输;

  利用多通道技术实现了数据的分类传输,有效避免了不同类型数据之间的干扰,保证了数据安全隔离,并能够通过通道管理控制实现基于优先级的动态传输策略,提高实时性和体验性。

  4、加密传输

  云桌面天然具备一定的安全优势,即数据存放在云端,用户侧的终端只是虚拟机操作系统画面的显示,然而这只保证了终端不留密(数据不落在终端本地),但桌面图像在传输过程中仍然可能通过某种技术手段截获。SMEP协议在保证传输像素级图像的基础上增加了传输通道的加密措施,客户端与服务端在完成安全的互认证后建立可信的加密传输通道,所有的图形图像数据和控制指令均在安全通道中传输,保证了云桌面的安全使用。

  5、硬编解码

  SMEP能够有效的利用服务端的vGPU硬编码能力和终端GPU的硬解码能力,从而提高了编解码效率,降低服务端和终端的CPU压力,能够在一定程度上提升服务端的虚拟机密度和提高终端本地操作体验。通常云桌面传输协议为了降低传输数据量而采用了压缩比更高的压缩算法,这样往往增加了服务端和终端的CPU压力而取得适得其反的体验效果,SMEP通过利用硬编解码技术有效的避免了此问题。

  3D桌面技术的实现需要依赖于物理显卡,包括显卡直通和显卡虚拟化两种。针对显卡虚拟化,服务端支持AMD显卡以及Nvidia Tesla系列显卡。显卡虚拟化就是将显卡进行切片,并将这些显卡时间片分配给虚拟机使用的过程。支持显卡虚拟化的显卡一般可以根据需要切分成不同的规格的时间片,因此可以分配给多台虚拟机使用。

  虚拟机QEMU(虚拟操作系统模拟器)有了vGPU后,vGPU接管虚拟机的图像处理和显示输出,此时软GPU将处于不工作的状态,SMEP协议的Agent模块部分会进行vGPU和软GPU状态的监测并保证虚拟机始终能够有正确的显示输出设备和获得正确的图像数据。在具有vGPU的情况下,SMEP Agent会从vGPU中获得图像数据,并自动开启3D图形图像传输通道,在经过对图像数据的一系列预处理(包括图像类型识别、标识、转码、编码、加密等等)后将经由专用图像通道传输到宿主机的SMEP Server模块,SMEP Server模块再对数据进行二次的加工处理后通过3D图形图像传输通道传输到终端上的客户端组件,终端上的客户端组件收到图像数据后经过一系列处理(包括解密、解码、转码等等)后将图像显示出来。

  vGPU的图像数据在SMEP Agent预处理阶段会对图像按照传输的要求进行分析并进行优化处理,以满足对图形指令处理、图像清晰度和带宽占用等方面的要求,除vGPU的图像数据外的其它数据和指令经由其它通道在客户端和服务端以及与虚拟机内部进行通信。

  本发明的第二方面涉及一种基于虚拟化环境的安全桌面传输协议的实现系统,其包括:部署了虚拟化环境的服务器;在服务器上运行的多个虚拟机;以及通过网络与服务器连接的终端设备。其中,每个虚拟机上部署有代理程序,配置为检测虚拟机使用的显卡模式,基于显卡模式选取图像处理设备对图像数据进行预处理,并将预处理后的图像数据传输到服务器上;服务器上部署有服务端程序,配置为从虚拟机接收图像数据,并在对接收到的图像数据进行二次加工处理后将其传输到终端设备上;在终端设备上部署有客户端程序,配置为从服务器接收图像数据,并在对接收到的图像数据进行处理后将其显示出来。

  综上所述,本发明提供的SMEP协议能够适用于云桌面各种应用场景下的需求,能够为用户提供类似本地PC的虚拟桌面服务,拥有卓越的图像处理性能,带来强大功能、高分辨率视频和丰富外设的VDI体验。

  最后需要说明的是,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。所述计算机程序的实施例,可以达到与之对应的前述任意方法实施例相同或者相类似的效果。

  此外,典型地,本发明实施例公开所述的装置、设备等可为各种电子终端设备,例如手机、个人数字助理(PDA)、平板电脑(PAD)、智能电视等,也可以是大型终端设备,如服务器等,因此本发明实施例公开的保护范围不应限定为某种特定类型的装置、设备。本发明实施例公开所述的客户端可以是以电子硬件、计算机软件或两者的组合形式应用于上述任意一种电子终端设备中。

  此外,根据本发明实施例公开的方法还可以被实现为由CPU执行的计算机程序,该计算机程序可以存储在计算机可读存储介质中。在该计算机程序被CPU执行时,执行本发明实施例公开的方法中限定的上述功能。

  此外,上述方法步骤以及系统单元也可以利用控制器以及用于存储使得控制器实现上述步骤或单元功能的计算机程序的计算机可读存储介质实现。

  此外,应该明白的是,本文所述的计算机可读存储介质(例如,存储器)可以是易失性存储器或非易失性存储器,或者可以包括易失性存储器和非易失性存储器两者。作为例子而非限制性的,非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦写可编程ROM(EEPROM)或快闪存储器。易失性存储器可以包括随机存取存储器(RAM),该RAM可以充当外部高速缓存存储器。作为例子而非限制性的,RAM可以以多种形式获得,比如同步RAM(DRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据速率SDRAM(DDR SDRAM)、增强SDRAM(ESDRAM)、同步链路DRAM(SLDRAM)以及直接Rambus RAM(DRRAM)。所公开的方面的存储设备意在包括但不限于这些和其它合适类型的存储器。

  本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。为了清楚地说明硬件和软件的这种可互换性,已经就各种示意性组件、方块、模块、电路和步骤的功能对其进行了一般性的描述。这种功能是被实现为软件还是被实现为硬件取决于具体应用以及施加给整个系统的设计约束。本领域技术人员可以针对每种具体应用以各种方式来实现所述的功能,但是这种实现决定不应被解释为导致脱离本发明实施例公开的范围。

  结合这里的公开所描述的各种示例性逻辑块、模块和电路可以利用被设计成用于执行这里所述功能的下列部件来实现或执行:通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑器件、分立门或晶体管逻辑、分立的硬件组件或者这些部件的任何组合。通用处理器可以是微处理器,但是可替换地,处理器可以是任何传统处理器、控制器、微控制器或状态机。处理器也可以被实现为计算设备的组合,例如,DSP和微处理器的组合、多个微处理器、一个或多个微处理器结合DSP和/或任何其它这种配置。

  结合这里的公开所描述的方法或算法的步骤可以直接包含在硬件中、由处理器执行的软件模块中或这两者的组合中。软件模块可以驻留在RAM存储器、快闪存储器、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移动盘、CD-ROM、或本领域已知的任何其它形式的存储介质中。示例性的存储介质被耦合到处理器,使得处理器能够从该存储介质中读取信息或向该存储介质写入信息。在一个替换方案中,所述存储介质可以与处理器集成在一起。处理器和存储介质可以驻留在ASIC中。ASIC可以驻留在用户终端中。在一个替换方案中,处理器和存储介质可以作为分立组件驻留在用户终端中。

  在一个或多个示例性设计中,所述功能可以在硬件、软件、固件或其任意组合中实现。如果在软件中实现,则可以将所述功能作为一个或多个指令或代码存储在计算机可读介质上或通过计算机可读介质来传送。计算机可读介质包括计算机存储介质和通信介质,该通信介质包括有助于将计算机程序从一个位置传送到另一个位置的任何介质。存储介质可以是能够被通用或专用计算机访问的任何可用介质。作为例子而非限制性的,该计算机可读介质可以包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储设备、磁盘存储设备或其它磁性存储设备,或者是可以用于携带或存储形式为指令或数据结构的所需程序代码并且能够被通用或专用计算机或者通用或专用处理器访问的任何其它介质。此外,任何连接都可以适当地称为计算机可读介质。例如,如果使用同轴线缆、光纤线缆、双绞线、数字用户线路(DSL)或诸如红外线、无线电和微波的无线技术来从网站、服务器或其它远程源发送软件,则上述同轴线缆、光纤线缆、双绞线、DSL或诸如红外线、无线电和微波的无线技术均包括在介质的定义。如这里所使用的,磁盘和光盘包括压缩盘(CD)、激光盘、光盘、数字多功能盘(DVD)、软盘、蓝光盘,其中磁盘通常磁性地再现数据,而光盘利用激光光学地再现数据。上述内容的组合也应当包括在计算机可读介质的范围内。

  以上是本发明公开的示例性实施例,但是应当注意,在不背离权利要求限定的本发明实施例公开的范围的前提下,可以进行多种改变和修改。根据这里描述的公开实施例的方法权利要求的功能、步骤和/或动作不需以任何特定顺序执行。此外,尽管本发明实施例公开的元素可以以个体形式描述或要求,但除非明确限制为单数,也可以理解为多个。

《基于虚拟化环境的安全桌面传输协议的实现方法及实现系统.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式(或pdf格式)