亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種長連接的建立方法、通信方法及建立通信系統(tǒng)與流程

文檔序號:11517737閱讀:236來源:國知局
一種長連接的建立方法、通信方法及建立通信系統(tǒng)與流程

本發(fā)明涉及電子通信領(lǐng)域,尤其涉及一種長連接的建立方法、通信方法及建立通信系統(tǒng)。



背景技術(shù):

隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展和移動終端的普及,智能家居設(shè)備越來越普及,這些智能家居設(shè)備大多都要接入互聯(lián)網(wǎng),從而讓移動終端遠(yuǎn)程控制智能家居設(shè)備。

目前,每臺智能家居設(shè)備連入互聯(lián)網(wǎng)后,每臺智能家居設(shè)備都會和服務(wù)器建立長連接,因?yàn)檫@種方式簡單,實(shí)現(xiàn)容易。但是,隨著家庭的智能家居設(shè)備的增加,如果每臺智能家居設(shè)備都與服務(wù)器建立長連接,會嚴(yán)重占用帶寬,對服務(wù)器的性能消耗極大。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明的目的是提供一種長連接的建立方法、通信方法及建立通信系統(tǒng),降低帶寬的占用率,且減輕服務(wù)器的性能消耗。

本發(fā)明提供的技術(shù)方案如下:

一種長連接的建立方法,包括:步驟s100服務(wù)器接收當(dāng)前路由器發(fā)送的長連接請求報(bào)文;步驟s200根據(jù)所述長連接請求報(bào)文,服務(wù)器得到所述當(dāng)前路由器的源ip地址和端口ip地址;步驟s300根據(jù)所述源ip地址,服務(wù)器獲取所述當(dāng)前路由器所處的位置區(qū)域信息;步驟s400當(dāng)所述源ip地址和所述端口ip地址一致、且所述位置區(qū)域信息對應(yīng)的位置區(qū)域中無主路由器時(shí),服務(wù)器與所述當(dāng)前路由器建立長連接,并將所述當(dāng)前路由器設(shè)置為主路由器。

在上述技術(shù)方案中,在一個區(qū)域建立一個集群,一個集群中設(shè)置一個主路由器,服務(wù)器只與主路由器建立長連接,由主路由器將數(shù)據(jù)發(fā)送給對應(yīng)的智能設(shè)備。這種方式大大降低了與服務(wù)器建立長連接的設(shè)備,在保證數(shù)據(jù)正確傳輸?shù)耐瑫r(shí),也降低了帶寬的占用率,且減小了服務(wù)器的性能消耗。

進(jìn)一步,所述步驟s300之后還包括:步驟s500當(dāng)所述位置區(qū)域信息對應(yīng)的位置區(qū)域中存在主路由器時(shí),服務(wù)器將存在的所述主路由器的端口ip地址發(fā)送給所述當(dāng)前路由器;步驟s510所述當(dāng)前路由器根據(jù)所述主路由器的端口ip地址,與所述主路由器建立長連接。

在上述技術(shù)方案中,若當(dāng)前路由器所處的區(qū)域中已經(jīng)存在了一個主路由器,那么當(dāng)前路由器不再與服務(wù)器建立長連接,而是與主路由器建立長連接,從而降低服務(wù)器的性能消耗。

進(jìn)一步,所述步驟s510進(jìn)一步包括:步驟s511當(dāng)所述當(dāng)前路由器和主路由器建立長連接后,所述主路由器為所述當(dāng)前路由器分配身份標(biāo)識。

在上述技術(shù)方案中,主路由器會為當(dāng)前路由器分配身份標(biāo)識,便于后續(xù)數(shù)據(jù)的正確傳輸。

進(jìn)一步,所述步驟s510之后還包括:步驟s520當(dāng)所述位置區(qū)域信息對應(yīng)的位置區(qū)域中還存在備用主路由器時(shí),服務(wù)器將存在的所述備用主路由器的端口ip地址發(fā)送給所述當(dāng)前路由器;步驟s530所述當(dāng)前路由器根據(jù)所述備用主路由器的端口ip地址,與所述備用主路由器建立備用長連接。

在上述技術(shù)方案中,備用主路由器的存在給整個集群數(shù)據(jù)傳輸?shù)姆€(wěn)定性提供了保證。

進(jìn)一步,所述步驟s530之后還包括:步驟s600當(dāng)所述源ip地址和所述端口ip地址一致時(shí),服務(wù)器與所述當(dāng)前路由器建立備用長連接,且將所述當(dāng)前路由器設(shè)置為備用主路由器;步驟s610當(dāng)所述源ip地址和所述端口ip地址不一致時(shí),服務(wù)器將所述當(dāng)前路由器設(shè)置為從路由器。

本發(fā)明還提供一種長連接的通信方法,包括:步驟s10當(dāng)接收到智能終端發(fā)送的控制指令信息時(shí),服務(wù)器解析所述控制指令信息,得到控制指令和設(shè)備標(biāo)識;步驟s20服務(wù)器將所述控制指令信息發(fā)送給所述設(shè)備標(biāo)識對應(yīng)的主路由器;步驟s30當(dāng)主路由器接收到所述控制指令信息時(shí),主路由器將所述控制指令信息發(fā)送給所述設(shè)備標(biāo)識對應(yīng)的智能設(shè)備。

在上述技術(shù)方案中,數(shù)據(jù)的傳輸需要通過主路由器來一級級轉(zhuǎn)發(fā),降低了服務(wù)器長時(shí)間與各個智能設(shè)備保持長連接的性能消耗,提高了服務(wù)器的工作性能。

