基于令牌的傳輸控制方法及系統的制作方法
【技術領域】
[0001] 本發明涉及通信技術領域,特別涉及一種基于令牌的傳輸控制方法及系統。
【背景技術】
[0002] 在現代數據中心中,優化流完成時間的需要越來越迫切。舉個例子,相比類似于 Mapreduce那樣的線下并行計算系統,像Storm這樣的流計算系統承載了越來越多的在線 數據處理服務,它們更敏感于平均和拖尾的流完成時間,由于這直接決定了它們的服務質 量。
[0003] 然而,數據中心中如短流突發、高并發性、0N/0FF流量模式等特殊的流量特性往往 造成流完成時間的增加與拖尾。短流突發很容易引起嚴重的擁塞和丟包,導致拖尾的流完 成時間。很多數據中心傳輸協議都不能很好地緩解高并發下的擁塞。這是由于即使每個流 的擁塞窗口都減小了 1個數據包,在高并發流量的情況下擁塞依然會發生。擁塞的發生造 成了由于排隊延遲增加甚至是TCP超時導致的流完成時間增長。而0N/0FF流量模式會導 致流在保持連接的情況下經常間歇性的發送數據,造成帶寬的浪費,使得流發送時間變長, 拖后了流完成時間。
【發明內容】
[0004] 為了提高優化流的效率,縮短流完成時間,本發明提供了一種基于令牌的傳輸控 制方法,所述方法包括:
[0005] 獲取當前分配周期內的總令牌數,并根據接收的數據來獲取當前分配周期內的等 效激活流數,其中,所述總令牌數為可被鏈路傳輸的數據量,所述等效激活流數為各條流完 成全窗口發送的次數之和;
[0006] 根據所述總令牌數和等效激活流數計算第一擁塞窗口大小;
[0007] 將所述第一擁塞窗口大小發送至所述發送端,以使得所述發送端在下一分配周期 內按照所述第一擁塞窗口大小來發送數據。
[0008] 其中,所述根據接收的數據來獲取當前分配周期內的等效激活流數,進一步包 括:
[0009] 獲取所述當前分配周期內令牌管理包的總數,并將所述令牌管理包的數量作為所 述等效激活流數,所述令牌管理包為各數據流每一輪往返時延RTT開始時發送的第一個數 據包。
[0010] 其中,所述令牌管理包中存有第二擁塞窗口大小;
[0011] 所述將所述第一擁塞窗口大小發送至所述發送端,進一步包括:
[0012] 將所述令牌管理包中的第二擁塞窗口大小與第一擁塞窗口大小進行比較,將較小 的值作為所述令牌管理包中的第二擁塞窗口大小,并將所述令牌管理包傳輸至下一跳;
[0013] 接收令牌回復包,并將接收到的令牌回復包發送至所述發送端,所述令牌回復包 由接收端在接收到令牌管理包時所反饋,所述令牌回復包中存有所述令牌管理包中的第二 擁塞窗口大小。
[0014] 其中,所述將接收到的令牌回復包發送至所述發送端,進一步包括:
[0015] 設置一個初值為所述總令牌數的計數器;
[0016] 判斷所述令牌回復包中的第二擁塞窗口大小是否小于數據包長度,若是,則將該 令牌回復包放入延遲隊列,若否,則將該令牌回復包發送至所述發送端,并將所述計數器的 值減去所述第二擁塞窗口大小;
[0017] 判斷所述計數器的值是否大于所述數據包長度,若是,則將所述延遲隊列中的令 牌回復包取出,將取出的令牌回復包中的第二擁塞窗口大小修改為所述數據包長度,將該 令牌回復包發送至所述發送端,并將所述計數器的值減去所述數據包長度。
[0018] 其中,將各數據流的第一輪RTT和第二輪RTT的擁塞窗口大小均設置為0。
[0019] 其中,所述分配周期的長度為分界數據流的往返時延RTT的長度,所述分界數據 流為選擇的一條數據流。
[0020] 其中,所述獲取當前分配周期內的總令牌數,進一步包括:
[0021] 以最小RTT時間來計算總令牌數,并將計算的總令牌數作為所述當前分配周期內 的總令牌數,所述最小RTT時間為所述分界數據流所發送兩個令牌管理包的最短時間間 隔,所述令牌管理包為每一輪往返時延RTT開始時發送的第一個數據包。
[0022] 其中,所述分界數據流為隨機選擇的一條數據流。
[0023] 本發明還公開了一種基于令牌的傳輸控制系統,所述系統包括:
[0024] 數據獲取單元,用于獲取當前分配周期內的總令牌數,并根據接收的數據來獲取 當前分配周期內的等效激活流數,其中,所述總令牌數為可被鏈路傳輸的數據量,所述等效 激活流數為各條流完成全窗口發送的次數之和;
[0025] 窗口計算單元,用于根據所述總令牌數和等效激活流數計算第一擁塞窗口大小;
[0026] 窗口發送單元,用于將所述第一擁塞窗口大小發送至所述發送端,以使得所述發 送端在下一分配周期內按照所述第一擁塞窗口大小來發送數據。
[0027] 本發明通過計算第一擁塞窗口大小,并將第一擁塞窗口大小發送至發送端,以使 得所述發送端在下一分配周期內按照所述第一擁塞窗口大小來發送數據,從而保證了高吞 吐量,避免吞吐量的浪費,并在每個分配周期均可快速獲得第一擁塞窗口大小,實現了快速 響應性,進而能夠快速地完成優化流。
【附圖說明】
[0028] 圖1是本發明一種實施方式的基于令牌的傳輸控制方法的流程圖;
[0029] 圖2是本發明一種實施例的數據流傳輸的示意圖;
[0030] 圖3是本發明一種實施方式的基于令牌的傳輸控制系統的結構框圖。
【具體實施方式】
[0031] 下面結合附圖和實施例,對本發明的【具體實施方式】作進一步詳細描述。以下實施 例用于說明本發明,但不用來限制本發明的范圍。
[0032] 圖1是本發明一種實施方式的基于令牌的傳輸控制方法的流程