长流的识别方法、数据流量的测量方法及其设备的制作方法

文档序号:7943768阅读:340来源:国知局
专利名称:长流的识别方法、数据流量的测量方法及其设备的制作方法
技术领域
本发明涉及计算机通信技术领域,特别涉及一种长流的识别方法、数据 流量的测量方法及及其设备。
背景技术
随着现代互联网规模的扩大、异质性的突出、以及网络应用呈现的多样 性,人们迫切需要了解和掌握它在局部和整体范围内所体现出的行为特征, 以便更好地理解、设计和管理互联网络。网络流量测量是研究流量工程和网 络行为学的基础,可以通过对网络流量的基本参数进行测量,比如包长分布、 吞吐量、自相似系数等,根据测量的结果对网络进行建模和分析,以便更好 地掌握网络行为的基本特征,保证网络的健康运行。正是由于以上原因,使 得网络流量测量从网络管理的分支中分离出来,成为 一个独立的网络研究方 向,并作为一个新的研究领域成为近年来的研究热点。
对网络流进行测量、统计后发现流往往呈现4艮强烈的重尾分布特征, 即大多流仅包含很少数目的报文,而很少一部分流却携带着很大数目的报文。 统计长流可以节省大量的存储空间,使流量信息能够存储在高速的静态随机 访问存储器(SRAM)中,提高处理网络数据的速度。因此,高速网络中,识 别长流是进行准确流量测量的一种重要可扩展的解决方案。目前长流的识别 方法主要是利用抽样测量的技术,其具有代表性的算法主要有两个采样控 制(Sample and Hold)算法和多级过滤器(Multistage Filters )算法。
所述SampleandHold算法的基本思想是当某个数据报文到达时,如果该 报文所属的流记录在緩存中存在,则更新该流记录;否则以一定的概率/ 采样 该报文,若该报文被抽中,则创建该流记录。其中,对于在緩存中已经有记 录的流,以后属于该流的净艮文均纟皮抽样。
所述MultistageFilters算法的基本思想是每级过滤器是一个计数器向量, 每个报文到达时,通过哈希(Hash)函数映射到每级过滤器中的对应计数器 上,然后更新对应计数器的值。如果每级过滤器相应的计数器都超过了预设 的阈值,则i人为该流是大流或长流,然后ii存该流。但是,在上述两种方案中,对于流的识别和统计,需要实时在线地维护 五元组的信息,这对于主干路由器的资源占用是难以接受的。而评价性能优 劣的首要指标是算法的时间复杂度和空间复杂度。目前, 一种特殊的基于哈
希算法的数据结构布鲁姆过滤器(Bloom Filter)能够很好地解决上述问题, 它能快速地鉴别流的信息,并能把TCP流的信息维护从96比特的五元组映射到 很短的哈希串所代表的空间,极大地减少了由于维护五元组信息而带来的资 源开销。
其中,布鲁姆过滤器表示信息的方式精简,是一种能够表示集合、支持 集合查询的精简数据结构。与传统的查询算法相比,大大节约了存储空间。 也就是说,传统的树型结构和散列查询算法存储空间与元素自身大小和集合 规模直接相关,而布鲁姆过滤器查询算法所需空间与元素自身大小无关,仅 与元素映射到的向量位数相关,这就大大节约了存储空间。下面简单介绍两 种基本的布鲁姆过滤器。
一种是标准布鲁姆过滤器(SBF, Standard Bloom Filter) SBF算法的核心是 一个V向量和一组Hash函数,其实现原理如图l所示。 具体实现过程为设集合S二h, &,...,&}共有"个元素,通过A个Hash函数 /2i,/72,…/^将集合S中的"个元素映射到长度为m的向量V中。每一个Hash函数相 互独立,且函数的取值范围为{0,1,2,..., w-l}。集合S到向量V的映射过程为 向量V初始化,即将向量V的所有比特位置O;当元素插入集合S时,对于每一 个元素s,.,计算/z》,)(l^W),若、(s,)",则令SBF[《]-1,将向量对应的位 置置位;当查询元素是否属于集合S时,对于给定的元素;c,检查向量V的A个 位置(/^(义)》200,...; ^))是否为1。如果其中有一个为O,则xgS;若全部值为l, 则x可能属于S中。此时就可能出现"假阳性误判",即将不属于集合的元素误 判成属于该集合,但不会出现"假阴性误判"(即将属于集合的元素误判成不属 于该集合)。
由此可知,该SBF算法的实现过程中,用(",m,t)的形式表示SBF,其中"为 集合S的元素个数,w为向量V的长度,A为哈希函数的个数。使用SBF完成集 合存储,保存每个元素平均使用m/"位,空间十分节俭。虽然SBF算法能够较 好地支持集合元素的插入和散列查询,但是却不能够支持元素的删除。另一种是计数型布鲁姆过滤器(CBF, Counting Bloom Filter) CBF可以支持元素的删除,其实现过程为将向量V的每一维《/e(l,2,…;^) 设置成一个计数器,记为c(/),并设定初值为0。当要增加集合元素x时,则 c(/7/x)"c( (x))+l,(户1,2,…,A:);当要删除集合元素x时,贝'k(/z/(x))二c(/z乂jc))隱1 , (户1,2,…,"如图2所示。
CBF不仅支持集合元素的插入和散列查询,集合元素的删除,还能支持集 合元素的统计计数当a.插入以后(设^对应的计数器为q,C2…cJ,若后面到 达的数据中还存在s,,则CBF不但能判断s,存在,而且还应该在对应的计数器 位置加l计数,统计^的个数。在具体实现时,可以根据集合元素的增加与删 除的统计规律,选择适当的计数器大小,以防止计数器的溢出。在不考虑计 数器溢出的情况下,A的统计值可以用min(d, C2…c^来表示,但存在单边"假 阳性"的错误概率(即统计值比实际值大)。
在对现有技术的研究和实践过程中,本发明的发明人发现,现有的实现 方式中,针对高速网络中流量测量面临可扩展性的挑战,虽然CBF能支持集 合元素的插入、散列查询、以及集合元素的统计计数,但是,由于CBF的空 间利用率低,以不能针对高速网络中实时在线的长流进行识别和统计,不能 适应当前及未来的流量测量需求。

发明内容
本发明实施例提供一种长流的识别方法、数据流量的测量方法及其设备, 以实现对高速网络中实时在线的长流进行识别和统计,适应高速网络中的流 量测量需求。
为此,本发明是实施例提供一种长流的识别方法,包括 确定业务流的项数/,每项对应一个先验计数型布鲁姆过滤器; 对每一项进行哈希运算,生成每一项对应每个先验计数型布鲁姆过滤器 的哈希地址;
查找每一项对应的每个哈希地址对应的计数器; 循环每个先验计数型布鲁姆过滤器中对应的计数器;
若所述每一项中每个计数器的值都大于等于预设阈值,或者若计数器的 循环次数等于先验计数型布鲁姆过滤器的个数,则判定所述业务流为/-项长流,并在所述每一项对应的每个计数器的值加1后,返回所述确定业务流的 项数/的步骤。
优选的,所述方法还包括
若每一项的每个计数器的值中有一个计数器的值小于预设阈值,根据预 设的先验原则二,该项为非频繁项,根据预设的先验原则一,该项对应的业 务流为非/-项长流。
优选的,所述预设的先验原则一具体包括如果一个业务流为/-项长流, 则所述/-项长流的所有项一定是频繁项;
所述预设的先验原则二具体包括如果标识某个业务流的项是频繁项, 则该项对应的先验计数型布鲁姆过滤器中的每个计数器的值都大于预设阈 值。
优选的,在对每项进行哈希运算前,初始化每项对应的先验计数型布鲁 姆过滤器的值。
本发明实施例还提供一种长流的识别设备,包括
确定单元,用于确定业务流的项数/,每项对应一个先验计数型布鲁姆过 滤器;
生成单元,用于对每一项进行哈希运算,生成每一项对应每个先验计数 型布鲁姆过滤器的哈希地址;
查找单元,用于查找每一项对应的每个哈希地址对应的计数器;
循环单元,用于循环每个先验计数型布鲁姆过滤器中对应的计数器; 第一识别单元,用于在判断所述每一项中每个计数器的值都大于等于预
设阈值时,或者若计数器的循环次数等于先验计数型布鲁姆过滤器的个数时,
判定所述业务流为/-项长流,并在所述每个计数器的值加1后,通知确定单元。 优选的,还包括第一判断单元和/或第二判断单元,其中, 所述第一判断单元,用于判断每一项中每个计数器的值是否都大于等于
预设阈值,并将大于等于预设阈值的判断结果通知第一识别单元;
所述第二判断单元,判断计数器的循环次数是否等于先验计数型布鲁姆
过滤器的个数并将等于的判断结果通知第 一识别单元。
优选的,所述第一判断单元根据预设的先验原则一进行判断;所述第二判断单元依次根据预设的先验原则二、预设的先验原则一进行判断,其中,
所述预设的先验原则一具体包括如果一个业务流为/-项长流,则所述/-项长 流的所有项一定是频繁项;所述预设的先验原则二具体包括如果标识某个 业务流的项是频繁项,则该项对应的先验计数型布鲁姆过滤器中的每个计数 器的值都大于预设阈值。 优选的,还包括
第三判断单元,用于判断每一项的每个计数器的值中是否有一个计数器 的值小于预设阈值,若是,根据预设的先验原则二,该项为非频繁项,根据 预设的先-验原则一,该项对应的业务流为非/-项长流。
优选的,还包括
初始化单元,用于在生成单元生成对应每个先验计数型布鲁姆过滤器的 哈希地址前,初始化每项对应的先验计数型布鲁姆过滤器的值。 本发明实施例再提供一种数据流量的测量方法,包括 确定业务流的项数/,每项对应一个先验计数型布鲁姆过滤器,初始化每 个先验计数型布鲁姆过滤器及每个先验计数型布鲁姆过滤器中的计算器的 值;
统计测量周期中的每个时间窗的业务流;
在流过所述任一时间窗的业务流结束时,重整化该项对应的每个先验计 数型布鲁姆过滤器;
在所述测量周期结束时,输出统计的业务流。 优选的,还包括
在所述测量周期没有结束时,对该项流过下一时间窗的业务流继续统计,
直至测量周期结束,输出统计的业务流。
优选的,所述统计测量周期中的每个时间窗的业务流具体包括 对该项进行哈希运算,生成该项对应每个先验计数型布鲁姆过滤器的哈
希地址;
查找该项对应的每个先验计数型布鲁姆过滤器的哈希地址对应的计数
器;
对所述对应的计数器的值加1,直至每项对应的计数器的循环次^:等于先验计数型布鲁姆过滤器的个数。
优选的,所述重整化每项对应的每个先验计数型布鲁姆过滤器具体包括 将每个先验计数型布鲁姆过滤器中的所有小于预设阈值的计数器的值初始化 为0。
本发明实施例又提供一种数据流量的测量设备,包括
确定单元,用于确定业务流的项数/,每项对应一个先验计数型布鲁姆过
滤器,初始化每个先验计数型布鲁姆过滤器及每个先验计数型布鲁姆过滤器
中的计算器的值;
统计单元,用于统计测量周期中的每个时间窗的业务流; 重整化单元,用于在流过所述任一时间窗的业务流结束时,重整化该项 对应的每个先验计数型布鲁姆过滤器;
流量输出单元,用于在所述测量周期结束时,输出统计的业务流。 优选的,还包括判断单元和处理单元,
所述判断单元,用于所述测量周期是否结束,若是,则通知流量输出单 元输出统计的业务流;否则,通知统计单元;
所述统计单元,还用于在接收到判断单元的通知后,对该项流过下一时 间窗的业务流继续统计,直至测量周期结束,通知流量输出单元输出统计的 业务流。
由上述^支术方案可知,本发明实施例通过确定业务流的项数l,每项对应 一个先验计数型布鲁姆过滤器;对每一项进行哈希运算,生成每一项对应每 个先验计数型布鲁姆过滤器的哈希地址;查找每一项对应的每个哈希地址对 应的计数器;判断所述每一项中每个计数器的值是否都大于等于预设阈值, 若大于预i殳阈值,则判定所述业务流为/-项长流,并在所述每一项中每个计数 器的值加l后,返回所述确定业务流的项数/的步骤。也就是说,本发明实施 例将实时流量分析的硬件配置和硬件管理有效地结合起来,并采用可扩展性 的先验计数型布鲁姆过滤器,确保高速网路流量实时测量的需求。针对高速 骨干链路流量测量面临可扩展性的挑战,本方案扩展了能够表示集合、支持 集合查询的计数布鲁姆过滤器,构造了一种能够支持表示、查询和统计业务 流的先验计数型布鲁姆过滤器的数据结构。该数据结构将先验原则和计数型
ii布鲁姆过滤器进行有机结合,能够存储数据流的统计特征,借助于它就只需 要对数据流进行一遍扫描即可获得误差可控的近似结果。应用先验计数型布 鲁姆过滤器进行骨干网实时流量测量, 一方面,可以实时统计到大于某一阈
值的业务流;另一方面,压缩了流量信息存储的空间,并且部署灵活,实现
代价低,对于高速骨干网的流量分析而言具有较高的实用价值。


图1为现有技术中标准布鲁姆过滤器的实现原理示意图; 图2为现有技术中计数型布鲁姆过滤器的实现原理示意图; 图3为本发明实施例中提供的一种长流的识别方法的流程图; 图4为本发明实施例中/-项流对应的CBF示意图; 图5为本发明实施例中先验原则2的示意图6为本发明实施例中基于Apriori-CBF判断l-项流为长流的流程图; 图7为本发明实施例中基于Apriori-CBF判断1-项流为长流的另 一流程图; 图8为本发明实施例中提供的一种数据流量的测量方法的流程图; 图9为本发明实施例中业务流的实时测量流程图; 图10为本发明实施例中业务流的统计计数的流程图; 图11为本发明实施例中CBF,重整化的示意图; 图12为本发明实施例中提供的一种长流的识別设备的结构示意图; 图13为本发明实施例中提供的一种数据流量的测量设备的结构示意图; 图14为本发明实施例中骨干网流量分析系统的一种结构示意图。
具体实施例方式
下面我们将结合附图,对本发明的最佳实施方案进行详细描述。 请参阅图3,为本发明实施例中提供的一种长流的识别方法的流程图;所 述方法包括
步骤301:确定业务流的项数/,每项对应一个先验计数型布鲁姆过滤器 (Apriori-CBF , Apriori國Counting Bloom Filter);
步骤302:对每一项进行哈希运算,生成每一项对应每个先-睑计数型布鲁 姆过滤器的"^合希地址;
步骤303:查找每一项对应的每个哈希地址对应的计数器;步骤304:循环每个先验计数型布鲁姆过滤器中对应的计数器; 步骤305:若所述每一项中对应每个计数器的值都大于等于预设阈值,或 者每一项中计数器的循环次数等于先验计数型布鲁姆过滤器的个数,则判定 所述业务流为/-项长流,并在所述每一项中每个计数器的值加1后,返回步骤 301。
优选的,在步骤301和步骤302之间,还可以包括初始化每项对应的 先验计数型布鲁姆过滤器的值。
优选的,若每一项的每个计数器的值中有一个计数器的值小于预设阈值, 根据预设的先验原则二,该项为非频繁项,根据预设的先验原则一,该项对 应的业务流为非/-项长流。
为了便于本领域技术人员的理解,先介绍下述名词
先验(Apriori)原理的原因在对网络流进行测量、统计后发现,流往 往呈现很强烈的重尾分布特征,即大多数流仅包含很少数目的报文,而很少 一部分流却携带着很大数目的报文。统计长流可以节省大量的存储空间,使 流量信息能够存储在静态随才几访问存储器(SRAM, Static Random Access Memory)中,提高处理网络数据的速度;同时,在网络安全的应用中,由于 剥离了无关的网络流量,使安全事件的"罪魁祸首"更加容易识别。因此,高速 网络中,识别长流是进行准确流量测量的一种重要可扩展的解决方案。为了 统计长流,本发明实施例特引进"Apriori"原理进行长流的统计。为方<更描 述,特做出如下定义
定义一标识业务流的每一维属性字^a,称作项,如源IP地址、源端口
等字段;
定义二若只用一项来标识某一业务流,且此流的大小(每流报文数来衡 量)大于预设的阈值M,那么标识该流的项称为频繁项;反之,若此流的大小 小于预i殳的阈^直M,则标识该流的项称为非频繁项。
定义三由/个项共同标识的某业务流,称为/-项流;若Z-项流的大小大 于预设的阈值M,则称此流为/-项长流(/的值越大,则描述流的信息越详细)。
由以上定义可以看出标识业务流的每一项,都有相应的一个Apriori-CBF 与之对应,即Z-项流要用/个Apriori-CBF来联合表示、查询和统计。如图4所示,标识/-项流的/维属性(AhA2,…A,;[分别对应/个Apriori-CBF,其中第 f维属性字^殳A,.,由Apriori-CBFi表示、查询和统计。
在本发明实施例中,提供两种先验原则,具体如下所述 先验原则1:如果一个流是/-项长流,则它的所有项一定是频繁的。其中, 设定先验原则1的基本思想为假定某一个业务流/用/维属性(Ai,A2,…AJ 来标识,且该流是/-项长流。并设定它的a项子集(Bc^/)来标识的业务流为 乂。因为属于流/的报文,也必定属于流/;,所以/也是/-项长流。相反,如 果一个"项子集是非频繁的(即由《项标识的某业务流,其大小小于阈值M ), 则它的所有超集/ ( 〃项集,其中/ 满足〃^a )也一定是非频繁的。特别当"=1 时,即如果l项子集(单维属性字段标识的流)是非频繁的,则它的所有超集 (大于等于1项的超集)也一定是非频繁的。
例如如果只用源IP地址"192.168.199.27,,来标识某l-项流,并且此流的 大小小于阈值M,则它的超集(大于等于1项,如用源IP地址"192.168.199.27" 和目的IP地址"192.168.199.33")共同标识的某一业务流,其大小肯定小于等 于M。
先验原则2:如果标识某个流的项是频繁项,则该项对应的Apriori-CBF 中的k个计数器也一定是频繁的(即每个计数器的值都大于M)。其中,先验 原则2的基本思想为 -暇定只用八,.来标识某/-项流/,并且/-项流/的大小大 于阈值M。根据定义二可知,A,为频繁项。频繁项A,对应Apriori-CBF,中的 A个计数器为c(l), c(2),…,c(A)。用反证法来证明,假定其中某一计数器c(i)<M, 由于业务流/的大小可表示为min(c(l), c(2),…,c(A)},则业务流/的大小必然 小于M,这与已知条件(/-项流/的大小大于阔值M)矛盾,故先验原则二是 成立的。
相反,如果&个计数器中有任意一个为非频繁的(计数器的值小于M), 则它所对应表示的项也一定是非频繁的。如图5所示,标识业务流的某项Ai 经过Hash运算后,得到对应的计数器为{2,5,...,7},假设阈值M-3,由于其 中一个计数器的值小于3,则可判定项A为非频繁的。
在理解上述名词后,请参阅图6,为本发明实施例中基于Apriori-CBF判 断/-项流为长流的流程图;本实施例是把先验原则和CBF进行有机的结合,形成一种新颖的计数型 布鲁姆过滤器结构,本实施例定义为先验计数型布鲁姆过滤器(简称 Apriori-CBF )。基于先验计数型布鲁姆过滤器判断一个/-项流为长流的流程图 如图6示。具体包括
步骤601:输入/-项流/,设标识该流的/项为{ A!,A2,...A, },每一项对应 一个Apriori-CBF,即每一项由对应的一个Apriori-CBF来表示、统计和查询;
步骤602:初始化第/个Apriori-CBF的值,即/=0,其中,1 < K /;
步骤603:查询第/个Apriori-CBF;
步骤604:循环第/个Apriori-CBF中对应的A个计算器c(;.) ( 1《_/ "); 其中,本实施例以查询A,.项对应的第/个Apriori-CBF的过程为例具体

对A,项进行Hash运算,生成(得到)A个Hash地址,即 /h(A,)力2(A,),…/M;A,);查找A:个Hash地址对应的A:个计数器,即c(l)=
Apriori-CBF [/zi(A孔c(2)= Apriori-CBF [/z2(A,)],...,顺=Apriori-CBF [&(A,)]; 步骤605:判断c(/) 是否小于预设阈值M;若否,执行步骤
606;若是,则执行步骤607;
步骤606: A:个计数器的值加l,即i+l,也就是说,若所述每一项中每个
计数器的值都大于等于预设阈值,则判定所述业务流为/-项长流,并在所述每
一项中每个计数器的值加1后,返回步骤603;
步骤607:判定第f个Apriori-CBF对应的第/项为非频繁项;
步骤608: Z维属性标识的流为非频繁的,即Z-项流f为非长流。
另外,在该实施例中,基于先验原则二,如果至少有一个计数器的值小
于预设阈值M,则对应的项A,为非频繁项;基于先验原则一,如果A,为非频
繁项,则(A!,A2,…A,…,AJ共同标识的/-项流/为非频繁的,即可判断该/-
项流/不是长流。
还请参阅图7,为本发明实施例中基于八 『^11《8 判断/-项流为长流的 另一流程图;在该实施例中,步骤701至步骤704、步骤706分别与图6中的 步骤601至步骤604、步骤606的完全相同,具体详见上述,在此不再赘述; 其不同之处为在步骤704后,执行步骤705:判断每项对应的计数器的循环次数等于先 验计数型布鲁姆过滤器的个数,比如,当/=1, /=2,……直到/=/,若是,则执 行步骤707;否则执行步骤706;
步骤707:标识流/所有的项都是频繁项,即如果(A,,A2,…,A,.,…,AJ所有 的项都是频繁项;
步骤708:基于先验原则一,可判断该/-项流/为长流。也就是说,/维 属性标识的流为频繁的,即/-项流/为长流。其中,对于先验原则一详见上述, 在此不再赘述;
由图6和图7的描述可知,对于判断c(/) ( 1 《yt)是否小于预设阈值M 与判断每项对应的计数器的循环次数是否等于先验计数型布鲁姆过滤器的个 数,本发明实施例是择一的,也就是"i兌,只要有一个成立,都可以判断该/-项流f是否为长流,只不过,如果上述的两个条件分别不成立时,需要A个计 数器的值加1,进行循环。
还请参阅图8,为本发明实施例中提供的一种数据流量的测量方的流程 图;所述方法包括
步骤801:确定业务流的项数/,每项对应一个先验计数型布鲁姆过滤器, 初始化每个先验计数型布鲁姆过滤器及每个先验计数型布鲁姆过滤器中的计 算器的值;
步骤802:统计测量周期中的每个时间窗的业务流; 步骤803:在流过所述任一时间窗的业务流结束时,重整化该项对应的每 个先验计数型布鲁姆过滤器;
步骤804:在所述测量周期结束时,输出统计的业务流。 所述方法还可以包括
在所述测量周期没有结束时,对该项流过下一时间窗的业务流继续统计, 直至测量周期结束,输出统计的业务流。
还请参阅图9,为本发明实施例中业务流的实时测量流程图;本实施例汇 总,业务流的实时测量过程主要包括在单个时间窗口,业务流的统计计数 (在第一步已经详细阐述);时间窗结束时,重整化每个Apriori-CBF;测量 周期结束时,强制输出测量结果。具体包括步骤901:确定业务流的项数/,以及每项对应的Apriori-CBF,并初始化 每个Apriori-CBF,以及每项对应的A个Hash函数;
步骤902:对第A:个时间窗进行业务流的统计计^t;
步骤903:判断测量周期中的时间窗是否结束,若是,执行步骤904;否 则返回步骤902;
步骤904:重整化每个Apriori-CBF;
步骤905:判断测量周期是否结束,若是,执行步骤907;否则,执行步 骤906;
步骤906:对测量周期中下一时间窗进行统计,即&+1,之后,返回步骤
902;
步骤卯7:输出测量结果。
该测量过程有两个优势 一方面,由于统计业务流过程只需要一次Hash 映射计数以及Hash函数的并行操作性,使得流量测量的计算复杂度大大降低; 另一方面,使用Apriori-CBF能把流信息维护从96比特的五元组映射到很短 的哈希串所代表的空间,极大地减少了由于维护五元组信息而带来的资源开 销,为业务流的实时统计提供了条件。
其中,统计该项流过测量周期的每个时间窗的业务流的实现过程如图10 所示,具体包括
步骤1011:提取业务流的第f维属性,即第/项;
步骤1012:对该项进行哈希运算,生成该项对应每个先验计数型布鲁姆 过滤器的哈希地址;
步骤1013:查找该项对应的每个p合希地址对应的计数器;
步骤1014:对所述对应的计数器的值加1,直至每项对应的计数器的循 环次数等于先验计数型布鲁姆过滤器的个数。
若所述该项中每个计数器的值都小于预设阈值,判断先验计数型布鲁姆 过滤器的个数是否等于计数器的个数,若是,则判定所述业务流为/-项长流; 否则,则判定所述业务流为非/-项长流;令先验计数型布鲁姆过滤器的哈希地 址加1,直到每项对应的计数器的循环次数等于先验计数型布鲁姆过滤器的个 数为止。也就是说,应用Apriori-CBF进行流量测量,其具体的统计过程如下 初始化各个参数。确定流/的维数/ (例如如果用源IP地址和目的IP 地址来共同标识一个流,则/ = 2;如果用五元组标识一个流,则/=5);初始 化/个CBF,令每个CBF中的计数器的值为0;确定A:个Hash函数。
对{八1厶2,...,八;,...,^}中的第/维属性字段A,进行统计测量,其具体的过 程如下提取A,.属性字段;对A,进行Hash运算,得到得到A:个Hash地址 /21(A,),/72(A,),.../z"A,);找到对应的A个c(l)= Apriori-CBF [/z!(A,)], c(2)= Apriori-CBF [/z2(A0]".',顺=Apriori-CBF [似A!)];令= + l,.." c(A)= ,+ 1。
Step3:令/ = /+1,重复对{ Ai,A2,…,A,,…,A, }中的第/维属性字段A,进 行统计测量,直到/ = /。
其中,所述重整化该项对应的每个先验计数型布鲁姆过滤器的实现过程 如图11所示,在该图中,对Apriori-CBF中小于预设阈值的M为4的值进行 初始化,其初始化的值具体图ll底色为斜线所示。
对于Apriori-CBF的重整化,流量测量设备一般每隔固定的时间间隔输出 流量测量结果,并把该测量间隔分成更小的时间窗。为方^f更描述,特^L如下 定义
定义四流量测量设备每隔一定的时间间隔输出流量结果,称此时间间 隔为测量周期T。
定义五测量周期分成的等长时间间隔^殳其为Th),称为时间窗(TW, time window)。
为了压缩流量信息的存储空间,需要重整化Apriori-CBF。下面针对标识 某/-项流的其中一项A,.(某属性字段)来说明,设表示和查询A,.的计数型布 鲁姆过滤器为Apriori-CBF,。在任意时间窗TW;结束时,对Apriori-CBF,进行 重整化,其具体过程如图11所示设阈值M=4,则对于所有c(Q<M (卜l,2,3,…,m)的计数器c(",令c("仨0。
由于业务流的大小可表示为min{c(l), c(2),..., c(A)},所以重整后为0的计 数器对应项的统计值也变成了 0,则这些项标识的流的大小也等于0 (即流量 大小小于M的流被剔除,只有大于M的流被保存下来)。相应的,本发明实施例还提供一种长流的识别设备,其结构示意图详见
图12;所述设备包括确定单元121、生成单元122、查找单元123、循环单 元124和第一识别单元125。其中,所述确定单元121,用于确定业务流的项 数/,每项对应一个先验计数型布鲁姆过滤器;所述生成单元122,用于对每 一项进行哈希运算,生成每一项对应每个先验计数型布鲁姆过滤器的哈希地 址;所述查找单元123,用于查找每一项对应的每个p合希地址对应的计数器; 所述循环单元124,用于循环每个先验计数型布鲁姆过滤器中对应的计数器; 所述第一识别单元125,用于在判断所述每一项中每个计数器的值都大于等于 预设阈值时,或者计数器的循环次数等于先验计数型布鲁姆过滤器的个数时, 判定所述业务流为/-项长流,并在所述每个计数器的值加1后,通知确定单元 121。
优选的,所述设备还包括第一判断单元和/或第二判断单元,其中, 所述第一判断单元,用于判断每一项中每个计数器的值是否都大于等于 预设阈值,并将大于等于预设阈值的判断结果通知第一识别单元;所述第二 判断单元,判断计数器的循环次数是否等于先验计数型布鲁姆过滤器的个数
并将等于的判断结果通知第 一识别单元。
优选的,还包括第三判断单元,用于判断每一项的每个计数器的值中 是否有一个计数器的值小于预设阈值,若是,根据预设的先验原则二,该项 为非频繁项,根据预设的先验原则一,该项对应的业务流为非/-项长流。
其中,所述第一判断单元根据预设的先验原则一进行判断;所述第二判 断单元依次根据预设的先验原则二、预设的先验原则一进行判断,其中,所 述预设的先验原则一具体包括如果一个业务流为l-项长流,则所述1-项长流 的所有项一定是频繁项;所述预设的先验原则二具体包括如果标识某个业 务流的项是频繁项,则该项对应的先验计数型布鲁姆过滤器中的每个计数器 的值都大于预设阈值。对于先验原则一和先验原则二,详见上述,在此不再 赘述。
所述设备还包括初始化单元,用于在生成单元生成对应每个先验计数 型布鲁姆过滤器的哈希地址前,初始化每项对应的先验计数型布鲁姆过滤器 的值。
19所述设备中各个单元的功能和作用的实现过程详见上述方法中对应的实 现过程,在此不再赘述。
相应的,本发明实施例还提供一种数据流量的测量设备,其结构示意图
详见图13,所述设备包括确定单元131、统计单元132、重整化单元133和 流量输出单元134,其中,所述确定单元131,用于确定业务流的项数/,每 项对应 一个先验计数型布鲁姆过滤器,初始化每个先验计数型布鲁姆过滤器 及每个先验计数型布鲁姆过滤器中的计算器的值;所述132统计单元,用于 统计该项流过测量周期的每个时间窗的业务流;所述重整化单元133,用于在 流过所述任一时间窗的业务流结束时,重整化该项对应的每个先-验计数型布 鲁姆过滤器;所述流量输出单元134,用于在所述测量周期结束时,输出统计 的业务流。
所述设备还包括判断单元和处理单元,其中,所述判断单元,用于所 述测量周期是否结束,若是,则通知流量输出单元输出统计的业务流;否贝'h 通知统计单元;所述统计单元,还用于在接收到判断单元的通知后,对该项 流过下一时间窗的业务流继续统计,直至测量周期结束,通知流量输出单元 输出统计的业务流。
所述设备中各个单元的功能和作用的实现过程详见上述方法中对应的实 现过程,在此不再赘述。
此外,本发明实施例中还提供骨干网流量分析系统的一种结构示意图., 具体如图14所示。骨干网流量分析系统的结构一般包含前端处理141和后端 处理142两个部分,前端处理的功能较为简单,主要进行数据的预处理,其 目的是对原始流量进行约减,以降低后端处理的开销;后端处理的功能相对 复杂,其目的是从约减后的网络流量数据中获取有用信息。前端处理的结果 需要支持多种后端应用,因此前端处理具有通用性;后端处理往往针对某一 种具体的应用而设计,因而后端处理具有专用性。通常,前端处理采用硬件 实现而后端处理采用软件实现,本发明实施例中的长流的识别方案主要应用 于前端处理。
显然,若前端处理的数据约减的幅度太大,则数据中的可用信息损失越 严重;若前端处理的数据约减幅度太小,则会增大后端处理的处理开销和实现难度。可见,前端处理的数据约减的方法和性能对于骨干网流量分析系统 的性能有着非常重要的影响。
也就是说,当一个无限的数据流序列快速流入时,要求在仅对数据集进 行一遍扫描的情况下,利用有限的存储空间快速完成计算,以实时响应用户 请求。因此,该流量测量模型的关键在于设计一个远小于数据集规模的结构,
从而可以在高速緩存(比如SRAM)中处理数据。先验计数型布鲁姆过滤器 其实本质上是一种概要数据结构,它存储了数据流的统计特征,是对数据流 的一种压缩总结,借助于它就不需要对数据流进行多遍扫描即可获得误差可 控的近似结果。而且据此设计的处理算法同样可适用于海量静态数据的情况, 当数据可在再次存取和扫描时,某些算法可获得更加准确的处理结果。应用 Apriori-CBF进行流量测量,具体的流量测量过程主要分成详见上述,在此不 再赘述。
由此可见,本发明实施例将实时流量分析的硬件配置和硬件管理有效地 结合起来,并采用可扩展性的先验计数型布鲁姆过滤器,确保高速网路流量 实时测量的需求。针对高速骨干链路流量测量面临可扩展性的挑战,本方案 扩展了能够表示集合、支持集合查询的计数布鲁姆过滤器,构造了一种能够 支持表示、查询和统计业务流的先验计数型布鲁姆过滤器的数据结构。该数 据结构将先验原则和计数型布鲁姆过滤器进行有机结合,能够存储数据流的 统计特征,借助于它就只需要对数据流进行一遍扫描即可获得误差可控的近 似结果。应用先验计数型布鲁姆过滤器进行骨干网实时流量测量, 一方面, 可以实时统计到大于某一阈值的业务流;另一方面,压缩了流量信息存储的 空间,并且部署灵活,实现代价低,对于高速骨干网的流量分析而言具有较 高的实用价值。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发 明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件, 但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案 本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来, 该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等, 包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普 通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润 饰,这些改进和润饰也应视为本发明的保护范围。
权利要求
1、一种长流的识别方法,其特征在于,包括确定业务流的项数l,每项对应一个先验计数型布鲁姆过滤器;对每一项进行哈希运算,生成每一项对应每个先验计数型布鲁姆过滤器的哈希地址;查找每一项对应的每个哈希地址对应的计数器;循环每个先验计数型布鲁姆过滤器中对应的计数器;若所述每一项中每个计数器的值都大于等于预设阈值则判定所述业务流,或者若计数器的循环次数等于先验计数型布鲁姆过滤器的个数,则判断所述业务流为l-项长流,并在所述每一项对应的每个计数器的值加1后,返回所述确定业务流的项数l的步骤。
2、 根据权利要求1所述的方法,其特征在于,所述方法还包括若每一项的每个计数器的值中有一个计数器的值小于预设阈值,根据预设的先验原则二,该项为非频繁项,根据预设的先验原则一,该项对应的业务流为非/-项长流。
3、 根据权利要求2所述的方法,其特征在于所述预设的先验原则一具体包括如果一个业务流为/-项长流,则所述/-项长流的所有项 一定是频繁项;所述预设的先验原则二具体包括如果标识某个业务流的项是频繁项,则该项对应的先验计数型布鲁姆过滤器中的每个计数器的值都大于预设阈值。
4、 根据权利要求1至3任一项所述的方法,其特征在于,在对每项进行哈希运算前,初始化每项对应的先验计数型布鲁姆过滤器的值。
5、 一种长流的识别"i殳备,其特征在于,包括确定单元,用于确定业务流的项数/,每项对应一个先验计数型布鲁姆过生成单元,用于对每一项进行哈希运算,生成每一项对应每个先-睑计数型布鲁姆过滤器的哈希地址;查找单元,用于查找每一项对应的每个^^合希地址对应的计数器;循环单元,用于循环每个先验计数型布鲁姆过滤器中对应的计数器;第一识别单元,用于在判断所述每一项中每个计数器的值都大于等于预设阈值,或者若计数器的循环次数等于先验计数型布鲁姆过滤器的个数时,判定所述业务流为/-项长流,并在所述每个计#:器的值加1后,通知确定单元。
6、 根据权利要求5所述的设备,其特征在于,还包括第一判断单元和/或第二判断单元,其中,所述第一判断单元,用于判断每一项中每个计数器的值是否都大于等于预设阈值,并将大于等于预设阈值的判断结果通知第一识别单元;所述第二判断单元,用于判断计数器的循环次数是否等于先验计数型布鲁姆过滤器的个数,并将等于的判断结果通知第 一识别单元。
7、 根据权利要求6所述的设备,其特征在于,所述第一判断单元根据预设的先验原则一进行判断;所述第二判断单元依次根据预设的先验原则二、预设的先验原则一进行判断,其中,所述预设的先验原则一具体包括如果一个业务流为/-项长流,则所述/-项长流的所有项一定是频繁项;所述预设的先验原则二具体包括如果标识某个业务流的项是频繁项,则该项对应的先验计数型布鲁姆过滤器中的每个计数器的值都大于预设阈值。
8、 根据权利要求7所述的设备,其特征在于,还包括第三判断单元,用于判断每一项的每个计数器的值中是否有任一个计数器的值小于预设阈值,若是,根据预设的先验原则二,该项为非频繁项,根据预设的先验原则一,该项对应的业务流为非/-项长流。
9、 根据权利要求6至8任一项所述的设备,其特征在于,还包括初始化单元,用于在生成单元生成对应每个先验计数型布鲁姆过滤器的哈希地址前,初始化每项对应的先验计数型布鲁姆过滤器的值。
10、 一种数据流量的测量方法,其特征在于,包括确定业务流的项数/,每项对应一个先验计数型布鲁姆过滤器,初始化每个先验计数型布鲁姆过滤器及每个先验计数型布鲁姆过滤器中的计算器的值;统计测量周期中的每个时间窗的业务流;在流过所述任一时间窗的业务流结束时,重整化该项对应的每个先^^计数型布鲁姆过滤器;在所述测量周期结束时,输出统计的业务流。
11、 根据权利要求IO所述的方法,其特征在于,还包括在所述测量周期没有结束时,对该项流过下一时间窗的业务流继续统计,直至测量周期结束,输出统计的业务流。
12、 根据权利要求11所述的方法,其特征在于,所述统计测量周期中的每个时间窗的业务流具体包括对该项进行哈希运算,生成该项对应每个先验计数型布鲁姆过滤器的哈希地址;查找该项对应的每个先验计数型布鲁姆过滤器的哈希地址对应的计数器;对所述对应的计数器的值加1,直至每项对应的计数器的循环次数等于先验计数型布鲁姆过滤器的个数。
13、 根据权利要求12所述的方法,其特征在于,所述重整化每项对应的每个先验计数型布鲁姆过滤器具体包括将每个先验计数型布鲁姆过滤器中的所有小于预设阈值的计数器的值初始化为0。
14、 一种数据流量的测量i殳备,其特征在于,包括确定单元,用于确定业务流的项数/,每项对应一个先验计数型布鲁姆过滤器,初始化每个先验计数型布鲁姆过滤器及每个先验计数型布鲁姆过滤器中的计算器的值;统计单元,用于统计测量周期中的每个时间窗的业务流;重整化单元,用于在流过所述任一时间窗的业务流结束时,重整化该项对应的每个先验计数型布鲁姆过滤器;流量输出单元,用于在所述测量周期结束时,输出统计的业务流。
15、 根据权利要求14所述的设备,其特征在于,还包括判断单元和处理单元,所述判断单元,用于所述测量周期是否结束,若是,则通知流量输出单元输出统计的业务流;否则,通知统计单元;所述统计单元,还用于在接收到判断单元的通知后,对该项流过下一时间窗的业务流继续统计,直至测量周期结束,通知流量输出单元输出统计的业务流。
全文摘要
本发明实施例涉及一种长流的识别方法、数据流量的测量方法及其设备,所述长流的识别方法包括确定业务流的项数l,每项对应一个先验计数型布鲁姆过滤器;对每一项进行哈希运算,生成每一项对应每个先验计数型布鲁姆过滤器的哈希地址;查找每一项对应的每个哈希地址对应的计数器;循环每个先验计数型布鲁姆过滤器中对应的计数器;若所述每一项中每个计数器的值都大于等于预设阈值,或者每项对应的计数器的循环次数等于先验计数型布鲁姆过滤器的个数,则判定所述业务流为l-项长流,并在所述每一项中每个计数器的值加1后,返回所述确定业务流的项数l的步骤。本发明实施例以实现对高速网络中实时在线的长流进行识别和统计,适应高速网络中的流量测量需求。
文档编号H04L12/26GK101459560SQ20091000074
公开日2009年6月17日 申请日期2009年1月9日 优先权日2009年1月9日
发明者鹏 伊, 刘勤让, 震 张, 涓 申 申请人:中国人民解放军信息工程大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1