年初火爆一时的“微信影响信令资源”事件,最终以“网络和软件优化”的结局暂时告一段落。但这个事件带来的启迪远未消亡:在网络以K计、价格以元算的现在,一个好的APP的设计要充分考虑到流量节约。尤其在国内,2G、2.5G、3G、WIFI等多种网络环境的差异愈加加剧了移动APP设计的难度。
为了保证用户使用体验,一般APP开发者以牺牲网络流量为代价,频繁重发信息或强化心跳机制,用户的流量费用和电量均损耗较大,导致用户感受非常差。
近期技术交流会上,佳和通信技术总监对流量优化提出的“天线相关性的网络传输机制”、“移动终端流量优化”等技术,在保证用户体验的前提下,有效节约了网络流量并显著降低了电量损耗。
天线相关性的网络传输机制
在移动终端中,手机天线会处于空闲、低功耗、全功耗三种模式相互转换之下。在没有数据需要传输时,天线处于Radio Standby状态,从Standby状态切换到Radio Full Power需要大概2s的响应时间,在Full Power状态后,如果其间没有数据需要进行传输,经过一段时间,又会回到Standby状态。充分利用模式转换机制,可以提高响应速度。
图1 天线激活状态示意图
针对以上特性,APP客户端在移动终端和服务器之间的通信可做三点优化:
第一,避免频繁获取数据。在手机天线处于Radio Full Power状态时,获取尽量多的数据,以避免每次都从Radio Standby状态切换到Radio Full Power状态。
第二,并发下载技术。在GPRS环境下,以下载三张150K的图片为例,顺序下载需要44S,而在并发下载的情况只需要37S,减少了7S的时间。
图2 顺序下载与并发下载的时间对比图
第三,断点续传功能。由于移动网络不稳定性较差,下载或传输较大文件时,网络经常中断,重连又得从头开始,既浪费时间又浪费流量。佳和移动APP客户端系统设计了断点续传功能,大大保证了大文件传输的成功率。
移动终端流量优化
针对GPRS网络一般情况只有十几K,甚至几K的带宽,
首先,简化数据封装格式。APP客户端需摒弃互联网常用的XML格式,转换为CSV格式。举例对拥有200人的组织架构和个人名片进行测试,使用XML进行封装时,数据量到3M左右,通过GPRS网络下载时,需要时间20秒左右,而通过对简化数据封装、压缩等,同样的用户量的情况下,使用GPRS网络仅需3秒。
另外,分散请求合并机制。按照规则设定请求的合并机制,尽量使相关请求和推送在一个集中的时间内得到处理,尽量使移动终端处于idle或low power状态,以降低电量消耗。
图3 优化前后同时间段电量消耗对比
统一通信移动应用APP通过上述的关键技术突破可以有效的节约流量、降低电量损耗。据佳和通信技术总监介绍,近期在某国防单位选项中,采用此技术的产品在测试评比中大幅领先,并获得了客户最终青睐。