一種具有自適應功能的優化數據幀聚合的方法
【技術領域】
[0001] 本發明屬于數據網絡中的數據帖聚合處理,具體設及一種在數據網絡中,采用帖 聚合算法,實現最大化吞吐量和最小化延遲的最優均衡方法。
【背景技術】
[0002] 數據網絡中的帖聚合方法,通過降低協議開銷來提高吞吐量。然而,由于數據帖在 被組裝成一個聚合帖前,必須在緩沖區內等待其他數據帖,然后一同被組裝成一個聚合帖, 其中,數據帖等待其他數據帖的過程中就產生了延遲,組裝好的聚合帖的尺寸也就是一次 數據傳輸的吞吐量。因此吞吐量的提升同時伴隨著延遲的提升。也就是說,吞吐量和延遲在 網絡性能中是對立面。
[0003] 通常,在現代網絡中,網絡流量負載是由許多對網絡性能要求差異很大的不同類 型的應用組合而成的(比如不同的應用,其數據帖大小和數據帖到達緩沖區的時間一般是 不同且隨機的),但是現有的先進先出選擇策略(FIFO)和最小尺寸先出選擇策略(SSFS)并 沒有考慮到運一特性。
[0004] 先進先出選擇策略(FIFO)提供了最簡單的帖選擇策略,因此常被用作基準算法。 其中所有的數據帖都根據到達時間進行聚合,并不會啟用選擇窗口。圖1展示了FIFO中不同 參數之間的相互作用。因為FIFO聚合數據帖是基于數據帖的到達時間,因此平均延遲隨著 平均帖間到達時間的減少而降低。而每一個聚合帖的平均子帖數量會隨著已到達數據帖的 平均大小減小而增多。FIFO希望能聚合更多數據帖到一個聚合帖中,W便于到達目標聚合 帖大小。
[0005] 在最小尺寸先出選擇策略(SSFS)中,所有數據帖都按照它們的大小來聚合,同樣 不啟用選擇窗口。55!^的目標就是實現聚合帖中子帖數量的最大化。然而由于運個算法會 經常試圖去等待一個最小尺寸的帖到達,就導致了很大的延遲。圖2展示了 SSFS中各參數間 的相互作用。當數據帖間平均到達時間降低時,緩沖區內就有了更多可供選擇的小尺寸數 據帖,運樣就能組裝出一個由許多小尺寸數據帖組裝而成的聚合帖,因此聚合帖中平均子 帖數目會增加。平均數據帖大小的降低導致了聚合帖中平均子帖數量的增加,因為它要求 更多的數據帖,W達到聚合分組的目標大小。
[0006] 所W通常情況下,現有技術并不會嘗試去達到吞吐量和延遲之間的最優均衡,而 只能對單一度量進行最優化,運樣并不能同時實現對不同流量類型應用的網絡性能優化。
【發明內容】
[0007] 本發明的發明目的在于:針對上述存在的問題,公開了一種可W動態最佳均衡最 大化吞吐量和最小化延遲之間需求的聚合數據帖的方法,本發明通過反饋環路,能動態地 對因數據帖大小和數據帖達到緩沖區時間的不同產生相應的響應,在最短的時間組裝最大 容量的聚合帖。
[000引本發明的一種具有自適應功能的優化數據帖聚合的方法,包括下列步驟:
[0009] 步驟I:從輸入隊列中選取最靠前的數據帖作為當前聚合帖的第一個子數據帖并 放入輸出隊列中,同時啟動等待計時器,其中輸入隊列用于基于先進先出的方式接收到達 的數據帖;
[0010] 步驟2:判斷第一個子數據帖的大小是否小于第一闊值,若是,則執行步驟3;否則 執行步驟7;
[0011] 步驟3:判斷等待計時器是否小于第二闊值,若是,則執行步驟4;否則執行步驟7;
[0012] 步驟4:判斷當前輸入隊列的數據帖的數目K是否小于選擇窗口的大小N,若是,貝U 執行步驟6;否則,執行步驟5;
[0013] 步驟5:從輸入隊列中選擇當前聚合帖的最優子數據帖:從輸入隊列中查找最小數 據帖,若同時存在兩個及W上的最小數據帖,則選擇輸入隊列中最靠前的最小數據帖作為 最優子數據帖,否則直接將所查找的最小數據帖作為最優子數據帖;
[0014] 將輸出隊列中的所有子數據帖大小與當前最優子數據帖的大小求和并與第一闊 值進行對比,若大于第一闊值,則執行步驟7;若等于第一闊值,則將當前最優子數據帖放入 輸出隊列中,再執行步驟7;若小于第一闊值,則將當前最優子數據帖放入輸出隊列中,并判 斷等待計時器是否小于第二闊值,若是,則執行步驟4;否則執行步驟7;
[0015] 步驟6:檢測是否還有數據帖到達輸入隊列,若是,則基于數據帖的到達情況更新K 的取值,并執行步驟4;否則判斷等待計時器是否小于第二闊值,若小于,則繼續執行步驟6; 若大于或等于,則執行步驟5;
[0016] 步驟7:將當前輸出隊列中的所有子數據帖聚合為當前聚合帖并傳輸,同時記錄當 前聚合帖的子數據帖數量n,當接收到當前聚合帖的傳輸應答帖時,取對應當前聚合帖的等 待計時器的計時值為當前聚合帖的聚合帖延遲t并記錄;
[0017] 步驟8:基于當前聚合帖與上一個聚合帖的子數據帖數量的差An、當前聚合帖與 上一個聚合帖的聚合帖延遲的差A t調整選擇窗口的大小N的取值后,執行步驟1;
[0018] 其中N的初始值為預設值,調整N的取值為:
[0019] 若An大于0,且At大于或等于0,則N的值保持不變;
[0020] 若A n大于0,且A t小于0,貝陽的值加1;
[0021 ] 若A n等于0,且A t小于0,則N的值保持不變;
[0022] 若A n和A t均小于0,則N的值保持不變;
[002引若An小于0,且A t大于或等于0,當N的當前值大于1時,N的值減1;當N的當前值等 于1時,N的值保持為1;
[0024] 若A n和A t均等于0,當N的當前值大于1時,N的值減1;當N的當前值等于1時,N的 值保持為1。
[0025] 由于采用了上述技術方案,本發明的有益效果是:本發明基于動態反饋環路優化 選擇窗口的大小N,使其能更好地聚合到達的數據帖,并允許其對流量的變化做出快速地響 應,優化吞吐量的同時減少了延遲,在實現了吞吐量最大化的同時還保證了延遲最小化。
【附圖說明】
[0026] 圖1是現有的FIFO處理流程圖;
[0027] 圖2是現有的SSFS處理流程圖;
[0028] 圖3是本發明的實現系統結構示意圖;
[0029] 圖4是本發明選擇數據帖進行聚合的示意圖;
[0030] 圖5是本發明的工作流程圖。
【具體實施方式】
[0031] 為使本發明的目的、技術方案和優點更加清楚,下面結合實施方式和附圖,對本發 明作進一步地詳細描述。
[0032] W擁有眾多不同流量類型的無線網絡環境為例,參照圖3,實現本發明的系統包括 =個處理模塊:帖聚合處理模塊,通過可調聚合方法(AAA,也可表示為A 3)從所輸入的數據 帖中選取一個數據帖進行聚合處理,并將最終選取完成的數據帖組裝成一個聚合帖。即從 輸入隊列中的選擇窗口中選取一個數據帖進行聚合(選擇窗口的大小N可調整);聚合帖分 析模塊,即聚合帖分析器(APA),其用于分析聚合帖中子數據帖的數量nW及組裝聚合帖所 產生的延遲t;聚合帖優化模塊,通過聚合調諧方法(ATA),其基于聚合帖分析器(APA)輸出 的分析結果,動態地調整可調聚合方法(A 3)中所設及的選擇窗口的大小,即基于當前聚合 帖與上一個聚合帖的子數據帖數量的差An、當前聚合帖與上一個聚合帖的聚合帖延遲的 差A t調整選擇窗口的大小N的取值。
[0033] 聚合調諧方法(ATA)包括兩個由用戶輸入的參數,第一個是聚合帖的大小闊值Tl, W下簡稱目標大小,第二個是延遲闊值T2, W下簡稱最大可接受延遲。
[0034] 可調聚合方法(A3)從輸入隊列的選擇窗口中選取數據帖作為當前聚合帖的子數 據帖,并將所選擇的所有子數據帖組裝為聚合帖。其設及兩個隊列:用于接收到達的數據帖 的輸入隊列;用于容納被選擇窗口選取的所有子數據帖的輸出隊列。參照圖4,數據帖從輸 入隊列中被選取并移動到輸出隊列中。在圖4的例子中,輸入隊列中有超過7個數據帖,而可 調聚合方法選取了其中的4個數據帖(數據帖7、6、4、1)作為當前聚合帖的子數據帖,并將其 移動到輸出隊列。在完成上述選取工作后,判斷輸出隊列中的各子數據帖總大小是否達到 目標大小,若是,則將輸出隊列中的所有子數據帖聚合為一個聚合帖,并開始傳輸,即實現 對輸出隊列的數據帖輸出。
[0035] 聚合帖分析器(APA)被用來分析聚合帖的子數據帖數量n和聚合帖的聚合帖延遲 t,W確定下一個聚合帖的選擇窗口大小。聚合帖的延遲t包括兩部分:第一個子數據帖從到 達輸入隊列到在輸出隊列中組裝的等待延遲,W及被選取的分組從被組裝為聚合帖到收到 確認字符(ACK)之間的傳輸延遲。
[0036] 聚合帖分析器(APA)分析當前聚合帖與上一個聚合帖,W確定下一個聚合帖的N值 時,本實施方式采用寄存器來存儲數據,每個寄存器有兩個成員,一個是用于記錄子數據帖 數目的計數器,另一個是用于記錄聚合帖延遲的定時器。當被選擇的子數據帖(第一個子數 據帖、最優子數據帖)被移動到輸出緩沖器(用于保存輸出隊列)時,計數器的值增加1。當第 一個子數據帖被移動到輸出緩沖器時,啟動定時器