一种云代理针对多周期预留实例的实时分层选择方法与流程

文档序号:20584289发布日期:2020-04-29 01:41阅读:171来源:国知局
一种云代理针对多周期预留实例的实时分层选择方法与流程

本发明涉及云计算领域,特别涉及一种云代理针对多周期预留实例的实时分层选择方法。



背景技术:

成本极小化和利润最大化是云网络选择的两个主要的关注点。为了极小化成本。根据考虑的预留实例的价格和种类、需求的动态性、以及方法的实时性等大致有以下两类:

1、默认预留实例和实时实例价格一致。法国国家信息与自动化研究所的el-ghazalitalbi给出了多种启发式算法,各算法在vm请求的优先级评判标准上有所区别,试图通过向用户租赁实时资源而极大化代理人的利润。这个工作由乌拉圭雷普布利卡大学的santiagoiturriaga进行了扩展,给出了一种分布式的模拟退火算法。不同于vm粒度,云代理也利用基于数据中心的图聚类算法来极小化自己的成本,包括节点(数据中心)、云间带宽和云内带宽。

2、默认只有一种预留实例。云代理可以采用动态资源预留策略来消减成本,美国多伦多大学的baochunli用动态规划求得最优解。此时将原来的组合优化问题分解成一系列的子问题。每个子问题都可以用递归贝尔曼方程进行更有效的求解。文献中也给出了近似算法来解决离线和在线的场景,并证明了离线算法是2-近似的。美国维多利亚大学的kaiyangliu进一步研究了云代理联盟的问题。

对于现有的这几种方法,存在以下问题:

1、对于第一类方法,默认预留实例和实时实例价格一致,没有考虑实时和预留资源的价格差异,也不能反映需求的动态性。

2、默认只有一种预留实例,这和云计算的商业实际情况不符。比如amazonec2提供了1年期和3年期两种预留周期,每种预留周期收费不同。vmwarevcloudair则允许更灵活的从1个月到36个月的预留周期。

3、以上方法都是非实时地,即基于用户需求预测和累积服用的,针对突发变化应用性不强。



技术实现要素:

本发明提供一种云代理针对多周期预留实例的实时分层选择方法,旨在最大限度地降低云代理的成本,提高云代理的利润。

本发明提供一种云代理针对多周期预留实例的实时分层选择方法,包括以下步骤:

s1.云代理收集或预测用户的长周期,将每个用户的需求堆放在长周期内组成总需求,根据用户的需求将长周期均分为多个时刻,将用户的总需求均分成多个层;

s2.计算每个层的计费周期长度;

s3.云代理向云服务提供者申请多个预留实例周期,并获取每个预留实例周期的价格,以及实时实例周期的价格;

s4.计算该层采用实时实例周期时的总价格,对比已获得的预留实例周期的价格,若存在一个或多个预留实例周期的价格低于或等于该层的总价格时,则预留一个或多个预留实例周期,取预留实例周期内周期个数最大的一个作为该层的实例;若不存在,则采用实时实例周期作为该层的实例。

将用户总需求通过多个时刻、多个层的划分,能把用户的总需求细分化,便于对每个用户的需求进行量化。对于同一个时刻,会出现几种情况:可能只有一个用户的需求,也有可能是一个用户的多个需求的叠加,也有可能是多个用户的一个需求或多个需求的叠加,如果针对每个用户的具体需求量去运算会加大运算量,而本方法采用对整体的用户总需求汇总再划分成各个子需求,可以简化运算量。

作为本发明的进一步改进,还包括以下步骤:

s1.在每一层将用户的总需求按时刻划分为多个周期,判断在某个层、某个时刻上的周期是否有需求,如果有则记为1,为有效计费周期,如有没有则记为0,为空计费周期;

s2.所述每个层的计费周期长度为:连续的一个或多个有效计费周期构成的个数。

对每个层的需求进行判断,区分为有效计费周期和空计费周期,方便了统计,也更好地计算出每一个有效的计费周期长度,便于后续的成本运算。

作为本发明的进一步改进,所述步骤s2还包括以下步骤:对于每个层,其长度是本层第一个需求时刻和最后一个需求时刻之间的有效计费周期的个数。通过第一个需求时刻和最后一个需求时刻连计算个数的方式,能更快地截取出一段连续的客户需求,便于对预留实例周期的选择。

作为本发明的进一步改进,所述步骤s4中:所述该层采用实时实例周期时的总价格为:连续有效计费周期的个数与实时实例周期价格的乘积。

本方法增加了对每层需求成本的对比,先运算处该层的最大成本,即均采用实时实例周期的成本,与云提供上的预留实例周期价格的对比,再选择成本最低的方案,选择的结果会有几种情况:第一,一个预留实例周期搭配一个或多个实时实例周期;第二,多个预留实例周期,可相同的预留实例周期,也可不同的预留实例周期,搭配一个或多个实时实例周期。最大限度的资源利用,降低了云代理的成本。

