CN112350880A - 过载检测方法、系统、计算机可读存储介质及电子设备 - Google Patents

过载检测方法、系统、计算机可读存储介质及电子设备 Download PDF

Info

Publication number
CN112350880A
CN112350880A CN201910727484.2A CN201910727484A CN112350880A CN 112350880 A CN112350880 A CN 112350880A CN 201910727484 A CN201910727484 A CN 201910727484A CN 112350880 A CN112350880 A CN 112350880A
Authority
CN
China
Prior art keywords
state
packet loss
overload
loss rate
time period
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201910727484.2A
Other languages
English (en)
Other versions
CN112350880B (zh
Inventor
方统浩
陈晓帆
古亮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sangfor Technologies Co Ltd
Original Assignee
Sangfor Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sangfor Technologies Co Ltd filed Critical Sangfor Technologies Co Ltd
Priority to CN201910727484.2A priority Critical patent/CN112350880B/zh
Publication of CN112350880A publication Critical patent/CN112350880A/zh
Application granted granted Critical
Publication of CN112350880B publication Critical patent/CN112350880B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0823Errors, e.g. transmission errors
    • H04L43/0829Packet loss
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level

Landscapes

  • Engineering & Computer Science (AREA)
  • Environmental & Geological Engineering (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请公开了一种过载检测方法,所述过载检测方法包括计算目标时间段内数据包接收端的空闲占比;当所述空闲占比小于第一预设值时,判断设备流量压力是否在预设范围内;若否,则判定所述数据包接收端处于过载状态。本申请能够提高检测过载状态的准确率,实现对于混合流量模型的过载防护。本申请还公开了一种过载检测系统、一种计算机可读存储介质及一种电子设备,具有以上有益效果。

Description

过载检测方法、系统、计算机可读存储介质及电子设备
技术领域
本申请涉及计算机技术领域,特别涉及一种过载检测方法、系统、一种计算机可读存储介质及一种电子设备。
背景技术
在负载均衡场景中,可能会出现在某个时间节点用户请求数突然变多的情况,上述情况会导致设备接收大量的TCP链接和HTTP请求。但是,由于每一台设备的处理性能是有极限的,当大量的TCP链接请求数据包和HTTP请求到达设备时,由于数据包的数量已经超出了设备的处理能力,此时网卡队列中会出现数据包的积压情况,并且由于是处理的速率达不到请求的速率,这个数据包积压的情况会逐渐恶化,最终会出现网卡队列满载,网卡会无差别的丢掉到来的数据包。网卡队列满载不仅会导致新用户的请求无法处理,并且已经连接的用户的业务也会受到无差别丢包的影响,上述这种现象被称为过载。
为了避免过载现象的发生,需要对过载现象采取预防措施,即:在将要出现过载现象之前,通过丢弃新用户请求以使设备处理资源来完成原有用户的操作。相关技术中,实现过载检测的方案都是依赖于具体的流量模型实现。由于实际设备部署环境中流量模型非常复杂,过载检测方案需要在多个不同的流量模型中实现,而相关技术中的过载检测方案难以兼容混合的流量模型,导致过载检测效果较差。
因此,如何提高检测过载状态的准确率,实现对于混合流量模型的过载防护是本领域技术人员目前需要解决的技术问题。
发明内容
本申请的目的是提供一种过载检测方法、系统、一种计算机可读存储介质及一种电子设备,能够提高检测过载状态的准确率,实现对于混合流量模型的过载防护。
为解决上述技术问题,本申请提供一种过载检测方法,该过载检测方法包括:
计算目标时间段内数据包接收端的空闲占比;
当所述空闲占比小于第一预设值时,判断设备流量压力是否在预设范围内;
若否,则判定所述数据包接收端处于过载状态。
可选的,所述计算目标时间段内数据包接收端的空闲占比包括:
确定所述目标时间段内每一所述数据包接收操作对应的收包数量;
根据所述收包数量为0的数据包接收操作次数占所有所述数据包接收操作次数的比值确定所述空闲占比。
可选的,所述判断设备流量压力是否在预设范围内包括:
判断网卡队列中的数据包数量是否大于第二预设值;
若是,则判定所述设备流量压力不在所述预设范围内;
若否,则判定所述设备流量压力在所述预设范围内。
可选的,在判定所述数据包接收端处于过载状态之后,还包括:
确定所述过载状态对应的丢包率,并按照所述丢包率执行丢包操作。
可选的,所述确定过载状态对应的丢包率包括:
根据所述目标时间段对应的空闲占比确定所述过载状态对应的丢包率;其中,所述空闲占比与所述丢包率负相关。
可选的,所述确定过载状态对应的丢包率包括:
根据所述目标时间段对应的空闲占比确定CPU状态;其中,当所述空闲占比大于或等于上限阈值时所述CPU状态为第一状态,当所述空闲占比小于所述上限阈值且大于下限阈值时所述CPU状态为第二状态,当所述空闲占比小于或等于所述下限阈值时所述CPU状态为第三状态;
根据所述目标时间段对应的CPU状态和历史时间段对应的CPU状态确定所述过载状态对应的丢包率;其中,所述历史时间段早于所述目标时间段。
可选的,根据所述目标时间段对应的CPU状态和历史时间段对应的CPU状态确定所述过载状态对应的丢包率包括:
当所述目标时间段的CPU状态为所述第一状态且所述历史时间段对应的CPU状态为所述第一状态时,将所述过载状态对应的丢包率设置为第一预设丢包率;
当所述目标时间段的CPU状态为所述第二状态时,将所述过载状态对应的丢包率设置为第二预设丢包率;其中,所述第二预设丢包率为所述历史时间段对应的丢包率;
当所述目标时间段的CPU状态为所述第三状态且所述历史时间段对应的CPU状态为所述第三状态时,将所述过载状态对应的丢包率设置为第三预设丢包率;
其中,所述第一预设丢包率大于所述第二预设丢包率,所述第二预设丢包率大于所述第三预设丢包率。
本申请还提供了一种过载检测系统,该过载检测系统包括:
空闲占比计算模块,用于计算目标时间段内数据包接收端的空闲占比;
判断模块,用于当所述空闲占比小于第一预设值时,判断设备流量压力是否在预设范围内;
过载判定模块,用于流量压力不在预设范围内时,判定所述数据包接收端处于过载状态。
本申请还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序执行时实现上述过载检测方法执行的步骤。
本申请还提供了一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器调用所述存储器中的计算机程序时实现上述过载检测方法执行的步骤。
本申请提供了一种过载检测方法,包括计算目标时间段内数据包接收端的空闲占比;当所述空闲占比小于第一预设值时,判断设备流量压力是否在预设范围内;若否,则判定所述数据包接收端处于过载状态。
本申请将目标时间段内数据包接收端的空闲占比作为评价指标,用于判断是否存在过载状态。当所述空闲占比小于第一预设值且流量压力不在预设范围内时,说明待处理任务已经消耗了设备全部的处理能力,网卡队列中的中的积压数据包数量过多,可以判定处于过载状态。由于空闲占比为与操作系统相关的指标,并非依赖于业务和流量模型的指标,因此本申请能够提高检测过载状态的准确率,实现对于混合流量模型的过载防护。本申请同时还提供了一种过载检测系统、一种计算机可读存储介质和一种电子设备,具有上述有益效果,在此不再赘述。
附图说明
为了更清楚地说明本申请实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例所提供的一种过载检测方法的流程图;
图2为本申请实施例所提供的一种过载保护方法的原理示意图;
图3为实际应用中200%CPS压力下的流量曲线图;
图4为本申请实施例所提供的一种过载检测系统的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
过载(overload)指当前业务的负载已经超出了设备处理性能极限的状态,过载将会导致部分业务故障甚至导致整个的业务处理出现雪崩。当出现故障状况时,可以通过执行丢包操作维持已经连接的用户的业务。相关技术中,基于具体的流量模型检测判断设备是否处于故障状态,但是在实际设备部署环境中往往存在多种流量模型混合使用的状况,依赖于流量模型的过载状况判断方法检测准确率较低。基于上述相关技术中的种种缺陷,本申请通过以下几种实施例通过新的过载检测方法,能够提高检测过载状态的准确率,实现对于混合流量模型的过载防护。
下面请参见图1,图1为本申请实施例所提供的一种过载检测方法的流程图。
具体步骤可以包括:
S101:计算目标时间段内数据包接收端的空闲占比;
其中,本实施例可以应用于具有请求数据包接收功能的电子设备中,例如可以包括:云端服务器、发票开具服务端、防火墙、交换机等数据包接收端。由于客户端发送的请求数据包的数量和时间具有不确定性,而数据包接收端的处理性能有限,因此当发生大量数据包在同一时间段内发送的情况,将会导致数据包接收端出现过载状况。
客户端发送的请求数据包可以包括TCP连接请求数据包和HTTP(Hyper TextTransfer Protocol,超文本传输协议)请求数据包,在此不对请求数据包的种类进行限定。其中,TCP(Transmission Control Protocol)是一种面向连接的、可靠的、基于字节流的传输层通信协议。
本步骤中提到的数据包接收端的空闲占比为描述数据接收端的性能消耗的参数,空闲占比越低说明数据接收端的性能消耗越大。在本实施例中,数据包接收端可以执行多次数据包接收操作,每次数据包接收操作可以接收到的数据包数量可以不相同。可以理解的是,当数据包接收操作接收的数据包数量为0时,说明没有用户发送请求数据包。
本实施例中数据包接收端可以在同一时刻执行任意次数据包接收操作,也可以在一段时间内执行任意次数据包接收操作。每次数据包接收操作能够接收的数据包数量由客户端发送的数据包数量决定,数据包接收操作接收的数据包数量可以反映数据包接收端处理能力的消耗情况,数据包接收操作接收的数据包数量越多,数据包接收端处理能力的消耗越多。
因此,作为一种可行的实施方式,本步骤中所述计算目标时间段内数据包接收端的空闲占比的过程可以包括以下步骤:确定所述目标时间段内每一数据包接收操作对应的收包数量;根据所述收包数量为0的数据包接收操作次数占所有所述数据包接收操作次数的比值确定所述空闲占比。
当然,上述可行的实施方式通过收包数量为0的数据包接收操作占比作为确定空闲占比仅是一种可行的确定空闲占比的方式之一,本实施例还可以将收包数量小于N的数据包接收操作占所有所述数据包接收操作的比值确定所述空闲占比,此处不对N的具体数值进行限定。
可以理解的是,本实施例不限定目标时间段具体对应的时间,作为一种可行的实施方式该目标时间段为包括当前时间点的一段时间,以便提高过载检测的及时性。
S102:当所述空闲占比小于第一预设值时,判断设备流量压力是否在预设范围内;若否,则进入S103;
其中,当空闲占比小于第一预设值时,说明消耗了较多的数据包接收端的处理能力,此时可能处于过载状态。可以理解的是,在本步骤之前可以存在判断空闲占比是否小于第一预设值的操作,若是则进入S102对应的工作流程。
需要说明的是,当设备全部的处理能力被消耗时可能对应以下两种情况:第一种情况,此时刚好消耗了数据接收端所有的处理能力,数据接收端尚未达到过载状态,正处于满载状态;第二种情况,此时早已消耗了数据接收端所有的处理能力,数据接收端已经达到过载状态。由于根据空闲占比无法区分满载状态与过载状态,因此本实施例进一步根据流量压力判断是否处于过载状态。当流量压力在数据包接收端的承受范围内时,网卡队列中积压的数据包数量趋近于0,当流量压力在数据包接收端的承受范围外时,网卡队列中积压的数据包会越来越大,最终趋近于队列的长度。因此,本实施例将流量压力作为判定过载状态的另一个评价参数,若空闲占比小于第一预设值且流量压力不在预设范围内,则说明设备处于过载状态。
本步骤中的预设范围可以根据实际应用场景灵活调整,此处不对其取值进行具体的限定。
作为一种可行的实施方式,当判定设备流量压力在预设范围内时,说明数据包接收端处于满载状态,可以结束流程,也可以在延时预设时长后重新进入S101执行下一轮判断。
S103:判定所述数据包接收端处于过载状态。
其中,本步骤是在判定空闲占比小于第一预设值且流量压力不在预设范围内的前提下,判定该数据包接收端处于过载状态。当然,在判定该数据包接收端处于过载状态之后,还可以执行相应的丢包操作,减少过载对于已连接的业务的影响。
进一步的,在判定数据包接收端处于过载状态后,还可以生成相应的过载提示信息,以便提示工作人员采取相应的处理措施。
本实施例将目标时间段内数据包接收端的空闲占比作为评价指标,用于判断是否存在过载状态。当所述空闲占比小于第一预设值且流量压力不在预设范围内时,说明待处理任务已经消耗了设备全部的处理能力,网卡队列中的中的积压数据包数量过多,可以判定处于过载状态。在确定处于过载状态时,本实施例通过执行相应的丢包操作以便维持原有的链接。由于空闲占比为与操作系统相关的指标,并非依赖于业务和流量模型的指标,因此本实施例能够实现对于混合流量模型的过载防护,提高过载防护的效果。
作为一种可行的实施方式,S101中计算目标时间段内数据包接收端的空闲占比的过程可以包括以下操作:
当接收到空闲占比计算指令时,记录接收空闲占比计算指令的第一时刻;将第一时刻到第二时间作为目标时间段;其中,所述第二时刻早于或晚于第一时刻预设时长;计算目标时间段内数据包接收端的空闲占比。
作为一种可行的实施方式,S102中判断设备流量压力是否在预设范围内包括可以包括以下操作:
S1021判断网卡队列中的数据包数量是否大于第二预设值;若是,则进入S1022;若否,则进入S1023;
S1022判定所述设备流量压力不在所述预设范围内;
S1023判定所述设备流量压力在所述预设范围内。
在检测到数据包接收端处于过载状态的前提下,为了避免已连接的业务受到影响,本实施例可以确定所述过载状态对应的丢包率,并按照所述丢包率执行丢包操作。其中,本实施例可以通过多种方式确定丢包操作对应的丢包率,下面介绍两个可行的实施方式:
方式一:根据所述目标时间段对应的空闲占比确定所述过载状态对应的丢包率;其中,所述空闲占比与所述丢包率负相关。空闲占比越小说明数据包接收端的性能消耗越大,因此空闲占比越低丢包率越高,通过方式一能够根据过载状况的程度灵活设置丢包率,实现对于过载状况的高效处理。
方式二:根据所述目标时间段对应的空闲占比确定CPU状态;根据所述目标时间段对应的CPU状态和历史时间段对应的CPU状态确定所述过载状态对应的丢包率;其中,当所述空闲占比大于或等于上限阈值时所述CPU状态为第一状态,当所述空闲占比小于所述上限阈值且大于下限阈值时所述CPU状态为第二状态,当所述空闲占比小于或等于所述下限阈值时所述CPU状态为第三状态;所述历史时间段早于所述目标时间段。
方式二结合历史CPU状态与目标时间段CPU状态综合确定丢包率,提高操作的执行效果。对于上述实施方式提到的CPU状态解释如下:第一状态的过载程度低于第二状态的过载程度,第二状态的过载程度低于第三状态的过载程度。
具体的,根据所述目标时间段对应的CPU状态和历史时间段对应的CPU状态确定所述过载状态对应的丢包率包括以下三种情况,以下三种情况中体得到第一预设丢包率大于第二预设丢包率,第二预设丢包率大于第三预设丢包率。
情况1、当所述目标时间段的CPU状态为所述第一状态且所述历史时间段对应的CPU状态为所述第一状态时,将所述过载状态对应的丢包率设置为第一预设丢包率。当处于情况1时说明外界环境的过载流量的压力已经下降,此时可以将丢包率调低,还可以增大丢包率的调节幅度。
情况2、当所述目标时间段的CPU状态为所述第二状态时,将所述过载状态对应的丢包率设置为第二预设丢包率;其中,所述第二预设丢包率为所述历史时间段对应的丢包率。当处于情况2时说明当前的丢包率在最佳丢包率值的附近,因此可以将此次的丢包率设置为上一次丢包的丢包率,以使丢包率相对稳定。
情况3、当所述目标时间段的CPU状态为所述第三状态且所述历史时间段对应的CPU状态为所述第三状态时,将所述过载状态对应的丢包率设置为第三预设丢包率。当处于情况3时,说明当前的丢包率并不能阻止过载流量的压力,因此可以将丢包率增大,还可以将丢包率调节幅度增大,进一步影响丢包率调节的速度。
下面通过在实际应用中的实施例说明上述实施例描述的流程,本实施例能够实现对于混合流量模型的过载防护,提高过载防护的效果。
由于本实施例需要做到不依赖流量模型,并且可以兼容多种不同型号的平台设备,需要选取一种新的指标既可以快速反应流量压力,又可以在不同种流量模型和不同种型号的平台设备下均有效,因此本实施例采用从DPDK层选取指标,这样可以做到不依赖于流量模型和平台设备。其中,DPDK(Data Plane Development Kit)是一款针对数据面开发的套件,为Intel architecture(IA)处理器架构下用户空间高效的数据包处理提供库函数和驱动的支持,它不同于Linux系统以通用性设计为目的,而是专注于网络应用中数据包的高性能处理。具体体现在DPDK应用程序是运行在用户空间上利用自身提供的数据平面库来收发数据包,绕过了Linux内核协议栈对数据包处理过程。
本实施例通过采样在不同压力下DPDK收包个数的分布情况,发现有如下特征:收包个数为0的出现次数会随着流量压力的变化而变化,并且变化趋势是收包个数为0的出现次数会越来越少,因此给出如下公式来计算压力指标:
Figure BDA0002159406990000091
即,压力指标DPDK Rx Spin Time等于收包数量为0的数据包接收操作次数numiterations that give 0packets占所有所述数据包接收操作次数total num iterations的比值。
上述公式给出了当前设备的空闲占比的计算方法,如果空闲占比趋近于0,即可判断当前设备正处于满载状态或过载状态:
其中,当处于满载状态时,数据包接收端刚好消耗了设备100%的处理能力,此时要求不能误判为过载状态。当处于过载状态时,数据包接收端实际所承受的最大压力已经超过了设备能承受的最大压力,此时CPU的空闲比也会趋近于0。
鉴于上述两种情况都会出现CPU空闲比为0的情况,为了区分两种状态,本实施例还利用的网卡队列中数据包的“积压”数量作为另一个判断依据。如果流量压力在设备的承受范围内,网卡队列中积压的数据包是趋近于0,是一个极少的状态;如果流量压力在设备的承受范围外,网卡队列中积压的数据包会越来越大,最终趋近于队列的长度。
当检测到处于过载状态时,可以采取相应的过载保护策略,请参见图2,图2为本申请实施例所提供的一种过载保护方法的原理示意图。
本实施例可以设定上限状态和下限状态,如果当前CPU处于下限状态,可以将CPU着色为“绿色”,并相应的降低丢包率;如果CPU处于上限状态,可以将CPU着色为“红色”,并相应的增加丢包率。为了快速适应过载流量的来临,本实施例还给出了动态调节丢包率幅度的策略,即:
若当前着色为“红色”,并且上一次的着色依然为“红色”,此时判定当前的丢包率并不能阻止过载流量的压力,因此将丢包率增大,并且将丢包率调节幅度增大,进一步影响丢包率调节的速度。
若当前着色为“绿色”,并且连续20次统计依然是“绿色”,此时判定外界环境的过载流量的压力已经下降,此时不仅将丢包率调低,并且还要增大丢包率的调节幅度。
若当前着色为“黄色”,此时判定当前的丢包率在最佳丢包率值的附近,因此将此次的丢包率设置为上一次丢包的丢包率,力求丢包率的稳定。
经过上述3个步骤的调节,最终丢包率会稳定在“黄色”区间附近,实现丢包率的稳定,并且由于加入了调节丢包率的调节幅度策略,可以使过载保护系统快速跟上外界流量的变化趋势。
通过本实施例阐述的方案,经验证可以实现过载保护的效果,测试中以最大性能上限CPSmax的2倍新建压力下,启动了过载保护后,不会出现过载现象,并且可以维持原有最大连接的80%以上,即在2倍的流量压力下,依然可以完成80%CPSmax。如图3所示,图3为实际应用中200%CPS压力下的流量曲线图。设备的CPSmax在25000左右,设置200%的CPS,也就是50000,是图中所示的第一类线部分,此时启动了过载保护后,依然能维持原有CPSmax的80%以上,见第二类线。其中CPS(Connection Per Second)为衡量性能的指标,通常指每秒可以承受多少条TCP链接。当然还可以测试RPS max下的业务压力,RPS(VectorPacket Processing)为衡量性能的指标,通常指每秒可以承受多少的HTTP请求。
由此可见,针对设备过载会出现的问题,以及目前大多数基于令牌桶的算法没有反馈的环节无法保证算法的有效性,本实施例通过统计DPDK收包在不同压力下表现出的特征情况作为压力指标,并结合反馈系统来动态的调节丢包率。具体的过载保护的前提是需要一个良好的指标能反映出当前系统是否进入过载的状态,并且为了做到不依赖于业务和流量模型,这个指标应该是与业务无关,更多的是与操作系统相关的指标,目前大多数操作系统的指标都面临迟滞的问题,由于过载可能是一个非常快速的过程,不少现有的指标会相较于过载过程反应更慢。上述实施例给出了一种新的指标来反映出是否进入过载,不仅与业务无关,并且可以做到快速反应。在有效指标的基础上,本实施例还提供给出了一种反馈策略,可以动态的调节丢包率,使整个过载保护系统可以快速跟上过载流量的来临,并且最大限度的维持原有链接。
请参见图4,图4为本申请实施例所提供的一种过载检测系统的结构示意图;
该系统可以包括:
空闲占比计算模块100,用于计算目标时间段内数据包接收端的空闲占比;
判断模块200,用于当所述空闲占比小于第一预设值时,判断设备流量压力是否在预设范围内;
过载判定模块300,用于流量压力不在预设范围内时,判定所述数据包接收端处于过载状态。
本实施例将目标时间段内数据包接收端的空闲占比作为评价指标,用于判断是否存在过载状态。当所述空闲占比小于第一预设值且流量压力不在预设范围内时,说明待处理任务已经消耗了设备全部的处理能力,网卡队列中的中的积压数据包数量过多,可以判定处于过载状态。在确定处于过载状态时,本实施例通过执行相应的丢包操作以便维持原有的链接。由于空闲占比为与操作系统相关的指标,并非依赖于业务和流量模型的指标,因此本实施例能够实现对于混合流量模型的过载防护,提高过载防护的效果。
进一步的,所述空闲占比计算模块100包括:
数量确定单元,用于确定所述目标时间段内每一数据包接收操作对应的收包数量;
计算单元,用于根据所述收包数量为0的数据包接收操作次数占所有所述数据包接收操作次数的比值确定所述空闲占比。
进一步的,所述判断模块200包括:
数量判断单元,用于当所述空闲占比小于第一预设值时,判断网卡队列中的数据包数量是否大于第二预设值;
第一判定单元,用于当网卡队列中的数据包数量大于第二预设值时,判定所述设备流量压力不在所述预设范围内;
第二判定单元,用于当网卡队列中的数据包数量小于或等于第二预设值时,判定所述设备流量压力在所述预设范围内。
进一步的,还包括:
过载防护模块,用于在判定所述数据包接收端处于过载状态之后,确定所述过载状态对应的丢包率,并按照所述丢包率执行丢包操作。
进一步的,所述过载防护模块包括:
第一丢包率计算单元,用于根据所述目标时间段对应的空闲占比确定所述过载状态对应的丢包率;其中,所述空闲占比与所述丢包率负相关;
丢包单元,用于按照所述丢包率执行丢包操作
进一步的,所述过载防护模块包括:
状态确定单元,用于根据所述目标时间段对应的空闲占比确定CPU状态;其中,当所述空闲占比大于或等于上限阈值时所述CPU状态为第一状态,当所述空闲占比小于所述上限阈值且大于下限阈值时所述CPU状态为第二状态,当所述空闲占比小于或等于所述下限阈值时所述CPU状态为第三状态;
第二丢包率计算单元,用于根据所述目标时间段对应的CPU状态和历史时间段对应的CPU状态确定所述过载状态对应的丢包率;其中,所述历史时间段早于所述目标时间段。
进一步的,所述第二丢包率计算单元包括:
第一设置子单元,用于当所述目标时间段的CPU状态为所述第一状态且所述历史时间段对应的CPU状态为所述第一状态时,将所述过载状态对应的丢包率设置为第一预设丢包率;
第二设置子单元,用于当所述目标时间段的CPU状态为所述第二状态时,将所述过载状态对应的丢包率设置为第二预设丢包率;其中,所述第二预设丢包率为所述历史时间段对应的丢包率;
第三设置子单元,用于当所述目标时间段的CPU状态为所述第三状态且所述历史时间段对应的CPU状态为所述第三状态时,将所述过载状态对应的丢包率设置为第三预设丢包率;
其中,所述第一预设丢包率大于所述第二预设丢包率,所述第二预设丢包率大于所述第三预设丢包率。
由于系统部分的实施例与方法部分的实施例相互对应,因此系统部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
本申请还提供了一种计算机可读存储介质,其上存有计算机程序,该计算机程序被执行时可以实现上述实施例所提供的步骤。该存储介质可以包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本申请还提供了一种电子设备,可以包括存储器和处理器,所述存储器中存有计算机程序,所述处理器调用所述存储器中的计算机程序时,可以实现上述实施例所提供的步骤。当然所述电子设备还可以包括各种网络接口,电源等组件。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的状况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

Claims (10)

1.一种过载检测方法,其特征在于,包括:
计算目标时间段内数据包接收端的空闲占比;
当所述空闲占比小于第一预设值时,判断设备流量压力是否在预设范围内;
若否,则判定所述数据包接收端处于过载状态。
2.根据权利要求1所述过载检测方法,其特征在于,所述计算目标时间段内数据包接收端的空闲占比包括:
确定所述目标时间段内每一数据包接收操作对应的收包数量;
根据所述收包数量为0的数据包接收操作次数占所有所述数据包接收操作次数的比值确定所述空闲占比。
3.根据权利要求1所述过载检测方法,其特征在于,所述判断设备流量压力是否在预设范围内包括:
判断网卡队列中的数据包数量是否大于第二预设值;
若是,则判定所述设备流量压力不在所述预设范围内;
若否,则判定所述设备流量压力在所述预设范围内。
4.根据权利要求1至3任一项所述过载检测方法,其特征在于,在判定所述数据包接收端处于过载状态之后,还包括:
确定所述过载状态对应的丢包率,并按照所述丢包率执行丢包操作。
5.根据权利要求4所述过载检测方法,其特征在于,所述确定过载状态对应的丢包率包括:
根据所述目标时间段对应的空闲占比确定所述过载状态对应的丢包率;其中,所述空闲占比与所述丢包率负相关。
6.根据权利要求4所述过载检测方法,其特征在于,所述确定过载状态对应的丢包率包括:
根据所述目标时间段对应的空闲占比确定CPU状态;其中,当所述空闲占比大于或等于上限阈值时所述CPU状态为第一状态,当所述空闲占比小于所述上限阈值且大于下限阈值时所述CPU状态为第二状态,当所述空闲占比小于或等于所述下限阈值时所述CPU状态为第三状态;
根据所述目标时间段对应的CPU状态和历史时间段对应的CPU状态确定所述过载状态对应的丢包率;其中,所述历史时间段早于所述目标时间段。
7.根据权利要求6所述过载检测方法,其特征在于,根据所述目标时间段对应的CPU状态和历史时间段对应的CPU状态确定所述过载状态对应的丢包率包括:
当所述目标时间段的CPU状态为所述第一状态且所述历史时间段对应的CPU状态为所述第一状态时,将所述过载状态对应的丢包率设置为第一预设丢包率;
当所述目标时间段的CPU状态为所述第二状态时,将所述过载状态对应的丢包率设置为第二预设丢包率;其中,所述第二预设丢包率为所述历史时间段对应的丢包率;
当所述目标时间段的CPU状态为所述第三状态且所述历史时间段对应的CPU状态为所述第三状态时,将所述过载状态对应的丢包率设置为第三预设丢包率;
其中,所述第一预设丢包率大于所述第二预设丢包率,所述第二预设丢包率大于所述第三预设丢包率。
8.一种过载检测系统,其特征在于,包括:
空闲占比计算模块,用于计算目标时间段内数据包接收端的空闲占比;
判断模块,用于当所述空闲占比小于第一预设值时,判断设备流量压力是否在预设范围内;
过载判定模块,用于流量压力不在预设范围内时,判定所述数据包接收端处于过载状态。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述过载检测方法的步骤。
10.一种电子设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至7任一项所述过载检测方法的步骤。
CN201910727484.2A 2019-08-07 2019-08-07 过载检测方法、系统、计算机可读存储介质及电子设备 Active CN112350880B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910727484.2A CN112350880B (zh) 2019-08-07 2019-08-07 过载检测方法、系统、计算机可读存储介质及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910727484.2A CN112350880B (zh) 2019-08-07 2019-08-07 过载检测方法、系统、计算机可读存储介质及电子设备

Publications (2)

Publication Number Publication Date
CN112350880A true CN112350880A (zh) 2021-02-09
CN112350880B CN112350880B (zh) 2022-04-29

Family

ID=74367413

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910727484.2A Active CN112350880B (zh) 2019-08-07 2019-08-07 过载检测方法、系统、计算机可读存储介质及电子设备

Country Status (1)

Country Link
CN (1) CN112350880B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116225198A (zh) * 2023-04-25 2023-06-06 北京博上网络科技有限公司 一种cpu负载控制方法及系统

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101277317A (zh) * 2008-04-29 2008-10-01 北京锐安科技有限公司 一种分布式处理系统的数据均衡分发方法
CN101505424A (zh) * 2009-01-21 2009-08-12 北京中星微电子有限公司 一种熵解码比特解析方法和一种熵解码器、视频解码芯片
US20110128874A1 (en) * 2008-08-21 2011-06-02 Harald Schmitt Process for selection of resources to be released in case of an overload in a cellular land mobile system
US20120254443A1 (en) * 2011-03-30 2012-10-04 International Business Machines Corporation Information processing system, information processing apparatus, method of scaling, program, and recording medium
CN102736953A (zh) * 2011-04-08 2012-10-17 腾讯科技(深圳)有限公司 一种系统资源配置方法和设备
CN103052131A (zh) * 2013-01-04 2013-04-17 无锡儒安科技有限公司 一种无线传感网络中延时约束下的能耗控制方法
US20140004791A1 (en) * 2011-03-11 2014-01-02 DEUTSCHES ZENTRUM FüR LUFT-UND RAUMFAHRT E.V. Satellite having a plurality of directional antennas for transmitting and/or receiving air-traffic control radio signals
CN103580922A (zh) * 2013-11-08 2014-02-12 国家电网公司 一种基于混合优化的电力通信网络应用服务器过载控制方法
CN108282412A (zh) * 2018-01-19 2018-07-13 世纪龙信息网络有限责任公司 网络分流方法、装置、系统及计算机设备
CN110392993A (zh) * 2017-02-24 2019-10-29 Oppo广东移动通信有限公司 传输反馈信息的方法、终端设备和网络设备

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101277317A (zh) * 2008-04-29 2008-10-01 北京锐安科技有限公司 一种分布式处理系统的数据均衡分发方法
US20110128874A1 (en) * 2008-08-21 2011-06-02 Harald Schmitt Process for selection of resources to be released in case of an overload in a cellular land mobile system
CN101505424A (zh) * 2009-01-21 2009-08-12 北京中星微电子有限公司 一种熵解码比特解析方法和一种熵解码器、视频解码芯片
US20140004791A1 (en) * 2011-03-11 2014-01-02 DEUTSCHES ZENTRUM FüR LUFT-UND RAUMFAHRT E.V. Satellite having a plurality of directional antennas for transmitting and/or receiving air-traffic control radio signals
US20120254443A1 (en) * 2011-03-30 2012-10-04 International Business Machines Corporation Information processing system, information processing apparatus, method of scaling, program, and recording medium
CN102736953A (zh) * 2011-04-08 2012-10-17 腾讯科技(深圳)有限公司 一种系统资源配置方法和设备
CN103052131A (zh) * 2013-01-04 2013-04-17 无锡儒安科技有限公司 一种无线传感网络中延时约束下的能耗控制方法
CN103580922A (zh) * 2013-11-08 2014-02-12 国家电网公司 一种基于混合优化的电力通信网络应用服务器过载控制方法
CN110392993A (zh) * 2017-02-24 2019-10-29 Oppo广东移动通信有限公司 传输反馈信息的方法、终端设备和网络设备
CN108282412A (zh) * 2018-01-19 2018-07-13 世纪龙信息网络有限责任公司 网络分流方法、装置、系统及计算机设备

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
RAM MOHAN RAO KOVVUR,: ""A distributed dynamic grid scheduler for mixed tasks"", 《2013 3RD IEEE INTERNATIONAL ADVANCE COMPUTING CONFERENCE (IACC)》 *
王金柱,: ""IMS过载控制关键技术研究"", 《中国博士学位论文全文数据库 (信息科技辑)》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116225198A (zh) * 2023-04-25 2023-06-06 北京博上网络科技有限公司 一种cpu负载控制方法及系统

Also Published As

Publication number Publication date
CN112350880B (zh) 2022-04-29

Similar Documents

Publication Publication Date Title
US10447594B2 (en) Ensuring predictable and quantifiable networking performance
US8677488B2 (en) Distributed denial of service attack detection apparatus and method, and distributed denial of service attack detection and prevention apparatus for reducing false-positive
US8068417B1 (en) System, method, and computer program product for processing flow requests based on an associated preference using a single computation
US10250507B2 (en) Persistent connection rebalancing
CN109815019B (zh) 任务调度方法、装置、电子设备及可读存储介质
US10243789B1 (en) Universal scaling controller for software network functions
CN110855741B (zh) 业务的自适应接入方法和装置、存储介质、电子装置
US9270556B2 (en) Flow control in packet processing systems
CN102724123A (zh) 网络流量控制方法及控制装置
CN112350880B (zh) 过载检测方法、系统、计算机可读存储介质及电子设备
CN110636109B (zh) 节点调度优化方法、服务器及计算机可读存储介质
CN112350954B (zh) 过载保护方法、系统、计算机可读存储介质及电子设备
CN112054862B (zh) 基于容器云平台的网络管理方法和系统
CN113890847B (zh) 一种流量转发方法和装置
CN104753738A (zh) 一种流量检测方法及装置
CN115941556A (zh) 报文测试方法、装置、电子设备及计算机可读取存储介质
CN107302501B (zh) 一种调整网络端口聚合的方法及其装置
CN114024913A (zh) 一种网络性能优化方法、装置、设备以及存储介质
CN109992391B (zh) 连接管理方法和系统
CN118200244B (zh) 一种网络流量的控制方法及系统
EP2355422B1 (en) A method and apparatus to provide minimum resource sharing without buffering requests
CN105847171A (zh) 网络设备过载保护方法
US10516770B2 (en) Transmitting entity and method performed thereby for transmitting one or more data packets to a receiving entity
CN112398671B (zh) 一种服务质量评价方法、装置及终端设备
CN114500381B (zh) 网络带宽限制方法、系统、电子设备及可读存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant