天猫购物券套现:FTP和P2P下载有什么不同?

来源:百度文库 编辑:查人人中国名人网 时间:2024/04/28 05:06:13

FTP下载有稳定的数据源,但是在都是数兆宽带的今天,服务器负荷过重而导致

  下载速度总是不尽人意.采用P2P技术的BT下载方式弥补了速度上的不足,充分利用

  了用户的带宽,但是由用户提供的数据源总是不稳定。二者如果结合在一起的话刚好

  可以互补。以前曾经设想过将两者结合起来的概念模型,后来才发现现在已经有了相

  当广泛的应用了~~~

  FTP下载中经常存在这样的情况:

  1)对于一个相同的文件,有多个用户同时下载。

  2)用户下载的文件在不同的地方有相同的副本。

  第一个情况中,对于每一个用户,服务器都要建立一个连接,分别传输相同的东

  西(就出现了冗余),而此时的传输瓶颈恰恰也在服务器这里,要提高传输效率就要

  从服务器这里消除冗余,而此时P2P技术就要派上用场了。同一个文件,用户可以将

  其分成数个部分,每个用户同时下载不同的部分(若下载采用多线程下载每个部分还

  可以提高速度),而同时,用户之间交换已经下载的数据。此时,可能还存在着一个

  或多个同样的文件存储在不同的服务器上,也就是第二种情况。这时就可以将其他的

  相同文件看作数据源同时下载,这样就减轻了单一服务器的负荷。

  下面描述一下具体步骤:

  假设有用户1~用户N要同时下载Server1~ServerN上的文件FILE,

  此时需要用户安装结合了FTP和P2P技术的下载软件(先叫RED吧),还要架设一台协

  调用户存储信息的下载软件服务器DoSERVER(含存有文件的其他地址的数据库,正在

  下载文件的用户群IP等)。

  首先,用户1点击了FILE的地址,RED捕获地址信息,将地址发送到DoSERVER,查询

  是否有文件FILE的信息,如果没有则将文件FILE及此地址加入数据库,然后用户1得

  到存放有FILE的多个地址和正在下载文件FILE的其他用户IP地址。

  然后,用户1选择若干连接速度快的其他用户建立P2P连接,按照统一算法将FILE按

  大小分块,用户1建立多线程定位到若干个FTP服务器上还未曾被下载的块,同时进

  行FTP下载。

  最后,下载完成后还可以将文件作为资源供其他人下载

  这样在最恶劣的情况下也保证了有一个或多个可以同时稳定下载的FTP资源(除非找到的地址中资源全部失效才会导致下载失败),而随着资源的积累,找到的FTP资源会更多。

  另外还有数据库的维护,如地址、用户的添加,更新等

  -------------------------------------------------------------------------

  这里只是大概原理~细节还有好多~~慢慢搞ING`~