[發明專利]消息推送實現方法、移動終端及消息推送系統在審
| 申請號: | 201310004438.2 | 申請日: | 2013-01-07 |
| 公開(公告)號: | CN103916442A | 公開(公告)日: | 2014-07-09 |
| 發明(設計)人: | 陳虓將 | 申請(專利權)人: | 阿里巴巴集團控股有限公司 |
| 主分類號: | H04L29/08 | 分類號: | H04L29/08;H04L12/58 |
| 代理公司: | 北京安信方達知識產權代理有限公司 11262 | 代理人: | 栗若木 |
| 地址: | 英屬開曼群島大開*** | 國省代碼: | 開曼群島;KY |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 消息 推送 實現 方法 移動 終端 系統 | ||
技術領域
本申請涉及網絡領域,尤其涉及一種消息推送實現方法、移動終端和消息推送系統。
背景技術
MQTT(Message?Queuing?Telemetry?Transport,消息隊列遙測傳輸)是輕量級的消息傳輸協議,使用發布/訂閱消息模式,提供一對多的消息發布。XMPP(Extensible?Messaging?and?Presence?Protocol,可擴展消息處理現場協議)是一種基于XML(Extensible?Markup?Language,可擴展標記語言)的協議,它繼承了在XML環境中靈活的發展性,XMPP可以通過發送擴展的信息來處理用戶的需求。從協議層面來看,這兩個協議都可以用來進行消息推送,但由于這兩個協議的普及度不高,很多移動終端上的開發語言如Android(安卓)的開發語法JAVA和IPhone上的開發語言OBJECT-C,都沒有成熟的組件提供對這兩個協議的支持。
目前移動終端的不同應用和后端服務器建立長連接以實現消息推送時,都是各自保持一條長連接,每個應用對應一條長連接,如果移動終端上安裝了多個應用,就會有多條長連接。為避免長連接被中間的網絡節點如運營商的網關關閉,客戶端和服務器之間需要按照一定的頻率不斷地交換數據,我們稱這種數據為心跳包,心跳包需要耗費網絡流量和電量。因此,在移動終端上保活多條長連接的成本是昂貴的。
考慮到安全性和流量、電量因素,客戶端不會直接和消息中心相連,而是通過反向代理和消息中心相連。為保證消息的及時送達,需要一種機制來判斷是否有新的數據產生。現有技術中是通過服務器不斷詢問消息中心是否有新的數據產生,對及時性要求比較強的消息,如果采用輪詢的方式會因為輪詢間隔太短對服務器造成很大壓力。
現有技術可能存在以下的問題:
1)客戶端和服務器實現新的協議有難度
無論XMPP還是MQTT都是一個協議簇,客戶端和服務器想要通過該協議實現通信,就必須都完成協議的實現,實現協議之前開發人員要先理解協議,理解和實現協議,都需要很長的時間。
2)保活多條長連接耗費大量的網絡流量和電量
客戶端和服務器之間建立長連接,需要通過不間斷地發送心跳包來達到保活連接的目的,否則長連接會被鏈路的中間節點,如運營商的網關,直接關閉。移動終端和服務器之間建立的連接越多,保活帶來的流量和電量的開銷也越大。
3)不能適應多種消息類型
用戶訂閱的多種類型的消息的即時性要求各不相同,后臺服務器要么犧牲性能保證實時消息及時送達,要么犧牲用戶體驗讓所有消息都延遲投遞。
發明內容
本申請要解決的技術問題是提供一種消息推送實現方法、系統和移動終端,解決現有技術中消息推送耗費大量電量和網絡流量的問題。
為了解決上述問題,本申請提供了一種消息推送實現方法,包括:
移動終端上的正向代理服務模塊與服務器之間建立長連接;
所述正向代理服務模塊通過所述長連接轉發所述移動終端上的應用與所述服務器之間交互的信息;其中,所述移動終端上的應用包括多個應用;所述多個應用復用同一長連接。
上述方法還可具有以下特點,所述正向代理服務模塊通過所述長連接轉發所述移動終端上的應用與所述服務器之間交互的信息包括:
所述正向代理服務模塊接收到所述應用的請求后,緩存該請求,到達預設時間間隔或預設時間間隔內緩存的請求個數達到指定個數后,將緩存的請求合并到請求包中通過所述長連接發送給所述服務器。
上述方法還可具有以下特點,所述正向代理服務模塊接收的所述移動終端上的應用的請求中攜帶發起該請求的應用的設備標識;所述正向代理服務模塊將所述緩存的未發送的請求合并到所述請求包中時,所述請求包中攜帶所合并的各請求中攜帶的設備標識;其中,一個所述設備標識唯一標識一個移動終端上的一個應用;
以及,所述正向代理服務模塊接收到所述服務器發送給所述多個應用的消息后,所述消息中攜帶一套或多套信息,每套信息包括消息內容及該消息內容對應的移動終端上的應用的設備標識;所述正向代理服務模塊根據所述消息中的設備標識將該消息拆分成子消息,每個子消息中包括一套所述信息,所述正向代理服務模塊根據所述子消息中的設備標識將所述子消息發送給該移動終端上對應的應用。
上述方法還可具有以下特點,所述正向代理服務模塊和所述服務器之間的所述長連接基于超文本傳送協議塊HTTP?CHUNK協議。
本申請還提供一種消息推送實現方法,包括:
服務器與移動終端之間建立長連接;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于阿里巴巴集團控股有限公司,未經阿里巴巴集團控股有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310004438.2/2.html,轉載請聲明來源鉆瓜專利網。





