字节跳动青训营笔记-03

191 阅读3分钟

CS 应用


一个服务端 N个客户端 文件传输时间的下限是 max(F/d,NF/Us)文件和客户端最小下载速度的比值和N份数据和服务端上传速度的最大值

下载速度的瓶颈是服务器上载速度和客户端的下载速度,传输时间随着客户端的数量增加而线性增加

P2P 人人为我 我为人人


下载速度转存失败,建议直接上传图片文件

优势:

  • 下载速度明显快
  • 可拓展性强

缺点:

  • 节点随时下线,是动态的,难以管理

P2P的管理模式


非结构化P2P

Peer和邻居节点之间的链接关系构成一个覆盖网。 非结构化代表着peer和peer之间的边是任意建立的,即这个网络的形状是任意的。结构化即环状或树状规整的网络模型。

如何定位资源? 如何处理perr的加入和离开。

集中式目录服务器

peer上线后,向目录服务器发送自己的ip地址和资源列表。 因此可以实现资源的检索和peer的上线。

存在的问题:

  • 单点故障: 目录服务器宕机,无法提供服务
  • 法律问题:目录服务器是主要侵权者,容易被处罚

完全分布式

查询:泛洪查询

把查询发给我的所有邻居,然后邻居再把查询发给邻居的邻居,直到查询结果返回。

如果不加限制,泛洪查询无边无际,需要一个机制来限制查询的范围。TTL:限制查寻的跳数。

加入: 如何构建覆盖网络? 软件安装后,会自动配置向给定的10个peer发送ping请求,peer受到请求后会向它的邻居发送ping请求。 每个受到ping请求的都会向新加入的节点发送pong,建立联系。

混合体

每一个集群都有组员节点,和组长节点。 组员节点之间是集中式的,组长管理。组长之间是分布式的

Alt text转存失败,建议直接上传图片文件

实际工作的P2P BT BitTorrent

Bitmap 用来表示是否拥有资源。

每一个peer把自己的Bitmap泛洪给所有节点,交换拥有资源的情况。

新加入的节点,先随机挑选四个及以上的下载,后续主要请求稀缺的下载资源。

为了鼓励参与P2P,上传的资源越多,下载的优先级越高。每一个peer节点提供服务,规定只能并行四个资源。剩下的排队。贡献高的和上一个周期传输给我的带宽比较高的peer优先下载。 谁对我的好,我就对谁好 但也要随机,发展潜在客户。

如何加入这个洪流? 在BT网站,下载资源与.torrent文件,Torrent文件当中包括了Tracking server节点(在进行目标文件上下载的节点)。 然后通过上述的方法加入,互通有无。