消息处理方法、装置、客户端及服务端制造方法及图纸

技术编号:15706531 阅读:98 留言:0更新日期:2017-06-26 20:18
本发明专利技术公开了一种消息处理方法、装置、客户端及服务端。其中,该方法包括:采用第一Redis队列作为中间传输介质向服务端发送用于请求远程调用的请求消息;采用第二Redis队列作为中间传输介质接收服务端对请求消息进行处理后反馈的反馈消息。通过本发明专利技术,Redis队列作为客户端和服务端之间的中间传输介质,解决了相关技术中,实现RPC存在处理复杂,效率低的技术问题。达到了实现RPC处理简单,高效的目的。

Message processing method, device, client and server

The invention discloses a message processing method, a device, a client and a server. Among them, the method includes: the first Redis queue as an intermediate transmission medium to the server sends a request message for requesting the remote call; using second Redis queue as intermediate transmission medium server to receive feedback message request message for processing feedback. Through the invention, the Redis queue acts as an intermediate transmission medium between the client and the server, and solves the technical problems of complicated processing and low efficiency in the realization of the RPC in the relevant technology. It achieves the goal of simple and efficient RPC processing.

【技术实现步骤摘要】
消息处理方法、装置、客户端及服务端
本专利技术涉及网络
,具体而言,涉及一种消息处理方法、装置、客户端及服务端。
技术介绍
远程过程调用(RemoteProcedureCall,简称为RPC)模式是一个分布式计算的客户端/服务器模式,由客户端向服务器发出一个执行若干过程请求,服务端接受请求,使用客户端提供的参数,计算完成之后将结果返回给客户端。RPC提供了一个透明的机制让使用者调用远程服务的方法像在本地一样,方便构建分布式服务、分布式计算、远程服务调用等。RPC的实现包含了协议制定、网络传输、消息分发等。目前实现RPC的框架有gRPC、Thrift、Dubbo,这些框架都是相对独立庞大臃肿,而且需要另外安装部署。如果从零开始实现,又需要处理复杂网络通信问题、网络组包拆包、服务可用性问题等。因此,在相关技术中,实现RPC存在处理复杂,效率低的问题。针对上述的问题,目前尚未提出有效的解决方案。
技术实现思路
本专利技术实施例提供了一种消息处理方法、装置、客户端及服务端,以至少解决相关技术中,实现RPC存在处理复杂,效率低的技术问题。根据本专利技术实施例的一个方面,提供了一种消息处理方法,包括:采用第一Redis队列作为中间传输介质向服务端发送用于请求远程调用的请求消息;采用第二Redis队列作为中间传输介质接收所述服务端对所述请求消息进行处理后反馈的反馈消息。可选地,采用所述第一Redis队列作为中间传输介质向所述服务端发送用于请求远程调用的所述请求消息包括:在所述服务端为多个的情况下,所述请求消息中携带有用于标识所述服务端的标识信息,采用多个第一Redis队列作为中间传输介质向多个服务端并行发送用于请求远程调用的请求消息。可选地,采用所述第一Redis队列作为中间传输介质向所述服务端发送用于请求远程调用的所述请求消息包括:将所述请求消息封装成包括以下信息的格式:所述服务端的名称,请求的所述远程的方法,请求远程调用的参数,所述请求消息的序列号;将封装后的请求消息序列化成字符串;将序列化后的请求消息使用Redis的rpush方法发送给所述第一Redis队列,用于通过所述第一Redis队列发送给所述服务端。可选地,采用所述第二Redis队列作为中间传输介质接收所述服务端对所述请求消息进行处理后反馈的反馈消息包括:从所述第二Redis队列中读取所述服务端反馈的反馈消息;将所述反馈消息反序列化成包括以下信息的格式:所述第一Redis队列的名称,所述第二Redis队列的名称,所述服务端对所述请求消息进行处理后的结果状态,所述服务端对所述请求消息进行处理后的处理结果,所述请求消息中所述包括的所述请求消息的序列号;根据反序列化后的反馈消息获得所述远程调用对应的处理结果。根据本专利技术的另一方面,提供了一种消息处理方法,包括:采用第一Redis队列作为中间传输介质接收客户端发送的用于请求远程调用的请求消息;对所述请求消息进行处理后获得反馈消息;采用第二Redis队列作为中间传输介质向所述客户端反馈所述反馈消息。可选地,采用所述第二Redis队列作为中间传输介质向所述客户端反馈所述反馈消息包括:在所述客户端为多个的情况下,所述反馈消息中携带有用于标识所述客户端的标识信息,采用多个第二Redis队列作为中间传输介质向多个客户端反馈所述反馈消息。可选地,对所述请求消息进行处理后获得所述反馈消息包括:将从所述第一Redis队列中读取的所述请求消息反序列化得到包括以下信息的格式的消息:服务端的名称,请求的所述远程的方法,请求远程调用的参数,所述请求消息的序列号;从反序列化后的消息中读取请求的所述远程的方法,请求远程调用的参数,获得对应处理结果;将所述处理结果封装成包括以下信息的格式的反馈消息:所述第一Redis队列的名称,所述第二Redis队列的名称,所述服务端对所述请求消息进行处理后的结果状态,所述服务端对所述请求消息进行处理后的处理结果,所述请求消息中所述包括的所述请求消息的序列号。根据本专利技术的一方面,提供了一种消息处理装置,包括:第一发送模块,用于采用第一Redis队列作为中间传输介质向服务端发送用于请求远程调用的请求消息;第一接收模块,用于采用第二Redis队列作为中间传输介质接收所述服务端对所述请求消息进行处理后反馈的反馈消息。可选地,所述第一发送模块,还用于在所述服务端为多个的情况下,所述请求消息中携带有用于标识所述服务端的标识信息,采用多个第一Redis队列作为中间传输介质向多个服务端并行发送用于请求远程调用的请求消息。可选地,所述第一发送模块包括:第一封装单元,用于将所述请求消息封装成包括以下信息的格式:所述服务端的名称,请求的所述远程的方法,请求远程调用的参数,所述请求消息的序列号;第一序列化单元,用于将封装后的请求消息序列化成字符串;第一发送单元,用于将序列化后的请求消息使用Redis的rpush方法发送给所述第一Redis队列,用于通过所述第一Redis队列发送给所述服务端。可选地,所述第一接收模块包括:第一读取单元,用于从所述第二Redis队列中读取所述服务端反馈的反馈消息;第一反序列化单元,用于将所述反馈消息反序列化成包括以下信息的格式:所述第一Redis队列的名称,所述第二Redis队列的名称,所述服务端对所述请求消息进行处理后的结果状态,所述服务端对所述请求消息进行处理后的处理结果,所述请求消息中所述包括的所述请求消息的序列号;获得单元,用于根据反序列化后的反馈消息获得所述远程调用对应的处理结果。根据本专利技术的另一方面,提供了一种客户端,包括:上述任一项所述的装置。根据本专利技术的一方面,提供了一种消息处理装置,包括:第二接收模块,用于采用第一Redis队列作为中间传输介质接收客户端发送的用于请求远程调用的请求消息;处理模块,用于对所述请求消息进行处理后获得反馈消息;反馈模块,用于采用第二Redis队列作为中间传输介质向所述客户端反馈所述反馈消息。可选地,所述反馈模块,还用于在所述客户端为多个的情况下,所述反馈消息中携带有用于标识所述客户端的标识信息,采用多个第二Redis队列作为中间传输介质向多个客户端反馈所述反馈消息。可选地,所述处理模块包括:第二反序列化单元,用于将从所述第一Redis队列中读取的所述请求消息反序列化得到包括以下信息的格式的消息:服务端的名称,请求的所述远程的方法,请求远程调用的参数,所述请求消息的序列号;第二读取单元,用于从反序列化后的消息中读取请求的所述远程的方法,请求远程调用的参数,获得对应处理结果;第二封装单元,用于将所述处理结果封装成包括以下信息的格式的反馈消息:所述第一Redis队列的名称,所述第二Redis队列的名称,所述服务端对所述请求消息进行处理后的结果状态,所述服务端对所述请求消息进行处理后的处理结果,所述请求消息中所述包括的所述请求消息的序列号。根据本专利技术的一方面,提供了一种服务端,包括:上述任一项所述的装置。根据本专利技术的还一方面,提供了一种消息处理系统,包括:上述所述的客户端,上述所示的服务端,以及作为所述客户端和所述服务端之间的中间传输介质用于传输消息的Redis集群。根据本专利技术的还一方面,提供了一种存储介质,所述存储介质包括存储的程序,其中,所述程序执行上述本文档来自技高网...
消息处理方法、装置、客户端及服务端

