CN113672318A - 虚拟机的桌面图像数据的传输方法和装置及电子设备 - Google Patents

虚拟机的桌面图像数据的传输方法和装置及电子设备 Download PDF

Info

Publication number
CN113672318A
CN113672318A CN202010410975.7A CN202010410975A CN113672318A CN 113672318 A CN113672318 A CN 113672318A CN 202010410975 A CN202010410975 A CN 202010410975A CN 113672318 A CN113672318 A CN 113672318A
Authority
CN
China
Prior art keywords
virtual machine
image data
desktop image
client
preset
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202010410975.7A
Other languages
English (en)
Inventor
张衡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Kingsoft Cloud Network Technology Co Ltd
Original Assignee
Beijing Kingsoft Cloud Network Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Kingsoft Cloud Network Technology Co Ltd filed Critical Beijing Kingsoft Cloud Network Technology Co Ltd
Priority to CN202010410975.7A priority Critical patent/CN113672318A/zh
Priority to PCT/CN2021/092709 priority patent/WO2021228032A1/zh
Publication of CN113672318A publication Critical patent/CN113672318A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • G06F9/452Remote windowing, e.g. X-Window System, desktop virtualisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明提供了虚拟机的桌面图像数据的传输方法和装置及电子设备,能够在虚拟机中按照预设的时间间隔抓取经预设虚拟显卡渲染处理后的虚拟机的桌面图像数据,并将桌面图像数据存储至PCI设备中预设的数据缓冲区;如果监测到客户端发送的连接请求,获取数据缓冲区中存储的桌面图像数据;将桌面图像数据发送至客户端,以使客户端显示桌面图像数据;其中,PCI设备是预先在虚拟机中注册的,可以作为桌面图像数据传输服务的数据来源,因此,可以通过该PCI设备实现对高性能虚拟显卡渲染的图像数据进行存储,并传输至客户端处,实现与客户端进行高分辨率桌面图像数据的传输,不仅提高了客户端的显示效果,也提高了用户的体验度。

Description

