掌桥专利:专业的专利平台
掌桥专利
首页

资源调度方法及计算设备

文献发布时间:2023-06-19 19:30:30


资源调度方法及计算设备

技术领域

本申请实施例涉及计算机技术领域,尤其涉及一种资源调度方法及计算设备。

背景技术

在云计算场景中涉及集群资源调度,以在由大量物理服务器(亦被称为“主机”、“物理机”)构成的集群中,选择合适主机为虚拟机、容器或数据库等云计算产品分配资源并运行云计算产品。

主机所提供资源包括CPU(central processing unit,中央处理器)、内存、以及存储等多个维度的硬件资源。现有技术中,通常是随机选择可以提供所需资源的主机来为云计算产品分配资源,但是,这种资源调度方式不准确,导致资源无法得到有效分配、资源成本较高。

发明内容

本申请实施例提供一种资源调度方法及计算设备,用以解决现有技术中资源分配率低,资源成本较高的技术问题。

第一方面,本申请实施例中提供了一种资源调度方法,包括:

响应于资源调度请求,确定资源损失模型;

基于不同主机的可分配资源向量,利用所述资源损失模型计算不同主机的损失值;所述可分配资源向量由多个资源维度的资源分量构成;

确定损失值满足调度要求的候选主机集合;

从所述候选主机集合中确定为所述资源调度请求分配资源的目标主机。

第二方面,本申请实施例中提供了一种计算设备,包括处理组件以及存储组件;

所述存储组件存储一个或多个计算机指令;所述一个或多个计算机指令用以被所述处理组件调用执行,以实现如上述第一方面所述的资源调度方法。

第三方面,本申请实施例中提供了一种计算机存储介质,存储有计算机程序,所述计算机程序被计算机执行时实现如上述第一方面所述的资源调度方法。

本申请实施例中,构建资源损失模型,从而对于资源调度请求,基于不同主机的可分配资源向量,利用所述资源损失模型计算不同主机的损失值;所述可分配资源向量由多个资源维度的资源分量构成;确定损失值满足调度要求的候选主机集合;从而可以从候选主机集合中确定为资源调度请求分配资源的目标主机。通过构建基于向量化的资源损失模型,基于可分配资源向量利用资源损失模型评估主机的资源损失,从而可以筛选损失值满足调度要求的候选主机集合,并从中选择目标主机以为资源调度请求分配资源,且可分配资源向量包括多个资源维度,从多个资源维度综合考量来进行资源调度,从而提高了资源调度的准确性,提高了资源分配率,降低了资源成本。

本申请的这些方面或其他方面在以下实施例的描述中会更加简明易懂。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1示出了本申请提供的一种云计算系统一个实施例的结构示意图;

图2示出了本申请提供的一种资源调度方法一个实施例的流程图;

图3示出了本申请提供的一种资源调度方法又一个实施例的流程图;

图4示出了本申请实施例在一个实际应用中的交互场示意图;

图5示出了本申请提供的一种资源调度装置一个实施例的结构示意图;

图6示出了本申请提供的一种计算设备一个实施例的结构示意图。

具体实施方式

为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。

在本申请的说明书和权利要求书及上述附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如101、102等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。

本申请实施例的技术方案可以应用于涉及集群资源调度的应用场景中,例如云计算场景中,集群资源调度是指基于请求所需资源,从多个物理服务器(亦被称为“主机”、“物理机”)构成的集群中选择合适主机来进行资源分配。

以云计算场景为例,云计算是计算机技术发展最快的趋势之一,它涉及通过网络提供托管服务。云计算环境将计算和存储资源作为服务提供给最终用户。最终用户可以向提供的服务发出请求以进行处理。服务的处理能力通常受到配置资源的限制。

云计算是一种服务交付模式,旨在实现,按需网络访问共享的可配置计算资源池(例如,网络、网络带宽、服务器、处理、内存、存储、应用程序、虚拟机和服务),这些资源可以通过最小的管理工作或与服务提供商的交互来快速调配和发布。本申请所涉及的资源通常可以是指硬件资源,当然不排除其它类型的计算资源。