進(jìn)一步,所述步驟s30具體包括:步驟s31主路由器將所述控制指令信息發(fā)送給所述設(shè)備標(biāo)識對應(yīng)的備用主路由器或從路由器;步驟s32備用主路由器或從路由器將所述控制指令信息發(fā)送給所述設(shè)備標(biāo)識對應(yīng)的智能設(shè)備。

本發(fā)明還提供一種長連接的建立通信系統(tǒng),包括:服務(wù)器,至少一個路由器;所述服務(wù)器包括:服務(wù)器接收模塊,用于接收當(dāng)前路由器發(fā)送的長連接請求報(bào)文;其中,將當(dāng)前發(fā)送所述長連接請求報(bào)文的路由器作為當(dāng)前路由器;服務(wù)器解析模塊,與所述服務(wù)器接收模塊電連接,用于根據(jù)所述長連接請求報(bào)文,得到所述當(dāng)前路由器的源ip地址和端口ip地址;服務(wù)器獲取模塊,與所述服務(wù)器解析模塊電連接,用于根據(jù)所述源ip地址,獲取所述當(dāng)前路由器所處的位置區(qū)域信息;服務(wù)器連接模塊,與所述服務(wù)器獲取模塊和所述服務(wù)器解析模塊電連接,當(dāng)所述源ip地址和所述端口ip地址一致、且所述位置區(qū)域信息對應(yīng)的位置區(qū)域中無主路由器時(shí),所述服務(wù)器連接模塊用于與所述當(dāng)前路由器建立長連接;服務(wù)器設(shè)置模塊,與所述服務(wù)器獲取模塊和所述服務(wù)器解析模塊電連接,當(dāng)所述源ip地址和所述端口ip地址一致、且所述位置區(qū)域信息對應(yīng)的位置區(qū)域中無主路由器時(shí),所述服務(wù)器設(shè)置模塊用于將所述當(dāng)前路由器設(shè)置為主路由器。

在上述技術(shù)方案中,在一個區(qū)域建立一個集群,一個集群中設(shè)置一個主路由器,服務(wù)器只與主路由器建立長連接,由主路由器將數(shù)據(jù)發(fā)送給對應(yīng)的智能設(shè)備。這種方式大大降低了與服務(wù)器建立長連接的設(shè)備,在保證數(shù)據(jù)正確傳輸?shù)耐瑫r(shí),也降低了帶寬的占用率,且減小了服務(wù)器的性能消耗。

進(jìn)一步,所述服務(wù)器還包括:服務(wù)器發(fā)送模塊,與所述服務(wù)器獲取模塊電連接,當(dāng)所述位置區(qū)域信息對應(yīng)的位置區(qū)域中存在主路由器時(shí),所述服務(wù)器發(fā)送模塊將存在的所述主路由器的端口ip地址發(fā)送給所述當(dāng)前路由器;每個所述路由器包括:路由接收模塊,路由連接模塊;所述當(dāng)前路由器的路由接收模塊,用于接收所述服務(wù)器發(fā)送的主路由器的端口ip地址;所述當(dāng)前路由器的路由連接模塊,用于根據(jù)所述主路由器的端口ip地址,與所述主路由器建立長連接。

進(jìn)一步,每個所述路由器還包括:路由分配模塊;所述主路由器的路由分配模塊,當(dāng)所述當(dāng)前路由器和主路由器建立長連接后,所述主路由器的路由分配模塊用于為所述當(dāng)前路由器分配身份標(biāo)識。

與現(xiàn)有技術(shù)相比,本發(fā)明的長連接的建立方法、通信方法及建立通信系統(tǒng)有益效果在于:

通過設(shè)置一個主路由器、若干個備用主路由器、若干個從路由器建立集群,服務(wù)器只與一個主路由器建立長連接,從而降低服務(wù)器的帶寬和性能消耗。另外,備用主路由器會服務(wù)器和各從路由器建立備用長連接,在主路由器宕機(jī)時(shí),成為新的主路由器,保證此集群數(shù)據(jù)傳輸?shù)姆€(wěn)定性。

附圖說明

下面將以明確易懂的方式,結(jié)合附圖說明優(yōu)選實(shí)施方式,對一種長連接的建立方法、通信方法及建立通信系統(tǒng)的上述特性、技術(shù)特征、優(yōu)點(diǎn)及其實(shí)現(xiàn)方式予以進(jìn)一步說明。

圖1是本發(fā)明長連接的建立方法一個實(shí)施例的流程圖;

圖2是本發(fā)明長連接的建立方法另一個實(shí)施例的流程圖;

圖3是本發(fā)明長連接的通信方法一個實(shí)施例的流程圖;

圖4是本發(fā)明長連接的通信方法另一個實(shí)施例的流程圖;

圖5是本發(fā)明長連接的建立通信系統(tǒng)一個實(shí)施例的結(jié)構(gòu)示意圖;

圖6是本發(fā)明長連接的建立通信系統(tǒng)另一個實(shí)施例的結(jié)構(gòu)示意圖;

圖7是本發(fā)明長連接的建立通信系統(tǒng)另一個實(shí)施例的結(jié)構(gòu)示意圖;

圖8是本發(fā)明主路由器與服務(wù)器建立長連接的一個實(shí)施例的流程圖;

圖9是本發(fā)明從路由器與主路由器建立長連接的一個實(shí)施例的流程圖。

附圖標(biāo)號說明:

10.服務(wù)器,11.服務(wù)器接收模塊,12.服務(wù)器解析模塊,13.服務(wù)器獲取模塊,14.服務(wù)器連接模塊,15.服務(wù)器設(shè)置模塊,16.服務(wù)器發(fā)送模塊,20.路由器,21.路由接收模塊,22.路由連接模塊,23.路由分配模塊,24.路由發(fā)送模塊,201.主路由器,202.備用主路由器,203.從路由器,301.智能設(shè)備。

具體實(shí)施方式

為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對照附圖說明本發(fā)明的具體實(shí)施方式。顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖,并獲得其他的實(shí)施方式。

為使圖面簡潔,各圖中只示意性地表示出了與本發(fā)明相關(guān)的部分,它們并不代表其作為產(chǎn)品的實(shí)際結(jié)構(gòu)。另外,以使圖面簡潔便于理解,在有些圖中具有相同結(jié)構(gòu)或功能的部件,僅示意性地繪示了其中的一個,或僅標(biāo)出了其中的一個。在本文中,“一個”不僅表示“僅此一個”,也可以表示“多于一個”的情形。

在本發(fā)明的一個實(shí)施例中,如圖1所示,一種長連接的建立方法,包括:步驟s100服務(wù)器接收當(dāng)前路由器發(fā)送的長連接請求報(bào)文;步驟s200根據(jù)所述長連接請求報(bào)文,服務(wù)器得到所述當(dāng)前路由器的源ip地址和端口ip地址;步驟s300根據(jù)所述源ip地址,服務(wù)器獲取所述當(dāng)前路由器所處的位置區(qū)域信息;步驟s400當(dāng)所述源ip地址和所述端口ip地址一致、且所述位置區(qū)域信息對應(yīng)的位置區(qū)域中無主路由器時(shí),服務(wù)器與所述當(dāng)前路由器建立長連接,并將所述當(dāng)前路由器設(shè)置為主路由器。

具體的,智能設(shè)備為智能家居設(shè)備,例如:智能電視機(jī)、智能空調(diào)等,智能設(shè)備一般都會通過家庭路由器,與其后臺的服務(wù)器通信連接。本實(shí)施例中,利用家庭路由器作為數(shù)據(jù)傳輸?shù)娜肟?,即若此家庭路由器的wan口ip地址為公網(wǎng)ip,可以將此家庭路由器設(shè)置為主路由器(或備用主路由器),若將其設(shè)置為主路由器的話,服務(wù)器那邊可以只與此主路由器建立長連接,而接入此主路由器的智能設(shè)備可以將報(bào)文發(fā)送給主路由器,再由主路由器通過與服務(wù)器的長連接端口轉(zhuǎn)發(fā)給服務(wù)器。

當(dāng)前路由器發(fā)送給服務(wù)器的長連接請求報(bào)文中,包括了當(dāng)前路由器的wan口ip地址(即端口ip地址);而服務(wù)器在接收到長連接請求報(bào)文時(shí),可以通過報(bào)文的傳輸路徑提取出當(dāng)前路由器的源ip地址。當(dāng)端口ip地址和源ip地址一致時(shí),則說明當(dāng)前路由器的wan口ip地址為公網(wǎng)ip地址,具有被設(shè)為主路由器的資格。

可以預(yù)先設(shè)置不同的位置區(qū)域信息,例如:a區(qū)域、b區(qū)域、c區(qū)域。當(dāng)獲取了當(dāng)前路由器的源ip地址時(shí),可以根據(jù)此源ip地址判斷當(dāng)前路由器所述的位置,從而得到對應(yīng)的位置區(qū)域信息,例如,判斷當(dāng)前路由器在a區(qū)域。然后獲取a區(qū)域中的集群信息,即判斷a區(qū)域是否已經(jīng)存在主路由器,如果不存在的話,就說明a區(qū)域沒有集群,可以將(具有公網(wǎng)ip地址的)當(dāng)前路由器設(shè)置為主路由器,為后續(xù)建立集群打下基礎(chǔ)。這里的集群是指同一個區(qū)域的路由器可以組建一個集群,一個集群中只有一臺主路由器,例如:a區(qū)域可以通過一個主路由器建立集群。

服務(wù)器只與主路由器建立長連接,即以這個主路由器為主的集群中與智能設(shè)備有關(guān)的數(shù)據(jù)都是通過此主路由器與服務(wù)器的長連接通信接口實(shí)現(xiàn)的傳輸。這樣的話,服務(wù)器那邊可以只與此主路由器建立長連接,由主路由器將數(shù)據(jù)傳輸給正確的智能設(shè)備。

若當(dāng)前路由器被設(shè)置為主路由器后,它會打開自己的長連接端口(例如:tcp8100),便于后續(xù)從路由器、備用主路由器與它的長連接。

本實(shí)施例中,在一個區(qū)域建立一個集群,一個集群中設(shè)置一個主路由器,服務(wù)器只與主路由器建立長連接,由主路由器將數(shù)據(jù)發(fā)送給對應(yīng)的智能設(shè)備。這種方式大大降低了與服務(wù)器建立長連接的設(shè)備,在保證數(shù)據(jù)正確傳輸?shù)耐瑫r(shí),也降低了帶寬的占用率,且減小了服務(wù)器的性能消耗。

優(yōu)選地,所述步驟s300之后還包括:步驟s500當(dāng)所述位置區(qū)域信息對應(yīng)的位置區(qū)域中存在主路由器時(shí),服務(wù)器將存在的所述主路由器的端口ip地址發(fā)送給所述當(dāng)前路由器;步驟s510所述當(dāng)前路由器根據(jù)所述主路由器的端口ip地址,與所述主路由器建立長連接。

