计算机本科论文开题报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
本科生毕业论文(设计)开题报告
论文(设计)题目p2p文件共享系统设计与实现
学生姓名专业计算机科学与技术指导教师
选题目的、价值和意义:
p2p技术是一种用于不同用户pc机之间、共享他们所拥有的空闲软、硬件资源(处理能力、存储能力、网络连接能力、可共享文件等;),可以不经过中继设备直接互相访问和交换信息的技术。按传统的web方式实现协同工作,会给服务器带来极大的负担。P2p服务器的出现,使得互联网上任意两台pc机都可以建立实时的联系,建立了这样一个安全、共享的虚拟空间,这样就形成了点对点的服务,无需将服务器夹在中间,使得互联网上任意两台pc机都可以建立实时的联系。人们可以进行各种各样的活动,这些活动可以是同事进行的,也可以交互进行。P2p网络具有分散化,可扩展性、健壮性、高性能等优点,使得p2p 技术及其应用备受关注。
研究综述(前人的研究现状及进展情况):
(Peer to Peer,简称P2P)可以简单的定义成通过直接交换来共享计算机资源和服务,而对等计算模型应用层形成的网络通常称为对等网络。在P2P网络环境中,成千上万台彼此连接的计算机都处于对等的地位,整个网络一般来说不依赖专用的集中服务器。网络中的每一台计算机既能充当网络服务的请求者,又对其它计算机的请求作出响应,提供资源和服务。通常这些资源和服务包括:信息的共享和交换、计算资源(如CPU的共享)、存储共享(如缓存和磁盘空间的使用等)。
P2P的发展:P2P网络借贷平台在英美等发达国家发展已相对完善,这种新型的理财模式已逐渐被身处网络时代的大众所接受。一方面出借人实现了资产的收益增值,另一方面借款人则可以用这种方便快捷地方式满足自己的资金需求。国外成功的P2P网络借贷平台Prosper:成立于2006年,如今拥有超过98万会员,超过2亿的借贷发生额,是目前世界上最大的P2P借贷平台。
国内的P2P平台正处于初步发展阶段,但如今并无明确的立法,国内小额信贷主要靠“中国小额信贷联盟”主持工作。可参考的合法性依据,主要是“全国互联网贷款纠纷”第一案,结果阿里小贷胜出”。随着网络的发展,社会的进步,此种金融服务的正规性与合法性会逐步加强,在有效的监管下发挥网络技术优势,实现普惠金融的理想。
第一代P2P(中央控制网络体系结构——集中目录式结构)
第二代P2P(分散分布网络体系结构——纯P2P网络结构)
第三代P2P(混合网络体系结构———混合式网络结构)
第四代P2P(发展中的P2P技术)
应该说第四代P2P并没有形成真正的代,而是在原有技术的基础上作了改进,提出和应用了一些新技术措施。
主要研究内容:
基于C/S模式结构的P2P共享、检索系统,采用混合P2P网络模式来开发该系统,使用多线程编程,允许多个客户端并发登陆和进行文件检索,并将检索结果返回给相应的客户端。该系统采用JAVA语言中的Socket,来完成网络编程、服务器跟客户机的请求和应答。使用Swing设计服务器界面来实现服务器的管理,界面友好,美观。同时还设有服务器端的监控,来保存客户端的IP和文件列表。因为采用JAVA技术,所以本系统的移植性较好,系统无关性。其次本系统有分散化、可扩展性、健壮性、高性能、查询速度快等优点。
拟采用的设计方法与路线:
实现一个C/S结构的文件共享及检索系统,能够提供文件共享和检索服务。基于Java socket编程和P2P原理,设计一个文件共享服务器,存储所有登陆客户所共享的文件列表,允许多个客户端并发登陆和进行文件检索,并将检索结果返回给相应的客户端。此外,还要实现图形界面的服务器管理和监控工具。
开发C/S模式模型原理:
服务器,使用ServerSocket监听指定的端口,端口可以所以指定(由于1024以下的端口通常属于保留端口,在一些操作系统中不可以随意使用,所以建议使用大于1024的端口),等待客户连接请求,客户连接后,产生会话;在完成会话后,关闭连接。
客户端,使用Socket对网络上某一个服务端口发出连接请求,一旦连接成功,打开会话;会话完成后,关闭Socket。客户端不需要指定打开端口,通常都是临时的、动态的分配一个1024以上的端口。
Sockets有两种主要的操作方式:面向连接的和无连接的.面向连接的sockets 操作就像一部电话,他们必须建立一个连接和一人呼叫.所有的事情在到达时的顺序与它们出发时的顺序时一样.无连接的sockets操作就像是一个邮件投递,,没有什么保证,多个邮件可能在到达时的顺序与出发时的顺序不一样。到底用哪种模式是由应用程序的需要决定的.如果可靠性更重要的话,用面向连接的操作会好一些.比如文件服务器需要他们的数据的正确性和有序性.如果一些数据丢失了,系统的有效性将会失去一些服务器,比如间歇性地发送一些数据块.如果数据丢了的话,服务器并不想要再重新发过一次.因为当数据到达的时候,它可能已经过时了.确保数据的有序性和正确性需要额外的操作的内存消耗,额外的费用将会降低系统的回应速率。
面向连接的操作使用TCP协议.一个这个模式下的socket必须在发送数据之前与目的地的socket取得一个连接.一旦连接建立了,sockets就可以使用一个流接口:打开-读-写-关闭.所有的发送的信息都会在另一端以同样的顺序被接收.面向连接的操作比无连接的操作效率更低,但是数据的安全性更高。
在JA V A程序设计中,创建线程有两种方式:一个方法是从一个自定义类中定义一个对象,这个对象扩展上述类Thread,实现该类的各种方法。另一种方法是使用接口Runable来创建线程类。线程间的通讯机制,总的说来一共有三种方法:1:使用全局变量。2:使用Windows消息传递机制。3:使用事件。上
面我们说了线程会共享进程的资源,其中全局变量也包括在内,所以线程可以通过使用全局变量来通讯。但是这种办法的明显的缺点是在有多个线程存取同一个全局变量时,必须考虑同步的问题。
论文(设计)拟定提纲:
摘要
第1章绪论
第2章 p2p结构模式介绍
第3章系统的设计与实现
第4章系统的测试
第5章总结与展望
参考文献
致谢
主要参考文献:
[1] 陈刚.基于P2P分布式存储的研究与实现[D].西安电子科技大学,2004.
[2] 韩国庆.P2P技术在分布式存储中的研究与应用[D].西安电子科技大学,2003.
[3] 马跃.基于P2P的文件共享系统分布路由的研究[D].北京邮电大学,2004.
[4] 庄良.P2P网络文件共享系统的研究与实现[D].中国地质大学,2004. [5] 刘晓辉主编.Windows Server2003服务器搭建、配置与管理[M],北京:中国水利水电出版社,2004:56—151.
[6] [美]Dana Moore,John Hebeler 著,对等网Peer To Peer[M],北京:清华大学出版社,2003:10—92.
[7] 周亚辉. JA V A数据库系统项目开发实践[M],北京:科学出版社,2005:6—10,322—390.
[8] 胡雷、叶曙光、徐饪著. JBuilder 9.0入门与提高[M],北京:科学出版社,2004
指导教师意见及建议:
签字:年月日