一种自适应调整云桌面分辨率的方法技术

技术编号:29672370 阅读:21 留言:0更新日期:2021-08-13 21:53
本发明专利技术公开了一种自适应调整云桌面分辨率的方法,包括终端计算机单元通过基于开源的SPICE协议连接到虚拟机管理单元后;虚拟机管理单元与云桌面虚拟单元间进行分辨率协商,得到合适终端计算机单元当前终端环境下窗口的显示特征数据,并发送到云桌面虚拟单元中;云桌面虚拟单元的vGPU管理器接收显示特征数据后,开启视频流输出;云桌面虚拟单元的vGPU管理器开启视频流输出后,发送显示特征值到虚拟机管理单元;终端计算机单元收到输出显示特征值后,调用终端分辨率管理模块调整终端应用显示。解决了云桌面分辨率仅能手动调整,无法根据终端应用窗口大小以及全屏显示时的显示器大小进行自动协商与调整的问题。

【技术实现步骤摘要】
一种自适应调整云桌面分辨率的方法
本专利技术涉及虚拟桌面领域,特别是涉及一种自适应调整云桌面分辨率的方法。
技术介绍
目前基于QEMU-KVM的虚拟化云桌面根据图形渲染使用场景分类,主要包含面向普通办公环境以及三维设计环境等两大类。在虚拟化云桌面中图形渲染所使用的显卡主要有纯虚拟显卡以及物理主机GPU直通两种方式,其中纯虚拟显卡主要用于常规图形显示,涉及到三维设计等软件使用时,必须采用物理机GPU直通方式来提高图形处理性能。用于直通的物理机GPU根据是否共享使用,分为整体GPU直通及基于SR-IOV的GPU直通。SR-IOV即Single-RootI/OVirtualization,这种虚拟化技术(通过PCI-SpecialInterestGroup或PCI-SIG创建)在单根复杂实例中提供设备虚拟化。通过SR-IOV,一个PCIe设备不仅可以导出多个PCI物理功能,还可以导出共享该I/O设备上的资源的一组虚拟功能。在该模型中,不需要任何透传,因为虚拟化在主机设备上发生,从而允许管理程序简单地将虚拟功能映射到云桌面虚拟机上以实现本机设备功能、性能和隔离安全。SR-IOV规范的目标为每个云桌面虚拟机的直通设备提供独立内存空间、中断和DirectMemoryAccess(DMA)流。SR-IOV架构的设计允许一个I/O设备支持多个虚拟功能,同时将每个功能的硬件成本降至最低。直通至云桌面虚拟机内的GPU设备即可作为操作系统(如:Windows)使用的显卡,可用于图形渲染以及高性能计算等功能。在直通GPU设备的云桌面中,其分辨率受限于所直通的GPU能支持的分辨率,在云桌面的使用过程中,应与终端云桌面应用窗口及显示器分辨率进行协商,以便采取最佳分辨率显示。在《一种云桌面GPU直通虚拟化重定向管理方法或系统》专利技术专利申请提到的虚拟化云桌面GPU直通方案中,物理机上的GPU通过整体或SR-IOV方式映射入云桌面虚拟机,在云桌面虚拟机启动后,远程终端是通过基于开源的SPICE协议访问云桌面。云桌面虚拟机内的操作系统(如Windows)根据vGPU支持的分辨率可手动选择按某个分辨率进行显示。该技术方案中的云桌面分辨率仅能手动调整,无法根据终端应用窗口大小以及全屏显示时的显示器大小进行自动协商与调整。
技术实现思路
有鉴于此,本专利技术提出一种自适应调整云桌面分辨率的方法,用于解决云桌面分辨率仅能手动调整,无法根据终端应用窗口大小以及全屏显示时的显示器大小进行自动协商与调整的问题。为解决上述技术问题,本专利技术采用的一个技术方案是:提出一种自适应调整云桌面分辨率的方法,其特征在于,包括以下步骤:步骤1,终端计算机单元通过基于开源的SPICE协议连接到虚拟机管理单元后,切换至直通vGPU显示模式;步骤2,终端计算机单元将终端环境信息发送到虚拟机管理单元;步骤3,虚拟机管理单元与云桌面虚拟单元间进行分辨率协商,得到合适终端计算机单元当前终端环境下窗口的显示特征数据,并发送到云桌面虚拟单元中;步骤4,云桌面虚拟单元的vGPU管理器接收显示特征数据后,开启视频流输出;步骤5,云桌面虚拟单元的vGPU管理器开启视频流输出后,发送显示特征值到虚拟机管理单元;步骤6,虚拟机管理单元中的VMM信令接收模块收到显示特征值后,由虚拟机管理单元中的VMM数据发送模块发送到终端计算机单元;步骤7,终端计算机单元收到输出显示特征值后,调用终端分辨率管理模块调整终端应用显示;所述显示特征数据,包括当前终端应用窗口大小、是否全屏显示、当前窗口分辨率;所述显示特征值,包括屏幕刷新率、颜色位数和分辨率;其中,当前窗口分辨率,是自适应调整前的应用窗口分辨率,默认不为最优输出情况;分辨率,是分辨率协商结果(最优解)中的分辨率。进一步的,所述开启视频流输出,包括:vGPU管理器的分辨率管理模块获取vGPU所支持的分辨率列表;与接收到的显示特征数据进行比较,选取最相近的分辨率;切换当前云桌面虚拟单元分辨率并调用视频压缩模块,重置视频流压缩参数,开启新的视频流。进一步的,所述分辨率协商,包括:虚拟机管理单元调用VMM信令发送模块,将分辨率调整请求发送到云桌面虚拟单元内的vGPU管理器;vGPU管理器的管理控制模块接收到分辨率调整请求后,确认调整请求并发送确认信息到虚拟机管理单元的VMM信令接收模块;虚拟机管理单元的VMM信令接收模块接收到确认信息后,将显示特征数据发送到云桌面虚拟单元内的vGPU管理器;vGPU管理器调用分辨率管理模块,对显示特征数据进行计算,得到合适终端计算机单元当前终端环境下窗口的显示特征数据。进一步的,所述分辨率调整请求,包括调整请求和终端环境信息,传输格式为:Terminal-request(SetSYN,TerminalEnvironment(TerminalBandwidth,Displaydeviceperformance,Displayconnectors););所述调整请求,为以SetSYN为标识符的一串随机数;所述终端环境信息,包括终端网络带宽数据TerminalBandwidth、终端显示器数据Displaydeviceperformance和显示终端连接协议Displayconnectors;所述显示终端数据,包括终端显示器分辨率、刷新率;其中,终端显示器分辨率是硬件信息。进一步的,所述确认信息,包括对调整请求的确认和云桌面虚拟单元环境数据,传输格式为:Clouddesktop-confirm(SetACK,CloudEnvironment(CloudBandwidth,SupportList););所述对调整请求的确认,为以SetACK为标识符的一串数字,数字值为SetSYN所包含随机数的值加一;所述云桌面虚拟单元环境数据包括vGPU支持的显示特征列表SupportList、云桌面分配网络带宽上限值CloudBandwidth。进一步的,所述对显示特征数据进行计算,包括:根据显示终端数据与显示终端连接协议,获取显示终端实际支持的分辨率信息、刷新率信息,作为物理属性;根据终端带宽信息,查询终端网络支持传输的视频显示特征值,作为传输属性;获取vGPU支持的分辨率列表及云桌面虚拟单元带宽信息,计算云主机网络支持传输的视频显示特征值,取其中不高于vGPU支持分辨率对应的部分信息,作为公共解;提取公共解中满足物理属性及传输属性部分,作为云桌面传输可行解;取可行解中分辨率最高值作为最优解,当最优解不唯一时,取其中刷新率最高的可行解作为最优解。本专利技术的有益效果在于:提出了一种自适应调整云桌面分辨率的方法,将原有通过访问GPU直通云桌面虚拟机时手动分辨率调整改为终端应用与vGPU管理器自动协商与调整分辨率的方式,解决了云桌面分辨率仅能手动调整,无法根据终端应用窗口本文档来自技高网
...

【技术保护点】
1.一种自适应调整云桌面分辨率的方法,其特征在于,包括:/n步骤1,终端计算机单元通过基于开源的SPICE协议连接到虚拟机管理单元后,切换至直通vGPU显示模式;/n步骤2,终端计算机单元将终端环境信息发送到虚拟机管理单元;/n步骤3,虚拟机管理单元与云桌面虚拟单元间进行分辨率协商,得到合适终端计算机单元当前终端环境下窗口的显示特征数据,并发送到云桌面虚拟单元中;/n步骤4,云桌面虚拟单元的vGPU管理器接收显示特征数据后,开启视频流输出;/n步骤5,云桌面虚拟单元的vGPU管理器开启视频流输出后,发送显示特征值到虚拟机管理单元;/n步骤6,虚拟机管理单元中的VMM信令接收模块收到显示特征值后,由虚拟机管理单元中的VMM数据发送模块发送到终端计算机单元;/n步骤7,终端计算机单元收到输出显示特征值后,调用终端分辨率管理模块调整终端应用显示;/n所述显示特征数据,包括当前终端应用窗口大小、是否全屏显示和当前窗口分辨率;/n所述显示特征值,包括屏幕刷新率、颜色位数和分辨率。/n

【技术特征摘要】
1.一种自适应调整云桌面分辨率的方法,其特征在于,包括:
步骤1,终端计算机单元通过基于开源的SPICE协议连接到虚拟机管理单元后,切换至直通vGPU显示模式;
步骤2,终端计算机单元将终端环境信息发送到虚拟机管理单元;
步骤3,虚拟机管理单元与云桌面虚拟单元间进行分辨率协商,得到合适终端计算机单元当前终端环境下窗口的显示特征数据,并发送到云桌面虚拟单元中;
步骤4,云桌面虚拟单元的vGPU管理器接收显示特征数据后,开启视频流输出;
步骤5,云桌面虚拟单元的vGPU管理器开启视频流输出后,发送显示特征值到虚拟机管理单元;
步骤6,虚拟机管理单元中的VMM信令接收模块收到显示特征值后,由虚拟机管理单元中的VMM数据发送模块发送到终端计算机单元;
步骤7,终端计算机单元收到输出显示特征值后,调用终端分辨率管理模块调整终端应用显示;
所述显示特征数据,包括当前终端应用窗口大小、是否全屏显示和当前窗口分辨率;
所述显示特征值,包括屏幕刷新率、颜色位数和分辨率。


