




已阅读5页,还剩69页未读, 继续免费阅读
(计算机软件与理论专业论文)基于移动agent的信息检索系统的研究与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于移动a g e n t 的信息检索系统的研究与实现 摘要 r 同益庞大的网络及其异质性给网络管理和互操作提出了挑战,合理、有效 地和用i n t e m e t 上的信息资源是计算机应用的需要,也是当的计算机网络研究和 丌发的热点之。目前,国内外研究人员难尝试利用移动a g e m 技术来解决互 连网信息搜索和综合利用问题。a g e n t 是一类在特定环境下能感知环境,并能 代表设计者或使用者现实特定目的的自治计算实体或程序。移动a g e n t 是具有 移动特征的a g e n t ,它可以自主地在网络上从一台机器移动到另一+ 台机器,并 代表用户完成指定的任务。移动a g e n t 技术涉及到计算机网络、分布式系统及 人工智能等诸多领域,出于其移动性、自主性和协调性等特点,已经在乒t e m e t 环境下的分布式系统中得到应用,并展现出巨大的应用前景和优越性。j 本文旨在探索移动a g e n t 技术在i n t e r n e 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 环境f 的数据库信息搜索系统的设 计方案;深入研究和分析了系统的安全机制和容错机制,并针对移动a g e n t 的 通信失效和迁移失效问题提出了有效的解决方案。所有的研究和设计:厂作体现 在我们所实现的一个i n t e r n e t 环境下数据信息检索系统m a d b r e ( m o b i l e a g e n t b a s e dd a t a b a s er e t r i e v i n gs y s l c m 、中。 本项研究工作和论文的主要研究内容和特点是: ( 1 ) 全面分析了移动a g e n t 的概念、特点、功能和关键技术,按照面向对 象程序设计的风格论述了移动a g e n t 系统的设计模式和基于移动a g e n t 技术的 程序设计方法。 ( 2 ) 研究了应用移动a g e n t 技术在i n t e r n e t 上搜索数据库信息系统的总体 框架,针对移动a g e n t 系统的特点,实现了系统的容错机制和安全机制,设计 并实现了解决移动a g e n t 迁移失效的船坞系统和解决移动a g e n t 通信失效的通 信管理系统。 ( 3 ) 对i n t e m e t 上分布式信息检索系统不同的实现方案进行了比较研究, 指出了用移动a g e n t 技术开发计算机应用系统的优势和不足。 关键词:移动a g e n 、船坞_ 惴j 。b c - 。b c 桥、回调代码 - l ar e s e a r c ha n di m p l e m e n t a t i o n o fm o b i l e a g e n t b a s e di n f o r m a t i o nr e t r i e v i n gs y s t e m a b s t r a c t a st h eg r o w t ha n dh e t e r o g e n e i t yo fn e t w o r k sa n di n t e r n e t ,i t i s q u i t e i m p o r t a n ta n d a l s ov e r yd i f f i c u l tt op r o f i ti n f o r m a t i o nr e s o u r c e se f f i c i e n t l yf r o m i n t e r n e t r e s e a r c h e r sa r et r y i n gt ou t i l i z em o b i l ea g e n tt e c h n o l o g yt o s o l v e p r o b l e m si n i n f o r m a t i o ns e a r c h i n gi ni n t e r n e ta g e n ti sak i n do fp r o g r a m m e o rc o m p u t i n ge n t i t yt h a tc a na p p e r c e i v et h ee n v i r o n m e n tu n d e ra c e r t a i n e n v i r o n m e n ta n dc a nd e l e g a t ei t sd e s i g n e ro ru s e rt or e a l i z es o m eg o a l s m o b i l ea g e n t sa r ea g e n t sw i t hm o v i n gc h a r a c t e r i s t i c ,w h i c hc a na u t o m a t i c a l l y m o v ef r o mo n em a c h i n e t oa n o t h e ra n dc a nd e l e g a t et h eu s e rt oa c c o m p l i s h c u s t o m e dt a s k m o b i l ea g e n ti n v o l v e sm a n yt e c h n o l o g yd o m a i n s ,s u c ha s c o m p u t e rn e t w o r k ,d i s t r i b u t e ds y s t e m a n da r t i f i c i a li n t e l l e g e n c ee t c i th a s b e e na p p l i e di nt h ed i s t r i b u t e ds y s t e mu n d e ri n t e r n e te n v i r o n m e n tf o ri l s c h a r a c t e r i s t i co fm o v i n g ,a u t o n o m ya n dc o l l a b o r a t i o n ,a n dm a n i f e s t e dg r e a t a p p l i c a t i o np e r s p e c t i v e sa n da d v a n t a g e s t h em a i np u r p o s eo ft h et h e s i si st oe x p l o r et h ec o n c r e t ea p p l i c a t i o no f m o b i l ea g e n tt e c h n o l o g yi ni n t e r n e te n v i r o m e n ta n ds t u d yt h ep r o b l e m sa n d t h e i rs o l u t i o n sw h e nw e a p p l y m o b i l e a g e n tt e c h n o l o g y i ns o f t w a r e d e v e l o p m e n t h a v i n gs t u d i e dt h eb a s i cc o n c e p t sa n da p p l i c t i o nc h a r a t e r i s t i c s o fm o b i l ea g e n t ,w ea n a l y s e di nd e t a i lt h es o f t w a r ed e v e l o p m e n tm e t h o d b a s e do nm o b i l ea g e n t t e c h n o l o g y , a n dt h e np r o p o s e dam o d e l t od e s i g na n i n f o r m a t i o n r e t r i e v i n gs y s t e mm a d b r e ( m o b i l ea g e n t b a s e dd a t a b a s e r e t r i e v i n gs y s t e m ) i n i n t e r n e t u s i n g m o b i l e a g e n tt e c h n o l o g y w e a l s o s t u d i e da n da n a l y z e dd e s i g na n di m p l e m e n t a t i o no ft h es y s t e mi n d e t a i l e s p e c i a l l yt h es e c u r i t ya n d f a u l tt o l e r a n c em e c h a n i s m si nt h e s y s t e m t h ec o n t r i b u t i o n so fo u rr e s e a r c hw o r ka n dt h et h e s i sa r e : ( 1 ) w ea n a l y s e de n t i r e l yc o n c e p t s ,c h a r a c t e r i s t i c s ,a n df u n c t i o n a l i t i e so f m o b i l ea g e n tt e c h n o l o g y , a n dd i s c u s s e dt h ed e s i g nm o d e lo fm o b i l ea g e n t s y s t e ma c c o r d i n gt ot h eo b j e c to r i e n t e ds t y l ea n dt h ep r o g r a m m i n gm e t h o d s b a s e dm o b i l ea g e n t t e c h n o l o g y ( 2 ) w es t u d i e d t h ef r a m e w o r ko fad a t a b a s ei n f o r m a t i o n r e t r i e v i n g s y s t e mi n i n t e r n e tu s i n gm o b i l ea g e n tt e c h n o l o g yw e i m p l e m e n t e dt h ef a u l t t o l e r a n c ea n ds e c u r i t ym e c h a n i s m si nt h es y s t e mw ea l s od e s i g n e da n d i m p l e m e n t e dad o c k i n gs y s t e mt os o l v et h ep r o b l e mo fm o v i n gi n v a l i d a t i o no f m o b i l ea g e n t sa n dac o m m u n i c a t i o ns u p p o r ts y s t e mt os o l v et h ep r o b l e mo f c o m m u n i c a t i o ni n v a l i d a t i o no fm o b i l e a g e n t s ( 3 ) w es t u d i e d a n d c o m p a r e d d i f f e r e n ts o l u t i o n so f i m p l e m e n t i n g d i s t r i b u t e di n f o r m a t i o n r e t r i e v i n gs y s t e m i n i n t e r n e t ,a n d a n a l y s e d t h e a d v a n t a g e sa n dd r a w b a c k si nd e v e l o p p i n gd i s t r i b u t e da p p l i c a t i o ns y s t e m s u s i n gm o b i l ea g e n tt e c h n o l o g y k e yw o r d s :m o b i l ea g e n t ,d o c k ,m a i lb o x ,j d b c - - o d b cb r i d g e ,c a l l b a c k c o d e 】j i 独创性声明 乳2 9 7 6 3 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作 及取得的研究成果捌我所知,除了文中特别加以标注和致谢的地方 外,论文中不包含其他人已经发表或撰写过的成果,也不包含为获得 西北大学或其他教育机构的学位或证书而使用过的材料。与我同 = 作的同志对本研究所做的任何贡献均已在沦文中做了明确的说明并 表示谢意。 学位论文作者签字:1 司苟之军签字日期:2 口。2 年牛月f f 日 第一章引言 第一章引言 1 1 本论文的研究背景、目标与意义 2 0 世纪9 0 年代以来,随着全球通信网与i n t e r a c t 的蓬勃发展,分如式计算 系统( d i s t r i b u t e dc o m p u t i n gs y s t e m ) 已经成为计算机科学领域的一项关键性主 流技术,迅速扩展的网络规模和各类网络的差异性,特别是无线网络和移动设 备的繁荣,极大地增加了分布式计算的复杂性,动态变化及异构地组建的网络 要求为应用系统提供更具灵活性、扩展性、容错性和适应性的技术。 传统的分布式计算模式是客户服务器( c l i e n t s e r v e r ) 结构,基于消息传 递的同步远程过程调用( r p c ) 是对c l i e n t s e r v e r 模式的改进,在面向对象技 术出现后基于r p c 引入了远程方法调用( r e m o t em e t h o di n v o c a t i o n ,r m i ) 和 公共对象请求代理结构( c o m m o no b j e c tr e q u e s tb r o k e r a r c h i t e c t u r e ,c o r b a ) 。 在传统模式中,应用程序的功能在参与节点之间被分割,不同的参与者使用消 息传递来协调分布的计算,因为计算本身是被分割的,所以参与者之间要交换 大量中间结果和其它同步信息。 代码即需即取模式( c o d e o n d e m a n d ,c o d ) 是分布式计算另一种不同的 模式,包括j a v a 中的a p p l e t 和s e r v l e t 。在这种模式中,当客户端需要远程服务 时,首先从远程获得该服务的代码,然后在客户端执行计算并占据处理器及本 地资源。与传统基于c l i e n t s e r v e r 的模式相比,客户无需预装代码,可以利用 a p p l e t 从服务器下载到浏览器中并在本地运行,而服务器也无需预装所有代码, 因为它可以远程动态装载s e r v l e t 来扩充服务功能,这就为构造分布式应用系统 提供一定的灵活性。 在传统的分布式计算中应用固定的客户程序,它必须与每个所需服务器远 程通信,来回移动数据并且每次都阻塞以等待响应。不仅增加了网络流量,也 加重了系统性能对网络延迟的依赖性。自然的改进是迁移程序自身以便使用户 可以在远程机器上执行它,c o d 模式可以部分作到这一点,但是,这种模式只 允许代码在客户和服务器之间一对一的迁移,并且在代码运行过程中,客户和 服务器之间要一直保持连接,这在很大程度上限制了它的应用。 在i n t e m e t 环境下进行多站点信息搜索是一种重要的网络应用。由于网络 的异构性和网络状况的不确定性,使得用传统技术实现这种应用变得很复杂, 特别是在移动计算的情况下,用户的便携式计算设备与网络只能是低带宽连接, 并且时断时通,用传统技术几乎无法实现,在这种情况下可以考虑使用移动 a g e n t 技术:一个客户程序发出移动a g e n t 它是代表其用户的程序到远 西托大学计算机科学系硕士学位论文 一 - l - 第一章引言 程机器上执行用户定制的信息检索任务,这些移动程序会在网络 二依次访问所 有需要的站点,在每个站点上进行计算,只将最终结果返回给用户,不需要传 输源数据和中间结果,而远程机器无须预先了解用户及其任务。特别是当用户 机器与网络连接断开时,移动a g e n t 依然能够继续其搜索任务,一旦用户与网 络连接上,a g e n t 就能够将其搜索结果发回去,这是传统技术做不到的。而且 在i n t e r n e 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 r n e t 上进行信 息检索的应用,并在理论和实践上说明了移动a g e n t 技术在i n t e r n e t 中应用的可 能性,、设计、开发了一个在i n t e r n e t 上搜索数据库信息的m a d b r e 系统,并结 合实际分析比较了用不同方法实现该系统的差异。 1 2 本论文的研究内容 结合不断发展的网络技术,充分利用移动a g e n t 的特性,在实现m a d b r e 系统时使用了i b m 公司的移动a g e n t 运行平台a g l e t ,并采用与平台无关的、 可移植性好的j a v a 语言作为开发语言。 m a d b r e 系统首先对用户提出的搜索请求进行分析,根据用户的选择创建 搜索a g e m 并将其派遣到网络上执行检索任务,分析并显示从各个站点上搜索 出来的数据,帮助用户最终得到需要的信息。它主要由四个部分构成:用于与 用户进行人机交互的用户组件、用户组件创建的完成搜索任务的移动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 ) 设计i n t e m e t 上搜索数据库信息系统的总体结构,各个子系统的构成 及其相互关系,围绕移动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 技术的程序设计方法;论述了a g l e t 中的事件委托模型和消息机 制,为正确设计程序提供了关键支持,在此基础上详细描述基于移动a g e n t 技 2 第一章引言 术实现信息检索系统的具体方法。 ( 4 ) 对i n t e m e t 上分布式信息检索系统不同的实现方案进行了比较研究, 指出了用移动a g e n t 技术开发该系统的优势和不足。 1 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 技术 开发本系统的必要性和可能性。接着分析比较了现有移动a g e n t 系统,并从中 选择了i b ma g l e t 作为开发本系统的移动a g e n t 平台,并简单介绍了本系统的 编程基础:j a v a 语言及j a v a 数据库技术j d b c 。 第三章从整体出发介绍m a b d r e 系统的设计任务和目标,在此基础上抽 象出组成系统的五个主要a g e n t ,并将它们划分到三个子系统中,然后逐一详 细地讨论了各子系统的具体设计思想,并对它们的功能、特点、作用及实现机 制都作了具体阐述。 第四章首先讨论了移动a g e n t 的设计模式,接着论述了a g l e t 的事件委托模 型和消息机制,为具体编制程序提供了保证,在此基础上详细介绍各个子系统 及其组成部件的实现细节,并指出了各个组件所采用的关键技术。 第五章主要讨论了移动a g e n t 系统中所面临的安全问题及其部分解决方 案,然后详细介绍了采用a g l e t 系统开发应用系统的安全保障,最后在a g l e t 提供的安全机制基础上实现了本系统的安全措施。 第六章介绍了m a d b r e 系统的简单应用情况,指出了系统的软、硬件环 境和要求。 第七章将实现本系统所用的移动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 产品中,我们选择了基于j a v a 的a g l e 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 的基础理论研究有3 个相互关联的方面| 2 j :智能 a g e n t 、多a g e n t 系统( m u l t i - - a g e n ts y s r e m ,m a s ) 和面向a g e n t 的程序设计 ( a g e n t0 d e n t e dp r o g r a m m i n g ,a o p ) 。一般来说,智能a g e n t 是m a s 研究的 基础,对它的研究可以统一在m a s 研究之下,这样,智能a g e n t 被看做是m a s 研究中的微观层次,主要研究a g e n t 的理论和结构,包括a g e n t 的定义、特性、 分类及a g e n t 的形式化表示和推理等。有关a g e n t 之间的关系的研究则构成了 m a s 研究的宏观层次,它主要研究多个a g e n t 所组成的系统中a g e n t 及m a s 间的通信、规划、协作等问题,智能a g e n t 及m a s 的成功要借助于a g e n t 的应 用方法,即a o p 的编程规范和设计语言规范及其实现,a g e n t 的理论研究和技 术发展是一个从单个a g e n t 的理论( 智能a g e n t ) 到m a s 的研究和应用的过程。 2 1 1 a g e n t 的基本概念及其结构模型 关于一个a g e n t 的实际构成及与其它程序之间的关系等方面的争论已经持 续一段时间了,至今没有统一的定义,相对而言,有关“弱定义”和“强定义” h 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 还有其它一些属性: 西北大学计算枫科学系硕士学位论文 4 一 第二章相关技术研究 移动性:a g e n t 能够从一台机器迁移到另一台机器上并且能够穿过不同 结构和平台的系统。 可信赖性:a g e n l 不会有意地通报错误信息,它对终端用户是可信的。 学习:能够依据从前面经验中获得的知识行动,从而增强了适应性。 综合起来,我们可以把a g e n t 看成是一类在特定环境下能够感知环境,对 外界的信息作出一定的判断和推理,并能自治地运行以代表其设计者或使用者 实现一系列目标的计算实体或程序。 根据a g e n t 在实际中的作用可分为以下几种p 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 :能够在i n t e r n e 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 由七个主要部分组成1 1 9 :消息监听器、总控模块、任务 求解与推理机、思维状态、知识库、行为规则、行动。其工作过程为:消息监 听器收到发来的消息后,立即告诉总控制模块,a g e n t 根据消息和当前的思维 状态,从行为规则中找到一条匹配的规则,利用相关知识进行推理和任务求解, 最后采取行动,对外部作出响应,在和外部环境的交互过程中a g e n t 的思维状 态持续地演化,最终实现一定的目标,完成用户交给的任务。图2 1 是a g e n t 外部 消息 厂:- = 、厂 7 j 等芽 任务求解与推理机厂思维状态- 3 南知识库l n i 行为规则l 、一、 幽2 - 1 a g e n t 基本结构模刑 西北大学计算机科学系硕士学位论文 第二章相关技术研究 的基本结构示意图。 2 1 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 编程| 9 】,基于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 抽象:在r 常生活中,我们可以用心理来解释并预言复杂的 智能系统( 比如人) ,意识态度在谈及复杂系统时是一个便利的方法, 它使得我们能够预言并解释他们的行为而无需明白他们实际的工作机 制。 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 协商的能力及把握各种机会 的能力。这在系统组件不能了解前景和变化及在高度异构时例如在 i n t e r n e t 上编程特别有用。 基于a g e n t 的编程提供了一种将大而复杂的问题分成小而简单,易于实 现和维护的组件的自然方式。许多领域拥有分布的数据、专门技术和资 源,基于a g e n t 的方法提供了一个更自然的方法以实现数据和资源的分 布。 另一个优点涉及到已有系统,修改现有的软件以跟上变化的需求经常是 不可能的,已有软件可以通过构造封装它的“a g e n t 包裹”来与其它基 于a g e n t 的软件协作和通信。 2 1 3 面向a g e n t 的程序设计与面向对象程序设计的比较 面向对象编程( o o p ) 技术是当今软件开发的主流技术,o o p 将系统看成 纳l t 大学计算机科学系硕t 学位论文 6 第二章相关技术研究 是由相互通信以执行外部计算的对象所构成的,面向a g e n t 编程( a o p ) 则是 o o p 技术的进一步发展,基于o o p 丌发的系统由a g e n t 而不是对象构成的, 这些a g e n t 的内部计算基于信念、能力和选择,彼此使用基于行为言。语原理的 消息进行通信。对象与a g e n t 主要有三个方面的区别j : 1 、自治程度的区别:a g e n t 不去调用彼此的方法而是通信请示动作的执行, 在o o p 中,是否调用方法的决定权在于调用方法的对象,而在a o p 中决定权 在于接收到请求的a g e n t 是否愿意响应请求。 2 、消息传递机制的区别:虽然o o p 和a o p 的运行机制都是消息的传递和 向应,但是它们对消息的定义和处理方法却不同。o o p 中的消息定义包括目的 对象名、消息类型和参数表,对象的响应是执行在编译过程中就事先映射好的 方法,消息的类型未加限制,对消息的解释则依赖于编程者所定义的相应方法。 在a o p 中使用基于行为言语原理的消息进行通信,因而其消息类型是高度抽象 化的,比如通知、请求、承诺等,更像一种简化的自然语言,它比o o p 中消息 表达能力强得多,并且可以利用相关领域对象的描述给出更具体的消息定义和 含义解释。 3 、对于对象来说,类和继承是其主要特征,而对于a g e n t 来说,类及其继 承性是非本质特征,并且不同的a g e n t 个体往往并发地运行,甚至处于不尉的 机器上,要实现父类代码的共享是不容易作到的。 2 2 移动a g e n t 2 2 1 移动a g e n t 的基本概念 移动a g e n t ( m o b i l ea g e n t ,m a ) 是一种代替人或者其它程序执行某种任 务的程序7 】【8 】,它能够在复杂的网络中从一台主机移动到另一台主机中去,在 移动时该程序可以根据要求挂起其运行,然后转移到网络中的其它地方重新升 始或继续执行,最后返回计算结果。 移动a g e n t 的特点之一是移动性( m o b i l i t y ) ,这是它和一般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 t 的移 动一般是自主决定的。 移动a g e n t 的这两个特点把它与其它移动计算技术区别开来。在远程计算 ( r e m o t e e v a l u a t i o n ) ,代码即需即取( c o d eo n d e m a n d ) 技术中【s 1 代码的移 , o j a 学才筇祝群学系研学岔趁文 - 7 第二章相关技术研究 动是在代码运行之前进行的,因而移动的, 有代码本身。在分析i 式操作系统中 进程和对象迁移中虽然也包括代码和状态信息的移动,但它们的移动是被动的 而移动a g e n l 系统巾的移动是由a g e n t 自主决定的。 2 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 ( m a ) 和移动a g e n t 服务环境( m a 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 c o m m u n i c a t i o n l a n g u a g e ,a c 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 系统由几个部分构成 1 4 】【2 4 j :用户接口、a g e n t ( 包括 图2 - 2 移动a g e n t 系统总体结构 8 。“毫,。o 。一 蠢 第二章相关技术研究 本地固定a g e n t 和移动a g e n t ) 、a g e n t 服务环境( 或称主机) 、a g e n t 通信服务 中心和船坞( d o c k ) 服务器。a g e n t 服务环境利用a g e n t 传输协议( a g e n t 1 r a n s f e r r i n gp r o t o c o l ,a t p ) 实现a g e n t 在主机问迁移,并为其建立运行环境和 提供各种服务接厂l 。a g e n t 在服务坏境中执行,并通过a c l 与其它a g e n t 通信 或访问服务环境所提供的服务,船坞服务器是为了适应低可靠性网络和解决网 络拥塞而设置的a g e n t 中转站,提供暂时保存a g e n t 的服务。通信中心为移动 a g e n t 提供可靠、容错的通信服务。图2 2 是移动a g e n t 系统结构示意图。 、 移动a g e n t 系统的实现涉及到多方面技术,其中主要有以下几个方面: ( 1 ) 移动a g e n t 系统的编程语占】:可以是编译型的,也可以是解释型的, 出于对平台无关性的考虑,一般都采用解释型的语言,因为解释型语言有两个 优点延迟绑定,即程序可以携带本地不存在的函数和类由于语言丌发者明 确控制哪些资源可以被访问,利于解决安全问题,但由于解释型语音运行太慢, 一般采用即时编译( c o m p i l e do r l t h e f l y ) 技术以提高速度。由于j a v a 语言 具有良好的性能并得到广泛接受,所以,大多数移动a g e n t 系统采用j a v a 语占。 ( 2 ) 迁移机制:根据移动a g e n t 携带的内容不同,可以将移动a g e n t 的迁 移区分为强迁移和弱迁移【l ,前者在a g e n t 迁移之前系统捕获整个a g e n t 的状 态( 数据状态和运行堆栈等执行状态) ,将它们连同其代码一同一起传送至下一 节点,到达目的地后其状态( 数据和运行堆栈) 被完全恢复,程序将在原来中 断的地方继续往下执行。强迁移系统的a g e n t 传输过程是完全透明的,提高了 程序的模块化程度,容易理解和排除错误,因而提高了可靠性。但是该方法也 提高了系统实现的复杂性,增大了通信流量。 ;5 迁移系统如i b ma g l e t 及其它一些基于j a v a 的移动a g e n t 系统则不允许 方法执行状态的迁移( 如本地变量、程序计数器等) ,因此在这类系统中允许开 发者将代码与某种与迁移有关的事件绑定在一起,比如在i b ma g l e t 中为开发 者提供了将来执行的回调代码,用于捕捉对象的第一次创建、对象将要迁移之 前、刚刚到达某个站点之后等事件。弱迁移系统实现起来较为简单,使程序员 在解决同步问题时有更大的灵活性,但是也带来了一定的问题,编程人员必须 熟悉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 通信。在移动 a g e n t 系统中可采用的通信手段很多,有r p c 、r m i 、m e s s a g e 、数据共享方式 ( 仅在本地有效) 等。 ( 4 ) 容错机制。为了保证移动a g e n t 在异构环境中的f 常运行,考虑到服 务器异常。网络故障、目标主机不可达等各类异常情况的出现,必须提供容错 手段,确保a g e n t 完成任务。大多数的系统都用提供a g e n t 非易失存储器备份 的方法来确保其丢失后能恢复运行,比如a g l e t 系统中提供a g e n t 快照 9 第二章相关技术研究 ( s n a p s h o t ) 功能,它是a g e n t 内部状态的一个完全记录,用j 二出现故障时a g e n t 的恢复。 ( 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 的安全问 题。 2 2 3 移动a g e n t 的主要优点及其应用 用移动a g e n t 技术构造分布式系统时具有如下【5 l i 6 j 优势: ( 1 ) 减少网络负载。由于移动a g e n t 能够将用户请求打包并派遣至目的主 机,因此与数据源的交互在本地进行,当大量数据存储在远程机器上,数据在 本地处理而无需经过网络传送,这就减少了网络中的原始数据流量。 ( 2 ) 克服网络延迟。对实时性关键的任务如生产线上的机器人,需要实时 对它们的环境做出响应,出现延迟是不可接受的,移动a g e n t 提供了解决方案, 因为它们能够从控制中心被派遣到当地执行去直接执行控制者的指令,大大减 少了网络时延。 ( 3 ) 定制化服务。应用移动a g e n t ,客户端可以根据服务器提供的底层操 作函数来编写满足自己特定需求的服务程序,然后发送至服务器端运行,这种 方式增加了分布应用的伸缩性。 ( 4 ) 异步和自动执行。移动设备通常依赖于昂贵或脆弱的网络连接,为了 完成任务在移动设备与固定网络之间有一个持续的连接往往是不划算的或者是 技术上不可行的,为解决此问题,可以将任务嵌入到移动a g e m 中,然后将移 动a g e n t 放到网上,它被派遣出来以后就可以独立于创建它们的进程并且异步 地、自动地操作。 ( 5 ) 动态地适应。移动a g e n t 能够察觉到其环境的改变并且能够对这种变 化作出反应,多个移动a g e n t 具有将它们自己分布到网络上的多个主机上以维 持最优化配置的独特能力,更好地实现动态负载平衡。 ( 6 ) 自然地实现异构性。从软件和硬件角度来看,网络计算基本上是异构 的。由于移动a g e n t 通常是计算和传输层无关的( 仅依赖于其执行环境) ,因而 能够提供优化的无缝的系统集成。 ( 7 ) 强壮性和容错性:移动a g e n t 的工作方式降低了应用对网络的可靠性 的要求,它自主性又使它具备对环境的反应能力,因此能够建立强壮的、更加 容错的分布式系统。 因为移动a g
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年网络编辑师考试网络编辑人工智能与智能数据清洗技术试卷
- 文件存档及资料管理系统设计规范
- 外包加工制造协议规定内容说明
- 2025年汽车维修工(汽车维修行业人才培养)职业技能鉴定全真试题卷
- 2025年无损检测员(初级)职业技能鉴定真题模拟解析技巧
- 期中试卷数学试卷
- 《树和喜鹊》课件 统编版语文一年级下册
- 宁夏的中考数学试卷
- 去年江西省会考数学试卷
- 七宝实验小学数学试卷
- DG-TJ08-2144-2025 公路养护工程质量检验评定标准
- 2025年现代物流与采购管理考试试题及答案
- 医疗集团薪酬管理办法
- 顶管培训课件
- 北京医院神经外科护理团队介绍
- 纸品供应及质量保证措施
- 2025年北京市中考物理试卷真题(含答案)
- 2025年安徽高考地理试卷真题(含答案)
- 现代畜牧专业教学标准(高等职业教育本科)2025修订
- 膝关节损伤康复护理讲课件
- 社区儿童主任培训课件
评论
0/150
提交评论