已阅读5页,还剩74页未读, 继续免费阅读
(通信与信息系统专业论文)ngn业务环境中的corba技术应用及性能分析.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
南京邮电学院硕士学位论文 摘要 摘要 在下一代网络中,为了实现业务提供的位置透明性,业务平台应采用分布对 象计算技术,利用中间件访问所需的业务服务器对象,这样业务逻辑可以分布在 网络中最合适的地方。由于c o r b a 标准化程度高,技术比较成熟,因此,下一 代网络首选c 0 r b a 作为业务平台的分布式处理环境。而要在下一代网络中支持 通信类增值业务就要求c o r b a 通信具有良好的实时性能,这是关系到业务建立 能否成功的一个关键问题。 论文总结了笔者参与国家自然科学基金项目和华为基金项目的研究心得,参 照o m g 、p a r l a y 等组织制定的标准规范和建议草案,围绕下一代网络中c o r b a 分布计算环境的应用开发及其性能问题进行深入的研究和探讨。 论文首先概述下一代网络特征、分布计算技术、c 0 r b a 的发展及其体系结 构,指明c o r b a 在实时应用领域的不足;接着在实时c o r b a 规范研究的基础 上讨论了其中的资源管理策略,并对其实现产品进行比较,重点介绍了其典型实 现t a o 的组成并对其性能进行分析:在c o r b a 应用中,除了采取实时c o r b a 技术,还存在一些通用的性能改进措施,论文对这部分进行了详细的探讨和总结; 然后论文讨论了n g n 中采用的中间件技术和业务创建技术,并采用实时c o r b a 技术,基于t a o 的c o r d a 中间件平台,设计了p a r l a y o s a 的a i c s 示例业务; 论文最后提出了用n s - 2 仿真工具研究c o r b a 对p a r l a y o s a 业务提供性能影响 的方法。 南京邮电学 巍硕士学位论文 a b s t r a c t n e x tg e n e r a t i o nn e t w o r k 倒o n ) s e r v i c ep l a t f o r ma d o p t so b j e c t - o r i e n t e d d i s t r i b u t e dc o m p u t i n gt e c h n o l o g i e st ot r a n s p a r e n t l yp r o v i d es e r v i c e s i tu s e st h e m i d d l e w a r et oc a l lt h en e e d e do b j e c ti nt h es e r v e r , s ot h es e r v i c el o g i cm a y b el o c a t e d i nt h em o s ta p p r o p r i a t es i t ew i t h i nt h en e t w o r k a sas t a n d a r da n dm a t u r e dd i s t r i b u t e d c o m p u t i n gp a r a d i g m ,c o r b am e e t st h es e r v i c ep r o v i s i o n i n gr e q u i r e m e n t so fn g n s e r v i c ep l a t f o r m m e a n w h i l e ,c o r b am u s te n s u r eq u a l i t yo fs e r v i c es u p p o r tf o r v a l u e a d d e ds e r v i c ei nn g n ,w h i c hi st h ek e yf o rt h es e r v i c et ob es u c c e s s f u l l y e s t a b l i s h e d , b a s e do nt h er e s e a r c ha c h i e v e m e n t sa n de x p e r i e n c e sg a i n e di nb o t hn a t i o n a l n a t u r a ls c i e n c ef o u n d a t i o np r o j e c ta n dh u a w e is c i e n c ef o u n d a t i o np r o j e c t ,a n dw i t h r e f e r e n c et ot h es p e c i f i c a t i o n sa n dd r a f t so m ga n dp a r l a yo r g a n i z a t i o n se s t a b l i s h e d , t h i sp a p e rg i v e sa ni n d e p t hs t u d yo na n dd e t a i l e da n a l y s i so ft h ed e v e l o p m e n ta n d p e r f o r m a n c eo f c o r b aa p p l i e dt on g n f i r s to fa l l ,t h i sp a p e rg i v e sa r to v e r v i e wo fn g na n dd i s t r i b u t e dc o m p u t i n g t e c h n o l o g i e s b a s e do nt h es t u d yo fc o r b aa r c h i t e c t u r e ,t h ep a p e rp o i n t so u tt h e d e f i c i e n c i e so fc o r b aa p p l i e dt ot h er e a l t i m ea p p l i c a t i o nf i e l d t or e s o l v et h e s e d e f i c i e n c i e st h ep a p e rs t u d i e so m gr e c e n t l yp r o p o s e dr e a l - t i m ec o r b a ,w i t h e m p h a s i so ni t sr e s o u r c e sm a n a g e m e n ts t r a t e g i e s ac o m p a r i s o no fs e v e r a lr e a l t i m e c o r b ai m p l e m e n t a t i o n si ss h o w na n dt h ec o m p o s i t i o na n dp e r f o r m a n c ea n a l y s i so f t a g ,ar e p r e s e n t i v ei m p l e m e n t a t i o no f r e a l - t i m ec o r b a ,i si n t r o d u c e d f u r t h e r m o r e p r a c t i c a lm e a n st oi m p r o v ec o r b ap e r f o r m a n c ea r e d i s c u s s e da n ds u m m a r i z e d t h e nt h ep a p e rg i v e sa l li n d e p t hi n v e s t i g a t i o ni n t om i d d l e w a r ea n ds e r v i c ec r e a t i o n t e c h n o l o g i e si nn g n i n t e g r a t i n gt h ea b o v es t u d yr e s u l t s ,t h ea u t h o rd e s i g n sa n d d e v e l o p sp a r l a y o s ad e f i n e da i c so nt o po ft a op l a t f o r m f i n a l l yt h ep a p e r p r e s e n t s t h ew a yo fr e s e a r c hi n t ot h ep e r f o r m a n c ei n f l u e n c eo fc o r b ao n p a r l a y o s as e r v i c ep r o v i s i o n i n gu s i n gn s - 2n e t w o r ks i m u l a t i o nt 0 0 1 i i 南京邮电学院学位论文独创性声明 y 7 6 5 2 5 0 本人声明所呈交的学位论文是我个人在导师指导下进行的研究 工作及取得的研究成果。尽我所知,除了文中特别加以标注和致谢的 地方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包 含为获得南京邮电学院或其它教育机构的学位或证书而使用过的材 料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了 明确的说明并表示了谢意。 研究生签名:攫丝日期:丝:丝墨 南京邮电学院学位论文使用授权声明 南京邮电学院、中国科学技术信息研究所、国家图书馆有权保留 本人所送交学位论文的复印件和电子文档,可以采用影印、缩印或其 他复制手段保存论文。本人电子文档的内容和纸质论文的内容相一 致。除在保密期内的保密论文外,允许论文被查阅和借阅,可以公布 ( 包括刊登) 论文的全部或部分内容。论文的公布( 包括刊登) 授权 南京邮电学院研究生部办理。 研究生签名:粗导师签名: 南京邮电学院硕士学位论文第一章引言 1 1 下一代网络概述 第一章引言 下一代网络( n g n ) 【l 】的目标是:在传输层、业务层和应用层处于相互分离 的前提下实现网络的互通,从而使其在全球范围内跨网络支持各种业务。n g n 的业务体系具有如下特征: ( 1 ) 分布式控制。适应l p 网络分布处理的结构特点,摆脱依赖于n o 7 信令 的传统结构,支持分布计算的位置透明性。 ( 2 ) 开放式控制。适应开放网络控制接口,支持第三方控制的业务创建、业 务更新和业务逻辑。 ( 3 ) 业务提供和网络运营分离。基于上述分布式控制和开放式控制机制,推 出独立于网络运营商的业务提供商,促使n g n 业务竞争格局的形成,以利于丰 富多样的增值业务的快速提供。 ( 4 ) 支持网络业务的融合。需要具有灵活而方便地生成话音数据融合业务的 能力,以充分体现n g n 的技术潜力和市场价值。 ( 5 ) 完善的安全保护。这是开放式体系的基本要求,在开放网络控制接口的 同时,必须确保业务提供者的可信任性,保证网络基础设施的安全运行。 n g n 垂直划分为业务层和传输层。业务层包括各种会话型和非会话型业务, 如语音、数据、视频等多媒体业务;传输层用于通信实体间的信息传输,实现对 n g n 业务的支持。业务层和传输层水平划分为用户平面、控制平面和管理平面。 1 2 分布计算技术 随着计算机网络技术的日益普及和深入,如何充分利用网络资源来实现信息 和应用的共享和集成成为一个重要课题。分布式系统及其分布计算技术就是这样 应运而生的。分布式系统是由多个相互连接的处理资源组成的计算系统,它们在 整个系统的控制下可合作执行同一个任务,最少程度依赖于集中的程序、数据和 硬件。这些资源可以是物理上相邻的,也可以是地理上分散的。在分布式系统中, 用户不必区分本地操作和远程操作,系统可以将处理机动态地分配给最需要的地 南京邮电学院硕士学位论文第一章弓i 言 方,可以根据工作站负载多少等因素进行均衡程序的运行。 分布计算技术就是指在网络计算平台上,部署、管理和维护以资源共享和协 同工作为主要应用目标的分布式应用系统。第一代分布计算技术给出了一些面向 过程的解决方案,如远端进程调用( r p c ) 和网络a p i 等等,也称为两层客户 服务器模式( t w o t i e rc l i e n t s e r v e r ) ,客户机和服务器耦合太紧,之间采用私有协 议通信,服务器的改变将影响到客户方。因此,编程人员必须解决客户机和服务 器端进程调用及实现的诸多细节问题,如异种机间的通信以及数据存储格式的转 换等等,用户往往还必须自行决定如何在网络环境下定位和激活正确的服务器, 有时甚至需要直接操作客户机和服务器的缓冲区,这给分布式应用的设计、实现、 迁移、扩展、进化和维护都带来了极大的困难,这成为制约第一代分布计算发展 的主要障碍。面向对象技术所提供的对象封装、外部接口与内部实现的分离、多 态及动态绑定等概念为解决上述困难提供了核心思想并由此引发了分布式对象 技术的热潮。以面向对象为基本特征的第二代分布计算技术即分布式对象技术以 解决分布异构环境下的应用互操作为目标,体系结构采用面向对象的多层客户机 服务器模型( m u l t i t i e rc l i e n t s e r v e r ) 。该模型将分布在网络上的全部资源( 无论 是系统层还是应用层) 都按照对象的概念来组织,每个对象都有定义清晰的访问 接口。仓q 建和维护分布式对象实体的应用程序称为服务器,按照接口定义访问该 对象的应用称为客户。服务器中的分布式对象不仅能够被访问,而且自身也可能 作为其他对象的客户。因此在分布式对象技术中,客户与服务器的角色划分是相 对的或多层次的。另外,客户和服务器不直接通信,而是通过代理的方式进行, 在c o r b a ( c o m m 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 ) 中这种代理就是o r b ( o b j e c tr e q u e s tb r o k e r ,对象请求代理) ,从这个意义上讲,c o r b a 是一种中 间件( m i d d l e w a r e ) 技术。 分布式对象技术的核心概念和实现技术经1 0 年多的蓬勃发展,已日臻成熟 并开始大规模进入各种应用领域。目前形成了三项具有代表性的主流技术,即 o m g ( 对象管理组织) 的c o r b a 、m i c r o s o 矗的c o m d c o m ( d i s t r i b u t e d c o m p o n e n to b j e c tm o d e l ) 和s u n 的j a v a r m i 。 c o m d c o m l 2 1 是由o l e 技术发展而来,m i c r o s o f t 的o l e 技术于1 9 9 0 年开 始应用,最初是为了提供w i n d o w s 应用程序之间的“剪切与粘贴”功能,随后 2 南京邮电学院硕士学位论文第一章弓i 言 扩展为o l e 2 0 ,可以将一种文档( 例如e x c e l 电子表格) 插入到另一种文档( 例 如w o r d 文档) 中,为应用程序之间提供了广泛的交互功能。为了实现这一功能, o l e 2 0 包含了一个简单的、用于同一台机器上应用程序之间的通信。在o l e 升 级为o l e 2 0 后,o l e 2 0 中新的通信模型被命名为c o m ,它成为创建组件应用 的基础架构。之后,m i c r o s o f t 开发了d c o m ,用于支持c o m 在分布式环境下 的应用。d c o m 是c o m 的网络通信协议,是在d c er p c 基础上实现的。 c o m d c o m 面向的是w i n d o w s 平台上应用的集成,实现在操作系统中,而 c o r b a 面向异构操作系统,目前的产品都是操作系统之上的应用程序,因此 c o m 的性能远远高于c o r b a 。但是它的平台约束性限制了其应用范围。 远程方法调用r m i 是s u n 公司用j a v a 语言建立的分布对象计算环境。其客 户方程序是一个j a v aa p p l e t 或j a v a b e a n s 对象,它通过r m i 内部通信机制调用 应用服务器上的j a v a 对象有关方法,继而以j d b c 等方式访问资源数据库。因 为j a v ar m i 是在纯j a v a 环境下实现的,j a v a 语言本身的可移植性使得r m i 具 有很强的跨平台特性。此外,在处理纯j a v a 对象之间的通信时,r m i 具有较高 的效率。但是,r m l 只能访问j a v a 对象,这妨碍了它与其他语言编写的应用之 间的交互,影响了其应用范围的扩展。 c o r b a 作为一种通用的分布系统开发平台,为应用程序开发者屏蔽了数据 编码、网络传输、对象定位等许多网络编程细节。它的跨平台、跨语言特性使应 用层和资源层的c o r b a 对象可以分布在不同平台上、用不同语言编写。c o r b a 规范对任何个人或组织公开,每个人都可以根据c o r b a 规范规定的内部结构和 对外接口来实现自己的c o r b a 系统。 同时,o m g 也长期关注着c o m d c o m 和r m i 的发展,并从c o r b a 2 1 规范开始,增加了有关c o r b a 和c o m d c o m 的互操作的规范。从r m i 的内 部实现机制来看,r m i 与c o r b a o r b 非常相似,可以认为是一种广义上的 o r b 。目前,s u n 已采用i i o p ( i n t e r a c ti n t e r o r bp r o t o c 0 1 ) 作为r m i 的标准 通信协议,并把c o r b a 的部分对象服务作为r m i 自己的对象服务标准。为了 使c o r b a 的语言无关性、协议的互操作性和j a v ar m i 的易用性得到更好的结 合,o m g 除了定义了i d l ( i n t e r f a c e d e f i n i t i o n l a n g u a g e ,接口定义语言) 向c 、 c + + 、j a v a 等语言的映射,还加入了j a v a - t o i d l 的映射。随着e y b ( e n t e r p r i s e 南京邮电学院硕士学位论文第一章引言 j a v a b e a n s ) 的不断完善、发展和应用的普及,基于j a v a 的分布式应用会越来越 多,使用j a v a - t o i d l 就可以对已有的j a v a 应用实旅逆向工程得到它的i d l ,将 其改造为c o r b a 可用的服务,这样c o r b a 环境下的客户也能够使用e j b 的服 务器。此外,c o r b a 规范还推出一种新的服务调用方式即按值调用c b v ( c a l l b yv a l u e ) ,这借鉴了j a v aa p p l e t 的思想,可以将服务器端的对象下载到客户端 执行,实现远程调用的本地化,这在使用频繁而服务器提供的服务方法较少的情 况下,可以提高效率、减少网络负载。由此可以看出,j a v ar m i 与c o r b a 正 逐步走向融合。 1 3 论文的主要内容和本人所做的工作 本文主要探讨了如何提高c o r b a 应用的性能及其如何在n g n 业务提供中 获得应用的问题。根据这一研究思路,本文的主要内容包括: ( 1 ) 概述c o r b a 的发展及其体系结构,讨论了其在实时应用领域的不足; 针对这一不足,o m g 制订了实时c o r b a 规范,它主要在通用c o r b a 基础上 进行扩展,获得对系统的处理器、通信、存储资源的管理,论文对这一部分进行 了详细的阐述,并对实时c o r b a 的实现产品进行总结和比较,接着重点介绍其 典型实现t a o 的组成及采取的性能优化机制,然后对其性能进行分析。 ( 2 ) 除了采取实时c o r b a 技术,c o r b a 的实现者和应用开发者还可以 采取一些机制优化其性能。论文作者查阅c o r b a 产品的相关文档,总结开发过 程的经验,对这一部分进行详细的阐述。 ( 3 ) c o r b a 是n g n 业务实现的关键技术之一,而其性能的提高对业务的 应用至关重要。论文讨论了n g n 中的中间件技术和业务创建技术,并采用实时 c o r b a 技术,在t a o 的o r b 平台上,开发设计了p a r l a y o s a 中的a i c s 示例 业务。 ( 4 ) 要考察c o r b a 对n g n 业务性能的影响,仅仅考虑c o r b a 产品本身 的性能是不够的,因为这和系统的实现和网络等因素有紧密的联系。本文从业务 实现的角度,针对p a r l a y o s a 应用环境,提出用仿真的方法研究c o r b a 对n g n 业务性能的影响。 4 南京邮电学院硕士学位论文 第二章c o r b a 技术基础 第二章c o r b a 技术基础 2 1c o r b a 发展历程 c o r b a 是由o m g 负责制定和维护的一组规范。o m g 组织成立于1 9 8 9 年, 是一个非营利的国际性软件组织,其发起单位有b n r 欧洲有限公司、d e c 、 e x p e r s o f t 、h p 、i b m 、i c l 、i o n a 、n c r 、n o v e l lu s g 、o b j e c td e s i g n 、s u n m i c r o s y s t e m 和s u n s o f t 公司。o m g 的工作职责是:为应用开发提供一个公共框 架,制订工业指南和对象管理规范,加快对象技术的发展。其主要技术目标是, 使得基于对象的软件在分布异构环境下具有良好的可重用性、可移植性和互操作 性,从而能够在由多种主流硬件平台上运行多种操作系统构成的异构分布环境 中,方便地建立异构分布应用系统。 为了实现上述目标,o m g 组织成立后不久制订了o m a ( o b j e c t m a n a g e m e n t a r c h i t e c t u r e ,对象管理体系结构) 参考模型。该模型描述了o m g 的规范所遵循 的概念化的基础结构,其核心部分是o r b ,它提供了一种对象可以透明地发出 请求和接收响应的机制,基于这种机镱4 就可以充分利用分布的、可以互操作的应 用,这样用户可以在不了解实现交互细节的情况下,建立共享资源的应用。 针对o r b ,o m g 组织制订了c o r b a 规范,并于1 9 9 1 年颁布了c o r b a 规 范1 1 版本,而后经历了1 2 舨本,主要提出了o r b 和i d l 等基本概念。在1 9 9 4 年底颁布了c o 砌a2 0 ,定义了o r b 之间的互操作协议g i o p ( g e n e r a li n t e r - o r b p r o t o c o l ,通用o r b 间通信协议) 和i i o p ,这才解决了不同厂商间互操作问题。 在1 9 9 7 年颁布的c o r b a2 1 增加了c o m c o r b a 互操作规范。1 9 9 8 年1 2 月 c o r b a2 2 中增加了p o a ( p o r t a b l eo b j e c ta d a p t e r ,可移植的对象适配器) 和 i d l 到j a v a 语言的映射规范;与此同时,o m a 体系结构中增加了领域接口这一 部分,表明o m g 组织已经从最初的制订c o r b a 内部运行方式转向注重c o r b a 技术和应用相结合的问题;另外,c o r b a 公共服务规范也作了相应的修订。2 0 0 0 年l o 月颁布的c o r b a 2 4 增加了q o s 定义、异步消息、m i n i m u mc o r b a 、 r e a l - t i m ec o r b a 、c o r b a 组件、通知服务等概念,具备了c o r b a 3 0 的雏形。 在2 0 0 2 年6 月颁布的c o r b a 3 0 规范更加集中于组件技术以及实时特性等方面, 南京邮电学院硕士学位论文第二章c o r b a 技术基础 并改进了c o r b a 组件模型( c c m ) 、消息处理机制( 补充了异步消息处理机制) 、 p o a 和特种c o r b a ( m i n i m u mc o r b a 、r e a l t i m ec o r b a 、f a u l tt o l e r a n t c o r b a ) 等部分,并将最小c o r b a 和实时c o r b a 从c o r b a 核心规范中单 列出来。 同时,c o r b a 技术本身的发展与c o r b a 应用的发展是不可分割的,c o r b a 的广泛应用推动了c o r b a 技术的不断成熟,而c o r b a 技术的进一步完善又促 进了c o r b a 应用的实施和推广。 2 2c o r b a 体系结构 o m a 参考模型从总体上抽象地描述了o m g 组织推出的面向对象技术所包 含的内容以及模型中各组成部分之间的关系。o m a 参考模型翻如图1 1 所示。 图2 - 1 0 m a 参考模型 ( 1 )o r b o r b 是c o r b a 定义的软件总线规范,负责对象在分布环境中透明地收发 请求和响应,它是构建分布对象应用、在异构或同构环境下实现应用间互操作的 基础。它可以使客户机调用分布式对象上的操作,而不用考虑对象定位、编程语 言、操作平台、通信协议及互连、硬件之类的问题。由于o r b 的存在,任何注 册过的、可接受服务请求的对象都可以在客户端保持一个代理对象,它接受客户 端的服务请求并将这个请求经o r b 导向提供服务的真实对象。从客户的角度看, 任何请求都是向代理对象发出的,因而与实现无关。从服务器的角度看,它只需 接受o r b 转来的请求、完成该请求并将结果返还o r b 即可,与客户也没有直 接联系。这种分离使得客户端程序和服务器端程序可以使用不同的编程语言,运 南京邮电学院硕士学位论文 第二章c o r b a 技术基础 行于不同的操作系统平台。只要服务器与客户的接口规范不变,服务器程序和客 户程序就可以分别编制,一方的变化不会直接影响另一方。 ( 2 ) 对象服务( o b j e c ls e r v i c e s ) 对象服务是可以被多个分布式对象所利用的、与具体领域无关的一组标准化 组件。c o r b a 规范为了使o r b 核心保持精炼,只在o r b 核心中实现了分布对 象处理过程中最基本、必需的功能,而其他的服务可以通过对o r b 的扩展或者 外挂式服务方式提供给客户使用,并且这些服务不包含在c o r b a 规范内,而是 在c o s s ( c o r b a s e r v i c e s :c o m m o n0 b j e c ts e r v i c e ss p e c i f i c a t i o n ) 规范中统一 做出规定。c o s s 规范由一组接口( i n t e r f a c e ) 和服务行为描述构成,其接口一 般使用o m gi d l 语言描述。c o s s 规范几乎包含了分布式系统和面向对象的各 个方面,它所定义的每个对象服务都相当复杂和全面,包括命名服务( n a m i n g s e r v i c e ) 、事件服务( e v e n ts e r v i c e ) 、永久对象服务、生命周期服务等等。 ( 3 )公共设施( c o m m o nf a c i l i t i e s ) 公共设施是向终端用户应用提供的一组共享服务接口,但这组服务不像对象 服务那样基本。例如系统管理、组合文档和电子邮件就属于公共设施。 ( 4 ) 应用接口( a p p l i c a t i o ni n t e r f a c e s ) 应用接口是由销售商提供的、可控制其接口的产品,它对应于传统的应用表 示,处于参考模型的最高层。o m g 组织不对它们做标准化工作。 ( 5 )领域接口( d o m a i ni n t e r f a c e s ) 领域接口是为应用领域服务而提供的接口。例如,o m g 为p d m ( p r o d u c t d a t a m a n a g e m e n t ,产品数据管理) 应用制订了规范,该规范定义了8 个使能器,描 述了1 2 个功能模块及其接口,明确了p d m 系统内部以及p d m 系统与其应用系 统之间交互的方式。 o r b 是c o r b a 整个体系结构的核心,c o 砌 a 规范定义了i d l 及其映射、 单个o r b 和o r b 间互操作机制。单个o r b 的体系结构如图i - 2 所示。 客户端发出请求时,可以使用i d l 桩( s t u b ) 或者动态调用接口( d y n a m i c i n v o c a t i o ni n t e r f a c e ) ,也可以直接调用一些o r b 内部的功能。对象实现通过i d l 产生的框架或通过动态框架接口( d y n a m i cs k e l e t o ni n t e r f a c e ) 接收调用请求, 在处理这些请求时,对象实现可以调用对象适配器或者o r b 。具体各部件的功 南京邮电学院硕士学位论文第二章c o r b a 技术基础 能如下 圜与m 埔关的囫鬻磊靠曩薯i 寻銎嘉箍 图2 - 2 0 r b 体系结构 ( 1 ) i d l 语言通过说明对象的接口来定义对象。一个接口包括一组命名的 操作和相应于这些操作的参数。i d l 语言只是提供了用于描述被o r b 操作的对 象的概念框架,o r b 在运行时并不需要i d l 源代码。i d l 语言是一种描述性语 言,客户要能真正使用i d l 源文件中定义的对象,必须把这些对象映射到指定 的程序设计语言实现的对象,这部分工作由i d l 编译器完成。o m gi d l 语言的 语法类似于c + + 。c o r b a 2 0 规范中定义了o m gi d l 语言到c 、c + + 和s m a l l t a l k 这些具体编程语言的映射。到a d a 和c o b o l 语言的映射定义在c o r b a 2 1 规 范中,到j a v a 语言的映射定义在c o r b a 2 2 规范中。 ( 2 ) o r b 核心提供了客户和对象实现之间透明通信的方法,它可以屏蔽对 象实现位置、实现方式、状态和通信机制等细节以及不同实现间可能存在的差异。 ( 3 ) o a ( o b j e a a d a p t e r ,对象适配器) 位于o r b 核心和对象实现之问, 它将一个服务者和对象连接起来,将收到的请求分解到相应的服务者,并与i d l 框架程序合作将请求分配到该服务者上的相应操作。 ( 4 ) i d l 桩为客户提供了静态调用方式,i d l 框架为客户提供了静态实现 方式。i d l 编译器编译描述服务对象接口的i d l 文件,生成对应于具体编程语言 的i d l 桩和i d l 框架程序。i d l 桩负责把用户的请求进行编码,发送到对象发 现端,并对接收到的处理结果进行解释,把结果或异常信息返回给用户;i d l 框 架对用户请求进行解码,定位所请求的对象的方法,执行该方法,并把执行结果 或异常信息编码后发送回客户。 ( 5 ) d i i 和d s i 提供了动态调用方式和动态实现方式。某些情况下客户预 先不知道服务对象的接口信息,需要通过查询或者采用其他的手段获得服务对象 南京邮电学院顿士学位论文第二章c o r b a 技术基础 的接口描述信息,然后使用d i i 动态调用o r b 核心接口的方法来构造客户请求 并发送到对象实现。在对象实现方可以使用d s i 动态分发用户请求的机制,以 便动态地处理客户方的请求。 ( 6 ) 在动态方式下,需要查询相应的服务对象的接口描述信息( 在静态方 式下,这些信息由i d l 文件来描述) ,这些信息由接口库( i n t e r f a c e r e p o s i t o r y ) 提供。接口库是一种服务,通常以i d l 描述文件为其输入,将接口描述信息进 行处理后存放在文件、数据库或者其他形式的存储机制中。并提供一组标准的调 用接口供客户查询使用。服务对象实现的描述信息也由接口库提供,当一个应用 程序调用一个未知接口的对象时,可以通过接口库查询其上的操作。相应的实现 库( i m p l e m e m a t i o nr e p o s i t o r y ) 提供服务器端程序运行的有关信息。这些信息包 括如何定位对象实现,如何激活对象实现以及与o r b 和操作系统相关的信息。 实现库的信息是特定于o r b 和实现环境,对象适配器是实现库的主要使用者。 ( 7 ) c o r b a 用i o r ( i n t e r o p e r a b l e o b j e c t r e f e r e n c e ,可互操作的对象引用) 这种通用的格式识另q 对象,每个对象引用识别一个对象的个实例,并与一条或 者多条能够获得这个对象的路径关联。从客户程序的角度看,i o r 包含了对象标 识( o b j e c t i d ) 、接口类型以及其它信息以查找对象实现。对象标识通常是一个 字符串,用于在对象适配器中标识一个c o r b a 对象。一个对象可以被多个不同 的对象引用定位,比如,在服务器在新的端口重启或者迁移到其他主机的时候就 会出现这种情况。 ( 8 ) c o r b a 的i o p ( i n t e r o r bp r o t o c 0 1 ) 为o r b 终端系统提供了互操作 性。i o p 定义了数据表示格式和o r b 消息协议规范,这个协议规范可以映射到 标准的或者自定义的传输协议。c o r b a 规范定义了g i o p 和使用于特定应用环 境的协议e s i o p ( e n v i r o n m e n ts p e c i f i ci n t e r o r bp r o t o c 0 1 ) ,它们都是抽象的协 议,需要映射到具体的传输协议和传输机制,c o r b a 2 0 支持g i o p 到t c p i p 的映射即i i o p 。无论是g i o p 还是e s i o p ,一个c o r b a 的l o p 必须定义数据 表示( d a t ar e p r e s e n t a t i o n ) 、o r b 消息格式、o r b 传输协议或者传输协议适配器 以及对象寻址格式。 9 南京邮电学院硕士学位论文 第二章c o r b a 技术基础 2 3c o r b a 面临的挑战 o m g 的c o r b a 规范得到了广泛的使用和发展,在应用中表现出对常规的 分布式应用的良好适应性。但是随着新一代的实时分布式应用的发展,如航空命 令计算、电视电话会议、过程处理等应用需要终端系统提供时延、带宽、可靠性 等高度的q o s 保证,以利用可重用组件提高软件质量和缩短开发时间为初衷的 c o r b a 技术在这些实时应用领域就暴露出一些不足,归纳如下: ( 1 ) c o r b a 规范本身缺乏q o s 规范接口。c o r b a 规范中没有提供相应 的应用编程接口以说明端到端的q o s 要求。例如,没有定义一个标准方式以方 便客户向o r b 指示其发出的请求的优先级、请求完成时限、请求任务是周期性 还是时限性等。同时,在c o r b a 规范中还缺乏这样一类接口,它可以让应用自 身确定允许访问控制策略,即确定服务器是同等对待所有的客户而忽视反应时 间,还是控制有限个客户以提供较强的性能。 ( 2 ) 缺少对实时服务质量的支持。常规o r b 并不提供端到端的实时服务质 量支持,即网络中的从应用到应用一级的q o s 支持,例如,现有的大多数o r b 使用先进先出策略传送、调度、分配客户请求。但是,先进先出策略会导致后到 的高优先级请求被先到的低优先级请求所阻塞,从而出现优先级倒置的现象。同 时,缺乏对服务程序的良好的粒度控制,无法终止消耗大量资源的服务操作。 ( 3 ) 缺乏实时编程特征。在c o r b a 2 x 规范中没有定义支持实时编程所必 需的关键特性。例如,在c o r b a 规范中的g i o p 协议虽然支持异步消息传递, 但是对于客户请求的异步传送没有相应的编程语言映射,而且c o r b a 规范没有 提供有关时间的操作。这样很难开发有效的、可移植的实时应用系统。 ( 4 ) 缺少性能上的优化。未优化的表示层转换、数据复制、存储管理和低 效率的消息分发造成了o r b 在吞吐量和时延上的开销太大。效率不高的o r b 核心设计会产生大量的内存访问、堆栈分配释放和上下文切换等问题,而这些 问题都会增加时闻延迟。 针对c o r b a 在实时应用领域的局限性,o m g 将其进行扩展得到实时 c o r b a ,并制订了相应的规范。实时c o r b a 技术是在资源有限的环境下,及 应用要求在一定的时限内完成任务的情况下,提出的一种支持端到端可预测性的 方案。目前o m g 颁布的实时c o r b a 规范主要是针对实时o r b 部分制订的。 1 0 南京都电学院硕士学位论文第三章实时c o r b a 技术 第三章实时c o r b a 技术 本质上讲,实时c o r b a 系统是一个面向对象的分布式实时中间件,为了能 够支持具有不同特性的分布式实时应用系统,它必须具有较高的性能和有效控制 系统资源的能力。大量研究和实践表明,只有消除通用c o r b a 系统自身的冗余 开销,并进行适度的性能优化,才能在系统资源有限的情况下,支持尽可能多的 实时任务的并发执行。 3 1 实时c o r b a 规范 1 9 9 6 年,o m g 成立了专题组( s i g - s p e c i mi n t e r e s tg r o u p s ) ,为c o r b a 规 范在分布实时应用中提供支持。经过长时间的讨论与修改,o m g 于1 9 9 9 年3 月在c o r b a 2 2 规范和c o r b a 消息规范的基础上,发布了实时c o r b a l 0 规 范,接着又在2 0 0 2 年8 月发布了它的改进版本:实时c o r b a l 1 规范【4 】( 1 2 版 本已于2 0 0 5 年1 月发布,以下简称1 0 系列规范) ,它们都是基于固定优先级 的静态调度( s t a t i cs c h e d u l i n g ) ,只能支持固定优先级调度方式的实时c o r b a 应用,而不能支持动态调度。所谓固定优先级,是指线程的优先级是预先分配的, 系统除了在执行避免优先级倒置的算法时有可能改变线程的优先级外,不能改变 线程的优先级;当然线程本身可以改变自己或其它线程的优先级。o m g 在2 0 0 3 年1 1 月又推出了实时c o r b a 2 0 规范【5 】( 以下简称为2 0 规范) ,它是基于动 态优先级调度( d y n a m i cs c h e d u l i n g ) ,与1 0 系列规范讲述的是不同内容,而不 是版本升级的关系。动态调度是在运行期间进行调度,可以根据需要改变线程的 优先级。 实时c o r b a 被作为c o r b a 的一个独立的扩展( 如图3 1 所示) ,这样既 不限制非实时系统的开发,又能够为有特定要求的系统提供需求。而且所有 c o r b a 规范设计原则一样,只定义系统的关键部件以及提供给应用层调用的接 口,而不规定具体实现结构和机制,因此,对于具体如何采用一定的调度模型, 利用操作系统和传输网络的实时处理能力,实现高性能的、端到端可预测的实时 c o r b a 系统,仍给实时c o r b a 系统的研究和开发者留有很大的空间。实时 南京邮电学院硕士学位论文第三章实时c o r b a 技术 c o r b a 规范不仅将c o r b a 技术的面向对象特性、操作平台无关性及编程语言 无关性引入到实时领域,而且也为分布式实时系统的设计与实现提供了新的工具 与途径。 实时c o r b a 规范的目标是:通过提供端到端可预测性和系统资源的管理来 满足实时需求。规范中定义的端到端可预测性主要包括:采用优先级来协调对系 统资源的竞争、控制优先级倒置、限定调用延迟。一旦发生优先级倒置,就会出 现时间特性的异常现象;而且如果没有合理的资源访问控制策略,优先级倒置的 持续时间将不可预测且不可限定,从而无法保证实时任务在时间上的可预测性。 显然,这将对实时系统的性能产生严重的影响。因此,在实时系统设计与实现中 应尽量避免出现优先级倒置。 图3 - 1 实时c o r b a 体系结构 3 2 实时c o r b a 中的资源控制策略 实时c o r b a 的基本问题是如何将有限的系统资源分配给实时任务,从而保 证实时任务的时间紧急要求。它是对系统平均情况的分析,不同于高性能系统中 对最坏情况的要求,要实现这样的要求,就必须通过一系列的策略和机制来加强 对系统资源的管理和控制【6 】,实时c o r b a 规范定义了标准的接口使应用程序可 以配置和控制处理器资源( p r o c e s s o rr e s o l l r c e s ) 、通信资源( c o m m u n i c a t i o n r e s o u r c e s ) 和存储资源( m e m o r yr e s o u r c e s ) 。 南京邮电学院硕士学位论文 第三章实时c o
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 临床甲状腺手术后护理查房
- 水肥一体化设备日常维护保养规程
- 番茄早疫病综合防治技术方案
- 苹果果树夏季拉枝技术操作规程
- 网格化安全风险排查管理细则
- 拔罐走罐起罐安全操作指南
- 视力健康筛查实施方案
- 出口农产品农残检测技术规程
- 消防器材使用与维护管理规程
- 更年期女性营养膳食调整指南
- 儿童夏日防暑安全知识课堂
- 2026年少先队考核模拟试题及答案详解(全优)
- 中国金谷国际信托有限责任公司招聘笔试备考试题及答案解析
- 小学一年级语文下册《荷叶圆圆》跨学科融合教学设计(导学案)
- 湖南 2026 政府采购评审专家续聘考试(3) 真题
- 2026天津富凯建设集团有限公司招聘工作人员招聘4人考试参考题库及答案解析
- 2025年芯片测试岗笔试题目及答案
- 预应力混凝土空心方桩08SG360
- 安宁疗护病区工作制度
- 2026年上海市杨浦区中考数学二模试卷(含解析)
- 电梯施工临时用电安全方案
评论
0/150
提交评论