一种雾计算中基于古诺博弈的协作缓存方法与流程

文档序号:16063447发布日期:2018-11-24 12:25阅读:131来源:国知局

本发明属于雾计算技术领域,特别是一种雾计算中基于古诺博弈的协作缓存方法。

背景技术

随着移动互联网的飞速发展,大量的移动智能设备接入互联网。传统的云计算在应对如此海量的用户请求时所面临的问题日益突出,例如:高时延、地理位置感知弱、对移动性支持差。雾计算作为云计算的延伸,大大弥补了传统云计算的各种不足之处。雾计算是用户终端和云端内容中心之间高度虚拟化的中间层,雾计算为用户终端提供计算、存储和网络服务。不同于云计算的集中式控制框架,雾计算通过将服务器节点以分布式的方法部署在更加贴近用户终端的地理位置。由于服务器节点更加贴近用户终端,雾计算具有更低的时延、地理位置感知强、实时交互性高、移动性支持好等优点,因此雾计算广泛应用于智能电网、m2m网络、车联网等领域。

移动互联网作为如今人们日常生活的重要组成部分,音乐、视频、图片等流媒体内容的获取和发布已经成为当今互联网的主流模式。据cisco统计数据显示:在过去5年时间内,全球ip流量增长超过4倍,到2019年,视频流量将占到整个互联网流量的80%。面对流媒体内容爆发式增长,由于移动智能终端受限于其存储容量、电池容量、无线网络信号等因素,移动终端用户从云端内容中心获取的内容非常有限。在网络流量高峰时,大量的移动终端用户请求相对热门的内容,造成该热门内容在网络中重复传输,占用了有限的网络带宽资源,对用户体验影响非常大。



技术实现要素:

本发明的目的在于提供一种雾计算中基于古诺博弈的协作缓存方法,以提高整个缓存系统的缓存命中率,减少频繁从云端内容中心获取内容所产生的链路开销。

实现本发明目的的技术解决方案为:一种雾计算中基于古诺博弈的协作缓存方法,包括以下步骤:

步骤1,根据各个雾服务器节点内用户终端请求内容进行被动缓存;

步骤2,根据各个雾服务器节点缓存空间使用情况,执行链路代价最小的替换策略;

步骤3,采用古诺博弈对不同雾服务器节点进行协作缓存。

进一步地,步骤1所述根据各个雾服务器节点内用户终端请求内容进行被动缓存,具体如下:

根据社交关系实体划分的方式,将用户终端划分给不同的雾服务器节点;

对各个雾服务器节点内容的用户终端请求内容进行缓存,且请求内容服从zipf分布,各用户终端请求到达服从泊松分布;

更新各个服务器节点非协作部分的缓存信息表。

进一步地,步骤2所述根据各个雾服务器节点缓存空间使用情况,执行链路代价最小的替换策略,具体如下:

在雾服务器节点缓存空间不足的情况时,分别计算各请求内容的缓存价值;

对新到达的请求内容与缓存价值最小的内容进行比较,若满足条件,则执行替换,否则不执行缓存操作;

当用户终端所属的雾服务器节点未存储请求内容时,查询其他雾服务器节点协作部分是否存储该内容,若存储则直接返回该内容,否则从云端内容中心获取内容;

更新各个雾服务器协作和非协作部门的缓存信息表。

进一步地,步骤3所述采用古诺博弈对不同雾服务器节点进行协作缓存,具体如下:

当各雾服务器节点均未存储内容,并且同时对相同内容进行请求时,则通过雾服务器节点之间进行博弈来决策缓存该内容;

雾服务器节点存储该内容时,其他雾服务器节点只需通过该雾服务器节点获取内容,同时更新云端内容中心协作缓存信息表。

本发明与现有技术相比,其优点在于:(1)该方法考虑到了用户终端位置、请求内容大小、链路代价等实际因素,充分利用雾服务器节点贴近用户终端的特性,对请求内容进行就近存储,以减少对云端内容中心的请求,大大提高了网络带宽的利用率;(2)雾服务器节点之间组成的协作缓存系统,丰富了整个缓存系统的内容种类,提高了整个缓存系统的缓存命中率。

附图说明

图1为本发明雾计算中基于古诺博弈的协作缓存方法的流程示意图。

图2为本发明的协作缓存结构图。

图3为本发明中链路代价最小的缓存替换策略。

图4为本发明中实施例中zipf参数对缓存命中率的影响的对比示意图。

图5为本发明中实施例中zipf参数对链路开销影响的对比示意图。

图6为本发明中实施例中zipf参数对缓存时延影响的对比示意图。

具体实施方式

下面结合附图及具体实施例对本发明作进一步详细描述。

结合图1,本发明雾计算中基于古诺博弈的协作缓存方法,包括以下步骤:

步骤1,根据各个雾服务器节点内用户终端请求内容进行被动缓存;

