一种基于历史信息的方向性天线自适应邻居发现的方法与流程

文档序号:15402676发布日期:2018-09-11 17:55阅读:166来源:国知局

本发明涉及移动自组网的邻居发现领域,具体是一种基于历史信息的方向性天线自适应邻居发现的方法。



背景技术:

方向性天线是指在某一个或某几个方向上发射及接收电磁波特别强而其他方向发射或接收能力极弱的一种天线。方向性天线的应用,可以在以下方面显著提高通信系统的性能:①扩大节点通信范围;②提高频谱利用率;③提高系统安全性和抗干扰性;④减少信息转发次数,提高系统效率;⑤增加系统容量。

伴随着引入方向性天线带来的潜在的性能提升,方向性天线的部署也带来了诸如邻居发现、网络频繁中断、拓扑状态不稳定等严峻的挑战。在基于方向性天线的系统中,两个在通信范围内的节点只有天线方向相对,且互为收发模式才可以完成一次信息传递。在一个分布式无线移动网络中,邻居发现是两个节点之间建立连接的关键初始步骤,邻居发现算法的优劣,直接影响着接入控制协议、路由协议的选择,甚至影响了整个网络的性能。

纯方向性天线的邻居发现算法主要可以分为两大类:确定性算法与随机发现算法;前者能保证时延上限但平均性能较差,后者不需要时间同步且鲁棒性更强,但在一些特殊情形下发现时延极长。

然而,现有的大多数邻居发现算法均未考虑到网络的拓扑结构变化带来的影响。在节点并非统一部署且节点的移动并不是完全随机的情况下,简单的邻居发现算法无法满足性能需求。



技术实现要素:

本发明针对上述问题,在随机发现算法的基础上,将天线在某一扇区停留的时间与一段时间内扇区所接受消息的频率结合,也就是将天线的扇区选择与网络拓扑变化结合,提出了一种基于历史信息的方向性天线自适应邻居发现的方法;在节点分布具有地域性、集群性的无线移动网络中,提高邻居发现的性能。

所述的基于历史信息的方向性天线自适应邻居发现的方法,具体步骤如下:

步骤一、针对节点分布具有地域性与集群性的无线移动网络中,每个节点各配置一个方向性天线;

步骤二、针对节点i,以节点i为圆心,天线通信范围r为半径,将该节点i的圆周平均分成ni个扇区;

扇区的编号为从0到ni-1;

步骤三、针对初始监视周期m,每个节点随机选择各自的天线所指向的扇区;

监视周期m是指:在算法前期收集每个节点周围网络拓扑信息需要的时间段。

节点i配置的方向性天线指向每个扇区的概率相等,均为1/ni;初始阶段,节点i配置的方向性天线所指的扇区记为si;

步骤四、针对节点i,计算初始监视周期该节点配置的方向性天线在每个扇区停留的时间

t为配置的方向性天线遍历ni个扇区一次需要的时间。由此可知,初始阶段,节点i的方向性天线在每个扇区的停留时间相同。

步骤五、在停留时间内,节点i周期性的在发送时隙内广播hello包消息,发送完成之后节点i立即转入接收状态进行侦听;

时隙以τ为单位,是指保证hello包消息广播到所有邻居节点的最长时间,将发送消息所用的时隙τ称作发送时隙,发送消息完成之后该节点立即转入接收状态,接收状态持续多个时隙,称作侦听时隙;

hello包消息的帧结构包括:发送此包的节点id,包的类型,节点发送此消息时所用的扇区以及跳转到下一个扇区的剩余时间;

步骤六、节点i监听到来自其他节点广播的hello消息后,则更新自身维护的“邻节点列表”并按规则回复响应包,完成互相发现;

当节点i收到来自节点j的hello包消息后,首先,节点i利用hello包中的消息更新邻节点列表;

邻节点列表的每一个条目均包含以下信息:①邻节点id;②邻节点发送时所用的扇区编号;③邻节点在发送扇区停留的剩余时间;④接收扇区信息;⑤时间戳。

