论文题名: | 面向车载移动平台的即时通讯系统服务端的设计与实现 |
关键词: | 车载移动平台;即时通讯系统;C/S架构;TCP协议;模块化设计 |
摘要: | 近年来,即时通讯行业发展越来越快,各种通讯软件出现在大众面前,从而吸引了个大厂商对通讯行业的投资,促使了通讯领域的飞速发展。目前几种主流的通讯软件已经占领了整个市场,然而这些通讯软件所面向的群体是大众群体。为细分即时通讯市场,本产品—车圈APP(车载移动)应运而生。本产品主要面向的是中、高档型车的群体。为占领高端市场,本产品的宗旨是实现人与车,人与人,车于车之间的沟通交流。致力为用户提供好玩智能,沟通无限的用户体验,给用户个性化、细节化、创新化、人性化的贴心感受。 本文采用C/S架构进行服务器端系统的设计与开发。本系统中采用TCP协议进行通信,并且借鉴了xmpp协议格式,设计了自己的json消息协议。最终采用xmpp协议,将它作为信封来封装自己的json协议。主要是为了区分协议本身与消息内容。给客户端的开发提供了很大的方便。本次 IM服务端采用了ejabberd框架,它具有高并发、容错的功能。整个服务端系统的开发使用erlang函数式语言进行设计开发,数据库采用erlang自带的mnesia数据库。 本文研究的主要内容分为两个大模块:推送模块和群处理模块。推送模块需要监听服务器中的redis数据库,要读取redis中的数据,再解析json消息,获取需要的值。判断消息是好友通告还是群组通告,将消息重新封装成xmpp消息格式推送给客户端和群处理模块。群处理模块主要是对群消息进行处理。在本模块中,要区别消息的来源,要进行模式匹配,将群消息发往子模块中去处理。在这两个模块中,需要考虑进程奔溃后的处理。而erlang语言本身就是一个高并发语言,所以子进程的奔溃不会影响整个系统的运行,而且有重启进程机制。 通过对系统进行性能测试和功能测试,得出了系统的并发量,个人消耗资源情况。根据测试结果进行代码调优,ejabberd调优,erlang调优,系统调优,以满足实际中的高并发需求。测试结果总体符合预期结果,达到系统的要求。 |
作者: | 马金余 |
专业: | 软件工程 |
导师: | 刘曙;侯甲子 |
授予学位: | 硕士 |
授予学位单位: | 哈尔滨工业大学 |
学位年度: | 2015 |
正文语种: | 中文 |