一种基于位置变动的联合LRU与LFU的缓存更新方法及网络与流程

文档序号:11693217阅读:361来源:国知局
一种基于位置变动的联合LRU与LFU的缓存更新方法及网络与流程

本发明涉及内容缓存与分发技术,尤其,涉及一种适用于蜂窝网络的缓存内容更新方法及网络。



背景技术:

近年来,移动数据业务呈井喷式地增长,业内提出了基于d2d通信(device-to-device,设备到设备)的内容缓存与分发技术。该技术将一些十分流行的内容缓存在移动节点处,而当移动节点需要某一内容的时候,就可以与其周围已缓存该内容的用户节点建立d2d链路,复用合法蜂窝用户的信道,直接获取该内容。这样,相较传统的内容下载方法而言,第一,不需要经过基站的转发,降低了时延;第二,直传链路信道状况通常更好,可以提高下载速率;第三,复用合法蜂窝用户的信道,提高了频谱利用率。

然而,基于d2d通信的内容缓存与分发技术也带来了很多新问题。首先,任意缓存节点的缓存空间均是有限的,不可能缓存下所有的内容,因此,缓存哪些内容对缓存的效果有很大影响。如果所缓存的内容并不是周围节点所需要的,那么缓存工作反而会造成网络资源的浪费。第二,内容的受欢迎程度是不断变化的:随着时间的推移,新的内容会不断的出现,也不断会有旧的内容不再受到关注;而且,移动节点由于用户的个人偏好,通常具有一定社会属性,缓存节点的移动会导致周围网络拓扑实时变化。因此,及时对缓存内容进行更新,称为本领域的研究重点。

现有的研究主要集中在上述的第一个问题上,即对缓存内容的布设与选择。而相较而言,缓存内容更新方法的研究则十分有限。目前,对缓存内容更新方法的研究主要集中在对lru(leastrecentused)与lfu(leastfrequencyused)两类记录的研究使用上。其中,lru记录主要包括接收到的请求内容id(identification)以及接收到各请求内容id的时间。lru中,这些数据被按照接收时间由近及远的顺序排序。lfu记录主要包括接收到的请求的内容id(identification)以及接收到各接收到的请求的内容id(identification)的次数。lru中,这些数据被按照接收次数由多到少的顺序排序。这两种记录方式的联合使用已经在计算机内容缓存研究中取得了不少进展:1970年,mattson、gecsei、slutz和traiger等人在《ibmsystemsjournal》上发表的论文evaluationtechniquesforstoragehierarchies中,设计了min算法。该算法被证明是最优的离线缓存更新算法。但是,在引入d2d通信技术的蜂窝网络中,由于移动节点具有了个人偏好以及社会属性,其移动性会对缓存方案产生很大的影响。随着网络中的移动节点时刻产生移动行为,整个网络的拓扑时刻发生改变,用户之前所收集的信息在使用时的参考价值大为降低。(本发明中所考虑的用户移动性主要指用户位置的变化。)因此,在设计内容缓存更新方法时,将用户的移动性纳入考量显得尤为必要。



技术实现要素:

为了解决现有技术存在的不足,本发明的目的在于提供一种基于位置变化的联合lru与lfu的缓存更新方法、应用所述缓存更新方法的通信装置及移动蜂窝网络。

所述缓存更新方法,包括以下步骤:

第一步,确定缓存更新周期为t,确定本节点缓存空间容量为s,并根据所述缓存空间容量s确定本节点lru记录与lfu记录数目为m,确定更新概率阈值γ;按照固定周期获取本节点坐标,当本节点位置坐标发生变化时记为一次移动,记录本节点所有移动次数及每次移动的位置坐标;获取本节点坐标的周期可由本节点自行确定,也可由本节点所在网络确定,该周期应小于缓存更新周期t。

第二步,接收内容下载请求,记录本节点当前位置坐标,并合并本节点接收到的内容重复的所述下载请求,然后根据合并后的内容下载请求更新所述lru记录与所述lfu记录;

第三步,在所述缓存更新周期t内重复第二步,每记满一个缓存更新周期t则跳转至第四步;

第四步,计算本节点接收的所述内容下载请求中,每一个内容cm的更新概率pm,然后跳转至第五步;

所述更新概率pm=α(μ×v_lrum+(1-μ)×v_lfum)l;

其中,m表示所述内容下载请求中所述内容cm的编号,m≤m;

