梦殇国际

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 刷粉
月光下载 云刷粉软件 云刷粉网页 水贴机电脑版 安卓软件 梦殇导航(教程集合) 有任何问题请点击提问
查看: 1090|回复: 15
打印 上一主题 下一主题

百度360是如何给每个人免费提供2TB存储空间的?

[复制链接]

4644

帖子

2073

积分

2612

TBS

君临天下

UID
11537
积分
2073
TBS
2612
智商
1279
节操
1715
海贝
65
阅读权限
50
在线时间
427 小时
注册时间
2014-5-24
最后登录
2024-7-13

在线时间长

QQ
跳转到指定楼层
1
发表于 2014-11-29 07:34:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
云盘相信大家都不陌生了,牛逼的现在主要有两家——百度&&360。不得不说在万物皆云的时代里,这是一种非常好的网络工具,而对我们这种穷到掉渣的免费用户来说,硬盘空间 简直就是硬伤,刚开始使用的时候真是为了空间,各种折腾(做他那里所谓的任务),到头来也才扩充了 5G 左右。现在好了,随随便便、轻轻松松就有了 2T 的空间。

而这突如其来的 2T 空间是如何实现的呢?

事实是这样滴!

假如我想要为每个用户提供 1G 的网络存储空间。

如果服务器上有一颗 1000G 的硬盘可以全部为用户提供数据储存,如果每个用户分配 1G 的最大储存空间,那么能分配给多少个用户使用呢?

你一定说是 1000/1=1000 个用户。

但是事实上你这么分配了,你会发现每个用户平时根本不会上传 1G 的东西将容量占的满满的,有多有少,但平均用户平时只上传 50M 的文件,也就是说,如果你将 1000G 的硬盘分给 1000 个人使用,但只有效利用了其中的 50M*1000=50G 的空间,剩余 950G 的空间基本都完全浪费了。

那么怎么解决呢?

你可以变通一下,将这 1000G 的空间分配给 20000 个用户使用,每个人的上传上限容量还是 1G,但每人平时还是平均上传 50M 的数据,那么 20000*50M=1000G,这下子就把宝贵的服务器上的存储空间充分利用了。但你又怕这样分配给 20000 个人后,万一某一刻人们突然多上传点数据,那么用户不是就觉察出来你分给人家的 1G 空间是假的了吗?所以可以不分配那么多人,只分配给 19000 人,剩下一些空间做应急之用。

突然发现一下子将可分配的用户数量翻了 19 倍啊,了不起。那还有没有办法更加有效的利用一下呢?

如果我有 1000 个以上的服务器,一个服务器上有 1000G 空间,那么我们每个服务器上都要留下 50G 的空白空间以备用户突然上传大数据时导致数据塞满的情况,那么我这 1000 个服务器上就空出了 1000 台*50G=50000G 的空间被浪费了,多么可惜。所以攻城狮们发明了存储集群,使得一个用户的数据可以被分配在多个服务器上存储,但在用户 那看起来只是一个 1G 的连续空间,那么就没必要在每个服务器上预留出应急的空间了,甚至可以充分的将前一个服务器塞满后,在将数据往下一个服务器中塞。这样保证了服务器空间的 最大利用,如果某一刻管理员发现用户都在疯狂上传数据(在一个大规模用户群下,这样的概率少之又少)导致我现有提供的空间不够了,没关系,只需要随手加几 块硬盘或者服务器就解决了。

好吧,这下子我们的服务器空间利用高多了,可以将一定量的空间分配给最多的用户使用了。但有没有更好的改进方案呢?

管理员有一天发现,即使每个用户平均下来只存储 50M 的东西,但这 50M 也不是一蹴而就的,是随着1-2 年的使用慢慢的达到这个数量的,也就是说,一个新的用户刚刚注册我的网络空间时,不会上传东西,或者只上传一点非常小的东西。那么我为每一个用户都初始分 配了 50M 的空间,即使将来 2 年后他们会填满这 50M ,但这期间的这空间就有很多是浪费的啊。所以聪明的攻城狮说:既然我们可以分布式、集群式存储,一个用户的数据可以分布在多个服务器上,那么我们就假设一开始就给一个新注册的用户提供 0M 的空间,将来他用多少,我就给他提供多少存储空间,这样就彻底的保证硬盘的利用了。但用户的前端还是要显示 1G 的。

工程师的这个点子,使得我在建立网盘初期能用 1 台 1000G 的服务器提供了大约 1000000 人来注册和使用,随着注册的人多了,我也有钱了,也可以不断增加服务器以提供他们后期的存储了。同时因为一部分服务器完成了一年多购买,我的购买成本也下来了。

