本發明涉及連續定長數據傳輸,尤其涉及一種連續定長數據傳輸中單邊tcp加速控制方法及裝置。
背景技術:
1、連續定長數據即為在數據傳輸、存儲或處理過程中,數據以固定長度的塊或記錄連續出現,例如衛星地面站終端設備接收的遙感衛星下行數據,即是以連續定長的數據文件進行存儲,再以數據文件為單位傳輸給應用中心或其它地面站,1)數據文件大小500mb-4000mb不等,單次傳輸任務中的各個數據文件大小固定不變,3)每個數據文件的傳輸需重新建立tcp鏈接。
2、為了提高網絡吞吐量和公平性,避免網絡擁塞,同時減少延遲和緩沖區的使用,現有技術中通常是采用bbr(bottleneck?bandwidth?and?round-trip?propagation?time)擁塞控制算法通過測量帶寬和rtt(round-trip?time,往返時延)來控制數據的發送速率。但是,由于連續定長數據的發送過程中每個數據文件的發送都需要建立一個新的tcp鏈接進行傳輸,且實際的網絡環境較為復雜,往往具有較高的速度要求,會導致使用傳統bbr擁塞控制算法控制數據發送時,在啟動狀態過程中容易造成擁塞且bbr測量最小時延minrtt(min?round-trip?time)機制失效,使得數據傳輸效率低下。
技術實現思路
1、本發明要解決的技術問題就在于:針對現有技術存在的技術問題,本發明提供一種實現方法簡單、發生擁塞概率低、傳輸效率高且靈活適應性強的連續定長數據傳輸中單邊tcp加速控制方法及裝置,能夠適用于復雜環境降低鏈路擁塞的概率,同時確保minrtt測量機制的有效性,提升連續定長數據傳輸的效率。
2、為解決上述技術問題,本發明提出的技術方案為:
3、一種連續定長數據傳輸中單邊tcp加速控制方法,用于采用bbr擁塞控制算法控制連續定長數據的發送,該方法的步驟包括:
4、步驟s01.根據當前網絡環境獲取對應的增益因子值;
5、步驟s02.在啟動狀態下實時監控每次發送數據時是否會造成鏈路擁塞;
6、步驟s03.根據實時監控的鏈路擁塞狀態調整當前網絡環境對應的所述增益因子值;
7、步驟s04.在數據發送過程中判斷irtt的大小,如果irtt大于minrtt,根據當前時間點與標記時間點之間的差值以及當前已發送數據包的數量判斷是否觸發minrtt測量,所述minrtt表示指定觀測時間內最小的irtt。
8、進一步地,所述步驟s01包括:
9、預先配置不同的增益因子值以對應具有不同時延、抖動、丟包率、帶寬的網絡環境;
10、根據當前網絡環境的時延、抖動、丟包率以及帶寬獲取對應的增益因子值。
11、進一步地,所述步驟s02包括:
12、在指定的判定期限內監控是否發生丟包或者抖動異常;
13、如果在指定的判定期限內監控到發生丟包或者抖動異常則判定為當前發送造成了鏈路擁塞,否則判定為當前發送未造成鏈路擁塞,所述判定期限為從數據發送方與數據接收方之間的鏈接建立開始直至退出啟動狀態后延續一個rtt結束。
14、進一步地,所述步驟s03包括:
15、如果當前次發送在啟動狀態下造成鏈路擁塞,則控制減小當前增益因子值;
16、如果當前次發送在啟動狀態下未造成鏈路擁塞,則控制增加當前增益因子值。
17、進一步地,所述步驟s04中,如果irtt大于minrtt,通過根據當前minrtt計算測量跨度,如果當前時間點與標記時間點之間的差值超過預設差值閾值且當前發送數據包超過所述測量跨度時,控制觸發minrtt測量。
18、進一步地,所述步驟s04包括:
19、步驟s401.判斷當前irtt的大小,如果irtt大于minrtt,轉入步驟s402,否則對當前發送的數據包進行標記并更新minrtt為當前irtt;
20、步驟s402.根據當前minrtt計算測量跨度;
21、步驟s403.判斷當前時間點與標記時間點之間的差值是否大于預設差值閾值,如果是轉入步驟s404,否則結束當前控制;
22、步驟s404.判斷當前發送包與標記的數據包之間是否超過測量跨度,如果是制觸發minrtt測量,否則結束當前控制。
23、進一步地,所述測量跨度按下式計算得到:
24、λ=a*minrtt+b
25、其中,λ表示測量跨度,a、b表示預設系數。
26、一種連續定長數據傳輸中單邊tcp加速控制裝置,用于采用bbr擁塞控制算法控制連續定長數據的發送,包括:
27、獲取模塊,用于根據當前網絡環境獲取對應的增益因子值;
28、鏈路擁塞判斷模塊,用于在啟動狀態下實時監控每次發送數據時是否會造成鏈路擁塞;
29、增益因子自適應調節模塊,用于根據實時監控的鏈路擁塞狀態調整當前網絡環境對應的所述增益因子值;
30、minrtt測量觸發控制模塊,用于在數據發送過程中判斷irtt的大小,如果irtt大于minrtt,根據當前時間點與標記時間點之間的差值以及當前已發送數據包的數量判斷是否觸發minrtt測量,所述minrtt表示指定觀測時間內最小的irtt。
31、一種電子設備,包括處理器以及存儲器,所述存儲器用于存儲計算機程序,所述處理器用于執行所述計算機程序以執行如上述方法。
32、一種存儲有計算機程序的計算機可讀存儲介質,所述計算機程序被處理器執行時實現如上述方法。
33、與現有技術相比,本發明的優點在于:本發明針對采用bbr擁塞控制算法控制連續定長數據的發送,通過一方面根據實時的網絡環境獲取對應的增益因子值,在啟動狀態下實時監控每次發送數據時是否會造成鏈路擁塞,根據實時監控的鏈路擁塞狀態自適應調整當前網絡環境對應的增益因子值,能夠改善復雜環境下啟動狀態時容易造成擁塞的問題,盡可能的降低各類復雜環境下鏈路擁塞發生的概率,同時通過在數據發送過程中綜合根據當前時間點與標記時間點之間的差值以及當前已發送數據包的數量判斷是否觸發minrtt測量,確保觸發探測minrtt機制的有效性,從而有效提高帶寬利用率,減少鏈路擁塞,提高tcp發送速率。
1.一種連續定長數據傳輸中單邊tcp加速控制方法,用于采用bbr擁塞控制算法控制連續定長數據的發送,其特征在于,該方法的步驟包括:
2.根據權利要求1所述的連續定長數據傳輸中單邊tcp加速控制方法,其特征在于,所述步驟s01包括:
3.根據權利要求1所述的連續定長數據傳輸中單邊tcp加速控制方法,其特征在于,所述步驟s02包括:
4.根據權利要求1所述的連續定長數據傳輸中單邊tcp加速控制方法,其特征在于,所述步驟s03包括:
5.根據權利要求1所述的連續定長數據傳輸中單邊tcp加速控制方法,其特征在于,所述步驟s04中,如果irtt大于minrtt,通過根據當前minrtt計算測量跨度,如果當前時間點與標記時間點之間的差值超過預設差值閾值且當前發送數據包超過所述測量跨度時,控制觸發minrtt測量。
6.根據權利要求1~5中任意一項所述的連續定長數據傳輸中單邊tcp加速控制方法,其特征在于,所述步驟s04包括:
7.根據權利要求6所述的連續定長數據傳輸中單邊tcp加速控制方法,其特征在于,所述測量跨度按下式計算得到:
8.一種連續定長數據傳輸中單邊tcp加速控制裝置,用于采用bbr擁塞控制算法控制連續定長數據的發送,其特征在于,包括:
9.一種電子設備,包括處理器以及存儲器,所述存儲器用于存儲計算機程序,其特征在于,所述處理器用于執行所述計算機程序以執行如權利要求1~7中任意一項所述方法。
10.一種存儲有計算機程序的計算機可讀存儲介質,其特征在于,所述計算機程序被處理器執行時實現如權利要求1~7中任意一項所述的方法。