远程图形传输系统、方法及云服务器技术方案

技术编号:19341430 阅读:39 留言:0更新日期:2018-11-07 13:38
本发明专利技术公开了一种远程图形传输显示系统、方法及云服务器,云服务器上的虚拟机利用Hook程序对加载到该虚拟机上的GPU显存中、供与虚拟机相关联的客户端显示用的图形进行捕获,所捕获的图形传输客户端进行显示。这样,在云服务器中的具有GPU资源的虚拟机的桌面画面就可以在网络可达的客户端进行显示,并且可以充分利用GPU资源进行高帧率图形输出,以满足使用要求更高的使用场景需求。

Remote graphic transmission system, method and cloud server

The invention discloses a remote graphics transmission display system, a method and a cloud server. The virtual machine on the cloud server captures the graphics loaded into the GPU display memory of the virtual machine for client display associated with the virtual machine by using the Hook program, and the captured graphics transmission client displays the captured graphics. In this way, the desktop pictures of virtual machines with GPU resources in cloud servers can be displayed on the client accessible to the network, and the high frame rate graphics output can be made full use of GPU resources to meet the higher requirements of using scenarios.

【技术实现步骤摘要】
远程图形传输系统、方法及云服务器
本专利技术属于计算机系统领域,具体涉及一种远程图形传输显示系统、方法及云服务器。
技术介绍
远程图形/桌面协议将远程计算机上的图形/桌面传送到本地设备进行显示,同时将本地设备的操作返回到远程计算机进行响应。远程图形/桌面协议为用户在本地访问远程计算机提供了便利,例如,用户可以使用Windows远程桌面的Microsoft桌面协议(RDP,RemoteDesktopProtocol)访问远程的windows计算机等。随着云计算的兴起,此种类型协议的应用场景扩大到虚拟桌面(VDI,VirtualDesktopInfrastructure),可以将云服务器上的虚拟机中的图形/桌面交付给本地客户端进行处理和使用。免费的远程图形协议有MicrosoftRDP、独立计算环境简单协议(SPICE,SimpleProtocolforIndependentComputingEnvironment)、虚拟网络控制台(VNC,VirtualNetworkConsole)、TeamViewer、腾讯QQ远程桌面等。商业版的远程图形协议有CitrixICA、VMwareBlast、HuaweiHDP等。这些协议分别应用于各自的虚拟桌面产品中,其中CitrixXenDesktop、VMwareHorizon、华为FusionCloud占据主流地位。故实际商业用途中,除了以上提到的几家厂商外,都需要研发自己的远程传输协议,并且该协议还必须支持3D显示,才能将GPU显存中的图形传送到客户端进行显示。云服务器中的虚拟机通过虚拟化方式使用图形处理器(GPU,GraphicsProcessingUnit),关于GPU的虚拟化方式,目前通常采用的是:基于NVIDIAGRID的vGPU虚拟化方案。目前,主要虚拟化产品厂商Citrix、VMware和华为均采用这一虚拟化方式,基于NVIDIA生产的GridK1/K2,TeslaM6/M10/M60,TeslaP4/P6/P40/P100等型号的GPU,通过虚拟化管理层组件(Hypervisor)完成GPU资源的切分,将GPU切分成一定数量的vGPU,通过时分复用的方式将GPU交付给多台虚拟机使用。Hypervisor也叫虚拟机监视器(VirtualMachineMonitor),是一种运行在物理服务器和操作系统之间的中间软件层,它可以协调访问服务器上的所有物理设备和虚拟机,从而允许多个操作系统和应用共享一套基础物理硬件。当云服务器启动并执行Hypervisor时,它会给每台虚拟机分配适量的内存、CPU、网络和磁盘,并加载所有虚拟机的客户操作系统。从NVIDIA在2013年首次推出vGPU方案到现在,NVIDIA只为XenServer和ESXi这两种虚拟化平台提供了配套的“管理软件”,这两种虚拟化平台分别对应的就是Citrix、VMware和华为的虚拟化产品,而目前市场上的其他虚拟化产品厂商无法使用NVIDIAGRID的vGPU方案,并且,由于是通过时分复用的方式将GPU交付给多台虚拟机使用,每个用户分得的GPU能力会损耗和被限制,存在图形延迟和图形帧率限制。并且,以前的虚拟机使用的由软件虚拟出的实际不存在的逻辑显卡,所有的图像信息被打包给这个虚拟显卡,但是虚拟显卡的命令是由CPU执行的,所以说实际上你运行虚拟机的时候图像信息和其他命令都是交给CPU的,效率很差。上述现有技术存在以下不足之处:对于采用vGPU方案的虚拟化产品而言,通过软件的时分复用的方式将单个GPU显存平均分给每个用户,实际上每个虚拟机并不能完全利用单个GPU的性能,造成工作站的工作效率不高;并且,一个GPU核心被多个用户并发访问,在当前PCI-e总线带宽和编码技术的限制下,每路编码的图形速率(也就是vGPU的帧率)通常被限制在60Hz以内,无法满足更高帧率的使用场景的需求。
技术实现思路
本专利技术的目的是提供一种远程图形传输系统、方法及云服务器,以提高GPU利用率、满足高帧率的使用场景需求。本专利技术的上述技术目的是通过以下技术方案得以实现的:一种远程图形传输系统,包括云服务器和客户端,其特征在于:所述云服务器用于运行虚拟机,以通过挂钩Hook程序对加载到所述虚拟机上的图形处理器GPU显存中的、供与所述虚拟机相关联的客户端显示用的图形进行捕获;所述客户端用于对从所述虚拟机传来的所述图形进行显示。优选地,所述云服务器包括:捕获模块,用于通过Hook程序对加载到所述虚拟机上的所述GPU显存中的、供与所述虚拟机相关联的客户端显示用的图形进行捕获;发送模块,用于将所述捕获模块所捕获的所述图形发送到所述客户端进行显示;以及,代理模块,用于配置所述图形的输出参数。优选地,所述输出参数为:根据与所述虚拟机相关联的所述客户端显示能力所设定的所述GPU的帧率。优选地,所述GPU的帧率大于60赫兹。优选地,所述服务器还包括:虚拟化管理层组件,用于在云服务器的硬件设备与所述虚拟机的操作系统之间实现所述硬件设备物理资源的抽象以及对所述虚拟机的管理。优选地,所述客户端还用于与所述虚拟化管理层组件通信以交互控制信息、协商并配置工作参数。优选地,所述Hook程序为DirectXHook或OpenGLHook程序;所述图形为远程桌面图形。本专利技术还提供一种云服务器,所述云服务器用于运行虚拟机,所述云服务器包括:捕获模块,用于通过Hook程序对加载到所述虚拟机上的GPU显存中的、供与所述虚拟机相关联的客户端显示用的图形进行捕获;以及,发送模块,用于将所述捕获模块所捕获的所述图形发送到所述客户端进行显示。优选地,所述图形的输出参数为:根据与所述虚拟机相关联的所述客户端显示能力所设定的所述GPU的帧率,所述GPU的帧率大于60赫兹,所述Hook程序为DirectXHook或OpenGLHook程序;所述图形为远程桌面图形。本专利技术还提供一种远程图形传输方法,包括:运行于云服务器上的虚拟机通过hook程序对加载到所述虚拟机上的GPU显存中的、供与所述虚拟机相关联的客户端显示用的图形进行捕获;所述云服务器将所捕获的所述图形传输至所述客户端;所述客户端对所述远程桌面图形进行显示。本专利技术具有以下有益效果:提供一种远程图形传输显示系统、方法及云服务器,云服务器上的虚拟机利用Hook程序对加载到该虚拟机上的GPU显存中、供与虚拟机相关联的客户端显示用的图形进行捕获,所捕获的图形传输客户端进行显示。这样,在云服务器中的具有GPU资源的虚拟机的桌面画面就可以在网络可达的客户端进行显示,并且可以充分利用GPU资源进行高帧率图形输出,以满足使用要求更高的使用场景需求。附图说明图1示出了本专利技术实施例的远程图形传输系统的整体结构示意图;图2示出了本专利技术实施例的远程图形传输系统的具体结构示意图;图3示出了本专利技术实施例的通过Hook的方式对GPU显存中的图形进行捕获的流程示意图。图4示出了本专利技术实施例的远程图形传输方法的流程示意图。具体实施方式以下结合附图和实施例对本专利技术作进一步详细说明。本专利技术实施例能够基于NVIDIA和AMD的所有类型GPU实现GPU直通,比如GeForce系列、Quadro系列和Tesla系列GPU,获取云服务器中这些GPU显存中的图形,然后本文档来自技高网
...

