一种延长zigbee网络生命周期的方法_2

文档序号:9871240阅读:来源:国知局
点,则在它们之间建立mesh链路,若被发现的节点是 新节点,则该节点会作为新簇首建立一个新簇,当前节点成为该新簇的网关;
[0019] S05:重复S03到S04直到没有新的邻居节点被任何簇内的叶子节点发现。
[0020] 所述的步骤2)判断FFD节点能量状态具体为:
[0021] 定义动态更新的节点能量的充足值PoweKufficient,偏低值PowerLow,警戒值 化werWarning,如下公式所示:
[0022] PowerSuff icient = aN X F*ower
[0023] F^owerLow =护 X F*ower
[0024] F^owerWarning= 丫 NxF*ower
[002引其中,Power为节点的初始能量值,a,0,丫为固定系数,N为初始值为1的计数值,当 处于警戒状态的节点占所有节点达到临界值时,计数N加1;
[00%]节点检测自身的能量状态,若大于PowerSuffi Cient设定值,则为能量充足状态, 若大于PowerLow而小于PowerSufficient时为能量偏低状态,若节点能量低于 PowerWarning设定值,则为警戒状态,处于警戒状态的节点向协调器发送数据更新警戒节 点计数WaringNodes。网络中节点根据自己能量状况和节点类型选择Cluster-化ee策略或 者AODVjr策略。由于动态更新节点能量,随着网络运行的时间加长,警戒节点在一定的条件 下能够重新恢复为有效路由节点,但充足能量和偏低能量阔值系数均为恒定,W免影响路 由发现过程。
[0027]所述的步骤3)具体为:
[00%]在初始化阶段,中屯、协调器各路网络地址分配机制为每个节点分配唯一的网络地 址,并将自身剩余能量与节点能量等级定义的临界值进行比较,判断出该点的能量等级,从 而在传输数据时选择不同的路由策略,
[0029] 1)当节点能量充足时,所述节点为所有接收到RREQ包的节点,
[0030] 1.1)判断节点是R抑节点还是F抑节点,
[0031 ]若节点是RFD节点,则交由其父节点转发;
[0032] 若节点为FFD节点,则进行下一步;
[0033] 1.2)路由节点接收到数据帖,先判断自己是否为目的节点,若是则接受数据并回 复RREP报文。若不是,则判断节点与目的节点的簇ID是否相同,若不同,RREQ报文将按照 AODV路由过程进行转发;若相同,则判断它们之间有没有mesh链路;
[0034] 1.3)若有mesh链路,则直接将数据发送到目的节点;若没有mesh链路,则将RREQ报 文单播给源簇簇首,收到RREQ报文的节点遵循AODVjr方式对该报文进行转发W及回复RREP 报文;
[0035] 2)当节点能量偏低时,所述节点为所有接收到RREQ包的节点,
[0036] 2.1)判断节点是是R抑节点还是F抑节点,
[0037] 若是RFD节点,则交由其父节点转发;
[0038] 若为FH)节点,则进行下一步。
[0039] 2.2)路由节点接收到数据帖,判断自己是否为目的节点,若是,则接收数据回复 RREP报文;若不是,则根据Cluster-化ee算法中的公式:
[0040] A<D<A+Cskip(d-1)
[0041 ]来判断目的节点是否为自己的后代节点;
[0042] 其中,A为当前节点的网络地址,D为目的节点的网络地址,d为当前节点所在的网 络深度,Cskip(d-l)为当前节点在(d-1)深度下的网络偏移量,当目的节点地址D处于A和A+ Cskip(d-l)之间时,说明目的节点是当前节点的后代节点,反之则不是其后代节点;
[0043] 2.3)若目的节点为自己的后代节点,则根据
[0045] 计算下一跳地址,并将数据帖送到下一跳节点;
[0046] 其中,Cskip(d)是网络深度为加寸的地址偏移量,由下式计算得出:
[0048] 其中,Cm为父节点可拥有的最大子节点数,Rm为父节点可拥有的最大路由节点数, Lm为网络最大深度,运些参数均由协调器决定,d为网络深度;
[0049] 若目的节点不是自己的后代节点,则判断目的节点是否为本簇成员;
[0050] 2.4)若为本簇成员,则将数据帖发送给它的父节点,
[0051 ]若目的节点不为本簇成员,则判断其是否为簇首,如不为簇首,则将数据帖转发至 目的节点的簇首,由簇首处理;若目的节点是簇首节点,则检查路由表是否包含目的节点地 址信息;
[0052] 2.5)若包含目的节点地址信息,则直接将数据帖发送至目的节点;若不包含,则启 动路由发现过程;
[0053] 3)当节点能量处于警戒状态时,此处的节点为所有接收到RREQ包的节点,
[0054] 若节点判断自身能量水平为警戒状态,则停止数据转发,只对自己为目的节点的 运种情况进行回复,自身若不为目的节点则直接丢弃RREQ数据包。同时向中屯、协调器发送 数据并由中屯、协调器更新警戒节点计数WaringNodes。
[0055] 由于引入了节点能量分级并动态更新节点较于全部节点的能量状况,实现了 AODV jr和Cluster-化ee算法的平衡。而相较于ME-AODV方法,本发明使用的方法减少了RREQ 洪泛,降低能量消耗,在网络整体耗能上比传统路由算法低,延长网络生命周期。本发明考 虑了节点的各种能量下的情况,并在节点能量低的时候使用耗能更少的Cluster-Tree算 法,能够有效延长节点的生存周期,所W在在同一运行时间内,比较于传统方法失效节点更 少。
【附图说明】
[0056]图1是本发明与ME-AODV方法在网络整体能量消耗上的对比;
[0化7]图2是本发明与ME-AODV方法在节点出现死亡时间上的对比;
[0058] 图3是本发明的建簇方法的说明;
[0059] 图3(a)是Zigbee组建拓扑网络;
[0060] 图3(b)是协调器建立第一个簇;
[0061] 图3(c)是协调器寻找通信范围内新的节点;
[0062] 图3(d)是协调器的叶子结点之间建立mesh链路;
[0063] 图3(e)是建立新的簇;
[0064] 图3(f)按照规则建簇完成;
[0065] 图4是网络中节点在能量充足时信息传递的流程图;
[0066] 图5是网络中节点在能量偏低时信息传递的流程图。
【具体实施方式】
[0067] 逻辑建簇方法
[0068] 本发明方法首先要进行Zigbee组网如图3(a)所示,并按照一定的逻辑分簇,具体 步骤如下:
[0069] Sl:网络中第一个簇是由中屯、协调器作为簇首形成的,由它和它通信范围内的节 点构成,记为簇0,如图3(b)所示。在该簇形成后,协调器广播信息给他发现的节点,如果发 现的节点与他不是父子关系,则他们之间会建立一条mesh链路,用于他们之间的通信,如图 3 (C)中的节点0和节点16之间的mesh链路。
[0070] S2: W簇0中的簇内节点为当前节点,分别在自己的通信范围内发现新的节点。若 发现的节点是簇0的叶子节点,则他们之间为兄弟关系,则他们之间会建立一条mesh链路, 且兄弟关系会被记忆。如图3(d)中节点2,3,4互为兄弟关系。若发现的节点为新节点且与当 前节点非父子关系,则该新节点作为下一个新簇簇首,建立新簇,并在他们之间通信范围内 建立相应的mesh链路。如图3 (e)所示,新发现的节点8,7,5成为新簇
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1