一种基于新鲜度的在线协作缓存方法
技术领域
本发明属于通信技术领域,具体涉及一种基于新鲜度的在线协作缓存方法。
背景技术
随着网络技术和智能设备的不断发展,物联网(IoT)相比以前得到了前所未有的快速发展。物联网的数据大部分通常是通过无线通信进行传递,因此物联网的快速发展给无线网络带来了巨大的挑战。为了应对这种挑战,边缘缓存技术应运而生,即在边缘通信设备中主动缓存数据,这样可以有效减少回程链路的数据流量,降低数据传输的平均时延,从而避免流量高峰时的网络拥塞。
边缘缓存技术已经成为研究的热点,该技术的关键是如何在边缘设备中进行数据的缓存。缓存方法有多样,当基站没有缓存用户请求的内容时,该基站可以从缓存有该内容的另一个基站获得,这种方法称作协作缓存,可以有效减少因回程链路产生的时延。在协作缓存的基础上,有一种称为在线方式下基于反应式缓存的基站间协作缓存方法,其中在线方式是指基站不了解文件的内容流行度,而反应式缓存是指在用户请求到达基站后基站再根据具体请求进行缓存。
不同于传统的互联网数据,物联网数据通常在数据产生后的特定时长内有效,这个时长定义为数据生存周期,另外“新鲜度(Freshness)”这一术语则表示物联网数据产生后的时长,即年龄。
现有的缓存方法,比如反应式协作缓存方法并没有考虑到文件内容在基站中的缓存时长。传统的基站缓存通常只考虑通过回程链路从宏基站获取数据,而未考虑基站之间的相互协作。
发明内容
本发明目的:针对上述现有技术存在的问题和不足,本发明的目的是提供一种基于新鲜度的在线协作缓存方法,通过优化基站服务用户请求时的总成本,选择最优的缓存策略。
技术方案:一种基于新鲜度的在线协作缓存方法,包括以下步骤:
S100:判断请求文件j是否缓存在直连小基站i中,若缓存在直连小基站i中,则转入S200;否则转入S300;
S200:判断请求文件的年龄是否满足新鲜度约束,若满足约束,则直连小基站i将该请求文件j传给用户,转入S400;否则直连小基站i从互联网更新请求文件j后再将更新后的文件传给用户,将更新后的请求文件的年龄重置为0,转入S400;
S300:根据每个关联小基站k的实际缓存情况分别计算得到直连小基站i向关联基站集合中的每个关联小基站请求文件时的成本,经比较得到最小成本
和对应的关联小基站k′;判断
与C
0的大小,其中,C
0表示直连小基站i缓存文件的总成本,若
小于C
0,则关联小基站k′根据自身缓存情况向用户发送请求文件j,并转入S400;若
不小于C
0,则由直连小基站i从互联网下载请求文件j后将文件传给用户,并转入S400;
S400:更新各个小基站的缓存状态,并根据请求之间的间隔时间对缓存文件的年龄状态进行更新;
S500:判断请求次数是否能整除请求周期TD,若能,则将每个小基站的缓存文件中请求次数少于μ次或者年龄大于新鲜度约束的文件进行剔除;否则获取下一个用户请求,执行S100;
其中,S100中的请求文件j的年龄表示物联网数据从产生至当前时刻为止的时长;所述新鲜度约束表示为:
式中,Fj表示请求文件j的生存周期,Ei,j表示缓存在直连小基站i中的请求文件j的年龄,F′u,j表示用户u对请求文件j的新鲜度要求;S=1表示该用户u对该请求文件j有新鲜度要求,S=0表示该用户对该请求文件j没有新鲜度要求;
其中,S300中,
g
i,j表示直连小基站i缓存文件j的缓存成本:g
i,j=(1-M
i)*f
i,j*v
j,M
i表示直连小基站i的归一化用户数值,M
i∈[0 1],v
j表示请求文件j的文件大小,f
i,j表示直连小基站i下载文件j时每单位文件大小所付的价格;
表示直连小基站i向关联小基站k请求文件j时的单位下载成本,
表示直连小基站i从互联网下载文件j时的单位下载成本。
进一步的,所述S300中,所述的根据每个关联小基站的实际缓存情况分别计算得到直连小基站i向关联基站集合中的每个关联小基站请求文件时的下载成本,具体包括:
若关联小基站k缓存有请求文件j且该请求文件的年龄满足新鲜度约束时,则成本为:
式中,
定义为关联小基站k的协作潜能,加权系数满足α+β+γ=1;
若关联小基站k缓存有请求文件j且该请求文件的年龄不满足新鲜度约束时,则成本为:
式中,
表示直连小基站i从互联网更新文件j时的单位更新成本,vj表示请求文件j的文件大小;
若关联小基站k未缓存请求文件j,成本为:
式中,g
i,j表示直连小基站i缓存文件j的缓存成本,
表示直连小基站i从互联网下载文件j时的单位下载成本。
进一步的,所述S300中,所述的关联小基站k′根据自身缓存情况向用户发送请求文件,具体包括:
若关联小基站k′缓存有请求文件j且该请求文件的年龄满足新鲜度约束时,则关联小基站k′将请求文件j传给直连小基站i,再由直连小基站i传给用户;
若关联小基站k′缓存有请求文件j且该请求文件的年龄不满足新鲜度约束时,则关联小基站k′向互联网请求更新请求文件j后再传给直连小基站i,由直连小基站i传给用户;
若关联小基站k′未缓存请求文件j时,关联小基站k′向互联网请求下载请求文件j后再传给直连小基站i,由直连小基站i传给用户。
进一步的,在S300中,若直连小基站i从互联网下载请求文件j时,该直连小基站i剩余储存容量不足以缓存文件j,则根据直连小基站i的请求矩阵按照被请求次数将直连小基站i中的所有缓存文件进行升序排序,从第一个缓存文件开始依次剔除,直至直连小基站i的剩余储存容量能够缓存请求文件j。
进一步的,若关联小基站k′向互联网请求下载请求文件j时,该关联小基站k′剩余储存容量不足以缓存文件j,则根据关联小基站k′的请求矩阵按照被请求次数将关联小基站k′中的所有缓存文件进行升序排序,从第一个缓存文件开始依次剔除,直至关联小基站k′的剩余储存容量能够缓存请求文件j。
有益效果:本发明具有以下优点:
1、本发明方法以用户支付总成本最小化为优化目标,对所有基站的缓存策略进行最优选择,而总成本分为两类:第一类是缓存成本,即从互联网下载其未缓存过的数据文件时支付给服务提供商的费用;第二类是下载成本,即传输文件时需支付的流量费用;
2、不同于传统的基站缓存,本发明方法考虑了基站之间的相互协作,且基站之间的协作能力考虑三个因素:每个小基站与其他小基站的协作连接数、小基站之间的距离以及每个小基站服务的用户数,减少回程链路的数据流量,降低数据传输的平均时延;
3、不同于传统的蜂窝缓存,本发明提出的在线协作缓存方法考虑了物联网场景下的“新鲜度”概念,以约束缓存在小基站中的文件的实时程度,保证文件新鲜度满足用户期望。
附图说明
图1为本发明方法的流程示意图;
图2为本发明方法的网络模型示意图;
图3为文件平均价值仿真结果图;
图4为平均用户满意度的仿真结果图;
图5为总成本的仿真结果图。
具体实施方式
现结合附图和实施例进一步阐述本发明的技术方案。
本发明在协作方法的基础上,考虑了在线方式,并引入了物联网场景下的“新鲜度”概念来约束缓存在小基站中的文件的实时程度,在文件新鲜度满足用户期望的前提下,构建了用户支付总成本最小化的优化模型。该方法虽然使得总成本有所增加,但却大幅度提升了用户满意度。
本发明的系统模型如附图2所示,由核心网、互联网、I个小基站以及U个用户组成,分别用l={1,2,...,I}、m={1,2,...,U}以及{I+1}分别表示小基站集、用户集和互联网。在本发明模型中,每个小基站的缓存容量有限,且一个小基站可为多个用户提供服务,其对应的缓存容量集合为S={s
1,...,s
i,...,s
I}。每个用户由距离其最近的小基站服务,该小基站称之为连接小基站。核心网拥有产生物联网数据源,共有J个物联网数据文件,所有数据文件集合为n={1,2,...,J},对应的文件大小集合为V={v
1,...,v
j,...,v
J},而互联网从核心网获取实时文件,并提供给各个小基站。另外,小基站之间通过无线链路相互进行通信,所以只有当小基站之间的距离在一定范围内时才能相互建立通信,因此,每个小基站都有一个关联连接集,表示为集合S'={S′
1,...,S′
i,...,S′
I},其中元素S′
i为集合l的子集,包含着可以与小基站i相互建立连接的其他小基站,即
本发明方法将小基站的服务模型建模为M/D/1队列系统模型,该队列模型中“M”表示请求到达基站时的时间间隔服从密度为λ的指数分布,“D”表示请求服务时间服从定长分布,“1”表示每个小基站一次服务一个请求。通常,请求服务时间指小基站通过下行链路将文件传给用户或者小基站通过回程链路从互联网下载文件再传给用户的时间,相对于文件缓存在基站中的时长而言,请求服务时间数值很小,可以忽略不计。另外,物联网数据通常在数据产生后的特定时长内有效,这个时长定义为数据生存周期,且由服务提供商所规定。而“新鲜度(Freshness)”这一术语则表示物联网数据从产生至当前时刻为止的时长,即文件年龄。在本发明方法中,用Fj表示文件j的生存周期,Ei,j表示缓存在基站i中的文件j的年龄。除此以外,用户的部分请求中包含有一个与文件年龄有关的新鲜度参量,本发明定义为用户u对文件j的新鲜度要求,用F′u,j表示。并不是所有请求都包含有F′u,j值,且由于用户的要求不同,且不同用户请求同一文件时请求所包含的F′u,j值是不一样的。
当用户收到来自基站的文件时,用户将根据文件年龄获得一个价值。若小基站i的文件j传给用户u,此时用户获得的文件价值定义为:
其中,S=1表示该用户对该文件有特殊的新鲜度要求,否则S=0。
另外,为了体现用户对不同年龄的文件的满意程度,本发明还定义了平均用户满意度这一性能参数,该参数定义为:
其中,分子表示用户对各个文件的满意度总和,分母表示总请求数,Lu,j表示用户u对文件j的满意度,且Lu,j的大小随着文件年龄的变化而变化。该数值定义如下:
在公式(3)中,a表示在文件生存周期内或者用户对该文件的新鲜度要求内文件j的新鲜程度。若文件年龄满足Ei,j≤SF′u,j+(1-S)Fj,即0≤a≤1,则有0.5≤Lu,j≤1。
本发明方法以用户支付总成本最小化为优化目标,而总成本由缓存成本和下载成本构成,两种成本定义如下:缓存成本表示当小基站从互联网下载其未缓存过的数据文件时支付给服务提供商的费用,下载成本表示在无线链路上传输数据文件的费用。对于所有小基站,本发明定义了一个单位缓存成本f
i,j,表示小基站i下载文件j时每单位文件大小所付的价格。而下载成本包括两个方面:一方面是当小基站向互联网请求文件时所对应的流量费用,该费用能分成两种情况:当小基站向互联网下载其未缓存的文件时的成本本文称为互联网下载成本,而当小基站向互联网请求更新其已过期的缓存文件时的成本本文称为互联网更新成本。为了简化起便,本发明假设文件更新前后的大小不变。由此可见,在第二种情况中,小基站向互联网请求服务时的总成本只包括互联网更新成本,而在第一种情况下,小基站向互联网请求服务时的总成本包括互联网下载成本和缓存成本。当小基站i向互联网请求文件j时,
表示互联网单位下载成本,
表示互联网单位更新成本;另一方面,当小基站之间相互请求文件时,
表示小基站i向小基站k请求文件j时的单位下载成本。另外,小基站单位下载成本一定小于互联网单位下载成本,即
且对于同一文件j,
和
不能同时出现。
就实际场景中的缓存成本和下载成本进行公式说明。就缓存成本而言,它的大小与小基站本身无关,但和该小基站服务的用户数有关。这是因为小基站服务的用户数越多,服务商提供给它的激励越多,在缓存成本上提供的折扣越大。此时对各个小基站服务的用户数归一化,并定义参数Mi表示小基站i的归一化用户数值,Mi∈[0 1],则服务商提供给小基站i的相应折扣为1-Mi。另外缓存成本还与文件的大小成正比,最终小基站i缓存文件j的缓存成本为:gi,j=(1-Mi)*fi,j*vj。
另外,当小基站i向小基站k请求文件j时,小基站k的协作能力与连接能力、位置优势以及服务能力三个因素有关。这三种因素分别表示小基站k的所关联的用户数、小基站k和小基站i之间的距离以及小基站k所服务的用户数,分别记为c(k)、d(k)以及m(k)。对于被请求的小基站k而言,服务的用户数越多,或者所关联的小基站的数量越多,小基站k在单位时间内处理的请求数越多,该基站就越“忙”。而且小基站k距离小基站i越远,传输代价越大,所以,当小基站k的这三个因素的值越大时,小基站i向小基站k所支付的下载成本就越高。此时将c(k)、d(k)以及m(k)这三个参数进行归一化处理得到
和
即
然后通过各自的加权系数α、β和γ将这三个因素结合起来。最终小基站i向小基站k请求文件时的下载成本为:
其中,
定义为关联小基站k的协作潜能,且加权系数满足α+β+γ=1。
综上所述,本发明方法中的缓存优化问题可以表述为:
可以从上述优化表达式看出,总成本可以分成三项。第一项是各个小基站向关联小基站请求未过期的缓存文件时所支付的下载总成本,第二项是各个小基站向关联小基站请求已过期的缓存文件时所支付的下载总成本,第三项是各个小基站向互联网请求下载文件时的缓存总成本。在该表达式中,参数
Z′
k,j,Z
k,j以及S都为二元逻辑常量,其含义分别表示如下:(1)若小基站i向关联小基站k请求文件j时,
否则
当k=I+1即表示互联网时,若小基站i向互联网请求文件j,则
否则
(3)若文件j已缓存在小基站k中时,Z
k,j=1,否则Z
k,j=0;(4)文件j缓存在小基站k中但已过期时,Z′
k,j=1,否则Z′
k,j=0;(5)若用户u对该文件j有特殊的新鲜度要求,则S=1,否则S=0。除此以外,N
i,j表示小基站i收到关于文件j的请求总数。
在优化表达式(5)中,各个约束条件含义如下:S(1)是为了确保只有当文件j缓存在小基站k中时,小基站i才能向关联小基站k请求该文件;S(2)是为了确保只有当小基站k缓存有文件j时,该基站中才会出现文件j过期的情况;S(3)是为了确保任何一个关于文件j的请求到达某一小基站i时都能够被满足——要么从小基站i的本地存储中将文件传输给用户,要么通过其所关联的小基站将文件传输给用户,或者从互联网将文件传输给用户;S(4)是小基站容量约束条件;S(5)是为了确保用户u接收到缓存在基站i中的文件j时,该文件的年龄能满足新鲜度条件的约束。
最终,参照图1,基于上述优化问题的发明方法流程如下所示:
步骤1:初始化:小基站集用集合{1,...,i,...,I}表示,总数为I,用户集用{1,...,u,...,U}来表示,总数为U,文件集用{1,...,j,...,J}来表示,总数为J,用Cache表示小基站的缓存策略矩阵,Cost表示总费用且初始化为0;
步骤2:假设此时小基站i的服务内容为:用户u(1≤u≤U)向该基站请求文件j(1≤j≤J),文件j被请求的次数加1,同时到达该基站的请求总数加1;
步骤3:如果小基站i缓存有文件j,则根据该文件的年龄以及新鲜度约束选择用户服务方案:若用户u对文件j有新鲜度要求,且满足文件年龄不超过新鲜度要求,或者若用户u对文件j没有新鲜度要求,但文件年龄不超过生存周期,小基站i直接从本地存储中将文件j传给用户u;否则小基站i从互联网更新文件j并传给用户u,同时将缓存在小基站i的该文件的年龄重置为0,总费用变为
步骤4:如果小基站i未缓存有文件j,则考虑小基站i的关联基站集合。对于该集合中的任一小基站k,根据小基站k的实际缓存情况计算小基站i向该基站请求文件时的下载成本:
4.1)若小基站k缓存有文件j,且该文件的年龄满足新鲜度约束,此时总成本由小基站i向小基站k的下载成本组成,即
在这种情况下,小基站k直接将文件j传给小基站i,再由小基站i传给用户u;
4.2)若小基站k缓存有文件j,但该文件的年龄不满足新鲜度约束,此时总成本由小基站k向互联网请求更新的更新成本以及小基站i向小基站k的下载成本组成,即
在这种情况下,小基站k向互联网请求更新文件j后再传给小基站i,并由小基站i传给用户u,即E
k,j=0;
4.3)若小基站k未缓存文件j,此时总成本由小基站k向互联网请求文件的下载成本、小基站k的缓存成本以及小基站i向小基站k的下载成本组成,即
在这种情况下,小基站k向互联网请求下载文件j后再传给小基站i,并由小基站i传给用户u,即Cache(k,j)=1,且E
k,j=0;
步骤5:将小基站i的关联基站集合中每一个关联小基站的上述成本进行比较,得到最小值
该值对应于某一关联小基站k′;
步骤6:计算直连小基站i缓存文件j的总成本
然后比较
和C
0选取最小值,即
且Cost=Cost+Cost
min。若
则小基站k′按照4.1、4.2以及4.3中的某种情况进行文件缓存、年龄更新以及用户服务方案;若Cost
min=C
0,则Cache(i,j)=1,E
i,j=0,且由小基站i将文件j传给用户u。另外,在进行文件缓存时,若小基站的剩余储存容量不足以缓存文件j,则对文件进行淘汰:将该基站已缓存的所有文件,根据基站的请求矩阵List按照被请求的次数将所有文件进行升序排序,然后从第一个开始依次排除文件,直至小基站的剩余储存容量足够缓存文件j;
步骤7:此时若小基站i处理的请求数是给定更新周期的整数倍,则选出小基站i的缓存文件中请求次数少于μ次且年龄大于τ的文件,并将它们从基站i的本地存储器中淘汰。
综上所述,本发明在协作方法的基础上,考虑了在线方式,并引入了物联网场景下的“新鲜度”概念来约束缓存在小基站中的文件的实时程度,在文件新鲜度满足用户期望的前提下,构建了用户支付总成本最小化的优化模型。将该优化问题表述为整数线性规划问题,并采用集合覆盖问题的映射方法证明了它的NP完全性,得到了小基站缓存文件的最佳方案。另外,由于有限的缓存容量,该方法通过结合新鲜度和文件请求次数的方法对已缓存文件进行更新。
附图3、附图4以及附图5将本发明的OCWFCA方法与另一文献的OCCA算法进行了性能比较。OCCA算法不考虑新鲜度作为约束条件以及基于新鲜度约束的文件更新,而只考虑在每一轮用户请求到达前对缓存文件进行随机更新。如附图3所示,基于新鲜度的在线协作缓存方法在文件平均价值上要比另一种文献算法好;附图4中基于新鲜度的在线协作缓存方法在平均用户满意度上要比另一种文献算法好;附图5是总成本随用户数的的变化,此时基于新鲜度的在线协作缓存方法的总成本要比另一种文献算法高,且当用户数以及缓存策略固定时,基站缓存容量为20Gbits的总成本低于10Gbits的总成本。综合附图3、附图4和附图5可知,本发明方法在付出约12%的总成本提升的牺牲下,保证了文件年龄满足用户期望,整体提高了约40%~50%的用户满意度。