一种路由选择方法及系统与流程

文档序号:14685234发布日期:2018-06-12 23:21
一种路由选择方法及系统与流程

本发明涉及无线网络技术领域,特别涉及一种路由选择方法及系统。



背景技术:

在无线网络中,路由协议设计的主要目标是避免网络堵塞,为网络提供QoS(Quality of Service,服务质量)。在无线传感器网络中,由于受到节点能量的限制,其路由协议设计需要从节能的角度出发,一方面尽可能地减小网络的能量开销,另一方面使得全网能量均衡,进而延长网络的生存时间。

网络路由具备分布计算、随机动态以及异步的网络状态更新等特征,这些特征与蚁群算法的特征相匹配,故能够通过蚁群算法解决无线传感器网络的路由问题。

现在常用的基于蚁群算法的路由方法包括:基于改进蚁群算法的无线传感器网络路径优化处理方法和基于蚁群算法的分簇路由方法。基于改进蚁群算法的无线传感器网络路径优化处理方法是将需要传递的数据按最短路径传输,如果传输路径拥堵,则将拥堵信息发送到初始位置,后续需要传递的数据就会选择其他路径。基于蚁群算法的分簇路由方法利用分簇的原理减少了参与寻找最优路径的节点数,从而降低了网络的能量开销,同时还设计了一种改进的最优路径评价标准,该标准考虑了传输路径上各节点的剩余能量和最优路径上的能量消耗,该算法能在寻找最优路径的时候避开剩余能量较少的节点,从而使最优路径上各节点的能量呈整体性衰落,进而延长网络的生存时间。当前常用的基于蚁群算法的路由方法无法同时满足节点能量均衡和路径最优,或者无法在信息素更新时考虑节点的能量,也即无法最大限度的延长网络的生存时间。



技术实现要素:

本发明提供一种路由选择方法及系统,能够同时满足路由选择时的节点能量均衡和路径最优,最大限度地延长了网络的生存时间。

为实现上述目的,本发明提供了一种路由选择方法,包括:

蚂蚁沿前向路径到达中间节点并根据与所述前向路径对应的路由表判断是否来过所述中间节点;

若判断出未来过所述中间节点时,根据预先获取的节点链路间的信息素及节点中心度启发值计算转移概率;

所述蚂蚁根据所述转移概率选择下一跳节点。

可选地,所述根据预先获取的节点链路间的信息素及节点中心度启发值计算转移概率包括:

通过公式u∈Nk(i)计算出所述转移概率,其中,表示蚂蚁k的下一跳节点转移概率,τij(t)表示节点i到节点j间链路的信息素,ηij(t)表示节点i到节点j间链路的中心度启发值,α和β分别表示信息素和中心度启发值的权值,Nk(i)表示蚂蚁k的下一跳节点集合。

可选地,在所述蚂蚁沿前向路径到达中间节点并根据与所述前向路径对应的路由表判断是否来过所述中间节点之前还包括:

生成初始化网络,所述初始化网络包括源节点、目的节点和设于源节点和目的节点之间的多个中间节点,所述源节点处设有多只蚂蚁,所述多只蚂蚁具有相同的初始信息素和能量初值。

可选地,在所述蚂蚁根据转移概率选择下一跳节点之后还包括:

根据所述下一跳节点更新所述前向路径及与所述前向路径对应的路由表。

可选地,在所述蚂蚁根据转移概率选择下一跳节点之后还包括:

蚂蚁沿前向路径到达目的节点并根据所述蚂蚁的初始信息素和预先获取的路径适应度值生成与所述前向路径对应的信息素增量;

后向蚂蚁根据所述信息素增量沿与所述前向路径对应的返回路径返回源节点以更新初始化网络的全局信息素;

根据所述全局信息素生成最优路径。

可选地,所述蚂蚁沿前向路径到达目的节点并根据所述蚂蚁的初始信息素和预先获取的路径适应度值生成与所述前向路径对应的信息素增量之前还包括:

通过公式计算出所述路径适应度值,其中,表示蚂蚁k在t时刻途径w前向路径时所经过的节点数目,φ表示加权系数,E0表示蚂蚁的能量初值,ei表示节点i的当前能量值。

为实现上述目的,本发明提供了一种路由选择系统,包括:

蚂蚁,用于沿前向路径到达中间节点并根据与所述前向路径对应的路由表判断是否来过所述中间节点,根据转移概率选择下一跳节点;

计算模块,用于若蚂蚁判断出未来过所述中间节点时,根据预先获取的节点链路间的信息素及节点中心度启发值计算所述转移概率。

可选地,还包括:

生成模块,用于生成初始化网络,所述初始化网络包括源节点、目的节点和设于源节点和目的节点之间的多个中间节点,所述源节点处设有多只蚂蚁,所述多只蚂蚁具有相同的初始信息素和能量初值。

可选地,还包括:

更新模块,用于根据所述下一跳节点更新所述前向路径及与所述前向路径对应的路由表。

可选地,还包括:后向蚂蚁;

所述蚂蚁还用于沿前向路径到达目的节点并根据所述蚂蚁的初始信息素和预先获取的路径适应度值生成与所述前向路径对应的信息素增量;

