




已阅读5页,还剩53页未读, 继续免费阅读
(交通信息工程及控制专业论文)基于Agent的中间件技术研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
南京航空航天大学硕士学位论文 摘要 为了提高分布式多层结构系统的灵活性,本文着重探讨了基于a g e n t 的中间件技 术。文章首先分析中间件技术的现状与发展趋势,对a g e n t 技术及其在中间件中的应 用进行了分析和论述。本文运用a g e n t 的技术思想,根据企业管理信息系统的特点, 提出了基于a g e n t 的中间件模型一a b m 。a b 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 b s t r a c t t oe n h a n c ef l e x i b i l i t yi nc u r r e n td i s t r i b u t e dm u l t i t i r e d s y s t e m s ,t h i sp a p e rm a i n l y d i s s e r t a t e sm i d d l e w a r et e c h n o l o g yb a s e do na g e n t t h ep a p e rf i r s td i s c u s s e s a g e n t t e c h n o l o g ya n d i t sa p p l i c a t i o ni nm i d d l e w a r e ,b a s e do nt h ea n a l y s i so ft h ep r e s e n ts i t u a t i o n a n dd e v e l o p m e n to fm i d d l e w a r et e c h n o l o g y a n dt h e n ,a c c o r d i n gt ot h es p e c i a l t i e so f e n t e r p r i s em a n a g e m e n ti n f o r m a t i o ns y s t e m ,b yt h ei n t r o d u c t i o no fa g e n tt e c h n o l o g y , t h i sa r t i c l e b r i n g s f o r w a r dam i d d l e w a r er e s e a r c h m o d e l ,t h a ti s ,a g e n t b a s e d m i d d l e w a r em o d e l 口a m ) t h i sp a p e ra c h i e v e st h ef l e x i b l es e r v i c eo f s y s t e mb ym a k i n g u s eo f a u t o n o m y a n d m o b i l i t yo f m o b i l ea g e n t ,w h i c hc a ne n h a n c ef u n c t i o n a le x p a n s i b i l i t y , c a r lr e d u c et h es y s t e mm a i n t e n a n c ea n da l s oc a n p r o t e c td a t as e c u r i t y i nt h ef o l l o w i n gp a r t , t h i s p a p e rg i v e s a d e s i g n f o r n a n j i n g l u k o ui n t e r n a t i o n a l a i r p o r t sm a n a g e m e n t i n f r o m a t i o ns y s t e m k m s s ) b a s e do nt h er e s e a r c h ,a n di n t r o d u c e st h ea p p l i c a t i o no ft h e r e s e a r c hi nl k m i s a tl a s t ,t h e p a p e rg i v e s e v a l u a t i o nt oa b ma n dt h e s y s t e m s p e r f o r m a n c e ,a n dm a k e s s o m ea m e l i o r a t i v es u g g e s t i o n k e y w o r d s :m i d d l e w a r e ,d i s t r i b u t e dc o m p u t i n g ,m u l t i t i r e da r c h i t e c t u r e ,m o b i l e a g e n t ,m u l t i - a g e n ts y s t e m i 】 南京航空航天大学硕士学位论文 第一章绪论 随着i n t e m e t 技术的不断发展和应用普及,计算机应用系统的复杂性不断增加, 呈现出层次化、异构化的发展趋势。众多企业面临着解决不同硬件平台、不同网络环 境、不同数据库之间的互操作以及集成多种应用系统的问题。但是单纯依赖传统软件 提供的功能已经不能满足系统移植性、互操作性以及代码重用性的实际要求。这就迫 切需要一种基于标准的、独立于计算机硬件及操作系统的开发和运行环境。为此出现 了中间件技术( m i d d t e w a r e ) 。中间件技术可以屏蔽硬件平台之间的异构以及操作系 统与网络协议的差异,使应用系统能够平滑、高效地运行于不同平台之上。a g e n t 具 有自治性及移动性等特点,为中间件技术的研究提供了一种新的思路和有效方法。 1 1 分布式系统与中间件的发展 中间件的出现是分布式系统( d i s t r i b u t e ds y s t e m ) 发展的产物。是软件构架演进 的必然,它是伴随着计算机网络发展起来的一种新型软件技术。 1 1 1 分布式系统的演变 最早的分布式系统可以追溯到上世纪六十年代。当时的计算机系统由一台主机 ( m a i n f r a m e ,主机可以是小型机、中型机或大型机) 以及与其相连的多个外设终端 组成。用户通过联机终端实现输入输出交互,而将系统的逻辑处理和计算任务交给主 机,最后的处理结果通过屏幕或其它方式返回给用户。这种被称为终端主机 ( t e r m i n a v m a i n f r a m e ) 计算结构的数据安全性高,一致性好。但系统运行效率低, 可扩展性弱。虽然采用了分布的形式,但它仍是一种集中控制的计算模式。 到了八十年代,个人电脑( p c 机) 开始普及,性能价格比也越来越好。非智能 的终端逐渐被智能化的p c 取代,而主机也让位给价格便宜、性能优越的服务器,从 而形成了前端p c 机、后台服务器的客户机服务器( c l i e n t s e r v e r ,简称c s ) 计算模 式。它将数据统一存储在服务器端,客户端共享服务器端的数据,而事务处理逻辑则 在客户端实现,即所谓“胖客户端”的解决方案。但这种方案往往会使客户端的负载 过重,降低了系统的移植性和可扩展性。每当应用程序发生变更时,客户端都不可避 免地要对应用程序进行更新,增加了系统的维护成本。由此开发人员将业务逻辑从客 户端剥离出来,放置在服务器上处理,即“瘦客户端胆艮务器”的计算结构。虽然这 样可以减轻客户机的负荷,但服务器端程序的开发变得更加复杂,系统的稳定性难以 保证。 1 基于a g e n t 的中间件技术研究 随着计算机网络的进一步发展,越来越多的应用软件需要在不同厂家的硬件平 台、操作系统及异构网络协议环境下运行,应用规模也从局域网发展到广域网。c s 结构已经难以适应不断增长的应用需求。于是中间件技术应运而生,很快就出现了基 于中间件的三层体系结构。在这种计算结构中,系统的事务处理逻辑模块脱离客户端 或者服务器,归并为一些能实现某种功能的中间件。这些中间件通过彼此间的信息交 互集成为一个事务处理逻辑框架,最终在客户端与服务器端之间构成一个中间层。从 而形成由客户端、中间层以及数据库服务器组成的三层体系结构。中间层的出现,易 于实现对事务处理逻辑的更新和改进,易于实现对多种客户机设各( 如p c 、m a c i n t o s h 和p d a 等) 的支持,改善了数据库服务器的服务性能。它的使用大大提高了系统的 可扩展性、自适应性和计算能力。 为了方便用户使用,开发人员在中间层中通常增加w e b 服务器,在客户端采用统 一的浏览器。原来的三层体系结构演变成由客户端、w e b 服务器、事务处理逻辑层和 数据库服务器所组成的四层体系结构。这样就形成浏览器服务器( b r o w s e r s e r v e r , 简称b s ) 的计算服务模式。 考虑到一些系统中的事务处理逻辑非常复杂,开发人员有时会将事务处理逻辑层 进一步细分,产生多层体系结构。但是无论体系结构的层次如何变化,中间件仍是分 布式计算系统构建的关键技术,已成为当前设计系统时不可缺少的软件技术。 1 1 2 中间件的功能定义 在众多关于中间件功能的定义中,被普遍接受的是国际数据集团( i d c ) 的描述: “中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的 软件之间共享资源。它位于客户机与服务器的操作系统之上,管理计算资源和网络通 信”【4 。i d c 的定义表明中问件是基于分布式环境的一类软件。它不仅要实现应用系 统的互连,还要屏蔽平台差异,实现软件间的互操作。实际应用中,通常要把一组中 间件集成在一起,构成一个平台( 包括开发和运行功能) 来实现中间件的功能。中间 件的存在形式多种多样,可以是一个函数、a p i 或d l l ,甚至是一个系统。 中间件位于操作系统、网络和数据库之上,应用软件之下。逻辑位置如图1 1 所 示【l ”。它拥有标准的协议和接口,提供网络、硬件以及操作系统、编程语言的透明性。 中间件能够实现分布系统内资源的高度集成,为应用软件搭建一个虚拟的运行环境, 使应用软件能独立于计算机软硬件平台运行在中间件所搭起的标准操作平台上。另一 方面,中间件的使用屏蔽了底层操作系统的复杂性。它使开发人员能够面对一个简单 而统一的开发环境,将注意力集中在业务逻辑处理的设计或开发上,不必为程序在异 构环境中的移植性而重复工作,降低程序设计的复杂性【l ”。不仅如此,中间件技术的 应用也减少了系统维护和运行管理的工作量。更具实用价值的是,它能无缝集成不同 2 南京航空航天大学硕士学位论文 时期、不同操作系统上开发出的应用软件。这一作用使得以往的劳动成果仍然物有所 用,节约大量的人力财力投入。 应用编程接r | ( a p i ) 中问什 弋互 图1 - 1 系统中中间件的作用位置图 1 2 中间件发展现状及趋势 随着市场竞争的加剧,企业经常要进行业务流程的调整或更新。越来越多的企业 开始关注系统的灵活性和可扩展性。中间件具有良好的跨平台能力,能实现不同应用 程序模块的无缝集成,降低编程复杂性,提高系统开发效率,增强数据和通信的安全 和稳定性,使企业的业务处理软件不会因计算环境的改变而遭受损失。由于以上因素 的作用,中间件的发展和应用普及显示出了强劲的增长势头。它已成为与操作系统、 数据库并列的三大基础软件之一。目前呈主流地位的中间件有o s f 的d c e 、o m g 的c o r b a 、m i c r o s o f t 的c o m d c o m 、r p c 、t p m o n i t o r 、m o m ( m e s s a g e o r i e n t e d m i d d l e w a r e ) 等等。中间件系统也日益丰富,己产生面向对象中间件系统、基于w w w 的中间件系统、基于服务包的中间件系统等等。 1 9 1 中间件市场竞争激烈,比较著名的生产厂商有美国b e a 公司、i b m 公司和h p 公司,它们的产品( t u x e d o 、m q s e r i e s 、h p a s ) 在对异种平台、异种网络、异种数 据库和开发工具的支持上表现出很好的特性【l 。国内的北大青鸟、国防科大、中创、 中软、山东浪潮以及金蝶等公司也相继推出自己的中间件产品,并取得较好的经营业 1 基于a g e n t 的中间件技术研究 绩【2 0 l 。 中间件技术作为软件行业出现的一个崭新分支,目前仍处于成长阶段。分布式对 象技术中的三大架构标准( c o m d c o m 、c o r b a 及j a v a r m i ) 极大地促进了对象 中间件技术的发展。同时,随着i n t e m e t i n t r a n e t 的发展和广泛应用,中间件技术迅速 向i n t e m e t 延伸,网络技术与中间件的有机融和成为目前中间件技术发展的一大趋势。 然而,中间件发展至今还没有形成统一的标准和模型,通常以传统的面向对象技 术实现。但它自身包含了平台功能,具有自主性、屏蔽性、并发性以及认识能力等特 性,这些特点已超出了面向对象的表达能力。同时,它所具备的这些特点十分近似于 a g e n t 技术,因此采用a g e n t 的概念和技术研究中间件成为中间件技术的一个重要发 展方向。本文旨在基于a g e n t 思想对中间件技术进行研究与应用,以期望更好地实现 中间件在大规模并发网络中系统应用的可扩展性、安全管理以及应用软件之间无缝集 成等功能。 1 3 课题背景及研究内容 南京禄口国际机场生产运营管理信息系统( 简称l k m i s ) ,是南京禄口国际机场 公司为实现企业管理现代化而建设的信息管理系统。经过1 9 9 9 年开始的一期和二期 工程建设,已实现生产运营和业务管理两大子系统,包括生产指挥调度管理、货运管 理、机关管理办公自动化、财务管理、物资计划管理、人事管理、医疗卫生信息管理、 内部网站管理、外部网站管理等功能模块。系统结构复杂,涉及二十多个部门,一百 二十多个操作点。 一期二期中采用了c s 和b s 结构的开发技术。系统的可扩展性、稳定性、安全 性已基本达到使用要求。但南京禄口国际机场作为我国的骨干航线机场之一,出于其 自身特殊的地位,对l k m i s 的性能提出了更严格的标准。在三期工程的建设中,不 仅增加了系统的业务处理逻辑模块,对系统的灵活性、健壮性、安全性、可扩展性以 及可维护性也提出了更高的要求。 为了解决这些问题,三期建设中引入基于a g e n t 的中间件技术。采用浏览器朋日务 器的结构借助中间件技术,将l k m i s 在不同时期建设的各种应用系统集成到一个 统一的平台中,并提高系统的服务性能。 结合机场三期信息化建设中的实践,本文将分析中间件的基本运作模式,主要讨 论中间件的可扩展性、安全机制以及系统集成技术。通过对a g e n t 技术的特征分析, 探讨基于a g e n t 的中间件构建技术,著进一步提出基于a g e n t 的中间件模型一a b m 。 最后,文章将介绍a b m 在l k m i s 中的应用实现情况,并对系统性能进行分析评估。 4 南京航空航天大学硕士学位论文 第二章中间件技术研究 中间件是一个用a p i 定义的软件层。它是具有强大通信能力和良好可扩展性等优 越性能的分布式软件管理框梨”】。中间件技术提供了一个抽象层,使客户端对功能服 务及数据的位置透明,使系统具有对平台、操作系统和网络协议的独立性。它的扩展 能力、安全机制以及系统集成能力是评价中间件的重要指标。这些方面也直接影响着 整个分布系统的服务性能,在系统中起着极其重要的作用。下面分别从这些方面对中 间件技术进行分析。 2 1 中间件的基本构架 首先讨论中间件的基本结构及工作原理。虽然按照i d c 的分类方法可将中间件分 为六类1 2 2 l ( 终端仿真屏幕转换、数据访问中间件、远程过程调用中间件、消息中间 件、交易中间件和对象中间件) ,但在具体应用中常常由几种类型的中间件集成协作, 形成一个具有开发和运行平台功能的中间件系统,由中间件系统提供相应的服务。本 文所讨论的中间件是指这种实际应用的中间件系统。 中间件按功能特点可划分为三大组成模块:程序接口模块、逻辑服务模块和系统 管理模块,结构如图2 一l 所示。 程序接口模块定义一组功能相对完善的函数。应用程序通过这些函数与中间件交 换信息,用于客户程序请求服务、申明事务处理结果、接收请求和返回应答等。这一 功能模块负责中间件与用户程序间的通信,使开发人员不必过多了解中间件工作的具 体运行方式,编写的程序就如同本地操作一样。 逻辑服务模块中封装中间件可以提供的各种标准服务,包括业务逻辑处理、通信 服务、数据的加密解密、命名服务、协调管理服务等。 系统管理模块用于对整个中间件系统的管理操作。它允许系统管理员配置整个系 统,包括分布式应用软件管理、应用程序集成配置、用户授权管理、工作站管理、系 统运行日志管理等。 基于a g e n t 的中间件技术研究 图2 1 中间件的组成模块结构图 客户端用户运行应用程序,执行某神操作以便从网络中的某个信息结点上获取一 定的数据或服务。这时的客户机将用户的操作请求送至a p i 接口。用户请求到达程序 接口模块,该模块对用户请求进行处理,形成逻辑服务模块的操作语句。当这些操作 语句传至逻辑服务模块,逻辑服务模块就根据需要访问数据库,将访问结果整理后返 回客户端。系统管理模块负责系统的配置及安全管理,监控和调度中间件的运作过程。 中间件工作示意图如图2 2 所示。 6 南京航空航天大学硕士学位论文 吲 r 蠢感 i _ 旃蚌 二珩艰 n 固参 廊翔编秘接b ( a p i ) 校块兰纂篡 2 2 中间件的可扩展性 图2 - 2 中问件工作示意图 在分布系统中,中间件作为客户端和服务器的中间层,大量的客户端软件通过中 间件服务间接访问数据库系统。尤其对于大规模、高性能的分布式应用系统而言,数 量庞大的数据库访问往往容易造成中间件的负担过重,最终成为系统运行的瓶颈。因 而中间件的可扩展性至关重要。 通用网关接口c g i 就是一种基于w e b 的中间件。通过c g i 接口,w e b 服务器接 收来自浏览器的含有c g i 串的h t t p 指令。解释后启动相应的c g i 应用程序,通过 c g i 接口程序读取指令参数,对数据库进行查询访问。c g 技术成熟,但存在着严重 的扩展性问题。因为每个新的c g i 程序都会新增一个进程。当多个请求到来时就会 形成多个进程,严重影响服务器资源的利用率,甚至导致系统无响应的情况发生。 这些问题的产生主要源于服务器端资源的限制以及数据访问操作占用资源过多 两个方面。所以,提高中间件的可扩展性可以从两个方面进行:一是均衡服务器端的 负载以达到充分利用服务资源的目的:二是减少数据访问操作所消耗的资源。目前该 领域中已出现了负载均衡( l o a db a l a n c i n g ) 、连接池( c o n n e c t i o np 0 0 1 ) 、缓存( c a c h e ) 等技术。其中负载均衡是针对多台中间件服务器的分布系统而采取的优化技术。连 接池和缓存技术都从减少系统中不必要的通信出发,减少数据操作占用的资源,减少 相同操作的重复发生。下面分别对负载均衡、连接池、缓存这三种主要技术进行分析 和研究。 7 基于a g e n t 的中间件技术研究 2 2 1 负载均衡 、大型分布式系统如果仅使用台中间件服务器,大量的客户端请求都要通过这台 服务器。这势必会造成服务器负载过重,引发瓶颈的产生,最终致使系统性能下降。 所以在具体应用中,通常采用多台中间件服务器并行处理用户请求,分担业务流量。 多台中间件服务器系统均以峰值速度运行时,所有中间件服务器都做着有用的工作, 没有一台服务器处于空闲状态。这种情况下服务系统的处理速度随着服务器数量的增 加而增加。但这只是一种理想状态,实际中的峰值性能很难达到。原因在于很多方面: 例如中问件服务器之间的通信会产生延迟;台中间件服务器与其它服务器同步需要 资源开销;当没有足够多的任务时,一台或多台服务器会处于空闲状态;台或多台 服务器会执行无用操作;系统控制和操作调度需要消耗资源等等。然而,虽然无法让 系统始终以峰值速度运行,但可以通过合理协调负载分配情况提高系统的工作性能。 负载均衡就是这样的一种系统优化技术。 负载均衡是指当用户提出操作请求时,系统确保以最小的应用吞吐量发现最可用 的服务器,然后发送该请求到那个服务器或服务器队列【2 3 】。它的目的就是要达到用户 对系统可用、可靠和高效的期望。目前的负载均衡技术主要采用应用系统分区和复制 的策略【2 “,形成客观均衡和主观均衡两种主要的解决方案。下面分别对这些策略和方 案进行分析和探讨。 应用系统分区策略就是将应用系统分割成一些相对独立的服务组件。这些组件分 别提供系统整体功能中某个特定的子集。应用系统的分区方法有水平和垂直两种。 水平分区是按照系统功能切分,每个中间件服务器上只提供整个中间件系统的部 分功能。这种分区方法中,用户用关键词来标识将要使用的服务,系统管理模块将其 解析到特定的服务器上来完成用户请求。 垂直分区则基于数据来划分系统。与水平分区不同,每个服务器提供整个中间件 系统的全部功能,但只能访问到部分数据。例如在某全国连锁商店的销售信息管理系 统中,某个服务器只能访问江苏地区的销售情况,而另一个服务器则只能访问广东地 区的销售数据。这种分区方法适用于具有较少逻辑处理而需要大量数据访问的应用系 统,但会给系统设计带来不便。 复制策略作用在服务器端,每台中间件服务器通过相互间执行复制操作达到服务 功能的一致性。传统的复制技术通常是在假设服务器之间保持连接到情况下考虑服务 器之间的功能复制。并且采用的复制策略都是静止的,系统管理员统一安排好布局后 就固定不变了。但随着蜂窝通信、无线局域网以及卫星数据服务等技术的迅速发展, 越来越多的人拥有p d a 或是笔记本电脑。这些移动设备通过无线联网设备与固定网 络甚至其它移动计算机相联,使用户可以携带着移动计算机自由移动,随时随地访问 信息。这就是称之为移动计算( m o b i l ec o m p u t i n g ) 的计算环境。它是传统分布计算 南京航空航天大学硕士学位论文 的扩展。在这样的环境中如果还使用传统的复制技术,管理员就必须根据实际变化而 重新配置分布系统。可见,传统的复制技术在具有移动计算功能的分布系统中不能有 效工作。 针对这种情况,j g r a y 提出了两级复制机制”j 。两级复制机制假设分布系统的功 能处于两类结点上:一类是基结点,它们连接在固定的网络中,每个基结点都维护系 统功能的个复制( 即第一级复制) ;另一类是移动结点。这些移动结点有时通过无 线网络与基结点连接,从基结点上获得最新的系统功能或数据,处理移动用户的操作 请求;有时处于断接状态,这时的移动结点也存有系统的功能或数据复制( 即第二级 复制) ,这样就可以在断接时提交暂态事务( t e n t a t i v et r a n s a c t i o n ) 。暂态事务就是移 动结点上的第二级复制对本地暂态数据进行操作从而产生新的暂态结果。如果暂态结 果被成功提交,则系统将更新主拷贝值,该暂态结果永久化;如果执行失败,这时的 提交事务就对暂态结果进行可接受性准则( 如银行帐户的余额不能为负等) 测试。若 暂态结果能通过测试则被系统接受。可见,可接受准则实际放宽了对一致性的要求, 在最大限度保证系统执行正确性的基础上,减少移动计算环境中操作的失败率,提高 系统的服务性能。 在负载均衡的客观均衡方法中,客户端具有主动权。客观均衡是由客户枫选择当 前比较空闲的中间件服务器为其提供服务。实现客观均衡最简单的方法是客户端随机 地发送数据包。因为根据概率论的理论依据,能够认为中间件之间的负载可以达到均 衡。另外也可以在客户程序中提供智能的寻找功能,而服务器端采用应用系统分区的 策略。由客户程序寻找相对空闲并且具有相应服务能力的中间件服务器来处理该客户 端的操作请求。 主观均衡方案是指由中间件自己分配业务来达到负载的均衡。一般采用定时广播 方式使系统中的每个中间件得知自己的繁忙情况,以便调节数据的流向。或者在中间 件服务器端设立一个公用的信息交换区。每个中间件服务器隔一定时间访问一次交换 区,提交自己的繁忙情况并读取其它中间件服务器的繁忙情况。这种方法实现时,服 务器端多采用复制策略,而客户程序的实现相对简单,无需考虑客户端选择服务器的 智能性。 除此以外,还可以设置一个独立的服务器控制台。由它专门监控各个中间件服务 器的负载情况,分配业务流量,维持系统内的负载平衡。 2 2 2 连接池 在数据访问操作中,数据库的连接和释放需要花费一定的系统资源和时问。 o d b c 、c g i 技术打开和关闭数据库连接都十分费时。如果在网络之间采用t c p 协议 连接。t c p 协议是典型的面向连接的协议,使用它每建立一个新的连接都要经过三次 基于a g e n t 的中间件技术研究 握手过程。这个过程也相当耗时。由于用户对数据库的访问是随机的、不连续的,如 果用户每访问一次数据库就建立一次连接,执行一、两条s q l 语句后就释放,这样 会造成资源的严重浪费。使用连接池管理就能很好地解决这一问题。 连接池就是在系统中维持一定数量的处于激活连接状态的服务,如图2 - 3 所示。 这些服务可阻以连接组件的形式存在。用户通过调用连接组件与数据库进行通信。当 操作完成后并不立即释放连接组件,而是将连接组件放回到连接池中,以再次接受客 户端的调用。使用这种方法可以减少不必要的建立连接和释放操作,节省初始连接的 步骤,提高系统的响应时间。而用户在访问数据库时仍以为自己独享着与服务器的连 接,丝毫意识不到连接池的存在。 图2 3 连接池逻辑结构示意图 同时,连接池技术的引入使外界对整个系统内部的管理控制更加容易。系统管理 员通过观察当前处于服务状态的连接组件数量来掌握系统的繁忙情况,并可以根据实 际需求动态改变连接池中连接组件的数量。 2 2 3 缓存技术 缓存技术通过在客户机上缓存部分功能和数据,达到减少系统通信量的目的。 早期的缓存技术要求客户机保持与服务器的连接。只有这样才能维护客户端缓存 与服务器实际数据及功能的一致性。因此对经常执行断接操作的移动计算环境来说, 早期的缓存技术已不能适应了。开发人员研究出了支持客户机断接操作的新一代缓存 技术,最具代表性的是c o d a 系统中的断接操作( d i s c o n n e c t e do p e r a t i o n ) 1 2 5 1 。 c o d a 系统是美国卡耐基梅隆大学( c m u ) 研制的一种分布式文件系统。它支持 移动客户机在断接状态下仍能继续使用c o d a 系统。与复制不同,c o d a 系统只缓存部 分对象,而不是对整个系统的功能复制。c o d a 使用两种不同但互补的机制来获得系 统的高度可用性。一种是回叫机制( c a l l b a c k ) 。当客户机的某个缓存对象己被服务器 o 南京航空航天大学硕士学位论文 更新时,由服务器通知客户端该缓存对象已不再有效,这样保证每个使用的系统功能 或数据都是最新的。另一种机制是缓存管理器v e n u s 的状态转换机制。v e n u s 拥有三 种工作状态:收集h o a r d i n g ) 、仿真( e m u l a t i o n ) 和重集成( r e i n t e g r a t i o n ) 。当客 户端连接服务器时,v e n u s 处于收集状态。客户端依靠服务器完成用户的操作请求, 并随时准备进入断接状态。当客户机断接时,v e n u s 进入仿真状态直到客户重新连接 服务器。当客户再次连接上服务器时,v e n u s 进入重集成状态。在重集成状态中,v e n u s 将缓存内容以及功能子集与服务器交互,重新保持同步,随后进入收集状态。缓存管 理器v e n u s 的工作状态转换如图2 4 所示。它利用本地缓存完成用户请求,并在客户 端重新连接服务器时将用户的操作结果提交。在用户看来,c o d a 系统的客户端在断 接状态下仍可以继续访问系统,使系统具有了极强的可用性和健壮性。 图2 - 4v e n u s 的工作状态转换图 2 3 中间件的系统集成能力 中间件技术作为一种黏合剂,在网络环境下实现各类资源的有序管理和系统的无 缝集成。现代企业,尤其是大型企业,已经建立了面向生产运营或企业管理的信息管 理系统,产生了大量的有价值数据( 如客户资料、业务数据、人事资料等) 。这些数 据存放在各种类型的数据库系统中,分散在企业各个地域的分支机构的子系统里,已 成为企业日常运转及发展不可缺少的组成部分。对这样的情况进行有效的整合,形成 一个高效的、易操作、易管理和易维护的信息管理系统,成为了企业信息化建设中一 个急待解决的问题。 假设某企业有n 个应用程序、m 个操作系统。为了使所有应用在所有操作系统上 都能工作,就可能需要n + m 个接口。而每引入一个新的操作系统就要重新改写n 个 应用程序的源代码;每开发一个新的应用就要考虑实现m 个不同版本。中间件通过 屏蔽各种复杂的技术细节而使问题简单化。软件人员在开发应用程序时无需关心底层 基于a g e n t 的中间件技术研究 操作系统的类型,只要专心于应用逻辑的处理。因为中间件提供标准的协议和接1 5 1 , 可以将接口数目从n ,m 减至n + m ,如图2 - 5 所裂 】。当n 和m 都很小时,这种差 异并不明显。但实际应用中的n 和m 会不断增加,这时的差异将对系统开发的难易、 整体运行的效率以及性能的好坏都会产生极大的影响。 庸用软件 圭5 i l 截;系统 一固一 图2 - 5 中间件集成的优势 目前实现系统无缝集成功能比较突出的中间件是c o r b a ( c o m m o no b j e e t r 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 是一种通用的体系结构。它 用i d l ( i n t e r f a c ed e f i n i t i o nl a n g u a g e ,接1 :3 定义语言) 进行对象建模,定义系统之间 的接口,再通过i d l 编译器映射成具体的程序语言。采用i i o p ( i n t e m e ti n t e r - o r b p r o t o c o l ,网间o r b 通信协议) 进行通信。c o r b a 把各种对象的操作和属性封装在 不同的接口中,通过在客户和服务器之间引入一组对象请求代理服务( o b j e c t r e q u e s t b r o k e r ,简称o r b ) 来调用接口中的操作,完成指定的功能调用,使得访问远程应用 系统对象就像访问本地系统内部对象一样。c o r b a 对象调用模型如图2 - 6 所示。 图2 - 6c o r b a 对象调用模型 服务器端 在c o r b a 的应用程序结构中,如图2 - 7 所示【2 6 1 ,客户端调用s t u b 向o r b 发送 服务请求。客户端访问s t u b 的方式类似于访问一个实现某种接口的对象。s t u b 则可 看作是服务器端对象的代理。它通过安装在客户端的o r b 软件来处理接口的调用。 o r b 再通过s m a r t a g e n t 提供的目录服务来动态定位可用的服务器。由该服务器完成 1 2 南京航空航天大学硕士学位论文 接口调用。由于o r b 根据对象引用来定位服务器,因此客户端程序不必关心对象在 哪里实现。客户端对远程对象发起调用就如同调用本地对象一样。o r b 的编组 ( m a r s h a l l i n g ) 和解组( u n m a r s h a l l i n g ) 功能,使客户端和服务器的平台和语言可以 不同。另外,o r b 还负责处理底层网络通信的细节。系统可以使用不同的底层网络 协议( 如t c p i p 、i p x 等) ,因而c o r b a 具有异构网络间的移植性。c o r b a 服务 器端的o r b 把客户的接口调用传递给一个自动生成的s k e l e t o n ( 服务器端用它来监 听o r b 发送过来的服务请求) 。s k e l e t o n 与o r b 之间借助b o a ( b a s i co b j e c t a d a p t o r ) 实现通信。通过b o a ,s k e l e t o n 还可以在s m a r ta g e n t 上注册对象,表明该对象的作 用域,确定对象是否可用于远程环境以及怎样创建实例等。 图2 7c o r b a 应用程序结构示意图 c o r b a 实现了服务对象的位置和通信机制的透明性。只要按照i d l 对服务进行 描述,客户端应用程序和服务器对象之间就可以透明地交互运行。这就是c o r b a 的 “软件总线”特性。应用软件和组件能够在“软件总线”上实现“即插即用”1 2 j 。 2 4 中间件的安全机制分析 分布系统比以往的计算机系统更容易遭受攻击。然而,中间件的存在不仅使前端 用户无法直接访问后台的数据服务器,同时还可以对信息进行中间校验、解释、过滤 以及加密处理,有效防止了网络中的恶意攻击。 中间件系统的安全机制实现以下几种功能: l 、主体鉴别 确认主体是否为其所声明的实体。 1 基于a g e n t 的中间件技术研究 2 、授权控制 判定主体是否可以对某对象进行操作。为了保证系统的保密性和完整性,信息和 服务只提供给授权用户访问,或只执行用户权限内的操作。 , 3 、安全审计 系统管理员或用户可以根据系统运行日志等资料审计与安全相关的行为,从而使 主体对其使用与安全相关的资源的行为负责,提供了安全行为执行不可否认的证据。 4 、通信安全 在用户与目标对象之间建立可信任的通信,并对双方传输的交互信息提供保护。 安全机制包括两个层次的实现,即用户应用层以及系统管理层。用户应用层是针 对安全性要求较低、或只在存取控制和审计方面有一定安全要求的应用程序而设置 的;而系统管理层安全机制的实现则提供给一些安全性要求高的应用程序,如设定管 理系统的安全策略、调整对象调用的安全级别等。 目前可采取的安全措施有沙箱( s a n d b o x ) 、认证及授权、数据加密等。 l 、s a n d b o x 外来主体进入中间件运行环境后,运行环境限制该主体访问本地资源的权限,就 好像运行在一个特定的箱子( 称为s a n d b o x ) 中,它只能对有限的资源造成破坏【7 】。 但这种方法不能适用于系统中的关键部分,否则将会因恶意的攻击而影响整个系统的 工作性能。 2 、认证及授权 这是种普遍使用的方法,运行环境先对外来主体进行身份验证,通过数字签名 来判断它是否为合法用户。如果能够通过认证,系统才分配给它相应资源的操作权限。 【8 ,9 1 3 、数据加密 这种方法通过对中间件或系统中关键数据及功能模块进行加密处理来保护系统 中的核心技术,使攻击者无法了解加密部分的具体内容。 南京航空航天大学硕士学位论文 第三章a g e n t 技术研究 a g e n t 技术的诞生和发展是人工智能技术( a r t i f i c i a li n t e l l i g e n t ,简称a i ) 和网络 技术发展的必然结果。2 0 世纪6 0 年代,传统a i 技术开始致力于知识表达、推理和 机器学习等技术的研究,其主要成果是专家系统。这些研究成果使应用程序有了初步 的目标驱动性。a i 的另一分支是知识工程。它提供决策理论和方法,使应用程序具 有自主判断和选择的能力。所有这些技术的发展都加快了应用程序智能化的进程。 另一方面,随着网络技术的发展。多个应用程序间相互作用的模式正从单集成 式系统向分布式系统演化。分布对象技术使分布且异构的应用程序之间能以一种共同 的方式提供和获得服务,实现分布状态下的系统集成。 智能化和网络化的发展促成了a g e n t 技术的发展。a g e n t 为解决复杂、动态、分 布式的智能应用提供了一种新的手段。 3 1a g e n t 技术特性分析 3 1 1a g e n t 的基本理论 到目前为止,a g e n t 还没有一个统一明确的定义。在软件业界,研究人员通常把 能完成某种任务的、能在一定环境中自主发挥作用的、具有生命周期的计算实体称为 a g e n t | 2 7 1 。它具有自治性、反应性、主动性等基本特性。一些a g e n t 还拥有其它性质: ( 1 ) 移动能力:在主机站点之间移动。( 2 ) 学习能力:基于历史活动的执行情况( 经 验) 指导未来的行为。( 3 ) 推测能力:对那些未曾预料的变化作出适当的反应。等等。 a g e n t 系统可以分为单a g e n t 系统和多a g e n t 系统口j 。单a g e n t 系统中又可分为局 部a g e n t 和网络a g e n t ;多a g e n t 系统分为基于d a i ( d i s t r i b u t e da r t i f i c i a li n t e l l i 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 通信,同时也可以与用户和系统资源交互。 3 1 2a g e n t 技术特征 a g e n t 和对象( o b j e c t ) 具有不同的能力和表现方式,但a g e n t 可以看作是“对象 + 行为引擎”28 1 。从这种角度讲,a g e n t 是对象进化而来的,是一种特殊的对象。 1 5 基于a g e n t 的中间件技术研究 a g e n t 提供了比对象更高层次的抽象。它对实体之间的协商和协作行为提供更直接的 支持。a g e n t 与对象存在的一些主要差异如表1 所示。 表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 具有如下技术特性: 1 、动态响应变化 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 这种响应异常事件的 能力,使系统更加稳定高效。 3 、节省网络通信开销 由于a g e n t 只将最终结果传回给客户端( 如图3 1 所示) 1 3 8 】,避免了中间数据的 传输延迟,节省了操作时间和通信带宽。 南京航空航天大学硕士学位论文 c s 体系结构 基1 j 二 g e n t 的应用系统 图3 - 1c s 体系结构与a g e n t 计算模式的比较 4 、方便实现服务定制 a g e n t 可作为系统的用户服务定制器。通过对现有服务的再配置,充分利用现有 系统中的功能,满足用户的特定需求,简化软件的开发与安装。 5 、移植性 a g e n t 可以封装多种网络协议并允许安装新的协议。它有能力识别和使用它驻留 站点上的指定资源,能屏蔽系统异构。同时,a g e n t 不排除利用已经存在的各种应用 程序,包括利用已有的对象服务模型,可以用来解决新旧应用程序集成共存的问题。 6 、缓解服务器端的计算压力 移动a g e n t 可以从一个平台迁移到另一 力便于实现负载均衡,充分利用系统资源 3 1 3 实现a g e n t 的关键技术 个平台,而且无需安装就能运行。这一能 有效缓解服务器压力。 a g e n t 向用户提供灵活的服务和智能化的任务规划求解。为实现这一目标,构建 a g e m 时必须解决几个关键技术。 1 、a g e n t 的结构描述 通常我们把a g e n t 看作一个理性主体,通过b d i ( b e l i e f 、d e s i r e 、i n t e n t i o n ,信 念、愿望、意图) 属性来描述a g e n
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 规范采购业务管理办法
- 肃州区种子管理办法
- 财务公司客户管理办法
- 识别及应对管理办法
- 仓储用地规划管理办法
- 视频图像安全管理办法
- 中国重疾保险管理办法
- 《环境监测管理办法》
- 警用装具配备管理办法
- 能源标准化管理办法
- 《科学思维与科学方法论》第二章 科学抽象
- 应急管理专题讲座(二)
- 六年级上册英语课件-Unit1 The king's new clothes(第3课时) |译林版(三起) (共26张PPT)
- QES三体系内审检查表 含审核记录
- 思想道德与法治全册教案
- 公共政策分析陈庆云
- 人音版六年级上册音乐全册教案含教材分析
- 螺杆式冷水机组招标技术要求
- 高处作业吊篮安装验收表(范本模板)
- 主要负责人任职证明
- 沥青搅拌设备项目说明(参考模板)
评论
0/150
提交评论