« »

2 月 16 2009

大陆Push Mail方案不完全研究

Published by at 03:08 under 技术流

题外话:Blackberry与911

Blackberry的崛起是在2001年911事件之后,按广泛流传的说法,当时全美的常规通信网络都处于瘫痪状态,白宫也不例外,时任副总统的切尼正好有一个黑莓手机,并成功用它指挥了救灾工作,之后美国便掀起了购买黑莓的热潮。

切尼当时是否真的用黑莓指挥救灾我无从考证,但这里面有两个非常明显的误区。第一,911的时候RIM并没有一款能够被称之为手机的产品。RIM第一款基于GSM网络也是第一款具备语音通话功能的设备Blackberry 5810是在2002年推出的,也就是说2002年以后世界上才有了一种叫黑莓手机的东西,这之前所有的黑莓产品都只能被称作数据终端。第二,911时黑莓能够正常使用是因为当时黑莓不依赖于常规通信网络。从Blackberry官方网站的产品目录可以看出,5810以前所有的黑莓终端都是基于DataTAC或者Mobitex两种窄带数据通信网络的。一方面由于是非常规通讯网络,用户基数较小,网络容限与用户数比较常规方式高很多,在突发事件时受的冲击就小;另一方面作为纯数据通信网络,通讯时信道占空比很高,较语音网络而言,发生网络阻塞的概率几乎可以忽略。但如今Blackberry终端绝大多数都是基于GSM或者3G网络的,只有很少几个型号可以使用iDEN网络。简单地讲,现在的黑莓在通讯能力上与普通手机没什么区别,如果再来一次911,黑莓也会和其它手机、电话一样成为废铁。

 

常见Push Mail技术与方案

基于POP3/IMAP客户端定时收信的伪Push我想就没必要提了,目前主流的Push Mail技术主要是OMA EMN Push和IP Push两种。

 

EMN Push

EMN(Email Notification) Push是WAP Push(WAP 1.2标准)的一个扩展。WAP Push分为WAP Push SI(Service Indication)和WAP Push SL(Service Load)。前者就是经常被用于垃圾广告的服务信息,后者最常见的应用就是彩信。EMN Push就是建立在SL之上的,运营商通过一条WAP Push SL信息(通常是以SMS方式发送的)启动手机上的客户端,自动连接数据网络,继而完成邮件收取动作。需要说明的是,中国移动的彩信和中国联通的彩e从本质上来讲就是EMN Push Mail,虽然在OMA标准里将MMS单独列出来写了,但在工作原理和系统结构上两者几乎是一样的。

目前在大陆采用EMN Push方式的方案有移动和RIM合作推出的Blackberry解决方案、移动自已的139邮箱、联通的Redberry。早些时候尚邮曾经推出过基于EMN Push的久久邮业务,但后来中国移动出于众所周知的原因限制了SP使用WAP Push功能,久久邮也就消失了。

 

IP Push

目前所有的Push Mail数据传输都是基于TCP/IP网络的,IP Push顾名思义就是Push Mail服务器通过IP地址定位手机终端。由于手机的IP地址是在连接了数据网络之后通过DHCP方式获得的,Push Mail服务器如果不是与运营商有紧密合作(就像RIM与中国移动,不过有了这层关系当然也可以使用EMN Push了)是无法获知终端的IP地址并进行推送的。IP Push的工作原理是在手机与服务器之间保持一个TCP长连接。手机开机后在后台运行一个客户端程序连接到Push Mail服务器并告知IP地址,之后通过“心跳”等技术保持连接不断,邮件到达时服务器就可以把邮件直接推送到手机的IP端口上。

尚邮采用的就是这种方式,还有Microsoft Exchange Server 2003 SP2起开始支持的Direct Push技术,也是基于IP Push的。

 

技术比较

两者相比,EMN Push的优点在于省电和省流量。通常情况下,手机不连接数据网络,服务器在进行推送时才唤醒手机上的客户端连接数据网络。而IP Push则需要一直维持一个数据连接,并定时发送心跳消息以保证连接不被运营商踢掉,因而耗电非常厉害,同时也会造成大量不必要的数据流量。国外有网友拿HTC TyTN II做过对比实验,使用Direct Push,一天之内一块电池必定耗尽,而使用Blackberry Connect,一块电池至少可以维持三天。可惜他没有给出心跳频率的设置数据,这组结果只能做一个大概的参考。一直保持数据网络连接还有可能影响正常的电话和短信使用,不支持Class A的手机在连接了GPRS后会阻塞电话功能。我的O2 Atom Life虽然在使用数据网络时还能拨入电话,但短信会被阻塞,至今还未找到理论上的解释。

EMN Push的问题在于必须与运营商合作才能实现,市场处于被垄断的状态。如中国移动的Blackberry解决方案,最便宜的一档月费也要400元。139邮箱虽然只要5元或20元的月费,但只提供了最简单的邮件收发功能,而且没有与企业级邮件服务器连接的接口,只适合于一般个人用户。因而企业如果需要,还是只能选用Blackberry解决方案,这对于中小型企业是一笔不小的经济负担。相比之下,自行架设一台Microsoft Exchange Server并使用免费的Direct Push就有了很大的优势。

 

适用终端

Blackberry解决方案:最早仅支持Blackberry,现在通过Blackberry Connect软件,已经可以支持Windows Mobile、Symbian OS、Palm OS

139邮箱:Windows Mobile、Symbian OS、Linux

尚邮:Windows Mobile、Symbian OS、Blackberry

Microsoft Direct Push:Windows Mobile

 

139邮箱Push Mail功能体验

去年暑假的时候,5元版的139邮箱搞了一个免月费到年底的活动,我便把我的三个邮箱都做了自动转信到139邮箱,以实现推送,到现在用了有半年了。目前已发现的问题主要有两个,一是经常出现推送丢失,二是容易泄漏用户的手机号。

对于第一个问题,我经过观察发现,通常是因为收到EMN信息时,手机暂时无法连接数据网络造成的。我猜测139邮箱的EMN信息只是启动手机客户端,并进行一次收取邮件的动作,缺乏相应的同步数据,也没有确认机制,客户端甚至没有失败重试的功能。手机客户端在暂时无法收取邮件时直接放弃执行,便出现了推送丢失的现象。而下一条EMN信息到达时,又会连前面没有推送成功的一起收下来。网上盛传的139邮箱推送延时很厉害,可能就是因为这个。相比之下,Blackberry解决方案在推送流程中已经有了Delivery Confirmation的机制,超时后服务器会再次执行推送,确保了推送的即时性。

第二个问题源于139邮箱是以手机号作为帐号的,出于保护隐私的考虑,移动允许用户设置一个别名映射到手机号帐号。问题在于手机客户端仍然采用手机号帐号来连接移动的邮件服务器,因而通过手机客户端发送的邮件头部仍然可以找到发信人的手机号。

其实诸如无法与桌面邮件客户端进行同步,缺乏与企业级邮件服务器连接的接口等问题我倒都不是很在意,相比月费数百元的Blackberry解决方案,139邮箱还算对得起它的价格。

 

替代方案

国内某些邮箱还支持将邮件内容通过短信或者彩信发送给用户,就是所谓的SMS Push和MMS Push,或者更简单点的邮件到达短信通知。虽然这些方案在易用性上无法与真正的Push Mail相比,但从即时性上来讲也不相上下。而且这类服务有一个优点就是不需要智能手机就可以使用,作为经济型替代品,也是不错的选择。



本文链接地址:https://blog.cuilw.com/post/511

No responses yet

Leave a Reply