所述后向蚂蚁,用于根据所述信息素增量沿与所述前向路径对应的返回路径返回源节点以更新初始化网络的全局信息素;

所述生成模块还用于根据所述全局信息素生成最优路径。

本发明具有以下有益效果:

本发明提供的路由选择方法,蚂蚁沿前向路径到达中间节点并根据与所述前向路径对应的路由表判断是否来过所述中间节点,若判断出未来过所述中间节点时,根据预先获取的节点链路间的信息素及节点中心度启发值计算转移概率,所述蚂蚁根据所述转移概率选择下一跳节点。该方法能够同时满足路由选择时的节点能量均衡和路径最优,最大限度地延长了网络的生存时间。

附图说明

图1为本发明实施例一提供的一种路由选择方法的流程示意图;

图2为本发明实施例二提供的一种路由选择方法的流程示意图。

具体实施方式

为使本领域的技术人员更好地理解本发明的技术方案,下面结合附图对本发明中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

实施例一

图1为本实施例一提供的一种路由选择方法的流程示意图,如图1所示,该方法包括以下步骤:

步骤101、蚂蚁沿前向路径到达中间节点。

步骤102、蚂蚁根据与所述前向路径对应的路由表判断是否来过所述中间节点,若否,执行步骤103;若是,流程结束。

步骤103、根据预先获取的节点链路间的信息素及节点中心度启发值计算转移概率。

步骤104、蚂蚁根据所述转移概率选择下一跳节点。

本实施例提供的路由选择方法,蚂蚁沿前向路径到达中间节点并根据与所述前向路径对应的路由表判断是否来过所述中间节点,若判断出未来过所述中间节点时,根据预先获取的节点链路间的信息素及节点中心度启发值计算转移概率,所述蚂蚁根据所述转移概率选择下一跳节点。该方法能够同时满足路由选择时的节点能量均衡和路径最优,最大限度地延长了网络的生存时间。

实施例二

图2为本实施例二提供的一种路由选择方法的流程示意图,如图2所示,该方法包括:

步骤201、生成初始化网络,所述初始化网络包括源节点、目的节点和设于源节点和目的节点之间的多个中间节点,所述源节点处设有多只蚂蚁,所述多只蚂蚁具有相同的初始信息素和能量初值。

优选地,本实施例中的各步骤由路由选择系统执行。

初始化网络的源节点与目的节点间设有多个中间节点,多只蚂蚁放置于源节点处,蚂蚁能够沿多种路径从源节点经中间节点到达目的节点。为保证多只蚂蚁从源节点出发到达目的节点所形成的多条路径具有可比性,多只蚂蚁具有相同的初始信息素和能量初值。

步骤202、蚂蚁沿前向路径到达中间节点并与所述前向路径对应的路由表判断是否来过所述中间节点,若蚂蚁判断出未来过所述中间节点时,执行步骤203;否则,流程结束。

步骤202包括以下步骤:

步骤202a、蚂蚁从源节点出发到达中间节点并形成前向路径。

具体地,前向路径包括源节点、及蚂蚁到达所述中间节点前途经的所有中间节点。本实施例中所述的蚂蚁为前向蚂蚁,前向蚂蚁可以为多个,多个前向蚂蚁从源节点出发并朝着目的节点前进。

步骤202b、根据所述前向路径生成路由表。

路由表与前向路径对应,包括前向路径中源节点、及蚂蚁到达所述中间节点前途经的所有中间节点的节点信息。

步骤202c、蚂蚁根据所述路由表判断是否来过所述中间节点。

蚂蚁查找路由表,判断之前是否已经来过该中间节点。当蚂蚁判断出来过该中间节点时,表示该蚂蚁的前向路径中出现重复节点,该前向路径不可取,蚂蚁终止前进至目的节点,流程结束。

步骤203、根据预先获取的节点链路间的信息素及节点中心度启发值计算转移概率。

具体地,通过公式u∈Nk(i)计算出转移概率,其中,表示蚂蚁k的下一跳节点转移概率,τij(t)表示节点i到节点j间链路的信息素,ηij(t)表示节点i到节点j间链路的中心度启发值,α和β分别表示信息素和中心度启发值的权值,Nk(i)表示蚂蚁k的下一跳节点集合。

进一步具体地,通过公式计算出节点i到节点j间链路的中心度启发值,其中,E0表示蚂蚁的能量初值,ej表示节点j的当前能量值,Cij表示节点i到节点j间链路的中心度。

本实施例将节点中心度纳入到了转移概率的考量中,能够更有效地寻找到从源节点到目的节点的最优路径。

步骤204、蚂蚁根据所述转移概率选择下一跳节点。

蚂蚁的下一跳节点集合包括多个可选的下一跳节点,转移概率为与多个可选的下一跳节点对应的多个转移概率。蚂蚁选择多个转移概率中的最大值转移概率,选择与该最大值转移概率对应的下一跳节点作为蚂蚁的下一跳节点。

进一步地,蚂蚁从所述中间节点前进至下一跳节点。

