P2S、P2P、P2SP之对比

简介: P2S、P2P、P2SP之对比一、下载原理分析         1、服务端下载技术(P2S):P2S下载方式分为HTTP与FTP两种类型,它们分别是Hyper Text Transportation Protocol(超文本传输协议)与File Transportation Protocol(文件传输协议)的缩写,它们是计算机之间交换数据的方式,也是两种最经典的下载方式,该下载方式原理非常简单,就是用户通过两种规则(协议)和提供文件的服务器取得联系并将文件搬到自己的计算机中来,从而实现下载的功能。

P2S、P2P、P2SP之对比

一、下载原理分析

         1、服务端下载技术(P2S):P2S下载方式分为HTTP与FTP两种类型,它们分别是Hyper Text Transportation Protocol(超文本传输协议)与File Transportation Protocol(文件传输协议)的缩写,它们是计算机之间交换数据的方式,也是两种最经典的下载方式,该下载方式原理非常简单,就是用户通过两种规则(协议)和提供文件的服务器取得联系并将文件搬到自己的计算机中来,从而实现下载的功能。其工作原理如图1所示:


图1:P2S下载工作原理图

        2、点对点下载技术(P2P):在解释P2P下载原理之前我们先了解一下网络带宽。通常用户上网时主要使用网络的“下行带宽”(也就是从其他计算机到本地的带宽),比如浏览网页、下载软件等等。相比较而言“上行带宽”(从本地计算机到其他计算机的带宽)使用率非常低,而且发送的数据量一般很小,这就造成了带宽资源的巨大浪费。 P2P下载则充分利用了用户富余的上行带宽。与P2S方式正好相反,该种模式不需要服务器,而是在用户机与用户机之间进行传播,也可以说每台用户机都是服务器,讲究"人人平等"的下载模式,每台用户机在自己下载其它用户机上文件的同时,还提供被其它用户机下载的作用,所以使用该种下载方式的用户越多,其下载速度就会越快。其工作原理图如图2所示:


图2:P2P下载工作原理图

        3、智能网格技术(P2SP):P2SP下载方式实际上是对P2S和P2P技术的进一步延伸和整合,通过多媒体检索数据库这个桥梁把原本孤立的服务器和其镜像资源和P2P资源整合到了一起。这样下载速度更快,同时下载资源更丰富,下载稳定性更强。

二、下载资源

        由于下载原理的不同,决定着P2S下载方式是通过下载服务器进行下载,同时下载资源须由专人上传到服务器后,方可进行下载,受到下载服务器的限制,其资源是有限的。

        而P2P下载是通过种子的方式进行传播,如果有人想把文件提供下载,只要通过软件把文件制作成种子而且发布到页面上就可以了,同时种子体积非常小,便于发布。种子发布后,只要有一个人提供共享,那么其它人就可以通过BT软件进行下载。

         P2SP可以把所有的P2P共享资源与各下载服务器进行整合,所以其下载资源远远大于P2S方式,同时P2SP采用的多媒体搜索引擎技术还可以把服务器端的同一个文件的各个镜像同时找到,能够实现各个服务器同时下载,这样下载资源可以说是非常丰富。

三、下载速度

        P2S方式下载,虽然可以实现多线程下载,但由于其下载资源来自单一服务器,这样下载的人数一多,其下载速度就会变的非常慢,服务器负载加大可能崩溃,一旦服务器崩溃或者资源不存在将无法继续下载。

        而 P2P下载则不然,下载的人数越多,其下载速度就会越快,从而让我们实现飞速下载,但美中不足的是,当下载人数减少时,特别是现在有好多人下载完成后,就不想再做种子为他人服务,这时下载速度就会急剧下降。如果找不到种子则无法继续下载。

       而P2SP则不然,他通过独特的多媒体搜索引擎技术,把种个服务器端的文件整合到一起,实现同时从多个服务器端下载文件,而不像P2S方式那样只是从一个服务器端多线程下载,这样就能用有效的使用其它服务器,这样不但减轻了服务器的压力,还为稳定高速下载提供了保障。如果服务器和镜像资源都无法链接下载,则启用P2P的种子资源下载。

       P2S中的S是独立的单一服务器;而P2SP中的S则是多台服务器的一个并合。如果采用P2S可以建立N个下载链接,那么如果P2SP中有M台服务器,那里理论上P2SP将会建立M×N个下载链接。大家可以推算,P2SP的理论速度可以是P2S速度的M倍。

四、下载资源的安全性

        只要能够找到P2P种子,就能够下载该文件,也可以说通过P2P下载方式,可以下载任何提供种子的文件。这样以来,一些不法分子可能会有机可乘,同时限制也是非常困难的。而能过P2S方式下载的文件,都是通过服务器端进行下载,这样只要对服务器进行管理,就可以有力的打击不合法文件的传播,文件的可控性有了很大的提高。P2SP最原始的下载资源也是来自服务器端的,这样只要有效的对服务器端进行监管,从而就可以有效的避免少数用户利用P2P软件散播非法内容。

五、典型代表软件

        1、网际快车(FlashGet):目前最流行的下载软件,它在较早的时候有效地解决了下载的两个最大问题:速度和下载后的管理,通过把一个文件分成几个部分同时下载可以成倍的提高速度,下载速度可以提高 100% 到 500%。它可以创建不限数目的类别,每个类别指定单独的文件目录,不同的类别保存到不同的目录中去,强大的管理功能包括支持拖拽,添加描述,更名,查找,文件名重复时可自动重命名等等。而且下载前后均可轻易管理文件。

由于FlashGet推出时间比较早,再加上产品的稳定性很好,所以是目前多数用户的首选。当然,FlashGet由于它是基于(P2S),所以当服务器忙、带宽吃紧或者服务器崩溃的时候,使用FlashGet的用户将因为服务器的不同状态而产生下载漫或者是无法下载的情况。

 

        2、BT(BitTorrent):在BitTorrent的世界中,凡是参加下载的计算机无所谓“服务器”或者“客户机”,每一台“客户机”同时也是 “服务器”,当它下载的时候,同时也会使用上行带宽将已经下载的部分发送到其他计算机上。这样,下载的人越多,实际网络带宽就越大,速度自然就越快。

由于BT的下载资源丰富,速度又快,所以在短短时间成为用户下载大容量软件的首选。但是,由于下载源的不稳定(服务器一般肯定比用户机安全稳定)及操作的麻烦,所以也影响了BT的进一步发展。

         3、迅雷(Thunder):和前两者不同,迅雷除了不仅能把使用者指定的下载链接保存到动态数据库中,同时还会结合多媒体搜索引擎去寻找这个文件的多个网络镜像,从而实现多服务器的下载,而不是仅仅从一个服务器端进行多线程下载。如果,互联网上存在多个服务器资源,将优先从服务器和镜像服务器下载。这个时候使用迅雷起到了服务器下载分流的作用、使得同样一台服务器可以给更多的用户提供下载;当没有多服务器资源的时候,用户的下载可以从单服务器和其他用户节点同时下载,这个时候,使用迅雷起到了为服务器减压作用,在同样保证用户下载速度的前提下,不需要为下载的高峰时间增加服务器开销和带宽开销;当服务器忙、带宽吃紧和服务器宕机的时候,用户的下载将在用户的节点之间完成,这个时候,使用迅雷起到了恢复死链接的作用,使得不管下载服务器处于任何状态,用户都能够顺利的完成下载。

六、总结

        从上面的几项对比我们可以看出,P2P下载虽然能够实现高速度下载,但当人数减少时,其速度也并不理想,其稳定性受到限制,同时其可控性也没有采用服务器方式更安全,而P2S方式下载在人数多时,其速度也会变的非常慢,甚至出现连接不上的问题,其效果也不是很理想。但这两种下载方式也并不是不能使用,我们可以使用P2P下载种子数多,热门的一些软件、电影等,而下载一些小文件,可直接采用P2S方式进行下载,对于一些大文件,我们可以使用P2SP,实现多服务器多线程快速下载,从而满足我们的需要。


