多路径路由优化传感器与反应节点间通信的方法
【技术领域】
[0001]本发明涉及一种多路径路由优化传感器与反应节点间通信的方法。
【背景技术】
[0002]Wireless Sensor Actor Networks (WSANs,无线传感反应器网络)包含大量低成本、功能较为简单的传感器节点和较少数量的具有更好处理能力以及更高传输能力的反应节点组成。反应节点通常会进行分组分区,从经济上的考虑由于反应节点能量较强而费用较高,所以在网络中的分布密度比较低,而且,反应节点间往往被普通传感器节点所隔断。因此,反应节点之间的通信需要经过通信能力较弱的传感器节点为中继,就成为通信中的瓶颈。怎样增加这些瓶颈区域的吞吐量成为了一个主要的挑战。
[0003]第一,在吞吐量方面。以往研究中提出的多路径路由策略并不真正是多路径路由,一般来说路由的两端,多条路由共享一个源节或者目的节点因而并不能同时传送,并没有真正实现多路路由。
[0004]第二,在网络寿命方面。大多数研究往往忽略了能量的均衡能量,在建立多路由的过程中往往选择最短路径或者是靠近路由中心的路径来作为路由的线路,这就使得网络在中心的能量消耗过大而提早的导致整个网络的死亡。
[0005]第三,路由机制与协议的有效性方面。当反应节点之间通过传感器节点作为中继,往往选择最短路径而增加网络中间区域的能量消耗。
【发明内容】
[0006]本发明提出一种多路径路由优化传感器与反应节点间通信的方法,通过建立一个高吞吐量的多路径协议,从而提高整个网络的吞吐量的同时还均匀了网络的能量消耗,使得网络寿命最大化。
[0007]本发明提供的技术方案如下:
[0008]一种多路径路由优化传感器与反应节点间通信的方法,包括如下步骤:
[0009]步骤一,形成反应节点区域以及同一反应节点区域内部反应节点间的路由路径;
[0010]步骤二,形成每一个传感器节点与反应节点到达每一个反应节点以及反应节点区域的路由跳数;
[0011]步骤三,如果反应节点位于同一反应节点区域,对于同一反应节点区域内节点按照最短路由的路由方法就实现通信;如果不在同一反应节点区域的两个反应节点之间则通过传感器节点建立多条不相交的路由路径进行通信。
[0012]其中,步骤一的具体操作为:每一个反应节点能通信半径^向外广播自己的信息,广播包采用格式为:
[0013]{IDa, (ID1, IDljn, hops),(ID2, ID2 n, hops),...,(IDk, IDkjn, hops)}(I)
[0014]广播包由反应节点自己的ID以及多个3元组组成,每个3元组的组成ID、IDk,跳数分别表示目标反应节点的ID、到达目标反应节点经过的下一跳反应节点的ID、到达目标反应节点的跳数,元素103表示广播包的发起的反应节点ID ;信息在初始时只包含自己的ID号,到达其它反应节点的信息为空,这时的信息包内容Ma= {IDa, (IDa, IDa, O)};通信范围内的其它反应节点收到广播包后,将广播包中的信息与自己的消息进行比对,如果发现通过发送广播的反应节点有到达新的反应节点的路由消息,或者到达其它反应节点有更短的路由,则将自己的消息信息进行更新,更新的原则是:(1)如果新的广播包中有新的目标反应节点ID,则创建一个新的3元组,新的3元组的第I项为新的目标反应节点ID,新的3元组的第2项更改为广播来源反应节点ID,第3项更新为hops+Ι,表示由广播来源的反应节点经过hops+Ι跳可以到达新的反应节点;然后,将新的此元组增加到自己的消息中;(2)如果发现广播中的元组中,到达目的反应节点相同,而hops+Ι比当前元组的hops还小,贝Ij进行更新,更新的方法是将此3元组的第2项更改为广播来源反应节点ID,第3项的内容为收到广播包中的此元组第3项的hops+Ι,只要某反应节点的广播包有更新,则此反应节点在等候一段合适的时隙后,再进行广播,经过一段时间后,直到每个反应节点的广播信息不再需要更新时,则反应节点区域以及反应节点之间的路由就形成了 ;最后,由于每一个反应节点都知道整个反应节点区域每一个反应节点的ID,因而对所有ID用f函数进行映射后,得到其所在反应节点区域的ID号。
[0015]其中,步骤二的具体操作为:反应节点区域中的每一个反应节点切换到传感器频率广播自己的信息,处于反应节点通信范围内的传感器节点若能接收到每一个反应节点的广播信息,将自己标记为ADTA,并将自己到此反应节点区域的跳数设为0,到所有反应节点的距离设置为⑴;然后,每一个反应节点向外广播{IDa,IDas,0},表示到达自己以及到达自己所在反应节点区域的跳数为0,收到此消息的传感器节点则查找自己的传感器路由表SRTs,看SRTs中到达此反应节点与其所在反应节点区域的跳数是否比广播中的大,如果大,则更新相应的SRT1^ ;如果某传感器节点更新了自己的SRTs表,则等候一段时间后,广播自己的路由表;其所有邻居节点收到广播包后,将路由表中的信息逐项提取出来,看是否需要更新自己的路由表,此过程反复下去,直到网络中每一个传感器节点都确定了到达所有反应节点与反应节点区域的最小跳数,以及到达这些反应节点与反应节点区域的下一跳。
[0016]其中,步骤三中不在同一反应节点区域的两个反应节点之间通信的方法包括如下步骤:
[0017]步骤31,创建第一条路由路径,具体为:311发起通信的反应节点ai选择到达接收方反应节点区域跳数最小的且在ADTA范围内的传感器节点为第一条路由路径的起始节点,如果发起通信的反应节点&1并不能直接与传感器节点通信,则反应节点a i将数据包路由到能够直接与传感器节点直接通信反应节点,再发送到传感器节点;312传感器节点采用最短路由算法将数据包路由到目标反应节点a2所在ADTA内的传感器节点则采用最短路由算法将数据包路由到距离自己最近的反应节点,而此反应节点将数据包路由到目标反应节点a2;313在创建路由的过程中,路由路径一跳范围内的传感器节点如果监听到路由创建的消息,就记录路由路径的ID的信息,表示自己位于此条路由的通信干扰范围内。
[0018]步骤32,以此路由路径为基准创建更多的路由路径,具体包括:步骤321,通信发起方的反应节点&1选择距离目标反应节点区域跳数最小的传感器节点且此传感器节点不在已经创建路由的干扰范围内,设为节点b,如果传感器节点b不能与通信发起方反应节点通信,则反应节点a数据通过其它反应节点发送到传感器节点b ;步骤322,从传感器节点b开始创建新的路由路径,传感器节点b每次选取距离目标反应节点区域更近的且不在已经建立路由干扰范围内的传感器节点作为下一跳向前路由,如果不能找到比自己更近目标反应节点区域的下一跳,则如果传感器节点b在第一条路由的左边,则采用左手规则寻找与自己跳数相同而在自己左侧的传感器节点作为一下跳;步骤323,数据包路由到目标反应节点a2所在的ADTA后,在其内的传感器节点则采用最短路由算法将数据包路由到距离自己最近的反应节点,而此反应节点将数据包路由到目标反应节点a2;步骤324,重复上述的步骤321-323,创建新的路由路径;步骤325,在创建的过程上标识路由的影响范围,即如果节点能够监听到路由创建的消息,就记录路由路径的ID的信息,表示自己位于此条路由的通信干扰范围内。
[0019]有益效果
[0020]本发明提出一种多路径路由优化传感器与反应节点间通信的方法,采用HTDM(high throughput disjoint mult1-path,高吞吐量不相交多路径)策略,提高反应节点区域之间通信的数据吞吐量。同时,该策略有效的降低了由于反应节点和传感器节点之间通信能力的差别而引起的反应节点-传感节点-反应节点间通信(Actor-Sensor-Actorcommunicat1ns, ASAc)的网络瓶颈问题,也较好的减小了网络中延时情况的问题。并且,由于同一区域内的反应节点之间可以不经过不相同的无线传感器节点来传递数据,所以,HTDM路由建立的是真正意义上的从源节点到目的节点直接的路由,大幅度的提高了整个网络的吞吐量。同时,HTDM策略可能够比较