【技术保护点】
1.一种远程图形传输系统,包括云服务器和客户端,其特征在于:所述云服务器用于运行虚拟机,以通过挂钩Hook程序对加载到所述虚拟机上的图形处理器GPU显存中的、供与所述虚拟机相关联的客户端显示用的图形进行捕获;所述客户端用于对从所述虚拟机传来的所述图形进行显示。

【技术特征摘要】
1.一种远程图形传输系统,包括云服务器和客户端,其特征在于:所述云服务器用于运行虚拟机,以通过挂钩Hook程序对加载到所述虚拟机上的图形处理器GPU显存中的、供与所述虚拟机相关联的客户端显示用的图形进行捕获;所述客户端用于对从所述虚拟机传来的所述图形进行显示。2.根据权利要求1所述的远程图形传输系统,其特征在于,所述云服务器包括:捕获模块,用于通过Hook程序对加载到所述虚拟机上的所述GPU显存中的、供与所述虚拟机相关联的客户端显示用的图形进行捕获;发送模块,用于将所述捕获模块所捕获的所述图形发送到所述客户端进行显示;以及,代理模块,用于配置所述图形的输出参数。3.根据权利要求2所述的远程图形传输系统,其特征在于,所述输出参数为:根据与所述虚拟机相关联的所述客户端显示能力所设定的所述GPU的帧率。4.根据权利要求3所述的远程图形传输系统,其特征在于,所述GPU的帧率大于60赫兹。5.根据权利要求2所述的远程图形传输系统,其特征在于,所述服务器还包括:虚拟化管理层组件,用于在云服务器的硬件设备与所述虚拟机的操作系统之间实现所述硬件设备物理资源的抽象以及对所述虚拟机的管理。6.根据权利要求4所述的远程图形传输系统,其特...

【专利技术属性】
技术研发人员:范文一孙长宝马龙飞
申请(专利权)人:北京泽塔云科技股份有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1