面向私有云的即时通讯体系研究

2022-09-12

一、引言

近年来, 随着信息通信技术的不断发展, 网络通信不断融入人们的生活及工作。作为网络通信的重要应用, 即时通信能够为人们提供实时的文字、图片、音频和视频互动[1]。较为常见的应用软件如腾讯QQ、手机微信、阿里钉钉等。即时通讯与电子邮件、网络论坛相比, 其优势是:一是可实现较为便捷的实时信息互动;二是可实现基于多媒体的信息通信;三是可实现更为广泛的应用, 如即时文件传输、在线远程协助、历史信息查询等。

基于公网的即时通信应用一方面革新了人们的通信模式, 加速了人类文明的进步;另一方面也带来了诸多应用隐患, 如信息安全隐患, 数据通信拥塞、信息质量不佳等[2]。主要表现是:信息窃取几率大;音视频通信偶尔卡顿, 声音失真, 图像花屏;保密性文件不方便传输等[3]。

为了解决上述问题, 更好的利用互联网络实现即时通信功能, 提高数据通信安全和通信效果, 本文提出了一种面向私有云的即时通信体系架构, 对架构模型进行了描述, 对相关技术进行了详细阐释。本文的贡献在于:一是给出了基于私有云的即时通信基本功能的实现步骤;二是提出了消息接收与发送方的一致性问题解决策略;三是给出了面向私有云的通信带宽高效利用理念。下面给出具体内容。

二、系统体系架构

本节对面向私有云的即时通讯体系架构进行研究, 架构图如图1所示。

从图1中可知, 本文给出的系统体系为:通过私有云通信网络主站和各通信子站构建基于私有云的专用网络通道, 形成一个非公网的独立的通信网络。这个网可以是局域网, 也可以是广域网, 其性质取决于网络拓扑和通信网络规划。在通信网络主站部署即时通信服务器, 其他各子站部署即时通信客户端。客户端通过登录通信服务器, 实现即时通信应用功能。

三、即时通信基本功能设计

(一) 消息通信功能

当用户A向用户B发送消息时, 消息先发往服务器, 服务器接收到消息后, 根据消息目的地址通知用户B, 用户B再进行消息读取。系统使用TCP协议进行网络传输, 利用TCP协议的可靠性确保消息在网络传输过程中能有序到达而且不会丢包。

用户A向用户B发送消息及附件包括十个步骤。第一步, 用户A在对话框中输入消息;第二步, 客户端开启发送线程;第三步, 用户上传附件;第四步, 服务器保存附件;第五步, 服务器向客户端发送附件上传完成应答;第六步, 用户A发送消息正文;第七步, 服务器端写入消息记录;第八步, 服务器写入消息缓存;第九步, 服务器通知用户A消息到服务器发送成功;第十步, 服务器通知用户B接收来自用户A的消息。

用户A接收用户B的消息包括十个步骤。第一步, 用户A发送接收消息请求到服务器;第二步, 服务器向用户A返回消息列表;第三步, 用户A标记每条记录为“已送达”;第四步, 服务器接收到“已送达”通知后, 向用户B发送状态同步消息;第五步, 用户A开启附件接收线程;第六步, 用户A从服务器端下载必要附件;第七步, 服务器向用户A传送附件信息;第八步, 用户A接收消息;第九步, 向服务器端发送消息已阅读的通知;第十步, 服务器向用户B通报消息已读。

(二) 文件在线传输功能

用户A向用户B发送在线文件时, 通过构建在线P2P数据传输通道实现用户A向用户B直接进行文件数据的传输。若P2P通道不能构建, 则由服务器将用户A所发送的数据转发给用户B。文件在线传输用于两个即时通信客户端都同时在线的情况下互传文件, 在UDP协议的基础上建立一套P2P的文件传输机制。

用户A向用户B发送在线文件包括十七个步骤。第一步, 用户A将向用户B发送文件的请求发往服务器进行中转;第二步, 服务器向用户B转发来自用户A的文件发送请求;第三步, 用户B将接收文件的应答发往服务器进行中转;第四步, 服务器向用户A转发“接收文件回复”应答;第五步, 用户A将向用户B发送的建立P2P连接请求发送到服务器进行中转;第六步, 服务器向用户B转发来自用户A的建立P2P连接请求报文;第七步, 用户B将建立P2P连接的回复发往服务器进行中转;第八步, 服务器向用户A转发建立P2P连接的回复;第九步, 用户A向用户B发送开始传输请求报文;第十步, 服务器对开始传输请求进行转发;第十一步, 用户B向用户A发送开始传输回复报文;第十二步, 服务器向用户A转发开始传输回复报文;第十三步, 用户A构建与用户B的P2P文件传输通道, 并进行P2P文件数据传输;第十四步, 系统首先尝试两个客户端之间的局域网P2P连接, 如果局域网P2P连接不通就尝试基于网关的外网P2P连接, 如果外网P2P连接也不通, 最后使用服务器UDP中转数据;第十五步, 服务器向用户B转发来自用户A的文件数据;第十六步, 用户B向用户A发送文件传输完毕报文;第十七步, 服务器向用户A转发来自用户B的文件传输完成通知报文。

(三) 语音会话功能

用户A向用户B发起语音会话时, 用户A通过麦克风进行语音信息采集, 进而进行G.723语音编码, 再将发往用户B的语音信息发往服务器进行中转, 或直接通过构建的P2P数据通道进行语音信息传输。用户B通过网络接收来自服务器或P2P数据通道的语音信息, 经过语音数据解码后通过音频输出设备进行语音回放。实时语音会话要求低延迟, 允许少量丢包, 所以使用UDP协议进行语音数据包的传输。

用户A与用户B进行语音会话包括十四个步骤。第一步, 用户A向用户B发送语音会话请求;第二步, 服务器向用户B转发来自用户A的语音会话请求;第三步, 用户B向用户A发送接受语音回复;第四步, 服务器向用户A转发来自用户B的接受语音回复;第五步, 用户A向用户B发送建立P2P连接请求;第六步, 服务器向用户B转发建立P2P连接请求;第七步, 用户B向用户A发送建立P2P连接回复;第八步, 服务器向用户A转发来自用户B的建立P2P连接回复;第九步, 用户A启动音频信息采集设备, 并向用户B发送启动设备消息;第十步, 服务器向用户B转发来自用户A的启动设备消息;第十一步, 用户B向用户A发送启动设备确认消息;第十二步, 服务器向用户A转发来自用户B的启动设备确认消息;第十三步, 用户A向用户B发送开始语音会话消息;第十四步, 服务器向用户B转发来自用户A的开始语音会话消息。语音会话时, 系统首先尝试两个客户端之间的局域网P2P连接, 如果局域网P2P连接不通就尝试外网P2P连接, 如果外网P2P连接也不通, 最后使用服务器UDP中转数据。

(四) 视频通信功能

用户A与用户B进行视频通信时, 用户A首先开启本地摄像头, 在进行视频信息采集和视频编码后, 把视频信息发往用户B。系统根据实际网络情况, 对于来自用户A的视频流可以通过用户A与用户B构建的P2P数据传输通道进行数据传输, 也可以通过服务器进行中转。用户B通过网络接收视频信息, 在进行视频解码后, 通过视频播放器进行视频回放。

用户A与用户B进行视频通信包括十四个步骤。第一步, 用户A向用户B发送视频通信请求;第二步, 服务器向用户B转发来自用户A的视频通信请求;第三步, 用户B向用户A发送接受视频通信回复;第四步, 服务器向用户A转发来自用户B的接受视频通信回复;第五步, 用户A向用户B发送建立P2P连接请求;第六步, 服务器向用户B转发建立P2P连接请求;第七步, 用户B向用户A发送建立P2P连接回复;第八步, 服务器向用户A转发来自用户B的建立P2P连接回复;第九步, 用户A启动视频信息采集设备, 并向用户B发送启动设备消息;第十步, 服务器向用户B转发来自用户A的启动设备消息;第十一步, 用户B向用户A发送启动设备确认消息;第十二步, 服务器向用户A转发来自用户B的启动设备确认消息;第十三步, 用户A向用户B发送开始视频会话消息;第十四步, 服务器向用户B转发来自用户A的开始视频会话消息。

