[发明专利]分布式系统远程过程调用通信方法无效
申请号: | 200910306242.2 | 申请日: | 2009-08-28 |
公开(公告)号: | CN102006315A | 公开(公告)日: | 2011-04-06 |
发明(设计)人: | 刘宝琴;罗向征 | 申请(专利权)人: | 迈普通信技术股份有限公司 |
主分类号: | H04L29/08 | 分类号: | H04L29/08;H04L12/56 |
代理公司: | 成都虹桥专利事务所 51124 | 代理人: | 李顺德 |
地址: | 610041 四川省*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 分布式 系统 远程 过程 调用 通信 方法 | ||
技术领域
本发明涉及分布式系统的通信领域,特别涉及远程过程调用(RPC)的通信方式。
背景技术
分布式机架系统是一种高处理能力、高转发能力和高接入能力的通信设备,对外为一个完整一致的系统,对内需要协调各个板卡协同工作,并保证各个板卡的一致性,因此涉及到众多模块和子系统间的卡间通信。各个板卡间的配置信息、状态信息、同步信息等都需要通过卡间通信来完成,故而对于通信性能要求极高。
在分布式机架系统中,如果需要在主控卡与线卡间通信,并且要求在线卡上进行一些处理并反馈处理结果时,使用远程过程调用可以使通信更加有效。使用此方式可以使各个模块不再关心分布式的通信细节,而关注于各个模块自身功能的设计,简化了系统的设计难度,节约了开发时间,并且可以保证系统一致的容错处理。但在分布式机架系统中如果使用传统的远程过程调用,则会面临通信性能问题。传统的远程过程调用通常是采用点到点的通信方式,这样应用在分布式机架系统中,当主控卡与多个线卡通信时,只好将一对多的通信转化成多个点对点的串行通信,并使目的板卡串行处理,这样一个远程过程调用执行的时间势必会与目的板卡的数量成线性相关,如果目的板卡数量足够大,一个远程过程调用执行时间就会太长,不能满足调用者的要求,不利于系统性能的提高。
发明内容
本发明所要解决的技术问题,就是针对现有技术的远程过程调用执行时间太长,不能满足调用者的要求,不利于提高系统性能的缺点,提供一种分布式系统远程过程调用通信方法。
本发明解决所述技术问题,采用的技术方案是,分布式系统远程过程调用通信方法,包括源板卡和目的板卡;其特征在于,包括以下步骤:
a、源板卡向各个目的板卡以广播方式发送远程过程调用请求报文;
b、各个目的板卡同时收到所述请求报文,进行并行处理;
c、各个目的板卡将其处理结果封装到应答报文中,并以单播方式发送给源板卡;
d、源板卡收到各个目的板卡发送的应答报文,经过处理后将结果反馈给调用者;
进一步的,步骤d中,源板卡收到各个目的板卡发送的应答报文后,需要检查各个应答报文的有效性,并将有效的应答报文中的执行结果汇总后反馈给远程过程调用的调用者;
更进一步的,源板卡执行步骤a后使用带定时器的计数信号量进行阻塞等待应答报文。
本发明的有益效果是,由于采用了广播发送请求报文以及并行处理报文的方式,对于一对多的远程过程调用,其总的调用时间为:一个请求报文的发送时间t1+目的板卡中一个最长的执行时间t2+最耗时的目的板卡应答报文发送时间t3+应答报文处理时间t4。对分布式机架系统,其连接的端口速度很高,故通信时间占用很少,并行处理时,在耗时最长的目的板卡执行处理时,其它板卡的应答报文已陆续收到,并被处理,故总的调用时间不会与目的板卡数量线性相关。在分布式机架系统中,由于很多调用都是针对对硬件和芯片读写的,耗时较长,故此本发明能够大大提高通信性能,充分发挥远程过程调用的优势。
附图说明
图1是本发明的分布式系统中的报文交互过程示意图;
图2是本发明一对多远程过程调用的流程图。
具体实施方式
下面结合附图详细描述本发明的技术方案。
本发明的技术方案,改变了传统的源板卡对目的板卡的点对点通信方式,并采用并行的应答报文处理模式,极大的缩短了远程过程调用的响应周期。
实施例
本实施例以一个分布式机架系统,该系统中的主控卡(MPU卡)为源板卡,四张线卡(LPU卡)作为目的板卡,下面描述其一对多的远程过程调用过程。(此处源板卡以MPU卡为例,但本发明不限于源板卡为MPU卡)。
图1所示为从MPU卡发出的到四个LPU卡的一对多的远程过程调用请求报文交互图。在MPU卡上t1时刻,远程过程调用的request1报文(请求报文1)被广播发送到4个LPU卡,各个LPU卡并行处理,完成后,各个LPU卡各自封装一个带有执行结果和输出参数(该输出参数为可选)的应答报文,以单播方式发送回MPU卡。MPU在t2,t3,t4,t5时刻分别收到reply1(应答报文1,以下类同),reply2,reply4,reply3,解封装应答报文,并检查和汇总结果,返回调用者,完成此次一对多远程过程调用。
如图2所示,MPU卡的一对多远程过程调用实施步骤如下:
在步骤10中封装远程过程调用的报文头及输入参数和参数标志等形成请求报文。
在步骤20中将此请求报文广播发送到各LPU。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于迈普通信技术股份有限公司,未经迈普通信技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910306242.2/2.html,转载请声明来源钻瓜专利网。