欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

Sar處理芯片發(fā)送擁塞的控制方法

文檔序號:7618921閱讀:149來源:國知局
專利名稱:Sar處理芯片發(fā)送擁塞的控制方法
技術(shù)領(lǐng)域
本發(fā)明涉及網(wǎng)絡(luò)通訊技術(shù),尤其涉及一種SAR處理芯片發(fā)送擁塞的控制方法。
背景技術(shù)
在使用SAR(分段重組)處理芯片中發(fā)現(xiàn),當(dāng)應(yīng)用軟件在某條VCC(虛通道連接)中要求發(fā)送的數(shù)據(jù)流量持續(xù)超過該VCC的配置帶寬時(shí),將導(dǎo)致發(fā)送擁塞。由于在配置VCC帶寬的時(shí)候,應(yīng)用軟件會(huì)根據(jù)要求來配置一個(gè)合適的VCC帶寬,因此,通常情況下不會(huì)發(fā)生發(fā)送擁塞情形。但應(yīng)用層本身沒有對發(fā)送流量進(jìn)行檢測和控制的機(jī)制,因此,在考慮不周的情況下,或在某些惡劣情況下,發(fā)送擁塞的情形還是有可能發(fā)生的。
正常情況下,應(yīng)用層將待發(fā)送的數(shù)據(jù)掛在SBD(分段緩沖區(qū)描述符,也就是數(shù)據(jù)發(fā)送時(shí)使用的BD)鏈上后,將首BD(緩沖區(qū)描述符)寫入發(fā)送隊(duì)列,SAR處理芯片能將該數(shù)據(jù)對應(yīng)的整個(gè)報(bào)文的SBD鏈信息鏈接進(jìn)發(fā)送VCC表,并立刻將其發(fā)送出去,并在延遲數(shù)十微秒后,產(chǎn)生一個(gè)狀態(tài)隊(duì)列表項(xiàng)來通知應(yīng)用程序SAR硬件已經(jīng)將對應(yīng)的報(bào)文自動(dòng)發(fā)送完畢,并要求應(yīng)用程序釋放原報(bào)文占用的SBD。
當(dāng)某條VCC發(fā)送擁塞時(shí),由于從應(yīng)用層來的數(shù)據(jù)速率超過了SAR處理芯片在該VCC上的最大發(fā)送速率,這樣應(yīng)用層的數(shù)據(jù)就以SBD鏈的形式堆積在發(fā)送VCC表中(SAR處理芯片能夠?qū)⒉煌瑘?bào)文的所有待發(fā)送的SBD鏈接起來,并用兩個(gè)指針來管理,一個(gè)指針指向鏈?zhǔn)?,另一個(gè)指向鏈尾),如果這種情況持續(xù)下去,大量的SBD堆積在發(fā)送VCC表中的兩個(gè)管理指針之間,直至SBD耗盡,以致其他VCC因無法獲得SBD而發(fā)送失敗。
因此需要對每條VCC的發(fā)送進(jìn)行擁塞控制,避免在某條VCC中占用過多的SBD,導(dǎo)致其他VCC因無法獲得SBD而發(fā)送失敗。
目前,解決上述技術(shù)問題的現(xiàn)有技術(shù)方案是當(dāng)發(fā)送擁塞越來越嚴(yán)重,耗盡SBD,導(dǎo)致其他VCC因無法獲得SBD而不能正常發(fā)送,系統(tǒng)受到嚴(yán)重影響時(shí),強(qiáng)行對系統(tǒng)進(jìn)行復(fù)位。
該技術(shù)方案只能暫時(shí)緩解發(fā)送擁塞,并不能從根本上解決發(fā)送擁塞問題,而且在系統(tǒng)復(fù)位期間,會(huì)嚴(yán)重影響各種業(yè)務(wù),從而嚴(yán)重影響用戶的服務(wù)質(zhì)量。

發(fā)明內(nèi)容
鑒于上述現(xiàn)有技術(shù)所存在的問題,本發(fā)明的目的是提供一種SAR處理芯片發(fā)送擁塞的控制方法,不但能夠有效解決發(fā)送擁塞的技術(shù)問題,同時(shí)也不會(huì)對系統(tǒng)的各種業(yè)務(wù)造成影響。
本發(fā)明的目的是通過以下技術(shù)方案實(shí)現(xiàn)的本發(fā)明提供了一種SAR處理芯片發(fā)送擁塞的控制方法,包括如下步驟A、確定一條虛通道連接VCC正在使用的分段緩沖區(qū)描述符SBD的數(shù)量;B、確定當(dāng)前允許每條VCC使用的SBD最大數(shù)量;C、根據(jù)所述VCC正在使用的SBD數(shù)量及當(dāng)前允許每條VCC使用的SBD最大數(shù)量,對該VCC進(jìn)行擁塞控制。
所述VCC正在使用的SBD數(shù)量為該VCC申請使用的SBD數(shù)量與使用完畢釋放的SBD數(shù)量之差。
所述步驟A具體包括A1、該VCC中將應(yīng)用層的數(shù)據(jù)掛接到SBD上時(shí),統(tǒng)計(jì)申請使用的SBD數(shù)量;A2、統(tǒng)計(jì)該VCC中使用完畢釋放的SBD數(shù)量;A3、計(jì)算該VCC申請使用的SBD數(shù)量與使用完畢釋放的SBD數(shù)量之差,并作為所述VCC正在使用的SBD數(shù)量。
所述步驟B具體包括根據(jù)當(dāng)前空閑的SBD總數(shù)和最初分配的空閑SBD總數(shù)確定所述當(dāng)前允許每條VCC使用的SBD最大數(shù)量。
所述步驟B具體包括根據(jù)所述當(dāng)前空閑的SBD總數(shù)與所述最初分配的空閑SBD總數(shù)之間的比例確定所述當(dāng)前允許每條VCC使用的SBD最大數(shù)量。
所述當(dāng)前空閑的SBD就是當(dāng)前沒有被使用的SBD。
所述當(dāng)前空閑的SBD總數(shù)為所述最初分配的空閑SBD總數(shù)與所有VCC正在使用的SBD總數(shù)之差。
確定所述當(dāng)前空閑的SBD總數(shù)的過程具體包括B1、統(tǒng)計(jì)每條VCC正在使用的SBD數(shù)量;B2、統(tǒng)計(jì)所有VCC正在使用的SBD總數(shù);B3、計(jì)算最初分配的空閑SBD總數(shù)與所有VCC正在使用的SBD總數(shù)之差,并作為所述當(dāng)前空閑的SBD總數(shù)。
所述步驟C具體包括當(dāng)所述VCC正在使用的SBD數(shù)量超過當(dāng)前允許每條VCC使用的SBD最大數(shù)量時(shí),則認(rèn)為該VCC發(fā)送擁塞,禁止本次發(fā)送。
由上述本發(fā)明提供的技術(shù)方案可以看出,本發(fā)明的控制方法是控制系統(tǒng)中每條VCC正在使用的SBD數(shù)量,當(dāng)超過一定的標(biāo)準(zhǔn)時(shí),則認(rèn)為該VCC發(fā)送擁塞,禁止本次發(fā)送,從而避免該VCC耗盡大量SBD,保證其他VCC能獲得足夠的SBD進(jìn)行正常發(fā)送,從而保證了其他VCC上面的業(yè)務(wù)不受影響,同時(shí)也不會(huì)對系統(tǒng)的其他業(yè)務(wù)造成任何影響。


圖1為本發(fā)明所述方法的流程圖。
具體實(shí)施例方式
本發(fā)明的核心是假如系統(tǒng)最初總共分配N個(gè)空閑的SBD,最多同時(shí)可能有M條VCC在發(fā)送(N通常比M大得多)。正常情況下,正在使用中的SBD數(shù)量不是很多,通常也就是2M個(gè)左右,正在使用中的SBD主要是分布在發(fā)送VCC表中,也有一部分分布在發(fā)送狀態(tài)隊(duì)列中。本方案就是采取一些算法來控制每條VCC中正在使用的SBD數(shù)量,避免該數(shù)值過大而使得空閑SBD過少,從而導(dǎo)致其他VCC無法獲得足夠的SBD來發(fā)送數(shù)據(jù)。
本發(fā)明的總體控制思想是在每條VCC發(fā)送前,對系統(tǒng)中空閑的SBD數(shù)量進(jìn)行判斷,空閑的SBD數(shù)量越少,允許該條VCC使用的SBD數(shù)量就越少。當(dāng)該條VCC中正在使用的SBD數(shù)量超過一定的標(biāo)準(zhǔn)時(shí),則禁止該條VCC的本次發(fā)送,此時(shí),該條VCC處于發(fā)送擁塞狀態(tài)。該條VCC在下次發(fā)送時(shí),重新進(jìn)行判斷,如果仍然滿足發(fā)送擁塞狀態(tài)的條件,則仍然禁止該VCC發(fā)送,直到不滿足發(fā)送擁塞狀態(tài)的條件,方可恢復(fù)到正常發(fā)送狀態(tài)。
為對本發(fā)明有進(jìn)一步的了解,下面將結(jié)合附圖對本發(fā)明所述的方法進(jìn)行詳細(xì)的說明。
本發(fā)明所述方法的具體實(shí)現(xiàn)方式如圖1所示,包括以下步驟步驟11確定某條VCC正在使用的SBD數(shù)量X。
為了實(shí)現(xiàn)SAR處理芯片發(fā)送擁塞的控制方法,在某條VCC發(fā)送前,首先需要統(tǒng)計(jì)該條VCC當(dāng)前占用的SBD數(shù)量,也就是該VCC中處于“正在使用”狀態(tài)的SBD數(shù)量。
我們知道,SAR處理芯片使用SBD發(fā)送數(shù)據(jù)的過程如下應(yīng)用層在某條VCC上發(fā)送數(shù)據(jù)時(shí),首先向系統(tǒng)申請使用SBD;在將數(shù)據(jù)掛接到SBD鏈上后,一旦成功將該數(shù)據(jù)寫入發(fā)送隊(duì)列,則該SBD就變成“正在使用”的狀態(tài);然后SAR處理芯片將該數(shù)據(jù)對應(yīng)的整個(gè)報(bào)文的SBD鏈信息鏈接進(jìn)發(fā)送VCC表,并將該數(shù)據(jù)發(fā)送出去;當(dāng)掛接到SBD鏈上的數(shù)據(jù)被發(fā)送出去后,該SBD分布在發(fā)送狀態(tài)隊(duì)列中,應(yīng)用程序?qū)υ摪l(fā)送狀態(tài)隊(duì)列進(jìn)行處理,將使用完畢的SBD釋放,該SBD從“正在使用”狀態(tài)變?yōu)椤翱臻e”狀態(tài)。
因此,所述VCC中正在使用的SBD數(shù)量X為該VCC申請使用的SBD數(shù)量與使用完畢釋放的SBD數(shù)量之差,確定過程具體如下統(tǒng)計(jì)該VCC中申請使用的SBD數(shù)量;統(tǒng)計(jì)該VCC中使用完畢釋放的SBD數(shù)量;計(jì)算該VCC中申請使用的SBD數(shù)量與使用完畢釋放的SBD數(shù)量之差,并作為該VCC中正在使用的SBD數(shù)量X。
步驟12確定系統(tǒng)當(dāng)前空閑的SBD總數(shù)Y。
所述系統(tǒng)當(dāng)前空閑的SBD就是系統(tǒng)當(dāng)前沒有被使用的SBD,因此,當(dāng)前空閑的SBD總數(shù)為系統(tǒng)最初分配的空閑SBD總數(shù)N與系統(tǒng)中所有VCC正在使用的SBD總數(shù)之差。
根據(jù)步驟11所述,確定所述系統(tǒng)當(dāng)前空閑的SBD總數(shù)Y的過程具體包括統(tǒng)計(jì)每條VCC正在使用的SBD數(shù)量;
統(tǒng)計(jì)系統(tǒng)中所有VCC正在使用的SBD總數(shù);計(jì)算系統(tǒng)最初分配的空閑SBD總數(shù)N與所有VCC正在使用的SBD總數(shù)之差,并作為系統(tǒng)當(dāng)前空閑的SBD總數(shù)Y。
步驟13確定當(dāng)前允許每條VCC使用的SBD最大數(shù)量Z。
所述當(dāng)前允許每條VCC使用SBD的最大數(shù)量Z是根據(jù)系統(tǒng)當(dāng)前空閑的SBD總數(shù)Y和系統(tǒng)最初分配的空閑SBD總數(shù)N確定的;所述當(dāng)前允許每條VCC使用SBD的最大數(shù)量Z具體是根據(jù)系統(tǒng)當(dāng)前空閑的SBD總數(shù)Y與系統(tǒng)最初分配的空閑SBD總數(shù)N之間的比例來確定的。
在本發(fā)明的實(shí)施例中,可以通過如下規(guī)則確定當(dāng)前允許每條VCC使用SBD的最大數(shù)量Z當(dāng)所述系統(tǒng)當(dāng)前空閑的SBD總數(shù)Y超過系統(tǒng)最初分配的空閑SBD總數(shù)N的4/8時(shí),所述當(dāng)前允許每條VCC使用的SBD最大數(shù)Z為K;當(dāng)所述系統(tǒng)當(dāng)前空閑的SBD總數(shù)Y超過系統(tǒng)最初分配的空閑SBD總數(shù)N的3/8時(shí),所述當(dāng)前允許每條VCC使用的SBD最大數(shù)量Z為K/2;當(dāng)所述系統(tǒng)當(dāng)前空閑的SBD總數(shù)Y超過系統(tǒng)最初分配的空閑SBD總數(shù)N的2/8時(shí),所述當(dāng)前允許每條VCC使用的SBD最大數(shù)量Z為K/4;當(dāng)所述系統(tǒng)當(dāng)前空閑的SBD總數(shù)Y超過系統(tǒng)最初分配的空閑SBD總數(shù)N的1/8時(shí),所述當(dāng)前允許每條VCC使用的SBD最大數(shù)量Z為K/8;當(dāng)所述系統(tǒng)當(dāng)前空閑的SBD總數(shù)Y不超過系統(tǒng)最初分配的空閑SBD總數(shù)N的1/8時(shí),所述當(dāng)前允許每條VCC使用的SBD最大數(shù)量Z為1。
其中,N可以是一個(gè)幾百到數(shù)千的數(shù)值,K可以是一個(gè)幾十到數(shù)百的數(shù)值;通常情況,N是一個(gè)數(shù)千的數(shù)值,K取值為128到256。
數(shù)據(jù)在VCC中發(fā)送時(shí),假設(shè)一個(gè)報(bào)文在一次發(fā)送過程中最多需要使用P個(gè)SBD,而且此種使用P個(gè)SBD的報(bào)文的數(shù)量不是很多,為了避免發(fā)送失敗,K必須大于P,同時(shí)又不能超過系統(tǒng)當(dāng)前空閑的SBD總數(shù)Y,因此,K的數(shù)值可以根據(jù)P值的大小來確定,一般K取值為P的2-20倍。
在實(shí)際應(yīng)用中,可以根據(jù)實(shí)際情況來確定當(dāng)前允許每條VCC使用SBD的最大數(shù)量的具體規(guī)則。
步驟14判斷X是否大于Z。
判斷所述VCC正在使用的SBD數(shù)量X是否大于所述當(dāng)前允許每條VCC使用的SBD最大數(shù)量Z。如果X大于Z,則執(zhí)行步驟15,進(jìn)行擁塞控制;否則,執(zhí)行步驟16,該VCC正常發(fā)送。
步驟15對該VCC進(jìn)行擁塞控制,禁止本次發(fā)送。
當(dāng)所述VCC正在使用的SBD數(shù)量大于所述當(dāng)前允許每條VCC使用SBD的最大數(shù)量時(shí),則認(rèn)為該條VCC滿足發(fā)送擁塞條件,處于擁塞狀態(tài),禁止當(dāng)前應(yīng)用層來的數(shù)據(jù)在該VCC中發(fā)送。
步驟16該VCC正常發(fā)送。
當(dāng)所述VCC正在使用的SBD數(shù)量不大于所述當(dāng)前允許每條VCC使用SBD的最大數(shù)量時(shí),當(dāng)前應(yīng)用層來的數(shù)據(jù)可以在該VCC中正常發(fā)送。
當(dāng)某條VCC發(fā)生發(fā)送擁塞后,應(yīng)用層下次在該條VCC中發(fā)送數(shù)據(jù)時(shí),會(huì)重新進(jìn)行擁塞判斷。由于系統(tǒng)中空閑的SBD數(shù)量在動(dòng)態(tài)變化,該條VCC中正在使用的SBD數(shù)量也在不斷減少,在以后的發(fā)送中,該條VCC總會(huì)解除發(fā)送擁塞,回到正常發(fā)送狀態(tài)。
本發(fā)明是專門針對采用共享方式SBD的情況提出的,不適合于給某個(gè)VCC固定分配一定SBD數(shù)目的情況。
以上所述,僅為本發(fā)明較佳的具體實(shí)施方式
,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)該以權(quán)利要求的保護(hù)范圍為準(zhǔn)。
權(quán)利要求
1.一種SAR處理芯片發(fā)送擁塞的控制方法,包括如下步驟A、確定一條虛通道連接VCC正在使用的分段緩沖區(qū)描述符SBD的數(shù)量;B、確定當(dāng)前允許每條VCC使用的SBD最大數(shù)量;C、根據(jù)所述VCC正在使用的SBD數(shù)量及當(dāng)前允許每條VCC使用的SBD最大數(shù)量,對該VCC進(jìn)行擁塞控制。
2.如權(quán)利要求1所述的控制方法,其特征在于,所述VCC正在使用的SBD數(shù)量為該VCC申請使用的SBD數(shù)量與使用完畢釋放的SBD數(shù)量之差。
3.如權(quán)利要求2所述的控制方法,其特征在于,所述步驟A具體包括A1、該VCC中將應(yīng)用層的數(shù)據(jù)掛接到SBD上時(shí),統(tǒng)計(jì)申請使用的SBD數(shù)量;A2、統(tǒng)計(jì)該VCC中使用完畢釋放的SBD數(shù)量;A3、計(jì)算該VCC申請使用的SBD數(shù)量與使用完畢釋放的SBD數(shù)量之差,并作為所述VCC正在使用的SBD數(shù)量。
4.如權(quán)利要求1所述的控制方法,其特征在于,所述步驟B具體包括根據(jù)當(dāng)前空閑的SBD總數(shù)和最初分配的空閑SBD總數(shù)確定所述當(dāng)前允許每條VCC使用的SBD最大數(shù)量。
5.如權(quán)利要求4所述的控制方法,其特征在于,所述步驟B具體包括根據(jù)所述當(dāng)前空閑的SBD總數(shù)與所述最初分配的空閑SBD總數(shù)之間的比例確定所述當(dāng)前允許每條VCC使用的SBD最大數(shù)量。
6.如權(quán)利要求4或5所述的控制方法,其特征在于,所述當(dāng)前空閑的SBD就是當(dāng)前沒有被使用的SBD。
7.如權(quán)利要求4或5所述的控制方法,其特征在于,所述當(dāng)前空閑的SBD總數(shù)為所述最初分配的空閑SBD總數(shù)與所有VCC正在使用的SBD總數(shù)之差。
8.如權(quán)利要求7所述的控制方法,其特征在于,確定所述當(dāng)前空閑的SBD總數(shù)的過程具體包括B1、統(tǒng)計(jì)每條VCC正在使用的SBD數(shù)量;B2、統(tǒng)計(jì)所有VCC正在使用的SBD總數(shù);B3、計(jì)算最初分配的空閑SBD總數(shù)與所有VCC正在使用的SBD總數(shù)之差,并作為所述當(dāng)前空閑的SBD總數(shù)。
9.如權(quán)利要求1至5任一項(xiàng)所述的控制方法,其特征在于,所述步驟C具體包括當(dāng)所述VCC正在使用的SBD數(shù)量超過當(dāng)前允許每條VCC使用的SBD最大數(shù)量時(shí),則認(rèn)為該VCC發(fā)送擁塞,禁止本次發(fā)送。
全文摘要
本發(fā)明公開了一種SAR處理芯片發(fā)送擁塞的控制方法,在每條VCC發(fā)送前,根據(jù)該VCC正在使用的SBD數(shù)量及當(dāng)前允許每條VCC使用的SBD最大數(shù)量,對該VCC進(jìn)行擁塞控制。當(dāng)該VCC正在使用的SBD數(shù)量超過當(dāng)前允許每條VCC使用的SBD最大數(shù)量時(shí),則認(rèn)為該VCC處于發(fā)送擁塞狀態(tài),禁止該VCC的本次發(fā)送。本發(fā)明能夠?qū)ο到y(tǒng)中VCC的發(fā)送擁塞程度進(jìn)行有效控制,避免某條VCC占用過多的SBD,導(dǎo)致其他VCC因無法獲得SBD而發(fā)送失敗,從而保證了其他VCC上面的業(yè)務(wù)不受影響,同時(shí)也不會(huì)對系統(tǒng)的其他業(yè)務(wù)造成任何影響。
文檔編號H04L12/56GK1878124SQ200510074930
公開日2006年12月13日 申請日期2005年6月6日 優(yōu)先權(quán)日2005年6月6日
發(fā)明者劉龍新 申請人:華為技術(shù)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會(huì)獲得點(diǎn)贊!
1
麻城市| 余江县| 南澳县| 南平市| 中西区| 上杭县| 芦山县| 浙江省| 江北区| 嘉定区| 洛阳市| 惠州市| 九龙县| 鹰潭市| 江北区| 定南县| 奉化市| 北川| 平顶山市| 延津县| 南郑县| 阳山县| 景谷| 磐石市| 灌云县| 古浪县| 蚌埠市| 浠水县| 师宗县| 连云港市| 九江县| 邢台县| 惠来县| 九寨沟县| 泉州市| 禹州市| 龙门县| 南雄市| 郴州市| 天津市| 万荣县|