新四季網

一種擁塞控制方法及系統與流程

2023-10-19 16:07:17 1


本發明涉及通信領域,尤其涉及一種擁塞控制方法及系統。



背景技術:

tcp(transmissioncontrolprotocol,傳輸控制協議)現在被廣泛使用。tcp的擁塞控制機制是一種被動擁塞控制方法,該方法進行擁塞控制的手段是基於「探測」的想法,根據當前網絡的丟包情況,動態地調整擁塞窗口來實現擁塞控制,例如cubic算法。

現有的擁塞控制方法的缺陷在於:不能快速適應網絡質量變化;當網絡質量變差時,擁塞窗口並不會實時進行調整,發送方仍然按照原先的速率進行發包,這樣將導致丟包;另一方面,tcp在丟包時採用將擁塞窗口大小減半的方式進行擁塞避免,而發送方的發送速率取決於擁塞窗口的大小,因此會造成帶寬利用率低。

在行動網路中,終端設備的網絡質量更容易發生變化,如果採用上述被動擁塞控制方法,則丟包和帶寬利用率低的問題將會更加突出。



技術實現要素:

本申請提出一種擁塞控制方法及系統,能夠提高擁塞控制的實時性和帶寬利用率,減少丟包。

本申請採用如下技術方案。

一種擁塞控制方法,包括:

計算第一終端和服務端的吞吐率;

周期性根據所述吞吐率,確定所述第一終端對應的擁塞窗口的大小。

可選地,所述周期性根據所述吞吐率,確定所述第一終端對應的擁塞窗口的大小包括:

周期性計算當前時刻之前第一預定時間長度內的所述吞吐率的算術平均數b,確定擁塞窗口的大小w為α×rttmin×b;其中α為預定常數,rttmin為當前時刻之前第一預定時間長度內最小的往返時間。

可選地,所述第一預定時間長度小於或等於500毫秒,大於或等於計算所述吞吐率的時間間隔;

1≤α≤100。

可選地,所述第一預定時間長度為100毫秒,α為2。

可選地,所述的方法還包括:

當已發送給所述第一終端但未收到所述第一終端確認的數據量未達到w時,以b作為發送速率將數據發送給所述第一終端;當已發送給所述第一終端但未收到所述第一終端確認的數據量超過w時,暫停發送數據給所述第一終端。

一種擁塞控制系統,包括:

計算模塊,用於計算第一終端和基站之間的吞吐率;

網絡預測模塊,用於周期性根據所述吞吐率,確定所述第一終端對應的擁塞窗口的大小。

可選地,所述網絡預測模塊周期性根據所述吞吐率,確定所述第一終端對應的擁塞窗口的大小包括:

所述網絡預測模塊周期性計算當前時刻之前第一預定時間長度內的所述吞吐率的算術平均數b,確定擁塞窗口的大小w為α×rttmin×b;其中α為預定常數,rttmin為當前時刻之前第一預定時間長度內最小的往返時間。

可選地,所述第一預定時間長度小於或等於500毫秒,大於或等於計算所述吞吐率的時間間隔;

1≤α≤100。

可選地,所述第一預定時間長度為100毫秒,α為2。

可選地,所述的系統還包括:

擁塞處理模塊,用於當已發送給所述第一終端但未收到所述第一終端確認的數據量未達到w時,以b作為發送速率將數據發送給所述第一終端;當已發送給所述第一終端但未收到所述第一終端確認的數據量超過w時,暫停發送數據給所述第一終端。

本申請包括以下優點:

本申請至少一個備選方案通過吞吐率確定擁塞窗口的大小,因此可以及時得知網絡質量的變化並隨之調整擁塞窗口的大小,相較於現有技術中發生丟包就直接將擁塞窗口的大小減半的做法,可以提高帶寬利用率;當網絡質量變差時,吞吐率將下降,由於擁塞窗口的大小是依據吞吐率確定的,因此發送速率也會隨之下降,減少丟包;另外,由於吞吐率可以基於且不限於物理層參數得到,因此該方案能夠很好地適用於可以採集物理層參數的通信系統。

本申請又一個備選方案限定了利用吞吐率確定擁塞窗口的計算細節。本備選方案的一種實施方式裡限定了計算時所採用的參數值,能夠更加合理的確定擁塞窗口。本備選方案的又一實施方式中限定了當未確認的數據量沒達到擁塞窗口的大小時,以預測帶寬作為發送速率,相當於根據實時的吞吐率來動態調整發送數據的快慢;而當未確認的數據量超過擁塞窗口的大小時則暫停發送,等待確認;擁塞窗口的大小並不直接根據數據的確認情況進行調整,而是與實時的吞吐率相關。

本申請又一個備選方案限定了如何進行主、被動混合式擁塞控制,從而能夠更好地適應通信過程中的不同階段。

