P2P 分享軟體的有趣現象

2024-02-10 00:32
文章标签 分享 有趣 p2p 軟體 現象

本文主要是介绍P2P 分享軟體的有趣現象,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 

最近在使用 P2P 分享软体时,观察到一个有趣的现象,让我瞭解到,为何有人可以用 P2P  很快 download 到档案,有人却 download 好几天,最后不得不放弃。如下图,用红色线框起来的几个 Client,下载到 99.9% 就停止不前了,就算有 download,流量也很小,0 ~ 1.4 KB/s,为何?

 

在网路上,大家都是聪明人,P2P 分享,必须有 download 也要有 upload,而有些人比较大方,当他们档案 download 完毕后,他们还是会继续 upload。反过来,如果你只想 donwload,但是完全不 upload,就摆明是要占便宜。所以设计 P2P 软体的人,就会根据 upload data size,跟 download data size,来算出一个ratio。当 local client 向其他的 remote client 提出 download request, 这个 ratio 也会包含在 download request 里。

 

remote client 在收到你的 client download request 时,会先放到 request queue 里,然后当 remote client 闲置时,会从 queue 里找一个 ratio 最高的,优先服务。

 

那些 download 到 99.9% 的 client 是怎么回事?那是因为 ratio 太低,排队排不上。

 

ISP 提供的 Internet 连线,不管是光纤 10 M,ADSL 8M,2M ,或是 cable modem,通常是 download 快,upload 慢。因为一般用户,upload 的机会不多,例如送 e-mail,送 HTTP request,FTP upload 档等等。但是 download 用得很多,例如看 YouTube。所以很多人在用 P2P download 时,越 download 到到最后,ratio 值越低。

 

另外,因为 upload 频宽被占满,你看网页,或是看 video 会反应很慢,加上 P2P 都是 multi-thread 处理 upload/download,就更慢了。所以有人就把 upload 频宽设的很小很小。结果还是跟上面一样。

 

那些下载已经 99.9% 的 client 还有一个风险,当所有人都 download 完了资料,很可能就说 bye bye 下线了,然后就留下 0.1% 的遗憾。99.9% 的 download 档案,最后只有移除一途了。

p2p

 

这篇关于P2P 分享軟體的有趣現象的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/695705

相关文章

C#读取本地网络配置信息全攻略分享

《C#读取本地网络配置信息全攻略分享》在当今数字化时代,网络已深度融入我们生活与工作的方方面面,对于软件开发而言,掌握本地计算机的网络配置信息显得尤为关键,而在C#编程的世界里,我们又该如何巧妙地读取... 目录一、引言二、C# 读取本地网络配置信息的基础准备2.1 引入关键命名空间2.2 理解核心类与方法

Golang使用etcd构建分布式锁的示例分享

《Golang使用etcd构建分布式锁的示例分享》在本教程中,我们将学习如何使用Go和etcd构建分布式锁系统,分布式锁系统对于管理对分布式系统中共享资源的并发访问至关重要,它有助于维护一致性,防止竞... 目录引言环境准备新建Go项目实现加锁和解锁功能测试分布式锁重构实现失败重试总结引言我们将使用Go作

Python中列表的高级索引技巧分享

《Python中列表的高级索引技巧分享》列表是Python中最常用的数据结构之一,它允许你存储多个元素,并且可以通过索引来访问这些元素,本文将带你深入了解Python列表的高级索引技巧,希望对... 目录1.基本索引2.切片3.负数索引切片4.步长5.多维列表6.列表解析7.切片赋值8.删除元素9.反转列表

Python中处理NaN值的技巧分享

《Python中处理NaN值的技巧分享》在数据科学和数据分析领域,NaN(NotaNumber)是一个常见的概念,它表示一个缺失或未定义的数值,在Python中,尤其是在使用pandas库处理数据时,... 目录NaN 值的来源和影响使用 pandas 的 isna()和 isnull()函数直接比较 Na

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用

【专题】2024飞行汽车技术全景报告合集PDF分享(附原数据表)

原文链接: https://tecdat.cn/?p=37628 6月16日,小鹏汇天旅航者X2在北京大兴国际机场临空经济区完成首飞,这也是小鹏汇天的产品在京津冀地区进行的首次飞行。小鹏汇天方面还表示,公司准备量产,并计划今年四季度开启预售小鹏汇天分体式飞行汽车,探索分体式飞行汽车城际通勤。阅读原文,获取专题报告合集全文,解锁文末271份飞行汽车相关行业研究报告。 据悉,业内人士对飞行汽车行业

nudepy,一个有趣的 Python 库!

更多资料获取 📚 个人网站:ipengtao.com 大家好,今天为大家分享一个有趣的 Python 库 - nudepy。 Github地址:https://github.com/hhatto/nude.py 在图像处理和计算机视觉应用中,检测图像中的不适当内容(例如裸露图像)是一个重要的任务。nudepy 是一个基于 Python 的库,专门用于检测图像中的不适当内容。该

java常用面试题-基础知识分享

什么是Java? Java是一种高级编程语言,旨在提供跨平台的解决方案。它是一种面向对象的语言,具有简单、结构化、可移植、可靠、安全等特点。 Java的主要特点是什么? Java的主要特点包括: 简单性:Java的语法相对简单,易于学习和使用。面向对象:Java是一种完全面向对象的语言,支持封装、继承和多态。跨平台性:Java的程序可以在不同的操作系统上运行,称为"Write once,

分享5款免费录屏的工具,搞定网课不怕错过!

虽然现在学生们不怎么上网课, 但是对于上班族或者是没有办法到学校参加课程的人来说,网课还是很重要的,今天,我就来跟大家分享一下我用过的几款录屏软件=,看看它们在录制网课时的表现如何。 福昕录屏大师 网址:https://www.foxitsoftware.cn/REC/ 这款软件给我的第一印象就是界面简洁,操作起来很直观。它支持全屏录制,也支持区域录制,这对于我这种需要同时录制PPT和老师讲

【干货分享】基于SSM的体育场管理系统的开题报告(附源码下载地址)

中秋送好礼 中秋佳节将至,祝福大家中秋快乐,阖家幸福。本期免费分享毕业设计作品:《基于SSM的体育场管理系统》。 基于SSM的体育场管理系统的开题报告 一、课题背景与意义 随着全民健身理念的深入人心,体育场已成为广大师生和社区居民进行体育锻炼的重要场所。然而,传统的体育场管理方式存在诸多问题,如资源分配不均、预约流程繁琐、数据统计不准确等,严重影响了体育场的使用效率和用户体验。