相对位置波动因子其中,j表示本节点第j次移动,(xj,yj)表示本节点第j次移动后所处位置的坐标,xj表示本节点第j次移动后所处位置的横坐标,yj表示本节点第j次移动后所处位置的纵坐标,k表示本节点移动总次数,表示本节点k次移动的中心位置坐标,为本节点k次移动的中心位置横坐标,为本节点k次移动的中心位置纵坐标。相对位置波动因子α考量的主要是节点所移动的各个位置与本节点移动位置中心之间的距离关系。当移动蜂窝网络用户移动到一个相对陌生的环境时(即节点位置与本节点移动位置中心之间的距离较大,α较小时),其接收到的内容下载请求具有较小的参考价值,此时内容更新概率较小,不对内容进行更新。

μ为权重因子,所述权重因子μ代表lru记录与lfu记录的相对重要程度,其取值范围是(0,1);

为lru记录中所述内容cm的lru价值;其中,tm为lru记录中收到所述内容cm的下载请求的时间;

为lfu记录中所述内容cm的lfu价值;其中,fm为lfu记录中收到所述内容cm的下载请求的次数;

相对最大位置波动因子其中,常数β表示映射后各位置分布坐标的分布密集程度,β越小,分布越稀疏,β取值范围为(1,+∞)。相对最大位置波动因子l考量的主要是节点的最大位移情况。如果仅仅通过相对位置波动因子α考量节点的位移,很有可能出现节点位移坐标分布的形状相似,但位移坐标变化的范围不同的情况。在考虑节点位移范围时,β值越小,通过相对最大位置波动因子l映射后,节点各个坐标所对应的更新概率pm就会分布的越松散。通常,如果用户的移动范围更大,其缓存内容在新的移动蜂窝网络环境中被请求的概率会越小。通过相对最大位置波动因子l,就能够有效区分移动路径类似但移动范围不同的各个用户,可以针对移动范围更大的用户(相对最大位置波动因子l更大的用户)设置让其更新更多缓存内容,以保证这些用户缓存内容的命中率。

第五步,更新缓存内容:依次判断所述每一个内容cm的更新概率pm,若所述内容cm的更新概率pm小于所述更新概率阈值γ,则不进行缓存更新;否则,进行缓存更新。

其中,所述节点中,每一个内容cm,均对应一个id号,一条lru记录(和/或一条lfu记录),以及一个更新概率数值pm。所述lru记录中的内容与lfu记录中的内容各自按照各自的规则进行更新与记录,并不要求两个记录中记载的内容保持完全的一致。并且,为保证能够及时针对节点位置的变换情况进行内容的更新,本方法中,每个节点lru记录或lfu记录的数目m大于该节点缓存空间所能够存储的内容的条数,即s≤m。

进一步,所述缓存更新方法,第二步中,更新所述lru记录的步骤如下:

步骤211,每接收到一个所述内容下载请求后,先检索当前lru记录,若当前lru记录中已记载有所述内容下载请求所对应的内容cm的id号,则更新所述lru记录中所述内容cm所对应的请求时间tm;否则,跳转至步骤212;

步骤212,删除所述lru记录中请求时间最早的内容,然后将所述内容cm的id号及其所对应的请求时间tm记入所述lru记录。

同时,所述缓存更新方法,第二步中,更新所述lfu记录的步骤如下:

步骤221,每接收到一个所述内容下载请求后,先检索当前lfu记录,若当前lfu记录中已记载有所述内容下载请求所对应的内容cm的id号,则更新所述lru记录中所述内容cm所对应的请求次数fm;否则,跳转至步骤222;

步骤222,删除所述lfu记录中请求次数最少的内容,然后将所述内容cm的id号及其所对应的请求次数fm记入所述lru记录。

进一步,所述缓存更新方法,第五步中,进行缓存更新的步骤如下:

步骤501,判断本节点缓存空间容量是否足够存放所述内容cm,若容量足够则跳转至步骤502;否则跳转至步骤503;

步骤502,在本节点缓存空间内缓存所述内容cm,更新缓存列表;

步骤503,按照缓存时间从旧到新的顺序依次删除本节点缓存空间内的内容,直至剩余的缓存空间足够存放所述内容cm,然后在本节点缓存空间内缓存所述内容cm,更新缓存列表。

其中,所述缓存更新方法,所述缓存列表包括每一个所述内容cm的id号、每一个所述内容cm的缓存地址以及每一个所述内容cm的缓存时间中的一个或多个。

