一种多核网络设备中cpu保护方法和装置与流程

文档序号:13696642阅读:304来源:国知局
技术领域本发明涉及通信技术领域,尤其涉及一种多核网络设备中cpu保护方法和装置。

背景技术:
cpu保护的目的是确保网络通信设备在受到大量网络报文攻击的时候,能够采取有效的策略,保护cpu能够正常工作,防止网络设备由于cpu资源不足的原因,造成整个网络通信设备瘫痪。目前,cpu保护的策略,基本实现如下:定时计算各网络协议报文的cpu利用率,如果cpu的利用率超过了预先设置的门限,则通过一定的策略来降低cpu的利用率。目前采用的保护策略基本是对占用cpu资源过多的报文采取丢弃,从而来实现cpu在受到网络报文攻击的时候仍然能够正常工作。这些实现方法虽然可以实现对cpu的有效保护,但由于保护策略采用的是丢弃的方法,在丢弃攻击报文的同时,也会造成大量的正常网络报文被丢弃,尤其是对于一些客户有特殊用途的重要报文被丢弃。对于多核系统,目前的实现方法中,会对cpu的各个核进行分类,每个cpu核具有各自的专一用途,报文处理会单独占用一个数据核,只要数据核的cpu利用率过高,就启用cpu保护,对超过门限的报文执行丢弃策略。可见,该方法也会造成大量的正常网络报文被丢弃。

