一种面向边缘计算的轻量级异构网络分簇方法
技术领域
本发明涉及物联网技术领域,具体地说是一种面向边缘计算的轻量级异构网络分簇方法。
背景技术
边缘计算是万物互联时代的支撑平台。边缘计算模型在网络边缘设备上增加执行任务计算和数据分析处理能力,将原有云计算模型的部分或全部计算任务迁移到网络边缘设备上,充分利用边缘设备空闲资源,降低云计算中心负载,减缓网络带宽压力,提高万物互联时代数据的处理效率。
无线传感器网络(Wireless Sensor Networks,WSN)具有可扩展性、动态重新配置、可靠性、低成本和低能耗等优点。所有这些优势都有助于WSN集成到不同领域以满足多种需求,即将WSN应用到边缘计算中成为可能。但无线传感器网络中也存在许多问题,如覆盖范围、生存时间、能源效率和安全等。如何利用节点有限的能量延长网络寿命,增大网络数据吞吐量一直是无线传感器网络中亟需解决的问题之一。
现如今对无线传感器网络的研究大多采用分簇路由协议来降低能量消耗,近年来提出了很多对集群和能源效率进行优化的方案,如LEACH协议、SEP协议和DEEC协议等。LEACH协议以随机的方式选择簇头并采取周期性轮换簇头,将整个网络的能量负载平均分配到每个传感器节点中,从而达到降低能量消耗和提高网络生存时间的目的。但由于其假设所有节点都以相等能量开始,在异构网络中性能表现较差。SEP协议专门为异构无线传感器网络设计,但分簇中以概率方式频繁选举簇头,没有考虑节点的剩余能量,极易造成低能量节点多次当选簇头,导致节点因能量消耗过快而过早死亡,致使出现冻结网络。DEEC协议考虑剩余能量进一步提高概率阈值精度,优化选举方法。该协议假设基站(BS)位于网络场景中心进行工作,当基站远离传感器区域时,其不能理想工作。
发明内容
本发明的目的就是提供一种面向边缘计算的轻量级异构网络分簇方法,本方法能够较好的均衡簇内、簇间以及簇头到基站的能量消耗,有效延长网络的生存寿命且更为适合网络规模大、节点移动较为频繁的边缘计算网络。
本发明是这样实现的:
一种面向边缘计算的轻量级异构网络分簇方法,包括以下步骤:
a、确定场景大小;
设场景大小为W×W,且场内随机分布有N个传感器节点,基站设置在场景外;
在数据量大小为l时网络每轮能量消耗Eround如下:
Eround=l[(2N-k)Eelec+NEda+kεMPE(d4 toBS)+(N-k)εFSE(d2 toCH)] (1)
式(1)中,Eda是每bit数据在簇头聚合所耗费的能量,k是当前场景下所需的分簇数量;dtoCH是簇内节点到簇头的距离,dtoBS是簇头到基站的距离,Eelec表示传感器节点发射或接收每bit数据消耗的能量,εMP为多径衰落信道模型下传感器节点消耗的能量,εFS是自由空间信道模型下传感器节点消耗的能量;E表示取平均;
b、确定最优簇数;
簇内节点到簇头的距离dtoCH可根据如下公式得知:
根据公式(1)和(2),并以网络每轮能量消耗最小化为原则计算得到最优簇数kopt:
c、选出簇头,确定簇域;
c-1、选出簇头;
对于第i个传感器节点,若其既满足Ei(r)>lEda又满足pi<Th(Ni),则该第i个传感器节点被选为簇头;
Ei(r)是第r轮中第i个传感器节点的剩余能量;
pi是第i个传感器节点被选择为簇头的概率值,pi的公式如下:
其中,a
i是指第i个传感器节点的非均匀性因子,A表示所有传感器节点初始非均匀性因子之和,
表示当前第r轮传感器节点的平均剩余能量,p
opt是传感器节点成为簇头的最优概率;
Th(Ni)的表达式如下:
式(7)中,N
i表示第i个传感器节点,G
i(r)表示第r轮的第i个节点不是簇头,mod表示求余,
表示向上取整,r为当前轮数,p
i为第i个传感器节点被选择为簇头的概率值;
c-2、确定簇域;
设第i个非簇头节点的坐标为(Xi,Yi),第j个簇头节点的坐标为(X(j)CH,Y(j)CH),基站的坐标为(XBS,YBS),则第i个非簇头节点到基站的距离如下:
第i个非簇头节点到最近簇头的距离如下:
“N\CH”表示非簇头节点,“CH”表示簇头节点;
比较公式(8)和公式(9)的大小,若第i个非簇头节点到基站的距离小于第i个非簇头节点到最近簇头的距离,则第i个非簇头节点不归入任何一个簇,即第i个非簇头节点为不形成簇的节点,对于这种不形成簇的节点其在传输数据时直接将数据传输至基站;若第i个非簇头节点到基站的距离大于等于第i个非簇头节点到最近簇头的距离,则第i个非簇头节点归属于距其最近的簇头所在的簇域;
遍历所有非簇头节点,完成各个簇头所管理的簇内节点的确定、划分;
d、数据采集融合和传输;
通过最优路由路径使数据由簇内节点传输至簇头,并由簇头传输至基站;对于不形成簇的节点,数据直接由节点传输至基站;
e、判断异构网络中所有传感器节点是否全部死亡,如果是,则结束,如果否则循环执行步骤c和步骤d。
公式(3)中的簇头到基站的距离dtoBS可通过下式求得:
式(10)中,设簇头的坐标是(x,y),且簇头的分布函数为ρ(x,y)=1/W2;基站的坐标为(0,H)。
在公式(10)中加入修正因子,得到簇头到基站的距离dtoBS如下:
步骤d中最优路由路径的选取采用协作式传输技术的多跳路由通信方法进行。
本发明考虑节点初始能量的异质性,同时将节点剩余能量作为能否成为簇头的影响因素,簇头选择概率值最终由初始能量和剩余能量相对水平决定,避免低能量节点在下一轮中参与簇头竞选;充分考虑簇头与簇内节点之间以及簇头到基站之间的距离。数据从节点传送到簇头再汇聚到基站,选择最短传输距离,优化网络传输过程,降低数据传输的能量消耗,达到延长网络生命周期的目的;根据簇头区域覆盖范围、簇内节点密度和节点剩余能量多重因素考虑,计算最优簇的数量。合理的分簇规模,能有效避免簇内节点数量过多或过少引起的网络流量不平衡。在数据传输过程中利用边缘计算优势,使计算更靠近数据源头,提高数据传输效率,缩短服务响应延迟。
本发明的分簇方法能够延长第一个节点死亡前的时间,并且全网节点几乎是在同一时刻或其小范围的附近时刻死亡,在每轮网络总能量消耗较少,其很好地均衡了簇内和簇间全部节点的能量消耗且最小化总能量消耗,延长整个网络的寿命,并提高全网的工作性能。本发明为异构网络路由算法设计提供了参考方案,具有一定的实际应用价值和社会经济效益。
附图说明
图1是本发明的方法流程图。
图2是本发明实施例中N个传感器节点的随机仿真图。
图3是本发明实施例中N个传感器节点和一个基站的随机仿真图。
图4是本发明中计算簇头到基站的距离的示意图。
图5是本发明中方法工作时的模型图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚,以下结合附图及实施例,对本发明进行进一步详细说明。
如图1所示,本发明所提供的面向边缘计算的轻量级异构网络分簇方法包括如下步骤:首先确定场景大小,其次根据场景大小确定最优簇数;接着在当前轮中选簇头并确定簇域,然后进行数据采集融合和传输;当前轮结束后,判断无线传感器网络中的传感器节点是否全部死亡,如果是则结束,如果否则接着在下一轮中选簇头并确定簇域,如此循环直至无线传感器网络中的传感器节点全部死亡。
下面结合实际例子详细介绍本发明。
步骤一:确定场景大小,并计算整体异构网络的总能量。
如图2和图3所示,图2和图3是将N个传感器节点(图中用“○”表示)在W×W大小区域内位置的随机化仿真(在该场景实例化时,W为100,N为100),在图3中加入了基站的位置,图3中基站用“×”来表示,且本发明中基站设置在场景外,而非传统技术中的场景中心,这样方便簇与簇之间的数据传输。
在常用的无线能耗模型中,当在特定传感器网络中距离d内传输l比特数据分组时,发射器能量消耗如(1)式所示:
其中,d表示发送节点和接收节点之间的距离;l表示节点每次发送的数据量;E
elec表示运行发射器元件(发射电路和接收电路中都包含发射器元件,即传感器节点中都包含发射器元件)时消耗的能量(发射或接收每bit数据消耗的能量);ε表示单位功率放大器的能量消耗,无线通信的能耗与距离的关系为E=ld
n。其中,参数n为路径损耗指数,满足关系2≤n≤4。能量消耗模型分为两类:当d<d
0,则可以将功率损失建模为自由空间信道模型,此时n取2,放大器能量消耗为ε
FS;当d≥d
0,则功率损失建模为多径衰落信道模型,此时n取4,放大器的能量消耗为ε
MP。d
0为参考距离,其值决定通信信道模型:
对于能量异质的传感器节点,假设其初始能量是随机分布在E0和E0(1+amax)之间,E0是能量的下限,amax是决定节点额外能量的最大百分比的非均匀性因子。每个传感器节点的初始能量是E0(1+ai)(ai是指第i个节点的非均匀性因子;对于特定的节点,ai是确定的值),意味着节点被选为簇头的概率与其所具备能量成相关性关系。
整体异构网络的总能量ETotal计算式如下,为方便表达,用A表示所有节点初始非均匀性因子之和:
其中,Ei(r)是第r轮中第i个节点的剩余能量。
设定每个簇内节点每轮向簇头(CH)发送l比特消息,并且每个簇头将l比特数据转发到基站,计算一轮能耗如下:
Eround=ECH+Enon-CH (4)
其中,Eround表述所有节点每轮消耗的能量,ECH指簇头节点每轮消耗的能量,Enon-CH指非簇头节点每轮消耗的能量,ECH和Enon-CH的具体公式如下:
ECH=l[(N-k)Eelec+NEda+kEelec+kεMPE(d4 toBS)] (5)
Enon-CH=l[(N-k)Eelec+(N-k)εFSE(d2 toCH)] (6)
其中,Eda是每bit数据在簇头聚合所耗费的能量,k是当前环境下所需的分簇数量;dtoCH是簇内节点到簇头的距离,dtoBS是簇头到基站的距离,Eelec表示传感器节点发射或接收每bit数据消耗的能量,εMP为多径衰落信道模型下传感器节点消耗的能量,εFS是自由空间信道模型下传感器节点消耗的能量;E表示取平均。
结合式(4)~(6),可得:
Eround=l[(2N-k)Eelec+NEda+kεMPE(d4 toBS)+(N-k)εFSE(d2 toCH)] (7)
根据Etotal和Eround可计算网络的生存时间R:
步骤二:根据场景大小确定最优簇数。
首先考虑簇头数量对分簇结果的影响,以每轮总能量消耗最小化原则计算最优簇数(设最优簇数为kopt),适当的分簇规模能降低网络能量消耗,平衡网络流量,延长网络的生存周期R。
在数据量大小为l时网络每轮能量消耗是Eround,Eround的公式见式(7)。
因为传感器节点是随机分布的,簇内节点到簇头的距离是dtoCH,因此有:
式(9)中,k为在当前场景W×W下所需的分簇数量。
将公式(9)代入公式(7)中,通过求极值可得到最优簇数kopt:
根据式(10)可得:
式(11)中,p
opt是传感器节点成为簇头的最优概率,根据节点和网络的初始总能量(E
total)及平均剩余能量
当前第i个节点被选择为簇头的概率值p
i的计算如下:
公式(10)中存在dtoBS,dtoBS是簇头到基站的距离。如图4所示,簇头可以位于边长为W的方形区域中的任何位置。假设簇头的坐标是(x,y),并且簇头的分布函数是ρ(x,y),且簇头在该区域内均匀分布,所以有ρ(x,y)=ρ=1/W2。为了简化计算,假定簇头在圆形区域内,因此簇头到基站的距离dtoBS可由式(13)来计算:
式(13)计算过程中限制了簇头的位置范围,因此需要加入修正因子进行校正。本发明实施例中根据实验进行校正后得到簇头到基站的距离dtoBS如下:
由公式(14)可知,簇头到基站的距离dtoBS跟场景大小(W×W)和基站的设置位置有关。
再结合公式(10)可知,影响最优簇数kopt的因素有传感器节点数目(N)、场景区域大小(W×W)以及基站的设置位置。
本步骤在场景大小、传感器节点数目以及基站位置均确定的情况下,根据公式(14)以及(10)可求得最优簇数kopt。
本发明中每个网络区域都是可以确定最优分簇个数的,从而可形成不同规模的分簇集群。
步骤三:选出簇头,确定簇域。
在场景区域最优簇数kopt确定后,本发明提出了LEC-SEP(Lightweight in EdgeComputing-SEP,轻量级边缘计算分簇方法)方法,用于选出簇头以对其簇内节点进行管理。采用轮询方式进行分簇,具体分簇过程为:
(1)簇头选择
在进行簇头选择过程中要首先考虑节点剩余能量水平以确定节点是否能满足数据收集和转发工作,即:在稳定周期内(即没有死亡节点出现时),簇头的剩余能量应该大于簇头到基站传输汇集数据的能量消耗值;其次保证在当前轮该节点未被选择为簇头,因为频繁当选簇头会大大缩短其生存时间,容易造成网络局部过早的冻结;第三,当节点被选择为簇头的概率阈值满足要求时,该节点当选为簇头节点。
具体地说,第一要考虑节点剩余能量水平,即满足:Ei(r)>lEda;Ei(r)是第r轮中第i个节点的剩余能量。
第二要保证当前轮该节点未被选择为簇头。
第三,节点被选择为簇头的概率阈值pi(见公式(12))要小于Th(Ni),Th(Ni)公式如下:
公式(15)中,N
i表示第i个节点,G
i(r)表示第r轮的第i个节点不是簇头,mod表示求余,
表示向上取整,r为当前轮数,p
i为第i个节点被选择为簇头的概率。
满足公式(15),必然能够满足第二点当前轮该节点未被选择为簇头的要求。
因此,本步骤中当节点满足Ei(r)>lEda以及pi<Th(Ni)时,该节点即被选为簇头。
需要说明的是,步骤二中已经选出了最优簇数kopt,因此,本步骤中在选簇头时应保证能选为簇头节点的个数大于等于最优簇数kopt(在没有出现节点死亡之前,可通过设置lEda和Th(Ni)来保证能选为簇头节点的个数不会小于kopt),选取簇头过程中,可以在所选簇头个数等于最优簇数kopt时停止簇头的选取。
(2)确定簇域
在本发明中分簇的另一个主要考虑因素是尽可能缩短簇内节点到簇头以及簇头到基站的距离,以节省传输数据中的能量消耗。本发明将基站设定在场景区域外而不是中心位置,不仅有利于簇头到基站的数据传输,更有利于基站间和跨场景的数据聚合。
为了实现优化通信成本目标,下面具体计算非簇头节点到簇头的距离以及非簇头节点到基站的距离,并通过比较距离的大小来确定簇域,以便找到将数据传输到基站的最短路径。
设第i个非簇头节点的坐标为(Xi,Yi),第j个簇头节点的坐标为(X(j)CH,Y(j)CH),基站的坐标为(XBS,YBS),则第i个非簇头节点到基站的距离如下:
第i个非簇头节点到最近簇头的距离如下:
“N\CH”表示非簇头节点,“CH”表示簇头节点。
比较公式(16)和公式(17)的大小,若第i个非簇头节点到基站的距离小于第i个非簇头节点到最近簇头的距离,则第i个非簇头节点不归入任何一个簇,即第i个非簇头节点为不形成簇的节点,对于这种不形成簇的节点其在传输数据时直接将数据传输至基站;若第i个非簇头节点到基站的距离大于等于第i个非簇头节点到最近簇头的距离,则第i个非簇头节点归属于距其最近的簇头所在的簇域。
遍历所有非簇头节点,完成各个簇头所管理的簇内节点的确定、划分,形成完整规模的簇域,以对移动设备在物联网环境下进行松耦合管理。
步骤四:数据采集融合和传输
簇头的主要工作是融合簇内节点产生的数据,该数据需要通过最优路由路径从节点转发到簇头(对于不形成簇的节点,数据是由非簇头节点直接转发至基站),再从簇头转发到基站,当然,簇头之间也可以进行数据交换,其中最优路由路径的选取采用协作式传输技术的多跳路由通信方法进行。
步骤五:无线传感器网络中所有节点全部死亡后结束,否则循环执行步骤三和步骤四。
本发明中的方法工作在边缘计算和云计算结合的分层模型中,从图5模型图中可看出传感器节点、基站和云节点数据交互的基本方式如下:传感器节点产生数据,将其发送到基站服务器或云端;中间层基站可以处理请求,并将请求转发到同层中的其他基站,或将请求转发到云端;云节点处理请求并将响应发送回传感器节点。将本发明中的分簇方法应用到图5架构工作中,目标是在基于边缘计算的提议框架中降低数据传输能耗、最小化设备服务延迟,在传感器节点和云层之间的基站,可以处理大多数服务请求,从而减少整体网络能量消耗和服务响应延迟。
本说明书未详细描述的内容属于本专业技术人员公知的现有技术。
以上结合附图和技术方案对本发明的具体实施方式作了说明,本发明的保护范围不限于此,本技术领域的技术人员在本发明基础上所作的等同替代或变换,均在本发明的保护范围之内。本发明的保护范围以权利要求书为准。