專利名稱:一種網(wǎng)絡(luò)通信中控制建立終端連接的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種網(wǎng)絡(luò)通信中控制建立終端連接的方法。
背景技術(shù):
隨著網(wǎng)絡(luò)用戶的不斷增長(zhǎng),利用網(wǎng)絡(luò)進(jìn)行大數(shù)據(jù)量業(yè)務(wù)的傳輸?shù)玫搅藦V泛的應(yīng)用,例如個(gè)人用戶之間常常利用網(wǎng)絡(luò)進(jìn)行文件傳輸、音視頻聊天等。
目前,網(wǎng)絡(luò)用戶之間進(jìn)行大數(shù)據(jù)量業(yè)務(wù)的傳輸時(shí)通常以端對(duì)端的方式連接,具體的連接的方式有直連和通過服務(wù)器中轉(zhuǎn)連接,直連又包括傳輸控制協(xié)議(Transmission Control Protocol,TCP)直連、用戶數(shù)據(jù)報(bào)協(xié)議(User Datagram Protocol,UDP)直連、點(diǎn)對(duì)點(diǎn)(point to point,P2P)連接等,通過服務(wù)器中轉(zhuǎn)連接包括TCP服務(wù)器中轉(zhuǎn)、UDP服務(wù)器中轉(zhuǎn)等,各種連接的通信質(zhì)量、適用場(chǎng)合和傳輸特性各自不同,如何利用不同類型連接以在端對(duì)端之間建立高質(zhì)穩(wěn)定的連接通道,同時(shí)盡量減少對(duì)服務(wù)器的通信壓力,成了以上大數(shù)據(jù)量傳輸業(yè)務(wù)能否高質(zhì)量運(yùn)行的關(guān)鍵。
現(xiàn)有技術(shù)中,在端與端進(jìn)行連接時(shí),通常同時(shí)嘗試所有可能的連接方式,若某一種連接成功后就一直使用這種連接進(jìn)行通信,直到連接斷開或者業(yè)務(wù)結(jié)束。
但是,現(xiàn)有技術(shù)的這種連接方法具有無法有效控制連接建立的過程、及連接建立后無法對(duì)連接進(jìn)行動(dòng)態(tài)切換的缺點(diǎn),以下分別具體說明這兩個(gè)缺點(diǎn)。
現(xiàn)有技術(shù)無法有效控制連接建立的過程,具體包括以下兩個(gè)方面1、無法根據(jù)業(yè)務(wù)需求選擇符合需求的連接;如前所述,各種連接的通信質(zhì)量、適用場(chǎng)合和傳輸特性各自不同,所以應(yīng)當(dāng)根據(jù)不同的業(yè)務(wù)需求設(shè)定連接方法,讓更適合的連接可以更早啟動(dòng)并成為首選連接。但是由于現(xiàn)有只能使用將所有的連接同時(shí)進(jìn)行,最早成功的連接則為最終連接的方式,所示無法實(shí)現(xiàn)根據(jù)業(yè)務(wù)需求來設(shè)定連接方法;例如,當(dāng)進(jìn)行音視頻聊天業(yè)務(wù)時(shí),使用UDP連接較適合該業(yè)務(wù),但是,若TCP連接比UDP連接提前連接成功,則無法選擇UDP連接;2、直連或通過服務(wù)器連接都可以的情況下,沒有正確的機(jī)制可以保證連接方式為較優(yōu)的直連,增加了服務(wù)器的通信壓力;同樣是由于所有的連接同時(shí)進(jìn)行,最早成功的連接就會(huì)是最終的連接方式;例如,如果TCP服務(wù)器中轉(zhuǎn)連接首先成功,則不會(huì)再進(jìn)行其他連接,這樣就會(huì)增加服務(wù)器的通信壓力。
現(xiàn)有技術(shù)在連接后無法對(duì)連接進(jìn)行動(dòng)態(tài)切換的缺點(diǎn),具體包括以下兩個(gè)方面1、連接異常斷開時(shí),無法創(chuàng)建新的連接來繼續(xù)維持通信;2、連接質(zhì)量較差時(shí)無法創(chuàng)建質(zhì)量更好的新連接替換掉現(xiàn)有連接;例如,TCP直接連接的方式帶寬很低,文件傳輸很慢,此時(shí)使用現(xiàn)有技術(shù)無法通過嘗試建立服務(wù)器中轉(zhuǎn)連接或者其他連接來提高傳輸速度。
發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問題是提供一種網(wǎng)絡(luò)通信中控制建立終端連接的方法,通過該方法可以有效控制連接建立的過程并在連接建立后可以對(duì)連接進(jìn)行動(dòng)態(tài)切換。
為解決上述技術(shù)問題,本發(fā)明的目的是通過以下技術(shù)方案實(shí)現(xiàn)的一種網(wǎng)絡(luò)通信中控制建立終端連接的方法,包括按照預(yù)置的順序啟動(dòng)多個(gè)連接;當(dāng)任一連接成功后,停止其他排序靠后的連接,設(shè)置該連接為首選連接。
從以上技術(shù)方案可以看出,由于本發(fā)明可以使各種連接按照預(yù)置的順序啟動(dòng),進(jìn)而可以有效控制連接建立的過程并可以在建立連接后對(duì)連接進(jìn)行動(dòng)態(tài)切換。
圖1為本發(fā)明一種網(wǎng)絡(luò)通信中控制建立終端連接的方法第一實(shí)施例的流程圖;
圖2為本發(fā)明一種網(wǎng)絡(luò)通信中控制建立終端連接的方法第二實(shí)施例的流程圖;圖3為本發(fā)明一種網(wǎng)絡(luò)通信中控制建立終端連接的方法第三實(shí)施例的流程圖。
具體實(shí)施例方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖對(duì)本發(fā)明作進(jìn)一步地詳細(xì)描述。
本發(fā)明的方法核心思想為按照預(yù)置的順序啟動(dòng)多個(gè)連接;當(dāng)任一連接成功后,停止其他排序靠后的連接,設(shè)置該連接為首選連接。
基于本發(fā)明的核心思想,針對(duì)實(shí)際中經(jīng)常出現(xiàn)的幾種情況,本發(fā)明給出了具體方案,以下分別詳細(xì)說明。
首先,說明本發(fā)明的第一實(shí)施例,本發(fā)明第一實(shí)施例舉例具體說明了當(dāng)網(wǎng)絡(luò)中的計(jì)算機(jī)開始互相連接時(shí)的連接方法。
本發(fā)明首先預(yù)置了各種連接的啟動(dòng)時(shí)間和優(yōu)先級(jí),連接時(shí)根據(jù)所述預(yù)置的啟動(dòng)時(shí)間和優(yōu)先級(jí)管理各個(gè)連接的啟動(dòng)和替換關(guān)系。本發(fā)明第一實(shí)施例預(yù)置各種連接的優(yōu)先級(jí)和啟動(dòng)時(shí)間如表一所示。
表一
以下對(duì)表一進(jìn)行詳細(xì)說明UDP直連啟動(dòng)時(shí)間為0,表示立即啟動(dòng);連接優(yōu)先級(jí)為4,比其他連接的優(yōu)先級(jí)都高,表示該連接一旦成功則設(shè)置其為首選連接,并要停止其他低優(yōu)先級(jí)的連接;若其連接成功時(shí)已經(jīng)有低優(yōu)先級(jí)的連接成功,則停止該低優(yōu)先級(jí)的連接,設(shè)置該連接為首選連接;UDP服務(wù)器中轉(zhuǎn)啟動(dòng)時(shí)間為4,表示過4秒后才啟動(dòng);連接優(yōu)先級(jí)為3,比UDP直連低,比其他連接的優(yōu)先級(jí)都高,表示該連接一旦成功且UDP直連沒有成功則為首選連接,并要停止其他低優(yōu)先級(jí)的連接;若其連接成功時(shí)已經(jīng)有低優(yōu)先級(jí)的連接成功,則停止該低優(yōu)先級(jí)的連接,設(shè)置該連接為首選連接;TCP直連啟動(dòng)時(shí)間為0,表示立即啟動(dòng);連接優(yōu)先級(jí)為2,比UDP直連和UDP服務(wù)器中轉(zhuǎn)低,比TCP服務(wù)器中轉(zhuǎn)的優(yōu)先級(jí)高,表示該連接一旦成功且UDP直連與UDP服務(wù)器中轉(zhuǎn)都未成功時(shí)則為首選連接,并要停止其他低優(yōu)先級(jí)的連接;若其連接成功時(shí)已經(jīng)有低優(yōu)先級(jí)的連接成功,則停止該低優(yōu)先級(jí)的連接,設(shè)置該連接為首選連接;TCP服務(wù)器中轉(zhuǎn)啟動(dòng)時(shí)間為0xFFFFFFF,表示不與其他連接同步啟動(dòng),而是在所有比它高優(yōu)先級(jí)的連接都失敗后才啟動(dòng)該連接;連接優(yōu)先級(jí)為1,是最低優(yōu)先級(jí)。
如圖1所示為本發(fā)明第一實(shí)施例的流程圖,包括101、啟動(dòng)UDP直連和TCP直連;為了可以迅速獲得連接,本實(shí)施例采用將所有連接在流程一開始就在各自預(yù)置的啟動(dòng)時(shí)間后啟動(dòng)的方式進(jìn)行連接,由于UDP直連和TCP直連的啟動(dòng)時(shí)間都是0,所以它們是立即啟動(dòng)的;102、當(dāng)UDP直連成功,則設(shè)置UDP直連為首選連接,停止TCP直連,流程結(jié)束;當(dāng)TCP直連成功且UDP直連失敗,則設(shè)置TCP直連為首選連接;103、UDP直連和TCP直連啟動(dòng)4秒后且UDP直連未成功,啟動(dòng)UDP服務(wù)器中轉(zhuǎn)連接;104、當(dāng)UDP直連、TCP直連與UDP服務(wù)器中轉(zhuǎn)連接中任一成功且沒有比該成功連接優(yōu)先級(jí)高的連接成功后,設(shè)置該連接為首選連接,停止比該連接優(yōu)先級(jí)低的連接;具體為當(dāng)UDP直連成功,則設(shè)置UDP直連為首選連接,停止TCP直連與UDP服務(wù)器中轉(zhuǎn)連接,流程結(jié)束;當(dāng)UDP服務(wù)器中轉(zhuǎn)連接成功且UDP直連未成功,則設(shè)置UDP服務(wù)器中轉(zhuǎn)連接為首選連接,停止TCP直連,流程結(jié)束;當(dāng)TCP直連成功且UDP直連與UDP服務(wù)器中轉(zhuǎn)連接都未成功,則設(shè)置TCP直連為首選連接,流程結(jié)束;105、當(dāng)UDP直連、TCP直連與UDP服務(wù)器中轉(zhuǎn)都失敗后,啟動(dòng)TCP服務(wù)器中轉(zhuǎn)連接;一般地,具體是當(dāng)UDP直連、TCP直連與UDP服務(wù)器中轉(zhuǎn)都超時(shí)失敗后,啟動(dòng)TCP服務(wù)器中轉(zhuǎn)連接;106、當(dāng)TCP服務(wù)器中轉(zhuǎn)連接成功,則設(shè)置TCP服務(wù)器中轉(zhuǎn)連接為首選連接,流程結(jié)束。
本發(fā)明第一實(shí)施例提出了一種連接方法,該方法是根據(jù)表一的設(shè)置進(jìn)行建立連接的,實(shí)際應(yīng)用中適用于網(wǎng)絡(luò)用戶間音視頻聊天的需求。
實(shí)際應(yīng)用時(shí),可以根據(jù)不同的需求,預(yù)置不同的啟動(dòng)時(shí)間和優(yōu)先級(jí)。如表二所示為針對(duì)網(wǎng)絡(luò)服務(wù)器負(fù)載大時(shí)對(duì)啟動(dòng)時(shí)間和優(yōu)先級(jí)的設(shè)置表,其將UDP服務(wù)器中轉(zhuǎn)的優(yōu)先級(jí)降低并設(shè)置了一定的啟動(dòng)時(shí)間,可以讓直連的成功概率遠(yuǎn)大于通過服務(wù)器中轉(zhuǎn)連接成功的概率,進(jìn)而明顯減少服務(wù)器的通信壓力。應(yīng)用本發(fā)明原理,可以針對(duì)不同的應(yīng)用情況使用不同的優(yōu)先級(jí)與啟動(dòng)時(shí)間的設(shè)置,可以根據(jù)業(yè)務(wù)需求選擇符合需求的連接。
表二
上述為本發(fā)明的第一實(shí)施例,其針對(duì)用戶之間剛開始連接時(shí)的情況提出了解決方案。當(dāng)連接建立成功后需要重新建立連接時(shí),也可以應(yīng)用本發(fā)明的方法,以下進(jìn)行詳細(xì)說明。
一般地,用戶之間已經(jīng)連接后,當(dāng)連接異常斷開或者連接質(zhì)量不符合要求時(shí),利用本發(fā)明的方法可以重新建立連接。
此時(shí),應(yīng)當(dāng)根據(jù)預(yù)置的各個(gè)連接的順序控制各個(gè)連接的啟動(dòng)順序,可以使合適的連接方式更早的啟動(dòng)和連接成功。
例如當(dāng)當(dāng)前連接異常斷開時(shí), 按照預(yù)置的順序啟動(dòng)與該連接排序相同的連接,當(dāng)沒有這樣的連接或這樣的連接全部失敗后,按照預(yù)置的順序啟動(dòng)該連接之后的連接,當(dāng)任一排序相同的連接全部失敗后則按照預(yù)置的順序啟動(dòng)排序靠后的連接;當(dāng)當(dāng)前連接質(zhì)量不符合要求時(shí), 可以按照預(yù)置的順序啟動(dòng)與該連接相比排序靠后的連接,當(dāng)任一排序相同的連接全部失敗后則按照預(yù)置的順序啟動(dòng)排序靠后的連接。
以下結(jié)合具體實(shí)施例詳細(xì)說明。
具體地,本發(fā)明實(shí)施例以用戶根據(jù)實(shí)際需要預(yù)先設(shè)置的各個(gè)連接的啟動(dòng)序號(hào)來體現(xiàn)順序,啟動(dòng)序號(hào)較小的即為排序靠前的,啟動(dòng)序號(hào)較大的即為排序靠后的。當(dāng)連接異常斷開后,首先應(yīng)當(dāng)找到所要斷開的連接的啟動(dòng)序號(hào),然后啟動(dòng)與該連接啟動(dòng)序號(hào)相同的其他連接或者啟動(dòng)比該連接啟動(dòng)序號(hào)大的連接,若連接不成功,則啟動(dòng)下一啟動(dòng)序號(hào)的連接,直到連接成功。以下舉例說明。
表三為針對(duì)此種情況本發(fā)明預(yù)置的各個(gè)連接的啟動(dòng)序號(hào)與啟動(dòng)時(shí)間表。
表三
如圖2所示為本發(fā)明第二實(shí)施例的流程圖,該實(shí)施例舉例說明了當(dāng)TCP直連異常斷開后,按照表三預(yù)置的啟動(dòng)序號(hào)和啟動(dòng)時(shí)間,進(jìn)行重新連接的方法,包括201、查找斷開的連接的啟動(dòng)序號(hào);通過表三進(jìn)行查找,找到TCP直連的啟動(dòng)序號(hào)為1;202、啟動(dòng)與該斷開的連接啟動(dòng)序號(hào)相同的所有連接;表三中啟動(dòng)序號(hào)為1的有UDP直連和TCP直連,所以此時(shí)先啟動(dòng)UDP直連,然后根據(jù)表三中設(shè)置的啟動(dòng)時(shí)間,在2秒后啟動(dòng)TCP直連;203、當(dāng)UDP直連或TCP直連任一個(gè)首先成功,則設(shè)置該連接為首選連接,停止其他連接,流程結(jié)束;當(dāng)UDP直連與TCP直連的連接未成功,則啟動(dòng)UDP服務(wù)器中轉(zhuǎn)連接;204、當(dāng)UDP服務(wù)器中轉(zhuǎn)連接成功,則設(shè)置該連接為首選連接,流程結(jié)束;當(dāng)UDP服務(wù)器中轉(zhuǎn)連接未成功,則啟動(dòng)TCP服務(wù)器中轉(zhuǎn)連接;205、當(dāng)TCP服務(wù)器中轉(zhuǎn)連接成功,則設(shè)置該連接為首選連接,流程結(jié)束;當(dāng)TCP服務(wù)器中轉(zhuǎn)連接未成功,則結(jié)束。
以上舉例具體說明了當(dāng)連接異常斷開后進(jìn)行重新連接的方法,下面舉例說明當(dāng)連接質(zhì)量不符合要求時(shí)進(jìn)行重新連接的方法。
當(dāng)連接質(zhì)量不符合要求時(shí),首先應(yīng)當(dāng)找到該連接的啟動(dòng)序號(hào),然后啟動(dòng)比該啟動(dòng)序號(hào)大一級(jí)的全部連接,若有連接成功則設(shè)置該成功連接為首選連接,若沒有一個(gè)連接成功,則啟動(dòng)再下一啟動(dòng)序號(hào)更大的全部連接,直到有連接成功。以下舉例說明。
表四為針對(duì)此種情況本發(fā)明預(yù)置的各個(gè)連接的啟動(dòng)序號(hào)與啟動(dòng)時(shí)間表。
表四
如圖3所示為本發(fā)明第三實(shí)施例的流程圖,該實(shí)施例舉例說明了當(dāng)TCP直連的連接質(zhì)量不符合要求后,按照表四預(yù)置的啟動(dòng)序號(hào)和啟動(dòng)時(shí)間,進(jìn)行重新連接的方法,包括301、查找斷開的連接的啟動(dòng)序號(hào);通過表四進(jìn)行查找,找到TCP直連的啟動(dòng)序號(hào)為1;302、啟動(dòng)比該連接啟動(dòng)序號(hào)大一級(jí)的所有連接;表四中啟動(dòng)序號(hào)為2的是UDP服務(wù)器中轉(zhuǎn)連接,啟動(dòng)UDP服務(wù)器中轉(zhuǎn)連接;303、當(dāng)UDP服務(wù)器中轉(zhuǎn)連接成功,則設(shè)置該連接為首選連接,流程結(jié)束;當(dāng)UDP服務(wù)器中轉(zhuǎn)連接未成功,則啟動(dòng)TCP服務(wù)器中轉(zhuǎn)連接;304、當(dāng)TCP服務(wù)器中轉(zhuǎn)連接成功,則設(shè)置該連接為首選連接,流程結(jié)束;當(dāng)TCP服務(wù)器中轉(zhuǎn)連接未成功,則返回。
以上對(duì)本發(fā)明所提供的一種網(wǎng)絡(luò)通信中控制建立終端連接的方法進(jìn)行了詳細(xì)介紹,本文中應(yīng)用了具體個(gè)例對(duì)本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時(shí),對(duì)于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在具體實(shí)施方式
及應(yīng)用范圍上均會(huì)有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對(duì)本發(fā)明的限制。
權(quán)利要求
1.一種網(wǎng)絡(luò)通信中控制建立終端連接的方法,其特征在于,包括按照預(yù)置的順序啟動(dòng)多個(gè)連接;當(dāng)任一連接成功后,停止其他排序靠后的連接,設(shè)置該連接為首選連接。
2.如權(quán)利要求1所述的網(wǎng)絡(luò)通信中控制建立終端連接的方法,其特征在于所述按照預(yù)置的順序啟動(dòng)多個(gè)連接的步驟包括所有連接在各自預(yù)置的延遲時(shí)間后啟動(dòng);所述排序靠后的連接具體為根據(jù)預(yù)置的優(yōu)先級(jí)順序比該連接的優(yōu)先級(jí)低的連接。
3.如權(quán)利要求1所述的網(wǎng)絡(luò)通信中控制建立終端連接的方法,其特征在于所述按照預(yù)置的順序啟動(dòng)多個(gè)連接的步驟包括當(dāng)當(dāng)前連接異常斷開時(shí),按照預(yù)置的順序啟動(dòng)與該連接排序相同的連接,當(dāng)沒有這樣的連接或這樣的連接全部失敗后,按照預(yù)置的順序啟動(dòng)該連接之后的連接,當(dāng)任一排序相同的連接全部失敗后則按照預(yù)置的順序啟動(dòng)排序靠后的連接。
4.如權(quán)利要求1所述的網(wǎng)絡(luò)通信中控制建立終端連接的方法,其特征在于所述按照預(yù)置的順序啟動(dòng)多個(gè)連接的步驟包括當(dāng)當(dāng)前連接質(zhì)量不符合要求時(shí),按照預(yù)置的順序啟動(dòng)與該連接相比排序靠后的連接,當(dāng)任一排序相同的連接全部失敗后則按照預(yù)置的順序啟動(dòng)排序靠后的連接。
5.如權(quán)利要求1所述的網(wǎng)絡(luò)通信中控制建立終端連接的方法,其特征在于所述預(yù)置的順序?yàn)橛脩舾鶕?jù)不同業(yè)務(wù)的需要而設(shè)置的各個(gè)連接的順序。
全文摘要
本發(fā)明提供了一種網(wǎng)絡(luò)通信中控制建立終端連接的方法,包括按照預(yù)置的順序啟動(dòng)多個(gè)連接;當(dāng)任一連接成功后,停止其他排序靠后的連接,設(shè)置該連接為首選連接。通過本發(fā)明,可以使各種連接按照預(yù)置的順序啟動(dòng),進(jìn)而可以有效控制連接建立的過程并可以在建立連接后對(duì)連接進(jìn)行動(dòng)態(tài)切換。
文檔編號(hào)H04L12/56GK101068147SQ200710005030
公開日2007年11月7日 申請(qǐng)日期2007年2月9日 優(yōu)先權(quán)日2007年2月9日
發(fā)明者黃建華 申請(qǐng)人:騰訊科技(深圳)有限公司