卫星网络故障诊断技术研究
2009-01-06李彦华谭小波武玉良
李彦华 谭小波 武玉良
[摘 要]卫星网络的最根本的特征和功能是通信,本文针对卫星网络的这个特性,展开了卫星网络故障诊断技术的研究。设计了基于动态管理域划分的卫星网络故障诊断模型。设计实现了管理域内的卫星网络故障诊断专家系统,并对知识获取与表达、推理规则设计及系统模型建立等关键技术进行了论述。另外,设计了管理域间的协作故障诊断模型。
[关键词]专家系统 卫星网络 网络故障诊断 诊断规则 管理域间协作诊断
[中国分类号]TP[文献标识码]A[文章编号]1007-9416(2009)11-0104-01
1引言
卫星网络是由星际和星地链路连接在一起,由不同轨道、种类和性能的卫星、星座及相应地面设施组成的互连互通卫星群体网络。卫星网络与地面网络不同,它具有以下特点:(1)网元节点种类繁多;(2)网络结构复杂;(3)节点的资源有限;(4)网络通信的传输延时较大;(5)节点运行动态变化、节点间无线通信的质量受空间环境影响严重等等。要使这样一个复杂的异构网络能够自主、高效的运行,提高网络的生存效能,就必须要保证网络管理系统能够及时、准确的发现、诊断网络故障。虽然我国的卫星网络的建设处于起步阶段,将网络故障诊断作为网络本身的一项内在功能来研究,对于卫星网络的健康发展具有重要意义。
2基于动态管理域划分的网络故障诊断模型
卫星网络管理系统是一种基于动态分层结构的网络管理体系。在这样一个动态分层的网络管理体系结构中,为实现对整个网络的高效管理,设计了基于动态注册注销的管理域划分机制,使得卫星网络中的被管节点在某一时刻都归属于某个管理分站的管辖范围,而总控中心负责管理各个管理分站,并通过各个管理分站来实现对整个网络的管理,从而实现对卫星网络的分层分布式管理。基于该网管体系结构,本文提出了基于动态管理域划分的网络故障诊断体系结构,它包括管理域内的网络故障诊断和管理域间协作故障诊断。
3 管理域内的网络故障诊断专家系统的设计与实现
卫星网络的节点成本较高,并且它们具有不可现场维护的特点,因此,对网络状态的监控与故障诊断提出了越来越高的要求,它要求建立智能化的故障诊断系统,以实现监控和诊断的自动化。
卫星网络最根本的特征和功能是通信,从这个意义上来说,所有的网络故障最终都会集中体现在网络节点的通信能力或状态上。因此,本文将卫星网络节点的通信状态以及网络性能水平作为卫星网络故障诊断的内容。
卫星网络故障诊断专家系统就是用以实现对网络主要节点或设备(路由节点、交换节点、主机、网络打印机等)的状态监测和故障诊断。本文参照SNMP协议构造了专家系统的总体结构模型。
该模型由数据采集及预处理模块、知识库模块、推理诊断及解释模块、学习机制模块及用户界面模块等5部分组成。
(1)数据采集及预处理模块 该模块主要通过三种方式获得网络状态信息,它包括:Trap机制、管理站轮询和代理端本地轮询(即在MIB库中加一个polling组)。然后,简约处理信息以消除这冗余,并生成故障诊断专家系统全局工作内存中所需要的事实,以供推理机进行故障的推理诊断。
(2)知识库模块 它是整个专家系统的关键部分。一个专家系统的好坏与知识库的建设水平有着密切的关系。根据卫星网络的特点,本文深入研究了卫星网络的通信方面的故障,以卫星通信链路故障为例,设计了故障诊断规则以及基于XML形式的存储格式。此外,还研究设计了其它类型的网络故障的诊断规则。该模块把设计的这些网络故障诊断规则存储起来,并且还能够存储推理过程中生成的中间结论、推理结果以及故障日志等。
(3)推理诊断及解释模块 该模块是专家系统的核心,它根据数据采集及预处理模块提供的诊断目标和网络事实数据,利用知识库中的知识对目标进行推理,获得诊断结果。由于本文把重点放在了卫星网络的故障诊断规则的研究与设计上了,所以该模块采用了专家外壳系统JESS的推理机制,没有再设计新的推理机。
(4)学习机制模块 该模块提出了基于故障案例发生频率的学习机制,并成功应用于该专家系统中,它是指对于经常发生的(即故障发生频率高)网络故障,如果它能够在故障诊断“快表”里查询到的话,不再经过推理机诊断推理,而是直接返回诊断结果,这大大提高了故障诊断的效率。
(5)用户界面模块 主要用于完成人机交互、系统设置、问题描述、诊断结果显示和系统的总体控制。该模块允许对原有的专家知识库进行修正和补充,使其具有良好的可扩展性。
4关键技术及其解决方法
(1)快速采集网络信息,实现快速故障诊断。本文提出了代理端本地轮询方式,它是指在代理端的MIB库中加一个polling组,本组中的数据经过一种运算之后,把结果存入这个polling组中,当该轮询值超过某个阈值时,再向地面站报告该事件,这就使得代理端与地面站之间的交互次数大大减少,提高了信息搜集的效率。另外,在管理站定期轮询过程中,通过建立优先级轮询机制,大大减少了带宽浪费。
(2)知识表达与存储:经过研究,本文采用产生式与面向对象相结合的方法,把故障诊断规则表示出来,并以XML的形式存储在专家系统的知识库中。
5管理域间的协作故障诊断模型
当某管理站在诊断网络故障,需要域间协作时(可能是该域内的节点无法与其它域内的节点进行通信,那么该类故障可能是节点间的通信链路受到干扰,也有可能是该域内的网络节点出现了故障或者其它域内的网络节点出现了故障),它向总控中心发起域间协作诊断请求;总控中心收到该请求后,将发送过来的协作诊断总体任务进行任务划分,划分为若干个子任务,即各个分管理站为实现该协作所要完成的诊断任务。这些子任务可以同时进行,这样发起请求的分管理站与其它分管理站之间建立了协作关系。总控中心向该分管理站及其它分站分别发送各自的子任务。当参与协作的分管理站完成各自任务后,将诊断结果返回给总控中心,总控中心就能够确定故障源。最后,总控中心把故障诊断结果回送给发送请求协作的分管理站,完成该分管理站与其它分管理站之间的协作故障诊断。
6 结语
本文结合卫星网络的特点,充分利用JAVA语言面向对象的编程特性,在Windows XP平台上仿真实现了一个基于SNMP协议的网络故障诊断诊断专家系统。在故障信息采集过程中,提出了本地轮询机制,减少了地面站与星上代理的交互次数,这也是与地面网络故障诊断的不同之处。本文提出的学习机制也加快了网络故障诊断的效率。但是,该系统还仅是一种仿真实现,还有待于未来在卫星网络中加以验证。
[参考文献]
[1] 石荣德,赵廷弟,屠庆慈,常文兵.故障诊断专家系统.北京航空航天大学学报,1995,21(4).
[2] 苏利敏,侯朝桢,巍忠健.指挥控制系统的通信网络故障诊断专家系统。计算机工程,2003,29(13).