System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本申請涉及數據傳輸,特別是涉及一種數據傳輸方法、裝置、電子設備、可讀存儲介質和程序產品。
技術介紹
1、隨著數據傳輸技術的發展,通過對數據進行壓縮處理后再進行傳輸,不僅可以顯著提高傳輸效率,同時也能大大節省cdn(content?delivrey?network,內容分發網絡)的寶貴帶寬資源。
2、傳統技術中,cdn在動態傳輸下的四層(傳輸層,其位于osi(open?systeminterconnect,開放式系統互連)模型中的第四層,主要負責端到端的數據傳輸和通信連接管理)加速方面,尚未支持對上下行數據進行壓縮傳輸。這是由于四層加速是對各家客戶自定義協議內容進行加速,而客戶成千上萬無法逐個定制化解析,如果為了獲取內容大小而解析自定義私有協議將極大拖累整體響應時間。因此,四層加速無法確定數據的邊界和大小,從而無法對數據內容進行壓縮傳輸。
3、然而,這在面對一些大文件傳輸業務場景時,尤其是在業務高峰期,未經壓縮的數據會占用大量寶貴的帶寬資源,同時也會增加響應時間,從而降低整體的傳輸效率。
技術實現思路
1、基于此,有必要針對上述技術問題,提供一種能夠提高傳輸效率的數據傳輸方法、裝置、電子設備、計算機可讀存儲介質和計算機程序產品。
2、第一方面,本申請提供了一種數據傳輸方法,所述方法應用于tcp傳輸層,所述方法包括:
3、通過接收緩存區從網絡接收數據,識別所述接收緩存區接收數據的數據大小;
4、在確定所述數據大小大于設定閾值的
5、向傳輸路徑的下一節點發送所述壓縮數據。
6、在其中一個實施例中,所述方法還包括:在從網絡接收到數據的情況下,將接收的數據存儲到所述接收緩存區的第一地址空間;將所述壓縮數據存儲到所述接收緩存區的第二地址空間;在確定存在內存映射鏈表的情況下,將所述第一地址空間和所述第二地址空間的映射關系寫入所述內存映射鏈表;在確定所述壓縮數據發送成功的情況下,根據所述第一地址空間和所述第二地址空間更新所述接收緩存區的緩存偏移量,以及更新所述內存映射鏈表。
7、在其中一個實施例中,所述方法還包括:在確定不存在內存映射鏈表的情況下,創建所述內存映射鏈表;將所述第一地址空間和所述第二地址空間的映射關系寫入所述內存映射鏈表。
8、在其中一個實施例中,所述方法還包括:基于已發送成功的壓縮數據更新所述接收緩存區的緩存偏移量;在確定所述接收緩存區的緩存空間達到接收空間閾值的情況下,執行通過接收緩存區從網絡接收數據的步驟;在確定所述接收緩存區的緩存空間未達到接收空間閾值的情況下,返回執行基于已發送成功的壓縮數據更新所述接收緩存區的緩存偏移量的步驟。
9、在其中一個實施例中,所述方法還包括:在確定所述數據大小小于或等于設定閾值的情況下,向傳輸路徑的下一節點發送所述接收緩存區接收的數據。
10、在其中一個實施例中,所述對所述接收緩存區接收的數據進行壓縮處理,得到壓縮數據,包括:對所述接收緩存區接收的數據進行壓縮,確定壓縮頭和壓縮尾,生成包括壓縮標識的協議頭,得到壓縮數據。
11、第二方面,本申請提供了一種數據傳輸裝置,所述裝置應用于tcp傳輸層,所述裝置包括:
12、數據接收模塊,用于通過接收緩存區從網絡接收數據,識別所述接收緩存區接收數據的數據大小;
13、數據壓縮模塊,用于在確定所述數據大小大于設定閾值的情況下,對所述接收緩存區接收的數據進行壓縮處理,得到壓縮數據;
14、數據傳輸模塊,用于向傳輸路徑的下一節點發送所述壓縮數據。
15、第三方面,本申請提供了一種電子設備,包括存儲器和處理器,所述存儲器存儲有計算機程序,所述處理器執行所述計算機程序時實現上述的方法的步驟。
16、第四方面,本申請提供了一種計算機可讀存儲介質,其上存儲有計算機程序,所述計算機程序被處理器執行時實現上述的方法的步驟。
17、第五方面,本申請提供了一種計算機程序產品,包括計算機程序,所述計算機程序被處理器執行時實現上述的方法的步驟。
18、上述數據傳輸方法、裝置、電子設備、計算機可讀存儲介質和計算機程序產品,tcp傳輸層通過接收緩存區從網絡接收數據,并識別接收緩存區接收數據的數據大小,在確定數據大小大于設定閾值的情況下,對接收緩存區接收的數據進行壓縮處理,以得到壓縮數據,進而向傳輸路徑的下一節點發送壓縮數據。由于本實施例通過動態讀取接收緩存區當次接收數據的數據大小,并基于接收緩存區當次接收的數據作為一個完整內容塊進行壓縮及傳輸,從而不用解析私有協議獲取內容數據大小,降低了對整體內容大小的依賴,以解決壓縮算法的數據分界分塊問題,實現tcp傳輸層數據的壓縮傳輸,通過設定閾值控制是否壓縮,提高了tcp傳輸層壓縮傳輸的靈活性和效率。
本文檔來自技高網...【技術保護點】
1.一種數據傳輸方法,其特征在于,所述方法應用于TCP傳輸層,所述方法包括:
2.根據權利要求1所述的方法,其特征在于,所述方法還包括:
3.根據權利要求2所述的方法,其特征在于,所述方法還包括:
4.根據權利要求2所述的方法,其特征在于,所述方法還包括:
5.根據權利要求1至4任一項所述的方法,其特征在于,所述方法還包括:
6.根據權利要求1至4任一項所述的方法,其特征在于,所述對所述接收緩存區接收的數據進行壓縮處理,得到壓縮數據,包括:
7.一種數據傳輸裝置,其特征在于,所述裝置應用于TCP傳輸層,所述裝置包括:
8.一種電子設備,包括存儲器和處理器,所述存儲器存儲有計算機程序,其特征在于,所述處理器執行所述計算機程序時實現權利要求1至6中任一項所述的方法的步驟。
9.一種計算機可讀存儲介質,其上存儲有計算機程序,其特征在于,所述計算機程序被處理器執行時實現權利要求1至6中任一項所述的方法的步驟。
10.一種計算機程序產品,包括計算機程序,其特征在于,所述計算機程序被處
...【技術特征摘要】
1.一種數據傳輸方法,其特征在于,所述方法應用于tcp傳輸層,所述方法包括:
2.根據權利要求1所述的方法,其特征在于,所述方法還包括:
3.根據權利要求2所述的方法,其特征在于,所述方法還包括:
4.根據權利要求2所述的方法,其特征在于,所述方法還包括:
5.根據權利要求1至4任一項所述的方法,其特征在于,所述方法還包括:
6.根據權利要求1至4任一項所述的方法,其特征在于,所述對所述接收緩存區接收的數據進行壓縮處理,得到壓縮數據,包括:
7.一...
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。