本发明涉及移动边缘计算,区块链,计算卸载,自适应数据块大小的技术领域,特别是涉及一种移动边缘计算环境中自适应数据块大小的资源分配和卸载方法。
背景技术:
随着各种智能设备的普及,移动互联网用户的数量呈指数式的增长。第五代移动通信面临着日益增长的数据流量和移动设备连接数量的新挑战。越来越多的5g网络业务不断涌现,如人脸识别系统、无人车驾驶、增强现实及全息投影技术等。与此同时,5g网络业务对所需的时延、速度及功耗等也有着更高的要求。传统的无线蜂窝网络不仅能耗高,而且在传输卸载任务时不能满足用户对移动设备高速度低延时的要求。在数据日益递增的信息时代,由于移动终端设备的计算能力以及存储空间的有限性,当计算密集型应用运行在移动终端设备上时,移动设备端的应用性能就会存在较大的风险。而计算卸载技术的出现为上述问题提供了新的思路。计算卸载最初是应用在云计算中,即能够使资源和存储能力有限的移动终端将计算任务卸载到云中进行计算处理,计算任务完成后,云服务器就会将计算后的结果返回至移动终端,在一定程度上减轻了移动终端的计算负载压力。然而,随着移动互联网用户数量的不断递增,用户对低延时传输和高标准的网络服务质量等网络性能指标有着更高的要求,并且对数据的实时性、个人数据安全、隐私保护等需求在万物互联的时代下显得更加突出。故研究人员将卸载计算任务引入到移动云网络中,移动边缘计算的提出为这些困惑提供了新的想法。移动边缘计算(mobileedgecomputing,mec)通过将具有计算能力的服务器部署在无线网络边缘增强移动设备的计算能力,从而提升了用户的体验效果和质量。mec系统允许移动设备将计算任务卸载到附近的网络边缘节点、基站或是无线接入点上,不仅解决了移动端所要求的低延时高速度等性能,同时也解决了云中高负载压力和有限的存储能力等问题。减少了端到端之间的延时,为移动端提供更好的服务质量。
针对移动边缘计算中的计算卸载问题,一些专家学者围绕移动边缘计算做了广泛的研究,但主要研究都集中在中心式的计算卸载模型。而在具有移动边缘计算功能的超密集网络中,采用传统的中心控制的方法会造成严重的流量堵塞,占用大量的信道带宽资源。且在分布式系统中,移动区块链网络中数据被区块链以固定形式的数据块大小记录,在一定程度上消耗了大量功耗和存储空间。故通过综合考虑计算卸载策略、资源分配及自适应数据块大小的联合优化问题制定优化方案,提出了移动边缘计算环境中自适应数据块大小的资源分配和卸载方法,以实现最小化计算卸载能耗为目标。本方法同时能够达到节省能耗、减少时延和降低数据存储空间的目的。
技术实现要素:
为解决上述技术问题,本发明利用移动边缘计算环境中自适应数据块大小的资源分配和卸载方法来解决无线蜂窝网络以及云中高负载压力等问题,物联网设备或是移动终端可以访问并利用来自边缘计算提供商的资源和计算能力来支持他们的区块链应用程序。通过获取最优计算卸载策略、实时更新子信道、获取最优发送功率及获取最佳自适应数据块的大小,减轻核心网的负荷压力,减少卸载任务传输的时延和能耗,提高了系统性能,提升了用户对移动互联网应用的体验质量。通过考虑系统总能耗,将计算卸载策略、资源分配及自适应数据块大小作为联合优化问题,提供了一种的移动边缘计算环境中自适应数据块大小的资源分配和卸载方法。
1、问题分析和描述
基于块链的移动边缘计算虽然能够通过引入更多的矿工提高区块链网络的鲁棒性,获取更多的奖励,为普通物联网设备以及移动终端设备带来了高效快速的任务响应来解决区块链中所需的时延和资源分配等问题,但是所面临的高耗能和高存储空间等问题日益成为相关研究人员的密切关注。区块链的公共分类账存储相关数据时,由于物联网设备或是移动终端用户提交计算任务时所需的数据块大小具有不确定性,在移动区块链中极大浪费了mec服务器计算任务时所消耗的能耗和存储空间,增加了mec服务器的计算服务开销。为了能解决区块链中所需的时延和资源分配等问题提出了移动边缘计算环境中自适应数据块大小的资源分配和卸载方法。通过在物联网设备以及移动终端附近部署数个小单元基站(smallbasestatioins,sbss)和具有计算能力的宏基站(macrobasestatioin,mbs),提出了两种卸载模式,移动互联网用户可以选择将计算任务卸载到本地设备上(由多个移动终端组成的本地设备)完成计算过程或者是通过小单元基站卸载到具有计算能力的宏基站上执行计算过程。在移动边缘网络环境中,数据被区块链以块的形式记录,通过采用坐标下降法、改进的匈牙利算法、贪婪算法、非凸性问题的转换及构建自适应数据块大小的效应函数进行迭代更新的技术,制定了用户卸载任务时计算卸载决策、资源分配及自适应数据块大小的优化方案,以实现最小化计算卸载能耗为目标。进而能够从低时延和低能耗等方面进行任务的计算卸载。
2、移动边缘计算下的系统模型
2.1、移动边缘计算的网络环境
本发明的移动边缘计算卸载方法的网络环境是由一个宏基站和m小单元基站和n个用户组成的网络中进行的,用n={1,2,...n}表示用户的集合,用
2.2、计算通信模型分析
由于sbss之间会存在干扰,一个sbss内的频谱是正交分配给每个用户的,所以在小单元内不会有干扰,只考虑上行方向传输,干扰来自于从一个用户到相邻的sbss。通过建立通信模型,来获取卸载用户的最佳子信道分配矩阵和最小功率分配矩阵。
假设传输干扰只发生于用户在sbss上使用不同服务时,sbss同时占据相同的频率。当本地用户n分配子信道k,进行相应的数据传输时,每个sbss的频带被分为k个正交子信道,定义
则用户n分配子信道k的信干噪比:
根据公式(1)得到计算得到用户n在子信道k上的传输速率为:
根据(1)和(2)得到用户n卸载任务时上行传输的总速率为
2.3、计算卸载策略分析
如果多个用户选择同时将计算任务通过蜂窝型网络卸载到服务器上时,可能会导致mec服务器出现高负载的情况,不能有效减少传输计算任务过程中的时延,故使数据的传输速率会有所降低,严重影响用户的体验质量。故考虑两种卸载模式,用户选择将计算任务卸载到移动本地设备上执行计算(由多个移动终端组成的本地设备)或者是在计算节点上执行计算。将sbss作为传输任务给mbs的中继站,而每个sbss都连接到具有计算能力的mbs上。其中δn∈{0,1}表示用户的卸载决策。δn=0表示将计算任务卸载到移动本地设备上执行计算,δn=1表示将计算任务卸载到mbs上执行计算。
(1)卸载到mbs(mode1):用户将整个任务an卸载到计算节点mbs上时,传输卸载任务会产生相应的时延和能耗。其中dn表示任务的大小,rn表示用户n卸载任务时上行传输的总速率,wn表示计算任务an所需的cpu周期(总资源计算需求),
则在计算节点上执行任务所需的总执行时间为:
传输计算任务时消耗的能量如下,其中,
(2)卸载到移动本地设备(mode0):当用户选择将计算任务卸载到移动本地设备上时,用
其中本地设备计算任务时最优的计算能力
wn表示计算任务an所需的cpu周期,
3、移动边缘环境中自适应数据块大小的计算卸载方法
用户在卸载任务过程中会对本地计算的花费进行比较和评估,然后将最佳卸载决策上报给mec,与此同时,mec也会对每个用户卸载任务时所消耗的费用进行评估并通过比较本地设备上的卸载和在计算节点上卸载的费用做出相应的卸载决策。
最小化总能耗的优化分配是指在考虑到用户的时延和能耗的需求下,通过优化卸载决策矩阵a、子信道分配矩阵c、功率分配矩阵p和块链中自适应块大小s来最小化总耗能。从而达到了在卸载任务过程中减轻网络中心负载及降低服务器高能耗的目的。所建立的优化目标函数定义如下,其中δn表示卸载决策,
其中c1表示用户所能容忍的最大延时要求,c2表示该用户发送功率约束,c3表示每个子信道上的发送功率是非负的,c4表示信道的分配状态,c5表示卸载决定是二进制变量。c6表示自适应块的大小不能超过块的最大值
3.1、坐标下降法求解最优卸载决策
通过上述所建立的目标函数采用坐标下降法求解来优化卸载决策矩阵a以获取最优卸载决定。将a=[δ1,δ2,...δn]表示用户的卸载决策,设定初始卸载决策a0为全1矩阵,aj-1表示第j-1(j=1,2,...,j)次迭代的卸载决定,j表示迭代次数,用v(aj-1)表示在所给的卸载决定为aj-1时的目标函数的最优值,
并且为了鼓励节点之间完成用户所提交的任务需求,引入了一个基于区块链的虚拟货币的激励机制。讨论完成挖掘任务所收获的净收入表示为
故第j次迭代改变当前卸载决策后所获得的总收益为:
其中aj-1(n)是用户n改变当前决策后的卸载决策,表示为:
坐标下降法通过沿着变量δn的方向连续优化,算法收敛并找到所求目标函数的最优值,故找到最优的卸载决策。如果最后的收益
3.2、卸载用户的信道分配
考虑到功率约束,制定了资源分配的优化问题,进而对最佳子信道分配策略进行了分析。假设每个用户都以最大发送功率pmax进行传输,每个子信道上用户都是以平均功率进行任务传输的,故可以采用局部频率复用的方式进行子信道分配,mec根据sbss报告的信息构建用户间的干扰图g(v,e),其中v是用户,e是干扰关系,边权重表示用户之间的干扰大小。hn,m表示第m个sbss的用户到第n个sbss的信道增益,pn表示用户n的发送功率,en,m表示第m个sbss的用户对第n个sbss用户的干扰大小。则en,m表示为:
在子信道分配前构建子信道分配矩阵和干扰矩阵。mec将子信道分配矩阵
用nc表示卸载的用户数,用
解决匹配最佳子信道问题,可以采用改进的匈牙利算法来解决信道匹配问题(通过引入虚拟信道,保证卸载的用户点数量和信道点数量一致),然后采用贪婪算法在满足最低速率的情况下为用户分配适当的子信道,具体算法步骤如下所示:
1)根据(3)式构建用户n第一次迭代所需的效益矩阵为:
2)根据用户数和子信道数,判断是否需要进行添加虚拟子信道,若用户数大于子信道数,即nc>k,则添加nc-k个虚拟子信道,将效益矩阵变成nc×nc方阵;若用户数小于子信道数目,即nc<k,则添加k-nc个用户,将效益矩阵变成k×k的方阵。
3)采用改进的匈牙利算法对最大权重匹配进行一次信道分配。
4)更新信道分配矩阵和干扰矩阵.检查用户是否满足最低速率要求,若是满足算法终止,否则继续更新子信道分配。
5)检查信道分配矩阵,通过贪婪算法检查更新过的子信道中干扰最小的子信道分配给用户。
6)重复步骤(4)和(5),直到所有用户满足最低速率需求。
3.3、卸载用户的功率分配
通过上述求得的最佳子信道分配矩阵进而对各个sbss下的用户的最小功率分配的方案进行分析,进而可以将原始问题转化为求最优发送功率。其中dn表示任务的大小,
由于p1是非凸问题,可以将其转化为最小功率消耗问题并且进行变量替换
可以看出p2是一个凸性问题,通过内点法求解得到最优发送功率。
3.4、自适应数据块大小的分配
用户传输卸载任务时数据被区块链以块的形式记录,通过制定自适应数据块大小的分配策略,能够实时获取移动边缘计算的网络环境下卸载计算任务时所需的数据块大小,节省mec服务器的计算服务开销并降低存储空间的占用。
通过为每一个sbss引入本地副本
构建自适应数据块大小分配的效应函数:
ws={ws(m)}是约束
数据块大小的优化过程包括局部变量迭代,全局变量迭代和拉格朗日乘子迭代。通过为每一个sbss中的块链设置最大缓冲区大小bn,当每次更新的块链大小
最佳自适应数据块大小的问题表示为:
发现该式子是一个非凸性问题,可以利用梯度下降法得到次最优解。然后通过全局变量进行迭代并不断更新:
sbss上的乘数更新:
通过循环更新(22)、(23)、(24)直到以下条件成立,其中ipre是原始条件的公差。
本发明的移动边缘计算环境中自适应数据块大小的资源分配和卸载方法,包括以下步骤:
s1、输入:用户数n,
s2、输出:卸载决策矩阵a*、信道分配矩阵
s3、初始化:
a)j←0;t←0;
b)初始化可行的全局解
c)为每个sbss确定初始的拉格朗日乘子向量ws;
s4、算法:
(1)repeat;
(2)j←j+1;t←t+1;
(3)forn=1:n;
(4)根据公式得到aj-1(n)获得最优的卸载决策;
(5)采用改进的匈牙利算法和贪婪算法得到最优子信道分配矩阵
(6)根据优化问题p2采用内点法得到每个子信道行的最优的发送功率
(7)根据公式(22)更新每个sbss的本地最优块大小sb[t+1];
根据公式(23)更新全局变量
根据公式(24)更新拉格朗日乘数{ws}[t+1],
当每次更新数据块的大小
(8)end;
(9)
(10)更新
(11)until
与现有技术相比本发明的有益效果为:本发明的方法根据传统的移动边缘计算卸载方法的高时延及占用大量存储空间等特点,将最小化总能耗作为目标,将计算卸载决策、资源分配和自适应数据块大小作为联合优化问题,提出了移动边缘计算环境中自适应数据块大小的资源分配和卸载方法。在优化卸载策略时,采用坐标下降法制定了最优卸载决策。在优化资源分配时,采用改进的匈牙利算法和贪婪算法确定最佳子信道的分配,进而通过内点法计算出每个子信道上的最小发送功率。最后确定自适应数据块的大小。该移动边缘环境中自适应数据块大小的计算卸载方法能够减少卸载过程中所用时延、降低服务器所消耗的功耗及卸载计算时的数据存储空间,减轻了云数据中心的链路高负载压力,有效地提高了系统性能,提升了用户对移动互联网应用的体验质量。
附图说明
图1是本发明的算法流程图;
图2是移动边缘计算环境中自适应数据块大小的资源分配和卸载模型。
具体实施方式
下面结合实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
实施例
1、问题分析和描述
基于块链的移动边缘计算虽然能够通过引入更多的矿工提高区块链网络的鲁棒性,获取更多的奖励,为普通物联网设备以及移动终端设备带来了高效快速的任务响应来解决区块链中所需的时延和资源分配等问题,但是所面临的高耗能和高存储空间等问题日益成为相关研究人员的密切关注。区块链的公共分类账存储相关数据时,由于物联网设备或是移动终端用户提交计算任务时所需的数据块大小具有不确定性,在移动区块链中极大浪费了mec服务器计算任务时所消耗的能耗和存储空间,增加了mec服务器的计算服务开销。为了能解决区块链中所需的时延和资源分配等问题提出了移动边缘计算环境中自适应数据块大小的资源分配和卸载方法。通过在物联网设备以及移动终端附近部署数个小单元基站(smallbasestatioins,sbss)和具有计算能力的宏基站(macrobasestatioin,mbs),提出了两种卸载模式,移动互联网用户可以选择将计算任务卸载到本地设备上(由多个移动终端组成的本地设备)完成计算过程或者是通过小单元基站卸载到具有计算能力的宏基站上执行计算过程。在移动边缘网络环境中,数据被区块链以块的形式记录,通过采用坐标下降法、改进的匈牙利算法、贪婪算法、非凸性问题的转换及构建自适应数据块大小的效应函数进行迭代更新的技术,制定了用户卸载任务时计算卸载决策、资源分配及自适应数据块大小的优化方案,以实现最小化计算卸载能耗为目标。进而能够从低时延和低能耗等方面进行任务的计算卸载。
2、移动边缘计算下的系统模型
2.1、移动边缘计算的网络环境
本发明的移动边缘计算卸载方法的网络环境是由一个宏基站和m小单元基站和n个用户组成的网络中进行的,用n={1,2,...n}表示用户的集合,用
2.2、计算通信模型分析
由于sbss之间会存在干扰,一个sbss内的频谱是正交分配给每个用户的,所以在小单元内不会有干扰,只考虑上行方向传输,干扰来自于从一个用户到相邻的sbss。通过建立通信模型,来获取卸载用户的最佳子信道分配矩阵和最小功率分配矩阵。
假设传输干扰只发生于用户在sbss上使用不同服务时,sbss同时占据相同的频率。当本地用户n分配子信道k,进行相应的数据传输时,每个sbss的频带被分为k个正交子信道,定义
则用户n分配子信道k的信干噪比:
根据公式(1)得到计算得到用户n在子信道k上的传输速率为:
根据(1)和(2)得到用户n卸载任务时上行传输的总速率为
2.3、计算卸载策略分析
如果多个用户选择同时将计算任务通过蜂窝型网络卸载到服务器上时,可能会导致mec服务器出现高负载的情况,不能有效减少传输计算任务过程中的时延,故使数据的传输速率会有所降低,严重影响用户的体验质量。故考虑两种卸载模式,用户选择将计算任务卸载到移动本地设备上执行计算(由多个移动终端组成的本地设备)或者是在计算节点上执行计算。将sbss作为传输任务给mbs的中继站,而每个sbss都连接到具有计算能力的mbs上。其中δn∈{0,1}表示用户的卸载决策。δn=0表示将计算任务卸载到移动本地设备上执行计算,δn=1表示将计算任务卸载到mbs上执行计算。
(1)卸载到mbs(mode1):用户将整个任务an卸载到计算节点mbs上时,传输卸载任务会产生相应的时延和能耗。其中dn表示任务的大小,rn表示用户n卸载任务时上行传输的总速率,wn表示计算任务an所需的cpu周期(总资源计算需求),
则在计算节点上执行任务所需的总执行时间为:
传输计算任务时消耗的能量如下,其中,
(2)卸载到移动本地设备(mode0):当用户选择将计算任务卸载到移动本地设备上时,用
其中本地设备计算任务时最优的计算能力
wn表示计算任务an所需的cpu周期,
3、移动边缘环境中自适应数据块大小的计算卸载方法
用户在卸载任务过程中会对本地计算的花费进行比较和评估,然后将最佳卸载决策上报给mec,与此同时,mec也会对每个用户卸载任务时所消耗的费用进行评估并通过比较本地设备上的卸载和在计算节点上卸载的费用做出相应的卸载决策。
最小化总能耗的优化分配是指在考虑到用户的时延和能耗的需求下,通过优化卸载决策矩阵a、子信道分配矩阵c、功率分配矩阵p和块链中自适应块大小s来最小化总耗能。从而达到了卸载任务时减轻网络中心负载过大及降低服务器高能耗的目的。所建立的优化目标函数定义如下,其中δn表示卸载决策,
其中c1表示用户所能容忍的最大延时要求,c2表示该用户发送功率约束,c3表示每个子信道上的发送功率是非负的,c4表示信道的分配状态,c5表示卸载决定是二进制变量。c6表示自适应块的大小不能超过块的最大值
3.1、坐标下降法求解最优卸载决策
通过上述所建立的目标函数采用坐标下降法求解来优化卸载决策矩阵a以获取最优卸载决定。将a=[δ1,δ2,...δn]表示用户的卸载决策,设定初始卸载决策a0为全1矩阵,aj-1表示第j-1(j=1,2,...,j)次迭代的卸载决定,j表示迭代次数,用v(aj-1)表示在所给的卸载决定为aj-1时的目标函数的最优值,
并且为了鼓励节点之间完成用户所提交的任务需求,引入了一个基于区块链的虚拟货币的激励机制。讨论完成挖掘任务所收获的净收入表示为
故第j次迭代改变当前卸载决策后所获得的总收益为:
其中aj-1(n)是用户n改变当前决策后的卸载决策,表示为:
坐标下降法通过沿着变量δn的方向连续优化,算法收敛并找到所求目标函数的最优值,故找到最优的卸载决策。如果最后的收益
3.2、卸载用户的信道分配
考虑到功率约束,制定了资源分配的优化问题,进而对最佳子信道分配策略进行了分析。假设每个用户都以最大发送功率pmax进行传输,每个子信道上用户都是以平均功率进行任务传输的,故可以采用局部频率复用的方式进行子信道分配,mec根据sbss报告的信息构建用户间的干扰图g(v,e),其中v是用户,e是干扰关系,边权重表示用户之间的干扰大小。hn,m表示第m个sbss的用户到第n个sbss的信道增益,pn表示用户n的发送功率,en,m表示第m个sbss的用户对第n个sbss用户的干扰大小。则en,m表示为:
在子信道分配前构建子信道分配矩阵和干扰矩阵。mec将子信道分配矩阵
用nc表示卸载的用户数,用
解决匹配最佳子信道问题,可以采用改进的匈牙利算法来解决信道匹配问题(通过引入虚拟信道,保证卸载的用户点数量和信道点数量一致),然后采用贪婪算法在满足最低速率的情况下为用户分配适当的子信道,具体算法步骤如下所示:
1)根据(3)式构建用户n第一次迭代所需的效益矩阵为:
2)根据用户数和子信道数,判断是否需要进行添加虚拟子信道,若用户数大于子信道数,即nc>k,则添加nc-k个虚拟子信道,将效益矩阵变成nc×nc方阵;若用户数小于子信道数目,即nc<k,则添加k-nc个用户,将效益矩阵变成k×k的方阵。
3)采用改进的匈牙利算法对最大权重匹配进行一次信道分配。
4)更新信道分配矩阵和干扰矩阵.检查用户是否满足最低速率要求,若是满足算法终止,否则继续更新子信道分配。
5)检查信道分配矩阵,通过贪婪算法检查更新过的子信道中干扰最小的子信道分配给用户。
6)重复步骤(4)和(5),直到所有用户满足最低速率需求。
3.3、卸载用户的功率分配
通过上述求得的最佳子信道分配矩阵进而对各个sbss下的用户的最小功率分配的方案进行分析,进而可以将原始问题转化为求最优发送功率。其中dn表示任务的大小,
由于p1是非凸问题,可以将其转化为最小功率消耗问题并且进行变量替换
可以看出p2是一个凸性问题,通过内点法求解得到最优发送功率。
3.4、自适应数据块大小的分配
用户传输卸载任务时数据被区块链以块的形式记录,通过制定自适应数据块大小的分配策略,能够实时获取移动边缘计算的网络环境下卸载计算任务时所需的数据块大小,节省mec服务器的计算服务开销并降低存储空间的占用。
通过为每一个sbss引入本地副本
构建自适应数据块大小分配的效应函数:
ws={ws(m)}是约束
数据块大小的优化过程包括局部变量迭代,全局变量迭代和拉格朗日乘子迭代。通过为每一个sbss中的块链设置最大缓冲区大小bn,当每次更新的块链大小
最佳自适应数据块大小的问题表示为:
发现该式子是一个非凸性问题,可以利用梯度下降法得到次最优解。然后通过全局变量进行迭代并不断更新:
sbss上的乘数更新:
通过循环更新(22)、(23)、(24)直到以下条件成立,其中ipre是原始条件的公差。
如图1所示,本发明的移动边缘计算环境中自适应数据块大小的资源分配和卸载方法,包括以下步骤:
s1、输入:用户数n,
s2、输出:卸载决策矩阵a*、信道分配矩阵
s3、初始化:
a)j←0;t←0;
b)初始化可行的全局解
c)为每个sbss确定初始的拉格朗日乘子向量ws;
s4、算法:
(1)repeat;
(2)j←j+1;t←t+1;
(3)forn=1:n;
(4)根据公式得到aj-1(n)获得最优的卸载决策;
(5)采用改进的匈牙利算法和贪婪算法得到最优子信道分配矩阵
(6)根据优化问题p2采用内点法得到每个子信道行的最优的发送功率
(7)根据公式(22)更新每个sbss的本地最优块大小sb[t+1];
根据公式(23)更新全局变量
根据公式(24)更新拉格朗日乘数{ws}[t+1],
当每次更新数据块的大小
(8)end;
(9)
(10)更新
(11)until
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变型,这些改进和变型也应视为本发明的保护范围。