其次,为实现上述目的,还提出一种基于位置变化的联合lru与lfu的缓存更新方法的通信装置,包括蜂窝网络通信模块、lru记录存储模块、lfu记录存储模块以及缓存单元,其特征在于,所述通信装置还包括缓存更新计算模块;

所述蜂窝网络通信模块的信号接收端构成所述通信装置的输入端,所述蜂窝网络通信模块的数据端同时连接所述lru记录存储模块的输入端、所述lfu记录存储模块的输入端、以及所述缓存单元的输入端,所述lru记录存储模块的输出端以及所述lfu记录存储模块的输出端同时连接所述缓存更新计算模块的输入端,所述缓存更新计算模块的输出端连接所述缓存单元的控制端,所述缓存单元的输出端连接所述蜂窝网络通信模块的数据端,所述蜂窝网络通信模块的信号发送端构成所述通信装置的输出端;

所述蜂窝网络通信模块用于将信号接收端接收到的信号转化为所述通信装置能够处理的数据内容cm,同时将所述缓存单元输出的所述数据内容cm转化为蜂窝网络信号并发送;

所述lfu记录存储模块用于记录所述缓存单元内每一个数据内容cm的id号及其请求次数fm;

所述lru记录存储模块用于记录所述缓存单元内每一个数据内容cm的id号及其请求时间tm;

所述缓存单元用于根据所述缓存更新计算模块的控制指令,缓存所述蜂窝网络通信模块接收到的所述数据内容cm;并根据所述缓存更新计算模块的控制指令,向所述蜂窝网络通信模块输出其缓存的相应数据内容;所述缓存更新计算模块用于响应所述蜂窝网络中的数据内容请求,控制所述缓存单元输出相应的数据内容;所述缓存更新计算模块同时用于读取所述lfu记录存储模块以及所述lru记录存储模块中的记录,结合所述蜂窝网络中记录的所述通信装置的位置信息,控制所述缓存单元缓存相应的数据内容cm。

同时,为实现上述目的,还提出一种基于位置变化的联合lru与lfu的缓存更新方法的移动蜂窝网络,包括至少一个具有缓存功能的移动节点,其特征在于,所述移动蜂窝网络中的每个移动节点进行缓存更新的步骤如下:

步骤d-1,计算本移动节点的相对位置波动因子然后跳转至步骤d-2;其中,j表示本移动节点第j次移动,(xj,yj)表示本移动节点第j次移动后所处位置的坐标,xj表示本移动节点第j次移动后所处位置的横坐标,yj表示本移动节点第j次移动后所处位置的纵坐标,k表示本移动节点移动总次数,表示本移动节点k次移动的中心位置坐标,为本移动节点k次移动的中心位置横坐标,为本移动节点k次移动的中心位置纵坐标;

步骤d-2,计算本移动节点接收的所述内容下载请求中,每一个内容cm的lru价值以及每一个内容cm的lfu价值然后跳转至步骤d-3;其中,tm为lru记录中收到所述内容cm的下载请求的时间,fm为lfu记录中收到所述内容cm的下载请求的次数,m为本移动节点lru记录与lfu记录的数目;

步骤d-3,计算本移动节点的相对最大位置波动因子然后跳转至步骤d-4;其中,常数β取值范围为(1,+∞);

步骤d-4,计算本移动节点接收的所述内容下载请求中,每一个内容cm的更新概率pm=α(μ×v_lrum+(1-μ)×v_lfum)l,然后跳转至步骤d-5;其中,所述权重因子μ的取值范围是(0,1);

步骤d-5,依次判断本移动节点接收的所述每一个内容cm的更新概率pm,若所述内容cm的更新概率pm小于更新概率阈值γ,则不进行缓存更新;否则,进跳转至步骤d-6;

步骤d-6,判断本移动节点缓存空间容量是否足够存放所述内容cm,若容量足够增在本移动节点缓存空间内缓存所述内容cm,更新缓存列表;否则,先按照缓存时间从旧到新的顺序依次删除本移动节点缓存空间内的内容,直至剩余的缓存空间足够存放所述内容cm,然后在本移动节点缓存空间内缓存所述内容cm,更新缓存列表。

其中,步骤d-1至步骤d-3之间的运算顺序可以互换,也可并列执行。

进一步,上述移动蜂窝网络,所述每个移动节点在接收到内容下载请求后,响应步骤如下:

步骤a,记录本移动节点ni当前位置坐标,并合并本移动节点接收到的内容重复的所述下载请求,然后根据合并后的内容下载请求更新所述lru记录与所述lfu记录,跳转至步骤b;

步骤b,查询本移动节点内缓存的内容,根据所述下载请求,向依次向所述移动蜂窝网络中的移动节点发送该移动节点所请求的内容,跳转至步骤c;

步骤c,判断是否到达缓存更新时刻,若到达缓存更新时刻,则跳转至步骤d;否则,回到步骤a;

步骤d,按照所述步骤d-1至所述步骤d-6的顺序更新缓存,跳转至步骤e;

步骤e,判断是否接收到新的内容下载请求,若是,则跳转至步骤a;否则,结束。

进一步,上述移动蜂窝网络,所述缓存更新时刻由所述移动蜂窝网络统一设定,或由每一个所述移动节点自行设定。所述移动节点的位置坐标由所述移动蜂窝网络提供,或由所述移动节点自行计算确定。所述各移动节点或所述移动蜂窝网络按照固定周期监测所述移动节点的坐标,确定所述各移动节点的移动次数、所述各移动节点每次移动的坐标。

有益效果

本发明,针对移动蜂窝网络的特点,根据节点位置关系,结合lru与lfu两种缓存记录,综合考虑节点缓存内容的lru价值v_lrum、lfu价值v_lfum以及节点位置移动而给该节点缓存内容带来的需求关系变化(即相对位置波动因子α以及相对最大位置波动因子l),从而计算出缓存中每一个内容cm的更新概率pm。根据所述每一个内容cm的更新概率pm,有针对性地筛选出当前缓存中价值较低的内容,将这些价值较低的内容进行更新。

进一步的,考虑到节点够获取信息的能力以及计算能力有限,本方法仅仅利用节点自身所拥有的(或从移动蜂窝网络积攒中所获得的)节点位置坐标、接收到的内容请求、时间等信息,即可根据所述内容价值模型(即更新概率pm计算公式pm=α(μ×v_lrum+(1-μ)×v_lfum)l),对本节点缓存中的每一个内容进行价值评估。由于计算参数简单易得,且运算量小,因此,本发明在保证缓存内容命中率的同时不会占用过多资源。而且,本方法还可根据实际需求由用户设定缓存更新周期以及更新概率阈值γ等参数,能够针对不同用户的需求和使用习惯对缓存内容进行相应更新。本发明在一定程度上实现了计算开销与缓存命中率之间的平衡。

与传统的只考虑内容缓存方案设计的方法不同,本发明考虑的重点是对已缓存的内容进行筛选,从而进行有限的更新(而不是像传统的方法一样,对整个缓存空间进行重新缓存)。传统的清空缓存空间进行重新缓存的方法,尽管可能有着较高的缓存命中率,但是其所需要付出的计算开销极大:不仅需要收集大量的信息,还需要下载大量流行内容填满整个缓存空间。而本发明,每次只筛选一部分内容进行更新,可以大大减少内容缓存更新的工作量。

而且,区别于现有的利用请求分布函数,根据缓存内容的排序情况进行更新的方法,本方法并不需要对缓存内容进行排序。本发明仅通过数值计算即可得到每一个内容的更新概率pm,通过更新概率pm决定是否针对每一项内容进行针对性的更新。由于排序过程常常需要占用大量的运算资源,本发明可以在保证更新准确性的同时,有效避免由于排序而造成的资源消耗,更新过程更加高效。

本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。

附图说明

附图用来提供对本发明的进一步理解,并且构成说明书的一部分,并与本发明的实施例一起,用于解释本发明,并不构成对本发明的限制。在附图中:

图1为根据本发明实施例的于位置变动的联合lru与lfu的缓存更新步骤流程图。

图2为应用本发明的通信场景示意图。图示所述典型的引入d2d通信技术的移动蜂窝网络中,随着用户的移动,本节点周围节点分布时刻变化,此外,考虑到用户特殊的社会属性,本节点通信范围内的部分节点之间也可能无法形成d2d通信链路。

图3为实施例中lru记录的结构示意图。

图4为实施例中lfu记录的结构示意图。

图5为实施例中考虑位置变化的缓存更新方法与不考虑位置变化的缓存更新方法的命中率统计图。方案1是指本方案中αi=li=1的特殊情况,即不考虑缓存节点的位置变化。

图6为实施例中移动蜂窝网络内各移动节点的内部结构示意图。

具体实施方式

