一种在多个边缘计算服务器场景下基于模拟退火的移动区块链优化算力分配方法与流程

文档序号:16971903发布日期:2019-02-26 18:37阅读:456来源:国知局
一种在多个边缘计算服务器场景下基于模拟退火的移动区块链优化算力分配方法与流程

本发明属于通信领域,尤其是一种在多个边缘计算服务器场景下基于模拟退火的移动区块链优化算力分配方法。



背景技术:

随着移动区块链技术的快速发展,传统的智能终端无法支撑起其庞大的算力需求。由于有限的算力资源,利用边缘计算技术实现移动终端合理的算力分配,从而实现系统整体收益最高。



技术实现要素:

为了解决移动终端无法满足区块链庞大的计算需求的难点,本发明结合边缘计算的技术,为移动终端提供一定的算力支持,由于边缘服务器提供的算力有限,本发明针对多个移动终端接入情况下合理的算力分配的难点,主要考虑的是在多个边缘服务器实现系统收益最高,研究了一种基于模拟退火的移动区块链最优算力分配方法。

本发明解决其技术问题所采用的技术方案是:

一种在多个边缘计算服务器场景下基于模拟退火的移动区块链优化算力分配方法,所述方法包括以下步骤:

(1)在多个边缘计算服务器的覆盖范围下总共有n个移动终端,移动终端的集合用i={1,2,...,n}表示。边缘计算服务器有m个,用k={1,2,...,m}表示,移动终端从边缘计算服务器获得算力,其中边缘计算服务器能提供的算力上限为ck,tot,k∈k;

在保证不超过边缘计算服务器提供的算力上限的条件下,最大化系统总收益的优化问题描述为如下所示的优化tro问题:

tro:

s.t.

variables:

下面将问题中的各个变量做一个说明,如下:

移动终端自身的算力;

边缘服务器提供的算力;

r:系统提供的固定奖励;

r:可变奖励系数;

ti:区块的大小;

λ:泊松分布的中间到达率;

pk:边缘服务器k提供单位算力的价格;

(2)引入辅助变量vi表示移动设备i从所有边缘计算服务器获得的计算力,如下:

假定{vi}i∈i是给定的,优化tro问题等价为tro-sub问题,如下:

tro-sub:

s.t.constraint(1-1)

variables:

表示tro-sub问题中的最优值,在解决了tro-sub问题后获得后,进而解决tro-top问题,如下:

tro-top:

variables:0≤vi≤qmax,

其中,qmax=∑k∈kck,tot表示所有边缘计算服务器可以提供的总算力。

求解tro-sub问题的思路是:给定了{vi}i∈i之后,tro-sub是一个严格的凸优化问题。因此引入对偶变量λk来松弛constraint(1-1),得到相应的拉格朗日表达式,如下:

其中,参数m表示如下:

式(2-3)可以被分解为独立的移动设备i,如下:

每个移动设备i的相关拉格朗日表达式,如下:

基于式(2-6),每个移动设备i的局部优化问题,如下:

tro-sub-mti:

s.t.:constrain(2-1)

variables:

为进一步确定{λk}k∈k的值,使用子梯度方法,如下:

其中,ε为步长,通过枚举比较的方式获得最优的{λk}k∈k值,从而解决了提出的tro-sub和tro-top问题;

(3)算法multisub-algorithm解决tro-sub问题确定过程如下:

步骤3.1:初始化迭代参数l=1,每个边缘计算服务器k初始化为λk(l);

步骤3.2:给定移动用户i从所有边缘服务器获得的算力vi;

步骤3.3:判定maxk∈k|λk(l)-λk(l-1)|>γ是否成立,若成立,执行步骤3.4,若不成立,执行步骤3.8,其中参数γ给定,趋近于0;

步骤3.4:边缘计算服务器k广播λk(l)给所有的移动用户;

步骤3.5:移动用户i由给定的λk(l)求解问题tro-sub-mti并获取报告给边缘计算服务器k;

步骤3.6:收到所有的移动用户的后,边缘计算服务器k更新其中参数a和b给定;

步骤3.7:设定l=l+1,执行步骤3.3;

步骤3.8:移动用户i计算并报告给边缘计算服务器1,服务器算出

步骤3.9:输出

至此,算法multisub-algorithm接了问题tro-sub并得到

(4)算法multitop-algorithm解决问题tro-top,并得到优化的{vi}i∈i(用表示),过程如下:

步骤4.1:初始化温度值t1,下降温度d,最低温度值tfinal,退火次数t=1,循环计数变量ncount=0;

步骤4.2:设定当前最优值当前最优解

步骤4.3:随机产生一组{vi}i∈i,设定cs={vi}i∈i;

步骤4.4:设定

步骤4.5:判断tf>tfinal是否成立,若成立,执行步骤4.6,否则执行步骤4.*;

步骤4.6:设定t=t+1;

步骤4.7:以{vi}i∈i为中心随机生成{v′i}i∈i;

步骤4.8:以{v′i}i∈i为输入,通过multisub-algorithm算法,计算得到

步骤4.9:判断是否成立,若成立,执行步骤4.10,否则执行步骤4.11;

步骤4.10:设定cs={v′i}i∈i,ncount=0;

步骤4.11:根据均匀分布在[0,1]之间生成随机数μ,判定是否成立,若成立,执行步骤4.12,否则执行步骤4.13;

步骤4.12:设定cs={v′i}i∈i,ncount=0。

步骤4.13:ncount=ncount+1;

步骤4.14:判断ncount≥30是否成立,若成立,则停止循环,否则执行步骤4.15;

步骤4.15:更新tt=tt-1*d,执行步骤4.5;

步骤4.16:结束循环,输出最优解

最后,算法multitop-algorithm输出的代表tro问题所求的系统最大收益。

本发明的技术构思为:首先,考虑在移动区块链网络中,移动终端自身存在一部分算力,通过边缘服务器获取另外一部分算力,从而构成自身的算力。各个终端相互竞争,第一个完成工作量证明的移动终端获得广播区块的权利,在区块得到其他移动终端的验证后,该终端则会根据区块的大小获得一定的奖励。在此处,考虑的前提是边缘服务器提供算力的上限,如何在不超过边缘服务器算力上限的前提下,实现整个系统算力的最优分配,使得系统总收益最高。接着,通过对问题的特性分析,将问题拆分成两层问题来进行求解,针对顶层问题本发明采用模拟退火的方法,实现最大化系统的收益。

本发明的有益效果主要表现在:1、对于移动终端而言,利用边缘计算技术大大提高了率先完成工作量证明的概率;2、对于边缘计算服务器而言,在有限的算力资源条件下,满足了移动终端的需求;3、对于整个系统而言,提高了系统最终的收益。

附图说明

图1是多个边缘服务器场景下多个移动终端获取算力的场景示意图。

具体实施方式

下面结合附图对于本发明作进一步详细描述。

参照图1,一种在多个边缘计算服务器场景下基于模拟退火的移动区块链优化算力分配方法,实行该方法能在同时保证在多个边缘服务器有限的算力资源条件下,使得整体收益最大化。本发明可以应用于无线网络,如图1所示场景中。针对该目标设计对问题的优化方法包括如下步骤:

(1)在多个边缘计算服务器的覆盖范围下总共有n个移动终端,移动终端的集合用i={1,2,...,n}表示,边缘计算服务器有m个,用k={1,2,...,m}表示。移动终端从边缘计算服务器获得算力,其中边缘计算服务器能提供的算力上限为ck,tot,k∈k;

在保证不超过边缘计算服务器提供的算力上限的条件下,最大化系统总收益的优化问题描述为如下所示的优化tro问题:

tro:

s.t.

variables:

下面将问题中的各个变量做一个说明,如下:

移动终端自身的算力;

边缘服务器提供的算力;

r:系统提供的固定奖励;

