面向链式无线传感器网络的分簇路由系统及方法_2

文档序号:8530833阅读:来源:国知局
中的
I? Vd (DENSESET—ADDR) 与当前节点地址中DENSESET_ADDR域的值VC(DENSESET—_)满足关系
(DENSESET—
ADDE) _^C(DENSESET_ADDE)〉
2且
Vc (DENSESET—ADDR) > 0,则报文转发的下一跳为沿着奇数方向或偶数方向的下一个紧密集的簇首;如果VD(DENSESET
_ADDE) _^C(DENSESET_ADDE)
〉2 且 Vc(Densesetju)dr)为 O,即为零簇首,此时需要根据
(DENSESET—ADDR) 的奇偶值选择对应的奇数方向和偶数方向;如果 (DENSESET—ADDE) _Vc (DENSESET—ADDR) =2,则下一跳节点为报文的目的节点;
[0037]所述上行路由的具体实现过程包括:如果报文目的地址的DENSESET_ADDR域中的
I? Vd (DENSESET—ADDR) 与当前节点地址中DENSESET_ADDR域的值VC(DENSESET—_)满足关系
(DENSESET—
ADDE) _^C(DENSESET_ADDE)〈 2,且 (DENSESET—ADDR) 幸1,2,则报文转发的下一跳为沿着奇数方向或偶数方向的上'~■个紧S集的旗首;如果 VD(DENSESET—ADDR厂VC(DENSESET—ADDR)〈 2 且 Vc(腳SESET—ADDR) — l,2,下一跳即为零簇首;如果
(DENSESET—ADDR) ~^C (DENSESET—ADDR) =2,则下一跳节点为报文的目的节点。
[0038]本发明具有以下优点及有益效果:
[0039]1.本发明基于紧密集进行分簇,并仅在紧密集内进行簇首轮换,减少了簇首选举的开销,并根据节点的剩余能量更换簇首,从而均衡了节点的能量,延长网络的使用寿命;
[0040]2.本发明提出的基于命名机制的分簇路由算法,能够无开销适应簇首轮换,无需进行额外的网络拓扑管理和路由维护。
【附图说明】
[0041]图1为构造节点紧密集的示意图;
[0042]图2为地址分配方法示例图;
[0043]图3为基于命名机制的分簇路由算法流程图。
【具体实施方式】
[0044]下面结合附图对本发明做进一步的详细说明。
[0045]根据网络中的节点是否具有数据采集和中继功能,将全网的节点划分为以下三类:
[0046]基本传感器节点(BSN, Basic Sensor Node):安装有传感器,用于采集塔杆(如图1所示的三个塔杆)上的数据,并将数据转发到簇首;这类节点安装中低功率的收发器,支持中短距离传输。
[0047]数据中继节点(DRN, Data Relay Node):这类节点不具备传感功能,仅负责数据转发。
[0048]增强中继节点(ERN, Enhanced Relay Node):这类节点充当网络中的汇聚节点(Sink Node),可以与BSN和DRN进行通信,负责将采集到的数据发送到控制中心。这类节点安装大功率的收发器,支持长距离传输。
[0049]本发明提出的一种面向链式无线传感器网络的分簇路由方法,包括节点紧密集构造阶段、数据收集阶段以及簇首轮换阶段,具体包括以下步骤:
[0050]步骤(I)节点紧密集构造阶段:同一塔杆周围的节点(包括基本传感器节点和数据中继节点)构成一个紧密集(Dense Set),并基于地理位置信息,为紧密集中的节点分配地址;利用现有的LEACH算法,选取紧密集中的一个节点作为簇首,紧密集中的其余节点作为普通簇成员,簇首和普通簇成员构成一个簇;如图1所示,三个塔杆上的节点(包括簇首和普通簇成员)构成紧密集,一个紧密集中的簇首也充当其他簇的普通簇成员。
[0051]步骤(2)数据收集阶段:普通簇成员以多跳传输方式,采用基于命名机制的路由算法,将网络中的周期性数据和非周期性数据发送给簇首,再由簇首转发到增强中继节点(即汇聚节点);
[0052]步骤(3)簇首轮换阶段:当普通簇成员检测到簇首的剩余能量低于预设的阈值,或者簇首失效时,紧密集内重新选取簇首。
[0053]所述步骤(I)节点紧密集构造阶段,具体包括以下实现过程:
[0054](1.1)当节点加入网络时,广播一个加入请求,获取周围节点的紧密集信息,执行(1.2);
[0055](1.2)当加入节点收到包含紧密集信息的加入响应后,通过响应报文RSSI值从高到低的顺序决定待加入的紧密集;加入节点选择RSSI值最高对应的紧密集,并向此紧密集广播自身地址信息;
[0056](1.3)基于链式拓扑信息,按照紧密集中节点的加入顺序,为紧密集中的节点分配地址;
[0057](1.4)紧密集中的所有成员更新自身的紧密集成员表;如果没有待选择的紧密集,则加入节点建立一个新的紧密集,并且自动成为该紧密集的簇首。
[0058]所述紧密集信息包括紧密集编号以及紧密集成员表;所述紧密集成员表包括同一紧密集中节点的地址。
[0059]所述(1.3)基于链式拓扑信息,按照紧密集中节点的加入顺序,为紧密集中的节点分配地址,具体包括以下过程:
[0060](1.3.1)地址命名方法:节点地址包括三个域:ERN_ADDR域、DENSESET_ADDR域以及BASIC_ADDR域;其中,ERN_ADDR域表示节点所属的ERN节点的地址;DENSESET_ADDR域表示节点所隶属的紧密集的地址,若节点不属于任何簇,则表示最邻近的紧密集地址;BASIC_ADDR域用来区分同一紧密集内的不同节点。
[0061](1.3.2)地址分配过程:包括 ERN_ADDR 域、DENSESET_ADDR 域以及 BASIC_ADDR 域的分配。
[0062]ERN_ADDR域的地址分配:按照ERN节点加入的顺序,从I开始,依次为ERN节点顺序分配地址,隶属于该ERN节点的其他节点的ERN_ADDR域即为对应的ERN节点的地址;
[0063]DENSESET_ADDR域的地址分配:以图2为例,ERN节点(充当汇聚节点)处的紧密集称为O号簇,簇内节点的DENSESET_ADDR域为0,随后左右最邻近它的紧密集被加入网络,依次表不为I号簇和2号簇。
[0064]链式网络中,向I号簇延伸的一侧被称为奇数方向,按地理位置由近及远分别标识为1、3、5、7号族等;相反方向称为偶数方向,被标识为2、4、6、8号族等;
[0065]BASIC_ADDR域的地址分配:按节点加入的先后顺序为紧密集内的所有节点分配BASIC_ADDR 域地址。
[0066]其中,ERN节点的 DENSESET_ADDR 域和 BASIC_ADDR 域均为 O ;
[0067]所述步骤(2)数据收集阶段,涉及多跳数据传输,需要设计合理的路由算法保证数据无冲突和实时传输。本发明方法在数据收集阶段设计基于命名机制的分簇路由算法,具体实现包括下行路由和上行路由两个过程,如图3所示为实现流程图:
[0068](2.1)下行路由:如果报文目的地址的DENSESET_ADDR域中的值VD(DENSESET ADDK)大于当前节点地址中DENSESET_ADDR域的值VC(DENSESET ADDK),则报文沿着网络下行方向传输。具体过程为:
[0069]如果Vd(DENSESET— _ADDE) ~^C (DENSESET_ADDE)〉2 且 Vc (DENSESET—ADDR) >0,则报文转发的下一跳为沿着奇数方向或偶数方向的下一个紧密集的簇首;如果ve(DENSESET _)为0,即为零簇首,此时需要根据Vd(DensesetJu)dr)的奇偶值选择对应的奇数方向和偶数方向。如果VD(DENSESET—
_ADDR)_Vc (DENSESET—
ADDE) = 2,则下一跳节点为报文的目的节点。
[0070](2.2)上灯路由:如果VD(DENSESET—細幻小于Vc(Denseset addr),则报文沿着网络上灯方向传输。具体过程为:
[0071]如果Vd(腳SESET—細R)-VC(DENSESET—ADDR)〈 2,且 Vc(腳SESET—細幻幸 1,2,则报文转发的下'~■跳为沿着奇数方向或偶数方向的上一个紧密集的簇首。如果Vea)ENSESET ADDR) = 1,2,下一跳即为零旗首?如果VD(DENSESET_<
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1