一种改善无线自组网中节点路由表跳变的方法与流程

文档序号:14360200阅读:358来源:国知局

本发明涉及集群通信领域,尤其涉及一种改善无线自组网中节点路由表跳变的方法。



背景技术:

无线自组织网络(mobileadhocnetwork,manet)是由多个节点以无线的方式组成的多跳自组织网络。在此网络中,各节点既作为通信的终端,同时又具备路由的功能。当网络中两个终端不能直接进行通信时,可以通过中间节点的转发,以多跳的方式将数据由源节点传输给目的节点。

最优链路状态路由(optimizedlinkstaterouting,olsr)协议是manet网络中的经典路由协议,属于主动式路由。olsr协议中节点需要周期性地广播路由控制消息(包含hello消息与tc消息),以便其它节点获知网络中各节点的邻接状况,从而计算并更新路由表。具体来讲:节点通过读取hello消息发现其一跳邻居节点及对应的链路质量,然后将此信息通过tc消息广播出去;其它节点收集网络中各节点的tc消息,解析出网络中各节点之间的邻接状况,进而计算出路由表。

在实际应用中,manet网络中节点之间的链路质量多采用无线信号强度的数据(receivedsignalstrengthindication,rssi)来标识。然而,由于应用环境的地形、节点的移动、无线信号传输链路的不对称,以及频带干扰等因素的影响,节点间的rssi值会很不稳定,造成计算出来的路由表发生频繁跳变的现象。



技术实现要素:

为了解决背景技术的rssi值不稳定造成路由表频繁跳变的问题,本发明提出一种改善无线自组网中节点路由表跳变的方法,该方法采用以下三种处理方式中的任意一种或任意组合:

方式一,对一跳邻居节点的rssi值进行平滑处理;

方式二,对节点间双向链路的rssi值进行合并处理;

方式三,当节点间链路质量的相关信息与设置的基准数据的偏差统计超出阈值时才更新路由表,所述相关信息包括:对应时间、有效节点、有效链路、rssi值。

优选的,上述方式一的平滑处理采用的平滑算法包括:均值滤波、中值滤波、最小均方差滤波、一阶低通滤波。平滑参数可以为固定值,也可以随平滑计算过程而变化。

优选的,上述方式二的合并处理具体包括:当节点间双向链路的rssi值不相同时,采用整合算法将二者归并成统一的值。整合算法可以是加权平均法,也可以是最小值法。

优选的,上述相关信息与设置的基准数据的偏差统计超出阈值可以是以下情况中的任意一种或任意组合:

当前时间距离初始时间或上一次路由表更新时间的时差超出阈值一;

当前时间距离初始时间或上一次路由表更新时间的时差低于阈值一,但当前有效节点与基准有效节点的个数不同;

当前时间距离初始时间或上一次路由表更新时间的时差低于阈值一,且当前有效节点与基准有效节点的个数相同,但当前有效链路与基准有效链路的个数不同;

当前时间距离初始时间或上一次路由表更新时间的时差低于阈值一,当前有效节点与基准有效节点的个数相同,且当前有效链路与基准有效链路的个数相同,但某两个节点间的链路的当前rssi值与上一次rssi值的差值超过阈值二;

当前时间距离初始时间或上一次路由表更新时间的时差低于阈值一,当前有效节点与基准有效节点的个数相同,当前有效链路与基准有效链路的个数相同,且不存在某两个节点间的链路的当前rssi值与上一次rssi值的差值超过阈值二,但各节点间的链路rssi值与上一次rssi值的差值的总和超过阈值三。阈值三可以是固定值,也可以与当前有效节点或当前有效链路的个数相关。

本发明具有如下优点:1,对节点间rssi值的平滑处理,使得由于节点的移动或者地形的变化造成的链路rssi值跳变时,不会对整体的路由表计算结果造成过大的影响。2,对节点间双向链路rssi值的合并处理,使得当无线信号传输链路不对称的情况下,能够将某两个节点间的rssi值合并成同一个数值,从而保证各节点计算出来的路由表的一致性,有效减少了由于双向链路不对称导致的路由表频繁跳变的可能。3,设定基准数据,当节点间rssi值的变化超过某个阈值才会更新路由表的做法,进一步有效改善由于各种因素导致的路由表跳变的现象。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本实施例的rssi值的平滑处理的流程图;