虚拟机的桌面图像数据的传输方法和装置及电子设备
技术领域
本发明涉及云服务器技术领域,尤其是涉及虚拟机的桌面图像数据的传输方法和装置及电子设备。
背景技术
目前,随着云计算技术的飞速发展,桌面云作为一种新型的计算环境,得到了广泛的使用。桌面云通过在虚拟机中安装桌面操作系统,然后在终端上连接虚拟机,可以获得接近实体电脑的使用体验,为企业和个人用户提供了经济高效的桌面解决方案。
虚拟机桌面的显示效果是桌面云方案的主要指标之一,使用显卡虚拟化技术,可以大大提高虚拟机的显示性能,使得虚拟机具备了进行专业图形计算和渲染的能力,但也对虚拟显示终端方案的处理能力提出了更高要求。现有的客户端传输协议方案大都支持较低分辨率桌面图像的传输,不支持显卡硬件加速,导致传输较慢,影响了用户的体验度。
发明内容
有鉴于此,本发明的目的在于提供虚拟机的桌面图像数据的传输方法和装置及电子设备,支持显卡硬件加速,可以实现高分辨率桌面图像数据的传输,从而提高了用户的体验度。
第一方面,本发明实施例提供了一种虚拟机的桌面图像数据的传输方法,虚拟机中注册有PCI设备,所述虚拟机通过预设的传输服务与客户端通信,所述方法包括:
在所述虚拟机中按照预设的时间间隔抓取经预设虚拟显卡渲染处理后的所述虚拟机的桌面图像数据;
将所述桌面图像数据存储至所述PCI设备中预设的数据缓冲区;
如果监测到所述客户端发送的连接请求,获取所述数据缓冲区中存储的所述桌面图像数据;
将所述桌面图像数据发送至所述客户端,以使所述客户端显示所述桌面图像数据。
结合第一方面,本发明实施例提供了第一方面的第一种可能的实施方式,其中,所述方法还包括:
如果监测到所述虚拟机的启动信号,加载所述PCI设备的驱动程序,以在所述虚拟机中注册所述PCI设备;以及,划分所述PCI设备的内存区,并将所述PCI设备的内存区映射至所述虚拟机的操作系统中,以提供所述PCI设备的数据缓冲区。
结合第一方面的第一种可能的实施方式,本发明实施例提供了第一方面的第二种可能的实施方式,其中,将所述PCI设备的内存区映射至所述虚拟机的操作系统中之后,所述方法还包括:
将所述虚拟机中所述传输服务的数据来源切换至所述PCI设备的数据缓冲区,以便于从所述数据缓冲区获取所述桌面图像数据。
结合第一方面,本发明实施例提供了第一方面的第三种可能的实施方式,其中,所述虚拟机中按照预设的时间间隔抓取经预设虚拟显卡渲染处理后的所述虚拟机的桌面图像数据的步骤包括:
当监测到所述虚拟机开机自动运行之后,通过预设的桌面图像抓取控件按照预设的时间间隔抓取经预设虚拟显卡渲染处理后的所述虚拟机的桌面图像数据。
结合第一方面,本发明实施例提供了第一方面的第四种可能的实施方式,其中,所述虚拟机为KVM虚拟机。
结合第一方面,本发明实施例提供了第一方面的第五种可能的实施方式,其中,所述传输服务为基于SPICE协议,或者VNC协议的传输服务。
第二方面,本发明实施例还提供一种虚拟机的桌面图像数据的传输方法,应用于客户端,所述客户端通过预设的传输服务与虚拟机通信,所述方法包括:
向所述虚拟机发送连接请求;其中,所述虚拟机中注册有PCI设备,所述PCI设备中预设的数据缓冲区中存储有经预设虚拟显卡渲染处理后的所述虚拟机的桌面图像数据;
接收所述虚拟机发送的所述桌面图像数据,并将所述桌面图像数据通过图形用户界面进行显示。
结合第二方面,本发明实施例提供了第二方面的第一种可能的实施方式,其中,所述客户端为运行有SPICE软件,或者VNC软件的客户端。
第三方面,本发明实施例还提供一种虚拟机的桌面图像数据的传输装置,虚拟机中注册有PCI设备,所述虚拟机通过预设的传输服务与客户端通信,所述装置包括:
抓取模块,用于在所述虚拟机中按照预设的时间间隔抓取经预设虚拟显卡渲染处理后的所述虚拟机的桌面图像数据;
存储模块,用于将所述桌面图像数据存储至所述PCI设备中预设的数据缓冲区;
获取模块,用于如果监测到所述客户端发送的连接请求,获取所述数据缓冲区中存储的所述桌面图像数据;
第一发送模块,用于将所述桌面图像数据发送至所述客户端,以使所述客户端显示所述桌面图像数据。
第四方面,本发明实施例还提供一种虚拟机的桌面图像数据的传输装置,设置于客户端,所述客户端通过预设的传输服务与虚拟机通信,所述装置包括:
第二发送模块,用于向所述虚拟机发送连接请求;其中,所述虚拟机中注册有PCI设备,所述PCI设备中预设的数据缓冲区中存储有经预设虚拟显卡渲染处理后的所述虚拟机的桌面图像数据;
接收模块,用于接收所述虚拟机发送的所述桌面图像数据,并将所述桌面图像数据通过图形用户界面进行显示。
第五方面,本发明实施例还提供一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现第一方面和第二方面所述的虚拟机的桌面图像数据的传输方法的步骤。
第六方面,本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行第一方面和第二方面所述的虚拟机的桌面图像数据的传输方法的步骤。
本发明实施例带来了以下有益效果:
本发明实施例提供了虚拟机的桌面图像数据的传输方法和装置及电子设备,能够在虚拟机中按照预设的时间间隔抓取经预设虚拟显卡渲染处理后的虚拟机的桌面图像数据,并将桌面图像数据存储至PCI设备中预设的数据缓冲区;如果监测到客户端发送的连接请求,获取数据缓冲区中存储的桌面图像数据;将桌面图像数据发送至客户端,以使客户端显示桌面图像数据;其中,用于存储经预设虚拟显卡渲染处理后的桌面图像数据的PCI设备是预先在虚拟机中注册的,该PCI设备可以作为桌面图像数据传输服务的数据来源,因此,可以通过该PCI设备实现对高性能虚拟显卡渲染的图像数据进行存储,并传输至客户端处,实现与客户端进行高分辨率桌面图像数据的传输,不仅提高了客户端的显示效果,也提高了用户的体验度。
本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书以及附图中所特别指出的结构来实现和获得。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种虚拟机的桌面图像数据的传输方法的流程图;
图2为本发明实施例提供的另一种虚拟机的桌面图像数据的传输方法的流程图;
图3为本发明实施例提供的另一种虚拟机的桌面图像数据的传输方法的流程图;
图4为本发明实施例提供的一种虚拟机的桌面图像数据的传输方法的信令图;
图5为本发明实施例提供的一种虚拟机的桌面图像数据的传输方法的原理图;
图6为本发明实施例提供的一种虚拟机的桌面图像数据的传输装置的示意图;
图7为本发明实施例提供的另一种虚拟机的桌面图像数据的传输装置的示意图。
图标:
10-抓取模块;20-存储模块;30-获取模块;40-第一发送模块;50-第二发送模块;60-接收模块。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在桌面云中,虚拟机桌面的显示效果直接关系到用户体验,使用显卡虚拟化技术,可以大大提高虚拟机的显示性能,使得虚拟机具备了进行专业图形计算和渲染的能力;同时,也对虚拟显示终端方案的处理能力提出了更高要求。
其中,配置并使用高性能虚拟显卡的虚拟机中,主要存在两个图形显示设备,一个是基本VGA(Video Graphics Array,视频图形阵列)设备,另一个是高性能显卡的VGA设备。在实际应用中,基本VGA设备只能进行基本的2D图形渲染;高性能显卡的VGA设备不仅可以进行2D和3D(3-Dimension,三维)渲染,还提供了硬件加速、实现平滑字体和窗口动画等特效,大大改善了用户的使用体验。
此时,当用户使用客户端显示软件连接虚拟机时,客户端显示的内容就是上述两种VGA设备提供的。按照传输协议来划分,终端显示方案主要有基于VNC(Virtual NetworkComputing,虚拟网络计算)协议的方案、基于SPICE(Simple Protocol for IndependentComputing Environment,独立计算环境简单协议)协议的方案、基于RDP(Remote DesktopProtocol,远程桌面协议)协议的方案和基于Citrix和VMware的私有协议方案,其中,基于VNC协议的方案和基于SPICE协议的方案只支持VGA设备,不支持高性能虚拟显卡,基于VNC协议的方案只能支持较低分辨率桌面图像;而基于RDP协议的方案则不支持显卡硬件加速,只能用于Windows虚拟机上;以及,基于Citrix和VMware的私有协议方案非公开,价格较高,不便于在实际应用中实施和推广。
针对上述问题,本发明实施例提供了虚拟机的桌面图像数据的传输方法和装置及电子设备,支持显卡硬件加速,可以实现高分辨率桌面图像数据的传输,从而提高了用户的体验度。
为便于对本实施例进行理解,下面首先对本发明实施例提供的一种虚拟机的桌面图像数据的传输方法进行详细介绍。
在一种可能的实施方式中,本发明实施例提供了一种虚拟机的桌面图像数据的传输方法,图1为本发明实施例提供的一种虚拟机的桌面图像数据的传输方法的流程图,执行主体为服务器,其中,服务器中设置有虚拟机;虚拟机中注册有PCI(Peripheral ComponentInterconnect,外设部件互连标准)设备,虚拟机通过预设的传输服务与客户端通信,如图1所示,该方法包括以下步骤:
步骤S102,在虚拟机中按照预设的时间间隔抓取经预设虚拟显卡渲染处理后的虚拟机的桌面图像数据;
步骤S104,将桌面图像数据存储至PCI设备中预设的数据缓冲区;
在实际应用中,上述虚拟机通常是配置有高性能虚拟显卡,虚拟机中一般存在两个图形显示设备,即,其中一个是基本VGA设备,另一个高性能显卡的VGA设备,而本发明实施例中上述预设虚拟显卡则通常是指高性能虚拟显卡,经该高性能虚拟显卡渲染处理后的虚拟机的桌面图像数据则保存至上述PCI设备中预设的数据缓冲区。
进一步,上述桌面图像抓取过程,通常是通过桌面图像抓取控件实现的,桌面图像抓取控件作为系统服务,可以在虚拟机开机后自动运行,因此,当监测到虚拟机开机自动运行之后,可以通过预设的桌面图像抓取控件按照预设的时间间隔抓取经预设虚拟显卡渲染处理后的虚拟机的桌面图像数据。
步骤S106,如果监测到客户端发送的连接请求,获取数据缓冲区中存储的桌面图像数据;
此时,如果服务器监测到客户端发送的连接请求,则从PCI设备中预设的数据缓冲区获取存储的桌面图像数据,以使服务器通过预设的传输服务将桌面图像数据发送至客户端。
步骤S108,将桌面图像数据发送至客户端,以使客户端显示桌面图像数据。
本发明实施例提供了虚拟机的桌面图像数据的传输方法,能够在虚拟机中按照预设的时间间隔抓取经预设虚拟显卡渲染处理后的虚拟机的桌面图像数据,并将桌面图像数据存储至PCI设备中预设的数据缓冲区;如果监测到客户端发送的连接请求,获取数据缓冲区中存储的桌面图像数据;将桌面图像数据发送至客户端,以使客户端显示桌面图像数据;其中,用于存储经预设虚拟显卡渲染处理后的桌面图像数据的PCI设备是预先在虚拟机中注册的,该PCI设备可以作为桌面图像数据传输服务的数据来源,因此,可以通过该PCI设备实现对高性能虚拟显卡渲染的图像数据进行存储,并传输至客户端处,实现与客户端进行高分辨率桌面图像数据的传输,不仅提高了客户端的显示效果,也提高了用户的体验度。
具体实现时,本发明实施例中的虚拟机通常包括KVM(Kernel-based VirtualMachine,基于内核的虚拟机)虚拟机,该虚拟机通过预设的传输服务与客户端通信,这里传输服务为基于SPICE协议,或者VNC协议的传输服务,因此,上述使用KVM技术的虚拟机,包含其图形桌面的桌面图像数据在经过高性能虚拟显卡的渲染处理后,可以通过SPICE等终端软件显示给用户,而高性能虚拟显卡的VGA设备不仅可以进行2D、3D渲染,而且还提供了硬件加速,可以实现平滑字体,窗口动画等特效,大大改善用户的使用体验,当用户通过客户端显示桌面图像数据时,用户看到的图像则可以是经过硬件加速渲染的,因此使用体验有明显改善。
进一步,上述PCI设备通常是在虚拟机上添加的图像缓冲设备,客户端的显示软件从该图像缓冲设备中获取到桌面图像数据之后,最终呈现给用户。因此,本发明实施例中还包括PCI设备的注册过程,具体地,在图1的基础上,本发明实施例还提供了另一种虚拟机的桌面图像数据的发送方法的流程图,如图2所示,该方法包括以下步骤:
步骤S202,如果监测到虚拟机的启动信号,加载PCI设备的驱动程序,以在虚拟机中注册PCI设备;
在实际应用中,当监测到虚拟机的启动信号时,服务器加载PCI设备的驱动程序,以在虚拟机中注册PCI设备,该PCI设备主要作用是在虚拟机中提供一个足够大的设备内存,作为数据缓冲区,从而用来存放桌面图像数据。
步骤S204,划分PCI设备的内存区,并将PCI设备的内存区映射至虚拟机的操作系统中,以提供PCI设备的数据缓冲区;
虚拟机中注册PCI设备之后,还为PCI设备划分PCI设备的内存区,作为数据缓冲区,从而用来存放桌面图像数据。当虚拟机启动后,在虚拟机内的设备信息中可以看到新添加的PCI设备;然后加载PCI设备驱动程序,此时,PCI设备就能够被虚拟机中的操作系统识别,从而PCI设备正常工作。这里,驱动程序的主要功能是将PCI设备的内存区映射到虚拟机的操作系统中,从而提供相应的访问机制,以便提供PCI设备的数据缓冲区。
此外,数据缓冲区的大小和桌面的分辨率有关,分辨率越大,数据缓冲区也就越大,因此,本发明实施例中通过PCI设备的数据缓冲区可以实现高分辨率桌面图像数据的传输。
步骤S206,在虚拟机中按照预设的时间间隔抓取经预设虚拟显卡渲染处理后的虚拟机的桌面图像数据;
步骤S208,将桌面图像数据存储至PCI设备中预设的数据缓冲区;
步骤S210,将虚拟机中传输服务的数据来源切换至PCI设备的数据缓冲区;
这里,虚拟机进程会启动预设的传输服务,以监听与客户端通信的端口,此时,虚拟机还会将传输服务的数据来源切换至PCI设备的数据缓冲区,即将传输服务的数据来源由标准VGA设备的缓冲区切换至PCI设备的数据缓冲区,从而实现从数据缓冲区获取桌面图像数据。
步骤S212,如果监测到客户端发送的连接请求,获取数据缓冲区中存储的桌面图像数据;
步骤S214,将桌面图像数据发送至客户端,以使客户端显示桌面图像数据。
综上,在本发明实施例中,主要包括以下过程,以实现虚拟机的桌面图像数据的传输目的:
1)为虚拟机添加一个PCI设备。该设备作为图像缓冲设备,主要作用是提供一个足够大的设备内存,作为数据缓冲区,用来存放桌面图像数据;
2)在虚拟机中运行桌面图像抓取控件,实时抓取经过预设虚拟显卡渲染处理后的桌面图像数据,并通过设备驱动,将桌面图像数据存入上面PCI设备的数据缓冲区;
3)修改虚拟机的传输服务的数据来源,将数据来源修改为上述之前添加的PCI设备。
在上述实施方式的基础上,本发明实施例还提供了另一种虚拟机的桌面图像数据的传输方法,如图3所示的另一种虚拟机的桌面图像数据的传输方法的流程图,该方法的执行主体为客户端,该客户端通过预设的传输服务与虚拟机通信,如图3所示,该方法包括以下步骤:
步骤S302,向虚拟机发送连接请求;
其中,上述虚拟机中注册有PCI设备,PCI设备中预设的数据缓冲区中存储有经预设虚拟显卡渲染处理后的虚拟机的桌面图像数据;客户端为运行有SPICE软件,或者VNC软件的客户端。
步骤S304,接收虚拟机发送的桌面图像数据,并将桌面图像数据通过图形用户界面进行显示。
本发明实施例提供的虚拟机的桌面图像数据的传输方法,包括:在客户端处,向虚拟机发送连接请求;其中,虚拟机中注册有PCI设备,PCI设备中预设的数据缓冲区中存储有桌面图像数据;接收虚拟机发送的桌面图像数据,并将桌面图像数据通过图形用户界面进行显示。本申请支持显卡硬件加速,可以实现高分辨率桌面图像数据的传输,从而提高了用户的体验度。
为了便于理解,在上述实施例的基础上,图4提供了一种虚拟机的桌面图像数据的传输方法的信令图,应用于服务器和客户端,其中,服务器中设置有虚拟机,虚拟机中注册有PCI设备,虚拟机通过预设的传输服务与客户端通信。如图4所示,包括以下步骤:
步骤S402,在虚拟机中按照预设的时间间隔抓取经预设虚拟显卡渲染处理后虚拟机的桌面图像数据,并将桌面图像数据存储至PCI设备中预设的数据缓冲区;
步骤S404,客户端向虚拟机发送连接请求;
步骤S406,虚拟机获取数据缓冲区中存储的桌面图像数据;
步骤S408,虚拟机将桌面图像数据发送至客户端;
步骤S410,客户端将桌面图像数据通过图形用户界面进行显示。
为了便于理解,这里举例说明。如图5所示,服务器中设置有虚拟机,虚拟机中注册有PCI设备,虚拟机通过预设的传输服务与客户端通信。当虚拟机启动时,虚拟机中预设的桌面图像抓取控件按照预设的时间间隔抓取虚拟机的桌面图像数据,这里桌面图像数据为经显卡进行图像渲染之后的桌面数据;并将桌面图像数据存储至PCI设备中预设的数据缓冲区,当客户端向虚拟机发送连接请求时,虚拟机获取数据缓冲区中存储的桌面图像数据,并将桌面图像数据通过预设的传输服务发送至客户端,以使客户端显示桌面图像数据;其中,虚拟机还将传输服务的数据来源从标准VGA设备切换至PCI设备的数据缓冲区,以便于从数据缓冲区获取桌面图像数据,从而实现高分辨率桌面图像数据的传输。此外,这里虚拟机为KVM虚拟机,还可以持续的获取KVM技术的相关优化和改进,以及,支持硬件加速,可以实现桌面特性、运行3D绘图工具和游戏等,从而满足了用户的多种需求,提高了客户的体验度。
在上述实施例的基础上,本发明实施例还提供了一种虚拟机的桌面图像数据的传输装置,设置于服务器,其中,服务器中设置有虚拟机;虚拟机中注册有PCI设备,虚拟机通过预设的传输服务与客户端通信。图6为本发明实施例提供的一种虚拟机的桌面图像数据的传输装置的示意图,如图6所示,该装置包括:
抓取模块10,用于在虚拟机中按照预设的时间间隔抓取经预设虚拟显卡渲染处理后的虚拟机的桌面图像数据;
存储模块20,用于将桌面图像数据存储至PCI设备中预设的数据缓冲区;
获取模块30,用于如果监测到客户端发送的连接请求,获取数据缓冲区中存储的桌面图像数据;
第一发送模块40,用于将桌面图像数据发送至客户端,以使客户端显示桌面图像数据。
进一步的,本发明实施例还提供了另一种虚拟机的桌面图像数据的传输装置,设置于客户端,客户端通过预设的传输服务与虚拟机通信。图7为本发明实施例提供的另一种虚拟机的桌面图像数据的传输装置的示意图,如图7所示,该装置包括:
第二发送模块50,用于向虚拟机发送连接请求;其中,虚拟机中注册有PCI设备,PCI设备中预设的数据缓冲区中存储有经预设虚拟显卡渲染处理后的虚拟机的桌面图像数据;
接收模块60,用于接收虚拟机发送的桌面图像数据,并将桌面图像数据通过图形用户界面进行显示。
本发明实施例提供的虚拟机的桌面图像数据的传输装置,能够在虚拟机中按照预设的时间间隔抓取经预设虚拟显卡渲染处理后的虚拟机的桌面图像数据,并将桌面图像数据存储至PCI设备中预设的数据缓冲区;如果监测到客户端发送的连接请求,获取数据缓冲区中存储的桌面图像数据;将桌面图像数据发送至客户端,以使客户端显示桌面图像数据;其中,用于存储经预设虚拟显卡渲染处理后的桌面图像数据的PCI设备是预先在虚拟机中注册的,该PCI设备可以作为桌面图像数据传输服务的数据来源,因此,可以通过该PCI设备实现对高性能虚拟显卡渲染的图像数据进行存储,并传输至客户端处,实现与客户端进行高分辨率桌面图像数据的传输,不仅提高了客户端的显示效果,也提高了用户的体验度。
本发明实施例还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述实施例提供的虚拟机的桌面图像数据的传输方法的步骤。
本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器运行时执行上述实施例的虚拟机的桌面图像数据的传输方法的步骤。
本发明实施例所提供的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
另外,在本发明实施例的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

