




已阅读5页,还剩50页未读, 继续免费阅读
(计算机科学与技术专业论文)corba性能优化框架研究与应用.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘 | ,1 在分布式应用系统对于性能要求越来越严格的今天,对于c o r b a 性能的要求也越来越 高。、但是,传统的c o r b 4 身 现存在很多现实或者潜在的性能问题,使得传统的c o r b a 不 能满足很多新应用的要求。j 本文提出了c o r b a 性能优化的整体框架。我们首先讨论了系统级的c o r b a 性能优化, 为了减少优先级倒置的问题,我们详尽地分析了o r b 的连接和并发体系结构;同时,我们也 简要讨论了其它方面的性能优化策略,如在表示层,内存管理和通讯协议等方面的优化。 我们分析了应用级c o r b a 的性能优化,尤其是讨论了对大规模c o r b a 系统的性能有重 要影响的i d l 设计问题。同时,我们引入x m l 来提高c o r b a 扩展性,引入j a v a 来减少开 发大规模c o r b a 应用系统的复杂度。 然后我们介绍了一个开发实例,基于高性能c o r b a 的工商监管信息管理系统。随着信 息技术的发展,现代工商监管信息管理系统已经由传统的c s 结构向分布式结构发展,为了 满足新的应用要求,我们设计了基于c o r b a 软件体系结构应用系统。 最后,我们简要介绍了c o r b a 的发展趋势之一,c c m ( c o r b a 部件模型) 的概念。 关键词:分布式计算、c o r b a 、性能优化,i d l 设计,多路复用,连接体系 a b s t r a c t t h e r ei si n c r e a s i n gd e m a n dt oe x t e n dc 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 ( c o r b a ) m i d d l e w a r et os u p p o r td i s t r i b u t e da p p l i c a t i o n sw i t hm o r es t r i c tp e r f o r m a n c er e q u i r e m e n t s h o w e v e r , c o n v e n t i o n a lc o r b ai m p l e m e n t a t i o n s ,e x h i b i ts u b s t a n t i a lp e r f o r m a n c ep r o b l e m ,w h i c h m a k e s t h e mu n s u i t a b l ef o ra p p l i c a t i o n sw i t hs o m er e q u i r e m e n t s t h eo t h e rp e r f o r m a n c eo p m i z a t i o ns t r a t e g i e s b r i e f l y , s u c h a st h e o p m i z a t i o no fp r e s e n t a t i o n l a y e r ,m e m o r ym a n a g e m e n t ,c o m m u n i c a t i o np r o t o c o l s ,e r e s e c o n d l y ,w ea n a l y s i st h eo p m i z a t i o no f c o r b af r o ma p p l i c a t i o nv i e w ,e s p e c i a l l yd i s c u s st h e d e s i g no f i d lb e c a u s eo fi t si m p o r t a n c ei nd e s i g n i n gs c a l a b l ec o r b a s y s t e m w ea l s od e s c r i b e t h er e l a t i o n s h i po fc o r b aw i t hx m la n dj a v a x m lc a ni m p r o v em o r ee x t e n s i b i l i t yo fc o r b aa n d j a v a c a r ld e c r e a s et h ec o m p l e x i t yo f s c a l a b l ec o r b as y s t e m t h e nw ed e m o n s t r a t ea 1 1 o ft h i so nar e a l e x a m p l e t h e i n d u s t r i a la n dc o m m e r c i a l m a n a g e m e n ti n f o r m a t i o ns y s t e mb a s e do nh i 曲p e r f o r m a n c ec o r b a w i t ht h ep r o g r e s s i n i n f o r m a t i o nt e c h n o l o g y , t h es o f t w a r ea r c h i t e c t u r eo fm o d e mi n d u s t r i a la n dc o m m e r c i a li n f o r m a t i o n s y s t e m si sn o wd e v e l o p i n gf r o m t h et r a d i t i o n a lc l i e n t s e r v e rt o w a r d sd i s t r i b u t e do b j e c t ss y s t e m t o m e e tt h en e w r e q u i r e m e n t si nt h ed i s t r i b u t e de n v i r o n m e n t s ,w ed e s i g n e d af r a m e w o r kf o ri n d u s t r i a l a n dc o m m e r c i a lm a n a g e m e n ti n f o r m a t i o ns y s t e m sb a s e do nh i g hp e r f o r m a n c ec o r b a a tl a s t ,w ei n t r o d u c ec c m ( c o r b a c o m p o n e n tm o d e l ) b r i e f l y b e c a u s ei ti so n eo f t h et r e n do f c o r b a sf u t u r e k e y w o r d s :d i s t r i b u t e dc o m p u t i n g ,c o r b a ,p e r f o r m a n c e o p m i z a t i o n ,i d ld e s i g n ,m u l t i p l e x e d , c o i l l l e c t i o na r c h i t e c t u r e s 浙江大学硕士论文:c o r b a 性能优化分析及应用 1 绪论 1 1c o r b a 概述 1 1 1c o r b a 的发展历史 随着i n t e r a c t 的广泛应用,将应用扩展到局域网、广域网甚至i n t e m e t 上已成为用户的普 遍需求,这样,分布计算成了新的热点。在分布计算环境中,异构性是一个十分明显的特点。 一个典型的分布环境包括有大型主机、1 】n i x 工作站和p c 机,各种机器所采用的操作系统 和网络通信协议也是千差万别。在这样的异构环境下实现信息和软件资源的共享将十分困难, 而一个健壮的分布计算框架将为分布应用软件的开发带来极大的好处。 自8 0 年代末期以来,对应用软件的可扩展性和可重用性的要求也使得面向对象的分析、 设计和编程技术得到了广泛的运用。将面向对象的思想应用到分布环境中,公共对象请求代 理程序体系结构( 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 ,简称c o r b a ) 的概念就应运 而生了。 c o r b a l 1 由o m g 在1 9 9 1 年发布,定义了接口定义语言( d l ) 和应用编程接口( a p i ) , 从而通过实现对象请求代理( o r b ) 来激活客户服务器的交互。c o r b a 2 0 于1 9 9 4 年1 2 月 发布,定义了如何跨越不同的o r b 提供者而进行通讯 1 【1 0 1 1 1 7 。 1 9 9 0 年1 1 月,o m g 发表对象管理体系指南,初步阐明了c o r b a 的思想; 1 9 9 1 年1 0 月,o m g 推出1 0 版,其中定义了接口定义语言( i d l ) 、对象管理模型以及 基于动态请求的a p i 和接口仓库等内容 1 1 】 1 9 9 1 年1 2 月,o m g 推出了c o r b a1 1 版,在澄清了1 0 版中存在的二义性的基础上, 引入了对象适配器的概念; 1 9 9 6 年8 月,o m g 基于以前的升级版本,完成了2 0 版的开发,该版本中重要的内容是 对象请求代理间协议( 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 ) 的引入,用以实现不同厂商的o r b 真正意义上的互通: 1 9 9 8 年9 月,o m g 发表了c o r b a 2 3 版,增加了支持c o r b a 对象的异步实时传输、 服务质量规范等内容。目前,宣布支持c o r b a 2 - 3 规范的中间件厂商包括n p r i s e ( b o r l a n d ) 、 i o n a 、b e a s y s t e m 等著名的c o r b a 产品生产商。 c o r b a 3 0 则将主要侧重于组件建模。 目前,o m g 组织制订的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 r a r c h i t e c t u r e ,通用对象 请求代理体系结构) 标准与m i c r o s o f t 的c o m d c o m ( c o m p o n e n to b j e c tm o d e l d i s t r i b u t e d c o m ,组件对象模型分布组件对象模型) 标准、s u n 公司的j a v ar m i ( j a v a r e m o t em e t h o d 第一章:绪论 浙江大学硕士论文:c o r b a 性能优化分析及应用 i n v o c a t i o n ,j a v a 远程方法调用) 标准一起形成了分布对象计算领域的主流,c o r b a 规范是 其中最为通用的一个。 1 1 2c o r b a 规范简介 在我们讨论具体的c o r b a 性能优化问题以前,就c o r b a 规范的关键组成部分进行简单 的介绍 5 】【6 。 1 1 2 1 对象引用( o b j e c tr e f e r e n c e ) 对象引用是在o r b 范围内用以指定和标识一个目标服务对象的信息 1 8 l 。从某种意义上 看,对象引用的功能和作用有些类似于c 或者c + + 语言中所使用的指针。但是,对象引用本 身并不是指针。对象引用本身的形式与特定的编程语言和o r b 系统的实现相关。因此,两个 不同的o r b 实现系统( 产品) 中的对象引用的表示形式很可能是不相同的。 尽管不同的o r b 实现系统中的对象引用的表示形式不相同,但是它们在相同的编程语言 环境中提供给应用的使用形式是相同的( 通常使用一个名为o b j e c t 的对象来访问,该对象提 供了一组标准的接e l 成员函数,不过它的属性和表示形式可能不同) 。这样,就能够使得以 某种编程语言编制的程序在访问对象引用时与特定的o r b 实现( 产品) 无关。在c o r b a 环 境中,o b j e c t 对象是一个数据类型,它的作用和整型、字符型、布尔型等基本数据类似。它 是所有c o r b a 对象类的基类,也就是说,每个c o r b a 对象类都将继承o b j e c t 类,从而也 支持o b j e c t 对象类所具有的操作方法。 1 1 2 2 对象实现 对象实现通过对象实例化数据的说明和赋值以及对象方法的执行代码来提供对象的语义。 在通常情况下,对象实现会使用其他对象或者其他软件来实现对象的行为。在c o r b a 环境 中,对象实现的形式多种多样。例如,对象实现可以是一个独立的服务器,可以是一个( 类) 库,可以把对象的每个操作作为一个程序,可以是被封装的一个应用系统,还可以是一个面 向对象的数据库。通过使用不同的对象适配器,o r b 系统可以支持各种不同类型的对象实现 方式。 1 1 2 3o r b 核心 o r b 核心提供了对象的通用表示和对象阳j 通信的机制,它实现了客户对象实现间通信的透 明性,屏蔽了对象实现的位置、通信机制( 例如,s o c k e t 调用、共享内存等等) 。c o r b a 2 0 第一章:绪论 浙江大学硕士论文:c o r b a 性能优化分析及应用 规范中,o r b 核心之上的其他组成部件屏蔽了o r b 核心的差异,并与o r b 核心一起组成 o r b ,这样,就能支持不同类型的对象机制,以满足不同的需要。 根据c o r b a 的设计思想,o r b 核心的功能和机制是非常简单的。这就可以为客户调用 请求和对象实现响应的传输带来较高的效率,而且o r b 核心的简单化使得它的实现能够尽可 能地可靠( 减少错误的发生) 。 1 1 2 4o m gi d l 语言和o m gi d l 语言到编程语言的映射 o m gi 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 ) 是一种独立于编程语言、下层网络和具体 实现的数据类型描述语言,它静态描述对象的接口。i d l 借鉴了c + + 语言的语法,去掉了其 中涉及实现语义的内容( 如控制流、内存管理和函数编写等) ,同时添加了若干适用于分布式 系统的特征,例如o n e w a y ,保证了平台无关性、语言无关性,提高了所开发的分布系统的可 靠性。 i d l 语言完全是一种描述性语言,而非编程语言。它没有控制结构,因而不能用于实现 客户方程序和对象实现方程序。为了使客户方程序和对象实现方程序能够统一地使用i d l 语 言中定义的数据类型和接口的信息,c o r b a 规范中规定了i d l 到具体编程语言的映射,不 同的语言有不同的映射结果。到目前为止,o m g 组织已经定义了0 m g i d l 语言到c 、c + + 、 s m a l l t a l k 、j a v a 、c o b o l 和a d a 语言的映射,其中c o r b a2 0 规范定义了o m gi d l 语言 到c 、c + + 、s m a l l t a l k 三种编程语言的映射。 1 1 2 5i d l 桩和动态调用接口( d i i ) 因为i d l 是独立于任何编程语言的描述性语言,客户不能直接在宿主编程语言的环境中 用i d l 语言去调用需要的服务。如果用户能够在编制客户方程序时得到目标对象接口的i d l 语言描述,为了在所使用的宿主编程语言中调用i d l 定义的操作,用户可以调用一个把目标 对象i d l 语言描述转化并映射到特定编程语言形式的桩。i d l 桩在这里所起的主要作用就是 把请求从特定的编程语言的表示形式转换为适于传递到目标对象的形式。例如,对象a 支持 的接口已经由i d l 语言进行了描述,但为了让使用c + + 语言编制的客户能调用对象a 提供的 服务,就必须由对象a 的i d l 描述产生一个c + + 的i d l 桩,然后客户才能通过该客户桩访问 对象a 的服务。对于其他编程语言的客户,同样也要生成对应的i d l 桩。由此可见,一个对 象接口的i d l 描述可以生成多种i d l 桩,而桩的种类越多,访问它的客户可使用的编程语言 的选择范围就越宽。 在某些应用中,并不能够在应用系统编制过程中得到目标对象接口的0 m g i d l 描述。例 如,考虑一个网关( g a t e w a y ) ,它允许其他对象系统如m i c r o s o f t 的c o m ( c o m p o n e n to b j e c t m o d e l ) 上支持的应用可存取c o r b a 对象提供的服务。在对应于某个具体的c o r b a 对象服 第一章;绪论 浙江大学硕士论文:c o r b a 性能优化分析及应用 务时,确实可以通过i d l 桩的方式来做到,但一旦增加新的c o r b a 对象服务时,该网关就 必须重新编译以接收新的i d l 应用,这将使管理和维护操作变得十分困难。因此,对网关这 类应用来说,能够动态查找i d l 信息并能根据该信息作出正确的请求调用的要求是十分迫切 的。 为了适应以上提到的特殊的应用情况,允许对象实现在运行时动态地加入c o r b a 环境 中,并使客户可以顺利地调用该对象实现提供的服务,o r b 系统提供了动态调用接口 ( d y n a m i ci n v o c a t i o ni n t e r f a c e ,简称d i i ) 。它由一组c o r b a 系统对象组成,这些对象提供 给客户动态地创建和调用对象请求功能。 1 1 2 6i d l 构架和动态构架接口( d s i ) 与i d l 桩类似,i d l 构架也是根据目标对象接口的i d l 描述由i d l 编译器自动产生的调 用对象实现的部件。通过它,可以使o r b 核, b 对象适配器调用对象实现中的操作方法 ( m e t h o d ) 。对象实现则根据i d l 描述的接口给出具体的实现例程。类似地,i d l 构架的向上 调用( u p c a l l ) 方式也属于静态方式,只有在编译时目标对象接口的i d l 描述是已知的情况 下才可行。而且,i d l 构架方式一般而言对于特定o r b 核心对象适配器都经过了优化,其 运行时效率通常较动态调用方式高。 这里需要注意的是,i d l 构架的存在并不意味着有相应的客户i d l 桩的存在。也就是说, 对象实现使用i d l 构架完成调用,而客户可以使用i d l 桩的方式,也可以使用动态调用接口 的方式来进行调用;i d l 桩和i d l 构架之间并不存在对应关系。 动态构架接口( d y n a m i c s k e l e t o n i n t e r f a c e ,简称d s i ) 允许动态调用对象,其调用形式有 些类似于客户的d i i 。动态构架接口的客户可以是i d l 桩,也可以是动态调用接口,它们向 动态构架接口发出对象请求。d s i 的基本思想是,让o r b 核6 对象适配器对所有的对象调 用请求都通过向上调用同一组接口例程来调用实际对象实现中操作,这组例程称为动态调用 例程( d y n a m i c l n v o c a t i o n r o u t i n e ,简称d i r ) 。对所有的对象实现来说它们也仅需根据d i r 来给出具体的实现例程。 1 1 2 7o r b 问互操作协议 o m g 组织在1 9 9 1 年就制订了c o r b a l 0 规范,其后又推出了c o r b a l 1 和c o r b a l 2 。 但是,由于在c o r b a l x 版本的规范中并没有对用于o r b 间通信的消息的数据格式和协议 进行规定,从而导致了不同厂商的o r b 实现系统,采用不同的专有通信格式而无法相互通信。 这使得不同厂商的o r b 系统成为信息“孤岛”,给c o r b a 技术、产品的推广和应用带来了 极为不利的影响。 9 o m g 组织于1 9 9 4 年对c o r b a l x 舰范进行了扩充,增加了异构o r b 系统问互操作的标 第一章:绪论 4 浙江大学硕士论文:c o r b a 性能优化分析及应用 准( 也即c o r b a 互操作标准) ,从而形成了c o r b a 2 0 规范。c o r b a 2 0 规范中定义了g i o p 协议,对异构o r b 间通信的消息的种类、格式、数据编码和网络传输进行了定义。这样,理 论上保证了在遵循c o r b a 2 0 规范的o r b 互操作标准的系统之间可以进行交互,从而使各 个o r b 系统之上的对象能够透明地利用整个o r b 环境中的资源。 为了达到支持各种o r b 间互操作的目的,c o r b a 2 0 规范中定义了o r b 间通信的标准 协议g i o p ( g c n e r a l i m e r - o r b p r o t o c 0 1 ) ,它定义了用于o r b 间通信的一种标准传输语法( 数 据的低级表示方式) 和一组消息格式。g i o p 由以下三个部分组成:公共数据表示、g i o p 消 息格式和g i o p 消息传递。 1 公共数据表示 公共数据表示( c o m m o n d a t a r e p r e s e n t a t i o n ,简称c d r ) 是g i o p 表示i d l 数据类型的 格式标准,它将i d l 数据类型映射到低级的二进制流,以便网络传输。 2 g i o p 消息格式 g i o p 协议定义了七种消息格式,用于o r b 系统间信息交换,从而实现对象请求、对象 定位和信道管理等任务。g 1 0 p 的消息格式有如下特点: 种类少、消息简单。 动态的对象定位。 3 g i o p 消息传递 g i o p 协议可运行于多种面向连接的运输层协议。它对运输层协议的要求如下【2 0 】: 运输层是面向连接的; 运输层是可靠的: 运输层传递的数据可看作任意长度的字节流: 运输层提供了失序通知功能; 连接的发起方式可以映射到t c p i p 一般连接模型。 g i o p 协议只是一种抽象协议,在实现时必须映射到具体的运输层协议或者特定的运输机 制之上。c o r b a 2 0 规范定义了g i o p 协议到t c p i p 协议和d c e 的映射。g i o p 协议到t c p i p 协议的映射又称为h o p 协议,而g i o p 协议到d c e 的映射又称为e s i o p 2 1 2 2 1 。 i i 2 8c o r b a 服务的基本内容 在c o r b a 体系规范中定义了多种类型的服务( s e r v i c e ) ,如命名( n a m i n g ) 、生存期 ( l i f e c y e l e ) 、事件( e v e n t ) 、事务( t r a n s a c t i o n ) 、对象持久化( p e r s i s t e n to b j e c t s ) 、查 询( q u e r y ) 、特征( p r o p e r t y ) 、时间( t i m e ) 等服务功能。c o r b a 服务与对象请求代理 之间的关系如图1 1 所示 1 9 。 第一章:绪论 浙江大学硕士论文:c o r b a 性能优化分析及应用 图1 1c o r b a 服务和对象请求代理的关系图 在c o r b a 规范中,没有明确说明不同厂商的中间件产品要实现所有的服务功能,并且 允许厂商开发自己的服务类型。因此,不同厂商的o r b 产品对c o r b a 服务的支持能力不同, 使我们在针对待开发系统的功能进行中间件产品选择时,有更多的选择余地。 1 2c 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 0 规范的新特性。 1 2 1 现存c o r b a 的缺陷 缺乏质量保证【8 】:传统的o r b 没有定义允许应用程序指定端对端通讯的a p i ,同样,当 前的o r b 实现没有对网络应用程序提供对端对端服务规范的支持。例如,c o r b a 没有 为客户端提供标准的方法来指定客户端发送给o r b 请求的优先级。同样,d c o m 和r m i 规范在传输层流出错的情况下并没有要求o r b 通知客户端,因为,很难编写轻便高效的 实时应用程序来保证在o r b 端系统和网络资源不可用的时候不出现不确定的延时阻塞。 缺乏实时特性:传统的o r b 没有提供必须的支持实时编程的关键特性。例如,尽管c o r b a 的g i o p 支持异步通讯,但是还没有标准的程序设计语言能够映射o r b 的异步请求。同 样,d c o m 和r m i 规范在传输层出现异常时不要o r b 通知客户端,所以,很难编写轻 便可靠的实时应用程序,因为后者需要在o r b 终端和网络资源暂时不可用时能够保证不 出现不确定的阻塞。 缺乏性能优化:当前存在的o r b 存在相当可观的影响吞吐量和延迟的额外开销。这些额 外丌销来自过量的数据复制、位优化的表达层转换,针对不同大d , n 息的的内部消息缓 存机制和低效的多路发送算法,内部冗长的o r b 虚函数调用,缺少实时操作系统和网络 第一章:缔论 浙江大学硕士论文:c o r b a 性能优化分析及应用 的服务质量机制的集成。 1 2 2 我们的目标 尽管传统的c o r b a ( 包括2 3 以前的版本) 对象模型提供了一个标准的中间件框架使得 c o r b a 对象可以互操作,c o r b a 定义了软总线使得客户程序可以激发对象上的操作而不管 这个对象在本地还是远处,并提供了有标准接口的对象服务( 如n a m i n g ,t r a d i n g ,a n d e v e n t n o t i f i c a t i o n ) 使得开发人员能使用不同供应商提供的服务来集成和组装庞大的分布式应用和 系统,但还是有一些需求没有解决( 这些缺陷容易导致紧耦合) : 没有一个关于c o r b a 性能优化的整体框架,我们可以零星的看到很多关于c o r b a 性能上的问题和解决的方案,可是对于整体的性能框架的研究尚存在不足,我们的目 标是提出一个包括系统级和应用级的c o r b a 性能优化框架。 难于扩展对象的功能。在传统地c o r b a 对象模型中,对象只能通过继承( 而不是组 合) 来扩展,应用程序开发人员必须先定义一个i d l 接口、实现该接口、并在所有 s e r v e r 中配置该实现。但c o r b ai d l 的多重继承是有缺陷的,因为有的语言不支持 重载。我们的目标是引入x m l 来增加c o r b a i d l 的可扩展性。 缺少对c o r b as e r v e r 中公共编程术语地支持,期待着能自动生成公共用例程序。如, 尽管p o a 提供了对象注册、激活、去活地标准接口和足够灵活地策略来配置服务地 行为,但很多应用程序只需要其中地部分配置,而且开发人员还要学习这些策略以得 到期望地行为。我们的目标是引入j a v a 来降低开发大规模c o r b a 应用程序的复杂 度。 1 2 3c o r b a 3 新特性 c o r b a 3 7 是指一整套规范,这些规范总起来增强了c o r b a 的性能和可用性。所有这 些规范已经被采用,并且几乎所有规范已经由o m g 组织作为正式的已经编号的c o r b a 版 本的一部分发布了。在o m g 的一个新程序中,这些规范一开始被分为“产前”类,只有 结束对它们的第一次维护修订之后,才会转为“可用”的( 也就是,包含在当前已经编号的 c o r b a 版本中的正式的o m g 规范) 。 c o r b a3 中的规范可以很清析地分为三大类: j a v a 和i n t e m e t 集成; 服务质量( q o s ) 控制; c o r b a 组件体系。 下面将就这些介绍这些新特性: 可以用值传递的对象 笫一章:绪论 7 浙江大学硕士论文:c o r b a 性能优化分析及应用 值类型为c o r b a 增加了许多特性,包括j a v a 到i d l 的反映射和能够把x m l 文档表示 为本地c o r b a 类型的x m l v a l u e 映射。现在,作为c o r b a 的很好地建立起来的一部分, 这个特性已经包含在1 9 9 9 年6 月份发布的c o r b a 2 3 标准中。 j a v a 到i d l 的映射 这个映射使得j a v ar m i 对象能够跟c o r b a 对象一样通过网络进行互操作。它们具有 c o r b a 对象引用,发出i i o p 协议。就象c o r b a 组件模型和企业级j a v a b e a n s 帮助开发人 员和公司构建应用组件库一样,本规范将使c o r b a 组件库和e j b s 一起用来构建应用。就象 值类型规范一样,j a v a 到i d l 的映射也是c o r b a 2 3 规范的一部分,它可以在语言映射里找 到。 可共用的命名服务 c o r b a 对象引用是c o r b a 体系的基石。因为计算机可读的i o r ( i n t e r o p e r a b l eo b j e c t r e f e r e n c e 可互操作的对象引用) 是唯一用来连接一个实例并调用它的方法,没有方法来连接 一个远程的实例即使你知道它的位置并且它已经起来并运行着除非你得到它的对象引 用,得到对象引用的最简单的方法是得到一个它的命名服务的引用。 可共用的命名服务定义了一种u r l 形式的对象引用:c o r b a l o c ,在一个程序里,它可以用来 连接到个远程的地方,包括命名服务。另一种u r l 形式,c o r b a n a m e ,实际上是通过使用用 户加在u i u 后面的名字调用名字服务返回所指对象的i o r 。 异步消息和服务质量控制 新的消息规范为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 企业应用所依赖的可靠的及健壮的性能。 第一章;绪论 浙江大学硕士论文:c o r b a 性能优化分析及应用 脚本语言 脚本语言最初是为了从c o r b a 组件( 和企业级j a v a b e a n s ) 中动态地装配应用,现在用 来访问c o r b a 客户端和对象。对组件装配的扩展将跟随c o r b a 3 0 中的c c m 。c o r b a 支 持到两种脚本语言的映射:一个到p y t h o n ,另一个定义了一种针对c o r b a 的脚本语言。它 们已经正式发布。 1 3 应用背景介绍一一工商监管信息管理系统 随着新的信息社会的到来,计算机应用更加普及和深入到人们的日常工作与生活之中。在 各个应用领域,近切需要建立由若干个子系统组成集成计算机信息系统,以期待完成更复杂、 更高级的功能。但是,已有的计算机信息系统是异构的,普遍存在着严重的”信息孤岛”问题, 即每个子系统之间是独立的、不能有效地进行信息交换和共享。作为市场职能主管的工商行 政管理部门也存在类似的问题,为了提高对企业监管的力度,工商部门的业务新需要已经不 能满足以前的简单针对企业的回访、巡查、处罚和奖励等监管措施,而要代之以综合性的横 向监管,可是原有的各个业务子模块相互分离,交互困难,在这样的情况下工商实时监管难 度可想而知。 解决问题的方法是采用系统集成技术,其中关键是信息集成技术。信息集成技术的目标是 要解决信息系统中复杂的、分布的、异构的多媒体数据,以及常规的结构化数据的交换、转换、 共享与集成,这就为c o r b a 在工商监管领域的应用建立了基础。我们对于工商监管信息管 理系统是充分针对以下三点来考虑的: 1 提高客户的工作效率: 2 适应将来工商大监管发展的需要: 3 充分利用已有的投资。实现系统的集成,应该基于和符合某种国际标准,以增强系统的可 移植性、互操作性、互换性和稳定性。 工商监管信息管理系统的远景规划是要求具有良好的平台独立性和分布式特性,可以实 现新业务应用的软件即插即用。工商监管信息管理系统可以应用于省、市、地和工商所之间 的业务综合处理系统,以满足工商监管客户的实际需要为宗旨,以适应国家工商局提出的“一 库、二中心、三网、四化”为总体目标,以提高工商监督管理的信息化水平为系统设计原则, 实现了工商监督管理工作“业务管理电脑化、信息查询网络化、企业监管实时化”,使工商监 督管理的各项工作变得简单、快捷、准确、及时。随着工商业务的发展需要,工商监管信息 管理系统要成为一个集数据采集、数据应用和数掘咨询于一身的综合性业务平台。 本人自2 0 0 0 年丌始参与浙江省工商监管信息管理系统的设计丌发工作以来,我们项目组 在工商信息系统的设计丌发做了大量深入而又细致的工作,深刻体会到工商监管信息管理系 笫一章:绪论9 浙江大学硕士论文:c o r b a 性能优化分析及应用 统对于提高工商系统的效率,加强工商监管的力度,促进工商部门和其它相关职能部门之间 的信息交互和共享意义重大。 我们开发了工商企业登记信息管理系统,使工商信息系统由原来的单机文件数据库发展 成为可以全省联网的基于o r a c l e 的数据中心,大大加强了浙江省工商系统的信息化建设,为 监管信息管理系统的开发与完善打好了扎实的基础。 1 4 本文的主要内容 1 4 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 的未来发展趋势。 1 4 2 本文的篇章结构 本文共分六章。第一章为绪论,简要介绍了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 中关键因素o r b 的结构和方法,再从系统级和应用级提出了 c o r b a 优化的整体框架和策略,并对当前c o r b a 发展的热点,实时c o r b a 加以讨论。 第三章从系统级分析了对c o r b a 的性能优化,包括o r b 的多路分发、网络协议、缓冲 机制、表示层、存储机制和线程调度机制,其中详细分析了o r b 的连接体系结构对于c o r b a 性能的影响。 第四章论述了应用级c o r b a 的优化,从中我们了解到了优化c o r b a 应用程序的实质是 减少远程激发过程的数量,这就需要优化d l 随后我们介绍了c o r b a 应用程序发展的热点 问题,引入x m l 提高c o r b a 系统的可扩展性,引入j a v a 来降低构建大规模c o r b a 应用 系统的复杂度。 第血章在前两章的基础上,对于c o r b a 在工商监管信息管理系统中的具体应用加以分 第一章:绪论 浙江大学硕士论文:c o r b a 性能优化分析及应用 析和设计,重点介绍了用j a v a 开发c o r b a 组件的方法和步骤,并列举了案件管理模块的 部分应用代码。 第六章是结论和展望部分,总结了全文,对c o r b a 的发展加以了前瞻性的描述,并介 绍了今后继续开展的部分工作。 第一章:绪论 浙江大学硕士论文:c o i 毛b a 性能优化分析及应用 2c o r b a 性能优化框架和策略 在我们详细分析c o r b a 性能框架和策略之前,有必要详细的介绍一下c o r b a 中的关键 部分,o r b ( o b j e c t r e q u e s t b m k 神中的结构和方法。 2 1o r b 中的结构和方法 在传统的基于客户机j j 务器模式的应用程序开发过程中,项目开发人员遵循公开的标准 或自由设计模块间的协议,这样的协议依赖于网络类型、实现语言、应用方式等。引入o r b 后,客户只要遵循服务对象的对外接口标准向服务对象提出业务请求,由o r b 在分布式对象 间建立客户服务对象关系。总结起来,o r b 的作用包括: 接受客户发出的服务请求,完成请求在服务对象端的映射: 自动设定路由寻找服务对象; 提交客户参数; 携带服务对象计算结果返回客户端。 图2 1 客户服务请求示意图 由图2 1 可以看出,客户( c l i e n t ) 向服务对象的实现( o b j e c ti m p l e m e n t a t i o n ) 发出事务 请求,其中客户是欲对服务对象发出方法请求的实体,服务对象应包括该方法的数据资源以 及实现代码。对象请求代理的作用就在于定位服务对象,接收客户发出的服务请求并将服务 对象的执行结果返回给客户。请求发出后,客户对象采用轮询等方式以获取服务对象计算的 结果。 2 1 1o r b 的结构 o r b 是一个中问件( m i d d l e w a r e ) ,它可以建立对象之间的c l i e n t s e r v e r 关系。通过o r b 第二章:c o r b a 性能优化框架和策略 浙江大学硕士论文:c o r b a 性能优化分析及应用 一个c l i e n t 可以透明的引用同一台机器上或网络上的一个s e r v e r 对象的方法。o r b 解释该调 用并负责查找一个实现该请求的对象,找到后,把参数传给该对象,调用它的方法,最后返 回结果。c l i e n t 并不清楚该对象的位置,它的编程语言,它的操作系统以及其它不是对象接口 的系统信息。o r b 能实现分布环境中位于不同机器上的应用之间的互操作以及多对象系统 之间的无缝连接。 在传统的c l i e n t s e r v e r ) 应用中,开发者使用自己设计的标准或通用标准来定义设备之间的 协议。协议定义与实现的语言、网络传输及其它因素有关。o r b 简化了这一过程,它使用i d l 来定义应用接口之间的协议。o r b 允许程序员选择通用操作系统,运行环境和编程语言。更重 要的是,它能集成现存元素。 图2 - 2 显示了单个o r b 的结构。用斜条文的矩形框表示o r b 的接口,箭头表示调用o r b 或 o r b 使用接口把信息向上传递。 c l i n e t 使用d y n a m i ci n v o c a t i o ni n t e r f a c e ( 与目标对象的接口无关) 或o m gi d ls t u b ( 与目标 对象接口有关的s t u b ) 来发出请求。由于某种原因,c l i e n t 也可以直接与o r b 联系。对象实现 使用o m gi d l 生成的s k e l e t o n 或动态s k e l e t o n 以向上传送( u p c a l l ) 的方式接受请求。对象 实现也可以调用o b j e c ta d a p t e r 和o r b 。可以用两种方式来定义对象接口:一是用o m g 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 m gi d l ) 来定义接口。该语言根据可能对对象进行的操作和这 第二章;c o r b a 性能优化框架和策略 浙江大学硕士论文:c o k b a 性能优化分析及应用 、 c
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 脑源性神经营养因子在阿尔茨海默病中的作用机制-洞察及研究
- 新零售模式下的家电销售策略-洞察及研究
- 第八章 西北地区 单元说课稿-2025-2026学年八年级地理下学期人教版
- 2025年消费与零售行业可持续消费理念传播策略分析报告
- 2025年中国高碳钢砂行业市场分析及投资价值评估前景预测报告
- 2024-2025学年人教版物理八年级上册5.1透镜说课稿和说课稿
- 2025年中医药现代化进程中塞舌尔市场拓展潜力分析报告
- 2025年储能电池在数据中心能源管理中的应用策略报告
- 第2课 学堂乐歌说课稿初中音乐教科版2024七年级上册-教科版2024
- 2025年中国高邻苯二甲酸酯增塑剂行业市场分析及投资价值评估前景预测报告
- 2025年国家电网《安规》考试判断题库及答案
- 2025上海美术馆招聘6人备考考试题库附答案解析
- 检验科二级生物实验室汇报
- 盾构姿态监测-洞察及研究
- 药店店员技巧培训
- 2025年四川省巴中市中考数学试题
- 乡村振兴课件简介模板
- (一检)泉州市2026届高三高中毕业班质量监测(一)数学试卷(含标准答案)
- 管道热处理课件
- 2025成人高考试题真卷数学及答案
- 2025年京东集团校招面试题与答案
评论
0/150
提交评论