然后,判断节点i的邻节点列表中是否保存有节点j的信息,且信息有效;如果是,表示节点i和节点j已完成互相发现,则不做回应;否则,节点j的hello包消息是节点i的邻节点表中的新消息,节点i经随机时间ε后,回复一个响应包;

ε小于hello包中的扇区剩余停留时间,以免节点j更换扇区造成丢包。

响应包结构与hello包结构相同,仅类型不同。

步骤七、根据初始监视周期中节点i发现的“邻节点列表”,计算该节点在第二个监视周期m中,方向性天线在每个扇区停留的时间;

首先,计算节点i的方向性天线在每个扇区的周期占比

周期占比表示下一次天线对准扇区si时,在该扇区停留的时间所占一个遍历周期的比例;li表示节点i所有已发现的邻居节点的集合;表示扇区si收到的来自邻居节点k的消息次数;是节点i配置的方向性天线所指的扇区si组成的集合;

然后,利用周期占比分别调整方向性天线在每个扇区的具体停留时间;

步骤八、根据第二个监视周期m中节点i的方向性天线在每个扇区的停留时间,节点i广播hello包消息,并更新自身维护的“邻节点列表”发现;

步骤九、从第三个监视周期m开始,根据上一个监视周期m节点i更新的“邻节点列表”发现,该节点每隔m时间对方向性天线在各扇区不同的停留时间进行微调;

具体步骤如下:

步骤901、计算节点i在扇区si接收消息的速率反映该节点周围网络拓扑环境的变化;

速率在每个周期m开始时计算,且在该周期内为常量;表示节点i的扇区si收到的消息总数,为周期占比的分子;

步骤902、针对某时刻,计算该时刻之前m时间之内的消息接收速率的瞬时速率

步骤903、判断瞬时速率是否约等于平均速率,如果是,则表示网络拓扑结构变化较小,不对时间进行调整;否则,进入步骤904;

步骤904、当节点i的周围网络环境有所变化,调整方向性天线在不同扇区所停留的时间,直到新的m周期开始,确定扇区停留时间。

表示节点i的方向性天线在m扇区的瞬时速率,表示节点i方向性天线在m扇区的时间占比;m,n分别是节点i的两个不同扇区;ei表示整个节点i收到的消息总数,为周期占比的分母。

步骤十、节点i在当前监视周期m中,根据方向性天线在每个扇区的停留时间,广播hello包消息,并更新自身维护的“邻节点列表”发现。

本发明的优点在于:

1)、一种基于历史信息的方向性天线自适应邻居发现的方法,初期使用纯随机的扇区选择方式,避免了一些特殊情况造成的节点仅指向某一或某几个扇区的情况。

2)、一种基于历史信息的方向性天线自适应邻居发现的方法,对网络中的拓扑变化足够敏感。

3)、一种基于历史信息的方向性天线自适应邻居发现的方法,利用邻节点列表中的历史信息判断网络拓扑结构变化,及时调整扇区选择概率,减少特定环境下方向性天线在某些没有邻节节点的扇区停留造成扫描时间的浪费。

4)、一种基于历史信息的方向性天线自适应邻居发现的方法,将扇区选择与节点周围拓扑关系相结合,能够针对节点的相对移动做出调整,适应各种情况。

附图说明

图1是本发明无线移动网络中采用的网络节点分布示意图;

图2是本发明基于历史信息的方向性天线自适应邻居发现的方法流程图;

图3是本发明从第三个监视周期m开始,对天线在各扇区的停留时间做出调整的流程图。

图4是本发明hello包的帧结构示意图;

图5是本发明节点通信模型的收发模式转换示意图;

图6是本发明节点自身维护的邻节点列表包含的信息示意图;

图7是本发明节点密度极低时与随机算法的性能比较示意图;

图8是本发明节点密度低时与随机算法的性能比较示意图;

图9是本发明节点密度高时与随机算法的性能比较示意图;

具体实施方式

下面结合附图对本发明的具体实施方法进行详细说明。

