一种云资源优化调度方法及装置与流程

文档序号:17720002发布日期:2019-05-22 02:05阅读:142来源:国知局
一种云资源优化调度方法及装置与流程

本发明涉及云计算领域,具体涉及一种云资源优化调度方法及装置。



背景技术:

云计算(cloudcomputing)是基于互联网的相关服务的增加、使用和交付模式,通常涉及通过互联网来提供动态易扩展且经常是虚拟化的资源。iaas(infrastructureasaservice,基础设施即服务)是一种重要的云计算服务。云计算服务为用户提供包括处理、存储、网络以及其它基本资源的使用,用户可以在其申请到的虚拟资源当中部署或运行应用程序,而不需要了解计算资源提供过程的细节。云计算环境下,应用提供者可以根据需要决定租用虚拟资源的数量。租用大量资源会得到qos(qualityofservice,服务质量)保障,从而获得较好的收益,但应用提供者需要为租用资源付费。同样,租用少量资源,会节省租用资源投入,但资源不足难以保障qos,违背sla(servicelevelagreement,服务等级协议)会带来经济损失。因此,租用多少虚拟资源才能使得资源得到充分利用,达到应用提供者的收益最大化成为亟待解决的问题。

此外,随着数据中心规模的日益增大,云平台中服务器的数目不断增加,同时虚拟化环境也日趋复杂,因此也急需提升iaas平面的管理能力,使其能够充分全面的调度数据中心的各项资源。



技术实现要素:

因此,本发明要解决的技术问题在于现有技术中的资源调度方法无法充分利用虚拟资源同时达到服务效果。

本发明提供一种云资源优化调度方法,包括如下步骤:获取一个调度周期内的调用请求参数,所述调用请求参数至少包括请求类型及数量、请求服务时间、服务台数量;根据所述调用请求参数计算当前平均响应时间;判断所述当前平均响应时间是否位于预设的理想响应时间和超时响应时间之间,所述理想响应时间小于超时响应时间;若当前平均响应时间位于预设的理想响应时间和超时响应时间之间,计算收益损失与当前平均响应时间的对应关系;计算所述收益损失和当前使用的虚拟资源的成本之和达到最小值时的虚拟资源的量。

优选地,若当前平均响应时间小于预设的理想响应时间,则降低服务台数量。

优选地,若当前平均响应时间大于超时响应时间,则增加服务台数量。

优选地,所述根据所述调用请求参数计算当前平均响应时间的步骤,包括:

rti=平均等待时间ws+服务时间ti,

其中,rti表示第i类请求的平均响应时间。

优选地,所述平均等待时间的计算公式如下:

ws为平均等待时间,ls可视为系统等待队列的平均长度,λ为请求到达率。

6.根据权利要求1所述的方法,其特征在于,所述收益损失与当前平均响应时间的对应关系为:

其中,g(rt)为收益损失,maxsla为最大收益损失,rt为当前平均响应时间,tdefined为理想响应时间,texpired为超时响应时间。

优选地,所述计算所述收益损失和当前使用的虚拟资源的成本之和达到最小值时的虚拟资源的量的步骤,包括:

利用爬山算法计算总成本最小时的虚拟资源的数量,其中总成本计算公式如下:

其中,rti表示第i类请求的平均响应时间,costsla(rti)为第i类请求违背sla协议造成的损失,n为请求数量,costvm(s)为在云平台上租用虚拟资源成本。

此外,本发明还提供一种云资源优化调度装置,包括:参数获取单元,用于获取一个调度周期内的调用请求参数,所述调用请求参数至少包括请求类型及数量、请求服务时间、服务台数量;响应时间计算单元,用于根据所述调用请求参数计算当前平均响应时间;时间判断单元,用于判断所述当前平均响应时间是否位于预设的理想响应时间和超时响应时间之间,所述理想响应时间小于超时响应时间;损失计算单元,用于若当前平均响应时间位于预设的理想响应时间和超时响应时间之间,计算收益损失与当前平均响应时间的对应关系;资源确定单元,用于计算所述收益损失和当前使用的虚拟资源的成本之和达到最小值时的虚拟资源的量。

此外,本发明还提供一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现所述云资源优化调度方法的步骤。

此外,一种计算机可读介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现所述云资源优化调度方法的步骤。

本发明技术方案,具有如下优点:

本发明实施里提供的云资源优化调度方法,首先获取调度请求的各参数,然后计算出当前平均响应时间,然后判断当前平均响应时间所处的范围,若当前平均响应时间位于预设的理想响应时间和超时响应时间之间,计算收益损失与当前平均响应时间的对应关系,计算出所述收益损失和当前使用的虚拟资源的成本之和达到最小值时的虚拟资源的量,作为优选的数据资源的调度量。收益损失是指响应速度慢造成的损失,虚拟资源的成本是指购买服务器等硬件资源的成本,使用的数据资源越多,成本越高,响应速度越快,收益损失越小。所述收益损失和当前使用的虚拟资源的成本之和受到收益损失和资源成本的两个限制,达到最小时的值可以保证收益损失不会太大,也就是保证了响应速度,但同时资源成本也不能太高,从而提高资源的利用效率并保证处理速度,从而达到资源的最优化分配,提升经济效益,避免了云资源的浪费,节省云应用用户的资源使用成本。

附图说明

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

图1为本发明实施例1中云资源优化调度方法的一个具体示例的流程图;

图2为本发明实施例1中云资源优化调度装置的一个具体示例的原理框图。

具体实施方式

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

此外,下面所描述的本发明不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。

实施例1

本实施例提供一种云资源优化调度方法,用于提供云计算服务的提供商的服务器中,云计算服务提供商为用户提供包括处理、存储、网络以及其它基本资源的使用,用户可以在其申请到的虚拟资源当中部署或运行应用程序,用户根据需要决定租用虚拟资源的数量。本实施例中的云资源优化调度方法用于合理利用云服务中的虚拟资源,节约成本的同时保证响应速度,如图1所示,本实施例中的云资源优化调度方法包括如下步骤:

s1、获取一个调度周期内的调用请求参数,所述调用请求参数至少包括请求类型及数量、请求服务时间、服务台数量。

通过云应用监视器监测统计资源调度周期t内,各类请求i到达率ni,响应时间rti,当前服务台数量current。调度周期t根据服务器的不同类型再服务器进行配置时设置,可以为几分钟或几十分钟。

不同请求的到达率,以及对不同请求的服务时间相互独立,并且符合相同的负指数分布。不同类型的请求以不同速率随机到达系统,请求调度器根据请求类型、服务器资源状况将请求放入请求队列中,等待调度执行;每个资源单元(btu)抽象为一个服务台,不同服务器根据资源分配情况可以抽象为不同的服务台数量;当顾客到达时,如果服务台空闲,则对请求进行处理;如果服务台繁忙,则使请求排成一个队列等待。

定义λ为请求到达率,也就是一类请求到达的数量占到达的所有请求的比例;定义m为请求类型数量;定义s为服务台数量,即可同时处理请求的服务台数量;定义μ为服务率。

设单位时间t内第i类请求ri的到达数量为ni,则ri到达的比率为:

其中

请求类型ri的到达率为:

单位时间t内请求的到达数量的数学期望为:

请求到达率为:

设请求ri的服务时间为μi;

服务时间的数学期望为:

服务率为:

当基于排队论模型的系统处于稳定状态时,可以得到以下公式:

λn=λn=0,1,2···

记服务强度

当λ<1时,系统处于稳定状态。

s2、根据所述调用请求参数计算当前平均响应时间。

系统中队列平均长度为:

系统中正在接受服务的顾客平均数为:

平均队长:qlength=队列平均长度+平均接受顾客服务数=lq+ρ;

若系统中存在多个服务台,平均等待时间ws,平均逗留时间wq为:

λ为请求到达率。

则ri的响应时间为:rti=平均等待时间ws+服务时间ti

s3、判断所述当前平均响应时间是否位于预设的理想响应时间和超时响应时间之间,所述理想响应时间小于超时响应时间。

定义tdefined为sla(servicelevelagreement,服务等级协议)协议中定义的请求rt的响应时间,作为预设的理想响应时间,定义texpired为sla协议定义的请求rt的超时时间,作为预设的超时响应时间。当前的响应时间小于tdefined时,满足sla协议的要求,不存在任何收益损失,收益损失是指未满足sla协议的要求而造成的损失,执行步骤s4;当前的响应时间大于texpired时,超出了sla协议的超时时间,损失降最大,执行步骤s5;当tdefined≤rt≤texpired时,收益将随响应时间的增加呈现递减趋势,会一定程度上的收益损失,执行步骤s6-s7。

s4、若当前平均响应时间小于预设的理想响应时间,则降低服务台数量。

当实际的响应时间低于该值,则达到了理想的性能,违背sla协议造成的损失为costsla(rt),此时没有违背sla协议,因此costsla(rt)为0,收益最大化,即sla收益损失为零。也就是0<rt<tdefined,收益损失costsla(rt)为0,收益损失最小,收益最大化。但此时对于用户而言,虽然响应速度较快,但是资源的使用率较低,此时说明用户购买了较多的资源,可以降低服务台的数量而提高资源的使用率。

