一种云环境下基于帕累托最优的资源定价方法与流程

文档序号:17243404发布日期:2019-03-30 08:41阅读:352来源:国知局
一种云环境下基于帕累托最优的资源定价方法与流程

本发明属于云计算技术领域,提供了一种云环境下基于帕累托最优的资源定价方法。



背景技术:

云计算是一种商业计算模型,它将计算任务分布在由大量计算机或服务器构成的资源池上,使用户能够按照各自需求获取计算服务、存储空间等,并支付一定的费用。云计算将信息技术转化为普通商品和公共事业设备供用户付费使用,因此,了解云计算的商业运行模式以及经济特性成为越来越重要的研究重点。

在云计算环境中,通常由三个部分组成,用户、云服务中心以及云服务提供商。云服务提供商将软硬件资源构建云集群,通过对用户收取费用来完成用户所提交的请求。云计算作为一种商业模式运行,云服务提供商必然尽可能的使自己获得最大的利益。然而,在市场环境下,根据用户的需求定律,如果云服务定价过高,相应的购买人数会降低,总利润会可能减少;若定价过低,购买人数会增加,但去除成本后,综合下来的利润也不一定会高。因此在云环境中,构建一个好的定价模型,使得较多用户购买服务的同时又能使云服务提供商获得可观的利润,是十分必要的。

云服务市场中有着许多的服务提供商,供应商之间常常以价格为焦点进行当前背景下,各大云服务商所采用的较为普遍的定价方式为固定定价模式。固定定价意味着价格是不变的并且可以提前预知、不能根据用户的需求的变化而变化。各云服务提供商根据自身运营状况进行不同进行调整,固定定价大体方式可分为三类:

按量付费方式:按量付费方式是云服务提供商根据用户使用的云计算服务的量,根据用量的多少来收取费用。例如一定时间段内的计算量或者流量或者cpu的使用等。这种方式较为直观也便于计算,服务商在实际运营时也很便捷。amazon和microsoft等大型云服务提供商的部分服务商采用这种方式收费。

合同定价方式:用户与云服务提供商签订关于使用云服务资源的合同,在固定的收费周期内以固定的价格使用云服务。这种定价方式和按量付费模式相似,但也有区别,区别在于定价的收费单位是时间而不是使用的量。在云计算中的saas(software-as-a-service)模式中,合同定价方式的使用最为广泛。adobe、salesforce等公司采用这种合同定价模式。

分类定价模式:即云服务提供商将云服务资源分成不同的种类,也可看作是不同的等级。很明显,不同种类的服务资源会有不同的收费标准。分类的依据有cpu速度、cpu个数、内存、带宽等。阿里云、google等服务商采用这种定价方式,为用户提供不同种类的云服务资源。

固定定价模式是实际运营中应用最为广泛的,相关的文献研究也是较为深入的。有文献指出固定定价会造成资源浪费,同时对服务差价化的适应性较低。尽管有着不同的固定定价方式,但是还是不能很好地满足用户的动态需求和也不能反映出市场供需情况,对服务提供商下一步的市场评估意义较小。



技术实现要素:

本发明实施例提供一种云环境下基于帕累托最优的资源定价方法,基于用户满意度及云服务提供商利润间的博弈,查找实现用户满意度及云服务提供商利润均衡的最优云服务资源定价。

为了实现上述目的,本发明提供了一种基于云环境下基于帕累托最优的资源定价方法,所述方法包括如下步骤:

s1、基于用户满意度及云服务提供商利润的最大效用,建立帕累托最优的云服务资源定价模型;

s2、基于混合搜索算法查找帕累托最优,即获取各云服务资源最佳的定价,所述混合搜索算法是由群粒子算法及布谷鸟搜索算法结合而成。

进一步的,云服务提供商利润的获取步骤包括:

s11、由云服务资源的使用占比及用户提交任务的紧迫程度来共同决定云服务资源的定价;

s12、基于云服务资源的定价计算云服务提供商创造的收益,云服务提供商创造的收益与成本的差价即为云服务提供商获取的利润。

进一步的,所述云服务提供商的利润计算公式具体如下:

pricei为虚拟机rj对任务li的报价,costi为虚拟机rj的运行成本,tij表示虚拟机rj完成任务li所用的时间,m为任务的数量。

进一步的,虚拟机rj对任务li的报价pricei的计算公式为:

r_used为已被分配的虚拟机rj的cpu和内存使用量,r_all为全部虚拟机所拥有的cpu和内存总量;t为虚拟机rj完成任务所需的时间,t_d为用户要求的任务完成截止时间,t_b为用户的任务提交时间。

