System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于机器健康值的热点扩散方法及系统技术方案_技高网

一种基于机器健康值的热点扩散方法及系统技术方案

技术编号:40966456 阅读:2 留言:0更新日期:2024-04-18 20:46
本发明专利技术公开了一种基于机器健康值的热点扩散方法及系统,涉及IT与软件开发,CDN领域,包括:探测存储模块,用于CDN网关启动后周期性的对后端缓存服务器组进行存活探测;监控告警模块,用于周期性对后端缓存服务器探测和健康值数据进行分析;请求处理模块,用于接收客户请求,当请求数未达到阈值,为非热点请求,使用url一致性哈希方法计算出对应的缓存服务器,将请求进行转发,当请求数达到阈值时,为热点请求,进入热点扩散模块处理;热点扩散模块,用于及时应对后端机器的负载变化,达到负载均衡。本发明专利技术解决了单一资源过热造成缓存服务器压力过大和传统的无差异轮询方法造成的负载不均现象。

【技术实现步骤摘要】

本专利技术属于it与软件开发,cdn,具体为一种基于机器健康值的热点扩散方法及系统


技术介绍

1、当前cdn(content delivery network,内容分发网络)技术中,会在全球各地部署边缘节点,就近为用户提供高质量、高效率、低时延的网络服务。每个边缘节点有一组缓存服务器来支撑大量的文件请求,当客户请求到来时,通过不同策略将流量调度到节点中的缓存服务器上。节点组机器一般采用cdn网关搭配缓存服务器的架构,cdn网关经常使用url一致性哈希算法将同一资源哈希到相同的缓存服务器,用以提高缓存命中率,减少回源。但是这种方法也存在一定的弊端,当某个资源在高峰时刻请求访问过热时会造成后端缓存服务器负载过高,通过url哈希造成单一缓存服务器压力过大,会出现请求处理较慢甚至缓存服务器崩溃,容易引发客户投诉。

2、对于热点资源,cdn网关还能使用固定或加权轮询方式对url进行扩散到后端缓存服务器,但是这种方法是无差别的对后端缓存服务器列表进行轮询,节点内每台主机的热点扩散的顺序策略是一致的。这样对于本身后端缓存服务器负载较高或本身机器性能较差的缓存服务器都会造成压力的持续增加,无法做到真正的负载均衡。

3、综上,无论是url一致性哈希造成缓存服务器压力过大,还是不智能的轮询方法,后端服务器都无法得到充分的资源利用,对于高并发的同一资源请求,需要一种能够动态调控的扩散方法,用以保障服务质量和均衡负载,因此,本专利技术提出一种基于机器健康值的热点扩散方法及系统。


技术实现思路

1、本专利技术的目的在于提供一种基于机器健康值的热点扩散方法及系统,以解决上述
技术介绍
中的问题。

2、为实现上述目的,本专利技术提供如下技术方案:一种基于机器健康值的热点扩散方法,包括以下具体步骤:

3、s1、通过量化缓存服务器组中各机器的健康状态,实时监控组内每台机器的健康状态获取机器健康值;

4、s2、设置资源配置阈值t_nr,cdn网关使用滑动窗口动态统计一段时间内同一资源的请求数num,若t_nr>num,则认为该资源为热点资源,若t_nr≤num,则认为该资源不是热点资源;

5、s3、根据请求url热度及机器健康值来进行热点资源的后端服务器分配;

6、s4、当节点组内不健康状态的机器超过一定比例的时候,将触发告警给监控,方便运维及时介入。

7、本专利技术进一步改进在于,所述机器健康值通过最大最小标准化方法量化机器的健康状态得到,机器健康值为0到1的常量,对应机器状态从不健康到健康,0为机器异常,1为机器最健康,获取机器健康值数据集其中,n表示缓存服务器数量,h_valuen表示第n个缓存服务器的机器健康值,并定时探测缓存服务器组内各机器存活状态。

8、本专利技术进一步改进在于,所述缓存服务器组内各机器存活状态通过设置正常响应阈值t_res探测,当连续3次没有收到正常响应则认为该机器宕机,处于不可用状态,此时机器为不健康状态,健康值0;若连续3次收到正常响应则认为该机器正常,并以每1分钟为周期更新机器健康值实现实时监测;计算后端不健康机器比例,设置不可用机器比例阈值,若是后端不健康机器比例高于所述不可用机器比例阈值,将告警到平台通知运维。

9、本专利技术进一步改进在于,所述s2还包括,若url资源未达到过热,则使用url一致性哈希方法将请求转发往对应的缓存服务器,若url资源达到过热,则根据组内缓存服务机器存活情况和健康值状态,动态计算出组内当前可用后端缓存服务器的权重比例,将周期内所有的过热请求都按健康值权重进行扩散。