那么…这就结束了吗?

若是邮箱提供商的话,这样的利用率够高了。但网盘就不一样了。

聪明的工程师发现:不同于邮箱,大家的内容和附件绝大多数都是自创的和不同的。但网盘上大家上传的东西很多都是重复的。

比如:张三今天下载了一部《TOKYO HOT》上传到了自己的网盘上,李四在三天后也下载了一模一样的《TOKYO HOT》上传到了网络硬盘上,随着用户的增多,你会发现总共有 1000 个人上传了 1000 份一模一样的文件到你宝贵的服务器空间上,所以工程师想出一个办法,既然是一样的文件,我就只存一份不久好啦,然后在用户的前端显示是没人都有一份不久行 啦。当某些用户要删除这个文件的时候,我并不真的删除,只需要在前端显示似乎删除了,但后端一直保留着以供其他拥有此文件的用户下载。直到所有使用此文件 的用户都删除了这个文件我再真的将其删除吧。

这样子随着存储的数据越来越多,注册的用户越来越多,其上传的重复数据越来越多。你发现这样的检测重复文件存储的效率越来越大。这样算下来似乎每个人上传的不重复的文件只能平均 1M/用户。这下子你可以提供超过 50 倍的用户使用您这有限的空间了。

但伴随着使用,你又发现一个规律:

张三上传的《TOKYO HOT N0124》和李四上传的《TH n124》是同一个文件,只不过文件名不一样,难道我就不能识别出他们是一个文件,然后只将其分别给不同的用户保存成不同的文件名不就行啦?确实可行,但 这要利用一些识别文件相同性的算法,例如 MD5 值等。只要两个文件的 MD5 值一样,文件大小一样,我就认为它们是相同的文件,只需要保存一份文件并给不同的用户记作不同的文件名就好了。还有就是文件转存功能,但是难道他不是同一个文件?

有一天你发现,因为每一个文件都需要计算 MD5 值,导致 CPU 负荷很大,而且本来一样的文件非要浪费带宽上传回来才可以检测一致性,能改进一下吗?

聪明的工程师写了个小软件或小插件,美其名曰“上传控件”,将计算 MD5 的工作利用这个软件交给了上传用户的电脑来完成,一旦计算出用户要上传的数据和服务器上已经存储的某个数据是一样的,就干脆不用上传了,直接在用户那里标 记上这个文件已经按照 XX 文件名上传成功了。这个过程几乎是瞬间搞定了,并给其起了个高富帅的名字“秒传”!

通过以上这么多步骤,你发现本来你只能给 1000 用户提供网络空间的,这么多改进办法后,在用户端显示 1G 空间不变的情况下,近乎可以为 1000000 个用户提供网络空间了。

这样若是您哪天心情好,对外宣传说:我要将每个用户的存储空间上限提升到 1TB。那么每个用户平均还是只上传 50M 数据,只有极个别的用户上传了突破 1G 原始空间的数据,你会发现所付出的成本近乎是微乎其微的。

这下知道了吧,一个好的方案是多么的便利!!!

当然,辛勤的攻城狮还在为如何更有效率的利用服务器提供的磁盘空间在不屑努力和挖掘着……

转载自:忘了是谁了……
来自安卓客户端来自安卓客户端
幻晓团群号:256923527
回复

使用道具 举报

2390

帖子

851

积分

2560

TBS

UID
26725
积分
851
TBS
2560
智商
2123
节操
2185
海贝
114
阅读权限
40
在线时间
460 小时
注册时间
2014-11-29
最后登录
2016-2-8
2
发表于 2014-11-29 07:55:42 | 只看该作者
表示360够用了,百度,算了吧。
全站禁止灌水,后果自负 月光爆吧器 积分充值 签名档设置 积分记录 新人必备
梦殇qq群 欢迎加入群内禁止传播黄色信息!
①群:515706814 爆吧□顶贴□机器 ②群:94025161 贴吧推广□爆吧□软件 ③群:549343908 营销推广□贴吧□软件
回复 支持 反对

使用道具 举报

22万

帖子

6万

积分

6万

TBS

❤牵着我的手❤闭着眼睛走你也不会迷路❤

UID
77
积分
67552
TBS
65989
智商
75025
节操
75016
海贝
1142
阅读权限
150
在线时间
6092 小时
注册时间
2014-1-2
最后登录
2023-6-29

二逼青年榜上有名在线时间长水货统领签到达人

QQ
3
发表于 2014-11-29 07:58:45 | 只看该作者
张姿势
回复

