WBAN中基于非均匀分簇的高效路由协议的制作方法

文档序号:21821682发布日期:2020-08-11 21:38阅读:175来源:国知局
WBAN中基于非均匀分簇的高效路由协议的制作方法

本发明属于通信技术领域,具体涉及wban中基于非均匀分簇的高效路由协议。



背景技术:

wban中的传感器节点体积微小,所有节点的初始能量相等且非常有限,所以如何提高节点的能量效率,均衡网络的能耗,延长网络的寿命成为当前路由协议设计急需解决的问题。通常情况下,在多跳的传输方式中,网络中心的节点因为距离sink较近,会频繁担任中继,转发来自网络边缘节点的数据,导致其能量消耗过快而提前死亡,这种现象称为“能量空洞”。此时,网络中心的节点和边缘节点的能耗差距会非常大,整个网络的能耗不均匀,严重地影响了网络寿命。



技术实现要素:

本发明所要解决的技术问题是提供wban中基于非均匀分簇的高效路由协议,解决网络中能耗不匀均,网络中心的节点和边缘节点的能耗差距较大的问题。

本发明为解决上述技术问题所采用的技术方案是:wban中基于非均匀分簇的高效路由协议,网络由n个功能不同的传感器节点和1个sink节点组成,非均匀的分布在2m×2m的场地中,所述路由协议包括以下四个阶段:

一、网络初始化:在网络初始化阶段,sink节点向全网广播hello消息唤醒所有节点,网络中的节点接收到该消息后立即更新sink节点的位置,并根据接收信号强度计算出与sink节点的距离并保存,节点在传输数据时根据与sink的距离大小选择合适的路由方法,节点完成上述工作后,向网络中回复一个确认消息,该消息包括节点的id、位置、剩余能量信息,初始化阶段结束后,网络中所有节点都知道邻居节点的信息以及sink节点的位置;

二、簇头的选择:选择簇头时,评估候选簇头节点的相对剩余能量eres(i)和候选簇头节点与sink节点的距离d(i)两个参数,综合两个参数进行簇头的选择,具体为:定义簇头选择函数s(i),选择函数值最大的节点作为簇头,被选择成为簇头的节点具有剩余能量较多和距离sink节点较近的特点,簇头产生之后会形成一个簇头集合s-ch,网络中其他节点会自动转为普通节点;

三、节点入簇:簇头节点选择成功后,会在自己的竞争半径ri内向周围的网络中广播消息,宣布其当选为簇头的head-ack消息,在该通信范围内的其他节点接收到该消息后会储存这些信息并形成一个簇头信息表,然后等待加入合适的簇群;

四、数据传输:经过以上三个阶段后,网络被分成了非均匀分布的簇群,然后开始数据的传输,具体的数据传输分为两步:簇内数据传输和簇间数据传输;簇内数据传输采用一跳路由的方式,簇内成员将采集到的信息直接发送至簇头节点,减少多跳带来的传输延迟和可能的数据丢失;簇间数据传输将采用多跳的方式,其中下一跳节点在簇头集合s-ch中产生,减少距离sink节点较远的簇头直接传输产生的巨大能耗。

本发明所述节点i的剩余能量eres(i)计算如下:

其中,e0(i)为节点的初始能量,t表示网络开始时间,n表示网络生存时间,etx(t)为发送数据消耗的能量,erx(t)为接收数据消耗的能量,ec(t)为数据融合消耗的能量,只有簇头节点执行数据融合功能会计算该部分能量,一般节点没有数据融合功能,默认该值为0。

本发明所述所述节点与sink节点之间的距离d(i)计算方式如下:

其中rssi(d)和rssi(d0)分别为接收端和发送端之间距离为d和d0接收到的接收信号强度值;n是路径损耗指数;xσ是零均值的高斯随机变量。

本发明所述所述节点的入簇条件除就近原则外,还有:

(1)若节点当前保存的簇头信息表中只有一个簇头时,则直接向该簇头发送入簇的请求,由簇头同意后加入该簇群;

(2)若当前节点保存的簇头信息表中有两个或多个簇头信息时,除考虑就近原则之外,还要考虑簇头节点的剩余能量、当前簇内成员的数量参数,其选择函数s·f(i)的计算方法为:

选择s·f(i)值最大的节点入簇。

本发明所述簇间数据传输时下一跳节点的选择方法为:构造一个多参数的代价函数,计算簇头集合中节点的函数值,选择函数值最小的簇头成为最佳下一跳节点,该代价函数为:

其中tem(i)、d(i)、ch(i)和eres(i)分别表示候选下一跳节点的当前温度、与sink节点的距离、簇的大小和剩余能量参数,最佳下一跳节点的簇头具备温度较低、距离sink节点较近、簇内成员较少以及剩余能量较多的特点。

本发明的有益效果是:本发明采用非均匀分簇方法,针对wban设计一种高效的非均匀分簇路由协议(er-ucrp,该协议选择剩余能量较多、距离sink较近的节点成为簇头,又综合考虑多个参数来计算簇头的竞争半径,网络中其余的节点会选择剩余能量较多和簇内成员较少的簇群加入,最终实现非均匀分簇的目的,簇内数据传输采用一跳的方式,簇间数据传输采用多跳的方式,其中下一跳节点在簇头集合中产生,并构造了一个多参数的代价函数来选择最佳的下一跳,解决了网络中能耗不匀均,网络中心的节点和边缘节点的能耗差距较大的问题,延长网络寿命。

附图说明

图1为本发明网络模型示意图;

图2为本发明wban中基于非均匀分簇的高效路由协议的总流程示意图;

图3为本发明簇头选择过程示意图;

图4为本发明节点选择簇群的过程示意图;

图5为本发明仿真实验中两种协议的网络寿命分析比较示意图;

图6为本发明仿真实验中两种协议网络中能耗均衡的比较示意图;

图7为本发明仿真实验中两种协议能量消耗的比较示意图。

具体实施方式

下面结合说明书附图对本发明的具体实施方式(实施例)进行描述,使本领域的技术人员能够更好地理解本发明。

本发明的网络模型采用多跳的树形拓扑,假设网络由n个功能不同的传感器节点和1个sink节点组成,非均匀的分布在2m×2m的场地中,来模拟wban的应用场景。网络模型如图1所示,除此之外,对网络中的节点作以下假设:

1.节点放置后位置不变,初始能量相等,具备简单的信息处理能力,只允许簇头节使用数据融合技术;

2.节点可以根据接收信号强度(rssi)的大小计算与源节点之间的距离,且可以根据传输距离控制自己的收发功率;

3.根据实际,不考虑sink节点的能量,且具备较强的计算能力和信息处理能力;

本发明的wban中基于非均匀分簇的高效路由协议主要分为网络初始化、簇头的选择、节点入簇和数据传输四个阶段,图2是该协议总的流程图。

一、网络初始化

在网络初始化阶段,sink节点向全网广播hello消息唤醒所有节点,网络中的节点接收到该消息后会立即更新sink节点的位置,并根据接收信号强度(rssi)计算出与sink节点的距离并保存,节点在传输数据时将根据与sink的距离大小选择合适的路由方法。节点完成上述工作后,向网络中回复一个确认消息,该消息包括节点的id、位置、剩余能量等信息。初始化阶段结束后,网络中所有节点都知道邻居节点的信息以及sink节点的位置。

二、簇头的选择

在分簇路由中,簇头除了负责簇内信息的收集、处理和发送,还负责转发其他簇头的信息到sink节点,簇头节点的能量消耗相比较普通节点要快得多。所以本协议规定候选的簇头节点不能由植入人体内部的节点担任,而在那些附着或者穿戴在人体表面的节点中产生。

在选择簇头时,评估候选簇头节点的相对剩余能量和与sink节点的距离参数。节点的剩余能量参数是首要的选择指标,剩余能量越多被选为簇头的概率就越高,节点i的剩余能量eres(i)计算如下:

其中,e0(i)为节点的初始能量,etx(t)为发送数据消耗的能量,erx(t)为接收数据消耗的能量,ec(t)为数据融合消耗的能量,只有簇头节点执行数据融合功能会计算该部分能量,一般节点没有数据融合功能,默认该值为0。

为了减少由于距离较远而耗能较大的问题,选择簇头时要考虑节点与sink的距离,距离sink越近当选簇头的概率就越大。假设节点i与sink的距离为d(i),本发明利用接收信号强度(rssi)来测量节点与sink的距离,其计算如下:

其中rssi(d)和rssi(d0)分别为接收端和发送端之间距离为d和d0接收到的rssi强度值;n是路径损耗指数;xσ是零均值的高斯随机变量。

综合考虑以上两个节点参数进行簇头的选择,定义簇头选择函数为s(i),如下式所示,

选择函数值最大的节点成为簇头,被选择成为簇头的节点具有剩余能量较多和距离sink较近的特点,簇头产生之后会形成一个簇头集合s-ch,网络中其他节点会自动转为普通节点。图3表示簇头选择过程。

为了实现非均匀分簇的目的,每个簇头节点都会计算自己的竞争半径ri,该竞争半径综合考虑了节点与sink的距离、剩余能量以及邻居节点个数等参数,具体的计算公式如下:

其中α、β、γ为各参数的权重,且满足α+β+γ=1,d为sink节点到部署区域的最远距离,di,sink为节点i到sink的距离,xi和yi分别为簇头i所处的位置坐标,eres(i)为节点i的剩余能量,e0(i)为初始能量,ni为节点的i的邻居数,n为最大节点数,rmax为节点的最大通信半径。

由公式可以看出,距离sink越近、剩余能量越低、邻居个数越多时该节点的通信半径越小,因此其成簇规模就越小。反正,距离sink越远,即网络边缘的节点,其剩余能量越高、邻居数越少则通信半径越大,此时其成簇的规模就越大,实现了非均匀分簇的目的。

为了减少簇头更换的频率,本发明协议为节点设置一个能量阈值ehead-th,当节点的剩余能量大于该阈值时,可以连续担任簇头节点,直到该节点的剩余能量低于该阈值时,就退出簇头的竞争,换其他的节点担任该簇头。这样可以均衡网络节点的能量消耗,对于延长网络的工作寿命有重要的作用。

三、节点入簇

簇头节点选择成功后,会在自己的竞争半径ri内向周围的网络中广播消息,宣布其当选为簇头的head-ack消息,在该通信范围内的其他节点接收到该消息后会储存这些信息并形成一个簇头信息表,如表1所示,然后等待加入合适的簇群。

表1节点保存的簇头信息表

传统的方法是普通节点根据就近原则随机加入簇群,其缺点是会造成一些簇的规模较大,一些簇的规模又太小,会导致簇头节点的能量消耗差距变大,加重网络能耗不均匀的问题。因此,为了解决以上问题,本协议综合考虑节点的入簇条件,除了基本的就近原则之外,还进行以下考虑:

(1)若节点当前保存的簇头信息表中只有一个簇头时,则直接向该簇头发送入簇的请求,由簇头同意后加入该簇群。

(2)若当前节点保存的簇头信息表中有两个或多个簇头信息时,除了考虑就近原则之外,还要考虑簇头节点的剩余能量,当前簇内成员的数量等参数,其选择函数s·f(i)的计算方法如以下公式所示:

选择剩余能量较多、簇内节点总数较少的簇群加入,均衡各个簇头的能耗,实现合理的非均匀分簇。节点选择簇群的流程如图4所示。

四、数据传输阶段

经过以上三个阶段后,网络被分成了非均匀分布的簇群,然后开始数据的传输。具体的数据传输分为两步,簇内数据传输和簇间数据传输。簇内数据传输采用一跳路由的方式,簇内成员将采集到的信息直接发送至簇头节点,减少多跳带来的传输延迟和可能的数据丢失。簇间数据传输将采用多跳的方式,其中下一跳节点在簇头集合s-ch中产生,这样可以减少距离sink较远的簇头直接传输产生的巨大能耗,关于下一跳的选择方法具体介绍如下。

本协议在设计簇间路由时,优先选择多跳的方式来保证数据的可靠性传输,其中在选择下一跳节点时构造一个多参数的代价函数,计算簇头集合中节点的函数值,选择函数值最小的簇头成为最佳下一跳节点,该代价函数由以下公式表示:

其中tem(i)、d(i)、ch(i)和eres(i)分别表示候选下一跳节点的当前温度、与sink的距离,簇的大小和剩余能量参数。最佳下一跳节点的簇头具备温度较低、距离sink较近,簇内成员较少以及剩余能量较多的特点。

构造代价函数时,考虑节点的温度参数是因为传感器节点应用在人体身上,有些节点甚至部署在重要的器官上,而节点本身在通信时产生的热量会灼伤人体,所以必须将温度参数考虑在内,选择温度较低的簇头担任下一跳。另外,选择簇内成员较少的簇头是为了均衡簇之间的能耗,减少簇成员较多的簇头的转发负担。表2是具体的簇间多跳路由过程。

表2簇间多跳路由过程

仿真及性能评估

在matlab平台上对本发明所提出的wban中基于非均匀分簇的高效路由协议进行实验仿真,为了验证本协议的性能,本文与crpba协议进行对比,分别从能耗均衡和网络寿命等方面进行验证。

(1)仿真环境和参数

本发明所提出的wban中基于非均匀分簇的高效路由协议(以下简称er-ucrp协议)在matlab平台进行仿真实验,网络节点的部署如图1所示,节点部署之后其位置不再发生改变。具体的参数设置如表3所示。

表3:仿真参数设置

(2)仿真结果分析

在相同的仿真环境和参数的情况下,将对本发明提出的er-ucrp协议与crpba协议进行比较。

1.网络寿命

网络寿命是衡量一个协议的综合性能的重要指标,定义为从网络开始工作到最后一个节点死亡所经历的时间,以轮为单位。如图5所示,为两个协议在网络寿命方面的比较,从图中数据可以看出本发明提出的er-ucrp协议在网络寿命方面明显优于crpba协议。由于crpba协议将网络中的节点进行均匀的分簇,没有考虑网络中心和网络边缘节点的能耗差异。而er-ucrp协议考虑了该问题,采用非均匀分簇的方法进行合理的分簇,网络中心节点的成簇规模小于网络边缘节点的成簇规模,这样边缘的节点可以分担中心的节点的任务量,实现能耗均衡的目的,所以er-ucrp协议在延长网络寿命方面有优势。

2.能耗均衡性

实现网络中的能耗均衡是延长网络寿命的关键。能耗的均衡程度可以通过网络中第一个、一半和最后一个节点的死亡时间来评价。如图6所示为两个协议在能耗均衡程度的比较。从图中数据可以看出,本发明提出的er-ucrp协议在均衡能耗方面优于crpba协议。具体表现在er-ucrp和crpba协议分别是在2752和3550轮之后出现了第一个死亡节点,在3920和4453轮之后出现了一半的死亡节点,在4180和4925轮之后所有节点都死亡。尤其是,er-ucrp协议中出现一半的节点死亡到全部节点死亡所经历的时间大约是crpba协议的1.8倍,这是因为er-ucrp协议采用非均匀分簇的方法,距离sink越近的,成簇的规模就越小,反之则越大,所以能分担网络中心节点的任务量,有效地缓解了中心节点和网络边缘节点的能耗差异,均衡了网络能耗。

3.能量效率

对网络工作周期中每一轮节点的能量利用情况进行分析,可以评估一个协议在能量利用效率方面的好坏。图7是两个协议在能量效率方面的对比,可以看出er-ucrp协议在节点的能量利用效率方面优于crpba协议。图中er-ucrp协议的线条走势相对稳定,是因为该协议在选择簇头时考虑了节点的剩余能量参数,且设置了节点担任簇头的最低能量阈值,将网络中的节点进行了分均匀的分簇,簇间路由采用了多跳的方式,在选择下一跳时也考虑了候选节点的温度,剩余能量、簇内成员以及与sink的距离等参数,提高了节点的能量利用效率,同时保证了数据的成功转发。而crpba协议在簇内和簇间设计传输路径时,都采用一跳的方式直接转发数据,这样会造成数据转发失败,能量消耗较多,节点的能量利用效率很低,所以该协议对应的曲线变化较大。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1