10、本专利技术进一步改进在于,所述url热度通过滑动窗口来统计,在热点场景下,通过当前组内各个缓存服务器的健康值计算出各自的扩散比例,所述扩散比例计算公式为:得到各个缓存服务器热点扩散比例数据集其中,percentn表示第n个缓存服务器热点扩散比例。

11、本专利技术进一步改进在于,所述步骤s3还包括cdn网关从url一致性哈希缓存服务器开始按扩散比例将热点请求转发给对应的缓存服务器,并携带一个头部ctl-urlhash-ip告诉缓存服务器该url的一致性哈希缓存服务器ip,在热点扩散的缓存服务器中如果该资源无缓存,则会将请求转发到ctl-urlhash-ip所在的一致性哈希缓存服务器获取资源,减少回源,如果在转发瞬间,ctl-urlhash-ip所在缓存服务器突然宕机导致不通,则当前缓存服务器直接回源,保证链路不出错,正常响应给用户。

12、另一方面,本专利技术提供一种基于机器健康值的热点扩散系统,包括:

13、探测存储模块,用于cdn网关启动后周期性的对后端缓存服务器组进行存活探测,若是连续多次无响应或响应超时,标记为机器不可用,若是连续3次探测响应,则标记为机器可用,对可用的各缓存服务器进行健康值数据获取,将数据存储于共享内存中供后续热点扩散使用;

14、监控告警模块,用于周期性对后端缓存服务器探测和健康值数据进行分析,当后端不健康机器比例高于配置的阈值时,触发监控告警;

15、请求处理模块,用于接收客户请求,cdn网关滑动窗口动态统计一段时间内同一资源的请求数,当请求数未达到阈值,为非热点请求,使用url一致性哈希方法计算出对应的缓存服务器,将请求进行转发,当请求数达到阈值时,为热点请求,进入热点扩散模块处理;

16、热点扩散模块,用于及时应对后端机器的负载变化,达到负载均衡。

17、本专利技术进一步改进在于,所述热点扩散模块包括权重比例分配单元和热点判断单元,所述权重比例分配单元用于当请求首次进入所述热点扩散模块时,系统根据后端机器健康值及机器存活状态计算出缓存服务器的权重比例,存储于共享内存,对后续所有连续的热点请求按计算出的权重比例进行扩散,并周期性根据最新机器健康值更新缓存服务器扩散的权重比例;所述热点判断单元用于热点请求携带头部ctl-urlhash-ip告诉缓存服务器该热点url的一致性哈希缓存服务器ip,减少回源请求,当热点中断,url恢复为非热点时,清空共享内存中缓存服务器权重比例,并走一致性哈希将请求转发到后端缓存服务器。

18、一种电子设备,包括:处理器和存储器,其中,所述存储器中存储有可供处理器调用的计算机程序;

19、所述处理器通过调用所述存储器中存储的计算机程序,执行上述任一种基于机器健康值的热点扩散方法。

20、一种计算机可读存储介质,储存有指令,当所述指令在计算机上运行时,使得计算机执行上述任意一种基于机器健康值的热点扩散方法。

21、与现有技术相比,本专利技术的有益效果是:

22、1、相比于传统cdn网关的url一致性哈希选择缓存服务器,在高峰时刻请求访问过热时容易造成后端单一缓存服务器负载过高甚至崩溃现象,本申请提供基于机器健康值的扩散方法,既保留原有url一致性哈希存储优势的同时,又将过热请求分散到不同缓存服务器后端,降低单一缓存服务器压力,提高整本文档来自技高网...

【技术保护点】

1.一种基于机器健康值的热点扩散方法,其特征在于:包括以下具体步骤:

2.根据权利要求1所述的一种基于机器健康值的热点扩散方法,其特征在于:所述机器健康值通过最大最小标准化方法量化机器的健康状态得到,机器健康值为0到1的常量,对应机器状态从不健康到健康,0为机器异常,1为机器最健康,获取机器健康值数据集其中,n表示缓存服务器数量,h_valuen表示第n个缓存服务器的机器健康值,并定时探测缓存服务器组内各机器存活状态。

3.根据权利要求2所述的一种基于机器健康值的热点扩散方法,其特征在于:所述缓存服务器组内各机器存活状态通过设置正常响应阈值T_res探测,当连续3次没有收到正常响应则认为该机器宕机,处于不可用状态,此时机器为不健康状态,健康值0;若连续3次收到正常响应则认为该机器正常,并以每1分钟为周期更新机器健康值实现实时监测;计算后端不健康机器比例,设置不可用机器比例阈值,若是后端不健康机器比例高于所述不可用机器比例阈值,将告警到平台通知运维。

