一种基于多节点流量数据去重的大流量ip分析系统及方法

文档序号:7775160阅读:390来源:国知局
一种基于多节点流量数据去重的大流量ip分析系统及方法
【专利摘要】本发明公开了一种基于多节点流量数据去重的大流量独立IP分析系统,该系统包括:流量采集模块,用于采集流量数据;过滤模块,用于过滤流量数据;流量聚合模块,用于对经过滤的流量数据进行聚合;流量排序模块,用于对流量聚合结果进行排序;流量下钻模块,用于对大流量的多个IP地址进行下钻分析,找到大流量产生的原因。本发明还公开一种基于多节点流量数据去重的大流量独立IP分析方法。本发明使得对于具体流量的知晓变得有针对性、有目的性、非盲目地从大量数据中查询,较之传统的流量采集数据对管理员的高操控性要求,能够更为简便有效地提供高度定制的数据,更加直观实用。
【专利说明】一种基于多节点流量数据去重的大流量IP分析系统及方法
【技术领域】
[0001]本发明属于大流量及大数据分析【技术领域】,尤其是一种基于多节点流量数据去重的大流量IP分析系统及方法。
【背景技术】
[0002]为了及时对网络进行管理,必须随时掌握链路上的流量信息,然后才能进行针对性的优化、部署和调度各种资源。同时,在采集到流量数据后,需要首先对流量数据进行分析整理,提取有价值的摘要信息报告给网络管理员,但是直接采集到的原始流量数据是不可用的,这是因为虽然详细的报文级信息能无损的反映网络状况,但由于数据量巨大,这对管理员来说是完全不可用的。
[0003]从实际应用的角度出发,流量报告应需要提供尽可能详细、可用的信息,使管理员只通过少量的摘要信息就能够掌握全局概况;另一方面,由于高速链路流量巨大,采集到的原始流量需要按照一些标准进行聚合,提取其中的“主要”流量模式,这些“主要”流量模式的流量超过总流量一定百分比的流量。
[0004]流量聚合就可以用于解决上述数据量过大过细的问题,流量聚合泛指将多个较低速率的业务流合并在一个高带宽的信道中进行传送,也可以称为流量汇聚、流量疏导或业务量疏导。流量聚合的目的是提取链路上的主要流量模式,防止带宽浪费。由于网络流量具有多维属性,为了全面了解流量构成和主要流量模式,需要对原始流量进行一维和多维的聚合,并将聚合后超过总流量百分比的流量模式提取出来作为对网络流量构成的总体概括,然后再对某类地址所产生的聚合流量进行具体的基于IP地址的流量分析,即一维分析,其中,一维聚合是指在一个维度上对流量进行聚合,是流量聚合的一种最简单的情况,也是多维流量聚合算法的基础。

【发明内容】

[0005]为了解决上述技术问题,本发明提出了一种基于多节点流量数据去重的大流量IP分析系统及方法,本发明在获得总流量后按照IP地址进行去重,聚合出其产生的总量,并进行排序;针对排序后的结果进行主动正向分析,使对具体流量的知晓变得有针对性、有目的性、而非盲目地从大量数据中查询。
[0006]根据本发明的一方面,提出一种基于多节点流量数据去重的大流量独立IP分析系统,该系统包括:流量采集模块、过滤模块、流量聚合模块、流量排序模块和流量下钻模块,其中:
[0007]所述流量采集模块与所述过滤模块连接,用于采集流量数据,并将采集得到的流量数据发送给所述过滤模块;
[0008]所述过滤模块与所述流量采集模块和所述流量聚合模块连接,用于过滤从所述流量采集模块接收到的流量数据中不符合规定的数据;[0009]所述流量聚合模块与所述过滤模块和所述流量排序模块连接,用于根据IP地址对经过过滤的流量数据进行聚合;
[0010]所述流量排序模块与所述流量聚合模块连接,用于对所述流量聚合模块产生的流量聚合结果进行排序,得到具有大流量的前K个IP地址;
[0011]所述流量下钻模块与所述流量排序模块连接,用于对大流量的多个IP地址进行下钻分析,找到大流量产生的原因。
[0012]根据本发明的另一方面,还提出一种基于多节点流量数据去重的大流量独立IP分析方法,该方法包括以下步骤:
[0013]步骤SI,采集流量数据;
[0014]步骤S2,过滤所述流量数据中不符合规定的数据;
[0015]步骤S3,根据IP地址对经过过滤的流量数据进行聚合;
[0016]步骤S4,对所述步骤S3得到的流量聚合结果进行排序,得到具有大流量的前K个IP地址;
[0017]步骤S5,对大流量的多个IP地址进行下钻分析,找到大流量产生的原因。
[0018]采用上述方案,通过添加黑名单过滤机制,使得对大流量的聚合及后期流量分析的效率大大提高。其中,流量排序模块能使得对所采集的流量有一个快速的宏观了解,对于前K名的IP产生的流量继续提供下钻功能,反查IP的具体流量产生信息,提供流量监控功能,同时为黑名单列表提供依据。较之传统的流量采集数据对管理员的高操控性要求,本发明能够更为简便有效地提供高度定制的数据,更加直观实用。
【专利附图】

【附图说明】
[0019]图1是本发明基于多节点流量数据去重的大流量独立IP分析系统的结构示意图;
[0020]图2是添加“目的IP唯一数”限制的示意图;
[0021]图3是本发明基于多节点流量数据去重的大流量独立IP分析方法的流程图;
[0022]图4是IP地址排序算法示意图;
[0023]图5是IP地址下钻分析示意图。
【具体实施方式】
[0024]为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。
[0025]根据本发明的一方面,提供一种基于多节点流量数据去重的大流量独立IP分析系统,如图1所示,所述系统包括:流量采集模块、过滤模块、流量聚合模块FlowMerge、流量排序模块FlowTopK和流量下钻模块FlowLookup,其中:
[0026]所述流量采集模块与所述过滤模块连接,用于采集流量数据,并将采集得到的流量数据发送给所述过滤模块;
[0027]所述流量数据的采集包括针对固定IP地址段进行采集,对IP地址对进行采集,和/或对两个节点之间某个时间段内产生的所有流量数据进行采集。
[0028]所述过滤模块与所述流量采集模块和所述流量聚合模块连接,用于过滤从所述流量采集模块接收到的流量数据中不符合规定的数据,比如可过滤掉与黑名单中的IP地址相关的流量数据;
[0029]在本发明一实施例中,所述过滤模块采用线段树(Segment Tree)的黑名单过滤机制,所述线段树(Segment Tree)是一种二叉搜索树,它将一个区间划分成一些单元区间,每个单元区间对应线段树中的一个叶节点,叶节点数目为N,即整个线段区间的长度。对于线段树中的每一个非叶节点[a,b],它的左子树表示的区间为[a,(a+b)/2],右子树表示的区间为[(a+b) /2+1,b],因此,线段树是平衡二叉树。
[0030]所述流量聚合模块FlowMerge与所述过滤模块和所述流量排序模块连接,用于根据IP地址对经过过滤的流量数据进行聚合,具体地,所述流量聚合模块首先根据IP地址对经过过滤的流量数据进行去重,然后聚合每个IP地址所产生的流量,最后根据IP地址对流量数据进行一维聚合;
[0031]所述流量聚合模块是针对单向IP地址的流量进行聚合,而非对于IP地址对,这样可避免非对称路由可能会导致的问题,但为了能够了解另一方向的IP地址信息,可通过添力口“目的IP唯一数”的限制来实现,如图2所示。比如可添加目的IP地址唯一数的计数器,即表示访问这个目的IP地址的流量中,包含有多少个不同的源IP地址,这样管理员在对结果文件进行查看的时候就可以一目了然,了解情况后就可以从排序结果文件中选择相应的IP流量,进行进一步的下钻分析。
[0032]所述流量排序模块FlowTopK与所述流量聚合模块连接,用于对所述流量聚合模块产生的流量聚合结果进行排序,得到具有大流量的前K个IP地址;
[0033]所述流量下钻模块FlowLookup与所述流量排序模块连接,用于对大流量的多个IP地址进行下钻分析,找到大流量产生的原因,其中,所述下钻分析是指从原始流量数据中搜索未经聚合的IP地址所产生的具体流量的明细。
[0034]根据本发明的另一方面,还提供一种基于多节点流量数据去重的大流量独立IP分析方法,如图2所示,所述方法包括以下步骤:
[0035]步骤SI,采集流量数据;
[0036]步骤S2,过滤所述流量数据中不符合规定的数据,比如可过滤掉与黑名单中的IP地址相关的流量数据;
[0037]在本发明一实施例中,所述步骤S2采用线段树(Segment Tree)的黑名单过滤机制对所述流量数据进行过滤。
[0038]步骤S3,根据IP地址对经过过滤的流量数据进行聚合;
[0039]所述步骤S3进一步包括以下步骤:
[0040]步骤S31,根据IP地址对经过过滤的流量数据进行去重;
[0041]步骤S32,聚合每个IP地址所产生的流量;
[0042]步骤S33,根据IP地址对流量数据进行一维聚合。
[0043]在本发明一实施例中,所述步骤S33采用如下算法进行一维流量聚合:首先定义IP地址的前缀长度每层增加lbit,然后用二叉树来维护IP前缀之间的层次关系,其中,IP地址前缀的变化范围比如可以从Sbit到32bit。上述聚合算法的空间开销主要来自于维护层次树的节点,时间开销来自两个部分:节点的创建、IP唯一数计数器的更新以及叶子节点处流量汇总计数器的更新。[0044]步骤S4,对所述步骤S3得到的流量聚合结果进行排序,得到具有大流量的前K个IP地址;
[0045]所述步骤S4中,由于本发明求解的是具有大流量的前K个IP地址,所以已经按流量排好序的IP地址集合,即有序数据集的增长范围可控,而且每次读取一行流量数据与有序数据集进行比较,这样最多只需要对有序数据集进行一次遍历,而不需要完整地运行算法。这个特性使得插入排序在增量排序中非常高效,整型数插入排序的示例如图4所示。
[0046]步骤S5,对大流量的多个IP地址进行下钻分析,找到大流量产生的原因,其中,所述下钻分析是指从原始流量数据中搜索未经聚合的IP地址所产生的具体流量的明细。
[0047]所述步骤S5中,采用HASH算法对大流量的多个IP地址进行下钻分析,即首先将原始采集到的流量数据散列到一定大小的散列表中,处理时以IP地址为序进行散列,但每个相同的IP地址并不仅仅散列到表中相同的条目中,而是依次排序保留,如图5所示,这样虽然会降低查找的效率,但可以灵活找到一系列相同IP地址的流量,并且可以保证他们是有序的。要保留的相同的IP地址的数量可根据实际应用来确定,当然,保留的IP地址的数目越少,查找的效率就越高。
[0048]步骤S6,将大流量产生的原因进行格式化处理,形成规定的格式后返回给用户。
[0049]以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种基于多节点流量数据去重的大流量独立IP分析系统,其特征在于,该系统包括:流量采集模块、过滤模块、流量聚合模块、流量排序模块和流量下钻模块,其中: 所述流量采集模块与所述过滤模块连接,用于采集流量数据,并将采集得到的流量数据发送给所述过滤模块; 所述过滤模块与所述流量采集模块和所述流量聚合模块连接,用于过滤从所述流量采集模块接收到的流量数据中不符合规定的数据; 所述流量聚合模块与所述过滤模块和所述流量排序模块连接,用于根据IP地址对经过过滤的流量数据进行聚合; 所述流量排序模块与所述流量聚合模块连接,用于对所述流量聚合模块产生的流量聚合结果进行排序,得到具有大流量的前K个IP地址; 所述流量下钻模块与所述流量排序模块连接,用于对大流量的多个IP地址进行下钻分析,找到大流量产生的原因。
2.根据权利要求1所述的系统,其特征在于,所述流量数据的采集包括针对固定IP地址段进行采集,对IP地址对进行采集,和/或对两个节点之间某个时间段内产生的所有流量数据进行采集。
3.根据权利要求1所述的系统,其特征在于,所述过滤模块采用线段树的黑名单过滤机制对流量数据进行过滤。
4.根据权利要求1所述的系统,其特征在于,所述流量聚合模块首先根据IP地址对经过过滤的流量数据进行去重,然后聚合每个IP地址所产生的流量,最后根据IP地址对流量数据进行一维聚合。
5.一种基于多节点流量数据去重的大流量独立IP分析方法,其特征在于,该方法包括以下步骤: 步骤SI,采集流量数据; 步骤S2,过滤所述流量数据中不符合规定的数据; 步骤S3,根据IP地址对经过过滤的流量数据进行聚合; 步骤S4,对所述步骤S3得到的流量聚合结果进行排序,得到具有大流量的前K个IP地址; 步骤S5,对大流量的多个IP地址进行下钻分析,找到大流量产生的原因。
6.根据权利要求5所述的方法,其特征在于,所述步骤S2采用线段树的黑名单过滤机制对所述流量数据进行过滤。
7.根据权利要求5所述的方法,其特征在于,所述步骤S3进一步包括以下步骤: 步骤S31,根据IP地址对经过过滤的流量数据进行去重; 步骤S32,聚合每个IP地址所产生的流量; 步骤S33,根据IP地址对流量数据进行一维聚合。
8.根据权利要求5所述的方法,其特征在于,所述方法还包括步骤S6,将大流量产生的原因进行格式化处理,形成规定的格式后返回给用户。
【文档编号】H04L12/26GK103580955SQ201310529744
【公开日】2014年2月12日 申请日期:2013年10月31日 优先权日:2013年10月31日
【发明者】郝健, 邓斌, 黄友俊, 李星, 吴建平 申请人:赛尔网络有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1