根据社交关系实体划分的方式,将用户终端划分给不同的雾服务器节点;

对各个雾服务器节点内容的用户终端请求内容进行缓存,且请求内容服从zipf分布,各用户终端请求到达服从泊松分布;

更新各个服务器节点非协作部分的缓存信息表;

步骤2,根据各个雾服务器节点缓存空间使用情况,执行链路代价最小的替换策略;

在雾服务器节点缓存空间不足的情况时,分别计算各请求内容的缓存价值;

对新到达的请求内容与缓存价值最小的内容进行比较,若满足条件,则执行替换,否则不执行缓存操作;

当用户终端所属的雾服务器节点未存储请求内容时,查询其他雾服务器节点协作部分是否存储该内容,若存储则直接返回该内容,否则从云端内容中心获取内容;

更新各个雾服务器协作和非协作部门的缓存信息表;

步骤3,采用古诺博弈对不同雾服务器节点进行协作缓存;

当各雾服务器节点均未存储内容,并且同时对相同内容进行请求时,则通过雾服务器节点之间进行博弈来决策缓存该内容;

雾服务器节点存储该内容时,其他雾服务器节点只需通过该雾服务器节点获取内容,同时更新云端内容中心协作缓存信息表。

进一步地,步骤1所述的根据各个雾服务器节点内用户终端请求内容进行被动缓存,具体如下:

步骤1.1,雾计算服务节点集群由集合f={f1,f2,…,fn}组成,其中fi表示第i个雾服务器节点,i∈{1,2,…,n};用户终端群由集合u={u1,u2,…,um}组成,其中uj表示第j个用户终端,j∈{1,2,…,m};

步骤1.2,在给定的地理位置范围内,根据基于社交关系的划分方式,将各用户终端ui划分给不同雾服务器节点fi,其中划分社交关系实体ei,j表达式如下:

其中,δ为比例因子;λi,j∈[0,1],为用户终端ui和用户终端uj之间的影响因子;a和b分别为内容信息和地理位置的影响因子;di,j表示用户终端ui是否在用户终端uj影响范围内,di,j∈[0,1];

步骤1.3,雾服务器节点fi内的用户终端ui进行内容请求,所有的内容请求fi(σ,k)均服从zipf分布,表达式如下:

其中,表示所有内容被访问的概率总和为1;为总的内容被访问的概率之和;k表示内容总数;当内容编号i小于内容编号j时,则fi(σ,k)>fj(σ,k),内容编号越小则内容被访问的概率越高。

进一步地,步骤2所述的根据各个雾服务器节点缓存空间使用情况,执行链路代价最小的替换策略,具体如下:

步骤2.1,根据内容v在整个雾计算缓存系统中分布情况,得出该内容的不同链路开销情况,具体如下:

(2.1.1)整个缓存系统中的各雾服务器节点均未存储内容v;该情况下,用户终端只能通过其归属的雾服务器节点从云端内容中心获取内容v,所以在一个缓存周期内为该请求内容v所产生的传输开销pdelivery为存储开销pcache为0;则总的开销ptotal为:

其中,为内容v在雾服务器节点fi内被请求的次数,i∈{1,2,…,n};cv为内容v的大小;pc为雾服务器节点和云端内容中心之间的单位链路开销;pi为雾服务器节点fi其自治域内的用户终端和雾服务器节点fi之间的单位链路开销;

(2.1.2)部分雾服务器节点缓存了内容v;该情况下,用户终端首先直接从其归属的雾服务器节点获取内容v,若其归属的雾服务器节点未缓存内容v,则从距离其归属雾服务器节点最近的雾服务器节点获取内容v,所以在一个缓存周期内为该请求内容的传输开销pdelivery为存储开销pcache为save(nv)pscv,则总的开销ptotal为:

其中,n{\nv}为未缓存内容v的雾服务器节点集合;save(nv)为存储了内容v的雾服务器节点个数;ps为一个周期内雾服务器节点的单位存储开销;min(pi,j)为雾服务器节点之间最小的链路开销;nv为缓存了内容v的雾服务器节点;

(2.1.3)各雾服务器节点均存储了内容v;该情况下,用户终端直接从其归属的雾服务器节点获取内容v,所以在一个缓存周期内为请求内容v的产生的传输开销pdelivery为0;存储开销pcache为save(nv)pscv;则总的开销ptotal为:

ptotal=pcache+pdelivery=save(n)pscv(5)

其中,save(n)为雾计算整个缓存系统中的雾服务器节点个数;

步骤2.2,根据步骤2.1得出的链路开销计算公式,计算请求内容v在雾服务器节点fi的缓存价值,具体如下:

(2.2.1)整个缓存系统中各个雾服务器节点均未存储内容v,则缓存价值valueiv为:

其中,为雾服务器节点fi自治域内的用户终端直接获取内容v所节省的开销;为雾服务器节点fi自治域内的用户终端从其他雾服务器节点fj获取内容v所节省的开销;pscv为雾服务器节点fi缓存内容v的缓存开销;

