当前位置:主页 > 科技论文 > 软件论文 >

分布式即时通信系统设计与实现

发布时间:2020-07-17 03:11
【摘要】:如今移动互联网技术发展迅速,特别是5G的推出,在理论上可达每秒数十GB的传输速度,是4G网络传输速度的数百倍,网络传输速度已经不再是网络通信系统的瓶颈。在网络速度不断提升的同时,各种新的产品层出不穷,可以上网的设备已经不局限于手机、平板电脑等手持设备,而是扩展到如汽车、空调、音箱等智能设备,这极大增加了网络的数据量。同时,新的业务场景对系统的实时性和稳定性要求越来越高,并且如今用户对于产品的体验要求越来越高,因此开发出可以稳定、快速的即时通信系统可以极大提高用户体验,具有重要意义。本文设计并实现了一种分布式即时通信系统,实现了在3秒左右即可完成服务器动态上线、下线,支持服务器“优雅”的下线。在通信协议的选择上,研究各种通信协议,如XMPP、MQTT等,经过比对各协议的优缺点后,确定使用一种自定义的协议格式,协议主体用谷歌开发的Google Protocol Buffer,在协议主体前加上报文头,用于标识消息长度和数据加密解密。在跨服消息处理上,利用REDIS作为中间缓存,各服务器到缓存取用户的消息,并设计了一种策略,避免无效轮询导致服务器负载过高。在连接方式上,采用基于TCP的长连接,并且在客户端、服务器之间采用心跳机制来定期检查连接。最后,为了便于对系统进行测试,开发了客户端程序,并实现了注册、登录、发送消息、修改密码、添加好友、删除好友、创建群组等业务功能。
【学位授予单位】:北京化工大学
【学位级别】:硕士
【学位授予年份】:2018
【分类号】:TP311.52
【图文】:

阻塞模式,套接字,函数调用,非阻塞


dose函数,关闭套接字,由于套接字描述符占用句柄资源,当不需要连接时,需逡逑要调用此函数释放资源。逡逑函数调用流程如图2-2所示。逡逑[逦逦逦|邋逦:???—逦?????.逡逑socket()逦socket()逡逑Y逡逑bind()逡逑逦y逡逑listen()逡逑逦>jr逦邋邋y逡逑connect()邋逦?accept。逡逑逦iy逦逡逑write。邋逦?邋read()逡逑逦i逦逦邋Y逦逡逑read。逦<逦邋write。逡逑逦i逦逦邋Y逦逡逑close。邋逦>邋close()逡逑图2-2套接字函数调用流程逡逑Fig.2-2邋Socket邋function邋call邋flow逡逑套接字有阻塞和非阻塞两种模式,创建成功后,默认为阻塞模式,在阻塞模式下,逡逑connect、accept、write、read函数会阻塞,一直到数据发送完成或有新的网络请求到逡逑来才会返回,在这段时间,调用这些函数的线程或者进程会一直被阻塞,无法执行其逡逑他操作,因此对于需要处理大量网络请求的服务器,显然不可能使用阻塞模式,而是、逡逑必须工作在非阻塞模式。非阻塞模式下,上述函数调用后会立即返回,此时不能只从逡逑返回值判断函数执行是否成功,还需要判断errno值,为了避免对操作符执行不必要的逡逑8逡逑

分布式即时通信系统设计与实现


图2-3邋protobuf与xml解析速度对比逡逑Fig.2-3邋Analysis邋speed邋of邋protobuf邋and邋XML逡逑

算法流程,密钥,密文


而且速度较快,适用于加密大量数据的场合[21,221。逡逑由于DES算法密钥过短,存在一定的安全隐患,又产生了3DES,也就是通过执行逡逑3次DES来达到增加密钥长度和提高安全性,其过程如图2-4所示。逡逑密钥1丨逦密钥2逦:密钥3逡逑逦逦邋逦)邋[逦邋逦逦邋逦>邋[逦邋逦逦邋逦]邋[逦邋.逦逡逑明文一+邋加密:一 ̄?密文1邋—?解密——?密文2邋I——?加密; ̄?密文逡逑_.y逦逦逦逡逑图2-4邋3DES算法流程逡逑Fig.2-4邋3DES邋algorithm邋flow逡逑12逡逑

【参考文献】

相关期刊论文 前10条

1 聂晓旭;于凤芹;钦道理;;基于Protobuf的数据传输协议[J];计算机系统应用;2015年08期

2 高明;;浅谈对称加密算法与非对称加密算法的应用[J];电子世界;2015年15期

3 马豫星;;Redis数据库特性分析[J];物联网技术;2015年03期

4 王重楠;王宗陶;鲍忠贵;邢宏伟;;发布/订阅模式测控消息中间件系统设计[J];计算机应用;2015年03期

5 朱亚兴;余爱民;王夷;;基于Redis+MySQL+MongoDB存储架构应用[J];微型机与应用;2014年13期

6 张超;潘旭东;;Linux下基于EPOLL机制的海量网络信息处理模型[J];强激光与粒子束;2013年S1期

7 李纪欣;王康;周立发;章军;;Google Protobuf在Linux Socket通讯中的应用[J];电脑开发与应用;2013年04期

8 梁明刚;陈西曲;;Linux下基于epoll+线程池高并发服务器实现研究[J];武汉工业学院学报;2012年03期

9 王心妍;;Memcached和Redis在高速缓存方面的应用[J];无线互联科技;2012年09期

10 曹晓丽;王爱强;;AES算法研究[J];洛阳师范学院学报;2011年08期

相关硕士学位论文 前1条

1 钱睿硕;基于GPU加速的MD5哈希函数加密算法研究[D];华中科技大学;2009年



本文编号:2758898

资料下载
论文发表

本文链接:https://www.wllwen.com/kejilunwen/ruanjiangongchenglunwen/2758898.html


Copyright(c)文论论文网All Rights Reserved | 网站地图 |

版权申明:资料由用户f944a***提供,本站仅收录摘要或目录,作者需要删除请E-mail邮箱bigeng88@qq.com