【技术保护点】
一种消息处理方法,其特征在于,包括:采用第一Redis队列作为中间传输介质向服务端发送用于请求远程调用的请求消息;采用第二Redis队列作为中间传输介质接收所述服务端对所述请求消息进行处理后反馈的反馈消息。

【技术特征摘要】
1.一种消息处理方法,其特征在于,包括:采用第一Redis队列作为中间传输介质向服务端发送用于请求远程调用的请求消息;采用第二Redis队列作为中间传输介质接收所述服务端对所述请求消息进行处理后反馈的反馈消息。2.根据权利要求1所述的方法,其特征在于,采用所述第一Redis队列作为中间传输介质向所述服务端发送用于请求远程调用的所述请求消息包括:在所述服务端为多个的情况下,所述请求消息中携带有用于标识所述服务端的标识信息,采用多个第一Redis队列作为中间传输介质向多个服务端并行发送用于请求远程调用的请求消息。3.根据权利要求1所述的方法,其特征在于,采用所述第一Redis队列作为中间传输介质向所述服务端发送用于请求远程调用的所述请求消息包括:将所述请求消息封装成包括以下信息的格式:所述服务端的名称,请求的所述远程的方法,请求远程调用的参数,所述请求消息的序列号;将封装后的请求消息序列化成字符串;将序列化后的请求消息使用Redis的rpush方法发送给所述第一Redis队列,用于通过所述第一Redis队列发送给所述服务端。4.根据权利要求3所述的方法,其特征在于,采用所述第二Redis队列作为中间传输介质接收所述服务端对所述请求消息进行处理后反馈的反馈消息包括:从所述第二Redis队列中读取所述服务端反馈的反馈消息;将所述反馈消息反序列化成包括以下信息的格式:所述第一Redis队列的名称,所述第二Redis队列的名称,所述服务端对所述请求消息进行处理后的结果状态,所述服务端对所述请求消息进行处理后的处理结果,所述请求消息中所述包括的所述请求消息的序列号;根据反序列化后的反馈消息获得所述远程调用对应的处理结果。5.一种消息处理方法,其特征在于,包括:采用第一Redis队列作为中间传输介质接收客户端发送的用于请求远程调用的请求消息;对所述请求消息进行处理后获得反馈消息;采用第二Redis队列作为中间传输介质向所述客户端反馈所述反馈消息。6.根据权利要求5所述的方法,其特征在于,采用所述第二Redis队列作为中间传输介质向所述客户端反馈所述反馈消息包括:在所述客户端为多个的情况下,所述反馈消息中携带有用于标识所述客户端的标识信息,采用多个第二Redis队列作为中间传输介质向多个客户端反馈所述反馈消息。7.根据权利要求5所述的方法,其特征在于,对所述请求消息进行处理后获得所述反馈消息包括:将从所述第一Redis队列中读取的所述请求消息反序列化得到包括以下信息的格式的消息:服务端的名称,请求的所述远程的方法,请求远程调用的参数,所述请求消息的序列号;从反序列化后的消息中读取请求的所述远程的方法,请求远程调用的参数,获得对应处理结果;将所述处理结果封装成包括以下信息的格式的反馈消息:所述第一Redis队列的名称,所述第二Redis队列的名称,所述服务端对所述请求消息进行处理后的结果状态,所述服务端对所述请求消息进行处理后的处理结果,所述请求消息中所述包括的所述请求消息的序列号。8.一种消息处理装置,其特征在于,包括:第一发送模块,用于采用第一Redis队列作为中间传输介质向服务端发送用于请求远程调用的请求消息;第一接收模块,用于采用第二Redis队列作为中间传输介质接收所述服务端对所述请求消息进行处理后反馈的反馈消息。9.根据权利要求...

【专利技术属性】
技术研发人员:陈飞
申请(专利权)人:网易杭州网络有限公司
类型:发明
国别省市:浙江,33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1