发明内容
本发明旨在解决以上现有技术的问题。提出了一种边缘计算中面向用户移动性与偏好的边缘协同缓存方法。本发明的技术方案如下:
一种边缘计算中面向用户移动性与偏好的边缘协同缓存方法,其包括以下步骤:
S1,基于用户历史行为数据,即用户-物品评分矩阵R,使用交替最小二乘法生成的Embedding向量表示用户偏好,并根据用户偏好对用户进行分簇,同时基于用户社交数据构建用户信任模型,以此推断冷启动用户的所属类别;
S2,基于用户历史位置信息数据,采用ARIMA建立移动用户数量预测模型;
S3,采用余弦相似度计算用户的偏好资源,结合预测的下一时刻区域内各类别用户数量、各类别用户偏好文件,确定相应缓存目标资源;
S4,根据各服务器负载,缓存能耗,建立负载与能耗平衡的协作式缓存放置优化模型;
S5,采用基于改进的螺旋式搜索的蚁狮算法,求解缓存放置优化模型,获得缓存放置策略。
进一步的,所述步骤S1基于用户历史行为,建立用户偏好模型,并根据用户偏好对用户进行分簇,具体包括:
用户-物品评分矩阵是通过用户对物品的历史评分数据构建的,评分值越大,表示用户对该类资源的偏好程度也就越大;N个用户对M个物品的评分矩阵R可表示如下:
其中,r(N,M)代表第N个用户对第M个物品的评分,矩阵R为一个稀疏矩阵,基于矩阵分解理论,N行M列的矩阵R可以近似表示为一个N行k列的矩阵U与一个M行k列的矩阵V相乘;
将矩阵R分解为矩阵U和V相乘后,矩阵U中的uN就是用户N的k维Embedding向量,矩阵V中的vM就是用户M的k维Embedding向量;
基于用户偏好对用户进行分簇,具体包括:
根据该类用户的Embedding向量与数据内容的Embedding向量进行相似度计算,与相应类别用户Embedding向量越相似的数据内容,表示该类别用户对内容的偏好性越大;由此可得到该类用户的TOP K个偏好内容。
进一步的,所述步骤S2根据移动用户历史位置信息,建立移动用户数量预测模型,具体包括;
从t1时间段到tn时间段协作域内的用户数量集合可以表示为:
NOU={NOU(t1),NOU(t2),…,NOU(tn)+
并使用NOU作为ARIMA模型的输入,对tn+1时刻的各类别用户数量进行预测;
ARIMA模型的基本思想是将变量随时间变化形成的数据序列视为一个时间序列数据,并用给定的数学模型近似描述该序列,并计算变量的未来数值;ARIMA(p,d,q)模型表示为:
其中μ为常数,p,d,q分别表示为自回归阶数,使时间序列平稳需要的差分阶数,移动平均阶数,γi为自回归系数,θi为移动平均系数,εt表示误差项。
进一步的,所述步骤S3采用余弦相似度计算用户的偏好资源,结合预测的下一时刻区域内各类别用户数量、各类别用户偏好文件,确定相应缓存目标资源,包括步骤:
(1)通过步骤S1得到各类别用户与资源文件的Embedding向量,与相应冷启动用户的所属类别;
(2)通过步骤S2可得到下一时刻区域内各类别用户的数量NOU,结合各类别用户与资源文件的Embedding向量,通过余弦相似度计算各类别用户与资源文件之间的相似度,得到各类别用户的偏好文件,余弦相似度计算公式如下:
其中ui、vi分别表示向量uN和vM的各分量。
进一步的,所述步骤S4根据各服务器负载因子
缓存能耗因子
建立负载与能耗平衡的协作式缓存放置优化模型,包括步骤:
(1)设待缓存的文件集合为f={f
1,f
2,…,f
j},协作域中有k个边缘服务器,集合为S={S
1,S
2,…,S
k},各边缘服务器可用于缓存的总容量C={C
1,C
1,…,C
k},各边缘服务器的剩余缓存容量Q={Q
1,Q
2,…,Q
k};核心网对各边缘服务器传输文件的功率均为P
e,各服务器磁盘的读速度
写速度
(2)将内容文件缓存在MEC服务器时,系统产生的缓存能耗开销由如下公式计算:
其中,Nc、Ne表示经过核心网与边缘网络中的路由器数量,Ec、Ee、Egat、Esw表示核心网路由器,边缘网络路由器,网关、交换机每传输一位数据所消耗的能量,Lfj表示文件的数据量;
当内容文件缓存在MEC服务器上时,会给缓存系统带来额外的存储能耗,存储能耗由如下公式计算:
其中Pk表示边缘服务器k每存储一位数据所消耗的能量;因此总的缓存能耗可表示为传输能耗与存储能耗之和;
其中Q
k、
分别表示边缘服务器S
k的剩余可用容量、对文件的写速度、对文件的读速度,Q
max、
分别表示边缘服务器协作域内的最大剩余容量、最大写速率、最大读速率,Q
min、
分别表示边缘服务器协作域内的最小剩余容量、最小写速率、最小读速率,SC
k为服务器S
k的缓存剩余容量占比,可表示为;
其中Ck为服务器Sk的总容量,SCmax、SCmin分别表示边缘服务器协作域内的最大剩余容量占比、最小剩余容量占比。上述的权重满足α1+α2+α3+α4=1;
越小,服务器k在协作域内资源使用的相对的负载越小,从负载均衡角度上出发,越适合存储更多文件;
(4)存储能耗因子是用来衡量一个MEC服务器在协作域内,缓存一个文件所消耗能耗的相对大小,存储能耗因子采用如下公式表示;
其中,
分别表示文件f
j存储在协作域内的边缘服务器所消耗能耗的最大值与最小值,
越小,表明文件f
j存储在服务器S
k的能量消耗在协作域内相对越小;
文件fj对边缘服务器Sk的适应度由如下公式所得:
其中β
1,β
2分别表示该缓存策略下各服务器的资源使用负载与能量消耗的非负权重,满足
为各边缘服务器负载因子的平均值。
协同缓存策略求解问题转化为每个目标缓存文件进行相应缓存适应度的和的最小值,即协同缓存策略求解的目标函数可由如下公式表示;
其中
表示文件f
i是否缓存在边缘服务器S
m上,如果是,则
否则
约束条件:存储在边缘服务器的文件大小之和不能超过边缘服务器的总缓存容量
进一步的,所述步骤S5采用蚁狮算法对目标函数进行求解,具体包括;
步骤一:设Nant,Nantlion为蚂蚁与蚁狮的数量,对蚂蚁和蚁狮进行初始化,即解空间内随机生成缓存放置策略作为蚂蚁与蚁狮对应的解;采用缓存模型中的目标函数作为适应度函数,为每个蚂蚁与蚁狮通过适应度函数计算适应度值。选取最佳适应度值的蚁狮作为精英蚁狮Antelit;
步骤二:每个蚂蚁选择一个目标蚁狮,并向目标蚁狮与精英蚁狮之间进行游走,进行解的搜索。最后朝着目标蚁狮与精英蚁狮进行相应步长的随机游走。随机游走公式可由如下公式表示:
RW=De,i×ebt×cos(2πt)
其中De,i为蚂蚁与蚁狮的距离,b为螺旋游走参数,通常取1,t为(0,1)之间的均匀随机数;
步骤三:重新计算蚂蚁的适应度值,并根据适应度值将所有的蚂蚁与蚁狮进行排序,排序后选取前N个适应度值较佳的作为新的蚁狮,并饿死适应度值排名末尾的蚂蚁,重新生成新的蚂蚁加入到种群中;
步骤四:判断是否满足收敛标准或结束条件,若不满足则返回值步骤二,继续进行计算,否则输出精英蚁狮,该精英蚁狮对应的解即为算法的最终解。
本发明的优点及有益效果如下:
1.本发明在移动边缘环境中综合考虑了用户的移动性与偏好,构建了用户偏好模型并基于用户偏好对用户进行分类,同时构建了用户信任模型,分析用户社交关系对冷启动用户所属类别进行推测,解决冷启动用户的偏好内容预测问题;构建了移动用户数量预测模型预测未来时刻区域内各类别的用户数量,有针对性的选取各类别用户偏好的缓存目标资源,提高了缓存命中率,更加契合真实的移动边缘场景。
2.本发明在移动边缘环境中确认要进行缓存的用户偏好资源以后,综合考虑了各边缘服务器协作域内的资源负载情况与缓存的能量消耗情况,构建了能耗与负载平衡的边缘缓存模型,并使用改进的蚁狮算法对模型进行优化求解,最终求得的能耗与负载较优的边缘协同缓存策略,充分高效的利用了系统资源。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、详细地描述。所描述的实施例仅仅是本发明的一部分实施例。
本发明解决上述技术问题的技术方案是:
面向用户移动性与偏好的边缘协同缓存策略方法,包括以下步骤:
S1,基于用户历史行为数据,即用户-物品评分矩阵R,使用交替最小二乘法(alternating least squares,ALS)生成的Embedding向量表示用户偏好,并根据用户偏好对用户进行分簇,同时基于用户社交数据构建用户信任模型,以此推断冷启动用户的所属类别;
S2,基于用户历史位置信息数据,t1时间段到tn时间段协作域内的用户数量集合可以表示NOU={NOU(t1),NOU(t2),…,NOU(tn)},采用ARIMA建立移动用户数量预测模型;
S3,采用余弦相似度计算用户的偏好资源,结合预测的下一时刻区域内各类别用户数量、各类别用户偏好文件,确定相应缓存目标资源;
S4,根据各服务器负载因子
缓存能耗因子
建立负载与能耗平衡的协作式缓存放置优化模型;
S5,采用基于改进的螺旋式搜索的蚁狮算法,求解缓存放置优化模型,获得能耗与负载平衡的缓存放置策略。
在本实施例中,所述步骤S1中基于用户历史行为数据,用户-物品评分矩阵R,生成Embedding向量表示用户偏好,并根据用户偏好对用户进行分簇,同时基于用户社交数据构建用户信任模型,以此推断冷启动用户的所属类别,如图2所示,包括步骤:
(1)基于用户-物品评分矩阵R:
其中,r(N,M)代表第N个用户对第M个物品的评分。矩阵R为一个稀疏矩阵。基于矩阵分解理论,N行M列的矩阵R可以近似表示为一个N行k列的矩阵U与一个M行k列的矩阵V相乘。
(2)矩阵分解模型的损失函数可表示为:
使用交替最小二乘法(alternating least squares,ALS)来最优化损失函数。其核心思想是先随机生成其中矩阵U中的一个值然后固定它求解另一个矩阵V中的值,再利用V反过来求解U中的值,交替重复计算,直至取得最优解minC。
将矩阵R分解为矩阵U和V相乘后,矩阵U中的uN就是用户N的k维Embedding向量,矩阵V中的vM就是用户M的k维Embedding向量。
(3)针对没有历史数据信息的冷启动用户,由于无法生成Embedding向量,采用用户信任模型,从该用户的社会关系中推测该冷启动用户的偏好。从用户的局部社交网中,可得到用户的直接信任用户,从全局社交网中,可得到用户的间接信任用户。
若用户u对用户v直接信任,则Lt(u,v)=1,否则Lt(u,v)=0,当用户u和用户v间存在直接信任关系时,用户u直接信任用户v的概率。表示为Lp(u,v),计算公式如下。
其中,Fu表示用户u的直接信任好友数,Fv表示用户v的直接信任好友数,Fu∩Fv表示用户u,v的共同好友数。
(4)若用户u和用户v之间存在着至少一条可达路径,如:path=(u,m1,m2,…,mn,v),其中m1,m2,…,mn表示该可达路径的中间用户。则用户u简介信任用户v,并且用户间的信任强度会随着传播路径的增长而衰减,即用户间的间接信任与可达路径的长度成反比关系。用户u和用户v的间接信任度表示为Gt(u,v),计算公式如下:
全局社交可被信任概率:
在某个社会群体中,若一个人被信任的次数越多,其被其他人信任的概率越大,即一个用户的信任入度越大,则其可被信任的概率越大。采用Gp(v)表示用户v在全局社交中可被信任的概率,计算公式如下:
其中Iv表示用户v的信任入度,avg表示在局部社交关系网中,各用户的平均信任入度。当Iv≥avg时,表示该用户被信任的次数较多,社会声望较好,此时用户的全局可被信任概率为1。
(5)用户信任由直接信任和间接信任共同构成,因此,用户u对用户v,的信任度T(u,v)由直接信任度Lt(u,v)、间接信任度Gt(u,v)以及两者的可被信任概率Lp(u,v)、Gp(v)构成。可由如下公式计算:
T(u,v)=Lt(u,v)×Lp(u,v)+Gt(u,v)×Gp(v)
根据用户信任模型计算得到冷启动用户的前k个信任用户,并分析这些信任用户的所属类别,属于某一类别用户的数量居多,则该冷启动用户为该类别偏好用户的概率越大。
在本实施例中,所述步骤S2中根据用户历史位置信息数据NOU、采用ARIMA建立移动用户数量预测模型,包括步骤:
(1)BS={BS1,BS2,…,BSn}表示协作域内的基站集合,UD={UD1,UD2,…,UDm}表示用户的移动终端集合,当用户的移动终端UDm进入区域中基站BSn的服务范围内时,基站BSn基站将会记录用户进入基站的时间Tin,当用户离开基站服务范围时,基站BSn将会记录用户离开基站的时间Tout。
在t时刻,协作域内的用户数量可由下式计算获得:
表示在t时刻,用户UD
m是否在基站BS
n服务范围内:
因此,从t1时间段到tn时间段协作域内的用户数量集合可以表示为:
NOU={NOU(t1),NOU(t2),…,NOU(tn)}
(2)使用NOU作为ARIMA模型的输入时刻协作域内不同偏好的用户数量进行预测。ARIMA模型的基本思想是将变量随时间变化形成的数据序列视为一个时间序列数据,并用给定的数学模型近似描述该序列,并计算变量的未来数值。ARIMA(p,d,q)模型表示为:
其中μ为常数,p,d,q分别表示为自回归阶数,使时间序列平稳需要的差分阶数,移动平均阶数,γi为自回归系数,θi为移动平均系数,εt表示误差项。
通过以下三个主要步骤构建模型。
第一步:NOU={NOU(t1),NOU(t2),…,NOU(tn)}为t1至tn时间段内用户数量的时间序列,如果该时间序列为非平稳的,那么需要对其进行d阶差分处理,使其变为平稳的时间序列。
第二步:通过自相关函数与偏自相关函数等计算描述该序列特征的统计量,根据计算出来的序列特征对参数自回归阶数p、移动平均阶数q进行确定。
第三步:对参数μ、γi、θi、εt的值进行调整,然后检验模型ARIMA(p,d,q)。拟合的效果。
通过以上步骤构建好ARIMA后,即可对tn+1时刻区域内各类别的用户数量NOU(tn+1)进行预测。
在本实施例中,所述步骤S3采用余弦相似度计算用户的偏好资源,结合预测的下一时刻区域内各类别用户数量、各类别用户偏好文件,确定相应缓存目标资源,包括步骤:
(1)通过步骤S1得到各类别用户与资源文件的Embedding向量,与相应冷启动用户的所属类别。
(2)通过步骤S2可得到下一时刻区域内各类别用户的数量NOU,结合各类别用户与资源文件的Embedding向量,通过余弦相似度计算各类别用户与资源文件之间的相似度,得到各类别用户的偏好文件。余弦相似度计算公式如下:
其中u i、v i分别表示向量uN和vM的各分量。
在本实施例中,所述步骤S4根据各服务器负载因子
缓存能耗因子
建立负载与能耗平衡的协作式缓存放置优化模型,包括步骤:
(1)设待缓存的文件集合为f={f
1,f
2,…,f
j},协作域中有k个边缘服务器,集合为S={S
1,S
2,…,S
k},各边缘服务器可用于缓存的总容量C={C
1,C
1,…,C
k},各边缘服务器的剩余缓存容量Q={Q
1,Q
2,…,Q
k}。核心网对各边缘服务器传输文件的功率均为P
e,各服务器磁盘的读速度
写速度
(2)将内容文件缓存在MEC服务器时,系统产生的缓存能耗开销主要由内容文件的传输能耗与在MEC服务器上的存储能耗组成,传输能耗主要来源于内容文件从远程数据中心到协作域内的MEC服务器之间的传输开销,可由如下公式计算:
其中,N
c、N
e表示经过核心网与边缘网络中的路由器数量,E
c、E
e、E
gat、E
sw表示核心网路由器,边缘网络路由器,网关、交换机每传输一位数据所消耗的能量,
表示文件的数据量。
当内容文件缓存在MEC服务器上时,会给缓存系统带来额外的存储能耗,存储能耗可由如下公式计算:
其中Pk表示边缘服务器k每存储一位数据所消耗的能量。因此总的缓存能耗可表示为传输能耗与存储能耗之和。
(3)服务器负载因子是一个用来评价一个MEC服务器在协作域内的资源使用相对负载情况,主要包括各边缘服务器的缓存容量大小、剩余缓存容量以及服务器的读写效率。服务器S
k的负载因子
可采用如下公式表示。
其中Q
k、
分别表示边缘服务器S
k的剩余可用容量、对文件的写速度、对文件的读速度,Q
max、
分别表示边缘服务器协作域内的最大剩余容量、最大写速率、最大读速率,Q
min、
分别表示边缘服务器协作域内的最小剩余容量、最小写速率、最小读速率,SC
k为服务器S
k的缓存剩余容量占比,可表示为;
其中Ck为服务器Sk的总容量,SCmax、SCmin分别表示边缘服务器协作域内的最大剩余容量占比、最小剩余容量占比。上述的权重满足α1+α2+α3+α4=1;
越小,服务器k在协作域内资源使用的相对的负载越小,从负载均衡角度上出发,越适合存储更多文件。
(4)存储能耗因子是用来衡量一个MEC服务器在协作域内,缓存一个文件所消耗能耗的相对大小,存储能耗因子可采用如下公式表示。
其中,
分别表示文件f
j存储在协作域内的边缘服务器所消耗能耗的最大值与最小值,
越小,表明文件f
j存储在服务器S
k的能量消耗在协作域内相对越小。
(5)适应度函数主要用以综合评估文件与边缘服务器之间存储关系的适应程度。综合考虑了各边缘服务器的资源使用负载优劣、以及对文件的存储能耗。主要由负载因子
与存储能耗因子
决定。
文件fj对边缘服务器Sk的适应度可由如下公式所得:
其中β
1,β
2分别表示该缓存策略下各服务器的资源使用负载与能量消耗的非负权重,满足β
1+β
2=1,
为各边缘服务器负载因子的平均值。
协同缓存策略求解问题转化为每个目标缓存文件进行相应缓存适应度的和的最小值,即协同缓存策略求解的目标函数可由如下公式表示。
其中
表示文件f
i是否缓存在边缘服务器S
m上,如果是,则
否则
约束条件:存储在边缘服务器的文件大小之和不能超过边缘服务器的总缓存容量
在本实施例中,所述步骤S5采用改进的元启发式算法,蚁狮算法对S4的目标函数进行求解,如图3所示,主要步骤包括如下:
改进的蚁狮算法在传统蚁狮算法的基础之上,在局部搜索阶段对蚂蚁的游走机制进行了优化,将蚂蚁游走的机制由随机游走改进为朝着目标蚁狮与精英蚁狮相应范围内进行螺旋式搜索,改进后蚂蚁进行随机游走的计算如下:
RW=De,i×ebt×cos(2πt)
其中De,i为蚂蚁与蚁狮的距离,b为螺旋游走参数,通常取1,t为(0,1)之间的均匀随机数。
在全局搜索阶段,在每一次迭代中饿死适应度较差的蚂蚁,重新生成新的蚂蚁,增强了全局搜索能力,进一步避免陷入局部最优。改进后的算法总体流程可总结为如下:
步骤一:设Nant,Nantlion为蚂蚁与蚁狮的数量,对蚂蚁和蚁狮进行初始化,即解空间内随机生成缓存放置策略作为蚂蚁与蚁狮对应的解。采用缓存模型中的目标函数作为适应度函数,为每个蚂蚁与蚁狮通过适应度函数计算适应度值。选取最佳适应度值的蚁狮作为精英蚁狮Antelit。
步骤二:每个蚂蚁选择一个目标蚁狮,并向目标蚁狮与精英蚁狮之间进行游走,进行解的搜索。最后朝着目标蚁狮与精英蚁狮进行相应步长的随机游走。
步骤三:重新计算蚂蚁的适应度值,并根据适应度值将所有的蚂蚁与蚁狮进行排序,排序后选取前N个适应度值较佳的作为新的蚁狮,并饿死适应度值排名末尾的蚂蚁,重新生成新的蚂蚁加入到种群中。
步骤四:判断是否满足收敛标准或结束条件,若不满足则返回值步骤二,继续进行计算,否则输出精英蚁狮,该精英蚁狮对应的解即为算法的最终解。即协同缓存策略。
本发明综合考虑了用户偏好与用户移动性对缓存内容预测的影响,并在缓存策略求解时综合考虑了缓存能耗与各边缘服务器之间的负载,与已有的边缘协同缓存方法相比,本发明具有以下主要优点:(1)综合考虑用户的偏好与用户移动性,建立用户偏好模型与移动用户数量预测模型,更准确的预测了区域内的用户请求内容,更加符合实际场景;(2)综合考虑了各边缘服务器之间的负载均衡与缓存的能量消耗,并建立缓存模型,使用改进的蚁狮算法进行缓存策略的求解。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上这些实施例应理解为仅用于说明本发明而不用于限制本发明的保护范围。在阅读了本发明的记载的内容之后,技术人员可以对本发明作各种改动或修改,这些等效变化和修饰同样落入本发明权利要求所限定的范围。