本发明是针对使用方向性天线的节点活动范围有限的自组织网络中,节点之间进行邻居发现的方法;首先,当节点i收到来自节点j的hello消息,则认定为节点j是节点i的已发现邻居;然后通过设计新的用于广播的hello消息帧结构,与之相配合还设计了新的由每个节点各自维护的邻节点表结构;

在邻居发现过程开始之后,首先各节点的方向性天线随机指向各个扇区,在每个扇区停留时间相同,在一个扇区停留的时间中,节点周期性的广播hello包消息直至更换扇区,一发完消息节点立即从发送模式转换到接收模式。停留在某个扇区中时,节点周期性广播hello消息,广播时隙之后进入n个侦听时隙,以接收来自其他节点的hello包或者回应包。当节点在接收状态时接收到其他节点广播的hello消息后,则更新邻节点列表并按一定的规则选择发送回应包,完成互相发现。

经过一段时间的数据收集,一般为一个监视周期m,每个节点会接收到足够多的邻节点信息,根据自己所维护的邻节点列表中的信息,对节点周围的拓扑环境会有一定的判断,判断节点周围各扇区内邻节点分布的大致情况,从而相应的调整下一个时间段内其方向性天线在各个扇区停留的时间,提高发现效率。

所述的基于历史信息的方向性天线自适应邻居发现的方法,主要分为两个部分:信息收集阶段,以及信息收集完成后进入基于历史信息的自适应调整阶段。

如图2所示,具体步骤如下:

步骤一、针对节点分布具有地域性与集群性的无线移动网络中,每个节点各配置一个方向性天线;

本发明适用于节点移动具有地域性和集群性的无线移动自组网,网络中节点配置方向性天线,所谓地域性指的是在应用场合中(如地震救灾环境等)单一节点的工作范围、移动范围是有限的,如图1所示,节点在其活动范围内随机移动,仅有较小的概率p会移动到活动范围之外。

集群性是指节点并非均匀散布在环境中,而是在需求较大的地方会布置较多的节点。

步骤二、针对节点i,以节点i为圆心,天线通信范围r为半径,将该节点i的圆周平均分成ni个扇区;

扇区的编号为从0到ni-1;

步骤三、针对初始监视周期m,每个节点随机选择各自的天线所指向的扇区;

监视周期m是指:在节点初始化过程中收集每个节点周围网络拓扑信息需要的时间段。

起始阶段,节点i配置的方向性天线随机选择扇区,指向每个扇区的概率相等,均为1/ni;节点i配置的方向性天线所指的扇区记为si;

步骤四、针对节点i,计算初始监视周期该节点配置的方向性天线在每个扇区停留的时间

t为遍历周期,是配置的方向性天线遍历ni个扇区一次需要的时间。由此可知,起始阶段,节点i的方向性天线在每个扇区的停留时间相同。

步骤五、在停留时间内,节点i周期性的在发送时隙内广播hello包消息,发送完成之后节点i立即转入接收状态进行侦听;

时隙以τ为最小时间单位,保证hello包消息广播到通信范围内的所有邻居节点的任意位置。最长时间,将发送消息所用的时隙τ称作发送时隙,发送消息完成之后该节点立即转入接收状态,接收状态持续多个时隙,称作侦听时隙;

hello包消息的帧结构如图4所示,包括:①发送此包的节点id(id),②包的类型(type),③节点发送此消息时所用的扇区(sector_s)以及④跳转到下一个扇区的剩余时间(tns,timertothenextsector);

单个节点的收发模式转换如图5所示,某时隙完成了hello包的发送之后,立即转入n个侦听时隙。

步骤六、节点i监听到来自其他节点广播的hello消息后,则更新自身维护的“邻节点列表”并按规则回复响应包,完成互相发现;

当节点i在侦听时隙内收到来自节点j的hello包消息后,节点i需要对自己维护的邻节点列表进行更新维护;

邻节点列表,如图6所示,每一个条目均包含以下信息:①邻节点id(neighborid):消息来源,节点i的节点id;②邻节点发送时所用的扇区编号(sector_n):对应于hello包中的节点i发送时所用扇区编号;③邻节点在发送扇区停留的剩余时间(tns,timertothenextsector):记录邻节点还将在此扇区停留多久,从hello包中得到;④接收扇区信息(des_n,durationforeverysectoroftheneighbornode):记录接收到消息的节点i在哪些扇区(sector_nid),接收到过几次节点j的信息,正常情况下若节点i移动范围并不大,接收扇区主要为一个,用来表示节点j在扇区si中收到的从节点i发出的消息次数(times);⑤时间戳(time_flag):用于记录更新此条邻节点消息的时间。

为了提高发现效率,当某一节点接收到hello消息之后会回复一个响应包,以完成邻节点的互相发现,同时由于时间未同步,为了避免消息碰撞,设计了响应包的回复机制:

当节点j收到节点i的hello消息后,节点j(1)利用hello包中的消息更新邻节点列表;(2)若关于节点i的信息,节点j的邻节点表中已经有保存,且信息有效(表示节点i,j已完成过互相发现),则不做回应;⑶若在节点j的邻节点表中,节点i的消息属于新消息,则节点j经过一个随机的时间ε之后,回复一个响应包,响应包结构同hello包,仅类型一项不同,同时应保证ε小于hello包中的扇区剩余停留时间,以免节点i更换扇区造成丢包。

同理,收到响应包的节点所做处理应与收到hello包相同但响应包不需要回复。

步骤七、根据初始监视周期中节点i发现的“邻节点列表”,计算该节点在第二个监视周期m中,方向性天线在每个扇区停留的时间;

本发明采用基于历史信息的扇区分配算法(history-basedsectordistribution,hsd)。随着邻居发现过程的推进,初始信息收集之后,节点依然等概率选择扇区,但是此时节点i开始对方向性天线在各扇区停留时间进行调整:

首先,计算节点i的方向性天线在每个扇区的周期占比

周期占比表示下一次天线对准扇区si时,在该扇区停留的时间所占一个遍历周期的比例;li表示节点i所有已发现的邻居节点的集合;表示扇区si收到的来自邻居节点k的消息次数;是节点i配置的方向性天线所指的扇区si组成的集合;

式(1)中,分子表示在扇区si所收到的所有邻节点的消息次数总和,分母表示节点i所受到的所有临节点消息次数,即用扇区收到消息所占总消息的比例来决定下次转到扇区时停留时间的比例。

然后,利用周期占比调整节点i的方向性天线在扇区si的具体停留时间;

由于初期第一个监视周期的纯随机邻居发现过程,避免了由于邻居发现初期某扇区先收到消息而造成的接近于1的情况。随着发现过程的推进,会趋于一个较为稳定的值,该值由在此扇区范围内邻节点的比例所决定。

步骤八、根据第二个监视周期m中节点i的方向性天线在每个扇区的停留时间,节点i广播hello包消息,并更新自身维护的“邻节点列表”发现;

步骤九、从第三个监视周期m开始,每次选择扇区时,根据前一个时间段的节点i更新的“邻节点列表”发现,判断网络拓扑变化,对该节点的方向性天线在各扇区的停留时间做出调整。

经过第一个时间段的邻节点数据收集之后,节点对所在环境的拓扑结构已经有了一定的认识,通过邻节点列表记录的数据可以得到大致的邻节点分布状况,在每次随机等概率选择扇区之后,对在此之前监视周期m内的数据进行分析,计算得到在新的扇区将要停留的时间。

如图3所示,具体步骤如下:

步骤901、计算节点i在扇区si接收消息的速率反映该节点周围网络拓扑环境的变化;

在每个周期m开始时计算,且在该周期内为常量;表示节点i的扇区si收到的消息总数,为周期占比的分子;

速率表示节点i的扇区si在最近监视周期m时间内,接收消息的速度;如果网络中节点相对位置没有大规模变化,扇区si收到消息的总数应该与时间成正比。

由式(1)和(3)得到:

步骤902、针对某时刻,计算该时刻之前m时间之内的消息接收速率的瞬时速率

步骤903、判断瞬时速率是否约等于平均速率,如果是,则表示网络拓扑结构变化较小,不对时间进行调整;否则,进入步骤904;