以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。在如图2所示的通信场景中:以用户1为例,前一时刻,用户1与周围四个用户2、3、4、7由于距离较近可以建立d2d链路直接共享内容,后一时刻,由于用户的移动,用户1能够与四个用户3、5、7、9建立d2d链路直接共享内容。但是由于用户1与用户5和用户9之间不存在社交关系或者相互间关系较差,用户1不愿意与用户5和用户9之间建立d2d链路共享内容,因此,用户1与用户5和用户9之间不存在通信链路,此外,由于用户2与用户4不在用户1可直接通信的范围内,用户1与用户2和用户4之间的通信链路也不再存在。显然,用户的移动性会使得其周围的网络拓扑产生很大的变化,直接影响到其缓存方案的效率。一般,在节点位置发生很大变化的情况下,节点内部现有的缓存内容并不一定能够为新环境中的其他节点所需要。因此,在设计缓存内容更新策略时考虑用户移动性是十分有必要的。

本发明能够充分考虑移动用户的位置变化,联合用户本身所储存的lru与lfu两类请求记录的缓存内容更新策略设计方案,实现引入d2d通信技术的移动蜂窝网络中快速有效更新所缓存内容的目标,所提方案能够在较少内容更新工作量的前提下,有效提高缓存内容命中率。

本发明是通过类似图1的技术方案实现的:

图1为根据本发明的基于大数据的实时风险控制方法的流程图,包括以下步骤:

第一步,初始化:确定缓存更新周期为t,确定本节点缓存空间容量为s,并根据所述缓存空间容量s确定本节点lru记录与lfu记录数目为m,确定更新概率阈值γ,更新概率阈值γ∈[0,1];然后,按照固定周期(如,每小时)获取本节点坐标,当本节点位置坐标发生变化时记为一次移动,记录本节点所有移动次数及每次移动的位置坐标;

第二步,接收内容下载请求,记录本节点当前位置坐标,并合并本节点接收到的内容重复的所述下载请求,然后根据合并后的内容下载请求更新所述lru记录与所述lfu记录;

第三步,在所述缓存更新周期t内重复第二步,每记满一个缓存更新周期t则跳转至第四步;

第四步,计算本节点接收的所述内容下载请求中,每一个内容cm的更新概率pm,然后跳转至第五步;

所述更新概率pm=α(μ×v_lrum+(1-μ)×v_lfum)l;

其中,m表示所述内容下载请求中所述内容cm的编号,m≤m;

相对位置波动因子其中,j表示本节点第j次移动,(xj,yj)表示本节点第j次移动后所处位置的坐标,xj表示本节点第j次移动后所处位置的横坐标,yj表示本节点第j次移动后所处位置的纵坐标,k表示本节点移动总次数,表示本节点k次移动的中心位置坐标,为本节点k次移动的中心位置横坐标,为本节点k次移动的中心位置纵坐标。相对位置波动因子α考量的主要是节点所移动的各个位置与本节点移动位置中心之间的距离关系。当移动蜂窝网络用户移动到一个相对陌生的环境时(即节点位置与本节点移动位置中心之间的距离较大,α较小时),其接收到的内容下载请求具有较小的参考价值,此时内容更新概率较小,不对内容进行更新。

μ为权重因子,所述权重因子μ代表lru记录与lfu记录的相对重要程度,其取值范围是(0,1);

为lru记录中所述内容cm的lru价值;其中,tm为lru记录中收到所述内容cm的下载请求的时间;

为lfu记录中所述内容cm的lfu价值;其中,fm为lfu记录中收到所述内容cm的下载请求的次数;

相对最大位置波动因子其中,常数β表示映射后各位置分布坐标的分布密集程度,β越小,分布越稀疏,β取值范围为(1,+∞)。相对最大位置波动因子l考量的主要是节点的最大位移情况。如果仅仅通过相对位置波动因子α考量节点的位移,很有可能出现节点位移坐标分布的形状相似,但位移坐标变化的范围不同的情况。在考虑节点位移范围时,β值越小,通过相对最大位置波动因子l映射后,节点各个坐标所对应的更新概率pm就会分布的越松散。通常,如果用户的移动范围更大,其缓存内容在新的移动蜂窝网络环境中被请求的概率会越小。通过相对最大位置波动因子l,就能够有效区分移动路径类似但移动范围不同的各个用户,可以针对移动范围更大的用户(相对最大位置波动因子l更大的用户)设置让其更新更多缓存内容,以保证这些用户缓存内容的命中率。

