亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種數(shù)據(jù)包傳輸?shù)姆椒把b置的制作方法

文檔序號:7549581閱讀:145來源:國知局
專利名稱:一種數(shù)據(jù)包傳輸?shù)姆椒把b置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其涉及一種數(shù)據(jù)包傳輸?shù)姆椒把b置。
背景技術(shù)
目前,設(shè)備與設(shè)備之間、設(shè)備中模塊與模塊之間的數(shù)據(jù)包傳輸廣泛存在于通信系統(tǒng)中。通常,在發(fā)送數(shù)據(jù)包之前需要對待發(fā)送的數(shù)據(jù)包進行擁塞管理,以降低數(shù)據(jù)包傳輸過程中的丟包率。在擁塞管理階段,如果緩存隊列已滿或者等待進入緩存隊列的數(shù)據(jù)包數(shù)量超過門限值,則擁塞管理機制會將等待進入緩存隊列的數(shù)據(jù)包丟棄;如果緩存隊列未滿或者等待進入緩存隊列的數(shù)據(jù)包數(shù)量未達到門限值,則擁塞管理機制將數(shù)據(jù)包加入到緩存隊列中,其中處于擁塞管理階段的數(shù)據(jù)包為未緩存數(shù)據(jù)包。在數(shù)據(jù)包緩存階段,多個數(shù)據(jù)包被分配到不同的隊列中,按照入隊先后順序等待發(fā)送調(diào)度。在發(fā)送調(diào)度階段,發(fā)送調(diào)度機制從各個隊列中提取出數(shù)據(jù)包將其發(fā)送給接收端。在現(xiàn)有數(shù)據(jù)包傳輸?shù)倪^程中,數(shù)據(jù)包傳輸前需要經(jīng)過擁塞管理、數(shù)據(jù)包緩存以及發(fā)送調(diào)度三個階段的處理。其中,擁塞管理和發(fā)送調(diào)度兩個階段均有基于數(shù)據(jù)包重要程度的差異化處理機制。例如,當緩存隊列已滿或者未緩存數(shù)據(jù)包的數(shù)量超過門限值時,擁塞管理機制會丟棄部分未緩存數(shù)據(jù)包;發(fā)送調(diào)度機制會優(yōu)先選擇重要程度較高的隊列中的數(shù)據(jù)包進行發(fā)送。而在數(shù)據(jù)包緩存階段則沒有這種差異化處理機制。隊列僅按照入隊的時間順序?qū)?shù)據(jù)包進行緩存,當隊列已滿或者超過門限值時,擁塞管理階段中的未緩存數(shù)據(jù)包無法進入隊列。雖然擁塞管理階段能夠丟棄部分未緩存數(shù)據(jù)包,但是隨著未緩存數(shù)據(jù)包數(shù)量的增加,擁塞管理階段丟棄的數(shù)據(jù)包數(shù)量也會增加,擁塞管理機制仍然避免不了對重要的未緩存數(shù)據(jù)包進行丟棄,由此對重要業(yè)務(wù)的服務(wù)質(zhì)量(Quality of Service,簡稱QoS)產(chǎn)生影響。

發(fā)明內(nèi)容

本發(fā)明提供一種 數(shù) 據(jù)包傳輸?shù)姆椒把b置,能夠有效改善設(shè)備之間或設(shè)備中模塊之間突發(fā)擁塞時擁塞管理階段丟包過多的問題。第一方面,本發(fā)明提供一種數(shù)據(jù)包傳輸?shù)姆椒ǎ龇椒ò?當發(fā)生數(shù)據(jù)包擁塞或網(wǎng)絡(luò)帶寬減小時,在數(shù)據(jù)包緩存中確定至少一個待丟棄數(shù)據(jù)包;將所述至少一個待丟棄數(shù)據(jù)包進行丟棄,以便使至少一個未緩存數(shù)據(jù)包進入到所述數(shù)據(jù)包緩存中,由此防止丟棄過多未緩存數(shù)據(jù)包,其中所述未緩存數(shù)據(jù)包為未進入所述數(shù)據(jù)包緩存的數(shù)據(jù)包。在所述第一方面的第一種可能的實現(xiàn)方式中,所述在數(shù)據(jù)包緩存中確定至少一個待丟棄數(shù)據(jù)包,具體包括:為所述數(shù)據(jù)包緩存中的至少一個隊列分別分配丟包數(shù)量,所述丟包數(shù)量為大于或等于O的整數(shù)。
在所述第一方面或所述第一方面的第一種可能的實現(xiàn)方式中,還提供了所述第一方面的第二種可能的實現(xiàn)方式,在所述第一方面的第二種可能的實現(xiàn)方式中,在所述第一方面的第二種可能的實現(xiàn)方式中,所述為所述數(shù)據(jù)包緩存中的至少一個隊列分別分配丟包數(shù)量,具體包括:根據(jù)第一映射關(guān)系表以及隊列的優(yōu)先級為每個隊列分配丟包數(shù)量,其中所述第一映射表用于表征隊列優(yōu)先級與丟包數(shù)量之間的映射關(guān)系,高優(yōu)先級隊列的丟包數(shù)量小于低優(yōu)先級隊列的丟包數(shù)量;或者,根據(jù)第二映射關(guān)系表以及隊列包含數(shù)據(jù)包的數(shù)量為每個隊列分配丟包數(shù)量,其中所述第二映射表用于表征隊列包含數(shù)據(jù)包的數(shù)量與丟包數(shù)量之間的映射關(guān)系,包含數(shù)據(jù)包數(shù)量多的隊列的丟包數(shù)量大于包含數(shù)據(jù)包數(shù)量少的隊列的丟包數(shù)量。在所述第一方面或所述第一方面的第一種可能或第二種可能的實現(xiàn)方式中,還提供了所述第一方面的第三種可能的實現(xiàn)方式,在所述第一方面的第三種可能的實現(xiàn)方式中,所述在數(shù)據(jù)包緩存中確定至少一個待丟棄數(shù)據(jù)包,具體包括:在每個隊列中,按照平均分布規(guī)則等間隔選擇N個數(shù)據(jù)包確定為待丟棄數(shù)據(jù)包,其中,N為為該隊列分配 的丟包數(shù)量;或者,在每個隊列中,按照隨機分布規(guī)則隨機選擇N個數(shù)據(jù)包確定為待丟棄數(shù)據(jù)包,其中,N為為該隊列分配的丟包數(shù)量;或者,根據(jù)第一排序規(guī)則對所述至少一個隊列進行排序,獲得排序隊列,從所述排序隊列的一端開始,輪詢將每個隊列中的第一個數(shù)據(jù)包確定為待丟棄數(shù)據(jù)包,當某個隊列的丟包數(shù)量達到為該隊列分配的丟包數(shù)量時,該隊列退出所述排序隊列,當所述排序隊列中的隊列數(shù)量為O時,完成待丟棄數(shù)據(jù)包的確定。在所述第一方面或所述第一方面的第一種可能、第二種可能或第三種可能的實現(xiàn)方式中,還提供了所述第一方面的第四種可能的實現(xiàn)方式,在所述第一方面的第四種可能的實現(xiàn)方式中,所述將所述至少一個待丟棄數(shù)據(jù)包進行丟棄,具體包括:按照預設(shè)丟包規(guī)則將所述至少一個待丟棄數(shù)據(jù)包進行丟棄。在所述第一方面或所述第一方面的第一種可能、第二種可能、第三種可能或第四種可能的實現(xiàn)方式中,還提供了所述第一方面的第五種可能的實現(xiàn)方式,在所述第一方面的第五種可能的實現(xiàn)方式中,所述按照預設(shè)丟包規(guī)則將所述至少一個待丟棄數(shù)據(jù)包進行丟棄,具體包括:獲取每個待丟棄數(shù)據(jù)包的索引標識,生成丟包組,所述索引標識為待丟棄數(shù)據(jù)包的隊列標識與待丟棄數(shù)據(jù)包的位置標識的組合;判斷所述丟包組中是否還有未丟棄的待丟棄數(shù)據(jù)包;當判斷結(jié)果為是時,選擇至少一個索引標識對應(yīng)的待丟棄數(shù)據(jù)包進行丟棄。在所述第一方面或所述第一方面的第一種可能、第二種可能、第三種可能、第四種可能或第五種可能的實現(xiàn)方式中,還提供了所述第一方面的第六種可能的實現(xiàn)方式,在所述第一方面的第六種可能的實現(xiàn)方式中,所述按照預設(shè)丟包規(guī)則將所述至少一個待丟棄數(shù)據(jù)包進行丟棄,具體包括:在每確定一個待丟棄數(shù)據(jù)包后,獲取所述待丟棄數(shù)據(jù)包的索引標識,根據(jù)所述索引標識對所述待丟棄數(shù)據(jù)包進行丟棄。
在所述第一方面或所述第一方面的第一種可能、第二種可能、第三種可能、第四種可能、第五種可能或第六種可能的實現(xiàn)方式中,還提供了所述第一方面的第七種可能的實現(xiàn)方式,在所述第一方面的第七種可能的實現(xiàn)方式中,在所述在數(shù)據(jù)包緩存中確定至少一個待丟棄數(shù)據(jù)包之前,所述方法進一步包括:確定待丟棄數(shù)據(jù)包的總數(shù)量;將第一待丟棄數(shù)據(jù)包數(shù)量分配給所述數(shù)據(jù)包緩存進行丟棄,所述第一待丟棄數(shù)據(jù)包數(shù)量小于或等于待丟棄數(shù)據(jù)包總數(shù)量;所述在數(shù)據(jù)包緩存中確定至少一個待丟棄數(shù)據(jù)包,具體包括:將所述數(shù)據(jù)包緩存中第一待丟棄數(shù)據(jù)包數(shù)量的數(shù)據(jù)包確定為待丟棄數(shù)據(jù)包的數(shù)量。第二方面,本發(fā)明提供一種數(shù)據(jù)包傳輸?shù)难b置,所述裝置包括:確定單元,用于當發(fā)生數(shù)據(jù)包擁塞或網(wǎng)絡(luò)帶寬減小時,在數(shù)據(jù)包緩存中確定至少一個待丟棄數(shù)據(jù)包; 丟棄單元,用于將所述確定單元確定的所述至少一個待丟棄數(shù)據(jù)包進行丟棄,以便使至少一個未緩存數(shù)據(jù)包進入到所述數(shù)據(jù)包緩存中,由此防止丟棄過多未緩存數(shù)據(jù)包,其中所述未緩存數(shù)據(jù)包為未進入所述數(shù)據(jù)包緩存的數(shù)據(jù)包。在所述第二方面的第一種可能的實現(xiàn)方式中,所述確定單元具體包括:分配子單元,用于為所述數(shù)據(jù)包緩存中的至少一個隊列分別分配丟包數(shù)量,所述丟包數(shù)量為大于或等于O的整數(shù)。在所述第二方面或所述第二方面的第一種可能的實現(xiàn)方式中,還提供了所述第二方面的第二種可能的實現(xiàn)方式,所述分配子單元具體用于:根據(jù)第一映射關(guān)系表以及隊列的優(yōu)先級為每個隊列分配丟包數(shù)量,其中所述第一映射表用于表征隊列優(yōu)先級與丟包數(shù)量之間的映射關(guān)系,高優(yōu)先級隊列的丟包數(shù)量小于低優(yōu)先級隊列的丟包數(shù)量;根據(jù)第二映射關(guān)系表以及隊列包含數(shù)據(jù)包的數(shù)量為每個隊列分配丟包數(shù)量,其中所述第二映射表用于表征隊列包含數(shù)據(jù)包的數(shù)量與丟包數(shù)量之間的映射關(guān)系,包含數(shù)據(jù)包數(shù)量多的隊列的丟包數(shù)量大于包含數(shù)據(jù)包數(shù)量少的隊列的丟包數(shù)量。在所述第二方面或所述第二方面的第一種可能或第二種可能的實現(xiàn)方式中,還提供了所述第二方面的第三種可能的實現(xiàn)方式,在所述第二方面的第三種可能的實現(xiàn)方式中,所述確定單元進一步包括:確定子單元,用于:在每個隊列中,按照平均分布規(guī)則等間隔選擇N個數(shù)據(jù)包確定為待丟棄數(shù)據(jù)包,其中,N為所述分配子單元為該隊列分配的丟包數(shù)量;在每個隊列中,按照隨機分布規(guī)則隨機選擇N個數(shù)據(jù)包確定為待丟棄數(shù)據(jù)包,其中,N為所述分配子單元為該隊列分配的丟包數(shù)量;根據(jù)第一排序規(guī)則對所述至少一個隊列進行排序,獲得排序隊列,從所述排序隊列的一端開始,輪詢將每個隊列中的第一個數(shù)據(jù)包確定為待丟棄數(shù)據(jù)包,當某個隊列的丟包數(shù)量達到所述分配子單元為該隊列分配的丟包數(shù)量時,該隊列退出所述排序隊列,當所述排序隊列中的隊列數(shù)量為O時,所述確定子單元完成待丟棄數(shù)據(jù)包的確定。
在所述第二方面或所述第二方面的第一種可能、第二種可能或第三種可能的實現(xiàn)方式中,還提供了所述第二方面的第四種可能的實現(xiàn)方式,在所述第二方面的第四種可能的實現(xiàn)方式中,所述丟棄單元具體用于:按照預設(shè)丟包規(guī)則將所述確定單元確定的所述至少一個待丟棄數(shù)據(jù)包進行丟棄。在所述第二方面或所述第二方面的第一種可能、第二種可能、第三種可能或第四種可能的實現(xiàn)方式中,還提供了所述第二方面的第五種可能的實現(xiàn)方式,在所述第二方面的第五種可能的實現(xiàn)方式中,所述丟棄單元具體包括:獲取子單元,用于獲取每個待丟棄數(shù)據(jù)包的索引標識,生成丟包組,所述索引標識為待丟棄數(shù)據(jù)包的隊列標識與待丟棄數(shù)據(jù)包的位置標識的組合;判斷子單元,用于判斷所述獲取子單元生成的所述丟包組中是否還有未丟棄的待丟棄數(shù)據(jù)包;丟棄子單元,用于當所述判斷子單元的判斷結(jié)果為是時,選擇至少一個索引標識對應(yīng)的待丟棄數(shù)據(jù)包進行丟棄。在所述第二方面或所述第二方面的第一種可能、第二種可能、第三種可能、第四種可能或第五種可能的實現(xiàn)方式中,還提供了所述第二方面的第六種可能的實現(xiàn)方式,在所述第二方面的第六種可能的實現(xiàn)方式中,所述獲取子單元還用于在所述確定單元每確定一個待丟棄數(shù)據(jù)包后,獲取所述待丟棄數(shù)據(jù)包的索引標識;所述丟棄子單元還用于根據(jù)所述獲取子單元獲取的所述索引標識對所述待丟棄數(shù)據(jù)包進行丟棄。在所述第二方面或所述第二方面的第一種可能、第二種可能、第三種可能、第四種可能、第五種可能或第六種可能的實現(xiàn)方式中,還提供了所述第二方面的第七種可能的實現(xiàn)方式,在所述第二方面的第七種可能的實現(xiàn)方式中,所述裝置進一步包括:`
管理單元,用于:確定待丟棄數(shù)據(jù)包的總數(shù)量;將第一待丟棄數(shù)據(jù)包數(shù)量分配給所述數(shù)據(jù)包緩存進行丟棄,所述第一待丟棄數(shù)據(jù)包數(shù)量小于或等于待丟棄數(shù)據(jù)包總數(shù)量;將所述數(shù)據(jù)包緩存中第一待丟棄數(shù)據(jù)包數(shù)量的數(shù)據(jù)包確定為待丟棄數(shù)據(jù)包的數(shù)量。第三方面,本發(fā)明提供一種數(shù)據(jù)包傳輸?shù)难b置,所述裝置包括:接收器,用于接收待發(fā)送的數(shù)據(jù)包;緩存器,用于緩存所述接收器接收的所述數(shù)據(jù)包;處理器,用于當發(fā)生數(shù)據(jù)包擁塞或網(wǎng)絡(luò)帶寬減小時,在所述緩存器緩存的所述數(shù)據(jù)包中確定至少一個待丟棄數(shù)據(jù)包,將所述至少一個待丟棄數(shù)據(jù)包進行丟棄,以便使至少一個未緩存數(shù)據(jù)包進入到所述緩存器中,由此防止丟棄過多未緩存數(shù)據(jù)包,其中所述未緩存數(shù)據(jù)包為未進入所述緩存器的數(shù)據(jù)包。在所述第三方面的第一種可能的實現(xiàn)方式中,所述處理器具體用于:為所述緩存器中的至少一個隊列分別分配丟包數(shù)量,所述丟包數(shù)量為大于或等于O的整數(shù)。在所述第三方面或所述第三方面的第一種可能的實現(xiàn)方式中,還提供了所述第三方面的第二種可能的實現(xiàn)方式,在所述第三方面的第二種可能的實現(xiàn)方式中,所述處理器進一步具體用于:根據(jù)第一映射關(guān)系表以及隊列的優(yōu)先級為每個隊列分配丟包數(shù)量,其中所述第一映射表用于表征隊列優(yōu)先級與丟包數(shù)量之間的映射關(guān)系,高優(yōu)先級隊列的丟包數(shù)量小于低優(yōu)先級隊列的丟包數(shù)量;根據(jù)第二映射關(guān)系表以及隊列包含數(shù)據(jù)包的數(shù)量為每個隊列分配丟包數(shù)量,其中所述第二映射表用于表征隊列包含數(shù)據(jù)包的數(shù)量與丟包數(shù)量之間的映射關(guān)系,包含數(shù)據(jù)包數(shù)量多的隊列的丟包數(shù)量大于包含數(shù)據(jù)包數(shù)量少的隊列的丟包數(shù)量。在所述第三方面或所述第三方面的第一種可能或第二種可能的實現(xiàn)方式中,還提供了所述第三方面的第三種可能的實現(xiàn)方式,在所述第三方面的第三種可能的實現(xiàn)方式中,所述處理器還具體用于:
在每個隊列中,按照平均分布規(guī)則等間隔選擇N個數(shù)據(jù)包確定為待丟棄數(shù)據(jù)包,其中,N為為該隊列分配的丟包數(shù)量;在每個隊列中,按照隨機分布規(guī)則隨機選擇N個數(shù)據(jù)包確定為待丟棄數(shù)據(jù)包,其中,N為為該隊列分配的丟包數(shù)量;根據(jù)第一排序規(guī)則對所述至少一個隊列進行排序,獲得排序隊列,從所述排序隊列的一端開始,輪詢將每個隊列中的第一個數(shù)據(jù)包確定為待丟棄數(shù)據(jù)包,當某個隊列的丟包數(shù)量達到為該隊列分配的丟包數(shù)量時,該隊列退出所述排序隊列,當所述排序隊列中的隊列數(shù)量為O時,完成待丟棄數(shù)據(jù)包的確定。在所述第三方面或所述第三方面的第一種可能、第二種可能或第三種可能的實現(xiàn)方式中,還提供了所述第三方面的第四種可能的實現(xiàn)方式,在所述第三方面的第四種可能的實現(xiàn)方式中,所述處理器具體用于:按照預設(shè)丟包規(guī)則將所述至少一個待丟棄數(shù)據(jù)包進行丟棄。在所述第三方面或所述第三方面的第一種可能、第二種可能、第三種可能或第四種可能的實現(xiàn)方式中,還提供了所述第三方面的第五種可能的實現(xiàn)方式,在所述第三方面的第五種可能的實現(xiàn)方式中,所述處理器具體用于:獲取每個待丟棄數(shù)據(jù)包的索引標識,生成丟包組,所述索引標識為待丟棄數(shù)據(jù)包的隊列標識與待丟棄數(shù)據(jù)包的位置標識的組合;判斷所述丟包組中是否還有未丟棄的待丟棄數(shù)據(jù)包;當判斷結(jié)果為是時,選擇至少一個索引標識對應(yīng)的待丟棄數(shù)據(jù)包進行丟棄。在所述第三方面或所述第三方面的第一種可能、第二種可能、第三種可能、第四種可能或第五種可能的實現(xiàn)方式中,還提供了所述第三方面的第六種可能的實現(xiàn)方式,在所述第三方面的第六種可能的實現(xiàn)方式中,所述處理器具體用于:在每確定一個待丟棄數(shù)據(jù)包后,獲取所述待丟棄數(shù)據(jù)包的索引標識,根據(jù)所述索引標識對所述待丟棄數(shù)據(jù)包進行丟棄。在所述第三方面或所述第三方面的第一種可能、第二種可能、第三種可能、第四種可能、第五種可能或第六種可能的實現(xiàn)方式中,還提供了所述第三方面的第七種可能的實現(xiàn)方式,在所述第三方面的第七種可能的實現(xiàn)方式中,所述處理器還具體用于:確定待丟棄數(shù)據(jù)包的總數(shù)量;
將第一待丟棄數(shù)據(jù)包數(shù)量分配給所述緩存器,所述第一待丟棄數(shù)據(jù)包數(shù)量小于或等于待丟棄數(shù)據(jù)包總數(shù)量;將所述緩存器中第一待丟棄數(shù)據(jù)包數(shù)量的數(shù)據(jù)包確定為待丟棄數(shù)據(jù)包的數(shù)量。本發(fā)明提供的數(shù)據(jù)包傳輸?shù)姆椒把b置,能夠在緩存隊列已滿或者超過門限值時,將緩存隊列中的部分數(shù)據(jù)包進行丟棄,空出部分緩存空間以便使部分未緩存數(shù)據(jù)包進入緩存隊列。與現(xiàn)有技術(shù)中緩存隊列僅作緩存數(shù)據(jù)包之用、緩存隊列階段沒有數(shù)據(jù)包丟棄機制相比,能夠及時將未緩存的重要數(shù)據(jù)包加入到緩存隊列中,從而緩解擁塞管理階段的丟包壓力,避免突發(fā)擁塞時擁塞管理機制丟棄重要性較高的未緩存數(shù)據(jù)包。


為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1為本發(fā)明實施例中數(shù)據(jù)包傳輸過程的示意圖;圖2為本發(fā)明實施例中數(shù)據(jù)包傳輸?shù)姆椒鞒虉D;圖3為本發(fā)明實施例中另一個數(shù)據(jù)包傳輸?shù)姆椒鞒虉D;圖4(a)和圖4(b)為本發(fā)明實施例中選擇至少一個隊列的示意圖;圖5為本發(fā)明實施例中輪詢丟棄數(shù)據(jù)包的示意圖;圖6為本發(fā)明實施例中第一個數(shù)據(jù)包傳輸?shù)难b置結(jié)構(gòu)示意
圖7為本發(fā)明實施例中第二個數(shù)據(jù)包傳輸?shù)难b置結(jié)構(gòu)示意圖;圖8為本發(fā)明實施例中第三個數(shù)據(jù)包傳輸?shù)难b置結(jié)構(gòu)示意圖;圖9為本發(fā)明實施例中第四個數(shù)據(jù)包傳輸?shù)难b置結(jié)構(gòu)示意圖。
具體實施例方式下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。為了便于理解本發(fā)明實施例,首先對本發(fā)明實施例所基于的數(shù)據(jù)包傳輸過程進行簡單介紹。如圖1所示,在數(shù)據(jù)包發(fā)送端,待發(fā)送數(shù)據(jù)包需要順序經(jīng)過擁塞管理、數(shù)據(jù)包緩存以及發(fā)送調(diào)度三個階段的處理才能發(fā)送到數(shù)據(jù)包接收端。在擁塞管理階段,如果緩存隊列已滿,則擁塞管理機制會根據(jù)業(yè)務(wù)QoS差異化處理機制將等級較低的未緩存數(shù)據(jù)包進行丟棄,優(yōu)先保證等級較高的未緩存數(shù)據(jù)包能夠加入到緩存隊列中;如果緩存隊列未滿,則擁塞管理機制會根據(jù)未緩存的數(shù)據(jù)包類型、優(yōu)先級、數(shù)據(jù)包大小等屬性將未緩存數(shù)據(jù)包加入到緩存隊列中的不同隊列中。緩存隊列對加入的數(shù)據(jù)包進行緩存,等待發(fā)送調(diào)度階段的調(diào)度發(fā)送。在發(fā)送調(diào)度階段,如果傳輸資源有限,則發(fā)送調(diào)度機制會根據(jù)業(yè)務(wù)QoS差異化處理機制優(yōu)先發(fā)送等級較高的數(shù)據(jù)包;如果傳輸資源夠用,則發(fā)送調(diào)度機制對所有待發(fā)送數(shù)據(jù)包進行發(fā)送。
需要說明的是,本發(fā)明實施例中所述的數(shù)據(jù)包緩存與數(shù)據(jù)包緩存為同等概念本發(fā)明實施例提供一種數(shù)據(jù)包傳輸?shù)姆椒ǎ鐖D2所示,所述方法包括如下步驟:201、當發(fā)生數(shù)據(jù)包擁塞或網(wǎng)絡(luò)帶寬減小時,在數(shù)據(jù)包緩存中確定至少一個待丟棄數(shù)據(jù)包。在本發(fā)明實施例中,緩存隊列發(fā)生數(shù)據(jù)包擁塞可以為包含多個隊列的數(shù)據(jù)包緩存區(qū)域整體發(fā)生擁塞,或者數(shù)據(jù)包緩存區(qū)域緩存滿。當緩存隊列發(fā)生數(shù)據(jù)包擁塞時,在數(shù)據(jù)包緩存區(qū)域中選擇一個或多個數(shù)據(jù)包作為待丟棄數(shù)據(jù)包。具體的,可以通過下述兩種方式監(jiān)測緩存隊列是否發(fā)生數(shù)據(jù)包擁塞:I)監(jiān)測已進入緩存隊列的數(shù)據(jù)包數(shù)量是否超過預設(shè)門限值,如果已進入緩存隊列的數(shù)據(jù)包數(shù)量超過預設(shè)門限值,則監(jiān)測到緩存隊列發(fā)生擁塞。所述已進入緩存隊列的數(shù)據(jù)包數(shù)量為已進入緩存隊列中所有隊列的數(shù)據(jù)包數(shù)量的總和,即進入數(shù)據(jù)包緩存區(qū)域的數(shù)據(jù)包總數(shù)量。所述預設(shè)門限值可以為一個比例值也可以為一個絕對數(shù)值。所述預設(shè)門限值可以為數(shù)據(jù)包緩存區(qū)域緩存滿時數(shù)據(jù)包緩存區(qū)域緩存的數(shù)量,也可以低于數(shù)據(jù)包緩存區(qū)域緩存滿時數(shù)據(jù)包緩存區(qū)域緩存的數(shù)量。以預設(shè)門限值為一個比例值為例,預設(shè)門限值可以為100%,也可以為80%。預設(shè)門限值的設(shè)置可以基于數(shù)據(jù)包傳輸?shù)膶嶋H情況而定,本發(fā)明實施例對預設(shè)門限值的設(shè)置不做限制。2)如果接收到數(shù)據(jù)包丟棄指示,則監(jiān)測到緩存隊列發(fā)生數(shù)據(jù)包擁塞。所述數(shù)據(jù)包丟棄指示可以來自上層傳輸管理設(shè)備,也可以來自擁塞管理設(shè)備,當上層傳輸管理設(shè)備發(fā)現(xiàn)緩存隊列擁塞或者擁塞管理設(shè)備發(fā)現(xiàn)無法向緩存隊列中加入數(shù)據(jù)包時,發(fā)送數(shù)據(jù)包丟棄指示。在數(shù)據(jù)包緩存區(qū)域中確定的至少一個待丟棄數(shù)據(jù)包,可以來自某一個隊列也可以來自多個隊列。為避免集中丟 棄某個隊列中的數(shù)據(jù)包對該隊列承載的業(yè)務(wù)產(chǎn)生嚴重影響,一般從多個隊列中確定待丟棄數(shù)據(jù)包。在從多個隊列中確定待丟棄數(shù)據(jù)包時,高優(yōu)先級隊列丟棄的數(shù)據(jù)包數(shù)量小于低優(yōu)先級隊列丟棄的數(shù)據(jù)包數(shù)量。202、將至少一個待丟棄數(shù)據(jù)包進行丟棄。在確定至少一個待丟棄數(shù)據(jù)包后,將至少一個待丟棄數(shù)據(jù)包進行丟棄。丟棄時,可以一次性將所有待丟棄數(shù)據(jù)包全部丟棄,也可以根據(jù)緩存隊列的當前擁塞狀況階段性進行丟棄,例如一次丟棄一個或兩個數(shù)據(jù)包,每次丟棄后分析當前的網(wǎng)絡(luò)帶寬是否有所增加,如果網(wǎng)絡(luò)帶寬有所增加,則停止丟棄,保留剩下的待丟棄數(shù)據(jù)包;如果網(wǎng)絡(luò)帶寬沒有增加,則進行下一次丟棄。本發(fā)明實施例對丟棄數(shù)據(jù)包的方式以及每次丟包的數(shù)量不做限制?,F(xiàn)有技術(shù)中,緩存隊列僅作數(shù)據(jù)包緩存之用,緩存隊列按照隊列先進先出的原則根據(jù)數(shù)據(jù)包入隊的先后順序?qū)?shù)據(jù)包進行緩存。當緩存隊列發(fā)生擁塞時,擁塞管理機制丟棄部分未緩存數(shù)據(jù)包以緩解存隊列的擁塞壓力。通常,擁塞管理機制將重要性較低的未緩存數(shù)據(jù)包進行丟棄,以避免丟棄重要性較高的未緩存數(shù)據(jù)包對重要業(yè)務(wù)的QoS質(zhì)量產(chǎn)生影響。但是當緩存隊列持續(xù)擁塞時,未緩存數(shù)據(jù)包的數(shù)量持續(xù)增加。如果增加了重要性更高的未緩存數(shù)據(jù)包,則擁塞管理機制會將原先重要性較高的未緩存數(shù)據(jù)包進行丟棄,由此影響重要業(yè)務(wù)的QoS質(zhì)量。本發(fā)明實施例提供的數(shù)據(jù)包傳輸?shù)姆椒ǎ軌蛟诰彺骊犃邪l(fā)生擁塞時,丟棄緩存隊列中的部分數(shù)據(jù)包,由此空出部分緩存位置讓待進入緩存隊列數(shù)據(jù)包中重要性較高的未緩存數(shù)據(jù)包進入緩存,由此減輕擁塞管理階段的丟包壓力。與現(xiàn)有技術(shù)中緩存隊列僅作數(shù)據(jù)包緩存之用、沒有丟包機制相比,可以避免突發(fā)擁塞時擁塞管理機制丟棄重要性較高的未緩存數(shù)據(jù)包的問題,能夠保證重要性較高的業(yè)務(wù)的QoS質(zhì)量。進一步的,可以作為對圖2所示方法的詳細說明及進一步擴展,本發(fā)明實施例還提供了一種數(shù)據(jù)傳輸?shù)姆椒?,如圖3所示,所述方法包括:301、在緩存隊列中確定丟包總數(shù)量。所述丟包總數(shù)量為整個數(shù)據(jù)包緩存區(qū)域中總共丟棄的數(shù)據(jù)包數(shù)量,確定丟包總數(shù)量的實現(xiàn)方式可是下述三種方式之一:I)根據(jù)已進入緩存隊列的數(shù)據(jù)包數(shù)量以及預設(shè)閾值的差值生成丟包總數(shù)量。預設(shè)閾值可以為一個比例值也可以為一個絕對數(shù)值;預設(shè)閾值可以為數(shù)據(jù)包緩存區(qū)域緩存滿時數(shù)據(jù)包緩存區(qū)域緩存的數(shù)據(jù)包數(shù)量,也可以低于數(shù)據(jù)包緩存區(qū)域緩存滿時數(shù)據(jù)包緩存區(qū)域緩存的數(shù)據(jù)包數(shù)量。以預設(shè)閾值為一個比例值為例,預設(shè)閾值可以為100%,也可以為80%。預設(shè)閾值不高于緩存隊列發(fā)生擁塞的預設(shè)門限值,例如,當預設(shè)門限值為100%時,預設(shè)閾值為80%,或者當預設(shè)門限值為80%時,預設(shè)閾值也為80%。以預設(shè)門限值為10000個數(shù)據(jù)包,預設(shè)閾值為8000個數(shù)據(jù)包為例:當已進入緩存隊列的數(shù)據(jù)包數(shù)量達到10000個時,緩存隊列發(fā)生擁塞,此時需要丟棄的數(shù)據(jù)包數(shù)量(丟包總數(shù)量)為10000-8000 = 2000,即需要將已進入緩存隊列的數(shù)據(jù)包數(shù)量減少至8000個,以便為擁塞管理階段的數(shù)據(jù)包空出2000個數(shù)據(jù)包的位置。再以預設(shè)門限值和預設(shè)閾值均為70%為例:當已進入緩存隊列的數(shù)據(jù)包數(shù)量占緩存隊列可緩存數(shù)據(jù)包總數(shù)的比例為80%時,緩存隊列發(fā)生擁塞,此時丟包總數(shù)量(此處以比例的形式體現(xiàn))為80%-70%= 10%。即控制已進入緩存隊列的數(shù)據(jù)包占緩存隊列可緩存數(shù)據(jù)包總數(shù)的比例不超 過70%。預設(shè)閾值的設(shè)置可以基于預設(shè)門限值的設(shè)置以及數(shù)據(jù)包傳輸?shù)膶嶋H情況而定,本發(fā)明實施例對預設(shè)門限值的設(shè)置不做限制。2)根據(jù)待進入緩存隊列的第一數(shù)據(jù)包數(shù)量確定丟包總數(shù)量。所述第一數(shù)據(jù)包為未緩存數(shù)據(jù)包中優(yōu)先級高于預設(shè)優(yōu)先級閾值的未緩存數(shù)據(jù)包,或者所述第一數(shù)據(jù)包數(shù)量為網(wǎng)絡(luò)管理人員根據(jù)數(shù)據(jù)包傳輸?shù)膶嶋H條件設(shè)置的預設(shè)數(shù)量。例如,當有3000個重要的未緩存數(shù)據(jù)包需要進入緩存隊列,而此時緩存隊列已滿時,則將緩存隊列中的3000個數(shù)據(jù)包進行丟棄,即將丟包總數(shù)量確定為3000個。3)從數(shù)據(jù)包丟棄指示中獲取丟包總數(shù)量。來自上層傳輸管理設(shè)備或擁塞管理設(shè)備的數(shù)據(jù)包丟棄指示中可以攜帶緩存隊列需要丟棄的數(shù)據(jù)包數(shù)量,該需要丟棄的數(shù)據(jù)包數(shù)量即為緩存隊列的丟包總數(shù)量。緩存隊列的丟包總數(shù)量可以由上層傳輸管理設(shè)備或擁塞管理設(shè)備根據(jù)傳輸條件設(shè)置。302、為數(shù)據(jù)包緩存中的至少一個隊列分別分配丟包數(shù)量。在邏輯上數(shù)據(jù)包緩存區(qū)域被劃分為多個緩存隊列,當確定數(shù)據(jù)包緩存區(qū)域中的丟包總數(shù)量后,將丟包總數(shù)量分配給數(shù)據(jù)包緩存區(qū)域中的各個隊列。在為每個隊列分配丟包數(shù)量時,分配的丟包數(shù)量為大于或等于O的整數(shù),當為某個隊列分配的丟包數(shù)量為O時,該隊列不需要丟棄數(shù)據(jù)包。需要說明的是,為每個隊列分配丟包數(shù)量并非為對隊列中的具體數(shù)據(jù)包進行指定,而是僅為各個隊列分配一個丟包數(shù)量,每個隊列具體丟棄哪幾個數(shù)據(jù)包由后續(xù)步驟決定。在本發(fā)明實施例中,可以為多個隊列平均分配丟包數(shù)量,即各個隊列的丟包數(shù)量相等;也可以為各個隊列分配不同的丟包數(shù)量,本發(fā)明實施例對丟包數(shù)量的分配規(guī)則不做限制??蛇x的,可以根據(jù)隊列的優(yōu)先級高低為每個隊列分配丟包數(shù)量。具體的,將所有隊列按照隊列優(yōu)先級從低到高的順序進行排序,然后從優(yōu)先級最低的隊列開始順序選擇多個隊列作為丟包隊列。例如,如圖4(a)所示,隊列I至隊列10的隊列優(yōu)先級遞進升高,當確定丟包隊列的數(shù)量為3時,將隊列優(yōu)先級最低的隊列1、隊列2和隊列3選擇為丟包隊列。隊列I至隊列3的丟包數(shù)量之和為丟包總數(shù)量,并且隊列I的丟包數(shù)量最多,隊列3的丟包數(shù)量最少,而為隊列7至隊列10分配的丟包數(shù)量均為O。此外,還可以根據(jù)包含數(shù)據(jù)包數(shù)量多少為每個隊列分配丟包數(shù)量。具體的,將所有隊列按照包含數(shù)據(jù)包數(shù)量由多到少的順序進行排序,然后從包含數(shù)據(jù)包數(shù)量最多的隊列開始順序選擇多個隊列作為丟包隊列。例如,如圖4(b)所示,隊列I至隊列5所包含的數(shù)據(jù)包依次為3000、2500、2000、1500和1000。當確定丟包隊列的數(shù)量為3時,將包含數(shù)據(jù)包最多的隊列1、隊列2和隊列3選擇為丟包隊列。隊列I至隊列3的丟包數(shù)量之和為丟包總數(shù)量,并且隊列I的丟包數(shù)量最多,隊列3的丟包數(shù)量最少,而為隊列4和隊列5分配的丟包數(shù)量為O。優(yōu)先將包含數(shù)據(jù)包數(shù)量最多的隊列選擇為丟包隊列,能夠?qū)砣麎毫ψ畲蟮年犃羞M行丟包。通常,一個隊列中的多個數(shù)據(jù)包承載一項用戶業(yè)務(wù),將承載一項用戶業(yè)務(wù)的多個數(shù)據(jù)包稱作一個業(yè)務(wù)組,一個隊列中會有多個業(yè)務(wù)組承載多項用戶業(yè)務(wù)。當一個業(yè)務(wù)組中被丟棄的數(shù)據(jù)包過多時,業(yè)務(wù)組承載的上層業(yè)務(wù)的業(yè)務(wù)體驗劣化,即無法達到該上層業(yè)務(wù)的QoS要求。因此,在丟包總數(shù)量一定的前提下,每個隊列被分配到的丟包數(shù)量不能過多以致影響某個業(yè)務(wù)組承載的上層業(yè)務(wù)的QoS。因此,在本發(fā)明實施例的一個優(yōu)選方案中,為避免某個隊列丟包過多,可以為數(shù)據(jù)包緩存區(qū)域中的每個隊列都分配一個非O的丟包數(shù)量,例如為圖4(a)中隊列I至隊列10均分配一個非O的丟包數(shù)量。下面,以將數(shù) 據(jù)包緩存區(qū)域中所有隊列均確定為丟包隊列為例,對為隊列分配丟包數(shù)量進行說明:為多個隊列分配丟包數(shù)量的實現(xiàn)方式具體可以是以下幾種方式之一:I)將丟包總數(shù)量平均分配給每個隊列。例如,當丟包總數(shù)量為10000個、丟包隊列數(shù)量為5時,每個隊列分配到的丟包數(shù)量為10000/5 = 2000個。2)根據(jù)丟包總數(shù)量以及所有隊列包含數(shù)據(jù)包的總數(shù)量獲得預設(shè)比例值,根據(jù)每個隊列包含數(shù)據(jù)包的數(shù)量以及該預設(shè)比例值為每個隊列分配一個丟包數(shù)量。例如,有4個丟包隊列,隊列I至隊列4包含的數(shù)據(jù)包數(shù)量依次為1000個、2000個、3000個和4000個,則4個隊列包含數(shù)據(jù)包的總數(shù)量為10000個。丟包總數(shù)量為1000個,則預設(shè)比例值為1000/10000 = 10%。每個隊列將自身包含的10%的數(shù)據(jù)包丟棄,即隊列I至隊列4分配到的丟包數(shù)量依次為100個、200個、300個和400個。3)優(yōu)選的,考慮到不同隊列的重要程度不同,在為隊列分配丟包數(shù)量時,可以根據(jù)隊列優(yōu)先級體現(xiàn)差異化的分配原則,即優(yōu)先級高的隊列丟包數(shù)量少,優(yōu)先級低的隊列丟包
數(shù)量多。具體的,根據(jù)第一映射關(guān)系表以及隊列的優(yōu)先級為每個隊列分配丟包數(shù)量,其中第一映射表用于表征隊列優(yōu)先級與丟包數(shù)量之間的映射關(guān)系,高優(yōu)先級隊列的丟包數(shù)量小于低優(yōu)先級隊列的丟包數(shù)量。隊列優(yōu)先級的高低可以由數(shù)據(jù)包緩存數(shù)據(jù)包的類型決定,緩存時延敏感數(shù)據(jù)包的隊列(例如緩存電路域數(shù)據(jù)包的隊列)優(yōu)先級高于緩存時延不敏感數(shù)據(jù)包的隊列(例如緩存分組域數(shù)據(jù)包的隊列)優(yōu)先級。丟包數(shù)量與隊列優(yōu)先級的對應(yīng)關(guān)系為優(yōu)先級低的隊列丟包數(shù)量多優(yōu)先級高的隊列丟包數(shù)量少,第一映射關(guān)系表可以形如下表,其中優(yōu)先級數(shù)值高的隊列優(yōu)先級高:
權(quán)利要求
1.一種數(shù)據(jù)包傳輸?shù)姆椒?,其特征在于,所述方法包? 當發(fā)生數(shù)據(jù)包擁塞或網(wǎng)絡(luò)帶寬減小時,在數(shù)據(jù)包緩存中確定至少一個待丟棄數(shù)據(jù)包; 將所述至少一個待丟棄數(shù)據(jù)包進行丟棄,以便使至少一個未緩存數(shù)據(jù)包進入到所述數(shù)據(jù)包緩存中,由此防止丟棄過多未緩存數(shù)據(jù)包,其中所述未緩存數(shù)據(jù)包為未進入所述數(shù)據(jù)包緩存的數(shù)據(jù)包。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述在數(shù)據(jù)包緩存中確定至少一個待丟棄數(shù)據(jù)包,具體包括: 為所述數(shù)據(jù)包緩存中的至少一個隊列分別分配丟包數(shù)量,所述丟包數(shù)量為大于或等于O的整數(shù)。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述為所述數(shù)據(jù)包緩存中的至少一個隊列分別分配丟包數(shù)量,具體包括: 根據(jù)第一映射關(guān)系表以及隊列的優(yōu)先級為每個隊列分配丟包數(shù)量,其中所述第一映射表用于表征隊列優(yōu)先級與丟包數(shù)量之間的映射關(guān)系,高優(yōu)先級隊列的丟包數(shù)量小于低優(yōu)先級隊列的丟包數(shù)量; 或者,根據(jù)第二映射關(guān)系表以及隊列包含數(shù)據(jù)包的數(shù)量為每個隊列分配丟包數(shù)量,其中所述第二映射表用于表征隊列包含數(shù)據(jù)包的數(shù)量與丟包數(shù)量之間的映射關(guān)系,包含數(shù)據(jù)包數(shù)量多的隊列的丟包數(shù)量大于包含數(shù)據(jù) 包數(shù)量少的隊列的丟包數(shù)量。
4.根據(jù)權(quán)利要求2或3所述的方法,其特征在于,所述在數(shù)據(jù)包緩存中確定至少一個待丟棄數(shù)據(jù)包,具體包括: 在每個隊列中,按照平均分布規(guī)則等間隔選擇N個數(shù)據(jù)包確定為待丟棄數(shù)據(jù)包,其中,N為為該隊列分配的丟包數(shù)量; 或者,在每個隊列中,按照隨機分布規(guī)則隨機選擇N個數(shù)據(jù)包確定為待丟棄數(shù)據(jù)包,其中,N為為該隊列分配的丟包數(shù)量; 或者,根據(jù)第一排序規(guī)則對所述至少一個隊列進行排序,獲得排序隊列,從所述排序隊列的一端開始,輪詢將每個隊列中的第一個數(shù)據(jù)包確定為待丟棄數(shù)據(jù)包,當某個隊列的丟包數(shù)量達到為該隊列分配的丟包數(shù)量時,該隊列退出所述排序隊列,當所述排序隊列中的隊列數(shù)量為O時,完成待丟棄數(shù)據(jù)包的確定。
5.根據(jù)權(quán)利要求1至4中任一項所述的方法,其特征在于,所述將所述至少一個待丟棄數(shù)據(jù)包進行丟棄,具體包括: 按照預設(shè)丟包規(guī)則將所述至少一個待丟棄數(shù)據(jù)包進行丟棄。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述按照預設(shè)丟包規(guī)則將所述至少一個待丟棄數(shù)據(jù)包進行丟棄,具體包括: 獲取每個待丟棄數(shù)據(jù)包的索引標識,生成丟包組,所述索引標識為待丟棄數(shù)據(jù)包的隊列標識與待丟棄數(shù)據(jù)包的位置標識的組合; 判斷所述丟包組中是否還有未丟棄的待丟棄數(shù)據(jù)包; 當判斷結(jié)果為是時,選擇至少一個索引標識對應(yīng)的待丟棄數(shù)據(jù)包進行丟棄。
7.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述按照預設(shè)丟包規(guī)則將所述至少一個待丟棄數(shù)據(jù)包進行丟棄,具體包括: 在每確定一個待丟棄數(shù)據(jù)包后,獲取所述待丟棄數(shù)據(jù)包的索引標識,根據(jù)所述索引標識對所述待丟棄數(shù)據(jù)包進行丟棄。
8.根據(jù)權(quán)利要求1至7中任一項所述的方法,其特征在于,在所述在數(shù)據(jù)包緩存中確定至少一個待丟棄數(shù)據(jù)包之前,所述方法進一步包括: 確定待丟棄數(shù)據(jù)包的總數(shù)量; 將第一待丟棄數(shù)據(jù)包數(shù)量分配給所述數(shù)據(jù)包緩存進行丟棄,所述第一待丟棄數(shù)據(jù)包數(shù)量小于或等于待丟棄數(shù)據(jù)包總數(shù)量; 所述在數(shù)據(jù)包緩存中確定至少一個待丟棄數(shù)據(jù)包,具體包括: 將所述數(shù)據(jù)包緩存中第一待丟棄數(shù)據(jù)包數(shù)量的數(shù)據(jù)包確定為待丟棄數(shù)據(jù)包的數(shù)量。
9.一種數(shù)據(jù)包傳輸?shù)难b置,其特征在于,所述裝置包括: 確定單元,用于當發(fā)生數(shù)據(jù)包擁塞或網(wǎng)絡(luò)帶寬減小時,在數(shù)據(jù)包緩存中確定至少一個待丟棄數(shù)據(jù)包; 丟棄單元,用于將所述確定單元確定的所述至少一個待丟棄數(shù)據(jù)包進行丟棄,以便使至少一個未緩存數(shù)據(jù)包進入到所述數(shù)據(jù)包緩存中,由此防止丟棄過多未緩存數(shù)據(jù)包,其中所述未緩存數(shù)據(jù)包為未進入所述數(shù)據(jù)包緩存的數(shù)據(jù)包。
10.根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述確定單元具體包括: 分配子單元,用于為所述數(shù)據(jù)包緩存中的至少一個隊列分別分配丟包數(shù)量,所述丟包數(shù)量為大于或等于O的整數(shù)。
11.根據(jù)權(quán)利要求10所述的裝置,其特征在于,所述分配子單元具體用于: 根據(jù)第一映射關(guān)系表以及隊列的優(yōu)先級為每個隊列分配丟包數(shù)量,其中所述第一映射表用于表征隊列優(yōu)先級與丟包數(shù)量之間的映射關(guān)系,高優(yōu)先級隊列的丟包數(shù)量小于低優(yōu)先級隊列的丟包數(shù)量; 根據(jù)第二映射關(guān)系表以及隊列包含數(shù)據(jù)包的數(shù)量為每個隊列分配丟包數(shù)量,其中所述第二映射表用于表征隊列包含數(shù)據(jù)包的數(shù)量與丟包數(shù)量之間的映射關(guān)系,包含數(shù)據(jù)包數(shù)量多的隊列的丟包數(shù)量大于包含數(shù)據(jù)包數(shù)量少的隊列的丟包數(shù)量。
12.根據(jù)權(quán)利要求10或11所述的裝置,其特征在于,所述確定單元進一步包括: 確定子單元,用于: 在每個隊列中,按照平均分布規(guī)則等間隔選擇N個數(shù)據(jù)包確定為待丟棄數(shù)據(jù)包,其中,N為所述分配子單元為該隊列分配的丟包數(shù)量; 在每個隊列中,按照隨機分布規(guī)則隨機選擇N個數(shù)據(jù)包確定為待丟棄數(shù)據(jù)包,其中,N為所述分配子單元為該隊列分配的丟包數(shù)量; 根據(jù)第一排序規(guī)則對所述至少一個隊列進行排序,獲得排序隊列,從所述排序隊列的一端開始,輪詢將每個隊列中的第一個數(shù)據(jù)包確定為待丟棄數(shù)據(jù)包,當某個隊列的丟包數(shù)量達到所述分配子單元為該隊列分配的丟包數(shù)量時,該隊列退出所述排序隊列,當所述排序隊列中的隊列數(shù)量為O時,所述確定子單元完成待丟棄數(shù)據(jù)包的確定。
13.根據(jù)權(quán)利要求9至12中任一項所述的裝置,其特征在于,所述丟棄單元具體用于:按照預設(shè)丟包規(guī)則將所述確定單元確定的所述至少一個待丟棄數(shù)據(jù)包進行丟棄。
14.根據(jù)權(quán)利要求13所述的裝置,其特征在于,所述丟棄單元具體包括: 獲取子單元,用于獲取每個待丟棄數(shù)據(jù)包的索引標識,生成丟包組,所述索引標識為待丟棄數(shù)據(jù)包的隊列標識與待丟棄數(shù)據(jù)包的位置標識的組合;判斷子單元,用于判斷所述獲取子單元生成的所述丟包組中是否還有未丟棄的待丟棄數(shù)據(jù)包; 丟棄子單元,用于當所述判斷子單元的判斷結(jié)果為是時,選擇至少一個索引標識對應(yīng)的待丟棄數(shù)據(jù)包進行丟棄。
15.根據(jù)權(quán)利要求13所述的裝置,其特征在于,所述獲取子單元還用于在所述確定單元每確定一個待丟棄數(shù)據(jù)包后,獲取所述待丟棄數(shù)據(jù)包的索引標識; 所述丟棄子單元還用于根據(jù)所述獲取子單元獲取的所述索引標識對所述待丟棄數(shù)據(jù)包進行丟棄。
16.根據(jù)權(quán)利要求9至15中任一項所述的裝置,其特征在于,所述裝置進一步包括: 管理單元,用于: 確定待丟棄數(shù)據(jù)包的總數(shù)量; 將第一待丟棄數(shù)據(jù)包數(shù)量分配給所述數(shù)據(jù)包緩存進行丟棄,所述第一待丟棄數(shù)據(jù)包數(shù)量小于或等于待丟棄數(shù)據(jù)包總數(shù)量; 將所述數(shù)據(jù)包緩存中第一待丟棄數(shù)據(jù)包數(shù)量的數(shù)據(jù)包確定為待丟棄數(shù)據(jù)包的數(shù)量。
17.一種數(shù)據(jù)包傳輸?shù)难b置,其特征在于,所述裝置包括: 接收器,用于接收待發(fā)送的數(shù)據(jù)包; 緩存器,用于緩存所述接收器接收的所述數(shù)據(jù)包; 處理器,用于當發(fā)生數(shù)據(jù)包擁塞或網(wǎng)絡(luò)帶寬減小時,在所述緩存器緩存的所述數(shù)據(jù)包中確定至少一個待丟棄數(shù)據(jù)包,將所述至少一個待丟棄數(shù)據(jù)包進行丟棄,以便使至少一個未緩存數(shù)據(jù)包進入到所述緩存器中,由此防止丟棄過多未緩存數(shù)據(jù)包,其中所述未緩存數(shù)據(jù)包為未進入所述緩存器的數(shù)據(jù)包。
18.根據(jù)權(quán)利要求17所述的裝置,其特征在于,所述處理器具體用于: 為所述緩存器中的至少一個隊列分別分配丟包數(shù)量,所述丟包數(shù)量為大于或等于O的整數(shù)。
19.根據(jù)權(quán)利要求18所述的裝置,其特征在于,所述處理器進一步具體用于: 根據(jù)第一映射關(guān)系表以及隊列的優(yōu)先級為每個隊列分配丟包數(shù)量,其中所述第一映射表用于表征隊列優(yōu)先級與丟包數(shù)量之間的映射關(guān)系,高優(yōu)先級隊列的丟包數(shù)量小于低優(yōu)先級隊列的丟包數(shù)量; 根據(jù)第二映射關(guān)系表以及隊列包含數(shù)據(jù)包的數(shù)量為每個隊列分配丟包數(shù)量,其中所述第二映射表用于表征隊列包含數(shù)據(jù)包的數(shù)量與丟包數(shù)量之間的映射關(guān)系,包含數(shù)據(jù)包數(shù)量多的隊列的丟包數(shù)量大于包含數(shù)據(jù)包數(shù)量少的隊列的丟包數(shù)量。
20.根據(jù)權(quán)利要求18或19所述的裝置,其特征在于,所述處理器還具體用于: 在每個隊列中,按照平均分布規(guī)則等間隔選擇N個數(shù)據(jù)包確定為待丟棄數(shù)據(jù)包,其中,N為為該隊列分配的丟包數(shù)量; 在每個隊列中,按照隨機分布規(guī)則隨機選擇N個數(shù)據(jù)包確定為待丟棄數(shù)據(jù)包,其中,N為為該隊列分配的丟包數(shù)量; 根據(jù)第一排序規(guī)則對所述至少一個隊列進行排序,獲得排序隊列,從所述排序隊列的一端開始,輪詢將每個隊列中的第一個數(shù)據(jù)包確定為待丟棄數(shù)據(jù)包,當某個隊列的丟包數(shù)量達到為該隊列分配的丟包數(shù)量時, 該隊列退出所述排序隊列,當所述排序隊列中的隊列數(shù)量為O時,完成待丟棄數(shù)據(jù)包的確定。
21.根據(jù)權(quán)利要求17至20中任一項所述的裝置,其特征在于,所述處理器具體用于: 按照預設(shè)丟包規(guī)則將所述至少一個待丟棄數(shù)據(jù)包進行丟棄。
22.根據(jù)權(quán)利要求21所述的裝置,其特征在于,所述處理器具體用于: 獲取每個待丟棄數(shù)據(jù)包的索引標識,生成丟包組,所述索引標識為待丟棄數(shù)據(jù)包的隊列標識與待丟棄數(shù)據(jù)包的位置標識的組合; 判斷所述丟包組中是否還有未丟棄的待丟棄數(shù)據(jù)包; 當判斷結(jié)果為是時,選擇至少一個索引標識對應(yīng)的待丟棄數(shù)據(jù)包進行丟棄。
23.根據(jù)權(quán)利要求21所述的裝置,其特征在于,所述處理器具體用于: 在每確定一個待丟棄數(shù)據(jù)包后,獲取所述待丟棄數(shù)據(jù)包的索引標識,根據(jù)所述索引標識對所述待丟棄數(shù)據(jù)包進行丟棄。
24.根據(jù)權(quán)利要求17至23中任一項所述的裝置,其特征在于,所述處理器還具體用于: 確定待丟棄數(shù)據(jù)包的總數(shù)量; 將第一待丟棄數(shù)據(jù)包數(shù)量分配給所述緩存器,所述第一待丟棄數(shù)據(jù)包數(shù)量小于或等于待丟棄數(shù)據(jù)包總數(shù)量; 將所述緩存器中第一待丟棄數(shù)據(jù)包數(shù)量的數(shù)據(jù)包確定為待丟棄數(shù)據(jù)包的數(shù)量。
全文摘要
本發(fā)明公開了一種數(shù)據(jù)包傳輸?shù)姆椒把b置,涉及通信技術(shù)領(lǐng)域,能夠有效改善設(shè)備之間或設(shè)備中模塊之間突發(fā)擁塞時擁塞管理階段丟包過多的問題。本發(fā)明的方法包括當發(fā)生數(shù)據(jù)包擁塞或網(wǎng)絡(luò)帶寬減小時,在數(shù)據(jù)包緩存中確定至少一個待丟棄數(shù)據(jù)包;將所述至少一個待丟棄數(shù)據(jù)包進行丟棄,以便使至少一個未緩存數(shù)據(jù)包進入到所述數(shù)據(jù)包緩存中,由此防止丟棄過多未緩存數(shù)據(jù)包,其中所述未緩存數(shù)據(jù)包為未進入所述數(shù)據(jù)包緩存的數(shù)據(jù)包。本發(fā)明主要應(yīng)用于數(shù)據(jù)包緩存的過程中。
文檔編號H04L12/861GK103229466SQ201280002654
公開日2013年7月31日 申請日期2012年12月27日 優(yōu)先權(quán)日2012年12月27日
發(fā)明者藍海青 申請人:華為技術(shù)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1