s5、若当前平均响应时间大于超时响应时间,则需要增加服务台数量。

当实际的响应时间大于texpired时,则响应速度太慢,超过了超时时间,用户对服务质量完全不满意,违背sla协议造成的损失最大,此时的最大损失为costsla(rt),收益最小化,sla收益损失函数值最大。即rt>texpired,收益损失costsla(rt)为maxsla,收益损失最大,收益最小化。此时,为了保证响应速度,提高服务能力,需要增加服务台的数量。

s6、若当前平均响应时间位于预设的理想响应时间和超时响应时间之间,计算收益损失与当前平均响应时间的对应关系。

当请求的响应时间位于tdefined为和texpired之间时,服务质量随着rt的增加而降低,从maxsla到0递减,会有一定程度上的收益损失。

当tdefined≤rt≤texpired,costsla(rt)为g(rt),其中收益将随响应时间的增加呈现递减趋势,存在收益损失。

s7、计算所述收益损失和当前使用的虚拟资源的成本之和达到最小值时的虚拟资源的量。

利用爬山算法计算成本最小时投入的服务台数量s,从而计算得出最小损耗。

爬山算法即从当前节点开始,和周围的邻居节点值进行比较。如果当前节点是最大的,那么返回当前节点,作为最大值(即山峰最高点);反之就用最高的邻居节点来替换当前节点,从而实现山峰的高出攀爬的目的。如此循环直至到达最高点。过程如下:

步骤1:在周期t内输入各请求到达率和请求服务时间ni,ti;

步骤2:判断costtotal(s)>costtotal(s-1),;

若真,令s-1=current,若否,输出s;

步骤3:根据步骤2要求,若判断为真,进行costtotal(current)>costtotal(s+1)的判断;

若真,令s+1=currentcurrent=last,若否,输出s;

步骤4:根据步骤3要求,若判断为真,判断s+1=current,若真,跳出循环输出s,若否,跳到步骤2,如此循环执行,直至输出s值。

利用爬山算法成本投入的临近最小值定义总成本

其中,在平台上租用虚拟资源成本为costvm=size×cvm,其中cvm为单位物理资源开销。

根据上述求最小值的方法,可以动态调整虚拟资源(btu)的数量以达到成本最小化目标。当然除了上述爬山算法外其他的可以球最小值的数学方法都可以应用。

本方案中,收益损失是指响应速度慢造成的损失,虚拟资源的成本是指服务器等硬件资源的成本,使用的数据资源越多,成本越高,响应速度越快,收益损失越小。所述收益损失和当前使用的虚拟资源的成本之和受到收益损失和资源成本的两个限制,达到最小时的值可以保证收益损失不回太大,也就是保证了响应速度,但同时资源成本也不能太高,从而提高资源的利用效率并保证处理速度,从而达到资源的最优化分配,提升经济效益,避免了云资源的浪费,节省云应用用户的资源使用成本。

本实施例中的基于排队论的云资源优化调度方法,该考虑云计算环境下负载类型呈现的动态性和复杂性,以云应用监视器收集的云负载信息为依据,基于排队理论模型、sla收益损失函数通过爬山算法来动态调整虚拟资源,优化云资源配置组合,实现云计算的高效低能使用和满足云应用动态可伸缩的需要。同时,该方法可以避免云资源的浪费,节省云应用用户的资源使用成本。

实施例2

本施例提供一种云资源优化调度装置,如图2所示,包括:

参数获取单元01,用于获取一个调度周期内的调用请求参数,所述调用请求参数至少包括请求类型及数量、请求服务时间、服务台数量;

响应时间计算单元02,用于根据所述调用请求参数计算当前平均响应时间;

时间判断单元03,用于判断所述当前平均响应时间是否位于预设的理想响应时间和超时响应时间之间,所述理想响应时间小于超时响应时间;

损失计算单元04,用于若当前平均响应时间位于预设的理想响应时间和超时响应时间之间,计算收益损失与当前平均响应时间的对应关系;

资源确定单元05,用于计算所述收益损失和当前使用的虚拟资源的成本之和达到最小值时的虚拟资源的量。

该装置可以节约云平台的成本,提高资源利用率的同时保证云平台的处理速度。

实施例3

本是实施例中提供一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现实施例1所述方法的步骤。

本实施例中还提供一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行时实现实施例1所述方法的步骤。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

显然,上述实施例仅仅是为清楚地说明所作的举例,而并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引伸出的显而易见的变化或变动仍处于本发明创造的保护范围之中。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1