第五步,更新缓存内容:依次判断所述每一个内容cm的更新概率pm,若所述内容cm的更新概率pm小于所述更新概率阈值γ,则不进行缓存更新;否则,进行缓存更新。

其中,所述节点中,每一个内容cm,均对应一个id编号,一条lru记录(和/或一条lfu记录),以及一个更新概率数值pm。所述lru记录中的内容与lfu记录中的内容各自按照各自的规则进行更新与记录,并不要求两个记录中记载的内容保持完全的一致。并且,为保证能够及时针对节点位置的变换情况进行内容的更新,本方法中,每个节点lru记录或lfu记录的数目m大于该节点缓存空间所能够存储的内容的条数。

具体而言,

第一步:在一个引入d2d通信技术的移动蜂窝网络中,存在n个具有缓存功能的移动节点,分别表示为n1,…,ni,…nn,例如,n=300,移动节点n1,…,ni,…n300的缓存空间容量为si=15,其中,i表示第i个移动节点,n表示移动节点,ni表示第i个移动节点的名称,s表示缓存空间,si表示第i个移动节点的缓存空间容量。此外,每个移动节点均保存两个列表,分别按照图3和图4提供的结构储存两个记录lru和lfu(对于两个列表中存在的相同的内容记录,不做进一步处理)。其中,lru主要包括接收到的请求的内容id以及接收到的时间,按照接收时间由近及远排序;lfu主要包括接收到的请求的内容id(现有的移动蜂窝网络中,在传输请求内容时通常会附带有该内容的id编号)以及接收到的次数,按照接收次数由多到少排序。两个记录中所记载的内容数量通常需大于节点所能够缓存的内容数量,这样可以在节点位置变化巨大的情况下有效地对整个缓存进行及时更新。任意时刻t,移动节点ni接收到的请求为request_rcvi。具体步骤如下:

①需要内容下载的用户发出内容下载请求;

②移动节点ni接收到其周围范围内请求用户发出的请求,得到内容请求的集合request_rciv,同时记录自己当前时刻所处的位置;

③移动节点ni将内容请求的集合request_rcvi做进一步处理:将重复的请求合并,并记录次数。

第二步:移动节点ni根据接收到的请求request_rciv对记录lru和lfu进行更新。

具体更新规则如下(本步骤中,①和②的顺序可以更换):

①lru记录更新:收到请求后,将最新收到的请求进行记录,同时将距离当前时刻最远的相应数量的请求记录删除,最多保留m个请求记录,并记录收到请求内容cm的时间tm;

②lfu记录更新:收到请求后,更新之前已收到的请求记录的次数,第一次收到的请求则随机排序记录在最后,次数为一次,保留次数最多的m=30个请求记录,其余删除,并记录收到请求内容cm的次数fm。

第三步:重复第一步和第二步直到时刻t,(t的数值对缓存更新的次数有着直接的影响,t越大,则更新次数越少,整个内容更新的工作量越少。在本专利中,t取值为1天,即每天对缓存的内容进行一次更新。)这里,t=86400秒,即每天更新缓存空间一次,计算如下参数:

①计算第i个移动节点的相对位置波动因子αi,该因子反映缓存节点在不同时刻所处位置相对的波动程度。其计算公式如下:

其中,i表示第i个移动节点,j表示移动节点第j次移动,(xij,yij)表示第i个移动节点第j次移动后所处位置的坐标,xij表示第i个移动节点第j次移动后所处位置的横坐标,yij表示第i个移动节点第j次移动后所处位置的纵坐标,k表示移动k次,表示第i个移动节点k次位置变动的中心位置的坐标,为横坐标,为纵坐标,

②计算lru记录中第m个内容cm的价值v_lrum,其意味着最新接收到的内容下载请求对内容更新影响最大,计算公式为:

③计算lfu记录中第m个内容cm的价值v_lfum,其意味着接收次数越多的内容下载请求对内容更新影响越大,计算公式为:

④计算第i个移动节点的相对最大位置波动因子li,其表征不同节点之间位置波动的差异,计算公式为:其中,β为一常数,表示映射后像的分布密集程度,其取值范围是(1,+∞),β越小,分布越稀疏。

⑤对第i个移动节点而言,内容cm的可更新概率计算公式为:

其中,μ为权重因子,代表lru和lfu两类记录的相对重要程度,取值范围是(0,1)。表示内容cm需要通过更新缓存空间进而被缓存的概率大小,越大表示进行内容更新操作概率越大。

