当前所在位置: 首页 > 网络工程 > 正文

可靠消息系统移动网络的论文

【 字体:

可靠消息系统移动网络的论文

可靠消息系统移动网络的论文

  1消息系统设计

可靠消息系统移动网络的论文

  1.1系统基础架构

  基于不可靠移动网络的消息系统,是目前移动互联网及时通讯研究的热点,无论是消息推送,还是IM等及时通讯应用都涉及这个方面的问题,如何保证消息及时有效地送到用户是研究的关键。从技术上,消息的送达主要有2类技术,一类是客户端轮询,即客户端不断地发送请求获取新内容;另一类是推送,即服务端在有消息内容时将消息推送到客户端。轮询实现比较简单,即客户端在一定的时间间隔内向服务端请求,获取新的数据,目前这种方式在当前互联网上的消息应用中较为普遍。但这种方式在移动网络下存在较多问题,如果设置时间间隔太长,会造成消息的及时性不够,如果设置太短,会造成较大的数据流量,移动网络目前的流量成本还比较高,另外对移动设备的电量消耗较大。而推送方式采用长连接的方式,有效地避免了上述问题,但是,由于移动网络的不稳定性,在长连接情况下没有传统网络稳定,客户端时有掉线。因此笔者在参考推送模式和XMPP(ExtensibleMessagingandPresenceProtocol,可扩展消息与出席协议)的基础上,借用轮询请求的方式,实现消息的有效回执,同时采用重试链接的方式回避长连接的不稳定,在传统的推送基础上加了重发机制。该消息系统在架构上由客户端、服务端和数据层构成,各层由不同子功能模块组成。客户端主要为用户提供交互操作的界面,包含消息回执、消息显示等模块,其核心是客户端收到消息后,根据消息体的相关属性决定消息是否需要回执,采用何种模板进行消息体的展示。服务端由多台基于Openfire的IM服务器集群、Zookeeper集群以及消息待发队列和重发队列组成,用于处理、转发及重发客户端消息、接收客户端消息回执、监听客户端状态等。此外,还包含统一的数据访问接口,用于访问缓存数据库。数据层用于存储来自应用系统的相关数据和用户状态,其中缓存数据库主要存储用户信息及离线消息等,Zookeeper集群主要存储IM服务器集群的共享数据。

  1.2各模块功能

  1)客户端消息回执模块用于构造并发送客户端消息回执。当客户端成功接收在线消息或离线消息时,立刻向服务端发送“成功接收在线消息”或“成功接收离线消息”的回执,告知服务器客户端已成功接收到消息,不用重复向其发送此消息,服务端的业务层根据回执的情况对消息进行相应的业务处理。

  2)客户端消息显示模块根据消息类型对消息予以不同的显示。消息主要分为普通消息、多媒体消息、联动消息3类,客户端消息显示模块根据上述的类型,从消息弹出方式、消息字体颜色、消息的联动等方面进行不同的.处理。比如消息是否需要弹出、客户端收到消息的声音模式以及该消息内容是否进行下一步联动操作。

  3)服务端消息处理模块主要负责接收客户端的消息回执,当该模块接收到客户端的消息回执时,表示客户端已经收到该消息,后续对该消息进行完整的事务处理,把该消息从待发队列移除,同时置该消息状态位为已发送。

  4)服务端消息处理推送模块主要根据消息接收者的状态实行不同的消息发送策略,同时根据消息的内容和形式组成不同的消息体,便于客户端进行消息的显示,同时提供其他应用服务器能够通过IM服务器向客户端推送消息接口。

  5)服务端消息重发模块用于重新发送未成功送达客户端的消息。服务器端维护一个重发队列保存其发送过的消息,当收到回执时则从队列删除相应消息,若未收到回执,则在计时器周期遍历重发队列时重发此消息,以此来提高服务器端向客户端发送消息的可靠性。服务器端根据消息的重要程度采用不同级别的重发策略,越重要的消息重发的频率和次数越高,多级别的重发策略便于定制,更为灵活。

  6)服务端状态管理模块主要是维护客户端的长连接状态,如客户端上线、离线、暂时不接受某类消息等,该模块对消息推送策略的制定至关重要。

  7)数据层的数据存储模块主要是对消息内容的保存和用户连接状态的存储,由于消息的量比较大,文件大小较小,采用缓存机制可以有效降低磁盘IO吞吐消耗,缓存机制的读取和存储速度较快,有效地提升系统的响应速度。

  1.3重发策略分析

  保障客户端的消息接收是本文的关键,难点在重发策略。消息重发策略包括服务端消息重发策略及客户端消息回执策略。为支持服务端消息重发功能,IM服务器需要维护一个消息重发队列,当IM服务器推送完成一条消息后,将该消息从待发队列中移到重发队列,IM服务器检测客户端的在线状态,如果在线,则立即发送,同时待成功收到客户端的回执时从重发队列删除相应的消息,如果不在线,则将消息存为离线消息,标识消息的发送时间和已发送次数。IM服务器采用集群方式,各个IM服务器需要共享同一个消息重发队列,本文借助Zookeeper实现消息队列的共享与同步。Zookeeper是通过选举产生leader和follower,其算法正确执行的前提是有一半以上机器正常工作,每台机器部署一个IM服务器及一个Zookeeper服务器,各IM服务器之间进行负载平衡,各Zookeeper之间进行数据同步,IM服务器优先从本地Zookeeper存取数据。各机器中只有一台机器作为主服务器,其余作为从属服务器,主服务器负责消息的重发。计时器控制消息重发,要求重发队列中的消息至少包含消息体、已重发次数、上一次发送时间等数据。当执行计时器任务遍历重发队列时,若某消息距上次发送时间超过阈值则重发此消息,并修改消息最后一次发送时间以及已发送次数,当某消息发送次数达到设定的上限时就将其存为离线消息,待用户登录以后再接收此消息。

  2消息系统实现

  本系统在完成设计后,笔者搭建了一套测试系统,该系统服务端采用4台2CPU/4G内存机器做IM服务器和3个Zookeeper集群,1台2CPU/8G内存的服务器作为数据存储的redis服务器。同时选取了目前市场比较主流的中国移动2GAndroid手机1台,中国联通的3GAndroid手机终端1台。在应用搭建完成后,分别在2G、3G网络下,通过服务端进行了100、1000、1000、10000条消息向客户端推送,一种情况是消息没有重发和回执策略,另一种情况采取5次的重发策略和消息回执策略,特别是2G(不稳定)的网络,通过提升重试次数,大大增加了消息的投达能力,消息到达率由80%多平均提升到96%左右,而在3G网络下,消息的到达率也平均有90%提升到98%左右。同时由于有了消息回执机制,服务端显示的消息到达条数和客户端实际收到的消息条数是一致的。而没有采用消息回执策略的,客户端实际收到的消息大概是95%左右,有5%的异常情况。进一步分析各种失败的消息情况,可以看到重试间隔时间越长,消息的失败率越高。从测试报告可以看出,系统的重试间隔时间在一定范围内,成功率比较高,随着时间越长,成功率显著下降。因此重试间隔也有一定的限制。

  3结束语

  随着从传统的互联网时代步入移动互联网时代,无论对于个人还是企业,对于即时通讯的需求一直有增无减,及时获取消息,对提升用户体验,保证通信质量,提高用户满意度,增强产品及企业的竞争力具有重要的意义。本文通过结合推送和轮询模式,探索出一种基于移动网络安全可靠的消息系统。它既能大大地提升服务能力和服务体验,还能有效地降低系统成本。

