CN112099946A - 资源调度方法、装置及存储介质 - Google Patents
资源调度方法、装置及存储介质 Download PDFInfo
- Publication number
- CN112099946A CN112099946A CN202010848846.6A CN202010848846A CN112099946A CN 112099946 A CN112099946 A CN 112099946A CN 202010848846 A CN202010848846 A CN 202010848846A CN 112099946 A CN112099946 A CN 112099946A
- Authority
- CN
- China
- Prior art keywords
- target
- display card
- type
- application program
- card
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本公开提供一种资源调度方法、装置及存储介质,涉及云计算技术领域,所述方法包括获取目标应用程序的属性信息;根据所述属性信息确定所述目标应用程序的目标类型;在确定所述目标类型与所述目标虚拟机上的历史目标应用程序的类型未相同时,确定与所述目标类型匹配的目标显卡类型;确定所述目标虚拟机绑定的所述目标类型的显卡中是否有空闲的目标显卡;在确定有空闲的目标显卡时,将所述目标显卡确定为所述目标虚拟机运行所述目标应用程序所需的显卡,并将所述目标虚拟机当前所使用的显卡切换为所述目标显卡。本公开通过对显卡资源的动态调用,既满足了各个虚拟机的实际渲染需要,又能够实现显卡资源的合理利用。
Description
技术领域
本公开涉及云计算技术领域,尤其涉及资源调度方法、装置及存储介质。
背景技术
云游戏是以云计算为基础的游戏方式,在云游戏的运行模式下,所有游戏都在服务器端运行,服务器将渲染完毕后的游戏画面压缩后通过网络传送给用户的游戏设备。在客户端,用户的游戏设备不需要任何高端处理器和显卡,只需要基本的视频解压能力就可以了。
相关技术中,在云游戏场景下,通常会为每个用户固定分配一块能够满足用户使用需求的显卡资源,也就是说,为用户所分配的该显卡资源是被该用户独占的。
上述技术中,所有用户分配的显卡资源是固定的,但同一个用户不可能一直使用负载高的应用,也就是说,为用户固定分配的显卡资源不可能一直满负荷运转,从而导致显卡资源浪费,无法保证显卡资源的合理利用。
发明内容
本公开实施例提供一种资源调度方法、装置及存储介质,能够解决现有技术中导致显卡资源浪费,无法得到显卡资源的合理利用的问题。所述技术方案如下:
根据本公开实施例的第一方面,提供一种资源调度方法,所述方法包括:
获取目标应用程序的属性信息;所述目标应用程序为当前运行在目标虚拟机的显示桌面顶层的应用程序;所述属性信息用于标识所述目标应用程序;
根据所述属性信息确定所述目标应用程序的目标类型;
在确定所述目标类型与所述目标虚拟机上的历史目标应用程序的类型未相同时,确定与所述目标类型匹配的目标显卡类型;
确定与所述目标虚拟机绑定的所述目标类型的显卡中是否有空闲的目标显卡,与所述目标虚拟机绑定的显卡中至少包括一个低端显卡、一个中端显卡和一个高端显卡;
在确定有空闲的目标显卡时,将所述目标显卡确定为所述目标虚拟机运行所述目标应用程序所需的显卡,并将所述目标虚拟机当前所使用的显卡切换为所述目标显卡。
本公开实施例提供一种资源调度方法,在获取到目标应用程序的属性信息时,根据属性信息确定目标应用程序的目标类型,在确定目标类型与目标虚拟机上的历史目标应用程序的类型不同时,确定与目标类型匹配的目标显卡类型,再确定目标虚拟机绑定的目标类型的显卡中是否有空闲的目标显卡,在确定有空闲的目标显卡时,将目标显卡确定为目标虚拟机运行目标应用程序所需的显卡,使得目标显卡能够执行目标应用程序的图像渲染工作。可知,本公开并不是为每个用户分配固定的显卡资源,而是根据当前运行的目标应用程序的目标类型来匹配对应的目标显卡类型,进而将目标显卡类型的显卡中的空闲显卡分配给目标虚拟机,从而通过对显卡资源的动态调用,既满足了各个虚拟机的实际渲染需要,又能够实现显卡资源的合理利用。
在一个实施例中,在所述在确定所述目标类型与所述目标虚拟机上的历史目标应用程序的类型未相同时,确定与所述目标类型匹配的目标显卡类型之前,还包括:
获取所述目标虚拟机上的历史目标应用程序的属性信息;
根据所述历史目标应用程序的属性信息确定所述历史目标应用程序的类型;
将所述目标类型与所述历史目标应用程序的类型进行比较,以确定所述目标类型与所述历史目标应用程序的类型是否相同。
在一个实施例中,所述将所述目标虚拟机当前所使用的显卡切换为所述目标显卡,包括:
保存当前所使用的显卡中的显卡配置指令;
禁用当前所使用的显卡的显卡驱动,并启用所述目标显卡的显卡驱动;
在所述目标显卡的显卡驱动成功启用后,将所述显卡配置指令发送给所述目标显卡;
通过在所述目标显卡上执行所述显卡配置指令来还原之前所使用的显卡的所有配置。
在一个实施例中,所述确定所述目标虚拟机绑定的所述目标类型的显卡中是否有空闲的目标显卡包括:
在预先存储的显卡资源调度表中查找与所述目标虚拟机绑定的目标类型的显卡;所述显卡资源调度表中存储有虚拟机的操作***、显卡类型和使用状态的映射关系;
获取每个所述目标类型的显卡的使用状态;
根据每个所述目标类型的显卡的使用状态确定是否有空闲的目标显卡。
在一个实施例中,所述根据所述属性信息确定所述目标应用程序的目标类型包括:
在预先存储的应用程序分类表中查找与所述属性信息匹配的目标类型;所述应用程序分类表中存储有应用程序的属性信息与应用程序的类型的映射关系。
在一个实施例中,所述确定与所述目标类型匹配的目标显卡类型包括:
在预先存储的显卡分类表中查找与所述目标类型匹配的目标显卡类型;所述显卡分类表中存储有应用程序类型与显卡类型的映射关系。
在一个实施例中,在所述禁用当前所使用的显卡的显卡驱动之前,还包括:
向与所述目标虚拟机连接的零终端发送显卡切换提示消息,使得所述零终端展示所述显卡切换提示消息。
根据本公开实施例的第二方面,提供一种资源调度装置,所述装置包括:
第一获取模块,用于获取目标应用程序的属性信息;所述目标应用程序为当前运行在目标虚拟机的显示桌面顶层的应用程序;所述属性信息用于标识所述目标应用程序;
第一确定模块,用于根据所述属性信息确定所述目标应用程序的目标类型;
第二确定模块,用于在确定所述目标类型与所述目标虚拟机上的历史目标应用程序的类型未相同时,确定与所述目标类型匹配的目标显卡类型;
第三确定模块,用于确定与所述目标虚拟机绑定的所述目标类型的显卡中是否有空闲的目标显卡,与所述目标虚拟机绑定的显卡中至少包括一个低端显卡、一个中端显卡和一个高端显卡;
切换模块,用于在确定有空闲的目标显卡时,将所述目标显卡确定为所述目标虚拟机运行所述目标应用程序所需的显卡,并将所述目标虚拟机当前所使用的显卡切换为所述目标显卡。
本公开实施例提供一种资源调度装置,在获取到目标应用程序的属性信息时,根据属性信息确定目标应用程序的目标类型,在确定目标类型与目标虚拟机上的历史目标应用程序的类型不同时,确定与目标类型匹配的目标显卡类型,再确定目标虚拟机绑定的目标类型的显卡中是否有空闲的目标显卡,在确定有空闲的目标显卡时,将目标显卡确定为目标虚拟机运行目标应用程序所需的显卡,使得目标显卡能够执行目标应用程序的图像渲染工作。可知,本公开并不是为每个用户分配固定的显卡资源,而是根据当前运行的目标应用程序的目标类型来匹配对应的目标显卡类型,进而将目标显卡类型的显卡中的空闲显卡分配给目标虚拟机,从而通过对显卡资源的动态调用,既满足了各个虚拟机的实际渲染需要,又能够实现显卡资源的合理利用。
在一个实施例中,所述装置还包括第二获取模块、第四确定模块和比较模块;
所述第二获取模块,用于获取所述目标虚拟机上的历史目标应用程序的属性信息;
所述第四确定模块,用于根据所述历史目标应用程序的属性信息确定所述历史目标应用程序的类型;
所述比较模块,用于将所述目标类型与所述历史目标应用程序的类型进行比较,以确定所述目标类型与所述历史目标应用程序的类型是否相同。
在一个实施例中,所述切换模块包括保存子模块、启动子模块、第一发送子模块和还原子模块;
所述保存子模块,用于保存当前所使用的显卡中的显卡配置指令;
所述启动子模块,用于禁用当前所使用的显卡的显卡驱动,并启用所述目标显卡的显卡驱动;
所述第一发送子模块,用于在所述目标显卡的显卡驱动成功启用后,将所述显卡配置指令发送给所述目标显卡;
所述还原子模块,用于通过在所述目标显卡上执行所述显卡配置指令来还原之前所使用的显卡的所有配置。
在一个实施例中,所述第三确定模块包括第一查找子模块、获取子模块和确定子模块;
所述第一查找子模块,用于在预先存储的显卡资源调度表中查找与所述目标虚拟机绑定的目标类型的显卡;所述显卡资源调度表中存储有虚拟机的操作***、显卡类型和使用状态的映射关系;
所述获取子模块,用于获取每个所述目标类型的显卡的使用状态;
所述确定子模块,用于根据每个所述目标类型的显卡的使用状态确定是否有空闲的目标显卡。
在一个实施例中,所述第一确定模块包括第二查找子模块;
所述第二查找子模块,用于在预先存储的应用程序分类表中查找与所述属性信息匹配的目标类型;所述应用程序分类表中存储有应用程序的属性信息与应用程序的类型的映射关系。
在一个实施例中,所述第二确定模块包括第三查找子模块;
所述第三查找子模块,用于在预先存储的显卡分类表中查找与所述目标类型匹配的目标显卡类型;所述显卡分类表中存储有应用程序类型与显卡类型的映射关系。
在一个实施例中,所述切换模块还包括第二发送子模块;
所述第二发送子模块,用于向与所述目标虚拟机连接的零终端发送显卡切换提示消息,使得所述零终端展示所述显卡切换提示消息。
根据本公开实施例的第三方面,提供一种资源调度装置,包括:处理器和存储器,所述存储器中存储有至少一条计算机指令,所述指令由所述处理器加载并执行以实现第一方面以及第一方面的任一实施例所描述的资源调度方法中所执行的步骤。
根据本公开实施例的第四方面,提供一种计算机可读存储介质,所述存储介质中存储有至少一条计算机指令,所述指令由处理器加载并执行以实现第一方面以及第一方面的任一实施例所描述的资源调度方法中所执行的步骤。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1是本公开实施例提供的一种资源调度方法的流程图;
图2是本公开实施例提供的一种云游戏平台的基本实现框架图;
图3是本公开实施例提供的一种云游戏***的结构图;
图4是本公开实施例提供的一种显卡资源调度表的实例图;
图5是本公开实施例提供的一种显卡资源调度表的实例图;
图6是本公开实施例提供的一种资源调度方法的流程图;
图7是本公开实施例提供的一种资源调度方法的流程图;
图8a是本公开实施例提供的一种资源调度装置的结构图;
图8b是本公开实施例提供的一种资源调度装置的结构图;
图8c是本公开实施例提供的一种资源调度装置的结构图;
图8d是本公开实施例提供的一种资源调度装置的结构图;
图8e是本公开实施例提供的一种资源调度装置的结构图;
图8f是本公开实施例提供的一种资源调度装置的结构图;
图8g是本公开实施例提供的一种资源调度装置的结构图;
图9是本公开实施例提供的一种资源调度装置的结构图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
本公开实施例提供一种资源调度方法,如图1所示,该方法包括以下步骤:
步骤101、获取目标应用程序的属性信息。
其中,所述目标应用程序为当前运行在目标虚拟机的显示桌面顶层的应用程序;显示桌面顶层是指未被其他图层覆盖的图层。所述属性信息用于标识所述目标应用程序,目标虚拟机为当前运行的虚拟机。
示例的,如图2所示,其为云游戏平台的基本实现框架图,虚拟桌面能够根据游戏应用的需要对底层的显示资源池中的显卡资源进行调用,显卡资源池是由多个大小、性能不同的显卡构成的,这些显卡以GPU(Graphics Processing Unit,图形处理器)集群或者刀片集群的形式组织在一起。如图3所示,其为云游戏***的结构图,零终端与云端服务器通信以实现各种应用的处理,具体的,云端服务器为每个与其建立连接的零终端分配一个虚拟机,该虚拟机用于处理与其连接的零终端的业务。零终端通过控制与其连接的虚拟机来产生应用请求,其中,应用请求中的运算处理由虚拟机的中央处理器来处理,而应用请求中的图像渲染等处理则由虚拟机调用显卡资源池中的显卡资源进行处理;图3中以四个虚拟机和对应的四个零终端为例。
示例的,云端服务器监测目标虚拟机的显示窗口中位于最前端的、也就是用户正在操作或者使用的应用程序,并获取该目标应用程序的属性信息,例如该属性信息可以为目标应用程序的名称。
步骤102、根据所述属性信息确定所述目标应用程序的目标类型。
可选的,在预先存储的应用程序分类表中查找与所述属性信息匹配的目标类型。
其中,所述应用程序分类表中存储有应用程序的属性信息与应用程序的类型的映射关系。
示例的,在执行这一步骤之前,需要预先对每个应用程序进行分类,即将所有应用程序分为:对图像渲染能力要求高的应用程序,记为高渲染等级应用程序;对图像渲染能力要求中等的应用程序,记为中渲染等级应用程序;以及对图像渲染能力要求低的应用程序,记为低渲染等级应用程序,然后将应用程序的分类信息与应用程序的属性信息对应存储,以建立应用程序分类表,并将该应用程序分类表保存在***中。这样,在获取到目标应用程序的属性信息时,就可以在应用程序分类表中查找与目标应用程序的属性信息匹配的应用程序的分类信息,并将此应用程序的分类信息确定为目标应用程序的目标类型。
步骤103、在确定所述目标类型与所述目标虚拟机上的历史目标应用程序的类型未相同时,确定与所述目标类型匹配的目标显卡类型。
可选的,在预先存储的显卡分类表中查找与所述目标类型匹配的目标显卡类型。
其中,所述显卡分类表中存储有应用程序类型与显卡类型的映射关系。
示例的,在确定目标类型与所述目标虚拟机上的历史目标应用程序的类型未相同时,说明在确定目标虚拟机上运行的应用程序的类型发生了变化,需要确定与该目标类型匹配的目标显卡类型。即预先对显卡资源池中的多个显卡根据图像渲染能力进行分类,例如,将显卡划分为高端显卡、中端显卡和低端显卡,其中,高端显卡是指图像渲染能力强的显卡,适合处理高端游戏或者其他图像渲染能力要求高的应用;中端显卡是指图像渲染能力中等的显卡,适合处理中端游戏或者其它对图像渲染能力要求中等的应用;低端显卡是指图像渲染能力较弱的显卡,适合处理低端游戏或者其它对图像渲染能力要求低的应用。进一步的,在对显卡分类之后,将显卡类型与应用程序的类型进行对应存储,即高渲染等级应用程序与高端显卡对应存储,中渲染等级应用程序与中端显卡对应存储,低渲染等级应用程序与低端显卡对应存储,以建立显卡分类表,并将该显卡分类表保存在***中。这样,在获取到目标应用程序的目标类型时,就可以在显卡分类表中查找到与目标类型匹配的显卡类型,并将该显卡类型确定为目标显卡类型。
需要说明的是,在执行步骤103之前,还包括以下步骤:
获取所述目标虚拟机上的历史目标应用程序的属性信息;根据所述历史目标应用程序的属性信息确定所述历史目标应用程序的类型;将所述目标类型与所述历史目标应用程序的类型进行比较,以确定所述目标类型与所述历史目标应用程序的类型是否相同。
示例的,在确定目标应用程序的目标类型时,将该目标类型进行记录,并获取该目标虚拟机上的历史目标应用程序的属性信息,根据属性信息在应用程序分类表中查找历史目标应用程序的类型,其中,该历史目标应用程序为目标虚拟机上上一次运行的应用程序,并将目标应用程序的目标类型与历史目标应用程序的类型进行对比,判断目标应用程序的目标类型与历史目标应用程序的类型是否相同,在确定目标应用程序的目标类型与历史目标应用程序的类型不相同时,则说明目标虚拟机上运行的应用程序的类型发生了变化;在确定目标应用程序的目标类型与历史目标应用程序的类型相同时,则说明目标虚拟机上运行的应用程序的类型未变化。
步骤104、确定与所述目标虚拟机绑定的所述目标类型的显卡中是否有空闲的目标显卡。
其中,与所述目标虚拟机绑定的显卡中至少包括一个低端显卡、一个中端显卡和一个高端显卡。
可选的,在预先存储的显卡资源调度表中查找与所述目标虚拟机绑定的目标类型的显卡;获取每个所述目标类型的显卡的使用状态;根据每个所述目标类型的显卡的使用状态确定是否有空闲的目标显卡。
其中,所述显卡资源调度表中存储有虚拟机的操作***、显卡类型和使用状态的映射关系。
示例的,在确定与目标类型匹配的目标显卡类型时,在预先存储的显卡资源调度表中查找显卡类型为目标显卡类型的所有显卡,然后获取这些显卡中每个显卡的使用状态,确定每个显卡的使用状态是空闲还是占用,当有使用状态为空闲的显卡时,则将处于空闲状态的显卡确定为目标显卡。
需要说明的是,在执行步骤104之前,还需预先建立显卡资源调度表,在本公开中,每个虚拟机的操作***中需要加载其所对应的所有显卡的显卡驱动,并事先完成这些显卡与相应操作***的注册工作,使得虚拟机的操作***能够识别各个显卡。且每个虚拟机的操作***可识别的显卡为多个。具体可根据需求为每个虚拟机绑定一定数量和类型的显卡,本公开对此不做限定。例如,每个虚拟机需要绑定至少一个低端显卡、至少一个中端显卡和至少一个高端显卡,这样,虚拟机的一个操作***就能够识别多个显卡。另外,为了保证资源的有效利用,每个显卡也可以同时向多个虚拟机中的多个操作***分别进行注册,也就是说,多个操作***能够识别同一个显卡。具体的显卡资源调度表如图4和图5所示,图4中每个操作***分别与每个显卡都绑定;图5中每个操作***分别与一个高端显卡、两个中端显卡以及一个低端显卡进行绑定,且资源调度表中存储有每个显卡的使用状态,服务器对显卡的使用状态实时更新。
需要说明的是,在确定目标虚拟机绑定的目标类型的显卡中有多个空闲显卡时,可随机从多个空闲显卡中选择一个作为目标显卡。
步骤105、在确定有空闲的目标显卡时,将所述目标显卡确定为所述目标虚拟机运行所述目标应用程序所需的显卡,并将所述目标虚拟机当前所使用的显卡切换为所述目标显卡。
可选的,如图6所示,将所述目标虚拟机当前所使用的显卡切换为所述目标显卡的步骤如下:
步骤1051、保存当前所使用的显卡中的显卡配置指令。
示例的,在确定有空闲的目标显卡时,获取并保存目标虚拟机当前使用的显卡中的所有显卡配置指令。
步骤1052、禁用当前所使用的显卡的显卡驱动,并启用所述目标显卡的显卡驱动。
示例的,在保存好目标虚拟机当前使用的显卡中的所有显卡配置指令时,禁用当前使用的显卡的显卡驱动,并启用目标显卡的显卡驱动,以实现从当前使用的显卡到目标显卡的切换。
步骤1053、在所述目标显卡的显卡驱动成功启用后,将所述显卡配置指令发送给所述目标显卡。
示例的,在将当前使用的显卡切换为目标显卡,目标显卡的显卡驱动成功启用时,将事先保存的目标虚拟机当前使用的显卡中的所有显卡配置指令发送给目标显卡。
步骤1054、通过在所述目标显卡上执行所述显卡配置指令来还原之前所使用的显卡的所有配置。
示例的,目标显卡在接收到所有的显卡配置指令时,执行这些显卡配置指令,用于还原之前所使用的显卡的所有配置,在配置完成后,目标显卡就可以正常工作,目标虚拟机的操作***就可以通过目标显卡的显卡驱动来访问目标显卡,通过目标显卡来执行目标应用程序的图像渲染工作。
需要说明的是,在将当前使用的显卡切换为目标显卡之后,云端服务器需要将目标虚拟机绑定的当前使用的显卡的使用状态修改为空闲,将目标显卡的使用状态修改为占用,并记录占用该目标显卡的目标虚拟机及对应的操作***的信息等,便于云端服务器对每个显卡资源进行管理。
进一步的,如图7所示,在执行步骤1052之前,还包括以下步骤1055:
步骤1055、向与所述目标虚拟机连接的零终端发送显卡切换提示消息,使得所述零终端展示所述显卡切换提示消息。
示例的,由于显卡从切换到正常工作需要一定的时间,通常在一秒之内,所以,云端服务器在需要将当前使用的显卡切换为目标显卡时,可向与目标虚拟机连接的零终端发送显卡切换提示消息,使得零终端在接收到显卡切换提示消息时,显示该显卡切换提示消息的文字信息,或者语音播报该显卡切换提示消息,或者以图片形式显示该显卡切换提示消息,或者以特效形式显示该显卡切换提示消息,以告知用户正在进行显卡切换。
由此可知,本公开能够实现两个显卡之前的切换,切换时间较短,能够保证图像渲染的不间断,且切换后的显卡资源与目标应用程序相匹配,能够满足用户需求。
本公开实施例提供一种资源调度方法,在获取到目标应用程序的属性信息时,根据属性信息确定目标应用程序的目标类型,在确定目标类型与目标虚拟机上的历史目标应用程序的类型不同时,确定与目标类型匹配的目标显卡类型,再确定目标虚拟机绑定的目标类型的显卡中是否有空闲的目标显卡,在确定有空闲的目标显卡时,将目标显卡确定为目标虚拟机运行目标应用程序所需的显卡,使得目标显卡能够执行目标应用程序的图像渲染工作。可知,本公开并不是为每个用户分配固定的显卡资源,而是根据当前运行的目标应用程序的目标类型来匹配对应的目标显卡类型,进而将目标显卡类型的显卡中的空闲显卡分配给目标虚拟机,从而通过对显卡资源的动态调用,既满足了各个虚拟机的实际渲染需要,又能够实现显卡资源的合理利用;另外,本公开切换时间较短,能够保证图像渲染的不间断,且切换后的显卡资源与目标应用程序相匹配,能够满足用户需求。
基于上述实施例中所描述的资源调度方法,下述为本公开装置实施例,可以用于执行本公开方法实施例。
本公开实施例提供一种资源调度装置,如图8a所示,该资源调度装置80包括:第一获取模块801、第一确定模块802、第二确定模块803、第三确定模块804和切换确定模块805。
其中,第一获取模块801,用于获取目标应用程序的属性信息。
所述目标应用程序为当前运行在目标虚拟机的显示桌面顶层的应用程序;所述属性信息用于标识所述目标应用程序。
第一确定模块802,用于根据所述属性信息确定所述目标应用程序的目标类型。
第二确定模块803,用于在确定所述目标类型与所述目标虚拟机上的历史目标应用程序的类型未相同时,确定与所述目标类型匹配的目标显卡类型。
第三确定模块804,用于确定与所述目标虚拟机绑定的所述目标类型的显卡中是否有空闲的目标显卡,与所述目标虚拟机绑定的显卡中至少包括一个低端显卡、一个中端显卡和一个高端显卡。
切换模块805,用于在确定有空闲的目标显卡时,将所述目标显卡确定为所述目标虚拟机运行所述目标应用程序所需的显卡,并将所述目标虚拟机当前所使用的显卡切换为所述目标显卡。
在一个实施例中,如图8b所示,所述装置还包括第二获取模块806、第四确定模块807和比较模块808。
其中,所述第二获取模块806,用于获取所述目标虚拟机上的历史目标应用程序的属性信息。
所述第四确定模块807,用于根据所述历史目标应用程序的属性信息确定所述历史目标应用程序的类型。
所述比较模块808,用于将所述目标类型与所述历史目标应用程序的类型进行比较,以确定所述目标类型与所述历史目标应用程序的类型是否相同。
在一个实施例中,如图8c所示,所述切换模块805包括保存子模块8051、启动子模块8052、第一发送子模块8053和还原子模块8054。
其中,所述保存子模块8051,用于保存当前所使用的显卡中的显卡配置指令。
所述启动子模块8052,用于禁用当前所使用的显卡的显卡驱动,并启用所述目标显卡的显卡驱动。
所述第一发送子模块8053,用于在所述目标显卡的显卡驱动成功启用后,将所述显卡配置指令发送给所述目标显卡。
所述还原子模块8054,用于通过在所述目标显卡上执行所述显卡配置指令来还原之前所使用的显卡的所有配置。
在一个实施例中,如图8d所示,所述第三确定模块804包括第一查找子模块8041、获取子模块8042和确定子模块8043。
其中,所述第一查找子模块8041,用于在预先存储的显卡资源调度表中查找与所述目标虚拟机绑定的目标类型的显卡;所述显卡资源调度表中存储有虚拟机的操作***、显卡类型和使用状态的映射关系。
所述获取子模块8042,用于获取每个所述目标类型的显卡的使用状态。
所述确定子模块8043,用于根据每个所述目标类型的显卡的使用状态确定是否有空闲的目标显卡。
在一个实施例中,如图8e所示,所述第一确定模块802包括第二查找子模块8021。
其中,所述第二查找子模块8021,用于在预先存储的应用程序分类表中查找与所述属性信息匹配的目标类型。
所述应用程序分类表中存储有应用程序的属性信息与应用程序的类型的映射关系。
在一个实施例中,如图8f所示,所述第二确定模块803包括第三查找子模块8031。
其中,所述第三查找子模块8031,用于在预先存储的显卡分类表中查找与所述目标类型匹配的目标显卡类型。
所述显卡分类表中存储有应用程序类型与显卡类型的映射关系。
在一个实施例中,如图8g所示,所述切换模块805还包括第二发送子模块8055。
其中,所述第二发送子模块8055,用于向与所述目标虚拟机连接的零终端发送显卡切换提示消息,使得所述零终端展示所述显卡切换提示消息。
本公开实施例提供一种资源调度装置,在获取到目标应用程序的属性信息时,根据属性信息确定目标应用程序的目标类型,在确定目标类型与目标虚拟机上的历史目标应用程序的类型不同时,确定与目标类型匹配的目标显卡类型,再确定目标虚拟机绑定的目标类型的显卡中是否有空闲的目标显卡,在确定有空闲的目标显卡时,将目标显卡确定为目标虚拟机运行目标应用程序所需的显卡,使得目标显卡能够执行目标应用程序的图像渲染工作。可知,本公开并不是为每个用户分配固定的显卡资源,而是根据当前运行的目标应用程序的目标类型来匹配对应的目标显卡类型,进而将目标显卡类型的显卡中的空闲显卡分配给目标虚拟机,从而通过对显卡资源的动态调用,既满足了各个虚拟机的实际渲染需要,又能够实现显卡资源的合理利用;另外,本公开切换时间较短,能够保证图像渲染的不间断,且切换后的显卡资源与目标应用程序相匹配,能够满足用户需求。
参考图9所示,本公开实施例还提供了一种资源调度装置,该资源调度装置包括接收器901、发射器902、存储器903和处理器904,该发射器902和存储器903分别与处理器904连接,存储器903中存储有至少一条计算机指令,处理器904用于加载并执行至少一条计算机指令,以实现上述图1对应的实施例中所描述的资源调度方法。
基于上述图1对应的实施例中所描述的资源调度方法,本公开实施例还提供一种计算机可读存储介质,例如,非临时性计算机可读存储介质可以是只读存储器(英文:ReadOnly Memory,ROM)、随机存取存储器(英文:Random Access Memory,RAM)、CD-ROM、磁带、软盘和光数据存储装置等。该存储介质上存储有计算机指令,用于执行上述图1对应的实施例中所描述的资源调度方法,此处不再赘述。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
本领域技术人员在考虑说明书及实践这里公开的公开后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
Claims (10)
1.一种资源调度方法,其特征在于,所述方法包括:
获取目标应用程序的属性信息;所述目标应用程序为当前运行在目标虚拟机的显示桌面顶层的应用程序;所述属性信息用于标识所述目标应用程序;
根据所述属性信息确定所述目标应用程序的目标类型;
在确定所述目标类型与所述目标虚拟机上的历史目标应用程序的类型未相同时,确定与所述目标类型匹配的目标显卡类型;
确定与所述目标虚拟机绑定的所述目标类型的显卡中是否有空闲的目标显卡,与所述目标虚拟机绑定的显卡中至少包括一个低端显卡、一个中端显卡和一个高端显卡;
在确定有空闲的目标显卡时,将所述目标显卡确定为所述目标虚拟机运行所述目标应用程序所需的显卡,并将所述目标虚拟机当前所使用的显卡切换为所述目标显卡。
2.根据权利要求1所述的方法,其特征在于,在所述在确定所述目标类型与所述目标虚拟机上的历史目标应用程序的类型未相同时,确定与所述目标类型匹配的目标显卡类型之前,还包括:
获取所述目标虚拟机上的历史目标应用程序的属性信息;
根据所述历史目标应用程序的属性信息确定所述历史目标应用程序的类型;
将所述目标类型与所述历史目标应用程序的类型进行比较,以确定所述目标类型与所述历史目标应用程序的类型是否相同。
3.根据权利要求1所述的方法,其特征在于,所述将所述目标虚拟机当前所使用的显卡切换为所述目标显卡,包括:
保存当前所使用的显卡中的显卡配置指令;
禁用当前所使用的显卡的显卡驱动,并启用所述目标显卡的显卡驱动;
在所述目标显卡的显卡驱动成功启用后,将所述显卡配置指令发送给所述目标显卡;
通过在所述目标显卡上执行所述显卡配置指令来还原之前所使用的显卡的所有配置。
4.根据权利要求1所述的方法,其特征在于,所述确定所述目标虚拟机绑定的所述目标类型的显卡中是否有空闲的目标显卡包括:
在预先存储的显卡资源调度表中查找与所述目标虚拟机绑定的目标类型的显卡;所述显卡资源调度表中存储有虚拟机的操作***、显卡类型和使用状态的映射关系;
获取每个所述目标类型的显卡的使用状态;
根据每个所述目标类型的显卡的使用状态确定是否有空闲的目标显卡。
5.根据权利要求1所述的方法,其特征在于,所述根据所述属性信息确定所述目标应用程序的目标类型包括:
在预先存储的应用程序分类表中查找与所述属性信息匹配的目标类型;所述应用程序分类表中存储有应用程序的属性信息与应用程序的类型的映射关系。
6.根据权利要求1所述的方法,其特征在于,所述确定与所述目标类型匹配的目标显卡类型包括:
在预先存储的显卡分类表中查找与所述目标类型匹配的目标显卡类型;所述显卡分类表中存储有应用程序类型与显卡类型的映射关系。
7.根据权利要求3所述的方法,其特征在于,在所述禁用当前所使用的显卡的显卡驱动之前,还包括:
向与所述目标虚拟机连接的零终端发送显卡切换提示消息,使得所述零终端展示所述显卡切换提示消息。
8.一种资源调度装置,其特征在于,所述装置包括:
第一获取模块,用于获取目标应用程序的属性信息;所述目标应用程序为当前运行在目标虚拟机的显示桌面顶层的应用程序;所述属性信息用于标识所述目标应用程序;
第一确定模块,用于根据所述属性信息确定所述目标应用程序的目标类型;
第二确定模块,用于在确定所述目标类型与所述目标虚拟机上的历史目标应用程序的类型未相同时,确定与所述目标类型匹配的目标显卡类型;
第三确定模块,用于确定与所述目标虚拟机绑定的所述目标类型的显卡中是否有空闲的目标显卡,与所述目标虚拟机绑定的显卡中至少包括一个低端显卡、一个中端显卡和一个高端显卡;
第四确定模块,用于在确定有空闲的目标显卡时,将所述目标显卡确定为所述目标虚拟机运行所述目标应用程序所需的显卡,并将所述目标虚拟机当前所使用的显卡切换为所述目标显卡。
9.一种资源调度装置,其特征在于,包括:处理器和存储器,所述存储器中存储有至少一条计算机指令,所述指令由所述处理器加载并执行以实现权利要求1至权利要求7任一项所述的资源调度方法中所执行的步骤。
10.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条计算机指令,所述指令由处理器加载并执行以实现权利要求1至权利要求7任一项所述的资源调度方法中所执行的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010848846.6A CN112099946A (zh) | 2020-08-21 | 2020-08-21 | 资源调度方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010848846.6A CN112099946A (zh) | 2020-08-21 | 2020-08-21 | 资源调度方法、装置及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112099946A true CN112099946A (zh) | 2020-12-18 |
Family
ID=73754206
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010848846.6A Pending CN112099946A (zh) | 2020-08-21 | 2020-08-21 | 资源调度方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112099946A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113064727A (zh) * | 2021-04-16 | 2021-07-02 | 上海众链科技有限公司 | 应用于Android***的图像显示调度方法、终端及存储介质 |
CN113204384A (zh) * | 2021-05-14 | 2021-08-03 | 山东英信计算机技术有限公司 | 设备启动方法、装置及计算机可读存储介质 |
CN114398018A (zh) * | 2022-01-19 | 2022-04-26 | 腾讯科技(深圳)有限公司 | 画面显示方法、装置、存储介质及电子设备 |
-
2020
- 2020-08-21 CN CN202010848846.6A patent/CN112099946A/zh active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113064727A (zh) * | 2021-04-16 | 2021-07-02 | 上海众链科技有限公司 | 应用于Android***的图像显示调度方法、终端及存储介质 |
CN113064727B (zh) * | 2021-04-16 | 2022-08-26 | 上海众链科技有限公司 | 应用于Android***的图像显示调度方法、终端及存储介质 |
CN113204384A (zh) * | 2021-05-14 | 2021-08-03 | 山东英信计算机技术有限公司 | 设备启动方法、装置及计算机可读存储介质 |
CN114398018A (zh) * | 2022-01-19 | 2022-04-26 | 腾讯科技(深圳)有限公司 | 画面显示方法、装置、存储介质及电子设备 |
WO2023138297A1 (zh) * | 2022-01-19 | 2023-07-27 | 腾讯科技(深圳)有限公司 | 画面显示方法、装置、电子设备、计算机可读存储介质及计算机程序产品 |
CN114398018B (zh) * | 2022-01-19 | 2023-10-17 | 腾讯科技(深圳)有限公司 | 画面显示方法、装置、存储介质及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112099946A (zh) | 资源调度方法、装置及存储介质 | |
CN111246308B (zh) | 访问直播间的方法及装置、直播服务器、存储介质 | |
US20170192819A1 (en) | Method and electronic device for resource allocation | |
CN110333947B (zh) | 一种游戏应用的分包资源加载方法、装置、设备及介质 | |
US20160101360A1 (en) | Game Accessing Method and Processing Method, Server, Terminal, and System | |
CN111737019B (zh) | 一种显存资源的调度方法、装置及计算机存储介质 | |
CN110947178A (zh) | 游戏切换方法、电子设备及存储介质 | |
CN108073423A (zh) | 一种加速器加载方法、***和加速器加载装置 | |
CN114327318A (zh) | 云桌面的显示方法和*** | |
CN107911700B (zh) | 一种基于虚拟化的硬件解码方法、解码设备及存储介质 | |
CN112269628A (zh) | 资源调度***及方法 | |
CN112169310A (zh) | 一种游戏资源加载方法、装置、计算机设备和存储介质 | |
CN108667750B (zh) | 虚拟资源管理方法及装置 | |
CN111611017B (zh) | 一种显卡选择方法和相关装置 | |
CN111111182B (zh) | 一种游戏视角确定方法、装置和服务器 | |
CN105807890A (zh) | 一种信息展示方法、装置及电子设备 | |
CN115576689A (zh) | 云渲染处理方法、设备和存储介质 | |
CN111803926B (zh) | 云应用中控制对象的匹配方法、装置及电子设备 | |
CN112416497A (zh) | 图像的显示处理方法及装置、点播*** | |
CN114095533A (zh) | 云游戏账号登录方法、装置、计算机设备及存储介质 | |
CN115700484A (zh) | 渲染方法、装置、设备和存储介质 | |
CN106991016B (zh) | 信息的显示方法、装置和电子设备 | |
CN114168254A (zh) | 一种数据处理方法、装置及设备 | |
CN116755892B (zh) | 虚拟显卡与云主机之间的计算资源分配方法及*** | |
CN113713375B (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 |