第四步:缓存内容更新,具体更新规则为:如果则第i个移动节点缓存内容cm,γ表示更新概率阈值,取值范围是(0,1)。当缓存空间有剩余时,直接缓存内容cm;当缓存空间已满时,删除缓存空间中最早缓存的内容c′,然后缓存内容cm。这里,更新概率阈值取值为:γ=0.001。

如图5所示,本方法有着较高的缓存命中率,而方案1由于不考虑缓存节点的位置移动,过多依赖于偏离自己较远的位置处收到的内容下载请求,以致对缓存内容更新产生负面影响,最终效果极差。

进一步地,上述基于位置变化的联合lru与lfu的缓存更新方法,其特征在于,所述缓存列表包括每一个所述内容cm的id编号、每一个所述内容cm的缓存地址以及每一个所述内容cm的缓存时间中的一个或多个。

同时,本申请还提供一种基于位置变化的联合lru与lfu的缓存更新方法的通信装置,包括蜂窝网络通信模块、lru记录存储模块、lfu记录存储模块以及缓存单元,其特征在于,所述通信装置还包括缓存更新计算模块;

所述蜂窝网络通信模块的信号接收端构成所述通信装置的输入端,所述蜂窝网络通信模块的数据端同时连接所述lru记录存储模块的输入端、所述lfu记录存储模块的输入端、以及所述缓存单元的输入端,所述lru记录存储模块的输出端以及所述lfu记录存储模块的输出端同时连接所述缓存更新计算模块的输入端,所述缓存更新计算模块的输出端连接所述缓存单元的控制端,所述缓存单元的输出端连接所述蜂窝网络通信模块的数据端,所述蜂窝网络通信模块的信号发送端构成所述通信装置的输出端;

所述蜂窝网络通信模块用于将信号接收端接收到的信号转化为所述通信装置能够处理的数据内容cm,同时将所述缓存单元输出的所述数据内容cm转化为蜂窝网络信号并发送;

所述lfu记录存储模块用于记录所述缓存单元内每一个数据内容cm的id号及其请求次数fm;

所述lru记录存储模块用于记录所述缓存单元内每一个数据内容cm的id号及其请求时间tm;

所述缓存单元用于根据所述缓存更新计算模块的控制指令,缓存所述蜂窝网络通信模块接收到的所述数据内容cm;并根据所述缓存更新计算模块的控制指令,向所述蜂窝网络通信模块输出其缓存的相应数据内容;

所述缓存更新计算模块用于响应所述蜂窝网络中的数据内容请求,控制所述缓存单元输出相应的数据内容;所述缓存更新计算模块同时用于读取所述lfu记录存储模块以及所述lru记录存储模块中的记录,结合所述蜂窝网络中记录的所述通信装置的位置信息,控制所述缓存单元缓存相应的数据内容cm。

同时,基于上述的通信装置以及缓存更新方法,还可构造一种缓存内容请求命中率更高的移动蜂窝网络。所述移动蜂窝网络,包括至少一个具有缓存功能的移动节点,其特征在于,所述移动蜂窝网络中的每个移动节点进行缓存更新的步骤如下:

步骤d-1,计算本移动节点的相对位置波动因子然后跳转至步骤d-2;其中,j表示本移动节点第j次移动,(xj,yj)表示本移动节点第j次移动后所处位置的坐标,xj表示本移动节点第j次移动后所处位置的横坐标,yj表示本移动节点第j次移动后所处位置的纵坐标,k表示本移动节点移动总次数,表示本移动节点k次移动的中心位置坐标,为本移动节点k次移动的中心位置横坐标,为本移动节点k次移动的中心位置纵坐标;

步骤d-2,计算本移动节点接收的所述内容下载请求中,每一个内容cm的lru价值以及每一个内容cm的lfu价值然后跳转至步骤d-3;其中,tm为lru记录中收到所述内容cm的下载请求的时间,fm为lfu记录中收到所述内容cm的下载请求的次数,m为本移动节点lru记录与lfu记录的数目;

步骤d-3,计算本移动节点的相对最大位置波动因子然后跳转至步骤d-4;其中,常数β取值范围为(1,+∞);

步骤d-4,计算本移动节点接收的所述内容下载请求中,每一个内容cm的更新概率pm=α(μ×v_lrum+(1-μ)×v_lfum)l,然后跳转至步骤d-5;其中,所述权重因子μ的取值范围是(0,1);

