用于解决Zigbee树型网络拥塞问题的路由方法_2

文档序号:9331208阅读:来源:国知局
明的目的、技术方案和优点更加清楚明了,下面结合【具体实施方式】并参 照附图,对本发明进一步详细说明。应该理解,这些描述只是示例性的,而并非要限制本发 明的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本 发明的概念。
[0020] 实施例: 如图1所示,首先由协调器A发起建立一个Zigbee网络,通过分布式地址分配机制,其 他节点依次加入网络,并获得网络地址。图1的树型网络中,节点C、J处于网络的x级,处 于x+1级的节点D、G是节点C的子节点,节点L、M是节点J的子节点,x+2级的节点有E、M 和H〇
[0021] 树型网络形成以后,节点间通过Hello报文获取邻居节点的信息,Hello报文的数 据格式如图2所示。以节点G为例,节点G向邻居表中的所有节点发送Hello报文,报文中 包含节点G的负载信息3、网络深度x+1,网络地址等。节点C、D、E、M、L、J和H收到来自节 点D的Hello报文后,将报文中关于节点D的信息存储到邻居表中,并将自己的信息添加到 Hello应答报文,发回到节点G。这样,节点G就拥有了其所有邻居节点的信息。
[0022] 数据进行转发的流程如图3所示。假设当节点C收到目的地址为节点E的数据 后,根据判断公式
导到,节点E为节点C的子孙节点,进而进行下 一跳地址的判断。通过公式>
|可以计算得到下一跳的 地址为节点G的地址,节点G并非目的地址,所以先将数据转发到节点G,再进行上述同样的 方法判断,使数据最终到达节点E。
[0023] 另一种情况,当节点G有数据要转发到协调器A时,通过判断公式mrQW- "得 至IJ,协调器A并非为节点G的子孙节点,所以要将数据发送到节点G的父节点。而在发送数 据到节点G的过程中,发现无线链路一直被占用,请求始终未被响应。这时,数据将采用建 立横向连接的方式进行通信。
[0024] 横向连接通信的实现过程如图4所示,具体步骤如下: 步骤a:节点G根据获取的邻居表信息,通过查询邻居表,向等级比自己高或相同的非 父子关系的邻居节点发送数据请求,并等待邻居节点的响应。在图1中,只有节点L、H和J 是节点G的具有非父子关系的邻居节点,所以它们会收到数据请求。
[0025] 步骤b:邻居节点L、H和J在应答帧中添加自身的信息,包括它们的负载和它们父 节点的负载,实时能量匕的2次方倒数和地址等信息。
[0026] 步骤c:节点G收到应答帧后,根据应答信息对邻居表中关于节点L、H和J的信息 进行更新; 步骤d:首先得到节点L等级与节点G相同,比较发现,节点L和节点G的父节点分别 拥有的负载是4和5,所以,可以作为待选通信的邻居节点;然后得到节点H的等级比节点G 的等级低,所以放弃H作为待选邻居节点;得到节点J等级比节点G高,且其负载也比G的 父节点负载低,所以也作为待选邻居节点; 步骤e:在待选邻居节点J和L中,通过比较参数实时能量E满2次方倒数,具有更小 值的将作为横向通信的邻居节点,假设为节点J; 步骤f:数据通过横向传输,到达另一个树干上的节点J后,继续按照树型路由的地址 判断方法选择下一跳路由。
[0027] 应当理解的是,本发明的上述【具体实施方式】仅仅用于示例性说明或解释本发明的 原理,而不构成对本发明的限制。因此,在不偏离本发明的精神和范围的情况下所做的任何 修改、等同替换、改进等,均应包含在本发明的保护范围之内。此外,本发明所附权利要求旨 在涵盖落入所附权利要求范围和边界、或者这种范围和边界的等同形式内的全部变化和修 改例。
【主权项】
1. 一种用于解决Zigbee树型网络拥塞问题的路由方法,其特征在于,包括如下步骤: (1) 协调器节点建立Zigbee网络,其他节点加入Zigbee网络时分别建立自身的邻居 表; (2) 树型网络维护阶段,各节点通过Hello维护报文同自身的所有邻居节点交互邻居 表信息; (3) 当节点接收到数据后,检查该数据帧的目的地址,若目的地址是当前节点的自身 地址,则将数据交给当前节点的父节点;否则进入步骤(4); (4) 若目的地址是当前节点的子孙节点地址,则按原有的Zigbee网络树型路由算法 选择下一跳地址,转发该数据;否则进入步骤(5); (5) 当前节点将数据转发到其父节点,若通信顺利,将重复步骤(3)、⑷直到数据到 达目的节点;若到父节点的链路始终处于繁忙状态,则进入步骤(6); (6) 当前节点根据步骤(2)获取的邻居表信息,通过查询邻居表,向等级比自己高或 相同的非父子关系的邻居节点发送数据请求,并等待邻居节点的响应; (7) 给予响应的邻居节点在应答帧中再次添加自身的信息,发送数据请求的节点根据 应答信息对邻居表进行更新;通过对负载进行判定,选择负载最轻的邻居节点进行横向通 f目; (8) 邻居节点收到数据帧后,返回步骤(3)继续转发数据帧,直到数据到达目的节点。2. 根据权利要求1所述的用于解决Zigbee树型网络拥塞问题的路由方法,其特征在 于,所述步骤(2)中,各节点通过Hello报文维护网络连接并同自身的所有邻居节点交互信 息,包括如下步骤: (21) 树型结构网络中的所有节点周期性发送Hello报文给自己邻居表中的节点,在 Hello报文的负载中添加自身的节点信息; (22) 接收到Hello报文的节点提取报文负载信息并保存在自己的邻居表中,同时将 自身信息添加到应答帧负载中,返回到发送节点; (23) Hello报文与邻居表中邻居节点对应的定时器相关,在定时时间内收到应答,则 说明连接有效,可对邻居表进行更新;反之,则说明链路断开,不可对邻居表进行更新。3. 根据权利要求1所述的用于解决Zigbee树型网络拥塞问题的路由方法,其特征在 于,所述步骤(4)中,目的地址是当前节点的子孙节点地址的判断方法为:设当前节点的网 络深度为d,地址为A,网络深度为d的节点分配给子节点的地址偏移量为Cskip (d-1),若目 的地址D满足下式,A<ZJ<Z 1),则目的地址是当前节点的子孙节点地址; 否则,目的地址不是当前节点的子孙节点地址;所述步骤(4)中下一跳地址的计算公式 为:其中:表示网络深度为d的节点所拥有的地址空间。4. 根据权利要求1所述的用于解决Zigbee树型网络拥塞问题的路由方法,其特征在 于,所述步骤(7)中,对于横向通信的邻居节点的选择方法如下: (71) 如果邻居节点等级与请求横向通信的节点相同,则将邻居节点的父节点的负载 与请求节点的父节点的负载进行比较,选取负载较小的作为待选邻居节点; (72) 如果邻居节点等级比请求横向通信的节点高,则将邻居节点的负载与请求节点 的父节点负载进行比较,选取负载较小的作为待选邻居节点; (73) 如果邻居节点等级比请求横向通信的节点低,则放弃作为横向通信的待选邻居节 占.信的邻居节点;其中,E1U)表示节点的实时能力值,通过邻居节点的应答帧获取,参数0,用 来表不数据传输延时。
【专利摘要】<b>本发明公开了一种用于解决</b><b>Zigbee</b><b>树型网络拥塞问题的路由方法,包括如下步骤:协调器节点建立</b><b>Zigbee</b><b>网络,其他节点加入</b><b>Zigbee</b><b>网络时分别建立自身的邻居表;树型网络维护阶段;检查该数据帧的目的地址,根据不同的目的地址转发数据;若到父节点的链路始终处于繁忙状态,则获取的邻居表信息,通过查询邻居表,向等级比自己高或相同的非父子关系的邻居节点发送数据请求;在应答帧中再次添加自身的信息,节点根据应答信息对邻居表进行更新;选择负载最轻的邻居节点进行横向通信;邻居节点收到数据帧后,继续转发数据帧,直到数据到达目的节点。使得树干在发生拥塞时,能够有效地缓解拥塞情况,降低网络延时,减少网络总能量消耗。</b>
【IPC分类】H04W40/04, H04W40/24, H04W28/02, H04L12/803
【公开号】CN105050149
【申请号】CN201510291350
【发明人】周晓明, 薛松, 王薇
【申请人】苏州博联科技有限公司
【公开日】2015年11月11日
【申请日】2015年6月1日
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1