本发明实施例涉及计算机网络的领域,尤其涉及一种数据处理的系统。
背景技术:
使用传统的i/o程序读取文件内容,并写入到另一个文件(或socket),如下程序:file.read(filedesc,buf,len);socket.send(socket,buf,len)。
会有较大的性能开销,主要表现在一下两方面:
1、上下文切换(contextswitch),此处有4次用户态和内核态的切换;
2、buffer内存开销,一个是应用程序buffer,另一个是系统读取buffer以及socketbuffer。
技术实现要素:
本发明实施例的目的在于提出一种数据处理的系统,旨在解决如何当服务端“挂了”之后,原框架的使用就造成了单点屏障。
为达此目的,本发明实施例采用以下技术方案:
一种数据处理的系统,所述系统包括:客户端、服务器、远程内核和本地内核;
所述客户端,调用客户端句柄;执行传送参数;并调用本地内核发送网络消息;将所述网络消息传送到远程主机;
所述服务器,通过所述服务器句柄得到所述网络消息并取得参数;执行远程过程;并将执行结果返回服务器句柄;所述服务器句柄返回所述执行结果结果,调用远程系统内核;
所述远程内核,将所述网络消息传回所述本地内核;
所述本地内核,接收客户句柄,并接收所述客户端句柄返回的数据。
可选地,在netty实现rpc时,所述客户端实现代理类,通过所述代理类实现所述客户端操作本地;在所述代理类中实现netty的客户端,将所述客户端调用的类细节封装到request中;将封装好的request发送到server端;接收所述server端返回的结果,通过代理将所述结果返回给所述客户端。
可选地,在netty实现rpc时,所述服务器实现netty的服务器端,接收netty客户端发送的具体接口信息;通过发射方式,调动本地实现的接口方法,获取返回值;将所述返回值发送给所述netty客户端。
可选地,在netty实现rpc时,sampleserver启动所述服务器,实现接口的方法以及处理业务。
可选地,在netty实现rpc时,sample应用程序创建所述代理类的对象,返回接口对象;调用接口的方法;处理返回值。
可选地,所述系统包括:common,所述common用于编码、解码;调用接口的参数;调用接口的返回值。
可选地,所述系统包括:rpcsampleclient,处理接口中的方法。
本发明实施例提供的一种数据处理的系统,所述系统包括:客户端、服务器、远程内核和本地内核;所述客户端,调用客户端句柄;执行传送参数;并调用本地内核发送网络消息;将所述网络消息传送到远程主机;所述服务器,通过所述服务器句柄得到所述网络消息并取得参数;执行远程过程;并将执行结果返回服务器句柄;所述服务器句柄返回所述执行结果结果,调用远程系统内核;所述远程内核,将所述网络消息传回所述本地内核;所述本地内核,接收客户句柄,并接收所述客户端句柄返回的数据;从而通过rpc实现数据均衡的目的。
附图说明
图1是本发明实施例提供的一种数据处理的系统的结构示意图。
具体实施方式
下面结合附图和实施例对本发明实施例作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明实施例,而非对本发明实施例的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明实施例相关的部分而非全部结构。
参考图1,图1是本发明实施例提供的一种数据处理的系统的结构示意图。如图1所示,所述数据处理的系统包括:
客户端110、服务器120、远程内核130和本地内核140;
所述客户端110,调用客户端句柄;执行传送参数;并调用本地内核发送网络消息;将所述网络消息传送到远程主机;
其中,在netty实现rpc时,所述客户端110实现代理类,通过所述代理类实现所述客户端操作本地;在所述代理类中实现netty的客户端,将所述客户端调用的类细节封装到request中;将封装好的request发送到server端;接收所述server端返回的结果,通过代理将所述结果返回给所述客户端。
所述服务器120,通过所述服务器句柄得到所述网络消息并取得参数;执行远程过程;并将执行结果返回服务器句柄;所述服务器句柄返回所述执行结果结果,调用远程系统内核;
其中,在netty实现rpc时,所述服务器120实现netty的服务器端,接收netty客户端发送的具体接口信息;通过发射方式,调动本地实现的接口方法,获取返回值;将所述返回值发送给所述netty客户端。
其中,在netty实现rpc时,sampleserver启动所述服务器,实现接口的方法以及处理业务。
所述远程内核130,将所述网络消息传回所述本地内核;
其中,在netty实现rpc时,sample应用程序创建所述代理类的对象,返回接口对象;调用接口的方法;处理返回值。
所述本地内核140,接收客户句柄,并接收所述客户端句柄返回的数据。
其中,所述系统包括:common,所述common用于编码、解码;调用接口的参数;调用接口的返回值。
其中,所述系统包括:rpcsampleclient,处理接口中的方法。
本发明实施例提供的一种数据处理的系统,所述系统包括:客户端、服务器、远程内核和本地内核;所述客户端,调用客户端句柄;执行传送参数;并调用本地内核发送网络消息;将所述网络消息传送到远程主机;所述服务器,通过所述服务器句柄得到所述网络消息并取得参数;执行远程过程;并将执行结果返回服务器句柄;所述服务器句柄返回所述执行结果结果,调用远程系统内核;所述远程内核,将所述网络消息传回所述本地内核;所述本地内核,接收客户句柄,并接收所述客户端句柄返回的数据;从而通过rpc实现数据均衡的目的。
以上结合具体实施例描述了本发明实施例的技术原理。这些描述只是为了解释本发明实施例的原理,而不能以任何方式解释为对本发明实施例保护范围的限制。基于此处的解释,本领域的技术人员不需要付出创造性的劳动即可联想到本发明实施例的其它具体实施方式,这些方式都将落入本发明实施例的保护范围之内。