CN109062683B - 主机资源分配的方法、装置及计算机可读存储介质 - Google Patents
主机资源分配的方法、装置及计算机可读存储介质 Download PDFInfo
- Publication number
- CN109062683B CN109062683B CN201810705660.8A CN201810705660A CN109062683B CN 109062683 B CN109062683 B CN 109062683B CN 201810705660 A CN201810705660 A CN 201810705660A CN 109062683 B CN109062683 B CN 109062683B
- Authority
- CN
- China
- Prior art keywords
- host
- resource allocation
- resource
- user
- users
- 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.)
- Active
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
- G06F9/5038—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 considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
Abstract
本发明公开了一种主机资源分配的方法,包括:获取主机群的可用资源信息,获取用户的优先级和请求的主机资源大小,依次确定各个所述用户在所述主机群的可用资源信息约束下的资源分配方案,从第n个用户在所述主机群的可用资源信息约束下的资源分配方案中确定第n个用户的目标主机资源分配方案并获取前n‑1个用户的资源分配方案,以得到n个用户的目标主机资源分配方案。本发明还公开了一种主机资源分配的装置和计算机可读存储介质。本发明通过依次确定多个用户中每个用户在主机群的可用资源信息约束下的资源分配方案,并在分配中考虑用户请求的优先级,从而在整体上提高对物理主机资源的利用率。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种主机资源分配的方法、主机资源分配的装置及计算机可读存储介质。
背景技术
在云计算IaaS模式中,云计算服务提供商以虚拟机(Virtual machine,VM)作为服务提供单元,向用户提供计算、网络、存储等基础设施资源。具体而言,云计算服务提供商提供各种虚拟机类型以供用户进行自由选择,虚拟机类型包含了不同的计算、网络、存储等资源的搭配组合;云计算平台根据用户选择的虚拟机类型,在其数据中心的物理主机上创建符合用户资源需求的虚拟机,并将其提供给用户使用。当面临大量的用户虚拟机创建请求时,云计算数据中心需要解决如何在物理主机之间分配用户的虚拟机创建请求的调度问题。
现有的云计算服务系统对物理主机资源的分配主要有两种分配方式。一种是FIFO(先进先出)算法,即按照用户资源请求到来的先后顺序进行资源分配;另一种是公平分配方式,即通过求解一个满足资源约束且以用户请求数的对数之和最大化为目标的数学模型得到资源分配方案。这两种分配方式均无法根据用户请求的优先级进行主机资源的分配,无法在整体上提高对物理主机资源的利用率。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明的主要目的在于提供一种主机资源分配的方法、主机资源分配的装置和计算机可读存储介质,旨在解决现有技术中无法根据用户请求的优先级进行主机资源的分配,从而无法在整体上提高对物理主机资源的利用率的技术问题。
为实现上述目的,本发明提供一种主机资源分配的方法,所述主机资源分配的方法包括如下步骤:
获取主机群的可用资源信息,其中,所述主机群的可用资源信息包括主机数目和各个所述主机的可用资源大小;
获取用户的优先级和请求的主机资源大小;
依次确定各个所述用户在所述主机群的可用资源信息约束下的资源分配方案,其中,总共有n个用户,当确定所述n个用户中第j个用户的资源分配方案时,前j-1个用户的资源分配方案已经确定,并且所述主机群中的各个主机的分配的资源大小小于或等于各个所述主机的可用资源大小;
从第n个用户在所述主机群的可用资源信息约束下的资源分配方案中确定第n个用户的目标主机资源分配方案并获取前n-1个用户的资源分配方案,以得到n个用户的目标主机资源分配方案,其中,在所述第n个用户的目标主机资源分配方案中,所述主机群中各个主机的分配的资源大小取最大值。
优选地,所述依次确定各个所述用户在所述主机群的可用资源信息约束下的资源分配方案的步骤包括:
对各个所述用户进行排序,生成用户队列,依次确定所述用户队列中每个用户在所述主机群的可用资源信息约束下的资源分配方案,在确定每个用户即第j个用户的资源分配方案时,获取前j-1个用户的各个资源分配方案并依次执行以下步骤:
获取前j-1个用户的第一资源分配方案对应的所述j-1个用户中请求被满足的用户的第一优先级累加值;
遍历所述主机群中的各个主机的剩余可用资源大小,当所述主机群中的第i台主机的剩余可用资源大小大于或等于所述第j个用户请求的资源大小时,根据所述第一优先级累加值和所述第j个用户的优先级计算对应的所述j个用户中请求被满足的用户的第二优先级累加值;
根据所述前j-1个用户的第一资源分配方案中所述主机群中各个主机的资源分配大小和所述第j个用户请求的资源大小判断是否存在对应的前j-1个用户的第二资源分配方案,存在时则获取对应的所述j-1个用户中请求被满足的用户的第三优先级累加值;
当所述第二优先级累加值大于所述第三优先级累加值时,确定所述第j个用户的资源分配方案为所述第j个用户的请求被所述第i台主机满足。
优选地,所述在确定每个用户即第j个用户的资源分配方案时,获取前j-1个用户的资源分配方案并执行以下步骤的步骤之前还包括:
获取j个用户请求的主机资源大小Wi,i=1,2,……,j,其中,每个所述用户的主机资源分配取值为Wi或0;
根据j个所述用户的资源分配取值的任意组合进行求和得到对应的所述j个用户的资源分配累加值集合Sj,其中,所述主机群中的各个所述主机的资源分配取值来自Sj,以标识Sj对应的所述主机群中第m种资源分配方案;
优选地,所述遍历所述主机群中的各个主机的剩余可用资源大小,当所述主机群中的第i台主机的剩余可用资源大小大于或等于所述第j个用户请求的资源大小时,根据所述第一优先级累加值和所述第j个用户的优先级计算对应的所述j个用户中请求被满足的用户的第二优先级累加值的步骤包括:
当所述主机群中的第i台主机的剩余可用资源大小大于或等于所述第j个用户请求的资源大小时,将所述CVm与所述第j个用户的优先级Vj的进行求和得到第二优先级累加值;
判断不等式CVm,<CVm+Vj是否成立;
当所述不等式成立时判定在所述第m′种资源分配方案下用户j的请求被第i台主机满足,并执行以下赋值:
优选地,所述对各个所述用户进行排序,生成用户队列,依次确定所述用户队列中每个用户在所述主机群的可用资源信息约束下的资源分配方案,在处理每个用户即第j个用户的资源分配方案时,获取前j-1个用户的各个资源分配方案并依次执行以下步骤的步骤包括:
优选地,所述对各个所述用户进行排序,生成用户队列,依次确定所述用户队列中每个用户在所述主机群的可用资源信息约束下的资源分配方案的步骤之后还包括:
当判定存在确定第j个用户的请求在第m种所述主机群的资源分配时不被满足,并执行以下赋值将Ij置成负值,当从第n个用户在所述主机群的可用资源信息约束下的资源分配方案中确定第n个用户的目标主机资源分配方案并获取前n-1个用户的资源分配方案时,丢弃用户的请求资源满足情况为负值的对应的资源分配方案:
优选地,所述从第n个用户在所述主机群的可用资源信息约束下的资源分配方案中确定第n个用户的目标主机资源分配方案并获取前n-1个用户的资源分配方案,以得到n个用户的目标主机资源分配方案的步骤包括:
将所述候选主机群资源分配方案对应的n个用户的资源请求满足情况作为n个用户的目标主机资源分配方案。
优选地,所述获取所述候选主机群资源分配假设对应的n个用户中的第n个用户的资源请求满足情况的步骤之还包括:
返回执行获取所述候选主机群资源分配方案对应的n个用户中的第n个用户的资源请求满足情况的步骤。
此外,为实现上述目的,本发明还提供所述主机资源分配的装置,该装置包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的主机资源分配处理程序,所述主机资源分配处理程序被所述处理器执行时实现如上所述的主机资源分配处理方法的步骤。
此外,为实现上述目的,本发明还提出一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有主机资源分配处理程序,所述主机资源分配处理程序被处理器执行时实现如上所述的主机资源分配方法的步骤。
本发明实施例提出的一种主机资源分配的方法、装置和可读计算机存储介质,获取主机群的可用资源信息,获取用户的优先级和请求的主机资源大小,依次确定各个所述用户在所述主机群的可用资源信息约束下的资源分配方案,从第n个用户在所述主机群的可用资源信息约束下的资源分配方案中确定第n个用户的目标主机资源分配方案并获取前n-1个用户的资源分配方案,以得到n个用户的目标主机资源分配方案,本发明通过依次确定多个用户中每个用户在主机群的可用资源信息约束下的资源分配方案,并在分配中考虑用户请求的优先级,从而在整体上提高对物理主机资源的利用率。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的终端结构示意图;
图2为本发明主机资源分配的方法第一实施例的流程示意图;
图3为本发明主机资源分配的方法第二实施例的流程示意图;
图4为本发明主机资源分配的方法第三实施例的流程示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例的主要解决方案是:获取主机群的可用资源信息,获取用户的优先级和请求的主机资源大小,依次确定各个所述用户在所述主机群的可用资源信息约束下的资源分配方案,从第n个用户在所述主机群的可用资源信息约束下的资源分配方案中确定第n个用户的目标主机资源分配方案并获取前n-1个用户的资源分配方案,以得到n个用户的目标主机资源分配方案。
由于现有技术中,无法根据用户请求的优先级进行主机资源的分配,从而无法在整体上提高对物理主机资源的利用率。
本发明提供一种解决方案,通过依次确定多个用户中每个用户在主机群的可用资源信息约束下的资源分配方案,并在分配中考虑用户请求的优先级,从而在整体上提高对物理主机资源的利用率。
如图1所示,图1是本发明实施例方案涉及的硬件运行环境的终端结构示意图。
本发明实施例终端为主机资源分配的装置。
如图1所示,该主机资源分配的装置可以包括:处理器1001,例如CPU,通信总线1002,存储器1003。其中,通信总线1002用于实现这些组件之间的连接通信。存储器1003可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1003可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1003中可以包括操作系统和主机资源分配处理程序。
在图1所示的装置中,处理器1001可以用于调用存储器1003中存储的主机资源分配处理程序,并执行以下操作:
获取主机群的可用资源信息,其中,所述主机群的可用资源信息包括主机数目和各个所述主机的可用资源大小;
获取用户的优先级和请求的主机资源大小;
依次确定各个所述用户在所述主机群的可用资源信息约束下的资源分配方案,其中,总共有n个用户,当确定所述n个用户中第j个用户的资源分配方案时,前j-1个用户的资源分配方案已经确定,并且所述主机群中的各个主机的分配的资源大小小于或等于各个所述主机的可用资源大小;
从第n个用户在所述主机群的可用资源信息约束下的资源分配方案中确定第n个用户的目标主机资源分配方案并获取前n-1个用户的资源分配方案,以得到n个用户的目标主机资源分配方案,其中,在所述第n个用户的目标主机资源分配方案中,所述主机群中各个主机的分配的资源大小取最大值。
进一步地,处理器1001可以调用存储器1003中存储的主机资源分配处理程序,还执行以下操作:
对各个所述用户进行排序,生成用户队列,依次确定所述用户队列中每个用户在所述主机群的可用资源信息约束下的资源分配方案,在确定每个用户即第j个用户的资源分配方案时,获取前j-1个用户的各个资源分配方案并依次执行以下步骤:
获取前j-1个用户的第一资源分配方案对应的所述j-1个用户中请求被满足的用户的第一优先级累加值;
遍历所述主机群中的各个主机的剩余可用资源大小,当所述主机群中的第i台主机的剩余可用资源大小大于或等于所述第j个用户请求的资源大小时,根据所述第一优先级累加值和所述第j个用户的优先级计算对应的所述j个用户中请求被满足的用户的第二优先级累加值;
根据所述前j-1个用户的第一资源分配方案中所述主机群中各个主机的资源分配大小和所述第j个用户请求的资源大小判断是否存在对应的前j-1个用户的第二资源分配方案,存在时则获取对应的所述j-1个用户中请求被满足的用户的第三优先级累加值;
当所述第二优先级累加值大于所述第三优先级累加值时,确定所述第j个用户的资源分配方案为所述第j个用户的请求被所述第i台主机满足。
进一步地,处理器1001可以调用存储器1003中存储的主机资源分配处理程序,还执行以下操作:
获取j个用户请求的主机资源大小Wi,i=1,2,……,j,其中,每个所述用户的主机资源分配取值为Wi或0;
根据j个所述用户的资源分配取值的任意组合进行求和得到对应的所述j个用户的资源分配累加值集合Sj,其中,所述主机群中的各个所述主机的资源分配取值来自Sj,以标识Sj对应的所述主机群中第m种资源分配方案;
进一步地,处理器1001可以调用存储器1003中存储的主机资源分配处理程序,还执行以下操作:
当所述主机群中的第i台主机的剩余可用资源大小大于或等于所述第j个用户请求的资源大小时,将所述CVm与所述第j个用户的优先级Vj的进行求和得到第二优先级累加值;
判断不等式CVm′<CVm+Vj是否成立;
当所述不等式成立时判定在所述第m′种资源分配方案下用户j的请求被第i台主机满足,并执行以下赋值:
进一步地,处理器1001可以调用存储器1003中存储的主机资源分配处理程序,还执行以下操作:
进一步地,处理器1001可以调用存储器1003中存储的主机资源分配处理程序,还执行以下操作:
当判定存在确定第j个用户的请求在第m种所述主机群的资源分配时不被满足,并执行以下赋值将Ij置成负值,当从第n个用户在所述主机群的可用资源信息约束下的资源分配方案中确定第n个用户的目标主机资源分配方案并获取前n-1个用户的资源分配方案时,丢弃用户的请求资源满足情况为负值的对应的资源分配方案:
进一步地,处理器1001可以调用存储器1003中存储的主机资源分配处理程序,还执行以下操作:
将所述候选主机群资源分配方案对应的n个用户的资源请求满足情况作为n个用户的目标主机资源分配方案。
进一步地,处理器1001可以调用存储器1003中存储的主机资源分配处理程序,还执行以下操作:
返回执行获取所述候选主机群资源分配方案对应的n个用户中的第n个用户的资源请求满足情况的步骤。
参照图2,本发明第一实施例提供一种主机资源分配的方法,所述方法包括:
步骤S10,获取主机群的可用资源信息,其中,所述主机群的可用资源信息包括主机数目和各个所述主机的可用资源大小。
主机群中包含多台物理主机,多台物理主机通过局域网或公网连接到网络中,具有主控功能的主控物理主机负责主机群中的多台物理主机的资源管理,包括物理主机的网络信息登记、物理主机的可用资源大小等。其中,物理主机的可用资源大小指可以分配给用户的主机软硬件资源大小。
步骤S20,获取用户的优先级和请求的主机资源大小。
用户按照预先约定好的通信协议中的消息格式和内容向主控物理主机发出请求,主控物理主机从接收到的请求中解析出用户的优先级和请求的主机资源大小。
步骤S30,依次确定各个所述用户在所述主机群的可用资源信息约束下的资源分配方案,其中,总共有n个用户,当确定所述n个用户中第j个用户的资源分配方案时,前j-1个用户的资源分配方案已经确定,并且所述主机群中的各个主机的分配的资源大小小于或等于各个所述主机的可用资源大小。
主机群的可用资源信息约束是指由主机数目和每台主机的可用资源大小所共同形成的资源分配限制,即主机数目和每台主机的可用资源大小决定了允许分配给所有用户的最大的资源大小的总和,进一步的,每台主机的可用资源大小决定了该主机允许分配给每个用户的最大资源大小。
在上述主机群的可用资源信息约束条件下依次确定各个用户在上述约束条件下的资源分配方案,其中,依次确定是指先确定n个用户中的第一个用户的资源分配方案,再确定第二个用户、第三个用户直至最后一个用户的资源分配方案。
需要说明的是,所谓确定n个用户中的第j个用户的资源分配方案具体是指确定了第j个用户的资源请求是否被满足,若被满足是由主机群中的哪一台主机满足。
以包含k台主机的主机群建立数学模型进行说明,该主机群中的每台主机的可用资源大小以Mi表示,i=1,2,……,k。主机群中的主控物理主机接收到n个用户的请求,每个用户的优先级以Vj表示,j=1,2,……,n,每个用户请求的主机资源大小以Wj表示,j=1,2,……,n。
在充分利用物理主机资源的前提下,为了尽可能增加所满足的用户请求的数量,并且在调度中需要考虑用户请求的优先级,即优先考虑满足优先级高的用户的请求,可以使主机群对用户的资源分配满足以下目标,即使被满足的用户的优先级累加值为最大值:
其中Zij用来标识是否由主机群中的第i台物理主机来满足用户j的请求,Zij=1表示满足,Zij=0表示不满足。
需要说明的是,上述被满足的用户的优先级累加值的目标需要在下面的约束条件下求取最大值:
可以理解的是,当确定n个用户中第j个用户的资源分配方案时,前j-1个用户的资源分配方案已经确定。在确定的前j-1个用户的资源分配方案中,主机群中的每台主机用于分配给j-1个用户的资源大小的总和小于其可用资源大小。
需要说明的是,当确定n个用户中第j个用户的资源分配方案时,确定的前j-1个用户的资源分配方案为多个并且对应的被满足的用户的优先级累加值不同。具体而言,由于随着分配的进行,每完成一个用户的分配方案后,对应的主机群中主机的剩余资源会减少,有可能导致下一个优先级高的用户的需求无法被满足,所以可以保留每次完成的一个用户的多个分配方案以及对应的累积的被满足的用户的优先级累加值,在确定了第n个用户的分配方案后,再从第n个用户的多个分配方案中按照一定的规则挑选出满足上述目标的最终的目标分配方案。
在上述建立的数学模型中以主机群有两台主机、主机的可用资源大小分别为2和4举例说明。假设当前有三个用户请求主机群进行资源分配,将三个用户依次编号为用户1、用户2、用户3,对应所请求的资源大小分别为1、2、3,优先级大小分别为1、2、3。依次确定各个用户在主机群的可用资源信息约束下的资源分配方案步骤为:
(1)先确定用户1的资源分配方案。用户1的资源分配方案可确定为两种,第一种为由主机1满足用户1的资源请求,第二种为不满足用户1的资源请求。
(2)基于用户1的两种资源分配方案可确定用户2的四种资源分配方案,分别为:第一种是在用户1的第一种资源分配方案情况下,由主机2满足用户2的资源请求,第二种为同样情况下不满足用户2的资源请求;第三种为在用户1的第二种资源分配方案情况下,由主机1满足用户2的资源请求,第四种为同样情况下不满足用户2的资源请求。
(3)基于用户2的四种资源分配方案可确定用户3的种资源分配方案,分别为:第一种是在用户2第一种资源分配方案情况下不满足用户3的资源请求;第二种是在用户2的第二种资源分配方案情况下由主机2满足用户3的资源请求,第三种为在同样情况下不满足用户3的资源请求;第四种是在用户2的第三种资源分配方案情况下由主机2满足用户3的资源请求,第五种为同样情况下不满足用户3的资源请求;第六种是在用户2的第四种资源分配方案情况下由主机2满足用户3的资源请求,第七种是在同样情况下不满足用户3的资源请求。
需要说明的是,依次确定各个用户在主机群的可用资源信息约束下的资源分配方案步骤所采取的方法可以有多种,上述举例所采用的方法为其中一种,在此不做限定。
步骤S40,从第n个用户在所述主机群的可用资源信息约束下的资源分配方案中确定第n个用户的目标主机资源分配方案并获取前n-1个用户的资源分配方案,以得到n个用户的目标主机资源分配方案,其中,在所述第n个用户的目标主机资源分配方案中,所述主机群中各个主机的分配的资源大小取最大值。
在第n个用户的目标主机的多个资源分配方案中,由于认为主机群分配的资源大小越大,则被满足的用户的优先级累加值取值为最大的可能性越大,所以选取主机群中各个主机的分配的资源大小取最大值对应的资源分配方案为目标资源分配方案。其中,可以采取多种方法选取主机群中各个主机的分配的资源大小取最大值的目标资源分配方案,例如可以选取主机群中各个主机分配的资源大小总和数目为最大值的资源分配方案,还可以依次对多个资源分配方案进行两两比较,在每一次的两两比较中,分别比较主机群中相同编号的主机分配的资源大小,并统计每个资源分配方案中主机分配的资源比另一个资源分配方案中相同编号的主机分配的资源要大的主机的数目,选取数目多的对应的资源分配方案。
在本实施例中,通过依次确定多个用户中每个用户在主机群的可用资源信息约束下的资源分配方案,并在分配中考虑用户请求的优先级,从而在整体上提高对物理主机资源的利用率。
进一步的,参照图3,本发明第二实施例基于第一实施例提供一种主机资源分配的方法,本实施例在步骤S30包括:
步骤S50,对各个所述用户进行排序,生成用户队列,依次确定所述用户队列中每个用户在所述主机群的可用资源信息约束下的资源分配方案,在确定每个用户即第j个用户的资源分配方案时,获取前j-1个用户的各个资源分配方案并依次执行以下步骤。
进一步地,在确定每个用户即第j个用户的资源分配方案,并获取前j-1个用户的各个资源分配方案时,需要执行以下步骤:
1)获取j个用户请求的主机资源大小Wi,i=1,2,……,j,其中,每个所述用户的主机资源分配取值为Wi或0。
当第i个用户的主机资源请求被满足时,对应的主机资源分配取值为Wi,当第i个用户的主机资源请求不被满足时,对应的主机资源分配取值为0。
2)根据j个所述用户的资源分配取值的任意组合进行求和得到对应的所述j个用户的资源分配累加值集合Sj,其中,所述主机群中的各个所述主机的资源分配取值来自Sj,以标识Sj对应的所述主机群中第m种资源分配方案。
例如主机群中有三台主机,当前有三个用户,分别的资源请求为1、2、3,那么用户1的资源分配取值为1或0,用户2的资源分配取值为2或0,用户3的资源分配取值为3或0,三个用户的资源分配取值集合为{0,1,2,3},对集合中元素的任何组合进行求值得到这三个用户的资源分配累加值集合S3={0,1,2,3,4,5,6}。其中,S3中的每一个元素都可以作为主机群中的主机的资源分配取值,可以用这些元素的组合分别组成不同的主机群中的主机分配方案并以进行标识,例如表示的第一种分配方案为:三台主机都不满足用户请求;表示第一台主机满足第一个用户的请求;表示第二台主机满足第一个用户的请求;表示第三台主机满足第一个用户的请求;表示一台主机满足第一个用户和第二个用户的请求。
步骤S60,获取前j-1个用户的第一资源分配方案对应的所述j-1个用户中请求被满足的用户的第一优先级累加值。
其中Vt为j-1个用户中第t个用户的优先级,Zit表示k台主机中第i台主机是否满足第t个用户的需求,当Zit为1时表示满足,为0时表示不满足。
步骤S70,遍历所述主机群中的各个主机的剩余可用资源大小,当所述主机群中的第i台主机的剩余可用资源大小大于或等于所述第j个用户请求的资源大小时,根据所述第一优先级累加值和所述第j个用户的优先级计算对应的所述j个用户中请求被满足的用户的第二优先级累加值。
当主机群中的第i台主机的剩余可用资源大小大于或等于第j个用户请求的资源大小时,将CVm与第j个用户的优先级Vj进行求和得到第二优先级累加值。
步骤S80,根据所述前j-1个用户的第一资源分配方案中所述主机群中各个主机的资源分配大小和所述第j个用户请求的资源大小判断是否存在对应的前j-1个用户的第二资源分配方案,存在时则获取对应的所述j-1个用户中请求被满足的用户的第三优先级累加值。
以主机群中包含三台主机为例进行说明,若前j-1个用户的第一资源分配方案中三台主机的资源分配大小集合为{x1,x2,x3},在上个步骤中确定了第二台主机的剩余可用资源大小大于第j个用户请求的资源大小Wj,那么由此获得三台主机的新的资源分配大小集合{x1,x2+Wj,x3},判断是否存在和这个新的资源分配大小集合对应的前j-1个用户的第二资源分配方案,如果存在前j-1个用户的第二资源分配方案获取对应的CVm′。
步骤S90,当所述第二优先级累加值大于所述第三优先级累加值时,确定所述第j个用户的资源分配方案为所述第j个用户的请求被所述第i台主机满足。
判断不等式CVm′<CVm+Vj是否成立;
当上述不等式成立时判定在第m′种资源分配方案下用户j的请求被第i台主机满足,并执行以下赋值:
本实施例中上述步骤的一种实现代码示例如下:
1、变量定义
第j个用户请求的资源大小wj和优先级vj
主机群中第i台主机的可用资源大小Mi;
主机群的资源分配方案为{x1,x2,…,xk}对应的请求被满足的用户优先级累加值CV(x1,x2,…,xk);
主机群的资源分配方案为{x1,x2,…,xk}对应的用户j请求被满足的情况记录Ij(x1,x2,…,xk)。
2、实现代码
进一步地,和Sj-1对应的主机群的资源分配方案为多个,将按照主机群中各个主机分配的资源大小从大到小的顺序进行排序,并对排序后的各种主机群的资源分配方案依次执行获取和对应的所述j-1个用户中请求被满足的用户的第一优先级累加值的步骤。具体为对应上述实现代码中,限定
当按照上述步骤依次确定了n个用户的资源分配方案后,可以按照下面的步骤获取最终的n个用户的目标主机资源分配方案:
(3)获取对应的第n个用户的资源请求满足情况当的取值为i(≠0)得知第i台主机为第n个用户分配的资源大小为wj,依次获取第n-1个用户、第n-2个用户直至第1个用户的目标资源分配方案和对应的资源请求满足情况,即获取满足这些用户的主机的编号和分配出去的资源大小,按主机分别累计其分配出去的资源大小作为该主机对应的资源分配方案,从而得到最终n个用户的整个主机群的分配方案。
需要说明的是,在依次获取n个用户中第j个用户的资源请求满足情况时,先将上一个获取到资源请求被满足的比如第j+1个用户的资源大小wj+1从对应的主机分配资源大小取值中减掉,再根据减掉之后的值来从第j个用户的多种资源分配方案中选出目标资源分配方案。以有五个用户、主机群中包含三台主机为例进行说明:先获取第五个用户的目标资源分配方案对应的三台主机的资源分配大小集合为{x1,x2,x3},并获知第5个用户的资源请求大小为w5并且被第三台主机满足,接着得到更新的三台主机的资源分配大小集合为{x1,x2,x3-w5};在挑选第4个用户的资源分配方案时,从第4个用户的多种资源分配方案中挑选出和该更新后的集合{x1,x2,x3-w5}对应的资源分配方案作为目标资源分配方案,按照类似的方法确定第3个用户、第2个用户、第1个用户的目标资源分配方案。
在本实施例中,通过根据用户的资源分配取值的任意组合进行求和得到对应的资源分配累加值集合,再确定和集合对应的所有资源分配方案,保证了最终得到的目标资源分配方案可以最大的提高主机群的物理主机资源利用率。
进一步的,参照图4,本发明第三实施例基于第二实施例提供一种主机资源分配的方法,本实施例在步骤S50之后还包括:
每个用户即第j个用户在主机群的可用资源信息约束下可能确定有多个资源分配方案,可以根据本步骤的方法从中排除一些方案,即获取待排除的方案对应的各个主机分配的资源大小取值和对应的CVm,查找是否存在比各个主机分配的资源大小取值要小、且优先级累加值比CVm大或相等的资源分配方案。优选地,在查找是否存在比各个主机分配的资源大小取值要小的资源分配方案时,可以依次将各个主机分配的资源大小取值降低进行遍历查找。
以主机群中包含三台主机为例进行说明,若第j个用户的一种资源分配方案中三台主机的资源分配大小集合为{2,3,5},对应的优先级累加值为10,可以先将第一台主机的资源分配大小取值减少为1,即查找是否存在和资源分配大小集合为{1,3,5}对应的并且其优先级累加值大于等于10的资源分配方案,如果不存在,可以将第一台主机的资源分配大小取值减少为0继续查找。
步骤S110,当判定存在确定第j个用户的请求在第m种所述主机群的资源分配时不被满足,并执行以下赋值将Ij置成负值,当从第n个用户在所述主机群的可用资源信息约束下的资源分配方案中确定第n个用户的目标主机资源分配方案并获取前n-1个用户的资源分配方案时,丢弃用户的请求资源满足情况为负值的对应的资源分配方案:
当从n个用户的资源分配累加值集合Sn对应的资源分配方案中确定为候选主机群资源分配方案时,中各个主机分配的资源大小取值为最大;获取候选主机群资源分配方案对应的第n个用户的资源请求满足情况当为非负值时,依次获取对应的剩余n-1个用户的资源请求满足情况;将候选主机群资源分配方案对应的n个用户的资源请求满足情况作为n个用户的目标主机资源分配方案。
在上述过程中,当的取值为负值时,重新从个n用户的资源分配累加值集合Sn对应的主机群资源分配方案中确定为候选主机群资源分配方案,其中,中各个主机分配的资源大小取值比中各个主机分配的资源大小取值小,并返回执行获取候选主机群资源分配方案对应的n个用户中的第n个用户的资源请求满足情况的步骤。需要说明的是,重新从个n用户的资源分配累加值集合Sn对应的主机群资源分配方案中确定的方法可以是逐渐、依次将各个主机分配的资源大小取值降低,直至找到的取值为不为负值为止。
在本实施例中,通过比较不同资源分配方案的主机分配资源的取值大小和优先级累加值大小排除非优方案,保证了最终得到的目标资源分配方案可以最大的提高主机群的物理主机资源利用率。
本发明还提供一种主机资源分配装置,该装置包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的主机资源分配处理程序,所述主机资源分配处理程序被所述处理器执行时实现所述的主机资源分配处理方法的步骤。
此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有主机资源分配处理程序,所述主机资源分配处理程序被处理器执行时实现所述的主机资源分配方法的步骤。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种主机资源分配的方法,其特征在于,所述主机资源分配的方法包括以下步骤:
获取主机群的可用资源信息,其中,所述主机群的可用资源信息包括主机数目和各个所述主机的可用资源大小;
获取用户的优先级和请求的主机资源大小;
根据所述优先级和所述请求的主机资源大小确定各个所述用户在所述主机群的可用资源信息约束下的资源分配方案,其中,总共有n个用户,当确定所述n个用户中第j个用户的资源分配方案时,前j-1个用户的资源分配方案已经确定,并且所述主机群中的各个主机的分配的资源大小小于或等于各个所述主机的可用资源大小;
从第n个用户在所述主机群的可用资源信息约束下的资源分配方案中确定第n个用户的目标主机资源分配方案并获取前n-1个用户的资源分配方案,以得到n个用户的目标主机资源分配方案,其中,在所述第n个用户的目标主机资源分配方案中,所述主机群中各个主机的分配的资源满足的用户的优先级累加值取值为最大。
2.如权利要求1所述的主机资源分配的方法,其特征在于,依次确定各个所述用户在所述主机群的可用资源信息约束下的资源分配方案的步骤包括:
对各个所述用户进行排序,生成用户队列,依次确定所述用户队列中每个用户在所述主机群的可用资源信息约束下的资源分配方案,在确定每个用户即第j个用户的资源分配方案时,获取前j-1个用户的各个资源分配方案并依次执行以下步骤:
获取前j-1个用户的第一资源分配方案对应的所述j-1个用户中请求被满足的用户的第一优先级累加值;
遍历所述主机群中的各个主机的剩余可用资源大小,当所述主机群中的第i台主机的剩余可用资源大小大于或等于所述第j个用户请求的资源大小时,根据所述第一优先级累加值和所述第j个用户的优先级计算对应的所述j个用户中请求被满足的用户的第二优先级累加值;
根据所述前j-1个用户的第一资源分配方案中所述主机群中各个主机的资源分配大小和所述第j个用户请求的资源大小判断是否存在对应的前j-1个用户的第二资源分配方案,存在时则获取对应的所述j-1个用户中请求被满足的用户的第三优先级累加值;
当所述第二优先级累加值大于所述第三优先级累加值时,确定所述第j个用户的资源分配方案为所述第j个用户的请求被所述第i台主机满足。
3.如权利要求2所述的主机资源分配的方法,其特征在于,所述在确定每个用户即第j个用户的资源分配方案时,获取前j-1个用户的资源分配方案并执行以下步骤的步骤之前还包括:
获取j个用户请求的主机资源大小Wi,i=1,2,……,j,其中,每个所述用户的主机资源分配取值为Wi或0;
根据j个所述用户的资源分配取值的任意组合进行求和得到对应的所述j个用户的资源分配累加值集合Sj,其中,所述主机群中的各个所述主机的资源分配取值来自Sj,以标识Sj对应的所述主机群中第m种资源分配方案;
4.如权利要求3所述的主机资源分配的方法,其特征在于,所述遍历所述主机群中的各个主机的剩余可用资源大小,当所述主机群中的第i台主机的剩余可用资源大小大于或等于所述第j个用户请求的资源大小时,根据所述第一优先级累加值和所述第j个用户的优先级计算对应的所述j个用户中请求被满足的用户的第二优先级累加值的步骤包括:
当所述主机群中的第i台主机的剩余可用资源大小大于或等于所述第j个用户请求的资源大小时,将所述CVm与所述第j个用户的优先级Vj的进行求和得到第二优先级累加值;
判断不等式CVm′<CVm+Vj是否成立;
当所述不等式成立时判定在第m′种资源分配方案下用户j的请求被第i台主机满足,并执行以下赋值:
6.如权利要求3所述的主机资源分配的方法,其特征在于,所述对各个所述用户进行排序,生成用户队列,依次确定所述用户队列中每个用户在所述主机群的可用资源信息约束下的资源分配方案的步骤之后还包括:
当判定存在确定第j个用户的请求在第m种所述主机群的资源分配时不被满足,并执行以下赋值将Ij置成负值,当从第n个用户在所述主机群的可用资源信息约束下的资源分配方案中确定第n个用户的目标主机资源分配方案并获取前n-1个用户的资源分配方案时,丢弃用户的请求资源满足情况为负值的对应的资源分配方案:
7.如权利要求6所述的主机资源分配的方法,其特征在于,所述从第n个用户在所述主机群的可用资源信息约束下的资源分配方案中确定第n个用户的目标主机资源分配方案并获取前n-1个用户的资源分配方案,以得到n个用户的目标主机资源分配方案的步骤包括:
将所述候选主机群资源分配方案对应的n个用户的资源请求满足情况作为n个用户的目标主机资源分配方案。
9.一种主机资源分配的装置,其特征在于,所述装置包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的主机资源分配处理程序,所述主机资源分配处理程序被所述处理器执行时实现如权利要求1至8中任一项所述的主机资源分配方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有主机资源分配处理程序,所述主机资源分配处理程序被处理器执行时实现如权利要求1至8中任一项所述的主机资源分配方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810705660.8A CN109062683B (zh) | 2018-06-29 | 2018-06-29 | 主机资源分配的方法、装置及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810705660.8A CN109062683B (zh) | 2018-06-29 | 2018-06-29 | 主机资源分配的方法、装置及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109062683A CN109062683A (zh) | 2018-12-21 |
CN109062683B true CN109062683B (zh) | 2022-03-18 |
Family
ID=64818197
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810705660.8A Active CN109062683B (zh) | 2018-06-29 | 2018-06-29 | 主机资源分配的方法、装置及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109062683B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112019366B (zh) * | 2019-05-31 | 2022-02-01 | 北京金山云网络技术有限公司 | 物理主机的租赁方法、装置、云平台及可读存储介质 |
CN110347512B (zh) * | 2019-07-12 | 2023-05-12 | 北京天云融创软件技术有限公司 | 一种多组件异构资源需求的资源调度方法 |
CN111242473B (zh) * | 2020-01-09 | 2022-06-17 | 北京三快在线科技有限公司 | 资源调度方法、装置、电子设备及可读存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6154769A (en) * | 1998-03-27 | 2000-11-28 | Hewlett-Packard Company | Scheduling server requests to decrease response time and increase server throughput |
CN102761469A (zh) * | 2011-04-27 | 2012-10-31 | 阿里巴巴集团控股有限公司 | 一种资源池的分配方法和装置 |
CN103248659A (zh) * | 2012-02-13 | 2013-08-14 | 北京华胜天成科技股份有限公司 | 一种云计算资源调度方法和系统 |
CN104079503A (zh) * | 2013-03-27 | 2014-10-01 | 华为技术有限公司 | 一种资源分配方法及装置 |
CN104407925A (zh) * | 2014-12-10 | 2015-03-11 | 中国电信集团系统集成有限责任公司 | 一种动态的资源分配方法 |
CN104657214A (zh) * | 2015-03-13 | 2015-05-27 | 华存数据信息技术有限公司 | 一种基于多队列和多优先级的大数据任务管理系统和方法 |
CN107547596A (zh) * | 2016-06-27 | 2018-01-05 | 中兴通讯股份有限公司 | 一种基于Docker的云平台控制方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
ATE458220T1 (de) * | 2005-09-12 | 2010-03-15 | Siemens Ag | Verfahren zur steuerung eines zugriffs auf ressourcen eines datenverarbeitungssystems und steuerungsprogramm |
-
2018
- 2018-06-29 CN CN201810705660.8A patent/CN109062683B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6154769A (en) * | 1998-03-27 | 2000-11-28 | Hewlett-Packard Company | Scheduling server requests to decrease response time and increase server throughput |
CN102761469A (zh) * | 2011-04-27 | 2012-10-31 | 阿里巴巴集团控股有限公司 | 一种资源池的分配方法和装置 |
CN103248659A (zh) * | 2012-02-13 | 2013-08-14 | 北京华胜天成科技股份有限公司 | 一种云计算资源调度方法和系统 |
CN104079503A (zh) * | 2013-03-27 | 2014-10-01 | 华为技术有限公司 | 一种资源分配方法及装置 |
CN104407925A (zh) * | 2014-12-10 | 2015-03-11 | 中国电信集团系统集成有限责任公司 | 一种动态的资源分配方法 |
CN104657214A (zh) * | 2015-03-13 | 2015-05-27 | 华存数据信息技术有限公司 | 一种基于多队列和多优先级的大数据任务管理系统和方法 |
CN107547596A (zh) * | 2016-06-27 | 2018-01-05 | 中兴通讯股份有限公司 | 一种基于Docker的云平台控制方法及装置 |
Non-Patent Citations (2)
Title |
---|
A Bandwidth Allocation Policy for Helpers in Cloud-Assisted P2P Video-on-Demand Systems;Guowei Huang,Lingjing Kong,Keke Wu,Zhi Chen;《IEEE Xplore》;20170907;全文 * |
基于MQTT协议与开源硬件的智能监控系统;陈建刚,黄国伟,刘星明,邱晓彬,李子贤;《单片机与嵌入式系统应用》;20180103;第17卷(第10期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN109062683A (zh) | 2018-12-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108345501B (zh) | 一种分布式资源调度方法和系统 | |
US7203747B2 (en) | Load balancing system and method in a multiprocessor system | |
CN109062683B (zh) | 主机资源分配的方法、装置及计算机可读存储介质 | |
EP3380937A1 (en) | Techniques for analytics-driven hybrid concurrency control in clouds | |
KR101471749B1 (ko) | 클라우드 서비스의 가상자원 할당을 위한 퍼지 로직 기반의 자원평가 장치 및 방법 | |
CN109710406B (zh) | 数据分配及其模型训练方法、装置、及计算集群 | |
CN108681481B (zh) | 业务请求的处理方法及装置 | |
CN104881322A (zh) | 一种基于装箱模型的集群资源调度方法及装置 | |
CN111225050A (zh) | 云计算资源分配方法及装置 | |
CN112148468A (zh) | 一种资源调度方法、装置、电子设备及存储介质 | |
CN112261115B (zh) | 一种资源分配的方法、装置及计算机存储介质 | |
CN115292016A (zh) | 基于人工智能的任务调度方法及相关设备 | |
CN112150023A (zh) | 任务分配方法、装置及存储介质 | |
CN117097806A (zh) | 一种微服务调用图部署和请求路由联合优化方法及系统 | |
CN112888005A (zh) | 一种面向mec的分布式业务调度方法 | |
US8924481B2 (en) | Apparatus for routing requests | |
CN109495565B (zh) | 基于分布式泛在计算的高并发服务请求处理方法和设备 | |
CN109491775B (zh) | 一种用于边缘计算环境下的任务处理与调度方法 | |
Patel et al. | A survey on load balancing in cloud computing | |
CN116915869A (zh) | 基于云边协同的时延敏感型智能服务快速响应方法 | |
JP6582628B2 (ja) | 処理割当方法、処理割当装置、及び処理割当プログラム | |
CN115361349B (zh) | 资源使用方法和装置 | |
CN115098240B (zh) | 一种多处理器应用调度方法和系统及存储介质 | |
CN113946430B (zh) | 一种作业调度方法、计算设备及存储介质 | |
CN115525434A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |