一種基于多節(jié)點(diǎn)流量數(shù)據(jù)去重的大流量ip分析系統(tǒng)及方法
【專利摘要】本發(fā)明公開了一種基于多節(jié)點(diǎn)流量數(shù)據(jù)去重的大流量獨(dú)立IP分析系統(tǒng),該系統(tǒng)包括:流量采集模塊,用于采集流量數(shù)據(jù);過濾模塊,用于過濾流量數(shù)據(jù);流量聚合模塊,用于對經(jīng)過濾的流量數(shù)據(jù)進(jìn)行聚合;流量排序模塊,用于對流量聚合結(jié)果進(jìn)行排序;流量下鉆模塊,用于對大流量的多個IP地址進(jìn)行下鉆分析,找到大流量產(chǎn)生的原因。本發(fā)明還公開一種基于多節(jié)點(diǎn)流量數(shù)據(jù)去重的大流量獨(dú)立IP分析方法。本發(fā)明使得對于具體流量的知曉變得有針對性、有目的性、非盲目地從大量數(shù)據(jù)中查詢,較之傳統(tǒng)的流量采集數(shù)據(jù)對管理員的高操控性要求,能夠更為簡便有效地提供高度定制的數(shù)據(jù),更加直觀實用。
【專利說明】一種基于多節(jié)點(diǎn)流量數(shù)據(jù)去重的大流量IP分析系統(tǒng)及方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于大流量及大數(shù)據(jù)分析【技術(shù)領(lǐng)域】,尤其是一種基于多節(jié)點(diǎn)流量數(shù)據(jù)去重的大流量IP分析系統(tǒng)及方法。
【背景技術(shù)】
[0002]為了及時對網(wǎng)絡(luò)進(jìn)行管理,必須隨時掌握鏈路上的流量信息,然后才能進(jìn)行針對性的優(yōu)化、部署和調(diào)度各種資源。同時,在采集到流量數(shù)據(jù)后,需要首先對流量數(shù)據(jù)進(jìn)行分析整理,提取有價值的摘要信息報告給網(wǎng)絡(luò)管理員,但是直接采集到的原始流量數(shù)據(jù)是不可用的,這是因為雖然詳細(xì)的報文級信息能無損的反映網(wǎng)絡(luò)狀況,但由于數(shù)據(jù)量巨大,這對管理員來說是完全不可用的。
[0003]從實際應(yīng)用的角度出發(fā),流量報告應(yīng)需要提供盡可能詳細(xì)、可用的信息,使管理員只通過少量的摘要信息就能夠掌握全局概況;另一方面,由于高速鏈路流量巨大,采集到的原始流量需要按照一些標(biāo)準(zhǔn)進(jìn)行聚合,提取其中的“主要”流量模式,這些“主要”流量模式的流量超過總流量一定百分比的流量。
[0004]流量聚合就可以用于解決上述數(shù)據(jù)量過大過細(xì)的問題,流量聚合泛指將多個較低速率的業(yè)務(wù)流合并在一個高帶寬的信道中進(jìn)行傳送,也可以稱為流量匯聚、流量疏導(dǎo)或業(yè)務(wù)量疏導(dǎo)。流量聚合的目的是提取鏈路上的主要流量模式,防止帶寬浪費(fèi)。由于網(wǎng)絡(luò)流量具有多維屬性,為了全面了解流量構(gòu)成和主要流量模式,需要對原始流量進(jìn)行一維和多維的聚合,并將聚合后超過總流量百分比的流量模式提取出來作為對網(wǎng)絡(luò)流量構(gòu)成的總體概括,然后再對某類地址所產(chǎn)生的聚合流量進(jìn)行具體的基于IP地址的流量分析,即一維分析,其中,一維聚合是指在一個維度上對流量進(jìn)行聚合,是流量聚合的一種最簡單的情況,也是多維流量聚合算法的基礎(chǔ)。
【發(fā)明內(nèi)容】
[0005]為了解決上述技術(shù)問題,本發(fā)明提出了一種基于多節(jié)點(diǎn)流量數(shù)據(jù)去重的大流量IP分析系統(tǒng)及方法,本發(fā)明在獲得總流量后按照IP地址進(jìn)行去重,聚合出其產(chǎn)生的總量,并進(jìn)行排序;針對排序后的結(jié)果進(jìn)行主動正向分析,使對具體流量的知曉變得有針對性、有目的性、而非盲目地從大量數(shù)據(jù)中查詢。
[0006]根據(jù)本發(fā)明的一方面,提出一種基于多節(jié)點(diǎn)流量數(shù)據(jù)去重的大流量獨(dú)立IP分析系統(tǒng),該系統(tǒng)包括:流量采集模塊、過濾模塊、流量聚合模塊、流量排序模塊和流量下鉆模塊,其中:
[0007]所述流量采集模塊與所述過濾模塊連接,用于采集流量數(shù)據(jù),并將采集得到的流量數(shù)據(jù)發(fā)送給所述過濾模塊;
[0008]所述過濾模塊與所述流量采集模塊和所述流量聚合模塊連接,用于過濾從所述流量采集模塊接收到的流量數(shù)據(jù)中不符合規(guī)定的數(shù)據(jù);[0009]所述流量聚合模塊與所述過濾模塊和所述流量排序模塊連接,用于根據(jù)IP地址對經(jīng)過過濾的流量數(shù)據(jù)進(jìn)行聚合;
[0010]所述流量排序模塊與所述流量聚合模塊連接,用于對所述流量聚合模塊產(chǎn)生的流量聚合結(jié)果進(jìn)行排序,得到具有大流量的前K個IP地址;
[0011]所述流量下鉆模塊與所述流量排序模塊連接,用于對大流量的多個IP地址進(jìn)行下鉆分析,找到大流量產(chǎn)生的原因。
[0012]根據(jù)本發(fā)明的另一方面,還提出一種基于多節(jié)點(diǎn)流量數(shù)據(jù)去重的大流量獨(dú)立IP分析方法,該方法包括以下步驟:
[0013]步驟SI,采集流量數(shù)據(jù);
[0014]步驟S2,過濾所述流量數(shù)據(jù)中不符合規(guī)定的數(shù)據(jù);
[0015]步驟S3,根據(jù)IP地址對經(jīng)過過濾的流量數(shù)據(jù)進(jìn)行聚合;
[0016]步驟S4,對所述步驟S3得到的流量聚合結(jié)果進(jìn)行排序,得到具有大流量的前K個IP地址;
[0017]步驟S5,對大流量的多個IP地址進(jìn)行下鉆分析,找到大流量產(chǎn)生的原因。
[0018]采用上述方案,通過添加黑名單過濾機(jī)制,使得對大流量的聚合及后期流量分析的效率大大提高。其中,流量排序模塊能使得對所采集的流量有一個快速的宏觀了解,對于前K名的IP產(chǎn)生的流量繼續(xù)提供下鉆功能,反查IP的具體流量產(chǎn)生信息,提供流量監(jiān)控功能,同時為黑名單列表提供依據(jù)。較之傳統(tǒng)的流量采集數(shù)據(jù)對管理員的高操控性要求,本發(fā)明能夠更為簡便有效地提供高度定制的數(shù)據(jù),更加直觀實用。
【專利附圖】
【附圖說明】
[0019]圖1是本發(fā)明基于多節(jié)點(diǎn)流量數(shù)據(jù)去重的大流量獨(dú)立IP分析系統(tǒng)的結(jié)構(gòu)示意圖;
[0020]圖2是添加“目的IP唯一數(shù)”限制的示意圖;
[0021]圖3是本發(fā)明基于多節(jié)點(diǎn)流量數(shù)據(jù)去重的大流量獨(dú)立IP分析方法的流程圖;
[0022]圖4是IP地址排序算法示意圖;
[0023]圖5是IP地址下鉆分析示意圖。
【具體實施方式】
[0024]為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明白,以下結(jié)合具體實施例,并參照附圖,對本發(fā)明進(jìn)一步詳細(xì)說明。
[0025]根據(jù)本發(fā)明的一方面,提供一種基于多節(jié)點(diǎn)流量數(shù)據(jù)去重的大流量獨(dú)立IP分析系統(tǒng),如圖1所示,所述系統(tǒng)包括:流量采集模塊、過濾模塊、流量聚合模塊FlowMerge、流量排序模塊FlowTopK和流量下鉆模塊FlowLookup,其中:
[0026]所述流量采集模塊與所述過濾模塊連接,用于采集流量數(shù)據(jù),并將采集得到的流量數(shù)據(jù)發(fā)送給所述過濾模塊;
[0027]所述流量數(shù)據(jù)的采集包括針對固定IP地址段進(jìn)行采集,對IP地址對進(jìn)行采集,和/或?qū)蓚€節(jié)點(diǎn)之間某個時間段內(nèi)產(chǎn)生的所有流量數(shù)據(jù)進(jìn)行采集。
[0028]所述過濾模塊與所述流量采集模塊和所述流量聚合模塊連接,用于過濾從所述流量采集模塊接收到的流量數(shù)據(jù)中不符合規(guī)定的數(shù)據(jù),比如可過濾掉與黑名單中的IP地址相關(guān)的流量數(shù)據(jù);
[0029]在本發(fā)明一實施例中,所述過濾模塊采用線段樹(Segment Tree)的黑名單過濾機(jī)制,所述線段樹(Segment Tree)是一種二叉搜索樹,它將一個區(qū)間劃分成一些單元區(qū)間,每個單元區(qū)間對應(yīng)線段樹中的一個葉節(jié)點(diǎn),葉節(jié)點(diǎn)數(shù)目為N,即整個線段區(qū)間的長度。對于線段樹中的每一個非葉節(jié)點(diǎn)[a,b],它的左子樹表示的區(qū)間為[a,(a+b)/2],右子樹表示的區(qū)間為[(a+b) /2+1,b],因此,線段樹是平衡二叉樹。
[0030]所述流量聚合模塊FlowMerge與所述過濾模塊和所述流量排序模塊連接,用于根據(jù)IP地址對經(jīng)過過濾的流量數(shù)據(jù)進(jìn)行聚合,具體地,所述流量聚合模塊首先根據(jù)IP地址對經(jīng)過過濾的流量數(shù)據(jù)進(jìn)行去重,然后聚合每個IP地址所產(chǎn)生的流量,最后根據(jù)IP地址對流量數(shù)據(jù)進(jìn)行一維聚合;
[0031]所述流量聚合模塊是針對單向IP地址的流量進(jìn)行聚合,而非對于IP地址對,這樣可避免非對稱路由可能會導(dǎo)致的問題,但為了能夠了解另一方向的IP地址信息,可通過添力口“目的IP唯一數(shù)”的限制來實現(xiàn),如圖2所示。比如可添加目的IP地址唯一數(shù)的計數(shù)器,即表示訪問這個目的IP地址的流量中,包含有多少個不同的源IP地址,這樣管理員在對結(jié)果文件進(jìn)行查看的時候就可以一目了然,了解情況后就可以從排序結(jié)果文件中選擇相應(yīng)的IP流量,進(jìn)行進(jìn)一步的下鉆分析。
[0032]所述流量排序模塊FlowTopK與所述流量聚合模塊連接,用于對所述流量聚合模塊產(chǎn)生的流量聚合結(jié)果進(jìn)行排序,得到具有大流量的前K個IP地址;
[0033]所述流量下鉆模塊FlowLookup與所述流量排序模塊連接,用于對大流量的多個IP地址進(jìn)行下鉆分析,找到大流量產(chǎn)生的原因,其中,所述下鉆分析是指從原始流量數(shù)據(jù)中搜索未經(jīng)聚合的IP地址所產(chǎn)生的具體流量的明細(xì)。
[0034]根據(jù)本發(fā)明的另一方面,還提供一種基于多節(jié)點(diǎn)流量數(shù)據(jù)去重的大流量獨(dú)立IP分析方法,如圖2所示,所述方法包括以下步驟:
[0035]步驟SI,采集流量數(shù)據(jù);
[0036]步驟S2,過濾所述流量數(shù)據(jù)中不符合規(guī)定的數(shù)據(jù),比如可過濾掉與黑名單中的IP地址相關(guān)的流量數(shù)據(jù);
[0037]在本發(fā)明一實施例中,所述步驟S2采用線段樹(Segment Tree)的黑名單過濾機(jī)制對所述流量數(shù)據(jù)進(jìn)行過濾。
[0038]步驟S3,根據(jù)IP地址對經(jīng)過過濾的流量數(shù)據(jù)進(jìn)行聚合;
[0039]所述步驟S3進(jìn)一步包括以下步驟:
[0040]步驟S31,根據(jù)IP地址對經(jīng)過過濾的流量數(shù)據(jù)進(jìn)行去重;
[0041]步驟S32,聚合每個IP地址所產(chǎn)生的流量;
[0042]步驟S33,根據(jù)IP地址對流量數(shù)據(jù)進(jìn)行一維聚合。
[0043]在本發(fā)明一實施例中,所述步驟S33采用如下算法進(jìn)行一維流量聚合:首先定義IP地址的前綴長度每層增加lbit,然后用二叉樹來維護(hù)IP前綴之間的層次關(guān)系,其中,IP地址前綴的變化范圍比如可以從Sbit到32bit。上述聚合算法的空間開銷主要來自于維護(hù)層次樹的節(jié)點(diǎn),時間開銷來自兩個部分:節(jié)點(diǎn)的創(chuàng)建、IP唯一數(shù)計數(shù)器的更新以及葉子節(jié)點(diǎn)處流量匯總計數(shù)器的更新。[0044]步驟S4,對所述步驟S3得到的流量聚合結(jié)果進(jìn)行排序,得到具有大流量的前K個IP地址;
[0045]所述步驟S4中,由于本發(fā)明求解的是具有大流量的前K個IP地址,所以已經(jīng)按流量排好序的IP地址集合,即有序數(shù)據(jù)集的增長范圍可控,而且每次讀取一行流量數(shù)據(jù)與有序數(shù)據(jù)集進(jìn)行比較,這樣最多只需要對有序數(shù)據(jù)集進(jìn)行一次遍歷,而不需要完整地運(yùn)行算法。這個特性使得插入排序在增量排序中非常高效,整型數(shù)插入排序的示例如圖4所示。
[0046]步驟S5,對大流量的多個IP地址進(jìn)行下鉆分析,找到大流量產(chǎn)生的原因,其中,所述下鉆分析是指從原始流量數(shù)據(jù)中搜索未經(jīng)聚合的IP地址所產(chǎn)生的具體流量的明細(xì)。
[0047]所述步驟S5中,采用HASH算法對大流量的多個IP地址進(jìn)行下鉆分析,即首先將原始采集到的流量數(shù)據(jù)散列到一定大小的散列表中,處理時以IP地址為序進(jìn)行散列,但每個相同的IP地址并不僅僅散列到表中相同的條目中,而是依次排序保留,如圖5所示,這樣雖然會降低查找的效率,但可以靈活找到一系列相同IP地址的流量,并且可以保證他們是有序的。要保留的相同的IP地址的數(shù)量可根據(jù)實際應(yīng)用來確定,當(dāng)然,保留的IP地址的數(shù)目越少,查找的效率就越高。
[0048]步驟S6,將大流量產(chǎn)生的原因進(jìn)行格式化處理,形成規(guī)定的格式后返回給用戶。
[0049]以上所述的具體實施例,對本發(fā)明的目的、技術(shù)方案和有益效果進(jìn)行了進(jìn)一步詳細(xì)說明,所應(yīng)理解的是,以上所述僅為本發(fā)明的具體實施例而已,并不用于限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
【權(quán)利要求】
1.一種基于多節(jié)點(diǎn)流量數(shù)據(jù)去重的大流量獨(dú)立IP分析系統(tǒng),其特征在于,該系統(tǒng)包括:流量采集模塊、過濾模塊、流量聚合模塊、流量排序模塊和流量下鉆模塊,其中: 所述流量采集模塊與所述過濾模塊連接,用于采集流量數(shù)據(jù),并將采集得到的流量數(shù)據(jù)發(fā)送給所述過濾模塊; 所述過濾模塊與所述流量采集模塊和所述流量聚合模塊連接,用于過濾從所述流量采集模塊接收到的流量數(shù)據(jù)中不符合規(guī)定的數(shù)據(jù); 所述流量聚合模塊與所述過濾模塊和所述流量排序模塊連接,用于根據(jù)IP地址對經(jīng)過過濾的流量數(shù)據(jù)進(jìn)行聚合; 所述流量排序模塊與所述流量聚合模塊連接,用于對所述流量聚合模塊產(chǎn)生的流量聚合結(jié)果進(jìn)行排序,得到具有大流量的前K個IP地址; 所述流量下鉆模塊與所述流量排序模塊連接,用于對大流量的多個IP地址進(jìn)行下鉆分析,找到大流量產(chǎn)生的原因。
2.根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于,所述流量數(shù)據(jù)的采集包括針對固定IP地址段進(jìn)行采集,對IP地址對進(jìn)行采集,和/或?qū)蓚€節(jié)點(diǎn)之間某個時間段內(nèi)產(chǎn)生的所有流量數(shù)據(jù)進(jìn)行采集。
3.根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于,所述過濾模塊采用線段樹的黑名單過濾機(jī)制對流量數(shù)據(jù)進(jìn)行過濾。
4.根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于,所述流量聚合模塊首先根據(jù)IP地址對經(jīng)過過濾的流量數(shù)據(jù)進(jìn)行去重,然后聚合每個IP地址所產(chǎn)生的流量,最后根據(jù)IP地址對流量數(shù)據(jù)進(jìn)行一維聚合。
5.一種基于多節(jié)點(diǎn)流量數(shù)據(jù)去重的大流量獨(dú)立IP分析方法,其特征在于,該方法包括以下步驟: 步驟SI,采集流量數(shù)據(jù); 步驟S2,過濾所述流量數(shù)據(jù)中不符合規(guī)定的數(shù)據(jù); 步驟S3,根據(jù)IP地址對經(jīng)過過濾的流量數(shù)據(jù)進(jìn)行聚合; 步驟S4,對所述步驟S3得到的流量聚合結(jié)果進(jìn)行排序,得到具有大流量的前K個IP地址; 步驟S5,對大流量的多個IP地址進(jìn)行下鉆分析,找到大流量產(chǎn)生的原因。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述步驟S2采用線段樹的黑名單過濾機(jī)制對所述流量數(shù)據(jù)進(jìn)行過濾。
7.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述步驟S3進(jìn)一步包括以下步驟: 步驟S31,根據(jù)IP地址對經(jīng)過過濾的流量數(shù)據(jù)進(jìn)行去重; 步驟S32,聚合每個IP地址所產(chǎn)生的流量; 步驟S33,根據(jù)IP地址對流量數(shù)據(jù)進(jìn)行一維聚合。
8.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述方法還包括步驟S6,將大流量產(chǎn)生的原因進(jìn)行格式化處理,形成規(guī)定的格式后返回給用戶。
【文檔編號】H04L12/26GK103580955SQ201310529744
【公開日】2014年2月12日 申請日期:2013年10月31日 優(yōu)先權(quán)日:2013年10月31日
【發(fā)明者】郝健, 鄧斌, 黃友俊, 李星, 吳建平 申請人:賽爾網(wǎng)絡(luò)有限公司