一种域内路由选择优化方法及系统与流程

文档序号:30090817发布日期:2022-05-18 08:51阅读:102来源:国知局
一种域内路由选择优化方法及系统与流程

1.本发明涉及网络通信技术领域,具体涉及一种改进的rip协议框架下的域内路由选择优化方法、系统。


背景技术:

2.随着网络技术迅猛发展,对网络的依赖性越来越强,网络规模呈指数增长,网络流量数据急剧膨胀。为了便于网络资源的维护和安全性管理,使得建立于互联网框架内的各种自治系统的粒度越来越细化、多样化,从而导致分组数据转发的工作重心逐渐由域外网络向域内网络转移,由此急剧增加了各层级自治系统内的路由转发工作量。为此,目前大部分的企业网络均采用了动态路由选择协议。动态路由选择是指节点的路由选择要依靠网络当前的状态信息来决定,这种策略能很好地适应网络流量和拓扑结构的变化,有利于改善网络的性能,适用于复杂的网络环境。
3.rip(routing information protocol)是域内路由选择协议中最为知名的一个,由于其采用的是一种分布式的基于距离向量的路由路径算法,相比于采用链路状态算法的ospf(open shortest path first)具有运算简单、便于维护的特点,成为目前各企业内部网络广泛使用的路由协议。
4.距离向量路由路径算法中定义的“最佳路由”是以到达目的地址的距离最短为标准,每个路由器都通过邻居节点交换的路由信息来维护一张矢量表,表中列出了当前已知的到每个目标的最短距离,以尽最大努力减少整个网络拓扑结构的数据延迟。但是,对于现代通信技术领域而言,“最佳路由”并不仅仅是满足分组平均延迟的最小化,对于网络数据的流量控制,减少拥塞问题也需要高度关注。特别是随着各大、中型企业逐渐实现了办公自动化和服务自动化,必然增大了域内网络中的节点数量,而大量的网络节点会导致网络的拓扑结构复杂化,加大了网络负载的吞吐量。但是,距离向量路由路径算法并不能提供数据流量控制服务,也无法解决网络拥塞问题。
5.另外,对于传统意义上理想的路由算法,算法应对所有用户都是平等的,即网络中所有节点在同一段时间内应分配到相对公平的带宽资源。由于网络结构越来越庞大和繁杂,使得不公平分配资源的情况越发严重,这主要体现在一些处于链路边缘的路由器节点与距离较远的其他节点通信过程中,其发送的报文经常阻塞在某一路由路径上,而处于网络中心位置的路由器节点由于其占有物理位置方面的优势,更容易分配到远多于边缘节点的网络资源,给边缘节点上的用户带来较差的服务体验,尤其是对于采用多点协同工作机制的企业流水线来说可能会带来意想不到的后果。


技术实现要素:

6.为了解决上述存在的技术问题,本发明提供了一种域内路由选择优化方法,该方法具体包括:
7.步骤1)采集域内网络中所有路由器节点的本地路由表数据,通过路由表中路由表
项之间的索引关系构建路由回溯表,该路由回溯表由回溯表项组成,回溯表项中记录路由表项的回溯路径;
8.步骤2)以所有路由回溯表组成的数据集作为事务数据集,利用apriori算法从事务数据集中逐级发现多级频繁项集,并从各级频繁项集中挖掘出对应级数的主干路由器节点,所有主干路由器节点用于组建域内网络中分组转发的主干链路;
9.步骤3)除主干路由器节点以外的路由器节点作为普通路由器节点,采用设定的优先连接规则为所有普通路由器节点确立强连接,该优先连接规则为:查找普通路由器节点的邻居节点,按先后顺序优先选择主干路由器节点或分支路由器节点作为连接对象确立唯一的强连接,所述的分支路由器节点为与主干路由器节点直接或间接相连的路由器节点;
10.步骤4)利用距离向量的路由路径算法在对本地路由表更新过程中,对于由不同邻居节点发来的、具有相同目的地址和距离的路由表项,优先选择由强连接转发的路由表项更新到本地。
11.进一步优选地,所述步骤1)中路由回溯表构建的具体过程为:
12.步骤101)采集域内网络中所有路由器节点的本地路由表数据,路由器节点保存的本地路由表基于rip协议构建,路由表中的路由表项包括目的ip地址、下一跳ip地址和距离字段值dm,m表示路由表项标识;
13.步骤102)提取当前路由表项tm中的目的ip地址作为索引,从下一跳ip地址所在的路由器节点的路由表中查找是否存在相同目的ip地址的路由表项t
m-1
,如果存在且距离字段值为d
m-1,则执行步骤103),否则删除当前路由表项;
14.步骤103)继续提取路由表项t
m-1
中的目的ip地址作为索引,重复执行步骤102),直至遍历到该目的ip地址所在的路由器节点后,将参与运算的所有路由器节点对应的ip地址按遍历的先后排序,生成当前路由表项tm所对应的回溯表项bm,所述的回溯表项bm包括由ip地址组成的回溯路径和各ip地址在该回溯路径中的跳数。
15.进一步优选地,所述步骤2)中主干路由器节点挖掘的具体过程为:
16.步骤201)由生成的每一回溯表项作为一项事务数据,将所有路由器节点的回溯表项组成事务数据集;
17.步骤202)以回溯路径上的ip地址作为项,扫描事务数据集中各事务的所有项,累计每个项的计数,由满足最小支持度计数的项组成频繁1项集的集合l1,并从频繁1项集的集合l1选择计数最高的一项ip地址所在的路由器节点作为1级主干路由器节点;
18.步骤203)对频繁k-1项集的集合l
k-1
中的元素按支持度计数降序排列,执行自连接如果(li[1]=lj[1])∧(li[2]=lj[2])∧

