一种面向边缘服务器成本优化的流量调度方法转让专利
申请号 : CN202210631082.4
文献号 : CN115037956B
文献日 : 2023-03-21
发明人 : 仇超 , 李沅泽 , 刘铸滔 , 边高阳 , 王晓飞 , 张诚
申请人 : 天津大学
摘要 :
权利要求 :
1.一种面向边缘服务器成本优化的流量调度方法,其特征在于,包括如下步骤:S1,构建包括边缘服务器和用户的流量调度系统,读取结算周期的时刻数T内每个时刻的用户数、边缘服务器数、每个用户的带宽需求、每个边缘服务器的带宽上限以及边缘服务器和用户之间的服务时延;
S2,设定时延阈值K;
S3,基于边缘服务器和用户之间的服务时延与时延阈值K之间的关系,绘制每个时刻下表征用户和边缘服务器连接属性的拓扑网络图;
S4,根据带宽需求大小分别构建用户的带宽需求队列和每个边缘服务器的带宽需求队列,并为用户的带宽需求队列中的每个元素设置索引,初始化索引号r=1,所述每个边缘服务器的带宽需求队列中的每个元素均至少包含时刻和该时刻下边缘服务器的带宽需求两个子元素;
S5,根据索引号r所对应的带宽需求和该带宽需求是否位于95计费点内对索引号r所对应时刻的拓扑网络图的属性进行变更;
S6,根据步骤S5变更后的拓扑网络图中有向边的属性计算残差值,并利用增广路法和bellman‑ford算法搜索该拓扑网络图中的连通路径,根据残差值再次更新该拓扑网络图的属性并搜索连通路径,直至拓扑网络图中不存在连通路径;
S7,判断r<N,如果是,执行r=r+1,并返回步骤S5,否则根据每个时刻的拓扑网络图输出各时刻下所有用户的卸载流量值,其中,N表示用户总数;
所述步骤S3包括如下步骤:
S3.1,初始化时刻tnow=1;
S3.2,将tnow时刻下每个边缘服务器和用户之间的服务时延与时延阈值K进行比较,判断对应的边缘服务器和用户之间是否可以发生卸载,其表达式为:式中,当 时,表示第i个边缘服务器Mi和第j个用户Nj之间可以发生卸载,当时,表示边缘服务器Mi和用户Nj之间不能发生卸载, 表示边缘服务器Mi与用户Nj之间的服务时延;
S3.3,将tnow时刻下的每个用户和每个边缘服务器分别看作一个节点,根据步骤S3.1得到的比较结果依次在每个用户和每个边缘服务器之间构建有向边,所述有向边的属性包括起点、终点、容量、流量和权重;
S3.4,增加虚拟节点S,将虚拟节点S视为起点、tnow时刻下的每个用户分别视为终点,在虚拟节点S和每个用户Nj之间依次构建容量为0、流量为0、权重为0的有向边S3.5,增加虚拟节点E,将tnow时刻下的每个边缘服务器分别视为起点、虚拟节点E视为终点,在每个边缘服务器Mi和虚拟节点E之间依次构建容量为边缘服务器的带宽上限、流量为0、权重为0的有向边 进而形成tnow时刻下的拓扑网络图S3.6,判断tnow
2.根据权利要求1所述的面向边缘服务器成本优化的流量调度方法,其特征在于,所述步骤S4包括如下步骤:S4.1,计算每个时刻下所有用户的带宽需求总数,按照降序顺序对所有时刻下的带宽需求总数进行排序形成用户的带宽需求队列QN;
S4.2,为步骤S4.1中得到的用户的带宽需求队列QN中的每个元素分别设置索引,并初始化索引号r=1;
S4.3,为每个边缘服务器Mi设置一个带宽需求队列 所述带宽需求队列 中的每个元素包含时刻 和该时刻下边缘服务器的带宽需求 两个子元素,根据带宽需求队列 中每个元素的带宽需求对带宽需求队列 进行降序排序以更新带宽需求队列其中,k表示带宽需求队列 中的元素序号,且1≤k≤T;
S4.4,为每个边缘服务器Mi分别设置权重 和已使用时刻数 两个参数,并将这两个参数均初始化为0。
3.根据权利要求2所述的面向边缘服务器成本优化的流量调度方法,其特征在于,在步骤S4.3中,所述边缘服务器的带宽需求 对应的计算公式为:式中, 表示拓扑网络图中以边缘服务器Mi为起点虚拟节点E为终点,在边缘服务器Mi和虚拟节点E之间构建的有向边 的流量。
4.根据权利要求1所述的面向边缘服务器成本优化的流量调度方法,其特征在于,所述步骤S5包括如下步骤:S5.1,从用户的带宽需求队列QN中找到索引号r=1对应的带宽需求 并将拓扑网络图 中的有向边 的容量变更为 其中, 表示td时刻的拓扑网络图, 表示用户 在td时刻下的带宽需求, 表示以虚拟节点S为起点、用户 为终点,在虚拟节点S和用户 之间所构建的有向边,且1≤jd≤N,1≤td≤T;
S5.2,若带宽需求 在边缘服务器Mi的带宽需求队列 中位于 也即
且 则将拓扑网络图 中的有向边 的权重变更为 否则将
拓扑网络图 中的有向边 的权重变更为权重 其中, 表示边缘服务器Mi的带宽需求队列 中元素序号为 的元素的时刻子元素, 表示以边缘服务器Mi为起点、虚拟节点E为终点,在边缘服务器Mi和虚拟节点E之间所构建的有向边, 表示边缘服务器Mi的已使用时刻数;
S5.3,判断 如果是,将拓扑网络图 中的有向边
的容量变更为 否则使拓扑网络图 中的有向边 的容量等于其流量,其
中, 表示边缘服务器Mi的带宽需求队列 中元素序号为T×5%处所对应的带宽需求子元素, 表示有向边 的流量。
5.根据权利要求1所述的面向边缘服务器成本优化的流量调度方法,其特征在于,所述步骤S6包括如下步骤:S6.1,根据拓扑网络图中有向边的残差值搜寻拓扑网络图 中从虚拟节点S到虚拟节点E的连通路径,利用bellman‑ford算法搜索代价最小的连通路径, 表示用户的带宽需求队列中索引号r所对应的时刻td的拓扑网络图;
S6.2,根据属性计算步骤S6.1中代价最小的连通路径的残差值resi_min,将该连通路径中所有有向边的流量加上残差值resi_min,并将该连通路径中所有有向边的反向边的容量加上残差值resi_min,以分别更新该连通路径中所有有向边的流量和反向边的容量;
S6.3,判断resi_min>0,如果是,返回步骤S6.1,否则执行步骤S6.4;
S6.4,将拓扑网络图 中所有有向边 的容量更新为对应的边缘服务器Mi的带宽上限Ci,其中, 表示拓扑网络图中以边缘服务器Mi为起点、虚拟节点E为终点,在边缘服务器Mi和虚拟节点E之间所构建的有向边;
S6.5,根据有向边的残差值搜寻更新后的拓扑网络图 中从虚拟节点S到虚拟节点E的连通路径,利用bellman‑ford算法搜索代价最小的连通路径;
S6.6,根据有向边的属性计算步骤S6.5中代价最小的连通路径的残差值 将该连通路径中所有有向边的流量加上残差值 将该连通路径中所有有向边的反向边的容量加上残差值 以分别更新该连通路径中所有有向边的流量和反向边的容量;
S6.7,判断 如果是,返回步骤S6.5,否则执行步骤S6.8;
S6.8,遍历每一个边缘服务器的带宽需求队列中的元素,判断是否有 如果有,执行 否则根据 的值将子元素td和子元素组成的元素对应的插入边缘服务器的带宽需求队列中,其中, 表示边缘服务器Mi的带宽需求队列 中元素序号为k的元素所对应的时刻子元素, 表示有向边 的流量, 表示边缘服务器Mi的带宽需求队列 中元素序号为k的元素所对应的带宽需求子元素;
S6.9,将步骤S6.8更新后的每一个边缘服务器的带宽需求队列中的前T×5%‑1个元素复制到新队列Q′中,根据带宽需求按照降序顺序对新队列Q′进行排序更新,如果带宽需求值相同,则按照边缘服务器的带宽上限升序排序以更新新队列Q′;
S6.10,遍历更新后的新队列Q′,将第l个元素所对应的边缘服务器的权重变更为T+N‑l,且l为正整数;
S6.11,判断拓扑网络图 中虚拟节点S和每个用户Nj之间的有向边 中是否都满足有向边 如果是,则将拓扑网络图 中有向边 的流量减去该有向边对应的反向边的流量 得到卸载流量值 即为td
时刻用户Nj卸载到边缘服务器Mi的流量值,否则执行步骤S6.12,其中, 表示有向边 的流量, 表示有向边 的容量, 表示以边缘服务器Mi为起点、用户Nj为终点,在边缘服务器Mi和用户Nj之间所构建的有向边, 表示有向边的反向边。
6.根据权利要求5所述的面向边缘服务器成本优化的流量调度方法,其特征在于,在步骤S6.1中,所述残差值是指有向边的容量减去有向边的流量的差值,对应的计算公式为:式中,resi表示残差值, 表示从起点start到终点end所绘制的有向边的容量, 表示有向边 的流量。
说明书 :
一种面向边缘服务器成本优化的流量调度方法
技术领域
背景技术
发明内容
表示边缘服务器Mi的带宽需求队列 中 位置处所对应的时刻子元素, 表示以边缘服务器Mi为起点、虚拟节点E为终点,在边缘服务器Mi和虚拟节点E之间所构建的有向边, 表示带宽需求队列 中元素序号为 的元素的时刻子元素, 表示边缘服务器Mi的已使用时刻数;
流量,其中, 表示边缘服务器Mi的带宽需求队列 中元素序号为T×5%处所对应的带宽需求子元素, 表示有向边 的流量。
的元素所对应的带宽需求子元素;
量值 即为td时刻用户Nj卸载到边缘服务器Mi的流量值,否则执行步骤S6.12,其中,表示有向边 的流量, 表示有向边 的容量,
表示以边缘服务器Mi为起点、用户Nj为终点,在边缘服务器Mi和用户Nj之间所构建的有向边, 表示有向边 的反向边。
附图说明
具体实施方式
表示第i个边缘服务器,下标M表示边缘服务器集合 中的边缘服务器总数,边缘服务器Mi的带宽上限为Ci。当95带宽计费按照一个自然日或自然月结算时,假设一个自然日或自然月共有T个时刻,在每个时刻t,用户Nj的带宽需求为 每个用户的带宽需求都可能会随时间变化,用户需要在每个时刻将自己的带宽需求全部卸载到边缘服务器,并且保证边缘服务器的总带宽不超过其带宽上限。同时,由于边缘服务器的地理位置分散,不同用户连接到不同的边缘服务器会有不同的服务时延,将 表示边缘服务器Mi与用户Nj之间的服务时延,当 大于时延阈值K时,服务时延过高会影响到用户体验,设定用户Nj不可以将自己的带宽需求卸载到边缘服务器Mi。
用 表示,同时,将边缘服务器Mi视作起点start,将用户Nj视作终点end,在边缘服务器Mi和用户Nj之间构建容量为0、流量为0、权重为0的有向边 有向边 的容量采用 cap表示,有向边 的流量采用 表示,有向边
的权重采用 cost表示,有向边 和有向边 互为反向边。
达式分别为:
值给有向边 的容量,其中, 表示边缘服务器Mi的带宽需求队列 中元
素序号为T×5%处元素的带宽需求子元素,对应的表达式为:
即为td时刻用户Nj卸载到边缘服务器Mi的流量值,否则执行步骤S6.12,对应的计算公式为:
大小的带宽需求卸载到边缘服务器Mi。对用户Nj与所有边缘
服务器的连接计算上述值,就能得到用户Nj的完整的带宽调度方案。对所有用户执行上述操作,就能得到某时刻的完整的带宽调度方案。也就是S6.11所述,S6.11就已经得到调度方案了。