Claims (12)

1.一种虚拟机的桌面图像数据的传输方法,其特征在于,虚拟机中注册有PCI设备,所述虚拟机通过预设的传输服务与客户端通信,所述方法包括:
在所述虚拟机中按照预设的时间间隔抓取经预设虚拟显卡渲染处理后的所述虚拟机的桌面图像数据;
将所述桌面图像数据存储至所述PCI设备中预设的数据缓冲区;
如果监测到所述客户端发送的连接请求,获取所述数据缓冲区中存储的所述桌面图像数据;
将所述桌面图像数据发送至所述客户端,以使所述客户端显示所述桌面图像数据。
2.根据权利要求1所述的虚拟机的桌面图像数据的传输方法,其特征在于,所述方法还包括:
如果监测到所述虚拟机的启动信号,加载所述PCI设备的驱动程序,以在所述虚拟机中注册所述PCI设备;以及,
划分所述PCI设备的内存区,并将所述PCI设备的内存区映射至所述虚拟机的操作系统中,以提供所述PCI设备的数据缓冲区。
3.根据权利要求2所述的虚拟机的桌面图像数据的传输方法,其特征在于,将所述PCI设备的内存区映射至所述虚拟机的操作系统中之后,所述方法还包括:
将所述虚拟机中所述传输服务的数据来源切换至所述PCI设备的数据缓冲区,以便于从所述数据缓冲区获取所述桌面图像数据。
4.根据权利要求1所述的虚拟机的桌面图像数据的传输方法,其特征在于,所述虚拟机中按照预设的时间间隔抓取经预设虚拟显卡渲染处理后的所述虚拟机的桌面图像数据的步骤包括:
当监测到所述虚拟机开机自动运行之后,通过预设的桌面图像抓取控件按照预设的时间间隔抓取经预设虚拟显卡渲染处理后的所述虚拟机的桌面图像数据。
5.根据权利要求1~4任一项所述的虚拟机的桌面图像数据的传输方法,其特征在于,所述虚拟机为KVM虚拟机。
6.根据权利要求1~4任一项所述的虚拟机的桌面图像数据的传输方法,其特征在于,所述传输服务为基于SPICE协议,或者VNC协议的传输服务。
7.一种虚拟机的桌面图像数据的传输方法,其特征在于,应用于客户端,所述客户端通过预设的传输服务与虚拟机通信,所述方法包括:
向所述虚拟机发送连接请求;其中,所述虚拟机中注册有PCI设备,所述PCI设备中预设的数据缓冲区中存储有经预设虚拟显卡渲染处理后的所述虚拟机的桌面图像数据;
接收所述虚拟机发送的所述桌面图像数据,并将所述桌面图像数据通过图形用户界面进行显示。
8.根据权利要求7所述的虚拟机的桌面图像数据的传输方法,其特征在于,所述客户端为运行有SPICE软件,或者VNC软件的客户端。
9.一种虚拟机的桌面图像数据的传输装置,其特征在于,虚拟机中注册有PCI设备,所述虚拟机通过预设的传输服务与客户端通信,所述装置包括:
抓取模块,用于在所述虚拟机中按照预设的时间间隔抓取经预设虚拟显卡渲染处理后的所述虚拟机的桌面图像数据;
存储模块,用于将所述桌面图像数据存储至所述PCI设备中预设的数据缓冲区;
获取模块,用于如果监测到所述客户端发送的连接请求,获取所述数据缓冲区中存储的所述桌面图像数据;
第一发送模块,用于将所述桌面图像数据发送至所述客户端,以使所述客户端显示所述桌面图像数据。
10.一种虚拟机的桌面图像数据的传输装置,其特征在于,设置于客户端,所述客户端通过预设的传输服务与虚拟机通信,所述装置包括:
第二发送模块,用于向所述虚拟机发送连接请求;其中,所述虚拟机中注册有PCI设备,所述PCI设备中预设的数据缓冲区中存储有经预设虚拟显卡渲染处理后的所述虚拟机的桌面图像数据;
接收模块,用于接收所述虚拟机发送的所述桌面图像数据,并将所述桌面图像数据通过图形用户界面进行显示。
11.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现上述权利要求1~8任一项所述的虚拟机的桌面图像数据的传输方法的步骤。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行上述权利要求1~8任一项所述的虚拟机的桌面图像数据的传输方法的步骤。
CN202010410975.7A 2020-05-14 2020-05-14 虚拟机的桌面图像数据的传输方法和装置及电子设备 Pending CN113672318A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202010410975.7A CN113672318A (zh) 2020-05-14 2020-05-14 虚拟机的桌面图像数据的传输方法和装置及电子设备
PCT/CN2021/092709 WO2021228032A1 (zh) 2020-05-14 2021-05-10 虚拟机的桌面图像数据的传输方法和装置及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010410975.7A CN113672318A (zh) 2020-05-14 2020-05-14 虚拟机的桌面图像数据的传输方法和装置及电子设备