应当理解,尽管本申请包括关于云计算的详细描述,但本文所述教导的实现不限于云计算环境。相反,本申请的实施例能够结合现在已知或以后开发的任何其他类型的计算环境来实现。

在云计算场景中,多个主机提供的资源形成资源池以为多个租户提供服务。本文中所指的用户意即是指租户,可以通过出资购买云计算提供方的资源,以搭建符合自己需求的云计算产品如云服务器、云数据库、容器或虚拟机等,用户在云计算提供方可以注册用户账号,云计算提供方通过用户账号来区分不同用户。

一个主机中可以运行一个或多个云计算产品,一个云计算产品运行在一个主机中,创建云计算产品时,需要执行资源调度操作以选择合适主机来分配对应资源以创建云计算产品。

目前的资源调度方式通常是随机选择可以提供所需资源的主机来为云计算产品分配资源,而发明人在实现本申请过程中发现,主机通常可以提供多种资源,例如CPU、内存以及存储等,实际应用中,一个主机中存在某种资源分配殆尽之后,另一种资源仍然比较空闲,出现较多空闲资源,这些空闲资源虽然是碎片化的,导致主机资源浪费,未能得到充分利用,最终导致主机的资源分配率降低,且多种资源之间不平衡,资源成本较高。

为了提高资源分配率,降低资源成本等,发明人经过一系列研究提出了本申请的技术方案,本申请实施例中,通过构建基于向量化的资源损失模型,基于可分配资源向量利用资源损失模型评估主机的资源损失,从而可以筛选损失值满足调度要求的候选主机集合,并从中选择目标主机以为资源调度请求分配资源,且可分配资源向量包括多个资源维度,从多个资源维度综合考量来进行资源调度,可以降低资源碎片现象,保持资源平衡,从而提高了资源调度的准确性,提高了资源分配率,降低了资源成本。

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

在云计算场景中,本申请实施例的技术方案可以应用于如图1所示的云计算系统中,该云计算系统包括一个或多个云计算节点10,该一个或多个云计算节点10包括物理服务器,意即主机,在图中以通用计算设备的形式示出,云计算节点可以包括一个或多个处理组件、存储组件等,以及将包括存储组件在内的其它系统组件耦合到处理组件中的总线等。

用户可以使用本地计算设备,例如个人数字助理(PDA)或蜂窝电话20A、台式计算机20B、膝上型计算机20C和/或汽车计算机系统20N可以与云计算节点10通信。云计算节点10之间也可以彼此通信,它们可以在一个或多个网络中物理地或虚拟地分组(未示出),例如私有、社区、公共或混合云或其组合。这允许云计算系统将基础设施、平台和/或软件作为服务提供,用户不需要在本地计算设备上维护资源。应当理解,图1中所示的计算设备类型仅用于说明,并且云计算节点10可以通过任何类型的网络和/或网络可寻址连接(例如,使用web浏览器)与任何类型的计算机化设备通信。

用户通过本地计算设备可以请求云计算系统创建云计算产品,创建任务可以由一个或多个云计算节点执行,通过执行资源调度操作选取目标主机以创建云计算产品等。此外,云计算系统在某个主机等故障情况下,可以将其运行的云计算产品进行迁移等,此时也可以执行本申请实施例所提供的资源调度操作来选择目标主机以迁移云计算产品等。

上述云计算系统所提供的主机可以按照区域进行划分等,以为处于不同区域的用户提供更高效的服务等。

需要说明的是,本申请实施例中提供的资源调度方法一般由云计算系统中的一个或多个云计算节点执行,相应的调度装置一般设置于云计算节点中。

需要说明的是,本申请实施例中可能会涉及到对用户数据的使用,在实际应用中,可以在符合所在国的适用法律法规要求的情况下(例如,用户明确同意,对用户切实通知,等),在适用法律法规允许的范围内在本文描述的方案中使用用户特定的个人数据。