作为本发明的进一步改进,所述步骤s1包括以下步骤:

s11.云代理收集或预测多个用户在一个长周期t内的总需求,将长周期内所有用户的需求总合,按时刻将用户的总需求划分为多个周期,假定在时刻t,t∈(1,t)的总需求是dt,对比每个时刻t需求dt并取多个时刻t内的峰值需求l=maxt(dt),将需求dt均分为l层;

s12.定义指标代表第l层在时刻t是否有需求,l∈(1,l),如果有需求则为计费周期,如果没有需求则为空计费周期。

作为本发明的进一步改进,所述步骤s2具体包括:

每一层的计费周期个数为tl=el-bl+1,其中为第一个需求时刻。为最后一个需求时刻。对于实时在线情景,当时,则在当前时间t,有tl=el-t+1。

作为本发明的进一步改进,所述步骤s4包括以下步骤:

s41.计算在未来计费周期内的每一层的剩余长度:trl=max(tl,t),对于实时在线情景,则为当前时间。

s42.给定第l层,如果成立,则预留一个τj预留实例是经济的,在所有的τj中,如果cj最小,则称具有预留周期τj预留实例是最经济的;

其中c0表示实时实例的价格,cj表示预留实例周期τj的价格,τj为预留实例周期;j=1,…,j,j表示预留实例的个数;i=[b,b+τj],b是本层剩余区间中的任意给定的开始时刻,其初始值是1。

作为本发明的进一步改进,所述步骤s4还包括:

s43.对于具有周期τj(τj≤trl)的实例,计算alj,j=1,2,...,j,al1≤al2≤...≤alj,如果存在j,使得alj≥cj,则i=max{j|alj≥cj},在层l预留一个具有周期τi的实例,否则在层l选择实时实例;

其中,alj是层l在过去的时间周期[t-τj,t-1]所用到的实时实例的总费用。如果在[t-τj,t-1]用到的实时实例个数是nj,则alj=njc0。

本发明的有益效果是:

(1)考虑了用户需求是动态的,克服了现有技术中第一种方法的不足。同时允许具有多个预留实例的云计算资源分配问题,克服了现有技术中第二种方法不足;

(2)考虑了用户需求的实时变化情况和突发性,克服了预测的不准确性,也克服了现有技术中第一和第二种方法的非实时性;

(3)给出了能够满足动态需求和具有多种预留实例的分层选择方法,可以既最大化云代理的利益,又满足云计算用户的需求。

附图说明

图1是本发明中云代理提供业务的流程图;

图2是本发明中需求曲线和具有三个预留实例周期的逐层预留方法的示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。

每个云网络因其服务区域、虚拟机实例(vminstance)(每类vm实例需要特定的cpu、内存以及存储等资源)、资源价格和性能保证方面的不同而有所区别。而且vm实例有各种价格机制,vm实例可以实时提供,并按照每小时(amazonec2)、每分钟(microsoftazure)或者每15分钟(elasthosts)的计费周期进行计费。vm实例也可以事先在任何时间进行预留,然后在任何需要的时间启用。被预留的实例,无论其是否被激活,都会被收取一个总价。比如,amazonec2提供了1年期和3年期两种预留周期,每种预留周期收费不同。vmwarevcloudair则允许更灵活的从1个月到36个月的预留周期,而elastichosts是按月或者按年进行预留。一般来说,预留资源的每个计费周期的平均价格都远低于同类实时配置资源的价格,而且周期越长,价格越低。例如,相对于实时配置,amazon的m3.mediavm实例1年期和3年期预留节省费用可以分别高达29%和60%。

用户可以直接从csp(cloudserviceprovider)租用资源,但受限于他们对云计算iaas市场的了解,要从具有多种价格的多个csp或者一个csp的多种实例周期中进行选择以降低成本是一件困难的事情。甚至他们有时不得不和多个csp协商,以满足不同业务或者不同业务区域的服务需求,这样也提高了管理费用。主观上,这种需求驱使用户寻求第三方的帮助,并催生了近年来云代理的出现。

云代理能以更低的价格向用户提供实时vm实例。一方面,各csp预留资源的价格是公开数据,csp乐于向云代理开放接口,使云代理能实时获取价格变化,从而有利于csp的虚拟机被更多客户租用并获取更大利润。另一方面,云代理可以用其专业知识和经验,在众多的csp或者一个csp的多种资源中寻求更适合业务需求和性价比更高的基础设施。最后,将相对较小的用户需求进行复用后,云代理可以以更低的价格从csp进行大批量资源预留。然后以较低的中间价向用户提供实时服务,这中间存在着巨大的利润空间,客观上也吸引着云代理对外提供云代理业务。

实施例一:

云代理利用单个csp实例是云网络选择的一种基本情况。如图1描绘了云代理的业务提供机制,云代理复用四个用户的动态需求,然后通过利用合适的预留以及实时vm实例以更低的中间价对终端用户提供实时服务。

