【毕业学位论文】(Word原稿)基于P2P的信息资源共享软件的设计与实现-软件工程_第1页
【毕业学位论文】(Word原稿)基于P2P的信息资源共享软件的设计与实现-软件工程_第2页
【毕业学位论文】(Word原稿)基于P2P的信息资源共享软件的设计与实现-软件工程_第3页
【毕业学位论文】(Word原稿)基于P2P的信息资源共享软件的设计与实现-软件工程_第4页
【毕业学位论文】(Word原稿)基于P2P的信息资源共享软件的设计与实现-软件工程_第5页
已阅读5页,还剩61页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于 I 基于 信息资源共享软件的设计与实现 摘要 : 随着互联网技术的迅速发展和计算机的广泛应用, 成为国际计算机网络技术研究领域的热点技术之一。 讯 2步步验证了对等计算思想的成功。目前流行的基于 布式计算和即时信息服务。 聊天室采用 术实现,与 C/统的健壮性和扩展性较好。 C/ 程的一台服务器来接受来自客户端的请求,并且负责响应所有的请求即把数据广播给每一个客户端。虽然它具有很多的优势,比如它是基于现有网络应用中使用较多的模式。然而,这种模式对服务器端的硬件和网络带宽的要求较高;其次,这种方式造成了数据源的固定,既对加入聊天室的客户数量有限制,而且一旦中央的服务器发生问题整个聊天室平台就得瘫痪。 本文以基于 术的聊天室软件为研究对象,利用 架,讨论分析了其设计、实现的相关问题与技术。首先,详细描述了系统需求, 并对多种可能的方案进行了比较, 构建了基于 系统。然后, 详细讨论了建立和维护动态成员列表的设计思路,并且讨论了在 境下穿越防火墙和 机制。最后,通过 术实现了聊天室软件。 关键字 : 天室; 于 of 2P of is of in A 2P Q so of 2P 2P to / S to C / S to is to to it as it is on of in is to in is is 2P of of to AT 2P 于 录 第一章 引言 1 第一节 研究背景 1 第二节 课题的目的和意义 2 第三节 论文的工作 3 第二章 系统需求 5 第一节 系统需求 5 第二节 性能需求 5 可用性 5 可靠性 22 可扩展性 23 可复用性 23 运行环境 7 硬件环境 7 软件环境 7 第三章 基于 8 第一节 现有方案的比较 8 传统 C/ 8 集中式的 9 全分布式的 9 第二节 11 12 14 第三节 选择 原因 15 第四节 系统层次结构 16 16 基于 基于 系统设计 17 第五节 面向对象的详细设计过程 18 用例 建模 18 序列建模 20 状态建模 20 协作建模 21 第六节 防火墙及 穿越 24 第四章 系统实现 26 第一节 基于 26 系统类 26 聊天组的建立 28 29 构建 35 39 第二节 核心代码细节 44 的实现细节 44 44 45 的实现 46 第三节 部署系统 47 第四节 系统应用 47 第五章 总结与展望 错误 !未定义书签。 致 谢 58 南开 大学工程硕士毕业论文 1 第一章 引言 第一节 研究背景 目前,宽带热潮席卷全国,全国范围的宽带建设如火如荼,宽带网络的建设将成为互联网的希望,宽带的发展已经成为了中国信息化发展非常重要的一步,是未来发展的国家基础建设环节,是信息发展的未来,发展宽带,利用宽带网络资源是必然 的趋势。但是目前宽带的发展仍然处于初级培育阶段,而主要的瓶颈是接入和应用,虽然发展内容服务已经得到业界和用户的广泛认同,但宽带应用和内容服务目前仍然停留在窄带的基础上,真正宽带的应用和内容少之又少,面对着机遇和挑战,开展宽带增值业务和附加功能是必然趋势。 由于宽带互联网的现状,即宽带接入和宽带应用是发展瓶颈,因此开发宽带应用服务,开展增值业务和附加功能成为了必然的趋势,发掘接入用户对宽带应用和内容服务的需求,将直接决定今后宽带和整个互联网业务的竞争 ;(使用中文标点符号,以下文中同此要求 )开展宽带增值业务应用 和新的附件功能己经成为了目前宽带发展的大势所趋。 许多人视为 21 世纪的技术热点之一,但它并不是一个新概念。早在30年前,就有公司推出了一些具有典型 征的产品 1。事实上,因特网最初的设计目标就是让网络上的计算机互相之间可以直接通信而不需要中介,只是随后由于网络规模的扩大,“客户 /服务器”模型才逐渐成为因特网上占统治地位的计算模型 1。从这个意义上看,最近两年才开始成为热点的 传统的回归”。 虽然 其快速发展却源于因特网的快速崛起。 第一代因特网 通过全局共享的通信媒介来动态地访问远程信息 2。通过在文本档案中建立指向其他信息源的链接,构成一个信息网络,通过 人们可以访问动态信息。但在这种模型中,信息网络是分片结构的,存在着许多信息孤岛。 随着第一个网络浏览器 诞生,因特网进入了第二个发展阶段。次提供了一个综合的图形化浏览器,通过 结合,屏蔽了信息获取的具体过程和细节,促进了 形成。 南开 大学工程硕士毕业论文 2 器、网络门户和入口以及搜索引擎的信息基础架构 3。 在第二代模型中,内容驻存在服务器上,而小是在创建它们的设备上,这使得可用信息源的覆盖范围无论是在质量还是数量上都下降了,与此形成对比的却是 “资源在哪里创建,就到哪里访问”的愿望促进了因特网进入第三个发展阶段 分布式计算。比如, 100万人要同时访问一个站点,是不是意味着必须构建一个高配置的服务器来满足所有人的需求? 分布式计算模型的答案是可以将此站点分解到 100万台 过 的协作来进行。这一答案隐含着两个显 著的改变:搜索分布在网络上进行,内容驻留在边缘 (而非中心服务器 )4。 正是因为因特网的演变导致了 第二节 课题的目的和意义 目前建立聊天室有很多种技术手段,但无疑大多数是以 C/且对客户端来说必须能够自由的访问互联网,这大大限制了即时通讯的广泛性。以论本地计算机处于什么样的网络中,都能够和自己相连接的计算机进行交互,这大大提高了该系统的可用性 【 5】 。尤其在使用了 备了 够轻松 的应用到各种不同的操作系统之上,真正实现跨平台的 随着社会生产力的高 度发展,人们对生产效率的追求越来越高。随着计算机硬件和软件的高度发展,人们利用 计算机 来不断促进生产率的改善,从而大大加速了生产力的发展。当今,计算机在社会中的应用越来越广泛 【 6】 。过去,对数据的管理都需要人工来完成。随着计算机技术的不断发展及计算机应用的普及,人们逐步将这些复杂的工作交给计算机来完成。计算机的一大优势在于它的数据处理功能,它运行速度快,存储量大,是企业管理现代化的有效工具和手段。越来越多的工作也需要用信息管理系统 来管理各个方面的数据,以满足用户需要的独立的软件。 首先要了解这个系统必须实现什么样的功能才能去寻找这些功能实现的方法 7。 在企业内部每一个有信息需要交换的员工,首先要通过一个入口加入这个统,这里可以用一个客户端来实现这个功能,然后是确定这些员工现实与 南开 大学工程硕士毕业论文 3 系统中虚拟标识的对应关系,这样员工之间才能通过 统中虚拟的标识辨别出自己所要通信的目标是否确实为自己想要通信的目标,这个功能可以在客户端设计用一个用户注册模块来实现 【 8】 。当用户通过入口进入本 统时,用户就应该能在这个系统环境里实现自己的目标 ,比如说即时通信,文件共享传输等等,设计时就需要考查实际情况,结合用户提出的需求进行分析,最后得出用户对系统的功能需求。 在设计课题时,该系统最主要的目的是能够为局域网用户带来沟通的便利。即使该局域网不能访问互联网,但仍能为本地的所有计算机提供聊天服务,为同学之间的信息传递提供良好的基础 9。 第三节 论文的工作 本文主要对基于 2过比较不同的聊天室平台实现方案,指出了 且也研究了10。最后利用 主要工作集中在以下几方面: 1、对平台的整体结构和框架进行了分析和设计。 2、构建了基于 2 3、构建了成员的信息生成和发送机制。 4、实现了一个基于 文组织结构 本文章节结构如下: 第一章 描述了 于 第二章 介绍开发 并对采用这些工具做了解释。 第三章 通过一些资料以及实际调查,对 括系统组织结构职责,业务流程,需求规定等内容。 第四章 对 生总体设计报告。包括一些方案以及本系统应该采取的方案,数据库的设计等内容。 第五章 测试报告,根据测试用例,对本系统进行了测试,解决了很多系统 南开 大学工程硕士毕业论文 4 中的错误,使系统运行更好。 南开 大学工程硕士毕业论文 5 第二章 系统需求 第一节 系统需求 聊天室主要用来使大量用户之间能够即时通信。系统提供了用户统一的登录方式。首先通过用户输入自己的电子邮件地址作为个 人身份认证,然后用户可以为自己自定义一个昵称。登陆聊天室后,系统立刻开始搜索已经进入了该聊天室的其他用户,每当查找到一个用户系统则尝试和这个用户建立一通信信道,如果建立成功,用户之间就能够享受聊天服务,最终实现即时通信的功能 【 11】 。系统应该能够处理各种情况,比如某一个用户离开聊天室或者在通信过程中由于网络等其他缘故发生意外中断后,系统应当得到通知并把该用户从成员列表里删除。由于对于任意一个用户来说每建立一条通信信道就要消耗一定的本地资源,该系统初试设置为可接受 50 条通信信道,一旦超出这个限制便不再连接其他 用户,用户可以自己定义这个连接数 【 12】 。在通信过程中,用户还可以改变自己的昵称。 本系统最大的用处是可以为处于局域网中的用户提供简单快速的信息交流,尤其是在学校的同学、老师之间。在 聊天软件不能使用的时候,比如说该局域网不能访问因特网或者网络管理员限制了这些即时通信软件的使用,该系统就是一个很好的选择,因为它不依赖于一个中央服务器的认证 【 13】 。 第二节 性能需求 基于上述对聊天室系统的需求分析,对该系统的性能需求如下: 可用性 程序应该尽量独立于操作系统平台,低层系统的 网络通信协议必须能够正常工作 【 14】 。一个运行本系统的客户机可能处于以下几个网络环境当中: 系统处于孤立状态即既没连入互联网也没连入任何一个私有网络:该程序不能搜索到其它登录该系统的用户。 系统处于一个局域网中,但这个局域网不能访问因特网:正如上一节系统需求分析一样,由于该系统不依赖中央服务器,系统会搜索在本地网络中并登录了该系统的其他用户。 南开 大学工程硕士毕业论文 6 系统位于一个防火墙或者 种情况是使用 这种情况下,防火墙和 后的客户机至少要有一台能够穿越防火墙和 他的客户机才能够通 过这台客户机和外部通信。 用户注册功能:系统必须有用户这个基本的元素才能在用户之间建立通信,实现数据的传输 【 15】 。 查找功能:有了用户还要确定其他用户的地址,所以要通过查找用户的功能模块来实现获取其他用户地址这个功能。 好友功能:用户不能每次想要传输数据就去查找一次我们的目标用户的地址,用户需要的是直接通过一个模块传送给目标用户数据,那么用户就用一个好友功能模块来保存用户所有想要传送数据的用户的地址,这个好友功能模块应该由以下几个小的功能模块来实现: 添加好友:添加一个好友在用户好友列表里,便于用户传输 数据。 删除好友:用户可能因为某种原因不需要这个好友的地址了,用户就可以把这个地址从好友列表里清除掉不必要的用户信息。 好友状态:当一个好友退出本系统之后我们应该知道他已经不在系统中了,所以用户要可以看到好友在系统的状态。 更新好友:这个功能应该是隐藏的、自动执行的,当用户的好友登录的时候可能因为什么原因导致他的目的地址改变了,或者离开了系统,那么这个更新好友的功能就应该把该好友当前最新的地址,最新的状态更新到列表里面。 消息发送:当用户确定了当前要发送消息的用户之后用户就应该把想要传输的信息通 过一个功能模块发送出去。 消息接收:当好友发送给用户消息时用户能够通过一个模块来即时的接收到这个消息,并显示到本地的用户界面上。 文件传送:当需要给目标好友传送文件的时候就要通过这个模块来实现他。 接收文件:当好友有文件发送给本地用户的时候,本地用户要对这个数据流进行一个处理接收或拒绝的处理。 南开 大学工程硕士毕业论文 7 用户信息修改:当用户由于什么原因需要修改自己的密码或者信息的时候,我们就应该通过这个功能模块来实现 14。 查看好友信息:该功能可以实现查询好友的相关信息,比如用户名字。 运行环境 硬件环境 系统最低配置为: 1、 频; 2、不低于 256存; 3、不低于 5空闲主存; 4、有图形图象显示适配器; 5、具有人机交互设备,如键盘、鼠标、显示器等; 6、有网络适配器,并能和其他系统进行通信。 软件环境 1、操作系统为 2、安装有 且 3、安装有 能正常工作,最好 南开 大学工程硕士毕业论文 8 第三章 基于 聊天室平台的研究与设计 第一节 现有方案的比较 传统 C/聊天室可采用传统的 C/在这种方式中,远程的一台服务器来接受来自客户端的请求,并且负责响应所有的请求即把数据广播给每一个客户端。虽然它具有很多的优势,比如它是基于现有网络应用中使用较多的模式,所以它的架构成本比较低且容易实现,表现了一种一对多的特性 【 15】 。然而,这种模式对服务器端的硬件和网络带宽的要求较高;其次,这种方式造成了数据源的固定,不既对加入聊天室的客户数量有限制,而且一旦中央的服务器发生问题整个聊天室平台就得瘫痪 【 16】 。 系统设计采用 构,最下面一层为数据层,可以存取关系型数据、文档型数据和其他业务 系统数据,中间层基于应用服务器,各种业务组件注册在应用服务器上进行管理 17。通过中间件构造好用户访问界面并把各种业务逻辑连接起来,采用 行数据的组织,通过 务层响应客户端的请求。客户端采用浏览器方式进行访问。整个功能结构围绕着内容管理平台建立,各个功能模块通过管理平台进行系统的定义和集成。这样的结构有利于对系统的扩展和维护 17。在实际运行时,用户通过管理平台访问不同的内容,向系统发出数据查询或操作请求,在经过安全认证后,数据由 务器提供给注册在应用服务器中的业务逻辑组件即系统 功能组件,功能组件根据数据请求,对数据库进行访问,并将结果传送给管理平台,由平台反馈给用户(浏览器) 18。 系统的开发平台是 台数据库使用 用目前十分流行的要特性: 很方便的对源文件进行导入和导出; 源代码的管理更加随心所欲; 支持团队开发; 支持插件开发功能。 ( 1) 根据用户需求,确定数据库中要保存的信息 对于用户需求进行分析是数据库设计的第一个阶段。不断地调查与研究用户 南开 大学工程硕士毕业论文 9 需求,了解企业运作流程等系统需求,是设计概念模型的基础 19。 ( 2) 设计数据的概念模型 概念模型是按用户的观点来对数据建模,是用于进行信息世界建模的工具。它对整个数据库的设计具有深刻的影响 20。 ( 3) 逻辑结构设计 逻辑结构是把概念结构转化为与所采用的数据库管理系统所支持的数据模型相符合的过程。 ( 4) 数据库的实施和维护 最受欢迎的开源 据库管理系统,它由 B 开发、发布和支持。 B 是一家基于 发人员的商业公司,它是一家使用了一种成功的商业模式来结合开源价值和方法论的第二代开源公司。 21。 线程、多用户和健壮的 据库服务器。 负载生产系统的使用,也可以将它嵌入到一个大配置 (软件中去。 开源的,开源意味着任何人都可以使用和修改该软件,任何人都可以从 下载和使用 不需要支付任何费用。 集中式的 案 这种方案指的是每一个对等点的管理以及成员列表的建立都由一个中央服务器来负责。 基于这一类的应用,目前已经有很多成熟的案例,比如 实目前的 用最终还是没有脱离客户端 /服务器端架构,这也是这类应用的性质所决定的。 因为在这种模式中,对对等点的管理和维护在服务器端,所以它不会为对等点的管理耗费太多的网络资源,从而使得这种结构对于对等点的加入和离开能够做出最快的反应 22。然而,正是由于服务器端需要维护对等点,同样带给中央服务器大量负担,并且还是会造成单点崩溃。 全分布式的 这种方案指的是系统中没有中心的服务器,所有的对等点管理以及成员列表 南开 大学工程硕士毕业论文 10 管理都是全分布式的。 目前国内还没有这样的系统。而在国外, 是这类系统的典型代表 23。虽然它们之间在对等点的组织方面采用了不同的方法。 虽然该类方案能够满足部分 是都是自己致命的缺点,比如 有专门的底层 构,整个结构就是一个播放树,灵活性和健壮性太差。而 范围又太小,大大限制了应用范围。对于 要接收端选择发送节点,这确实适合多对一的方式,但这种需要接收端采用复杂的数据分配算法,从而造成接收端的臃肿。 系统运行于客户端,并且系统在界面设计上也参考了一些信 息管理系统,在保证功能完整的同时更加提供了许多操作提示。系统界面美观,层次分明,操作方便。操作方式在其用户组织内是完全可行的 24。 通过在技术、经济和操作上进行可行性分析,开发一套根据学院实际情况设计和实现的科研信息分布式系统是完全可行的。 可运用 术进行开发,并结合适当的操作平台( 服务器( 建立 现与 据库选用 5。 在 式下操作 据库是通过数据库的网络技术 实 现的,这就要用到动态客户端的编程技术。动态客户端的编程技术即是在客户端文件中。 用 言写成的, 言具有跨平台的特性,所以 适合于编写服务器端执行的程序。加上 以结合静态的 法,使得 设计方式简洁而直观 26。 1登录时,最长的响应时间控制在 800 到 1600毫秒之间;平均响应时间控制在 500毫秒之内。而传送文件时间则根据文件大小自动调节。 2内存平均占用控制在 能超过 10M。 3. 软件源文件大小控制在 2方便使用和传播 。 4. 如果计算机死机或者突然断电,在软件重新启动时,需要再次登录系统。 南开 大学工程硕士毕业论文 11 5. 提供模版化的人机界面,如果用户具备编写按键和皮肤控件的能力,可以灵活地自行修改组件的显示界面,包括按键效果和皮肤颜色。 系统运行要求 运行环境:安装有 各种操作系统。 硬件接口:标准接口(连接交换机的就接口)。 软件接口:通信接口(实现局域网建立,信息共享)。 故障处理:重新安装该软件,检查网络是否正常。 安全保密性:有安全保密。系统只保存简单的用户信息,重要信息由用户自己保管。 可移植性:适用于各种操作系统。 可维 护性:可以进行简单维护。 本系统逻辑相对简单,开发周期较短,故成本不高,应用于 天系统可以提高工作效率,从而实现聊天系统、资源交流基本信息管理的科学化、技术化和系统化 27。 第二节 介 美国 司自从 1995 年向世界推出了 言以来,每年都会在 2动了 最近几次的旧金山的 议中, 该公司向业界推出的较新技术。该技术的目的是为 网络应用 开发提供一个统一的平台,而且为了鼓励和支持该技术的发展, 目采用了开放源码的方式,因此吸引了大量业界人士参与到 是人气很旺的一个 000年的夏天,现在大家把 2P 的平台, 一是解决众多 2000 年,是 飞猛进的高潮年,但高潮背后却是许多小公司用自己的封闭系统试图在 圈一块地。 为,只有 互通才能真正发挥出优势,就好像 能互连的人越多,越有价值。所以 所有 统都能连接起来,只有 南开 大学工程硕士毕业论文 12 置中立、但在技术上有雄存实力被大家认可的公司才有希望做成这一平台 28。 念最简单的系统构成的“积木”。如果成功,这几块积木就会是今后大家构架信息系统的基本模块,从而帮助人们摆脱像 的三部曲, 灵 ) 的谐音,而缩写。当时 打头的英文词找出来, 是巧妙。既表现了 说明 2P29。但 众不同,它是由一系列网络协议构成的,用任何语言都可以实现,并不只限于 有彻底独立于操作系统、网络传输技术以及程序设计语言,才真正达到了跨平台,而这样的技术,最容易受到业界的认同。 项目创始人、 席科学家 十多年酝酿的结晶,“ 以解决现代分布计算尤其是点对点 (算中出现的问题。” 究项目,将提供使用户更便捷地访问连接在互联网上的个人电脑资源的新框架,从而进一步拓展互联网的空间。同时 是 联网战略的延续,并且将更积极的姿态与 略和不是打算将它变成象微软的 且 体;有别于而微软的 术都是申请专利的专有技术, 望通过公开 代码的方式,成为微软最有力的竞争对手,在公开源代码的领域中, 卓越的成功典范, 希望 铸造新的成功。 术提供了基础性的机制解决当前分布计算应用中面临的问题,实现新一代统一、安全、互操作以及异构的应用。目前它支持基于 术的平台和系统。而将来 术将不受到内存的限制而支持更多小型移动设备。 术和 据表达的结合,提供 了强大的功能使得垂直应用得以交互,并且可以克服目前 时,通过小型、简单、便于开发的构造模块, 使开发者从建立各自框架的复杂工作得以解放,可以潜心关注于建设各类新颖、创造性的、分布式计算应用。 首先, 为了构建 络而制订的一组协议,是处理构建 络 南开 大学工程硕士毕业论文 13 所碰到的问题的解决方法, “ 六个协议组成,这些协议是专为特定的、分布式的、对等的网络计算而设计的。使用这些协议, 以互相合作来建立自我组织 、自我管理的对等组,而不必关心创门在网络中所处的位置 (在网络边缘或者防火墙的后面 ),并且也不需要集中的管理机构。” 30 因此 次, 目前 供了支持六个协议的 将推出包括 C 语言在内的其他编程语言的 设计时有如下几个目标 : 操作系统无关 语言无关 为 从本质上讲, 目标是希望在任何设备,从台式机到 车、洗衣机等设备都可以

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论