面向移动边缘计算的分布式专用保护业务调度方法

文档序号:26057247发布日期:2021-07-27 15:35阅读:96来源:国知局
面向移动边缘计算的分布式专用保护业务调度方法

本发明涉及移动通信技术领域,具体涉及一种面向移动边缘计算的分布式专用保护业务调度方法。



背景技术:

面向移动边缘计算(mobileedgecomputing,mec)可利用无线接入网络就近提供电信用户it所需的服务和云端计算功能,从而创造出一个具备高性能、低延迟与高带宽的电信级服务环境,加速网络中各项内容、服务及应用的下载速度,让消费者享有不间断的高质量网络体验。现阶段,越来越多诸如人脸识别、虚拟/增强现实、在线视频等资源密集和时延敏感型新兴应用向mec服务器发送资源请求,为了避免出现大量并发业务导致服务器过载和时延大幅增加的情况,需要研究如何将此类资源密集型和时延敏感型的业务切分成多份资源需求较少的子业务、以分布式的方式部署到多个相邻mec服务器上并行处理。

面向mec的分布式业务与传统分布式业务不同,往往涉及到日常生活生产,时延和生存性要求非常高,需要在业务切分、计算卸载和业务保护等多方面展开研究。现有的研究要么集中于移动边缘计算的边缘缓存、计算卸载和资源分配问题,要么只关注传统分布式系统中的分布式业务调度问题,很少有针对面向mec的分布式专用保护业务调度问题的研究。绝大部分研究的是在传统的分布式系统上进行的分布式业务调度,此类业务调度的目的是最小化传输时延和系统总能耗,并没有兼顾考虑mec网络中的分布式业务调度问题,而且未考虑到业务的切分与计算资源和保护计算资源联合优化的问题。



技术实现要素:

为此,本发明所要解决的技术问题在于克服现有技术中的不足,提供一种面向移动边缘计算的分布式专用保护业务调度方法,可以在保护业务的前提下最小化网络业务的总时延。

为解决上述技术问题,本发明提供了一种面向移动边缘计算的分布式专用保护业务调度方法,包括:

获取网络中mec服务器上待处理业务列表和可调配资源列表,将业务划分为多个子业务,并生成与多个子业务相对应的保护子业务;

使用双轮询调度策略给子业务选择mec服务器作为工作服务器的同时给保护子业务也选择mec服务器作为工作服务器,并且子业务和保护子业务选择的mec服务器不相同。

进一步地,所述使用双轮询调度策略的具体过程为:

s1:对业务集合中的任意一个业务u,确定与业务u最近的m个mec服务器加入到可用服务器集合eu中;

s2:划分业务u生成子业务列表ku,生成子业务列表ku对应的保护子业务列表pu;从集合eu中依次选取mec服务器作为子业务列表ku中的每个子业务的工作服务器;

s3:在第j个时隙上,判断第m个mec服务器上的第i个计算资源是否空闲,如果空闲则将第m个mec服务器上的第i个计算资源分配给业务u中的子业务;如果不空闲,则判断第m+1个服务器上的第i个计算资源是否空闲,直到找到空闲计算资源并分配给业务u中的子业务;

s4:判断部署在第m个mec服务器上的子业务是否在其它mec服务器上建立保护子业务,如果是,则直接在对应部署保护子业务的服务器上以轮询的方式分配一个保护计算资源;如果否,则以轮询的方式确定保护服务器,并分配保护计算资源;

s5:判断第m个mec服务器之外的工作服务器上的i个计算资源是否都被占用,如果是,则令i++,重新判断第m个mec服务器之外的工作服务器上的i个计算资源有没有都被占用;如果否,则将第m个mec服务器之外的工作服务器上的i个计算资源分配给业务u中的子业务;

s6:判断在时隙j内所有工作服务器上可用的计算资源是否能满足业务u中所有子业务的计算资源和保护资源需求,如果是,则执行s7;如果否,则令j++,返回执行s3;

s7:停止分配,完成所有业务的计算和保护,此时业务u的时延tu为j,得到整个网络业务的完成时间tmax=max{tu}。

进一步地,所述s1中确定与业务u最近的m个mec服务器时,使用的方法为最短路由算法。

进一步地,所述s4中轮询的方式为基于轮询切分的业务调度策略。

进一步地,所述基于轮询切分的业务调度策略的具体过程为:

步骤c1:对一个业务集合中的任意一个业务,根据最短路由算法确定与当前业务最近的m个mec服务器,将确定的m个服务器加入到可用mec服务器集合eu中;

步骤c2:对可用mec服务器集合中的任意一个业务,判断i时刻下mec服务器的第j个计算资源是否空闲,如果空闲,则将该计算资源分配给步骤c1中的业务;如果不空闲,则终止分配;

步骤c3:统计可用mec服务器集合中每个mec服务器上部署业务分配的资源作为子业务的大小;

步骤c4:确定业务开始时间与结束时间,计算所有业务的完成时间tu。

进一步地,还包括构建整数线性规划优化模型,以最小化业务时延的目标建立整数线性规划优化模型,在整数线性规划优化模型的基础上建立所述双轮询调度策略。

进一步地,所述以最小化业务时延的目标建立整数线性规划优化模型时,定义u为网络中的业务集合,e为网络中的mec节点集合,ku为业务u的子业务集合,eu为业务u可用的mec节点集合,ts为可用的时隙集合;ru为业务u所需的mec计算资源,u∈u,vm为mec服务器m上所能提供的总的mec计算资源,△为预设的极大值;为二进制变量,当mec服务器m在时刻t被选为业务u的子业务k的计算节点时取值为1,否则为0;为二进制变量,当mec服务器m被选为业务u的子业务k的计算节点时取值为1,否则为0;为整型变量,表示mec服务器m在时刻t处为业务u的子业务k的提供的计算资源;为整型变量,完成切分后,业务u第k个子业务所需的mec计算资源;为二进制变量,当mec服务器m在时刻t被选为业务u的子业务k的保护业务的计算节点时取值为1,否则为0;为业务u的子业务k的所需的mec保护计算资源;为mec服务器m在时刻t为业务u的子业务k的保护业务提供的计算资源;tmax为整型变量,用于表示所有业务的完成时间;

得到优化目标最小化业务时延为minimize:tmax。

进一步地,所述以最小化业务时延的目标建立整数线性规划优化模型时,整数线性规划优化模型的约束条件包括业务约束、mec服务器容量约束、时延约束和业务保护约束;

所述业务约束包括:子业务所需的计算资源之和等于业务所需的资源量,每个服务器分配给其上子业务的资源量等于子业务需要承载的计算资源量,子业务必须部署于不同的服务器上进行处理;

所述mec服务器容量约束包括:每个mec服务器上的使用的计算资源总和不能超过其最大可用计算资源量;

所述时延约束包括:完成业务的总时延不能超过最大时隙数;

所述业务保护约束包括:被保护子业务所需的计算资源总和等于保护子业务所需计算资源总和,被保护子业务与对应的保护子业务分别部署在不同的mec服务器上。

进一步地,所述业务约束的表达式为:

表示业务u的每个子业务k只能部署于一个mec服务器上;

表示一个mec服务器不能同时服务业务u的任意两个子业务;

表示业务u的任意两个子业务都必须部署于不同的服务器上进行处理;

表示当mec服务器m为业务u的子业务k提供计算资源后,该服务器m被选为子业务k的计算节点;

表示服务器m给业务u的子业务k提供的计算资源总和等于子业务k所需的计算资源量,所有子业务k的计算资源量等于业务u的计算资源需求量;

所述mec服务器容量约束的表达式为:

表示在任意时刻t处,mec提供给子业务的计算资源和保护计算资之和不能超过其自身可用计算资源的最大值;

所述时延约束的表达式为:

表示计算所有业务处理完的时间,该时间不能小于mec网络中任意业务的结束时间;

表示计算所有业务处理完的时间,所有业务处理完的时间不小于mec网络中任意业务的完成时间,包括业务保护的时间;

所述业务保护约束的表达式为:

表示所有的保护业务不能和被保护业务调度到同一个服务器上,每个保护子业务只能由同一个mec服务器给它提供计算资源;

表示保护子业务和被保护子业务的切分形态完全一致。

本发明还提供一种面向移动边缘计算的分布式专用保护业务调度系统,包括由mec服务器组成的大规模网络,所述mec服务器上使用面向移动边缘计算的分布式专用保护业务调度方法布置业务和业务对应的专用保护业务。

本发明的上述技术方案相比现有技术具有以下优点:

