讯雷搜索到的资源问题

分类: 游戏 >> 单机游戏

问题描述:

有个问题我一直不懂,比如说:我在别人的网站下载一个文件,用的迅雷,搜索到两个资源,下载对方的一个文件,为什么会是两个资源 听人说对方服务器是用一种软件,把文件分割开就成两个资源了,分割多少块就多少资源,是这样的吗用什么软件能做到这样?

我是菜鸟,不太懂,懂的大哥们教教我,小弟先谢谢了

解析:

迅雷现在很流行,风头早已超过了flashget和ants等等多线程下载工具。大多数情况下,它的下载速度确实比较快,具体为什么会有比较快的下载速度呢。下面将做一些探讨。

迅雷声称自己的是P2SP的下载技术。P当然是用户peer,SP是资源的提供商service provider.下面是迅雷官方给出的介绍:

技术特点

迅雷使用的多资源超线程技术基于网格原理,能够将网络上存在的服务器和计算机资源进行有效的整合,构成独特的迅雷网络,通过迅雷网络各种数据文件能够以最快的速度进行传递。

多资源超线程技术还具有互联网下载负载均衡功能,在不降低用户体验的前提下,迅雷网络可以对服务器资源进行均衡,有效降低了服务器负载。

功能列表

全新的多资源超线程技术,显著提升下载速度;

功能强大的任务管理功能,可以选择不同的任务管理模式;

智能磁盘缓存技术,有效防止了高速下载时对硬盘的损伤;

智能的信息提示系统,根据用户的操作提供相关的提示和操作建议;

独有的错误诊断功能,帮助用户解决下载失败的问题;

病毒防护功能,可以和杀毒软件配合保证下载文件的安全性;

自动检测新版本,提示用户及时升级;

提供多种皮肤,用户可以根据自己的喜好进行选择;

为了说明迅雷的工作原理,再给一个迅雷的官方工具给大家,以更清晰的讨论迅雷的下载原理。在迅雷的官方论坛里面有个顶置帖子:

bbs.xunlei/phpwind/read.php?tid=69234&fpage=1,里面有一个测试工具,是测试客户端与迅雷的官方服务器的连接速度。

图中可以看出,使用到了三台服务器:一台是资源服务器,两台注册服务器(tcp和udp)

帖子中还给出了一个调查:

投票主题:关于端口被封的调查!

3076端口被封(将找不到多资源)56 票

5200端口被封(将无法进行雷区注册)67 票

6200端口被封(会隔一段时间就会掉下雷区,需要重新登陆)70 票

由此可以看出,资源服务器负责提供下载的资源情况,使用3076端口。这台资源服务器到底提供的是什么资源呢?在迅雷5中,可以查看当前下载的文件连接的资源是哪些。有服务器地址也有单独的peer。当然很明显,peer的连接没有服务器连接稳定。

原理分析

当用户需要下载资源时,例如要下载“abc/file.exe”这个文件,那么一方面直接向“abc”这个服务器发送一个HTTP请求,要GET到“/”目录下“file.exe”这个文件;另外也向资源服务器(迅雷5中为hub5t.sandi)发送一个请求,查找资源服务器列表中与当前下载的文件的属性信息(如名字一样、大小等)完全相同的资源,因为可能有别的网站也提供这个文件资源;另外,也有另外一种可能,别的“雷友”也在下载或者有你正在下载的这个文件,就可以分享出他下载到的部分。这就有点p2p的share files的意味了。

下载速度

因为不仅仅从一个资源提供者那里获取资源,速度当然会比较快。可是如果你下载的资源是在网上没有多少服务器提供,那么你的速度就不会很快。这个时候,迅雷也就只相当于一个普通的多线程下载工具。

资源服务器

资源服务器上那些文件信息从哪里获得的?我认为一个方面是从每个下载者那里提供的,每次都会查询资源,当然也就得提供你当前是哪个网站获得这个资源的,说明你下载的这个网站肯定是有这个资源的。另外一个方面,迅雷也可以通过搜索引擎的spider去定点搜索国内的那些大型的软件下载网站中的文件信息,不过这一点不容易做,因为大部分的软件下载站都有反盗链技术,有反向链接的控制。

补充

迅雷声称自己是一个超线程的下载工具,本人就不太清楚,它的超线程是体现在哪里?是在它的服务器上吗?这跟用户有什么关系?或者有可能迅雷的下载客户端可以支持超线程,但是在大多数电脑的CPU都还不是HT的时候,说这个好像没有太大的实际意义。

References:

[1]迅雷官方网站xunlei

[2]迅雷官方论坛bbs.xunlei