成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

極光推送技術原理:移動無線網絡長連接

移動開發
因為手機平臺本身、電量、網絡流量的限制,移動互聯網應用在設計上跟傳統 PC 上的應用很大不一樣,需要根據手機本身的特點,盡量的節省電量和流量,同時又要盡可能的保證數據能及時到達客戶端。

移動互聯網應用現狀

因為手機平臺本身、電量、網絡流量的限制,移動互聯網應用在設計上跟傳統 PC 上的應用很大不一樣,需要根據手機本身的特點,盡量的節省電量和流量,同時又要盡可能的保證數據能及時到達客戶端。

為了解決數據同步的問題,在手機平臺上,常用的方法有2種。一種是定時去服務器上查詢數據,也叫Polling,還有一種手機跟服務器之間維護一個 TCP 長連接,當服務器有數據時,實時推送到客戶端,也就是我們說的 Push。

從耗費的電量、流量和數據送達的及時性來說,Push 都會有明顯的優勢,但 Push 的實現和維護成本相對較高。在移動無線網絡下維護長連接,相對也有一些技術上的難度。本文試圖給大家介紹一下極光推送在 Android 平臺上如何維護長連接。

移動無線網絡的特點

因為 IP v4 的 IP 量有限,運營商分配給手機終端的 IP 是運營商內網的 IP,手機要連接 Internet,就需要通過運營商的網關做一個網絡地址轉換(Network Address Translation,NAT)。簡單的說運營商的網關需要維護一個外網 IP、端口到內網 IP、端口的對應關系,以確保內網的手機可以跟 Internet 的服務器通訊。

圖片源自 cisco.com. 

NAT 功能由圖中的 GGSN 模塊實現。

大部分移動無線網絡運營商都在鏈路一段時間沒有數據通訊時,會淘汰 NAT 表中的對應項,造成鏈路中斷。

Android 平臺上長連接的實現

為了不讓 NAT 表失效,我們需要定時的發心跳,以刷新 NAT 表項,避免被淘汰。

Android 上定時運行任務常用的方法有2種,一種方法用 Timer,另一種是AlarmManager。

Timer

Android 的 Timer 類可以用來計劃需要循環執行的任務,Timer 的問題是它需要用 WakeLock 讓 CPU 保持喚醒狀態,這樣會大量消耗手機電量,大大減短手機待機時間。這種方式不能滿足我們的需求。

AlarmManager

AlarmManager 是 Android 系統封裝的用于管理 RTC 的模塊,RTC (Real Time Clock) 是一個獨立的硬件時鐘,可以在 CPU 休眠時正常運行,在預設的時間到達時,通過中斷喚醒 CPU。

這意味著,如果我們用 AlarmManager 來定時執行任務,CPU 可以正常的休眠,只有在需要運行任務時醒來一段很短的時間。極光推送的 Android SDK 就是基于這種技術實現的。

服務器設計

當有大量的手機終端需要與服務器維持長連接時,對服務器的設計會是一個很大的挑戰。

假設一臺服務器維護10萬個長連接,當有1000萬用戶量時,需要有多達100臺的服務器來維護這些用戶的長連接,這里還不算用于做備份的服務器,這將會是一個巨大的成本問題。那就需要我們盡可能提高單臺服務器接入用戶的量,也就是業界已經討論很久了的 C10K 問題。

C2000K

針對這個問題,我們專門成立了一個項目,命名為C2000K,顧名思義,我們的目標是單機維持200萬個長連接。最終我們采用了多消息循環、異步非阻塞的模型,在一臺雙核、24G內存的服務器上,實現峰值維持超過300萬個長連接。

后記

穩定維護長連接是推送平臺的一個基礎,極光推送團隊將會在這方面長期投入,以保證用戶能有效的節省電量、流量,同時數據能實時送達。

責任編輯:閆佳明 來源: 51CTO
相關推薦

2010-09-07 13:51:26

無線網絡優化

2010-09-28 10:21:11

無線網絡連接

2010-09-08 12:48:02

無線網絡配置

2010-09-16 09:59:36

無線網絡故障

2010-10-15 09:24:32

無線網絡原理

2010-09-14 08:54:08

中文SSID無線網絡設

2010-09-08 14:27:18

無線網絡傳輸技術

2009-03-03 09:54:00

WiMedia無線

2010-09-13 11:02:13

WLAN無線網絡覆蓋

2010-09-08 09:04:45

無線網絡信號

2010-12-21 10:36:46

無線網絡連接

2010-09-15 10:16:09

無線網絡連接

2010-03-11 12:14:19

CDMA無線網絡

2009-03-09 09:51:00

2014-07-30 09:13:07

2010-08-27 12:56:35

CDMA技術

2010-09-25 13:39:46

無線網絡連接

2010-09-06 13:11:55

無線網絡Ubuntu

2010-09-27 13:47:19

無線網絡無線網卡設備

2011-04-18 14:27:44

華碩路由網絡
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产精品成人在线观看 | 久久人| 国产成年人视频 | 色综合色综合色综合 | 日韩精品一区二区三区中文在线 | 亚洲天堂精品久久 | 99久久99热这里只有精品 | 欧美一区二区激情三区 | 四虎在线观看 | 亚洲男人天堂 | 国产在线观 | 国产精品日日摸夜夜添夜夜av | 伊人精品久久久久77777 | 最新国产精品精品视频 | 久久久久综合 | 在线播放一区二区三区 | 欧美精品一区三区 | 夜夜久久 | 久久99一区二区 | 国产精品久久久久久久久婷婷 | 国产成人av一区二区三区 | 伊人精品视频 | 亚洲精品一区二区三区中文字幕 | 日韩午夜精品 | 2022国产精品 | 一区二区三区不卡视频 | 91亚洲精选| 亚洲综合色视频在线观看 | 欧美日韩一区在线观看 | 天天爽夜夜爽精品视频婷婷 | 亚洲一区 中文字幕 | 亚洲综合婷婷 | 涩涩视频在线观看 | 精品一区二区三区在线观看 | av一区二区三区 | 日韩欧美在线视频观看 | 综合一区二区三区 | a网站在线观看 | 日韩日韩日韩日韩日韩日韩日韩 | 国产精品美女久久久久aⅴ国产馆 | 91视频亚洲 |