技术领域
本发明属于无线传感器领域,尤其是一种具有能量捕获特性的无 线传感网的时延最小化路由选择方法,该方法适用于具有能量捕获特 性的无线传感器网络。
背景技术
无线传感器网络(Wireless Sensor Networks,WSN)有着非常广泛的 应用前景。但是,传感器节点的能量限制一直是WSN应用受限的一个 重要的决定性因素。传感器节点的能量一般来源于电池,而电池的容 量是有限制的,能量的耗尽意味着传感器节点生命的结束。
由具有从环境中捕获能量特性的传感器节点组成的无线传感器网 络(Energy-Harvesting Wireless Sensor Networks,EH-WSN),提供了一 种有效突破能量供应瓶颈的解决方法。
能量捕获和能量管理是EH-WSNs“开源节流”的两个有效技术手 段。能量捕获技术指将环境中的能量转化为电能,比如光伏电板将太 阳能转化为电能、压电传感器将机械能转化为电能。将这些电板或传 感器安装于普通传感器节点上,通过能量模块进行管理,就能够捕获 环境中的能量。能量管理技术往往涉及对能量消耗的智能控制。当传 感器节点的能量捕获速率与节点能量消耗速率相对平衡时,理论上节 点能够持久工作。但是,当网络节点部署在能量捕获速率很低的环境 中,节点中继数据包的能量消耗速率远大于节点能量捕获速率时,就 可能存在每一条路由中至少有一个节点的现有能量不足以提供中继服 务,且要等到节点捕获到足够多的能量时才能继续提供服务,造成了 长时间的能量捕获等待时延。过大的能量捕获时延会导致大量待发送 数据的堆积、网络吞吐率下降等问题。因此,在这背景下,我们就需 要考虑时延最小化的路由选择。
CN200710190264公开了“异步传感器网络中时延受限且能量高效 的在线路由方法”。在该发明中,提供了一种有时延限制的事件驱动 型无线传感器网络(WSN)中的高效路由协议,该协议在端到端时延限 制的条件下优化节点的睡眠调度来最大化WSN寿命。使用在线转发技 术从监测节点向基站传输数据报告。在异步WSN中可以用一个时延受 限且能量效高的路由协议(DCEER)来最大化WSN寿命并同时满足网络 最大时延要求。使用DCEER协议时,每个节点会维护从自己向基站转 发数据时的历史能耗作为虚拟坐标,数据转发沿着坐标递减方向进 行。基于能耗坐标会随着时变的信道和拓扑而动态更新。节点使用转 发选择机制从多个潜在转发候选节点集中选择下一跳转发节点,并注 意平衡转发能耗和等待能耗。
CN201010128999公开了“一种面向无线传感器网络的随机路由的 选择方法”。在该发明中,所述网络由传感器节点和一个汇聚节点构 成,汇聚节点和各传感器节点均存储有所述网络的拓扑信息;进行随机 路由选择时包括如下步骤:(1)网络从网络中随机选择准备发送数据包 的节点;(2)准备发送数据包的节点在与其距离最小的下一跳节点中通 过比较下一跳节点和准备发送数据包的节点到汇聚节点的最短路径的 跳数而选择接受其数据包的下一跳节点;若被选中的下一跳节点是汇 聚节点,则执行步骤(4),否则执行步骤(3);(3)将其数据包发送至选中 的下一跳节点,以该下一跳节点为下一步路径选择中准备发送数据包 的节点执行步骤(2);(4)汇聚节点接收到数据包,结束随机路由选择。
CN200710190264公开了“一种无线传感器网络中时延限制下实现 最小能耗路由的方法”。在该发明中,首先在传感器网络的节点冗余 条件下,通过改进AMODV多路径路由算法产生从数据产生源节点到 收集基站的多条路径,作为路径搜索的候选集合;再在生成的路径集 合中,先对符合时延要求的路径进行标定,再采用基于动态规划思想 的策略,分布式地求算最小能耗路径。基于生成的路径集合以很大概 率包含了保证时延的最小能耗路径的经验事实,此路由实现方法切实 提供了满足时延要求的最小能耗路径。
然而,上述现有技术都是基于传统电池作为能量来源的无线传感 器网络,没有涉及到具有能量捕获特性的传感器节点,另外也没有从 时延最小化角度来进行路由算法设计。
发明内容
为了克服现有无线传感器网络最小化路由方式的时延较大、传感 器无能量捕获特性的不足,本发明在能量捕获无线传感网中能够进行 端到端低时延的数据传递,本发明提出了一种时延最小化的具有能量 捕获特性的无线传感网时延最小化路由选择方法。
为了解决上述技术问题提出的技术方案为:
一种具有能量捕获特性的无线传感网时延最小化路由选择方法, 包括以下步骤:
第一步,源节点操作,过程如下:
步骤1.1.源节点要发送数据包给目的节点时,先根据所要发送的 数据包长L和自己的数据发送速率Rs来计算源节点的数据包发送时长 ts,计算公式如下:
步骤1.2.接着广播一个路由请求包(Route Request,RREQ)。请求 包中包含源节点ID、目的节点ID、待发送数据包的长度L以及数据包 发送时长ts;
步骤1.3.当源节点收到目的节点的路由回复包(Route Reply, RREP)时,读取包中所记录的路径,并根据该路径发送数据包;
第二步,中继节点操作,过程如下:
步骤2.1.中继节点i从它的某个邻居节点j收到请求包RREQ时,从 里面读出源节点ID和目的节点ID;如果之前已经收到过有相同的源节 点ID和目的节点ID,则扔弃该请求包RREQ且不执行后续步骤;否则从 该包中读出参数L值和节点j的数据包发送时长tj,并按公式(2)计算发送 L长度数据包所要消耗的发送时间ti,
其中参数Ri为节点i的数据发送速率;
步骤2.2.计算中继节点i进行数据接收和发送所要消耗的总能量 Ei,如公式(3)所示,
其中,从节点j接收信息所消耗的能量为er为信号接收电 路进行信号接收时单位时间内的能量消耗;发送信息所消耗能量为
由发送模块电路处理待发送信息所消耗的能量etti和输送 给天线以发送无线信号的能量Pti构成,et为单位时间内信号发送模块 电路处理待发送信息所消耗的能量,P为发送功率;
步骤2.3.再计算需要等待的时延如公式(4)所示。
其中ei表示节点i的现有能量,表示节点i的能量捕获速率;
步骤2.4.判断,如果则意味着节点i当前有足够的能量来 中继数据包,则令
如果
则表示节点i当前没有足够的能 量来中继该数据包,需要等待
时间才能有足够的能量中继该数据 包;
步骤2.5.中继节点i将本节点ID、能量捕获时延以及数据包发 送所要消耗的时间ti这三个值添加到接收的请求包RREQ中,然后将 该RREQ包广播出去;
第三步,目的节点操作,过程如下:
步骤3.1.当目的节点接收一个请求包RREQ时,从里面读出源节 点ID和目的节点ID,如果之前没有收到过有相同的源节点ID和目的 节点ID,则启动一个倒计时计算器Timer,Timer的值是预先设置好 的,设置得越大则有可能找到更好的路径,但是路径获取时延也会更 大;当倒计时计算器Timer溢出时,也就是Timer的值减到零时,后 续接收到有相同源节点ID和目的节点ID的RREQ包则不再进行任何 操作;如果之前已经收到过有相同的源节点ID和目的节点ID,且倒 计时计算器Timer还未溢出,则从该RREQ包里读取出参数L的值、 发送该RREQ包的邻居节点j的数据包发送时长tj、以及所有记录在里 面的不同中继节点i的值;
步骤3.2.根据公式(5)计算目的节点接收数据包所要消耗的能量 Ed,
Ed=ertj (5) 进一步根据公式(6)计算目的节点需要等待的时延
其中,ed表示目的节点的现有能量,表示目的节点的能量捕获速 率;
步骤3.3.在以及所有
中找出最大的值,将其作为该RREQ包 所走过的路径的端到端时延,并且存储该路径所包含的节点和它的端 到端时延;
步骤3.4.当倒计时计算器Timer的值减到零时,在已经存储的路 径中选取出端到端时延最小的那条路径,并生成一个路由回复包 RREP,在该包里写入该路径所包含的所有节点ID以及写入该路径的 端到端时延,并将该回复包RREP沿着该路径逆向以单播的方式传递 给源节点。
本发明的有益效果为:本发明的路由选取算法考虑到了基于能量 捕获无线传感器网络中的节点会由于当前剩余能量不足而需要经历一 段能量捕获时延,选择出能量捕获时延较小的源节点到目的节点的路 径,从而可以将源节点的数据包以较低的时延传递到目的节点。
附图说明
图1是RREQ包的结构图。
图2是路由选择示意图。
具体实施方式
下面结合附图对本发明做进一步说明。
参照图1和图2,一种具有能量捕获特性的无线传感网时延最小化 的路由选择方法,包括以下步骤:
第一步,源节点操作,过程如下:
步骤1.1.源节点要发送数据包给目的节点时,先根据所要发送的 数据包长L和自己的数据发送速率Rs来计算源节点的数据包发送时长 ts,计算公式如下:
步骤1.2.接着广播一个路由请求包(Route Request,RREQ)。请求 包中包含源节点ID、目的节点ID、待发送数据包的长度L以及数据包 发送时长ts;
步骤1.3.当源节点收到目的节点的路由回复包(Route Reply, RREP)时,读取包中所记录的路径,并根据该路径发送数据包;
第二步,中继节点操作,过程如下:
步骤2.1.中继节点i从它的某个邻居节点j收到请求包RREQ时,从 里面读出源节点ID和目的节点ID;如果之前已经收到过有相同的源节 点ID和目的节点ID,则扔弃该请求包RREQ且不执行后续步骤;否则从 该包中读出参数L值和节点j的数据包发送时长tj,并按公式(2)计算发送 L长度数据包所要消耗的发送时间ti,
其中参数Ri为节点i的数据发送速率;
步骤2.2.计算中继节点i进行数据接收和发送所要消耗的总能量 Ei,如公式(3)所示,
其中,从节点j接收信息所消耗的能量为er为信号接收电 路进行信号接收时单位时间内的能量消耗;发送信息所消耗能量为
由发送模块电路处理待发送信息所消耗的能量etti和输送 给天线以发送无线信号的能量Pti构成,et为单位时间内信号发送模块 电路处理待发送信息所消耗的能量,P为发送功率;
步骤2.3.再计算需要等待的时延如公式(4)所示。
其中ei表示节点i的现有能量,表示节点i的能量捕获速率;
步骤2.4.判断,如果则意味着节点i当前有足够的能量来 中继数据包,则令
如果
则表示节点i当前没有足够的能 量来中继该数据包,需要等待
时间才能有足够的能量中继该数据 包;
步骤2.5.中继节点i将本节点ID、能量捕获时延以及数据包发 送所要消耗的时间ti这三个值添加到接收的请求包RREQ中,然后将 该RREQ包广播出去;
第三步,目的节点操作,过程如下:
步骤3.1.当目的节点接收一个请求包RREQ时,从里面读出源节 点ID和目的节点ID,如果之前没有收到过有相同的源节点ID和目的 节点ID,则启动一个倒计时计算器Timer,Timer的值是预先设置好 的,设置得越大则有可能找到更好的路径,但是路径获取时延也会更 大;当倒计时计算器Timer溢出时,也就是Timer的值减到零时,后 续接收到相同源节点ID和目的节点ID的RREQ包则不再进行任何操 作;如果之前已经收到过有相同的源节点ID和目的节点ID,且倒计 时计算器Timer还未溢出,则从该RREQ包里读取出参数L的值、发 送该RREQ包的邻居节点j的数据包发送时长tj、以及所有记录在里面 的不同中继节点i的值;
步骤3.2.根据公式(5)计算目的节点接收数据包所要消耗的能量 Ed,
Ed=ertj (5) 进一步根据公式(6)计算目的节点需要等待的时延
其中,ed表示目的节点的现有能量,表示目的节点的能量捕获速 率;
步骤3.3.在以及所有
中找出最大的值,将其作为该RREQ包 所走过的路径的端到端时延,并且存储该路径所包含的节点和它的端 到端时延;
步骤3.4.当倒计时计算器Timer的值减到零时,在已经存储的路 径中选取出端到端时延最小的那条路径,并生成一个路由回复包 RREP,在该包里写入该路径所包含的所有节点ID以及写入该路径的 端到端时延,并将该回复包RREP沿着该路径逆向以单播的方式传递 给源节点。
图1为目的节点接收到的RREQ包结构图。
下面以图2路由选择示意图为具体例子,按上述步骤分析各节点 实施过程:
首先由源节点0广播一个RREQ包,节点1、2和4收到了该包。 这三个中继节点都各自检查之前是否已经收到过源节点为节点0、目的 节点为节点5的RREQ包,如果已经收到过则不再进行任何操作;否 则先计算本节点的能量捕获时延和本节点的数据包发送时长,并将本 节点的ID号、能量捕获时延以及数据包发送时长这三个参数值添加到 接收的RREQ中,然后将该RREQ包广播出去。
这本例子中,节点2除了从源节点0那儿先接收到一个RREQ 包,还会从节点1那儿再接收到一个有相同源节点和目的节点的 RREQ包,因此从节点1那儿接收到RREQ包后不针对该包做任何后 续操作。因此,在本例子中目的节点5最终会收到从两条路径传递过 来的两个RREQ包,这两条路径分别为(0,2,3,5)和(0,4,5),并将这两条 路径称为σ1和σ2。
那么目的节点5收到沿着路径σ1传递过来的RREQ包格式为:
目的节点5收到沿着路径σ2传递过来的RREQ包格式为:
目的节点5每接收到一个RREQ包后也要计算本节点的能量捕获 时延然后将其和该包中记录的所有中继节点的能量捕获时延的最 大值作为路径的端到端时延:σ1时延为
σ2时延为
目的节点5在这两条路径中选择时延最小的那条路径,并生成一 个路由回复包RREP,在该包里写入该路径所包含的所有节点ID以及 写入该路径的端到端时延,再将该RREP包沿着该路径逆向以单播的 方式传递给源节点0,以告知源节点0选择该条路由进行数据包传送。