一种基于节点地理位置的移动机会网络路由方法
技术领域
本发明属于移动社会网络技术领域,尤其涉及一种基于节点地理位置的移动机会网络路由方法。
背景技术
移动机会网络是一种新型的移动自组织网络,网络拓扑频繁变化,节点之间的链路时断时续,节点之间的接触是难以预测的,源节点和目的节点之间的端到端的完整路径很少同时存在。网络中节点之间通过使用“存储-携带-转发”的原理来传输消息。作为一种新型的网络体系结构,移动机会网络可以更好地适应某些特殊场景下的通信需求。
移动机会网络中网络拓扑结构频繁变化、节点间歇式接触的特点,导致网络中消息传输的成功率低、传输时延长。因此,如何选择合适的节点进行消息转发,以及如何在设计算法时使消息有更高的投递率与更低的传输时延,是移动机会网络路由设计的一个重点研究方向。近年来国内与国际方面的科研机构对移动机会网络的研究越来越多,在诸多国际网络领域的会议上,与会人员提出了许多重要的研究成果。一些研究表明,移动机会网络中,适当增加消息的副本数可以增加消息投递率,但增加的消息副本会占用网络中节点的存储空间,并消耗节点更多的能量。因此,在多副本转发策略下,需要一种副本控制算法。
发明内容
本发明所要解决的技术问题是,提供一种基于节点地理位置的移动机会网络路由方法,在筛选中继节点方面可以根据效用函数选择高效的候选节点作为下一跳,提高了消息投递率,并且使得算法更加灵活。
本发明解决其技术问题所采用的技术方案是:提供一种基于节点地理位置的移动机会网络路由方法,在移动机会网络中进行节点间的消息传递,通过计算消息的地理效用值以及节点的消息命中率来动态筛选可供传输的中继节点,该方法包括以下步骤:
S1、通过对节点的地理位置信息取样,定义节点的地理效用值,并根据节点的地理效用值计算出目标节点的活动范围,如果目标节点在得出的活动范围内则根据效用值大小对最快到达目标节点的中继节点进行消息转发。
S2、引入消息命中率,在基于节点地理位置信息的基础上,辅助节点进行下一跳中继节点的筛选工作。使消息能够以最快的速度到达目标节点,从而提高数据分组转发的成功率,进一步降低消息传输时延。
按上述技术方案,步骤S1中的地理效用值表示网络中节点依据相关的地理信息指标计算而来的中继转发能力。
按上述技术方案,策略S1中的地理效用值的计算方法为:
地理效用值u结合中继节点的平均移动速度、中继节点与目标节点上下边际的平均距离和中继节点预估移动方向与目标节点上下边际的角度偏移量这三个基础属性进行地理效用值的计算,其计算公式为:
其中node_distance指代中继节点与目标节点下边际的平均距离,avg_d-lowerangle表示中继节点预估移动方向与目标节点下边际的角度偏移量,avg_s表示该节点当前的平均移动速度,α和β为区间[0,1]的影响因子。
按上述技术方案,节点的相遇接触利用对方效用表中存储的相关信息来计算消息需转发的目标节点的预测活动区域,然后将数据分组转发给能够最快接近目标节点的中继节点,目标节点预测活动区域的计算公式为:
pro_range=(present_time-last_time)×avg_s
其中pro_range为目标节点的预测活动区域,present_time指代节点当前的相遇时间,avg_s为效用表中保存的当前节点的平均移动速度,如果数据分组的转发节点自身的效用表中已经存有目标节点的位置信息,或是周围中继节点均包含目标节点的位置信息,那么选取last_time值距离当前相遇时间最近的邻居节点,作为消息转发的中继目标以及最终目标节点预测活动区域计算的参考节点。
按上述技术方案,步骤S2中的消息命中率与节点间的转发概率相关,节点转发概率为:
其中,N为网络拓扑中全部节点的集合,P
n(A,B)为消息待转发节点A与B之间的转发概率,N
a,b表示了两个相遇节点包含此次接触在内的相遇次数总和,
的值则记录了A节点除开与B节点相遇之外,与机会网络中其他节点相遇的次数集合。可以看出,如果两个中继节点之间的接触发生的越频繁则证明两个节点之间的转发概率越高。
中继节点为了提高相应的投递成功率才会进行类似传染路由的消息扩散机制,如果不加以控制则会造成消息副本的大量冗余和网络拥塞等路由问题的出现。因此这里引入消息命中率是为了通过相关的梯度转发机制来更好的辅助节点进行下一跳中继节点的选择。
按上述技术方案,消息命中率公式如下:
Hi=θP(A,D)+(1-θ)Pn(A,B)
其中Hi表示节点i的消息命中率,P(A,D)表示节点A与最终目标投递节点D之间的消息转发概率,Pn(A,B)则为待转发数据分组节点A与待筛选中继节点B之间的消息转发概率,θ是一个区间[0,1]的可变调节参数,通过仿真实验要求来进行相关设定;当消息待转发节点A与中继节点B相遇之后,会对节点B的消息命中率进行评估,只有当节点B的消息命中率Hi大于原始节点A的消息命中率时,节点A才会将数据分组转发给中继节点B,如果节点A拥有比节点B更高的消息命中率,那么证明中继节点B并没有比A直接到达目标节点的更高的概率,因此节点A将会继续进行下一跳中继节点的筛选工作。
本发明产生的有益效果是:本发明在诸多针对机会网络地理路由算法的研究结论上,认为采用以地理信息作为基础,以其他辅助策略作为节点筛选机制来进行设计的路由算法有很好的扩展和优化空间,因此将综合节点的地理位置信息以及历史效用信息,并结合概率路由的筛选转发策略来进行路由算法的综合设计,提出一种基于地理位置信息的多策略路由算法,改进后的算法在保持了低负载率优势的前提下,在消息投递率和平均时延指标上均取得了明显的进步。本方法在分配消息副本数方面可以根据不同节点的质量和表现分配不同的副本数量,在筛选中继节点方面可以根据效用函数选择高效的候选节点作为下一跳,提高了消息投递率,并且使得算法更加灵活。
附图说明
下面将结合附图及实施例对本发明作进一步说明,附图中:
图1是本发明实施例基于节点地理位置的移动机会网络路由算法的算法流程图;
图2是本发明实施例中基于地理效用信息的中继节点筛选算法。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
本发明实施例中,如图1、图2所示,基于节点地理位置的移动机会网络路由方法,在移动机会网络中进行节点间的消息传递,通过计算消息的地理效用值以及节点的消息命中率来动态筛选可供传输的中继节点,该方法包括以下步骤:步骤一,通过对节点的地理位置信息取样,定义节点的地理效用值,并根据节点的地理效用值计算出目标节点的活动范围,如果目标节点在得出的活动范围内则根据效用值大小对最快到达目标节点的中继节点进行消息转发。地理效用值表示网络中节点依据相关的地理信息指标计算而来的中继转发能力,地理效用值u结合中继节点的平均移动速度、中继节点与目标节点上下边际的平均距离和中继节点预估移动方向与目标节点上下边际的角度偏移量这三个基础属性进行地理效用值的计算,其计算公式为:
其中node_distance指代中继节点与目标节点下边际的平均距离,avg_d-lowerangle表示中继节点预估移动方向与目标节点下边际的角度偏移量,avg_s表示该节点当前的平均移动速度,α和β为区间[0,1]的影响因子。
步骤二,引入消息命中率,在基于节点地理位置信息的基础上,辅助节点进行下一跳中继节点的筛选工作。使消息能够以最快的速度到达目标节点,从而提高数据分组转发的成功率,进一步降低消息传输时延。消息命中率与节点间的转发概率相关,节点转发概率为:
其中,N为网络拓扑中全部节点的集合,P
n(A,B)P
n(A,B)为消息待转发节点A与B之间的转发概率,N
a,b表示了两个相遇节点包含此次接触在内的相遇次数总和,
的值则记录了A节点除开与B节点相遇之外,与机会网络中其他节点相遇的次数集合。可以看出,如果两个中继节点之间的接触发生的越频繁则证明两个节点之间的转发概率越高。
中继节点为了提高相应的投递成功率才会进行类似传染路由的消息扩散机制,如果不加以控制则会造成消息副本的大量冗余和网络拥塞等路由问题的出现。因此这里引入消息命中率是为了通过相关的梯度转发机制来更好的辅助节点进行下一跳中继节点的选择。
消息命中率公式如下:
Hi=θP(A,D)+(1-θ)Pn(A,B)
其中Hi表示节点i的消息命中率,P(A,D)表示节点A与最终目标投递节点D之间的消息转发概率,Pn(A,B)则为待转发数据分组节点A与待筛选中继节点B之间的消息转发概率,θ是一个区间[0,1]的可变调节参数,通过仿真实验要求来进行相关设定;;当消息待转发节点A与中继节点B相遇之后,会对节点B的消息命中率进行评估,只有当节点B的消息命中率Hi大于原始节点A的消息命中率时,节点A才会将数据分组转发给中继节点B,如果节点A拥有比节点B更高的消息命中率,那么证明中继节点B并没有比A直接到达目标节点的更高的概率,因此节点A将会继续进行下一跳中继节点的筛选工作。
图1是一个MSGR算法的流程图,描述了源节点从消息转发开始到成功完成消息投递的整体选择策略。从流程图中可知,当机会网络中两个携带消息数据分组的节点相遇时,会首先对双方的效用表进行交互遍历,并试图寻找对方效用表中是否存在本节点需转发数据分组的目标节点。如果存在则根据接触节点中存放的目标节点相关信息来计算出目标节点的大致的活动区域,并判断数据分组携带节点是否与目标节点位于同一连通域,如果是就结合节点的地理效用值来选择最合适的下一跳中继节点,否则将进入消息命中率筛选阶段。如果接触节点的效用表中未存放目标节点信息那么会依照节点的消息命中率的优先级来合理筛选出最优的中继节点。
节点的相遇接触利用对方效用表中存储的相关信息来计算消息需转发的目标节点的预测活动区域,然后将数据分组转发给能够最快接近目标节点的中继节点,目标节点预测活动区域的计算公式为:
pro_range=(present_time-last_time)×avg_s
其中pro_range为目标节点的预测活动区域,present_time指代节点当前的相遇时间,avg_s为效用表中保存的当前节点的平均移动速度,如果数据分组的转发节点自身的效用表中已经存有目标节点的位置信息,或是周围中继节点均包含目标节点的位置信息,那么选取last_time值距离当前相遇时间最近的邻居节点,作为消息转发的中继目标以及最终目标节点预测活动区域计算的参考节点。
应当理解的是,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,而所有这些改进和变换都应属于本发明所附权利要求的保护范围。