一种基于区块链的移动边缘计算中的资源分配方法

未命名 10-19 阅读:162 评论:0


1.本发明属于边缘计算技术领域,具体的说是涉及一种基于区块链的移动边缘计算中的资源分配方法。


背景技术:

2.随着移动设备的更新换代,物联网快速发展,地理上分散分布的终端设备向计算平台提出了低时延、高带宽、数据私密性等需求,云计算虽然有强大的数据处理能力,但是面对海量的数据以及网络带宽带来的阻碍,并不能实现全面的计算覆盖。边缘计算是将智能和计算推向更接近实际的技术,在边缘侧直接处理数据,大量本地数据不需要上传至云端,能够提高数据处理效率,降低数据处理延时,具有良好的隐私性和安全性,而区块链的去中心化和安全性的特点可以解决目前移动设备和物联网中存在的许多问题。
3.为了降低时延、抖动及功耗,已有文献将终端用户的计算任务卸载至移动边缘云。为了实现多异构终端用户与多异构移动边缘服务器间的交互,已有研究以一种多领导多追随者stackelberg博弈奖励进行区块链计算,在多分布式合作、竞争的背景下进行计算奖励和计算能力的分配。
4.基于上述文献,不难发现这些研究往往单独优化区块链节点效用或服务供应商利润,形式单一,适应性不强;其次,对于区块链资源共享博弈过程常见的应用场景是单领导多跟随的斯塔伯格博弈过程,作为领导者的只有单个边缘服务器,而缺少多领导者多跟随者的复杂应用场景研究。


技术实现要素:

5.为了解决上述技术问题,本发明提供了一种基于区块链的移动边缘计算中的资源分配方法,该方法对边缘计算基于区块链协同计算卸载和资源分配提出了一种多领导者多追随者stackelberg博弈模型,针对区块链和移动边缘计算混合应用的计算资源分配问题,提出面向mec系统和区块链系统的联合计算资源分配模型和算法,方法包括:将联合计算卸载和资源服务定价问题作为一个计算服务定价管理模型,边缘服务供应商向区块链节点提供计算服务,相应地向区块链节点收取报酬,以抵消其运营过程中产生的资源消耗,以此获得利润;采用两阶段斯塔克尔伯格博弈分析每个阶段的子博弈优化问题,并利用异步联邦学习,区块链节点重复使用admm算法进行效用优化,根据定价策略调整其服务需求,以实现stackelberg博弈的纳什均衡。
6.为了达到上述目的,本发明是通过以下技术方案实现的:
7.本发明是一种基于区块链的移动边缘计算中的资源分配方法,包括以下步骤:
8.步骤1、建立基于stackelberg博弈的内外双循环模型;
9.步骤2、建立基于边缘计算的公共网络定价模型;
10.步骤3、基于异步联邦优化对stackelberg博弈内外双循环定价模型问题进行求解;
11.步骤4、构建一个基于区块链的移动边缘计算系统中的计算卸载模型;
12.步骤5、对步骤4的计算卸载模型问题求解。
13.本发明的进一步改进在于:步骤1建立基于stackelberg博弈的内外双循环模型具体包括如下步骤:
14.步骤1-1:将服务供应商定价策略p、精度阈值δ初始化,外循环索引hq=1;
15.步骤1-2:作为stackelberg博弈的另一方追随者的区块链节点重复使用admm算法进行外循环,对服务供应商利润优化,使服务供应商基于区块链节点服务需求x调整其边际价格p
ij

