一種網(wǎng)絡(luò)接入設(shè)備緩沖的非對(duì)稱(chēng)長(zhǎng)連接方法及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及網(wǎng)絡(luò)接入設(shè)備的技術(shù)領(lǐng)域,特別是涉及一種網(wǎng)絡(luò)接入設(shè)備緩沖的非對(duì)稱(chēng)長(zhǎng)連接方法及系統(tǒng)。
【背景技術(shù)】
[0002]短連接是指通訊雙方有數(shù)據(jù)交互時(shí),就建立一個(gè)連接,數(shù)據(jù)發(fā)送完成后,則斷開(kāi)此連接,即每次連接只完成一項(xiàng)業(yè)務(wù)的發(fā)送。長(zhǎng)連接是指在一個(gè)連接上可以連續(xù)發(fā)送多個(gè)數(shù)據(jù)包,在連接保持期間,如果沒(méi)有數(shù)據(jù)包發(fā)送,需要雙方發(fā)鏈路檢測(cè)包。
[0003]長(zhǎng)連接是TCP內(nèi)網(wǎng)穿透的重要方法,其點(diǎn)到點(diǎn)通信的一般過(guò)程包括以下步驟:
[0004](I)客戶(hù)端綁定賬號(hào),登陸時(shí)搜索服務(wù)器并建立長(zhǎng)連接;
[0005](2)服務(wù)器更新客戶(hù)端的在線狀態(tài)和公網(wǎng)地址,并做集群同步;
[0006](3)客戶(hù)端通過(guò)客戶(hù)端-服務(wù)器-客戶(hù)端的路徑進(jìn)行內(nèi)容轉(zhuǎn)發(fā);
[0007](4)客戶(hù)端下線,服務(wù)器關(guān)閉長(zhǎng)連接,更新客戶(hù)端的在線狀態(tài),并做集群同步。
[0008]因此,長(zhǎng)連接能夠保持客戶(hù)端和服務(wù)器的連接狀態(tài),用于信息推送和收發(fā)頻繁的場(chǎng)景。例如:即時(shí)通訊頂、社區(qū)網(wǎng)絡(luò)服務(wù)SNS、數(shù)據(jù)庫(kù)等。智能終端可以安裝應(yīng)用程序,在沒(méi)有數(shù)據(jù)流量時(shí),長(zhǎng)連接?;钔ㄐ乓簿驮絹?lái)越多。但實(shí)際上,空口資源和電池續(xù)航能力都是有限的,從而影響了其實(shí)用性。
[0009]申請(qǐng)?zhí)枮?01210173132.5、發(fā)明名稱(chēng)為《基于Proxy代理服務(wù)器的長(zhǎng)連接方法》中國(guó)發(fā)明專(zhuān)利公開(kāi)一種基于Proxy代理服務(wù)器的長(zhǎng)連接方法,在智能終端與服務(wù)器之間介入Proxy代理服務(wù)器,其長(zhǎng)連接方法包括:連接的建立、連接的使用和連接的釋放三個(gè)部分。用Proxy代替智能終端與服務(wù)器維持長(zhǎng)連接,而智能終端可以斷開(kāi)網(wǎng)絡(luò)連接,進(jìn)入休眠狀態(tài),不僅能極大地改善現(xiàn)有的智能手機(jī)耗電量過(guò)大的現(xiàn)狀,而且能充分利用移動(dòng)運(yùn)營(yíng)商的分配的帶寬資源,緩解保持連接對(duì)移動(dòng)運(yùn)營(yíng)商造成的空口資源消耗過(guò)重的問(wèn)題。。
[0010]但是,長(zhǎng)連接?;钔ㄐ烹m然可以打通防火墻的端口閉塞,但占用了無(wú)效網(wǎng)絡(luò)帶寬,需要進(jìn)行優(yōu)化。
【發(fā)明內(nèi)容】
[0011]鑒于以上所述現(xiàn)有技術(shù)的缺點(diǎn),本發(fā)明的目的在于提供一種網(wǎng)絡(luò)接入設(shè)備緩沖的非對(duì)稱(chēng)長(zhǎng)連接方法及系統(tǒng),通過(guò)網(wǎng)絡(luò)接入設(shè)備和智能終端應(yīng)用程序間的協(xié)商機(jī)制,使得內(nèi)網(wǎng)和外網(wǎng)使用不同的心跳頻率,從而降低網(wǎng)絡(luò)接入設(shè)備和智能終端的功耗負(fù)載,減少內(nèi)網(wǎng)空口帶寬占用。
[0012]為實(shí)現(xiàn)上述目的及其他相關(guān)目的,本發(fā)明提供一種網(wǎng)絡(luò)接入設(shè)備緩沖的非對(duì)稱(chēng)長(zhǎng)連接方法及系統(tǒng),包括以下步驟:步驟S1、智能終端應(yīng)用程序與外網(wǎng)服務(wù)器建立長(zhǎng)連接;步驟S2、應(yīng)用程序向網(wǎng)絡(luò)接入設(shè)備請(qǐng)求內(nèi)網(wǎng)和外網(wǎng)的心跳周期;步驟S3、網(wǎng)絡(luò)接入設(shè)備確認(rèn)請(qǐng)求,記錄應(yīng)用程序的地址信息,并回復(fù)內(nèi)網(wǎng)心跳周期協(xié)商結(jié)果;步驟S4、應(yīng)用程序向網(wǎng)絡(luò)接入設(shè)備確認(rèn)是否執(zhí)行內(nèi)網(wǎng)心跳周期協(xié)商結(jié)果;若是,轉(zhuǎn)入步驟S5 ;若否,拒絕此次內(nèi)網(wǎng)心跳周期的協(xié)商結(jié)果;步驟S5、網(wǎng)絡(luò)接入設(shè)備緩沖代理應(yīng)用程序向外網(wǎng)發(fā)送心跳包。
[0013]根據(jù)上述的網(wǎng)絡(luò)接入設(shè)備緩沖的非對(duì)稱(chēng)長(zhǎng)連接方法,其中:所述智能終端包括智能手機(jī)、平板電腦和PDA。
[0014]根據(jù)上述的網(wǎng)絡(luò)接入設(shè)備緩沖的非對(duì)稱(chēng)長(zhǎng)連接方法,其中:所述步驟S3中,心跳周期協(xié)商結(jié)果包括:拒絕內(nèi)網(wǎng)心跳周期、同意內(nèi)網(wǎng)心跳周期和修改內(nèi)網(wǎng)心跳周期。
[0015]根據(jù)上述的網(wǎng)絡(luò)接入設(shè)備緩沖的非對(duì)稱(chēng)長(zhǎng)連接方法,其中:所述步驟S5中,網(wǎng)絡(luò)接入設(shè)備無(wú)線網(wǎng)絡(luò)收到智能終端應(yīng)用程序的心跳包后,更新本地緩沖并按照外網(wǎng)心跳周期發(fā)送心跳包,在內(nèi)網(wǎng)周期對(duì)應(yīng)的外網(wǎng)發(fā)送次數(shù)完成時(shí)停止發(fā)送。
[0016]根據(jù)上述的網(wǎng)絡(luò)接入設(shè)備緩沖的非對(duì)稱(chēng)長(zhǎng)連接方法,其中:所述網(wǎng)絡(luò)接入設(shè)備采用路由器或無(wú)線訪問(wèn)接入點(diǎn)。
[0017]同時(shí),本發(fā)明還提供一種網(wǎng)絡(luò)接入設(shè)備緩沖的非對(duì)稱(chēng)長(zhǎng)連接系統(tǒng),包括網(wǎng)絡(luò)連接模塊、心跳頻率請(qǐng)求模塊、協(xié)商結(jié)果回復(fù)模塊、協(xié)商結(jié)果確認(rèn)模塊和網(wǎng)絡(luò)接入設(shè)備緩沖代理豐吳塊;
[0018]所述網(wǎng)絡(luò)連接模塊用于在智能終端應(yīng)用程序與外網(wǎng)服務(wù)器建立長(zhǎng)連接;
[0019]所述心跳頻率請(qǐng)求模塊用于向網(wǎng)絡(luò)接入設(shè)備請(qǐng)求內(nèi)網(wǎng)和外網(wǎng)的心跳周期;
[0020]所述協(xié)商結(jié)果回復(fù)模塊用于通過(guò)網(wǎng)絡(luò)接入設(shè)備確認(rèn)請(qǐng)求,記錄應(yīng)用程序的地址信息,并回復(fù)內(nèi)網(wǎng)心跳周期協(xié)商結(jié)果。
[0021]所述協(xié)商結(jié)果確認(rèn)模塊用于向網(wǎng)絡(luò)接入設(shè)備確認(rèn)是否執(zhí)行內(nèi)網(wǎng)心跳周期協(xié)商結(jié)果,若是,通過(guò)網(wǎng)絡(luò)接入設(shè)備緩沖代理應(yīng)用程序向外網(wǎng)發(fā)送心跳包;若否,拒絕此次內(nèi)網(wǎng)心跳周期的協(xié)商結(jié)果;
[0022]所述網(wǎng)絡(luò)接入設(shè)備緩沖代理模塊用于通過(guò)網(wǎng)絡(luò)接入設(shè)備緩沖代理應(yīng)用程序向外網(wǎng)發(fā)送心跳包。
[0023]根據(jù)上述的網(wǎng)絡(luò)接入設(shè)備緩沖的非對(duì)稱(chēng)長(zhǎng)連接系統(tǒng),其中:所述智能終端包括智能手機(jī)、平板電腦和PDA。
[0024]根據(jù)上述的網(wǎng)絡(luò)接入設(shè)備緩沖的非對(duì)稱(chēng)長(zhǎng)連接系統(tǒng),其中:所述心跳周期協(xié)商結(jié)果包括:拒絕內(nèi)網(wǎng)心跳周期、同意內(nèi)網(wǎng)心跳周期和修改內(nèi)網(wǎng)心跳周期。
[0025]根據(jù)上述的網(wǎng)絡(luò)接入設(shè)備緩沖的非對(duì)稱(chēng)長(zhǎng)連接系統(tǒng),其中:所述網(wǎng)絡(luò)接入設(shè)備緩沖中代理模塊,網(wǎng)絡(luò)接入設(shè)備無(wú)線網(wǎng)絡(luò)收到智能終端應(yīng)用程序的心跳包后,更新本地緩沖并按照外網(wǎng)心跳周期發(fā)送心跳包,在內(nèi)網(wǎng)周期對(duì)應(yīng)的外網(wǎng)發(fā)送次數(shù)完成時(shí)停止發(fā)送。
[0026]根據(jù)上述的網(wǎng)絡(luò)接入設(shè)備緩沖的非對(duì)稱(chēng)長(zhǎng)連接系統(tǒng),其中:所述網(wǎng)絡(luò)接入設(shè)備采用路由器或無(wú)線訪問(wèn)接入點(diǎn)。
[0027]如上所述,本發(fā)明的網(wǎng)絡(luò)接入設(shè)備緩沖的非對(duì)稱(chēng)長(zhǎng)連接方法及系統(tǒng),具有以下有益效果:
[0028](I)內(nèi)網(wǎng)和外網(wǎng)使用不同的心跳頻率,從而減少了內(nèi)網(wǎng)帶寬的使用;
[0029](2)提尚了智能終端的續(xù)航能力;
[0030](3)周期性長(zhǎng)連接關(guān)閉能夠減少轉(zhuǎn)發(fā)端口的暴露時(shí)間,提高了安全性。
【附圖說(shuō)明】
[0031]圖1顯示為本發(fā)明的網(wǎng)絡(luò)接入設(shè)備緩沖的非對(duì)稱(chēng)長(zhǎng)連接方法的流程圖;
[0032]圖2顯示為本發(fā)明的網(wǎng)絡(luò)接入設(shè)備緩沖的非對(duì)稱(chēng)長(zhǎng)連接系統(tǒng)的結(jié)構(gòu)示意圖。
[0033]元件標(biāo)號(hào)說(shuō)明
[0034]I 網(wǎng)絡(luò)連接模塊
[0035]2 心跳頻率請(qǐng)求模塊
[0036]3 協(xié)商結(jié)果回復(fù)模塊
[0037]4 協(xié)商結(jié)果確認(rèn)模塊
[0038]5 網(wǎng)絡(luò)接入設(shè)備緩沖代理模塊
【具體實(shí)施方式】
[0039]以下通過(guò)特定的具體實(shí)例說(shuō)明本發(fā)明的實(shí)施方式,本領(lǐng)域技術(shù)人員可由本說(shuō)明書(shū)所揭露的內(nèi)容輕易地了解本發(fā)明的其他優(yōu)點(diǎn)與功效。本發(fā)明還可以通過(guò)另外不同的【具體實(shí)施方式】加以實(shí)施或應(yīng)用,本說(shuō)明書(shū)中的各項(xiàng)細(xì)節(jié)也可以基于不同觀點(diǎn)與應(yīng)用,在沒(méi)有背離本發(fā)明的精神下進(jìn)行各種修飾或改變。
[0040]需要說(shuō)明的是,本實(shí)施例中所提供的圖示僅以示意方式說(shuō)明本發(fā)明的基本構(gòu)想,遂圖式中僅顯示與本發(fā)明中有關(guān)的組件而非按照實(shí)際實(shí)施時(shí)的組件數(shù)目、形狀及尺寸繪制,其實(shí)際實(shí)施時(shí)各組件的型態(tài)、數(shù)量及比例可為一種隨意的改變,且其組件布局型態(tài)也可能更為復(fù)雜。
[0041]本發(fā)明的網(wǎng)絡(luò)接入設(shè)備緩沖的非對(duì)稱(chēng)長(zhǎng)連接方法及系統(tǒng)中,網(wǎng)絡(luò)接入設(shè)備無(wú)線網(wǎng)絡(luò)收到智能終端應(yīng)用程序的心跳包后,更新本地緩存并按照外網(wǎng)心跳周期處理,在內(nèi)網(wǎng)周期對(duì)應(yīng)的外網(wǎng)發(fā)送次數(shù)完成時(shí)停止發(fā)送。通常,內(nèi)網(wǎng)心跳周期可以是外網(wǎng)心跳周期的10-60倍。因此,本發(fā)明明顯提高了空口帶寬效率,延長(zhǎng)了智能終端的電池續(xù)航時(shí)間;同時(shí)長(zhǎng)連接可以周期性關(guān)閉重建以完成端口變更,從而避免了開(kāi)放端口帶來(lái)的網(wǎng)絡(luò)攻擊。
[0042]參照?qǐng)D1,本發(fā)明的網(wǎng)絡(luò)接入設(shè)備緩沖的非對(duì)稱(chēng)長(zhǎng)連接方法包括以下步驟:
[0043]步驟S1、智能終端應(yīng)用程序與外網(wǎng)服務(wù)器建立長(zhǎng)連接。
[0044]需要說(shuō)明的是,本發(fā)明中所涉及的智能終端包括并不限于智能手機(jī)、平板電腦、PDA,以及其他具有數(shù)據(jù)處理功能的終端設(shè)備。通常,智能終端是指具有獨(dú)立的操作系統(tǒng),可以由用戶(hù)自行安裝軟件、游戲等第三方服務(wù)商提供的程序,通過(guò)此類(lèi)程序來(lái)不斷對(duì)終端設(shè)備的功能進(jìn)行擴(kuò)充,并可以通過(guò)移動(dòng)通訊網(wǎng)絡(luò)來(lái)實(shí)現(xiàn)無(wú)線網(wǎng)絡(luò)接入的這樣一類(lèi)終端設(shè)備。
[0045]優(yōu)選地,本發(fā)明的網(wǎng)絡(luò)接入設(shè)備緩沖的非對(duì)稱(chēng)長(zhǎng)連接方法尤其可用于無(wú)線網(wǎng)絡(luò)連接的情況下,即智能終端應(yīng)用程序通過(guò)路由器與外網(wǎng)服務(wù)器建立無(wú)線連接。當(dāng)然,在條件允許的情況下,也智能終端應(yīng)用程序也可以通過(guò)有線方式與外網(wǎng)服務(wù)器建立連接。
[0046]步驟S2、應(yīng)用程序向網(wǎng)絡(luò)接入設(shè)備請(qǐng)求內(nèi)網(wǎng)和外網(wǎng)的心跳周期。
[0047]其中,網(wǎng)絡(luò)接入設(shè)備可以采用路由器或無(wú)線訪問(wèn)接入點(diǎn)(Wireless AccessPoint)ο
[0048]具體地,智能終端應(yīng)用程序向網(wǎng)絡(luò)接入設(shè)備請(qǐng)求內(nèi)網(wǎng)和外網(wǎng)心跳周期的代碼如下:
[0049]typedef struct {
[0050]uint8_t outerKeepalivelntvl ;/* 外網(wǎng)心跳周期-秒 */
[0051]uint8_t innerKeepalivelntvl ;/* 內(nèi)網(wǎng)心跳周期-秒 */
[0052]} KeepAliveRequestMsg ;
[0053]步驟S3、網(wǎng)絡(luò)接入設(shè)備確認(rèn)請(qǐng)求,記錄應(yīng)用程序的地址信息,并回復(fù)內(nèi)網(wǎng)心跳周期協(xié)商結(jié)果。
[0054]具體地,網(wǎng)絡(luò)接入設(shè)備向智能終端應(yīng)用程序回復(fù)內(nèi)網(wǎng)心跳周期協(xié)商結(jié)果的代碼如下:
[0055]typedef struct {
[0056]uint8_t result ;/*心跳周期協(xié)商結(jié)果*/
[0057]uint8_t innerKeepalivelntvl ;/* 內(nèi)網(wǎng)心跳周期-秒 */
[0058]} KeepAliveResponseMsg ;
[0059]其中,心跳周期協(xié)