(2.2.2)整个缓存系统中部分雾服务器节点缓存了内容v,则缓存价值为:

其中,为雾服务器节点fi自治域内的用户终端直接获取内容v而不需要从其他雾服务器节点fj获取内容所节省的开销;为其他雾服务器节点fk就近从雾服务器节点fi获取内容v所节省的开销;pscv为雾服务器节点fi缓存内容v的缓存开销;

步骤2.3,根据步骤2.2所计算的缓存价值,对各个雾服务器节点的缓存空间中的内容执行替换策略,每次选择缓存价值最小的内容进行替换。

进一步地,步骤3所述的采用古诺博弈对不同雾服务器节点进行协作缓存,具体如下:

步骤3.1,初始化各雾服务器节点fi的出价mi;

步骤3.2,对各雾服务器节点fi进行出价权衡,其中对于各个雾服务器节点的定价函数如下:

其中,a,b和τ均为正常数,且令τ≥1,即表明该定价函数为凸函数,从而保证了云端内容中心将该请求内容下发到使整个缓存系统链路开销最小的雾服务器节点fi上;m={m1,m2,…,mn}为各雾服务器节点给出的价格集合;

步骤3.3,根据步骤2.1.1可知,当各个雾服务器节点未存储请求内容时,对于各个雾服务器节点自治域内的用户终端所产生的链路开销计算公式下如下:

lnocache=ni·(pi+pc)·ci(9)

其中,ni为雾服务器节点总数;pi为雾服务器节点fi自治域内容的单位链路开销和雾服务器节点;pc为雾服务器节点和云端内容中心之间的的单位链路开销;ci为请求内容的大小;

步骤3.4,根据步骤(2.1.2)可知,当各雾服务器节点存储了请求内容时,对于各个雾服务器节点自治域内的用户终端所产生的链路开销lcache计算公式如下:

其中,为直接由雾服务器节点提供请求内容的节点总数;ni为缓存在雾服务器节点fi上的内容总数;为未通过雾服务器节点fi获取内容的链路开销;为直接通过雾服务器节点fi获取内容的链路开销;ni·c(p)·ci为请求内容在雾服务器节点的缓存开销;c(p)为缓存单个内容的缓存开销;

步骤3.5,根据步骤3.3和步骤3.4,进行求差值lsave,公式如下:

其中,为雾服务器节点fi中已缓存内容占其自治域内总的请求内容比例;pg为云端内容中心到用户终端的单位链路开销,即pg=pi+pc;c(p)为缓存单个内容的缓存开销,且di=ni·ci;

步骤3.6,结合公式(10)和(11),得出基于古诺博弈的缓存模型的效用函数如下:

其中,μ为内容流行度分布因子,ωk为总的内容被访问概率之和。利用雾服务器节点贴近用户终端的特性,在雾服务器节点中对经过其处理的请求内容进行存储,可以减少用户终端从云端内容中心获取内容时所产生的链路开销,并降低用户终端从云端内容中心获取内容的时延。

在充分考虑链路开销、请求内容大小基础上,通过雾服务器节点之间的协作缓存,将整个缓存系统中较为流行的内容保存在协作部分,以提高整个缓存系统的缓存命中率,减少频繁从云端内容中心获取内容所产生的链路开销。

下面结合具体实施例对本发明作进一步说明。

实施实例1

结合图1,本发明雾计算中基于古诺博弈的协作缓存方法,各步骤中参数如下:

地理范围直径1000m;请求内容总数v=2500;单个请求内容大小1(单位缓存块大小);雾服务器节点n∈[2,8];用户终端数m=1000;用户终端请求内容的顺序服从泊松分布;单个节点缓存容量c∈[50,100];zipf参数σ∈[0.6,1.2];缓存周期t=3600;协同比例r∈[0.4,0.8];用户终端与雾服务器节点之间带宽100mhz;雾服务器节点与云端内容中心之间带宽104mhz;其中古诺博弈的参数a=0,b=1,τ=1。

本专利所提出链路最小代价(linkminimalcost,lmc)算法,同时选择传统缓存算法先进先出(firstinfirstout,fifo)算法、最近最少使用(leastrecencyused,lru)算法,随机(random)算法作为对比算法,对比性能图4-6所示,其中图4为zipf参数对缓存命中率的影响的对比示意图,图5为zipf参数对链路开销影响的对比示意图,图6为zipf参数对缓存时延影响的对比示意图。

从上述性能对比图可以看出,本专利提出的雾计算中基于古诺博弈的协作缓存方法在缓存命中率、链路开销、缓存时延等方面明显更优。综上所述,本发明雾计算中基于古诺博弈的协作缓存方法,对服务器节点空间利用率更加高效,减少从云端内容中中心获取内容的请求,从而提高了用户体验。

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