讯雷搜索到的资源问题
分类: 游戏 >> 单机游戏
问题描述:
有个问题我一直不懂,比如说:我在别人的网站下载一个文件,用的迅雷,搜索到两个资源,下载对方的一个文件,为什么会是两个资源 听人说对方服务器是用一种软件,把文件分割开就成两个资源了,分割多少块就多少资源,是这样的吗用什么软件能做到这样?
我是菜鸟,不太懂,懂的大哥们教教我,小弟先谢谢了
解析:
迅雷现在很流行,风头早已超过了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