一种基于节点位置余弦相似度的机会网络转发方法与流程

文档序号:14737239发布日期:2018-06-19 20:45阅读:841来源:国知局
一种基于节点位置余弦相似度的机会网络转发方法与流程

属于移动传感器网络机会转发技术领域,尤其涉及一种基于节点位置余弦相似度的机会网络转发方法。



背景技术:

近年来,大量低成本、具备短距离无线通信能力的智能设备发展迅速,由此产生了利用节点移动带来的相遇机会来实现数据传输的机会网络(Opportunistic Network)。作为一种全新的组网方式,机会网络以“存储-携带-转发”的路由模式实现节点间的数据传输,该模式引起了研究人员的广泛关注。

基于效用的转发机制与传统的网络转发类似,当两个节点进入对方的通信范围内相互交换数据,每个节点对它的邻居节点都会保存相遇的数据,根据两个节点间的相遇的历史数据可以计算出转发效用值,该效用值会随着时间的不断更新,它利用相遇的历史信息来决策下一跳节点,主要通过相遇预测、链路状态和上下文信息等不同的参数来选择转发节点。当两个节点相遇时,数据从效用值低的节点转发到效用值高的节点,这样逐跳转发到目标节点。

在实际应用中,由于节点移动随机性较强,并且目的节点的位置难以获得,节点的数据转发如果只利用节点转发效用值,可能会导致数据分发的不均匀,不利于提高数据的转发成功率。

本发明首先通过节点间历史相遇数据节(节点相遇次数、相遇时间长度、节点关系稳定性)来计算节点的转发效用值,从通信范围中选择出最大效用值的节点作为第一个转发节点,之后结合转发效用和余弦度相似度方法选择其他转发节点。



技术实现要素:

本发明提出一种基于节点位置余弦相似度的机会网络转发方法,通过节点历史接触信息如节点相遇次数、相遇时间长度、节点关系稳定性来计算各节点转发效用值。通信时优先将通信范围内效用值最大的邻居节点作为初始转发节点,根据余弦度相似度选择其他多个转发节点,使得转发节点能够均匀地分布,从而达到数据均匀传送的目的。

本发明所要解决的问题通过节点历史接触信息(节点相遇次数、相遇时间长度、节点关系稳定性)计算各节点转发效用值,并将通信范围内效用值最大的邻居节点作为初始转发节点;通过余弦相似度方法将数据转发给相遇节点。具体内容如下:

1)当节点间相遇时,节点记录相遇信息,更新转发效用值,为了保持接触信息的实时性,仅保留最近时间长度T内历史信息。

节点vi携带消息准备转发时,如果检测到周围存在其他节点,节点vi根据周围节点反馈历史数据计算得到转发效用值,假设最大的效用值的节点vp∈Vi,将节点vp标记。

节点进行数据转发需要从通信范围内选择k个节点作为转发节点。假设在时间t,节点vi需要转发数据,以vi为圆心、通信半径为半径进行数据转发。以Vi中vp,vq,vw,ve为例,分别计算节点vi、vp周围通信范围节点的余弦值,以节点vi通信范围内vp,通过效用值比较得到节点vp效用值最高。以vi为原点,向量为起始方向,向量为节点vi指向节点vq,vw,ve向量,根据余弦定理,节点vp,vq,vw夹角的余弦值如式(6)所示:

为了数据转发更平衡,利用余弦相似度进行其他转发节点的选择。在节点vi为圆心通信范内,将节点vi为圆心所在圆平均分成k份,从节点vi为圆的通信范围内再选择k-1个节点,每个圆弧角等于为了使数据比较均匀分布在网络中,转发节点选择尽可能在不同,以顺时针为正方向,以vi为圆心,节点vivp连成直线所在半径为起始,第2个转发节点范围应该分布在以节点vivp连成直线所在直径、圆弧角大小为的扇形内,即从Vi中选出与vivp夹角θ并且效用值最大的节点并标记,依次选出所有的转发节点。

2):通过余弦相似度方法将数据转发给相遇节点

步骤2-1:在t时刻时,当节点vi携带数据准备转发时,如果检测到周围存在其他节点,则将发送请求转发报文给通信范围其他节点,通信范围内其他节点接收到节点vi发送的报文,发送收到请求报文发送给节点vi。

步骤2-2:节点vi收到其他节点发送的报文,更新相遇历史信息。根据公式(5)计算通信范围内节点的转发效用值。

步骤2-3:vi选择效用值最大节点作为第1个转发节点,同时作为选择下一个节点的基点,该节点被标记。

步骤2-4:根据余弦相似度公式(6)计算出和节点vi周围其他的节点的余弦值。从余弦值符合的节点中再选择出效用值最大点作为转发节点作为下一个节点转发的基点。

