一种基于蚁群算法的网络拥塞节点识别方法及系统

文档序号:30221592发布日期:2022-05-31 22:22阅读:146来源:国知局
一种基于蚁群算法的网络拥塞节点识别方法及系统

1.本发明属于网络通信技术领域,尤其涉及一种基于蚁群算法的网络拥塞节点识别方法及系统。


背景技术:

2.网络路由的选择不仅要满足用户的不同应用要求,还需要尽量的提升整体网络的资源利用;为了满足不同用户的需求以及信息的高速传输,网络拓扑结构越来越庞大和复杂;众多的通信网络节点相互连通,交错复杂,这使得网络拥塞是不可避免的;当网络中的一个节点出现问题后,可能会引起扩散,导致其他节点也同时拥塞;出现网络拥塞时,网络吞吐量会下降,情况恶劣时甚至会出现网络崩溃。网络拥塞现象对网络的破坏性极大,促使网络的整体性能都会下降。
3.发明人发现,现有技术中,在通信网络节点临时发生故障后,大部分通过寻找次优路径来满足通信服务;实际上,次优路径的延迟可能会很大,与原最优路径相比,通信质量大大下降;而庞大的网络通信结构,密集的网络通信节点,直接对拥塞节点的识别又存在较大的困难。


技术实现要素:

4.本发明为了解决上述问题,提出了一种基于蚁群算法的网络拥塞节点识别方法及系统,本发明致力于快速寻找网络中的拥塞节点,为在根源问题上提升网络通信质量提供了重要帮助。
5.为了实现上述目的,本发明是通过如下的技术方案来实现:
6.第一方面,本发明提供了一种基于蚁群算法的网络拥塞节点识别方法,包括:
7.获取网络传播时延矩阵和网络排队时延矩阵;
8.根据获取的网络传播时延矩阵和网络排队时延矩阵,构建网络总时延矩阵;
9.采用蚁群算法在所述网络总时延矩阵内循环搜索,得到当前网络拓扑中的最优路径及其总时延;
10.将拥有共同子路径的最优路径进行合并,获得原最优路径及其总时延;
11.随机降低原最优路径数据中共同子路径上网络节点的数据处理能力;根据降低数据处理能力后的路径数据,循环搜索得到现最优路径及其总时延;
12.对原最优路径及其总时延和现最优路径及其总时延进行对比,得到网络拥塞节点。
13.进一步的,所述网络传播时延为网络节点之间距离与数据传输速度的比值。
14.进一步的,所述网络排队时延,通过服务强度比上节点服务率和数据到达速率的差得到,所述服务强度为数据到达速率与节点服务率的比值。
15.进一步的,网络节点的数据处理能力,是指单位时间内该网络节点可以处理的数据包数量。
16.进一步的,所述网络总时延矩阵由网络传播时延矩阵和网络排队时延矩阵相加获得。
17.进一步的,采用蚁群算法在所述网络总时延矩阵内循环搜索,得到当前网络拓扑中的最优路径及其总时延,包括:
18.对蚁群算法的初始参数进行初始化赋值;
19.将蚂蚁放到网络起始节点,在所述网络总时延矩阵内循环搜索,指定网络终止节点;
20.蚂蚁根据起始节点与其相邻节点链路上的信息素浓度,计算转移概率,并检查下一跳节点是否在蚂蚁的禁忌表中;如果不在,则将该节点加入到蚂蚁的禁忌表中,否则重新选择下一跳节点;
21.判断当前网络节点是否为网络终止节点;若是,则先进行更新最优路径、最优路径节点数以及最优路径总时延,然后进入后续处理;若否直接进入后续处理;
22.更新链路上的信息素浓度,当前循环次数自增1;
23.判断当前循环次数是否大于循环总次数;若是,则输出最优路径以及最优路径总时延;若否,重新进行循环搜索。
24.进一步的,原最优路径和现最优路径对比,不仅可以发现现最优路径上的大部分节点与原来相同,只有某一个或某几个节点被跳过,从而推断出跳过的节点极有可能就是拥塞节点;此外还可以发现现最优路径的总时延远大于原最优路径,证明了识别拥塞节点的必要性。
25.第二方面,本发明还提供了一种基于蚁群算法的网络拥塞节点识别系统,包括:
26.数据采集模块,被配置为:获取网络传播时延矩阵和网络排队时延矩阵;
27.总时延矩阵构建模块,用于根据获取的网络传播时延矩阵和网络排队时延矩阵,构建网络总时延矩阵;
28.循环搜索模块,被配置为:采用蚁群算法在所述网络总时延矩阵内循环搜索,得到当前网络拓扑中的最优路径及其总时延;
29.原最优路径数据获取模块,被配置为:将拥有共同子路径的最优路径进行合并,获得原最优路径及其总时延;
30.现最优路径数据获取模块,被配置为:随机降低原最优路径数据中共同子路径上网络节点的数据处理能力;根据降低数据处理能力后的路径数据,循环搜索得到现最优路径及其总时延;
31.识别模块,被配置为:对原最优路径及其总时延和现最优路径及其总时延进行对比,得到网络拥塞节点。
32.第三方面,本发明还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现了第一方面所述的基于蚁群算法的网络拥塞节点识别方法的步骤。
33.第四方面,本发明还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现了第一方面所述的基于蚁群算法的网络拥塞节点识别方法的步骤。
34.与现有技术相比,本发明的有益效果为:
35.本发明通过原最优路径与现最优路径中节点的变动对比,以及二者总时延的对比,可以快速缩小拥塞节点的查找范围,甚至可以实现直接锁定具体的拥塞节点的目的;对后期及时处理拥塞节点,在根源问题上提升网络通信质量提供了重要帮助,为代替通过寻找次优路径来满足通信服务的方式提供了可靠依据。
附图说明
36.构成本实施例的一部分的说明书附图用来提供对本实施例的进一步理解,本实施例的示意性实施例及其说明用于解释本实施例,并不构成对本实施例的不当限定。
37.图1为本发明实施例1的流程图;
38.图2为本发明实施例1的蚁群算法在网络总时延矩阵内循环搜索的流程图。
具体实施方式:
39.下面结合附图与实施例对本发明作进一步说明。
40.应该指出,以下详细说明都是例示性的,旨在对本技术提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本技术所属技术领域的普通技术人员通常理解的相同含义。
41.实施例1:
42.如图1所示,本实施例提供了一种基于蚁群算法的网络拥塞节点识别方法,包括:
43.a0:构建网络拓扑模型,规划节点之间的距离信息,构建网络节点位置距离矩阵以及获取数据传输速度,构建网络传播时延矩阵;
44.在本实施例中,可以基于matlab平台,构建n个节点的网络拓扑模型,其中,n》50,节点数越多,得到的数据将更真实;构建网络节点位置距离矩阵t,其中,不连接的节点则设置为∞;
45.在本实施例中,所述网络传播时延,可以定义为网络节点之间距离与数据传输速度的比值;
46.a1:获取网络拓扑中各网络节点的数据排队时延,构建网络排队时延矩阵;在本实施例中,所述网络排队时延wq的计算公式为:
[0047][0048][0049]
其中,wq为网络排队时延,ρ为服务强度,λ为数据到达速率,μ为节点的服务率;
[0050]
a2:通过所述网络传播时延矩阵和所述网络排队时延矩阵构建网络总时延矩阵;
[0051]
在本实施例中,所述网络总时延矩阵,可以由所述网络传播时延矩阵和所述网络排队时延矩阵相加获得;具体地,所述网络传播时延可以设置为毫秒级,与所述网络排队时延相比要小很多,甚至可以忽略不计,网络节点处的排队时延是决定最优路径的关键性因素;
[0052]
在本实施例中,利用网络拓扑系统中通信网络节点位置距离信息得到网络传播时延矩阵以及网络排队时延矩阵,构建网络总时延矩阵,便于通过蚁群算法在网络总时延矩
阵内循环搜索,进而高效获取最优路径,同时得到的最优路径更加真实准确;
[0053]
a3:对蚁群算法的初始参数进行初始化赋值;
[0054]
在本实施例中,所述初始参数至少包括网络起始节点、网络终止节点、节点间距离、数据包到达速率、节点服务率、遍历蚂蚁总数、循环总次数、信息素因子、启发式因子、信息素矩阵、信息素残留、最优路径、最优路径节点数和最优路径总时延中的一种或多种;
[0055]
实际使用时,网络起始节点和终止节点均可以随意指定,通过规定不同的起始节点和终止节点得到大量实验数据用来对比验证结果;一般遍历蚂蚁总数=网络总节点总数*0.5(得到的结果四舍五入取整);循环总次数根据网络复杂度设置,范围一般为几十到几百之间;信息素矩阵与节点距离矩阵对应均为n
×
n的矩阵且信息素矩阵为单位矩阵,信息素残留为百分比数,一般为85-95%之间;
[0056]
a4:采用所述蚁群算法在所述网络总时延矩阵内循环搜索,获取当前网络拓扑中的最优路径以及最优路径总时延。
[0057]
如图2所示,步骤a4包括:
[0058]
b0:将m只蚂蚁放到网络起始节点,采用所述蚁群算法在所述网络总时延矩阵内循环搜索指定网络终止节点;
[0059]
实际使用时,根据上下文所述遍历蚂蚁数m=节点总数n*0.5(得到的结果四舍五入取整);循环次数k赋值为1;网络起始节点和终止节点人为指定;
[0060]
b1:蚂蚁根据起始节点与其相邻节点链路上的信息素浓度,计算转移概率,并检查下一跳节点是否在蚂蚁的禁忌表中;如果不在,则将该节点加入到蚂蚁的禁忌表中,否则重新选择下一跳节点;
[0061]
b2:判断当前网络节点是否为网络终止节点;若是,执行b3;若否,则执行b4;
[0062]
b3:更新所述最优路径、最优路径节点数以及最优路径总时延并记录,然后执行b4;
[0063]
实际使用时,以网络起始节点开始,利用蚁群算法在网络总时延矩阵中搜索,并记录搜索路径;若通信网络节点已经遍历过,本次搜索不再遍历;若遍历到网络终止节点,则当前循环次数的蚂蚁遍历成功;然后,将最优路径更新并记录该蚂蚁遍历路径,将最优路径节点数更新,记录该蚂蚁遍历的节点数,并将最优路径总时延更新。
[0064]
b4:更新链路上的信息素浓度并且所述当前循环次数自增1;
[0065]
b5:判断当前循环次数是否大于循环总次数;若是,则输出最优路径以及最优路径总时延;若否,则执行b0;
[0066]
a5:采用所述蚁群算法更改不同起始节点以及不同终止节点,获得多条最优路径以及最优路径总时延;
[0067]
a6:将拥有共同子路径的最优路径两两放置在一起,形成多组数据,并命名为原最优路径,将原最优路径及其总时延存储在原最优路径集合中;
[0068]
a7:从所述原最优路径集合中选取一组数据,随机挑选共同子路径上的网络节点,大大降低该节点处理数据能力;
[0069]
降低该节点处理数据能力,是指单位时间内该网络节点可以处理的数据包数量减少。
[0070]
a8:再次运行所述蚁群算法,得到现最优路径及其总时延,并将现最优路径集合以
及总时延等数据放入现最优路径集合中;
[0071]
a9:将原最优路径集合和现最优路径集合中的多组数据一一对比;推测跳过的节点就是拥塞节点;
[0072]
本实施例中,原最优路径和现最优路径对比,一个或多个节点被跳过,将跳过的节点被设别为拥塞节点,同时,通过最优路径的总时延大于原最优路径,对识别的拥塞节点进行验证;具体的,在进行拥塞节点推测和识别时,比较现最优路径和原最优路径,不仅可以发现现最优路径上的大部分节点与原来相同,只有某一个或某几个节点被跳过,从而推断出跳过的节点极有可能就是拥塞节点;此外还可以发现现最优路径的总时延远大于原最优路径,证明了识别拥塞节点的必要性。
[0073]
实际使用时,通过多组实验数据对比,通过本实施例,可以明显缩小拥塞节点的识别范围,甚至某些情况下可以直接锁定具体的节点。
[0074]
在本实施例中,如表1所示,将两个集合中的路径进行对比,发现每一组数据中,现最优路径均选择绕过了原最优路径中的某些节点,而这些节点恰恰是发生拥塞后处理数据能力急剧下降的节点;并且通过原最优路径总时延和现最优路径总时延的对比,可以发现原最优路径的总时延要小很多。
[0075]
表1:原最优路径集合与现最优路径集合中的部分实验数据对比
[0076][0077]
实施例2:
[0078]
本实施例提供了一种基于蚁群算法的网络拥塞节点识别系统,包括:
[0079]
数据采集模块,被配置为:获取网络传播时延矩阵和网络排队时延矩阵;
[0080]
总时延矩阵构建模块,用于根据获取的网络传播时延矩阵和网络排队时延矩阵,构建网络总时延矩阵;
[0081]
循环搜索模块,被配置为:采用蚁群算法在所述网络总时延矩阵内循环搜索,得到
当前网络拓扑中的最优路径及其总时延;
[0082]
原最优路径数据获取模块,被配置为:将拥有共同子路径的最优路径进行合并,获得原最优路径及其总时延;
[0083]
现最优路径数据获取模块,被配置为:随机降低原最优路径数据中共同子路径上网络节点的数据处理能力;根据降低数据处理能力后的路径数据,循环搜索得到现最优路径及其总时延;
[0084]
识别模块,被配置为:对原最优路径及其总时延和现最优路径及其总时延进行对比,得到网络拥塞节点。
[0085]
实施例3:
[0086]
本实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现了实施例1所述的基于蚁群算法的网络拥塞节点识别方法的步骤。
[0087]
实施例4:
[0088]
本实施例提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现了实施例1所述的基于蚁群算法的网络拥塞节点识别方法的步骤。
[0089]
以上所述仅为本实施例的优选实施例而已,并不用于限制本实施例,对于本领域的技术人员来说,本实施例可以有各种更改和变化。凡在本实施例的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本实施例的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1