请求处理方法、装置、设备和存储介质制造方法及图纸

技术编号:31798415 阅读:32 留言:0更新日期:2022-01-08 10:58
本公开提供了一种请求处理方法、装置、设备和存储介质,涉及计算机技术领域,尤其涉及小程序技术领域。具体实现方案为:接收服务调用请求;根据至少两个候选服务节点的权重,从所述至少两个候选服务节点中为所述服务调用请求选择目标服务节点;其中,所述候选服务节点的权重根据候选服务节点在历史时间窗口的吞吐量和延迟时长确定;所述候选服务节点的选择概率与所述候选服务节点的权重呈正相关。本公开实施例能够提高服务的性能与稳定性。公开实施例能够提高服务的性能与稳定性。公开实施例能够提高服务的性能与稳定性。

【技术实现步骤摘要】
请求处理方法、装置、设备和存储介质


[0001]本公开涉及计算机
,尤其涉及小程序
,具体涉及一种请求处理方法、装置、电子设备和计算机可读存储介质。

技术介绍

[0002]随着用户规模的增长,很多应用的下游服务实例数量超过一台,即应用可以有多个下游服务实例。在网络通信中,如何通过负载均衡分割流量,使各下游服务实例能够承接来自上游的服务调用请求,从而提高应用服务的性能十分重要。

技术实现思路