步骤904、当节点i的周围网络环境有所变化,调整方向性天线在不同扇区所停留的时间,直到新的m周期开始,确定扇区停留时间。

表示节点i的方向性天线在m扇区的瞬时速率,表示节点i方向性天线在m扇区的时间占比;m,n分别是节点i的两个不同扇区;ei表示整个节点i收到的消息总数,为周期占比的分母。

对每一个单一扇区来说,其接收速度与其周期占比所成比例也为也就是说,在本发明中,这个比例是由节点i本身决定的。

步骤十、节点i在当前监视周期m中,根据方向性天线在每个扇区的停留时间,广播hello包消息,并更新自身维护的“邻节点列表”发现。

本发明节点与邻节点相对位置改变会造成以下两种情况:①相对位置变化后,依然在通信范围内,但是移动到了其他扇区;②原有邻节点离开通信范围或有新的节点进入通信范围成为邻节点。对于第一种情况,某一邻居节点从原扇区移动到了另一扇区,原扇区的消息接收速度必将减小,同时节点所进入新扇区的接收速度将增加,但依然不会变化,因此,根据hsd算法,将会调整原扇区和新扇区的以保证保持不变。对于第二种情况,由于有新的节点进入(或离开)节点i的通信范围,则相同时间内,节点i会收到更多(或更少)的消息,将会有所增加(或减小),且新节点所进入扇区的会显著增加(或减小),增(降)幅将大于的变化,所以相应的也会做出调整,使的比值等于新的平衡值。所以,推出式(5)在网络拓扑变化时依然可以使用。

实施案例:

首先在仿真环境中设计一个边长20公里的方形区域,节点所装备的方向性天线有效通信范围为10公里,每个扇区为60°,天线遍历周期为180τ,n=9,即在两个发送时隙之间会有9个侦听时隙,同时易得在一个遍历周期内,节点会发送18次hello消息。设置监视周期为m=360τ,节点移动速度约为50千米/小时,每个遍历周期移动约15米,移动方向随机。对于节点的地域性与集群性,设定节点的活动范围为一个边长4公里的方形,节点移动出这个范围的概率为p=0.1。

分别对网络中分布5个、10个、40个节点的情况进行仿真,代表节点密度极低、低和高三种情况。每个活动区域分布2到5个节点,节点总数为5时分成2个和3个两个群体。仿真开始前m时间(360τ)内,每个节点以1/6的概率随机选择扇区,在每个扇区停留30τ,完成3次hello消息广播。

然后,在监控周期或其他时段,节点都严格按照方法维护邻节点列表,接收到hello消息后按规则选择是否回复响应包。

继续,完成第一个监控周期的纯随机邻居发现之后,每个节点开始调整每个扇区的csi,各扇区停留时间相加依然为遍历周期的时间长度,但根据各方向邻居节点分布的不同,每个扇区停留的时间都将不一样。

最后,每次选择扇区时,由前一个时间段的邻节点消息判断网络拓扑变化,对扇区停留时间做出调整。

实时分期前360τ时间内节点周围的网络环境,各扇区约有多少邻节点,以此判断此次随机选择到的扇区应该停留多少时隙。经过超过20次的104τ以上的仿真,得到数据结果如图7、8和9所示,将本发明算法与随机邻居发现算法做比较,hsd的平均邻居发现所用时间,以及标准差均小于随机发现算法。仿真解果表明,节点仅配备方向性天线时,hsd算法有比随机算法更好的性能,特别是在节点稀疏分布的情况下。

本发明主要针对装备了方向性天线的无线移动通信网络,提出一种新的邻居发现算法——hsd,及相应的使用流程。利用hsd算法,节点可以根据其周围网络拓扑结构的变化,对各扇区停留时间进行调整,减小了在无邻节点停留造成的发现时延。本发明基于随机算法,又对其作出一定的改进,通过仿真分析,可以证明本方法确实可以达到比随机算法更优秀的表现性能,验证了本发明的有效性和可行性,为以后路由协议的研究打下坚实的基础。

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