logo资料库

局域网P2P资源共享软件的设计与实现.doc

第1页 / 共23页
第2页 / 共23页
第3页 / 共23页
第4页 / 共23页
第5页 / 共23页
第6页 / 共23页
第7页 / 共23页
第8页 / 共23页
资料共23页,剩余部分请下载后查看
1.绪论
1.1 背景
1.2课题研究的目的及意义
1.3 课题研究内容
1.4 本文组织结构
2.P2P技术概述
2.1 P2P的概念
2.2 P2P的技术特点
2.3 P2P和C/S的比较
2.4 P2P的实际应用
3.局域网P2P资源共享软件的设计与实现
3.1 系统设计
3.1.1 系统启动模块
3.1.2 资源共享模块
3.1.3 资源搜索模块
3.1.4 在线聊天模块
3.1.5 网络文件列表模块
3.1.6 其他系统模块
3.2 系统实现
3.2.1 系统启动功能
3.2.2 资源共享功能
3.2.3 资源搜索功能
3.2.4 在线聊天功能
3.2.5 网络文件列表
3.2.6 关于系统功能
3.2.7 帮助系统功能
3.2.8 退出系统功能
结论
参考文献
致谢
局域网 P2P 资源共享软件的设计与实现
目 录 摘要 ................................................................................................................................................................... 1 Abstract..............................................................................................................................................................1 1.绪论 ............................................................................................................................................................... 2 1.1 背景 ...................................................................................................................................................2 1.2 课题研究的目的及意义 ....................................................................................................................2 1.3 课题研究内容 ...................................................................................................................................3 1.4 本文组织结构 ...................................................................................................................................3 2.P2P 技术概述 ................................................................................................................................................4 2.1 P2P 的概念........................................................................................................................................4 2.2 P2P 的技术特点................................................................................................................................4 2.3 P2P 和 C/S 的比较 ............................................................................................................................5 2.4 P2P 的实际应用................................................................................................................................5 3.局域网 P2P 资源共享软件的设计与实现 ...................................................................................................7 3.1 系统设计 ...........................................................................................................................................7 3.1.1 系统启动模块 .......................................................................................................................8 3.1.2 资源共享模块 .......................................................................................................................8 3.1.3 资源搜索模块 .......................................................................................................................8 3.1.4 在线聊天模块 .......................................................................................................................9 3.1.5 网络文件列表模块 ...............................................................................................................9 3.1.6 其他系统模块 .......................................................................................................................9 3.2 系统实现 .........................................................................................................................................10 3.2.1 系统启动功能 .....................................................................................................................10 3.2.2 资源共享功能 .....................................................................................................................11 3.2.3 资源搜索功能 .....................................................................................................................13 3.2.4 在线聊天功能 .....................................................................................................................14 3.2.5 网络文件列表 .....................................................................................................................15 3.2.6 关于系统功能 .....................................................................................................................16 3.2.7 帮助系统功能 .....................................................................................................................18 3.2.8 退出系统功能 .....................................................................................................................18 结论 ................................................................................................................................................................. 19 参考文献 .........................................................................................................................................................20 致谢 ................................................................................................................................................................. 21
Xxxx 大学本科毕业论文 局域网 P2P 资源共享软件的设计与实现 摘要: 近年来,P2P 技术在网络上得到广泛应用,成为网络技术的新热点。P2P 技术与传统的客户 端/服务器(C/S)或浏览器/服务器(B/S)相比,有明显的技术优势,在 P2P 网络中每一个节点(Peer) 之间的关系是对等的,同时具有 Client 和 Server 的特点。他们可以直接通信,无需依赖集中式服务 器。P2P 技术在网络应用上有很大的发展空间。JXTA 是为搭建 P2P 网络制定的一组协议,这组协议 描述和实现了 P2P 网络应用中的各种问题,为 P2P 网络应用开发提供了一个统一的开发平台。本系 统就是在深入了解 P2P 技术和 JXTA 实现平台的基础上,设计实现的基于 JXTA 的 P2P 局域网资源 共享系统,在局域网内实现点对点的文件上传和文件下载功能。本系统的优点是在一个局域网内每 个 Windows 平台的客户机用户只需输入一个用户名和密码登录系统,即可与局域网内的其他登录用 户即时聊天,文件传输。 关键词:P2P;JXTA;资源共享 P2P Resource-sharing LAN Software Design and Implementation Abstract:Recently years, the P2P technology becomes the new hotspot of network technologies, used widely on network. This has obvious advantage compared to traditional C/S and B/S. In P2P network every Peers has the same station and the functions of Client and Server. They can communicate directly each other independent on Center Server. The P2P Technology has expansive developing space in network application. JXTA is a group of protocols that established for building a P2P network. The group of protocols describes and implements kinds of problems in P2P network applications, built a uniform platform for developing P2P network applications. This system is A LAN-P2P resource-sharing System Based on JXTA, achieved on base of deeply knowing the P2P technology and JXTA’S codes of JAVA. The function is to achieve file uploading and file downloading between Peer and Peer. There are some advantages in this system. User can login the system just input a user name and a password in the same LAN based on Windows System. Keywords:JXTA;P2P;Resources-Sharing - 1 -
Xxxx 大学本科毕业论文 1.绪论 1.1 背景 随着 Internet 的飞速发展,各种技术都得到了飞速发展,P2P[1]技术也正逐渐成为技术界的一 个热门话题。P2P 带来的一个显著的变化是改变了“内容”所在的位置,内容正在从“中心”走向 “边缘”,信息的共享不再完全依赖中心服务器。互联网技术以往的发展轨迹向人们预示着,P2P 这一新的网络技术思想,最终也会对网络结构本身,网络中的信息使用和传播方式、以及人们使用 互联网的方式等产生深远的影响。 从目前的应用来看,P2P 的应用还主要体现在大范围的共享、搜索的优势上。或者说是更好地 解决了网络上五大类型[6]的应用:分布式计算、协同工作、搜索引擎、文件共享和即时通信。 尽管对 P2P 存在着这样那样的疑虑,许多 IT 专家仍然相信该技术将彻底推翻现在抑制分布式计 算发展的藩篱。现在的桌面系统的性能远远超过以前的许多服务器,这为 P2P 的发展提供了巨大的 硬件基础。而随着宽带、高速网络的发展,PC 将释放出前所未有的潜能,而虚拟专用网络软件也将 为 P2P 的发展提供保障。如果说过去的几年 P2P 技术给业界带来了一个新的技术思路,那么未来几 年 P2P 技术可能会带来巨大的商业价值。P2P 技术对于宽带网络的优化是无法估量的,其在多媒体 文件传输领域、有线通信、无线通信领域蕴含着极大的商机。P2P 网络不仅降低了硬件设备投入成 本和网络内容供应成本,更重要的是其消除了中央服务器信息转发引致的瓶颈效应,同时对于分布 式的边缘内容的充分利用更是开拓了一个新的应用思路。P2P 技术平台也并非一个简单的文件传输 系统,更是下一代的互联网络的典型和初期架构形式,中央服务器在融合了 P2P 网络的互联网中只 是承担了用户信息的管理和部分信息的发布工作,而不必承担沉重的数据转发工作,有效消除了信 息孤岛的存在及信息传输过程中的瓶颈问题,同时对承载了多达 60%的弱链接模块的互联网络流量 进行了有效的管理。 1.2 课题研究的目的及意义 目前,互联网上的各种服务,不论采用 B/S 模式还是采用 C/S 模式,都是以网络服务器为中心 的。网络用户向服务器发送请求,然后从服务器得到相应的回应信息,用户之间的交流都高度依赖 于网络服务器,无法直接交流信息。随着 Internet 的日益发展和普及,它在某种程度上开始制约着 Internet 的发展。而 P2P 方式则是以用户为中心,所有的用户都是平等的伙伴,相互之间可以直接 交流信息。 P2P 是一种相对较新的技术,以 P2P 技术为基础的流行软件能实现不同的任务。但是由于开发 人员解决相同的问题并重写相似的基础实现,使得应用程序的开发效率不高,并且,大多数的应用 程序只适用于某一种特定的平台,且相互之间不能进行通信和数据共享。JXTA[2]工程的其中一个目 的就是提供一个平台,该平台带有 P2P 网络所必需的基本功能。 - 2 -
Xxxx 大学本科毕业论文 P2P 资源共享系统[8]是一个用于对等网络的数据共享系统,它可以提供高效率的、鲁棒的和负载 平衡的文件共享功能。P2P 的最大优势是其不依赖服务器调用网络资源的灵活性,同时它采用了类 似于负载均衡的机制,其基于 UDP 的连接方式不需要稳定的网络连接即可实现节点间的通信。这些 正是 C/S、B/S 架构所欠缺的。相对于目前流行的 C/S、B/S 的“集中式”网络结构,P2P 最大的特 点在于“分散”。它让网络边缘的节点更趋智能化,网络中所有的计算、存储和网络连接能力都能够 平均地分布在非集中式网络的“对等伙伴”上。实践证明, P2P 所提供的基于节点的独立、动态的 连接方式,彻底颠覆了以往企业中计算资源的分配规则,不仅让网络更具灵活性,还很好地解决了 集中式计算模式最为头痛的网络拥塞问题。只要对 P2P 网络中分散的节点加以有效的控制和管理, P2P 应用完全能够在企业环境中大展身手,使其具有重要的意义。 1.3 课题研究内容 本论文首先对现有 P2P 技术现状进行了研究,总结了现有 P2P 应用的特点。对 SUN 公司的开源 JXTA 项目进行了深入的研究,对 JXIA 协议[3]和 JXTA 的 J2SE 实现参考模型提供的服务进行了分析。 采用了一个 P2P 应用开发的框架模型,给出了 P2P 几个关键问题的实施策略,并基于 JXTA[7]的 J2SE 参考模型加以实现。 1.4 本文组织结构 各章内容安排如下: 第 1 章 绪论:阐述了本文的背景及本人所做工作和本文的组织结构。 第 2 章 P2P 技术概述:介绍了 P2P 的概念、然后把传统的 C/S 模型和 P2P 模型进行了对比,同 时也给出了 P2P 可能的应用范围 第 3 章 基于 P2P 技术的资源共享系统的研究与应用:给出了该系统的详细设计和有关主要代码 类的实现。 - 3 -
Xxxx 大学本科毕业论文 2.P2P 技术概述 2.1 P2P 的概念 目前,在学术界、工业界对于 P2P 没有一个统一的定义,下面是几个常用的定义[10]: P2P 是一种计算机互联网络。它允许使用同一种连接程序的用户可以直接从对方计算机硬盘上 读取文件。 P2P 是一种共享资源的应用程序。它运行在个人电脑上并且通过网络和其他人共享资源。P2P 网 络通过各主机的相互连接来共享资源而不是通过中心服务器。 P2P 是一种分布式网络。网络的参与者共享他们所拥有的一部分硬件资源(处理能力、存储能力、 网络连接能力、打印机等),这些共享资源需要由网络提供服务和内容,能被其它对等节点(Peer) 直接访问而无需经过中间实体。在此网络中的参与者既是资源(服务和内容)提供者(Server),又是 资源(服务和内容)获取者(Client)。 虽然上述定义稍有不同,但共同点都是 P2P 打破了传统的 Client/Server(C/S)模式,在网络中 的每个节点的地位都是对等的。每个节点既充当服务器,为其他节点提供服务,同时也享用其他节 点提供的服务。 2.2 P2P 的技术特点 P2P 技术特点主要体现在以下几个方面[4]: 非中心化。网络中的资源和服务分散在所有节点上,信息的传输和服务的实现都直接在节点之 间进行,可以无需中间环节和服务器的介入,避免了可能的瓶颈。P2P 的非中心化的基本特点,带 来了其在可扩展性、健壮性等方面的优势。 可扩展性。在 P2P 网络中,随着用户的加入,不仅服务的需求增加了,系统整体的资源和服务 能力也在同步地扩充,始终能较容易地满足用户的需要。整个体系是全分布的,不存在瓶颈,理论 上其可扩展性几乎可以认为是无限的。 健壮性。P2P 架构天生具有耐攻击、高容错的优点。由于服务是分散在各个节点之间进行的, 部分节点或网络遭到破坏对其它部分的影响很小。P2P 网络一般在部分节点失效时能够自动调整整 体拓扑,保持其它节点的连通性。P2P 网络通常都是以自组织的方式建立起来的,并允许节点自由 地加入和离开,P2P 网络还能够根据网络带宽、节点数、负载等变化不断地做自适应式的调整。 高性能/价格比。性能优势是 P2P 被广泛关注的一个重要原因。随着硬件技术的发展,个人计算 机的计算和存储能力以及网络带宽等性能依照摩尔定理高速增长。采用 P2P 架构可以有效地利用互 联网中散布的大量普通节点,将计算任务或存储资料分布到所有节点上。利用其中闲置的计算能力 或存储空间,达到高性能计算和海量存储的目的。通过利用网络中的大量空闲资源,可以用更低的 成本提供更高的计算和存储能力。 - 4 -
Xxxx 大学本科毕业论文 隐私保护。在 P2P 网络中,由于信息的传输分散在各节点之间进行而无需经过某个集中环节, 用户的隐私信息被窃听和泄漏的可能性大大缩小。此外,目前解决 Internet 隐私问题主要采用中继 转发的技术方法,从而将通信的参与者隐藏在众多的网络实体之中。在传统的一些匿名通信系统中, 实现这一机制依赖于某些中继服务器节点。而在 P2P 中,所有参与者都可以提供中继转发的功能, 因而大大提高了匿名通讯的灵活性和可靠性,能够为用户提供更好的隐私保护。 负载均衡。P2P 网络环境下由于每个节点既是服务器又是客户机,减少了对传统 C/S 结构服务 器计算能力、存储能力的要求,同时因为资源分布在多个节点,更好的实现了整个网络的负载均衡。 2.3 P2P 和 C/S 的比较 目前,互联网的主要模式是 Client/Server(C/S)。它要求有高性能的服务器,配合各种软件来 集中处理信息,同时还响应网络中其它客户端的请求。这种结构导致网络中的内容都向少数服务器 集中,服务器成为网络中的主宰。P2P 模式相对于 C/S 模式有如下主要优点[5]: 资源的高度利用率。在 P2P 网络上,闲散资源有机会得到利用,所有节点的资源总和构成了整 个网络的资源,整个网络可以被用作具有海量存储能力和巨大计算处理能力的超级计算机。在 C/S 模式下,纵然客户端有大量的闲置资源,也无法被利用 。 良好的网络性能。随着节点的增加,C/S 模式下,服务器的负载就越来越重,形成了系统的瓶 颈,一旦服务器崩溃,整个网络也随之瘫痪。而在 P2P 网络中,每个对等体都是一个活动的参与者, 每个对等点都向网络贡献一些资源,如存储空间、CPU 周期等。所以,对等点越多,网络的性能越 好,网络随着规模的增大而越发稳固。 良好的寻址方式。基于内容的寻址方式处于一个更高的语义层次,因为用户在搜索时只需指定 具有实际意义的信息标识而不是物理地址,每个标识对应包含这类信息的节点的集合。这将创造一 个更加精炼的信息仓库和一个更加统一的资源标识方法。 低服务成本。信息在网络设备间直接流动。使网络高速及时,降低中转服务成本。 资源的均匀分布。C/S 模式下的互联网是完全依赖于中心点服务器的,没有服务器,网络就没 有任何意义。而 P2P 网络中,弱化服务器的功能,甚至取消服务器,任意两台 PC 互为服务器及客户 机,即使只有一个对等点存在,网络也是活动的,节点所有者可以随意地将自己的信息发布到网络 上。P2P 的技术方式将导致信息数据成本资源向所有用户的 PC 均匀分布,即“边缘化”趋势。 但是,P2P 也有不足之处。P2P 不易于管理,而对 C/S 网络,只需在中心点进行管理。随之而来 的是 P2P 网络中数据的安全性难于得到保证。因此,在安全策略、备份策略等方面,P2P 的实现要 复杂一些。另外,由于对等点可以随意地加入或退出网络,会造成网络带宽和信息存在的不稳定。 2.4 P2P 的实际应用 P2P 目前的主要应用体现在大范围的共享和搜索等方面。它能够更好地解决网络上三大类型的 应用[6]:对等计算、协同工作、文件交换。 - 5 -
Xxxx 大学本科毕业论文 对等计算。通过众多计算机来完成超级计算机的功能,一直是科学家梦寐以求的事情。采用 P2P 技术的对等计算,可以把网络中的众多计算机暂时不用的计算能力连结起来,使用积累的能力执行 超级计算机的任务。任何需要大量数据处理的行业都可从对等计算中获利,如天气预报、动画制作、 基因组的研究等。有了对等计算之后,就不再需要昂贵的超级计算机了。对等计算的发展本质上是 以 PC 机资源的有效利用为根本出发点的,通过网络共享 CPU 资源。 协同工作。公司机构的日益分散,给员工和客户提供轻松、方便的消息和协作的工具,变得日 益重要。网络的出现,使协同工作成为可能。但传统的 WEB 方式实现,给服务器带来了极大的负担, 造成了昂贵的成本支出。P2P 技术的出现,使得互联网上任意两台 PC 都可建立实时的联系,建立了 这样一个安全、共享的虚拟空间,人们可以进行各种各样的活动,这些活动可以同时进行,也可以 交互进行。P2P 技术可以帮助企业和关键客户,以及合作伙伴之间建立起一种安全的网上工作联系 方式,因此基于 P2P 技术的协同工作也受到了极大的重视。 文件交换。文件交换的需求直接引发了 P2P 技术热潮。在传统的 WEB 方式中,要实现在某个网 站上搜索所需要的文件,然后下载,这种方式的不便之处不言而喻。电子邮件虽然方便了个人间文 件传递问题,但却无法解决大范围的交换。这也是 WEB 的重要缺陷,Napster 就是在此情况下横空 出世,抓住人们对 MP3 喜欢的需求,Napster 的 Mp3 交换直接引发了网络的 P2P 技术革命。 - 6 -
分享到:
收藏