基于CORBA的通信中间件设计.docVIP

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于CORBA的通信中间件设计.doc

基于CORBA的通信中间件设计   摘 要:在现代大型软件项目中,往往涉及到多个子系统,且子系统间跨平台、跨语言,数据交互成为瓶颈。基于CORBA的通信中间件可以实现安全、高效、无缝的衔接,简化数据互连,降低编程复杂度,避免通信断流,提高通信效率。   关键词:跨平台;跨语言;CORBA;通信中间件   中图分类号:TN975   在现代大型软件项目中,虽然各系统在设备选型时力争使用相同厂家、相同型号的硬件设备,但仍存在服务器与工作站,UNIX与Windows这样异构平台间的数据互连问题。为实现异构连接和分布式应用,我们设计了基于CORBA的通信中间件,实现安全、高效、无缝的衔接,代替传统应用程序的网络开发方式,提高了开发质量和效率,降低了开发成本,并实现了通信一级的透明故障切换。   1 CORBA技术简介   CORBA(The Common Object Request Broker Architecture)通用对象请求代理结构是一个分布式的面向对象应用架构规范,它是由OMG研究组在80年代末提出,在90年代逐步完善,形成现在被软件行业普遍认可的标准CORBA/IIOP规范2.3。   在CORBA分布式应用中,关键是由两个特殊的对象管理组成:存根(stub)和框架(skeleton),如图1.1所示。从图中我们可以看到,在CORBA客户端,存根充当某个对象的代理,是通过安装在客户机上的ORB软件来发出访问请求的,而ORB则通过运行在局域网某处的智能代理来定位提供对象实现的服务器。   图1.1 CORBA工作原理   2 基于CORBA容错技术的研究   2.1 双服务器热备份框架   在以往的研究中,往往利用事件服务机制实现负载均衡的同时,也利用事件服务机制实现了容错,避免了从事件通道的单点故障。但是它并不是服务本身的容错,只是利用了CORBA一种服务机制实现了CORBA的另一种服务,因此本论文提出了基于CORBA的容错设计――双服务器热备份框架。   该框架中所有的客户端都通过服务器才能获得相应服务器复本应用。一旦服务器自身发生故障,可能导致整个分布式应用停止工作。如果采用双服务器热备份框架,实现主服务器与备份服务器之间的同步,则可以解决容错技术的单点故障问题。   在双服务器热备份架构中,有两个对等的服务器:主服务器和备份服务器,主从服务器始终保持同步。但是备份服务器对客户来说是透明的,或者说是客户并不需知道备份服务器的存在。客户请求仍旧发送给主服务器,所有的决策仍由主服务器做出,同时备份服务器始终与主服务器保持同步,实际上就是主服务器的热备份。一旦主服务器发生故障,备份服务器立刻启动成为主服务器。   一旦一方发现另一方超时不再有响应,则需要重新启动发生故障的服务器,并且将正常工作状态服务器的所有信息“倒”给发生故障的服务器。主服务器通过心跳信号监测备份服务器是否工作,如果超过timeout 时间间隔未接收到备份服务器的心跳信号,认为备份服务器发生故障,主服务器发出restart操作(出现某些软件故障),重新启动备份服务器,或者由于硬件故障,人为修复、启动备份服务器;若备份服务器超过timeout时间间隔未收到主服务器的心跳信号,则认为主服务器发生故障,备份服务器立即启动,担负服务器的任务,成为新的主服务器。   2.2 合成对象引用   在双服务器热备份框架容错技术的基础上,使用合成对象引用也显示出其独特的魅力。   应用程序在运行过程中,在进入CORBA环境之前,必须完成如下两个任务:一是被初始化到ORB环境;二是获得ORB对象的对象引用和其它一些重要的对象的对象引用如RootPOA或其它对象适配器的引用等。为了完成上述任务,ORB核心提供了相应的函数。   POA是在ORB和Servant之间的媒介,为创建CORBA对象和对象引用以及为将请求调度到相应的Servant上提供服务。POA提供灵活、可配置的服务对象的管理(包括对象的生命周期,激活和去活方式、引用的生成、服务的注册等等)、对象适配以及对象关键字的分配和生成等。POA对象引用的接口是由type_id和n个Tagged profile组成,type_id为对象类型,Tagged profile为它所基于的TCP/IP等协议。   在双服务器热备份框架上合成POA引用可以使系统的容错能力得到很大改善。合成引用的表示框图如图2.3所示:   图2.3 合成应用框图   将对象引用1和对象引用2合成为一个对象引用,客户端访问时只需面对合成的对象引用,而不必知道它最终访问的时主服务器还是备份服务器。系统设置客户端访问时先默认访问主服务器,一旦主服务器实效,它会由CORBA的应用程序控制自动切换到备份服务器

您可能关注的文档

文档评论(0)

lmother_lt + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档