基于区块链共享的边缘云服务并行资源分配方法
未命名
08-18
阅读:114
评论:0
1.本发明属于边缘云计算技术领域,具体涉及一种基于区块链共享的边缘云服务并行资源分配方法。
背景技术:
2.随着移动设备的普及和物联网(internet ofthings,iot)的发展,大量计算密集型和延迟敏感型移动应用不断涌现,例如人脸识别、增强/虚拟现实(augmented/virtual reality,ar/vr)等。这些物联网应用程序需要做出智能决策,以满足用户的实时请求,实现更高的服务级别协议(service level agreement,sla)。在这种情况下,边缘计算是解决上述问题的新兴方案。它通过大量地理上分布的边缘云服务器或靠近移动设备的算力节点为用户提供丰富的计算资源,这些算力节点记为算力提供商(computing power providers,cpp)。此外,这些算力节点被划分成不同的区域(即,算力资源池),其中每个区域具有资源代理(即数据中心)来管理它们。进而,一个面向用户和cpp之间的边缘云资源交易双边市场逐渐形成。值得注意的是,大多数cpp已不再私有化,而是属于某些公司或组织。
3.区块链作为新兴技术,为边缘云资源交易提供了一个可靠的平台,同时为移动用户提供了安全透明的交易记录和管理。但随着设备数量和区块链事务(transactions,tx)规模的快速增长,可扩展性成为区块链在资源交易市场部署的瓶颈。因此,研究用于资源交易的高扩展性区块链系统变得越来越重要。
4.资源池和区块链分片不同,它们包含多样的分布式cpp。此外,区块链网络的安全性与分片的数量和所包含的cpp相关。但是,目前的资源分配机制并未同时考虑区块链网络的安全性和可扩展性。另外,大多数现有工作将资源分配问题建模为单相算法。同时,这些工作认为资源被单独用于移动服务或区块链tx服务,他们忽略了并行执行这两个服务的可行性。同时,用户到达请求和区块链tx的不确定性也会给并行资源分配带来困难。因此,如何分发用户请求,如何最小化计算资源分配的成本成为亟待解决的问题。
技术实现要素:
5.针对以上问题,本发明提出了一种基于区块链共享的边缘云服务并行资源分配方法,引入资源运营商,其从cpp租赁资源,然后卖给移动用户。为解决以上技术问题,本发明所采用的技术方案如下:
6.一种基于区块链共享的边缘云服务并行资源分配方法,包括如下步骤:
7.s1,构建包括移动服务子系统和区块链服务子系统的区块链资源交易系统,且移动服务子系统和区块链服务子系统并行运行,所述移动服务子系统用于借助算力资源池处理移动用户终端的请求,区块链服务子系统用于借助算力资源池处理移动用户终端的区块链事务;
8.所述算力资源池通过对系统内所有cpps所提供的计算资源根据区域划分得到;
9.s2,设置资源分配周期θ及区块链主节点确认周期并对请求调度时隙进行初始
化t=0,且为θ的整数倍;
10.s3,基于拜占庭容错共识机制,以最大化区块链服务子系统的可扩展性,并以获得最佳分片数量、最佳大区块生成间隔、最佳事务区块大小以及每个区块链分片中的最佳主节点为目标构建第一目标函数;
11.s4,将第一目标函数的求解问题描述为马尔可夫过程,基于深度学习方法对第一目标函数进行求解;
12.s5,基于算力资源池为移动用户终端所分配的计算资源和资源单价计算总资源租赁成本,以最小化总资源租赁成本,并以满足sla要求、区块链服务子系统的计算资源不超过事务吞吐量为约束条件构建第二目标函数;
13.s6,利用lyapunov理论并通过最小化漂移加惩罚项将第二目标函数转化为混合非线性整数规划问题;
14.s7,利用rnn和非线性规划理论对演员评论家算法中的actor网络和critic网络进行更新,利用更新后的演员评论家算法将步骤s6中的混合非线性整数规划问题转化为非线性规划问题,基于序贯最小二乘规划算法对非线性规划问题进行求解获取最佳请求调度策略和最佳资源调度策略;
15.s8,利用最佳请求调度策略和最佳资源调度策略对移动用户终端的请求和区块链事务进行处理;
16.s9,执行t=t+1,判断t%θ是否为0,如果不为0执行步骤s10,否则判断是否为0,如果为0返回步骤s3,否则执行步骤s5;
17.s10,利用线性优化理论对步骤s6中的混合非线性整数规划问题进行求解获取更新的最佳请求调度策略;
18.s11,利用步骤s8中的最佳资源调度策略和步骤s10中更新的最佳请求调度策略对移动用户终端的请求和区块链事务进行处理后,返回步骤s9。
19.所述步骤s3包括如下步骤:
20.s3.1,基于事务吞吐量计算区块链服务子系统的可扩展性;
21.s3.2,采用拜占庭容错共识机制基于事务的处理流程计算事务总处理时间;
22.s3.3,基于共识协议建立拜占庭容错共识机制的安全模型,基于安全模型计算区块链分片的安全概率;
23.s3.4,根据区块链事务的传输流程确认总事务确认时间,以最大化整个区块链网络的可扩展性,并获得每个区块链分片中的最佳主节点、区块链网络中的最佳分片数量、最佳大区块生成间隔和事务区块的最佳大小为目标构建第一目标函数,并将保证每个区块链分片的安全性、总事务确认时间不超过限制作为约束条件。
24.所述第一目标函数的表达式为:
[0025][0026][0027]
su≥msb≥0;
[0028]
t
tra
+t
fin
+t
pro
≤λtg;
[0029]
式中,表示区块链分片中的最佳主节点,m
*
表示最佳区块链分片数量,表示事务区块的最佳区块大小,表示最佳大区块生成间隔,su表示事务区块大小上限,λ表
示时间因子,m表示区块链分片的数量,表示事务吞吐量计算函数,sb表示事务区块大小,tg表示大区块生成间隔,t
tra
表示初始共识的传输时间,t
fin
表示最终共识的传输时间,t
pro
表示区块链事务的总处理时间,表示区块链分片的安全概率,且m∈{1,2,...,m},β表示安全参数。
[0030]
在步骤s5中,所述第二目标函数的表达式为:
[0031][0032][0033][0034][0035][0036][0037]
式中,x表示移动用户终端所生成请求的调度策略的集合,f表示为移动用户终端的请求在算力资源池中所租用的各类型的算力单元量的集合,α表示运营商从租用给移动用户终端的算力资源池中分配给区块链分片的资源比例的集合,w表示算力资源池分配给移动用户终端的带宽的集合,p表示移动用户终端到算力资源池的发射功率的集合,表示惩罚函数,表示移动用户终端i的请求在算力资源池j中的请求调度策略,f
ji,k
(t)表示时隙t时为移动用户终端i的请求在算力资源池j中所租用的类型为k的算力单元量,表示算力资源池的集合,表示移动用户终端的集合,f
max
表示所有算力资源池为用户提供的最大计算资源,表示时隙t时分配给算力资源池j中的移动用户终端i的请求的总延迟,tdelay
max
表示用户可忍受的最大处理时延,m表示区块链分片数量,n表示移动用户终端数量,表示区块链分片在时隙t时处理的来自移动用户终端i的事务数量,sb表示事务区块大小,tg表示大区块生成间隔,yi表示移动用户终端i的任务期限。
[0038]
所述惩罚函数的计算公式为:
[0039][0040]
式中,j表示算力资源池数量,表示时隙t时移动用户终端i在算力资源池j的资源租赁成本,rb表示维护区块链事务的奖励因子。
[0041]
所述步骤s7包括如下步骤:
[0042]
s7.1,构建包括rnn和注意力层的神经网络替代演员评论家算法中的actor网络;
[0043]
s7.2,critic网络基于更新后actor网络的输出将步骤s6中的混合非线性整数规划问题转化为非线性规划问题;
[0044]
s7.3,利用序贯最小二乘规划算法对步骤s7.2中的非线性规划问题进行求解获取最佳请求调度策略和最佳资源分配策略;
[0045]
所述最佳请求调度策略是指为移动用户终端的请求所分配的最佳算力资源池,最佳资源分配策略包括为移动用户终端的请求所租用的最佳算力单元量、分配给区块链分片的最佳资源比例、算力资源池分配给移动用户终端的最佳带宽以及移动用户终端到算力资
源池的最佳发射功率。
[0046]
本发明的有益效果:
[0047]
本文针对边缘云服务提出了基于区块链分片技术的并行资源分配框架,该框架可以并行地为移动用户的业务需求和区块链事务进行资源分配,包括区块链分片和多尺度资源分配两个方面,在运营商成本最小化的同时并行处理移动服务和区块链txs;采用分层分片来划分实用拜占庭容错(pbft)共识,提高了区块链子系统的可扩展性和安全性,此外,还获得了最优的分片策略,以支持资源的多样化服务,同时保证可扩展性;
[0048]
为解决资源分配稳定性问题,本技术采用lyapunov优化框架来解决资源池和区块链分片中发生的队列拥塞。此外,该框架致力于最小化算力交易资源的成本,并保证移动用户的sla。数值仿真结果表明,本技术可以在系统成本、队列稳定性和用户sla之间实现良好的平衡,在保证系统安全性的同时,在平均数据处理效率上提升了20.88%。
附图说明
[0049]
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0050]
图1为本发明的流程示意图。
[0051]
图2为在区块链分片方面本发明与其它方案的对比示意图。
[0052]
图3为在队列稳定性方面本发明与其它方案的对比示意图。
[0053]
图4为在不同移动用户数量的影响方面本发明与其它方案的对比示意图。
[0054]
图5为在时间间隔和奖励因素的影响方面本发明与其它方案的对比示意图。。
具体实施方式
[0055]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0056]
一种基于区块链共享的边缘云服务并行资源分配方法,包括如下步骤:
[0057]
s1,构建包括移动服务子系统和区块链服务子系统的区块链资源交易系统,且移动服务子系统和区块链服务子系统并行运行;
[0058]
如图1所示,在边缘云区块链资源交易系统中,移动服务子系统和区块链服务子系统并行执行。所述移动服务子系统用于借助算力资源池处理移动用户终端的请求,算力资源池是通过对系统内所有cpps所提供的计算资源根据区域划分得到,每个算力资源池都有一个资源代理,用于管理其所包含的cpps,这些资源代理组成了在区块链服务子系统中管理全球区块链的代理组。实际上,资源代理可以是系统的数据中心。该系统中主要的参与者包括移动用户、cpp、运营商以及资源代理,具体地,cpp通过运营商出售算力资源池中的计算资源给移动服务子系统和区块链服务子系统,并提供多样化服务以赚取收入。运营商从分布式cpp处租用计算资源,并将其出售给多个移动用户,运营商的主要目标是最小化资源
租赁成本,同时并行分配资源以满足两个子系统的业务需求。移动用户通过运营商购买移动服务也即购买若干个算力单元作为其计算资源以处理其终端的业务需求,弥补本身的资源贫乏,区块链服务子系统作为支撑,以对移动用户终端的区块链类的业务也即区块链事务进行处理。
[0059]
移动用户终端的集合采用表示,移动用户终端的索引为i,且i∈{1,...,n},n表示移动用户终端数量,移动用户终端i在时隙t的请求采用《yi,si(t)》表示,其中,yi表示移动用户终端i的任务期限,也即延迟sla要求,si(t)表示移动用户终端i在时隙t的任务负载也即任务大小,目也即任务大小,目表示最大任务大小也即最大任务负载。cpp的集合采用表示,cpp的索引为z,且z∈{1,
…
,z},z表示cpp数量。算力资源池的集合采用表示,算力资源池的索引为j,且j∈{1,...,j},j表示算力资源池数量,每个cpp包含k种类型的算力单元,且k∈{1,...,k},k表示算力单元类型总数,算力单元的所有类型的集合采用表示。在区块链服务子系统中,将分布式算力资源池中的所有cpps划分为多个不同的区块链分片,其包含m个局部区块链也即区块链分片和一个全局链区块链分片采用表示,且m∈{1,2,...,m}。在本技术中只考虑区块链分片的资源分配。
[0060]
由于分布式cpp的丰富的计算资源,cpp不仅提供移动服务,还可以充当区块链网络的节点。在这种情况下,运营商从分布式cpp租用资源,以保证用户的sla,同时提供足够的资源来维护区块链网络。算力资源池和区块链分片中的cpp可能不相同,即cpp在第j个算力资源池中,但可能属于第m个区块链分片。由于市场结构的动态和不稳定性,区块链资源交易系统的资源分配问题非常复杂。通常,区块链资源交易系统的目标是在满足两个子系统的业务需求(即用户的sla和服务/tx的稳定性)的同时,最大限度地降低资源租赁成本。同时,为了确保系统的健壮性,本技术采用了并行资源交易框架来实现区块链分片和资源分配。本技术将以成本最小化的方式为两个子系统提供分配策略,包括两个步骤:(i)请求调度,它在短时间内将来自移动用户的请求调度到不同的算力资源池;(ii)并行资源分配,将资源长期分配给两个子系统。
[0061]
s2,设置资源分配周期θ及区块链主节点确认周期并对请求调度时隙进行初始化t=0,目为θ的整数倍;
[0062]
本技术中请求调度时隙作为短时间尺度,在每个短时间尺度内确认一次最佳请求调度策略,资源分配周期为长时间尺度,θ为t的正整数倍,在每个长时间尺度内确认一次最佳资源调度策略。
[0063]
s3,基于拜占庭容错共识机制,以最大化区块链服务子系统的可扩展性,并以获得最佳分片数量、最佳大区块生成间隔、最佳事务区块大小以及每个区块链分片中的最佳主节点为目标构建第一目标函数,包括如下步骤:
[0064]
s3.1,基于事务吞吐量(tx吞吐量)计算区块链服务子系统的可扩展性;
[0065]
对于区块链服务子系统,可扩展性是关键因素,可以通过事务吞吐量也即区块链可以处理的每单位时间的事务数量来评估,其计算公式为:
[0066][0067]
式中,表示事务吞吐量计算函数,sb表示事务区块大小,tg表示大区块生成间隔。
[0068]
s3.2,采用pbft共识机制基于事务的处理流程计算事务总处理时间;
[0069]
在本技术中,采用pbft(practical byzantine fault tolerant,拜占庭容错机制)共识,因为它在异步网络中具有良好的安全特性。通常,txs首先由相应的区块链分片验证,以完成初始共识,并打包成微区块,然后由全局区块链打包成一个大区块,以实现最终共识。假设所有经过验证的cpp都是诚实的。初始共识的传输时间采用t
tra
表示,其计算公式为:
[0070][0071]
式中,表示区块链分片的集合,表示将txs发送到区块链分片的传输时间。
[0072]
传输时间的计算公式为:
[0073][0074]
式中,表示cpp的事务传输速率,且其中,表示区块链分片中cpp到cpp的电线链路速率,
[0075]
当对区块链事务进行处理时,区块链事务的总处理时间包括区块链分片的打包时间、将打包的微区块交付给全局链的交付时间以及大区块生成时间。区块链分片的打包时间采用表示,其计算公式为:
[0076][0077]
式中,表示处理每单位大小的区块所需的算力单元,cz表示cpp z的cpu周期频率,是一个指示变量,如果cpp是区块链分片的当前微区块生产者,则为1,否则为0。
[0078]
区块链分片和全局链之间的传递时间也即区块链分片所打包的微区块交付给全局链的交付时间采用表示,其计算公式为:
[0079][0080]
式中,表示区块链分片和全局链之间的传输速率。
[0081]
大区块生成时间采用tg表示,因此,区块链事务的总处理时间为:表示,因此,区块链事务的总处理时间为:
[0082]
最终共识的传输时间采用t
fin
表示,其计算公式为:
[0083][0084]
式中,表示全局链中共识节点的传输速率,和均表示全局链中的共识节点。最终共识的传输时间、区块链事务的总处理时间以及初始共识的传输时间的总合即为总事务确认时间。
[0085]
s3.3,基于共识协议建立pbft共识机制的安全模型,基于安全模型计算区块链分片的安全概率;
[0086]
作为评估区块链网络性能的关键因素,安全性被认为是抵御拜占庭节点操纵共识协议的能力。一般地,pbft共识的安全模型为z
′
≥3f+1,其中,z
′
表示所有共识cpp的数量,f
表示恶意节点的数量。另外,每个区块链分片的安全性也与分片的数量相关,具体如下:
[0087]
在本系统中,所有区块链节点(例如cpps)被划分成m个组也即区块链分片,每个组都包含有个cpps,且假设cpp的恶意概率为并将离散变量表示为区块链分片中恶意节点的数量,区块链分片的安全概率的计算公式为:
[0088][0089]
本技术将所提出的边缘云区块链资源交易系统的安全约束定义为其中,β表示安全参数。
[0090]
综上,本技术以最大化整个区块链网络的可扩展性,并获得每个区块链分片中的最佳主节点、区块链网络中的最佳分片数量、最佳大区块生成间隔和事务区块的最佳大小为目标构建第一目标函数,即:
[0091][0092][0093]
su≥msb≥0; (8b)
[0094]
t
tra
+t
fin
+t
pro
≤λtg; (8c)
[0095]
式中,表示区块链分片中的最佳主节点,m
*
表示最佳区块链分片数量,表示事务区块的最佳区块大小,表示最佳大区块生成间隔,su表示事务区块大小上限,λ表示时间因子,为常数,且λ》1。约束条件8a保证了每个区块链分片的安全性,8b保证了事务区块的大小在上限su内,8c保证了总txs确认时间不超过限制λtg。
[0096]
s4,将第一目标函数的求解问题描述为马尔可夫过程,基于深度学习方法对第一目标函数进行求解,包括如下步骤:
[0097]
s4.1,定义区块链子系统的状态空间、动作空间和奖励函数;
[0098]
所述状态空间的表达式为:
[0099][0100]
式中,s(t)表示区块链子系统在时隙t时的状态,所述状态由无线链路的传输速率r={r
n,m
}和区块链节点的计算能力c={cz}组成,其中n≠m,并且其中,r
n,m
表示区块链节点之间的数据传输速率,cz表示区块链节点cpp z的计算能力。因此,s(t)可以表示为s(t)=[r,c]
(t)
。
[0101]
动作空间也即所有可能动作的集合的表达式为:
[0102][0103]
式中,a(t)表示区块链子系统在时隙t时的动作,由于需要确定区块链分片中的领导者也即最佳主节点、区块链分片的最佳数量、最佳事务区块大小和最佳区块间隔。因此,第t个时隙中的动作由四个变量a(t)=[y,m,sb,tg]
(t)
组成,其中
[0104]
奖励函数被定义为最大化区块链网络的可扩展性,其表达式为:
[0105][0106]
s4.2,将第一目标函数的求解问题描述为马尔可夫过程,采用基于深度强化学习的方法对第一目标函数进行求解得到最佳分片数量、最佳大区块生成间隔、最佳事务区块
大小以及每个区块链分片中的最佳主节点。
[0107]
s5,基于算力资源池为移动用户终端所分配的计算资源和资源单价计算总资源租赁成本,以最小化总资源租赁成本,并以满足sla要求、区块链服务子系统的计算资源不超过事务吞吐量为约束条件构建第二目标函数;
[0108]
运营商旨在解决以下三个目标:为移动服务实现令人满意的延迟sla、实现高速txs处理以及降低资源消耗方面的运营成本。同时,运营商致力于在有限的资源下实现服务的最大收益。为了表示两个子系统的租赁资源的成本,采用表示时隙t时移动用户终端i在算力资源池j的资源租赁成本,其计算公式为:
[0109][0110]
式中,表示算力资源池j中k类算力单元的单价,f
ji,k
(t)表示时隙t时为移动用户终端i的请求在算力资源池j中所租用的类型为k的算力单元量。本技术为了将三个目标整和,设计了一个惩罚函数该函数由总资源租赁成本减去区块链条事务的处理收益得到,其计算公式为:
[0111][0112]
式中,rb为常数,表示维护区块链事务的奖励因子,表示区块链分片在时隙t时处理的来自移动用户终端i的事务数量。
[0113]
事务数量的计算公式为:
[0114][0115]
式中,μk表示k类算力单元的权重,反映了区块链服务子系统中每类算力单元资源的重要性,且κ是与pbft协议的共识速度相关的归一化因子,κ越大,在相同的资源量下生成块就越容易,表示时隙t时运营商从租用给移动用户终端i的算力资源池j中分配给区块链分片的资源比例。
[0116]
以最小化惩罚函数为目标构建第二目标函数,其表达式为:
[0117][0118][0119][0120][0121][0122][0123]
式中,x表示移动用户终端所生成请求的调度策略也即变量的集合,f表示为移动用户终端的请求在算力资源池中所租用的各类型的算力单元量也即变量f
ji,k
(t)的集合,α表示运营商从租用给移动用户终端的算力资源池中分配给区块链分片的资源比例也即变量的集合,w表示算力资源池分配给移动用户终端的带宽也即变量w
ji
(t)的集
合,p表示移动用户终端到算力资源池的发射功率也即变量的集合,f
max
表示所有算力资源池为用户提供的最大计算资源,tdelay
max
表示用户可忍受的最大处理时延也即最大sla,表示时隙t时分配给算力资源池j中的移动用户终端i的请求的总延迟。约束条件15a是确保移动用户终端的请求在每个时隙中最多由一个算力资源池处理,约束条件15b是算力资源池内用户所需求的计算资源不超过资源限制,约束条件15c保证了用户任务处理时延不超过可忍受的最大阈值,约束条件15d确保分配给区块链服务子系统的资源能够达到一定的吞吐量,约束条件15e是算力资源池j中每个请求的延迟上限。
[0124]
时隙t时分配给算力资源池j中的移动用户终端i的请求的总延迟的计算公式为:
[0125][0126]
移动服务子系统中主要关注移动用户延迟sla,延迟sla要求的关键考虑因素是请求传输时间和队列等待延迟。本技术设定移动用户终端生成的请求被分派到算力资源池,并由cpps处理时,w
ji
(t)表示由算力资源池j在时隙t分配给移动用户终端i的带宽,且(t)表示由算力资源池j在时隙t分配给移动用户终端i的带宽,且其中,w
max
表示分配的总带宽上限。采用表示移动用户终端所生成请求的调度策略也即请求调度策略,当时,表示移动用户终端i在时隙t的请求被调度到算力资源池j,时表示移动用户终端i在时隙t的请求不被调度到算力资源池j。
[0127]
时隙t移动用户终端i与算力资源池j之间的上行传输比特率采用表示,其计算公式为:
[0128][0129]
式中,表示移动用户终端i到算力资源池j的发射功率,且p
max
表示发射功率上限,表示移动用户终端i和算力资源池j之间的信道增益,n0表示噪声功率。因此,算力资源池j中移动用户终端i的请求的传输时间的计算公式为:
[0130][0131]
不失一般性,一个任务负载单位需要一个时间单位,然后,算力资源池j中移动用户终端i的请求在队列中的等待时间采用表示,所述队列是指请求被分配到算力资源池后未能及时处理而生成的请求等待队列,的计算公式可以表示如下:
[0132][0133]
式中,表示时隙t时移动用户终端i的请求在算力资源池j中的总未处理数据队列也即请求等待队列,反映了待处理的任务负载,表示时隙t时算力资源池j中类型为k的算力单元的任务处理能力。
[0134]
本技术中的区块链资源交易系统可以被视为一个多队列系统,运营商保证两个子系统的每个队列在长时间内处于稳定状态。
[0135][0136]
式中,表示时隙t+1时移动用户终端i的请求在算力资源池j中的总未处理数据队列,事务等待队列是区块链事务被分配到算力资源池后未能及时处理而生成,表示算力资源池j中移动用户终端i所对应的区块链事务在事务等待队列中的等待时间,其表达式为:
[0137][0138]
式中,是算力资源池j租用给移动用户终端i的移动服务的剩余资源比例。
[0139]
另外,在区块链服务子系统中,分配给每个区块链分片的txs不能长期累积到无限大。因此,为了保持子系统稳定性,需要为每个区块链分片分配足够的资源,以及时处理到达事务等待队列中txs。移动用户终端i在时隙t时区块链分片的事务等待队列的队列长度采用表示,事务等待队列的演化定义为:
[0140][0141]
式中,表示时隙t时移动用户终端i到达区块链分片的事务大小,且a
max
表示用户的区块链事务大小上限,表示时隙t+1时区块链分片的事务等待队列。
[0142]
s6,利用lyapunov理论并通过最小化漂移加惩罚项将第二目标函数转化为混合非线性整数规划问题;
[0143]
p2是一个随机优化问题,本技术利用lyapunov(李雅普诺夫)技术将其转化为确定性问题,同时为了满足约束条件15d,为每个移动用户终端的请求所在的算力资源池引入虚拟延迟sla队列y
ji
(t)。令y
ji
(0)=0,同时虚拟延迟sla队列更新如下:
[0144][0145]
式中,y
ji
(t+1)表示t+1时隙下移动用户终端i所在的算力资源池j的虚拟延迟sla队列,fd表示正比例因子。
[0146]
本技术将请求等待队列、事务等待队列和虚拟延迟sla队列定义为总队列积压量,总队列积压量采用φ(t)表示,其公式为:
[0147][0148]
然后,将lyapunov函数l(φ(t))和lyapunov漂移l(φ(t))分别定义为:
[0149][0150]
由于在每个θ时隙分配资源(例如长时间尺度),θ时隙的lyapunov漂移通过以下公式计算:
[0151][0152]
式中,a
θ
l(φ(t))表示lyapunov漂移,l(φ(t+θ))表示t+θ时刻的lyapunov函数值。
[0153]
然后,通过最小化漂移加惩罚项将p2转换为p3,其表达式如下:
[0154][0155][0156][0157][0158][0159][0160]
式中,ω表示非负权重,表示τ时隙时的惩罚函数。p3是一个混合非线性整数规划(mixed integer nonlinear programming,minlp)问题。
[0161]
s7,利用rnn和非线性规划理论对演员评论家算法中的actor网络和critic网络进行更新,利用更新后的演员评论家算法将步骤s6中的混合非线性整数规划问题转化为非线性规划问题,基于序贯最小二乘规划算法对非线性规划问题进行求解获取最佳请求调度策略和最佳资源调度策略,包括如下步骤:
[0162]
s7.1,构建包括rnn和注意力层的神经网络替代演员评论家算法中的actor网络;
[0163]
演员网络由递归神经网络(recursive neural network,rnn)、注意力层依次连接组成。同时,本技术在输入层之后添加注意力层。由于用户请求和资源分配策略是未知的和可变的,它们会改变系统中的队列,并影响用户请求的请求调度策略。因此,在关键神经网络中引入了一种注意力机制,以获取有关移动用户的信息。注意机制是识别移动用户特性对系统效用的潜在影响,即记录系统中移动用户的权重,并从各种角度进行协调和平衡。
[0164]
基于注意力的rnn网络将数据队列和虚拟延迟sla队列y
ji
(t)作为输入,然后,输出多个请求调度决策的概率输入和输出之间的关系可以表示为
[0165]
s7.2,critic网络基于更新后actor网络的输出将步骤s6中的混合非线性整数规划问题转化为非线性规划问题;
[0166]
评论家优化通过解决非线性规划问题(non-linear programming,nlp)而不是rnn网络来评估请求调度策略基于actor网络给出了l种不同的请求调度策略critic网络结合请求调度策略将p3问题转化为基于目标函数g(
·
)的p4问题,资源分配被转换为非线性规划问题p4:
[0167][0168][0169][0170][0171][0172]
s7.3,利用序贯最小二乘规划算法(slsqp)对步骤s7.2中的非线性规划问题进行
求解获取最佳请求调度策略和最佳资源分配策略;
[0173]
设为最佳值,g(
·
)的计算进行了l次,以获得最佳请求调度决策之后,基于slsqp算法获得与相关联的包括的最佳资源分配策略。使用等式(20)和(23)更新队列积压。然后,再开始新的迭代时,将更新的队列参数输入到actor网络。此外,重放缓冲区是通过收集作为标记的输入输出样本来生成的,以训练基于注意力的行动者神经网络。
[0174]
s8,利用最佳请求调度策略和最佳资源调度策略对移动用户终端的请求和区块链事务进行处理;
[0175]
s9,执行t=t+1,判断t%θ是否为0,如果不为0执行步骤s10,否则判断是否为0,如果为0返回步骤s3,否则执行步骤s5;
[0176]
s10,利用线性优化理论对步骤s6中的混合非线性整数规划问题进行求解获取更新的最佳请求调度策略;
[0177]
通过使用线性优化理论,可以在每个短时时隙τ处获得最优解。每个移动用户终端的请求将调度到j
*
算力资源池,并且式中,si(τ)表示τ时隙时移动用户终端i的状态。
[0178]
s11,利用步骤s8中的最佳资源调度策略和步骤s10中更新的最佳请求调度策略对移动用户终端的请求和区块链事务进行处理后,返回步骤s9。
[0179]
利用最佳请求调度策略在每个时隙处对移动用户终端的请求进行处理,待下个时隙时,利用s9再次对当前所处时隙进行判断,通过这种方式将请求调度策略设定在了短时间尺度t,将资源分配策略设定在了长时间尺度θ。
[0180]
以下使用ppio公司提供的边缘云服务的跟踪驱动实验来评估本技术的性能。该数据集涵盖了从2021/10/1日到2021/10/29日的1000多万用户请求,原始数据大小约为3.51gb。所有实验都是在具有intel(r)xeon(r)e5-2690v4@2.60ghz cpu和nvidia tesla p100-pcie-16gb gpu以及64gb ram的服务器上进行的。设置n∈∈{5,10,20},k=4,d=4,z=60,t=500,θ=10,fd=0.003,yi=1,ω=20,β=0.02,su=64,tg=100,rb=1,在[0,25]中随机分布。
[0181]
以下对比中区块链分片的基线方法包括四种典型方案,在并行资源分配中,本技术将da3c与三个基准进行比较:(i)无注意力机制的da3c,将资源分配给两个子系统,以通过da3c并行处理移动服务和区块链交易,而无需注意力机制;(ii)dyreceive,其目的是仅考虑延迟体验的质量,将资源租赁成本降至最低,它使用内点算法来解决问题;(iii)基于dpp的算法,通过利用漂移加惩罚(即dpp)技术,针对不平衡的事务分配,将资源分配给静态区块链分片。
[0182]
区块链分片化的可扩展性方面:为了评估分级区块链分片的可扩展性性能,我们将可扩展性与我们的方案和四种不同方案进行了比较。从图2中(a)可以看出,本技术所提出的方案优于其他典型方案。原因在于,所提出的方案动态地确定了最佳分片策略,即区块链领导者、分片数量、微块大小和大块的生成间隔。
[0183]
分片数对安全性的影响方面:图2中(b)-(c)调查了不同恶意概率和cpps下区块链
系统安全概率的分片数量。在图2中(b)中,可以观察到,当恶意概率为0.1且分片数小于5时,所提出的分片方案具有高安全性。此外,随着恶意cpps的概率增加,安全性的概率降低。因为达成正确的共识需要一定数量的cpps,cpps的恶意概率越大,那么区块链达成的共识就越容易受到攻击,导致安全性降低。图2中(c)研究了不同数量cpps下分片数量对区块链系统安全性的影响。观察到,安全性不会随着区块链分片数量的增加而降低。这是因为分片数量与区块链系统的安全概率之间的关系不是单调函数。也就是说,区块链分片的安全性不仅与分片数量有关,还需要考虑分片中包含的cpps数量,这也会影响共识的正确性。
[0184]
队列稳定性方面:当n=5时,比较了不同基线之间的队列稳定性,如图3中(a)-(c)。实验结果表明,da3c总是成功地保持了稳定的队列长度,并优于其他方法。这是由于da3c通过考虑当前队列信息将更多用户请求分派到最佳资源池,从而减少了数据和延迟sla队列长度。此外,da3c可以动态确定最佳分片策略,进一步缩短事务积压时间。
[0185]
不同移动用户数量的影响方面:图4中(a)-(c)显示了随着移动用户数量的增加,四种算法的平均队列积压。可以看出,四种算法的所有三个平均队列积压都呈现出增加的趋势,而da3c算法的队列积压最小。基于dpp的算法在tx队列方面表现最差,因为通过该方法获得的区块链分区是静态的,不会随时间做出动态最优决策。
[0186]
当n=20时,da3c和基于dpp的算法之间的平均数据队列性能相似,由于灵活的请求调度,da3c的性能分别优于不带注意机制的da3c和dyreceive的20.88%和16.66%。此外,da3c的平均延迟sla队列性能比三种算法(即没有注意机制的da3c、基于dpp的算法和dyreceive)分别高77.51%、68.99%和87.89%。也就是说,da3c以用户的延迟sla作为约束来分配资源,以更好地满足移动用户的不同需求。
[0187]
由于da3c决定了最佳的区块链分片策略,它的平均tx队列性能也比其他算法分别高21.82%、88.65%和87.04%。此外,如图4中(d)所示,da3c的系统成本性能最低,实现了资源消耗和队列稳定性之间的平衡。
[0188]
时间间隔和奖励因素的影响方面:图5中(a)-(d)显示了不同时间间隔下时间间隔对平均队列和系统成本的影响。随着时间间隔的增加,平均事务队列和系统成本略有波动,这表明它们对θ的变化具有鲁棒性。同时,长时间的资源分配间隔会导致更多的数据积压。更长的时间间隔意味着更少的资源分配时间。因此,可用资源可能不足以处理越来越多的用户任务数据,从而导致数据积压。如图5中(b)所示,数据积压不会导致延迟sla的增加,因为本技术算法可以动态调整分配的带宽资源和通信功率,以确保用户sla。此外,da3c动态确定分配给区块链分片的资源,因此长时间间隔不会导致区块链tx积压,如图5中(c)所示。从图5中(d)看到,当θ较大时,系统成本略有增加。由于租用了许多计算资源来长时间处理数据积压,导致系统成本较高。
[0189]
奖励因素和系统成本之间的关系如图5(e)所示,这表明da3c导致了更好的系统成本。此外,所有方法都会随着奖励因子单调下降。也就是说,区块奖励越高,利润系统获得的回报就越高。特别是,当奖励系数小时,系统成本为正,这意味着运营商必须花费更多的成本来租用计算资源。当奖励因素较大时,系统成本可能为负,在这种情况下,运营商从维护区块链中获得更多利益,进一步激励更多参与者加入本系统。
[0190]
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
技术特征:
1.一种基于区块链共享的边缘云服务并行资源分配方法,其特征在于,包括如下步骤:s1,构建包括移动服务子系统和区块链服务子系统的区块链资源交易系统,且移动服务子系统和区块链服务子系统并行运行,所述移动服务子系统用于借助算力资源池处理移动用户终端的请求,区块链服务子系统用于借助算力资源池处理移动用户终端的区块链事务;所述算力资源池通过对系统内所有cpps所提供的计算资源根据区域划分得到;s2,设置资源分配周期θ及区块链主节点确认周期并对请求调度时隙进行初始化t=0,且为θ的整数倍;s3,基于拜占庭容错共识机制,以最大化区块链服务子系统的可扩展性,并以获得最佳分片数量、最佳大区块生成间隔、最佳事务区块大小以及每个区块链分片中的最佳主节点为目标构建第一目标函数;s4,将第一目标函数的求解问题描述为马尔可夫过程,基于深度学习方法对第一目标函数进行求解;s5,基于算力资源池为移动用户终端所分配的计算资源和资源单价计算总资源租赁成本,以最小化总资源租赁成本,并以满足sla要求、区块链服务子系统的计算资源不超过事务吞吐量为约束条件构建第二目标函数;s6,利用lyapunov理论并通过最小化漂移加惩罚项将第二目标函数转化为混合非线性整数规划问题;s7,利用rnn和非线性规划理论对演员评论家算法中的actor网络和critic网络进行更新,利用更新后的演员评论家算法将步骤s6中的混合非线性整数规划问题转化为非线性规划问题,基于序贯最小二乘规划算法对非线性规划问题进行求解获取最佳请求调度策略和最佳资源调度策略;s8,利用最佳请求调度策略和最佳资源调度策略对移动用户终端的请求和区块链事务进行处理;s9,执行t=t+1,判断t%θ是否为0,如果不为0执行步骤s10,否则判断是否为0,如果为0返回步骤s3,否则执行步骤s5;s10,利用线性优化理论对步骤s6中的混合非线性整数规划问题进行求解获取更新的最佳请求调度策略;s11,利用步骤s8中的最佳资源调度策略和步骤s10中更新的最佳请求调度策略对移动用户终端的请求和区块链事务进行处理后,返回步骤s9。2.根据权利要求1所述的基于区块链共享的边缘云服务并行资源分配方法,其特征在于,所述步骤s3包括如下步骤:s3.1,基于事务吞吐量计算区块链服务子系统的可扩展性;s3.2,采用拜占庭容错共识机制基于事务的处理流程计算事务总处理时间;s3.3,基于共识协议建立拜占庭容错共识机制的安全模型,基于安全模型计算区块链分片的安全概率;s3.4,根据区块链事务的传输流程确认总事务确认时间,以最大化整个区块链网络的可扩展性,并获得每个区块链分片中的最佳主节点、区块链网络中的最佳分片数量、最佳大区块生成间隔和事务区块的最佳大小为目标构建第一目标函数,并将保证每个区块链分片
的安全性、总事务确认时间不超过限制作为约束条件。3.根据权利要求2所述的基于区块链共享的边缘云服务并行资源分配方法,其特征在于,所述第一目标函数的表达式为:p1:p1:s
u
≥ms
b
≥0;t
tra
+t
fin
+t
pro
≤λt
g
;式中,表示区块链分片中的最佳主节点,m
*
表示最佳区块链分片数量,表示事务区块的最佳区块大小,表示最佳大区块生成间隔,s
u
表示事务区块大小上限,λ表示时间因子,m表示区块链分片的数量,表示事务吞吐量计算函数,s
b
表示事务区块大小,t
g
表示大区块生成间隔,t
tra
表示初始共识的传输时间,t
fin
表示最终共识的传输时间,t
pro
表示区块链事务的总处理时间,表示区块链分片的安全概率,且m∈{1,2,...,m},β表示安全参数。4.根据权利要求1所述的基于区块链共享的边缘云服务并行资源分配方法,其特征在于,在步骤s5中,所述第二目标函数的表达式为:p2:p2:p2:p2:p2:p2:式中,x表示移动用户终端所生成请求的调度策略的集合,f表示为移动用户终端的请求在算力资源池中所租用的各类型的算力单元量的集合,α表示运营商从租用给移动用户终端的算力资源池中分配给区块链分片的资源比例的集合,w表示算力资源池分配给移动用户终端的带宽的集合,p表示移动用户终端到算力资源池的发射功率的集合,表示惩罚函数,表示移动用户终端i的请求在算力资源池j中的请求调度策略,f
ji,k
(t)表示时隙t时为移动用户终端i的请求在算力资源池j中所租用的类型为k的算力单元量,表示算力资源池的集合,表示移动用户终端的集合,f
max
表示所有算力资源池为用户提供的最大计算资源,表示时隙t时分配给算力资源池j中的移动用户终端i的请求的总延迟,tdelay
max
表示用户可忍受的最大处理时延,m表示区块链分片数量,n表示移动用户终端数量,表示区块链分片在时隙t时处理的来自移动用户终端i的事务数量,s
b
表示事务区块大小,t
g
表示大区块生成间隔,y
i
表示移动用户终端i的任务期限。5.根据权利要求4所述的基于区块链共享的边缘云服务并行资源分配方法,其特征在于,所述惩罚函数的计算公式为:
式中,j表示算力资源池数量,表示时隙t时移动用户终端i在算力资源池j的资源租赁成本,r
b
表示维护区块链事务的奖励因子。6.根据权利要求1所述的基于区块链共享的边缘云服务并行资源分配方法,其特征在于,所述步骤s7包括如下步骤:s7.1,构建包括rnn和注意力层的神经网络替代演员评论家算法中的actor网络;s7.2,critic网络基于更新后actor网络的输出将步骤s6中的混合非线性整数规划问题转化为非线性规划问题;s7.3,利用序贯最小二乘规划算法对步骤s7.2中的非线性规划问题进行求解获取最佳请求调度策略和最佳资源分配策略;所述最佳请求调度策略是指为移动用户终端的请求所分配的最佳算力资源池,最佳资源分配策略包括为移动用户终端的请求所租用的最佳算力单元量、分配给区块链分片的最佳资源比例、算力资源池分配给移动用户终端的最佳带宽以及移动用户终端到算力资源池的最佳发射功率。
技术总结
本发明公开了一种基于区块链共享的边缘云服务并行资源分配方法,包括:构建包括移动服务子系统和区块链服务子系统的区块链资源交易系统,两个子系统并行运行;基于PBFT以最大化区块链服务子系统的可扩展性,并以获得最佳分片数量、最佳大区块生成间隔、最佳事务区块大小及每个区块链分片中最佳主节点为目标构建第一目标函数,并求解;以最小化总资源租赁成本,并以满足SLA要求、区块链服务子系统的计算资源不超过事务吞吐量为约束条件构建第二目标函数;对第二目标函数进行转化并求解;在每个请求调度时隙下更新最佳请求调度策略,资源分配周期下更新最佳资源调度策略。本发明可以并行地为移动用户的业务需求和区块链事务进行资源分配。务进行资源分配。务进行资源分配。
技术研发人员:仇超 任晓旭 王晓飞 刘泽军 邓辉
受保护的技术使用者:天津大学
技术研发日:2023.05.09
技术公布日:2023/8/16
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/