16.步骤1-3:所述区块链节点重复使用admm算法进行效用优化,根据定价策略p调整其服务需求,上传本地模型至边缘服务器;
17.步骤1-4:服务供应商对步骤1-3上传的本地模型进行基于陈旧性的排序及全局更新权重分配,分发全局模型,触发区块链节点学习;
18.步骤1-5:重复以上步骤1-1至步骤1-4直至相邻的两次迭代全体服务器供应商利润差值小于阈值,则结束迭代。
19.本发明的进一步改进在于:步骤1-3中区块链节点重复使用admm算法进行效用优化,根据定价策略p调整其服务需求,上传本地模型至边缘服务器,具体包括如下步骤:
20.步骤1-3-1、边缘服务器在联邦学习过程中作为参数服务器运行程序、进行任务调度、向全体区块链节点广播全局模型以及触发区块链节点学习,边缘服务器接收来自区块链节点的带有时间戳的本地模型,对全局模型进行更新;
21.步骤1-3-2、定义超参数α,本地模型的陈旧性表征为0≤α≤1,δti为区块链节点i∈t上传本地模型相对于触发计算任务区块链节点所处轮次全局模型更新的滞后时间;
22.步骤1-3-3、hp是内循环索引,为上轮迭代获得的全局模型,为上轮迭代获得的全局模型,为本轮次迭代中所获得的本地模型,通过超参数α控制全局模型更新的权重,即:
23.步骤1-3-4、当δti≤0时,该本地模型不存在陈旧性,此时全局模型为区块链节点所上传的本地模型,当δti≥0时,陈旧性较大,由于不能按时完成更新任务的模型,会对全局模型造成一定影响,可通过减小超参数α来降低该模型在全局更新中所占的权重,从而削弱这一影响,建立陈旧模型
[0024][0025]
其中δti=t-τ,τ为延迟,am>0,an≥0,
[0026]
当t-τ≤an,则sa(t-τ)=1,即更新后混合超参数不变,此时为最新的本地模型,当t-τ增大,模型陈旧,则陈旧函数sa(t-τ)减小,超参数α也减小,将超参数α更新如下:
[0027][0028]
步骤1-3-5、每一轮进行本地更新的迭代时,区块链节点都要更新服务需求xi,其中
[0029][0030]
其中,φ为正则化变量,表示为:其中,φ为正则化变量,表示为:阻尼因子ρ>0,ω为admm的引入对偶变量,更新为:阻尼因子ρ>0,ω为admm的引入对偶变量,更新为:hli为区块链节点获得的利润;
[0031]
步骤1-3-6、边缘服务器根据接收到的时间戳对所接受的本地模型进行排序,并对全局模型进行更新。
[0032]
本发明的进一步改进在于:步骤1-5中重复以上步骤1-1至步骤1-4直至相邻的两次迭代全体服务器供应商利润差值小于阈值,则结束迭代,具体包括如下步骤:
[0033]
步骤1-5-1:服务供应商熟悉区块链节点上轮迭代的服务需求xi
(n)
,由此预测本轮迭代区块链节点服务需求,以此调整定价策略,服务供应商j∈s边际价格更新为:
[0034][0035]
其中,pj表示服务供应商j∈s的定价策略,πj表示服务供应商j∈s的利润;
[0036]
步骤1-5-2:进行外循环算法时,供应商在每轮迭代中更新定价策略以便区块链节点进行服务需求的更新;
[0037]
步骤1-5-3:当最后两次迭代的供应商利润差值小于阈值,即:3:当最后两次迭代的供应商利润差值小于阈值,即:时,迭代结束。
[0038]
本发明的进一步改进在于:建立基于边缘计算的公共网络定价模型具体包括如下步骤:
[0039]
步骤2-1:建立边缘计算框架下的公共网络定价服务管理模型;
[0040]
步骤2-2:将区块链节点相互竞争通过最小的服务成本获得最大出块奖励的过程,建模为泊松过程,以达到区块链节点的最大化效益目标;
[0041]
步骤2-3:提出一种服务供应商进行竞争性定价以最大化其利润策略。
[0042]
本发明的进一步改进在于:所述步骤2-1建立边缘计算框架下的公共网络定价服务管理模型具体包括如下步骤:
[0043]
步骤2-1-1、将一轮完整的区块链添加新块,具体过程包括块计算过程和块验证过程,在块计算过程中,一个移动终端的有效计算能力与相应区块链节点租用的计算资源成比例,区块链节点t={1,2,...,t}获取来自服务供应商s={1,2,...,s}的计算服务确保完成计算验证过程时,会向其支付一定酬劳,将该酬劳定价为pj={p
1j
,p
2j
,...p
tj
};
[0044]
步骤2-1-2、每个区块链节点都有一定的初始计算能力,记为fi。因此,区块链节点i∈t的总算力即为区块链节点的服务需求与其初始算力之和其中,h
ij
为区块链节点i∈t对服务供应商j∈s的选择概率,x
ij
为区块链节点i∈t对服务供应商j∈s的服务需求。
[0045]
步骤2-1-3、c
ij
为所定义价格上限与服务供应商边际价格p
ij
的差值,则有对区块链节点算力进行归一化,定义区块链节点i∈t的相对算力ri为该区块链节点绝对算力与全体区块链节点绝对算力之比。
[0046]
本发明的进一步改进在于:步骤2-2将区块链节点相互竞争通过最小的服务成本获得最大出块奖励的过程,建模为泊松过程,以达到区块链节点的最大化效益目标,具体包括如下步骤:
[0047]
步骤2-2-1、区块链节点出块奖励由固定奖励g和与区块大小呈线性关系的可变奖励gti构成,其中,g表示给定的可变奖励因子,ti为区块链节点i∈t所计算区块所包含的交易量,即区块大小,区块链节点工作时需要向服务供应商支付服务成本,定义p
ij
为区块链节点i∈t向服务供应商j∈s支付计算服务的边际价格,要使效益最大,则需服务成本最小或者出块奖励达到最大,供应商的定价策略表示为pj,最大化效益为,最大化效益为
[0048]
步骤2-2-2、假设块的到达服从泊松分布,则区块链块间隔到达有一定延迟,记到达速率为λ,为固定值,移动终端j向协同计算网络计算设备传播结果的最大传播时延为τ(ti),由区块大小ti所决定,即τ(ti)=μti,μ>0,μ为固定因子,由于传播时延造成孤块产生的概率为区块链节点i成功计算并成功验证的概率为
[0049][0050]
步骤2-2-3、将区块链节点i获得的利润效益重写为
[0051][0052]
其中,h
ij
为区块链节点i∈t对服务供应商j∈s的选择概率。
[0053]
本发明的进一步改进在于:步骤4中,针对区块链和移动边缘计算混合应用的计算资源分配问题,提出面向mec系统和区块链系统的联合计算资源分配模型和算法。由于mec服务器的计算能力有限,当mec服务器同时处理计算卸载任务和区块链任务时,很容易导致区块链和mec系统之间的计算资源分配不平衡。为了避免次优性能,以总延迟为优化目标,设计了一个基于区块链的mec系统计算资源分配框架。总延迟包括mec任务的延迟和区块链任务的延迟,通过mec和区块链中计算资源联合分配算法,选择计算任务的卸载位置,确定用户和mec服务器的映射关系。
[0054]
当esp上的验证计算任务超过其计算能力时,esp有三种模式来处理这种情况即三种计算卸载模型:一个是将验证计算任务卸载到csp即模式0,第二个是将验证计算任务卸载到其他esp即模式1,第三个是将验证计算任务卸载到其他esp和csp即模式2,将espen超过的任务定义为:具体的卸载过程包括如下步骤:
[0055]
步骤4-1、将验证计算任务卸载到csp即模式0,在这种模式下,用户的计算任务卸载到esp上,由于esp计算资源的不足,过载的esp会将多余的验证计算任务卸载到csp上,模式0的延迟为:
[0056][0057]
其中,分别为esp与云之间的传输延迟、云的执行时间、a卸载到云的总延迟;γ(a)为a的单位工作量;
[0058]
步骤4-2、将验证计算任务卸载到esp即模式1在这种模式下,过载的esp会将多余的验证计算任务卸载到其他esp上,模式1的延迟为:
[0059][0060]
其中,和te(a)分别是esp之间的传输延迟、espen的执行时间和将a卸载到其他esp的总延迟,ρn∈[0,1](n∈{1,2,...,k})k是任务a卸载到其他esp的比率,其中
[0061]
步骤4-3、将验证计算任务卸载到csp和其他esp即模式2,在这种模式下,过载的esp会将多余的验证计算任务卸载给csp和其他esp,模式2之间的延迟为:t(a)=(1-δn)tc(a)+δnte(a);
[0062]
其中,tc(a)和te(a)分别为esp与云之间的传输延迟,esp与esp之间的延迟。
[0063]
本发明的有益效果是:
[0064]
(1)本发明提出一种合作的移动边缘计算(mec)辅助区块链模型,对边缘计算基于区块链协同计算卸载和资源分配提出了一种多领导者多跟随者stackelberg博弈模型,基于区块链与边缘计算确保服务质量的同时最小化移动设备的能耗代价;(2)本发明考虑了在云资源受限的情况下实现最优的任务卸载,解决哪些任务需要卸载以及多少任务需要卸载(即决定多少任务在本地执行,多少任务在边缘云上执行)的问题,由于mec服务器的计算能力有限,当mec服务器同时处理计算卸载任务和区块链任务时,很容易导致区块链系统和mec系统之间的计算资源分配不平衡,为了避免次优性能,以总延迟为优化目标,设计了一个些于区块链的mec系统计算资源分配框架,总延迟包括mec任务的延迟和区块链任务的延迟,通过mec和区块链中计算资源联合分配算法选择计算任务的卸载位置,确定用户和mec服务器的映射关系,首先求解用户任务卸载决策和边缘计算资源分配问题的松弛问题,然后根据松弛问题的最优解依次确定卸载决策和计算资源分配,最后调整方案使其满足被松弛掉的约束条件。(3)本发明采用斯塔克尔伯格博弈内外双循环方法,对边缘服务供应商与区块链节点的资源管理建模,提出了一种区块链节点卸载成本和服务供应商定价的利润策略,并使用异步admm算法进行两阶段博弈的迭代求解。
附图说明
[0065]
图1是本发明两阶段斯塔克尔伯格博弈模型。
[0066]
图2是本发明区块链定价服务管理模型。
[0067]
图3是本发明两阶段斯塔克尔伯格博弈具体算法。
具体实施方式
[0068]
以下将以图式揭露本发明的实施方式,为明确说明起见,许多实务上的细节将在以下叙述中一并说明。然而,应了解到,这些实务上的细节不应用以限制本发明。也就是说,在本发明的部分实施方式中,这些实务上的细节是非必要的。
[0069]
本发明提出的一种基于区块链的移动边缘计算中的资源分配方法,区块链节点与周围具有空闲资源和一定计算能力的移动设备组成了协同计算网络,区块链节点为了获得更高的计算能力参与计算以获得计算奖励,将向协同计算网络的计算设备和由边缘服务器购买计算资源上,这个过程无需管理基础设施,而是通过将计算卸载至接近区块链节点的边缘计算节点,以进行哈希运算,区块链节点与计算设备之间进行资源申请和结果交付,计算设备与边缘服务器进行通信,使得买卖双方效用最大化,具体的,基于区块链的移动边缘计算中的资源分配方法包括如下步骤:
[0070]
步骤1、建立基于stackelberg博弈的内外双循环模型。
[0071]
建立基于stackelberg博弈的内外双循环模型具体包括如下步骤:
[0072]
步骤1-1:将服务供应商定价策略p、精度阈值δ初始化,外循环索引hq=1;
[0073]
步骤1-2:作为stackelberg博弈的另一方追随者的区块链节点重复使用admm算法进行外循环,对服务供应商利润优化,使服务供应商基于区块链节点服务需求x调整其边际价格p
ij

