本申請實施例涉及數據傳輸,尤其涉及基于分片組包的數據發(fā)送方法、裝置、設備及存儲介質。
背景技術:
1、在實時音視頻通信中,通常以數據包為單位進行信息傳遞,而一次傳送多大的數據包成為數據高效傳輸的核心問題之一。若數據包大小設置得過小,在傳輸相同的數據量時,設備需要處理更多的數據報文,導致數據傳輸效率降低,若包大小設置得過大,在一個數據報文中的有效數據更多,傳輸效率也更高但是數據報文丟失重傳的代價也更大,需要重傳整個數據報文,反而降低數據傳輸效率。
2、目前的數據傳輸方案中通常會對需要發(fā)送的數據進行分片組包,以數據分片的方式傳輸數據,以提高數據發(fā)送效率。分片組包方案通常包括在網絡層(ip層)進行分片組包和應用層進行分片組包兩種。在網絡層進行分片組包時,應用層不需要考慮傳輸鏈路中的最大傳輸單元(mtu)大小,而是直接將數據包交給網絡層進行分片組包。在應用層進行分片組包時,應用層將超過最大傳輸單元大小的數據包進行分片組包再發(fā)送不需要在網絡層進行分片組包。但是目前在整個實時音視頻通信過程中都是基于設定的分片組包方式進行數據傳輸,對待發(fā)送數據的分片組包方式較為固定,數據傳輸效率較低。
技術實現思路
1、本申請實施例提供基于分片組包的數據發(fā)送方法、裝置、設備及存儲介質,以解決相關技術中基于設定的分片組包方式進行數據傳輸,數據傳輸效率較低的技術問題,可有效提高數據傳輸效率。
2、在第一方面,本申請實施例提供了一種基于分片組包的數據發(fā)送方法,包括:
3、確定數據傳輸鏈路的最大傳輸單元大小、鏈路丟包率以及未進行分片組包的待傳輸數據的預估數據包大??;
4、在所述預估數據包大小大于所述最大傳輸單元大小,并且所述鏈路丟包率為預設值的情況下,確定目標分片組包方式為網絡層分片組包;
5、在所述預估數據包大小大于所述最大傳輸單元大小,并且所述鏈路丟包率不為預設值的情況下,確定對所述待傳輸數據進行網絡層分片組包的第一傳輸效率,以及對所述待傳輸數據進行應用層分片組包的第二傳輸效率,并根據所述第一傳輸效率和所述第二傳輸效率,從網絡層分片組包和應用層分片組包中確定目標分片組包方式;
6、基于所述目標分片組包方式將所述待傳輸數據分片組包為多個數據分片并發(fā)送。
7、在第二方面,本申請實施例提供了一種基于分片組包的數據發(fā)送裝置,包括數據確定模塊、第一決策模塊、第二決策模塊和數據發(fā)送模塊,其中:
8、所述數據確定模塊,配置為確定數據傳輸鏈路的最大傳輸單元大小、鏈路丟包率以及未進行分片組包的待傳輸數據的預估數據包大小;
9、所述第一決策模塊,配置為在所述預估數據包大小大于所述最大傳輸單元大小,并且所述鏈路丟包率為預設值的情況下,確定目標分片組包方式為網絡層分片組包;
10、所述第二決策模塊,配置為在所述預估數據包大小大于所述最大傳輸單元大小,并且所述鏈路丟包率不為預設值的情況下,確定對所述待傳輸數據進行網絡層分片組包的第一傳輸效率,以及對所述待傳輸數據進行應用層分片組包的第二傳輸效率,并根據所述第一傳輸效率和所述第二傳輸效率,從網絡層分片組包和應用層分片組包中確定目標分片組包方式;
11、所述數據發(fā)送模塊,配置為基于所述目標分片組包方式將所述待傳輸數據分片組包為多個數據分片并發(fā)送。
12、在第三方面,本申請實施例提供了一種基于分片組包的數據發(fā)送設備,包括:存儲器以及一個或多個處理器;
13、所述存儲器,用于存儲一個或多個程序;
14、當所述一個或多個程序被所述一個或多個處理器執(zhí)行,使得所述一個或多個處理器實現如第一方面所述的基于分片組包的數據發(fā)送方法。
15、在第四方面,本申請實施例提供了一種存儲計算機可執(zhí)行指令的非易失性存儲介質,所述計算機可執(zhí)行指令在由計算機處理器執(zhí)行時用于執(zhí)行如第一方面所述的基于分片組包的數據發(fā)送方法。
16、在第五方面,本申請實施例提供了一種計算機程序產品,該計算機程序產品包括計算機程序,該計算機程序存儲在計算機可讀存儲介質中,設備的至少一個處理器從計算機可讀存儲介質讀取并執(zhí)行計算機程序,使得設備執(zhí)行如第一方面所述的基于分片組包的數據發(fā)送方法。
17、本申請實施例通過確定數據傳輸鏈路的最大傳輸單元大小、鏈路丟包率以及未進行分片組包的待傳輸數據的預估數據包大小,在預估數據包大小大于最大傳輸單元大小并且鏈路丟包率不為預設值時,根據基于網絡層分片組包的第一傳輸效率以及基于應用層分片組包的第二傳輸效率,從網絡層分片組包和應用層分片組包中確定目標分片組包方式,基于目標分片組包方式將待傳輸數據分片組包為多個數據分片并發(fā)送,可根據當前網絡情況下的鏈路丟包率以及需要傳輸的數據大小,準確確定傳輸效率更高的分片組包方式對待傳輸數據進行分片組包及發(fā)送,對數據的分片組包方式更靈活,有效提高數據傳輸效率。
1.一種基于分片組包的數據發(fā)送方法,其特征在于,包括:
2.根據權利要求1所述的基于分片組包的數據發(fā)送方法,其特征在于,在所述確定數據傳輸鏈路的最大傳輸單元大小、鏈路丟包率以及未進行分片組包的待傳輸數據的預估數據包大小之后,還包括:
3.根據權利要求1所述的基于分片組包的數據發(fā)送方法,其特征在于,確定未進行分片組包的待傳輸數據的預估數據包大小,包括:
4.根據權利要求1所述的基于分片組包的數據發(fā)送方法,其特征在于,所述確定對所述待傳輸數據進行網絡層分片組包的第一傳輸效率,以及對所述待傳輸數據進行應用層分片組包的第二傳輸效率,包括:
5.根據權利要求4所述的基于分片組包的數據發(fā)送方法,其特征在于,根據所述最大傳輸單元大小、所述鏈路丟包率、發(fā)送所述待傳輸數據對應的應用層包頭大小、用戶數據報協(xié)議包頭大小以及互聯(lián)網協(xié)議包頭大小,確定對所述待傳輸數據進行網絡層分片組包的第一傳輸效率,包括:
6.根據權利要求5所述的基于分片組包的數據發(fā)送方法,其特征在于,所述第一傳輸效率基于以下第一傳輸效率確定公式進行確定:
7.根據權利要求4所述的基于分片組包的數據發(fā)送方法,其特征在于,根據所述最大傳輸單元大小、所述鏈路丟包率、發(fā)送所述待傳輸數據對應的應用層包頭大小、用戶數據報協(xié)議包頭大小以及互聯(lián)網協(xié)議包頭大小,確定對所述待傳輸數據進行應用層分片組包的第二傳輸效率,包括:
8.根據權利要求7所述的基于分片組包的數據發(fā)送方法,其特征在于,所述預估重傳次數基于以下預估重傳次數確定公式進行確定:
9.根據權利要求7所述的基于分片組包的數據發(fā)送方法,其特征在于,所述第二傳輸效率基于以下第二傳輸效率確定公式進行確定:
10.一種基于分片組包的數據發(fā)送裝置,其特征在于,包括數據確定模塊、分片決策模塊和數據發(fā)送模塊,其中:
11.一種基于分片組包的數據發(fā)送設備,其特征在于,包括:存儲器以及一個或多個處理器;
12.一種存儲計算機可執(zhí)行指令的非易失性存儲介質,其特征在于,所述計算機可執(zhí)行指令在由計算機處理器執(zhí)行時用于執(zhí)行如權利要求1-9任一項所述的基于分片組包的數據發(fā)送方法。
13.一種計算機程序產品,包括計算機程序,其特征在于,所述計算機程序被處理器執(zhí)行時實現權利要求1-9任一項所述的基于分片組包的數據發(fā)送方法。