[0003]本公开提供了一种用于请求处理方法、装置、设备和存储介质。
[0004]根据本公开的一方面,提供了一种请求处理方法,包括:
[0005]接收服务调用请求;
[0006]根据至少两个候选服务节点的权重,从所述至少两个候选服务节点中为所述服务调用请求选择目标服务节点;
[0007]其中,所述候选服务节点的权重根据候选服务节点在历史时间窗口的吞吐量和延迟时长确定;所述候选服务节点的选择概率与所述候选服务节点的权重呈正相关。
[0008]根据本公开的又一方面,提供了一种请求处理装置,包括:
[0009]请求接收模块,用于接收服务调用请求;
[0010]服务节点选择模块,用于根据至少两个候选服务节点的权重,从所述至少两个候选服务节点中为所述服务调用请求选择目标服务节点;
[0011]其中,所述候选服务节点的权重根据候选服务节点在历史时间窗口的吞吐量和延迟时长确定;所述候选服务节点的选择概率与所述候选服务节点的权重呈正相关。
[0012]根据本公开的又一方面,提供了一种电子设备,包括:
[0013]至少一个处理器;以及
[0014]与所述至少一个处理器通信连接的存储器;其中,
[0015]所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本公开任意实施例所提供的请求处理方法。
[0016]根据本公开的又一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行本公开任意实施例所提供的请求处理方法。
[0017]根据本公开的又一方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现本公开任意实施例所提供的请求处理方法。
[0018]根据本公开的技术,能够提高服务的性能与稳定性。
[0019]应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特
征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
[0020]附图用于更好地理解本方案,不构成对本公开的限定。其中:
[0021]图1是根据本公开实施例提供的一种请求处理方法的示意图;
[0022]图2a是根据本公开实施例提供的另一种请求处理方法的示意图;
[0023]图2b是根据本公开实施例提供的一种服务完全二叉树的示意图;
[0024]图3a是根据本公开实施例提供的又一种请求处理方法的示意图;
[0025]图3b是根据本公开实施例提供的一种吞吐量与延迟时长之间的关系变化示意图;
[0026]图4根据本公开实施例提供的一种请求处理装置的示意图;
[0027]图5是用来实现本公开实施例的请求处理方法的电子设备的框图。
具体实施方式
[0028]以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
[0029]以下结合附图,对本公开实施例提供的该方案进行详细说明。
[0030]图1是根据本公开实施例提供的一种请求处理方法的示意图,本公开实施例可适用于对服务调用请求进行负载均衡优化的情况。该方法可由一种请求处理装置来执行,该装置可采用硬件和/或软件的方式来实现,可配置于电子设备中。参考图1,该方法具体包括如下:
[0031]S110、接收服务调用请求;
[0032]S120、根据至少两个候选服务节点的权重,从所述至少两个候选服务节点中为所述服务调用请求选择目标服务节点;
[0033]其中,所述候选服务节点的权重根据候选服务节点在历史时间窗口的吞吐量和延迟时长确定;所述候选服务节点的选择概率与所述候选服务节点的权重呈正相关。
[0034]在本公开实施例中,上游在调用下游服务时可以产生服务调用请求,上游为请求发起方,下游为请求响应方,例如用户可以使用应用客户端发起对应用服务实例的服务调用请求,其中应用服务实例可以称为下游服务实例。候选服务节点可以配置有下游服务实例。
[0035]在本公开实施例中,上游在请求下游服务时,可以记录候选服务节点的历史请求数据,根据候选服务节点的历史请求数据计算候选服务节点的吞吐量例如QPS(Queries

per

second,每秒查询率)、延迟时长,并根据候选服务节点的吞吐量、延迟时长计算候选服务节点的权重。候选服务节点的吞吐量和延迟时长是动态变化的,根据吞吐量和延迟时长动态确定候选服务节点的权重,使权重能够更准确地反映候选服务节点的性能,权重越高代表性能越好。例如某一候选服务节点因CPU使用率达100%或者网络延迟等原因导致该候选服务节点的权重较低,从而可以降低该候选服务节点被选作目标服务节点的概率。其中,时间窗口的长度可以为预设的固定时长,历史时间窗口可以为当前时间窗口的相邻时间窗
口,可以保证吞吐量、延迟时长的及时性和准确性,从而进一步提高权重的准确性。
[0036]并且,可以基于负载均衡策略,根据各候选服务节点的权重,从各候选服务节点中为服务调用请求选择目标服务节点。负载均衡策略使候选服务节点的选择概率与候选服务节点的权重呈正相关,即权重越高的候选服务节点被选作目标服务节点的概率越大。本公开实施例对负载均衡策略不做具体限定。
[0037]本公开实施例的技术方案,通过根据候选服务节点在历史时间窗口的吞吐量和延迟时长动态确定候选服务节点的权重,并且权重越高的候选服务节点被选作目标服务节点的概率越大,能够提高服务的性能与稳定性。
[0038]在一种可选所述方式中,所述服务调用请求为对小程序的访问请求。为了保证用户体验,要求小程序具有极高的服务稳定性。通过基于动态权重对小程序的访问请求进行负载均衡优化,能够提高小程序的稳定性。经混沌工程验收,下游服务可用性达99.7%,上游可用性达99.99%,远高于相关技术中的下游可用性81.8%,上游可用性99.25%。
[0039]图2a是根据本公开实施例提供的另一种请求处理方法的示意图。本实施例是在上述实施例的基础上提出的一种可选方案。参见图2a,本实施例提供的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种请求处理方法,包括:接收服务调用请求;根据至少两个候选服务节点的权重,从所述至少两个候选服务节点中为所述服务调用请求选择目标服务节点;其中,所述候选服务节点的权重根据候选服务节点在历史时间窗口的吞吐量和延迟时长确定;所述候选服务节点的选择概率与所述候选服务节点的权重呈正相关。2.根据权利要求1所述的方法,所述根据至少两个候选服务节点的权重,从所述至少两个候选服务节点中为所述服务调用请求选择目标服务节点之前,还包括:将候选服务节点在历史时间窗口的历史延迟时长与延迟时长下限值进行比较,并根据比较结果剔除小于所述延迟时长下限值的历史延迟时长;根据剩余的历史延迟时长确定候选服务节点在历史时间窗口的平均延迟时长;将候选服务节点在历史时间窗口的吞吐量与所述平均延迟时长之商,作为候选服务节点的权重。3.根据权利要求1所述的方法,其中,所述根据至少两个候选服务节点的权重,从所述至少两个候选服务节点中为所述服务调用请求选择目标服务节点,包括:生成当前随机数;其中,所述当前随机数小于各候选服务节点的总权重;从服务完全二叉树所包括的至少两个候选服务节点中选择当前服务节点;其中,所述服务完全二叉树中的候选服务节点包括自身权重和左子树权重和;根据所述当前随机数、当前服务节点的自身权重和左子树权重和,从所述至少两个候选服务节点中为所述服务调用请求选择目标服务节点。4.根据权利要求3所述的方法,其中,所述根据所述当前随机数、当前服务节点的自身权重和左子树权重和,从所述至少两个候选服务节点中为所述服务调用请求选择目标服务节点,包括:若所述当前服务节点的左子树权重和大于所述当前随机数,则从当前服务节点的左子树中为所述服务调用请求选择目标服务节点;若所述当前服务节点的左子树权重和小于或等于所述当前随机数,且当前随机数大于当前服务节点的自身权重与左子树权重和之间的权重总和,则更新当前随机数,并根据新的当前随机数从当前服务节点的右子树中为所述服务调用请求选择目标服务节点;否则,将所述当前服务节点作为目标服务节点。5.根据权利要求4所述的方法,其中,所述更新当前随机数,包括:将所述当前随机数与所述权重总和之间的差值,作为新的当前随机数。6.根据权利要求1所述的方法,其中,所述根据至少两个候选服务节点的权重,从所述至少两个候选服务节点中为所述服务调用请求选择目标服务节点,包括:生成当前随机数;其中,所述当前随机数小于各候选服务节点的总权重;遍历各候选服务节点,若经遍历的前i

1个候选服务节点的权重之和小于或等于所述当前随机数,且经遍历的前i个候选服务节点的权重之和大于所述当前随机数,则将第i个节点作为所述目标服务节点。7.根据权利要求1所述的方法,其中,所述服务调用请求为对小程序的访问请求。8.一种请求处理装置,包括:
请求接收模块,用于接收服务调用请求;服务节点选择模块,用于根据至少两个候选服务节点的权重,从所述至少两个候选服务节点中为所述服务调用请求选择目标服务节点;其中,所述候选服务节点的权重根据候选服务节点在历史时间窗口的吞吐量和延迟时长确定;所述候选服务节点的选择概率与所述候选服务节点的权重呈正相关。9.根据权利要求...

【专利技术属性】
技术研发人员:尹彦涛
申请(专利权)人:百度在线网络技术北京有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1