eMule网络文件系统开发毕业设计Word下载.docx
- 文档编号:12951422
- 上传时间:2022-10-01
- 格式:DOCX
- 页数:45
- 大小:591.14KB
eMule网络文件系统开发毕业设计Word下载.docx
《eMule网络文件系统开发毕业设计Word下载.docx》由会员分享,可在线阅读,更多相关《eMule网络文件系统开发毕业设计Word下载.docx(45页珍藏版)》请在冰豆网上搜索。
系统采用P2P网络模型,在整个文件上传与下载过程中客户端不需要任何服务器的支持,并可同时从当前在线的其他多个客户端中下载所需的不同文件数据块,实现了多点上传与下载并行,极大提高了速度。
系统分三个模块:
本地共享文件信息收集模块,远程数据库操作模块,文件上传下载模块。
客户端提供的功能主要包括:
文件上传与下载、共享文件模糊查询、文件指纹识别、错误数据恢复、断点续传、流量监控、自动穿透内网、IP和端口探测、单点错误处理等功能。
本系统使用了文件指纹识别技术,能有效地监控下载过程中发生的数据错误,并能够检测错误数据恢复是否成功。
在进行共享文件查找时,利用文件指纹可以精确的查找到所需的文件,避免文件同名而内容不同的情况。
在上传下载过程中,系统使用了自动穿透内网、自动申请端口和磁盘空间、动态调整文件传输包大小、多线程上传下载文件、文件分块、利用内存作下载数据缓存等多种技术。
关键词:
P2P;
NAT;
UDP打洞;
文件传输
Abstract
Withthepopularizationofcomputerandnetwork,workaloneandneednototheruser'
sinteractionsoftwarearefewerandfewer,asonenewdevelopingnetworktechnology,P2Pelasticityandutilizationratioinresourcesattractthemasses'
attentionwithaunparalleledonetheir.TraditionalC/SorB/Sstructure,thenetworkservercaneasilybecomethebottleneck,whentheclientachievetoacertainnumber,thesystemwillbeunabletoprovideservice.InthenetworkbasedonP2P,eachnodecannoonlyprovideserviceforothernodes,butalsocanreceivetheservicethatothernodesoffer,thentheserverbottleneckiseliminated,theperformanceofthewholesystemgetstheimprovementofgreaterintensity.
Undersuchabackground,thistexthasdesignedanddevelopedeMulenetworkfilesystem.ThesystemadoptsP2Pnetworkmodel,thewholefileuploadanddownloadprocessoftheclientwithoutanyserversupport,itcandownloadallkindsoffiledatablocksfromalotofonlineclientatthesametime,achieveamoreuploadanddownloadmissionsparallel,greatlyenhancesthespeed.
Thesystemisdividedintothreepiecesofmodule:
thelocalsharedinformationcollectionmodule,remotedatabaseoperationmodule,thefileuploadsanddownloadsthemodule.Thefunctionthattheclientoffersmainlyincludes:
fileuploadanddownload,sharedocumentsfuzzyinquiry,fingerprintrecognitionoffile,wrongdatarecovery,thebreakpointtransmission,flowcontrol,automaticIntranetpuncturing,IPandportdetection,single-pointerrorhandlingandsoon.
Thesystemusespaperfingerprintrecognitiontechnologythatcaneffectivelycontroltheprocessofdownloadingthedataerrors,andbeabletodetecterrorsanddatarecoverysuccess.Whilelookingforsharefile,itcanaccuratelyfindouttherequiredfilebyusefilefingerprint,andavoidthesituationofthesamenamebutdifferentcontentofthefile.Inuploadanddownloadprocess,thesystemhasusedautomaticIntranetpuncturing,automaticapplicationportsandmagneticdiscspace,dynamicadjustmentoffiletransferpacketsize,multithreadinguploaddownloadfiles,fileblock,usememoryfordownloadingdatacacheandothertechnologies.
Keywords:
P2P;
NAT;
UDPPuncture;
FileTransport
引言
随着技术的不断发展,Internet上出现了各种各样的下载工具,正所谓五花八门,百家争鸣。
下载软件虽然很多,但是他们的下载手段大致说来可以分成三大类,最传统的HTTP和FTP下载,刚刚出现没多久然而已经风靡全球的P2P下载。
HTTP和FTP是两种网络传输协议的缩写,FTP是FileTransportationProtocol(文件传输协议)的缩写,而HTTP则是HyperTextTransportationProtocol(超文本传输协议)的缩写,它们是计算机之间交换数据的方式,也是两种最经典的文件下载方式。
FTP专门用来下载,而HTTP的主要工作是用来浏览网页,不过也能用来下载。
这两种下载方式的原理并不复杂,就是用户按照一定的规则(协议)和提供文件的服务器取得联系并将文件搬到自己的计算机中来。
FTP下载方式最古老,在没有WWW的日子里,FTP就已经广为使用了。
HTTP出现的较晚,但现在也应用的相当广泛。
就HTTP、FTP等下载方式而言,一般都是首先将文件放到服务器上,然后再由服务器传送到每位用户的机器上。
因此如果同一时刻下载的用户数量太多,势必影响到所有用户的下载速度,如果某些用户使用了多线程下载,那对带宽的影响就更严重了,因此几乎所有的下载服务器都有用户数量和最高下载速度等方面的限制。
P2P文件传输是通过一种传销的方式来实现文件共享的,它并不会完全从服务器下载这个文件的所有部分,而是根据实际情况有选择地从其他用户的机器中下载已下载完成的部分,这就大大减轻了P2P文件传输服务器的负荷,也同时加快了下载速度,也就是说每台参加下载的计算机既从其他用户的计算机上下载文件,同时自身也向其他用户提供下载,因此参与下载的用户数量越多,下载速度也越高。
文中首先论述了基于P2P网络的文件传输产生的背景和意义,接着介绍了P2P的相关理论知识。
然后介绍了本系统的关键技术,包括软件的P2P穿越技术,多线程技术,流,文件分块,MD5校验等内容。
接着重点介绍了本系统的总统设计情况,各个模块具体设计情况以及它们之间的联系。
最后给出测试本系统的内容和方法和总结,由于篇幅限制,本文提到的部分代码和功能使用说明书将在附件中给出。
P2P概述
P2P是peer-to-peer的缩写,peer在英语里有“(地位、能力等)同等者”、“同事”和“伙伴”等意义。
P2P也可理解为“伙伴对伙伴”的意思,或“对等联网”。
简单的说,P2P让人们通过互联网直接交互。
这样,P2P就是人可以直接连接到其他用户的计算机、交换文件,而不是像过去那样连接到服务器去浏览与下载;
它改变互联网现在的以大网站为中心的状态、重返“非中心化”,并把权力交还给用户。
1.1P2P文件传输系统产生的背景
近年来互联网上对等连接P2P应用发展迅速,MP3和视频文件共享下载的P2P流已经成为宽带用户流量的主体。
基于P2P的即时通信和互联网电话(如Skype)发展迅速,对等广播P2P流媒体等正在兴起。
P2P协同计算和网格方兴未艾。
P2P应用支持网络通信的对象从人-人,人-机发展到机-机,其应用从家庭网络和传感器/执行器网络到军事上网络中心战/全球信息网格GIG。
1.2P2P文件传输系统国内外的研究现状
近年来,随着Napster、KaZaa、BT、eMule这样的基于P2P技术的文件共享软件在Internet上迅速传播,P2P技术在国际国内都引发了研究的新热潮。
国外开展P2P研究的学术团体主要包括P2P工作组(P2PWG)、全球网格论坛(GGF)以及各高校的研究小组。
P2P工作组成立的主要目的是希望加速P2P计算基础设施的建立和相应的标准化工作。
P2PWG成立之后,对P2P计算中的术语进行了统一,也形成了相关的草案,但是在标准化方面工作进展缓慢。
目前P2PWG已经和GGF合并,由该论坛管理P2P计算相关的工作。
GGF负责网格计算和P2P计算等相关的标准化工作。
从国外公司对P2P计算的支持力度来看,Microsoft公司、Sun公司和Intel公司投入较大。
Microsoft公司成立了Pastry项目组,主要负责P2P计算技术的研究工作,目前开发了基于Pastry的多种应用,包括SCRIBE、PAST、SQUIRREL等。
在新一代的WindowsVista操作系统中,也增加了最新的P2P研究成果来支持协同工作。
2000年8月,Intel公司宣布成立P2P工作组,正式开展P2P的研究。
工作组成立以后,积极与应用开发商合作,开发P2P应用平台。
2002年Intel发布了.Net基础架构之上的AcceleratorKit(P2P加速工具包)和P2P安全API软件包,从而使得微软.Net开发人员能够迅速地建立P2P安全Web应用程序。
IBM公司也开展了基于P2P技术的研究,提出了Smar
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- eMule 网络 文件系统 开发 毕业设计