CN107659511B - 一种过载控制方法、主机和存储介质以及程序产品 - Google Patents

一种过载控制方法、主机和存储介质以及程序产品 Download PDF

Info

Publication number
CN107659511B
CN107659511B CN201710701834.9A CN201710701834A CN107659511B CN 107659511 B CN107659511 B CN 107659511B CN 201710701834 A CN201710701834 A CN 201710701834A CN 107659511 B CN107659511 B CN 107659511B
Authority
CN
China
Prior art keywords
overload control
filtering
packet
application layer
overload
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.)
Active
Application number
CN201710701834.9A
Other languages
English (en)
Other versions
CN107659511A (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201710701834.9A priority Critical patent/CN107659511B/zh
Publication of CN107659511A publication Critical patent/CN107659511A/zh
Application granted granted Critical
Publication of CN107659511B publication Critical patent/CN107659511B/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
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请实施例公开一种过载控制方法、主机和存储介质以及程序产品,在该方法中,从网卡中获取第一IP包流;根据第一过载控制策略过滤掉第一IP包流中的一部分IP包,得到第二IP包流;第一过载控制策略与应用层的负载相匹配,当应用层中的负载增加时,第一过载控制策略为过滤掉第一IP包流中更多的IP包,当应用层中的负载减少时,第一过载控制策略为过滤掉第一IP包流中更少的IP包;根据第二IP包流生成业务消息请求流,业务消息请求流包括多个业务消息请求;在应用层根据第二过载控制策略对业务消息请求流中的业务消息请求进行过滤以实现过载控制,第二过载控制策略为基于应用层过滤策略进行过载控制的策略。

Description

一种过载控制方法、主机和存储介质以及程序产品
技术领域
本申请涉及计算机技术领域,尤其涉及一种过载控制方法、主机和存储介质以及程序产品。
背景技术
目前的网络服务无处不在,人们对网络服务的依赖程度也越来越高。公开提供的网络服务随时可能受到超出现有处理容量且超大规模突发访问的威胁,例如网络服务可能受到超出最大处理容量的10倍、100倍甚至1000倍以上的并发请求。针对超出现有处理容量的场景产生了主机过载控制(Overload Control,OLC)方案,它的目的就是要防止突发流量导致系统漰溃,并最大限度地提供连续可用的服务。
在现有技术提供的主机过载保护方案中,只在软件应用层进行过载保护,通过周期内的请求数、当前资源使用率等对接入的请求进行过滤,对于超出处理容量部分的请求进行拒绝处理。该过载保护方案可以精确地实施不同业务优先级的过载保护策略,针对不同的资源进行保护。
在软件应用层进行过载保护时,通常也会消耗主机本身的资源,当大规模的请求接入时,对于过载部分的消息处理都会耗尽整个系统的资源,系统业务请求响应变慢,并且最终导致系统漰溃,使得在设计规格容量范围内的业务也无法正常处理,因此存在实施过载控制过程中的业务请求处理效率较低的问题。
发明内容
本申请实施例提供了一种过载控制方法、主机和存储介质以及程序产品,用于提高过载控制过程中的业务请求处理效率。
为解决上述技术问题,本申请实施例提供以下技术方案:
第一方面,本申请实施例提供一种过载控制方法,所述过载控制方法应用于主机,所述主机包括处理器以及网卡,所述方法由所述处理器执行,包括:从所述网卡中获取第一互联网协议IP包流,所述第一IP包流包括多个IP包;根据第一过载控制策略过滤掉所述第一IP包流中的一部分IP包,得到第二IP包流;其中,所述第一过载控制策略为基于IP地址进行过滤的策略,所述第一过载控制策略与应用层的负载相匹配,当所述应用层中的负载增加时,所述第一过载控制策略为过滤掉所述第一IP包流中更多的IP包,当所述应用层中的负载减少时,所述第一过载控制策略为过滤掉所述第一IP包流中更少的IP包;根据所述第二IP包流生成业务消息请求流,所述业务消息请求流包括多个业务消息请求;在所述应用层根据第二过载控制策略对所述业务消息请求流中的业务消息请求进行过滤以实现过载控制,其中,所述第二过载控制策略为基于应用层过滤策略进行过载控制的策略。
在本申请实施例中,由于本申请实施例中采用过载保护机制协同处理,可以实现应用层过载和网络层过载的双重过滤,因此可以显著地减少过载的业务消息请求对系统资源的占用。通过网络层的过载控制,可以快速高效实现对流量的保护。通过应用层的负载确定第一过载控制策略,实现网络层和应用层协同工作,保证实施过载控制过程中的业务请求处理效率。
在本申请第一方面的一个可能的设计中,所述根据第一过载控制策略过滤掉所述第一IP包流中的一部分IP包,包括:从所述第一IP包流中获取到每个IP包的IP地址;将所述第一IP包流中符合过滤条件的IP包过滤掉,所述过滤条件通过所述第一过载控制策略得到,所述过滤条件用于将具有不同IP地址的多个IP包从所述第一IP包流中过滤掉,以保留具有相同IP地址的多个IP包。在本申请实施例中,主机获取到网络层中的第一IP包流之后,主机可以从第一IP包流中的IP包的头部字段中提取到IP地址,该IP地址可以是访问设备发送业务消息请求时携带的源IP地址,举例说明,访问者来自不同的源IP地址,每个访问者发送的业务消息请求携带各自的IP地址,主机可以根据该IP地址对IP包执行第一过载控制策略,从而可以完成IP包的过滤处理。
在本申请第一方面的一个可能的设计中,所述第一过载控制策略包括:第一过载控制级别,所述第一过载控制级别为用于表示过载控制级别的数值;所述将所述第一IP包流中符合过滤条件的IP包过滤掉,包括:对所述每个IP包的IP地址进行哈希运算,得到所述每个IP包的哈希运算结果;将所述哈希运算结果与所述第一过载控制级别进行位与运算,得到所述每个IP包的位与计算结果;将所述第一IP包流中位与计算结果为1的IP包保留,以及将所述第一IP包流中位与计算结果为0的IP包过滤掉。在本申请实施例中,主机可以采用IP地址的Hash运算结果与第一过载控制级别进行位与计算,实现了不同级别过滤的连续性,即每次过载流量收敛总是在上一个过载控制级别的基础上实施,从而可以最大程度地保护业务的连续性和成功率。举例说明,主机获取业务消息请求的IP地址,接下来根据该IP地址进行hash处理,得到hash运算后的数值,计算出第一过载控制级别对应的二进制数值,将hash运算后的数值与当第一网络过载控制级别对应的数值进行位与计算,若位与计算结果为1,则表示此IP地址的IP包可以送入应用层中进行处理,若位与计算结果为0,直接丢弃该IP地址的IP包,从而完成在网络层中对IP包的过滤处理。
在本申请第一方面的一个可能的设计中,所述方法,还包括:定时查询所述应用层的负载,所述负载包括:所述应用层中当前接入的业务消息请求;根据所述应用层中当前接入的业务消息请求对所述第一过载控制策略进行更新。在本申请实施例中,主机中的应用层可以定时的查询应用层的负载,主机的负载可以指的是应用层中当前接入的业务消息请求。定时查询的查询周期可以根据应用场景中业务消息请求的访问量来确定。主机中的应用层在每次查询到应用层的负载之后,就可以根据查询到的负载对第一过载控制策略进行更新,从而使得第一过载控制策略能够跟随应用层的负载情况进行实时的调整,使得网络层的过滤处理能够与应用层的过滤处理相配合,避免应用层被突发的大量访问所攻击。
在本申请第一方面的一个可能的设计中,所述第一过载控制策略包括:第一过载控制级别;所述根据所述应用层中当前接入的业务消息请求对所述第一过载控制策略进行更新,包括:当所述应用层中当前接入的业务消息请求超过所述应用层的过滤处理能力时,在当前第一过载控制级别的基础上进行级别递增,得到更新后的第一过载控制级别;或,当所述应用层中当前接入的业务消息请求没有超过所述应用层的过滤处理能力时,在当前第一过载控制级别的基础上进行级别递减,得到更新后的第一过载控制级别。本申请实施例中通过应用层的负载可以对第一过载控制级别进行动态的更新,以满足应用层的过载要求,提高应用层对业务请求消息的处理能力。
在本申请第一方面的一个可能的设计中,所述根据第一过载控制策略过滤掉所述第一IP包流中的一部分IP包,得到第二IP包流,包括:按照所述当前第一过载控制级别过滤掉所述第一IP包流中的一部分IP包;按照所述更新后的第一过载控制级别继续过滤掉所述第一IP包流中的另一部分IP包,得到第二IP包流。主机可以根据网络层的当前第一过载控制级别对第一IP包流进行过滤处理,若主机确定应用层中当前接入的业务消息请求超过应用层的过滤处理能力时,主机可以将网络层的当前第一过载控制级别递增,从而得到更新后的第一过载控制级别,此时主机可以对步骤B1中过滤处理后的第一IP包流按照更新后的第一过载控制级别继续进行过滤处理,更新后的第一过载控制级别可以在上一个第一过载控制级别上进行递进处理,当第一过载控制级别上升时,在当前可接入的第一IP包流中再剔除掉另一部分IP包,从而可以得到第二IP包流,实现了在第二IP包流中IP包的业务连续性。
第二方面,本申请实施例提供一种主机,所述主机包括:互联网协议IP包流获取模块,用于从所述主机的网卡中获取第一IP包流,所述第一IP包流包括多个IP包;网络层过滤模块,用于根据第一过载控制策略过滤掉所述第一IP包流中的一部分IP包,得到第二IP包流;其中,所述第一过载控制策略为基于IP地址进行过滤的策略,所述第一过载控制策略与应用层的负载相匹配,当所述应用层中的负载增加时,所述第一过载控制策略为过滤掉所述第一IP包流中更多的IP包,当所述应用层中的负载减少时,所述第一过载控制策略为过滤掉所述第一IP包流中更少的IP包;业务消息请求流生成模块,用于根据所述第二IP包流生成业务消息请求流,所述业务消息请求流包括多个业务消息请求;应用层过滤模块,用于在所述应用层根据第二过载控制策略对所述业务消息请求流中的业务消息请求进行过滤以实现过载控制,其中,所述第二过载控制策略为基于应用层过滤策略进行过载控制的策略。
在本申请第二方面的一个可能的设计中,所述网络层过滤模块,包括:IP地址获取模块,用于从所述第一IP包流中获取到每个IP包的IP地址;IP包过滤模块,用于将所述第一IP包流中符合过滤条件的IP包过滤掉,所述过滤条件通过所述第一过载控制策略得到,所述过滤条件用于将具有不同IP地址的多个IP包从所述第一IP包流中过滤掉,以保留具有相同IP地址的多个IP包。
在本申请第二方面的一个可能的设计中,所述第一过载控制策略包括:第一过载控制级别,所述第一过载控制级别为用于表示过载控制级别的数值;所述IP包过滤模块,包括:哈希运算模块,用于对所述每个IP包的IP地址进行哈希运算,得到所述每个IP包的哈希运算结果;位与计算模块,用于将所述哈希运算结果与所述第一过载控制级别进行位与计算,得到所述每个IP包的位与计算结果;结果判断模块,用于将所述第一IP包流中位与计算结果为1的IP包保留,以及将所述第一IP包流中位与计算结果为0的IP包过滤掉。
在本申请第二方面的一个可能的设计中,所述主机,包括:查询模块和策略更新模块;所述查询模块,用于定时查询所述应用层的负载,所述负载包括:所述应用层中当前接入的业务消息请求;所述策略更新模块,用于根据所述应用层中当前接入的业务消息请求对所述第一过载控制策略进行更新。
在本申请第二方面的一个可能的设计中,所述第一过载控制策略包括:第一过载控制级别;所述策略更新模块,具体用于当所述应用层中当前接入的业务消息请求超过所述应用层的过滤处理能力时,在当前第一过载控制级别的基础上进行级别递增,得到更新后的第一过载控制级别;或,当所述应用层中当前接入的业务消息请求没有超过所述应用层的过滤处理能力时,在当前第一过载控制级别的基础上进行级别递减,得到更新后的第一过载控制级别。
在本申请第二方面的一个可能的设计中,所述网络层过滤模块,包括:第一IP包过滤模块,用于按照所述当前第一过载控制级别过滤掉所述第一IP包流中的一部分IP包;第二IP包过滤模块,用于按照所述更新后的第一过载控制级别继续过滤掉所述第一IP包流中的另一部分IP包,得到第二IP包流。
在本申请的第二方面中,主机的组成模块还可以执行前述第一方面以及各种可能的实现方式中所描述的步骤,详见前述对第一方面以及各种可能的实现方式中的说明。
第三方面,本申请实施例提供一种主机,所述主机包括:处理器、网卡和存储器;所述处理器分别和所述网卡、所述存储器建立有通信连接;所述网卡,用于生成第一互联网协议IP包流,所述第一IP包流包括多个IP包;所述存储器,用于存储指令;所述处理器,用于执行所述存储器中的所述指令,具体执行第一方面中任意一项所述的方法。
第四方面,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。
第五方面,本申请提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。
第六方面,本申请实施例还提供一种过载控制方法,所述过载控制方法应用于过载控制系统,所述过载控制系统包括:主机和交换设备,其中,所述交换设备包括处理器以及网卡,所述方法由所述处理器执行,包括:获取第一互联网协议IP包流,所述第一IP包流包括多个IP包;根据第一过载控制策略过滤掉所述第一IP包流中的一部分IP包,得到第二IP包流;其中,所述第一过载控制策略为基于IP地址进行过滤的策略,所述第一过载控制策略与所述主机的应用层的负载相匹配,当所述应用层中的负载增加时,所述第一过载控制策略为过滤掉所述第一IP包流中更多的IP包,当所述应用层中的负载减少时,所述第一过载控制策略为过滤掉所述第一IP包流中更少的IP包;将所述第二IP包流通过所述网卡发送给所述主机。
第七方面,本申请实施例还提供一种过载控制方法,所述过载控制方法应用于过载控制系统,所述过载控制系统包括:主机和交换设备,其中,所述主机包括处理器以及网卡,所述方法由所述处理器执行,包括:通过所述网卡从所述交换设备接收到第二IP包流,所述第二IP包流是所述交换设备根据第一过载控制策略过滤掉第一IP包流中的一部分IP包得到,所述第一过载控制策略与所述主机的应用层的负载相匹配,当所述应用层中的负载增加时,所述第一过载控制策略为过滤掉所述第一IP包流中更多的IP包,当所述应用层中的负载减少时,所述第一过载控制策略为过滤掉所述第一IP包流中更少的IP包;根据所述第二IP包流生成业务消息请求流,所述业务消息请求流包括多个业务消息请求;在所述应用层根据第二过载控制策略对所述业务消息请求流中的业务消息请求进行过滤以实现过载控制,其中,所述第二过载控制策略为基于应用层过滤策略进行过载控制的策略。
第八方面,本申请实施例还提供一种过载控制系统,所述过载控制系统包括:主机和交换设备,其中,所述交换设备包括处理器以及网卡,所述处理器,用于执行如下步骤:获取第一互联网协议IP包流,所述第一IP包流包括多个IP包;根据第一过载控制策略过滤掉所述第一IP包流中的一部分IP包,得到第二IP包流;其中,所述第一过载控制策略为基于IP地址进行过滤的策略,所述第一过载控制策略与所述主机的应用层的负载相匹配,当所述应用层中的负载增加时,所述第一过载控制策略为过滤掉所述第一IP包流中更多的IP包,当所述应用层中的负载减少时,所述第一过载控制策略为过滤掉所述第一IP包流中更少的IP包;将所述第二IP包流通过所述网卡发送给所述主机。
第九方面,本申请实施例还提供一种过载控制系统,所述过载控制系统包括:主机和交换设备,其中,所述主机包括处理器以及网卡,所述处理器用于执行如下步骤:通过所述网卡从所述交换设备接收到第二IP包流,所述第二IP包流是所述交换设备根据第一过载控制策略过滤掉第一IP包流中的一部分IP包得到,所述第一过载控制策略与所述主机的应用层的负载相匹配,当所述应用层中的负载增加时,所述第一过载控制策略为过滤掉所述第一IP包流中更多的IP包,当所述应用层中的负载减少时,所述第一过载控制策略为过滤掉所述第一IP包流中更少的IP包;根据所述第二IP包流生成业务消息请求流,所述业务消息请求流包括多个业务消息请求;在所述应用层根据第二过载控制策略对所述业务消息请求流中的业务消息请求进行过滤以实现过载控制,其中,所述第二过载控制策略为基于应用层过滤策略进行过载控制的策略。
第十方面,本申请提供了一种芯片系统,该芯片系统包括处理器,用于支持主机实现上述方面中所涉及的功能,例如,发送或处理上述方法中所涉及的数据和/或信息。在一种可能的设计中,所述芯片系统还包括存储器,所述存储器,用于保存主机必要的程序指令和数据。该芯片系统,可以由芯片构成,也可以包括芯片和其他分立器件。
附图说明
图1为本申请实施例提供的一种过载控制方法所应用的主机的组成结构示意图;
图2为本申请实施例提供的一种过载控制方法的流程方框示意图;
图3为本申请实施例提供的主机执行过载控制方法的一种应用场景示意图;
图4为本申请实施例提供的一种过载控制方法所应用的过载控制系统的组成结构示意图;
图5为本申请实施例提供的另一种过载控制方法的流程方框示意图;
图6为本申请实施例提供的另一种过载控制方法的流程方框示意图;
图7为本申请实施例提供的多种服务器的动态内容消息响应能力的示意图;
图8为本申请实施例提供的主机过载实施层次的示意图;
图9为本申请实施例提供的主机内的多个组件之间的关系示意图;
图10为本申请实施例提供的应用层和网络层协同工作的流程示意图;
图11为本申请实施例提供的过载控制方法在一种实现场景下的整体实现流程示意图;
图12为本申请实施例提供的主机内的组成层次架构示意图;
图13为本申请实施例提供的主机内的功能组件架构示意图;
图14为本申请实施例提供的过载控制效果的对比示意图;
图15-a为本申请实施例提供的一种主机的组成结构示意图;
图15-b为本申请实施例提供的一种网络层过滤模块的组成结构示意图;
图15-c为本申请实施例提供的一种IP包过滤模块的组成结构示意图;
图15-d为本申请实施例提供的另一种主机的组成结构示意图;
图15-e为本申请实施例提供的另一种网络层过滤模块的组成结构示意图;
图16为本申请实施例提供的一种过载控制方法应用于主机的组成结构示意图。
具体实施方式
本申请实施例提供了一种过载控制方法、主机和存储介质以及程序产品,用于提高过载控制过程中的业务请求处理效率。
下面结合附图,对本申请的实施例进行描述。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的术语在适当情况下可以互换,这仅仅是描述本申请的实施例中对相同属性的对象在描述时所采用的区分方式。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,以便包含一系列单元的过程、方法、系统、产品或设备不必限于那些单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它单元。
以下分别进行详细说明。
请参阅图1所示,为本申请实施例提供的过载控制方法的一种主机的组成架构示意图。该主机可以是服务器,例如集群服务器。在该主机中可以包括处理器和网卡。在本申请实施例中,处理器和网卡之间建立有通信连接。在本申请实施例中,为了避免主机受到超大规模的突发访问威胁,可以在主机设置应用层过载组件,通过该应用层过载组件对消息请求进行过滤,防止突发流量导致系统漰溃,并最大限度地提供连续可用的服务。另外,本申请实施例还可以设置网络层过载组件,通过该网络层过载组件在网络层上对消息请求进行过滤,在消息请求到达应用层之前就在网络层进行过滤处理,可以实现在主机中的尽早过载保护,从而可以使应用层对消息请求的处理效率得到保证。
请参阅图2所示,为本申请实施例提供的一种过载控制方法的流程方框示意图。本申请实施例提供的一种过载控制方法应用于主机,该主机可以包括处理器以及网卡,该过载控制方法可由处理器执行,该方法包括如下步骤:
201、从网卡中获取第一互联网协议(Internet Protocol,IP)包流,其中,第一IP包流包括多个IP包。
在本申请实施例中,访问设备发送业务消息请求,访问设备和主机之间可以建立有通信连接,主机通过网卡接收该业务消息请求,主机中的网卡首先生成IP包流,为区别于后续实施例中网络层按照第一过载控制策略所生成的IP包流,将网卡生成的IP包流定义为“第一IP包流”,主机中的处理器首先从网卡中获取到第一IP包流,该第一IP包流包括有多个IP包。
需要说明的是,在本申请实施例中,处理器从网卡获取到的第一IP包流中包括有多个IP包,每收到一个IP包后,按照一定的原则(例如根据IP地址)对IP包进行丢弃或者接收,从而实现过载控制。具体方法可参见步骤202-204。
202、根据第一过载控制策略过滤掉第一IP包流中的一部分IP包,得到第二IP包流;其中,第一过载控制策略为基于IP地址进行过滤的策略,第一过载控制策略与应用层的负载相匹配,当应用层中的负载增加时,第一过载控制策略为过滤掉第一IP包流中更多的IP包,当应用层中的负载减少时,第一过载控制策略为过滤掉第一IP包流中更少的IP包。
在本申请实施例中,主机在网络层配置有第一过载控制策略,第一过载控制策略定义为第一过载控制策略,第一过载控制策略与主机的应用层的负载相匹配,因此网络层对IP包的过滤处理可以根据应用层中的负载来控制。其中,应用层中的负载是指应用层中处理消息请求的负载情况,例如应用层的负载可以是应用层每秒可处理的消息请求个数,或者应用层的负载可以是应用层在一段时间内处理的请求比例,该请求比例可通过应用层每秒可处理的消息请求个数与接收到的消息请求总数的比例来确定。
在本申请实施例中,主机中可以同时设置网络层过载组件和应用层过载组件,并且网络层过载组件可以根据应用层过载组件获取到的主机的负载调整第一过载控制策略,从而可以充分利用应用层过载组件的业务识别能力,并通过网络层过载组件实现对过载控制的协同处理,从而将对进入应用层的业务消息请求在网络层中进行过滤,以减轻应用层的处理负荷。
需要说明的是,在本申请实施例中,第一过载控制策略可以有多种实现方式,例如该第一过载控制策略可以是在网络层中设置的第一过载控制级别,例如,该第一过载控制级别为用于表示过载控制级别的数值,又如,第一过载控制级别还可以是用于表示过载控制级别的级别等级,例如该级别等级可以是级别高、级别中、级别低等。对于每种不同过载控制级别可以设置相应的IP包过滤方式,例如通过过载控制级别可以确定对IP包的接入比例,从而按照该接入比例过滤掉超过该比例以外的IP包。另外该第一过载控制策略还可以是在网络层上对IP包的过滤方式,从而主机就可以直接根据该过滤方式对IP包进行过滤处理。
在本申请实施例中,第一IP包流进入主机的网络层之后,可以使用在网络层上设置的第一过载控制策略对第一IP包流进行过滤,即可以根据第一过载控制策略过滤掉第一IP包流中的一部分IP包,则第一IP包流中没有过滤掉的IP包构成第二IP包流。其中,第一过载控制策略可以是基于IP地址进行过滤的策略,因此通过第一IP包流中每个IP包携带的IP地址就可以确定各个IP包是被过滤掉,还是被保留下来。详细的,当应用层中的负载增加时,第一过载控制策略为过滤掉第一IP包流中更多的IP包,当应用层中的负载减少时,第一过载控制策略为过滤掉第一IP包流中更少的IP包。因此本申请实施例中,在网络层的传输控制协议/互联网协议(Transmission Control Protocol/Internet Protocol,TCP/IP)处理之前按照第一过载控制策略对IP包进行拦截,在网络层中实施第一过载控制策略对主机资源使用最少,比如对处理器(Central Processing Unit,CPU)和网络带宽等资源的使用要少于在应用层中对业务消息请求的过载控制。
在本申请的一些实施例中,本申请实施例除了执行前述的方法步骤之外,本申请实施例提供的过载控制方法还可以包括如下步骤:
步骤A1、定时查询应用层的负载,负载包括:应用层中当前接入的业务消息请求;
步骤A2、根据应用层中当前接入的业务消息请求对第一过载控制策略进行更新。
其中,主机中的应用层可以定时的查询应用层的负载,主机的负载可以指的是应用层中当前接入的业务消息请求。定时查询的查询周期可以根据应用场景中业务消息请求的访问量来确定。主机中的应用层在每次查询到应用层的负载之后,就可以根据查询到的负载对第一过载控制策略进行更新,从而使得第一过载控制策略能够跟随应用层的负载情况进行实时的调整,使得网络层的过滤处理能够与应用层的过滤处理相配合,避免应用层被突发的大量访问所攻击。
进一步的,在本申请的一些实施例中,第一过载控制策略包括:第一过载控制级别。
步骤A2根据应用层中当前接入的业务消息请求对第一过载控制策略进行更新,具体可以包括如下步骤:
A21、当应用层中当前接入的业务消息请求超过应用层的过滤处理能力时,在当前第一过载控制级别的基础上进行级别递增,得到更新后的第一过载控制级别;或,
A22、当应用层中当前接入的业务消息请求没有超过应用层的过滤处理能力时,在当前第一过载控制级别的基础上进行级别递减,得到更新后的第一过载控制级别。
其中,主机的应用层可以定时查询应用层的负载,并根据查询到的应用层的负载确定是否需要更新网络层的第一过载控制策略。举例说明,如应用层的业务消息请求的个数大于应用层的过滤处理能力,则应用层会要求网络层增加对IP包过滤的要求,此时就需要增加第一过载控制级别,使得网络层过载组件能够过滤掉更多的IP包。如应用层的业务消息请求的个数小于应用层的过滤处理能力,应用层会要求网络层减少对IP包的过滤,网络层过载组件减少对IP包的过滤,以使得应用层中接入更多的IP包,即有更多的IP包会被送到应用层,再通过该应用层对业务消息请求进行过滤处理。本申请实施例中通过应用层的负载可以对第一过载控制级别进行动态的更新,以满足应用层的过载要求,提高应用层对业务请求消息的处理能力。
在本申请的前述实施例中,主机确定应用层中当前接入的业务消息请求超过应用层的过滤处理能力时,主机可以将网络层的当前第一过载控制级别递增,即更新后的第一过载控制级别比更新前的第一过载控制级别更高。主机确定应用层中当前接入的业务消息请求没有超过应用层的过滤处理能力时,主机可以将网络层的当前第一过载控制级别递减,即更新后的第一过载控制级别比更新前的第一过载控制级别更低。本申请实施例中通过对网络层的第一过载控制级别进行递增更新或递减更新,使得每个第一过载控制级别总是在上一个第一过载控制级别上进行依次递进处理,从而可以实现对网络层的第一过载控制级别的实时更新。
进一步的,在前述执行步骤A21和步骤A22所示的场景下,步骤202根据第一过载控制策略过滤掉第一IP包流中的一部分IP包,得到第二IP包流,包括:
B1、按照当前第一过载控制级别过滤掉第一IP包流中的一部分IP包;
B2、按照更新后的第一过载控制级别继续过滤掉第一IP包流中的另一部分IP包,得到第二IP包流。
其中,主机可以根据网络层的当前第一过载控制级别对第一IP包流进行过滤处理,若主机确定应用层中当前接入的业务消息请求超过应用层的过滤处理能力时,主机可以将网络层的当前第一过载控制级别递增,从而得到更新后的第一过载控制级别,此时主机可以对步骤B1中过滤处理后的第一IP包流按照更新后的第一过载控制级别继续进行过滤处理,更新后的第一过载控制级别可以在上一个第一过载控制级别上进行递进处理,当第一过载控制级别上升时,在当前可接入的第一IP包流中再剔除掉另一部分IP包,从而可以得到第二IP包流,实现了在第二IP包流中IP包的业务连续性。
在本申请的一些实施例中,步骤202根据第一过载控制策略过滤掉第一IP包流中的一部分IP包,包括:
C1、从第一IP包流中获取到每个IP包的IP地址;
C2、将第一IP包流中符合过滤条件的IP包过滤掉,过滤条件通过第一过载控制策略得到,过滤条件用于将具有不同IP地址的多个IP包从第一IP包流中过滤掉,以保留具有相同IP地址的多个IP包。
其中,主机获取到网络层中的第一IP包流之后,针对每个第一IP包,主机可以从第一IP包的头部字段中提取到IP地址,该IP地址可以是访问设备发送业务消息请求时携带的源IP地址,主机可以根据该IP地址对IP包执行第一过载控制策略,通过第一过载控制策略可以得到过滤条件,过滤条件用于将具有不同IP地址的多个IP包从第一IP包流中过滤掉,以保留具有相同IP地址的多个IP包,从而可以完成IP包的过滤处理。举例说明,访问者来自不同的源IP地址,如互联网以超文本传输协议(HTTP,HyperText Transfer Protocol)提供访问服务,每个访问者发送的业务消息请求携带各自的IP地址,主机可以根据该IP地址对IP包执行第一过载控制策略,从而可以完成IP包的过滤处理。
进一步的,在本申请的一些实施例中,第一过载控制策略包括:第一过载控制级别,第一过载控制级别为用于表示过载控制级别的数值。在这种实现场景下,前述的步骤C2将第一IP包流中符合过滤条件的IP包过滤掉,包括:
C21、对每个IP包的IP地址进行哈希(Hash)运算,得到每个IP包的哈希运算结果;
C22、将哈希运算结果与第一过载控制级别进行位与计算,得到每个IP包的位与计算结果;
C23、将第一IP包流中位与计算结果为1的IP包保留,以及将第一IP包流中位与计算结果为0的IP包过滤掉。
其中,主机可以采用IP地址的Hash运算结果与第一过载控制级别进行位与计算,实现了不同级别过滤的连续性,即每次过载流量收敛总是在上一个过载控制级别的基础上实施,从而可以最大程度地保护业务的连续性和成功率。举例说明,主机获取业务消息请求的IP地址,接下来根据该IP地址进行hash处理,得到hash运算后的数值,计算出第一过载控制级别对应的二进制数值,例如可以是0x01,0x03,0x07,0x0E,0xF1…,将hash运算后的数值与当第一网络过载控制级别对应的数值进行位与计算,若位与计算结果为1,则表示此IP地址的IP包可以送入应用层中进行处理,若位与计算结果为0,直接丢弃该IP地址的IP包,从而完成在网络层中对IP包的过滤处理。
203、根据第二IP包流生成业务消息请求流,业务消息请求流包括多个业务消息请求。
在本申请实施例中,主机中的网络层对第一IP包流中的一部分IP包进行过滤得到第二IP包流,主机中的TCP/IP协议栈可以根据该第二IP包流生成业务消息请求流,业务消息请求流包括多个业务消息请求,根据第二IP包流生成业务消息请求流的生成方式为现有技术,此处不再赘述。得到业务消息请求流之后,主机将该业务消息请求流从网络层继续向上层传输,例如主机的网络层可以将业务消息请求流从网络层传输到传输层,并依次经过会话层、表示层之后传输到应用层中,然后触发执行后续步骤204。
204、在应用层根据第二过载控制策略对业务消息请求流中的业务消息请求进行过滤以实现过载控制,其中,第二过载控制策略为基于应用层过滤策略进行过载控制的策略。
在本申请实施例中,主机在应用层获取到业务消息请求流之后,主机可以根据第二过载控制策略对业务消息请求流进行过滤处理以实现过载控制,其中,第二过载控制策略为基于应用层过滤策略进行过载控制的策略,该应用层过滤策略可以具体场景来配置。举例说明如下,主机可以通过周期内的请求数、当前资源使用率等配置第二过载控制策略,然后使用该第二过载控制策略对接入应用层的业务消息请求流进行过滤,对于超出容量规格部分的请求进行拒绝处理。应用层过载保护方案可以精确地实施不同业务优先级的过载保护策略,针对不同的资源进行保护。结合前述步骤202的描述可知,本申请实施例中,主机可以在应用层过载保护之前再加一层更高效的网络层过载保护,从而可以实现应用层过载保护和网络层过载保护的协同工作。
通过前述实施例对本申请的举例说明可知,首先从网卡中获取第一互联网协议IP包流,第一IP包流包括多个IP包;根据第一过载控制策略过滤掉第一IP包流中的一部分IP包,得到第二IP包流;其中,第一过载控制策略为基于IP地址进行过滤的策略,第一过载控制策略与应用层的负载相匹配,当应用层中的负载增加时,第一过载控制策略为过滤掉第一IP包流中更多的IP包,当应用层中的负载减少时,第一过载控制策略为过滤掉第一IP包流中更少的IP包;根据第二IP包流生成业务消息请求流,业务消息请求流包括多个业务消息请求;在应用层根据第二过载控制策略对业务消息请求流中的业务消息请求进行过滤以实现过载控制,其中,第二过载控制策略为基于应用层过滤策略进行过载控制的策略。由于本申请实施例中采用过载保护机制协同处理,可以实现应用层过载和网络层过载的双重过滤,因此可以显著地减少过载的业务消息请求对系统资源的占用。通过网络层的过载控制,可以快速高效实现对流量的保护。通过应用层的负载确定第一过载控制策略,实现网络层和应用层协同工作,保证实施过载控制过程中的业务请求处理效率。
如图3所示,为本申请实施例提供的主机执行过载控制方法的一种应用场景示意图。主机中包括有网卡、CPU和存储器。其中,存储器中可以存储基于IP地址进行过滤的第一过载控制策略、基于应用层进行过滤的第二过载控制策略。在主机中包括有软件操作系统(Operating System,OS)层和软件应用层。访问设备发送业务消息请求,访问设备和主机之间可以建立有通信连接,主机通过网卡接收该业务消息请求,主机中的网卡首先生成第一IP包流,该第一IP包流被传输至软件OS层中的网络层软件,该网络层软件根据第一过载控制策略过滤掉第一IP包流中的一部分IP包,生成第二IP包流,然后主机中的TCP/IP协议栈可以根据该第二IP包流生成业务消息请求流(图3中简称为消息请求流),业务消息请求流包括多个业务消息请求。业务消息请求流被传输至软件应用层中的应用层软件,该应用层软件可以在应用层根据第二过载控制策略对业务消息请求流中的业务消息请求进行过滤以实现过载控制,业务消息请求流中没有被过滤掉的业务消息请求可以进行应用层的业务处理。本申请实施例中,主机可以在应用层过载保护之前再加一层更高效的网络层过载保护,从而可以实现应用层过载保护和网络层过载保护的协同工作,从而保证实施过载控制过程中的业务请求处理效率。
前述实施例从主机的角度描述了本申请实施例提供的过载控制方法,接下来介绍本申请实施例提供的另一种过载控制方法,如图4所示,为本申请实施例提供的过载控制方法所应用的过载控制系统的组成结构示意图。在该系统中可以包括交换设备和主机。在本发明实施例中,交换设备和主机之间建立有通信连接,例如交换设备可以通过无线网络和主机相连接,交换设备也可以通过有线网络和主机相连接。该交换设备具体可以是交换机或者路由器,该交换设备将访问设备的访问请求发送到主机上,该主机可以是服务器,例如集群服务器,访问设备作为客户端可以向主机发送消息请求。在本申请实施例中,过载控制系统中可以包括多个主机,交换设备通过路由控制算法将访问设备的消息请求路由到相应的主机上。在本申请实施例中,为了避免主机受到超大规模的突发访问威胁,可以在主机可以设置应用层过载组件,通过该应用层过载组件对消息请求进行过滤,防止突发流量导致系统漰溃,并最大限度地提供连续可用的服务。另外,本申请实施例还可以设置网络层过载组件,通过该网络层过载组件在网络层上对消息请求进行过滤,在消息请求到达应用层之前就在网络层进行过滤处理,可以实现在过载控制系统中的尽早过载保护,从而可以使应用层对消息请求的处理得到保证。
接下来对交换设备与主机进行交互的过程进行详细说明,过载控制系统,包括:交换设备和主机,其中,交换设备包括处理器以及网卡,请参阅图5所示,本申请实施例提供的过载控制方法由交换设备的处理器执行,主要包括如下过程:
501、获取第一互联网协议IP包流,第一IP包流包括多个IP包。
502、根据第一过载控制策略过滤掉第一IP包流中的一部分IP包,得到第二IP包流。其中,第一过载控制策略为基于IP地址进行过滤的策略,第一过载控制策略与主机的应用层的负载相匹配,当应用层中的负载增加时,第一过载控制策略为过滤掉第一IP包流中更多的IP包,当应用层中的负载减少时,第一过载控制策略为过滤掉第一IP包流中更少的IP包。
503、将第二IP包流通过网卡发送给主机。
在本申请实施例中,交换设备执行的步骤501至步骤502,与前述实施例中主机所执行的步骤201至步骤202相类似,详见前述实施例的说明。其中,交换设备中设置有网络层过载组件,主机中设置有应用层过载组件,交换设备的网络层过载组件可以与主机的应用层过载组件进行协同过载控制,可以充分利用应用层过载组件的业务识别能力,能够在应用层过载组件不能处理的情况下,由网络层过载组件来过滤业务请求,保护主机业务处理资源,因此通过本申请实施例可以实现精确的过载控制。
在本申请实施例中,过载控制系统,包括:交换设备和主机,其中,主机包括处理器以及网卡,请参阅图6所示,本申请实施例提供的过载控制方法由主机的处理器执行,主要包括如下过程:
601、通过网卡从交换设备接收到第二IP包流,第二IP包流是交换设备根据第一过载控制策略过滤掉第一IP包流中的一部分IP包得到,第一过载控制策略与主机的应用层的负载相匹配,当应用层中的负载增加时,第一过载控制策略为过滤掉第一IP包流中更多的IP包,当应用层中的负载减少时,第一过载控制策略为过滤掉第一IP包流中更少的IP包。
602、根据第二IP包流生成业务消息请求流,业务消息请求流包括多个业务消息请求。
603、在应用层根据第二过载控制策略对业务消息请求流中的业务消息请求进行过滤以实现过载控制,其中,第二过载控制策略为基于应用层过滤策略进行过载控制的策略。
在本申请实施例中,交换设备执行的步骤602至步骤603,与前述实施例中主机所执行的步骤203至步骤204相类似,详见前述实施例的说明。其中,交换设备中设置有网络层过载组件,主机中设置有应用层过载组件,交换设备的网络层过载组件可以与主机的应用层过载组件进行协同过载控制,可以充分利用应用层过载组件的业务识别能力,能够在应用层过载组件不能处理的情况下,由网络层过载组件来过滤业务请求,保护主机业务处理资源,因此通过本申请实施例可以实现精确的过载控制。
需要说明的是,在实际应用中,网络层过载组件可以有多种实现方式,一种可行的方式是网络层过载组件设置在交换设备中,此时可以由交换设备在网络层进行过滤处理,网络层过滤完成后的数据流再传到主机的应用层中继续进行过滤处理。另一种可行的方式是网络层过载组件设置在主机中,则主机通过交换设备接收到访问设备的数据流,主机可以在网络层进行过载处理,然后主机在应用层继续进行过载处理。本申请实施例中采用过载保护机制协同处理,能够发挥应用层过载和网络层过载的双重优势,显著地减少过载部分请求对系统资源的占用,实现过载控制的最优化处理。通过网络层的过载控制,可以快速高效实现对流量的保护。通过应用层的负载确定第一过载控制策略,实现网络层和应用层协同工作,保证实施过载控制过程中的业务请求处理效率。
在本申请实施例中,交换设备和主机之间通过无线网络进行通信。网络层过载组件设置在交换设备中,应用层过载组件设置在主机中,此时可以由交换设备在网络层进行过滤处理,网络层过滤完成后的数据流再传到主机的应用层中继续进行过滤处理,主机可以定时查询应用层的负载,主机通过无线网络向交换设备发送应用层的负载,从而交换设备可以根据该应用层的负载调整第一过载控制策略,交换设备可以在主机的控制下进行IP包过滤,从而减轻主机的应用层的处理负荷,提高应用层的业务处理效率。
为便于更好的理解和实施本申请实施例的上述方案,下面举例相应的应用场景来进行具体说明。
本申请实施例提供的过载控制系统可以应用于计算机软件系统的过载场景,在应用层加入一个过载控制组件,这个组件的作用是当系统接入的请求过载时,在应用层将过载部分请求丢弃处理,确保允许接入部分的请求及时的处理。这种方案在较低的过载场景下可以工作,而当过载消息流量过大时,则会消耗尽应用资源如中央处理器(CentralProcessing Unit,CPU)资源、网络带宽资源或者内存等,使系统无法正常工作。如图7所示,为本申请实施例提供的多种服务器的动态内容消息响应能力的示意图。以常用中间件(例如Tomcat/Jetty/Grizzly/Undertow)消息处理能力在不加载复杂业务下的数据图表为例,中间件运行在8核(Cores)CPU的主机上,图7中的纵轴表示服务器每秒支持的最大请求数。
根据图7可知,在中间件在不加载复杂业务时,最大可接受的消息请求在10000至30000之间。在几种典型业务场景下,系统处理过载请求的情况如下表1所示:
Figure BDA0001380512640000131
其中,每秒处理事务数(Transactions Per Second,TPS)表示消息处理能力,在资源消耗较低的场景下,例如以上C、D两种资源消耗类的应用,为了突破应用中间件的限制,需要更低的消耗来处理过载的请求。通过分析消息流经的阶段,本申请实施例中可以在网络层增加一个过载控制单元,利用网络层高效IP拦截能力来解决以上问题,使系统能够承受更大规模的过载请求。
在主机的过载实施方案中,如图8所示,为本申请实施例提供的主机过载实施层次的示意图。主机可以在硬件、系统内核、平台和应用程序上分别进行过载控制,其中,硬件(hardware)属于物理层,系统内核(system kernel)属于网络层、平台(platform)和应用程序(app)属于应用层。在硬件或者系统内核进行过载控制,消耗资源最低;在平台(例如业务中间件Tomcat)上进行过载控制,资源消耗偏高;在应用程序上进行过载控制,资源消耗最高。因此本申请实施例中,可以在网络层上进行过载控制,从而降低资源消耗。
在本申请实施例中,在应用层过载处理之前,消息请求已经到达主机应用层,该消息请求中间经过了物理层、数据连接层、网络层、传输层,会话层,表示层这6个阶段的处理,其中这6个层可以简称为系统底层,从而本申请实施例能做到在系统底层尽早过载保护。
本申请实施例中在应用层的过载保护方案上,增加了网络层过载保护方案,使得网络层过载保护和应用层过载保护可以实现过载保护机制协同处理,能够发挥主机应用层过载和网络层过载优势,显著地减少过载部分请求对主机系统资源的占用,实现业务过载控制最优化处理。本申请实施例中,在网络层过载时,在不同规模的请求下,能够进入不同的过载处理模式,这些过载模式对IP数据包的拦截具有连续性,例如可以包括如下两种情况的不同处理方式:当系统处于较低的过载状态时,由应用层实施过载保护,充分地利用应用层过载保护对业务的优先级识别处理,这取决于实施系统的过载能力,取应用层能够保护的最大倍数,当应用层能保护时,网络层不介入过载控制,或者网络层进行少量的过载控制。当系统接受大量请求过载冲击时,应用层向网络层请求协同处理,要求网络层过滤部分IP请求,以保护应用层资源,防止应用层因大量过载请求导致崩溃。
在本申请实施例所应用的场景特征中,访问者来自不同的源IP地址,例如互联网以HTTP协议访问的服务。提供服务的中间件性能存在限制,表现为在大量的IP请求冲击状态下,无法有效地提供服务。如一个互联网交易平台在大量冲突下,完全丧失系统处理能力或者处理能力急剧下降。针对以上场景,本申请实施例方案采用二层联动过载保护方法,应用软件上实施过载和网络层过载二者相互配合。
如图9所示,为本申请实施例提供的主机内的多个组件之间的关系示意图。本申请实施例提供的主机中可以包括:过载控制协同组件、应用层过载组件和网络层过载组件,其中,过载控制协同组件通过应用层过载组件收集应用层的负载,然后根据该应用层的负载确定网络层的过载控制级别,然后向网络层过载组件通知网络层过载控制级别,网络层过载组件使用该过载控制级别进行过载控制。本申请实施例中设置有网络层过载组件和过载控制协同组件,其中过载控制协同组件会定时查询应用层过载组件的负载,并根据负载来决定网络层过载组件的过载控制策略,在应用层处理过载的负荷超过阈值时,即消息量很大,应用层无法正常保护时,启用网络层过载组件进行过载控制。如图10所示,为本申请实施例提供的应用层和网络层协同工作的流程示意图,应用层和网络层协同工作的流程可包括如下步骤:
步骤11、过载控制协同组件向应用层过载组件查询应用层过载状态。
步骤12、过载控制协同组件接收应用层过载组件回复的查询结果。
步骤13、当应用层请求增加消息时,过载控制协同组件向应用层过载组件通知网络层增加接入消息。
步骤14、过载控制协同组件接收应用层过载组件发送的消息响应。
其中,过载控制协同组件收到查询反馈当前负载情况,过载控制协同组件会根据配置决定是否要启用网络层过载和决定进入哪个级别的过载。
步骤15、当应用层请求减少消息时,过载控制协同组件向应用层过载组件通知网络层减少请求消息。
步骤16、过载控制协同组件接收应用层过载组件发送的消息响应。
在前述实施例中,本申请实施例中提供的过载控制系统中包括两个核心组件:网络层过载组件和应用层过载组件,这两个组件可以是在主机的内存中运行的模块,这两个组件能够协同工作,具体协同方法详见图11所示,为本申请实施例提供的过载控制方法在一种实现场景下的整体实现流程示意图。图11所示的流程描述了外部请求到达主机的处理过程,其中网络层过载处理位于操作系统底层,它在应用层过载之前发生作用,且接收应用层的协同消息,此处的网络层在操作系统的TCP/IP处理之前将IP数据包进行拦截,且操作系统提供了相应的拦截机制,选择在网络层中实施过载对主机资源使用最少,例如对CPU和网络带宽等资源的使用最少。过载控制方法在一种实现场景下的整体实现流程可包括如下步骤:
步骤一:主机接收到访问设备发送的消息请求,消息经过硬件、操作系统的TCP/IP协议到网络层协议进行处理。
步骤二:根据网络层的第一过载控制级别,对第一IP包流进行过滤处理,对于过载部分的IP包直接丢弃,第一IP包流中剩余的IP包构成第二IP包流。
步骤三:网络层过载组件对于网络层接入的第二IP包流,传输至应用层过载组件进行处理。例如,预先定义L0-Ln的级别,当第一过载控制级别处于L0时,网络层允许所有IP包进入,处于L1时需要50%的IP包过滤,处于L2时需要75%的IP包被过滤,过滤效果依此类推。
步骤四:应用层过载组件进行TCP端口监听,应用层过载组件根据当前负载情况,对超过访问次数阈值的消息直接丢弃。
步骤五:网络层过载控制协同组件定时查询应用层的负载,并根据反馈决定是否需要变更网络层的第一过载控制级别。如应用层接入消息大于应用层接入能力,会要求网络层增加对IP包过滤的要求,反之会要求接入更多的IP。
步骤六:应用层对消息进行正常的业务处理。
如图12所示,为本申请实施例提供的主机内的组成层次架构示意图。主机包括如下三个层:硬件以及驱动层、网络层和应用层,其中,在网络层中设置有网络层过载组件和网络过滤(Netfilter)模块,在应用层中设置有过载控制协同组件、应用层软件和应用层过载组件,其中,应用层软件和应用层过载组件设置在应用中间件中,过载控制协同组件向应用层过载组件下发指令,应用层过载组件进行负载上报,过载控制协同组件根据应用层负载下发指令给网络层过载组件,网络层过载组件和网络过滤模块可以进行数据包的过滤处理。
如图13所示,为本申请实施例提供的主机内的功能组件架构示意图。本申请实施例中主机的应用层设置有过载控制协同组件(例如OLC-Agent)、过载控制执行(OLC-Executer)和资源监视器(Resource-Monitor),另在网络层增加一个过载控制执行(OLC-Kernel)组件和网络过滤(Netfilter)模块。各个组件之间的交互过程如下:
步骤一:OLC-Agent定时收集系统资源和OLC-Executer的负载情况。
步骤二:OLC-Executer根据OLC-Agent提供的过载门限进行过载处理。
步骤三:OLC-Agent根据网络层的OLC-Kernel过载门限值决定是否修改网络层的过载控制级别。
如下表2所示,接下来对过载控制的核心模块进行举例说明:
Figure BDA0001380512640000161
接下来对本申请实施例提供的网络层的IP数据包的过滤算法进行举例说明。该过滤算法可以在OLC-Kernel中实现,为系统内核开发的可加载模块,位于主机网络层,由应用OLC-Agent来控制其过载,将消息请求的IP数据包进行Hash运算后,按OLC-Agent下发的过载控制策略对IP数据包进行过滤,其中,流量收敛比例及相应的过载控制级别如下所示:
Figure BDA0001380512640000162
当过载控制策略需要减少或者增加接入时,需要在上一个过载控制策略的基础上实施,此处采用位与计算实现。通过如上所述的算法,对网络层的流量可以实现快速收敛,从而达到应对超大流量冲击的保护。
通过前述的举例说明可知,本申请实施例中OLC-Agent定时向OLC-Executer查询当前每秒请求数,当OLC-Executer承担的负载量超出预定阈值时,表明应用层已经无法处理更多的请求。此时OLC-Agent向OLC-kernel发送一个网络层级别调整请求,通知OLC-kernel对过载控制级别进行调整,OLC-Kernel通过IP过滤算法,将送往应用层处理的消息减少,从而达到以较小的资源消耗来处理过载部分的消息请求。
使用前述的方法,过载的消息请求可以通过网络层进行过滤,获得了明确的效率提升。以下为模拟测试效果,测试环境为:Tomcat服务器,模拟业务最大1200TPS,8核CPU。如图14所示,为本申请实施例提供的过载控制效果的对比示意图。实际表现的系统过载保护能力测试数据如图14所示,表明应用层过载控制可以承受10倍的过载保护,而网络层和应用层协同后,过载控制级别可达到100倍消息流量的冲击。
需要说明的是,在图14的示例说明中,针对不同的业务和中间件,以及测试硬件不同,测试结果可能不同,本测试采用的是Tomcat服务器,模拟业务最大1200TPS,8核CPU。
本申请实施例提供了网络层和应用层协同进行过载控制的方案,当应用层达到指定的过载压力时,可以请求网络层对接入的请求进行高效率的过滤,用以保护应用层的资源。同理,当应用层负载较低时,请求网络层接入更多的IP请求。本申请实施例还提供了网络层过载控制级别递进、递减方法,每个级别过载方案拦截的网络IP数据包总是在上一个过载控制级别上的递进处理,即当过载控制级别上升时,在当前可接入的IP数据包中再剔除部分IP数据包,用于保证可接入部分请求的业务连续性。
本申请方案中包括了主机应用层过载和网络层过载协同处理的方法,通过此方法可以使主机过载能力上限显著地提升。通过网络层的过载,可以快速高效实现对流量的保护。经过试验表明,网络层过滤流量所需要的资源可以减少为应用层过载处理的1%以下。如WEB类HTTP服务请求过载保护,根据应用不同的特性,可提高到超过100倍过载保护能力。通过应用层向网络层进行过载控制级别的控制,能够快速地对流量进行响应。如100过载突发流量冲击,可在5个周期(例如过载检测周期设定秒,即5秒内)内将流量控制到3%左右。本申请实施例中,网络层执行的IP过滤算法采用Hash运算后与过载控制级别的掩码运算,实现了不同级别过滤的连续性,即每次过载流量收敛总是在上一个过载控制级别的范围内实施,最大程度地保护业务的连续性和成功率。
不限定的是在实际应用环境中,还可以通过在交换机或者路由器上将无法处理的IP流量丢弃,通过主机与周边的交换机或者路由器设配交互,从而进行实施和精确地控制。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
为便于更好的实施本申请实施例的上述方案,下面还提供用于实施上述方案的相关装置。
请参阅图15-a所示,本申请实施例提供的一种主机1500,所述主机1500包括:
IP包流获取模块1501,用于从所述网卡中获取第一IP包流,所述第一IP包流包括多个IP包;
网络层过滤模块1502,用于根据第一过载控制策略过滤掉所述第一IP包流中的一部分IP包,得到第二IP包流;其中,所述第一过载控制策略为基于IP地址进行过滤的策略,所述第一过载控制策略与应用层的负载相匹配,当所述应用层中的负载增加时,所述第一过载控制策略为过滤掉所述第一IP包流中更多的IP包,当所述应用层中的负载减少时,所述第一过载控制策略为过滤掉所述第一IP包流中更少的IP包;
业务消息请求流生成模块1503,用于根据所述第二IP包流生成业务消息请求流,所述业务消息请求流包括多个业务消息请求;
应用层过滤模块1504,用于在所述应用层根据第二过载控制策略对所述业务消息请求流中的业务消息请求进行过滤以实现过载控制,其中,所述第二过载控制策略为基于应用层过滤策略进行过载控制的策略。
在本申请的一些实施例中,请参阅图15-b所示,所述网络层过滤模块1502,包括:
IP地址获取模块15021,用于从所述第一IP包流中获取到每个IP包的IP地址;
IP包过滤模块15022,用于将所述第一IP包流中符合过滤条件的IP包过滤掉,所述过滤条件通过所述第一过载控制策略得到,所述过滤条件用于将具有不同IP地址的多个IP包从所述第一IP包流中过滤掉,以保留具有相同IP地址的多个IP包。
进一步的,所述第一过载控制策略包括:第一过载控制级别,所述第一过载控制级别为用于表示过载控制级别的数值;
在本申请的一些实施例中,请参阅图15-c所示,所述IP包过滤模块15022,包括:
哈希运算模块150221,用于对所述每个IP包的IP地址进行哈希运算,得到所述每个IP包的哈希运算结果;
位与计算模块150222,用于将所述哈希运算结果与所述第一过载控制级别进行位与计算,得到所述每个IP包的位与计算结果;
结果判断模块150223,用于将所述第一IP包流中位与计算结果为1的IP包保留,以及将所述第一IP包流中位与计算结果为0的IP包过滤掉。
在本申请的一些实施例中,请参阅图15-d所示,所述主机1500,包括:查询模块1505和策略更新模块1506;
所述查询模块1505,用于定时查询所述应用层的负载,所述负载包括:所述应用层中当前接入的业务消息请求;
所述策略更新模块1506,用于根据所述应用层中当前接入的业务消息请求对所述第一过载控制策略进行更新。
进一步的,所述第一过载控制策略包括:第一过载控制级别;
所述策略更新模块1506,具体用于当所述应用层中当前接入的业务消息请求超过所述应用层的过滤处理能力时,在当前第一过载控制级别的基础上进行级别递增,得到更新后的第一过载控制级别;或,当所述应用层中当前接入的业务消息请求没有超过所述应用层的过滤处理能力时,在当前第一过载控制级别的基础上进行级别递减,得到更新后的第一过载控制级别。
在本申请的一些实施例中,请参阅图15-e所示,所述网络层过滤模块1502,包括:
第一IP包过滤模块15023,用于按照所述当前第一过载控制级别过滤掉所述第一IP包流中的一部分IP包;
第二IP包过滤模块15024,用于按照所述更新后的第一过载控制级别继续过滤掉所述第一IP包流中的另一部分IP包,得到第二IP包流。
需要说明的是,上述装置各模块/单元之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其带来的技术效果与本申请方法实施例相同,具体内容可参见本申请前述所示的方法实施例中的叙述,此处不再赘述。
通过前述实施例对本申请的举例说明可知,首先从网卡中获取第一互联网协议IP包流,第一IP包流包括多个IP包;根据第一过载控制策略过滤掉第一IP包流中的一部分IP包,得到第二IP包流;其中,第一过载控制策略为基于IP地址进行过滤的策略,第一过载控制策略与应用层的负载相匹配,当应用层中的负载增加时,第一过载控制策略为过滤掉第一IP包流中更多的IP包,当应用层中的负载减少时,第一过载控制策略为过滤掉第一IP包流中更少的IP包;根据第二IP包流生成业务消息请求流,业务消息请求流包括多个业务消息请求;在应用层根据第二过载控制策略对业务消息请求流中的业务消息请求进行过滤以实现过载控制,其中,第二过载控制策略为基于应用层过滤策略进行过载控制的策略。由于本申请实施例中采用过载保护机制协同处理,可以实现应用层过载和网络层过载的双重过滤,因此可以显著地减少过载的业务消息请求对系统资源的占用。通过网络层的过载控制,可以快速高效实现对流量的保护。通过应用层的负载确定第一过载控制策略,实现网络层和应用层协同工作,保证实施过载控制过程中的业务请求处理效率。
在本申请的一些实施例中还提供一种过载控制系统,如图4所示,所述过载控制系统包括:主机和交换设备,其中,所述交换设备包括处理器以及网卡,所述处理器,用于执行如下步骤:获取第一互联网协议IP包流,所述第一IP包流包括多个IP包;根据第一过载控制策略过滤掉所述第一IP包流中的一部分IP包,得到第二IP包流;其中,所述第一过载控制策略为基于IP地址进行过滤的策略,所述第一过载控制策略与所述主机的应用层的负载相匹配,当所述应用层中的负载增加时,所述第一过载控制策略为过滤掉所述第一IP包流中更多的IP包,当所述应用层中的负载减少时,所述第一过载控制策略为过滤掉所述第一IP包流中更少的IP包;将所述第二IP包流通过所述网卡发送给所述主机。
在本申请的一些实施例中还提供一种过载控制系统,所述过载控制系统包括:主机和交换设备,如图1所示,所述主机包括处理器以及网卡,所述处理器用于执行如下步骤:通过所述网卡从所述交换设备接收到第二IP包流,所述第二IP包流是所述交换设备根据第一过载控制策略过滤掉第一IP包流中的一部分IP包得到,所述第一过载控制策略与所述主机的应用层的负载相匹配,当所述应用层中的负载增加时,所述第一过载控制策略为过滤掉所述第一IP包流中更多的IP包,当所述应用层中的负载减少时,所述第一过载控制策略为过滤掉所述第一IP包流中更少的IP包;根据所述第二IP包流生成业务消息请求流,所述业务消息请求流包括多个业务消息请求;在所述应用层根据第二过载控制策略对所述业务消息请求流中的业务消息请求进行过滤以实现过载控制,其中,所述第二过载控制策略为基于应用层过滤策略进行过载控制的策略。
本申请实施例还提供一种计算机存储介质,其中,该计算机存储介质存储有程序,该程序执行包括上述方法实施例中记载的部分或全部步骤。
接下来介绍本申请实施例提供的一种主机,请参阅图16所示,主机1600包括:
接收器1601、发射器1602、处理器1603和存储器1604(其中主机1600中的处理器1603的数量可以一个或多个,图16中以一个处理器为例)。在本申请的一些实施例中,接收器1601、发射器1602、处理器1603和存储器1604可通过总线或其它方式连接,其中,图16中以通过总线连接为例。
存储器1604可以包括只读存储器和随机存取存储器,并向处理器1603提供指令和数据。存储器1604的一部分还可以包括非易失性随机存取存储器(英文全称:Non-VolatileRandom Access Memory,英文缩写:NVRAM)。存储器1604存储有操作系统和操作指令、可执行模块或者数据结构,或者它们的子集,或者它们的扩展集,其中,操作指令可包括各种操作指令,用于实现各种操作。操作系统可包括各种系统程序,用于实现各种基础业务以及处理基于硬件的任务。
处理器1603控制主机的操作,处理器1603还可以称为中央处理单元(英文全称:Central Processing Unit,英文简称:CPU)。具体的应用中,主机的各个组件通过总线系统耦合在一起,其中总线系统除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都称为总线系统。
上述本申请实施例揭示的方法可以应用于处理器1603中,或者由处理器1603实现。处理器1603可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器1603中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器1603可以是通用处理器、数字信号处理器(英文全称:digital signal processing,英文缩写:DSP)、专用集成电路(英文全称:Application Specific Integrated Circuit,英文缩写:ASIC)、现场可编程门阵列(英文全称:Field-Programmable Gate Array,英文缩写:FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器1604,处理器1603读取存储器1604中的信息,结合其硬件完成上述方法的步骤。
接收器1601可用于接收输入的数字或字符信息,以及产生与主机的相关设置以及功能控制有关的信号输入,发射器1602可包括显示屏等显示设备,发射器1602可用于通过外接接口输出数字或字符信息。
本申请实施例中,处理器1603,用于执行如前述实施例中描述的主机执行的过载控制方法。
通过前述实施例对本申请的举例说明可知,首先从网卡中获取第一互联网协议IP包流,第一IP包流包括多个IP包;根据第一过载控制策略过滤掉第一IP包流中的一部分IP包,得到第二IP包流;其中,第一过载控制策略为基于IP地址进行过滤的策略,第一过载控制策略与应用层的负载相匹配,当应用层中的负载增加时,第一过载控制策略为过滤掉第一IP包流中更多的IP包,当应用层中的负载减少时,第一过载控制策略为过滤掉第一IP包流中更少的IP包;根据第二IP包流生成业务消息请求流,业务消息请求流包括多个业务消息请求;在应用层根据第二过载控制策略对业务消息请求流中的业务消息请求进行过滤以实现过载控制,其中,第二过载控制策略为基于应用层过滤策略进行过载控制的策略。由于本申请实施例中采用过载保护机制协同处理,可以实现应用层过载和网络层过载的双重过滤,因此可以显著地减少过载的业务消息请求对系统资源的占用。通过网络层的过载控制,可以快速高效实现对流量的保护。通过应用层的负载确定第一过载控制策略,实现网络层和应用层协同工作,保证实施过载控制过程中的业务请求处理效率。
另外需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本申请提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件的方式来实现,当然也可以通过专用硬件包括专用集成电路、专用CPU、专用存储器、专用元器件等来实现。一般情况下,凡由计算机程序完成的功能都可以很容易地用相应的硬件来实现,而且,用来实现同一功能的具体硬件结构也可以是多种多样的,例如模拟电路、数字电路或专用电路等。但是,对本申请而言更多情况下软件程序实现是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘、U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。

Claims (15)

1.一种过载控制方法,其特征在于,所述过载控制方法应用于主机,所述主机包括处理器以及网卡,所述方法由所述处理器执行,包括:
从所述网卡中获取第一互联网协议IP包流,所述第一IP包流包括多个IP包;
根据第一过载控制策略过滤掉所述第一IP包流中的一部分IP包,得到第二IP包流;其中,所述第一过载控制策略为基于IP地址进行过滤的策略,所述第一过载控制策略与应用层的负载相匹配,当所述应用层中的负载增加时,所述第一过载控制策略为过滤掉所述第一IP包流中更多的IP包,当所述应用层中的负载减少时,所述第一过载控制策略为过滤掉所述第一IP包流中更少的IP包;
根据所述第二IP包流生成业务消息请求流,所述业务消息请求流包括多个业务消息请求;
在所述应用层根据第二过载控制策略对所述业务消息请求流中的业务消息请求进行过滤以实现过载控制,其中,所述第二过载控制策略为基于应用层过滤策略进行过载控制的策略。
2.根据权利要求1所述的方法,其特征在于,所述根据第一过载控制策略过滤掉所述第一IP包流中的一部分IP包,包括:
从所述第一IP包流中获取到每个IP包的IP地址;
将所述第一IP包流中符合过滤条件的IP包过滤掉,所述过滤条件通过所述第一过载控制策略得到,所述过滤条件用于将具有不同IP地址的多个IP包从所述第一IP包流中过滤掉,以保留具有相同IP地址的多个IP包。
3.根据权利要求2所述的方法,其特征在于,所述第一过载控制策略包括:第一过载控制级别,所述第一过载控制级别为用于表示过载控制级别的数值;
所述将所述第一IP包流中符合过滤条件的IP包过滤掉,包括:
对所述每个IP包的IP地址进行哈希运算,得到所述每个IP包的哈希运算结果;
将所述哈希运算结果与所述第一过载控制级别进行位与运算,得到所述每个IP包的位与计算结果;
将所述第一IP包流中位与计算结果为1的IP包保留,以及将所述第一IP包流中位与计算结果为0的IP包过滤掉。
4.根据权利要求1所述的方法,其特征在于,所述方法,还包括:
定时查询所述应用层的负载,所述负载包括:所述应用层中当前接入的业务消息请求;
根据所述应用层中当前接入的业务消息请求对所述第一过载控制策略进行更新。
5.根据权利要求4所述的方法,其特征在于,所述第一过载控制策略包括:第一过载控制级别;
所述根据所述应用层中当前接入的业务消息请求对所述第一过载控制策略进行更新,包括:
当所述应用层中当前接入的业务消息请求超过所述应用层的过滤处理能力时,在当前第一过载控制级别的基础上进行级别递增,得到更新后的第一过载控制级别;或,
当所述应用层中当前接入的业务消息请求没有超过所述应用层的过滤处理能力时,在当前第一过载控制级别的基础上进行级别递减,得到更新后的第一过载控制级别。
6.根据权利要求5所述的方法,其特征在于,所述根据第一过载控制策略过滤掉所述第一IP包流中的一部分IP包,得到第二IP包流,包括:
按照所述当前第一过载控制级别过滤掉所述第一IP包流中的一部分IP包;
按照所述更新后的第一过载控制级别继续过滤掉所述第一IP包流中的另一部分IP包,得到第二IP包流。
7.一种主机,其特征在于,所述主机,包括:
互联网协议IP包流获取模块,用于从所述主机的网卡中获取第一IP包流,所述第一IP包流包括多个IP包;
网络层过滤模块,用于根据第一过载控制策略过滤掉所述第一IP包流中的一部分IP包,得到第二IP包流;其中,所述第一过载控制策略为基于IP地址进行过滤的策略,所述第一过载控制策略与应用层的负载相匹配,当所述应用层中的负载增加时,所述第一过载控制策略为过滤掉所述第一IP包流中更多的IP包,当所述应用层中的负载减少时,所述第一过载控制策略为过滤掉所述第一IP包流中更少的IP包;
业务消息请求流生成模块,用于根据所述第二IP包流生成业务消息请求流,所述业务消息请求流包括多个业务消息请求;
应用层过滤模块,用于在所述应用层根据第二过载控制策略对所述业务消息请求流中的业务消息请求进行过滤以实现过载控制,其中,所述第二过载控制策略为基于应用层过滤策略进行过载控制的策略。
8.根据权利要求7所述的主机,其特征在于,所述网络层过滤模块,包括:
IP地址获取模块,用于从所述第一IP包流中获取到每个IP包的IP地址;
IP包过滤模块,用于将所述第一IP包流中符合过滤条件的IP包过滤掉,所述过滤条件通过所述第一过载控制策略得到,所述过滤条件用于将具有不同IP地址的多个IP包从所述第一IP包流中过滤掉,以保留具有相同IP地址的多个IP包。
9.根据权利要求8所述的主机,其特征在于,所述第一过载控制策略包括:第一过载控制级别,所述第一过载控制级别为用于表示过载控制级别的数值;
所述IP包过滤模块,包括:
哈希运算模块,用于对所述每个IP包的IP地址进行哈希运算,得到所述每个IP包的哈希运算结果;
位与计算模块,用于将所述哈希运算结果与所述第一过载控制级别进行位与计算,得到所述每个IP包的位与计算结果;
结果判断模块,用于将所述第一IP包流中位与计算结果为1的IP包保留,以及将所述第一IP包流中位与计算结果为0的IP包过滤掉。
10.根据权利要求7所述的主机,其特征在于,所述主机,包括:查询模块和策略更新模块;
所述查询模块,用于定时查询所述应用层的负载,所述负载包括:所述应用层中当前接入的业务消息请求;
所述策略更新模块,用于根据所述应用层中当前接入的业务消息请求对所述第一过载控制策略进行更新。
11.根据权利要求10所述的主机,其特征在于,所述第一过载控制策略包括:第一过载控制级别;
所述策略更新模块,具体用于当所述应用层中当前接入的业务消息请求超过所述应用层的过滤处理能力时,在当前第一过载控制级别的基础上进行级别递增,得到更新后的第一过载控制级别;或,当所述应用层中当前接入的业务消息请求没有超过所述应用层的过滤处理能力时,在当前第一过载控制级别的基础上进行级别递减,得到更新后的第一过载控制级别。
12.根据权利要求11所述的主机,其特征在于,所述网络层过滤模块,包括:
第一IP包过滤模块,用于按照所述当前第一过载控制级别过滤掉所述第一IP包流中的一部分IP包;
第二IP包过滤模块,用于按照所述更新后的第一过载控制级别继续过滤掉所述第一IP包流中的另一部分IP包,得到第二IP包流。
13.一种主机,其特征在于,所述主机包括:处理器、网卡和存储器;所述处理器分别和所述网卡、所述存储器建立有通信连接;
所述网卡,用于生成第一互联网协议IP包流,所述第一IP包流包括多个IP包;
所述存储器,用于存储指令;
所述处理器,用于执行所述存储器中的所述指令,具体执行如权利要求1-6中任意一项所述的方法。
14.一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行如权利要求1-6中任意一项所述的方法。
15.一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行如权利要求1-6中任意一项所述的方法。
CN201710701834.9A 2017-08-16 2017-08-16 一种过载控制方法、主机和存储介质以及程序产品 Active CN107659511B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710701834.9A CN107659511B (zh) 2017-08-16 2017-08-16 一种过载控制方法、主机和存储介质以及程序产品

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710701834.9A CN107659511B (zh) 2017-08-16 2017-08-16 一种过载控制方法、主机和存储介质以及程序产品

Publications (2)

Publication Number Publication Date
CN107659511A CN107659511A (zh) 2018-02-02
CN107659511B true CN107659511B (zh) 2021-10-22

Family

ID=61128524

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710701834.9A Active CN107659511B (zh) 2017-08-16 2017-08-16 一种过载控制方法、主机和存储介质以及程序产品

Country Status (1)

Country Link
CN (1) CN107659511B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108965154A (zh) * 2018-06-29 2018-12-07 华为技术有限公司 对象存储系统中的业务流量控制方法及装置
CN113467910B (zh) * 2021-06-30 2024-05-28 乐视云网络技术(北京)有限公司 基于业务等级的过载保护调度方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7484011B1 (en) * 2003-10-08 2009-01-27 Cisco Technology, Inc. Apparatus and method for rate limiting and filtering of HTTP(S) server connections in embedded systems

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100278068A1 (en) * 2007-04-16 2010-11-04 Neuralitic Systems Method and System for Filtering IP Traffic in Mobile IP Networks
CN100558089C (zh) * 2007-06-08 2009-11-04 北京工业大学 一种基于网络过滤器的内容过滤网关实现方法
CN103873463A (zh) * 2014-02-26 2014-06-18 北京优炫软件股份有限公司 多级过滤防火墙系统及多级过滤方法
CN104601542A (zh) * 2014-12-05 2015-05-06 国云科技股份有限公司 一种适用于虚拟机的ddos主动防护方法
CN105991474A (zh) * 2015-05-18 2016-10-05 杭州迪普科技有限公司 一种流量调度方法、装置及网络设备
CN106789983B (zh) * 2016-12-08 2019-09-06 北京安普诺信息技术有限公司 一种cc攻击防御方法及其防御系统

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7484011B1 (en) * 2003-10-08 2009-01-27 Cisco Technology, Inc. Apparatus and method for rate limiting and filtering of HTTP(S) server connections in embedded systems

Also Published As

Publication number Publication date
CN107659511A (zh) 2018-02-02

Similar Documents

Publication Publication Date Title
US11888756B2 (en) Software load balancer to maximize utilization
CN109218355B (zh) 负载均衡引擎,客户端,分布式计算系统以及负载均衡方法
US8706864B1 (en) Behavior monitoring and compliance for multi-tenant resources
CN110602156A (zh) 一种负载均衡调度方法及装置
CN109831524B (zh) 一种负载均衡处理方法及装置
CN106034084B (zh) 一种数据传输方法及装置
RU2666289C1 (ru) Система и способ для ограничения запросов доступа
US10243799B2 (en) Method, apparatus and system for virtualizing a policy and charging rules function
CN107666474B (zh) 一种网络报文处理方法、装置及网络服务器
US11316916B2 (en) Packet processing method, related device, and computer storage medium
CN108965148A (zh) 一种处理器及报文处理方法
CN111490963A (zh) 基于quic协议栈的数据处理方法、系统、设备及存储介质
CN107659511B (zh) 一种过载控制方法、主机和存储介质以及程序产品
WO2014183574A1 (zh) 计算节点部署方法、处理节点、控制器及系统
CN115086331A (zh) 云设备调度方法、装置及系统、电子设备及存储介质
US9923794B2 (en) Method, apparatus, and system for identifying abnormal IP data stream
CN105656794B (zh) 数据分发方法、装置及计算机可读存储介质
CN108111567A (zh) 实现服务器负载均匀的方法及系统
WO2023125380A1 (zh) 一种数据管理的方法及相应装置
CN109104334B (zh) 监控系统中节点的管理方法和装置
US20230029796A1 (en) Stateful service processing method and apparatus
CN111404705B (zh) 一种sdn的优化方法、装置及计算机可读存储介质
CN106941474B (zh) 一种会话初始协议服务器过载控制方法、服务器
CN112738193B (zh) 云计算的负载均衡方法及装置
Vannebäck Using the Mosquitto implementation in an embedded environment

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