四、信息安全及带宽高效利用策略

(一) 消息接收与发送方的一致性

一是进行消息状态跟踪。每条消息发送以后, 系统会自动跟踪并同步消息的各种状态, 支持“发送成功”、“发送失败”、“已送达”、“已读”、“已撤回”、“已删除”等消息状态。二是进行多设备消息同步。多设备消息同步, 支持基于Windows, MacOS, Android, iOS, Web等多种不同客户端设备之间的消息同步, 保证所有客户端设备消息记录的一致性。三是进行消息记录漫游。客户端发送的所有消息均经过服务器, 当用户A发送一条消息给用户B时, 服务器会写入A自己的聊天记录, 同时还会写入B的聊天记录, 每条消息作两份存储, 服务器保存有效期内的全部聊天记录, 以备查阅。

(二) 带宽利用策略

一是缩略图预加载。上传比较大的图片和短视频时, 系统会自动生成一张缩略图, 与原文件一起上传到服务器, 当客户端接收比较大的图片和短视频时, 不直接下载原始文件, 仅预加载较小的缩略图, 用户点击后再加载原始文件, 这样可以有效减少网络带宽占用。

二是用户A向用户B发送离线文件时, 用户A首先在本地进行一次扫描, 计算文件的MD5或SHA1值, 然后向文件请求上传这个文件, 服务器根据MD5或SHA1值判断是否已存在二进制相同的文件, 如果已存在, 客户端不需要重复上传文件内容, 直接完成上传任务。实现对网络带宽的优化使用。

三是断点续传。每个文件在接收的时候会在本地产生一个临时文件, 等所有数据都接收完成的时候, 再将临时文件重命名为真正的文件名, 完成一个文件的接收工作。如果一个文件在传输过程中因为网络中断或人为取消的原因终止了, 等再次恢复传输的时候, 就从临时文件读取最后接收进度, 从上次中断的位置开始继续传输剩余的文件数据。

五、结语

随着时代的发展、科技的进步, 基于公网的即时通信应用软件不断出现。随着即时通信应用者数量的增加和应用群体范围的扩大, 即时通信应用成为人们生活、工作的必备通信工具。为了更好的解决公网中的即时通信应用弊端, 本文提出了一种面向私有云的即时通讯体系, 采用私有云通信站点构建专有网络通信系统, 明确了基本的即时通信功能实现流程, 对消息接收与发送方的一致性问题的解决途径进行了探索, 对高效带宽利用理念进行了阐述。本文工作对特定单位的信息通信保障体系构建具有一定的参考价值。

摘要:随着信息技术的飞速发展, 以及嵌入式智能终端的广泛普及, 基于信息网络的即时通讯成为现实。人们利用微信、QQ、阿里钉钉等即时通讯软件实现了随时随地的面向文字、图片、音频和视频的信息交互。这一方面革新了人们的通信模式;另一方面也带来了诸多应用隐患, 如信息安全隐患, 数据通信拥塞等。为了更好的利用互联网络实现即时通信功能, 提高数据通信安全和通信效果, 本文提出了一种面向私有云的即时通信体系架构, 对架构模型进行了描述, 对相关技术进行了详细阐释。

关键词:私有云,即时通信,体系研究,通信安全

参考文献

[1] 石富全.私有云环境下通信服务平台的设计与实现[D].成都:电子科技大学, 2018.

[2] 钱丹.基于私有云的高校云共享模式研究[J].中国电化教育, 2013 (5) :29-32.

[3] 代印唐, 张世永.即时通信安全研究[J].电信科学, 2006, 22 (4) :15-21.

本文来自 99学术网(www.99xueshu.com),转载请保留网址和出处

上一篇:心灵的震憾——自罚下一篇:腔道泌尿外科技术治疗尿路结石的护理(附4800例报告)