∧(li[k-2]=lj[k-2])∧(li[k-1]<lj[k-1]),表示频繁k-1项集的集合l
k-1
中的子项集li和lj是可连接的,则连接子项集li和lj产生候选k项集{li[1],li[2],

,li[k-1],lj[k-1]},由上述自连接运算生成的所有候选k项集组成集合ck,其中k≥2,i,j表示子项集标识;
[0019]
步骤204)扫描事务数据集中各事务的所有项,累计包含ck中每个候选k项集的事务计数,由满足最小支持度计数的项集组成频繁k项集的集合lk,对集合lk中的元素按支持度计数降序排列,按序提取同时包含1至k-1级主干路由器节点ip地址的项集记为预选项集pk,从所有预选项集pk中提取排序靠前的2
k-1
个普通路由器节点所对应的ip地址,并将该2
k-1
个普通路由器节点作为k级主干路由器节点;
[0020]
步骤205)对排序后的集合lk重复执行步骤203)和步骤204),以获得k+1级主干路由器节点,并继续迭代运算直至无法再获得更高级数的主干路由器节点后,将挖掘出的各级主干路由器节点组成主干路由集合,并按级数升序排列,其中主干路由器节点的级数与优先级成反比。
[0021]
进一步优选地,所述步骤3)中为普通路由器节点确立强连接的具体过程为:
[0022]
步骤301)利用路由回溯表提取当前普通路由器节点的所有邻居节点,按以下规则选择连接对象:
[0023]
如果邻居节点中存在一个主干路由器节点,则选择该主干路由器节点与当前普通路由器节点的连接确立为强连接,并将当前普通路由器节点命名为x级第1分支路由器节点,其中x表示连接的主干路由器节点级数,分支路由器节点的级数与优先级成反比;
[0024]
如果邻居节点中存在至少两个主干路由器节点,则选择级数低的主干路由器节点与当前普通路由器节点的连接确立为强连接,并将当前普通路由器节点命名为x级第1分支路由器节点;
[0025]
如果邻居节点中不存在主干路由器节点,则执行步骤302);
[0026]
步骤302)利用路由回溯表提取还未建立强连接的普通路由器节点的下n跳节点,n≥1,按以下规则选择连接对象:
[0027]
如果下n跳节点中存在一个x级第m分支路由器节点,则选择该分支路由器节点与当前普通路由器节点的连接确立强连接,并将当前普通路由器节点命名为x级第n+m分支路由器节点,其中m≥1;
[0028]
如果邻居节点中存在至少两个分支路由器节点,则选择级数和分支计数低的分支路由器节点与当前普通路由器节点的连接确立强连接,并将当前普通路由器节点命名为x级第n+m分支路由器节点,其中x、m分别属于确立强连接的分支路由器节点的级数和分支计数属性;
[0029]
如果下n跳节点中不存在分支路由器节点,则执行步骤303);
[0030]
步骤303)利用路由回溯表提取还未建立强连接的普通路由器节点的下n+1跳节点,重复执行步骤302),直至所有普通路由器节点在域内网络中均确立有强连接。
[0031]
进一步优选地,所述步骤4)中采用改进的rip协议执行相邻路由器节点之间的路由信息交换及更新操作,具体操作过程为:
[0032]
接收邻居节点x发来的路由表,对于由邻居节点x到目的地址d的距离值为d1的路由表项,如果本地路由表中不存在目的地址d,则将该路由表项添加到本地路由表中;
[0033]
否则,将距离值d1与本地路由表中记录的到目的地址d的距离值d2进行比较,如果d1+1<d2,则将邻居节点x的路由表项更新到本地;
[0034]
否则,如果d1+1=d2,提取本地路由表中记录的到目的地址d的下一跳节点y,比较邻居节点x与下一跳节点y的优先级,如果邻居节点x的优先级大于下一跳节点y的优先级,则将邻居节点x的路由表项更新到本地,如果邻居节点x的优先级不大于下一跳节点y的优先级,则不对本地路由表项更新;
[0035]
否则,如果d1+1>d2,则不对本地路由表项更新;
[0036]
其中,普通路由器节点优先级<分支路由器节点优先级<主干路由器节点优先级,对于相同级数的两个以上分支路由器节点:分支计数低的分支路由器节点优先级>分
支计数高的分支路由器节点优先级。
[0037]
进一步优选地,在执行k级主干路由器节点挖掘过程中需要满足条件:选择的k级主干路由器节点与k-1级主干路由器节点不相邻。
[0038]
进一步优选地,在主干路由器节点的选择过程中,如果存在多于2
k-1
个符合k级主干路由器节点选择条件的普通路由器节点,则进一步统计符合条件的普通路由器节点在所有路由回溯表中出现的频次,并选择出现频次最高的前2
k-1
个普通路由器节点作为最终的k级主干路由器节点。
[0039]
进一步优选地,在普通路由器节点确立强连接的过程中,如果存在两个以上的、具有相同级数和分支计数的分支路由器节点时,则进一步统计分支路由器节点在所有路由回溯表中出现的频次,并选择出现频次最高的分支路由器节点与当前普通路由器节点的连接确立为强连接。
[0040]
进一步优选地,所述的最小支持度计数表示为:
[0041][0042]
其中,表示所有路由器节点在事务数据集中出现频次的均值。
[0043]
本发明还提供一种域内路由选择优化系统,该系统具体包括路由优化服务器、路由采集器和路由器节点;
[0044]
所述的路由优化服务器与分布式部署于域内网络中的路由采集器连接,具体包括:
[0045]
路由回溯表生成模块:接收路由采集器转发的各路由器节点的本地路由表数据,通过路由表中路由表项之间的索引关系构建路由回溯表,该路由回溯表由回溯表项组成,回溯表项中记录路由表项的回溯路径;
[0046]
主干路由器节点挖掘模块:以所有路由回溯表组成的数据集作为事务数据集,利用apriori算法从事务数据集中逐级发现多级频繁项集,并从各级频繁项集中挖掘出对应级数的主干路由器节点;
[0047]
强连接定义模块:采用设定的优先连接规则为所有普通路由器节点确立强连接,该优先连接规则为:查找普通路由器节点的邻居节点,按先后顺序优先选择主干路由器节点、分支路由器节点作为连接对象确立唯一的强连接;
[0048]
强连接信息发送模块:将与普通路由器节点确立为强连接的对方身份信息通过路由采集器发送给指定的普通路由器节点,该身份信息包括路由器节点的ip地址、属于主干路由器节点或分支路由器节点的等级属性;
[0049]
所述的路由采集器用于采集临近路由器节点的本地路由表,并转发至路由优化服务器,同时负责转发具有强连接关系的路由器节点身份信息,该路由采集器不参与域内网络的路由信息交换和更新服务;
[0050]
所述的路由器节点具体包括:
[0051]
路由表发送模块:根据路由采集器发来的路由回溯请求消息,向对应的路由采集器回传本地的路由表数据;
[0052]
强连接信息接收模块:接收与本地具有强连接关系的对方身份信息,并保存至本地;
[0053]
路由表接收模块:用于接收相邻路由器节点发来的路由表数据;
[0054]
路由更新模块:基于改进的rip协议,以具有强连接关系的连接对象作为路由更新的优先选择方式完成本地的路由更新。
[0055]
本发明所提供改进的域内路由选择优化方法及系统的优点在于:
[0056]
构建稳定可靠的主链路:利用各路由器节点的路由表建立关联的路由回溯表,并以此表作为数据挖掘对象,采用apriori算法逐层挖掘频繁出现在路由路径中的主干路由节点,以所有主干路由节点组建成的主干链路即为域内网络的结构中心,该主干链路相比于其他分支链路在本网络自治系统内承载着更多的数据流量,继而可在主干链路上设置高性能的路由器,如选择具有高密度高速接口、多总线多核结构、大容量路由存储的高端路由器,从而提高链路带宽和数据吞吐量,减少拥塞问题在繁忙路径发生的频率。
[0057]
具有数据分流功能的路由策略:将剩余的普通路由器节点按照其与主干路由器节点的相邻距离,以主干链路为中心由近及远的为所有普通路由器节点确立直接或间接的强连接关系,基于rip协议框架下的距离向量路由算法进行改进,对于由不同邻居节点发来的、具有相同目的地址和距离的路由表项,优先选择由强连接转发的路由表项更新到本地,使得在支持路由最短算法原则下,将部分数据流量分配到主干链路上,进一步减小窄带路径上负载的压力,同时能够为边缘路由器分配到更多的带宽资源,降低不平等的资源分配事件发生概率,为普遍的大众用户提供相对平稳的网络服务体验或提高企业的同步工作效率。
[0058]
提高域外网络间的路由效率:根据本发明建立的主干链路及逐层组建的分支网络,在与外部网络进行数据交换时,可将优先等级较高的主干路由器节点设定为自治系统的边界路由器,使得普通路由器节点能够通过强连接路径将外网交互报文顺利地发送到边界路由器,并进一步转发至外界网络,相比于传统边界路由器部署策略,能够极大地提高本地路由节点与外界网络的数据交换效率。
附图说明
[0059]
图1为本发明提供的一种域内路由选择优化方法流程图;
[0060]
图2为本发明提供的一个实施例中的网络拓扑结构示意图;
[0061]
图3为由图2中网络拓扑结构建立的强连接关系示意图;
[0062]
图4为本发明提供的另一个实施例中的已构建强连接的网络拓扑结构示意图;
[0063]
图5为本发明提供的域内路由选择优化系统的整体框架图;
[0064]
图6为本发明提供的一种域内路由选择优化系统的具体结构示意图。
具体实施方式
[0065]
下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
[0066]
随着各类业务对互联网的需求日趋增加,目前互联网对保障用户qos(quality of service,服务质量)的能力存在明显的缺陷。传统的域内网络中由于整体结构复杂且设备
性能饱和,已经很难满足当前不同新业务对qos的要求,并且新兴业务下的网络流量比传统网络流量更为复杂,同时域内网络中多节点之间的频繁通信越发导致网络发生拥塞,导致网络带宽得不到充分利用,终端用户之间的时延变长等问题,继而使得网络的整体服务性能下降。因此如何利用当前有限的网络资源来保障不同数据流的qos需求已经成为网络内部结构优化的关键问题。
[0067]
如图1所示,本发明提供的域内路由选择优化方法,该方法具体包括以下步骤:
[0068]
步骤1)采集域内网络中所有路由器节点的本地路由表数据,通过路由表中路由表项之间的索引关系构建路由回溯表,该路由回溯表由回溯表项组成,回溯表项中记录路由表项的回溯路径;
[0069]
步骤2)以所有路由回溯表组成的数据集作为事务数据集,利用apriori算法从事务数据集中逐级发现多级频繁项集,并从各级频繁项集中挖掘出对应级数的主干路由器节点,所有主干路由器节点用于组建域内网络中分组转发的主干链路;
[0070]
步骤3)除主干路由器节点以外的路由器节点作为普通路由器节点,采用设定的优先连接规则为所有普通路由器节点确立强连接,该优先连接规则为:查找普通路由器节点的邻居节点,按先后顺序优先选择主干路由器节点或分支路由器节点作为连接对象确立唯一的强连接,所述的分支路由器节点为与主干路由器节点直接或间接相连的路由器节点;
[0071]
步骤4)利用距离向量的路由路径算法在对本地路由表更新过程中,对于由不同邻居节点发来的、具有相同目的地址和距离的路由表项,优先选择由强连接转发的路由表项更新到本地。
[0072]
下面以具体实施例对上述实施过程做具体阐述,如图2所示,本实例中选取8个路由器节点r1至r8,图中的边表示两相邻节点间的物理连接关系,采集这八个路由器节点的本地路由表数据,如表1所示:
[0073][0074]
表1各节点的本地路由表数据
[0075]
路由器节点保存的本地路由表是基于rip协议构建的,其中每个单元格表示一个路由表项,包括下一跳ip地址和跳数(距离),其中目的地址显示在列的首行,每一行数据表示以当前起始地址的节点在本地存储的路由表,为了简化说明,直接使用r1…
r8表示对应的ip地址,对于邻居节点之间的路由表项为直连,跳数为1,每多一跳计数加1。
[0076]
利用表1,逐一提取各单元格中的路由数据,根据当前路由数据指向的终点,从下一跳ip地址所在的路由器节点的路由表中查找是否存在相同目的ip地址的路由表项,同时判断距离字段是否为上一跳距离字段减一,如果无法找到匹配结果,则删除上一跳单元格中的路由数据,否则继续提取下一跳节点中的下一跳字段值,从该字段值记录的ip地址所在的路由器节点(即下两跳节点)中继续查找具有相同目的ip地址的路由表项,重复执行上述匹配操作,直至遍历到该目的ip地址所在的路由器节点后,表明由起始地址到目的地址的这条路由路径验证为合法路径。
[0077]
然后将该合法路径中参与上述运算的所有路由器节点对应的ip地址按遍历的先后排序,生成当前路由表项所对应的回溯表项,所述的回溯表项包括由ip地址组成的回溯路径和各ip地址在该回溯路径中的跳数。
[0078]
以表1中起始地址r7至目的地址r3的路由表项为例:路由器节点r7在本地存储的路由表项中到r3的下一跳节点为r5,跳数为3,然后从下一跳节点r5的路由表中检索可知其存
在到r3的路由表项,下一跳节点为r4,跳数为2,该条件符合要求,继续从节点r4的路由表中检索可知其与目的地址r3之间存在直连关系,跳数为1,最终可由节点r4到达目的地址r3,至此完成当前路由表项的路径遍历过程。
[0079]
最后将回溯表项表示为:
[0080][0081]
其中,箭头指向路径,数字表示跳数。
[0082]
同理,统计所有单元格在合法路径下所对应的回溯表项,为了便于展示,将具有路由路径包含关系的不同回溯表项进行压缩,并省略节点跳数,简化的各节点的路由回溯表可以集合方式表示为:
[0083]
r1{r2→
r5→
r7,r4→
r3,r4→
r6→
r8}
[0084]
r2{r1,r4→
r3,r4→
r6→
r8,r5→
r7}
[0085]
r3{r4→
r1,r4→
r2,r4→
r6→
r8,r4→
r5→
r7}
[0086]
r4{r1,r2,r3,r6→
r8,r5→
r7}
[0087]
r5{r2→
r1,r4→
r3,r7,r6→
r8}
[0088]
r6{r4→
r1,r4→
r3,r4→
r2,r5→
r7,r8}
[0089]
r7{r5→
r2→
r1,r5→
r4→
r3,r5→
r6,r8}
[0090]
r8{r7→
r5→
r2,r6→
r4→
r1,r6→
r4→
r3}
[0091]
以上述集合r1{}中记录的元素“r2→
r5→r7”为例,其包含三个回溯表项:
[0092][0093][0094][0095]
在统计得到上述各节点的回溯表之后,开始执行主干路由器节点的挖掘过程。本发明采用apriori算法,该算法使用频繁项集性质的先验知识,利用一种称为逐层搜索的迭代方法,其中k项集用于探索(k+1)项集。
[0096]
根据定义,如果项集i不满足最小支持度阈值min_sup,则i不是频繁的,即p(i)<min_sup。如果把项a添加到项集i中,则结果项集(即i∪a)不可能比i更频繁出现。因此,i∪a也不是频繁的,即p(i∪a)<min_sup。该性质属于一类特殊的性质,称为反单调性(antimonotone),意指如果一个集合不能通过测试,则它的所有超集也都不能通过相同的测试。称它为反单调的,因为在通不过测试的意义下,该性质是单调的。
[0097]
在本实例中,利用apriori算法具体的实施过程为:
[0098]
首先,由每一个回溯表项作为一项事务数据,回溯路径上记录的任意节点ip地址表示项。将各路由器节点的回溯表项组合成一个事务数据集,其中集合的每个元素代表一项事务数据。
[0099]
然后,通过扫描事务数据集中各事务的所有项,累计每个项在事务数据集中出现的计数,由满足最小支持度计数的项组成频繁1项集的集合l1,并从频繁1项集的集合l1选择计数最高的一项ip地址所在的路由器节点作为1级主干路由器节点。
[0100]
如表2所示,每一行对应各节点的路由回溯表,每一列表示某一ip地址在各节点路由回溯表中出现的计数,将所有计数汇总即表示当前ip地址在事务数据集中出现的计数总和。其中,路由器节点r4的计数最高,将该节点作为1级主干路由器节点。为了便于完成后续的数据统计,本实施例中设定的最小支持度计数为7,即将所有路由器节点都并入集合l1。
[0101][0102]
表2事务数据集中出现的计数
[0103]
将集合l1中的元素按支持度计数降序排列,表示为:
[0104]
l1={r4,r5,r6,r2,r7,r1,r3,r8}
[0105]
由于r1,r3,r8的计数相等,则可按序号对这三个节点进行排序。
[0106]
对上述排序后的集合l1执行自连接运算所述的自连接过程为:对于给定的频繁k-1项集的集合l
k-1
,如果(li[1]=lj[1])∧(li[2]=lj[2])∧

