[发明专利]一种用于处理RPC命令的方法与设备在审
申请号: | 201310752900.7 | 申请日: | 2013-12-31 |
公开(公告)号: | CN103746843A | 公开(公告)日: | 2014-04-23 |
发明(设计)人: | 覃安;覃左言;谭待;蒋锦鹏 | 申请(专利权)人: | 百度在线网络技术(北京)有限公司 |
主分类号: | H04L12/24 | 分类号: | H04L12/24;H04L1/00 |
代理公司: | 北京汉昊知识产权代理事务所(普通合伙) 11370 | 代理人: | 罗朋;周建华 |
地址: | 100085 北京*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 用于 处理 rpc 命令 方法 设备 | ||
技术领域
本发明涉及网络技术领域,尤其涉及一种用于处理RPC命令的技术。
背景技术
在RPC(Remote Procedure Call Protocol,远程过程调用协议)通信中,网络故障以及链路异常是导致通信数据传输不可靠的主要因素,如发送端向接收端发送RPC命令以执行远程操作时,若RPC命令发送后因为网络故障导致其无法收到确认信息(这在发送端反映出来的现象是超时或者断链),则可引起发送端做出失败执行远程操作或者命令的判断,然而,接收端实际上可能已经接收到RPC命令,并进入执行阶段,两者的实际效果不一致将导致发送端和接收端双方出现对RPC通信执行结果的误判,从而引发系统运行逻辑的异常。为解决该问题,现有的RPC处理技术中通常采用发送端向接收端重复发送RPC命令以尝试继续执行操作,而接收端将对接收到的每一重复RPC命令均执行一次,将多个重复RPC命令中的最后一个RPC命令的执行结果作为该多个重复RPC命令的执行结果,该方法不仅需要对RPC命令重复处理,还因重复执行RPC命令而需要额外的资源消耗并增加了性能损失,特别是当RPC命令执行比较耗时的情况,冗余操作会大大增加本次RPC通信的延时,导致执行性能下降。
发明内容
本发明的目的是提供一种用于处理RPC命令的方法与设备。
根据本发明的一个方面,提供了一种在第一设备端辅助处理RPC命令的方法,其中,该方法包括:
向对应的第二设备发送具有第一命令标识信息的第一RPC命令,其中,所述第一命令标识信息随所述第一RPC命令单调变化;
接收所述第二设备基于所述第一RPC命令所发送的对应执行结果。
根据本发明的另一个方面,还提供了一种在第二设备端处理RPC命令的方法,其中,该方法包括:
接收来自对应的第一设备的、具有第一命令标识信息的第一RPC命令,其中,所述第一命令标识信息随所述第一RPC命令单调变化;
根据所述第一RPC命令建立或更新待执行命令集合;
执行所述待执行命令集合中的RPC命令,并将该RPC命令对应的执行结果发送至所述第一设备。
根据本发明一个方面,还提供了一种辅助处理RPC命令的第一设备,其中,该第一设备包括:
用于向对应的第二设备发送具有第一命令标识信息的第一RPC命令的装置,其中,所述第一命令标识信息随所述第一RPC命令单调变化;
用于接收所述第二设备基于所述第一RPC命令所发送的对应执行结果的装置。
根据本发明的另一个方面,还提供了一种处理RPC命令的第二设备,其中,该第二设备包括:
用于接收来自对应的第一设备的、具有第一命令标识信息的第一RPC命令的装置,其中,所述第一命令标识信息随所述第一RPC命令单调变化;
用于根据所述第一RPC命令建立或更新待执行命令集合的装置;
用于执行所述待执行命令集合中的RPC命令,并将该RPC命令对应的执行结果发送至所述第一设备的装置。
根据本发明的再一个方面,还提供了一种处理RPC命令的设备,其中,该设备包括前述根据本发明一个方面的用于辅助处理RPC命令的第一设备,以及前述根据本发明另一个方面的处理RPC命令的第二设备。
根据本发明的又一个方面,还提供了一种处理RPC命令的系统,其中,该系统包括前述根据本发明一个方面的用于辅助处理RPC命令的第一设备,以及前述根据本发明另一个方面的处理RPC命令的第二设备。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于百度在线网络技术(北京)有限公司,未经百度在线网络技术(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310752900.7/2.html,转载请声明来源钻瓜专利网。