本申請(qǐng)涉及通信,尤其是涉及一種心跳?;罘椒?、系統(tǒng)、裝置及設(shè)備。
背景技術(shù):
1、在客戶端和服務(wù)器的通信模型下,客戶端與服務(wù)器建立tcp(transmissioncontrol?protocol,傳輸控制協(xié)議)長(zhǎng)連接之后,可以在tcp長(zhǎng)連接上連續(xù)發(fā)送多個(gè)數(shù)據(jù)包,在tcp長(zhǎng)連接保持期間,若沒(méi)有數(shù)據(jù)包發(fā)送,則需要通過(guò)心跳?;顖?bào)文來(lái)維持客戶端與服務(wù)器之間的tcp長(zhǎng)連接。比如說(shuō),可以根據(jù)經(jīng)驗(yàn)配置心跳?;顖?bào)文的間隔時(shí)長(zhǎng),基于該間隔時(shí)長(zhǎng)周期性發(fā)送心跳?;顖?bào)文。
2、若該間隔時(shí)長(zhǎng)設(shè)置的比較小,則會(huì)導(dǎo)致發(fā)送大量心跳?;顖?bào)文,浪費(fèi)大量帶寬資源,增加設(shè)備功耗。若該間隔時(shí)長(zhǎng)設(shè)置的比較大,則會(huì)導(dǎo)致tcp長(zhǎng)連接被異常刪除,無(wú)法在客戶端與服務(wù)器之間傳輸數(shù)據(jù)包,導(dǎo)致通信異常。比如說(shuō),客戶端與服務(wù)器建立tcp長(zhǎng)連接時(shí),tcp長(zhǎng)連接會(huì)經(jīng)過(guò)多個(gè)網(wǎng)絡(luò)設(shè)備,如基站、路由器等,為了實(shí)現(xiàn)最大資源利用率,當(dāng)心跳保活報(bào)文的間隔時(shí)長(zhǎng)大于網(wǎng)絡(luò)設(shè)備的無(wú)數(shù)據(jù)通信鏈路拆除時(shí)長(zhǎng)時(shí),網(wǎng)絡(luò)設(shè)備就會(huì)刪除這個(gè)tcp長(zhǎng)連接。
技術(shù)實(shí)現(xiàn)思路
1、本申請(qǐng)?zhí)峁┮环N心跳?;罘椒?,客戶端與服務(wù)器之間建立tcp長(zhǎng)連接,所述方法應(yīng)用于所述客戶端,所述方法包括:
2、向所述服務(wù)器發(fā)送心跳?;铋g隔參數(shù)請(qǐng)求消息,所述心跳?;铋g隔參數(shù)請(qǐng)求消息包括所述客戶端當(dāng)前所在位置對(duì)應(yīng)的參考經(jīng)緯度;
3、接收所述服務(wù)器返回的心跳?;铋g隔參數(shù)響應(yīng)消息,所述心跳?;铋g隔參數(shù)響應(yīng)消息包括候選心跳保活間隔參數(shù),所述候選心跳保活間隔參數(shù)是與所述參考經(jīng)緯度滿足距離約束條件的目標(biāo)經(jīng)緯度對(duì)應(yīng)的心跳?;铋g隔參數(shù);
4、基于所述候選心跳保活間隔參數(shù)向所述服務(wù)器發(fā)送心跳?;顖?bào)文,所述心跳?;顖?bào)文用于維持所述客戶端與所述服務(wù)器之間的tcp長(zhǎng)連接。
5、本申請(qǐng)?zhí)峁┮环N心跳?;钕到y(tǒng),所述系統(tǒng)包括客戶端和服務(wù)器,所述客戶端與所述服務(wù)器之間建立tcp長(zhǎng)連接,其中:
6、所述客戶端,用于向所述服務(wù)器發(fā)送心跳保活間隔參數(shù)請(qǐng)求消息,所述心跳保活間隔參數(shù)請(qǐng)求消息包括所述客戶端當(dāng)前所在位置對(duì)應(yīng)的參考經(jīng)緯度;
7、所述服務(wù)器,用于基于所述參考經(jīng)緯度與映射表內(nèi)每個(gè)經(jīng)緯度之間的距離確定最小距離,所述映射表包括經(jīng)緯度與心跳?;铋g隔參數(shù)的對(duì)應(yīng)關(guān)系;若所述最小距離小于預(yù)設(shè)閾值,則將所述最小距離對(duì)應(yīng)的經(jīng)緯度確定為與所述參考經(jīng)緯度滿足距離約束條件的目標(biāo)經(jīng)緯度,并從所述映射表內(nèi)查詢所述目標(biāo)經(jīng)緯度對(duì)應(yīng)的候選心跳?;铋g隔參數(shù),并向所述客戶端發(fā)送心跳?;铋g隔參數(shù)響應(yīng)消息,所述心跳?;铋g隔參數(shù)響應(yīng)消息包括所述候選心跳?;铋g隔參數(shù);
8、所述客戶端,用于在接收到所述心跳保活間隔參數(shù)響應(yīng)消息之后,基于所述候選心跳?;铋g隔參數(shù)向所述服務(wù)器發(fā)送心跳保活報(bào)文;其中,所述心跳?;顖?bào)文用于維持所述客戶端與所述服務(wù)器之間的tcp長(zhǎng)連接。
9、本申請(qǐng)?zhí)峁┮环N心跳?;钛b置,客戶端與服務(wù)器之間建立tcp長(zhǎng)連接,所述裝置應(yīng)用于所述客戶端,所述裝置包括:
10、發(fā)送模塊,用于向所述服務(wù)器發(fā)送心跳保活間隔參數(shù)請(qǐng)求消息,所述心跳?;铋g隔參數(shù)請(qǐng)求消息包括所述客戶端當(dāng)前所在位置對(duì)應(yīng)的參考經(jīng)緯度;
11、接收模塊,用于接收服務(wù)器返回的心跳?;铋g隔參數(shù)響應(yīng)消息,所述心跳?;铋g隔參數(shù)響應(yīng)消息包括候選心跳保活間隔參數(shù),所述候選心跳?;铋g隔參數(shù)是與參考經(jīng)緯度滿足距離約束條件的目標(biāo)經(jīng)緯度對(duì)應(yīng)的心跳?;铋g隔參數(shù);
12、所述發(fā)送模塊,還用于基于所述候選心跳?;铋g隔參數(shù)向所述服務(wù)器發(fā)送心跳保活報(bào)文,所述心跳?;顖?bào)文用于維持客戶端與服務(wù)器之間的tcp長(zhǎng)連接。
13、本申請(qǐng)?zhí)峁┮环N客戶端設(shè)備,包括:處理器和機(jī)器可讀存儲(chǔ)介質(zhì),所述機(jī)器可讀存儲(chǔ)介質(zhì)存儲(chǔ)有能夠被所述處理器執(zhí)行的機(jī)器可執(zhí)行指令;所述處理器用于執(zhí)行機(jī)器可執(zhí)行指令,以實(shí)現(xiàn)上述示例的心跳?;罘椒ā?/p>
14、由以上技術(shù)方案可見(jiàn),本申請(qǐng)實(shí)施例中,可以維護(hù)經(jīng)緯度與心跳?;铋g隔參數(shù)(如間隔時(shí)長(zhǎng))的對(duì)應(yīng)關(guān)系,可以基于客戶端當(dāng)前所在位置對(duì)應(yīng)的參考經(jīng)緯度,從所有經(jīng)緯度中找到與參考經(jīng)緯度滿足距離約束條件的目標(biāo)經(jīng)緯度,繼而將目標(biāo)經(jīng)緯度對(duì)應(yīng)的心跳?;铋g隔參數(shù)作為客戶端的候選心跳?;铋g隔參數(shù),由客戶端基于這個(gè)候選心跳?;铋g隔參數(shù)向服務(wù)器發(fā)送心跳?;顖?bào)文。候選心跳?;铋g隔參數(shù)是與客戶端當(dāng)前所在位置最匹配的間隔時(shí)長(zhǎng),從而為客戶端動(dòng)態(tài)配置匹配的間隔時(shí)長(zhǎng)。能夠避免間隔時(shí)長(zhǎng)過(guò)小導(dǎo)致的發(fā)送大量心跳保活報(bào)文的問(wèn)題,減少電池類設(shè)備(即客戶端)被喚醒通信的次數(shù),增加設(shè)備的續(xù)航時(shí)間。此外,能夠避免間隔時(shí)長(zhǎng)過(guò)大導(dǎo)致的tcp長(zhǎng)連接被異常刪除的問(wèn)題,能夠使得服務(wù)器和客戶端相互正常通信,保證tcp長(zhǎng)連接的穩(wěn)定性。
1.一種心跳保活方法,其特征在于,客戶端與服務(wù)器之間建立tcp長(zhǎng)連接,所述方法應(yīng)用于所述客戶端,所述方法包括:
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述服務(wù)器維護(hù)有映射表,所述映射表包括經(jīng)緯度與心跳?;铋g隔參數(shù)的對(duì)應(yīng)關(guān)系;基于所述參考經(jīng)緯度與映射表內(nèi)每個(gè)經(jīng)緯度之間的距離,若最小距離小于預(yù)設(shè)閾值,則所述最小距離對(duì)應(yīng)的經(jīng)緯度是與所述參考經(jīng)緯度滿足距離約束條件的目標(biāo)經(jīng)緯度。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述基于所述候選心跳?;铋g隔參數(shù)向所述服務(wù)器發(fā)送心跳?;顖?bào)文之后,所述方法還包括:
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,
5.根據(jù)權(quán)利要求3或4所述的方法,其特征在于,
6.根據(jù)權(quán)利要求3或4所述的方法,其特征在于,所述基于所述目標(biāo)心跳?;铋g隔參數(shù)向所述服務(wù)器發(fā)送心跳保活報(bào)文之后,所述方法還包括:
7.根據(jù)權(quán)利要求3或4所述的方法,其特征在于,所述基于所述目標(biāo)心跳保活間隔參數(shù)向所述服務(wù)器發(fā)送心跳?;顖?bào)文之后,所述方法還包括:
8.一種心跳?;钕到y(tǒng),其特征在于,所述系統(tǒng)包括客戶端和服務(wù)器,所述客戶端與所述服務(wù)器之間建立tcp長(zhǎng)連接,其中:
9.一種心跳?;钛b置,其特征在于,客戶端與服務(wù)器之間建立tcp長(zhǎng)連接,所述裝置應(yīng)用于所述客戶端,所述裝置包括:
10.一種客戶端設(shè)備,其特征在于,包括:處理器和機(jī)器可讀存儲(chǔ)介質(zhì),所述機(jī)器可讀存儲(chǔ)介質(zhì)存儲(chǔ)有能夠被所述處理器執(zhí)行的機(jī)器可執(zhí)行指令;所述處理器用于執(zhí)行機(jī)器可執(zhí)行指令,以實(shí)現(xiàn)權(quán)利要求1-7任一項(xiàng)所述的方法。