国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      基于tcp的永遠(yuǎn)在線業(yè)務(wù)傳輸心跳數(shù)據(jù)包的方法及設(shè)備的制作方法

      文檔序號:7656819閱讀:179來源:國知局
      專利名稱:基于tcp的永遠(yuǎn)在線業(yè)務(wù)傳輸心跳數(shù)據(jù)包的方法及設(shè)備的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及通信領(lǐng)域,尤其涉及一種基于傳輸控制協(xié)議(Transmission ControlProtocol, TCP)的永遠(yuǎn)在線(Always Online)業(yè)務(wù)下傳輸心跳數(shù)據(jù)包的方法及設(shè)備。
      背景技術(shù)
      諸如手機(jī)等移動終端作為一種被廣泛使用的便攜通信設(shè)備,已經(jīng)成為人們生活、工作中必不可少的溝通工具。近年來,隨著移動互聯(lián)網(wǎng)絡(luò)的發(fā)展,移動終端不僅僅是一種溝通工具,也成為了各種應(yīng)用程序的運(yùn)行移動終端,移動終端內(nèi)安裝的應(yīng)用程序通過移動終端與網(wǎng)絡(luò)側(cè)各相應(yīng)的應(yīng)用服務(wù)器相連,進(jìn)行業(yè)務(wù)數(shù)據(jù)的交互。在移動終端與應(yīng)用服務(wù)器之間的業(yè)務(wù)數(shù)據(jù)交互過程中,永遠(yuǎn)在線一種主流的交互方式,在Always Onl ine方式中,移動終端和應(yīng)用服務(wù)器之間建立一直保持連接狀態(tài)的長連 接,由應(yīng)用服務(wù)器利用長連接主動向移動終端推送業(yè)務(wù)數(shù)據(jù),移動終端自動接收業(yè)務(wù)數(shù)據(jù)。這種Always Online方式可以降低業(yè)務(wù)對移動終端能力的限制,使得相應(yīng)的業(yè)務(wù)更容易普及和發(fā)展。例如目前常用的即時通信業(yè)務(wù)、郵箱業(yè)務(wù)等都使用Always Online方式,能夠確保移動終端內(nèi)的即時通信軟件、郵箱軟件等始終正常運(yùn)行。由于Always Online方式中,移動終端與應(yīng)用服務(wù)器之間的長連接要一直保持連接的狀態(tài),而位于移動終端和應(yīng)用服務(wù)器之間的核心網(wǎng)防火墻需要周期性地接收來自應(yīng)用服務(wù)器的?;钕ⅲ虼?,應(yīng)用服務(wù)器要以小于防火墻所需周期的時長,不斷地向移動終端側(cè)發(fā)送心跳數(shù)據(jù)包以進(jìn)行長連接的?;?,該心跳數(shù)據(jù)包傳輸過程會穿過公網(wǎng)的防火墻,用于通過防火墻該長連接有效,不得斷開此長連接。由于應(yīng)用服務(wù)器發(fā)送心跳數(shù)據(jù)包的目的是對長連接的?;?,維持長連接的服務(wù)狀態(tài),因此該心跳數(shù)據(jù)包的數(shù)據(jù)量比較小,但發(fā)送頻率比較高。心跳數(shù)據(jù)包一般只有幾十個字節(jié),包括心跳數(shù)據(jù)包接收方的移動終端標(biāo)識、與該應(yīng)用服務(wù)器進(jìn)行交互的移動終端內(nèi)安裝的應(yīng)用程序標(biāo)識和心跳序列號等內(nèi)容。發(fā)送心跳數(shù)據(jù)包的頻率根據(jù)業(yè)務(wù)的不同而有所不同,以即時通信業(yè)務(wù)為例,應(yīng)用服務(wù)器向移動終端發(fā)送心跳數(shù)據(jù)包的頻率可達(dá)30秒/個。在心跳數(shù)據(jù)包從應(yīng)用服務(wù)器到移動終端的傳輸過程中,需要經(jīng)歷internet網(wǎng)絡(luò)、核心網(wǎng)以及無線通信網(wǎng)絡(luò),如圖I所示。由于心跳數(shù)據(jù)包的數(shù)據(jù)量比較小,因此,即使數(shù)量較多的心跳數(shù)據(jù)包在internet網(wǎng)絡(luò)和核心網(wǎng)中傳輸時,也不會對internet網(wǎng)絡(luò)和核心網(wǎng)造成明顯影響。但是,當(dāng)心跳數(shù)據(jù)包在無線通信網(wǎng)絡(luò)中傳輸時,需要為心跳數(shù)據(jù)包的傳輸分配信道,而信道的分配過程又需要使用大量的信令,因此,心跳數(shù)據(jù)包在無線通信網(wǎng)絡(luò)中傳輸時,會占用大量的無線信道資源(使用的信令占用控制信道,傳輸心跳數(shù)據(jù)包占用業(yè)務(wù)信道),若心跳數(shù)據(jù)包頻繁地在無線通信網(wǎng)絡(luò)中傳輸,會增加網(wǎng)絡(luò)負(fù)擔(dān),降低無線網(wǎng)絡(luò)的性能;另外,即使給心跳數(shù)據(jù)包分配了傳輸信道,由于心跳數(shù)據(jù)包的數(shù)據(jù)量小,也無法充分利用信道資源,造成信道閑置,降低了無線信道的使用效率。綜上所述,在目前的心跳數(shù)據(jù)包的傳輸過程中,心跳數(shù)據(jù)包在無線通信網(wǎng)絡(luò)中的傳輸還存在增加網(wǎng)絡(luò)負(fù)擔(dān)、無線信道使用效率低的問題。

      發(fā)明內(nèi)容
      本發(fā)明實施例提供一種基于TCP的永遠(yuǎn)在線業(yè)務(wù)傳輸心跳數(shù)據(jù)包的方法及設(shè)備,用以解決現(xiàn)有技術(shù)中存在的心跳數(shù)據(jù)包在無線通信網(wǎng)絡(luò)中的傳輸會增加網(wǎng)絡(luò)負(fù)擔(dān)、使無線信道使用效率低的問題。一種基于TCP的永遠(yuǎn)在線業(yè)務(wù)下傳輸心跳數(shù)據(jù)包的方法,所述方法包括確定作為心跳數(shù)據(jù)包生存時間的設(shè)定路由距離,所述設(shè)定路由距離使心跳數(shù)據(jù)包在經(jīng)過核心網(wǎng)防火墻之后,到達(dá)移動終端所在的無線通信網(wǎng)絡(luò)之前的一跳路由器;向移動終端發(fā)送以所述設(shè)定路由距離作為生存時間的心跳數(shù)據(jù)包。一種基于TCP的永遠(yuǎn)在線業(yè)務(wù)下傳輸心跳數(shù)據(jù)包的設(shè)備,所述設(shè)備包括距離探測模塊,用于確定作為心跳數(shù)據(jù)包生存時間的設(shè)定路由距離,所述設(shè)定路由距離使心跳數(shù)據(jù)包在經(jīng)過核心網(wǎng)防火墻之后,到達(dá)移動終端所在的無線通信網(wǎng)絡(luò)之前的·一跳路由器;數(shù)據(jù)包發(fā)送模塊,用于向移動終端發(fā)送以所述設(shè)定路由距離作為生存時間的心跳數(shù)據(jù)包。本發(fā)明有益效果如下本發(fā)明實施例在基于TCP的永遠(yuǎn)在線業(yè)務(wù)下,在傳輸心跳數(shù)據(jù)包之前,確定能夠使心跳數(shù)據(jù)包穿過核心網(wǎng)防火墻但不進(jìn)入移動終端所在的無線通信網(wǎng)絡(luò)的生存時間,在每次傳輸心跳數(shù)據(jù)包時,按照該生存時間進(jìn)行傳輸,一方面使心跳數(shù)據(jù)包能夠穿過核心網(wǎng)防火墻,達(dá)到對終端與應(yīng)用服務(wù)器之間長連接的?;钅康模硪环矫?,心跳數(shù)據(jù)包并沒有進(jìn)入無線通信網(wǎng)絡(luò),不會增加無線通信網(wǎng)絡(luò)的負(fù)擔(dān),也不會占用無線信道。


      圖I為背景技術(shù)中心跳數(shù)據(jù)包傳輸經(jīng)過網(wǎng)絡(luò)的示意圖;圖2為本發(fā)明實施例一中基于TCP的永遠(yuǎn)在線業(yè)務(wù)下傳輸心跳數(shù)據(jù)包的方法步驟示意圖;圖3為本發(fā)明實施例二中基于TCP的永遠(yuǎn)在線業(yè)務(wù)下傳輸心跳數(shù)據(jù)包的方法步驟示意圖;圖4為本發(fā)明實施例三基于TCP的永遠(yuǎn)在線業(yè)務(wù)下傳輸心跳數(shù)據(jù)包的設(shè)備結(jié)構(gòu)示意圖;圖5為本發(fā)明實施例三基于TCP的永遠(yuǎn)在線業(yè)務(wù)下傳輸心跳數(shù)據(jù)包的設(shè)備結(jié)構(gòu)示意圖;圖6為本發(fā)明實施例三基于TCP的永遠(yuǎn)在線業(yè)務(wù)下心跳數(shù)據(jù)包傳輸經(jīng)過網(wǎng)絡(luò)的示意圖。
      具體實施例方式為了實現(xiàn)本發(fā)明目的,本發(fā)明實施例提出一種新的應(yīng)用在TCP的永遠(yuǎn)在選業(yè)務(wù)下的傳輸心跳數(shù)據(jù)包的方案,在傳輸心跳數(shù)據(jù)包之前,確定能夠使數(shù)據(jù)包穿過核心網(wǎng)防火墻但不進(jìn)入移動終端所在的無線通信網(wǎng)絡(luò)的生存時間,在每次傳輸心跳數(shù)據(jù)包時,按照該生存時間進(jìn)行傳輸,使心跳數(shù)據(jù)包終止在核心網(wǎng)內(nèi)的某一跳路由器上,一方面使心跳數(shù)據(jù)包能夠穿過核心網(wǎng)防火墻,達(dá)到對終端與應(yīng)用服務(wù)器之間長連接的?;钅康?,另一方面,心跳數(shù)據(jù)包并沒有進(jìn)入無線通信網(wǎng)絡(luò),不會增加無線通信網(wǎng)絡(luò)的負(fù)擔(dān),也不會占用無線信道。本發(fā)明各實施例中涉及的心跳數(shù)據(jù)包是指對心跳數(shù)據(jù)包指定的某一條長連接進(jìn)行?;畹臄?shù)據(jù)包,所述長連接是指在一個連接上可以連續(xù)發(fā)送多個數(shù)據(jù)包,在連接保持期間,如果沒有數(shù)據(jù)包發(fā)送,需要雙方發(fā)心跳數(shù)據(jù)包對該長連接進(jìn)行?;畹倪B接方式,如針對套接字(Socket)的長連接等。
      本發(fā)明各實施例中涉及的核心網(wǎng)防火墻是指核心網(wǎng)邊界的防火墻,終端與應(yīng)用服務(wù)器之間的長連接要經(jīng)過該防火墻,由防火墻對該長連接是否需要釋放進(jìn)行監(jiān)控,若在周期時間內(nèi)防火墻沒有收到針對該長連接的心跳數(shù)據(jù)包,則表示該長連接沒有數(shù)據(jù)需要傳輸并釋放;若收到針對該長連接的心跳數(shù)據(jù)包,則繼續(xù)維護(hù)該長連接。本發(fā)明各實施例中涉及的路由距離是指數(shù)據(jù)包的路由跳數(shù)。本發(fā)明各實施例中心跳數(shù)據(jù)包的生存時間是指該心跳數(shù)據(jù)包在傳輸過程中的路由跳數(shù)。下面結(jié)合說明書附圖對本發(fā)明實施例進(jìn)行詳細(xì)描述。實施例一如圖2所示,為本發(fā)明實施例一中傳輸心跳數(shù)據(jù)包的方法步驟示意圖,所述方法包括以下步驟步驟101 :針對一條長連接,探測該長連接一端的移動終端的相關(guān)信息。在本步驟中,首先確定針對哪條長連接傳輸心跳數(shù)據(jù)包,進(jìn)而確定接收心跳數(shù)據(jù)包的移動終端。具體地,可以通過移動互聯(lián)網(wǎng)內(nèi)的業(yè)務(wù)服務(wù)器與終端建立傳輸控制協(xié)議(Transmission Control Protocol, TCP)數(shù)據(jù)連接,獲知該移動終端的相關(guān)信息,如移動終端進(jìn)行網(wǎng)絡(luò)連接時的五元組信息,包括源IP地址,源端口,目的IP地址,目的端口,和傳輸層協(xié)議號。其中,源端口是該移動終端的端口號。步驟102 :確定心跳數(shù)據(jù)包在經(jīng)過核心網(wǎng)防火墻之后,且到達(dá)移動終端所在的無線通信網(wǎng)絡(luò)之前的一跳路由器的設(shè)定路由距離。本步驟的目的是確定心跳數(shù)據(jù)路由包終止在核心網(wǎng)內(nèi)一跳路由器的設(shè)定路由距離。步驟103 :按照核心網(wǎng)防火墻的周期要求,將確定的設(shè)定路由距離作為生存時間發(fā)送心跳數(shù)據(jù)包。在本實施例一的方案中,計算出合理的設(shè)定路由距離,即心跳數(shù)據(jù)包的路由跳數(shù),將該路由跳數(shù)作為心跳數(shù)據(jù)包中的IP數(shù)據(jù)包的TTL字段存儲的生存時間,使心跳數(shù)據(jù)包在路由傳輸過程中既能夠穿過核心網(wǎng)防火墻進(jìn)入運(yùn)營商提供的核心網(wǎng)達(dá)到對長連接?;畹哪康?,又終止于進(jìn)入移動終端所在的無線通信網(wǎng)絡(luò)之前的一跳路由器,避免了心跳數(shù)據(jù)包對無線通信網(wǎng)絡(luò)造成的負(fù)擔(dān)。實施例二 本發(fā)明實施例二通過一個具體的實例對本發(fā)明實施例一的方案進(jìn)行詳細(xì)說明。如圖3所示,為本發(fā)明實施例二中傳輸心跳數(shù)據(jù)包的方法步驟示意圖,所述方法包括以下步驟
      步驟201 :向移動終端發(fā)送的測試數(shù)據(jù)包,確定該測試數(shù)據(jù)包路由至移動終端時產(chǎn)生的第一路由距離。本步驟可以通過TCP協(xié)議的傳輸方式發(fā)送測試數(shù)據(jù)包。本發(fā)明的目的是讓心跳數(shù)據(jù)包既能穿過核心網(wǎng)防火墻又不會進(jìn)入無線通信網(wǎng)絡(luò),因此,首先需要確定若心跳數(shù)據(jù)包進(jìn)入無線通信網(wǎng)絡(luò)到達(dá)移動終端時的第一路由距離,進(jìn)而才能根據(jù)該第一路由距離確定合適的第二路由距離,以達(dá)到本發(fā)明目的。步驟202 :根據(jù)所述第一路由距離,確定測試數(shù)據(jù)包在經(jīng)過核心網(wǎng)防火墻之后,且到達(dá)移動終端所在的無線通信網(wǎng)絡(luò)之前的一跳路由時,產(chǎn)生的第二路由距離。由于第一路由距離是能夠達(dá)到移動終端的路由距離,而第二路由距離未到達(dá)移動終端,所以第二路由距離小于第一路由距離,但第二路由距離必須大于經(jīng)過防火墻的距離,因此,第二路由距離的最取上限為第一路由距離的路由跳數(shù)減1,取值下限為經(jīng)過所述核心 網(wǎng)防火墻時產(chǎn)生的路由跳數(shù)。較優(yōu)的,可以將第一路由距離的路由跳數(shù)減I后作為第二路由距離。步驟203 :將所述第二路由距離作為心跳數(shù)據(jù)包的生存時間,向移動終端發(fā)送該心跳數(shù)據(jù)包。本實施例二的方案中包括但不限于逐漸增大路由距離來確定第一路由距離、逐漸減小路由距離來確定第一路由距離和二分法方式來確定第一路由距離,下面分別加以說明I、通過逐漸增大路由距離來確定第一路由距離第一步將所述測試數(shù)據(jù)包的TCP頭部序號值設(shè)置為所述移動終端識別為錯誤的值。TCP協(xié)議規(guī)定了數(shù)據(jù)包中需要攜帶為該數(shù)據(jù)包分配的序號值,數(shù)據(jù)包接收方在接收到該數(shù)據(jù)包后,根據(jù)其中攜帶的序號值可以確定該數(shù)據(jù)包的相關(guān)信息(如數(shù)據(jù)包的來源、發(fā)送數(shù)據(jù)包的目的)。在本步驟中,發(fā)送給移動終端的測試數(shù)據(jù)包中攜帶一個錯誤的序列號,而不攜帶實際為該數(shù)據(jù)包分配的序列號。若測試數(shù)據(jù)包到達(dá)移動終端,則移動終端會將測試數(shù)據(jù)包中攜帶的序列號識別為錯誤的序列號,進(jìn)而認(rèn)為該測試數(shù)據(jù)包為非法數(shù)據(jù)包,則移動終端將會返回復(fù)位(RST)的TCP消息,通知測試數(shù)據(jù)包的發(fā)送方此測試數(shù)據(jù)包有誤。若測試數(shù)據(jù)包沒有到達(dá)移動終端時生存時間就已達(dá)到,則由于移動終端在規(guī)定時長內(nèi)沒有接收到測試數(shù)據(jù)包,將會返回控制報文協(xié)議(Internet Control Message Protocol, ICMP)消息,其中攜帶的錯誤類型是超時。測試數(shù)據(jù)包的發(fā)送方根據(jù)返回的是RST消息還是錯誤類型是超時的ICMP消息來確定該測試數(shù)據(jù)包是否到達(dá)移動終端。第二步預(yù)先設(shè)定第三路由距離。本步驟中的第三路由距離在初始時可以設(shè)置為I跳。第三步逐漸增大預(yù)先設(shè)定的第三路由距離,針對每次增大后得到的路由距離執(zhí)行以下操作將本次得到的路由距離作為測試數(shù)據(jù)包的生存時間,向移動終端發(fā)送該測試數(shù)據(jù)包;若返回RST的TCP消息,則將本次得到的路由距離作為第一路由距離;
      若返回的控制報文協(xié)議ICMP消息攜帶的錯誤類型是超時,則繼續(xù)增大路由距離。在第三步的方案中,若本次使用的第三路由距離的路由跳數(shù)過小,不足以使測試數(shù)據(jù)包達(dá)到移動終端,則移動終端由于在規(guī)定時長內(nèi)沒有收到測試數(shù)據(jù)包而在返回ICMP消息中攜帶的錯誤類型是超時,表示此時第三路由距離小于路由至移動終端時所需的路由距離,因此,需增大第三路由距離,并將增大后的第三路由距離繼續(xù)作為測試數(shù)據(jù)包的生存時間來發(fā)送測試數(shù)據(jù)包。當(dāng)在上次使用的第三路由距離的情況下ICMP攜帶的錯誤類型是超時,但本次使用的第三路由距離的情況下接收到RST消息,表示當(dāng)前使用的第三路由距離恰好能夠使測試數(shù)據(jù)包路由至移動終端,只不過由于移動終端識別測試數(shù)據(jù)包的序列號有誤所以返回RST消息,此時,當(dāng)前使用的第三路由距離等于測試數(shù)據(jù)包路由至移動終端時所需的路由距離,則將當(dāng)前的第三路由距離作為第一路由距離。2、通過逐漸減小路由距離來確定第一路由距離第一步通過已確定五元組信息的TCP連接,即發(fā)送心跳數(shù)據(jù)包所要?;畹拈L連 接。第二步預(yù)先設(shè)定第四路由距離。本步驟中的第四路由距離在初始時可以設(shè)置較大,確保第一次發(fā)送的測試數(shù)據(jù)包能夠被移動終端正確接收,如在初始時設(shè)置第四路由距離為64跳。第三步將本次得到的路由距離作為測試數(shù)據(jù)包的生存時間,通過已確定五元組信息的TCP連接向移動終端發(fā)送該測試數(shù)據(jù)包,并判斷是否接收到返回的測試回應(yīng)消息;若是,則繼續(xù)減小路由距離;否則,將本次得到的路由距離加I作為第一路由距離。本方式是通過TCP連接向移動終端發(fā)送測試數(shù)據(jù)包的方式,在第三步的方案中,測試數(shù)據(jù)包中的生存時間在不斷減少,若本次使用的第四路由距離比較大,能夠使移動終端正確接收到測試數(shù)據(jù)包,則移動終端將會返回測試回應(yīng)消息,表示第四路由距離還需要繼續(xù)減少。當(dāng)上次使用的第四路由距離能夠使測試數(shù)據(jù)包到達(dá)移動終端(即上次發(fā)送測試數(shù)據(jù)包后接收到測試回應(yīng)消息),但本次使用的第四路由距離不能夠使測試數(shù)據(jù)包到達(dá)移動終端(本次發(fā)送測試數(shù)據(jù)包后沒有接收到測試回應(yīng)消息),則表示本次使用的第四路由距離只能達(dá)到無線通信網(wǎng)絡(luò)外的最后一跳,上次使用的第四路由距離是路由至移動終端時產(chǎn)生的路由距離,因此,將上次使用的第四路由距離作為第一路由距離。若每次減少路由距離是I跳,則可以將本次使用的第四路由距離加I跳作為第一路由距離。3、二分法方式第一步通過已確定五元組信息的TCP連接,即發(fā)送心跳數(shù)據(jù)包所要?;畹拈L連接。第二步預(yù)先設(shè)定上限路由距離和下限路由距離,在初始時,所述上限路由距離大于下限路由距離。第三步在每次上限路由距離或下限路由距離發(fā)生更新時,判斷上限路由距離是否不小于下限路由距離,若是,則執(zhí)行以下操作,直至上限路由距離小于下限路由距離將本次得到上限路由距離和下限路由距離的平均值取整,得到第五路由距離,并將本次得到的第五路由距離作為測試數(shù)據(jù)包的生存時間,通過第一步確定的TCP連接向移動終端發(fā)送該測試數(shù)據(jù)包,并判斷是否接收到返回的測試回應(yīng)消息;
      若是,則將本次得到的第五路由距離的路由跳數(shù)減I后作為更新后的上限路由距離;否則,將本次得到的第五路由距離的路由跳數(shù)減I后作為更新后的下限路由距離。例如,在第N次發(fā)送測試數(shù)據(jù)包時,TTL_max = 64, TTL_min = O, TTL_max大于TTL_min,第五路由距離的路由跳數(shù)為[(TTL_max+TTL_min)/2] = 32,以32跳作為生存時間發(fā)送測試數(shù)據(jù)包N。針對測試數(shù)據(jù)包N,若返回測試回應(yīng)消息,表示32跳時移動終端能夠正確接收測試數(shù)據(jù)包,則將當(dāng)前的第五路由距離32-1 = 31作為更新后的TTL_max,即TTL_max = 31,TTL_min = O。此時,TTL_max仍大于TTL_min,可以重新計算得到第五路由距離的路由跳數(shù)為[(TTL_max+TTL_min)/2] = 15,以15跳作為生存時間發(fā)送測試數(shù)據(jù)包N+1,以此類推。
      針對測試數(shù)據(jù)包N,若沒有返回測試回應(yīng)消息,表示32跳時移動終端已經(jīng)不能夠正確接收測試數(shù)據(jù)包,則將當(dāng)前的第五路由距離32-1 = 31作為更新后的TTL_min,即TTL_max = 64, TTL_min = 31。此時,TTL_max仍大于TTL_min,可以重新計算得到第五路由距離的路由跳數(shù)為[(TTL_max+TTL_min)/2] = 47,以47跳作為生存時間發(fā)送測試數(shù)據(jù)包N+1,以此類推。第四步確定在上限路由距離小于下限路由距離時得到的第五路由距離。第五步在以第四步得到的第五路由距離為測試數(shù)據(jù)包的生存時間時,若接收到測試超時消息,則將該第五路由距離的路由跳數(shù)加I后作為第一路由距離;若接收到測試正確消息,則將該第五路由距離的路由跳數(shù)作為第一路由距離。需要說明的是,在上述各種方式下,由于測試數(shù)據(jù)包在傳輸過程中的網(wǎng)絡(luò)傳輸質(zhì)量等原因可能造成測試數(shù)據(jù)包的丟包,使移動終端無法正確接收到測試數(shù)據(jù)包,因此,當(dāng)本次發(fā)送測試數(shù)據(jù)包后確定移動終端沒有接收到測試數(shù)據(jù)包時,可以以本次相同的路由距離執(zhí)行重傳操作,在重傳次數(shù)達(dá)到門限值時移動終端還沒有接收到測試數(shù)據(jù)包,則利用本次使用的路由距離來確定第一路由距離。另外,為了保證第一路由距離恰好是路由至移動終端時產(chǎn)生的路由距離,在上述任一方式下,每次增大或減小的路由距離為I跳。實施例三 本發(fā)明實施例三還提供一種與實施例一和實施例二屬于同一發(fā)明構(gòu)思下的,基于TCP的永遠(yuǎn)在線業(yè)務(wù)下傳輸心跳數(shù)據(jù)包的設(shè)備,如圖4所示,所述設(shè)備包括數(shù)據(jù)采集模塊、距離探測模塊和數(shù)據(jù)包發(fā)送模塊,其中數(shù)據(jù)采集模塊在數(shù)據(jù)通道為基于TCP的模式時用于實時捕獲長連接兩端的移動終端和應(yīng)用服務(wù)器之間的通信數(shù)據(jù)包,建立和維護(hù)移動終端的五元組,提取當(dāng)前移動終端TCP連接的順序信息(seq)、響應(yīng)信息(ack)。距離探測模塊用于確定作為心跳數(shù)據(jù)包生存時間的設(shè)定路由距離。數(shù)據(jù)包發(fā)送模塊用于將所述設(shè)定路由距離作為心跳數(shù)據(jù)包的生存時間,向移動終端發(fā)送該心跳數(shù)據(jù)包。具體地,如圖5所示,距離探測模塊包括第一路由確定模塊和第二路由確定模塊,其中第一路由確定模塊用于向移動終端發(fā)送測試數(shù)據(jù)包,確定該測試數(shù)據(jù)包路由至移動終端時產(chǎn)生的第一路由距離;第二路由確定模塊用于根據(jù)所述第一路由距離,確定測試數(shù)據(jù)包在經(jīng)過核心網(wǎng)防火墻之后,且到達(dá)移動終端所在的無線通信網(wǎng)絡(luò)之前的一跳路由時,產(chǎn)生的第二路由距離,并將該第二路由距離作為所述設(shè)定路由距離;因此,數(shù)據(jù)包發(fā)送模塊用于將所述第二路由距離作為心跳數(shù)據(jù)包的生存時間,向移動終端發(fā)送該心跳數(shù)據(jù)包。與實施例二的方案相似的,第一路由確定模塊也可以通過逐漸增大路由距離來確定第一路由距離、逐漸減小路由距離來確定第一路由距離和二分法方式來確定第一路由距離,下面分別加以說明I、通過逐漸增大路由距離來確定第一路由距離所述第一路由確定模塊,具體用于將所述測試數(shù)據(jù)包的序號值設(shè)置為所述移動終端識別為錯誤的序列號,并逐漸增大預(yù)先設(shè)定的第三路由距離,針對每次增大后得到的路由距離執(zhí)行以下操作將本次得到的路由距離作為測試數(shù)據(jù)包的生存時間,向移動終端發(fā)送該測試數(shù)據(jù) 包;若返回復(fù)位RST消息,則將本次得到的路由距離作為第一路由距離;若返回的控制報文協(xié)議ICMP消息攜帶的錯誤類型是超時,則繼續(xù)增大路由距離。2、通過逐漸減小路由距離來確定第一路由距離所述第一路由確定模塊具體用于逐漸減小預(yù)先設(shè)定的第五路由距離,針對每次減小后得到的路由距離執(zhí)行以下操作將本次得到的路由距離作為測試數(shù)據(jù)包的生存時間,通過已確定五元組信息的TCP連接向移動終端發(fā)送該測試數(shù)據(jù)包,并判斷是否接收到返回的測試回應(yīng)消息;若是,則繼續(xù)減小路由距離;否則,將本次得到的路由距離加I作為第一路由距離。3、二分法方式所述第一路由確定模塊,具體用于預(yù)先設(shè)定上限路由距離和下限路由距離,在每次上限路由距離或下限路由距離發(fā)生更新時,判斷上限路由距離是否不小于下限路由距離,若是,則執(zhí)行以下操作,直至上限路由距離小于下限路由距離將本次得到上限路由距離和下限路由距離的平均值取整,得到第七路由距離,并將本次得到的第七路由距離作為測試數(shù)據(jù)包的生存時間,通過已確定五元組信息的TCP連接向移動終端發(fā)送該測試數(shù)據(jù)包,并判斷是否接收到返回的測試回應(yīng)消息;若是,則將本次得到的第七路由距離的路由跳數(shù)減I后作為更新后的上限路由距離;否則,將本次得到的第七路由距離的路由跳數(shù)減I后作為更新后的下限路由距離;確定在上限路由距離小于下限路由距離時得到的第七路由距離,在以該第七路由距離為測試數(shù)據(jù)包的生存時間時,若接收到測試超時消息,則將該第七路由距離的路由跳數(shù)加I后作為第一路由距離;若接收到測試正確消息,則將該第七路由距離的路由跳數(shù)作為第一路由距離。所述第二路由確定模塊,具體用于將第一路由距離的路由跳數(shù)減I后作為所述第二路由距離的最大值,以及將經(jīng)過所述核心網(wǎng)防火墻時產(chǎn)生的路由跳數(shù)作為所述第二路由距離的最小值,將不大于所述最大值且不小于所述最小值的路由跳數(shù)作為第二路由距離。本實施例三中的傳輸心跳數(shù)據(jù)包的設(shè)備可以是長連接一端的應(yīng)用服務(wù)器中的部件,也可以是獨(dú)立于應(yīng)用服務(wù)器的設(shè)備,如圖6所示,為該應(yīng)用服務(wù)器與移動終端之間的長連接進(jìn)行保活。本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本申請的實施例可提供為方法、系統(tǒng)、或計算機(jī)程序產(chǎn)品。因此,本申請可采用完全硬件實施例、完全軟件實施例、或結(jié)合軟件和硬件方面的實施例的形式。而且,本申請可采用在一個或多個其中包含有計算可用程序代碼的計算機(jī)可用存儲介質(zhì)(包括但不限于磁盤存儲器、CD-ROM、光學(xué)存儲器等)上實施的計算機(jī)程序產(chǎn)品的形式。本申請是參照根據(jù)本申請實施例的方法、設(shè)備(系統(tǒng))、和計算機(jī)程序產(chǎn)品的流程圖和/或方框圖來描述的。應(yīng)理解可由計算機(jī)程序指令實現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計算 機(jī)程序指令到通用計算機(jī)、專用計算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個機(jī)器,使得通過計算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。這些計算機(jī)程序指令也可存儲在能引導(dǎo)計算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計算機(jī)可讀存儲器中,使得存儲在該計算機(jī)可讀存儲器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。這些計算機(jī)程序指令也可裝載到計算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計算機(jī)或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計算機(jī)實現(xiàn)的處理,從而在計算機(jī)或其他可編程設(shè)備上執(zhí)行的指令提供用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。盡管已描述了本申請的優(yōu)選實施例,但本領(lǐng)域內(nèi)的技術(shù)人員一旦得知了基本創(chuàng)造性概念,則可對這些實施例做出另外的變更和修改。所以,所附權(quán)利要求意欲解釋為包括優(yōu)選實施例以及落入本申請范圍的所有變更和修改。顯然,本領(lǐng)域的技術(shù)人員可以對本發(fā)明進(jìn)行各種改動和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動和變型在內(nèi)。
      權(quán)利要求
      1.一種基于TCP的永遠(yuǎn)在線業(yè)務(wù)下傳輸心跳數(shù)據(jù)包的方法,其特征在于,所述方法包括 確定作為心跳數(shù)據(jù)包生存時間的設(shè)定路由距離,所述設(shè)定路由距離使心跳數(shù)據(jù)包在經(jīng)過核心網(wǎng)防火墻之后,到達(dá)移動終端所在的無線通信網(wǎng)絡(luò)之前的一跳路由器; 向移動終端發(fā)送以所述設(shè)定路由距離作為生存時間的心跳數(shù)據(jù)包。
      2.如權(quán)利要求I所述的方法,其特征在于,確定作為心跳數(shù)據(jù)包生存時間的設(shè)定路由距離,具體包括 向移動終端發(fā)送測試數(shù)據(jù)包,確定該測試數(shù)據(jù)包路由至移動終端時產(chǎn)生的第一路由距離; 根據(jù)所述第一路由距離,確定測試數(shù)據(jù)包在經(jīng)過核心網(wǎng)防火墻之后,且到達(dá)移動終端所在的無線通信網(wǎng)絡(luò)之前的一跳路由時,產(chǎn)生的第二路由距離,并將該第二路由距離作為所述設(shè)定路由距離。
      3.如權(quán)利要求2所述的方法,其特征在于,所述第一路由距離和第二路由距離是指數(shù)據(jù)包的路由跳數(shù)。
      4.如權(quán)利要求3所述的方法,其特征在于,所述第一路由距離通過以下方式確定 將所述測試數(shù)據(jù)包的TCP頭部序號值設(shè)置為所述移動終端識別為錯誤的值; 逐漸增大預(yù)先設(shè)定的第三路由距離,針對每次增大后得到的路由距離執(zhí)行以下操作 將本次得到的路由距離作為測試數(shù)據(jù)包的生存時間,向移動終端發(fā)送該測試數(shù)據(jù)包; 若返回復(fù)位RST的TCP消息,則將本次得到的路由距離作為第一路由距離; 若返回的控制報文協(xié)議ICMP消息攜帶的錯誤類型是超時,則繼續(xù)增大路由距離; 或者, 逐漸減小預(yù)先設(shè)定的第四路由距離,針對每次減小后得到的路由距離執(zhí)行以下操作將本次得到的路由距離作為測試數(shù)據(jù)包的生存時間,通過已確定五元組信息的TCP連接向移動終端發(fā)送該測試數(shù)據(jù)包,并判斷是否接收到返回的測試回應(yīng)消息; 若是,則繼續(xù)減小路由距離; 否則,將本次得到的路由距離加I作為第一路由距離; 或者, 預(yù)先設(shè)定上限路由距離和下限路由距離,在每次上限路由距離或下限路由距離發(fā)生更新時,判斷上限路由距離是否不小于下限路由距離,若是,則執(zhí)行以下操作,直至上限路由距離小于下限路由距離 將本次得到上限路由距離和下限路由距離的平均值取整,得到第五路由距離,并將本次得到的第五路由距離作為測試數(shù)據(jù)包的生存時間,通過已確定五元組信息的TCP連接向移動終端發(fā)送該測試數(shù)據(jù)包,并判斷是否接收到返回的測試回應(yīng)消息;若是,則將本次得到的第五路由距離的路由跳數(shù)減I后作為更新后的上限路由距離;否則,將本次得到的第五路由距離的路由跳數(shù)減I后作為更新后的下限路由距離;確定在上限路由距離小于下限路由距離時得到的第五路由距離,在以該第五路由距離為測試數(shù)據(jù)包的生存時間時,若接收到測試超時消息,則將該第五路由距離的路由跳數(shù)加I后作為第一路由距離;若接收到測試正確消息,則將該第五路由距離的路由跳數(shù)作為第一路由距離。
      5.如權(quán)利要求2 4任一所述的方法,其特征在于,根據(jù)所述第一路由距離,確定產(chǎn)生的第二路由距離,具體包括 將第一路由距離的路由跳數(shù)減I后作為所述第二路由距離的最大值,以及將經(jīng)過所述核心網(wǎng)防火墻時產(chǎn)生的路由跳數(shù)作為所述第二路由距離的最小值; 將不大于所述最大值且不小于所述最小值的路由跳數(shù)作為第二路由距離。
      6.一種基于TCP的永遠(yuǎn)在線業(yè)務(wù)下傳輸心跳數(shù)據(jù)包的設(shè)備,其特征在于,所述設(shè)備包括 距離探測模塊,用于確定作為心跳數(shù)據(jù)包生存時間的設(shè)定路由距離,所述設(shè)定路由距離使心跳數(shù)據(jù)包在經(jīng)過核心網(wǎng)防火墻之后,到達(dá)移動終端所在的無線通信網(wǎng)絡(luò)之前的一跳路由器; 數(shù)據(jù)包發(fā)送模塊,用于向移動終端發(fā)送以所述設(shè)定路由距離作為生存時間的心跳數(shù)據(jù)包。
      7.如權(quán)利要求6所述的設(shè)備,其特征在于,所述距離探測模塊,包括 第一路由確定模塊,用于向移動終端發(fā)送測試數(shù)據(jù)包,確定該測試數(shù)據(jù)包路由至移動終端時產(chǎn)生的第一路由距離; 第二路由確定模塊,用于根據(jù)所述第一路由距離,確定測試數(shù)據(jù)包在經(jīng)過核心網(wǎng)防火墻之后,且到達(dá)移動終端所在的無線通信網(wǎng)絡(luò)之前的一跳路由時,產(chǎn)生的第二路由距離,并將該第二路由距離作為所述設(shè)定路由距離。
      8.如權(quán)利要求7所述的設(shè)備,其特征在于,所述第一路由距離和第二路由距離是指數(shù)據(jù)包的路由跳數(shù)。
      9.如權(quán)利要求8所述的設(shè)備,其特征在于, 所述第一路由確定模塊,具體用于將所述測試數(shù)據(jù)包的TCP頭部序號值設(shè)置為所述移動終端識別為錯誤的值,并逐漸增大預(yù)先設(shè)定的第三路由距離,針對每次增大后得到的路由距離執(zhí)行以下操作 將本次得到的路由距離作為測試數(shù)據(jù)包的生存時間,向移動終端發(fā)送該測試數(shù)據(jù)包; 若返回復(fù)位RST的TCP消息,則將本次得到的路由距離作為第一路由距離; 若返回的控制報文協(xié)議ICMP消息攜帶的錯誤類型是超時,則繼續(xù)增大路由距離; 或者, 具體用于逐漸減小預(yù)先設(shè)定的第四路由距離,針對每次減小后得到的路由距離執(zhí)行以下操作 將本次得到的路由距離作為測試數(shù)據(jù)包的生存時間,通過已確定五元組信息的TCP連接向移動終端發(fā)送該測試數(shù)據(jù)包,并判斷是否接收到返回的測試回應(yīng)消息; 若是,則繼續(xù)減小路由距離; 否則,將本次得到的路由距離加I作為第一路由距離; 或者, 具體用于預(yù)先設(shè)定上限路由距離和下限路由距離,在每次上限路由距離或下限路由距離發(fā)生更新時,判斷上限路由距離是否不小于下限路由距離,若是,則執(zhí)行以下操作,直至上限路由距離小于下限路由距離 將本次得到上限路由距離和下限路由距離的平均值取整,得到第五路由距離,并將本次得到的第五路由距離作為測試數(shù)據(jù)包的生存時間,通過已確定五元組信息的TCP連接向移動終端發(fā)送該測試數(shù)據(jù)包,并判斷是否接收到返回的測試回應(yīng)消息;若是,則將本次得到的第五路由距離的路由跳數(shù)減I后作為更新后的上限路由距離;否則,將本次得到的第五路由距離的路由跳數(shù)減I后作為更新后的下限路由距離;確定在上限路由距離小于下限路由距離時得到的第五路由距離,在以該第五路由距離為測試數(shù)據(jù)包的生存時間時,若接收到測試超時消息,則將該第五路由距離的路由跳數(shù)加I后作為第一路由距離;若接收到測試正確消息,則將該第五路由距離的路由跳數(shù)作為第一路由距離。
      10.如權(quán)利要求7 9任一所述的設(shè)備,其特征在于, 所述第二路由確定模塊,具體用于將第一路由距離的路由跳數(shù)減I后作為所述第二路由距離的最大值,以及將經(jīng)過所述核心網(wǎng)防火墻時產(chǎn)生的路由跳數(shù)作為所述第二路由距離的最小值,將不大于所述最大值且不小于所述最小值的路由跳數(shù)作為第二路由距離。
      全文摘要
      本發(fā)明公開了一種基于TCP的永遠(yuǎn)在線業(yè)務(wù)下傳輸心跳數(shù)據(jù)包的方法及設(shè)備,主要內(nèi)容包括在傳輸心跳數(shù)據(jù)包之前,確定能夠使數(shù)據(jù)包穿過核心網(wǎng)防火墻但不進(jìn)入移動終端所在的無線通信網(wǎng)絡(luò)的生存時間,在每次傳輸心跳數(shù)據(jù)包時,按照該生存時間進(jìn)行傳輸,一方面使心跳數(shù)據(jù)包能夠穿過核心網(wǎng)防火墻,達(dá)到對終端與應(yīng)用服務(wù)器之間長連接的?;钅康?,另一方面,心跳數(shù)據(jù)包并沒有進(jìn)入無線通信網(wǎng)絡(luò),不會增加無線通信網(wǎng)絡(luò)的負(fù)擔(dān),也不會占用無線信道。
      文檔編號H04W40/02GK102769883SQ20111011320
      公開日2012年11月7日 申請日期2011年5月3日 優(yōu)先權(quán)日2011年5月3日
      發(fā)明者于蓉蓉, 張炎, 王磊, 陳閣, 黃曉慶 申請人:中國移動通信集團(tuán)公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
      1