服务质量控制方法及装置、设备、存储介质、程序产品与流程

摘要: 本技术涉及计算机处理,具体涉及一种服务质量控制方法及装置、电子设备、计算机可读存储介质和计算机程序产品。背景技术:1、公有云服务场景下,服务质量(quality...
服务质量控制方法及装置、设备、存储介质、程序产品与流程

本技术涉及计算机处理,具体涉及一种服务质量控制方法及装置、电子设备、计算机可读存储介质和计算机程序产品。

背景技术:

1、公有云服务场景下,服务质量(quality of service,qos)的核心目标是保障系统稳定性,需要严格控制接入业务量规模,避免突发问题影响系统全局。目前采用的服务质量控制方案,是在公有云服务的接入层进行服务质量的控制,在业务突发的情况下,就会拒绝新的业务请求。但客户端一般出于可用性设计,在发起的业务请求被拒后会触发快速重试机制,由此导致短时间内的业务请求反而增多,接入层的压力成倍增加,更容易引发全局故障。因此,如何提出一种更加有效的服务质量控制方案,是亟待解决的技术问题。

技术实现思路

1、为解决上述技术问题,本技术的实施例提供了服务质量控制方法、服务质量控制装置、电子设备、计算机可读存储介质以及计算机程序产品。本技术的实施例将服务质量控制的作用范围从服务端接入层扩展到客户端,从业务发起源端进行服务质量控制,能够避免由于客户端触发快速重试机制导致的全局故障,保证了系统稳定性。

2、本技术实施例的一个方面,提供了一种服务质量控制方法,应用于客户端,该方法包括:向服务端发送业务请求;接收所述服务端返回的包含有服务质量控制信息的业务响应;其中,所述服务质量控制信息是所述服务端在检测到预设时间段内的请求量增长幅度超过设定阈值之后添加到所述业务响应的响应头中的;从所述响应头中提取所述服务质量控制信息,并根据所述服务质量控制信息,调整向所述服务端请求业务服务的策略。

3、在另一示例性实施例中,根据所述服务质量控制信息,调整向所述服务端请求业务服务的策略,包括:解析所述服务质量控制信息,获得所述服务端指示的重传业务请求的时间间隔;在通过所述业务请求向所述服务端请求业务服务失败之后,经过所述时间间隔,重新向所述服务端发送所述业务请求。

4、在另一示例性实施例中,根据所述服务质量控制信息,调整向所述服务端请求业务服务的策略,包括:解析所述服务质量控制信息,获得所述服务端指示的限速指令;响应于所述限速指令,在向所述服务端传输数据的过程中,将数据传输速度限制在传输速度限值以内。

5、在另一示例性实施例中,根据所述服务质量控制信息,调整向所述服务端请求业务服务的策略,包括:解析所述服务质量控制信息,获得所述服务端指示的预检指令;根据所述预检指令向所述服务端发送针对新的业务请求的预检请求;所述预检请求用于请求所述服务端决策是否能够响应所述新的业务请求;若接收到所述服务端返回的预检通过消息,则向所述服务端发送所述新的业务请求;若接收到所述服务端返回的预检失败消息,则暂停向所述服务端发送所述新的业务请求。

6、在另一示例性实施例中,根据所述服务质量控制信息,调整向所述服务端请求业务服务的策略,包括:解析所述服务质量控制信息,获得所述服务端指示的网络地址切换指令;根据所述网络地址切换指令,获取更新后的服务端网络地址;向所述更新后的服务端网络地址发送业务请求。

7、在另一示例性实施例中,所述客户端通过软件开发工具包与所述服务端进行通信,所述方法由所述软件开发工具包执行。

8、本技术实施例的另一个方面,提供了另一种服务质量控制方法,应用于服务端,该方法包括:接收客户端发送的业务请求;若检测到预设时间段内的请求量增长幅度超过设定阈值,生成服务质量控制信息,并将所述服务质量控制信息添加到业务响应的响应头中;向所述客户端返回所述业务响应,以使所述客户端根据所述响应头中包含的所述服务质量控制信息,调整向所述服务端请求业务服务的策略。

9、在另一示例性实施例中,所述若检测到所述业务请求的并发量超过限值,生成服务质量控制信息,并将所述服务质量控制信息添加到业务响应的响应头中,包括:获取至少两种客户端控制策略;从所述至少两种客户端控制策略中选取目标策略,并基于所述目标策略生成所述服务质量控制信息。

10、在另一示例性实施例中,所述从所述至少两种客户端控制策略中选取目标策略,并基于所述目标策略生成所述服务质量控制信息,包括:解析所述业务请求,以得到业务属性信息;从所述至少两种客户端控制策略中,获取与所述业务属性信息相匹配的目标策略;基于所述目标策略生成所述服务质量控制信息。

11、在另一示例性实施例中,所述方法还包括:接收针对至少一种客户端控制策略的配置请求;所述配置请求中包含所述业务属性信息对应的配置信息;基于所述业务属性信息对应的配置信息,对所述至少一种客户端控制策略进行更新。

12、在另一示例性实施例中,所述方法还包括:获取服务端控制策略;基于所述服务端控制策略,在检测到所述客户端的请求频率超过频率阈值时,向所述客户端返回请求失败消息,或者针对所述业务请求进行业务限流。

13、本技术实施例的另一方面,提供了一种服务质量控制装置,配置于客户端,该装置包括:请求发送模块,配置为向服务端发送业务请求;响应接收模块,配置为接收所述服务端返回的包含有服务质量控制信息的业务响应;其中,所述服务质量控制信息是所述服务端在检测到预设时间段内的请求量增长幅度超过设定阈值之后添加到所述业务响应的响应头中的;策略调整模块,配置为从所述响应头中提取所述服务质量控制信息,并根据所述服务质量控制信息,调整向所述服务端请求业务服务的策略。

14、本技术实施例的另一方面,提供了另一种服务质量控制装置,配置于服务端,该装置包括:请求接收模块,配置为接收客户端发送的业务请求;检测处理模块,配置为若检测到预设时间段内的请求量增长幅度超过设定阈值,生成服务质量控制信息,并将所述服务质量控制信息添加到业务响应的响应头中;响应发送模块,配置为向所述客户端返回所述业务响应,以使所述客户端根据所述响应头中包含的所述服务质量控制信息,调整向所述服务端请求业务服务的策略。

15、本技术实施例的另一方面提供了一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个计算机程序,当所述一个或多个计算机程序被所述一个或多个处理器执行时,使得所述电子设备实现如前所述的服务质量控制方法。

16、本技术实施例的另一方面提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序被电子设备的处理器执行时,使所述电子设备执行如上所述的服务质量控制方法。

17、本技术实施例的另一方面提供了一种计算机程序产品,包括计算机程序,该计算机程序被电子设备的处理器执行时实现如上所述的服务质量控制方法。

18、在本技术的实施例提供的技术方案中,客户端向服务端发送业务请求,以向服务端请求业务服务,服务端如果检测到预设时间段内的请求量增长幅度超过设定阈值,表示出现了业务突发情况,会生成服务质量控制信息,并将服务质量控制信息添加到业务响应的头域中,以下发给客户端,客户端从响应头中提取服务质量控制信息,并根据服务质量控制信息调整向服务端请求业务服务的策略。由此,服务质量控制的作用范围从服务端的接入层扩展到了客户端,从业务发起源端进行服务质量控制,能够避免由于客户端触发快速重试机制导致的全局故障,保证了系统稳定性。

19、应理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本技术。