步骤205、根据所述下一跳节点更新所述前向路径及与所述前向路径对应的路由表。

可选地,根据下一跳节点更新与所述前向路径对应的路径跳数和禁忌表。路径跳数表示蚂蚁k在t时刻途径w前向路径时所经过的节点数目为蚂蚁所经过的节点数目,禁忌表用于避免蚂蚁的迂回搜索,保证蚂蚁的前向路径有效。

步骤206、蚂蚁沿前向路径到达目的节点并根据所述蚂蚁的初始信息素和预先获取的路径适应度值生成与所述前向路径对应的信息素增量。

具体地,前向路径包括源节点、及蚂蚁到达所述目的节点前途经的所有中间节点。

通过公式计算出路径适应度值,其中,表示蚂蚁k在t时刻途径w前向路径时所经过的节点数目,φ表示加权系数,E0表示蚂蚁的能量初值,ei表示节点i的当前能量值。

通过公式Δτij(t)=ρ*F*Q*Cij计算出信息素增量,其中,Δτij(t)表示t时刻节点i到节点j间链路的信息素增量,ρ表示信息素挥发系数,Q表示信息度强度系数,Cij表示节点i到节点j间链路的中心度。

步骤207、后向蚂蚁根据所述信息素增量沿与所述前向路径对应的返回路径返回源节点以更新初始化网络的全局信息素。

当多个前向蚂蚁中的任一前向蚂蚁到达目的节点并形成前向路径时,后向蚂蚁沿与该前向路径对应的返回路径返回源节点,以更新初始化网络的全局信息素。具体地,更新初始化网络的全局信息素是指对初始化网络中的所有蚂蚁进行信息素更新。

本实施例中,通过公式τij(t+1)=(1-ρ)*τij(t)+Δτij(t)更新全局信息素,其中,τij(t+1)表示t+1时刻节点i到节点j间链路的信息素,τij(t)表示t时刻节点i到节点j间链路的信息素,Δτij(t)Δτij(t)表示t时刻节点i到节点j间链路的信息素增量。

步骤208、根据所述全局信息素生成最优路径。

具体地,根据全局信息素选择其中信息素增量最大的路径作为最优路径。

进一步地,循环迭代执行步骤202至207多次后根据全局信息素生成最优路径,最优路径是指从源节点到目的节点信息素增量最大的前向路径。当经过多次迭代后,步骤206中的蚂蚁形成的前向路径对应的信息素增量最大,步骤207中的后向蚂蚁均沿与同一前向路径对应的返回路径返回源节点,通过步骤207中更新后的全局信息素选择出该前向路径,该前向路径即为最优路径。

本实施例提供的路由选择方法,蚂蚁沿前向路径到达中间节点并根据与所述前向路径对应的路由表判断是否来过所述中间节点,若判断出未来过所述中间节点时,根据预先获取的节点链路间的信息素及节点中心度启发值计算转移概率,所述蚂蚁根据所述转移概率选择下一跳节点。该方法能够同时满足路由选择时的节点能量均衡和路径最优,最大限度地延长了网络的生存时间。

实施例三

图中未示出,本实施例提供了一种路由选择系统,该系统包括:多个蚂蚁1和计算模块2。

蚂蚁1用于沿前向路径到达中间节点并根据与所述前向路径对应的路由表判断是否来过所述中间节点,根据转移概率选择下一跳节点。

计算模块2用于若蚂蚁判断出未来过所述中间节点时,根据预先获取的节点链路间的信息素及节点中心度启发值计算所述转移概率。

进一步地,还包括:生成模块3。

生成模块3用于生成初始化网络,所述初始化网络包括源节点、目的节点和设于源节点和目的节点之间的多个中间节点,所述源节点处设有多只蚂蚁,所述多只蚂蚁具有相同的初始信息素和能量初值。

进一步地,还包括:更新模块4。

更新模块4用于根据所述下一跳节点更新所述前向路径及与所述前向路径对应的路由表。

进一步地,还包括:后向蚂蚁5。

蚂蚁1还用于沿前向路径到达目的节点并根据所述蚂蚁的初始信息素和预先获取的路径适应度值生成与所述前向路径对应的信息素增量;

后向蚂蚁5用于根据所述信息素增量沿与所述前向路径对应的返回路径返回源节点以更新初始化网络的全局信息素。

生成模块3还用于根据所述全局信息素生成最优路径。

本实施例提供的路由选择系统,蚂蚁沿前向路径到达中间节点并根据与所述前向路径对应的路由表判断是否来过所述中间节点,若判断出未来过所述中间节点时,计算模块根据预先获取的节点链路间的信息素及节点中心度启发值计算转移概率,所述蚂蚁根据所述转移概率选择下一跳节点。该系统能够同时满足路由选择时的节点能量均衡和路径最优,最大限度地延长了网络的生存时间。

可以理解的是,以上实施方式仅仅是为了说明本发明的原理而采用的示例性实施方式,然而本发明并不局限于此。对于本领域内的普通技术人员而言,在不脱离本发明的精神和实质的情况下,可以做出各种变型和改进,这些变型和改进也视为本发明的保护范围。

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