本发明所述的面向移动边缘计算的分布式专用保护业务调度方法,通过使用双轮询调度策略考虑服务器上实际可用的计算资源,在保护业务的前提下最大程度降低网络中业务总时延,避免了mec服务器上出现计算资源浪费或过载现象,实现了面向移动边缘计算的分布式业务的切分、子业务计算资源和保护计算资源的联合优化。

附图说明

为了使本发明的内容更容易被清楚的理解,下面根据本发明的具体实施例并结合附图,对本发明作进一步详细的说明。

图1是本发明中双轮询调度策略的流程图。

图2是本发明实施例中随机调度策略的举例说明图。

图3是本发明实施例中环调度策略的举例说明图。

图4是本发明实施例中双轮询调度策略的举例说明图。

图5是本发明实施例中仿真实验使用的6个mec节点和9条网络链路的n6s9测试网络的结构示意图。

图6是本发明实施例中仿真实验使用的14个mec节点和21条网络链路的nsfnet测试网络的结构示意图。

图7是本发明实施例中仿真实验中在n6s9测试网络的环境下,使用ilp模型、随机调度策略、环调度策略、双轮询调度策略对网络的业务总时延进行比较的结果图。

图8是本发明实施例中仿真实验中在nsfnet测试网络的环境下,使用随机调度策略、环调度策略、双轮询调度策略对网络的业务总时延进行比较的结果图。

图9本发明实施例中仿真实验中在n6s9测试网络的环境下,随着切分数量的增加使用ilp模型、随机调度策略、环调度策略、双轮询调度策略对网络的业务总时延进行比较的结果图。

图10是发明实施例中仿真实验中在nsfnet测试网络的环境下,随着切分数量的增加使用随机调度策略、环调度策略、双轮询调度策略对网络的业务总时延进行比较的结果图。

图11是本发明实施例中仿真实验中在n6s9测试网络的环境下,使用随机调度策略、环调度策略、双轮询调度策略对网络中每个mec服务器上实际时隙占用情况进行比较的结果图。

图12是本发明实施例中仿真实验中在nsfnet测试网络的环境下,使用随机调度策略、环调度策略、双轮询调度策略对网络中每个mec服务器上实际时隙占用情况进行比较的结果图。

具体实施方式

下面结合附图和具体实施例对本发明作进一步说明,以使本领域的技术人员可以更好地理解本发明并能予以实施,但所举实施例不作为对本发明的限定。

在本发明的描述中,需要理解的是,术语“包括”意图在于覆盖不排他的包含,例如包含了一系列步骤或单元的过程、方法、系统、产品或设备,没有限定于已列出的步骤或单元而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。

本发明中一种面向移动边缘计算的分布式专用保护业务调度方法的实施例,包括:

步骤一:获取网络中mec服务器上待处理业务列表和可调配资源列表,将业务划分为多个子业务,并生成与多个子业务相对应的保护子业务。

将业务划分为多个子业务,并生成与多个子业务相对应的保护子业务;保护子业务也可以理解为子业务的备份,在原子业务发生异常时,可以使用保护子业务来完成任务,保证业务能100%顺利完成。

步骤二:使用双轮询调度策略给子业务选择mec服务器作为工作服务器的同时给保护子业务也选择mec服务器作为工作服务器,并且子业务和保护子业务选择的mec服务器不相同。

双轮询调度策略的主要思想是以轮询的方式在给子业务选择工作服务器的同时选择保护服务器。如图4中的例子所示,假设一个mec节点上有一个分布式业务u,该分布式业务的可用mec服务器包括本地节点的a和相邻节点上的b、c和d。每个mec服务器在一个单位时间t内可用的计算资源是4units。假设分布式业务u需要的mec计算资源是8units,可用的服务器是a、b、c和d。由图4可以看出,当采用双轮询调度策略时,首先通过轮询在服务器c上部署了第一个工作计算资源,然后为该工作计算资源设置保护计算资源。如果该业务在mec服务器c上的子业务尚未在其它mec服务器上建立保护子业务,则通过轮询的方式,在除c之外的其它mec服务器上,通过轮询的方式部署相应的保护计算资源,并建立对应的保护子业务,即在图中mec服务器d上部署相应的保护计算资源。以后如果有工作计算资源部署在mec服务器c上,则需要在mec服务器d上部署相应的保护计算资源。类似地,在mec服务器a上部署了第二个工作计算资源后,又在mec服务器c上部署其相应的保护计算资源,并建立对应的保护子业。按照上述方式依次轮询,直到在服务器上部署工作计算资源和保护计算资源都满足业务u所需的计算资源总量,则停止部署。此时,任意一个mec服务器发生故障都不会对业务u的完成造成任何影响。

