1.本发明涉及智能运维领域,主要是一种运维系统中基于人工干预的网络拓扑计算方法。
背景技术:
::2.在it运维领域中,存在大量发现网络节点、计算网络拓扑的市场需求。通过网管软件,扫描网络节点、生成网络拓扑,首先可以让技术人员能够快速全面的掌握网络结构,其次基于网络拓扑,可以进一步进行流量监测、通断管理、故障定位、路径分析等网络常见的运维工作。3.当前的拓扑绘制方法主要根据工程人员部署的经验绘制静态网络拓扑图,然而网络通信业务的变化通常会改变网络流量通信双方的ip地址,进而引起静态网络拓扑图结构变化。当某一个节点的业务突然变得集中,使得该节点与多个节点进行连接,使得该节点过载(本专利中定义为过载节点),从而导致网络拓扑图中包含较多的冗余信息,因此对运维系统的网络拓扑图进行定时定量的人工干预是很有必要的。4.现有技术的缺点在于仅根据网络部署人员的经验绘制静态网络拓扑图,未考虑人工干预通信流量的交互行为,这种方式对由于业务变化而引起的系统配置、通信量等方面改变的情况容易误判。5.此外,在绘制静态网络拓扑图的过程中,由于网络结构复杂、规模庞大,因此也存在大量不同品牌厂商的设备,这些设备所支持的网络发现信息标准各不一致,如思科厂商主要支持cdp、华为厂商主要支持lldp、部份厂商支持fdb,为网络拓扑发现带来了很大的难度。本专利综合cdp、lldp、fdb等网络信息,并结合工程师静态经验,绘制静态网络拓扑图。技术实现要素:6.针对现有运维系统中网络拓扑图的构建过程,根据网络部署人员的经验绘制静态网络拓扑图,未考虑人工干预通信流量交互行为中的冗余连接的问题,本发明在静态网络拓扑图绘制的基础上引入了一种人工定义的方法,而提供一种运维系统中基于人工干预的网络拓扑计算方法。7.本发明的目的是通过如下技术方案来完成的。一种运维系统中基于人工干预的网络拓扑计算方法,该方法具体步骤如下:(1)、将设备指向数据point放到一个表中,记为设备指向数据表pointtable,其中,设备指向数据是指一个设备的源端口上所对应的对端设备的信息;(2)、根据设置的规则,从pointtable中提炼出设备连接数据indirect并放到一个表中,记为indirettable;(3)、对设备连接数据进行人工干预,找出过载节点并删除冗余连接;(4)、剔除网络拓扑图中的间接连接,生成网络拓扑图。8.更进一步的,通过封装设备指向数据模块,将不同设备中连接信息封装为设备指向数据,并构建pointtable。9.更进一步的,所述步骤(2)中的规则为:规则1:如果point已经有明确的对端端口,则此point即是indirect;规则2:如果源设备的point指向某对端设备,该对端设备也存在一个point指向源设备,则这两个point合并为一个indirect。10.更进一步的,所述步骤(3)中,具体包括步骤如下:①计算各节点的平均入度inave与平均出度outave;,其中,insum表示所有节点的入度之和,outsum表示所有节点的出度之和,numv表示所有节点的个数;②确定过载节点:计算各个节点的入度和出度,第i个节点的入度记为ini,第i个节点的出度记为outi,当ini+outi>1.5*(inave+outave),则该节点记为过载节点;③删除与过载节点的冗余连接:计算过载节点的邻居节点的入度和出度,第i个过载节点的第j个邻居节点的入度记为,第i个过载节点的第j个邻居节点的出度记为,如果且,则删除该过载节点与对应的邻居节点的连接。11.更进一步的,所述步骤(4)中,剔除网络拓扑图中的间接连接的规则如下:一个indirect的源端口与对端端口,其源端口对应于一个point集合,对端端口对应于一个point集合,假如二个point集合有交集,则说明此indirect为间接连接,需要剔除;经过上述剔除后,剩余的direct即为网络中的真实物理连接,绘制到拓扑上即成为网络拓扑图。12.本发明的有益效果为:针对现有的网络拓扑图绘制方法中主要根据工程人员部署经验,无法根据集中业务变动简化冗余连接的问题,本发明根据当前节点设备的连接情况对冗余节点(过载节点)进行定时定量的人工干预,避免了由于业务变化而引起的误判。由于本发明无需大量人为操作,计算量小,且分析准确,因此可大量减少误判,提高监测覆盖面与准确率。附图说明13.图1为本发明的基于人工干预的网络拓扑计算算法的流程示意图;图2为人工干预删除冗余连接的流程示意图。具体实施方式14.下面将结合附图和实施例对本发明做详细的介绍:如图1所示,一种运维系统中基于人工干预的网络拓扑计算方法,一共通过4个模块的运行来实现:封装设备指向数据模块、提炼设备连接数据模块、人工干预模块、剔除间接连接模块。其中:(1)封装设备指向数据模块,将不同设备中连接信息封装为设备指向数据,表明一个设备的网络端口上所对应的对端设备的信息。(2)提炼设备连接数据模块,根据设置规则,从设备指向数据中计算提炼出设备连接数据,表明设备间的连接关系。(3)人工干预模块,对设备连接数据进行人工干预,找出过载节点并删除冗余连接;(4)剔除间接连接模块,拓扑要求仅显示直接连接,因此需要对间接连接进行剔除。15.该方法具体步骤如下:(1)、将设备指向数据point放到一个表中,记为设备指向数据表pointtable,其中,设备指向数据是指一个设备的源端口(网络端口)上所对应的对端设备的信息;设备指向数据并不能表示设备间直连,只能表示存在着可能。其格式如下:由于不同品牌厂商的设备所支持的网络发现信息标准各不一致,如思科厂商主要支持cdp、华为厂商主要支持lldp、还有部分厂商支持fdb,为网络拓扑架构的发现带来了很大的难度。本发明综合cdp、lldp、fdb等网络信息,通过封装设备指向数据模块,将不同设备中连接信息转换为设备指向数据,构建pointtable,并结合工程师静态经验,绘制静态网络拓扑图。16.(1)思科厂商支持的cdp信息由于cdp协议本身就是为了进行拓扑计算所发明的算法,所以其结构与指向数据结构一致。17.其结构如下:(2)华为厂商支持的lldp信息华为lldp协议为兼容更多的设备,增加了各灵活的字段支持,因此需要利用发现的数据进行一些转换。18.其结构如下:(3)交换机普遍支持的fdb信息fdb信息是地址转发表,只能留存一个mac地址,也无法确定对端会是一个设备,可能只是一个主机。19.在fdb转换为point时,如果对端设备mac地址,可以唯一标识端口设备的端口,则可以生成对端端口,否则就标记为未知。目前有大量的网络设备,为节省mac地址,往往所有端口都使用一个相同的mac地址,因此无法有效确定。20.其结构如下:(2)、在得到设备指向数据表,即pointtable后,算法进入第二阶段,着重将其中有用的point信息提炼出来,生成设备连接数据(注意,连接也很可能是间接连接,所以还不是最终的拓扑线路),记为indirect。21.根据设置的规则,从pointtable中提炼出设备连接数据indirect并放到一个表中,记为indirettable;所述规则为:规则1:如果point已经有明确的对端端口,则此point即是indirect;规则2:如果源设备的point指向某对端设备,该对端设备也存在一个point指向源设备,则这两个point合并为一个indirect。22.(3)、对设备连接数据进行人工干预,找出过载节点并删除冗余连接,如图2所示,具体包括步骤如下:①计算拓扑图各节点的平均入度inave与平均出度outave;,其中,insum表示所有节点的入度之和,outsum表示所有节点的出度之和,numv表示拓扑图中所有节点的个数;节点的入度是指进入该节点的边的条数,节点的出度是指从该节点出发的边的条数;②确定过载节点:计算各个节点的入度和出度,第i个节点的入度记为ini,第i个节点的出度记为outi,当ini+outi>1.5*(inave+outave),则该节点记为过载节点;即将度值(入度和出度之和)大于平均度值的1.5倍的节点记为过载节点。23.③删除与过载节点的冗余连接:计算过载节点的邻居节点的入度和出度,第i个过载节点的第j个邻居节点的入度记为,第i个过载节点的第j个邻居节点的出度记为,如果且,则删除该过载节点与对应的邻居节点的连接。24.(4)、剔除网络拓扑图中的间接连接,生成网络拓扑图。对于每一个indirect,其只是表示设备的两个端口间存在联系,但无法确定是直接连接,还是间接连接,而拓扑要求仅显示直接连接,因此需要对间接连接进行剔除。25.剔除网络拓扑图中的间接连接的规则如下:一个indirect的源端口与对端端口,其源端口对应于一个point集合,对端端口对应于一个point集合,假如二个point集合有交集(交集运算有值),则说明此indirect为间接连接,需要剔除;经过上述剔除后,剩余的direct即为网络中的真实物理连接,绘制到拓扑上即成为网络拓扑图。26.可以理解的是,对本领域技术人员来说,对本发明的技术方案及发明构思加以等同替换或改变都应属于本发明所附的权利要求的保护范围。当前第1页12当前第1页12