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

一種報(bào)文流量的采樣方法、裝置及路由設(shè)備與流程

文檔序號(hào):12889935閱讀:327來(lái)源:國(guó)知局
一種報(bào)文流量的采樣方法、裝置及路由設(shè)備與流程

本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其涉及一種報(bào)文流量的采樣方法、裝置及路由設(shè)備。



背景技術(shù):

隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,網(wǎng)絡(luò)已經(jīng)成為日常生活必需的一部分,海量的網(wǎng)絡(luò)數(shù)據(jù)對(duì)網(wǎng)絡(luò)通信設(shè)備的數(shù)據(jù)吞吐量的要求也更加嚴(yán)格。路由器作為通信網(wǎng)絡(luò)中的必需的重要設(shè)備,其數(shù)據(jù)收發(fā)的性能直接決定了所在網(wǎng)絡(luò)的數(shù)據(jù)通信的可靠性,對(duì)網(wǎng)絡(luò)中所承載的業(yè)務(wù)的正常運(yùn)行起到了支撐和限制的作用。

現(xiàn)有技術(shù)中,通常是通過(guò)靜態(tài)統(tǒng)計(jì)的方式對(duì)路由器某一網(wǎng)絡(luò)接口上的報(bào)文流量作統(tǒng)計(jì),即對(duì)網(wǎng)絡(luò)接口上接收的報(bào)文進(jìn)行簡(jiǎn)單的累加。這樣只能反映出路由器在工作時(shí)間內(nèi)的總的報(bào)文接收量,而無(wú)法反映出接收方向上報(bào)文流量的變化情況,這樣使得對(duì)于在路由器中所出現(xiàn)的一些常見問(wèn)題依據(jù)該工作時(shí)間內(nèi)的總的報(bào)文接收量是不能分析出具體原因。例如,對(duì)于路由器常見的丟包問(wèn)題,上述的靜態(tài)統(tǒng)計(jì)方式只能確定網(wǎng)絡(luò)接口在工作期間所統(tǒng)計(jì)的報(bào)文丟棄的總數(shù),無(wú)法作為依據(jù)來(lái)判斷網(wǎng)絡(luò)丟包的原因是由于網(wǎng)絡(luò)數(shù)量超過(guò)接口所使用的網(wǎng)絡(luò)芯片的性能,還是軟件層處理速率太慢導(dǎo)致buffer耗光出現(xiàn)的丟包。

因此,有必要對(duì)路由設(shè)備的網(wǎng)絡(luò)接口上的報(bào)文流量進(jìn)行動(dòng)態(tài)描繪,從而提供對(duì)路由設(shè)備的工作性能和軟件層的工作狀態(tài)進(jìn)行分析的數(shù)據(jù),是目前亟需解決的技術(shù)問(wèn)題。



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

本發(fā)明的實(shí)施例提供一種報(bào)文流量的采樣方法、裝置及路由設(shè)備,解決現(xiàn)有技術(shù)中所采用的靜態(tài)統(tǒng)計(jì)方法無(wú)法獲知工作時(shí)間內(nèi)網(wǎng)絡(luò)接口上的報(bào)文流量的變化情況的問(wèn)題。

為達(dá)到上述目的,本發(fā)明的實(shí)施例采用如下技術(shù)方案:

本發(fā)明實(shí)施例的第一方面,提供一種路由設(shè)備,包括:

網(wǎng)絡(luò)接口,用于接收?qǐng)?bào)文;

從核,所述從核上創(chuàng)建的線程用于循環(huán)讀取與所述從核對(duì)應(yīng)的網(wǎng)絡(luò)接口接收的報(bào)文,并記錄每次成功讀取的報(bào)文數(shù)目,在已讀標(biāo)志為第一標(biāo)識(shí)的情況下,根據(jù)每次成功讀取的報(bào)文數(shù)目更新統(tǒng)計(jì)變量,所述統(tǒng)計(jì)變量用于反映報(bào)文累加的數(shù)目;還用于轉(zhuǎn)發(fā)由所述網(wǎng)絡(luò)接口接收的報(bào)文;

主核,所述主核上創(chuàng)建的線程用于在每個(gè)采樣周期到達(dá)時(shí),將所述已讀標(biāo)志置為第二標(biāo)識(shí),并讀取所述統(tǒng)計(jì)變量,在讀完后將所述已讀標(biāo)志置為所述第一標(biāo)識(shí),根據(jù)所述讀取到的統(tǒng)計(jì)變量輸出該采樣周期內(nèi)報(bào)文的接收情況。

本發(fā)明實(shí)施例的第二方面,提供一種報(bào)文流量的采樣方法,所述方法包括:

循環(huán)讀取由網(wǎng)絡(luò)接口接收的報(bào)文,并記錄每次成功讀取的報(bào)文數(shù)目,在已讀標(biāo)志為第一標(biāo)識(shí)的情況下,根據(jù)每次成功讀取的報(bào)文數(shù)目更新統(tǒng)計(jì)變量,所述統(tǒng)計(jì)變量用于反映報(bào)文累加的數(shù)目;

在每個(gè)采樣周期到達(dá)時(shí),將所述已讀標(biāo)志置為第二標(biāo)識(shí),并讀取所述統(tǒng)計(jì)變量,在讀完后將所述已讀標(biāo)志置為所述第一標(biāo)識(shí),根據(jù)所述讀取到的統(tǒng)計(jì)變量輸出該采樣周期內(nèi)報(bào)文的接收情況。

