專利名稱:流量控制方法、裝置及網(wǎng)絡(luò)設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)通信技術(shù),尤其涉及一種流量控制方法、裝置及網(wǎng)絡(luò)設(shè)備。
背景技術(shù):
點對點(Peer to Peer ;簡稱為P2P)應(yīng)用是一種基于P2P技術(shù)的應(yīng)用。在P2P 系統(tǒng)中,每個客戶端在下載數(shù)據(jù)的同時又會不斷的上傳數(shù)據(jù),這可以減輕運營商服務(wù)器 的負(fù)擔(dān),同時用戶也可獲得流暢的服務(wù),因此,基于P2P技術(shù)的應(yīng)用層出不窮,例如 PPLIVE、QQLIVE等軟件都屬于應(yīng)用P2P技術(shù)的軟件。目前多數(shù)P2P應(yīng)用使用用戶數(shù)據(jù) 包協(xié)議(UserDatagram Protocol ;簡稱為UDP)進(jìn)行數(shù)據(jù)傳輸,其中具有相同源網(wǎng)際協(xié) 議(Internet Protocol ;簡稱為IP)地址、目的IP地址、IP協(xié)議、UDP源端口禾PUDP目 的端口的報文流為數(shù)據(jù)流。隨著P2P應(yīng)用越來越普遍,P2P應(yīng)用消耗了大量的網(wǎng)絡(luò)帶寬,若不對該P2P應(yīng) 用中的流量進(jìn)行控制,將會嚴(yán)重影響整個網(wǎng)絡(luò)的正常使用?,F(xiàn)有的流量控制方法主要 是由網(wǎng)絡(luò)出口設(shè)備對接收到的流量進(jìn)行限速控制輸出流量,以通過對輸出流量的控制 來達(dá)到控制輸入流量的目的。以圖1所示的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)為例,內(nèi)網(wǎng)PC向網(wǎng)絡(luò)出口 設(shè)備發(fā)送的數(shù)據(jù)流為數(shù)據(jù)流fl,網(wǎng)絡(luò)出口設(shè)備處理后發(fā)送給互聯(lián)網(wǎng)服務(wù)提供商(Internet ServiceProvider ;簡稱為ISP)網(wǎng)絡(luò)的數(shù)據(jù)流為數(shù)據(jù)流f2,通過ISP網(wǎng)絡(luò)發(fā)送給內(nèi)網(wǎng)的數(shù) 據(jù)流為數(shù)據(jù)流f3,網(wǎng)絡(luò)出口設(shè)備處理后發(fā)送給PC的數(shù)據(jù)流為數(shù)據(jù)流f4。對于網(wǎng)絡(luò)出口 設(shè)備而言,無法直接控制數(shù)據(jù)流fl和數(shù)據(jù)流f3,因此,網(wǎng)絡(luò)出口設(shè)備通過直接對數(shù)據(jù)流 G和數(shù)據(jù)流f4進(jìn)行限速達(dá)到流量控制的目的。對于數(shù)據(jù)流f3過大出現(xiàn)擁塞的情況,網(wǎng) 絡(luò)出口設(shè)備是通過控制數(shù)據(jù)流f2和數(shù)據(jù)流f4來影響數(shù)據(jù)流f3,該效果一般較差,因為對 于P2P應(yīng)用而言,由于處理前后流量的相關(guān)性不大,因此,很難通過數(shù)據(jù)流G和數(shù)據(jù)流 f4的大小來影響數(shù)據(jù)流f3,因此,上述流控方法很難有效控制P2P流量對線路帶寬的消 耗,仍會導(dǎo)致網(wǎng)絡(luò)擁塞,降低了網(wǎng)絡(luò)帶寬的利用率。另外,通過控制P2P的連接數(shù)也是一種常見的流控方法。由于P2P應(yīng)用的數(shù)據(jù) 流都是從外部客戶端獲取的,為了得到較快的速率,P2P應(yīng)用都會盡可能要求連接更多的 外部客戶端,因此,通過控制P2P的連接數(shù)具有一定的流控效果,但是流控效果較差, 由于P2P連接有時只需很少的連接就可以達(dá)到很大的流量。另外,現(xiàn)有技術(shù)也有將上述兩種方法結(jié)合使用來進(jìn)行流量控制,但是每種方法 的缺陷依然存在,流控效果仍然較差。
發(fā)明內(nèi)容
本發(fā)明提供一種流量控制方法、裝置及網(wǎng)絡(luò)設(shè)備,用以提高流量控制的效果, 減輕網(wǎng)絡(luò)擁塞,提高網(wǎng)絡(luò)帶寬利用率。本發(fā)明提供一種流量控制方法,包括獲取網(wǎng)絡(luò)設(shè)備的輸入數(shù)據(jù)流量和輸出數(shù)據(jù)流量;
5
根據(jù)所述輸入數(shù)據(jù)流量、所述輸出數(shù)據(jù)流量和至少一個預(yù)設(shè)門限值,獲取所述 網(wǎng)絡(luò)設(shè)備的流控級別;執(zhí)行所述流控級別對應(yīng)的流量控制操作,以進(jìn)行流量控制。本發(fā)明提供一種流量控制裝置,包括流量獲取模塊,用于獲取網(wǎng)絡(luò)設(shè)備的輸入數(shù)據(jù)流量和輸出數(shù)據(jù)流量;級別獲取模塊,用于根據(jù)所述輸入數(shù)據(jù)流量、所述輸出數(shù)據(jù)流量和至少一個預(yù) 設(shè)門限值,獲取所述網(wǎng)絡(luò)設(shè)備的流控級別;執(zhí)行模塊,用于執(zhí)行所述流控級別對應(yīng)的流量控制操作,以進(jìn)行流量控制。本發(fā)明提供一種網(wǎng)絡(luò)設(shè)備,包括本發(fā)明提供的任一流量控制裝置。本發(fā)明的流量控制方法、裝置及網(wǎng)絡(luò)設(shè)備,通過獲取輸入網(wǎng)絡(luò)設(shè)備的數(shù)據(jù)流量 和網(wǎng)絡(luò)設(shè)備輸出的數(shù)據(jù)流量;根據(jù)輸入數(shù)據(jù)流量、輸出數(shù)據(jù)流量和至少一個預(yù)設(shè)門限 值,可獲取網(wǎng)絡(luò)設(shè)備當(dāng)前的流控級別,然后,執(zhí)行與流控級別相應(yīng)的流量控制操作以進(jìn) 行流量控制。與現(xiàn)有技術(shù)相比,本發(fā)明根據(jù)流控級別可以動態(tài)執(zhí)行流量控制操作以進(jìn)行 流量控制,其流量控制效果較高,減輕了網(wǎng)絡(luò)堵塞,提高了網(wǎng)絡(luò)帶寬的利用率。
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或 現(xiàn)有技術(shù)描述中所需要使用的附圖作一簡單地介紹,顯而易見地,下面描述中的附圖是 本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下, 還可以根據(jù)這些附圖獲得其他的附圖。圖1為現(xiàn)有技術(shù)一種網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)示意圖;圖2為本發(fā)明實施例一提供的流量控制方法的流程圖;圖3為本發(fā)明實施例二提供的流量控制方法的流程圖;圖4為本發(fā)明實施例三提供的流量控制裝置的結(jié)構(gòu)示意圖;圖5為本發(fā)明實施例四提供的流量控制裝置的結(jié)構(gòu)示意圖。
具體實施例方式為使本發(fā)明實施例的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合本發(fā)明實施 例中的附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實 施例是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普 通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護(hù) 的范圍。圖2為本發(fā)明實施例一提供的流量控制方法的流程圖。如圖2所示,本實施例 的方法包括步驟21、獲取網(wǎng)絡(luò)設(shè)備的輸入數(shù)據(jù)流量和輸出數(shù)據(jù)流量;其中,網(wǎng)絡(luò)設(shè)備主要是指位于網(wǎng)絡(luò)邊緣的網(wǎng)絡(luò)出口設(shè)備,主要負(fù)責(zé)對流入網(wǎng)絡(luò) 設(shè)備所在網(wǎng)絡(luò)的數(shù)據(jù)流和流出網(wǎng)絡(luò)的數(shù)據(jù)流進(jìn)行流量控制;通常,網(wǎng)絡(luò)設(shè)備通過預(yù)先設(shè) 置的允許流量閾值,進(jìn)行流量控制。具體的,網(wǎng)絡(luò)設(shè)備接收由外部流入網(wǎng)絡(luò)的數(shù)據(jù)流 量,即輸入數(shù)據(jù)流量,并根據(jù)允許流量閾值對該輸入數(shù)據(jù)流量進(jìn)行流量控制,然后輸出經(jīng)過流量控制后的數(shù)據(jù)流,即輸出數(shù)據(jù)流量。在本實施例中,網(wǎng)絡(luò)設(shè)備獲取輸入數(shù)據(jù)流 量和輸出數(shù)據(jù)流量。步驟22、根據(jù)輸入數(shù)據(jù)流量、輸出數(shù)據(jù)流量和至少一個預(yù)設(shè)門限值,獲取網(wǎng)絡(luò) 設(shè)備的流控級別;通常,網(wǎng)絡(luò)設(shè)備的輸入數(shù)據(jù)流量和輸出數(shù)據(jù)流量越接近,說明網(wǎng)絡(luò)狀態(tài)越好, 帶寬利用率越高;而如果輸入數(shù)據(jù)流量遠(yuǎn)大于輸出數(shù)據(jù)流量,說明網(wǎng)絡(luò)發(fā)生擁塞,帶寬 利用率會降低。其中,輸入數(shù)據(jù)流量和輸出數(shù)據(jù)流量的大小關(guān)系可表示出是否需要進(jìn)行 流量控制,以及進(jìn)行流量控制的程度。其中,輸入數(shù)據(jù)流量和輸出數(shù)據(jù)流量的大小關(guān)系可以用輸入數(shù)據(jù)流量和輸出數(shù) 據(jù)流量的差值表示,也可以用輸入數(shù)據(jù)流量和輸出數(shù)據(jù)流量的比值來表示。基于上述, 為了判斷輸入數(shù)據(jù)流量和輸出數(shù)據(jù)流量的大小關(guān)系,在本實施例的網(wǎng)絡(luò)設(shè)備上預(yù)先設(shè)置 了至少一個門限值,通過將差值或比值和至少一個門限值進(jìn)行比較,可以將當(dāng)前輸入數(shù) 據(jù)流量和輸出數(shù)據(jù)流量的大小關(guān)系進(jìn)行分級,以便于更清楚的了解當(dāng)前網(wǎng)絡(luò)狀態(tài)和帶寬 利用率,同時獲取需要進(jìn)行流量控制的程度,即流控級別。其中,根據(jù)表示輸入數(shù)據(jù)流 量和輸出數(shù)據(jù)流量大小的方式至少一個門限值的設(shè)定方式會不同。例如當(dāng)采用差值形 式時,預(yù)設(shè)門限值為一具體的數(shù)據(jù)流量值,具有數(shù)據(jù)流量的單位;當(dāng)采用比值時,預(yù)設(shè) 門限值也是一比值,沒有單位。步驟23、執(zhí)行流控級別對應(yīng)的流量控制操作,以進(jìn)行流量控制。當(dāng)網(wǎng)絡(luò)設(shè)備獲取到流控級別時,通過執(zhí)行與流控級別相適應(yīng)的流量控制操作, 以對輸入數(shù)據(jù)流量進(jìn)行控制。例如當(dāng)獲取到流控級別較高,即差值或比值較大時,可 以采取多種流控策略同時進(jìn)行流量控制;當(dāng)獲取到的流控級別較低,即差值或比值較小 時,說明輸入數(shù)據(jù)流量和輸出數(shù)據(jù)流量比較接近,此時,可以采用簡單的流控策略(例 如丟包處理)進(jìn)行流量控制。其中,流量控制操作可由各種流控策略構(gòu)成,例如可以包括普通的限速操作 (即丟包處理方式)、阻斷連接數(shù)操作等。本實施例的流量控制方法,通過獲取輸入數(shù)據(jù)流量和輸出數(shù)據(jù)流量的大小關(guān) 系,并通過將輸入數(shù)據(jù)流量和輸出數(shù)據(jù)流量的大小關(guān)系與預(yù)設(shè)門限值進(jìn)行比較,獲取流 控級別,針對不同的流控級別采取不同的流量控制操作;而隨著流量控制的進(jìn)行,獲取 的輸入數(shù)據(jù)流量和輸出數(shù)據(jù)流量的大小關(guān)系實際上反應(yīng)了當(dāng)前流量控制的效果,即采用 本實施例技術(shù)方案可以根據(jù)流量控制的效果動態(tài)調(diào)整流量控制操作,例如當(dāng)流控效果 較好時,可以執(zhí)行較簡單的流量控制操作;尤其當(dāng)流控效果較差時,可以執(zhí)行較大程度 的流量控制操作;與現(xiàn)有技術(shù)相比,提高了流量控制的效果,可以使輸入數(shù)據(jù)流量和輸 出數(shù)據(jù)流量近似相等,減輕了網(wǎng)絡(luò)擁塞,提高了網(wǎng)絡(luò)帶寬的利用率。在此說明,上述實施例提供的流量控制方法可應(yīng)用于任何需要進(jìn)行流量控制的 場景,尤其適用于存在P2P應(yīng)用的網(wǎng)絡(luò)環(huán)境。在P2P系統(tǒng)中,通常網(wǎng)內(nèi)客戶端會通過網(wǎng) 絡(luò)出口設(shè)備向網(wǎng)外的多個資源服務(wù)器發(fā)送請求報文以請求建立連接并獲取資源,因此, 在P2P系統(tǒng)中,輸入數(shù)據(jù)流量通常是指與內(nèi)網(wǎng)客戶端建立連接的多個資源服務(wù)器提供的 資源數(shù)據(jù)流,輸出數(shù)據(jù)流量是指經(jīng)過網(wǎng)絡(luò)出口設(shè)備進(jìn)行流量控制之后發(fā)送給請求客戶端 的資源數(shù)據(jù)流,通常經(jīng)網(wǎng)絡(luò)出口設(shè)備發(fā)送給請求客戶端的資源數(shù)據(jù)流小于資源服務(wù)器提供的資源數(shù)據(jù)流。其中,當(dāng)網(wǎng)絡(luò)設(shè)備上預(yù)先設(shè)置有一個門限值時,通過該門限值可以將網(wǎng)絡(luò)設(shè)備 的流控狀態(tài)劃分為兩個等級;當(dāng)網(wǎng)絡(luò)設(shè)備上預(yù)先設(shè)置有兩個門限值時,通過兩個門限值 可以將網(wǎng)絡(luò)設(shè)備的流控狀態(tài)劃分為三個等級;依此類推,當(dāng)網(wǎng)絡(luò)設(shè)備上設(shè)置的門限值越 多,將網(wǎng)絡(luò)設(shè)備的流控狀態(tài)劃分的等級就越多,也就是將流控狀態(tài)劃分的越細(xì),所進(jìn)行 的流量控制就越精確,流量控制效果就越好,也就越能減輕網(wǎng)絡(luò)擁塞、提高網(wǎng)絡(luò)帶寬利 用率。對于具體將流控狀態(tài)劃分為幾個等級,可以結(jié)合實際網(wǎng)絡(luò)狀態(tài)進(jìn)行適應(yīng)性設(shè)置, 本實施例對此不做限定?;谏鲜鰧嵤├?,以下將以網(wǎng)絡(luò)設(shè)備上設(shè)置有兩個門限值為例,對步驟22進(jìn)行 詳細(xì)說明。具體的,網(wǎng)絡(luò)設(shè)備上設(shè)置有第一預(yù)設(shè)門限值和第二預(yù)設(shè)門限值,其中第一預(yù) 設(shè)門限值大于0且小于預(yù)設(shè)第二門限值。當(dāng)網(wǎng)絡(luò)設(shè)備獲取輸入數(shù)據(jù)流量和輸出數(shù)據(jù)流量 之后,進(jìn)一步獲取輸入數(shù)據(jù)流量和輸出數(shù)據(jù)流量的差值;網(wǎng)絡(luò)設(shè)備將獲取的差值與第一 預(yù)設(shè)門限值和第二預(yù)設(shè)門限值進(jìn)行比較;當(dāng)差值等于0時,說明輸入數(shù)據(jù)流量和輸出數(shù) 據(jù)流量相等,數(shù)據(jù)流量未出現(xiàn)丟包現(xiàn)象,網(wǎng)絡(luò)設(shè)備允許任何輸入數(shù)據(jù)流量通過,即網(wǎng)絡(luò) 設(shè)備可以不必進(jìn)行流量控制操作;當(dāng)差值大于0,且小于或等于第一預(yù)設(shè)門限值時,確 定流控級別為第一流控級別;當(dāng)差值大于第一預(yù)設(shè)門限值且小于或等于第二預(yù)設(shè)門限值 時,確定流控級別為第二流控級別;當(dāng)差值大于第二預(yù)設(shè)門限時,確定流控級別為第三 流控級別。其中,隨著流控級別的增高,所需進(jìn)行流量控制的程度越來越高。在本實施 例以及后續(xù)各實施例中均以獲取輸入數(shù)據(jù)流量和輸出數(shù)據(jù)流量的差值為例進(jìn)行說明。基于上述實施例,且以P2P系統(tǒng)為例,本實施例提供一種步驟23的具體實施方 式。該實施方式包括當(dāng)流控級別為第一流控級別時,網(wǎng)絡(luò)設(shè)備對輸入數(shù)據(jù)流量進(jìn)行 丟包處理,即將大于允許流量閾值的流量直接丟棄,以進(jìn)行流量控制;當(dāng)流控級別為第 二流控級別時,網(wǎng)絡(luò)設(shè)備對輸入數(shù)據(jù)流量進(jìn)行丟包處理,并執(zhí)行第一阻斷連接的操作, 以進(jìn)行流量控制;當(dāng)流控級別為第三流控級別時,網(wǎng)絡(luò)設(shè)備對輸入數(shù)據(jù)流量進(jìn)行丟包處 理,并執(zhí)行第一阻斷連接的操作,以及執(zhí)行第二阻斷連接的操作,以進(jìn)行流量控制。其 中,第一阻斷連接的操作主要是指根據(jù)連接總數(shù)對已建立連接的阻斷操作;第二阻斷連 接的操作主要是指在第一阻斷連接的操作未能達(dá)到流量控制目的時,對欲建立連接進(jìn)行 的阻斷和/或?qū)σ呀⑦B接進(jìn)行的進(jìn)一步阻斷。基于上述可知,在本實施例中,隨著流控級別的增高,網(wǎng)絡(luò)設(shè)備所進(jìn)行的流量 控制操作逐漸增加,以盡快達(dá)到流量控制的目的,提高流量控制的效果。其中,網(wǎng)絡(luò)設(shè) 備在各流控級別下進(jìn)行的丟包處理,實際上是一種普通的限速方式,即將接收的輸入數(shù) 據(jù)流量和允許流量閾值進(jìn)行比較,將大于允許流量閾值的輸入數(shù)據(jù)流量丟棄,以進(jìn)行流 控。其中,當(dāng)流控級別為第二流控級別時,說明網(wǎng)絡(luò)設(shè)備僅進(jìn)行普通的丟包處理已經(jīng)無 法達(dá)到控制輸入數(shù)據(jù)流量的目的,因此,在本實施例中,網(wǎng)絡(luò)設(shè)備繼續(xù)執(zhí)行第一阻斷連 接的操作,通過減少連接數(shù)(在P2P系統(tǒng)中,主要是指通過減少與內(nèi)網(wǎng)客戶端連接的資源 服務(wù)器進(jìn)而減少資源數(shù)據(jù)流)來限制輸入數(shù)據(jù)流量,以快速將輸入數(shù)據(jù)流量控制到網(wǎng)絡(luò) 設(shè)備的允許流量閾值以內(nèi)。其中,當(dāng)流控級別處于第三流控級別時,說明當(dāng)前網(wǎng)絡(luò)擁塞 情況很嚴(yán)重,網(wǎng)絡(luò)設(shè)備進(jìn)行丟包處理以及執(zhí)行第一阻斷連接操作可能仍然無法有效控制 輸入數(shù)據(jù)流量。這是因為在類似P2P系統(tǒng)的各種系統(tǒng)中,以P2P系統(tǒng)為例,通常P2P應(yīng)用軟件為了保證速率,會不斷的與外網(wǎng)的P2P節(jié)點建立新的連接,尤其當(dāng)外面可提供資 源的P2P節(jié)點很多時,大量新的連接會不斷建立,且新建立連接所提供的數(shù)據(jù)流量甚至 會超過流量控制的速度。針對上述問題,在本實施例中,網(wǎng)絡(luò)設(shè)備進(jìn)一步通過執(zhí)行第二 阻斷連接的操作,以進(jìn)行流量控制。其中,第二阻斷連接的操作可以是對欲建立連接的 阻斷操作,也可以是對已建立連接的進(jìn)一步阻斷操作,還可以是結(jié)合欲建立連接和已建 立連接進(jìn)行的阻斷操作。其中,在第一阻斷連接的操作中,網(wǎng)絡(luò)設(shè)備對已建立連接的阻 斷程度較低,通常會考慮P2P客戶端的使用情況,即在保證P2P客戶端的使用流暢度的情 況下對已建立連接進(jìn)行阻斷。而在第二阻斷連接的操作中,網(wǎng)絡(luò)設(shè)備對已建立連接的阻 斷程度較高,通常是以實現(xiàn)流量控制為目標(biāo),可能會無法保證客戶端的使用流暢度。本實施例的流量控制方法,針對不同流控級別,即當(dāng)前網(wǎng)絡(luò)擁塞的狀態(tài)執(zhí)行不 同級別的流量控制操作,可以保證在任何擁塞狀態(tài)下均能快速的將輸入數(shù)據(jù)流量限制到 網(wǎng)絡(luò)設(shè)備的允許流量閾值范圍,提高了流量控制的效果,尤其適用于P2P系統(tǒng)。進(jìn)一步,結(jié)合P2P系統(tǒng),內(nèi)網(wǎng)P2P節(jié)點通過向外網(wǎng)P2P節(jié)點發(fā)送建立連接的請求 報文,以實現(xiàn)連接的建立;且每條連接建立時,網(wǎng)絡(luò)設(shè)備均會作相應(yīng)信息的記錄,即記 錄連接建立信息,例如已建立連接的數(shù)量、每條連接的內(nèi)網(wǎng)P2P節(jié)點和外網(wǎng)P2P節(jié)點的信 息等。基于P2P系統(tǒng)的上述屬性,在上述實施例中,網(wǎng)絡(luò)設(shè)備執(zhí)行第一阻斷連接的操作 的一種實施方式如下網(wǎng)絡(luò)設(shè)備通過預(yù)先設(shè)定連接總數(shù),以備進(jìn)行流量控制所需;網(wǎng)絡(luò) 設(shè)備根據(jù)記錄的連接建立信息中的已建立連接的數(shù)量,判斷已建立連接的數(shù)量是否大于 預(yù)設(shè)連接總數(shù);若判斷結(jié)果為是,說明可能是由于已建立連接的數(shù)量過多導(dǎo)致的網(wǎng)絡(luò)擁 塞,因此,網(wǎng)絡(luò)設(shè)備可以對超出連接總數(shù)的已建立連接進(jìn)行隨機(jī)阻斷;具體的,網(wǎng)絡(luò)設(shè) 備可以通過關(guān)閉超出連接總數(shù)的已建立連接所使用的端口來阻斷已建立連接,也可以通 過向外網(wǎng)P2P節(jié)點發(fā)送請求斷開連接的請求報文,還可以以丟棄該連接后續(xù)所有報文的 方式阻斷該連接;另外,對于基于TCP協(xié)議的連接,網(wǎng)絡(luò)設(shè)備也可以發(fā)送復(fù)位連接的報 文來使連接斷開,或者回應(yīng)目的不可達(dá)的ICMP報文(讓對方以為本端網(wǎng)絡(luò)設(shè)備不存在) 從而斷開連接。若判斷結(jié)果為否,說明此時的連接數(shù)量并未超過總連接數(shù),但可能由于 每條連接的輸入數(shù)據(jù)流量很大,造成發(fā)生網(wǎng)絡(luò)擁塞,因此,網(wǎng)絡(luò)設(shè)備根據(jù)其進(jìn)行丟包處 理操作時對各條連接進(jìn)行的丟包量,對已建立連接進(jìn)行排序,然后從丟包量最大的已建 立連接開始對已建立連接進(jìn)行阻斷;其中,所使用的具體阻斷方式可采用上述任意一種 阻斷方式或其組合。在此說明,由于當(dāng)前流控級別為第二流控級別,網(wǎng)絡(luò)擁塞還未達(dá)到 很嚴(yán)重的情況,因此,在可以考慮客戶端的使用流暢度對已建立連接進(jìn)行適當(dāng)阻斷。進(jìn)一步,當(dāng)已建立連接的數(shù)量超過連接總數(shù)時,若網(wǎng)絡(luò)設(shè)備在阻斷所有超出連 接總數(shù)的已建立連接之后,還未將輸入數(shù)據(jù)流量控制到網(wǎng)絡(luò)設(shè)備的允許流量閾值范圍, 網(wǎng)絡(luò)設(shè)備可以繼續(xù)執(zhí)行對未超過連接總數(shù)的已建立連接進(jìn)行阻斷,其阻斷順序、阻斷程 度和具體進(jìn)行阻斷的方式均可采用上述已建立連接的數(shù)量未超過連接總數(shù)的情況進(jìn)行, 在此不再贅述。在此說明,對已建立連接的阻斷操作(即第一阻斷連接的操作)可以是以達(dá)到網(wǎng) 絡(luò)設(shè)備允許流量閾值為目標(biāo),也可以預(yù)先設(shè)定允許阻斷的最大連接條數(shù)(可以考慮客戶 端的使用狀況),當(dāng)阻斷的已建立連接的數(shù)量達(dá)到這個最大連接條數(shù)時停止繼續(xù)對已建立 連接進(jìn)行阻斷。通常預(yù)先設(shè)定允許阻斷的最大連接條數(shù)優(yōu)先作為對已建立連接的阻斷操作的目標(biāo),在該情況下,有可能在對已建立連接的阻斷操作結(jié)束時仍未將輸入數(shù)據(jù)流量 限制在網(wǎng)絡(luò)設(shè)備允許流量閾值范圍內(nèi),則可以執(zhí)行第二阻斷連接的操作,即阻斷連接的 操作并不僅僅限于在流控級別為第三流控級別時執(zhí)行。基于上述實施例,本實施例提供一種網(wǎng)絡(luò)設(shè)備執(zhí)行第二阻斷連接的操作的一種 實施方式,具體的,網(wǎng)絡(luò)設(shè)備通過丟棄內(nèi)網(wǎng)P2P節(jié)點向外網(wǎng)P2P節(jié)點發(fā)送的建立連接的請 求報文,以阻斷欲建立連接;該第二阻斷連接的實施方式通過阻止新連接的建立,以加 快流量控制的速度。進(jìn)一步,本實施例還提供一種網(wǎng)絡(luò)設(shè)備執(zhí)行第二阻斷連接的操作的 實施方式,該第二阻斷連接的實施方式實際上是一種對已建立連接的進(jìn)一步阻斷操作, 具體的,當(dāng)網(wǎng)絡(luò)設(shè)備執(zhí)行第一阻斷連接的操作未能達(dá)到流量控制的目的時,網(wǎng)絡(luò)設(shè)備將 當(dāng)前已建立連接的輸入數(shù)據(jù)流量從小到大依次進(jìn)行累加,阻斷使獲取的輸入數(shù)據(jù)流量之 和大于允許流量閾值的已建立連接;更為具體的網(wǎng)絡(luò)設(shè)備可以將當(dāng)前已建立連接的輸 入數(shù)據(jù)流量按照從小到大的順序進(jìn)行排序,然后,按照從小到大的順序?qū)?dāng)前已建立連 接的輸入數(shù)據(jù)流量依次進(jìn)行累加直到輸入數(shù)據(jù)流量之和大于允許流量閾值為止,然后將 最后累加的輸入數(shù)據(jù)流量對應(yīng)的連接以及排序在該連接之后的其他連接阻斷。該方式 不受總連接數(shù)的限制,主要以流量控制為目的,未考慮客戶端的使用狀態(tài),可以快速將 輸入數(shù)據(jù)流量控制到允許流量閾值范圍,提高了流量控制的速度,提高了流量控制的效 果,快速解決了網(wǎng)絡(luò)擁塞問題。在此需要說明,在上所述的“當(dāng)前已建立連接”是指在采用根據(jù)輸入數(shù)據(jù)流量 之和進(jìn)行已建立連接的阻斷操作時,還存在的連接。由于在執(zhí)行該操作之前,已經(jīng)執(zhí)行 過根據(jù)總連接數(shù)進(jìn)行已建立連接的阻斷操作,且在執(zhí)行各種流量控制操作的過程中,新 的連接仍然在建立,因此,在整個流量控制過程中已建立連接的數(shù)量是動態(tài)變化的。進(jìn)一步,網(wǎng)絡(luò)設(shè)備執(zhí)行第二阻斷連接的操作還可以同時包括上述對欲建立連接 的阻斷操作和對已建立連接的進(jìn)一步阻斷操作,具體的網(wǎng)絡(luò)設(shè)備在執(zhí)行第一阻斷連接 的操作未能將輸入數(shù)據(jù)流量限制到允許流量閾值范圍時,可以先執(zhí)行對欲建立連接的阻 斷操作;其中,由于網(wǎng)絡(luò)設(shè)備不可能無限制的對欲建立連接進(jìn)行阻斷,因此,網(wǎng)絡(luò)設(shè)備 可以預(yù)先設(shè)定對欲建立連接的最大阻斷數(shù)量;當(dāng)網(wǎng)絡(luò)設(shè)備對欲建立連接的阻斷數(shù)量達(dá) 到預(yù)先設(shè)定的最大阻斷數(shù)量時,仍然未能將輸入數(shù)據(jù)流量限制到允許流量閾值范圍,此 時,網(wǎng)絡(luò)設(shè)備可以將當(dāng)前已建立連接的輸入數(shù)據(jù)流量從小到大依次進(jìn)行累加,阻斷使獲 取的輸入數(shù)據(jù)流量之和大于允許流量閾值的已建立連接,以通過對已建立連接的進(jìn)一步 阻斷來達(dá)到流量控制的目的。圖3為本發(fā)明實施例二提供的流量控制方法的流程圖。本實施例可基于上述實 施例實現(xiàn),相同之處不再贅述,如圖3所示,本實施例的方法包括步驟31、獲取網(wǎng)絡(luò)設(shè)備的輸入數(shù)據(jù)流量和輸出數(shù)據(jù)流量的差值;步驟32、根據(jù)第一預(yù)設(shè)門限值、第二預(yù)設(shè)門限值和差值,獲取網(wǎng)絡(luò)設(shè)備的流控 級別;步驟33、執(zhí)行流控級別對應(yīng)的流量控制操作,以進(jìn)行流量控制;步驟34、檢測輸入數(shù)據(jù)流量,并判斷輸入數(shù)據(jù)流量是否處于小于預(yù)設(shè)允許流量 閾值與預(yù)設(shè)穩(wěn)定系數(shù)的乘積的狀態(tài)且持續(xù)了預(yù)設(shè)穩(wěn)定時間;若判斷結(jié)果為是,則執(zhí)行步 驟35;反之,則轉(zhuǎn)去執(zhí)行步驟33,即繼續(xù)執(zhí)行當(dāng)前的流量控制操作進(jìn)行流量控制。
10
其中,穩(wěn)定系數(shù)大于0且小于或等于1。通常網(wǎng)絡(luò)設(shè)備要求進(jìn)行流量控制之后的 輸入數(shù)據(jù)流量不超過允許流量閾值,因此,穩(wěn)定系數(shù)優(yōu)選為大于0且小于1。步驟35、根據(jù)進(jìn)行流量控制之前的流控級別,調(diào)整當(dāng)前的流量控制操作,以進(jìn) 行流量控制。其中,當(dāng)前的流量控制操作是指進(jìn)行流量控制之前的流控級別所對應(yīng)的流量控 制操作。具體的,在實際實施過程中,網(wǎng)絡(luò)設(shè)備一般會實時或不斷的檢測輸入數(shù)據(jù)流量 和輸出數(shù)據(jù)流量,并獲取其差值,將差值與預(yù)設(shè)門限值進(jìn)行比較,獲取流控級別,然后 再根據(jù)流控級別執(zhí)行相應(yīng)地流量控制操作,即網(wǎng)絡(luò)設(shè)備會實時或不斷的通過執(zhí)行上述步 驟31-步驟33來修正流量控制操作,保證對流量控制的效果。相對于上一次流量控制過 程,當(dāng)執(zhí)行步驟31-步驟33進(jìn)行流量控制時,由于上一次的流量控制會使得輸入數(shù)據(jù)流 量得到限制,會使流控級別降低,因此,在該次流量控制過程中所執(zhí)行的流量控制操作 可能會與上一次不同,可能會執(zhí)行低流控級別對應(yīng)的流量控制操作;而對于下一次的流 量控制過程,可能會因為流量控制操作的變化,又會使流控級別變高而執(zhí)行高流控級別 對應(yīng)的流量控制操作。即為了提高了流控效果,在流量控制過程中可能出現(xiàn)流控級別頻 繁變化而頻繁調(diào)整流量控制操作的情況,為了避免對流量控制操作的頻繁調(diào)整,本實施 例通過步驟34和步驟35提供了一種對流量控制操作進(jìn)行調(diào)整的實施方式。其中,本實施例的流量控制方法,在實現(xiàn)流量控制,且提高流量控制效果,減 輕網(wǎng)絡(luò)阻塞的基礎(chǔ)上,網(wǎng)絡(luò)設(shè)備通過其上預(yù)先設(shè)置穩(wěn)定系數(shù)和穩(wěn)定時間這兩個參數(shù)判斷 進(jìn)行流量控制之后流量控制效果的保持時間,根據(jù)流量控制效果的保持時間來進(jìn)行流量 控制操作的調(diào)整,可以避免出現(xiàn)因頻繁調(diào)整流量控制操作而出現(xiàn)的流量忽高忽低的情 況。進(jìn)一步,本實施例提供一種步驟35的具體實施方式
,具體如下其中,在網(wǎng)絡(luò) 設(shè)備上存儲有流控級別和流量控制操作的映射關(guān)系,因此,網(wǎng)絡(luò)設(shè)備可以根據(jù)當(dāng)前執(zhí)行 的流量控制操作獲知進(jìn)行流量控制之前的流控級別。另外,網(wǎng)絡(luò)設(shè)備在獲取流控級別時 可以臨時存儲該流控級別,因此,網(wǎng)絡(luò)設(shè)備也可以從存儲空間中獲取進(jìn)行流量控制之前 的流控級別。當(dāng)網(wǎng)絡(luò)設(shè)備獲取到該流控級別時,判斷該流控級別是第一流控級別、第二 流控級別還是第三流控級別,并根據(jù)判斷結(jié)果進(jìn)行流量控制操作的調(diào)整。當(dāng)判斷出該流控級別為第一流控級別時,根據(jù)步驟34的判斷結(jié)果可以說明,經(jīng) 過對輸入數(shù)據(jù)流量進(jìn)行丟包處理已經(jīng)解決了網(wǎng)絡(luò)擁塞現(xiàn)象,且該現(xiàn)象說明當(dāng)前網(wǎng)絡(luò)基本 穩(wěn)定,因此,當(dāng)網(wǎng)絡(luò)狀態(tài)穩(wěn)定時,可以禁止執(zhí)行對輸入數(shù)據(jù)流量的丟包操作,即允許放 行所有的輸入數(shù)據(jù)流量。其中,當(dāng)前網(wǎng)絡(luò)的穩(wěn)定程度與穩(wěn)定時間的大小有關(guān);預(yù)設(shè)穩(wěn)定 時間越長,說明當(dāng)前網(wǎng)絡(luò)狀態(tài)越穩(wěn)定。當(dāng)判斷出該流控級別為第二流控級別時,根據(jù)步驟34的判斷結(jié)果可以說明,經(jīng) 過對輸入數(shù)據(jù)流量進(jìn)行丟包處理以及執(zhí)行第一阻斷連接的操作已經(jīng)解決了網(wǎng)絡(luò)堵塞的問 題,且當(dāng)前網(wǎng)絡(luò)基本穩(wěn)定,尤其當(dāng)設(shè)置的穩(wěn)定時間較大時,說明當(dāng)前網(wǎng)絡(luò)比較穩(wěn)定。因 此,可以禁止執(zhí)行第一阻斷連接的操作,以降低對流量控制的程度。具體的,與第一阻 斷連接的操作相反,網(wǎng)絡(luò)設(shè)備停止繼續(xù)對已建立連接的端口進(jìn)行關(guān)閉,或者停止向已建 立連接的外網(wǎng)的P2P節(jié)點發(fā)送斷開連接的請求報文等,以使P2P節(jié)點可以進(jìn)行正常連接。
當(dāng)判斷出該流控級別為第三流控級別時,根據(jù)步驟34的判斷結(jié)果可以說明,經(jīng) 過對輸入數(shù)據(jù)流量進(jìn)行丟包處理、執(zhí)行第一阻斷連接的操作以及執(zhí)行第二阻斷連接的操 作(包括對新建立連接的阻止和/或?qū)σ呀⑦B接的進(jìn)一步阻斷等操作)等已經(jīng)解決了網(wǎng) 絡(luò)堵塞的問題,且當(dāng)前網(wǎng)絡(luò)基本穩(wěn)定,尤其當(dāng)設(shè)置的穩(wěn)定時間較大時,說明當(dāng)前網(wǎng)絡(luò)已 經(jīng)比較穩(wěn)定。此時,網(wǎng)絡(luò)設(shè)備可以通過禁止執(zhí)行第一阻斷連接的操作,以降低對流量控 制的程度。具體的,與第一阻斷連接的操作相反,網(wǎng)絡(luò)設(shè)備停止繼續(xù)對已建立連接的端 口進(jìn)行關(guān)閉,或者停止向已建立連接的外網(wǎng)的P2P節(jié)點發(fā)送斷開連接的請求報文等,以 使P2P節(jié)點可以進(jìn)行正常連接。其中,由于輸入數(shù)據(jù)流量已經(jīng)達(dá)到允許流量閾值范圍, 網(wǎng)絡(luò)設(shè)備已經(jīng)停止根據(jù)輸入數(shù)據(jù)流量之和大于允許流量閾值來對已建立連接的進(jìn)一步阻 斷操作。進(jìn)一步,網(wǎng)絡(luò)設(shè)備繼續(xù)檢測禁止執(zhí)行第一阻斷連接的操作之后的輸入數(shù)據(jù)流 量,以判斷輸入數(shù)據(jù)流量是否處于小于預(yù)設(shè)允許流量閾值與預(yù)設(shè)穩(wěn)定系數(shù)的乘積的狀態(tài) 且持續(xù)了預(yù)設(shè)穩(wěn)定時間;若判斷結(jié)果為是,則禁止執(zhí)行第二阻斷連接的操作;反之,網(wǎng) 絡(luò)設(shè)備可以繼續(xù)執(zhí)行禁止執(zhí)行第一阻斷連接之后的流量控制操作,即繼續(xù)對欲建立連接 進(jìn)行阻斷,以進(jìn)行流量控制。其中,在本實施方式中,禁止執(zhí)行第二阻斷連接的操作與 執(zhí)行第二阻斷連接的操作相反,即不再丟棄內(nèi)網(wǎng)P2P節(jié)點發(fā)往外網(wǎng)P2P節(jié)點的建立連接的 請求報文,以使P2P節(jié)點正常建立連接。進(jìn)一步,若因輸入數(shù)據(jù)流量大于或等于預(yù)設(shè)允 許流量閾值與預(yù)設(shè)穩(wěn)定系數(shù)的乘積而使判斷結(jié)果為否時,為了加速流量控制的操作,網(wǎng) 絡(luò)設(shè)備還可以再次執(zhí)行第一阻斷連接的操作。通過上述各種實施方式,延緩了調(diào)整流量控制操作的時間,既保證了流量控制 效果,又降低了調(diào)整流量控制操作的頻繁度,避免了出現(xiàn)流量忽高忽低的現(xiàn)象,進(jìn)一步 提高了流量控制的效果。在此說明,上述各實施例中,第一阻斷連接的操作和第二阻斷連接的操作的實 現(xiàn)方案僅為一種優(yōu)選方案,并不限于此。其中,結(jié)合實際網(wǎng)絡(luò)狀況,現(xiàn)有技術(shù)中的各種 流控方法的適應(yīng)性變更或組合均可作為本發(fā)明各實施例中第一阻斷連接操作和第二阻斷 連接操作的實現(xiàn)方案。在此說明,上述實施例的技術(shù)方案可以在網(wǎng)絡(luò)出口設(shè)備上實施,且可由網(wǎng)絡(luò)出 口設(shè)備來執(zhí)行,既提高了流量控制的效果,又保證了流量控制的實時性,且在網(wǎng)絡(luò)出口 設(shè)備上實施,無需部署額外設(shè)備,部署簡單易于實施。圖4為本發(fā)明實施例三提供的流量控制裝置的結(jié)構(gòu)示意圖。如圖4所示,本實 施例的裝置包括流量獲取模塊41、級別獲取模塊42和執(zhí)行模塊43。其中,流量獲取模塊41,用于獲取網(wǎng)絡(luò)設(shè)備的輸入數(shù)據(jù)流量和輸出數(shù)據(jù)流量; 級別獲取模塊42,與流量獲取模塊41連接,用于根據(jù)輸入數(shù)據(jù)流量、輸出數(shù)據(jù)流量和至 少一個預(yù)設(shè)門限值,獲取網(wǎng)絡(luò)設(shè)備的流控級別;執(zhí)行模塊43,與級別獲取模塊42連接, 用于執(zhí)行流控級別對應(yīng)的流量控制操作,以進(jìn)行流量控制。上述各個功能模塊可用于執(zhí)行上述方法實施例提供的的流量控制方法的流程, 其具體工作原理詳見方法實施例的描述,在此不再贅述。本實施例的流量控制裝置,具體通過流量獲取模塊、級別獲取模塊和執(zhí)行模 塊,可以獲取輸入流量控制裝置的數(shù)據(jù)流量和流量控制裝置輸出的數(shù)據(jù)流量;根據(jù)輸入數(shù)據(jù)流量、輸出數(shù)據(jù)流量的大小關(guān)系和至少一個預(yù)設(shè)門限值,可獲取流量控制裝置當(dāng)前 的流控級別,然后,執(zhí)行與流控級別相應(yīng)的流量控制操作以進(jìn)行流量控制。與現(xiàn)有技術(shù) 相比,采用本實施例的流量控制裝置可以根據(jù)流控級別可以動態(tài)執(zhí)行流量控制操作以進(jìn) 行流量控制,其流量控制效果較高,減輕了網(wǎng)絡(luò)堵塞,提高了網(wǎng)絡(luò)帶寬的利用率。圖5為本發(fā)明實施例四提供的流量控制裝置的結(jié)構(gòu)示意圖。本實施例基于上述 實施例實現(xiàn),如圖5所示,本實施例裝置中的級別獲取模塊42包括獲取子模塊420、 比較子模塊421、第一確定子模塊422、第二確定子模塊423和第三確定子模塊424。其中,獲取子模塊420,與流量獲取模塊41連接,用于獲取輸入數(shù)據(jù)流量和輸 出數(shù)據(jù)流量的差值;比較子模塊421,與獲取子模塊420連接,用于將差值與至少一個預(yù) 設(shè)門限值中的第一預(yù)設(shè)門限值和至少一個預(yù)設(shè)門限值中的第二預(yù)設(shè)門限值進(jìn)行比較;第 一確定子模塊422,與比較子模塊421連接,用于在差值大于0且小于或等于第一預(yù)設(shè)門 限值時,確定流控級別為第一流控級別;第二確定子模塊423,與比較子模塊421連接, 用于在差值大于第一預(yù)設(shè)門限值且小于或等于第二預(yù)設(shè)門限值時,確定流控級別為第二 流控級別;第三確定子模塊424,與比較子模塊421連接,用于在差值大于第二預(yù)設(shè)門限 值時,確定流控級別為第三流控級別。上述級別獲取模塊中的各功能子模塊可用于執(zhí)行上述方法實施例中預(yù)先設(shè)定兩 個門限值時的方法流程,其工作原理詳見上述方法流程,在此不再贅述。進(jìn)一步,本實施例裝置中的執(zhí)行模塊43包括第一流控子模塊431、第二流控 子模塊432和第三流控子模塊433。其中,第一流控子模塊431,與第一確定子模塊422連接,用于在流控級別為 第一流控級別時,對輸入數(shù)據(jù)流量進(jìn)行丟包處理,以進(jìn)行流量控制;第二流控子模塊 432,與第二確定子模塊423連接,用于在流控級別為第二流控級別時,對輸入數(shù)據(jù)流量 進(jìn)行丟包處理,并執(zhí)行第一阻斷連接的操作,以進(jìn)行流量控制;第三流控子模塊433, 與第三確定子模塊424連接,用于在流控級別為第三流控級別時,對輸入數(shù)據(jù)流量進(jìn)行 丟包處理,并執(zhí)行第一阻斷連接的操作,以及執(zhí)行第二阻斷連接的操作,以進(jìn)行流量控 制。其中,上述執(zhí)行模塊的各功能子模塊可用于執(zhí)行上述方法實施例中在預(yù)設(shè)兩個 門限值時的方法流程,其具體工作原理可詳見上述方法實施例的流程,具體不再贅述。更進(jìn)一步,本實施例的第二流控子模塊包括第一丟包單元、判斷單元、第一 阻斷單元和第二阻斷單元。其中,第一丟包單元,用于對輸入數(shù)據(jù)流量進(jìn)行丟包處理; 判斷單元,用于根據(jù)記錄的連接建立信息,判斷已建立連接的數(shù)量是否大于預(yù)設(shè)連接總 數(shù);第一阻斷單元,用于在判斷單元的判斷結(jié)果為是時,對超出連接總數(shù)的已建立連接 進(jìn)行隨機(jī)阻斷;第二阻斷單元,用于在判斷單元的判斷結(jié)果為否時,根據(jù)第一丟包單元 的丟包量對已建立連接進(jìn)行排序,從丟包量最大的已建立連接開始對已建立連接進(jìn)行阻 斷。在該實施例中,第一阻斷連接的操作主要是指根據(jù)連接總數(shù)對已建立連接的阻斷操 作,且該阻斷操作通常會考慮客戶端的網(wǎng)絡(luò)使用狀況。本實施例的第三流控子模塊包括第二丟包單元、丟棄單元和第三阻斷單元。 其中,第二丟包單元,用于對輸入數(shù)據(jù)流量進(jìn)行丟包處理;丟棄單元,用于丟棄客戶端 發(fā)送的新建立連接的請求報文,以阻斷欲建立連接;第三阻斷單元,用于將當(dāng)前已建立連接的輸入數(shù)據(jù)流量從小到大依次進(jìn)行累加,阻斷使獲取的輸入數(shù)據(jù)流量之和大于預(yù)設(shè) 允許流量閾值的已建立連接。其中,本實施例的第三流控子單元可以只包括第二丟包單元和丟棄單元,以執(zhí) 行對欲建立連接的阻斷操作;本實施例的第三流控子模塊也可以僅包括第三阻斷單元, 以執(zhí)行對已建立連接的進(jìn)一步阻斷操作;另外,本實施例的第三流控子模塊還可以同時 包括上述各功能單元,以結(jié)合對欲建立連接和對已建立連接的阻斷以實現(xiàn)流量控制。在 該實施例中第二阻斷連接的操作主要是指對欲建立連接的阻斷和/或?qū)σ呀⑦B接的進(jìn) 一步阻斷;其中,對已建立連接的進(jìn)一步阻斷通常是以流量控制為目的進(jìn)行的。具體的,上述各功能單元可用執(zhí)行上述方法實施例在預(yù)設(shè)兩個門限值時執(zhí)行第 一阻斷連接的操作和執(zhí)行第二阻斷連接的操作的方法流程,其具體工作原理詳見方法實 施例,在此不再贅述?;谏鲜鰧嵤├?,如圖5所示,本實施例的裝置還包括檢測模塊44、判斷模 塊45和調(diào)整模塊46。其中,檢測模塊44,與執(zhí)行模塊43連接,用于在執(zhí)行模塊43進(jìn)行流量控制之 后,檢測輸入數(shù)據(jù)流量;判斷模塊45,與檢測模塊44連接,用于判斷輸入數(shù)據(jù)流量是 否處于小于預(yù)設(shè)允許流量閾值與預(yù)設(shè)穩(wěn)定系數(shù)的乘積的狀態(tài)且持續(xù)了預(yù)設(shè)穩(wěn)定時間,所 述穩(wěn)定系數(shù)大于0且小于或等于1;調(diào)整模塊46,與判斷模塊45連接,用于在判斷結(jié)果 為是時,根據(jù)進(jìn)行流量控制之前的流控級別,調(diào)整當(dāng)前的流量控制操作,以進(jìn)行流量控 制。其中,當(dāng)預(yù)設(shè)兩個門限值時,本實施例的調(diào)整模塊46具體可由以下結(jié)構(gòu)實現(xiàn), 但并不限于此。調(diào)整模塊46包括第一禁止子模塊461,用于在進(jìn)行流量控制之前的流 控級別為第一流控級別時,禁止對輸入數(shù)據(jù)進(jìn)行丟包處理;第二禁止子模塊462,用于 在進(jìn)行流量控制之前的流控級別為第二流控級別時,禁止執(zhí)行第一阻斷連接的操作;第 三禁止子模塊463,用于在進(jìn)行流量控制之前的流控級別為第三流控級別時,禁止執(zhí)行第 一阻斷連接的操作,并繼續(xù)檢測禁止執(zhí)行第一阻斷連接的操作之后的輸入數(shù)據(jù)流量是否 處于小于允許流量閾值與穩(wěn)定系數(shù)的乘積的狀態(tài)且持續(xù)了穩(wěn)定時間,并在判斷結(jié)果為是 時,禁止執(zhí)行第二阻斷連接的操作。上述各功能模塊和功能子模塊可用于執(zhí)行上述方法實施例中對流量控制操作進(jìn) 行調(diào)整的方法流程,其具體工作原理詳見方法實施例,在此不再贅述。本實施例的流量控制裝置,在實現(xiàn)流量控制,且提高流量控制效果,減輕網(wǎng)絡(luò) 阻塞的基礎(chǔ)上,通過其上預(yù)先設(shè)置穩(wěn)定系數(shù)和穩(wěn)定時間這兩個參數(shù)判斷進(jìn)行流量控制之 后流量控制效果的保持時間,根據(jù)流量控制效果的保持時間來進(jìn)行流量控制操作的調(diào) 整,可以避免出現(xiàn)因頻繁調(diào)整流量控制操作而出現(xiàn)的流量忽高忽低的情況。本發(fā)明實施例五提供一種網(wǎng)絡(luò)設(shè)備,包括上述實施例提供的流量控制裝置。本 實施例的網(wǎng)絡(luò)設(shè)備可為各種網(wǎng)絡(luò)結(jié)構(gòu)中的出口設(shè)備,尤其適用于存在P2P應(yīng)用的網(wǎng)絡(luò) 中,可用于進(jìn)行流量控制。本實施例的網(wǎng)絡(luò)設(shè)備,包括上述實施例提供的流量控制裝置,可用于執(zhí)行上述 方法實施例提供的流量控制方法的流程,可以根據(jù)流控級別動態(tài)執(zhí)行流量控制操作以進(jìn) 行流量控制,其流量控制效果較高,減輕了網(wǎng)絡(luò)堵塞,提高了網(wǎng)絡(luò)帶寬的利用率。
本領(lǐng)域普通技術(shù)人員可以理解實現(xiàn)上述方法實施例的全部或部分步驟可以 通過程序指令相關(guān)的硬件來完成,前述的程序可以存儲于一計算機(jī)可讀取存儲介質(zhì)中, 該程序在執(zhí)行時,執(zhí)行包括上述方法實施例的步驟;而前述的存儲介質(zhì)包括ROM、 RAM、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。最后應(yīng)說明的是以上實施例僅用以說明本發(fā)明的技術(shù)方案,而非對其限制; 盡管參照前述實施例對本發(fā)明進(jìn)行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解其 依然可以對前述各實施例所記載的技術(shù)方案進(jìn)行修改,或者對其中部分技術(shù)特征進(jìn)行等 同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實施例技術(shù)方 案的精神和范圍。
權(quán)利要求
1.一種流量控制方法,其特征在于,包括 獲取網(wǎng)絡(luò)設(shè)備的輸入數(shù)據(jù)流量和輸出數(shù)據(jù)流量;根據(jù)所述輸入數(shù)據(jù)流量、所述輸出數(shù)據(jù)流量和至少一個預(yù)設(shè)門限值,獲取所述網(wǎng)絡(luò) 設(shè)備的流控級別;執(zhí)行所述流控級別對應(yīng)的流量控制操作,以進(jìn)行流量控制。
2.根據(jù)權(quán)利要求1所述的流量控制方法,其特征在于,所述根據(jù)所述輸入數(shù)據(jù)流量、 所述輸出數(shù)據(jù)流量和至少一個預(yù)設(shè)門限值,獲取所述網(wǎng)絡(luò)設(shè)備的流控級別包括獲取所述輸入數(shù)據(jù)流量和所述輸出數(shù)據(jù)流量的差值;將所述差值與所述至少一個預(yù)設(shè)門限值中的第一預(yù)設(shè)門限值和所述至少一個預(yù)設(shè)門 限值中的第二預(yù)設(shè)門限值進(jìn)行比較;若所述差值大于O且小于或等于所述第一預(yù)設(shè)門限值,確定所述流控級別為第一流 控級別;若所述差值大于所述第一預(yù)設(shè)門限值且小于或等于所述第二預(yù)設(shè)門限值,確定所述 流控級別第二流控級別;若所述差值大于所述第二預(yù)設(shè)門限值,確定所述流控級別為第三流控級別。
3.根據(jù)權(quán)利要求2所述的流量控制方法,其特征在于,所述執(zhí)行所述流控級別對應(yīng)的 流量控制操作,以進(jìn)行流量控制包括若所述流控級別為第一流控級別,對所述輸入數(shù)據(jù)流量進(jìn)行丟包處理,以進(jìn)行流量 控制;若所述流控級別為第二流控級別,對所述輸入數(shù)據(jù)流量進(jìn)行丟包處理,并執(zhí)行第一 阻斷連接的操作,以進(jìn)行流量控制;若所述流控級別為第三流控級別,對所述輸入數(shù)據(jù)流量進(jìn)行丟包處理,并執(zhí)行第一 阻斷連接的操作,以及執(zhí)行第二阻斷連接的操作,以進(jìn)行流量控制。
4.根據(jù)權(quán)利要求3所述的流量控制方法,其特征在于,所述執(zhí)行第一阻斷連接的操作 包括根據(jù)記錄的連接建立信息,判斷已建立連接的數(shù)量是否大于預(yù)設(shè)連接總數(shù); 若判斷結(jié)果為是,對超出所述連接總數(shù)的已建立連接進(jìn)行隨機(jī)阻斷; 若判斷結(jié)果為否,根據(jù)所述丟包處理的丟包量對所述已建立連接進(jìn)行排序,從丟包 量最大的已建立連接開始對所述已建立連接進(jìn)行阻斷; 所述執(zhí)行第二阻斷連接的操作包括丟棄客戶端發(fā)送的建立連接的請求報文,以阻斷欲建立連接;和/或 將當(dāng)前已建立連接的輸入數(shù)據(jù)流量從小到大依次進(jìn)行累加,阻斷使獲取的輸入數(shù)據(jù) 流量之和大于預(yù)設(shè)允許流量閾值的已建立連接。
5.根據(jù)權(quán)利要求2或3或4所述的流量控制方法,其特征在于,在執(zhí)行所述流控級別 對應(yīng)的流量控制操作,以進(jìn)行流量控制之后還包括檢測所述輸入數(shù)據(jù)流量,并判斷所述輸入數(shù)據(jù)流量是否處于小于預(yù)設(shè)允許流量閾值 與預(yù)設(shè)穩(wěn)定系數(shù)的乘積的狀態(tài)且持續(xù)了預(yù)設(shè)穩(wěn)定時間,所述穩(wěn)定系數(shù)大于O且小于或等 于1 ;若判斷結(jié)果為是,根據(jù)進(jìn)行流量控制之前的所述流控級別,調(diào)整當(dāng)前的流量控制操作,以進(jìn)行流量控制。
6.根據(jù)權(quán)利要求5所述的流量控制方法,其特征在于,根據(jù)進(jìn)行流量控制之前的所述 流控級別,調(diào)整當(dāng)前的流量控制操作,以進(jìn)行流量控制包括若進(jìn)行流量控制之前的所述流控級別為第一流控級別,禁止對所述輸入數(shù)據(jù)進(jìn)行丟 包處理;若進(jìn)行流量控制之前的所述流控級別為第二流控級別,禁止執(zhí)行第一阻斷連接的操作;若進(jìn)行流量控制之前的所述流控級別為第三流控級別,禁止執(zhí)行第一阻斷連接的操 作,并繼續(xù)檢測禁止執(zhí)行第一阻斷連接的操作之后的輸入數(shù)據(jù)流量是否處于小于所述允 許流量閾值與所述穩(wěn)定系數(shù)的乘積的狀態(tài)且持續(xù)了所述穩(wěn)定時間;若判斷結(jié)果為是,禁 止執(zhí)行第二阻斷連接的操作。
7.—種流量控制裝置,其特征在于,包括流量獲取模塊,用于獲取網(wǎng)絡(luò)設(shè)備的輸入數(shù)據(jù)流量和輸出數(shù)據(jù)流量; 級別獲取模塊,用于根據(jù)所述輸入數(shù)據(jù)流量、所述輸出數(shù)據(jù)流量和至少一個預(yù)設(shè)門 限值,獲取所述網(wǎng)絡(luò)設(shè)備的流控級別;執(zhí)行模塊,用于執(zhí)行所述流控級別對應(yīng)的流量控制操作,以進(jìn)行流量控制。
8.根據(jù)權(quán)利要求7所述的流量控制裝置,其特征在于,所述級別獲取模塊包括 獲取子模塊,用于獲取所述輸入數(shù)據(jù)流量和所述輸出數(shù)據(jù)流量的差值;比較子模塊,用于將所述差值與所述至少一個預(yù)設(shè)門限值中的第一預(yù)設(shè)門限值和所 述至少一個預(yù)設(shè)門限值中的第二預(yù)設(shè)門限值進(jìn)行比較;第一確定子模塊,用于在所述差值大于O且小于或等于所述第一預(yù)設(shè)門限值時,確 定所述流控級別為第一流控級別;第二確定子模塊,用于在所述差值大于所述第一預(yù)設(shè)門限值且小于或等于所述第二 預(yù)設(shè)門限值時,確定所述流控級別為第二流控級別;第三確定子模塊,用于在所述差值大于所述第二預(yù)設(shè)門限值時,確定所述流控級別 為第三流控級別。
9.根據(jù)權(quán)利要求8所述的流量控制裝置,其特征在于,所述執(zhí)行模塊包括第一流控子模塊,用于在所述流控級別為第一流控級別時,對所述輸入數(shù)據(jù)流量進(jìn) 行丟包處理,以進(jìn)行流量控制;第二流控子模塊,用于在所述流控級別為第二流控級別時,對所述輸入數(shù)據(jù)流量進(jìn) 行丟包處理,并執(zhí)行第一阻斷連接的操作,以進(jìn)行流量控制;第三流控子模塊,用于在所述流控級別為第三流控級別時,對所述輸入數(shù)據(jù)流量進(jìn) 行丟包處理,并執(zhí)行第一阻斷連接的操作,以及執(zhí)行第二阻斷連接的操作,以進(jìn)行流量 控制。
10.根據(jù)權(quán)利要求9所述的流量控制裝置,其特征在于,所述第二流控子模塊包括 第一丟包單元,用于對所述輸入數(shù)據(jù)流量進(jìn)行丟包處理;判斷單元,用于根據(jù)記錄的連接建立信息,判斷已建立連接的數(shù)量是否大于預(yù)設(shè)連 接總數(shù);第一阻斷單元,用于在所述判斷單元的判斷結(jié)果為是時,對超出所述連接總數(shù)的已建立連接進(jìn)行隨機(jī)阻斷;第二阻斷單元,用于在所述判斷單元的判斷結(jié)果為否時,根據(jù)所述第一丟包單元的 丟包量對所述已建立連接進(jìn)行排序,從丟包量最大的已建立連接開始對所述已建立連接 進(jìn)行阻斷;所述第三流控子模塊包括第二丟包單元,用于對所述輸入數(shù)據(jù)流量進(jìn)行丟包處理; 丟棄單元,用于丟棄客戶端發(fā)送的新建立連接的請求報文,以阻斷欲建立連接; 第三阻斷單元,用于將當(dāng)前已建立連接的輸入數(shù)據(jù)流量從小到大依次進(jìn)行累加,阻 斷使獲取的輸入數(shù)據(jù)流量之和大于預(yù)設(shè)允許流量閾值的已建立連接。
11.根據(jù)權(quán)利要求8或9或10所述的流量控制裝置,其特征在于,還包括 檢測模塊,用于在所述執(zhí)行模塊進(jìn)行流量控制之后,檢測所述輸入數(shù)據(jù)流量;判斷模塊,用于判斷所述輸入數(shù)據(jù)流量是否處于小于預(yù)設(shè)允許流量閾值與預(yù)設(shè)穩(wěn)定 系數(shù)的乘積的狀態(tài)且持續(xù)了預(yù)設(shè)穩(wěn)定時間,所述穩(wěn)定系數(shù)大于0且小于或等于1 ;調(diào)整模塊,用于在所述判斷結(jié)果為是時,根據(jù)進(jìn)行流量控制之前的所述流控級別, 調(diào)整當(dāng)前的流量控制操作,以進(jìn)行流量控制。
12.根據(jù)權(quán)利要求11所述的流量控制裝置,其特征在于,所述調(diào)整模塊包括第一禁止子模塊,用于在進(jìn)行流量控制之前的所述流控級別為第一流控級別時,禁 止對所述輸入數(shù)據(jù)進(jìn)行丟包處理;第二禁止子模塊,用于在進(jìn)行流量控制之前的所述流控級別為第二流控級別時,禁 止執(zhí)行第一阻斷連接的操作;第三禁止子模塊,用于在進(jìn)行流量控制之前的所述流控級別為第三流控級別時,禁 止執(zhí)行第一阻斷連接的操作,并繼續(xù)檢測禁止執(zhí)行第一阻斷連接的操作之后的輸入數(shù)據(jù) 流量是否處于小于所述允許流量閾值與所述穩(wěn)定系數(shù)的乘積的狀態(tài)且持續(xù)了所述穩(wěn)定時 間,并在判斷結(jié)果為是時,禁止執(zhí)行第二阻斷連接的操作。
13.—種包括權(quán)利要求7-12任一項所述的流量控制裝置的網(wǎng)絡(luò)設(shè)備。
全文摘要
本發(fā)明提供一種流量控制方法、裝置及網(wǎng)絡(luò)設(shè)備。該方法包括獲取網(wǎng)絡(luò)設(shè)備的輸入數(shù)據(jù)流量和輸出數(shù)據(jù)流量;根據(jù)輸入數(shù)據(jù)流量、輸出數(shù)據(jù)流量和至少一個預(yù)設(shè)門限值,獲取網(wǎng)絡(luò)設(shè)備的流控級別;執(zhí)行流控級別對應(yīng)的流量控制操作,以進(jìn)行流量控制。本發(fā)明的流量控制方法、裝置及網(wǎng)絡(luò)設(shè)備,可以執(zhí)行與流控級別相應(yīng)的流量控制操作以進(jìn)行流量控制,與現(xiàn)有技術(shù)相比,本發(fā)明根據(jù)流控級別可以動態(tài)執(zhí)行流量控制操作以進(jìn)行流量控制,其流量控制效果較高,減輕了網(wǎng)絡(luò)堵塞,提高了網(wǎng)絡(luò)帶寬的利用率。
文檔編號H04L12/56GK102025640SQ20101060637
公開日2011年4月20日 申請日期2010年12月24日 優(yōu)先權(quán)日2010年12月24日
發(fā)明者劉登峰 申請人:北京星網(wǎng)銳捷網(wǎng)絡(luò)技術(shù)有限公司