Publications (1)

Publication Number Publication Date
CN113672318A true CN113672318A (zh) 2021-11-19

Family

ID=78525284

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010410975.7A Pending CN113672318A (zh) 2020-05-14 2020-05-14 虚拟机的桌面图像数据的传输方法和装置及电子设备

Country Status (2)

Country Link
CN (1) CN113672318A (zh)
WO (1) WO2021228032A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114253648A (zh) * 2021-12-24 2022-03-29 武汉噢易云计算股份有限公司 一种远程应用虚拟化方法与装置
CN114253649A (zh) * 2021-12-24 2022-03-29 武汉噢易云计算股份有限公司 图像渲染方法、装置、设备及可读存储介质
CN114327722A (zh) * 2021-12-28 2022-04-12 武汉噢易云计算股份有限公司 移动终端性能优化方法、装置、设备及可读存储介质
CN114675914A (zh) * 2022-02-11 2022-06-28 深信服科技股份有限公司 虚拟桌面的图像传输方法、装置、电子设备及存储介质

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116841660A (zh) * 2022-03-23 2023-10-03 中兴通讯股份有限公司 数据传输方法、云桌面虚拟机、云终端及可读存储介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103139634B (zh) * 2011-11-30 2017-03-15 国云科技股份有限公司 云终端虚拟桌面视频播放方法
KR101559541B1 (ko) * 2013-12-16 2015-10-15 아주대학교산학협력단 가상화 기반의 공동 사용 멀티 pc 시스템
CN104660687A (zh) * 2015-02-02 2015-05-27 上海视聪网络信息技术有限公司 虚拟桌面显示的实现方法和系统

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114253648A (zh) * 2021-12-24 2022-03-29 武汉噢易云计算股份有限公司 一种远程应用虚拟化方法与装置
CN114253649A (zh) * 2021-12-24 2022-03-29 武汉噢易云计算股份有限公司 图像渲染方法、装置、设备及可读存储介质
CN114253648B (zh) * 2021-12-24 2024-02-09 武汉噢易云计算股份有限公司 一种远程应用虚拟化方法与装置
CN114253649B (zh) * 2021-12-24 2024-04-09 武汉噢易云计算股份有限公司 图像渲染方法、装置、设备及可读存储介质
CN114327722A (zh) * 2021-12-28 2022-04-12 武汉噢易云计算股份有限公司 移动终端性能优化方法、装置、设备及可读存储介质
CN114675914A (zh) * 2022-02-11 2022-06-28 深信服科技股份有限公司 虚拟桌面的图像传输方法、装置、电子设备及存储介质
CN114675914B (zh) * 2022-02-11 2024-04-09 深信服科技股份有限公司 虚拟桌面的图像传输方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
WO2021228032A1 (zh) 2021-11-18

