网络故障诊断系统的制作方法

文档序号:7988842阅读:181来源:国知局
专利名称:网络故障诊断系统的制作方法
技术领域
本发明涉及中小型局域网的网络故障诊断系统。
背景技术
随着网络规模的迅速扩大,网络结构日趋复杂,网络设备类型日益繁多,网络安全威胁更加严重,网络管理越来越受到重视,同时对网络管理也提出了更高的要求。网络管理的目的是维护网络的正常运行,提高网络的资源利用率,保证网络的性能、服务质量以及安全性。网络管理的功能包括故障管理、计费管理、配置管理、性能管理和安全管理,网络故障管理是其中的一个重要方面。网络故障管理是在网络出现异常时及时作出警报,并定位、分析和诊断网络故障,尽可能地隔离故障以不至于影响整个网络的正常运行。传统的网络故障管理是基于对网络运行状况信息的搜集,集中于依靠监控网络流量等少量的统计信息。SNMP协议是网络信息收集的最常用方法,几乎所有的网络设备厂商都对SNMP提供支持,是网络管理工业上的事实标准。采用SNMP协议开发的网络故障诊断系统通常能够提供网络环境各种设备的详细统计信息,包括设备基本信息,与设备相关的各种实时网络信息(比如TCP/IP报文数量等)。该类型的网络管理系统的优势是各种统计信息详细,并且适应网络拓扑结构的变化,而它的缺点也非常明显,就是必须要有比较专业的网络管理人员的参与,分析网络的统计信息并对网络状况做出判断。传统的网络故障管理方式不仅需要专业网络管理人员的长期参与,而且只能对网络故障作出简单的表面分析,无法提供引起网络故障的内在原因,以及提前预测网络故障。 具体的不足体现在(1)故障诊断能力不强,只能进行简单的信息收集和Trap (陷阱,是指代理用来报告一个关于被管理子系统的警告或其他异步事件的方式)通知报警,对于越来越复杂的网络故障无有效的应对能力;(2)对于具有一定规模的网络环境,使用SNMP协议进行故障管理会出现效率不高,反应不灵敏,同时对整体的网络运行效率也产生一定的影响。(3)由于网络环境的复杂性以及网络体系结构本身的特性,决定了网络故障的多样性和内在关联性,基于SNMP的网络管理系统难以给予网络故障更加深层、内在的因果解释, 往往故障发生的时候还必须有专业人员参与网络故障的诊断和修复;(4)由于SNMP协议本身的安全设计缺陷,使得使用运用该协议进行网络管理存在一定的安全风险,虽然正式的SNMPv3对安全性做了很大的改进,但是很多当前正在使用的网络管理软件仍然是基于 SNMPvl和SNMPv2,因此依旧存在对安全性的顾虑。随着人工智能技术的快速发展,将人工智能相关技术引入网络故障管理不仅成为现实,还取得了非常好的实际效果。基于知识的专家系统在网络故障管理中有着长久且广泛的应用,并颇具成效。专家系统是一种模拟人类专家解决领域问题的计算机程序系统。专家系统故障诊断方法结合计算机采集被诊断系统的信息,通过内置其中的推理结构进行一定的事件推理来进行故障诊断的新方法。根据专家系统内部的推理过程,不仅可以诊断较为复杂的故障事件,还可以对诊断的结果做出有效的解释。基于规则的推理是以被诊断系统产生的事件与内置的专家级知识规则相匹配来进行推理的专家系统,是应用最早最成熟的智能诊断技术之一,但是基于规则的专家系统还未应用到网络故障诊断领域。

