企业即时通讯系统设计
2021-02-23
来源:步旅网
第14卷第1O期 2015年1O月 软件导刊 Soffware Guide VO1.14NO.1O oct.2O15 企业即时通讯系统设计 陆 伟 ,林培榕 ,林姿琼 (1.闽南师范大学福建省粒计算重点实验室;2.闽南师范大学计算机学院,福建漳州363000) 摘 要:针对当前互联网即时通讯工具的弊端,提出一种网络即时通讯系统设计方案。探讨即时通讯系统需求及系 统设计,系统采用c/s与P2P的混合架构,实现即时通讯基本功能,使用SWT实现美观简洁的交互界面 服务器端 使用线程池提高资源利用率。企业可以根据自身需求添加需要的功能模块,同时满足企业对信息安全及信息传输速 率的要求。 关键词:线程池;即时通讯;系统设计 DoI:10.11907/rJdk.15177O 中图分类号:TP319 文献标识码:A 文章编号:l672—7800(2015)0l0-0094—03 比,企业级即时通讯软件应具有更强的安全性和可扩展 0 引言 随着互联网技术的飞速发展,基于互联网的各种应用 性,便于企业添加所需的功能模块,提高工作效率。部分 主流即时通讯软件存在如下问题:①频繁的广告推送 ; ②依赖良好的Internet网络接人条件 ;③功能过于庞 也随之兴起,在诸多应用中,即时通讯成为人们进行网络 交流的主流方式。随着QQ、微信等技术的发展,即时通 讯领域不断展现出新的商机,如微商等。即时通讯已经不 杂 ]。针对这些问题,同时为了高效实现信息交流,研究 企业级即时通讯系统就具有非常重要的意义。 限于聊天,借助其平台正不断整合新的业务,需求越来越 多样化,其功能越来越丰富。 从产品数和用户量来看,即时通讯一直处在不断发展 1 系统需求分析 1.1系统实现目标 之中,这些通讯产品都有着非常良好的操作界面和强大的 通信功能。然而,大部分即时通讯软件并不能满足特定需 求的用户群体,如一些企业单位或者政府部门对于内部网 即时通讯系统要能完成用户实时交互需要,保证信息 交流的实时性、准确性、高效性和稳定性。需要实现以下 几个目标:①基本即时通讯功能,文本消息准确及时送达, 文件传输、语音传输、视频传输、好友管理、用户管理等。 西南民族大学学报:自然科学版,2Ol 2,38(6):982—986. 络和接入Internet有严格的限制 ,与传统的个人通讯相 4 结语 本文设计的电子化网络办公及辅助系统,可满足电子 化、网络化、信息化办公的实际需求。实际应用检验表明, 其极大地方便了用户使用,使用户办公效率明显提升。同 时,该系统在实际应用中具有普遍性,又具备一定创新点, 具有推广价值,对相关技术方案的设计具有借鉴意义。 参考文献: [1]林炜.基于.NET的电子商务网站测试的研究[J].技术研究 2O1 3(4):32-35. [3] 林敏,叶少珍,郑文波.实施电子政务系统的几个技术问题EJ]._T- 业控制计算机,2003,16(6):1-3. [4]许志娟.试论电子商务网络安全问题[J].湖北成人教育学院学 报,2O11,l7(2):68-70. [5]卡哈特.密码学与网络安全[M].北京:清华大学出版社,2009. [6]张杰,徐元熙.基于B/S结构的数据库加密设计[J].微计算机信 息,2008,24(11):185一l87. [7]张新中,昊玉祥.基于DES的文件加密系统设计EJ].电脑开发与 应用,2O14,27(1】):43-45. [8]刘汉烨.Web信息管理系统数据库加密技术研究[J].电子设计_T- 程,2Ol0,18(9):27—29. (责任编辑:黄健) [2]张阳.基于.NET技术的学术期刊稿件管理系统的设计与研究[J] 作者简介:陆伟(1988一),男,江苏淮安人,闽南师范大学福建省粒计算重点实验室硕士研究生,研究方向为网络技术;林培榕(1966 ),男,福建福州人,闽南师范大学计算机学院教授,研究方向粗糙集及其应用;林姿琼(1979一),女,福建漳州人,硕士,闽 南师范大学福建省粒计算重点实验室副教授,研究方向为粗糙集及其应用。 第lO期 陆伟,林培榕,林姿琼:企业即时通讯系统设计 ・95・ 还需要做到简便易用,具备良好的用户操作界面;②服务 资料、用户Eamil)、好友(用户ID、好友ID、加为好友日 期)、聊天群组(群ID、群成员ID、群创建者ID、群创建日 期、用户权限)、文件(发送者ID、接收者ID、发送日期、文 件类型)。 器负载均衡。服务器能高效处理信息,提高用户满意度; ③系统具有良好的扩展性。随着业务变更,系统能适应新 的业务需求,方便进行扩展。 1.2系统基本功能 服务器端通过JDBC连接到数据库,根据所选择的数 据库类型,选择相应的数据库驱动即可完成数据库连接, (1)客户端。初始化用户登录界面,如果用户还没有 注册则提醒用户先注册再登录。用户输入用户名及密码, 企业可根据自身需求选择数据库类型。只要正确安装驱 动器组,JDBC应用程序就可以访问相关数据库。数据库 选择并不会对本系统设计造成太大影响 ]。充分利用面 向对象编程的优势,程序采用面向接口编程,需要使用某 如果通过验证则进入主界面;反之,则提示相关出错信息。 用户可以根据ID号或者昵称查找好友,可以添加好友,也 可以删除好友并对好友进行分组,还可以向好友发送文 件,查看聊天记录,修改用户个人信息,创建群、视频聊天。 (2)服务器端。根据客户端发送来的相关信息进行处 理,包括对注册用户的登录验证,抓取好友列表信息,查询 好友,查看好友信息,用户信息管理,好友管理,记录客户 端的IP及端口,更新客户端的状态,对信息进行备份等。 此外,对发送给隐身用户的信息进行缓存,待用户上线后 再发送给用户。 2 系统设计 2.1开发工具及架构 本系统采用Eclipse作为开发工具,Eclipse是一个开 放源代码的、基于Java的可扩展开发平台。利用Java跨 平台特性解决即时通讯系统的跨平台问题。界面开发使 用SwT。SwT是一个开源的GUI编程框架,使用该框架 可以快速搭建用户界面,使开发者只需要关注业务逻辑实 现。系统整体构架采用c/s模式与P2P的混合模式,如 图1所示。 图1系统架构 c/s模式可以有效对数据交换进行监控,并完成信 息认证、处理与存储 ],对用户资料进行集中管理,同时还 可以实现离线消息暂存等功能,但随着用户越来越多,服 务器的压力会增大。而P2P模式可以最大程度地利用网 络带宽,提高用户响应速度,减轻服务器负担,增强用户的 服务体验 ],占用带宽较多的应用程序诸如视频传输、文 件传输使用此模式。但是此模式缺少管理机制 ]。另一 方面,P2P应用程序的开发较c/s应用程序更加复杂,主 要体现在联通性、信息传递、安全性方面 ]。综合考虑,系 统使用这两种的混合模式,充分利用这两种模式的优势, 提升系统性能。 2.2数据库设计 即时通讯系统数据库应该包括以下核心实体和属性: 用户(ID、呢称、密码、头像、性别、年龄、状态信息、IP、用户 种数据库时,只需要加载相应驱动及修改部分代码即可。 2.3服务器端设计 服务器端用来处理用户注册信息,并将相应信息存到 数据库中,验证用户登录请求、转发用户之间的消息数据 包以及缓存用户离线消息。创建一个线程池用于连接客 户端的连接请求,服务器端启动一个线程循环监听指定的 端口,当有新的客户端连接请求时,则启动一个线程,为该 客户端服务;当客户端退出时线程并不立即销毁而是将线 程放人线程池,每个工作线程都可以被重复使用,可执行 多个任务。线程池的使用可以减少处理器单元的闲置时 间,增加处理器单元的吞吐能力 ],同时减少创建新线程、 销毁线程的所带来的资源开销。接收来自客户端的信息, 并对信息进行过滤,防止其它非法信息进入服务器,破坏 服务器安全运行。最后根据命令请求进行相应处理。 服务器启动后台线程,每间隔500ms监听一次客户 端状态,并将相应状态反馈到其好友客户端。若用户客户 端由于断电或者系统故障,则监听线程因得不到客户端响 应使服务器得知用户已离线;若用户不在线则将发送给该 用户的信息进行缓存,等其上线时再发送给该用户;若信 息需要两用户交互时,如添加好友、与好友通信、与好友视 频等,先由其中一方将信息发送到服务器,再由服务器转 发到另一方,由另一用户决定是否接受好友请求。 图2服务器端功能模块 2.4客户端设计 客户端按模块化设计,如图2所示。界面使用SwT 进行开发,通过调用操作系统本身的界面元素,符合用户 使用习惯。功能按模块划分可分为:注册模块、登录模块、 聊天模块、视频聊天模块、好友管理模块、用户管理模块、 文件传输模块等。其中,视频聊天模块、文件传输模块采 ・96・ 软件导刊 2O15年 用P2P传输模式。 客户端 3 结语 本文介绍了一种基于Java的即时通讯系统实现方 用 户 }t-:- 册 模 块 用 户 登 录 用 户 聊 天 模 块 图3模 块 用 户 视 频 模 块 好 友 管 理 文 模 块 件 传 输 模 块 法,既可以应用在Internet上,也可以布署在公司或企业 所在的局域网中。本系统可以在一定范围内替代目前主 流的即时通讯软件如QQ或Skype等,同时没有上述软件 所存在的广告弹窗、功能庞杂及安全等问题。即时通讯系 统增强了团队协作和信息共享,降低了通信开销,也促进 了企业沟通平台建设。即时通讯一直处于不断发展之中, 系统还有许多亟需完善的地方,比如系统安全性问题,有 待于深入研究。 参考文献: E13林妍.局域网内即时通讯系统的设计[J3.中国新通信,2013(12):8— 13. 客户端功能模块 SwT是IBM公司开发的UI组件。SwT功能和 AWT、Swing相似,其主要优点是组件丰富,平台表现更 为稳定 。使用SwT组件开发应用程序,无论是界面美 感还是响应速度都优于AWT/Swing,只要操作系统提供 了图形组件,SWT就可以通过JNI调用这些组件,只有所 提供的组件中没有swT所需的组件,SwT才会模拟实 现。另外,JFace将SwT的功能进行了扩展,是SWT的 一个增强库。一般企业级开发都会使用到SWT/JFace。 (1)客户端创建套接字连接服务器,用户如果没有帐 E23谌颃.一种多功能网络即时通讯系统的设计[J].网络安全技术与 应用,2O14(n):62—65. 客户端主要流程设计如下: [3] 潘进学.基于JMS的企业即时通讯系统的设计I-J3.中国新通信, 2O14(15):107—1O8. 号则先注册,注册成功返回用户ID,登录时用户使用注册 时的Id,并输入密码完成登录。 E43刘培鹤,牛晓蕾,杜鹏,何文才,张媛媛.企业即时通信系统安全性 分析与设计[J].网络安全技术与应用,2007(2):59—61. E53 张鹏.P2P技术在即时通信中的应用及安全策略[J3.信息通信, 2O15(01):178-179. (2)成功连接服务器后,启动读、写两条线程对消息进 行处理。用户依据输入好友的ID来查找好友,并添加好 友。服务器端接收到添加好友信息后,将请求信息发送到 [6] 孙仲华.基于Winsock的C/S模式即时通信系统的设计及实现 [D].南京:南京邮电大学,2012. [73刘班.对P2P应用程序开发框架的研究[J].数字技术与应用,2014 (7):57. 相应的另一用户,由该用户决定是否接受添加好友请求。 (3)用户成功登录后,服务器端将用户好友信息发送 到客户端,如好友在线则好友头像背景色显示为亮色,显 示在线状态,反之则显示为灰色。用户可双击好友头像进 行聊天。 [83 张晗,郭勇,徐蕾,肖亚迪.基于Java的即时通讯系统的设计研究 [J].信息通信,2014(6):75. [93 BRUCE ECKEI .Thinking in Java(Fourth Edition)[M].China Machine Press,2011(11):1116一l123. (4)正常关闭客户端时,客户端发送一个关闭状态信 息给服务器,服务器更新数据库信息,再将信息反馈到好 友客户端,好友客户端设置相应状态表明好友下线;若客 户端非正常下线,则服务器端侦听线程就会侦听到,再将 反馈信息反馈到好友客户端。 [io3 张建辉.基于swT的企业财务管理系统设计与实现[J].现代电 子技术,2014(16):51-53. (责任编辑:陈福时) Design of Enterprise Instant Messaging System Abstract:For some of the problems of the current Internet instant messaging tool,the paper puts forward a kind of net— work instant messaging system design scheme,including Instant messaging system requirements analysis and system de— sign,the whole system uses c/s and P2P hybrid structure,and the basic function of the instant communication realized. Using SWT implements a pretty simple GUI.On the other hand,the server side uses the thread pool to improve the re— source utilization.The enterprises can add their function module according to their own needs,at the same time it also meets the enterprise's requirements for information security and information transfer rate. Key Words:Thread Pool;Instant Messaging;System Design