[0074]
步骤1-3:所述区块链节点重复使用admm算法进行效用优化,根据定价策略p调整其服务需求,上传本地模型至边缘服务器。
[0075]
具体包括如下步骤:
[0076]
步骤1-3-1、边缘服务器在联邦学习过程中作为参数服务器运行程序、进行任务调度、向全体区块链节点广播全局模型以及触发区块链节点学习,边缘服务器接收来自区块链节点的带有时间戳的本地模型,对全局模型进行更新;
[0077]
步骤1-3-2、定义超参数α,本地模型的陈旧性表征为0≤α≤1,δti为区块链节点i∈t上传本地模型相对于触发计算任务区块链节点所处轮次全局模型更新的滞后时间;
[0078]
步骤1-3-3、hp是内循环索引,为上轮迭代获得的全局模型,为上轮迭代获得的全局模型,为本轮次迭代中所获得的本地模型,通过超参数α控制全局模型更新的权重,即:
[0079]
步骤1-3-4、当δti≤0时,该本地模型不存在陈旧性,此时全局模型为区块链节点所上传的本地模型,当δti≥0时,陈旧性较大,由于不能按时完成更新任务的模型,会对全局模型造成一定影响,可通过减小超参数α来降低该模型在全局更新中所占的权重,从而削弱这一影响,建立陈旧模型
[0080][0081]
其中δti=t-τ,τ为延迟,am>0,an≥0,
[0082]
当t-τ≤an,则sa(t-τ)=1,即更新后混合超参数不变,此时为最新的本地模型,当t-τ增大,模型陈旧,则陈旧函数sa(t-τ)减小,超参数α也减小,将超参数α更新如下:
[0083][0084]
步骤1-3-5、每一轮进行本地更新的迭代时,区块链节点都要更新服务需求xi,其中
[0085][0086]
其中,φ为正则化变量,表示为:其中,φ为正则化变量,表示为:阻尼因子ρ>0,ω为admm的引入对偶变量,更新为:阻尼因子ρ>0,ω为admm的引入对偶变量,更新为:hli为区块链节点获得的利润;
[0087]
步骤1-3-6、边缘服务器根据接收到的时间戳对所接受的本地模型进行排序,并对全局模型进行更新。
[0088]
步骤1-4:服务供应商对步骤1-3上传的本地模型进行基于陈旧性的排序及全局更新权重分配,分发全局模型,触发区块链节点学习;
[0089]
步骤1-5:重复以上步骤1-1至步骤1-4直至相邻的两次迭代全体服务器供应商利润差值小于阈值,则结束迭代,具体包括如下步骤:
[0090]
步骤1-5-1:服务供应商熟悉区块链节点上轮迭代的服务需求xi
(n)
,由此预测本轮迭代区块链节点服务需求,以此调整定价策略,服务供应商j∈s边际价格更新为:
[0091][0092]
其中,pj表示服务供应商j∈s的定价策略,пj表示服务供应商j∈s的利润;
[0093]
步骤1-5-2:进行外循环算法时,供应商在每轮迭代中更新定价策略以便区块链节点进行服务需求的更新;
[0094]
步骤1-5-3:当最后两次迭代的供应商利润差值小于阈值,即:3:当最后两次迭代的供应商利润差值小于阈值,即:时,迭代结束。
[0095]
步骤2、建立基于边缘计算的公共网络定价模型。
[0096]
建立基于边缘计算的公共网络定价模型具体包括如下步骤:
[0097]
步骤2-1:建立边缘计算框架下的公共网络定价服务管理模型,在计算过程中,区块链节点终端设备的计算资源通常是有限的,区块链节点可能无法解决pow难题,无法承担公共区块链工作量证明等密集计算任务的高昂代价,换言之,具有更多计算资源的区块链节点才能解决这个pow难题,这也导致更高的成本需求,具体包括如下步骤:
[0098]
步骤2-1-1、将一轮完整的区块链添加新块,具体过程包括块计算过程和块验证过程,在块计算过程中,一个移动终端的有效计算能力与相应区块链节点租用的计算资源成比例,区块链节点t={1,2,...,t}获取来自服务供应商s={1,2,...,s}的计算服务确保完成计算验证过程时,会向其支付一定酬劳,将该酬劳定价为pj={p
1j
,p
2j
,...p
tj
};
[0099]
步骤2-1-2、每个区块链节点都有一定的初始计算能力,记为fi。因此,区块链节点
i∈t的总算力即为区块链节点的服务需求与其初始算力之和其中,h
ij
为区块链节点i∈t对服务供应商j∈s的选择概率,x
ij
为区块链节点i∈t对服务供应商j∈s的服务需求。
[0100]
步骤2-1-3、c
ij
为所定义价格上限与服务供应商边际价格p
ij
的差值,则有对区块链节点算力进行归一化,定义区块链节点i∈t的相对算力ri为该区块链节点绝对算力与全体区块链节点绝对算力之比。
[0101]
步骤2-2:将区块链节点相互竞争通过最小的服务成本获得最大出块奖励的过程,建模为泊松过程,以达到区块链节点的最大化效益目标,具体为:
[0102]
区块链节点出块奖励由固定奖励g和与区块大小呈线性关系的可变奖励gti构成,其中,g表示给定的可变奖励因子,ti为区块链节点i∈t所计算区块所包含的交易量,即区块大小,区块链节点工作时需要向服务供应商支付服务成本,定义p
ij
为区块链节点i∈t向服务供应商j∈s支付计算服务的边际价格,要使效益最大,则需服务成本最小或者出块奖励达到最大,供应商的定价策略表示为pj,最大化效益为,最大化效益为
[0103]
当协同计算网络中的计算设备或者边缘服务器计算出pow问题后,会将结果广播给整个协同计算网络进行验证,传播时延越长,则在未接收到新块产生时其他计算设备继续计算导致在旧块的基础上产生分叉的概率越大。在产生分叉的情况下,则会出现有若干个计算设备的计算结果都会被接受成为新块的情况,此时则舍弃这一轮计算过程,重新开始新一轮计算。分叉情况不仅会浪费计算资源和电源,而且会拖延新区块链的生成。
[0104]
本发明假设块的到达服从泊松分布,则区块链块间隔到达有一定延迟,记到达速率为λ,为固定值,移动终端j向协同计算网络计算设备传播结果的最大传播时延为τ(ti),由区块大小ti所决定,即τ(ti)=μti,μ>0,μ为固定因子。
[0105]
区块链节点成功计算出区块并达成共识,区块链节点获得出块奖励,主要包含两个过程:计算过程与广播过程。在计算过程,区块链节点i∈s计算成功的概率与其相对算力ri的大小呈正比;在区块广播过程中,可能存在两个区块在较短的时间间隔中被计算,由于不同节点的广播时延存在差异,当广播节点以相反的顺序接收时,则由于传播时延造成孤块产生的概率为区块链节点i成功计算并成功验证的概率为
[0106][0107]
将区块链节点i获得的利润效益重写为
[0108][0109]
其中,h
ij
为区块链节点i∈t对服务供应商j∈s的选择概率。
[0110]
步骤2-3:提出一种服务供应商进行竞争性定价以最大化其利润策略。
[0111]
边缘服务供应商向区块链节点提供计算服务,相应地向区块链节点收取报酬,以抵消其运营过程中产生的资源消耗,并获得利润。服务供应商j∈s的成本与区块链节点对其服务需求呈线性关系,可表示为z∑
i∈t
x
ij
,其中z为成本系数。服务供应商进行竞争性定
价以最大化其利润,该利润表示为可表示为服务供应商利润最大化问题:
[0112][0113][0114]
其中,pj为边缘服务供应商的定价策略,p-j
为其余供应商的定价策略,x为区块链节点的服务需求。
[0115]
当服务供应商定价降低,基于服务成本约束,各服务供应商间进行定价竞争,以求获得最大预期利润。
[0116]
定义一种机制最大化服务供应商利润,同时考虑区块链节点效用的最大化,具体激励机制表述如下:
[0117][0118][0119]
其中,h
ij
为区块链节点i∈t对服务供应商j∈s的选择概率,d
max
是区块链节点最大服务需求。
[0120]
步骤3、基于异步联邦优化对stackelberg博弈内外双循环定价模型问题进行求解。
[0121]
步骤4、构建一个基于区块链的移动边缘计算系统中的计算卸载模型。
[0122]
在用户子博弈中,每个用户b
n,i
决定q
n,i
,要购买的计算资源,目标在给定的资源价格下最大化效用。在公式中定义用户的效用函数是连续的:
[0123][0124]
函数的二阶导数计算为如下:
[0125][0126]
因为β
n,i
≥0和cn>0,可以得到因此,用户的效用e
n,i
是变量q
n,i
的严格凹函数。
[0127]
在给定的计算资源价格下,用户购买的最有计算资源量为:
[0128][0129]
根据上式,可以重新计算区块链节点的效用en:
[0130][0131]
接下来,将讨论esp是否是过载的不同情况。
[0132]
(1)情况1:θn=0,即esp没有过载:
[0133]
espen的效用变成了:
[0134][0135]
该函数的二阶导数计算为:
[0136][0137]
因为w>0,β≥0和cn>0,我们可以得到
[0138]
(2)情况2:θn=1,即esp过载:
[0139]

