一种web端远程调用优化的方法及系统的制作方法
【技术领域】
[0001]本发明涉及WEB端远程调用领域,尤其涉及一种WEB端远程调用优化的方法及系统。
【背景技术】
[0002]近年来随着互联网的快速发展,网站应用的规模不断扩大,业务量也不断增多,分布式系统已经成为大多数企业的选择了。在分布式系统开发过程中,不同业务之间的数据调用越来越频繁,于是有了远程调用的方式,实现跨平台、跨语言的服务之间的沟通。在实现远程调用的过程中,会出现客户端线程一直等待服务端返回处理结果的问题,从而影响服务器的性能。
【发明内容】
[0003]本发明要解决的技术问题之一,在于提供一种WEB端远程调用优化的方法,解决了因线程等待导致耗时的问题,从而提高服务访问的效率。
[0004]本发明的问题之一,是这样实现的:
[0005]—种WEB端远程调用优化的方法,包括如下步骤:
[0006]步骤1、将注册中心、服务端及客户端进行配置后,启动注册中心、服务端及客户端;
[0007]步骤2、服务端发送服务名称给注册中心,注册中心监听到服务端发送的消息后,将服务名称存储至服务列表里;
[0008]步骤3、客户端发送要订阅的服务名称给注册中心,注册中心监听到客户端发送的消息后,从服务列表中进行搜索,若服务列表中不存在客户端要订阅的服务名称,则注册中心将搜索结果告知客户端;若服务列表中存在客户端要订阅的服务名称,则注册中心将相应的服务名称推送给客户端,客户端接收到该服务名称后,进入步骤4;
[0009]步骤4、客户端会起一个线程将请求数据发送到服务端,线程无需等到服务器返回处理结果,往后继续执行,客户端将发送的请求数据序列化并转换为流,通过传输协议传输到服务端;
[0010]步骤5、服务端接收到请求数据后,进行反序列化并转换为对象,然后调用相应的服务去处理该请求数据,通过回调函数通知客户端接收处理结果;同时,服务端将处理结果序列化并转换为流,通过传输协议传输到客户端;
[0011]步骤6、客户端接收到处理结果时,当前线程将接收到回调函数,客户端接收到处理结果后,进行反序列化并转换为对象,并执行回调函数,通过该回调函数获取处理结果。
[0012]进一步地,所述步骤I中服务端及客户端的配置具体如下:
[0013]在服务端中创建服务工程,开发发布服务的实现类及其接口,通过xml配置文件,该配置文件包括发布服务的实现类、发布服务的接口、传输协议、序列化方式及注册中心的地址;
[0014]在客户端中创建客户工程,引入服务接口的包,根据包开发调用服务接口类,通过xml配置文件,该配置文件包括调用服务的接口、回调函数、传输协议、序列化方式及注册中心的地址。
[0015]进一步地,所述步骤2和步骤3中注册中心的监听方式是通过socket协议来监听服务端及客户端发送的消息。
[0016]本发明要解决的技术问题之二,在于提供一种WEB端远程调用优化的系统,解决了因线程等待导致耗时的问题,从而提高服务访问的效率。
[0017]本发明的问题之二,是这样实现的:
[0018]一种WEB端远程调用优化的系统,包括:
[0019]文件配置模块,用于将注册中心、服务端及客户端进行配置后,启动注册中心、月艮务端及客户端;
[0020]服务发送模块,用于服务端发送服务名称给注册中心,注册中心监听到服务端发送的消息后,将服务名称存储至服务列表里;
[0021]服务订阅模块,用于客户端发送要订阅的服务名称给注册中心,注册中心监听到客户端发送的消息后,从服务列表中进行搜索,若服务列表中不存在客户端要订阅的服务名称,则注册中心将搜索结果告知客户端;若服务列表中存在客户端要订阅的服务名称,则注册中心将相应的服务名称推送给客户端,客户端接收到该服务名称后,进入请求传输模块;
[0022]请求传输模块,用于客户端会起一个线程将请求数据发送到服务端,线程无需等到服务器返回处理结果,往后继续执行,客户端将发送的请求数据序列化并转换为流,通过传输协议传输到服务端;
[0023]请求处理模块,用于服务端接收到请求数据后,进行反序列化并转换为对象,然后调用相应的服务去处理该请求数据,通过回调函数通知客户端接收处理结果;同时,服务端将处理结果序列化并转换为流,通过传输协议传输到客户端;
[0024]结果获取模块,用于客户端接收到处理结果时,当前线程将接收到回调函数,客户端接收到处理结果后,进行反序列化并转换为对象,并执行回调函数,通过该回调函数获取处理结果。
[0025]进一步地,所述文件配置模块中服务端及客户端的配置具体如下:
[0026]在服务端中创建服务工程,开发发布服务的实现类及其接口,通过xml配置文件,该配置文件包括发布服务的实现类、发布服务的接口、传输协议、序列化方式及注册中心的地址;
[0027]在客户端中创建客户工程,引入服务接口的包,根据包开发调用服务接口类,通过xml配置文件,该配置文件包括调用服务的接口、回调函数、传输协议、序列化方式及注册中心的地址。
[0028]进一步地,所述服务发送模块和服务订阅模块中注册中心的监听方式是通过socket协议来监听服务端及客户端发送的消息。
[0029]本发明具有如下优点:本发明提供了一种WEB端远程调用优化的方法,客户端在发送请求指令给服务端时,该线程不用一直等待服务端的处理结果,而是继续处理其他事情,解决了因线程等待导致耗时的问题,从而提高服务访问的效率。
【附图说明】
[0030]下面参照附图结合实施例对本发明作进一步的说明。
[0031]图1为本发明中注册中心、服务端及客户端之间进行数据交互的示意图。
[0032]图2为本发明一种WEB端远程调用优化的方法执行流程图。
【具体实施方式】
[0033]为使得本发明更明显易懂,现以一优选实施例,并配合附图作详细说明如下。
[0034]如图1和图2所示,本发明的一种WEB端远程调用优化的方法,包括如下步骤:
[0035]步骤1、将注册中心、服务端及客户端进行配置,服务端的配置具体为:在服务端中创建服务工程,开发发布服务的实现类及其接口,通过xml配置文件,该配置文件包括发布服务的实现类、发布服务的接口、传输协议、序列化方式及注册中心的地址;客户端的配置具体为:在客户端中创建客户工程,引入服务接口的包,根据包开发调用服务接口类,通过xml配置文件,该配置文件包括调用服务的接口、回调函数、传输协议、序列化方式及注册中心的地址;再启动注册中心、服务端及客户端;
[0036]步骤2、服务端发送服务名称给注册中心,注册中心通过socketUocket:网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket)协议监听到服务端发送的消息后,将服务名称存储至服务列表里;
[0037]步骤3、客户端发送要订阅的服务名称给注册中心,注册中心通过socket协议监听到客户端发送的消息后,从服务列表中进行搜索,若服务列表中不存在客户端要订阅的服务名称,则注册中心将搜索结果告知客户端;若服务列表中存在客户端要订阅的服务名称,则注册中心将相应的服务名称推送给客户端,客户端接收到该服务名称后,进入步骤4;
[0038]步骤4、客户端会起一个线程将请求数据发送到服务端,线程无需等到服务器返回处理结果,往后继续执行,客户端将发送的请求数据序列化并转换为流,通过传输协议传输到服务端;
[0039]步骤5、服务端接收到请求数据后,进行反序列化并转换为对象,然后调用相应的服务去处理该请求数据,通过回调函数通知客户端接收处理结果;同时,服务端将处理结果序列化并转换为流,通过传输协议传输到客户端;
[0040]步骤6、客户端接收到处理结果时,当前线程将接收到回调函数,客户端接收到处理结果后,进行反序列化并转换为对象,并执行回调函数,通过该回调函数获取处理结果。
[004