进一步的,其特征在于,用户的满意度是由云服务资源的价格及云服务资源完成任务所需要的时间共同决定。

进一步的,所述用户满意度si的计算公式具体如下:

其中,s0为初始满意度,timei代表自用户提交任务li至要求完成任务li所需的时间,为权重系数,代表着用户对价格方面和时间方面的不同需求偏好。

进一步的,所述用户满意度及云服务提供商利润的最大效用表示为:

其中,ωs和ωp分别为相应权重系数,且ωs+ωp=1,任务li需在截止时间前完成。

进一步的,所述步骤s2具体包括如下步骤:

s21、布谷鸟搜算算法的初始化,初始化最大迭代次数maxd,鸟巢的规模n,随机初始化鸟巢的位置;

s22、将粒子群算法应用于布谷鸟算法的局部游走部分,所述鸟巢群即为粒子群,基于粒子算法,将各粒子的位置更新至效用大的周边位置;

s23、对鸟巢群x(g)中每个鸟巢均随机赋值一个淘汰概率pi,赋值服从均匀分布,将淘汰概率pi小于发现概率pj的粒子淘汰;

s24、将鸟巢群x(g+1)中每个鸟巢计算效用,对应位置若大于x(g)中鸟巢效用,则位置不变;否则位置更新,同时更新个体最优xbest(g)和群体最优gbest,,判断是否达到循环终止要求,若满足则输出最优鸟巢位置;否则,令g=g+1,返回步骤s22。

本发明提出基于帕累托最优的资源定价模型,将这种价格矛盾转化为用户满意度与云服务提供商利润间的博弈,最终实现用户满意度与云服务提供商利润的均衡,即实现帕累托最优,获取各云服务资源的最佳定价。

附图说明

图1为本发明实施例提供的基于帕累托最优的资源定价方法流程图;

图2为本发明实施例提供的动态价格策略与固定价格策略的用户满意度对比图;

图3为本发明实施例提供的在固定任务数,不同虚拟机数情况下的动态价格策略利润与固定价格策略利润;

图4为本发明实施例提供的在固定虚拟机数,不同用户数情况下的动态价格策略利润与固定价格策略利润;

图5为本发明发实施例提供的不同用户数下的任务完成时间状况;

图6为本发明实施例提供的不同用户数下的对应价格。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本发明提出基于帕累托最优的资源定价模型,通过引入市场经济中的博弈论知识,将这种价格矛盾转化为用户满意度与云服务提供商利润间的博弈,最终实现均衡-帕累托最优,即各云服务资源的最佳定价。

云中心将云服务提供商提供的基础设施通过虚拟化整合成资源池,资源池中是不同的虚拟机;用户提交任务,形成任务集合。云中心使用混合搜索算法探寻帕累托最优,给出合理定价。

图1为本发明实施例提供的基于帕累托最优的资源定价方法流程图,该方法包括如下步骤:

s1、基于用户满意度及云服务提供商利润的最大效用,建立帕累托最优的云服务资源定价模型;

(一)关于云服务提供商利润部分的说明:

云服务提供商利润的获取具体包括如下步骤:

s11、由云服务资源的使用占比及用户提交任务的紧迫程度来共同决定云服务资源的定价;

假定云计算平台上有n个虚拟机,用户共提交m个任务,并且每个任务li分别有li个子任务。资源分配的最终结果可看做是一个m行n列的非负矩阵a。矩阵的行表示任务,矩阵的列表示虚拟机,矩阵元素aij表示任务li分配到资源rj上的数量。ai表示矩阵a的第i行,任务分配矩阵a表示如下:

其中i∈{1,2,3,...,m},j∈{1,2,3,...,n}。aij的取值为0或1,当任务分配到虚拟机上时,aij=1;否则为0。

基于任务分配矩阵a可以推导出完成任务的时间矩阵t,tij为完成任务的时间矩阵t中的矩阵元素,ti是时间矩阵t的第i行向量,由于子任务是并发执行的,因此,任务li完成的时间为子任务中最大完成时间max{tij∈ti};

在本发明实施例中,从动态改变利润的角度,对任务li进行报价,单位价格pricei为:

其中,costi所乘的为利润系数,由当前的资源使用占比和用户提交任务的紧迫程度共同决定,r_used为已被分配的虚拟机的cpu和内存使用量,r_all为全部虚拟机所拥有的cpu和内存总量;t为虚拟机完成任务所需的时间,t_d为用户要求的任务完成截止时间,t_b为用户的任务提交时间。