具體的,若當(dāng)前路由器所處的位置區(qū)域中已經(jīng)存在了主路由器,說明集群已經(jīng)建立,那么當(dāng)前路由器就需要與主路由器建立長連接,實(shí)現(xiàn)數(shù)據(jù)的傳輸。

例如:當(dāng)前路由器也在a區(qū)域,a區(qū)域已經(jīng)存在一個主路由器了,那么服務(wù)器會把這個主路由器的端口ip地址發(fā)送給當(dāng)前路由器,當(dāng)前路由器會向主路由器發(fā)送長連接請求報(bào)文,當(dāng)主路由器同意后,當(dāng)前路由器就會接入到主路由器的長連接端口(例如:tcp8100)。

本實(shí)施例中,若當(dāng)前路由器所處的區(qū)域中已經(jīng)存在了一個主路由器,那么當(dāng)前路由器不再與服務(wù)器建立長連接,而是與主路由器建立長連接,從而降低服務(wù)器的性能消耗。

優(yōu)選的,所述步驟s510進(jìn)一步包括:步驟s511當(dāng)所述當(dāng)前路由器和主路由器建立長連接后,所述主路由器為所述當(dāng)前路由器分配身份標(biāo)識。

具體的,當(dāng)前路由器與主路由器建立長連接后,主路由器會為當(dāng)前路由器分配身份標(biāo)識,便于后續(xù)數(shù)據(jù)的正確傳輸。

需要注意的是,長連接請求報(bào)文中還包括:智能設(shè)備標(biāo)識(即智能家居設(shè)備的id)。當(dāng)服務(wù)器接到連接請求報(bào)文時(shí),先判斷當(dāng)前路由器所處的位置區(qū)域中是否有主路由器,如果有的話,會把智能設(shè)備標(biāo)識與存在的主路由器對應(yīng)保存,同時(shí)會把主路由器的端口ip地址反饋給當(dāng)前路由器,讓當(dāng)前路由器與主路由器建立長連接。同理,當(dāng)前路由器向主路由器發(fā)送長連接請求報(bào)文時(shí),主路由器會為當(dāng)前路由器分配身份標(biāo)識,并將此身份標(biāo)識與智能設(shè)備標(biāo)識對應(yīng)保存,便于后續(xù)的數(shù)據(jù)傳輸。

主路由器為當(dāng)前路由器分配身份標(biāo)識,保證了同一集群中數(shù)據(jù)傳輸?shù)臏?zhǔn)確性。

優(yōu)選地,所述步驟s510之后還包括:步驟s520當(dāng)所述位置區(qū)域信息對應(yīng)的位置區(qū)域中還存在備用主路由器時(shí),服務(wù)器將存在的所述備用主路由器的端口ip地址發(fā)送給所述當(dāng)前路由器;步驟s530所述當(dāng)前路由器根據(jù)所述備用主路由器的端口ip地址,與所述備用主路由器建立備用長連接。

具體的,備用主路由器就是主路由器的備用設(shè)備,當(dāng)主路由器宕機(jī)或網(wǎng)絡(luò)不通后,按照優(yōu)先級規(guī)則選擇一臺備用主路由器作為新的主路由器,承擔(dān)起與服務(wù)器數(shù)據(jù)傳輸?shù)墓δ堋?/p>

當(dāng)前路由器向備用主路由器發(fā)送長連接請求報(bào)文,備用主路由器同意后使當(dāng)前路由器與備用主路由器建立備用長連接。備用長連接是指有這個長連接通道,但是平時(shí)主路由器正常工作時(shí),備用長連接是不會進(jìn)行數(shù)據(jù)傳輸?shù)摹?/p>

備用主路由器的數(shù)量為一臺、兩臺或多臺。優(yōu)先級規(guī)則可以為按照時(shí)間先后順序,即先被設(shè)置為備用主路由器的備用主路由器在主路由器宕機(jī)后,先被設(shè)置為主路由器。例如:設(shè)置時(shí)間:備用主路由器a早于備用主路由器b,當(dāng)主路由器宕機(jī)后,備用主路由器a成為新的主路由器。

在本實(shí)施例中,當(dāng)備用主路由器成為新的主路由器后,它會作為主路由器為其它備用主路由器、從路由器分配身份標(biāo)識,便于數(shù)據(jù)的傳輸;另外,也會讓其它備用主路由器、從路由器反饋智能設(shè)備標(biāo)識,讓新的主路由器對應(yīng)保存。同時(shí),服務(wù)器端也會更新智能設(shè)備標(biāo)識對應(yīng)的主路由器,保證后續(xù)數(shù)據(jù)的精確發(fā)送。

備用主路由器會定時(shí)給主路由器發(fā)送心跳報(bào)文,主路由器接收到心中報(bào)文后,會發(fā)送心中響應(yīng)報(bào)文,通過心跳報(bào)文來實(shí)現(xiàn)備用主路由器監(jiān)聽主路由器的工作狀態(tài)是否正常,若出現(xiàn)問題,讓優(yōu)先級最高的備用主路由器立馬成為新的主路由器,保證正常的數(shù)據(jù)傳輸。

備用主路由器的存在給整個集群數(shù)據(jù)傳輸?shù)姆€(wěn)定性提供了保證。

優(yōu)選地,所述步驟s530之后還包括:步驟s600當(dāng)所述源ip地址和所述端口ip地址一致時(shí),服務(wù)器與所述當(dāng)前路由器建立備用長連接,且將所述當(dāng)前路由器設(shè)置為備用主路由器;步驟s610當(dāng)所述源ip地址和所述端口ip地址不一致時(shí),服務(wù)器將所述當(dāng)前路由器設(shè)置為從路由器。

