一种基于机器学习的超密集网络小站缓存方法
技术领域
本发明属于网络通信技术领域,涉及基站缓存方法,更为具体的说,是涉及无线通信系统中一种基于机器学习的超密集网络小站缓存方法。
背景技术
5G(the fifth generation)网络中移动通信量猛增,给移动网络运营商带来极大的挑战。在宏站覆盖范围内同频密集部署小站的超密集网络技术作为5G的候选技术之一,可有效提升频谱效率和系统吞吐量。超密集网络中小站常部署在一些难以抵达的位置,这给连接小站与核心网的光纤回程链路的安装带来了困难,为解决这个问题,无线回程技术应运而生。然而无线频谱资源是有限的,从大站卸载到超密集小站的海量移动通信量会给无线回程链路带来巨大压力。一种有效的回程链路通信量卸载技术是通过在小站预存文件来降低无线回程链路负载,进而提升用户体验。然而小站的缓存空间是有限的,为了更有效地缓存,要按照精心设计的缓存策略来选取更准确的文件缓存。
现有的缓存技术多是基于传统的优化算法来制定缓存策略的,而这些工作往往基于很强的假设,导致缓存策略难以适用于实际系统。而且,这些缓存策略一般根据历史访问数据制定,考虑到网络中在高峰访问期不断有新的文件会被大量访问,只根据从历史访问数据中得到的模式制定缓存策略,不能有效利用有限的缓存空间。
发明内容
为解决上述问题,本发明公开了一种基于机器学习的超密集网络小站缓存方法,以最小化系统回程链路负载为目标,在小站缓存文件总大小不超过小站缓存空间的前提下,基于K均值聚类和k近邻分类,通过机器学习识别文件请求中的模式,并根据挖掘到的模式制定小站缓存策略。
本发明对核心网端口的海量数据加以利用,充分挖掘隐藏在数据中的模式并用于制定缓存策略,可获得潜在的增益,显著降低无线回程链路负载,提升用户满意度,且这种完全基于数据的分析不需要任何不切实际的假设。机器学习是对数据进行分析和挖掘的主要工具,可用于提取核心网端口文件请求模式。由于不同地理位置的小站服务的人群有相似性也有差异性,导致文件访问在空间上存在着潜在的模式。同时,文件访问在相邻的请求时间段之间也存在着关联,即文件请求也存在着时间模式。此外,在网络的高峰访问期不断有新的文件会被大量访问。
基于此,本方法首先在非高峰访问期引入K均值聚类方法分析历史访问数据,挖掘文件请求的空时模式,根据小站所服务用户的文件偏好对小站进行聚类,找出各类小站内流行的文件,实现类间的个性化缓存与类内的预测性缓存,同时利用历史访问数据与聚类结果构建用于新文件分类的训练集;然后,在高峰访问期引入k近邻分类方法周期性地对不断出现的新文件进行分类,并缓存在偏好这类文件的小站类内;最后结合各类小站内历史流行文件与不断出现的新文件制定实时更新的缓存策略,显著降低系统回程链路负载,极大提升用户满意度。
为了达到上述目的,本发明提供如下技术方案:
基于机器学习的超密集网络小站缓存方法,包括如下步骤:
步骤1:采集网络信息及历史文件请求记录,设置参数:
采集网络中宏站集合
小站集合
历史请求文件集合
对应的各文件大小记为向量s=[s
1,s
2,...,s
C],第(l-2)天的(t-τ,t]时间间隔内P个小站对C个文件的请求次数记为矩阵
代表实数,第(l-1)天的(t-τ,t]时间间隔内P个小站对C个文件的请求次数记为矩阵
其中,l代表日期标号,以天为单位,时间间隔τ为高峰访问期T的时长,t为高峰访问期的结束时刻;获得小站缓存空间S;运营商根据超密集网络中的小站数目设置小站聚类数目最大值K
max;历史请求文件阈值δ
c,
设置为第c个文件的总请求次数除以小站的数目;类缓存文件阈值
设置为第j类的小站数目除以2,K是类的个数;训练集大小D
train由文件数目C和文件请求次数矩阵A
l-2(t,τ)共同确定;
步骤2:利用K均值聚类分析文件请求次数矩阵Al-2(t,τ),对小站进行聚类,挖掘文件请求中的空间模式:
步骤3:把文件请求次数矩阵A
l-2(t,τ)转换为由元素0和1组成的文件请求指示矩阵
其中[·]
pc代表矩阵的第p行第c列的元素,
代表指示函数,当花括号内的条件满足时,函数值为1,否则为0;
步骤4:通过选取集合Ω
j,
所指示的矩阵
的对应行生成第j类小站的文件请求指示矩阵
步骤5:根据文件请求指示矩阵
以及对应的类缓存文件阈值
选取各类小站偏好的文件优先缓存:
如果
则把c归为该类小站偏好的文件并存入向量
否则,存入向量
由
与
组成历史文件缓存顺序向量
步骤6:在不超过小站缓存空间S的前提下,结合历史文件缓存顺序向量
与文件大小向量s=[s
1,s
2,...,s
C]进行文件缓存;定义元素全0的缓存决策矩阵X
K(t),如果小站p缓存了文件c,则矩阵元素[X
K(t)]
pc=1;
步骤7:根据公式(5)计算第(l-1)天的系统回程链路负载:
其中
代表哈达玛乘积,向量f的第c个元素为
1是元素全为1的矩阵,向量g的第c个元素为
步骤8:利用从第(l-2)天文件请求次数矩阵Al-2(t,τ)中得到的缓存决策矩阵XK(t)及第(l-1)天文件请求次数矩阵Al-1(t,τ)挖掘文件请求中的时间模式,设置K=K+1,比较K和小站聚类数目最大值Kmax,若K<Kmax,则回到步骤2;否则,进行第步骤9;
步骤9:选取使公式(5)系统回程链路负载最小的聚类个数K,记录此聚类情况下的历史文件缓存顺序向量
步骤10:基于步骤3得到的文件请求指示矩阵
与步骤9历史文件缓存顺序向量中的
创建用来分类新文件的训练集
其中列向量
是矩阵
的第c列,表示P个小站对第c个文件的请求次数,y
c∈{1,2,...,Y}是给第c个文件添加的类别,
C代表组合数,类别y
c通过查找缓存顺序向量
中是否存在文件c来添加;
步骤11:设置第l天的采集新文件起始时刻t为高峰访问期起始时刻加上τ′,τ′为采集文件时间间隔;
步骤12:采集第l天的(t-τ′,t]时间间隔内的新文件请求记录,新文件集合为
对应的各文件大小记为向量s=[s
1,s
2,...,s
C′],P个小站对新出现的C′个文件的请求次数矩阵记为
新请求文件阈值ρ
i,
设置为第i个文件的总请求次数除以小站的数目;采用交叉验证法来选取最近邻的个数k;
步骤13:把新文件请求次数矩阵A
l(t,τ′)转换为由元素0和1组成的新文件请求指示矩阵
步骤14:矩阵
的第i列是P个小站对第i个新文件的请求次数列向量,记为
利用k近邻分类新请求的文件:
步骤15:根据新文件类别y
i,
把新文件以标号(i+C
total)添加到相应的文件缓存顺序向量
中,C
total为在步骤9得到的小站偏好文件缓存顺序向量
中的文件数与第l天高峰访问期时刻(t-τ′)之前请求的新文件数之和;
步骤16:联合考虑历史受欢迎文件与新请求文件产生新的文件缓存顺序向量
步骤17:在不超过小站缓存空间S的前提下,结合
与文件大小向量s=[s
1,s
2,...,s
C′]进行文件缓存;
步骤18:如还在高峰访问期,每隔一段时间间隔τ′,在t=t+τ′时刻执行步骤12到步骤17更新缓存的文件;如高峰访问期结束,进行第步骤19;
步骤19:停止执行。
进一步的,所述步骤2具体包括:
步骤2-1,初始化K个类的初始质心
u
j为任意取值的C维行向量,小站聚类个数K的初始值设为2,设置初始代价函数E
0=0;
步骤2-2,矩阵A
l-2(t,τ)的第p行是第p个小站对C个文件的请求次数行向量,记为
将各行向量指派到最近的质心:
其中ξ
p是行向量
的类索引,||·||
2代表2范数,聚成的K个类集合记为
其中|·|代表集合的大小;
步骤2-4,计算代价函数EK:
步骤2-5,比较E
K和E
0,如果-10
-5≤E
K-E
0≤10
-5,则设置E
0=E
K,回到2;否则,记录小站聚类结果Ω
j,
进行步骤3。
进一步的,所述步骤1到步骤10在非高峰访问期执行。
进一步的,所述步骤11中采集文件时间间隔设置为0.5小时。
进一步的,所述步骤14中利用k近邻分类新请求的文件过程包括:
步骤14-1,根据公式(8)给定的欧氏距离度量,在公式(6)所示的训练集
中找出与
最近邻的k个点,放入集合
中:
步骤14-2,在
中根据多数表决的决策规则决定
的类别y
i:
与现有技术相比,本发明具有如下优点和有益效果:
通过采集核心网的真实文件请求记录,从数据本身挖掘文件请求模式,用于制定缓存策略,不需要任何不切实际的假设,能很好地适用于实际系统,且能带来传统方法无可比拟的性能增益,显著降低系统回程链路负载,大幅度提升用户满意度。该方法在非高峰访问期,基于K均值聚类方法深入挖掘历史文件请求记录中的空时模式,把文件请求作为特征,对小站进行聚类,找出并存储每类小站偏好的文件,构建用于新文件分类的训练集;在高峰访问期,基于k近邻分类方法周期性地采集并分类网络中新请求的文件,根据分类结果不断地将新文件存储在相应的小站中。本发明提出的方法基于机器学习制定缓存策略,各类小站联合存储类内的历史流行文件与本类小站偏好的新文件,能充分利用小站有限的缓存空间存储小站所服务人群最需要的文件,可显著降低系统回程链路负载,极大提升用户满意度。
附图说明
图1为本发明提供的基于机器学习的超密集网络小站缓存方法流程图。
具体实施方式
以下将结合具体实施例对本发明提供的技术方案进行详细说明,应理解下述具体实施方式仅用于说明本发明而不用于限制本发明的范围。
本发明提供的基于机器学习的超密集网络小站缓存方法,如图1所示,包括如下步骤:
步骤1:采集网络信息及历史文件请求记录,设置参数:
采集网络中宏站集合
小站集合
历史请求文件集合
对应的各文件大小记为向量s=[s
1,s
2,...,s
C],第(l-2)天的(t-τ,t]时间间隔内P个小站对C个文件的请求次数记为矩阵
代表实数,第(l-1)天的(t-τ,t]时间间隔内P个小站对C个文件的请求次数记为矩阵
其中,l代表日期标号,以天为单位,第(l-1)天是第l天的前一天,第(l-2)天是第(l-1)天的前一天,时间间隔τ设置为高峰访问期T的时长,高峰访问期T由运营商根据网络运行情况自行确定,例如T取为8:00~19:00,t为高峰访问期的结束时刻;获得小站缓存空间S,S由运营商根据网络运行情况和硬件成本自行确定;运营商根据超密集网络中的小站数目自行设置小站聚类数目最大值K
max;历史请求文件阈值δ
c,
设置为第c个文件的总请求次数除以小站的数目;类缓存文件阈值
设置为第j类的小站数目除以2,K是类的个数;训练集大小D
train由文件数目C和文件请求次数矩阵A
l-2(t,τ)共同确定;
步骤2:利用K均值聚类分析文件请求次数矩阵Al-2(t,τ),对小站进行聚类,挖掘文件请求中的空间模式:
1.初始化K个类的初始质心
u
j为任意取值的C维行向量,C是历史请求文件的个数,小站聚类个数K的初始值设为2,设置初始代价函数E
0=0;
2.矩阵A
l-2(t,τ)的第p行是第p个小站对C个文件的请求次数行向量,记为
将各行向量指派到最近的质心:
其中ξ
p是行向量的类索引,||·||
2代表2范数,聚成的K个类集合记为
其中|·|代表集合的大小;
4.计算代价函数EK:
5.比较E
K和E
0,如果-10
-5≤E
K-E
0≤10
-5,则设置E
0=E
K,回到2;否则,记录小站聚类结果Ω
j,
进行步骤3;
步骤3:把文件请求次数矩阵A
l-2(t,τ)转换为由元素0和1组成的文件请求指示矩阵
其中[·]
pc代表矩阵的第p行第c列的元素,
代表指示函数,当花括号内的条件满足时,函数值为1,否则为0;
步骤4:通过选取集合Ω
j,
所指示的矩阵
的对应行生成第j类小站的文件请求指示矩阵
步骤5:根据文件请求指示矩阵
以及对应的类缓存文件阈值
选取各类小站偏好的文件优先缓存:
如果
则把c归为该类小站偏好的文件并存入向量
否则,存入向量
由
与
组成历史文件缓存顺序向量
步骤6:在不超过小站缓存空间S的前提下,结合历史文件缓存顺序向量
与文件大小向量s=[s
1,s
2,...,s
C]进行文件缓存;定义元素全0的缓存决策矩阵X
K(t),如果小站p缓存了文件c,则矩阵元素[X
K(t)]
pc=1;
步骤7:根据公式(5)计算第(l-1)天的系统回程链路负载:
其中
代表哈达玛乘积,向量f的第c个元素为
1是元素全为1的矩阵,向量g的第c个元素为
步骤8:利用从第(l-2)天文件请求次数矩阵Al-2(t,τ)中得到的缓存决策矩阵XK(t)及第(l-1)天文件请求次数矩阵Al-1(t,τ)挖掘文件请求中的时间模式,设置K=K+1,比较K和小站聚类数目最大值Kmax,若K<Kmax,则回到步骤2;否则,进行第步骤9;
步骤9:选取使公式(5)系统回程链路负载最小的聚类个数K,记录此聚类情况下的历史文件缓存顺序向量
步骤10:基于步骤3得到的文件请求指示矩阵
与步骤9历史文件缓存顺序向量中的
创建用来分类新文件的训练集
其中列向量
是矩阵
的第c列,表示P个小站对第c个文件的请求次数,y
c∈{1,2,...,Y}是给第c个文件添加的类别,
C代表组合数,类别y
c通过查找缓存顺序向量
中是否存在文件c来添加;
注:步骤1到步骤10在非高峰访问期执行;旨在从历史文件请求记录中挖掘小站中文件请求的空时模式,作出关于历史受欢迎文件(即偏好文件)的缓存决策;同时用历史数据构建训练集,用来对将会在高峰访问期新请求的文件进行分类缓存;
步骤11:设置第l天的采集新文件起始时刻t为高峰访问期起始时刻加上τ′,τ′为采集文件时间间隔,设置为0.5小时;
步骤12:采集第l天的(t-τ′,t]时间间隔内的新文件请求记录,新文件集合为
对应的各文件大小记为向量s=[s
1,s
2,...,s
C′],P个小站对新出现的C′个文件的请求次数矩阵记为
新请求文件阈值ρ
i,
设置为第i个文件的总请求次数除以小站的数目;采用交叉验证法来选取最近邻的个数k;
步骤13:把新文件请求次数矩阵A
l(t,τ′)转换为由元素0和1组成的新文件请求指示矩阵
步骤14:矩阵
的第i列是P个小站对第i个新文件的请求次数列向量,记为
利用k近邻分类新请求的文件:
1.根据公式(8)给定的欧氏距离度量,在公式(6)所示的训练集
中找出与
最近邻的k个点,放入集合
中:
步骤15:根据新文件类别y
i,
把新文件以标号(i+C
total)添加到相应的文件缓存顺序向量
中,C
total为在步骤9得到的小站偏好文件缓存顺序向量
中的文件数与第l天高峰访问期时刻(t-τ′)之前请求的新文件数之和;
步骤16:联合考虑历史受欢迎文件与新请求文件产生新的文件缓存顺序向量
步骤17:在不超过小站缓存空间S的前提下,结合
与文件大小向量s=[s
1,s
2,...,s
C′]进行文件缓存;
步骤18:如还在高峰访问期,每隔一段时间间隔τ′,在t=t+τ′时刻执行步骤12到步骤17更新缓存的文件;如高峰访问期结束,进行第步骤19;
步骤19:停止执行。
本发明方案所公开的技术手段不仅限于上述实施方式所公开的技术手段,还包括由以上技术特征任意组合所组成的技术方案。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。