过载保护方法、系统、计算机可读存储介质及电子设备技术方案

技术编号:27305356 阅读:18 留言:0更新日期:2021-02-10 09:16
本申请公开了一种过载保护方法,所述过载保护方法包括确定网卡的第一丢包率,根据第一丢包率对第一原数据包执行丢包操作并输出第一目标数据包;确定第一目标数据包的输出速率;根据第一目标数据包的输出速率确定第二丢包率,根据第二丢包率对第二原数据包执行丢包操作并输出第二目标数据包,以使第二目标数据包的输出速率在预设范围内;其中,第一原数据包为第一时刻接收到的数据包,第二原数据包为第二时刻接收到的数据包,所述第一时刻早于第二时刻。本申请能够灵活调整丢包率,提高过载保护操作的有效性。本申请还公开了一种过载保护系统、一种计算机可读存储介质及一种电子设备,具有以上有益效果。具有以上有益效果。具有以上有益效果。

【技术实现步骤摘要】
过载保护方法、系统、计算机可读存储介质及电子设备


[0001]本申请涉及计算机
,特别涉及一种过载保护方法、系统、一种计算机可读存储介质及一种电子设备。

技术介绍

[0002]在负载均衡场景中,可能会出现在某个时间节点用户请求数突然变多的情况,上述情况会导致设备接收大量的TCP链接和HTTP请求。但是,由于每一台设备的处理性能是有极限的,当大量的TCP链接请求数据包和HTTP请求到达设备时,由于数据包的数量已经超出了设备的处理能力,此时网卡队列中会出现数据包的积压情况,并且由于是处理的速率达不到请求的速率,这个数据包积压的情况会逐渐恶化,最终会出现网卡队列满载,网卡会无差别的丢掉到来的数据包。网卡队列满载不仅会导致新用户的请求无法处理,并且已经连接的用户的业务也会受到无差别丢包的影响,上述这种现象被称为过载。
[0003]为了避免过载现象的发生,需要对过载现象采取预防措施,即:在将要出现过载现象之前,通过丢弃新用户请求以使设备处理资源来完成原有用户的操作。相关技术通过令牌桶算法实现过载防护,但是相关技术无法灵活调整丢包率,无法保证过载保护操作的有效性。
[0004]因此,如何灵活调整丢包率,提高过载保护操作的有效性是本领域技术人员目前需要解决的技术问题。

技术实现思路