如图1双轮询调度策略的流程图所示,使用双轮询调度策略的具体过程为:

s1:对业务集合中的任意一个业务u,使用最短路由算法确定与业务u最近的m个mec服务器加入到可用服务器集合eu中。

s2:划分业务u生成子业务列表ku,生成子业务列表ku对应的保护子业务列表pu;从集合eu中依次选取mec服务器作为子业务列表ku中的每个子业务的工作服务器。

s3:在第j个时隙上,判断第m个mec服务器上的第i个计算资源是否空闲,如果空闲则将第m个mec服务器上的第i个计算资源分配给业务u中的子业务;如果不空闲,则判断第m+1个服务器上的第i个计算资源是否空闲,直到找到空闲计算资源并分配给业务u中的子业务。

判断第m个mec服务器上的第i个计算资源是否空闲,具体为:若第i个计算资源既没有已分配给子业务,也没有分配给保护子业务,则第i个计算资源空闲;若第i个计算资源分配给子业务或者分配给保护子业务,则第i个计算资源不空闲。

s4:如果第m个mec服务器上第i个计算资源被该子业务占用,则进一步部署该计算资源的保护(备份)计算资源。判断部署在第m个mec服务器上的子业务是否在其它mec服务器上建立保护子业务,如果是,则直接在对应部署保护子业务的服务器上以轮询的方式分配一个保护计算资源;如果否,则以轮询的方式确定保护服务器,并分配保护计算资源。

轮询的方式为基于轮询切分的业务调度策略,基于轮询切分的业务调度策略的具体过程为:

步骤c1:对一个业务集合中的任意一个业务,根据最短路由算法确定与当前业务最近的m个mec服务器,将确定的m个服务器加入到可用mec服务器集合eu中;

步骤c2:对可用mec服务器集合中的任意一个业务,判断i时刻下mec服务器的第j个计算资源是否空闲,如果空闲,则将该计算资源分配给步骤c1中的业务;如果不空闲,则终止分配;

步骤c3:统计可用mec服务器集合中每个mec服务器上部署业务分配的资源作为子业务的大小;

步骤c4:确定业务开始时间与结束时间,计算所有业务的完成时间tu。

s5:判断第m个mec服务器之外的工作服务器上的i个计算资源是否都被占用,如果是,则令i++,重新判断第m个mec服务器之外的工作服务器上的i个计算资源有没有都被占用;如果否,则将第m个mec服务器之外的工作服务器上的i个计算资源分配给业务u中的子业务。

s6:判断在时隙j内所有工作服务器上可用的计算资源是否能满足业务u中所有子业务的计算资源和保护资源需求,如果是,则执行s7;如果否,则令j++,返回执行s3。

s7:停止分配,完成所有业务的计算和保护,此时业务u的时延tu为j,得到整个网络业务的完成时间tmax=max{tu}。

一种面向移动边缘计算的分布式专用保护业务调度系统的实施例,系统包括由mec服务器组成的大规模网络,所述mec服务器上使用前述实施例中所述的面向移动边缘计算的分布式专用保护业务调度方法布置业务和业务对应的专用保护业务。

本实施例中的面向移动边缘计算的分布式专用保护业务调度方法还包括构建整数线性规划优化模型,以最小化业务时延的目标建立整数线性规划优化模型,在整数线性规划优化模型的基础上建立所述双轮询调度策略。本实施例中定义了面向mec的分布式业务调度问题:已知一个物理mec网络拓扑,该拓扑包含mec节点和物理链路。在本文中,mec节点包括无线接入点和与其相连的mec服务器,每个mec服务器提供一定数量的mec计算资源,每条物理链路提供的网络带宽资源能够确保业务的部署;业务可用mec节点通过dijkstra最短路由算法获得;本问题的优化目标为:最小化业务完成的总时延。

所述以最小化业务时延的目标建立整数线性规划优化模型时,定义:

集合:u为网络中的业务集合,e为网络中的mec节点集合,ku为业务u的子业务集合,eu为业务u可用的mec节点集合,ts为可用的时隙集合;

