(计算机应用技术专业论文)基于agent的数据库中间件的研究.pdf_第1页
(计算机应用技术专业论文)基于agent的数据库中间件的研究.pdf_第2页
(计算机应用技术专业论文)基于agent的数据库中间件的研究.pdf_第3页
(计算机应用技术专业论文)基于agent的数据库中间件的研究.pdf_第4页
(计算机应用技术专业论文)基于agent的数据库中间件的研究.pdf_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

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

文档简介

中山大学硕士学位论文 基于a g e n t 的数据库中间件研究 题目:基于a g e n t 的数据库中间件的研究 专业:计算机应用技术 硕士生:刘春玲 指导老师:李长森 摘要 随着企业本身对于分布式处理要求的出现及 a t e m e t 信息网络的飞速发展, 现在的网络信息系统对于数据交互效率、系统负载的均衡、数据交互的安全性和 异构平台之间的移植等提出了更高的要求,因此数据库中间件成了焦点。现有比 较成熟的数据库中间件,包括o d b c 和j d b c 。o d b c 对简单的查询都有复杂的 选项,而且需要在客户机的每一台上进行安装,比较麻烦。j d b c 具有天然的平 台无关性无须安装、配置,但是j d b c 访问数据库速度非常慢,对硬件的要求也 高。 目前,国内外已有了一些将软件a g e n t 技术用于中间件的理论研究,但是对 于在数据库中间件的应用还缺少较为深入的研究。本文参考了o d b c 和j d b c 技术,结合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 、利用x m l 对a g e n t 之间的通 信语言k q m l 进行封装、以及连接池的具体实现等方面阐述了设计思想。 进一步的工作是将移动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 的数据库中问件研究 t i t l e :s t u d y o f a g e n t - b a s e d d a t a b a s e m i d d l e w a r e m a j o r :c o m p u t e r a p p l i c a t i o n n a m e :c h a n l i n g l i u s u p e r v i s o r :c h a n g s e nl i w i t ht h ea p p e a r a n c eo fd i s t r i b u t e dd e a l i n go fe n t e r p r i s ea n dr a p i dd e v e l o p m e n to f i n t e r n e tn e t w o r k ,n o w , t h en e t w o r ki n f o r m a t i o ns y s t e mh a sh i g h e l ? r e q u e s ti nd a t a c o m m u n i c a t i n gr a t e t h eb a l a n c eo fs y s t e ml o a da n dt r a n s p l a n ti nd i f f e r e n tp l a t d a t a b a s em i d d l e w a r eb e c o m e st h ef o c u s m a t u r ep r o d u c t so fd a t a b a s em i d d l e w a r e , i n c l u d i n go d b ca n dj d b c a l t h o u g ho d b ch a sc o m p l i c a t e do p t i o nf o rs i m p l e q u e r y , a n dn e e dt ob ei n s t a l l e di ne v e r yc u s t o m e rc o m p u t e r , s oi t i sd i f f i c u l tt ou s e j d b ci sn a t u r ep l a t - i n d e p e n d e n ta n dn e e dn ot ob ei n s t a l l e da n dt ob ec o n f i g u r e d b u t w h e nv i s i t i n gd a t a b a s e ,i tb e c o m e sv e r ys l o w , a n di sh a r di nh a r d w a r ee n v i r o n m e n t s n o w , t h e r ei st h e o r ys t u d ya b o u ta p p l y i n gs o f t w a r ea g e n ti n t om i d d l e w a r e ,y e t f e ws t u d yi n t od a t a b a s em i d d l e w a r e t h i sa r t i c l er e f e r st om o d e lo f0 d b ca n dj d b c , c o m b i n gw i t ha g e u tf e a t u r e ,i tb r i n go u ta na g e n t - b a s e dm a s d a t a b a s em i d d l e w a r e m o d e li tt e l l sa b o u ta g e n tf e a t u r e ,a g e n t sa r c 拙e c t u r c ,m a so r g a n i z a t i o n , m a s t h e o r ym o d e lt h ec o m m u n i c a t i o na n dc o o p e r a t i o nb e t w e e na g e u t s ,e v e r ya g e n ti n s y s t e m , e n c a p s u l a t i o nk q m l w i t hx m l , a n dc o n n e c t i o np o o l sr e a l i z a t i o n ,e t c t h ef u t u r ew o r ki st oa p p l ym o b i l ea g e n tt od a m b a s em i d d l e w a r es y s t e m , a n d e n h a n c et h ea b i l i t yt os t u d y , a n dr e a l i z eam o r ef l e x i b l ea n dm o t ei n t e u i g e ms y s t e m k e y w o r d s :d a t a b a s em i d d l e w a r e ,a g e n t ,m a s ( m u l t i - a g e n ts y s t e n l ) , c o n n e c t i o n p o o l 第1 章引言 1 1 本文研究背景 2 0 世纪9 0 年代以来,随着人工智能、计算机网络等技术的发展,特别是1 1 l t e m e t 迅速普及,呈指数上涨的信息量与人类有限的驾驭能力形成了强烈的反差,对于 a g e n t 的研究已成为信息科学领域研究的一个热点。现在,网络发展的需求和 计算机技术( 尤其是硬件处理能力) 的不断提高,一定程度上为a g e n t 技术的实 现提供了良好的基础。 i n t e r n e t f i n t r a n e t 技术的兴起和应用孕育着一场新的企业信息管理革命,简单 的三层结构已经不能满足网络发展的需求,数据库中间件技术的出现是对传统的 二层结构的有力扩充。现在已有的数据库中间件产品w b b l o g i c 等都是企业级产 品,基本都是按照c p u 数目来收取软件等l i s e n c e 许可费用,比如b e aw e b l o g i c s e r v e r ,一个c p u 的费用几万美金,按照c p u 的许可费用模式,这将带来一个 极为庞大的开销。而且由于三层开发以及多层开发在国内开始的较晚,现有的比 较成熟的数据库中间件,包括o d b c 和j d b c 。o d b c 需要在客户机的每一台上 进行安装,比较麻烦,而且将简单特性和复杂特性混杂在一起,甚至对简单的查 询都有复杂的选项;j d b c 具有天然的平台无关性,而且驱动管理器内置、驱动 程序本身也可通过w c b 浏览器自动下载,无须安装、配置,但是j d b c 速度非常 慢,对硬件的要求也高,这就是契机。 而与此同时,软件a g c n t 作为一个新的研究领域已经取得了相当丰富的研究 成果,并在很多应用领域都得到了应用。尤其在网络环境中发展非常迅猛,在 i n t e m e t 信息检索、信息搜集和采集、网络索引、信息配送服务、电子商务等方 面都有很多等结果。但据作者查阅近年来国内外相关的文献资料表明,把软件 a g e n t 技术应用于中间件的已经有了一些文献旺一h 1 ,但是应用于数据库中间件 的尝试还不太多。对于各种性能要求较高的数据库中间件的开发来说,软件a g e n t 技术由于其所能提供的优越性而具有较大的应用价值,其在此方面具有很大的理 论研究价值及应用价值。 中山大学硕士学位论文基于a g e n t 的数据库中间件研究 1 2 多a g e n t 技术研究现状 当前,人工智能研究领域中最为活跃的是多a g e n t 技术的研究工作。 m u l t i a g e n t ( m a ) 技术主要是研究多个a g e n t 之间如何相互协作、相互支持以 完成系统的共同目标,它特别适用于物理分布或逻辑结构上具有分布性特点的应 用领域。m a 技术已成为分布式人工智能的一个研究热点,也是该领域发展最快 的理论之一t 5 l 。 m a 技术在i n t e r n e t 上的应用研究也是软件工程的一项重要研究内容。软件 a g e n t 系统大量地用于信息处理、办公自动化、交通管理、私人助手等领域。而 i n t e m e t 信息网络的飞速发展,以及i n t e m e t 本身固有的开放、复杂、异质、动态、 分布等特性,也为m a 技术的充分发展带来了更加有力的条件与挑战。 m a 分布式计算模型被逐渐引入信息搜集和信息管理等领域。a g e n t 技术在 解决大型分布式系统问题上具有适应性等优势,能够降低网络通讯流量、提高交 互效率,从而减轻用户负担,并可满足网上信息发布、查询和搜集及移动式计算 等需求。 1 3 论文章节安排 本文共分五个章节 第一章为引言部分,主要介绍研究背景、多a g e n t 研究现状。 第二章主要介绍了中间件的定义、分类,以及数据库中间件的定义、数据库 中间件的两大技术o d b c 和j d b c ,以及主要的生产数据库中间件的厂商。 第三章从a g e n t 概念、理论模型、体系结构三个方面论述了a g e n t ,从概念、 结构及内部通信论述了m a s 第四章介绍了模型系统中的多个a g e n t 定义、各个a g e n t 的具体实现、他们 之间的通信,和比较重要的连接池实现。 第五章主要对本文做了一下总结,并提出下一步的工作。 2 第2 章数据库中间件 2 1 中间件简介 2 ”中间件的定义 为解决分布异构问题,人们提出了中问件( m i d d l e w a r e ) 的概念。中间件是 位于平台( 硬件和操作系统) 和应用之间的通用服务,这些服务具有标准的程序 接口和协议,针对不同的操作系统和硬件平台,它们可以有符合接口和协议规范 的多种实现。中间件应具有如下的一些特点6 1 :运行于多种硬件和o s 平台;分 持分布计算,提供跨网络、硬件和o s 平台的透明性的应用或服务的交互:支持 标准的协议;支持标准的接口。中间件的目的是通过为异质计算环境中的服务和 资源提供统一、一致的观察结果,简化用户界面。中间件位于客户机服务器的操 作系统之上,管理计算资源和网络通信,基础软件的一大类,属于可复用软件, 处于操作系统软件和用户的应用程序中间层1 7 1 。 2 1 2 中间件的分类 中间件所包括的范围十分广泛,针对不同的应用需求涌现出多种各具特色 的中间件产品。但至今中间件还没有一个比较精确的定义,因此,在不同的角度 或不同的层上,对中间件的分类也会有所不同。基于目的和实现机制的不同,我 们将平台分为以下主要几类:6 8 1 1 )远程过程调用( r e m o t ep r o c e d u r ec a l l ) 是一种广泛使用的应用程序 处理方法。一个应用程序使用r p c 来“远程”执行一个位于不同地址空间里的过 程,并且从效果上看和执行本地调用相同。远程过程调用r p c 所提供的是基于 过程的服务访问,c h e n t 和s c :l n e r 进行直接连接,没有中间机构来处理请求,因 此具有一定的局限性。 2 ) 面向消息的中间件( m e s s a g e - - o r i e n t e dm i d d l e w a r e ) :指的是利用高 效可靠的消息机制进行平台无关的数据交流,并基于数据通信来进行分布式系统 的集成。通过提供消息传递和消息排队模型,它可在分布环境下扩展进程间的通 信,并支持多通讯协议,语言、应用程序、硬件和软件平台。 3 中山大学硕士学位论文基于a g c t 的数据库中问件研究 3 )对象请求代理( o b j e c tr e q u e s tb r o k e r s ) 随着对象技术和分布式计算 技术的发展,两者相互结合形成了分布对象计算,并发展为当今软件技术的主流 方向。o r b 使得对象可以透明地向其他对象发出请求或接受其他对象的响应, 这些对象可以位于本地也可以位于远程机器。o r b 拦截请求调用,并负责找到 可以实现请求的对象、传送参数、调用相应的方法、返回结果等。 4 )事务处理监控( t r a n s a c t i o np r o c e s s i n gm o n i t o r s ) 随着分布计算技术 的发展,分布应用系统对大规模的事务处理提出了需求。事务处理监控介于c l i e n t 和s c r v c r 之间,进行事务管理与协调、负载平衡、失败恢复等,以提高系统的整 体性能,被看作是事务处理应用程序的“操作系统”。 5 ) 数据库中间件( d a t a b a s em i d d l e w a r e ) 能屏蔽不同厂家、不同类型数据 库之间的差异,实现异构数据的共享,用途比较固定,通过这种技术可以实现不 同分支的s q l 或者s o l 与非s q l 数据库的转换。 2 2 数据库中间件 2 2 1 数据库中间件的概念 数据库中间件是所有中间件中应用最广、技术最成熟、发展前景最好的一 种 9 1 a 数据库中间件作为前端客户端和后端数据库之间的一个中间层,起到桥梁 的作用,允许应用程序与本地或异地的数据库之间进行通信。它提供了一系列应 用程序接口a p i ,通过中间层而不考虑操作系统及网络来访问数据库,而且在很 多情况下,a p i 被隐藏在开发工具之中而不被开发者了解。数据库中间件负责接 收客户端的数据请求,做一些简单处理( 如s o l 格式转换,确定数据源等) 后, 把请求再传递给相应的后端数据库服务器,由数据库服务器进行数据处理得到结 果,然后,再将结果由数据库中间件进行一些必要( 如打包等) 处理后返回给客 户端。 基于数据库中间件方式的数据库应用系统较之以往的方式具有很大的优势 1 1 0 1 )结构简单:用户在使用过程中不需要特别的配置,硬件和软件结构 相对简单; 2 )开发和维护方便:用户和开发人员不需做大量艰难的编程工作: 4 中山大学硕士学位论文 基于a g c a t 的数据库中间件研究 3 ) 数据库应用效率提高:对于传统的c g i 方式,中间件的应用大大 提高了检索效率,尤其对于i n t e r n e t 的应用和多媒体数据的使用。 2 2 2 数据库中间件技术 数据库中间件技术已经得到了迅猛的发展,目前已经存在的比较成熟的数据 库中间件技术主要包括了o d b c 和j d b c 。 1 、o d b c o d b c 1 ( o p e nd a b t a b a s ec o n n e c t i v i t y ,开放式数据库互连) 是微软推出的 规范的工业标准,它提供了一组对数据库访问的标准应用程序编程接口( a p i ) , 目前绝大多数数据库厂商、应用软件和工具软件厂商都为自己的产品提供了 o d b c 接口或提供了o d b c 支持,这其中包括常用的s q l s e r v e r ,o r a c l e , i n f o r m i x ,s y b a s e 等。 2 、j d b c j d b c 是支持基本s q l 功能的一个通用的底层的应用程序编程接口,在不同 的数据库功能模块层次上提供了一个统一的用户界面,定义了一个友好的j a v a 界面1 1 2 1 。它由一组用j a v a 语言写成的类和接口组成,与o d b c 类似,也是通过 数据库驱动程序管理器调用具体数据库驱动程序来向数据库发送s q l 语句,支 持对多种数据库的访问。 论文n 3 1 认为一个理想的数据库中间件应该由如下几个部分组成:系统管理 和系统监控模块、连接池管理模块、缓冲管理模块、数据处理和指令执行模块、 安全验证模块等。 相对来说,j d b c 就是一种比较理想的数据库中间件。 先来看一下有关j d b c 可以完成的工作和相应的实现类,1 5 1 6 1 j d b c 主要完成三项工作1 t 7 1 建立与数据库连接; 发送s q l 语句: 处理查询结果。 j d b c 分为两部分:j d b ca p i 和j d b c 驱动a p i 。其中j d b c 驱动a p i 由 中山大学硕士学位论文 基于a g e n t 的数据库中间件研究 驱动程序编写者或数据库供应商提供,应用程序开发者不用考虑。j d b ca p i 定 义了j a v a 中的类,表示数据库连接、s q l 指令、结果集合、数据库图元数据等, 它运行j a v a 程序员发送s q l 指令并处理结果。通过驱动程序管理器,j d b c a p i 可利用不同的驱动程序连接不同的数据库系统,最常用到的驱动程序管理器有四 种: j a v a s q l d r i v e r m a n a g e r :负责装载和卸载合适的驱动程序,通过驱动程序创建 新的数据库连接; j a v a s q l c o n n e c t i o n :定义应用程序与数据库的连接过程; j a v a s q l s t a t e m e n t :在c o n n e c t i o n 完成后,用来执行单个s q l 语句; j a v a s q l r e s u l t s e t :返回s t a t e m e n t 的执行结果并对其进行处理; 由于j a v a 语言与平台无关,所以利用j d b ca p i 写成的访问数据库的中间件 有很好的通用性,移植方便。j d b c 的作用被许多著名的商业数据库公司和第三 方开发组织重视,相继推出了自己的j d b c 驱动程序及相关j a v a - - d b m s 集成产 品,从j d b c 本身来看,其访问数据库时的系统平台独立性、数据源独立性都很 出色。但由于j a v a 的性能问题,j d b c 现在面临的主要问题仍然时代码的执行效 率问题,其访问数据库的速度也是非常慢,对系统硬件要求也很高。 从上面的分析可以看出,数据库中间件还没有一个统一的标准,而且,目前 最成熟、使用最广泛的也不是完全平台独立的,处理一些异构问题,也存在不足。 所以很有必要继续研究数据库中间件理论和技术,来指导数据库中间件系统的开 发。 2 2 3 数据库中间件产品和厂商 作为应用服务器以及中间件的主要厂商,如b e a 、i b m 、o r a c l e 三大巨头, b e a 是中间件厂商中最为突出的1 1 8 1 。在数据库中间件部分,b e a 的产品主要是 w e b i o g i es e r v e r ,集成了数据库连接池设计以及基于j d b c 的数据库操作开发接 口,同时在应用服务级别上提供了分布式运算、负载均衡以及对x m l 的支持等 等;i b m 的w e b s p h e r ea p p l i c a t i o ns e r v e r 以及o r a c l e9 i a p p l i c a t i o ns e r v e r ,除了 上述的b e a w e b l o g l es e r v e r 的标准功能外,i b m 和o r a c l e 也在应用服务器上 开发了很多基于自己开发包的应用,这些都是非标准j a v a 的东西,在跨平台方 6 中山大学硕士学位论文 基于a g e n t 的数据库中间件研究 面,他们基本都提供了基于n t l i n u x 以及主流操作系统的版本。 2 3 本章小结 本章主要探讨了有关中间件的概念以及它的分类,数据库中间件的概念、分 类和主要产品和厂商。 7 中山大学硕士学位论文 基于a g e n t 的数据库中间件研究 第3 章a g e n t 及多a g e n t 技术 3 1 a g e n t 技术概述 3 11a g e n t 定义 w o o l d r i g e 和j e n n i n g s 给出了a g e n t 的两种定义1 1 钟: ( 1 ) 弱定义a g e n t 是一个具有以下特性的软硬件系统:( 1 ) 自主能力( a u t o n o m y ) , a g e n t 可以在有或没有其他a g e n t 直接干预的情况下动作,而且对自己的行为和 内部状态有某种控制能力;( 2 ) 社交能力( s o c i a l a b i l i t y ) ,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 e a c t i v e n e s s ) ,a g e n t 不仅简 单的对其环境做出反应,也能够通过接受某些启动信息,体现目标定向的行为。 ( 2 ) 强定义人工智能研究人员一般认为,a g e n t 不仅应该具有以上定义的特性, 同时也应具有一些人类才具有的概念,如知识、信念、目的、义务等。一些人工 智能研究人员进一步考虑了a g e n t 的情绪化。另外,还强调其他对一些特性,如 适应性、流动性、真实性、仁慈性、合理性等。 3 1 2a g e n 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 ) 、 反应型a g e n t 和混合型a g e n t 啪1 。下面我们将分别介绍各种理论的特点和相应的 理论模型。 1 思考型a g e n t :w o o l d r i g e 和j e n n i n g s 吼2 2 1 定义慎思a g e n t 为:“包 含世界显示表示的、符号的模型,并且其决策是通过逻辑推理、基于模式匹配和 符号操作的”。所谓思考型a g e n t ,就是指a g e n t 的任何行为都经过内部“思考”。 这类主体的共同特点有:第一,都通过符号系统表达处世界模型和目标;第二, 任何行为都根据一定的目标和当前世界的状态推理、规划后产生的。因此,我们 可以认为思考型a g e n t 的理论源于人工智能的符号主义。 8 中山大学硕士学位论文 基于a g e n t 的数据库中间件研究 2 反应型a g e n tm :与思考型a g e n t 相反,反应a g e n t 就是不包含 用符号表示的世界模型,而且不使用复杂符号推理的a g e n t 。最重要的是,每个 模块从感知到行动并不需要经过推理或规划,而只是匹配一些条件动作规则, 当符合某种条件则产生相应的动作,类似于一种简单的反应过程,“反应型a g e n t ” 由此得名。 3 混合型a g e n t :上述两种体系结构的结合,既能实现面向目标的长期 规划,又具有实时性的特点m 1 ,是m a s 中比较最常用的体系结构,综合了以上 两种的优点,是经典人工智能和非经典人工智能的融合。 3 1 3 a g e n t 的体系结构 对于软件a g e n t 的研究,已经取得了很多的成果,参考了很多a g e n t 的模 型结果,参考了文献晒1 所给出的a g e n t 的体系结构,最终我们采用了文献2 6 1 所设计的模型。文献给出的软件a g e n t 实体模型是由感知器、处理器、效应器和 知识库构成。对外界来说,它主要执行两个过程:感知器接收外界信号,效应器 作出反应。在作者的系统中,采用了混合型的a g e n t 结构,它的组织结构如图所 示: 图3 1a 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 的感知能力,当触发条件被满足时,它被激活并接受外部 信号1 言息流,这里我们来详细解释一下感知器: 人的大脑处理信息的过程可以分为几个层次,最简单的是信号集,感受到 粗糙的、不确定的概念和符号,这一级是所有以后更高级处理的基础。第二层是 特征符号级,经过过滤、高度抽象和压缩,或者形成可以直接引导行动的值或 符号,或者形成一些知识块,可以进行归纳或推理。第三层就是认知层中的最高 层,在这一级,现实世界以精确的方式被建模,其基本元素是可以独立处理事务 的知识块。知识块与一般的知识不同之处在它不是简单的符号或规则,而是由问 题的初始状态到目标状态的路径。 感知器就模仿了人的感知过程,其结构和处理过程如图所示 2 6 1 : ( 1 ) ( 2 ) 图3 2感知器的结构图 信息提取器模拟了人的第一层次对外界信号的接受,它具体负责接 收外界的信息输入。 特征提取器接收从信息提取器产生的符号输出,这相当于人的特征 级,符号级的思维层次,它利了用知识库和行为规则集提供符号推理 1 0 中山大学硕士学位论文基于姆n t 的数据库中间件研究 机制和类比匹配机制,进行符号推理和模糊匹配,形成高度匹配的 知识块和能被知识形成器直接使用的特征值和特征符号。 ( 3 )知识形成器对特征提取器产生的知识块、特征值和特征符号进行处 理,产生能为处理器使用的理论级知识和有关外部状态的描述知 识、问题求解的初始状态和目标状态知识。 效应器作为与外界交互的末端,主要是把从信息处理器中得到的激发请求等 反应型信息,应用知识库和行为规则集中提供的知识和动作型行为规则,直接映 射为动作或动作序列,作用于外界环境或完成特定的任务“1 。 与人类大脑相比,a g e n t 的处理器是体现a g e n t 智能的最重要的部件,是核 心,主要由任务规划器、任务管理器和行为规则集构成。任务规划器对接收的信 息进行解释和分类,在相关的a g e n t 的协助下,得到问题的求解空间并且动态更 新目标模块,并产生一个调度规划表。任务管理器负责维持和管理调度规划表, 根据消息和当前的运行状态激活相应的功能模块运行,并协同它们的动作和相互 作用,以最后完成目标模块所描述的功能,其结构如图所示: 图3 3 处理器的结构图 知识库和行为规则集包括元知识、运行状态知识和行为规则集。其中的元知 识是相对固定的知识,它是随着系统和分布式a g e n t 的设计完成就具有的。从直 1 1 中山大学硕士学位论文 基于a g e n t 的数据库中间件研究 接的概念上说,它是对整个系统的一个完整描述。运行状态知识是在系统运行过 程中动态生成的知识,是对运行过程中a g e n t 外部环境和内部运行情况的状态描 述。系统中的行为规则集,更多的是表现为一种反应型动作规则,其作用主要是 根据不同的触发消息和系统状态,通过特征值匹配,直接把任务请求映射成预定 义的动作规划序列。从知识库和行为规则集的构成和在系统中实际所起的效用上 来说,a g e n t 模型表现出了一种慎思型结构所具有的一些特征,但又不是一种完 全的慎思型结构,因为它没有太复杂的推理过程,同时也没有太多的学习能力。 3 。2 多a g e n t 系统概述 3 2 1 多a g e n t 系统的概念 m u l t i - 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 u l t i - - 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 构成的系统 是动态、复杂和不确定的;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 u l t i - - a g e n t 技术已成为分布式人工智能的一个研究热点,也是该领域发展 最快的理论之一1 2 7 1 。 3 2 2 多a g e n t 系统的结构 从运行控制的角度来看,多a g e n t 系统的体系结构可分为三种:集中式、 分布式和混合式。 中山大学硕士学位论文 基于a g e n t 的数据库中间件研究 1 集中式结构2 8 1 这种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 本身有能力解决自己 所面临的问题,具有较高的智能和自治力。 3 混合式结构 由于分布式a g e n t 组通常规模较大,且大多为开放的,其整体行为比较灵活 和复杂,通常不与对其它a g e n t 组组成集中式结构,因而混合式m a s 一般是由 集中式或分布式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 所担 负的职能和所在的层次的不同分为:u s e r a g e n t 、m a n a g e r a g e n t 和 a p p l i c a t i o n a g e n t 三种,有关这三种a g e n t 以后会做详细的介绍,这里先给出一 个大体的结构图1 2 9 1 图3 4 多a g e n t 系统的结构 u s e r a g e n t 是一个接口模块,与用户进行交互,接收用户的委托,分析任务, 中山大学硕士学位论文 基于a g e n t 的数据库中间件研究 形成任务请求表后提交给m a n a g e r a g e n t ,它只能与m a n a g e r a g e n t 进行交互,不 能与其他a p p l i c a t i o n a g e n t 直接进行交互。 m a n a g e r a g e n t 是管理模块,统一来控制全局,具有全局知识,通过它来实 现多a g e n t 合作的局部控制。它可以与任意的a g e n t 进行通信。从u s e r a g e n t 接 受总任务请求表,进行任务分解与规划,形成子任务,交给各个a p p l i c a t i o n a g e n t 来完成,同时,它需要初始化环境变量。最终再还需再将结果传给u s e r a g e n t 进 行输出显示。 a p p l i c a t l o n a g e n t 是功能模块,是面向任务的,完成某个固定的功能。它接 受m a n a g e r a g e n t 的命令,完成子任务,并将运行情况报告给m a n a g e r a g e n t 。它 对上层的m a n a g e r a g e n t 负责,也只能与它上层的m a n a g e r a g n t 进行通信。同层 的a g e n t 是平等的,不能进行通信。 3 2 3a g e n t 之间的通信 b i a 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 系统中,a g e n t 之间常用的通信模式有五种分别为:无通信、消 息传递、方案传递、黑板和a g e t 通信语言等瓯雏3 1 埘 ( 1 )无通信( n oc o m m u n i c a t i o n ) 模式:a g c m 通过理性思考和推理 而不是以通信的方式,得到其他a g e n t 的任务或规划。这往往造 成系统实现困难、性能降低,系统功能和规模不易扩展等限制和 缺点。 ( 2 ) 消息传递( m e s s a g ep a s s i n g ) 模式:这是目前系统软件( 尤其是 面向对象系统) 中常用的传统方法,例如:( 远程) 过程调用,( 远 程) 函数调用等。a g e n t 使用一组事先规定的格式和规则通过消 息形式相互传递计算请求和处理结果。当特定状态或预先定义的 事件发生( 比如a g e n t 收到其他a g e n t 发来的消息,或者a g e n t 感知到环境的某些变化) 时,这些规则就会被激活。其优点是高 1 4 中山大学硕士学位论文基于a g e n t 的数据库中间件研究 效、可支持分布式计算和移动计算;但缺点是不灵活、不便于扩 展以及不利于a g e n t 合作等。 ( 3 )方案传递方式( p l a n p a s s i n g ) 模式:在相互合作的a g e n t 之间, 一方通过给对方传递其整个任务方案,相互取得问题的一致理解 和相应的解决方案。这种模式常用于分布式计算和d a i 应用中。 尽管它可使a g e n t 的合作求解比较容易实现,但它却有很多缺点, 比如:传递方案带来的时空开销大;传输过程容易出错:不灵活; 无法在状态多变、不确定的现实环境下应用等。 ( 4 )黑板( b l a c k b o a r d ) 模式:黑板指一个可供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 c l ) :一般而言,a c l 是一种包含专用于支持 多a g e n t 之间协调、协商和合作等活动的通信命令和有关结构的 高级语言,这些通信命令和结构又有一些所谓“子语言”组成。 a g e n t 之间的通信是a g e n t 进行协作的核心,是a g c n t 社会性的体现,通 过通信来了解其他a g e n t 的特性和执行情况,也利用通信来进行学习。学习是 a g e n t 智能性的体现。 最终选择了通信语言的方式,并且采用了k q m l 语言。可以将k q m l 语言 看作a g e n t 通信的实际标准语言,一种用于交换信息的语言和协议,它为表达消 息和处理消息提供了标准的格式,用于支持a g e n t 直接的实时知识共享。 中山大学硕士学位论文基于a 鲫l 的数据库中间件研究 2 通信语言 现在作为标准的通信语言主要有两种k q m l 和f i p a - a c l 1 3 3 1 1 9 9 3 年,美国d r a p a 的k s e 研究小组第一个提出了标准化的a c l 的定义, 即k q m l ( k n o w l e d g eq u e r y a n dm a n i p u l a t i o nl a n g u a g e 知识查询和操纵语言) , 是由4 1 条通信原语所组成的一个可扩充的通信原语集合。 另外一个就是由f i p a 提出的f i p a a c l ,是基于言语行为理论的,消息被认 为是通信行为,其消息本身表达通信动作,也就是说,a g e n t 通过发送消息企图 达到或完成某一特定目的或动作。该标准包括2 0 条所谓的通信动作以及相应的 语法、语义描述。 本篇采用的是k q 壮语言,所以着重介绍以下有关k q m l 语言的相关知识。 ( 1 ) k q m l 的层次 k q m l 是目前被应用的较多的a g e n t 通信语言,其核心提供了一个通信原 语( 消息类型) 的抽象集合,利用这些通信原语可以表达消息发送者对待想要交 换的信息的态度。为此,k q m l 被设计成一种分层的语言,它共有三个逻辑层 次3 4 0 卯:内容层( c o n t e n tl a y e r ) 、消息层( m e s s a g eh y e r ) 和通信 昙( c o m m u n i c a t i o n l a y e r ) 。内容层表示了a g e n t 之间通讯的内容,k q m l 可以携带任何语言表示的 表达式,k q m l 消息可以传递使用任何语言编写的信息,实现k q m l 消息与传 输内容的分离,从而屏蔽a g e n t 内部实现的异构性。通讯层包括了一系列消息特 征,描述了通讯底层参数,包括消息接收者和发送者的标识以及与通讯相连的标 识。消息层是k q m l 的核心,这一层包含了发送者对待内容层中信息的态度。 此外,由于内容层的表示语言对k q m l 消息来说是透明的,因此,消息层增加 了一组对内容层进行描述的属性。在消息层中包含可以识别内容层所使用语言的 信息,即提供内容层的语义信息,包括内容层使用什么语言,如何解释解释内容 层中所涉及信息的含义。 ( 2 ) k q m l 的语法 标准的k q m l 语法基于l i s p 语言中的s 一表达式。一条k q m l 消息由三部 分组成:一个语义动作( p e r f a r m a t i v e ) 、内容表达式、一套消息描述参数。k q m l 的的语义动作集是可扩充的,允许人们按照k q m l 的规则自己定义新的语义动 作及其意义、用途1 3 6 1 0 不同的执行原语可以有不同的参数。其中有些参数是可 1 6 选的。 表3 1k q m l 消息的参数以及参数含义 参数名参数含义 :s e n d e r ( )一条k o m l 消息的实际发送者 :r o t e i v e t ( )一条k q m l 消息的实际接收者 :f r o m ( )当使用转发f o r w a r d 时,指出转发消息的原始发送者 :t o ( 】 - 3 使用转发f o r w a r d 时,指出转发消息的最终接收者 :i n r e p l y t o ( w o r d )接收者针对前一个收到的消息,回答时所使用的标识号 :r e p l y - w it h ( )针对当前的消息期望接收者,在回答时所使用的标识号

温馨提示

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

评论

0/150

提交评论