欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種基于流量統(tǒng)計數(shù)據(jù)的訪問告警方法與流程

文檔序號:11253794閱讀:1205來源:國知局
一種基于流量統(tǒng)計數(shù)據(jù)的訪問告警方法與流程

本發(fā)明涉及一種基于流量統(tǒng)計數(shù)據(jù)的訪問告警方法,特別是涉及一種適用于大流量環(huán)境和復(fù)雜告警規(guī)則的,基于流量統(tǒng)計數(shù)據(jù)的訪問告警方法。



背景技術(shù):

流量統(tǒng)計是指分析網(wǎng)絡(luò)中的原始數(shù)據(jù)包數(shù)據(jù),計算各種網(wǎng)絡(luò)指標(biāo),并按照一定規(guī)則(ip,端口、會話等等)將結(jié)果分類并合并在一起,以便后續(xù)分析。

時間桶統(tǒng)計是指按時間桶:持續(xù)時長為n秒,并且開始時間戳為n的整數(shù)倍的時間段稱為時間桶。常用時間桶有1秒桶、1分鐘桶、1小時桶、1天桶等。如1秒桶是指任意一個時長為1秒的時間段;1分鐘桶是指開始時間戳為60的整數(shù)倍,并且時長為60秒的時間段;10分鐘桶是指開始時間戳為600的整數(shù)倍,并且時長為600秒的時間段;其他時間桶類推。

告警規(guī)則是指網(wǎng)絡(luò)元數(shù)據(jù)組合在一起形成的規(guī)則如:ip、端口、應(yīng)用、協(xié)議等等。

黑名單為網(wǎng)絡(luò)流量與告警規(guī)則匹配時進(jìn)行告警;白名單為網(wǎng)絡(luò)流量與告警規(guī)則不匹配進(jìn)行告警。

維度是指規(guī)則中支持的網(wǎng)絡(luò)元數(shù)據(jù)的數(shù)量,如規(guī)則中只有ip,表示為一維、規(guī)則中包括ip和端口為二維;依次類推,維度越高實現(xiàn)的復(fù)雜度越高、性能越低。

隨著網(wǎng)絡(luò)流量環(huán)境的迅猛增長,針對大流量的高性能的分析解決方案需求越來越迫切。當(dāng)前很多號稱支持大流量分析的系統(tǒng)都只能做一些基礎(chǔ)的流量分析功能,對用戶的作用有限。

本技術(shù)源于網(wǎng)絡(luò)數(shù)據(jù)分析領(lǐng)域,在網(wǎng)絡(luò)數(shù)據(jù)分析領(lǐng)域中經(jīng)常需要對網(wǎng)絡(luò)中的異常數(shù)據(jù)流量、異常統(tǒng)計指標(biāo)進(jìn)行告警。如:某ip訪問某臺服務(wù)器;某時間字節(jié)數(shù)大于特定閾值或者某ip發(fā)送數(shù)據(jù)包數(shù)大于特定閾值等等。但是受限于性能和復(fù)雜度這類告警在大流量環(huán)境中很少使用,即使使用也只能支持少量的簡單規(guī)則,且有諸多限制。

逐條匹配:循環(huán)對規(guī)則進(jìn)行一一比對,這種方式實現(xiàn)最簡單,對規(guī)則沒有過多要求,可以支持一些較為復(fù)雜的規(guī)則,但是性能極低,數(shù)量有限,對于小流量環(huán)境還勉強(qiáng)適用。假設(shè)有m條規(guī)則,每秒鐘存在n條會話,那么需要匹配的次數(shù)就是m*n次,其時間復(fù)雜度為o(m*n)。

哈希表匹配:哈希查表操作勝在速度極高,且不受規(guī)則數(shù)量的影響(可以達(dá)到百萬級規(guī)模),基本上接近到o(1)的性能,是一種在網(wǎng)絡(luò)分析領(lǐng)域使用極廣的算法;遺憾的是哈希表要求規(guī)則唯一,很多網(wǎng)絡(luò)分析領(lǐng)域的告警規(guī)則都需要考慮范圍,無法滿足唯一性要求(特定情形下可以將1個范圍轉(zhuǎn)換為n個非范圍規(guī)則,但會導(dǎo)致規(guī)則的規(guī)模急速上漲,內(nèi)存資源無法滿足)。

