專利名稱:?jiǎn)侮?duì)列帶寬分配方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)傳輸技術(shù)領(lǐng)域,特別涉及一種單隊(duì)列帶寬分配方法。
背景技術(shù):
在網(wǎng)絡(luò)擁塞情況下,對(duì)帶寬進(jìn)行動(dòng)態(tài)分配,現(xiàn)階段主要有以下幾種技術(shù)1、單隊(duì)列技術(shù)先進(jìn)先出的單一隊(duì)列。也有簡(jiǎn)單的擁塞避免算法(丟包算 法),效率很高。2、多隊(duì)列技術(shù)將數(shù)據(jù)包分類,進(jìn)入不同的隊(duì)列,然后根據(jù)各個(gè)隊(duì)列的優(yōu)先級(jí) 和權(quán)值出隊(duì)。3、與上下游網(wǎng)絡(luò)設(shè)備通訊,以減少網(wǎng)絡(luò)擁塞。以上幾種技術(shù)在現(xiàn)有網(wǎng)絡(luò)設(shè)備中,如交換機(jī)、路由器、防火墻等,都有大量的 應(yīng)用。但還有以下缺陷現(xiàn)有技術(shù)1,傳統(tǒng)的單隊(duì)列,不會(huì)用來(lái)處理復(fù)雜的在線動(dòng)態(tài)因素(如依據(jù)在線 用戶加權(quán)分配帶寬、當(dāng)前流過(guò)設(shè)備的協(xié)議種類等)。因?yàn)樵谶@種情況下,一般算法復(fù)雜, 實(shí)現(xiàn)起來(lái)較為困難。現(xiàn)有技術(shù)2,通過(guò)多隊(duì)列技術(shù),可以在理論上用來(lái)處理復(fù)雜的在線動(dòng)態(tài)因素,但 在有些情況下會(huì)因?yàn)殛?duì)列過(guò)多,引起設(shè)備資源的開(kāi)銷過(guò)大,從而影響整個(gè)的網(wǎng)絡(luò)的吞吐量。現(xiàn)有技術(shù)3,通過(guò)與上下游網(wǎng)絡(luò)設(shè)備通訊,以減少本地設(shè)備的網(wǎng)絡(luò)擁塞,本質(zhì)上 是將網(wǎng)絡(luò)擁塞情況下的帶寬管理,讓上下游設(shè)備處理,需要額外的設(shè)備,增加成本。
發(fā)明內(nèi)容
(一)要解決的技術(shù)問(wèn)題本發(fā)明要解決的技術(shù)問(wèn)題是網(wǎng)絡(luò)擁塞情況下,如何在本地設(shè)備以復(fù)雜的在線 動(dòng)態(tài)因素為依據(jù),實(shí)現(xiàn)帶寬的動(dòng)態(tài)分配。(二)技術(shù)方案為解決上述技術(shù)問(wèn)題,本發(fā)明提供了一種單隊(duì)列帶寬分配方法,所述方法采用 統(tǒng)計(jì)表來(lái)記錄隊(duì)列中數(shù)據(jù)包總長(zhǎng)度、總的在線因素實(shí)體的權(quán)值、單個(gè)因素實(shí)體權(quán)值及該 因素實(shí)體在數(shù)據(jù)包隊(duì)列中的數(shù)據(jù)包長(zhǎng)度,所述方法包括以下步驟Si:數(shù)據(jù)包入隊(duì)列時(shí)判斷流通道是否擁塞,若不擁塞,則執(zhí)行步驟S2;若擁 塞,則判斷所述數(shù)據(jù)包所屬的在線因素實(shí)體在隊(duì)列中的所有數(shù)據(jù)包的長(zhǎng)度和是否小于該 在線因素實(shí)體的權(quán)值對(duì)應(yīng)的動(dòng)態(tài)長(zhǎng)度,若小于,則執(zhí)行步驟S2,否則,丟棄該數(shù)據(jù)包, 所述動(dòng)態(tài)長(zhǎng)度為隊(duì)列中數(shù)據(jù)包總長(zhǎng)度+總的在線因素實(shí)體的權(quán)值X在線單個(gè)因素實(shí)體 的權(quán)值;S2修改所述統(tǒng)計(jì)表,所述數(shù)據(jù)包總長(zhǎng)度加上入隊(duì)數(shù)據(jù)包長(zhǎng)度;若有新增的在 線因素實(shí)體,則所述總的在線因素實(shí)體的權(quán)值加上新增的在線因素實(shí)體權(quán)值;在線實(shí)體對(duì)應(yīng)的數(shù)據(jù)包總長(zhǎng)度加上入隊(duì)數(shù)據(jù)包長(zhǎng)度;S3所述數(shù)據(jù)包出隊(duì)列,修改統(tǒng)計(jì)表,在線實(shí)體對(duì)應(yīng)的數(shù)據(jù)包總長(zhǎng)度減去出隊(duì) 數(shù)據(jù)包長(zhǎng)度,所述數(shù)據(jù)包總長(zhǎng)度減去出隊(duì)數(shù)據(jù)包長(zhǎng)度,若在線實(shí)體對(duì)應(yīng)的數(shù)據(jù)包總長(zhǎng)度 小于等于0,則刪除該在線實(shí)體對(duì)應(yīng)的表項(xiàng),總的在線因素實(shí)體的權(quán)值減去刪除的在線實(shí) 體的權(quán)值。其中,所述判斷流通道是否擁塞的方式為所述隊(duì)列中的數(shù)據(jù)包長(zhǎng)度大于預(yù)定 長(zhǎng)度,則擁塞。其中,預(yù)定長(zhǎng)度與數(shù)據(jù)通道總帶寬成正比。其中,所述實(shí)體因素是否在線是根據(jù)統(tǒng)計(jì)表中是否有該實(shí)體因素的表項(xiàng)來(lái)確 定,實(shí)體因素不在線則不參與帶寬分配。(三)有益效果本發(fā)明通過(guò)統(tǒng)計(jì)表來(lái)統(tǒng)計(jì)單隊(duì)列中數(shù)據(jù)包長(zhǎng)度,因素實(shí)體的權(quán)值,以控制單隊(duì) 列中的數(shù)據(jù)包長(zhǎng)度,實(shí)現(xiàn)了網(wǎng)絡(luò)擁塞情況下,在本地設(shè)備以復(fù)雜的在線動(dòng)態(tài)因素為依據(jù) 的動(dòng)態(tài)分配帶寬,提高了帶寬管理設(shè)備的運(yùn)行效率。
圖1是本發(fā)明實(shí)施例的一種單隊(duì)列帶寬分配方法數(shù)據(jù)包入隊(duì)列流程圖;圖2是本發(fā)明實(shí)施例的一種單隊(duì)列帶寬分配方法數(shù)據(jù)包出隊(duì)列流程圖。
具體實(shí)施例方式下面結(jié)合附圖和實(shí)施例,對(duì)本發(fā)明的具體實(shí)施方式
作進(jìn)一步詳細(xì)描述。以下實(shí) 施例用于說(shuō)明本發(fā)明,但不用來(lái)限制本發(fā)明的范圍。本方法采用統(tǒng)計(jì)表來(lái)記錄單隊(duì)列中數(shù)據(jù)包總長(zhǎng)度、總的在線因素實(shí)體的權(quán)值、 單個(gè)因素實(shí)體權(quán)值及該因素實(shí)體在數(shù)據(jù)包隊(duì)列中的數(shù)據(jù)包長(zhǎng)度。其中因素實(shí)體權(quán)值就是 該因素實(shí)體的帶寬權(quán)值,某因素實(shí)體所占的帶寬比例為因素實(shí)體權(quán)值+總的在線實(shí)體 權(quán)值。一個(gè)數(shù)據(jù)包只屬于一個(gè)因素實(shí)體。實(shí)體因素是否在線(是否有數(shù)據(jù)正在通訊), 是根據(jù)統(tǒng)計(jì)表中是否有該實(shí)體因素的表項(xiàng)來(lái)確定。若實(shí)體因素不在線,則不參與帶寬分 配。在線因素實(shí)體包括但不止于以下內(nèi)容1、在線用戶當(dāng)前有數(shù)據(jù)包通訊的用戶。2、在線IP:當(dāng)前有數(shù)據(jù)通訊的IP地址等。3、在線協(xié)議當(dāng)前數(shù)據(jù)流屬于那些協(xié)議。本發(fā)明的方法通過(guò)數(shù)據(jù)包總長(zhǎng)度、總的在線因素實(shí)體的權(quán)值、單個(gè)因素實(shí)體權(quán) 值及該因素實(shí)體在數(shù)據(jù)包隊(duì)列中的數(shù)據(jù)包長(zhǎng)度來(lái)控制單隊(duì)列中各個(gè)因素實(shí)體的數(shù)據(jù)包長(zhǎng) 度,從而實(shí)現(xiàn)帶寬的動(dòng)態(tài)分配,如圖1所示,為本發(fā)明方法中數(shù)據(jù)包入隊(duì)列流程圖,包 括步驟S101,數(shù)據(jù)包入隊(duì)列時(shí)判斷流通道是否擁塞,若不擁塞,則執(zhí)行步驟 S104;若擁塞,則執(zhí)行步驟S102。其中,隊(duì)列中的數(shù)據(jù)包長(zhǎng)度大于預(yù)定長(zhǎng)度時(shí)則擁塞, 預(yù)定長(zhǎng)度可根據(jù)數(shù)據(jù) 通道總的帶寬來(lái)確定,與其成正比。具體情況可配制,例如可根 據(jù)公式預(yù)定長(zhǎng)度=流通道總帶寬值X時(shí)間值,其中時(shí)間值根據(jù)具體情況配置為0.1秒,0.2秒等。步驟S102,判斷是否丟棄該數(shù)據(jù)包,即則判斷所述數(shù)據(jù)包所屬的在線因素實(shí)體 的所有數(shù)據(jù)包的長(zhǎng)度和是否小于該在線因素實(shí)體的權(quán)值對(duì)應(yīng)的動(dòng)態(tài)長(zhǎng)度,若小于,則執(zhí) 行步驟S105,否則,執(zhí)行步驟S103。動(dòng)態(tài)長(zhǎng)度為隊(duì)列中數(shù)據(jù)包總長(zhǎng)度+總的在線因 素實(shí)體的權(quán)值X在線單個(gè)因素實(shí)體的權(quán)值。步驟S103,丟棄該數(shù)據(jù)包,不入隊(duì)列。上述的動(dòng)態(tài)長(zhǎng)度是控制帶寬的基礎(chǔ),丟 棄的數(shù)據(jù)包,就是超出帶寬的部分。步驟S104,修改統(tǒng)計(jì)表,具體修改包括以下幾個(gè)方面根據(jù)數(shù)據(jù)包因素實(shí)體查詢統(tǒng)計(jì)表,查找因素實(shí)體對(duì)應(yīng)的表項(xiàng),如找不到表項(xiàng), 則創(chuàng)建新的表項(xiàng),總的在線因素實(shí)體的權(quán)值加上新增的在線因素實(shí)體權(quán)值;在線實(shí)因數(shù) 體對(duì)應(yīng)的數(shù)據(jù)包長(zhǎng)度加上入隊(duì)數(shù)據(jù)包長(zhǎng)度;所述數(shù)據(jù)包的總長(zhǎng)度加上入隊(duì)數(shù)據(jù)包長(zhǎng)度。步驟S105,數(shù)據(jù)包入隊(duì)列。如圖2所示,為本發(fā)明方法中數(shù)據(jù)包出隊(duì)列流程圖,包括步驟S201,數(shù)據(jù)包出隊(duì)列。步驟S202,出隊(duì)列后,修改統(tǒng)計(jì)表,具體修改包括以下幾個(gè)方面數(shù)據(jù)包總長(zhǎng)度和減去出隊(duì)列的數(shù)據(jù)包長(zhǎng)度。根據(jù)數(shù)據(jù)包的因素實(shí)體查詢統(tǒng)計(jì) 表,找到表項(xiàng)。表項(xiàng)對(duì)應(yīng)的數(shù)據(jù)包總長(zhǎng)度和減去出隊(duì)列數(shù)據(jù)包長(zhǎng)度。如表項(xiàng)對(duì)應(yīng)的數(shù)據(jù) 包長(zhǎng)度和小于等于零,刪除表項(xiàng),在線因素實(shí)體的權(quán)值和減去刪除表項(xiàng)的權(quán)值。以上實(shí)施方式僅用于說(shuō)明本發(fā)明,而并非對(duì)本發(fā)明的限制,有關(guān)技術(shù)領(lǐng)域的普 通技術(shù)人員,在不脫離本發(fā)明的精神和范圍的情況下,還可以做出各種變化和變型,因 此所有等同的技術(shù)方案也屬于本發(fā)明的范疇,本發(fā)明的專利保護(hù)范圍應(yīng)由權(quán)利要求限 定。
權(quán)利要求
1.一種單隊(duì)列帶寬分配方法,其特征在于,所述方法采用統(tǒng)計(jì)表來(lái)記錄隊(duì)列中數(shù)據(jù) 包總長(zhǎng)度、總的在線因素實(shí)體的權(quán)值、單個(gè)因素實(shí)體權(quán)值及該因素實(shí)體在數(shù)據(jù)包隊(duì)列中 的數(shù)據(jù)包長(zhǎng)度,所述方法包括以下步驟Si:數(shù)據(jù)包入隊(duì)列時(shí)判斷流通道是否擁塞,若不擁塞,則執(zhí)行步驟S2;若擁塞,則 判斷所述數(shù)據(jù)包所屬的在線因素實(shí)體在隊(duì)列中的所有數(shù)據(jù)包的長(zhǎng)度和是否小于該在線因 素實(shí)體的權(quán)值對(duì)應(yīng)的動(dòng)態(tài)長(zhǎng)度,若小于,則執(zhí)行步驟S2,否則,丟棄該數(shù)據(jù)包,所述動(dòng) 態(tài)長(zhǎng)度為隊(duì)列中數(shù)據(jù)包總長(zhǎng)度+總的在線因素實(shí)體的權(quán)值X在線單個(gè)因素實(shí)體的權(quán) 值;S2修改所述統(tǒng)計(jì)表,所述數(shù)據(jù)包總長(zhǎng)度加上入隊(duì)數(shù)據(jù)包長(zhǎng)度;若有新增的在線因 素實(shí)體,則所述總的在線因素實(shí)體的權(quán)值加上新增的在線因素實(shí)體權(quán)值;在線實(shí)體對(duì)應(yīng) 的數(shù)據(jù)包總長(zhǎng)度加上入隊(duì)數(shù)據(jù)包長(zhǎng)度;S3所述數(shù)據(jù)包出隊(duì)列,修改統(tǒng)計(jì)表,在線實(shí)體對(duì)應(yīng)的數(shù)據(jù)包總長(zhǎng)度減去出隊(duì)數(shù)據(jù) 包長(zhǎng)度,所述數(shù)據(jù)包總長(zhǎng)度減去出隊(duì)數(shù)據(jù)包長(zhǎng)度,若在線實(shí)體對(duì)應(yīng)的數(shù)據(jù)包總長(zhǎng)度小于 等于0,則刪除該在線實(shí)體對(duì)應(yīng)的表項(xiàng),總的在線因素實(shí)體的權(quán)值減去刪除的在線實(shí)體的 權(quán)值。
2.如權(quán)利要求1所述的單隊(duì)列帶寬分配方法,其特征在于,所述判斷流通道是否擁塞 的方式為所述隊(duì)列中的數(shù)據(jù)包長(zhǎng)度大于預(yù)定長(zhǎng)度,則擁塞。
3.如權(quán)利要求2所述的單隊(duì)列帶寬分配方法,其特征在于,預(yù)定長(zhǎng)度與數(shù)據(jù)通道總帶 寬成正比。
4.如權(quán)利要求1 3中任一項(xiàng)所述的單隊(duì)列帶寬分配方法,其特征在于,所述實(shí)體因 素是否在線是根據(jù)統(tǒng)計(jì)表中是否有該實(shí)體因素的表項(xiàng)來(lái)確定,實(shí)體因素不在線則不參與 帶寬分配。
全文摘要
本發(fā)明公開(kāi)了一種單隊(duì)列帶寬分配方法,所述方法采用統(tǒng)計(jì)表來(lái)記錄隊(duì)列中數(shù)據(jù)包總長(zhǎng)度、總的在線因素實(shí)體的權(quán)值、單個(gè)因素實(shí)體權(quán)值及該因素實(shí)體在數(shù)據(jù)包隊(duì)列中的數(shù)據(jù)包長(zhǎng)度,通過(guò)上述參數(shù)來(lái)控制單隊(duì)列中各個(gè)因素實(shí)體的數(shù)據(jù)包長(zhǎng)度,從而實(shí)現(xiàn)帶寬的動(dòng)態(tài)分配。本發(fā)明實(shí)現(xiàn)了網(wǎng)絡(luò)擁塞情況下,在本地設(shè)備以復(fù)雜的在線動(dòng)態(tài)因素為依據(jù)的動(dòng)態(tài)分配帶寬,提高了帶寬管理設(shè)備的運(yùn)行效率。
文檔編號(hào)H04L12/56GK102014074SQ20101060895
公開(kāi)日2011年4月13日 申請(qǐng)日期2010年12月28日 優(yōu)先權(quán)日2010年12月28日
發(fā)明者孟翔峰, 董健, 靳龍 申請(qǐng)人:漢柏科技有限公司