一种基于移动Agent的系统监控模型

来源 :计算机时代 | 被引量 : 0次 | 上传用户:wenhao
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:对于一些大型的复杂网络系统,利用传统的集中式系统监控模型进行监控和故障诊断是困难的。文章给出了一种将移动Agent技术用于系统监控的分布式系统监控模型。利用这种系统监控模型可以减少网络数据流量,缩短系统监控与故障诊断时间。
  关键词:分布式;移动Agent;系统监控;监控模型
  
  0 引言
  
  在现有的集中式系统监控体系中,客户端与服务器之间传递着大量的数据,网络流量很大,增加了网络拥塞的机率,严重的可以导致系统不能正常工作。而且对于一些不太稳定的网络环境,在大量传送数据的过程中,很可能出现网络中断,导致系统监控与诊断不能正常进行的情况。本文提出了一种基于移动Agent技术的系统监控模型,它适合一些不稳定的网络,能减少网络中的通信流量,缩短系统监控与诊断的时间。
  
  1 移动Agent技术
  
  移动Agent是一个可以携带代码和状态自主在异构网络设备间迁移的具有自治特性的代码或程序,它可以移动到网络中需要进行监控的地方,利用事先赋予的智能,选取系统监控所需要的信息,并进行相应的处理。Agent在移动过程中,它的自身状态被保存,并封装成信息传送到新的主机上,从而在新的主机上继续执行,所以对于很多应用系统来说,移动Agent是一个行之有效的选择。在客户机服务器体系中它可以明显改善延迟和提高网络带宽利用率,在网络状况不佳时还可以降低通信中断的概率等。
  
  2 基于移动Agent的系统监控模型
  
  分布式系统监控的主要任务是监控网络内的所有设备,并根据所采集的设备信息,采用智能的诊断方法,准确而又及时地判断可能产生的设备故障,给出设备故障描述和快速排除故障的策略。
  
  2.1分布式系统监控模型的各组成部分
  如图1所示,整个系统监控由两部分组成:监控管理站和被监控站。基于分布式的系统监控采用了两级故障诊断结构,即高级诊断部分与低级诊断部分,诊断的粒度可以达到网络中的具体设备,如计算机、网络交换机、路由器等,完成整个域内系统监控任务的设备则由具有监控能力的计算机承担,从而形成一个分层次的系统监控与诊断的体系结构。
  (1)被监控站系统组成
  被监控站由设备数据采集模块、SNMP Agent模块、低级故障诊断模块、MAEE组成。设备数据采集模块采用专用的数据采集设备。SNMP Agent模块则从网络中支持SNMP协议的网络设备共同维持的MIB中获取这些设备及网络状况等的状态信息。低级故障诊断模块是被监控站与维护人员的接口,它对采集来的数据进行预处理,对于一些比较容易诊断的故障,给出故障提示,并指导维护人员修复故障。MAEE是移动Agent执行环境,为移动代理提供各种功能支持,包括创建、运行、传送、接收和保护等,它为执行移动代理创造一个位置透明、便于控制、安全可靠的运行环境。
  


  图1 基于移动Agent的系统监控模型示意图
  被监控站的代理由移动代理MA(Mobile Agent)和常驻代理SA(stationary Agent)组成。SA可以自己激活,也可以由监控管理站的管理站代理MSA激活,它常驻被监控站,不能移动。它的主要任务是从设备数据采集模块和SNMP Agent中获取采集数据,将这些数据交给低级诊断模块进行诊断,同时还要准备与MA交换数据。MA由监控管理站的MSA产生,并被派发或迁移到各个被监控站,它携带了MSA指示,并从SA中获取采集数据。
  (2)监控管理站系统组成
  监控管理站由一个故障诊断专家系统组成。专家系统是根据人们长期的实践经验和大量的故障信息设计的一套智能计算机程序,用于解决复杂系统的故障诊断问题。整个故障诊断专家系统由一个高级故障诊断专家系统、知识库、本地信息采集模块、MAEE组成。其中高级故障诊断专家系统相当于专家系统中的推理机,此外还对整个域内故障诊断系统进行协调和管理,并实现了用户接口。本地信息采集模块提供了与本计算机相连的设备的数据采集功能。MAEE中的MSA负责激活被监控站的SA,产生和派发MA。数据预处理模块是MAEE与高级诊断专家系统之间的接口,它能够对数据进行缓冲,以协调双方的数据同步。
  
  2.2分布式系统监控模型的具体工作流程
  首先,高级故障诊断专家系统定时地或根据用户的指示经过MAEE的数据预处理模块向MSA发出指令,MSA根据指令的要求,确定移动Agent的任务,同时激活各被监控站的SA。接着产生MA,并按事先约定好的迁移路径派发出去。在被监控站,SA一旦被激活就开始采集数据,当MA到达后,SA将MA的指令和数据一并交给低级故障诊断模块,该模块根据指令的要求去除冗余数据,并进行故障诊断,将诊断结果和诊断不了的数据经SA交给MA。MA继续根据迁移路径迁移到下一个被监控站或返回到时监控管理站。最后,在监控管理站,MA返回后,将采集到的数据和部分诊断结果经数据预处理模块交给高级诊断专家系统处理,专家系统运行推理机,并根据知识库中的数据进行分析,给出正确的诊断结果。
  
  3 优势分析
  
  3.1利用移动代理进行故障定位
  如果MA在巡游路径上发现有节点不可达,就向管理站发出信息,通知管理站有异常。因为本站之前的各站都是可达的,所以只要问题出在后端,管理站仍可以收到该消息。就算问题出在前端,此移动代理丢失,在下一次巡游中也可以定位故障发生源。管理站知道发生问题后,就利用移动代理来定位故障。
  
  3.2对网络中数据流量的分析
  传统的客户/服务方式要完成一次系统故障诊断需依次向各个客户机发出请求,系统数据流量的计算公式为:
  
  其中,Ncs表示集中式系统中的数据流量,Nc表示采集设备的数据量,Nsnnp表示一次SNMP请求发出和响应的数据量,m表示系统中参与系统监控的计算机数量,n表示完成一轮系统监控共发送了n次SNMP请求。
  基于移动Agent的系统监控在本地处理所有采集设备的数据和SNMP的数据,减少了网络上的数据流量。其数据量计算公式为:
  
  其中,Nagent表示基于移动Agent的系统的数据流量,Ndi表示本地系统不能处理的数据,Nsi表示本地系统已处理的数据结果,Nma表示移动Agent的本身的数据量,m同公式(1)。
  从以上两式的对比中可以看出,Nma只是移动Agent的代码部分,代码相对于采集的数据来说是非常少的。
  
  3.3对系统监控中时延的分析
  传统的集中式的系统监控采用轮询的方式,整个系统的时延见公式(3):
  Tes=mTc+n(Ts+Tr)
  (3)其中,Tcs表示集中式系统监控时的时延,Tc每次设备数据采集所需时间,Ts和Tr分别表示一次数据SNMP请求和响应的时延,m、n同公式(1)中的定义。
  而在基于移动Agent的系统监控系统中,由于预先激活常驻代理SA,各被监控站处于实时状态,移动代理MA在巡游进程中可以直接从SA中获取数据,节省了等待数据采集的时延。时延的计算公式为:
  Tagent=(m-1)(Tms+Tma)
  (4)其中,Tagent表示利用移动Agent进行系统监控时的时延,T。是SA向MA传送数据及MA处理数据的时间,Tma为每个MA迁移的时延,m同公式(1)。
  从以上两个式子可以看出,Tc是一个很耗时的量,而在移动Agent环境中设备数据采集是由SA在本地完成的,不存在Tc这个时延,从而大幅度减少了整个系统的时延。
  
  4 结束语
  
  经过以上分析可以看出:这种基于移动Agent的分布式系统监控模型,明显地降低了网络流量,减少了数据传递的时延,从而增强了整个监控系统的实时性。基于人工智能专家系统的诊断算法,也提高了故障诊断的准确性。
  注:本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。