应该理解,图1中的云计算节点数目仅仅是示意性的。根据实现需要,可以具有任意数目云计算节点。

以下对本申请实施例的技术方案的实现细节进行详细阐述。

图2为本申请实施例提供的一种资源调度方法一个实施例的流程图,该方法可以包括以下几个步骤:

201:响应于资源调度请求,确定资源损失模型。

该资源调度请求可以基于用户创建请求,针对待创建的云计算产品所生成,当然也可以是基于云计算产品的迁移请求,针对请求迁移的云计算产品而生成等。

该资源调度请求中可以包括多个资源维度的资源分量,不同资源维度对应不同种类资源例如处理器如CPU、内存及存储等,某个资源维度的资源分量即为对应资源种类的资源请求量,该多个资源维度的资源分量可以生成请求资源向量,可以以向量化方式进行计算处理等。

其中,资源损失模型可以预先构建,可选地,可以是基于至少一个影响资源调度的参数所构建;因此,可以包括至少一个影响资源调度的参数;该至少一个影响资源调度的参数例如可以包括分别用来度量可分配资源、资源平衡度以及资源碎片度的度量参数等。可分配资源可以衡量主机中的可分配资源情况;资源平衡度用以衡量主机中不同种类资源的分配情况;资源碎片度用以衡量主机中空闲资源的分配情况等,该至少一个资源调度影响因素会影响主机的资源分配率、空闲资源剩余量等。

本文中所指资源分配率可以是指资源售卖率,资源售卖率表示某个种类的已售卖资源总量与集群中非空主机的资源总量的比值表示,非空主机是指集群中已经进行资源调度的主机。

基于上述至少一个影响资源调度的参数所构建的资源损失模型可以评估资源损失,例如损失值越大,表示空闲资源越多,资源分配率越低,损失值越小,表示空闲资源越少,资源分配率越高。

其中,度量参数可以基于资源向量参数而生成,资源向量参数由多个资源维度的资源分量构成。

202:基于不同主机的可分配资源向量,利用资源损失模型计算不同主机的损失值。