阅读全文
论文助手 微信扫一扫
相关推荐

信誉说明

信誉说明
毕业论文网创建于2006年,是国内最早的一批论文资料库与论文网站。在以往10多年的服务中,我们一直将信誉作为工作准则,专注品牌的建设。通过不断的业务完善和提高,我们现在成为学

毕业论文设计指导教师评语

毕业论文设计指导教师评语
转眼间充满意义的大学生活就即将结束,毕业论文是毕业生都必须通过的,毕业论文是一种有计划的、比较正规的检验大学学习成果的形式,那么应当如何写毕业论文呢?下面是小编整理的毕业论文设计指导教师评语,希望能够帮助到大家。  毕业论文设计指导教师评语1  该生能比较全面地完成毕业设计(论文)的任务,方案合理、方法正确,能综合运用本专业的基础知识,分析问题和解决问题的潜力较强。能够运用本学科的常规研究分析方法,运用相关开发技术及软件,进行资料收集、

浅谈如何激发学生的政治学习兴趣

浅谈如何激发学生的政治学习兴趣
浓厚的兴趣是成功的一半。对中学生来说,学习的兴趣就是他们学习的内在驱动力。因此,无论哪一门学科的教学都应高度重视培养学生学习的兴趣,并努力把兴趣培养发展成为追求理想的动力。

解读《诗经》中丰富的妇女形象论文

解读《诗经》中丰富的妇女形象论文
在社会的各个领域,大家或多或少都会接触过论文吧,论文是学术界进行成果交流的工具。那么你知道一篇好的论文该怎么写吗?下面是小编帮大家整理的解读《诗经》中丰富的妇女形象论文,欢迎阅读与收藏。  一、善良软弱的妇女形象  《邶风·谷风》的叙述语气以女主人公自述的方式向我们展示了她的勤劳和善良, 但是又是十分的软弱, 使我们一读完就能感受到女主人公的形象特征。  从内容可以看出, 女主人公在夫家最困难的时候,用勤劳善良的本性和丈夫一起同心同德,

论文答辩开场白(合集15篇)

论文答辩开场白(合集15篇)
在平平淡淡的日常中,大家都经常看到论文的身影吧,论文是进行各个学术领域研究和描述学术研究成果的一种说理文章。写论文的注意事项有许多,你确定会写吗?下面是小编为大家收集的论文答辩开场白,欢迎阅读,希望大

浅析童年经验对萧红文学创作的影响论文

浅析童年经验对萧红文学创作的影响论文
文章分析了童年经验对作家萧红文学创作的影响。童年经验包括“不愉快”和“愉快”两大类,认为“不愉快”的童年使萧红作品出现“父辈缺失”:“愉快”的童年使萧红作品中反复出现祖孙书写的特点。

土木建筑毕业论文答辩自述

土木建筑毕业论文答辩自述
论文答辩是大学论文考核过程中的最后一个重要环节,下面是小编搜集整理的土木建筑毕业论文答辩自述范文,欢迎阅读参考。 一、范文 各位老师,上午好! 我叫XXX,是XX级土木XX班的学生,我的毕业设计的题目是东海中学教学楼设计。毕业设计从去年12月份开始,一

优秀硕士开题报告

优秀硕士开题报告
硕士开题报告作为硕士研究生论文写作的重要支撑,是导师与评委判断硕士论文研究价值、可行性及创新性的主要途径,下面是小编搜集整理的优秀硕士开题报告模板,欢迎阅读参考。 论文题目: 旅游城市的旅游地产开发模式研究 一、课题来源及选题的指导思想 旅游
友情链接