一种基于Stackelberg博弈的存储资源分配方法与流程

文档序号:15567143发布日期:2018-09-29 03:36阅读:192来源:国知局

本发明涉及存储资源分配技术领域,尤其涉及一种面向移动边缘网络的基于stackelberg博弈的存储资源分配分配方法。



背景技术:

目前针对未来流量激增的问题已经做出了许多重要的研究。由于视频等资源是由内容提供商提供并存储在服务器中,当用户请求时只需将请求内容发送给用户即可。因此许多研究方向都是如何将视频等热点内容存储在离用户最近的边缘网络,这样就减少了网络的开销,同时增加了用户的体验质量,因此存储资源便成了热点研究内容。最简单的是通过统计内容的请求数量得到内容的请求频率,并按照频率由大到小的顺序将热点内容存储在无线网络当中,提高命中率。还有对内容提供商之间的研究及内容提供商与运营商之间的研究,通过多方之间的相互博弈来竞争存储资源。另外内容缓存替换规则也进行了大量的研究,如lru、fifo及lfu等缓存替换规则。

但是,目前的许多研究重点都关注在内容本身,即哪些内容应该存储在无线网络边缘,应该分配多大存储空间进行存储,同时内容的请求概率都是假设好的,而这样做的结果可能并不会真正满足用户的需求,影响用户的体验质量,而且内容提供商(contentprovider,cp)之间的链路成本消耗高,内容提供商服务器和网络间的负载压力大,用户的需求及体验质量无法得到满足。



技术实现要素:

针对现有技术中存在的缺陷或不足,本发明提供一种基于stackelberg博弈的存储资源分配方法,能够根据效用函数双方依次进行各自的策略选择,并进行博弈分析,最终得到了双方的最佳策略组合,最终结果是在增加用户的体验质量的同时也节省了内容提供商之间的链路成本消耗,减小了内容提供商服务器和网络间的负载压力。

为了实现上述目的,本发明采取的技术方案为提供一种基于stackelberg博弈的存储资源分配方法,其特征在于:包括如下步骤

步骤1:将博弈层分为主导者和跟随者,其中主导者为用户总是率先决策,而跟随者为内容供应商其依据用户以及同层的其他跟随者的策略做出最佳决策;

步骤2:用户依次根据自己的效用函数式做出相对于自己的最优策略,得到用户的最优策略组合;

步骤3:基于用户的最优策略组合,cp根据自己的效用函数式选择最优的存储空间,其中,通过牛顿迭代法进行最优存储空间选择求解,并最终收敛到纳什均衡点;

步骤4:将步骤2和步骤3交替进行,直到用户达到最优策略组合,且cp在x*下获得了最佳响应,其中,在用户做出策略的阶段,cp的策略组合应该保持不变,同样在cp做出策略的阶段,用户的策略组合也应该保持不变。

作为本发明的进一步改进,在所述步骤2中,求取用户自己的效用函数式的过程包括:

步骤a1、cp已经做出决策c*并根据得到的存储空间将部分内容存储到基站端,并将用户集合记为i={1,...,i};

步骤a2,对已经做出了最优的选择的第i个用户需要内容记为k,而内容k由多个用户cp拥有,得k∈{1k,...,mk},而{1k,...,mk}∈j,对于已经将内容k存储在基站的记为cpm,统计出在用户i选择之前已经选择cpm存储在基站的内容k的请求数量为而选择存储在cpm服务器的内容k的请求数量记为其中1和2表示请求的是基站中存储的内容和服务器中的内容,得用户i分别选择两种情况的qoe为:

其中,a,a',bm,b'm为常数;

步骤a3,将cpm中内容k的大小记为smk,用户获得单位大小内容所需要的费用记为γ,则用户i的成本为:

bjk=γsjk

则用户i的效用函数为:

其中,λ是权重系数。当用户更看重qoe,则λ会趋于1,当用户更看重成本,则λ会趋于0,但不等于0,因为用户不可能只看重成本而不关心体验。

作为本发明的进一步改进,在所述步骤3中cp自己的效用函数,其求取过程为:

步骤b1,设定cp之间是相互独立的并依靠存储资源价格来购买最佳的存储空间,

而cp的策略空间记为c={c1,...,cj},假定cpj的所有内容平均大小为sj,则对于存储空间记为cj,cpj会按照请求数量由大到小的顺序进行存储,则可存储的内容数量为:

步骤b2,cpj根据用户请求得到不同内容的请求数及总请求数mj,根据请求数量计算出每个内容的请求概率并将其由大到小排序,可将其近似看作为服从参数为θj的zipf-like分布,其概率近似为

