虚拟机桌面显示方法及装置的制造方法

文档序号:8301767阅读:340来源:国知局
虚拟机桌面显示方法及装置的制造方法
【技术领域】
[0001]本发明涉及虚拟桌面技术领域,尤其涉及一种虚拟机桌面显示方法及装置。
【背景技术】
[0002]虚拟桌面是一种典型的云计算应用,包括云计算服务者提供的服务器端以及通过网络与所述服务器连接的客户端。通过服务器端集中管理和运行用户所需要的虚拟操作系统、应用、程序和数据,并通过桌面显示协议将虚拟机操作系统的桌面视图传送到用户的客户端设备上进行显示,同时将客户端接收到的用户输入操作通过网络传送到服务器端的虚拟机操作系统进行处理。可以让用户通过任何设备在任何地点、任何时间访问网络上属于个人的桌面系统。
[0003]目前虚拟及桌面显示普遍采用截屏的方式获取虚拟机桌面的显示数据,并将虚拟机桌面的显示数据以位图的形式传输给客户端显示,采用这种方式不仅由于位图的数据量很大,使得虚拟机端与客户端之间的网络传输数据量非常大,而且通过应用层截屏的方式获取虚拟机桌面的显示数据,效率十分低下。并且在播放视频时,由于将视频按一帧一帧的位图数据进行传输和显示,使得视频播放不流畅,且存在虚拟机端与客户端之间的网络数据传输量大的问题。
[0004]上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。

【发明内容】