2.如权利要求1所述的一种自适应调整云桌面分辨率的方法,其特征在于,所述开启视频流输出,包括:
vGPU管理器的分辨率管理模块获取vGPU所支持的分辨率列表;
与接收到的显示特征数据进行比较,选取最相近的分辨率;
切换当前云桌面虚拟单元分辨率并调用视频压缩模块,重置视频流压缩参数,开启新的视频流。


3.如权利要求2所述的一种自适应调整云桌面分辨率的方法,其特征在于,所述分辨率协商,包括:
虚拟机管理单元调用VMM信令发送模块,将分辨率调整请求发送到云桌面虚拟单元内的vGPU管理器;
vGPU管理器的管理控制模块接收到分辨率调整请求后,确认调整请求并发送确认信息到虚拟机管理单元的VMM信令接收模块;
虚拟机管理单元的VMM信令接收模块接收到确认信息后,将显示特征数据发送到云桌面虚拟单元内的vGPU管理器;
vGPU管理器调用分辨率管理模块,对显示特征数据进行计算,得到合适终端计算机单元当前终端环境下窗口的显示特征数据。


4.如权利要求3...

【专利技术属性】
技术研发人员:李凡王流一陈刚许佳
申请(专利权)人:贵州海誉科技股份有限公司
类型:发明
国别省市:贵州;52

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

1