H04W40/02 H04W84/18 H04W28/08
1、一种无线传感器网络分簇路由的局部按需簇首更换方法,其特征在于:在簇建立 完成或者簇首更新之后,簇首节点按照层次式路由转发数据,同时监听簇内非簇 首节点是否发送换簇申请;
如果没有非簇首节点发起换簇申请,则继续以自身为簇首进行层次式路由;
当有非簇首节点发送换簇申请,则根据这些非簇首节点的能量和自身能量,决定 是否同意非簇首节点的换簇申请,如果同意,则选出了新簇首,进入簇的更新阶段; 如果不同意,则继续以自身为簇首进行层次式路由;
非簇首节点在按照层次式路由转发数据,同时监听簇首节点转发报文来估算簇首 的能量信息,如果簇首的能量大于自身的能量则继续以非簇首身份进行层次式路由; 否则向簇首发出换簇申请,如果簇首同意了换簇首申请,则成为新一轮的簇首,进入 簇的更新阶段,否则继续以非簇首身份进行层次式路由;
簇首节点和非簇首节点按照所述的方式操作,在完成层次式路由的同时,实现了 局部按需的簇首更换。
2、根据权利要求1所述的无线传感器网络分簇路由的局部按需簇首更换方法,其特 征在于:在簇建立完成或者簇首更新之后,任意一个新簇首节点N i成为簇首节点 的操作步骤如下:
步骤11:簇首节点N i向簇内节点C ir发送簇首剩余能量通知报文CENT i;
步骤12:簇首节点N i将簇内节点C ir要发送的数据进行转发,同时簇首节点N i 监听簇内节点C ir是否有发送簇首更换请求报文CREQ ir报文;
步骤12-1:簇首节点N i是否监听到簇内节点C ir发送的簇首更换请求报文 CREQ ir,如果簇首N i监听到簇内节点C ir发送的簇首更换请求报文CREQ ir,则执行 步骤13;否,则继续执行步骤12;
步骤13:簇首N i收到来自簇内节点C ir发送的簇首更换请求报文CREQ ir,则判 断簇内节点C ir的剩余能量E ir与簇首N i本身的当前剩余能量E i的大小,若E i>E ir, 则执行步骤14;否,则执行步骤15;
步骤14:簇首N i回复一个簇首请求应答报文CREP i拒绝簇内节点C ir的更换请 求,然后执行步骤12;
步骤15:簇首节点N i比较收到的簇节点表单中发送过簇首更换请求报文CREQ 的发送节点的剩余能量信息,选取出剩余能量最大节点N iMAX_CR,并将能量最大节点 N iMAx_CR作为下一轮的簇首节点;同时向簇结构中其它发送节点发送一个簇首请求应 答报文CREP i拒绝簇首更换请求;
步骤16:簇首节点N i回复一个簇首请求应答报文CREP i给能量最大节点 N iMAX_CR,同意能量最大节点N iMAX_CR的簇首更换请求;
3、根据权利要求1所述的无线传感器网络分簇路由的局部按需簇首更换方法,其特 征在于:在簇建立完成或者簇首更新时,能量最大节点N iMAX_CR为新一轮簇首簇 首,则簇建立完成或者簇首更新之后,非簇首节点N i的操作步骤如下:
步骤21:非簇首节点N i接收新一轮簇首节点N iMAX_CR发送的第二簇首剩余能量 通知报文CENT CR,并记录新一轮簇首节点N MAX_CR的剩余能量信息;
步骤22:如果非簇首节点N i需要发送数据,则将要发送的数据发送给新一轮簇 首节点N iMAX_CR,并通过新一轮簇首节点N iMAX_CR转发数据,同时非簇首节点N i将监 听新一轮簇首节点N iMAX_CR的报文转发;
步骤22-1:非簇首节点N i监听新一轮簇首节点N iMAX_CR是否转发了数据报文, 如果非簇首节点N i监听到新一轮簇首节点N iMAX_CR有数据报文转发,则执行步骤23; 否,则继续执行步骤22;
步骤23:通过非簇首节点N i估算新一轮簇首节点N iMAX_CR的剩余能量,并根据 新一轮簇首节点N iMAx_CR的能量大小来判断是否换簇;
步骤23-1:如果新一轮簇首节点N iMAX_CR的能量小于非簇首节点N i的能量,则 执行步骤24;否,则执行步骤22;
步骤24:非簇首节点N i发送簇首更换请求报文CREQ i;
步骤25:非簇首节点N i接收新一轮簇首节点N iMAX_CR转发的簇首请求应答报文 CREP MAX_CR;
步骤25-1:非簇首节点N i收到新一轮簇首节点N iMAX_CR转发的簇首请求应答报 文CREP iMAX_CR,根据CREP_TYPE判断簇首是否同意换簇申请;
如果非簇首节点N i收到新一轮簇首节点N iMAX_CR转发的簇首请求应答报文 CREP iMAX_CR中CREP_TYPE=1,则非簇首节点N i成为新簇首,将进行簇的更新,进 入新一轮的层式路由;
如果非簇首节点N i收到新一轮簇首节点N iMAX_CR转发的簇首请求应答报文 CREP iMAX_CR中的CREP_TYPE=0,则执行步骤26;
步骤26:根据CREP iMAX_CR报文中的新一轮簇首节点N iMAX_CR来更新新一轮簇首 节点N iMAX_CR的能量信息,然后执行步骤22。
技术领域
本发明涉及一种应用于无线传感器网络的层次式分簇路由的簇首更换方法,更特 别地说,是指一种能够局部按需更换簇首的方法。
背景技术
无线传感器网络综合了传感器技术、嵌入式计算技术、分布式信息处理技术和通 信技术,能够协作地实时监测、感知和采集网络分布区域内的各种环境或监测对象的 信息,并对这些信息进行处理,获得详尽而准确的信息,传送到需要这些信息的用户。 无线传感器网络可以使人们在任何时间、地点和任何环境条件下获取大量详实而可靠 的信息,因此,这种网络系统可以被广泛地应用于国防军事、国家安全、环境监测、 交通管理、医疗卫生、制造业、反恐抗灾等领域。
无线传感器网络中节点的能量资源、计算能力和带宽都非常有限,而且无线传感 器网络通常由大量密集的传感节点构成,这些节点通常安置在人类无法进入的环境。 这就决定了无线传感器网络协议栈各层的设计都必须以能源有效性为首要的设计要 素。无线传感器网络的路由技术是无线传感器网络领域的研究热点,目前,也已经有 很多适用于无线传感器网络的路由协议。其中,分簇路由就是很重要的一种无线传感 器网络路由协议。分簇路由协议,它是将传感器网络分成若干个局部区域,即所谓的 簇,一个簇中有一个簇首,当簇内的任意一个节点要发送数据时,都首先发送给簇首, 并由簇首节点进行转发。
在分簇路由协议中,由于簇首节点需要转发簇内所有节点的数据,因此,簇首节 点的能量消耗就比普通节点大得多,因此,在分簇路由协议中,需要采用一定的策略 更新簇首节点,从而提高簇首节点乃至整个网络的寿命。
LEACH(Low-Energy Adaptive Clustering Hierarchy)协议就是一种典型 的层次式分簇路由方法。在LEACH协议中,在运行阶段为了防止簇首能耗过低,要 定时循环执行簇首的更换过程,在网络运行一段时间后,全网统一发起簇首更换,该 协议认为每个节点成为簇首的机会均等,因此,在换簇的过程中,重点关心节点是否 当过簇首,更换时则从未当过簇首的所有簇内节点就容易成为新的簇首,不管该节点 是否有足够的能量。而LEACH-C协议是LEACH协议的改进版,在簇首的选取和 更换时将节点的能量也作为了一个选取条件,当前剩余能量较大的节点担任簇首的概 率要大一些,这种改进避免了低能量节点成为簇首,可以有效改善由于能量消耗不均 带来的问题。
但是无论是LEACH协议和LEACH-C协议,它们和现有的其它层次式路由方 法一样,都是定时在全网范围内发起簇首更换。更换簇首能够均衡网络能量消耗,但 是对于一些没有进行数据频繁发送的区域,定时更换簇首是没有必要的,同时对于数 据频繁发送的众多区域,需要更换簇首的时间间隔也不能完全一致,所以采用定时发 起全网簇首更换的方式来进行簇首的更换并不科学,一方面换簇本身要消耗一定的能 量,不恰当的换簇实际上会带来能耗的浪费,另一方面全网范围换簇,会让全网都暂 时阻塞进入换簇工作模式,而放弃了数据监控。为了解决这个问题,本发明提出了一 种能够局部按需更换簇首的方法。
发明内容
本发明的目的是提供能够局部按需更换簇首的方法,通过该方法,可以实现无线 传感器网络中分簇层次式路由中的簇首更换,并且通过局部按需更换簇首减少了原来 的全网换簇的能源消耗等问题。本发明所采用的技术方案是:由簇内的非簇首节点时 刻监听簇首发送数据包的情况,并以此来估算簇首的剩余能量,根据所估算的簇首剩 余能量和非簇首节点自身能量之间的大小关系,在必要时发起换簇申请,以此来实现 局部按需进行更换簇首。该方法的簇首更换是以簇为单位的,各簇是否换簇、何时换 簇、以及由哪个新的节点作为簇首都是独立的,从而可以减少全网定时换簇的能源消 耗,达到一个全网的能量均衡。
本发明的一种无线传感器网络分簇路由的局部按需簇首更换方法,该方法在簇建 立完成或者簇首更新之后,簇首节点按照层次式路由转发数据,同时监听簇内非簇首 节点是否发送换簇申请;
如果没有非簇首节点发起换簇申请,则继续以自身为簇首进行层次式路由;
当有非簇首节点发送换簇申请,则根据这些非簇首节点的能量和自身能量,决定 是否同意非簇首节点的换簇申请,如果同意,则选出了新簇首,进入簇的更新阶段; 如果不同意,则继续以自身为簇首进行层次式路由;
非簇首节点在按照层次式路由转发数据,同时监听簇首节点转发报文来估算簇首 的能量信息,如果簇首的能量大于自身的能量则继续以非簇首身份进行层次式路由; 否则向簇首发出换簇申请,如果簇首同意了换簇首申请,则成为新一轮的簇首,进入 簇的更新阶段,否则继续以非簇首身份进行层次式路由;
簇首节点和非簇首节点按照所述的方式操作,在完成层次式路由的同时,实现了 局部按需的簇首更换。
本发明的无线传感器网络分簇路由的局部按需簇首更换方法存在的优点在于:
1)本发明按需局部簇首更换方法在簇首更新的时候,考虑了节点的当前能量, 从而避免了低能量节点成为簇首。
2)本发明按需局部簇首更换方法不是定时进行簇首更换,而是各个簇根据簇内 节点和簇首节点的能量关系,在需要的时候才进行换簇,减少了簇首更换所 带来的能量消耗。
3)本发明按需局部簇首更换方法不在全网范围内统一更换簇首,减少全网定时 换簇的能源消耗和数据监测阻塞。
附图说明
图1是本发明局部按需簇首更换方法的整体流程图。
图2是本发明的簇首的工作流程图。
图3是本发明的簇内节点的工作流程图。
具体实施方式
下面将结合附图对本发明做进一步的详细说明。
本发明是一种无线传感器网络分簇路由的局部按需簇首更换方法,本方法是根据 簇内的非簇首节点监听簇首节点的剩余能量信息来决定是否建簇,并且把节点的能量 大小作为选取簇首的一个条件。
参见图1所示,本发明在簇建立完成或者簇首更新之后,簇首节点按照层次式 路由转发数据,同时监听簇内非簇首节点是否发送换簇申请。如果没有非簇首节点发 起换簇申请,则继续以自身为簇首进行层次式路由;当有非簇首节点(是指在簇结构 中除节点Ni以外的节点)发送换簇申请,则根据这些非簇首节点的能量和自身能量, 决定是否同意非簇首节点的换簇申请,如果同意,则选出了新簇首,进入簇的更新阶 段;如果不同意,则继续以自身为簇首进行层次式路由。非簇首节点在按照层次式路 由转发数据,同时监听簇首节点转发报文来估算簇首的能量信息,如果簇首的能量大 于自身的能量则继续以非簇首身份进行层次式路由,否则向簇首发出换簇申请,如果 簇首同意了换簇首申请,则成为新一轮的簇首,进入簇的更新阶段,否则继续以非簇 首身份进行层次式路由。
(一)Ni为簇首节点的层次式路由方式(参见图2所示)
在簇建立完成或者簇首更新之后,任意一个新簇首节点Ni,它的簇节点表单为 NConi={Ci1,Ci2,...,Cir},其中,Ci1表示以节点Ni为簇首的簇中的第一个簇节点,Ci2 表示以节点Ni为簇首的簇中的第二个簇节点,Cir表示以节点Ni为簇首的簇中的第r 个簇节点,也称为以节点Ni为簇首的簇中的任意一个簇节点。Ni为簇首节点的操作 步骤如下:
步骤11:簇首节点Ni向簇内节点Cir发送簇首剩余能量通知报文CENTi;
剩余能量通知报文CENTi的报文格式为:CENTi=(sn,Ni,Ei,Pi),其中,sn表示 报文序列号,Ni表示报文发送源节点的编号(这个报文中是指簇首节点Ni),Ei表 示节点Ni的当前剩余能量,Pi表示节点Ni进行数据转发时使用的发送功率。
步骤12:簇首节点Ni将簇内节点Cir要发送的数据进行转发,同时簇首节点Ni 监听簇内节点Cir是否有发送簇首更换请求报文CREQir报文;
簇首更换请求报文CREQir是指簇内节点监听到簇首的能量比自己的能量低时, 发出的更换自己为簇首的请求报文,CREQir报文格式为CREQir(sn,ID,EID,req),sn表 示报文序列号,ID表示发起簇首更换请求的节点编号,EID表示节点的当前剩余能量, req表示申请更换自己为簇首的标志位。
步骤12-1:簇首节点Ni是否监听到簇内节点Cir发送的簇首更换请求报文 CREQir,如果簇首Ni监听到簇内节点Cir发送的簇首更换请求报文CREQir,则执行 步骤13;否,则继续执行步骤12;
步骤13:簇首Ni收到来自簇内节点Cir发送的簇首更换请求报文CREQir,则判 断簇内节点Cir的剩余能量Eir与簇首Ni本身的当前剩余能量Ei的大小,若Ei>Eir, 则执行步骤14;否,则执行步骤15;
步骤14:簇首Ni回复一个簇首请求应答报文CREPi拒绝簇内节点Cir的更换请 求,然后执行步骤12;
簇首请求应答报文CREPi的报文格式为CREPi(sn,ID,EID,CREP_TYPE),sn表示 报文序列号,ID表示发起簇首更换请求的节点编号,EID表示节点的当前剩余能量, CREP_TYPE表示是否同意邻居节点的簇首更换请求标志,如果同意更换请求,令 CREP_TYPE=1,如果拒绝更换请求,令CREP_TYPE=0。
步骤15:簇首节点Ni比较收到的簇节点表单中发送过簇首更换请求报文CREQ 的发送节点的剩余能量信息,选取出剩余能量最大的发送节点,记为NiMAX_CR(简称 能量最大节点NiMAX_CR),并将能量最大节点NiMAX_CR作为下一轮的簇首节点;同时向 簇结构中其它发送节点发送一个簇首请求应答报文CREPi拒绝簇首更换请求;
步骤16:簇首节点Ni回复一个簇首请求应答报文CREPi给能量最大节点 NiMAX_CR,同意能量最大节点NiMAX_CR的簇首更换请求;
至此,能量最大节点NiMAX_CR成为了下一轮新的簇首(称为新一轮簇首),在新 簇稳定运行一段时间后,能量最大节点NiMAX_CR同样可以按照上述的步骤11至步骤 16的操作进行下一轮的簇首选取。
(二)Ni为非簇首节点的层次式路由方式(参见图3所示)
在簇建立完成或者簇首更新时,选取了能量最大节点NiMAX_CR为簇首,称为新一 轮簇首簇首,则簇建立完成或者簇首更新之后,任意一个新簇内的非簇首节点Ni的 操作步骤如下:
步骤21:非簇首节点Ni接收新一轮簇首节点NiMAX_CR发送的第二簇首剩余能量 通知报文CENTCR,并记录新一轮簇首节点NiMAX_CR的剩余能量信息;
新一轮簇首剩余能量通知报文CENTCR的报文格式为: CENTCR=(sn,NiMAX_CR,ECR,PCR),其中,sn表示报文序列号,NiMAX_CR表示报文发送 源节点的编号,ECR表示节点NiMAX_CR的当前剩余能量,PCR表示节点NiMAX_CR进行数 据转发时使用的发送功率。
步骤22:如果非簇首节点Ni需要发送数据,则将要发送的数据发送给新一轮簇 首节点NiMAX_CR,并通过新一轮簇首节点NiMAX_CR转发数据,同时非簇首节点Ni将监 听新一轮簇首节点NiMAX_CR的报文转发;
步骤22-1:非簇首节点Ni监听新一轮簇首节点NiMAX_CR是否转发了数据报文, 如果非簇首节点Ni监听到新一轮簇首节点NiMAX_CR有数据报文转发,则执行步骤23; 否,则继续执行步骤22;
步骤23:通过非簇首节点Ni估算新一轮簇首节点NiMAX_CR的剩余能量,并根据 新一轮簇首节点NiMAX_CR的能量大小来判断是否换簇;
步骤23-1:如果新一轮簇首节点NiMAX_CR的能量小于非簇首节点Ni的能量,则 执行步骤24;否,则执行步骤22;
非簇首节点Ni已知新一轮簇首节点NiMAX_CR的发送功率,则可估计出新一轮簇首 节点NiMAX_CR发送一次数据报文的能量消耗,从而估计出新一轮簇首节点NiMAX_CR的 剩余能量。
步骤24:非簇首节点Ni发送簇首更换请求报文CREQi;
簇首更换请求报文CREQi的报文格式为CREQi(sn,Ni,Ei,req),sn表示报文序列 号,Ni表示发起簇首更换请求的节点编号,Ei表示非簇首节点Ni的当前剩余能量, req表示申请更换自己为簇首的标志位。
在本发明中,步骤24的CREQi报文与步骤12的CREQ报文中除“发起簇首更 换请求的节点编号”、“当前剩余能量指代的节点”不同,对于“报文序列号”、“申请 更换自己为簇首的标志位”内容是相同,同为报文数据的内容。
步骤25:非簇首节点Ni接收新一轮簇首节点NiMAX_CR转发的簇首请求应答报文 CREPiMAX_CR;
簇首请求应答报文CREPiMAX_CR的报文格式为 CREPiMAX_CR(sn,NiMAX_CR,EiMAX_CR,CREP_TYPE),sn表示报文序列号,NiMAX_CR表示 发起簇首更换请求的节点编号,EiMAX_CR表示节点NiMAX_CR的当前剩余能量, CREP_TYPE表示是否同意邻居节点的簇首更换请求标志,如果同意更换请求,令 CREP_TYPE=1,如果拒绝更换请求,令CREP_TYPE=0。
步骤25-1:非簇首节点Ni收到新一轮簇首节点NiMAX_CR转发的簇首请求应答报 文CREPiMAX_CR,根据CREP_TYPE判断簇首是否同意换簇申请;
如果非簇首节点Ni收到新一轮簇首节点NMAX_CR转发的簇首请求应答报文 CREPiMAX_CR中CREP_TYPE=1,则非簇首节点Ni成为新簇首,将进行簇的更新,进 入新一轮的层式路由;
如果非簇首节点Ni收到新一轮簇首节点NiMAX_CR转发的簇首请求应答报文 CREPiMAX_CR中的CREP_TYPE=0,则执行步骤26;
步骤26:根据CREPiMAX_CR报文中的新一轮簇首节点NiMAX_CR来更新新一轮簇首 节点NiMAX_CR的能量信息,然后执行步骤22。
在本发明中,无线传感网络中的节点Ni在簇首路由环节中为簇首节点,在非簇 首路由环节中为非簇首节点。
本文发布于:2023-04-14 14:15:40,感谢您对本站的认可!
本文链接:https://patent.en369.cn/patent/1/87208.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |