(计算机科学与技术专业论文)实时corba研究及实时线程池模型的实现.pdf_第1页
(计算机科学与技术专业论文)实时corba研究及实时线程池模型的实现.pdf_第2页
(计算机科学与技术专业论文)实时corba研究及实时线程池模型的实现.pdf_第3页
(计算机科学与技术专业论文)实时corba研究及实时线程池模型的实现.pdf_第4页
(计算机科学与技术专业论文)实时corba研究及实时线程池模型的实现.pdf_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

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

文档简介

摘要 摘要 随着网络通信技术的发展,分布计算逐渐成为计算技术的主流。为了使用户 能够透明、有效地共享分布在网络上的信息资源和计算资源,分布计算中间件成 为实现分布计算的关键技术之一。 分布式应用规模的不断扩大,分布式系统中不可避免地包括了各种异构实体。 c o r b a 是o m g 组织制定的规范,用于解决系统的异构性问题。作为面向对蒙的中 间件,它采用o m gi d l 定义的标准接口,通过中间代理o r b 实现客户与服务器之 间的透明交互,从而实现不同软硬件产品之间真正意义上的互操作,具有跨平台、 跨语言、跨网络等特点。 在近几年,越来越多的实时应用运行在分布式系统中。然而,现有的c o r 队 没有考虑分布实时应用的需求,缺少对q o s 的支持,缺少实时编程的特征,缺少 性能上的优化,在结构上也有其先天的不足。这些局限性限制了c 0 r b a 在实时领 域的应用。为了能够实现基于c o r b a 的实时应用,o m g 组织发布了实时c o r b a 规 范。本文对实时c o r b a 进行了深入的研究。 首先,本文对软件开发模式的演变和分布式对象系统进行了介绍,对分布式 计算、对象模型和实时系统进行了研究,对实时系统应用进行了分析,提出了分 布式实时应用的特殊要求。 接着,研究对象管理体系结构( 0 m a ) ,c o r b a 体系结构,包括对象模型、对象 请求代理的体系结构、对象接口定义、客户端机制和服务端机制。在此基础上, 研究了o m g 的实时c o r b a 的体系结构、o r b 的资源控制( 包括处理器资源控制、存 储器资源控制和网络资源控制) 、同步和调试服务及q o s 框架。并展望了实时c o r b a 在实时领域的应用前景。 然后。在上述的研究基础上,对实时c o r b a 的线程池策略进行了研究,并给 出了实现实时c o r b a 线程池的两种模型半同步半异步模型和领导者跟随者 模型。分别对半同步半异步模型和领导者跟随者模型进行分析及对它们的性能 进行评价,并得出了结论。 最后,对q o s 驱动的c o r b a 进行了研究。介绍了c 0 r b a 为支持q o s 所做的相 应扩展,探讨了q o s 驱动c o r b a 的系统构架和体系结构及支持服务质量的程序的 交互过程。 第1 页 a b s t r a c t w i t ht h ed e v e l o p m e n t 。ft h en e t w o r k ,d i s t r i b u t e dc o m p u t i n gh a sb e c o m e t h em a i n s t r e a mo ft h ec o m p u t i n gt e c h n o l o g yu n d o u b t e d l y f o rt h es a k eo f i n f o r m a t i o na n dc o m p u t a t i o n a lr e s o u r c e ,w h i c h d i s t r i b u t i n go nt h en e t w o r k , c a nb es h a r e di n o r e t r a n s p a r e n t l ya n de f f e c t i v e l y , d i s t r i b u t e dc o m p u t i n g m i d d l e w a r eh a sb e c o m eo n eo ft h e k e y t e g h n i q u e s t h a t i m p l e 拥e n t e d d i s t r i b u t e dc o m p u t i n g t h ec o e x i s t e n c eo f h e t e r o g e n e o u s e n t i t i e si nt h e l a r g e s c a l e d i s t r i b u t e ds y s t e m sm a k e si tm o r ea n dm o r ed i f f i c u l tt od e v e l o pd i s t r i b u t e d a p p l i c a t i o n s c o r b ai sak i n do fs p e c i f i c a t i o n 嘲a d eb y0 掘o r g a n i z a t i o n i ti su s e dt os o l v et h eh e t e r o g e n e o u s p r o b l e m o f s y s t e m a sa n o b j e c t o r i e n t e dm i d d l e w a r e ,c o r b au s e ss t a n d a r di n t e r f a c ed e f i n e db y 雠 i d lt oc a r r yo u tt r a n s p a r e n ta l t e r n a t i o nb e t w e e nc l i e n ta n ds e r v e rt h r o u g h o r b , am i d d l e b r o k e r , w h i e h i m p l 锄e n t sa c t u a li n t e r o p e r a t i o na m o n g d i f f e r e n ts o f t w a r ea n dh a r d w a r e p r o d u c t s , w i t ht h ec h a r a c t e r so f a c r o s s p l a t f o r m ,a c r o s s l a n g u a g ea n da c r o s s n e t w o r k i nr e c e n ty e a r sm o r e a n dm o r er e a l 一t i m ea p p l i c a t i o n sr u no nd i s t r i b u t e ds y s t e m s h o w e v e r , n o d i s t r i b u t e dr e a l 一t i m ea p p l i c a t i o nr e q u i r e m e n ti sc o n s i d e r e di nt h ec u r r e n t c o r b a 工ti sd e v o i do fs u p p o r tt o ( 如s ,r e a 卜t i m ep r o g r a h 蕊i n gf e a t u r ea n d p e r f o r m a n c e o p t i m i z a t i o n , a n dh a st h e c d n g e n i t a ld e f i c i e n c y i n a r c h i t e c t u r e t h e s el i m i t a t i o n so fc o r b ar e s t r i c tt h ea p p l i c a t i o no fi t i nr e a l 一t i m ed o i a i n t h ed m gi s s u e sr e a l t i m ec o r b as p e c i f i c a t i o nf o r i m p l e m e n t i n gr e a l t i m ea p p l i c a t i o nb a s e do nc o r b a i nt h et h e s i s , s t u d y o nt h er e a l t i m ec o r b ai nt h er o u n d f i r s t l y , t h et h e s i si n t r o d u c e st h ee v 0 1 v e m e n to fs o f t w a r ed e v e l o p m e n t a n dd i s t r i b u t e do b j e c ts y s t e m i ts t u d i e so nd i s t r i b u t e dc o m p u t i n g ,o b j e c t m o d e la n dr e a l t i m es y s t e m i ta n a l y s e st h ea p p l i c a t i o n so fr e a l t i m e s y s t e m ,p u t s f o r w a r dt h e s p e c i a l d e m a n do fd i s t r i b u t e d r e a l t i e 第1 i 页 摘要 a p p l i c a t i o n s e c o n d l y ,t h et h e s i ss t u d i e so no b j e c tm a n a g e m e n ta r c h i t e c t u r e ( 0 m a ) a n dc o r b a sa r c h i t e c t u r e , i n c l u d i n go b j e c tm o d e l ,o 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 ,o b j e c ti n t e r f a c ed e f i n i t i o n ,c l i e n tm e c h a n i s ma n ds e r v e r m e c h a n i s m b a s e do nt h ea r c h i t e c t u r eo fc o r b a + t h et h e s i ss t u d i e so n0 m g s r e a l t i m ec o r b aa r c h i t e c t u r e ,o r b sr e s o u r c ec o n t r 0 1 ( i n c l u d i n gp r o c e s s o r r e s o u r c ec o n t r o l ,m e m o r i z e rr e s o u r c ec o n t r 0 1a n dn e t w o r kr e s o u r c e c o n t r 0 1 ) , s y n c h r o n i z a t i o n ,d e b u g g i n gs e r v i c ea n dq o ss k e l e t o n i td e s c r i b e st h e p r o s p e c to fr e a l 一t i m ec o r b aa p p l y i n gi nr e a l t i m ed o m a i n t h i r d l y , b a s e do nt h er e s e a r c hg i v e na b o v e ,t h et h e s i ss t u d i e s o n r e a l t i m ec o r b at h r e a dp o o l s t r a t e g y , a n dp u tf o r w a r dt w op a t t e r n sf o r i m d l e m e n t l e a d e r f o l e a d e r f o g t h r e a dp 0 0 1i nr e a l 一t i m e c o r b a ,h a l f s y n c h a l f a s y n ca n d o w e r s t h et h e s i s a n a l y s i sh a l f s y n c h a l f a s y n ca n d o w e r si ns e p a r a t e l y ,e y a l u a t e st h e i rp e r f o r m a n c e , a n dd r a w sa c o r r e s p o n d i n gc o n c l u s i o n f i n a l l y , t h et h e s i ss t u d i e so nm e c h a n i s mf o rq o s d r i v e nc o r b a i t i n t r o d u c e sc o r b a sr e l e v a n te x p a n s i o nt h a t s u r p o r t sq o sm e c h a n i s m i t d i s c u s s e st h ea r c h i t e c t u r eo fq o s d r i v e nc o r b aa n dt h ea l t e r n a n tp r o c e s s o fs u r p o r ti n gq o sp r o g ra i i i 关键词:实时c o r b a ,线程池,实时中间件,实时系统,q o s k e y w o r d s :r e a l 一t i m ec o r b a ,t h r e a dp 0 0 1 ,r e a l t i m em i d d l e w a r e ,r e a l 一t i m e s y s t e m s ,q o s 第1 i i 页 广东工业大学硕士学位论文 符号说明 o m g : o b j e c tm a n a g e m e n tg r o u p c o r b a :c o n l i i l o no b j e c tr e q u e s tb r o k e ra r c h i t e c t u r e 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 o r b : o b j e c tr e q u e s tb r o k e r c o m :c o m p o n e n to b j e c tm o d e l 0 m a : o b j e c tm a n a g e m e n ta r c h i t e c t u r e r t :r e a 】t i m e a p i : a p p l i c a t i o np r o g r a m m i n gi n t e r f a c e d o c :d i s t r i b u t e do b j e c tc o 叩u t i n g d c o m :d i s t r i b u t e dc o m p o n e n t0 b j e c tm o d e l r m i :r e m o t em e t h o di n v o c a ti o n r p c :r e m o t ep r o c e d u r ec a l l b o a :b a s i co b j e c ta d a p t e r i o p :i n t e r o r bp r o t o c o l g i o p :g e n e r a li n t e r 一0 r bp r o t o c o l i i o p :i n t e r n e ti n t e r o r bp r o t o c o l p o a :p o r t a b l e0 b j e c ta d a p t e r q o s :q u a l i t yo fs e r v i c e d d c f :d i s t r i b u t e dd o c u m e n tc o m p o n e n tf a c i li t y r f p : r e q u e s tf o rp r o p o s a l r t o s :r e a l t i m eo p e r a ti n gs y s t e m r t 1 0 p :r e a l t i m e i n t e r o r bp r o t o c 0 1 i o r :i n t e r o p e r a b l e0 b j e c t r e f e r e n c e c c i t t :i n t e r n a t i o n a lt e l e p h o n ea n dt e l e g r a p hc o n s u l t a t i v ec o 皿岫i t t e e s n m p :s i m d l en e t w o r km a n a g e m e n tp r o t o c 0 1 第v i i i 页 第l 章绪论 1 1研究背景 第1 章绪论 随着计算机技术的飞速发展,各种各样的应用软件需要在各种平台之间进行 移植,或者一个平台需要支持多种应用软件和管理多种应用系统,软、硬件平台 和应用系统之间需要可靠和高效的数据传递或转换,使系统的协同性得以保证。 这些,都需要一种构筑于软、硬件平台之上,同时对更上层的应用软件提供支持 的软件系统,而中间件( m i d d l e w a r e ) 正是在这个环境下应运而生。 由于中间件技术正处于发展过程之中,为了避免混淆,国外学术界开始明确 地给出了它的定义:中间件是一种独立的系统软件或服务程序,分布式应用软件 可以借助这种软件实现跨网络的协同工作( 即互操作) ,这时允许各分布式应用 软件所涉及的系统结构、操作系统、通信协议、数据库和其它应用服务各不相同, 从而实现在不同的技术之间共享资源。中间件位于客户机服务器的操作系统之上, 管理计算资源和网络通信。“”可用如图卜l 来表示此定义。 图卜l 中间件定义示意图 中间件在硬件平台、操作系统和网络之上,应用软件的下层,总的作用是为 处于自己上层的应用软件提供运行与开发的环境,帮助用户灵活、高效地开发和 集成复杂的应用软件。中间件是位于平台( 硬件和操作系统) 和应用之间的通用 服务,如图卜1 所示,这些服务具有标准的程序接口和协议。针对不同的操作系 统和硬件平台,它们可以有符合接口和协议规范的多种实现。 第l 页 厂东 业大掌硕士学位论文 中间件的主要功能包括:1 负责客户机和服务器间的联接和通讯:提供客户 机与应用层的高效率通讯机制:提供应用层不同服务之问的互操作机制;提供应 用层与数据库之问的联接和控制机制。2 提供一个三层结构应用开发和运行的平 台;提供一个应用开发框架,支持模块化的应用开发:屏蔽硬件、操作系统、网 络和数据库;提供交易管理机制,保证交易的一致性:提供应用的负载均衡和高 可用性;提供应用的安全机制;提供应用的管理功能。 中间件具有以下的一些特点:满足大量应用的需要;运行于多种硬件和o s 平台;支持分布式运算;提供跨网络、硬件和0 s 平台的透明性的应用或服务的交 互功能;支持标准的协议;支持标准的接口。也正因为它的这些特点,中间件给 企业带来的好处也就显而易见。首先,中间件产品对各种硬件平台、操作系统、 网络数据库产品以及c l i e n t 端实现了兼容和开放。其次,中间件保持了平台的透 明性,使开发者不必考虑操作系统的问题。第三,中问件实现了对交易的一致性 和完整性的保护,提高了系统的可靠性。第四,中间件产品可以缩短开发周期 5 0 7 5 ,从而大大地降低了开发成本,提高了工作效率。 在i n t e r n e t i n t r a n e t 迅速发展和目益普及的网络计算时代,将对象模型引 入到分布式计算系统之中而形成的分布对象计算技术得以长足发展。嘣g ( o b j e c t m a n a g e m e n tg r o u p ) 所提出和定义的c o r b a ( c o 衄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 ,公共对象请求代理体系结构) 是分布对象计算技术的典型代表和 主流技术。”1 最近几年,在计算机软件领域,分布式处理技术与面向对象技术的融合成为 引人瞩目的潮流。c o r b a 在开发大型分布式软件的过程中起着越来越重要的作用。 使用c o r b a ,应用程序之间能相互通讯,而不管它们的位置、编程语言及操作系 统。c o r b a 规范定义了i d l 语言及映射、单个0 r b 体系结构、o r b 间互操作机制和 c o m c 0 r b a 互操作。在c 0 r b a 环境中,应用程序的集成是基于面向模型的。该模 型提供分析、设计和实现技术来构造可扩展的,可重用的软件,而且其开发成本 和维护成本比面向功能的软件要低。 c o r b a 有着良好的开放性和扩展性。近年来,c 0 r b a 又将其他中间件的特色吸 收到所定义的服务之中,同时它也注重不断融合最新出现的技术,如j a v a ,u 】l l , x m l ,组件技术和移动代理( m o b i l ea g e n t ) 等。 随着应用需求的进一步发展,c 0 r 队技术的研究和发展进入了新的领域。其 第2 页 第l 革绪论 中重要的一个方面就是c o r b a 在分布实时领域的应用。c o r b a 在非实时分布计算 系统的应用已证明采用对象计算技术能大大简化分布系统的复杂度与集成工作 量。然而现有符合c o r b a 规范的软件在设计时均没有考虑分布实时应用的相关需 求,这正是分布实时对象计算技术研究迫切需要解决的重点。 作为分布对象计算主流技术的现有c o r b a 规范在制订时没有考虑实时需求, 缺乏应用的实时特性,如可预测性、确定性、低延迟、服务质量等。所以定义q o s 编程接口,提供q o s 保障机制,合理划分系统层次,尽量避免信息的重复拷贝与 转换,研究高效的o r b 请求解析算法,定义各层的公用缓冲区并进行集中管理, 优化内存管理机制,统一各层消息缓存策略,减少0 r b 间虚拟方法调用所需环节 等,是现有c o r b a 实时性能优化技术的研究重点,也是基于c o r b a 的分布实时对 象计算关键技术的核心内容。图卜2 为实时c 0 r b a 的0 r b 终端系统的特征图“l 。 图1 _ 2 实时c o r b a 的o r b 终端系统特征示意图 在大型分布式异构软件系统的领域( 如电信和金融系统) 中,c o r b a 正在得 到越来越广泛的重视和应用。尤其在通信软件领域,无论是电信管理网还是智能 网,有关c o r b a 技术的研究和工程开发呈现出蓬勃发展的趋势。c o r b a 正以其年 第3 页 广东_ t 业大学硕上学位论文 轻的活力影响着2 1 世纪的软件技术格局。 1 2 国内外研究的发展和现状分析 最早具有中间件技术思想及功能的软件是i b m 的c i c s ,但由于c i c s 不是分 布式环境的产物,因此人们一般把t u x e d o 作为第一个严格意义上的中间件产品。 t u x e d o 是1 9 8 4 年在当时属于a t t 的贝尔实验室开发完成的,但由于分布式处理 当时并没有在商业应用上获得像今天一样的成功,t u x e d o 在很长一段时期里只是 实验室产品,后来被n 0 v e l l 收购,在经过n o v e l l 并不成功的商业推广之后,1 9 9 5 年被现在的b e a 公司收购。 尽管中间件的概念很早就已经产生,但中间件技术的广泛运用却是在最近1 0 年。b e a 公司1 9 9 5 年成立后收购t u x e d o 才成为一个真正的中间件厂商。i b m 的中 间件m q s e r i e s 也是9 0 年代的产品,其它许多中间件产品也都是最近几年才成熟 起来。国内在中间件领域的起步阶段正是整个世界范围内中间件的初创时期。东 方通科技早在1 9 9 2 年就开始中间件的研究与开发,1 9 9 3 年推出第一个产品 t o n g l i n k q 。东南大学的王芸博士和她的c i m s 开发小组已经在1 9 9 9 年开发出国 内第一个o r b 产品o r b u sl _ o ,该0 r b 产品遵从c o r b a 2 0 规范,同时支持c + + 和 j a v a 的c o r b a 应用开发。可以说,在中间件领域国内的起步时间并不比国外晚多 少。 随着对象技术与分布式计算技术的发展,两者相互结合形成了分布对象计算, 并发展为当今软件技术的主流方向。1 9 9 0 年底,对象管理集团o m g 首次推出对象 管理结构o 淞( o b j e c tm a n a g e m e n ta r c h i t e c t u r e ) ,对象请求代理( o b j e c tr e q u e s t b r o k e r ) 是这个模型的核心组件。它的作用在于提供一个通信框架,透明地在异 构的分布计算环境中传递对象请求,c o r b a 规范包括了o r b 的所有标准接口。1 9 9 1 年推出的c o r b a1 1 定义了接口描述语言o m gi d l 和支持c l i e n t s e r v e r 对象在 具体的0 r b 上进行互操作的a p i 。 对象请求代理( o r b ) 是对象总线,它在c o r b a 规范中处于核心地位,定义异构 环境下对象透明地发送请求和接收响应的基本机制,是建立对象之间 c l i e n t s e r v e r 关系的中间件。0 r b 使得对象可以透明地向其他对象发出请求或接 受其他对象的响应,这些对象可以位于本地也可以位于远程机器。o r b 拦截请求 第4 页 第l 革绪论 调用,并负责找到可以实现请求的对象、传送参数、调用相应的方法、返回结果 等。c l i e n t 对象并不知道同s e r v e r 对象通讯、激活或存储s e r v e r 对象的机制, 也不必知道s e r v e r 对象位于何处、它是用何种语言实现的、使用什么操作系统或 其他不属于对象接口的系统成分。 值得指出的是c l i e n t 和s e r y e r 角色只是用来协调对象之间的相互作用,根 据相应的场合,o r b 上的对象可以是c l i e n t ,也可以是s e r v e r ,甚至兼有两者。 当对象发出一个请求时,它是处于c l i e n t 角色;当它在接收请求时,它就处于 s e r v e r 角色。大部分的对象都是既扮演c l i e n t 角色又扮演s e r v e r 角色。另外由 于o r b 负责对象请求的传送和s e r v e r 的管理,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 结构相比,0 r b 可以支持更加 复杂的结构。 c 0 r b a 规范自诞生以来,由于其目的正是制定标准以实现在不同的网络和计 算机环境下独立开发的应用软件的互用性,保证组件部件的重用性、可移植性和 互操作性,基于已商业化了的对象技术,使分散的应用软件的集成成为可能,因 此,得到了众多厂商和机构的支持,包括:i b m 、h p 、s u l 4 、d e c 、a p p l e 、0 r a c l e 、 s y b a s e 和麻省理工学院、华盛顿大学等大公司、大学和科研部门。c o r b a 为解决 企业集成提供了规范。 在分布式应用中,分布实时系统是类重要的应用系统。这类应用要求系统 及时响应外部事件,在规定的时限内完成分布数据处理,并实时地激励相关执行 机构。典型的分布实时系统有航空电子综合系统、同步式多媒体网络应用系统、 分布交互仿真系统以及复杂工业过程控制系统等。现有的各种分布系统多属于专 用性较强的嵌入式异构分布系统,多采用r p c m p 常规网络编程方法和面向过程的 系统模型开发分布实时应用软件。随着应用需求的增长,既需要将不同的实时子 系统集成为个统一的系统,也存在实时系统与非实时系统的集成需求。因此, 复杂性和集成化已成为分布实时系统的主要矛盾。将面向对象技术引入分布实时 系统的构造、设计和实现之中,构建分布实时对象计算,可简化其复杂性,并大 大方便系统集成。 o m g 组织积极促进c o r b a 规范的发展,每当颁布新的规范时,开发商都会开 发出相应的软件。1 9 9 6 年,o 成立了s i g ( s p e c i a li n t e r e s tg r o u p s ) ,为c o r b a 规范在分布实时应用中提供支持。1 9 9 8 年,0 m g 在c o r b a2 4 中推出了r tc o r 队 第5 页 广东工业大学硕士学位论文 1 0 ,对于固定优先级的c o r b a 应用程序支持端到端的可预测性,随后增加动态调 度特性,使c o r b a 规范在结构上得到扩展,性能上彳导到优化。1 9 9 9 年q 媳颁布的 c o r b a3 o 规范推出了r tc o r b a2 o ,增加了线程池、任务优先级及其映射等新 特性,明确了四个必须满足端到端可预测性的部分,即实时操作系统的调度机制、 实时o r b 、通信传输和服务应用”1 ,为有效的资源管理、有力的关键任务支持铺 平了道路。 1 3 本文的主要工作及组织结构 本文研究分布式对象计算技术中间件标准c o r b a 和实时c o r b a 规范,分析它 们的优缺点;研究实时c o r b a 的线程池策略,提出了实现实时c 0 r b a 线程池的两 种模型半同步半异步模型和颁导者跟随者模型,并对它们进行了性能比较, 进一步得出结论。对q o s 驱动的c o r b a 进行了研究。其中,探讨了c o r b a 为支持 q o s 所做的相应扩展,论述了q o s 驱动c 0 r b a 的系统构架和体系结构及支持服务 质量的程序的交互过程。 本文余下的章节是这样组织的: 第2 章主要对分布式对象计算技术和实时系统的相关理论进行了介绍和分 析。首先对软件开发模式的演变进行了介绍,然后介绍分布式对象系统、分布式 计算、对象模型和实时系统,并对它们进行了分析。 第3 章主要对c o r b a 的基本概念及其体系结构进行了介绍和研究。首先对 c o r b a 进行了简要的介绍,然后介绍了c o r b a 的发展与演化、o m a 及c o r 队基本概 念,最后对公共对象请求代理体系结构进行了重点论述。 第4 章主要对实时c o r b a 的基本概念及其体系结构进行了介绍和研究。首先 对实时c o r b a 规范进行简要的介绍,然后介绍实时c 0 r b a 的基本概念、体系结构, 0 r b 的资源控制,同步和调度服务,q o s 框架,最后对实时c o l b a 的发展和展望进 行了论述。其中详细介绍了实时c o r b a 的体系结构。 第5 章主要对实时c 0 r b a 的线程池策略进行了研究,并给出了实现实时c o r b a 线程池的两种模型半同步半异步模型和领导者跟随者模型。首先对线程和 线程池的基本概念进行分析和介绍,然后分别对半同步半异步模型和领导者跟 随者模型进行分析及对它们的性能进行评价,并得出了结论。 第6 页 第l 覃绪论 第6 章主要对q 。s 驱动的c 0 r 队进行了研究。首先给出了q o s 的定义,分析 了具有支持q o s 保证机制的c o r b a 系统需要解决问题:接着给出基于实时c o r b a 的多维q o s 结构,介绍了使用q o s 驱动的c o r b a 系统的好处及要求;最后探讨了 q o s 驱动的c o r b a 的研究。 第7 页 广东工业大学硕士学位论文 第2 章分布式对象计算和实时系统 2 1 软件开发模式的演变 2 1 1 单机模式 软件开发的起始时期是大型机的时代,随之而来韵是层次数据库系统和砸终 端。通常情况下,大型机的维护成本非常高,但是能够支持大量的用户,并且有 方便集中管理的优点。为大型机开发的软件系统般都是单层的就是说,用 户接口、商业逻辑和数据访问功能都被包含在一个大应用程序之中。因为用于访 润大型机的哑终端没有自身处理能力,整个应用程序都在大型机上运行,因此采 用单层应用程序是合理的。 2 。1 。2 两层客户机朋叵务器结构 相对于单层应用程序要求大型机执行全部的处理,基于客户机服务器 ( c l i e n t s e r v e r ) 结构的应用程序允许一些处理任务分担到位于用户桌面的p c 机上执行。 客户机 服务器 ( 通常是一台桌面p c ) ( 典型情况是u h i x 服务器) 图2 1 二层客户机服务器体系结构 随着客户机服务器开发模式而来的是基于u n i x 系统的服务器。许多应用程 序不需要大型机的强大处理能力,又因为客户机服务器结构能够把很多处理任务 转移到桌面p e 机上,所以这些基于u n i x 系统的小型服务器就比大型机节省不少 成本。同时,相对于大型面来说,这些小型机器对于小公司是完全负担得起的。 第8 页 第2 覃分布式对象计算和实时系统 另外一个好处是各个公司、组织、团体内部的部门可以购买,配置,管理他们自 己的服务器系统。这样的直接结果就是这些部| j 在开发他们自己的应用程序的时 候可以更好地满足他们自身的特定需求。最后一点,终端被限制只能运行位于大 型机上的应用程序,然而p c 机可以执行很多其他的和大型机无关的任务,更进一 步增强了它做为桌面机的用处。 典型的客户机服务器应用程序对应用程序的各个部分分别处理,以便于数据 库驻留在服务器( u n i x 主机或者大型机) ,用户接口位于客户端,商业逻辑位于 二者之一或者二者都有。当对客户端程序进行修改后,新的客户端应用程序( 通 常为一个或一系列可执行程序) 不得不重新部署到每个用户端。典型的二层客户 机朋艮务器结构如图2 1 所示。软件系统被划分为客户端组件和服务器端组件两部 分。客户端组件实现应用程序与终端用户进行交互的表示逻辑( r e p r e s e n t a t i o n l o g i c ) ,并且包含应用程序的大部分业务逻辑( b u s i n e s sl o g i c ) ;典型的表示逻 辑通常采用图形用户界面方式,业务逻辑负责执行实际应用问题的特定业务流程。 服务端组件主要由关系数据库组成,并可能包含以存储过程表达的部分简单业务 逻辑。客户端组件与服务端组件之间的通信可采用数据库中间件o d b c 或其它专用 接口。 2 1 3 三层客户机服务器结构 在两层客户机朋务器结构中,由于客户程序直接访问数据库,因而每一台客 户机都必须安装数据库驱动程序,增加了安装与维护的工作量。由于数据库由众 多客户程序直接访问,造成系统数据的完整性与安全性难以维护。更突出的问题 是两层结构的可扩展性较差,由于客户端组件含有数据库访问功能,对软件系统 的业务逻辑、数据库访问,甚至数据库本身的任何修改常常导致要求在所有客户 机上重新部署客户端组件。 两层客户机服务器所具有的问题导致了多层客户机服务器结构的提出。从 理论上讲,一个应用程序可以有任意层,但实际应用中最常见的还只是三层结构, 它把软件系统划分为三个逻辑层次:表示层、业务逻辑层和数据层”1 ,如图2 2 所示。 三层客户机服务器体系结构与两层结构的最大区别是将业务逻辑层抽象为 一个独立的中间层,客户端的表示层与服务端的关系数据库之间被中间的业务逻 第9 页 辑层分隔,表示层组件只能通过业务逻辑层组件间接地访问关系数据库。 这种软件体系结构至少带来几大好处。首先,由于客户端组件更大程度地从 系统中分离出来,系统其余部分的变化( 例如,数据库表结构或数据访问规则的 变动) 对客户端的影响进一步减少,从而提高了整个系统的可扩展性。 客户机应用服务器数据库服务器 ( 表示层)( 业务逻辑层( 数据层) t 衡令苻界避i 务逻辐 j 硅。j 糍箍过鹈誊 g ;i | | l m 曩嚣”-品 p l e 爨鹾i 巨黉i :漱瓣雕i ;i _ _ ;_ l 。篁墨堡生_ _ _ _ _ _ 兰o j + 潮藐器界面j 图2 2 三层客户机服务器体系结 其次,中间层可以运行在不同于客户机或数据库服务器的其他机器上,通过 合理的任务划分与物理部署可使整个系统的工作负载更趋均衡,从而提高应用程 序的运行效率。运行业务逻辑层的机器又称应用服务器,利用应用服务器的集群 机制( c l u s t e r i n g ) 还可进一步提高系统的可伸缩性与可靠性。 此外,从客户端组件的角度看,业务逻辑中间层相当于将一个企业的所有业 务流程抽象为一组更高层次的应用编程接口( a p i ) ,客户端组件完全通过这些接 口构建整个企业的应用系统,并且客户端的用户界面方式也可呈现出多样性。与 两层结构相比,三层结构或多层结构能更好地支持对企业业务流程的集中控制与 管理。 2 1 4 分布式对象系统 当前流行的分布式对象计算( d o c ,d i s t r i b u t e d0 b j e c tc o m p u t i n g ) 技术是 指以面向对象技术为主要特征的分布式计算技术。分布式对象技术采用面向对象 的多层客户服务器计算模型,该模型将分布在网络上的全部资源都按照对象的概 念来组织,每个对象都有定义清晰的访问接口。创建和维护分布式对象实体的应 用程序称为服务器,按照接口定义访问该对象的应用程序称为客户。服务器中的 分布式对象不仅能够被访问,而且自身也可能作为其它对象的客户。在分布式对 第1 0 页 第2 苹分布式射象计算和实时系统 象技术中,客户与服务器的角色划分是相对的或多层次的。分布式对象计算技术 追求的最终目标是软件组件的无缝连接和即插即用,其核心是要解决对象跨平台 的连接和交互问题。3 在网络计算平台上,部署、管理和维护以资源共享和协同工作为主要应用目 标的分布式对象系统采用此技术。在这种软件体系结构中,应用程序的所有功能 都表达为由众多分布式对象提供的各种服务,每一对象也可利用系统中的其他对 象( 甚至是来自其他系统的对象) 提供的服务。一个对象既可以担任服务方角色, 也可以同时担当客户方角色,客户程序与服务程序之间的界限更加淡化。 与客户机服务器体系结构相比,分布式对象系统具有更高的灵活性。系统中 的分布式对象通过接口向其他对象表明它所能提供的信息或服务,其他对象根据 接口了解这些分布式对象的用法。对象接口是分布式对象系统的核心内容,它代 表了软件系统中不同组件之间必须共同遵守的合约。只要对象接口的语法与语义 保持不变,对象实现的变化( 例如采用不同的数据结构与算法、由关系数据库改 为对象数据库、甚至改用不同的程序设计语言等) 不会对使用该对象的其他对象 产生任何影响。“1 虽然分布式对象系统本质上是一种多层客户机服务器体系结构,但其中的客 户程序与服务程序的数目可能非常庞大,因而分布式对象系统通常需要一种功能 强大的对象定位机制,以帮助应用程序中的不同对象相互以位置透明的方式查找 并访问对方。0 m g 组织的对象请求代理o r b 机制堪称分布式对象通信基础设施中 的佼佼者,它也因其强大的可互操作性而被形象地称为软件总线( s o f t w a r eb u s ) 。 分布式对象技术通常为应用程序中的大量分布式对象提供诸如并发控制、事 务处理、持久性、安全性等服务,以帮助开发人员构建具有高度可伸缩性和安全 性的分布式应用系统。 2 2 分布式计算 在今天的企业界,用户比以往任何时候都需要在整个企业内共享信息。共享 信息对不同的企业有不同的原因,就如同他们为什么使用计算机一样。共享的信 息来自不同的地方。目前,有数以千计的独立的应用程序位于数十种计算机软硬 件配置上,而这些软硬件很少是为共享信息或与同一平台上的其他应用程序通信 第l l 页 广东_ t 业大学硕士学位论文 而设计的,更不用说与那些不同平台上的应用程序通信了。即便某个应用程序的 确可与其他应用程序共享信息,它一般也是与指定的少量应用程序通信。 把这些应用程序和系统集成起来不是件容易的事情,不同制造商的计算机使 用的数据格式通常是不一样的( 1 6 位、3 2 位或6 4 位) 。另外,字节能顺痔在不同 的系统间也是不一样的,要在不同的计算机系统之间共享数据则需要特殊的的方 案。这个解决方案可能是既花时间又费金钱,因为有许多不同的应用程序要连接。 而且,如果半年后又有另一个应用程序或平台要加入这个定制的环境,那么集成 这个应用程序或平台可能需要更多的金钱和时间。1 简单地说,分布式计算是两个或多个软件互相共享信息。这些软件既可以在 同一台机器上运行,也可以在通过网络连起来的凡台不同机器上运行。绝大多数 的分布式计算是基于客户机服务器模型的。在客户机服务器模型内,有两类主 要的软件:客户机软件,它提出信息或服务的请求;服务器软件,则提供这种信 息或服务。 分布式计算的主要的优点是通过使用如下技术使计算资源的使用更有效:“” 稀有资源的共享。例如如果只有一台高性能打印机或绘图仪,分布式计 算使网络上的每个人都能使用它们,而不仅仅是那些在连接着打印机或 绘图仪的机器上有帐号的用户。 在许多不同机器上平衡计算负载。 把应用程序放在最符合需要的机器上。 2 3 对象模型 对象模型“是面向对象计算中的概念。一般地说对象模型是考虑问题及其 可能解决方案的概念性框架。对象模型的

温馨提示

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

评论

0/150

提交评论