∧(li[k-2]=lj[k-2])∧(li[k-1]<lj[k-1]),表示频繁k-1项集的集合l
k-1
中的子项集li和lj是可连接的,则连接子项集li和lj产生候选k项集{li[1],li[2],

,li[k-1],lj[k-1]},由上述自连接运算生成的所有候选k项集组成集合ck,其中k≥2。按此算法运算获得的候选2项集组成集合c2表示为:
[0107][0108]
集合c2中的符号“||”表示同时出现关系,集合中的每个元素代表一个候选2项集。进一步扫描事务数据集中各事务的所有项,累计包含c2中每个候选2项集的事务计数,统计结果如表3所示。
[0109]
候选2项集r4||r5r4||r6r4||r2r4||r7r4||r1r4||r3r4||r8事务计数816748147候选2项集r5||r6r5||r2r5||r7r5||r1r5||r3r5||r8r6||r2事务计数59144433
候选2项集r6||r7r6||r1r6||r3r6||r8r2||r7r2||r1r2||r3事务计数24410562候选2项集r2||r8r7||r1r7||r3r7||r8r1||r3r1||r8r3||r8事务计数2224222
[0110]
表3候选2项集的事务计数汇总
[0111]
从表3中统计的结果可知,由不小于最小支持度计数7的候选2项集组成频繁2项集的集合l2为:{r4||r6,r4||r3,r5||r7,r6||r8,r5||r2,r4||r1,r4||r5,r4||r2,r4||r8}
[0112]
上述集合l2是以元素支持度计数降序排列,然后按序提取同时包含1级主干路由器节点ip地址的项集记为预选项集p2,其中包含路由器节点r4的项集分别为:r4||r6、r4||r3、r4||r1、r4||r5、r4||r2、r4||r8,从所有预选项集p2中提取排序靠前的21个普通路由器节点所对应的ip地址,并将该2个普通路由器节点作为2级主干路由器节点,即为r6和r3。
[0113]
同理,继续对集合l2执行自连接运算生成的所有候选3项集组成集合c3表示为:
[0114][0115]
重新扫描事务数据集中各事务的所有项,累计包含c3中每个候选3项集的事务计数,统计结果如表4所示。
[0116]
候选3项集r4||r6||r3r4||r6||r8r4||r6||r1r4||r6||r5r4||r6||r2r4||r3||r1事务计数444032候选3项集r4||r3||r5r4||r3||r2r4||r3||r8r5||r7||r2r5||r4||r7r5||r2||r4事务计数422540候选3项集r4||r1||r5r4||r1||r2r4||r1||r8r4||r5||r8r4||r2||r
8 事务计数00201 [0117]
表4候选3项集的事务计数汇总
[0118]
从表4中统计的结果可知,没有满足最小支持度计数的候选3项集出现,至此获得了链路上的1级主干路由器节点r4和2级主干路由器节点r6、r3,并在这三个节点之间形成一条主干链路,其中节点r4的优先级要高于节点r6和r3,所述的优先级是指在具有相同条件下的多个可选节点时,在确立强连接关系或路由更新规则的择优方式。另外,从图2所示的网络拓扑结构也可直观的看出,相比于其他节点,节点r4的邻居节点最多,其位于网络结构的中心,而位于网络边缘的节点r3也通过运算规则列入主干路由器节点,主要是因为节点r3只能通过节点r4与其他不相邻的路由器节点通信,由此在数据报文互传过程中会在节点r3和节点r4之间带来严重的载荷负担,因此需要提高节点r3的带宽,避免数据拥塞。
[0119]
除主干路由器节点以外,将剩余的路由器节点r1、r2、r5、r7、r8记作普通路由器节点,为每个普通路由器节点确立强连接。本发明中所述的强连接并不是重新为路由器节点之间搭建物理连接,而是在原有物理连接关系基础上,从相邻的连接边中优选一条连接边定义为本地路由器节点与外界的强连接,在相同路由选择条件下,强连接比其他普通连接关系具有更高的优先级,即优先将强连接发送的路由信息更新到本地。
[0120]
在本实施例中,为普通路由器节点确立强连接的具体过程:
[0121]
第一步,利用路由回溯表提取当前普通路由器节点的所有邻居节点,按以下规则选择连接对象:
[0122]
如果邻居节点中存在一个主干路由器节点,则选择该主干路由器节点与当前普通路由器节点的连接确立为强连接,并将当前普通路由器节点命名为x级第1分支路由器节点,其中x表示连接的主干路由器节点级数,其中分支路由器节点的级数与优先级成反比。
[0123]
如果邻居节点中存在至少两个主干路由器节点,则选择级数低的主干路由器节点与当前普通路由器节点的连接确立为强连接,并将当前普通路由器节点命名为x级第1分支路由器节点,其中x属于确立强连接的主干路由器节点的级数属性。
[0124]
如果邻居节点中不存在主干路由器节点,则执行第二步;
[0125]
第二步,利用路由回溯表提取还未建立强连接的普通路由器节点的下n跳节点,n≥1,按以下规则选择连接对象:
[0126]
如果下n跳节点中存在一个x级第m分支路由器节点,则选择该分支路由器节点与当前普通路由器节点的连接确立强连接,并将当前普通路由器节点命名为x级第n+m分支路由器节点,其中m≥1;
[0127]
如果邻居节点中存在至少两个分支路由器节点,则选择级数和分支计数低的分支路由器节点与当前普通路由器节点的连接确立强连接,并将当前普通路由器节点命名为x级第n+m分支路由器节点,其中x、n分别属于确立强连接的分支路由器节点的级数和分支计数属性;
[0128]
如果下n跳节点中不存在分支路由器节点,则执行第三步;
[0129]
第三步,利用路由回溯表提取还未建立强连接的普通路由器节点的下n+1跳节点,重复执行上一步,直至所有普通路由器节点在域内网络中均确立有强连接。即每多增加一跳,分支计数加一。当存在两个不同级数的分支路由器节点时,选择级数低的来确立强连接,当存在两个相同级数的分支路由器节点时,则优先选择分支计数低的路由器节点,因为分支计数低的路由器节点更加靠近主干链路。
[0130]
在特殊情况下,如果存在两个以上的、具有相同级数和分支计数的分支路由器节点时,则进一步统计分支路由器节点在所有路由回溯表中出现的频次,并选择出现频次最高的分支路由器节点与当前普通路由器节点的连接确立为强连接。
[0131]
根据上述强连接确立规则对本实施例实施的过程为:
[0132]
首先,选择与主干链路相邻的路由器节点,包括节点r1、r2、r5和r8。其中节点r1、r2只与1级主干路由器节点r4相邻,因此在r1与r4、r2与r4之间确立强连接,节点r5同时与节点r4和r6相邻,但由于r6属于2级主干路由器节点,其优先级低于1级主干路由器节点r4,因此优先选择r5与r4之间确立强连接,对于节点r8,由于其只与2级主干路由器节点r6相邻,因此在r8与r6之间确立强连接,此时完成了与主干链路临近的所有普通路由器节点强连接的确立工作,根据路由器节点定义规则,节点r1、r2、r5均被定义为1级第1分支路由器节点,由于节点r8是与2级主干路由器节点r6确立的强连接关系,因此该节点r8被定义为2级第1分支路由器节点。
[0133]
然后,继续按下一跳距离寻找到最后剩余的节点r7,其分别与节点r5、r8相邻,由于节点r5的优先级高于节点r8,因此在r7与r5之间确立强连接。如图3所示,粗线表示两个临近节点之间的强连接关系。另外,对于主干链路连线上的节点r3和p4、r4和r6也可根据上述规
的路由数据,保持原路由信息。
[0147]
针对上述路由选择优化方法,本发明还提供了另外一个实施例,与前述实施方式不同之处在于:本实施例中设定的最小支持度计数是可调的。在挖掘频繁1、2项集时设定的最小支持度计数仍为7,而在挖掘频繁3项集时设定的最小支持度计数为4。挖掘对象的网络拓扑结构仍然沿用前一实施例,那么对于1级和2级主干路由器节点的挖掘过程与结果与上一实施例相同,参见上一实施过程,在此不做赘述。下面主要阐述频繁3项集和3级主干路由器节点的挖掘过程:
[0148]
根据表4中显示的事务计数结果可知,满足最小支持度计数4的候选3项集组成频繁3项集的集合l3为:
[0149]
l3={r5||r7||r2,r4||r5||r3,r4||r6||r8,r4||r6||r1,r4||r3||r5,r5||r4||r7}
[0150]
上述集合l3是以元素支持度计数降序排列,由于r5||r7||r2和r5||r4||r7不包含2级主干路由器节点r3或r6,则将其删除,而r4||r6||r3同时包含多个2级主干路由器节点,故也将其删除。按序提取同时包含1级主干路由器节点r4和2级主干路由器节点r3或r6的项集记为预选项集p3,符合要求的项集包括:r4||r6||r8、r4||r6||r1、r4||r3||r5。
[0151]
按照本发明提供的主干路由器节点挖掘策略,应当从所有预选项集r3中提取排序靠前的22个普通路由器节点作为3级主干路由器节点。考虑到本实施例中选用的网络节点有限,为此只选择一个节点作为3级主干路由器节点,其中符合选择条件的节点为r8、r1、r5。需要进一步统计节点r1、r5、r8在事务数据集中出现的频次,参考表2统计的计数结果可知,节点r5的计数频次最高,因此将节点r5作为3级主干路由器节点。
[0152]
对集合l3执行自连接运算生成的所有候选4项集组成集合c4表示为:
[0153]
{r5||r4||r7||r2,r4||r6||r3||r8,r4||r6||r3||r1,r4||r6||r3||r5,r4||r6||r8||r1,r4||r3||r5||r7}
[0154]
重新扫描事务数据集中各事务的所有项,累计包含c4中每个候选4项集的事务计数,统计结果如表5所示。
[0155]
候选4项集r5||r4||r7||r2r4||r6||r3||r8r4||r6||r3||r1事务计数020候选4项集r4||r6||r3||r5r4||r6||r8||r1r4||r3||r5||r7事务计数022
[0156]
表5候选4项集的事务计数汇总
[0157]
表5中事务计数最高为2,不满足前一迭代运算过程中设定的最小支持度计数4的要求,终止主干路由器节点的挖掘操作。
[0158]
为剩余的普通路由器节点r1、r2、r7、r8确立强连接。如图4所示,本实例得到的强连接关系与上一实施例确立的结果相同。不同之处在于:在各节点强连接确立之后又新增一路由器节点r9,节点r9与节点r2、r5、r7相邻。由于节点r5的优先级大于其他两个节点,因此将节点r5与r9之间的物理连接确定为强连接。从图4的网络拓扑结构不难看出,新定义的3级主干路由器节点r5能够有效地分流节点r9发送的数据。
[0159]
不同的自组织网络其内部节点数量各不相同,有时会相差较大的数量级。对于路由器节点数量多、物理连接结构复杂的域内网络,最小支持度计数还可通过如下公式来确定:
[0160][0161]
其中,表示所有路由器节点在事务数据集中出现频次的均值;为了满足不同网络需要,在多次挖掘过程中还可采用动态可变的最小支持度计数,逐层递减的最小支持度计数可能会获得更有效地挖掘结果。
[0162]
另外,为了避免主干链路挖掘趋于局部化,在执行k级主干路由器节点挖掘过程中可设定条件:选择的k级主干路由器节点与k-1级主干路由器节点不相邻,使得各级主干路由器节点组成的主干链路能够延申至整个网络,实现控制绝大部分网络节点数据流的功能,避免数据流过于集中于小部分区域而无法获得有效的数据分流。
[0163]
为了实现上述路由选择优化方法,本发明还提供了域内路由选择优化系统,该系统包括路由优化服务器、路由采集器和路由器节点,如图5所示的系统整体连接关系框架,利用每个路由采集器采集各自辐射云区域范围内的节点路由数据,并均匀分布于整个网络,所有路由采集器由路由优化服务器及集中管理和维护。
[0164]
所述的路由优化服务器与分布式部署于域内网络中的路由采集器连接,如图6所示,路由优化服务器具体包括:
[0165]
路由回溯表生成模块:接收路由采集器转发的各路由器节点的本地路由表数据,通过路由表中路由表项之间的索引关系构建路由回溯表,该路由回溯表由回溯表项组成,回溯表项中记录路由表项的回溯路径;
[0166]
主干路由器节点挖掘模块:以所有路由回溯表组成的数据集作为事务数据集,利用apriori算法从事务数据集中逐级发现多级频繁项集,并从各级频繁项集中挖掘出对应级数的主干路由器节点;
[0167]
强连接定义模块:采用设定的优先连接规则为所有普通路由器节点确立强连接,该优先连接规则为:查找普通路由器节点的邻居节点,按先后顺序优先选择主干路由器节点、分支路由器节点作为连接对象确立唯一的强连接;
[0168]
强连接信息发送模块:将与普通路由器节点具有强连接关系的对方身份信息通过路由采集器发送给指定的普通路由器节点,该身份信息包括路由器节点的ip地址、属于主干路由器节点或分支路由器节点的等级;
[0169]
所述的路由采集器用于采集临近路由器节点的本地路由表,并转发至路由优化服务器,同时负责转发具有强连接关系的路由器节点身份信息,该路由采集器不参与域内网络的路由信息交换和更新服务;
[0170]
所述的路由器节点具体包括:
[0171]
路由表发送模块:根据路由采集器发来的路由回溯请求消息,向对应的路由采集器回传本地的路由表数据;
[0172]
强连接信息接收模块:接收与本地具有强连接关系的对方身份信息,并保存至本地;
[0173]
路由表接收模块:用于接收相邻路由器节点发来的路由表数据;
[0174]
路由更新模块:以具有强连接关系的连接对象作为路由更新的优先选择方式完成本地的路由更新。
[0175]
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应
当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1