當然,實施本申請的任一產品必不一定需要同時達到以上所述的所有優點。

附圖說明

圖1是實施例一的擁塞控制方法的流程示意圖;

圖2是實施例二的擁塞控制系統的示意圖;

圖3是實施例二的示例的應用場景的示意圖。

具體實施方式

下面將結合附圖及實施例對本申請的技術方案進行更詳細的說明。

需要說明的是,如果不衝突,本申請實施例以及實施例中的各個特徵可以相互結合,均在本申請的保護範圍之內。另外,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同於此處的順序執行所示出或描述的步驟。

在一個典型的配置中,客戶端或認證系統的計算設備可包括一個或多個處理器(cpu)、輸入/輸出接口、網絡接口和內存(memory)。

內存可能包括計算機可讀介質中的非永久性存儲器,隨機存取存儲器(ram)和/或非易失性內存等形式,如只讀存儲器(rom)或快閃記憶體(flashram)。內存是計算機可讀介質的示例。內存可能包括模塊1,模塊2,……,模塊n(n為大於2的整數)。

計算機可讀介質包括永久性和非永久性、可移動和非可移動媒體可以由任何方法或技術來實現信息存儲。信息可以是計算機可讀指令、數據結構、程序的模塊或其他數據。計算機的存儲介質的例子包括,但不限於相變內存(pram)、靜態隨機存取存儲器(sram)、動態隨機存取存儲器(dram)、其他類型的隨機存取存儲器(ram)、只讀存儲器(rom)、電可擦除可編程只讀存儲器(eeprom),快閃記憶體或其他內存技術、只讀光碟只讀存儲器(cd-rom)、數字多功能光碟(dvd)或其他光學存儲、磁盒式磁帶,磁帶磁磁碟存儲或其他磁性存儲設備或任何其他非傳輸介質,可用於存儲可以被計算設備訪問的信息。按照本文中的界定,計算機可讀介質不包括非暫存電腦可讀媒體(transitorymedia),如調製的數據信號和載波。

實施例一、一種擁塞控制方法,如圖1所示,包括步驟s110~s120:

s110、計算第一終端和基站之間的吞吐率;

s120、周期性根據所述吞吐率,確定所述第一終端對應的擁塞窗口的大小。

本實施例中,所述步驟s110中,可以但不限於通過實時採集的第一終端和基站之間進行通信時的物理層參數,計算出所述吞吐率,可以稱為物理層吞吐率;所述物理層參數可以但不限於通過物理層控制幀獲取。所述步驟s120中,所述擁塞窗口的單位可以但不限於是以下任一個:數據包個數、報文段個數、字節數、時間長度等。

現有技術中是根據丟包和收到的ack(確認)消息調整擁塞窗口的大小,相當於根據發送結果進行調整,因此當網絡狀況發生變化時,擁塞窗口的調整存在一定延遲;而本實施例中所述擁塞窗口的大小根據物理層參數確定,能更好地匹配網絡當前的實際情況,而且可以適用於能夠計算出吞吐率的通信系統,比如lte(longtermevolution,長期演進)系統,也可以是cdma(codedivisionmultipleaccess,碼分多址)、wcdma(widebandcodedivisionmultipleaccess,寬帶碼分多址)等系統;相對於現有技術中的被動擁塞控制方案,本實施例能實現主動式的擁塞控制。

一種可供選擇的計算吞吐率的做法是:所述物理層參數包括mcs(modulationandcodingscheme,調製與編碼策略)、rb(resourceblock,資源塊)和tbs(transportblocksize,傳輸塊大小)。計算吞吐率時,根據mcs和rb數查表得到tbs;確定每個子幀的tbs後,根據幀配比和特殊子幀配比累加各個子幀的tbs+crc(如果是雙碼字還要乘以2),從而計算出吞吐率。其它的吞吐率計算方法也可以適用。

本實施例中,所述步驟s110中的「計算」操作可以在收到物理層控制幀時觸發,比如每次收到物理層控制幀後就採集其中攜帶的物理層參數並根據所採集的物理層參數計算一次吞吐率。所述步驟s120中的周期長短可自行設置,比如可以設置為每採集一次物理層參數就確定一次擁塞窗口的大小。

本實施例的一種備選方案中,所述步驟s120可以包括:

周期性計算當前時刻之前第一預定時間長度內的所述吞吐率的算術平均數b,確定擁塞窗口的大小w為α×rttmin×b,其中α為預定常數,rttmin 為當前時刻之前第一預定時間長度內最小的rtt(round-triptime,往返時間)。

本備選方案中,所述算數平均數b可以看成是當前時刻的預測帶寬,單位可以為字節/秒,也可以為比特/秒等;w的單位相應地可以為字節,也可以為比特等。其中,計算b和確定w的周期長度可以為所述第一預定時間長度,也可以大於或小於所述第一預定時間長度。

其它備選方案中,也可以預定吞吐率和擁塞窗口的大小之間的對應關係,根據吞吐率及該對應關係確定擁塞窗口的大小。其它備選方案中,還可以採用最近一次或多次計算出的吞吐率確定擁塞窗口的大小。其它備選方案中,當採用最近多次計算出的吞吐率、或當前時刻之前第一預定時間長度內的多個吞吐率確定擁塞窗口的大小時,除了可以採用這些吞吐率的算數平均值進行計算,還可以採用這些吞吐率中的最小值或其它計算方式得到的數值確定擁塞窗口的大小。

本備選方案的一種實施方式中,所述第一預定時間長度t小於或等於500ms,大於或等於計算所述吞吐率的時間間隔;優選地,t可以但不限於為100ms(毫秒),t越小則採集頻率越高,測量結果更精準,但會較為耗電。1≤α≤100,優選地,α可以但不限於為2,當傳輸延遲較低時還可以加大α。

本實施方式中,t的最小值相當於取決於第一終端底層上報物理層參數的頻率,當第一終端的底層協議棧實體收到物理層控制幀後,會解析出其中的物理層參數並上報;在實時計算中,如果每上報一次物理層參數就進行一次吞吐率的計算,則t的最小值至少為相鄰兩次計算吞吐率的時間點所間隔的時間長度。

本備選方案的一種實施方式中,所述方法還可以包括:

s130、當已發送給所述第一終端但未收到所述第一終端確認的數據量未達到w時,以b作為發送速率將數據發送給所述第一終端;當已發送給所述第一終端但未收到所述第一終端確認的數據量超過w時,暫停發送數據給所述第一終端。

本實施方式中,步驟s130和步驟s110、s120是可以並行的;當第一終端啟動後第一次確定擁塞窗口的大小後即可開始步驟s130。在啟動後第一次確定擁塞窗口的大小之前,也可以採用預定的或第一終端上次啟動時最後一次計算出的吞吐率確定擁塞窗口的大小,以進行步驟s130;還可以使用預定的或第一終端上次啟動時最後採用的擁塞窗口的大小進行步驟s130。

本實施方式中,未收到確認可以但不限於是指未收到ack消息。

可以設置為只有當發生丟包的情況下,才採用本實施方式的方案進行擁塞控制;也可以設置為預定情況採用或任何情況下都採用本實施方式的方案。

本實施方式中,已發送但未收到確認的數據量正好等於w的情況如何處理可以自行設置,比如可以設置為和未達到w時進行同樣的處理,即以b作為發送速率進行數據發送,也可以設置為和超過w時進行同樣的處理,即暫停發送數據;還可以設置為「保持現狀」,比如當已發送但未收到確認的數據量正好等於w時,如果正在以b作為發送速率進行數據發送,則可以繼續發送,如果正在暫停發送,則繼續暫停。

本實施方式中,暫停發送數據後,將會繼續收到對於之前發送的數據的確認,因此已發送但未收到確認的數據量將會減少,當減少到小於w後,將繼續以b作為發送速率進行數據發送。在此期間,w只隨著計算出的吞吐率改變而發生改變,不會在丟包時就立即減半。

其它實施方式中,也可以採用其它方式來利用擁塞窗口進行擁塞控制;比如當已發送但未收到確認的數據量未達到w時,以設定速率或者根據擁塞窗口的大小確定的速率進行數據發送;再比如當已發送但未收到確認的數據量超過w時,按照設定步長減小w。

本實施例的一種備選方案中,所述步驟s110前還可以包括:

所述第一終端啟動未達到第二預定時間長度時,採用tcp慢啟動方式進行擁塞控制。

本備選方案中,採用tcp慢啟動方式進行擁塞控制的情況可以包括所述第一終端向基站發送上行數據時,對所述第一終端進行擁塞控制,也可以 包括基站向所述第一終端發送下行數據時,對所述基站進行擁塞控制。

本備選方案中,由於剛啟動時,網絡上沒有通信流量,b和rttmin無法測量計算,因此採用tcp慢啟動的算法。

本備選方案中,所述第二預定時間長度可以大於或等於所述第一預定時間長度。

其它備選方案中,可以在第一終端啟動未達到第二預定時間長度時採用其它算法進行擁塞控制,也可以利用第一終端上一次啟動時最後確定的擁塞窗口進行擁塞控制,還可以先利用預設的擁塞窗口進行擁塞控制。

本備選方案的一種實施方式中,還可以設置為當不發生丟包時,採用tcpcubic算法進行擁塞控制;發生丟包時才採用上述步驟s110~s130進行擁塞控制;這樣可以結合主、被動擁塞控制的優勢。在其它實施方式中,可以除了啟動未達到第二預定時間長度時以外,都採用上述步驟s110~s130進行擁塞控制。

實施例二、一種擁塞控制系統,如圖2所示,包括:

計算模塊21,用於計算第一終端和基站之間的吞吐率;

網絡預測模塊22,用於周期性根據所述吞吐率,確定所述第一終端對應的擁塞窗口的大小。

本實施例中,所述計算模塊21是所述系統中負責計算吞吐率的部分,可以是軟體、硬體或兩者的結合。

本實施例中,所述網絡預測模塊22是所述系統中負責確定擁塞窗口的大小的部分,可以是軟體、硬體或兩者的結合。

所述計算模塊21可以但不限於設置於所述第一終端。所述網絡預測模塊22可以但不限於設置於所述第一終端。

本實施例的一種備選方案中,所述網絡預測模塊周期性根據所述吞吐率,確定所述第一終端對應的擁塞窗口的大小可以包括:

所述網絡預測模塊周期性計算當前時刻之前第一預定時間長度內的所 述吞吐率的算術平均數b,確定擁塞窗口的大小w為α×rttmin×b;其中α為預定常數,rttmin為當前時刻之前第一預定時間長度內最小的往返時間。

本備選方案的一種實施方式中,所述第一預定時間長度小於或等於500毫秒,大於或等於計算所述吞吐率的時間間隔;1≤α≤100。

優選地,所述第一預定時間長度可以為100毫秒,α可以為2。

本備選方案的一種實施方式中,所述系統還可以包括:

擁塞處理模塊,用於當已發送給所述第一終端但未收到所述第一終端確認的數據量未達到w時,以b作為發送速率將數據發送給所述第一終端;當已發送給所述第一終端但未收到所述第一終端確認的數據量超過w時,暫停發送數據給所述第一終端。

本實施方式中,所述擁塞處理模塊是所述系統中負責進行擁塞控制的部分,可以是軟體、硬體或兩者的結合。

本實施方式中,所述擁塞處理模塊可以但不限於設置於和第一終端交互的應用伺服器上。當擁塞處理模塊設置於應用伺服器,而計算模塊21和網絡預測模塊22設置於所述第一終端時,擁塞處理模塊需要從所述第一終端獲取擁塞窗口的大小等信息。

本實施例的一種備選方案中,所述的系統還可以包括:

被動控制模塊,用於在所述第一終端啟動未達到第二預定時間長度時,採用傳輸控制協議慢啟動方式進行擁塞控制。

其它實現細節可參見實施例一。

下面用一個實施示例說明本實施例,本實施示例的應用場景如圖3所示,其中,所述第一終端和基站之間交互物理層控制幀,通過基站及中間網關和應用伺服器交互上、下行數據。

所述計算模塊和所述網絡預測模塊設置於所述第一終端。所述擁塞處理模塊設置於所述應用伺服器。所述第一終端將預測帶寬b和擁塞窗口的大小w發送到所述應用伺服器。

所述計算模塊用於實時採集終端與基站通信的物理層參數mcs、rb、tbs,計算吞吐率。

所述網絡預測模塊根據實時計算出的吞吐率,計算當前的預測帶寬b和擁塞窗口的大小w:

計算前t時間內的平均吞吐率(算術平均數)作為預測帶寬b,計算前t時間內最小往返時間rttmin,則擁塞窗口的大小w=α×rttmin×b,t取100ms,α取2。

所述擁塞處理模塊根據預測帶寬b和擁塞窗口的大小w進行發送控制。當發生丟包時,若已發送給第一終端但未收到確認的數據量的大小不超過w(單位:字節),則以b(單位:字節/秒)為發送速率向第一終端發送數據;若已發送給第一終端但未收到確認的數據量的大小超過w,則暫停發送數據給第一終端,等待確認。當沒發生丟包時,可以但不限於採用tcpcubic算法控制發送。由於啟動時,網絡上沒有流量,b和rttmin無法測量計算,因此可以採用tcp慢啟動的算法。

本領域普通技術人員可以理解上述方法中的全部或部分步驟可通過程序來指令相關硬體完成,所述程序可以存儲於計算機可讀存儲介質中,如只讀存儲器、磁碟或光碟等。可選地,上述實施例的全部或部分步驟也可以使用一個或多個集成電路來實現。相應地,上述實施例中的各模塊/單元可以採用硬體的形式實現,也可以採用軟體功能模塊的形式實現。本申請不限制於任何特定形式的硬體和軟體的結合。

當然,本申請還可有其他多種實施例,在不背離本申請精神及其實質的情況下,熟悉本領域的技術人員當可根據本申請作出各種相應的改變和變形,但這些相應的改變和變形都應屬於本申請的權利要求的保護範圍。

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