本栏推荐

相关阅读

快讯信息

您现在的位置是:主页 > 品牌 > 腾讯 >

微信收费事件中鲜为人知的技术内幕

发布时间:2013年04月16日 12:35:53 腾讯 人已围观

简介作为一名同时涉足通信和互联网行业的从业者,我在前四年的核心网经验和后五年的互联网经历中深感遗憾。通信与互联网可以实现技术的完美协同,为移动互联网的发展提供更强大的...

作为在通信和互联网行业中积累了丰富经验的从业者,我曾在核心网络领域工作了四年,随后又在互联网行业奋斗了五年。这让我深感遗憾的是,尽管通信和互联网领域本可以通过技术的相互协同为移动互联网提供几乎零耗电零流量的推送机制,但由于两者之间长久以来的价值观差异和防范心理,如今智能手机的推送技术不仅让用户电量消耗显著增加,还给移动运营商的基础设施施加了不必要的信令压力。这场围绕微信与运营商之间的争端正是这一矛盾的集中体现。

在各方关于此事的专业分析中,通信行业的专家批评微信发送的心跳包过于频繁,导致了“信令风暴”,而互联网工程师则常以用户的角度对移动运营商进行调侃,双方较少深入探讨背后复杂的技术问题和利益冲突。接下来,我想提及一些被忽视的重要技术细节。

为什么像Apple和Google这样的科技巨头使用相同推送技术却未遭到运营商的攻击,而唯独微信成为靶子?或许有人会觉得这是运营商对强者的敬畏,实际上从数据来看,微信在信令需求上的确超过了Apple和Google。这是否意味着腾讯的技术不如人,遭遇了问题?其实并非如此,我们也曾在推送技术上进行过深入的分析和研究,其中的一些发现还可能解释这背后的原因。

根据我们的分析,当基带空闲达到一定时长后,运营商的IP网关会自动断开连接。目前各大公司使用的推送通道虽均基于“长连接慢心跳”的原理,但这个“慢”字涵盖了复杂的内容。例如,在Android系统中,Google的GCM(谷歌云推送消息服务)在通过蜂窝网络连接时,默认使用的心跳周期是28分钟,这个设计旨在最大限度降低心跳频率,从而节省电量。

但这一在全球许多地区行得通的原则一到中国大陆便显得不再适用。以中国移动的2.5G网络为例,初步测试发现连接在大约5分钟的基带空闲后就会被断开,这也解释了为何微信在Android系统中的连接心跳周期设定为‘5分钟’。

可能有人会疑惑,“那么Google的28分钟心跳在中国移动的2.5G网络中不能维持长连接吗?”实际上确实如此,这就是为什么Google的推送服务常出现延迟。当手机活跃使用时,基带通常不会长时间闲置,从而掩盖了核心问题。此外,在连接Wi-Fi时,宽带网关基本上没有释放空闲连接的机制,因此长连接得以保持,这也减少了我们在使用中遇到的推送延迟。

那么“5分钟”的心跳周期究竟意味着什么呢?这可以视为每部安装了微信的Android手机每天大约发送近300条短信(实际上消耗的信令资源可能远超这个数字);同时,这也意味着用户的手机会被从待机状态唤醒近300次,每次相当于接听几秒钟的电话。

Tags: 评论分析  腾讯