一種上下行業(yè)務(wù)數(shù)據(jù)的QoS流量控制方法及裝置制造方法【專利摘要】本發(fā)明適用于通信【
技術(shù)領(lǐng)域:
】,提供了一種上下行業(yè)務(wù)數(shù)據(jù)的QoS流量控制方法及裝置,包括:在網(wǎng)關(guān)設(shè)備netfilter框架的兩個(gè)HOOK點(diǎn)上分別加載第一IMQ設(shè)備和第二IMQ設(shè)備;獲取用戶配置的服務(wù)質(zhì)量QoS規(guī)則;輸入所述網(wǎng)關(guān)設(shè)備的所有業(yè)務(wù)數(shù)據(jù)均依次進(jìn)入到ebtables和iptables中進(jìn)行匹配和標(biāo)記;當(dāng)業(yè)務(wù)數(shù)據(jù)經(jīng)過所述第一IMQ設(shè)備時(shí),所述第一IMQ設(shè)備根據(jù)所述QoS規(guī)則,對(duì)經(jīng)過標(biāo)記的業(yè)務(wù)數(shù)據(jù)進(jìn)行限速處理;當(dāng)業(yè)務(wù)數(shù)據(jù)經(jīng)過所述第二IMQ設(shè)備時(shí),所述第二IMQ設(shè)備根據(jù)所述QoS規(guī)則,對(duì)經(jīng)過標(biāo)記的業(yè)務(wù)數(shù)據(jù)進(jìn)行調(diào)度。本發(fā)明提高了網(wǎng)關(guān)設(shè)備對(duì)業(yè)務(wù)數(shù)據(jù)的QoS服務(wù)質(zhì)量?!緦@f明】一種上下行業(yè)務(wù)數(shù)據(jù)的QoS流量控制方法及裝置【
技術(shù)領(lǐng)域:
】[0001]本發(fā)明屬于通信【
技術(shù)領(lǐng)域:
】,尤其涉及一種上下行業(yè)務(wù)數(shù)據(jù)的QoS流量控制方法及>J-Uρ?α裝直?!?br>背景技術(shù):
】[0002]服務(wù)質(zhì)量(QualityofService,QoS)是用來解決網(wǎng)絡(luò)延遲和阻塞等問題的一種技術(shù),當(dāng)網(wǎng)絡(luò)過載或擁塞時(shí),QoS能確保重要業(yè)務(wù)量不受延遲或丟棄,同時(shí)保證網(wǎng)絡(luò)的高效運(yùn)行。[0003]利用Q0S對(duì)業(yè)務(wù)數(shù)據(jù)進(jìn)行流量控制,通常的做法是在業(yè)務(wù)數(shù)據(jù)經(jīng)過的網(wǎng)關(guān)設(shè)備下掛載若干隊(duì)列,并配置每個(gè)隊(duì)列的限速速率和優(yōu)先級(jí),然而,基于目前的QoS調(diào)度算法,無法做到對(duì)網(wǎng)關(guān)設(shè)備下掛載的同一隊(duì)列既進(jìn)行限速,又進(jìn)行調(diào)度,影響了網(wǎng)關(guān)設(shè)備對(duì)業(yè)務(wù)數(shù)據(jù)的QoS服務(wù)質(zhì)量。【
發(fā)明內(nèi)容】[0004]本發(fā)明實(shí)施例的目的在于提供一種上下行業(yè)務(wù)數(shù)據(jù)的QoS流量控制方法,旨在提高網(wǎng)關(guān)設(shè)備對(duì)業(yè)務(wù)數(shù)據(jù)的QoS服務(wù)質(zhì)量。[0005]本發(fā)明實(shí)施例是這樣實(shí)現(xiàn)的,一種上下行業(yè)務(wù)數(shù)據(jù)的服務(wù)質(zhì)量QoS流量控制方法,包括:[0006]在網(wǎng)關(guān)設(shè)備netfilter框架的兩個(gè)HOOK點(diǎn)上分別加載第一中介隊(duì)列MQ設(shè)備和第二MQ設(shè)備;[0007]獲取用戶配置的服務(wù)質(zhì)量QoS規(guī)則;[0008]在所述網(wǎng)關(guān)設(shè)備的ebtables配置proute表,所述proute表用于對(duì)來自WAN側(cè)設(shè)備的業(yè)務(wù)數(shù)據(jù)進(jìn)行匹配和標(biāo)記,以使輸入所述網(wǎng)關(guān)設(shè)備的所有業(yè)務(wù)數(shù)據(jù)均依次進(jìn)入到ebtables和iptables中進(jìn)行匹配和標(biāo)記;[0009]當(dāng)業(yè)務(wù)數(shù)據(jù)經(jīng)過所述第一MQ設(shè)備時(shí),所述第一MQ設(shè)備根據(jù)所述QoS規(guī)則,對(duì)經(jīng)過標(biāo)記的業(yè)務(wù)數(shù)據(jù)進(jìn)行限速處理;[0010]當(dāng)業(yè)務(wù)數(shù)據(jù)經(jīng)過所述第二MQ設(shè)備時(shí),所述第二MQ設(shè)備根據(jù)所述QoS規(guī)則,對(duì)經(jīng)過標(biāo)記的業(yè)務(wù)數(shù)據(jù)進(jìn)行調(diào)度。[0011]本發(fā)明實(shí)施例的另一目的在于提供一種上下行業(yè)務(wù)數(shù)據(jù)的服務(wù)質(zhì)量Q0S流量控制裝置,所述裝置包括:[0012]加載單元,用于在網(wǎng)關(guān)設(shè)備netfilter框架的兩個(gè)HOOK點(diǎn)上分別加載第一中介隊(duì)列MQ設(shè)備和第二MQ設(shè)備;[0013]獲取單元,用于獲取用戶配置的服務(wù)質(zhì)量QoS規(guī)則;[0014]標(biāo)記單元,用于在所述網(wǎng)關(guān)設(shè)備的ebtables配置proute表,所述proute表用于對(duì)來自WAN側(cè)設(shè)備的業(yè)務(wù)數(shù)據(jù)進(jìn)行匹配和標(biāo)記,以使輸入所述網(wǎng)關(guān)設(shè)備的所有業(yè)務(wù)數(shù)據(jù)均依次進(jìn)入到ebtables和iptables中進(jìn)行匹配和標(biāo)記;[0015]限速單元,用于當(dāng)業(yè)務(wù)數(shù)據(jù)經(jīng)過所述第一MQ設(shè)備時(shí),所述第一MQ設(shè)備根據(jù)所述QoS規(guī)則,對(duì)經(jīng)過標(biāo)記的業(yè)務(wù)數(shù)據(jù)進(jìn)行限速處理;[0016]調(diào)度單元,用于當(dāng)業(yè)務(wù)數(shù)據(jù)經(jīng)過所述第二MQ設(shè)備時(shí),所述第二MQ設(shè)備根據(jù)所述QoS規(guī)則,對(duì)經(jīng)過標(biāo)記的業(yè)務(wù)數(shù)據(jù)進(jìn)行調(diào)度。[0017]本發(fā)明實(shí)施例通過在網(wǎng)關(guān)設(shè)備的兩個(gè)HOOK點(diǎn)上分別加載兩個(gè)MQ設(shè)備,來對(duì)網(wǎng)關(guān)設(shè)備下掛載的同一隊(duì)列同時(shí)進(jìn)行限速和調(diào)度,提高了網(wǎng)關(guān)設(shè)備對(duì)業(yè)務(wù)數(shù)據(jù)的QoS服務(wù)質(zhì)量?!緦@綀D】【附圖說明】[0018]圖1是本發(fā)明實(shí)施例提供的上下行業(yè)務(wù)數(shù)據(jù)的QoS流量控制方法的實(shí)現(xiàn)流程圖;[0019]圖2是本發(fā)明另一實(shí)施例提供的上下行業(yè)務(wù)數(shù)據(jù)的QoS流量控制方法的實(shí)現(xiàn)流程圖;[0020]圖3是本發(fā)明實(shí)施例提供的上下行業(yè)務(wù)數(shù)據(jù)的QoS流量控制方法S103的具體實(shí)現(xiàn)流程圖;[0021]圖4是本發(fā)明實(shí)施例提供的上下行業(yè)務(wù)數(shù)據(jù)的QoS流量控制方法業(yè)務(wù)數(shù)據(jù)匹配和標(biāo)記的流程示意圖;[0022]圖5是本發(fā)明另一實(shí)施例提供的上下行業(yè)務(wù)數(shù)據(jù)的QoS流量控制方法的實(shí)現(xiàn)流程圖;[0023]圖6是本發(fā)明實(shí)施例提供的上下行業(yè)務(wù)數(shù)據(jù)的QoS流量控制裝置的結(jié)構(gòu)框圖?!揪唧w實(shí)施方式】[0024]為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。[0025]本發(fā)明實(shí)施例提供的業(yè)務(wù)數(shù)據(jù)的QoS流量控制方法可以應(yīng)用于網(wǎng)關(guān)(Gateway)設(shè)備中,被網(wǎng)關(guān)設(shè)備用于對(duì)輸入網(wǎng)關(guān)設(shè)備的業(yè)務(wù)數(shù)據(jù)進(jìn)行QoS流量控制。圖1示出了本發(fā)明實(shí)施例提供的上下行業(yè)務(wù)數(shù)據(jù)的QoS流量控制方法的實(shí)現(xiàn)流程,詳述如下:[0026]在SlOl中,在網(wǎng)關(guān)設(shè)備netfilter框架的兩個(gè)HOOK點(diǎn)上分別加載第一中介隊(duì)列(Intermediatequeueingdevice,IMQ)設(shè)備和第二IMQ設(shè)備。[0027]所述MQ設(shè)備,是一個(gè)虛擬的網(wǎng)卡設(shè)備,與物理網(wǎng)卡不同的是,通過它可以進(jìn)行全局的流量整形;所述netfilter框架,就是在整個(gè)網(wǎng)絡(luò)流程的若干位置放置了一些檢測(cè)點(diǎn)(Η00Κ點(diǎn)),并在每個(gè)HOOK點(diǎn)上登記了一些處理函數(shù)(例如包過濾、網(wǎng)絡(luò)地址轉(zhuǎn)換(NetworkAddressTranslat1n,NAT)等)進(jìn)行處理,且所述處理函數(shù)可以由用戶自定義的功能函數(shù)。[0028]在本實(shí)施例中,在網(wǎng)關(guān)設(shè)備業(yè)務(wù)數(shù)據(jù)流經(jīng)的兩個(gè)HOOK點(diǎn)上分別加載兩個(gè)MQ設(shè)備,用于對(duì)流經(jīng)HOOK點(diǎn)的業(yè)務(wù)數(shù)據(jù)分別執(zhí)行QoS中的限速和調(diào)度。其中,可以通過ifconfig工具、vnetconfig工具來驅(qū)動(dòng)第一MQ設(shè)備和第二MQ設(shè)備,使其加載至相應(yīng)的Η00Κ點(diǎn),上述驅(qū)動(dòng)和加載過程可以被標(biāo)準(zhǔn)的Linux內(nèi)核所支持。[0029]作為本發(fā)明的一個(gè)實(shí)施例,兩個(gè)MQ設(shè)備可以依次掛載在網(wǎng)關(guān)設(shè)備的數(shù)據(jù)入口處的HOOK點(diǎn)上和數(shù)據(jù)出口處的HOOK點(diǎn)上,包括:[0030]在所述網(wǎng)關(guān)設(shè)備數(shù)據(jù)入口處的HOOK點(diǎn)加載第一MQ設(shè)備,在所述網(wǎng)關(guān)設(shè)備數(shù)據(jù)出口處的HOOK點(diǎn)加載第二MQ設(shè)備;或者,[0031]在所述網(wǎng)關(guān)設(shè)備數(shù)據(jù)入口處的HOOK點(diǎn)加載第二MQ設(shè)備,在所述網(wǎng)關(guān)設(shè)備數(shù)據(jù)出口處的HOOK點(diǎn)加載第一MQ設(shè)備。[0032]S卩,可以調(diào)換第一MQ設(shè)備和第二MQ設(shè)備的順序關(guān)系,先進(jìn)行限速,后進(jìn)行調(diào)度,或者先進(jìn)行調(diào)度,后進(jìn)行限速。[0033]優(yōu)選地:[0034]在所述網(wǎng)關(guān)設(shè)備netfilter框架的PRER0UTE點(diǎn)上加載所述第一MQ設(shè)備;[0035]在所述網(wǎng)關(guān)設(shè)備netfilter框架的P0STR0UTE點(diǎn)上加載所述第二MQ設(shè)備。[0036]所述PRER0UTE點(diǎn)(即NF_IP_PRE_ROUTING)和所述P0STR0UTE點(diǎn)(即NF_IP_P0ST_ROUTING)為netfilter框架中的五個(gè)HOOK點(diǎn)中的兩個(gè),其中,所述PRER0UTE點(diǎn)為剛剛進(jìn)入網(wǎng)關(guān)設(shè)備的業(yè)務(wù)數(shù)據(jù)所要通過的HOOK點(diǎn),所述P0STR0UTE點(diǎn)為所有馬上要輸出網(wǎng)絡(luò)設(shè)備的業(yè)務(wù)數(shù)據(jù)所要通過的HOOK點(diǎn),將兩個(gè)MQ設(shè)備分別設(shè)置在這兩個(gè)HOOK點(diǎn)上,從而在網(wǎng)關(guān)設(shè)備的第一個(gè)入口對(duì)業(yè)務(wù)數(shù)據(jù)進(jìn)行限速,在網(wǎng)關(guān)設(shè)備的最后一個(gè)出口對(duì)業(yè)務(wù)數(shù)據(jù)進(jìn)行調(diào)度,從而實(shí)現(xiàn)對(duì)網(wǎng)關(guān)設(shè)備下掛載的隊(duì)列既進(jìn)行限速,又進(jìn)行調(diào)度。[0037]作為本發(fā)明的一個(gè)實(shí)施例,所述第一MQ設(shè)備和所述第二MQ設(shè)備可以支持動(dòng)態(tài)插拔,以此實(shí)現(xiàn)對(duì)網(wǎng)關(guān)設(shè)備QoS流量控制功能的靈活控制,可以自主選擇是否啟用兩個(gè)MQ設(shè)備來進(jìn)行業(yè)務(wù)數(shù)據(jù)的限速和調(diào)度。如圖2所示,SlOl具體包括:[0038]S201,在iptables中配置MQ模塊,所述MQ模塊用于動(dòng)態(tài)加載第一MQ設(shè)備和第二MQ設(shè)備。[0039]本實(shí)施例中,MQ設(shè)備位于網(wǎng)關(guān)設(shè)備的三層路由中,因此,在iptables中配置MQ模塊,該頂Q模塊專門用于實(shí)現(xiàn)第一頂Q設(shè)備和第二頂Q設(shè)備的動(dòng)態(tài)加載。[0040]S202,命令iptables,通過所述MQ模塊加載所述第一MQ設(shè)備和所述第二MQ設(shè)備。[0041]則在執(zhí)行完圖1所示流程中對(duì)業(yè)務(wù)數(shù)據(jù)的限速和調(diào)度之后,所述方法還包括:[0042]S203,命令iptables,通過所述MQ模塊卸載所述第一MQ設(shè)備和所述第二MQ設(shè)備。[0043]在配置好MQ模塊之后,通過命令iptables,即可以實(shí)現(xiàn)對(duì)第一MQ設(shè)備和第二MQ設(shè)備的動(dòng)態(tài)加載。若需要對(duì)經(jīng)過網(wǎng)關(guān)設(shè)備的業(yè)務(wù)數(shù)據(jù)同時(shí)進(jìn)行限速和調(diào)度,則加載第一IMQ設(shè)備和第二MQ設(shè)備,當(dāng)業(yè)務(wù)數(shù)據(jù)的QoS流量控制完成后,或者不需要對(duì)業(yè)務(wù)數(shù)據(jù)同時(shí)進(jìn)行限速和調(diào)度的場(chǎng)景之下,可以卸載第一IMQ設(shè)備和第二IMQ設(shè)備,從而對(duì)虛擬資源實(shí)現(xiàn)靈活控制。[0044]在S102中,獲取用戶配置的服務(wù)質(zhì)量QoS規(guī)則。[0045]獲取用戶配置的QoS規(guī)則,所述QoS規(guī)則包括隊(duì)列優(yōu)先級(jí)和所述網(wǎng)關(guān)設(shè)備出口的總限速。[0046]其中,用戶可以通過QoS頁面或者其他配置工具,配置一系列的QoS規(guī)則,包括隊(duì)列優(yōu)先級(jí)和網(wǎng)關(guān)設(shè)備出口的總限速。當(dāng)用戶配置好QoS規(guī)則之后,第一MQ設(shè)備和第二MQ設(shè)備便可以根據(jù)該QoS規(guī)則中的隊(duì)列優(yōu)先級(jí)在其設(shè)備之下掛載相應(yīng)的隊(duì)列,并獲知該QoS規(guī)則中網(wǎng)關(guān)設(shè)備出口的總限速。[0047]在S103中,在所述網(wǎng)關(guān)設(shè)備的ebtables配置proute表,所述proute表用于對(duì)來自WAN側(cè)設(shè)備的業(yè)務(wù)數(shù)據(jù)進(jìn)行匹配和標(biāo)記,以使輸入所述網(wǎng)關(guān)設(shè)備的所有業(yè)務(wù)數(shù)據(jù)均依次進(jìn)入到ebtables和iptables中進(jìn)行匹配和標(biāo)記。[0048]在對(duì)業(yè)務(wù)數(shù)據(jù)進(jìn)行QoS流量控制時(shí),網(wǎng)關(guān)設(shè)備在獲取到配置的QoS規(guī)則之后,會(huì)在后臺(tái)通過配置的QoS規(guī)則來對(duì)輸入網(wǎng)關(guān)設(shè)備的業(yè)務(wù)數(shù)據(jù)進(jìn)行一一匹配,并對(duì)經(jīng)過了匹配的業(yè)務(wù)數(shù)據(jù)進(jìn)行標(biāo)識(shí)(Marking),為業(yè)務(wù)數(shù)據(jù)打上標(biāo)記(Mark)值,以根據(jù)業(yè)務(wù)數(shù)據(jù)的Mark值將業(yè)務(wù)數(shù)據(jù)放入相應(yīng)的隊(duì)列中,實(shí)現(xiàn)流量控制。在上述過程中,經(jīng)過網(wǎng)關(guān)設(shè)備二層路由的業(yè)務(wù)數(shù)據(jù)需要在ebtables的broute表中進(jìn)行匹配,根據(jù)Linux的標(biāo)準(zhǔn),broute表用于以太網(wǎng)橋,只有來自橋?qū)僭O(shè)備接口的業(yè)務(wù)數(shù)據(jù)才能夠進(jìn)入broute表,因此,來自LAN側(cè)設(shè)備的業(yè)務(wù)數(shù)據(jù)(即網(wǎng)關(guān)設(shè)備的上行業(yè)務(wù)數(shù)據(jù))可以順利地到達(dá)broute表,而來自WAN側(cè)設(shè)備的業(yè)務(wù)數(shù)據(jù)(即網(wǎng)關(guān)設(shè)備的下行業(yè)務(wù)數(shù)據(jù))則無法進(jìn)入broute表中進(jìn)行匹配和標(biāo)記,這樣,網(wǎng)關(guān)設(shè)備在后續(xù)數(shù)據(jù)處理流程中就無法順利地對(duì)來自WAN側(cè)的業(yè)務(wù)數(shù)據(jù)進(jìn)行QoS流量控制。[0049]因此,在本實(shí)施例中,首先在網(wǎng)關(guān)設(shè)備的協(xié)議棧中對(duì)ebtables進(jìn)行配置,在ebtables內(nèi)配置proute表,該proute表能夠?qū)崿F(xiàn)對(duì)來WAN側(cè)設(shè)備的匹配和標(biāo)記,因此,來自WAN側(cè)設(shè)備的業(yè)務(wù)數(shù)據(jù)在到達(dá)協(xié)議棧時(shí),進(jìn)入到proute表中進(jìn)行QoS規(guī)則匹配和標(biāo)記;而來自LAN側(cè)設(shè)備的業(yè)務(wù)數(shù)據(jù)在到達(dá)協(xié)議棧時(shí),進(jìn)入broute表中進(jìn)行QoS規(guī)則匹配和標(biāo)記,由此一來,就能夠在二層路由中實(shí)現(xiàn)對(duì)進(jìn)入網(wǎng)關(guān)設(shè)備的所有業(yè)務(wù)數(shù)據(jù)的匹配和標(biāo)記。[0050]在本實(shí)施例中,由于MQ設(shè)備位于網(wǎng)關(guān)設(shè)備的三層路由中,因此,標(biāo)記上了二層路由Mark值的業(yè)務(wù)數(shù)據(jù)還會(huì)輸入到網(wǎng)關(guān)設(shè)備路由模塊的iptables,到達(dá)其中的mangle表,繼續(xù)匹配三層路由的五元素組,并在匹配完成后標(biāo)記上對(duì)應(yīng)的三層路由Mark值,之后再輸入到兩個(gè)IMQ設(shè)備之中進(jìn)行限速和調(diào)度。[0051]作為本發(fā)明的一個(gè)實(shí)施例,在協(xié)議棧中,可以將所有業(yè)務(wù)數(shù)據(jù)依次經(jīng)過proute表和broute表的處理,具體地,如圖3所示,S103具體為:[0052]在S301中,在所述網(wǎng)關(guān)設(shè)備協(xié)議棧的ebtables內(nèi)配置proute表,所述proute表的優(yōu)先級(jí)高于協(xié)議棧中已配置的broute表的優(yōu)先級(jí)。[0053]設(shè)定proute表的優(yōu)先級(jí)高于broute表的優(yōu)先級(jí),由此一來,如圖4所示,業(yè)務(wù)數(shù)據(jù)在進(jìn)入到網(wǎng)關(guān)設(shè)備內(nèi)部,到達(dá)協(xié)議棧之后,會(huì)首先進(jìn)入到proute表中進(jìn)行處理,再進(jìn)入到broute表中進(jìn)行處理。[0054]在S302中,基于所述QoS規(guī)則,將輸入所述網(wǎng)關(guān)設(shè)備的所有業(yè)務(wù)數(shù)據(jù)在所述proute表中進(jìn)行匹配和標(biāo)記。[0055]在本實(shí)施例中,proute表不僅僅針對(duì)以太網(wǎng)橋,所有輸入到網(wǎng)關(guān)設(shè)備的業(yè)務(wù)數(shù)據(jù)(包括來自LAN側(cè)設(shè)備的業(yè)務(wù)數(shù)據(jù)和來自WAN側(cè)設(shè)備的業(yè)務(wù)數(shù)據(jù))均可以進(jìn)入到proute表中,而proute表根據(jù)QoS規(guī)則,對(duì)其中來自WAN側(cè)設(shè)備的業(yè)務(wù)數(shù)據(jù)進(jìn)行匹配和標(biāo)記。[0056]在S303中,基于所述QoS規(guī)則,將未在所述proute表中匹配成功的業(yè)務(wù)數(shù)據(jù)輸入至所述broute表進(jìn)行匹配和標(biāo)記。[0057]來自LAN側(cè)設(shè)備的業(yè)務(wù)數(shù)據(jù)將不能在proute表中進(jìn)行成功匹配,因此,在S203中,未能在proute表中匹配成功的業(yè)務(wù)數(shù)據(jù)還會(huì)輸入至broute表中繼續(xù)進(jìn)行匹配,由broute表根據(jù)QoS規(guī)則,對(duì)來自LAN側(cè)設(shè)備的業(yè)務(wù)數(shù)據(jù)進(jìn)行匹配和標(biāo)記。[0058]在S304中,基于所述QoS規(guī)則,將ebtables中標(biāo)記完的業(yè)務(wù)數(shù)據(jù)輸入至iptables中進(jìn)行匹配和標(biāo)記。[0059]如上文所述,由于MQ設(shè)備位于網(wǎng)關(guān)設(shè)備的三層路由中,因此,標(biāo)記上了二層路由Mark值的業(yè)務(wù)數(shù)據(jù)還會(huì)輸入到網(wǎng)關(guān)設(shè)備路由模塊的iptables,到達(dá)其中的mangle表,繼續(xù)匹配三層路由的五元素組,并在匹配完成后標(biāo)記上對(duì)應(yīng)的三層路由Mark值,之后再輸入到兩個(gè)IMQ設(shè)備之中進(jìn)行限速和調(diào)度。[0060]在S104中,當(dāng)業(yè)務(wù)數(shù)據(jù)經(jīng)過所述第一MQ設(shè)備時(shí),所述第一MQ設(shè)備根據(jù)所述QoS規(guī)則,對(duì)經(jīng)過標(biāo)記的業(yè)務(wù)數(shù)據(jù)進(jìn)行限速處理。[0061]在本實(shí)施例中,利用第一MQ設(shè)備來控制業(yè)務(wù)數(shù)據(jù)的入口總閘,根據(jù)配置的QoS規(guī)貝IJ中的所述網(wǎng)關(guān)設(shè)備出口的總限速,限制住業(yè)務(wù)數(shù)據(jù)的總帶寬。具體地,可以采用排隊(duì)規(guī)則(QueueingDiscipline)的htb算法,由于在第一IMQ設(shè)備之下掛載有每一個(gè)Mark值所對(duì)應(yīng)的隊(duì)列,因此,此時(shí)第一MQ設(shè)備會(huì)根據(jù)業(yè)務(wù)數(shù)據(jù)的Mark值,將不同類型的業(yè)務(wù)數(shù)據(jù)丟入相應(yīng)的隊(duì)列中去。[0062]在S105中,當(dāng)業(yè)務(wù)數(shù)據(jù)經(jīng)過所述第二MQ設(shè)備時(shí),所述第二MQ設(shè)備根據(jù)所述QoS規(guī)則,對(duì)經(jīng)過標(biāo)記的業(yè)務(wù)數(shù)據(jù)進(jìn)行調(diào)度。[0063]在本實(shí)施例中,利用第二MQ設(shè)備來控制業(yè)務(wù)數(shù)據(jù)的出口總閘,同樣地,第二MQ設(shè)備會(huì)根據(jù)業(yè)務(wù)數(shù)據(jù)的Mark值,將不同類型的業(yè)務(wù)數(shù)據(jù)丟入相應(yīng)的隊(duì)列,并采用SP調(diào)度算法來實(shí)現(xiàn)對(duì)隊(duì)列的調(diào)度。[0064]最終,經(jīng)過第一MQ設(shè)備和第二MQ設(shè)備的整流,可以得到符合用戶配置的QoS規(guī)則的業(yè)務(wù)數(shù)據(jù)流,并經(jīng)由網(wǎng)關(guān)設(shè)備的接口發(fā)送出去。[0065]本發(fā)明實(shí)施例通過在網(wǎng)關(guān)設(shè)備的兩個(gè)HOOK點(diǎn)上分別加載兩個(gè)MQ設(shè)備,來對(duì)網(wǎng)關(guān)設(shè)備下掛載的同一隊(duì)列同時(shí)進(jìn)行限速和調(diào)度,同時(shí)通過擴(kuò)充proute表,使得網(wǎng)關(guān)設(shè)備的QoS流量控制能夠同時(shí)兼容上下行數(shù)據(jù),以此提升了網(wǎng)關(guān)設(shè)備對(duì)業(yè)務(wù)數(shù)據(jù)的QoS服務(wù)質(zhì)量,提聞了網(wǎng)關(guān)設(shè)備的QoS服務(wù)效率。[0066]一般情況下,如果網(wǎng)關(guān)設(shè)備被配置為橋設(shè)備的話,網(wǎng)關(guān)設(shè)備只對(duì)業(yè)務(wù)數(shù)據(jù)進(jìn)行轉(zhuǎn)發(fā)即可,不需要對(duì)業(yè)務(wù)數(shù)據(jù)進(jìn)行QoS流量控制,因此,也就不需要把業(yè)務(wù)數(shù)據(jù)發(fā)送到網(wǎng)關(guān)設(shè)備的三層路由的iptables里做一遍過濾,但若希望該橋設(shè)備也能支持對(duì)業(yè)務(wù)數(shù)據(jù)的同時(shí)限速與調(diào)度,則如圖5所示,在S102之前獲取用戶配置的QoS規(guī)則之前,所述方法還包括:[0067]S106,啟用所述橋設(shè)備的iptables功能。[0068]由此一來,無論網(wǎng)關(guān)設(shè)備被配置為橋設(shè)備還是路由設(shè)備,所有的業(yè)務(wù)數(shù)據(jù)都會(huì)進(jìn)入到三層路由的iptable中,匹配并打上三層路由Mark值。[0069]圖6示出了本發(fā)明實(shí)施例提供的上下行業(yè)務(wù)數(shù)據(jù)的服務(wù)質(zhì)量QoS流量控制裝置的結(jié)構(gòu)框圖,該裝置可以位于網(wǎng)關(guān)設(shè)備之中,用于運(yùn)行本發(fā)明圖1至圖5實(shí)施例所述的業(yè)務(wù)數(shù)據(jù)的服務(wù)質(zhì)量QoS流量控制方法。為了便于說明,僅示出了與本實(shí)施例相關(guān)的部分。[0070]參照?qǐng)D6,該裝置包括:[0071]加載單元61,在網(wǎng)關(guān)設(shè)備netfilter框架的兩個(gè)HOOK點(diǎn)上分別加載第一中介隊(duì)列IMQ設(shè)備和第二MQ設(shè)備。[0072]獲取單元62,獲取用戶配置的服務(wù)質(zhì)量QoS規(guī)則。[0073]標(biāo)記單元63,在所述網(wǎng)關(guān)設(shè)備的ebtables配置proute表,所述proute表用于對(duì)來自WAN側(cè)設(shè)備的業(yè)務(wù)數(shù)據(jù)進(jìn)行匹配和標(biāo)記,以使輸入所述網(wǎng)關(guān)設(shè)備的所有業(yè)務(wù)數(shù)據(jù)均依次進(jìn)入到ebtables和iptables中進(jìn)行匹配和標(biāo)記。[0074]限速單元64,當(dāng)業(yè)務(wù)數(shù)據(jù)經(jīng)過所述第一MQ設(shè)備時(shí),所述第一MQ設(shè)備根據(jù)所述QoS規(guī)則,對(duì)經(jīng)過標(biāo)記的業(yè)務(wù)數(shù)據(jù)進(jìn)行限速處理。[0075]調(diào)度單元65,當(dāng)業(yè)務(wù)數(shù)據(jù)經(jīng)過所述第二MQ設(shè)備時(shí),所述第二MQ設(shè)備根據(jù)所述QoS規(guī)則,對(duì)經(jīng)過標(biāo)記的業(yè)務(wù)數(shù)據(jù)進(jìn)行調(diào)度。[0076]可選地,所述加載單元61具體用于:[0077]在所述網(wǎng)關(guān)設(shè)備netfilter框架的PRER0UTE點(diǎn)上加載所述第一MQ設(shè)備;[0078]在所述網(wǎng)關(guān)設(shè)備netfilter框架的P0STR0UTE點(diǎn)上加載所述第二MQ設(shè)備。[0079]可選地,所述標(biāo)記單元63包括:[0080]第一配置子單元,在所述網(wǎng)關(guān)設(shè)備協(xié)議棧的ebtables內(nèi)配置proute表,所述proute表的優(yōu)先級(jí)高于協(xié)議棧中已配置的broute表的優(yōu)先級(jí)。[0081]第一標(biāo)記子單元,基于所述QoS規(guī)則,將輸入所述網(wǎng)關(guān)設(shè)備的所有業(yè)務(wù)數(shù)據(jù)在所述proute表中進(jìn)行匹配和標(biāo)記。[0082]第二標(biāo)記子單元,基于所述QoS規(guī)則,將未在所述proute表中匹配成功的業(yè)務(wù)數(shù)據(jù)輸入至所述broute表進(jìn)行匹配和標(biāo)記。[0083]第三標(biāo)記子單元,基于所述QoS規(guī)則,將ebtables中標(biāo)記完的業(yè)務(wù)數(shù)據(jù)輸入至iptables中進(jìn)行匹配和標(biāo)記。[0084]可選地,所述加載單元61包括:[0085]第二配置子單元,在iptables中配置MQ模塊,所述MQ模塊用于動(dòng)態(tài)加載第一IMQ設(shè)備和第二MQ設(shè)備。[0086]加載子單元,命令iptables,通過所述IMQ模塊加載所述第一IMQ設(shè)備和所述第二MQ設(shè)備。[0087]卸載子單元,命令iptables,通過所述IMQ模塊卸載所述第一IMQ設(shè)備和所述第二MQ設(shè)備。[0088]可選地,所述網(wǎng)關(guān)設(shè)備為橋設(shè)備,所述裝置還包括:[0089]啟用單元,用于啟用所述橋設(shè)備的iptables功能。[0090]以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)?!緳?quán)利要求】1.一種上下行業(yè)務(wù)數(shù)據(jù)的服務(wù)質(zhì)量如3流量控制方法,其特征在于,包括:在網(wǎng)關(guān)設(shè)備116廿丨1仏!'框架的兩個(gè)11001(點(diǎn)上分別加載第一中介隊(duì)列頂0設(shè)備和第二110設(shè)備;獲取用戶配置的服務(wù)質(zhì)量如3規(guī)則;在所述網(wǎng)關(guān)設(shè)備的6)31^13168配置1)1*0111:6表,所述1)1*0111:6表用于對(duì)來自I他側(cè)設(shè)備的業(yè)務(wù)數(shù)據(jù)進(jìn)行匹配和標(biāo)記,以使輸入所述網(wǎng)關(guān)設(shè)備的所有業(yè)務(wù)數(shù)據(jù)均依次進(jìn)入到6仏處168和1^5113168中進(jìn)行匹配和標(biāo)記;當(dāng)業(yè)務(wù)數(shù)據(jù)經(jīng)過所述第一頂0設(shè)備時(shí),所述第一頂0設(shè)備根據(jù)所述如3規(guī)則,對(duì)經(jīng)過標(biāo)記的業(yè)務(wù)數(shù)據(jù)進(jìn)行限速處理;當(dāng)業(yè)務(wù)數(shù)據(jù)經(jīng)過所述第二頂0設(shè)備時(shí),所述第二頂0設(shè)備根據(jù)所述如3規(guī)則,對(duì)經(jīng)過標(biāo)記的業(yè)務(wù)數(shù)據(jù)進(jìn)行調(diào)度。2.如權(quán)利要求1所述的方法,其特征在于,所述在網(wǎng)關(guān)設(shè)備116廿丨1仏1~框架的兩個(gè)!1001(點(diǎn)上分別加載第一頂0設(shè)備和第二頂0設(shè)備包括:在所述網(wǎng)關(guān)設(shè)備116廿丨1仏!'框架的?即如爪2點(diǎn)上加載所述第一頂0設(shè)備;在所述網(wǎng)關(guān)設(shè)備116廿丨1仏!'框架的?03狀0爪2點(diǎn)上加載所述第二頂0設(shè)備。3.如權(quán)利要求1所述的方法,其特征在于,所述在所述網(wǎng)關(guān)設(shè)備的6仏處168配置1)1-0111:6表,所述即0111:6表用于對(duì)來自I處)側(cè)設(shè)備的業(yè)務(wù)數(shù)據(jù)進(jìn)行匹配和標(biāo)記,以使輸入所述網(wǎng)關(guān)設(shè)備的所有業(yè)務(wù)數(shù)據(jù)均依次進(jìn)入到6仏汕168和1討汕168中進(jìn)行匹配和標(biāo)記包括:在所述網(wǎng)關(guān)設(shè)備協(xié)議棧的6)31^13168內(nèi)配置#0111:6表,所述#0111:6表的優(yōu)先級(jí)高于協(xié)議棧中已配置的131~0111:6表的優(yōu)先級(jí);基于所述如3規(guī)則,將輸入所述網(wǎng)關(guān)設(shè)備的所有業(yè)務(wù)數(shù)據(jù)在所述#0此6表中進(jìn)行匹配和標(biāo)記;基于所述003規(guī)則,將未在所述¢^0111:6表中匹配成功的業(yè)務(wù)數(shù)據(jù)輸入至所述131~0111:6表進(jìn)行匹配和標(biāo)記;基于所述如3規(guī)則,將6仏汕168中標(biāo)記完的業(yè)務(wù)數(shù)據(jù)輸入至1討汕168中進(jìn)行匹配和''己04.如權(quán)利要求1所述的方法,其特征在于,所述在網(wǎng)關(guān)設(shè)備116廿丨1丨61~框架的兩個(gè)!1001(點(diǎn)上分別加載第一頂0設(shè)備和第二頂0設(shè)備包括:在1的處168中配置頂0模塊,所述頂0模塊用于動(dòng)態(tài)加載第一頂0設(shè)備和第二頂0設(shè)備;命令1討處168,通過所述頂0模塊加載所述第一頂0設(shè)備和所述第二頂0設(shè)備;所述方法還包括:命令1討處168,通過所述頂0模塊卸載所述第一頂0設(shè)備和所述第二頂0設(shè)備。5.如權(quán)利要求1所述的方法,其特征在于,所述網(wǎng)關(guān)設(shè)備為橋設(shè)備,在所述獲取用戶配置的如3規(guī)則之前,所述方法還包括:啟用所述橋設(shè)備的1?1^13168功能。6.一種上下行業(yè)務(wù)數(shù)據(jù)的服務(wù)質(zhì)量如3流量控制裝置,其特征在于,所述裝置包括:加載單元,用于在網(wǎng)關(guān)設(shè)備加廿丨1仏1'框架的兩個(gè)0001(點(diǎn)上分別加載第一中介隊(duì)列I圓設(shè)備和第二頂0設(shè)備;獲取單元,用于獲取用戶配置的服務(wù)質(zhì)量QoS規(guī)則;標(biāo)記單元,用于在所述網(wǎng)關(guān)設(shè)備的ebtables配置proute表,所述proute表用于對(duì)來自WAN側(cè)設(shè)備的業(yè)務(wù)數(shù)據(jù)進(jìn)行匹配和標(biāo)記,以使輸入所述網(wǎng)關(guān)設(shè)備的所有業(yè)務(wù)數(shù)據(jù)均依次進(jìn)入到ebtables和iptables中進(jìn)行匹配和標(biāo)記;限速單元,用于當(dāng)業(yè)務(wù)數(shù)據(jù)經(jīng)過所述第一MQ設(shè)備時(shí),所述第一MQ設(shè)備根據(jù)所述QoS規(guī)則,對(duì)經(jīng)過標(biāo)記的業(yè)務(wù)數(shù)據(jù)進(jìn)行限速處理;調(diào)度單元,用于當(dāng)業(yè)務(wù)數(shù)據(jù)經(jīng)過所述第二MQ設(shè)備時(shí),所述第二MQ設(shè)備根據(jù)所述QoS規(guī)則,對(duì)經(jīng)過標(biāo)記的業(yè)務(wù)數(shù)據(jù)進(jìn)行調(diào)度。7.如權(quán)利要求6所述的裝置,其特征在于,所述加載單元具體用于:在所述網(wǎng)關(guān)設(shè)備netfilter框架的PRER0UTE點(diǎn)上加載所述第一MQ設(shè)備;在所述網(wǎng)關(guān)設(shè)備netfilter框架的P0STR0UTE點(diǎn)上加載所述第二MQ設(shè)備。8.如權(quán)利要求6所述的裝置,其特征在于,所述標(biāo)記單元包括:第一配置子單元,用于在所述網(wǎng)關(guān)設(shè)備協(xié)議棧的ebtables內(nèi)配置proute表,所述proute表的優(yōu)先級(jí)高于協(xié)議棧中已配置的broute表的優(yōu)先級(jí);第一標(biāo)記子單元,用于基于所述QoS規(guī)則,將輸入所述網(wǎng)關(guān)設(shè)備的所有業(yè)務(wù)數(shù)據(jù)在所述proute表中進(jìn)行匹配和標(biāo)記;第二標(biāo)記子單元,用于基于所述QoS規(guī)則,將未在所述proute表中匹配成功的業(yè)務(wù)數(shù)據(jù)輸入至所述broute表進(jìn)行匹配和標(biāo)記;第三標(biāo)記子單元,用于基于所述QoS規(guī)則,將ebtables中標(biāo)記完的業(yè)務(wù)數(shù)據(jù)輸入至iptables中進(jìn)行匹配和標(biāo)記。9.如權(quán)利要求6所述的裝置,其特征在于,所述加載單元包括:第二配置子單元,用于在iptables中配置MQ模塊,所述MQ模塊用于動(dòng)態(tài)加載第一IMQ設(shè)備和第二MQ設(shè)備;加載子單元,用于命令iptables,通過所述IMQ模塊加載所述第一IMQ設(shè)備和所述第二IMQ設(shè)備;卸載子單元,用于命令iptables,通過所述IMQ模塊卸載所述第一IMQ設(shè)備和所述第二MQ設(shè)備。10.如權(quán)利要求6所述的裝置,其特征在于,所述網(wǎng)關(guān)設(shè)備為橋設(shè)備,所述裝置還包括:啟用單元,用于啟用所述橋設(shè)備的iptables功能?!疚臋n編號(hào)】H04L12/851GK104394094SQ201410709010【公開日】2015年3月4日申請(qǐng)日期:2014年11月28日優(yōu)先權(quán)日:2014年11月28日【發(fā)明者】陳煉輝申請(qǐng)人:深圳市共進(jìn)電子股份有限公司