r:可变奖励系数;

ti:区块的大小;

λ:泊松分布的中间到达率;

pk:边缘服务器k提供单位算力的价格;

(2)引入辅助变量vi表示移动设备i从所有边缘计算服务器获得的计算力,如下:

假定{vi}i∈i是给定的,优化tro问题等价为tro-sub问题,如下:

tro-sub:

s.t.constraint(1-1)

variables:

表示tro-sub问题中的最优值,在解决了tro-sub问题后获得后,进而解决tro-top问题,如下:

tro-top:

variables:0≤vi≤qmax,

其中,qmax=∑k∈kck,tot表示所有边缘计算服务器可以提供的总算力。

求解tro-sub问题的思路是:给定了{vi}i∈i之后,tro-sub是一个严格的凸优化问题,因此引入对偶变量λk来松弛constraint(1-1),得到相应的拉格朗日表达式,如下:

其中,参数m表示如下:

式(2-3)可以被分解为独立的移动设备i,如下:

每个移动设备i的相关拉格朗日表达式,如下:

基于式(2-6),每个移动设备i的局部优化问题,如下:

tro-sub-mti:

s.t.:constrain(2-1)

variables:

为进一步确定{λk}k∈k的值,我们使用子梯度方法,如下:

其中,ε为步长,通过枚举比较的方式获得最优的{λk}k∈k值,从而解决了提出的tro-sub和tro-top问题;

(3)算法multisub-algorithm解决tro-sub问题确定过程如下:

步骤3.1:初始化迭代参数l=1,每个边缘计算服务器k初始化为λk(l);

步骤3.2:给定移动用户i从所有边缘服务器获得的算力vi;

步骤3.3:判定maxk∈k|λk(l)-λk(l-1)|>γ是否成立,若成立,执行步骤3.4,若不成立,执行步骤3.8,其中参数γ给定,趋近于0;

步骤3.4:边缘计算服务器k广播λk(l)给所有的移动用户;

步骤3.5:移动用户i由给定的λk(l)求解问题tro-sub-mti并获取报告给边缘计算服务器k;

步骤3.6:收到所有的移动用户的后,边缘计算服务器k更新其中参数a和b给定;

步骤3.7:设定l=l+1,执行步骤3.3;

步骤3.8:移动用户i计算并报告给边缘计算服务器1,服务器算出

步骤3.9:输出

至此,算法multisub-algorithm接了问题tro-sub并得到

(4)算法multitop-algorithm解决问题tro-top,并得到优化的{vi}i∈i

(用{vi*}i∈i表示),过程如下:

步骤4.1:初始化温度值t1,下降温度d,最低温度值tfinal,退火次数t=1,循环计数变量ncount=0;

步骤4.2:设定当前最优值当前最优解

步骤4.3:随机产生一组{vi}i∈i,设定cs={vi}i∈i;

步骤4.4:设定

步骤4.5:判断tf>tfinal是否成立,若成立,执行步骤4.6,否则执行步骤4.*;

步骤4.6:设定t=t+1;

步骤4.7:以{vi}i∈i为中心随机生成{v′i}i∈i;

步骤4.8:以{v′i}i∈i为输入,通过multisub-algorithm算法,计算得到

步骤4.9:判断是否成立,若成立,执行步骤4.10,否则执行步骤4.11;

步骤4.10:设定cs={v′i}i∈i,ncount=0。

步骤4.11:根据均匀分布在[0,1]之间生成随机数μ,判定是否成立,若成立,执行步骤4.12,否则执行步骤4.13;

步骤4.12:设定cs={v′i}i∈i,ncount=0。

步骤4.13:ncount=ncount+1;

步骤4.14:判断ncount≥30是否成立,若成立,则停止循环,否则执行步骤4.15;

步骤4.15:更新tt=tt-1*d,执行步骤4.5;

步骤4.16:结束循环,输出最优解

最后,算法multitop-algorithm输出的代表tro问题所求的系统最大收益。

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