论文部分内容阅读
当前随着3G、4G时代的来临,传统通信网络的数据业务网速得到大幅提升,智能手机广泛普及,移动互联网的发展如火如荼,宽带的高速发展让传统的纯文本方式越来越无法满足人们之间的沟通需要,促使各种基于移动网络的新型IM软件层出不穷,大大便利了人与人之间的沟通。但是市面上流行的IM软件如腾讯QQ、微信、易信均属于商业企业的产品,出于商业保密的需求很多技术细节并未公开。在此背景下,各大研究机构纷纷提出了多种基于C/S架构或P2P架构的即时通讯系统,其中C/S架构由于实现IM更加便捷,无可争议的成为即时通讯领域使用最广泛的架构。本文采用最常用的C/S架构作为实现架构,从编程语言、常见网络数据交换格式、编解码器、缓存系统和数据库方向多维度详细阐述了本方案的选取理由,在此基础上完整实现了一套兼具文字与语音功能的即时富集通讯系统。所谓富集通讯即是一种通过自如运用文本、声音、视频等多种方式帮助人们以更自然的方式进行沟通的技术。在设计的过程中,充分考虑到服务器的负载均衡与容灾功能,利用软件实现了最少连接法以解决负载均衡的问题,利用Redis哨兵监听的方法采取主从模式实现了容灾功能。按照模块化的程序设计思想,本套系统依据C/S架构分别将客户端拆成UI、管理分发、线程池和语音共四个模块,将服务器拆成Mirror目录、Gate网关、Chat聊天、Admin管理和Http文件共五个模块,其中服务器部分是核心。Mirror目录服务器提供状态服务,Gate网关服务器提供转发服务,Chat聊天服务器提供聊天服务,Admin管理服务器提供管理服务,Http服务器提供文件上传、下载及监控服务。本文最后对本系统的两大组成部分分别进行了全方位的功能测试,测试结果表明本套系统较好达到了之前提出的设计目标。本文利用成熟的技术架构并结合合理的技术运用,提出设计了一整套基于PyQt的、具有良好易操作性和跨平台特性的即时富集通讯系统的完整解决方案,具有良好的应用前景。