本发明涉及工业物联网领域,尤其涉及一种基于功率控制和资源分配的任务卸载方法。
背景技术:
工业物联网是物联网技术在工业领域的应用和推广。相比于物联网在其他应用领域,比如智慧医疗、智能交通,工业领域对数据的实时性和可靠性有更高要求。相关研究表明:大多数收集到的工业数据需要被实时存储、处理。因此,研究有效的任务处理策略,满足低时延高可靠性的要求,是十分必要的。
工业物联网的发展对计算架构提出了更高的要求。云计算作为一种常见的计算架构,拥有丰富的计算资源和存储资源,用户把数据上传云服务器进行计算,可以降低终端设备的计算负担。然而,工业现场环境中设备众多,且设备上产生的计算密集型任务对处理时延有较高的要求,把大量数据上传到云服务器不仅会导致网络拥塞,而且会产生较大的时延。因此边缘计算成为了工业网络中一种适用的计算架构,它可以利用网络边缘设备的计算和存储能力,将云计算的能力延伸到网络边缘,在提供丰富计算资源的同时有效降低网络时延,减轻网络负载压力。边缘计算因其低时延和高带宽的优点适用于许多计算密集型和时延敏感型的场景。
工业物联网在结合了边缘计算之后,给网络中的任务处理带来了一些新的模式和挑战。首先,在工业现场的复杂环境中,底层设备的异构性导致设备的计算和通信能力不同,产生的计算任务也有不同的数据量、计算量和时延要求,设备需要确定最优的计算模式来满足任务的要求;其次,当设备选择将任务卸载到边缘服务器计算时,需要选择合适的边缘服务器提高计算效率,而边缘服务器也要对卸载到其上的任务分配相应的计算资源。以往的研究工作往往只关注计算资源的分配,而真实场景中,无线网络资源同样是限制任务卸载的关键,因此需要联合计算资源、通信资源和计算模式对任务卸载进行优化,从而得到任务卸载的最优策略。
因此,基于以上分析,在结合边缘计算与工业无线技术的工业物联网中,亟需一种有效的任务卸载方法和资源分配策略,最小化设备处理任务的开销,满足工业数据被实时存储、处理的时延要求。
因此,本领域的技术人员致力于开发一种基于功率控制和资源分配的任务卸载方法。
技术实现要素:
有鉴于现有技术的上述缺陷,本发明所要解决的技术问题是提供一种工业物联网中通信功率优化、跨域资源分配和计算卸载的方法。该方法在满足设备通信功率要求以及计算能力约束的前提下,通过不同簇域中设备的通信功率控制、边缘服务器计算资源分配以及卸载位置决策等方式,实现任务卸载开销的最小化。
为实现上述目的,本发明提供了一种基于功率控制和资源分配的任务卸载方法,包括以下步骤:
步骤一:系统建模,工业物联网络中包含n台交换机和m台设备,交换机之间通过有线方式进行通信;根据交换机的通信覆盖范围将工业物联网络分为n个簇域,每个簇域包含一台边缘服务器和若干设备,设备与交换机进行无线通信;边缘服务器的计算能力为
步骤二:构建设备的通信功率控制、全体计算任务的资源分配、计算位置决策模型,建立混合整数非线性规划问题,优化总任务的卸载开销;
步骤三:求解步骤二中建立的规划问题,根据优化变量的不同将问题分解为三个子优化问题进行求解,即通信功率控制问题、资源分配问题和计算位置决策问题;
步骤四:根据步骤三中求得的最优通信功率、资源分配策略,建立跨域卸载的强化学习模型,利用深度强化学习方法求出计算任务的最优计算位置决策,得到通信功率、资源分配和计算位置的联合优化策略。
进一步地,在设备计算的模型为:
进一步地,在本簇域计算的模型为:
一个簇域内交换机sj总的无线通信带宽为bj,对应的设备集合是ψj,设备i分配到的实际带宽大小为
其中xi是二进制变量,xi=0表示任务在设备计算,xi=1表示任务需要卸载到边缘服务器计算;设备i与本簇域内交换机采用时分多址(timedivisionmultipleaccess,tdma)无线通信,数据传输速率为
pi为设备i的通信发射功率,gi为设备i与交换机之间的信道增益,n0为信道噪声单边功率谱密度;在本地簇域的边缘服务器完成任务的时间消耗为
其中γi表示处理任务qi的边缘服务器位置,γi∈{1,2,…,n},
在本簇域内计算的开销为
其中αi为权重因子,αi∈(0,1)。
进一步地,在其他簇域计算的模型为:
数据传输率为常数rw,任务在其他簇域的边缘服务器上计算的时间消耗分为三部分:设备将计算任务卸载到本簇域内交换机的传输时间,本簇域的交换机将计算任务卸载到目标簇域交换机的传输时间,计算任务在目标簇域内边缘服务器上的计算时间:
能量消耗为
计算任务在其他簇域内计算的开销为
进一步地,步骤二被配置为:
根据步骤一建立的三种计算模型,构建任务卸载的总开销模型;定义决策变量xi={0,1},xi=0表示计算任务在本地设备计算,xi=1表示计算任务需要卸载到边缘服务器计算;定义决策变量βi={0,1},βi=0表示计算任务在本簇域内完成计算,βi=1表示计算任务在其他簇域内的边缘服务器上计算,边缘服务器的位置由γi表示,γi∈{1,2,...,n};任务qi的卸载总开销为,
网络中所有任务的总卸载开销为:
构建目标函数为
约束条件为:
进一步地,步骤三被配置为:
给定计算任务的计算位置的一组可行解x0、β0和γ0代入原目标函数中,得到关于连续变量κi和pi的函数;然后将连续变量的函数分解为通信功率优化问题和计算资源分配问题,得到最优通信功率
进一步地,通信功率优化问题利用函数的性质求解最优值。
进一步地,计算资源分配问题利用凸优化理论进行判定,再利用拉格朗日乘子法和kkt(karush-kuhn-tucker)条件进行求解。
进一步地,步骤四被配置为:
分别定义出深度强化学习的状态、动作和奖励;系统状态为所有任务的总时间消耗t和总能量消耗e;系统动作分别是决定计算任务是否需要卸载的变量[x1,x2,…,xm],决定计算任务是否在本簇域内的边缘服务器计算的变量[β1,β2,…,βm],以及计算任务的边缘服务器位置的变量[γ1,γ2,…,γm],动作空间定义为a=[x1,x2,…,xm,β1,β2,…,βm,γ1,γ2,…,γm];系统位于状态s时,采取一个动作a到达下一个状态s',获得的即时奖励为r(s,a);强化学习的目标是通过找到一个连续最优策略使得总的奖励最大,目标函数是要求所有计算任务的计算时间最短,定义系统的奖励为
其中ulocal是所有计算任务都在设备计算情况下的总开销,u是系统采用当前决策下完成任务需要的总开销;当奖励函数值最大时可以得到目标函数的最小值。
进一步地,根据状态、动作、奖励的定义进行深度强化学习的过程为:
初始化记忆缓存区,记忆数据由当前状态、动作、奖励和下一步状态四个部分组成;对值函数网络的权重进行初始化,令目标函数网络参数与值函数网络参数一致;初始化网络状态,利用ε-greedy策略进行动作的选择;执行动作之后得到即时奖励,并到达下一步状态st 1,将每一组记忆储存到记忆缓存区中,用于网络的训练;从记忆缓存区中随机采样一批记忆样本,首先判断当前状态是否达到学习目标,若已经是最终状态,则时间差分目标为rj,否则将样本输入目标函数网络计算时间差分目标输出为
本发明基于工业物联网中的跨域卸载,构建了跨域网络中的计算任务卸载模型,最小化全体任务的卸载开销,以满足工业环境下计算密集型任务对计算能耗和处理时延的要求。本发明考虑了通信功率优化、计算资源分配和计算位置决策问题,建立了混合整数非线性规划问题,并且将问题分解为三个子优化问题进行求解。针对计算位置决策问题,采用了深度强化学习算法进行求解,构建了跨域网络中任务卸载的强化学习模型,不仅能够降低任务的卸载开销,并且具有较低的时间复杂度。
以下将结合附图对本发明的构思、具体结构及产生的技术效果作进一步说明,以充分地了解本发明的目的、特征和效果。
附图说明
图1是本发明的基于跨域网络的计算任务卸载模型示意图;
图2是本发明的基于深度强化学习的卸载位置决策流程图。
具体实施方式
以下参考说明书附图介绍本发明的多个优选实施例,使其技术内容更加清楚和便于理解。本发明可以通过许多不同形式的实施例来得以体现,本发明的保护范围并非仅限于文中提到的实施例。
本发明工业物联网中基于功率控制和资源分配的任务卸载方法,包括以下步骤:
(1)系统建模:在工业物联网络中,有n个簇域,每个簇域中包含了一个交换机、配置在交换机旁的一台边缘服务器和若干现场设备。在一个簇域中,现场设备可以与交换机进行无线通信,并通过交换机把计算任务卸载到本簇域中的边缘服务器进行计算。不同簇域的现场设备和交换机之间无法进行直接通信,但不同簇域的交换机之间可以通过有线方式进行通信,因此一个簇域中现场设备上的计算任务可以通过本地的交换机卸载到其他簇域的边缘服务器上进行计算。每个计算任务有三个计算位置可以选择:现场设备、本簇域内的边缘服务器、其他簇域内的边缘服务器,每个边缘服务器会给卸载到其上的任务分配一定比例的计算资源。
(2)构建现场设备的通信功率控制和全体计算任务的资源分配、计算位置决策模型,建立混合整数非线性规划问题,优化总任务的卸载开销。
(3)求解步骤(2)中建立的规划问题,根据优化变量的不同将问题分解为三个子优化问题进行求解,即通信功率控制问题、计算资源分配问题和计算位置决策问题。在任务的计算位置都已经确定的情况下,分别求解通信功率控制问题和计算资源分配问题,通信功率优化问题利用函数的性质求解最优值,计算资源分配问题利用凸优化理论进行判定,再利用拉格朗日乘子法和kkt(karush-kuhn-tucker)条件进行求解,可以求出设备的最优通信功率和任务在边缘服务器上计算时的最优计算资源分配策略。
(4)根据步骤(3)中求得的最优通信功率、计算资源分配策略,建立跨域卸载的强化学习模型,利用深度强化学习方法求出任务的最优计算位置决策,得到通信功率、计算资源分配和计算位置的联合优化策略。
步骤(1)具体为:
如图1所示,是基于跨域网络的计算任务卸载模型。
工业网络系统中有n台交换机,根据交换机的通信覆盖范围,将网络分为n个簇域,每台交换机旁布置了一台边缘服务器,其计算能力为
1)在设备计算:
在设备计算的时间消耗为
在设备计算的能量消耗为
在设备计算的开销为
2)任务在本簇域内的边缘服务器上计算
在本地簇域内边缘服务器上计算的时间消耗为任务传输时间加上计算时间,首先建立无线传输模型。
同一个簇域内,设备向交换机上传数据的过程中,使用的是同一无线频率,不同设备的上行链路之间会产生干扰,影响传输速率和传输质量,因此采用时分多址(timedivisionmultipleaccess,tdma)技术。tdma技术把时间分割成周期性、互不重叠的帧,一个tdma帧被分为若干个时隙,设备在各自分配好的时隙内进行数据传输,能够实现多对一的通信而不会产生互相干扰,从而提高无线信道资源的利用率,在局部网络负载较大时,能够较好的利用无线信道,保证了传输的质量以及速率,也为任务实时性提供了保障。由于簇域内设备任务的计算位置不同,对信道资源有不同的要求,因此采用动态时隙分配算法,如果设备需要发送数据,才给设备分配时隙,避免与其他设备的上行链路产生干扰,同时提高了时隙的利用率。
tdma帧的结构包含头比特、若干个时隙以及尾比特,每个时隙中包含同步比特、用户信息比特和保护比特等信息,这其中需要传输的数据就包含在用户信息比特中,这也是tdma帧传输的主要部分。一个簇域内交换机j总的无线通信带宽为bj,则一个tdma帧的能够分配的总带宽是bj,需要根据簇域中进行卸载的设备数量以及任务的数据量给设备分配时隙以及带宽。假设一个交换机sj的簇域中对应的设备集合是ψj,对应规则根据网络实际拓扑确定。那么根据动态时隙分配算法,给需要进行任务卸载的设备分配时隙以及带宽,分配的比例按照任务的数据量大小确定。则设备i分配到的实际带宽大小为
其中xi是二进制变量,xi=0表示任务在设备计算,xi=1表示任务需要卸载到边缘服务器计算。
利用香农公式求出设备发送任务的数据传输速率,
其中bi为设备i分配到的无线信道带宽,pi为设备的通信发射功率,gi为设备i与交换机之间的信道增益,n0为信道噪声单边功率谱密度。可以求得时间消耗为
其中γi表示计算任务qi的边缘服务器位置,γi∈{1,2,…,n},
在本簇域内计算的开销为
3)任务在其他簇域内的边缘服务器上计算
任务卸载到其他簇域内的边缘服务器上,其传输路径是两跳的,即从设备到本地簇域内的交换机和从本地簇域内的交换机到目标簇域内的交换机。不同簇域的交换机之间是通过有线方式连接的,其数据传输率为常数rw。任务在其他簇域的边缘服务器上计算的时间消耗分为三部分:设备将任务卸载到本簇域内交换机的传输时间,本簇域的交换机将任务卸载到目标簇域交换机的传输时间,任务在目标簇域内边缘服务器上的计算时间,所以时间消耗为
能量消耗为
这里同样只考虑设备将任务传送到本簇域交换机的能量消耗。
在其他簇域内计算的开销为
步骤(2)具体为:
根据步骤(1)建立的三种计算模型,构建任务卸载的总开销模型。首先定义决策变量xi={0,1},xi=0表示任务在本地设备计算,xi=1表示任务需要卸载到边缘服务器计算;定义决策变量βi={0,1},βi=0表示任务在本簇域内完成计算,βi=1表示任务在其他簇域内的边缘服务器上计算,边缘服务器的位置由γi表示,γi∈{1,2,…,n}。任务qi的卸载总开销为
构建目标函数为
约束条件为:
步骤(3)具体为:
根据步骤(2)构建的混合整数非线性规划问题,步骤(3)对其进行求解。
根据优化变量将问题分为三个子问题进行求解,即通信功率优化问题、计算资源分配问题和计算位置决策问题。给定任务计算位置的一组可行解x0、β0和γ0,代入原目标函数中,假设共有l个现场设备选择将任务卸载到边缘服务器上处理,这其中有p个设备选择将任务卸载到其他簇域内的边缘服务器上处理,剩余的设备选择在本地进行计算,则目标函数中只剩下连续变量κi和pi,表示为
将问题分解为通信功率优化问题和资源分配问题,分别得到
约束为
以及
约束为
对于通信功率优化问题g(p),做参数代换令
因为g″(qi)>0,所以g′(qi)在定义域内单调增,令g′(qi)=0,得到使一阶导数为0的
通过求函数h(κ)关于变量κ的hessian矩阵,可以证明函数h(κ)是关于变量κ的凸函数。并且约束条件是线性约束,所以资源分配子问题是关于变量κ的凸优化问题,构建h(κ)的拉格朗日函数
将最优通信功率和
步骤(4)具体为:
如图2所示:计算位置决策问题是关于变量xi、βi和γi的整数线性规划问题,通过深度强化学习进行求解。强化学习有三个关键元素,状态、动作和奖励。针对本发明中的模型,对这三个元素给出如下的定义。
状态:系统状态为所有任务的总时间消耗t和总能量消耗e。
动作:系统的动作由三部分组成,分别是决定任务是否需要卸载的变量[x1,x2,…,xm],决定任务是否在本簇域内边缘服务器计算的变量[β1,β2,…,βm],以及计算任务的边缘服务器位置的变量[γ1,γ2,…,γm],因此动作空间定义为a=[x1,x2,…,xm,β1,β2,…,βm,γ1,γ2,…,γm]。
奖励:系统位于状态s时,采取一个动作a到达下一个状态s',获得的即时奖励为r(s,a)。强化学习的目标是通过找到一个连续最优策略使得总的奖励最大,目标函数是要求所有任务的计算开销最短,所以定义系统的奖励为
其中ulocal是所有任务都在设备计算情况下的总开销,u是系统采用当前决策下完成任务需要的总开销。因此目标函数的值与奖励函数呈负相关,当奖励函数值最大时可以得到目标函数的最小值。
深度强化学习步骤:
根据状态、动作、奖励的具体定义,进行深度强化学习的学习、更新。
1、初始化记忆缓存区,可以存储n条记忆数据,记忆数据由当前状态、动作、奖励和下一步状态四个部分组成。对值函数网络的权重进行初始化,令目标函数网络参数与值函数网络参数一致。
2、初始化网络状态,计算所有任务的总完成时间消耗和能量消耗作为状态s1,将状态s1输入值函数网络,得到状态s1下采取不同动作获得的值函数输出。利用ε-greedy策略进行动作的选择,以ε的概率随机选择一个动作at,否则就选择对应值函数最大的动作。执行动作之后得到即时奖励,并到达下一步状态st 1,将每一组这样的记忆(状态,动作,即时奖励,下一步状态)储存到记忆缓存区中,用于网络的训练。
3、从记忆缓存区中随机采样一批记忆样本,首先判断当前状态是否达到学习目标,若已经是最终状态,则时间差分目标为rj,否则将样本输入目标函数网络计算时间差分目标输出为
将值函数网络和目标函数网络的输出分别作为估计值和标签值,进行网络参数的更新。
4、利用sgd(随机梯度下降)算法更新值函数的网络参数,sgd算法公式表示为
值函数网络参数更新公式为θ=θ δθ。在值函数网络参数更新固定次数之后,将值函数网络参数赋值给目标函数网络,这样减弱了前后数据之间的关联性,并提高了网络参数的稳定性。
以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术无需创造性劳动就可以根据本发明的构思作出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。
1.一种基于功率控制和资源分配的任务卸载方法,其特征在于,包括以下步骤:
步骤一:系统建模,工业物联网络中包含n台交换机和m台设备,所述交换机之间通过有线方式进行通信;根据所述交换机的通信覆盖范围将所述工业物联网络分为n个簇域,每个所述簇域包含一台边缘服务器和若干所述设备,所述设备与所述交换机进行无线通信;所述边缘服务器的计算能力为
步骤二:构建所述设备的通信功率控制、全体计算任务的资源分配、计算位置决策模型,建立混合整数非线性规划问题,优化总任务的卸载开销;
步骤三:求解所述步骤二中建立的规划问题,根据优化变量的不同将问题分解为三个子优化问题进行求解,即通信功率控制问题、资源分配问题和计算位置决策问题;
步骤四:根据步骤三中求得的最优通信功率、资源分配策略,建立跨域卸载的强化学习模型,利用深度强化学习方法求出所述计算任务的最优计算位置决策,得到通信功率、资源分配和计算位置的联合优化策略。
2.如权利要求1所述的工业物联网中基于功率控制和资源分配的任务卸载方法,其特征在于,在所述设备计算的模型为:
3.如权利要求1所述的工业物联网中基于功率控制和资源分配的任务卸载方法,其特征在于,在本所述簇域计算的模型为:
一个所述簇域内所述交换机sj总的无线通信带宽为bj,对应的设备集合是ψj,设备i分配到的实际带宽大小为
其中xi是二进制变量,xi=0表示任务在设备计算,xi=1表示任务需要卸载到边缘服务器计算;设备i与本簇域内交换机采用时分多址(timedivisionmultipleaccess,tdma)无线通信,数据传输速率为
pi为设备i的通信发射功率,gi为设备i与交换机之间的信道增益,n0为信道噪声单边功率谱密度;在本地簇域的边缘服务器完成任务的时间消耗为
其中γi表示处理任务qi的边缘服务器位置,γi∈{1,2,…,n},
在本所述簇域内计算的开销为
其中αi为权重因子,αi∈(0,1)。
4.如权利要求1所述的工业物联网中基于功率控制和资源分配的任务卸载方法,其特征在于,在其他所述簇域计算的模型为:
所述交换机之间的数据传输率为常数rw,任务在其他所述簇域的所述边缘服务器上计算的时间消耗分为三部分:所述设备将所述计算任务卸载到本所述簇域内所述交换机的传输时间,本所述簇域的所述交换机将所述计算任务卸载到目标簇域交换机的传输时间,所述计算任务在目标簇域内所述边缘服务器上的计算时间:
能量消耗为
所述计算任务在其他簇域内计算的开销为
5.如权利要求1所述的工业物联网中基于功率控制和资源分配的任务卸载方法,其特征在于,所述步骤二被配置为:
根据步骤一建立的三种计算模型,构建任务卸载的总开销模型;定义决策变量xi={0,1},xi=0表示所述计算任务在本地设备计算,xi=1表示所述计算任务需要卸载到所述边缘服务器计算;定义决策变量βi={0,1},βi=0表示所述计算任务在本所述簇域内完成计算,βi=1表示所述计算任务在其他所述簇域内的所述边缘服务器上计算,所述边缘服务器的位置由γi表示,γi∈{1,2,...,n};任务qi的卸载总开销为,
网络中所有任务的总卸载开销为:
构建目标函数为
约束条件为:
6.如权利要求5所述的工业物联网中基于功率控制和资源分配的任务卸载方法,其特征在于,所述步骤三被配置为:
给定所述计算任务的计算位置的一组可行解x0、β0和γ0代入原目标函数中,得到关于连续变量κi和pi的函数;然后将连续变量的函数分解为通信功率优化问题和计算资源分配问题,得到最优通信功率
7.如权利要求6所述的工业物联网中基于功率控制和资源分配的任务卸载方法,其特征在于,通信功率优化问题利用函数的性质求解最优值。
8.如权利要求6所述的工业物联网中基于功率控制和资源分配的任务卸载方法,其特征在于,计算资源分配问题利用凸优化理论进行判定,再利用拉格朗日乘子法和kkt(karush-kuhn-tucker)条件进行求解。
9.如权利要求6所述的工业物联网中基于功率控制和资源分配的任务卸载方法,其特征在于,所述步骤四被配置为:
分别定义出深度强化学习的状态、动作和奖励;系统状态为所有任务的总时间消耗t和总能量消耗e;系统动作分别是决定所述计算任务是否需要卸载的变量[x1,x2,…,xm],决定所述计算任务是否在本簇域内的所述边缘服务器计算的变量[β1,β2,…,βm],以及所述计算任务的边缘服务器位置的变量[γ1,γ2,…,γm],动作空间定义为a=[x1,x2,…,xm,β1,β2,…,βm,γ1,γ2,…,γm];系统位于状态s时,采取一个动作a到达下一个状态s',获得的即时奖励为r(s,a);强化学习的目标是通过找到一个连续最优策略使得总的奖励最大,目标函数是要求所有计算任务的计算时间最短,定义系统的奖励为
其中ulocal是所有计算任务都在所述设备计算情况下的总开销,u是系统采用当前决策下完成任务需要的总开销;当奖励函数值最大时可以得到目标函数的最小值。
10.如权利要求6所述的工业物联网中基于功率控制和资源分配的任务卸载方法,其特征在于,根据状态、动作、奖励的定义进行深度强化学习的过程为:
初始化记忆缓存区,记忆数据由当前状态、动作、奖励和下一步状态四个部分组成;对值函数网络的权重进行初始化,令目标函数网络参数与值函数网络参数一致;初始化网络状态,利用ε-greedy策略进行动作的选择;执行动作之后得到即时奖励,并到达下一步状态st 1,将每一组记忆储存到记忆缓存区中,用于网络的训练;从记忆缓存区中随机采样一批记忆样本,首先判断当前状态是否达到学习目标,若已经是最终状态,则时间差分目标为rj,否则将样本输入目标函数网络计算时间差分目标输出为
