移動終端、心跳轉發(fā)服務器以及心跳信息發(fā)送方法和系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開了一種移動終端、心跳轉發(fā)服務器以及心跳信息發(fā)送方法和系統(tǒng),所述方法包括:移動終端在每個心跳發(fā)送周期到達時,根據(jù)上個心跳發(fā)送周期內(nèi)各應用程序發(fā)送的心跳信息,封裝統(tǒng)一心跳數(shù)據(jù)包后通過終端無線基帶模塊向心跳轉發(fā)服務器進行發(fā)送。心跳轉發(fā)服務器接收到統(tǒng)一心跳數(shù)據(jù)包后,從中解析出移動終端的標識,以及各應用程序的信息;確定出與解析出的移動終端的標識相對應的應用程序狀態(tài)表后,根據(jù)解析出的各應用程序的信息對應用程序狀態(tài)表中的各應用程序的狀態(tài)進行更新;并對于應用程序狀態(tài)表中每個狀態(tài)為在線的應用程序,自行根據(jù)該應用程序的心跳周期發(fā)送該應用程序的心跳信息。該方法可以節(jié)省無線信道資源、減少移動終端能耗。
【專利說明】移動終端、心跳轉發(fā)服務器以及心跳信息發(fā)送方法和系統(tǒng)
【技術領域】
[0001]本發(fā)明涉及網(wǎng)絡領域,尤其涉及一種移動終端、心跳轉發(fā)服務器以及心跳信息發(fā)送方法和系統(tǒng)。
【背景技術】
[0002]隨著移動終端智能化程度的迅猛發(fā)展,可以用于移動終端的網(wǎng)絡服務應用也越來越多。這些網(wǎng)絡服務應用為了向應用服務器表明在線狀態(tài)以及更新所在移動終端的地址,每個網(wǎng)絡服務應用都需要向應用服務器定時發(fā)送心跳信息(或稱狀態(tài)信息)。比如,安裝有騰訊QQ應用程序的移動終端向QQ應用服務器發(fā)送QQ的在線、離線狀態(tài)消息等心跳信息;安裝有微博應用程序的移動終端向微博應用服務器發(fā)送微博的在線、離線狀態(tài)消息等心跳信息。
[0003]現(xiàn)有的心跳信息發(fā)送系統(tǒng)的架構如圖1所示,包括:移動終端101和應用服務器102。基于該系統(tǒng)的心跳信息發(fā)送方法通常是:移動終端101對于本終端上的每個網(wǎng)絡服務應用,根據(jù)該網(wǎng)絡服務應用的心跳周期調(diào)用終端無線基帶模塊,向應用服務器102發(fā)送該網(wǎng)絡服務應用的心跳信息。具體地,移動終端101可以包括手機、平板電腦等。
[0004]在實際應用中,通常不同的網(wǎng)絡服務應用擁有不同的心跳周期,而且這些不同的網(wǎng)絡服務應用往往按照各自的心跳周期喚醒移動終端,以使移動終端調(diào)用終端無線基帶模塊進行心跳信息的發(fā)送。然而,當移動終端上的網(wǎng)絡服務應用運行較多時,移動終端所需要發(fā)送的心跳信息越來越頻繁,導致移動終端頻繁調(diào)用終端無線基帶模塊,使得無線信道占用率也越來越高,移動智能終端的休眠比例(即休眠時間與喚醒時間的比例)越來越低,最終造成無線信道資源浪費嚴重以及移動終端能耗過快。
[0005]綜上,現(xiàn)有的心跳信息發(fā)送方法會造成無線信道資源浪費以及移動終端能耗過快。
【發(fā)明內(nèi)容】
[0006]針對上述現(xiàn)有技術存在的缺陷,本發(fā)明實施例提供了一種移動終端、心跳轉發(fā)服務器以及心跳信息發(fā)送方法和系統(tǒng),用以節(jié)約無線信道資源、減少移動終端能耗。
[0007]本發(fā)明實施例提供了一種心跳信息發(fā)送方法,包括:
[0008]移動終端在每個心跳發(fā)送周期到達時,根據(jù)上個心跳發(fā)送周期內(nèi)各應用程序發(fā)送的心跳信息,封裝統(tǒng)一心跳數(shù)據(jù)包后通過終端無線基帶模塊向心跳轉發(fā)服務器進行發(fā)送;
[0009]所述心跳轉發(fā)服務器接收到所述統(tǒng)一心跳數(shù)據(jù)包后,從中解析出移動終端的標識,以及各應用程序的信息;確定出與解析出的移動終端的標識相對應的應用程序狀態(tài)表后,根據(jù)解析出的各應用程序的信息對所述應用程序狀態(tài)表中的各應用程序的狀態(tài)進行更新;并對于所述應用程序狀態(tài)表中每個狀態(tài)為在線的應用程序,自行根據(jù)該應用程序的心跳周期發(fā)送該應用程序的心跳信息。
[0010]較佳地,所述根據(jù)上個心跳發(fā)送周期內(nèi)各應用程序發(fā)送的心跳信息,封裝統(tǒng)一心跳數(shù)據(jù)包,具體包括:
[0011]對于上個心跳發(fā)送周期內(nèi)每個應用程序發(fā)送的心跳信息,將該心跳信息對應該應用程序的編號記錄到本地的心跳信息數(shù)據(jù)庫中作為新增記錄;其中,所述應用程序發(fā)送的心跳信息包括:心跳時間、終端地址、服務器地址、該應用程序的心跳周期;
[0012]對于每個新增記錄,獲取該新增記錄中的應用程序的編號和比對信息后,查找所述心跳信息數(shù)據(jù)庫中前一條對應該應用程序的編號記錄的心跳信息;若新增記錄中的比對信息與查找出的心跳信息中的比對信息不同,則將該新增記錄標記為首次發(fā)送;其中,所述比對信息包括:終端地址、服務器地址;
[0013]從每個沒有標記為首次發(fā)送的新增記錄中提取應用程序的編號和心跳時間作為簡要信息后,將所述移動終端的標識、標記為首次發(fā)送的新增記錄,以及提取的簡要信息封裝到所述統(tǒng)一心跳數(shù)據(jù)包中。
[0014]較佳地,所述根據(jù)解析出的各應用程序的信息對所述應用程序狀態(tài)表中的各應用程序的狀態(tài)進行更新,具體包括:
[0015]所述心跳轉發(fā)服務器若從所述統(tǒng)一心跳數(shù)據(jù)包中解析出應用程序的心跳信息,則將解析出的應用程序的心跳信息中的地址信息,對應該應用程序的編號記錄到與解析出的移動終端的標識相對應的心跳信息緩存表中;將解析出的應用程序的心跳信息中的心跳周期,對應該應用程序的編號記錄到與解析出的移動終端的標識相對應的應用程序基本信息表中;使用解析出的應用程序的心跳信息中的心跳時間,更新所述應用程序狀態(tài)表中對應該應用程序的編號記錄的時間,并對應該應用程序的編號記錄該應用程序的狀態(tài)為在線;
[0016]所述心跳轉發(fā)服務器若從所述統(tǒng)一心跳數(shù)據(jù)包中解析出應用程序的簡要信息,則使用解析出的應用程序的簡要信息中的心跳時間,更新所述應用程序狀態(tài)表中對應該應用程序的編號記錄的時間,并對應該應用程序的編號記錄該應用程序的狀態(tài)為在線;
[0017]所述心跳轉發(fā)服務器對于所述應用程序狀態(tài)表中未被更新時間的每個應用程序的編號,獲取與該應用程序的編號對應記錄的最大狀態(tài)更新時間,并在判斷出與該應用程序的編號對應記錄的時間與當前時間的差值大于獲取的最大狀態(tài)更新時間后,將對應該應用程序的編號記錄的該應用程序的狀態(tài)修改為離線。
[0018]其中,所述與該應用程序的編號對應記錄的最大狀態(tài)更新時間根據(jù)如下方法確定:
[0019]根據(jù)如下公式I計算出與該應用程序的編號對應記錄的最大狀態(tài)更新時間Tu:
[0020]
【權利要求】
1.一種心跳信息發(fā)送方法,其特征在于,包括: 移動終端在每個心跳發(fā)送周期到達時,根據(jù)上個心跳發(fā)送周期內(nèi)各應用程序發(fā)送的心跳信息,封裝統(tǒng)一心跳數(shù)據(jù)包后通過終端無線基帶模塊向心跳轉發(fā)服務器進行發(fā)送; 所述心跳轉發(fā)服務器接收到所述統(tǒng)一心跳數(shù)據(jù)包后,從中解析出移動終端的標識,以及各應用程序的信息;確定出與解析出的移動終端的標識相對應的應用程序狀態(tài)表后,根據(jù)解析出的各應用程序的信息對所述應用程序狀態(tài)表中的各應用程序的狀態(tài)進行更新;并對于所述應用程序狀態(tài)表中每個狀態(tài)為在線的應用程序,自行根據(jù)該應用程序的心跳周期發(fā)送該應用程序的心跳信息。
2.如權利要求1所述的方法,其特征在于,所述根據(jù)上個心跳發(fā)送周期內(nèi)各應用程序發(fā)送的心跳信息,封裝統(tǒng)一心跳數(shù)據(jù)包,具體包括: 對于上個心跳發(fā)送周期內(nèi)每個應用程序發(fā)送的心跳信息,將該心跳信息對應該應用程序的編號記錄到本地的心跳信息數(shù)據(jù)庫中作為新增記錄;其中,所述應用程序發(fā)送的心跳信息包括:心跳時間、終端地址、服務器地址、該應用程序的心跳周期; 對于每個新增記錄,獲取該新增記錄中的應用程序的編號和比對信息后,查找所述心跳信息數(shù)據(jù)庫中前一條對應該應用程序的編號記錄的心跳信息;若新增記錄中的比對信息與查找出的心跳信息中的比對信息不同,則將該新增記錄標記為首次發(fā)送;其中,所述比對信息包括:終端地址、服務器地址; 從每個沒有標記為首次發(fā)送的新增記錄中提取應用程序的編號和心跳時間作為簡要信息后,將所述移動終端的標識、標記為首次發(fā)送的新增記錄,以及提取的簡要信息封裝到所述統(tǒng)一心跳數(shù)據(jù)包 中。
3.如權利要求2所述的方法,其特征在于,所述根據(jù)解析出的各應用程序的信息對所述應用程序狀態(tài)表中的各應用程序的狀態(tài)進行更新,具體包括: 所述心跳轉發(fā)服務器若從所述統(tǒng)一心跳數(shù)據(jù)包中解析出應用程序的心跳信息,則將解析出的應用程序的心跳信息中的地址信息,對應該應用程序的編號記錄到與解析出的移動終端的標識相對應的心跳信息緩存表中;將解析出的應用程序的心跳信息中的心跳周期,對應該應用程序的編號記錄到與解析出的移動終端的標識相對應的應用程序基本信息表中;使用解析出的應用程序的心跳信息中的心跳時間,更新所述應用程序狀態(tài)表中對應該應用程序的編號記錄的時間,并對應該應用程序的編號記錄該應用程序的狀態(tài)為在線; 所述心跳轉發(fā)服務器若從所述統(tǒng)一心跳數(shù)據(jù)包中解析出應用程序的簡要信息,則使用解析出的應用程序的簡要信息中的心跳時間,更新所述應用程序狀態(tài)表中對應該應用程序的編號記錄的時間,并對應該應用程序的編號記錄該應用程序的狀態(tài)為在線; 所述心跳轉發(fā)服務器對于所述應用程序狀態(tài)表中未被更新時間的每個應用程序的編號,獲取與該應用程序的編號對應記錄的最大狀態(tài)更新時間,并在判斷出與該應用程序的編號對應記錄的時間與當前時間的差值大于獲取的最大狀態(tài)更新時間后,將對應該應用程序的編號記錄的該應用程序的狀態(tài)修改為離線。
4.如權利要求3所述的方法,其特征在于,所述與該應用程序的編號對應記錄的最大狀態(tài)更新時間根據(jù)如下方法確定: 根據(jù)如下公式I計算出與該應用程序的編號對應記錄的最大狀態(tài)更新時間Tu:
5.—種心跳信息發(fā)送系統(tǒng),其特征在于,包括: 移動終端,用于在每個心跳發(fā)送周期到達時,根據(jù)上個心跳發(fā)送周期內(nèi)各應用程序發(fā)送的心跳信息,封裝統(tǒng)一心跳數(shù)據(jù)包后通過終端無線基帶模塊進行發(fā)送; 心跳轉發(fā)服務器,用于接收到所述移動終端發(fā)送的統(tǒng)一心跳數(shù)據(jù)包后,從中解析出移動終端的標識,以及各應用程序的信息;確定出與解析出的移動終端的標識相對應的應用程序狀態(tài)表后,根據(jù)解析出的各應用程序的信息對所述應用程序狀態(tài)表中的各應用程序的狀態(tài)進行更新;并對于所述應用程序狀態(tài)表中每個狀態(tài)為在線的應用程序,自行根據(jù)該應用程序的心跳周期發(fā)送該應用程序的心跳信息。
6.如權利要求5所述的系統(tǒng),其特征在于, 所述移動終端具體用于在每個心跳發(fā)送周期到達時,對于上個心跳發(fā)送周期內(nèi)每個應用程序發(fā)送的心跳信息,將該心跳信息對應該應用程序的編號記錄到本地的心跳信息數(shù)據(jù)庫中作為新增記錄;對于每個新增記錄,獲取該新增記錄中的應用程序的編號和比對信息后,查找所述心跳信息數(shù)據(jù)庫中前一條對應該應用程序的編號記錄的心跳信息;若新增記錄中的比對信息與查找出的心跳信息中的比對信息不同,則將該新增記錄標記為首次發(fā)送;從每個沒有標記為首次發(fā)送的新增記錄中提取應用程序的編號和心跳時間作為簡要信息后,將所述移動終端的標識、標記為首次發(fā)送的新增記錄,以及提取的簡要信息封裝到所述統(tǒng)一心跳數(shù)據(jù)包中;其中,所述應用程序發(fā)送的心跳信息包括:心跳時間、終端地址、月艮務器地址、該應用程序的心跳周期;所述比對信息包括:終端地址、服務器地址;以及 所述心跳轉發(fā)服務器具體用于若從接收的統(tǒng)一心跳數(shù)據(jù)包中解析出應用程序的心跳信息,則將解析出的應用程序的心跳信息中的地址信息,對應該應用程序的編號記錄到與解析出的移動終端的標識相對應的心跳信息緩存表中;將解析出的應用程序的心跳信息中的心跳周期,對應該應用程序的編號記錄到與解析出的移動終端的標識相對應的應用程序基本信息表中;使用解析出的應用程序的心跳信息中的心跳時間,更新所述應用程序狀態(tài)表中對應該應用程序的編號記錄的時間,并對應該應用程序的編號記錄該應用程序的狀態(tài)為在線;若從所述統(tǒng)一心跳數(shù)據(jù)包中解析出應用程序的簡要信息,則使用解析出的應用程序的簡要信息中的心跳時間,更新所述應用程序狀態(tài)表中對應該應用程序的編號記錄的時間,并對應該應用程序的編號記錄該應用程序的狀態(tài)為在線;以及所述心跳轉發(fā)服務器對于所述應用程序狀態(tài)表中未被更新時間的每個應用程序的編號,獲取與該應用程序的編號對應記錄的最大狀態(tài)更新時間,并在判斷出與該應用程序的編號對應記錄的時間與當前時間的差值大于獲取的最大狀態(tài)更新時間后,將對應該應用程序的編號記錄的該應用程序的狀態(tài)修改為離線;之后,對于所述應用程序狀態(tài)表中每個狀態(tài)為在線的應用程序,自行根據(jù)該應用程序的心跳周期發(fā)送該應用程序的心跳信息。
7.如權利要求6所述的系統(tǒng),其特征在于,所述移動終端具體包括: 心跳信息記錄模塊,用于在每個心跳發(fā)送周期到達時,對于上個心跳發(fā)送周期內(nèi)每個應用程序發(fā)送的心跳信息,將該心跳信息對應該應用程序的編號記錄到本地的心跳信息數(shù)據(jù)庫中作為新增記錄;其中,所述應用程序發(fā)送的心跳信息包括:心跳時間、終端地址、月艮務器地址、該應用程序的心跳周期; 首次發(fā)送判斷模塊,用于對于所述心跳信息記錄模塊存儲到心跳信息數(shù)據(jù)庫中的每個新增記錄,獲取該新增記錄中的應用程序的編號和比對信息后,查找所述心跳信息數(shù)據(jù)庫中前一條對應該應用程序的編號記錄的心跳信息;若新增記錄中的比對信息與查找出的心跳信息中的比對信息不同,則判斷該新增記錄為首次發(fā)送;否則,判斷該新增記錄不是首次發(fā)送;其中,所述比對信息包括:終端地址、服務器地址; 數(shù)據(jù)包封裝模塊,用于根據(jù)所述首次發(fā)送判斷模塊的判斷結果,從不是首次發(fā)送的新增記錄中提取應用程序的編號和心跳時間作為簡要信息后,將所述移動終端的標識、標記為首次發(fā)送的新增記錄,以及提取的簡要信息封裝到所述統(tǒng)一心跳數(shù)據(jù)包中。
8.如權利要求6所述的系統(tǒng),其特征在于,所述心跳轉發(fā)服務器具體包括: 心跳數(shù)據(jù)包解析模塊,用于對接收的統(tǒng)一心跳數(shù)據(jù)包進行解析,輸出解析結果; 心跳信息處理模塊,用于對所述解析結果中的應用程序的心跳信息進行如下處理:將解析出的應用程序的心跳信息中的地址信息,對應該應用程序的編號記錄到與解析出的移動終端的標識相對應的心跳信息緩存表中;將解析出的應用程序的心跳信息中的心跳周期,對應該應用程序的編號記錄到與解析出的移動終端的標識相對應的應用程序基本信息表中;使用解析出的應用程序的心跳信息中的心跳時間,更新所述應用程序狀態(tài)表中對應該應用程序的編號記錄的時間,并對應該應用程序的編號記錄該應用程序的狀態(tài)為在線;簡要信息處理模塊,用于對所述解析結果中的應用程序的簡要信息進行如下處理:使用解析出的應用程序的簡要信息中的心跳時間,更新所述應用程序狀態(tài)表中對應該應用程序的編號記錄的時間,并對應該應用程序的編號記錄該應用程序的狀態(tài)為在線; 狀態(tài)更新模塊,用于對于所述應用程序狀態(tài)表中未被更新時間的每個應用程序的編號,獲取與該應用程序的編號對應記錄的最大狀態(tài)更新時間,并在判斷出與該應用程序的編號對應記錄的時間與當前時間的差值大于獲取的最大狀態(tài)更新時間后,將對應該應用程序的編號記錄的該應用程序的狀態(tài)修改為離線; 心跳信息發(fā)送模塊,對于所述應用程序狀態(tài)表中每個狀態(tài)為在線的應用程序,自行根據(jù)該應用程序的心跳周期發(fā)送該應用程序的心跳信息。
9.一種移動終端,其特征在于,包括: 心跳信息記錄模塊,用于在每個心跳發(fā)送周期到達時,對于上個心跳發(fā)送周期內(nèi)每個應用程序發(fā)送的心跳信息,將該心跳信息對應該應用程序的編號記錄到本地的心跳信息數(shù)據(jù)庫中作為新增記錄;其中,所述應用程序發(fā)送的心跳信息包括:心跳時間、終端地址、月艮務器地址、該應用程序的心跳周期; 首次發(fā)送判斷模塊,用于對于所述心跳信息記錄模塊存儲到心跳信息數(shù)據(jù)庫中的每個新增記錄,獲取該新增記錄中的應用程序的編號和比對信息后,查找所述心跳信息數(shù)據(jù)庫中前一條對應該應用程序的編號記錄的心跳信息;若新增記錄中的比對信息與查找出的心跳信息中的比對信息不同,則判斷該新增記錄為首次發(fā)送;否則,判斷該新增記錄不是首次發(fā)送;其中,所述比對信息包括:終端地址、服務器地址; 數(shù)據(jù)包封裝模塊,用于根據(jù)所述首次發(fā)送判斷模塊的判斷結果,從不是首次發(fā)送的新增記錄中提取應用程序的編號和心跳時間作為簡要信息后,將所述移動終端的標識、標記為首次發(fā)送的新增記錄,以及提取的簡要信息封裝到所述統(tǒng)一心跳數(shù)據(jù)包中。
10.一種心跳轉發(fā)服務器,其特征在于,包括: 心跳數(shù)據(jù)包解析模塊,用于對接收的統(tǒng)一心跳數(shù)據(jù)包進行解析,輸出解析結果; 心跳信息處理模塊,用于對所述解析結果中的應用程序的心跳信息進行如下處理:將解析出的應用程序的心跳信息中的地址信息,對應該應用程序的編號記錄到與解析出的移動終端的標識相對應的心跳信息緩存表中;將解析出的應用程序的心跳信息中的心跳周期,對應該應用程序的編號記錄到與解析出的移動終端的標識相對應的應用程序基本信息表中;使用解析出的應用程序的心跳信息中的心跳時間,更新所述應用程序狀態(tài)表中對應該應用程序的編號記錄的時間,并對應該應用程序的編號記錄該應用程序的狀態(tài)為在線;簡要信息處理模塊,用于對所述解析結果中的應用程序的簡要信息進行如下處理:使用解析出的應用程序的簡要信息中的心跳時間,更新所述應用程序狀態(tài)表中對應該應用程序的編號記錄的時間,并對應該應用程序的編號記錄該應用程序的狀態(tài)為在線; 狀態(tài)更新模塊,用于對于所述應用程序狀態(tài)表中未被更新時間的每個應用程序的編號,獲取與該應用程序的編號對應記錄的最大狀態(tài)更新時間,并在判斷出與該應用程序的編號對應記錄的時間與當前時間的差值大于獲取的最大狀態(tài)更新時間后,將對應該應用程序的編號記錄的該應 用程序的狀態(tài)修改為離線; 心跳信息發(fā)送模塊,對于所述應用程序狀態(tài)表中每個狀態(tài)為在線的應用程序,自行根據(jù)該應用程序的心跳周期發(fā)送該應用程序的心跳信息。
【文檔編號】H04L12/26GK104022922SQ201410302253
【公開日】2014年9月3日 申請日期:2014年6月27日 優(yōu)先權日:2014年6月27日
【發(fā)明者】吳帆, 吳超, 范文浩, 李論, 唐碧華, 金師興 申請人:北京郵電大學