[0001]
本公开属于移动通信技术领域,特别涉及一种基于三支决策模型的移动边缘任务卸载方法。
背景技术:[0002]
随着科技和网络的飞速发展,云计算、云平台也不断发展,为了实现降低运行费用的目的,云服务器一般建设在偏远地区,这就会造成一定程度的时延,对于有些时间敏感度较高的应用来说,这种情况并不利于用户的实时体验,所以,一种边缘计算的模式出现了,它更接近于用户,设置在网络的边缘,对于一些任务,可以直接在边缘服务器上执行,边缘服务器也有计算和存储能力,它的出现,有效的减少了传输时延,并且分担了用户设备的计算任务,使用户设备的使用寿命增长。除此之外,因为在边缘服务器上可以收集并且处理数据,数据不用传输到云端,所以从安全方面来说,在云遭受到网络攻击时,对于边缘端的影响不会很严重,所以在边缘端处理的数据也不会受到很严重的影响,这对用户来说更加安全。当用户端发出任务时,某些任务从用户终端传输到边缘服务器上,边缘服务器将执行这些任务并将执行结果传输给用户终端,因为将结果从边缘服务器传输到用户终端所需要的时间很短,所以忽略不计,所以任务卸载及执行所需要总时间为将任务从移动终端传输到边缘服务器上的时间加上在边缘服务器上执行任务所需要的时间。从传输方面来说,将任务传输到边缘服务器上的时间要少于传输到云端的时间,更加节省时间成本。
[0003]
三支决策方法,是基于条件集,通过映射将实体集划分为三个两两互不相交的r-域、l-域和-m域的过程(一般称为:正域、负域和边界域),是将任务分为三种方式卸载,它优化了非0即1的方法,使任务卸载时有更好的选择,也就是说,三支决策的思想就是将不确定的事物放进“待定区”,这样可以避免全部或者全不带来的风险。从卸载时机来说,它分为:立即卸载,不卸载和延迟卸载三种时机卸载策略;从卸载内容来说,它分为:全部卸载,部分卸载和不卸载三种内容卸载策略。我们引用三支决策方法是因为它正好描述了我们的任务卸载问题,在计算资源充足的情况下将任务全部卸载到边缘服务器上;在计算资源不充足的情况下将不卸载任务即在本地执行;在计算资源介于两者之间的情况下将部分卸载到边缘服务器,部分在本地执行。这样我们可以在任务卸载与执行上有更好的时效性。
技术实现要素:[0004]
为了解决上述问题,本公开提供了一种基于三支决策模型的移动边缘任务卸载方法,其包括如下步骤:
[0005]
s100:用户在移动终端发起任务,将任务数据加载到一个任务队列里;
[0006]
s200:分别将所述任务数据代入到三支决策模型中进行计算,获取任务的总时间和能耗进而获得用户的开销;
[0007]
s300:基于上述获取的用户的开销计算卸载任务量的阈值;
[0008]
s400:如果当前任务的所需计算资源小于边缘服务器可用资源则认为当前任务的
计算资源充足,进而将移动终端的当前任务全部卸载到边缘服务器;如果当前任务的所需计算资源不是很充足时,预测该当前任务的下一个计算资源充足的概率,并将该概率与所述阈值进行比较,进而选择将当前任务全部卸载、部分卸载还是不卸载到边缘服务器上。
[0009]
本方法提出了一种基于三支决策模型的移动边缘任务卸载策略,来解决从卸载内容上来说的任务卸载问题,实现了卸载任务所需时间短及能耗小的效果。通过上述技术方案,针对计算资源的是否充足,以能耗优化为目标,分别对到来的任务做出全部卸载、部分卸载和不卸载3种决策。通过阈值的确定为后续到来的任务的卸载提供策略参考,从而减少计算的复杂性,优化移动设备的服务水平。
附图说明
[0010]
图1是本公开一个实施例中所提供的一种基于三支决策模型的移动边缘任务卸载方法的流程图;
[0011]
图2是本公开一个实施例中α、β值的计算流程图;
[0012]
图3是本公开一个实施例中的卸载流程图。
具体实施方式
[0013]
在一个实施例中,如图1所示,公开了提供了一种基于三支决策模型的移动边缘任务卸载方法,其包括如下步骤:
[0014]
s100:用户在移动终端发起任务,将任务数据加载到一个任务队列里;
[0015]
s200:分别将所述任务数据代入到三支决策模型中进行计算,获取任务的总时间和能耗进而获得用户的开销;
[0016]
s300:基于上述获取的用户的开销计算卸载任务量的阈值;
[0017]
s400:如果当前任务的所需计算资源小于边缘服务器可用资源则认为当前任务的计算资源充足,进而将移动终端的当前任务全部卸载到边缘服务器;如果当前任务的所需计算资源不是很充足时,预测该当前任务的下一个计算资源充足的概率,并将该概率与所述阈值进行比较,进而选择将当前任务全部卸载、部分卸载还是不卸载到边缘服务器上。
[0018]
就该实施例而言,本发明提出了一种基于三支决策模型的移动边缘任务卸载策略,在面向任务卸载时,根据阈值(α,β)将全集u划分为3个独立的区域,将正域负域的传统理论扩展为正域、边界域和负域。也就是全部卸载、部分卸载和不卸载,根据下一个计算资源充足的概率和阈值之间的关系来判断下一个任务卸载的位置。
[0019]
在另一个实施例中,步骤s200进一步包括步骤:
[0020]
s201:本地执行模型中的任务的总时间和能耗计算过程如下:
[0021]
本地执行时间t
l
可以表示为:
[0022][0023]
本地执行的能量损耗e
l
可表示为:
[0024][0025]
其中,λ表示卸载比率,γ表示应用性能指数,d表示输入的数据量,f
l
为用户的cpu频率,k表示芯片结构的参数;
[0026]
s202:mec服务器执行模型中的任务的总时间和能耗计算过程如下:
[0027]
总时间t
c
表示为:
[0028]
t
c
=(t
u
+t
ce
)
[0029][0030][0031]
能量损耗e
c
表示为:
[0032][0033]
其中,r表示传输速率,b为带宽,ω为噪声功率,h表示从用户到mec服务器的通道增益,t
u
表示传输时间,t
ce
表示执行时间,f
c
为mec服务器的cpu频率,p表示传输功率,p
ce
表示执行时的功率,γ表示应用性能指数。
[0034]
s203:用户的开销u表示为:
[0035]
u=μ(t
l
+t
c
)+(1-μ)(e
l
+e
c
)
[0036]
其中,μ表示用户任务执行时间的权重系数,(1-μ)表示能量损耗的权重系数。
[0037]
就该实施例而言,分别将任务数据代入到相应模型中进行计算,此时分为两个模型:1)本地执行模型:cpu周期数f;输入的数据量d;γ(γ>0)取决于应用的性质f=γd。定义λ(0≤λ≤1)表示卸载比率,λ=本地执行数据bit/输入数据bit总数;其中本地执行数据bit:λd;移动边缘服务器端执行数据bit:(1-λ)d;定义f
l
为用户的cpu频率,f
max
是用户的cpu最大频率,f
l
≤f
max
。2)mec服务器执行模型:在mec服务器上执行任务有两个过程:传输:将到来的任务传输到mec服务器上。执行:将传输到mec服务器上的任务执行。首先在传输中:传输速率r可以表示为:其中b为带宽,ω为噪声功率,h表示从用户到mec服务器的通道增益,p表示传输功率,p
max
表示最大传输功率,p
ce
表示执行时的功率。p≤p
max
。总时间t
c
为传输时间+执行时间,即我们将移动用户的开销u定义为一个函数,它包含加权的时间和能量消耗,其中μ(0≤μ≤1)。
[0038]
在另一个实施例中,计算出不同卸载策略所用的时间、能耗以及时间加能耗一起考虑的情况下的值:
[0039]
(1)不卸载:
[0040]
在资源充足的情况下:
[0041]
时间为:
[0042]
能量损耗为:
[0043]
e1″
=kγdf
l2
[0044]
时间+能耗为:
[0045][0046]
在资源不充足的情况下:
[0047]
时间为:
[0048]
能量损耗为:
[0049]
e2″
=kγdf
l2
[0050]
时间+能耗为:
[0051][0052]
(2)全部卸载:
[0053]
在资源充足的情况下:
[0054]
时间为:卸载时间+执行时间
[0055][0056]
能量损耗为:
[0057][0058]
时间+能耗为:
[0059][0060]
在资源不充足的情况下:
[0061]
时间为:卸载时间+执行时间
[0062][0063]
能量损耗为:
[0064][0065]
时间+能耗为:
[0066][0067]
(3)部分卸载:
[0068]
在资源充足的情况下:
[0069]
时间为:
[0070]
[0071]
能量损耗为:
[0072][0073]
时间+能耗为:
[0074][0075]
在资源不充足的情况下:
[0076]
时间为:本地执行时间+卸载时间+执行时间
[0077][0078]
能量损耗为:
[0079][0080]
时间+能耗为:
[0081][0082]
在另一个实施例中,如图2所示,步骤s300进一步包括步骤:
[0083]
s301:根据步骤s200确定λ的取值范围为:
[0084][0085]
其中,t为单位时间;
[0086]
s302:随机抽取一定数量的λ值;
[0087]
s303:将μ值按侧重时间、侧重能耗以及平分时间和能耗进行设置;
[0088]
s304:根据随机抽取的一定数量的λ以及不同设置的μ的值得到部分卸载时一定数量的u值;
[0089]
s305:分别计算所得到全部卸载、部分卸载以及不卸载三种情况下u值的平均值;
[0090]
s306:计算得出全部卸载、部分卸载以及不卸载三种情况下阈值α、β的值。
[0091]
就该实施例而言,确定阈值的目的在于为后续到来的边缘任务卸载提供策略参考,减少计算复杂性,优化移动设备服务水平。考虑有2个状态集分别表示在移动边缘计算卸载过程中计算资源,g代表计算资源充足,代表计算资源不充足。给定决策集a={a
a
,a
p
,a
n
},分别表示对到来的任务进行全部卸载、部分卸载和不卸载的3种决策方式。其中,t为定值。
[0092]
在另一个实施例中,步骤s306进一步包括步骤:
[0093]
α,β分别表示为:
[0094][0095][0096]
其中,η
ap
、η
pp
、η
np
分别表示在当前任务的下一个计算资源充足的情况下进行全部卸载、部分卸载以及不卸载的代价,η
an
、η
pn
、η
nn
分别表示在当前任务的下一个计算资源不充足的情况下进行全部卸载、部分卸载以及不卸载的代价。不同决策的卸载代价如表1所示。
[0097]
表1
[0098][0099]
在另一个实施例中,如图3所示,步骤s400进一步包括步骤:
[0100]
s401:如果下一个计算资源充足的概率大于等于α则全部卸载;
[0101]
s402:如果下一个计算资源充足的概率小于等于β则不卸载;
[0102]
s403:如果下一个计算资源充足的概率小于α且大于β则部分卸载。
[0103]
就该实施例而言,如果当前任务的计算资源充足则立即卸载,若计算资源不是很充足时,预测下一个计算资源。如果下一个计算资源充足(g表示计算资源充足)的概率p[g|g]大于α则立即卸载,若计算资源充足的概率p[g|g]小于β则不卸载。处于两个阈值之间则部分卸载(β<p(g|[g])<α)。
[0104][0105]
当计算资源处于充足-不充足-充足这种情况时,如果当前任务的下一个计算资源处于充足状态,则全部卸载到下一个计算资源的代价不大于部分卸载到下一个计算资源的代价不大于不卸载的代价,当下一个计算资源不充足时,则全部卸载到下一个计算资源的代价不小于部分卸载到下一个计算资源的代价不小于不卸载的代价即
[0106]
η
ap
≤η
pp
≤η
np
,且η
an
≥η
pn
≥η
nn
。
[0107]
在另一个实施例中,其中步骤s303中的侧重时间时μ为0.2,侧重能耗时μ为0.8,平分时μ为0.5。
[0108]
在另一个实施例中,所述卸载比率λ为:
[0109]
λ=本地执行数据/输入数据总数。
[0110]
在另一个实施例中,其中,k=10-26
。k为经验值。
[0111]
在另一个实施例中,全部任务在本地执行时,将应用性能指数γ以及cpu频率给定,然后将数据d代入,因为权重系数μ的不同,所以同一个d将有不同的三种u值,分别将d代入μ值设置为0.2、0.5、0.8的以下式子中,得到所需结果,再依次将不同的d值代入,得到多个任务在本地执行时的u值。
[0112][0113]
在另一个实施例中,任务全部卸载到边缘端执行,要卸载就需要传输,则时间为传输时间加执行时间,能耗也为传输能耗加执行能耗,我们将传输速率r、性能指数γ、cpu频率以及功率给定,再代入数据d,同上权重系数μ也将有三个不同的值,将这些数值代入以下式子中,我们可以得到不同结果的u值。
[0114][0114][0115]
在另一个实施例中,不能将全部任务都卸载到边缘服务器上执行,需要一部分卸载到边缘服务器一部分在本地执行,那么此时我们需要一个卸载比率λ(0≤λ≤1),λ值通过以下式子获得,其中除了d值,其他值均给定即为常量(t为单位时间),我们可以根据不同的d值确定不同的λ值的范围,然后随机选取几个λ值,将卸载比例确定了之后,我们将λ和d值代入同一个权重系数的u式中,因为λ有多个值,所以我们将得到不同的u值。将得出的u值取平均,这样,就和上述两种模型相同,有几个d值就有几个相同权重系数下的u值。以此类推,再代入不同权重系数的u式中。
[0116][0117][0118]
尽管以上结合附图对本发明的实施方案进行了描述,但本发明并不局限于上述的具体实施方案和应用领域,上述的具体实施方案仅仅是示意性的、指导性的,而不是限制性的。本领域的普通技术人员在本说明书的启示下和在不脱离本发明权利要求所保护的范围的情况下,还可以做出很多种的形式,这些均属于本发明保护之列。