发明内容
本发明提出了一种网络故障诊断系统,其目的在于将网络故障管理从简单的流量等信息的统计提升为以收集的网络运行状态信息为依据的智能诊断和管理,以提高网络故障诊断和恢复的效率,降低网络管理的成本。本发明的技术方案为一种网络故障诊断系统,包括SNMP通信模块、数据库管理模块、核心诊断模块、知识管理模块和用户交互模块;
SNMP通信模块,用于通过SNMP协议获取网络状态信息,所得网络状态信息经过结构化封装形成事实后送入数据库管理模块;
数据库管理模块,用于对数据库的管理和维护,所述数据库包括存放事实的事实库和存放规则的知识库,所述事实由SNMP通信模块输入,所述规则是网络故障知识;并向知识管理模块提供对知识库中规则进行操作的数据库接口 ;
核心诊断模块,用于从数据库管理模块中提取知识库中的规则和事实库中的事实,并将知识库中的规则与事实库中的事实进行匹配,如果有规则被成功匹配,则激活该规则,触发相应的故障告警,并反馈给用户交互模块;
知识管理模块,用于根据用户交互界面的操作信息通过数据块接口对知识库中规则进行相关操作,并通过数据库接口提取知识库中规则并向用户交互界面提供;
用户交互模块,用于向用户输出核心诊断模块反馈的故障告警、知识管理模块提供的知识库中规则的列表,接受用户对知识库中规则进行操作的操作信息并转发到知识管理模块。而且,所述知识库采用层次关联网络故障知识表示模型表示网络故障知识。而且,所述核心诊断模块采用S-Rete算法实现将知识库中的规则与事实库中的事实进行匹配。而且,所述SNMP通信模块同时使用管理站周期轮询和代理Trap通知两种方式获取网络状态信息,获取的网络状态信息经过结构化封装形成事实后送入数据库管理模块, 数据库管理模块激活核心诊断模块将知识库中的规则与事实进行匹配。本发明根据网络故障的特点对知识库和推理机进行设计,在知识表示上设计了一种新型的层次关联网络故障知识表示模型,从底层提升网络故障诊断系统的诊断效率。在该知识表示模型基础之上,结合网络诊断的特点,设计了高效的推理机模式匹配算法,进一步提升系统的运行效率和诊断能力。