则求取得到请求内容在缓存中的人数与总请求内容人数之比为:

步骤b3,将cp购买存储空间并消耗成本定义其单价为:

其中,c为总存储空间,α为常数;

cp通过有线链路传输需要消耗成本,传输单位大小内容成本为ηbh,得其链路成本为:

当cpj的存储空间为cj时,其链路成本为:

存储成本为:

则得到通过将链路成本转化为存储成本而得到的效用函数为:

作为本发明的进一步改进,在所述步骤3中存储空间分配策略采用牛顿迭代法的迭代公式为:

其中,为cp效用函数的梯度,δ为搜索步长。

本发明的有益效果是:

本发明通过综合分析用户、运营商和内容提供商三者之间的关系,借助stackelberg博弈的相关知识将用户作为博弈的主导者和将内容提供商作为博弈的跟随者,以用户为中心并充分考虑用户的需求,根据效用函数双方依次进行各自的策略选择,并进行博弈分析,最终得到了双方的最佳策略组合。最终结果是在增加用户的体验质量的同时也节省了内容提供商之间的链路成本消耗,减小了内容提供商服务器和网络间的负载压力。

附图说明

图1是本发明提供的运营商和内容提供商之间的关系图;

图2是本发明提供的cp1、cp2和总请求空间的收敛情况;

图3是本发明提供的是随着总用户数的增加,cp1和cp2请求的存储资源的数量的变化情况;

图4是本发明提供的是cp的存储资源请求量随着运营商的价格参数的变化情况;

图5是本发明提供的cp请求存储资源随着链路成本ηbh的变化情况;

图6是本发明提供的和已有算法的qoe对比情况。

具体实施方式

下面结合附图说明及具体实施方式对本发明进一步说明。

一、本发明一种基于stackelberg博弈的存储资源分配方法原理分析

通常来说,当一个用户请求一个视频内容时,这个请求会通过基站发送到内容提供商(以下简称cp)的服务器,即如图1所示的③→②→①,服务器响应之后将用户所需内容通过原来的路径返回到用户端。为了传输数据和保证用户的体验质量(以下简称qoe),内容提供商cp需要消耗很大的链路成本,随着用户请求数量的增加,导致用户请求的大量重复性内容在骨干网和核心网中传输,同时也增加了骨干网和核心网的压力。但是如果cp将自己的内容存储在基站,请求则直接由基站处理,不会再经过路径①和路径②,节约了有线链路的成本,同时对于用户来说,响应时延大大减小,提高了用户的qoe。由于存储资源归运营商所有,那么cp想要获得存储资源则需要向运营商进行购买。为了提高用户qoe,合理实现存储资源分配,下面将通过stackelberg博弈的相关内容进行分析。

将stackelberg博弈分为主导者(leader)和跟随者(follower)其中,用户是需求方集合为i={1,...,i},他的决定是cp决策的先决条件,因此将用户作为主导者;跟随者:跟随者是根据主导者的决策而制定自己的决策的,因此将不同cp作为跟随者,集合为j={1,...,j}。

策略:作为主导者的用户,他们的策略组合定义为x={x1,...,xi},他们主要是通过比较不同cp下相同内容的效用值来选择最佳cp下的内容。当很多用户都选择同一个内容时,可能某个cp对他们来说都是最佳的选择,由于服务器的处理能力有限,导致他们的体验变得很差,因此可以看出用户之间的决策是相互影响的,他们之间也构成了非合作博弈;作为跟随者的cp,他们的策略定义为c={c1,...,cj},他们主要根据用户的内容选择来购买合适的存储空间来存储内容。由于存储资源有限,当一个cp获得的存储资源多了,那么其他cp获得的存储资源就会变少。因此,cp之间也构成一个非合作博弈。

二、本发明的资源分配方法,其步骤包括:

步骤1:将博弈层分为主导者和跟随者,其中主导者为用户总是率先决策,而跟随者为内容供应商其依据用户以及同层的其他跟随者的策略做出最佳决策;

步骤2:用户依次根据自己的效用函数式做出相对于自己的最优策略,得到用户的最优策略组合;

步骤3:基于用户的最优策略组合,cp根据自己的效用函数式选择最优的存储空间,其中,通过牛顿迭代法进行最优存储空间选择求解,并最终收敛到纳什均衡点;

步骤4:将步骤2和步骤3交替进行,直到用户达到最优策略组合,且cp在x*下获得了最佳响应,其中,在用户做出策略的阶段,cp的策略组合应该保持不变,同样在cp做出策略的阶段,用户的策略组合也应该保持不变。

具体过程如下:

假设在主导者已做出决策的情况下,每个参与博弈的跟随者在该决策下进行非合作博弈,以使自身收益最大化,那么在主导者策略下跟随者的最佳策略可以表示为:

其中,表示跟随者j的最佳策略,表示除j以外的其他跟随者的最佳策略集合。由上式可知,在主导者策略已定的情况下,各个跟随者均存在一个最佳策略,并且其通过单方面地调整自身策略也不会获得更大的收益。当所有的跟随者策略均满足上式,则称最佳策略空间为非合作博弈的一个纳什均衡点。

整个stackelberg博弈过程由2个阶段组成:主导者决策阶段和跟随者决策阶段。首先主导者率先制定策略,然后跟随者根据主导者的策略来进行决策,接着主导者再根据跟随者的策略调整自身策略,2个阶段交替进行。当主导者策略不会再改变,而跟随者策略调整至最佳时,则达到该stackelberg博弈的纳什均衡,可以将其表示为:

求取博弈双方的效用函数:

假设cp已经做出决策c*并根据得到的存储空间将部分内容存储到基站端。用户集合为i={1,...,i}。假设i之前的用户已经做出了最优的选择,第i个用户需要内容k,而内容k由多个cp拥有,即k∈{1k,...,mk},而{1k,...,mk}∈j。对于已经将内容k存储在基站的cpm,可以统计出在用户i选择之前已经选择cpm存储在基站的内容k的请求数量为而选择存储在cpm服务器的内容k的请求数量为其中1和2表示请求的是基站中存储的内容和服务器中的内容。用户i分别选择两种情况的qoe为:

其中,a,a',bm,b'm为常数。由于第一种情况是内容存在基站中,所以qoe系数与cp无关,而另一种情况是内容存在cp服务器中,因此qoe系数是与cp有关系的。

假设cpm中内容k的大小为smk,用户获得单位大小内容所需要的费用为γ。则用户i的成本为:

bjk=γsjk(5)

则用户i的效用函数为:

其中,λ是权重系数,当用户更看重qoe,则λ会趋于1,当用户更看重成本,则λ会小于1。

根据i效用函数(6),用户根据之前用户的选择策略来选取使自己效用函数最大的cpm*和l*。当用户确定策略之后,会使选择cpm*和l*增加1,从而使之前选择的用户的效用值减小,而其他cp对于用户的qoe也会随着用户请求数量的增加而减小。因此,在第i个用户做出策略后,之前的用户策略仍然可以看作是最优策略。直到所有用户选择结束,得到最新的用户策略空间x*并满足

在所有用户都做出了最佳策略后,每个cp会得到其下各个内容的用户请求数量,根据请求数量来求自己的效用。假定cp之间是相互独立的并依靠存储资源价格来购买最佳的存储空间。

cp的策略空间为c={c1,...,cj},假定cpj的所有内容平均大小为sj,则对于存储空间为cj,cpj会按照请求数量由大到小的顺序进行存储,则可存储的内容数量为:

基于用户的策略组合,cpj分别统计不同内容请求数量,如果内容k存储在基站内,则只统计基站的请求数量,反之则统计服务器中的请求数量,最后再统计总请求数mj,根据请求数计算出每个内容的请求比率并将其由大到小排序,将其近似为服从参数为θj的zipf-like分布,其概率近似为

因此可以得到请求内容在缓存中的人数与总请求内容人数之比为:

cp购买存储空间并消耗成本,由于存储空间有限,当需求增加时其单价自然也会增加。定义其单价为:

其中,c为总存储空间,α为常数。

cp通过有线链路传输需要消耗成本,传输单位大小内容成本为ηbh。当cpj的存储空间为零时,无存储成本,其链路成本为:

当cpj的存储空间为cj时,其链路成本为:

存储成本为:

因此得到通过将链路成本转化为存储成本而得到的效用函数为:

对效用函数分别求一阶导和二阶导分别为:

可以看出二阶偏导数小于零,则每个cp的效用函数皆为凹函数,那么在其定义域内可求出最大效用函数值对应的最佳响应c*并满足式(1)。因此cp之间的非合作博弈纳什均衡点存在且唯一。为得到最佳响应,可令各个cp的效用函数一阶导为零来求得,但方程组求解依然很困难,为了简便可以通过牛顿迭代法进行求解。

由以上可知,对于任何的用户策略组合,cp之间的存储分配问题均存在纳什均衡点,那么总能找到一组最佳的用户策略组合和该策略组合对应的cp的策略组合使得双方效用均达到最大化,即表明该stackelberg均衡是存在的。

