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