(计算机应用技术专业论文)基于移动agent的分布式数据查询研究与应用.pdf_第1页
(计算机应用技术专业论文)基于移动agent的分布式数据查询研究与应用.pdf_第2页
(计算机应用技术专业论文)基于移动agent的分布式数据查询研究与应用.pdf_第3页
(计算机应用技术专业论文)基于移动agent的分布式数据查询研究与应用.pdf_第4页
(计算机应用技术专业论文)基于移动agent的分布式数据查询研究与应用.pdf_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要 目前解决分布式数据查询问题的方法很多,但都不尽如人意:分布式数据库 技术在理论上为此提出了一种基于全局模式的解决方案,但建立和维护全局模式 的代价很大:基于中介器( m e d i a t o r ) 技术的实现方法为每个数据源建立包装器, 但复杂性高;w e bs e r v i c e 技术通过为每个数据源创建一个w e b 服务来实现查询, 但对网络的可靠性要求较高,网络负载较大。因此,需要研究和设计一种高效灵 活的、适应性和容错性强的分布式查询应用模型。 本文采用移动a g e n t ( m a ) 技术,充分利用其移动性、自主性和智能性等特 点,通过把查询任务存储到一个可以通过网络进行移动的a g e n t 上,a g e n t 将移 动到服务器上,执行查询并存储结论,然后返回到用户,给出了一种新型分布式 查询应用模型,该模型具有查询效率高、支持间断计算、网络适应性强等优势。 论文首先针对分布式数据查询现有的实现方法,分析其不足之处,然后通过 研究移动a g e n t 技术的背景、体系结构及关键技术,从理论上探索了将移动a g e n t 技术与分布式数据查询相结合的可行性和技术优势,结合移动a g e n t 应用开发 方法,设计了一个基于m a 的分布式数据查询应用模型,该模型具有查询效率高、 支持间断计算、网络适应性强等优势;最后为水利基础数据库系统给出了分布查 询的方案,并对方案中的关键技术进行了试验,证明了该模型的可行性以及在支 持间断计算和网络适应性等方面有明显优势。 关键字:分布式数据库、分布式查询代价、a g e n t 、移动a g e n t 、分布查询 a b s t r a c t a tp r e s e n t ,t h e r ea r em a n ym e t h o d so ft h ed is t r i b u t e dd a t a q u e r yq u e s t i o n s o l y e s , b u ta l la r en o te n t i r e l ya sd e s i r e d 。i nt h e o r yt h ed is t r i b u t e dd a t a b a s et e c h n o l o g y p r o p o s e s o n ek i n ds o l u t i o nb a s e do nt h eo v e r a i l s i t a a t i o n p a t t e r n f o rt h l s d e f i c i e n c y ,b a tt h ep r i c eo fe s t a b l i s h i n ga n dm a i n t a i n i n gt h eo v e r a l ls i t u a t i o n p a t t e r na r et 0 0h i g h ;t h em e t h o db a s e do nm e d i a t o rt e c h n i c a le s t a b i is h e sw r a p p e r f o re a c hd a t ap o o l ,b u tt h ec o m p l e x i t yi sh i g h :w e bs e r v i c et e c h n i c a lr e a l i z e st h e q u e r y t h r o u g h f o u n d i n g w e bs e r v ic e f o re a c hd a t ap o o l ,b u tt h er e l i a b i l i t yo f n e t w o r k r e q u e s zh i g h ,z h en e z w o r kl o a di sb i g 。t h e r e f o r e ,o n ek i n do fd is t r i b u t e dq u e r y a p p l i c a t i o nm o d e lt h a ta r eh i g h l ye f f e c t i r ea n da g i l e ,c o m p a t i b l ea n dt h es t r o n g a b j1 i t yo fp e r m i tm i s t a k i n gi sn e e d e dt o s t u d ya n dd e s i g n 。 t h i sa r t ic l eu s e st h em o b i l ea g e n tt e c h n o l o g y ,f u l l yu s e si t sc h a r a c t e r i s t i co f m o b i l i t y ,i n d e p e n d e n c ya n di n t e l l i g e n c e 。t h r o u g hs a v i n gt h eq u e r ys e r v i c et ot h e m o o i l ea g e n tt h a tc a nc a r r yo nt h r o u g ht h en e t w o r k ,t h em e b i l ea g e n tw i um o v et o t h es e r v e r ,e x e c u t et h eq u e r ya n ds a v et h ec o n c l u s i o n t h e ni tw i 儿r e t u r nt ot h e u s e rat h is p r o d u c e so n ek i n do fn e wd is c r i b u t e d q u e r ya p p l i c a t i o nm o d e l 。t h ism o d e l h a st h es u p e r i o r i t yo ft h eh i g h q u e r ye f f i c i e n c y ,t h es u p p o r ti n t e r r u p t e dc o m p u t a t i o n a n dt h e - s t r o n gn e t w o r kc o m p a t i b i i i t y 。 f i r s tt h isp a p e rs t u d i e st h ed i s t r i b u t e dd a t a b a s eq u e r ya n do t h e rd i s t r i b u t e d d a t a q u e r yr e a l i z a t i o n t e c h n o l o g i e s ,a n a l y z e s i t s d e f i c i e n c y ,t h e nt h r o c i g h r e s e a r c h i n g t h eb a c k g r o u n d ,s y s t e ms t r u t t u r ea n de s s e n t i a l t e c h n o l o g yo ft h em o b i l e a g e n tt e e h n o l o g y 。i te x p l o r e st h ef e a s i b i l i t ya n dt h et e c h n i c a ls u p e r i o r i t yw h i c h t h ea g e n tt e c h n o l o g yc o m b i n ew i t ht h ed i s t r i b u t e dd a t aq u e r yi n t h e o r y ,u n i f y i n g t h em ad e s i g np a t t e r n i td e s i g n sak i n do fd i s t r i b u t e dd a t a q u e r ya p p l i c a t i o nm o d e i b a s e do n t h e 姒t e c h n o l o g y 。t h i sm o d e lh a st h es u p e r i o r i t yo ft h eh i g hq u e r y e f f i c i e n c y t h es u p p o r t i n t e r r u p t e dc o m p u t a t i o n a n dt h e s t r o n g n e t w o r k c o m p a t i b i n t y 。f i n a l l yi t p r o d u c e st h ed i s t r i b u t i o nq u e r yp l a nf o rt h ew a t e r c o n s e r v a t i o nf o u n d a t i o nd a t a b a s e s y s t e m ,a n de a r r i e so nt h ee x p e r i m e n tt ot h e e s s e n t i a lt e c h n o f o g yo ft h i sp l a n ,i tp r o v e st h a tt h em o d e li sf e a s i b l ea n di t h a s t h eo b v lo m ss u p e r i o r i t yi nt h e a s p e c t o fs u p p o r t i n si n t e r r u p t e dc o m p u t a t i o na n d n e t w o r ko o m p a t i b i i i t y 。 k e yw o r d s :d i s t r i b u t e d d a t a b a s e ,a g e n t ,m o b i l ea g e n t ,t h ec o s to f d i s t r i b u t e dq u e r y ,d i s t r i b u t e dq u e r y 河海大学硕士学位论z基于侈动a g e n t 妁分布式数据查询研究与应用 第一章绪论弟一早三百t 匕 1 1 提出问题 随着网络技术的发展,传统的集中式数据库的数据集中的特点已经无法满足 大量数据分散分布的应用要求,其中,对分散在网络中不同物理节点的数据进行 查询是很广泛的一种应用需求。分布式数据库因此被提出来,它被认为是“数据 库系统+ 计算机网络”,但绝不是二者的简单组合,分布式数据加以统一的视图管 理分散在各地的数据,隐蔽大量的细节,支持各种各样的透明,用户感觉就象使 用集中式数据库一样,关于分布式数据库,人们进行了大量的研究,其中包括分 布式查询处理及优化,它是基于全局模式进行的,但建立和维护全局模式的代价 很大,若全局模式发生变化时,所有的局部模式都要随之更改,因此在实际应用 中分布式数据库进行查询处理时都避开全局模式而采用数据复制的技术。 另外,由于分布式数据库体系结构的原因,查询优化一直是个复杂的问题, 理想的全面的查询优化几乎是不可能的,许多专家和学者在这一领域曾做出过不 少的研究和探讨,但总的说来,不尽人意,往往只能达到局部目标的查询优化效 果,甚至有些理论并不适用。 分布式数据库查询技术的复杂性和它涉及因素的多样性阻碍了它在实际应 用上的推广,另方面,不同地域的单位、组织、个人对资源共享的需求又在日 益增长,其他各种新技术的出现,为我们提供了新的方法来实现分布式查询。 m e d i a t o r ( 中介器) 和w e bs e r v i c e 是其中出现较新,研究较深入,应用较广泛 的两种技术。 基于中介器技术的主要实现部分是中介器和针对每个数据源的包装器 ( w r a p p e r ) 。中介器的功能是接收针对全局模式生成的查询,根据数据源描述信 息及映射规则将接收的查询分解成每个数据源的子查询,再根据数据源描述信息 优化查询计划,最后将予查询发送到每个数据源的包装器。包装器将这些子查询 翻译成符合每个数据源模型和模式的查询,并把查询结果返回给中介器。中介器 将接收的所有数据源的结果合并成一个结果返回给用户。这种技术有效地解决了 数据的更新问题,但是各个数据源的包装器都要分别建立,这无疑给查询系统带 来了很大的复杂性。 在基于w e bs e r v i c e 技术的分布式数据查询中,对每个数据源都为其创建一 个w e b 服务,然后使用w s d l 向u d d i 注册中心注册。用户在进行查询操作时, 首先通过查询接口向u d d i 注册中心发送查找请求,选择绑定并调用相应的w e b 服务,由该w e b 服务从数据源中获取数据,并以w o a p z m l 的方式返回给查 询接口,完成整个查询任务。这种技术中,各数据源的w e bs e r v i c e 具有统一的 可海大学徊士学位沧文 基于移动a g e n t 的分布式数据壹询研究与应用 形式,实现较方便。但是,w e bs e r v i c e 不具有移动性,网上数据交换比较频繁, 对网络的要求较高,如果网络发生故障,查询将难以实现。 可见这两种实现技术对网络的依赖性很强,需要建立持续稳定的连接;而且, 由于数据的分布性,程序员只有通过编写大量的代码来对每一个数据端服务器进 行连接和访问,才能得到一个汇总的查询结果。由此可见,传统技术存在着一些 难以克服的缺陷,需要有新技术的引入来弥补传统技术的不足。 移动a g e n t 的概念是由2 0 世纪9 0 年代初的g e n e r a lm a 【g i c 公司在商业系统 t e l e s c f i p t 中提出的【4 5 】。由于其智能性和移动性等特性,很快它被誉为“第三代 分布式计算模式”,它的出现为解决分布式数据查询提供了新的思路。移动a g e n t 技术可以发送a g e n t ( 数据与程序) 到远程节点,并且可以在远程节点之间进行 自主的迁移,代替用户完成各项任务。因为它把较小的程序及数据发送到远程主 机本地进行运算,而避免大量的数据在客户机与服务器之间传送,所以节省了网 络带宽,避免了中间数据的传输延迟,因而效率得到很大提高。 本文将移动a g e n t 技术应用到分布式数据查询中来,通过发送移动a g e n t 到 数据端服务器进行本地查询来返回相对少量的查询结果,这样可以节约大量的网 络带宽并降低响应时间。由此可见,基于移动a g e n t 的分布式数据查询是个值 得探索的研究课题。 1 2 研究现状 目前,国内外对移动a g e n t 技术的研究日趋深入。移动a g e n t 具有自主性、 协作性和移动性等特点,可以代替用户去完成所需的任务,而且它能根据各种用 户需求及实际情况在网络中自主地迁移,因此,十分适用于分布式应用。 国内於比较著名的移动a g e n t 系绞有:斯图自b 特大学开发的m o l e ,g e n e r a l m a g i c 公司开发的t e l e s c r i p t ,i b m 东京实验室开发的a g l e t 1 】和南京大学开发的 m e g e n t 4 7 i n j ;。由于j a v a 语言所具有的平台无关、动态性和安全性,它在a g l e t 及其它多数移动a g e n 产品中被采纳为a g e n t 的实现语言。 美国的达特茅斯( d a r t m o u t h ) 大学和明尼苏达( m i n n e s o t a ) 大学曾经对将 移动a g e n t 应用到分布式数据查询中进行过研究【6 】,但研究的主要目的并不是为 了提高查询的效率,而只是对他们各自开发的移动a g e n t 平台d a g e n t 和a j a n t a 进行测试。 文献 8 1 介绍了一种个性化的查询系统a m a l t h a e a ,它自主地从分布资源上找 出满足用户兴趣的信息并以摘要的形式提交给用户。 文献【9 1 提出s a v v y q u e r y 系统针对局域网内的数据查询提出了解决办法,它 的特点是设计了移动a g e n t 安全方案并部分实现了该方案。 近几年来,国内高校也对该领域开展了研究,例如电子科技大学在他们开发 q i 海足学顷士学位论正皋于移动a g e n t 的分布式数据查询研究与应用 的d l i s 系统f 4 6 1 中就把移动a g e n t 引入对远程教育资源的查询中。 虽然国内外对基于移动a g e n t 的分布式数据查询的研究日益深入,但是,就 目前的研究现:趺而言,各研究机构只是针对各自领域内的应用进行系统分析设 计,并没有抽象出一个基于移动a g e n t 的分布式数据查询模型,而这正是本文所 重点研究的。本文认为,一个基于移动a g e n t 的查询系统的设计需要遵循通用的 基于移动a g e n t 的分布式数据查询模型,这样才有可能规范各领域内系统的设计 标准。 1 3 本文研究计划 本文工作的主要内容是分析目前常用的几种分布式数据查询技术的原理和 存在的缺陷,论证了结合移动a g e n t 技术实现分布式数据查询的可行性和优势, 给出了一个基于移动a g e n t 技术的分布式数据查询的设计方案,最后利用i b m 的 a g l e t 开发平台在江苏省水利基础数据库的项目背景下具体实现该方案。 本文的主要研究计划包括: 1 、研究分布式数据库查询技术及其它分布式数据查询实现技术,并分析其不足 之处,结合实际需求,研究分析新一代分布式数据查询模型的设计方向。 2 、研究讨论移动a g e n t 技术的背景、体系结构及技术优势,并深入探讨移动a g e n t 技术的几个关键技术:迁移机制、通信机制、安全机制,提出将移动a g e n t 技术与分布式数据查询相结合的构想并分析其技术优势。 3 、对现有的几种移动a g e n t 的设计模式进行总结分析,在此基础上设计基于移 动a g e n t 技术的分布式数据查询方案。 4 、选用i b m 的a g l e t 开发平台,首先分析研究a g t e t 的程序设计的基础:事件 授权模型和消息机制,在水利基础数据库项目背景下,具体实现该方案,并 对安全措施方面作初步考虑。 5 、在一个模拟实验环境中作实验,对几个关键技术部分通过实验论证其可行性, 并分析实验结果。 1 4 论文组织 本文内容的章节安排如下: 第一章绪论。本章介绍了本文的研究背景、动因和现状,说明了本人在课 题中所做的实际工作,最后列出了论文的组织结构; 第二章移动a g e n t 技术。本章首先研究讨论了移动a g e n t ;技术的背景、体系 结构及技术优势,并深入探讨移动a g e n t ;技术的几个关键技术:迁移机制、通信 几制、安全机制,接着分析了将移动a g e n t 技术应用于分布式查询的技术优势, 最后给出了一个移动a g e n t 应用的通用开发方法。 可海天学顺上学虚论支 莓于够动a g e n t 的分布式数据查询研究与应用 第三章基于移动a g e n t 的分布式查淘方案设计。从整体出发介绍在i n t e m e t 环境下基于移动a g e n t 的分布式数据查询的设计思想,结合移动a g e n t 的设计模 式,抽象出组成系统的五个主要a g e n t ,并将它们划分到三个子系统中,然后逐 一详细地讨论了各子系统的具体设计思想,并对它们的功能、特点、作用及实现 机制都作了具体阐述。 第四章在江苏省水利基础数据库中的应用。首先介绍了应用背景,给出了 该模型在此背景下部署的系统框架,接着特别指出了a g l e t 的事件模式和消息机 制,它是实现系统的编程基础;接下来具体介绍各个子系统的实现细节、所采用 的关键技术及应该注意的问题;最后在一个模拟实验环境中对系统中的部分环节 进行实验,并对实验结果进行了分析。 第五章总结与展望。对本文的工作进行了总结,指出了本文中一些值得进 一步研究探讨的问题,并提出了一些需要进一步完善的工作。 i 海大学硕士学泣论文 基于移动a g e n t 的分市式披据查询研究与应用 第二章移动a g e n t 技术 2 1 移动a g e n t 的起源和定义 a g e n t 的研究起源于人工智能领域。a g e n t 是指模拟人类行为与关系、具有 一定智能并自 够自主运行和提供相应服务的程序。与现在流行的软件实体( 如对 象、构件) 相比,a g e n t 的粒度( 指实体大小) 更大,智能化程度更高。随着网 络技术的发展,可以让a g e n t 在网络中移动并执行,完成某些功能,这就是移动 a g e n t ( m o b i l ea g e n t ) 的思想l 。 因此移动a g e n t 是一种特殊的a g e n t ,它除了具有a g e n t 的最基本特性 自治性、适应性、面向目标性、连续执行性之外,还具有移动性。它们不固定于 初始执行的节点,而可以在网络各主机间自主移动。透过计算机网络,移动a g e n t 可携带自身状态和代码从一个环境转移到另一环境中去,并恢复执行。根据其特 性,可以给出移动a g e n t 的定义如下:移动a g e n t 是一个独立运行的计算机程序, 它可自主地在异构的网络上按照定的规程移动,寻找合适的计算资源、信息资 源或软件资源,利用与这些资源处于同一主机或网络的优势,就近处理或使用这 些资源,代表用户完成特定的任务。简单的说,移动a g e n t 是一个能在异构网络 中自主的从一台主机迁移到另一台主机,并可与其它a g e n t 或资源交互的程序, 实际上它是a g e n t 技术与分布式计算技术相结合的产物。 从软件a g e n t 的角度来看,移动a g e n t 是软件a g e n t 家族中的一员。根据是 否具有移动属性,软件a g e n t 可以被分为两类:移动a g e n t 和静态a g e n t 。静态 a g e n t 直驻留在它开始执行的位置,通过通信机制与外界交换信息、交互协作。 而移动a g e n t 在他的生命周期内,可以在不同的网络节点之间移动。在执行过程 中,移动a g e n t 可以从一个执行环境迁移( 挂起执行线程,把自己的程序代码和 执行状态传送到另个执行环境,并在其中恢复执行) 到另一个执行环境。因此, 在具备软件a g e n t 特性的基础上,移动a g e n t 有三个突出特点: ( d 持续性:能在网络环境中不同节点之间移动和执行,转移后其执行是 持续的,在转移过程中保持自身状态。 ( 2 ) 标识:任何一个移动a g e n t 具有一个全局唯一标识。 ( 3 ) 目标任务驱动:移动a g e n t 根据自己的目标任务对环境做出反应、判 断并实施行为以达到目标。 从移动代码的角度来看,移动a g e n t 是具有强大移动能力的一类移动代码, 它的移动不仅仅是指它的程序代码在分布式计算环境中的移动,而且它的执行状 态也要随着代舀和数据传送到远程执行环境中。这样的机制为移动代码计算模式 提供了有力的支持。由于移动a g e n t 具有软件a g e n t 的一些共同性质,移动a g e n t 在另一些方面也具有其他移动代码所没有的性质: i n 5 海大学懒。! 学位论工基于穆动a 垫仳酌分布式数据查询研究与应局 ( i ) 自主性f a u t o n o i t i o u s ) :可以不需要直接的外部干预而自主行动。 ( 2 ) 交互一| 生( i n t e r a c t i v e ) :可以与运行环境或其它a g e n t 进行通信,在此基 础上互相协作以达到目标、完成任务。 ( 3 ) 适应性( a d a p t i v e ) :可阱对其它a g e n t 或它的环境做出反应。 从以上移动a g e n t 的性质可以看出:移动a g e n t 不同于远程执行,移动a g e n t 能够不断地从一个网络位置移动到另一个位置,能够根据自己的选择进行移动: 移动a g e n t 不同于进程迁移,一般来说进程迁移系统不允许进程选择什么时候迁 移到哪里,而移动a g e n t 带有状态,所以可根据应用的需要在任意时刻移动,可 移动到它想去的任何地方;移动a g e n t 也不同于a p p l e t ,a p p l e t 只能从服务器 向客户单方向移动,而移动a g e n t 可以在客户和服务器之间双向移动。 2 2 移动a g e n t 系统的体系结构 虽然目前不同移动a g e n t 系统的体系结构各不相同,但几乎所有的移动 a g e n t 系统都包含移动a g e n t ( 简称m a ) 和移动a g e n z 服务设旄( 简称m a e ) 两 个部分:“j ,如图2 1 所示。 图2 1 移动a g e n t 系统 v i a e 负责为m a 建立安全、正确的运行环境,为淞提供最基本的服务( 包括 创建、传输、执行) ,实施针对具体姒的约束机制、容错策略、安全控制和通信 机制等。姐的移动性和问题求解能力很大程度上取取于f l a e 所提供的服务,一 般来讲,a e 至少应包括以下基本服务: 基于移动a 鲈n t 的分布式数据查询研究与应用 ( l ) 事务服务:实现移动a g e n t 的创建、移动、持久化和执行环境分配; ( 2 ) 事件服务:包含a g e n t 传输协议和a g e n t 通信协议,实现移动a g e n c 间的事件传递; ( 3 ) 目录服务:提供移动a g e n t 的定位信息,形成路由选择; ( 4 ) 安全服务:提供安全的执行环境; ( j ) 应用服务:提供面向特定任务的服务接口。 通常情况下,一个, z i e 只位于网络中的一台主机上,但如果主机间是以高速 网络进行互联的话,个姒e 也可以跨越多台主机而不影响整个系统的运行效 率。) f 【a e 利用a g e n t 传输协议( a g e n tt r a n s f e rp r o t o c o l ,a t p ) 实现淞在主机 间的移动,并为其分配执行环境和服务接口。m a 在m a e 中执行,通过a g e n t 通 信语言( a g e n tc o m m u n i c a t i o nl a n g u a g e ,a c l ) 相互通信并访问a e 提供的各种服 务。 在移动a g e n t 系统的体系结构中,m a 可以细分为用户a g e n t ( u s e ra g e n t ,u a ) 和服务a g e n t ( s e r v e ra g e n t ,s a ) 。u a 可以从一个m a g 移动到另一个f l a e , 它在m a e 中执行,并通过a c t 与其它通信或访问凇e 提供的服务。u a 的主要 作用是完成用户委托的任务,它需要实现移动语义、安全控制、与外界的通信等 功能。 s a 不具有移动能力,其主要功能是向本地的m a 或来访的舭提供服务, 一个m a e 上通常驻有多个s a ,分别提供不同的服务。由于s a 是能不移动的,并 且只能由它所在m a e 的管理员启动和管理,这就保证了s a 不会是“恶意的”。u a 不能直接访问系统资源,只能通过s a 提供的接口访问受控的资源,从而避免恶 意a g e n t 对主机的攻击,这是移动a g e n t 系统经常采用的安全策略。 移动a g e n t 是一个全新的概念,虽然目前还没有统一的定义,但它至少具有 如下一些基本特征: ( 1 ) 身份唯一性 移动a g e n t 必须具有特定的身份,能够代表用户的意愿。 ( 2 ) 移动自主性 移动a g e n t 必须可以自主地从一个节点移动到另一个节点,这是移动a g e n t 最基本的特征,也是它区别与其他a g e n t 的标志。 ( 3 ) 运行连续性 移动a g e n t 必须能够在不同的地址空间中连续运行,即保持运行的连续性。 具体说来就是当移动a g e n t 转移到另节点上运行时,其状态必须是在上一节点 挂起时那一刻的状态。 7 河海大学颂士学丘论文 基于移动a g e n t 的分布式盏据查询研究与应用 2 3 移动a g e n t 系统支撑 2 3 1 移动a g e n t 的生命周期 竺x 裂丫 参 态。 图2 2 移动a g e n t 的生命周期 创建态标志着一个移动a g e n t 正处于创建过程,当创建者将移动a g e n t 放入 发送队列后转入准备态。从准备态到传输态的转变决定于创建者为它制定的发送 条件及与下一个目标的协商结果。如果与日的站点协商成功,则a g e n t 转入传输 态。 a g e n t 在网络传输过程中处于传输态,成功到达目标站点后转入阻塞态。 a g e n t 在目标站点未获得执行权前始终处于阻塞态,在此期间服务设施对其 进行身份确认和完整性裣查,检查通过刚转入执行态;否则重新转入传输态返回 给上站点。 执行态是a g e n t 生命周期中唯一具有活性的状态,在这个状态中它自主运行, 与其他a g e n t 或服务设施交互完成预定任务。任务完成后,它可能会继续移动转 入传输态,或转入结束态( 如果确认是最后一个目标站点) 。 结束态是a g e n t 生命周期的结束。由于a g e n t 是可以重复利用的组件,因此 河海大学矾士学宜论z单于够动a g e n t 的分布式数据查询研究与应用 它可以被再次放入发送队列,转入准备态。这种循环的生命周期能够无限次进行, 并且在不同生命周期内获取的知识也能够在下一个生命周期内使用。 2 3 2 移动a g e n t 的迁移机制 移动a g e n t 的迁移机制涉及a g e n t 移动的各个方面:从发现和定位远程主机 到a g e n t 的移动方式。目前公认的移动a g e n t 的迁移机制至少包含以下内容: ( 1 ) 移动a g e n t 系统中的所有实体( 包括:a g e n t ,主机,服务) 的名字约定; ( 2 1 对涉及远程移动a g e n t 系统的信息的访问方式: ( 3 ) 使移动a g e n t 进入挂起状态( 暂停执行,保存状态,准备向远程执行环境 迁移的能力: ( 4 、将处于挂起状态的移动a g e n t 传送到远程执行环境的能力; ( 5 ) 从远程执行环境接收处于挂起状态的移动a g e n t ,在新的执行环境中恢复 移动a g e n t 执行的能力。 移动a g e n t 的迁移过程如图2 3 所示: s e n d e l r e c e i v e r 图2 3 移动a g e n t 迁移过程示意图 迁移机制是移动a g e n z 的基础核心技术,它支持a g e n z 在网络上自主的移动, 可以在合适的节点上停留下来,完成一定的任务,然后继续移动和执行,直到完 成用户的任务,最后把结果返回给用户。a g e n t 迁移的过程包括克服平台异构性, 确定移动粒度大小,移动规程的表示等内容。移动粒度和移动规程是迁移机制的 可海赶学硕土使论文 堆于够动g e r l t 的分市z t 数据查询研究应用 核心内容,它们分别从系统程序员的角度和应用程序员的角度来说明迁移机制, 对应着a g e n t 移动的实现和表示。 ( 1 ) 移动粒度 在基于j a v a 的移动a g e n t 系统中,移动粒度从细到粗,可以分成语句迁移和 过程迁移两种,语句迁移使a g e n t 在目标节点上可以从迁移前的断点语句开始 继续执行;过程迁移只能支持a g e n t 在目标节点上从一个过程开始重新执行。 为了让a g e n t 能在节点之间移动并连续计算,必须保存a g e n t 在源节点上的状 态,传输到目标节点上,然后恢复运行。从技术的角度,a g e n t 的状态信息可以 分成三部分: a g e n t 对象状态:指a g e n t 对象变量的值。 a g e n t 代码状态:指a g e n t 执行所需的代码。 a g e n t 执行:状态:与a g e n t 执行线程或进程相关的系统信息。 语句迁移为了能在目标节点上从断点语句开始恢复执行,需要捕获上述所有 三部分状态,移动到目标节点后恢复成和移动前一模样的运行环境,因此又称 为强迁移:过程迁移则只捕获对象状态和代码状态,在目标节点上只恢复a g e n t 对象,而执行状态可以和源节点上的不一样,因此又称为弱迁移。 ( 2 ) 移动规程表示 移动粒度在系统层面上说明了a g e n t 迁移的系统支撑,移动规程则在应用 一级上说明应用程序员如何表达a g e n t 的移动信息。它包括两部分内容,一是 在源节点如何表达移动意愿,二是在目标节点如何恢复执行。前者反映了a g e n t 在源节点上什么时候开始移动,移动到什么地方去;后者说明了a g e n t 在目标 节点上从什么位置开始恢复执行。 a g e n t 移动意愿的表达也有这样两种,分别称之为显式方式和隐式方式。 在显式方式下,一般采用类似于旅行计划的形式显式的给出a g e n t 的旅行过 程。应用程序员事先给a g e n t 制定一个旅行计划,说明需要访问的目标节点地址 以及相应需要执行的过程。启动后,a g e n t 将逐步解释执行旅行计划中的每一项, 直到完成整个计划。 在隐式方式下,a g e m 系统提供一条移动命令,如g o 、j u m p 、m i g r a t e 等,该 命令隐式的处于a g e n t 程序中,可以在程序内直接调用这条命令,并附以适当的 参数如目的节点地址,可以随时把a g e n t 移动到目的节点去。很多现有移动a g e n t 系统都采用这种方式,如a g e n tt c l 、m o l e 、a g l e t 等。 2 3 3 移动a g e n t 的通信机制 a g e n t 可以和处于同一场所的其他a g e n t 或其他场所中的a g e n t 通信。在权 n f 海大学硕上学f 芷论上 基于移动a g e n t 的分布式数据直询研究与应用 隈允许的情况下,一个a g e n t 可以调用另一个a g e n t 的方法或给它发送消息。一 般地,a g e n t 消息可以是点到点或广播式的。广播消息的机制在多a g e n t 系统中 很有用。a g e n t 之间的通信有三种不同的模式: ( 1 ) 即时型消息传递( n o wt y p em e s s a g i n g ) 。这是一种最常用的消息模式。即时 消息是同步的,即下一步的执行要在接收消息一方完成了对消息的处理并对其做 出回答之后才能进行( 见图2 4 ) 。 ( 2 ) 延时型消息传递( f u t u r e t y p em e s s a 垂n g ) 。这是一种异步方式,不阻塞当前 的执行( 见图2 5 ) 。消息的发送者保留着对消息的事后处理( 在将来) ,而不必等到 接收者做出反应并返回结果再做下面的工作。这种消息机制很灵活,尤其是当多 个a g e n t 间互相通信的时候。 ( 3 ) 单向型消息传递( o n e w a y t y p em e s s a g i n g ) 。和第二种方式相同,这也是 一种异步机制( 见图2 6 ) 。但是发送者发完消息就不再等待结果返回,接收者也 不必对消息做出回答。当两个a g e n t 之间需要松散的连接对话时,发送消息的 a g e n t 不需要消息接收a g e n t 做出任何回答,在这种情况下单向消息机制是很方 便的。这种模式有时也称为发射一忘记模式( f i r e a n d f o r g e t ) 发送者 接受者 图2 4 即时型消息传递禽 r _ 发送者接受者 图2 6 单向型消息传递 2 3 4 移动a g e n t 的安全机制 发送者接受者 图2 5 延时型消息传递 现有的基于i a v a 的移动a g e m 系统,基本上都采用了j a v a 的沙箱( s a n d b o x ) 安全模型作为其安全机制的实现基础,但是j a v a 安全模型本身就存在不完善的 町海大学嗽士学盥沧文基于移动a g e n t 的分布式数据耍询研宄与应用 地方,而且移动a g e n t 系统对安全性有着特殊的要求,系统的进行移动a g e n t 系 统安全性研究,有着重要的意义。 移动a g e n t 系统的安全性涉及以下三个方面: 移动a g e n t 之间通信的安全保护。 保护执行环境免受潜在的恶意a g e n t 的损害( 保护主机) 。 保护移动a g e n t 免受潜在的恶意服务器和环境的攻击( 保护移动a g e n t ) 。 ( 1 ) 移动a g e n t 通信的安全保护 为保护通信安全,对所有信息提供通信认证,对任何可能的安全危害进行检 测,目前有一种基于“加密信道一一权限控制”的a g e n t 系统通信安全性实现方 法,提供了多层次检查机制。用基于r s a 和r a b i n 算法的加密信道来提供底层 的签名和加密服务,而在高层提供权限控制机制。 ( 2 ) 保护主机 计算机应当能够认证a g e n t 的所有者,然后根据执行过程的资源请求和相关 的安全策略给予相应的权限。为了防止破坏敏感数据和拒绝服务( d o s ) 攻击, 资源的限制应包括读取某个文件的权限、总c p u 的最大消耗时间等。目前采用 的方法有如下几种: 1 ) 砂箱( s a n d b o x ) :类似于a p p l e t 的安全机制,a g e n t 运行环境限制移动a g e n t 访问本地资源的权限,就好像运行在一个特定的箱子中( 称为砂箱) ,a g e n t 只能 对运行环境施加有限的影响,破坏有限的资源。 2 ) 认证、授权:运行环境通过数字签名( 每一个移动a g e n t 都有自己的护照 p a s s p o r t ,其中记录了移动a g e n t 的创建时间、制造者等数字签名信息) 来对移动 a g e n t 进行身份认证,判断它是否合法。如果能通过认证,就通过存取控制表给 移动a g e n t 分配相应的资源操作权限。 3 ) 检验传输代码( p r o o f - - c a r r y i n g c o d e ) :此方法由卡内基梅隆大学提出,核 心思想是移动a g e n t 的运行环境能够验证某个移动a g e n t 是否遵守由运行环境提 供的一套安全规则。 o ) m e s s a g er e p l y m s g :n e wm e s s a g e ( “m a i l c o n t e n t ”) r e p l y m s g s e t a r g ( “c o n t e n t ”,m a i l s ) : m s g s e n d r e p ly ( r e p ty m s g ) : 4 。4 - 4 2 船坞服务器的实现 船坞模块在程序总体结构上与通信中心类似,前台接收用户机器发过来它恢 复网络连接的消息,以便唤醒搜索a g l e t 回到其出发地。后台运行个“p i n g ” 程序,轮流与搜索a g l e t 准备迁移过去的目的地址取得联系,以判断它们是否与 网络连接,两种方法并行运行,不管哪种方法能确认相应的主机恢复网络连接, 就立即唤醒准备迁移到其上面去的所有a g l e t ,并将它们发送到那个地址上去: 图4 6 是船坞的工作原理。 一一一一”“1 直接迁移失败 3 船坞定期向d 发 p i n g 命令以监视d 是 否恢复网络连接 图4 6 船坞的工作原理 可海大学顾士学t 立论文基于移动a g e n t 的分布式数据查询研究与应用 一支持工具 1 、a s d k 的支持。 a s d k 中有一个简单持久化工具,可以将a g l e t 临时或永久地从当前c o n t e x t 中存入二级存储器,并可以由其它a g l e t 将其唤醒或自行醒过来。利用在a g l e t 中的独特命令r e t r a c t a g l e t0 ,可以使得位于防火墙内的机器将外面a g l e t 等 待队列中的a g l e t 召回。 2 、网络状态监视器或称网络传感器。 网络传感器是检测网络连接状态的工具,可以用标准的“p i n g ”命令来实现。 下述程序段设计成后台线程,通过在a g i e t 中定款调用操作系统p i n g 命令来判 断目的地址d e s t i n a t i o n 是否可达。即所谓“硬”p i n g 命令。 r u n t m i e r t = r u n n m e g e t r u n t i m e 0 ; s t r i n go m d = “d i n g ”,d e s t i n a t i o n 。g e t h o s t 0 ; 创建执行外部命令的进程 p r o c e s sp r :r t 8 x e c ( c o m m a n d ) : i n p u v s t r e a mi n p u t = p r g e t l n p u t s t r e a m ( ) : b u f f e r e d l n p u t s t r e a mb u f f e r s t r e a m = n e wb u f f e r e d l n p u t s t r e a m ( i n p u t , b u f f e r s

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论