不少流量統(tǒng)計軟件都有類似的訪問告警功能,但其在大流量環(huán)境下表現(xiàn)一般都不如人意;要么是性能不足,難以支撐大流量的分析要求,要么是告警規(guī)則簡單、支持?jǐn)?shù)量有限,難以滿足用戶的使用需要。



技術(shù)實現(xiàn)要素:

本發(fā)明要解決的技術(shù)問題是提供一種基于流量統(tǒng)計數(shù)據(jù)的訪問告警方法,該方法能夠適用于大流量環(huán)境下,支持大量復(fù)雜規(guī)則的,高性能訪問告警功能。

本發(fā)明采用的技術(shù)方案如下:一種基于流量統(tǒng)計數(shù)據(jù)的訪問告警方法,具體方法為:網(wǎng)絡(luò)中的數(shù)據(jù)包經(jīng)過分析,按照時間桶生成各種統(tǒng)計數(shù)據(jù);生成的統(tǒng)計數(shù)據(jù)傳遞給存儲模塊進(jìn)行存儲;警報模塊通過存儲模塊獲取統(tǒng)計數(shù)據(jù),按照設(shè)定規(guī)則進(jìn)行告警。

所述方法還包括,對設(shè)定規(guī)則進(jìn)行預(yù)處理,形成一種樹形結(jié)構(gòu),通過對樹形結(jié)構(gòu)的遍歷,完成對設(shè)定規(guī)則的匹配。

對設(shè)定規(guī)則進(jìn)行預(yù)處理的具體方法為:將設(shè)定規(guī)則中每一個存在交叉的維度拆分為不同的樹節(jié)點(diǎn),保證能夠在一次遍歷中得到正確的識別結(jié)果。

在系統(tǒng)中我們需要對“客戶端ip”、“服務(wù)端ip”、“服務(wù)端port”、“應(yīng)用”和“協(xié)議”等5個維度組成的規(guī)則進(jìn)行流量訪問告警;為了簡化規(guī)則配置,可能每個維度都需要支持范圍和*(地址需要支持ipv6);假定有如下規(guī)則:

如果網(wǎng)絡(luò)中出現(xiàn)了規(guī)則表示的流量則進(jìn)行告警??梢钥闯鲆?guī)則的構(gòu)成非常復(fù)雜,在規(guī)則數(shù)量巨大的情況下,采用常規(guī)的算法進(jìn)行處理,基本不現(xiàn)實。

充分研究了規(guī)則構(gòu)成后,我們對規(guī)則進(jìn)行一些預(yù)處理,形成一種簡單的樹形結(jié)構(gòu),這樣對規(guī)則的匹配就變成了對這顆樹的遍歷;我們知道樹的深度是有限的,就是規(guī)則的維度。

如圖1所示,為第一條設(shè)定規(guī)則預(yù)處理后的結(jié)果,圖2為第二條設(shè)定規(guī)則預(yù)處理后的結(jié)果??梢钥吹浇?jīng)過預(yù)處理后2條規(guī)則形成了復(fù)雜的樹形結(jié)構(gòu);規(guī)則中的每一個存在交叉的維度都會被拆分成不同的樹節(jié)點(diǎn),保證能夠在一次遍歷中得到正確的識別結(jié)果。從2條規(guī)則的預(yù)處理我們可以發(fā)現(xiàn)規(guī)則中的維度交叉越厲害,被切分的樹節(jié)點(diǎn)會越多,樹的結(jié)構(gòu)越復(fù)雜,消耗的內(nèi)存也會越大,構(gòu)建的時間也越長;但是無論多復(fù)雜的樹,一旦構(gòu)建完成,其識別的效率只與樹的高度相關(guān)(維度),與樹的復(fù)雜度無關(guān)。

假如有如下待匹配流量:192.168.1.3,10.2.9.9,8189,http,tcp

通過對樹的遍歷我們可以得上圖中的虛線所示路徑,最終識別出規(guī)則1匹配即說明待匹配的流量會產(chǎn)生訪問告警。

隨著現(xiàn)在網(wǎng)絡(luò)中越來越多的使用ipv6協(xié)議,產(chǎn)生了對ipv6流量的分析處理的強(qiáng)列需求;我們知道ipv4可以由32位的整數(shù)表示;為了支持ipv6的規(guī)則在ipv6中以128位整數(shù)實現(xiàn),以此表示ipv6。

