本發(fā)明涉及通信領(lǐng)域,特別涉及一種數(shù)據(jù)傳輸方法、系統(tǒng)和電子設(shè)備。
背景技術(shù):
在數(shù)據(jù)傳輸技術(shù)進(jìn)行數(shù)據(jù)傳輸?shù)倪^程中,為了保證qos(qualityofservice,服務(wù)質(zhì)量),一般采用vpn(virtualprivatenetwork,虛擬專用網(wǎng)絡(luò))的形式實現(xiàn)數(shù)據(jù)傳輸。
但是現(xiàn)有的vpn技術(shù)一般只為傳輸?shù)碾p方建立一個單一的數(shù)據(jù)通道,使得在采用vpn的形式實現(xiàn)數(shù)據(jù)傳輸時,若該數(shù)據(jù)通道上的某個或某些節(jié)點出現(xiàn)擁塞,會產(chǎn)生數(shù)據(jù)傳輸延時提高和丟包率增加等現(xiàn)象,進(jìn)而會降低數(shù)據(jù)傳輸?shù)乃俾省⒎€(wěn)定性以及可靠性。
技術(shù)實現(xiàn)要素:
為了提高數(shù)據(jù)傳輸?shù)乃俾?、?shù)據(jù)傳輸?shù)姆€(wěn)定性以及數(shù)據(jù)傳輸?shù)目煽啃裕景l(fā)明實施例提供了一種數(shù)據(jù)傳輸方法、系統(tǒng)和電子設(shè)備。所述技術(shù)方案如下:
第一方面,提供了一種數(shù)據(jù)傳輸方法,所述方法包括:
數(shù)據(jù)發(fā)送方根據(jù)所述數(shù)據(jù)發(fā)送方和數(shù)據(jù)接收方的信息,確定所述數(shù)據(jù)發(fā)送方和所述數(shù)據(jù)接收方之間的所有傳輸路徑;
所述數(shù)據(jù)發(fā)送方從所述所有傳輸路徑中獲取滿足預(yù)設(shè)條件的多個傳輸路徑;
所述數(shù)據(jù)發(fā)送方通過所述多個傳輸路徑,向所述數(shù)據(jù)接收方發(fā)送數(shù)據(jù);
所述數(shù)據(jù)接收方接收來自任意一個滿足預(yù)設(shè)條件的傳輸路徑的數(shù)據(jù);
所述數(shù)據(jù)接收方判斷所述數(shù)據(jù)是否為首次接收;以及
所述數(shù)據(jù)接收方若判定所述數(shù)據(jù)為首次接收,則忽略或丟棄來自其他傳輸路徑的所述數(shù)據(jù)。
結(jié)合第一方面,在第一種可能的實現(xiàn)方式中,所述數(shù)據(jù)發(fā)送方根據(jù)所述數(shù)據(jù)發(fā)送方和數(shù)據(jù)接收方的信息,確定所述數(shù)據(jù)發(fā)送方和所述數(shù)據(jù)接收方之間的所有傳輸路徑包括:
所述數(shù)據(jù)發(fā)送方根據(jù)實時檢測到的所述數(shù)據(jù)發(fā)送方和所述數(shù)據(jù)接收方之間的所有可用預(yù)設(shè)節(jié)點,確定所述所有傳輸路徑。
結(jié)合第一方面的第一種可能的實現(xiàn)方式,在第二種可能的實現(xiàn)方式中,所述數(shù)據(jù)發(fā)送方從所述所有傳輸路徑中獲取滿足預(yù)設(shè)條件的多個傳輸路徑包括:
所述數(shù)據(jù)發(fā)送方獲取所述所有傳輸路徑的網(wǎng)絡(luò)參數(shù);以及
所述數(shù)據(jù)發(fā)送方從所述所有傳輸路徑中,選擇所述網(wǎng)絡(luò)參數(shù)小于或者等于預(yù)設(shè)值的多個傳輸路徑;
其中,所述網(wǎng)絡(luò)參數(shù)包括鏈路的丟包率、往返時延rtt以及jitter抖動的至少一種。
結(jié)合第一方面,在第三種可能的實現(xiàn)方式中,
所述數(shù)據(jù)發(fā)送方設(shè)置所述數(shù)據(jù)的標(biāo)識信息,所述標(biāo)識信息與所述數(shù)據(jù)對應(yīng),用于區(qū)分所述數(shù)據(jù)與其他數(shù)據(jù);以及
所述數(shù)據(jù)發(fā)送方通過所述多個傳輸路徑,向所述數(shù)據(jù)接收方發(fā)送所述數(shù)據(jù)和所述標(biāo)識信息。
結(jié)合第一方面的第三種可能的實現(xiàn)方式,在第四種可能的實現(xiàn)方式中,所述數(shù)據(jù)接收方判斷所述數(shù)據(jù)是否為首次接收包括:
所述數(shù)據(jù)接收方根據(jù)所述標(biāo)識信息,判斷所述數(shù)據(jù)是否為首次接收。
第二方面,提供了一種電子設(shè)備,所述電子設(shè)備包括:
第一處理模塊,用于根據(jù)數(shù)據(jù)接收方的信息,確定與所述數(shù)據(jù)接收方之間的所有傳輸路徑;
第二處理模塊,用于從所述所有傳輸路徑中獲取滿足預(yù)設(shè)條件的多個傳輸路徑;
發(fā)送模塊,用于通過所述多個傳輸路徑,向所述數(shù)據(jù)接收方發(fā)送數(shù)據(jù)。
結(jié)合第二方面,在第一種可能的實現(xiàn)方式中,所述第一處理模塊用于:
根據(jù)實時檢測到與所述數(shù)據(jù)接收方之間的所有可用預(yù)設(shè)節(jié)點,確定所述所有傳輸路徑。
結(jié)合第二方面的第一種可能的實現(xiàn)方式,在第二種可能的實現(xiàn)方式中,所述第二處理模塊用于:
獲取所述所有傳輸路徑的網(wǎng)絡(luò)參數(shù);以及
從所述所有傳輸路徑中,選擇所述網(wǎng)絡(luò)參數(shù)小于或者等于預(yù)設(shè)值的多個傳輸路徑;
其中,所述網(wǎng)絡(luò)參數(shù)包括鏈路的丟包率、往返時延rtt以及jitter抖動的至少一種。
結(jié)合第二方面,在第三種可能的實現(xiàn)方式中,
所述電子設(shè)備還包括設(shè)置模塊,用于設(shè)置所述數(shù)據(jù)的標(biāo)識信息,所述標(biāo)識信息與所述數(shù)據(jù)對應(yīng),用于區(qū)分所述數(shù)據(jù)與其他數(shù)據(jù);以及
所述發(fā)送模塊還用于通過所述多個傳輸路徑,向所述數(shù)據(jù)接收方發(fā)送所述數(shù)據(jù)和所述標(biāo)識信息。
第三方面,提供了一種電子設(shè)備,所述電子設(shè)備包括存儲器以及與所述存儲器連接的處理器,其中,所述存儲器用于存儲一組程序代碼,所述處理器調(diào)用所述存儲器所存儲的程序代碼用于執(zhí)行以下操作:
根據(jù)數(shù)據(jù)接收方的信息,確定與所述數(shù)據(jù)接收方之間的所有傳輸路徑;
從所述所有傳輸路徑中獲取滿足預(yù)設(shè)條件的多個傳輸路徑;
通過所述多個傳輸路徑,向所述數(shù)據(jù)接收方發(fā)送數(shù)據(jù)。
結(jié)合第三方面,在第一種可能的實現(xiàn)方式中,所述處理器調(diào)用所述存儲器所存儲的程序代碼用于執(zhí)行以下操作:
根據(jù)實時檢測到與所述數(shù)據(jù)接收方之間的所有可用預(yù)設(shè)節(jié)點,確定所述所有傳輸路徑。
結(jié)合第三方面的第一種可能的實現(xiàn)方式,在第二種可能的實現(xiàn)方式中,所述處理器調(diào)用所述存儲器所存儲的程序代碼用于執(zhí)行以下操作:
獲取所述所有傳輸路徑的網(wǎng)絡(luò)參數(shù);以及
從所述所有傳輸路徑中,選擇所述網(wǎng)絡(luò)參數(shù)小于或者等于預(yù)設(shè)值的多個傳輸路徑;
其中,所述網(wǎng)絡(luò)參數(shù)包括鏈路的丟包率、往返時延rtt以及jitter抖動的至少一種。
結(jié)合第三方面,在第三種可能的實現(xiàn)方式中,所述處理器調(diào)用所述存儲器所存儲的程序代碼還用于執(zhí)行以下操作
設(shè)置所述數(shù)據(jù)的標(biāo)識信息,所述標(biāo)識信息與所述數(shù)據(jù)對應(yīng),用于區(qū)分所述數(shù)據(jù)與其他數(shù)據(jù);以及
通過所述多個傳輸路徑,向所述數(shù)據(jù)接收方發(fā)送所述數(shù)據(jù)和所述標(biāo)識信息。
第四方面,提供了一種數(shù)據(jù)傳輸系統(tǒng),所述數(shù)據(jù)傳輸系統(tǒng)包括數(shù)據(jù)發(fā)送裝置和數(shù)據(jù)接收裝置,其中:
所述數(shù)據(jù)發(fā)送裝置包括:
第一處理模塊,用于根據(jù)所述數(shù)據(jù)發(fā)送裝置和數(shù)據(jù)接收裝置的信息,確定所述數(shù)據(jù)發(fā)送裝置和所述數(shù)據(jù)接收裝置之間的所有傳輸路徑;
第二處理模塊,用于從所述所有傳輸路徑中獲取滿足預(yù)設(shè)條件的多個傳輸路徑;
發(fā)送模塊,用于通過所述多個傳輸路徑,向所述數(shù)據(jù)接收裝置發(fā)送數(shù)據(jù);
所述數(shù)據(jù)接收裝置包括:
接收模塊,用于接收來自任意一個滿足預(yù)設(shè)條件的傳輸路徑的數(shù)據(jù);
判斷模塊,用于判斷所述數(shù)據(jù)是否為首次接收;以及
數(shù)據(jù)處理模塊,用于在判定所述數(shù)據(jù)為首次接收時,忽略或丟棄來自其他 傳輸路徑發(fā)送的所述數(shù)據(jù)。
結(jié)合第四方面,在第一種可能的實現(xiàn)方式中,所述第一處理模塊用于:
所述數(shù)據(jù)發(fā)送方根據(jù)實時檢測到的所述數(shù)據(jù)發(fā)送方和所述數(shù)據(jù)接收方之間的所有可用預(yù)設(shè)節(jié)點,確定所述所有傳輸路徑。
結(jié)合第四方面的第一種可能的實現(xiàn)方式,在第二種可能的實現(xiàn)方式中,所述第二處理模塊具體用于:
所述數(shù)據(jù)發(fā)送方獲取所述所有傳輸路徑的網(wǎng)絡(luò)參數(shù);以及
所述數(shù)據(jù)發(fā)送方從所述所有傳輸路徑中,選擇所述網(wǎng)絡(luò)參數(shù)小于或者等于預(yù)設(shè)值的多個傳輸路徑;
其中,所述網(wǎng)絡(luò)參數(shù)包括鏈路的丟包率、往返時延rtt以及jitter抖動的至少一種。
結(jié)合第四方面,在第三種可能的實現(xiàn)方式中,
所述數(shù)據(jù)發(fā)送裝置還包括設(shè)置模塊,用于設(shè)置所述數(shù)據(jù)的標(biāo)識信息,所述標(biāo)識信息與所述數(shù)據(jù)對應(yīng),所述標(biāo)識信息與所述數(shù)據(jù)對應(yīng),用于區(qū)分所述數(shù)據(jù)與其他數(shù)據(jù);以及
所述發(fā)送模塊還用于通過所述多個傳輸路徑,向所述數(shù)據(jù)接收裝置發(fā)送所述數(shù)據(jù)和所述標(biāo)識信息。
結(jié)合第四方面的第三種可能的實現(xiàn)方式,在第四種可能的實現(xiàn)方式中,
根據(jù)所述標(biāo)識信息,判斷所述數(shù)據(jù)是否為首次接收。
本發(fā)明實施例提供了一種數(shù)據(jù)傳輸方法、系統(tǒng)和電子設(shè)備,包括:數(shù)據(jù)發(fā)送方根據(jù)數(shù)據(jù)發(fā)送方和數(shù)據(jù)接收方的信息,確定數(shù)據(jù)發(fā)送方和數(shù)據(jù)接收方之間的所有傳輸路徑;數(shù)據(jù)發(fā)送方從所有傳輸路徑中獲取滿足預(yù)設(shè)條件的多個傳輸路徑;數(shù)據(jù)發(fā)送方通過多個傳輸路徑,向數(shù)據(jù)接收方發(fā)送數(shù)據(jù);數(shù)據(jù)接收方接收來自任意一個滿足預(yù)設(shè)條件的傳輸路徑的數(shù)據(jù);數(shù)據(jù)接收方判斷數(shù)據(jù)是否為首次接收;數(shù)據(jù)接收方若判定數(shù)據(jù)為首次接收,則忽略或丟棄來自其他傳輸路徑的數(shù)據(jù)。通過從所有傳輸路徑中獲取滿足預(yù)設(shè)條件的多個傳輸路徑,使得在 數(shù)據(jù)傳輸之前,通過該多個傳輸路徑實現(xiàn)數(shù)據(jù)傳輸,相比于現(xiàn)有技術(shù)通過建立一個單一的數(shù)據(jù)通道實現(xiàn)數(shù)據(jù)的傳輸,避免了由于數(shù)據(jù)通道上的某個或某些節(jié)點出現(xiàn)擁塞時所產(chǎn)生的數(shù)據(jù)傳輸延時提高和丟包率增加等現(xiàn)象,提高了數(shù)據(jù)傳輸?shù)乃俾省?shù)據(jù)傳輸?shù)姆€(wěn)定性以及數(shù)據(jù)傳輸?shù)目煽啃?。另外,通過若再次接收到其他可用預(yù)設(shè)節(jié)點發(fā)送的數(shù)據(jù),則忽略其他可用預(yù)設(shè)節(jié)點發(fā)送的數(shù)據(jù),避免了數(shù)據(jù)的重復(fù)處理,提高了數(shù)據(jù)傳輸?shù)男?,降低了設(shè)備的數(shù)據(jù)處理負(fù)擔(dān),節(jié)省了處理資源。
附圖說明
為了更清楚地說明本發(fā)明實施例中的技術(shù)方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1是本發(fā)明實施例提供的一種數(shù)據(jù)傳輸方法流程圖;
圖2是本發(fā)明實施例提供的一種數(shù)據(jù)傳輸方法流程圖;
圖3是本發(fā)明實施例提供的一種電子設(shè)備結(jié)構(gòu)示意圖;
圖4是本發(fā)明實施例提供的一種電子設(shè)備結(jié)構(gòu)示意圖;
圖5是本發(fā)明實施例提供的一種數(shù)據(jù)傳輸系統(tǒng)示意圖。
具體實施方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護(hù)的范圍。
本發(fā)明實施例提供了一種數(shù)據(jù)傳輸方法,該方法用于通過vpn(virtual privatenetwork,虛擬專用網(wǎng)絡(luò))技術(shù)實現(xiàn)的遠(yuǎn)程數(shù)據(jù)傳輸?shù)?,在該遠(yuǎn)程數(shù)據(jù)傳輸過程中,需要通過預(yù)設(shè)的中間節(jié)點實現(xiàn)數(shù)據(jù)的中轉(zhuǎn),其中,通過vpn技術(shù)實現(xiàn)的數(shù)據(jù)傳輸包括:控制指令的傳輸、配置參數(shù)的傳輸以及日志的傳輸?shù)?;本發(fā)明實施例所述的方法還可以用于傳輸其他數(shù)據(jù)的場景,本發(fā)明實施例對具體的應(yīng)用場景不加以限定。
值得注意的是,在數(shù)據(jù)傳輸之前,該數(shù)據(jù)發(fā)送方和數(shù)據(jù)接收方通過各自的控制單元建立tcp(transmissioncontrolprotocol,傳輸控制協(xié)議)連接,其中,建立tcp連接的方式可以為數(shù)據(jù)發(fā)送方和數(shù)據(jù)接收方通過各自的控制單元連接至同一個tcp服務(wù)器,還可以為數(shù)據(jù)發(fā)送方和數(shù)據(jù)接收方通過各自的控制單元連接至同一個包括多個tcp服務(wù)器的服務(wù)器群,除此之外,本發(fā)明實施例對具體的連接方式不加以限定;其中,該控制單元可以為虛擬網(wǎng)卡。
實施例一為本發(fā)明實施例提供的一種數(shù)據(jù)傳輸方法,參照圖1所示,該方法包括:
101、數(shù)據(jù)發(fā)送方根據(jù)數(shù)據(jù)發(fā)送方和數(shù)據(jù)接收方的信息,確定數(shù)據(jù)發(fā)送方和數(shù)據(jù)接收方之間的所有傳輸路徑。
具體的,數(shù)據(jù)發(fā)送方根據(jù)實時檢測到的數(shù)據(jù)發(fā)送方和數(shù)據(jù)接收方之間的所有可用預(yù)設(shè)節(jié)點,確定所有傳輸路徑。
102、數(shù)據(jù)發(fā)送方從所有傳輸路徑中獲取滿足預(yù)設(shè)條件的多個傳輸路徑。
具體的,數(shù)據(jù)發(fā)送方獲取所有傳輸路徑的網(wǎng)絡(luò)參數(shù);以及
數(shù)據(jù)發(fā)送方從所有傳輸路徑中,選擇網(wǎng)絡(luò)參數(shù)小于或者等于預(yù)設(shè)值的多個傳輸路徑;
其中,網(wǎng)絡(luò)參數(shù)包括鏈路的丟包率、往返時延rtt以及jitter抖動的至少一種。
103、數(shù)據(jù)發(fā)送方通過多個傳輸路徑,向數(shù)據(jù)接收方發(fā)送數(shù)據(jù)。
具體的,數(shù)據(jù)發(fā)送方設(shè)置數(shù)據(jù)的標(biāo)識信息,標(biāo)識信息與數(shù)據(jù)對應(yīng),用于區(qū)分?jǐn)?shù)據(jù)與其他數(shù)據(jù);以及
數(shù)據(jù)發(fā)送方通過多個傳輸路徑,向數(shù)據(jù)接收方發(fā)送數(shù)據(jù)和標(biāo)識信息。
104、數(shù)據(jù)接收方接收來自任意一個滿足預(yù)設(shè)條件的傳輸路徑的數(shù)據(jù)。
105、數(shù)據(jù)接收方判斷數(shù)據(jù)是否為首次接收。
具體的,數(shù)據(jù)接收方根據(jù)標(biāo)識信息,判斷數(shù)據(jù)是否為首次接收。
106、數(shù)據(jù)接收方若判定數(shù)據(jù)為首次接收,則忽略或丟棄來自其他傳輸路徑的數(shù)據(jù)。
本發(fā)明實施例提供了一種數(shù)據(jù)傳輸方法,通過從所有傳輸路徑中獲取滿足預(yù)設(shè)條件的多個傳輸路徑,使得在數(shù)據(jù)傳輸之前,通過該多個傳輸路徑實現(xiàn)數(shù)據(jù)傳輸,相比于現(xiàn)有技術(shù)通過建立一個單一的數(shù)據(jù)通道實現(xiàn)數(shù)據(jù)的傳輸,避免了由于數(shù)據(jù)通道上的某個或某些節(jié)點出現(xiàn)擁塞時所產(chǎn)生的數(shù)據(jù)傳輸延時提高和丟包率增加等現(xiàn)象,提高了數(shù)據(jù)傳輸?shù)乃俾省?shù)據(jù)傳輸?shù)姆€(wěn)定性以及數(shù)據(jù)傳輸?shù)目煽啃?。另外,通過若再次接收到其他可用預(yù)設(shè)節(jié)點發(fā)送的數(shù)據(jù),則忽略其他可用預(yù)設(shè)節(jié)點發(fā)送的數(shù)據(jù),避免了數(shù)據(jù)的重復(fù)處理,提高了數(shù)據(jù)傳輸?shù)男剩档土嗽O(shè)備的數(shù)據(jù)處理負(fù)擔(dān),節(jié)省了處理資源。
實施例二為本發(fā)明實施例提供的一種數(shù)據(jù)傳輸方法,參照圖2所示,該方法包括:
201、數(shù)據(jù)發(fā)送方根據(jù)數(shù)據(jù)發(fā)送方和數(shù)據(jù)接收方的信息,確定數(shù)據(jù)發(fā)送方和數(shù)據(jù)接收方之間的所有傳輸路徑。
具體的,數(shù)據(jù)發(fā)送方根據(jù)實時檢測到的數(shù)據(jù)發(fā)送方和數(shù)據(jù)接收方之間的所有可用預(yù)設(shè)節(jié)點,確定所有傳輸路徑,該數(shù)據(jù)發(fā)送方和數(shù)據(jù)接收方的信息可以為數(shù)據(jù)發(fā)送方的ip地址、數(shù)據(jù)接收方的ip地址或者數(shù)據(jù)接收方的路由信息,該過程可以為:
由于數(shù)據(jù)是以數(shù)據(jù)包為單元進(jìn)行傳輸?shù)?,在傳輸每一個數(shù)據(jù)包之前,檢測數(shù)據(jù)發(fā)送方和數(shù)據(jù)接收方之間的所有可用預(yù)設(shè)節(jié)點,以實現(xiàn)實時檢測數(shù)據(jù)發(fā)送方和數(shù)據(jù)接收方之間的所有可用預(yù)設(shè)節(jié)點。
該獲取所有可用預(yù)設(shè)節(jié)點的過程可以為:
根據(jù)數(shù)據(jù)發(fā)送方和數(shù)據(jù)接收方的信息確定數(shù)據(jù)發(fā)送方和數(shù)據(jù)接收方之間的所有預(yù)設(shè)節(jié)點;
向該所有預(yù)設(shè)節(jié)點分別發(fā)送測試數(shù)據(jù),根據(jù)該測試數(shù)據(jù)監(jiān)測數(shù)據(jù)發(fā)送方與各個預(yù)設(shè)節(jié)點之間的鏈路的丟包率(packetlossrate)和傳輸時延;
從該所有預(yù)設(shè)節(jié)點中獲取滿足以下條件中多個的預(yù)設(shè)節(jié)點為可用預(yù)設(shè)節(jié)點:
傳輸時延小于或者等于第一預(yù)設(shè)閾值;或者,
丟包率小于或者等于第二預(yù)設(shè)閾值。
示例性的,假設(shè)在發(fā)送某數(shù)據(jù)包之前,檢測到數(shù)據(jù)發(fā)送方和數(shù)據(jù)接收方之間的所有可用預(yù)設(shè)節(jié)點為f1和f2;
在發(fā)送該數(shù)據(jù)包的下一個數(shù)據(jù)包之前,檢測到數(shù)據(jù)發(fā)送方和數(shù)據(jù)接收方之間的所有可用預(yù)設(shè)節(jié)點改變?yōu)閒1、f2和f3。
根據(jù)實時檢測到的數(shù)據(jù)發(fā)送方和數(shù)據(jù)接收方之間的所有可用預(yù)設(shè)節(jié)點,確定所有傳輸路徑。
具體的,根據(jù)該實時監(jiān)測的所有可用預(yù)設(shè)節(jié)點的信息以及數(shù)據(jù)發(fā)送方和數(shù)據(jù)接收方的信息,確定數(shù)據(jù)發(fā)送方和數(shù)據(jù)接收方之間的傳輸路徑。
該預(yù)設(shè)節(jié)點的信息可以為預(yù)設(shè)節(jié)點的ip地址或者該預(yù)設(shè)節(jié)點的路由信息。
示例性的,假設(shè)數(shù)據(jù)發(fā)送方為p1,數(shù)據(jù)接收方為p2,在發(fā)送某數(shù)據(jù)包之前,檢測到數(shù)據(jù)發(fā)送方和數(shù)據(jù)接收方之間的所有可用預(yù)設(shè)節(jié)點為f1和f2,則該數(shù)據(jù)發(fā)送方和數(shù)據(jù)接收方之間的所有傳輸路徑可以為:p1-f1-f2-p2、p1-f1-p2和p1-f2-p2。
通過實時檢測數(shù)據(jù)發(fā)送方和數(shù)據(jù)接收方之間的所有可用預(yù)設(shè)節(jié)點,實現(xiàn)了可用預(yù)設(shè)節(jié)點的動態(tài)更新,使得在數(shù)據(jù)發(fā)送方和數(shù)據(jù)接收方之間出現(xiàn)新的可用預(yù)設(shè)節(jié)點時,能夠及時的通過該新的節(jié)點實現(xiàn)數(shù)據(jù)的傳輸,從而提高了數(shù)據(jù)傳輸?shù)乃俾?、?shù)據(jù)傳輸?shù)姆€(wěn)定性以及數(shù)據(jù)傳輸?shù)目煽啃浴?/p>
202、數(shù)據(jù)發(fā)送方獲取所有傳輸路徑的網(wǎng)絡(luò)參數(shù)。
其中,網(wǎng)絡(luò)參數(shù)包括鏈路的丟包率、往返時延rtt以及jitter抖動的至少一種。
該過程可以是通過向該所有傳輸路徑發(fā)送測試數(shù)據(jù)獲取的,還可以是通過其他方式獲取的,本發(fā)明實施例對具體的獲取方式不加以限定。
203、數(shù)據(jù)發(fā)送方從所有傳輸路徑中,選擇網(wǎng)絡(luò)參數(shù)小于或者等于預(yù)設(shè)值的多個傳輸路徑。
具體的,通過執(zhí)行以下操作中的至少一個,判斷網(wǎng)絡(luò)參數(shù)小于或者等于預(yù)設(shè)值:
丟包率小于或者等于第一預(yù)設(shè)值;或者,
rtt小于或者等于第二預(yù)設(shè)值;或者,
抖動小于或者等于第三預(yù)設(shè)值。
在實際應(yīng)用中,網(wǎng)絡(luò)參數(shù)是否小于或者等于預(yù)設(shè)值的判斷可以是通過上述操作中的任意一個,也可以綜合上述操作中的任意兩個或者三個實現(xiàn)該判斷過程,以進(jìn)一步提高網(wǎng)絡(luò)參數(shù)是否小于或者等于預(yù)設(shè)值的判斷過程中的準(zhǔn)確性。
值得注意的是,步驟202至步驟203是實現(xiàn)數(shù)據(jù)發(fā)送方從所有傳輸路徑中獲取滿足預(yù)設(shè)條件的多個傳輸路徑所述的過程,除了所述步驟所述的方式之外,還可以通過其他方式實現(xiàn)該過程,本發(fā)明實施例對具體的方式不加以限定。
由于傳輸路徑的網(wǎng)絡(luò)參數(shù)描述傳輸路徑的狀態(tài),所以從所有傳輸路徑中獲取滿足預(yù)設(shè)條件的多個傳輸路徑,保證了該多個傳輸路徑的狀態(tài)滿足數(shù)據(jù)傳輸?shù)囊?,提高了?shù)據(jù)傳輸?shù)乃俾?、?shù)據(jù)傳輸?shù)姆€(wěn)定性以及數(shù)據(jù)傳輸?shù)目煽啃浴?/p>
204、數(shù)據(jù)發(fā)送方設(shè)置數(shù)據(jù)的標(biāo)識信息,標(biāo)識信息與數(shù)據(jù)對應(yīng),用于區(qū)分?jǐn)?shù)據(jù)與其他數(shù)據(jù)。
設(shè)置與該數(shù)據(jù)的每一個數(shù)據(jù)包的標(biāo)識信息,該標(biāo)識信息與數(shù)據(jù)的每一個數(shù)據(jù)包對應(yīng),該標(biāo)識信息用于唯一指示數(shù)據(jù)包。
通過設(shè)置數(shù)據(jù)的標(biāo)識信息,避免了在數(shù)據(jù)接收過程中,對數(shù)據(jù)的重復(fù)處理,提高了數(shù)據(jù)傳輸?shù)男?,降低了設(shè)備的數(shù)據(jù)處理負(fù)擔(dān),節(jié)省了處理資源。
205、數(shù)據(jù)發(fā)送方通過多個傳輸路徑,向數(shù)據(jù)接收方發(fā)送數(shù)據(jù)和標(biāo)識信息。
將包含該數(shù)據(jù)和標(biāo)識信息的數(shù)據(jù)包分別發(fā)送至該多個傳輸路徑,以使該多個傳輸路徑將該數(shù)據(jù)的數(shù)據(jù)包發(fā)送至數(shù)據(jù)接收方。
示例性的,所述將包含該數(shù)據(jù)和標(biāo)識信息的數(shù)據(jù)包分別發(fā)送至該多個傳輸路徑包括:將包含該數(shù)據(jù)和標(biāo)識信息的數(shù)據(jù)包以及對應(yīng)的傳輸路徑的路由信息分別發(fā)送至該多個傳輸路徑。
值得注意的是,步驟204至步驟205是實現(xiàn)數(shù)據(jù)發(fā)送方通過多個傳輸路徑,向數(shù)據(jù)接收方發(fā)送數(shù)據(jù)所述的過程,除了所述步驟所述的方式之外,還可以通過其他方式實現(xiàn)該過程,本發(fā)明實施例對具體的方式不加以限定。
206、數(shù)據(jù)接收方接收來自任意一個滿足預(yù)設(shè)條件的傳輸路徑的數(shù)據(jù)。
具體的,數(shù)據(jù)接收方接收來自任意一個滿足預(yù)設(shè)條件的傳輸路徑的數(shù)據(jù)和標(biāo)識信息。
207、數(shù)據(jù)接收方判斷數(shù)據(jù)是否為首次接收。
具體的,數(shù)據(jù)接收方根據(jù)標(biāo)識信息,判斷數(shù)據(jù)是否為首次接收,該過程可以為,
判斷該標(biāo)識信息與之前接收的標(biāo)識信息是否相同,若相同,則判定數(shù)據(jù)不是首次接收,若不同,則判定數(shù)據(jù)為首次接收。
本發(fā)明實施例對具體的判斷方式不加以限定。
208、數(shù)據(jù)接收方若判定數(shù)據(jù)為首次接收,則忽略或丟棄來自其他傳輸路徑的數(shù)據(jù)。
具體的,刪除該其他滿足預(yù)設(shè)條件的傳輸路徑發(fā)送的數(shù)據(jù)。
本發(fā)明實施例提供了一種數(shù)據(jù)傳輸方法,通過從所有傳輸路徑中獲取滿足預(yù)設(shè)條件的多個傳輸路徑,使得在數(shù)據(jù)傳輸之前,通過該多個傳輸路徑實現(xiàn)數(shù)據(jù)傳輸,相比于現(xiàn)有技術(shù)通過建立一個單一的數(shù)據(jù)通道實現(xiàn)數(shù)據(jù)的傳輸,避免了由于數(shù)據(jù)通道上的某個或某些節(jié)點出現(xiàn)擁塞時所產(chǎn)生的數(shù)據(jù)傳輸延時提高和丟包率增加等現(xiàn)象,提高了數(shù)據(jù)傳輸?shù)乃俾?、?shù)據(jù)傳輸?shù)姆€(wěn)定性以及數(shù)據(jù)傳輸 的可靠性。另外,通過若再次接收到其他可用預(yù)設(shè)節(jié)點發(fā)送的數(shù)據(jù),則忽略其他可用預(yù)設(shè)節(jié)點發(fā)送的數(shù)據(jù),避免了數(shù)據(jù)的重復(fù)處理,提高了數(shù)據(jù)傳輸?shù)男剩档土嗽O(shè)備的數(shù)據(jù)處理負(fù)擔(dān),節(jié)省了處理資源。另外,通過實時檢測數(shù)據(jù)發(fā)送方和數(shù)據(jù)接收方之間的所有可用預(yù)設(shè)節(jié)點,實現(xiàn)了可用預(yù)設(shè)節(jié)點的動態(tài)更新,使得在數(shù)據(jù)發(fā)送方和數(shù)據(jù)接收方之間出現(xiàn)新的可用預(yù)設(shè)節(jié)點時,能夠及時的通過該新的節(jié)點實現(xiàn)數(shù)據(jù)的傳輸,從而提高了數(shù)據(jù)傳輸?shù)乃俾?、?shù)據(jù)傳輸?shù)姆€(wěn)定性以及數(shù)據(jù)傳輸?shù)目煽啃?。另外,由于傳輸路徑的網(wǎng)絡(luò)參數(shù)描述傳輸路徑的狀態(tài),所以從所有傳輸路徑中獲取滿足預(yù)設(shè)條件的多個傳輸路徑,保證了該多個傳輸路徑的狀態(tài)滿足數(shù)據(jù)傳輸?shù)囊?,提高了?shù)據(jù)傳輸?shù)乃俾?、?shù)據(jù)傳輸?shù)姆€(wěn)定性以及數(shù)據(jù)傳輸?shù)目煽啃?。另外,通過設(shè)置數(shù)據(jù)的標(biāo)識信息,避免了在數(shù)據(jù)接收過程中,對數(shù)據(jù)的重復(fù)處理,提高了數(shù)據(jù)傳輸?shù)男?,降低了設(shè)備的數(shù)據(jù)處理負(fù)擔(dān),節(jié)省了處理資源。
實施例三為本發(fā)明實施例提供的一種電子設(shè)備,參照圖3所示,該電子設(shè)備包括:
第一處理模塊31,用于根據(jù)數(shù)據(jù)接收方的信息,確定與數(shù)據(jù)接收方之間的所有傳輸路徑;
第二處理模塊32,用于從所有傳輸路徑中獲取滿足預(yù)設(shè)條件的多個傳輸路徑;
發(fā)送模塊33,用于通過多個傳輸路徑,向數(shù)據(jù)接收方發(fā)送數(shù)據(jù)。
可選的,第一處理模塊31用于:
根據(jù)實時檢測到與數(shù)據(jù)接收方之間的所有可用預(yù)設(shè)節(jié)點,確定所有傳輸路徑。
可選的,第二處理模塊32用于:
獲取所有傳輸路徑的網(wǎng)絡(luò)參數(shù);以及
從所有傳輸路徑中,選擇網(wǎng)絡(luò)參數(shù)小于或者等于預(yù)設(shè)值的多個傳輸路徑;
其中,網(wǎng)絡(luò)參數(shù)包括鏈路的丟包率、往返時延rtt以及jitter抖動的至少 一種。
可選的,
電子設(shè)備還包括設(shè)置模塊34,用于設(shè)置數(shù)據(jù)的標(biāo)識信息,標(biāo)識信息與數(shù)據(jù)對應(yīng),用于區(qū)分?jǐn)?shù)據(jù)與其他數(shù)據(jù);以及
發(fā)送模塊33還用于通過多個傳輸路徑,向數(shù)據(jù)接收方發(fā)送數(shù)據(jù)和標(biāo)識信息。
本發(fā)明實施例提供了一種電子設(shè)備,該電子設(shè)備通過從所有傳輸路徑中獲取滿足預(yù)設(shè)條件的多個傳輸路徑,使得在數(shù)據(jù)傳輸之前,通過該多個傳輸路徑實現(xiàn)數(shù)據(jù)傳輸,相比于現(xiàn)有技術(shù)通過建立一個單一的數(shù)據(jù)通道實現(xiàn)數(shù)據(jù)的傳輸,避免了由于數(shù)據(jù)通道上的某個或某些節(jié)點出現(xiàn)擁塞時所產(chǎn)生的數(shù)據(jù)傳輸延時提高和丟包率增加等現(xiàn)象,提高了數(shù)據(jù)傳輸?shù)乃俾?、?shù)據(jù)傳輸?shù)姆€(wěn)定性以及數(shù)據(jù)傳輸?shù)目煽啃?。另外,通過若再次接收到其他可用預(yù)設(shè)節(jié)點發(fā)送的數(shù)據(jù),則忽略其他可用預(yù)設(shè)節(jié)點發(fā)送的數(shù)據(jù),避免了數(shù)據(jù)的重復(fù)處理,提高了數(shù)據(jù)傳輸?shù)男剩档土嗽O(shè)備的數(shù)據(jù)處理負(fù)擔(dān),節(jié)省了處理資源。
實施例四為本發(fā)明實施例提供的一種電子設(shè)備,參照圖4所示,該電子設(shè)備包括存儲器41以及與存儲器41連接的處理器42,其中,存儲器41用于存儲一組程序代碼,處理器42調(diào)用存儲器41所存儲的程序代碼用于執(zhí)行以下操作:
根據(jù)數(shù)據(jù)接收方的信息,確定與數(shù)據(jù)接收方之間的所有傳輸路徑;
從所有傳輸路徑中獲取滿足預(yù)設(shè)條件的多個傳輸路徑;
通過多個傳輸路徑,向數(shù)據(jù)接收方發(fā)送數(shù)據(jù)。
可選的,處理器42調(diào)用存儲器41所存儲的程序代碼用于執(zhí)行以下操作:
根據(jù)實時檢測到與數(shù)據(jù)接收方之間的所有可用預(yù)設(shè)節(jié)點,確定所有傳輸路徑。
可選的,處理器42調(diào)用存儲器41所存儲的程序代碼用于執(zhí)行以下操作:
獲取所有傳輸路徑的網(wǎng)絡(luò)參數(shù);以及
從所有傳輸路徑中,選擇網(wǎng)絡(luò)參數(shù)小于或者等于預(yù)設(shè)值的多個傳輸路徑;
其中,網(wǎng)絡(luò)參數(shù)包括鏈路的丟包率、往返時延rtt以及jitter抖動的至少 一種。
可選的,處理器42調(diào)用存儲器41所存儲的程序代碼還用于執(zhí)行以下操作
設(shè)置數(shù)據(jù)的標(biāo)識信息,標(biāo)識信息與數(shù)據(jù)對應(yīng),用于區(qū)分?jǐn)?shù)據(jù)與其他數(shù)據(jù);以及
通過多個傳輸路徑,向數(shù)據(jù)接收方發(fā)送數(shù)據(jù)和標(biāo)識信息。
本發(fā)明實施例提供了一種電子設(shè)備,該電子設(shè)備通過從所有傳輸路徑中獲取滿足預(yù)設(shè)條件的多個傳輸路徑,使得在數(shù)據(jù)傳輸之前,通過該多個傳輸路徑實現(xiàn)數(shù)據(jù)傳輸,相比于現(xiàn)有技術(shù)通過建立一個單一的數(shù)據(jù)通道實現(xiàn)數(shù)據(jù)的傳輸,避免了由于數(shù)據(jù)通道上的某個或某些節(jié)點出現(xiàn)擁塞時所產(chǎn)生的數(shù)據(jù)傳輸延時提高和丟包率增加等現(xiàn)象,提高了數(shù)據(jù)傳輸?shù)乃俾省?shù)據(jù)傳輸?shù)姆€(wěn)定性以及數(shù)據(jù)傳輸?shù)目煽啃?。另外,通過若再次接收到其他可用預(yù)設(shè)節(jié)點發(fā)送的數(shù)據(jù),則忽略其他可用預(yù)設(shè)節(jié)點發(fā)送的數(shù)據(jù),避免了數(shù)據(jù)的重復(fù)處理,提高了數(shù)據(jù)傳輸?shù)男?,降低了設(shè)備的數(shù)據(jù)處理負(fù)擔(dān),節(jié)省了處理資源。
實施例五為本發(fā)明實施例提供的一種數(shù)據(jù)傳輸系統(tǒng),參照圖5所示,該系統(tǒng)包括數(shù)據(jù)發(fā)送裝置51和數(shù)據(jù)接收裝置52,其中:
數(shù)據(jù)發(fā)送裝置51包括:
第一處理模塊511,用于根據(jù)數(shù)據(jù)發(fā)送裝置和數(shù)據(jù)接收裝置的信息,確定數(shù)據(jù)發(fā)送裝置和數(shù)據(jù)接收裝置之間的所有傳輸路徑;
第二處理模塊512,用于從所有傳輸路徑中獲取滿足預(yù)設(shè)條件的多個傳輸路徑;
發(fā)送模塊513,用于通過多個傳輸路徑,向數(shù)據(jù)接收裝置發(fā)送數(shù)據(jù);
數(shù)據(jù)接收裝置52包括:
接收模塊521,用于接收來自任意一個滿足預(yù)設(shè)條件的傳輸路徑的數(shù)據(jù);
判斷模塊522,用于判斷數(shù)據(jù)是否為首次接收;以及
數(shù)據(jù)處理模塊523,用于在判定數(shù)據(jù)為首次接收時,忽略或丟棄來自其他傳輸路徑發(fā)送的數(shù)據(jù)。
可選的,第一處理模塊511用于:
數(shù)據(jù)發(fā)送方根據(jù)實時檢測到的數(shù)據(jù)發(fā)送方和數(shù)據(jù)接收方之間的所有可用預(yù)設(shè)節(jié)點,確定所有傳輸路徑。
可選的,第二處理模塊512具體用于:
數(shù)據(jù)發(fā)送方獲取所有傳輸路徑的網(wǎng)絡(luò)參數(shù);以及
數(shù)據(jù)發(fā)送方從所有傳輸路徑中,選擇網(wǎng)絡(luò)參數(shù)小于或者等于預(yù)設(shè)值的多個傳輸路徑;
其中,網(wǎng)絡(luò)參數(shù)包括鏈路的丟包率、往返時延rtt以及jitter抖動的至少一種。
可選的,
數(shù)據(jù)發(fā)送裝置51還包括設(shè)置模塊514,用于設(shè)置數(shù)據(jù)的標(biāo)識信息,標(biāo)識信息與數(shù)據(jù)對應(yīng),標(biāo)識信息與數(shù)據(jù)對應(yīng),用于區(qū)分?jǐn)?shù)據(jù)與其他數(shù)據(jù);以及
發(fā)送模塊513還用于通過多個傳輸路徑,向數(shù)據(jù)接收裝置發(fā)送數(shù)據(jù)和標(biāo)識信息。
可選的,判斷模塊522具體用于:
根據(jù)標(biāo)識信息,判斷數(shù)據(jù)是否為首次接收。
本發(fā)明實施例提供了一種數(shù)據(jù)傳輸系統(tǒng),該系統(tǒng)通過從所有傳輸路徑中獲取滿足預(yù)設(shè)條件的多個傳輸路徑,使得在數(shù)據(jù)傳輸之前,通過該多個傳輸路徑實現(xiàn)數(shù)據(jù)傳輸,相比于現(xiàn)有技術(shù)通過建立一個單一的數(shù)據(jù)通道實現(xiàn)數(shù)據(jù)的傳輸,避免了由于數(shù)據(jù)通道上的某個或某些節(jié)點出現(xiàn)擁塞時所產(chǎn)生的數(shù)據(jù)傳輸延時提高和丟包率增加等現(xiàn)象,提高了數(shù)據(jù)傳輸?shù)乃俾省?shù)據(jù)傳輸?shù)姆€(wěn)定性以及數(shù)據(jù)傳輸?shù)目煽啃?。另外,通過若再次接收到其他可用預(yù)設(shè)節(jié)點發(fā)送的數(shù)據(jù),則忽略其他可用預(yù)設(shè)節(jié)點發(fā)送的數(shù)據(jù),避免了數(shù)據(jù)的重復(fù)處理,提高了數(shù)據(jù)傳輸?shù)男剩档土嗽O(shè)備的數(shù)據(jù)處理負(fù)擔(dān),節(jié)省了處理資源。
上述所有可選技術(shù)方案,可以采用任意結(jié)合形成本發(fā)明的可選實施例,在此不再一一贅述。
需要說明的是:上述實施例提供的電子設(shè)備在執(zhí)行數(shù)據(jù)傳輸方法時,僅以上述各功能模塊的劃分進(jìn)行舉例說明,實際應(yīng)用中,可以根據(jù)需要而將上述功能分配由不同的功能模塊完成,即將設(shè)備的內(nèi)部結(jié)構(gòu)劃分成不同的功能模塊,以完成以上描述的全部或者部分功能。另外,上述實施例提供的數(shù)據(jù)傳輸方法與電子設(shè)備實施例屬于同一構(gòu)思,其具體實現(xiàn)過程詳見方法實施例,這里不再贅述。
本領(lǐng)域普通技術(shù)人員可以理解實現(xiàn)上述實施例的全部或部分步驟可以通過硬件來完成,也可以通過程序來指令相關(guān)的硬件完成,所述的程序可以存儲于一種計算機(jī)可讀存儲介質(zhì)中,上述提到的存儲介質(zhì)可以是只讀存儲器,磁盤或光盤等。
以上所述僅為本發(fā)明的較佳實施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。