具體的,源ip地址和端口ip地址一致,說明當(dāng)前路由器的wan口ip地址為公網(wǎng)ip,具有成為主路由器的資格,但在已經(jīng)存在了主路由器時(shí),可以作為備用主路由器存在。因此,服務(wù)器將當(dāng)前路由器設(shè)置為備用主路由器,并建立備用長連接。

而源ip地址和端口ip地址不一致,說明當(dāng)前路由器的wan口ip地址為私網(wǎng)ip地址,不適合作為主路由器,因此,服務(wù)器將其設(shè)置為從路由器,讓主路由器來實(shí)現(xiàn)服務(wù)器與此從路由器之間的數(shù)據(jù)傳輸。

在本發(fā)明的另一個實(shí)施例中,如圖2所示,一種長連接的建立方法,包括:

步驟s100服務(wù)器接收當(dāng)前路由器發(fā)送的長連接請求報(bào)文;

步驟s200根據(jù)所述長連接請求報(bào)文,服務(wù)器得到所述當(dāng)前路由器的源ip地址和端口ip地址;

步驟s300根據(jù)所述源ip地址,服務(wù)器獲取所述當(dāng)前路由器所處的位置區(qū)域信息;

步驟s400當(dāng)所述源ip地址和所述端口ip地址一致、且所述位置區(qū)域信息對應(yīng)的位置區(qū)域中無主路由器時(shí),服務(wù)器與所述當(dāng)前路由器建立長連接,并將所述當(dāng)前路由器設(shè)置為主路由器。

步驟s500當(dāng)所述位置區(qū)域信息對應(yīng)的位置區(qū)域中存在主路由器時(shí),服務(wù)器將存在的所述主路由器的端口ip地址發(fā)送給所述當(dāng)前路由器;

步驟s510所述當(dāng)前路由器根據(jù)所述主路由器的端口ip地址,與所述主路由器建立長連接;步驟s510進(jìn)一步包括:步驟s511當(dāng)所述當(dāng)前路由器和主路由器建立長連接后,所述主路由器為所述當(dāng)前路由器分配身份標(biāo)識;步驟s520當(dāng)所述位置區(qū)域信息對應(yīng)的位置區(qū)域中還存在備用主路由器時(shí),服務(wù)器將存在的所述備用主路由器的端口ip地址發(fā)送給所述當(dāng)前路由器;步驟s530所述當(dāng)前路由器根據(jù)所述備用主路由器的端口ip地址,與所述備用主路由器建立備用長連接;

步驟s600當(dāng)所述源ip地址和所述端口ip地址一致時(shí),服務(wù)器與所述當(dāng)前路由器建立備用長連接,且將所述當(dāng)前路由器設(shè)置為備用主路由器;步驟s610當(dāng)所述源ip地址和所述端口ip地址不一致時(shí),服務(wù)器將所述當(dāng)前路由器設(shè)置為從路由器。

具體的,本實(shí)施例通過設(shè)置一個主路由器、若干個備用主路由器、若干個從路由器建立集群,服務(wù)器只與一個主路由器建立長連接,從而降低服務(wù)器的帶寬和性能消耗。另外,備用主路由器會服務(wù)器和各從路由器建立備用長連接,在主路由器宕機(jī)時(shí),成為新的主路由器,保證此集群數(shù)據(jù)傳輸?shù)姆€(wěn)定性。

在本發(fā)明的另一個實(shí)施例中,如圖3所示,一種長連接的通信方法,包括:步驟s10當(dāng)接收到智能終端發(fā)送的控制指令信息時(shí),服務(wù)器解析所述控制指令信息,得到控制指令和設(shè)備標(biāo)識;步驟s20服務(wù)器將所述控制指令信息發(fā)送給所述設(shè)備標(biāo)識對應(yīng)的主路由器;步驟s30當(dāng)主路由器接收到所述控制指令信息時(shí),主路由器將所述控制指令信息發(fā)送給所述設(shè)備標(biāo)識對應(yīng)的智能設(shè)備。

具體的,智能設(shè)備(即智能家居設(shè)備)可以通過用戶的手機(jī)、平板電腦等移動終端進(jìn)行遠(yuǎn)程控制。例如:用戶想通過自己的手機(jī)遠(yuǎn)程控制家里的智能電視機(jī)。當(dāng)智能設(shè)備處于上述建立的集群時(shí),手機(jī)會把控制指令信息發(fā)送給服務(wù)器,服務(wù)器根據(jù)控制指令信息得到智能電視機(jī)的設(shè)備標(biāo)識,查找對應(yīng)的主路由器,把此控制指令信息轉(zhuǎn)發(fā)給主路由器,再由主路由器轉(zhuǎn)發(fā)此控制指令信息給智能電視機(jī)(假設(shè)此智能電視機(jī)是直接連接在主路由器上的)。

在本發(fā)明的另一個實(shí)施例中,如圖4所示,一種長連接的通信方法,包括:

步驟s10當(dāng)接收到智能終端發(fā)送的控制指令信息時(shí),服務(wù)器解析所述控制指令信息,得到控制指令和設(shè)備標(biāo)識;

步驟s20服務(wù)器將所述控制指令信息發(fā)送給所述設(shè)備標(biāo)識對應(yīng)的主路由器;

