【技术实现步骤摘要】
异步远程过程调用方法、装置、设备及介质
[0001]本专利技术涉及计算机
,尤其涉及一种异步远程过程调用方法、装置、设备及介质。
技术介绍
[0002]目前,现有的分布式服务器框架下,虽然通过建立单个连接在两台计算机之间并行处理并行请求,可以改变一个连接需要一个线程的现状,从而减少传输控制协议(Transmission Control Protocol,TCP)连接数量,对连接数量与查询片段的数量进行解耦,解决单个主机远程过程调用(Remote Procedure Call,RPC)线程数呈现指数型增长问题,但是该方法在高并发的场景下存在以下两方面的问题:
[0003](1)两个主机之间通过单个TCP连接传输消息,当通信数据量过大导致网络阻塞时,可能会触发TCP重传机制,则接收方会反复收到同一消息,导致性能降低,甚至导致异常错误。
[0004](2)为了实现异步机制,发送请求(Request)和接收响应(Response)必须使用同一个线程进行处理,在单链路的模式下,这些工作均需要同一个线程完成,因此传输的数据量过大会导致该线程的性能负载过重,从而导致性能降低。
[0005]因此,如何克服高并发场景下,由于单链路复用技术导致的线程负载过重和系统性能降低的缺陷,成为业界亟需解决的问题。
技术实现思路
[0006]针对现有技术存在的问题,本专利技术提供一种异步远程过程调用方法、装置、设备及介质。
[0007]第一方面,本专利技术提供一种异步远程过程调用方法,包括:r/>[0008]根据目标场景的需求,确定在客户端和服务器端之间所需建立的远程过程调用链路的数量;
[0009]基于所述远程过程调用链路的数量,在所述客户端和所述服务器端之间建立目标数目条远程过程调用链路;
[0010]在确定业务层下发远程过程调用任务的情况下,在所述目标数目条远程过程调用链路上完成多路复用的远程过程调用功能。
[0011]可选地,根据本专利技术提供的一种异步远程过程调用方法,所述基于所述远程过程调用链路的数量,在所述客户端和所述服务器端之间建立目标数目条远程过程调用链路,包括:
[0012]基于所述远程过程调用链路的数量,确定需要初始化的代理Proxy的数量;
[0013]基于所述Proxy的数量,初始化多个Proxy,并在所述客户端和所述服务器端之间建立与所述多个Proxy一一对应的所述目标数目条远程过程调用链路。
[0014]可选地,根据本专利技术提供的一种异步远程过程调用方法,所述在所述客户端和所
述服务器端之间建立与所述多个Proxy一一对应的所述目标数目条远程过程调用链路,包括:
[0015]通过管理者Messenger维护的线程池,在所述客户端和所述服务器端之间建立与所述多个Proxy一一对应的所述目标数目条远程过程调用链路。
[0016]可选地,根据本专利技术提供的一种异步远程过程调用方法,所述线程池中的线程的数量是由所述远程过程调用链路的数量确定的,每一个所述线程分别用于完成各条远程过程调用链路上的远程过程调用功能。
[0017]可选地,根据本专利技术提供的一种异步远程过程调用方法,所述在确定业务层下发远程过程调用任务的情况下,在所述目标数目条远程过程调用链路上完成多路复用的远程过程调用功能,包括:
[0018]在确定业务层下发远程过程调用任务的情况下,确定由所述多个Proxy中的目标Proxy对应的目标远程过程调用链路完成所述客户端和所述服务器端之间的多路复用的远程过程调用功能。
[0019]可选地,根据本专利技术提供的一种异步远程过程调用方法,所述确定由所述多个Proxy中的目标Proxy对应的目标远程过程调用链路完成所述客户端和所述服务器端之间的多路复用的远程过程调用功能,包括:
[0020]基于随机方法确定所述多个Proxy中的所述目标Proxy;
[0021]基于所述目标Proxy对应的所述目标远程过程调用链路,完成所述客户端和所述服务器端之间的多路复用的远程过程调用功能。
[0022]第二方面,本专利技术还提供一种异步远程过程调用装置,包括:
[0023]确定模块,用于根据目标场景的需求,确定在客户端和服务器端之间所需建立的远程过程调用链路的数量;
[0024]建立模块,用于基于所述远程过程调用链路的数量,在所述客户端和所述服务器端之间建立目标数目条远程过程调用链路;
[0025]多路复用模块,用于在确定业务层下发远程过程调用任务的情况下,在所述目标数目条远程过程调用链路上完成多路复用的远程过程调用功能。
[0026]第三方面,本专利技术还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面所述异步远程过程调用方法。
[0027]第四方面,本专利技术还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面所述异步远程过程调用方法。
[0028]第五方面,本专利技术还提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如第一方面所述异步远程过程调用方法。
[0029]本专利技术提供的异步远程过程调用方法、装置、设备及介质,通过根据目标场景的需求,确定在客户端和服务器端之间所需建立的远程过程调用链路的数量,即根据实际场景的需求设置所需建立的远程过程调用链路的数量,进而在客户端和服务器端之间维持多个长期存在的远程过程调用链路,在此基础上,在确定业务层下发远程过程调用任务的情况下,同时复用多个远程过程调用链路,可以克服由于高并发导致的单链路网络阻塞的缺陷,而且,通过多个链路可以分散数据收发的压力,从而克服单链路模式下线程负载过重的缺
陷,提高系统性能。
附图说明
[0030]为了更清楚地说明本专利技术或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0031]图1是本专利技术提供的异步远程过程调用方法的流程示意图;
[0032]图2是本专利技术提供的异步远程过程调用装置的结构示意图;
[0033]图3是本专利技术提供的电子设备的实体结构示意图。
具体实施方式
[0034]为使本专利技术的目的、技术方案和优点更加清楚,下面将结合本专利技术中的附图,对本专利技术中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0035]下面结合附图对本专利技术提供的异步远程过程调用方法、装置、设备及介质进行示例性的介绍。
[0036]图1是本专利技术提供的异步远程过程调用方法的流程示意图本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种异步远程过程调用方法,其特征在于,包括:根据目标场景的需求,确定在客户端和服务器端之间所需建立的远程过程调用链路的数量;基于所述远程过程调用链路的数量,在所述客户端和所述服务器端之间建立目标数目条远程过程调用链路;在确定业务层下发远程过程调用任务的情况下,在所述目标数目条远程过程调用链路上完成多路复用的远程过程调用功能。2.根据权利要求1所述的异步远程过程调用方法,其特征在于,所述基于所述远程过程调用链路的数量,在所述客户端和所述服务器端之间建立目标数目条远程过程调用链路,包括:基于所述远程过程调用链路的数量,确定需要初始化的代理Proxy的数量;基于所述Proxy的数量,初始化多个Proxy,并在所述客户端和所述服务器端之间建立与所述多个Proxy一一对应的所述目标数目条远程过程调用链路。3.根据权利要求2所述的异步远程过程调用方法,其特征在于,所述在所述客户端和所述服务器端之间建立与所述多个Proxy一一对应的所述目标数目条远程过程调用链路,包括:通过管理者Messenger维护的线程池,在所述客户端和所述服务器端之间建立与所述多个Proxy一一对应的所述目标数目条远程过程调用链路。4.根据权利要求3所述的异步远程过程调用方法,其特征在于,所述线程池中的线程的数量是由所述远程过程调用链路的数量确定的,每一个所述线程分别用于完成各条远程过程调用链路上的远程过程调用功能。5.根据权利要求2
‑
4任一项所述的异步远程过程调用方法,其特征在于,所述在确定业务层下发远程过程调用任务的情况下,在所述目标数目条远程过程调用链路上完成多路复用的远程过程调用功能,包括:在确...
【专利技术属性】
技术研发人员:孙莎莎,刘菲,董隆超,
申请(专利权)人:北京东方国信科技股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。