本發(fā)明涉及網(wǎng)絡(luò)通信,特別是涉及一種多路徑傳輸控制協(xié)議的數(shù)據(jù)傳輸方法、系統(tǒng)、計算機(jī)設(shè)備及存儲介質(zhì)。
背景技術(shù):
1、多路徑傳輸控制協(xié)議(multipath?tcp,mptcp)是傳輸控制協(xié)議tcp的擴(kuò)展,其傳輸層被劃分成實現(xiàn)路徑管理、數(shù)據(jù)包調(diào)度和擁塞控制等功能的mptcp層、以及含若干個tcp子流且每個子流使用標(biāo)準(zhǔn)tcp協(xié)議的tcp層。其中,mptcp層對于應(yīng)用層透明,應(yīng)用層看見的仍然是傳統(tǒng)tcp接口,不需要進(jìn)行任何修改就可以直接使用;mptcp層在多個tcp子流和網(wǎng)絡(luò)路徑上拆分單個傳輸層連接的字節(jié)流并為上層應(yīng)用提供多徑傳輸支持以提高吞吐量、可靠性和負(fù)載平衡能力。
2、無線鏈路通信環(huán)境中,不同無線鏈路的延時、抖動、丟包率等指標(biāo)相差較大,且鏈路狀態(tài)變化頻次高、不確定性因素遠(yuǎn)高于固網(wǎng)鏈路,且mptcp中各子流在數(shù)據(jù)傳輸時也會存在某條子流突然掉線或者衰落的情況。然而,現(xiàn)有mptcp技術(shù)均是采用統(tǒng)一的子流使用規(guī)則進(jìn)行數(shù)據(jù)傳輸,并未考慮基于子流性能差異分配數(shù)據(jù)傳輸任務(wù),難以有效平衡冗余傳輸和帶寬利用率,直接影響實際應(yīng)用中的數(shù)據(jù)傳輸效率和傳輸可靠性。
技術(shù)實現(xiàn)思路
1、本發(fā)明的目的是提供一種多路徑傳輸控制協(xié)議的數(shù)據(jù)傳輸方法,其不僅能通過監(jiān)測子流傳輸性能動態(tài)調(diào)整常規(guī)數(shù)據(jù)和冗余數(shù)據(jù)的傳輸子流,有效平衡冗余傳輸效率和帶寬利用率,而且能基于空口實時情況動態(tài)調(diào)節(jié)子流傳輸數(shù)據(jù)冗余度,進(jìn)而有效提升數(shù)據(jù)的傳輸效率和傳輸可靠性。
2、為了實現(xiàn)上述目的,有必要針對上述技術(shù)問題,提供一種多路徑傳輸控制協(xié)議的數(shù)據(jù)傳輸方法、系統(tǒng)、計算機(jī)設(shè)備及存儲介質(zhì)。
3、第一方面,本發(fā)明實施例提供了一種多路徑傳輸控制協(xié)議的數(shù)據(jù)傳輸方法,所述方法包括以下步驟:
4、根據(jù)預(yù)設(shè)監(jiān)測周期,獲取各個tcp子流的傳輸時延和可用傳輸帶寬;
5、根據(jù)各個tcp子流的傳輸時延和可用傳輸帶寬,計算對應(yīng)的子流性能價值;
6、根據(jù)所述子流性能價值,將所有子流劃分為冗余子流集合和非冗余子流集合;
7、響應(yīng)于目標(biāo)通信數(shù)據(jù)的傳輸請求,根據(jù)預(yù)設(shè)規(guī)則分別從所述非冗余子流集合和所述冗余子流集合中選取對應(yīng)的非冗余數(shù)據(jù)傳輸子流和冗余數(shù)據(jù)傳輸子流;
8、通過所述非冗余數(shù)據(jù)傳輸子流和所述冗余數(shù)據(jù)傳輸子流,分別傳輸所述目標(biāo)通信數(shù)據(jù)中的常規(guī)數(shù)據(jù)和冗余數(shù)據(jù)。
9、進(jìn)一步地,所述子流性能價值表示為:
10、
11、其中,xi和ri分別表示第i條tcp子流的可用傳輸帶寬和傳輸時延;vi表示第i條tcp子流的子流性能價值。
12、進(jìn)一步地,所述根據(jù)所述子流性能價值,將所有子流劃分為冗余子流集合和非冗余子流集合的步驟包括:
13、將所有tcp子流的子流性能價值進(jìn)行降序排列,得到對應(yīng)的子流性能價值序列;
14、獲取所述子流性能價值序列中最大值對應(yīng)的tcp子流作為第一條非冗余子流,并將所述第一條非冗余子流加入所述非冗余子流集合;
15、按照所述子流性能價值序列對應(yīng)的tcp子流排序依次進(jìn)行非冗余子流篩選,并根據(jù)對應(yīng)的子流篩選結(jié)果,更新所述非冗余子流集合和所述冗余子流集合。
16、進(jìn)一步地,所述按照所述子流性能價值序列對應(yīng)的tcp子流排序依次進(jìn)行非冗余子流篩選的步驟包括:
17、根據(jù)所述子流性能價值序列中排序,依次獲取對應(yīng)的待篩選tcp子流;
18、根據(jù)預(yù)設(shè)目標(biāo)函數(shù),計算所述非冗余子流集合對應(yīng)的當(dāng)前集合子流性能,并計算將所述待篩選tcp子流加入所述非冗余子流集合后的更新集合子流性能;所述預(yù)設(shè)目標(biāo)函數(shù)表示為:
19、
20、式中,
21、
22、其中,j(n)表示非冗余子流集合n的集合子流性能;xj、rj和ωj分別表示非冗余子流集合n中第j條tcp子流的可用傳輸帶寬、傳輸時延和對應(yīng)的傳輸時延權(quán)重;
23、根據(jù)所述更新集合子流性能與所述當(dāng)前集合子流性能的大小關(guān)系,判定所述待篩選tcp子流是否作為非冗余子流。
24、進(jìn)一步地,所述根據(jù)所述更新集合子流性能與所述當(dāng)前集合子流性能的大小關(guān)系,判定所述待篩選tcp子流是否作為非冗余子流的步驟包括:
25、當(dāng)所述更新集合子流性能大于所述當(dāng)前集合子流性能時,判斷所述待篩選tcp子流的周期內(nèi)發(fā)包數(shù)目是否大于預(yù)設(shè)數(shù)據(jù)包閾值,若是,則將所述待篩選tcp子流作為非冗余子流,反之,則將所述待篩選tcp子流作為冗余子流;
26、當(dāng)所述更新集合子流性能小于或等于所述當(dāng)前集合子流性能時,將所述待篩選tcp子流作為冗余子流。
27、進(jìn)一步地,所述方法還包括:
28、在所述預(yù)設(shè)監(jiān)測周期內(nèi),根據(jù)預(yù)設(shè)丟包統(tǒng)計頻率,統(tǒng)計所述冗余子流集合內(nèi)各條冗余子流的丟包率,并根據(jù)所述丟包率和預(yù)設(shè)子流冗余比例調(diào)整模型,對各條冗余子流的傳輸冗余數(shù)據(jù)比例進(jìn)行動態(tài)調(diào)整。
29、進(jìn)一步地,所述預(yù)設(shè)子流冗余比例調(diào)整模型表示為:
30、rk∈m=r0+(lrk∈m-lrth)*γ
31、其中,rk∈m和lrk∈m分別表示冗余子流集合m中的第k個冗余子流的傳輸冗余數(shù)據(jù)比例和丟包率;r0表示冗余子流基礎(chǔ)冗余比例;lrth表示正常子流丟包率閾值;γ表示冗余比例調(diào)整因子。
32、第二方面,本發(fā)明實施例提供了一種多路徑傳輸控制協(xié)議的數(shù)據(jù)傳輸系統(tǒng),所述系統(tǒng)包括:
33、子流性能監(jiān)測模塊,用于根據(jù)預(yù)設(shè)監(jiān)測周期,獲取各個tcp子流的傳輸時延和可用傳輸帶寬;
34、性能價值評估模塊,用于根據(jù)各個tcp子流的傳輸時延和可用傳輸帶寬,計算對應(yīng)的子流性能價值;
35、子流集合劃分模塊,用于根據(jù)所述子流性能價值,將所有子流劃分為冗余子流集合和非冗余子流集合;
36、子流選取模塊,用于響應(yīng)于目標(biāo)通信數(shù)據(jù)的傳輸請求,根據(jù)預(yù)設(shè)規(guī)則分別從所述非冗余子流集合和所述冗余子流集合中選取對應(yīng)的非冗余數(shù)據(jù)傳輸子流和冗余數(shù)據(jù)傳輸子流;
37、數(shù)據(jù)傳輸模塊,用于通過所述非冗余數(shù)據(jù)傳輸子流和所述冗余數(shù)據(jù)傳輸子流,分別傳輸所述目標(biāo)通信數(shù)據(jù)中的常規(guī)數(shù)據(jù)和冗余數(shù)據(jù)。
38、第三方面,本發(fā)明實施例還提供了一種計算機(jī)設(shè)備,包括存儲器、處理器及存儲在存儲器上并可在處理器上運(yùn)行的計算機(jī)程序,所述處理器執(zhí)行所述計算機(jī)程序時實現(xiàn)上述方法的步驟。
39、第四方面,本發(fā)明實施例還提供一種計算機(jī)可讀存儲介質(zhì),其上存儲有計算機(jī)程序,所述計算機(jī)程序被處理器執(zhí)行時實現(xiàn)上述方法的步驟。
40、上述本技術(shù)提供了一種多路徑傳輸控制協(xié)議的數(shù)據(jù)傳輸方法、系統(tǒng)、計算機(jī)設(shè)備和存儲介質(zhì),通過所述方法實現(xiàn)了根據(jù)預(yù)設(shè)監(jiān)測周期,獲取各個tcp子流的傳輸時延和可用傳輸帶寬,并根據(jù)各個tcp子流的傳輸時延和可用傳輸帶寬,計算對應(yīng)的子流性能價值后,根據(jù)所述子流性能價值,將所有子流劃分為冗余子流集合和非冗余子流集合,以及響應(yīng)于目標(biāo)通信數(shù)據(jù)的傳輸請求,根據(jù)預(yù)設(shè)規(guī)則分別從所述非冗余子流集合和所述冗余子流集合中選取對應(yīng)的非冗余數(shù)據(jù)傳輸子流和冗余數(shù)據(jù)傳輸子流,并通過所述非冗余數(shù)據(jù)傳輸子流和所述冗余數(shù)據(jù)傳輸子流,分別傳輸所述目標(biāo)通信數(shù)據(jù)中的常規(guī)數(shù)據(jù)和冗余數(shù)據(jù)的技術(shù)方案。與現(xiàn)有技術(shù)相比,該多路徑傳輸控制協(xié)議的數(shù)據(jù)傳輸方法,不僅能通過監(jiān)測子流傳輸性能將各子流動態(tài)劃分為冗余數(shù)據(jù)傳輸子流和非冗余數(shù)據(jù)傳輸子流,并使用非冗余數(shù)據(jù)傳輸子流始終發(fā)送新數(shù)據(jù)包以獲得帶寬聚合性能,以及冗余數(shù)據(jù)傳輸子流發(fā)送冗余數(shù)據(jù)包來提高傳輸魯棒性的方式,有效平衡冗余傳輸效率和帶寬利用率,而且能基于空口實時情況動態(tài)調(diào)節(jié)子流傳輸數(shù)據(jù)冗余度,進(jìn)而有效提升數(shù)據(jù)的傳輸效率和傳輸可靠性。