模式0:esp选择将多余的任务卸载给csp。esp的效用如下:
[0140][0141]
该函数的一阶导数为:
[0142][0143]
该函数的二阶导数为:
[0144][0145]
因为w>0,β≥0和cn>0,可以得到
[0146]

模式1:esp选择将多余的任务卸载给其他esp。esp的效用如下:
[0147][0148]

模式3:esp选择将多余的任务卸载给csp和其他esp。esp的效用如下:
[0149][0150]
该函数的二阶导数为:
[0151][0152]
因为w>0,β
n,i
≥0和cn>0,可以得到
[0153]en
是一个严格的的凹函数。
[0154]
步骤5、对步骤4的计算卸载模型问题求解。
[0155]
本发明实施列提供了一种合作的移动边缘计算(mec)辅助区块链模型,对边缘计算基于区块链协同计算卸载和资源分配提出了一种多领导者多追随者stackelberg博弈模型,针对区块链和移动边缘计算混合应用的计算资源分配问题,提出面向mec系统和区块链系统的联合计算资源分配模型和算法。所述方法包括:将联合计算卸载和资源服务定价问题作为一个计算服务定价管理模型,边缘服务供应商向区块链节点提供计算服务,相应地向区块链节点收取报酬,以抵消其运营过程中产生的资源消耗,以此获得利润;采用两阶段斯塔克尔伯格博弈分析每个阶段的子博弈优化问题,并利用异步联邦学习,区块链节点重复使用admm算法进行效用优化,根据定价策略调整其服务需求,以实现stackelberg博弈的纳什均衡。
[0156]
以上所述仅为本发明的实施方式而已,并不用于限制本发明。对于本领域技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原理的内所作的任何修改、等同替换、改进等,均应包括在本发明的权利要求范围之内。