图1是本发明实施例的系统结构图。图2是本发明实施例的层次关联网络故障知识表示模型。图3是本发明实施例的元对象结构。图4是本发明实施例的S-Rete算法网络结构。图5是本发明实施例的运行环境示意图。
具体实施例方式以下结合附图和实施例详细说明本发明技术方案。参见图1,本发明实施例提供的系统包括以下几部分
SNMP通信模块,用于通过SNMP协议获取网络状态信息,所得网络状态信息经过结构化封装形成事实后送入数据库管理模块。SNMP (Simple Network Management Protocol),是简单网络管理协议,由互联网工程工作小组(IETFJnternet Engineering Task R)rce)负责制定,该协议能够支持网络管理系统,用以监测连接到网络上的设备是否有任何引起管理上关注的情况。事实,在专家系统中是指系统当前要处理的对象的信息,也被称为工作内存。网络状态信息可以从网络的各代理中采集。数据库管理模块,用于对数据库的管理和维护,所述数据库包括存放事实的事实库和存放规则的知识库,所述事实由SNMP通信模块输入,所述规则是网络故障知识;并向知识管理模块提供对知识库中规则进行操作的数据库接口。知识,在专家系统中是指解决某领域问题的技术、经验、理论等。核心诊断模块,用于从数据库管理模块中提取知识库中的规则和事实库中的事实,并将知识库中的规则与事实库中的事实进行匹配,如果有规则被成功匹配(即满足规则的条件部分),则激活该规则,触发相应的故障告警,并反馈给用户交互模块;
知识管理模块,用于根据用户交互界面的操作信息通过数据块接口对知识库中规则进行相关操作(例如对规则的添加、删除、修改、检索等),并通过数据库接口提取知识库中规则并向用户交互界面提供;
用户交互模块,用于向用户输出核心诊断模块反馈的故障告警、知识管理模块提供的知识库中规则的列表,接受用户对知识库中规则进行操作的操作信息并转发到知识管理模块。综上所述,为了实现网络故障诊断,SNMP通信模块连接到数据库管理模块,并通过连接传输事实到数据库管理模块;数据库管理模块与核心诊断模块连接,并通过连接传输事实和规制到核心诊断模块;核心诊断模块连接用户交互模块,并通过连接传输故障告警到用户交互模块。为了便于用户查看和管理知识库,数据库管理模块与知识管理模块双向连接,知识管理模块与用户交互模块双向连接,从用户交互输入的用户的操作信息经知识管理模块输入数据库管理模块,数据库管理模块提供的知识库中规则经知识管理模块输入用户交互模块。具体实施时,还可以设计更多的用户交互功能,例如在输出知识管理模块提供的知识库中规则的列表供用户查看时,用户交互模块可以向用户提供知识管理的可视化接口,并提供相关操作的详细说明,便于用户输入对知识库中规则进行操作的操作信息时参考。还可以由数据库管理模块向用户交互模块提供接口,用户交互模块通过接口直接调用数据库管理模块中知识库和规则库存放的数据信息,并显示给用户,便于用户直接查看数据库内容。实施例的各模块可以采用计算机软件技术实现,也可以采用硬件技术实现软件固化。为便于实施参考起见,提供实施例具体说明如下
1.知识库和相应的知识管理模块网络故障诊断信息被抽象成为规则,所有的规则形成网络故障诊断的知识库。专家系统对问题的求解是以知识和知识表示为基础的,知识表示形式决定了知识库的存储形式, 系统解决问题的能力范围,知识库的可扩展性,问题求解的解释能力,而且直接影响推理机求解的效率。本发明实施例根据SNMP管理信息库、网络体系结构以及网络故障知识结构特点设计了一种新型的用于产生式规则的知识表示模型,即层次关联网络故障知识表示模型,将网络故障知识高度形式化、抽象化,具有普遍适用性,可根据不同的应用环境设计相应的知识表示结构,很适合计算机内部的处理,可以有效提高专家系统的推理效率。如图2所示,规则i 由条件部分的前件和结论部分的后件组成,由于后件一般是触发一个行为或另一条规则,因此设计的重点在于规则的前件。一条规则的前件可以包含多个条件,称为条件模式(P ),对于每一个条件模式由元模式(MP )和比较对象(COB )以及它们要进行的条件运算(COP )构成。元模式是条件模式的核心,其中的元对象 (MOB )决定了哪些事实知识适用于该条件模式。元模式中设置了元运算(MOP )以增强规则的表达能力。元对象与具体的知识形式相关,根据网络知识的结构,由系统标识(SId )、知识类别标识(Cld )、应用标识(AM )和对象标识(OM )共同构成。对于一条规则,
R = {r I (PuP2,---PnXPi eP}(式 1)
多个条件模式Α,Λ,…A,记为条件模式约, 取1,2,···《, 为条件模式个数。其中,
F = {p\ (¥ψ, cop, cob), πψ e MP, cop e COP,cob e COB) (式 2 ) MP = {mp I (mob, mop,ymb), mob e MOB, mop e MOP) (式 3 ) COB = {cob I cob e ΠΠ ΟΕΚ || DO UBLE || STRING11 CHAKj (式 4 ) MOB = {mob I (Sid, CM, Md, Oid), Sld,CM, Aid, Oid € N) (式 5 ) σορ={^|'>ν>','<''^v=1;^1}(式 6)
MOP = {mop\'+V-V*',r,'%'}(式 7)
对式子做相关说明
条件模式P由待比较对象MP、比较对象COB以及条件运算符COP组成。式6表明COP可以取得的六种比较运算符。由式4可知C05可以是整型INTEGER、浮点型 DOUBLE、字符C/ΜΛ或者字符串FZK/M 。需要特别指明的是,COB为字符时,表明这是一个变量,用于规则与事实的部分匹配。式5中的F表示自然数。待比较对象称为元模式Aff5,本发明实施例设置AiP而不直接使用MOB是为了增强规则的表达能力,可以在规则中进行简单的运算,由此不难理解式3中MP的结构。式 7指明M05可以进行的运算种类。式3表明上述的知识模型限制对象仅可以有一个二元运算,为了继续增强知识模型的计算能力(比如多元运算),将MP设计为二元运算单元(OPU,Operations Unit)为核心,即MP = {mp I {opu,mop,Gpu, -- ■),opu e OPU,mop e MOP) (式 8 ) OPU - {opu I {mob,mop, rmb), mob e MOB, mop e MOP) (式 9 )
在实际的应用中,应当坚持最简原则,满足当前知识的表示需求即可。以上各式中,大写(如MP)指类型,小写(如mp)指该类型的元素。元对象IOS是规则所要匹配的对象元素,被设计为对具体知识形式的封装,用一个无符号32位整型OxFFFFFFFF表示。由式5可知MOB由4部分组成,各部分占用比特数如图3所示。系统标识(SM )占用第沈 31位,知识类别标识(CId )占用第M、25 位,应用标识(A/d )占用第16 23位,对象标识(OM )占用第0 15位。在MIB的定义中,对象包括标量对象和表对象,表对象中包含多个列对象标识。变量位和序列位分别用于表示该表对象标识和其中的某个列对象标识。为了表示表对象,需要将OH分为两部分变量位和序列位,各占8个比特。对于普通的对象,仅含变量位,对于表项对象,同时包含两部分。本发明实施例的SNMP管理信息库参考MIB设计,知识表示模型是用于表示一个产生式规则的,具有一定的通用性;而MIB描述SNMP中被管理对象信息,因此以MIB为知识表示模型中MOB。不采用MIB而设计MOB的原因是1. MIB的oid标识为字符串,比较效率低;2. MIB只是方便和满足SNMP协议的,而在一条有意义的规则中,比较对象的表示需要包含更多的信息。该知识表示模型的优势在于,对于上层来说,MOB是透明的,这样就可以将模型应用到其他领域的知识表示中。在知识库开发中,可以简单地将AiOS设计为一个有意义的整数,也可以设计为较为复杂但更灵活的类。但对于上层模型来说,AOS仅仅是一个数据类型。根据知识模型可以开发出整个规则知识的程序框架,仅留下AfOT接口以设计针对具体知识,这样就大大提升了程序的可移植性和应用范围。知识管理模块提供对知识库相关维护操作,包括对规则的添加、删除、修改、检索等。实施例的知识管理模块向用户交互模块提供系统当前的知识库规则列表,用户选定某条规则并对其修改后,本模块接受用户交互模块相应接口提供的修改后规则描述信息,然后对描述信息按数据库中规则的存储结构进行数据提取,并调用数据库管理模块提供的相应接口完成新规则的修改。规则的添加与删除操作与上述过程类似。2.核心诊断模块
核心诊断模块也就是专家系统的推理机,而推理机的核心就是规则与事实的模式匹配算法。SNMP采集信息的特点决定了该系统产生的事实的特点,本发明在充分分析网络故障诊断的特点情况下,通过改进经典的Rete模式匹配算法,设计出高效且有针对性的 S-Rete算法,以提高系统的诊断性能。Rete模式匹配算法是1979年由卡内基一梅隆大学的Charles L. Forgy在OPS专家系统外壳研究室的博士论文中首次提出,后逐步经过发展成为CLIPS、ART、0PS5及0PS83等产生式系统普遍采用的模式匹配算法。S-Rete算法仍然将整个网络结构分为模式网络和连接网络两部分,根据网络故障诊断的特点,充分结合所设计的网络故障知识模型,使整个网络易于构建,整个匹配过程更加高效。该算法具有网络结构简单、占用较小内存空间、最大限度利用网络结构相似性等特点。由于大多数专家系统均具有时间冗余性和结构相似性的特征,因此Rete算法采用模式网络和连接网络完成事实与规则的匹配,前者完成规则中每个条件模式的匹配,成功匹配的事实存入到称为alpha memory的节点中,并激活连接网络中的相关节点,进行条件模式之间的变量约束匹配,匹配成功后存入到称为beta memory的节点中,并继续激活下一级节点,直到匹配失败或整个规则的匹配完成。alpha memory和beta memory解决时间冗余性问题,连接网络解决条件模式的共用即结构相似性问题。S-Rete算法的网络结构和匹配过程与Rete算法相似,但在本发明中,由于采用 SNMP轮询的策略来获取网络信息(即待匹配的事实),得到的事实不仅没有时间冗余性,而且具有单一的属性值,因此所设计的S-Rete算法的网络结构中没有alpha memory和beta memory,而且模式匹配与部分匹配互斥,即单一属性的事实要么进行常量的比较(模式匹配),要么作为变量符号进行模式间的变量约束(部分匹配)。参见图4,S-Rete算法网络结构包括模式网络和连接网络,模式网络中包括root节点(根节点)、type节点(类型节点)、 元对象节点、元运算节点、条件运算节点、比较对象节点;连接网络中包括约束节点和规则 (rulel、rule2、rule3),激活规则后存储到Agenda (议程)。S-Rete算法的匹配过程如下对于局域网,首先根据知识库中的规则构建网络结构;对于新生成的事实,根据节点类型查找到对应的元对象节点。判断该元对象节点的子节点类型,如果是条件运算节点,根据条件运算符以及比较对象值判定是否满足匹配说明;如果是约束节点,比较其左右输入元对象节点的取值是否满足变量约束匹配说明;如果是元运算节点,根据其左右输入的元对象节点进行对应的元运算,并激活其子节点,并根据该子节点类型进行上述三种情况的判定并继续完成匹配过程。当一个条件模式匹配成功后,检查与其相关联规则的其他条件模式是否匹配成功,如果全部匹配成功,则该规则被成功激活,否则,规则未被激活。3. SNMP通信模块
SNMP通信模块模块是本发明的实时网络环境信息获取模块,主要功能包括根据所设计知识库中规则的具体内容,选择性获取被管理设备中相关的MIB对象信息,并将获得的原始数据信息封装为特定结构;网络信息的获取方式采用管理站周期轮询和代理Trap (陷阱)通知两种;本模块同时获取各子网被管理网络设备的RMON MIB对象信息,用于实时监控和分析网络子网整体的运行状况。RMON (Remote Network Monitoring),是对SNMP的重要扩展,使SNMP能更为有效、更为积极主动地管理和监控各局域分网及远程设备。实施例中,本模块使用SNMP++库进行开发,其中采用的主要算法包括通过网络拓扑发现算法构造所监控网络的拓扑结构;采用合适的轮询算法进行周期轮询,避免频繁的轮询造成网络荷载过大,间隔较大的轮询无法获取有效的设备信息。本模块同时实现数据信息的结构化封装,以满足事实和规则的结构形式。SNMP++,是一套C++类的集合,是对 SNMP底层实现的封装,具有易用、安全可移植,可扩展等特点。4.数据库管理模块
数据库管理模块提供数据库的管理和维护功能。在本发明中,通过SNMP协议获取的网络信息(即事实库)、知识库(即规则库)都要存储到数据库中。网络故障信息首先被整理成各种规则,然后经过知识表示模型表示一定的形式化结构,形成知识库,然后预先存储进数据库中。同样,通过SNMP获取的网络实时信息被结构化为事实库,并存储于数据库中。在具体实施时,事实库和知识库可以在实现本系统的服务器上实现,也可以另行采用数据库服务器实现,但仍可视为属于数据库管理模块。本模块提供的主要功能是对数据表添加、查询、删除等操作的高效封装,提供相应的接口供SNMP通信模块、知识管理模块使用。具体实施时,还可提供接口给用户交互模块直接使用。为便于实施参考起见,提供实施例的数据库中主要的数据表见表1。表1数据库表单
权利要求
1.一种网络故障诊断系统,其特征在于包括SNMP通信模块、数据库管理模块、核心诊断模块、知识管理模块和用户交互模块;SNMP通信模块,用于通过SNMP协议获取网络状态信息,所得网络状态信息经过结构化封装形成事实后送入数据库管理模块;数据库管理模块,用于对数据库的管理和维护,所述数据库包括存放事实的事实库和存放规则的知识库,所述事实由SNMP通信模块输入,所述规则是网络故障知识;并向知识管理模块提供对知识库中规则进行操作的数据库接口 ;核心诊断模块,用于从数据库管理模块中提取知识库中的规则和事实库中的事实,并将知识库中的规则与事实库中的事实进行匹配,如果有规则被成功匹配,则激活该规则,触发相应的故障告警,并反馈给用户交互模块;知识管理模块,用于根据用户交互界面的操作信息通过数据块接口对知识库中规则进行相关操作,并通过数据库接口提取知识库中规则并向用户交互界面提供;用户交互模块,用于向用户输出核心诊断模块反馈的故障告警、知识管理模块提供的知识库中规则的列表,接受用户对知识库中规则进行操作的操作信息并转发到知识管理模块。
2.如权利要求1所述网络故障诊断系统,其特征在于所述知识库采用层次关联网络故障知识表示模型表示网络故障知识。
3.如权利要求1或2所述网络故障诊断系统,其特征在于所述核心诊断模块采用 S-Rete算法实现将知识库中的规则与事实库中的事实进行匹配。
4.如权利要求1或2所述网络故障诊断系统,其特征在于所述SNMP通信模块同时使用管理站周期轮询和代理Trap通知两种方式获取网络状态信息,获取的网络状态信息经过结构化封装形成事实后送入数据库管理模块,数据库管理模块激活核心诊断模块将知识库中的规则与事实进行匹配。
全文摘要
本发明提供一种网络故障诊断系统,包括SNMP通信模块、数据库管理模块、核心诊断模块、知识管理模块和用户交互模块,采用专家系统进行智能故障监控。并且设计一种适合网络知识特点的层次关联知识表示模型,用于进行知识表示;在新型知识表示模型基础上,根据网络故障的特点,设计高效的推理机规则匹配算法。本发明特别适用于用于中小型局域网,不仅可以将网络故障监控与管理智能或半智能化,提高网络管理的效率,有效降低成本,其中的知识表示方法还可以方便应用到其他工程领域,具有广泛适用性。
文档编号H04L12/24GK102420700SQ20111038335
公开日2012年4月18日 申请日期2011年11月28日 优先权日2011年11月28日
发明者傅建明, 杜瑞颖, 陈晶 申请人:武汉大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1