不同的用户从时刻1到6申请实时vm实例(步骤1)。代理人试图以最低的价格从csp租用资源来满足用户需求(步骤2)。csp以不同的价格,不同的周期τ提供不同实例。实时实例每小时(计费周期)计费$1。对于预留实例,其价格就是τ个计费周期的一个总价,这个总价一般低于$τ。根据总需求的数量和时长,代理人可以充分利用长时间预留的价格优势和复用收益(步骤3)。这使得云代理能以$0.9这个低于csp实时价格的价格向用户提供服务(步骤4)。事实上,代理人可以赚取$1.9,因为他能收取$9.9(11*0.9),但只需支付$8(1+4+3)。

云代理的挑战在于如何利用csp实时和预留资源的价格差异,来减少自己的成本。因为每个用户都是动态地递交自己的需求的,所以总需求也随着时间波动,特别当需求出现突发变化时,代理人租用vm实例的措施也应随之调整。有必要实时进行以下决策,实时租用还是选择合适的vm实例进行预留,租用多少以及何时启用。

实施例二:

本发明假定一个云代理能够估计一个相当长的周期t内的总需求,对于任意t∈(1,t),在t时刻的总需求是dt。因为每个用户都应该有一个未来需求的计划,总需求可以根据用户的计划进行估计或者根据历史记录进行预测,所以这个假设是合理的。令l=maxt(dt)是峰值需求,然后将需求dt分成l层。定义指标代表第l层在时刻t是否有需求,即如果否则为0。

例如,图2描绘了一个需求曲线,其中{τ0,τ1,τ2,τ3}={1,3,6,10},t=9。因为第4层在计费周期3没有需求,所以将这个计费周期称为空计费周期。而是因为第5层在计费周期5有需求。实际上,每个对应一个小长方形阴影块。如果对应长方块位于曲线以下,则否则为0。明显地

每一层的长度可能不同。对于第l层,其长度是本层第一个需求时刻和最后一个需求时刻之间的计费周期的个数。即tl=el-bl+1,其中是第一个需求时刻。是最后一个需求时刻。对于实时在线情景,当时,则在当前时间t,有tl=el-t+1。图2中,[b1,e1]=[1,9],t1=9,[b2,e2]=[3,9],t2=7。

在未来计费周期内的每一层的剩余长度,对于实时在线情景,在当前时间,trl=max(tl,t)。

给定第l层,如果(c0表示实时实例的价格,cj表示预留实例周期τj的价格)成立,则预留一个τj实例是经济的,其中i=[b,b+τj],b是本层剩余区间中的任意给定的开始时刻,其初始值是1。在所有的τj(j=1,…,j,j表示预留实例的个数)中,如果cj最小,则称具有预留周期τj预留实例是最经济的。

对于具有周期τj(τj≤trl)的实例,计算alj,j=1,2,...,j,al1≤al2≤...≤alj,如果存在j,使得alj≥cj,则i=max{j|alj≥cj},在层l预留一个具有周期τi的实例,否则在层l选择实时实例;

其中,alj是层l在过去的时间周期[t-τj,t-1]所用到的实时实例的总费用。如果在[t-τj,t-1]用到的实时实例个数是nj,则alj=njc0。

实施例三,本发明的算法:

算法:实时在线算法

输入:dt:时间t所到达的所需要的实例数目。τ1,τ2,...,τj:分别具有递增价格c1,c2,...,cj的预留实例周期

输出:一种实时资源分配方案

1:forl=1,...,dtdo

2:alj=0

3:if已经有实例来服务dtl或者dtl=0then

4:break

5:endif

6:对于具有周期τj(τj≤trl)的实例,计算alj,j=1,2,...,j.显然,al1≤al2≤...≤alj

7:if存在j,使得alj≥cjthen

8:i=max{j|alj≥cj},在层l预留一个具有周期τi的实例

9:else

10:在层l选择实时实例

11:endif

12:endfor

dt是时间t到达的所需的实例的数目,所以dt就是最大的层数,算法的目标是依据当前时间已经知道的实时需求逐层找到一个合适的实例来满足这些实时需求。首先,alj被赋值为0(第2行)。然后,如果现在的需求已经被满足了(因为可能已经选择的预留实例的周期比这一层已知的需求还有长),或者这个时间没有需求(即这个计费周期称为空计费周期后者),则会检查下一层(第3行到第4行)。算法仅仅考虑不大于剩余计费周期的实例周期。同时,过去所用实时实例的费用会被计算出来,因为实时实例的费用一定程度上表示了未来需求的模式和规律性(第6行)。基于对过去的实时实例的费用和预留实例周期费用的比较,算法将选择周期最长的最经济的实例进行预留(第8行)。如果不存在这样的预留实例,则直接选择实时实例来满足本层的需求(第10行)。

以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。

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