CN101374154A - 一种远程过程调用请求的处理方法和装置 - Google Patents
一种远程过程调用请求的处理方法和装置 Download PDFInfo
- Publication number
- CN101374154A CN101374154A CNA2008101676711A CN200810167671A CN101374154A CN 101374154 A CN101374154 A CN 101374154A CN A2008101676711 A CNA2008101676711 A CN A2008101676711A CN 200810167671 A CN200810167671 A CN 200810167671A CN 101374154 A CN101374154 A CN 101374154A
- Authority
- CN
- China
- Prior art keywords
- rpc
- request
- many
- processing
- transmission channel
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例公开了一种RPC请求的处理方法,包括:根据用户进程信息,向RPC请求分配预先建立的多条RPC传输通道中的一条;将所述RPC请求封装成协议报文,并将所述协议报文通过分配的RPC传输通道传输到服务器端。本发明实施例还公开了一种RPC请求的处理装置,包括:分配模块,用于根据用户进程信息,向RPC请求分配预先建立的多条RPC传输通道中的一条;封装模块,用于将所述RPC请求封装成协议报文;传输模块,用于将所述封装模块封装的所述协议报文通过所述分配模块分配的所述RPC传输通道传输到服务器端。本发明实施例根据用户进程信息向RPC请求分配传输通道,提升了RPC请求的传输速率。
Description
技术领域
本发明涉及计算机网络技术领域,特别是涉及一种远程过程调用请求的处理方法和装置。
背景技术
RPC(Remote Procedure Calls,远程过程调用)是基于本地过程调用提出的协议。本地过程调用是一种在单一计算机上运行的程序中传输控制和数据的机制,而RPC将此机制扩展到位于通讯网络上的计算机之间传输控制与数据。RPC采用的通讯协议为TCP(Transmission Control Protocol,传输控制协议)/IP(Internet Protocol,网际协议),TCP/IP为RPC提供了基本的通信能力,RPC在TCP/IP的基础上提供数据发送、接收和超时处理机制,完成调用过程实现和任务调度。
现有技术中,RPC为每个客户端创建一个传输通道,而每个传输通道对应一个TCP或者UDP(User Datagram Protocol,用户数据报协议)套接字socket。RPC将每个请求使用RPC接口的RPC请求作为一个任务,同时可能有多个并发任务运行,但处理的传输通道只有一个,只能将任务放在任务队列上等待处理。任务调度按照先来先服务的原则从任务队列中取出任务并使任务运行,达成单一传输的效果。
发明人在实现本发明的过程中,发现现有技术至少存在如下问题:
当大量RPC请求并发来临时,只有一个传输通道来处理,使得RPC请求排队等待处理,调用请求时延随队列的长度急剧增加,无法充分利用高容量网络的带宽资源,降低了网络传输性能。
发明内容
本发明实施例提供一种RPC请求的处理方法和装置,提高了基于RPC的应用程序的传输性能。
本发明实施例一方面提出一种RPC请求的处理方法,包括:
根据用户进程信息,向RPC请求分配预先建立的多条RPC传输通道中的一条;
将所述RPC请求封装成协议报文,并将所述协议报文通过分配的RPC传输通道传输到服务器端。
另一方面,本发明实施例还提出一种RPC请求的处理装置,包括:
分配模块,用于根据用户进程信息,向RPC请求分配预先建立的多条RPC传输通道中的一条;
封装模块,用于将所述RPC请求封装成协议报文;
传输模块,用于将所述封装模块封装的所述协议报文通过所述分配模块分配的所述RPC传输通道传输到服务器端。
本发明实施例的技术方案具有以下优点,因为根据用户进程信息向RPC请求分配传输通道,并发处理多个RPC请求,从而,减少了RPC请求时延,提升了RPC请求的传输速率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中的一种RPC请求的处理方法流程图;
图2为本发明实施例中的处理RPC请求的一种具体实现方式流程图;
图3为本发明实施例中的一种RPC请求的处理装置结构图;
图4为本发明实施例中的一种RPC请求的处理装置具体结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,为本发明实施例中的一种RPC请求的处理方法流程图,包括以下步骤:
步骤101,根据用户进程信息,向RPC请求分配预先建立的多条RPC传输通道中的一条。
本发明实施例中,存在多条RPC传输通道。RPC请求为用户向RPC客户端发送的请求使用RPC接口的请求消息,RPC客户端接收到RPC请求后,根据用户进程信息从多条RPC传输通道中为RPC请求分配一条服务于该RPC请求的RPC传输通道。分配算法为哈希hash算法。
步骤102,将RPC请求封装成协议报文,并将协议报文通过分配的RPC传输通道传输到服务器端。
RPC客户端根据用户进程信息和已配置的RPC传输通道,可以同时将多个RPC请求封装成协议报文,并将该协议报文通过RPC传输通道传输到服务器端。该协议报文为TCP报文或UDP报文。多条RPC传输通道同时处理并发的RPC请求。相同的用户进程,一般由同一个传输通道来服务,而同一条RPC传输通道可能服务于多个用户进程。
本发明实施例的技术方案具有以下优点,因为根据用户进程信息向RPC请求分配传输通道,并发处理多个RPC请求,减少了RPC请求时延,提升了RPC请求的传输速率。
如图2所示,为本发明实施例中的处理RPC请求的一种具体实现方式流程图,包括以下步骤:
步骤201,配置多条RPC传输通道。
本发明实施例中,RPC传输通道不再是唯一的,而是可配置的多条RPC传输通道。配置多条RPC传输通道,具体包括:配置RPC传输通道的数量和最大数据任务量。每条RPC传输通道对应一个TCP/UDP socket。
步骤202,根据用户进程信息,向RPC请求分配预先建立的多条RPC传输通道中的一条。
RPC请求为用户向RPC客户端发送的请求使用RPC接口的请求消息,RPC客户端接收到RPC请求后,根据用户进程信息从多条RPC传输通道中为RPC请求分配一条服务于该RPC请求的RPC传输通道。分配算法为hash算法。
以RPC的一个重要应用NFS(Networking File System,网络文件系统)为例,NFS利用RPC将本地的文件系统调用转换成RPC请求,并将该RPC请求传输到远程计算机系统,操作远程计算机的文件系统,将操作结果返回给NFS客户端。当多个用户采用多个进程并发访问远程文件系统时,NFS客户端向RPC客户端发起多个并发的RPC请求,RPC客户端根据用户进程信息,从多条RPC传输通道中为每个并发的RPC请求分配一条服务于该RPC请求的RPC传输通道。
步骤203,将RPC请求封装成协议报文,并将协议报文通过分配的RPC传输通道传输到服务器端。
RPC客户端根据用户进程信息和已配置的RPC传输通道,可以同时将多个RPC请求封装成协议报文,并将该协议报文通过RPC传输通道传输到服务器端。该协议报文为TCP报文或UDP报文。多条RPC传输通道同时处理并发的RPC请求。相同的用户进程,一般由同一个传输通道来服务,而同一条RPC传输通道可能服务于多个用户进程。NFS应用中,RPC客户端将封装后的TCP/UDP报文传输到NFS服务器,达到并发传输的效果。
本发明实施例的技术方案具有以下优点,因为根据用户进程信息向RPC请求分配传输通道,并发处理多个RPC请求,减少了RPC请求时延,提升了RPC请求的传输速率,充分利用了高容量网络的带宽资源,提高了网络的传输性能。
如图3所示,为本发明实施例中的一种RPC请求的处理装置结构图,包括:
分配模块301,用于根据用户进程信息,向RPC请求分配预先建立的多条RPC传输通道中的一条。
本发明实施例中,存在多条RPC传输通道。RPC请求为用户向RPC客户端发送的请求使用RPC接口的请求消息。分配模块301,用于根据用户进程信息,从多条RPC传输通道中为RPC客户端接收到的RPC请求分配一条服务于该RPC请求的RPC传输通道。分配算法为hash算法。
封装模块302,用于将RPC请求封装成协议报文。
封装模块302,用于根据用户进程信息和已配置的RPC传输通道,将多个RPC请求封装成协议报文,该协议报文为TCP报文或UDP报文。
传输模块303,用于将封装模块302封装的协议报文通过分配模块301分配的RPC传输通道传输到服务器端。
传输模块303,用于将根据RPC请求封装成的协议报文通过RPC传输通道传输到服务器端。该协议报文为TCP报文或UDP报文。多条RPC传输通道同时处理并发的RPC请求。相同的用户进程,一般由同一个传输通道来服务,而同一条RPC传输通道可能服务于多个用户进程。
本发明实施例的技术方案具有以下优点,因为根据用户进程信息向RPC请求分配传输通道,并发处理多个RPC请求,减少了RPC请求时延,提升了RPC请求的传输速率。
如图4所示,为本发明实施例中的一种RPC请求的处理装置具体结构图,包括:
配置模块401,用于配置多条RPC传输通道,供分配模块402使用。
本发明实施例中,RPC传输通道不再是唯一的,而是可配置的多条RPC传输通道。配置模块401,用于配置多条RPC传输通道。配置多条RPC传输通道,具体包括:配置RPC传输通道的数量和最大数据任务量。每条RPC传输通道对应一个TCP/UDP socket。
分配模块402,用于根据用户进程信息,向RPC请求分配预先建立的多条RPC传输通道中的一条。
RPC请求为用户向RPC客户端发送的请求使用RPC接口的请求消息。分配模块402,用于根据用户进程信息,从多条RPC传输通道中为RPC客户端接收到的RPC请求分配一条服务于该RPC请求的RPC传输通道。分配算法为hash算法。
封装模块403,用于将RPC请求封装成协议报文。
封装模块403,用于根据用户进程信息和已配置的RPC传输通道,将多个RPC请求封装成协议报文,该协议报文为TCP报文或UDP报文。
传输模块404,用于将封装模块403封装的协议报文通过分配模块402分配的RPC传输通道传输到服务器端。
传输模块404,用于将根据RPC请求封装成的协议报文通过RPC传输通道传输到服务器端。该协议报文为TCP报文或UDP报文。多条RPC传输通道同时处理并发的RPC请求。相同的用户进程,一般由同一个传输通道来服务,而同一条RPC传输通道可能服务于多个用户进程。
本发明实施例的技术方案具有以下优点,因为根据用户进程信息向RPC请求分配传输通道,并发处理多个RPC请求,减少了RPC请求时延,提升了RPC请求的传输速率,充分利用了高容量网络的带宽资源,提高了网络的传输性能。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台终端设备(可以是手机,个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本发明的保护范围。
Claims (8)
1.一种远程过程调用RPC请求的处理方法,其特征在于,包括:
根据用户进程信息,向RPC请求分配预先建立的多条RPC传输通道中的一条;
将所述RPC请求封装成协议报文,并将所述协议报文通过分配的RPC传输通道向服务器端传输。
2.如权利要求1所述RPC请求的处理方法,其特征在于,所述向RPC请求分配预先建立的多条RPC传输通道中的一条之前,还包括:
配置所述多条RPC传输通道。
3.如权利要求2所述RPC请求的处理方法,其特征在于,所述配置多条RPC传输通道,具体包括:
配置RPC传输通道的数量和最大数据任务量。
4.如权利要求1所述RPC请求的处理方法,其特征在于,所述协议报文为传输控制协议TCP报文或用户数据报协议UDP报文。
5.如权利要求1所述RPC请求的处理方法,其特征在于,通过哈希算法向所述RPC请求分配所述预先建立的多条RPC传输通道中的一条。
6.一种RPC请求的处理装置,其特征在于,包括:
分配模块,用于根据用户进程信息,向RPC请求分配预先建立的多条RPC传输通道中的一条;
封装模块,用于将所述RPC请求封装成协议报文;
传输模块,用于将所述封装模块封装的所述协议报文通过所述分配模块分配的所述RPC传输通道传输到服务器端。
7.如权利要求6所述RPC请求的处理装置,其特征在于,还包括:
配置模块,用于配置多条RPC传输通道,供所述分配模块使用。
8.如权利要求6所述RPC请求的处理装置,其特征在于,所述封装模块将所述RPC请求封装成协议报文中所述协议报文为传输控制协议TCP报文或用户数据报协议UDP报文。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2008101676711A CN101374154A (zh) | 2008-10-22 | 2008-10-22 | 一种远程过程调用请求的处理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2008101676711A CN101374154A (zh) | 2008-10-22 | 2008-10-22 | 一种远程过程调用请求的处理方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101374154A true CN101374154A (zh) | 2009-02-25 |
Family
ID=40448077
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2008101676711A Pending CN101374154A (zh) | 2008-10-22 | 2008-10-22 | 一种远程过程调用请求的处理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101374154A (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102594891A (zh) * | 2012-02-17 | 2012-07-18 | 中国科学院计算技术研究所 | 用于处理远程过程调用请求的方法及系统 |
CN103890746A (zh) * | 2012-09-28 | 2014-06-25 | 华为技术有限公司 | 报文发送控制方法、处理方法、设备及系统 |
CN104468538A (zh) * | 2014-11-26 | 2015-03-25 | 小米科技有限责任公司 | 业务请求处理方法及装置 |
CN104702627A (zh) * | 2015-04-01 | 2015-06-10 | 南京天溯自动化控制系统有限公司 | 一种基于报文分类的同步并发通信方法及系统 |
CN105721512A (zh) * | 2016-05-06 | 2016-06-29 | 深圳前海大数点科技有限公司 | 一种远程过程调用系统及其方法 |
CN106027599A (zh) * | 2016-04-29 | 2016-10-12 | 掌赢信息科技(上海)有限公司 | 一种数据传输通道建立方法、系统和服务器 |
CN107483424A (zh) * | 2017-08-07 | 2017-12-15 | 北京金山安全管理系统技术有限公司 | 远程过程调用协议的处理方法和装置 |
CN107948215A (zh) * | 2018-01-17 | 2018-04-20 | 广州汇智通信技术有限公司 | 一种基于udp通信的远程调用方法和装置 |
CN108347445A (zh) * | 2018-03-19 | 2018-07-31 | 武汉斗鱼网络科技有限公司 | 实现远程调用的方法及装置 |
CN108616523A (zh) * | 2018-04-13 | 2018-10-02 | 航天科技控股集团股份有限公司 | 一种基于智能管理平台的消息处理系统及方法 |
CN111245822A (zh) * | 2020-01-08 | 2020-06-05 | 北京松果电子有限公司 | 远程过程调用处理方法、装置及计算机存储介质 |
-
2008
- 2008-10-22 CN CNA2008101676711A patent/CN101374154A/zh active Pending
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102594891A (zh) * | 2012-02-17 | 2012-07-18 | 中国科学院计算技术研究所 | 用于处理远程过程调用请求的方法及系统 |
CN103890746A (zh) * | 2012-09-28 | 2014-06-25 | 华为技术有限公司 | 报文发送控制方法、处理方法、设备及系统 |
CN103890746B (zh) * | 2012-09-28 | 2016-12-28 | 华为技术有限公司 | 报文发送控制方法、处理方法、设备及系统 |
CN104468538A (zh) * | 2014-11-26 | 2015-03-25 | 小米科技有限责任公司 | 业务请求处理方法及装置 |
CN104702627B (zh) * | 2015-04-01 | 2017-12-26 | 南京天溯自动化控制系统有限公司 | 一种基于报文分类的同步并发通信方法及系统 |
CN104702627A (zh) * | 2015-04-01 | 2015-06-10 | 南京天溯自动化控制系统有限公司 | 一种基于报文分类的同步并发通信方法及系统 |
CN106027599A (zh) * | 2016-04-29 | 2016-10-12 | 掌赢信息科技(上海)有限公司 | 一种数据传输通道建立方法、系统和服务器 |
CN106027599B (zh) * | 2016-04-29 | 2020-01-17 | 掌赢信息科技(上海)有限公司 | 一种数据传输通道建立方法、系统和服务器 |
CN105721512A (zh) * | 2016-05-06 | 2016-06-29 | 深圳前海大数点科技有限公司 | 一种远程过程调用系统及其方法 |
CN105721512B (zh) * | 2016-05-06 | 2018-11-02 | 深圳大数点科技有限公司 | 一种采用远程过程调用系统的方法 |
CN107483424A (zh) * | 2017-08-07 | 2017-12-15 | 北京金山安全管理系统技术有限公司 | 远程过程调用协议的处理方法和装置 |
CN107483424B (zh) * | 2017-08-07 | 2020-11-10 | 北京金山安全管理系统技术有限公司 | 远程过程调用协议的处理方法和装置 |
CN107948215A (zh) * | 2018-01-17 | 2018-04-20 | 广州汇智通信技术有限公司 | 一种基于udp通信的远程调用方法和装置 |
CN108347445A (zh) * | 2018-03-19 | 2018-07-31 | 武汉斗鱼网络科技有限公司 | 实现远程调用的方法及装置 |
CN108616523A (zh) * | 2018-04-13 | 2018-10-02 | 航天科技控股集团股份有限公司 | 一种基于智能管理平台的消息处理系统及方法 |
CN111245822A (zh) * | 2020-01-08 | 2020-06-05 | 北京松果电子有限公司 | 远程过程调用处理方法、装置及计算机存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101374154A (zh) | 一种远程过程调用请求的处理方法和装置 | |
CN105159781B (zh) | 调节智能终端应用网速的方法、装置和智能终端 | |
US20170279877A1 (en) | Load balancing method, load balancing system, load balancing device and topology reduction method | |
CN110958281B (zh) | 基于物联网的数据传输方法及通信装置 | |
US10484463B2 (en) | Load balancing system, load balancing device and topology management method | |
CN103176780B (zh) | 一种多网络接口绑定系统及方法 | |
CN109327513B (zh) | 交互方法、装置及计算机可读存储介质 | |
EP3595325B1 (en) | Method for realizing multicast and relevant network device | |
CN102595208A (zh) | 云端控制网络化视频图像处理流媒体服务系统及方法 | |
CN103200606A (zh) | 终端和数据业务处理方法 | |
CN105721512A (zh) | 一种远程过程调用系统及其方法 | |
CN113596191A (zh) | 一种数据处理方法、网元设备以及可读存储介质 | |
CN107529186A (zh) | 多通道传输上行数据的方法及系统、客户端、服务器 | |
CN104717189A (zh) | 网络数据包的发送方法及装置 | |
CN102571912B (zh) | 一种实现基于多核处理器和混合操作系统的卸载协议栈的方法 | |
CN111338780B (zh) | 并发文件的传输方法及装置 | |
CN112673605A (zh) | 动态多端点生成 | |
CN102143040A (zh) | 流量控制的方法和装置 | |
CN112104679A (zh) | 处理超文本传输协议请求的方法、装置、设备和介质 | |
CN104113564A (zh) | 超文本传输协议连接复用方法、设备、系统及终端 | |
CN107612957A (zh) | 多通道传输下行数据的方法及系统、客户端、服务器 | |
CN1897537A (zh) | 网络中对等实体之间实现资源请求处理的方法及装置 | |
Kumar et al. | Qoe-aware video streaming over integrated space and terrestrial 5g networks | |
WO2012094901A1 (zh) | 超长短信发送/接收方法、装置及系统 | |
US11575621B2 (en) | Controlling socket receive buffer for traffic optimization |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20090225 |