步驟s30當(dāng)主路由器接收到所述控制指令信息時(shí),主路由器將所述控制指令信息發(fā)送給所述設(shè)備標(biāo)識對應(yīng)的智能設(shè)備;

所述步驟s30具體包括:步驟s31主路由器將所述控制指令信息發(fā)送給所述設(shè)備標(biāo)識對應(yīng)的備用主路由器或從路由器;步驟s32備用主路由器或從路由器將所述控制指令信息發(fā)送給所述設(shè)備標(biāo)識對應(yīng)的智能設(shè)備。

具體的,假設(shè)智能電視機(jī)是連接在從路由器或備用主路由器上,那么主路由器接收服務(wù)器轉(zhuǎn)發(fā)的控制指令信息時(shí),會根據(jù)控制指令信息中的設(shè)備標(biāo)識查找對應(yīng)的備用主路由器或從路由器,再將此控制指令信息轉(zhuǎn)發(fā)給對應(yīng)的備用主路由器或從路由器,再由備用主路由器或從路由器轉(zhuǎn)頭給智能電視機(jī)。

當(dāng)智能設(shè)備連入上述的集群時(shí),因只有一個主路由器與服務(wù)器建立長連接,因此,數(shù)據(jù)的傳輸需要通過主路由器來一級級轉(zhuǎn)發(fā),降低了服務(wù)器長時(shí)間與各個智能設(shè)備保持長連接的性能消耗,提高了服務(wù)器的工作性能。

在本發(fā)明的另一個實(shí)施例中,當(dāng)某個智能設(shè)備發(fā)送報(bào)文給服務(wù)器時(shí),主要經(jīng)過以下幾個步驟(這里主要是從智能設(shè)備連接到從路由器或備用主路由器的角度說明):

1.智能設(shè)備發(fā)送報(bào)文給從/備用主路由器,報(bào)文中包含智能設(shè)備的智能設(shè)備標(biāo)識,即deviceid。

2.從/備用主路由器接受到該報(bào)文后,在報(bào)文上包裹一層,加上主路由器為它分配的身份標(biāo)識,表明該智能設(shè)備在該從/備用主路由器下。

3.從/備用主路由器將報(bào)文發(fā)送給主路由器,主路由器將報(bào)文再次封裝,加上主路由器的身份標(biāo)識,表明該從/備用主路由器在該主路由器下,然后發(fā)送給云服務(wù)。

在本發(fā)明的另一個實(shí)施例中,服務(wù)器接收到主路由器發(fā)送的報(bào)文后,將響應(yīng)報(bào)文發(fā)送給智能設(shè)備,主要經(jīng)過以下幾個步驟:

1.服務(wù)器根據(jù)主路由器的身份標(biāo)識,將報(bào)文發(fā)送給主路由器。

2.主路由器解析報(bào)文,得到智能設(shè)備標(biāo)識,根據(jù)智能設(shè)備標(biāo)識得到對應(yīng)的從/備用主路由器,然后將報(bào)文轉(zhuǎn)發(fā)給從/備用主路由器

3.從/備用主路由器解析報(bào)文,得到智能設(shè)備的智能設(shè)備標(biāo)識(deviceid號),然后將報(bào)文轉(zhuǎn)發(fā)給智能設(shè)備。

在本發(fā)明的另一個實(shí)施例中,如圖5所示,一種長連接的建立通信系統(tǒng),其特征在于,包括:服務(wù)器,至少一個路由器。所述服務(wù)器10包括:

服務(wù)器接收模塊11,用于接收當(dāng)前路由器發(fā)送的長連接請求報(bào)文;其中,將當(dāng)前發(fā)送所述長連接請求報(bào)文的路由器作為當(dāng)前路由器;

服務(wù)器解析模塊12,與所述服務(wù)器接收模塊電連接,用于根據(jù)所述長連接請求報(bào)文,得到所述當(dāng)前路由器的源ip地址和端口ip地址;

服務(wù)器獲取模塊13,與所述服務(wù)器解析模塊電連接,用于根據(jù)所述源ip地址,獲取所述當(dāng)前路由器所處的位置區(qū)域信息;

服務(wù)器連接模塊14,與所述服務(wù)器獲取模塊13和所述服務(wù)器解析模塊12電連接,當(dāng)所述源ip地址和所述端口ip地址一致、且所述位置區(qū)域信息對應(yīng)的位置區(qū)域中無主路由器時(shí),所述服務(wù)器連接模塊用于與所述當(dāng)前路由器建立長連接;

服務(wù)器設(shè)置模塊15,與所述服務(wù)器獲取模塊和所述服務(wù)器解析模塊電連接,當(dāng)所述源ip地址和所述端口ip地址一致、且所述位置區(qū)域信息對應(yīng)的位置區(qū)域中無主路由器時(shí),所述服務(wù)器設(shè)置模塊用于將所述當(dāng)前路由器設(shè)置為主路由器。

具體的,智能設(shè)備為智能家居設(shè)備,例如:智能電視機(jī)、智能空調(diào)等,智能設(shè)備一般都會通過家庭路由器,與其后臺的服務(wù)器通信連接。本實(shí)施例中,利用家庭路由器作為數(shù)據(jù)傳輸?shù)娜肟?,即若此家庭路由器的wan口ip地址為公網(wǎng)ip,可以將此家庭路由器設(shè)置為主路由器(或備用主路由器),若將其設(shè)置為主路由器的話,服務(wù)器那邊可以只與此主路由器建立長連接,而接入此主路由器的智能設(shè)備可以將報(bào)文發(fā)送給主路由器,再由主路由器通過與服務(wù)器的長連接端口轉(zhuǎn)發(fā)給服務(wù)器。

