异步远程过程调用方法、装置、设备及介质与流程

文档序号:35093467发布日期:2023-08-10 03:42阅读:24来源:国知局
异步远程过程调用方法、装置、设备及介质与流程

本发明涉及计算机,尤其涉及一种异步远程过程调用方法、装置、设备及介质。


背景技术:

1、目前,现有的分布式服务器框架下,虽然通过建立单个连接在两台计算机之间并行处理并行请求,可以改变一个连接需要一个线程的现状,从而减少传输控制协议(transmission control protocol,tcp)连接数量,对连接数量与查询片段的数量进行解耦,解决单个主机远程过程调用(remote procedure call,rpc)线程数呈现指数型增长问题,但是该方法在高并发的场景下存在以下两方面的问题:

2、(1)两个主机之间通过单个tcp连接传输消息,当通信数据量过大导致网络阻塞时,可能会触发tcp重传机制,则接收方会反复收到同一消息,导致性能降低,甚至导致异常错误。

3、(2)为了实现异步机制,发送请求(request)和接收响应(response)必须使用同一个线程进行处理,在单链路的模式下,这些工作均需要同一个线程完成,因此传输的数据量过大会导致该线程的性能负载过重,从而导致性能降低。

4、因此,如何克服高并发场景下,由于单链路复用技术导致的线程负载过重和系统性能降低的缺陷,成为业界亟需解决的问题。


技术实现思路

1、针对现有技术存在的问题,本发明提供一种异步远程过程调用方法、装置、设备及介质。

2、第一方面,本发明提供一种异步远程过程调用方法,包括:

3、根据目标场景的需求,确定在客户端和服务器端之间所需建立的远程过程调用链路的数量;

4、基于所述远程过程调用链路的数量,在所述客户端和所述服务器端之间建立目标数目条远程过程调用链路;

5、在确定业务层下发远程过程调用任务的情况下,在所述目标数目条远程过程调用链路上完成多路复用的远程过程调用功能。

6、可选地,根据本发明提供的一种异步远程过程调用方法,所述基于所述远程过程调用链路的数量,在所述客户端和所述服务器端之间建立目标数目条远程过程调用链路,包括:

7、基于所述远程过程调用链路的数量,确定需要初始化的代理proxy的数量;

8、基于所述proxy的数量,初始化多个proxy,并在所述客户端和所述服务器端之间建立与所述多个proxy一一对应的所述目标数目条远程过程调用链路。

9、可选地,根据本发明提供的一种异步远程过程调用方法,所述在所述客户端和所述服务器端之间建立与所述多个proxy一一对应的所述目标数目条远程过程调用链路,包括:

10、通过管理者messenger维护的线程池,在所述客户端和所述服务器端之间建立与所述多个proxy一一对应的所述目标数目条远程过程调用链路。

11、可选地,根据本发明提供的一种异步远程过程调用方法,所述线程池中的线程的数量是由所述远程过程调用链路的数量确定的,每一个所述线程分别用于完成各条远程过程调用链路上的远程过程调用功能。

12、可选地,根据本发明提供的一种异步远程过程调用方法,所述在确定业务层下发远程过程调用任务的情况下,在所述目标数目条远程过程调用链路上完成多路复用的远程过程调用功能,包括:

13、在确定业务层下发远程过程调用任务的情况下,确定由所述多个proxy中的目标proxy对应的目标远程过程调用链路完成所述客户端和所述服务器端之间的多路复用的远程过程调用功能。

14、可选地,根据本发明提供的一种异步远程过程调用方法,所述确定由所述多个proxy中的目标proxy对应的目标远程过程调用链路完成所述客户端和所述服务器端之间的多路复用的远程过程调用功能,包括:

15、基于随机方法确定所述多个proxy中的所述目标proxy;

16、基于所述目标proxy对应的所述目标远程过程调用链路,完成所述客户端和所述服务器端之间的多路复用的远程过程调用功能。

17、第二方面,本发明还提供一种异步远程过程调用装置,包括:

18、确定模块,用于根据目标场景的需求,确定在客户端和服务器端之间所需建立的远程过程调用链路的数量;

19、建立模块,用于基于所述远程过程调用链路的数量,在所述客户端和所述服务器端之间建立目标数目条远程过程调用链路;

20、多路复用模块,用于在确定业务层下发远程过程调用任务的情况下,在所述目标数目条远程过程调用链路上完成多路复用的远程过程调用功能。

21、第三方面,本发明还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面所述异步远程过程调用方法。

22、第四方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面所述异步远程过程调用方法。

23、第五方面,本发明还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如第一方面所述异步远程过程调用方法。

24、本发明提供的异步远程过程调用方法、装置、设备及介质,通过根据目标场景的需求,确定在客户端和服务器端之间所需建立的远程过程调用链路的数量,即根据实际场景的需求设置所需建立的远程过程调用链路的数量,进而在客户端和服务器端之间维持多个长期存在的远程过程调用链路,在此基础上,在确定业务层下发远程过程调用任务的情况下,同时复用多个远程过程调用链路,可以克服由于高并发导致的单链路网络阻塞的缺陷,而且,通过多个链路可以分散数据收发的压力,从而克服单链路模式下线程负载过重的缺陷,提高系统性能。



技术特征:

1.一种异步远程过程调用方法,其特征在于,包括:

2.根据权利要求1所述的异步远程过程调用方法,其特征在于,所述基于所述远程过程调用链路的数量,在所述客户端和所述服务器端之间建立目标数目条远程过程调用链路,包括:

3.根据权利要求2所述的异步远程过程调用方法,其特征在于,所述在所述客户端和所述服务器端之间建立与所述多个proxy一一对应的所述目标数目条远程过程调用链路,包括:

4.根据权利要求3所述的异步远程过程调用方法,其特征在于,所述线程池中的线程的数量是由所述远程过程调用链路的数量确定的,每一个所述线程分别用于完成各条远程过程调用链路上的远程过程调用功能。

5.根据权利要求2-4任一项所述的异步远程过程调用方法,其特征在于,所述在确定业务层下发远程过程调用任务的情况下,在所述目标数目条远程过程调用链路上完成多路复用的远程过程调用功能,包括:

6.根据权利要求5所述的异步远程过程调用方法,其特征在于,所述确定由所述多个proxy中的目标proxy对应的目标远程过程调用链路完成所述客户端和所述服务器端之间的多路复用的远程过程调用功能,包括:

7.一种异步远程过程调用装置,其特征在于,包括:

8.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至6任一项所述异步远程过程调用rpc通信方法。

9.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述异步远程过程调用方法。

10.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述异步远程过程调用方法。


技术总结
本发明提供一种异步远程过程调用方法、装置、设备及介质,涉及计算机技术领域,所述方法包括:根据目标场景的需求,确定在客户端和服务器端之间所需建立的远程过程调用链路的数量;基于远程过程调用链路的数量,在客户端和服务器端之间建立目标数目条远程过程调用链路;在确定业务层下发远程过程调用任务的情况下,在目标数目条远程过程调用链路上完成多路复用的远程过程调用功能。本发明可以维持多个长期存在的远程过程调用链路,在此基础上,同时复用多个远程过程调用链路,可以克服由于高并发导致的单链路网络阻塞的缺陷,而且,通过多个链路可以分散数据收发的压力,从而克服单链路模式下线程负载过重的缺陷,提高系统性能。

技术研发人员:孙莎莎,刘菲,董隆超
受保护的技术使用者:北京东方国信科技股份有限公司
技术研发日:
技术公布日:2024/1/14
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1