專利名稱:一種數(shù)據(jù)傳輸?shù)姆椒?、系統(tǒng)及設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信領(lǐng)域,尤其涉及一種數(shù)據(jù)傳輸?shù)姆椒?、系統(tǒng)及設(shè)備。
背景技術(shù):
在目前的移動(dòng)數(shù)據(jù)業(yè)務(wù)執(zhí)行過程中,移動(dòng)終端側(cè)與應(yīng)用服務(wù)器側(cè)之間的數(shù)據(jù)交互有Pull方式和Push方式。Pull方式是指當(dāng)安裝在移動(dòng)終端內(nèi)的應(yīng)用程序需要從相應(yīng)的應(yīng)用服務(wù)器中獲取業(yè)務(wù)數(shù)據(jù)時(shí),移動(dòng)終端主動(dòng)與服務(wù)器建立連接,對(duì)服務(wù)器進(jìn)行數(shù)據(jù)訪問,獲取相應(yīng)的業(yè)務(wù)數(shù)據(jù)。Pull方式是移動(dòng)終端主動(dòng)從服務(wù)器中獲取數(shù)據(jù)的方式,只適用于對(duì)實(shí)時(shí)性要求較低的數(shù)據(jù)業(yè)務(wù)交互過程,這是因?yàn)椋舴?wù)器中有需要推送給移動(dòng)終端的數(shù)據(jù)但移動(dòng)終端沒有及時(shí)與服務(wù)器連接,就會(huì)造成數(shù)據(jù)推送不及時(shí)的問題,若將Pull方式應(yīng)用在實(shí)時(shí)性要求 較高的數(shù)據(jù)業(yè)務(wù)交互過程,如郵件、即時(shí)通信等數(shù)據(jù)業(yè)務(wù)的交互,就會(huì)出現(xiàn)數(shù)據(jù)延遲。Push方式是指由服務(wù)器主動(dòng)將業(yè)務(wù)數(shù)據(jù)推送給移動(dòng)終端的方式,由于Push方式可以實(shí)時(shí)向移動(dòng)終端推送業(yè)務(wù)數(shù)據(jù),因此,對(duì)于業(yè)務(wù)數(shù)據(jù)推送的實(shí)時(shí)性效果較好。Push方式的實(shí)現(xiàn)方案有多種,包括短消息Push方式(SMS Push)、多媒體消息Push方式(MMS Push)、無線應(yīng)用Push方式(WAP Push)、互聯(lián)網(wǎng)Push方式(IP Push)和互聯(lián)網(wǎng)短消息Push方式(EMN Push)。上述各Push方式的實(shí)現(xiàn)方案具體內(nèi)容為SMS Push和MMS Push是指服務(wù)器通過短消息或多媒體消息的方式向移動(dòng)終端推送業(yè)務(wù)數(shù)據(jù)的Push方式,用戶可以通過移動(dòng)終端直接查看短消息或多媒體消息內(nèi)的業(yè)務(wù)數(shù)據(jù)。SMS Push和麗S Push的方案中,服務(wù)器向移動(dòng)終端推送的短消息或多媒體消息會(huì)受到網(wǎng)絡(luò)質(zhì)量高低的影響,在網(wǎng)絡(luò)質(zhì)量低時(shí),短消息和多媒體消息的傳輸會(huì)出現(xiàn)時(shí)延,影響業(yè)務(wù)數(shù)據(jù)推送的實(shí)時(shí)性效果;且短消息和多媒體消息中攜帶的業(yè)務(wù)數(shù)據(jù)是明文形式,業(yè)務(wù)數(shù)據(jù)的安全性也存在隱患;另外,用戶只能通過移動(dòng)終端讀取業(yè)務(wù)數(shù)據(jù),而不能通過短消息回復(fù)等方式實(shí)現(xiàn)與服務(wù)器的信息交互,且只有軟硬件能力支持多媒體消息的移動(dòng)終端才能支持MMS Push,對(duì)移動(dòng)終端的硬件能力要求較高,對(duì)移動(dòng)終端有限制。WAP Push是指服務(wù)器向移動(dòng)終端推送包含鏈接的信息,移動(dòng)終端通過信息中的統(tǒng)一資源定位符(URL)訪問并獲取相應(yīng)的業(yè)務(wù)數(shù)據(jù)。在WAP Push方案中,包含服務(wù)器向移動(dòng)終端發(fā)送鏈接以及移動(dòng)終端通過鏈接訪問業(yè)務(wù)數(shù)據(jù)的兩次操作(移動(dòng)終端通過鏈接訪問業(yè)務(wù)數(shù)據(jù)的操作實(shí)際上就是Pull操作),對(duì)業(yè)務(wù)數(shù)據(jù)推送的實(shí)時(shí)性有不良影響。EMN Push是指當(dāng)服務(wù)器需要向移動(dòng)終端內(nèi)處于休眠狀態(tài)的郵件程序推送業(yè)務(wù)數(shù)據(jù)時(shí),向移動(dòng)終端發(fā)送專有的喚醒短消息,使郵件程序由休眠狀態(tài)轉(zhuǎn)換為啟動(dòng)狀態(tài),待郵件程序啟動(dòng)后,與郵件服務(wù)器建立長連接,獲取業(yè)務(wù)數(shù)據(jù)。在EMN Push方案中,移動(dòng)終端從郵件服務(wù)器中獲取業(yè)務(wù)數(shù)據(jù)后并不斷開長連接,而是由郵件服務(wù)器在一段時(shí)長內(nèi)一直沒有業(yè)務(wù)數(shù)據(jù)的傳輸時(shí)才斷開,在郵件服務(wù)器等待的時(shí)長內(nèi),移動(dòng)終端與郵件服務(wù)器之間并沒有業(yè)務(wù)數(shù)據(jù)的傳輸,但移動(dòng)終端與郵件服務(wù)器之間的長連接仍存在,導(dǎo)致移動(dòng)終端的系統(tǒng)資源開銷大。IP Push是指針對(duì)移動(dòng)終端內(nèi)的一個(gè)應(yīng)用程序,為該應(yīng)用程序提供業(yè)務(wù)數(shù)據(jù)的應(yīng)用服務(wù)器與移動(dòng)終端保持一個(gè)IP長連接,由于該長連接的存在,應(yīng)用服務(wù)器可以實(shí)時(shí)向移動(dòng)終端內(nèi)的所述應(yīng)用程序推送業(yè)務(wù)數(shù)據(jù),克服了 SMSPush、MMS Push和WAP Push的時(shí)延問題,以及SMS Push和麗S Push安全隱患、移動(dòng)終端與服務(wù)器之間交互的問題。但是,在IP Push方案中,若應(yīng)用程序沒有運(yùn)行或應(yīng)用程序不需要與應(yīng)用服務(wù)器進(jìn)行數(shù)據(jù)交互的情況下,移動(dòng)終端與應(yīng)用服務(wù)器之間的IP長連接仍持續(xù)存在,增加了移動(dòng)終端的資源開銷,導(dǎo)致移動(dòng)終端耗電量大;為解決IP長連接帶來的資源開銷,對(duì)IP Push方案作了改動(dòng),要求IP長連接在應(yīng)用程序運(yùn)行時(shí)連接,在應(yīng)用程序未運(yùn)行時(shí)斷開,這種改動(dòng)又會(huì)使IP長連接頻繁地連接、斷開,仍會(huì)增大移動(dòng)終端的系統(tǒng)資源開銷。同時(shí),針對(duì)應(yīng)用服務(wù)器而言,面向的移動(dòng)終端數(shù)量很大,如果應(yīng)用服務(wù)器分別與每個(gè)移動(dòng)終端內(nèi)對(duì)應(yīng)的一個(gè)應(yīng)用程序建立一條長連接,則應(yīng)用服務(wù)器的資源開銷也會(huì)非常 大。上述對(duì)IP Push方案是針對(duì)移動(dòng)終端內(nèi)安裝的一種應(yīng)用程序而言的,目前的智能移動(dòng)終端內(nèi)大多安裝了較多數(shù)量的應(yīng)用程序,如果針對(duì)移動(dòng)終端內(nèi)的所有應(yīng)用程序都執(zhí)行IP Push方案,即一個(gè)移動(dòng)終端內(nèi)安裝多個(gè)應(yīng)用程序時(shí),該移動(dòng)終端需要與多個(gè)應(yīng)用服務(wù)器分別建立長連接,則移動(dòng)終端需要為這些長連接分配大量的系統(tǒng)資源,導(dǎo)致移動(dòng)終端的系統(tǒng)開銷過大,甚至影響移動(dòng)終端的其他業(yè)務(wù)的正常運(yùn)行。另外,如果移動(dòng)終端與應(yīng)用服務(wù)器之間的長連接要一直保持連接的狀態(tài),應(yīng)用服務(wù)器需要向該長連接經(jīng)過的核心網(wǎng)防火墻周期性地發(fā)送保活消息,用于通知防火墻該長連接一直有效,不得斷開此長連接。由于應(yīng)用服務(wù)器發(fā)送心跳數(shù)據(jù)包的目的是對(duì)長連接的?;?,維持長連接的服務(wù)狀態(tài),因此該心跳數(shù)據(jù)包的數(shù)據(jù)量比較小,但發(fā)送頻率比較高。心跳數(shù)據(jù)包一般只有幾十個(gè)字節(jié),包括心跳數(shù)據(jù)包接收方的移動(dòng)終端標(biāo)識(shí)、與該應(yīng)用服務(wù)器進(jìn)行交互的移動(dòng)終端內(nèi)安裝的應(yīng)用程序標(biāo)識(shí)和心跳序列號(hào)等內(nèi)容。發(fā)送心跳數(shù)據(jù)包的頻率根據(jù)業(yè)務(wù)的不同而有所不同,以即時(shí)通信業(yè)務(wù)為例,應(yīng)用服務(wù)器向移動(dòng)終端發(fā)送心跳數(shù)據(jù)包的頻率可達(dá)30秒/個(gè)。在心跳數(shù)據(jù)包從應(yīng)用服務(wù)器到移動(dòng)終端的傳輸過程中,需要經(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)中傳輸時(shí),也不會(huì)對(duì)internet網(wǎng)絡(luò)和核心網(wǎng)造成明顯影響。但是,當(dāng)心跳數(shù)據(jù)包在無線通信網(wǎng)絡(luò)中傳輸時(shí),需要為心跳數(shù)據(jù)包的傳輸分配信道,而信道的分配過程又需要使用大量的信令,因此,心跳數(shù)據(jù)包在無線通信網(wǎng)絡(luò)中傳輸時(shí),會(huì)占用大量的無線信道資源(使用的信令占用控制信道,傳輸心跳數(shù)據(jù)包占用業(yè)務(wù)信道),若心跳數(shù)據(jù)包頻繁地在無線通信網(wǎng)絡(luò)中傳輸,會(huì)增加網(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ā)明實(shí)施例提供一種數(shù)據(jù)傳輸?shù)姆椒?、系統(tǒng)及設(shè)備,用以解決現(xiàn)有技術(shù)中存在的為保證移動(dòng)終端和應(yīng)用服務(wù)器之間數(shù)據(jù)傳輸實(shí)時(shí)性,導(dǎo)致移動(dòng)終端或應(yīng)用服務(wù)器的資源占用量過大的問題,以及心跳數(shù)據(jù)包在無線通信網(wǎng)絡(luò)中的傳輸會(huì)增加網(wǎng)絡(luò)負(fù)擔(dān)、使無線信道使用效率低的問題。一種數(shù)據(jù)傳輸?shù)姆椒?,所述方法包括網(wǎng)關(guān)通過與移動(dòng)終端之間建立的第一長連接接收來自移動(dòng)終端的上行數(shù)據(jù)消息,所述上行數(shù)據(jù)消息中攜帶應(yīng)用服務(wù)器的標(biāo)識(shí),所述第一長連接傳輸移動(dòng)終端內(nèi)任一應(yīng)用程序生成的上行數(shù)據(jù)消息;網(wǎng)關(guān)在確定與所述應(yīng)用服務(wù)器的標(biāo)識(shí)對(duì)應(yīng)的應(yīng)用服務(wù)器之間建立了第二長連接時(shí),通過所述第二長連接,將所述上行數(shù)據(jù)消息發(fā)送至所述應(yīng)用服務(wù)器;其中,針對(duì)所述第一長連接,將設(shè)定的路由距離作為心跳數(shù)據(jù)包的生存時(shí)間,向移動(dòng)終端發(fā)送該心跳數(shù)據(jù)包,所述路由距離大于心跳數(shù)據(jù)包穿過核心網(wǎng)防火墻的距離,但小 于到達(dá)移動(dòng)終端所在的無線通信網(wǎng)絡(luò)的距離。一種數(shù)據(jù)傳輸?shù)姆椒?,所述方法包括網(wǎng)關(guān)通過與應(yīng)用服務(wù)器之間建立的第二長連接接收來自應(yīng)用服務(wù)器的下行數(shù)據(jù)消息,所述下行數(shù)據(jù)消息中攜帶移動(dòng)終端在應(yīng)用服務(wù)器中注冊(cè)時(shí)使用的第一標(biāo)識(shí),所述第二長連接傳輸應(yīng)用服務(wù)器發(fā)送給任一終端的下行數(shù)據(jù)消息;網(wǎng)關(guān)通過與所述第一標(biāo)識(shí)對(duì)應(yīng)的移動(dòng)終端之間的第一長連接,將所述下行數(shù)據(jù)消息發(fā)送至所述移動(dòng)終端;其中,針對(duì)所述第一長連接,將設(shè)定的路由距離作為心跳數(shù)據(jù)包的生存時(shí)間,向移動(dòng)終端發(fā)送該心跳數(shù)據(jù)包,所述路由距離大于心跳數(shù)據(jù)包穿過核心網(wǎng)防火墻的距離,但小于到達(dá)移動(dòng)終端所在的無線通信網(wǎng)絡(luò)的距離。一種數(shù)據(jù)傳輸?shù)南到y(tǒng),包括移動(dòng)終端、網(wǎng)關(guān)、應(yīng)用服務(wù)器和?;钤O(shè)備,其中所述移動(dòng)終端,用于與網(wǎng)關(guān)之間建立第一長連接,并通過所述第一長連接向網(wǎng)關(guān)發(fā)送上行數(shù)據(jù)消息,所述上行數(shù)據(jù)消息中攜帶應(yīng)用服務(wù)器的標(biāo)識(shí),所述第一長連接傳輸移動(dòng)終端內(nèi)任一應(yīng)用程序生成的上行數(shù)據(jù)消息;所述網(wǎng)關(guān),用于在確定與所述應(yīng)用服務(wù)器的標(biāo)識(shí)對(duì)應(yīng)的應(yīng)用服務(wù)器之間建立了第二長連接時(shí),通過所述第二長連接,將所述上行數(shù)據(jù)消息發(fā)送至所述應(yīng)用服務(wù)器;所述應(yīng)用服務(wù)器,用于通過所述第二長連接接收上行數(shù)據(jù)消息;所述保活設(shè)備,用于針對(duì)所述第一長連接,將設(shè)定的路由距離作為心跳數(shù)據(jù)包的生存時(shí)間,向移動(dòng)終端發(fā)送該心跳數(shù)據(jù)包,所述路由距離大于心跳數(shù)據(jù)包穿過核心網(wǎng)防火墻的距離,但小于到達(dá)移動(dòng)終端所在的無線通信網(wǎng)絡(luò)的距離。一種數(shù)據(jù)傳輸?shù)南到y(tǒng),所述系統(tǒng)包括移動(dòng)終端、網(wǎng)關(guān)、應(yīng)用服務(wù)器和保活設(shè)備,其中應(yīng)用服務(wù)器,用于與網(wǎng)關(guān)建立第二長連接,并通過所述第二長連接向網(wǎng)關(guān)發(fā)送下行數(shù)據(jù)消息,所述下行數(shù)據(jù)消息中攜帶移動(dòng)終端在應(yīng)用服務(wù)器中注冊(cè)時(shí)使用的第一標(biāo)識(shí),所述第二長連接傳輸應(yīng)用服務(wù)器發(fā)送給任一終端的下行數(shù)據(jù)消息;網(wǎng)關(guān),用于通過與所述第一標(biāo)識(shí)對(duì)應(yīng)的移動(dòng)終端之間的第一長連接,將所述下行數(shù)據(jù)消息發(fā)送至所述移動(dòng)終端;
移動(dòng)終端,用于通過所述第一長連接接收下行數(shù)據(jù)消息;所述?;钤O(shè)備,用于針對(duì)所述第一長連接,將設(shè)定的路由距離作為心跳數(shù)據(jù)包的生存時(shí)間,向移動(dòng)終端發(fā)送該心跳數(shù)據(jù)包,所述路由距離大于心跳數(shù)據(jù)包穿過核心網(wǎng)防火墻的距離,但小于到達(dá)移動(dòng)終端所在的無線通信網(wǎng)絡(luò)的距離。一種網(wǎng)關(guān),所述網(wǎng)關(guān)包括第一連接模塊,用于與移動(dòng)終端之間建立第一長連接,與應(yīng)用服務(wù)器之間建立第二長連接,所述第一長連接傳輸移動(dòng)終端內(nèi)任一應(yīng)用程序生成的上行數(shù)據(jù)消息,所述第二長連接傳輸應(yīng)用服務(wù)器發(fā)送給任一終端的下行數(shù)據(jù)消息;傳輸模塊,用于在上行傳輸過程中,接收到移動(dòng)終端通過第一長連接發(fā)送的上行數(shù)據(jù)消息時(shí),根據(jù)該上行數(shù)據(jù)消息中攜帶的應(yīng)用服務(wù)器的標(biāo)識(shí),將該上行數(shù)據(jù)消息通過第二長連接發(fā)送至對(duì)應(yīng)的應(yīng)用服務(wù)器,以及在下行傳輸過程中,接收到應(yīng)用服務(wù)器通過第二長連接發(fā)送的下行數(shù)據(jù)消息時(shí),根據(jù)該下行數(shù)據(jù)消息中攜帶的移動(dòng)終端的第一標(biāo)識(shí),將該 下行數(shù)據(jù)消息通過第一長連接發(fā)送至對(duì)應(yīng)的移動(dòng)終端。一種移動(dòng)終端,所述移動(dòng)終端包括接口模塊,用于與網(wǎng)關(guān)建立第一長連接,所述第一長連接傳輸移動(dòng)終端內(nèi)任一應(yīng)用程序生成的上行數(shù)據(jù)消息;數(shù)據(jù)收發(fā)模塊,用于通過第一長連接向網(wǎng)關(guān)發(fā)送上行數(shù)據(jù)消息,所述上行數(shù)據(jù)消息中攜帶應(yīng)用服務(wù)器的標(biāo)識(shí),以及通過第一長連接接收網(wǎng)關(guān)推送的下行數(shù)據(jù)消息。一種應(yīng)用服務(wù)器,所述應(yīng)用服務(wù)器包括接口模塊,用于與網(wǎng)關(guān)建立第二長連接,所述第二長連接傳輸應(yīng)用服務(wù)器發(fā)送給任一終端的下行數(shù)據(jù)消息;數(shù)據(jù)收發(fā)模塊,用于通過所述第二長連接接收網(wǎng)關(guān)發(fā)送的上行數(shù)據(jù)消息,以及通過所述第二長連接向網(wǎng)關(guān)發(fā)送下行數(shù)據(jù)消息,所述下行數(shù)據(jù)消息中攜帶移動(dòng)終端在應(yīng)用服務(wù)器中注冊(cè)時(shí)使用的第一標(biāo)識(shí)。一種保活設(shè)備,其特征在于,所述?;钤O(shè)備包括距離探測模塊,用于將設(shè)定的路由距離作為心跳數(shù)據(jù)包的生存時(shí)間,所述路由距離大于心跳數(shù)據(jù)包穿過核心網(wǎng)防火墻的距離,但小于到達(dá)移動(dòng)終端所在的無線通信網(wǎng)絡(luò)的距離;數(shù)據(jù)包發(fā)送模塊,用于按照生存時(shí)間所述向移動(dòng)終端發(fā)送該心跳數(shù)據(jù)包。本發(fā)明有益效果如下本發(fā)明實(shí)施例提出一種新的數(shù)據(jù)傳輸方案,采用永遠(yuǎn)在線機(jī)制(Always OnlineInfrastructure, AOI),在移動(dòng)終端與應(yīng)用服務(wù)器之間設(shè)置網(wǎng)關(guān),移動(dòng)終端與網(wǎng)關(guān)之間建立一條長連接,網(wǎng)關(guān)與各應(yīng)用服務(wù)器之間分別建立一條長連接,在上行過程中,移動(dòng)終端內(nèi)的任一應(yīng)用程序發(fā)出的上行數(shù)據(jù)消息都通過與網(wǎng)關(guān)之間的一條長連接進(jìn)行上行傳輸,在下行過程中,應(yīng)用服務(wù)器發(fā)送給任一移動(dòng)終端的下行數(shù)據(jù)消息也通過與網(wǎng)關(guān)之間的一條長連接進(jìn)行下行傳輸。因此,移動(dòng)終端和應(yīng)用服務(wù)器之間分別通過與網(wǎng)關(guān)的第一長連接和第二長連接實(shí)現(xiàn)數(shù)據(jù)交互的高實(shí)時(shí)性,同時(shí)移動(dòng)終端只需要為與網(wǎng)關(guān)之間的一條長連接分配資源,應(yīng)用服務(wù)器也只需要為與網(wǎng)關(guān)之間的一條長連接分配資源減少了對(duì)移動(dòng)終端和應(yīng)用服務(wù)器之間的資源占用。同時(shí),針對(duì)第一長連接,將大于心跳數(shù)據(jù)包穿過核心網(wǎng)防火墻的距離,但小于到達(dá)移動(dòng)終端所在的無線通信網(wǎng)絡(luò)的距離作為心跳數(shù)據(jù)包的生存時(shí)間,向移動(dòng)終端發(fā)送該心跳數(shù)據(jù)包,一方面使心跳數(shù)據(jù)包能夠穿過核心網(wǎng)防火墻,達(dá)到對(duì)第一長連接的?;钅康模硪环矫?,心跳數(shù)據(jù)包并沒有進(jìn)入無線通信網(wǎng)絡(luò),不會(huì)增加無線通信網(wǎng)絡(luò)的負(fù)擔(dān),也不會(huì)占用無線信道。
圖I為背景技術(shù)中心跳數(shù)據(jù)包傳輸經(jīng)過網(wǎng)絡(luò)的示意圖;圖2為本發(fā)明實(shí)施例一中進(jìn)行上行數(shù)據(jù)傳輸?shù)姆椒ú襟E示意圖;圖3為本發(fā)明實(shí)施例一中移動(dòng)終端在網(wǎng)關(guān)中注冊(cè)并建立第一長連接的方法步驟
示意圖;圖4為本發(fā)明實(shí)施例一中針對(duì)第一長連接傳輸心跳數(shù)據(jù)包的方法步驟示意圖;圖5為本發(fā)明實(shí)施例一中針對(duì)第一長連接傳輸心跳數(shù)據(jù)包的方法步驟示意圖;圖6為本發(fā)明實(shí)施例三中進(jìn)行下行數(shù)據(jù)傳輸?shù)姆椒ú襟E示意圖;圖7為本發(fā)明實(shí)施例四中數(shù)據(jù)傳輸?shù)南到y(tǒng)結(jié)構(gòu)示意圖;圖8為本發(fā)明實(shí)施例六中網(wǎng)關(guān)的結(jié)構(gòu)示意圖;圖9為本發(fā)明實(shí)施例七中移動(dòng)終端的結(jié)構(gòu)示意圖;圖10為本發(fā)明實(shí)施例八中應(yīng)用服務(wù)器的結(jié)構(gòu)示意圖;圖11為本發(fā)明實(shí)施例九?;钤O(shè)備的結(jié)構(gòu)示意圖;圖12為本發(fā)明實(shí)施例九保活設(shè)備的結(jié)構(gòu)示意圖;圖13為本發(fā)明實(shí)施例網(wǎng)關(guān)內(nèi)包括包括子系統(tǒng)的系統(tǒng)結(jié)構(gòu)示意圖。
具體實(shí)施例方式為了減少移動(dòng)終端為本地安裝的多種應(yīng)用程序與大量的應(yīng)用服務(wù)器之間建立長連接時(shí)占用的資源,同時(shí)得到IP Push方案中移動(dòng)終端與應(yīng)用服務(wù)器之間高實(shí)時(shí)性的數(shù)據(jù)傳輸,本發(fā)明實(shí)施例提出一種新的數(shù)據(jù)傳輸方案,采用永遠(yuǎn)在線機(jī)制(Always OnlineInfrastructure, AOI),在移動(dòng)終端與應(yīng)用服務(wù)器之間設(shè)置網(wǎng)關(guān),移動(dòng)終端與網(wǎng)關(guān)之間建立一條長連接,網(wǎng)關(guān)與各應(yīng)用服務(wù)器之間分別建立一條長連接,在上行過程中,移動(dòng)終端內(nèi)的任一應(yīng)用程序發(fā)出的上行數(shù)據(jù)消息都通過與網(wǎng)關(guān)之間的一條長連接進(jìn)行上行傳輸,在下行過程中,應(yīng)用服務(wù)器發(fā)送給任一移動(dòng)終端的下行數(shù)據(jù)消息也通過與網(wǎng)關(guān)之間的一條長連接進(jìn)行下行傳輸。對(duì)于移動(dòng)終端側(cè)而言,不論移動(dòng)終端內(nèi)安裝的應(yīng)用程序數(shù)量如何,移動(dòng)終端只需要為與網(wǎng)關(guān)之間的一條長連接分配資源就能夠達(dá)到對(duì)數(shù)據(jù)高實(shí)時(shí)性的接收;對(duì)于應(yīng)用服務(wù)器側(cè)而言,不論該應(yīng)用服務(wù)器所服務(wù)的移動(dòng)終端數(shù)量如何,應(yīng)用服務(wù)器也只需要為與網(wǎng)關(guān)之間的一條長連接分配資源就能夠?qū)崟r(shí)向移動(dòng)終端推送數(shù)據(jù)。也就是說,通過本發(fā)明實(shí)施例的方案,在數(shù)據(jù)傳輸過程中,既減少了對(duì)移動(dòng)終端和應(yīng)用服務(wù)器之間的資源占用,又確保了移動(dòng)終端和應(yīng)用服務(wù)器之間的高實(shí)時(shí)性數(shù)據(jù)傳輸。同時(shí),在為第一長連接傳輸心跳數(shù)據(jù)包之前,通過對(duì)測試數(shù)據(jù)包傳輸過程的監(jiān)控,確定能夠使數(shù)據(jù)包穿過核心網(wǎng)防火墻但不進(jìn)入移動(dòng)終端所在的無線通信網(wǎng)絡(luò)的生存時(shí)間,在每次傳輸心跳數(shù)據(jù)包時(shí),按照該生存時(shí)間進(jìn)行傳輸,一方面使心跳數(shù)據(jù)包能夠穿過核心網(wǎng)防火墻,達(dá)到對(duì)移動(dòng)終端與網(wǎng)關(guān)之間第一長連接的?;钅康?,另一方面,心跳數(shù)據(jù)包并沒有進(jìn)入無線通信網(wǎng)絡(luò),不會(huì)增加無線通信網(wǎng)絡(luò)的負(fù)擔(dān),也不會(huì)占用無線信道。本發(fā)明各實(shí)施例中涉及的網(wǎng)關(guān)是指AOI機(jī)制下的永遠(yuǎn)在線網(wǎng)關(guān)(Always OnlineGateway, AOG),AOG可以為基于移動(dòng)互聯(lián)網(wǎng)的長連接應(yīng)用提供統(tǒng)一的接入點(diǎn),一方面,作為移動(dòng)終端與網(wǎng)絡(luò)側(cè)之間數(shù)據(jù)傳輸和同步的通道,另一方面,作為應(yīng)用服務(wù)器與移動(dòng)終端側(cè)之間數(shù)據(jù)傳輸和同步的通道。本發(fā)明各實(shí)施例中涉及的移動(dòng)終 端是指AOI機(jī)制下的移動(dòng)終端,即具有對(duì)安裝在移動(dòng)終端內(nèi)的各應(yīng)用程序進(jìn)行有序管理以及與網(wǎng)關(guān)之間的長連接管理等功能。AOI機(jī)制下的移動(dòng)終端可以是安裝運(yùn)行了具有上述功能的AOI中間件的移動(dòng)終端。本發(fā)明各實(shí)施例中涉及的應(yīng)用服務(wù)器是指與移動(dòng)終端內(nèi)安裝的應(yīng)用程序進(jìn)行業(yè)務(wù)數(shù)據(jù)交互的網(wǎng)絡(luò)服務(wù)器。如移動(dòng)終端內(nèi)安裝了即時(shí)通信應(yīng)用程序,則為了保證即時(shí)通信業(yè)務(wù)的正常運(yùn)行,即時(shí)通信應(yīng)用程序需要與即時(shí)通信服務(wù)器之間進(jìn)行有效的業(yè)務(wù)數(shù)據(jù)交互。本發(fā)明各實(shí)施例中建立的長連接是指在一個(gè)連接上可以連續(xù)發(fā)送多個(gè)數(shù)據(jù)包,在連接保持期間,如果沒有數(shù)據(jù)包發(fā)送,需要雙方發(fā)鏈路?;畎倪B接方式,如針對(duì)套接字(Socket)的長連接等。終端與網(wǎng)關(guān)之間的第一長連接,可以為移動(dòng)終端內(nèi)任一應(yīng)用程序生成的上行數(shù)據(jù)消息進(jìn)行上行傳輸,以及接收發(fā)送給該終端內(nèi)任一應(yīng)用程序的下行數(shù)據(jù)消息。應(yīng)用服務(wù)器與網(wǎng)關(guān)之間的第二長連接,可以為應(yīng)用服務(wù)器接收任一終端發(fā)送的上行數(shù)據(jù)消息,以及傳輸該應(yīng)用服務(wù)器發(fā)送給任一終端的上行數(shù)據(jù)消息。本發(fā)明各實(shí)施例中涉及的心跳數(shù)據(jù)包是指對(duì)心跳數(shù)據(jù)包指定的某一條長連接進(jìn)行?;畹臄?shù)據(jù)包。本發(fā)明各實(shí)施例中涉及的核心網(wǎng)防火墻是指=Internet網(wǎng)絡(luò)邊界的防火墻,移動(dòng)終端與網(wǎng)關(guān)之間的第一長連接要經(jīng)過該防火墻,由防火墻對(duì)該長連接是否需要釋放進(jìn)行監(jiān)控,若在周期時(shí)間內(nèi)防火墻沒有收到針對(duì)該長連接的心跳數(shù)據(jù)包,則表示該長連接沒有數(shù)據(jù)需要傳輸并釋放;若收到針對(duì)該長連接的心跳數(shù)據(jù)包,則繼續(xù)維護(hù)該長連接。本發(fā)明各實(shí)施例中涉及的路由距離是指數(shù)據(jù)包的路由跳數(shù)。本發(fā)明各實(shí)施例中心跳數(shù)據(jù)包的生存時(shí)間是指該心跳數(shù)據(jù)包在傳輸過程中的路由跳數(shù)。下面結(jié)合說明書附圖對(duì)本發(fā)明各實(shí)施例進(jìn)行詳細(xì)說明。實(shí)施例一如圖2所示,為本發(fā)明實(shí)施例一中進(jìn)行上行(Mobile Original,MO)數(shù)據(jù)傳輸?shù)姆椒ú襟E示意圖,包括以下步驟步驟101 :移動(dòng)終端通過與網(wǎng)關(guān)之間建立的第一長連接,向網(wǎng)關(guān)發(fā)送上行數(shù)據(jù)消
肩、O所述上行數(shù)據(jù)消息中攜帶應(yīng)用服務(wù)器的標(biāo)識(shí),表示該上行數(shù)據(jù)消息的目的接收方為該應(yīng)用服務(wù)器的標(biāo)識(shí)對(duì)應(yīng)的應(yīng)用服務(wù)器。例如,當(dāng)在移動(dòng)終端內(nèi)安裝的郵件應(yīng)用程序生成發(fā)送給郵件服務(wù)器的上行數(shù)據(jù)消息后,移動(dòng)終端將郵件服務(wù)器的標(biāo)識(shí)攜帶在該上行數(shù)據(jù)消息中,并通過與網(wǎng)關(guān)之間的第一長連接將上行數(shù)據(jù)消息發(fā)送至網(wǎng)關(guān)。需要說明的是,不論移動(dòng)終端內(nèi)安裝的何種應(yīng)用程序生成的上行數(shù)據(jù)消息,移動(dòng)終端都通過所述第一長連接發(fā)送至網(wǎng)關(guān)。移動(dòng)終端與網(wǎng)關(guān)之間可以共同維護(hù)一組密鑰,當(dāng)移動(dòng)終端向網(wǎng)關(guān)發(fā)送上行數(shù)據(jù)消息時(shí),可以利用該密鑰對(duì)上行數(shù)據(jù)消息進(jìn)行加密,同時(shí),移動(dòng)終端還可以使用安全傳輸層協(xié)議(Transport Layer Sec, TLS)對(duì)上行數(shù)據(jù)消息的傳輸過程進(jìn)行加密。步驟102 :網(wǎng)關(guān)根據(jù)接收到所述應(yīng)用服務(wù)器的標(biāo)識(shí)確定對(duì)應(yīng)的應(yīng)用服務(wù)器。網(wǎng)關(guān)可以根據(jù)與移動(dòng)終端共同維護(hù)的密鑰對(duì)接收到的上行數(shù)據(jù)消息進(jìn)行解密。
步驟103 :網(wǎng)關(guān)在確定與所述應(yīng)用服務(wù)器之間建立了第二長連接時(shí),通過所述第二長連接,將上行數(shù)據(jù)消息發(fā)送至所述應(yīng)用服務(wù)器。由于網(wǎng)關(guān)可能與多臺(tái)應(yīng)用服務(wù)器之間分別建立了第二長連接,則網(wǎng)關(guān)在向某一應(yīng)用服務(wù)器發(fā)送上行數(shù)據(jù)消息時(shí),首先查看與該應(yīng)用服務(wù)器之間是否有可用的第二長連接,在存在可用的第二長連接時(shí),通過該第二長連接向應(yīng)用服務(wù)器發(fā)送上行數(shù)據(jù)消息。網(wǎng)關(guān)在向應(yīng)用服務(wù)器發(fā)送上行數(shù)據(jù)消息時(shí),也可以對(duì)上行數(shù)據(jù)消息進(jìn)行加密,由應(yīng)用服務(wù)器對(duì)接收到的上行數(shù)據(jù)消息進(jìn)行解密。除此以外,由于通過對(duì)上行數(shù)據(jù)消息中的數(shù)據(jù)內(nèi)容進(jìn)行壓縮可以減少上行數(shù)據(jù)消息所占用的傳輸資源,降低在無線網(wǎng)絡(luò)上傳輸?shù)臄?shù)據(jù)量,節(jié)省網(wǎng)絡(luò)帶寬并降低網(wǎng)絡(luò)延遲,因此,上行數(shù)據(jù)消息中在通過第一長連接進(jìn)行傳輸時(shí),以及通過第二長連接進(jìn)行傳輸時(shí),可以根據(jù)數(shù)據(jù)內(nèi)容的資源不同(音頻數(shù)據(jù)、視頻數(shù)據(jù)、文本數(shù)據(jù)等),采用合理的壓縮算法進(jìn)行壓縮后傳輸,接收到壓縮后的上行數(shù)據(jù)消息的設(shè)備(如網(wǎng)關(guān)、應(yīng)用服務(wù)器)可以進(jìn)行解壓操作。另外,由于網(wǎng)關(guān)面向的移動(dòng)終端數(shù)量眾多,當(dāng)多個(gè)移動(dòng)終端同時(shí)向網(wǎng)關(guān)發(fā)送上行數(shù)據(jù)消息,或同一移動(dòng)終端為不同的應(yīng)用程序發(fā)送多個(gè)上行數(shù)據(jù)消息時(shí),若網(wǎng)關(guān)的能力不足以同時(shí)處理所有的上行數(shù)據(jù)消息,則需要對(duì)這些上行數(shù)據(jù)消息進(jìn)行排序后依次處理。在本實(shí)施例的方案中,網(wǎng)關(guān)進(jìn)行排序的方式包括但不限于以下兩種第一種排序方式網(wǎng)關(guān)按照業(yè)務(wù)的優(yōu)先級(jí)高低進(jìn)行排序。由于每個(gè)上行數(shù)據(jù)消息中都攜帶了應(yīng)用服務(wù)器的標(biāo)識(shí),可以確定該上行數(shù)據(jù)消息所對(duì)應(yīng)的業(yè)務(wù),因此,網(wǎng)關(guān)可以按照業(yè)務(wù)優(yōu)先級(jí)的高低進(jìn)行排序,優(yōu)先處理業(yè)務(wù)優(yōu)先級(jí)高的上行數(shù)據(jù)消息。例如對(duì)于實(shí)時(shí)性要求高的業(yè)務(wù)對(duì)應(yīng)的優(yōu)先級(jí)也較高,對(duì)于實(shí)時(shí)性要求低的業(yè)務(wù)對(duì)應(yīng)的優(yōu)先級(jí)也較低。第二種排序方式網(wǎng)關(guān)按照移動(dòng)終端的優(yōu)先級(jí)高低進(jìn)行排序。網(wǎng)關(guān)可以根據(jù)移動(dòng)終端當(dāng)前所處的無線網(wǎng)絡(luò)環(huán)境來設(shè)定移動(dòng)終端的優(yōu)先級(jí)高低。所處無線網(wǎng)絡(luò)環(huán)境較好的移動(dòng)終端對(duì)應(yīng)的優(yōu)先級(jí)較高,對(duì)于所處無線網(wǎng)絡(luò)環(huán)境較差的移動(dòng)終端,為了避免發(fā)送上行數(shù)據(jù)消息使得無線網(wǎng)絡(luò)環(huán)境更差,可以對(duì)應(yīng)的優(yōu)先級(jí)較低。通過以上步驟101 步驟103描述的技術(shù)方案,網(wǎng)關(guān)成為移動(dòng)終端與應(yīng)用服務(wù)器之間實(shí)時(shí)傳輸過程的中介,使移動(dòng)終端不需要面向網(wǎng)絡(luò)側(cè)的大量應(yīng)用服務(wù)器,而只需要面向一臺(tái)網(wǎng)關(guān)進(jìn)行上行傳輸,同時(shí)也使應(yīng)用服務(wù)器不需要面對(duì)大量的移動(dòng)終端,只需要面對(duì)一臺(tái)網(wǎng)關(guān)接收上行數(shù)據(jù)消息,可以有效減少移動(dòng)終端和應(yīng)用服務(wù)器為長連接分配的資源開銷,同時(shí),根據(jù)移動(dòng)終端與網(wǎng)關(guān)之間的第一長連接、網(wǎng)關(guān)與應(yīng)用服務(wù)器之間的第二長連接的網(wǎng)絡(luò)架構(gòu),可以實(shí)現(xiàn)移動(dòng)終端與應(yīng)用服務(wù)器之間實(shí)時(shí)的業(yè)務(wù)數(shù)據(jù)傳輸,有效提高數(shù)據(jù)傳輸?shù)膶?shí)時(shí)性。下面對(duì)上述步驟101 步驟103的具體實(shí)現(xiàn)方式進(jìn)行詳細(xì)說明。
在本實(shí)施例一的上行傳輸過程執(zhí)行之前,移動(dòng)終端需要對(duì)本地安裝的各應(yīng)用程序進(jìn)行管理,因此,在步驟101之前還具有移動(dòng)終端內(nèi)部管理過程,具體包括首先,移動(dòng)終端記錄在本地安裝的應(yīng)用程序的標(biāo)識(shí),并實(shí)時(shí)采集各應(yīng)用程序的狀態(tài)信息,包括應(yīng)用程序處于運(yùn)行狀態(tài)、休眠狀態(tài)或退出狀態(tài)的信息。然后,移動(dòng)終端還記錄各應(yīng)用程序?qū)?yīng)的應(yīng)用服務(wù)器的標(biāo)識(shí),用于在上行傳輸過程中確定上行數(shù)據(jù)消息目的接收方。最后,當(dāng)移動(dòng)終端對(duì)本地安裝的應(yīng)用程序的各項(xiàng)信息記錄完成后,將實(shí)時(shí)監(jiān)測是否有應(yīng)用程序需要進(jìn)行上行的數(shù)據(jù)交互,在有任一應(yīng)用程序生成上行數(shù)據(jù)消息后,移動(dòng)終端將該應(yīng)用程序?qū)?yīng)的應(yīng)用服務(wù)器的標(biāo)識(shí)攜帶在生成的上行數(shù)據(jù)消息中,然后執(zhí)行步驟101。通過上述移動(dòng)終端對(duì)本地安裝的應(yīng)用程序的管理,可以為本地各應(yīng)用程序的運(yùn)行 進(jìn)行有效管理,避免出現(xiàn)應(yīng)用程序運(yùn)行混亂,甚至進(jìn)程沖突的問題。具體地,在移動(dòng)終端本地,移動(dòng)終端內(nèi)有一個(gè)AOI中間件,用于各應(yīng)用程序進(jìn)行有序管理以及與網(wǎng)關(guān)之間的長連接管理等功能,移動(dòng)終端本地安裝的應(yīng)用程序在運(yùn)行狀態(tài)時(shí)可以通過Socket長連接的方式直接連接到AOI中間件中,向AOI中間件提供待傳輸?shù)纳闲袛?shù)據(jù)消息,要求AOI中間件通過第一長連接進(jìn)行實(shí)時(shí)傳輸。當(dāng)移動(dòng)終端完成對(duì)本地應(yīng)用程序的管理后,可以在步驟101之前,在網(wǎng)關(guān)中注冊(cè)并連接第一長連接。移動(dòng)終端在網(wǎng)關(guān)中注冊(cè)并建立第一長連接的具體過程如圖3所示,包括如下步驟步驟201 :移動(dòng)終端向域名系統(tǒng)(Domain Name System, DNS)發(fā)起網(wǎng)關(guān)查詢請(qǐng)求,其中攜帶移動(dòng)終端的第一標(biāo)識(shí)和第二標(biāo)識(shí)。移動(dòng)終端的第一標(biāo)識(shí)和第二標(biāo)識(shí)都是能夠唯一表示移動(dòng)終端的標(biāo)識(shí),所不同的是,移動(dòng)終端的第一標(biāo)識(shí)是移動(dòng)終端在應(yīng)用服務(wù)器中注冊(cè)時(shí)使用的標(biāo)識(shí),第二標(biāo)識(shí)是移動(dòng)終端注冊(cè)在網(wǎng)關(guān)中的標(biāo)識(shí)。例如,若所述移動(dòng)終端為手機(jī),則所述第一標(biāo)識(shí)為手機(jī)號(hào)碼,第二標(biāo)識(shí)為國際移動(dòng)用戶識(shí)別碼(MSI)。此時(shí),移動(dòng)終端以短消息方式向DNS發(fā)起網(wǎng)關(guān)查詢請(qǐng)求時(shí),在短消息中攜帶MSI,則DNS可以從短消息中攜帶的信息獲取移動(dòng)終端的第二標(biāo)識(shí)(MSI),通過通過短消息的源端信息確定移動(dòng)終端的第一標(biāo)識(shí)(手機(jī)號(hào)碼)。步驟202 =DNS存儲(chǔ)所述移動(dòng)終端的第一標(biāo)識(shí)和第二標(biāo)識(shí)。步驟203 =DNS向移動(dòng)終端返回該移動(dòng)終端歸屬網(wǎng)關(guān)的路由信息。在本實(shí)施例的方案中,一個(gè)網(wǎng)絡(luò)系統(tǒng)中可以部署多臺(tái)網(wǎng)關(guān),每臺(tái)網(wǎng)關(guān)為一定區(qū)域內(nèi)的移動(dòng)終端提供服務(wù)。例如,在全國每省部署一臺(tái)網(wǎng)關(guān),為省內(nèi)移動(dòng)終端提供場連接服務(wù)??梢酝ㄟ^人工方式在DNS內(nèi)部存儲(chǔ)各網(wǎng)關(guān)的路由信息以及各網(wǎng)關(guān)服務(wù)的覆蓋范圍,當(dāng)DNS接收到一個(gè)移動(dòng)終端發(fā)起的網(wǎng)關(guān)查詢請(qǐng)求時(shí),根據(jù)該移動(dòng)終端的標(biāo)識(shí)(第一標(biāo)識(shí)和第二標(biāo)識(shí))確定該移動(dòng)終端的歸屬地,進(jìn)而查詢各網(wǎng)關(guān)服務(wù)的覆蓋范圍,為移動(dòng)終端選擇歸屬的網(wǎng)關(guān)。DNS向移動(dòng)終端返回的歸屬網(wǎng)關(guān)的路由信息包括但不限于網(wǎng)關(guān)的IP地址。步驟204 :移動(dòng)終端根據(jù)接收到的歸屬網(wǎng)關(guān)的路由信息,向歸屬網(wǎng)關(guān)發(fā)起注冊(cè)請(qǐng)求,并在該注冊(cè)請(qǐng)求中攜帶第二標(biāo)識(shí)。
在該注冊(cè)請(qǐng)求中還可以同時(shí)攜帶移動(dòng)終端內(nèi)安裝的應(yīng)用程序的標(biāo)識(shí)。步驟205 :網(wǎng)關(guān)為移動(dòng)終端注冊(cè)。網(wǎng)關(guān)在本地存儲(chǔ)移動(dòng)終端的注冊(cè)信息(包括移動(dòng)終端的注冊(cè)時(shí)間、第二標(biāo)識(shí)等)以及移動(dòng)終端管理的應(yīng)用程序的標(biāo)識(shí),完成對(duì)移動(dòng)終端的注冊(cè),并向移動(dòng)終端返回注冊(cè)成功消息。在本步驟中,當(dāng)移動(dòng)終端在網(wǎng)關(guān)中注冊(cè)后,網(wǎng)關(guān)需要對(duì)注冊(cè)移動(dòng)終端進(jìn)行管理,包括以下兩方面的管理第一方面對(duì)移動(dòng)終端信息的管理,如對(duì)移動(dòng)終端的第二標(biāo)識(shí)、版本號(hào)、操作系統(tǒng)、廠家、型號(hào)、屏幕大小等硬件信息的管理。第二方面對(duì)移動(dòng)終端業(yè)務(wù)的管理,如對(duì)移動(dòng)終端所支持的業(yè)務(wù)種類、業(yè)務(wù)名稱等
信息的管理。步驟206 :移動(dòng)終端建立與網(wǎng)關(guān)之間的第一長連接。此后,當(dāng)移動(dòng)終端內(nèi)有任一應(yīng)用程序發(fā)起上行數(shù)據(jù)消息時(shí),移動(dòng)終端通過該第一長連接將上行數(shù)據(jù)消息發(fā)送至歸屬的網(wǎng)關(guān)。網(wǎng)關(guān)在接收到來自移動(dòng)終端的上行數(shù)據(jù)消息后,要執(zhí)行步驟103將該上行數(shù)據(jù)消息發(fā)送給應(yīng)用服務(wù)器。但由于應(yīng)用服務(wù)器并行為大量的移動(dòng)終端提供業(yè)務(wù),因此,移動(dòng)終端在上行數(shù)據(jù)消息中攜帶第二標(biāo)識(shí),希望應(yīng)用服務(wù)器能夠獲知發(fā)送該上行數(shù)據(jù)消息的移動(dòng)終端。但移動(dòng)終端在應(yīng)用服務(wù)器中注冊(cè)時(shí)使用的是第一標(biāo)識(shí),而在網(wǎng)關(guān)中注冊(cè)時(shí)使用的是第二標(biāo)識(shí),因此,如果網(wǎng)關(guān)直接將第二標(biāo)識(shí)攜帶在上行數(shù)據(jù)消息中發(fā)給應(yīng)用服務(wù)器,則應(yīng)用服務(wù)器可能無法識(shí)別,為了克服這一問題,本實(shí)施的步驟103在運(yùn)行時(shí),網(wǎng)關(guān)根據(jù)移動(dòng)終端的第二標(biāo)識(shí),從DNS中查詢處該移動(dòng)終端的第一標(biāo)識(shí),并將該移動(dòng)終端的第一標(biāo)識(shí)攜帶在上行數(shù)據(jù)消息中發(fā)送給應(yīng)用服務(wù)器,使應(yīng)用服務(wù)器根據(jù)上行數(shù)據(jù)消息的第一標(biāo)識(shí)能夠獲取該上行數(shù)據(jù)消息的發(fā)送移動(dòng)終端。考慮到在網(wǎng)絡(luò)系統(tǒng)中部署了多臺(tái)網(wǎng)關(guān),移動(dòng)終端向其歸屬的網(wǎng)關(guān)發(fā)送的上行數(shù)據(jù)消息可以根據(jù)移動(dòng)終端和歸屬網(wǎng)關(guān)之間的第一長連接傳輸,但該上行數(shù)據(jù)消息傳輸?shù)哪康亩说膽?yīng)用服務(wù)器不一定與移動(dòng)終端歸屬的網(wǎng)關(guān)建立了第二長連接,因此,需要在網(wǎng)關(guān)與各應(yīng)用服務(wù)器之間建立第二長連接時(shí),在DNS中存儲(chǔ)網(wǎng)關(guān)和分別與該網(wǎng)關(guān)建立第二長連接的應(yīng)用服務(wù)器的第一對(duì)應(yīng)關(guān)系,以便于查詢應(yīng)用服務(wù)器所歸屬的網(wǎng)關(guān)。應(yīng)用在本實(shí)施例的步驟103中,網(wǎng)關(guān)向應(yīng)用服務(wù)器發(fā)送上行傳輸消息的過程存在以下兩種情況第一種情況網(wǎng)關(guān)通過對(duì)長連接端口的查詢,確定與上行數(shù)據(jù)消息中的應(yīng)用服務(wù)器的標(biāo)識(shí)對(duì)應(yīng)的應(yīng)用服務(wù)器建立了第二長連接,即上行數(shù)據(jù)消息的源端(移動(dòng)終端)和目的端(應(yīng)用服務(wù)器)都與同一網(wǎng)關(guān)建立長連接,該上行數(shù)據(jù)消息可以直接傳輸。第二種情況網(wǎng)關(guān)確定沒有與上行數(shù)據(jù)消息中的應(yīng)用服務(wù)器的標(biāo)識(shí)對(duì)應(yīng)的應(yīng)用服務(wù)器建立了第二長連接,即該網(wǎng)關(guān)不是該應(yīng)用服務(wù)器歸屬的網(wǎng)關(guān),則網(wǎng)關(guān)查詢DNS,找到該應(yīng)用服務(wù)器所歸屬的其他網(wǎng)關(guān)(為了與接收移動(dòng)終端發(fā)送的上行數(shù)據(jù)消息的網(wǎng)關(guān)進(jìn)行區(qū)分,這里將應(yīng)用服務(wù)器歸屬的網(wǎng)關(guān)稱之為其他網(wǎng)關(guān)),并將所述上行數(shù)據(jù)消息發(fā)送給所述其他網(wǎng)關(guān)后,由于所述其他網(wǎng)關(guān)是目的端應(yīng)用服務(wù)器歸屬網(wǎng)關(guān),與該應(yīng)用服務(wù)器之間有第二長連接,因此,所述其他網(wǎng)關(guān)將上行數(shù)據(jù)消息通過第二長連接發(fā)送給應(yīng)用服務(wù)器。
另外,在步驟103執(zhí)行之后,網(wǎng)關(guān)還可以記錄本次上行數(shù)據(jù)傳輸過程的日志信息,并產(chǎn)生話單。這里產(chǎn)生的話單并不同于常規(guī)的話單,這是因?yàn)樵谝苿?dòng)終端的上行傳輸過程中,可以使用本發(fā)明實(shí)施例一的方案,也可以使用現(xiàn)有的其他方案,為了減少對(duì)目前常規(guī)的話單生成方式的改動(dòng),在本實(shí)施例一的方案中,由網(wǎng)關(guān)產(chǎn)生的話單對(duì)采用本實(shí)施例一方案的CP、SP的流量進(jìn)行結(jié)算,與常規(guī)話單配合使用,確定在每次上行傳輸過程中產(chǎn)生的費(fèi)用。在本實(shí)施例一的方案中,為了能夠使移動(dòng)終端與網(wǎng)關(guān)之間的第一長連接實(shí)時(shí)?;?即在周期時(shí)長內(nèi)不斷地有針對(duì)該第一長連接的心跳數(shù)據(jù)包穿過核心網(wǎng)防火墻),同時(shí)不增加無線通信網(wǎng)絡(luò)的資源開銷,因此將心跳數(shù)據(jù)包的生存時(shí)間設(shè)定為大于經(jīng)過核心網(wǎng)防火墻的距離,但小于到達(dá)移動(dòng)終端所在的無線通信網(wǎng)絡(luò)的距離,一方面使心跳數(shù)據(jù)包能夠穿過核心網(wǎng)防火墻,達(dá)到對(duì)移動(dòng)終端與網(wǎng)關(guān)之間第一長連接的保活目的,另一方面,心跳數(shù)據(jù)包并沒有進(jìn)入無線通信網(wǎng)絡(luò),不會(huì)增加無線通信網(wǎng)絡(luò)的負(fù)擔(dān),也不會(huì)占用無線信道。本實(shí)施例一中,針對(duì)第一長連接傳輸心跳數(shù)據(jù)包的方法步驟示意圖如圖4所示,所述方法包括以下步驟步驟301 :針對(duì)第一長連接,探測第一長連接一端的移動(dòng)終端的相關(guān)信息?!ぴ诒静襟E中,首先確定針對(duì)哪條長連接傳輸心跳數(shù)據(jù)包,進(jìn)而確定接收心跳數(shù)據(jù)包的移動(dòng)終端。具體地,可以通過移動(dòng)互聯(lián)網(wǎng)內(nèi)的業(yè)務(wù)服務(wù)器與終端建立傳輸控制協(xié)議(Transmission Control Protocol, TCP)數(shù)據(jù)連接,獲知該移動(dòng)終端的相關(guān)信息,如移動(dòng)終端進(jìn)行網(wǎng)絡(luò)連接時(shí)的五元組信息,包括源IP地址,源端口,目的IP地址,目的端口,和傳輸層協(xié)議號(hào)。其中,源端口是該移動(dòng)終端的端口號(hào),也可以通過用戶數(shù)據(jù)包協(xié)議(UserDatagram Protocol, UDP)的方式獲取移動(dòng)終端的相關(guān)信息。步驟302 :確定心跳數(shù)據(jù)包在經(jīng)過核心網(wǎng)防火墻之后,且到達(dá)移動(dòng)終端所在的無線通信網(wǎng)絡(luò)之前的一跳路由時(shí)的路由距離。步驟303 :按照核心網(wǎng)防火墻的周期要求,將確定的路由距離組為生存時(shí)間發(fā)送心跳數(shù)據(jù)包。在上述步驟301 步驟303的方案中,計(jì)算出合理的路由距離,即心跳數(shù)據(jù)包的路由跳數(shù),將該路由跳數(shù)作為心跳數(shù)據(jù)包中的IP數(shù)據(jù)包的TTL字段存儲(chǔ)的生存時(shí)間,使心跳數(shù)據(jù)包在路由傳輸過程中既能夠穿過核心網(wǎng)防火墻進(jìn)入運(yùn)營商提供的核心網(wǎng)達(dá)到對(duì)第一長連接保活的目的,又終止于進(jìn)入移動(dòng)終端所在的無線通信網(wǎng)絡(luò)之前的一跳路由器,避免了心跳數(shù)據(jù)包對(duì)無線通信網(wǎng)絡(luò)造成的負(fù)擔(dān)。上述步驟301 步驟303的具體實(shí)現(xiàn)過程如圖5所示,包括以下步驟步驟401 :向移動(dòng)終端發(fā)送的測試數(shù)據(jù)包,確定該測試數(shù)據(jù)包路由至移動(dòng)終端時(shí)產(chǎn)生的第一路由距離。本發(fā)明的目的是讓心跳數(shù)據(jù)包既能穿過核心網(wǎng)防火墻又不會(huì)進(jìn)入無線通信網(wǎng)絡(luò),因此,首先需要確定若心跳數(shù)據(jù)包進(jìn)入無線通信網(wǎng)絡(luò)到達(dá)移動(dòng)終端時(shí)的第一路由距離,進(jìn)而才能根據(jù)該第一路由距離確定合適的第二路由距離,以達(dá)到本發(fā)明目的。步驟402 :根據(jù)所述第一路由距離,確定測試數(shù)據(jù)包在經(jīng)過核心網(wǎng)防火墻之后,且到達(dá)移動(dòng)終端所在的無線通信網(wǎng)絡(luò)之前的一跳路由時(shí),產(chǎn)生的第二路由距離。由于第一路由距離是能夠達(dá)到移動(dòng)終端的路由距離,而第二路由距離未到達(dá)移動(dòng)終端,所以第二路由距離小于第一路由距離,但第二路由距離必須大于經(jīng)過防火墻的距離,因此,第二路由距離的最取上限為第一路由距離的路由跳數(shù)減1,取值下限為經(jīng)過所述核心網(wǎng)防火墻時(shí)產(chǎn)生的路由跳數(shù)。較優(yōu)的,可以將第一路由距離的路由跳數(shù)減I后作為第二路
由距離。步驟403 :將所述第二路由距離作為心跳數(shù)據(jù)包的生存時(shí)間,向移動(dòng)終端發(fā)送該心跳數(shù)據(jù)包。本實(shí)施例二的方案中包括但不限于逐漸增大路由距離來確定第一路由距離、逐漸減小路由距離來確定第一路由距離和二分法方式來確定第一路由距離,下面分別加以說明I、通過逐漸增大路由距離來確定第一路由距離本方式進(jìn)一步包括TCP方式和UDP方式,具體說明如下 (I)、TCP 方式第一步將所述測試數(shù)據(jù)包的TCP頭部序號(hào)值設(shè)置為所述移動(dòng)終端識(shí)別為錯(cuò)誤的值。TCP協(xié)議規(guī)定了數(shù)據(jù)包中需要攜帶為該數(shù)據(jù)包分配的序號(hào)值,數(shù)據(jù)包接收方在接收到該數(shù)據(jù)包后,根據(jù)其中攜帶的序號(hào)值可以確定該數(shù)據(jù)包的相關(guān)信息(如數(shù)據(jù)包的來源、發(fā)送數(shù)據(jù)包的目的)。在本步驟中,發(fā)送給移動(dòng)終端的測試數(shù)據(jù)包中攜帶一個(gè)錯(cuò)誤的序列號(hào),而不攜帶實(shí)際為該數(shù)據(jù)包分配的序列號(hào)。若測試數(shù)據(jù)包到達(dá)移動(dòng)終端,則移動(dòng)終端會(huì)將測試數(shù)據(jù)包中攜帶的序列號(hào)識(shí)別為錯(cuò)誤的序列號(hào),進(jìn)而認(rèn)為該測試數(shù)據(jù)包為非法數(shù)據(jù)包,則移動(dòng)終端將會(huì)返回復(fù)位(RST)的TCP消息,通知測試數(shù)據(jù)包的發(fā)送方此測試數(shù)據(jù)包有誤。若測試數(shù)據(jù)包沒有到達(dá)移動(dòng)終端時(shí)生存時(shí)間就已達(dá)到,則由于移動(dòng)終端在規(guī)定時(shí)長內(nèi)沒有接收到測試數(shù)據(jù)包,將會(huì)返回控制報(bào)文協(xié)議(Internet Control Message Protocol, ICMP)消息,其中攜帶的錯(cuò)誤類型是超時(shí)。測試數(shù)據(jù)包的發(fā)送方根據(jù)返回的是RST消息還是錯(cuò)誤類型是超時(shí)的ICMP消息來確定該測試數(shù)據(jù)包是否到達(dá)移動(dòng)終端。第二步預(yù)先設(shè)定第三路由距離。本步驟中的第三路由距離在初始時(shí)可以設(shè)置為I跳。第三步逐漸增大預(yù)先設(shè)定的第三路由距離,針對(duì)每次增大后得到的路由距離執(zhí)行以下操作將本次得到的路由距離作為測試數(shù)據(jù)包的生存時(shí)間,向移動(dòng)終端發(fā)送該測試數(shù)據(jù)包;若返回RST的TCP消息,則將本次得到的路由距離作為第一路由距離;若返回的控制報(bào)文協(xié)議ICMP消息攜帶的錯(cuò)誤類型是超時(shí),則繼續(xù)增大路由距離。在第三步的方案中,若本次使用的第三路由距離的路由跳數(shù)過小,不足以使測試數(shù)據(jù)包達(dá)到移動(dòng)終端,則移動(dòng)終端由于在規(guī)定時(shí)長內(nèi)沒有收到測試數(shù)據(jù)包而在返回ICMP消息中攜帶的錯(cuò)誤類型是超時(shí),表示此時(shí)第三路由距離小于路由至移動(dòng)終端時(shí)所需的路由距離,因此,需增大第三路由距離,并將增大后的第三路由距離繼續(xù)作為測試數(shù)據(jù)包的生存時(shí)間來發(fā)送測試數(shù)據(jù)包。當(dāng)在上次使用的第三路由距離的情況下ICMP攜帶的錯(cuò)誤類型是超時(shí),但本次使用的第三路由距離的情況下接收到RST消息,表示當(dāng)前使用的第三路由距離恰好能夠使測試數(shù)據(jù)包路由至移動(dòng)終端,只不過由于移動(dòng)終端識(shí)別測試數(shù)據(jù)包的序列號(hào)有誤所以返回RST消息,此時(shí),當(dāng)前使用的第三路由距離等于測試數(shù)據(jù)包路由至移動(dòng)終端時(shí)所需的路由距離,則將當(dāng)前的第三路由距離作為第一路由距離。(2)、UDP 方式第一步將所述測試數(shù)據(jù)包中攜帶的目的端口號(hào)設(shè)置為移動(dòng)終端不能正確接收該測試數(shù)據(jù)包的用戶數(shù)據(jù)包UDP端口號(hào)。本實(shí)施例中可以將測試數(shù)據(jù)包的UDP頭內(nèi)的4字節(jié)目的端口號(hào)設(shè)計(jì)為諸如隨機(jī)高段端口號(hào),如使用隨機(jī)的任何大于32768的高段端口,使得移動(dòng)終端無法正確接收測試數(shù)據(jù)包,但只要測試數(shù)據(jù)包的生存時(shí)間能夠使測試數(shù)據(jù)包達(dá)到目的端口,所經(jīng)歷的路由距離與達(dá)到移動(dòng)終端的路由距離相同,因此,利用無法接收測試數(shù)據(jù)包的端口來代替移動(dòng)終端的端口也可以計(jì)算出路由至移動(dòng)終端時(shí)產(chǎn)生的第一路由距離。第二步預(yù)先設(shè)定第四路由距離。
本步驟中的第三路由距離在初始時(shí)可以設(shè)置為I跳。第三步逐漸增大第四路由距離,針對(duì)每次增大后得到的路由距離循環(huán)執(zhí)行以下操作將本次得到的路由距離作為測試數(shù)據(jù)包的生存時(shí)間,向移動(dòng)終端發(fā)送該測試數(shù)據(jù)包,并對(duì)返回的ICMP消息進(jìn)行檢測;若返回的ICMP消息中攜帶的錯(cuò)誤類型是端口不可達(dá),則將本次得到的路由距離作為第一路由距離;若返回的ICMP消息中攜帶的錯(cuò)誤類型是超時(shí),則繼續(xù)增大路由距離,直至接收到返回的ICMP消息中攜帶的錯(cuò)誤類型是端口不可達(dá)。在第三步的方案中,若本次使用的第三路由距離的路由跳數(shù)過小,不足以使測試數(shù)據(jù)包達(dá)到目的端口號(hào)對(duì)應(yīng)的端口,則測試數(shù)據(jù)包最后達(dá)到的路由器返回的ICMP消息中攜帶的錯(cuò)誤類型是超時(shí),表示此時(shí)第四路由距離小于路由至移動(dòng)終端時(shí)所需的路由距離,因此,需增大第四路由距離,并將增大后的第四路由距離繼續(xù)作為測試數(shù)據(jù)包的生存時(shí)間來發(fā)送測試數(shù)據(jù)包。當(dāng)在上次使用的第四路由距離的情況下ICMP攜帶的錯(cuò)誤類型是超時(shí),但本次使用的第四路由距離的情況下ICMP攜帶的錯(cuò)誤類型是端口不可達(dá),表示當(dāng)前使用的第四路由距離恰好能夠使測試數(shù)據(jù)包路由至目的端口,只不過由于目的端口不能正確接收該測試數(shù)據(jù)包所以返回端口不可達(dá)的錯(cuò)誤類型,此時(shí),當(dāng)前使用的第四路由距離等于測試數(shù)據(jù)包路由至移動(dòng)終端時(shí)所需的路由距離,則將當(dāng)前的第四路由距離作為第一路由距離。2、通過逐漸減小路由距離來確定第一路由距離本方式進(jìn)一步包括TCP方式和UDP方式,具體說明如下(I)、TCP 方式第一步通過已確定五元組信息的TCP連接,即發(fā)送心跳數(shù)據(jù)包所要保活的長連接。第二步預(yù)先設(shè)定第五路由距離。本步驟中的第五路由距離在初始時(shí)可以設(shè)置較大,確保第一次發(fā)送的測試數(shù)據(jù)包能夠被移動(dòng)終端正確接收,如在初始時(shí)設(shè)置第五路由距離為64跳。第三步將本次得到的路由距離作為測試數(shù)據(jù)包的生存時(shí)間,通過已確定五元組信息的TCP連接向移動(dòng)終端發(fā)送該測試數(shù)據(jù)包,并判斷是否接收到返回的測試回應(yīng)消息;若是,則繼續(xù)減小路由距離;否則,將本次得到的路由距離加I作為第一路由距離。本方式是通過TCP連接向移動(dòng)終端發(fā)送測試數(shù)據(jù)包的方式,在第三步的方案中,測試數(shù)據(jù)包中的生存時(shí)間在不斷減少,若本次使用的第五路由距離比較大,能夠使移動(dòng)終端正確接收到測試數(shù)據(jù)包,則移動(dòng)終端將會(huì)返回測試回應(yīng)消息,表示第五路由距離還需要繼續(xù)減少。當(dāng)上次使用的第五路由距離能夠使測試數(shù)據(jù)包到達(dá)移動(dòng)終端(即上次發(fā)送測試數(shù)據(jù)包后接收到測試回應(yīng)消息),但本次使用的第五路由距離不能夠使測試數(shù)據(jù)包到達(dá)移動(dòng)終端(本次發(fā)送測試數(shù)據(jù)包后沒有接收到測試回應(yīng)消息),則表示本次使用的第五路由距離只能達(dá)到無線通信網(wǎng)絡(luò)外的最后一跳,上次使用的第五路由距離是路由至移動(dòng)終端時(shí)產(chǎn)生的路由距離,因此,將上次使用的第五路由距離作為第一路由距離。若每次減少路由距離是I跳,則可以將本次使用的第五路由距離加I跳作為第一路由距離。
(2)、UDP 方式第一步根據(jù)移動(dòng)終端的IP地址和UDP端口確定接收測試數(shù)據(jù)包的移動(dòng)終端。在本方式中,通過移動(dòng)終端的IP地址和UDP端口號(hào)來唯一確定一個(gè)移動(dòng)終端,這里確定的移動(dòng)終端即為需要接收測試數(shù)據(jù)包的移動(dòng)終端。測試數(shù)據(jù)包如果到達(dá)移動(dòng)終端,移動(dòng)終端能夠正確接收測試數(shù)據(jù)包并返回測試回應(yīng)消息;測試數(shù)據(jù)包如果沒有到達(dá)移動(dòng)終端,即在到達(dá)移動(dòng)終端之前測試數(shù)據(jù)包的TTL之前變?yōu)镮或0,移動(dòng)終端在規(guī)定時(shí)長內(nèi)沒有接收到測試數(shù)據(jù)包,則不返回的測試回應(yīng)消息,即向移動(dòng)終端發(fā)送的測試數(shù)據(jù)包超時(shí)。第二步預(yù)先設(shè)定第六路由距離。本步驟中的第六路由距離在初始時(shí)可以設(shè)置較大,確保第一次發(fā)送的測試數(shù)據(jù)包能夠被移動(dòng)終端正確接收,如在初始時(shí)設(shè)置第六路由距離為64跳。第三步逐漸減小預(yù)先設(shè)定的第六路由距離,針對(duì)每次減小后得到的路由距離執(zhí)行以下操作將本次得到的路由距離作為測試數(shù)據(jù)包的生存時(shí)間,向第一步確定的移動(dòng)終端發(fā)送該測試數(shù)據(jù)包,并判斷是否接收到移動(dòng)終端返回的測試回應(yīng)消息;若是,則繼續(xù)減小路由距離;否則,將本次得到的路由距離加I作為第一路由距離。3、二分法方式二分法方式也包括TCP方式和UDP方式,具體說明如下(I)、TCP 方式第一步通過已確定五元組信息的TCP連接,即發(fā)送心跳數(shù)據(jù)包所要?;畹拈L連接。第二步預(yù)先設(shè)定上限路由距離和下限路由距離,在初始時(shí),所述上限路由距離大于下限路由距離。第三步在每次上限路由距離或下限路由距離發(fā)生更新時(shí),判斷上限路由距離是否不小于下限路由距離,若是,則執(zhí)行以下操作,直至上限路由距離小于下限路由距離將本次得到上限路由距離和下限路由距離的平均值取整,得到第七路由距離,并將本次得到的第七路由距離作為測試數(shù)據(jù)包的生存時(shí)間,通過第一步確定的TCP連接向移動(dòng)終端發(fā)送該測試數(shù)據(jù)包,并判斷是否接收到返回的測試回應(yīng)消息;若是,則將本次得到的第七路由距離的路由跳數(shù)減I后作為更新后的上限路由距離;否則,將本次得到的第七路由距離的路由跳數(shù)減I后作為更新后的下限路由距離。例如,在第N次發(fā)送測試數(shù)據(jù)包時(shí),TTL_max = 64,TTL_min = 0, TTL_max大于TTL_min,第七路由距離的路由跳數(shù)為[(TTL_max+TTL_min)/2] = 32,以32跳作為生存時(shí)間發(fā)送測試數(shù)據(jù)包N。針對(duì)測試數(shù)據(jù)包N,若返回測試回應(yīng)消息,表示32跳時(shí)移動(dòng)終端能夠正確接收測試數(shù)據(jù)包,則將當(dāng)前的第七路由距離32-1 = 31作為更新后的TTL_max,即TTL_max = 31, TTL_min = O。此時(shí),TTL_max仍大于TTL_min,可以重新計(jì)算得到第七路由距離的路由跳數(shù)為[(TTL_max+TTL_min)/2] = 15,以15跳作為生存時(shí)間發(fā)送測試數(shù)據(jù)包N+1,以此類推。針對(duì)測試數(shù)據(jù)包N,若沒有返回測試回應(yīng)消息,表示32跳時(shí)移動(dòng)終端已經(jīng)不能夠正確接收測試數(shù)據(jù)包,則將當(dāng)前的第七路由距離32-1 = 31作為更新后的TTL_min,即TTL_max = 64, TTL_min = 31。此時(shí),TTL_max仍大于TTL_min,可以重新計(jì)算得到第七路由距離的路由跳數(shù)為[(TTL_max+TTL_min)/2] = 47,以47跳作為生存時(shí)間發(fā)送測試數(shù)據(jù)包N+1,以此類推。第四步確定在上限路由距離小于下限路由距離時(shí)得到的第七路由距離。第五步在以第四步得到的第七路由距離為測試數(shù)據(jù)包的生存時(shí)間時(shí),若接收到測試超時(shí)消息,則將該第七路由距離的路由跳數(shù)加I后作為第一路由距離;若接收到測試正確消息,則將該第七路由距離的路由跳數(shù)作為第一路由距離。(2)、UDP 方式第一步根據(jù)移動(dòng)終端的IP地址和UDP端口確定接收測試數(shù)據(jù)包的移動(dòng)終端。第二步預(yù)先設(shè)定上限路由距離和下限路由距離,在初始時(shí),所述上限路由距離大于下限路由距離。第三步在每次上限路由距離或下限路由距離發(fā)生更新時(shí),判斷上限路由距離是否不小于下限路由距離,若是,則執(zhí)行以下操作,直至上限路由距離小于下限路由距離將本次得到上限路由距離和下限路由距離的平均值取整,得到第八路由距離,并將本次得到的第八路由距離作為測試數(shù)據(jù)包的生存時(shí)間,向第一步確定的移動(dòng)終端發(fā)送該測試數(shù)據(jù)包,并判斷是否接收到返回的測試回應(yīng)消息;若是,則將本次得到的第八路由距離的路由跳數(shù)減I后作為更新后的上限路由距離;否則,將本次得到的第八路由距離的路由跳數(shù)減I后作為更新后的下限路由距離。例如,在第N次發(fā)送測試數(shù)據(jù)包時(shí),TTL_max = 64, TTL_min = 0, TTL_max大于TTL_min,第八路由距離的路由跳數(shù)為[(TTL_max+TTL_min)/2] = 32,以32跳作為生存時(shí)間發(fā)送測試數(shù)據(jù)包N。針對(duì)測試數(shù)據(jù)包N,若返回測試回應(yīng)消息,表示32跳時(shí)移動(dòng)終端能夠正確接收測試數(shù)據(jù)包,則將當(dāng)前的第八路由距離32-1 = 31作為更新后的TTL_max,即TTL_max = 31,TTL_min = O。此時(shí),TTL_max仍大于TTL_min,可以重新計(jì)算得到第八路由距離的路由跳數(shù)為[(TTL_max+TTL_min)/2] = 15,以15跳作為生存時(shí)間發(fā)送測試數(shù)據(jù)包N+1,以此類推。針對(duì)測試數(shù)據(jù)包N,若沒有返回測試回應(yīng)消息,表示32跳時(shí)移動(dòng)終端已經(jīng)不能夠正確接收測試數(shù)據(jù)包,則將當(dāng)前的第八路由距離32-1 = 31作為更新后的TTL_min,即TTL_max = 64, TTL_min = 31。此時(shí),TTL_max仍大于TTL_min,可以重新計(jì)算得到第八路由距離的路由跳數(shù)為[(TTL_max+TTL_min)/2] = 47,以47跳作為生存時(shí) 間發(fā)送測試數(shù)據(jù)包N+1,以此類推。第四步確定在上限路由距離小于下限路由距離時(shí)得到的第八路由距離。第五步在以第四步得到的第八路由距離為測試數(shù)據(jù)包的生存時(shí)間時(shí),若接收到測試超時(shí)消息,則將該第八路由距離的路由跳數(shù)加I后作為第一路由距離;若接收到測試正確消息,則將該第八路由距離的路由跳數(shù)作為第一路由距離。需要說明的是,在上述各種方式下,由于測試數(shù)據(jù)包在傳輸過程中的網(wǎng)絡(luò)傳輸質(zhì)量等原因可能造成測試數(shù)據(jù)包的丟包,使移動(dòng)終端無法正確接收到測試數(shù)據(jù)包,因此,當(dāng)本次發(fā)送測試數(shù)據(jù)包后確定移動(dòng)終端沒有接收到測試數(shù)據(jù)包時(shí),可以以本次相同的路由距離執(zhí)行重傳操作,在重傳次數(shù)達(dá)到門限值時(shí)移動(dòng)終端還沒有接收到測試數(shù)據(jù)包,則利用本次使用的路由距離來確定第一路由距離。另外,為了保證第一路由距離恰好是路由至移動(dòng)終端時(shí)產(chǎn)生的路由距離,在上述任一方式下,每次增大或減小的路由距離為I跳。實(shí)施例二 本發(fā)明實(shí)施例一的方案,可以在移動(dòng)終端和應(yīng)用服務(wù)器之間通過與網(wǎng)關(guān)的第一長連接和第二長連接進(jìn)行控制信令和數(shù)據(jù)的傳輸,特殊地,若待傳輸數(shù)據(jù)的數(shù)據(jù)量非常大(如郵件中攜帶的大數(shù)量的附件),將大量數(shù)據(jù)與控制信令和少量的數(shù)據(jù)同時(shí)通過一條長連接進(jìn)行傳輸時(shí),可能會(huì)影響控制信令的正確傳輸,因此,本實(shí)施例二在實(shí)施例一的基礎(chǔ)上,為大數(shù)據(jù)量的數(shù)據(jù)建立臨時(shí)的長連接進(jìn)行數(shù)據(jù)透傳。本實(shí)施例二的方案如下第一步移動(dòng)終端與歸屬網(wǎng)關(guān)之間建立第一長連接,應(yīng)用服務(wù)器與歸屬網(wǎng)關(guān)之間建立第二長連接。第二步移動(dòng)終端通過第一長連接上行傳輸上行數(shù)據(jù)消息,網(wǎng)關(guān)將該上行數(shù)據(jù)消息通過第二長連接發(fā)送給應(yīng)用服務(wù)器。本實(shí)施例二的方案中,移動(dòng)終端向應(yīng)用服務(wù)器上行傳輸上行數(shù)據(jù)消息的方式與實(shí)施例一相同。第三步移動(dòng)終端向網(wǎng)關(guān)發(fā)送代理請(qǐng)求,所述代理請(qǐng)求中攜帶應(yīng)用服務(wù)器的標(biāo)識(shí)和待傳輸數(shù)據(jù)的數(shù)據(jù)量。在本實(shí)施例的方案中,網(wǎng)關(guān)具有支持來自移動(dòng)終端的代理(Proxy)請(qǐng)求的能力。第四步網(wǎng)關(guān)判斷所述數(shù)據(jù)量是否達(dá)到門限值,若是,則執(zhí)行第五步;否則,要求移動(dòng)終端將待傳輸數(shù)據(jù)通過第一長連接進(jìn)行傳輸。第五步網(wǎng)關(guān)根據(jù)代理請(qǐng)求中攜帶的應(yīng)用服務(wù)器的標(biāo)識(shí),判斷是否已與對(duì)應(yīng)的應(yīng)用服務(wù)器建立第二長連接
若是,網(wǎng)關(guān)分別與所述移動(dòng)終端和對(duì)應(yīng)的應(yīng)用服務(wù)器之間建立臨時(shí)長連接,通過與移動(dòng)終端之間的臨時(shí)長連接接收來自移動(dòng)終端的所述待傳輸數(shù)據(jù),并在傳輸結(jié)束后釋放與移動(dòng)終端之間的臨時(shí)長連接,以及,將所述待傳輸數(shù)據(jù)通過與應(yīng)用服務(wù)器之間的臨時(shí)長連接透傳至應(yīng)用服務(wù)器,并在傳輸結(jié)束后釋放與應(yīng)用服務(wù)器之間的臨時(shí)長連接。否則,網(wǎng)關(guān)從DNS中查詢與所述對(duì)應(yīng)的應(yīng)用服務(wù)器建立第二長連接的其他網(wǎng)關(guān),并分別與所述移動(dòng)終端和所述其他網(wǎng)關(guān)建立臨時(shí)長連接,通過與移動(dòng)終端之間的臨時(shí)長連接接收來自移動(dòng)終端的所述待傳輸數(shù)據(jù),并在傳輸結(jié)束后釋放與移動(dòng)終端之間的臨時(shí)長連接,以及,將所述待傳輸數(shù)據(jù)通過與所述其他網(wǎng)關(guān)之間的臨時(shí)長連接透傳至其他網(wǎng)關(guān),并在傳輸結(jié)束后釋放與所述其他網(wǎng)關(guān)之間的臨時(shí)長連接。通過本發(fā)明實(shí)施例二的方案,移動(dòng)終端、網(wǎng)關(guān)和應(yīng)用服務(wù)器之間針對(duì)大數(shù)據(jù)量的數(shù)據(jù)單獨(dú)建立臨時(shí)長連接,網(wǎng)關(guān)將移動(dòng)終端發(fā)送的大數(shù)據(jù)量的數(shù)據(jù)透傳給應(yīng)用服務(wù)器或其他網(wǎng)關(guān),不對(duì)數(shù)據(jù)進(jìn)行AOP層的協(xié)議封裝和控制,此時(shí),網(wǎng)關(guān)相當(dāng)于移動(dòng)終端和應(yīng)用服務(wù)器之間的透明代理,避免了大數(shù)據(jù)量的傳輸對(duì)其他控制信令的傳輸造成影響,同時(shí),臨時(shí)連接在傳輸結(jié)束后將會(huì)被釋放,最大程度地節(jié)約移動(dòng)終端和應(yīng)用服務(wù)器的資源。另外,由于Proxy形式的臨時(shí)長連接沒有心跳檢測,在一些特殊情況下(如移動(dòng)終端斷電),網(wǎng)關(guān)將接 收不到斷鏈報(bào)文,此時(shí),網(wǎng)關(guān)將一直維護(hù)與移動(dòng)終端之間的臨時(shí)長連接,造成網(wǎng)關(guān)的資源浪費(fèi)。因此,網(wǎng)關(guān)可周期性地對(duì)與移動(dòng)終端之間的臨時(shí)長連接進(jìn)行此能夠檢測,查詢是否有數(shù)據(jù)傳輸,如果在一段連續(xù)的時(shí)間內(nèi)沒有臨時(shí)長連接沒有數(shù)據(jù)傳輸,則釋放該臨時(shí)長連接。網(wǎng)關(guān)與應(yīng)用服務(wù)器之間的臨時(shí)長連接的釋放過程與移動(dòng)終端相似。實(shí)施例三本發(fā)明實(shí)施例三還提供一種下行數(shù)據(jù)傳輸?shù)姆椒ǎ鐖D6所示,所述方法包括以下步驟步驟601 :應(yīng)用服務(wù)器通過與網(wǎng)關(guān)之間建立的第二長連接向網(wǎng)關(guān)發(fā)送下行數(shù)據(jù)消
肩、O在本實(shí)施例的方案中,每個(gè)應(yīng)用服務(wù)器與歸屬的網(wǎng)關(guān)之間建立了一條第二長連接,當(dāng)應(yīng)用服務(wù)器需要向所服務(wù)的任意移動(dòng)終端推送下行數(shù)據(jù)消息時(shí),通過該第二長連接將下行數(shù)據(jù)消息發(fā)送至網(wǎng)關(guān)。在所述下行數(shù)據(jù)消息中攜帶了移動(dòng)終端的標(biāo)識(shí),根據(jù)實(shí)施例一和實(shí)施例二的描述,本發(fā)明所涉及的移動(dòng)終端的標(biāo)識(shí)包括了移動(dòng)終端在應(yīng)用服務(wù)器中注冊(cè)時(shí)使用的第一標(biāo)識(shí)以及移動(dòng)終端在網(wǎng)關(guān)中注冊(cè)時(shí)使用的第二標(biāo)識(shí),因此,應(yīng)用服務(wù)器存儲(chǔ)的移動(dòng)終端標(biāo)識(shí)是移動(dòng)終端的第一標(biāo)識(shí)(如手機(jī)號(hào)碼),則應(yīng)用服務(wù)器將移動(dòng)終端的第一標(biāo)識(shí)攜帶在下行數(shù)據(jù)消息,用于指示網(wǎng)關(guān)向相應(yīng)的移動(dòng)終端發(fā)送該下行數(shù)據(jù)消息。進(jìn)一步地,由于本步驟是應(yīng)用服務(wù)器主動(dòng)向移動(dòng)終端推送下行數(shù)據(jù)消息的過程,此時(shí),移動(dòng)終端可能與網(wǎng)關(guān)建立第一長連接,可以實(shí)時(shí)接收下行數(shù)據(jù)消息,也可能沒有與網(wǎng)關(guān)建立第一長連接,不能實(shí)時(shí)接收下行數(shù)據(jù)消息;同時(shí),移動(dòng)終端內(nèi)需要接收該下行數(shù)據(jù)消息的應(yīng)用程序可能出于運(yùn)行、休眠或退出這三種狀態(tài),因此,即使移動(dòng)終端接收到該下行數(shù)據(jù)消息,處于休眠或退出狀態(tài)的應(yīng)用程序也不能及時(shí)接收并處理下行數(shù)據(jù)消息。因此,應(yīng)用服務(wù)器在發(fā)送給網(wǎng)關(guān)的下行數(shù)據(jù)消息中設(shè)置一個(gè)標(biāo)志位,若標(biāo)志位置為1,表示該下行數(shù)據(jù)消息的實(shí)時(shí)性高,應(yīng)用服務(wù)器希望該下行數(shù)據(jù)消息及時(shí)被相應(yīng)的應(yīng)用程序接收,若該應(yīng)用程序處于休眠或退出狀態(tài),則要求移動(dòng)終端喚醒該應(yīng)用程序;若標(biāo)志位置為O,表示該下行數(shù)據(jù)消息的實(shí)時(shí)性低,若該應(yīng)用程序處于休眠或退出狀態(tài),則移動(dòng)終端可以等待相應(yīng)的應(yīng)用程序運(yùn)行后再發(fā)送給該應(yīng)用程序。步驟602 :網(wǎng)關(guān)根據(jù)下行數(shù)據(jù)消息中攜帶的移動(dòng)終端的第一標(biāo)識(shí)確定對(duì)應(yīng)的移動(dòng)終端。與實(shí)施 例一相似的,本實(shí)施例中的移動(dòng)終端也在網(wǎng)關(guān)中注冊(cè),DNS中存儲(chǔ)移動(dòng)終端的第一標(biāo)識(shí)和第二標(biāo)識(shí),同時(shí)還存儲(chǔ)了網(wǎng)關(guān)和分別與該網(wǎng)關(guān)建立第二長連接的應(yīng)用服務(wù)器的第一對(duì)應(yīng)關(guān)系,以及第二標(biāo)識(shí)與該移動(dòng)終端歸屬網(wǎng)關(guān)標(biāo)識(shí)之間的第二對(duì)應(yīng)關(guān)系。DNS可以向用戶以及網(wǎng)關(guān)提供友好的圖形界面以支持對(duì)存儲(chǔ)的信息進(jìn)行增加、刪除、修改和查詢操作,并且存儲(chǔ)的信息及時(shí)生效可以使用。網(wǎng)關(guān)根據(jù)接收到的移動(dòng)終端的第一標(biāo)識(shí),從DNS中查詢出對(duì)應(yīng)的第二標(biāo)識(shí),網(wǎng)關(guān)根據(jù)該第二標(biāo)識(shí)確定對(duì)應(yīng)的移動(dòng)終端。步驟603 :網(wǎng)關(guān)通過與所述移動(dòng)終端之間的第一長連接,將所述下行數(shù)據(jù)消息發(fā)送至所述移動(dòng)終端。與實(shí)施例一類似的,下行數(shù)據(jù)消息源端的應(yīng)用服務(wù)器和目的端的移動(dòng)終端可能歸屬相同的網(wǎng)關(guān),也可能歸屬不同的網(wǎng)關(guān)。I、若應(yīng)用服務(wù)器和移動(dòng)終端歸屬相同的網(wǎng)關(guān),則本步驟的具體實(shí)現(xiàn)方式為網(wǎng)關(guān)檢測是否已與所述移動(dòng)終端建立第一長連接;若是,則通過已建立的第一長連接將所述下行數(shù)據(jù)消息發(fā)送至所述移動(dòng)終端。否則,通知移動(dòng)終端建立與網(wǎng)關(guān)的第一長連接,在第一長連接建立后,將所述下行數(shù)據(jù)消息發(fā)送至所述移動(dòng)終端。需要說明的是,當(dāng)網(wǎng)關(guān)檢測到?jīng)]有與移動(dòng)終端建立第一長連接時(shí),網(wǎng)關(guān)可以采用短消息通知的方式,要求移動(dòng)終端與網(wǎng)關(guān)建立第一長連接,以保證下行數(shù)據(jù)消息的及時(shí)推送。2、若應(yīng)用服務(wù)器和移動(dòng)終端歸屬不相同的網(wǎng)關(guān),則本步驟的具體實(shí)現(xiàn)方式為由于接收下行數(shù)據(jù)消息的網(wǎng)關(guān)不是移動(dòng)終端歸屬的網(wǎng)關(guān),因此,該移動(dòng)終端與網(wǎng)關(guān)之間沒有建立第一長連接。網(wǎng)關(guān)確定沒有與目的端的移動(dòng)終端建立第一長連接,且從DNS中查詢?cè)撘苿?dòng)終端的第二標(biāo)識(shí),發(fā)現(xiàn)該移動(dòng)終端不是在本地注冊(cè)的移動(dòng)終端,則網(wǎng)關(guān)根據(jù)DNS中存儲(chǔ)的第二對(duì)應(yīng)關(guān)系,查詢出目的端移動(dòng)終端歸屬的其他網(wǎng)關(guān)(為了將與接收應(yīng)用服務(wù)器發(fā)送的下行數(shù)據(jù)消息的網(wǎng)關(guān)和移動(dòng)終端歸屬網(wǎng)關(guān)進(jìn)行區(qū)分,將移動(dòng)終端歸屬網(wǎng)關(guān)稱之為其他網(wǎng)關(guān)),并將所述下行數(shù)據(jù)消息發(fā)送至所述其他網(wǎng)關(guān)后,由所述其他網(wǎng)關(guān)發(fā)送至所述移動(dòng)終端。另外,在步驟603的執(zhí)行過程中,若網(wǎng)關(guān)接收到多個(gè)應(yīng)用服務(wù)器發(fā)送的下行數(shù)據(jù)消息,或一個(gè)應(yīng)用服務(wù)器發(fā)送的多條下行數(shù)據(jù)消息,網(wǎng)關(guān)可以按照實(shí)時(shí)例一的方式按照業(yè)務(wù)的優(yōu)先級(jí)或移動(dòng)終端的優(yōu)先級(jí)進(jìn)行排序后順序發(fā)送。步驟604 :移動(dòng)終端接收到所述下行數(shù)據(jù)消息后,根據(jù)下行數(shù)據(jù)消息中攜帶的應(yīng)用服務(wù)器標(biāo)識(shí),確定接收該下行數(shù)據(jù)消息的應(yīng)用程序。在本實(shí)施例的方案中,移動(dòng)終端按照實(shí)時(shí)例一的方式對(duì)安裝在本地的應(yīng)用程序進(jìn)行管理,記錄在本地安裝的應(yīng)用程序的標(biāo)識(shí),以及各應(yīng)用程序?qū)?yīng)的應(yīng)用服務(wù)器的標(biāo)識(shí)。
步驟605 :移動(dòng)終端查詢?cè)搼?yīng)用程序是否處于運(yùn)行狀態(tài),若是,則通知該應(yīng)用程序獲取所述下行數(shù)據(jù)消息;否則,喚醒或啟動(dòng)該應(yīng)用程序,通知喚醒后或啟動(dòng)后的應(yīng)用程序獲取所述下行數(shù)據(jù)消息。若應(yīng)用服務(wù)器將推送的下行數(shù)據(jù)消息的標(biāo)志位置1,表示要求喚醒移動(dòng)終端的應(yīng)用程序,則在網(wǎng)關(guān)確定作為目的端的移動(dòng)終端后,通過以下兩種方式喚醒移動(dòng)終端內(nèi)的應(yīng)用程序第一種方式移動(dòng)終端與網(wǎng)關(guān)已建立第一長連接時(shí),網(wǎng)關(guān)通過所述第一長連接向移動(dòng)終端發(fā)送喚醒數(shù)據(jù)包,即IP Push喚醒方式,要求移動(dòng)終端喚醒需要接收該下行數(shù)據(jù)消息的應(yīng)用程序。第二種方式移動(dòng)終端與網(wǎng)關(guān)之間沒有建立第一長連接,網(wǎng)關(guān)采用短消息通知的方式,要求移動(dòng)終端與網(wǎng)關(guān)建立第一長連接后,再通過所述第一長連接向移動(dòng)終端發(fā)送喚醒數(shù)據(jù)包,即短消息喚醒方式。
在移動(dòng)終端本地,移動(dòng)終端內(nèi)有一個(gè)AOI中間件,用于各應(yīng)用程序進(jìn)行有序管理以及與網(wǎng)關(guān)之間的長連接管理等功能,移動(dòng)終端本地安裝的應(yīng)用程序在運(yùn)行狀態(tài)時(shí)可以通過Socket長連接的方式直接連接到AOI中間件中,獲取由網(wǎng)關(guān)通過第一長連接推送的下行數(shù)據(jù)消息;若安裝的應(yīng)用程序沒有在運(yùn)行狀態(tài),則移動(dòng)終端喚醒或啟動(dòng)該應(yīng)用程序后,應(yīng)用程序再通過Socket長連接的方式連接到AOI中間件,進(jìn)而獲取由網(wǎng)關(guān)通過第一長連接推送的下行數(shù)據(jù)消息。與實(shí)施例二類似地,本實(shí)施例三的方案也可以在應(yīng)用服務(wù)器待傳輸數(shù)據(jù)的數(shù)據(jù)量非常大時(shí)采用Proxy傳輸方式,通過額外建立應(yīng)用服務(wù)器與網(wǎng)關(guān)、網(wǎng)關(guān)與移動(dòng)終端之間的臨時(shí)長連接來透傳大數(shù)據(jù)量的數(shù)據(jù)。同時(shí),本實(shí)施例三的方案也可以按照實(shí)時(shí)例一的方式對(duì)下行數(shù)據(jù)消息進(jìn)行加密和壓縮后傳輸,以及由網(wǎng)關(guān)生成采用本實(shí)施例三方式進(jìn)行下行傳輸?shù)脑拞?。在本?shí)施例三的方案中,同樣為了能夠使移動(dòng)終端與網(wǎng)關(guān)之間的第一長連接實(shí)時(shí)?;睿瑫r(shí)不增加無線通信網(wǎng)絡(luò)的資源開銷,因此將心跳數(shù)據(jù)包的生存時(shí)間設(shè)定為大于經(jīng)過核心網(wǎng)防火墻的距離,但小于到達(dá)移動(dòng)終端所在的無線通信網(wǎng)絡(luò)的距離,一方面使心跳數(shù)據(jù)包能夠穿過核心網(wǎng)防火墻,達(dá)到對(duì)移動(dòng)終端與網(wǎng)關(guān)之間的第一長連接的?;钅康模硪环矫?,心跳數(shù)據(jù)包并沒有進(jìn)入無線通信網(wǎng)絡(luò),不會(huì)增加無線通信網(wǎng)絡(luò)的負(fù)擔(dān),也不會(huì)占用無線信道。本實(shí)施例三中針對(duì)第一長連接傳輸心跳數(shù)據(jù)包的方法與實(shí)施例一的方法相同。與實(shí)施例一類似的,通過以上步驟601 步驟605描述的技術(shù)方案,網(wǎng)關(guān)成為應(yīng)用服務(wù)器與移動(dòng)終端之間實(shí)時(shí)傳輸過程的中介,應(yīng)用服務(wù)器不需要分別與大量的移動(dòng)終端建立長連接,只需要與一臺(tái)網(wǎng)關(guān)建立一條第二長連接就可以向服務(wù)的任意移動(dòng)終端實(shí)時(shí)推送下行數(shù)據(jù)消息,移動(dòng)終端也只需要與一臺(tái)網(wǎng)關(guān)建立一條第一長連接就可以實(shí)時(shí)接收應(yīng)用服務(wù)器推送的下行數(shù)據(jù)消息,在保證數(shù)據(jù)傳輸高實(shí)時(shí)性的情況下,可以有效減少移動(dòng)終端和應(yīng)用服務(wù)器為長連接分配的資源開銷。實(shí)施例四本發(fā)明實(shí)施例四還提供一種與實(shí)施例一和實(shí)施例二屬于同一發(fā)明構(gòu)思下的數(shù)據(jù)傳輸?shù)南到y(tǒng),應(yīng)用于上行傳輸過程中,如圖7所示,包括移動(dòng)終端11、網(wǎng)關(guān)12、應(yīng)用服務(wù)器13和?;钤O(shè)備14,其中所述移動(dòng)終端11用于與網(wǎng)關(guān)12之間建立第一長連接,并通過所述第一長連接向網(wǎng)關(guān)12發(fā)送上行數(shù)據(jù)消息,所述上行數(shù)據(jù)消息中攜帶應(yīng)用服務(wù)器的標(biāo)識(shí);所述網(wǎng)關(guān)12用于在確定與所述應(yīng)用服務(wù)器的標(biāo)識(shí)對(duì)應(yīng)的應(yīng)用服務(wù)器13之間建立了第二長連接時(shí),通過所述第二長連接,將所述上行數(shù)據(jù)消息發(fā)送至所述應(yīng)用服務(wù)器13 ;所述應(yīng)用服務(wù)器13用于通過所述第二長連接接收上行數(shù)據(jù)消息;所述?;钤O(shè)備14用于針對(duì)所述第一長連接,將設(shè)定的路由距離作為心跳數(shù)據(jù)包的生存時(shí)間,向移動(dòng)終端發(fā)送該心跳數(shù)據(jù)包,所述路由距離大于心跳數(shù)據(jù)包經(jīng)過核心網(wǎng)防火墻的距離,但小于到達(dá)移動(dòng)終端所在的無線通信網(wǎng)絡(luò)的距離。所述?;钤O(shè)備14可以是網(wǎng)關(guān)12中的一個(gè)?;钭酉到y(tǒng),也可以是獨(dú)立于網(wǎng)關(guān)12但能夠與網(wǎng)關(guān)交互的設(shè)備。所述應(yīng)用服務(wù)器13可以是互聯(lián)網(wǎng)中的應(yīng)用服務(wù)器,也可以是企業(yè)內(nèi)部的應(yīng)用服務(wù)器。系統(tǒng)還包括域名系統(tǒng)15,用于接收移動(dòng)終端11發(fā)起的網(wǎng)關(guān)查詢請(qǐng)求,所述網(wǎng)關(guān)查詢請(qǐng)求中攜帶移動(dòng)終端在應(yīng)用服務(wù)器中注冊(cè)時(shí)使用的第一標(biāo)識(shí)以及移動(dòng)終端的第二標(biāo)識(shí), 以及,向移動(dòng)終端11返回該移動(dòng)終端歸屬網(wǎng)關(guān)的路由信息,并存儲(chǔ)移動(dòng)終端的第一標(biāo)識(shí)和第二標(biāo)識(shí);所述移動(dòng)終端11還用于根據(jù)所述路由信息向網(wǎng)關(guān)發(fā)送包含第二標(biāo)識(shí)的注冊(cè)請(qǐng)求,并在注冊(cè)后,與網(wǎng)關(guān)之間建立第一長連接;所述網(wǎng)關(guān)12還用于為移動(dòng)終端注冊(cè)。從圖8可以看出,網(wǎng)關(guān)與DNS之間通過接口相連,使網(wǎng)關(guān)可以實(shí)時(shí)從DNS中查詢信肩、O所述域名系統(tǒng)15還用于存儲(chǔ)網(wǎng)關(guān)和分別與該網(wǎng)關(guān)建立第二長連接的應(yīng)用服務(wù)器的第一對(duì)應(yīng)關(guān)系。所述網(wǎng)關(guān)12具體用于根據(jù)上行數(shù)據(jù)消息中攜帶的應(yīng)用服務(wù)器的標(biāo)識(shí),判斷是否與對(duì)應(yīng)的應(yīng)用服務(wù)器建立第二長連接,若是,則將所述上行數(shù)據(jù)消息通過所述第二長連接發(fā)送至應(yīng)用服務(wù)器,否則,從所述DNS中查詢與所述對(duì)應(yīng)的應(yīng)用服務(wù)器建立第二長連接的其他網(wǎng)關(guān),并將所述上行數(shù)據(jù)消息發(fā)送給所述其他網(wǎng)關(guān)后,由所述其他網(wǎng)關(guān)發(fā)送至所述對(duì)應(yīng)的應(yīng)用服務(wù)器。由于在本實(shí)施例中,網(wǎng)關(guān)需要進(jìn)行路由管理,查詢其他網(wǎng)關(guān)進(jìn)行數(shù)據(jù)消息的發(fā)送,因此,網(wǎng)關(guān)與其他網(wǎng)關(guān)之間存在接口進(jìn)行數(shù)據(jù)消息的傳輸。所述移動(dòng)終端11還用于向網(wǎng)關(guān)發(fā)送代理請(qǐng)求,所述代理請(qǐng)求中攜帶應(yīng)用服務(wù)器的標(biāo)識(shí)和待傳輸數(shù)據(jù)的數(shù)據(jù)量;所述網(wǎng)關(guān)12還用于在確定所述數(shù)據(jù)量達(dá)到門限值時(shí),根據(jù)代理請(qǐng)求中攜帶的應(yīng)用服務(wù)器的標(biāo)識(shí),判斷是否已與對(duì)應(yīng)的應(yīng)用服務(wù)器建立第二長連接,若是,則分別與所述移動(dòng)終端和對(duì)應(yīng)的應(yīng)用服務(wù)器之間建立臨時(shí)長連接,通過與移動(dòng)終端之間的臨時(shí)長連接接收來自移動(dòng)終端的所述待傳輸數(shù)據(jù),并在傳輸結(jié)束后釋放與移動(dòng)終端之間的臨時(shí)長連接,以及,將所述待傳輸數(shù)據(jù)通過與應(yīng)用服務(wù)器之間的臨時(shí)長連接透傳至應(yīng)用服務(wù)器,并在傳輸結(jié)束后釋放與應(yīng)用服務(wù)器之間的臨時(shí)長連接;否則,從DNS中查詢與所述對(duì)應(yīng)的應(yīng)用服務(wù)器建立第二長連接的其他網(wǎng)關(guān),并分別與所述移動(dòng)終端和所述其他網(wǎng)關(guān)建立臨時(shí)長連接,通過與移動(dòng)終端之間的臨時(shí)長連接接收來自移動(dòng)終端的所述待傳輸數(shù)據(jù),并在傳輸結(jié)束后釋放與移動(dòng)終端之間的臨時(shí)長連接,以及,將所述待傳輸數(shù)據(jù)通過與所述其他網(wǎng)關(guān)之間的臨時(shí)長連接透傳至其他網(wǎng)關(guān),并在傳輸結(jié)束后釋放與所述其他網(wǎng)關(guān)之間的臨時(shí)長連接。
所述移動(dòng)終端11還用于記錄在本地安裝的應(yīng)用程序的標(biāo)識(shí),以及各應(yīng)用程序?qū)?yīng)的應(yīng)用服務(wù)器的標(biāo)識(shí),在接收到任一應(yīng)用程序生成的上行數(shù)據(jù)消息后,確定對(duì)應(yīng)的應(yīng)用服務(wù)器的標(biāo)識(shí),并將所述應(yīng)用服務(wù)器的標(biāo)識(shí)攜帶在所述上行數(shù)據(jù)消息中。另外,根據(jù)本發(fā)明實(shí)施例一和實(shí)施例二的描述,網(wǎng)關(guān)還要通過短消息方式通知移動(dòng)終端建立第一長連接、生成話單以及對(duì)移動(dòng)終端進(jìn)行管理,因此,本實(shí)施例系統(tǒng)中還可以進(jìn)一步包括短消息網(wǎng)關(guān)(ISMG)、計(jì)費(fèi)系統(tǒng)(BOSS)和網(wǎng)管。實(shí)施例五本發(fā)明實(shí)施例五還提供一種與實(shí)施例三屬于同一發(fā)明構(gòu)思下的數(shù)據(jù)傳輸?shù)南到y(tǒng),其結(jié)構(gòu)與實(shí)施例四的結(jié)構(gòu)相同,應(yīng)用在下行傳輸過程中,包括移動(dòng)終端11、網(wǎng)關(guān)12、應(yīng)用服務(wù)器13和?;钤O(shè)備14,其中應(yīng)用服務(wù)器13用于與網(wǎng)關(guān)12建立第二長連接,并通過所述第二長連接向網(wǎng)關(guān)發(fā)送下行數(shù)據(jù)消息,所述下行數(shù)據(jù)消息中攜帶移動(dòng)終端在應(yīng)用服務(wù)器中注冊(cè)時(shí)使用的第一標(biāo)識(shí);網(wǎng)關(guān)12用于通過與所述第一標(biāo)識(shí)對(duì)應(yīng)的移動(dòng)終端11之間的第一長連接,將所述下行數(shù)據(jù)消息發(fā)送至所述移動(dòng)終端11 ;移動(dòng)終端11用于通過所述第一長 連接接收下行數(shù)據(jù)消息;所述?;钤O(shè)備14用于針對(duì)所述第一長連接,將設(shè)定的路由距離作為心跳數(shù)據(jù)包的生存時(shí)間,向移動(dòng)終端發(fā)送該心跳數(shù)據(jù)包,所述路由距離大于經(jīng)過核心網(wǎng)防火墻的距離,但小于到達(dá)移動(dòng)終端所在的無線通信網(wǎng)絡(luò)的距離。所述網(wǎng)關(guān)12具體用于檢測是否已與所述移動(dòng)終端建立第一長連接,若是,則通過已建立的第一長連接將所述下行數(shù)據(jù)消息發(fā)送至所述移動(dòng)終端;否則,通知移動(dòng)終端建立與網(wǎng)關(guān)的第一長連接,在第一長連接建立后,將所述下行數(shù)據(jù)消息發(fā)送至所述移動(dòng)終端11。還包括域名系統(tǒng)15,用于存儲(chǔ)移動(dòng)終端的第一標(biāo)識(shí)和第二標(biāo)識(shí),以及第二標(biāo)識(shí)與該移動(dòng)終端歸屬網(wǎng)關(guān)標(biāo)識(shí)之間的第二對(duì)應(yīng)關(guān)系;所述網(wǎng)關(guān)12具體用于根據(jù)下行數(shù)據(jù)消息中攜帶的第一標(biāo)識(shí),從DNS中查詢?cè)撘苿?dòng)終端的第二標(biāo)識(shí),并根據(jù)查詢出的第二標(biāo)識(shí)判斷所述移動(dòng)終端是否是在本地注冊(cè)的移動(dòng)終端,若是,則通過第一長連接將所述下行數(shù)據(jù)消息發(fā)送至所述移動(dòng)終端;否則,根據(jù)所述第二對(duì)應(yīng)關(guān)系,從DNS中查詢?cè)撘苿?dòng)終端歸屬的其他網(wǎng)關(guān),并將所述下行數(shù)據(jù)消息發(fā)送至所述其他網(wǎng)關(guān)后,由所述其他網(wǎng)關(guān)發(fā)送至所述移動(dòng)終端。所述應(yīng)用服務(wù)器13還用于向網(wǎng)關(guān)12發(fā)送代理請(qǐng)求,所述代理請(qǐng)求中攜帶移動(dòng)終端的第一標(biāo)識(shí)和待傳輸數(shù)據(jù)的數(shù)據(jù)量;所述網(wǎng)關(guān)12還用于在確定所述數(shù)據(jù)量達(dá)到門限值時(shí),根據(jù)代理請(qǐng)求中攜帶的第一標(biāo)識(shí),通過查詢DNS確定對(duì)應(yīng)的第二標(biāo)識(shí),并根據(jù)確定的第二標(biāo)識(shí)判斷對(duì)應(yīng)的移動(dòng)終端是否是在本地注冊(cè)的移動(dòng)終端,若是,則網(wǎng)關(guān)分別與所述對(duì)應(yīng)的移動(dòng)終端和發(fā)送代理請(qǐng)求的應(yīng)用服務(wù)器之間建立臨時(shí)長連接,通過與應(yīng)用服務(wù)器之間的臨時(shí)長連接接收來自應(yīng)用服務(wù)器的所述待傳輸數(shù)據(jù),并在傳輸結(jié)束后釋放與應(yīng)用服務(wù)器之間的臨時(shí)長連接,以及將所述待傳輸數(shù)據(jù)通過與移動(dòng)終端之間的臨時(shí)長連接透傳至移動(dòng)終端,并在傳輸結(jié)束后釋放與移動(dòng)終端之間的臨時(shí)長連接;否則,網(wǎng)關(guān)從DNS中查詢所述對(duì)應(yīng)的移動(dòng)終端歸屬的其他網(wǎng)關(guān),并分別與發(fā)送代理請(qǐng)求的應(yīng)用服務(wù)器和所述其他網(wǎng)關(guān)之間建立臨時(shí)長連接,通過與應(yīng)用服務(wù)器之間的臨時(shí)長連接接收來自應(yīng)用服務(wù)器的待傳輸數(shù)據(jù),并在傳輸結(jié)束后釋放與應(yīng)用服務(wù)器之間的臨時(shí)長連接,以及將所述待傳輸數(shù)據(jù)通過與所述其他網(wǎng)關(guān)之間的臨時(shí)長連接透傳至其他網(wǎng)關(guān),并在傳輸結(jié)束后釋放與所述其他網(wǎng)關(guān)之間的臨時(shí)長連接。
所述移動(dòng)終端11還用于記錄在本地安裝的應(yīng)用程序的標(biāo)識(shí),以及各應(yīng)用程序?qū)?yīng)的應(yīng)用服務(wù)器的標(biāo)識(shí),在接收到下行數(shù)據(jù)消息時(shí),根據(jù)下行數(shù)據(jù)消息中攜帶的應(yīng)用服務(wù)器標(biāo)識(shí),確定接收該下行數(shù)據(jù)消息的應(yīng)用程序,并查詢?cè)搼?yīng)用程序是否處于運(yùn)行狀態(tài),若是,則通知該應(yīng)用程序獲取所述下行數(shù)據(jù)消息;否則,喚醒或啟動(dòng)該應(yīng)用程序,通知喚醒后或啟動(dòng)后的應(yīng)用程序獲取所述下行數(shù)據(jù)消息。實(shí)施例六
本發(fā)明實(shí)施例六還提供一種與實(shí)施例一至實(shí)施例五屬于同一發(fā)明構(gòu)思下的網(wǎng)關(guān),如圖8所示,包括在線子系統(tǒng)、Proxy子系統(tǒng)、鑒權(quán)子系統(tǒng)和支撐子系統(tǒng),下面分別加以說明。I、在線子系統(tǒng)遵循AOP (永遠(yuǎn)在線協(xié)議),接納并維護(hù)與移動(dòng)終端和應(yīng)用服務(wù)器之間的長連接,同時(shí)提供對(duì)移動(dòng)終端的長連接通知功能,要求與移動(dòng)終端之間的長連接實(shí)時(shí)存在,將長連接方式與IP Push方式相配合,為移動(dòng)終端和應(yīng)用服務(wù)器之間提供及時(shí)、穩(wěn)定、高效的數(shù)據(jù)傳輸服務(wù)。在線子系統(tǒng)中包括第一連接模塊和傳輸模塊,其中,第一連接模塊用于與移動(dòng)終端之間建立第一長連接,與應(yīng)用服務(wù)器之間建立第二長連接;傳輸模塊用于在上行傳輸過程中,接收到移動(dòng)終端通過第一長連接發(fā)送的上行數(shù)據(jù)消息時(shí),根據(jù)該上行數(shù)據(jù)消息中攜帶的應(yīng)用服務(wù)器的標(biāo)識(shí),將該上行數(shù)據(jù)消息通過第二長連接發(fā)送至對(duì)應(yīng)的應(yīng)用服務(wù)器,以及在下行傳輸過程中,接收到應(yīng)用服務(wù)器通過第二長連接發(fā)送的下行數(shù)據(jù)消息時(shí),根據(jù)該下行數(shù)據(jù)消息中攜帶的移動(dòng)終端的第一標(biāo)識(shí),將該下行數(shù)據(jù)消息通過第一長連接發(fā)送至對(duì)應(yīng)的移動(dòng)終端。在線子系統(tǒng)還包括路由管理模塊,用于在上行傳輸過程中,判斷是否與上行數(shù)據(jù)消息中攜帶的應(yīng)用服務(wù)器的標(biāo)識(shí)對(duì)應(yīng)的應(yīng)用服務(wù)器建立第二長連接,在沒有建立第二長連接時(shí),從DNS中查詢與所述對(duì)應(yīng)的應(yīng)用服務(wù)器建立第二長連接的其他網(wǎng)關(guān),在下行傳輸過程中,判斷所述移動(dòng)終端是否是在本地注冊(cè)的移動(dòng)終端,在所述移動(dòng)終端不是在本地注冊(cè)的移動(dòng)終端時(shí),從DNS中查詢?cè)撘苿?dòng)終端歸屬的其他網(wǎng)關(guān);進(jìn)而所述傳輸模塊,還用于并將所述上行數(shù)據(jù)消息或下行數(shù)據(jù)消息發(fā)送給所述其他網(wǎng)關(guān)。注冊(cè)模塊,用于完成對(duì)移動(dòng)終端的注冊(cè)操作,并記錄已注冊(cè)移動(dòng)終端的第二標(biāo)識(shí)。VPN接入模塊,用于通過第一長連接和第二長連接對(duì)上行數(shù)據(jù)消息和下行數(shù)據(jù)消息進(jìn)行傳輸時(shí),通過虛擬專用網(wǎng)絡(luò)(VPN)的方式,對(duì)上行數(shù)據(jù)消息和下行數(shù)據(jù)消息進(jìn)行安全管理,如采用隧道技術(shù)、加解密技術(shù)、密鑰管理技術(shù)和身份認(rèn)證技術(shù)來提高傳輸?shù)纳闲袛?shù)據(jù)消息和下行數(shù)據(jù)消息安全性。SMS Push模塊,用于通過短消息方式喚醒移動(dòng)終端內(nèi)的應(yīng)用程序。IP Push模塊,用于通過IP Push方式喚醒移動(dòng)終端內(nèi)的應(yīng)用程序。2、Proxy子系統(tǒng)提供移動(dòng)終端與應(yīng)用服務(wù)器之間的大數(shù)據(jù)量數(shù)據(jù)的傳輸代理。Proxy子系統(tǒng)包括代理模塊和第二連接模塊。代理模塊用于在上行傳輸過程中,接收來自移動(dòng)終端的代理請(qǐng)求,所述代理請(qǐng)求中攜帶應(yīng)用服務(wù)器的標(biāo)識(shí)和待傳輸數(shù)據(jù)的數(shù)據(jù)量,并在確定所述數(shù)據(jù)量達(dá)到門限值時(shí),根據(jù)代理請(qǐng)求中攜帶的應(yīng)用服務(wù)器的標(biāo)識(shí),判斷是否已與對(duì)應(yīng)的應(yīng)用服務(wù)器建立第二長連接;在下行傳輸過程中,接收來自應(yīng)用服務(wù)器的代理請(qǐng)求,所述代理請(qǐng)求中攜帶移動(dòng)終端的第一標(biāo)識(shí)和待傳輸數(shù)據(jù)的數(shù)據(jù)量,并在確定所述數(shù)據(jù)量達(dá)到門限值時(shí),根據(jù)代理請(qǐng)求中攜帶的第一標(biāo)識(shí),判斷對(duì)應(yīng)的移動(dòng)終端是否是在本地注冊(cè)的移動(dòng)終端。第二連接模塊用于在上行傳輸過程中,若網(wǎng)關(guān)已與對(duì)應(yīng)的應(yīng)用服務(wù)器建立第二長連接,則分別與所述移動(dòng)終端和對(duì)應(yīng)的應(yīng)用服務(wù)器之間建立臨時(shí)長連接,通過與移動(dòng)終端之間的臨時(shí)長連接接收來自移動(dòng)終端的所述待傳輸數(shù)據(jù),并在傳輸結(jié)束后釋放與移動(dòng)終端之間的臨時(shí)長連接,以及,將所述待傳輸數(shù)據(jù)通過與應(yīng)用服務(wù)器之間的臨時(shí)長連接透傳至應(yīng)用服務(wù)器,并在傳輸結(jié)束后釋放與應(yīng)用服務(wù)器之間的臨時(shí)長連接;否則,從DNS中查詢與所述對(duì)應(yīng)的應(yīng)用服務(wù)器建立第二長連接的其他網(wǎng)關(guān),并分別與所述移動(dòng)終端和所述其他網(wǎng)關(guān)建立臨時(shí)長連接,通過與移動(dòng)終端之間的臨時(shí)長連接接收來自移動(dòng)終端的所述待傳輸數(shù)據(jù),并在傳輸結(jié)束后釋放與移動(dòng)終端之間的臨時(shí)長連接,以及,將所述待傳輸數(shù)據(jù)通過與所述其他網(wǎng)關(guān)之間的臨時(shí)長連接透傳至其他網(wǎng)關(guān),并在傳輸結(jié)束后釋放與所述其他網(wǎng)關(guān)之間的臨時(shí)長連接。在下行傳輸過程中,若所述對(duì)應(yīng)的移動(dòng)終端是在本地注冊(cè)的移動(dòng)終端,則分別與所述對(duì)應(yīng)的移動(dòng)終端和發(fā)送代理請(qǐng)求的應(yīng)用服務(wù)器之間建立臨時(shí)長連接,通過與應(yīng)用服務(wù)器之間的臨時(shí)長連接接收來自應(yīng)用服務(wù)器的所述待傳輸數(shù)據(jù),并在傳輸結(jié)束后釋放與應(yīng)用服務(wù)器之間的臨時(shí)長連接,以及將所述待傳輸數(shù)據(jù)通過與移動(dòng)終端之間的臨時(shí)長連接 透傳至移動(dòng)終端,并在傳輸結(jié)束后釋放與移動(dòng)終端之間的臨時(shí)長連接;否則,從DNS中查詢所述對(duì)應(yīng)的移動(dòng)終端歸屬的其他網(wǎng)關(guān),并分別與發(fā)送代理請(qǐng)求的應(yīng)用服務(wù)器和所述其他網(wǎng)關(guān)之間建立臨時(shí)長連接,通過與應(yīng)用服務(wù)器之間的臨時(shí)長連接接收來自應(yīng)用服務(wù)器的待傳輸數(shù)據(jù),并在傳輸結(jié)束后釋放與應(yīng)用服務(wù)器之間的臨時(shí)長連接,以及將所述待傳輸數(shù)據(jù)通過與所述其他網(wǎng)關(guān)之間的臨時(shí)長連接透傳至其他網(wǎng)關(guān),并在傳輸結(jié)束后釋放與所述其他網(wǎng)關(guān)之間的臨時(shí)長連接。3、鑒權(quán)子系統(tǒng)負(fù)責(zé)對(duì)注冊(cè)的移動(dòng)終端和應(yīng)用服務(wù)器進(jìn)行鑒權(quán),只有鑒權(quán)通過的移動(dòng)終端才允許注冊(cè)以及建立第一長連接,以及,鑒權(quán)通過的應(yīng)用服務(wù)器才允許建立第二長連接。鑒權(quán)子系統(tǒng)包括用戶管理模塊,用于記錄歸屬于該網(wǎng)關(guān)的移動(dòng)終端以及應(yīng)用服務(wù)器的信息。業(yè)務(wù)管理模塊,用于記錄歸屬于該網(wǎng)關(guān)的移動(dòng)終端支持的業(yè)務(wù)以及應(yīng)用服務(wù)器支持的業(yè)務(wù)。安全管理模塊,用于記錄安全信息,包括采用隧道技術(shù)、加解密技術(shù)、密鑰管理技術(shù)和身份認(rèn)證技術(shù)中使用的加密信息。鑒權(quán)模塊,用于利用用戶管理模塊、業(yè)務(wù)管理模塊、安全管理模塊中的信息,對(duì)建立第一長連接和第二長連接的移動(dòng)終端和應(yīng)用服務(wù)器進(jìn)行鑒權(quán)。4、支撐子系統(tǒng)負(fù)責(zé)對(duì)傳輸?shù)臄?shù)據(jù)消息進(jìn)行統(tǒng)計(jì)分析,對(duì)上下行傳輸過程進(jìn)行監(jiān)控,以及對(duì)移動(dòng)終端內(nèi)用于對(duì)安裝的應(yīng)用程序進(jìn)行管理的中間件的升級(jí)。支撐子系統(tǒng)包括統(tǒng)計(jì)分析模塊,用于對(duì)通過第一長連接、第二長連接傳輸?shù)臄?shù)據(jù)消息以及通過臨時(shí)長連接傳輸?shù)臄?shù)據(jù)進(jìn)行統(tǒng)計(jì)分析。監(jiān)控模塊,用于對(duì)通過第一長連接、第二長連接的傳輸過程以及通過臨時(shí)長連接的傳輸過程進(jìn)行監(jiān)控,在出現(xiàn)異常時(shí)報(bào)警。計(jì)費(fèi)模塊,用于對(duì)通過第一長連接、第二長連接的傳輸過程以及通過臨時(shí)長連接的傳輸過程生成話單進(jìn)行計(jì)費(fèi)。升級(jí)模塊,用于實(shí)時(shí)檢測移動(dòng)終端內(nèi)的中間件是否需要升級(jí),在需要升級(jí)時(shí),向移動(dòng)終端發(fā)送該中間件的升級(jí)信息。日志模塊,用于記錄網(wǎng)關(guān)各項(xiàng)操作所產(chǎn)生的日志信息。輔助模塊,用于對(duì)網(wǎng)關(guān)與外界各設(shè)備的接口進(jìn)行輔助管理。 實(shí)施例七本發(fā)明實(shí)施例七還提供一種與實(shí)施例一至實(shí)施例五屬于同一發(fā)明構(gòu)思下的移動(dòng)終端,如圖9所示,包括接口模塊、核心模塊和支撐模塊,接口模塊、核心模塊和支撐模塊可以是移動(dòng)終端內(nèi)集成的模塊,也可以是移動(dòng)終端內(nèi)安裝的AOI中間件的集成模塊。下面分別對(duì)接口模塊、核心模塊和支撐模塊加以說明I、接口模塊主要負(fù)責(zé)與外部的網(wǎng)關(guān)之間建立第一長連接、對(duì)移動(dòng)終端內(nèi)安裝的應(yīng)用程序與中間件之間的長連接,以及與網(wǎng)關(guān)之間的臨時(shí)長連接。2、核心模塊提供AOI中間件的核心功能,是實(shí)現(xiàn)本發(fā)明目的的主要模塊。核心模塊包括數(shù)據(jù)收發(fā)模塊,用于在上行傳輸過程中,通過第一長連接向網(wǎng)關(guān)發(fā)送上行數(shù)據(jù)消息,所述上行數(shù)據(jù)消息中攜帶應(yīng)用服務(wù)器的標(biāo)識(shí),以及在下行傳輸過程中,通過第一長連接接收網(wǎng)關(guān)推送的下行數(shù)據(jù)消息。代理請(qǐng)求模塊,用于在利用Proxy功能傳輸時(shí),向網(wǎng)關(guān)發(fā)送代理請(qǐng)求,所述代理請(qǐng)求中攜帶應(yīng)用服務(wù)器的標(biāo)識(shí)和待傳輸數(shù)據(jù)的數(shù)據(jù)量;IP代理模塊,用于在利用Proxy功能傳輸時(shí),通過臨時(shí)長連接向網(wǎng)關(guān)發(fā)送待傳輸數(shù)據(jù),以及通過所述臨時(shí)長連接接收網(wǎng)關(guān)推送的待傳輸數(shù)據(jù)。注冊(cè)模塊,用于從DNS中獲取歸屬網(wǎng)關(guān)的路由信息,并根據(jù)該路由信息向網(wǎng)關(guān)進(jìn)行注冊(cè)。管理模塊,用于記錄在本地安裝的應(yīng)用程序的標(biāo)識(shí),以及各應(yīng)用程序?qū)?yīng)的應(yīng)用服務(wù)器的標(biāo)識(shí),并在接收到任一應(yīng)用程序生成的上行數(shù)據(jù)消息后,確定對(duì)應(yīng)的應(yīng)用服務(wù)器的標(biāo)識(shí),并將所述應(yīng)用服務(wù)器的標(biāo)識(shí)攜帶在所述上行數(shù)據(jù)消息中。喚醒模塊,用于在接收到下行數(shù)據(jù)消息時(shí),根據(jù)下行數(shù)據(jù)消息中攜帶的應(yīng)用服務(wù)器標(biāo)識(shí),確定接收該下行數(shù)據(jù)消息的應(yīng)用程序,并查詢?cè)搼?yīng)用程序是否處于運(yùn)行狀態(tài),若是,則通知該應(yīng)用程序獲取所述下行數(shù)據(jù)消息;否則,喚醒或啟動(dòng)該應(yīng)用程序,通知喚醒后或啟動(dòng)后的應(yīng)用程序獲取所述下行數(shù)據(jù)消息。壓縮/解壓模塊,用于對(duì)發(fā)送的上行數(shù)據(jù)消息進(jìn)行壓縮,以及對(duì)接收到的下行數(shù)據(jù)消息進(jìn)行解壓。3、支撐模塊包括日志模塊,用于記錄移動(dòng)終端的各項(xiàng)操作產(chǎn)生的日志信息。配置模塊,用于對(duì)移動(dòng)終端各項(xiàng)操作所需參數(shù)進(jìn)行配置,如移動(dòng)終端向DNS的路由配置。升級(jí)模塊,用于在接收到網(wǎng)關(guān)發(fā)送的針對(duì)中間件的升級(jí)信息時(shí),對(duì)中間件進(jìn)行升級(jí)。實(shí)施例八本發(fā)明實(shí)施例八還提供一種與實(shí)施例一至實(shí)施例五屬于同一發(fā)明構(gòu)思下的應(yīng)用服務(wù)器,如圖10所示,包括接口模塊和數(shù)據(jù)收發(fā)模塊,所述接口模塊用于與網(wǎng)關(guān)建立第二長連接;數(shù)據(jù)收發(fā)模塊用于通過所述第二長連接接收網(wǎng)關(guān)發(fā)送的上行數(shù)據(jù)消息,以及通過所述第二長連接向網(wǎng)關(guān)發(fā)送下行數(shù)據(jù)消息,所述下行數(shù)據(jù)消息中攜帶移動(dòng)終端在應(yīng)用服務(wù)器中注冊(cè)時(shí)使用的第一標(biāo)識(shí)。所述接口模塊還用于與網(wǎng)關(guān)之間建立臨時(shí)長連接,數(shù)據(jù)收發(fā)模塊還用于通過臨時(shí)長連接收發(fā)待傳輸數(shù)據(jù)。實(shí)施例九 本發(fā)明實(shí)施例九還提供一種與實(shí)施例一至實(shí)施例五屬于同一發(fā)明構(gòu)思下的?;钤O(shè)備,如圖11所示,包括數(shù)據(jù)采集模塊、距離探測模塊和數(shù)據(jù)包發(fā)送模塊,其中數(shù)據(jù)采集模塊在數(shù)據(jù)通道為基于TCP的模式時(shí)用于實(shí)時(shí)捕獲長連接兩端的移動(dòng)終端和應(yīng)用服務(wù)器之間的通信數(shù)據(jù)包,建立和維護(hù)移動(dòng)終端的五元組,提取當(dāng)前移動(dòng)終端TCP連接的順序信息(seq)、響應(yīng)信息(ack);在數(shù)據(jù)通道為基于UDP的模式時(shí),用于實(shí)時(shí)獲取終端設(shè)備的IP和Μ)Ρ端口信息。距離探測模塊用于探測心跳數(shù)據(jù)包所需的路由距離。數(shù)據(jù)包發(fā)送模塊用于將所述路由距離作為心跳數(shù)據(jù)包的生存時(shí)間,向移動(dòng)終端發(fā)送該心跳數(shù)據(jù)包。具體地,如圖12所示,距離探測模塊包括第一路由確定模塊和第二路由確定模塊,其中第一路由確定模塊用于向移動(dòng)終端發(fā)送的測試數(shù)據(jù)包,確定該測試數(shù)據(jù)包路由至移動(dòng)終端時(shí)產(chǎn)生的第一路由距離;第二路由確定模塊用于根據(jù)所述第一路由距離,確定測試數(shù)據(jù)包在經(jīng)過核心網(wǎng)防火墻之后,且到達(dá)移動(dòng)終端所在的無線通信網(wǎng)絡(luò)之前的一跳路由時(shí),產(chǎn)生的第二路由距離;因此,數(shù)據(jù)包發(fā)送模塊用于將所述第二路由距離作為心跳數(shù)據(jù)包的生存時(shí)間,向移動(dòng)終端發(fā)送該心跳數(shù)據(jù)包。與實(shí)施例二的方案相似的,第一路由確定模塊也可以通過逐漸增大路由距離來確定第一路由距離、逐漸減小路由距離來確定第一路由距離和二分法方式來確定第一路由距離,下面分別加以說明I、通過逐漸增大路由距離來確定第一路由距離(I)、TCP 方式所述第一路由確定模塊,具體用于將所述測試數(shù)據(jù)包的序號(hào)值設(shè)置為所述移動(dòng)終端識(shí)別為錯(cuò)誤的序列號(hào),并逐漸增大預(yù)先設(shè)定的第三路由距離,針對(duì)每次增大后得到的路由距離執(zhí)行以下操作將本次得到的路由距離作為測試數(shù)據(jù)包的生存時(shí)間,向移動(dòng)終端發(fā)送該測試數(shù)據(jù)包;若返回復(fù)位RST消息,則將本次得到的路由距離作為第一路由距離;若返回的控制報(bào)文協(xié)議ICMP消息攜帶的錯(cuò)誤類型是超時(shí),則繼續(xù)增大路由距離。(2)、UDP 方式所述第一路由確定模塊,具體用于將所述測試數(shù)據(jù)包中攜帶的目的端口號(hào)設(shè)置為移動(dòng)終端不能正確接收該測試數(shù)據(jù)包的用戶數(shù)據(jù)包UDP端口號(hào),以及,逐漸增大預(yù)先設(shè)定的第四路由距離,針對(duì)每次增大后得到的路由距離執(zhí)行以下操作將本次得到的路由距離作為測試數(shù)據(jù)包的生存時(shí)間,向移動(dòng)終端發(fā)送該測試數(shù)據(jù)包,并檢測接收到的控制報(bào)文協(xié)議ICMP消息;若所述ICMP消息攜帶的錯(cuò)誤類型是端口不可達(dá),則將本次得到的路由距離作為
第一路由距離; 若所述ICMP消息攜帶的錯(cuò)誤類型是超時(shí),則繼續(xù)增大路由距離。2、通過逐漸減小路由距離來確定第一路由距離(I)、TCP 方式所述第一路由確定模塊具體用于逐漸減小預(yù)先設(shè)定的第五路由距離,針對(duì)每次減小后得到的路由距離執(zhí)行以下操作將本次得到的路由距離作為測試數(shù)據(jù)包的生存時(shí)間,通過已確定五元組信息的TCP連接向移動(dòng)終端發(fā)送該測試數(shù)據(jù)包,并判斷是否接收到返回的測試回應(yīng)消息;若是,則繼續(xù)減小路由距離;否則,將本次得到的路由距離加I作為第一路由距離。(2)、UDP 方式所述第一路由確定模塊具體用于逐漸減小預(yù)先設(shè)定的第六路由距離,針對(duì)每次減小后得到的路由距離執(zhí)行以下操作將本次得到的路由距離作為測試數(shù)據(jù)包的生存時(shí)間,根據(jù)所述移動(dòng)終端的IP地址和UDP端口,向所述移動(dòng)終端發(fā)送該測試數(shù)據(jù)包,并判斷是否接收到返回的測試回應(yīng)消息;若是,則繼續(xù)減小路由距離;否則,將本次得到的路由距離加I作為第一路由距離。3、二分法方式(I)、TCP 方式所述第一路由確定模塊,具體用于預(yù)先設(shè)定上限路由距離和下限路由距離,在每次上限路由距離或下限路由距離發(fā)生更新時(shí),判斷上限路由距離是否不小于下限路由距離,若是,則執(zhí)行以下操作,直至上限路由距離小于下限路由距離將本次得到上限路由距離和下限路由距離的平均值取整,得到第七路由距離,并將本次得到的第七路由距離作為測試數(shù)據(jù)包的生存時(shí)間,通過已確定五元組信息的TCP連接向移動(dòng)終端發(fā)送該測試數(shù)據(jù)包,并判斷是否接收到返回的測試回應(yīng)消息;若是,則將本次得到的第七路由距離的路由跳數(shù)減I后作為更新后的上限路由距離;否則,將本次得到的第七路由距離的路由跳數(shù)減I后作為更新后的下限路由距離;確定在上限路由距離小于下限路由距離時(shí)得到的第七路由距離,在以該第七路由距離為測試數(shù)據(jù)包的生存時(shí)間時(shí),若接收到測試超時(shí)消息,則將該第七路由距離的路由跳數(shù)加I后作為第一路由距離;若接收到測試正確消息,則將該第七路由距離的路由跳數(shù)作為第一路由距離。
(2)、UDP 方式所述第一路由確定模塊,具體用于預(yù)先設(shè)定上限路由距離和下限路由距離,在每次上限路由距離或下限路由距離發(fā)生更新時(shí),判斷上限路由距離是否不小于下限路由距離,若是,則執(zhí)行以下操作,直至上限路由距離小于下限路由距離將本次得到上限路由距離和下限路由距離的平均值取整,得到第八路由距離,并將本次得到的第八路由距離作為測試數(shù)據(jù)包的生存時(shí)間,根據(jù)所述移動(dòng)終端的IP地址和UDP端口,向所述移動(dòng)終端發(fā)送該測試數(shù)據(jù)包,并判斷是否接收到返回的測試回應(yīng)消息;若是,則將本次得到的第八路由距離的路由跳數(shù)減I后作為更新后的上限路由距離;否則,將本次得到的第八路由距離的路由跳數(shù)減I后作為更新后的下限路由距離;確定在上限路由距離小于下限路由距離時(shí)得到的第八路由距離,在以該第八路由距離為測試數(shù)據(jù)包的生存時(shí)間時(shí),若接收到測試超時(shí)消息,則將該第八路由距離的路由跳數(shù)加I后作為第一路由距離;若接收到測試正確消息,則將該第八路由距離的路由跳數(shù)作為第一路由距離。所述第二路由確定模塊,具體用于將第一路由距離的路由跳數(shù)減I后作為所述第二路由距離的最大值,以及將經(jīng)過所述核心網(wǎng)防火墻時(shí)產(chǎn)生的路由跳數(shù)作為所述第二路由距離的最小值,將不大于所述最大值且不小于所述最小值的路由跳數(shù)作為第二路由距離。本實(shí)施例九中的保活設(shè)備可以是第一長連接一端的網(wǎng)關(guān)內(nèi)?;钭酉到y(tǒng),如圖13所示,網(wǎng)關(guān)與移動(dòng)終端之間建立第一長連接,網(wǎng)關(guān)在通信短消息方式喚醒終端內(nèi)的應(yīng)用程序時(shí),網(wǎng)關(guān)還與移動(dòng)通信網(wǎng)絡(luò)中的ISMG、SMS相連,通過IP Push方式喚醒終端內(nèi)的應(yīng)用程序時(shí),網(wǎng)關(guān)還與移動(dòng)通信網(wǎng)絡(luò)中的GGSN相連。網(wǎng)關(guān)中的?;钭酉到y(tǒng)對(duì)終端和網(wǎng)關(guān)之間的第一長連接進(jìn)行保活。?;钤O(shè)備也可以是獨(dú)立于網(wǎng)關(guān)的設(shè)備,為該網(wǎng)關(guān)與移動(dòng)終端之間的第一長連接進(jìn)行?;?。通過本發(fā)明實(shí)施例提供的方法、系統(tǒng)及設(shè)備,相較于現(xiàn)有技術(shù)中的IP Push方案,在確保移動(dòng)終端與應(yīng)用服務(wù)器之間的數(shù)據(jù)傳輸高實(shí)時(shí)性的基礎(chǔ)上,有效減少長連接的數(shù)量,對(duì)移動(dòng)終端和應(yīng)用服務(wù)器的資源占用都較少。同時(shí),本發(fā)明實(shí)施例移動(dòng)終端AOI架構(gòu)為應(yīng)用服務(wù)提供商、網(wǎng)絡(luò)運(yùn)營商和用戶提供了良好的數(shù)據(jù)通道,為移動(dòng)業(yè)務(wù)的統(tǒng)一管理和統(tǒng)一控制提供了平臺(tái)。同時(shí),針對(duì)第一長連接的心跳數(shù)據(jù)包在路由傳輸過程中既能夠穿過核心網(wǎng)防火墻進(jìn)入運(yùn)營商提供的核心網(wǎng)達(dá)到對(duì)長連接?;畹哪康?,又終止于進(jìn)入移動(dòng)終端所在的無線通信網(wǎng)絡(luò)之前的一跳路由器,避免了心跳數(shù)據(jù)包對(duì)無線通信網(wǎng)絡(luò)造成的負(fù)擔(dān)。本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本申請(qǐng)的實(shí)施例可提供為方法、系統(tǒng)、或計(jì)算機(jī)程序產(chǎn)品。因此,本申請(qǐng)可采用完全硬件實(shí)施例、完全軟件實(shí)施例、或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本申請(qǐng)可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲(chǔ)介質(zhì)(包括但不限于磁盤存儲(chǔ)器、CD-ROM、光學(xué)存儲(chǔ)器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。本申請(qǐng)是參照根據(jù)本申請(qǐng)實(shí)施例的方法、設(shè)備(系統(tǒng))、和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或方框圖來描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計(jì)算機(jī)程序指令到通用計(jì)算機(jī)、專用計(jì)算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個(gè)機(jī)器,使得通過計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的裝置。這些計(jì)算機(jī)程序指令也可存儲(chǔ)在能引導(dǎo)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計(jì)算機(jī)可讀存儲(chǔ)器中,使得存儲(chǔ)在該計(jì)算機(jī)可讀存儲(chǔ)器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能。這些計(jì)算機(jī)程序指令也可裝載到計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的處理,從而在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖 一個(gè)方框或多個(gè)方框中指定的功能的步驟。盡管已描述了本申請(qǐng)的優(yōu)選實(shí)施例,但本領(lǐng)域內(nèi)的技術(shù)人員一旦得知了基本創(chuàng)造性概念,則可對(duì)這些實(shí)施例做出另外的變更和修改。所以,所附權(quán)利要求意欲解釋為包括優(yōu)選實(shí)施例以及落入本申請(qǐng)范圍的所有變更和修改。顯然,本領(lǐng)域的技術(shù)人員可以對(duì)本發(fā)明進(jìn)行各種改動(dòng)和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動(dòng)和變型在內(nèi)。
權(quán)利要求
1.一種數(shù)據(jù)傳輸?shù)姆椒?,其特征在于,所述方法包? 網(wǎng)關(guān)通過與移動(dòng)終端之間建立的第一長連接接收來自移動(dòng)終端的上行數(shù)據(jù)消息,所述上行數(shù)據(jù)消息中攜帶應(yīng)用服務(wù)器的標(biāo)識(shí),所述第一長連接傳輸移動(dòng)終端內(nèi)任一應(yīng)用程序生成的上行數(shù)據(jù)消息; 網(wǎng)關(guān)在確定與所述應(yīng)用服務(wù)器的標(biāo)識(shí)對(duì)應(yīng)的應(yīng)用服務(wù)器之間建立了第二長連接時(shí),通過所述第二長連接,將所述上行數(shù)據(jù)消息發(fā)送至所述應(yīng)用服務(wù)器; 其中,針對(duì)所述第一長連接,將設(shè)定的路由距離作為心跳數(shù)據(jù)包的生存時(shí)間,向移動(dòng)終端發(fā)送該心跳數(shù)據(jù)包,所述路由距離大于心跳數(shù)據(jù)包穿過核心網(wǎng)防火墻的距離,但小于到達(dá)移動(dòng)終端所在的無線通信網(wǎng)絡(luò)的距離。
2.如權(quán)利要求I所述的方法,其特征在于,網(wǎng)關(guān)通過所述第一長連接接收來自移動(dòng)終端的上行數(shù)據(jù)消息之前,所述方法還包括 域名系統(tǒng)DNS接收移動(dòng)終端發(fā)起的網(wǎng)關(guān)查詢請(qǐng)求,所述網(wǎng)關(guān)查詢請(qǐng)求中攜帶移動(dòng)終端在應(yīng)用服務(wù)器中注冊(cè)時(shí)使用的第一標(biāo)識(shí)以及移動(dòng)終端的第二標(biāo)識(shí); DNS向移動(dòng)終端返回該移動(dòng)終端歸屬網(wǎng)關(guān)的路由信息,并存儲(chǔ)所述移動(dòng)終端的第一標(biāo)識(shí)和第二標(biāo)識(shí); 網(wǎng)關(guān)接收移動(dòng)終端根據(jù)所述路由信息發(fā)起的包含第二標(biāo)識(shí)的注冊(cè)請(qǐng)求,并在為移動(dòng)終端注冊(cè)后,與移動(dòng)終端之間建立第一長連接。
3.如權(quán)利要求2所述的方法,其特征在于,所述上行數(shù)據(jù)消息中還攜帶移動(dòng)終端的第二標(biāo)識(shí); 網(wǎng)關(guān)將上行數(shù)據(jù)消息發(fā)送至應(yīng)用服務(wù)器,具體包括 網(wǎng)關(guān)根據(jù)移動(dòng)終端的第二標(biāo)識(shí),從所述DNS中查詢出移動(dòng)終端的第一標(biāo)識(shí); 網(wǎng)關(guān)將移動(dòng)終端的第一標(biāo)識(shí)攜帶在上行數(shù)據(jù)消息中發(fā)送給應(yīng)用服務(wù)器,用于告知應(yīng)用服務(wù)器發(fā)送上行數(shù)據(jù)消息的移動(dòng)終端。
4.如權(quán)利要求I所述的方法,其特征在于,網(wǎng)關(guān)通過所述第一長連接接收來自移動(dòng)終端的上行數(shù)據(jù)消息之前,所述方法還包括 DNS存儲(chǔ)網(wǎng)關(guān)和分別與該網(wǎng)關(guān)建立第二長連接的應(yīng)用服務(wù)器的第一對(duì)應(yīng)關(guān)系。
5.如權(quán)利要求4所述的方法,其特征在于,網(wǎng)關(guān)將上行數(shù)據(jù)消息發(fā)送至應(yīng)用服務(wù)器,具體包括 網(wǎng)關(guān)根據(jù)上行數(shù)據(jù)消息中攜帶的應(yīng)用服務(wù)器的標(biāo)識(shí),判斷是否與對(duì)應(yīng)的應(yīng)用服務(wù)器建立第二長連接; 若是,則將所述上行數(shù)據(jù)消息通過所述第二長連接發(fā)送至應(yīng)用服務(wù)器; 否則,從所述DNS中查詢與所述對(duì)應(yīng)的應(yīng)用服務(wù)器建立第二長連接的其他網(wǎng)關(guān),并將所述上行數(shù)據(jù)消息發(fā)送給所述其他網(wǎng)關(guān)后,由所述其他網(wǎng)關(guān)發(fā)送至所述對(duì)應(yīng)的應(yīng)用服務(wù)器。
6.如權(quán)利要求4所述的方法,其特征在于,所述方法還包括 網(wǎng)關(guān)接收來自移動(dòng)終端的代理請(qǐng)求,所述代理請(qǐng)求中攜帶應(yīng)用服務(wù)器的標(biāo)識(shí)和待傳輸數(shù)據(jù)的數(shù)據(jù)量; 網(wǎng)關(guān)在確定所述數(shù)據(jù)量達(dá)到門限值時(shí),根據(jù)代理請(qǐng)求中攜帶的應(yīng)用服務(wù)器的標(biāo)識(shí),判斷是否已與對(duì)應(yīng)的應(yīng)用服務(wù)器建立第二長連接;若是,則網(wǎng)關(guān)分別與所述移動(dòng)終端和對(duì)應(yīng)的應(yīng)用服務(wù)器之間建立臨時(shí)長連接,通過與移動(dòng)終端之間的臨時(shí)長連接接收來自移動(dòng)終端的所述待傳輸數(shù)據(jù),并在傳輸結(jié)束后釋放與移動(dòng)終端之間的臨時(shí)長連接,以及,將所述待傳輸數(shù)據(jù)通過與應(yīng)用服務(wù)器之間的臨時(shí)長連接透傳至應(yīng)用服務(wù)器,并在傳輸結(jié)束后釋放與應(yīng)用服務(wù)器之間的臨時(shí)長連接; 否則,網(wǎng)關(guān)從DNS中查詢與所述對(duì)應(yīng)的應(yīng)用服務(wù)器建立第二長連接的其他網(wǎng)關(guān),并分別與所述移動(dòng)終端和所述其他網(wǎng)關(guān)建立臨時(shí)長連接,通過與移動(dòng)終端之間的臨時(shí)長連接接收來自移動(dòng)終端的所述待傳輸數(shù)據(jù),并在傳輸結(jié)束后釋放與移動(dòng)終端之間的臨時(shí)長連接,以及,將所述待傳輸數(shù)據(jù)通過與所述其他網(wǎng)關(guān)之間的臨時(shí)長連接透傳至其他網(wǎng)關(guān),并在傳輸結(jié)束后釋放與所述其他網(wǎng)關(guān)之間的臨時(shí)長連接。
7.如權(quán)利要求I所述的方法,其特征在于,網(wǎng)關(guān)通過所述第一長連接接收來自移動(dòng)終端的上行數(shù)據(jù)消息之前,所述方法還包括 移動(dòng)終端記錄在本地安裝的應(yīng)用程序的標(biāo)識(shí),以及各應(yīng)用程序?qū)?yīng)的應(yīng)用服務(wù)器的標(biāo)識(shí); 移動(dòng)終端在接收到任一應(yīng)用程序生成的上行數(shù)據(jù)消息后,確定對(duì)應(yīng)的應(yīng)用服務(wù)器的標(biāo)識(shí),并將所述應(yīng)用服務(wù)器的標(biāo)識(shí)攜帶在所述上行數(shù)據(jù)消息中。
8.如權(quán)利要求I所述的方法,其特征在于,所述設(shè)定的路由距離通過以下方式確定 向移動(dòng)終端發(fā)送的測試數(shù)據(jù)包,確定該測試數(shù)據(jù)包路由至移動(dòng)終端時(shí)產(chǎn)生的第一路由距離; 根據(jù)所述第一路由距離,確定測試數(shù)據(jù)包在經(jīng)過核心網(wǎng)防火墻之后,且到達(dá)移動(dòng)終端所在的無線通信網(wǎng)絡(luò)之前的一跳路由時(shí),產(chǎn)生的第二路由距離作為設(shè)定的路由距離。
9.如權(quán)利要求8所述的方法,其特征在于,所述第一路由距離和第二路由距離是指數(shù)據(jù)包的路由跳數(shù)。
10.如權(quán)利要求8所述的方法,其特征在于,所述第一路由距離通過以下方式確定 將所述測試數(shù)據(jù)包的TCP頭部序號(hào)值設(shè)置為所述移動(dòng)終端識(shí)別為錯(cuò)誤的值; 逐漸增大預(yù)先設(shè)定的第三路由距離,針對(duì)每次增大后得到的路由距離執(zhí)行以下操作 將本次得到的路由距離作為測試數(shù)據(jù)包的生存時(shí)間,向移動(dòng)終端發(fā)送該測試數(shù)據(jù)包; 若返回復(fù)位RST的TCP消息,則將本次得到的路由距離作為第一路由距離; 若返回的控制報(bào)文協(xié)議ICMP消息攜帶的錯(cuò)誤類型是超時(shí),則繼續(xù)增大路由距離; 或者 將所述測試數(shù)據(jù)包中攜帶的目的端口號(hào)設(shè)置為移動(dòng)終端不能正確接收該測試數(shù)據(jù)包的用戶數(shù)據(jù)包UDP端口號(hào),以及,逐漸增大預(yù)先設(shè)定的第四路由距離,針對(duì)每次增大后得到的路由距離執(zhí)行以下操作 將本次得到的路由距離作為測試數(shù)據(jù)包的生存時(shí)間,向移動(dòng)終端發(fā)送該測試數(shù)據(jù)包,并檢測接收到的控制報(bào)文協(xié)議ICMP消息; 若所述ICMP消息攜帶的錯(cuò)誤類型是端口不可達(dá),則將本次得到的路由距離作為第一路由距離; 若所述ICMP消息攜帶的錯(cuò)誤類型是超時(shí),則繼續(xù)增大路由距離; 或者, 逐漸減小預(yù)先設(shè)定的第五路由距離,針對(duì)每次減小后得到的路由距離執(zhí)行以下操作將本次得到的路由距離作為測試數(shù)據(jù)包的生存時(shí)間,通過已確定五元組信息的TCP連接向移動(dòng)終端發(fā)送該測試數(shù)據(jù)包,并判斷是否接收到返回的測試回應(yīng)消息; 若是,則繼續(xù)減小路由距離; 否則,將本次得到的路由距離加I作為第一路由距離; 或者, 逐漸減小預(yù)先設(shè)定的第六路由距離,針對(duì)每次減小后得到的路由距離執(zhí)行以下操作將本次得到的路由距離作為測試數(shù)據(jù)包的生存時(shí)間,根據(jù)移動(dòng)終端的IP地址和UDP端口確定接收測試數(shù)據(jù)包的移動(dòng)終端,向該移動(dòng)終端發(fā)送該測試數(shù)據(jù)包,并判斷是否接收到返回的測試回應(yīng)消息; 若是,則繼續(xù)減小路由距離; 否則,將本次得到的路由距離加I作為第一路由距離; 或者, 預(yù)先設(shè)定上限路由距離和下限路由距離,在每次上限路由距離或下限路由距離發(fā)生更新時(shí),判斷上限路由距離是否不小于下限路由距離,若是,則執(zhí)行以下操作,直至上限路由距離小于下限路由距離 將本次得到上限路由距離和下限路由距離的平均值取整,得到第七路由距離,并將本次得到的第七路由距離作為測試數(shù)據(jù)包的生存時(shí)間,通過已確定五元組信息的TCP連接向移動(dòng)終端發(fā)送該測試數(shù)據(jù)包,并判斷是否接收到返回的測試回應(yīng)消息;若是,則將本次得到的第七路由距離的路由跳數(shù)減I后作為更新后的上限路由距離;否則,將本次得到的第七路由距離的路由跳數(shù)減I后作為更新后的下限路由距離;確定在上限路由距離小于下限路由距離時(shí)得到的第七路由距離,在以該第七路由距離為測試數(shù)據(jù)包的生存時(shí)間時(shí),若接收到測試超時(shí)消息,則將該第七路由距離的路由跳數(shù)加I后作為第一路由距離;若接收到測試正確消息,則將該第七路由距離的路由跳數(shù)作為第一路由距離; 或者, 預(yù)先設(shè)定上限路由距離和下限路由距離,在每次上限路由距離或下限路由距離發(fā)生更新時(shí),判斷上限路由距離是否不小于下限路由距離,若是,則執(zhí)行以下操作,直至上限路由距離小于下限路由距離 將本次得到上限路由距離和下限路由距離的平均值取整,得到第八路由距離,并將本次得到的第八路由距離作為測試數(shù)據(jù)包的生存時(shí)間,根據(jù)移動(dòng)終端的IP地址和UDP端口確定接收測試數(shù)據(jù)包的移動(dòng)終端,向該移動(dòng)終端發(fā)送該測試數(shù)據(jù)包,并判斷是否接收到返回的測試回應(yīng)消息;若是,則將本次得到的第八路由距離的路由跳數(shù)減I后作為更新后的上限路由距離;否則,將本次得到的第八路由距離的路由跳數(shù)減I后作為更新后的下限路由距離;確定在上限路由距離小于下限路由距離時(shí)得到的第八路由距離,在以該第八路由距離為測試數(shù)據(jù)包的生存時(shí)間時(shí),若接收到測試超時(shí)消息,則將該第八路由距離的路由跳數(shù)加I后作為第一路由距離;若接收到測試正確消息,則將該第八路由距離的路由跳數(shù)作為第一路由距離。
11.如權(quán)利要求8 10任一所述的方法,其特征在于,根據(jù)所述第一路由距離,確定產(chǎn)生的第二路由距離,具體包括 將第一路由距離的路由跳數(shù)減I后作為所述第二路由距離的最大值,以及將經(jīng)過所述核心網(wǎng)防火墻時(shí)產(chǎn)生的路由跳數(shù)作為所述第二路由距離的最小值; 將不大于所述最大值且不小于所述最小值的路由跳數(shù)作為第二路由距離。
12.—種數(shù)據(jù)傳輸?shù)姆椒?,其特征在于,所述方法包? 網(wǎng)關(guān)通過與應(yīng)用服務(wù)器之間建立的第二長連接接收來自應(yīng)用服務(wù)器的下行數(shù)據(jù)消息,所述下行數(shù)據(jù)消息中攜帶移動(dòng)終端在應(yīng)用服務(wù)器中注冊(cè)時(shí)使用的第一標(biāo)識(shí),所述第二長連接傳輸應(yīng)用服務(wù)器發(fā)送給任一終端的下行數(shù)據(jù)消息; 網(wǎng)關(guān)通過與所述第一標(biāo)識(shí)對(duì)應(yīng)的移動(dòng)終端之間的第一長連接,將所述下行數(shù)據(jù)消息發(fā)送至所述移動(dòng)終端; 其中,針對(duì)所述第一長連接,將設(shè)定的路由距離作為心跳數(shù)據(jù)包的生存時(shí)間,向移動(dòng)終端發(fā)送該心跳數(shù)據(jù)包,所述路由距離大于心跳數(shù)據(jù)包穿過核心網(wǎng)防火墻的距離,但小于到達(dá)移動(dòng)終端所在的無線通信網(wǎng)絡(luò)的距離。
13.如權(quán)利要求12所述的方法,其特征在于,網(wǎng)關(guān)通過與移動(dòng)終端的第一長連接將所述下行數(shù)據(jù)消息發(fā)送至所述移動(dòng)終端,具體包括 網(wǎng)關(guān)檢測是否已與所述移動(dòng)終端建立第一長連接; 若是,則通過已建立的第一長連接將所述下行數(shù)據(jù)消息發(fā)送至所述移動(dòng)終端; 否則,通知移動(dòng)終端建立與網(wǎng)關(guān)的第一長連接,在第一長連接建立后,將所述下行數(shù)據(jù)消息發(fā)送至所述移動(dòng)終端。
14.如權(quán)利要求12所述的方法,其特征在于,網(wǎng)關(guān)通過所述第二長連接接收來自應(yīng)用服務(wù)器的下行數(shù)據(jù)消息之前,所述方法還包括 DNS接收移動(dòng)終端發(fā)起的網(wǎng)關(guān)查詢請(qǐng)求,所述網(wǎng)關(guān)查詢請(qǐng)求中攜帶移動(dòng)終端第一標(biāo)識(shí)以及移動(dòng)終端的第二標(biāo)識(shí); DNS向移動(dòng)終端返回該移動(dòng)終端歸屬網(wǎng)關(guān)的路由信息,并存儲(chǔ)所述移動(dòng)終端的第一標(biāo)識(shí)和第二標(biāo)識(shí),以及第二標(biāo)識(shí)與該移動(dòng)終端歸屬網(wǎng)關(guān)標(biāo)識(shí)之間的第二對(duì)應(yīng)關(guān)系; 移動(dòng)終端根據(jù)所述路由信息向歸屬網(wǎng)關(guān)發(fā)起的包含第二標(biāo)識(shí)的注冊(cè)請(qǐng)求,并與歸屬網(wǎng)關(guān)之間建立第一長連接。
15.如權(quán)利要求14所述的方法,其特征在于,網(wǎng)關(guān)通過第一長連接將所述下行數(shù)據(jù)消息發(fā)送至所述移動(dòng)終端,具體包括 網(wǎng)關(guān)根據(jù)下行數(shù)據(jù)消息中攜帶的第一標(biāo)識(shí),從DNS中查詢?cè)撘苿?dòng)終端的第二標(biāo)識(shí),并根據(jù)查詢出的第二標(biāo)識(shí)判斷所述移動(dòng)終端是否是在該網(wǎng)關(guān)內(nèi)注冊(cè)的移動(dòng)終端; 若是,則通過第一長連接將所述下行數(shù)據(jù)消息發(fā)送至所述移動(dòng)終端; 否則,根據(jù)所述第二對(duì)應(yīng)關(guān)系,從DNS中查詢?cè)撘苿?dòng)終端歸屬的其他網(wǎng)關(guān),并將所述下行數(shù)據(jù)消息發(fā)送至所述其他網(wǎng)關(guān)后,由所述其他網(wǎng)關(guān)發(fā)送至所述移動(dòng)終端。
16.如權(quán)利要求14所述的方法,其特征在于,所述方法還包括 網(wǎng)關(guān)接收來自應(yīng)用服務(wù)器的代理請(qǐng)求,所述代理請(qǐng)求中攜帶移動(dòng)終端的第一標(biāo)識(shí)和待傳輸數(shù)據(jù)的數(shù)據(jù)量; 網(wǎng)關(guān)在確定所述數(shù)據(jù)量達(dá)到門限值時(shí),根據(jù)代理請(qǐng)求中攜帶的第一標(biāo)識(shí),通過查詢DNS確定對(duì)應(yīng)的第二標(biāo)識(shí),并根據(jù)確定的第二標(biāo)識(shí)判斷對(duì)應(yīng)的移動(dòng)終端是否是在該網(wǎng)關(guān)中注冊(cè)的移動(dòng)終端; 若是,則網(wǎng)關(guān)分別與所述對(duì)應(yīng)的移動(dòng)終端和發(fā)送代理請(qǐng)求的應(yīng)用服務(wù)器之間建立臨時(shí)長連接,通過與應(yīng)用服務(wù)器之間的臨時(shí)長連接接收來自應(yīng)用服務(wù)器的所述待傳輸數(shù)據(jù),并在傳輸結(jié)束后釋放與應(yīng)用服務(wù)器之間的臨時(shí)長連接,以及將所述待傳輸數(shù)據(jù)通過與移動(dòng)終端之間的臨時(shí)長連接透傳至移動(dòng)終端,并在傳輸結(jié)束后釋放與移動(dòng)終端之間的臨時(shí)長連接; 否則,網(wǎng)關(guān)從DNS中查詢所述對(duì)應(yīng)的移動(dòng)終端歸屬的其他網(wǎng)關(guān),并分別與發(fā)送代理請(qǐng)求的應(yīng)用服務(wù)器和所述其他網(wǎng)關(guān)之間建立臨時(shí)長連接,通過與應(yīng)用服務(wù)器之間的臨時(shí)長連接接收來自應(yīng)用服務(wù)器的待傳輸數(shù)據(jù),并在傳輸結(jié)束后釋放與應(yīng)用服務(wù)器之間的臨時(shí)長連接,以及將所述待傳輸數(shù)據(jù)通過與所述其他網(wǎng)關(guān)之間的臨時(shí)長連接透傳至其他網(wǎng)關(guān),并在傳輸結(jié)束后釋放與所述其他網(wǎng)關(guān)之間的臨時(shí)長連接。
17.如權(quán)利要求12所述的方法,其特征在于,所述方法還包括 移動(dòng)終端記錄在本地安裝的應(yīng)用程序的標(biāo)識(shí),以及各應(yīng)用程序?qū)?yīng)的應(yīng)用服務(wù)器的標(biāo)識(shí); 網(wǎng)關(guān)通過第一長連接將所述下行數(shù)據(jù)消息發(fā)送至所述移動(dòng)終端之后,所述方法還包括 移動(dòng)終端根據(jù)下行數(shù)據(jù)消息中攜帶的應(yīng)用服務(wù)器標(biāo)識(shí),確定接收該下行數(shù)據(jù)消息的應(yīng)用程序,并查詢?cè)搼?yīng)用程序是否處于運(yùn)行狀態(tài); 若是,則通知該應(yīng)用程序獲取所述下行數(shù)據(jù)消息; 否則,喚醒或啟動(dòng)該應(yīng)用程序,通知喚醒后或啟動(dòng)后的應(yīng)用程序獲取所述下行數(shù)據(jù)消肩、O
18.如權(quán)利要求12所述的方法,其特征在于,所述設(shè)定的路由距離通過以下方式確定 向移動(dòng)終端發(fā)送的測試數(shù)據(jù)包,確定該測試數(shù)據(jù)包路由至移動(dòng)終端時(shí)產(chǎn)生的第一路由距離; 根據(jù)所述第一路由距離,確定測試數(shù)據(jù)包在經(jīng)過核心網(wǎng)防火墻之后,且到達(dá)移動(dòng)終端所在的無線通信網(wǎng)絡(luò)之前的一跳路由時(shí),產(chǎn)生的第二路由距離作為設(shè)定的路由距離。
19.如權(quán)利要求18所述的方法,其特征在于,所述第一路由距離和第二路由距離是指數(shù)據(jù)包的路由跳數(shù)。
20.如權(quán)利要求19所述的方法,其特征在于,所述第一路由距離通過以下方式確定 將所述測試數(shù)據(jù)包的TCP頭部序號(hào)值設(shè)置為所述移動(dòng)終端識(shí)別為錯(cuò)誤的值; 逐漸增大預(yù)先設(shè)定的第三路由距離,針對(duì)每次增大后得到的路由距離執(zhí)行以下操作 將本次得到的路由距離作為測試數(shù)據(jù)包的生存時(shí)間,向移動(dòng)終端發(fā)送該測試數(shù)據(jù)包; 若返回復(fù)位RST的TCP消息,則將本次得到的路由距離作為第一路由距離; 若返回的控制報(bào)文協(xié)議ICMP消息攜帶的錯(cuò)誤類型是超時(shí),則繼續(xù)增大路由距離; 或者, 將所述測試數(shù)據(jù)包中攜帶的目的端口號(hào)設(shè)置為移動(dòng)終端不能正確接收該測試數(shù)據(jù)包的用戶數(shù)據(jù)包UDP端口號(hào),以及,逐漸增大預(yù)先設(shè)定的第四路由距離,針對(duì)每次增大后得到的路由距離執(zhí)行以下操作 將本次得到的路由距離作為測試數(shù)據(jù)包的生存時(shí)間,向移動(dòng)終端發(fā)送該測試數(shù)據(jù)包,并檢測接收到的控制報(bào)文協(xié)議ICMP消息; 若所述ICMP消息攜帶的錯(cuò)誤類型是端口不可達(dá),則將本次得到的路由距離作為第一路由距離; 若所述ICMP消息攜帶的錯(cuò)誤類型是超時(shí),則繼續(xù)增大路由距離; 或者, 逐漸減小預(yù)先設(shè)定的第五路由距離,針對(duì)每次減小后得到的路由距離執(zhí)行以下操作將本次得到的路由距離作為測試數(shù)據(jù)包的生存時(shí)間,通過已確定五元組信息的TCP連接向移動(dòng)終端發(fā)送該測試數(shù)據(jù)包,并判斷是否接收到返回的測試回應(yīng)消息; 若是,則繼續(xù)減小路由距離; 否則,將本次得到的路由距離加I作為第一路由距離; 或者, 逐漸減小預(yù)先設(shè)定的第六路由距離,針對(duì)每次減小后得到的路由距離執(zhí)行以下操作將本次得到的路由距離作為測試數(shù)據(jù)包的生存時(shí)間,根據(jù)移動(dòng)終端的IP地址和UDP端口確定接收測試數(shù)據(jù)包的移動(dòng)終端,向該移動(dòng)終端發(fā)送該測試數(shù)據(jù)包,并判斷是否接收到返回的測試回應(yīng)消息; 若是,則繼續(xù)減小路由距離; 否則,將本次得到的路由距離加I作為第一路由距離; 或者, 預(yù)先設(shè)定上限路由距離和下限路由距離,在每次上限路由距離或下限路由距離發(fā)生更新時(shí),判斷上限路由距離是否不小于下限路由距離,若是,則執(zhí)行以下操作,直至上限路由距離小于下限路由距離 將本次得到上限路由距離和下限路由距離的平均值取整,得到第七路由距離,并將本次得到的第七路由距離作為測試數(shù)據(jù)包的生存時(shí)間,通過已確定五元組信息的TCP連接向移動(dòng)終端發(fā)送該測試數(shù)據(jù)包,并判斷是否接收到返回的測試回應(yīng)消息;若是,則將本次得到的第七路由距離的路由跳數(shù)減I后作為更新后的上限路由距離;否則,將本次得到的第七路由距離的路由跳數(shù)減I后作為更新后的下限路由距離;確定在上限路由距離小于下限路由距離時(shí)得到的第七路由距離,在以該第七路由距離為測試數(shù)據(jù)包的生存時(shí)間時(shí),若接收到測試超時(shí)消息,則將該第七路由距離的路由跳數(shù)加I后作為第一路由距離;若接收到測試正確消息,則將該第七路由距離的路由跳數(shù)作為第一路由距離; 或者, 預(yù)先設(shè)定上限路由距離和下限路由距離,在每次上限路由距離或下限路由距離發(fā)生更新時(shí),判斷上限路由距離是否不小于下限路由距離,若是,則執(zhí)行以下操作,直至上限路由距離小于下限路由距離 將本次得到上限路由距離和下限路由距離的平均值取整,得到第八路由距離,并將本次得到的第八路由距離作為測試數(shù)據(jù)包的生存時(shí)間,根據(jù)移動(dòng)終端的IP地址和UDP端口確定接收測試數(shù)據(jù)包的移動(dòng)終端,向該移動(dòng)終端發(fā)送該測試數(shù)據(jù)包,并判斷是否接收到返回 的測試回應(yīng)消息; 若是,則將本次得到的第八路由距離的路由跳數(shù)減I后作為更新后的上限路由距離;否則,將本次得到的第八路由距離的路由跳數(shù)減I后作為更新后的下限路由距離;確定在上限路由距離小于下限路由距離時(shí)得到的第八路由距離,在以該第八路由距離為測試數(shù)據(jù)包的生存時(shí)間時(shí),若接收到測試超時(shí)消息,則將該第八路由距離的路由跳數(shù)加I后作為第一路由距離;若接收到測試正確消息,則將該第八路由距離的路由跳數(shù)作為第一路由距離。
21.如權(quán)利要求18 20任一所述的方法,其特征在于,根據(jù)所述第一路由距離,確定產(chǎn)生的第二路由距離,具體包括 將第一路由距離的路由跳數(shù)減I后作為所述第二路由距離的最大值,以及將經(jīng)過所述核心網(wǎng)防火墻時(shí)產(chǎn)生的路由跳數(shù)作為所述第二路由距離的最小值; 將不大于所述最大值且不小于所述最小值的路由跳數(shù)作為第二路由距離。
22.—種數(shù)據(jù)傳輸?shù)南到y(tǒng),其特征在于,包括移動(dòng)終端、網(wǎng)關(guān)、應(yīng)用服務(wù)器和?;钤O(shè)備,其中 所述移動(dòng)終端,用于與網(wǎng)關(guān)之間建立第一長連接,并通過所述第一長連接向網(wǎng)關(guān)發(fā)送上行數(shù)據(jù)消息,所述上行數(shù)據(jù)消息中攜帶應(yīng)用服務(wù)器的標(biāo)識(shí),所述第一長連接傳輸移動(dòng)終端內(nèi)任一應(yīng)用程序生成的上行數(shù)據(jù)消息; 所述網(wǎng)關(guān),用于在確定與所述應(yīng)用服務(wù)器的標(biāo)識(shí)對(duì)應(yīng)的應(yīng)用服務(wù)器之間建立了第二長連接時(shí),通過所述第二長連接,將所述上行數(shù)據(jù)消息發(fā)送至所述應(yīng)用服務(wù)器; 所述應(yīng)用服務(wù)器,用于通過所述第二長連接接收上行數(shù)據(jù)消息; 所述?;钤O(shè)備,用于針對(duì)所述第一長連接,將設(shè)定的路由距離作為心跳數(shù)據(jù)包的生存時(shí)間,向移動(dòng)終端發(fā)送該心跳數(shù)據(jù)包,所述路由距離大于心跳數(shù)據(jù)包穿過核心網(wǎng)防火墻的距離,但小于到達(dá)移動(dòng)終端所在的無線通信網(wǎng)絡(luò)的距離。
23.一種數(shù)據(jù)傳輸?shù)南到y(tǒng),其特征在于,所述系統(tǒng)包括移動(dòng)終端、網(wǎng)關(guān)、應(yīng)用服務(wù)器和?;钤O(shè)備,其中 應(yīng)用服務(wù)器,用于與網(wǎng)關(guān)建立第二長連接,并通過所述第二長連接向網(wǎng)關(guān)發(fā)送下行數(shù)據(jù)消息,所述下行數(shù)據(jù)消息中攜帶移動(dòng)終端在應(yīng)用服務(wù)器中注冊(cè)時(shí)使用的第一標(biāo)識(shí),所述第二長連接傳輸應(yīng)用服務(wù)器發(fā)送給任一終端的下行數(shù)據(jù)消息; 網(wǎng)關(guān),用于通過與所述第一標(biāo)識(shí)對(duì)應(yīng)的移動(dòng)終端之間的第一長連接,將所述下行數(shù)據(jù)消息發(fā)送至所述移動(dòng)終端; 移動(dòng)終端,用于通過所述第一長連接接收下行數(shù)據(jù)消息; 所述保活設(shè)備,用于針對(duì)所述第一長連接,將設(shè)定的路由距離作為心跳數(shù)據(jù)包的生存時(shí)間,向移動(dòng)終端發(fā)送該心跳數(shù)據(jù)包,所述路由距離大于心跳數(shù)據(jù)包穿過核心網(wǎng)防火墻的距離,但小于到達(dá)移動(dòng)終端所在的無線通信網(wǎng)絡(luò)的距離。
24.—種網(wǎng)關(guān),其特征在于,所述網(wǎng)關(guān)包括 第一連接模塊,用于與移動(dòng)終端之間建立第一長連接,與應(yīng)用服務(wù)器之間建立第二長連接,所述第一長連接傳輸移動(dòng)終端內(nèi)任一應(yīng)用程序生成的上行數(shù)據(jù)消息,所述第二長連接傳輸應(yīng)用服務(wù)器發(fā)送給任一終端的下行數(shù)據(jù)消息; 傳輸模塊,用于在上行傳輸過程中,接收到移動(dòng)終端通過第一長連接發(fā)送的上行數(shù)據(jù)消息時(shí),根據(jù)該上行數(shù)據(jù)消息中攜帶的應(yīng)用服務(wù)器的標(biāo)識(shí),將該上行數(shù)據(jù)消息通過第二長連接發(fā)送至對(duì)應(yīng)的應(yīng)用服務(wù)器,以及在下行傳輸過程中,接收到應(yīng)用服務(wù)器通過第二長連接發(fā)送的下行數(shù)據(jù)消息時(shí),根據(jù)該下行數(shù)據(jù)消息中攜帶的移動(dòng)終端的第一標(biāo)識(shí),將該下行數(shù)據(jù)消息通過第一長連接發(fā)送至對(duì)應(yīng)的移動(dòng)終端。
25.如權(quán)利要求24所述的網(wǎng)關(guān),其特征在于,還包括 路由管理模塊,用于在上行傳輸過程中,判斷是否與上行數(shù)據(jù)消息中攜帶的應(yīng)用服務(wù)器的標(biāo)識(shí)對(duì)應(yīng)的應(yīng)用服務(wù)器建立第二長連接,在沒有建立第二長連接時(shí),從DNS中查詢與所述對(duì)應(yīng)的應(yīng)用服務(wù)器建立第二長連接的其他網(wǎng)關(guān),在下行傳輸過程中,判斷所述移動(dòng)終端是否是在本地注冊(cè)的移動(dòng)終端,在所述移動(dòng)終端不是在本地注冊(cè)的移動(dòng)終端時(shí),從DNS中查詢?cè)撘苿?dòng)終端歸屬的其他網(wǎng)關(guān); 所述傳輸模塊,還用于將所述上行數(shù)據(jù)消息或下行數(shù)據(jù)消息發(fā)送給所述其他網(wǎng)關(guān)。
26.如權(quán)利要求24所述的網(wǎng)關(guān),其特征在于,還包括 代理模塊,用于在上行傳輸過程中,接收來自移動(dòng)終端的代理請(qǐng)求,所述代理請(qǐng)求中攜帶應(yīng)用服務(wù)器的標(biāo)識(shí)和待傳輸數(shù)據(jù)的數(shù)據(jù)量,并在確定所述數(shù)據(jù)量達(dá)到門限值時(shí),根據(jù)代理請(qǐng)求中攜帶的應(yīng)用服務(wù)器的標(biāo)識(shí),判斷是否已與對(duì)應(yīng)的應(yīng)用服務(wù)器建立第二長連接;在下行傳輸過程中,接收來自應(yīng)用服務(wù)器的代理請(qǐng)求,所述代理請(qǐng)求中攜帶移動(dòng)終端的第一標(biāo)識(shí)和待傳輸數(shù)據(jù)的數(shù)據(jù)量,并在確定所述數(shù)據(jù)量達(dá)到門限值時(shí),根據(jù)代理請(qǐng)求中攜帶的第一標(biāo)識(shí),判斷對(duì)應(yīng)的移動(dòng)終端是否是在本地注冊(cè)的移動(dòng)終端。
第二連接模塊,用于在上行傳輸過程中,若網(wǎng)關(guān)已與對(duì)應(yīng)的應(yīng)用服務(wù)器建立第二長連接,則分別與所述移動(dòng)終端和對(duì)應(yīng)的應(yīng)用服務(wù)器之間建立臨時(shí)長連接,通過與移動(dòng)終端之間的臨時(shí)長連接接收來自移動(dòng)終端的所述待傳輸數(shù)據(jù),并在傳輸結(jié)束后釋放與移動(dòng)終端之間的臨時(shí)長連接,以及,將所述待傳輸數(shù)據(jù)通過與應(yīng)用服務(wù)器之間的臨時(shí)長連接透傳至應(yīng)用服務(wù)器,并在傳輸結(jié)束后釋放與應(yīng)用服務(wù)器之間的臨時(shí)長連接;否則,從DNS中查詢與所述對(duì)應(yīng)的應(yīng)用服務(wù)器建立第二長連接的其他網(wǎng)關(guān),并分別與所述移動(dòng)終端和所述其他網(wǎng)關(guān)建立臨時(shí)長連接,通過與移動(dòng)終端之間的臨時(shí)長連接接收來自移動(dòng)終端的所述待傳輸數(shù)據(jù),并在傳輸結(jié)束后釋放與移動(dòng)終端之間的臨時(shí)長連接,以及,將所述待傳輸數(shù)據(jù)通過與所述其他網(wǎng)關(guān)之間的臨時(shí)長連接透傳至其他網(wǎng)關(guān),并在傳輸結(jié)束后釋放與所述其他網(wǎng)關(guān)之間的臨時(shí)長連接,在下行傳輸過程中,若所述對(duì)應(yīng)的移動(dòng)終端是在本地注冊(cè)的移動(dòng)終端,則分別與所述對(duì)應(yīng)的移動(dòng)終端和發(fā)送代理請(qǐng)求的應(yīng)用服務(wù)器之間建立臨時(shí)長連接,通過與應(yīng)用服務(wù)器之間的臨時(shí)長連接接收來自應(yīng)用服務(wù)器的所述待傳輸數(shù)據(jù),并在傳輸結(jié)束后釋放與應(yīng)用服務(wù)器之間的臨時(shí)長連接,以及將所述待傳輸數(shù)據(jù)通過與移動(dòng)終端之間的臨時(shí)長連接透傳至移動(dòng)終端,并在傳輸結(jié)束后釋放與移動(dòng)終端之間的臨時(shí)長連接;否則,從DNS中查詢所述對(duì)應(yīng)的移動(dòng)終端歸屬的其他網(wǎng)關(guān),并分別與發(fā)送代理請(qǐng)求的應(yīng)用服務(wù)器和所述其他網(wǎng)關(guān)之間建立臨時(shí)長連接,通過與應(yīng)用服務(wù)器之間的臨時(shí)長連接接收來自應(yīng)用服務(wù)器的待傳輸數(shù)據(jù),并在傳輸結(jié)束后釋放與應(yīng)用服務(wù)器之間的臨時(shí)長連接,以及將所述待傳輸數(shù)據(jù)通過與所述其他網(wǎng)關(guān)之間的臨時(shí)長連接透傳至其他網(wǎng)關(guān),并在傳輸結(jié)束后釋放與所述其他網(wǎng)關(guān)之間的臨時(shí)長連接。
27.一種移動(dòng)終端,其特征在于,所述移動(dòng)終端包括 接口模塊,用于與網(wǎng)關(guān)建立第一長連接,所述第一長連接傳輸移動(dòng)終端內(nèi)任一應(yīng)用程序生成的上行數(shù)據(jù)消息; 數(shù)據(jù)收發(fā)模塊,用于通過第一長連接向網(wǎng)關(guān)發(fā)送上行數(shù)據(jù)消息,所述上行數(shù)據(jù)消息中攜帶應(yīng)用服務(wù)器的標(biāo)識(shí),以及通過第一長連接接收網(wǎng)關(guān)推送的下行數(shù)據(jù)消息。
28.如權(quán)利要求27所述的移動(dòng)終端,其特征在于,還包括 代理請(qǐng)求模塊,用于向網(wǎng)關(guān)發(fā)送代理請(qǐng)求,所述代理請(qǐng)求中攜帶應(yīng)用服務(wù)器的標(biāo)識(shí)和待傳輸數(shù)據(jù)的數(shù)據(jù)量; IP代理模塊,用于通過臨時(shí)長連接向網(wǎng)關(guān)發(fā)送待傳輸數(shù)據(jù),以及通過所述臨時(shí)長連接接收網(wǎng)關(guān)推送的待傳輸數(shù)據(jù)。
29.如權(quán)利要求27所述的移動(dòng)終端,其特征在于,還包括 管理模塊,用于記錄在本地安裝的應(yīng)用程序的標(biāo)識(shí),以及各應(yīng)用程序?qū)?yīng)的應(yīng)用服務(wù)器的標(biāo)識(shí),并在接收到任一應(yīng)用程序生成的上行數(shù)據(jù)消息后,確定對(duì)應(yīng)的應(yīng)用服務(wù)器的標(biāo)識(shí),并將所述應(yīng)用服務(wù)器的標(biāo)識(shí)攜帶在所述上行數(shù)據(jù)消息中; 喚醒模塊,用于在接收到下行數(shù)據(jù)消息時(shí),根據(jù)下行數(shù)據(jù)消息中攜帶的應(yīng)用服務(wù)器標(biāo)識(shí),確定接收該下行數(shù)據(jù)消息的應(yīng)用程序,并查詢?cè)搼?yīng)用程序是否處于運(yùn)行狀態(tài),若是,則通知該應(yīng)用程序獲取所述下行數(shù)據(jù)消息;否則,喚醒或啟動(dòng)該應(yīng)用程序,通知喚醒后或啟動(dòng)后的應(yīng)用程序獲取所述下行數(shù)據(jù)消息。
30.一種應(yīng)用服務(wù)器,其特征在于,包括 接口模塊,用于與網(wǎng)關(guān)建立第二長連接,所述第二長連接傳輸應(yīng)用服務(wù)器發(fā)送給任一終端的下行數(shù)據(jù)消息; 數(shù)據(jù)收發(fā)模塊,用于通過所述第二長連接接收網(wǎng)關(guān)發(fā)送的上行數(shù)據(jù)消息,以及通過所述第二長連接向網(wǎng)關(guān)發(fā)送下行數(shù)據(jù)消息,所述下行數(shù)據(jù)消息中攜帶移動(dòng)終端在應(yīng)用服務(wù)器中注冊(cè)時(shí)使用的第一標(biāo)識(shí)。
31.如權(quán)利要求30所述的應(yīng)用服務(wù)器,其特征在于, 所述接口模塊,還用于與網(wǎng)關(guān)之間建立臨時(shí)長連接; 所述數(shù)據(jù)收發(fā)模塊,還用于通過臨時(shí)長連接收發(fā)待傳輸數(shù)據(jù)。
32.—種?;钤O(shè)備,其特征在于,所述保活設(shè)備包括 距離探測模塊,用于將設(shè)定的路由距離作為心跳數(shù)據(jù)包的生存時(shí)間,所述路由距離大于心跳數(shù)據(jù)包穿過核心網(wǎng)防火墻的距離,但小于到達(dá)移動(dòng)終端所在的無線通信網(wǎng)絡(luò)的距離; 數(shù)據(jù)包發(fā)送模塊,用于按照生存時(shí)間所述向移動(dòng)終端發(fā)送該心跳數(shù)據(jù)包。
33.如權(quán)利要求32所述的保活設(shè)備,其特征在于,所述距離探測模塊,包括 第一路由確定模塊,用于向移動(dòng)終端發(fā)送測試數(shù)據(jù)包,確定該測試數(shù)據(jù)包路由至移動(dòng)終端時(shí)產(chǎn)生的第一路由距離; 第二路由確定模塊,用于根據(jù)所述第一路由距離,確定測試數(shù)據(jù)包在經(jīng)過核心網(wǎng)防火墻之后,且到達(dá)移動(dòng)終端所在的無線通信網(wǎng)絡(luò)之前的一跳路由時(shí),產(chǎn)生的第二路由距離,并將該第二路由距離作為所述設(shè)定路由距離。
全文摘要
本發(fā)明公開了一種數(shù)據(jù)傳輸?shù)姆椒ā⑾到y(tǒng)及設(shè)備,采用永遠(yuǎn)在線機(jī)制,在移動(dòng)終端與應(yīng)用服務(wù)器之間設(shè)置網(wǎng)關(guān),移動(dòng)終端與網(wǎng)關(guān)之間建立第一長連接,網(wǎng)關(guān)與各應(yīng)用服務(wù)器之間分別建立第二長連接,使移動(dòng)終端和應(yīng)用服務(wù)器之間分別通過與網(wǎng)關(guān)的第一長連接和第二長連接實(shí)現(xiàn)數(shù)據(jù)交互的高實(shí)時(shí)性,減少移動(dòng)終端和與服務(wù)器為長連接分配的資源。另外,針對(duì)第一長連接,將大于穿過核心網(wǎng)防火墻的距離,小于到達(dá)無線通信網(wǎng)絡(luò)的距離作為心跳數(shù)據(jù)包的生存時(shí)間,向移動(dòng)終端發(fā)送該心跳數(shù)據(jù)包,一方面使心跳數(shù)據(jù)包能夠穿過核心網(wǎng)防火墻,達(dá)到對(duì)第一長連接的?;钅康模硪环矫?,心跳數(shù)據(jù)包并沒有進(jìn)入無線通信網(wǎng)絡(luò),不會(huì)增加無線通信網(wǎng)絡(luò)的負(fù)擔(dān),也不會(huì)占用無線信道。
文檔編號(hào)H04L12/66GK102769603SQ20111011319
公開日2012年11月7日 申請(qǐng)日期2011年5月3日 優(yōu)先權(quán)日2011年5月3日
發(fā)明者于蓉蓉, 張炎, 王磊, 陳閣, 黃曉慶 申請(qǐng)人:中國移動(dòng)通信集團(tuán)公司