CN104734990B - 一种确定大流量报文类的方法及装置 - Google Patents

一种确定大流量报文类的方法及装置 Download PDF

Info

Publication number
CN104734990B
CN104734990B CN201510120960.6A CN201510120960A CN104734990B CN 104734990 B CN104734990 B CN 104734990B CN 201510120960 A CN201510120960 A CN 201510120960A CN 104734990 B CN104734990 B CN 104734990B
Authority
CN
China
Prior art keywords
message
class
big flow
compression
message class
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
CN201510120960.6A
Other languages
English (en)
Other versions
CN104734990A (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 CN201510120960.6A priority Critical patent/CN104734990B/zh
Publication of CN104734990A publication Critical patent/CN104734990A/zh
Application granted granted Critical
Publication of CN104734990B publication Critical patent/CN104734990B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供了一种确定大流量报文类的方法及装置,用以实现为属于大流量报文类的报文配置内置缓存资源,避免报文拥塞,提高转发系统的转发性能。本发明方法包括:在预设时间间隔内,针对任一经过报文转发系统的报文执行以下步骤:利用预设的压缩函数对报文的特征域值进行压缩处理,得到报文的特征域值的压缩值;在已经进行过特征域值压缩处理的各报文中,统计具有压缩值的报文数量;在数量与预设时间间隔的商大于预设流量阈值时,确定报文所属的报文类为大流量报文类。

Description

一种确定大流量报文类的方法及装置
技术领域
本发明涉及通信领域,尤其涉及一种确定大流量报文类的方法及装置。
背景技术
互联网中存在数量巨大的报文,这些报文具有不同的属性、流量和功能。互联网的转发系统需要为这些报文配置缓存资源。
转发系统中缓存资源分为以下两类:
一类为成本高、读写速度快、资源相对较少、接口简单的内置缓存资源;
另一类为成本低、读写速度慢、资源相对较多、接口复制的外置缓存资源。
目前,转发系统通常会为报文随机配置固定的缓存资源,在配置缓存资源过程中并没有考虑到报文具有的属性、功能等,例如报文的流量大小,若缓存资源配置不当容易造成报文堵塞等问题。
发明内容
本发明实施例提供一种确定大流量报文类的方法及装置,用以实现为属于大流量报文类的报文配置内置缓存资源,避免报文拥塞,提高转发系统的转发性能。
第一方面,本发明实施例提供了一种确定大流量报文类的方法,该方法包括:
在预设时间间隔内,针对任一经过报文转发系统的报文执行以下步骤:
利用预设的压缩函数对报文的特征域值进行压缩处理,得到报文的特征域值的压缩值;
在已经进行过特征域值压缩处理的各报文中,统计具有压缩值的报文数量;
在数量与预设时间间隔的商大于预设流量阈值时,确定报文所属的报文类为大流量报文类。
结合第一方面,在第一种实现方式中,压缩函数包括两个或两个以上压缩函数时,经过任一压缩函数对报文的特征域值进行压缩处理得到的压缩值的值域相同。
结合第一方面或第一方面的第一种实现方式,在第一方面的第二种实现方式中,压缩函数包括两个或两个以上压缩函数;
利用预设的压缩函数对报文的特征域值进行压缩处理,得到报文的特征域值的压缩值,包括:
分别利用每个压缩函数对报文的特征域值进行压缩处理,得到报文的特征域值的压缩值组,压缩值组包含依次与每个压缩函数对应的子压缩值;
在已经进行过特征域值压缩处理的各报文中,统计具有压缩值的报文数量,包括:
在已经进行过特征域值压缩处理的各报文中,统计经过相同压缩函数处理得到的具有相同子压缩值的报文数量;
在数量与预设时间间隔的商大于预设流量阈值时,确定报文所属的报文类为大流量报文类,包括:
在统计到的报文的任一子压缩值对应的报文数量与预设时间间隔的商均大于预设流量阈值时,确定报文所属的报文类为大流量报文类。
结合第一方面、第一方面的第一种至第二种实现方式,在第一方面的第三种实现方式中,将报文类确定为大流量报文类后,该方法还包括:
针对任一大流量报文类执行以下步骤:
统计预设时间间隔内,经过报文转发系统、且属于大流量报文类的报文数量;
在报文数量与预设时间间隔的商小于或等于预设流量阈值时,将大流量报文类更改确定为非大流量报文类。
结合第一方面、第一方面的第一种至第三种实现方式,在第一方面的第四种实现方式中,压缩函数包括以下至少一种:
循环冗余校验CRC算法、安全哈希算法SHA-1算法以及摘要MD5算法。
结合第一方面、第一方面的第一种至第四种实现方式,在第一方面的第五种实现方式中,在确定报文所属的报文类为大流量报文类之后,还包括:
为报文配置内置缓存资源。
第一方面中,通过在预设时间间隔内,针对任一经过报文转发系统的报文执行以下步骤:利用预设的压缩函数对报文的特征域值进行压缩处理,得到报文的特征域值的压缩值;在已经进行过特征域值压缩处理的各报文中,统计具有压缩值的报文数量;在数量与预设时间间隔的商大于预设流量阈值时,确定报文所属的报文类为大流量报文类。可以实现在海量报文中筛选出大流量报文类,进而实现为属于大流量报文类的报文配置内置缓存资源,实现缓存资源利用率最大化,同时有效避免报文拥塞,提高转发系统的转发性能。
通过第一方面中确定大流量报文类的方法,筛选出大流量报文类后,还可以对属于大流量报文类的报文做相应的优化动作,例如:对大流量报文进行转发管理,将大流量报文分散到不同的通路,降低大流量报文导致通路拥塞的风险;基于优先级,对大流量报文进行报文丢弃,限制大流量报文的流量,减少大流量导致的拥塞。
第二方面,本发明实施例提供了一种确定大流量报文类的装置,该装置在预设时间间隔内分别对任一经过报文转发系统的报文执行,该装置包括:
压缩处理单元,用于利用预设的压缩函数对报文的特征域值进行压缩处理,得到报文的特征域值的压缩值;
数量统计单元,用于在已经通过压缩处理单元进行过特征域值压缩处理的各报文中,统计具有压缩值的报文数量;
报文类确定单元,用于在数量统计单元统计得到的数量与预设时间间隔的商大于预设流量阈值时,确定报文所属的报文类为大流量报文类。
结合第二方面,在第一种实现方式中,压缩函数包括两个或两个以上压缩函数时,经过任一压缩函数对报文的特征域值进行压缩处理得到的压缩值的值域相同。
结合第二方面或第二方面的第一种实现方式,在第二方面的第二种实现方式中,压缩函数包括两个或两个以上压缩函数;
压缩处理单元具体用于:
分别利用每个压缩函数对报文的特征域值进行压缩处理,得到报文的特征域值的压缩值组,压缩值组包含依次与每个压缩函数对应的子压缩值;
数量统计单元具体用于:
在已经通过压缩处理单元进行过特征域值压缩处理的各报文中,统计经过相同压缩函数处理得到的具有相同子压缩值的报文数量;
报文类确定单元具体用于:
在压缩处理单元统计得到的报文的任一子压缩值对应的报文数量与预设时间间隔的商均大于预设流量阈值时,确定报文所属的报文类为大流量报文类。
结合第二方面、第二方面的第一种至第二种实现方式,在第二方面的第三种实现方式中,报文类确定单元确定报文所属的报文类为大流量报文类后,数量统计单元和报文类确定单元分别对任一大流量报文类执行:
数量统计单元,还用于:统计预设时间间隔内,经过报文转发系统、且属于大流量报文类的报文数量;
报文类确定单元,还用于:在数量统计单元统计的报文数量与预设时间间隔的商小于或等于预设流量阈值时,将大流量报文类更改确定为非大流量报文类。
结合第二方面、第二方面的第一种至第三种实现方式,在第二方面的第四种实现方式中,压缩函数包括以下至少一种:
循环冗余校验CRC算法、安全哈希算法SHA-1算法以及摘要MD5算法。
结合第二方面、第二方面的第一种至第四种实现方式,在第二方面的第五种实现方式中,报文类确定单元在确定报文所属的报文类为大流量报文类之后,还用于:
为报文配置内置缓存资源。
第二方面中,通过压缩处理单元、数量统计单元和报文类确定单元,具体的,压缩处理单元、数量统计单元和报文类确定单元在预设时间间隔内分别对任一经过报文转发系统的报文执行:压缩处理单元利用预设的压缩函数对报文的特征域值进行压缩处理,得到报文的特征域值的压缩值;数量统计单元在已经通过压缩处理单元进行过特征域值压缩处理的各报文中,统计具有压缩值的报文数量;报文类确定单元在数量统计单元统计得到的数量与预设时间间隔的商大于预设流量阈值时,确定报文所属的报文类为大流量报文类。可以实现在海量报文中筛选出大流量报文类,进而实现为属于大流量报文类的报文配置内置缓存资源,实现缓存资源利用率最大化,同时有效避免报文拥塞,提高转发系统的转发性能。
通过第二方面中压缩处理单元、数量统计单元和报文类确定单元筛选出大流量报文类后,还可以对属于大流量报文类的报文做相应的优化动作,例如:对大流量报文进行转发管理,将大流量报文分散到不同的通路,降低大流量报文导致通路拥塞的风险;基于优先级,对大流量报文进行报文丢弃,限制大流量报文的流量,减少大流量导致的拥塞。
附图说明
图1为本发明实施例提供的转发系统的报文处理过程示意图;
图2为本发明实施例提供的一种确定大流量报文类的方法流程示意图;
图3为本发明实施例提供的报文的特征域值、压缩函数、压缩值以及压缩值对应的报文的数量累计值之间的对应关系示意图;
图4为本发明实施例提供的一种确定大流量报文类的装置结构示意图;
图5为本发明实施例提供的一种确定大流量报文类的装置结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的技术方案适用于互联网中的转发系统。转发系统对需要进行转发处理的报文配置缓存资源(缓存资源也可称为存储单元),如图1所示的转发系统的报文处理示意图,转发系统获取报文A的匹配域信息,通过匹配报文的匹配域信息与存储单元的匹配域信息,确定存储单元的动作域中的指示信息,然后根据指示信息对报文进行修改,得到修改后的报文A+,并将修改后的报文A+转发给下级设备。在互联网的转发系统中,属于同一个报文类的报文通常具有相同的修改动作和转发动作,因此可以为属于同一报文类的报文配置相同的缓存资源。其中,存储单元分为以下两类:
一类为成本高、读写速度快、资源相对较少、接口简单的内置缓存资源;
另一类为成本低、读写速度慢、资源相对较多、接口复制的外置缓存资源。
内置缓存资源具有读写速度快、接口简单的特点,比较适合配置给大流量报文,以提高报文的转发性能。由于内置缓存资源相对较少,如何合理配置内置缓存资源至关重要。
通过本发明实施例提供一种确定大流量报文类的方法及装置,可以实现在海量报文中筛选出大流量报文类,进而实现为属于大流量报文类的报文配置内置缓存资源,实现缓存资源利用率最大化,同时有效避免报文拥塞,提高转发系统的转发性能。本发明实施例中,大流量报文类是指流量达到指定阈值的一类报文,该指定阈值可以人为设置,适合为达到指定阈值的报文配置内置缓存资源。
通过本发明实施例提供一种确定大流量报文类的装置及方法,筛选出大流量报文类后,还可以对属于大流量报文类的报文做相应的优化动作(以下将属于大流量报文类的报文简称为大流量报文),例如:对大流量报文进行转发管理,将大流量报文分散到不同的通路,降低大流量报文导致通路拥塞的风险;基于优先级,对大流量报文进行报文丢弃,限制大流量报文的流量,避免大流量报文导致的拥塞。
实施例一
如图2所示,本发明实施例提供一种确定大流量报文类的方法,该方法包括:
S201、在预设时间间隔内,针对任一经过报文转发系统的报文执行以下步骤:
利用预设的压缩函数对报文的特征域值进行压缩处理,得到报文的特征域值的压缩值;
S202、在已经进行过特征域值压缩处理的各报文中,统计具有压缩值的报文数量;
S203、在数量与预设时间间隔的商大于预设流量阈值时,确定报文所属的报文类为大流量报文类。
报文由多个域组成,不同的域定义了报文不同的属性。用于定义报文类的域的集合称报文的特征域,特征域值相同的报文属于同一报文类。例如:一个IPv4报文由源多址接入信道(Source MultipleAccess Channel,SMAC)地址、目的多址接入信道(DestinationMultipleAccess Channel,DMAC)地址、源因特网协议(SourceInternetProtocol,SIP)地址和目的因特网协议(Destination InternetProtocol,DIP)地址等域组成,定义报文类A的特征域为SMAC、DMAC和SIP,SMAC、DMAC和SIP的域值分别为0、1和1,因此,若IPv4报文的SMAC、DMAC和SIP的域值分别为0、1和1,则IPv4报文属于报文类A。
{x0、x1……xn}用于表示报文的特征域,如果报文类A的特征域值为{a0,a1,……,an},报文类B的特征域值为{b0,b1,……,bn},报文类A与报文类B属于不同的报文类,那个一定存在某个域xm(xm为特征域中的一个域),使得报文类A的域xm的域值am不等于报文类B的域xm的域值bm。
如果报文的域xm有vm种不同的域值,那么以{x0、x1……xn}为特征域可以定义v0*v1*……*vn种报文类,随着特征域的增加,定义的报文类的数量会不断的扩大。由于直接统计每种报文类的流量大小,由于报文类的种类是海量的,统计所有报文类的流量的工作量巨大,因此,在本实施例中,通过利用预设的压缩函数对报文的特征域值进行压缩处理,得到报文的特征域值的压缩值,然后根据该压缩值统计报文类的流量。
下面举例说明图2所示的确定大流量报文类的方法:
在预设时间间隔T内,针对转发系统当前处理的报文a,报文a的特征域为X={x0,x1……xn},特征域值为{a0,a1,……,an},F为预设的压缩函数,y=F(X)是报文a的特征域值经过压缩处理得到函数值,即报文a的特征域值的压缩值,y的值域为{0,1}。定义报文的数量累计值的集合C={c0、c1},当y=0时,c0增加一,表示具有压缩值y=0的报文的数量累计值增加一;当y=1时,c1增加一,表示具有压缩值y=1的报文的数量累计值增加一。随着统计的报文数量的增加,c0和c1的值也会逐渐累加。
若报文a的特征域值的压缩值y=1,c1增加一后,使得c1大于预设流量阈值L与预设时间间隔T的乘积,则确定报文a所属的报文类A属于大流量报文类,可以通过报文a的特征域值{a0,a1,……,an}确定报文类A,即特征域值为{a0,a1,……,an}的所有报文都属于报文类A。
通过上述方法可以看出,本实施例中的大流量报文类可以理解为,在预设时间T内,每秒经过报文转发系统的同一类报文的报文数量超过预设流量阈值L与预设时间T的乘积的报文类。
本实施例中,为避免存在报文b,使报文b的特征域值的压缩值yb与报文a的特征域值的压缩值ya相同,造成具有相同压缩值的报文累计值不准确,预设的压缩函数可以为两个或两个以上压缩函数,经过任一预设的压缩函数进行压缩处理得到的压缩值的值域相同。
本实施例中,当预设的压缩函数为两个或两个以上压缩函数时,在预设时间间隔内,针对任一经过报文转发系统的报文执行以下步骤:
分别利用每个压缩函数对报文的特征域值进行压缩处理,得到报文的特征域值的压缩值组,压缩值组包含依次与每个压缩函数对应的子压缩值;
在已经进行过特征域值压缩处理的各报文中,统计经过相同压缩函数处理得到的具有相同子压缩值的报文数量;
在统计到的报文的任一子压缩值对应的报文数量与预设时间间隔的商均大于预设流量阈值时,确定报文所属的报文类为大流量报文类。
例如:当预设的压缩函数包括F0和F1两个压缩函数时,在预设时间间隔T内,针对转发系统当前处理的报文a,报文a的特征域为X={x0,x1……xn},特征域值为{a0,a1,……,an}。y0=F0(X)是报文a的特征域值经过压缩函数F0处理得到函数值,y0的值域为{0,1},y0对应的报文的数量累计值的集合为C0={c00、c01},当y0=0时,c00增加一,表示经过压缩函数F0处理得到的压缩值y0=0的报文的数量累计值增加一;当y0=1时,c01增加一,表示经过压缩函数F0处理得到的压缩值y0=1的报文的数量累计值增加一。y1=F1(X)是报文a的特征域值经过压缩函数F1处理得到函数值,y1的值域为{0,1},y1对应的报文的数量累计值的集合为C1={c10、c11},当y1=0时,c10增加一,表示经过压缩函数F1处理得到的压缩值y1=0的报文的数量累计值增加一;当y1=1时,c11增加一,表示经过压缩函数F1处理得到的压缩值y1=1的报文的数量累计值增加一。
假设,报文a的特征域值的压缩值y0=1,c01增加一,且y1=0,c10增加一后,使得c01和c10均大于预设流量阈值L与预设时间间隔T的乘积,则确定报文a所属的报文类A属于大流量报文类;否则,c01和c10中任意一个不满足大于预设流量阈值L与预设时间间隔T的乘积,都不能将报文a所属的报文类A属于大流量报文类。
同理,当预设的压缩函数包括{F0、F1、……、Fn}的n个压缩函数时,报文a的特征域值为{a0,a1,……,an}、压缩函数{F0、F1、……、Fn}、压缩值{y0,y1,……yn}={F0(X)、F1(X)、……、Fn(X)}、以及压缩值{y0,y1,……yn}对应的报文的数量累计值的集合为{C0,C1,……Cn}之间的对应关系如图3所示。当压缩值{y0,y1,……yn}对应增加后的报文的数量累计值的集合为{C0,C1,……Cn}均大于预设流量阈值L与预设时间间隔T的乘积时,确定报文a所属的报文类A属于大流量报文类;否则,{C0,C1,……Cn}中任意一个不满足大于预设流量阈值L与预设时间间隔T的乘积,都不能将报文a所属的报文类A属于大流量报文类。
本实施例中,压缩函数包括以下至少一种:循环冗余校验(Cyclic RedundancyCheck,CRC)算法、安全哈希算法(Secure Hash Algorithm-1,SHA-1)算法以及摘要算法5(Message-DigestAlgorithm 5,MD5)。例如:
1、利用CRC算法对报文的特征域值进行压缩处理,得到报文的特征域值的压缩值,具体包括:
假设报文a的特征域值为{a0,a1,……,a5}为{16’h0,16’h1,16’h2,16’h3,16’h4},将该特征域值按位拼接形成80bit的数Ba,
Ba=80’h0004_0003_0002_0001_0000
其中,80表示数据位宽为80bit,h表示数据使用16进制表示;
Ba经CRC32算法处理后得到32bit的二进制数B,取B的第nbit B[n]作为Fn的函数值。
计算获得Ba经过循环冗余校验CRC后的32位校验码B,
B=32’b00000000_01010101_10101010_11111111
其中,32表示数据位宽为32bit,b表示数据使用2进制表示),则可以定义报文a的特征域值{a0,a1,……,a5}的压缩值如下所示:
y0=F0(X)=B[0]=1’b0;
y1=F1(X)=B[1]=1’b0;
……
y31=F31(X)=B[31]=1’b1。
2、如果报文a的特征域值{a0,a1,……,an}按位拼接后的值Ba很宽时,例如报文的a对应的Ba有512bit,可以使用SHA-1压缩算法。借助SHA-1算法的散列特性,取压缩后的数B=SHA-1(Ba)的各个bit位作为压缩函数的函数值,则可以定义压缩函数:yn=Fn(X)=B[n]。
3、类似与SHA-1算法,本实例中的压缩函数可以采用MD5算法。将报文的特征域值经过形式变换和数据补位后,采用MD5算法压缩得到散阵列数据,取散阵列数据的各个一系列bit位作为压缩函数的压缩值。
需要说明的是,本实施例中的压缩函数并不局限于上述提供的三种压缩函数,还可以是其他压缩函数。
本实施例中,可以通过以下方法,来进一步保证通过上述方法确定的大流量报文类的准确性。需要说明的是,通过上述方法能够确定大流量报文类,上述方法和以下步骤相结合的方案,确定的大流量报文类更加准确。
针对任一大流量报文类执行以下步骤:
统计预设时间间隔内,经过报文转发系统、且属于大流量报文类的报文数量;
在报文数量与预设时间间隔的商小于或等于预设流量阈值时,将大流量报文类更改确定为非大流量报文类。
假设,按照时间的先后顺序确定的大流量报文类包括报文类A0、报文类A1、……报文类Am、……报文类An(可表示成{A0,A1,……Am,……An}),以报文类Am为例,统计预设时间T内,经过报文转发系统、且属于报文类Am的报文数量cm,若cm与T的商大于预设流量阈值L,则进一步判定报文类Am是大流量报文;若cm与T的商小于或等于预设流量阈值L,则将报文类Am更改确定为非大流量报文。由于最先确定的大流量报文类的准确性最高,若报文类Am被进一步判定是大流量报文,则可以确定在报文Am被首次确定是大流量报文类之前确定的大流量报文类均是大流量报文类,即报文类Am被进一步判定是大流量报文后,可以确定{A0,A1,……Am-1}也是大流量报文类。
实施例一中,通过在预设时间间隔内,针对任一经过报文转发系统的报文执行以下步骤:利用预设的压缩函数对报文的特征域值进行压缩处理,得到报文的特征域值的压缩值;在已经进行过特征域值压缩处理的各报文中,统计具有压缩值的报文数量;在数量与预设时间间隔的商大于预设流量阈值时,确定报文所属的报文类为大流量报文类。可以实现在海量报文中筛选出大流量报文类,进而实现为属于大流量报文类的报文配置内置缓存资源,实现缓存资源利用率最大化,同时有效避免报文拥塞,提高转发系统的转发性能。
通过实施例一中提供的确定大流量报文类的方法,筛选出大流量报文类后,还可以对属于大流量报文类的报文做相应的优化动作,例如:对大流量报文进行转发管理,将大流量报文分散到不同的通路,降低大流量报文导致通路拥塞的风险;基于优先级,对大流量报文进行报文丢弃,限制大流量报文的流量,减少大流量导致的拥塞。
实施例二
与实施例一对应的,如图4所示,本发明实施例提供一种确定大流量报文类的装置,该装置在预设时间间隔内分别对任一经过报文转发系统的报文执行,该装置包括:
压缩处理单元401,用于利用预设的压缩函数对报文的特征域值进行压缩处理,得到报文的特征域值的压缩值;
数量统计单元402,用于在已经通过压缩处理单元401进行过特征域值压缩处理的各报文中,统计具有压缩值的报文数量;
报文类确定单元403,用于在数量统计单元402统计得到的数量与预设时间间隔的商大于预设流量阈值时,确定报文所属的报文类为大流量报文类。
报文由多个域组成,不同的域定义了报文不同的属性。用于定义报文类的域的集合称报文的特征域,特征域值相同的报文属于同一报文类。例如:一个IPv4报文由源多址接入信道(Source MultipleAccess Channel,SMAC)地址、目的多址接入信道(DestinationMultipleAccess Channel,DMAC)地址、源因特网协议(SourceInternetProtocol,SIP)地址和目的因特网协议(Destination InternetProtocol,DIP)地址等域组成,定义报文类A的特征域为SMAC、DMAC和SIP,SMAC、DMAC和SIP的域值分别为0、1和1,因此,若IPv4报文的SMAC、DMAC和SIP的域值分别为0、1和1,则IPv4报文属于报文类A。
{x0、x1……xn}用于表示报文的特征域,如果报文类A的特征域值为{a0,a1,……,an},报文类B的特征域值为{b0,b1,……,bn},报文类A与报文类B属于不同的报文类,那个一定存在某个域xm(xm为特征域中的一个域),使得报文类A的域xm的域值am不等于报文类B的域xm的域值bm。
如果报文的域xm有vm种不同的域值,那么以{x0、x1……xn}为特征域可以定义v0*v1*……*vn种报文类,随着特征域的增加,定义的报文类的数量会不断的扩大。由于直接统计每种报文类的流量大小,由于报文类的种类是海量的,统计所有报文类的流量的工作量巨大,因此,在本实施例中,通过压缩处理单元401利用预设的压缩函数对报文的特征域值进行压缩处理,得到报文的特征域值的压缩值,然后根据该压缩值统计报文类的流量。
下面举例说明图4所示的装置确定大流量报文类的过程:
在预设时间间隔T内,针对转发系统当前处理的报文a,报文a的特征域为X={x0,x1……xn},特征域值为{a0,a1,……,an},F为预设的压缩函数,y=F(X)是报文a的特征域值经过压缩处理单元401压缩处理得到函数值,即报文a的特征域值的压缩值,y的值域为{0,1}。数量统计单元402定义报文的数量累计值的集合C={c0、c1},当y=0时,c0增加一,表示具有压缩值y=0的报文的数量累计值增加一;当y=1时,c1增加一,表示具有压缩值y=1的报文的数量累计值增加一。随着统计的报文数量的增加,c0和c1的值也会逐渐累加。
若报文a的特征域值的压缩值y=1,c1增加一后,使得c1大于预设流量阈值L与预设时间间隔T的乘积,则报文类确定单元403确定报文a所属的报文类A属于大流量报文类,可以通过报文a的特征域值{a0,a1,……,an}确定报文类A,即特征域值为{a0,a1,……,an}的所有报文都属于报文类A。
通过上述过程可以看出,本实施例中的大流量报文类可以理解为,在预设时间T内,每秒经过报文转发系统的同一类报文的报文数量超过预设流量阈值L与预设时间T的乘积的报文类。
本实施例中,为避免存在报文b,使报文b的特征域值的压缩值yb与报文a的特征域值的压缩值ya相同,造成具有相同压缩值的报文累计值不准确,预设的压缩函数可以为两个或两个以上压缩函数,经过任一预设的压缩函数进行压缩处理得到的压缩值的值域相同。
本实施例中,当预设的压缩函数为两个或两个以上压缩函数时,压缩处理单元401、数量统计单元402和报文类确定单元403在预设时间间隔内,针对任一经过报文转发系统的报文执行以下过程:
压缩处理单元401分别利用每个压缩函数对报文的特征域值进行压缩处理,得到报文的特征域值的压缩值组,压缩值组包含依次与每个压缩函数对应的子压缩值;
数量统计单元402在已经通过压缩处理单元401进行过特征域值压缩处理的各报文中,统计经过相同压缩函数处理得到的具有相同子压缩值的报文数量;
在数量统计单元402统计得到的统计到的报文的任一子压缩值对应的报文数量与预设时间间隔的商均大于预设流量阈值时,报文类确定单元403确定报文所属的报文类为大流量报文类。
例如:当预设的压缩函数包括F0和F1两个压缩函数时,在预设时间间隔T内,针对转发系统当前处理的报文a,报文a的特征域为X={x0,x1……xn},特征域值为{a0,a1,……,an}。y0=F0(X)是报文a的特征域值通过压缩处理单元401利用压缩函数F0处理得到函数值,y0的值域为{0,1}。数量统计单元402定义y0对应的报文的数量累计值的集合为C0={c00、c01},当y0=0时,数量统计单元402将c00增加一,表示经过压缩函数F0处理得到的压缩值y0=0的报文的数量累计值增加一;当y0=1时,数量统计单元402将c01增加一,表示经过压缩函数F0处理得到的压缩值y0=1的报文的数量累计值增加一。同理,y1=F1(X)是报文a的特征域值通过压缩处理单元401利用压缩函数F1处理得到函数值,y1的值域为{0,1}。数量统计单元402定义y1对应的报文的数量累计值的集合为C1={c10、c11},当y1=0时,数量统计单元402将c10增加一,表示经过压缩函数F1处理得到的压缩值y1=0的报文的数量累计值增加一;当y1=1时,数量统计单元402将c11增加一,表示经过压缩函数F1处理得到的压缩值y1=1的报文的数量累计值增加一。
假设,报文a的特征域值的压缩值y0=1,c01增加一,且y1=0,c10增加一后,使得c01和c10均大于预设流量阈值L与预设时间间隔T的乘积,则报文类确定单元403确定报文a所属的报文类A属于大流量报文类;否则,c01和c10中任意一个不满足大于预设流量阈值L与预设时间间隔T的乘积,报文类确定单元403都不能将报文a所属的报文类A属于大流量报文类。
同理,当预设的压缩函数包括{F0、F1、……、Fn}的n个压缩函数时,报文a的特征域值为{a0,a1,……,an}、压缩函数组{F0、F1、……、Fn}、压缩值{y0,y1,……yn}={F0(X)、F1(X)、……、Fn(X)}、以及压缩值{y0,y1,……yn}对应的报文的数量累计值的集合为{C0,C1,……Cn}之间的对应关系如图3所示。当压缩值{y0,y1,……yn}对应增加后的报文的数量累计值的集合为{C0,C1,……Cn}均大于预设流量阈值L与预设时间间隔T的乘积时,报文类确定单元403确定报文a所属的报文类A属于大流量报文类;否则,{C0,C1,……Cn}中任意一个不满足大于预设流量阈值L与预设时间间隔T的乘积,报文类确定单元403都不能将报文a所属的报文类A属于大流量报文类。
本实施例中,压缩函数包括以下至少一种:循环冗余校验CRC算法、安全哈希算法SHA-1算法以及摘要算法5(MD5)。
本实施例中,报文类确定单元403确定报文所属的报文类为大流量报文类后,可以通过数量统计单元402和报文类确定单元403的如下操作,来进一步保证确定的大流量报文类的准确性。
数量统计单元402和报文类确定单元403分别对任一大流量报文类执行:
数量统计单元402统计预设时间间隔内,经过报文转发系统、且属于大流量报文类的报文数量;
在数量统计单元402统计的报文数量与预设时间间隔的商小于或等于预设流量阈值时,报文类确定单元403将大流量报文类更改确定为非大流量报文类。
假设,按照时间的先后顺序,报文类确定单元403确定的大流量报文类包括报文类A0、报文类A1、……报文类Am、……报文类An(可表示成{A0,A1,……Am,……An}),以报文类Am为例,数量统计单元402统计预设时间T内,经过报文转发系统、且属于报文类Am的报文数量cm,若cm与T的商大于预设流量阈值L,则报文类确定单元403进一步判定报文类Am是大流量报文;若cm与T的商小于或等于预设流量阈值L,则报文类确定单元403将报文类Am更改确定为非大流量报文。由于最先确定的大流量报文类的准确性最高,若报文类Am被进一步判定是大流量报文,则报文类确定单元403可以确定在报文Am被首次确定是大流量报文类之前被确定的大流量报文类均是大流量报文类,即报文类Am被进一步判定是大流量报文后,可以确定{A0,A1,……Am-1}也是大流量报文类。
实施例二中,通过压缩处理单元401、数量统计单元402和报文类确定单元403,具体的,压缩处理单元401、数量统计单元402和报文类确定单元403在预设时间间隔内分别对任一经过报文转发系统的报文执行:压缩处理单元401利用预设的压缩函数对报文的特征域值进行压缩处理,得到报文的特征域值的压缩值;数量统计单元402在已经通过压缩处理单元401进行过特征域值压缩处理的各报文中,统计具有压缩值的报文数量;在数量统计单元402统计得到的数量与预设时间间隔的商大于预设流量阈值时,报文类确定单元403确定报文所属的报文类为大流量报文类。可以实现在海量报文中筛选出大流量报文类,进而实现为属于大流量报文类的报文配置内置缓存资源,实现缓存资源利用率最大化,同时有效避免报文拥塞,提高转发系统的转发性能。
通过实施例二中的压缩处理单元401、数量统计单元402和报文类确定单元403筛选出大流量报文类后,还可以对属于大流量报文类的报文做相应的优化动作,例如:对大流量报文进行转发管理,将大流量报文分散到不同的通路,降低大流量报文导致通路拥塞的风险;基于优先级,对大流量报文进行报文丢弃,限制大流量报文的流量,减少大流量导致的拥塞。
实施例三
与实施例一对应的,如图5所示,本发明实施例提供一种确定大流量报文类的装置,该装置在预设时间间隔内分别对任一经过报文转发系统的报文执行,该装置包括:
存储器501,用于存储预设的压缩函数;
处理器502,用于利用存储器501存储的预设的压缩函数,对报文的特征域值进行压缩处理,得到报文的特征域值的压缩值;
存储器501,还用于存储处理器502得到的报文的特征域值的压缩值;
处理器502,还用于在已经进行过特征域值压缩处理的各报文中,根据存储器501存储的压缩值,统计具有该压缩值的报文数量;以及
在统计的报文数量与预设时间间隔的商大于预设流量阈值时,确定报文所属的报文类为大流量报文类。
本实施例中,压缩函数包括两个或两个以上压缩函数时,经过任一压缩函数对报文的特征域值进行压缩处理得到的压缩值的值域相同。
本实施例中,压缩函数包括两个或两个以上压缩函数;
处理器502利用存储器501存储的预设的压缩函数,对报文的特征域值进行压缩处理,得到报文的特征域值的压缩值时,具体用于:
分别利用每个压缩函数对报文的特征域值进行压缩处理,得到报文的特征域值的压缩值组,压缩值组包含依次与每个压缩函数对应的子压缩值;
处理器502在已经进行过特征域值压缩处理的各报文中,根据存储器501存储的压缩值,统计具有该压缩值的报文数量时,具体用于:
在已经进行过特征域值压缩处理的各报文中,统计经过相同压缩函数处理得到的具有相同子压缩值的报文数量;
处理器502在数量与预设时间间隔的商大于预设流量阈值时,确定报文所属的报文类为大流量报文类,具体用于:
在统计到的报文的任一子压缩值对应的报文数量与预设时间间隔的商均大于预设流量阈值时,确定报文所属的报文类为大流量报文类。
本实施例中,处理器502确定报文所属的报文类为大流量报文类后,还用于:
对任一大流量报文类执行:
统计预设时间间隔内,经过报文转发系统、且属于大流量报文类的报文数量;
在报文数量与预设时间间隔的商小于或等于预设流量阈值时,将大流量报文类更改确定为非大流量报文类。
本实施例中,压缩函数包括以下至少一种:
循环冗余校验CRC算法、安全哈希算法SHA-1算法以及摘要MD5算法。
本实施例中,处理器502在确定报文所属的报文类为大流量报文类之后,还用于:
为报文配置内置缓存资源。
实施例三中,通过存储器501和处理器502,可以实现在海量报文中筛选出大流量报文类,进而实现为属于大流量报文类的报文配置内置缓存资源,实现缓存资源利用率最大化,同时有效避免报文拥塞,提高转发系统的转发性能。
通过实施例二中的存储器501和处理器502筛选出大流量报文类后,还可以对属于大流量报文类的报文做相应的优化动作,例如:对大流量报文进行转发管理,将大流量报文分散到不同的通路,降低大流量报文导致通路拥塞的风险;基于优先级,对大流量报文进行报文丢弃,限制大流量报文的流量,减少大流量导致的拥塞。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (10)

1.一种确定大流量报文类的方法,其特征在于,该方法包括:
在预设时间间隔内,针对任一经过报文转发系统的报文执行以下步骤:
利用预设的压缩函数对所述报文的特征域值进行压缩处理,得到所述报文的特征域值的压缩值;
在已经进行过特征域值压缩处理的各报文中,统计具有所述压缩值的报文数量;
在所述数量与所述预设时间间隔的商大于预设流量阈值时,确定所述报文所属的报文类为大流量报文类;
所述压缩函数包括两个或两个以上压缩函数;
利用预设的压缩函数对所述报文的特征域值进行压缩处理,得到所述报文的特征域值的压缩值,包括:
分别利用每个所述压缩函数对所述报文的特征域值进行压缩处理,得到所述报文的特征域值的压缩值组,所述压缩值组包含依次与每个压缩函数对应的子压缩值;
在已经进行过特征域值压缩处理的各报文中,统计具有所述压缩值的报文数量,包括:
在已经进行过特征域值压缩处理的各报文中,统计经过相同压缩函数处理得到的具有相同子压缩值的报文数量;
在所述数量与所述预设时间间隔的商大于预设流量阈值时,确定所述报文所属的报文类为大流量报文类,包括:
在统计到的所述报文的任一子压缩值对应的报文数量与所述预设时间间隔的商均大于预设流量阈值时,确定所述报文所属的报文类为大流量报文类。
2.如权利要求1所述的方法,其特征在于,所述压缩函数包括两个或两个以上压缩函数时,经过任一所述压缩函数对所述报文的特征域值进行压缩处理得到的压缩值的值域相同。
3.如权利要求1或2任一权项所述的方法,其特征在于,将所述报文类确定为大流量报文类后,该方法还包括:
针对任一所述大流量报文类执行以下步骤:
统计所述预设时间间隔内,经过所述报文转发系统、且属于所述大流量报文类的报文数量;
在所述报文数量与所述预设时间间隔的商小于或等于预设流量阈值时,将所述大流量报文类更改确定为非大流量报文类。
4.如权利要求1至2任一权项所述的方法,其特征在于,所述压缩函数包括以下至少一种:
循环冗余校验CRC算法、安全哈希算法SHA-1算法以及摘要MD5算法。
5.如权利要求1至2任一权项所述的方法,其特征在于,在确定所述报文所属的报文类为大流量报文类之后,还包括:
为所述报文配置内置缓存资源。
6.一种确定大流量报文类的装置,其特征在于,所述装置在预设时间间隔内分别对任一经过报文转发系统的报文执行,所述装置包括:
压缩处理单元,用于利用预设的压缩函数对所述报文的特征域值进行压缩处理,得到所述报文的特征域值的压缩值;
数量统计单元,用于在已经通过所述压缩处理单元进行过特征域值压缩处理的各报文中,统计具有所述压缩值的报文数量;
报文类确定单元,用于在所述数量统计单元统计得到的所述数量与所述预设时间间隔的商大于预设流量阈值时,确定所述报文所属的报文类为大流量报文类;
所述压缩函数包括两个或两个以上压缩函数;
所述压缩处理单元具体用于:
分别利用每个所述压缩函数对所述报文的特征域值进行压缩处理,得到所述报文的特征域值的压缩值组,所述压缩值组包含依次与每个压缩函数对应的子压缩值;
所述数量统计单元具体用于:
在已经通过所述压缩处理单元进行过特征域值压缩处理的各报文中,统计经过相同压缩函数处理得到的具有相同子压缩值的报文数量;
所述报文类确定单元具体用于:
在所述数量统计单元统计得到的所述报文的任一子压缩值对应的报文数量与所述预设时间间隔的商均大于预设流量阈值时,确定所述报文所属的报文类为大流量报文类。
7.如权利要求6所述的装置,其特征在于,所述压缩函数包括两个或两个以上压缩函数时,经过任一所述压缩函数对所述报文的特征域值进行压缩处理得到的压缩值的值域相同。
8.如权利要求6至7任一权项所述的装置,其特征在于,所述报文类确定单元确定所述报文所属的报文类为大流量报文类后,所述数量统计单元和所述报文类确定单元分别对任一所述大流量报文类执行:
所述数量统计单元,还用于:统计所述预设时间间隔内,经过所述报文转发系统、且属于所述大流量报文类的报文数量;
所述报文类确定单元,还用于:在所述数量统计单元统计的所述报文数量与所述预设时间间隔的商小于或等于预设流量阈值时,将所述大流量报文类更改确定为非大流量报文类。
9.如权利要求6至7任一权项所述的装置,其特征在于,所述压缩函数包括以下至少一种:
循环冗余校验CRC算法、安全哈希算法SHA-1算法以及摘要MD5算法。
10.如权利要求6至7任一权项所述的装置,其特征在于,所述报文类确定单元在确定所述报文所属的报文类为大流量报文类之后,还用于:
为所述报文配置内置缓存资源。
CN201510120960.6A 2015-03-19 2015-03-19 一种确定大流量报文类的方法及装置 Active CN104734990B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510120960.6A CN104734990B (zh) 2015-03-19 2015-03-19 一种确定大流量报文类的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510120960.6A CN104734990B (zh) 2015-03-19 2015-03-19 一种确定大流量报文类的方法及装置

