1.一种雾计算网络中基于联邦学习的内容缓存方法,其特征在于:该方法为:根据所提供网络场景的特性,联合优化雾服务器存储资源分配和缓存内容放置问题,从而最小化网络流量成本;考虑到网络中内容流行度的动态变化,采用联邦学习的方法对区域中的内容流行度进行准确的预测,以制定内容缓存策略,具体为:(1)缓存过程
移动用户连接到最近发F‑AP,连接的F‑AP负责服务用户的内容请求;如果请求的内容位于连接的F‑AP的缓存中,则请求将立即被处理;另一方面,当被请求的内容没有缓存在连接的F‑AP中时,请求被转发到CM;CM检查查找表中所请求的内容是否缓存在相邻F‑APs;如果内容缓存在相邻的F‑APs中,CM将执行所有必需的信令,以便从相邻F‑APs获取内容;相邻F‑APs提供的内容降低下载延迟并减少网络流量;如果CM无法在任何缓存中找到所请求的文件,将把请求转发给远程云计算中心以获得内容;
在每个时期的开始,CM首先优化内容放置和存储分配策略;如果重新优化的策略与上一阶段不同,则更新缓存,并相应地重新分配存储资源;短生命周期的热门新闻和短视频每隔几小时更新一次,而长生命周期的新电影和新音乐视频则分别每周或每月更新一次;为减少高峰时间段的流量负载和避免可能的网络流量堵塞,流行的内容,以及长生命周期的内容在非高峰时间段缓存;
(2)内容流行度和用户偏好
A.全局内容流行度
系统中所有移动用户都请求的流行内容库集表示为 平均内容大小表示为sf;来自所有用户的内容请求统计信息定义如下;
定义网络中全局内容流行度为Pf,为来自网络中所有用户的内容请求的概率分布,其中第f个内容的流行度计算为网络中内容f的请求数与网络中所有内容的请求数之比;内容流行度表示网络中所有用户的共同兴趣,为服从MZipf分布模型:其中,Rf为内容f的流行度等级,τ≥0为平移因子,β>0为偏度因子;
B.用户偏好
不同的F‑APs都有各自的内容偏好,即局部内容流行度,定义来自F‑APs n的用户请求内容f的概率为Pnf;通过系统对用户社会行为的学习和分析,提前或定期预测用户偏好;采用联邦学习的方法对区域中的内容流行度进行准确的预测;
FL框架包括:用户设备端,负责本地数据训练,并将更新上传至服务器;本地训练数据集是根据用户设备的使用情况生成的;不同情况下的用户的历史请求信息构成局部训练数据集的一部分;本地训练数据集还包括用户的上下文信息;而雾服务器端,通过合并和聚合用户设备端更新的本地模型来改进全局学习模型;之后,改进后的模型将再次发送给用户端,将以上步骤称为一轮通信;
基于用户设备端和雾服务器端的交互过程,并且,在每一轮t的算法迭代中,对于训练过程中所涉及的每一个用户u,基于其本地数据集Δu,更新其本地参数向量wu(t):其中α为学习因子; 为全局聚合后wu(t‑1)的结果;
雾服务器端接收用户上传的更新的本地参数向量wu(t),并相应的更新全局模型,表示为:
将联邦学习应用于需求预测问题,从跨多个用户传播的数据中执行学习过程,从而保护敏感数据,准确的对区域中的内容流行度进行分布式的预测;
(3)问题建模
将问题表示为存储分配和内容放置的联合优化问题,目标是最小化预期的网络流量成本;为F‑APn分配的存储空间,表示为cn;在每个F‑AP中应该缓存哪些内容,定义一个内容缓存矩阵 该矩阵中的元素xnf的含义:xnf=1,表示内容f被预先缓存到雾服务器n中,否则,xnf=0;本发明将区域中内容流行度表示为Pnf,即,F‑APn的用户请求内容f的概率,采用联邦学习的方法预测得到;问题表述如下:目标函数(6)的第一项表示内容f缓存在F‑APn中,构成用户与F‑APs之间通过无线信道的流量;第二项表示内容f缓存在相邻F‑APs中,流量通过无线信道和Fog‑Fog链路;第三项表示从云计算中心请求内容f,流量来自无线信道以及前端链路;约束条件C1表示在所有F‑APs中分配的缓存不应超过存储预算Cth;约束条件C2表示每个F‑APs中的所有数据不应超过其存储容量;由于(4)中的乘积项,使得该问题是非线性的,难以求解;因此,引入决策变量znf,使得znf=xnfxmf;为保证变换后的问题与原问题等价,需要满足条件C5‑C7;转换后的问题表述为:
为降低计算复杂度,设计启发式算法;
(4)启发式算法
将存储分配和内容放置的联合问题分解为两个子问题,包括存储分配问题和内容放置问题;先解决存储分配问题,然后利用它的结果作为内容放置问题的输入;
A.存储资源分配问题
在存储资源分配问题中,根据总的F‑APs的存储预算Cth,将存储资源分配给每个F‑APs,以最大化资源利用率;提出基于流量的分配算法,根据不同的流量需求按比例分配存储;其中每个雾服务器n的流量需求计算为tn=Pnf·sf·Un;基于流量的存储资源分配算法的步骤如下:
1)首先初始化雾服务器中总的流量sumt=0;
2)计算每个雾服务器 的流量需求tn;
3)计算sumt=sumt+tn;
4)对每个雾服务器n,计算cn=tn/sumt*C;
5)算法结束,输出存储资源分配策略cn;
B.内容放置问题
内容放置问题决定在每个雾服务器上缓存哪些内容,以最小化流量成本;提出基于全局内容流行度的贪婪算法和基于联邦学习的本地流行度背包算法解决缓存内容的放置问题:
(5)基于全局内容流行度的贪婪算法:
1)对于每一个雾服务器n,使用所有可用的存储资源cn;
2)将缓存内容按照内容流行度Pf做降序排列;
3)在每个雾服务器n缓存最流行的内容,直到存储容量已满;
4)计算传输流量成本P;
(6)基于联邦学习的本地流行度背包算法:首先根据存储容量cn内的内容流行度Pnf和内容大小sf来决定每个雾服务器缓存的内容;雾服务器n的内容放置决策表示为:其中C8表示F‑APn中缓存的所有数据不超过其容量限制;sf为内容项f的大小,cn为背包容量,Pnfsf为每个项的价值;使用动态规划来解决这个问题;为将原问题分解为子问题,构造一个矩阵m,当存储容量j用来缓存内容项{1,2,…,f},则m(f,j)反应可以获得的最大价值;最优解为m(F,cn);原问题和子问题的关系是:当存储容量为j且小于内容项f的数据长度sf时,数据无法被缓存;移除内容项f,并且只考虑缓存内容项{1,2,…,f‑1}的数据,即,m(f,j)=m(f‑1,j);否则,考虑在缓存或不缓存内容项f的数据之间选择较大的值;大括号中的第一项表示内容项f没有缓存在F‑APs中,不会对原问题产生任何影响,不会占用任何存储空间;第二项意味着内容项f缓存在F‑AP中,将Pnfsf值添加到原问题中,并消耗sf的存储容量;通过计算m的所有元素,以决定哪些内容缓存在F‑APs n。