平臺(tái)與終端間的通信方法、通信系統(tǒng)、平臺(tái)及相關(guān)設(shè)備的制作方法
【專利摘要】本發(fā)明公開了一種平臺(tái)與終端間的通信方法,包括:網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT)設(shè)備接收來自平臺(tái)的通信請(qǐng)求,所述通信請(qǐng)求攜帶終端私網(wǎng)IP地址和終端編號(hào);所述NAT設(shè)備將所述通信請(qǐng)求轉(zhuǎn)發(fā)給所述終端私網(wǎng)IP地址或終端編號(hào)對(duì)應(yīng)的終端,之后,所述終端建立與所述平臺(tái)間的通信鏈路,基于所述通信鏈路交互消息報(bào)文。本發(fā)明還相應(yīng)地公開了一種通信系統(tǒng)、平臺(tái)及相關(guān)設(shè)備。采用本發(fā)明所述的方案,即使終端在私網(wǎng)中,平臺(tái)與終端間的連接斷開后,平臺(tái)也可主動(dòng)與終端通信,從而能夠提高通信效率。
【專利說明】平臺(tái)與終端間的通信方法、通信系統(tǒng)、平臺(tái)及相關(guān)設(shè)備
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及數(shù)據(jù)通信領(lǐng)域,尤其涉及一種平臺(tái)與終端間的通信方法、通信系統(tǒng)、平臺(tái)及相關(guān)設(shè)備。
【背景技術(shù)】
[0002]目前,平臺(tái)與終端間的通信機(jī)制主要包括:
[0003]I)終端主動(dòng)與平臺(tái)通信。具體的,一般在終端中預(yù)置或者配置平臺(tái)IP地址及通信端口,或者預(yù)置或者配置平臺(tái)通信URL/DNS地址,終端在開機(jī)時(shí)或者需要交互消息報(bào)文時(shí),主動(dòng)向平臺(tái)發(fā)起連接請(qǐng)求,并在交互的消息中攜帶終端IP地址,平臺(tái)根據(jù)終端IP地址對(duì)終端發(fā)起的消息進(jìn)行應(yīng)答。該機(jī)制下,終端根據(jù)需要向平臺(tái)發(fā)送心跳包,以通知平臺(tái)終端在線,從而保持與平臺(tái)間的長(zhǎng)連接,基于此長(zhǎng)連接,終端可以主動(dòng)與平臺(tái)進(jìn)行通信,平臺(tái)也可以主動(dòng)與終端進(jìn)行通信。平臺(tái)作為服務(wù)器端,需要在通信端口上監(jiān)聽終端發(fā)起的請(qǐng)求,當(dāng)終端有請(qǐng)求到達(dá)平臺(tái)后,平臺(tái)立即進(jìn)行處理和交互。
[0004]2)平臺(tái)主動(dòng)與終端通信機(jī)制。具體的,平臺(tái)根據(jù)終端的IP地址,主動(dòng)向終端發(fā)起請(qǐng)求,或者,當(dāng)終端具備短信收發(fā)能力時(shí),平臺(tái)向終端發(fā)送數(shù)據(jù)連接拉起短信,終端收到拉起短信后,建立數(shù)據(jù)連接,并主動(dòng)與平臺(tái)發(fā)起通信請(qǐng)求并交互消息。該機(jī)制下,終端作為服務(wù)器端,需要在通信端口上監(jiān)聽平臺(tái)發(fā)起的請(qǐng)求,當(dāng)平臺(tái)有請(qǐng)求到達(dá)終端后,終端立即進(jìn)行處理和交互。為減少終端處理的復(fù)雜度,可以要求平臺(tái)主動(dòng)與終端進(jìn)行通信時(shí),下發(fā)的消息為固定報(bào)文的消息,終端收到消息后再發(fā)起報(bào)文交互請(qǐng)求消息;或者,平臺(tái)也可發(fā)送用戶數(shù)據(jù)包協(xié)議(User Datagram Protocol, UDP)消息,要求終端發(fā)起連接請(qǐng)求。
[0005]但是,對(duì)于上述通信機(jī)制,如果終端與平臺(tái)之間的長(zhǎng)連接因異常情況斷開,那么,由于終端無法識(shí)別該異常情況,從而不能及時(shí)恢復(fù)與平臺(tái)間的連接,影響通信效率;另外,如果終端的IP地址為私網(wǎng)地址,且該終端不具備短信通信的功能,則平臺(tái)與終端間的連接斷開后,平臺(tái)將無法找到該終端,從而無法進(jìn)行通信。
【發(fā)明內(nèi)容】
[0006]有鑒于此,本發(fā)明的主要目的在于提供一種平臺(tái)與終端間的通信方法、通信系統(tǒng)、平臺(tái)及相關(guān)設(shè)備,平臺(tái)與IP地址為私網(wǎng)地址的終端間的連接斷開后,平臺(tái)能夠找到終端并與其進(jìn)行通信,從而提高通信效率。
[0007]為達(dá)到上述目的,本發(fā)明的技術(shù)方案是這樣實(shí)現(xiàn)的:
[0008]一種平臺(tái)與終端間的通信方法,包括:
[0009]網(wǎng)絡(luò)地址轉(zhuǎn)換NAT設(shè)備接收來自平臺(tái)的通信請(qǐng)求,所述通信請(qǐng)求攜帶終端私網(wǎng)IP地址和終端編號(hào);
[0010]所述NAT設(shè)備將所述通信請(qǐng)求轉(zhuǎn)發(fā)給所述終端私網(wǎng)IP地址或終端編號(hào)對(duì)應(yīng)的終端,之后,所述終端建立與所述平臺(tái)間的通信鏈路,基于所述通信鏈路交互消息報(bào)文。
[0011]所述NAT設(shè)備將所述通信請(qǐng)求轉(zhuǎn)發(fā)給所述終端私網(wǎng)IP地址或終端編號(hào)對(duì)應(yīng)的終端為:
[0012]所述NAT設(shè)備的IP地址分配方式為靜態(tài)分配時(shí),將所述通信請(qǐng)求轉(zhuǎn)發(fā)到所述私網(wǎng)IP地址對(duì)應(yīng)的端口上;所述NAT設(shè)備的IP地址分配方式為動(dòng)態(tài)分配時(shí),在各端口上發(fā)送攜帶所述終端編號(hào)的廣播消息,之后將所述通信請(qǐng)求轉(zhuǎn)發(fā)到對(duì)所述廣播消息進(jìn)行應(yīng)答的端口上。
[0013]該方法還包括:
[0014]所述平臺(tái)與所述終端交互消息報(bào)文結(jié)束后,所述終端定時(shí)向平臺(tái)發(fā)送心跳包,保持所述通信鏈路連通,并定時(shí)輪詢檢測(cè)網(wǎng)絡(luò)連接狀態(tài),檢測(cè)到異常斷網(wǎng)時(shí),發(fā)起并建立與所述平臺(tái)間的通信鏈路。
[0015]所述終端檢測(cè)到以下一項(xiàng)或多項(xiàng)時(shí),確定為異常斷網(wǎng):
[0016]上層應(yīng)用在消息通信中,未完成完整消息應(yīng)答,無法與平臺(tái)通信;
[0017]有撥號(hào)程序運(yùn)行且程序未正常執(zhí)行斷開,IP層就已檢測(cè)到網(wǎng)絡(luò)斷開;
[0018]未檢測(cè)到網(wǎng)絡(luò)口斷開連接,但I(xiàn)P層已無法連通。
[0019]一種平臺(tái)與終端間的通信方法,包括:
[0020]平臺(tái)需要與處于私網(wǎng)中的終端進(jìn)行通信時(shí),獲取所述終端上次建立連接時(shí)的公網(wǎng)地址、終端私網(wǎng)IP地址和終端編號(hào);
[0021]平臺(tái)根據(jù)所述公網(wǎng)地址向相應(yīng)的NAT設(shè)備發(fā)送通信請(qǐng)求,建立與所述終端的通信鏈路,所述通信請(qǐng)求攜帶所述終端私網(wǎng)IP地址和終端編號(hào)。
[0022]一種NAT設(shè)備,包括:接收模塊和發(fā)送模塊;其中,
[0023]所述接收模塊,用于接收來自平臺(tái)的通信請(qǐng)求,所述通信請(qǐng)求攜帶終端私網(wǎng)IP地址和終端編號(hào);
[0024]所述發(fā)送模塊,用于根據(jù)所述接收的通信請(qǐng)求轉(zhuǎn)發(fā)給所述終端私網(wǎng)IP地址或終端編號(hào)對(duì)應(yīng)的終端,以便所述終端建立與所述平臺(tái)間的通信鏈路,基于所述通信鏈路交互消息報(bào)文。
[0025]該NAT設(shè)備還包括IP地址分配方式確定模塊,
[0026]所述IP地址分配方式確定模塊,用于根據(jù)NAT設(shè)備配置確定所述NAT設(shè)備的IP地址分配方式;
[0027]所述發(fā)送模塊,具體用于在所述IP地址分配方式確定模塊確定所述NAT設(shè)備的IP地址分配方式為靜態(tài)分配時(shí),將所述通信請(qǐng)求轉(zhuǎn)發(fā)到所述私網(wǎng)IP地址對(duì)應(yīng)的端口上;在所述IP地址分配方式確定模塊確定所述NAT設(shè)備的IP地址分配方式為動(dòng)態(tài)分配時(shí),在各端口上發(fā)送攜帶所述終端編號(hào)的廣播消息,之后將所述通信請(qǐng)求轉(zhuǎn)發(fā)到對(duì)所述廣播消息進(jìn)行應(yīng)答的端口上。
[0028]一種終端,包括:接收模塊、匹配模塊和發(fā)送模塊;其中,
[0029]所述接收模塊,用于接收NAT設(shè)備轉(zhuǎn)發(fā)的通信請(qǐng)求以及NAT設(shè)備發(fā)送的廣播消息,所述廣播消息攜帶終端編號(hào);
[0030]所述匹配模塊,用于在接收模塊收到廣播消息后,將所述廣播消息攜帶的終端編號(hào)與自身所屬終端的終端編號(hào)進(jìn)行匹配;
[0031]所述發(fā)送模塊,用于在所述匹配模塊匹配成功時(shí),返回應(yīng)答消息。
[0032]該終端還包括:檢測(cè)模塊和連接建立模塊;其中,[0033]所述檢測(cè)模塊,用于在平臺(tái)與終端交互消息報(bào)文結(jié)束,但保持通信鏈路連通的狀態(tài)下,定時(shí)輪詢檢測(cè)網(wǎng)絡(luò)連接狀態(tài);
[0034]所述連接建立模塊,用于在所述檢測(cè)模塊檢測(cè)到異常斷網(wǎng)時(shí),發(fā)起并建立與所述平臺(tái)間的通信鏈路。
[0035]所述檢測(cè)模塊,具體用于在檢測(cè)到以下一項(xiàng)或多項(xiàng)時(shí),確定為異常斷網(wǎng):
[0036]上層應(yīng)用在消息通信中,未完成完整消息應(yīng)答,無法與平臺(tái)通信;
[0037]有撥號(hào)程序運(yùn)行且程序未正常執(zhí)行斷開,IP層就已檢測(cè)到網(wǎng)絡(luò)斷開;
[0038]未檢測(cè)到網(wǎng)絡(luò)口斷開連接,但I(xiàn)P層已無法連通。
[0039]一種通信系統(tǒng),包括平臺(tái)、NAT設(shè)備和終端,其中,
[0040]所述平臺(tái),用于在需要與處于私網(wǎng)中的終端進(jìn)行通信時(shí),獲取所述終端上次建立連接時(shí)的公網(wǎng)地址、終端私網(wǎng)IP地址和終端編號(hào);之后,根據(jù)所述公網(wǎng)地址向相應(yīng)的NAT設(shè)備發(fā)送通信請(qǐng)求,建立與所述終端的通信鏈路,所述通信請(qǐng)求攜帶所述終端私網(wǎng)IP地址和終端編號(hào);
[0041 ] 所述NAT設(shè)備,用于將所述通信請(qǐng)求轉(zhuǎn)發(fā)給所述終端私網(wǎng)IP地址或終端編號(hào)對(duì)應(yīng)的終端,以便所述終端建立與所述平臺(tái)間的通信鏈路,基于所述通信鏈路交互消息報(bào)文;
[0042]所述終端,用于接收NAT設(shè)備轉(zhuǎn)發(fā)的通信請(qǐng)求以及NAT設(shè)備發(fā)送的廣播消息;以及在收到廣播消息后,將所述廣播消息攜帶的終端編號(hào)與自身的終端編號(hào)進(jìn)行匹配,匹配成功時(shí),返回應(yīng)答消息。
[0043]所述NAT設(shè)備,具體用于在IP地址分配方式為靜態(tài)分配時(shí),將來自平臺(tái)的通信請(qǐng)求轉(zhuǎn)發(fā)到所述私網(wǎng)IP地址對(duì)應(yīng)的端口上,建立所述平臺(tái)與所述私網(wǎng)IP地址對(duì)應(yīng)的終端的通信鏈路;在IP地址分配方式為動(dòng)態(tài)分配時(shí),在各端口上發(fā)送攜帶所述終端編號(hào)的廣播消息,之后將來自平臺(tái)的通信請(qǐng)求轉(zhuǎn)發(fā)到對(duì)所述廣播消息進(jìn)行應(yīng)答的端口上,建立所述平臺(tái)與所述終端編號(hào)對(duì)應(yīng)的終端的通信鏈路。
[0044]所述終端,還用于在所述平臺(tái)與所述終端交互消息報(bào)文結(jié)束后,定時(shí)向平臺(tái)發(fā)送心跳包,保持所述通信鏈路連通,并定時(shí)輪詢檢測(cè)網(wǎng)絡(luò)連接狀態(tài),檢測(cè)到異常斷網(wǎng)時(shí),發(fā)起并建立與所述平臺(tái)間的通信鏈路,
[0045]所述終端檢測(cè)到以下一項(xiàng)或多項(xiàng)時(shí),確定為異常斷網(wǎng):
[0046]上層應(yīng)用在消息通信中,未完成完整消息應(yīng)答,無法與平臺(tái)通信;
[0047]有撥號(hào)程序運(yùn)行且程序未正常執(zhí)行斷開,IP層就已檢測(cè)到網(wǎng)絡(luò)斷開;
[0048]未檢測(cè)到網(wǎng)絡(luò)口斷開連接,但I(xiàn)P層已無法連通。
[0049]本發(fā)明平臺(tái)與終端間的通信方法、通信系統(tǒng)、平臺(tái)及相關(guān)設(shè)備,網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT)設(shè)備接收來自平臺(tái)的通信請(qǐng)求,所述通信請(qǐng)求攜帶終端私網(wǎng)IP地址和終端編號(hào);所述NAT設(shè)備將所述通信請(qǐng)求轉(zhuǎn)發(fā)給所述終端私網(wǎng)IP地址或終端編號(hào)對(duì)應(yīng)的終端,之后,所述終端建立與所述平臺(tái)間的通信鏈路,基于所述通信鏈路交互消息報(bào)文。采用本發(fā)明所述的方案,即使終端在私網(wǎng)中,平臺(tái)與終端間的連接斷開后,平臺(tái)也可主動(dòng)與終端通信,從而能夠提高通信效率;另外,終端與平臺(tái)之間的長(zhǎng)連接因異常情況斷開后,終端可以識(shí)別各種異常情況,及時(shí)恢復(fù)與平臺(tái)間的連接,從而進(jìn)一步提高通信效率。
【專利附圖】
【附圖說明】[0050]圖1為本發(fā)明實(shí)施例一種平臺(tái)與終端間的通信方法流程示意圖;
[0051]圖2為本發(fā)明實(shí)施例另一種平臺(tái)與終端間的通信方法流程示意圖;
[0052]圖3為本發(fā)明實(shí)施例一種NAT設(shè)備的結(jié)構(gòu)示意圖;
[0053]圖4為本發(fā)明實(shí)施例一種終端的結(jié)構(gòu)示意圖;
[0054]圖5為本發(fā)明實(shí)施例另一種終端的結(jié)構(gòu)示意圖;
[0055]圖6為本發(fā)明實(shí)施例一種通信系統(tǒng)的結(jié)構(gòu)示意圖;
[0056]圖7為本發(fā)明實(shí)施例1所述的平臺(tái)與終端間的通信方法流程示意圖;
[0057]圖8為本發(fā)明實(shí)施例2所述的平臺(tái)與終端間的通信方法流程示意圖;
[0058]圖9為本發(fā)明實(shí)施例3所述的平臺(tái)與終端間的通信方法流程示意圖。
【具體實(shí)施方式】
[0059]本發(fā)明的基本思想是:NAT設(shè)備接收來自平臺(tái)的通信請(qǐng)求,所述通信請(qǐng)求攜帶終端私網(wǎng)IP地址和終端編號(hào);所述NAT設(shè)備將所述通信請(qǐng)求轉(zhuǎn)發(fā)給所述終端私網(wǎng)IP地址或終端編號(hào)對(duì)應(yīng)的終端,之后,所述終端建立與所述平臺(tái)間的通信鏈路,基于所述通信鏈路交互消息報(bào)文。
[0060]圖1為本發(fā)明實(shí)施例一種平臺(tái)與終端間的通信方法流程示意圖,如圖1所示,該方法包括:
[0061]步驟101:NAT設(shè)備接收來自平臺(tái)的通信請(qǐng)求,所述通信請(qǐng)求攜帶終端私網(wǎng)IP地址和終端編號(hào);
[0062]步驟102:所述NAT設(shè)備將所述通信請(qǐng)求轉(zhuǎn)發(fā)給所述終端私網(wǎng)IP地址或終端編號(hào)對(duì)應(yīng)的終端,之后,所述終端建立與所述平臺(tái)間的通信鏈路,基于所述通信鏈路交互消息報(bào)文。
[0063]可選的,所述NAT設(shè)備將所述通信請(qǐng)求轉(zhuǎn)發(fā)給所述終端私網(wǎng)IP地址或終端編號(hào)對(duì)應(yīng)的終端為:所述NAT設(shè)備的IP地址分配方式為靜態(tài)分配時(shí),將所述通信請(qǐng)求轉(zhuǎn)發(fā)到所述私網(wǎng)IP地址對(duì)應(yīng)的端口上;所述NAT設(shè)備的IP地址分配方式為動(dòng)態(tài)分配時(shí),在各端口上發(fā)送攜帶所述終端編號(hào)的廣播消息,之后將所述通信請(qǐng)求轉(zhuǎn)發(fā)到對(duì)所述廣播消息進(jìn)行應(yīng)答的端口上。
[0064]可選的,該方法還包括:
[0065]所述平臺(tái)與所述終端交互消息報(bào)文結(jié)束后,所述終端定時(shí)向平臺(tái)發(fā)送心跳包,保持所述通信鏈路連通,并定時(shí)輪詢檢測(cè)網(wǎng)絡(luò)連接狀態(tài),檢測(cè)到異常斷網(wǎng)時(shí),發(fā)起并建立與所述平臺(tái)間的通信鏈路。
[0066]可選的,所述終端檢測(cè)到以下一項(xiàng)或多項(xiàng)時(shí),確定為異常斷網(wǎng):
[0067]上層應(yīng)用在消息通信中,未完成完整消息應(yīng)答,無法與平臺(tái)通信;
[0068]有撥號(hào)程序運(yùn)行且程序未正常執(zhí)行斷開,IP層就已檢測(cè)到網(wǎng)絡(luò)斷開;
[0069]未檢測(cè)到網(wǎng)絡(luò)口斷開連接,但I(xiàn)P層已無法連通。
[0070]需要說明的是,上述終端檢測(cè)異常斷網(wǎng)的方法不限于應(yīng)用于按照步驟101、102建立連接并交互消息報(bào)文后保持長(zhǎng)連接的場(chǎng)景,也可以單獨(dú)應(yīng)用于采用其他方式建立連接并交互消息報(bào)文后保持長(zhǎng)連接的場(chǎng)景,以便及時(shí)恢復(fù)終端與平臺(tái)間的連接,例如,某次業(yè)務(wù)功能需要終端主動(dòng)與平臺(tái)通信,并在一次會(huì)話結(jié)束后,終端仍保持住與平臺(tái)的通信,當(dāng)終端與平臺(tái)間連接斷開后,平臺(tái)主動(dòng)根據(jù)上一次獲得的所述終端的IP地址進(jìn)行通信,若平臺(tái)與上一次獲得的終端的IP地址通信失敗,則根據(jù)步驟101、102所述的通信方法實(shí)現(xiàn)與所述終端的通信。
[0071]本發(fā)明實(shí)施例還相應(yīng)地提出了一種平臺(tái)與終端間的通信方法,如圖2所示,該方法包括:
[0072]步驟201:平臺(tái)需要與處于私網(wǎng)中的終端進(jìn)行通信時(shí),獲取所述終端上次建立連接時(shí)的公網(wǎng)地址、終端私網(wǎng)IP地址和終端編號(hào);
[0073]步驟202:平臺(tái)根據(jù)所述公網(wǎng)地址向相應(yīng)的NAT設(shè)備發(fā)送通信請(qǐng)求,建立與所述終端的通信鏈路,所述通信請(qǐng)求攜帶所述終端私網(wǎng)IP地址和終端編號(hào)。
[0074]本發(fā)明實(shí)施例還相應(yīng)地提出了一種NAT設(shè)備,該NAT設(shè)備包括:接收模塊31和發(fā)送模塊32 ;其中,
[0075]接收模塊31,用于接收來自平臺(tái)的通信請(qǐng)求,所述通信請(qǐng)求攜帶終端私網(wǎng)IP地址和終端編號(hào);
[0076]發(fā)送模塊32,用于根據(jù)所述接收的通信請(qǐng)求轉(zhuǎn)發(fā)給所述終端私網(wǎng)IP地址或終端編號(hào)對(duì)應(yīng)的終端,以便所述終端建立與所述平臺(tái)間的通信鏈路,基于所述通信鏈路交互消息報(bào)文。
[0077]可選的,如圖3所示,該NAT設(shè)備還包括IP地址分配方式確定模塊33,
[0078]IP地址分配方式確定模塊33,用于根據(jù)NAT設(shè)備配置確定所述NAT設(shè)備的IP地址分配方式;
[0079]發(fā)送模塊32,具體用于在所述IP地址分配方式確定模塊33確定所述NAT設(shè)備的IP地址分配方式為靜態(tài)分配時(shí),將所述通信請(qǐng)求轉(zhuǎn)發(fā)到所述私網(wǎng)IP地址對(duì)應(yīng)的端口上;在所述IP地址分配方式確定模塊33確定所述NAT設(shè)備的IP地址分配方式為動(dòng)態(tài)分配時(shí),在各端口上發(fā)送攜帶所述終端編號(hào)的廣播消息,之后將所述通信請(qǐng)求轉(zhuǎn)發(fā)到對(duì)所述廣播消息進(jìn)行應(yīng)答的端口上。
[0080]本發(fā)明實(shí)施例還相應(yīng)地提出了一種終端,如圖4所示,該終端包括:接收模塊41、匹配模塊42和發(fā)送模塊43 ;其中,
[0081]接收模塊41,用于接收NAT設(shè)備轉(zhuǎn)發(fā)的通信請(qǐng)求以及NAT設(shè)備發(fā)送的廣播消息,所述廣播消息攜帶終端編號(hào);
[0082]匹配模塊42,用于在接收模塊41收到廣播消息后,將所述廣播消息攜帶的終端編號(hào)與自身所屬終端的終端編號(hào)進(jìn)行匹配;
[0083]發(fā)送模塊43,用于在匹配模塊42匹配成功時(shí),返回應(yīng)答消息。
[0084]可選的,如圖5所示,該終端還包括:檢測(cè)模塊51和連接建立模塊52 ;其中,
[0085]檢測(cè)模塊51,用于在平臺(tái)與終端交互消息報(bào)文結(jié)束,但保持通信鏈路連通的狀態(tài)下,定時(shí)輪詢檢測(cè)網(wǎng)絡(luò)連接狀態(tài);
[0086]連接建立模塊52,用于在檢測(cè)模塊51檢測(cè)到異常斷網(wǎng)時(shí),發(fā)起并建立與所述平臺(tái)間的通信鏈路。
[0087]可選的,檢測(cè)模塊51,具體用于在檢測(cè)到以下一項(xiàng)或多項(xiàng)時(shí),確定為異常斷網(wǎng):
[0088]上層應(yīng)用在消息通信中,未完成完整消息應(yīng)答,無法與平臺(tái)通信;
[0089]有撥號(hào)程序運(yùn)行且程序未正常執(zhí)行斷開,IP層就已檢測(cè)到網(wǎng)絡(luò)斷開;[0090]未檢測(cè)到網(wǎng)絡(luò)口斷開連接,但I(xiàn)P層已無法連通。
[0091]需要說明的是,終端可以物理上和NAT設(shè)備合一,支持NAT設(shè)備功能,包括端口映射、IP地址映射等功能。
[0092]本發(fā)明實(shí)施例還相應(yīng)地提出了一種通信系統(tǒng),如圖6所示,該通信系統(tǒng)包括平臺(tái)61, NAT設(shè)備62和終端63,其中,
[0093]平臺(tái)61,用于在需要與處于私網(wǎng)中的終端進(jìn)行通信時(shí),獲取所述終端上次建立連接時(shí)的公網(wǎng)地址、終端私網(wǎng)IP地址和終端編號(hào);之后,根據(jù)所述公網(wǎng)地址向相應(yīng)的NAT設(shè)備發(fā)送通信請(qǐng)求,建立與所述終端的通信鏈路,所述通信請(qǐng)求攜帶所述終端私網(wǎng)IP地址和終端編號(hào);
[0094]NAT設(shè)備62,用于將所述通信請(qǐng)求轉(zhuǎn)發(fā)給所述終端私網(wǎng)IP地址或終端編號(hào)對(duì)應(yīng)的終端,以便所述終端建立與所述平臺(tái)間的通信鏈路,基于所述通信鏈路交互消息報(bào)文;
[0095]終端63,用于接收NAT設(shè)備轉(zhuǎn)發(fā)的通信請(qǐng)求以及NAT設(shè)備發(fā)送的廣播消息;以及在收到廣播消息后,將所述廣播消息攜帶的終端編號(hào)與自身的終端編號(hào)進(jìn)行匹配,匹配成功時(shí),返回應(yīng)答消息。
[0096]可選的,NAT設(shè)備62,具體用于在IP地址分配方式為靜態(tài)分配時(shí),將來自平臺(tái)61的通信請(qǐng)求轉(zhuǎn)發(fā)到所述私網(wǎng)IP地址對(duì)應(yīng)的端口上,建立平臺(tái)61與所述私網(wǎng)IP地址對(duì)應(yīng)的終端的通信鏈路;在IP地址分配方式為動(dòng)態(tài)分配時(shí),在各端口上發(fā)送攜帶所述終端編號(hào)的廣播消息,之后將來自平臺(tái)61的通信請(qǐng)求轉(zhuǎn)發(fā)到對(duì)所述廣播消息進(jìn)行應(yīng)答的端口上,建立平臺(tái)61與所述終端編號(hào)對(duì)應(yīng)的終端的通信鏈路。
[0097]可選的,終端63,還用于在所述平臺(tái)與所述終端交互消息報(bào)文結(jié)束后,定時(shí)向平臺(tái)發(fā)送心跳包,保持所述通信鏈路連通,并定時(shí)輪詢檢測(cè)網(wǎng)絡(luò)連接狀態(tài),檢測(cè)到異常斷網(wǎng)時(shí),發(fā)起并建立與所述平臺(tái)間的通信鏈路,
[0098]可選的,終端63檢測(cè)到以下一項(xiàng)或多項(xiàng)時(shí),確定為異常斷網(wǎng):
[0099]上層應(yīng)用在消息通信中,未完成完整消息應(yīng)答,無法與平臺(tái)通信;
[0100]有撥號(hào)程序運(yùn)行且程序未正常執(zhí)行斷開,IP層就已檢測(cè)到網(wǎng)絡(luò)斷開;
[0101 ] 未檢測(cè)到網(wǎng)絡(luò)口斷開連接,但I(xiàn)P層已無法連通。
[0102]下面通過具體實(shí)施例對(duì)本發(fā)明的技術(shù)方案作進(jìn)一步詳細(xì)說明。
[0103]實(shí)施例1
[0104]本實(shí)施例中,終端發(fā)起連接請(qǐng)求,平臺(tái)對(duì)終端進(jìn)行校驗(yàn)、認(rèn)證,并與終端間建立長(zhǎng)連接,在建立長(zhǎng)連接后,檢測(cè)網(wǎng)絡(luò)是否異常斷開,如果出現(xiàn)異常斷網(wǎng),則立即重新建立連接。
[0105]如圖7所示,本實(shí)施例所述的平臺(tái)與終端間的通信方法流程具體包括:
[0106]步驟701:終端向平臺(tái)發(fā)起連接,建立TCP/IP連接,平臺(tái)獲得終端IP地址。
[0107]步驟702:終端與平臺(tái)建立連接后,獲得臨時(shí)Token。
[0108]在此連接內(nèi),后續(xù)終端每次與平臺(tái)交互報(bào)文,都需攜帶此臨時(shí)Token,作為此次通信連接及消息報(bào)文交互的認(rèn)證字段使用。
[0109]具體的,平臺(tái)將臨時(shí)Token與終端發(fā)起TCP/IP連接攜帶的IP地址、端口——綁定,當(dāng)連接斷開后,臨時(shí)Token也過期。
[0110]臨時(shí)Token由平臺(tái)根據(jù)終端上報(bào)的終端編號(hào)(平臺(tái)預(yù)存,或者預(yù)存與終端編號(hào)綁定的邏輯號(hào)碼)、IP地址、端口和平臺(tái)生成的隨機(jī)數(shù)根據(jù)一定算法計(jì)算獲得。采用Token可以保證長(zhǎng)連接通信的安全性。
[0111]步驟703:終端與平臺(tái)交互消息報(bào)文,完成相關(guān)邏輯操作。
[0112]步驟704:消息交互結(jié)束。平臺(tái)不斷開TCP/IP連接,并保持session連接,終端也不主動(dòng)斷開TCP/IP連接。
[0113]步驟705:終端定時(shí)向平臺(tái)發(fā)送心跳包,平臺(tái)定時(shí)收到心跳包保持此連接。
[0114]步驟706:終端檢測(cè)網(wǎng)絡(luò)是否異常斷開,若出現(xiàn)異常,終端與平臺(tái)斷開TCP/IP連接,終端需主動(dòng)向平臺(tái)再發(fā)起連接請(qǐng)求,平臺(tái)與終端重新建立連接。
[0115]這里,檢測(cè)進(jìn)程啟動(dòng)后,終端可以在PPP連接或IP連接下,定時(shí)輪詢檢測(cè)網(wǎng)絡(luò)連接狀態(tài)。具體的,可以根據(jù)在出現(xiàn)以下情況是,確定為異常斷網(wǎng):
[0116]上層應(yīng)用在消息通信中,未完成完整消息應(yīng)答,無法與平臺(tái)通信;
[0117]若有撥號(hào)程序運(yùn)行,程序未正常執(zhí)行斷開,IP層就已檢測(cè)網(wǎng)絡(luò)斷開;
[0118]未檢測(cè)到網(wǎng)絡(luò)口斷開連接,但I(xiàn)P層已無法連通。
[0119]需要說明的是,終端檢測(cè)網(wǎng)絡(luò)狀況及斷網(wǎng)后連接程序是操作系統(tǒng)級(jí)進(jìn)程,操作系統(tǒng)啟動(dòng)后一并啟動(dòng),不能被暫停、關(guān)閉或修改,另外,當(dāng)終端與平臺(tái)間TCP/IP連接斷開,平臺(tái)能夠立刻檢測(cè)到TCP連接已斷開,平臺(tái)釋放已建立的TCP/IP連接,以及應(yīng)用層已建立的Session。
[0120]重新建立連接后,平臺(tái)可隨時(shí)向終端發(fā)送交互消息,進(jìn)行各種操作和配置。
[0121]實(shí)施例2
[0122]本實(shí)施例描述終端處于私網(wǎng)中,私網(wǎng)地址不變的情況下,平臺(tái)與終端TCP/IP連接斷開,平臺(tái)主動(dòng)連接終端通信的過程。
[0123]圖8為本發(fā)明實(shí)施例2中平臺(tái)與終端間的通信方法流程示意圖,如圖8所示,該流程具體包括:
[0124]步驟801:終端在主動(dòng)發(fā)起與平臺(tái)的通信中,發(fā)送消息包攜帶終端私網(wǎng)IP地址、NAT設(shè)備為終端固定分配的編號(hào)。
[0125]步驟802:當(dāng)終端與平臺(tái)斷開通信后,平臺(tái)解開終端上次建立TCP/IP連接中發(fā)送的NAT穿越消息,獲得終端私網(wǎng)IP地址、終端編號(hào)。
[0126]這里,NAT穿越消息即與業(yè)務(wù)邏輯無關(guān)的消息,在進(jìn)行業(yè)務(wù)消息交互前發(fā)送。
[0127]步驟803:平臺(tái)向NAT設(shè)備(對(duì)應(yīng)公網(wǎng)地址)發(fā)送通信請(qǐng)求,所述通信請(qǐng)求攜帶終端私網(wǎng)IP地址和終端編號(hào)。
[0128]步驟804:分配方式為靜態(tài)分配的NAT設(shè)備收到平臺(tái)發(fā)送的通信請(qǐng)求,將發(fā)送到公網(wǎng)地址的消息轉(zhuǎn)發(fā)到私網(wǎng)地址綁定的端口上,從而建立平臺(tái)與終端的通信鏈路,并交互消
肩、O
[0129]實(shí)施例3
[0130]本實(shí)施例描述終端處于私網(wǎng)中,私網(wǎng)地址改變的情況下,平臺(tái)與終端TCP/IP連接斷開,平臺(tái)主動(dòng)連接終端通信的過程。
[0131]圖9為本發(fā)明實(shí)施例3中平臺(tái)與終端間的通信方法流程示意圖,如圖9所示,該流程具體包括:
[0132]步驟901:終端在主動(dòng)發(fā)起與平臺(tái)的通信中,發(fā)送消息包攜帶終端私網(wǎng)IP地址、NAT設(shè)備為終端固定分配的編號(hào)。[0133]步驟902:當(dāng)終端與平臺(tái)斷開通信后,平臺(tái)解開終端上次建立TCP/IP連接中發(fā)送的NAT穿越消息,獲得終端私網(wǎng)IP地址、終端編號(hào)。
[0134]這里,NAT穿越消息即與業(yè)務(wù)邏輯無關(guān)的消息,在進(jìn)行業(yè)務(wù)消息交互前發(fā)送。
[0135]步驟903:平臺(tái)向NAT設(shè)備(對(duì)應(yīng)公網(wǎng)地址)發(fā)送通信請(qǐng)求,所述通信請(qǐng)求攜帶終端私網(wǎng)IP地址和終端編號(hào)。
[0136]步驟904:分配方式為動(dòng)態(tài)分配的NAT設(shè)備收到平臺(tái)發(fā)送的通信請(qǐng)求后,在各端口上發(fā)送廣播消息,廣播消息中至少攜帶終端編號(hào),當(dāng)有終端收到此廣播消息時(shí),匹配自己的終端編號(hào),若與終端編號(hào)匹配(可攜帶斷連接前攜帶的Token進(jìn)行認(rèn)證校驗(yàn))的終端對(duì)廣播消息應(yīng)答,NAT設(shè)備根據(jù)應(yīng)答的端口,將平臺(tái)發(fā)送的消息轉(zhuǎn)發(fā)到此端口,終端對(duì)平臺(tái)發(fā)送的消息報(bào)文進(jìn)行應(yīng)答,平臺(tái)根據(jù)此應(yīng)答與終端建立通信鏈路。
[0137]具體的,平臺(tái)發(fā)送的通信請(qǐng)求還可以攜帶以下一項(xiàng)或多項(xiàng)信息:通知此編號(hào)的終端與平臺(tái)建立連接、消息類型(如連接消息)、平臺(tái)IP地址,另外,還可攜帶斷連接前攜帶的Token,重新建立連接后,再攜帶新的Token。
[0138]NAT設(shè)備轉(zhuǎn)發(fā)的廣播消息為平臺(tái)通知此編號(hào)的終端與平臺(tái)建立連接,消息中包括終端編號(hào)。
[0139]對(duì)于終端的IP地址是公網(wǎng)的IP地址的情況,若終端IP地址不變化,則平臺(tái)只需記住終端每次通信的IP地址,即可主動(dòng)與終端連接進(jìn)行通信;若終端IP地址變化(即終端每次發(fā)起PPP連接獲得的IP地址是變化的),只要此次PPP連接不斷開,平臺(tái)根據(jù)終端此次分配的IP地址都可以找到終端,若PPP連接斷開,則終端會(huì)重新發(fā)起PPP連接請(qǐng)求,與平臺(tái)建立新的連接,若希望PPP連接不斷開,可以由終端與平臺(tái)間保持長(zhǎng)連接,由此保持住此PPP連接。
[0140]本發(fā)明所述的方案可應(yīng)用于需要平臺(tái)主動(dòng)與終端通信的業(yè)務(wù)(如智能家居、終端遠(yuǎn)程管理等業(yè)務(wù))中,通過本發(fā)明,終端與平臺(tái)交互后,保持住長(zhǎng)連接,若長(zhǎng)連接斷開,終端進(jìn)行各種異常處理發(fā)起連接;若終端未能診斷異常,終端與平臺(tái)間連接已斷開,平臺(tái)能夠主動(dòng)與終端建立通信連接,并交互消息,因此,即使平臺(tái)與終端不處于同個(gè)網(wǎng)段中,平臺(tái)仍可主動(dòng)找到終端,并向終端發(fā)起各種消息,進(jìn)行各種操作和配置。
[0141]以上所述,僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍。
【權(quán)利要求】
1.一種平臺(tái)與終端間的通信方法,其特征在于,該方法包括: 網(wǎng)絡(luò)地址轉(zhuǎn)換NAT設(shè)備接收來自平臺(tái)的通信請(qǐng)求,所述通信請(qǐng)求攜帶終端私網(wǎng)IP地址和終端編號(hào); 所述NAT設(shè)備將所述通信請(qǐng)求轉(zhuǎn)發(fā)給所述終端私網(wǎng)IP地址或終端編號(hào)對(duì)應(yīng)的終端,之后,所述終端建立與所述平臺(tái)間的通信鏈路,基于所述通信鏈路交互消息報(bào)文。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述NAT設(shè)備將所述通信請(qǐng)求轉(zhuǎn)發(fā)給所述終立而私網(wǎng)IP地址或終編號(hào)對(duì)應(yīng)的終纟而為: 所述NAT設(shè)備的IP地址分配方式為靜態(tài)分配時(shí),將所述通信請(qǐng)求轉(zhuǎn)發(fā)到所述私網(wǎng)IP地址對(duì)應(yīng)的端口上;所述NAT設(shè)備的IP地址分配方式為動(dòng)態(tài)分配時(shí),在各端口上發(fā)送攜帶所述終端編號(hào)的廣播消息,之后將所述通信請(qǐng)求轉(zhuǎn)發(fā)到對(duì)所述廣播消息進(jìn)行應(yīng)答的端口上。
3.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,該方法還包括: 所述平臺(tái)與所述終端交互消息報(bào)文結(jié)束后,所述終端定時(shí)向平臺(tái)發(fā)送心跳包,保持所述通信鏈路連通,并定時(shí)輪詢檢測(cè)網(wǎng)絡(luò)連接狀態(tài),檢測(cè)到異常斷網(wǎng)時(shí),發(fā)起并建立與所述平臺(tái)間的通信鏈路。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述終端檢測(cè)到以下一項(xiàng)或多項(xiàng)時(shí),確定為異常斷網(wǎng): 上層應(yīng)用在消息通信中,未完成完整消息應(yīng)答,無法與平臺(tái)通信; 有撥號(hào)程序運(yùn)行且程序未正常執(zhí)行斷開,IP層就已檢測(cè)到網(wǎng)絡(luò)斷開; 未檢測(cè)到網(wǎng)絡(luò)口斷開連接,但I(xiàn)P層已無法連通。
5.一種平臺(tái)與終端間的通信方法,其特征在于,該方法包括: 平臺(tái)需要與處于私網(wǎng)中的終端進(jìn)行通信時(shí),獲取所述終端上次建立連接時(shí)的公網(wǎng)地址、終端私網(wǎng)IP地址和終端編號(hào); 平臺(tái)根據(jù)所述公網(wǎng)地址向相應(yīng)的NAT設(shè)備發(fā)送通信請(qǐng)求,建立與所述終端的通信鏈路,所述通信請(qǐng)求攜帶所述終端私網(wǎng)IP地址和終端編號(hào)。
6.一種NAT設(shè)備,其特征在于,該NAT設(shè)備包括:接收模塊和發(fā)送模塊;其中, 所述接收模塊,用于接收來自平臺(tái)的通信請(qǐng)求,所述通信請(qǐng)求攜帶終端私網(wǎng)IP地址和終端編號(hào); 所述發(fā)送模塊,用于根據(jù)所述接收的通信請(qǐng)求轉(zhuǎn)發(fā)給所述終端私網(wǎng)IP地址或終端編號(hào)對(duì)應(yīng)的終端,以便所述終端建立與所述平臺(tái)間的通信鏈路,基于所述通信鏈路交互消息報(bào)文。
7.根據(jù)權(quán)利要求6所述的NAT設(shè)備,其特征在于,該NAT設(shè)備還包括IP地址分配方式確定模塊, 所述IP地址分配方式確定模塊,用于根據(jù)NAT設(shè)備配置確定所述NAT設(shè)備的IP地址分配方式; 所述發(fā)送模塊,具體用于在所述IP地址分配方式確定模塊確定所述NAT設(shè)備的IP地址分配方式為靜態(tài)分配時(shí) ,將所述通信請(qǐng)求轉(zhuǎn)發(fā)到所述私網(wǎng)IP地址對(duì)應(yīng)的端口上;在所述IP地址分配方式確定模塊確定所述NAT設(shè)備的IP地址分配方式為動(dòng)態(tài)分配時(shí),在各端口上發(fā)送攜帶所述終端編號(hào)的廣播消息,之后將所述通信請(qǐng)求轉(zhuǎn)發(fā)到對(duì)所述廣播消息進(jìn)行應(yīng)答的端口上。
8.—種終端,其特征在于,該終端包括:接收模塊、匹配模塊和發(fā)送模塊;其中, 所述接收模塊,用于接收NAT設(shè)備轉(zhuǎn)發(fā)的通信請(qǐng)求以及NAT設(shè)備發(fā)送的廣播消息,所述廣播消息攜帶終端編號(hào); 所述匹配模塊,用于在接收模塊收到廣播消息后,將所述廣播消息攜帶的終端編號(hào)與自身所屬終端的終端編號(hào)進(jìn)行匹配; 所述發(fā)送模塊,用于在所述匹配模塊匹配成功時(shí),返回應(yīng)答消息。
9.根據(jù)權(quán)利要求8所述的終端,其特征在于,該終端還包括:檢測(cè)模塊和連接建立模塊;其中, 所述檢測(cè)模塊,用于在平臺(tái)與終端交互消息報(bào)文結(jié)束,但保持通信鏈路連通的狀態(tài)下,定時(shí)輪詢檢測(cè)網(wǎng)絡(luò)連接狀態(tài); 所述連接建立模塊,用于在所述檢測(cè)模塊檢測(cè)到異常斷網(wǎng)時(shí),發(fā)起并建立與所述平臺(tái)間的通信鏈路。
10.根據(jù)權(quán)利要求9所述的終端,其特征在于,所述檢測(cè)模塊,具體用于在檢測(cè)到以下一項(xiàng)或多項(xiàng)時(shí),確定為異常斷網(wǎng): 上層應(yīng)用在消息通信中,未完成完整消息應(yīng)答,無法與平臺(tái)通信; 有撥號(hào)程序運(yùn)行且程序未正常執(zhí)行斷開,IP層就已檢測(cè)到網(wǎng)絡(luò)斷開; 未檢測(cè)到網(wǎng)絡(luò)口斷開連接,但I(xiàn)P層已無法連通。
11.一種通信系統(tǒng),其特征在于,該通信系統(tǒng)包括平臺(tái)、NAT設(shè)備和終端,其中, 所述平臺(tái),用于在需要與處于私網(wǎng)中的終端進(jìn)行通信時(shí),獲取所述終端上次建立連接時(shí)的公網(wǎng)地址、終端私網(wǎng)IP地址和終端編號(hào);之后,根據(jù)所述公網(wǎng)地址向相應(yīng)的NAT設(shè)備發(fā)送通信請(qǐng)求,建立與所述終端的通信鏈路,所述通信請(qǐng)求攜帶所述終端私網(wǎng)IP地址和終端編號(hào); 所述NAT設(shè)備,用于將所述通信請(qǐng)求轉(zhuǎn)發(fā)給所述終端私網(wǎng)IP地址或終端編號(hào)對(duì)應(yīng)的終端,以便所述終端建立與所述平臺(tái)間的通信鏈路,基于所述通信鏈路交互消息報(bào)文; 所述終端,用于接收NAT設(shè)備轉(zhuǎn)發(fā)的通信請(qǐng)求以及NAT設(shè)備發(fā)送的廣播消息;以及在收到廣播消息后,將所述廣播消息攜帶的終端編號(hào)與自身的終端編號(hào)進(jìn)行匹配,匹配成功時(shí),返回應(yīng)答消息。
12.根據(jù)權(quán)利要求11所述的系統(tǒng),其特征在于, 所述NAT設(shè)備,具體用于在IP地址分配方式為靜態(tài)分配時(shí),將來自平臺(tái)的通信請(qǐng)求轉(zhuǎn)發(fā)到所述私網(wǎng)IP地址對(duì)應(yīng)的端口上,建立所述平臺(tái)與所述私網(wǎng)IP地址對(duì)應(yīng)的終端的通信鏈路;在IP地址分配方式為動(dòng)態(tài)分配時(shí),在各端口上發(fā)送攜帶所述終端編號(hào)的廣播消息,之后將來自平臺(tái)的通信請(qǐng)求轉(zhuǎn)發(fā)到對(duì)所述廣播消息進(jìn)行應(yīng)答的端口上,建立所述平臺(tái)與所述終端編號(hào)對(duì)應(yīng)的終端的通信鏈路。
13.根據(jù)權(quán)利要求11或12所述的系統(tǒng),其特征在于, 所述終端,還用于在所述平臺(tái)與所述終端交互消息報(bào)文結(jié)束后,定時(shí)向平臺(tái)發(fā)送心跳包,保持所述通信鏈路連通,并定時(shí)輪詢檢測(cè)網(wǎng)絡(luò)連接狀態(tài),檢測(cè)到異常斷網(wǎng)時(shí),發(fā)起并建立與所述平臺(tái)間的通信鏈路, 所述終端檢測(cè)到以下一項(xiàng)或多項(xiàng)時(shí),確定為異常斷網(wǎng):上層應(yīng)用在消息通信中,未完成完整消息應(yīng)答,無法與平臺(tái)通信;有撥號(hào)程序運(yùn)行且程序未正常執(zhí)行斷開,IP層就已檢測(cè)到網(wǎng)絡(luò)斷開;未檢測(cè)到網(wǎng)絡(luò)口 斷開連接,但I(xiàn)P層已無法連通。
【文檔編號(hào)】H04L29/12GK103905579SQ201210589743
【公開日】2014年7月2日 申請(qǐng)日期:2012年12月28日 優(yōu)先權(quán)日:2012年12月28日
【發(fā)明者】陳心昕, 李建坤, 常輝 申請(qǐng)人:中國(guó)移動(dòng)通信集團(tuán)公司