本發(fā)明實(shí)施例涉及通信技術(shù)領(lǐng)域,尤其涉及一種基于多路徑的通信方法及裝置。
背景技術(shù):
目前,手機(jī)、pad、筆記本電腦、PC機(jī)等終端設(shè)備都具有多個(gè)網(wǎng)絡(luò)接口,以使終端設(shè)備可以通過不同的路徑與其他設(shè)備進(jìn)行通信。
MPTCP(Multipath Transmission Control Protocol,多徑傳輸控制)通信方法能夠使終端設(shè)備同時(shí)通過不同的網(wǎng)絡(luò)接口與其他設(shè)備進(jìn)行數(shù)據(jù)傳輸,充分發(fā)揮不同網(wǎng)絡(luò)接口的功能,從而達(dá)到增加網(wǎng)絡(luò)帶寬的目的。圖1為現(xiàn)有技術(shù)提供的一種多路徑通信方法的網(wǎng)絡(luò)架構(gòu)示意圖。如圖1所示,客戶端需要與目的服務(wù)器進(jìn)行數(shù)據(jù)傳輸時(shí),客戶端先根據(jù)MPTCP協(xié)議與MPTCP代理服務(wù)器建立MPTCP通信通道,然后MPTCP代理服務(wù)器與目的服務(wù)器建立TCP通信通道,數(shù)據(jù)傳輸通過上述MPTCP通信通道及TCP通信通道實(shí)現(xiàn)。
發(fā)明人在實(shí)現(xiàn)本發(fā)明的過程中,發(fā)現(xiàn)現(xiàn)有技術(shù)存在如下缺陷:現(xiàn)有技術(shù)提供的多路徑通信方法,當(dāng)只需要進(jìn)行少量數(shù)據(jù)傳輸時(shí),MPTCP通信會(huì)導(dǎo)致數(shù)據(jù)傳輸速度反而變慢。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例提供一種基于多路徑的通信方法及裝置,用以解決現(xiàn)有技術(shù)中只需要進(jìn)行少量數(shù)據(jù)傳輸時(shí),通過MPTCP通信反而會(huì)導(dǎo)致數(shù)據(jù)傳輸速度變慢的問題。
本發(fā)明實(shí)施例提供一種基于多路徑的通信方法,包括:
客戶端接收用戶發(fā)送的通信請(qǐng)求信息,所述通信請(qǐng)求信息包括通信類型和通信目的地標(biāo)識(shí);
根據(jù)所述通信類型判斷需要建立長(zhǎng)連接還是短連接通信通道;
若需要建立所述長(zhǎng)連接通信通道,則根據(jù)MPTCP協(xié)議通過一條以上路徑與所述目的地標(biāo)識(shí)對(duì)應(yīng)的目的服務(wù)器進(jìn)行通信;
若需要建立所述短連接通信通道,則通過一條路徑與所述目的地標(biāo)識(shí)對(duì)應(yīng)的目的服務(wù)器進(jìn)行通信。
本發(fā)明實(shí)施例提供了一種基于多路徑的通信裝置,包括:
接收模塊,用于客戶端接收用戶發(fā)送的通信請(qǐng)求信息,所述通信請(qǐng)求信息包括通信類型和通信目的地標(biāo)識(shí);
判斷模塊,用于根據(jù)所述通信類型判斷需要建立長(zhǎng)連接還是短連接通信通道;
處理模塊,用于若需要建立所述長(zhǎng)連接通信通道,則根據(jù)MPTCP協(xié)議通過一條以上路徑與所述目的地標(biāo)識(shí)對(duì)應(yīng)的目的服務(wù)器進(jìn)行通信;若需要建立所述短連接通信通道,則通過一條路徑與所述目的地標(biāo)識(shí)對(duì)應(yīng)的目的服務(wù)器進(jìn)行通信。
本發(fā)明實(shí)施例提供的基于多路徑的通信方法及裝置,通過根據(jù)所述通信類型判斷需要建立長(zhǎng)連接還是短連接通信通道,若需要建立所述長(zhǎng)連接通信通道,則根據(jù)MPTCP協(xié)議通過一條以上路徑與所述目的地標(biāo)識(shí)對(duì)應(yīng)的目的服務(wù)器進(jìn)行通信,若需要建立所述短連接通信通道,則通過一條路徑與所述目的地標(biāo)識(shí)對(duì)應(yīng)的目的服務(wù)器進(jìn)行通信,避免了現(xiàn)有技術(shù)中只需要進(jìn)行少量數(shù)據(jù)傳輸時(shí),通過MPTCP通信反而會(huì)導(dǎo)致數(shù)據(jù)傳輸速度變慢的問題。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作一簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為現(xiàn)有技術(shù)提供的一種多路徑通信方法的網(wǎng)絡(luò)架構(gòu)示意圖;
圖2為本發(fā)明實(shí)施例提供的一種基于多路徑的通信方法流程圖;
圖3為本發(fā)明實(shí)施例提供的一種根據(jù)所述通信類型判斷需要建立長(zhǎng)連接還是短連接通信通道的方法示意圖;
圖4為本發(fā)明實(shí)施例提供的基于多路徑的通信方法的網(wǎng)絡(luò)架構(gòu)示意圖;
圖5為本發(fā)明實(shí)施例提供的一種通過一條路徑與所述目的地標(biāo)識(shí)對(duì)應(yīng)的目的服務(wù)器進(jìn)行通信的方法示意圖;
圖6為本發(fā)明實(shí)施例提供的一種基于多路徑的通信裝置結(jié)構(gòu)示意圖。
具體實(shí)施方式
為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
MPTCP通信時(shí),通信請(qǐng)求發(fā)送端與接收端之間會(huì)同時(shí)建立N個(gè)TCP連接,其中N是路徑數(shù),為正整數(shù);發(fā)送端的應(yīng)用層把數(shù)據(jù)發(fā)送到MPTCP層,MPTCP層把數(shù)據(jù)分成多個(gè)段,并在每個(gè)段添加一個(gè)控制段頭,然后把數(shù)據(jù)傳給TCP層,由TCP層進(jìn)行數(shù)據(jù)傳輸;當(dāng)接收端TCP層接收到發(fā)送端TCP層發(fā)送的數(shù)據(jù)后,讀取數(shù)據(jù)并根據(jù)控制頭重組數(shù)據(jù),然后把數(shù)據(jù)傳遞給應(yīng)用層;當(dāng)用戶只需要進(jìn)行少量數(shù)據(jù)傳輸時(shí),上述過程耗費(fèi)的時(shí)間往往大于通過單條路徑傳輸數(shù)據(jù)所用時(shí)間,因而導(dǎo)致數(shù)據(jù)傳輸速度反而變慢。
為解決上述問題,本發(fā)明實(shí)施例提供了一種基于多路徑的通信方法,于客戶端執(zhí)行,如圖2所示,所述方法包括:
步驟101:客戶端接收用戶發(fā)送的通信請(qǐng)求信息,所述通信請(qǐng)求信息包括通信類型和通信目的地標(biāo)識(shí);
具體地,客戶端包括手機(jī)、電腦、智能電視等用戶設(shè)備;所述通信請(qǐng)求信息包含了通信目的地標(biāo)識(shí)、請(qǐng)求的應(yīng)用或文件類型以及通信協(xié)議的版本號(hào)等等各種通信相關(guān)信息;所述通信目的地標(biāo)識(shí)例如目的服務(wù)器地址、請(qǐng)求的頁(yè)面地址等;
具體地,所述客戶端接收用戶發(fā)送的通信請(qǐng)求信息,例如,用戶在地址欄上輸入想要打開的網(wǎng)址,按下回車,這樣客戶端就獲取到了用戶發(fā)送的一個(gè)通信請(qǐng)求信息;用戶通過游戲登陸器選擇好服務(wù)器,設(shè)置好賬號(hào)、密碼等信息,點(diǎn)擊“登陸”按鈕,這樣客戶端也獲取到了用戶發(fā)送的一個(gè)通信請(qǐng)求信息;
本發(fā)明實(shí)施例中,所述通信類型根據(jù)通信請(qǐng)求信息中包含的應(yīng)用的類型(如web應(yīng)用、游戲應(yīng)用、聊天應(yīng)用、視頻應(yīng)用等等)來劃分;
在其他實(shí)施例中,所述通信類型還可以根據(jù)通信請(qǐng)求信息中包含的通信協(xié)議版本號(hào)等信息來劃分,本發(fā)明不做限定;
步驟102:根據(jù)所述通信類型判斷需要建立長(zhǎng)連接還是短連接通信通道;
具體地,圖3為本發(fā)明實(shí)施例提供的一種根據(jù)所述通信類型判斷需要建立長(zhǎng)連接還是短連接通信通道的方法示意圖,如圖3所示,所述方法包括:
步驟201:將所述通信類型與預(yù)設(shè)的短連接通信類型名單進(jìn)行比對(duì);
具體地,本發(fā)明實(shí)施例中,根據(jù)應(yīng)用類型預(yù)設(shè)短連接通信類型名單,所述短連接通信類型名單包括至少一個(gè)應(yīng)用類型,例如,web應(yīng)用的數(shù)據(jù)傳輸量較少,通常建立短連接通信通道,因而將web應(yīng)用設(shè)置到短連接通信類型名單中,而游戲應(yīng)用、聊天應(yīng)用、視頻應(yīng)用等通常需要建立長(zhǎng)連接通信,因此不將游戲應(yīng)用、聊天應(yīng)用、視頻應(yīng)用等設(shè)置到短連接通信類型名單中;
步驟202:當(dāng)所述預(yù)設(shè)的短連接通信類型名單中存在與所述通信類型匹配的通信類型時(shí),建立短連接通信通道;當(dāng)所述預(yù)設(shè)的短連接通信類型名單中不存在與所述通信類型匹配的通信類型時(shí),建立長(zhǎng)連接通信通道。
通過預(yù)設(shè)短連接通信類型名單,將通信請(qǐng)求信息包括通信類型與預(yù)設(shè)的短連接通信類型名單進(jìn)行比對(duì),判斷所述通信類型需要建立長(zhǎng)連接還是短連接通信通道,判斷方法簡(jiǎn)單省時(shí),且不易出錯(cuò)。
在其他實(shí)施例中,還可以通過其他方法判斷所述通信類型需要建立長(zhǎng)連接還是短連接通信通道,例如:根據(jù)所述通信類型預(yù)判數(shù)據(jù)傳輸量和/或數(shù)據(jù)傳輸頻率;當(dāng)所述數(shù)據(jù)傳輸量和/或數(shù)據(jù)傳輸頻率大于預(yù)設(shè)值時(shí),建立長(zhǎng)連接;當(dāng)所述數(shù)據(jù)傳輸量和/或數(shù)據(jù)傳輸頻率不大于預(yù)設(shè)值時(shí),建立短連接。
步驟103:若需要建立所述長(zhǎng)連接通信通道,則根據(jù)MPTCP協(xié)議通過一條以上路徑與所述目的地標(biāo)識(shí)對(duì)應(yīng)的目的服務(wù)器進(jìn)行通信,若需要建立所述短連接通信通道,則通過一條路徑與所述目的地標(biāo)識(shí)對(duì)應(yīng)的目的服務(wù)器進(jìn)行通信。
本發(fā)明實(shí)施例提供的基于多路徑的通信方法,通過根據(jù)所述通信類型判斷需要建立長(zhǎng)連接還是短連接通信通道,若需要建立所述長(zhǎng)連接通信通道,則根據(jù)MPTCP協(xié)議通過一條以上路徑與所述目的地標(biāo)識(shí)對(duì)應(yīng)的目的服務(wù)器進(jìn)行通信,若需要建立所述短連接通信通道,則通過一條路徑與所述目的地標(biāo)識(shí)對(duì)應(yīng)的目的服務(wù)器進(jìn)行通信,避免了現(xiàn)有技術(shù)中只需要進(jìn)行少量數(shù)據(jù)傳輸時(shí),通過MPTCP通信反而會(huì)導(dǎo)致數(shù)據(jù)傳輸速度變慢的問題。
圖4為本發(fā)明實(shí)施例提供的基于多路徑的通信方法的網(wǎng)絡(luò)架構(gòu)示意圖,如圖4所示,本發(fā)明實(shí)施例中,若需要建立所述長(zhǎng)連接通信通道,則向MPTCP代理服務(wù)器發(fā)送所述通信請(qǐng)求信息,以通過所述MPTCP代理服務(wù)器實(shí)現(xiàn)與所述目的地標(biāo)識(shí)對(duì)應(yīng)的目的服務(wù)器的各條路徑通信;在其他實(shí)施例中,還可以直接向支持MPTCP的目的服務(wù)器發(fā)送所述通信請(qǐng)求,本發(fā)明不做限定;
圖5為本發(fā)明實(shí)施例提供的一種通過一條路徑與所述目的地標(biāo)識(shí)對(duì)應(yīng)的目的服務(wù)器進(jìn)行通信的方法示意圖,如圖5所示,所述方法包括:
步驟301:檢測(cè)各路徑的網(wǎng)絡(luò)狀態(tài);
具體地,所述網(wǎng)絡(luò)狀態(tài)包括網(wǎng)絡(luò)帶寬(例如2G、3G、4G等)和/或網(wǎng)絡(luò)穩(wěn)定性等因素;
步驟302:根據(jù)所述網(wǎng)絡(luò)狀態(tài)確定所述各路徑的調(diào)用優(yōu)先級(jí);
例如,根據(jù)網(wǎng)絡(luò)帶寬確定調(diào)用優(yōu)先級(jí),帶寬越寬調(diào)用優(yōu)先級(jí)越高;根據(jù)網(wǎng)絡(luò)穩(wěn)定性確定調(diào)用優(yōu)先級(jí),網(wǎng)絡(luò)穩(wěn)定性越高調(diào)用優(yōu)先級(jí)越高;可以根據(jù)用戶需要建立調(diào)用優(yōu)先級(jí)的設(shè)置規(guī)則,本發(fā)明不做限定;
步驟303:選擇調(diào)用優(yōu)先級(jí)最高的一條路徑作為通信路徑;
步驟304:通過選擇的通信路徑與所述目的地標(biāo)識(shí)對(duì)應(yīng)的目的服務(wù)器進(jìn)行通信。
通過根據(jù)各路徑的網(wǎng)絡(luò)狀態(tài)設(shè)定各路徑的調(diào)用優(yōu)先級(jí),選用調(diào)用優(yōu)先級(jí)最高的路徑作為通信路徑,使數(shù)據(jù)傳輸在最優(yōu)路徑上進(jìn)行,提高了數(shù)據(jù)傳輸?shù)男?,提高了用戶滿意度。
進(jìn)一步地,圖5所示方法還可以包括:實(shí)時(shí)檢測(cè)所述各條路徑的網(wǎng)絡(luò)狀態(tài);根據(jù)檢測(cè)到的所述網(wǎng)絡(luò)狀態(tài)實(shí)時(shí)調(diào)整所述調(diào)用優(yōu)先級(jí);選擇實(shí)時(shí)調(diào)整的調(diào)用優(yōu)先級(jí)最高的一條路徑作為通信路徑;通過選擇的通信路徑與所述目的地標(biāo)識(shí)對(duì)應(yīng)的目的服務(wù)器進(jìn)行通信。
通過實(shí)時(shí)調(diào)整調(diào)用優(yōu)先級(jí),選擇實(shí)時(shí)調(diào)整的調(diào)用優(yōu)先級(jí)最高的一條路徑作為通信路徑,使數(shù)據(jù)傳輸始終在最優(yōu)路徑上進(jìn)行,進(jìn)一步提高了數(shù)據(jù)傳輸效率。
進(jìn)一步地,本發(fā)明實(shí)施例還提供了一種基于多路徑的通信裝置,如圖6所示,所述裝置包括:
接收模塊10,用于客戶端接收用戶發(fā)送的通信請(qǐng)求信息,所述通信請(qǐng)求信息包括通信類型和通信目的地標(biāo)識(shí);
判斷模塊20,用于根據(jù)所述通信類型判斷需要建立長(zhǎng)連接還是短連接通信通道;
處理模塊30,用于若需要建立所述長(zhǎng)連接通信通道,則根據(jù)MPTCP協(xié)議通過一條以上路徑與所述目的地標(biāo)識(shí)對(duì)應(yīng)的目的服務(wù)器進(jìn)行通信;若需要建立所述短連接通信通道,則通過一條路徑與所述目的地標(biāo)識(shí)對(duì)應(yīng)的目的服務(wù)器進(jìn)行通信。
具體地,判斷模塊20,用于:
將所述通信類型與預(yù)設(shè)的短連接通信類型名單進(jìn)行比對(duì);
當(dāng)所述預(yù)設(shè)的短連接通信類型名單中存在與所述通信類型匹配的通信類型時(shí),建立短連接通信通道;
當(dāng)所述預(yù)設(shè)的短連接通信類型名單中不存在與所述通信類型匹配的通信類型時(shí),建立長(zhǎng)連接通信通道。
具體地,處理模塊30,包括:
確定單元,用于確定所述各路徑的調(diào)用優(yōu)先級(jí);
選擇單元,用于選擇調(diào)用優(yōu)先級(jí)最高的一條路徑作為通信路徑;
通信單元,用于通過選擇的通信路徑與所述目的地標(biāo)識(shí)對(duì)應(yīng)的目的服務(wù)器進(jìn)行通信。
具體地,本發(fā)明實(shí)施例提供的基于多路徑的通信裝置中,所述確定單元,用于:實(shí)時(shí)檢測(cè)所述各路徑的網(wǎng)絡(luò)狀態(tài);根據(jù)檢測(cè)到的所述網(wǎng)絡(luò)狀態(tài)實(shí)時(shí)調(diào)整所述調(diào)用優(yōu)先級(jí)。
以上所描述的裝置實(shí)施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部模塊來實(shí)現(xiàn)本實(shí)施例方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性的勞動(dòng)的情況下,即可以理解并實(shí)施。
通過以上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到各實(shí)施方式可借助軟件加必需的通用硬件平臺(tái)的方式來實(shí)現(xiàn),當(dāng)然也可以通過硬件?;谶@樣的理解,上述技術(shù)方案本質(zhì)上或者說對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計(jì)算機(jī)軟件產(chǎn)品可以存儲(chǔ)在計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,如ROM/RAM、磁碟、光盤等,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行各個(gè)實(shí)施例或者實(shí)施例的某些部分所述的方法。
最后應(yīng)說明的是:以上實(shí)施例僅用以說明本發(fā)明的技術(shù)方案,而非對(duì)其限制;盡管參照前述實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對(duì)前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的精神和范圍。