專利名稱:一種流量監(jiān)控方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)通信技術(shù),特別涉及一種流量監(jiān)控方法和裝置。
背景技術(shù):
采樣流(sFlow campled Flow)是一種基于報(bào)文采樣的網(wǎng)絡(luò)流量監(jiān)控技術(shù),主要用于對(duì)網(wǎng)絡(luò)流量進(jìn)行統(tǒng)計(jì)分析。sFlow包括以下兩種采樣機(jī)制Flow采樣和Counter采樣。 Flow采樣是基于報(bào)文的采樣,用于從經(jīng)過設(shè)備端口的報(bào)文中抽取一個(gè)或者多個(gè),分析該抽取的報(bào)文的特征,以反映進(jìn)出該端口所有報(bào)文的情況,實(shí)際應(yīng)用中,F(xiàn)low采樣是通過拷貝抽取的報(bào)文中的數(shù)據(jù)信息實(shí)現(xiàn)的,拷貝的數(shù)據(jù)長度由用戶定義,一般要求拷貝的數(shù)據(jù)信息至少包含報(bào)文的基本特征如Khernet頭、IP頭等信息。至于Counter采樣,其是基于時(shí)間的端口統(tǒng)計(jì)信息采樣,用于獲取端口的統(tǒng)計(jì)信息,該Counter采樣與本申請(qǐng)關(guān)系不大,這里暫不敘述。目前,F(xiàn)low采樣是由設(shè)備中的硬件芯片完成。如圖1所示,硬件芯片按照設(shè)置的采樣率從設(shè)備的端口采樣到報(bào)文中的數(shù)據(jù)信息(記為采樣數(shù)據(jù))后,將該采樣數(shù)據(jù)發(fā)送給該設(shè)備中的CPU,由該CPU負(fù)責(zé)將該采樣數(shù)據(jù)用SFlow協(xié)議報(bào)文格式封裝成SFlow報(bào)文,然后當(dāng)sFlow報(bào)文緩沖區(qū)滿或者設(shè)定的時(shí)間超時(shí)時(shí),由CPU將封裝成的sFlow報(bào)文發(fā)送到sFlow Collector。sFlow Collector對(duì)接收的sFlow報(bào)文進(jìn)行分析,并顯示分析結(jié)果,該分析結(jié)果一般包含sFlow報(bào)文的基本信息,比如源MAC地址、目的MAC地址、源IP地址、目的IP地址等。另外,sFlow Collector還可以根據(jù)sFlow報(bào)文攜帶的采樣數(shù)據(jù)推算出端口的流量大小,方便網(wǎng)管人員維護(hù)設(shè)備。
發(fā)明內(nèi)容
本發(fā)明提供了一種流量監(jiān)控方法和裝置,用于動(dòng)態(tài)調(diào)整硬件芯片的采樣率。本發(fā)明提供的技術(shù)方案包括一種流量監(jiān)控方法,包括每隔設(shè)定周期獲取硬件芯片向處理單元發(fā)送采樣數(shù)據(jù)的采樣數(shù)據(jù)上傳速率;獲取的采樣數(shù)據(jù)上傳速率不在設(shè)定的采樣數(shù)據(jù)安全上傳速率區(qū)間內(nèi),則利用所述設(shè)備中端口的流量速率和從所述采樣數(shù)據(jù)安全上傳速率區(qū)間中確定的速率重新計(jì)算所述硬件芯片需要采用的采樣率,控制所述硬件芯片利用計(jì)算出的采樣率替代當(dāng)前采用的采樣率繼續(xù)對(duì)設(shè)備中端口的流量進(jìn)行采樣得到所述硬件芯片向所述處理單元發(fā)送的采樣數(shù)據(jù)。一種流量監(jiān)控裝置,該裝置包括獲取單元,用于每隔設(shè)定周期獲取硬件芯片向處理單元發(fā)送采樣數(shù)據(jù)的采樣數(shù)據(jù)上傳速率;第一控制單元,用于在所述獲取單元獲取的采樣數(shù)據(jù)上傳速率不在設(shè)定的采樣數(shù)據(jù)安全上傳速率區(qū)間內(nèi)時(shí),利用所述設(shè)備中端口的流量速率和從所述采樣數(shù)據(jù)安全上傳速率區(qū)間中確定的速率重新計(jì)算所述硬件芯片需要采用的采樣率,控制所述硬件芯片利用計(jì)算出的采樣率替代當(dāng)前采用的采樣率繼續(xù)對(duì)設(shè)備中端口的流量進(jìn)行采樣得到所述硬件芯片向所述處理單元發(fā)送的采樣數(shù)據(jù)。由以上技術(shù)方案可以看出,本發(fā)明中,硬件芯片并非始終采用固定不變的采樣率對(duì)設(shè)備中端口的流量進(jìn)行采樣,而是根據(jù)設(shè)備中硬件芯片向處理單元發(fā)送采樣數(shù)據(jù)的采樣數(shù)據(jù)上傳速率是否在設(shè)定的采樣數(shù)據(jù)安全上傳速率區(qū)間內(nèi)來決定是否動(dòng)態(tài)調(diào)整采樣率,其中,動(dòng)態(tài)調(diào)整的采樣率是利用所述設(shè)備中端口的流量速率和從所述采樣數(shù)據(jù)安全上傳速率區(qū)間中確定的速率重新計(jì)算的,這相比于現(xiàn)有技術(shù),一方面可以實(shí)現(xiàn)硬件芯片動(dòng)態(tài)調(diào)整采樣率對(duì)設(shè)備中端口的流量進(jìn)行采樣,另一方面能夠保證處理單元如CPU正常運(yùn)行,并充分利用CPU資源。
圖1為現(xiàn)有Flow采樣示意圖;圖2為本發(fā)明實(shí)施例提供的基本流程圖;圖3為本發(fā)明實(shí)施例提供的詳細(xì)流程圖;圖4為本發(fā)明實(shí)施例提供的裝置結(jié)構(gòu)圖。
具體實(shí)施例方式為了使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面結(jié)合附圖和具體實(shí)施例對(duì)本發(fā)明進(jìn)行詳細(xì)描述。對(duì)于現(xiàn)有的Flow采樣,硬件芯片是利用固定的端口流量速率設(shè)置的固定采樣率采樣報(bào)文,即每隔固定的報(bào)文數(shù)采樣一個(gè)報(bào)文。例如,采樣率為1000,則表示硬件芯片每隔 1000個(gè)報(bào)文對(duì)設(shè)備中端口的報(bào)文進(jìn)行采樣。其中,硬件芯片采用的采樣率需要考慮以下兩個(gè)因素1、CPU性能。如上所述,F(xiàn)low采樣是由硬件芯片完成,而封裝采樣數(shù)據(jù)包、以及發(fā)送sFlow報(bào)文至sFlow Collector均是由設(shè)備的CPU完成的。當(dāng)設(shè)備端口的報(bào)文流量比較大即單位時(shí)間內(nèi)進(jìn)出端口的報(bào)文數(shù)量比較多,而設(shè)置的采樣率又比較小時(shí),硬件芯片發(fā)送采樣數(shù)據(jù)至設(shè)備上CPU的速率就會(huì)很大,對(duì)設(shè)備的CPU造成很大的壓力。舉個(gè)例子說明,假如設(shè)備中CPU的處理性能為每秒最大處理500個(gè)采樣數(shù)據(jù),設(shè)備端口的報(bào)文速率為每秒1000000個(gè)報(bào)文,采樣率被設(shè)置為1000,那么硬件芯片發(fā)送采樣數(shù)據(jù)到CPU的速率為 1000000/1000 = 1000個(gè)/秒,超過了 CPU本身的處理性能,影響CPU的正常運(yùn)行。2、用戶的需求。對(duì)于用戶而言,采樣精度越高,越能更加真實(shí)的反映端口流量變化情況,而采樣精度越高,對(duì)應(yīng)的采樣率就應(yīng)越小。為了兼顧C(jī)PU的處理性能和用戶的需求,必須為硬件芯片設(shè)置一個(gè)適當(dāng)?shù)牟蓸勇手?,既要保證CPU正常工作不受影響,又要保證采樣精度,較為準(zhǔn)確的反映端口的流量變化情況。通過研究發(fā)現(xiàn)通過以下方法確定采樣率能夠達(dá)到上述要求固定端口報(bào)文速率,則通過設(shè)置不同采樣率比較CPU的利用率,當(dāng)CPU利用率達(dá)到其正常工作的安全運(yùn)行門限時(shí),確定此時(shí)的采樣率為最佳值,也即為設(shè)備所能設(shè)置的最佳采樣率。以端口報(bào)文速率為每秒1000000個(gè)報(bào)文(即1000000個(gè)/秒),則表1示出了采樣
率與CPU利用率對(duì)應(yīng)關(guān)系
權(quán)利要求
1.一種流量監(jiān)控方法,其特征在于,該方法包括每隔設(shè)定周期獲取硬件芯片向處理單元發(fā)送采樣數(shù)據(jù)的采樣數(shù)據(jù)上傳速率;獲取的采樣數(shù)據(jù)上傳速率不在設(shè)定的采樣數(shù)據(jù)安全上傳速率區(qū)間內(nèi),則利用所述設(shè)備中端口的流量速率和從所述采樣數(shù)據(jù)安全上傳速率區(qū)間中確定的速率重新計(jì)算所述硬件芯片需要采用的采樣率,控制所述硬件芯片利用計(jì)算出的采樣率替代當(dāng)前采用的采樣率繼續(xù)對(duì)設(shè)備中端口的流量進(jìn)行采樣得到所述硬件芯片向所述處理單元發(fā)送的采樣數(shù)據(jù)。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,在利用所述設(shè)備中端口的流量速率和從所述采樣數(shù)據(jù)安全上傳速率區(qū)間中確定的速率重新計(jì)算所述硬件芯片需要采用的采樣率之前,進(jìn)一步包括延時(shí)設(shè)定時(shí)間,控制所述硬件芯片在所述設(shè)定時(shí)間內(nèi)繼續(xù)利用當(dāng)前采用的采樣率對(duì)設(shè)備上端口的流量進(jìn)行采樣;所述設(shè)定時(shí)間小于或等于所述設(shè)定周期;在所述設(shè)定時(shí)間到達(dá)時(shí),再次獲取硬件芯片向處理單元發(fā)送采樣數(shù)據(jù)的采樣數(shù)據(jù)上傳速率,判斷該再次獲取的采樣數(shù)據(jù)上傳速率是否在設(shè)定的采樣數(shù)據(jù)安全上傳速率區(qū)間內(nèi), 如果否,繼續(xù)執(zhí)行所述利用設(shè)備中端口的流量速率和從所述采樣數(shù)據(jù)安全上傳速率區(qū)間中確定的速率重新計(jì)算所述硬件芯片需要采用的采樣率的操作。
3.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,如果獲取的采樣數(shù)據(jù)上傳速率在設(shè)定的采樣數(shù)據(jù)安全上傳速率區(qū)間內(nèi),則該方法進(jìn)一步包括控制所述硬件芯片繼續(xù)利用當(dāng)前采用的采樣率對(duì)所述設(shè)備中端口的流量進(jìn)行采樣得到所述硬件芯片向所述處理單元發(fā)送的采樣數(shù)據(jù)。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述設(shè)備中的端口為所述設(shè)備中使能了采樣流sFlow功能的所有端口。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述利用設(shè)備中端口的流量速率和從所述采樣數(shù)據(jù)安全上傳速率區(qū)間中確定的速率重新計(jì)算所述硬件芯片需要采用的采樣率包括對(duì)所述設(shè)備上使能了 sFlow功能的所有端口的流量速率求平均,得到平均后的端口流量速率;用所述平均后的端口流量速率除以從所述采樣數(shù)據(jù)安全上傳速率區(qū)間中確定的速率, 得到的商作為所述硬件芯片需要采用的采樣率;其中,所述從采樣數(shù)據(jù)安全上傳速率區(qū)間中確定的速率為采樣數(shù)據(jù)安全上傳速率區(qū)間中的任一速率。
6.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述采樣數(shù)據(jù)安全上傳速率區(qū)間根據(jù)所述處理單元的處理性能和用戶需求的采樣精度設(shè)定。
7.一種流量監(jiān)控裝置,其特征在于,該裝置包括獲取單元,用于每隔設(shè)定周期獲取硬件芯片向處理單元發(fā)送采樣數(shù)據(jù)的采樣數(shù)據(jù)上傳速率;第一控制單元,用于在所述獲取單元獲取的采樣數(shù)據(jù)上傳速率不在設(shè)定的采樣數(shù)據(jù)安全上傳速率區(qū)間內(nèi)時(shí),利用所述設(shè)備中端口的流量速率和從所述采樣數(shù)據(jù)安全上傳速率區(qū)間中確定的速率重新計(jì)算所述硬件芯片需要采用的采樣率,控制所述硬件芯片利用計(jì)算出的采樣率替代當(dāng)前采用的采樣率繼續(xù)對(duì)設(shè)備中端口的流量進(jìn)行采樣得到所述硬件芯片向所述處理單元發(fā)送的采樣數(shù)據(jù)。
8.根據(jù)權(quán)利要求7所述的裝置,其特征在于,該裝置還包括第二控制單元,用于延時(shí)設(shè)定時(shí)間,控制所述硬件芯片在所述設(shè)定時(shí)間內(nèi)繼續(xù)利用當(dāng)前采用的采樣率對(duì)設(shè)備上端口的流量進(jìn)行采樣;所述設(shè)定時(shí)間小于或等于所述設(shè)定周期;第三控制單元,用于在所述設(shè)定時(shí)間到達(dá)時(shí),再次獲取硬件芯片向處理單元發(fā)送采樣數(shù)據(jù)的采樣數(shù)據(jù)上傳速率,如果該再次獲取的采樣數(shù)據(jù)上傳速率不在設(shè)定的采樣數(shù)據(jù)安全上傳速率區(qū)間內(nèi),則觸發(fā)所述第一控制單元執(zhí)行重新計(jì)算采樣率的操作。
9.根據(jù)權(quán)利要求7或8所述的裝置,其特征在于,該裝置還包括第四控制單元,用于在獲取的采樣數(shù)據(jù)上傳速率在設(shè)定的采樣數(shù)據(jù)安全上傳速率區(qū)間內(nèi)時(shí),控制所述硬件芯片繼續(xù)利用當(dāng)前采用的采樣率對(duì)所述設(shè)備中端口的流量進(jìn)行采樣得到所述硬件芯片向所述處理單元發(fā)送的采樣數(shù)據(jù)。
10.根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述設(shè)備中的端口為所述設(shè)備中使能了采樣流sFlow功能的所有端口。
11.根據(jù)權(quán)利要求10所述的裝置,其特征在于,所述第一控制單元包括第一計(jì)算子單元,用于對(duì)所述設(shè)備上使能了 sFlow功能的所有端口的流量速率求平均,得到平均后的端口流量速率;第二計(jì)算子單元,用于用所述平均后的端口流量速率除以從所述采樣數(shù)據(jù)安全上傳速率區(qū)間中確定的速率,得到的商作為所述硬件芯片需要采用的采樣率,其中,所述從采樣數(shù)據(jù)安全上傳速率區(qū)間中確定的速率為采樣數(shù)據(jù)安全上傳速率區(qū)間中的任一速率;控制子單元,用于控制所述硬件芯片利用所述第二計(jì)算子單元計(jì)算出的采樣率替代當(dāng)前采用的采樣率繼續(xù)對(duì)設(shè)備中端口的流量進(jìn)行采樣得到所述硬件芯片向所述處理單元發(fā)送的采樣數(shù)據(jù)。
全文摘要
本發(fā)明提供了一種流量監(jiān)控方法和裝置。其中,該方法包括每隔設(shè)定周期獲取硬件芯片向處理單元發(fā)送采樣數(shù)據(jù)的采樣數(shù)據(jù)上傳速率;獲取的采樣數(shù)據(jù)上傳速率不在設(shè)定的采樣數(shù)據(jù)安全上傳速率區(qū)間內(nèi),則利用所述設(shè)備中端口的流量速率和從所述采樣數(shù)據(jù)安全上傳速率區(qū)間中確定的速率重新計(jì)算所述硬件芯片需要采用的采樣率,控制所述硬件芯片利用計(jì)算出的采樣率替代當(dāng)前采用的采樣率繼續(xù)對(duì)設(shè)備中端口的流量進(jìn)行采樣得到所述硬件芯片向所述處理單元發(fā)送的采樣數(shù)據(jù)。采用本發(fā)明,能夠保證CPU正常運(yùn)行,又充分利用CPU資源。
文檔編號(hào)H04L12/26GK102355376SQ20111017766
公開日2012年2月15日 申請(qǐng)日期2011年6月27日 優(yōu)先權(quán)日2011年6月27日
發(fā)明者張健 申請(qǐng)人:杭州華三通信技術(shù)有限公司