[0005]本申请的目的是提供一种过载保护方法、系统、一种计算机可读存储介质及一种电子设备,能够灵活调整丢包率,提高过载保护操作的有效性。
[0006]为解决上述技术问题,本申请提供一种过载保护方法,该过载保护方法包括:
[0007]确定网卡的第一丢包率,根据所述第一丢包率对第一原数据包执行丢包操作并输出第一目标数据包;
[0008]确定所述第一目标数据包的输出速率;
[0009]根据所述第一目标数据包的输出速率确定第二丢包率,根据所述第二丢包率对第二原数据包执行丢包操作并输出第二目标数据包,以使所述第二目标数据包的输出速率在预设范围内;
[0010]其中,所述第一原数据包为第一时刻接收到的数据包,所述第二原数据包为第二时刻接收到的数据包,所述第一时刻早于所述第二时刻。
[0011]可选的,还包括:
[0012]接收TCP数据包,并利用过滤器筛选所述TCP数据包中的SYN数据包;
[0013]根据所述SYN数据包的接收时间将所述SYN数据包设置为所述第一原数据包或所述第二原数据包。
[0014]可选的,确定所述第一目标数据包的输出速率包括:
[0015]根据第一令牌桶的令牌剩余数确定所述第一目标数据包的输出速率;其中,当输出N个所述第一目标数据包时,所述第一令牌桶消耗N个令牌。
[0016]可选的,确定所述第一目标数据包的输出速率包括:
[0017]当输出M个所述第一目标数据包时,分别消耗第二令牌桶和第三令牌桶中的M个令牌;其中,所述第三令牌桶的令牌生成速率V
P
大于所述第二令牌桶的令牌生成速率V
C
,所述第三令牌桶的令牌初始数量等于所述第二令牌桶的令牌初始数量;
[0018]根据所述第二令牌桶的令牌剩余数量A和所述第三令牌桶的令牌剩余数量B确定所述第一目标数据包的输出速率。
[0019]可选的,根据所述第二令牌桶的令牌剩余数量A和所述第三令牌桶的令牌剩余数量B确定所述第一目标数据包的输出速率包括:
[0020]当A<Y1且B<Y1时,判定令牌桶组处于第一状态,并将所述第一状态对应的速率V1作为所述第一目标数据包的输出速率;其中,所述令牌桶组包括所述第二令牌桶和所述第三令牌桶;
[0021]当A<Y1且Y1≤B≤Y2时,判定所述令牌桶组处于第二状态,并将所述第二状态对应的速率V2作为所述第一目标数据包的输出速率;
[0022]当A<Y1且B>Y2时,判定所述令牌桶组处于第三状态,并将所述第三状态对应的速率V3作为所述第一目标数据包的输出速率;
[0023]当Y1≤A≤Y2且Y1≤B≤Y2时,判定所述令牌桶组处于第四状态,并将所述第四状态对应的速率V4作为所述第一目标数据包的输出速率;
[0024]当Y1≤A<Y2且B>Y2时,判定所述令牌桶组处于第五状态,并将所述第五状态对应的速率V5作为所述第一目标数据包的输出速率;
[0025]当A>Y2且B>Y2时,判定所述令牌桶组处于第六状态,并将所述第六状态对应的速率V6作为所述第一目标数据包的输出速率;
[0026]其中,V1>V2>V3>V4>V5>V6,上限值Y2大于下限值Y1。
[0027]可选的,所述预设范围为大于V
C
且小于V
P
的速率区间。
[0028]可选的,还包括:
[0029]当所述第三令牌桶的剩余令牌数量与所述第二令牌桶的剩余令牌数量的差值大于预设差值时,生成稳态信号以便保持当前时刻的丢包率执行丢包操作。
[0030]本申请还提供了一种过载保护系统,该过载保护系统包括:
[0031]丢包模块,用于确定网卡的第一丢包率,根据所述第一丢包率对第一原数据包执行丢包操作并输出第一目标数据包;
[0032]速率确定模块,用于确定所述第一目标数据包的输出速率;
[0033]丢包率调节模块,用于根据所述第一目标数据包的输出速率确定第二丢包率,根据所述第二丢包率对第二原数据包执行丢包操作并输出第二目标数据包,以使所述第二目标数据包的输出速率在预设范围内;
[0034]其中,所述第一原数据包为第一时刻接收到的数据包,所述第二原数据包为第二时刻接收到的数据包,所述第一时刻早于所述第二时刻。
[0035]本申请还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序执行时实现上述过载保护方法执行的步骤。
[0036]本申请还提供了一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器调用所述存储器中的计算机程序时实现上述过载保护方法执行的步骤。
[0037]本申请提供了一种过载保护方法,包括确定网卡的第一丢包率,根据第一丢包率对第一原数据包执行丢包操作并输出第一目标数据包;确定第一目标数据包的输出速率;根据第一目标数据包的输出速率确定第二丢包率,根据第二丢包率对第二原数据包执行丢包操作并输出第二目标数据包,以使第二目标数据包的输出速率在预设范围内;其中,第一原数据包为第一时刻接收到的数据包,第二原数据包为第二时刻接收到的数据包,所述第一时刻早于第二时刻。
[0038]本申请按照第一丢包率对原数据包执行丢包操作,输出第一目标数据包。在保持第一丢包率执行丢包操作的前提下,若原数据包的数量增加,目标数据包的输出速率也会增加;若原数据包的数量减少,目标数据包的输出速率也会减少。当处于过载状态时,接收到的数据包的数量持续增加,若不改变第一丢包率将会导致业务处理出现雪崩。本申请根据第一目标数据包的输出速率确定第二丢包率,并按照第二丢包率对新接收到的第二原本文档来自技高网
...

【技术保护点】

【技术特征摘要】
作为所述第一目标数据包的输出速率;其中,V1>V2>V3>V4>V5>V6,上限值Y2大于下限值Y1。6.根据权利要求4所述过载保护方法,其特征在于,所述预设范围为大于V
C
且小于V
P
的速率区间。7.根据权利要求4所述过载保护方法,其特征在于,还包括:当所述第三令牌桶的剩余令牌数量与所述第二令牌桶的剩余令牌数量的差值大于预设差值时,生成稳态信号以便保持当前时刻的丢包率执行丢包操作。8.一种过载保护系统,其特征在于,包括:丢包模块,用于确定网卡的第一丢包率,根据所述第一丢包率对第一原数据包执行丢包操作并输出第一目标数据包;速率确定模块,用于确定所述第一目标数据包的输出...

【专利技术属性】
技术研发人员:方统浩陈晓帆古亮
申请(专利权)人:深信服科技股份有限公司
类型:发明
国别省市:

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

1