本发明属于移动边缘计算技术领域,具体涉及一种移动边缘计算环境下双标签感知的服务重部署方法。
背景技术:
边缘计算架构有效的解决了服务响应延迟过长的问题。通过减少服务与负载之间间距的方式,降低传输时延,有效的缓解了远程集中云响应时间过长的问题。但随着万物互联时代的发展,大量数据密集型应用出现,不仅对低延迟响应提出高要求,而且还需要消耗大量的资源(计算资源、内存资源和网络带宽资源)。然而边缘端的服务器资源相比于云中的资源是有限的,而且系统内节点性能、服务属性以及服务负载量分布都是异构的。为了弥补边缘端的不足,需要针对系统的异构属性得到一个合理的服务部署方案,提高服务质量。
另外,随着时间的推移,服务的负载量动态调整,单一的服务部署策略无法保证其他时间段内的服务质量最高。因此,针对服务负载的变化情况,需要一个合理的服务重部署策略,提高服务质量,实现系统性能最优。
技术实现要素:
本发明一实施例提供一种移动边缘计算环境下双标签感知的服务重部署方法,用于解决现有单一服务部署策略无法保证服务质量的问题,该方法包括:
构建时间槽模型,并根据相邻时间槽内服务负载变化量定义服务负载梯度标签;
根据服务对响应延迟的容忍上限定义服务延迟敏感度标签;
利用所述服务负载梯度标签和服务延迟敏感度标签对服务进行分类,并在每个时间槽内基于所述服务分类执行服务重部署。
一实施例中,所述时间槽模型包括:每个时间槽t内服务负载量最大值lt(m),资源分配量πt(m),服务部署方案xt(m),服务响应时间yt(m);
所述方法还包括设定移动边缘系统参数,具体包括:
节点集合n(n∈n),集中云cloud,节点的资源总容量为向量rn,节点之间的距离为矩阵dn×n,网络带宽条件为矩阵wn×n,节点与云中的带宽条件wcn,其中距离矩阵dn×n和网络带宽矩阵wn×n是对称矩阵;
服务集合s(s∈s),集合s内服务的数据量是异构的向量da;服务对响应延迟时间的容忍上限为向量ul;系统内服务集合与节点集合的笛卡尔积为m=s×n(<s,n>∈m,n∈n,s∈s)。
一实施例中,利用所述服务负载梯度标签和服务延迟敏感度标签对服务进行分类,并在每个时间槽内基于所述服务分类执行服务重部署,具体包括:
设定初始状态t=0时服务静态部署方法,其中负载量分布为l0,服务部署方案为x0,资源分配量为π0,服务请求的响应时间为y0;
在每个时间槽t≥1内,循环执行以下重部署方法:
初始化t时间槽的变量,设定服务资源分配量πt(m)=0,服务部署方案xt(m)=0,响应时间yt(m)=0;
利用所述服务负载梯度标签和服务延迟敏感度标签,将服务划分为重部署优先级从高到低的低敏感服务回收集合slr、高敏感服务回收集合shr、高敏感服务继承集合shm、高敏感服务分配集合sha、低敏感服务继承集合slm、以及低敏感服务分配集合sla;
回收上一时间槽内分配给高敏感服务的资源,并对低敏感服务回收集合slr、低敏感服务继承集合slm、以及低敏感服务分配集合sla执行低敏感服务重分配方法、以及对高敏感服务回收集合shr、高敏感服务继承集合shm、以及高敏感服务分配集合sha执行高敏感服务重分配方法。
一实施例中,所述低敏感服务重分配方法,具体包括:
按照负载总量从大到小的顺序执行:
计算服务si的负载总量
根据所述资源量resource和服务si的负载量分布l以及上一时刻资源分配情况π,确定系统内是否存在最优节点n以部署服务si;若是,
针对所述最优节点n:更新资源分配量πt(si,n)=resource,服务部署变量xt(si,n)=1,节点资源容量rn=rn-(πt(si,n)-πt-1(si,n)),并根据负载-响应时间映射关系式ctm计算最优节点n响应服务的时间time,设定响应时间变量yt(si,n)=time;
针对其他节点m≠n:更新资源分配量πt(si,m)=0,服务部署变量xt(si,m)=0,设定响应时间变量为最优节点n的响应服务的时间time与节点m范围内关于服务si的请求调度到节点n处响应时产生的传输时间
一实施例中,若系统内不存在最优节点n以部署服务si,则,
将服务si部署在云中,其中,系统内所有节点范围内资源分配量πt(si,n)=0,服务部署变量xt(si,n)=0,响应时间变量
一实施例中,所述高敏感服务重分配方法,具体包括:
按照负载总量从大到小的顺序执行:
循环计算系统内每个节点分配给服务si的资源量;
若负载量lt(si,n)≠0,则根据负载量lt(si,n)和负载-响应时间映射关系式ctm,计算系统内各个节点n分配给服务si的资源量resource和响应时间time;
根据所述各个节点n分配给服务si的资源量resource确定是否满足服务需求;若是,
则部署节点n分配给服务si的资源量πt(si,n)=resource,服务部署变量xt(si,n)=1,响应时间变量yt(si,n)=time,更新节点剩余资源量rn=rn-πt(si,n),其中πt(si,n)为节点n分配给服务si的资源量;若否,
则将服务部署在云中,其中,系统内所有节点范围内资源分配量πt(si,n)=0,服务部署变量xt(si,n)=0,响应时间变量
一实施例中,若负载量lt(si,n)=0,则不部署服务,并设置系统内所有节点范围内资源分配量πt(si,n)=0,服务部署变量xt(si,n)=0,响应时间变量yt(si,n)=0。
一实施例中,根据服务对响应延迟的容忍上限定义服务延迟敏感度标签,具体包括:
判断服务s的响应时间上限是否低于预设的系统内服务的响应时间阈值v;若是,
则为该服务添加高敏感度标签,并设置该服务的延迟敏感度属性sens=0;若否,
则为该服务添加低敏感度标签,并设置该服务的延迟敏感度属性sens=1;
和/或,根据相邻时间槽内服务负载变化量定义服务负载梯度标签,具体包括:
计算相邻时间槽内服务负载变化率:
其中,lt(s,n)为时间槽t内服务s在节点n范围内的负载量最大值,δlt(s,n)为相邻时间槽内服务s在节点n范围内的负载量最大值之差;
若系统内服务s的负载变化率σs<-k,则为该服务添加回收标签,并设置负载梯度标签loas=-1;
若系统内服务s的负载变化率σs>k,则为该服务添加分配标签,并设置负载梯度标签loas=1;
若系统内服务s的负载变化率σs≤k,则为该服务添加继承标签,并设置负载梯度标签loas=0;
其中,k为预设的负载阈值。
一实施例中,所述负载-响应时间映射式ctm为:
其中,ctm→f(sens,g(l),π)表示服务响应的计算时间ctm由延迟敏感度标签sens、服务负载量与计算时间的映射关系g(l)、以及节点分配给服务的资源量πm决定,ksens为与延迟敏感度标签相关的预设参数,ctm>dls表示服务的响应计算时间大于服务的最低响应时间dls;
和/或,
节点n范围内关于服务s的请求调度节点m处响应产生的延迟it<<s,n>,m>∈it,且
其中,dnm表示节点n和节点m之间的距离值,wnm表示节点n和节点m之间的网络带宽条件,das表示服务s需求的数据量。
一实施例中,寻找最优节点n,具体包括:
根据上一时刻的服务部署矩阵xt-1查询部署服务si的节点集合n′(xt-1(si,n)=1,n∈n′);
若所述集合n′存在节点,则计算其中每个节点n部署服务si的优先顺序值:
并将优先顺序值np最大的节点确定为最优节点;
若所述集合n′为空,则计算系统节点集合n中每个节点的优先顺序值np,并将优先顺序值np最大的节点确定为最优节点。
与现有技术相比,本本申请通过定义服务延迟敏感度标签和服务负载梯度标签,基于服务的双标签属性,将服务进行分类,从而共同决定服务部署顺序和重部署策略,从而可以适应节点环境的异构性,并可以针对服务负载变化导致分布不均匀的情形进行部署。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一实施方式移动边缘计算环境下双标签感知的服务重部署方法的流程图;
图2是本申请一实施方式移动边缘计算环境下双标签感知的服务重部署方法的功能架构图;
图3是本申请一实施方式移动边缘计算环境下双标签感知的服务重部署方法中系统的时间槽模型图;
图4是本申请一实施方式移动边缘计算环境下双标签感知的服务重部署方法中低敏感服务重部署方法的流程图;
图5是本申请一实施方式移动边缘计算环境下双标签感知的服务重部署方法中高敏感服务重部署方法的流程图;
图6是应用本申请移动边缘计算环境下双标签感知的服务重部署方法的边缘计算系统模型图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
参图1和图2,介绍本申请移动边缘计算环境下双标签感知的服务重部署方法的一具体实施方式。在本实施方式中,该方法包括:
s11、构建时间槽模型,并根据相邻时间槽内服务负载变化量定义服务负载梯度标签。
这里,首先介绍在初始情况下,本申请构造应用的边缘计算模型。在此模型中,设定系统参数如下:
n:系统内节点集合,nn<rn,dnm,wnm,wcn>为每个节点n∈n的特殊性能,系统内节点性能是异构;具体地,
rn表示节点n的资源(cpu和内存)总容量;
dnm表示节点n和节点m之间的距离值;
wnm表示节点n和节点m之间的网络带宽条件;
wcn表示节点n和集中云cloud之间的网络带宽条件。
s:系统内服务集合,ss<das,uls>为每个服务s∈s的性能属性,异构的;具体地,
das表示服务s需求的数据量;
uls表示服务s响应时间上限;
系统内服务集合与节点集合的笛卡尔积为表示为m=s×n(<s,n>∈m,n∈n,s∈s)。
系统内节点之间的传输延迟矩阵为it,对于节点n范围内关于服务s的请求调度节点m处响应产生的延迟it<<s,n>,m>定义如下:
参图3,介绍本实施方式构造的时间槽模型。其中,定义每个时间槽在开始状态下的整个系统状态为ζ(t)=(lt,xt,πt,yt),状态ζ(t)表示时间槽t的初始状态。
在相同时间槽内,服务的负载数量波动微小,本实施方式设定时间槽t内负载数量的最大值lt(m)为此时间槽内负载量分布矩阵,并且保持固定;相邻时间槽之间的负载量波动幅度不稳定,变量δlt(m)=lt(m)-lt-1(m)表示t时刻负载变化量。
本实施方式中lt为时间槽t的负载量,xt为时间槽t内服务部署策略,πt为时间槽t内服务资源分配量,yt为时间槽t内服务响应时间。其中,xt(s,n)=1表示在时间槽t内,服务s部署在节点n处,分配的资源是πt(s,n),请求响应的时间是yt(s,n);相反,xt(s,n)=0表示节点n处未部署服务s,则分配的资源量πt(s,n)=0,请求也无法在本地响应,需要将请求调度到其他节点或者远程集中云中响应,与之对应的响应时间记为yt(s,n)。
本实施方式中,服务负载梯度标签包括回收、继承和分配三类。在具体的定义过程中:
首先计算相邻时间槽内服务负载变化率:
其中lt(s,n)为时间槽t内服务s在节点n范围内的负载量最大值,δlt(s,n)为相邻时间槽内服务s在节点n范围内的负载量最大值之差。
设置一个负载阈值k,若系统内服务s的负载变化率σs<-k,则为该服务添加回收标签,并设置负载梯度标签loas=-1;若系统内服务s的负载变化率σs>k,则为该服务添加分配标签,并设置负载梯度标签loas=1;若系统内服务s的负载变化率σs≤k,则为该服务添加继承标签,并设置负载梯度标签loas=0。定义如下:
s12、根据服务对响应延迟的容忍上限定义服务延迟敏感度标签。
具体地,首先判断服务s的响应时间上限是否低于预设的系统内服务的响应时间阈值v;若是,则为该服务添加高敏感度标签,并设置该服务的延迟敏感度属性sens=0若否,则为该服务添加低敏感度标签,并设置该服务的延迟敏感度属性sens=1。定义如下:
s13、利用所述服务负载梯度标签和服务延迟敏感度标签对服务进行分类,并在每个时间槽内基于所述服务分类执行服务重部署。
首先,设定初始状态t=0时服务静态部署方法,其中负载量分布为l0,服务部署方案为x0,资源分配量为π0,服务请求的响应时间为y0;
在每个时间槽t≥1内,循环执行以下重部署方法:
s1311、初始化t时间槽的变量,设定服务资源分配量πt(m)=0,服务部署xt(m)=0,响应时间yt(m)=0。
s1312、利用服务负载梯度标签和服务延迟敏感度标签,将服务划分为重部署优先级从高到低的低敏感服务回收集合slr、高敏感服务回收集合shr、高敏感服务继承集合shm、高敏感服务分配集合sha、低敏感服务继承集合slm、以及低敏感服务分配集合sla。
s1313、回收上一时间槽内分配给高敏感服务的资源,并对低敏感服务回收集合slr、低敏感服务继承集合slm、以及低敏感服务分配集合sla执行低敏感服务重分配方法、以及对高敏感服务回收集合shr、高敏感服务继承集合shm、以及高敏感服务分配集合sha执行高敏感服务重分配方法。
这里的高敏感服务指的是高敏感服务回收集合shr、高敏感服务继承集合shm、高敏感服务分配集合sha内的服务,低敏感服务指的是低敏感服务回收集合slr、低敏感服务继承集合slm、以及低敏感服务分配集合sla内的服务。并且,在对低敏感集合slr、slm和sla内的服务执行低敏感服务重部署方法时,设定系统内只部署一个服务副本;对高敏感集合shr、shm和sha内的服务执行高敏感服务重部署方法时,优选每个节点都部署一个服务副本。
配合参图4,以下介绍低敏感服务重分配方法,具体包括:
按照负载总量从大到小的顺序执行:
s1321、计算服务si的负载总量
s1322、根据所述资源量resource和服务si的负载量分布l以及上一时刻资源分配情况π,确定系统内是否存在最优节点n以部署服务si。
本实施方式中寻找最优节点n的过程包括:
根据上一时刻的服务部署矩阵xt-1查询部署服务si的节点集合n′(xt-1(si,n)=1,n∈n′)。若集合n′存在节点,则计算其中每个节点n部署服务si的优先顺序值,并将优先顺序值np最大的节点确定为最优节点;若集合n′为空,则计算系统节点集合n中每个节点的优先顺序值np,并将优先顺序值np最大的节点确定为最优节点。其中,各个节点n的优先顺序值计算为:
其中,lt(s,n)为时间槽t内服务s在节点n范围内的负载量最大值,rt(n)表示在时间槽t内节点n剩余的资源量,并且rt(n)≤rn,rn表示节点n的资源总容量。
一个实施例中,如果系统内存在最优节点n以部署服务si,则:
针对最优节点n:更新资源分配量πt(si,n)=resource,服务部署变量xt(si,n)=1,节点资源容量rn=rn-(πt(si,n)-πt-1(si,n)),并根据负载-响应时间映射关系式ctm计算最优节点n响应服务的时间time,设定响应时间变量yt(si,n)=time。
针对其他节点m≠n:更新资源分配量πt(si,m)=0,服务部署变量xt(si,m)=0,设定响应时间变量为最优节点n的响应服务的时间time与系统内节点之间调度服务si的传输时间
一个实施例中,如果系统内不存在最优节点n以部署服务si,则:
将服务si部署在云中,其中,系统内所有节点范围内资源分配量πt(si,n)=0,服务部署变量xt(si,n)=0,响应时间变量
在此过程中,如果集合内所有服务都重部署完成,则结束,并继续执行下一个服务集合的重部署。
配合参图5,以下介绍高敏感服务重分配方法,具体包括:
按照负载总量从大到小的顺序执行:
s1331、循环计算系统内每个节点分配给服务si的资源量;
s1332、若负载量lt(si,n)≠0,则根据负载量lt(si,n)和负载-响应时间映射关系式ctm,计算系统内各个节点n分配给服务si的资源量resource和响应时间time;并根据所述各个节点n分配给服务si的资源量resource确定是否满足服务需求。
一个实施例中,若满足服务需求,则部署节点n分配给服务si的资源量πt(si,n)=resource,服务部署变量xt(si,n)=1,响应时间变量yt(si,n)=time,更新节点剩余资源量rn=rn-πt(si,n)。
一个实施例中,若不满足服务需求,则将服务部署在云中,其中,系统内所有节点范围内资源分配量πt(si,n)=0,服务部署变量xt(si,n)=0,响应时间变量
s1333、若负载量lt(si,n)=0,则不部署服务,并设置系统内所有节点范围内资源分配量πt(si,n)=0,服务部署变量xt(si,n)=0,响应时间变量yt(si,n)=0。
一实施例中,上述的负载-响应时间映射式ctm为:
其中,ctm→f(sens,g(l),π)表示服务响应的计算时间ctm由延迟敏感度标签sens、服务负载量与计算时间的映射关系g(l)、以及节点分配给服务的资源量πm决定,ksens为与延迟敏感度标签相关的预设参数,ctm>dls表示服务的响应计算时间大于服务的最低响应时间dls。
类似地,在此过程中,如果集合内所有服务都重部署完成,则结束,并继续执行下一个服务集合的重部署。
参图6,本申请还提供一种边缘计算系统,该系统采用上述各实施方式/实施例中介绍的方法进行服务重部署。
本申请通过定义服务延迟敏感度标签和服务负载梯度标签,基于服务的双标签属性,将服务进行分类,从而共同决定服务部署顺序和重部署策略,从而可以适应节点环境的异构性,并可以针对服务负载变化导致分布不均匀的情形进行部署。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
在一个典型的配置中,计算机包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带、磁盘存储、量子存储器、基于石墨烯的存储介质或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
在本说明书一个或多个实施例使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书一个或多个实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
以上所述仅为本说明书一个或多个实施例的较佳实施例而已,并不用以限制本说明书一个或多个实施例,凡在本说明书一个或多个实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书一个或多个实施例保护的范围之内。
1.一种移动边缘计算环境下双标签感知的服务重部署方法,其特征在于,所述方法包括:
构建时间槽模型,并根据相邻时间槽内服务负载变化量定义服务负载梯度标签;
根据服务对响应延迟的容忍上限定义服务延迟敏感度标签;
利用所述服务负载梯度标签和服务延迟敏感度标签对服务进行分类,并在每个时间槽内基于所述服务分类执行服务重部署。
2.根据权利要求1所述的移动边缘计算环境下双标签感知的服务重部署方法,其特征在于,所述时间槽模型包括:每个时间槽t内服务负载量最大值lt(m),资源分配量πt(m),服务部署方案xt(m),服务响应时间yt(m);
所述方法还包括设定移动边缘系统参数,具体包括:
节点集合n(n∈n),集中云cloud,节点的资源总容量为向量rn,节点之间的距离为矩阵dn×n,网络带宽条件为矩阵wn×n,节点与云中的带宽条件wcn,其中距离矩阵dn×n和网络带宽矩阵wn×n是对称矩阵;
服务集合s(s∈s),集合s内服务的数据量是异构的向量da;服务对响应延迟时间的容忍上限为向量ul;系统内服务集合与节点集合的笛卡尔积为m=s×n(<s,n>∈m,n∈n,s∈s)。
3.根据权利要求2所述的移动边缘计算环境下双标签感知的服务重部署方法,其特征在于,利用所述服务负载梯度标签和服务延迟敏感度标签对服务进行分类,并在每个时间槽内基于所述服务分类执行服务重部署,具体包括:
设定初始状态t=0时服务静态部署方法,其中负载量分布为l0,服务部署方案为x0,资源分配量为π0,服务请求的响应时间为y0;
在每个时间槽t≥1内,循环执行以下重部署方法:
初始化t时间槽的变量,设定服务资源分配量πt(m)=0,服务部署方案xt(m)=0,响应时间yt(m)=0;
利用所述服务负载梯度标签和服务延迟敏感度标签,将服务划分为重部署优先级从高到低的低敏感服务回收集合slr、高敏感服务回收集合shr、高敏感服务继承集合shm、高敏感服务分配集合sha、低敏感服务继承集合slm、以及低敏感服务分配集合sla;
回收上一时间槽内分配给高敏感服务的资源,并对低敏感服务回收集合slr、低敏感服务继承集合slm、以及低敏感服务分配集合sla执行低敏感服务重分配方法、以及对高敏感服务回收集合shr、高敏感服务继承集合shm、以及高敏感服务分配集合sha执行高敏感服务重分配方法。
4.根据权利要求3所述的移动边缘计算环境下双标签感知的服务重部署方法,其特征在于,所述低敏感服务重分配方法,具体包括:
按照负载总量从大到小的顺序执行:
计算服务si的负载总量
根据所述资源量resource和服务si的负载量分布l以及上一时刻资源分配情况π,确定系统内是否存在最优节点n以部署服务si;若是,
针对所述最优节点n:更新资源分配量πt(si,n)=resource,服务部署变量xt(si,n)=1,节点资源容量rn=rn-(πt(si,n)-πt-1(si,n)),并根据负载-响应时间映射关系式ctm计算最优节点n响应服务的时间time,设定响应时间变量yt(si,n)=time,πt(si,n)为t时刻服务si部署在节点n处时分配的资源、πt-1(si,n)为t-1时刻服务si部署在节点n处时分配的资源;
针对其他节点m≠n:更新资源分配量πt(si,m)=0,服务部署变量xt(si,m)=0,设定响应时间变量为最优节点n的响应服务的时间time与节点m范围内关于服务si的请求调度到节点n处响应时产生的传输时间
5.根据权利要求4所述的移动边缘计算环境下双标签感知的服务重部署方法,其特征在于,若系统内不存在最优节点n以部署服务si,则,
将服务si部署在云中,其中,系统内所有节点范围内资源分配量πt(si,n)=0,服务部署变量xt(si,n)=0,响应时间变量
6.根据权利要求3所述的移动边缘计算环境下双标签感知的服务重部署方法,其特征在于,所述高敏感服务重分配方法,具体包括:
按照负载总量从大到小的顺序执行:
循环计算系统内每个节点分配给服务si的资源量;
若负载量lt(si,n)≠0,则根据负载量lt(si,n)和负载-响应时间映射关系式ctm,计算系统内各个节点n分配给服务si的资源量resource和响应时间time;
根据所述各个节点n分配给服务si的资源量resource确定是否满足服务需求;若是,
则部署节点n分配给服务si的资源量πt(si,n)=resource,服务部署变量xt(si,n)=1,响应时间变量yt(si,n)=time,更新节点剩余资源量rn=rn-πt(si,n),其中πt(si,n)为节点n分配给服务si的资源量;若否,
则将服务部署在云中,其中,系统内所有节点范围内资源分配量πt(si,n)=0,服务部署变量xt(si,n)=0,响应时间变量
7.根据权利要求6所述的移动边缘计算环境下双标签感知的服务重部署方法,其特征在于,若负载量lt(si,n)=0,则不部署服务,并设置系统内所有节点范围内资源分配量πt(si,n)=0,服务部署变量xt(si,n)=0,响应时间变量yt(si,n)=0。
8.根据权利要求1所述的移动边缘计算环境下双标签感知的服务重部署方法,其特征在于,根据服务对响应延迟的容忍上限定义服务延迟敏感度标签,具体包括:
判断服务s的响应时间上限是否低于预设的系统内服务的响应时间阈值v;若是,
则为该服务添加高敏感度标签,并设置该服务的延迟敏感度属性sens=0;若否,
则为该服务添加低敏感度标签,并设置该服务的延迟敏感度属性sens=1;
和/或,根据相邻时间槽内服务负载变化量定义服务负载梯度标签,具体包括:
计算相邻时间槽内服务负载变化率:
其中,lt(s,n)为时间槽t内服务s在节点n范围内的负载量最大值,δlt(s,n)为相邻时间槽内服务s在节点n范围内的负载量最大值之差;
若系统内服务s的负载变化率σs<-k,则为该服务添加回收标签,并设置负载梯度标签loas=-1;
若系统内服务s的负载变化率σs>k,则为该服务添加分配标签,并设置负载梯度标签loas=1;
若系统内服务s的负载变化率σs≤k,则为该服务添加继承标签,并设置负载梯度标签loas=0;
其中,k为预设的负载阈值。
9.根据权利要求4到7任一项所述的移动边缘计算环境下双标签感知的服务重部署方法,其特征在于,所述负载-响应时间映射式ctm为:
其中,ctm→f(sens,g(l),π)表示服务响应的计算时间ctm由延迟敏感度标签sens、服务负载量与计算时间的映射关系g(l)、以及节点分配给服务的资源量πm决定,ksens为与延迟敏感度标签相关的预设参数,ctm>dls表示服务的响应计算时间大于服务的最低响应时间dls;
和/或,
节点n范围内关于服务s的请求调度节点m处响应产生的延迟it<<s,n>,m>∈it,且
其中,dnm表示节点n和节点m之间的距离值,wnm表示节点n和节点m之间的网络带宽条件,das表示服务s需求的数据量。
10.根据权利要求4到5任一项所述的移动边缘计算环境下双标签感知的服务重部署方法,其特征在于,寻找最优节点n,具体包括:
根据上一时刻的服务部署矩阵xt-1查询部署服务si的节点集合n′(xt-1(si,n)=1,n∈n′);
若所述集合n′存在节点,则计算其中每个节点n部署服务si的优先顺序值,并将优先顺序值np最大的节点确定为最优节点;
若所述集合n′为空,则计算系统节点集合n中每个节点的优先顺序值np,并将优先顺序值np最大的节点确定为最优节点;
其中,所述各个节点n的优先顺序值
lt(s,n)为时间槽t内服务s在节点n范围内的负载量最大值,rt(n)表示在时间槽t内节点n剩余的资源量。
技术总结