一种无线传感器网络的快速路由协议的制作方法

文档序号:7644437阅读:111来源:国知局

专利名称::一种无线传感器网络的快速路由协议的制作方法
技术领域
:本发明涉及一种无线传感器网络的快速路由协议。
背景技术
:无线传感器网络(WirelessSensorNetwork,WSN)是由部署在检测区域内大量廉价的集成有传感器、嵌入式处理器和通信模块的微型传感器节点,通过无线通信的方式形成的一个多跳的自组织的网络系统。它借助于传感器节点中内置的形式多样的传感器,测量所在周边环境中的热、红外线、声纳、雷达和地震波信号,从而探测包括温度、湿度、噪声、光强度、压力、土壤成分、移动物理的大小、速度和方向等众多人类感兴趣的物质现象。典型的传感器网络结构通常由传感器节点(sensornode)、数据汇聚节点(sinknode)、中继网络和远程管理节点组成。大量传感器节点随机部署在监测区域(sensorfield)内部或附近,能够通过自组织方式构成网络。传感器节点监测的数据沿着其他传感器节点逐跳地进行传输,在传输过程中监测数据可能被多个节点处理,经过多跳后路由到数据汇聚节点,最后通过互联网或卫星到达管理节点。用户通过管理节点对传感器网络进行配置和管理,发布监测任务以及收集监测数据。图l给出了习有传感器网络体系结构一般形式的描述。如图2所示,习有的传感器网络协议桟包括物理层、数据链路层、网络层、传输层和应用层,与互联网协议桟的五层协议相对应。另外,协议栈还包括能量管理平台、移动管理平台和任务管理平台。这些管理平台使得传感器节点能够按照能源高效的方式协同工作,在节点移动的传感器网络中转发数据,并支持多任务和资源共享。IEEE802.15.4中设计了一种基于分层簇树拓扑结构的无线传感器网络,这种拓扑结构便于扩展且路由相对简单。同时采用簇树结构能够简化与Internet的连接,只需在根节点中加入一个网关即可。IEEE802.15.4协议中的基于分层簇树柘扑结构的地址分配机制和路由协议简要描述如下;1、网络地址划分IEEE802.15.4协议中的基于分层簇树拓扑结构的地址分配协议规定,每一个节点分配16bits网络地址,其中8bit称为簇ID(clusteridentification,CID),另夕卜8bit称为节点ID(nodeidentification,NID)。整个网络结构如图3所示。CID的数值从0到255,0表示整个网络的根节点,也称为指派设备(DesignatedDevice,DD),CID为255就表示广播信息用于所有簇,其他数值用于区分不同簇。NID的数值从0到255,0表示簇的簇头(CH),255表示广播信息用于簇内的所有节点,其他数值用于区分同一簇下的不同节点。一如图3所示,根节点DD的CID和NID就被定义为0,作为这个多簇网络根节点DD,其计算能力(如存储容量和处理器速度)通常强于一般的网络节点。图中的簇树网络是一种多跳网络,在节点加入网络时,关联过程中与之通信的网络节点定义为节点的父节点;加入节点本身成为父节点的子节点。簇0中的节点3是节点10和节点22的父节点;节点10和节点22是节点3的子节点。2、组网过程中的地址分配分层簇树拓扑结构网络中的所有节点定期发送信标,信标中包含节点CID和NID等。在入网前,新节点周期性地侦听这些信标,一旦接收到一个信标,新节点就发送请求连接(CONNECTIONREQUEST)控制消息申请入网。如果收到了来自多个节点的信标,新节点就选择最早发出信标的的节点做出响应。此时新节点就成为候选节点,预期的父节点收到请求连接控制消息后会向其所在簇的簇头发送请求节点ID(NODEIDREQUEST)消息,该消息可以通过簇中的中间节点路由到簇头。如果簇头能够接受该候选节点入网,它将回送表示同意的节点ID响应(NODEIDRESPONSE)消息并被转换为连接响应(CONNECTIONRESPONSE)消息后中继到候选节点,给候选节点分配一个该簇中的NID。如果簇头不能接受该候选节点入网,它会发送一个请求CID请求(CLUSTERIDREQUEST)消息给DD,请求建立一个新簇。根节点DD会发送一个CID响应(CLUSTERIDRESPONSE)消息响应请求,为候选节点分配一个新的CID和一个NID号为0。接收到该响应消息后,簇头会向候选节点发送NID响应(NODEIDRESPONSE)消息。得到确认后,候选节点就正式成为网络成员开始发送信标。3、路由协议每个网络节点都保存一张路由表,开始时表中仅保存邻居节点的CID和NID及该节点能够侦听到的其他节点的CID和NID,父节点的相关信息也存储在该路由表中。根节点DD保存整个网络节点的信息。根节点DD定期向簇树中的所有叶节点发送请求链接状态(LINKSTATEREQUEST)消息。接收到该消息后,叶节点响应一个链接状态响应(LINKSTATERESPONSE)消息,其中包含自身的CID和NID以及所有它能够侦听到且CID值与自身不同的节点的CID。该消息被发往簇头的过程中,中继节点会"窃听"消息内容,以确定节点覆盖范围之外的下游节点和簇,这些下游节点和簇被加入到它们的路由表中,并把提供链接状态响应消息的节点列为路由中的第一个中继节点。然后,中继节点在消息的节点列表中添加自身信息,再继续向上游簇头的方向转发该消息。簇头将链接状态响应消息中的信息添加到自身的路由表中,进行融合处理,产生一个新的链接状态响应消息再向上游方向转发。在接收到所有链接状态响应消息后,根节点DD将对网络结构有所了解。在路由选择过程中,如果目标节点的CID和与中继节点的CID不同,中继节点就搜索自己的路由表,查找相应的CID。如果找到了含有该CID的路由表项,它就将该消息路由到表中该CID对应的中继节点;如果找不到,它就将该消息路由到自己的父节点。如果目标节点的CID和中继节点的CID相同,中继节点就搜索自己的路由表,查表CID和NID都匹配的项,如果发现目标节点是自己的邻居节点,它就直接把消息发送给该邻居节点。如果目标节点是在"窃听"链路状态响应消息时加入路由表的,它就将该消息转发给向它发送链路状态消息距离最近(单跳)的下游节点;如果在路由表中找不到该目标节点,它就将消息转发给自己的父节点(上游),由其父节点继续寻找路由。上述802.15.4协议的一个重要特征就是网络的地址分配是边组网边分配逻辑地址,网络为树状结构。树状结构的网络有一个共同的弱点,就是网络的健壮性比较差,一旦中继节点出现故障,会导致枝叶节点进行重构,进而导致网络拓扑发生变化,消耗了节点能量。针对树状结构的网络,一个恰当的地址分配方式和路由机制将会加快网络组网和重构,节约网络节点的能量,增加网络的健壮性。
发明内容本发明提出了一种简单高效、适合于无线传感器网络节点节能,并基于实现节点地址与网络拓扑信息关联的地址分配机制的快速路由协议。一种无线传感器网络的快速路由协议,包括如下内容(1)节点之间进行通信时,源节点在路由建立之前,先通过目的节点的物理地址PhyID来查找对应的逻辑地址LogID,在没有找到对应目的节点逻辑地址LogID或收到目的节点逻辑地址LogID响应消息之前,源节点根据目的节点的物理地址PhyID依次查找自己的关联节点表;向父节点、子节点和邻居节点广播目的节点逻辑地址LogID的查找信息,直到收到目的节点逻辑地址LogID的响应消息后才停止査找过程,若还未收到相应消息则由其父节点代替源节点重复以上步骤,直到査到目的节点的逻辑地址LogID为止;若査到目的节点逻辑地址LogID的节点是源节点本身,则逻辑地址LogID査找过程结束,进入路由建立过程;若是其父级节点,则向下一级级传给自己的子节点,直到源节点;(2)当节点收到一个数据包时,检查该数据包的目的地址是否属于自身所拥有的地址段;如果超出自身的地址段,则将此数据包转发给自身的父节点;如果目的地址属于自身所拥有的地址段,检杳属于哪个分支的地址段,继续中继,直到找到目的地址。(3)在树状路由选择的基础上,节点可结合ART表以及周期性更新的关联节点表进行快速路由的选择与建立,从每个独立的节点的观点来看,网络仍然可以视为树状的,任意两个通过网格连接起来的节点相互地把对方节点看作自身的子节点,反之亦然。还包括路由维护与修复机制节点失效后进入的修复状态分为两部分,一部分是父节点发现自己某个子节点失效导致该子节点所带的整个支路失效时,父节点进行的网络修复;另一部分是子节点无法再与自己的父节点通信时,该子节点需要进行的网络自愈和修复;(1)父节点的路由修复机制当父节点发现自己的某个子节点失效,导致该子节点所带的整个支路都无法再与父节点通信时,由父节点发起路由修复,删除失效支路的在其所有上级节点的ART、关联节点表项中的记录;当有失效支路向某一节点申请入网时,该节点即作为失效支路的目标父节点,需要对该支路进行修复,使之能够重新接入网络;根据该失效支路上的节点个数Invalid一Node、目标父节点自身预留地址数Pre—Multiple-l以及目标父节点的整个预留地址段(LoglD)(Pre—Last一ID)中的实际预留地址数(Pre—Multiple-l)xBranch—Node,分不同的情^进行处理。1)当目标父节点自身预留地址数大于失效支路的节点数,目标父节点直接将自身预留地址依次分配给失效支路的全部节点,并将修复后的支路信息逐级向上游节点发送,直到根节点收到该信息,更新网络拓扑;2)当目标节点自身的预留地址段不够分配而其整支的预留总地址数足够分配给失效支路的全部节点时,目标父节点上报相关地址信息,由根节点调整网络拓扑表,将表项中的失效支路加入目标父节点所带原支路中,并给合并后的新支路重新计算预留倍数New—Pre—Multiple:New—Pre—Multiple=Pre—MultiplexBranch—Node+(Branch_Node+Invalide_Node)根节^根据新的预留倍数New一PrtMultiple,按照组网过程中的地址分配机制给该新支路重新分配地址,同时更新原Pre—Multiple为New一Pre一Multiple,目标父节点所带领的新支路接收l^的网络拓扑表,^取if的地址段信息;3)当目标父节点所带支路的全部预留地址段仍然小于失效支路的节点个数,则目标父节点将逐级向上游节点发送此信息,直到根节点;根节点将该失效支路从原支路所在网络拓扑表表段中更改到新的目标父节点所带支路的网络拓扑表中,并且比较目标父节点所属的一级节点分支号与失效节点原所属的一级节点分支号,分成两种情况处理A.、若二者分支号相连,则根节点在不改变原Pre—Multiple的情况下根节点按照组网过程中的地址分配机制给这两^相关支路重新分配地址,最后将修复后的网络拓扑表内容分别发送给更新的支路。各个相关节点按照组网过程中的节点获取地址信息机制,更新自身信息。若二者分支号不相连,根节点将比较目标节点所属一级节点的预留地址段是否大于该一级节点下的总节点数与失效支路的节点总数之和。若预留地址段不够分配,则根节点发布消息通知失效支路节点接入失败。否则,根节点重新计算该一级节点所带支路的预留地址倍数NeW_Pre_Multiple,计算方法同情况2),然后按照组网过程中的地址分i机;U,给合并后的支路重新分配地址,最后将修复后的网络拓扑表内容分别发送给更新的支路;各个相关节点按照组网过程中的节点获取地址信息机制,更新自身信息;(2)子节点的路由修复机制当节点无法再与自己的父节点通信时,通知子孙节点进入网络修复状态;父节点的选择、备份与接入;接收根节点发送过来的拓扑更新,提取地址信息;此时网络拓扑表的更新、节点获取地址信息的过程只限于需要修复的支路;当修复支路上的所有子孙节点都重新分配到LogID,且该支路的所有父级节点也更新了自己的ART表和关联节点表时,网络修复完成;若接入网络不成功,则该子节点暂时无法再接入网络,该节点将通知自己的下一级子节点,由下一级子节点分别带领自己的支路进入子节点的修复过程;无法再接入网络的子节点则需等待一段时间后再进入随机入网状态。本发明是一个具有路由备份的按需路由协议,它可以根据业务需求从拓扑信息中计算出路由信息,当拓扑信息中不足以计算出全部路由时,再按需建立路由。在本发明中,为了找到通往目的节点的路由,源节点首先査看自身是否保存了目的节点的LogID号,如果已知目的节点的LogID,由于LogID中包含了一定的拓扑信息,于是可以用于计算路由,否则,源节点将向拓扑服务器(每个协调器节点都可能起到拓扑服务器的作用,根据该协调其节点处于树状网络中的位置不同而所包含的拓扑信息量有所不同)査询该目的节点的LogID,然后,源节点可以根据目的节点的LogID和自身的关联节点表(该表中包含父节点,子孙节点,邻居节点,感兴趣节点的信息)来判断目的节点是否处于自己的某个关联节点的支路上,如果是,则直接建立源节点到这个关联节点的路由,由该关联节点中继给目的节点;如果目的节点并不在任何关联节点的支路上,源节点将数据发给自己的父节点,由父节点来査找自身的关联节点表进行上述判断和处理。另外,节点的失效可能导致原来的路由不可用,针对这种情况,本发明的路由协议有两种处理方式拓扑更新和路由修复。由于每个节点没有办法知道全网所有节点的物理地址PhyID和分配的地址LogID的对应情况。本发明涉及的无线传感器网络中的每个协调器节点都保留自己所包含子节点的PhyID和LogID的信息,而且每个节点都保留邻居节点的这些信息和感兴趣(曾通信过)节点的信息,则可以较快获得目的节点的LogID,再进行快速路由的计算。图1是习有的无线传感器网络体系结构示意图;图2是习有的无线传感器网络协议栈;图3是习有的簇树网络结构示意图4是本发明协调器节点(左)与普通节点收到网络拓扑表工作流程图5是本发明节点间通信中的路由建立示意图6是本发明节点间通信中的快速路由建立示意图7为本发明中失效支路原父节点及其上级节点修复流程示意图。具体实施例方式本实施例涉及的网络采用树状拓扑结构,全网仅有一个中心节点作为根节点。网络最大容量256个节点,对网络级数和每级最大节点个数不做限制,根节点设为0级,其它的每经过一个树枝加一级。该网络中所有节点都是传感器节点,向全网唯一的根节点发送采集到的数据;节点间为双向链路;各节点的初始能源值相等,且在网络生命周期初期,各节点都有足够的能量与根节点或协调器节点通信;每个节点均采用全向天线。全网分三类节点根节点、协调器节点、普通节点。根节点负责网络初始化的发起工作,是组网命令的发起者,一般承担网络拓扑服务器、网关、网管和应用层接口服务工作。协调器节点树状拓扑的非末梢节点都称为协调器节点,承担地址分配、数据中继等工作。普通节点树状拓扑的末梢节点都称为普通节点,根据实际需要可转换为协调器节点。本发明涉及的无线传感器网络采用先组网后地址分配的机制当一个树状网络组建好后,首先由普通节点开始向上进行节点计数及拓扑信息收集,再由根节点开始一级级向下分配地址,发布已建立的网络拓扑表。一、传感器网络的网络拓扑表建立流程和节点计数流程在申请组网的过程中,申请入网的节点可以通过父节点的时标帧得知自身的级数Level,而节点的物理地址PhyID在布网过程中己经预先设定好了。(1)、当树状网络组好之后,处于支路末梢的普通节点首先发起节点计数流程,普通节点对支路节点计数器进行初始化,设支路节点数的初值为1,即Branch—Node[branch]二1,并将自身节点的物理地址PhyID、级数Level及i路节点数Branch—Node[branch]保存到自己的网络拓扑表中,发送给父节点;(2)、非支路末梢的节点为协调器节点,它等待收集自己的所有子节点网络拓扑表后,首先建立自己的网络拓扑表,将收集到的拓扑表中的所有支路节点数Branch—Node[branch]计数值累加,再加1,把最终计数值保存到自己的网^拓扑表中。与此同时,协调器节点将所有子节点的网络拓扑表编上分支号并加入到自身的网络拓扑表中,其他未知的值依然保持初始值,例<table>tableseeoriginaldocumentpage11</column></row><table>其中LogID项需要等待各支路信息全部汇总到根节点后由根节点统一分配,Pre—Multiple为预留地址倍数,决定节点可接入的最大子节点数。(3)、无论是普通节点还是协调器节点,在自身网络拓扑表建立完成后,即将其发送给自己的父节点,直到根节点。二、根节点分配地址机制根节点收到所有子节点的网络拓扑表后,根据从网络拓扑表中所获得的信息,完成全网拓扑信息的提取、预留地址段的计算、LogID的分配以及完备网络拓扑表的任务。步骤l:根节点完善网络拓扑表中的分支号与节点数根节点根据收到的来自子节点的网络拓扑表,可以计算出全网节点数Branch_Node。根节点收到的各个网络拓扑表的第一项信息就是1级子节点的信息,且1级子节点的个数ChilcLNode等于根节点收到网络拓扑表的个数。根节点为第1级节点分配分支号Branch_No=[l,2,3,……,Child—Node],并将分配好的分支号Branch—No填入各个网络拓扑表中的相应位置。这样,所有网络拓扑表中的^支号和支路节点数都己完善;步骤2、提取网络拓扑信息根节点在收到所有1级子节点的网络拓扑表后,即可从网络拓扑表中获得完整的网络拓扑信息。因为网络拓扑表的构建时,进行一级级地嵌套,因此在网络拓扑表中,级数相同的节点之间的节点信息即为前一个节点的所有子孙节点信息。根节点将进行以下步骤的操作假设根节点收到来自自己的子节点PhyID二lOl、102、103号节点,这三个节点为l级节点;以PhyID二lOl号节点的网络拓扑表为例(见下表),根节点把PhyID二lOl号节点所带的支路编号为1,然后从该网络拓扑表中获取其子孙节点信息;其中,PhylD二104号节点,其级数为2,分支号为1,从而可知PhyID=104号节点在全网中为1-1支路;PhyID=203号节点,其级数为3,分支号为1,从而可知PhyID=203号节点在全网中为1-1-1支路;PhyID=204号节点,其级数为3,分支号为2,从而可知PhyID=204号节点在全网中为1-1-2支路;以此类推。按照这种网络拓扑表中的嵌套方式,根节点可以直接<table>tableseeoriginaldocumentpage12</column></row><table><table>tableseeoriginaldocumentpage13</column></row><table>步骤3、根节点完成预留地址段的计算、逻辑地址LogID的分配以及完备网络拓扑表的工作在根节点获取网络拓扑信息之后,它对整个网络拓扑就有了整体的了解,包括网络中各节点的级数Level、各一级节点的分支号k(k=0,1,2,……,Child—Node)及其带领的支路节点总数Branch—Node[k]、子节点在一级节点拓扑表下的序列号i(i=0,l,2,,Branch—Node[k])等。根节点将根据如上信息及初始预留地址倍数Pre一Multiple来计算全网各节点的逻辑地址LogID及节点的预留地址段。根节点对全网所有节点的逻辑地址分配算法表示为k-1LogID=Pre_Multiplex(i+2Branch—Node)+1Pre_Multiple为预留地址倍数,决定节点可接入的最大子节点数。在组网过程中,每个节点都被分配了一块连续的地址,且地址段的长度大于支路上的实际节点个数,即预留了一段地址段。这就允许了后面再添加新的树枝,同时也可以更有效地修复树。最终,根节点将全网所有网络拓扑表中的LogID与初始Pre一Multiple补充完整。根节点分配好地址后,将分配好的LogID向"F通知各个子节点。即根节点向下一级级传送网络拓扑表,三、节点获取地址段信息各协调器节点收到传给自己的网络拓扑表后,需要依次完成如下任务从表中第一项中获取自身的地址信息LogID;计算自身的预留地址段(LogID)~(Pre_Last—ID)=(LogID)~(LogID+Pre_MultiplexBranchNode-1);提取信息构建ART表(AdaptiveRobustTree)和关联节点表(含父节点信息、子孙节点信息、邻居节点信息及感兴趣节点(近期通信过的节点)信息);根据下一级子节点个数n将网络拓扑表拆成以下级子节点为第一项n个子节点的子节点网络拓扑表,并按分支号的顺序发给对应的下级子节点,这个过程可以视为网络拓扑表建立过程的逆过程。协调器节点和普通节点上的节点获取地址段过程如图4所示。对于支路末梢的普通节点则只需提取自身的网络地址LogID、计算节点的预留地址段及提取关联节点表。四、路由选择与建立机制因为节点的网络地址带有拓扑信息,因此大大简化了网络路由机制,而且路由过程充分利用了网格型树状网络结构来建立快速路由,从而减短路径,进一步降低能耗。1、网络地址LogID查找节点之间进行通信时,源节点在路由建立之前,需要通过目的节点的物理地址PhyID来查找对应的逻辑地址LogID,规则为在没有找到对应目的节点逻辑地址LogID或收到目的节点逻辑地址LogID响应消息之前,源节点根据目的节点的物理地址PhyID依次查找自己的关联节点表;向父节点、子节点和邻居节点广播目的节点逻辑地址LogID的査找信息,直到收到目的节点逻辑地址UgID的响应消息后才停止查找过程,若还未收到相应消息则由其父节点代替源节点重复以上步骤,直到査到目的节点的逻辑地址LogID为止;若查到目的节点逻辑地址LogID的节点是源节点本身,则逻辑地址LogID查找过程结束,进入路由建立过程;若是其父级节点,则向下一级级传给自己的子节点,直到源节点。2、路由选择与建立机制由于节点地址本身就带有一定的路由信息,当节点收到一个数据包时,检査该数据包的目的地址是否属于自身所拥有的地址段;如果超出自身的地址段,则将此数据包转发给自身的父节点;如果目的地址属于自身所拥有的地址段,检査属于哪个分支的地址段,继续中继,直到找到目的地址。图5所示为一次节点间通信的路由建立示例,当节点I有数据包需要传送给节点F,Source=0x0071,Destination=0x0041,数据传送过程如下步骤l、Destination=0x0041!E,I将此数据包传送给父节点H;步骤2、H收到数据包后发现Destination=0x0041!E,H将此数据包传送给父节点B;步骤3、B收到数据包后发现Destination=0x0041e,且查找到该地址属于C(分支1),B将此数据包传送给C;步骤4、C收到数据包后发现Destination=0x0041e,且查找到该地址属于E(分支2),C将此数据包传给E;步骤5、E收到数据包后发现Destination二0x0041E,且査找到该地址属于F(分支1),E将此数据包传给F;步骤6、F收到数据包后Destination=0x0041e,此时F接受该数据包。3、快速路由的选择与建立机制在树状路由选择的基础上,节点可结合ART表以及周期性更新的关联节点表进行快速路由的选择与建立,从而减短通信路径,进一步降低系统功耗。如图6为一次节点间通信中快速路由的示例,实线表示原有树状连接,虚线连接相邻节点,使得网络的连接成为网格型的树状结构。网格型树状结构中,从每个独立的节点的观点来看,网络仍然可以视为树状的,任意两个通过网格连接起来的节点相互地把对方节点看作自身的子节点。例如,图6中的节点K把H视为自己的子节点,反之亦然。举个简单的例子,图6中从M到I的数据包可以直接传递,这是M将I视为自身的一个子节点。源节点M有数据包发给目的节点I,M先在自己保存的关联节点表中査到I是自己的邻居节点,就直接建立M-I的路径。如果没有快速路由,则通常的路径为M-L-K-J-A-B-H-I。五、路由维护与修复机制网络完成组网即地址信息的分配等任务后,转入通信状态。在通信状态下允许新节点的加入及因节点失效或链路出错等原因造成的小规模的网络拓扑变化。因为每个节点都分配有预留地址,所以本发明可以保证路由维护与修复机制造成小规模的网络拓扑变化不会与全网的逻辑地址LogID分配规则相矛盾。具体的路由维护与修复机制如下节点失效后进入的修复状态分为两部分,一部分是父节点发现自己某个子节点失效导致该子节点所带的整个支路失效时,父节点进行的网络修复;另一部分是子节点无法再与自己的父节点通信时,该子节点需要进行的网络自愈和修复。1.父节点的路由修复机制当父节点发现自己的某个子节点失效,导致该子节点所带的整个支路都无法再与父节点通信时,由父节点发起路由修复,路由修复需要完成的任务主要是删除失效支路的在其所有上级节点的ART、关联节点表项中的记录,避免过期或无效的表项造成路由选择出错。具体步骤如图7所示。当有失效支路向某一节点申请入网时,该节点即作为失效支路的目标父节点,需要对该支路进行修复,使之能够重新接入网络。根据该失效支路上的节点个数Irwalid—Node、目标父节点自身预留地址数Pre—Multiple-l以及一目标父节点的整个预留地址段(LogID)~(Pre_Last_ID)中的实际预留地址数(Pre—Multiple-l)xBranch—Node,分不同的情^进行处理。1)Invalid—NodeSPre—Multiple-1即当目标i节点自i预留地址数大于失效支路的节点数,目标父节点直接将自身预留地址依次分配给失效支路的全部节点,并将修复后的支路信息逐级向上游节点发送,直到根节点收到该信息,更新网络拓扑。2)Pre_Multiple-1<Invalid—Node《(Pre_Multiple-1)xBranch—Node即当目_标节点自身的i留地址段—不够分配而其整i的预留总地址数足够分配给失效支路的全部节点时,目标父节点上报相关地址信息,由根节点调整网络拓扑表,将表项中的失效支路加入目标父节点所带原支路中,并给合并后的新支路重新计算预留倍数New—Pre—Mu11ip1e。New—Pre—Multiple=Pre—MultiplexBranch—Node+(Branch—Node+Invalide—Node)根节i根一据新的预留倍数NeW_Pre_Multiple,按照组网过程中的地址分配机制给该新支路重新分ifi地i,同时更新原Pre_MUltiple为NeW_Pre_MUltiple,目标父节点所带领的新支路接收^的网络拓扑表,按照前文叙述的方法获取新的地址段信息。3)(Pre—Multiple-1)*Branch—Node<Invalid_Node即目标&节点所带支路—的全部预留;也址段仍然小于失效支路的节点个数,则目标父节点将逐级向上游节点发送此信息,直到根节点;根节点将该失效支路从原支路所在网络拓扑表表段中更改到新的目标父节点所带支路的网络拓扑表中,并且比较目标父节点所属的一级节点分支号与失效节点原所属的一级节点分支号,分成两种情况处理A.、若二者分支号相连,则根节点在不改变原Pre—Multiple的情况下根节点按照组网过程中的地址分配机制给这两条相关支路重新分配地址,最后将修复后的网络拓扑表内容分别发送给更新的支路。各个相关节点按照组网过程中的节点获取地址信息机制,更新自身信息。口B:若二者分支号不相连,根节点将比较目标节点所属一级节点的预留地址段是否大于该一级节点下的总节点数与失效支路的节点总数之和。若预留地址段不够分配,则根节点发布消息通知失效支路节点接入失败。否则,根节点重新计算该一级节点所带支路的预留地址倍数New—Pre—Multiple,计算方法同情况2),然后按照组网过程中的地址分配机制,给合并后的支路重新分配地址,最后将修复后的网络拓扑表内容分别发送给更新的支路;各个相关节点按照组网过程中的节点获取地址信息机制,更新自身信息;2.子节点的路由修复机制当节点无法再与自己的父节点通信时,该子节点需要进行网络的自愈与修复。子节点的路由修复与父节点的路由修复是对应关联的,而父节点的路由修复机制已经解决了新接入支路的逻辑地址LogID的分配问题,子节点的路由修复机制则主要考虑以下几个任务目标即可通知子孙节点进入网络修复状态;父节点的选择、备份与接入;接收根节点发送过来的拓扑更新,提取地址信息。与组网过程不同的是,此时网络拓扑表的更新、节点获取地址信息的过程只限于需要修复的支路,其他不相关节点不进行。当修复支路上的所有子孙节点都重新分配到LogID,且该支路的所有父级节点也更新了自己的ART表和关联节点表时,网络修复完成。若接入网络不成功,则该子节点暂时无法再接入网络,该节点将通知自己的下一级子节点,由下一级子节点分别带领自己的支路进入子节点的修复过程;无法再接入网络的子节点则需等待一段时间后再进入随机入网状态,因为等待一段时间后,自己下级子节点自愈成功后,该节点有希望再接入网络。需要注意的是,由于本发明在节点接入网络的过程中主动选择父节点,并且在几个备份父节点中多次尝试入网,避免错过其他尚有足够接入能力的预期父节点,从而避免过多地进行簇分裂、造成网络拓扑结构的不均衡。权利要求1、一种无线传感器网络的快速路由协议,其特征在于(1)节点之间进行通信时,源节点在路由建立之前,先通过目的节点的物理地址PhyID来查找对应的逻辑地址LogID,在没有找到对应目的节点逻辑地址LogID或收到目的节点逻辑地址LogID响应消息之前,源节点根据目的节点的物理地址PhyID依次查找自己的关联节点表;向父节点、子节点和邻居节点广播目的节点逻辑地址LogID的查找信息,直到收到目的节点逻辑地址LogID的响应消息后才停止查找过程,若还未收到相应消息则由其父节点代替源节点重复以上步骤,直到查到目的节点的逻辑地址LogID为止;若查到目的节点逻辑地址LogID的节点是源节点本身,则逻辑地址LogID查找过程结束,进入路由建立过程;若是其父级节点,则向下一级级传给自己的子节点,直到源节点;(2)当节点收到一个数据包时,检查该数据包的目的地址是否属于自身所拥有的地址段;如果超出自身的地址段,则将此数据包转发给自身的父节点;如果目的地址属于自身所拥有的地址段,检查属于哪个分支的地址段,继续中继,直到找到目的地址。(3)在树状路由选择的基础上,节点可结合ART表以及周期性更新的关联节点表进行快速路由的选择与建立,从每个独立的节点的观点来看,网络仍然可以视为树状的,任意两个通过网格连接起来的节点相互地把对方节点看作自身的子节点,反之亦然。2、根据权利要求1所述的一种无线传感器网络的快速路由协议,其特征在于还包括路由维护与修复机制节点失效后进入的修复状态分为两部分,一部分是父节点发现自己某个子节点失效导致该子节点所带的整个支路失效时,父节点进行的网络修复;另一部分是子节点无法再与自己的父节点通信时,该子节点需要进行的网络自愈和修复;(1)父节点的路由修复机制当父节点发现自己的某个子节点失效,导致该子节点所带的整个支路都无法再与父节点通信时,由父节点发起路由修复,删除失效支路的在其所有上级节点的ART、关联节点表项中的记录;当有失效支路向某一节点申请入网时,该节点即作为失效支路的目标父节点,需要对该支路进行修复,使之能够重新接入网络;根据该失效支路上的节点个数Invalid一Node、目标父节点自身预留地址数Pre—Multiple-一l以及目标父节点的整个预留地址段(LogID)(Pre_Last—ID)中的实际预留地址数(Pre—Multiple-l)xBranch—Node,分不同的情况进行处理。1)当目标父节点自身预留地址数大于失效支路的节点数,目标父节点直接将自身预留地址依次分配给失效支路的全部节点,并将修复后的支路信息逐级向上游节点发送,直到根节点收到该信息,更新网络拓扑;2)当目标节点自身的预留地址段不够分配而其整支的预留总地址数足够分配给失效支路的全部节点时,目标父节点上报相关地址信息,由根节点调整网络拓扑表,将表项中的失效支路加入目标父节点所带原支路中,并给合并后的新支路重新计算预留倍数New—Pre一Mu11ip1e:New—Pre—Multiple=Pre—MultiplexBranch—Node+(Branch—Node+Invalide—Node)根节;、根—据新的预留倍数New—Pre—Multiple,按照组网过程中的地址分配机制给该新支路重新分i"己地i,同时更新原Pre—Multiple为New一Pre一Multiple,目标父节点所带领的新支路接收l^的网络拓扑表,获取i的地址段信息;3)当目标父节点所带支路的全部预留地址段仍然小于失效支路的节点个数,则目标父节点将逐级向上游节点发送此信息,直到根节点;根节点将该失效支路从原支路所在网络拓扑表表段中更改到新的目标父节点所带支路的网络拓扑表中,并且比较目标父节点所属的一级节点分支号与失效节点原所属的一级节点分支号,分成两种情况处理A.、若二者分支号相连,则根节点在不改变原Pre_Multiple的情况下根节点按照组网过程中的地址分配机制给这两i相关支路重新分配地址,最后将修复后的网络拓扑表内容分别发送给更新的支路。各个相关节点按照组网过程中的节点获取地址信息机制,更新自PB、若二者分支号不相连,根节点将比较目标节点所属一级节点的预留地址段是否大于该一级节点下的总节点数与失效支路的节点总数之和。若预留地址段不够分配,则根节点发布消息通知失效支路节点接入失败。否则,根节点重新计算该一级节点所带支路的预留地址倍数New_Pre_Multiple,计算方法同情况2),然后按照组网过程中的地址分i机;lj,给合并后的支路重新分配地址,最后将修复后的网络拓扑表内容分别发送给更新的支路;各个相关节点按照组网过程中的节点获取地址信息机制,更新自身信息;(2)子节点的路由修复机制当节点无法再与自己的父节点通信时,通知子孙节点进入网络修复状态;父节点的选择、备份与接入;接收根节点发送过来的拓扑更新,提取地址信息;此时网络拓扑表的更新、节点获取地址信息的过程只限于需要修复的支路;当修复支路上的所有子孙节点都重新分配到LogID,且该支路的所有父级节点也更新了自己的ART表和关联节点表时,网络修复完成;若接入网络不成功,则该子节点暂时无法再接入网络,该节点将通知自己的下一级子节点,由下一级子节点分别带领自己的支路进入子节点的修复过程;无法再接入网络的子节点则需等待一段时间后再进入随机入网状态。全文摘要本发明涉及一种无线传感器网络的快速路由协议,源节点在路由建立之前,先通过目的节点的物理地址来查找对应的逻辑地址;当节点收到数据包时,检查该数据包的目的地址是否属于自身所拥有的地址段;如果超出自身的地址段,则转发给自身的父节点;如果目的地址属于自身所拥有的地址段,继续中继,直到找到目的地址;节点结合ART表以及周期性更新的关联节点表进行快速路由的选择与建立,任意两个通过网格连接起来的节点相互地把对方节点看作自身的子节点,反之亦然;由于本发明在节点接入网络的过程中主动选择父节点,并且在几个备份父节点中多次尝试入网,避免错过其他尚有足够接入能力的预期父节点,从而避免过多地进行簇分裂、造成网络拓扑结构的不均衡。文档编号H04L29/08GK101420445SQ20071000972公开日2009年4月29日申请日期2007年10月25日优先权日2007年10月25日发明者吴晓芳,周劼男,石江宏,陈晓炜申请人:厦门大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1