當(dāng)前路由器發(fā)送給服務(wù)器的長連接請求報(bào)文中,包括了當(dāng)前路由器的wan口ip地址(即端口ip地址);而服務(wù)器在接收到長連接請求報(bào)文時(shí),可以通過報(bào)文的傳輸路徑提取出當(dāng)前路由器的源ip地址。當(dāng)端口ip地址和源ip地址一致時(shí),則說明當(dāng)前路由器的wan口ip地址為公網(wǎng)ip地址,具有被設(shè)為備主路由器的資格。

可以預(yù)先設(shè)置不同的位置區(qū)域信息,例如:a區(qū)域、b區(qū)域、c區(qū)域。當(dāng)獲取了當(dāng)前路由器的源ip地址時(shí),可以根據(jù)此源ip地址判斷當(dāng)前路由器所述的位置,從而得到對應(yīng)的位置區(qū)域信息,例如,判斷當(dāng)前路由器在a區(qū)域。然后獲取a區(qū)域中的集群信息,即判斷a區(qū)域是否已經(jīng)存在主路由器,如果不存在的話,就說明a區(qū)域沒有集群,可以將(具有公網(wǎng)ip地址的)當(dāng)前路由器設(shè)置為主路由器,為后續(xù)建立集群打下基礎(chǔ)。這里的集群是指同一個區(qū)域的路由器可以組建一個集群,一個集群中只有一臺主路由器,例如:a區(qū)域可以通過一個主路由器建立集群。

服務(wù)器只與主路由器建立長連接,即以這個主路由器為主的集群中與智能設(shè)備有關(guān)的數(shù)據(jù)都是通過此主路由器與服務(wù)器的長連接通信接口實(shí)現(xiàn)的傳輸。這樣的話,服務(wù)器那邊可以只與此主路由器建立長連接,由主路由器將數(shù)據(jù)傳輸給正確的智能設(shè)備。

若當(dāng)前路由器被設(shè)置為主路由器后,它會打開自己的長連接端口(例如:tcp8100),便于后續(xù)從路由器、備用主路由器與它的長連接。

本實(shí)施例中,在一個區(qū)域建立一個集群,一個集群中設(shè)置一個主路由器,服務(wù)器只與主路由器建立長連接,由主路由器將數(shù)據(jù)發(fā)送給對應(yīng)的智能設(shè)備。這種方式大大降低了與服務(wù)器建立長連接的設(shè)備,在保證數(shù)據(jù)正確傳輸?shù)耐瑫r(shí),也降低了服務(wù)器的帶寬占用率,且減小了服務(wù)器的性能消耗。

優(yōu)選地,如圖6所示,所述服務(wù)器還包括:服務(wù)器發(fā)送模塊16,與所述服務(wù)器獲取模塊13電連接,當(dāng)所述位置區(qū)域信息對應(yīng)的位置區(qū)域中存在主路由器時(shí),所述服務(wù)器發(fā)送模塊將存在的所述主路由器的端口ip地址發(fā)送給所述當(dāng)前路由器;每個所述路由器20包括:路由接收模塊21,路由連接模塊22。

所述當(dāng)前路由器的路由接收模塊,用于接收所述服務(wù)器發(fā)送的主路由器的端口ip地址;所述當(dāng)前路由器的路由連接模塊,用于根據(jù)所述主路由器的端口ip地址,與所述主路由器建立長連接。

具體的,若當(dāng)前路由器所處的位置區(qū)域中已經(jīng)存在了主路由器,說明集群已經(jīng)建立,那么當(dāng)前路由器就需要與主路由器建立長連接,實(shí)現(xiàn)數(shù)據(jù)的傳輸。

例如:當(dāng)前路由器也在a區(qū)域,a區(qū)域已經(jīng)存在一個主路由器了,那么服務(wù)器會把這個主路由器的端口ip地址發(fā)送給當(dāng)前路由器,當(dāng)前路由器會向主路由器發(fā)送長連接請求報(bào)文,當(dāng)主路由器同意后,當(dāng)前路由器就會接入到主路由器的長連接端口(例如:tcp8100)。

本實(shí)施例中,若當(dāng)前路由器所處的區(qū)域中已經(jīng)存在了一個主路由器,那么當(dāng)前路由器不再與服務(wù)器建立長連接,而是與主路由器建立長連接,從而降低服務(wù)器的性能消耗。

優(yōu)選地,每個所述路由器還包括:路由分配模塊23。

所述主路由器的路由分配模塊,當(dāng)所述當(dāng)前路由器和主路由器建立長連接后,所述主路由器的路由分配模塊用于為所述當(dāng)前路由器分配身份標(biāo)識。

具體的,當(dāng)前路由器與主路由器建立長連接后,主路由器會為當(dāng)前路由器分配身份標(biāo)識,便于后續(xù)數(shù)據(jù)的正確傳輸。

需要注意的是,長連接請求報(bào)文中還包括:智能設(shè)備標(biāo)識(即智能家居設(shè)備的id)。當(dāng)服務(wù)器接到連接請求報(bào)文時(shí),先判斷當(dāng)前路由器所處的位置區(qū)域中是否有主路由器,如果有的話,會把智能設(shè)備標(biāo)識與存在的主路由器對應(yīng)保存,同時(shí)會把主路由器的端口ip地址反饋給當(dāng)前路由器,讓當(dāng)前路由器與主路由器建立長連接。同理,當(dāng)前路由器向主路由器發(fā)送長連接請求報(bào)文時(shí),主路由器會為當(dāng)前路由器分配身份標(biāo)識,并將此身份標(biāo)識與智能設(shè)備標(biāo)識對應(yīng)保存,便于后續(xù)的數(shù)據(jù)傳輸。