所述方法還包括,采用雙緩存機(jī)制,對于需要重新修改并進(jìn)行配置的設(shè)定規(guī)則,修改后放在一個地方進(jìn)行預(yù)處理,與觸發(fā)任務(wù)中獲取到的設(shè)定規(guī)則互不干擾;在預(yù)處理修改后的設(shè)定規(guī)則時,觸發(fā)任務(wù)依然使用本地存儲的配置好的內(nèi)容進(jìn)行告警,一旦預(yù)處理完成,觸發(fā)任務(wù)獲取新的配置好的設(shè)定規(guī)則,完成告警。由于所述設(shè)定規(guī)則越復(fù)雜,數(shù)量越大,則設(shè)定跪著預(yù)處理的時間也就越長,如果每次在獲取配置后才進(jìn)行預(yù)處理,顯然會嚴(yán)重影響系統(tǒng)的性能。

所述方法還包括,設(shè)置一個定時器來定時產(chǎn)生觸發(fā)告警任務(wù)。采用定時器來觸發(fā)告警任務(wù),以適應(yīng)統(tǒng)計數(shù)據(jù)產(chǎn)生規(guī)律和降低系統(tǒng)的耦合性。如果在時間桶數(shù)據(jù)產(chǎn)生后直接觸發(fā)告警任務(wù),則源于統(tǒng)計數(shù)據(jù)的產(chǎn)生規(guī)律,系統(tǒng)的耦合性會比較高。在本發(fā)明中,設(shè)置一個定時器去觸發(fā),盡量和統(tǒng)計數(shù)據(jù)的生成分離,通過統(tǒng)一的查詢接口獲取統(tǒng)計數(shù)據(jù),這樣一旦需要在觸發(fā)警報前對統(tǒng)計數(shù)據(jù)進(jìn)行一些特殊處理就很方便。另外,直接觸發(fā)警報這樣的流程屬于串行的方式,不利于性能控制,一旦觸發(fā)性能不足會引起統(tǒng)計數(shù)據(jù)生成的性能下降,反之也是一樣的。分離雖然增加了額外的統(tǒng)計數(shù)據(jù)獲取的流程,但由于是分離的,可以獨(dú)立控制,互不干擾。

所述定時器定時檢查時間桶統(tǒng)計數(shù)據(jù)是否已經(jīng)產(chǎn)生,如果是,則觸發(fā)告警任務(wù)。

所述方法還包括,設(shè)定告警任務(wù)觸發(fā)統(tǒng)計數(shù)據(jù)在內(nèi)存中存儲的最大時間或最大數(shù)據(jù)量;告警任務(wù)觸發(fā)后,檢查觸發(fā)告警任務(wù)的統(tǒng)計數(shù)據(jù)是否還在內(nèi)存中,如果否,則丟棄這些數(shù)據(jù)不再觸發(fā)告警任務(wù),避免性能進(jìn)一步惡化(時間越久說明性能越低)。完成這一步后,緊接著需要獲取告警規(guī)則的“配置”和該觸發(fā)點(diǎn)的統(tǒng)計數(shù)據(jù)。

所述方法還包括,從緩存中獲取對告警需要的來自于查詢接口的統(tǒng)計數(shù)據(jù),而非從磁盤中讀取,從而進(jìn)一步提高系統(tǒng)的處理能力。

與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果是:能夠適用于大流量環(huán)境下,支持大量復(fù)雜規(guī)則的,高性能訪問告警功能。

附圖說明

圖1為本發(fā)明其中一設(shè)定規(guī)則預(yù)處理的原理示意圖。

圖2為本發(fā)明其中一設(shè)定規(guī)則預(yù)處理的原理示意圖。

圖3為本發(fā)明其中一實施例的流量告警功能流程圖。

具體實施方式

為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實施例,對本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實施例僅用以解釋本發(fā)明,并不用于限定本發(fā)明。

本說明書(包括摘要和附圖)中公開的任一特征,除非特別敘述,均可被其他等效或者具有類似目的的替代特征加以替換。即,除非特別敘述,每個特征只是一系列等效或類似特征中的一個例子而已。

具體實施例1

