專利名稱:連接保持方法、裝置、移動終端及數據傳輸方法
技術領域:
本申請涉及移動通信領域,尤其涉及應用程序客戶端與應用服務器的連接保持方法、裝置、包含該裝置的移動終端及移動通信網絡向移動終端傳輸數據的方法。
背景技術:
如今,隨著通信網絡的高速發(fā)展以及智能移動終端的進一步普及,用戶可以使用更多業(yè)務,獲得更多體驗。一些永遠在線業(yè)務可實現用戶與網絡的及時通信。如圖1所示,用戶通過移動終端101使用永遠在線業(yè)務時,需通過基站102接入到移動運營商核心網103,再由核心網的網關如公共數據網網關PGW 104通過核心網防火墻105,訪問該業(yè)務的應用服務器106。對于保持永遠在線業(yè)務而言,當用戶處于空閑狀態(tài)或沒有業(yè)務數據需要傳輸時,為了讓應用服務器能夠獲知客戶端的狀態(tài),應用程序客戶端需要以預定的時間間隔,即心跳周期,向應用服務器發(fā)送心跳數據包,以告知應用服務器當前業(yè)務仍處于活躍狀態(tài)。當前很多應用程序如即時通信軟件QQ、MSN等都會定時向其應用服務器發(fā)送心跳數據包。然而,在無線通信中,發(fā)送心跳數據包需要在移動終端與網絡之間建立通信信道,包括分配無線資源和核心網資源等。如果以幾秒或幾十秒為周期頻繁地發(fā)送心跳數據包將占用大量的通信資源,特別是在同一終端上同時運行多個永遠在線業(yè)務且各業(yè)務的心跳周期不同時尤為如此。在這種情況下,對終端而言,這將會增加能耗;對網絡而言,這將頻繁占用無線信道,從而影響其他實時性要求更高的業(yè)務,如話音業(yè)務、IMS業(yè)務等。
發(fā)明內容
根據本申請的第一方面,提供了一種應用程序客戶端與應用服務器的連接保持方法。該方法包括:移動終端從移動通信網絡獲取心跳周期的參考值;所述移動終端基于所述心跳周期的參考值確定心跳周期的實際值;以及所述移動終端基于所述心跳周期的實際值觸發(fā)已注冊的應用程序客戶端向其相應的應用服務器發(fā)送心跳數據包。根據本申請的第二方面,提供了一種應用程序客戶端與應用服務器的連接保持裝置。該裝置包括:確定模塊,從移動通信網絡獲取心跳周期的參考值,并基于所述心跳周期的參考值確定心跳周期的實際值;計時模塊,從所述確定模塊獲取所述心跳周期的實際值以作為計時初值進行計時;以及觸發(fā)模塊,響應于所述計時模塊的計時期滿通知,觸發(fā)應用程序客戶端向其相應的應用服務器發(fā)送心跳數據包。根據本申請的第三方面,提供了一種移動終端。該移動終端包括根據本申請第二方面的應用程序客戶端與應用服務器的連接保持裝置。根據本申請的第四方面,提供了一種移動通信網絡向移動終端傳輸數據的方法。該方法包括將心跳周期的參考值發(fā)送到移動終端。根據上述的應用程序客戶端與應用服務器的連接保持方法、裝置、移動終端及移動通信網絡向移動終端傳輸數據的方法,在移動終端上駐留有多個應用程序客戶端時,通過從移動通信網絡中獲取心跳周期的參考值而確定出心跳周期的實際值,多個應用程序客戶端由移動終端統一觸發(fā)和調度心跳,在同一時間、以相同的時間間隔向各自的應用服務器發(fā)送心跳數據包,有效減輕了多個應用程序客戶端頻繁地異步發(fā)送心跳包帶來的移動終端能耗和無線資源占用的消耗。而且,通過移動通信網絡將心跳周期的參考值告知移動終端,實現了網絡與移動終端的協調配合。
圖1為移動通信網絡的整體架構圖;圖2為根據本申請第一方面的一個實施方案的應用程序客戶端與應用服務器的連接保持方法的流程圖;圖3為根據本申請第一方面的另一個實施方案的應用程序客戶端與應用服務器的連接保持方法的流程圖;圖4為根據本申請第二方面的應用程序客戶端與應用服務器的連接保持裝置的示意性框圖;以及圖5為根據本申請第三方面的一個可選實施方案的移動終端的示意性框圖。
具體實施例方式如前所述,例如手機等的移動終端上可安裝有一個或多個即時通信軟件如QQ、MSN等的應用程序客戶端,這些應用程序客戶端會以預定的時間間隔(以下簡稱心跳周期)向其各自的應用服務器發(fā)送心跳數據包以保持連接。根據本申請,移動終端可統一調度駐留在終端上的各應用程序客戶端,使其能夠同步發(fā)送心跳數據包,以節(jié)省終端的能耗,減少無線資源的頻繁分配和釋放。下面將參照圖2和圖3詳細描述根據本申請的第一方面的應用程序客戶端與應用服務器的連接保持方法。在如圖2所示的應用程序客戶端與應用服務器的連接保持方法中,首先在步驟2001中,移動終端從移動通信網絡獲取心跳周期的參考值??梢岳斫?,在演進的分組核心網(簡稱EPC)中,分組數據網網關(簡稱PGW)是核心網接入到分組數據網(簡稱TON)進行業(yè)務訪問的接口實體。PGW通過防火墻中的或獨立于防火墻的網絡地址轉換(NAT)模塊與應用服務器之間進行通信,在NAT模塊中保存了移動終端在核心網的內部地址與外部地址之間的一個映射表。該映射表有一個保活時長,如果駐留在移動終端上的應用程序客戶端與應用服務器間的空閑時間超過了該?;顣r長,則NAT模塊中的地址映射項將被刪除。在映射項被刪除后,即NAT模塊中不再存在該移動終端內部地址與外部地址的映射信息,應用服務器將不能識別該移動終端,因而駐留在該移動終端上的應用程序客戶端將無法與應用服務器進行交互。還可以理解,移動終端在經PGW由核心網接入TON時,PGW會給該移動終端分配一個核心網內部地址,該內部地址具有?;顣r長,超過該?;顣r長,PGW將釋放為該移動終端分配的內部地址。因此,駐留在移動終端上的應用程序客戶端向應用服務器發(fā)送心跳數據包的時間間隔(即心跳周期)的取值,可以以上述兩個?;顣r長中的較小者作為參考。即,心跳周期的參考值可以為上述兩個時長中的較小者。作為ー個具體實施例,移動終端可以通過網絡側信令獲取心跳周期的參考值。例如,可以在PGW的創(chuàng)建會話響應(Create Session Response)消息的協議配置項(ProtocolConfiguration Option,簡稱PC0)中,預先設置所述心跳周期的參考值,或者在創(chuàng)建會話響應消息中預先增加一個新的信元來攜帶該參考值,當移動終端與PDN建立連接吋,PGW響應于移動終端的連接建立請求,將上述預先設置有心跳周期的參考值的創(chuàng)建會話響應消息發(fā)送給該移動終端。這樣,通過移動通信網絡的網絡側信令將心跳周期的參考值告知移動終端,實現了網絡與移動終端的協調配合。然后,在步驟2002,移動終端基于所述心跳周期的參考值確定心跳周期的實際值。例如,所述心跳周期的實際值可小于或等于所述心跳周期的參考值。也就是說,所述心跳周期的實際值可以小于或等于NAT模塊中移動終端的核心網內部地址與外部地址之間的映射表的?;顣r長與該移動終端的核心網內部地址的保持時長中的較小者??梢岳斫?,將心跳周期的實際值確定為小于或等于上述兩個時長中的較小者,既不會因為心跳周期過短而頻繁向應用服務器發(fā)送心跳數據包,也不會因為心跳周期過長而導致NAT模塊中的地址映射項失活。接下來,在步驟2003中,移動終端基于所述心跳周期的實際值觸發(fā)已注冊的應用程序客戶端向其相應的應用服務器發(fā)送心跳數據包以保持連接。換言之,移動終端以所述心跳周期的實際值為時間間隔觸發(fā)已注冊的所有應用程序客戶端向各自相應的應用服務器發(fā)送心跳數據包。根據ー個實施方案,移動終端在觸發(fā)已注冊的所有應用程序客戶端向各自相應的應用服務器發(fā)送心跳數據包時可向所有應用程序客戶端發(fā)送消息,所有應用程序客戶端可響應于該消息按照現有的方式向各自相應的應用服務器發(fā)送其特定的心跳數據包。根據另ー實施方案,移動終端在觸發(fā)已注冊的所有應用程序客戶端向各自相應的應用服務器發(fā)送心跳數據包時,移動終端通過調用應用程序客戶端上的觸發(fā)程序來觸發(fā)駐留在其上的應用程序客戶端向其相應的應用服務器發(fā)送心跳數據包。可以理解,應用程序客戶端僅在移動終端觸發(fā)時才向其相應的應用服務器發(fā)送心跳數據包。下面參照圖3描述根據另ー實施方案的應用程序客戶端與應用服務器的連接保持方法。在如圖3所示的應用程序客戶端與應用服務器的連接保持方法中,首先在步驟3001中,移動終端從移動通信網絡獲取心跳周期的參考值。然后,在步驟3002,移動終端基于所述心跳周期的參考值確定心跳周期的實際值。然后,在步驟3003中,應用程序客戶端從移動終端獲取心跳周期的實際值并將其告知應用服務器,以便應用服務器可獲知該應用程序客戶端相關的心跳周期。接下來,在步驟3004,移動終端基于所述心跳周期的實際值觸發(fā)已注冊的應用程序客戶端向其相應的應用服務器發(fā)送心跳數據包以保持連接。根據ー個實施方案,移動終端在觸發(fā)已注冊的所有應用程序客戶端向各自相應的應用服務器發(fā)送心跳數據包時可向所有應用程序客戶端發(fā)送消息,所有應用程序客戶端可響應于該消息按照現有的方式向各自相應的應用服務器發(fā)送其特定的心跳數據包。根據另ー實施方案,移動終端在觸發(fā)已注冊的所有應用程序客戶端向各自相應的應用服務器發(fā)送心跳數據包時,移動終端通過調用應用程序客戶端上的觸發(fā)程序來觸發(fā)駐留在其上的應用程序客戶端向其相應的應用服務器發(fā)送心跳數據包??梢岳斫?,應用程序客戶端僅在移動終端觸發(fā)時才向其相應的應用服務器發(fā)送心跳數據包。還可以理解,在本申請的應用程序客戶端與應用服務器的連接保持方法中,心跳數據包仍然由應用程序客戶端發(fā)出,并不涉及對心跳數據包的修改。下面將參照圖4詳細描述根據本申請的第二方面的應用程序客戶端與應用服務器的連接保持裝置。如圖4所示,應用程序客戶端與應用服務器的連接保持裝置40包括確定模塊401、計時模塊402和觸發(fā)模塊403。確定模塊401從移動通信網絡獲取心跳周期的參考值,并基于所述心跳周期的參考值確定心跳周期的實際值。如前所述,所述心跳周期的參考值可以為移動通信網絡中的網絡地址轉換模塊中移動終端的核心網內部地址與外部地址之間的映射表的?;顣r長與該移動終端的核心網內部地址的保持時長中的較小者。作為ー種選擇,所述心跳周期的實際值可小于或等于述心跳周期的參考值。計時模塊402從確定模塊401獲取所述心跳周期的實際值以作為計時初值進行計時。觸發(fā)模塊403響應于計時模塊402的計時期滿通知,觸發(fā)應用程序客戶端向其應用服務器發(fā)送心跳數據包。根據ー個實施方案,連接保持裝置40進ー步包括注冊模塊404。注冊模塊404接收需要向其應用服務器發(fā)送心跳數據包的應用程序客戶端的注冊請求,并記錄應用程序客戶端的注冊信息。如前所述,應用程序客戶端向注冊模塊404發(fā)送注冊請求時,例如可向注冊模塊404提供其ID等注冊信息,注冊模塊404中可建立列表以記錄已注冊的應用程序客戶端ID等信息。而且,觸發(fā)模塊403可查詢注冊模塊404的注冊信息列表里記錄了哪些應用程序客戶端的ID,井向與查詢到的應用程序客戶端ID對應的應用程序客戶端發(fā)送消息,以觸發(fā)該應用程序客戶端向其應用服務器發(fā)送心跳數據包。作為ー種選擇,觸發(fā)模塊403可進ー步被配置為向已注冊的應用程序客戶端發(fā)送消息以觸發(fā)已注冊的應用程序客戶端向其相應的應用服務器發(fā)送心跳數據包。作為ー種選擇,注冊模塊404可進ー步被配置為在應用程序客戶端退出時接收應用程序客戶端的取消注冊請求,并響應于該請求刪除該應用程序客戶端的注冊信息??梢岳斫?,在本申請的應用程序客戶端與應用服務器的連接保持裝置中,計時模塊的計時初值即心跳周期的實際值是恒定不變的,無需區(qū)分移動終端當前是處于活躍狀態(tài)還是空閑狀態(tài),且不會與應用服務器之間頻繁進行心跳周期時長的協商。根據本申請的第三方面,提供了一種移動終端,該移動終端包括可按照如圖4所示那樣配置的應用程序客戶端與應用服務器的連接保持裝置40。根據ー個實施方案,所述移動終端還可進ー步包括駐留在其上的客戶端模塊。如圖5所示,移動終端50包括應用程序客戶端與應用服務器的連接保持裝置501和駐留在移動通信終端上的客戶端模塊502??蛻舳四K502包括判斷單元5021、注冊單元5022和發(fā)送單元5023。判斷單元5021在客戶端模塊502啟動時判斷客戶端模塊是否需要向其應用服務器發(fā)送心跳數據包。注冊單元5022在判斷単元5021判斷客戶端模塊502需要向其應用服務器發(fā)送心跳數據包時向連接保持裝置501中的注冊模塊404發(fā)送注冊請求以進行注冊。如前所述,注冊單元5022向注冊模塊404發(fā)送注冊請求時,例如可向注冊模塊404提供客戶端模塊502的ID等注冊信息,注冊模塊404中可建立列表以記錄已注冊的客戶端模塊的ID等信息。發(fā)送單元5023響應于連接保持裝置501中的觸發(fā)模塊的觸發(fā)消息,向客戶端模塊對應的應用服務器發(fā)送心跳數據包。 作為ー種選擇,注冊單元5022可進ー步被配置為在客戶端模塊502退出時向連接保持裝置501中的注冊模塊404發(fā)送取消注冊請求。注冊模塊404可響應于該取消注冊請求刪除該客戶端模塊的注冊信息。根據本申請的第四方面,提供了一種移動通信網絡向移動終端傳輸數據的方法,該方法包括將心跳周期的參考值發(fā)送到移動終端。在該方法中,將心跳周期的參考值發(fā)送到移動終端的步驟包括將所述心跳周期的參考值添加在分組數據網網關的創(chuàng)建會話響應消息的協議配置項中。這樣,通過移動通信網絡將心跳周期的參考值告知移動終端,實現了網絡與移動終端的協調配合。根據ー個實施方案,心跳周期的參考值為移動通信網絡中的網絡地址轉換模塊中移動終端的核心網內部地址與外部地址之間的映射表的?;顣r長與該移動終端的核心網內部地址的保持時長中的較小者??梢岳斫猓瑢⑿奶芷诘膶嶋H值確定為小于或等于上述兩個時長中的較小者,既不會因為心跳周期過短而頻繁向應用服務器發(fā)送心跳數據包,也不會因為心跳周期過長而導致NAT模塊中的地址映射項失活。以上參照附圖對本申請的示例性的實施方案進行了描述。本領域技術人員應該理解,上述實施方案僅僅是為了說明的目的而所舉的示例,而不是用來進行限制。凡在本申請的教導和權利要求保護范圍下所作的任何修改、等同替換等,均應包含在本申請要求保護的范圍內。
權利要求
1.用程序客戶端與應用服務器的連接保持方法,包括: 移動終端從移動通信網絡獲取心跳周期的參考值; 所述移動終端基于所述心跳周期的參考值確定心跳周期的實際值;以及 所述移動終端基于所述心跳周期的實際值觸發(fā)已注冊的應用程序客戶端向其相應的應用服務器發(fā)送心跳數據包。
2.按權利要求1所述的方法,其中,所述應用程序客戶端僅在所述移動終端觸發(fā)時才向其相應的應用服務器發(fā)送心跳數據包。
3.按權利要求1所述的方法,進一步包括: 所述應用程序客戶端在向所述移動終端發(fā)送注冊請求之后,從所述移動終端獲取所述心跳周期的實際值并將其告知相應的應用服務器。
4.按權利要求1所述的方法,其中,所述移動終端觸發(fā)駐留在其上的應用程序客戶端向其相應的應用服務器發(fā)送心跳數據包的步驟包括:所述移動終端同時向駐留在其上的所有應用程序客戶端發(fā)送消息,所有應用程序客戶端響應于該消息向各自相應的應用服務器發(fā)送心跳數據包。
5.按權利要求1所述的方法,其中,所述移 動終端觸發(fā)駐留在其上的應用程序客戶端向其相應的應用服務器發(fā)送心跳數據包的步驟包括:所述移動終端通過調用應用程序客戶端上的觸發(fā)程序來觸發(fā)駐留在其上的應用程序客戶端向其相應的應用服務器發(fā)送心跳數據包。
6.按權利要求1至5中任一項所述的方法,其中,移動終端從移動通信網絡獲取心跳周期的參考值的步驟包括從網絡側信令中獲取所述心跳周期的參考值。
7.按權利要求6所述的方法,其中,移動終端從網絡側信令中獲取心跳周期的參考值的步驟包括從分組數據網網關的創(chuàng)建會話響應消息的協議配置項中獲取所述心跳周期的參考值,或者從所述創(chuàng)建會話響應消息中新增加的信元中獲取所述心跳周期的參考值。
8.按權利要7所述的方法,其中,所述心跳周期的實際值小于或等于所述心跳周期的參考值。
9.按權利要求8所述的方法,其中,所述心跳周期的參考值為移動通信網絡中的網絡地址轉換模塊中移動終端的核心網內部地址與外部地址之間的映射表的保活時長與該移動終端的核心網內部地址的保持時長中的較小者。
10.用程序客戶端與應用服務器的連接保持裝置,包括: 確定模塊,從移動通信網絡獲取心跳周期的參考值,并基于所述心跳周期的參考值確定心跳周期的實際值; 計時模塊,從所述確定模塊獲取所述心跳周期的實際值以作為計時初值進行計時;以及 觸發(fā)模塊,響應于所述計時模塊的計時期滿通知,觸發(fā)應用程序客戶端向其相應的應用服務器發(fā)送心跳數據包。
11.按權利要求10所述的裝置,進一步包括注冊模塊,所述注冊模塊被配置為接收需要向其應用服務器發(fā)送心跳數據包的應用程序客戶端的注冊請求,并記錄應用程序客戶端的注冊信息;所述觸發(fā)模塊進一步被配置為向所述注冊模塊查詢應用程序客戶端的注冊信息,并基于所述注冊信息觸發(fā)已注冊的應用程序客戶端向其相應的應用服務器發(fā)送心跳數據包。
12.按權利要求11所述的裝置,其中,所述注冊模塊進一步被配置為在所述應用程序客戶端退出時接收所述應用程序客戶端的取消注冊請求,并響應于該取消注冊請求刪除所述應用程序客戶端的注冊信息。
13.按權利要求12所述的裝置,其中,所述應用程序客戶端的注冊信息包括應用程序客戶端的ID。
14.按權利要求11所述的裝置,其中,所述觸發(fā)模塊進一步被配置為向已注冊的應用程序客戶端發(fā)送消息以觸發(fā)已注冊的應用程序客戶端向其相應的應用服務器發(fā)送心跳數據包。
15.一種移動終端,包括如權利要求12至16中任一項所述的應用程序客戶端與應用服務器的連接保持裝置。
16.按權利要求15所述的移動終端,進一步包括客戶端模塊,所述客戶端模塊駐留在所述移動終端上并且包括: 判斷單元,在所述客戶端模塊啟動時判斷所述客戶端模塊是否需要向其應用服務器發(fā)送心跳數據包; 注冊單元,在所述判斷單元判斷所述客戶端模塊需要向其應用服務器發(fā)送心跳數據包時向所述移動終端發(fā)送注冊請求以進行注冊; 發(fā)送單元,響應于所述連接保持裝置中的觸發(fā)模塊的觸發(fā)消息,向所述客戶端模塊對應的應用服務器發(fā)送心跳數據包。
17.按權利要求16所述的移動終端,其中,所述注冊單元進一步被配置為在所述客戶端模塊退出時向所述裝置中的注冊模塊發(fā)送取消注冊請求。
18.動通信網絡向移動終端傳輸數據的方法,包括: 將心跳周期的參考值發(fā)送到移動終端。
19.按權利要求18所述的方法,其中,將心跳周期的參考值發(fā)送到移動終端的步驟包括:將所述心跳周期的參考值添加在分組數據網網關的創(chuàng)建會話響應消息的協議配置項中。
20.按權利要求19所述的方法,其中,所述心跳周期的參考值為移動通信網絡中的網絡地址轉換模塊中移動終端的核心網內部地址與外部地址之間的映射表的?;顣r長與該移動終端的核心網內部地址的保持時長中的較小者。
全文摘要
本申請公開了應用程序客戶端與應用服務器的連接保持方法、裝置、包含該裝置的移動終端及移動通信網絡向移動終端傳輸數據的方法。該方法包括移動終端從移動通信網絡獲取心跳周期的參考值;所述移動終端基于所述心跳周期的參考值確定心跳周期的實際值;以及所述移動終端基于所述心跳周期的實際值觸發(fā)已注冊的應用程序客戶端向其相應的應用服務器發(fā)送心跳數據包。根據本申請,駐留在移動終端上的多個應用程序客戶端由移動終端統一觸發(fā)和調度心跳,在同一時間、以相同的時間間隔向各自的應用服務器發(fā)送心跳數據包,有效減輕了多個應用程序客戶端頻繁地異步發(fā)送心跳包帶來的移動終端能耗和無線資源占用的消耗。
文檔編號H04W76/02GK103096435SQ20111033686
公開日2013年5月8日 申請日期2011年10月31日 優(yōu)先權日2011年10月31日
發(fā)明者孫滔, 鄧輝, 劉大鵬, 曹振 申請人:中國移動通信集團公司