[发明专利]一种分布式调用消息的方法和装置无效

专利信息
申请号: 200810094611.1 申请日: 2008-04-22
公开(公告)号: CN101262498A 公开(公告)日: 2008-09-10
发明(设计)人: 申海;李战杰;丁凯 申请(专利权)人: 华为技术有限公司
主分类号: H04L29/08 分类号: H04L29/08;H04L12/58;H04L12/56
代理公司: 北京集佳知识产权代理有限公司 代理人: 逯长明
地址: 518129广东省*** 国省代码: 广东;44
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 分布式 调用 消息 方法 装置
【说明书】:

技术领域

发明涉及通信技术领域,尤其涉及一种分布式调用消息的方法和装置。

背景技术

软总线技术提供跨平台、跨语言的组件通信能力,解决了系统的分布性、可扩展性问题,是实现分布式消息处理平台的基础。目前业界比较有影响力的软总线规范有3种,分别是:公共对象请求代理体系结构(CORBA,CommonObject Request Broker Architecture)、分布式组件对象模型(DCOM,DistributedComponent Object Model)和Java2平台企业版(J2EE,Java 2 Platform,EnterpriseEdition)。其中,CORBA是由对象管理组织(OMG,Object ManagementGovernment)制定的一种标准的面向对象应用程序的体系规范。DCOM是由微软公司提出的,支持在局域网、广域网甚至互联网上不同计算机的对象之间的通信。J2EE是SUN公司提出的分布式对象总线标准。以下就以CORBA为例简单介绍分布式平台下调用消息的方式。

当一个客户要使用某个对象实现所提供的服务时,其一般过程如下:

1)客户通过某种方式找到特定对象的对象引用;

2)如果该对象实现有相应的接口定义语言(IDL,Interface DefinitionLanguage)存根,则客户可以通过该IDL存根向对象实现发出请求,否则,在接口库的协助下,客户可以使用动态调用接口来向对象实现发送请求;

3)当对象调用请求通过IDL存根或动态调用接口到达对象请求代理(ORB,Object Request Broker)核心后,ORB核心负责请求的传送,将其传送给相应的对象适配器;

4)对象适配器接到该请求后,判断所请求的对象实现是否有IDL骨架存在,如果有,则对象适配器通过该IDL骨架调用执行对象实现的操作;否则,对象适配器将通过动态骨架接口中的动态实现例程来调用对象实现中的操作;

5)对象实现的特定操作方法体(method)执行完成后,结果将按照对象请求传递和执行路径逆向返回给客户对象,结果可以是输出参数、输入输出参数,返回值以及异常信息等。

一般来说,分布式调用分为两种方式:异步调用和同步调用。对于异步调用,调用后不能立即获得结果,并且不阻塞线程而是继续执行后续逻辑。异步调用适合于不立即关心调用结果或者连续进行一批不相关调用,以提高效率。对于同步调用,调用时后续逻辑被阻塞,直到调用完成获得结果或调用超时。

通常,开发者更适应于同步调用,它看起来和本地调用一样方便,但是由于分布式远程调用不可能像本地调用那样立即获得结果,而是会阻塞线程直到得到结果或超时,这势必影响调用性能。

如果想要提高系统的处理性能就需要使用异步调用方式,在定义IDL时需要定义两个单向的操作,一个用于发起调用,一个用于发送结果,分别由调用双方实现,并被客户端和服务器端调用。

在对现有技术的研究和实践过程中,发明人发现在现有技术中,对于异步调用,用户在调用后无法马上得到返回值,在调用的时候只管调用,对于调用结果需要在另外一个地方去接收和处理,这种开发方式在一定程度上打乱了程序逻辑,增加了开发的难度和成本,又降低了程序可读性和可维护性。对于应用开发来说,使用同步调用的开发效率远比异步方式高,但传统的分布式系统的同步调用要求将线程阻塞,对于大并发量的通信系统,有限的线程资源和高代价的锁操作会在很大程度上影响处理性能。综上,在现有技术的分布式调用消息的方法中,无法兼顾系统处理性能和业务开发效率。

发明内容

本发明实施例要解决的技术问题是提供一种分布式调用消息的方法和装置,能够兼顾系统处理性能和业务开发效率。

为解决上述技术问题,本发明所提供的分布式调用消息的方法和装置是通过以下技术方案实现的:

本发明实施例提供了一种分布式调用消息的方法,该方法包括:

在方法体内部采用异步方式发送调用请求消息;

保存所述调用请求消息的调用栈信息及运行当前状态并退出所述方法体;

当接收到所述调用请求消息的应答消息时,恢复保存的所述调用栈信息;

根据恢复的调用栈信息,恢复到退出所述方法体前所处运行当前状态,继续执行后续逻辑。

本发明实施例提供了一种分布式处理装置,该装置包括:消息调用单元和信息处理单元,其中:

所述消息调用单元包括:消息发送单元、信息存储单元、栈信息维护单元、消息接收单元,其中:

消息发送单元,在方法体内部采用异步方式发送调用请求消息;

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/200810094611.1/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top