BT的出现使大多数人现在对P2P并不陌生,P2P的下载概念,简单点说,就是下载不再象传统方式那样只能依赖服务器,内容的传递可以在网络上的各个终端机器中进行。

而现在,P2SP出现使用户有了更好的选择,它除了包含P2P以外,更多了个S(P2SP的“S”是指服务器)。P2SP有效地通过多媒体检索数据库这个桥梁把原本孤立的服务器和其镜像资源以及P2P资源整合到了一起。也就是说,在下载的稳定性和下载的速度上,都比传统的P2P或P2S有了非常大的提高。

迅雷的加速原理就是采用了P2SP技术,说起来并不复杂

迅雷P2S技术的核心

1. 智能资源选择

如何在多达1亿资源中选择合适的资源是智能选择的关键。

合适的资源既要考虑资源本身的服务能力,又要考虑具体的网络环境,我们不妨看几个具体的例子:

示例一:

用户A在进行下载时,候选资源有R1、R2,其中,R1来自专用下载服务器,专用带宽100M,R2则是网友个人站点,在同等条件下,选择R1显然获得更高的下载速度。

示例二:

在示例一中,如果A是网通用户,而R1是电信资源,R2是网通资源,那么,由于网间限速的原因,R1的速度未必高过R2。

迅雷的智能资源选择技术来自迅雷核心技术的积累和对每日海量数据的挖掘利用,它充分考虑用户的网络条件、服务器的服务能力、当前的网络负载等,实时、迅速的选择最佳资源。

2. 下载服务器负载均衡

很显然,由于巨大的下载量,单个下载服务器,无论能力如何出色,总可能被压垮,传统的解决方法是提供多个下载地址,让用户自己选择;下图是一个典型的下载页面:

这样做的实际结果是:

第一, 把复杂性转移给了用户。用户面对一堆的下载地址,一个一个的尝试,一直到碰到能够下载的为止。

第二, 由于人的选择一般是从上到下,所以上面的服务器压力大甚至垮掉,而下面的服务器则可能根本用不上;服务器的使用效率和用户的下载速度都受到损害。

迅雷技术则完全解决了这些问题,除了智能资源选择,迅雷会自动根据当前服务器压力进行负载均衡。迅雷的负载均衡技术保证:

第一, 网站A的下载会自动在A的下载服务器列表中选择负载最低的服务器;

第二, 网站A可能有限使用B的下载服务器,当然是在保证B网站本身下载速度的前提下;

第三, 为防止网站A不提供下载服务,大量盗用网站B资源,迅雷会自动对网站进行分级,降低甚至取消对贡献小和不贡献网站的加速;

综上可知,迅雷的P2S技术做到了:

首先,给用户节省了时间,提高了速度;

其次,提高下载网站的服务能力,迅雷作为全局的负载均衡器,有效的把各下载网站的服务器组织为一体,提供7*24的服务;该服务不会因为部分服务器或部分网站的全部服务器的Down机而受到大的影响;

第三,迅雷的算法保证公平原则,在下载服务方面投入越多,则网站的加速效果越好,反之亦然;这样,专注用户体验的网站,投入越大,其流量和价值越高,投机取巧的网站则必然衰落;从这个意义上讲,迅雷不是在盗链,而恰恰是在帮助下载网站进行更有效的数据传递。

盗链的理解
假如迅雷提供的资源是盗链,那么百度MP3搜索是什么?

隐私威胁
有用户提出,迅雷所具有的P2SP技术可能会造成用户信息泄露,由于P2SP技术类似于P2P技术,因此必定存在于一个索引服务器。如果用户下载的个人隐私文件在下载完成后即使从服务器上删除,但未在客户端删除的话,将有可能导致个人用户隐私泄露。
任何用户只要安装了迅雷下载工具,使用迅雷下载的时候,用户的下载行为会完全被迅雷记录并上传,这样的行为也侵犯了用户的合法隐私,造成了网络安全的隐患。 迅雷下载技术跳过了网页环节,使得用户在下载文件的时候,有可能下载到非法网站的内容,使用户可能感染电脑病毒和木马,并对信产部网站监管工作造成不利影响。(华军软件园声明)

迅雷的工作原理
也就是说,迅雷会收集互联网上的所有下载地址和装了迅雷的电脑的资料.

1.其实收集互联网上的服务器的下载地址,很多软件都会这样做.如网际快车等,但网际快车不会收集在下载地址里包涵了用户名和密码的下载地址,为什么?因为网际快车的程序员知道,下载地址里有用户名和密码,就是不想让所有人都使用.但迅雷的程序员可不理你,一样收集,然后供其它人使用.说白了,就是我们站长最恨的"盗链".

例:包涵用户名的下载地:ftp://Thund:Issue@202.154.123.218/0718/世界大战.rmvb

这个下载地址里的Thund:Issue就是用户名和密码了

2.上面说到的,只是提供下载的站长利益受损,下载的用户好像说,关我什么事?我下载快,就行了.

嘿嘿,天下可没那么便宜的事.如果网上就那么几个网站的下载点,作用也不是很大,人家站长也不是傻的,让你迅雷一直的盗链.那有什么办法增加下载点呢?不就是那个用过迅雷下载的人喽

迅雷一装好后,以后你系统启动,在你的系统背后,都会启动两个线程(迅雷的),Thunder.exe和Issue.exe,但你在系统的右下角的工具栏里是看不到迅雷已经悄悄的启动了.只有在线程里才能看到.

这两个线程有什么用呢?就是要像BT那样,共享你硬盘上的文件,让其它人下载.所以,局域网的网管可就辛苦了,找死你也找不出,为什么你的网里面的流量那么大.

从以上看出来,迅雷的程序员是很清楚用户是不想共享自己电脑上的文件给其它人下载的,所以他在系统后面悄悄启动迅雷的两个线程,而让你不发觉.

所以就算你不在下载,你上网也会慢得要死.硬盘不用多久就可以丢进垃圾桶里.

3.在迅雷的客户端上,还能通过搜索,找到不同的东西下载.如搜win2003,就会搜到win2003的下载点.但这些下载点可不是在迅雷服务器上的,但这个不要面的,却通过这种方式,让迅雷的用户觉得迅雷提供了速度快的下载点.

这种行为,我相信会得到众多的普通迅雷用户的支持.但这种盗链,严重影响到一个网站的生存.再有,每个迅雷用户也不一定同意自己每天一开电脑,就给别人上传.

迅雷下载速度快的原因和工作原理 迅雷比其它下载工具快,是因为他是P2SP机制,说白了,就是BT的升级:

例:当有一个用户在一个电影网站上,得到一个下载地址(A),然后用迅雷下载,这个下载地址就会收集到迅雷的服务器上.

在地求的另一个地方又有一个用户在另一个网站上下载同一部电影,而得到另一个下载地址(B),就又会给迅雷服务器收集.

然后迅雷服务器就会把相同文件的下载地址(A,B)集合在一起,形成一个资源.那两个用迅雷下载这两个电影的用户也算上.就会有四个下载点了.

而又有用户在别的地方准备下载相同的电影的时候,迅雷就会在数据库里比较,找出相同的资源(其它下载点,也就是上面收集到的),提供给那个准备下载的用户下载,那这个用户就会同时有多个下载点来下载,而达到速度的提升.而这个用户当然也不可能只是享受高速的下载,他同时也会上传了他下载的那部份数据(BT原理).

所以,当一个用户用迅雷下载时,就会连上迅雷服务器,查找资源,如果是热门的文件,迅雷就能返回大量的下载点,供这个用户下载.从而达到下载速度的提升.

