[发明专利]一种远程过程调用方法、装置、设备及介质有效
申请号: | 201910271974.6 | 申请日: | 2019-04-04 |
公开(公告)号: | CN109981674B | 公开(公告)日: | 2021-08-17 |
发明(设计)人: | 陈俊超 | 申请(专利权)人: | 北京信而泰科技股份有限公司 |
主分类号: | H04L29/06 | 分类号: | H04L29/06;G06F9/54 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 王宝筠 |
地址: | 100085 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 远程 过程 调用 方法 装置 设备 介质 | ||
本申请公开了一种远程过程调用装置,包括消息发送模块、消息接收模块、管理模块、网络模块、编解码模块以及代码生成模块,其通过编解码模块对所述远程过程调用请求进行编码,并在所述远程过程调用请求编码后的长度大于预设长度时进行分片,每个分片具有分片标志位,用于表征该分片是否为远程过程调用消息的所有分片中的最后一个分片,然后按照分片向所述消息发送模块发送编码后的数据,以使所述消息发送模块通过所述网络模块向所述对端设备发送所述编码后的数据。如此,避免客户机占用大量的系统内存,并且通过分片技术实现了将文件作为进程参数传输给服务端,而且,通过传输分片提高了传输效率。本申请还公开了对应的方法、设备及介质。
技术领域
本申请涉及通信领域,尤其涉及一种远程过程调用方法、装置、设备及计算机可读存储介质。
背景技术
随着通信技术的发展,远程过程调用(Remote Procedure Call,RPC)应运而生。所谓RPC,具体是指通过网络从远程计算机上请求服务,而不需要了解底层网络技术的协议。
RPC采用客户机/服务器模式,请求程序相当于一个客户机,而服务提供程序相当于一个服务器。首先,客户机调用进程发送一个有进程参数的调用信息(即RPC消息)到服务进程,然后等待应答信息。在服务器端,进程保持睡眠状态直到RPC消息到达为止。当RPC消息到达时,服务器获得进程参数,基于该进程参数计算结果,并发送答复信息,然后等待下一个调用信息,最后,客户端调用进程接收答复信息,获得进程结果,然后调用执行继续进行。
目前RPC实现如谷歌的Google Protocol Buffer中,客户机发送RPC消息到服务进程时,往往是通过发送一个TCP/UDP消息来实现。当客户机发送的进程参数调用信息也即RPC消息的数据量很大时,客户机将占用大量的系统内存,甚至可能因为内存用尽而无法完成消息发送;并且,客户机无法将文件当做进程参数调用信息传输给服务器。
发明内容
有鉴于此,本申请提供了一种远程过程调用方法,在RPC消息较大时,对其进行分片处理,避免客户机占用大量的系统内存,使得内存使用保持平稳可控,并且通过分片技术实现了将文件作为进程参数传输给服务端。对应地,本申请还提供了远程过程调用装置、设备、计算机可读存储介质以及计算机程序产品。
本申请第一方面提供了一种远程过程调用装置,所述装置包括:
消息发送模块、消息接收模块、管理模块、网络模块、编解码模块以及代码生成模块;
所述网络模块,用于与对端设备建立连接,并维护所述连接;
所述代码生成模块,用于根据远程过程调用消息模板生成第一代码和第二代码,所述第一代码用于将符合所述远程过程调用消息模板的用户数据封装成远程过程调用请求,所述第二代码用于将解码后的远程过程调用消息解析成符合所述远程过程调用消息模板的用户数据;
所述管理模块,用于向所述消息发送模块发送所述远程过程调用请求;
所述消息发送模块,用于将所述远程过程调用请求封装成数据结构存储在消息队列中,在检测到所述消息队列中有消息需要处理时,从所述消息队列的头部取出第一个远程过程调用请求,并向所述编解码模块发送所述远程过程调用请求;
所述编解码模块,用于对所述远程过程调用请求进行编码,并在所述远程过程调用请求编码后的长度大于预设长度时进行分片,每个分片具有分片标志位,用于表征该分片是否为远程过程调用消息的所有分片中的最后一个分片,然后按照分片向所述消息发送模块发送编码后的数据,以使所述消息发送模块通过所述网络模块向所述对端设备发送所述编码后的数据;
所述管理模块,还用于若需要所述对端设备的响应,则注册消息处理者;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京信而泰科技股份有限公司,未经北京信而泰科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910271974.6/2.html,转载请声明来源钻瓜专利网。