多路径路由优化传感器与反应节点间通信的方法_2

文档序号:9420895阅读:来源:国知局
好的实现网络中的负载平衡和较高的延迟网络的寿命O
【附图说明】
[0021]图1为吞吐量的对比实验的对比图;
[0022]图2为延迟的对比实验的对比图;
[0023]图3为路由所需跳数的对比实验的对比图;
[0024]图4为网络寿命对比的对比图;
[0025]图5为HTDM的路径路由示意图。
【具体实施方式】
[0026]下面将结合附图和实施例对本发明做进一步的说明。
[0027]本实施例为一种多路径路由优化传感器与反应节点间通信的方法,首先,反应节点(Actor Node)通过跳数扩散协议确定是否是同一个反应节点区域(Actor Set);接着,确定反应节点到达同一反应节点区域中其它反应节点的跳数;然后,确定每一个传感器节点(Sensor Nodes)与反应节点到达每一个反应节点以及反应节点区域的跳数;最后,如果反应节点位于同一反应节点区域,对于同一反应节点区域内节点只要简单的按照最短路由的路由方法就可以实现通信;如果不在同一反应节点区域的2个反应节点之间则通过传感器节点建立多条不相交的路由路径进行通信。
[0028]反应节点通过跳数扩散协议确定是否是同一个反应节点区域;在此阶段,每一个反应节点能通信半径ra向外广播自己的信息,广播包采用格式为:
[0029]{IDa, (ID1, IDlin, hops),(ID2, ID2 n, hops),...,(IDk, IDkjn, hops)}(I)
[0030]广播包由反应节点自己的ID以及多个3元组组成,每个3元组的组成为(ID,nextID, hop number),分别表达的意思是(目标反应节点的ID,到达目标反应节点经过的下一跳反应节点的ID,到达目标反应节点的跳数)。元素10!1表示广播包的发起的反应节点ID。信息在初始时只包含自己的ID号,到达其它反应节点的信息为空,这时的信息包内容Ma ={IDa, (IDa, IDa, O)} ο通信范围内的其它反应节点收到广播包后,将广播包中的信息与自己的消息进行比对,如果发现通过发送广播的反应节点有到达新的反应节点的路由消息,或者到达其它反应节点有更短的路由,则将自己的消息信息进行更新。更新的原则是:(1)如果新的广播包中有新的目标反应节点ID,则创建一个新的3元组,新的3元组的第I项为新的目标反应节点ID,新的3元组的第2项更改为广播来源反应节点ID,第3项目更新为hops+lo表示由广播来源的反应节点经过hops+Ι跳可以到达新的反应节点。然后,将新的此元组增加到自己的消息中。(2)如果发现广播中的元组中,到达目的反应节点相同,而hops+Ι比当前元组的hops还小,则进行更新。更新的方法是将此3元组的第2项更改为广播来源反应节点ID,第3项目的内容为收到广播包中的此元组第3项目的hops+Ι。只要某反应节点的广播包有更新,则此反应节点在等候一段合适的time slots (时隙)后,再进行广播。经过一段时间后,直到每个反应节点的广播信息不再需要更新时,则反应节点区域以及反应节点之间的路由就形成了。最后,由于每一个反应节点都知道整个反应节点区域每一个反应节点的ID,因而对所有ID用f函数进行映射后,得到其所在反应节点区域的ID号。
[0031 ] 对于同一反应节点区域内节点只需通过反应节点的长信道直接通信。
[0032]创建多路径路由的主要思想如下:对于同一个反应节点区域间的通信,已知到达同一反应节点区域内各个反应节点的最小跳数,以及到目的反应节点最短路径下一跳。因而,对于同一反应节点区域内节点只要简单的按照最短路由的路由方法就可以实现通信。
[0033]非同一反应节点区域内的反应节点需要由传感器节点作为中介、建立多条路由通信;具体过程如下:
[0034]发起方为反应节点,接收方为反应节点a2为不同的反应节点区域时。虽然是2个反应节点通信,但是由于反应节点与传感器节点通信能力的巨大差异。因而,实际上只要将反应节点的数据发送到反应节点a 2所在反应节点区域的任何一个反应节点就不影响其通信的吞吐量了,反应节点与反应节点通信就没有瓶颈了。而对于发送方来说,由于反应节点间的通信能力远大于传感器节点,因此,能够通过反应节点通信时,尽量选用反应节点之间的通信,只有无法避免传感器节点的通信时才采用传感器节点的通信。因而,在HTDM中,虽然是不同反应节点区域的2个反应节点通信,但是,我们的主要目标只要考虑将发送方所在的反应节点区域任一反应节点的数据传送到对方反应节点区域的任何一个反应节点就可以了。因为,在发送方反应节点区域内部,以及接收方反应节点区域内部可以采用反应节点区域内部的算法,并且不存在通信能力不匹配的情况。因而下面的算法只考虑如果把发送方所在反应节点区域的数据发送到接收方所在的反应节点区域就可以了。
[0035]由于反应节点的能力较大,还具有GPS等定位信息。故反应节点区域的每一个反应节点都知道ADTA (actor direct transmiss1n area,反应节点可直接传输区域)内每一个传感器节点到达接收方所在反应节点区域的跳数。因而在HTDM策略中,创建第一条路由路径的方法如下:(I)发起通信的反应节点&1选择到达接收方反应节点区域跳数最小的且在ADTA范围内的传感器节点为第一条路由路径的起始节点。如果发起通信的反应节点S1并不能直接与传感器节点通信,则反应节点&1将数据包路由到能够直接与传感器节点直接通信反应节点,再发送到传感器节点。因为,反应节点间的通信能力远高于传感器节点,因而通过反应节点间的通信是最快速与最节省能量的。(2)传感器节点采用最短路由算法将数据包路由到目标反应节点a2所在ADTA内的传感器节点则采用最短路由算法将数据包路由到距离自己最近的反应节点,而此反应节点再将数据包路由到目标反应节点a2。(3)在创建路由的过程中,路由路径一跳范围内的传感器节点如果监听到路由创建的消息,就记录路由路径的ID的信息,表示自己位于此条路由的通信干扰范围内。
[0036]然后,以此路由路径为基准创建更多的路由路径。创建剩余路由的方法如下:(I)通信发起方的反应节点选择距离目标反应节点区域跳数最小的传感器节点且此传感器节点不在已经创建路由的干扰范围内,比如节点b。如果传感器节点b不能与通信发起方反应节点a:通信,则反应节点a:将数据通过其它反应节点发送到传感器节点b。(2)从传感器节点b开始创建新的路由路径。传感器节点b每次选取距离目标反应节点区域更近的且不在已经建立路由干扰范围内的传感器节点作为下一跳向前路由。如果不能找到比自己更近目标反应节点区域的下一跳,则如果传感器节点b在第一条路由的左边,则采用左手规则寻找与自己跳数相同而在自己左侧的传感器节点作为一下跳(相当于左手规则绕开空洞的路由算法)。(3)数据包路由到目标反应节点a2所在的ADTA后,在其内的传感器节点则采用最短路由算法将数据包路由到距离自己最近的反应节点,而此反应节点再将数据包路由到目标反应节点a2。(4)重复上述的(1)-(3)创建新的路由路径;(5)在创建的过程上同样标识路由的影响范围。即如果节点能够监听到路由创建的消息,就记录路由路径的ID的信息,表示自己位于此条路由的通信干扰范围内。
[0037]为验证协议的可行性与高效性,采用OMNET++对协议进行了实验验证。得到图1到图5的实验结果,有如下结论:
[0038]1.图1给出了 HTDM路由策略在网络场景三条路径吞吐量的实验结果。在实验中,当建立的路由个数为I时就是以往研究中采用的单路由方法。本方案提出的HTDM路由策略是一种多路由策略,在反应节点与反应节点之间创建多条路由,从而弥补反应节点与传感器节点之间的通信能力的差异。从实验结果可以看出当HTDM路由策略下的吞吐量几乎与创建路由的条数成正比。因而在实践中,可以依据实际需求而确定创建路由的条数以弥补反应节点与传感器节点之间的通信能力的差异。
[0039]2.图2给出了 HTDM路由策略在不同网络场景下的延迟实验结果。实验设置与前面的实验相同。而延迟(delay)是指一对反应节点之间需要传输一定数量的数据量所需要的时间。实验结果证实了我们提出策略的有效性,创建多条路由路径传
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1