提高Mesh网络可靠性的系统及方法

文档序号:7869679阅读:311来源:国知局
专利名称:提高Mesh网络可靠性的系统及方法
技术领域
本发明涉及Mesh网络,更具体地说,涉及一种提高Mesh网络可靠性的系统及方法。
背景技术
AODV-UU模块是一个基于Linux平台的使用C语言开发的开源软件,其工作于Ad-hoc模式,并通过“按需距离向量路由算法”构建Mesh网络。因其开源特性,AODV-UU模块是一个构建商用化Mesh网络的良好基础。假设有A,B,C三个站分布成一条直线,B位于A和C之间,具体如图1所示。进一步假设,A和B之间可以保持相对可靠的直接连接,B和C之间也可以保持相对可靠的直接连接,A和C之间能进行直接连接,但会频繁掉线。按照开源AODV-UU模块所采用的“距离向量路由算法”,当A和C要建立连接时,会在A和C可以建立直接连接的时候产生“A-C”这条0跳路由;当直接连接掉线时,则为A和C产生“A-B-C”这条I跳路由;当六和C恢复直接连接能力时,“A-B-C”这条I跳路由又会被替换回“A-C”这条0跳路由,因为AODV-UU模块认为它的“距离”更短,是一条“更佳”的路由。上面这种过程会伴随A和C之间直接连接的频繁掉线而频繁产生。对应用层数据而言,上述现象可能会导致数据丢失或重传。因此这种频繁切换的路由所构建的网络是不可靠的,直接的代价就是数据传输效率的丧失。尤其是随着Mesh网络半径的增大,这种为数众多的“局部扰乱”将导致整个Mesh网络的吞吐率低下,甚至直接导致Mesh网络无法正常工作
发明内容
`本发明要解决的技术问题在于,针对上述Mesh网络可靠性较差的问题,提供一种提高Mesh网络可靠性的系统及方法。本发明解决上述技术问题的技术方案是,提供一种提高Mesh网络可靠性的系统,所述Mesh网络通过AODV-UU模块构建并包括多个站点,每一站点包括连接时间计算单元、相邻站点判断单元、相邻站点存储单元以及报文发送单元,其中所述连接时间计算单元,用于计算并记录当前站点的各个相邻站点的平均连接时间;所述相邻站点判断单元,用于将首次连接且尚未掉线的相邻站点及平均连接时间大于参照连接时间的相邻站点添加到相邻站点存储单元;所述报文发送单元,用于在发送或转发路由请求报文时,选择所述相邻站点存储单元中的站点发送。在本发明所述的提高Mesh网络可靠性的系统中,所述报文发送单元在发送或转发路由响应报文时,选择来自所述相邻站点存储单元中的站点的路由响应报文发送。在本发明所述的提高Mesh网络可靠性的系统中,所述连接时间计算单元计算获得的平均连接时间为当前站点与相邻站点最近N次连接时间的平均值,其中所述N为大于2的整数,一次连接时间为从标志本次连接开始的第一个Hello消息到来开始、直到首次出现超过ALLOWED_HELLO_LOSS个Hello消息丢失为止所用的时间。在本发明所述的提高Mesh网络可靠性的系统中,所述连接时间计算单元在当前站点运行过程中实时计算并记录当前站点与相邻站点存储单元中的每一相邻站点新连接建立的时间以及当前站点与该相邻站点的平均连接时间。在本发明所述的提高Mesh网络可靠性的系统中,所述相邻站点判断单元使用的参照连接时间为9秒。本发明还提供一种提高Mesh网络可靠性的方法,所述Mesh网络通过AODV-UU模块构建并包括多个站点,每一站点执行以下步骤(a)计算并记录当前站点的各个相邻站点的平均连接时间;(b)将首次连接且尚未掉线的相邻站点及平均连接时间大于参照连接时间的相邻站点添加到相邻站点存储单元;(C)在发送或转发路由请求报文时,选择所述相邻站点存储单元中的站点发送。在本发明所述的 提高Mesh网络可靠性的方法中,所述步骤(b)之后包括在发送或转发路由响应报文时,选择来自所述相邻站点存储单元中的站点的路由响应报文发送。在本发明所述的提高Mesh网络可靠性的方法中,所述平均连接时间为当前站点与相邻站点最近N次连接时间的平均值,其中所述N为大于2的整数,一次连接时间为从标志本次连接开始的第一个HelIo消息到来开始、直到首次出现超过ALL0WED_HELL0_L0SS个Hello消息丢失为止所用的时间。在本发明所述的提高Mesh网络可靠性的方法中,所述步骤(a)之后包括实时计算并记录当前站点与相邻站点存储单元中的每一相邻站点新连接建立的时间以及当前站点与该相邻站点的平均连接时间。在本发明所述的提高Mesh网络可靠性的方法中,所述参照连接时间为9秒。本发明的提高Mesh网络可靠性的系统及方法,通过选择符合要求的相邻站点发送路由请求报文,可辅助AODV-UU模块剔除频繁掉线的相邻站点,显著提高Mesh网络的可靠性。


图1是Mesh网络中的站点示意图。图2是本发明提高Mesh网络可靠性的系统实施例的示意图。图3是本发明提高Mesh网络可靠性的方法实施例的流程示意图。
具体实施例方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。如图2所示,是本发明提高Mesh网络可靠性的系统实施例的示意图,该Mesh网络通过AODV-UU模块构建并包括多个站点。在本实施例中,Mesh网络中的每一站点包括连接时间计算单元21、相邻站点判断单元22、相邻站点存储单元23以及报文发送单元24,其中连接时间计算单元21、相邻站点判断单元22、相邻站点存储单元23以及报文发送单元24集成到站点的硬件中并结合相应的软件实现。连接时间计算单元21用于计算并记录当前站点的各个相邻站点的平均连接时间。上述当前站点(即连接时间计算单元21所在站点)与相邻站点的平均连接时间是通过计算当前站点与该相邻站点最近N次(N为大于2的整数)连接时间的平均值得到。其中一次连接引用了 AODV-UU模块所采用的定义,即从标志本次连接开始的第一个Hello消息到来开始,直到首次出现超过ALL0WED_HELL0_L0SS个Hello消息丢失为止。而一次连接时间是指从标志本次连接开始的第一个Hello消息到来开始、直到首次出现超过ALL0WED_HELL0_L0SS个Hello消息丢失为止所经过的时间。相邻站点判断单元22用于将首次连接且尚未掉线的相邻站点及平均连接时间大于参照连接时间的相邻站点添加到相邻·站点存储单元。本实施例中,相邻站点是否可靠的评判标准主要包括符合以下两个条件之一首次连接且尚未掉线的相邻站点;平均连接时间大于参照连接时间的相邻站点。上述参照连接时间可以根据对Mesh网络可靠性要求的高低确定,通常参照连接时间越大,其构建的Mesh网络相对越稳定,但Mesh网络站点之间的距离要求越近。可以将参照连接时间作为配置参数在加载AODV-UU模块时完成配置,建议的经验值是9秒。相邻站点存储单元23用于存储多个相邻站点。每一站点的相邻站点存储单元23中存储有可与该站点可靠连接的所有相邻站点。上述相邻站点存储单元23在站点运行过程中即时更新。报文发送单元24用于在发送或转发路由请求报文时,选择相邻站点存储单元23中的站点发送。例如,在AODV-UU模块的rreq_Send()函数内部,路由请求报文(RREQ)不再发往A0DV_BR0ADCAST地址,转而发往相邻站点存储单元23中的每一个站点的地址;在rreq_forward()函数内部,路由请求报文不再发往A0DV_BR0ADCAST地址,转而发往相邻站点存储单元23中的站点的地址。 此外,在发送或转发路由响应报文(RREP )时,报文发送单元24选择来自相邻站点存储单元23中的站点的路由响应报文发送。例如,在rrep_send()函数内部,路由响应报文仅在评判下一跳为可靠的相邻站点(即该相邻站点位于相邻站点存储单元23中)时才回复;在1^印_作1^&1'(1()函数内部,路由响应报文仅仅在评判下一跳为可靠的相邻站点时才转发。为保证Mesh网络的持续的可靠性,连接时间计算单元21在当前站点运行过程中,实时计算并更新当前站点与相邻站点存储单元23中的每一相邻站点新连接建立的时间(例如通过nl_send_add_route_msg()函数)以及当前站点与该相邻站点的平均连接时间(例如通过 neighbor_link_break()函数)。如图3所示,是本发明提高Mesh网络可靠性的方法实施例的流程示意图,其中Mesh网络通过AODV-UU模块构建并包括多个站点,每一站点执行以下操作步骤S31 :计算并记录当前站点的各个相邻站点的平均连接时间。该当前站点与相邻站点的平均连接时间是通过计算当前站点与该相邻站点最近N次(N为大于2的整数)连接时间的平均值得到。其中一次连接为从标志本次连接开始的第一个Hello消息到来开始,直到首次出现超过ALL0WED_HELL0_L0SS个Hello消息丢失为止。而一次连接时间是指从标志本次连接开始的第一个Hello消息到来开始、直到首次出现超过ALL0WED_HELL0_LOSS个Hello消息丢失为止所经过的时间。当前站点还实时计算并记录当前站点与相邻站点存储单元中的每一相邻站点新连接建立的时间以及当前站点与该相邻站点的平均连接时间。步骤S32 :将首次连接且尚未掉线的相邻站点及平均连接时间大于参照连接时间的相邻站点添加到相邻站点存储单元。上述参照连接时间可以根据对Mesh网络可靠性要求的高低确定,通常参照连接时间越大,其构建的Mesh网络相对越稳定,但Mesh网络站点之间的距离要求越近。通常可将该参照连接时间设置为9秒。步骤S33 :在发送或转发路由请求报文时,选择相邻站点存储单元中的站点发送。即仅向可与当前站点建立可靠连接的相邻站点发送或转发路由请求报文。并且,在发送或转发路由响应报文时,也可选择来自相邻站点存储单元中的站点发送,即仅在当前站点的下一跳可与当前站点建立可靠连接时,才发送或转发路由响应报文。以上所述,仅为本发明较佳的具体实施方式
,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范 围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
权利要求
1.一种提高Mesh网络可靠性的系统,所述Mesh网络通过AODV-UU模块构建并包括多个站点,其特征在于每一站点包括连接时间计算单元、相邻站点判断单元、相邻站点存储单元以及报文发送单元,其中所述连接时间计算单元,用于计算并记录当前站点的各个相邻站点的平均连接时间;所述相邻站点判断单元,用于将首次连接且尚未掉线的相邻站点及平均连接时间大于参照连接时间的相邻站点添加到相邻站点存储单元;所述报文发送单元,用于在发送或转发路由请求报文时,选择所述相邻站点存储单元中的站点发送。
2.根据权利要求1所述的提高Mesh网络可靠性的系统,其特征在于所述报文发送单元在发送或转发路由响应报文时,选择来自所述相邻站点存储单元中的站点的路由响应报文发送。
3.根据权利要求1所述的提高Mesh网络可靠性的系统,其特征在于所述连接时间计算单元计算获得的平均连接时间为当前站点与相邻站点最近N次连接时间的平均值,其中所述N为大于2的整数,一次连接时间为从标志本次连接开始的第一个Hello消息到来开始、直到首次出现超过ALL0WED_HELL0_L0SS个Hello消息丢失为止所用的时间。
4.根据权利要求1所述的提高Mesh网络可靠性的系统,其特征在于所述连接时间计算单元在当前站点运行过程中实时计算并记录当前站点与相邻站点存储单元中的每一相邻站点新连接建立的时间以及当前站点与该相邻站点的平均连接时间。
5.根据权利要求1所述的提高Mesh网络可靠性的系统,其特征在于所述相邻站点判断单元使用的参照连接时间为9秒。
6.一种提高Mesh网络可靠性的方法,所述Mesh网络通过AODV-UU模块构建并包括多个站点,其特征在于每一站点执行以下步骤 (a)计算并记录当前站点的各个相邻站点的平均连接时间; (b)将首次连接且尚未掉线的相邻站点及平均连接时间大于参照连接时间的相邻站点添加到相邻站点存储单元; (C)在发送或转发路由请求报文时,选择所述相邻站点存储单元中的站点发送。
7.根据权利要求6所述的提高Mesh网络可靠性的方法,其特征在于所述步骤(b)之后包括在发送或转发路由响应报文时,选择来自所述相邻站点存储单元中的站点的路由响应报文发送。
8.根据权利要求6所述的提高Mesh网络可靠性的方法,其特征在于所述平均连接时间为当前站点与相邻站点最近N次连接时间的平均值,其中所述N为大于2的整数,一次连接时间为从标志本次连接开始的第一个Hello消息到来开始、直到首次出现超过ALL0WED_HELL0_L0SS个Hello消息丢失为止所用的时间。
9.根据权利要求8所述的提高Mesh网络可靠性的方法,其特征在于所述步骤(a)之后包括实时计算并记录当前站点与相邻站点存储单元中的每一相邻站点新连接建立的时间以及当前站点与该相邻站点的平均连接时间。
10.根据权利要求6所述的提高Mesh网络可靠性的方法,其特征在于所述参照连接时间为9秒。
全文摘要
本发明提供了一种提高Mesh网络可靠性的系统,所述Mesh网络通过AODV-UU模块构建并包括多个站点,每一站点包括连接时间计算单元、相邻站点判断单元、相邻站点存储单元以及报文发送单元,其中所述连接时间计算单元,用于计算并记录当前站点的各个相邻站点的平均连接时间;所述相邻站点判断单元,用于将首次连接且尚未掉线的相邻站点及平均连接时间大于参照连接时间的相邻站点添加到相邻站点存储单元;所述报文发送单元,用于在发送或转发路由请求报文时,选择所述相邻站点存储单元中的站点发送。本发明还提供一种对应的方法。本发明通过选择符合要求的相邻站点发送路由请求报文,可显著提高Mesh网络的可靠性。
文档编号H04L1/00GK103067126SQ20121056281
公开日2013年4月24日 申请日期2012年12月21日 优先权日2012年12月21日
发明者丘锋伟 申请人:深圳市汇川控制技术有限公司, 深圳市汇川技术股份有限公司, 苏州汇川技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1