异常流量数据的处理方法、装置及服务器与流程

文档序号:17158286发布日期:2019-03-20 00:17阅读:793来源:国知局
异常流量数据的处理方法、装置及服务器与流程

本发明涉及计算机数据处理技术领域,特别涉及一种异常流量数据的处理方法、装置及服务器。



背景技术:

目前,可以在一台服务器上部署多个业务资源,该业务资源可以是web应用、虚拟机实例或容器。例如,cdn系统的边缘节点中通常部署有多个web应用,客户通过访问各web应用可以获取相应的内容;亦或者,在服务器上部署多个虚拟机或容器,最大限度地提高资源利用率。而在web应用的运行中,通常需要对每个web应用在提供服务时所生成的流量进行统计;对于部署虚拟机或容器的服务器,为了及时侦测资源使用情况,合理调度资源,提高资源利用率,也需要对在其上的虚拟机或容器的流量进行统计。

通常情况下,统计流量数据基本都采用软件来实现,软件可能存在bug,或在运行过程中受网络影响,统计流量数据时可能会出现异常数据。异常的流量数据不仅会影响数据本身,还可能影响利用该流量数据的其他相关系统,从而造成重大数据错误,比如移动、联通或电信的天价流量账单等。



技术实现要素:

本申请的目的在于提供一种异常流量数据的处理方法,该方法可以在数据源头针对异常数据进行合理的容错处理,避免后端数据消费方的异常,或者出现不符合逻辑的数据样例。

为实现上述目的,本申请一方面提供一种异常流量数据的处理方法,所述方法包括以下步骤:

统计所述服务器的所有网卡的数据出口在预设时间间隔内的总流量;

统计所述服务器内各个所述业务资源在所述预设时间间隔内的分流量;

当在同一预设时间间隔内,所述总流量与全部所述分流量之和的比值位于第一预设范围内时,对所述分流量进行容错处理。

进一步地,对所述分流量进行容错处理,包括以下步骤:

判断所述分流量中是否存在明显异常流量,所述明显异常流量大于所述总流量;

若存在所述明显异常流量,则缩小所述明显异常流量或丢弃所述明显异常流量;

若不存在所述明显异常流量,则重新确定每个所述业务资源的新分流量,所述新分流量等于相应业务资源的所述分流量乘以均摊系数。

进一步地,若存在所述明显异常流量,则缩小所述明显异常流量包括以下步骤:

用所述总流量减去除所述明显异常流量之外的全部所述分流量,得到待分配流量;

如果存在一个所述明显异常流量,则用所述待分配流量替换所述明显异常流量;

如果存在多个所述明显异常流量,则按照所述明显异常流量之间的比例分解所述待分配流量,并用分解出的每个流量数据替换相应的所述明显异常流量。

进一步地,若所述比值小于0,则所述均摊系数等于1;

若所述比值大于0并且小于1,则所述均摊系数等于所述比值;

若所述比值大于1,则所述均摊系数等于1。

进一步地,若所述比值落在区间(0,a]内,则所述均摊系数等于a;

若所述比值落在区间(a,b)内,则所述均摊系数等于b;

若所述比值落在区间[b,c)或(d,e]内,则所述均摊系数等于所述比值;

若所述比值落在区间(e,f)内,则所述均摊系数等于e;

若所述比值不满足以上条件,则所述均摊系数等于1;

其中,a、b、c、d、e、f表示校正系数,0.3<a<0.5<b<c<1<d<e<1.3<f<2。

进一步地,所述第一预设范围为小于0.9或大于1.5。

进一步地,还包括以下步骤:

当在同一预设时间间隔内,所述总流量与全部所述分流量之和的比值位于第二预设范围内时,生成告警信息。

进一步地,所述第二预设范围为小于0.3或大于2。

为实现上述目的,本申请另一方面还提供一种异常流量数据的处理装置,包括:

统计模块,用于统计服务器的所有网卡的数据出口在预设时间间隔内的总流量,以及所述服务器内各个业务资源在所述预设时间间隔内的分流量;