图2是本实施例的基于基准数据的路由表更新策略的流程图;

图3是本发明实施例的manet网络的平滑处理后的链路质量示意图;

图4是本发明实施例的manet网络的合并处理后的链路质量示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例;需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明提供一种改善manet网络中节点路由表频繁跳变的方法,该方法包括三部分内容:对一跳邻居节点的rssi值进行平滑处理;对节点间双向链路的rssi值进行整合合并处理;设定基准数据,当节点间链路质量的相关信息与基准数据的偏差统计超出阈值后更新路由表。此三部分优化策略可以各自单独使用,也可以两两结合使用,也可以一起使用。下面举例对此三部分内容的实现做出详细说明。

一、rssi值的平滑处理

本实施例中,manet网络中各节点每隔时间thello定时广播hello消息,其它节点仅记录一跳范围内的邻居节点的身份标识nodeid及其对应的链路质量linkpower,处理过程如图1所示:

节点收到一跳邻居节点hello广播集合后,判断平滑参数filterpara集合中是否存在有效记录。如果存在,则逐条提取filterpara集合中的nodeidi,在hello集合中查询是否存在nodeidi的记录,如果不存在,则说明此记录已经过时,nodeidi节点已经不是当前节点的一跳邻居节点,遂将其从filterpara集合中删除。这里,平滑参数filterpara集合用于保存需要进行平滑处理的邻居节点的记录,hello集合用于保存收到hello消息的邻居节点的记录。

将filterpara集合中过时的参数记录全部删除后,依次提取出hello集合中的记录nodeidj。如果nodeidj不在filterpara集合中,则将nodeidj对应的linkpowerj记录在linkpower集合中,并为nodeidj初始化平滑参数filterparaj,保存在filterpara集合中;如果nodeidj在filterpara集合中,则应用filterpara集合中nodeidj对应的平滑参数filterparaj对linkpowerj进行powerfilter计算,并将计算得到的结果linkpowerj保存在linkpower集合中,同时更新filterparaj参数。

其中,powerfilter算法不限定于均值滤波、中值滤波、最小均方差滤波、一阶低通滤波等算法以及其变化、演进的版本。此外,filterpara参数可以是固定值,或者随平滑计算的过程而发生变化。

二、双向链路rssi值的整合

为了保证manet网络中各节点计算得到的路由拓扑结构的一致性,当节点间双向链路的rssi值不相同时,即nodeidi收到nodeidj的链路质量linkpoweri-j与nodeidj收到nodeidi的链路质量linkpowerj-i不相同时,需要通过一定的算法将二者整合归并成统一的值。整合方法有以下几种:

加权平均法:视不同的应用场景,可根据nodeid的属性,如优先级、同步跳数、节点类型等信息赋予其相应的权重α、β,整合计算得到linkpowerk,如下所示:

当α=β=0.5时,即对双向链路rssi值进行算术平均整合,可视为加权平均法的一种特例。

最小值法:将双向链路rssi中较差的值作为整合后的结果,用以标识nodeidi与nodeidj之间的链路质量。在双向数据业务并发的情形下,此方法能够简单有效地选择一条更适合双方的路径进行数据传输。

三、基于基准数据的路由表更新策略

通过上述rssi值的平滑处理、双向链路rssi的整合两种途径,能够有效改善manet网络中节点路由表频繁跳变的现象。但是,无线链路随应用环境的地形、节点的移动等因素的影响,很难达到稳定的状态,根据实时得到的rssi数据计算很难得到稳定的路由表,因此需要进一步采用某种策略防止路由表的频繁变化。

基于基准数据的路由表更新策略的步骤:初始化manet网络中节点间链路质量集合linkpower与链路质量基准集合linkpowerb;通过hello消息及tc消息得到的实时链路质量数据记录于linkpower集合中;采用某种比较策略将集合linkpower与linkpowerb中的记录做比对,如果两者之间的差别超出某个阈值门限时,才会更新路由表,否则不更新路由表;更新路由表的同时,将集合linkpower中的记录覆盖到集合linkpowerb中。处理过程如图2所示。

