找论文网 > 计算机论文 > 计算机理论 >

基于移动 Agent的数据采集系统实现与性能分析(1)

摘要 本文提出了基于移动Agent的分布式配置数据采集的新思路,给出了采用移动Agent技术查询配置信息的方法,并且利用移动Agent开发平台Aglets开发了一个配置信息采集原型系统,实现了分布式配置数据采集的透明访问。最后对使用移动代理技术和传统的基于SNMP方法的数据采集响应时间性能进行了实验结果分析。
关键词 移动Agent;配置信息采集;原型系统
1引言
      随着互联网的迅速发展和万维网的广泛使用,对网络管理提出了更高的要求,而传统的C/S模式的网络管理模型暴露出许多问题,主要体现在随着网络规模的增大只有管理中心负责收集数据,这样加大了中心计算机的计算负载,导致管理中心计算机负担过重;网络上的通信流量过大导致网络负荷加重甚至导致拥塞,因此传统的基于SNMP的网管模型适用于⌒偷耐缰小?lt;/DIV>
     近年来基于移动Agent的分布式计算技术得到了快地发展。移动代理可以在网络各节点之间自由的迁移,它拥有一定的智能和判断能力,能自主地决定迁移目的地。它可以在执行的任一节点挂起,等迁移到另一个节点后再继续执行。移动代理在保持内部数据、状态的同时,将代码和数据在网络各节点之间独立、自治地迁移的能力极大地加强了网络管理功能的分布式计算特性和灵活性,移动代理的跨平台移动、动态和分布式计算特性也扩展了传统Agent处理事务的能力,使之能够较好地解决Internet环境中低带宽和不稳定连接的问题。而且移动代理的智能性与灵活性有利于在分布式、异构、动态环境下实时有效地提供配置信息采集服务,并有利于提高系统的稳定性。
2移动Aglet和移动Aglet平台
2.1移动Aglet
     agent的研究起源于人工智能领域。Agent是指模拟行为和关系、具有一定智能并能够自主运行和提供相应服务的程序。让agent在网络中移动并执行来完成某些功能是研究移动agent的基本思想。软件agent研究者的定义:移动agent是能为用户执行特定的任务、具有一定程度的智能以允许自主执行部分任务并以一种合适的方式与环境相互作用的软件程序。
     移动Agent分布式计算是在早期的一些分布式计算模式如远程过程调用(RPC)、远程计算(REV)的基础上发展演变得到的。在远程过程调用中,数据在客户和服务器之间双向传送;在远程计算中,代码从客户端发送到服务器,数据返回;而移动Agent包含代码、数据和执行状态的软件程序。由客户发送到服务器,移动代理按照自己的任务能够动态自主的在网络中的多个节点之间迁移,在完成任务后按照客户的初始要求返回客户端,因此具有更大的自主性、灵活性。
     移动Agent的出现自然要求有使用移动Agent进行编程而设计的系统,这其中出现过不同厂商的许多开发系统平台如:Telescript,Tacoma. Agent,Tcl Agent, voyager, Concordia, Ajanta等,而在诸多的开发平台中由IBM东京实验室开发的Aglets平台最具代表性。
2.2移动Aglet开发平台Aglets
     Aglets是一个基于纯Java语言的移动Agent开发平台。在Aglets系统中,Aglet就表示移动Agent。Aglet产生于一台主机上,并可以在不同的主机之间迁移,不需要占用太多的系统资源和网络带宽,因此适宜低带宽和不稳定连接的Internet环境。用户可以规划Aglet的巡行路径,使得Aglets有能力在网络中按照巡行路径(itinerary)灵活的进行迁移,并通过Aglet之间的相互通信实现移动Aglet之间的协作,从而可以从多个节点收集配置信息。
     Aglets运行环境由一个被称为Tahiti的Aglet服务器提供。Tahithi提供移动Agent产生、复制、派遣和销毁等基本功能。
     Aglets的基本功能和特性由三个类来定义:Aglet 、AgletProxy、 AgletContext。抽象类Aglet是一个移动Java 对象,该类提供了控制移动代理移动和生命周期的各种方法,提供对Aglet内部属性和动态属性的访问。AgletProxy是一个Aglet代理,首先,它防止对Aglet中public方法的直接访问,代理间的通信是通过彼此的Prxoy对象用消息传递的方式传递消息对象来实现而不能相互间直接访问;其次,提供了Aglet所在位置的通明化,如果Aglet想要与远端的Aglet通信,只有在本地主机的Context中产生对远端Aglet的代理(proxy),并与次代理通信即可,而不必直接处理网络连接与通信问题。AgletContext是Aglet的运行环境,该环境防止运行alget的主机系统受到恶意algets的攻击。它是一个静态对象,提供了用于维护和管理正在运行的aglet的各种方法。网络中的一个节点可以运行多个服务器而每一个服务器可以拥有多个contexts。一旦移动代理迁移后,就和当前的AgletContext对象脱离关系,然后将自己的代码、数据和状态一同转化成消息字节流,经过网络传送到远端节点后在当地的AgletContext环境中重建自己,完成自己的任务。