步骤2-5:逐步选择k个转发节点,完成当前时刻的转发数据。

有益效果

1、现有转发效用计算方式主要通过节点相遇次数、相遇时间长度计算节点间转发效用,不同于现有技术,本发明根据节点相遇次数、相遇时间长度、节点关系稳定性三个方面因素计算节点转发效用,在节点转发效用的计算上更全面和准确。

2、本发明通过余弦相似度方法进行转发节点选择,使数据能够均匀的分布在网络中,提高了送达率。

附图说明

图1节点vi和vj在一段时间内相遇时间长度、次数、分离时间长度;

图2为节点vi通信范围的节点分布;

图3为节点vivp确定,余弦值符合选择节点;

图4机会网络转发方法流程图。

具体实施方式

以下结合附图具体说明本发明技术方案。

节点关系稳定性表示两节点间联系是否稳定。通常情况下节点与邻居节点之间每次分离的时间长度越接近,相遇次数越多,说明两者之间定期进行联系,节点间关系也就更稳定。如图1所示,表示节点vi和vj在一段时间内的相遇信息包括节点相遇时间长度以及节点分离的时间长度。

假设两个节点第n次相遇时,相遇时时间为离开时时间为通过式(1)计算节点vi和vj的相遇时间总长度。

式中en表示节点vi和vj的相遇次数。

通过式(2)计算出节点vi和vj的第n次分离时间长度。

并通过式(3)得到节点vi和vj平均分离时间长度。

节点分离时间长度方差来代表节点关系的稳定值。方差越小,说明节点每次分离时间长度越接近,两个节点间的联系也更紧密,节点间的关系也更为稳定。节点vi和vj分离时间长度的方差如式(4)所示:

此外,节点vi和vj转发效用值记为U(i,j),它与相遇次数、相遇时间长度、节点关系稳定性相关:节点间的相遇次越高,相遇时间长度越长,节点关系稳定值越小,节点间的转发效用值也就越高。节点vi和vj转发效用值如式(5)所示:

式中α和β是对应因素的影响指数。

基于节点位置余弦相似度的机会网络转发方法,通过余弦相似度方法将数据转发给相遇节点。具体内容如下:

(1)当节点间相遇时,节点记录相遇信息,更新转发效用值,为了保持接触信息的实时性,仅保留最近时间长度T内历史信息。

节点vi携带消息准备转发时,如果检测到周围存在其他节点,节点vi根据周围节点反馈历史数据计算得到转发效用值,假设最大的效用值的节点vp∈Vi,将节点vp标记。

节点进行数据转发需要从通信范围内选择k个节点作为转发节点。假设在时间t,如图4所示,节点vi需要转发数据,以vi为圆心、通信半径为半径进行数据转发。以Vi中vp,vq,vw,ve为例,分别计算节点vi、vp周围通信范围节点的余弦值,以节点vi通信范围内vp,通过效用值比较得到节点vp效用值最高。以vi为原点,向量为起始方向,向量为节点vi指向节点vq,vw,ve向量,根据余弦定理,节点vp,vq,vw夹角的余弦值如式(6)所示:

为了数据转发更平衡,利用余弦相似度进行其他转发节点的选择。在节点vi为圆心通信范内,将节点vi为圆心所在圆平均分成k份,从节点vi为圆的通信范围内再选择k-1个节点,每个圆弧角等于。为了使数据比较均匀分布在网络中,转发节点选择尽可能在不同,如图2所示,以顺时针为正方向,以vi为圆心,节点vivp连成直线所在半径为起始,第2个转发节点范围应该分布在以节点vivp连成直线所在直径、圆弧角大小为的扇形内,即从Vi中选出与vivp夹角θ并且效用值最大的节点并标记,依次选出所有的转发节点。

(2)基于节点位置余弦相似度的机会网络转发方法,其具体步骤如下:

步骤1:在t时刻时,当节点vi携带数据准备转发时,如果检测到周围存在其他节点,则将发送请求转发报文给通信范围其他节点,通信范围内其他节点接收到节点vi发送的报文,发送收到请求报文发送给节点vi。

步骤2:节点vi收到其他节点发送的报文,更新相遇历史信息。根据公式(5)计算通信范围内节点的转发效用值。

步骤3:vi选择效用值最大节点作为第1个转发节点,同时作为选择下一个节点的基点,该节点被标记。

步骤4:根据余弦相似度公式(6)计算出和节点vi周围其他的节点的余弦值。从余弦值符合的节点中再选择出效用值最大点作为转发节点作为下一个节点转发的基点。

步骤5:逐步选择k个转发节点,完成当前时刻的转发数据。

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