Similar Documents

Publication Publication Date Title
CN113672318A (zh) 虚拟机的桌面图像数据的传输方法和装置及电子设备
JP5027899B2 (ja) 遠隔の表示部へ伝送するためにフレームバッファをコピーする方法及びシステム
CN112486609B (zh) 一种基于云桌面的虚拟显卡实现方法和装置
JP2008526107A (ja) リモートコンピューティングにおけるグラフィクスプロセッサの使用
CN109343922B (zh) 一种gpu虚拟化画面显示的方法及装置
CN104660687A (zh) 虚拟桌面显示的实现方法和系统
CN112114928B (zh) 显示页面的处理方法和装置
CN111240631A (zh) 基于AMD显卡虚拟化传输Linux虚拟机屏幕画面的方法及系统
US20120235924A1 (en) Display systems, methods, and apparatus
US20230410245A1 (en) Cloud desktop display method and system
CN104765636B (zh) 一种远程桌面图像的合成方法和装置
CN110337035B (zh) 一种检测视频播放质量的方法及装置
CN111290722A (zh) 屏幕分享方法、装置、系统、电子设备和存储介质
US20140297718A1 (en) Apparatus and method for transmitting image of multi-user
CN109660581B (zh) 物理机管理方法及装置、系统
CN114793223A (zh) Dns记录的存储方法、装置、存储介质及电子设备
CN109889568B (zh) 一种数据导出方法、服务器及系统
CN113835816A (zh) 一种虚拟机桌面显示方法、装置、设备及可读存储介质
CN114020396A (zh) 应用程序的显示方法和应用程序的数据生成方法
JP2012133668A (ja) 表示装置、画面画像転送方法、及びプログラム
CN113254123A (zh) 云桌面场景的识别方法和装置、存储介质及电子装置
CN113965640A (zh) 消息处理方法及装置
CN113617020A (zh) 游戏控制方法、装置、存储介质、服务器以及终端
CN113613043A (zh) 屏幕显示和图像处理方法以及嵌入式设备和云服务器
CN111190675A (zh) 基于鲲鹏处理器的三维图像传输方法及设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination