亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

數(shù)據(jù)傳輸方法、設(shè)備及系統(tǒng)的制作方法

文檔序號:7817439閱讀:158來源:國知局
數(shù)據(jù)傳輸方法、設(shè)備及系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開了一種數(shù)據(jù)傳輸方法,包括:通過UDP鏈路向數(shù)據(jù)接收設(shè)備發(fā)送第一數(shù)據(jù)封包;在超時檢測時刻,檢測是否接收到所述數(shù)據(jù)接收設(shè)備返回的所述第一數(shù)據(jù)封包的確認響應(yīng);所述第一數(shù)據(jù)封包的確認響應(yīng)表示所述數(shù)據(jù)接收設(shè)備接收到所述第一數(shù)據(jù)封包;若檢測到超過預(yù)設(shè)時長仍未接收到所述確認響應(yīng),則向所述數(shù)據(jù)接收設(shè)備請求并建立TCP鏈路;通過所述UDP鏈路和TCP鏈路向所述數(shù)據(jù)接收設(shè)備發(fā)送第二數(shù)據(jù)封包。本發(fā)明還公開了另外兩種數(shù)據(jù)傳輸方法、一種數(shù)據(jù)發(fā)送設(shè)備、一種數(shù)據(jù)接收設(shè)備和一種數(shù)據(jù)傳輸系統(tǒng)。本發(fā)明可以提高數(shù)據(jù)傳輸流暢度、優(yōu)化傳輸質(zhì)量。
【專利說明】數(shù)據(jù)傳輸方法、設(shè)備及系統(tǒng)

【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及互聯(lián)網(wǎng)【技術(shù)領(lǐng)域】,尤其涉及一種數(shù)據(jù)傳輸方法及系統(tǒng)。

【背景技術(shù)】
[0002]在現(xiàn)有技術(shù)中,即時通訊通常使用TCP連接方式。比如在網(wǎng)絡(luò)游戲中,客戶端和服務(wù)器之間通常采用一條TCP連接進行相互通信,但是如果客戶端開了迅雷,或者客戶端同局域網(wǎng)的其他機器開了迅雷或者其他下載軟件,會極大影響網(wǎng)絡(luò)游戲的網(wǎng)絡(luò)流暢度。根據(jù)實際的統(tǒng)計數(shù)據(jù),在網(wǎng)絡(luò)游戲中,使用TCP連接的情況下,客戶端的掉線率大約為30% -40%。這是因為TCP的主動避讓機制導(dǎo)致的。TCP主動避讓機制具體為:在網(wǎng)絡(luò)層發(fā)現(xiàn)第一次網(wǎng)絡(luò)異常(比如丟包)現(xiàn)象之后,TCP機制會主動降低自己的網(wǎng)絡(luò)速率。例如,如果在網(wǎng)絡(luò)延時為50ms的時候,TCP第一次發(fā)生丟包,系統(tǒng)會在下一個50ms嘗試重傳,如果仍然丟包,會在下10ms重傳,如果仍然丟包,會在下200ms重傳。嘗試的時間等于上一次嘗試時間的一倍,這是一個指數(shù)的級別,重傳次數(shù)如果超過5次,重傳等待時間將會很恐怖,最終很可能掉線。因此客戶端和服務(wù)器之間采用TCP連接時,當網(wǎng)絡(luò)質(zhì)量不穩(wěn)定時,例如如果網(wǎng)絡(luò)質(zhì)量突然很差,然后又恢復(fù)了,TCP嘗試重傳的時間會等待很久,由于等待時間太久,會導(dǎo)致客戶端掉線。
[0003]在某些應(yīng)用中也會使用UDP連接方式。比如在網(wǎng)絡(luò)游戲中,客戶端和服務(wù)器端之間使用一條UDP連接。但是UDP是不可靠協(xié)議,也就是說服務(wù)器發(fā)送給客戶端的封包,客戶端不保證可以收到。另外,防火墻等某些軟件會限制UDP連接流量,因此當采用UDP連接傳輸數(shù)據(jù)較多時,會被限制流量,從而導(dǎo)致數(shù)據(jù)傳輸不夠流暢、掉線率增加,甚至導(dǎo)致數(shù)據(jù)傳輸中斷。


【發(fā)明內(nèi)容】

[0004]本發(fā)明所要解決的技術(shù)問題在于,提供一種提高數(shù)據(jù)傳輸流暢度、優(yōu)化傳輸質(zhì)量的數(shù)據(jù)傳輸方法及系統(tǒng)。
[0005]為解決以上技術(shù)問題,本發(fā)明提供了一種數(shù)據(jù)傳輸方法,包括:
[0006]通過UDP鏈路向數(shù)據(jù)接收設(shè)備發(fā)送第一數(shù)據(jù)封包;
[0007]在超時檢測時刻,檢測是否接收到所述數(shù)據(jù)接收設(shè)備返回的所述第一數(shù)據(jù)封包的確認響應(yīng);所述第一數(shù)據(jù)封包的確認響應(yīng)表示所述數(shù)據(jù)接收設(shè)備接收到所述第一數(shù)據(jù)封包;
[0008]若檢測到超過預(yù)設(shè)時長仍未接收到所述確認響應(yīng),則向所述數(shù)據(jù)接收設(shè)備請求并建立TCP鏈路;
[0009]通過所述UDP鏈路和所述TCP鏈路向所述數(shù)據(jù)接收設(shè)備發(fā)送第二數(shù)據(jù)封包。
[0010]本發(fā)明還提供了另外一種數(shù)據(jù)傳輸方法,包括:
[0011]通過UDP鏈路接收數(shù)據(jù)發(fā)送設(shè)備發(fā)送的第一數(shù)據(jù)封包;
[0012]向所述數(shù)據(jù)發(fā)送設(shè)備返回所述第一數(shù)據(jù)封包的確認響應(yīng);
[0013]接收所述數(shù)據(jù)發(fā)送設(shè)備發(fā)送的TCP鏈路建立請求,并與所述數(shù)據(jù)發(fā)送設(shè)備建立TCP鏈路;所述TCP鏈路建立請求是所述數(shù)據(jù)發(fā)送設(shè)備在檢測到超過預(yù)設(shè)時長仍未接收到所述第一數(shù)據(jù)封包的確認響應(yīng)時發(fā)送的;
[0014]通過所述UDP鏈路和所述TCP鏈路接收所述數(shù)據(jù)發(fā)送設(shè)備發(fā)送的第二數(shù)據(jù)封包,并對所述第二數(shù)據(jù)封包進行重復(fù)數(shù)據(jù)封包判定和過濾。
[0015]本發(fā)明還提供了另外一種數(shù)據(jù)傳輸方法,包括:
[0016]數(shù)據(jù)發(fā)送設(shè)備通過UDP鏈路向數(shù)據(jù)接收設(shè)備發(fā)送第一數(shù)據(jù)封包;
[0017]所述數(shù)據(jù)接收設(shè)備通過所述UDP鏈路接收所述數(shù)據(jù)發(fā)送設(shè)備發(fā)送的第一數(shù)據(jù)封包;
[0018]所述數(shù)據(jù)接收設(shè)備向所述數(shù)據(jù)發(fā)送設(shè)備返回所述第一數(shù)據(jù)封包的確認響應(yīng);
[0019]所述數(shù)據(jù)發(fā)送設(shè)備在超時檢測時刻,檢測是否接收到所述數(shù)據(jù)接收設(shè)備返回的所述第一數(shù)據(jù)封包的確認響應(yīng);
[0020]所述數(shù)據(jù)發(fā)送設(shè)備若檢測到超過預(yù)設(shè)時長仍未接收到所述確認響應(yīng),則向所述數(shù)據(jù)接收設(shè)備發(fā)送TCP鏈路建立請求;
[0021]所述數(shù)據(jù)接收設(shè)備接收所述數(shù)據(jù)發(fā)送設(shè)備發(fā)送的TCP鏈路建立請求,并與所述數(shù)據(jù)發(fā)送設(shè)備建立TCP鏈路;
[0022]所述數(shù)據(jù)發(fā)送設(shè)備通過所述UDP鏈路和所述TCP鏈路向所述數(shù)據(jù)接收設(shè)備發(fā)送第二數(shù)據(jù)封包。
[0023]所述數(shù)據(jù)接收設(shè)備通過所述UDP鏈路和所述TCP鏈路接收所述數(shù)據(jù)發(fā)送設(shè)備發(fā)送的第二數(shù)據(jù)封包,并對所述第二數(shù)據(jù)封包進行重復(fù)數(shù)據(jù)封包判定和過濾。
[0024]本發(fā)明還提供了一種數(shù)據(jù)發(fā)送設(shè)備,包括:
[0025]第一數(shù)據(jù)封包發(fā)送模塊,用于通過UDP鏈路向數(shù)據(jù)接收設(shè)備發(fā)送第一數(shù)據(jù)封包;
[0026]超時檢測模塊,用于在超時檢測時刻,檢測是否接收到所述數(shù)據(jù)接收設(shè)備返回的所述第一數(shù)據(jù)封包的確認響應(yīng);所述第一數(shù)據(jù)封包的確認響應(yīng)表示所述數(shù)據(jù)接收設(shè)備接收到所述第一數(shù)據(jù)封包;
[0027]TCP鏈路請求建立模塊,用于若檢測到超過預(yù)設(shè)時長仍未接收到所述確認響應(yīng),則向所述數(shù)據(jù)接收設(shè)備請求并建立TCP鏈路;
[0028]第二數(shù)據(jù)封包發(fā)送模塊,用于通過所述UDP鏈路和所述TCP鏈路向所述數(shù)據(jù)接收設(shè)備發(fā)送第二數(shù)據(jù)封包。
[0029]本發(fā)明還提供了一種數(shù)據(jù)接收設(shè)備,包括:
[0030]第一數(shù)據(jù)封包接收模塊,用于通過UDP鏈路接收數(shù)據(jù)發(fā)送設(shè)備發(fā)送的第一數(shù)據(jù)封包;
[0031]第一確認響應(yīng)返回模塊,用于向所述數(shù)據(jù)發(fā)送設(shè)備返回所述第一數(shù)據(jù)封包的確認響應(yīng);
[0032]TCP鏈路建立模塊,用于接收所述數(shù)據(jù)發(fā)送設(shè)備發(fā)送的TCP鏈路建立請求,并與所述數(shù)據(jù)發(fā)送設(shè)備建立TCP鏈路;所述TCP鏈路建立請求是所述數(shù)據(jù)發(fā)送設(shè)備在檢測到超過預(yù)設(shè)時長仍未接收到所述第一數(shù)據(jù)封包的確認響應(yīng)時發(fā)送的;
[0033]第二數(shù)據(jù)封包接收模塊,用于通過所述UDP鏈路和所述TCP鏈路接收所述數(shù)據(jù)發(fā)送設(shè)備發(fā)送的第二數(shù)據(jù)封包,并對所述第二數(shù)據(jù)封包進行重復(fù)數(shù)據(jù)封包判定和過濾。
[0034]本發(fā)明還提供了一種數(shù)據(jù)傳輸系統(tǒng),
[0035]包括數(shù)據(jù)發(fā)送設(shè)備和數(shù)據(jù)接收設(shè)備,所述數(shù)據(jù)發(fā)送設(shè)備包括第一數(shù)據(jù)封包發(fā)送模塊、超時檢測模塊、TCP鏈路請求建立模塊和第二數(shù)據(jù)封包模塊,所述數(shù)據(jù)接收設(shè)備包括第一數(shù)據(jù)封包接收模塊、第一確認響應(yīng)返回模塊、TCP鏈路建立模塊和第二數(shù)據(jù)封包接收模塊;其中:
[0036]所述第一數(shù)據(jù)封包發(fā)送模塊,用于數(shù)據(jù)發(fā)送設(shè)備通過UDP鏈路向數(shù)據(jù)接收設(shè)備發(fā)送第一數(shù)據(jù)封包;
[0037]所述第一數(shù)據(jù)封包接收模塊,用于所述數(shù)據(jù)接收設(shè)備通過所述UDP鏈路接收所述數(shù)據(jù)發(fā)送設(shè)備發(fā)送的第一數(shù)據(jù)封包;
[0038]所述第一確認響應(yīng)返回模塊,用于所述數(shù)據(jù)接收設(shè)備向所述數(shù)據(jù)發(fā)送設(shè)備返回所述第一數(shù)據(jù)封包的確認響應(yīng);
[0039]所述超時檢測模塊,用于所述數(shù)據(jù)發(fā)送設(shè)備在超時檢測時刻,檢測是否接收到所述數(shù)據(jù)接收設(shè)備返回的所述第一數(shù)據(jù)封包的確認響應(yīng);
[0040]所述TCP鏈路請求建立模塊,用于所述數(shù)據(jù)發(fā)送設(shè)備若檢測到超過預(yù)設(shè)時長仍未接收到所述確認響應(yīng)時,向所述數(shù)據(jù)接收設(shè)備發(fā)送TCP鏈路建立請求;
[0041]所述TCP鏈路建立模塊,用于所述數(shù)據(jù)接收設(shè)備接收所述數(shù)據(jù)發(fā)送設(shè)備發(fā)送的TCP鏈路建立請求,并與所述數(shù)據(jù)發(fā)送設(shè)備建立TCP鏈路;
[0042]所述第二數(shù)據(jù)封包發(fā)送模塊,用于所述數(shù)據(jù)發(fā)送設(shè)備通過所述UDP鏈路和所述TCP鏈路向所述數(shù)據(jù)接收設(shè)備發(fā)送第二數(shù)據(jù)封包;
[0043]所述第二數(shù)據(jù)封包接收模塊,用于所述數(shù)據(jù)接收設(shè)備通過所述UDP鏈路和所述TCP鏈路接收所述數(shù)據(jù)發(fā)送設(shè)備發(fā)送的第二數(shù)據(jù)封包,并對所述第二數(shù)據(jù)封包進行重復(fù)數(shù)據(jù)封包判定和過濾。
[0044]本發(fā)明中,數(shù)據(jù)發(fā)送設(shè)備在通過UDP鏈路傳輸數(shù)據(jù)時,數(shù)據(jù)接收設(shè)備會返回一個確認響應(yīng),因此可以檢測到數(shù)據(jù)接收設(shè)備是否接收到發(fā)送的數(shù)據(jù);當數(shù)據(jù)發(fā)送設(shè)備檢測到接收確認響應(yīng)超時的時候,建立TCP鏈路,進行輔助傳輸,之后的數(shù)據(jù)傳輸就會通過TCP鏈路和UDP鏈路同時傳輸數(shù)據(jù),因此可以保證數(shù)據(jù)能夠傳輸?shù)搅硪环?,可以有效解決防火墻等某些限制UDP數(shù)據(jù)流量的應(yīng)用導(dǎo)致的掉線、數(shù)據(jù)傳輸不流暢或中斷的問題,可以增加網(wǎng)絡(luò)流暢度、降低掉線率、優(yōu)化數(shù)據(jù)傳輸質(zhì)量。

【專利附圖】

【附圖說明】
[0045]為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0046]圖1是本發(fā)明提供的數(shù)據(jù)傳輸方法的一個實施例的流程示意圖;
[0047]圖2是本發(fā)明提供的數(shù)據(jù)傳輸方法的另一個實施例的流程示意圖;
[0048]圖3是本發(fā)明提供的數(shù)據(jù)傳輸方法的又一個實施例的流程示意圖;
[0049]圖4是本發(fā)明提供的數(shù)據(jù)發(fā)送設(shè)備的一個實施例的功能模塊圖;
[0050]圖5是圖4中超時檢測模塊的模塊示意圖;
[0051]圖6是本發(fā)明提供的數(shù)據(jù)接收設(shè)備的一個實施例的功能模塊圖;
[0052]圖7是圖6中身份驗證模塊的模塊示意圖;
[0053]圖8是本發(fā)明提供的數(shù)據(jù)傳輸系統(tǒng)的一個實施例的功能模塊圖。

【具體實施方式】
[0054]下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
[0055]圖1是本發(fā)明提供的數(shù)據(jù)傳輸方法的一個實施例的流程示意圖,本實施例是針對于數(shù)據(jù)發(fā)送設(shè)備一側(cè)描述的,如圖1所示,本發(fā)明實施例提供的數(shù)據(jù)傳輸方法包括:
[0056]S101、通過UDP鏈路向數(shù)據(jù)接收設(shè)備發(fā)送第一數(shù)據(jù)封包。
[0057]其中,數(shù)據(jù)發(fā)送設(shè)備可以是客戶端,數(shù)據(jù)接收設(shè)備可以對應(yīng)的是服務(wù)器;可以理解的,數(shù)據(jù)發(fā)送設(shè)備和數(shù)據(jù)接收設(shè)備也可以是兩個對等的終端,或者數(shù)據(jù)發(fā)送設(shè)備為服務(wù)器,數(shù)據(jù)接收設(shè)備對應(yīng)的為客戶端。
[0058]S102、將已發(fā)送的第一數(shù)據(jù)封包及其發(fā)送時間保存于已發(fā)送列表中。
[0059]其中,已發(fā)送列表是隊列結(jié)構(gòu),其中保存了已發(fā)送的數(shù)據(jù)封包及其發(fā)送時間,用于之后的超時檢測。
[0060]S103、若接收到所述數(shù)據(jù)接收設(shè)備返回的所述第一數(shù)據(jù)封包的確認響應(yīng),從所述已發(fā)送列表中刪除所述第一數(shù)據(jù)封包及其發(fā)送時間。
[0061]具體的,數(shù)據(jù)接收設(shè)備在接收到數(shù)據(jù)發(fā)送設(shè)備發(fā)送的數(shù)據(jù)封包后會返回一個確認響應(yīng),表示接收到該數(shù)據(jù)封包。所述第一數(shù)據(jù)封包的確認響應(yīng)表示所述數(shù)據(jù)接收設(shè)備接收到所述第一數(shù)據(jù)封包。若數(shù)據(jù)發(fā)送設(shè)備接收到了確認響應(yīng)后,會將對應(yīng)的數(shù)據(jù)封包及其發(fā)送時間從已發(fā)送列表中刪除,因此已發(fā)送列表中保存的都是沒有接收到確認響應(yīng)的數(shù)據(jù)封包。
[0062]S104、在超時檢測時刻,檢測是否接收到所述數(shù)據(jù)接收設(shè)備返回的所述第一數(shù)據(jù)封包的確認響應(yīng)。
[0063]具體的,S104包括:
[0064]在超時檢測時刻,檢測所述已發(fā)送列表是否存在所述第一數(shù)據(jù)封包;
[0065]若存在所述第一數(shù)據(jù)封包,則判斷所述第一數(shù)據(jù)封包的發(fā)送時間與當前時刻的差值是否大于預(yù)設(shè)時長;
[0066]當所述差值大于預(yù)設(shè)時長時,判定為超過預(yù)設(shè)時長仍未接收到所述確認響應(yīng)。
[0067]另外,若所述發(fā)送列表不存在所述第一數(shù)據(jù)封包,或者所述差值小于或等于預(yù)設(shè)時長,則繼續(xù)通過所述UDP鏈路向所述數(shù)據(jù)接收設(shè)備發(fā)送第二數(shù)據(jù)封包。
[0068]其中,超時檢測是一個周期性的檢測,可以是每隔500ms檢測一次,對應(yīng)的預(yù)設(shè)時長可以為2s。其中已發(fā)送列表中保存的都是沒有接收到確認響應(yīng)的數(shù)據(jù)封包,因此,如果已發(fā)送列表沒有所述第一數(shù)據(jù)封包,即表示所述第一數(shù)據(jù)封包已經(jīng)接收到第一數(shù)據(jù)封包。
[0069]S105、若檢測到超過預(yù)設(shè)時長仍未接收到所述確認響應(yīng),則向所述數(shù)據(jù)接收設(shè)備請求并建立TCP鏈路。
[0070]具體的,檢測到超過預(yù)設(shè)時長仍未接收到所述第一數(shù)據(jù)封包的確認響應(yīng)表示當前的UDP鏈路有可能被限制或出現(xiàn)網(wǎng)絡(luò)問題等,因此向所述數(shù)據(jù)接收設(shè)備請求并建立TCP鏈路。具體的,新建的TCP鏈路的連接IP和端口設(shè)定為和UDP鏈路的一樣。
[0071]步驟S104和步驟S105是針對數(shù)據(jù)發(fā)送設(shè)備發(fā)送的某一數(shù)據(jù)封包的超時檢測過程進行描述的,在實際操作過程中,如果對數(shù)據(jù)發(fā)送設(shè)備發(fā)送的每一數(shù)據(jù)封包都進行超時檢測,那么會增加內(nèi)存消耗、降低效率,因此步驟S104和步驟S105在實際操作過程中的【具體實施方式】可以是:在超時檢測時刻,遍歷已發(fā)送列表中的前幾個數(shù)據(jù)封包(例如前7個),如果存在超過預(yù)設(shè)時長沒有接收到確認響應(yīng)的數(shù)據(jù)封包,則向所述數(shù)據(jù)接收設(shè)備請求并建立TCP鏈路。即只對已發(fā)送列表的前幾個數(shù)據(jù)封包進行遍歷和超時檢測。
[0072]S106、通過所述UDP鏈路和所述TCP鏈路向所述數(shù)據(jù)接收設(shè)備發(fā)送第二數(shù)據(jù)封包。
[0073]其中,所述第二數(shù)據(jù)封包包含所述數(shù)據(jù)發(fā)送設(shè)備的連接ID,以使所述數(shù)據(jù)接收設(shè)備能夠根據(jù)所述連接ID對所述數(shù)據(jù)發(fā)送設(shè)備進行身份驗證,并在驗證通過后通過所述UDP鏈路和所述TCP鏈路向所述數(shù)據(jù)發(fā)送設(shè)備返回所述第二數(shù)據(jù)封包的確認響應(yīng)。
[0074]S107、接收所述數(shù)據(jù)接收設(shè)備通過所述UDP鏈路所述和TCP鏈路返回的數(shù)據(jù)封包,并對所述數(shù)據(jù)封包進行重復(fù)數(shù)據(jù)封包判定和過濾。
[0075]具體的,當接收所述數(shù)據(jù)接收設(shè)備通過所述UDP鏈路和TCP鏈路返回的數(shù)據(jù)封包時,對接收的數(shù)據(jù)封包進行重復(fù)數(shù)據(jù)封包判定和過濾。因為數(shù)據(jù)接收設(shè)備通過所述UDP鏈路和TCP鏈路返回的數(shù)據(jù)封包是相同的數(shù)據(jù)包,因此需要對重復(fù)的數(shù)據(jù)封包進行過濾。
[0076]之后重復(fù)執(zhí)行步驟S106至S107進行數(shù)據(jù)傳輸。
[0077]本發(fā)明實施例中,數(shù)據(jù)發(fā)送設(shè)備在通過UDP鏈路傳輸數(shù)據(jù)時,數(shù)據(jù)接收設(shè)備會返回一個確認響應(yīng),因此可以檢測到數(shù)據(jù)接收設(shè)備是否接收到發(fā)送的數(shù)據(jù);當數(shù)據(jù)發(fā)送設(shè)備檢測到接收確認響應(yīng)超時的時候,建立TCP鏈路,進行輔助傳輸,之后的數(shù)據(jù)傳輸就會通過TCP鏈路和UDP鏈路同時傳輸數(shù)據(jù),因此可以保證數(shù)據(jù)能夠傳輸?shù)搅硪环剑梢杂行Ы鉀Q防火墻等某些限制UDP數(shù)據(jù)流量的應(yīng)用導(dǎo)致的掉線、數(shù)據(jù)傳輸不流暢或中斷的問題,可以增加網(wǎng)絡(luò)流暢度、降低掉線率、優(yōu)化數(shù)據(jù)傳輸質(zhì)量。
[0078]圖2是本發(fā)明提供的數(shù)據(jù)傳輸方法的另一個實施例的流程示意圖,本實施例是針對于數(shù)據(jù)接收設(shè)備一側(cè)描述的,如圖2所示,本發(fā)明實施例提供的數(shù)據(jù)傳輸方法包括:
[0079]S201、通過UDP鏈路接收數(shù)據(jù)發(fā)送設(shè)備發(fā)送的第一數(shù)據(jù)封包。
[0080]其中,數(shù)據(jù)發(fā)送設(shè)備可以是客戶端,數(shù)據(jù)接收設(shè)備可以對應(yīng)的是服務(wù)器;另外,數(shù)據(jù)發(fā)送設(shè)備和數(shù)據(jù)接收設(shè)備也可以是兩個對等的終端,或者數(shù)據(jù)發(fā)送設(shè)備為服務(wù)器,數(shù)據(jù)接收設(shè)備對應(yīng)的為客戶端。
[0081]S202、從所述第一數(shù)據(jù)封包解析出所述數(shù)據(jù)發(fā)送設(shè)備的連接ID,并保存于數(shù)據(jù)發(fā)送設(shè)備信息列表中。
[0082]具體的,可以從所述第一數(shù)據(jù)封包解析出所述數(shù)據(jù)發(fā)送設(shè)備的連接ID和當前UDP鏈路的鏈路ID,并保存于數(shù)據(jù)發(fā)送設(shè)備信息列表中。其中,數(shù)據(jù)發(fā)送設(shè)備信息列表可以保存多個數(shù)據(jù)發(fā)送設(shè)備的連接ID。具體的,數(shù)據(jù)發(fā)送設(shè)備信息列表可以是哈希表,哈希表的key是數(shù)據(jù)發(fā)送設(shè)備的連接ID,value是當前UDP鏈路的鏈路ID。
[0083]S203、向所述數(shù)據(jù)發(fā)送設(shè)備返回所述第一數(shù)據(jù)封包的確認響應(yīng)。
[0084]具體的,數(shù)據(jù)接收設(shè)備在接收到數(shù)據(jù)發(fā)送設(shè)備發(fā)送的數(shù)據(jù)封包后都會返回一個確認響應(yīng)。
[0085]S204、接收所述數(shù)據(jù)發(fā)送設(shè)備發(fā)送的TCP鏈路建立請求,并與所述數(shù)據(jù)發(fā)送設(shè)備建立TCP鏈路。
[0086]其中,所述TCP鏈路建立請求是所述數(shù)據(jù)發(fā)送設(shè)備在檢測到超過預(yù)設(shè)時長仍未接收到所述第一數(shù)據(jù)封包的確認響應(yīng)時發(fā)送的。
[0087]S205、通過所述UDP鏈路和TCP鏈路接收所述數(shù)據(jù)發(fā)送設(shè)備發(fā)送的第二數(shù)據(jù)封包。
[0088]具體的,當TCP鏈路建立后,數(shù)據(jù)發(fā)送設(shè)備會通過所述UDP鏈路和TCP鏈路向數(shù)據(jù)接收設(shè)備發(fā)送相同的第二數(shù)據(jù)封包。其中,第二數(shù)據(jù)封包包含數(shù)據(jù)發(fā)送設(shè)備的連接ID。
[0089]S206、從通過TCP鏈路接收的第二數(shù)據(jù)封包中解析出所述數(shù)據(jù)發(fā)送設(shè)備的連接ID,并根據(jù)所述連接ID對所述數(shù)據(jù)發(fā)送設(shè)備進行身份驗證。
[0090]具體的,可以從通過TCP鏈路接收的第二數(shù)據(jù)封包中解析出所述數(shù)據(jù)發(fā)送設(shè)備的連接ID和當前TCP鏈路的鏈路ID,并將當前TCP鏈路的鏈路ID也保存于所述數(shù)據(jù)發(fā)送設(shè)備信息列表中,具體保存在哈希表中key為當前數(shù)據(jù)發(fā)送設(shè)備的連接ID的value中。
[0091]其中,身份驗證主要是查看當前的數(shù)據(jù)發(fā)送設(shè)備是否之前采用了 UDP連接。
[0092]其中,所述根據(jù)所述連接ID對所述數(shù)據(jù)發(fā)送設(shè)備進行身份驗證具體包括:檢測所述連接ID是否在所述數(shù)據(jù)發(fā)送設(shè)備信息列表中;若所述連接ID在所述數(shù)據(jù)發(fā)送設(shè)備信息列表中,判定為身份驗證通過。因為,如果之前采用了 UDP連接,則會保存在數(shù)據(jù)發(fā)送設(shè)備信息列表中。
[0093]S207、若身份驗證通過,則通過所述UDP鏈路和所述TCP鏈路向所述當前數(shù)據(jù)發(fā)送設(shè)備返回所述第二數(shù)據(jù)封包的確認響應(yīng)。
[0094]具體的,如果驗證通過,則表明之前采用了 UDP連接,因此針對于當前數(shù)據(jù)發(fā)送設(shè)備,從數(shù)據(jù)發(fā)送設(shè)備信息列表中查找出key為當前數(shù)據(jù)發(fā)送設(shè)備的連接ID的value,從value中查找出UDP鏈路的鏈路ID和TCP鏈路的鏈路ID,并通過對應(yīng)的UDP鏈路和TCP鏈路向所述當前數(shù)據(jù)發(fā)送設(shè)備返回所述第二數(shù)據(jù)封包的確認響應(yīng)。
[0095]之后重復(fù)執(zhí)行步驟S205和S207進行數(shù)據(jù)傳輸。
[0096]本發(fā)明實施例中,數(shù)據(jù)發(fā)送設(shè)備在通過UDP鏈路傳輸數(shù)據(jù)時,數(shù)據(jù)接收設(shè)備會返回一個確認響應(yīng),因此可以檢測到數(shù)據(jù)接收設(shè)備是否接收到發(fā)送的數(shù)據(jù);當數(shù)據(jù)發(fā)送設(shè)備檢測到接收確認響應(yīng)超時的時候,建立TCP鏈路,進行輔助傳輸,之后的數(shù)據(jù)傳輸就會通過TCP鏈路和UDP鏈路同時傳輸數(shù)據(jù),因此可以保證數(shù)據(jù)能夠傳輸?shù)搅硪环剑梢杂行Ы鉀Q防火墻等某些限制UDP數(shù)據(jù)流量的應(yīng)用導(dǎo)致的掉線、數(shù)據(jù)傳輸不流暢或中斷的問題,可以增加網(wǎng)絡(luò)流暢度、降低掉線率、優(yōu)化數(shù)據(jù)傳輸質(zhì)量。
[0097]圖3是本發(fā)明提供的數(shù)據(jù)傳輸方法的又一個實施例的流程示意圖,本實施例是對于數(shù)據(jù)接收設(shè)備和數(shù)據(jù)發(fā)送設(shè)備兩側(cè)描述的,如圖3所示,本發(fā)明實施例提供的數(shù)據(jù)傳輸方法包括:
[0098]S301、數(shù)據(jù)發(fā)送設(shè)備通過UDP鏈路向數(shù)據(jù)接收設(shè)備發(fā)送第一數(shù)據(jù)封包,并將已發(fā)送的第一數(shù)據(jù)封包及其發(fā)送時間保存于已發(fā)送列表中。
[0099]其中,數(shù)據(jù)發(fā)送設(shè)備可以是客戶端,數(shù)據(jù)接收設(shè)備可以對應(yīng)的是服務(wù)器;可以理解的,數(shù)據(jù)發(fā)送設(shè)備和數(shù)據(jù)接收設(shè)備也可以是兩個對等的終端,或者數(shù)據(jù)發(fā)送設(shè)備為服務(wù)器,數(shù)據(jù)接收設(shè)備對應(yīng)的為客戶端。其中,已發(fā)送列表是隊列結(jié)構(gòu),其中保存了已發(fā)送的數(shù)據(jù)封包及其發(fā)送時間,用于之后的超時檢測。
[0100]S302、所述數(shù)據(jù)接收設(shè)備通過所述UDP鏈路接收所述數(shù)據(jù)發(fā)送設(shè)備發(fā)送的第一數(shù)據(jù)封包,并從所述第一數(shù)據(jù)封包解析出所述數(shù)據(jù)發(fā)送設(shè)備的連接ID,并保存于數(shù)據(jù)發(fā)送設(shè)備信息列表中。
[0101]具體的,可以從所述第一數(shù)據(jù)封包解析出所述數(shù)據(jù)發(fā)送設(shè)備的連接ID和當前UDP鏈路的鏈路ID,并保存于數(shù)據(jù)發(fā)送設(shè)備信息列表中。其中,數(shù)據(jù)發(fā)送設(shè)備信息列表可以保存多個數(shù)據(jù)發(fā)送設(shè)備的連接ID。具體的,數(shù)據(jù)發(fā)送設(shè)備信息列表可以是哈希表,哈希表的key是數(shù)據(jù)發(fā)送設(shè)備的連接ID,value是當前UDP鏈路的鏈路ID。
[0102]S303、所述數(shù)據(jù)接收設(shè)備向所述數(shù)據(jù)發(fā)送設(shè)備返回所述第一數(shù)據(jù)封包的確認響應(yīng)。
[0103]具體的,數(shù)據(jù)接收設(shè)備在接收到數(shù)據(jù)發(fā)送設(shè)備發(fā)送的數(shù)據(jù)封包后會返回一個確認響應(yīng),表示接收到該數(shù)據(jù)封包。所述第一數(shù)據(jù)封包的確認響應(yīng)表示所述數(shù)據(jù)接收設(shè)備接收到所述第一數(shù)據(jù)封包。
[0104]S304、所述數(shù)據(jù)發(fā)送設(shè)備若接收到所述數(shù)據(jù)接收設(shè)備返回的所述第一數(shù)據(jù)封包的確認響應(yīng),從所述已發(fā)送列表中刪除所述第一數(shù)據(jù)封包及其發(fā)送時間。
[0105]若數(shù)據(jù)發(fā)送設(shè)備接收到了確認響應(yīng)后,會將對應(yīng)的數(shù)據(jù)封包及其發(fā)送時間從已發(fā)送列表中刪除,因此已發(fā)送列表中保存的都是沒有接收到確認響應(yīng)的數(shù)據(jù)封包。
[0106]S305、所述數(shù)據(jù)發(fā)送設(shè)備在超時檢測時刻,檢測是否接收到所述數(shù)據(jù)接收設(shè)備返回的所述第一數(shù)據(jù)封包的確認響應(yīng)。
[0107]具體的,S305包括:
[0108]所述數(shù)據(jù)發(fā)送設(shè)備在超時檢測時刻,檢測所述已發(fā)送列表是否存在所述第一數(shù)據(jù)封包;
[0109]若存在所述第一數(shù)據(jù)封包,則判斷所述第一數(shù)據(jù)封包的發(fā)送時間與當前時刻的差值是否大于預(yù)設(shè)時長;
[0110]當所述差值大于預(yù)設(shè)時長時,判定超過預(yù)設(shè)時長仍未接收到所述確認響應(yīng)。
[0111]另外,若所述發(fā)送列表不存在所述第一數(shù)據(jù)封包,或者所述差值小于或等于預(yù)設(shè)時長,則繼續(xù)通過所述UDP鏈路向所述數(shù)據(jù)接收設(shè)備發(fā)送第二數(shù)據(jù)封包。
[0112]其中,超時檢測是一個周期性的檢測,可以是每隔500ms檢測一次,對應(yīng)的預(yù)設(shè)時長可以為2s。其中已發(fā)送列表中保存的都是沒有接收到確認響應(yīng)的數(shù)據(jù)封包,因此,如果已發(fā)送列表沒有所述第一數(shù)據(jù)封包,即表示所述第一數(shù)據(jù)封包已經(jīng)接收到第一數(shù)據(jù)封包。
[0113]S306、所述數(shù)據(jù)發(fā)送設(shè)備若檢測到超過預(yù)設(shè)時長仍未接收到所述確認響應(yīng),則向所述數(shù)據(jù)接收設(shè)備發(fā)送TCP鏈路建立請求。
[0114]具體的,檢測到超過預(yù)設(shè)時長仍未接收到所述第一數(shù)據(jù)封包的確認響應(yīng)表示當前的UDP鏈路有可能被限制或出現(xiàn)網(wǎng)絡(luò)問題等,因此向所述數(shù)據(jù)接收設(shè)備請求并建立TCP鏈路。具體的,新建的TCP鏈路的連接IP和端口設(shè)定為和UDP鏈路的一樣。
[0115]步驟S305和步驟S306是針對數(shù)據(jù)發(fā)送設(shè)備發(fā)送的某一數(shù)據(jù)封包的超時檢測過程進行描述的,在實際操作過程中,如果對數(shù)據(jù)發(fā)送設(shè)備發(fā)送的每一數(shù)據(jù)封包都進行超時檢測,那么會增加內(nèi)存消耗、降低效率,因此步驟S305和步驟S306在實際操作過程中的【具體實施方式】可以是:在超時檢測時刻,遍歷已發(fā)送列表中的前幾個數(shù)據(jù)封包(例如前7個),如果存在超過預(yù)設(shè)時長沒有接收到確認響應(yīng)的數(shù)據(jù)封包,則向所述數(shù)據(jù)接收設(shè)備請求并建立TCP鏈路。即只對已發(fā)送列表的前幾個數(shù)據(jù)封包進行遍歷和超時檢測。
[0116]S307、所述數(shù)據(jù)接收設(shè)備接收所述數(shù)據(jù)發(fā)送設(shè)備發(fā)送的TCP鏈路建立請求,并與所述數(shù)據(jù)發(fā)送設(shè)備建立TCP鏈路。
[0117]S308、所述數(shù)據(jù)發(fā)送設(shè)備通過所述UDP鏈路和所述TCP鏈路向所述數(shù)據(jù)接收設(shè)備發(fā)送第二數(shù)據(jù)封包。
[0118]其中,所述第二數(shù)據(jù)封包包含所述數(shù)據(jù)發(fā)送設(shè)備的連接ID,以使所述數(shù)據(jù)接收設(shè)備能夠根據(jù)所述連接ID對所述數(shù)據(jù)發(fā)送設(shè)備進行身份驗證,并在驗證通過后通過所述UDP鏈路和TCP鏈路向所述數(shù)據(jù)發(fā)送設(shè)備返回所述第二數(shù)據(jù)封包的確認響應(yīng)。
[0119]S309、所述數(shù)據(jù)接收設(shè)備通過所述UDP鏈路和所述TCP鏈路接收所述數(shù)據(jù)發(fā)送設(shè)備發(fā)送的第二數(shù)據(jù)封包,并對所述第二數(shù)據(jù)封包進行重復(fù)數(shù)據(jù)封包判定和過濾。
[0120]S310、所述數(shù)據(jù)接收設(shè)備從通過TCP鏈路接收的第二數(shù)據(jù)封包中解析出所述數(shù)據(jù)發(fā)送設(shè)備的連接ID,并根據(jù)所述連接ID對所述數(shù)據(jù)發(fā)送設(shè)備進行身份驗證。
[0121]具體的,可以從通過TCP鏈路接收的第二數(shù)據(jù)封包中解析出所述數(shù)據(jù)發(fā)送設(shè)備的連接ID和當前TCP鏈路的鏈路ID,并將當前TCP鏈路的鏈路ID也保存于所述數(shù)據(jù)發(fā)送設(shè)備信息列表中,具體保存在哈希表中key為當前數(shù)據(jù)發(fā)送設(shè)備的連接ID的value中。
[0122]其中,身份驗證主要是查看當前的數(shù)據(jù)發(fā)送設(shè)備是否之前采用了 UDP連接。
[0123]其中,所述根據(jù)所述連接ID對所述數(shù)據(jù)發(fā)送設(shè)備進行身份驗證具體包括:檢測所述連接ID是否在所述數(shù)據(jù)發(fā)送設(shè)備信息列表中;若所述連接ID在所述數(shù)據(jù)發(fā)送設(shè)備信息列表中,判定為身份驗證通過。因為,如果之前采用了 UDP連接,則會保存在數(shù)據(jù)發(fā)送設(shè)備信息列表中。
[0124]S311、若身份驗證通過,則所述數(shù)據(jù)接收設(shè)備通過所述UDP鏈路和TCP鏈路向所述當前數(shù)據(jù)發(fā)送設(shè)備返回所述第二數(shù)據(jù)封包的確認響應(yīng)。
[0125]具體的,如果驗證通過,則表明之前采用了 UDP連接,因此針對于當前數(shù)據(jù)發(fā)送設(shè)備,從數(shù)據(jù)發(fā)送設(shè)備信息列表中查找出key為當前數(shù)據(jù)發(fā)送設(shè)備的連接ID的value,從value中查找出UDP鏈路的鏈路ID和TCP鏈路的鏈路ID,并通過對應(yīng)的UDP鏈路和TCP鏈路向所述當前數(shù)據(jù)發(fā)送設(shè)備返回所述第二數(shù)據(jù)封包的確認響應(yīng)。
[0126]S312、所述數(shù)據(jù)發(fā)送設(shè)備接收所述數(shù)據(jù)接收設(shè)備通過所述UDP鏈路和所述TCP鏈路返回的數(shù)據(jù)封包,并所述數(shù)據(jù)封包進行重復(fù)數(shù)據(jù)封包判定和過濾。
[0127]具體的,當接收所述數(shù)據(jù)接收設(shè)備通過所述UDP鏈路和TCP鏈路返回的數(shù)據(jù)封包時,對接收的數(shù)據(jù)封包進行重復(fù)數(shù)據(jù)封包判定和過濾。因為數(shù)據(jù)接收設(shè)備通過所述UDP鏈路和TCP鏈路返回的數(shù)據(jù)封包是相同的數(shù)據(jù)包,因此需要對重復(fù)的數(shù)據(jù)封包進行過濾。
[0128]之后重復(fù)執(zhí)行步驟S308至S312進行數(shù)據(jù)傳輸。
[0129]本發(fā)明實施例中,數(shù)據(jù)發(fā)送設(shè)備在通過UDP鏈路傳輸數(shù)據(jù)時,數(shù)據(jù)接收設(shè)備會返回一個確認響應(yīng),因此可以檢測到數(shù)據(jù)接收設(shè)備是否接收到發(fā)送的數(shù)據(jù);當數(shù)據(jù)發(fā)送設(shè)備檢測到接收確認響應(yīng)超時的時候,建立TCP鏈路,進行輔助傳輸,之后的數(shù)據(jù)傳輸就會通過TCP鏈路和UDP鏈路同時傳輸數(shù)據(jù),因此可以保證數(shù)據(jù)能夠傳輸?shù)搅硪环剑梢杂行Ы鉀Q防火墻等某些限制UDP數(shù)據(jù)流量的應(yīng)用導(dǎo)致的掉線、數(shù)據(jù)傳輸不流暢或中斷的問題,可以增加網(wǎng)絡(luò)流暢度、降低掉線率、優(yōu)化數(shù)據(jù)傳輸質(zhì)量。
[0130]圖4是本發(fā)明提供的數(shù)據(jù)發(fā)送設(shè)備的一個實施例的功能模塊圖,如圖4所示,本發(fā)明實施例提供的數(shù)據(jù)發(fā)送設(shè)備包括:
[0131 ] 第一數(shù)據(jù)封包發(fā)送模塊401,用于通過UDP鏈路向數(shù)據(jù)接收設(shè)備發(fā)送第一數(shù)據(jù)封包;
[0132]數(shù)據(jù)保存模塊402,用于將所述第一數(shù)據(jù)封包發(fā)送模塊401發(fā)送的第一數(shù)據(jù)封包及其發(fā)送時間保存于已發(fā)送列表中;
[0133]數(shù)據(jù)刪除模塊403,用于當接收到所述數(shù)據(jù)接收設(shè)備返回的的所述第一數(shù)據(jù)封包的確認響應(yīng)時,從所述已發(fā)送列表中刪除所述第一數(shù)據(jù)封包及其發(fā)送時間;
[0134]超時檢測模塊404,用于在超時檢測時刻,檢測是否接收到所述數(shù)據(jù)接收設(shè)備返回的所述第一數(shù)據(jù)封包的確認響應(yīng);所述第一數(shù)據(jù)封包的確認響應(yīng)表示所述數(shù)據(jù)接收設(shè)備接收到所述第一數(shù)據(jù)封包;
[0135]TCP鏈路請求建立模塊405,用于若檢測到超過預(yù)設(shè)時長仍未接收到所述確認響應(yīng),則向所述數(shù)據(jù)接收設(shè)備請求并建立TCP鏈路;
[0136]第二數(shù)據(jù)封包發(fā)送模塊406,用于通過所述UDP鏈路和TCP鏈路向所述數(shù)據(jù)接收設(shè)備發(fā)送第二數(shù)據(jù)封包;
[0137]重復(fù)數(shù)據(jù)過濾模塊407,用于接收所述數(shù)據(jù)接收設(shè)備通過所述UDP鏈路和TCP鏈路返回的數(shù)據(jù)封包,并對接收的數(shù)據(jù)封包進行重復(fù)數(shù)據(jù)封包判定和過濾。
[0138]其中,如圖5所示,所述超時檢測模塊404具體包括:
[0139]已發(fā)送列表檢測單元4041,用于在超時檢測時刻,檢測所述已發(fā)送列表是否存在所述第一數(shù)據(jù)封包;
[0140]超時計算單元4042,用于若存在所述第一數(shù)據(jù)封包,則判斷所述第一數(shù)據(jù)封包的發(fā)送時間與當前時刻的差值是否大于預(yù)設(shè)時長;
[0141]超時判定單元4043,用于當所述差值大于預(yù)設(shè)時長時,判定超過預(yù)設(shè)時長仍未接收到所述確認響應(yīng)。
[0142]其中,所述第二數(shù)據(jù)封包包含所述數(shù)據(jù)發(fā)送設(shè)備的連接ID,以使所述數(shù)據(jù)接收設(shè)備能夠根據(jù)所述連接ID對所述數(shù)據(jù)發(fā)送設(shè)備進行身份驗證,并在驗證通過后通過所述UDP鏈路和所述TCP鏈路向所述數(shù)據(jù)發(fā)送設(shè)備返回所述第二數(shù)據(jù)封包的確認響應(yīng)。
[0143]本發(fā)明實施例與本發(fā)明提供的如圖1所示的數(shù)據(jù)傳輸方法的實施例一一對應(yīng),因此,各模塊的具體信息請參照本發(fā)明提供的數(shù)據(jù)傳輸方法的第一實施例,在此不再贅述。
[0144]本發(fā)明實施例中,數(shù)據(jù)發(fā)送設(shè)備在通過UDP鏈路傳輸數(shù)據(jù)時,數(shù)據(jù)接收設(shè)備會返回一個確認響應(yīng),因此可以檢測到數(shù)據(jù)接收設(shè)備是否接收到發(fā)送的數(shù)據(jù);當數(shù)據(jù)發(fā)送設(shè)備檢測到接收確認響應(yīng)超時的時候,建立TCP鏈路,進行輔助傳輸,之后的數(shù)據(jù)傳輸就會通過TCP鏈路和UDP鏈路同時傳輸數(shù)據(jù),因此可以保證數(shù)據(jù)能夠傳輸?shù)搅硪环?,可以有效解決防火墻等某些限制UDP數(shù)據(jù)流量的應(yīng)用導(dǎo)致的掉線、數(shù)據(jù)傳輸不流暢或中斷的問題,可以增加網(wǎng)絡(luò)流暢度、降低掉線率、優(yōu)化數(shù)據(jù)傳輸質(zhì)量。
[0145]圖6是本發(fā)明提供的數(shù)據(jù)接收設(shè)備的一個實施例的功能模塊圖,如圖6所示,本發(fā)明實施例提供的數(shù)據(jù)接收設(shè)備包括:
[0146]第一數(shù)據(jù)封包接收模塊501,用于通過UDP鏈路接收數(shù)據(jù)發(fā)送設(shè)備發(fā)送的第一數(shù)據(jù)封包;
[0147]第一數(shù)據(jù)封包解析模塊502,用于從所述第一數(shù)據(jù)封包接收模塊接收的第一數(shù)據(jù)封包中解析出所述數(shù)據(jù)發(fā)送設(shè)備的連接ID,并保存于數(shù)據(jù)發(fā)送設(shè)備信息列表中;
[0148]第一確認響應(yīng)返回模塊503,用于向所述數(shù)據(jù)發(fā)送設(shè)備返回所述第一數(shù)據(jù)封包的確認響應(yīng);
[0149]TCP鏈路建立模塊504,用于接收所述數(shù)據(jù)發(fā)送設(shè)備發(fā)送的TCP鏈路建立請求,并與所述數(shù)據(jù)發(fā)送設(shè)備建立TCP鏈路;所述TCP鏈路建立請求是所述數(shù)據(jù)發(fā)送設(shè)備在檢測到超過預(yù)設(shè)時長仍未接收到所述第一數(shù)據(jù)封包的確認響應(yīng)時發(fā)送的;
[0150]第二數(shù)據(jù)封包接收模塊505,用于通過所述UDP鏈路和所述TCP鏈路接收所述數(shù)據(jù)發(fā)送設(shè)備發(fā)送的第二數(shù)據(jù)封包,并對所述第二數(shù)據(jù)封包進行重復(fù)數(shù)據(jù)封包判定和過濾。
[0151]身份驗證模塊506,用于從通過所述TCP鏈路接收的第二數(shù)據(jù)封包中解析出所述數(shù)據(jù)發(fā)送設(shè)備的連接ID,并根據(jù)所述連接ID對所述數(shù)據(jù)發(fā)送設(shè)備進行身份驗證;
[0152]第二確認響應(yīng)返回模塊507,用于在所述身份驗證模塊判定為身份驗證通過時,通過所述UDP鏈路和所述TCP鏈路向所述當前數(shù)據(jù)發(fā)送設(shè)備返回所述第二數(shù)據(jù)封包的確認響應(yīng)。
[0153]其中,如圖7所示,身份驗證模塊506具體包括:
[0154]ID檢測單元5061,用于檢測從所述第二數(shù)據(jù)封包中解析出連接ID是否在所述數(shù)據(jù)發(fā)送設(shè)備信息列表中;
[0155]驗證判定單元5062,用于若所述連接ID在所述數(shù)據(jù)發(fā)送設(shè)備信息列表中,則判定為身份驗證通過。
[0156]本發(fā)明實施例與本發(fā)明提供的如圖2所示的數(shù)據(jù)傳輸方法的實施例一一對應(yīng),因此,各模塊的具體信息請參照本發(fā)明提供的數(shù)據(jù)傳輸方法的第二實施例,在此不再贅述。
[0157]本發(fā)明實施例中,數(shù)據(jù)發(fā)送設(shè)備在通過UDP鏈路傳輸數(shù)據(jù)時,數(shù)據(jù)接收設(shè)備會返回一個確認響應(yīng),因此可以檢測到數(shù)據(jù)接收設(shè)備是否接收到發(fā)送的數(shù)據(jù);當數(shù)據(jù)發(fā)送設(shè)備檢測到接收確認響應(yīng)超時的時候,建立TCP鏈路,進行輔助傳輸,之后的數(shù)據(jù)傳輸就會通過TCP鏈路和UDP鏈路同時傳輸數(shù)據(jù),因此可以保證數(shù)據(jù)能夠傳輸?shù)搅硪环?,可以有效解決防火墻等某些限制UDP數(shù)據(jù)流量的應(yīng)用導(dǎo)致的掉線、數(shù)據(jù)傳輸不流暢或中斷的問題,可以增加網(wǎng)絡(luò)流暢度、降低掉線率、優(yōu)化數(shù)據(jù)傳輸質(zhì)量。
[0158]圖8是本發(fā)明提供的數(shù)據(jù)傳輸系統(tǒng)的一個實施例的功能模塊圖,如圖8所示,本發(fā)明實施例提供的數(shù)據(jù)傳輸系統(tǒng)包括數(shù)據(jù)發(fā)送設(shè)備61和數(shù)據(jù)接收設(shè)備62,所述數(shù)據(jù)發(fā)送設(shè)備61包括第一數(shù)據(jù)封包發(fā)送模塊611、數(shù)據(jù)保存模塊612、數(shù)據(jù)刪除模塊613、超時檢測模塊614、TCP鏈路請求建立模塊615、第二數(shù)據(jù)封包模塊616和重復(fù)數(shù)據(jù)過濾模塊617,所述數(shù)據(jù)接收設(shè)備62包括第一數(shù)據(jù)封包接收模塊621、第一數(shù)據(jù)封包解析模塊622、第一確認響應(yīng)返回模塊623、TCP鏈路建立模塊624、第二數(shù)據(jù)封包接收模塊625、身份驗證模塊626和第二確認響應(yīng)返回模塊627。
[0159]第一數(shù)據(jù)封包發(fā)送模塊611,用于數(shù)據(jù)發(fā)送設(shè)備61通過UDP鏈路向數(shù)據(jù)接收設(shè)備62發(fā)送第一數(shù)據(jù)封包。
[0160]數(shù)據(jù)保存模塊612,用于將所述第一數(shù)據(jù)封包發(fā)送模塊發(fā)送的第一數(shù)據(jù)封包及其發(fā)送時間保存于已發(fā)送列表中。
[0161]數(shù)據(jù)刪除模塊613,用于當接收到所述數(shù)據(jù)接收設(shè)備62返回的所述第一數(shù)據(jù)封包的確認響應(yīng)時,從所述已發(fā)送列表中刪除所述第一數(shù)據(jù)封包及其發(fā)送時間。
[0162]第一數(shù)據(jù)封包接收模塊621,用于所述數(shù)據(jù)接收設(shè)備62通過所述UDP鏈路接收所述數(shù)據(jù)發(fā)送設(shè)備61發(fā)送的第一數(shù)據(jù)封包。
[0163]第一數(shù)據(jù)封包解析模塊622,用于從所述第一數(shù)據(jù)封包接收模塊接收的第一數(shù)據(jù)封包中解析出所述數(shù)據(jù)發(fā)送設(shè)備61的連接ID和所述第一 UDP鏈路的鏈路ID,并保存于鏈路ID表中。
[0164]第一確認響應(yīng)返回模塊623,用于所述數(shù)據(jù)接收設(shè)備62向所述數(shù)據(jù)發(fā)送設(shè)備61返回所述第一數(shù)據(jù)封包的確認響應(yīng)。
[0165]超時檢測模塊614,用于所述數(shù)據(jù)發(fā)送設(shè)備61在超時檢測時刻,檢測是否接收到所述數(shù)據(jù)接收設(shè)備62返回的所述第一數(shù)據(jù)封包的確認響應(yīng)。
[0166]TCP鏈路請求建立模塊615,用于所述數(shù)據(jù)發(fā)送設(shè)備61若檢測到超過預(yù)設(shè)時長仍未接收到所述確認響應(yīng),則向所述數(shù)據(jù)接收設(shè)備62發(fā)送TCP鏈路建立請求。
[0167]TCP鏈路建立模塊624,用于所述數(shù)據(jù)接收設(shè)備62接收所述數(shù)據(jù)發(fā)送設(shè)備61發(fā)送的TCP鏈路建立請求,并與所述數(shù)據(jù)發(fā)送設(shè)備61建立TCP鏈路。
[0168]第二數(shù)據(jù)封包發(fā)送模塊616,用于所述數(shù)據(jù)發(fā)送設(shè)備61通過所述UDP鏈路和所述TCP鏈路向所述數(shù)據(jù)接收設(shè)備62發(fā)送第二數(shù)據(jù)封包。
[0169]第二數(shù)據(jù)封包接收模塊625,用于所述數(shù)據(jù)接收設(shè)備62通過所述UDP鏈路和所述TCP鏈路接收所述數(shù)據(jù)發(fā)送設(shè)備61發(fā)送的第二數(shù)據(jù)封包。
[0170]身份驗證模塊626,用于從通過所述TCP鏈路接收的第二數(shù)據(jù)封包中解析出所述數(shù)據(jù)發(fā)送設(shè)備61的連接ID,并根據(jù)所述連接ID對所述數(shù)據(jù)發(fā)送設(shè)備61進行身份驗證。
[0171]第二確認響應(yīng)返回模塊627,用于在所述身份驗證模塊判定為身份驗證通過時,通過所述UDP鏈路和TCP鏈路向所述當前數(shù)據(jù)發(fā)送設(shè)備61返回所述第二數(shù)據(jù)封包的確認響應(yīng)。
[0172]重復(fù)數(shù)據(jù)過濾模塊617,用于數(shù)據(jù)發(fā)送設(shè)備61接收所述數(shù)據(jù)接收設(shè)備62通過所述UDP鏈路和所述TCP鏈路返回的數(shù)據(jù)封包,并對所述數(shù)據(jù)封包進行重復(fù)數(shù)據(jù)封包判定和過濾。
[0173]其中,超時檢測模塊614具體包括:
[0174]已發(fā)送列表檢測單元6141,用于在超時檢測時刻,檢測所述已發(fā)送列表是否存在所述第一數(shù)據(jù)封包;
[0175]超時計算單元6142,用于若存在所述第一數(shù)據(jù)封包,判斷所述第一數(shù)據(jù)封包的發(fā)送時間與當前時刻的差值是否大于預(yù)設(shè)時長;
[0176]超時判定單元6143,用于當所述差值大于預(yù)設(shè)時長時,判定超過預(yù)設(shè)時長仍未接收到所述確認響應(yīng)。
[0177]其中,身份驗證模塊626具體包括:
[0178]ID檢測單元,用于檢測從所述第二數(shù)據(jù)封包中解析出連接ID是否在所述數(shù)據(jù)發(fā)送設(shè)備信息列表中;
[0179]驗證判定單元,用于若所述連接ID在所述數(shù)據(jù)發(fā)送設(shè)備信息列表中,則判定為身份驗證通過。
[0180]本發(fā)明實施例與本發(fā)明提供的圖3所示的數(shù)據(jù)傳輸方法的實施例一一對應(yīng),因此,各模塊的具體信息請參照本發(fā)明提供的數(shù)據(jù)傳輸方法的第三實施例,在此不再贅述。
[0181 ] 本發(fā)明實施例中,數(shù)據(jù)發(fā)送設(shè)備在通過UDP鏈路傳輸數(shù)據(jù)時,數(shù)據(jù)接收設(shè)備會返回一個確認響應(yīng),因此可以檢測到數(shù)據(jù)接收設(shè)備是否接收到發(fā)送的數(shù)據(jù);當數(shù)據(jù)發(fā)送設(shè)備檢測到接收確認響應(yīng)超時的時候,建立TCP鏈路,進行輔助傳輸,之后的數(shù)據(jù)傳輸就會通過TCP鏈路和UDP鏈路同時傳輸數(shù)據(jù),因此可以保證數(shù)據(jù)能夠傳輸?shù)搅硪环剑梢杂行Ы鉀Q防火墻等某些限制UDP數(shù)據(jù)流量的應(yīng)用導(dǎo)致的掉線、數(shù)據(jù)傳輸不流暢或中斷的問題,可以增加網(wǎng)絡(luò)流暢度、降低掉線率、優(yōu)化數(shù)據(jù)傳輸質(zhì)量。
[0182]需要說明的是,在本文中,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者裝置不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者裝置所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括該要素的過程、方法、物品或者裝置中還存在另外的相同要素。
[0183]上述本發(fā)明實施例序號僅僅為了描述,不代表實施例的優(yōu)劣。
[0184]在本申請所提供的幾個實施例中,應(yīng)該理解到,所揭露的系統(tǒng)和方法可以通過其它的方式實現(xiàn)。例如,以上所描述的系統(tǒng)實施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實際實現(xiàn)時可以有另外的劃分方式,例如多個單元或組件可以結(jié)合或者可以集成到另一個系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機械或其它的形式。
[0185]專業(yè)人員還可以進一步意識到,結(jié)合本文中所公開的實施例描述的各示例的單元及算法步驟,能夠以電子硬件、計算機軟件或者二者的結(jié)合來實現(xiàn),為了清楚地說明硬件和軟件的可互換性,在上述說明中已經(jīng)按照功能一般性地描述了各示例的組成及步驟。這些功能究竟以硬件還是軟件方式來執(zhí)行,取決于技術(shù)方案的特定應(yīng)用和設(shè)計約束條件。專業(yè)技術(shù)人員可以對每個特定的應(yīng)用來使用不同方法來實現(xiàn)所描述的功能,但是這種實現(xiàn)不應(yīng)認為超出本發(fā)明的范圍。
[0186]結(jié)合本文中所公開的實施例描述的方法或算法的步驟可以直接用硬件、處理器執(zhí)行的軟件模塊,或者二者的結(jié)合來實施。軟件模塊可以置于隨機存儲器(RAM)、內(nèi)存、只讀存儲器(ROM)、電可編程ROM、電可擦除可編程ROM、寄存器、硬盤、可移動磁盤、CD-ROM、或【技術(shù)領(lǐng)域】內(nèi)所公知的任意其它形式的存儲介質(zhì)中。
[0187]對所公開的實施例的上述說明,使本領(lǐng)域?qū)I(yè)技術(shù)人員能夠?qū)崿F(xiàn)或使用本發(fā)明。對這些實施例的多種修改對本領(lǐng)域的專業(yè)技術(shù)人員來說將是顯而易見的,本文中所定義的一般原理可以在不脫離本發(fā)明的精神或范圍的情況下,在其它實施例中實現(xiàn)。因此,本發(fā)明將不會被限制于本文所示的這些實施例,而是要符合與本文所公開的原理和新穎特點相一致的最寬的范圍。
【權(quán)利要求】
1.一種數(shù)據(jù)傳輸方法,其特征在于,包括: 通過UDP鏈路向數(shù)據(jù)接收設(shè)備發(fā)送第一數(shù)據(jù)封包; 在超時檢測時刻,檢測是否接收到所述數(shù)據(jù)接收設(shè)備返回的所述第一數(shù)據(jù)封包的確認響應(yīng);所述第一數(shù)據(jù)封包的確認響應(yīng)表示所述數(shù)據(jù)接收設(shè)備接收到所述第一數(shù)據(jù)封包; 若檢測到超過預(yù)設(shè)時長仍未接收到所述確認響應(yīng),則向所述數(shù)據(jù)接收設(shè)備請求并建立TCP鏈路; 通過所述UDP鏈路和所述TCP鏈路向所述數(shù)據(jù)接收設(shè)備發(fā)送第二數(shù)據(jù)封包。
2.如權(quán)利要求1所述的數(shù)據(jù)傳輸方法,其特征在于,在所述通過所述UDP鏈路和所述TCP鏈路向所述數(shù)據(jù)接收設(shè)備發(fā)送第二數(shù)據(jù)封包之后,還包括: 接收所述數(shù)據(jù)接收設(shè)備通過所述UDP鏈路和所述TCP鏈路返回的數(shù)據(jù)封包,并對所述數(shù)據(jù)封包進行重復(fù)數(shù)據(jù)封包判定和過濾。
3.如權(quán)利要求1所述的數(shù)據(jù)傳輸方法,其特征在于,在所述通過UDP鏈路向數(shù)據(jù)接收設(shè)備發(fā)送第一數(shù)據(jù)封包之后,還包括: 將已發(fā)送的第一數(shù)據(jù)封包及其發(fā)送時間保存于已發(fā)送列表中; 當接收到所述數(shù)據(jù)接收設(shè)備返回的所述第一數(shù)據(jù)封包的確認響應(yīng)時,從所述已發(fā)送列表中刪除所述第一數(shù)據(jù)封包及其發(fā)送時間。
4.如權(quán)利要求3所述的數(shù)據(jù)傳輸方法,其特征在于,所述在超時檢測時刻,檢測是否接收到所述數(shù)據(jù)接收設(shè)備返回的所述第一數(shù)據(jù)封包的確認響應(yīng),具體包括: 在超時檢測時刻,檢測所述已發(fā)送列表是否存在所述第一數(shù)據(jù)封包; 若存在所述第一數(shù)據(jù)封包,則判斷所述第一數(shù)據(jù)封包的發(fā)送時間與當前時刻的差值是否大于預(yù)設(shè)時長; 當所述差值大于預(yù)設(shè)時長時,判定超過預(yù)設(shè)時長仍未接收到所述確認響應(yīng)。
5.如權(quán)利要求1?4中任意一項所述的數(shù)據(jù)傳輸方法,其特征在于,所述第二數(shù)據(jù)封包包含所述數(shù)據(jù)發(fā)送設(shè)備的連接ID,以使所述數(shù)據(jù)接收設(shè)備能夠根據(jù)所述連接ID對所述數(shù)據(jù)發(fā)送設(shè)備進行身份驗證,并在驗證通過后通過所述UDP鏈路和所述TCP鏈路向所述數(shù)據(jù)發(fā)送設(shè)備返回所述第二數(shù)據(jù)封包的確認響應(yīng)。
6.一種數(shù)據(jù)傳輸方法,其特征在于,包括: 通過UDP鏈路接收數(shù)據(jù)發(fā)送設(shè)備發(fā)送的第一數(shù)據(jù)封包; 向所述數(shù)據(jù)發(fā)送設(shè)備返回所述第一數(shù)據(jù)封包的確認響應(yīng); 接收所述數(shù)據(jù)發(fā)送設(shè)備發(fā)送的TCP鏈路建立請求,并與所述數(shù)據(jù)發(fā)送設(shè)備建立TCP鏈路;所述TCP鏈路建立請求是所述數(shù)據(jù)發(fā)送設(shè)備在檢測到超過預(yù)設(shè)時長仍未接收到所述第一數(shù)據(jù)封包的確認響應(yīng)時發(fā)送的; 通過所述UDP鏈路和所述TCP鏈路接收所述數(shù)據(jù)發(fā)送設(shè)備發(fā)送的第二數(shù)據(jù)封包,并對所述第二數(shù)據(jù)封包進行重復(fù)數(shù)據(jù)封包判定和過濾。
7.如權(quán)利要求6所述的數(shù)據(jù)傳輸方法,其特征在于,在所述通過UDP鏈路接收數(shù)據(jù)發(fā)送設(shè)備發(fā)送的第一數(shù)據(jù)封包之后,還包括: 從所述第一數(shù)據(jù)封包解析出所述數(shù)據(jù)發(fā)送設(shè)備的連接ID,并保存于數(shù)據(jù)發(fā)送設(shè)備信息列表中。
8.如權(quán)利要求7所述的數(shù)據(jù)傳輸方法,其特征在于,在所述通過所述UDP鏈路和所述TCP鏈路接收所述數(shù)據(jù)發(fā)送設(shè)備發(fā)送的第二數(shù)據(jù)封包,并對所述第二數(shù)據(jù)封包進行重復(fù)數(shù)據(jù)封包判定和過濾之后,還包括: 從通過所述TCP鏈路接收的第二數(shù)據(jù)封包中解析出所述數(shù)據(jù)發(fā)送設(shè)備的連接ID,并根據(jù)所述連接ID對所述數(shù)據(jù)發(fā)送設(shè)備進行身份驗證; 若身份驗證通過,則通過所述UDP鏈路和所述TCP鏈路向所述當前數(shù)據(jù)發(fā)送設(shè)備返回所述第二數(shù)據(jù)封包的確認響應(yīng)。
9.如權(quán)利要求8所述的數(shù)據(jù)傳輸方法,其特征在于,所述根據(jù)所述連接ID對所述數(shù)據(jù)發(fā)送設(shè)備進行身份驗證,具體包括: 檢測所述連接ID是否在所述數(shù)據(jù)發(fā)送設(shè)備信息列表中; 若所述連接ID在所述數(shù)據(jù)發(fā)送設(shè)備信息列表中,則判定為身份驗證通過。
10.一種數(shù)據(jù)傳輸方法,其特征在于,包括: 數(shù)據(jù)發(fā)送設(shè)備通過UDP鏈路向數(shù)據(jù)接收設(shè)備發(fā)送第一數(shù)據(jù)封包; 所述數(shù)據(jù)接收設(shè)備通過所述UDP鏈路接收所述數(shù)據(jù)發(fā)送設(shè)備發(fā)送的第一數(shù)據(jù)封包; 所述數(shù)據(jù)接收設(shè)備向所述數(shù)據(jù)發(fā)送設(shè)備返回所述第一數(shù)據(jù)封包的確認響應(yīng); 所述數(shù)據(jù)發(fā)送設(shè)備在超時檢測時刻,檢測是否接收到所述數(shù)據(jù)接收設(shè)備返回的所述第一數(shù)據(jù)封包的確認響應(yīng); 所述數(shù)據(jù)發(fā)送設(shè)備若檢測到超過預(yù)設(shè)時長仍未接收到所述確認響應(yīng),則向所述數(shù)據(jù)接收設(shè)備發(fā)送TCP鏈路建立請求; 所述數(shù)據(jù)接收設(shè)備接收所述數(shù)據(jù)發(fā)送設(shè)備發(fā)送的TCP鏈路建立請求,并與所述數(shù)據(jù)發(fā)送設(shè)備建立TCP鏈路; 所述數(shù)據(jù)發(fā)送設(shè)備通過所述UDP鏈路和所述TCP鏈路向所述數(shù)據(jù)接收設(shè)備發(fā)送第二數(shù)據(jù)封包。 所述數(shù)據(jù)接收設(shè)備通過所述UDP鏈路和所述TCP鏈路接收所述數(shù)據(jù)發(fā)送設(shè)備發(fā)送的第二數(shù)據(jù)封包,并對所述第二數(shù)據(jù)封包進行重復(fù)數(shù)據(jù)封包判定和過濾。
11.如權(quán)利要求10所述的數(shù)據(jù)傳輸方法,其特征在于,在所述數(shù)據(jù)發(fā)送設(shè)備通過UDP鏈路向數(shù)據(jù)接收設(shè)備發(fā)送第一數(shù)據(jù)封包之后,還包括: 將已發(fā)送的第一數(shù)據(jù)封包及其發(fā)送時間保存于已發(fā)送列表中; 在所述數(shù)據(jù)接收設(shè)備向所述數(shù)據(jù)發(fā)送設(shè)備返回所述第一數(shù)據(jù)封包的確認響應(yīng),之后還包括: 當所述數(shù)據(jù)發(fā)送設(shè)備接收到所述數(shù)據(jù)接收設(shè)備返回的所述第一數(shù)據(jù)封包的確認響應(yīng)時,從所述已發(fā)送列表中刪除所述第一數(shù)據(jù)封包及其發(fā)送時間。
12.如權(quán)利要求11所述的數(shù)據(jù)傳輸方法,其特征在于,所述數(shù)據(jù)發(fā)送設(shè)備在超時檢測時刻,檢測是否接收到所述數(shù)據(jù)接收設(shè)備返回的所述第一數(shù)據(jù)封包的確認響應(yīng),具體包括: 在超時檢測時刻,檢測所述已發(fā)送列表是否存在所述第一數(shù)據(jù)封包; 若存在所述第一數(shù)據(jù)封包,則判斷所述第一數(shù)據(jù)封包的發(fā)送時間與當前時刻的差值是否大于預(yù)設(shè)時長; 當所述差值大于預(yù)設(shè)時長時,判定為超過預(yù)設(shè)時長仍未接收到所述確認響應(yīng)。
13.如權(quán)利要求10所述的數(shù)據(jù)傳輸方法,其特征在于,在所述數(shù)據(jù)接收設(shè)備通過所述UDP鏈路接收所述數(shù)據(jù)發(fā)送設(shè)備發(fā)送的第一數(shù)據(jù)封包之后,還包括: 所述數(shù)據(jù)接收設(shè)備從所述第一數(shù)據(jù)封包解析出所述數(shù)據(jù)發(fā)送設(shè)備的連接ID,并保存于數(shù)據(jù)發(fā)送設(shè)備信息列表中。
14.如權(quán)利要求13所述的數(shù)據(jù)傳輸方法,其特征在于,在所述數(shù)據(jù)接收設(shè)備通過所述UDP鏈路和所述TCP鏈路接收所述數(shù)據(jù)發(fā)送設(shè)備發(fā)送的第二數(shù)據(jù)封包,并對所述第二數(shù)據(jù)封包進行重復(fù)數(shù)據(jù)封包判定和過濾,之后還包括: 所述數(shù)據(jù)接收設(shè)備從通過TCP鏈路接收的第二數(shù)據(jù)封包中解析出所述數(shù)據(jù)發(fā)送設(shè)備的連接ID,并根據(jù)所述連接ID對所述數(shù)據(jù)發(fā)送設(shè)備進行身份驗證; 若身份驗證通過,則所述數(shù)據(jù)接收設(shè)備通過所述UDP鏈路和TCP鏈路向所述當前數(shù)據(jù)發(fā)送設(shè)備返回所述第二數(shù)據(jù)封包的確認響應(yīng)。
15.如權(quán)利要求14所述的數(shù)據(jù)傳輸方法,其特征在于,所述根據(jù)所述連接ID對所述數(shù)據(jù)發(fā)送設(shè)備進行身份驗證,具體包括: 檢測所述連接ID是否在所述數(shù)據(jù)發(fā)送設(shè)備信息列表中; 若所述連接ID在所述數(shù)據(jù)發(fā)送設(shè)備信息列表中,判定為身份驗證通過。
16.如權(quán)利要求14或15所述的數(shù)據(jù)傳輸方法,其特征在于,在所述數(shù)據(jù)接收設(shè)備通過所述UDP鏈路和所述TCP鏈路向所述當前數(shù)據(jù)發(fā)送設(shè)備返回所述第二數(shù)據(jù)封包的確認響應(yīng)之后,還包括: 所述數(shù)據(jù)發(fā)送設(shè)備接收所述數(shù)據(jù)接收設(shè)備通過所述UDP鏈路和TCP鏈路返回的確認響應(yīng),并對接收的確認響應(yīng)進行重復(fù)數(shù)據(jù)封包判定和過濾。
17.一種數(shù)據(jù)發(fā)送設(shè)備,其特征在于,包括: 第一數(shù)據(jù)封包發(fā)送模塊,用于通過UDP鏈路向數(shù)據(jù)接收設(shè)備發(fā)送第一數(shù)據(jù)封包;超時檢測模塊,用于在超時檢測時刻,檢測是否接收到所述數(shù)據(jù)接收設(shè)備返回的所述第一數(shù)據(jù)封包的確認響應(yīng);所述第一數(shù)據(jù)封包的確認響應(yīng)表示所述數(shù)據(jù)接收設(shè)備接收到所述第一數(shù)據(jù)封包; TCP鏈路請求建立模塊,用于若檢測到超過預(yù)設(shè)時長仍未接收到所述確認響應(yīng),則向所述數(shù)據(jù)接收設(shè)備請求并建立TCP鏈路;和 第二數(shù)據(jù)封包發(fā)送模塊,用于通過所述UDP鏈路和所述TCP鏈路向所述數(shù)據(jù)接收設(shè)備發(fā)送第二數(shù)據(jù)封包。
18.如權(quán)利要求17所述的數(shù)據(jù)發(fā)送設(shè)備,其特征在于,還包括: 重復(fù)數(shù)據(jù)過濾模塊,用于接收所述數(shù)據(jù)接收設(shè)備通過所述UDP鏈路和所述TCP鏈路返回的數(shù)據(jù)封包,并對所述數(shù)據(jù)封包進行重復(fù)數(shù)據(jù)封包判定和過濾。
19.如權(quán)利要求17所述的數(shù)據(jù)發(fā)送設(shè)備,其特征在于,還包括: 數(shù)據(jù)保存模塊,用于將所述第一數(shù)據(jù)封包發(fā)送模塊發(fā)送的第一數(shù)據(jù)封包及其發(fā)送時間保存于已發(fā)送列表中;和 數(shù)據(jù)刪除模塊,用于當接收到所述數(shù)據(jù)接收設(shè)備返回的所述第一數(shù)據(jù)封包的確認響應(yīng)時,從所述已發(fā)送列表中刪除所述第一數(shù)據(jù)封包及其發(fā)送時間。
20.如權(quán)利要求19所述的數(shù)據(jù)發(fā)送設(shè)備,其特征在于,所述超時檢測模塊具體包括: 已發(fā)送列表檢測單元,用于在超時檢測時刻,檢測所述已發(fā)送列表是否存在所述第一數(shù)據(jù)封包; 超時計算單元,用于若存在所述第一數(shù)據(jù)封包,判斷所述第一數(shù)據(jù)封包的發(fā)送時間與當前時刻的差值是否大于預(yù)設(shè)時長;和 超時判定單元,用于當所述差值大于預(yù)設(shè)時長時,判定超過預(yù)設(shè)時長仍未接收到所述確認響應(yīng)。
21.如權(quán)利要求17?20中任意一項所述的數(shù)據(jù)發(fā)送設(shè)備,其特征在于,所述第二數(shù)據(jù)封包包含所述數(shù)據(jù)發(fā)送設(shè)備的連接ID,以使所述數(shù)據(jù)接收設(shè)備能夠根據(jù)所述連接ID對所述數(shù)據(jù)發(fā)送設(shè)備進行身份驗證,并在驗證通過后通過所述UDP鏈路和所述TCP鏈路向所述數(shù)據(jù)發(fā)送設(shè)備返回所述第二數(shù)據(jù)封包的確認響應(yīng)。
22.—種數(shù)據(jù)接收設(shè)備,其特征在于,包括: 第一數(shù)據(jù)封包接收模塊,用于通過UDP鏈路接收數(shù)據(jù)發(fā)送設(shè)備發(fā)送的第一數(shù)據(jù)封包; 第一確認響應(yīng)返回模塊,用于向所述數(shù)據(jù)發(fā)送設(shè)備返回所述第一數(shù)據(jù)封包的確認響應(yīng); TCP鏈路建立模塊,用于接收所述數(shù)據(jù)發(fā)送設(shè)備發(fā)送的TCP鏈路建立請求,并與所述數(shù)據(jù)發(fā)送設(shè)備建立TCP鏈路;所述TCP鏈路建立請求是所述數(shù)據(jù)發(fā)送設(shè)備在檢測到超過預(yù)設(shè)時長仍未接收到所述第一數(shù)據(jù)封包的確認響應(yīng)時發(fā)送的;和 第二數(shù)據(jù)封包接收模塊,用于通過所述UDP鏈路和所述TCP鏈路接收所述數(shù)據(jù)發(fā)送設(shè)備發(fā)送的第二數(shù)據(jù)封包,并對所述第二數(shù)據(jù)封包進行重復(fù)數(shù)據(jù)封包判定和過濾。
23.如權(quán)利要求22所述的數(shù)據(jù)接收設(shè)備,其特征在于,還包括: 第一數(shù)據(jù)封包解析模塊,用于從所述第一數(shù)據(jù)封包接收模塊接收的第一數(shù)據(jù)封包中解析出所述數(shù)據(jù)發(fā)送設(shè)備的連接ID,并保存于數(shù)據(jù)發(fā)送設(shè)備信息列表中。
24.如權(quán)利要求23所述的數(shù)據(jù)接收設(shè)備,其特征在于,還包括: 身份驗證模塊,用于從通過所述TCP鏈路接收的第二數(shù)據(jù)封包中解析出所述數(shù)據(jù)發(fā)送設(shè)備的連接ID,并根據(jù)所述連接ID對所述數(shù)據(jù)發(fā)送設(shè)備進行身份驗證;和 第二確認響應(yīng)返回模塊,用于在所述身份驗證模塊判定為身份驗證通過時,通過所述UDP鏈路和TCP鏈路向所述當前數(shù)據(jù)發(fā)送設(shè)備返回所述第二數(shù)據(jù)封包的確認響應(yīng)。
25.如權(quán)利要求24所述的數(shù)據(jù)接收設(shè)備,其特征在于,所述身份驗證模塊,具體包括: ID檢測單元,用于檢測從所述第二數(shù)據(jù)封包中解析出連接ID是否在所述數(shù)據(jù)發(fā)送設(shè)備信息列表中; 驗證判定單元,用于若所述連接ID在所述數(shù)據(jù)發(fā)送設(shè)備信息列表中,則判定為身份驗證通過。
26.一種數(shù)據(jù)傳輸系統(tǒng),其特征在于,包括數(shù)據(jù)發(fā)送設(shè)備和數(shù)據(jù)接收設(shè)備,所述數(shù)據(jù)發(fā)送設(shè)備包括第一數(shù)據(jù)封包發(fā)送模塊、超時檢測模塊、TCP鏈路請求建立模塊和第二數(shù)據(jù)封包模塊,所述數(shù)據(jù)接收設(shè)備包括第一數(shù)據(jù)封包接收模塊、第一確認響應(yīng)返回模塊、TCP鏈路建立模塊和第二數(shù)據(jù)封包接收模塊;其中: 所述第一數(shù)據(jù)封包發(fā)送模塊,用于數(shù)據(jù)發(fā)送設(shè)備通過UDP鏈路向數(shù)據(jù)接收設(shè)備發(fā)送第一數(shù)據(jù)封包; 所述第一數(shù)據(jù)封包接收模塊,用于所述數(shù)據(jù)接收設(shè)備通過所述UDP鏈路接收所述數(shù)據(jù)發(fā)送設(shè)備發(fā)送的第一數(shù)據(jù)封包; 所述第一確認響應(yīng)返回模塊,用于所述數(shù)據(jù)接收設(shè)備向所述數(shù)據(jù)發(fā)送設(shè)備返回所述第一數(shù)據(jù)封包的確認響應(yīng); 所述超時檢測模塊,用于所述數(shù)據(jù)發(fā)送設(shè)備在超時檢測時刻,檢測是否接收到所述數(shù)據(jù)接收設(shè)備返回的所述第一數(shù)據(jù)封包的確認響應(yīng); 所述TCP鏈路請求建立模塊,用于所述數(shù)據(jù)發(fā)送設(shè)備若檢測到超過預(yù)設(shè)時長仍未接收到所述確認響應(yīng)時,向所述數(shù)據(jù)接收設(shè)備發(fā)送TCP鏈路建立請求; 所述TCP鏈路建立模塊,用于所述數(shù)據(jù)接收設(shè)備接收所述數(shù)據(jù)發(fā)送設(shè)備發(fā)送的TCP鏈路建立請求,并與所述數(shù)據(jù)發(fā)送設(shè)備建立TCP鏈路; 所述第二數(shù)據(jù)封包發(fā)送模塊,用于所述數(shù)據(jù)發(fā)送設(shè)備通過所述UDP鏈路和所述TCP鏈路向所述數(shù)據(jù)接收設(shè)備發(fā)送第二數(shù)據(jù)封包; 所述第二數(shù)據(jù)封包接收模塊,用于所述數(shù)據(jù)接收設(shè)備通過所述UDP鏈路和所述TCP鏈路接收所述數(shù)據(jù)發(fā)送設(shè)備發(fā)送的第二數(shù)據(jù)封包,并對所述第二數(shù)據(jù)封包進行重復(fù)數(shù)據(jù)封包判定和過濾。
27.如權(quán)利要求26所述的數(shù)據(jù)傳輸系統(tǒng),其特征在于,所述數(shù)據(jù)發(fā)送設(shè)備還包括: 數(shù)據(jù)保存模塊,用于將所述第一數(shù)據(jù)封包發(fā)送模塊發(fā)送的第一數(shù)據(jù)封包及其發(fā)送時間保存于已發(fā)送列表中; 數(shù)據(jù)刪除模塊,用于當接收到所述數(shù)據(jù)接收設(shè)備返回的所述第一數(shù)據(jù)封包的確認響應(yīng)時,從所述已發(fā)送列表中刪除所述第一數(shù)據(jù)封包及其發(fā)送時間。
28.如權(quán)利要求27所述的數(shù)據(jù)傳輸系統(tǒng),其特征在于,所述超時檢測模塊具體包括: 已發(fā)送列表檢測單元,用于在超時檢測時刻,檢測所述已發(fā)送列表是否存在所述第一數(shù)據(jù)封包; 超時計算單元,用于若存在所述第一數(shù)據(jù)封包,判斷所述第一數(shù)據(jù)封包的發(fā)送時間與當前時刻的差值是否大于預(yù)設(shè)時長; 超時判定單元,用于當所述差值大于預(yù)設(shè)時長時,判定超過預(yù)設(shè)時長仍未接收到所述確認響應(yīng)。
29.如權(quán)利要求26所述的數(shù)據(jù)傳輸系統(tǒng),其特征在于,所述數(shù)據(jù)接收設(shè)備還包括: 第一數(shù)據(jù)封包解析模塊,用于從所述第一數(shù)據(jù)封包接收模塊接收的第一數(shù)據(jù)封包中解析出所述數(shù)據(jù)發(fā)送設(shè)備的連接ID,并保存于數(shù)據(jù)發(fā)送設(shè)備信息列表中。
30.如權(quán)利要求29所述的數(shù)據(jù)傳輸系統(tǒng),其特征在于,所述數(shù)據(jù)接收設(shè)備還包括: 身份驗證模塊,用于從通過所述TCP鏈路接收的第二數(shù)據(jù)封包中解析出所述數(shù)據(jù)發(fā)送設(shè)備的連接ID,并根據(jù)所述連接ID對所述數(shù)據(jù)發(fā)送設(shè)備進行身份驗證;和 第二確認響應(yīng)返回模塊,用于在所述身份驗證模塊判定為身份驗證通過時,通過所述UDP鏈路和TCP鏈路向所述當前數(shù)據(jù)發(fā)送設(shè)備返回所述第二數(shù)據(jù)封包的確認響應(yīng)。
31.如權(quán)利要求30所述的數(shù)據(jù)傳輸系統(tǒng),其特征在于,所述身份驗證模塊,具體包括: ID檢測單元,用于檢測從所述第二數(shù)據(jù)封包中解析出連接ID是否在所述數(shù)據(jù)發(fā)送設(shè)備信息列表中; 驗證判定單元,用于若所述連接ID在所述數(shù)據(jù)發(fā)送設(shè)備信息列表中,則判定為身份驗證通過。
32.如權(quán)利要求30或31所述的數(shù)據(jù)傳輸系統(tǒng),其特征在于,所述數(shù)據(jù)發(fā)送設(shè)備還包括: 重復(fù)數(shù)據(jù)過濾模塊,用于接收所述數(shù)據(jù)接收設(shè)備通過所述UDP鏈路和所述TCP鏈路返回的數(shù)據(jù)封包,并對所述數(shù)據(jù)封包進行重復(fù)數(shù)據(jù)封包判定和過濾。
【文檔編號】H04L12/26GK104283716SQ201410567867
【公開日】2015年1月14日 申請日期:2014年10月22日 優(yōu)先權(quán)日:2014年10月22日
【發(fā)明者】徐星 申請人:網(wǎng)易(杭州)網(wǎng)絡(luò)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1