一种无线传感器网络数据转发方法及系统的制作方法

文档序号:7696110阅读:176来源:国知局
专利名称:一种无线传感器网络数据转发方法及系统的制作方法
技术领域
本发明涉及无线传感器网络领域,尤其涉及种无线传感器网络数据转发方 法及系统。
背景技术
在许多无线传感器网络应用中,传感器普通节点在向目的节点,例如基站 或簇头,发送采集数据时需要同时汇报普通节点的位置。目的节点在接收到数 据后可以准确判断该事件发生的区域,并采取相应的行动。例如在森林防火 应用中,当传感器网络监测到火灾的发生时,消防人员需要准确定位火灾发生 的具体位置。因此,如何在无线传感器网络应用中实现基于节点地理信息的数
据传输将非常有意义。节点可以利用GPS (Global Positioning System,全球 定位系统)定位装置或相关定位协议确定地理位置,并通过广播数据包与邻居 节点交换位置信息。数据传输路径上的每个路由中继节点可以利用邻居节点和 目标节点的位置信息局部地选择下一跳转发节点。
在基于地理信息的路由协议中,节点在转发数据包时通常采用贪婪转发策 略,在前趋邻居节点中选择距离目的节点最近的节点作为下一跳转发节点。但 是,由于基于理想模型的地理信息路由协议,不考虑链路状况使用距离贪婪策 略转发数据,所选择的下一跳节点处于非连通区域的概率较高,造成数据传输 成功率较低。如图1所示,无线链路传递范围可分为三个区域连通区域、过 渡区域和非连通区域。尽管非连通区域中仍然在节点的通信范围之内,但处于 这个区域的节点间数据传输成功率非常低,接近于零。节点采用贪婪策略选择 的下一跳节点处于非连通区域的概率很高,这将导致较高的数据包丢失率,增 加数据重传的概率,造成网络能量的浪费。
一种现有技术是针对事件驱动的无线传感器网络提出了基于地理信息的 数据转发方法。在该方法中,节点将地理位置信息与节点缓冲区队列长度和节 点剩余能量等综合因素作为选择下一跳节点的路由选择标准。显然,缓冲区队列长度并不能作为当前链路状况的评价标准。该方法在实际链路中数据丢失率 仍然较高。
还有一种现有技术是一个基于地理信息的能量高效转发方法,采用链路包 接收率与节点间距离的乘积作为路由选择标准。理论分析和仿真实验表明,采 用该路由选择标准可以在有损长链路与信道质量好的短链路之间做出平衡,并 取得最优值。但是该方法主要是关注如何提高数据包在有损链路传输时的能量 效率,没有提出如何实现数据可靠传输的方法。另外,该工作也没有考虑到不 对称链路及负载不均衡对节点传输的影响。
负载均衡是无线传感器网络路由协议性能的一个重要指标,网络中不均衡 负载将导致网络中负载较重的节点能量迅速消耗,使得网络寿命减短。
研究表明在转发数据时始终采用链路质量最好的节点作为F —跳选择,将 导致路径上的节点能量消耗非常快,甚至可能导致节点缓冲区溢出,引发网络
拥塞。在GPSR (Greedy Perimeter Stateless Routing,贪婪周长无状态路由) 协议中,当数据传送到路由空洞区域时,将采用右手准则沿空洞边界节点绕过 空洞区域继续向基站前进。路由空洞边界节点的能量将迅速消耗,使得空洞逐 渐增大,并有可能导致整个网络的不连通。如图2所示,空心圆点代表活动节 点,实心圆点表示失效节点,最小的圆表示空洞初始大小。随着数据包的不断 传递,空洞将逐渐变大,最终有可能导致网络的不连通。
一种针对负载均衡问题的现有技术是使用流延长和流重定向算法平衡网 络节点能量消耗,该技术需要获取全局流量信息,无法及时处理网络动态性。 因此,上述的负载均衡协议并不适用于地理信息路由。
GEAR (Geographicaland Energy Aware Routing, 土也J里能量考一量足各由)协 议在数据包转发时考虑了前驱邻居节点能量因素。当节点接收到数据包后,在 所有前驱邻居节点中将平衡能量消耗,最大化的延长网络寿命。但是GEAR协 议也是建立在理想信道模型上的,并不适用于实际链路。另外,GEAR仅采用 广播数据包的方式获得邻居节点能量信息,导致能量浪费严重。