其他文献
摘 要:利用摄像头对防控区域中有无物体运动进行监测,可及时发现防控区域内的异常情况。目前,这类监控系统的运动检测部分主要采用的是专用芯片或DSP。文章介绍了一种利用Nios Ⅱ嵌入式处理器实现运动检测的方案,该方案可以在一个FPGA芯片内实现系统的大部分功能,其结构简单、扩展性强。  关键词:NiosⅡFPGA;运动检测;安防系统
期刊
摘 要:随着OA系统的发展,在进行OA系统设计时如何优化工作流程的设计显得越来越重要。根据OA系统的功能,文章提出了一种基于工作流管理的OA系统核心业务流程模型,并以实际系统为例,对模型中的核心业务流程给出了详细的设计与实现。  关键词:办公自动化;核心业务;流程;模型;实现
期刊
摘 要:为了解决设备重启后的重新设置问题,提出了一种实现设备控制设置的存储和回调功能的方法。该方法采用VC++中的ADO数据库编程技术,将已发送的设备控制命令保存在数据源文件中,然后根据需要进行存取,实践证明,该方法简单、灵活,对设备的控制更加方便,提高了工作效率。  关键词:串口;数据库;控制命令;设备控制
期刊
摘 要:对Microsoft Speech SDK 5.1语音控制编程接口SAPI进行了分析,详细描述用C#语言结合这些接口开发语音应用程序的流程步骤,并最终以实例程序展示了共享型语音控制程序的开发流程。  关键词:Microsoft Speech SDK;语音合成;语音识别;C#;COM
期刊
摘 要:从系统的概述、结构、工作层次、软硬件支持、功能、程序设计事项方面对基于Dialogic电话卡、具有语音合成与语音识别功能的办公自动化系统进行了详细描述,并给出了测试结果与尚待解决的问题。  关键词:办公自动化系统;语音合成;语音识别;Dialogic电话语音卡
期刊
摘 要:传统的异常处理代码存在许多问题,尤其是代码不具有模块性,异常代码的维护很困难,面向方面编程(AOP)是一种新的编程技术,它弥补了面向对象编程(OOP)在跨越模块行为上的不足,利用AOP能够很好地分离出“异常处理”这一横切关注点,模块化构建松散耦合的系统-文章研究了在异常处理方面的通用策略和AOP在异常处理方面的应用,并给出了基于JBoss AOP的具体实现:该框架简单灵活,实用。  关键
期刊
摘 要:交又查询是结构化查询的一种,它将数据表通过字段的内容进行归类,形成行、列,重新组成新的表。MicrosonAccess作为一个小型关系型数据库管理工具,采用了特定的语法实现了快速、易用的交叉查询,针对这一语法,文章以实例的方式简要叙述了多种情况下交又查询的实现过程、讨论了使用Access进行交叉查询需要掌握的技巧,并对实际应用过程中容易碰到的问题作了分析,提出了相应解决办法。  关键词:
期刊
摘 要:基于Windows平台下.Net Framework中GDI+二维图形类库,以路径(GraphicsPath)表示图元形状,用仿射变换矩阵的乘法进行图元的连续变换,推导出图元不失真连续变换的条件,并应用图元变换的矩形区域归整化,解决了文本图元变换时字体放缩的难题。  关键词:Net;GDI+;图元变换;路径;矩阵;不失真;文本变换
期刊
摘 要:叙述了如何利用虚拟现实建模语言X3D语法,采用变通的方式来模拟面向对象编程的方法:借助X3D中的原型(PROTO)节点和Script节点,实现了面向对象编程中的如数据封装、继承等功能特性,并给出了相应的实例。  关键词:X3D;面向对象;原型;节点
期刊
摘要:利用Eclipse插件的可扩展机制开发了JTang-Eclipse插件。JTang-Eclipse插件是一个将JTang服务器集成到Eclipse上的工具,遵循Eclipse插件开发平台提供的框架,支持服务器生命周期管理,可以在JTang上部署J2EE archive包,并提供打包、部署描述符自动生成和JSP编译等辅助J2EE开发的功能。  关键词:Eclipse;插件;J2EE;PDE;A
期刊