技术实现要素:
本发明提供一种多核网络设备中cpu保护方法和装置,用以解决现有技术中当cpu利用率过高的情况下,保护策略不够合理,影响用户使用体验的问题。依据本发明的一个方面,提供一种多核网络设备中cpu保护方法,包括:配置每个网络协议的保护类型,所述保护类型包括普通协议和特殊协议;定时计算数据核的cpu资源占用率,当其达到预设的数据核cpu保护执行门限时,检测普通协议在数据核的cpu资源占用率是否大于预设的普通协议最小保证执行门限,若是,则采用预设的普通协议保护策略,对普通协议的报文进行处理;否则,采用预设的特殊协议保护策略,对特殊协议的报文进行处理。可选地,本发明所述方法中,所述普通协议保护策略包括:选择M个普通协议,并对其进行限速处理;所述特殊协议保护策略包括:选择N个特殊协议,并将其转移至控制核cpu处理,或者,选择N个特殊协议,并对其进行限速处理;其中,M小于等于普通协议的个数,N小于等于特殊协议的个数。可选地,本发明所述方法中,选择的M个普通协议为占用数据核cpu最高的M个普通协议;选择的N个特殊协议为占用数据核cpu最高的N个特殊协议。可选地,本发明所述方法中,所述采用预设的特殊协议保护策略,对特殊协议的报文进行处理,具体包括:判断控制核的cpu资源占用率是否小于等于预设的控制核cpu保护执行门限,若是,则选择N个特殊协议,并将选择的N个特殊协议的报文转移至控制核的cpu处理;否则,选择N个特殊协议,并对选择的N个特殊协议的报文进行限速处理。可选地,本发明所述方法还包括:当检测数据核的cpu资源占用率低于预设的数据核cpu保护执行门限时,判断数据核的cpu资源占用率是否小于等于预设的数据核cpu保护恢复门限,若是,则采用预设的恢复策略,对采用保护策略处理后的各协议进行恢复处理。可选地,本发明所述方法中,所述采用预设的恢复策略,对采用保护策略处理后的各协议进行恢复处理,包括:判断特殊协议惩罚列表是否为空,若不为空,则在特殊协议惩罚列表中选择一个或多个特殊协议,并对其进行恢复处理;若为空,则判断普通协议惩罚列表是否为空,若为空,则结束;否则,在普通协议惩罚列表中选择一个或多个普通协议,并对其进行恢复处理;其中,特殊协议惩罚列表内为采用保护策略处理后的未恢复至原状态的各特殊协议;普通协议惩罚列表内为采用保护策略处理后的未恢复至原状态的各普通协议。依据本发明的另一个方面,提供一种多核网络设备中cpu保护装置,包括:配置模块,用于配置每个网络协议的保护类型,所述保护类型包括普通协议和特殊协议;计算模块,用于定时计算数据核的cpu资源占用率,当其达到预设的数据核cpu保护执行门限时,触发策略选择及执行模块;策略选择及执行模块,用于检测普通协议在数据核的cpu资源占用率是否大于预设的普通协议最小保证执行门限,若是,则采用预设的普通协议保护策略,对普通协议的报文进行处理;否则,采用预设的特殊协议保护策略,对特殊协议的报文进行处理。可选地,本发明所述装置中,所述普通协议保护策略包括:选择M个普通协议,并对其进行限速处理;所述特殊协议保护策略包括:选择N个特殊协议,并将其转移至控制核cpu处理,或者,选择N个特殊协议,并对其进行限速处理;其中,M小于等于普通协议的个数,N小于等于特殊协议的个数。可选地,本发明所述装置中,所述策略选择及执行模块,具体用于在采用预设的特殊协议保护策略,对特殊协议的报文进行处理时,判断控制核的cpu资源占用率是否小于等于预设的控制核cpu保护执行门限,若是,则选择N个特殊协议,并将选择的N个特殊协议的报文转移至控制核的cpu处理;否则,选择N个特殊协议,并对选择的N个特殊协议的报文进行限速处理。可选地,本发明所述装置还包括:恢复模块;所述计算模块,还用于当检测数据核的cpu资源占用率低于预设的数据核cpu保护执行门限时,触发恢复模块;所述恢复模块,用于判断数据核的cpu资源占用率是否小于等于预设的数据核cpu保护恢复门限,若是,则采用预设的恢复策略,对采用保护策略处理后的各协议进行恢复处理。本发明有益效果如下:本发明所述方法和装置,在cpu利用率过高的情况下,优先对普通协议的报文进行处理,最大限度的保证了重要报文不被丢,在对cpu起到很好保护效果的情况下,提高了用户的使用体验。附图说明为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本发明提供的一种多核网络设备中cpu保护方法的流程图;图2为本发明提供的一种多核网络设备中cpu保护装置的结构框图;图3为本发明提供的多核网络设备中cpu保护装置的又一结构框图;图4为本发明所述装置中cpu保护策略选择模块进行策略选择的流程图。具体实施方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。实施例一本发明实施例提供一种多核网络设备中cpu保护方法,如图1所示,包括如下步骤:步骤S101,配置每个网络协议的保护类型,所述保护类型包括普通协议和特殊协议;对于网络协议配置为何种保护类型,根据用户对该协议报文的重视程度来确定。若某协议的报文为重要报文,则配置该协议为特殊协议,否则,配置为普通协议。步骤S102,定时计算数据核的cpu资源占用率,当其达到预设的数据核cpu保护执行门限时,执行步骤S103;步骤S103,检测普通协议在数据核的cpu资源占用率是否大于预设的普通协议最小保证执行门限,若是,执行步骤S104;否则,执行步骤S105;其中,普通协议最小保证门限是为了保证普通协议报文不会被全部丢弃。如果普通协议最小保证门限设置的高,则对特殊协议报文进行处理的风险加大;如果普通协议最小保证门限设置的低,则对普通协议报文的牺牲比较大。该门限值可以根据用户需求进行灵活设置。步骤S104,采用预设的普通协议保护策略,对普通协议的报文进行处理;其中,普通协议保护策略包括但不限于为:选择M个普通协议,并对其进行限速处理。优选地,选择的M个普通协议为占用数据核cpu最高的M个普通协议,M小于等于普通协议的个数。步骤S105,采用预设的特殊协议保护策略,对特殊协议的报文进行处理。其中,特殊协议保护策略包括但不限于为:选择N个特殊协议,并将其转移至控制核cpu处理,或者,选择N个特殊协议,并对其进行限速处理;其中,N小于等于特殊协议的个数。优选地,选择的N个特殊协议为占用数据核cpu最高的N个特殊协议。具体的,在选择特殊协议保护策略时,通过如下方式选取:判断控制核的cpu资源占用率是否小于等于预设的控制核cpu保护执行门限,若是,则选择N个特殊协议,并将选择的N个特殊协议的报文转移至控制核的cpu处理;否则,选择N个特殊协议,并对选择的N个特殊协议的报文进行限速处理。进一步地,本发明实施例所述方法中,还包括:当检测数据核的cpu资源占用率低于预设的数据核cpu保护执行门限时,判断数据核的cpu资源占用率是否小于等于预设的数据核cpu保护恢复门限,若是,则采用预设的恢复策略,对采用保护策略处理后的各协议进行恢复处理。其中,采用预设的恢复策略,对采用保护策略处理后的各协议进行恢复处理,具体包括:判断特殊协议惩罚列表是否为空,若不为空,则在特殊协议惩罚列表中选择一个或多个特殊协议,并对其进行恢复处理;若为空,则判断普通协议惩罚列表是否为空,若为空,则结束;否则,在普通协议惩罚列表中选择一个或多个普通协议,并对其进行恢复处理;其中,特殊协议惩罚列表内为采用保护策略处理后的未恢复至原状态的各特殊协议;普通协议惩罚列表内为采用保护策略处理后的未恢复至原状态的各普通协议。综上所述,本发明所述方法,通过设置普通协议最小保证执行门限,只有普通协议在数据核cpu的资源占用率低于该门限时,才会对特殊协议的报文进行处理,而且,对特殊协议的报文进行处理时,优先的采用负载均衡的方式进行处理,若经过对普通协议进行限速处理,对特殊协议进行负载均衡处理,数据核cpu仍然过载,才对特殊协议进行限速处理。最大限度的保证了重要报文不被丢,提高了用户的使用体验。采用本发明所述方法,在实际应用中能够达到很好的保护效果。实施例二本发明实施例提供一种多核网络设备中cpu保护装置,如图2所示,包括:配置模块210,用于配置每个网络协议的保护类型,所述保护类型包括普通协议和特殊协议;计算模块220,用于定时计算数据核的cpu资源占用率,当其达到预设的数据核cpu保护执行门限时,触发策略选择及执行模块;策略选择及执行模块230,用于检测普通协议在数据核的cpu资源占用率是否大于预设的普通协议最小保证执行门限,若是,则采用预设的普通协议保护策略,对普通协议的报文进行处理;否则,采用预设的特殊协议保护策略,对特殊协议的报文进行处理。其中,普通协议保护策略包括但不限于为:选择M个普通协议,并对其进行限速处理;特殊协议保护策略包括但不限于为:选择N个特殊协议,并将其转移至控制核cpu处理,或者,选择N个特殊协议,并对其进行限速处理;其中,M小于等于普通协议的个数,N小于等于特殊协议的个数。在具体实现时,策略选择及执行模块230可以通过如下方式选择特殊协议保护策略:判断控制核的cpu资源占用率是否小于等于预设的控制核cpu保护执行门限,若是,则选择N个特殊协议,并将选择的N个特殊协议的报文转移至控制核的cpu处理;否则,选择N个特殊协议,并对选择的N个特殊协议的报文进行限速处理。其中,选择的M个普通协议优选为占用数据核cpu最高的M个普通协议;选择的N个特殊协议优选为占用数据核cpu最高的N个特殊协议。进一步地,本实施例所述装置还包括:恢复模块240;计算模块220,还用于当检测数据核的cpu资源占用率低于预设的数据核cpu保护执行门限时,触发恢复模块240;恢复模块240,用于判断数据核的cpu资源占用率是否小于等于预设的数据核cpu保护恢复门限,若是,则采用预设的恢复策略,对采用保护策略处理后的各协议进行恢复处理。其中,采用预设的恢复策略,对采用保护策略处理后的各协议进行恢复处理具体包括:判断特殊协议惩罚列表是否为空,若不为空,则在特殊协议惩罚列表中选择一个或多个特殊协议,并对其进行恢复处理;若为空,则判断普通协议惩罚列表是否为空,若为空,则结束;否则,在普通协议惩罚列表中选择一个或多个普通协议,并对其进行恢复处理;其中,特殊协议惩罚列表内为采用保护策略处理后的未恢复至原状态的各特殊协议;普通协议惩罚列表内为采用保护策略处理后的未恢复至原状态的各普通协议。下面根据图3~图4给出本发明一个较佳的实施例,并结合对实施例的描述,进一步给出本发明的技术细节,使其能够更好地说明本发明提供的装置的具体工作过程。本实施例提供一种多核网络设备中cpu保护装置,如图3所示,具体包括:配置模块、cpu资源计算模块、cpu保护策略选择模块、普通协议保护策略执行模块、特殊协议保护策略执行模块、普通协议恢复策略执行模块、特殊协议恢复策略执行模块。通过这七个模块的协作,实现对多核网络设备cpu的保护。其中,上述cpu保护策略选择模块、普通协议保护策略执行模块和特殊协议保护策略执行模块与策略选择及执行模块230对应;普通协议恢复策略执行模块和特殊协议恢复策略执行模块与恢复模块240对应。具体的,本实施例中:1、配置模块进行如下配置:(1).配置每种网络协议的保护类型:普通协议为Tnormal,特殊协议为Tspecial;(2).配置数据核cpu保护执行门限Mdata;(3).配置控制核cpu保护执行门限Mcontrol;(4).配置普通协议的最小保证门限MINnormal;(5).配置数据核cpu保护恢复门限HMdata;(6).配置普通协议的限速比率因子K1和恢复速率比率因子K4;(7).配置特殊协议的限速比率因子K2和恢复速率比率因子K3。其中,比率因子K1、K2要满足小于1,比率因子K3、K4要满足大于1。而关于各比率因子的具体取值,可以根据具体要求灵活设置,本实施例不对其取值进行唯一限定。2.cpu资源计算模块在定时时间到达时,进行如下计算过程:(1)计算数据核的cpu资源总占用率,记作Zdata;(2)计算普通协议在数据核的cpu资源总占用率,记作Znoraml;(3)计算控制核的cpu资源占用率,记作Zcontrol;(4)计算每种普通协议在数据核的cpu资源占用率;(5)计算每种特殊协议在数据核的cpu资源占用率。3.cpu保护策略选择模块在每个定时时间到达时,根据cpu资源计算模块的计算结果,进行如下策略选择过程,如图4所示,包括:(1)比较Zdata和Mdata的值,如果Zdata大于或等于Mdata,表示需要启用协议保护,执行步骤(2);否则,执行步骤(4);(2)比较Znoraml和MINnormal,如果Znoraml大于或等于MINnormal,则进入普通协议保护策略执行模块,对普通协议执行相应的保护动作后,转步骤(7);否则,执行步骤(3);(3)比较Zcontrol和Mcontrol,如果Zcontrol小于等于Mcontrol,则调用特殊协议策略执行模块执行策略一后,转步骤(7);否则,调用特殊协议执行模块,执行策略二后,转步骤(7)。(4)比较Zdata和HMdata的值,如果Zdata小于等于HMdata,表示需要进行协议恢复,执行步骤(5);否则,转步骤(7)。(5)判断特殊协议惩罚列表PUNISH_LISTspecial是否为空,如果不为空,则执行特殊协议恢复策略执行模块后,转步骤(7);否则,执行步骤(6)。(6)判断普通协议惩罚列表PUNISH_LISTnoraml是否为空,如果不为空,则执行普通协议恢复策略执行模块后,转步骤(7);否则,直接转步骤(7)。(7)结束,并在获取到下一定时时间cpu资源计算模块的计算结果后,重复执行步骤(1)。4.普通协议保护策略执行模块实现流程如下:(1)选择cpu占用率最高的前两种普通协议,按照当前速率和比率因子K1来计算出的速率,对选择的两种普通协议进行限速设置,限速速率=当前速率*K1。(2)根据cpu保护策略选择模块的结果,判断是否还需要对普通协议继续进行限速设置,如果需要,则重复执行步骤(1)。5.特殊协议保护策略执行模块实现流程如下:策略一:(1)选择cpu占用率最高的一种特殊协议,将该协议的处理转移给控制核cpu处理。(2)根据cpu保护策略选择模块的结果,判断是否还需要对特殊协议继续进行负载均衡处理,如果需要,则重复执行步骤(1)。策略二:(1)选择cpu占用率最高的一种特殊协议,按照当前速率和比率因子K2来计算出的速率,对该协议进行限速设置,限速速率=当前速率*K2。(2)根据cpu保护策略选择模块的结果,判断是否还需要对特殊协议继续进行限速设置,如果需要,则重复执行步骤(1)。6.普通协议恢复策略执行模块的实现流程如下:(1)从普通协议惩罚队列中选择一种协议,按照当前速率和比率因子K3的乘积来计算出恢复速率,恢复速率=被选择的普通协议的当前速率*K3;(2)根据cpu保护策略选择模块的结果,判断是否还需要对普通协议进行恢复处理,如果需要,则重复执行步骤(1),直至普通协议惩罚队列中没有惩罚协议。其中,普通协议惩罚队列中为经过普通协议保护策略处理后的未完全恢复至原始状态的各普通协议。7.特殊协议恢复策略执行模块的实现流程如下:(1)从特殊协议惩罚队列中选择一种协议,判断该协议的惩罚类型;(2)如果是采用策略一的惩罚策略,则将该协议恢复至数据核cpu处理;(3)如果是采用策略二的惩罚策略,则按照当前速率和比率因子K4的乘积来计算出恢复速率,恢复速率=被选择的特殊协议的当前速率*K4;(4)根据cpu保护策略选择模块的结果,判断是否还需要对特殊协议继续进行恢复处理,如果需要,则重复步骤(1)、(2)、(3),直至特殊协议惩罚队列中没有惩罚协议。其中,特殊协议惩罚队列中为经过特殊协议保护策略处理后的未完全恢复至原始状态的各特殊协议。综上所述,本发明所述装置,通过设置普通协议最小保证执行门限,只有普通协议在数据核cpu的资源占用率低于该门限时,才会对特殊协议的报文进行处理,而且,对特殊协议的报文进行处理时,优先的采用负载均衡的方式进行处理,若经过对普通协议进行限速处理,对特殊协议进行负载均衡处理,数据核cpu仍然过载,才对特殊协议进行限速处理。最大限度的保证了重要报文不被丢,提高了用户的使用体验。采用本发明所述装置,在实际应用中能够达到很好的保护效果。显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1