(计算机软件与理论专业论文)基于移动agent和xml的虚拟数据库研究.pdf_第1页
(计算机软件与理论专业论文)基于移动agent和xml的虚拟数据库研究.pdf_第2页
(计算机软件与理论专业论文)基于移动agent和xml的虚拟数据库研究.pdf_第3页
(计算机软件与理论专业论文)基于移动agent和xml的虚拟数据库研究.pdf_第4页
(计算机软件与理论专业论文)基于移动agent和xml的虚拟数据库研究.pdf_第5页
已阅读5页,还剩77页未读 继续免费阅读

(计算机软件与理论专业论文)基于移动agent和xml的虚拟数据库研究.pdf.pdf 免费下载

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

文档简介

摘要 虚拟数据库技术是近几年兴起的一种新型的数据集成技术,它是计算机网 络和数据库技术交叉应用的结果。建立虚拟数据库的目的是为用户提供一个透 明访问i n t e r n e t 站点和其他数据源的统一的关系视图。虚拟数据库将 i n t e r n e t 和其他外部数据源看作是单个数据库,使之成为企业或i n t e r n e t 基 础实施的一个组成部分。 针对虚拟数据库技术在实际应用中所出现的一些问题,论文提出了一种改 进方案基于移动a g e n t 和x m l 的虚拟数据库框架。将移动a g e n t 和) ( m l 技 术强大的功能应用于虚拟数据库,不仅可以减少在网络上的数据传输量、降低 响应时间以及允许网络的间断连接;还可以简化集成系统的实现,促进信息资 源的传播与共享;进一步推动虚拟数据库技术的创新与发展。论文围绕虚拟数 据库框架中的若干关键技术进行了深入的探讨。 查询处理是虚拟数据库管理系统( 中介器) 的核心问题。论文以查询处理 为主线,对查询重写、查询优化技术进行了讨论和研究。基于虚拟数据库所采 用的关系数据模型,着重探讨了该模型下的查询重写技术利用视图重写查 询以及基于其上的合取查询、包含映射等问题。查询优化是查询处理研究的一 个主要问题,为此着重分析研究了查询优化所涉及的代价估计、查询规划和搜 索空间等相关问题。 包装器是虚拟数据库系统的重要组成部分。在参考相关包装器生成技术的 基础上,论文探讨和研究了一种基于样本实例的包装器生成方法。基于对相关 w e b 数据源的实际观察,通过模仿用户的导航行为,在启发式规则的指导下学 习如何获取结果页面。整个学习过程包括识别搜索表单,填充并提交表单,从 返回页面中获取所需的结果页面。在获得结果页面后,采用了一种用于从结果 页面中提取所需数据的算法对象抽取算法。该算法视页面中的数据为包含 属性且具有层次结构的复杂对象。通过抽取相关属性,然后将它们组装成数据 对象,从而实现对所需数据的抽取。实验结果表明,该方法在有效性和表达性 方面都达到了预期的目标。 关键词:移动a g e n t ,x m l ,虚拟数据库,包装器生成 a b s t r a c t v i r t u a ld a t a b a s e t e c h n o l o g y i san e wa r i s e n t e c h n o l o g y o fd a t a i n t e g r a t i o ni n t h el a s tf e wy e a r s ,i ti st h ei n t e r a p p l i c a t i o nr e s u l t o fc o m p u t e rn e t w o r ka n dd a t a b a s e t e c h n o l o g y t h e a i mo f c o n s t r u c t i n g v i r t u a ld a t a b a s ei st op r o v i d eau n i t e dr e l a t i o n a lv i e wf o ru s e r t r a n s p a r e n t l yv i s i t i n gi n t e r n e t s i t e sa n do t h e rd a t as o u r c e s v i r t u a l d a t a b a s e v i e wi n t e r n e ta n do t h e rd a t as o u r c e sa sas i n g l ed a t a b a s e a n dm a k ei tb e c o m e sap a r to fe n t e r p r i s eo ri n t e r n e ti n f r a s t r u c t u r e i nv i e wo fs o m ep r o b l e m se x i s t e di nt h ea p p l i c a t i o no fv i r t u a l d a t a b a s e ,t h i sp a p e rp r o p o s e sa ni m p r o v e m e n ts c h e m e - - v i r t u a ld a t a b a s e f r a m e w o r kb a s e do nm o b i l e a g e n t a n dx m l f u n c t i o no fm o b i l e a g e n t a n dx m lt ov i r t u a l m a k i n g u s eo f p o w e r f u l d a t a b a s e ,n o to n l yc a n r e d u c et h ea m o u n to fd a t at r a n s m i s s i o ni ni n t e r n e ta n dr e s p o n s e t i m e o f i n t e g r a t i o ns y s t e m a l l o wn e t w o r k sd i s c o n n e c t i o ni ns o m ec a s e , b u ta l s oc a ns i m p l i f yt h ei m p l e m e n t a t i o no fi n t e g r a t i o ns y s t e m ,s p e e d u ps p r e a da n ds h a r e o fi n f o r m a t i o nr e s o u r c e s ,h a s t e nt h ei n n o v a t i o n a n dd e v e l o p m e n to fv i r t u a ld a t a b a s et e c h n o l o g y t h i sp a p e r d i s c u s g e s s o m ek e yt e c h n o l o g i e so fv i r t u a ld a t a b a s ef r a m e w o r ki nd e t a i l q u e r yp r o c e s s i n g i sac o r ep r o b l e mo fv i r t u a ld a t a b a s em a n a g e m e n t s y s t e m ( m e d i a t o r ) t h i sp a p e r u s e s q u e r yp r o c e s s i n g a sam a i n1i n e , d i s c u s s e sa n dr e s e a r c h e sq u e r yr e w r i t i n g 、q u e r yo p t i m i z a t i o n t e c h n o l o g y a sv i r t u a l d a t a b a s eu s e sr e l a t i o n a ld a t am o d e l ,t h ep a p e r m a k e sa s p e c i a l e f f o r tt od i s c u s s q u e r yr e w r i t i n gt e c h n o l o g y r e w r i t i n gq u e r i e su s i n g v i e w sa n di t sc o n j u n c t i v eq u e r y 、c o n t a i n m e n t m a p p i n gu n d e r t h i sm o d e l q u e r yo p t i m i z a t i o ni s t h em a i np r o b l e mo f q u e r yp r o c e s s i n g r e s e a r c h ,t h u s i n p a r t i c u l a r d i s c u s s e sc o s t e s t i m a t e d 、q u e r yp l a n 、s e a r c hs p a c e s a n ds oo nr e l a t e dp r o b l e m s i i w r a p p e r i sa n i m p o r t a n tp a r t o fv i r t u a ld a t a b a s es y s t e m t h i s p a p e rp r o p o s e s a n dr e s e a r c h e saw r a p p e rg e n e r a t i o nm e t h o d b a s e do n s a m p l ee x a m p l e b yo b s e r v i n g r e l a t e dw e bd a t a s o u r c e s ,s i m u l a t i n g u s e r sn a v i g a t i o nb e h a v i o r s ,s t u d y i n gh o w t of e t c hr e s u l t p a g e s i n d e m a n d u n d e rt h e g u i d a n c e o fh e u r i s t i cr u l e s t h e w h o l e l e a r n i n g p r o c e s s i n c l u d e si d e n t i f y i n gs e a r c hf o r m ,f i l l i n g i na n d s u b m i t t i n g s e a r c hf o r m ,f e t c h i n gr e s u l tp a g e s f r o mr e t u r n p a g e s a f t e rg e t t i n g r e s u l tp a g e s ,u s i n ga i la l g o r i t h m - - o b j e c t e x t r a c t i o na l g o r i t h m ,w h i c h c a ne x t r a c td a t ai nd e m a n df r o mt h er e s u l tp a g e t h i sa l g o r i t h mv i e w s d a t ai n p a g e a sac o m p l e xo b j e c tt h a tc o n t a i n s a t t r i b u t e sa n dh a sa h i e r a r c h i c a ls t r u c t u r e f i r s t l ye x t r a c t i n g r e l a t e da t t r i b u t e s ,t h e n a s s e m b l i n g t h e s ea t t r i b u t e s a sad a t ao b j e c t ,t h u sc o m p l e t i n g e x t r a c t i o n o fd a t ai nd e m a n d 。a s e x p e r i m e n t a l r e s u l t ss h o w ,t h i s m e t h o da c h i e v e se x p e c t e dg o a l i ne f f e c t i v e n e s sa n de x p r e s s i v e n e s s k e yw o r d s :m o b i l ea g e n t ,x m l ,v i r t u a l d a t a h a s e ,w r a p p e rg e n e r a t i o n i f 第一章绪论 1 1 研究背景 随着计算机网络和分布式系统的日益发展和普及,大量的异构数据源系统分 布在不同的网络节点中。一方面,这些数据源之间往往是相互独立的,形成了一 个个封闭的信息孤岛;另一方面,用户不仅希望能够快速、有效地从这些数据源 中获取所需的基本事实数据,而且随着电子商务的发展,对汇总信息、决策信息 的需求会更为迫切。决策者通常需要获取来自多个数据源的信息,尤其是经过整 合的信息,而这种功能是当前搜索引擎所无法实现的。搜索引擎缺少对各站点数 据进行连接的设施,而这种设施对于多个异构数据源信息的整合是极其有用的。 例如,用户要购买房产,可能给出了一个价格范围、地理位置、小区人文环境等 要求,希望在众多房地产开发商站点找到合意的开发商。这种需求会随着电子商 务的发展不断增加。这就要求我们对异构数据源进行集成,给用户提供一个统一 的集成界面,为用户提供诸如事实信息、汇总信息、投资决策支持、消息订购、 个性化服务等多层次的服务。 同时,为了满足一些特定的需求,如数据仓库、数据挖掘等,也需要将多个 异构数据源的数据集中起来,以达到数据的统一、标准化。用户在进行数据集成 时,面对的数据是千差万别的,既有结构化( s t r u c t u r e d ) 的数据( 如数据库中 的数据) ,无结构( u n s t r u c t u r e d ) 的数据( 如文本文件、图像、声音等) ,也 有半结构化( s e m i - s t r u c t u r e d ) 的数据( 如h t m l l 文档) 。产生数据差异的 主要原因是数据的结构和语义上的冲突。因此,数据集成的一个重要的问题就是 如何消除这种差异。随着数据的不断增加,这种差异会变得更加严重。因此,如 何有效解决各种冲突问题是数据集成面i 晦的一大挑战。 数据集成问题解决后,才会对其他诸如数据共享、数据交换、数据分析等提 供数据基础。对一些应用,如数据仓库的建立,数据集成可谓是至关重要。而 w e b 数据管理、数据挖掘等应用更是建立在数据集成之上的。因此,数据集成质 量的好坏直接影响到集成数据上其他应用能否有效进行”1 。 玺三些奎茎三堂堡圭耋堡鎏塞 1 2 研究现状 数据( 信,g ) 集成的需求由来己久, 域及其它相关领域一个非常热门的课题。 了许多数据集成的体系结构和实现方案, 对数据集成的研究一直是数据库研究领 经过二十多年的发展,研究人员已提出 然而这些方法研究的主要对象是传统的 异构数据库系统,如多数据库系统( m u l t i d a t a b a s e ) 的研究。近年来随着 i n t e r n e t 的飞速发展,网络迅速成为一种重要的信息传播和交换手段,尤其是 w e b 上有着极其丰富的数据资源。因此,如何获取w e b 上的有用数据并加以综合 利用,即构建w e b 数据集成系统,已成为一个引起广泛关注的研究领域。 1 2 1 数据集成方法 建立w e b 数据集成系统的目的是将多个分布、自治、异构的数据源集成在一 起,为用户提供一个统一的访问界面和查询机制,让用户象使用一个大数据库系 统一样,用统一的方法使用来自不同数据源的各类数据。与传统数据库构建方法 不同,建立w e b 数据集成系统的方法主要有。3 :数据仓库法和虚拟法。 图卜l 数据仓库系统的体系结构 f i g u r e 1 一la r c h i t e c t u r eo fd a t aw a r e h o u s es y s t e m 1 数据仓库法( d a t aw a r e h o u s e ) :在客户端与数据源( 服务器) 之间增 加一层,称为数据仓库,用于存储来自各数据源的待集成数据,系统提供对这个 数据仓库的查询机制。这种体系结构的优点是既可用于数据集成,又可用于决策 支持查询,而且建立过程简单。该方法存在的问题是,当w e b 数据源的数据发生 变化时,数据仓库中的数据也要作相应的修改。因此,这种间接访问方式的缺点 是数据更新不及时,数据重复存储。这种体系结构通常需要运用些新的技术, 如有效的数据加载、增量更新维护等。其体系结构如图卜1 所示。 2 虚拟法( v i r t u a l ) :又称为m e d i a t o r w r a p p e r ( 中介器包装器) 法。 该方法使用了与数据仓库法完全不同的体系结构。数据仍保存在各w e b 数据源 上,集成系统仅提供一个虚拟的集成视图和对该集成视图查询的处理机制。系统 能自动地将用户对集成模式的查询请求转换为对各异构数据源的查询。目前有关 w e b 数据集成系统的研究工作主要集中在这种虚拟方法上,所采用的体系结构一 般都遵从w i e d e r h o l d 提出的m q s ( m e d i a t o rq u e r ys y s t e m ) 结构。,如图卜2 所 示。 图卜2 中介器查询系统的体系结构 f i g u r el 一2 a r c h i t e c t u r eo fm e d i a t o rq u e r ys y s t e m 从图中可以看出,m q s 通过在m e d i a t o r 和w r a p p e r 之间分割任务,从而提 高查询处理的并发性,减少响应时间。w r a p p e r 对数据源进行封装,将其数据模 型转换为系统采用的公共模型,作为其输出模式,并提供一致的物理访问机制。 壅王些奎茎三耋墼圭耋堡墼耋 m e d i a t o r 负责全局查询处理、分解和优化,它通过调用w r a p p e r 来集成数据源 中的信息,解决数据冗余和不一致性,提供一致协调的视图和统一的查询语言。 _ q s 具有如下特点: ( 1 ) 中介层不直接与数据源进行通讯,而是通过w r a p p e r 向数据源发出查 询请求。根据w r a p p e r 所包装数据源的查询处理能力的不同,每个w r a p p e r 支持 的访问模式也是不同的; ( 2 ) 用户不是在数据源的局部数据模式上提交查询请求,而是在中介模式 ( m e d i a t e ds c h e m a ) 上提交请求。m e d i a t e ds c h e m a 由一组虚拟的关系组成, 因此中介层必须将用户的查询请求分解成对多个数据源的查询语句,并融合每个 数据源返回的查询结果,最终返回给用户。为了进行查询分解,中介层必须包含 一组数据源模型,每个数据源模型描述了该数据源的内容、属性、内容约束、完 备性以及查询处理能力( 如只支持简单的s e l e c t 语句,还是支持任意的s q l 语 句) 。 1 2 2 典型的w e b 数据集成系统 近几年,国内外的研究人员对基于m e d i a t o r w r a p p e r 的数据集成系统进行 丁广泛的研究,提出和研制开发了一些原型系统。下面对几个典型的系统进行简 单介绍。 1 t s l n i s “1 :美国s t a n f o r d 大学与i b m 联合开发的一个数据集成系统。该 系统采用了自描述的对象交换模型o e m ( o b j e c te x c h a n g em o d e l ) 。o e m 允许简 单的对象嵌套,信息并不用o e m 存储,o e m 用于处理逻辑查询,然后返到查询结 果。o e m 采用一种称为m s l ( m e d i a t o rs p e c i f i c a t i o nl a n g u a g e ) 的查询语言。 中介器和包装器用m s l 描述,而且这些组件可以通过m s l 规格说明自动生成。 t s i 协i i s 需要较多的人工干预,自动化集成程度低。在此系统的基础上,该大学 数据库研究小组又开发出了半结构化数据管理系统l o r e 。该系统采用了l o r e l 查 询语言( 在原查询语言的基础上做了很大的改进) 。 2 i m 5 1 :美n a t & t 贝尔实验室研究开发的一个原型系统。i m 采用一种称为 c a r i n ( h o r n 规则与nf c l a s s i c 描述逻辑概念的结合) 的描述逻辑,这种逻辑是 一阶逻辑的一部分,i m 采用知识表示法来集成各种数据源。i m 的体系结构基于一 个知识库,这个知识库包含一个能够描述信息资源属性的域模型。域模型包含信 息主题的描述、与数据源物理特性有关的属性。数据被描述为w o r l dv i e w 之上的 一个视图,所有查询视图都是根据一组全局谓词描述的。 3 y a t ”1 :它是一个典型的基于m e d i a t o r w r a p p e r 的数据集成系统。该系统 由b e l l 实验室和i n r i a 共同开发。g a t 提供了一种基于规则的表达能力很强的框架 结构,能够将映射表示为一般的树变换。y a t 能够集成多种异构数据源( 从传统 的关系数据库系统到半结构化的w e b 存储) 。 4 o z o n e “1 :o z o n e 是s t a n f o r d 大学开发设计的一个集成模型。该模型通过 对面向对象数据库的o d m g ( o b j e c td a t a b a s em a n a g e m e n tg r o u p ) 模型进行扩 展,来对结构化和半结构化数据进行集成。o z o n e 系统特别适合处理异构数据, 尤其是广泛应用于w e b 上的数据。 5 v e r s a t i l e ”1 :v e r s a t i l e 是由我国东南大学开发的一个基于c o r b a 的可扩 展异构数据源集成系统原型。该模型在i o n a 公司的o r b i x 产品上,实现对s q l s e r v e r 、v e r s a n t 、文件系统、超文本数据进行包装和集成。该系统不仅能集成 上述数据源,而且能集成随时插入的新数据源中的数据。v e r s a t i l e 采用o i m 作为 其公共数据模型,o i q l 为查询语言。 1 3 研究内容 虚拟数据库。1 ( v i r t u a ld a t a b a s e ) 技术是近几年出现的一种新型数据集成 技术,它是计算机网络和数据库技术交叉应用的结果。虚拟数据库将关系数据库 技术应用于i n t e r n e t 上的多个数据源,实现了对分布数据源的透明访问,使 i n t e r n e t $ 口其他外部数据源看起来就像单个数据库一样,为用户提供了一个统一 的关系数据库视图。这种视图能够使用结构化查询语言s q l 来执行功能强大的查 询操作,查询结果可以根据应用系统的要求,用关系表或x m l 文档表示出来。 国外一些研究机构和组织已开始将虚拟数据库技术应用于如职业介绍、零售 业、房地产等领域,并取得了很好的经济效益。 与其它集成技术相比,虚拟数据库技术具有以下优点: 、虚拟数据库总能 获取到最新的信息,即使数据源总是变化的。此外,虚拟数据库还能获取图片、 声音、视频等信息;二、能容易集成更多的数据源,其集成的数据源可达数百个 甚至上千个;三、虚拟数据库采用了符合人们习惯的基于领域属性的查询机制, 堑王些奎茎王茎堡圭耋堡墼塞 其查询语言是工业标准的结构化查询语言s q l ,而s o l 比其它查询语言更为成熟 和通用。 然而,虚拟数据库技术在应用中也存在一些问题:包装器在访问数据源时, 必须维持与数据源的网络连接,且需不断传输大量的数据,一旦网络中断,则必 须重新建立连接;另外,包装器的生成过于依赖领域专家的参与,并没有实现包 装器的半自动或自动化生成。因此,在所需集成的数据源不断增加的情况下,包 装器已成为虚拟数据库应用的一个主要瓶颈。而基于移动a g e n t 的包装器半自动 实现,可望解决这一问题。为此,论文提出了一种改进方案基于移动a g e n t 和) 口i l 的虚拟数据库框架。 基于该思想,论文对以下几个方面的内容进行研究: 1 对论文所涉及的相关技术移动a g e n t 和x m l 进行讨论; 2 在深入分析虚拟数据库技术的基础上,提出和探讨一种改进方案基 于移动a g e n t 和x m l 的虚拟数据库框架,并就该框架系统的体系结构、组件的技 术模型等问题进行研究; 3 以查询处理为主线,对其相关问题:查询重写、查询优化进行探讨和研 究; 4 在综合分析其它包装器生成研究成果的基础上,提出和探讨一种基于样 本实例的包装器生成方法,并对其中涉及的关键问题:隐藏网代理的生成、数据 抽取算法等进行研究与实现。 1 4 论文组织 全文共分五章,内容组织如下: 第一章是绪论。介绍论文的研究背景和国内外研究现状,并说明论文的研究 内容及其组织结构。 第二章是相关技术概述。对论文所涉及到的相关技术移动a g e n t 和x m l 进行简要概述。在移动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 的技术优势与应用前景作了阐述。在x m l 概述中,简单介绍了x m i 。的特点 及其应用,并着重叙述了x m l 的三个基本要素:d t d x m l s c h e m a ,x s l 和 x l j n k 。 第三章是虚拟数据库框架。首先对虚拟数据库技术进行深入讨论,包括虚拟 数据库的定义、处理过程、应用及其优缺点。在此基础上,提出了一种虚拟数据 库改进方案,然后就该框架的体系结构和组件技术模型进行研究和探讨。 第四章是查询重写与优化。对查询处理的关键问题查询重写、查询优化 进行了深入讨论。在查询重写分析中,着重探讨了关系数据模型下的查询重写技 术利用视图重写查询以及其上的合取查询、包含映射等问题:而对于查询优 化,主要讨论了查询优化所涉及的代价估计、查询规划和搜索空间等相关问题。 第五章是基于样本实例的包装器生成。探讨和研究一种基于样本实例的包装 器生成方法。基于实际的观察,通过模仿用户的导航行为,在启发式规则的指导 下学习如何获取结果页面。在获得结果页面后,探讨了一种用于从结果页面中提 取所需数据的算法对象抽取算法。最后分析比较了几种典型的包装器系统。 最后为结论,对全文进行总结,指出论文的创新性,并对今后的进一步研究 工作做出展望。 第二章相关技术概述 2 1 引言 本章对论文所涉及到的技术移动a g e n t 和x m l 进行简要地概述。移动 a g e n t 是一种新型的基于i n t e r n e t 的分布式计算模式。它克服了请求响应方式 的缺点,融合了移动代码技术和软件a g e n t 技术,具有自治性、移动性、目标驱 动性、协作性、适应性等特点,为实现分布式信息共享提供了非常有效的途径。 可在网络容错、间断计算、网络适应性等方面提高网络应用的质量。 x m l 是i n t e r n e t 上数据表示和交换的新标准。它是标准通用标记语言s g m l 的一个简化子集,与另一个子集h t m l 相比,它是面向内容的。x m l 因具有更多 的语义、良好的可扩展性、简单易用、自描述等特点而特别适用于w e b 上的数据 交换。可以预言,x m l 将很快成为i n t e r n e t 上数据组织和交换的事实标准。 本章剩余内容安排如下:2 2 节对移动a g e n t 的概念、体系结构、典型系 统、技术优势及应用前景等内容进行叙述;2 3 简单介绍x m l 的特点、三个基本 要素及其在数据集成中的应用等内容:2 4 节对本章讨论内容进行小结。 2 2 移动a g e n t 简介 由于计算机网络规模和应用的快速发展,网络节点所承担的计算任务也越来 越重。然而,网络上各节点并不是承担着相同的负荷,有些节点的任务很繁重, 而另一些节点的负荷却远远不够。为了提高网络的计算能力,产生了分布式计算 的需求。传统的分布式计算主要基于c l l e n t s e r v e r 模式,如r p c 等。这种体系 结构存在很多缺点,其中很重要的点是工作很难重用。而面向对象的分布式计 算模式,如c o r b a 、j 2 e e 、d c o m 等,虽然解决了可扩展性、可重用性等问题,但 仍然要面对诸如建模困难、功能重用困难、部署困难等问题。于是,人们试图寻 找新的计算模式来解决这些问题,移动a g e n t 就是在这种要求下应运而生的新型 分布式计算模式。 2 2 1 移动a g e n t 的概念 移动a g e n t 首先是一种a g e n t 。a g e n t 及其相关概念和技术最早源于分布式 人工智能( d a i ) ,但从上世纪8 0 年代末开始,a g e n t 技术从d a i 领域中拓展开 来,并与许多其他领域相互借鉴和融合,在许多不同的领域得到了广泛的应用。 到目前为止,并没有一个被广泛接受的a g e n t 定义。不同领域对a g e n t 给出了 不同的定义,其中较为典型的是w o o l d r i d g e 和j e n n i n g s 的a g e n t 定义“。他们认 为,a g e n t 应当是一个硬件或软件系统,该系统具有如下特征: l _ 自治性( a u t o n o m y ) :a g e n t 的运行不受人或其它a g e n t 的直接干涉, a g e n t 对自己的内部状态和动作有一定的控制权; 2 社会能力( s o c i a la b i l i t y ) :a g e n t 可以通过某种a g e n t 语言( 如 k o m l ) 与其它a g e n t 或人进行交互,a g e n t 的社会能力其实就是a g e n t 可通信的 能力: 3 反应性( r e a c t i v i t y ) :a g e n t 能够感知环境,并能及时做出反应; 4 预动性( p r o a c t i v e n e s s ) :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 是 一个独立的计算程序,它可自主地在分布、异构的网络上,按照一定的规则移 动,寻找合适的计算资源、信息资源或软件资源,利用与这些资源同处于一台主 机或网络的优势,处理或使用这些资源,代表用户完成特定的任务。其基本特性 是自主性和移动性,其根本目标是减少网络传输和实现异步交互。 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 nl 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 ) 通信等功能,而资源是 指服务环境中可用的物理或逻辑实体。 一个完整的移矽j a g e n t 系统有几个部分构成“。“1 :用户接口、a g e n t ( 包括本 地固定! a g e n t ;和移动i 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 t r a n s m i s s i o np r o t o c o l ,a t p ) 实瑚a g e n t 在主机间迁移,并为其建立运行环境 和提供各种服务接口。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 提 供可靠、容错的通信服务。移动a g e n t 系统结构示意图见图2 - i 。 图2 - l 移动a g e n t 系统结构示意图 f i g u r e2 - 1a r c h i t e c t u r eo fm o b i l e a g e n ts y s t e m 22 3 典型的移动a g e n t 平台旭i e t a g l e t “1 是i b m 日本公司用纯j a v a 开发的移动a g e n t 系统,并提供了实用的 平台旭1 e tw o r k b e n c h ,让人们开发或执行移动a g e n t 。到目前为l i 二,a g l e t o 垄王些奎茎:l j 茎堑圭童堡鲨圣: 是最为成功和全面的移动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 与a p p l e t 两个字所合成的, 简单地说就是具有a g e n t 行为的j a v aa p p l e t 对象;不过a g l e t 同时传送代码及其 状态,而a p p l e t 只传送代码。a g l e t 以线程的形式产生于一台机器上,可随时暂 停正在执行的工作,随后整个a g l e t 可被分派到另一台机器上,再重新启动执行 任务。因为a g l e t 是线程,所以不会消耗太多的系统资源。 l _ a g l e t 系统框架 a g l e t 系统框架如图2 2 所示。由图中可以看出a g l e t 的执行分为若干阶 段。首先当一个正在执行的a g l e t 想要将自己送到远端时,会对a g l e tr u n t i m e 层发出请求:接着a g l e tr u n t i m e 层把a g l e t 的状态信息与代码转成序列化 ( s e r i a l i z e d ) 的字节数组:这时如果请求成功,系统会将字节数组传送至 a t c i ( a g e n tt r a n s p o r ta n dc o m m u n i c a t i o ni n t e r f a c e ) 层处理,此层提供可 使用的a t p ( a g e n tt r a n s f e rp r o t o c 0 1 ) 等接口。a t p 协议见图2 3 。之后,系 统会将字节数组附上相关的系统信息,如系统名称以及a g l e t 的i d 等,并以比 特流方式通过网络传至远端机器。远端机器使用a t p 接口接收到传来的字节数组 及系统信息,然后a g l e tr u n t i m e 层对字节数组反序列化,得到a g l e t 的状态信 息与代码,此时a g l e t 便可在远端机器上执行。 a g l e tr u n t i m e 层 安全、缓存、持久管理器等 字节数组 a t c i 层( a t p ,c o r b a ,i 等) a g l e tr u n t i m e 层 安全、缓存、持久管理器等 字节数组 a t c 层( a t p ,c o r b a ,跚i 等) a g e n t 系统。a g e n ti d 内容长度等字节数组 图2 - 2a g l e t 的系统框架 f i g u r e2 - 2s y s t e mf r a m e w o r ko fa g l e t d i s p a t c h r e t r a c t f e t c h a t p 协议a t p 协议 m e s s a g e r e s p o n s e 图2 3a t p 示意图 f i g u r e2 - 3s k e t c hm a po fa t p 2 a g l e t 对象模型( 生命周期) a g l e t 系统首先提供一个上下文环境( c o n t e x t ) 来管理a g l e t 的基本行 为:如创建( c r e a t e ) a g l e t 、复制( c l o n e ) a g l e t 、分派( d i s p a t c h ) a g l e t 到远端机器、召回( r e t r a c t ) 远端的a g l e t 、暂停( d e a c t i v e ) 、唤醒 ( a c t i v e ) a g l e t 以及销毁( d i s p o s e ) a g l e t 等。整个生命周期见图2 4 所示。 a g l e t 与a g l e t 之间的通信,可用消息传递的方式来传递消息对象。此外, 基于安全上的考虑,a g l e t 并非让外界直接存取其信息,而是透过一个代理 ( p r o x y ) 提供相应的接口与外界沟通,如图2 - 5 所示。这样做还有一个好处, 即a g l e t 所在位置会透明化,也就是a g l e t 想要与远端的a g l e t 沟通时,只要本 地主机的上下文环境中产生对应远端a g l e t 的代理,。并与此代理沟通即可,不必 直接处理网络连接与通信的问题。 c 。n 8 。a ld i s p a t c hl c 。“。“b r e t r a c tl d e a c t i v e 类文件 1l 后各存储器 图2 4a g l e t 的生命周期模型 f i g u r e2 - 4l i f ec y c l em o d e l o fa g l e t 图2 - 5a g l e t 基本通信模型 f i g u r e2 - 5b a s i cc o m m u n i c a t i o nm o d e lo fa g l e t 2 2 4 移动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 非常适合应用于低带宽的网 络。 3 减少连接建立时间:移动a g e n t 只需在移动过程中建立一次连接。而且 由于移动a g e n t 本身是使用类似s c r i p t 语言或j a v a 语言编写的,所以它自身的 代码很小,这使得传输移动a g e n t 代码也不需要建立长时间的连接。 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 被创建后,它的运行完全是独 立的和自主的。 5 支持异构环境:网络计算的一个基本要求就是要同时支持硬件和软件两 个方面的异构。移动a g e n t 独立于计算机的操作系统和网络传输的功能是通过一 个与操作系统紧密结合的运行环境实现的。确切的说实际上是移动a g e n t 的运行 环境能够支持异构,从这点来看j a v a 虚拟机就是这样的运行环境。 6 容错性:在c l i e n t s e r v e r 计算模式中,事务的状态通常是分散在客户 端和服务器上的。当一个客户端发出请求时,如果网络中断或服务器关机,客户 端是很难收回状态并恢复与服务器同步,因为它已经失去网络连接。然而移动 a g e n t 可以不需要保持永久的连接,并且它们的状态是集中在它自身上,问题将 会很容易处理。 总之,移动a g e n t 的一个重要优点就是信息处理的本地化。本地化既能够提 高处理的性能,又可以提高可靠性和灵活性。 2 2 5 移动a g e n t 的应用前景 由于移动a g e n t 所具有的优越性,因此它在以下应用中有很好的前景。 1 电子商务:移动a g e n t 非常适合于电子商务。交易常常要求实时访问远 程信息,诸如股票报价甚至是进行实时谈判。不同的a g e n t 有不同的目标,并将 采取不同的

温馨提示

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

评论

0/150

提交评论