主路由器為當(dāng)前路由器分配身份標(biāo)識,保證了同一集群中數(shù)據(jù)傳輸?shù)臏?zhǔn)確性。

優(yōu)選地,服務(wù)器發(fā)送模塊16,進(jìn)一步用于當(dāng)所述位置區(qū)域信息對應(yīng)的位置區(qū)域中還存在備用主路由器時(shí),將存在的所述備用主路由器的端口ip地址發(fā)送給所述當(dāng)前路由器;所述當(dāng)前路由器的路由連接模塊,進(jìn)一步用于根據(jù)所述備用主路由器的端口ip地址,與所述備用主路由器建立備用長連接。

優(yōu)選地,服務(wù)器設(shè)置模塊15,進(jìn)一步用于當(dāng)所述源ip地址和所述端口ip地址一致、且所述位置區(qū)域信息對應(yīng)的位置區(qū)域中有主路由器時(shí),將所述當(dāng)前路由器設(shè)置為備用主路由器;以及,當(dāng)所述源ip地址和所述端口ip地址不一致時(shí),將所述當(dāng)前路由器設(shè)置為從路由器。

服務(wù)器連接模塊14,進(jìn)一步用于當(dāng)所述源ip地址和所述端口ip地址一致、且所述位置區(qū)域信息對應(yīng)的位置區(qū)域中有主路由器時(shí),與所述當(dāng)前路由器建立備用長連接。

優(yōu)選地,每個路由器還包括:路由發(fā)送模塊24。

服務(wù)器接收模塊11,進(jìn)一步用于接收智能終端發(fā)送的控制指令信息;服務(wù)器解析模塊12,進(jìn)一步用于解析所述控制指令信息,得到控制指令和設(shè)備標(biāo)識;服務(wù)器發(fā)送模塊16,進(jìn)一步用于將所述控制指令信息發(fā)送給所述設(shè)備標(biāo)識對應(yīng)的主路由器。

所述主路由器的路由接收模塊,進(jìn)一步用于接收服務(wù)器發(fā)送的所述控制指令信息;所述主路由器的路由發(fā)送模塊,用于將所述控制指令信息發(fā)送給所述設(shè)備標(biāo)識對應(yīng)的智能設(shè)備。

優(yōu)選地,所述主路由器的路由發(fā)送模塊,進(jìn)一步用于將所述控制指令信息發(fā)送給所述設(shè)備標(biāo)識對應(yīng)的備用主路由器或從路由器;所述備用主路由器或所述從路由器的路由發(fā)送模塊,用于將所述控制指令信息發(fā)送給所述設(shè)備標(biāo)識對應(yīng)的智能設(shè)備。

具體的,此系統(tǒng)實(shí)施例的具體實(shí)施過程與上述方法實(shí)施例中的具體實(shí)施過程相同,在此不再詳細(xì)描述。

如圖7所示,一種長連接的建立通信系統(tǒng),包括:一個服務(wù)器10,一個主路由器201,兩個備用主路由器202,一個從路由器203,四個智能設(shè)備301。

服務(wù)器與主路由器201建立長連接;兩個備用主路由器202與服務(wù)器建立備用長連接、與主路由器201建立長連接,兩個備用主路由器之間建立備用長連接;從路由器203與主路由器201建立長連接、與兩個備用主路由器建立備用長連接;兩個智能設(shè)備301連接于從路由器203下;一個智能設(shè)備301連接于主路由器201下,一個智能設(shè)備連接于其中一個備用主路由器202下。

如圖8所示,主路由器與服務(wù)器建立長連接的過程為:

1、當(dāng)前路由器(即圖中的主路由器201)發(fā)送長連接請求報(bào)文(包括了自己的wan口ip地址);

1.1、服務(wù)器判斷是否為公網(wǎng)ip;

1.2、若為公網(wǎng)ip,則判斷是否有合適的集群加入(即其所在的位置區(qū)域中是否存在主路由器);

1.3、沒有主路由器,將當(dāng)前路由器設(shè)置為主路由器。

2、主路由器與服務(wù)器建立長連接;

2.1、服務(wù)器確認(rèn)長連接。

3、主路由器打開自己的長連接端口;

4、主路由器初始化完成;

4.1、服務(wù)器確認(rèn)主路由器初始化完成。

如圖9所示,從路由器與主路由器建立長連接的過程為:

5、當(dāng)前路由器(即圖中的從路由器203)發(fā)送長連接請求報(bào)文(包括了自己的wan口ip地址);

5.1服務(wù)器判斷為私網(wǎng)ip,因此當(dāng)前路由器可以作為從路由器進(jìn)行后續(xù)的處理;

5.2服務(wù)器尋找合適的集群(即通過當(dāng)前路由器的位置區(qū)域信息,查找對應(yīng)的主路由器);

6、服務(wù)器將主路由器的端口ip地址發(fā)送給當(dāng)前路由器(即從路由器);

7、當(dāng)前路由器(即從路由器)接入到主路由器的長連接端口;

7.1主路由器為當(dāng)前路由器(即從路由器)分配身份標(biāo)識。

應(yīng)當(dāng)說明的是,上述實(shí)施例均可根據(jù)需要自由組合。以上所述僅是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進(jìn)和潤飾,這些改進(jìn)和潤飾也應(yīng)視為本發(fā)明的保護(hù)范圍。

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1