参数:ru为业务u所需的mec计算资源,u∈u,vm为mec服务器m上所能提供的总的mec计算资源,本实施例中规定每个mec上都预留固定的计算资源专门用于处理分布式业务,△为预设的极大值,本实施例中取值为1000000;

变量:为二进制变量,当mec服务器m在时刻t被选为业务u的子业务k的计算节点时取值为1,否则为0;为二进制变量,当mec服务器m被选为业务u的子业务k的计算节点时取值为1,否则为0;为整型变量,表示mec服务器m在时刻t处为业务u的子业务k的提供的计算资源;为整型变量,完成切分后,业务u第k个子业务所需的mec计算资源;为二进制变量,当mec服务器m在时刻t被选为业务u的子业务k的保护业务的计算节点时取值为1,否则为0;为业务u的子业务k的所需的mec保护计算资源;为mec服务器m在时刻t为业务u的子业务k的保护业务提供的计算资源;tmax为整型变量,用于表示所有业务的完成时间;

得到优化目标最小化业务时延为minimize:tmax。

以最小化业务时延的目标建立整数线性规划优化模型时,整数线性规划优化模型的约束条件包括(1)业务约束、(2)mec服务器容量约束、(3)时延约束和(4)业务保护约束;

(1)所述业务约束包括:子业务所需的计算资源之和等于业务所需的资源量,每个服务器分配给其上子业务的资源量等于子业务需要承载的计算资源量,子业务必须部署于不同的服务器上进行处理;

所述业务约束的表达式为:

表示业务u的每个子业务k只能部署于一个mec服务器上;

表示一个mec服务器不能同时服务业务u的任意两个子业务;

表示业务u的任意两个子业务都必须部署于不同的服务器上进行处理;

表示当mec服务器m为业务u的子业务k提供计算资源后,该服务器m被选为子业务k的计算节点;

表示服务器m给业务u的子业务k提供的计算资源总和等于子业务k所需的计算资源量,所有子业务k的计算资源量等于业务u的计算资源需求量。

(2)所述mec服务器容量约束包括:每个mec服务器上的使用的计算资源总和不能超过其最大可用计算资源量;

所述mec服务器容量约束的表达式为:

表示在任意时刻t处,mec提供给子业务的计算资源和保护计算资之和不能超过其自身可用计算资源的最大值。

(3)所述时延约束包括:完成业务的总时延不能超过最大时隙数;

所述时延约束的表达式为:

表示计算所有业务处理完的时间,所有业务处理完的时间不能小于mec网络中任意业务的结束时间;

表示计算所有业务处理完的时间,该时间不小于mec网络中任意业务的完成时间,包括业务保护的时间。

(4)所述业务保护约束包括:被保护子业务所需的计算资源总和等于保护子业务所需计算资源总和,被保护子业务与对应的保护子业务分别部署在不同的mec服务器上;

所述业务保护约束的表达式为:

表示所有的保护业务不能和被保护业务调度到同一个服务器上,每个保护子业务只能由同一个mec服务器给它提供计算资源;

表示保护子业务和被保护子业务的切分形态完全一致。为了进一步说明本发明的有益效果,本实施例中在包括6个mec节点和9条网络链路的n6s9网络、包括14个mec节点和21条网络链路的nsfnet网络的两种测试网络情况下,将本发明中的双轮询调度策略(ds)与随机调度策略(rs)、环调度策略(cs)进行对比仿真实验。

随机调度策略的核心思想是确保被保护业务和保护业务不能被调度到同一个mec服务器上。如图2的例子所示,现有分布式业务a,其需要的mec计算资源为370units,经过基于轮询切分的业务调度策略后,每个子业务所需的计算资源如图2中总和为370的工作计算资源和保护计算资源所示,每个子业务所需可用的服务器如图2中的n0、n1、n2和n3所示。业务切分后,再调度保护业务,也就是随机选择与被保护业务不相连的mec服务器并在其上放置保护计算资源。使用随机调度策略对mec服务器进行业务调度时的具体步骤为:

步骤a1:获取分布式业务和该分布式业务需要的mec计算资源,通过基于轮询切分的业务调度策略完成业务的切分与节点选择。基于轮询切分的业务调度策略流程为:

步骤c1:对一个业务集合中的任意一个业务,根据最短路由算法,确定与当前业务最近的m个mec服务器,将确定的m个服务器加入到可用mec服务器集合eu中;