技术特征:
1.一种基于区块链的移动边缘计算中的资源分配方法,其特征在于:所述资源分配方法包括以下步骤:步骤1、建立基于stackelberg博弈的内外双循环模型;步骤2、建立基于边缘计算的公共网络定价模型;步骤3、基于异步联邦优化对stackelberg博弈内外双循环定价模型问题进行求解;步骤4、构建一个基于区块链的移动边缘计算系统中的计算卸载模型;步骤5、对步骤4的计算卸载模型问题求解。2.根据权利要求1所述的一种基于区块链的移动边缘计算中的资源分配方法,其特征在于:步骤1建立基于stackelberg博弈的内外双循环模型具体包括如下步骤:步骤1-1:将服务供应商定价策略p、精度阈值δ初始化,外循环索引hq=1;步骤1-2:作为stackelberg博弈的另一方追随者的区块链节点重复使用admm算法进行外循环,对服务供应商利润优化,使服务供应商基于区块链节点服务需求x调整其边际价格p
ij
;步骤1-3:所述区块链节点重复使用admm算法进行效用优化,根据定价策略p调整其服务需求,上传本地模型至边缘服务器;步骤1-4:服务供应商对步骤1-3上传的本地模型进行基于陈旧性的排序及全局更新权重分配,分发全局模型,触发区块链节点学习;步骤1-5:重复以上步骤1-1至步骤1-4直至相邻的两次迭代全体服务器供应商利润差值小于阈值,则结束迭代。3.根据权利要求2所述的一种基于区块链的移动边缘计算中的资源分配方法,其特征在于:步骤1-3中区块链节点重复使用admm算法进行效用优化,根据定价策略p调整其服务需求,上传本地模型至边缘服务器,具体包括如下步骤:步骤1-3-1、边缘服务器在联邦学习过程中作为参数服务器运行程序、进行任务调度、向全体区块链节点广播全局模型以及触发区块链节点学习,边缘服务器接收来自区块链节点的带有时间戳的本地模型,对全局模型进行更新;步骤1-3-2、定义超参数α,本地模型的陈旧性表征为0≤α≤1,δt
i
为区块链节点i∈t上传本地模型相对于触发计算任务区块链节点所处轮次全局模型更新的滞后时间;步骤1-3-3、hp是内循环索引,为上轮迭代获得的全局模型,为上轮迭代获得的全局模型,为本轮次迭代中所获得的本地模型,通过超参数α控制全局模型更新的权重,即:步骤1-3-4、当δt
i
≤0时,该本地模型不存在陈旧性,此时全局模型为区块链节点所上传的本地模型,当δt
i
≥0时,陈旧性较大,建立陈旧模型其中δt
i
=t-τ,τ为延迟,am>0,an≥0,当t-τ≤an,则sa(t-τ)=1,即更新后混合超参数不变,此时为最新的本地模型,当t-τ增大,模型陈旧,则陈旧函数sa(t-τ)减小,超参数α也减小,将超参数α更新如下:
步骤1-3-5、每一轮进行本地更新的迭代时,区块链节点都要更新服务需求x
i
,其中其中,φ为正则化变量,表示为:其中,φ为正则化变量,表示为:阻尼因子ρ>0,ω为admm的引入对偶变量,更新为:阻尼因子ρ>0,ω为admm的引入对偶变量,更新为:hl
i
为区块链节点获得的利润;步骤1-3-6、边缘服务器根据接收到的时间戳对所接受的本地模型进行排序,并对全局模型进行更新。4.根据权利要求1所述的一种基于区块链的移动边缘计算中的资源分配方法,其特征在于:步骤1-5中重复以上步骤1-1至步骤1-4直至相邻的两次迭代全体服务器供应商利润差值小于阈值,则结束迭代,具体包括如下步骤:步骤1-5-1:服务供应商熟悉区块链节点上轮迭代的服务需求xi
(n)
,由此预测本轮迭代区块链节点服务需求,以此调整定价策略,服务供应商j∈s边际价格更新为:其中,p
j
表示服务供应商j∈s的定价策略,π
j
表示服务供应商j∈s的利润;步骤1-5-2:进行外循环算法时,供应商在每轮迭代中更新定价策略以便区块链节点进行服务需求的更新;步骤1-5-3:当最后两次迭代的供应商利润差值小于阈值,即:3:当最后两次迭代的供应商利润差值小于阈值,即:时,迭代结束。5.根据权利要求1所述的一种基于区块链的移动边缘计算中的资源分配方法,其特征在于:步骤2建立基于边缘计算的公共网络定价模型具体包括如下步骤:步骤2-1:建立边缘计算框架下的公共网络定价服务管理模型;步骤2-2:将区块链节点相互竞争通过最小的服务成本获得最大出块奖励的过程,建模为泊松过程,以达到区块链节点的最大化效益目标;步骤2-3:提出一种服务供应商进行竞争性定价以最大化其利润策略。6.根据权利要求4所述的一种基于区块链的移动边缘计算中的资源分配方法,其特征在于:步骤2-2将区块链节点相互竞争通过最小的服务成本获得最大出块奖励的过程,建模为泊松过程,以达到区块链节点的最大化效益目标,具体包括如下步骤:步骤2-2-1、区块链节点出块奖励由固定奖励g和与区块大小呈线性关系的可变奖励gt
i
构成,其中,g表示给定的可变奖励因子,t
i
为区块链节点i∈t所计算区块所包含的交易量,即区块大小,区块链节点工作时需要向服务供应商支付服务成本,定义p
ij
为区块链节点i∈t向服务供应商j∈s支付计算服务的边际价格,供应商的定价策略表示为p
j
,最大化效益为
步骤2-2-2、假设块的到达服从泊松分布,则区块链块间隔到达有一定延迟,记到达速率为λ,为固定值,移动终端j向协同计算网络计算设备传播结果的最大传播时延为τ(t
i
),由区块大小t
i
所决定,即τ(t
i
)=μt
i
,μ>0,μ为固定因子,由于传播时延造成孤块产生的概率为区块链节点i成功计算并成功验证的概率为步骤2-2-3、将区块链节点i获得的利润效益重写为其中,h
ij
为区块链节点i∈t对服务供应商j∈s的选择概率。7.根据权利要求1所述的一种基于区块链的移动边缘计算中的资源分配方法,其特征在于:步骤4中,当esp上的验证计算任务超过其计算能力时,esp有三种模式来处理这种情况即三种计算卸载模型:一个是将验证计算任务卸载到csp即模式0,第二个是将验证计算任务卸载到其他esp即模式1,第三个是将验证计算任务卸载到其他esp和csp即模式2,将espe
n
超过的任务定义为:具体的卸载过程包括如下步骤:步骤4-1、将验证计算任务卸载到csp即模式0,在这种模式下,用户的计算任务卸载到esp上,由于esp计算资源的不足,过载的esp会将多余的验证计算任务卸载到csp上,模式0的延迟为:其中,分别为esp与云之间的传输延迟、云的执行时间、a卸载到云的总延迟;γ(a)为a的单位工作量;步骤4-2、将验证计算任务卸载到esp即模式1在这种模式下,过载的esp会将多余的验证计算任务卸载到其他esp上,模式1的延迟为:其中,和t
e
(a)分别是esp之间的传输延迟、espe
n
的执行时间和将a卸载到其他esp的总延迟,ρ
n
∈[0,1](n∈{1,2,...,k})k是任务a卸载到其他esp的比率,其中步骤4-3、将验证计算任务卸载到csp和其他esp即模式2,在这种模式下,过载的esp会将多余的验证计算任务卸载给csp和其他esp,模式2之间的延迟为:t(a)=(1-δ
n
)t
c
(a)+δ
n
t
e
(a);其中,t
c
(a)和t
e
(a)分别为esp与云之间的传输延迟,esp与esp之间的延迟。

技术总结
本发明属于边缘计算技术领域,公开了一种基于区块链的移动边缘计算中的资源分配方法,包括:步骤1、建立基于stackelberg博弈的内外双循环模型;步骤2、建立基于边缘计算的公共网络定价模型;步骤3、基于异步联邦优化对Stackelberg博弈内外双循环定价模型问题进行求解;步骤4、构建一个基于区块链的移动边缘计算系统中的计算卸载模型;步骤5、对步骤4的计算卸载模型问题求解。本发明确保服务质量的同时最小化移动设备的能耗代价,使得买卖双方效用最大化。用最大化。用最大化。


技术研发人员:张宇晴 余雪勇 陈云清 张艳
受保护的技术使用者:南京邮电大学
技术研发日:2023.05.17
技术公布日:2023/9/23
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