一種流量控制方法和裝置制造方法
【專利摘要】本發(fā)明公開了一種流量控制方法和裝置,主要技術(shù)方案包括:為每種業(yè)務(wù)類型的數(shù)據(jù)包分配一個隊列,并確定每個隊列的優(yōu)先級;接收數(shù)據(jù)包后,流量識別模塊識別所述數(shù)據(jù)包所屬的業(yè)務(wù)類型,根據(jù)識別結(jié)果將所述數(shù)據(jù)包分發(fā)至對應(yīng)的隊列;其中,所述流量識別模塊內(nèi)嵌在開源系統(tǒng)的用戶空間;在每個調(diào)度周期內(nèi),根據(jù)優(yōu)先級對每個隊列中的數(shù)據(jù)包進(jìn)行出隊處理。采用該方法,實現(xiàn)基于上層應(yīng)用進(jìn)行流量識別的流量控制,提高了處理效率并降低了實現(xiàn)復(fù)雜度。
【專利說明】一種流量控制方法和裝置
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及網(wǎng)絡(luò)通信領(lǐng)域,尤其涉及一種流量控制方法和裝置。
【背景技術(shù)】
[0002] 隨著大規(guī)模的存儲和分布式系統(tǒng)技術(shù)的成熟,互聯(lián)網(wǎng)上傳輸?shù)臄?shù)據(jù)類型不再僅包 括文本和圖像。多媒體通信技術(shù)能夠?qū)⑽谋?、視頻、音頻、圖像等多種媒體類型為一體,在互 聯(lián)網(wǎng)領(lǐng)域得到越來越廣泛的應(yīng)用。隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,眾多新型業(yè)務(wù)已經(jīng)滲透到各個 主流業(yè)務(wù)類型之中,這也使得一些無關(guān)緊要的業(yè)務(wù)(如下載、在線游戲等等)都來與一些關(guān) 鍵性的業(yè)務(wù)來爭奪有限的網(wǎng)絡(luò)資源,使得關(guān)鍵性的業(yè)務(wù)無法高效運(yùn)行。因此需要一種網(wǎng)絡(luò) 流量管理方法來更合理地使用有限的寬帶,避免出現(xiàn)網(wǎng)絡(luò)擁擠或者急需處理的業(yè)務(wù)不能夠 及時處理的現(xiàn)象發(fā)生。
[0003] QOS (quality of service,保證服務(wù)質(zhì)量)是網(wǎng)絡(luò)設(shè)備所實現(xiàn)的一種保障數(shù)據(jù)流 量的安全機(jī)制,通常情況下用來改善網(wǎng)絡(luò)數(shù)據(jù)包延遲和阻塞的問題。默認(rèn)情況下,使用的是 盡力而為的服務(wù)模型,這種模型它不能對分組的傳輸?shù)南嚓P(guān)質(zhì)量做出任何承諾。隨著語音、 視頻、游戲等應(yīng)用的不斷推出,用戶對網(wǎng)絡(luò)能夠提供的傳輸服務(wù)質(zhì)量提出了更高要求,路由 器簡單丟棄數(shù)據(jù)包的方法已經(jīng)不再適合當(dāng)前的網(wǎng)絡(luò)環(huán)境。
[0004] 現(xiàn)有的數(shù)據(jù)流量控制方法是根據(jù)應(yīng)用在數(shù)據(jù)包上留下來的可以用來識別該應(yīng)用 的標(biāo)識來進(jìn)行數(shù)據(jù)包的分類(英文classifier),識別數(shù)據(jù)包是由哪個應(yīng)用產(chǎn)生的,然后在 數(shù)據(jù)包中標(biāo)記該數(shù)據(jù)包所屬的分類,然后根據(jù)數(shù)據(jù)包中的分類標(biāo)記(英文marker)對該數(shù) 據(jù)包進(jìn)行相應(yīng)的整形(英文conditioner)處理,以減少外出流量的速率來強(qiáng)迫流量遵循 某種帶寬的分配限制,從而實現(xiàn)流量控制。
[0005] 現(xiàn)有流量控制方法中,流量識別操作是在內(nèi)核空間中進(jìn)行,流量識別處理效率較 低。另外,現(xiàn)有流量控制方法中需要在數(shù)據(jù)包中打入分類標(biāo)記,在轉(zhuǎn)發(fā)該數(shù)據(jù)包時還要刪除 打入的分類標(biāo)記,操作較為復(fù)雜。
【發(fā)明內(nèi)容】
[0006] 本發(fā)明提供一種流量控制方法和裝置,用以實現(xiàn)基于上層應(yīng)用進(jìn)行流量識別的流 量控制,提高了處理效率并降低了實現(xiàn)復(fù)雜度。
[0007] 本發(fā)明實施例提供一種流量控制方法,包括:
[0008] 為每種業(yè)務(wù)類型的數(shù)據(jù)包分配一個隊列,并確定每個隊列的優(yōu)先級;
[0009] 接收數(shù)據(jù)包后,流量識別模塊識別所述數(shù)據(jù)包所屬的業(yè)務(wù)類型,根據(jù)識別結(jié)果將 所述數(shù)據(jù)包分發(fā)至對應(yīng)的隊列;其中,所述流量識別模塊內(nèi)嵌在開源系統(tǒng)的用戶空間; [0010] 在每個調(diào)度周期內(nèi),根據(jù)優(yōu)先級對每個隊列中的數(shù)據(jù)包進(jìn)行出隊處理。
[0011] 較佳的,所述為每種業(yè)務(wù)類型的數(shù)據(jù)包分配一個隊列包括:為未知業(yè)務(wù)類型的數(shù) 據(jù)包分配隊列;
[0012] 所述根據(jù)識別結(jié)果將所述數(shù)據(jù)包分發(fā)至對應(yīng)的隊列,包括:若未識別出所述數(shù)據(jù) 包所屬的業(yè)務(wù)類型,則將所述數(shù)據(jù)包分發(fā)至用于存儲未知業(yè)務(wù)類型的數(shù)據(jù)包的隊列。
[0013] 較佳的,所述識別所述數(shù)據(jù)包所屬的業(yè)務(wù)類型,包括:
[0014] 根據(jù)所述數(shù)據(jù)包的五元組識別所述數(shù)據(jù)包所屬的業(yè)務(wù)類型;
[0015] 若根據(jù)所述數(shù)據(jù)包的五元組未能識別出所述數(shù)據(jù)包所屬的業(yè)務(wù)類型,則根據(jù)所述 數(shù)據(jù)包的包頭中包含的特征值識別所述數(shù)據(jù)包所屬的業(yè)務(wù)類型;
[0016] 若根據(jù)所述數(shù)據(jù)包的包頭中包含的特征值未能識別出所述數(shù)據(jù)包所屬的業(yè)務(wù)類 型,則將所述數(shù)據(jù)包確認(rèn)為未知業(yè)務(wù)類型的數(shù)據(jù)包。
[0017] 較佳的,所述識別所述數(shù)據(jù)包所屬的業(yè)務(wù)類型,包括:
[0018] 根據(jù)所述數(shù)據(jù)包的五元組識別所述數(shù)據(jù)包所屬的業(yè)務(wù)類型;
[0019] 若根據(jù)所述數(shù)據(jù)包的五元組未能識別出所述數(shù)據(jù)包所屬的業(yè)務(wù)類型,則根據(jù)所述 數(shù)據(jù)包的包頭中包含的特征值識別所述數(shù)據(jù)包所屬的業(yè)務(wù)類型;
[0020] 若根據(jù)所述數(shù)據(jù)包的包頭中包含的特征值未能識別出所述數(shù)據(jù)包所屬的業(yè)務(wù)類 型,則利用神經(jīng)網(wǎng)絡(luò)識別所述數(shù)據(jù)包所屬的業(yè)務(wù)類型;
[0021] 若利用神經(jīng)網(wǎng)絡(luò)未能識別出所述數(shù)據(jù)包所屬的業(yè)務(wù)類型,則將所述數(shù)據(jù)包確認(rèn)為 未知業(yè)務(wù)類型的數(shù)據(jù)包。
[0022] 較佳的,所述根據(jù)優(yōu)先級對每個隊列中的數(shù)據(jù)包進(jìn)行出隊處理,包括:
[0023] 根據(jù)每個隊列的優(yōu)先級,確定當(dāng)前調(diào)度周期內(nèi)每個隊列出隊的數(shù)據(jù)包的比例;其 中,優(yōu)先級高的隊列所對應(yīng)的數(shù)據(jù)包出隊數(shù)量大于優(yōu)先級低的隊列;
[0024] 根據(jù)每個隊列出隊的數(shù)據(jù)包的比例,通過輪詢所有隊列對每個隊列中的數(shù)據(jù)包進(jìn) 行出隊處理。
[0025] 較佳的,所述確定每個隊列的優(yōu)先級包括:
[0026] 根據(jù)每種業(yè)務(wù)類型被分配的帶寬確定對應(yīng)的隊列的優(yōu)先級,其中,被分配的帶寬 大的業(yè)務(wù)類型所對應(yīng)的隊列的優(yōu)先級高于被分配的帶寬小的業(yè)務(wù)類型所對應(yīng)的隊列的優(yōu) 先級。
[0027] 較佳的,所述流量識別模塊為開源系統(tǒng)用戶空間的應(yīng)用層中的軟件模塊,所述開 源系統(tǒng)為Linux系統(tǒng)。
[0028] 本實施例提供一種流量控制裝置,包括:
[0029] 分配隊列模塊,用于為每種業(yè)務(wù)類型的數(shù)據(jù)包分配一個隊列,并確定每個隊列的 優(yōu)先級;
[0030] 流量識別模塊,接收數(shù)據(jù)包后,流量識別模塊識別所述數(shù)據(jù)包所屬的業(yè)務(wù)類型,根 據(jù)識別結(jié)果將所述數(shù)據(jù)包分發(fā)至對應(yīng)的隊列;其中,所述流量識別模塊內(nèi)嵌在開源系統(tǒng)的 用戶空間;
[0031] 調(diào)度模塊,用于在每個調(diào)度周期內(nèi),根據(jù)優(yōu)先級對每個隊列中的數(shù)據(jù)包進(jìn)行出隊 處理。
[0032] 較佳的,所述分配隊列模塊具體用于:
[0033] 所述為每種業(yè)務(wù)類型的數(shù)據(jù)包分配一個隊列包括:為未知業(yè)務(wù)類型的數(shù)據(jù)包分配 隊列,
[0034] 所述根據(jù)識別結(jié)果將所述數(shù)據(jù)包分發(fā)至對應(yīng)的隊列,包括:若未識別出所述數(shù)據(jù) 包所屬的業(yè)務(wù)類型,則將所述數(shù)據(jù)包分發(fā)至用于存儲未知業(yè)務(wù)類型的數(shù)據(jù)包的隊列。
[0035] 較佳的,所述流量識別模塊具體用于:
[0036] 根據(jù)所述數(shù)據(jù)包的五元組識別所述數(shù)據(jù)包所屬的業(yè)務(wù)類型;
[0037] 若根據(jù)所述數(shù)據(jù)包的五元組未能識別出所述數(shù)據(jù)包所屬的業(yè)務(wù)類型,則根據(jù)所述 數(shù)據(jù)包的包頭中包含的特征值識別所述數(shù)據(jù)包所屬的業(yè)務(wù)類型;
[0038] 若根據(jù)所述數(shù)據(jù)包的包頭中包含的特征值未能識別出所述數(shù)據(jù)包所屬的業(yè)務(wù)類 型,則將所述數(shù)據(jù)包確認(rèn)為未知業(yè)務(wù)類型的數(shù)據(jù)包。
[0039] 較佳的,所述流量識別模塊具體用于:
[0040] 根據(jù)所述數(shù)據(jù)包的五元組識別所述數(shù)據(jù)包所屬的業(yè)務(wù)類型;
[0041] 若根據(jù)所述數(shù)據(jù)包的五元組未能識別出所述數(shù)據(jù)包所屬的業(yè)務(wù)類型,則根據(jù)所述 數(shù)據(jù)包的包頭中包含的特征值識別所述數(shù)據(jù)包所屬的業(yè)務(wù)類型;
[0042] 若根據(jù)所述數(shù)據(jù)包的包頭中包含的特征值未能識別出所述數(shù)據(jù)包所屬的業(yè)務(wù)類 型,則利用神經(jīng)網(wǎng)絡(luò)識別所述數(shù)據(jù)包所屬的業(yè)務(wù)類型;
[0043] 若利用神經(jīng)網(wǎng)絡(luò)未能識別出所述數(shù)據(jù)包所屬的業(yè)務(wù)類型,則將所述數(shù)據(jù)包確認(rèn)為 未知業(yè)務(wù)類型的數(shù)據(jù)包。
[0044] 較佳的,所述調(diào)度模塊具體用于:
[0045] 根據(jù)每個隊列的優(yōu)先級,確定當(dāng)前調(diào)度周期內(nèi)每個隊列出隊的數(shù)據(jù)包的比例;其 中,優(yōu)先級高的隊列所對應(yīng)的數(shù)據(jù)包出隊數(shù)量大于優(yōu)先級低的隊列;
[0046] 根據(jù)每個隊列出隊的數(shù)據(jù)包的比例,通過輪詢所有隊列對每個隊列中的數(shù)據(jù)包進(jìn) 行出隊處理。
[0047] 較佳的,所述調(diào)度模塊還用于:
[0048] 根據(jù)每種業(yè)務(wù)類型被分配的帶寬確定對應(yīng)的隊列的優(yōu)先級,其中,被分配的帶寬 大的業(yè)務(wù)類型所對應(yīng)的隊列的優(yōu)先級高于被分配的帶寬小的業(yè)務(wù)類型所對應(yīng)的隊列的優(yōu) 先級。
[0049] 較佳的,所述流量識別模塊還用于:
[0050] 所述流量識別模塊為開源系統(tǒng)用戶空間的應(yīng)用層中的軟件模塊,所述開源系統(tǒng)為 Linux系統(tǒng)。
[0051] 本發(fā)明實施例提供一種流量控制方法和裝置,在接收數(shù)據(jù)包后,通過內(nèi)嵌入開源 系統(tǒng)的用戶空間的流量識別模塊識別接收到的數(shù)據(jù)包所屬的業(yè)務(wù)類型,根據(jù)數(shù)據(jù)包所屬的 業(yè)務(wù)類型確定對應(yīng)的隊列,將所述數(shù)據(jù)包分發(fā)至確定出的隊列,在每個調(diào)度周期內(nèi),根據(jù)隊 列的優(yōu)先級,對各隊列中的數(shù)據(jù)包進(jìn)行出隊處理。由于本發(fā)明實施例是基于內(nèi)嵌入開源系 統(tǒng)的用戶空間的流量識別模塊進(jìn)行流量識別的,即,基于應(yīng)用層進(jìn)行流量識別,由于所有應(yīng) 用均可訪問應(yīng)用層,這樣流量識別模塊可直接對各種應(yīng)用的流量進(jìn)行識別,而現(xiàn)有技術(shù)中 由于是在內(nèi)核中進(jìn)行流量識別,應(yīng)用無法直接訪問內(nèi)核,需要轉(zhuǎn)入內(nèi)核模式下進(jìn)行處理,因 此相比之下,本發(fā)明實施例可以提高流量識別處理效率;另外,由于采用不同的隊列來存儲 不同業(yè)務(wù)類型的數(shù)據(jù)包,并基于隊列優(yōu)先級進(jìn)行出隊處理,從而無需在數(shù)據(jù)包中打入分類 標(biāo)記,與現(xiàn)有技術(shù)相比,減少了數(shù)據(jù)的處理量,同樣的提高了流量識別處理的效率。
【專利附圖】
【附圖說明】
[0052] 圖1為本發(fā)明實施例一提供的一種流量控制方法流程圖;
[0053] 圖2為本發(fā)明實施例二提供的一種流量控制裝置示意圖。
【具體實施方式】
[0054] 本發(fā)明實施例提供一種流量控制方法和裝置,在接收數(shù)據(jù)包后,通過內(nèi)嵌入開源 系統(tǒng)的用戶空間的流量識別模塊識別所述數(shù)據(jù)包所屬的業(yè)務(wù)類型,根據(jù)所述數(shù)據(jù)包所屬的 業(yè)務(wù)類型確定對應(yīng)的隊列,將所述數(shù)據(jù)包分發(fā)至確定出的隊列;其中,每種業(yè)務(wù)類型對應(yīng)一 個隊列,每個隊列被設(shè)置有對應(yīng)的優(yōu)先級;在每個調(diào)度周期內(nèi),根據(jù)隊列的優(yōu)先級,對各隊 列中的數(shù)據(jù)包進(jìn)行出隊處理。采用該方法,實現(xiàn)基于上層應(yīng)用進(jìn)行流量識別的流量控制,提 高了處理效率并降低了實現(xiàn)復(fù)雜度。
[0055] 本發(fā)明實施例中,將流量識別模塊內(nèi)嵌入開源系統(tǒng)(如Open Wrt系統(tǒng))的用戶空 間,從而可基于上層應(yīng)用進(jìn)行流量識別。
[0056] 下面以O(shè)pen Wrt為例說明開源系統(tǒng)的架構(gòu)。
[0057] Open Wrt是一個高度模塊化、高度自動化的嵌入式的Linux系統(tǒng),擁有強(qiáng)大 的網(wǎng)絡(luò)組件和擴(kuò)展性,常常被用于工控設(shè)備、電話、小型機(jī)器人、智能家居、路由器以及 VOIP (Voice Over Internet Phone,網(wǎng)絡(luò)電話)設(shè)備中。Open Wrt 是一個嵌入式的 linux 系統(tǒng),是開源的廣泛用于路由器系統(tǒng)。
[0058] Linux的網(wǎng)絡(luò)架構(gòu)從上往下可以分為三層,分別是:用戶空間的應(yīng)用層、內(nèi)核空間 的網(wǎng)絡(luò)協(xié)議棧層和物理硬件層。
[0059] Open Wrt系統(tǒng)的用戶空間存放的是用戶程序的代碼和數(shù)據(jù),所有的應(yīng)用程序都可 以直接訪問。Open Wrt系統(tǒng)的內(nèi)核空間存放的是內(nèi)核代碼和數(shù)據(jù),所有的應(yīng)用程序是不能 直接訪問內(nèi)核空間的,必須要轉(zhuǎn)到內(nèi)核模式下,由系統(tǒng)操作來完成訪問。因此,本發(fā)明實施 例中將流量識別模塊內(nèi)嵌入Open Wrt系統(tǒng)的用戶空間,流量識別模塊為Open Wrt系統(tǒng)用 戶空間的應(yīng)用層中的軟件模塊,這樣通過流量識別模塊可直接對網(wǎng)絡(luò)流量進(jìn)行識別,將識 別結(jié)果送入內(nèi)核中,與現(xiàn)有技術(shù)相比,不需要在linux內(nèi)核中對網(wǎng)絡(luò)流量進(jìn)行分類打標(biāo)記, 因此處理效率得到提高。
[0060] 本發(fā)明實施例中,在網(wǎng)絡(luò)設(shè)備初始化時,可根據(jù)該網(wǎng)絡(luò)設(shè)備所能處理的業(yè)務(wù)所屬 的業(yè)務(wù)類型設(shè)置對應(yīng)的隊列,一種業(yè)務(wù)類型對應(yīng)設(shè)置有一個隊列,用于緩存該業(yè)務(wù)類型的 數(shù)據(jù)包。進(jìn)一步地,還可設(shè)置一個隊列,用來緩存未能識別出業(yè)務(wù)類型的數(shù)據(jù)包。上述隊列 可采用先入先出機(jī)制。其中,所述業(yè)務(wù)類型可包括但不限于:即時通信視頻、V0D(Video on Demand,視頻點播)、在線游戲、無線傳屏。其中無線傳屏是PC(Personal Computer,個人電 腦)端和電視端,PC通過家庭網(wǎng)絡(luò)將電視做為第二顯示器(聲音),實現(xiàn)PC和電視的多媒 體同屏顯示。
[0061] 本發(fā)明實施例中,也可以在路由登陸界面配置tc命令調(diào)整優(yōu)先級順序,從而對應(yīng) 用的流量進(jìn)行控制,比如:在網(wǎng)卡上注冊新的策略對象ti_qdisc_ops通過tc會配置root qdisc為ti_fast (隊列的優(yōu)先級順序),當(dāng)網(wǎng)卡啟動,網(wǎng)卡設(shè)備dev_queue_xmit調(diào)用rc =q->enqueue(skb, q)后,就會調(diào)用ti_qdisc對應(yīng)的enqueue函數(shù)進(jìn)行入隊操作;而每個 隊列的優(yōu)先級是預(yù)先設(shè)定的,比如,初始化操作ti_fast_init()主要包括五個隊列的建立 (0,1,2, 3,4)優(yōu)先級從高到低,分別對應(yīng)QQ視頻,在線游戲,V0D,無線傳屏和無法識別的數(shù) 據(jù)包。tLenqueueO操作將根據(jù)接收到的識別結(jié)果判斷數(shù)據(jù)包對應(yīng)的業(yè)務(wù)類型(即時通信 視頻,在線游戲,VOD,無線傳屏和無法識別的數(shù)據(jù)包),然后將數(shù)據(jù)包放置到每個對應(yīng)的隊 列中。
[0062] 本發(fā)明實施例中,對上述每個隊列還設(shè)置有優(yōu)先級。每個隊列的優(yōu)先級是根據(jù)相 應(yīng)隊列對應(yīng)的業(yè)務(wù)類型被分配的帶寬確定出來的,其中,帶寬大的業(yè)務(wù)所對應(yīng)的隊列的優(yōu) 先級高于帶寬小的業(yè)務(wù)所對應(yīng)的隊列的優(yōu)先級。比如,以業(yè)務(wù)類型包括時通信視頻、V0D、在 線游戲、無線傳屏為例,當(dāng)前在線游戲所需的帶寬在四者中需求量最大,而V0D所需的帶寬 在四者中需求量為最小,則在線游戲?qū)?yīng)的隊列的優(yōu)先級在所有的隊列中最高,而相應(yīng)的 V0D對應(yīng)的隊列的優(yōu)先級在所有隊列中是最低的。可選地,用來緩存未能識別出業(yè)務(wù)類型的 數(shù)據(jù)包的隊列,其優(yōu)先級可設(shè)置為最低,當(dāng)然也可根據(jù)需求設(shè)置為其他優(yōu)先級。隊列的設(shè)置 以及隊列的優(yōu)先級設(shè)置,還可以根據(jù)需要進(jìn)行調(diào)整。比如,當(dāng)在網(wǎng)絡(luò)設(shè)備上配置了新類型的 業(yè)務(wù)時,可為該新類型的業(yè)務(wù)設(shè)置隊列并設(shè)置隊列優(yōu)先級;當(dāng)需要調(diào)整業(yè)務(wù)的帶寬時,可相 應(yīng)調(diào)整該業(yè)務(wù)對應(yīng)的隊列的優(yōu)先級。
[0063] 以下結(jié)合說明書附圖對本發(fā)明的優(yōu)選實施例進(jìn)行說明,應(yīng)當(dāng)理解,此處所描述的 優(yōu)選實施例僅用于說明和解釋本發(fā)明,并不用于限定本發(fā)明。并且在不沖突的情況下,本申 請中的實施例及實施例中的特征可以相互組合。
[0064] 實施例一
[0065] 如圖1所示,本發(fā)明實施例一提供一種流量控制的方法,包括以下步驟:
[0066] 步驟101,為每種業(yè)務(wù)類型的數(shù)據(jù)包分配一個隊列,并確定每個隊列的優(yōu)先級;
[0067] 步驟102,接收數(shù)據(jù)包后,流量識別模塊識別所述數(shù)據(jù)包所屬的業(yè)務(wù)類型,根據(jù)識 別結(jié)果將所述數(shù)據(jù)包分發(fā)至對應(yīng)的隊列;其中,所述流量識別模塊內(nèi)嵌在開源系統(tǒng)的用戶 空間;
[0068] 步驟103,在每個調(diào)度周期內(nèi),根據(jù)優(yōu)先級對每個隊列中的數(shù)據(jù)包進(jìn)行出隊處理。
[0069] 上述流程可由網(wǎng)絡(luò)設(shè)備實現(xiàn)。本發(fā)明實施例中網(wǎng)絡(luò)設(shè)備可以是路由器、網(wǎng)關(guān)或者 能夠?qū)崿F(xiàn)網(wǎng)絡(luò)流量控制功能的其他設(shè)備。
[0070] 在步驟101中,隊列的優(yōu)先級可以是在網(wǎng)絡(luò)設(shè)備初始化時,根據(jù)該網(wǎng)絡(luò)設(shè)備所能 處理的業(yè)務(wù)所屬的業(yè)務(wù)類型設(shè)置對應(yīng)的隊列,一種業(yè)務(wù)類型對應(yīng)設(shè)置有一個隊列,用于緩 存該業(yè)務(wù)類型的數(shù)據(jù)包。上述隊列可采用先入先出機(jī)制。也可以在路由登陸界面配置tc 命令調(diào)整優(yōu)先級順序,從而對應(yīng)用的流量大小進(jìn)行控制。
[0071] 在步驟102中,流量識別模塊識別所述數(shù)據(jù)包所屬的業(yè)務(wù)類型,根據(jù)識別結(jié)果將 所述數(shù)據(jù)包分發(fā)至對應(yīng)的隊列,而流量識別模塊需要能夠識別當(dāng)前接收的數(shù)據(jù)包所屬的業(yè) 務(wù)類型。
[0072] 較佳的,所述識別所述數(shù)據(jù)包所屬的業(yè)務(wù)類型可包括:
[0073] 根據(jù)所述數(shù)據(jù)包的五元組識別所述數(shù)據(jù)包所屬的業(yè)務(wù)類型;其中,五元組信息包 括源IP地址、源端口、目的IP地址、目的端口和通信協(xié)議類型;
[0074] 若根據(jù)所述數(shù)據(jù)包的五元組未能識別出所述數(shù)據(jù)包所屬的業(yè)務(wù)類型,則根據(jù)所述 數(shù)據(jù)包的包頭中包含的特征值識別所述數(shù)據(jù)包所屬的業(yè)務(wù)類型;其中,若網(wǎng)絡(luò)設(shè)備通過截 取數(shù)據(jù)包包頭的端口信息,可以通過檢查連接記錄是否應(yīng)用了某些固定的端口號,若可以 匹配某些已知的固定端口號,則可以直接識別網(wǎng)絡(luò)數(shù)據(jù)包對應(yīng)的業(yè)務(wù)類型。
[0075] 若根據(jù)所述數(shù)據(jù)包的包頭中包含的特征值未能識別出所述數(shù)據(jù)包所屬的業(yè)務(wù)類 型,則利用神經(jīng)網(wǎng)絡(luò)識別所述數(shù)據(jù)包所屬的業(yè)務(wù)類型;
[0076] 若利用神經(jīng)網(wǎng)絡(luò)未能識別出所述數(shù)據(jù)包所屬的業(yè)務(wù)類型,則將所述數(shù)據(jù)包確認(rèn)為 未知業(yè)務(wù)類型的數(shù)據(jù)包。
[0077] 上述根據(jù)數(shù)據(jù)包的五元組識別數(shù)據(jù)包所屬的業(yè)務(wù)類型的一個例子是:如果數(shù) 據(jù)包的五元組信息包括:源IP地址是192. 168. 1. 1,源端口號是10000,協(xié)議類型是 TCP(Transimission Control Protocol,傳輸控制協(xié)議),目的 IP地址是 121. 14.88.76,目 的端口號是80,由于在TCP協(xié)議簇的HTTP (Hype Text Transport Protocol,超文本傳輸協(xié) 議)協(xié)議中端口號80標(biāo)識網(wǎng)頁瀏覽業(yè)務(wù),因此根據(jù)以上五元組信息科識別出該數(shù)據(jù)包所屬 的業(yè)務(wù)類型為網(wǎng)頁瀏覽。
[0078] 如上所述,若根據(jù)數(shù)據(jù)包的五元組未能識別出數(shù)據(jù)包所屬的業(yè)務(wù)類型,則可根據(jù) 數(shù)據(jù)包的包頭中包含的特征值識別所述數(shù)據(jù)包所屬的業(yè)務(wù)類型。
[0079] 比如,數(shù)據(jù)包的包頭中通常包含端口號。端口號是一個具有網(wǎng)絡(luò)功能的應(yīng)用軟件 的標(biāo)識號。但是端口號不是固定的,即可以由用戶手工分配,當(dāng)然,有很多應(yīng)用軟件有公認(rèn) 的端口號,比如FTP :20和21,HTTP :80, TELNET :23等等。一個軟件可以擁有多個端口號, 這證明這個軟件擁有不止一個網(wǎng)絡(luò)功能。0-1023是公認(rèn)端口號,即已經(jīng)公認(rèn)定義或為將 要公認(rèn)定義的軟件保留的,而1024-65535是并沒有公共定義的端口號,用戶可以自己定義 這些端口的作用?;诠潭ǘ丝诘淖R別方法,主要是依據(jù)互聯(lián)網(wǎng)地址指派機(jī)構(gòu)(Internet Assigned Numbers Authority,IANA)規(guī)定的端口 映射表,如 HTTP 的端口為 80,SMTP 的端 口為25, TELENT的端口號為23等。
[0080] 如上所述,若根據(jù)所述數(shù)據(jù)包的包頭中包含的特征值未能識別出所述數(shù)據(jù)包所屬 的業(yè)務(wù)類型,則將所述數(shù)據(jù)包確認(rèn)為未知業(yè)務(wù)類型的數(shù)據(jù)包。
[0081] 進(jìn)一步,若根據(jù)所述數(shù)據(jù)包包頭中包含的特征值為能識別出所述數(shù)據(jù)包所屬的業(yè) 務(wù)類型,則可利用神經(jīng)網(wǎng)絡(luò)識別所述數(shù)據(jù)包所屬的業(yè)務(wù)類型。目前可用于數(shù)據(jù)包識別的神 經(jīng)網(wǎng)絡(luò)的算法包括:基于BP(Back Propagation)神經(jīng)網(wǎng)絡(luò)的流量識別方法,SVM(Support Vector Machine,支持向量機(jī)),CFS(Correlation based Feature Selection,基于關(guān)聯(lián)特 征的選擇算法)等,本發(fā)明實施例中采用的是BP神經(jīng)網(wǎng)絡(luò)算法進(jìn)行數(shù)據(jù)包所屬業(yè)務(wù)類型的 識別。其中,本發(fā)明實施例對所采用的用于識別數(shù)據(jù)包的業(yè)務(wù)類型的神經(jīng)網(wǎng)絡(luò)算法不做限 制。
[0082] 進(jìn)一步地,若利用神經(jīng)網(wǎng)絡(luò)未能識別出所述數(shù)據(jù)包所屬的業(yè)務(wù)類型,則將所述數(shù) 據(jù)包確認(rèn)為未知業(yè)務(wù)類型的數(shù)據(jù)包,并將該數(shù)據(jù)包分發(fā)到用于存儲未知業(yè)務(wù)類型的數(shù)據(jù)包 的隊列中。
[0083] 本實施例中,首先將流量識別模塊作為軟件包嵌入到Open Wrt系統(tǒng)中作為軟件 包,流量識別模塊先通過抓取數(shù)據(jù)包分析,提取數(shù)據(jù)包五元組信息進(jìn)行識別,然后通過數(shù)據(jù) 包頭的固定特征值進(jìn)行識別,當(dāng)兩者都無法識別時,在根據(jù)神經(jīng)網(wǎng)絡(luò)的機(jī)器學(xué)習(xí)方法對流 量進(jìn)行統(tǒng)計,提取特征進(jìn)行識別。由于不同的識別方法具有不同的優(yōu)點,本實施例中,采用 上述三種復(fù)合識別方法,提高了網(wǎng)絡(luò)流量識別的處理效率。
[0084] 在步驟103中,在每個調(diào)度周期內(nèi),根據(jù)優(yōu)先級對每個隊列中的數(shù)據(jù)包進(jìn)行出隊 處理。
[0085] 網(wǎng)絡(luò)設(shè)備的數(shù)據(jù)包調(diào)度周期是非常快的,網(wǎng)絡(luò)設(shè)備在每個數(shù)據(jù)包調(diào)度周期會根據(jù) 所有業(yè)務(wù)類型對應(yīng)的隊列的優(yōu)先級,確定當(dāng)前調(diào)度周期內(nèi)每個隊列出隊的數(shù)據(jù)包的比例, 根據(jù)每個隊列出隊的數(shù)據(jù)包的比例,通過輪詢所有隊列對每個隊列中的數(shù)據(jù)包進(jìn)行出隊處 理。其中,優(yōu)先級高的隊列所對應(yīng)的數(shù)據(jù)包出隊數(shù)量大于優(yōu)先級低的隊列。
[0086] 具體的,考慮到除了設(shè)置有與業(yè)務(wù)類型對應(yīng)的隊列以外,還設(shè)置有用于存儲未知 業(yè)務(wù)類型的數(shù)據(jù)包的隊列,網(wǎng)絡(luò)設(shè)備可根據(jù)所有業(yè)務(wù)類型對應(yīng)的隊列以及用于存儲所述未 知業(yè)務(wù)類型的數(shù)據(jù)包的隊列的優(yōu)先級,對各隊列中的數(shù)據(jù)包進(jìn)行出隊處理。
[0087] 舉例來說,有4個隊列,分別為隊列A、隊列B、隊列C和隊列D,其中,4的隊列的優(yōu) 先級依次是隊列A>隊列B>隊列C =隊列D,則在對這4個隊列中的數(shù)據(jù)包進(jìn)行出隊處理 時,隊列A中出隊的數(shù)據(jù)包數(shù)量大于隊列B中出隊的數(shù)據(jù)包,隊列B中出隊的數(shù)據(jù)包數(shù)量大 于隊列C中出隊的數(shù)據(jù)包,隊列C中出隊的數(shù)據(jù)包數(shù)量等于隊列D中出隊的數(shù)據(jù)包。
[0088] 再例如,若上述4個隊列的優(yōu)先級依次是隊列A>隊列B>隊列C>隊列D,則對4個 隊列中的數(shù)據(jù)包在出隊時,隊列A中出隊的數(shù)據(jù)包數(shù)量大于隊列B中出隊的數(shù)據(jù)包,隊列B 中出隊的數(shù)據(jù)包數(shù)量大于隊列C中出隊的數(shù)據(jù)包,隊列C隊列中出隊的數(shù)據(jù)包的數(shù)量大于 隊列D中出隊的數(shù)據(jù)包。
[0089] 上述實施例中,由于隊列D的優(yōu)先級最低,因此隊列D隊列只能等待隊列A、隊列B 和隊列列的數(shù)據(jù)包出隊完成后,才能進(jìn)行隊列D數(shù)據(jù)包的出隊。而在實施中,有的優(yōu)先級較 高的隊列在出隊的數(shù)據(jù)包數(shù)量較大,因此會導(dǎo)致優(yōu)先級較低的隊列中的數(shù)據(jù)包一直無法正 常出隊,使得優(yōu)先級較低的隊列中的數(shù)據(jù)包得不到響應(yīng)。為了避免這種情況的發(fā)生,可以通 過輪詢所有隊列中的數(shù)據(jù)包進(jìn)行出隊處理。
[0090] 比如,有5個隊列,分別為隊列V隊列Bi、隊列Ci、隊列Di和隊列Ei,各隊列的優(yōu) 先級是依次遞減,優(yōu)先級依次為5、4、3、2、1,根據(jù)各個隊列的優(yōu)先級可確定出各個隊列中出 隊的數(shù)據(jù)包數(shù)量的比例為5 :4 :3 :2 :1。在一個調(diào)度周期內(nèi)最多可調(diào)度150個數(shù)據(jù)包,則根 據(jù)各個隊列的出隊數(shù)據(jù)包的數(shù)量比例可以得到:隊列4中出隊的數(shù)據(jù)包數(shù)量為50個,隊列 中出隊的數(shù)據(jù)包數(shù)量為40個,隊列Q中出隊的數(shù)據(jù)包數(shù)量為30個,隊列Di中出隊的數(shù) 據(jù)包數(shù)量為20個,隊列Ei隊列中出隊的數(shù)據(jù)包數(shù)量為10個。出隊處理時,依次輪詢隊列 4、隊列&、隊列Q、隊列Di和隊列Ei,并從輪詢到的隊列中取出一個數(shù)據(jù)包進(jìn)行出隊處理, 當(dāng)一個隊列中出隊的數(shù)據(jù)包的數(shù)量已經(jīng)達(dá)到本調(diào)度周期需要出隊的數(shù)量時,該隊列不再參 與輪詢。通過上述方法,可以避免出隊隊列優(yōu)先級較低的隊列一直無法正常出隊的問題。 [0091] 通過上述實施例可以看出,在接收數(shù)據(jù)包后,通過內(nèi)嵌入開源系統(tǒng)的用戶空間的 流量識別模塊識別所述數(shù)據(jù)包所屬的業(yè)務(wù)類型,根據(jù)所述數(shù)據(jù)包所屬的業(yè)務(wù)類型確定對應(yīng) 的隊列,將所述數(shù)據(jù)包分發(fā)至確定出的隊列;其中,每種業(yè)務(wù)類型對應(yīng)一個隊列,每個隊列 被設(shè)置有對應(yīng)的優(yōu)先級;在每個調(diào)度周期內(nèi),根據(jù)隊列的優(yōu)先級,對各隊列中的數(shù)據(jù)包進(jìn)行 出隊處理。采用該方法,實現(xiàn)基于上層應(yīng)用進(jìn)行流量識別的流量控制,提高了處理效率并降 低了實現(xiàn)復(fù)雜度。
[0092] 基于相同的技術(shù)構(gòu)思,本發(fā)明實施例還提供一種流量控制裝置,此裝置的具體內(nèi) 容可以參照上述方法實施,在此不再贅述。
[0093] 實施例二
[0094] 如圖2所示,本發(fā)明實施例二提供的一種流量控制裝置結(jié)構(gòu)圖,該裝置包括:分配 隊列模塊20、流量識別模塊21和調(diào)度模塊22。
[0095] 分配隊列模塊20,用于為每種業(yè)務(wù)類型的數(shù)據(jù)包分配一個隊列,并確定每個隊列 的優(yōu)先級;
[0096] 流量識別模塊21,接收數(shù)據(jù)包后,流量識別模塊識別所述數(shù)據(jù)包所屬的業(yè)務(wù)類型, 根據(jù)識別結(jié)果將所述數(shù)據(jù)包分發(fā)至對應(yīng)的隊列;其中,所述流量識別模塊內(nèi)嵌在開源系統(tǒng) 的用戶空間;
[0097] 調(diào)度模塊22,用于在每個調(diào)度周期內(nèi),根據(jù)優(yōu)先級對每個隊列中的數(shù)據(jù)包進(jìn)行出 隊處理。
[0098] 較佳的,所述分配隊列模塊20具體用于:
[0099] 所述為每種業(yè)務(wù)類型的數(shù)據(jù)包分配一個隊列包括:為未知業(yè)務(wù)類型的數(shù)據(jù)包分配 隊列,
[0100] 所述根據(jù)識別結(jié)果將所述數(shù)據(jù)包分發(fā)至對應(yīng)的隊列,包括:若未識別出所述數(shù)據(jù) 包所屬的業(yè)務(wù)類型,則將所述數(shù)據(jù)包分發(fā)至用于存儲未知業(yè)務(wù)類型的數(shù)據(jù)包的隊列。
[0101] 較佳的,所述流量識別模塊21具體用于:
[0102] 根據(jù)所述數(shù)據(jù)包的五元組識別所述數(shù)據(jù)包所屬的業(yè)務(wù)類型;
[0103] 若根據(jù)所述數(shù)據(jù)包的五元組未能識別出所述數(shù)據(jù)包所屬的業(yè)務(wù)類型,則根據(jù)所述 數(shù)據(jù)包的包頭中包含的特征值識別所述數(shù)據(jù)包所屬的業(yè)務(wù)類型;
[0104] 若根據(jù)所述數(shù)據(jù)包的包頭中包含的特征值未能識別出所述數(shù)據(jù)包所屬的業(yè)務(wù)類 型,則將所述數(shù)據(jù)包確認(rèn)為未知業(yè)務(wù)類型的數(shù)據(jù)包。
[0105] 較佳的,所述流量識別模塊21具體用于:
[0106] 根據(jù)所述數(shù)據(jù)包的五元組識別所述數(shù)據(jù)包所屬的業(yè)務(wù)類型;
[0107] 若根據(jù)所述數(shù)據(jù)包的五元組未能識別出所述數(shù)據(jù)包所屬的業(yè)務(wù)類型,則根據(jù)所述 數(shù)據(jù)包的包頭中包含的特征值識別所述數(shù)據(jù)包所屬的業(yè)務(wù)類型;
[0108] 若根據(jù)所述數(shù)據(jù)包的包頭中包含的特征值未能識別出所述數(shù)據(jù)包所屬的業(yè)務(wù)類 型,則利用神經(jīng)網(wǎng)絡(luò)識別所述數(shù)據(jù)包所屬的業(yè)務(wù)類型;
[0109] 若利用神經(jīng)網(wǎng)絡(luò)未能識別出所述數(shù)據(jù)包所屬的業(yè)務(wù)類型,則將所述數(shù)據(jù)包確認(rèn)為 未知業(yè)務(wù)類型的數(shù)據(jù)包。
[0110] 較佳的,所述調(diào)度模塊22具體用于:
[0111] 根據(jù)每個隊列的優(yōu)先級,確定當(dāng)前調(diào)度周期內(nèi)每個隊列出隊的數(shù)據(jù)包的比例;其 中,優(yōu)先級高的隊列所對應(yīng)的數(shù)據(jù)包出隊數(shù)量大于優(yōu)先級低的隊列;
[0112] 根據(jù)每個隊列出隊的數(shù)據(jù)包的比例,通過輪詢所有隊列對每個隊列中的數(shù)據(jù)包進(jìn) 行出隊處理。
[0113] 較佳的,所述調(diào)度模塊22還用于:
[0114] 根據(jù)每種業(yè)務(wù)類型被分配的帶寬確定對應(yīng)的隊列的優(yōu)先級,其中,被分配的帶寬 大的業(yè)務(wù)類型所對應(yīng)的隊列的優(yōu)先級高于被分配的帶寬小的業(yè)務(wù)類型所對應(yīng)的隊列的優(yōu) 先級。
[0115] 較佳的,所述流量識別模塊21還用于:
[0116] 所述流量識別模塊為開源系統(tǒng)用戶空間的應(yīng)用層中的軟件模塊,所述開源系統(tǒng)為 Linux系統(tǒng)。
[0117] 在實施例中,流量識別模塊,用于通過流量識別模塊識別所述數(shù)據(jù)包所屬的業(yè)務(wù) 類型,根據(jù)識別結(jié)果確定對應(yīng)的隊列,將所述數(shù)據(jù)包分發(fā)至確定出的隊列;其中,所述流量 識別模塊內(nèi)嵌入開源系統(tǒng)的用戶空間,每種業(yè)務(wù)類型對應(yīng)一個隊列,每個隊列被設(shè)置有對 應(yīng)的優(yōu)先級;控制模塊用于在每個調(diào)度周期內(nèi),根據(jù)隊列的優(yōu)先級,對各隊列中的數(shù)據(jù)包進(jìn) 行出隊處理。采用該方法,實現(xiàn)基于上層應(yīng)用進(jìn)行流量識別的流量控制,提高了處理效率并 降低了實現(xiàn)復(fù)雜度。
[0118] 應(yīng)當(dāng)理解,以上流量控制裝置包括的模塊僅為根據(jù)該設(shè)備裝置實現(xiàn)的功能進(jìn)行的 邏輯劃分,實際應(yīng)用中,可以進(jìn)行上述單元的疊加或拆分。并且該實施例提供的一種流量控 制裝置所實現(xiàn)的功能與上述實施例提供的一種流量控制方法一一對應(yīng),對于該裝置所實現(xiàn) 的更為詳細(xì)的處理流程,在上述方法實施例一中已做詳細(xì)描述,此處不再詳細(xì)描述。
[0119] 顯然,本領(lǐng)域的技術(shù)人員可以對本發(fā)明進(jìn)行各種改動和變型而不脫離本發(fā)明的精 神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍 之內(nèi),則本發(fā)明也意圖包含這些改動和變型在內(nèi)。
【權(quán)利要求】
1. 一種流量控制方法,其特征在于,包括: 為每種業(yè)務(wù)類型的數(shù)據(jù)包分配一個隊列,并確定每個隊列的優(yōu)先級; 接收數(shù)據(jù)包后,流量識別模塊識別所述數(shù)據(jù)包所屬的業(yè)務(wù)類型,根據(jù)識別結(jié)果將所述 數(shù)據(jù)包分發(fā)至對應(yīng)的隊列;其中,所述流量識別模塊內(nèi)嵌在開源系統(tǒng)的用戶空間; 在每個調(diào)度周期內(nèi),根據(jù)優(yōu)先級對每個隊列中的數(shù)據(jù)包進(jìn)行出隊處理。
2. 如權(quán)利要求1所述的方法,其特征在于, 所述為每種業(yè)務(wù)類型的數(shù)據(jù)包分配一個隊列包括:為未知業(yè)務(wù)類型的數(shù)據(jù)包分配隊 列; 所述根據(jù)識別結(jié)果將所述數(shù)據(jù)包分發(fā)至對應(yīng)的隊列,包括:若未識別出所述數(shù)據(jù)包所 屬的業(yè)務(wù)類型,則將所述數(shù)據(jù)包分發(fā)至用于存儲未知業(yè)務(wù)類型的數(shù)據(jù)包的隊列。
3. 如權(quán)利要求2所述的方法,其特征在于,所述識別所述數(shù)據(jù)包所屬的業(yè)務(wù)類型,包 括: 根據(jù)所述數(shù)據(jù)包的五元組識別所述數(shù)據(jù)包所屬的業(yè)務(wù)類型; 若根據(jù)所述數(shù)據(jù)包的五元組未能識別出所述數(shù)據(jù)包所屬的業(yè)務(wù)類型,則根據(jù)所述數(shù)據(jù) 包的包頭中包含的特征值識別所述數(shù)據(jù)包所屬的業(yè)務(wù)類型; 若根據(jù)所述數(shù)據(jù)包的包頭中包含的特征值未能識別出所述數(shù)據(jù)包所屬的業(yè)務(wù)類型,則 將所述數(shù)據(jù)包確認(rèn)為未知業(yè)務(wù)類型的數(shù)據(jù)包。
4. 如權(quán)利要求2所述的方法,其特征在于,所述識別所述數(shù)據(jù)包所屬的業(yè)務(wù)類型,包 括: 根據(jù)所述數(shù)據(jù)包的五元組識別所述數(shù)據(jù)包所屬的業(yè)務(wù)類型; 若根據(jù)所述數(shù)據(jù)包的五元組未能識別出所述數(shù)據(jù)包所屬的業(yè)務(wù)類型,則根據(jù)所述數(shù)據(jù) 包的包頭中包含的特征值識別所述數(shù)據(jù)包所屬的業(yè)務(wù)類型; 若根據(jù)所述數(shù)據(jù)包的包頭中包含的特征值未能識別出所述數(shù)據(jù)包所屬的業(yè)務(wù)類型,則 利用神經(jīng)網(wǎng)絡(luò)識別所述數(shù)據(jù)包所屬的業(yè)務(wù)類型; 若利用神經(jīng)網(wǎng)絡(luò)未能識別出所述數(shù)據(jù)包所屬的業(yè)務(wù)類型,則將所述數(shù)據(jù)包確認(rèn)為未知 業(yè)務(wù)類型的數(shù)據(jù)包。
5. 如權(quán)利要求1所述的方法,其特征在于,所述根據(jù)優(yōu)先級對每個隊列中的數(shù)據(jù)包進(jìn) 行出隊處理,包括: 根據(jù)每個隊列的優(yōu)先級,確定當(dāng)前調(diào)度周期內(nèi)每個隊列出隊的數(shù)據(jù)包的比例;其中,優(yōu) 先級高的隊列所對應(yīng)的數(shù)據(jù)包出隊數(shù)量大于優(yōu)先級低的隊列; 根據(jù)每個隊列出隊的數(shù)據(jù)包的比例,通過輪詢所有隊列對每個隊列中的數(shù)據(jù)包進(jìn)行出 隊處理。
6. 如權(quán)利要求1-5中任一所述的方法,其特征在于,所述確定每個隊列的優(yōu)先級包括: 根據(jù)每種業(yè)務(wù)類型被分配的帶寬確定對應(yīng)的隊列的優(yōu)先級,其中,被分配的帶寬大的 業(yè)務(wù)類型所對應(yīng)的隊列的優(yōu)先級高于被分配的帶寬小的業(yè)務(wù)類型所對應(yīng)的隊列的優(yōu)先級。
7. 如權(quán)利要求1-5任一所述的方法,其特征在于,所述流量識別模塊為開源系統(tǒng)用戶 空間的應(yīng)用層中的軟件模塊,所述開源系統(tǒng)為Linux系統(tǒng)。
8. -種流量控制裝置,其特征在于,包括: 分配隊列模塊,用于為每種業(yè)務(wù)類型的數(shù)據(jù)包分配一個隊列,并確定每個隊列的優(yōu)先 級; 流量識別模塊,接收數(shù)據(jù)包后,流量識別模塊識別所述數(shù)據(jù)包所屬的業(yè)務(wù)類型,根據(jù)識 別結(jié)果將所述數(shù)據(jù)包分發(fā)至對應(yīng)的隊列;其中,所述流量識別模塊內(nèi)嵌在開源系統(tǒng)的用戶 空間; 調(diào)度模塊,用于在每個調(diào)度周期內(nèi),根據(jù)優(yōu)先級對每個隊列中的數(shù)據(jù)包進(jìn)行出隊處理。
9. 如權(quán)利要求8所述裝置,其特征在于,所述分配隊列模塊具體用于: 所述為每種業(yè)務(wù)類型的數(shù)據(jù)包分配一個隊列包括:為未知業(yè)務(wù)類型的數(shù)據(jù)包分配隊 列, 所述根據(jù)識別結(jié)果將所述數(shù)據(jù)包分發(fā)至對應(yīng)的隊列,包括:若未識別出所述數(shù)據(jù)包所 屬的業(yè)務(wù)類型,則將所述數(shù)據(jù)包分發(fā)至用于存儲未知業(yè)務(wù)類型的數(shù)據(jù)包的隊列。
10. 如權(quán)利要求9所述裝置,其特征在于,所述流量識別模塊具體用于: 根據(jù)所述數(shù)據(jù)包的五元組識別所述數(shù)據(jù)包所屬的業(yè)務(wù)類型; 若根據(jù)所述數(shù)據(jù)包的五元組未能識別出所述數(shù)據(jù)包所屬的業(yè)務(wù)類型,則根據(jù)所述數(shù)據(jù) 包的包頭中包含的特征值識別所述數(shù)據(jù)包所屬的業(yè)務(wù)類型; 若根據(jù)所述數(shù)據(jù)包的包頭中包含的特征值未能識別出所述數(shù)據(jù)包所屬的業(yè)務(wù)類型,則 將所述數(shù)據(jù)包確認(rèn)為未知業(yè)務(wù)類型的數(shù)據(jù)包。
11. 如權(quán)利要求10所述裝置,其特征在于,所述流量識別模塊具體用于: 根據(jù)所述數(shù)據(jù)包的五元組識別所述數(shù)據(jù)包所屬的業(yè)務(wù)類型; 若根據(jù)所述數(shù)據(jù)包的五元組未能識別出所述數(shù)據(jù)包所屬的業(yè)務(wù)類型,則根據(jù)所述數(shù)據(jù) 包的包頭中包含的特征值識別所述數(shù)據(jù)包所屬的業(yè)務(wù)類型; 若根據(jù)所述數(shù)據(jù)包的包頭中包含的特征值未能識別出所述數(shù)據(jù)包所屬的業(yè)務(wù)類型,則 利用神經(jīng)網(wǎng)絡(luò)識別所述數(shù)據(jù)包所屬的業(yè)務(wù)類型; 若利用神經(jīng)網(wǎng)絡(luò)未能識別出所述數(shù)據(jù)包所屬的業(yè)務(wù)類型,則將所述數(shù)據(jù)包確認(rèn)為未知 業(yè)務(wù)類型的數(shù)據(jù)包。
12. 如權(quán)利要求8所述裝置,其特征在于,所述調(diào)度模塊具體用于: 根據(jù)每個隊列的優(yōu)先級,確定當(dāng)前調(diào)度周期內(nèi)每個隊列出隊的數(shù)據(jù)包的比例;其中,優(yōu) 先級高的隊列所對應(yīng)的數(shù)據(jù)包出隊數(shù)量大于優(yōu)先級低的隊列; 根據(jù)每個隊列出隊的數(shù)據(jù)包的比例,通過輪詢所有隊列對每個隊列中的數(shù)據(jù)包進(jìn)行出 隊處理。
13. 如權(quán)利要求8-12任一所述裝置,其特征在于,所述調(diào)度模塊還用于: 根據(jù)每種業(yè)務(wù)類型被分配的帶寬確定對應(yīng)的隊列的優(yōu)先級,其中,被分配的帶寬大的 業(yè)務(wù)類型所對應(yīng)的隊列的優(yōu)先級高于被分配的帶寬小的業(yè)務(wù)類型所對應(yīng)的隊列的優(yōu)先級。
14. 如權(quán)利要求8-12任一所述裝置,其特征在于,所述流量識別模塊還用于: 所述流量識別模塊為開源系統(tǒng)用戶空間的應(yīng)用層中的軟件模塊,所述開源系統(tǒng)為 Linux系統(tǒng)。
【文檔編號】H04L12/865GK104125167SQ201410356804
【公開日】2014年10月29日 申請日期:2014年7月24日 優(yōu)先權(quán)日:2014年7月24日
【發(fā)明者】王曉明, 郭志鑫, 彭壽鈞 申請人:海信集團(tuán)有限公司