已阅读5页,还剩58页未读, 继续免费阅读
(计算机软件与理论专业论文)基于移动agent的分布式信息检索系统的研究与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
东北师范大学硕士学位论文 摘要 日益庞大的网络及其异构性给互联网络的管理和操作提出了挑 战,合理、有效地利用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 环境下的分布式系统中得到应用,并展现出巨大的应 用前景和优越性。 从现今国内外对移动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 技术构造i n t e m e t 环境下的 分布式数据库信息检索系统的设计方案;深入研究和分析了系统的安 全机制。所有的研究和设计工作体现在我们所实现的一个i n t e r n e t 环 境下基于移动a g e n t 的分布式数据信息检索系统m a b d i r s ( m o b i l e 东北师范大学硕士学位论文 a g e n t b a s e dd i s t r i b u t 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 g e n t ,a g l e t ,分布式系统,对等模型 i i 查! ! 丝兰茎堂堡主兰竺笙茎 a b s t r a c t a st h eg r o w t ha n d h 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 ti sq 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 y f r o mi n t e m e t n o wr e s e a r c h e r sa r e t r y i n g t ou t i l i z em o b i l e a g e n t t e c h n o l o g y t os o l v ep r o b l e m si ni n f o r m a t i o n s e a r c h i n go n t h ei n t e r n e t m o b i l ea g e n tt e c h n o l o g yi san e wk i n do f t e c h n o l o g yo fd i s t r i b u t e d c o m p u t a t i o n ,i t i sac o m b i n a t i o no fd i s t r i b u t e d t e c h n i q u e a n d a g e n t t e c h n i q u e m o b i l ea g e n t s i 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 s ,d i s t r i b u t e ds y s t e m s u n d e rt h ei n t e r n e te n v i r o n m e n tf o r i t sc 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 d g r e a ta 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 e r ea r ef e ws u c c e s s f u la p p l i c a t i o n sw i t hm o b i l ea g e n ti nt h em o b i l e a g e n tr e s e a r c ha n da p p l i c a t i o nf i e l d s t h es t u a yt oa g e n tt e c h n o l o g y i s m o s t l ya tt h et h e o r e t i c a la n d m a t h e m a t i c a lp h a s ea n df e wm a t u r es y s t e m b a s e dm o b i l ea g e n te x i s t e d p e o p l es t i l lh a sd o u b tt os a f e t yo ft h ee x i s t e d i m m a t u r es y s t e m i fw ec a n ts o l v et h e s ep r o b l e m s ,w h i c hw i l ls e r i o u s h i n d e rt h 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 y t os o l v et h e p r o b l e m s ,i t i s v e r yn e c e s s a r y t o s t u d yt h ea g e n t t e c h n o l o g y t h em a i np u r p o s eo ft h et h e s i s i st o e x p l o r et h ec o n c r e t e a 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 a c te n v i r o n m e n ta n ds t u d y t h ep r o b l e m sa n dt h e i rs o l u t i o n sw h e nw ea p p l ym o b i l ea g e n tt e c h n o l o g y i ns o f t w a r ed e v e l o p m e n t a f t e rh 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 d a p p l i c a t i o n c h a r a c t e r i s t i c so fm o b i l ea g e n t , w ea n a l y z ei nd e t a i lt h e 1 i i 东北师范大学硕士学位论文 s o f t w a r ed e v e l o p m e n tm e t h o db a s e do nm o b i l e a g e n tt e c h n o l o g y , a n dt h e n p r o p o s eam o d e lt od e s i g na i li n f o r m a t i o nr e t r i e v i n gs y s t e mm a b d i r s ( m o b i l ea g e n tb a s e dd i s t r i b u t 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 ) 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 y a n d a n a l y z ed e s i g n a n d i m p l e m e n t a t i o no ft h es y s t e mi nd 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 de r r o r t o l e r a n c em e c h a n i s m si nt h es y s t e m k e y w o r d s :m o b i l ea g e n t ,a g l e t ,d i s t r i b u t e ds y s t e m ,p 2 p 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究 工作及取得的研究成果。据我所知,除了文中特别加以标注和致谢 的地方外,论文中不包含其他人已经发表或撰写过的研究成果,也 不包含为获得东北师范大学或其他教育机构的学位或证书而使用 过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论 文中作了明确的说明并表示谢意。 学位论文作者签名:蔓l 坠日期:尘o 学位论文版权使用授权书 本学位论文作者完全了解东北师范大学有关保留、使用学位论 文的规定,即:东北师范大学有权保留并向国家有关部门或机构送 交学位论文的复印件和磁盘,允许论文被查阅和借阅。本人授权东 北师范大学可以将学位论文的全部或部分内容编入有关数据库进 行检索,可以采用影印、缩印或其它复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后适用本授权书) 学位论文作者签名: 日期: 盟 苎,型 指导教师签名: 日期: 学位论文作者毕业后去向 工作单位: 通讯地址: 电话 邮编 东北师范大学硕士学位论文 1 1引言 第1 章绪论 随着信息表现形式从文本到多媒体的转交,以及网络信息数量的 激增,分布式信息存储与检索已经成为网络技术的一个重要研究领域。 当前分布式信息检索技术都是基于客户端j j l 务器模式,客户服 务器( c l i e n t s e r v e r ,c s ) 计算模型是最早出现的分布式计算模型川, 通过远程过程调用( r p c ,r e m o t ep r o c e d u r ec a l l ) 或消息传递( m e s s a g e p a s s i n g ) 等方式来完成检索的任务。相应地,如y a h o o 、h o t b o t 、g o o g l e 等信息检索系统,在一定程度上解决了资源定位问题,但因其存在的 固有问题,比如必须维护一个庞大的后台数据库,客户机和服务器在 信息检索过程中必须保持连接等,使其难以进一步提高检索速度,致 使网络带宽造成巨大浪费,并且检索结果的实时性也难以保证。基于 这种情况,移动a g e n t 技术得以产生和应用。移动a g e n t 技术是一种新 型分布式计算技术,是分布式技术和人工智能技术的结合。它的出现 为网络用户提供快速、准确、高实时性的信息检索服务,并能最大限 度地节省服务器资源和网络带宽。分工与协作是社会生产中不可分割 的一对有机体,本文的讨论将以基于移动a g e n t 的分布式信息检索为 主。 东北师范大学硕士学位论文 1 2 本论文的研究目的、研究意义 传统的分布式计算模式是客户,服务器( c l i e n t s e r v e r ) 结构,基于 消息传递的同步远程过程调用( r p c ) 是对客户,服务器模式的改进, 在面向对象技术出现后基于r p c 引入了远程过程调用( r e m o t e m e t h o di n v o c a t i o n ,蹦n 。与消息传递和远程调用( r e m o t e i n v o c a t i o n ) 相比,移动a g e n t 不需要连续的网络连接,可以减少网 络阻塞的发生;移动a g e n t 将一段应用程序代码移到数据所在地, 并在本地高速执行,最终将执行结果返回给用户,这样免去了将大 图卜1 基于r p c 的系统和基于移动a g e n t 的系统 量数据在网络上的传输。图卜l 是基于移动a g e n t 的系统和基于r p c 系统的原理图。1 。 移动a g e n t 最大的好处就在于它可以实现一个健壮而高效的分 布式应用系统。尽管这种实现利用其他几种技术的结合也可以做到。 但是不同的技术要求不同的环境,这对于经常改变的分布式应用系 统来说是不可容忍的。而移动a g e n t 技术则很容易解决这个问题。“。 2 东北师范大学硕士学位论文 一个客户程序发出移动a g e n 卜一它是代表用户的程序到 远程机器上执行用户定制的信息检索任务,这些移动程序回在网络 上同步的访问所有需要的站点,在每个站点上进行计算,只将最终 结果返回给用户,不需要传递源数据和中间结果,而远程机器无需 预先了解用户及其任务。 因此深入研究移动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 m e t 中应用的可能性,设计、开发了个在局域 网检索数据库信息的m a b d i r s 。 1 3 本论文的研究内容 本文结合不断发展的分布式计算系统,重点研究a g e n t 技术中的 移动a g e n t 技术,在实现系统时使用i b m 公司的移动a g e m 运行平台 a g l e t ,并采用与平台无关的、可移植性好的j a v a 语言作为开发语言。 m a b d i r s 根据用户提出的检索请求,自动派出多个移动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 技术的概念、系统结构及其关键技术、为系统 东北师范大学硕士学位论文 的设计和实现打下坚实的理论基础。 2 深入研究了采用移动a g e n t 技术进行软件设计的方法和步骤, 全面分析了应用i b ma g l e t 进行编程的核心:事件委托机制和消息机 制。在此基础上详细描述基于移动a g e n t 技术实现网络应用系统的具 体方法。 3 研究了移动a g e n t 系统的安全问题和容错要求,在此基础上, 提出了本系统的安全机制和容错机制。 4 东北师范大学硕士学位论文 第2 章移动a g e n t 技术 2 1 移动a g e n t 技术 2 1 1 移动a g e n t 的基本概念 移动a g e n t ( m o b i l ea g e n t , m a ) 是一种代替人或者其它程序执 行某种任务的程序口6 ”,它能够在复杂的网络中从一台主机移动到另一 台主机中去,在移动时该程序可以根据要求挂起其运行,然后转移到 网络中的其它地方重新开始或继续执行,最后返回计算结果【7 ,8 ,9 1 。 移动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 的移动一般是自主决定的。 移动a g e n t 的这两个特点把它与其它移动计算技术区别开来。在 远程计算( r e m o t ee v a l u a t i o n ) ,代码即需即取( c o d eo nd e m a n d ) 技 术中【1 0 l ,代码的移动是在代码运行之前进行的,因而移动的只有代码 本身。在分布式操作系统中,进程和对象中虽然也包括代码和状态信 息的移动,但它们的移动是被动的,而移动a g e n t 系统中的移动是由 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 ( 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 tc o m m u n i c a t i o nl a n g u a g e ,a c l ) 与其它服务器通信或者获 得其它a g e n t 所提供的服务。移动a g e n t 的移动和任务求解能力很大程 度上取决于服务环境所提供的服务j 。一般来讲,服务环境都包括以 下基本服务:生命周期服务、事件服务、目录服务、安全服务、应用 服务。 2 1 3 移动a g e n t 系统的关键技术 移动a g e n t 的实现涉及到多方面技术,其中主要有以下几项关键 技术 1 2 , 1 3 1 : 1 移动a g e n t 系统的编程语言:可以是编译型的,也可以是解释 型的,出于对平台无关性的考虑,一般都采用解释型的语言,由于j a v a 语言具有良好的性能并得到广泛接受,所以,大多数移动a g e n t 系统 采用j a v a 语言1 4 1 。 2 迁移机制【”1 :根据移动a g e n t 携带的内容不同,可以将移动 a g e n t 的迁移区分为强迁移和弱迁移 16 1 ,前者在a g e n t 迁移之前系统捕 获整个a g e n t 的状态( 数据状态和运行堆栈等执行状态) ,将它们连同 其代码一同传送至下节点,到达目的地后其状态( 数据和运行堆栈) 6 东北师范大学硕士学位论文 被完全恢复,程序将在原来中断的地方继续往下执行。强迁移系统的 a g e n t 传输过程是完全透明的,提高了程序的模块化程度,容易理解 和排除错误,因而提高了可靠性。但是该方法也提高了系统实现的复 杂性,增大了通信流量。弱迁移系统如i b ma g l e t 及其它一些基于j a v a 的移动a g e n 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 在异构环境中的正常运行,考 虑到服务器异常、网络故障、目标主机不可达等各类异常情况的出现, 必须提供容错手段,确保a g e n t 完成任务。大多数的系统都用提供 a g e n t 非易失存储器备份的方法来确保其丢失后能恢复运行,比如 a g l e t 系统中提供a g e n t 快照( s n a p s h o t ) 功能,它是a g e n t 内部状态 的一个完整记录,用于出现故障时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 不受宿主机器的非法侵害。 7 东北师范大学硕士学位论文 2 1 4 现有的移动a g e n t 系统 对移动a g e n t 系统的研究异常活跃,迄今为止,已出现数十种移 动a g e n t 系统,大多数是在j a v a 语言出现以来诞生的,它们的设计目 标不同,实现技术也各有千秋,下面谈论几种有代表性的系统【1 7 1 。 1 t e l e s c r i p t :t e l e s c r i p t 由g e n e r a l m a g i c 公司开发,是第一个 商品化的m a s 。从技术角度讲,t e l e s c r i p t 已经是一个非常完整的移 动代理系统,它的缺点是消耗计算机资源太多( 要求9 6 m 的内存资 源) ,售价也高。随着基于j a v a 的m a s 出现,它已没有了生命力。 2 d a g e n t 1 9 ,2 0 】:d a g e n t 是由d a r t m o u t h 学院开发的移动a g e n t 系统。d a g e n t 有类似t e l e s c r i p t 的服务器模型,它和a r a 一样支持多 语言。但随着支持语言的增多,解释器的工作量很大,不如a r a 易于 实现。 3 s u m a t r a 1 :1 】:s u m a t r a 支持分布对象和移动代码的j a v a 的扩展。 s u m a t r a 的主要特点在于提供了一套用于测量网络延迟、网络带宽和 机器负载的分布式资源监视器,这样当a g e m 决定迁移时就可以参考 这些网络条件,并结合自身任务来决定如何、向什么地方迁移。 4 c o n c o r d i a 2 2 , 2 3 】:这也是基于j a v a 的移动a g e n t 系统。c o n c o r d i a 的显著特点在于其安全性能和容错机制。 2 1 5i b m a g l e t 简介 a g l e t 是由i b m 东京实验室开发的移动a g e n t 系统,它是较早实 现的纯粹基于j a v a 的移动a g e n t 系统,其设计非常简洁,小巧玲珑, 紧紧追随j a v a 模型,特别是它的源代码公开,具有完整的说明文档, 很适合应用开发,因而得到广泛的应用。 东北师范大学硕士学位论文 a s d k ( a g l e t s o f t w a r ed e v e l o p m e n tk i t ) 是用j a v a 语言编制的移 动a g e n t 程序的开发运行环境,一个a g l e t 是一个能够从一台主机移动 ( 或被派遣) 到另一台主机上的j a v a 对象,能够进行这种迁移的前提 是在这些主机中预装了t a h i t i 服务器,它是用j a v a 实现的a g l e t 服务 程序。这里我们约定,下文中出现的a g l e t 是指i b m a g l e t 这个a s d k , 而用a g l e t 表示用a s d k 开发的移动a g e n t 应用程序。 a g l e t 传输过程是:一旦调用a g l e t 的d i s p a t c h 方法,就会导致立 即调用o n d i s p a t c h 0 方法,此方法结束后,所有由给定的a g l e t 创建的 线程都被杀死而a g l e t 被传送至目的地。目的地的t a h i t i 服务器捕获 a g l e t 并调用其中的o n a r r i v a l 0 方法,接着运行r u n ( ) 方法,a g l e t 的新代 理对象( a g l e t p r o x y ) 可以由目的t a h i t i 服务器发给原始t a h i t i 服务器。 a g l e t 的传输协议是i b m 的a g l e t t r a n s f e rp r o t o c o l ( a t p ) ,它是 一个分布式的、基于a g e n t 系统的应用程序级协议。a t p 定义了a g e n t 服务器的四种标准请求方法,即d i s p a t c h 、r e t r a c t 、f e t c h 和m e s s a g e , 目前,a g l e t 框架中还没有a g e n t 字节码的传输。传输协议并不执行能 够发现是否需要传输给定的类字节码到目的地的检查,在每次传输时, 所有需要的类都被传输,这就增加了传输和下载时间【2 ”。 a g l e t 一个非常重要和有用的属性是它们彼此通信的能力,a g l e t 之间的通信由一个位置无关、可扩展的、并支持同步异步模式的基于 对象的消息框架所支持。此框架基于一个简单的回调模式,它实现一 个处理器( h a n d l e m e s s a g e 0 方法) 来处理那些它能够理解的消息类型。 东北师范大学硕士学位论文 2 _ 2 小结 本章介绍了移动a g e n t 的基本概念,重点介绍了移动a g e n t 的系统 结构和实现移动a g e n t 系统的关键技术,为基于移动a g e n t 的分布式检 索系统的设计与实现打下理论基础。 1 0 东北师范大学硕士学位论文 第3 章基于移动a g e n t 的分布式信息检索系统的设计 在第三章详细介绍a g l e t 系统的相关知识。本章将以上章介绍 的内容为基础,研究主一从模式下移动a g e n t 系统的应用,设计并实 现一套实用的分布式信息检索系统。 3 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 思维状态性质的意识态度来直接设计a g e n t 和对a g e n t 编程f 2 6 1 。 3 1 1与面向对象方法的比较 面向对象编程( o o p ) 技术是当今软件开发的主流技术,o o p 将系 统看成是由相互通信以执行外部计算的对象所构成的,面向a g e n t 编 程( a o p ) 则是o o p 技术的进一步发展,a g e n t 可以被看成活动的对象, 既具有精神状态的对象。两种方法都利用消息传递的方式进行通信, 并且都具有继承和聚集的能力。可以利用面向对象方法设计面向 a g e n t 的系统。但在设计过程中,对象与a g e n t 主要有三个方面的区 别( 2 7 j : i 自治程度的区别:a g e n t 不去调用彼此的方法而是通信请示动 作的执行,在o o p 中,是否调用方法的决定权在于调用方法的对象, 而在a o p 中决定权在于接收到请求的a g e n t 是否愿意相应请求。 东北师范大学硕士学位论文 2 消息传递机制的区另t 1 - 虽然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 个体往往并发地运行, 甚至处于不同的机器上,要实现父类代码的共享是不容易做到的。 3 1 2 现有的面向移动a g e n t 的程序设计方法 现有的利用面向对象的方法扩展设计面向移动a g e n t 的系统的程 序设计方法有:面向a g e n t 的程序分析与设计方法( a g e n to r i e n t e d a n a l y s i s a n dd e s i g n ) ,b d i a g e n t 系统的建模技术( a g e n tm o d e l i n g t e c h n i q u e f o r s y s t e m s o fb d i a g e n t s ) ,m a s b ( m u l t i a g e n t s c e n a r i o b a s e dm e t l l o d ) 以及面向a g e n t 的企业建模方法( a g e n t o r i e n t e dm e t h o d o l o g yf o re n t e r p r i s em o d e l i n g ) 。 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 程序设计模式。结合a g l e ta p i 的特点,我们将设计模式概括 为三类口8 i 2 9 1 :旅行、任务和交互,这种分类方法容易理解每种模式的 应用领域并有助于发现新的模式,下面逐个介绍这几种设计模式。 3 2 1 旅行模式 旅行或迁移是移动a g e n t 的重要特征之一,我们进一步区分三种 子模式以便处理路由、服务质量与移动a g e n t 迁移有关的问题。这些 子模式允许我们增强移动管理的封装性以提高移动a g e n t 设计的可重 用性和简化移动a g e n t 的设计。 1 路线( i t i n e r a r y ) 模式:该模式是将移动a g e n t 与路线对象结合 在一起,它主要考虑在多个地址间的路由问题。一个路线用于维护一 个目的地址的列表,定义一个路由方式,处理诸如目的地址不存在的 特殊问题。序列化一个i t i n e r a r y 类,可以将它存储起来并能够日后重 用,这就如同将u r l 地址像书签一样存储都来。 a g l e t 在创建路线对象时,用将要顺序访问的地址列表和一个到 a g e n t 的引用来初始化它,然后a g e n t 将用g o ( ) 方法将自己派遣至路 线中下一个可用的目的地或者返回其出发地。为了支持上述对象, i t i n e r a r y 对象与a g l e t 一起传送,路线对象在经过每个站点都要进行修 订。该模式涉及到几个主要的类是: c o m i b m a 出e t 】( 。s e q l t i n e r a r y :定义了a g l e t 迁移路线的抽象接口。 一条路线是需要定义一个主机地址,以及需要在该地址上完成的任务。 c o m i b m a g l e t x s i m p l e l t i n e r a r y :s i m p l e i t i n e r a r y 路线对象定义了一 东北师范大学硕士学位论文 个目的地和一条消息,当a g l e t 到达目的地后,这条消息将自动发送给 a g l e t 自身。这时只要在a g l e t 的h a n d l e m e s s a g e ( m e s s a g e m s g ) 方法中处 理这条消息,就可以实现a g l e t 的自动漫游与执行任务。 路线模式在移动a g e n t 设计中被广泛地采用,它具有如下几个主 要特点: ( 1 ) 它支持在旅行中的变化。例如:当a g e n t 不能将自己派遣至 一个新的目的地时,可以定义不同的意外处理程序:终止旅行并返回 至其出发地,也可以先到其它目的地而以后再尝试去那个地方,不同 的旅行方式只需要改变路线对象,涉及不到a g e n t 对象。 ( 2 ) 它方便不同的a g e n t 通过共享某个路线对象来共享旅行,这 样的设计更符合模块化程序设计的要求,从而提高了代码的可重用性。 ( 3 ) 它简化了系统任务的实现。任务可以被封装在一个特定的任 务对象中,同时,s e q l t i n e r a r y 被扩展成一个目的地与任务对象相联系 的接口,这样路线对象能够追踪当前需要执行的任务,于是每当a g e n t 被派遣到一个新地址时,它就可以简单地触发存储在路线对象中的当 前任务的执行。基于此模式,为像a g l e t 这样的具有弱迁移特征的移 动a g e n t 系统提供了一种便利,即在a g l e t 旅行时,它无需手工追踪自 己的执行状态。 2 转发( f o r w a r d i n g ) 模式:此模式中,移动a g e n t 本身不再携 带路线对象,而它的旅行路线由派遣它的主机或其它主机来决定,此 时移动a g e n t 完全没有自主权,被主机牵引着在网络中迁移。这种模 式降低了移动a g e n t 的迁移自主性,使它不能根据当前的网络状态自 主决定迁移的路线。 3 车票( t i c k e t ) 模式:从概念上说,一张车票是一个嵌入了服 务质量请求、许可和其它数据的u r l 增强版本,包括派遣a g e n t 到远 东北师范大学硕士学位论文 程数据端的时限要求,也可以定义私密性等级以增强传输过程的安全 性。 3 2 2 任务模式 任务模式主要考虑进一步细分各类任务及如何将这些任务指派给 一个或多个a g e n t 来完成。通常,这些任务可能会动态地分配给一个 通用的a g e n t ,也可以由多个并行合作的a g e n t 来完成,例如并行检 索的情况。 1 主一从( m a s t e r s l a v e ) 模式:它允许m a s t e r 将某个任务委托 给一个或多个s l a v ea g l e t 去做。s l a v e 被m a s t e r 派遣到目的机上去执行 分配给它的任务,得到运行结果后,再利用消息将结果返回给m a s t e r 。 采用此模式主要基于两方面的考虑:一是分布式检索系统性能,采用 主一从模式一个m a s t e r 可以与多个s l a v e 并行完成其它任务。另外一 个方面通过下面的例子说明:假定有一个基于a g e n t 的程序,它提供 一个g u i 以输入数据和显示在某个远程机器上执行的特定任务的中 间结果。若只有一个a g e n t 提供g u i 和执行任务,在a g e n t 离开发源 地到远程机器上去以后,它就不可能再维护g u i 了。我们可以利用一 个固定的m a s t e ra g e n t 提供和维护g u i ,而多个s l a v e 迁移到另外可信 任主机上完成任务,并将结果返回给m a s t e r ,由m a s t e r 将结果呈现给 用户。 主一从( m a s t e r - s l a v e ) 模式的主要思想是使用抽象类m a s t e r 和 s l a v e 来局部化一个在m a s t e r 和s l a v e 之问委托的任务的不变部分:派 遣多个到目的地址中的s l a v e ,初始化任务的执行并处理在任务执行中 的异常。在这种模式中,m a s t e r 需要实现任务的分解与结果的综合, 东北师范大学硕士学位论文 而s l a v e 则需要实现具体的执行逻辑。 a g l e t 在c o r n i b m a g l e t x p a t t e r n s 包中专门为s l a v e 定义了一个抽象 类s l a v e ,它将路线与s l a v e 相互绑定,并且实现了初始化以后的自动 派遣。也可以不使用这个s l a v e 类,直接利用a g l e t 类的a p i 函数方 便地实现这些功能。 a g l e t 的主一从模型是一种非常实用的模式,在实现本系统时,将 路线模式和主一从模式结合起来使用,以取二者的优点。这时,m a s t e r 是一个固定的a g e n t ,而s l a v e 则携带路线对象在网络中移动。 2 规划( p l a n ) 模式:在此模式中采用了工作流的概念,通过多 个a g l e t 将多个要执行的任务组织成系统或并行的方式。规划中封装了 任务流,它对a g l e t 来说是不可见的,a g l e t 仅仅提供在特定目的下执 行任务所需的迁移能力。规划提高了任务的可重用性,动态地将任务 分配到a g l e t 中的能力及任务的构造能力。 3 2 3 交互模式 a g l e t 之间的相互通信对它们之间的协作至关重要,出于a g l e t 定 位的考虑,分为如下几个子类:会议( m e e t i n g ) 模式、消息( m e s s e n g e r ) 模式、互锁( l o c k e r ) 模式、服务商( f a c i l i t a t o r ) 模式、组织化的群 体( o r g a n i z e dg r o u p ) 模式或群游( g r o u pt o u r ) 模式等,下面简单 介绍一下前两种模式。 1 会议( m e e t i n g ) 模式:它提供一种方式使得两个或多个a g l e t 在一个给定机器上进行本地交互。这些a g l e t 可以将它们派遣自己到一 个特定的名叫会议场所的目的地。在那儿,它们通知其合作者它们的 到达并能够参与本地的交互。 1 6 东北师范大学硕士学位论文 2 消息( m e s s e n g e r ) 模式:a g l e t 之间用此模式建立远程通信 消息被构造成一个在a g l e t 之间传递和携带消息的a g l e t 。 3 3 系统设计 3 3 1 系统综述 我们的信息检索系统m a b d i r s 运行在局域网或者i n t r a n e t 上, 在研究和开发测试阶段利用实验室内部的局域网。用于实现局域网内 分布式信息检索。它采用将客户的请求接近信息源运行的“p u l l ”模 式。系统涉及到一个用户、用户的移动a g e n t 、信息提供者以及管理服 务器。为了增强容错性、安全性及a g e n t 迁移和通信的有效性,系统 提供了容错机制和安全机制。 m e s s a g e 图3 - 1 :系统交互模型 东北师范大学硕士学位论文 系统分为两大部份:分布式实体或客户a g e n t 和管理服务器。在 局域网或i n t r a n e 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 的消息机制进行通信。各个代理a g l e t 返 回的信息在客户端进行筛选。 系统的交互模型如图3 - 1 ,下面分别介绍几个子系统的设计思路。 3 3 2 登录,注销子系统的设计 在网络中,网络主机有必要知道每台终端于何时起动,总共运行 了多长时间,是谁在使用它等信息。这些都是出于安全管理的考虑, 为了日后复查,还需要记录这些信息,作为日志保存。本系统的登录 和注销过程是自动完成的,无需用户的参与。终端计算机在起动时, 自动起动了客户a g e n t ,在客户a g e n t 程序初始化的过程中,动态地 生成代理a g l e t ,代理在客户端完成初始化,同时取得客户机的i p 地 址和用户名等信息,然后携带这些信息移动到服务器上。代理a g l e t 到达服务器以后,将自动连接数据源,将登录信息写入数据库,完成 登录。这里需要写入数据表中的信息包括用户名、i p 地址和当前服务 器时间。由于代理a g l e 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 :之后再销毁客户 a g e n t 和g u i 。登录注销的过程如图3 2 所示。 东北师范大学硕士学位论文 (
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 湖北省部分2025-2026学年度上学期高三9月月考地理试卷(含答案)
- 课件学习效果评估-洞察与解读
- 数字媒体环境下KOL合作效果测量-洞察与解读
- 沪教版七年级数学 因式分解(知识点题型分层强化)
- 2025年初级经济师之初级经济师人力资源管理题库及参考答案(模拟题)
- 2025年口腔心理学题库及答案
- 2025年福建继续教育公需科目考试题库及答案
- 【2025年】法律职业资格之法律职业客观题二题库附答案(基础题)
- 酒店服务员工培训教学
- 急诊科心脏骤停抢救规范
- 车辆交接单模板
- 餐饮管理合同范本
- 提高身体柔韧度的练习
- 幼儿园中班手工《心愿卡制作》课件
- 成立应急领导小组
- 湖北省武汉市汉阳区2024-2025学年九年级上学期期中语文卷
- 废电池收购合同范本(2篇)
- T-SHPPA 029-2024 人用经验数据收集技术规范
- TSG-T7001-2023电梯监督检验和定期检验规则宣贯解读
- 胸痛救治单元建设的意义
- 中华人民共和国护照旅行证回国证明申请表
评论
0/150
提交评论