在所述步骤3中存储空间分配策略时,基于用户的策略组合,cp根据自己的效用函数式(15)选择最优的存储空间,即最佳响应c*。由于对效用函数直接求解较为复杂,因此其结果可以通过牛顿迭代法进行求解,并最终收敛到纳什均衡点,其存储空间分配策略迭代公式为:

其中,为cp效用函数的梯度,δ为搜索步长。在实际系统中,的值是由cp估计出来的,因为他并不知道其他cp的策略。具体操作为在每次求最佳策略的迭代中cpi都是提交两个存储空间ci±σ给运营商,其中σ是很小的数(如σ=0.001)。运营商根据定价函数分别计算对应的价格,并将价格返回给cpi。cpi根据不同的价格可以估计出其边际效用

上述两个阶段交替进行,在用户做出策略的阶段,cp的策略组合应该保持不变,同样在cp做出策略的阶段,用户的策略组合也应该保持不变。直到用户达到最优策略组合x*,且cp在x*下获得了最佳响应c*。这时主导者和跟随者均达到了纳什均衡(x*,c*),并且没有任何决策层的任何个体可以通过私自改变策略而获得更大的效用。这样便分别获得了用户和cp的最佳策略组合。

三,本发明的方法进行仿真验证分析

下面对本发明得到的存储资源分配方法进行仿真验证与分析。

在一个拥有存储资源的基站覆盖范围内存在一定数量的用户,用户可以根据自己的需要选择不同数量的不同内容,为便于分析假设用户请求的内容只在两个cp之间。cp1拥有500个内容,其内容平均大小为100mb;cp2拥有500个内容,其内容平均大小为120mb。同时绝大部分的内容是cp1和cp2共有的,因此对于用户感兴趣的某个内容来说,它可能选择cp1中的内容,也可能选择cp2中的内容,这根据用户自己的效用函数进行选择。用户的效用函数中,参数设置:a=0.005,a'=0.01,b1=0.0012,b2=0.001,b'1=0.1,b'2=0.12。运营商在基站处的存储空间总量为10gb,α=1,ηbh=1,γ=0.1。

图2是在用户做出决策后cp的存储空间的收敛情况,从图2中可以看出cp1、cp2和总请求空间的收敛情况,在迭代约40次后便逐步收敛,可以看到请求总存储资源是略小于运营商的总资源量的,这是因为请求的资源量越多,资源价格越贵,cp的效用越小,cp为了最大自己的效用,根据其他cp的策略和运营商的价格来制定自己的策略,最终cp都得到了最佳的资源数量。

图3是随着总人数的增加,cp1和cp2请求的存储资源的数量的变化情况,从图3中可以看出是逐渐增加的,因为人数越多发送的请求越多,cp为了节约成本自然需要更多的存储空间进行内容的存储,而增加速率是越来越慢的,这是因为请求存储资源越多,存储资源的价格也在不断增加,从而得到如图3所示。

图4是cp的存储资源请求量随着运营商的价格参数的变化情况,当α越大初始存储价格越高,cp的请求数量则越少。图5是cp请求存储资源随着链路成本ηbh的变化情况,可以看出ηbh越大请求的存储资源越多,这是由于链路成本不断提高,cp为了降低成本消耗选择去请求更多的存储资源来存储内容,这样就会减小内容在骨干网上的传输并降低成本。

为了最大程度上减小链路负载,当用户请求的内容在基站内则直接由基站处理并将结果返回给用户,即最小链路负载算法。由于基站的处理能力有限,用户请求数量不断增加会导致响应时延不断减小。图6将本发明的算法与最小链路负载算法进行了对比,可以看出用户数量较少时两种算法的用户qoe是相等的,随着用户数量的增加两种算法得到的用户qoe不断减小,但是本发明的算法下降速率较慢,这是因为当用户增多时一些用户会选择请求cp服务器中的内容,从而减小了基站的负载。虽然增加了链路负载,但是保证了用户的qoe。

综上所述,本发明基于stackelberg博弈的存储资源分配方法通过综合分析用户、运营商和内容提供商三者之间的关系,借助stackelberg博弈的相关要素将用户作为博弈的主导者和将内容提供商作为博弈的跟随者,以用户为中心并充分考虑用户的需求,根据效用函数双方依次进行各自的策略选择,并进行博弈分析。在用户策略确定的情况下,通过证明可知cp的效用函数满足凹函数特性,确保了其纳什均衡点的存在且唯一,并证明了stackelberg博弈均衡是存在的,最终得到了双方的最佳策略组合。最终结果是在增加用户的体验质量的同时也节省了内容提供商之间的链路成本消耗,减小了内容提供商服务器和网络间的负载压力。

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

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