一种CDN在合并回源中分波延缓超时回源方法与流程

文档序号:37595133发布日期:2024-04-18 12:31阅读:5来源:国知局
一种CDN在合并回源中分波延缓超时回源方法与流程

本发明属于http缓存,具体涉及一种cdn在合并回源中分波延缓超时回源方法。


背景技术:

1、在现有的cdn缓存系统中,为了提高资源访问效率和减轻源站压力,当同一时刻同一资源的多个请求在节点无缓存或缓存过期时,系统会尽量只回源一次。这样,其他等待的请求就可以直接从缓存中获取资源,而不需要再次发起回源请求。这种合并回源的方式可以有效地减少回源次数,降低网络延迟,提高用户体验。然而,在某些情况下(例如:当源站服务器负载较高、网络状况不佳或者资源文件较大等情况),回源过程可能需要较长时间,等待合并回源的其他请求会在超过预定的超时时间后自己完成独立回源。这种超时后回源的方式在高并发场景中会让源站瞬时接收大量的回源请求,尤其是在弱源站的cdn服务场景中,短暂的时间内,将大量的回源请求转发至弱源站,会引发弱源站抖动异常,同时造成恶性循环,甚至出现弱源站被打垮的现象。

2、基于上述问题,本申请文件提出了一种cdn在合并回源中分波延缓超时回源方法以改善上述问题。


技术实现思路

1、本发明的目的是提供一种cdn在合并回源中分波延缓超时回源方法,通过在opendir的对象中增加计数器,记录等待合并的请求当前的排队计数,对于无法合并回源的客户端请求,为其配置最大等待时间,并动态计算其等待合并回源的最大重试次数,通过分波延缓的策略,避免高并发场景中源站瞬时接收大量的回源请求,造成源站异常抖动、压力过载。

2、本发明采取的技术方案具体如下:

3、一种cdn在合并回源中分波延缓超时回源方法,包括以下步骤:

4、缓存服务端获取客户端请求,根据缓存key查询缓存索引,判断缓存是否失效;

5、响应于所述缓存已失效,创建opendir对象,开启缓存写入;

6、具有相同缓存key的客户端请求进入合并回源逻辑,等待合并回源;

7、响应于无法进入合并回源逻辑,分波延缓超时回源,对每一个客户端请求动态计算等待合并回源的最大重试次数和等待合并回源时长;

8、根据最大重试次数请求进入合并回源逻辑;

9、响应于进入合并回源逻辑超时,则独立完成回源并响应。

10、在一种优选方案中,判断缓存是否失效之后的步骤还包括:若响应于缓存已经存在且没有过期,则将缓存内容响应于客户端。

11、在一种优选方案中,所述具有相同缓存key的客户端请求进入合并回源逻辑,等待合并回源,其步骤如下:

12、根据缓存允许同时写入的最大副本数量设定合并阈值;

13、为opendir对象添加原子计数器;

14、根据原子计数器对具有相同缓存key的客户端请求进行排序;

15、根据排序结果,按从前到后的顺序,取数量不大于合并阈值的客户端请求进行合并回源;

16、响应于获取源站内容,则将内容响应于客户端。

17、在一种优选方案中,所述分波延缓超时回源,对每一个客户端请求动态计算等待合并回源的最大重试次数和等待合并回源时长,其步骤如下:

18、设定等待加重因子;

19、根据计数器统计客户端请求排队的数量;

20、获取缓存允许同时写入的最大副本数量取模;

21、将取模的数值和等待加重因子代入计算式,获取等待合并回源的最大重试次数。

22、在一种优选方案中,所述计算式为:n*conf_factor*conf_max_retries,式中,n表示取模的数值,factor表示等待加重因子,max_retries表示最大重试次数,且带conf_前缀为可配置参数

23、在一种优选方案中,客户端请求在每次重试合并回源时,都有一个可配置的间隔时间。

24、在一种优选方案中,最大重试次数需要根据配置限定最大的等待时间。

25、在一种优选方案中,所述根据最大重试次数请求进入合并回源逻辑之后的步骤还包括:等待合并回源的客户端请求在等待合并回源期间,能够从其他回源成功的连接中读取到源站响应内容并响应至客户端。

26、一种计算机设备,适用于上述任一所述的一种cdn在合并回源中分波延缓超时回源方法,包括存储器和处理器,所述存储器中存储有计算机程序。

27、一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令运行时,所述计算机执行上述任一项所述的一种cdn在合并回源中分波延缓超时回源方法。

28、本发明取得的技术效果为:

29、本发明在合并回源超时处理中,通过在opendir的对象中增加计数器,对具有相同缓存key的客户端请求进行合并回源,对于无法合并回源的客户端请求,为其配置最大等待时间,并动态计算其等待合并回源的最大重试次数,通过分波延缓的策略,避免高并发场景中源站瞬时接收大量的回源请求,避免造成源站异常抖动、压力过载,有效的保护源站的服务能力,降低因为超时请求过多引起的回源带宽增加,提高了服务带宽的利用率。



技术特征:

1.一种cdn在合并回源中分波延缓超时回源方法,其特征在于:包括以下步骤:

2.根据权利要求1所述的一种cdn在合并回源中分波延缓超时回源方法,其特征在于:判断缓存是否失效之后的步骤还包括:若响应于缓存已经存在且没有过期,则将缓存内容响应于客户端。

3.根据权利要求1所述的一种cdn在合并回源中分波延缓超时回源方法,其特征在于:所述具有相同缓存key的客户端请求进入合并回源逻辑,等待合并回源,其步骤如下:

4.根据权利要求1所述的一种cdn在合并回源中分波延缓超时回源方法,其特征在于:所述分波延缓超时回源,对每一个客户端请求动态计算等待合并回源的最大重试次数和等待合并回源时长,其步骤如下:

5.根据权利要求4所述的一种cdn在合并回源中分波延缓超时回源方法,其特征在于:所述计算式为:n*conf_factor*conf_max_retries,式中,n表示取模的数值,factor表示等待加重因子,max_retries表示最大重试次数,且带conf_前缀为可配置参数。

6.根据权利要求4所述的一种cdn在合并回源中分波延缓超时回源方法,其特征在于:客户端请求在每次重试合并回源时,都有一个可配置的间隔时间。

7.根据权利要求4所述的一种cdn在合并回源中分波延缓超时回源方法,其特征在于:最大重试次数需要根据配置限定最大的等待时间。

8.根据权利要求1所述的一种cdn在合并回源中分波延缓超时回源方法,其特征在于:所述根据最大重试次数请求进入合并回源逻辑之后的步骤还包括:等待合并回源的客户端请求在等待合并回源期间,能够从其他回源成功的连接中读取到源站响应内容并响应至客户端。

9.一种计算机设备,适用于权利要求1至6中任一所述的一种cdn在合并回源中分波延缓超时回源方法,其特征在于:包括存储器和处理器,所述存储器中存储有计算机程序。

10.一种计算机可读存储介质,其特征在于:所述计算机可读存储介质存储有计算机指令,所述计算机指令运行时,所述计算机执行权利要求1至6中任一项所述的一种cdn在合并回源中分波延缓超时回源方法。


技术总结
本发明属于HTTP缓存技术领域,具体涉及一种CDN在合并回源中分波延缓超时回源方法,该CDN在合并回源中分波延缓超时回源方法包括以下步骤:缓存服务端获取客户端请求,根据缓存KEY查询缓存索引,判断缓存是否失效;响应于所述缓存已失效,创建OPENDIR对象,开启缓存写入;具有相同缓存KEY的客户端请求进入合并回源逻辑,等待合并回源。本发明通过在OPENDIR的对象中增加计数器,记录等待合并的请求当前的排队计数,对于无法合并回源的客户端请求,为其配置最大等待时间,并动态计算其等待合并回源的最大重试次数,通过分波延缓的策略,避免高并发场景中源站瞬时接收大量的回源请求,造成源站异常抖动、压力过载。

技术研发人员:郝晓亮
受保护的技术使用者:天翼云科技有限公司
技术研发日:
技术公布日:2024/4/17
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1