面向端边云协同计算的任务调度方法及装置

未命名 08-27 阅读:134 评论:0


1.本发明涉及数据处理领域,具体涉及一种面向端边云协同计算的任务调度方法及装置。


背景技术:

2.端边云协同计算系将终端的计算任务调度至端边云三层中合适的位置进行处理,以实现更好更快的任务处理效果。为了进一步减少任务处理时延并有效利用边缘节点的存储能力,通过在边缘节点中建立缓存系统存储动态数据程序,以将计算任务所需的资源或者程序进行缓存。当任务相似度较高或者资源需求一致时,通过调用缓存来减少资源的重复调用和数据传输的消耗。但是由于边缘节点异构性和分布式结构,导致边缘节点上缓存的数据同样具备异构性,给任务调度带来了额外的负担。此外,由于终端接入端边云协同计算的网络方式多种多样,接入的终端安全性难以保证,因此有必要提供一种新的面向端边云协同计算的任务调度方法及装置。


技术实现要素:

3.本发明的目的在于提供一种面向端边云协同计算的任务调度方法及装置,进而至少在一定程度上克服由于相关技术的限制和缺陷而导致的上述问题。
4.根据本发明的一个方面,提供一种面向端边云协同计算的任务调度方法,包括以下步骤:
5.获取计算任务的属性信息,其中所述属性信息包括所述计算任务的资源索引;
6.根据所述资源索引确定具有所述计算任务所需资源的至少一边缘节点,并构建包含终端、云服务器及所述至少一边缘节点的调度模型;
7.通过求解所述调度模型确定所述计算任务的目标调度位置,并将所述计算任务调度至所述目标调度位置进行处理。
8.在一实施例中所述根据所述资源索引确定具有所述计算任务所需资源的至少一边缘节点包括:
9.在根据所述资源索引确定边缘节点的缓存中存在缓存资源时,将该边缘节点作为具有所述计算任务所需资源的边缘节点;
10.以及在根据所述资源索引确定边缘节点的缓存中不存在缓存资源时,根据智能合约划分的等级权限通过区块链网络申请调度云服务器中的计算资源。
11.在一实施例中所述根据智能合约划分的等级权限通过区块链网络申请调度云服务器中的计算资源包括:
12.获取边缘节点的基础属性,其中所述基础属性包括边缘节点的计算能力、计算资源、存储空间大小、边缘节点的安全度及事件的及时性;
13.根据所述基础属性的权重确定所述边缘节点的安全度评分;
14.根据所述评分将服务器划分为不同的等级,并设置可获得资源的数量以及等级。
15.在一实施例中还包括:
16.当所述边缘节点的缓存中的数据不存在后,边缘节点根据自身划分的安全等级通过区块链从云服务器进行资源调度;
17.根据边缘节点的安全等级确定边缘节点可以得到的任务资源,并根据可获得的资源数量确定任务调度状态。
18.在一实施例中所述计算任务的调度决策为其中ai,bi,x
ij
∈{0,1},ai表示将任务i调度至终端进行计算,bi表示将任务i调度至云服务器进行计算,x
ij
表示将任务i调度至边缘节点j进行计算,n表示任务的数量,s表示变云服务器的数量。
19.在一实施例中构建所述调度决策的约束条件包括:
20.确定所述计算任务由终端调度至边缘节点的传输时延和能耗;
21.确定所述计算任务由边缘节点传输至云服务器的传输时延和能耗;
22.以及确定云服务器传输数据到边缘节点的下行传输时延和能耗。
23.在一实施例中向云服务器申请计算剩余任务所需的资源包括:
24.收集边缘节点的基本信息其中f
ie
、分别为边缘节点的计算能力、存储能力、功耗及安全等级;
25.确定边缘节点的安全度;其中边缘节点的安全度可以描述为向量{ati,dti,uti},ati,dti,uti∈[0,1],ati+dti+uti=1,分别表示安全、不确定和不安全。设置sei为安全执行任务数,usei表示任务未完成或不安全的事件数,pri表示任务将被安全地处理的概率,则边缘节点的安全状态可以表示为
[0026][0027]
确定边缘节点的事件及时性;其中边缘节点的安全性随时间而变化,最近发生的事件对节点的影响较大,而过去发生的事件对这种局部观点的影响较小,以便进行更准确可靠的信誉计算。设置最近和过去事件的时间尺度t
per
。此外,负面事件在节点上的权重高于正面事件。设置ι(ι≥0.5)表示不安全事件的权重,1-ι表示积极事件对节点的影响,θ(θ≥0.5)代表近期事件对节点属性的影响,1-θ是过去事件对系统的影响,设置为一段时间内安全事件的数量,是一段时间内不安全事件的数量,则事件时效性对节点安全性的影响可以表示为
[0028][0029]
边缘节点的安全状态更新为
[0030][0031]
结合事件及时性、安全性和节点属性确定边缘节点的最终评分
[0032][0033]
在一实施例中所述的面向端边云协同计算的任务调度方法还包括:
[0034]
将离散的二元变量转为连续变量:将ai,x
ij
,y
ij
,h
ij
和bi的二元变量松弛为连续决策变量0≤hi≤1,0≤x
ij
≤1,0≤yj≤1,0≤bi≤1,0≤ai≤1,松弛变量可以解释为相关计算任务数据中可以调度到边缘节点或远程云服务器,或者缓存在边缘节点的部分资源数据;
[0035]
将非凸约束转化为凸条件约束,将存在的二元离散变量相乘进行替换;
[0036]
将目标函数包含的相乘项进行替换,定义辅助变量来替换这个乘积项x
ijyij
,并在模型中加入新的约束条件保证原始目标函数的有效性。
[0037]
在一实施例中所述通过求解所述调度模型确定所述计算任务的目标调度位置包括:
[0038]
采用线性放缩的非凸优化方法将优化问题转化为凸优化问题;
[0039]
根据所述凸优化问题的求解结果确定所述计算任务的调度位置。
[0040]
根据本发明另一方面提供一种面向端边云协同计算的任务调度装置,包括:
[0041]
信息获取模块,用于获取计算任务的属性信息,其中所述属性信息包括所述计算任务的资源索引;
[0042]
模型构建模块,用于根据所述资源索引确定具有所述计算任务所需资源的至少一边缘节点,并构建包含终端、云服务器及所述至少一边缘节点的调度模型;
[0043]
任务处理模块,用于通过求解所述调度模型确定所述计算任务的目标调度位置,并将所述计算任务调度至所述目标调度位置进行处理。
[0044]
本发明提供一种端边云协同计算任务调度方法及装置,具有以下优点:
[0045]
1.针对任务对计算资源的各种要求,充分利用边缘节点的缓存能力将任务所需的资源存储在边缘节点中,并扩大了缓存资源的类型和数量;同时为了提高缓存池的资源命中率,将任务索引共享在区块链上,设备可以通过区块链进行资源调度,保证数据通信安全。
[0046]
2.为了加强整个边缘计算任务调度模型的安全性,建立了一个安全增强的节点划分机制,该机制根据边缘节点存储资源的大小、计算能力和安全处理任务的次数等因素对边缘节点是否能够安全处理任务的能力进行分级。
[0047]
3.综合考虑任务缓存、任务调度和安全性的因素,将该问题表述为一个混合整数非线性优化问题,旨在以最小化任务调度的能耗和计算延迟的加权和。由于该问题是非凸的,采用线性化和二元松弛的方法可以将该问题转化为更容易解决的凸问题。
[0048]
4.采用基于交替方向乘子算法的任务调度算法,对计算任务做出近乎最优的调度
决策,所建模型具备显著的性能优势,其中最为明显的是得到符合需求的系统时延和成本的加权和,该模型不仅能够保证缓存数据的存储和共享的安全,还能提升异构设备的安全性。
附图说明
[0049]
图1是本发明实施例中一种面向端边云协同计算的任务调度方法的流程示意图;
[0050]
图2是本发明实施例中一种面向端边云协同计算的任务调度方法的应用场景示意图;
[0051]
图3是本发明实施例中一种面向端边云协同计算的任务调度结果示意图;
[0052]
图4是本发明实施例中一种面向端边云协同计算的任务调度结果示意图;
[0053]
图5是本发明实施例中一种面向端边云协同计算的任务调度结果示意图;
[0054]
图6是本发明实施例中一种面向端边云协同计算的任务调度结果示意图;
[0055]
图7是本发明实施例中一种面向端边云协同计算的任务调度装置的结构示意图。
具体实施方式
[0056]
为使本发明的目的、特征、优点能够更加的明显和易懂,下面将结合附图本发明实施方式及实施例中的技术方案进行清楚、完整地描述。然而,示例实施方式及实施例能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式及实施例使得本发明将更加全面和完整,并将示例实施方式及实施例的构思全面地传达给本领域的技术人员。本发明所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式及实施例中。在下面的描述中,提供许多具体细节从而给出对本发明的实施方式及实施例的充分理解。然而,本领域技术人员将意识到,可以实践本发明的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知技术方案以避免喧宾夺主而使得本发明的各方面变得模糊。
[0057]
此外,附图仅为本发明的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。尽管在附图中以特定顺序描述了本发明中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附图中所示的流程图仅是示例性说明,不是必须包括所有的步骤。例如,有的步骤还可以分解,而有的步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
[0058]
受益于大数据、人工智能以及5g通信等技术的发展,终端上的任务数据越来越多,计算越来越复杂。受限于终端设备有限的资源,一些复杂的任务通常会被卸载到云上,利用云服务器丰富的计算资源对任务进行处理。然而,由于云服务器部署在远离终端的地方,终端和云服务器之间的交互存在巨大的往返时延,在任务传输过程中存在数据泄露以及被攻击的风险,实时性和安全性都存在着巨大的隐患。
[0059]
为了解决云计算框架存在的一些风险和问题,人们在更靠近终端的边缘层部署边
缘节点来满足实时性和安全性的要求。完整的端边云协同计算架构能够满足不同类型任务的时延需求和资源需求。借助任务调度,终端中的计算任务可被调度到端边云三层中合适的位置来处理,能更好更快地处理任务。为了进一步减少任务处理时延并有效利用边缘节点的存储能力,通过在边缘节点中建立缓存系统存储动态数据程序,将计算任务的所需的资源或者程序缓存。当任务相似度较高或者资源需求一致时,通过调用缓存来减少资源的重复调用和数据传输的消耗。
[0060]
虽然端边云协同计算和缓存技术具有诸多优势,但是由于边缘节点异构性和分布式结构,导致节点上缓存的数据同样具备异构性,给任务调度带来了额外的负担。此外,终端接入端边云协同计算的网络方式多种多样,接入的终端安全性难以保证,缓存数据容易在调度的过程中也会受到攻击,任务调度过程中的安全问题也需要重点关注。
[0061]
在此背景下,为了在保证任务调度效率的同时提升系统安全性,本发明通过智能合约对边缘节点的申请资源的权限进行限制,对节点的安全性进行分级,提供了一种面向端边云协同计算的任务调度方法,图1是本发明实施例中一种面向端边云协同计算的任务调度方法的流程示意图;如图1所示,所述面向端边云协同计算的任务调度方法包括:
[0062]
步骤s11:获取计算任务的属性信息,其中所述属性信息包括所述计算任务的资源索引;
[0063]
端边云协同计算系将终端的计算任务发送至边缘节点或云服务器进行处理,所述计算任务可以是图像处理、文件解码等,对于终端产生的计算任务,首先需要确定通过端边云中哪个位置对其进行处理。在一实施例中一种联合区块链和任务缓存的端边云协同计算的系统架构如图2所示,整个系统框架分为终端层、边缘节点层和云服务器层,边缘节点和终端产生的任务数目分别设置为en={1,2,...,n}和m={1,2,...,m}。终端通过无线链路连接到边缘节点,而边缘节点通过有线回程链路连接到远端的云服务器,多个相邻的边缘节点可以通过有线链路相互通信。在整个框架中云服务器是整个系统的计算和数据存储中心,其计算能力设置为fc(cpu cycles/s),终端的计算能力为f
il
(cpu cycles/s)。节点分级智能合约将异构的边缘节点分成不同的等级,设置边缘节点的属性为其中f
ie
是边缘节点i的计算能力,是边缘节点的单位能耗,是边缘节点被划分的等级,y
ie
是边缘节点中存储资源的集合,每个终端存在计算密集型任务需要在时隙内进行计算,这些任务是不可分割的。
[0064]
示例而言,所述计算任务的属性信息可以表示为其中di为计算任务ri的数据大小(mbit),ci为任务大小或计算所述任务所需的cpu数目,为计算该任务所允许的最大延迟时间(任务超时任务将会丢弃),li代表任务ri的安全等级,idi(idi={id
i1
,id
i2
,...id
ij
})代表计算该任务对应的资源索引,id
ij
表示任务ri需要的资源号。
[0065]
步骤s13:根据所述资源索引确定具有所述计算任务所需资源的至少一边缘节点,并构建包含终端、云服务器及所述至少一边缘节点的调度模型;
[0066]
具体而言,设置计算任务的调度决策为其中ai,bi,x
ij
∈{0,1},ai表示将任务i调度至终端进行计算,bi表示将任务i调度至云服务器进行计算,x
ij
表示将任务i调度至边缘节点j进行计算,n表示任务的数量,s表示变云服务器的数量。
[0067]
在一实施例中构建所述调度策略的约束条件包括:
[0068]
根据香农公式设置终端i与边缘节点j之间的上行频率为上行平均信噪比为其中p
ij
为终端i的传输频率,|ri|-a
为路径衰弱系数,|hi|为无线信道之间的网络干扰系数,σ2为是加性高斯白噪系数,b0为终端i和边缘节点j之间的带宽;
[0069]
则所述计算任务由终端调度至边缘节点的传输速率
[0070]
传输时延为
[0071]
传输过程中产生的能耗其中为上行传输设备的总功耗。
[0072]
在一实施例中构建所述调度策略的约束条件包括:
[0073]
所述计算任务由边缘节点传输至云服务器的上传速率b1为边缘节点至云服务器的传输带宽,所述计算任务首先由终端调度至距离最近的边缘节点,再通过有线信道传输至云服务器;
[0074]
所述计算任务由边缘节点传输至云服务器的传输延迟d
ij
所传输为任务大小;
[0075]
传输过程中产生的能耗为
[0076]
可以理解,由于任务经处理后的数据规模通常远小于处理前的数据规模,并且边缘节点和云服务器的传输速率远大于终端的传输速率,因此可以忽略任务处理结果从边缘节点返回到设备的时间和能耗。
[0077]
在一实施例中构建所述调度策略的约束条件包括:确定云服务器传输数据到边缘节点的下行传输时延和能耗。
[0078]
在根据所述资源索引确定具有所述计算任务所需资源的至少一边缘节点时,如果边缘节点的资源缓存池中存在计算该任务所需的缓存资源,则可以直接确定该边缘节点为具有所述计算任务所需资源的边缘节点;如果边缘节点的资源缓存池中没有足够的缓存资源对任务进行处理,则需要向云服务器申请计算剩余任务所需的资源,通过云服务器会将计算剩余任务所需的缓存资源发送到边缘节点。
[0079]
详细而言,通过节点分级机制划分的边缘节点存在不同的权限(根据边缘节点的安全等级可以赋予边缘节点向服务器申请计算资源的权限),使得边缘节点中任务缓存也存在差别。资源索引idi缓存放置决策可以用一个二进制指示变量y
ij
∈{0,1}表示,y
ij
=1代表着资源索引idi缓存在边缘节点j上任务需求的资源索引idi调度到边缘节点j,索引对应的缓存资源设置为yj={y
j1
,y
j2
...y
jn
}。任务缓存帮助边缘节点节省计算所需要的计算能力,设置减少后的计算任务能力的需求为缺失的缓存越少,也越小,最大为ci。
[0080]
其中需要通过云服务器计算的任务量τ
ij
表示索引id
ij
对应的数据大小,为边缘节点j的缓存资源池容量。
[0081]
通过云服务器将计算剩余任务所需的缓存资源发送到边缘节点的下行传输时延
[0082]
根据终端调度至边缘节点的传输时延,边缘节点传输至云服务器的传输时延,以及通过云服务器将计算剩余任务所需的缓存资源发送到边缘节点的下行传输时延,确定边缘节点执行任务的计算时延
[0083][0084]
边缘节点计算任务的总时延
[0085][0086]
边缘节点计算任务的能耗
[0087][0088]
进一步地,根据权重系数和归一化因子χ构建能耗和时延的加权和其中ωe+ω
t
=1,ω
t
为时间消耗权重系数,ωe为能耗权重系数;
[0089]
在边缘节点中计算的目标权重值可以计算为
[0090][0091]
云服务器的计算任务的目标权重值可以表示为
[0092][0093]
为了在满足有限的电池容量、计算能力约束和缓存容量约束的同时减少所有用户的时间消耗和能量消耗,调度问题被建模为如下约束优化问题:
[0094][0095][0096][0097]
c3:ai+x
ij
+bi=1
[0098][0099][0100][0101][0102]
其中,c1表示二进制变量的调度决策,c2用于保证任务缓存有效,c3表示任务的调度位置,c4表示调度的任务需求不超过边缘节点的计算资源,c5表示缓存的任务结果不超过边缘节点的缓存容量,c6表示调度决策产生的时间不超过任务的最大时间,c7表示任务的安全性约束。
[0103]
在一实施例中向云服务器申请计算剩余任务所需的资源还可以包括:
[0104]
收集边缘节点的基本信息
[0105]
确定边缘节点的安全度;其中边缘节点的安全度可以描述为向量{ati,dti,uti},ati,dti,uti∈[0,1],ati+dti+uti=1,分别表示安全、不确定和不安全。设置sei为安全执行任务数,usei表示任务未完成或不安全的事件数,pri表示任务将被安全地处理的概率,则边缘节点的安全状态可以表示为
[0106][0107]
确定边缘节点的事件及时性;其中边缘节点的安全性随时间而变化,最近发生的事件对节点的影响较大,而过去发生的事件对这种局部观点的影响较小,以便进行更准确可靠的信誉计算。设置最近和过去事件的时间尺度t
per
。此外,负面事件在节点上的权重高于正面事件。设置ι(ι≥0.5)表示不安全事件的权重,1-ι表示积极事件对节点的影响,θ(θ≥0.5)代表近期事件对节点属性的影响,1-θ是过去事件对系统的影响,设置为一段时间内安全事件的数量,是一段时间内不安全事件的数量,则事件时效性对节点安全性的影响可以表示为
[0108][0109]
边缘节点的安全状态可以更新为
[0110][0111]
结合事件及时性、安全性和节点属性确定边缘节点的最终评分;
[0112]
设置ξ为安全度和节点属性的权重,则边缘节点的最终评分可以表示为
[0113][0114]
端边云协同计算系统可以根据任务的需求将任务调度到不同等级的服务器处理,不同分级的边缘节点能够适应多种场景,边缘节点的级别越高越安全,可以被用来处理任务的资源就越多。
[0115]
步骤s15:通过求解所述调度模型确定所述计算任务的目标调度位置,并将所述计算任务调度至所述目标调度位置进行处理。
[0116]
在一实施例中对所述调度模型进行求解可以包括将非凸问题的调度模型转化为凸优化问题,使松弛的程序能够得到有效的处理。设置任务ri的调度决策向量为γ={ai,x
i1
,x
i2
,...x
ij
,bi},所有任务的调度决策剖面为γ={γi,i∈n},优化问题可以表示为
[0117][0118][0119][0120]
c3:ai+x
ij
+bi=1
[0121][0122][0123][0124][0125]
定义辅助变量来替换乘积项x
ijyij
,并在模型中加入以下四个额外的约束条件
[0126][0127]
应用线性化技术进行转换得到线性化公式
[0128][0129]
由于变量ai,x
ij
,y
ij
,h
ij
和bi都是二元离散变量,该公式仍然是非凸的,为了处理这个问题,将ai,x
ij
,y
ij
,h
ij
和bi的二元变量松弛为连续决策变量0≤hi≤1,0≤x
ij
≤1,0≤yj≤
1,0≤bi≤1,0≤ai≤1。松弛变量可以解释为相关计算任务数据中可以调度到边缘节点、云服务器或者缓存在边缘节点中的部分。因此该公式可以改写为
[0130][0131]
c3:ai+x
ij
+bi=1
[0132][0133][0134][0135][0136][0137]
当任务和终端的数量增加时传统的线性优化方法很难在合理的时间内得到最优解,由于目标函数是线性的,约束条件是凸函数的,利用对偶分解和内点法可以得到任务调度的近似最优解。为了适当地处理变量之间的耦合约束,引入变量的局部副本x
ij
,bi,hi,ai分别定义分别定义和可以表示为可以表示为与是指示函数,指示函数是定义在集合x
ij
,bi,hi,ai上的函数表示元素属于子集θi。因此关于任务ri的可行局部变量集合如下所示
[0138][0139]
由以上分析,通过引入共识变量可以得到通过交替方向乘子法算法进行求解,将其转换为
[0140][0141][0142][0143][0144][0145][0146]
该公式的增广拉格朗日函数式子表示为
[0147][0148]
其中σ
ij
,δi,ηi,υ
ij
分别为拉格朗日乘子,ρ>0是增广拉格朗日参数,为了简化形式,设置和缩放相应的拉格朗日乘子增广拉格朗日函数表示为
[0149][0150]
目标问题的对偶形式可以表示为其中π={α,β,φ,κ}。
[0151]
通过应用admm方法求解上述对偶问题得到优化步骤包括:
[0152]
(1)通过求解如下优化问题在(t+1)次迭代中更新局部变量并将其分解为n个并行子问题
[0153][0154]
(2)局部变量的优化。给定最小化关于全局变量的γ
t
。因此全局变量γ
t
可以根据以下公式进行更新
[0155][0156][0157][0158][0159]
(3)拉格朗日乘子被更新为
[0160][0161][0162][0163][0164]
(4)算法停止准则,每个边缘节点在可行条件下的原始残差必须很小
[0165][0166][0167][0168][0169]
对偶可行条件下的对偶残差表示如下:
[0170]
||x
ijt+1-x
ijt
||2≤ξ
dual
[0171]
||a
it+1-a
it
||2≤ξ
dual
[0172]
||b
it+1-b
it
||2≤ξ
dual
[0173]
||h
it+1-h
it
||2≤ξ
dual
[0174]
其中,ξ
pri
>0和ξ
dual
>0分别表示原可行性条件和对偶可行性条件的可行容差。这些容差可以用一个绝对和相对的标准来选择。
[0175]
(5)二进制变量恢复,利用下面的方法可以恢复二进制值
[0176][0177]
通过求解调度模型得到即将所述任务调度边缘节点进行计算。
[0178]
在一实施例中通过所述方法对任务进行计算包括:假设每个终端具有独立的计算任务,可以在终端、边缘节点或云服务器上执行。任务的数据大小和所需的计算能力在[300,1200]kb和[0.1
×
109,1
×
109]周期之间随机生成,任务的最大截至时间随机分布在0.1到3s之间,考虑边缘节点的异构计算能力,每个边缘节点的cpu计算能力是从集合[3.5,4.0]ghz中随机分配,云服务器的cpu计算能力设置为9ghz,终端设置为1ghz,最大发射功率为23dbm。为评估所提出的模型和算法,对四种不同的调度策略进行了实验:
[0179]
(1)全本地调度(all-local):此策略不涉及调度。所有计算任务都在本地执行;
[0180]
(2)全边缘调度(full-edge):在该策略中每个终端将任务调度到边缘节点执行;
[0181]
(3)无任务缓存调度(owtc):在该策略中所有设备在本地、边缘节点或远程云服务器上执行其计算任务,并且相应的计算数据不缓存在边缘节点;
[0182]
(4)本发明所提方法求出的联合区块链和任务缓存的调度策略(oatcwb):在该策略中,调度决策考虑了计算、任务缓存和具有区块链辅助的安全问题的任务缓存,该策略同时考虑能耗和任务延迟的加权和的整体最小化。
[0183]
图3(a)和3(b)描绘了随着边缘节点等级变得更加细化,所有用户的能耗和任务延迟的加权总和。分级后边缘节点的等级越高,调度产生的成本和区块链产生的额外成本就越多。此外,由于等级较高的节点能够申请更多的资源,逐渐接近云服务器的资源数量,任务处理时间越来越短。如图在等级4和等级6中所示,目标值具有更好的性能,合理选择节点等级分类可以提高整个系统的性能。
[0184]
图4展示了oatcwb和owtc、all-local和full-edge的收敛进行比较。很容易看出,oatcwb最终可以收敛到接近最优值。此外,oatcwb采用全局变量一致性优化方法,避免局部最优,代价是花费更多时间探索接近最优的解决方案。oatcwb调度算法引入任务缓存和区块链辅助,在异构边缘节点、终端和云服务器中选择合适的调度位置,可以有效降低任务处理延迟和能耗的目标值。oatc wb算法与传统云边三层调度相比,性能提升8%。图4还描述了通过50个任务来检查不同权重对价值目标的影响,这些目标结合了能耗和时间延迟,如果权重值ω
t
为0.5,此时任务的目标值小于owtc,说明任务的能耗和延迟是动态平衡的。如果权重值ω
t
为0.9,此时任务可能会强调延迟,通过交换更多资源来提高任务的处理速度,并且将大部分任务调度到边缘节点以减少任务延迟处理,但由于大量任务被调度到远程云服务器,也会造成额外的传输能量消耗,从而导致任务成本高。当任务的权重值ω
t
=0.2时,任务的目标值趋于另一个极端,即增加时间,从而降低能耗,而任务主要在本地运行。当权重值ω
t
为0.5或0.4时可以获得更合理的目标值。
[0185]
总开销和时间延迟与平均数据大小的关系分别如图5(a)和5(b)所示,最初将任务大小设置为20mb,逐渐增加到500mb。当数据量较小时,任务上传延迟相对较小,将任务调度
到边缘设备,以获得最低的任务延迟和能耗。oatcwb和owtc的最优值非常接近full-edge,此时将任务调度到边缘可以获得更低的延迟和成本消耗。随着任务规模的增长,full-edge会产生越来越高的任务传输延迟。如图5(d)所示,full-edge和owtc方案的任务丢失率逐渐增大,产生了额外的能量消耗。oatcwb有足够的任务缓存来降低任务处理的延迟,同时根据admm算法得到最优的边缘节点进行任务处理,大大降低了任务丢失率。在最大任务规模下与all-local、full-edge和owtc方案相比,oatcwb方案的所有用户的总延迟分别可以减少34.08%、21.03%和12.37%。而oatcwb方案在不同数据量的任务下分别降低了用户总能耗的45%、47.6%和33%左右。随着任务数量的增加,对任务的上传延迟有很大的影响。因此,当ω
t
=0.9时,任务加权成本比较大。因此,在任务数据量大的情况下,减小ω
t
的大小可以获得更好的加权成本。
[0186]
图6展示了不同方案下边缘节点的缓存能力对能耗和总延迟的影响。可以观察到,计算能力越大,导致的任务延迟越短,能耗越低。任务可以直接通过缓存的数据进行计算,大大减少了任务从云服务器下载的处理时间。边缘计算任务缓存可以减少一些对于时间敏感以及计算资源密集型任务对资源的强烈需求。并行处理任务,减少任务的等待时间。额外的存储成本可以降低系统成本和时间。
[0187]
本发明另一实施例提供了一种面向端边云协同计算的任务调度装置,图7是本发明实施例中一种面向端边云协同计算的任务调度装置的结构示意图。如图7所示,所述面向端边云协同计算的任务调度装置包括:
[0188]
信息获取模块70,用于获取计算任务的属性信息,其中所述属性信息包括所述计算任务的资源索引;
[0189]
模型构建模块72,用于根据所述资源索引确定具有所述计算任务所需资源的至少一边缘节点,并构建包含终端、云服务器及所述至少一边缘节点的调度模型;
[0190]
任务处理模块74,用于通过求解所述调度模型确定所述计算任务的目标调度位置,并将所述计算任务调度至所述目标调度位置进行处理。
[0191]
在一实施例中本发明还提供了端边云协同计算的任务调度系统,包括:中心服务器,用于获取计算任务,根据计算任务的信息建立调度模型,并求解调度模型,确定计算任务是否调度至边缘节点。当所述计算任务被调度至边缘节点时,所述中心服务器在所述边缘节点的缓存中搜索是否存在所述计算任务匹配的计算资源,如果所述边缘节点的缓存中存在所述计算结果,则所述边缘节点返回所述计算资源;如果所述边缘节点的缓存中不存在所述计算结果,则所述中心服务器通过区块链网络中从云服务器进行资源调度。
[0192]
上述装置中各模块/单元的具体细节已经在对应的方法部分进行了详细的描述,此处不再赘述。应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
[0193]
除上述方法和设备以外,本发明的实施例还可以是计算机程序产品,其包括计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本发明各种实施例的方法中的步骤。
[0194]
所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执
行本发明实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如java、c++等,还包括常规的过程式程序设计语言,诸如c语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
[0195]
本发明的另一实施方式提供了一种电子设备,可以用于执行本示例实施方式中所述方法全部或者部分步骤。所述装置包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本说明书上述“示例性方法”中描述的根据本发明各种实施例的方法中的步骤。
[0196]
本发明的另一实施方式提供了一种计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”中描述的根据本发明各种实施例的方法中的步骤。
[0197]
所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。
[0198]
以上结合具体实施例描述了本发明的基本原理,但是,需要指出的是,在本发明中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本发明的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本发明为必须采用上述具体的细节来实现。
[0199]
本发明中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、系统。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“如但不限于”,且可与其互换使用。
[0200]
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本发明旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
[0201]
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。

技术特征:
1.一种面向端边云协同计算的任务调度方法,其特征在于,包括以下步骤:获取计算任务的属性信息,其中所述属性信息包括所述计算任务的资源索引;根据所述资源索引确定具有所述计算任务所需资源的至少一边缘节点,并构建包含终端、云服务器及所述至少一边缘节点的调度模型;通过求解所述调度模型确定所述计算任务的目标调度位置,并将所述计算任务调度至所述目标调度位置进行处理。2.根据权利要求1所述的面向端边云协同计算的任务调度方法,其特征在于,所述根据所述资源索引确定具有所述计算任务所需资源的至少一边缘节点包括:在根据所述资源索引确定边缘节点的资源缓存池中存在缓存资源时,将该边缘节点作为具有所述计算任务所需资源的边缘节点;以及在根据所述资源索引确定边缘节点的资源缓存池中不存在缓存资源时,根据智能合约划分的等级权限通过区块链网络申请调度云服务器中的计算资源。3.根据权利要求1所述的面向端边云协同计算的任务调度方法,其特征在于,所述根据智能合约划分的等级权限通过区块链网络申请调度云服务器中的计算资源包括:获取边缘节点的基础属性,其中所述基础属性包括边缘节点的计算能力、计算资源、存储空间大小、边缘节点的安全度及事件的及时性;根据所述基础属性的权重确定所述边缘节点的安全度评分;根据所述安全度评分将边缘节点划分为不同的等级,并设置可获得资源的数量以及等级。4.根据权利要求3所述的面向端边云协同计算的任务调度方法,其特征在于,还包括:当所述边缘节点的资源缓存池中不存在缓存数据时,根据边缘节点的安全等级通过区块链从云服务器进行资源调度;根据边缘节点的安全等级确定边缘节点得到的任务资源,并根据可获得的资源数量确定任务调度状态。5.根据权利要求1所述的面向端边云协同计算的任务调度方法,其特征在于,所述计算任务的调度决策为其中a
i
,b
i
,x
ij
∈{0,1},a
i
表示将任务i调度至终端进行计算,b
i
表示将任务i调度至云服务器进行计算,x
ij
表示将任务i调度至边缘节点j进行计算,n表示任务数,s表示云服务器数。6.根据权利要求5所述的面向端边云协同计算的任务调度方法,其特征在于,构建所述调度决策的约束条件包括:确定所述计算任务由终端调度至边缘节点的传输时延和能耗;确定所述计算任务由边缘节点传输至云服务器的传输时延和能耗;以及确定云服务器传输数据到边缘节点的下行传输时延和能耗。7.根据权利要求4所述的面向端边云协同计算的任务调度方法,其特征在于,向云服务器申请计算任务所需的资源包括:收集边缘节点的基本信息其中f
ie
、分别为边缘节点的计算能力、存储能力、功耗及安全等级;确定边缘节点的安全度;其中边缘节点的安全度可以描述为向量{at
i
,dt
i
,ut
i
},分别
表示安全、不确定和不安全,at
i
,dt
i
,ut
i
∈[0,1],at
i
+dt
i
+ut
i
=1,设置se
i
为安全执行任务数,use
i
为任务未完成或不安全的事件数,pr
i
为任务被安全地处理的概率,则边缘节点的安全状态可以表示为确定事件时效性对节点安全性的影响为其中t
per
为最近和过去事件的时间尺度,ι(ι≥0.5)表示不安全事件的权重,1-ι表示积极事件对节点的影响,θ(θ≥0.5)代表近期事件对节点属性的影响,1-θ是过去事件对系统的影响,为一段时间内安全事件的数量,是一段时间内不安全事件的数量;边缘节点的安全状态更新为结合事件及时性、安全性和节点属性确定边缘节点的最终评分8.根据权利要求1所述的面向端边云协同计算的任务调度方法,其特征在于,还包括:将离散的二元变量转为连续变量,将a
i
,x
ij
,y
ij
,h
ij
和b
i
的二元变量松弛为连续决策变量0≤h
i
≤1,0≤x
ij
≤1,0≤y
j
≤1,0≤b
i
≤1,0≤a
i
≤1;将非凸约束转化为凸条件约束,将存在的二元离散变量相乘进行替换;以及将目标函数包含的相乘项进行替换,定义辅助变量来替换这个乘积项x
ij
y
ij
,并在模型中加入新的约束条件保证原始目标函数的有效性。9.根据权利要求1所述的面向端边云协同计算的任务调度方法,其特征在于,所述通过求解所述调度模型确定所述计算任务的目标调度位置包括:采用线性放缩的非凸优化方法将优化问题转化为凸优化问题;根据所述凸优化问题的求解结果确定所述计算任务的调度位置。10.一种面向端边云协同计算的任务调度装置,其特征在于,包括:信息获取模块,用于获取计算任务的属性信息,其中所述属性信息包括所述计算任务的资源索引;模型构建模块,用于根据所述资源索引确定具有所述计算任务所需资源的至少一边缘
节点,并构建包含终端、云服务器及所述至少一边缘节点的调度模型;任务处理模块,用于通过求解所述调度模型确定所述计算任务的目标调度位置,并将所述计算任务调度至所述目标调度位置进行处理。

技术总结
本发明涉及数据处理领域,具体涉及一种面向端边云协同计算的任务调度方法及装置,所述方法包括获取计算任务的属性信息,其中所述属性信息包括所述计算任务的资源索引;根据所述资源索引确定具有所述计算任务所需资源的至少一边缘节点,并构建包含终端、云服务器及所述至少一边缘节点的调度模型;通过求解所述调度模型确定所述计算任务的目标调度位置,并将所述计算任务调度至所述目标调度位置进行处理。所述方法通过建立任务调度、任务缓存和边缘节点划分的联合优化模型,在保证任务调度效率的同时提升系统安全性。率的同时提升系统安全性。率的同时提升系统安全性。


技术研发人员:金小敏 白旭洋 陈彦萍 王忠民
受保护的技术使用者:西安邮电大学
技术研发日:2023.05.04
技术公布日:2023/8/24
版权声明

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

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

分享:

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

相关推荐