步骤d-5,依次判断本移动节点接收的所述每一个内容cm的更新概率pm,若所述内容cm的更新概率pm小于更新概率阈值γ,则不进行缓存更新;否则,进跳转至步骤d-6;

步骤d-6,判断本移动节点缓存空间容量是否足够存放所述内容cm,若容量足够增在本移动节点缓存空间内缓存所述内容cm,更新缓存列表;否则,先按照缓存时间从旧到新的顺序依次删除本移动节点缓存空间内的内容,直至剩余的缓存空间足够存放所述内容cm,然后在本移动节点缓存空间内缓存所述内容cm,更新缓存列表。

其中,步骤d-1至步骤d-3之间的运算顺序可以互换。

进一步,上述移动蜂窝网络,所述每个移动节点在接收到内容下载请求后,响应步骤如下:

步骤a,记录本移动节点ni当前位置坐标,并合并本移动节点接收到的内容重复的所述下载请求,然后根据合并后的内容下载请求更新所述lru记录与所述lfu记录,跳转至步骤b;

步骤b,查询本移动节点内缓存的内容,根据所述下载请求,向依次向所述移动蜂窝网络中的移动节点发送该移动节点所请求的内容,跳转至步骤c;

步骤c,判断是否到达缓存更新时刻,若到达缓存更新时刻,则跳转至步骤d;否则,回到步骤a;

步骤d,按照所述步骤d-1至所述步骤d-6更新缓存(其中步骤d-1至步骤d-3也可同时并行处理),跳转至步骤e;

步骤e,判断是否接收到新的内容下载请求,若是,则跳转至步骤a;否则,结束。

进一步,上述移动蜂窝网络,所述缓存更新时刻由所述移动蜂窝网络统一设定,或由每一个所述移动节点自行设定。所述移动节点的位置坐标由所述移动蜂窝网络提供,或由所述移动节点自行计算确定。

本发明的适用范围是引入d2d通信的移动节点具有缓存流行文件能力的移动蜂窝网络,以提高网络提供内容下载服务的能力,提高用户服务质量为目的,通过构建基于位置变动的联合lru与lfu的内容价值模型来实现更加有效的内容缓存。与传统方法中只考虑内容缓存方案设计的研究场景不同,本发明主要考虑对已缓存的内容进行有限的更新,而不是对整个缓存空间进行重新缓存。每隔一段时间便将缓存空间清空并根据新的缓存方案缓存内容,尽管可能有着较高的缓存命中率,但是其所需要付出的计算开销极大,不仅需要收集大量的信息,还因为重新缓存而需要下载大量流行内容填满整个缓存空间,因此,考虑每次只是更新一部分内容,从而大大减少了内容缓存的工作量。在这一目的下,为了能够尽可能增大缓存命中率,大量的文献考虑了联合lru与lfu的缓存内容更新策略设计方案,而本发明在此基础上进一步考虑了用户移动的情形,这将更具有实际意义。特别地,考虑到节点所能够获取信息的能力有限以及集中式计算所带来的巨大计算开销,本发明仅仅采用了节点自身所拥有的信息,例如节点位置变化、所接收到的内容请求、时间等信息,节点利用有限信息及基于位置变动的联合lru与lfu的内容价值模型,实时更新缓存的内容,在一定程度上实现计算开销与缓存命中率之间的平衡。

本发明技术方案的优点主要体现在:移动蜂窝网络引入d2d通信方式后,可以在移动节点处缓存流行文件,当周围有用户发出相应文件的请求时,两者可以直接建立d2d链路,从而网络可以以较快的速率、较低的时延完成对用户的服务。与传统方法中只考虑内容缓存方案设计的研究场景不同,基于位置变动的联合lru与lfu的缓存更新策略设计方法主要考虑对已缓存的内容进行有限的更新,而不是对整个缓存空间进行重新缓存,从而大大减少了内容缓存的工作量。此外,在已有的考虑lru与lfu的缓存内容更新策略设计方案基础上,进一步考虑了用户移动的情形,更具有实际意义。特别地,考虑到节点所能够获取信息的能力有限以及集中式计算所带来的巨大计算开销,本发明仅仅采用了节点自身所拥有的信息,例如节点位置变化、所接收到的内容请求、时间等信息,节点利用有限信息及基于位置变动的联合lru与lfu的内容价值模型,实时更新缓存的内容,在保证缓存命中率的同时,不会进一步增加计算开销。

本领域普通技术人员可以理解:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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