一种基于CS和P2P混合结构的IM系统的设计与实现_图文87
上亿文档资料,等你来发现
一种基于CS和P2P混合结构的IM系统的设计与实现_图文87
第21卷第4期;2006年8月成都信息工程学院学报JOURNAL;一种基于CS和P2P混合结构的IM系统的设计与实;张晓,王忠仁;(电子科技大学计算机学院,四川成都610054);摘要:介绍了一种基于CS和P2P混合结构,采用W;方法能够有效地减轻服务器的负荷;关键词:即时通讯;Web服务;P2P;CS模式;中图分类号:TP311文献标识码:A1引言;即时通
第21卷第4期
2006年8月成 都 信 息 工 程 学 院 学 报JOURNALOFCHENGDUUNIVERSITYOFINFORMATIONTECHNOLOGYVol.21No.4Aug.2006文章编号:06)
一种基于CS和P2P混合结构的IM系统的设计与实现
张 晓, 王忠仁
(电子科技大学计算机学院,四川成都610054)
摘要:介绍了一种基于CS和P2P混合结构,采用WebService来实现服务器端主要服务的IM系统的实现,该
方法能够有效地减轻服务器的负荷。实践证明,该方法用于IM系统中是可行而且有效的。
关 键 词:即时通讯;Web服务;P2P;CS模式
中图分类号:TP311
文献标识码:A1 引言
即时通讯(InstantMessenger,简称IM)软件是目前我国上网用户使用率最高的软件之一,无论是老牌的ICQ,还是国内用户量第一的腾讯QQ,以及微软的MSNMessenger,都能够让你迅速地在网上找到你的朋友或工作伙伴,可以实时交谈和互传信息。现在,即时通讯软件正处于一个重要的分岔口,它们将在未来的发展中向各自所侧重的方向重点发展,并试图以不同的服务来区别于其他的竞争者。但是,作为最基本的即时通讯功能,这仍将是各大厂商的必争之地,因为这是所有其他服务的根基所在。介绍了一种采用了CS和P2P两种网络结构,由WebService实现其服务器端核心功能的IM系统的设计与实现。在下面的章节中,将对相关的一些概念作简要地介绍。
2 系统及相关技术简介
211 IM系统简介
介绍的IM系统是一个分布式的采用WebService实现的混合系统。它不仅能够将用户的一些重要的信息进行集中而方便管理,而且在系统运行及客户之间通讯时,又能够有效地减轻服务器的负担,提高客户之间的通讯质量和效率。在服务器端,该系统的很多功能都通过WebService来实现,从而有利于以后系统的升级和维护,增加了系统的可扩充性。在客户端,通过P2P模式,实现客户之间点对点的传送,而不必经过服务器,这样既减轻了服务器的负担,同时又提高了客户之间的通讯效率。
212 CS模式简介
CS(Client2Server)模式即客户服务器模式,是一种分布式网络计算模型。传统的C/S计算多是基于两级模式,如果把应用程序从结构上分为4层:形式逻辑、业务逻辑、数据逻辑和数据存储,那么在这种模式中,所有的形式逻辑和业务逻辑均驻留在Client端,而数据逻辑和数据存储则驻留在Server端。随着C/S结构应用范围的不断扩大和计算机网络技术的发展,这种结构带来的问题日益明显。
为了解决这些问题,出现了3层和多层的网络计算模式,目前流行的是3层网络计算模式,3层C/S结构是将应用分成表示层、功能层和数据层3部分。其中,表示层是应用的用户接口部分担负着用户与应用间的对话功能;功能层相当于应用的本体,将具体的业务处理逻辑地编入程序中,表示层和功能层之间的数据交往要尽可能简洁;数据层就是DBMS,负责管理对数据库数据的读写。
213 P2P技术简介
P2P技术,也称为对等网络(PeertoPeer)技术,是一种网络结构的思想。它与目前在网络结构中占据主导地:2
张晓等:一种基于CS和P2P混合结构的IM系统的设计与实现529位的客户端/服务器(Client/Server)结构(也就是WWW所采用的结构方式)的一个本质区别是,整个网络结构中不存在中心节点(或中心服务器)。在P2P结构中,每一个节点(peer)大都同时具有信息消费者、信息提供者和信息通讯3方面的功能。在P2P网络中每一个节点所拥有的权利和义务都是对等的。
目前Internet主要的技术模式是CS方式,此方式要在Internet上设置具有强大处理能力和大带宽的高性能计算机,并在其上面***相应的软件,使其在集中处理数据的同时可以为Internet上其他PC提供服务,而对于一台与服务器联机并接受服务的PC机来说,这台PC机就是客户机,其性能可以相对弱小。而P2P技术的特征之一就是弱化了服务器的作用,甚至取消服务器,任意两台PC互为服务器,同时又是客户机,即对等。
214 WebService简介
WebService(Web服务),是指由企业发布的完成其特别商务需求的在线应用服务,其他公司或应用软件能够通过Internet来访问并使用这项应用服务;是一种自包含的、模块化的应用程序,可以在网络(通常为Web)中被描述、发布、查找以及调用;是基于网络的、分布式的模块化组件,执行特定的任务,遵守具体的技术规范,这些规范使得WebService能与其他兼容的组件进行互操作。WebService中有一个基本概念:所有东西都是服务。这些服务发布一个API供网络中的其他服务使用,并且封装了实现细节。
目前,WebService使用的标准技术包括:
(1)通过WSDL文件公开描述其自身功能;
(2)通过XML消息(通常使用SOAP格式)与其他应用程序进行通信;
(3)使用标准网络协议,如HTTP。
采用第二种技术标准,可扩展标记语
言(ExtensibleMarkupLanguage,简称
XML)提供了一种公共语言,通过它,不同
的应用程序可以在网络上彼此进行交互。
大多数WebService通过XML进行通信。
客户端将包含请求的XML消息发送到
WebService,然后WebService使用包含操
作结果的XML消息进行响应。大多数情
况下,这些XML消息将根据SOAP语法设
置格式。SimpleObjectAccessProtocol
(SOAP)指定了一种标准格式,使应用程序
可以调用彼此的方法,在彼此之间传递数
3 IM系统框架及相关设计
311 系统框架设计
由于系统采用了CS和P2P的混合模
式设计,所以在系统运行过程中,涉及到两
种模式之间的选择和切换。实际上,该系
统是对目前的比较流行的3层CS架构的
扩充,所以仍然有客户和服务器的概念。
在各客户连接服务器后,客户之间的通讯采用了P2P架构,由于系统在大部分时间里都只是各客户之间的通讯,所以采用P2P架构,能有效减轻服务器的负荷,提高通讯质量。当客户之间采用P2P的方式通讯时,每个客户既是客户端又是服务器端,客户之间的关系是对等的。图1是整个系统的框架设计图。图1 程序框架图
312 数据库设计成 都 信 息 工 程 学 院 学 报
现在大型的应用基本上都离不开数据库,当然讨论的IM的实现,也离不开后台数据库的支持。在该IM系统的数据库中,主要存放的是客户的资料信息。这里只给出两个比较重要的表的设计。第一个表就是客户表,存放客户个人的资料。如表1所示;第二个表就是客户关系表,存放客户之间的关系。如表2所示。
表1 客户表客户
成员ID(主键)
E2mail地址
IP地址表2 客户关系表客户关系朋友ID(主键)成员ID(外键)关系
313 数据结构设计
由于该IM系统是基于消息进行通讯的,所以文中数据结构的设计主要是消息数据结构的设计。其数据结构如图2所示。
在系统中消息主要分为两种:请求消息和响应消息。其
中请求消息又分为注册请求、退出请求、添加朋友请求、删除
朋友请求、发送消息请求、发送通知确认接受一个朋友的请求
等;响应消息又分为注册请求的响应、登陆请求的响应、接收
朋友列表的响应、接收消息的响应、接收朋
友状态通知的响应、别人把你添加为朋友
时的响应、别人把你从朋友列表删除的响
应和添加一个朋友的响应等。
314 各模块设计
由于IM系统是对传统的CS架构的
扩展,仍然有客户和服务器的概念,所以系
统模块的设计主要分为客户端和服务器端
两个模块。其中,前者主要是负责客户端
消息的接受和发送以及消息的展示,而后
者主要是负责处理来自各个客户端的请 求。图3就是客户端启动阶段的流程设
在客户端成功启动之后,客户端就进
入了一个等待状态,等待用户新的命令并
***是否有新的消息到来。如果用户有新
的请求,客户端就会先对该请求进行简单
地处理然后发送该请求;如果***到有新
的消息到来,那么客户端就会处理该响应,
并把它展示给用户。在服务器端,主要是
消息的接受和处理。其流程图如图4所
示。图3 客户端启动阶段流程图图2 数据结构
张晓等:一种基于CS和P2P混合结构的IM系统的设计与实现
当服务器端启动以后,便进入一个等待状
态,持续***是否有新的消息到来。当有新的消
息到来时,服务器端就会根据消息的类型,进行
相应的处理,并把处理的结果以消息的形式发送
回客户端。在服务器对消息进行处理的过程中,
可能要调用相应的Web服务来完成对消息的处
理。系统中,把大部分的服务都放在Web服务中
来实现,而服务器本身只是对消息类型做一个简
单的判断,然后根据消息的类型来调用相应的
Web服务,最后再把处理结果发送给客户端。这
样就大大地减轻了服务器的负担,同时也有利于
以后系统的维护和扩展。图4 服务器流程图531
在IM系统中,采用CS和P2P两种结构设计。当客户启动时,首先以CS方式和服务器进行交互,从服务器端取得相关的信息;而当客户之间进行通讯时,便以P2P方式和对方进行数据传送。而在IM系统中,主要功能是客户之间的信息传递。所以这种方式就大大地减轻了服务器的负担,提高了客户之间通讯的质量。在服务器端,采用Web服务来提供主要的功能,这样就进一步降低了服务器的负荷,同时有利于以后的维护和升级。这样,服务器本身就只对消息类型作一些简单的判断,然后再把消息提交给相应的Web服务,最后服务器把来自Web服务的响应再传送回发送请求的客户端。
介绍的这种方法,思路简洁而清晰,又有效率,而且易于扩展和维护。大部分消息都通过Web服务来处理,处理完成后,再把结果发送给服务器,减轻了服务器的负担,有利于服务器的稳定,同时又提高了通讯的效率和质量。在客户端数量比较大的情况下,这不失为一种良好的思路用来建构IM系统。
[1] Armstrong.TheJavaWebServicesTutorial[M].北京:电子工业出版社,2003.
[2] Brookshier.JavaP2P程序设计[M].北京:中国电力出版社,2003.
[3] 侯云峰.三层次Client/Server应用开发指南[M].北京:中国电力出版社,2000.
[4] Darby.Java网络编程指南[M].北京:电子工业出版社,2002.
[5] McLaugblin.Java与XML[M].北京:中国电力出版社,2001.
[6] 恩伦德尔.Java与SOAP[M].北京:中国电力出版社,2002.
[7] 赛迪网.风靡全球的即时通讯(IM)软件)))概述篇[EB/OL]./forum/2002/08/
forum02-0860.htm,.
[8] 包路跃.WebServices概述[EB/OL]./47/1609547.shtml,.
DesignandimplementationofanIMsystembasedonCSandP2Parchitecture
ZHANGXiao, WANGZhong2ren
(CollegeofComputerScience&Technology,UESTC,Chengdu610054,China)
Abstract:AnimplementationoftheIMsystembasedonCSandP2Parchitectureisintroducedandthemainservicesintheserverpartareimplementedwiththewebservices.Thetechnologydecreasestheserver.sburdenefficiently.Theresultshowsitisafeasibleandeffectivemethod.
Keywords:Wmode
三亿文库包含各类专业文献、幼儿教育、小学教育、专业论文、文学作品欣赏、应用写作文书、一种基于CS和P2P混合结构的IM系统的设计与实现_图文87等内容。
孙玉钰.基于 P2P 网络的聊天系统的研发[J].长春大学学报,. 张晓.王忠仁.一种基于 CS 和 P2P 混合结构的 IM 系统的设计与实现[J](4).成都信 ... [18] 张晓,王忠仁.一种基于 CS 和 P2P 混合结构的 IM 系统的设计与实现[J].成都信息工程学院学报, 2006, (4),528-531. [19] 黄凯,陶宏才.即时通讯系统... CS与P2P比较_IT/计算机_专业资料。C/S 模式和 P2P 模式的区别 ①:C/S 结构是一种客户端/服务器结构,客户端与服务器之间是主从关系,是一种一对多的 模式。... [18] 张晓,王忠仁.一种基于 CS 和 P2P 混合结构的 IM 系统的设计与实现[J].成都信息工程学院学报, 2006, (4),528-531. [19] 黄凯,陶宏才.即时通讯系统... [6] 孙玉钰.基于 P2P 网络的聊天系统的研发[J].长春大学学报, . [7] 张晓.王忠仁.一种基于 CS 和 P2P 混合结构的 IM 系统的设计与实现 [J]... 无私奉献基于CS和BS混合结构的高职院校_教育学_高等...院校教学管理信息系统,给出系统总体设计方案和实现...其推动因素主要来自于两个方面:一是 以计算机网络... [7] 孙玉钰.基于 P2P 网络的聊天系统的研发[J].长春大学学报,. [8] 张晓.王忠仁.一种基于 CS 和 P2P 混合结构的 IM 系统的设计与实现[J] (... D.P2P业务模型与CS和BS业务模型的主要区别是客户机...Server端使用基于通用的Web服务器的综合服务软件系统...在P2P结构中,每一个结点(peer)大都同时具有信息消费... 企业管理信息系统中的BS和CS结构的应用_互联网_IT/计算机_专业资料。格式 20分...企业管理信息系统的设计与实现 3.基于 C_S 和 B_S 混合结构的印刷企业信息...(IM460-3接口模块 IM461-0接口模块 ) (西门子PLC IM460-1接口模块系列)
价格:¥元
所在地:原装厂商性质:代理商
品牌:型号:(IM460-3接口模块 IM461-0接口模块 )
本网采购***: