一种基于多维度路径质量因子的无线传感网分布式路由方法与流程

文档序号:17238179发布日期:2019-03-30 08:27阅读:274来源:国知局
一种基于多维度路径质量因子的无线传感网分布式路由方法与流程

本发明涉及一种基于多维度路径质量因子的无线传感网分布式路由方法,属于无线传感网技术领域。



背景技术:

无线传感网wsn(wirelesssensornetworks)广泛应用于环境监测、军事侦察、医疗监护、空间探索、抢险救灾等多种领域,具有重要的科研价值和广阔的应用前景。目前,wsn的研究主要集中在mac层、网络层和传输层,以及各层之间的跨层交互。网络层负责将传感器节点采集的数据逐跳转发至sink,其性能至关重要,是wsn的研究热点。资源的局限性给wsn路由协议的设计带来了巨大的挑战,和传统路由协议相比,wsn路由协议更加关注数据传输的可靠性和能量的使用效率。

基于最小跳数的路由协议实现简单,每次都采用从当前节点到sink的最大距离进行数据传输,网络延迟少,能耗低,因而得到了广泛的应用,比较典型的基于跳数的路由协议有aodv、gbr和multipathringrouting。在基于最小跳数的路由协议中,节点总是选择跳数最少的路径传输数据,因此,造成节点传输的距离远,网络的丢包率很高。

研究表明在路由建立的过程中,如果考虑节点间的链路质量(即信号强度),将能提高网络的包投递率。目前比较有影响力的基于链路质量的路由协议有eedr、lrp和le-aodv,这些协议在路由选择过程中由于引入了当前节点与邻节点之间的链路质量信息,所以在一定程度上降低了丢包率,但它们都只考虑了与当前节点直接相连的链路的质量信息,没有考虑路径中其他链路的质量信息,缺乏全局性,所以网络的丢包率仍然较高。



技术实现要素:

本发明针对上述现有技术的不足,提出了一种基于多维度路径质量因子的无线传感网分布式路由方法,采用整条路径的质量而非单段链路的质量作为路由选择的依据,并且将最小路径跳数、最大路径信号强度和最大路径剩余能量三种因子综合起来作为路径质量的评价标准,能够找到一条到达sink的最佳路径,有效地降低了网络的丢包率,平衡了网络的能耗,延长了网络的寿命。

本发明采取的技术方案为:

一种基于多维度路径质量因子的无线传感网分布式路由方法,包括网络路由建立阶段、网络数据传输阶段和网络路由更新阶段三个部分,具体步骤如下:

步骤1:网络路由建立阶段,网络启动后,基站广播路由发现分组,路由发现分组沿传播路径收集当前节点到基站的最小路径跳数、最大路径信号强度和最大路径剩余能量,当前节点根据这些信息生成到基站的最优路径。

步骤1-1:网络启动后,sink广播路由发现分组,路由发现分组的格式如下:

(1)seqnum:源节点设置的分组序号;

(2)packetkind:分组类型。分路由请求分组和数据分组两类,其中,路由请求分组由sink发出,用于建立网络路由;数据分组用于传输节点采集的数据;

(3)sinkid:sink节点的编号;

(4)senderid:当前发送节点的编号;

(5)phops:当前节点到sink的路径跳数;

(6)pssi:当前节点到sink的路径信号强度;

(7)penergy:当前节点到sink的路径剩余能量。

步骤1-2:路由发现分组由网络节点逐步转发和扩散以到达每个网络节点,一个节点可能收到多个从不同邻节点转发来的路由发现分组,当节点收到第i个路由发现分组时,取出路由发现分组首部的参数,按如下公式计算当前节点到基站的最小路径跳数:

phops(i)=phops(i)+1(先将路径跳数加1)

minphops=min{phops(i),1≤i≤n}

其中,n表示当前节点收到的路由发现分组的个数;

按如下公式计算当前节点到基站的最大路径信号强度:

pssi(i)=min{pssi(i),rssi(i),1≤i≤n}(将当前节点纳入路径信号强度的计算)

maxpssi=max{pssi(i),1≤i≤n}

其中,rssi(i)表示当前节点接收到第i个路由发现分组时物理层检测到的无线信号强度rssi(receivedsignalstrengthindicator);

按如下公式计算当前节点到基站的最大路径剩余能量:

penergy(i)=min{penergy(i),energy,1≤i≤n}(将当前节点纳入路径剩余能量的计算)

maxpenergy=max{penergy(i),1≤i≤n}

其中,energy表示当前节点的剩余能量;

按如下公式计算当前节点到基站的最小路径费用:

pcost(i)=a*phops(i)/minphops+b*maxpssi/pssi(i)+c*maxpenergy/penergy(i)

minpcost=min{pcost(i),1≤i≤n}

其中,a,b,c为参数常量,a+b+c=1,通过调节参数a,b,c的取值可以在网络丢包率、能量消耗和能量均衡三者之间进行折衷。当前节点选取路径费用最小的邻节点作为路由转发节点,并将其senderid记入路由表中,作为下一跳节点;

步骤1-3:如果计算出的最小路径费用(minpcost)比节点当前保存的最小路径费用更小,则说明新的路径质量更优,此时保存最小路径费用(minpcost),并修改路由发现分组首部的信息,将minphops、maxpssi、maxpenergy和该节点的id分别写入路由发现分组的phops、pssi、penergy和senderid字段。

步骤1-4:当前节点向其邻节点重新广播路由发现分组。

步骤2:网络数据传输阶段,节点需要传输数据时,根据步骤a建立的最优路径传输数据到基站;

步骤2-1:路由建立阶段结束后,网络进入数据传输阶段,此时如果网络层收到应用层传来的传感器节点采集的数据,则将数据封装成分组,并将分组加入发送缓冲队列中,等待发送;数据分组的格式如下:

(1)seqnum:源节点设置的分组序号;

(2)packetkind:分组类型,分路由请求分组和数据分组两类;

(3)sourceid:数据源节点的编号;

(4)sinkid:sink节点的编号;

(5)senderid:当前发送节点的编号;

(6)nexthop:分组下一跳节点的编号;

(7)data:源节点采集的数据。

步骤2-2:如果网络层收到mac层传来的数据分组,则先取出数据分组首部的参数,再判断自己是否为该分组的接收方(即nexthop是否等于当前节点的id),如果是,则接收;接收后再进一步判断,当前节点是否为基站(即sinkid是否等于当前节点的id),如果是,则表明数据已到达目的地,将数据上交应用层处理,否则,修改分组首部的信息,将当前节点的id和当前节点路由表中的下一跳节点写入数据分组的senderid和nexthop字段,并将分组加入发送缓冲队列中;

步骤2-3:当发送缓冲队列非空时,读取发送缓冲队列的首元素,并发送,再删除发送缓冲队列的首元素,直至发送缓冲队列空为止。

步骤3:网络路由更新阶段,在网络节点工作预先设置的数据采集时间后,基站重新广播路由发现分组以更新网络路由。

本发明一种基于多维度路径质量因子的无线传感网分布式路由方法,有益效果如下:

1.在网络路由建立阶段,现有技术大都只考虑了与当前节点直接相连的链路的质量信息,没有考虑路径中离当前节点较远的其他链路的质量信息,路由选择缺乏全局性,虽然提高了与当前节点直接相连的链路的可靠性,但路径中不直接相连的链路的可靠性可能较低,造成网络的整体丢包率仍然较高。而本发明采用整条路径的链路质量而非单段链路的质量作为路由选择的依据,因此,能够取得全局最优的效果,从而显著降低整条路径的丢包率。

2.在网络路由建立阶段,现有技术大都只考虑了当前节点和邻节点的剩余能量,没有考虑路径中离当前节点较远的节点的剩余能量,路径中容易出现能量瓶颈节点,造成部分节点过早死亡。而本发明采用整条路径中所有节点的剩余能量作为路由选择的依据,能够绕开剩余能量过低的节点,从而维持网络中所有节点的能量均衡消耗,延长网络的寿命。

3.本发明将最小路径跳数、最大路径信号强度和最大路径剩余能量三种因子综合起来作为路径质量的评价标准,通过调节三者的权重因子就可以在网络丢包率、网络能量消耗和能耗均衡三者之间进行折衷,从而找到一条到达sink的最佳路径。

4.本发明解决大规模的通信链路质量较差的无线传感网中存在的高丢包率问题和能耗不平衡问题。该方法将最小路径跳数、最大路径信号强度和最大路径剩余能量三者综合起来作为路径质量的评价因子,有效地降低了网络的丢包率,延长了网络的寿命。

附图说明

下面结合附图和实施例对本发明作进一步说明:

图1为随机生成的网络节点部署示意图。

图2为网络路由的建立过程流程图。

图3为生成的网络结构示意图。

图4为本发明(mpqr)与eedr的网络丢包率对比图。

具体实施方式

下面结合说明书附图对本发明的具体实施方式进行详细说明。

本发明一种基于多维度路径质量因子的无线传感网分布式路由方法,适合满足如下条件的无线传感器网络:

(1):n个传感器节点随机分布在一个正方形区域内,周期性地收集周围的环境信息并上传给sink;

(2):所有传感器节点部署后不再移动,sink唯一;

(3):所有节点没有安装gps,不知道其具体位置。

图1显示了随机生成的网络节点部署示意图。该路由方法包括网络路由建立阶段、网络数据传输阶段和网络路由更新阶段三个部分,网络部署完毕后首先进入网络路由建立阶段,基站广播路由发现分组,路由发现分组沿传播路径收集当前节点到基站的最小路径跳数、最大路径信号强度和最大路径剩余能量,当前节点根据这些信息生成到基站的最优路径,图2显示了网络路由的建立过程。具体步骤如下:

(1):网络启动后,sink广播路由发现分组;

(2):路由发现分组由网络节点逐步转发和扩散以到达每个网络节点,一个节点可能收到多个从不同邻节点转发来的路由发现分组,当节点收到第i个路由发现分组时,取出路由发现分组首部的参数,按如下公式计算当前节点到基站的最小路径跳数:

phops(i)=phops(i)+1(先将路径跳数加1)

minphops=min{phops(i),1≤i≤n}

其中:n表示当前节点收到的路由发现分组的个数;

按如下公式,计算当前节点到基站的最大路径信号强度:

pssi(i)=min{pssi(i),rssi(i),1≤i≤n}(将当前节点纳入路径信号强度的计算)

maxpssi=max{pssi(i),1≤i≤n}

其中,rssi(i)表示当前节点接收到第i个路由发现分组时物理层检测到的无线信号强度rssi(receivedsignalstrengthindicator);

按如下公式计算当前节点到基站的最大路径剩余能量:

penergy(i)=min{penergy(i),energy,1≤i≤n}(将当前节点纳入路径剩余能量的计算)

maxpenergy=max{penergy(i),1≤i≤n}

其中:energy表示当前节点的剩余能量;

按如下公式计算当前节点到基站的最小路径费用:

pcost(i)=a*phops(i)/minphops+b*maxpssi/pssi(i)+c*maxpenergy/penergy(i)

minpcost=min{pcost(i),1≤i≤n}

其中:a,b,c为参数常量,a+b+c=1,通过调节参数a,b,c的取值可以在网络丢包率、能量消耗和能量均衡三者之间进行折衷。当前节点选取路径费用最小的邻节点作为路由转发节点,并将其senderid记入路由表中,作为下一跳节点;

(3):如果计算出的最小路径费用(minpcost)比节点当前保存的最小路径费用更小,则说明新的路径质量更优,此时保存最小路径费用(minpcost),并修改路由发现分组首部的信息,将minphops、maxpssi、maxpenergy和该节点的id分别写入路由发现分组的phops、pssi、penergy和senderid字段;

(4):当前节点向其邻节点重新广播路由发现分组,图3显示了生成的网络结构示意图。

网络路由建立阶段结束后进入网络数据传输阶段,具体步骤如下:

(1):如果网络层收到应用层传来的传感器节点采集的数据,则将数据封装成分组,并将分组加入发送缓冲队列中,等待发送;

(2):如果网络层收到mac层传来的数据分组,则先取出数据分组首部的参数,再判断自己是否为该分组的接收方,即nexthop是否等于当前节点的id,如果是,则接收;接收后再进一步判断,当前节点是否为基站,即sinkid是否等于当前节点的id,如果是,则表明数据已到达目的地,将数据上交应用层处理,否则,修改分组首部的信息,将当前节点的id和当前节点路由表中的下一跳节点写入数据分组的senderid和nexthop字段,并将分组加入发送缓冲队列中;

(3):当发送缓冲队列非空时,读取发送缓冲队列的首元素,并发送,再删除发送缓冲队列的首元素,直至发送缓冲队列空为止。

在网络节点工作预先设置的数据采集时间后,网络进入路由更新阶段,基站重新广播路由发现分组以更新网络路由。

图4显示了本发明(mpqr)与eedr路由方法的网络丢包率对比图。从图4可以看出:本发明(mpqr)的网络丢包率小于eedr路由方法,在网络可靠性方面表现出良好的性能。

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