3利用Aglet采集配置信息
3.1系统框架
     基于移动Aglet的分布式配置信息采集主要有以下几个部分组成:服务器、客户端、内部网络以及在各节点间迁移执行信息采集和处理的移动Agent。系统框架如图1所示:

图1-1 基于移动Aglet的分布式配置信息采集系统框架

      基于移动Aglet的分布式配置信息采集系统中,在服务器端安装Server程序,该程序提供了Aglet的运行环境和安全认证管理,为本课题组自己开发的服务器端程序,同时在服务器端启动SNMP服务,所有从客户端发到服务器的Aglet线程都在Server程序环境下运行。客户端采集配置信息时,处理过程是通过查询界面提交查询请求,系统中配置信息采集的工作流程如下:
      1)  用户通过查询界面提交查询请求,包括目的主机地址列表,采集数据类型,移动代理的返回方式。
      2)  客户端的客户程序有一个静态Aglet(DataCollectionWindowAglet)用于接收用户的查询。在我们所开发的系统中该Aglet负责生成用户查询界面,接收用户查询请求,并且把用户的这些信息发送到负责采集配置信息的移动Aglet(DataCollectionAglet类实现),这些信息包括了用户输入的目标地址,采集信息类型,和移动代理的返回方式。
     3)  静态Aglet(DataCollectionWindowAglet)负责生成并派遣移动Aglet,把采集计划交给移动Aglet(DataCollectionAglet),接收并处理移动代理返回的数据。
     4)  移动代理携带采集计划,迁移到目标服务器,获取相应的配置数据信息,按照用户指定的返回方式把数据发回客户端。
     5)  采集数据的结果在客户端显示,移动代理返回后自行死亡。
3.2系统实现
3.2.1 Server 服务器端环境的建立
      每个服务器都要安装Server程序,它提供Aglet运行的后台执行环境。Server程序工程文件存放在SNMPManager文件夹,在安装服务器程序时需要首先在服务器上安装Aglet软件包和JDK,其次是修改Client.bat, Server.bat两个批处理文件的AGLET_HOME 和JDK_HOME路径,  LOCALCLASSPATH中所需资源的路径根据本机的具体情况而定。在本实验中使用的aglets版本是 V1.0,使用的 JDK为jdk1.5.0,都安装在本机C盘的根目录下。所以在Client.bat 和Server.bat文件中的有如下两行设置:
      set AGLET_HOME=C:\aglets202  ,set JDK_HOME=C:\Program Files\Java\jdk1.5.0
3.2.2 客户端程序的设计
3.2.2.1 基于移动代理的配置信息采集系统结构

图2  系统结构

       如图2所示,系统由“配置信息管理中心”和“信息采集代理”两部分组成。用户使用配置信息管理中心指定要采集配置信息的主机(IP地址),形成(内部)采集主机IP地址列表。然后,配置信息管理中心生成一个信息采集代理,并把它派遣出去,该代理携带了确定的主机地址列表。之后,信息采集代理就按照携带的主机地址列表,依次移动到每台主机上,通过移动代理网管平台提供的SNMP访问设施,获取该主机的基本配置信息(包括RFC1213中的system组信息,Host-MIB中主机设备信息、存储信息、安装软件信息)。代理可以直接将获取的信息(通过Aglets消息)传输回配置信息管理中心,也可以暂时保存在代理自身内部携带回中心(由用户在派遣前指定方式)。当代理访问完所有的主机后,返回中心,代理自动释放终止。最后,配置信息管理中心汇总采集到的信息,并显示给用户。

 

共2页: 1 [2] 下一页


基于Parlay和XML的业务生成与执行系统的研究与实现
基于椭圆曲线的数据加密通信的实现
工商管理 | 工科论文 | 财务管理 | 管理学 | 公共管理 | 财政税收 | 证券金融 | 会计审计 | 计算机 | 法律论文 | 医药学 | 汉语言文学
社会论文 | 工科论文 | 理科论文 | 文化论文 | 艺术论文 | 文学论文 | 哲学论文 | 政治论文 | 英语论文 | 写作指导 | 计算机应用
www.zlunwen.com 找论文网 ® 版权所有 网站地图