s12、基于云服务资源的定价计算云服务提供商创造的收益,云服务提供商创造的收益与成本的差价即为云服务提供商获取的利润,其云服务提供商提供的虚拟机rj创造的利润profitj为

其中,pricei为虚拟机rj对任务li的报价,costi为虚拟机rj的运行成本,tij表示虚拟机rj完成任务li所用的时间,云服务提供商提供不同的虚拟机,其运行所需的成本也不相同,完成任务li的成本则为:

其中,cj为云中虚拟机rj单位时间的运行成本。

(二)关于用户满意度部分的说明

用户的满意度是由云服务资源的价格及云服务资源完成任务所需要的时间共同决定,其计算公式具体如下:

其中,s0为初始满意度,s0为设定值,一般取值为1,timei代表自用户提交任务li至要求完成任务li所需的时间;为权重系数,代表着用户对价格方面和时间方面的不同需求偏好。

(三)帕累托最优的云服务资源定价模型

将任务和虚拟机视为博弈的参与者,分配矩阵a作为所有参与者的博弈策略信息,所以,动态定价的问题转化为最大效用的求解:

其中,ωs和ωp分别为相应权重系数,且ωs+ωp=1。此外,任务li需在截止时间前完成,式(6)还需满足限制条件(2)。

s2、基于混合搜索算法查找帕累托最优,即获取各云服务资源的最佳定价,混合搜索算法是由群粒子算法(pso算法)及布谷鸟搜索算法(cs算法)结合而成。

本发明将cs算法的局部游走过程用pso算法代替,保持搜索的随机性,加强在最优解附近的搜索效率,加快向最优解收敛的速度;同时,由于cs算法的随机淘汰机制的存在,可以较好地避免算法过早进入局部最优,改善算法性能,步骤s2具体包括如下步骤:

s21、布谷鸟搜算算法的初始化,初始化最大迭代次数maxd,鸟巢的规模n,随机初始化鸟巢的位置:

x(g)=(x1(g),x2(g),...,xn(g))(7)

式(7)中,x(g)代表第g代鸟巢群,xi(g)表示第g代第i(i∈(1,2,…,n))个鸟巢,g的初始值为0。在初始鸟巢群中随机选择x0(g)赋值给初始个体最优xbest(g)和群体最优gbest。

s22、将粒子群算法应用于布谷鸟算法的局部游走部分,所以鸟巢群即为粒子群。根据粒子群算法,xi(0)的初始速度为vi(0),ωmax为权重上限,ωmin为权重下限,ωmax及ωmin为设定值,更新粒子速度:

vi(g+1)=ωvi(g)+μγ1(xbest(g)-xi(g))+ργ2(gbest-xi(g))(8)

式(8)中,μ,ρ为加速因子,γ1,γ2为区间(0,1)内的随机数,ω为权重系数,计算公式如下:

位置更新为:

根据式(6)对计算其效用,为xi(g)周边的位置点,若大于xi(g)的效用,则更新位置,否则位置不变。

s23、对x(g)中每个鸟巢xi(g)均随机赋值一个淘汰概率pi,赋值服从均匀分布,并与发现概率pj进行比较:

式(11)中,α为步长缩放因子,符号代表点对点乘法,l(s,λ)为levy飞行,s为步长,λ为levy指数。

s24、将x(g+1)中每个鸟巢根据式(6)计算效用,对应位置若大于x(g)中鸟巢效用,则位置不变;否则位置更新,同时更新个体最优xbest(g)和群体最优gbest,,判断是否达到循环终止要求,若满足则输出最优鸟巢位置;否则,令g=g+1,返回步骤s22。

算法流程是博弈寻求均衡的过程,即达到帕累托最优的过程。首先,算法中的初始化即是对所有博弈参与者的分配信息的初始化;然后,算法的迭代过程与选择,则是在不停地做帕累托改进;最后,迭代终止,算法输出结果,即为达到帕累托最优,本发明提出基于帕累托最优的资源定价模型,将这种价格矛盾转化为用户满意度与云服务提供商利润间的博弈,最终实现用户满意度与云服务提供商利润的均衡,即实现帕累托最优,获取各云服务资源的最佳定价。

基于云计算仿真工具cloudsim进行模拟实验。通过设置不同的实验方案,反复多次试验后,验证本发明提出的基于帕累托最优的资源分配定价模型(简写为proposed)的有效性和优越性。为验证提出的动态定价策略(dynamic)的有效性,将其与固定定价策略(static)进行比对。固定定价策略为用户按使用量付费,是当前主流的、应用较为广泛的定价策略。实验相关参数见表1。