本發(fā)明實(shí)施例的第三方面,提供一種報(bào)文流量的采樣裝置,其特征在于,所述裝置包括:

讀取模塊,用于循環(huán)讀取由網(wǎng)絡(luò)接口接收的報(bào)文,并記錄每次成功讀取的報(bào)文數(shù)目;

更新模塊,用于在已讀標(biāo)志為第一標(biāo)識(shí)的情況下,根據(jù)每次成功讀取的報(bào)文數(shù)目更新統(tǒng)計(jì)變量,所述統(tǒng)計(jì)變量用于反映報(bào)文累加的數(shù)目;

處理模塊,用于在每個(gè)采樣周期到達(dá)時(shí),將所述已讀標(biāo)志置為第二標(biāo)識(shí),并讀取所述統(tǒng)計(jì)變量,在讀完后將所述已讀標(biāo)志置為所述第一標(biāo)識(shí);

輸出模塊,用于根據(jù)所述讀取到的統(tǒng)計(jì)變量輸出該采樣周期內(nèi)報(bào)文的接收情況。

本發(fā)明實(shí)施例提供的報(bào)文流量的采樣方法、裝置及路由設(shè)備,通過(guò)循環(huán)讀取由網(wǎng)絡(luò)接口接收的報(bào)文,并記錄每次成功讀取的報(bào)文數(shù)目,在已讀標(biāo)志為第一標(biāo)識(shí)的情況下,根據(jù)每次成功讀取的報(bào)文數(shù)目更新統(tǒng)計(jì)變量,該統(tǒng)計(jì)變量用于反映報(bào)文累加的數(shù)目;在每個(gè)采樣周期到達(dá)時(shí),將已讀標(biāo)志置為第二標(biāo)識(shí),并讀取統(tǒng)計(jì)變量,在讀完后將已讀標(biāo)志置為第一標(biāo)識(shí),根據(jù)讀取到的統(tǒng)計(jì)變量輸出該采樣周期內(nèi)報(bào)文的接收情況。

相比于現(xiàn)有技術(shù)所采取的靜態(tài)統(tǒng)計(jì)的方式僅能得到路由器在工作時(shí)間內(nèi)的總的報(bào)文接收量,本方案中通過(guò)在每個(gè)采樣周期到達(dá)時(shí),讀取統(tǒng)計(jì)變量,根據(jù)該讀取到的統(tǒng)計(jì)變量輸出該采樣周期內(nèi)報(bào)文的接收情況,進(jìn)而得到路由設(shè)備在工作時(shí)間內(nèi)各個(gè)采樣周期內(nèi)的包問(wèn)接收情況,從而得到報(bào)文流量的動(dòng)態(tài)變化的情況,對(duì)于路由設(shè)備中所出現(xiàn)的一些問(wèn)題的定位和報(bào)文流量分析有很好的指導(dǎo)作用。

附圖說(shuō)明

為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。

圖1為本發(fā)明實(shí)施例提供的一種報(bào)文流量的采樣方法的方法流程圖;

圖2為本發(fā)明實(shí)施例提供的一種報(bào)文流量的采樣裝置的結(jié)構(gòu)示意圖;

圖3為本發(fā)明實(shí)施例提供的一種路由設(shè)備的框架示意圖。

具體實(shí)施方式

下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。

為了便于清楚描述本發(fā)明實(shí)施例的技術(shù)方案,在本發(fā)明的實(shí)施例中,采用了“第一”、“第二”等字樣對(duì)功能或作用基本相同的相同項(xiàng)或相似項(xiàng)進(jìn)行區(qū)分,本領(lǐng)域技術(shù)人員可以理解“第一”、“第二”等字樣并不對(duì)數(shù)量和執(zhí)行次序進(jìn)行限定。

本發(fā)明實(shí)施例中提及的路由設(shè)備,該路由設(shè)備所使用的多核處理器包括一個(gè)主核和多個(gè)從核(也可以稱為轉(zhuǎn)發(fā)核)。該主核負(fù)責(zé)運(yùn)行處理報(bào)文轉(zhuǎn)發(fā)相關(guān)的業(yè)務(wù)。從核主要負(fù)責(zé)將接收的報(bào)文進(jìn)行轉(zhuǎn)發(fā),確保軟件處理可以快速獲取網(wǎng)絡(luò)接口上當(dāng)前承載的報(bào)文。

基于上述的路由設(shè)備的內(nèi)容,本發(fā)明實(shí)施例提供一種報(bào)文流量的采樣方法,如圖1所示,該方法包括:

101、循環(huán)讀取由網(wǎng)絡(luò)接口接收的報(bào)文,并記錄每次成功讀取的報(bào)文數(shù)目,在已讀標(biāo)志為第一標(biāo)識(shí)的情況下,根據(jù)每次成功讀取的報(bào)文數(shù)目更新統(tǒng)計(jì)變量。

其中,上述的統(tǒng)計(jì)變量用于反映報(bào)文累加的數(shù)目。

示例性的,上述步驟101中的執(zhí)行主體可以是從核或在從核中所建立的線程。

優(yōu)選的,為了能夠體現(xiàn)采樣周期內(nèi)報(bào)文數(shù)目的變化趨勢(shì),上述的步驟101中的根據(jù)每次成功讀取的報(bào)文數(shù)目更新統(tǒng)計(jì)變量包括:

a1、根據(jù)每次成功讀取的報(bào)文數(shù)目所處的報(bào)文數(shù)區(qū)間,將報(bào)文統(tǒng)計(jì)結(jié)構(gòu)中與該報(bào)文數(shù)區(qū)間對(duì)應(yīng)的統(tǒng)計(jì)變量增加預(yù)設(shè)常數(shù)。

