发明内容
为此,本发明提供了一种服务资源的调度方法及系统,以力图解决或者至少缓解上面存在的至少一个问题。
根据本发明的一个方面,提供了一种服务资源的调度方法,该服务布置在计算设备上,计算设备布置在机房内各机柜中的机架上,包括步骤:根据各计算设备的资源消耗数据预测各计算设备在预定时刻的资源消耗预测值;根据各计算设备的资源消耗预测值确认各计算设备所在机架在预定时刻的用电功率预测值;判断用电功率预测值是否满足预定条件;以及当用电功率预测值不满足预定条件时,结合计算设备上各服务的资源消耗数据和目标函数将服务重新分配到各计算设备上。
可选地,在根据本发明的方法中,根据各计算设备的资源消耗数据预测各计算设备在预定时刻的资源消耗预测值的步骤包括:采集各计算设备上所有服务的资源消耗数据并得到各服务的资源消耗趋势;根据各服务的资源消耗趋势确定各服务在预定时刻的资源消耗预测值;以及根据计算设备上所有服务的资源消耗预测值得到计算设备的资源消耗预测值。
可选地,在根据本发明的方法中,根据各服务的资源消耗趋势确定各服务在预定时刻的资源消耗预测值的步骤还包括:预先构建各服务的资源消耗预测函数,根据资源消耗预测函数确定服务在预定时刻的资源消耗预测值。
可选地,在根据本发明的方法中,预先构建各服务的资源消耗预测函数的步骤包括:通过傅里叶变换抽取服务的资源消耗数据的周期性;以及根据服务的资源消耗趋势和周期性构建服务的资源消耗趋势函数。
可选地,在根据本发明的方法中,还包括步骤:采集机房内机架的用电功率数据,其中机架的用电功率数据包括布置在机架上的计算设备的用电功率数据。
可选地,在根据本发明的方法中,根据各计算设备的资源消耗预测值确认各计算设备所在机架在预定时刻的用电功率预测值的步骤包括:预先构建各计算设备的资源消耗数据和计算设备所在机架的用电功率数据的关系函数;以及通过关系函数根据各计算设备在预定时刻的资源消耗预测值确认出各计算设备所在机架的用电功率预测值。
可选地,在根据本发明的方法中,判断用电功率预测值是否满足预定条件的步骤包括:根据各机架的用电功率预测值确认各机架所在机柜的用电功率预测值和机柜所在机房的用电功率预测值;以及判断机柜的用电功率预测值是否大于该机柜的额定功率、且机房的用电功率预测值是否大于该机房的额定功率。
可选地,在根据本发明的方法中,判断用电功率预测值是否满足预定条件的步骤包括:当机柜的用电功率预测值大于该机柜的额定功率、和/或、机房的用电功率预测值大于该机房的额定功率时,确认用电功率预测值不满足预定条件。
可选地,在根据本发明的方法中,结合计算设备上各服务的资源消耗数据和目标函数将服务重新分配到各计算设备上的步骤包括:按照预定规则确认至少一个候选计算设备;根据各服务的资源消耗数据计算待分配服务与各候选计算设备上已分配服务的资源消耗相似度值;以及结合相似度值和目标函数为待分配服务匹配相应的计算设备。
可选地,在根据本发明的方法中,按照预定规则确认至少一个候选计算设备的步骤包括:按照资源消耗预测值从高到低的顺序对所有服务进行排序,并按照排序依次为服务分配计算设备;以及按照预定规则从所有计算设备中筛选出可分配服务的计算设备,作为候选计算设备。
可选地,在根据本发明的方法中,目标函数表示为:min(Cost),其中
其中,Cost表示电费,site表示机房总数,Price表示机房所在地区的用电单价,carbinet表示机柜总数,Power表示机柜的用电功率数据。
可选地,在根据本发明的方法中,服务的资源消耗预测函数表示为:y(t)=T(t)+P(t)+ε,其中,y(t)表示时刻t的资源消耗预测值,T(t)表示资源消耗趋势函数,P(t)表示资源消耗数据的周期函数,ε表示误差。
根据本发明的又一方面,提供了一种服务资源的调度系统,服务布置在计算设备上,计算设备布置在机房内各机柜中的机架上,系统包括:采集器,适于采集各机房内各计算设备上所有服务的资源消耗数据;数据处理模块,适于根据各计算设备的资源消耗数据预测各计算设备在预定时刻的资源消耗预测值,还适于根据各计算设备的资源消耗预测值确认各计算设备所在机架在预定时刻的用电功率预测值,并判断用电功率预测值是否满足预定条件;以及调度模块,适于在用电功率预测值不满足预定条件时,结合计算设备上各服务的资源消耗数据和目标函数将服务重新分配到各计算设备上。
可选地,在根据本发明的系统中,采集器还适于采集机房内各机架的用电功率数据,其中机架的用电功率数据包括布置在其上的计算设备的用电功率数据。
可选地,在根据本发明的系统中,还包括调度模型构建模块,适于预先构建各服务的资源消耗预测函数,以便数据处理模块根据资源消耗预测函数确定服务在预定时刻的资源消耗预测值。
可选地,在根据本发明的系统中,调度模型构建模块还适于预先构建计算设备的资源消耗值和计算设备所在机架的用电功率数据的关系函数,以便于数据处理模块通过关系函数根据计算设备在预定时刻的资源消耗预测值确认出计算设备所在机架的用电功率预测值。
根据本发明的再一方面,提供了一种计算设备,包括:一个或多个处理器;和存储器;一个或多个程序,其中一个或多个程序存储在存储器中并被配置为由一个或多个处理器执行,一个或多个程序包括用于执行如上所述方法中的任一方法的指令。
根据本发明的再一方面,提供了一种存储一个或多个程序的计算机可读存储介质,一个或多个程序包括指令,该指令当计算设备执行时,使得计算设备执行如上所述的方法中的任一方法。
根据本发明的服务资源的调度方案,基于计算设备上各服务的资源消耗数据来预测计算设备在未来某个预定时刻的资源消耗预测值及机架上的用电功率预测值。当用电功率预测值不能满足预定条件时,结合计算设备上各服务的资源消耗数据和目标函数对服务资源进行调度,将单元云上的服务重新分配到各计算设备上。其中目标函数考虑了各机房所在地域的电费成本。综上,根据本发明的调度方案能够兼顾资源消耗和电费成本,达到节能降成本的目的。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1示出了根据本发明一个实施例的服务资源的调度系统100的示意图。在实际应用中,云服务(以下均简称为“服务”)布置在计算设备(通常称为“主机”)上,或者说,通过计算设备提供相关的服务(如云计算)。服务可以是在计算设备上分配的虚拟机器或者应用程序,以为用户提供相关的服务产品。计算设备的物理位置通常按照地域、机房、机柜、机架四个范围指标由大至小进行部署,最终每台计算设备落在单个机架上。图1中对机房101、机柜102、机架103的数目和布局仅作为示意,本发明的实施例对此不做限制。每个机柜、机房在额定供电功率下,承载着诸多用户的云服务。计算设备可以分散在多个计算设备、计算集群或数据中心中,还可以驻留在多个地理位置中,最终形成散落在各地理位置的机房。
如图1所示,根据本发明实现方式的服务资源的调度系统100至少包括:采集器110、数据处理模块120和调度模块130。以下将对调度系统100的各组成部分进行一一介绍。
采集器110布置在机房中,用于采集机房内的资源消耗数据(例如,部署在计算设备上的服务所消耗的计算设备上的CPU、内存、磁盘资源等)和用电功率数据(用电功率指在单位时间内所消耗的能量的数量)。取决于期望的配置,采集器110包括两类:资源消耗采集器和功率消耗采集器。其中,资源消耗采集器可以布置在计算设备上,用于采集各计算设备上所有服务的资源消耗数据。功率消耗采集器除了布置在计算设备上之外,还可以布置在机架、机柜、机房内的各种设备上,用于采集机房内各种设备(如散热设备、稳压设备、路由设备等)的用电功率数据。需要说明的是,图1中对采集器110的位置描述仅作为示意。同时,所采集到的资源消耗数据和用电功率数据都是一系列的时序数据。以计算设备为例,计算设备的资源消耗数据至少包含“时间戳、计算设备标识符(例如主机名、主机IP)、消耗资源名(如CPU、内存、磁盘等)、资源消耗值”,计算设备的用电功率数据至少包含“时间戳、计算设备标识符(例如主机名、主机IP)、该时间戳对应的用电功率值”。
数据处理模块120与采集器110相耦接,根据各计算设备的资源消耗数据预测各计算设备在预定时刻的资源消耗预测值。同时,数据处理模块120还可以根据各计算设备的资源消耗预测值确认计算设备所在机架在预定时刻的用电功率预测值,并判断该用电功率预测值是否满足预定条件。
当确认该用电功率预测值不满足预定条件时,数据处理模块120发送指令至与之耦接的调度模块130,调度模块130结合计算设备上各服务的资源消耗数据和目标函数将服务重新分配到各计算设备上。需要说明的是,调度模块130对服务资源的调度一般以单元云为单位,即对某一地区的所有机房的所有计算设备进行调度。在一种优选的实施例中,数据处理模块120与调度模块130之间通过一个触发器(未示出)相连,数据处理模块120将所预测的计算设备在预定时刻的用电功率预测值发送给触发器,当该用电功率预测值不满足预定条件时,触发器触发调度模块130进行在线调度,即结合计算设备上各服务的资源消耗数据和目标函数将服务重新分配到各计算设备上。在根据本发明的一个实施例中,目标函数设为机房的预期电费成本最低。若该用电功率预测值满足预定条件,则无需进行调度,调度模块130处入休眠状态。或者在调度完成时,调度模块130进入休眠状态。
根据一种实施例,在系统100中,采集器110、数据处理模块120和调度模块130共同构成了系统100的实时部分,除此之外,系统100还包括调度模型构建模块140,作为系统100的离线部分。调度模型构建模块140与数据处理模块120相耦接,用来预先构建各服务的资源消耗预测函数,以便数据处理模块120根据资源消耗预测函数确定服务在预定时刻的资源消耗预测值。此外,调度模型构建模块140还能够预先构建计算设备的资源消耗值和计算设备所在机架的用电功率值的关系函数,以便于数据处理模块120通过该关系函数根据计算设备在预定时刻的资源消耗预测值确认出该计算设备所在机架的用电功率预测值。
根据本发明的实施方式,离线部分的模型(即,服务的资源消耗预测函数和计算设备对应的关系函数)是需要定时更新的。根据云数据库日/星期的周期性的使用特性,采取调度模型构建模块140每日定时更新一次离线部分的模型的方式,但不限于此。
根据本发明的实施方式,系统100可以由一个或多个计算设备来实现。在一些实施例中,除了布置在机房中的计算设备外,系统100及其中各组成部分,均可以通过如下所述的计算设备200来实现。
图2示出了根据本发明一个实施例的计算设备200的示意图。
如图2所示,在基本的配置202中,计算设备200典型地包括系统存储器206和一个或者多个处理器204。存储器总线208可以用于在处理器204和系统存储器206之间的通信。
取决于期望的配置,处理器204可以是任何类型的处理,包括但不限于:微处理器(μP)、微控制器(μC)、数字信息处理器(DSP)或者它们的任何组合。处理器204可以包括诸如一级高速缓存210和二级高速缓存212之类的一个或者多个级别的高速缓存、处理器核心214和寄存器216。示例的处理器核心214可以包括运算逻辑单元(ALU)、浮点数单元(FPU)、数字信号处理核心(DSP核心)或者它们的任何组合。示例的存储器控制器218可以与处理器204一起使用,或者在一些实现中,存储器控制器218可以是处理器204的一个内部部分。
取决于期望的配置,系统存储器206可以是任意类型的存储器,包括但不限于:易失性存储器(诸如RAM)、非易失性存储器(诸如ROM、闪存等)或者它们的任何组合。系统存储器206可以包括操作系统220、一个或者多个应用222以及程序数据224。在一些实施方式中,应用222可以布置为在操作系统上由一个或多个处理器204利用程序数据224执行指令。
计算设备200还可以包括有助于从各种接口设备(例如,输出设备242、外设接口244和通信设备246)到基本配置202经由总线/接口控制器230的通信的接口总线240。示例的输出设备242包括图形处理单元248和音频处理单元250。它们可以被配置为有助于经由一个或者多个A/V端口252与诸如显示器或者扬声器之类的各种外部设备进行通信。示例外设接口244可以包括串行接口控制器254和并行接口控制器256,它们可以被配置为有助于经由一个或者多个I/O端口258和诸如输入设备(例如,键盘、鼠标、笔、语音输入设备、触摸输入设备)或者其他外设(例如打印机、扫描仪等)之类的外部设备进行通信。示例的通信设备246可以包括网络控制器260,其可以被布置为便于经由一个或者多个通信端口264与一个或者多个其他计算设备262通过网络通信链路的通信。
网络通信链路可以是通信介质的一个示例。通信介质通常可以体现为在诸如载波或者其他传输机制之类的调制数据信号中的计算机可读指令、数据结构、程序模块,并且可以包括任何信息递送介质。“调制数据信号”可以是这样的信号,它的数据集中的一个或者多个或者它的改变可以在信号中编码信息的方式进行。作为非限制性的示例,通信介质可以包括诸如有线网络或者专线网络之类的有线介质,以及诸如声音、射频(RF)、微波、红外(IR)或者其它无线介质在内的各种无线介质。这里使用的术语计算机可读介质可以包括存储介质和通信介质二者。
计算设备200可以实现为服务器,例如文件服务器、数据库服务器、应用程序服务器和WEB服务器等,也可以实现为包括桌面计算机和笔记本计算机配置的个人计算机。当然,计算设备200也可以实现为小尺寸便携(或者移动)电子设备的一部分。在根据本发明的实施例中,计算设备200可以被配置为执行根据本发明的服务资源的调度方法300,通过在计算设备200的程序数据224中存储包括执行方法300的多条程序指令,来实现服务资源的调度。
图3示出了根据本发明一个实施例的服务资源的调度方法300的流程图。以下将结合图1及上文对系统100的相关介绍,详细介绍系统100执行方法300的过程。
如图3所示,方法300始于步骤S310。在步骤S310中,采集器110将采集到的至少一个机房中的计算设备的资源消耗数据发送给数据处理模块120,数据处理模块120根据机房内各计算设备的资源消耗数据预测各计算设备在预定时刻的资源消耗预测值。
根据一种实施方式,步骤S310具体包括如下几步:
第一步,采集器110采集机房内布置在各计算设备上所有服务的资源消耗数据并传送给数据处理模块120,由数据处理模块120分析得到各服务的资源消耗趋势。关于资源消耗数据的具体说明可参见前文中关于采集器110的相关介绍。根据一种实施例,对于每个服务,其具有相应的一系列资源消耗数据,这些资源消耗数据都是时序数据,按时间戳顺序就可以得到该服务的资源消耗趋势。
第二步,数据处理模块120根据各服务的资源消耗趋势确定各服务在预定时刻的资源消耗预测值。
根据本发明的一种实施例,数据处理模块120一方面从采集器110中拉取各服务的资源消耗数据,一方面从调度模型构建模块140处获取服务的资源消耗预测函数,结合资源消耗预测函数和当前时刻之前一段时间的资源消耗数据,计算得到该服务在未来预定时刻的资源消耗预测值。
调度模型构建模块140根据服务的历史资源消耗数据拟合得出该服务的资源消耗趋势函数。在一种实施例中,调度模型构建模块140按照如下方式构建各服务的资源消耗预测函数:1)先通过傅里叶变换抽取服务的资源消耗数据的周期性,得到该服务的周期函数;2)再根据该服务的资源消耗趋势和周期性构建出该服务的资源消耗趋势函数。在一些实施例中,通过广义加和模型来构建服务的资源消耗趋势函数,如按照公式(1)表示:
y(t)=T(t)+P(t)+ε (1)
式中,t表示时刻,y(t)表示服务的资源消耗预测值,T(t)表示服务的资源消耗趋势,P(t)表示服务的周期函数,ε表示误差常数。
数据处理模块120将预定时刻代入如式(1)所表示的服务的资源消耗趋势函数,即得到该服务在预定时刻的资源消耗预测值。根据本发明的实施方式,预定时刻的选取通常是结合数据准确性、数据迁移耗时的时间成本等因素来综合考虑,在一种优选的实施例中,预定时刻设为自当前时间起第三日。
第三步,根据计算设备上所有服务的资源消耗预测值得到该计算设备的资源消耗预测值。根据一种实施例,将计算设备上所有服务在预定时刻的资源消耗预测值相加,就得到该计算设备在预定时刻的资源消耗预测值。
此外,如前文所述,采集器110还会采集机房内的用电功率数据并将其发送至数据处理模块120。其中机房的用电功率数据包括该机房内所有机柜的用电功率数据,机柜的用电功率数据包括该机柜内所有机架的用电功率数据,机架的用电功率数据又包括机架上计算设备的用电功率数据。关于计算设备的用电功率数据的描述可参照前文关于采集器110的相关描述,此处不再赘述。
随后在步骤S320中,数据处理模块120根据各计算设备的资源消耗预测值确认各计算设备所在机架在预定时刻的用电功率预测值。
根据各计算设备的资源消耗预测值确认各计算设备在预定时刻的用电功率预测值的步骤包括:由调度模型构建模块140预先构建计算设备的资源消耗数据和该计算设备所在机架的用电功率数据的关系函数;而后数据处理模块120通过调用计算设备对应的关系函数、根据计算设备在预定时刻的资源消耗预测值确认出该计算设备所在机架的用电功率预测值。
根据一种实施方式,调度模型构建模块140对计算设备的资源消耗数据和该计算设备所在机架的用电功率数据进行拟合,得到该计算设备对应的关系函数。在一个优选的实施例中,关系函数是资源消耗与用电功率的边际函数,它表示了资源消耗的单位变化所带来的用电功率变化量。关系函数可以按照式(2)表示:
ΔP=f(m) (2)
式中,m表示计算设备的资源消耗数据,P表示计算设备所在机架的用电功率数据。
在一些优选的实施例中,考虑到资源消耗数据囊括很多指标(将每个指标作为一个资源消耗变量),这些变量之间大多具有强相关性,所以,调度模型构建模块140会对计算设备的资源消耗数据进行一些预处理,以消除或者降低资源消耗变量之间的相关性,将预处理后的资源消耗数据作为m。由于用电功率与资源的使用率是成正相关的,故通过线性拟合其回归方程,就可以计算得到如式(2)所表示的边际函数。预处理例如可以是主成分分析,经主成分分析后将线性相关的资源消耗变量转化为线性不相关的资源消耗变量,本发明的实施例对预处理的具体算法不做限制。
以放置在机架B上的计算设备A为例,在根据本发明的实施例中,调度模型构建模块140预先利用计算设备A上的资源消耗数据和机架B上的用电功率数据拟合得到计算设备A对应的关系函数;数据处理模块120从调度模型构建模块140处调用计算设备A对应的关系函数,将经步骤S310算得的计算设备A在预定时刻的资源消耗预测值代入这个关系函数,就得到了机架B在预定时刻的用电功率预测值。
应当指出,此处仅以计算设备所在机架的用电功率数据为例,说明了根据资源消耗预测值确认用电功率预测值的方法。在实际应用中,本领域技术人员可以据此收集机柜(或机房)内所有计算设备的资源消耗数据、以及机柜(或机房)的用电功率数据,来预先构建计算设备的资源消耗数据和计算设备所在机柜(或机房)的用电功率数据的关系函数,以进一步预估机柜(或机房)的用电功率预测值。本发明的实施例对此不做限制。
随后在步骤S330中,数据处理模块120判断用电功率预测值是否满足预定条件。在根据本发明的实施方式中,用电功率预测值是否满足预定条件包括两层含义:第一,机房内各机柜的用电功率预测值满足预定条件第二,机房的总用电功率预测值满足预定条件。因此,步骤S330可以采用如下方式实现。
首先,根据所有机架的用电功率预测值计算出各机架所在机柜的用电功率预测值和各机柜所在机房的用电功率预测值。假设一个机房场景为:机房中具有5个机柜,5个机柜上各包含10个机架,即,机房内共布置了50台计算设备。那么,对于每个机柜,机柜的用电功率预测值包含10个机架的用电功率预测值的总和;而机房的用电功率预测值则包含了5个机柜的用电功率预测值的总和。如前文所述,可以根据机架的用电功率预测值估算出机柜和机房的用电功率预测值,也可以通过构建计算设备的资源消耗数据和计算设备所在机柜(或机房)的用电功率数据的关系函数来估算出机柜和机房的用电功率预测值,本发明的实施例对此均不做限制。本领域技术人员可以根据实际应用场景来选择合适的处理方式。应当指出,参照前文苗淑,本领域技术人员还可以根据采集到的机房内其他设备(如散热设备、路由设备、稳压设备)的用电功率数据来估算机房或机柜的用电功率值,以上计算方式均在本发明的保护范围之内。
然后,判断机柜的用电功率预测值是否大于该机柜的额定功率、且机房的用电功率预测值是否大于该机房的额定功率。根据一种实施例,当该机房的用电功率预测值大于该机房的额定功率和/或该机房内各机柜的用电功率预测值大于各机柜对应的额定功率时,确认用电功率预测值不满足预定条件。也就是说,只要机房内某个机柜的用电功率预测值大于其对应的额定功率、或者是机房整个的用电功率预测值大于机房的额定功率,就确认用电功率预测值不满足预定条件。
随后在步骤S340中,当用电功率预测值不满足预定条件时,调度模块130结合计算设备上各服务的资源消耗数据和目标函数将服务重新分配到各计算设备上。
根据一种实现方式,调度模块130按照如下流程完成调度。
1)按照预定规则确认至少一个候选计算设备。
如前文所述,在本发明的实施例中,调度模块130对服务资源的调度一般以单元云为单位,即对某一地区的所有机房的所有计算设备进行调度(如杭州单元云、北京单元云)。在一个单元云中,按照资源消耗预测值从高到低的顺序对所有服务进行排序,并按照排序依次为各服务分配计算设备,作为初始分配。在完成初始分配后,再按照预定规则从机房的计算设备中筛选出还可以分配服务的计算设备,作为候选计算设备。在一些实施例中,预定规则要满足两点:首先是要满足服务资源的分配规则(如,计算设备的类型规格要能够承载服务),其次要满足功耗规则,即机柜上所有服务的用电功率之和不高于该机柜的额定功率、机房中所有机柜的用电功率之和不高于该机房的额定功率。
2)根据各服务的资源消耗数据计算待分配服务与各候选计算设备上已分配服务的资源消耗相似度值。根据一种实施例,采用计算错峰相似度的方法来计算待分配服务与各候选计算设备上已分配服务的资源消耗相似度值。通常错峰相似度越低,就说明将该待分配服务分配到该计算设备后,该计算设备预期的资源消耗就越低。本发明的实施例对计算资源消耗相似度值的方式并不做限制,可以采用各种相似度度量算法来计算相似度值。此外,可以从待分配服务与各候选计算设备上已分配服务的资源消耗数据中截取一段计算其相似度值,也可以根据资源消耗趋势函数来分析相似度值,本发明的实施例对此亦不做过多限制。例如,根据每个服务的资源消耗趋势函数,在一个周期内计算出其趋势中的峰谷,并记录该峰谷;而后对待分配服务与候选计算设备上已分配服务,利用相关系数(如皮尔逊Pearson系数)两两计算出峰谷对应的相似度,作为资源消耗相似度值。关于资源消耗趋势中峰谷的计算,可以通过计算资源消耗趋势中各时间点的切线斜率求得,当斜率中出现拐点时,就认为出现一个峰/谷。
3)最后结合相似度值和目标函数为待分配服务匹配相应的计算设备。
在根据本发明的实施例中,目标函数定义为:min(Cost),其中,
式中,Cost表示电费,site表示机房总数,Price表示机房所在地区的用电单价,carbinet表示机柜总数,Power表示机柜的用电功率数据。
在根据本发明的实施方式中,结合各机房所在地域的电费成本来建立目标函数,优化了整个单元云上的电费成本,达到了降成本的目的。
对于每个待分配服务,通过相似度值确认出相似度值较低的几个候选计算设备,而后按照目标函数计算“假设该服务迁移到这几个候选计算设备上时、这几个候选计算设备相应的电费”,选择电费成本最低的候选计算设备作为为该待分配服务匹配的计算设备。
调度模块130按照这个流程遍历所有的服务,直至为每个服务匹配相应的计算设备。应当指出,调度模块130每次为服务匹配到相应的计算设备后,都会重新确认候选计算设备,即,每分配一个服务,调度模块130就执行一遍上述步骤1)-步骤3)。
在为每个服务均匹配到相应的计算设备并完成调度后,结束本次调度流程。调度模块130进行休眠状态,等待下一次被触发。
根据本发明的服务资源的调度方案,基于计算设备上各服务的资源消耗数据来预测计算设备在未来某个预定时刻的资源消耗预测值及机架上的用电功率预测值。当用电功率预测值不能满足预定条件时,结合计算设备上各服务的资源消耗数据和目标函数对服务资源进行调度,将单元云上的服务重新分配到各计算设备上。其中目标函数考虑了各机房所在地域的电费成本。综上,根据本发明的调度方案能够兼顾资源消耗和电费成本。
此外,根据本发明的方案还考虑到机架、机柜、机房的用电功率,保证机柜和机房的用电功率都在其额定功率范围内,以确保不会出现供电不足的情况,从而保证用户所购买的服务使用正常。
应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员应当理解在本文所公开的示例中的设备的模块或单元或组件可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个子模块。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
此外,所述实施例中的一些在此被描述成可以由计算机系统的处理器或者由执行所述功能的其它装置实施的方法或方法元素的组合。因此,具有用于实施所述方法或方法元素的必要指令的处理器形成用于实施该方法或方法元素的装置。此外,装置实施例的在此所述的元素是如下装置的例子:该装置用于实施由为了实施该发明的目的的元素所执行的功能。
如在此所使用的那样,除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。
尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本发明所做的公开是说明性的,而非限制性的,本发明的范围由所附权利要求书限定。