基于跨层的无线传感器网络节能方法

文档序号:7686799阅读:126来源:国知局
专利名称:基于跨层的无线传感器网络节能方法
技术领域
本发明涉及无线传感器网络能量管理领域,特别是涉及一种基于跨层的解决无线传感器 网络能耗问题的方法。
背景技术
无线传感器网络作为一种新型的信息感知和获取手段,因其自身特点以及广泛的应用前 景,被认为是将对21世纪产生巨大影响力的技术之一。可生存性是无线传感器网络首先要考 虑的基本问题之一。在无线传感器网络中,节点通常采用容量极其有限的电池供电,而电池 的充电或是更换常常是不便甚至是不可能,这会导致传感器网络节点的失效,最终使整个网 络崩溃。因此,如何在网络使用过程中节省网络节点的耗电量,延长网络生存期是无线传感 器网络所面临的关键问题,在这方面的研究与探索具有重要的理论意义和应用价值。
近几年,为了提高无线传感器网络的节能效率,学者们做了不少的探索。相关的研究主
要包括
(1) 拓扑控制这种方法是在满足网络连通性和覆盖的情况下,通过功率控制和骨干网 节点选择,剔除节点之间无用或不必要的通信链路,生成一个高效的数据转发的网络拓扑结 构,从而降低网络的通讯能耗。
(2) 能量感知路由这种方法是根据节点的剩余能量或传输路径上的能量需求,选择数 据的转发路径。从而降低整个网络的能耗,延长网络的生存周期。
(3) 睡眠管理由于节点在空闲状态下消耗的能量是在睡眠状态下消耗的能量的很多倍, 所以,将空闲节点置于睡眠状态也可以节省很多的能量,达到节能的目的,这主要是MAC 层的节能策略。在这种情况下,网络中只有很小的一部分节点仍然处于工作状态,来为数据 提供传输与接收的服务,而大部分节点都已经被置于了睡眠的状态,降低了网络的能耗。
上面提到的这些方法都集中于无线传感器网络节点协议栈中的某一层,忽略了协议栈中 不同层之间协同工作的重要性。拓扑控制和能量感知路由是网络层的一种节能策略,都是在 节点处于工作状态时,通过一些策略来减少传输或者接收时消耗的能量,来达到总消耗能量 最小化;而睡眠管理是通过把空闲节点转化到睡眠状态,从而达到总能耗最小的目的,这是 MAC层一般采用的一种节能方法。因此可以看出MAC层的方法仅仅集中于解决该层的能量 消耗问题,没有考虑来自网络层的路由信息。而网络层的路由协议仅仅集中于连通性或路径 的有效性,没有考虑MAC层节点的工作周期。如此单一层的方法导致了节点的能量利用率不高,节能效果不理想。因此,从跨层思想出发,综合考虑MAC层和网络层的实际情况, 使两层之间共享信息,协同工作,从而设计出更加高效的节能方法,尽可能使无线传感器网 络能量消耗极小化。

发明内容
本发明的目的是设计一种基于跨层的无线传感器网络节能方法。综合考虑网络层的路由、 MAC层的能量消耗问题。它首先从MAC层收集与节点传输功率有关的参数,来构造网络的 路由信息和维护节点的邻居节点表,使用这些信息来解决MAC层能耗问题,从而有效提高 节点的能量利用率,延长网络的生存周期。
本发明的第一方面是从MAC层收集信息,来维护每个节点的邻居表和构造整个网络的路 由表,同时对路由表进行更新和维护。
所述的邻居表的维护主要是维护网络的拓扑控制,每个节点都维护着一张邻居节点表, 这个邻居表里面包含着这个节点无线通信传输范围内的所有的邻居节点,以及当前节点与它 的邻居节点之间能够进行高质量的通信时需要使用的最小传输功率。所述的路由建立阶段负责为网络中的每个节点建立到汇聚节点(即目的节点)的路由路 径,在路由建立阶段试图为每个节点寻找到汇聚节点(即目的节点)消耗能量最少的路由路 径。
所述的路由维护、更新阶段是当无线传感器网络中的路由表由于某种原因崩溃,或者某 个节点失效,有新的节点加入,这时网络要很快适应这种拓扑结构的变化,快速重建或更新 整个网络的路由表。本发明第二方面使用已有的路由信息设计MAC层工作方法,解决能耗 问题。MAC层能耗的主要来源是节点的空闲侦听、数据碰撞、串音。因此,MAC层的能量 管理方法涉及到以下几个方面。
(一) MAC层中节点空闲侦听问题 节点在不需要发送数据时一直保持对无线信道的空闲侦听以便接收可能传输给自己的数
据。这种过度的空闲侦听或没必要的空闲侦听同样会造成节点能量的浪费。本申请针对这一 问题在MAC层使用了周期性"侦听/睡眠"的无线信道使用机制。
(二) MAC层中碰撞问题
碰撞是当MAC协议采用竞争方式使用共享无线信道,节点在发送数据的过程中,可能与 其它节点发送的数据产生碰撞,导致数据的重发,引起不必要的能量浪费。因此,本申请采 用基于两阶段的竞争来解决节点之间的碰撞问题。
(三) MAC层中串音问串音是指节点接收并处理不必要的数据消耗,增加了节点接收模块和处理器模块消耗的 能量。在串音避免方面,使用了两种可选择的机制。采用类似于802. 11MAC协议的RTS/CTS 机制和基于MAC数据分组头部的串音避免。
相对于现有技术,本发明的创新之处在于
本发明采用跨层的思想,综合考虑了MAC层、网络层对无线传感器网络能量问题的影响, 区别于以往的仅仅集中于单层的方法。它根据MAC层获得与传输能耗有关的信息,以降低网 络能耗为出发点,选择能耗最少的最优通讯路径。根据路由信息来设计MAC层节点的工作方 式,设计睡眠调度策略、碰撞避免策略和串音避免策略来解决MAC层的能耗问题。使MAC层 和网络层之间在能耗极小化的前提下,实现信息共享、协同工作,有效延长了网络的生存期。