处理模块,用于当在同一预设时间间隔内,所述总流量与全部所述分流量之和的比值位于第一预设范围内时,对所述分流量进行容错处理。

进一步地,所述处理模块,具体用于:

判断所述分流量中是否存在明显异常流量,所述明显异常流量大于所述总流量;

若存在所述明显异常流量,则缩小所述明显异常流量或丢弃所述明显异常流量;

若不存在所述明显异常流量,则重新确定每个所述业务资源的新分流量,所述新分流量等于相应业务资源的所述分流量乘以均摊系数。

进一步地,所述处理模块,还具体用于:

用所述总流量减去除所述明显异常流量之外的全部所述分流量,得到待分配流量;

如果存在一个所述明显异常流量,则用所述待分配流量替换所述明显异常流量;

如果存在多个所述明显异常流量,则按照所述明显异常流量之间的比例分解所述待分配流量,并用分解出的每个流量数据替换相应的所述明显异常流量。

进一步地,若所述比值小于0,则所述均摊系数等于1;

若所述比值大于0并且小于1,则所述均摊系数等于所述比值;

若所述比值大于1,则所述均摊系数等于1。

进一步地,若所述比值落在区间(0,a]内,则所述均摊系数等于a;

若所述比值落在区间(a,b)内,则所述均摊系数等于b;

若所述比值落在区间[b,c)或(d,e]内,则所述均摊系数等于所述比值;

若所述比值落在区间(e,f)内,则所述均摊系数等于e;

若所述比值不满足以上条件,则所述均摊系数等于1;

其中,a、b、c、d、e、f表示校正系数,0.3<a<0.5<b<c<1<d<e<1.3<f<2。

进一步地,所述处理模块,还用于:当在同一预设时间间隔内,所述总流量与全部所述分流量之和的比值位于第二预设范围内时,生成告警信息。

为实现上述目的,本申请另一方面还提供一种服务器,所述服务器包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现上述的异常流量数据的处理方法。

本发明提供的异常流量数据的处理方法,采用业务资源的流量与服务器的网卡总流量进行对比的方式,判断业务资源的流量数据是否发生了异常,若发生异常,则服务器自动对异常数据进行容错处理,以避免对后续系统造成影响,如此,在数据源头针对异常数据进行合理的处理,可以避免后端消费方的数据异常,或者出现不符合逻辑的数据样例等;且本实施例以服务器的网卡总流量作为参照标准,不仅便于统计,且可有效保证参照标准的数据准确性。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的异常流量数据的处理方法流程示意图;

图2为本发明实施例提供的异常流量数据的处理装置的结构示意图;

图3为本发明实施例提供的服务器的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本实施例提供一种异常流量数据的处理方法,应用于部署有多个业务资源的服务器。其中,服务器可以是web服务器,比如cdn系统的边缘节点服务器,则业务资源即是部署在web服务器上的web应用;该服务器也可以是一台部署有虚拟机或容器的物理机,则业务资源即是部署在该物理机上的虚拟机或容器。在统计web应用提供服务时所产生的流量以及虚拟机或容器运行时所产生的流量时,可能会出现异常流量数据,如果未对异常流量数据进行处理,则可能会对后续其它系统造成影响,比如某个web应用对应的流量发生了异常,该异常数据可能会在该web应用的终端用户上显示,并产生相对应的流量账单,若该异常值异常大,比如为历史数值的数百倍甚至数万倍,乃至比网卡总流量还大,就会出现“天价账单”。为此,本实施例提供一种异常流量数据的处理方法,采用业务资源的流量与服务器的网卡流量进行对比的方式,判断业务资源的流量数据是否发生了异常,若发生异常,则对异常数据进行容错处理,以避免对后续系统造成影响。其中,服务器的网卡指物理网卡,即连接网线的网卡。下面结合附图对该异常流量数据的处理方法进行具体说明。

如图1所示,该异常流量数据的处理方法具体包括以下步骤。

步骤s101,统计服务器的所有网卡的数据出口在预设时间间隔内的总流量。

部署有多个业务资源的服务器可以有多个网卡,所有网卡的数据出口总流量为所有业务资源在对外提供服务时产生的流量,所以可以以所有网卡的数据出口总流量作为基准,判断业务资源的流量数据是否出现异常。为了便于统计和对比,可以统计每个预设时间间隔,例如1分钟内所有网卡的数据出口总流量。本发明实施例中的每个预设时间间隔可以连续,也可以不连续。每个预设时间间隔连续即指上一个预设时间间隔的结束时刻为下一个预设时间间隔的起始时刻。每个预设时间间隔不连续即指上一个预设时间间隔的结束时刻与下一个预设时间间隔的起始时刻之间有间隔。

步骤s102,统计服务器内各个业务资源在预设时间间隔内的分流量。

本实施例以部署有多个web应用的cdn系统边缘节点上的缓存服务器为例,业务资源即web应用。客户通过访问各web应用可以获取相应的内容,而web应用在提供服务时会生成流量,判断web应用的流量数据是否出现异常,则需对各个web应用的流量进行统计。为与所有网卡的数据出口总流量进行对比,统计相同预设时间间隔内的各web应用对应的流量,本实施例中采用域名流量。另外,若该异常流量数据的处理方法用于部署有多个虚拟机或容器的物理机,那么业务资源则指虚拟机或容器,为与所有网卡的数据出口总流量进行对比,则需统计相同预设时间间隔内各虚拟机或容器运行时所产生的流量。

步骤s103,当在同一预设时间间隔内,总流量与全部分流量之和的比值位于第一预设范围内时,对分流量进行容错处理。

本实施例中,将在上述相同时间间隔内统计的全部分流量之和与服务器的所有网卡数据出口总流量进行对比,若总流量与全部分流量之和的比值位于第一预设范围内时,说明统计得到的分流量中存在明显异常流量,需要对分流量进行容错处理。理论上来说,该比值应该等于1,但实际统计时,可能某些业务资源的流量会延迟反馈,则统计数值会有所偏差;另外,统计过程本身也可能存在少量偏差,所以允许该比值可能在1的附近有小的波动,从而可以预设相应的正常的比值范围,当该比值位于该范围内时,可以不进行容错处理。而当该比值不在正常的比值范围内时,即位于第一预设范围内时,对分流量进行容错处理。具体地,第一预设范围可以包括小于0.9和大于1.5。由上述可知该比值可能在1的附近有小的波动,且有波动的话通常是大于1的可能性较大,所以可以在该比值小于0.9或大于1.5时,才对分流量进行容错处理。当然,上述小于0.9或大于1.5的范围,只是对第一预设范围进行举例说明,并不是对本申请的限定,其可根据业务资源的特性及历史趋势进行相应的设置。

在一种具体的实施方式中,对所述分流量进行容错处理,包括以下步骤:先判断分流量中是否存在明显异常流量,该明显异常流量大于总流量;若存在所述明显异常流量,则缩小所述明显异常流量或丢弃所述明显异常流量;若不存在所述明显异常流量,则重新确定每个所述业务资源的新分流量,所述新分流量等于相应业务资源的所述分流量乘以均摊系数。这里将大于总流量的分流量判断为明显异常流量,在实际操作中,明显异常流量也可以根据历史趋势进行判断,当某一分流量的值与该业务资源在近期的相同时间间隔内的历史流量相比,为其数百倍、或数千倍或数万倍以上,则认为是明显异常流量。本发明实施例不对明显异常流量的判断方法进行具体限定。

若存在明显异常流量,则缩小明显异常流量或丢弃明显异常流量。其中,丢弃明显异常流量即直接丢弃该明显异常流量,不将其向web应用后续其它系统,比如终端,进行推送,以避免对后续其它系统造成影响。缩小明显异常流量即指将该明显异常流量进行适当缩小,明显异常流量的值缩小后可视为正常流量,基本不会对后续系统造成不良影响。缩小明显异常流量具体包括以下步骤:用总流量减去除明显异常流量之外的全部分流量,得到待分配流量;如果存在一个明显异常流量,则用待分配流量替换明显异常流量,比如某个时间间隔内,总流量为90m,三个分流量分别为20m、120m、30m,其中120m的分流量大于90m的总流量,为明显异常流量,对其进行缩小,按上述规则缩小后为40m;如果存在多个明显异常流量,则按照明显异常流量之间的比例分解待分配流量,可以对该比例进行四舍五入近似运算,并用分解出的每个流量数据替换相应的明显异常流量,比如某个预设时间间隔内,总流量为90m,三个分流量分别为100m、120m、10m,其中100m的分流量和120m的分流量均大于90m的总流量,均为明显异常流量,对二者进行缩小,按上述规则缩小后分别为36m和44m。

上述规定大于总流量的分流量为明显异常流量,可见该异常流量为明显的异常流量。但是在实际情况下,当分流量之和异常时,统计得到的分流量中可能存在多个不明显的异常流量。所以当分流量之和异常,并且分流量中没有明显异常流量时,就通过容错处理重新确定全部业务资源的分流量,从而将全部业务资源的分流量调整为合理的数值。例如,在web应用运行的过程中,服务器通过自行进行容错处理,可以在不影响业务处理的同时,有效降低异常分流量对自身及后续系统的影响。

在实施中,可以将业务资源的原分流量与均摊系数之积作为该业务资源容错处理后的新分流量。其中,均摊系数可以根据总流量与全部分流量之和的比值进行确定,比如:若比值小于0,则均摊系数等于1,理论上不管总流量或分流量都不会为负值,若出现这种情况可能是系统或是统计数据出现错误,所以不进行分摊;若比值大于0并且小于1,则均摊系数等于比值;若比值大于1,则均摊系数等于1。本申请中,均摊系数等于1时不进行均摊,即不需要对业务资源的原分流量进行调整,均摊系数不等于1时按照均摊系数进行均摊。

具体地,根据总流量与全部分流量之和的比值确定均摊系数时,可以为服务器配置校正系数a、b、c、d、e、f,并令0.3<a<0.5<b<c<1<d<e<1.3<f<2。设总流量与全部分流量之和的比值为x,均摊系数为m,则:若x落在区间(0,a]内,m等于a;若x落在区间(a,b)内,m等于b;若x落在区间[b,c)或(d,e]内,m等于x;若x落在区间(e,f)内,m等于e;若x不满足以上条件,m等于1。通过配置校正系数,使m的值在合理范围内尽量靠近1,既可以在流量数据异常时通过容错处理重新确定每个业务资源的新分流量又尽可能地保证数据的正确性,降低新分流量对原分流量的影响。例如,设置a=0.33,b=0.9,c=0.97,d=1.03,e=1.1,f=1.75。在04:09:00~04:10:00这一分钟内网卡的总流量为90m,04:09:00~04:10:00时间间隔内的分流量分别为:40m、60m、10m,那么x=0.82,按照上述规则,x落在区间(a,b)内,则m=b=0.9,那么重新确定的新分流量分别为:26m、54m、9m。需要说明的是,上述校正系数a、b、c、d、e、f的取值只是对本实施例的处理方法进行举例说明,不是对本实施例的限定,实际应用时可以根据行业特性及历史趋势进行适应性修改。

在一种优选的实施例中,该处理方法还包括:当在同一预设时间间隔内,总流量与全部分流量之和的比值位于第二预设范围内时,生成告警信息。由于本申请提出的处理方法是采用网卡出口的总流量作为标准值进行判断,若是网卡本身出现问题或网卡出口流量统计出现错误,按照上述判断规则,也可能会进行容错处理,为了避免这种情况发生,设置第二预设范围,当在同一预设时间间隔内,总流量与全部分流量之和的比值位于第二预设范围内时,生成告警信息,从而通知管理人员所出现的异常情况,管理人员可以进行人为检测,若发现是网卡出现问题,可停止容错处理,或将数据还原。具体地,第二预设范围可以为小于0.3或大于2。同理,上述小于0.3和大于2的范围,只是对第二预设范围进行举例说明,并不是对本申请的限定,其可根据业务资源的特性及历史趋势进行确定。进一步地,还可根据实际x的数值,设定告警级别,令x的值离1越远等级越高。

在具体实施中,也可以在上述比值位于第一预设范围内而不在第二预设范围内时,生成告警信息,但是该告警信息的告警级别低于上述比值在第二预设范围内时生成的告警信息。

本实施例提供的异常流量数据的处理方法,采用业务资源的流量与服务器的网卡总流量进行对比的方式,判断业务资源的流量数据是否发生了异常,若发生异常,则服务器自动对异常数据进行容错处理,以避免对后续系统造成影响,如此,在数据源头针对异常数据进行合理的处理,可以避免后端消费方的数据异常,或者出现不符合逻辑的数据样例等;且本实施例以服务器的网卡总流量作为参照标准,不仅便于统计,且可有效保证参照标准的数据准确性。

为实现上述异常流量数据的处理方法,本实施例还提供一种异常流量数据的处理装置,如图2所示,该装置包括:统计模块201,用于统计服务器的所有网卡的数据出口在预设时间间隔内的总流量,以及所述服务器内各个业务资源在所述预设时间间隔内的分流量;处理模块202,用于当在同一预设时间间隔内,所述总流量与全部所述分流量之和的比值位于第一预设范围内时,对所述分流量进行容错处理。

其中,所述处理模块202,具体用于:判断所述分流量中是否存在明显异常流量,所述明显异常流量大于所述总流量;若存在所述明显异常流量,则缩小所述明显异常流量或丢弃所述明显异常流量;若不存在所述明显异常流量,则重新确定每个所述业务资源的新分流量,所述新分流量等于相应业务资源的所述分流量乘以均摊系数。

在一实施例中,所述处理模块202,还具体用于:用所述总流量减去除所述明显异常流量之外的全部所述分流量,得到待分配流量;如果存在一个所述明显异常流量,则用所述待分配流量替换所述明显异常流量;如果存在多个所述明显异常流量,则按照所述明显异常流量之间的比例分解所述待分配流量,并用分解出的每个流量数据替换相应的所述明显异常流量。

在另一实施例中,若所述比值小于0,则所述均摊系数等于1;若所述比值大于0并且小于1,则所述均摊系数等于所述比值;若所述比值大于1,则所述均摊系数等于1。

具体地,若所述比值落在区间(0,a]内,则所述均摊系数等于a;若所述比值落在区间(a,b)内,则所述均摊系数等于b;若所述比值落在区间[b,c)或(d,e]内,则所述均摊系数等于所述比值;若所述比值落在区间(e,f)内,则所述均摊系数等于e;若所述比值不满足以上条件,则所述均摊系数等于1。其中,a、b、c、d、e、f表示校正系数,0.3<a<0.5<b<c<1<d<e<1.3<f<2。

在另一实施例中,处理模块202还用于:当在同一预设时间间隔内,所述总流量与全部所述分流量之和的比值位于第二预设范围内时,生成告警信息。

需要说明的是:上述实施例提供的异常流量数据的处理装置在进行异常流量数据的处理时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的异常流量数据的处理装置与异常流量数据的处理方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。

图3是本发明实施例提供的服务器的结构示意图。该服务器300可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器322(例如,一个或一个以上处理器)和存储器332,一个或一个以上存储应用程序342或数据344的存储介质330(例如一个或一个以上海量存储设备)。其中,存储器332和存储介质330可以是短暂存储或持久存储。存储在存储介质330的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对转码服务器中的一系列指令操作。更进一步地,中央处理器322可以设置为与存储介质330通信,在服务器300上执行存储介质330中的一系列指令操作。

服务器300还可以包括一个或一个以上电源324,一个或一个以上有线或无线网络接口350,一个或一个以上输入输出接口358,一个或一个以上键盘354,和/或,一个或一个以上操作系统341,例如windowsservertm,macosxtm,unixtm,linuxtm,freebsdtm等等。

服务器300可以包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行上述异常流量数据处理的指令。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件来实现。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1