王鹤云 陈雯
摘 要:目前随着5G网络的迅猛发展,超密集网络下的缓存策略研究价值也越来越大。目前业界常用的是Least Recently Used(最近最少使用),Least Frequently Used(最近最不常用)算法。然而,随着数据量与数据内容多样性的迅猛增长,有效而安全地向最终用户提供高质量服务变得越来越具有挑战性。常规的应用方法是被动性策略,但无法像主动性策略一样应对复杂的数据冲击。不同的用户对不同的内容有着不同的需求。基于此,本文提出了一种基于用户聚类的缓存预测算法。首先对用户的相似度进行分组聚类,这样可以更好地对相似偏好的用户进行区分。再通过基站与用户的相似度进行匹配,这样使得基站与用户的匹配度更高,提高命中率。本文还基于喜好因素,热度因素和时间间隔因素三个不同方面对基站的缓存文件进行更新管理。实验结果表明,该策略可以有效提高缓存命中率并降低用户响应时延。
关键词:超密集网络;缓存策略;命中率;时延
近年来,5G通信技术不仅仅依靠扩展的带宽来支持日新月异的内容数据冲击,而且还采用超密集网络为内容数据的爆炸性增长提供足够的质量保证。一些研究人员发现,越来越多的数据以及网络流量被用户重复下载,而由于回程链路阻塞,内容分发可能给用户带来长时延并降低服务可靠性,为了更好地提高缓存命中率,可以直接将这些内容储存到本地基站或宏基站中。基站中每个数据对象最终都将发送给感兴趣的用户。当用户靠近数据对象的存储位置时,他们将消耗较少的网络流量来访问数据对象[1]。在选择内容的缓存位置时,用户的兴趣偏好具有一定的指导,并且内容应存储在距离感兴趣的用户更近的位置。因此,可以基于用户的偏好相似度来设计缓存部署策略。在不同的时间段,不同内容的热度下,用户对基站的需求匹配度是不同的,需要做到更新匹配。因此本文提出了一种基于聚类算法的缓存流行度预测策略来解决这些问题。
1 相关工作
针对目前的现状,业界常用的缓存策略是LRU,也就是最近最少使用策略。但是随着时代的发展,内容的本地缓存越来越需要对用户进行精准对接,提供个性化服务。虽然被动性策略可以在一定程度满足命中率的要求,但是需要进一步升级为更加优异的主动性缓存策略。L.Fan等人明显地指出了超密集网络中主动缓存对提高缓存命中率的重要意义[2]。主动缓存也就是指在用户操作后台時,由系统去删除原有缓存进行更新的缓存模式。Mohamad Salhani提出了一种解决超密集网络中致密化的缓存方案,提出了一种基于基站集群的缓存算法[3]。Xiaodong Zhu提出了一种清除无效信息,使得核心需求内容聚集在用户的缓存方法,这显著提高了系统性能[4]。ChengJia提出了一种基于基站的聚类算法,通过对不同的SBS进行片段分割,对文件的缓存与否进行判断处理[5]。M.Song等人基于不同时段的神经网络模型进行内容流行度的预测,通过对数据的分析进行合理的判断[6]。Dewang Ren等人通过对内容流行度进行分层,将不同的内容对应不同的缓存级别,实现了多内容的对应预测,提高的缓存性能[7]。D.Liu等人通过对于不同的用户相似度进行划分,使得内容的命中率进一步提高[8]。M.Liu等人提出了一些关于超密集网络内关于资源调配,缓存管理的前瞻性调研[9]。综合以上文章,可以发现,目前虽然考虑到了对于用户相似度的划分,但是没有考虑到用户与不同基站的对应差异,例如在不同时间段,不同内容的热度下,用户对基站的需求匹配度是不同的,要进行恰当的相似度匹配。同时没有结合多角度对用户与内容本身的分析,策略过于单一。本文考虑从偏好因素、热度因素和时间间隔因素来分析缓存文件,使基站内文件内容的存储与删除更加合理,在有限利用其内部空间的同时提高效率,降低时延。
目前在超密集网络下基于内容的流行度缓存,有着诸多不足,比如缺少用户与基站相似度的匹配,忽视了不同用户的需求。基于此本文提出一种基于聚类算法的缓存流行度预测策略。该方法结合K-中心点算法,依据不同的用户的偏好相似度,划分出不同的用户集群,再将它与基站的相似度进行分析,使得用户与基站相匹配。根据偏好因素、热度因素和时间间隔因素这三方面进行基站存储文件缓存策略的调整,最终使得时延降低,提高缓存命中率,达到提高整体系统性能的目的。
2 建模分析
一个典型的网络场景如图1所示,在宏基站下有着多个小型基站与不同的用户。小型基站与宏基站之间是无线连接的。本次研究主要是考虑一段时间内的内容缓存情况,假设大部分用户会固定在一个地方一段时间,故而少部分用户的移动不会对这次研究造成影响。
首先可以定义小型基站W=S1,S2,...Sn用户U=U1,U2...Un。存储文件内容文件F=e1,e2...en。每个SBS存储的文件个数为L。因为不同区域覆盖的用户不同,所以MBS与SBS中的内容存储以及受到用户关注程度也会有不同,所以会从多个方面考虑来进行文件的缓存与替换。
2.1 基于K-中心点算法的用户聚类划分建模
K-中心点算法是一种在数据处理中常用的聚类算法,它是一种基于划分的聚类算法。K-中心点算法的核心思想就是通过连续的迭代计算,选取出簇中处于最中心位置的对象,在迭代的过程中,将N个对象给出不同的K个划分。在这里,中心点的定义是,该点的平均差异性是在这簇中所有被列选出的点中最小的。在本文场景下,该算法可以对不同兴趣相似度的用户进行聚类区分,有效提高缓存命中率。在超密集网络的场景下,想要取得良好的对用户的划分效果,重要的就是对不同兴趣的用户进行分类划分。因为它可以反映用户对不同的内容继续请求的可能性,这与内容密切相关。
首先需要确定用户间的兴趣余弦相似度,通过它来对用户进行度量。用来表示不同用户的兴趣偏好性。具体来说,用户ua和ub的余弦相似度θa,b如下所示:其中F(a)与F(b)分分别表示用户ua和ub对不同内容的访问集合。