本發明涉及數據傳輸控制,尤其涉及高時延大帶寬場景數據吞吐控制方法、設備及存儲介質。
背景技術:
1、隨著技術發展,云計算、大數據等向各領域全面持續滲透,算力的需求快速增長,使得數據中心成為經濟發展的重要基礎設施。由于東部地區的電力成本以及土地成本較高,而西部地區具有豐富的土地資源以及綠色能源,如風能、太陽能,因此西部地區適合建設數據中心提供算力資源,東部的數據可以傳輸至西部利用算力資源進行處理,滿足東部的算力需求的同時充分利用西部資源。
2、在東部與西部數據傳輸過程中,由于距離等影響,不可避免的會碰到高延時大帶寬的場景。在高延時大帶寬場景下,數據傳輸具有長往返時間與高帶寬的特點,一個數據包從發送、接收到接收確認的過程中,由于tcp協議的特性,會存在較長的空閑時間,導致網絡的利用率不高。通過調整緩存大小,以調節數據吞吐量,能夠令數據傳輸更加平滑,提高網絡的利用率。
3、然而,在高延時大帶寬的場景下,由于網絡環境復雜多變,經常存在緩存大小設置不合理,緩存過大造成延遲膨脹的問題,或者緩存過小造成未充分利用網絡資源的問題,進而導致實際數據吞吐量遠小于數據吞吐量需求的情況,進而導致數據大量積壓,程序異常。因此,如何準確地控制最佳的數據吞吐量,成為亟需解決的技術問題。
技術實現思路
1、本發明提供高時延大帶寬場景數據吞吐控制方法、設備及存儲介質,用以解決現有技術中緩存大小設置不合理,不能控制最佳數據吞吐的缺陷。
2、本發明提供高時延大帶寬數據吞吐控制方法,包括:
3、獲取緩存上限值以及傳輸參數信息;
4、根據所述緩存上限值,設置測試緩存值;
5、獲取與所述測試緩存值對應的數據吞吐量實際值以及傳輸延遲值;
6、根據所述測試緩存值、所述傳輸參數信息以及所述傳輸延遲值,獲取數據吞吐量上限值,所述數據吞吐量上限值反映在所述測試緩存值以及所述傳輸參數信息的條件下理論最大的數據吞吐量;
7、根據所述數據吞吐量上限值、所述數據吞吐量實際值以及所述傳輸延遲值,調整所述測試緩存值直至獲得最佳緩存值;
8、其中,所述最佳緩存值為在所述數據吞吐量上限值與所述數據吞吐量實際值之差小于第一預設閾值并且所述傳輸延遲值小于第二預設閾值的條件下最大的緩存值。
9、根據本發明提供的高時延大帶寬數據吞吐控制方法,所述根據所述緩存上限值,設置測試緩存值,包括:
10、根據所述緩存上限值,生成測試范圍,所述測試范圍初始的范圍下限值為零并且初始的范圍上限值為所述緩存上限值;
11、從所述測試范圍中選取所述測試緩存值;
12、所述根據所述數據吞吐量上限值、所述數據吞吐量實際值以及所述傳輸延遲值,調整所述測試緩存值直至獲得最佳緩存值,包括:
13、根據所述數據吞吐量上限值、所述數據吞吐量實際值以及所述傳輸延遲值,縮減所述測試范圍并且從所述測試范圍選取新的所述測試緩存值,直至所述測試范圍小于預設范圍閾值,根據所述測試范圍獲取所述最佳緩存值。
14、根據本發明提供的高時延大帶寬數據吞吐控制方法,所述根據所述數據吞吐量上限值、所述數據吞吐量實際值以及所述傳輸延遲值,縮減所述測試范圍并且從所述測試范圍選取新的所述測試緩存值,直至所述測試范圍小于預設范圍閾值,根據所述測試范圍獲取所述最佳緩存值,包括:
15、當所述數據吞吐量上限值與所述數據吞吐量實際值之差小于第一預設閾值并且所述傳輸延遲值小于第二預設閾值時,將當前的測試緩存值作為所述范圍下限值,從所述測試范圍中選取新的所述測試緩存值;
16、當所述數據吞吐量上限值與所述數據吞吐量實際值之差大于等于第一預設閾值或者所述傳輸延遲值大于等于第二預設閾值時,將當前的測試緩存值作為所述范圍上限值,從所述測試范圍中選取新的所述測試緩存值;
17、當從所述測試范圍只能夠選取所述范圍上限值或所述范圍下限值時,所述范圍下限值為最佳緩存值。
18、根據本發明提供的高時延大帶寬數據吞吐控制方法,所述從所述測試范圍中選取新的所述測試緩存值,包括:
19、將的所述范圍上限值與所述范圍下限值的平均值作為新的所述測試緩存值。
20、根據本發明提供的高時延大帶寬數據吞吐控制方法,所述獲取與所述測試緩存值對應的數據吞吐量實際值以及傳輸延遲值,包括:
21、統計發送數據包的數量以及接收數據包的數量,計算單位時間傳輸的數據包數量作為數據吞吐量實際值;
22、獲取套接字信息,將所述套接字信息中的往返時間作為傳輸延遲值。
23、根據本發明提供的高時延大帶寬數據吞吐控制方法,所述根據所述測試緩存值、所述傳輸參數信息以及所述傳輸延遲值,獲取數據吞吐量上限值中,所述數據吞吐量上限值通過以下公式計算:
24、
25、
26、其中,a為接收緩存區大小;b為套接字接收緩存區大小;c為緩存額外開銷值;d為發送緩存區大小;e為傳輸延遲值。
27、根據本發明提供的高時延大帶寬數據吞吐控制方法,在所述獲取緩存上限值以及傳輸參數信息中,所述緩存上限值通過以下步驟獲取:
28、獲取最大延遲時間值以及最大帶寬值,將所述最大延遲時間值與所述最大帶寬值之積作為所述緩存上限值。
29、本發明還提供一種電子設備,包括存儲器、處理器及存儲在存儲器上并可在處理器上運行的計算機程序,所述處理器執行所述程序時實現如上述任一種所述高時延大帶寬數據吞吐控制方法。
30、本發明還提供一種非暫態計算機可讀存儲介質,其上存儲有計算機程序,該計算機程序被處理器執行時實現如上述任一種所述高時延大帶寬數據吞吐控制方法。
31、本發明還提供一種計算機程序產品,包括計算機程序,所述計算機程序被處理器執行時實現如上述任一種所述高時延大帶寬數據吞吐控制方法。
32、本發明提供的高時延大帶寬場景數據吞吐控制方法、設備及存儲介質,至少具有以下有益效果:通過設置測試緩存值,在緩存區大小為測試緩存值的情況下,獲取數據傳輸過程中的數據吞吐量實際值以及傳輸延遲值。根據測試緩存值、傳輸參數信息以及傳輸延遲值,計算在緩存區大小為測試緩存值的情況下,理論上最大的數據吞吐量,即數據吞吐量上限值。通過比較數據吞吐量上限值以及數據吞吐量實際值,根據兩者是否接近能夠獲知是否充分利用網絡資源,同時結合傳輸延遲值,能夠獲知是否發生延遲膨脹的情況,進而調整測試緩存值,直至獲得數據吞吐量上限值與數據吞吐量實際值之差小于第一預設閾值,并且傳輸延遲值小于第二預設閾值的條件下最大的緩存值作為最佳緩存值。以此,通過計算數據吞吐量上限值對比數據吞吐量實際值,同時結合傳輸延遲值,對測試緩存值多次調整進行測試后,最終獲得最佳緩存值,在高延時大帶寬的場景下,達到準確控制最佳數據吞吐量的效果,有利于充分利用網絡資源同時避免延時膨脹,提高數據傳輸的效率和可靠性。
1.高時延大帶寬數據吞吐控制方法,其特征在于,包括:
2.根據權利要求1所述的高時延大帶寬數據吞吐控制方法,其特征在于,所述根據所述緩存上限值,設置測試緩存值,包括:
3.根據權利要求2所述的高時延大帶寬數據吞吐控制方法,其特征在于,所述根據所述數據吞吐量上限值、所述數據吞吐量實際值以及所述傳輸延遲值,縮減所述測試范圍并且從所述測試范圍選取新的所述測試緩存值,直至所述測試范圍小于預設范圍閾值,根據所述測試范圍獲取所述最佳緩存值,包括:
4.根據權利要求3所述的高時延大帶寬數據吞吐控制方法,其特征在于,所述從所述測試范圍中選取新的所述測試緩存值,包括:
5.根據權利要求1所述的高時延大帶寬數據吞吐控制方法,其特征在于,所述獲取與所述測試緩存值對應的數據吞吐量實際值以及傳輸延遲值,包括:
6.根據權利要求1所述的高時延大帶寬數據吞吐控制方法,其特征在于,所述根據所述測試緩存值、所述傳輸參數信息以及所述傳輸延遲值,獲取數據吞吐量上限值中,所述數據吞吐量上限值通過以下公式計算:
7.根據權利要求1所述的高時延大帶寬數據吞吐控制方法,其特征在于,在所述獲取緩存上限值以及傳輸參數信息中,所述緩存上限值通過以下步驟獲取:
8.一種電子設備,包括存儲器、處理器及存儲在所述存儲器上并可在所述處理器上運行的計算機程序,其特征在于,所述處理器執行所述程序時實現如權利要求1至7任一項所述高時延大帶寬數據吞吐控制方法。
9.一種非暫態計算機可讀存儲介質,其上存儲有計算機程序,其特征在于,所述計算機程序被處理器執行時實現如權利要求1至7任一項所述高時延大帶寬數據吞吐控制方法。
10.一種計算機程序產品,包括計算機程序,其特征在于,所述計算機程序被處理器執行時實現如權利要求1至7任一項所述高時延大帶寬數據吞吐控制方法。