p2p文件共享系统的实现分析的论文

p2p文件共享系统的实现分析的论文

ID:9777476

大小:63.50 KB

页数:5页

时间:2018-05-08

p2p文件共享系统的实现分析的论文_第1页
p2p文件共享系统的实现分析的论文_第2页
p2p文件共享系统的实现分析的论文_第3页
p2p文件共享系统的实现分析的论文_第4页
p2p文件共享系统的实现分析的论文_第5页
资源描述:

《p2p文件共享系统的实现分析的论文》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、P2P文件共享系统的实现分析的论文摘要:系统qtp2pfile-sharingsystem(qps)是利用qt开发的p2p文件共享系统。qps采用p2p中的混合模式,此模式结合了集中目录式和纯分布式两者的优点,在实现上具有简易性,在共享度上具有很强的扩展性。qps的最大特点是加入了策略。这种策略能限制一些用户只下载而不共享资源的行为。策略的引入是为了鼓励用户与其他人分享自己的资源,而不仅仅是索取。入策略的qps不仅能比较有效的限制只下载不分享的行为,而且对系统的寿命也有相当程度的提高。关键词:文件共享;p2p;策略;qt    c/s式架构造就了一批著名的门户网站,如

2、雅虎,新浪等。这些网站容易受到黑客的亲睐后果是服务崩溃。c/s式架构只有一个服务器或服务机群,服务器一旦崩溃,它提供的服务也将停止。而p2p式架构却正好相反,它没有服务器(相对c/s架构而言)或服务器是分布的,一个服务器崩溃了,其他的服务器照样能提供服务。这种架构能有效的抵抗ddos攻击,它的安全性有很可靠的保障。另外,采用p2p式架构的网络资源共享系统不但大大的减轻了单个服务器的负担,而且也提高了很大的安全性。人们也可以通过这种架构建立自己的信息天地,与其他的人分享自己的资源。    1系统设计实现的重点与难点    系统qps在linux上用qt开发,系统设计原理和

3、策略都并不复杂,但这不代表系统的实现也是简单的。对于系统的整个实现来说,有三个地方是最重要的,也是比较难的。先介绍系统运行流程:  (1)group-leaderpeer运行,并连接上其他的任意某个group-leaderpeer;  (2)ordinarypeer连接(登陆)某个group-leaderpeer,并把所资源表发送个group-leaderpeer;  (3)group-leaderpeer将已连接的其他pc的资源表发送给此ordinarypeer;  (4)ordinarypeer浏览资源并选择下载或则向group-leaderpeer发送资源搜索

4、请求;  (5)group-leaderpeer将资源表中符合搜索的资源所在ordinarypeer的ip发给请求ordinarypeer,同时向其他以连接的group-leaderpeer发送搜索请求,其他的group-leaderpeer将资源ip反馈,收到反馈后再发送个搜索ordinarypeer;  (6)ordinarypeer从获得的资源表中选择下载,即与另一个ordinarypeer建立连接,下载完毕后断开连接。.cOm  从上面的过程可以看出,系统共有三个通信链路,分别是:  (1)group-leaderpeer与group-leaderpeer之

5、间的通信;  (2)ordinarypeer与group-leaderpeer之间的通信;  (3)ordinarypeer与ordinarypeer之间的通信。    三个通信链路上的信息都是不一样的。因此,必须给三个通信链路都制定相应的通信协议。qps不是多线程的,因此对每个通信套接字来说,都必须知道对方的套接字。这在实现上也存在一定的难度,这个是由开发工具而带来的。最后一个难度是nat穿透问题。为了解决不同局域网间的通信,这个问题的解决是必须的。由于开发硬件环境的限制,现版本的qps本没有考虑这个问题。也就是说,实现的版本是局域网内的。在此,需要指出的是,nat

6、的问题并没有违背qps的目的。首先,qps只是当前的一个版本,以后可能会进一步完善;再者,在将来ipv6的推出就自然而然的解决了不同局域网内通信这一问题。    2实现过程    针对上节的三个通信链路,必须要设计好三个通信协议。先看下qps中需要传输的各种信息。如图1:    通信链路上的信息表示的意义如下:  doessage:文件搜索信息,包括文件名及搜索跳数;  searchresult:返回的搜索结果,包括文件名和文件所在ip;  otherleadermsg:其他leaderpeer上的信息,包括连接ordinarypeer数目和文件数量等;  l

7、ocalsharemsg:和otherleadermsg一样。  (1)数据结构定义。  为了实现以上三个通信协议,首先规定了一些数据结构,以区别不同的通信信息。个种数据结构如下:  #definefileinfo1//文件信息  #defineshareinfo2//共享列表信息  #definedoax_size(2048*10)//文件数据的大小  typedefstruct  {  inttype;//表示是何种信息,下同  ulongsize;//文件大小  ulongdoes;//文

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。