Publications (2)

Publication Number Publication Date
CN104734990A CN104734990A (zh) 2015-06-24
CN104734990B true CN104734990B (zh) 2018-10-30

Family

ID=53458437

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510120960.6A Active CN104734990B (zh) 2015-03-19 2015-03-19 一种确定大流量报文类的方法及装置

Country Status (1)

Country Link
CN (1) CN104734990B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106357547A (zh) * 2016-09-08 2017-01-25 重庆邮电大学 一种基于流切片的软件定义网络拥塞控制算法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101257456A (zh) * 2008-03-31 2008-09-03 华为技术有限公司 提高压缩报文转发性能的方法及装置
CN101478481A (zh) * 2009-01-07 2009-07-08 成都市华为赛门铁克科技有限公司 缓存管理方法及装置、数据转发系统
CN102299850A (zh) * 2011-08-29 2011-12-28 中兴通讯股份有限公司 保护cpu的方法和装置
CN103580959A (zh) * 2013-11-15 2014-02-12 大连梯耐德网络技术有限公司 一种分布式统计上报的实现方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050060418A1 (en) * 2003-09-17 2005-03-17 Gennady Sorokopud Packet classification
CN101227318B (zh) * 2007-12-04 2011-05-11 东南大学 高速网络流量的超点实时检测方法
CN101980489A (zh) * 2010-10-28 2011-02-23 中兴通讯股份有限公司 一种防止协议报文攻击cpu的保护方法及系统
CN102025563B (zh) * 2010-11-30 2012-05-30 东南大学 基于哈希冲突补偿的网络大流识别方法
CN103297298B (zh) * 2013-06-27 2015-10-28 山东山大电力技术有限公司 用于智能变电站的网络风暴实时快速检测方法
CN104348811B (zh) * 2013-08-05 2018-01-26 深圳市腾讯计算机系统有限公司 分布式拒绝服务攻击检测方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101257456A (zh) * 2008-03-31 2008-09-03 华为技术有限公司 提高压缩报文转发性能的方法及装置
CN101478481A (zh) * 2009-01-07 2009-07-08 成都市华为赛门铁克科技有限公司 缓存管理方法及装置、数据转发系统
CN102299850A (zh) * 2011-08-29 2011-12-28 中兴通讯股份有限公司 保护cpu的方法和装置
CN103580959A (zh) * 2013-11-15 2014-02-12 大连梯耐德网络技术有限公司 一种分布式统计上报的实现方法