图l邻居表维护过程示意图 图2路由表的格式
图3解决MAC层空闲节点侦听问题步骤示意图 图4解决MAC层数据碰撞问题步骤示意图 图5解决MAC层串音问题示意图 图6数据转发过程示意图
具体实施例方式
图1描述了邻居表的维护过程。研究表明传感器网络节点成功接收一个数据分组的概率 主要取决于接收方的信号强度, 一般使用接收信号强度指数(RSSI)来衡量。同时接收信号 强度指数(RSSI)值与节点之间的传输功率有很大的联系,研究发现呈线性关系。因此,首 先给当前节点i设定一个RSSI值的阈值、节点成功接收数据分组的阈值和一组不同级别的传 输功率,同时该节点i以这组不同级别的传输功率向无线传感器网络中的其他节点广播数据
分组,节点i+r收到这组以不同级别的传输功率发送的数据分组以后,节点i+i的物理层根
据传输功率的值得到每个级别的传输功率对应的接收信号强度指数(RSSI)值,然后封装在 数据分组中返回给当前节点i的MAC层。因为节点成功传输数据分组的数量与两节点之间的 距离成反比,因此当节点i+l返回给当前节点i的数据分组数量超过已设定的节点成功接收 数据分组的阈值时,就认为节点i+l在节点i的无线通信覆盖范围内,所以节点i+l是节点 i的邻居节点。同时利用这些返回的数据分组中的RSSI值建立传输功率与RSSI阈值之间的 线性模型。然后利用巳建立的线性模型与已设定的RSSI阈值计算出节点i+l与节点i进行通 信的合适的最小传输功率,并把节点对应的编号i+l和最小传输功率加入到当前节点i的邻居表中。这样网络中的各个节点周期性地更新自己的邻居表,就建立起了一个实时的邻居表 的维护机制。接下来利用MAC层维护的邻居表来建立网络层的路由表,图2描述了路由表的格式。下 面具体描述一下路由建立的主要过程,在该过程中用Cost(N,)表示节点i到汇聚节点(即目的节点)的能量开销,Metric(Ni,Nj)表示节点i到节点j的传输能量开销, 公式(1<formula>formula see original document page 7</formula>其中gj代表节点i与节点j之间的传输功率,R代表数据的传输速率,B代表网络带宽。(1) 初始化网络中所有节点除了汇聚节点(即目的节点)以外都设置为非活动节点,汇 聚节点(即目的节点)将Cost(Nj)置为零,汇聚节点(即目的节点)首先设置一个路由更新序列号为0,建立自己的路由表。在这个路由表中下一跳表项设置为无效,其他节点也初始 化它们的路由表。汇聚节点(即目的节点)开始向它的邻居节点广播路由更新信息,同时每 广播一个路由更新信息,路由更新序列号加一。路由信息中包括Cost(N,)值、路由更新序列号。(2) 汇聚节点(即目的节点)的邻居节点i收到路由更新信息以后,查询自己的邻居表中 到汇聚节点(即目的节点)的传输功率,根据公式(1)计算出Metric(Ni,Nj),即Cost(Nj^Metric(Ni,Nj),下一跳节点(数据转发时所经过的下一个节点)为汇聚节点(即目的节点),把Cost(Nj)存储在路由表中,并标记汇聚节点(即目的节点)为活动节点。同时把该路由更新信息转发给自己的邻居节点,每发送一个路由更新信息路由更新序列号加一。(3) 当中间节点j收到邻居节点i的路由信息后,查询自己的邻居表中相对应的传输功率, 根据公式(1)计算出Metric(Nj,Nj),同时查询自己是否为活动节点,计算出Cost(Nj),计算公式如下—yCost(Ni)+Metric(Ni,Nj)+Cost(i)当节点i是非活动节点 CoSt(Nj) = (Cost(Ni)+Metric(Ni,Nj)当节点i是活动节点 公式(2)(Cost(i)为节点i的开销) 节点j是否更新路由表取决于以下三方面l)如果新收到的路由更新信息的路由更新序列号小于它当前路由表中己有的路由更新序 列号,则直接丢弃这个信息,如果两者的路由更新序列号相等,而新的路由比已有的路由好,也就是说Cost(Nj)比当前路由表中已存在的所有能量开销值都小,则节点j更新自己的路由表,选择节点i为下一跳节点,同时把节点i的状态转变为活动状态。同时转发这个路由更新信息 和路由更新序列号加一。2) 如果新收到的路由更新信息的能量开销值比路由表中已存在的所有能量开销值都大, 则丢弃这个信息;3) 当新路由更新信息的路由更新序列号大于路由表中已有的路由更新序列号,若新的路 由更新信息到汇聚节点的开销Cost(Nj)比路由表中现存的路由开销Cost(Nj)少或者相等,则节点j更新自己的路由表,选择节点i为下一跳节点,同时把节点i的状态转变为活动状态。同 时转发这个路由更新信息和路由更新序列号加一。否则丢弃这条信息,但是,需要注意的是, 如果新路由更新信息的路由更新序列号大于路由表中己有的路由更新序列号且到汇聚节点的 开销大于路由表中已存在的开销,但是新路由更新信息的路由更新序列号减去旧路由更新信 息的路由更新序列号的差值己经超过了某一个阈值,或者在路由表里面查到原来的下一跳地 址已经不是当前节点的邻居,则认为旧的路由已经失效,所以需要强制当前节点更新自己的 路由表。当前节点的路由表一旦被更新,当前节点便把这条路由更新信息发布给它们各自的 邻居,同时每发送一个路由更新信息路由更新序列号加一。(4)重复上述过程(3),直到网络中的每个节点都找到汇聚节点(即目的节点)的路由 路径。路由更新、维护主要包括以下三方面1) 汇聚节点(即目的节点)失效当网络中的汇聚节点(即目的节点)失效以后采用快 速恢复机制。所谓的快速恢复机制是指当汇聚节点(即目的节点)失效后每次重新启动时, 它首先发送出一些路由更新请求信息,网络中的节点收到这些信息后,会发送回自己当前的 路由信息,与汇聚节点(即目的节点)进行同步,汇聚节点(即目的节点)得知了当前的最 新路由信息序列号以及已经找到的数据源节点的路由后,便可以继续自己在崩溃前的工作。2) 新节点的加入新加入网络的节点以洪泛的方式对它的邻居节点广播节点加入的信 息,然后邻居继续广播, 一直到这个消息传递到汇聚节点(即目的节点),汇聚节点(即目的 节点)在自己的路由表里面注册这个新节点,然后按照上面的路由建立方法寻找该节点到目 的节点的最优路经。3) 普通节点失效节点失效以后就处于睡眠状态,以该节点为下一跳的节点会持续收到 序列号较新而花费却较大的路由更新信息,而收不到该节点处于活动状态的路由更新信息, 按照前述路由表的建立方法,当新的路由序列号与自己路由表里面保存的序列号的差值超过一个固定的阈值时,这时节点就会认为下一跳节点失效,根据新接收到的路由信息对路由表 进行强制的更新。这就是所谓的普通节点超时机制。利用已建立的路由表,节点转发数据分组时,从已建立的路由表中选择下一跳节点,然 后发一个短唤醒标识(即短的控制分组)唤醒下一跳节点,而节点的其他邻居节点没有接到 唤醒标识,继续处于睡眠状态。此时下一跳节点处于唤醒状态,准备接收数据分组。两个节 点之间传输数据时在MAC层可能会出现碰撞、串音这些问题,同时网络中不参与传输活动的节 点应该进入睡眠状态而不是一直保持着对无线信道的侦听,这涉及到节点的空闲侦听问题, 因此提出以下方法来解决这些问题。图3说明在MAC层解决空闲节点侦听问题的过程针对这一问题在MAC层使用了周期性 "侦听/睡眠"的无线信道使用机制。节点收到邻居节点唤醒标识以后,节点唤醒短时间侦听 信道,以确定是否需要接收数据。如果需要,保持唤醒接收数据。否则的话,节点再次睡眠。 目的是让不参与路由的节点能够在第一时间关闭通信模块从而避免节点的过度侦听。同时为 了降低传输延迟,每个节点都使用SYNC (同步信号分组)分组向邻居节点通告自己的调度状 态,同时也维持一个调度表,这个表里保存了所有邻居节点的调度信息。当节点唤醒以后, 先侦听信道一段时间,如果在这段时间内收到了邻居节点的调度信息,节点调整自己的调度 状态,使节点与邻居节点的状态保持同步。图4描述了解决数据碰撞问题的过程,使用两阶段的竞争。首先,发送方节点在第一个 竞争阶段随机选择一个时间槽进行侦听,如果信道空闲,节点在第一个竞争阶段剩余的时间 内发送一个短的唤醒标识。如果信道忙,节点进入睡眠状态。当节点成功发送唤醒标识以后 进入第二个竞争周期。如果在第二个竞争周期内,仍然侦听到信道空闲,它开始发送数据。解决串音问题的方法,我们使用了两种可选择的机制。图5描述了第一种机制,第一种是 使用类似于802. 11MAC协议的RTS/CTS机制,当发送方节点决定向接收方节点发送数据时,发 送方节点首先向接收方节点发送一个RTS (请求发送分组)分组,当接收方节点收到这个请求 分组以后,它回送一个CTS (清除信道分组)分组。此时标识该发送方节点和接收方节点占用 了信道。发送方节点收到CTS分组以后开始发送数据,接收方节点采用基于MAC分组头部的串 音避免,具体方法是一个接收方节点在完全收到数据分组之前,接收到数据分组的头部以后 立即检查一个包的目的地址,如果是传给其他节点的包,节点立即停止接收进入睡眠。否则 的话,接收数据。接收方节点收到一个完整的数据分组以后用一个ACK (收到数据确认分组) 分组作为应答。同时接收方在接收到数据以后不是立即进入睡眠状态,而是保持侦听一段时 间,如果在这段时间内收到RTS分组,则可以立即接收数据,没有必要等到下一次唤醒周期, 这样可以减少数据分组的传输延迟。利用跨层的无线传感器网络的节能方法在无线传感器网络中转发数据的流程如图6所示, 具体步骤如下1) 通过路由发现阶段建立的路由表,数据源节点査询路由表找到通往汇聚节点(即目的 节点)的下一跳节点,数据分组转发给下一跳节点时在MAC层经历以下过程① 节点首先侦听信道,如果信道空闲,发送短的唤醒标识,唤醒下一跳节点,否则的话, 节点进入睡眠状态。② 节点仍然侦听到信道空闲,发送RTS分组,当下一跳节点收到RTS分组之后回送一个CTS 分组,占用无线信道。③ 节点开始发送数据,下一跳节点在完全收到数据分组以前,检查数据分组的头部,查 看头部所包含的目的地址是否与自身地址相匹配,如果匹配则接收数据,回复一个ACK分组。④ 下一跳节点接收完数据之后,继续保持侦听信道一段时间,如果在这段时间内收到RTS 分组,则立即接收数据。2) 中间节点(数据分组从源节点到汇聚节点中间所经过的节点)接收到数据分组以后, 查询路由表找到去往汇聚节点的下一跳节点,唤醒节点,向节点发送数据分组,中间节点转 发数据分组时在MAC层也经历步骤1)中的过程;3) 汇聚节点(即目的节点)收到该分组以后,确认自己是目的地后,不再转发。
权利要求
1、一种基于跨层的无线传感器网络节能方法,其特征包括以下步骤1)邻居表的维护,所述邻居表的维护是为无线传感器网络中的每个节点发现邻居节点,其中,无线传感器网络中的节点i以若干个不同级别的数据传输功率向无线传感器网络广播数据分组,当无线传感器网络中的其它节点收到这些数据分组后,分别从物理层取得对应的接收信号强度指数(RSSI),并把它封装在数据分组中返回给节点i,节点i根据传回的包含接收信号强度指数(RSSI)的数据分组的数量来确定哪个节点是它的邻居节点,同时节点i在MAC层利用邻居节点传回的数据分组中接收信号强度指数(RSSI)值来计算两个节点之间能成功传输数据的最小传输功率,把该最小传输功率和邻居节点的编号填入邻居表中;2)路由表的建立,所述路由表的建立是为无线传感器网络中的每个节点建立到汇聚节点(即目的节点)的路由信息,其中,无线传感器网络中的每个节点收到邻居节点发来的路由信息时,计算自身通过该邻居节点到汇聚节点(即目的节点)的能量开销,然后与该节点路由表中已存在的那些表项中到目的节点的能量开销比较,如果该能量开销值比路由表中已存在的小,那么就把该邻居节点作为该节点到目的节点所经过的下一跳节点,更新路由表,并把该信息转发给它的邻居节点;3)数据转发,所述的数据转发是数据源节点利用路由表的建立步骤中建立的路由表,把数据分组传输到汇聚节点(即目的节点),当数据分组到达网络中的每个节点时,该节点从自己的路由表中选择下一跳节点,把数据分组转发给下一跳节点,当数据分组从一个节点转发到它的下一跳节点的过程中,如果下一跳节点处于睡眠状态,则唤醒它接收数据分组。
2、 如权利要求1所述的基于跨层的无线传感器网络节能方法,其特征在于,邻居表的维护步 骤中,设置成功接收数据分组的阈值,当节点i在MAC层接收到的来自节点j的包含接收信 号强度指数(RSSI)的数据分组的数量超过设置的上述阈值时,认为节点j是节点i的邻居 节点。
3、 如权利要求1-2所述的基于跨层的无线传感器网络节能方法,其特征在于,路由表的建立 步骤中,所述的能量开销由以下方法确定,根据发送方节点是否为活动节点,如果发送方节 点为活动节点,则能量开销为发送方节点与接收方节点之间的能量开销加上发送方节点自身 的能量开销;否则的话能量开销为发送方节点与接收方节点之间的能量开销,发送方节点与 接收方节点之间的能量开销是根据下述公式计算的能量开销-最小传输功率X数据传输速率/网络带宽。
4、 如权利要求1所述的基于跨层的无线传感器网络节能方法,其特征在于,在数据转发步骤,采用以下方式来解决空闲节点侦听问题节点收到邻居节点唤醒标识以后,节点唤醒短时间侦听信道,以确定是否需要接收数据,如果需要,保持唤醒接收数据;否则的话,节点再次睡眠。
5、 如权利要求1所述的基于跨层的无线传感器网络节能方法,其特征在于,在数据转发步骤, 采用以下方式来解决数据碰撞问题无线传感器网络中的节点唤醒以后,侦听信道,如果信 道空闲,发送方节点发送一个短的唤醒标识唤醒下一跳节点(即接收方节点),接着发送方节 点继续侦听信道,如果信道仍然空闲,节点开始给下一跳节点发送数据分组。
6、 如权利要求l所述的基于跨层的无线传感器网络节能方法,其特征在于,在数据分组转发 步骤,采用以下方式来解决串音问题当无线传感器网络中的节点决定向下一跳节点发送数 据时,节点首先向下一跳节点发送一个RTS (请求发送分组)分组,当下一跳节点收到这个请 求分组以后,它回送节点一个CTS (清除信道分组)分组,节点收到CTS分组以后开始发送数据,下一跳节点在完全收到数据之前,当接收到数据分组的头部以后立即检查包的目的地址, 如果目的地址与自身地址不匹配,下一跳节点立即停止接收进入睡眠状态,否则的话,下一跳节点接收数据,完全收到数据以后用一个ACK (收到数据确认分组)分组作为应答返回给节 占。
全文摘要
一种基于跨层的无线传感器网络节能方法,从无线传感器网络的MAC层和网络层出发,综合考虑这两层对无线传感器网络能耗问题的影响,它首先从MAC层收集有关的信息,来为无线传感器网络中的每个节点构造和维护邻居表。接着,它利用每个节点的邻居表和从MAC层收集的有关信息来为无线传感器网络中每个节点发现到目的节点(即汇聚节点)能量消耗最少的路由,由此构建每个节点的路由表。最后,利用已建立的路由表,把数据分组从源节点转发到目的节点(即汇聚节点)。在数据分组转发的过程中根据路由信息决定节点的工作方式,同时解决了MAC层所存在的碰撞、串音等能耗问题。
文档编号H04L12/10GK101217381SQ20081005645
公开日2008年7月9日 申请日期2008年1月18日 优先权日2008年1月18日
发明者刘淑娟, 白跃彬, 成 罗 申请人:北京航空航天大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1