4.根据权利要求3所述的一种基于机器健康值的热点扩散方法,其特征在于:所述S2还包括,若url资源未达到过热,则使用url一致性哈希方法将请求转发往对应的缓存服务器,若url资源达到过热,则根据组内缓存服务机器存活情况和健康值状态,动态计算出组内当前可用后端缓存服务器的权重比例,将周期内所有的过热请求都按健康值权重进行扩散。

5.根据权利要求4所述的一种基于机器健康值的热点扩散方法,其特征在于:所述url热度通过滑动窗口来统计,在热点场景下,通过当前组内各个缓存服务器的健康值计算出各自的扩散比例,所述扩散比例计算公式为:得到各个缓存服务器热点扩散比例数据集其中,percentn表示第n个缓存服务器热点扩散比例。

6.根据权利要求5所述的一种基于机器健康值的热点扩散方法,其特征在于:所述步骤S3还包括CDN网关从url一致性哈希缓存服务器开始按扩散比例将热点请求转发给对应的缓存服务器,并携带一个头部ctl-urlhash-ip告诉缓存服务器该url的一致性哈希缓存服务器ip,在热点扩散的缓存服务器中如果该资源无缓存,则会将请求转发到ctl-urlhash-ip所在的一致性哈希缓存服务器获取资源,减少回源,如果在转发瞬间,ctl-urlhash-ip所在缓存服务器突然宕机导致不通,则当前缓存服务器直接回源,保证链路不出错,正常响应给用户。

7.一种基于机器健康值的热点扩散系统,其基于如权利要求1-6任一项所述的一种基于机器健康值的热点扩散方法实现,其特征在于,包括:

8.根据权利要求6所述的一种基于机器健康值的热点扩散系统,其特征在于:所述热点扩散模块包括权重比例分配单元和热点判断单元,所述权重比例分配单元用于当请求首次进入所述热点扩散模块时,系统根据后端机器健康值及机器存活状态计算出缓存服务器的权重比例,存储于共享内存,对后续所有连续的热点请求按计算出的权重比例进行扩散,并周期性根据最新机器健康值更新缓存服务器扩散的权重比例;所述热点判断单元用于热点请求携带头部ctl-urlhash-ip告诉缓存服务器该热点url的一致性哈希缓存服务器ip,减少回源请求,当热点中断,url恢复为非热点时,清空共享内存中缓存服务器权重比例,并走一致性哈希将请求转发到后端缓存服务器。

9.一种电子设备,其特征在于,包括:处理器和存储器,其中,所述存储器中存储有可供处理器调用的计算机程序;

10.一种计算机可读存储介质,其特征在于:储存有指令,当所述指令在计算机上运行时,使得计算机执行如权利要求1-6任意一项所述的一种基于机器健康值的热点扩散系统。

...

【技术特征摘要】

1.一种基于机器健康值的热点扩散方法,其特征在于:包括以下具体步骤:

2.根据权利要求1所述的一种基于机器健康值的热点扩散方法,其特征在于:所述机器健康值通过最大最小标准化方法量化机器的健康状态得到,机器健康值为0到1的常量,对应机器状态从不健康到健康,0为机器异常,1为机器最健康,获取机器健康值数据集其中,n表示缓存服务器数量,h_valuen表示第n个缓存服务器的机器健康值,并定时探测缓存服务器组内各机器存活状态。

3.根据权利要求2所述的一种基于机器健康值的热点扩散方法,其特征在于:所述缓存服务器组内各机器存活状态通过设置正常响应阈值t_res探测,当连续3次没有收到正常响应则认为该机器宕机,处于不可用状态,此时机器为不健康状态,健康值0;若连续3次收到正常响应则认为该机器正常,并以每1分钟为周期更新机器健康值实现实时监测;计算后端不健康机器比例,设置不可用机器比例阈值,若是后端不健康机器比例高于所述不可用机器比例阈值,将告警到平台通知运维。

4.根据权利要求3所述的一种基于机器健康值的热点扩散方法,其特征在于:所述s2还包括,若url资源未达到过热,则使用url一致性哈希方法将请求转发往对应的缓存服务器,若url资源达到过热,则根据组内缓存服务机器存活情况和健康值状态,动态计算出组内当前可用后端缓存服务器的权重比例,将周期内所有的过热请求都按健康值权重进行扩散。

5.根据权利要求4所述的一种基于机器健康值的热点扩散方法,其特征在于:所述url热度通过滑动窗口来统计,在热点场景下,通过当前组内各个缓存服务器的健康值计算出各自的扩散比例,所述扩散比例计算公式为:得到各个缓存服务器热点扩散比例数据集其中,percentn表示第n个缓存服务器热点扩散比例。

6.根据权利要求5所述的...

【专利技术属性】
技术研发人员:王志刚谢东雷陈明霞谢绵隆魏淑婷
申请(专利权)人:天翼云科技有限公司
类型:发明
国别省市:

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

1