【★】百度网盘背后的真实策略!

简介:      当下,随着存储技术的飞速发展,各大公司都推出了云存储服务。但因为是免费面向大众的,无论微软的OneDrive还是百度的云网盘,好多人都难理解他们如何支撑起如此庞大的存储空间。
      当下,随着存储技术的飞速发展,各大公司都推出了云存储服务。但因为是免费面向大众的,无论微软的OneDrive还是百度的云网盘,好多人都难理解他们如何支撑起如此庞大的存储空间。就百度网盘而言 ,每个用户都可以免费得至少两个T的空间。其实百度并没有财力雄厚到为每个良好公民够买一个2T的硬盘,我们上传最多的无非是文本、图片、音频和视频,其中视频容量最最大,百度公司只要搞定“视频”这一关就足以撑起这一庞大的商业应用。据我自己总结,这背后主要有三点主要策略!
      1.第一点,也是都能猜到的一点,大部分用户面对这2T的容量自然不会一下全部用完,据统计平均每个用户只上传了50~60M的文件,那么剩下的空间自然不会给你闲在那,百度也不傻,自然是存放其他人的上传文件。其实具体实施时,百度有一个存储器集群专门存放用户文件,我们每个人的空间都是一个虚拟(virtual)硬盘,而且它的大小是弹性的,按需分配,所有人的文件按上传时间顺序依次存放。而在终端用户上还显示的是连续的2T空间,这样宝贵的服务器硬盘空间不就节省出来了吗?
      2.第二点,程序员发现,与邮箱不同,网盘里大家上传的内容有很多重复,尤其是电影电视剧,常常对于一个视频有上千次的重复上传。那么机会来了,显然只要对同一种文件存放一份,用户们共享它即可。但是计算机如何识别两个相同的文件呢?光比较文件名当然不行,这时厂商会利用哈希算法(Hash)算出每个文件的哈希值,哈希值相同则文件相同,要知道文件改变一个字符就会对哈希值产生天差地别的变化。然而如果每个文件上传时都计算的话,服务器的cpu很容易负荷超载,于是聪明的程序员想到一个办法,就是让客户机自己算,算完后再一起上传,这样算出之后若发现已经有重复就干脆不用上传了,直接在用户界面标记“秒传”。所以程序员写了个小软件或小插件,美其名曰“上传控件”,下载后会访问我们的cpu,成功圆事儿!
      3.第三点,也是最强的一招,先要说到我们为什么要上传那些电影等视频了。比如好多人会把上传一些从优酷下载下来的视频和音乐,一个原因是看地方便,另一个原因是为了收藏老视频,防止哪天网上再也找不到了(或者要收费)。但百度知道这些视频网站的更新策略啊,百度资深的合作伙伴们会向百度提供视频的地址,并提供快速通道。这样一来借他人之手,百度网盘无需花费一个字节就可以实现各大网站视频的海量存储!!
——By Jim
目录
相关文章
|
10月前
|
小程序 Java 关系型数据库
weixin117新闻资讯系统设计+springboot(文档+源码)_kaic
本文介绍了一款基于微信小程序的新闻资讯系统,涵盖其开发全过程。该系统采用Java的SSM框架进行后台管理开发,使用MySQL作为本地数据库,并借助微信开发者工具确保稳定性。管理员可通过个人中心、用户管理等功能模块实现高效管理,而用户则能注册登录并查看新闻与视频内容。系统设计注重可行性分析(技术、经济、操作),强调安全性与数据完整性,界面简洁易用,功能全面,极大提升了信息管理效率及用户体验。关键词包括基于微信小程序的新闻资讯系统、SSM框架和MYSQL数据库。
|
10月前
|
安全 网络协议 网络安全
Hyper-V无连接,常见原因及修复
Hyper-V无连接问题可能由虚拟交换机配置、网络适配器驱动、IP设置、防火墙、BIOS、Hyper-V服务、虚拟机系统及物理网络等多方面引起。解决时需逐一排查:确认虚拟交换机绑定正确、驱动兼容、IP配置无误、防火墙规则适当、BIOS启用虚拟化技术、Hyper-V服务正常运行、虚拟机系统网络完好以及物理网络设备功能正常。若仍无法解决,建议寻求专业技术支持。
1474 17
|
Ubuntu Unix Linux
如何使用 Supervisor 管理你的进程
**Supervisor** 是一款Python编写的进程管理工具,用于类Unix系统,确保应用服务持续运行。常用命令包括:`reload`(重新加载配置)、`status`(查看进程状态)、`shutdown`(关闭所有进程)、`start`和`stop`(控制单个进程)。在CentOS上安装Supervisor用`yum install -y supervisor`,配置文件通常在`/etc/supervisord.conf`。
507 0
|
SQL 监控 Java
IDEA插件-Mybatis Log Free日志替换
MyBatis Log Free 是一个免费的用于在 IntelliJ IDEA 中显示 MyBatis 日志的插件。它可以帮助您更方便地查看和分析 MyBatis 的 SQL 执行情况,以及定位潜在的性能问题,提高开发效率。
1403 0
IDEA插件-Mybatis Log Free日志替换
|
Serverless Python
Python开根号的几种方式
Python开根号的几种方式
8226 0
|
Java Linux 网络安全
Linux CentOS7搭建邮件服务器并用Foxmail和Java代码发送邮件(下)
Linux CentOS7搭建邮件服务器并用Foxmail和Java代码发送邮件(下)
995 0
|
SQL HIVE
Hive 常用函数
Hive 常用函数
346 0
|
存储 SpringCloudAlibaba 监控
SpringCloud Alibaba 之 Config配置中心,Redis分布式锁详解(下)
SpringCloud Alibaba 之 Config配置中心,Redis分布式锁详解(
503 0
|
机器学习/深度学习 人工智能 数据挖掘
参加Kaggle比赛的一般流程以及如何判断是否有条件参加
参加Kaggle比赛的一般流程以及如何判断是否有条件参加
1272 1
参加Kaggle比赛的一般流程以及如何判断是否有条件参加
|
IDE Unix 编译器
iOS小技能:Makefile的使用(Makefile的规则、部署脚本、config管理ssh连接)
make是一个命令工具,是一个解释makefile中指令的命令工具。其本质是**文件依赖**,Makefile文件制定编译和链接所涉及的文件、框架、库等信息,将整个过程自动化。
644 0