GIOP 协议和CORBA 的性能优化

GIOP 协议和CORBA 的性能优化

ID:38135260

大小:137.03 KB

页数:6页

时间:2019-05-25

GIOP 协议和CORBA 的性能优化_第1页
GIOP 协议和CORBA 的性能优化_第2页
GIOP 协议和CORBA 的性能优化_第3页
GIOP 协议和CORBA 的性能优化_第4页
GIOP 协议和CORBA 的性能优化_第5页
资源描述:

《GIOP 协议和CORBA 的性能优化》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、GIOP协议和CORBA的性能优化李方张虹中国矿业大学计算机学院,江苏徐州,221008摘要:CORBA作为对象管理组织的分布式对象中间件应用标准,使用GIOP协议使跨平台的客户/服务器对象通信成为可能。但是这种高度兼容性降低了基于CORBA的分布式应用程序的性能。本文针对GIOP协议提出了优化CORBA性能的一些方法。关键字:CORBA;GIOP;CDR;字节序;边界对齐中图分类号:TP316.4GIOPandHowtoImprovethePerformanceofDistributedCORBAApplicatio

2、nsAbstract:AstheapplicationStandardizationoftheOMG’sdistributedobjectmiddleware,CORBAmakesitpossibleforclientandserverunderheterogeneousplatformstocommunicatewitheachother.ButthehighcompatibilitydepressestheperformanceofdistributedCORBAapplications.Thispaperdisc

3、ussesGIOPandpresentstechniquesonhowtoimprovetheperformanceofdistributedCORBAapplications.Keywords:CORBA;GIOP;CDR;byteordering;Alignment1引言公共对象请求代理体系结构(CORBA)是对象管理组织(ObjectManagementGroup,OMG)的分布式对象应用标准,其核心──对象请求代理(ORB)是在对象间建立客户/服务器对象关系的中间件。通用ORB间协议(GeneralInter-

4、ORBProtocol,GIOP)为ORB之间的通信指定了一套消息格式和公共数据表示,使CORBA可以在不同操作系统和编程语言的环境下实现客户和服务器对象的互操作。正是由于这种异构环境下通信的能力,客户和服务器对象在发送请求和接收结果时,需要两次编码/解码(marshal/demarshal)过程,这影响了基于CORBA的分布式应用[1]程序的效率,尤其是实时系统和Internet应用。众多研究者针对基于CORBA的分布式应用程序的性能优化进行了大量的工作,华盛顿大学的ORB中间件TAO包含一个高度优化的通讯协议引擎,

5、OMG则颁布了实时CORBA规范。研究表明,在高性能通信系统中,表示层是主要的性能瓶颈。本文将首先介绍GIOP协议,并针对GIOP[2]协议提出优化CORBA性能的一些方法。2GIOP协议OMG组织在CORBA2.0规范中制定了ORB之间互操作的通用协议GIOP,定义了用于ORB间通信的一种标准传输语法和一组消息格式,并在CORBA3.0中颁布了其修订版本。GIOP协议内容包括:公共数据表示(CommonDataRepresentation,CDR)、GIOP消息格式、GIOP消息传输、[3]IIOP协议(Intern

6、etORB间协议)以及双向GIOP(Bi-DirectionalGIOP)。2.1公共数据表示(CDR)公共数据表示是将使用OMG接口定义语言(IDL)定义的数据类型映射为普通格式的网格化的消息表示。它描述了如何编码/解码操作中的数据,以便所有可能的服务器都可以抽取参数并调用远程操作,且数据交换不会产生多义性。编码/解码过程,实际上就是将某系统中特定的数据表示交换为公共数据表示的过程。CDR具有以下特征:①不同的字节序字节序可分为两种:Big-ending和Little-ending。使用相同字节序的计算机系统在传递信

7、息时不需要进行字节交换;而当字节序不同时,接受方负责进行字节交换。每个GIOP消息都包含一个用以标识字节序的标志。②基本数据类型边界对齐基本数据类型边界对齐的概念是基于字节流的,即八位元流。CORBA规范将八位元流定义成“一种抽象表示法,通常对应于要通过IPC机制或网络传输来发送到另一个进程或另一台机器的内存缓冲区”。边界对齐是指对于任何一个基本类型的数据,其首字节在字节流中的下标必须是该数据自身长度的整数倍,所有这样的倍数称为该数据类型的自然边界。在CDR中,基本数据类型的长度可以是1、2、4和8字节。有时需要在基本

8、类型的数据之前加入填充(Padding)0x0,使基本类型数据实现边界对齐。③完整的OMGIDL映射公共数据表示描述了将OMGIDL中的全部数据类型包括伪对象(pseudo-object)交换为字节流的表示法。2.2GIOP消息格式GIOP定义了一组由客户机用于请求或服务器用于响应的消息类型,包括Request、Reply、Can

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。