Also Published As

Publication number Publication date
CN104734990A (zh) 2015-06-24

Similar Documents

Publication Publication Date Title
CN108681565B (zh) 区块链数据并行处理方法、装置、设备和存储介质
US9584332B2 (en) Message processing method and device
WO2017166643A1 (zh) 一种任务资源的量化方法和装置
CN104636286B (zh) 用于数据访问的方法和设备
CN107729137B (zh) 服务器、区块链验签解密的方法及存储介质
CN107241305B (zh) 一种基于多核处理器的网络协议分析系统及其分析方法
US9148303B2 (en) Detailed end-to-end latency tracking of messages
CN106161524A (zh) 一种基于分布式资源节点的资源下载方法及装置
KR20130097973A (ko) 작업 부하를 고려한 하드웨어 가속화 기반의 대규모 데이터의 분산 처리 장치 및 방법
CN111628941A (zh) 一种网络流量的分类处理方法、装置、设备及介质
CN109587072A (zh) 分布式系统全局限速系统及方法
CN104580202B (zh) 报文的匹配方法和装置
EP2919120A1 (en) Memory monitoring method and related device
EP3461085B1 (en) Method and device for queue management
CN104734990B (zh) 一种确定大流量报文类的方法及装置
CN103533090A (zh) 单个物理网口模拟为多个逻辑网口的映射方法与装置
CN102904826B (zh) 流量负载分担的方法及设备
CN110019205A (zh) 一种数据存储、还原方法、装置及计算机设备
CN106909436A (zh) 产生虚拟机消息队列应用程序的相关关系的方法与系统
CN104636432B (zh) 一种日志文件压缩和解压的方法及装置
CN110909085A (zh) 数据处理方法、装置、设备及存储介质
CN103338159B (zh) 轮询调度实现方法和装置
CN106371921A (zh) 一种多线程分析的均衡分流方法
US10228852B1 (en) Multi-stage counters
WO2015027876A1 (zh) 一种流量统计方法、装置及网络设备

Legal Events

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