本公开涉及云计算领域,尤其涉及一种网络请求处理方法、装置、电子设备、芯片及介质。
背景技术:
1、随着互联网技术的迅猛发展,网络业务不断发展壮大,把应用部署到云上已经成为了一种趋势。在云计算领域中,基础设施即服务(iaas)技术已经非常成熟,在业界得到了广泛应用。万维网(world wide web,web)控制台是用户访问,操作云上资源的重要入口,web控制台的响应速度,响应及时率一直是用户使用云上资源体验的重要指标。
2、而对于由于业务繁忙,网络拥塞等原因造成超文本传输协议(hypertexttransfer protocol,http)请求无法及时返回的情况,很容易造成用户体验不佳的问题。相关技术中,对于http请求超时,仅仅通过判断http请求超时时长是否超过总超时阈值处理http请求。存在http超时处理的笼统和粗糙,用户体验差的问题。
技术实现思路
1、本公开提供一种网络请求处理方法、装置、电子设备、芯片及介质,针对http超时处理的笼统和粗糙,用户体验差的问题,通过http请求链路中的总超时阈值和不同服务中的分段超时阈值的设置,对各种超时情况进行了细粒度的处理并及时反馈给用户处理结果,提升了用户体验。
2、本公开的第一方面实施例提出了一种网络请求处理方法,该方法包括:
3、根据从客户端获取http请求中的链路数据,确定总超时阈值;
4、通过链路总计时器确定http请求在服务端的总处理时间,以及通过分段计时器确定http请求的链路中各个服务的分段处理时间;
5、根据所述总处理时间、所述总超时阈值、所述分段处理时间、预设的分段超时阈值,确定所述http请求的处理方式。
6、本公开的一种实施例中,所述根据所述总处理时间、所述总超时阈值、所述分段处理时间、预设的分段超时阈值,确定所述http请求的处理方式,包括:
7、若总处理时间未超过总超时阈值,或者,若总处理时间超过总超时阈值,且分段处理时间未超过预设的分段超时阈值,则向客户端返回http请求的处理结果;
8、若总处理时间超过总超时阈值,且分段处理时间超过分段超时阈值,则发起补偿查询,并向客户端发送反馈消息。
9、本公开的一种实施例中,根据从客户端获取的http请求中的链路数据,确定总超时阈值包括:
10、对http请求相关的多次请求的时长进行分析,确定基准时长,基准时长为多次请求的时长的四分位数;
11、获取预设的链路外部最大时长和不同服务之间的保护间隔时长;
12、根据基准时长、链路外部最大时长、保护间隔时长,确定总超时阈值。
13、本公开的一种实施例中,总处理时间为从http请求到达服务端开始至服务端发出http响应的时间,分段处理时间为http请求到达对应的服务开始至服务发出响应的时间。
14、本公开的一种实施例中,方法还包括:
15、根据http请求的链路数据,确定任务队列的初始容量大小;
16、若总处理时间超过总超时阈值,且分段处理时间超过分段超时阈值时,则确定任务队列已满,向客户端发送失败反馈消息。
17、本公开的一种实施例中,若总处理时间超过总超时阈值,且分段处理时间超过分段超时阈值,则发起补偿查询,并向客户端发送反馈消息包括:
18、若总处理时间超过总超时阈值,且分段处理时间超过分段超时阈值,且任务队列未满,则将http请求添加至任务队列;
19、以预设轮询周期,在服务端周期性地查询http请求的处理状态,得到轮询结果;
20、若轮询结果指示http请求正在处理中,则继续轮询直至到达预设轮询时长;以及若仍未得到http请求的处理结果,则向客户端发送失败反馈消息;
21、若轮询结果指示http请求已处理完成,则向客户端发送http请求的处理结果。
22、本公开的一种实施例中,方法还包括:
23、若任务队列中的http请求数量达到初始容量大小持续预设时长,则将初始容量大小缩减为第一容量大小;
24、当任务队列中的http请求数量小于第一容量大小时,开放任务队列并允许新的http请求入队;
25、若任务队列http请求数量达到第一容量大小持续预设时长,则将第一容量大小缩减为零;
26、若任务队列http请求数量未在预设时长内达到第一容量大小,则将第一容量大小扩大为初始容量大小。
27、本公开的第二方面实施例提出了一种网络请求处理装置,该装置包括:
28、第一确定模块,用于根据从客户端获取的http请求中的链路数据,确定总超时阈值;
29、第二确定模块,用于通过链路总计时器确定http请求在服务端的总处理时间,以及通过分段计时器确定http请求的链路中各个服务的分段处理时间;
30、第三确定模块,用于根据总处理时间、总超时阈值、分段处理时间、预设的分段超时阈值,确定http请求的处理方式。
31、本公开的第三方面实施例提出了一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行本公开第一方面实施例中任一项的方法。
32、本公开的第四方面实施例提出了一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,计算机指令用于使计算机执行本公开第一方面实施例中的方法。
33、本公开的第五方面实施例提出了一种计算机程序产品,其特征在于,包括计算机程序,计算机程序在被处理器执行时实现本公开第一方面实施例中任一项的方法。
34、综上,根据本公开提出的网络请求处理方法,根据从客户端获取http请求中的链路数据,确定总超时阈值,为总超时时长内监听链路数据提供了时间参考;通过链路总计时器确定http请求在服务端的总处理时间,以及通过分段计时器确定http请求的链路中各个服务的分段处理时间,为确定超时中运行的各个子服务的状态提供了时间依据;根据总处理时间、总超时阈值、分段处理时间、预设的分段超时阈值,确定http请求的处理方式。实现了对各种超时情况进行细粒度的处理并及时反馈给用户处理结果提升了用户体验。
35、应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
1.一种网络请求处理方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述根据所述总处理时间、所述总超时阈值、所述分段处理时间、预设的分段超时阈值,确定所述http请求的处理方式,包括:
3.根据权利要求1所述的方法,其特征在于,所述根据从客户端获取的http请求中的链路数据,确定总超时阈值,包括:
4.根据权利要求1所述的方法,其特征在于,所述总处理时间为从所述http请求到达所述服务端开始至所述服务端发出http响应的时间,所述分段处理时间为所述http请求到达对应的服务开始至所述服务发出响应的时间。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
6.根据权利要求2所述的方法,其特征在于,所述若所述总处理时间超过所述总超时阈值,且所述分段处理时间超过所述分段超时阈值,则发起补偿查询,并向所述客户端发送反馈消息,包括:
7.根据权利要求5所述的方法,其特征在于,所述方法还包括:
8.一种网络请求处理装置,其特征在于,所述装置包括:
9.一种电子设备,其特征在于,包括:
10.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使所述计算机执行根据权利要求1-7中任一项所述的方法。
11.一种计算机程序产品,其特征在于,包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1-7中任一项所述的方法。