專利名稱:心跳周期的獲取方法及終端、服務器的制作方法
技術領域:
本發(fā)明涉及通信技術,尤其涉及心跳周期的獲取方法及終端、服務器。
背景技術:
隨著通信技術的發(fā)展,終端上集成了越來越多的應用程序,例如:MSN、QQ等即時通信(Instant Messenger, IM)應用程序。上述IM應用程序在運行過程中,當沒有數(shù)據(jù)傳送時,其對應的客戶端通過周期性向服務器發(fā)送心跳(Heart Beat,HB)消息,以通過網(wǎng)絡側設備向服務器告知自己的在線狀態(tài),保持會話的連接。心跳周期依賴心跳穿越的網(wǎng)絡的配置情況,心跳周期過小,會嚴重影響終端耗電,增加網(wǎng)絡流量,影響網(wǎng)絡各網(wǎng)元以及系統(tǒng)性能;但心跳周期過大,可能會超過網(wǎng)絡中某些網(wǎng)元設置的無數(shù)據(jù)傳送檢測超時時間,導致會話連接被釋放而達不到連接?;钅康?。例如:網(wǎng)絡中部署的防火墻或者網(wǎng)絡地址轉換(Network Address Translation, NAT)設備,為了保證內部網(wǎng)絡的安全性,防火墻的會話保持時間設置較短,一般傳輸控制協(xié)議(TransmissionControl Protocol, TCP)會話保持時間為20 30分鐘,超過此時間若會話一直無數(shù)據(jù)傳送則會話信息會被強制釋放掉,這樣后面的所有消息都將被丟棄。為了避免上述情況的發(fā)生,現(xiàn)有技術中,終端通過逐步調整心跳周期,去逐漸逼近網(wǎng)絡能支持的最佳心跳周期,以自動適應不同網(wǎng)絡配置情況。然而,現(xiàn)有技術中,終端逐步調整心跳周期需要與服務器之間進行多次心跳消息交互,從而導致了終端的電量消耗,同時增加了網(wǎng)絡側設備的信令負荷,影響系統(tǒng)性能。
發(fā)明內容
本發(fā)明提供心跳周期的獲取方法及終端、服務器,用以確定與現(xiàn)有網(wǎng)絡最匹配的心跳周期,同時減少終端的電量消耗和網(wǎng)絡側設備的信令負荷。一方面提供了一種心跳周期的獲取方法,包括:終端向服務器發(fā)送第一心跳消息,所述第一心跳消息中包含所述終端的位置信息;所述終端接收所述服務器發(fā)送的與所述位置信息對應的心跳周期,所述心跳周期為所述服務器將所述位置信息與預先建立的心跳周期表匹配成功時,從所述心跳周期表中獲得的。另一方面提供了一種心跳周期的獲取方法,包括:服務器接收終端發(fā)送的第一心跳消息,所述第一心跳消息中包含所述終端的位置
信息;所述服務器將所述位置信息與預先建立的心跳周期表進行匹配;若匹配成功,所述服務器獲得與所述位置信息對應的心跳周期,并向所述終端發(fā)送所述心跳周期。另一方面提供了一種終端,包括:
第一發(fā)送單元,用于向服務器發(fā)送第一心跳消息,所述第一心跳消息中包含所述終端的位置信息;接收單元,用于接收所述服務器發(fā)送的與所述位置信息對應的心跳周期,所述心跳周期為所述服務器將所述位置信息與預先建立的心跳周期表匹配成功時,從所述心跳周期表中獲得的。另一方面提供了一種服務器,包括:接收單元,用于接收終端發(fā)送的第一心跳消息,所述第一心跳消息中包含所述終端的位置信息;匹配單元,用于將所述位置信息與預先建立的心跳周期表進行匹配;發(fā)送單元,用于當所述匹配單元匹配成功時,獲得與所述位置信息對應的心跳周期,并向所述終端發(fā)送所述心跳周期。由上述技術方案可知,本發(fā)明實施例通過終端向服務器發(fā)送包含該終端的位置信息的第一心跳消息,直接從服務器獲取與上述位置信息對應的心跳周期,避免了每個終端在確定與現(xiàn)有網(wǎng)絡最匹配的心跳周期時,都需要與服務器進行多次心跳消息交互,從而減少了終端的電量消耗和網(wǎng)絡側設備的信令負荷。
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術中的技術方案,下面將對實施例或現(xiàn)有技術描述中所需要使用的附圖作一簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1為現(xiàn)有技術中終端進行心跳周期自適應協(xié)商過程的示意圖;圖2為本發(fā)明一實施例提供的心跳周期的獲取方法的流程示意圖;圖3為本發(fā)明另一實施例提供的心跳周期的獲取方法的流程示意圖;圖4為本發(fā)明另一實施例提供的終端的結構示意圖;圖5為本發(fā)明另一實施例提供的終端的結構示意圖;圖6為本發(fā)明另一實施例提供的終端的結構示意圖;圖7為本發(fā)明另一實施例提供的終端的結構示意圖;圖8為本發(fā)明另一實施例提供的服務器的結構示意圖;圖9為本發(fā)明另一實施例提供的服務器的結構示意圖;圖10為本發(fā)明另一實施例提供的服務器的結構示意圖。
具體實施例方式為使本發(fā)明實施例的目的、技術方案和優(yōu)點更加清楚,下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領域普通技術人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。為使本領域一般技術人員更好的了解本發(fā)明實施例提供的技術方案,對現(xiàn)有技術方案做一些簡單的介紹,如圖1所示,現(xiàn)有技術方案中,每個終端都會在初始階段和服務器進行心跳周期自適應協(xié)商過程,通過反復嘗試各種心跳周期來最終協(xié)商一個與現(xiàn)有網(wǎng)絡最匹配的心跳周期。具體地,如圖1所示,假設網(wǎng)絡中防火墻或NAT設備的會話保持時間間隔設置為13分鐘,終端進行心跳周期自適應協(xié)商過程如下:101、終端在T = O時刻向服務器,例如推送網(wǎng)關(Push GW),發(fā)送心跳消息,初始假定一個心跳周期15分鐘,攜帶參數(shù)要求服務器收到后15分鐘回心跳響應(OK)消息。(每次發(fā)消息都首先會在網(wǎng)絡中建立端到端連接,例如需要擴展認證協(xié)議-傳輸層安全(Extensible Authentication Protocol-Transport Layer Security, EAP-TLS)認證,建立TLS連接等。這個細節(jié)不在這里詳細描述,后續(xù)的發(fā)消息都會有這個過程)。102、服務器在T = 15分鐘時刻回心跳響應消息,此時由于超過了防火墻或NAT設備的會話保持時間,所以從服務器下來的心跳響應消息在防火墻或NAT設備被丟棄。103、終端在T = 15分鐘時刻第一次心跳超時時,發(fā)現(xiàn)沒有接收到心跳響應消息,則判定心跳周期不能大于15分鐘,則調整心跳周期為10分鐘,重新向服務器發(fā)送心跳消息,攜帶參數(shù)要求服務器收到后10分鐘回心跳響應消息。104、服務器在T = 25分鐘時刻回心跳響應消息,順利到達終端;105、終端在T = 25分鐘時刻第二次心跳超時時,發(fā)現(xiàn)已經接收到心跳響應消息,則判定心跳周期不小于10分鐘,則調整心跳周期為12分鐘,重新向服務器發(fā)送心跳消息,攜帶參數(shù)要求服務器收到后12分鐘回心跳響應消息。106、服務器在T = 37分鐘時刻回心跳響應消息,順利到達終端;至此,終端在T = 37分鐘時刻第三次心跳超時時,發(fā)現(xiàn)已經接收到心跳響應消息,則判定心跳周期不小于12分鐘,則還會繼續(xù)調整心跳周期為14分鐘重新進行心跳嘗試,最后發(fā)現(xiàn)心跳周期不能大于14分鐘,則最終確定心跳周期為12分鐘,則可以結束心跳周期自適應協(xié)商過程,以后都用這個心跳周期進行心跳消息發(fā)送。通過以上心跳周期自適應協(xié)商過程,通過不斷嘗試去逐漸逼近網(wǎng)絡能支持的最佳心跳周期,可以自動適應不同網(wǎng)絡配置情況??梢钥闯?,現(xiàn)有技術這種心跳周期自適應協(xié)商過程涉及多次消息交互,收斂較慢,期間還涉及多次認證以及連接重建過程,整個過程不僅造成終端耗電,還會增加網(wǎng)絡消息流量。有鑒于此,本發(fā)明實施例提供一種心跳周期獲取方法、終端及服務器。本發(fā)明的技術方案,可以應用于各種通信系統(tǒng),例如:全球移動通信系統(tǒng)(GlobalSystem for Mobile Communications,簡稱 GSM)、通用分組無線業(yè)務(General PacketRadio Service,簡稱 GPRS)系統(tǒng)、碼分多址(Code Division Multiple Access,簡稱 CDMA)系統(tǒng)、寬帶碼分多址(Wideband Code Division Multiple Access,簡稱 WCDMA)系統(tǒng)、長期演進(Long Term Evolution,簡稱 LTE)系統(tǒng)、無線局域網(wǎng)絡(Wireless Local AreaNetwork,簡稱WLAN)系統(tǒng)、有線通信系統(tǒng)等。圖2為本發(fā)明一實施例提供的心跳周期的獲取方法的流程示意圖,如圖2所示,本實施例的心跳周期的獲取方法可以包括:201、終端向服務器發(fā)送第一心跳消息,上述第一心跳消息中包含上述終端的位置
信息;其中,上述終端的位置信息可以包括但不限于終端的地理位置信息或終端的網(wǎng)絡位置信息。
需要說明的是,在一個網(wǎng)絡區(qū)域覆蓋范圍內,其所經過的網(wǎng)元設備基本一致,且一個網(wǎng)絡覆蓋區(qū)域內的所有終端其心跳周期也基本一致,因此,本發(fā)明實施例充分利用這一特性,對同一網(wǎng)絡覆蓋區(qū)域內,只用一個終端去進行智能心跳協(xié)商過程,其他終端都可以直接使用此心跳周期結果,或利用此心跳周期結果加速智能心跳協(xié)商效率。在一個實施例中,第一心跳消息可以是在原心跳消息的基礎上進行擴展,增加位置信息字段后得到的消息,也可以是單獨的一個位置消息,該位置消息包括但不限于終端的地理位置信息或終端的網(wǎng)絡位置信息。在本實施例的一個可選實施方式中,終端的地理位置信息可以為終端的全球定位系統(tǒng)(Global Positioning System,簡稱 GPS)信息。在本實施例的一個可選實施方式中,終端的網(wǎng)絡位置信息可以為
終端的IP地址;或者終端所在小區(qū)的小區(qū)標識(CELL ID);或者終端所在路由區(qū)的路由區(qū)域碼(Routing Area Code,簡稱RAC);或者終端所在位置區(qū)的位置區(qū)域碼(Location Area Code,簡稱LAC);或者終端所接入的接入點名稱(Access Point Name,簡稱APN);或者CDMA系統(tǒng)中,終端的系統(tǒng)識別碼(System ID,簡稱SID)和網(wǎng)絡識別碼(NetworkID,簡稱NID);或者WLAN系統(tǒng)中,終端所接入的無線保真接入點(Wireless Fidelity Access Point,簡稱WiFi AP)的標識,例如:服務集標識(Service Set ID,簡稱SSID)或媒體訪問控制(Medium Access Control,簡稱 MAC)地址。202、上述終端接收上述服務器發(fā)送的與上述位置信息對應的心跳周期,上述心跳周期為上述服務器將上述位置信息與預先建立的心跳周期表匹配成功時,從上述心跳周期表中獲得的。在本實施例的一個可選實施方式中,上述終端可以接收上述服務器通過心跳響應消息發(fā)送的與上述位置信息對應的心跳周期,即終端接收上述服務器發(fā)送的心跳響應消息,該心跳響應消息中包含與上述位置信息對應的心跳周期。其中,心跳周期表可以由服務器建立,用來記錄位置信息及對應的心跳周期,具體形態(tài)可以為現(xiàn)有技術中各種類型的數(shù)據(jù)庫或文件等,此處不再贅述。在202之后,上述終端還可以進一步將上述心跳周期作為發(fā)送周期,周期性地向上述服務器發(fā)送第二心跳消息,上述第二心跳消息用于向服務器告知上述終端的在線狀態(tài)。在本實施例的一個可選實施方式中,上述終端可以不調整上述心跳周期,將上述不調整的心跳周期作為發(fā)送周期,周期性地向上述服務器發(fā)送第二心跳消息。在本實施例的另一個可選實施方式中,考慮到傳輸路徑上的時延差異,這個差異一般在秒級左右,所以可以設置一個時間偏差量,上述終端還可以進一步將上述心跳周期調整一個時間偏差量(例如:10s、12s或15s等),比如將上述心跳周期減去10s、12s或15s,并將上述調整后的心跳周期作為發(fā)送周期,周期性地向上述服務器發(fā)送第二心跳消息,能夠有效避免某些終端由于傳輸時延而導致的心跳周期不可用的問題。在上述可選實施方式中,由于網(wǎng)絡組網(wǎng)或者參數(shù)配置都可能被修改,使得在上述終端向上述服務器發(fā)送第二心跳消息之后,終端可能在預先設定的時間內無法接收到服務器返回的心跳響應消息。在上述終端向上述服務器發(fā)送第二心跳消息之后,若上述終端在預先設定的時間(例如:10分鐘、12分鐘或14分鐘等,該預先設定的時間需要根據(jù)應用程序的會話設置或者TCP會話保持時間的設置來確定)內沒有接收到上述服務器發(fā)送的上述第二心跳消息對應的心跳響應,上述終端向上述服務器發(fā)送指示信息,該指示消息指示與上述位置信息對應的心跳周期無效,以使得上述服務器更新上述位置信息對應的心跳周期。在202之后,上述終端還可以進一步將上述心跳周期作為初始心跳周期,與上述服務器進行交互,以執(zhí)行心跳周期自適應協(xié)商過程,確定與上述終端所在網(wǎng)絡匹配的心跳周期,能夠有效減少終端與服務器之間心跳消息交互的次數(shù),其中心跳周期的自適應協(xié)商過程在本發(fā)明實施例中已經做了詳細描述,此處不再贅述。本實施例中,通過終端向服務器發(fā)送包含該終端的位置信息的第一心跳消息,直接從服務器獲取與上述位置信息對應的心跳周期,避免了每個終端在確定與現(xiàn)有網(wǎng)絡最匹配的心跳周期時,都需要與服務器進行多次心跳消息交互,從而減少了終端的電量消耗和網(wǎng)絡側設備的信令負荷。圖3為本發(fā)明另一實施例提供的心跳周期的獲取方法的流程示意圖,如圖3所示,本實施例的心跳周期的獲取方法可以包括:301、服務器接收終端發(fā)送的第一心跳消息,上述第一心跳消息中包含上述終端的位置信息;其中,上述終端的位置信息可以包括但不限于終端的地理位置信息或終端的網(wǎng)絡位置信息。在一個實施例中,第一心跳消息可以是在原心跳消息的基礎上進行擴展,增加位置信息字段后得到的消息,也可以是單獨的一個位置消息,該位置消息包括但不限于終端的地理位置信息或終端的網(wǎng)絡位置信息。在本實施例的一個可選實施方式中,終端的地理位置信息可以為終端的全球定位系統(tǒng)(Global Positioning System,簡稱 GPS)信息。在本實施例的一個可選實施方式中,終端的網(wǎng)絡位置信息可以為終端的IP地址;或者終端所在小區(qū)的小區(qū)標識(CELL ID);或者終端所在路由區(qū)的路由區(qū)域碼(Routing Area Code,簡稱RAC);或者終端所在位置區(qū)的位置區(qū)域碼(Location Area Code,簡稱LAC);或者終端所接入的接入點名稱(Access Point Name,簡稱APN);或者CDMA系統(tǒng)中,終端的系統(tǒng)識別碼(System ID,簡稱SID)和網(wǎng)絡識別碼(NetworkID,簡稱NID);或者WLAN系統(tǒng)中,終端所接入的無線保真接入點(Wireless Fidelity Access Point,簡稱WiFi AP)的標識,例如:服務集標識(Service Set ID,簡稱SSID)或媒體訪問控制(Medium Access Control,簡稱 MAC)地址。302、上述服務器將上述位置信息與預先建立的心跳周期表進行匹配;其中,心跳周期表可以由服務器建立,用來記錄位置信息及對應的心跳周期,具體形態(tài)可以為現(xiàn)有技術中各種類型的數(shù)據(jù)庫或文件等,此處不再贅述。由于在一個網(wǎng)絡區(qū)域覆蓋范圍內,其所經過的網(wǎng)元設備基本一致,且一個網(wǎng)絡覆蓋區(qū)域內的所有終端其心跳周期也基本一致,因此,利用這一特性,對此網(wǎng)絡覆蓋區(qū)域內只要有一個終端去進行智能心跳協(xié)商過程,其他終端都可以直接使用此心跳周期結果,或利用此心跳周期結果加速智能心跳協(xié)商效率。在一個實施例中,服務器建立心跳周期表的基本過程為:根據(jù)終端的位置信息,與同一網(wǎng)絡覆蓋區(qū)域內的一個終端去進行智能心跳協(xié)商過程,得到與該位置信息對應的最佳心跳周期,并將該位置信息與最佳心跳周期關聯(lián),添加到心跳周期表;需要說明的是,由于考慮到精度需要,所以初始建立階段,可以使用粒度較小的位置信息,例如:終端所在小區(qū)的Cell ID作為位置信息。但是,這樣會形成海量的Cell ID與心跳周期的對應關系,從而會影響系統(tǒng)的存儲性能和查詢性能。在中期建立階段,則可以動態(tài)分析相鄰的位置之間的心跳周期的差異,若此該差異非常小,例如:相鄰的位置之間的心跳周期的差異小于預先設置的偏差閾值,則可以對這些位置進行合并,例如:將用一條LAC與心跳周期的對應關系代替多條Cell ID與心跳周期的對應關系,這樣,能夠有效提高系統(tǒng)的存儲性能和查詢性能。在一個實施例中,在進行匹配時,可以將獲取的位置信息作為鍵(key)值,采用hash (哈希)索引的方法與心跳周期表進行匹配,hash索引的方法作為一個具體的查找方式具有迅速查找的優(yōu)勢,能提高匹配速度??梢岳斫獾氖莌ash索引的方法并不是匹配的唯一實現(xiàn)方式,還可以采用二叉樹索引等其它索引或查找方法,故hash索引的方式作為一個舉例不應理解為對本發(fā)明實施例的限定。303、若匹配成功,上述服務器獲得與上述位置信息對應的心跳周期,并向上述終端發(fā)送上述心跳周期。在本實施例的一個可選實施方式中,上述服務器可以通過心跳響應消息向上述終端發(fā)送與上述位置信息對應的心跳周期,即上述服務器向上述終端發(fā)送心跳響應消息,該心跳響應消息中包含與上述位置信息對應的心跳周期。在本實施例的一個可選實施方式中,若匹配不成功,上述服務器還可以進一步將匹配不成功的位置信息及對應的心跳周期作為新的記錄添加到上述心跳周期表中。例如:上述服務器可以通過與上述終端進行心跳周期自適應協(xié)商過程,確定與上述終端所在網(wǎng)絡匹配的心跳周期;然后,上述服務器則可以進一步將上述位置信息與上述心跳周期進行關聯(lián),并添加到上述心跳周期表中。在303之后,上述服務器還可以進一步接收上述終端發(fā)送的第二心跳消息,并向上述終端返回與上述第二心跳消息對應的心跳響應,上述第二心跳消息用于向上述服務器告知上述終端的在線狀態(tài),且上述第二心跳消息的周期為上述心跳周期。在本實施例的一個可選實施方式中,上述終端可以不調整上述心跳周期,將上述不調整的心跳周期作為發(fā)送周期,周期性地向上述服務器發(fā)送第二心跳消息。在本實施例的另一個可選實施方式中,上述終端還可以進一步將上述心跳周期調整一個預先設置的時間偏差量(例如:10s、12s或15s),將上述調整后的心跳周期作為發(fā)送周期,周期性地向上述服務器發(fā)送第二心跳消息,能夠有效避免某些終端由于傳輸時延而導致的心跳周期不可用的問題。在上述可選實施方式中,由于網(wǎng)絡組網(wǎng)或者參數(shù)配置都可能被修改,使得在上述終端向上述服務器發(fā)送第二心跳消息之后,終端可能在預先設定的時間內無法接收到服務器返回的心跳響應消息。相應地,服務器還可以進一步接收上述終端發(fā)送的指示信息,更新上述位置信息對應的心跳周期,上述指示信息由上述終端在預先設定的時間(例如:10分鐘、12分鐘或14分鐘等,該預先設定的時間需要根據(jù)應用程序的會話設置或者TCP會話保持時間的設置來確定)內沒有接收到上述服務器發(fā)送的上述第二心跳消息對應的心跳響應時發(fā)送,用于通知上述服務器上述位置信息對應的心跳周期無效,詳細描述可以參見上述服務器建立心跳周期表的相關內容,此處不再贅述。在303之后,上述終端還可以進一步將上述心跳周期作為初始心跳周期,與上述服務器進行交互,以執(zhí)行心跳周期自適應協(xié)商過程,確定與上述終端所在網(wǎng)絡匹配的心跳周期,能夠有效減少終端與服務器之間心跳消息交互的次數(shù)。本實施例中,通過服務器接收終端發(fā)送的包含該終端的位置信息的第一心跳消息,并將上述位置信息與預先建立的心跳周期表進行匹配,若匹配成功,上述服務器則獲得與上述位置信息對應的心跳周期,并向上述終端發(fā)送上述心跳周期,使得上述終端能夠直接從服務器獲取與上述位置信息對應的心跳周期,避免了每個終端在確定與現(xiàn)有網(wǎng)絡最匹配的心跳周期時,都需要與服務器進行多次心跳消息交互,從而減少了終端的電量消耗和網(wǎng)絡側設備的信令負荷。需要說明的是:對于前述的各方法實施例,為了簡單描述,故將其都表述為一系列的動作組合,但是本領域技術人員應該知悉,本發(fā)明并不受所描述的動作順序的限制,因為依據(jù)本發(fā)明,某些步驟可以采用其他順序或者同時進行。其次,本領域技術人員也應該知悉,說明書中所描述的實施例均屬于優(yōu)選實施例,所涉及的動作和模塊并不一定是本發(fā)明所必須的。在上述實施例中,對各個實施例的描述都各有側重,某個實施例中沒有詳述的部分,可以參見其他實施例的相關描述。圖4為本發(fā)明另一實施例提供的終端的結構示意圖,如圖4所示,本實施例的終端可以包括第一發(fā)送單元41和接收單元42。其中,第一發(fā)送單元41用于向服務器發(fā)送第一心跳消息,上述第一心跳消息中包含上述終端的位置信息;接收單元42用于接收上述服務器發(fā)送的與上述位置信息對應的心跳周期,上述心跳周期為上述服務器將上述位置信息與預先建立的心跳周期表匹配成功時,從上述心跳周期表中獲得的。上述圖2對應的實施例中終端的功能可以由本實施例提供的終端實現(xiàn)。其中,上述終端的位置信息可以包括但不限于終端的地理位置信息或終端的網(wǎng)絡位置信息,詳細描述可以參見圖1對應的實施例中的相關內容,此處不再贅述。在一個實施例中,第一心跳消息可以是在原心跳消息的基礎上進行擴展,增加位置信息字段后得到的消息,也可以是單獨的一個位置消息,該位置消息包括但不限于終端的地理位置信息或終端的網(wǎng)絡位置信息??蛇x地,如圖5所示,本實施例中提供的終端還包括:第二發(fā)送單元51,第二發(fā)送單元51可以進一步將上述心跳周期作為發(fā)送周期,周期性地向上述服務器發(fā)送第二心跳消息,上述第二心跳消息用于向服務器告知上述終端的在線狀態(tài)。在本實施例的一個可選實施方式中,第二發(fā)送單元51具體可以不調整上述心跳周期,將上述不調整的心跳周期作為發(fā)送周期,周期性地向上述服務器發(fā)送第二心跳消息。
在本實施例的另一個可選實施方式中,第二發(fā)送單元51具體還可以進一步將上述心跳周期調整一個時間偏差量(例如:10秒、12s或15s等),將上述調整后的心跳周期作為發(fā)送周期,周期性地向上述服務器發(fā)送第二心跳消息,能夠有效避免某些終端由于傳輸時延而導致的心跳周期不可用的問題。在上述可選實施方式中,由于網(wǎng)絡組網(wǎng)或者參數(shù)配置都可能被修改,使得在第二發(fā)送單元51向上述服務器發(fā)送第二心跳消息之后,終端可能在預先設定的時間內無法接收到服務器返回的心跳響應消息。相應地,如圖6所示,本實施例提供的上述終端還可以進一步包括指示單元61,用于當上述終端在預先設定的時間(例如:10分鐘、12分鐘或14分鐘等,該預先設定的時間需要根據(jù)應用程序的會話設置或者TCP會話保持時間的設置來確定)內沒有接收到上述服務器發(fā)送的上述第二心跳消息對應的心跳響應時,向上述服務器發(fā)送指示信息,指示與上述位置信息對應的心跳周期無效,以使得上述服務器更新上述位置信息對應的心跳周期??蛇x地,如圖7所示,本實施例中的終端還包括:自適應單元71,自適自適應單元71進一步將上述心跳周期作為初始心跳周期,與上述服務器進行交互,以執(zhí)行心跳周期自適應協(xié)商過程,確定與上述終端所在網(wǎng)絡匹配的心跳周期,能夠有效減少終端與服務器之間心跳消息交互的次數(shù)。本實施例中,終端通過第一發(fā)送單元向服務器發(fā)送包含該終端的位置信息的第一心跳消息,使得接收單元能夠直接從服務器獲取與上述位置信息對應的心跳周期,避免了每個終端在確定與現(xiàn)有網(wǎng)絡最匹配的心跳周期時,都需要與服務器進行多次心跳消息交互,從而減少了終端的電量消耗和網(wǎng)絡側設備的信令負荷。圖8為本發(fā)明另一實施例提供的服務器的結構示意圖,如圖8所示,本實施例的服務器可以包括接收單元81、匹配單元82和發(fā)送單元83。其中,接收單元81用于接收終端發(fā)送的第一心跳消息,上述第一心跳消息中包含上述終端的位置信息;匹配單元82用于將上述位置信息與預先建立的心跳周期表進行匹配;發(fā)送單元83用于當匹配單元82匹配成功時,獲得與上述位置信息對應的心跳周期,并向上述終端發(fā)送上述心跳周期。上述圖3對應的實施例中服務器的功能可以由本實施例提供的服務器實現(xiàn)。其中,上述終端的位置信息可以包括但不限于終端的地理位置信息或終端的網(wǎng)絡位置信息,詳細描述可以參見圖2對應的實施例中的相關內容,此處不再贅述。在一個實施例中,第一心跳消息可以是在原心跳消息的基礎上進行擴展,增加位置信息字段后得到的消息,也可以是單獨的一個位置消息,該位置消息包括但不限于終端的地理位置信息或終端的網(wǎng)絡位置信息。在本實施例的一個可選實施方式中,如圖9所示,本實施例提供的上述服務器還可以進一步包括添加單元91,用于當匹配單元82匹配不成功時,將匹配單元82匹配不成功的位置信息及對應的心跳周期作為新的記錄添加到上述心跳周期表中。例如:如圖10所示,添加單元91具體可以包括:協(xié)商模塊1001和關聯(lián)模塊1002,其中,協(xié)商模塊1001用于與上述終端進行心跳周期自適應協(xié)商過程,確定與上述終端所在網(wǎng)絡匹配的心跳周期;關聯(lián)模塊1002用于將上述位置信息與上述心跳周期進行關聯(lián),并添加到上述心跳周期表中??蛇x地,本實施例中的接收單元81還可以進一步接收上述終端發(fā)送的第二心跳消息,并向上述終端返回與上述第二心跳消息對應的心跳響應,上述第二心跳消息用于向上述服務器告知上述終端的在線狀態(tài),且上述第二心跳消息的周期為上述心跳周期。在本實施例的一個可選實施方式中,上述終端可以不調整上述心跳周期,將上述不調整的心跳周期作為發(fā)送周期,周期性地向上述服務器發(fā)送第二心跳消息。在本實施例的另一個可選實施方式中,上述終端還可以進一步將上述心跳周期調整一個時間偏差量(例如:10秒、12s或15s等),將上述調整后的心跳周期作為發(fā)送周期,周期性地向上述服務器發(fā)送第二心跳消息,能夠有效避免某些終端由于傳輸時延而導致的心跳周期不可用的問題。在上述可選實施方式中,由于網(wǎng)絡組網(wǎng)或者參數(shù)配置都可能被修改,使得在上述終端向上述服務器發(fā)送第二心跳消息之后,終端可能在預先設定的時間內無法接收到服務器返回的心跳響應消息。相應地,本實施例中的接收單元81還可以進一步接收上述終端發(fā)送的指示信息,更新上述位置信息對應的心跳周期,上述指示信息由上述終端在預先設定的時間內沒有接收到上述服務器發(fā)送的上述第二心跳消息對應的心跳響應時發(fā)送,用于通知上述服務器上述位置信息對應的心跳周期無效。在本實施例的另一個可選實施方式中,上述終端還可以將上述心跳周期作為初始心跳周期,與上述服務器進行交互,以執(zhí)行心跳周期自適應協(xié)商過程,確定與上述終端所在網(wǎng)絡匹配的心跳周期,能夠有效減少終端與服務器之間心跳消息交互的次數(shù)。本實施例中,服務器通過接收單元接收終端發(fā)送的包含該終端的位置信息的第一心跳消息,并由匹配單元將上述位置信息與預先建立的心跳周期表進行匹配,若匹配單元匹配成功,發(fā)送單元則獲得與上述位置信息對應的心跳周期,并向上述終端發(fā)送上述心跳周期,使得上述終端能夠直接從服務器獲取與上述位置信息對應的心跳周期,避免了每個終端在確定與現(xiàn)有網(wǎng)絡最匹配的心跳周期時,都需要與服務器進行多次心跳消息交互,從而減少了終端的電量消耗和網(wǎng)絡側設備的信令負荷。所屬領域的技術人員可以清楚地了解到,為描述的方便和簡潔,上述描述的系統(tǒng),裝置和單元的具體工作過程,可以參考前述方法實施例中的對應過程,在此不再贅述。在本申請所提供的幾個實施例中,應該理解到,所揭露的系統(tǒng),裝置和方法,可以通過其它的方式實現(xiàn)。例如,以上所描述的裝置實施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實際實現(xiàn)時可以有另外的劃分方式,例如多個單元或組件可以結合或者可以集成到另一個系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機械或其它的形式。所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡單元上??梢愿鶕?jù)實際的需要選擇其中的部分或者全部單元來實現(xiàn)本實施例方案的目的。另外,在本發(fā)明各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。上述集成的單元既可以采用硬件的形式實現(xiàn),也可以采用硬件加軟件功能單元的形式實現(xiàn)。上述以軟件功能單元的形式實現(xiàn)的集成的單元,可以存儲在一個計算機可讀取存儲介質中。上述軟件功能單元存儲在一個存儲介質中,包括若干指令用以使得一臺計算機設備(可以是個人計算機,服務器,或者網(wǎng)絡設備等)執(zhí)行本發(fā)明各個實施例所述方法的部分步驟。而前述的存儲介質包括:U盤、移動硬盤、只讀存儲器(Read-Only Memory,簡稱ROM)、隨機存取存儲器(Random Access Memory,簡稱RAM)、磁碟或者光盤等各種可以存儲程序代碼的介質。最后應說明的是:以上實施例僅用以說明本發(fā)明的技術方案,而非對其限制;盡管參照前述實施例對本發(fā)明進行了詳細的說明,本領域的普通技術人員應當理解:其依然可以對前述各實施例所記載的技術方案進行修改,或者對其中部分技術特征進行等同替換;而這些修改或者替換,并不使相應技術方案的本質脫離本發(fā)明各實施例技術方案的精神和范圍。
權利要求
1.一種心跳周期的獲取方法,其特征在于,包括: 終端向服務器發(fā)送第一心跳消息,所述第一心跳消息中包含所述終端的位置信息; 所述終端接收所述服務器發(fā)送的與所述位置信息對應的心跳周期,所述心跳周期為所述服務器將所述位置信息與預先建立的心跳周期表匹配成功時,從所述心跳周期表中獲得的。
2.根據(jù)權利要求1所述的方法,其特征在于,所述終端接收所述服務器發(fā)送的與所述位置信息對應的心跳周期之后,還包括: 所述終端將所述心跳周期作為發(fā)送周期,周期性地向所述服務器發(fā)送第二心跳消息,所述第二心跳消息用于向所述服務器告知所述終端的在線狀態(tài)。
3.根據(jù)權利要求2所述的方法,其特征在于,所述終端將所述心跳周期作為發(fā)送周期,周期性地向所述服務器發(fā)送第二心跳消息,具體包括: 所述終端不調整所述心跳周期,將所述不調整的心跳周期作為發(fā)送周期,周期性地向所述服務器發(fā)送第二心跳消息,所述第二心跳消息用于向所述服務器告知所述終端的在線狀態(tài);或者 所述終端將所述心跳周期調整一個預先設置的時間偏差量,將所述調整后的心跳周期作為發(fā)送周期,周期性地向所述服務器發(fā)送第二心跳消息,所述第二心跳消息用于向所述服務器告知所述終端的在線狀態(tài)。
4.根據(jù)權利要求2或3所述的方法,其特征在于,所述終端將所述心跳周期作為發(fā)送周期,周期性地向所述服務器發(fā)送第二心跳消息之后,還包括: 若所述終端在預先設定的 時間內沒有接收到所述服務器發(fā)送的所述第二心跳消息對應的心跳響應,所述終端向所述服務器發(fā)送指示信息,所述指示消息用于指示與所述位置信息對應的心跳周期無效,以使得所述服務器更新所述位置信息對應的心跳周期。
5.根據(jù)權利要求1所述的方法,其特征在于,所述終端接收所述服務器發(fā)送的與所述位置信息對應的心跳周期之后,還包括: 所述終端將所述心跳周期作為初始心跳周期,與所述服務器進行交互,以執(zhí)行心跳周期自適應協(xié)商過程,確定與所述終端所在網(wǎng)絡匹配的心跳周期。
6.根據(jù)權利要求1 5任一權利要求所述的方法,其特征在于,所述位置信息包括所述終端的地理位置信息或所述終端的網(wǎng)絡位置信息。
7.—種心跳周期的獲取方法,其特征在于,包括: 服務器接收終端發(fā)送的第一心跳消息,所述第一心跳消息中包含所述終端的位置信息; 所述服務器將所述位置信息與預先建立的心跳周期表進行匹配; 若匹配成功,所述服務器獲得與所述位置信息對應的心跳周期,并向所述終端發(fā)送所述心跳周期。
8.根據(jù)權利要求7所述的方法,其特征在于,還包括: 若匹配不成功,所述服務器將匹配不成功的位置信息及對應的心跳周期作為新的記錄添加到所述心跳周期表中。
9.根據(jù)權利要求8所述的方法,其特征在于,所述服務器將匹配不成功的位置信息及對應的心跳周期作為新的記錄添加到所述心跳周期表中,具體包括:所述服務器與所述終端進行心跳周期自適應協(xié)商過程,確定與所述終端所在網(wǎng)絡匹配的心跳周期; 所述服務器將所述位置信息與所述心跳周期進行關聯(lián),并添加到所述心跳周期表中。
10.根據(jù)權利要求7 9任一權利要求所述的方法,其特征在于,所述服務器獲得與所述位置信息對應的心跳周期,并向所述終端發(fā)送所述心跳周期之后,還包括: 所述服務器接收所述終端發(fā)送的第二心跳消息,并向所述終端返回與所述第二心跳消息對應的心跳響應,所述第二心跳消息用于向所述服務器告知所述終端的在線狀態(tài),且所述第二心跳消息的周期為所述心跳周期。
11.根據(jù)權利要求10所述的方法,其特征在于,所述方法還包括: 所述服務器接收所述終端發(fā)送的指示信息,更新所述位置信息對應的心跳周期,所述指示信息由所述終端在預先設定的時間內沒有接收到所述服務器發(fā)送的所述第二心跳消息對應的心跳響應時發(fā)送,用于通知所述服務器所述位置信息對應的心跳周期無效。
12.根據(jù)權利要求7 11任一權利要求所述的方法,其特征在于,所述位置信息包括所述終端的地理位置信息或所述終端的網(wǎng)絡位置信息。
13.—種終端,其特征在于,包括: 第一發(fā)送單元,用于向服務器發(fā)送第一心跳 消息,所述第一心跳消息中包含所述終端的位置信息; 接收單元,用于接收所述服務器發(fā)送的與所述位置信息對應的心跳周期,所述心跳周期為所述服務器將所述位置信息與預先建立的心跳周期表匹配成功時,從所述心跳周期表中獲得的。
14.根據(jù)權利要求13所述的終端,其特征在于,還包括:第二發(fā)送單元,用于將所述心跳周期作為發(fā)送周期,周期性地向所述服務器發(fā)送第二心跳消息,所述第二心跳消息用于向所述服務器告知所述終端的在線狀態(tài)。
15.根據(jù)權利要求14所述的終端,其特征在于,所述第二發(fā)送單元具體用于: 不調整所述心跳周期,將所述不調整的心跳周期作為發(fā)送周期,周期性地向所述服務器發(fā)送第二心跳消息,所述第二心跳消息用于向所述服務器告知所述終端的在線狀態(tài);或者 將所述心跳周期調整一個預先設置的時間偏差量,將所述調整后的心跳周期作為發(fā)送周期,周期性地向所述服務器發(fā)送第二心跳消息,所述第二心跳消息用于向所述服務器告知所述終端的在線狀態(tài)。
16.根據(jù)權利要求14或15所述的終端,其特征在于,所述終端還包括指示單元,用于: 當所述終端在預先設定的時間內沒有接收到所述服務器發(fā)送的所述第二心跳消息對應的心跳響應時,向所述服務器發(fā)送指示信息,所述指示消息用于指示與所述位置信息對應的心跳周期無效,以使得所述服務器更新所述位置信息對應的心跳周期。
17.根據(jù)權利要求13所述的終端,其特征在于,還包括:自適應單元,用于將所述心跳周期作為初始心跳周期,與所述服務器進行交互,以執(zhí)行心跳周期自適應協(xié)商過程,確定與所述終端所在網(wǎng)絡匹配的心跳周期。
18.一種服務器,其特征在于,包括: 接收單元,用于接收終端發(fā)送的第一心跳消息,所述第一心跳消息中包含所述終端的位置信息; 匹配單元,用于將所述位置信息與預先建立的心跳周期表進行匹配; 發(fā)送單元,用于當所述匹配單元匹配成功時,獲得與所述位置信息對應的心跳周期,并向所述終端發(fā)送所述心跳周期。
19.根據(jù)權利要求18所述的服務器,其特征在于,所述服務器還包括添加單元,用于 當所述匹配單元匹配不成功時,將所述匹配單元匹配不成功的位置信息及對應的心跳周期作為新的記錄添加到所述心跳周期表中。
20.根據(jù)權利要求19所述的服務器,其特征在于,所述添加單元具體包括: 協(xié)商模塊,用于與所述終端進行心跳周期自適應協(xié)商過程,確定與所述終端所在網(wǎng)絡匹配的心跳周期; 關聯(lián)模塊,用于將所述位置信息與所述心跳周期進行關聯(lián),并添加到所述心跳周期表 中。
21.根據(jù)權利要求18 20任一權利要求所述的服務器,其特征在于,所述接收單元還用于, 接收所述終端發(fā)送的第二心跳消息,并向所述終端返回與所述第二心跳消息對應的心跳響應,所述第二心跳消息用于向所述服務器告知所述終端的在線狀態(tài),且所述第二心跳消息的周期為所述心跳周期。
22.根據(jù)權利要求21所述的服務器,其特征在于, 所述接收單元還用于接收所述終端發(fā)送的指示信息,更新所述位置信息對應的心跳周期,所述指示信息由所述終端在預先設定的時間內沒有接收到所述服務器發(fā)送的所述第二心跳消息對應的心跳響應時發(fā)送,用于通知所述服務器所述位置信息對應的心跳周期無效。
全文摘要
本發(fā)明提供心跳周期的獲取方法及終端、服務器。本發(fā)明通過終端向服務器發(fā)送包含該終端的位置信息的第一心跳消息,直接從服務器獲取與上述位置信息對應的心跳周期,避免了每個終端在確定與現(xiàn)有網(wǎng)絡最匹配的心跳周期時,都需要與服務器進行多次心跳消息交互,從而減少了終端的電量消耗和網(wǎng)絡側設備的信令負荷。
文檔編號H04L12/24GK103209089SQ20121001386
公開日2013年7月17日 申請日期2012年1月17日 優(yōu)先權日2012年1月17日
發(fā)明者楊勝強 申請人:華為技術有限公司