【技术实现步骤摘要】
网络通信方法及设备
本申请涉及计算机领域,尤其涉及一种网络通信方法及设备。
技术介绍
远程过程调用(RPC,RemoteProcedureCall),采用客户端(Client)/服务端(Server)模式。Client与Server之间的通信的内容是消息(Message),一般是便于业务处理的结构化实体。如图1所示,典型的RPC过程如下:(1)Client调用以本地调用方式向Clientstub(客户端通信代理)发起RPC请求(rpccall);(2)Clientstub(客户端通信代理)接收到调用后将请求消息序列化成一片连续的字节流(bundleArgs),以方便tcp传输;(3)Clientstub找到服务地址,并通过网络服务(NetworkService)将消息发送(send)到服务端(Server)对应的Serverstub(服务端通信代理);(4)Serverstub收到消息后,从字节流中反序列化出请求内容(unbundleArgs);(5)Serverstub根据反序列化出的请求内容调用本地的服务端(Server),处理请求(localcall);(6)本地的服务端执行请求并将处理结果(localreturn)返回给Serverstub作为响应;(7)Serverstub将返回结果序列化成字节流(bundleretvals),返回给客户端对应的Clientstub(客户端通信代理);(8)Clientstub接收到响应消息,并对所述响应消息进行反序列化(unbundleretvals);(9)所述响应消息进行反序列化(unbundleretva ...
【技术保护点】
1.一种客户端通信代理的网络通信方法,其中,该方法包括:从客户端接收请求消息并存储于第一位置,所述请求消息包括参数和数据块;从所述第一位置读取所述参数并进行处理后,存储于第二位置;从所述第一位置读取所述数据块以及从所述第二位置读取处理后的参数,并发送至服务端通信代理。
【技术特征摘要】
1.一种客户端通信代理的网络通信方法,其中,该方法包括:从客户端接收请求消息并存储于第一位置,所述请求消息包括参数和数据块;从所述第一位置读取所述参数并进行处理后,存储于第二位置;从所述第一位置读取所述数据块以及从所述第二位置读取处理后的参数,并发送至服务端通信代理。2.根据权利要求1所述的方法,其中,从客户端接收请求消息并存储于第一位置,所述请求消息包括参数和数据块,包括:从客户端接收写请求消息并存储于内存中的第一位置,所述写请求消息包括未编码的写请求参数和未编码的写请求数据块;从所述第一位置读取所述参数并进行处理后,存储于第二位置,包括:从内存中的第一位置读取写请求参数并进行编码后,添加存储于内存中的第二位置。3.根据权利要求1所述的方法,其中,从所述第一位置读取所述数据块以及从所述第二位置读取处理后的参数,包括:按照所述请求消息中的请求参数和请求数据块的原始顺序,依次从所述第二位置读取请求参数、从所述第一位置读取请求数据块。4.根据权利要求1或3所述的方法,其中,从所述第一位置读取所述参数并进行处理后,存储于第二位置,包括:从所述第一位置读取请求参数并进行处理;将参数和数据块在内存中的第一位置的信息添加存储于第二位置。5.根据权利要求4所述的方法,其中,从所述第一位置读取所述数据块以及从所述第二位置读取处理后的参数,包括:从所述第二位置,读取所述参数和数据块在内存中的第一位置的信息;根据所述第一位置的信息,从所述第一位置读取所述数据块。6.根据权利要求1所述的方法,其中,所述方法,还包括:从客户端接收请求消息并存储于第三位置,所述请求消息包括参数;从所述第三位置读取所述参数并进行处理后,存储于第四位置;从所述第四位置读取所述参数,并发送至服务端通信代理。7.根据权利要求6所述的方法,其中,从所述第四位置读取所述参数,并发送至服务端通信代理之后,还包括:从服务端通信代理接收对应于所述参数的响应消息,并存储于第五位置,其中,所述响应消息包括参数和数据块;从所述第五位置读取所述参数并进行处理后,存储于第六位置;从第五位置读取数据块以及从所述第六位置读取处理后的参数,并发送至客户端。8.根据权利要求7所述的方法,其中,从第五位置读取数据块以及从所述第六位置读取处理后的参数,并发送至客户端,包括:按照响应消息中的参数和数据块的原始顺序,依次从第六、第五位置读取处理后的参数和数据块。9.根据权利要求7所述的方法,其中,所述响应消息,由服务端通信代理从服务端接收,所述服务端基于从服务端通信代理接收到的处理后的参数生成所述响应消息。10.根据权利要求7或8所述的方法,其中,从所述第五位置读取所述参数并进行处理后,存储于第六位置,包括:从所述第五位置读取所述参数并进行处理;分别将处理后的参数和数据块在内存中的第五位置的信息,存储于所述第六位置。11.根据权利要求10所述的方法,其中,从第五位置读取数据块以及从所述第六位置读取处理后的参数,包括:从所述第六位置,读取处理后的参数和数据块在所述第五位置的信息;根据所述第五位置的信息,从所述第五位置读取所述数据块。12.一种服务端通信代理的网络通信方法,其中,该方法包括:从客户端通信代理接收请求消息并存储于第一位置,所述请求消息包括参数和数据块;从所述第一位置读取所述参数并进行处理后,存储于第二位置;从所述第一位置读取所述数据块以及从所述第二位置读取处理后的参数,并发送至服务端。13.根据权利要求12所述的方法,其中,从客户端通信代理接收请求消息并存储于第一位置,所述请求消息包括参数和数据块,包括:从客户端通信代理接收写请求消息并存储于内存中的第一位置,所述写请求消息包括编码后的写请求参数和未编码的写请求数据块;从所述第一位置读取所述参数并进行处理后,存储于第二位置,包括:从内存中的第一位置读取编码后的写请求参数并进行解码后,添加存储于内存中的第二位置。14.根据权利要求12所述的方法,其中,从所述第一位置读取所述数据块以及从所述第二位置读取处理后的参数,包括:按照所述请求消息中参数和数据块的原始顺序,依次从内存中的第八、第一位置读取处理后的参数和数据块。15.根据权利要求12或14所述的方法,其中,从所述第一位置读取所述参数并进行处理后,存储于第二位置,包括:从所述第一位置读取参数并进行解码;分别将处理后的参数和数据块在所述第一位置的信息,存储于所述第二位置。16.根据权利要求15所述的方法,其中,从所述第一位置读取所述数据块以及从所述第二位置读取处理后的参数,并发送至服务端,包括:从所述第二位置,读取处理后的参数和数据块在所述第一位置的信息;根据所述第一位置的信息,从所述第一位置读取所述数据块。17.根据权利要求12所述的方法,其中,所述方法,还包括:从客户端通信代理接收请求消息并存储于第三位置,所述请求消息包括参数;从所述第三位置的读取参数并进行处理后,存储于第四位置;从所述第四位置读取处理后的参数并发送至服务端。18.根据权利要求17所述的方法,其中,从所述第四位置读取处理后的参数并发送至服务端之后,还包括:从服务端接收对应于所述处理后的参数的响应消息,并存储于第五位置,所述响应消息包括参数和数据块;从所述第五位置读取响应参数并进行处理后,存储于第六位置;从第五位置读取数据块以及从第六位置读取参数,并发送至客户端通信代理。19.根据权利要求18所述的方法,其中,从第五...
【专利技术属性】
技术研发人员:邢勇,
申请(专利权)人:阿里巴巴集团控股有限公司,
类型:发明
国别省市:开曼群岛,KY
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。