其中,可分配资源向量由多个资源维度的资源分量构成。例如,X={r

可分配资源向量中每个资源维度的资源分量也即主机中在该资源维度对应的资源种类剩余的可以用来进行分配的资源量。

该可分配资源向量可以作为资源向量参数值而输入资源损失模型,从而计算获得损失值。例如,资源损失模型表示为L(R),R表示资源向量参数,可分配资源向量可以作为资源向量参数值而输入资源损失模型,也即计算L(X)以获得损失值。

此外,作为其它可选方式,可以具体是基于不同主机的可分配资源向量以及请求资源向量,利用资源损失模型计算不同主机的损失值。因此,可选地,该基于请求资源向量及不同主机的可分配资源向量,利用资源损失模型计算不同主机的损失值可以包括:

确定不同主机的可分配资源向量分别除去请求资源向量之后的剩余资源向量;将剩余资源向量输入资源损失模型,计算获得不同主机的损失值。

例如可以是将可分配资源向量减去请求资源向量而获得剩余资源向量;之后,将剩余资源向量作为资源向量参数值而输入资源损失模型,计算获得不同主机的损失值。例如,资源损失模型表示为L(R),R表示资源向量参数,可分配资源向量X减去请求资源向量M获得剩余资源向量X-M;剩余资源向量可以作为资源向量参数值而输入资源损失模型,也即计算L(X-M)以获得损失值。也即损失值可以是假设在主机中为资源调度请求而分配资源之后所带来的损失值。损失值越小,表示该主机为资源调度请求而分配资源之后,空闲资源越小,资源分配率越高。

203:确定损失值满足调度要求的候选主机集合。

204:从候选主机集合中确定为资源调度请求分配资源的目标主机。

根据用来评估主机资源损失的损失值,可以筛选损失值满足调度要求的主机从而构成候选主机集合,进而可以在该候选主机集合中确定为资源调度请求分配资源的目标主机。

该调度要求可以根据实际情况而设定,可以根据损失值与空闲资源量以及资源分配率的关系来确定,以保证损失值满足调度要求的主机可以保证空闲资源较小且资源分配率较高等。

作为一种可选方式,损失值越小,表示空闲资源越小以及资源分配率越高,上述确定损失值满足调度要求的候选主机集合可以包括:确定损失值小于或等于第一损失阈值的候选主机集合。

该第一损失阈值可以结合实际情况进行设定,其可以大于或等于0值。也即可以筛选位于0至第一损失阈值之间的损失值对应的主机作为候选主机。第一损失阈值例如可以是各个主机所对应的损失值中的最小损失值等。

作为另一种可选方式,损失值越小,表示空闲资源越小以及资源分配率越高,上述确定损失值满足调度要求的候选主机集合可以包括:

选择损失值与最小损失值的差值小于或等于第二损失阈值的候选主机集合。

其中,该第二损失阈值可以结合实际情况进行设定,用于筛选损失值逼近最小损失值的候选主机,可选地,最小损失值与第二损失阈值的和值可以等于上述第一损失阈值等。

上述确定损失值小于或等于第一损失阈值的候选主机集合可以按照如下公式进行表示:

其中,L表示资源损失模型;X

本实施例中,通过构建的资源损失模型,从而基于可分配资源向量利用资源损失模型评估主机的资源损失,从而可以筛选损失值满足调度要求的候选主机集合,并从中选择目标主机以为资源调度请求分配资源,且可分配资源向量包括多个资源维度,从多个资源维度综合考量来进行资源调度,可以降低资源碎片现象,保持资源平衡,从而提高了资源调度的准确性,提高了资源分配率,降低资源成本。

其中,利用上述资源损失模型计算获得的损失值主要从整体角度评估了主机的资源损失,为了进一步提高资源分配率,降低资源成本,如图3所示的资源调度方法又一个实施例中,该调度方法可以包括以下几个步骤:

301:响应于资源调度请求,确定资源损失模型。

302:基于不同主机的可分配资源向量,利用资源损失模型计算不同主机的损失值。

可分配资源向量由多个资源维度的资源分量构成。

303:确定损失值满足调度要求的候选主机集合。

304:基于资源调度请求的请求资源向量,从候选主机集合中确定多个资源维度的资源分量满足平衡要求的目标主机。

其中,请求资源向量由多个资源维度的资源分量构成。

其中,步骤301~步骤303的操作可以详见图2所示实施例中步骤201~步骤203中的操作,此处不再重复赘述。

本实施例中,由于从整体角度所确定的满足调度要求的主机中,在多个资源维度上的资源分量可能仍然是不平衡的,无法有效满足资源调度请求在多个资源维度上的所请求的资源,因此,本申请实施例中,还可以基于资源调度请求在多个资源维度上的所请求的资源,确定请求资源向量,并基于资源向量,再从候选主机集合中选择多个资源维度的资源分量满足平衡要求的目标主机。使得目标主机可以进一步保证资源平衡度等,进一步提高了资源分配率,降低了资源碎片化问题等,从而降低了资源成本。

其中,该平衡要求可以有多种可能实现方式,作为一种可选方式,从候选主机集合中确定多个资源维度满足平衡要求的目标主机可以包括:

确定候选主机集合中各候选主机的剩余资源向量分别与主方向向量的夹角,以及选择夹角最小的候选主机作为目标主机。

其中,该主方向向量可以是指与各个坐标轴正向的夹角都相同的单位向量。剩余资源向量可以是指可分配资源向量减去请求资源向量而获得。

可选地,可以按照如下夹角计算公式来计算剩余资源向量与主方向向量的夹角,该夹角计算公式为:

上述选择夹角最小的候选主机作为目标主机的表示方式即可以为:

其中,X∈hosts,hosts={A,B,C,……};θ∈[0,π/2]。

其中θ(X―M)表示剩余资源向量与主方向向量的夹角,r

其中,夹角较小,表示剩余资源向量的各个资源维度的资源分配均比较靠近主方向向量,此时对应的损失值越小,对应的空闲资源越小,资源分配率越高。

此外,作为另一种可选方式,从候选主机集合中确定多个资源维度满足平衡要求的目标主机可以包括:确定候选主机集合中各候选主机的可分配资源向量分别与主方向向量的夹角,及选择夹角最小的候选主机作为目标主机。

也即通过上述两种可选方式,可以选择资源损失较小的目标主机进行资源调度,以优先选择资源损失较小的主机进行资源调度,或者可以选择为资源调度请求分配资源之后,资源损失较小的目标主机来进行资源调度等,以保证进行资源调度之后的目标主机资源损失较小等,保证目标主机进行资源调度之后的资源分配率。

上述可分配资源向量与主方向向量的夹角计算方式可以参考上述剩余资源向量与主方向向量的夹角计算方式,此处不再重复赘述。

作为又一种可选方式,从候选主机集合中确定多个资源维度满足平衡要求的目标主机可以包括:

确定候选主机集合中各候选主机的剩余资源向量中资源剩余量最小的目标资源维度,及选择目标资源维度对应的资源剩余量最大的候选主机作为目标主机。

其中,不同候选主机对应的目标资源维度可能不同。例如,假设候选主机集合包括A、B、C三个候选主机,每个候选主机包括u,v,w三个资源维度,候选主机A资源剩余量最小的目标资源维度为u,对应的资源剩余量为10,候选主机B资源剩余量最小的目标资源维度为v,对应的资源剩余量为20,候选主机C资源剩余量最小的目标资源维度为w,对应的资源剩余量15,可知候选主机A的目标资源维度u对应的资源剩余量最小,候选主机A即可以作为目标主机。

需要说明的是,由于不同资源维度对应的统计单位可能不同,为了方便计算处理等,本申请实施例中所涉及的资源量可以具体是指归一化之后的数值,以方便进行比较等,具体归一化方式本申请对此不进行限定。

上述选择目标资源维度对应的资源剩余量最大的候选主机作为目标主机可以采用如下公式表示:

其中,r

其中,目标资源维度对应的资源也即为主机的瓶颈资源,优先选择瓶颈资源最大的主机进行资源调度,可以提高主机资源整体分配的,公平性越好,整体的资源分配率也会更优。

作为又一种可选方式,从候选主机集合中确定多个资源维度满足平衡要求的目标主机可以包括:

确定候选主机集合中各候选主机的可分配资源向量与请求资源向量的相似性,及选择相似性最大的候选主机作为目标主机。

其中,上述可分配资源向量与请求资源向量的相似性可以有多种计算方式,例如可以是计算候选主机集合中各候选主机的可分配资源向量与请求资源向量的点积,并将点积结果作为各候选主机的可分配资源向量与请求资源向量的相似性。该选择相似性最大的候选主机作为目标主机可以采用如下公式表示:

当然,也可以采用其它方式计算相似性,例如计算余弦距离或者欧式距离等表示两个向量之间的相似性,本申请对此不进行限定。

其中,点击越大,表示请求资源向量与主机的可分配资源向量越相似,资源请求量与可分配资源量越匹配,可以保证整体的资源分配率更优。

一些实施例中,上述资源损失模型例如可以按照如下方式构建:

确定至少一个影响资源调度的参数;

基于至少一个影响资源调度的参数以及分别对应的权重系数,构建资源损失模型。

其中,不同影响资源调度的参数分别对应的权重系数可以结合实际情况进行设定等,例如可以结合对不同参数对资源损失的影响程度而设定的,影响程度较大的资源调度影响因素可以设定较大的权重系数,影响程度较小的资源调度影响因素可以设定较小的权重系数等。由上文描述可知,可分配资源、资源平衡度以及资源碎片度会影响资源调度,该至少一个影响资源调度的参数可以包括分别度量可分配资源、资源平衡度以及资源碎片度的度量参数等,因此,也可以结合不同的资源调度方式来确定权重系数,例如采用优先将一个主机的资源分配殆尽之后,再对另一个主机进行资源调度的“紧凑”型资源调度方式,则可分配资源的度量参数所对应的权重系数可以设定较大的权重系数,又如采用在多个主机中分散进行资源调度的“打散”型资源调度方式下,可分配资源的度量参数所对应的权重系数可以设定较小的权重系数,其它度量参数设定较大的权重系数等。

作为一种可选方式,确定至少一个影响资源调度的参数可以包括:

基于资源向量参数的模值,确定度量可分配资源的度量参数;

基于资源向量参数与主方向向量的夹角,确定度量资源平衡度的度量参数;

基于资源向量参数中不同资源维度的资源分量,确定度量资源碎片度的度量参数。

可选地,例如可以具体是将资源向量参数的模值作为度量可分配资源的度量参数;当然,也可以是将资源向量参数的模值的平方作为度量可分配资源的度量参数等。

例如可以具体是将资源向量参数与主方向向量的夹角作为度量资源平衡度的度量参数等。

例如可以具体是将资源向量参数中不同资源维度的资源分量与碎片度系数的取余结果对应的和值,作为度量资源碎片度的度量参数。当然,也可以是将将多个资源维度的资源分量之和,作为度量资源碎片度的度量参数或者可以将多个资源维度的资源分量与碎片度系数的乘积值对应的和值,作为度量资源碎片度的度量参数等。

可选地,该资源损失模型例如可以采用如下损失函数表示:

L(R)=α‖R‖+βθ(R)+γ∑

其中,

其中,L(R)表示资源损失模型,R表示资源向量参数,‖R‖表示资源向量参数的模值,r

结合上文描述可知,该资源向量参数可以是指主机中的可分配资源向量,或者主机中可分配资源向量减去请求资源向量得到的剩余资源向量。

此外,作为另一种可选方式,确定至少一个影响资源调度的参数可以包括:

基于资源向量参数的模值,确定度量可分配资源的度量参数;

基于任意两个资源维度的资源分量差值,确定度量资源平衡度的度量参数;

基于不同资源维度的资源分量,确定度量资源碎片度的度量参数。

例如,可以将剩余资源向量模值的平方作为度量资源分配率的度量参数;或者可以将余资源向量模值作为度量资源分配率的度量参数等,

例如,可以将多个资源分量差值的平方对应的和值,作为度量资源平衡度的度量参数;

例如,可以将多个资源维度的资源分量之和,作为度量资源碎片度的度量参数或者可以将多个资源维度的资源分量与碎片度系数的乘积值对应的和值,作为度量资源碎片度的度量参数,或者可以将资源向量参数中不同资源维度的资源分量与碎片度系数的取余结果对应的和值,作为度量资源碎片度的度量参数等。

可选地,该资源损失模型例如可以采用如下损失函数表示:

其中,L(R)表示资源损失模型,R表示资源向量参数,‖R‖表示资源向量参数的模值,r

结合上文描述可知,该资源向量参数可以是指主机中的可分配资源向量,或者主机中可分配资源向量减去请求资源向量得到的剩余资源向量。

此外,确定目标主机之后,一些实施例中,该方法还可以包括:

在目标主机中为资源调度请求进行资源分配。

可以是请求资源向量中多个资源维度的资源分量进行资源分配,在云计算场景中,进行资源分配之后,即可以在目标主机中创建该资源调度请求对应的云计算产品等。

为了便于理解以云计算场景为例对本申请的技术方案进行介绍,云计算产品例如可以是云数据库,图4示出了在云计算场景中的交互示意图,第一云计算节点10可以接收资源调度请求,该资源调度请求可以是用户利用本地计算设备20所触发的,当然,也可以是基于待迁移的云数据库而生成的。

云计算系统可以包括由多个云计算节点构成的集群系统,每个云计算节点可以包括主机,用以提供资源。可以是由任意一个或者指定的云计算节点负责进行资源调度处理等。

第一云计算节点10响应于资源调度请求,可以确定基于至少一个影响资源调度的参数所构建的资源损失模型;之后,可以基于不同主机的可分配资源向量以及请求资源向量,利用资源损失模型计算不同主机的损失值;之后,确定损失值满足调度要求的候选主机集合,再从候选主机集合中,基于资源调度请求的请求资源向量确定多个资源维度的资源分量满足平衡要求的目标主机;具体实现可以详见前文相应实施例中所述,此处不再赘述。

第一云计算节点10确定目标主机之后,可以将资源调度请求发送至目标主机对应的第二云计算节点30,由第二云计算节点30为资源调度请求进行资源分配,并创建对应的云数据库。

通过本申请实施例的技术方案,通过构建基于向量化的资源损失模型,基于可分配资源向量利用资源损失模型评估主机的资源损失,从而可以筛选损失值满足调度要求的候选主机集合,并从中选择目标主机以为资源调度请求分配资源,且可分配资源向量包括多个资源维度,从多个资源维度综合考量来进行资源调度,可以降低资源碎片现象,保持资源平衡,从而提高了资源调度的准确性,提高了资源分配率,降低了资源成本。

图5为本申请实施例提供的一种资源调度装置一个实施例的结构示意图,该装置可以包括:

请求响应模块501,用于响应于资源调度请求,确定资源损失模型;

损失计算模块502,用于基于不同主机的可分配资源向量,利用资源损失模型计算不同主机的损失值;可分配资源向量由多个资源维度的资源分量构成;

第一确定模块503,用于确定损失值满足调度要求的候选主机集合;

第二确定模块504,用于从候选主机集合中确定为资源调度请求分配资源的目标主机。

一些实施例中,第二确定模块可以具体是基于资源调度请求的请求资源向量,从候选主机集合中确定多个资源维度的资源分量满足平衡要求的目标主机;其中,请求资源向量由多个资源维度的资源分量构成。

一些实施例中,损失计算模块可以具体是基于请求资源向量以及不同主机的可分配资源向量,利用资源损失模型计算不同主机的损失值。

一些实施例中,该装置还可以包括:

资源分配模块,用于在目标主机中为资源调度请求进行资源分配。

一些实施例中,损失计算模块可以具体是确定不同主机的可分配资源向量分别除去请求资源向量之后的剩余资源向量;将剩余资源向量输入资源损失模型,计算获得不同主机的损失值。

一些实施例中,第二确定模块可以具体是确定候选主机集合中各候选主机的可分配资源向量或剩余资源向量分别与主方向向量的夹角,及选择夹角最小的候选主机作为目标主机;

确定候选主机集合中各候选主机的剩余资源向量中资源剩余量最小的目标资源维度,及选择目标资源维度对应的资源剩余量最大的候选主机作为目标主机;

或者,

确定候选主机集合中各候选主机的可分配资源向量与请求资源向量的相似性,及选择相似性最大的候选主机作为目标主机。

一些实施例中,第二确定模块确定候选主机集合中各候选主机的可分配资源向量与请求资源向量的相似性,及选择相似性最大的候选主机作为目标主机可以包括:计算候选主机集合中各候选主机的可分配资源向量与请求资源向量的点积,并将点积结果作为各候选主机的可分配资源向量与请求资源向量的相似性;选择相似性最大的候选主机作为目标主机。

一些实施例中,该装置还可以包括:

模型构建模块,用于确定至少一个影响资源调度的参数;基于至少一个影响资源调度的参数以及分别对应的权重系数,构建资源损失模型。

一些实施例中,至少一个影响资源调度的参数包括分别度量可分配资源、资源平衡度以及资源碎片度的度量参数;模型构建模块确定至少一个影响资源调度的参数可以包括:基于资源向量参数的模值,确定度量可分配资源的度量参数;基于资源向量参数与主方向向量的夹角,确定度量资源平衡度的度量参数;基于资源向量参数中不同资源维度的资源分量,确定度量资源碎片度的度量参数。

一些实施例中,模型构建模块基于可分配资源向量的模值,确定度量可分配资源的度量参数包括:将资源向量参数的模值作为度量可分配资源的度量参数;

模型构建模块基于资源向量与主方向向量的夹角,确定度量资源平衡度的度量参数包括:将资源向量参数与主方向向量的夹角作为度量资源平衡度的度量参数;

模型构建模块基于资源向量中不同资源维度的资源分量,确定度量资源碎片度的度量参数包括:将资源向量参数中,不同资源维度的资源分量与碎片度系数的取余结果对应的和值,作为度量资源碎片度的度量参数。

一些实施例中,至少一个影响资源调度的参数包括分别度量可分配资源、资源平衡度以及资源碎片度的度量参数;模型构建模块确定至少一个影响资源调度的参数包括:基于剩余资源向量的模值,确定度量可分配资源的度量参数;基于任意两个资源维度的资源分量差值,确定度量资源平衡度的度量参数;基于不同资源维度的资源分量,确定度量资源碎片度的度量参数。

一些实施例中,第一确定模块可以具体是确定损失值小于或等于第一损失阈值的候选主机集合;或者,选择损失值与最小损失值的差值小于或等于第二损失阈值的候选主机集合。

图5所述的资源调度装置可以执行图2所示实施例所述的资源调度方法,其实现原理和技术效果不再赘述。对于上述实施例中的资源调度装置其中各个模块、单元执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

本申请实施例还提供了一种计算设备,如6图所示,该计算设备可以包括存储组件601以及处理组件602;

存储组件601存储一条或多条计算机指令,其中,该一条或多条计算机指令供该处理组件602调用执行,以实现如图2所示的资源调度方法。

当然,计算设备必然还可以包括其他部件,例如输入/输出接口、通信组件等。

输入/输出接口为处理组件和外围接口模块之间提供接口,上述外围接口模块可以是输出设备、输入设备等。通信组件被配置为便于计算设备和其他设备之间有线或无线方式的通信等。

其中,处理组件可以包括一个或多个处理器来执行计算机指令,以完成上述的方法中的全部或部分步骤。当然处理组件也可以为一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。

存储组件被配置为存储各种类型的数据以支持在终端的操作。存储组件可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。

显示组件可以为电致发光(EL)元件、液晶显示器或具有类似结构的微型显示器、或者视网膜可直接显示或类似的激光扫描式显示器。

需要说明的是,上述计算设备可以为物理设备或者云计算平台提供的弹性计算主机等。其可以实现成多个服务器或终端设备组成的分布式集群,也可以实现成单个服务器或单个终端设备。

本申请实施例还提供了一种计算机可读存储介质,存储有计算机程序,该计算机程序被计算机执行时可以实现上述图2所示实施例的资源调度方法。该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。

本申请实施例还提供了一种计算机程序产品,其包括承载在计算机可读存储介质上的计算机程序,该计算机程序被计算机执行时可以实现如上述如图2所示实施例的资源调度方法。在这样的实施例中,计算机程序可以是从网络上被下载和安装,和/或从可拆卸介质被安装。在该计算机程序被处理器执行时,执行本申请的系统中限定的各种功能。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

相关技术
  • 云计算集群资源调度方法、介质、装置和计算设备
  • 资源调度方法、系统及电子设备和存储介质
  • 资源调度指示方法、终端及网络设备
  • 云计算集群资源调度方法、介质、装置和计算设备
  • 链路资源调度方法、装置、计算设备及计算机存储介质
技术分类

06120115931255