透视互联网APP的心跳机制

摘要: 心跳信息是单方向的,周期比较长。此外互联网应用的心跳除了宣告终端在线外,还有一个任务就是提供终端的即时地址,方便服务器的寻址。此外还有很多副作用,可能给通信网络带来信令风暴。

透视互联网APP的心跳机制

微信的信令风暴将人们的目光导向心跳机制,那么心跳机制是怎么回事呢?

最早的心跳机制用于服务器的安全备份机制,是为了防止服务器死机,而在服务器之间采用专用的端口和线路,周期性传送简短的信息,心跳就是形象的比喻。一 旦收不到对方的心跳信息,服务器可以接管对方的业务,避免业务的停滞。为了业务的顺畅进行,服务器发送的心跳信息可以非常频密。

这种机制被手机上的互联网应用所借用,无论是Android的原生应用,还是QQ、微博和微信,都采用了这种心跳机制,也就是终端定时向应用服务器发送简短的信息。但是与服务器之间的心跳机制相比,

还是有一些差别:

1. 心跳信息是单方向的,只有终端发到应用服务器;

2. 心跳信息的周期比较长,比如旧版QQ的心跳周期为30s,新版QQ为180s,微信为300s,Google原生应用为1680s左右。

另外,互联网应用的心跳包除了宣告终端在线外,还有一项重要的任务,就是提供终端的即时地址,方便应用服务器的寻址。

有了互联网应用的心跳机制,应用服务器可以及时下发(Push)用户相关的信息,比如微信中的短消息、图片或者语音等。

心跳包也会带来很多副作用,比如终端更为费电,还可能给移动通信网络带来信令风暴。

看起来很完美的心跳机制,为什么会给移动网络带来信令风暴呢?

原来,移动通信网络中由于用户众多、资源稀缺,每个用户都是动态占用资源,比如IP地址以及无线信道。每次发送心跳包,都需要移动通信网络为用户分配资源,分配的过程体现在信令的发送和接收上。一次心跳包的发送过程,牵涉的信令多达几十条。

随着互联网APP的普及,大量的终端周期性地发送心跳包,效果类似于IP网络中的DDOS,必然对移动通信网络设备带来冲击,造成拥塞等情况,这种现 象就是信令风暴。信令风暴不仅中国移动的GPRS网络存在,中国联通的WCDMA网络、中国电信的CDMA网络都存在。由于中国移动用户数量庞大,因此信 令风暴的影响更显著而已,简而言之,就是50步与100步的差别。

解决的办法也是有的,一方面心跳机制还需要优化,比如降低心跳包的发送频率,允许用户调低心跳包的发送频率,多应用联合发送心跳包。

另外一方面,移动通信网络可以简化资源的分配过程,从而降低信令的开销。

最后,还可以做大胆的革新,互联网APP不用IP来寻址,而是用电话号码来寻址,这样借用移动通信网络原生的寻呼机制,就可以不用心跳包了。

本文系作者 readhere 授权钛媒体发表,并经钛媒体编辑,转载请注明出处、作者和本文链接
分享到:

第一时间获取TMT行业新鲜资讯和深度商业分析,请在微信公众账号中搜索「钛媒体」或者「taimeiti」,或用手机扫描左方二维码,即可获得钛媒体每日精华内容推送和最优搜索体验,并参与编辑活动。

readhere
readhere

从此,读懂通信 www.readhere.cn

评论(3

  • 活在当下_石头 活在当下_石头 2013-04-30 10:28 via weibo

    移动的网络确实是差,流量费用是全世界最贵的,拿着回家的钱却建设不好的网络,还想让所有的网络公司以手机号码作ip,还要不要脸??!!

    0
    0
    回复
  • carrotava carrotava 2013-04-28 07:36 via weibo

    微信不显示对方正在输入……了

    0
    0
    回复
  • 手机用户1883706933 手机用户1883706933 2013-04-28 06:23 via weibo

    这两天微信退出不推送消息了!怎么回事?我的设置一直没变!有遇到和我一样的吗?

    0
    0
    回复

Oh! no

您是否确认要删除该条评论吗?

分享到微信朋友圈