[0005]本发明的主要目的在于解决现有的虚拟机桌面显示中,通过截屏的方式获取虚拟机桌面显示数据,并以位图的形式传输给客户端显示,使得运行效率低且虚拟机端与客户端之间网络传输数据量大的问题。
[0006]为实现上述目的,本发明提供的一种虚拟机桌面显示方法,所述虚拟机桌面显示方法包括以下步骤:
[0007]监听并获取虚拟机操作系统内操作虚拟机桌面变化的操作数据;
[0008]当所述操作数据为位图数据时,对所述位图数据进行视频检测;
[0009]若所述位图数据为视频数据,则根据虚拟机节点的资源情况选择视频编码算法对所述视频数据进行编码,得到编码后的视频数据;
[0010]将编码后的视频数据发送到客户端,由客户端还原为桌面数据并显示。
[0011]优选的,所述的根据虚拟机节点的资源情况选择视频编码算法对所述视频数据进行编码的步骤包括:
[0012]获取虚拟机节点与客户端之间的网络带宽值,并将所述网络带宽值与预设的网络带宽阈值进行比对;
[0013]若所述网络带宽值大于所述网络带宽阈值,则选择CPU消耗低的视频编码算法对所述视频数据进行编码;
[0014]若所述网络带宽值小于所述网络带宽阈值,则获取所述虚拟机节点的CPU负载量,并将所述CPU负载量与预设的CPU负载阈值进行比对;
[0015]若所述CPU负载量大于所述CPU负载阈值,则选择CPU消耗低的视频编码算法对所述视频数据进行编码;
[0016]若所述CPU负载量小于所述CPU负载阈值,则选择CPU消耗高的编码算法对所述视频数据进行编码。
[0017]优选的,所述的对所述位图数据进行视频检测的步骤包括:
[0018]判断所述位图数据是否为连续的位图数据;
[0019]若所述位图数据是连续的,则确定所述位图数据为视频数据;
[0020]若所述位图数据是不连续的,则确定所述位图数据为离散位图数据。
[0021]优选的,所述确定所述位图数据为离散位图数据的步骤之后,还包括:
[0022]若所述位图数据确定为离散位图数据,则对所述离散位图数据进行压缩,得到压缩后的离散位图数据;
[0023]将压缩后的离散位图数据发送给客户端,由所述客户端还原为桌面数据并显示。
[0024]优选的,所述的监听并获取虚拟机操作系统内操作虚拟机桌面变化的操作数据的步骤之后,还包括:
[0025]当所述操作数据为图形操作指令时,将所述图形操作指令转换为可被客户端识别的图形指令;
[0026]将所述图形指令发送给客户端,由客户端还原为桌面数据并显示。
[0027]此外为实现上述目的,本发明还提供一种虚拟机桌面显示装置,所述虚拟机桌面显示装置包括:
[0028]监听模块,用于监听并获取虚拟机操作系统内操作虚拟机桌面变化的操作数据;
[0029]检测模块,用于当所述操作数据为位图数据时,对所述位图数据进行视频检测;
[0030]编码模块,用于若所述位图数据为视频数据,则根据虚拟机节点的资源情况选择视频编码算法对所述视频数据进行编码,得到编码后的视频数据;
[0031]发送模块,用于将编码后的视频数据发送到客户端,由客户端还原为桌面数据并显不O
[0032]优选的,所述编码模块包括比对单元和编码单元;
[0033]所述比对单元,用于获取虚拟机节点与客户端之间的网络带宽值,并将所述网络带宽值与预设的网络带宽阈值进行比对;
[0034]所述编码单元,用于若所述网络带宽值大于所述网络带宽阈值,则选择CPU消耗低的视频编码算法对所述视频数据进行编码;
[0035]所述比对单元,还用于若所述网络带宽值小于所述网络带宽阈值,则获取所述虚拟机节点的CPU负载量,并将所述CPU负载量与预设的CPU负载阈值进行比对;
[0036]所述编码单元,还用于若所述CPU负载量大于所述CPU负载阈值,则选择CPU消耗低的视频编码算法对所述视频数据进行编码;
[0037]所述编码单元,还用于若所述CPU负载量小于所述CPU负载阈值,则选择CPU消耗高的编码算法对所述视频数据进行编码。
[0038]优选的,所述检测模块包括判断单元和检测单元;
[0039]所述判断单元,用于判断所述位图数据是否为连续的位图数据;
[0040]所述检测单元,用于若所述位图数据是连续的,则确定所述位图数据为视频数据;
[0041]所述检测单元,还用于若所述位图数据是不连续的,则确定所述位图数据为离散位图数据。
[0042]优选的,所述虚拟机桌面显示装置还包括压缩模块;
[0043]所述压缩模块,用于若所述位图数据确定为离散位图数据,则对所述离散位图数据进行压缩,得到压缩后的离散位图数据;
[0044]所述发送模块,还用于将压缩后的离散位图数据发送给客户端,由所述客户端还原为桌面数据并显示。
[0045]优选的,所述虚拟机桌面显示装置还包括转换模块;
[0046]所述转换模块,用于当所述操作数据为图形操作指令时,将所述图形操作指令转换为可被客户端识别的图形指令;
[0047]所述发送模块,还用于将所述图形指令发送给客户端,由客户端还原为桌面数据并显示。
[0048]本发明通过监听虚拟机操作系统内操作虚拟机桌面变化的操作数据,来获取虚拟机桌面显示的数据,从而省去了通过操作数据在虚拟机内显示再截屏的步骤,提高了虚拟机桌面显示的效率。同时,将视频数据进行编码后发送给客户端,降低了虚拟机端与客户端之间网络传输的数据量。
【附图说明】
[0049]图1为本发明虚拟桌面显示系统的总体框架示意图;
[0050]图2为本发明虚拟机桌面显示方法的第一实施例的流程示意图;
[0051]图3为本发明虚拟机桌面显示方法的第二实施例的流程示意图;
[0052]图4为图2中步骤S30的细化流程示意图;
[0053]图5为图2中步骤S20的细化流程示意图;
[0054]图6为图4中步骤S23之后的流程示意图;
[0055]图7为本发明虚拟机桌面显示装置的第一实施例的功能模块示意图;
[0056]图8为本发明虚拟机桌面显示装置的第二实施例的功能模块示意图;
[0057]图9为图7中编码模块的细化功能模块示意图;
[0058]图10为图7中检测模块的细化功能模块示意图。
[0059]本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
【具体实施方式】
[0060]应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0061]本发明实施例的主要解决方案是:监听并获取虚拟机操作系统内操作虚拟机桌面变化的操作数据;当所述操作数据为位图数据时,对所述
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1