基于云端协作的跨平台即时通讯系统设计毕业论文
2021-12-08 21:55:20
论文总字数:26416字
摘 要
群组聊天是即时通信中最重要的功能之一,“群组”往往对应社会中有特定交集的一群人,广泛应用于各种组织机构的交流和事务处理中。然而,一个个孤立的群组并不能很好地描述有着复杂结构的组织成员之间的关系。一个组织机构中往往同时存在平行和嵌套两种群体结构,例如学校中各个班级之间是互相平行的群体,而年级与班级之间存在嵌套关系。这使得大多数组织机构的组织方式更像树状结构,用一个个孤立的群组来进行管理存在交流低效,沟通成本高等弊端。
本系统将树(数据结构)引入即时通信系统中,对传统的群聊组织方式进行优化。首先,根据现实中的群体结构,本系统选取了“根树”作为群聊的基本组织方式。然后,本文对树状群聊结构的定义、操作和应用设计进行了系统地阐述。最后根据设计内容进行合理的技术选型,实现一个基于C/S架构的Web即时通信应用。应用前端基于Vue.js框架构建,后端使用Node.js作为服务器,并通过桌面端跨平台框架Electron.js进行Windows、Linux和Mac三个主流桌面操作系统的应用分发。
本文通过系统地分析论证后得出结论:树状结构的群聊组织方式在提高沟通和管理效率、减少数据冗余等方面相对于传统群聊方式确实具备一定优势。
关键词:即时通信;群聊;树(数据结构);Vue.js;Electron.js
Abstract
Group chat is one of the most important functions in instant messaging. A "group" often corresponds to a group of people with a specific intersection in the society. It is widely used in the communication and transaction processing of various organizations. However, isolated groups do not describe well the relationships among members of organizations with complex structures. In an organization, there are often both parallel and nested group structures. For example, each class in a school is a group that is parallel to each other, and there is a nested relationship between grades and classes. This makes the organization of most organizations more like a tree structure, and the use of isolated groups for management has the disadvantages of inefficient communication and high communication costs.
This system introduces an abstract data structure, a tree, into an instant messaging system to optimize the traditional group chat organization. First, according to the group structure in reality, the system selects the "root tree" as the group chat organization method. Then, this article systematically elaborated the definition, operation and application design of the tree group chat structure. Finally, according to the design content, a reasonable technology selection is made to realize a Web instant messaging application based on C / S architecture. The front-end of the application is built on the Vue.js framework, and the back-end uses Node.js as the server, and uses the desktop-side cross-platform framework Electron.js to distribute applications for the three mainstream desktop operating systems of Windows, Linux, and Mac.
After a systematic analysis and demonstration, it is concluded that the tree-structured group chat organization does have certain advantages over traditional group chat methods in terms of improving communication and management efficiency and reducing data redundancy.
Key Words:Instant Messaging; Group Chat; Tree (Data Structure); Vue.js; Electron.js
目录
第1章 绪论 1
1.1 选题背景 1
1.1.1 即时通信概述 1
1.1.2 即时通信应用的市场现状 1
1.1.3 即时通信中群聊功能概述及其存在的问题分析 1
1.2 设计内容、目的和意义 2
1.3 本文的结构 2
第2章 技术选型与开发环境搭建 3
2.1 技术选型 3
2.1.1 概述 3
2.1.2 基本技术选型 3
2.1.3 其他技术选型 4
2.2 开发环境搭建和项目构建 5
2.2.1 前端开发环境搭建 5
2.2.2 后端开发环境搭建 5
2.3 本章小结 5
第3章 需求分析与系统设计 6
3.1 系统非功能需求 6
3.1.1 易用性 6
3.1.2 安全性 6
3.2 系统功能需求 6
3.2.1 用户注册与登录 6
3.2.2 用户信息维护 8
3.2.3 群组聊天 8
3.2.3.1 消息编辑子模块 8
3.2.3.2 消息预处理子模块 8
3.2.3.3 消息发送子模块 9
3.2.3.4 消息接收与渲染子模块 9
3.2.4 群组管理 9
3.2.5 文件云存储 9
3.3 具有树状结构的群聊组织方式的设计 10
3.3.1 树(抽象数据结构) 10
3.3.2 群组树表示方法的设计 12
3.3.3 群组树的操作 13
3.3.4 群组树的应用 14
3.3.4.1 使用群组树维护一个组织中的成员关系 14
3.3.4.2 使用群组树减小群组管理的时间成本 14
3.3.4.3 消息与通知 14
3.3.4.4 权限的设置 15
3.3.5 对群组树的补充 15
3.3.5.1 虚拟子树 15
3.4 整体设计 16
3.4.1 用户界面设计 16
3.4.1.1 主界面设计 16
3.4.1.2 消息编辑窗口设计 17
3.4.1.3 消息渲染窗口设计 17
3.4.2 操作流程设计 18
3.5 数据的存储、交换和验证方案设计 18
3.5.1 数据库存储和交换方案 18
3.5.2 表单数据验证 19
3.6 本章总结 19
第4章 具有树状结构的群聊软件的实现 20
4.1 数据库模式定义(Schema) 20
4.1.1 User Schema 20
4.1.2 Group Schema 21
4.1.2 School Bag Schema 22
4.2 注册模块 22
4.3 登录模块 23
4.4 主界面 24
4.5 消息模块 24
4.5.1 消息编辑 24
4.5.2 消息预处理 25
4.5.3 消息发送、接收 25
4.5.4 消息渲染 26
4.6 群聊模块 27
4.6.1 创建空群组 27
4.6.2 邀请新成员 28
4.6.3 加入验证 29
4.6.4 添加子群 29
4.6.5 解散群 29
4.6.6 通知的向下渗透 30
4.6.7 派生虚拟群组 31
4.7 使用Electron进行跨平台PC端分发 31
4.8 本章小结 32
第5章 系统测试 33
5.1 单元测试 33
5.2 功能测试 33
5.2.1 注册模块 33
5.2.2 登录模块 34
5.2.3 消息模块 35
5.2.4 群聊模块 35
5.3 本章小节 36
第6章 总结 37
6.1 完成和未完成的内容 37
6.1.1 用户注册和登录功能 37
6.1.2 消息模块 37
6.1.3 群组树 37
6.1.4 文件云存储模块 37
6.2 结论与展望 37
6.2.1 结论 37
6.2.2 展望 38
致 谢 39
参考文献 40
第1章 绪论
- 选题背景
1.1.1 即时通信概述
即时通信(Instant Message, IM)就是让人们通过网络实时交换信息的技术,包括文字、语音、视频等。即时通信已经成为继电子邮件之后最受欢迎的在线通讯和交流方式,其基本特征是信息的即时传递与用户的交互性[[1]]。
即时通信是基于网络的通信技术,涉及到通信协议IP,TCP,UDP,Sockets、通信模式P2P(对等通信模式),C/S(客户端/服务器模式)以及多媒体音视频的编码与传输等多种技术。即时通信应用广泛,一般分为以下几类:
个人即时通信软件,主要以个人用户为主,方便人们交友、聊天和娱乐,如国内的微信和QQ,美国的WhatsApp、DisCord、LINE;
企业即时通信软件,以企业内部办公为主,方便员工沟通,促进办公效率提升,例如钉钉和企业微信;
行业即时通信软件,特定于某些行业和领域的即时通信软件,如电商领域的阿里旺旺。
1.1.2 即时通信应用的市场现状
2019年数据显示,QQ和微信(包含WeChat)月活跃用户分别为823和1111.7(单位:百万,下同)[[2]],国外的WhatsApp,Facebook Messenger,Snapchat,Telegram等分别拥有1600、1300、314、200的用户规模。谷歌环聊, 专门用于游戏玩家交流的Discord,以及ICQ,Potato,LINE等较小规模即时通讯应用也有着一定的用户数量。
整体而言,当前即时通信软件市场的主要特点是综合性即时通信软件垄断性强,覆盖面广;垂直即时通信软件市场呈现百花齐放的局面,例如Discord专门为游戏讨论、游戏语音进行即时通信服务。同时,企业即时通信软件在企业内部被大量广泛使用,但功能特化较为严重,导致在非严格 意义的企业但有一定办公需求的组织机构中使用时功能冗余较大。
请支付后下载全文,论文总字数:26416字
相关图片展示: