近日,2013 eoe移动开发者大会在北京隆重召开,大会以“技术改变世界”为主题,汇集了诸多国内外一线移动互联网公司。同时,亦有最新潮、前沿的穿戴式设备和开源硬件厂商加入。作为国际通信技术领先者,华为受邀参与会议,华为推送首席架构师李平发表了“移动智能终端Push系统设计”的主题演讲,与广大开发者分享了华为底层推送(Push)平台服务的最新系统理念及优势价值。
据国外调查显示,应用集成Push和非集成Push相比,能够提升近1倍的应用留存度,同时对于留存用户本身,也能带来2至4倍的活跃度提升。而李平表示,想要真正设计达到“极客”水准的推送服务系统,面临诸如网络适应性、电量流量消耗问题等方面挑战。归类溯源,主要来自终端、网络、云端这三个环节。
终端挑战:与PC差异巨大,主要体现在功耗、流量和后台进程
手机终端最大的受限资源是电量,对Push后台进程的电量消耗在网络和唤醒上,不同的网络情况对于耗电的差异性也存在较大影响。Modem在不同的网络、协议下的电量消耗不同,包括数据通道的电流差异、关闭和休眠策略差异等,折算到应用上的耗电主要包括了唤醒、数据流量的请求等。不同的推送实现和参数,对手机终端的功耗以及耗电统计存在很大影响。
移动终端的系统本身也具有一定特殊性的,如随时可能休眠以及网络切换等都是影响终端推送效果的一个重要因素。
所以,华为推送在终端方面着重关注包括连接共享和环境感知。感知用户所处的网络环境、使用场景,来管理我们的连接模式和参数,充分考虑到功耗、流量与可服务时长的平衡,将推送服务优化到极致。
网络挑战:3G时代,关注系统网络连通性和连接限制
用数据库的方式来统筹计算最优的网络连接方式,这对于设计一个比较“极客”的推送系统最为关键。连接的保持会不会发生什么变化?以及它对应的QoS时延、响应、超时等等,各个地区,不同的运营商、不同的接入点、不同的区域、不同的协议表现的相关参数都不相同。所以,华为采取全球分布式部署,在全球形成5个大的中心点,国内采用多机房分布式,通过终端感知匹配最佳网络参数、就近接入,达成一个极为完善的系统。
云端挑战:关键点是百万连接
设想一下,百万连接每5分钟或10分钟一次,对应的请求便在几十万甚至上百万,所以必须要有缓存、分布式。还有一个更大的影响就是,当一台机器上百万的连接上来之后,单点故障极有可能连带导致机房瘫痪。此外网络安全、服务器的问题,安全方面也都是需要考虑的事情。在这个方面,华为推送是通过云端与终端智能感知、QoS结合,从源头控制浪涌,通过去中心化和事件渠道支撑大容量高并发,通过电信级安全架构充分保障稳定性和安全性。
华为推送:在专注的领域做到极致
综合来看,建设一个推送系统,真正做到好用,投入成本是非常高的。而华为的理念就是在专注的领域做到极致,以电信级的服务来满足“极客“级的需求,并经过五千多万华为手机、全球网络的考验。目前,华为推送平台正式对外开放,它的接入和使用都有相应的免费及优惠策略,分享“极客”级服务系统理念,移动开发者获得“电信”级推送技术服务将变得更加容易