集合linkpower与linkpowerb中记录的比较策略有如下几种:

如果此时距离初始时间或上一次路由表更新时间的时差超出阈值th1,则认为偏差超出门限。

如果此时距离初始时间或上一次路由表更新时间的时差低于阈值th1,而linkpower与linkpowerb中的有效节点的个数不同,则认为偏差超出门限。

如果此时距离初始时间或上一次路由表更新时间的时差低于阈值th1,且linkpower与linkpowerb中的有效节点的个数相同,而linkpower与linkpowerb中的有效链路的个数不同,则认为偏差超出门限。

如果此时距离初始时间或上一次路由表更新时间的时差低于阈值th1,且linkpower与linkpowerb中的有效节点个数、有效链路个数均相同,而存在某两个节点间链路前后两次rssi值的差值超过阈值th2时,则认为偏差超出门限。

如果此时距离初始时间或上一次路由表更新时刻的时差低于阈值th1,且linkpower与linkpowerb中的有效节点个数、有效链路个数均相同,且不存在某两个节点间链路前后两次rssi值的差值超过阈值th2,而各节点间链路前后两次rssi值的差值的总和超过阈值th3时,则认为偏差超出门限。th3可以设置为固定值,也可以与linkpower集合中有效节点个数或有效链路个数相关,随linkpower集合中有效节点个数或有效链路个数的变化而变化。

如果此时距离初始时间或上一次路由表更新时刻的时差低于阈值th1,且linkpower与linkpowerb中的有效节点个数、有效链路个数均相同,且不存在某两个节点间链路前后两次rssi值的差值超过阈值th2,且各节点间链路前后两次rssi值的差值的总和低于阈值th3,则认为偏差不超出门限。

在实际应用中,上述集合linkpower与linkpowerb中记录的比较策略可以是单独的某一项或者某几项结合使用。

本实施例假设manet网络中有node0、node1、node2、node3、node4共5个节点,彼此之间两两相邻,链路质量如图3中标注,单位dbm。

以node0为例,node0能收到node1、node4的hello消息,即node1、node4为node0的一跳邻居节点。node0采用最小均方差滤波算法分别对接收到的node1、node4的链路质量rssi值进行平滑处理,得到结果-70dbm、-30dbm。同理,其它节点亦采用最小均方差滤波算法对其一跳邻居节点的rssi值进行平滑处理,得到的结果如图3中所标注。

各节点定时广播发送tc消息,同时接收其它节点的tc消息。这样,每个节点能够获知网络中各节点间的相邻关系及其对应的链路质量。应用最小值法对双向链路rssi进行整合计算,即以双向链路rssi值中较差的值来标识此双向链路,计算后的结果如图4所示。

初始化链路质量集合linkpower与链路质量基准集合linkpowerb,并将图4中所示的节点间邻接关系及其对应的链路质量记录于linkpower集合中。路由表更新策略采用周期更新与其它多种比较更新方法相结合的方式:

路由表更新周期间隔th1设置为60秒,即每隔60秒路由表更新一次;

周期更新的间隔中,每隔3秒比较一次集合linkpower与linkpowerb中的记录:如果有效节点个数或有效链路个数不同,则更新路由表;th2设置为20db,即如果存在某条链路rssi值变化超出20db,则更新路由表;th3设置为n*3db,其中n为有效链路的个数,即每条链路的平均变化超出3db,则更新路由表。更新路由表时,将集合linkpower的记录更新到linkpowerb中。如果上述条件均不满足,则判定偏差未超出门限,继续收集并记录网络中各节点间的相邻关系及其对应的链路质量,为下一次的比较更新操作做准备。

本实施例在manet网络应用环境发生地形变化、节点移动、无线传输链路不对称以及频带干扰等情况时,能够保证路由表比较平稳的变动,有效改善了网络中节点路由表频繁跳变的现象。

本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1