如圖3所示,一種基于流量統(tǒng)計數(shù)據(jù)的訪問告警方法,具體方法為:網(wǎng)絡(luò)中的數(shù)據(jù)包經(jīng)過分析,按照時間桶生成各種統(tǒng)計數(shù)據(jù);生成的統(tǒng)計數(shù)據(jù)傳遞給存儲模塊進(jìn)行存儲;警報模塊通過存儲模塊獲取統(tǒng)計數(shù)據(jù),按照設(shè)定規(guī)則進(jìn)行告警。

具體實施例2

在具體實施例1的基礎(chǔ)上,所述方法還包括,對設(shè)定規(guī)則進(jìn)行預(yù)處理,形成一種樹形結(jié)構(gòu),通過對樹形結(jié)構(gòu)的遍歷,完成對設(shè)定規(guī)則的匹配。

具體實施例3

在具體實施例2的基礎(chǔ)上,對設(shè)定規(guī)則進(jìn)行預(yù)處理的具體方法為:將設(shè)定規(guī)則中每一個存在交叉的維度拆分為不同的樹節(jié)點(diǎn),保證能夠在一次遍歷中得到正確的識別結(jié)果。

具體實施例4

在具體實施例1到3之一的基礎(chǔ)上,所述方法還包括,采用雙緩存機(jī)制,對于需要重新修改并進(jìn)行配置的設(shè)定規(guī)則,修改后放在一個地方進(jìn)行預(yù)處理,與觸發(fā)任務(wù)中獲取到的設(shè)定規(guī)則互不干擾;在預(yù)處理修改后的設(shè)定規(guī)則時,觸發(fā)任務(wù)依然使用本地存儲的配置好的內(nèi)容進(jìn)行告警,一旦預(yù)處理完成,觸發(fā)任務(wù)獲取新的配置好的設(shè)定規(guī)則,完成告警。

具體實施例5

在具體實施例1到4之一的基礎(chǔ)上,所述方法還包括,設(shè)置一個定時器來定時產(chǎn)生觸發(fā)告警任務(wù)。不同的時間桶的產(chǎn)生具有很強(qiáng)的時間規(guī)律,如1秒、1分、1小時(時間桶);根據(jù)需要我們可以選則一個時間桶作為警報觸發(fā)的數(shù)據(jù)源(在本具體實施例中,采用分鐘桶。

具體實施例6

在具體實施例5的基礎(chǔ)上,所述定時器定時檢查時間桶統(tǒng)計數(shù)據(jù)是否已經(jīng)產(chǎn)生,如果是,則觸發(fā)告警任務(wù)。在本具體實施例中,由于采用的分鐘桶,考慮到統(tǒng)計數(shù)據(jù)生成的延時性,定時器每數(shù)秒(如每5秒)運(yùn)行一次。

具體實施例7

在具體實施例1到6之一的基礎(chǔ)上,所述方法還包括,設(shè)定告警任務(wù)觸發(fā)統(tǒng)計數(shù)據(jù)在內(nèi)存中存儲的最大時間或最大數(shù)據(jù)量;告警任務(wù)觸發(fā)后,檢查觸發(fā)告警任務(wù)的統(tǒng)計數(shù)據(jù)是否還在內(nèi)存中,如果否,則丟棄這些數(shù)據(jù)不再觸發(fā)告警任務(wù)。

具體實施例8

在具體實施例1到7之一的基礎(chǔ)上,所述方法還包括,從緩存中獲取對告警需要的來自于查詢接口的統(tǒng)計數(shù)據(jù),而非從磁盤中讀取。

每一個時間桶產(chǎn)生的統(tǒng)計數(shù)據(jù)有很多條,需要對這些數(shù)據(jù)進(jìn)行逐條告警,并產(chǎn)生告警日志。依賴于前面提到的高性能告警算法,本發(fā)明申請方案可以達(dá)到30萬數(shù)據(jù)10萬規(guī)模的規(guī)則的秒內(nèi)告警性能。

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
县级市| 宁城县| 平武县| 洛南县| 得荣县| 微博| 讷河市| 炎陵县| 越西县| 庆城县| 五寨县| 奈曼旗| 禄丰县| 北海市| 郓城县| 无锡市| 都兰县| 惠州市| 桦甸市| 安宁市| 启东市| 闸北区| 黑水县| 深泽县| 霞浦县| 屏山县| 道真| 安平县| 黎城县| 略阳县| 大石桥市| 山阴县| 海原县| 滕州市| 辉县市| 曲松县| 隆化县| 吴江市| 河间市| 大同县| 吉木乃县|