使用道具 举报

2545

帖子

660

积分

100

TBS

得我所得

UID
8255
积分
660
TBS
100
智商
1414
节操
1850
海贝
174
阅读权限
40
在线时间
472 小时
注册时间
2014-4-5
最后登录
2018-12-26
4
发表于 2014-11-29 08:09:28 爪机党 | 只看该作者
百度云空间可以拿来做网络验证 自动更新
来自苹果客户端来自苹果客户端
tss9.cn
回复 支持 反对

使用道具 举报

7万

帖子

9680

积分

2885

TBS

UID
3993
积分
9680
TBS
2885
智商
44409
节操
39045
海贝
848
阅读权限
80
在线时间
1242 小时
注册时间
2014-2-3
最后登录
2024-7-31

在线时间长签到达人

5
发表于 2014-11-29 08:14:55 | 只看该作者
百度云也可以存啊
来自安卓客户端来自安卓客户端
我没有争夺的心因为我差劲
回复 支持 反对

使用道具 举报

4644

帖子

2073

积分

2612

TBS

君临天下

UID
11537
积分
2073
TBS
2612
智商
1279
节操
1715
海贝
65
阅读权限
50
在线时间
427 小时
注册时间
2014-5-24
最后登录
2024-7-13

在线时间长

QQ
6
 楼主| 发表于 2014-11-29 08:31:43 | 只看该作者
9号好人啊 发表于 2014-11-29 08:14
百度云也可以存啊

看来你完全不知道我发的什么。。
来自安卓客户端来自安卓客户端
幻晓团群号:256923527
回复 支持 反对

使用道具 举报

7万

帖子

9680

积分

2885

TBS

UID
3993
积分
9680
TBS
2885
智商
44409
节操
39045
海贝
848
阅读权限
80
在线时间
1242 小时
注册时间
2014-2-3
最后登录
2024-7-31

在线时间长签到达人

7
发表于 2014-11-29 08:38:35 | 只看该作者
惊蛰 发表于 2014-11-29 08:31
看来你完全不知道我发的什么。。

我知道,你发的是百度360为什么有2g内存,然后你说存种子的,空间怎么用的,别以为我没看,乱水帖
来自安卓客户端来自安卓客户端
我没有争夺的心因为我差劲
回复 支持 反对

使用道具 举报

358

帖子

138

积分

1769

TBS

UID
26338
积分
138
TBS
1769
智商
286
节操
286
海贝
2
阅读权限
20
在线时间
9 小时
注册时间
2014-11-26
最后登录
2015-6-1
8
发表于 2014-11-29 09:50:59 爪机党 | 只看该作者



不明觉厉ing

来自:安卓客户端
全站禁止灌水,后果自负 月光爆吧器 积分充值 签名档设置 积分记录 新人必备
梦殇qq群 欢迎加入群内禁止传播黄色信息!
①群:515706814 爆吧□顶贴□机器 ②群:94025161 贴吧推广□爆吧□软件 ③群:549343908 营销推广□贴吧□软件
回复 支持 反对

使用道具 举报

3万

帖子

4785

积分

1万

TBS

♥有些时候其实想要的并不多 .平平淡淡就好 爱你到老

UID
8388
积分
4785
TBS
17268
智商
19948
节操
19740
海贝
302
阅读权限
60
在线时间
548 小时
注册时间
2014-4-6
最后登录
2021-8-5

二逼青年水货勋章在线时间长签到达人

QQ
9
发表于 2014-11-29 10:42:04 | 只看该作者
我用的百度云,他让我下手机app就送了多少T来着
来自安卓客户端来自安卓客户端
有人疼才显得多么出众
回复 支持 反对

使用道具 举报

49

帖子

24

积分

445

TBS

UID
25116
积分
24
TBS
445
智商
53
节操
46
海贝
4
阅读权限
0
在线时间
10 小时
注册时间
2014-11-16
最后登录
2016-2-2
10
发表于 2014-11-29 10:42:36 | 只看该作者
科普了,3q
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

GMT+8, 2024-12-23 21:29,Processed in 0.040000 second(s), 40 queries.

Powered by Discuz!X3.4© 2001-2013 Comsenz Inc. 手机版|黑名单|站点地图|RGB转16进制|梦殇国际 MSI

贴吧交流群:172119290 | 编程交流群:232677917 | 官方YY频道:13234704 | 本站所有软件仅供学习交流使用!

工信部备案:赣ICP备14004172号-1 | 如有需要请联系 邮箱:541641237#qq.com (点击发邮件)

快速回复 返回顶部 返回列表