[缓存]迅雷下载的原理——P2SP加速技术相关推荐

  1. [缓存]迅雷下载原理

    来自:http://hi.baidu.com/gcjia/blog/item/2b77bc3df8544803bba1675f.html 1.迅雷是什么? 迅雷是基于P2SP的一款下载软件,能够大大增 ...

  2. Hadoop技术内幕:深入解析MapReduce架构设计与实现原理 (大数据技术丛书) - 电子书下载(高清版PDF格式+EPUB格式)...

    Hadoop技术内幕:深入解析MapReduce架构设计与实现原理 (大数据技术丛书)-董西成著 在线阅读                   百度网盘下载(ihhy) 书名:Hadoop技术内幕:深 ...

  3. 迅雷下载原理及其协议分析

    迅雷下载原理及其协议分析 2012-08-26 迅雷是一个多协议的的P2SP下载管理器,除了支持基本的HTTP.FTP下载,还支持同一个资源的多种P2P协议下载,例如BT和电驴协议.当然,最大的特点是 ...

  4. GPU加速技术原理介绍

    GPU加速技术&原理介绍 1.GPU&CPU GPU英文全称Graphic Processing Unit,中文翻译为"图形处理器".与CPU不同,GPU是专门为处 ...

  5. [缓存]迅雷(XUNLEI)的工作原理揭密

    迅雷(XUNLEI)如何搜索一个资源的多服务器版本? -------实现一个类似迅雷的系统"福雷(FULEI)" 来自:http://blog.csdn.net/mudboy    ...

  6. 迅雷下载软件的工作原理(可耻啊)

    简单的说,迅雷的工作原理就是"普通下载+P2P下载",用过迅雷的人都知道,迅雷在下载的时候,下载分两部分, 一部分是你输入的下载网址,另一部分就是所谓的资源搜索,让我们来看看什么叫 ...

  7. 站长利好,迅雷宣布开放“迅雷下载JS-SDK”

    下载领域的龙头企业迅雷,近日对外开放了"迅雷下载JS-SDK".迅雷相关人士表示,任何网站都可以使用这套SDK调用迅雷进行下载,并且首次提供了"批量下载"的支持 ...

  8. 深度学习的异构加速技术(一):AI 需要一个多大的“心脏”?

    欢迎大家前往腾讯云社区,获取更多腾讯海量技术实践干货哦~ 作者:kevinxiaoyu,高级研究员,隶属腾讯TEG-架构平台部,主要研究方向为深度学习异构计算与硬件加速.FPGA云.高速视觉感知等方向 ...

  9. 软硬件融合加速技术系列文章

    目录 文章目录 目录 计算机组成原理 异构计算 GPU FPGA SmartNIC/DPU Linux 操作系统原理 处理器 进程管理 内存管理 I/O 系统 文件系统 网络协议栈 资源管理 设备管理 ...

最新文章

  1. Python找出某元素的索引下标
  2. 想学好C语言?先把基础打好再说吧!
  3. 春天到了,减肥机器人也到了。
  4. Qt界面UI之QML初见(学习笔记四)
  5. 《JavaScript高级程序设计2》学习笔记——BOM
  6. 2017 ACM-ICPC南宁网络赛: J. Minimum Distance in a Star Graph(BFS)
  7. linux 用命令安装软件,Linux安装软件的三种常用命令
  8. SystemGenerator:数字信号处理之开发准备、流程预演
  9. asp dsn mysql 连接失败_Asp透过系统DSN链接mysql数据库
  10. 关于ideal统计代码量 statistic插件
  11. 使用STM32F4定时器的ETR功能对外部脉冲进行计数
  12. 《会计学》简单的思维导图(第一版)
  13. 经验:怎么样免费在线PDF拆分
  14. 软件定义的网络(下)
  15. Unloaded branch node detected. “loadOptions“ prop is required to load its children.
  16. djcpth计算机实验报告,计算机组成原理实验
  17. html scale属性,CSS中的zoom属性和scale属性的用法及区别
  18. 微软专家话人生:成长中不可或缺的是信仰
  19. 青少年python系列 33.python安装非内置模块
  20. spring依赖注入的四种方式

热门文章

  1. 公共关系礼仪实务章节测试题——公共关系的类型(二)
  2. 使用RPM打包QT程序
  3. 网页游戏HTML5--爱心鱼实现过程
  4. Matlab批量保存图片到指定路径
  5. 欧姆龙NJ/NX项目实战步骤
  6. kali下载地址和安装方法
  7. 今日科技联播:中国团队夺得MegaFace百万人脸识别冠军,精度99%再创记录
  8. android各版本的差别
  9. 那些让你相见恨晚的网站
  10. origin作图 基础中的基础 一图一opj