步骤c2:对可用mec服务器集合中的任意一个业务,判断i时刻下mec服务器的第j个计算资源是否空闲,如果空闲,则将该计算资源分配给步骤c1中的业务;如果不空闲,即已经达到业务所需的总资源,则终止分配;

步骤c3:统计可用mec服务器集合中每个mec服务器上部署业务分配的资源作为子业务的大小;

步骤c4:确定业务开始时间与结束时间,计算所有业务的完成时间tu。

步骤a2:随机选择与被保护业务不相连的mec服务器并放置保护计算资源,完成保护子业务的节点的选择。

步骤a2.1:在业务切分完毕后,生成每个业务的保护子业务列表;

步骤a2.2:对于每一个保护子业务,从可用mec服务器集合中移除该保护子业务对应的子业务所在的mec服务器,然后从中随机选取第m个mec服务器,如果选择第m个mec服务器,则为该保护子业务在选取的第m个mec服务器上分配计算资源pku,恢复集合eu,执行步骤a2.3;

步骤a2.3:选择的第m个mec服务器在第i个时隙上的可用计算资源为vim,判断公式vim-pku≥0是否成立,如果公式成立,则该保护子业务分配成功,此时保护子业务p的时延tp为i,执行步骤a2.4;如果公式不成立,则令pku=vim-pku和i++即进入i+1个时隙,重新判断公式vim-pku≥0是否成立;

步骤a2.4:重复步骤a2.3直到所有保护子业务都分配成功,得到完成所有保护子业务u保护的总时延tpu=max{tp};

步骤a2.5:重复步骤a2.1~步骤a2.4直到完成所有业务的保护,得到整个网络业务的完成时间tmax=max{tu+tpu}并输出。

环调度策略的核心思想是按照顺序的方式将保护子业务调度到和被保护的子业务不同的mec服务器上。如图3的例子所示,假设分布式业务a需要的mec计算资源为370units,由mec服务器n0、n1、n2和n3分别给业务a的四个子业务提供计算资源和保护资源。经过基于轮询切分的分布式业务调度策略后,每个子业务所需的计算资源以及各自部署的mec服务器如图2所示。业务切分后,首先生成每个子业务的保护子业务,接着需要将保护子业务调度到mec服务器上处理,即按照环顺序给保护子业务部署计算资源,即子业务u0的保护业务p0部署在服务器n1上,子业务u1的保护业务p1部署在服务器n2上,而子业务u2和u3的各自的保护业务p2和p3分别部署在服务器n3和n0上。使用环调度策略对mec服务器进行业务调度时的具体步骤为:

步骤b1:获取分布式业务和该分布式业务需要的mec计算资源和保护资源,通过基于轮询切分的业务调度策略完成业务的切分与节点选择;

步骤b2:生成每个子业务的保护子业务,按照顺序的方式将保护子业务调度到和被保护的子业务不同的mec服务器上处理。

步骤b2.1:在业务切分完毕后,对每个业务生成保护子业务列表;

步骤b2.2:遍历保护子业务列表,判断当前保护子业务p是不是最后一个保护子业务,如果不是,则选取第p+1个mec服务器承载该保护子业务;如果是,将该保护子业务部署在列表eu中的第一个mec服务器上;

步骤b2.3:在选取的mec服务器上分配第p个保护子业务所需的保护计算资源pku;

步骤b2.4:判断选择的第m个mec服务器在时隙j上第i个计算资源是不是空闲,如果是空闲,则业务u占用该计算资源,并使得业务u在第m个mec服务器上的子业务的计算资源pku=pku+1,执行步骤b2.5;如果不是空闲,则令i++,重新判断选择的第m个mec服务器在时隙j上第i个计算资源是不是空闲;

步骤b2.5:判断分配给保护子业务p的计算资源是否已达到所需的计算资源,如果已达到则执行步骤b2.6;如果没有达到,则另j++,返回执行步骤b2.4;

步骤b2.6:重复步骤b2.4~步骤b2.5直到所有保护子业务分配完成,得到完成所有保护子业务u保护的总时延为tpu=max{tp};

步骤b2.7:重复步骤b2.1~步骤b2.6直到完成所有业务的保护,得到整个网络业务的完成时间tmax=max{tu+tpu}并输出。

如图5所示为包括6个mec节点和9条网络链路的n6s9网络、如图6所示为包括14个mec节点和21条网络链路的nsfnet网络,其中图5和图6中链路上的数字表示物理长度(km)。同时假设网络中每个mec服务器最大可用计算资源为1000units,平均每个业务所需的计算资源为400units,每个mec节点上产生的业务数量已知,总的时隙数设为200、单位为t,每个节点上的分布式业务数在一定范围内随机产生。分别从(1)网络中业务总时延、(2)切分数量对分布式专用保护业务总时延的影响、(3)mec服务器的负载均衡三个角度进行评估。

(1)从网络中业务总时延的角度进行评估

在n6s9测试网络的环境下,分别使用随机调度策略(rs)、环调度策略(cs)、双轮询调度策略(ds)三种方法对网络的业务总时延进行比较。参数设置:n6s9网络中每个mec节点上的业务数量在[x-5,x]范围内随机产生,nsfnet网络中每个mec节点上的业务数量在[x-20,x]范围内随机产生,x是mec节点上的平均业务量(单位:个),网络中每个节点的分布式业务的子业务切分数量是四份。比较结果如图7所示,图7中的ilp为使用整数线性规划优化模型表示理论情况下的最佳情况。在nsfnet测试网络的环境下,分别使用随机调度策略(rs)、环调度策略(cs)、双轮询调度策略(ds)三种策略对网络的业务总时延进行比较,比较结果如图8所示。图7和图8中的x轴上的数值代表每个mec节点上的平均业务量,y轴上的数值代表网络中的所有业务完成后的总时延。

从图7可以看出,在n6s9网络中双轮询调度策略(ds)与相应的ilp优化模型具有十分相近的性能,证明了双轮询调度策略(ds)的高效性。其次,当每个mec节点上的平均业务数为30时,与随机调度策略(rs)和环调度策略(cs)相比,双轮询调度策略(ds)能有效地减少业务完成的总时延,分别减少了20%和14%。ds策略在分配子业务保护服务器时,充分考虑了服务器自身可用计算资源量,避免了一个服务器上承载同一个业务的两个子业务导致服务器间负载不均衡的情况,从而避免了业务堵塞和业务总时延的增加。由于计算资源的分配是一个np-hard问题,因而ilp模型只适用于小规模问题的求解,当业务数量逐渐增加、网络规模逐渐增大时,ilp模型的时间复杂度会随之急剧上升,很难在有效的时间范围内找到大规模业务量的最优解,因此在nsfnet测试网络的环境下不使用ilp模型来表示理论情况下的最佳情况,但是从图8可以看出,与随机调度策略(rs)和环调度策略(cs)相比,双轮询调度策略(ds)业务完成的总时延分别减少了50%和29%,也证明了双轮询调度策略(ds)在最小化业务总时延方面的高效性。

(2)从切分数量对分布式专用保护业务总时延的影响的角度进行评估

在n6s9测试网络的环境下,随着切分数量的增加分别使用随机调度策略(rs)、环调度策略(cs)、双轮询调度策略(ds)三种方法对网络的业务总时延进行比较,并使用ilp模型得到理论情况下的最优值,比较结果如图9所示。在nsfnet测试网络的环境下,随着切分数量的增加分别使用随机调度策略(rs)、环调度策略(cs)、双轮询调度策略(ds)三种策略对网络的业务总时延进行比较,比较结果如图10所示。图9和图10中的x轴表示切分数量,y轴表示业务总时延;n6s9网络中每个mec节点上的业务数量在[20,25]范围内随机产生;nsfnet网络中每个mec节点上的业务数量在[20,100]范围内随机产生。

从图9可以看出,随着切分数量的增加双轮询调度策略(ds)的结果更贴近ilp模型的结果,证明了双轮询调度策略(ds)的高效性。此外,与随机调度策略(rs)和环调度策略(cs)相比,双轮询调度策略(ds)能有效地减少业务完成的总时延。同时,当子业务数量为6时,采用双轮询调度策略(ds)得到的业务时延比随机调度策略(rs)减少了24%,这是因为双轮询调度策略(ds)考虑了mec服务器上实际计算资源的使用情况,避免了出现在某些mec服务器上集中了大量业务请求的情况。同样地,nsfnet测试网络的环境下不易使用ilp模型来表示理论情况下的最佳情况,但是从图10可以看出,双轮询调度策略(ds)的业务时延小于随机调度策略(rs)和环调度策略(cs);并且当子业务数量为7时,采用双轮询调度策略(ds)得到的业务时延比随机调度策略(rs)减少了36%、比环调度策略(cs)减少了24%,也证明了双轮询调度策略(ds)的高效性。

(3)从mec服务器的负载均衡的角度进行评估

在n6s9测试网络的环境下,分别使用随机调度策略(rs)、环调度策略(cs)、双轮询调度策略(ds)三种方法对网络中每个mec服务器上实际时隙占用情况进行比较,比较结果如图11所示。在nsfnet测试网络的环境下,分别使用随机调度策略(rs)、环调度策略(cs)、双轮询调度策略(ds)三种方法对网络中每个mec服务器上实际时隙占用情况进行比较,比较结果如图12所示。图11和图12中x轴表示网络中的mec节点,y轴表示服务器上的最大负载,n6s9网络中每个mec节点上的业务数量在[10,50]范围内随机产生,nsfnet网络中每个mec节点上的业务数量在[20,100]范围内随机产生,切分数量是四份。使用方差公式作为衡量服务器间负载均衡的标准,方差s2值越小,服务器间的负载更均衡。方差s2=[(x1-m)2+(x2-m)2+(x3-m)2+...+(xn-m)2]/n;其中m为该组数据的平均值,n为数据个数,xn为mec服务器。

从图11的仿真实验可以得出,当业务切分成四份时,采用随机调度策略(rs)和环调度策略(cs)得到的服务器间负载方差分别为6.28和4.47,而采用双轮询调度策略(ds)得到的服务器间负载方差是1.48。这一结果再次证明了双轮询调度策略(ds)在负载均衡方面的高效性。图12也给出了在nsfnet网络中两种策略对服务器负载的影响,从图12可以看出,与n6s9网络的结果类似,采用rs策略和cs策略得到的服务器间负载方差分别为19.4和13.2,而采用ds策略得到的服务器间负载方差是5.9。双轮询调度策略(ds)的结果总是优于随机调度策略(rs)和环调度策略(cs)的结果,这一结果再次证明了所提出双轮询调度策略(ds)在负载均衡方面的性能更优。同时,从图11和图12中还可以看出,双轮询调度策略(ds)使得各个服务器上的负载相比于随机调度策略(rs)和环调度策略(cs)更加均衡,环调度策略(cs)获得各个服务器上的负载比随机调度策略(rs)更加均衡。这一结果是合理的,虽然随机调度策略(rs)考虑了业务保护的问题,但是未考虑mec服务器的实际负载,同一个可用服务器上可能需要部署一个业务中的多个子业务的保护资源,这不仅可能导致该mec服务器上的实际负载过大,其他服务器处于空闲状态,还会降低业务保护性能。假设发生故障的服务器下恰好是部署了很多子业务的服务器,这就会导致业务中断。相比于随机调度策略(rs),环调度策略(cs)将子业务分别调度到不同的mec服务器上,当某个服务器不能按时处理完其承载的子业务,还可以在保护服务器上进行处理,确保了业务的完成性。虽然环调度策略(cs)考虑了业务保护的问题,但是未考虑mec服务器的实际负载,可能导致某个mec服务器上的实际负载过大,导致资源竞争严峻。相比于环调度策略(cs),双轮询调度策略(ds)不仅考虑了业务保护的问题,确保了业务能够100%完成;同时也考虑了服务器之间的负载均衡,避免了业务堵塞。

本发明的上述技术方案相比现有技术具有以下优点:

本发明所述的面向移动边缘计算的分布式专用保护业务调度方法,通过以最小化网络中业务总时延为目标建立整数线性规划优化模型,并在此基础上建立分布式专用保护业务的启发式调度策略。通过考虑服务器上实际可用的计算资源,在保护业务的前提下最大程度降低网络中业务总时延;同时避免了mec服务器上出现计算资源浪费或过载现象,实现了面向移动边缘计算的分布式业务的切分、子业务计算资源和保护计算资源的联合优化。通过考虑业务保护的问题,确保了在网络中单个mec服务器发生故障的情形下,业务还能100%顺利完成。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

显然,上述实施例仅仅是为清楚地说明所作的举例,并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式变化或变动。这里无需也无法对所有的实施方式予以穷举。而由此所引申出的显而易见的变化或变动仍处于本发明创造的保护范围之中。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1