发明内容
为解决上述问题,本发明提出了一种无线传感器网络数据转发方法及系 统,从而能够在保证数据可靠传输的同时,进行负载均衡,提高能量使用效率,
9延长整个无线传感器网络寿命。
本发明公开了一种无线传感器网络数据转发方法,包括
步骤l,目的节点发送自身地理位置信息,普通节点发送自身地理位置信 息和剩余能量信息;
步骤2,所述普通节点接收所述目的节点的地理位置信息和邻居节点的地 理位置信息和剩余能量信息 ,
步骤3,所述普通节点依据所述目的节点和邻居节点的地理位置信息,选
择距离所述目的节点比自身近的邻居节点作为前趋邻居节点;
歩骤4,所述普通节点为所述普通节点的每个前趋邻居节点估算以所述前 趋邻居节点为路由的下 一跳到达所述目的节点时,所述前趋邻居节点对应的总 传输次数;
歩骤5,所述普通节点比较各个所述前趋邻居节点的总传输次数和剩余能 量,从中选择出到达所述目的节点的路由的下一跳普通节点。
所述步骤3还包括将所述前趋邻居节点记录到前趋邻居表; 所述步骤3和歩骤4之间包括
歩骤21,估算所述普通节点同每个所述前趋邻居节点间的数据传输次数;
步骤22,判断所述数据传输次数是否大于设置的门限值,如果是,执行
歩骤23;
步骤23,将所述数据传输次数对应的前趋邻居节点从所述前趋邻居表中
屏蔽掉。
所述门限值为确认帧重传次数上限值的平方。
所述歩骤3和所述歩骤4之间还包括
歩骤41,所述普通节点侦听所述邻居节点的数据包,判断所述数据包的
发送者是否为所述前趋邻居节点,如果是,执行步骤42;
步骤42,所述普通节点估算发送所述数据包的前趋邻居节点的消耗能量;
步骤43,所述普通节点将所述前趋邻居节点的剩余能量减去所述消耗能
量,以更新所述前趋邻居节点的剩余能量。
所述步骤21进一步包括
步骤51,接收并获得每个所述前趋邻居节点发送的所述普通节点到所述
前趋邻居节点间的数据包接收率,估算每个所述前趋邻居节点到所述普通节点间的数据包接收率;
步骤52,按公式五汉(/,力-DD。"、1。。。 u、计算所述普通节点同每个
所述前趋邻居节点间的数据传输次数,
其中,^^(u')为所述数据传输次数,「为所述普通节点,y为一个所述前 趋邻居节点,Pi^,^(力为所述普通节点到所述前趋邻居节点"司的数据包接收 率,(力为所述前趋邻居节点y到所述普通节点间的数据包接收率。
所述步骤4进一步包括
步骤61,接收并获得每个所述前趋邻居节点发送的所述普通节点到所述 前趋邻居节点间的数据包接收率,估算每个所述前趋邻居节点到所述普通节点 间的数据包接收率;
频62,臓,,力:《"》)腦述普通节点斷
所述前趋邻居节点间的数据包传输次数,
其中,E^^,乃为所述数据包传输次数,''为所述普通节点,J为一个所述
前趋邻居节点,Pi^(^w)为所述普通节点到所述前趋邻居节点7'间的数据包接
收率,/^~,,)(力为所述前趋邻居节点7'到所述普通节点间的数据包接收率;
步骤63,按公式i 7X = ^~.£7X(/,/)计算所述总传输次数,
《rf -
其中,i rZ为所述总传输次数,E7X(")为所述数据传输次数,z为所述普
通节点,y为一个所述前趋邻居节点,d为所述目的节点,《d为所述普通节点 到所述目的节点的距离,"^为所述前趋邻居节点7到所述目的节点的距离。
所述方法还包括
歩骤71,所述普通节点发送自身的平均包接收率信息;
步骤72,所述普通节点接收所述邻居节点的平均包接收率信息;
所述步骤42进一步包括
步骤73,判断发送所述数据包的前趋邻居节点是否为所述数据包的源节
点,如果是,执行歩骤74,否则,执行步骤75;
歩骤74,所述消耗能量为普通节点发送单位数据包所消耗的能量除以发送所述数据包的前趋邻居节点到所述普通节点间的数据包接收率的值;
步骤75,所述消耗能量为普通节点发送单位数据包所消耗的能量除以发 送所述数据包的前趋邻居节点到所述普通节点间的数据包接收率的值,同普通 节点接收单位数据包所消耗的能量除以发送所述数据包的前趋邻居节点平均 包接收率的值的加和。
所述步骤5进一歩包括
步骤81,按公式^ m—(巧)+ (1-a)e(^)计算所述前趋邻居节点的路由选 择权值,
其中,《为设置参数,^为一个所述前趋邻居节点,K,为前趋邻居节点^ 的路由选择权值,^/(气)为前趋邻居节点气相对于所有所述前趋邻居节点的 总传输次数倒数归一化值,<乂)为前趋邻居节点W7相对于所有所述前趋邻居 节点的剩余能量归一化值;
歩骤82,比较所述前趋邻居节点的路由选择权值,选择所述路由选择权 值最大的前趋邻居节点为所述路由的下 一跳普通节点。
本发明还公开了一种无线传感器网络数据转发系统,包括普通节点和发送 自身地理位置信总的H的节点,所述普通节点包括
信息发送模块,用于发送所述普通节点的地理位置和剩余能量信息;
信息接收模块,用于接收目的节点的地理位置信息和邻居节点的地理位置 和剩余能量信息;
节点选择模块,用于依据所述接收的地理位置信息,选择距离所述目的节 点比自身近的邻居节点作为前趋邻居节点;
次数计算模块,用于为所述普通节点的每个前趋邻居节点估算以所述前趋 邻居节点为路由的下一跳到达所述目的节点时,所述前趋邻居节点对应的总传 输次数;
路由选择模块,用于比较各个所述前趋邻居节点的总传输次数和剩余能 量,从所述前趋邻居节点中选择出到达所述目的节点的路由的下一跳普通节 点。
所述普通节点还包括用于记录前趋邻居节点的前趋邻居表; 所述节点选择模块,还用于在选择出前趋邻居节点后,将所述前趋邻居节 点记录到所述前趋邻居表中;
12所述普通节点还包括前趋邻居选择模块,所述前趋邻居选择模块包括 估算模块,用于估算所述普通节点同每个所述前趋邻居节点间的数据传输 次数;
判断模块,用于判断所述数据传输次数是否大于设置的门限值,如果大于, 则将所述数据传输次数对应的前趋邻居节点从所述前趋邻居表中屏蔽掉。 所述门限值为确认帧重传次数上限值的平方。
所述普通节点还包括剩余能量更新模块,所述剩余能量更新模块包括
侦听模块,用于侦听所述邻居节点的数据包,判断所述数据包的发送者是 否为所述前趋邻居节点;
消耗能量估算模块,用于在所述侦听模块侦听到前趋邻居节点发送的数据 包时,估算发送所述数据包的前趋邻居节点的消耗能量;
更新模块,用于在所述消耗能量估算模块估算完消耗能量后,将所述前趋 邻居节点的剩余能量减去所述消耗能量,以更新所述前趋邻居节点的剩余能
所述估算模块进一步用于接收并获得每个所述前趋邻居节点发送的所述 普通节点到所述前趋邻居节点间的数据包接收率,估算每个所述前趋邻居节点 到所述普通节点间的数据包接收率;按公式
£7X(/,y) =--计算所述普通节点同每个所述前趋邻居节
点间的数据包传输次数,其中,£°^,力为所述数据包传输次数,/为所述普通 节点,J为一个所述前趋邻居节点,/^^(,,)(力为所述普通节点到所述前趋邻居 节点"司的数据包接收率,/^&,,)(力为所述前趋邻居节点7'到所述普通节点间 的数据包接收率。
所述次数计算模块进一步用于接收并获得每个所述前趋邻居节点发送的 所述普通节点到所述前趋邻居节点间的数据包接收率,估算每个所述前趋邻居 节点到所述普通节点间的数据包接收率;
按公式£7X(/,;) = ,, 兩m、计算所述普通节点同每个所述前趋
邻居节点间的数据传输次数,其中,WX(/J)为所述数据传输次数,z为所述普
通节点,y为一个所述前趋邻居节点,i^i^)w)为所述普通节点到所述前趋邻居节点)间的数据包接收率,^~,,)^)为所述前趋邻居节点/到所述普通节点
间的数据包接收率;
按公式£汉=~^~.E7X(/,力计算所述总传输次数,其中,E7X为所述 《^ -《</
总传输次数,EIX(/,力为所述数据传输次数,z为所述普通节点,/为一个所述 前趋邻居节点,^为所述目的节点,《d为所述普通节点到所述目的节点的距 离,《rf为所述前趋邻居节点7'到所述目的节点的距离。
所述信息发送模块,还用于发送所述普通节点的平均包接收率信息; 所述信息接收模块,还用于接收所述邻居节点的平均包接收率信息; 所述消耗能量估算模块进一步用于判断发送所述数据包的前趋邻居节点 是否为所述数据包的源节点,如果是,所述消耗能量为普通节点发送单位数据 包所消耗的能量除以发送所述数据包的前趋邻居节点到所述普通节点间的数 据包接收率的值;否则,所述消耗能量为普通节点发送单位数据包所消耗的能 量除以发送所述数据包的前趋邻居节点到所述普通节点间的数据包接收率的 值,同普通节点接收单位数据包所消耗的能量除以发送所述数据包的前趋邻居 节点平均包接收率的值的加和。
所述路由选择模块进一步用于按公式^ =aW(W,) + (l-a)e(W》计算所述前 趋邻居节点的路由选择权值,其中,a为设置参数,A^为一个所述前趋邻居节 点,^.为前趋邻居节点乂的路由选择权值,W(AO)为前趋邻居节点乂相对于 所有所述前趋邻居节点的总传输次数倒数归一化值,<乂.)为前趋邻居节点W7 相对于所有所述前趋邻居节点的剩余能量归--化值;比较所述前趋邻居节点的 路由选择权值,选择所述路由选择权值最大的前趋邻居节点为所述路由的下一 跳普通节点。
本发明的有益效果在于,考虑数据链路的非对称性,在保证数据可靠传输 的同时,进行负载均衡,提高能量使用效率,延长整个无线传感器网络寿命。 通过仿真发现,本发明相比GEAR和GPSR地理信息路由协议在数据传输成功率、
能量效率以及网络寿命方面均有所提高。


图1是现有的无线传感器网络有损链路采样分析结果示意14图2是现有的无线传感器网络负载不均衡导致的路由空洞扩大示意图; 图3是本发明无线传感器网络数据转发方法实施例的流程图; 图4是本发明无线传感器网络数据转发方法中对前趋邻居节点进行屏蔽 的方法实施例的流程图5是本发明无线传感器网络数据转发方法中进行剩余能量更新的方法 实施例的流程图6是本发明无线传感器网络数据转发系统中普通节点的结构图7是本发明同GEAR以及GPSR的数据传输成功率对比效果图8是本发明同GEAR以及GPSR在不同节点密度下的能量效率对比效果
图9是本发明同GEAR以及GPSR在不同节点密度下的网络寿命对比效果图。
具体实施例方式
下面结合附图,对本发明做进一歩的详细描述。
如图3所不,本发明方法的一个具体实施例包括如下歩骤。
歩骤S301, y的节点发送自身地理位置信息,普通节点发送自身地理位 置和剩余能量信息。
在无线传感器网络中,每个普通节点为普通传感器,普通节点通过定位装 置,如GPS,或通过相关定位算法,如通过测距进行定位的算法,获得自己的 地理位置,同时普通节点检査获得自身剩余能量。
普通节点在获取到自身地理位置和剩余能量信息后,广播一个信标帧,该 信标帧中包含普通节点的地理位置和剩余能量信息。普通节点的信标帧按周期 广播,当普通节点位置发生变化时,普通节点通过广播信标帧,以向其他普通 节点通告该普通节点的新的地理位置。
目的节点可以为无线传感器网络中的基站或分簇无线传感器网络中每个 簇的簇头。本实施例中目的节点为无线传感器网络中的基站。基站的通信范围 能够覆盖整个无线传感器网,因而,无线传感器网络中所有普通节点都可以获 取基站的地理位置。
歩骤S302,普通节点接收并获得目的节点的地理位置信息和邻居节点的地理位置和剩余能量信息,并建立邻居表。
在无线传感器网络中,位于某普通节点通信范围内,能够同该普通节点间 通过发送接收直接通信的普通节点为该普通节点的邻居节点。
每一普通节点维持一个邻居表,当接收到邻居节点的信标帧后,将该邻居 节点添加到邻居表中,并在邻居表中记录该邻居节点的地理位置和剩余能量。
步骤S303,普通节点运用获得的目的节点和邻居节点的地理位置信息, 选择距离目的节点比自身近的邻居节点作为前趋邻居节点,建立前趋邻居表。
普通节点根据目的节点和邻居表中邻居节点的地理位置信息,选择距离目 的节点比自身近的节点添加到前趋邻居表中。前趋邻居表记录的每个前趋邻居 节点的信息包括该前趋邻居节点的位置信息、剩余能量、以及普通节点到该前 趋邻居节点的数据包接收率和该前趋邻居节点到普通节点的数据包接收率。
普通节点在MAC (Medium Access Control,媒体接入控制)层设计基于 WMEWMA (Window Mean Exponentially Weighted Moving Average Estimator, 指数加权滑动平均窗Li)的链路估计器通过给每个数据包编号,根据编号计算 累计发送和接收的数据包比值,通过加权滑动平均窗口计算数据包接收率。其 中,普通节点到前趋邻居节点的数据包接收率由前趋邻居节点测得后,通过广 播数据包通告给当前普通节点。
步骤S304,普通节点将前趋邻居表中传输次数大于门限值的前趋邻居节 点屏蔽掉。
前趋邻居节点被屏蔽掉表示该前趋邻居节点为无效前趋邻居节点,在进行 下---跳选择时不被考虑。
对于每个前趋邻居节点的实施方法如图4所示。 步骤S401,计算前趋邻居节点的数据报传输次数。
根据链路稳定模型,考虑到链路的非对称性,并且由于无线传感器网络中 采用ARQ (Automatic Request for R印etition,自动请求重发)机制,因此 按如下公式计算普通节点同每个前趋邻居节点间的数据包传输次数,
<formula>formula see original document page 16</formula>
其中,E7X(,W)为普通节点和前趋邻居节点J间数据包传输次数,f为普通 节点,y为一个前趋邻居节点,?/^(,,)(力为普通节点/到前趋邻居节点"司的数据包接收率,Pi U力为前趋邻居节点y'到普通节点/间的数据包接收率。
步骤S402比较前趋邻居节点对应的数据包传输次数是否大于设置的门限 值,如果大于,执行步骤S403,否则,执行步骤S404。
本实施例中,MAC层采用IEEE802.il协议中DCF (Distributed Coordination Function,分布协调功能)应用ACK (确认帧)确认重传保证 传输可靠性,考虑到链路非对称性,当前向链路或后向链路的传输数据包次数 超过确认帧重传次数上限值时,普通节点将直接丢弃该数据包,因此将门限值 设置为确认帧重传次数上限值的平方。
步骤S403,将数据传输次数对应的前趋邻居节点从前趋邻居表屏蔽掉。
步骤S404,结束。
进行上述屏蔽是因为在无线网络中进行路由选择时,通过屏蔽掉链路质量 差的前趋邻居节点,有助于提高数据传输可靠性。
此外,在门限值设置时,门限值被设置的越高,网络端到端的数据传输可 靠性越高,但是可能导致局部网络的不连通,并可能加剧网络负载不均衡;门 限值被设置的越低,前趋邻居列表中链路质量差的前趋邻居节点越多,可能导 致在进行负载均衡时数据传输成功率显著下降。
歩骤S305,普通节点估算通过每个前趋邻居表中的前趋邻居节点到达H 的节点的总传输次数,记录到前趋邻居表中。
假设到达目的节点路由的每一跳普通节点间的数据包接收率相同,相邻路 由节点到达目的节点的距离差与普通节点和被估算的前趋邻居节点间的距离 差相同。
按公式
£7X =——^—— 6 -《d
计算总传输次数,其中,^^为总传输次数,£7^("力为普通节点和前趋 邻居节点"司数据传输次数,、为普通节点,y为一个前趋邻居节点,"为目的 节点,《^为普通节点z'到目的节点的距离,《"为前趋邻居节点y到目的节点 的距离。
每个前趋邻居节点的总传输次数为进行路由下一跳普通节点选择时的一 个考量参数。显然对于无线多跳路由来说,选择总传输次数最小的路径将保证
17端到端传输的可靠性最高。举例来说,如果普通节点有两个普通节点A和B
分别可以作为下一跳的路由选择。如果普通节点到普通节点A的数据包传输次 数估计为5次,通过普通节点A到达目的节点的路由跳数估计为2跳,总传输 次数估算为10次。普通节点到另一个普通节点B的数据包传输次数估计为4 次,路由跳数估计为3跳,总传输次数估计为12次。通过普通节点A的总传 输次数将少于通过普通节点B的总传输次数,能够更好地保证数据的传输成功 率。因此将总传输次数作为进行路由下一跳普通节点选择时的一个考量参数, 能够更好地满足数据可靠传输的需要。
歩骤S306,普通节点更新前趋邻居表中前趋邻居节点的剩余能量。 歩骤S501,无线传感器网络中的普通节点在广播的信标帧中包含自身的 平均包接收率信息,
平均包接收率按如下公式估算。
尸朋'=^-
其中,P^为普通节点/的平均包接收率,/为普通节点7'的一个前趋邻居 节点,"为普通节点/的前趋邻居节点总数,i^iV。W)为普通节点y到前趋邻 居节点"司的数据包接收率。
歩骤S502,普通节点接收到信标帧,获得前趋邻居节点的平均包接收率。
歩骤S503,普通节点进行侦听。
歩骤S504,侦听到数据包后,判断数据包的发送者是否为前趋邻居节点, 如果是,执行歩骤S505,否则,结束。
歩骤S505,判断发送数据包的前趋邻居节点是否为数据包的源节点,如 果是,执行步骤S506,否则,执行步骤S507;
步骤S506,按如下公式更新剩余能量,
其中,P^为前趋邻居节点y的剩余能量,y表示接收的数据包对应的前
趋邻居节点,^为无线传感器网路中普通节点发送单位数据包所消耗的能量, i^i ^(J)为前趋邻居节点7'到该普通节点间的数据包接收率。 歩骤S507,按如下公式更新剩余能量,其中,仏,为前趋邻居节点)的剩余能量,y表示接收的数据包对应的前
趋邻居节点,e(,为无线传感器网路中普通节点发送单位数据包所消耗的能量,
^为无线传感器网路中普通节点接收单位数据包所消耗的能量,i^i^,w为
前趋邻居节点/到该普通节点间的数据包接收率,^为前趋邻居节点7的平 均包接收率。
进行剩余能量更新是因为,虽然普通节点可以通过广播信标帧中的剩余能 量信息获得邻居节点剩余能量,但是无线传感器网络中普通节点位置通常是固 定的,不需要频繁的广播信标帧,因此广播周期相对较长,普通节点无法准确 实时地获取邻居节点的剩余能量信息,从而影响普通节点的路由选择的准确 性。如果为获取精确的邻居节点能量,而将广播信标帧的时间间隔减小,将增 加全网广播数据包个数,加大网络负载,并使得数据传输冲突的概率增加,增 大网络能量消耗和开销。在无线传感器网络中,数据包在共享的无线信道中传 输时,普通节点肉'为串音(Overhearing)会接收并处理不是发送给自己的数据 包。因此,利用该特性,应用上述剩余能量更新方法,能够在不减少广播信标 帧时间间隔、不增加额外开销的基础上,获取周围邻居节点的剩余能量。
步骤S307,普通节点比较各个前趋邻居节点的总传输次数和剩余能量, 从前趋邻居节点中选择出到达目的节点的路由的下一跳普通节点。
按公式
^ = —(iV乂 ) + (1 - a)e(A^ )
计算前趋邻居节点的路由选择权值,其中,《为设置参数,W,为--个前趋 邻居节点,^为前趋邻居节点气的路由选择权值,^/(W,)为前趋邻居节点气 相对于所有前趋邻居节点的总传输次数倒数归一化值,e(乂)为前趋邻居节点 ^相对于所有前趋邻居节点的剩余能量归一化值;
比较前趋邻居节点的路由选择权值,选择路由选择权值最大的前趋邻居节 点为路由的下一跳普通节点。
在无线传感器网络应用中,普通节点在不同时刻采集到的数据包重要程度 通常有很大的不同。以森林防火为例,当周围环境温度正常时,采集到的温度 数据重要程度较低,在数据转发时可以选择其他不是最可靠的路径,以均衡网
19络负载。而当有火灾发生时,此时采集到的温度数据异常重要,需要最大程度 地保证数据的传输可靠性。本实施例中根据普通节点采集到的数据包重要性不
同,将重要性分为IO个等级,分别对应a值为O. 1, 0.2, 0.3, 04, 0.5, 0.6, 0.7, 0.8, 0.9, 1。在转发数据时可以根据数据包的重要性自适应地调整当前 的a参数,满足实际应用的要求。
如果所有邻居节点距目标节点的距离都比普通节点自身远,则此时网络出 现J路由空洞,路由协议进入空洞环绕模式。在空洞环绕模式中,路由协议将 根据右手规则沿路由边界普通节点传输数据包,直到该数据包抵达比空洞普通 节点距目的节点更近的普通节点为止。
本发明的系统的一个具体实施例中普通节点的结构如图6所示,系统包括 普通节点和发送自身地理位置信息的目的节点,普通节点包括信息发送模块 601、信息接收模块602、节点选择模块603、前趋邻居选择模块604、次数计 算模块605、剩余能量更新模块606和路由选择模块607。
信息发送模块601,用于发送普通节点的地理位置、剩余能量和平均包接 收率信息。
普通节点通过周期发送广播信标帧通告消息。其中平均包接收率信息在普 通节点确定完前趋邻居节点后发送。 平均包接收率按如F公式估算。
二 ^-
其中,P^ '为普通节点J的平均包接收率,,为普通节点j'的一个前趋邻居 节点,n为普通节点y的前趋邻居节点总数,Pi^,力(力为普通节点7到前趋邻 居节点Z的数据包接收率。
本实施例中,普通节点在MAC (Medium Access Control,媒体接入控制) 层设计基于丽E丽A的链路估计器通过给每个数据包编号,根据编号计算累计 发送和接收的数据包比值,通过加权滑动平均窗口计算数据包接收率。其中, 普通节点到前趋邻居节点的数据包接收率由前趋邻居节点测得后,通过广播数 据包通告给当前节点。信息接收模块602,用于接收并获得目的节点的地理位置信息和邻居节点 的地理位置、剩余能量信息和平均包接收率,建立并维持邻居表。
节点选择模块603,用于运用获得的地理位置信息,选择距离目的节点比 自身近的邻居节点作为前趋邻居节点,建立并维持前趋邻居表。前趋邻居表记 录每个前趋邻居节点的信息包括普通节点的位置信息、剩余能量、以及普通节 点到该前趋邻居节点和该前趋邻居节点到普通节点的数据包接收率。 前趋邻居选择模块604包括估计模块和判断模块。 估算模块,用于估算普通节点同每个前趋邻居节点间的数据传输次数。 估算模块获得普通节点到每个前趋邻居节点间的数据包接收率,和每个前 趋邻居节点到普通节点间的数据包接收率;按公式
计算普通节点同每个前趋邻居节点间的数据包传输次数,其中,i 7X(/,/)为数 据包传输次数,/为普通节点,/为一个前趋邻居节点,/^^,^(J)为普通节点/
到前趋邻居节点/间的数据包接收率,Mi^,w)为前趋邻居节点y到普通节点/ 间的数据包接收率。
判断模块,用于判断数据传输次数是否大于设置的门限值,如果大于,则 将数据传输次数对应的前趋邻居节点从前趋邻居表中屏蔽掉。门限值被设置为 确认帧重传次数上限值的平方。
次数计算模块605,用于估算通过每个前趋邻居节点到达目的节点的总传
输次数。
次数计算模块605获得普通节点到每个前趋邻居节点间的数据包接收率, 和每个前趋邻居节点到普通节点间的数据包接收率;
按公式
计算普通节点同每个前趋邻居节点间的数据传输次数,其中,i 7X(/,力为数据 传输次数,/为普通节点,y为一个前趋邻居节点,MiV"(力为普通节点/到前
趋邻居节点y间的数据包接收率,i^i (,力(力为前趋邻居节点y到普通节点/间的数据包接收率; 按公式
<formula>formula see original document page 22</formula>
计算总传输次数,其中,i rx为总传输次数,w邻,力为数据传输次数,^为普
通节点,_/为一个前趋邻居节点,"为目的节点,"w为普通节点/到目的节点
的距离,"w为前趋邻居节点y到目的节点的距离。
剩余能量更新模块606包括侦听模块、消耗能量估算模块和更新模块。 侦听模块,用于侦听邻居节点的数据包,判断数据包的发送者是否为前趋
邻居节点。
消耗能量估算模块,用于在侦听模块侦听到前趋邻居节点发送的数据包 时,估算发送数据包的前趋邻居节点的消耗能量。
消耗能量估算模块判断发送数据包的前趋邻居节点是否为数据包的源节 点,如果是,消耗能量为普通节点发送单位数据包所消耗的能量除以发送数据 包的前趋邻居节点到该普通节点间的数据包接收率的值;否则,消耗能量为普 通节点发送单位数据包所消耗的能量除以发送数据包的前趋邻居节点到该普 通节点间的数据包接收率的值,同普通节点接收单位数据包所消耗的能量除以 发送数据包的前趋邻居节点平均包接收率的值的加和。
更新模块,用于在消耗能量估算模块估算完消耗能量后,将前趋邻居节点 的剩余能量减去消耗能量,以更新前趋邻居节点的剩余能量。
路由选择模块607,用于比较各个前趋邻居节点的总传输次数和剩余能 量,从前趋邻居节点中选择出到达目的节点的路由的下一跳普通节点。
路由选择模块公式
^ = opt/(A^ ) + (1 — a)e(A^)
计算前趋邻居节点的路由选择权值,其中,ct为设置参数,A^为一个前趋 邻居节点,^为前趋邻居节点AO的路由选择权值,/^(气)为前趋邻居节点AO 相对于所有前趋邻居节点的总传输次数倒数归一化值,e(W,)为前趋邻居节点 A^相对于所有前趋邻居节点的剩余能量归一化值;比较前趋邻居节点的路由 选择权值,选择路由选择权值最大的前趋邻居节点为路由的下一跳普通节点。
本发明的仿真效果如图7至9所示。图中LEGR表示本发明。
22实验仿真了 100-400个普通节点随机部署在^0x^0的网络中,普通节点
传输距离固定,定义节点密度为单位传输距离内的节点个数。在实验中分别对
应100到400个普通节点设置了4种节点密度,4、 8、 12、 16。在仿真实验中
将普通节点发送单位数据包所消耗的能量的值分别归一化为1,普通节点接收 单位数据包所消耗的能量归一化为0.375。同时为简单起见,仿真中解数据包 头所消耗的能量忽略不计。每个普通节点的初始能量为IOOOJ。在仿真中目的 节点为基站,随机选取位于网络左下角的普通节点向位于网络右上角的基站定 期发送数据。源数据普通节点产生一个CBR (恒定比特率)数据流,每秒产生 0.5个数据包, 一共发送500秒。仿真平台中有损链路模型的实现方式如下
<formula>formula see original document page 23</formula>
当普通节点间的通信距离小于A处于连通区域时,数据包接收率为
l(PRR(d)=100%)。当普通节点间的通信距离超过D2处于不连通区域,数据包 接收率可视为O(PRR(d)二O)。当普通节点间通信距离位于^与A之间处于传递 区域时,数据包接收率将有变化的平滑下降。[>^=maX{a,min{b,y}},义服从方 差为c2的标准正态分布^ ~ ^G,W 。在仿真实验中,对D' , ^分别取值为A = 10, "2=30, 。=0.3。
不同的节点密度下,本发明同GEAR以及GPSR的数据传输成功率对比效果 如图7所示。0时本转发方法的数据传输成功率最高,而且随着节点密度 的增加,数据传输成功率也在增加。当取值《=0.5本发明选择的路由不总是链 路最好的路由,数据传输成功率相对《=1.0时有所降低。由于本发明估计了有 损链路的影响,因此数据传输成功率相比GPSR和GEAR协议有较大的改善。GPSR 和GEAR协议由于没有考虑有损链路的影响,而仅采用距离贪婪转发策略,因 此其数据传输成功率相对较低。
本发明同GEAR以及GPSR在不同节点密度下的能量效率对比效果如图8 所示。"=1.0时本发明转发方法的效率最高。
本发明同GEAR以及GPSR在不同节点密度下的网络寿命对比效果如图9所示。由于当取值《=0.5时,本发明在路由选择时考虑了负载均衡的影响,因
此其寿命比当取值《=1. 0时提高了 30%-40%。由于GEAR协议在设计时也考虑 了负载均衡的影响,因此网络寿命相对"二l.O时的本发明以及GPSR也有较大
的提高。
本领域的技术人员在不脱离权利要求书确定的本发明的精神和范围的条 件下,还可以对以上内容进行各种各样的修改。因此本发明的范围并不仅限于 以上的说明,而是由权利要求书的范围来确定的。
权利要求
1.一种无线传感器网络数据转发方法,其特征在于,包括步骤1,目的节点发送自身地理位置信息,普通节点发送自身地理位置信息和剩余能量信息;步骤2,所述普通节点接收所述目的节点的地理位置信息和邻居节点的地理位置信息和剩余能量信息;步骤3,所述普通节点依据所述目的节点和邻居节点的地理位置信息,选择距离所述目的节点比自身近的邻居节点作为前趋邻居节点;步骤4,所述普通节点为所述普通节点的每个前趋邻居节点估算以所述前趋邻居节点为路由的下一跳到达所述目的节点时,所述前趋邻居节点对应的总传输次数;步骤5,所述普通节点比较各个所述前趋邻居节点的总传输次数和剩余能量,从中选择出到达所述目的节点的路由的下一跳普通节点。
2. 如权利要求l所述的无线传感器网络数据转发方法,其特征在于, 所述步骤3还包括将所述前趋邻居节点记录到前趋邻居表;所述步骤3和步骤4之间包括歩骤21,估算所述普通节点同每个所述前趋邻居节点间的数据传输次数;歩骤22,判断所述数据传输次数是否大于设置的门限值,如果是,执行步骤23;歩骤23,将所述数据传输次数对应的前趋邻居节点从所述前趋邻居表中 屏蔽掉。
3. 如权利要求2所述的无线传感器网络数据转发方法,其特征在于,所 述门限值为确认帧重传次数上限值的平方。
4. 如权利要求1所述的无线传感器网络数据转发方法,其特征在于,所 述步骤3和所述步骤4之间还包括步骤41,所述普通节点侦听所述邻居节点的数据包,判断所述数据包的 发送者是否为所述前趋邻居节点,如果是,执行步骤42;步骤42,所述普通节点估算发送所述数据包的前趋邻居节点的消耗能量; 步骤43,所述普通节点将所述前趋邻居节点的剩余能量减去所述消耗能量,以更新所述前趋邻居节点的剩余能量。
5. 如权利要求3所述的无线传感器网络数据转发方法,其特征在于,所 述步骤21进一步包括步骤51,接收并获得每个所述前趋邻居节点发送的所述普通节点到所述 前趋邻居节点间的数据包接收率,估算每个所述前趋邻居节点到所述普通节点 间的数据包接收率;步骤52,按公式^X("卜7p。
w、1^。 ^、计算所述普通节点同每个所述前趋邻居节点间的数据传输次数,其中,^x(u)为所述数据传输次数,/为所述普通节点,./为一个所述前趋邻居节点,尸/^,7>(")为所述普通节点到所述前趋邻居节点7'间的数据包接收 率,Pi^,力W)为所述前趋邻居节点7'到所述普通节点间的数据包接收率。
6. 如权利要求4所述的无线传感器网络数据转发方法,,其特征在于,所 述歩骤4进一步包括歩骤61,接收并获得每个所述前趋邻居节点发送的所述普通节点到所述 前趋邻居节点间的数据包接收率,估算每个所述前趋邻居节点到所述普通节点 间的数据包接收率;步骤62,按公式£汉("> pp。 , p^7;计算所述普通节点同每个所述前趋邻居节点间的数据包传输次数,其中,^^(',力为所述数据包传输次数,f为所述普通节点,7为一个所述 前趋邻居节点,Pi i^,)W)为所述普通节点到所述前趋邻居节点y间的数据包接收率,尸;,、,)(力为所述前趋邻居节点7'到所述普通节点间的数据包接收率;步骤63,按公式E7X-^^.五7X(!'J)计算所述总传输次数,《j - "W其中,i rx为所述总传输次数,i 7xa/)为所述数据传输次数,/为所述普 通节点,/为一个所述前趋邻居节点,"为所述目的节点,《^为所述普通节点 到所述目的节点的距离,《"为所述前趋邻居节点7'到所述目的节点的距离。
7. 如权利要求6所述的无线传感器网络数据转发方法,其特征在于,所述方法还包括步骤71,所述普通节点发送自身的平均包接收率信息;步骤72,所述普通节点接收所述邻居节点的平均包接收率信息;所述歩骤42进一步包括步骤73,判断发送所述数据包的前趋邻居节点是否为所述数据包的源节 点,如果是,执行步骤74,否则,执行歩骤75;步骤74,所述消耗能量为普通节点发送单位数据包所消耗的能量除以发 送所述数据包的前趋邻居节点到所述普通节点间的数据包接收率的值;步骤75,所述消耗能量为普通节点发送单位数据包所消耗的能量除以发 送所述数据包的前趋邻居节点到所述普通节点间的数据包接收率的值,同普通 节点接收单位数据包所消耗的能量除以发送所述数据包的前趋邻居节点平均 包接收率的值的加和。
8. 如权利要求1至7任一所述的无线传感器网络数据转发方法,其特征 在于,所述歩骤5进一步包括步骤81,按公式W, =,^气)+ (1- ) )计算所述前趋邻居节点的路由选 择权值,其中,a为设置参数,W,为一个所述前趋邻居节点,^为前趋邻居节点气 的路由选择权值,为前趋邻居节点iV,相对于所有所述前趋邻居节点的 总传输次数倒数归一化值,e(W,)为前趋邻居节点^相对于所有所述前趋邻居 节点的剩余能量归一化值;歩骤82,比较所述前趋邻居节点的路由选择权值,选择所述路由选择权 值最大的前趋邻居节点为所述路由的下一跳普通节点。
9. 一种无线传感器网络数据转发系统,包括普通节点和发送自身地理位 置信息的目的节点,其特征在于,所述普通节点包括信息发送模块,用于发送所述普通节点的地理位置和剩余能量信息; 信息接收模块,用于接收目的节点的地理位置信息和邻居节点的地理位置 和剩余能量信息;节点选择模块,用于依据所述接收的地理位置信息,选择距离所述目的节 点比自身近的邻居节点作为前趋邻居节点;次数计算模块,用于为所述普通节点的每个前趋邻居节点估算以所述前趋邻居节点为路由的下一跳到达所述目的节点时,所述前趋邻居节点对应的总传输次数;路由选择模块,用于比较各个所述前趋邻居节点的总传输次数和剩余能 量,从所述前趋邻居节点中选择出到达所述目的节点的路由的下一跳普通节点。
10. 如权利要求9所述的无线传感器网络数据转发系统,其特征在于, 所述普通节点还包括用于记录前趋邻居节点的前趋邻居表; 所述节点选择模块,还用于在选择出前趋邻居节点后,将所述前趋邻居节点记录到所述前趋邻居表中;所述普通节点还包括前趋邻居选择模块,所述前趋邻居选择模块包括 估算模块,用于估算所述普通节点同每个所述前趋邻居节点间的数据传输次数;判断模块,用于判断所述数据传输次数是否大于设置的门限值,如果大于, 则将所述数据传输次数对应的前趋邻居节点从所述前趋邻居表中屏蔽掉。
11. 如权利要求10所述的无线传感器网络数据转发系统,其特征在于, 所述门限值为确认帧重传次数上限值的平方。
12. 如权利要求9所述的无线传感器网络数据转发系统,其特征在于, 所述普通节点还包括剩余能量更新模块,所述剩余能量更新模块包括 侦听模块,用于侦听所述邻居节点的数据包,判断所述数据包的发送者是否为所述前趋邻居节点;消耗能量估算模块,用于在所述侦听模块侦听到前趋邻居节点发送的数据 包时,估算发送所述数据包的前趋邻居节点的消耗能量;更新模块,用于在所述消耗能量估算模块估算完消耗能量后,将所述前趋 邻居节点的剩余能量减去所述消耗能量,以更新所述前趋邻居节点的剩余能
13. 如权利要求11所述的无线传感器网络数据转发系统,其特征在于, 所述估算模块进一步用于接收并获得每个所述前趋邻居节点发送的所述普通 节点到所述前趋邻居节点间的数据包接收率,估算每个所述前趋邻居节点到所 述普通节点间的数据包接收率;按公式£7X(U) =-^-计算所述普通节点同每个所述前趋邻居节点间的数据包传输次数,其中,£7^0',力为所述数据包传输次数,f为所述普通 节点,^为一个所述前趋邻居节点,i^i (,^(cO为所述普通节点到所述前趋邻居 节点7'间的数据包接收率,为所述前趋邻居节点7'到所述普通节点间 的数据包接收率。
14. 如权利要求12所述的无线传感器网络数据转发系统,其特征在于,所述次数计算模块进一步用于接收并获得每个所述前趋邻居节点发送的 所述普通节点到所述前趋邻居节点间的数据包接收率,估算每个所述前趋邻居 节点到所述普通节点间的数据包接收率;按公式<formula>formula see original document page 6</formula>计算所述普通节点同每个所述前趋邻居节点间的数据传输次数,其中,五7X(U,为所述数据传输次数,,为所述普 通节点,7'为 个所述前趋邻居节点,/^i (,.,)(力为所述普通节点到所述前趋邻 居节点7'间的数据包接收率,为所述前趋邻居节点到所述普通节点 间的数据包接收率;按公式<formula>formula see original document page 6</formula>计算所述总传输次数,'其中,i 7X为所述 总传输次数,E7X(/,力为所述数据传输次数,/为所述普通节点,7'为一个所述 前趋邻居节点,"为所述目的节点,《^为所述普通节点到所述目的节点的距 离,《"为所述前趋邻居节点7'到所述目的节点的距离。
15. 如权利要求14所述的无线传感器网络数据转发系统,其特征在于, 所述信息发送模块,还用于发送所述普通节点的平均包接收率信息; 所述信息接收模块,还用于接收所述邻居节点的平均包接收率信息; 所述消耗能量估算模块进一步用于判断发送所述数据包的前趋邻居节点是否为所述数据包的源节点,如果是,所述消耗能量为普通节点发送单位数据 包所消耗的能量除以发送所述数据包的前趋邻居节点到所述普通节点间的数 据包接收率的值;否则,所述消耗能量为普通节点发送单位数据包所消耗的能 量除以发送所述数据包的前趋邻居节点到所述普通节点间的数据包接收率的 值,同普通节点接收单位数据包所消耗的能量除以发送所述数据包的前趋邻居 节点平均包接收率的值的加和。
16. 如权利要求9至15任一所述的无线传感器网络数据转发系统,其特征在于,所述路由选择模块进一步用于按公式^ ^c^^(气)+ (l-a)e(iV》计算所 述前趋邻居节点的路由选择权值,其中,a为设置参数,A^为一个所述前趋邻 居节点,^为前趋邻居节点仏的路由选择权值,一(A^)为前趋邻居节点W,相 对于所有所述前趋邻居节点的总传输次数倒数归一化值,e(W,)为前趋邻居节 点气相对于所有所述前趋邻居节点的剩余能量归一化值;比较所述前趋邻居 节点的路由选择权值,选择所述路由选择权值最大的前趋邻居节点为所述路由 的下一跳普通节点。
全文摘要
本发明涉及无线传感器网络数据转发方法和系统。该方法包括步骤1,目的节点发送自身地理位置信息,普通节点发送自身地理位置和剩余能量信息;步骤2,该普通节点接收所述目的节点的地理位置信息和邻居节点的地理位置和剩余能量信息;步骤3,该普通节点依据所述目的节点和邻居节点的地理位置信息,选择距离所述目的节点比自身近的邻居节点作为前趋邻居节点;步骤4,该普通节点估算以各个所述前趋邻居节点为下一跳到达所述目的节点的总传输次数;步骤5,该普通节点比较各个所述前趋邻居节点的总传输次数和剩余能量,从中选择出到达所述目的节点的路由的下一跳普通节点。本发明能够在保证数据可靠传输的同时,进行负载均衡,提高能量使用效率。
文档编号H04L12/56GK101645829SQ200810118219
公开日2010年2月10日 申请日期2008年8月7日 优先权日2008年8月7日
发明者徐勇军, 朱红松, 李晓维, 磊 赵 申请人:中国科学院计算技术研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1