论文部分内容阅读
随着智能手机、平板电脑等移动终端越来越普及,面向移动平台的应用对服务器推送技术又提出了新的要求。除了保证数据快速准确到达以外,还需要综合考虑移动终端内存有限、CPU计算能力弱、电池容量小、网络流量资费昂贵等多方面因素。相比传统PC平台下的推送应用,移动平台需要更加轻量、简洁、优化、智能的推送技术。特别是占据主流移动市场的Android平台,其开放性鼓励用户创新和发展新技术,研究面向Android平台的轻量级推送技术,具有良好的应用前景。基于此,本文提出了一种面向Android平台的并基于主题和发布订阅模式的个性化推送技术,研究内容包括:(1)基于消息类型的MQTT协议扩展技术研究。MQTT协议是IBM公司设计的一款开放、简单、轻量、易于实现的消息传输协议。MQTT定义了14种消息类型,并对每一种消息类型的数据包头部做了详细定义。本文提出三种扩展消息表达能力的方法:○1改变消息头部比特位的含义;○2在头部增加新的字节;○3启用现有消息中保留比特位,增加新的含义。本文根据交通应用中定期上传GPS信息这个特性选择第三种方法,启用PINGREQ消息中保留的比特位来定义客户端类型,实现区分目标群体。并且将用户定位消息附加到该消息中,使普通的心跳消息变成用于用户行为分析的数据上传消息。(2)基于属性描述的轻量级和个性化推送技术研究。在实际应用场景中,单纯强调数据及时到达无法满足用户日益挑剔的体验需求,特别是大量无效、无用的数据可能还会给用户带来反感。为此,本文提出一种带时空属性的报文消息格式,用来实现个性化推送。(3)在Android平台下的推送技术应用研究。根据上述方案,本文设计实现了一套面向Android平台的个性化推荐推送引擎,并且将它在一套智能交通系统中进行了应用验证。实验表明,通过缩短心跳包时间,可以显著地降低推送连接的丢包率,并且使用MQTT协议能够极大地减少额外的流量消耗。本文的研究表明,经过扩展的MQTT协议既能保持其在移动平台下的轻量级和简洁性等优秀特性,又具备了额外的消息表达能力用于构建个性化、智能化推送系统,可以作为移动平台下实现推送技术的首选协议。