目录
相关文章
|
9月前
|
数据采集 存储 算法
终于有人把数据挖掘讲明白了
在大数据时代,许多企业面临一个难题:数据存储量庞大,却难以从中挖掘真正价值。本文深入探讨了数据挖掘的核心概念与实践方法,解析了其与普通数据分析的区别,并通过真实案例展示了如何通过数据挖掘发现隐藏的业务规律。文章还详细介绍了数据挖掘的六个步骤及三大关键点,强调了业务理解与数据质量的重要性,帮助企业在实际应用中少走弯路,真正实现数据驱动决策。
终于有人把数据挖掘讲明白了
|
Shell
在Bash中检查变量是否为空的几种方法
在Bash中检查变量是否为空的几种方法
2032 0
在Bash中检查变量是否为空的几种方法
|
传感器
差动放大器的介绍
一、差动放大器的原理 差动放大器是通过两个输入信号的差值来放大信号的一种电路。它由两个输入端口和一个输出端口组成,输入端口分别连接两个输入信号,输出端口连接放大后的信号。差动放大器的原理基于差动放大模式,即将两个输入信号分别连接到两个晶体管的基极端口,通过晶体管的放大作用将差值放大后输出。 差动放大器的工作原理是利用两个晶体管的共射放大作用,通过对输入信号进行差分放大,将差值放大后输出。其中一个晶体管的基极连接到输入信号,另一个晶体管的基极连接到输入信号的反相信号。通过对两个晶体管的控制,可以实现对输入信号的放大和输出。 二、差动放大器的工作方式 差动放大器的工作方式主要包括共模模式和差模
888 0
|
存储 Kubernetes API
kubernetes【存储】1. 共享存储pv、pvc、StorageClass使用详解(1)
kubernetes【存储】1. 共享存储pv、pvc、StorageClass使用详解(1)
kubernetes【存储】1. 共享存储pv、pvc、StorageClass使用详解(1)
|
8月前
|
算法 IDE Java
Java 项目实战之实际代码实现与测试调试全过程详解
本文详细讲解了Java项目的实战开发流程,涵盖项目创建、代码实现(如计算器与汉诺塔问题)、单元测试(使用JUnit)及调试技巧(如断点调试与异常排查),帮助开发者掌握从编码到测试调试的完整技能,提升Java开发实战能力。
758 0
|
5月前
|
数据采集 机器学习/深度学习 算法
数据清洗6大核心方法,一文讲透!
数据清洗是数据分析的基石,能确保结果准确、提升效率、统一口径。面对缺失值、异常值、格式不一等痛点,需结合业务理解,通过系统化步骤与工具(如FineDataLink)高效处理,避免“垃圾进垃圾出”。
|
9月前
|
文件存储 Docker CDN
Docker 镜像源可用列表
本文介绍了多个可用的Docker Hub镜像加速站点,定期更新确保运营维护,可免费使用且拉取速度快、稳定性高。支持群晖、极空间等主流NAS厂商,部分厂商已内置该镜像源。同时提供镜像加速配置方法及一键安装Docker和Docker-Compose命令,适用于各大云服务商和本地部署场景。
3688 2
|
机器学习/深度学习 存储 自然语言处理
利用Elasticsearch进行大规模文本分类与聚类
【8月更文第28天】文本数据在现代应用中占据着重要的位置,无论是社交媒体分析、客户反馈管理还是内容推荐系统。Elasticsearch 是一款强大的搜索引擎,非常适合用于处理大量的文本数据。本文将介绍如何利用 Elasticsearch 来实现大规模文本数据的分类与聚类分析,并提供一些具体的代码示例。
723 0
|
缓存 监控 Java
大厂性能优化的10大顶级方案 (万字图文史上最全)
本文详细介绍了大厂性能优化的10大顶奢方案,涵盖代码优化、缓存优化、异步优化、多线程优化、前端优化、微服务架构优化、硬件升级、数据库优化、过载保护优化以及度量与监控系统等方面。每部分不仅提供了理论知识,还结合实际案例和代码示例,帮助读者全面理解和应用这些优化策略。文章还特别强调了架构设计的重要性,指出架构师需要具备多方面的知识和技能,包括硬件、软件、网络协议、分布式知识等,以应对复杂的技术挑战。最后,作者尼恩分享了自己多年的经验,提供了丰富的技术资源和实战指导,助力读者在面试和工作中取得成功。
大厂性能优化的10大顶级方案 (万字图文史上最全)
|
存储 算法 安全
堆 和 优先级队列(超详细讲解,就怕你学不会)
堆 和 优先级队列(超详细讲解,就怕你学不会)