其中,上述的報(bào)文統(tǒng)計(jì)結(jié)構(gòu)包含與各個(gè)報(bào)文數(shù)區(qū)間對(duì)應(yīng)的統(tǒng)計(jì)變量。

可選的,為了方便統(tǒng)計(jì),上述的預(yù)設(shè)常數(shù)為大于或等于0的數(shù)值。

進(jìn)一步優(yōu)選的,上述的報(bào)文統(tǒng)計(jì)結(jié)構(gòu)為數(shù)組,且數(shù)組中各個(gè)統(tǒng)計(jì)變量按照其排列順序依次對(duì)應(yīng)的報(bào)文數(shù)區(qū)間為連續(xù)的。

示例性的,若上述的報(bào)文數(shù)區(qū)間為4個(gè),則數(shù)組中的包含4個(gè)統(tǒng)計(jì)變量,且按照數(shù)組的排列順序分別為a、b、c以及d,則對(duì)應(yīng)的報(bào)文數(shù)區(qū)間為:[0-1/4*l1]、(1/4*l1-1/2*l1)、[1/2*l1-3/4*l1]以及(3/4*l1-l1],其中:l1表示bd環(huán)最大長(zhǎng)度。對(duì)應(yīng)的上述的步驟a1具體為:根據(jù)每次成功讀取的報(bào)文數(shù)目所處的報(bào)文數(shù)區(qū)間,將數(shù)組中與該報(bào)文數(shù)區(qū)間對(duì)應(yīng)的統(tǒng)計(jì)變量增加預(yù)設(shè)常數(shù)。例如,若某一次成功讀取的報(bào)文數(shù)目所處的報(bào)文數(shù)區(qū)間為[0-1/4*l1],則數(shù)組中的統(tǒng)計(jì)變量a的數(shù)值增加預(yù)設(shè)常數(shù);若下一次成功讀取的報(bào)文數(shù)目所處的報(bào)文數(shù)區(qū)間為(1/4*l1-1/2*l1),則數(shù)組中的統(tǒng)計(jì)變量b的數(shù)值增加與上次相同的預(yù)設(shè)常數(shù)。

102、在每個(gè)采樣周期到達(dá)時(shí),將已讀標(biāo)志置為第二標(biāo)識(shí),并讀取統(tǒng)計(jì)變量,在讀完后將已讀標(biāo)志置為第一標(biāo)識(shí),根據(jù)讀取到的統(tǒng)計(jì)變量輸出該采樣周期內(nèi)報(bào)文的接收情況。

示例性的,上述步驟102的執(zhí)行主體可以是主核或在主核中所建立的線程。

示例性的,上述的采樣周期為flowtime,該flowtime在運(yùn)行中是可配置的。具體的,工作人員或技術(shù)人員可以根據(jù)需要來(lái)配置該flowtime,例如,該采樣周期可以為10s或1s等。

示例性的,上述的已讀標(biāo)識(shí)可以用“0”“1”表示,具體的,若該已讀標(biāo)識(shí)等于1,則步驟101中從核或從核中的線程根據(jù)每次成功讀取的報(bào)文數(shù)目更新統(tǒng)計(jì)變量;若該已讀標(biāo)識(shí)等于0,則步驟102中的主核或主核中的線程讀取數(shù)組中各個(gè)統(tǒng)計(jì)變量的數(shù)值,在讀完后將readflag置為1。然后,主核或主核中的線程,以及從核或從核中的線程一直循環(huán)執(zhí)行。當(dāng)然,在采樣周期到達(dá)時(shí),主核或主核中的線程會(huì)將已讀標(biāo)識(shí)置為0。當(dāng)然,上述的0和1僅僅是一種示例,在實(shí)際應(yīng)用中,也可以利用其它標(biāo)識(shí)來(lái)表示,這里并不做限定,本實(shí)施例為了方便用0和1為例進(jìn)行說(shuō)明。

可選的,為了防止斷電后出現(xiàn)內(nèi)存中的數(shù)據(jù)丟失的問(wèn)題,上述步驟102中根據(jù)讀取到的統(tǒng)計(jì)變量輸出該采樣周期內(nèi)報(bào)文的接收情況,包括:

b1、根據(jù)讀取到的統(tǒng)計(jì)變量將該采樣周期內(nèi)報(bào)文的接收情況輸出至緩存中。

通過(guò)上述的步驟102a的內(nèi)容,將報(bào)文的接收情況輸出至緩存中,這樣使得斷電后該報(bào)文的接收情況所對(duì)應(yīng)的數(shù)據(jù)不會(huì)丟失,同時(shí)也方便后期通過(guò)這些數(shù)據(jù)來(lái)獲知網(wǎng)絡(luò)接口以及整個(gè)路由設(shè)備的工作狀態(tài)等信息。

示例性的,上述步驟102中根據(jù)讀取到的統(tǒng)計(jì)變量輸出該采樣周期內(nèi)報(bào)文的接收情況,包括:

102a、將讀取到的第n個(gè)周期的統(tǒng)計(jì)變量減去第n-1個(gè)周期的統(tǒng)計(jì)變量,得到采樣周期內(nèi)接收的報(bào)文數(shù)目。

102b、輸出該采樣周期內(nèi)接收的報(bào)文數(shù)目。

可選的,上述步驟102中在讀取統(tǒng)計(jì)變量的步驟之后,在將已讀標(biāo)志置為第一標(biāo)識(shí)的步驟之前,該方法還包括:

c1、將統(tǒng)計(jì)變量清零。

基于上述的步驟c1的內(nèi)容,上述步驟102中根據(jù)讀取到的統(tǒng)計(jì)變量輸出該采樣周期內(nèi)報(bào)文的接收情況,包括:直接根據(jù)讀取到的統(tǒng)計(jì)變量的數(shù)值輸出該采樣周期內(nèi)報(bào)文的接收情況,即無(wú)需做任何的運(yùn)算處理,直接輸出該采樣周期內(nèi)報(bào)文的接收情況。

本發(fā)明實(shí)施例提供的報(bào)文流量的采樣方法,通過(guò)循環(huán)讀取由網(wǎng)絡(luò)接口接收的報(bào)文,并記錄每次成功讀取的報(bào)文數(shù)目,在已讀標(biāo)志為第一標(biāo)識(shí)的情況下,根據(jù)每次成功讀取的報(bào)文數(shù)目更新統(tǒng)計(jì)變量,該統(tǒng)計(jì)變量用于反映報(bào)文累加的數(shù)目;在每個(gè)采樣周期到達(dá)時(shí),將已讀標(biāo)志置為第二標(biāo)識(shí),并讀取統(tǒng)計(jì)變量,在讀完后將已讀標(biāo)志置為第一標(biāo)識(shí),根據(jù)讀取到的統(tǒng)計(jì)變量輸出該采樣周期內(nèi)報(bào)文的接收情況。

相比于現(xiàn)有技術(shù)所采取的靜態(tài)統(tǒng)計(jì)的方式僅能得到路由器在工作時(shí)間內(nèi)的總的報(bào)文接收量,本方案中通過(guò)在每個(gè)采樣周期到達(dá)時(shí),讀取統(tǒng)計(jì)變量,根據(jù)該讀取到的統(tǒng)計(jì)變量輸出該采樣周期內(nèi)報(bào)文的接收情況,進(jìn)而得到路由設(shè)備在工作時(shí)間內(nèi)各個(gè)采樣周期內(nèi)的包問(wèn)接收情況,從而得到報(bào)文流量的動(dòng)態(tài)變化的情況,對(duì)于路由設(shè)備中所出現(xiàn)的一些問(wèn)題的定位和報(bào)文流量分析有很好的指導(dǎo)作用。

下面將基于圖1對(duì)應(yīng)的報(bào)文流量的采樣方法的實(shí)施例中的相關(guān)描述對(duì)本發(fā)明實(shí)施例提供的一種報(bào)文流量的采樣裝置進(jìn)行介紹。以下實(shí)施例中與上述實(shí)施例相關(guān)的技術(shù)術(shù)語(yǔ)、概念等的說(shuō)明可以參照上述的實(shí)施例,這里不再贅述。

本發(fā)明實(shí)施例提供一種報(bào)文流量的采樣裝置,如圖2所示,該裝置2包括:讀取模塊21、更新模塊22、處理模塊23以及輸出模塊24,其中:

讀取模塊21,用于循環(huán)讀取由網(wǎng)絡(luò)接口接收的報(bào)文,并記錄每次成功讀取的報(bào)文數(shù)目。

更新模塊22,用于在已讀標(biāo)志為第一標(biāo)識(shí)的情況下,根據(jù)每次成功讀取的報(bào)文數(shù)目更新統(tǒng)計(jì)變量,統(tǒng)計(jì)變量用于反映報(bào)文累加的數(shù)目。

處理模塊23,用于在每個(gè)采樣周期到達(dá)時(shí),將已讀標(biāo)志置為第二標(biāo)識(shí),并讀取統(tǒng)計(jì)變量,在讀完后將已讀標(biāo)志置為第一標(biāo)識(shí)。

輸出模塊24,用于根據(jù)讀取到的統(tǒng)計(jì)變量輸出該采樣周期內(nèi)報(bào)文的接收情況。

示例性的,為了能夠體現(xiàn)采樣周期內(nèi)報(bào)文數(shù)目的變化趨勢(shì),上述的更新模塊22在根據(jù)每次成功讀取的報(bào)文數(shù)目更新統(tǒng)計(jì)變量時(shí),具體用于:

根據(jù)每次成功讀取的報(bào)文數(shù)目所處的報(bào)文數(shù)區(qū)間,將報(bào)文統(tǒng)計(jì)結(jié)構(gòu)中與該報(bào)文數(shù)區(qū)間對(duì)應(yīng)的統(tǒng)計(jì)變量增加預(yù)設(shè)常數(shù)。

其中,上述的報(bào)文統(tǒng)計(jì)結(jié)構(gòu)包含與各個(gè)報(bào)文數(shù)區(qū)間對(duì)應(yīng)的統(tǒng)計(jì)變量。

可選的,為了方便統(tǒng)計(jì),上述的預(yù)設(shè)常數(shù)為大于或等于0的數(shù)值。

進(jìn)一步優(yōu)選的,上述的報(bào)文統(tǒng)計(jì)結(jié)構(gòu)為數(shù)組,且數(shù)組中各個(gè)統(tǒng)計(jì)變量按照其排列順序依次對(duì)應(yīng)的報(bào)文數(shù)區(qū)間為連續(xù)的。

可選的,為了防止斷電后出現(xiàn)內(nèi)存中的數(shù)據(jù)丟失的問(wèn)題,上述的輸出模塊24具體用于:

根據(jù)讀取到的統(tǒng)計(jì)變量將該采樣周期內(nèi)報(bào)文的接收情況輸出至緩存中。

通過(guò)上述的輸出模塊24將報(bào)文的接收情況輸出至緩存中,這樣使得斷電后該報(bào)文的接收情況所對(duì)應(yīng)的數(shù)據(jù)不會(huì)丟失,同時(shí)也方便后期通過(guò)這些數(shù)據(jù)來(lái)獲知網(wǎng)絡(luò)接口以及整個(gè)路由設(shè)備的工作狀態(tài)等信息。

示例性的,上述的輸出模塊24具體用于:

將讀取到的第n個(gè)周期的統(tǒng)計(jì)變量減去第n-1個(gè)周期的統(tǒng)計(jì)變量,得到采樣周期內(nèi)接收的報(bào)文數(shù)目。

輸出該采樣周期內(nèi)接收的報(bào)文數(shù)目。

可選的,如圖2所示,該裝置2還包括:清零模塊25,其中:

清零模塊25,用于將上述的統(tǒng)計(jì)變量清零。

相比于現(xiàn)有技術(shù)所采取的靜態(tài)統(tǒng)計(jì)的方式僅能得到路由器在工作時(shí)間內(nèi)的總的報(bào)文接收量,本方案中通過(guò)在每個(gè)采樣周期到達(dá)時(shí),讀取統(tǒng)計(jì)變量,根據(jù)該讀取到的統(tǒng)計(jì)變量輸出該采樣周期內(nèi)報(bào)文的接收情況,進(jìn)而得到路由設(shè)備在工作時(shí)間內(nèi)各個(gè)采樣周期內(nèi)的包問(wèn)接收情況,從而得到報(bào)文流量的動(dòng)態(tài)變化的情況,對(duì)于路由設(shè)備中所出現(xiàn)的一些問(wèn)題的定位和報(bào)文流量分析有很好的指導(dǎo)作用。

下面將基于圖1對(duì)應(yīng)的報(bào)文流量的采樣方法的實(shí)施例中的相關(guān)描述對(duì)本發(fā)明實(shí)施例提供的一種路由設(shè)備進(jìn)行介紹。以下實(shí)施例中與上述實(shí)施例相關(guān)的技術(shù)術(shù)語(yǔ)、概念等的說(shuō)明可以參照上述的實(shí)施例,這里不再贅述。

本發(fā)明實(shí)施例提供一種路由設(shè)備,該路由設(shè)備包括:

網(wǎng)絡(luò)接口,用于接收?qǐng)?bào)文。

從核,該從核上創(chuàng)建的線程用于循環(huán)讀取由與從核對(duì)應(yīng)的網(wǎng)絡(luò)接口接收的報(bào)文,并記錄每次成功讀取的報(bào)文數(shù)目,在已讀標(biāo)志為第一標(biāo)識(shí)的情況下,根據(jù)每次成功讀取的報(bào)文數(shù)目更新統(tǒng)計(jì)變量,統(tǒng)計(jì)變量用于反映報(bào)文累加的數(shù)目;還用于轉(zhuǎn)發(fā)由所述網(wǎng)絡(luò)接口接收的報(bào)文。

主核,該主核上創(chuàng)建的線程用于在每個(gè)采樣周期到達(dá)時(shí),將已讀標(biāo)志置為第二標(biāo)識(shí),并讀取統(tǒng)計(jì)變量,在讀完后將所述已讀標(biāo)志置為第一標(biāo)識(shí),根據(jù)讀取到的統(tǒng)計(jì)變量輸出該采樣周期內(nèi)報(bào)文的接收情況。

示例性的,上述的網(wǎng)絡(luò)接口還用于將接收的報(bào)文掛載在bd環(huán)上。

具體的,上述的網(wǎng)絡(luò)接口中包含報(bào)文接收芯片,該報(bào)文接收芯片將接收的報(bào)文掛載在bd環(huán)上。

基于上述的內(nèi)容,上述的從核上創(chuàng)建的線程具體用于:

循環(huán)從bd環(huán)上讀取報(bào)文,并記錄每次成功讀取的報(bào)文數(shù)目,在已讀標(biāo)志為第一標(biāo)識(shí)的情況下,根據(jù)每次成功讀取的報(bào)文數(shù)目更新統(tǒng)計(jì)變量,該統(tǒng)計(jì)變量用于反映報(bào)文累加的數(shù)目;轉(zhuǎn)發(fā)由網(wǎng)絡(luò)接口接收的報(bào)文。

優(yōu)選的,上述的主核上創(chuàng)建有第一線程和第二線程。其中:

該第一線程用于在每個(gè)采樣周期到達(dá)時(shí),將已讀標(biāo)志置為第二標(biāo)識(shí),并讀取統(tǒng)計(jì)變量,在讀完后將已讀標(biāo)志置為第一標(biāo)識(shí)。

該第二線程用于根據(jù)讀取到的統(tǒng)計(jì)變量輸出該采樣周期內(nèi)報(bào)文的接收情況。

其中,上述的第一線程和第二線程間通過(guò)互斥信號(hào)量flowsem進(jìn)行同步,第二線程阻塞等待信號(hào)量flowsem,當(dāng)?shù)谝痪€程讀取統(tǒng)計(jì)變量后釋放信號(hào)量flowsem,第二線程才根據(jù)讀取到的統(tǒng)計(jì)變量輸出該采樣周期內(nèi)報(bào)文的接收情況。

優(yōu)選的,為了能夠體現(xiàn)采樣周期內(nèi)報(bào)文數(shù)目的變化趨勢(shì),上述的從核上創(chuàng)建的線程在根據(jù)每次成功讀取的報(bào)文數(shù)目更新統(tǒng)計(jì)變量時(shí),具體用于:

根據(jù)每次成功讀取的報(bào)文數(shù)目所處的報(bào)文數(shù)區(qū)間,將報(bào)文統(tǒng)計(jì)結(jié)構(gòu)中與該報(bào)文數(shù)區(qū)間對(duì)應(yīng)的統(tǒng)計(jì)變量增加預(yù)設(shè)常數(shù)。

其中,上述的報(bào)文統(tǒng)計(jì)結(jié)構(gòu)包含與各個(gè)報(bào)文數(shù)區(qū)間對(duì)應(yīng)的統(tǒng)計(jì)變量。

可選的,為了方便統(tǒng)計(jì),上述的預(yù)設(shè)常數(shù)為大于或等于0的數(shù)值。

進(jìn)一步優(yōu)選的,上述的報(bào)文統(tǒng)計(jì)結(jié)構(gòu)為數(shù)組,且數(shù)組中各個(gè)統(tǒng)計(jì)變量按照其排列順序依次對(duì)應(yīng)的報(bào)文數(shù)區(qū)間為連續(xù)的。

示例性的,若上述的報(bào)文數(shù)區(qū)間為4個(gè),則數(shù)組中的包含4個(gè)統(tǒng)計(jì)變量,且按照數(shù)組的排列順序分別為a、b、c以及d,則對(duì)應(yīng)的報(bào)文數(shù)區(qū)間可以為:[0-1/4*l1]、(1/4*l1-1/2*l1)、[1/2*l1-3/4*l1]以及(3/4*l1-l1],其中:l1表示bd環(huán)最大長(zhǎng)度。對(duì)應(yīng)的上述的步驟a1具體為:根據(jù)每次成功讀取的報(bào)文數(shù)目所處的報(bào)文數(shù)區(qū)間,將數(shù)組中與該報(bào)文數(shù)區(qū)間對(duì)應(yīng)的統(tǒng)計(jì)變量增加預(yù)設(shè)常數(shù)。例如,若某一次成功讀取的報(bào)文數(shù)目所處的報(bào)文數(shù)區(qū)間為[0-1/4*l1],則數(shù)組中的統(tǒng)計(jì)變量a的數(shù)值增加預(yù)設(shè)常數(shù);若下一次成功讀取的報(bào)文數(shù)目所處的報(bào)文數(shù)區(qū)間為(1/4*l1-1/2*l1),則數(shù)組中的統(tǒng)計(jì)變量b的數(shù)值增加與上次相同的預(yù)設(shè)常數(shù)。

示例性的,上述的主核上創(chuàng)建的線程在根據(jù)所述讀取到的統(tǒng)計(jì)變量輸出該采樣周期內(nèi)報(bào)文的接收情況時(shí),還具體用于:

將讀取到的第n個(gè)周期的統(tǒng)計(jì)變量減去第n-1個(gè)周期的統(tǒng)計(jì)變量,得到采樣周期內(nèi)報(bào)文的接收情況。

輸出該采樣周期內(nèi)報(bào)文的接收情況。

可選的,上述的主核上創(chuàng)建的線程還用于:將統(tǒng)計(jì)變量清零。當(dāng)主核上創(chuàng)建的線程將統(tǒng)計(jì)變量清零時(shí),主主核上創(chuàng)建的線程直接根據(jù)讀取的到統(tǒng)計(jì)變量的數(shù)值輸出該采樣周期內(nèi)報(bào)文的接收情況。

本發(fā)明實(shí)施例提供的路由設(shè)備,通過(guò)從核上創(chuàng)建的線程循環(huán)讀取由與從核對(duì)應(yīng)的網(wǎng)絡(luò)接口接收的報(bào)文,并記錄每次成功讀取的報(bào)文數(shù)目,在已讀標(biāo)志為第一標(biāo)識(shí)的情況下,根據(jù)每次成功讀取的報(bào)文數(shù)目更新統(tǒng)計(jì)變量,統(tǒng)計(jì)變量用于反映報(bào)文累加的數(shù)目;還用于轉(zhuǎn)發(fā)由所述網(wǎng)絡(luò)接口接收的報(bào)文。通過(guò)該主核上創(chuàng)建的線程在每個(gè)采樣周期到達(dá)時(shí),將已讀標(biāo)志置為第二標(biāo)識(shí),并讀取統(tǒng)計(jì)變量,在讀完后將所述已讀標(biāo)志置為第一標(biāo)識(shí),根據(jù)讀取到的統(tǒng)計(jì)變量輸出該采樣周期內(nèi)報(bào)文的接收情況。

相比于現(xiàn)有技術(shù)所采取的靜態(tài)統(tǒng)計(jì)的方式僅能得到路由器在工作時(shí)間內(nèi)的總的報(bào)文接收量,本方案中的主核上創(chuàng)建的線程通過(guò)在每個(gè)采樣周期到達(dá)時(shí),讀取統(tǒng)計(jì)變量,根據(jù)該讀取到的統(tǒng)計(jì)變量輸出該采樣周期內(nèi)報(bào)文的接收情況,進(jìn)而得到路由設(shè)備在工作時(shí)間內(nèi)各個(gè)采樣周期內(nèi)的包問(wèn)接收情況,從而得到報(bào)文流量的動(dòng)態(tài)變化的情況,對(duì)于路由設(shè)備中所出現(xiàn)的一些問(wèn)題的定位和報(bào)文流量分析有很好的指導(dǎo)作用。

下面將基于路由器中的多核處理器的框架,以具體的內(nèi)容來(lái)解釋并說(shuō)明上述所描述的路由設(shè)備的內(nèi)容,詳細(xì)內(nèi)容參考以下幾個(gè)部分的內(nèi)容:

(a)基于上述的路由器中的多核處理器的框架,本發(fā)明實(shí)施例中在主核上創(chuàng)建一個(gè)線程flowctrl,該線程負(fù)責(zé)周期性讀取每一個(gè)從核在該采樣周期內(nèi)報(bào)文的接收情況,假設(shè)采樣周期為flowtime,該采樣周期是運(yùn)行中可配置的。在主核中創(chuàng)建另一個(gè)線程flowprocess,該線程flowprocess根據(jù)每一個(gè)周期內(nèi)獲取的所有從核的報(bào)文流量進(jìn)行計(jì)算,就可以描繪出連續(xù)時(shí)間內(nèi)報(bào)文接收流量的變化情況,并將統(tǒng)計(jì)結(jié)果保存至flash中,用于流量分析等用途,其中:線程flowctrl和flowprocess之間通過(guò)互斥信號(hào)量flowsem進(jìn)行同步,線程flowprocess阻塞等待信號(hào)量flowsem,當(dāng)線程flowctrl讀取采樣值后釋放信號(hào)量flowsem,線程flowprocess開始進(jìn)行報(bào)文流量計(jì)算。

(b)基于上述的路由器中的多核處理器的框架,本發(fā)明實(shí)施例中在每一個(gè)從核上創(chuàng)建一個(gè)線程flowrecv,該線程負(fù)責(zé)循環(huán)從bd環(huán)上讀取報(bào)文,對(duì)接收的報(bào)文進(jìn)行處理和轉(zhuǎn)發(fā)。同時(shí),該線程flowrecv會(huì)記錄每一次從bd環(huán)上成功讀取的報(bào)文個(gè)數(shù),存儲(chǔ)到針對(duì)該從核建立的報(bào)文接收統(tǒng)計(jì)結(jié)構(gòu)flowsum中,用于主核上的線程flowctrl進(jìn)行讀取和分析。

(c)基于路由設(shè)備中的網(wǎng)絡(luò)接口中所使用的報(bào)文接收芯片,對(duì)(b)中描述的bd環(huán),報(bào)文接收芯片會(huì)將接收的報(bào)文掛載到bd環(huán)上。假設(shè)該bd環(huán)最大長(zhǎng)度為l1,當(dāng)前bd環(huán)上已經(jīng)承載的報(bào)文個(gè)數(shù)為l2。當(dāng)l2=l1時(shí),若軟件不從bd環(huán)上讀取報(bào)文,則后續(xù)報(bào)文就會(huì)被丟棄。

(d)基于(c)中所描述的bd環(huán)長(zhǎng)度,假設(shè)每次軟件從bd環(huán)上可成功讀取的報(bào)文個(gè)數(shù)為l3,則l3≤l2≤l1。將報(bào)文接收個(gè)數(shù)區(qū)間劃分為[0-1/4*l1]、(1/4*l1-1/2*l1)、[1/2*l1-3/4*l1]、(3/4*l1-l1]。根據(jù)每次讀取的報(bào)文個(gè)數(shù)l3落在不同區(qū)間的次數(shù),就可以反映出一個(gè)采樣周期內(nèi)報(bào)文流量的大小變化情況。

(e)對(duì)于(b)中描述的報(bào)文接收統(tǒng)計(jì)結(jié)構(gòu)flowsum[],該結(jié)構(gòu)對(duì)于每一個(gè)從核而言,可以是一個(gè)長(zhǎng)度為m的數(shù)組,m的大小為上述中報(bào)文接收個(gè)數(shù)區(qū)間的數(shù)目。通過(guò)標(biāo)志readflag實(shí)現(xiàn)主核中線程flowctrl和從核中線程flowrecv對(duì)該統(tǒng)計(jì)結(jié)構(gòu)flowsum[]的無(wú)鎖訪問(wèn),避免降低轉(zhuǎn)發(fā)性能。

具體的,從核中線程flowrecv循環(huán)讀取由路由設(shè)備的網(wǎng)絡(luò)接口接收的報(bào)文,并記錄每次成功讀取的報(bào)文數(shù)目,在readflag等于1時(shí),根據(jù)每次成功讀取的報(bào)文數(shù)目更新數(shù)組中的各個(gè)統(tǒng)計(jì)變量。

主核中線程flowctrl在每個(gè)采樣周期到達(dá)時(shí),將readflag置為0,并讀取數(shù)組中各個(gè)統(tǒng)計(jì)變量的數(shù)值,在讀完后將readflag置為1。然后從核中線程flowrecv根據(jù)該readflag值為1,進(jìn)行更新數(shù)組中的各個(gè)統(tǒng)計(jì)變量,一直循環(huán),直到結(jié)束。

(f)從核在每次從bd環(huán)讀取報(bào)文后,根據(jù)readflag標(biāo)志和此次讀取的報(bào)文個(gè)數(shù)l3的區(qū)間分布,對(duì)統(tǒng)計(jì)結(jié)構(gòu)flowsum[]中的對(duì)應(yīng)元素進(jìn)行累加。

(g)當(dāng)主核線程flowctrl采樣的周期flowtime到達(dá)時(shí),遍歷讀取每個(gè)轉(zhuǎn)發(fā)核的統(tǒng)計(jì)結(jié)構(gòu)flowsum。當(dāng)主核線程flowctrl完成所有轉(zhuǎn)發(fā)核的統(tǒng)計(jì)結(jié)構(gòu)flowsum[]的讀取后,釋放信號(hào)量flowsem,由線程flowprocess處理采樣值。并再次等待采樣周期flowtime的到達(dá)。

(h)通過(guò)對(duì)主核線程flowctrl的采樣周期flowtime和readflag標(biāo)志的設(shè)置,可以動(dòng)態(tài)關(guān)閉或開啟從核上的流量采樣,實(shí)現(xiàn)按需開啟的目的。例如,將上述的采樣周期flowtime設(shè)為無(wú)窮大,且readflag置為0,由于readflag為0使得從核不工作,采樣周期為無(wú)窮大使得主核等不到采樣周期的到達(dá)也無(wú)法工作,這樣就關(guān)閉了流量采集和處理的功能。

根據(jù)上面(a)-(h)內(nèi)容的描述,以一個(gè)從核而言,本發(fā)明的實(shí)現(xiàn)框架如圖3所示?;趫D3所示的路由設(shè)備的框架示意圖,本方案中通過(guò)從核上創(chuàng)建的線程flowrecv循環(huán)從bd環(huán)上讀取報(bào)文,并記錄每次成功讀取的報(bào)文數(shù)目,在已讀標(biāo)志為第一標(biāo)識(shí)的情況下,根據(jù)每次成功讀取的報(bào)文數(shù)目更新統(tǒng)計(jì)變量,該統(tǒng)計(jì)變量用于反映報(bào)文累加的數(shù)目。主核上創(chuàng)建的線程flowctrl在每個(gè)采樣周期到達(dá)時(shí),將已讀標(biāo)志置為第二標(biāo)識(shí),并讀取統(tǒng)計(jì)變量,在讀完后將已讀標(biāo)志置為第一標(biāo)識(shí);主核上創(chuàng)建的線程flowprocess根據(jù)讀取到的統(tǒng)計(jì)變量輸出該采樣周期內(nèi)報(bào)文的接收情況。如此可以得到每個(gè)采樣周期內(nèi)報(bào)文的接收情況,從而可以獲得報(bào)文數(shù)目隨時(shí)間動(dòng)態(tài)變化的趨勢(shì)。

需要說(shuō)明的是,上述僅僅是以bd環(huán)接收模式為例進(jìn)行說(shuō)明本發(fā)明實(shí)施例過(guò)程,這里并不進(jìn)行限定。而本方案提供的報(bào)文流量采樣方法也可應(yīng)用于其他接收?qǐng)?bào)文的方式中。

通過(guò)以上的實(shí)施方式的描述,所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為描述的方便和簡(jiǎn)潔,僅以上述各功能模塊的劃分進(jìn)行舉例說(shuō)明,實(shí)際應(yīng)用中,可以根據(jù)需要而將上述功能分配由不同的功能模塊完成,即將裝置的內(nèi)部結(jié)構(gòu)劃分成不同的功能模塊,以完成以上描述的全部或者部分功能。上述描述的系統(tǒng),裝置和單元的具體工作過(guò)程,可以參考前述方法實(shí)施例中的對(duì)應(yīng)過(guò)程,在此不再贅述。

在本申請(qǐng)所提供的幾個(gè)實(shí)施例中,應(yīng)該理解到,所揭露的報(bào)文流量的采樣裝置,可以通過(guò)其它的方式實(shí)現(xiàn)。例如,以上所描述裝置的實(shí)施例僅僅是示意性的,例如,所述模塊或單元的劃分,僅僅為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時(shí)可以有另外的劃分方式,例如多個(gè)單元或組件可以結(jié)合或者可以集成到另一個(gè)系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點(diǎn),所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過(guò)一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機(jī)械或其它的形式。

所述作為分離部件說(shuō)明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部單元來(lái)實(shí)現(xiàn)本實(shí)施例方案的目的。

另外,在本發(fā)明各個(gè)實(shí)施例中的各功能單元可以集成在一個(gè)處理單元中,也可以是各個(gè)單元單獨(dú)物理存在,也可以兩個(gè)或兩個(gè)以上單元集成在一個(gè)單元中。上述集成的單元既可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能單元的形式實(shí)現(xiàn)。

所述集成的單元如果以軟件功能單元的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中。基于這樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說(shuō)對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的全部或部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)或處理器(processor)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述方法的全部或部分步驟。而前述的存儲(chǔ)介質(zhì)包括:u盤、移動(dòng)硬盤、只讀存儲(chǔ)器(rom,read-onlymemory)、隨機(jī)存取存儲(chǔ)器(ram,randomaccessmemory)、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。

以上所述,僅為本發(fā)明的具體實(shí)施方式,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)以所述權(quán)利要求的保護(hù)范圍為準(zhǔn)。

當(dāng)前第1頁(yè)1 2 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
米脂县| 闽清县| 五河县| 上林县| 仪陇县| 迭部县| 澄江县| 德兴市| 沙坪坝区| 哈尔滨市| 永城市| 洪泽县| 石台县| 鞍山市| 长兴县| 鄂托克旗| 武穴市| 洪泽县| 历史| 和平县| 沙河市| 成武县| 元氏县| 三台县| 秀山| 阜宁县| 松江区| 宁都县| 金秀| 天津市| 汾西县| 镶黄旗| 玉屏| 镇江市| 隆尧县| 宜都市| 即墨市| 仪陇县| 公安县| 凌云县| 九龙城区|