表1实验参数

(1)关于用户满意度的比较

设定有10个用户,共提交30个任务,云服务中心有4个虚拟机用于完成用户的任务,通过仿真实验,对比完成任务时的用户的满意程度。实验结果如图2所示。

实验结果分析:从图2可以观察到,整体来看,动态价格策略的用户满意度明显高于固定价格策略,除user2的满意度两者相近外,其他均有明显差距。具体分析来看,固定价格策略下,各用户满意度均在0.4上下浮动,且多数低于0.4;动态价格策略下,满意度基本均在0.4以上,且部分用户对任务完成情况会有较高的满意度(如user6、user7),说明动态价格策略能够更好地满足用户需求,使得云服务商在未来竞争中能够收获更多的客户。

(2)关于服务商利润的比较

设定有100个待完成的任务,分配不同的虚拟机数量,对比固定价格策略和动态价格策略下云服务商所获得的利润情况。实验结果如图3所示,由于本实验的任务数固定为100,当虚拟机较少时,本发明提出的方法会稍逊于固定定价策略,或者相对来说只有微弱优势,产生这种情况是因为当前市场供求关系的不平衡,供小于求,随着服务数增多,本发明提出的方法所获得的利润明显多于固定定价策略。但服务器较多时,由于任务数固定,会产生较多的能耗,所以利润相对有所下降,服务器数量由少变多的过程,可以类似的看做市场的供求关系的变化,本发明提出的方法通过利润可以体现出市场的供求关系,且利润高于固定定价策略,所以从实际运用意义来讲能更好地适应真实生活中的云服务市场。

另一方面,还可以设置类似实验,从另外一个角度来说明本发明提出的方法的优越性。设定虚拟机数量为5,用户数分别为10、20、50、80、100,对比固定价格策略和动态价格策略下云服务商所获得的利润情况。实验结果如图4所示,实验结果分析:从图4中可以发现,在为服务商获取利润方面,本发明提出的方法总体上是优于固定定价策略的。用户数为10时,利润少于固定定价策略是因为,虚拟机数量固定,本发明定价机制决定了价格会较低,所以利润方面低于固定价格策略,但另一方面,会使用户获得较高的满意度,使得云服务商在市场中有着较强的竞争力。当用户数慢慢增多时,本发明提出的方法会优于固定定价策略,且优势会越来越明显。当用户数为100时,相对于用户数为80时本发明提出的方法反而利润下降,是因为为了保持较高的用户满意度,同时这里可以反应出市场的供需状况,有利于云中心对虚拟资源进行调控,更好的把控资源市场。

关于时间和价格方面的实验,将与只用粒子群算法来寻找帕累托最优的方法(pso_pm)作对比实验,并且为降低实验的不可控因素对结果的影响,各实验均独立运行多次取结果的平均值。

(3)关于完成任务所花费时间的比较

设定虚拟机数量为5,用户数分别为10、20、50、80、100,比对固定价格策略、基于粒子群算法所达到的帕累托最优以及本发明提出的方法在不同用户情况下完成任务所花费的时间。如图5所示,从图5中可以发现,随着用户数增多时,不同的定价策略下完成任务所需的时间都有所增长,这是因为用户的增多,任务请求量也随之增多,完成任务的时间自然也随之升高。但固定价格策略是三种方法中最慢的,所花费的时间远多于其它两种方法;pao_pm方法在用户数较小时与本发明提出的方法几乎无差别,但随着用户数增多,本发明提出的方法的优势越来越明显,且增幅相对较小。这说明本发明提出的方法在用户数或任务请求量较大时,能够更好地、合理地分配资源,较快地完成任务,使得用户更为满意。

(4)关于完成任务的价格的比较

设定虚拟机数量为5,用户数分别为10、20、50、80、100,对比固定价格策略、基于粒子群算法所达到的帕累托最优以及本发明提出的方法在不同用户数下的交易价格,如图6所示,图6表明了在用户数不断增大的情况时,三种定价方法下用户交易的总的价格。当用户较少时,三种方法区别不是很明显,固定定价策略的价格略高;但随着用户数和任务数的增加,三者差距逐渐变大,其中以固定定价策略为最高,且价格的增长与用户数的增长几乎成线性增长关系;而在动态定价策略的价格中,本发明提出的方法是一直优于pso_pm方法的。所以,本发明提供的动态定价模型是有效且较优的。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

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