视频网站大量视频怎么存储的群晖docker人人视频


视频网站大量视频怎么存储的群晖docker人人视频

顶级的视频网站一般都建有超大规模的数据中心,拥有几十万到上百万台服务器,分布在全国各地甚至世界各地,这些数据中心的存储容量是海量的。腾讯公司董事会主席兼首席执行官首马化腾于年5月25日在贵州数博会开幕式上发表演讲公布:

这是什么概念呢,1PB=2(10)TB=TB。PT的容量约等于100万个
T,约合10亿
G。每块硬盘2T也要至少需要50万块硬盘。如果采用RAID5组成磁盘阵列的话至少需要150万块2T的硬盘。

视频网站播放的在线视频的码率经过高度压缩,用户上传的高清视频一般都会用h.265压缩成统一该网站上视频的格式(相对兼容的如MP4和FLV)。看似高清视频,实际上压缩后码率很低。例如优酷的标准:720P1.5MP3.5M。压缩后视频容量大大降低。既减少了存储空间的要求,又降低了传输带宽。一般手机拍摄的P的高清视频(H.264)码率至少在15M以上,有的手机在50M以上,上传压缩后体积只是原来的1/4。如果压缩成720P,体积只有原来的1/10。

一般用户上传视频后,系统会自动计算一个哈希值,如果多个用户上传相同哈希值的视频,系统则真正存储的只有一个视频,其他用户的视频都指向这个视频的实际存储地址。这也是云盘的存储方式。

作为比较大型的企业网站,例如爱奇艺、腾讯等公司,都有专有机房。这些机房内拥有大量硬盘。毕竟相比较来说,硬盘的价格实在是太低了。想想我们只需要四百块钱就能购买1T的硬盘资源。对于大型公司来说,完全有准备大量硬盘的实力。

在用户上传文件或者视频之后,一般会有专门的转码压缩服务器。用来把上传的文件进行压缩。所以有的时候你可能看到,自己上传的高清视频,在进行查看的时候,清晰度并不是很高。这是因为进行压缩的效果。

在真正保存到硬盘之前,需要对上传的文件去重。检测硬盘中是会否已经有相关的文件了。如果有的话就直接指定过去了。

这也就是为什么很多网盘上面,会有秒传的功能。命名好几G的文件,几面就能上传成功就是这个原理。

估计象谷歌,youtube这样的网站,他们自己人也搞不清楚自己有多少台服务器,多少G硬盘,据说谷歌全球有几百万台服务器,每台服务器按1TB的硬盘,就是上百亿G的存储容量了,谷歌一刻不停的把全球的网站收录到自己的服务器,youtube每分钟都有大量的视频上传,说是数百小时的视频,差不多是百G大小,形象来说普通家庭能用十年的硬盘,它们分分钟就满了。当然对这样的大公司来说,硬盘不值什么,每天用坏的都不知道多少,据说美国有个云服企业,在因为天灾硬盘供货不足,到处买硬盘,加钱扫货。所以,说上千亿
G,也不是什么事。

储存这些的机房都是阵列,像youtobe,youku这些允许用户上传视频的网站机房都很大。并且不止一个机房,现在大容量储存硬盘价格并不贵,倒是运营视频网站需要提供的带宽费用贵。

首先要了解什么是对象存储,最简单的方法是每个文件算hash值,改文件名值不动,内容动任一个字节hash就变了,就视为不同的文件了,就需要重新存了。一般同样的文件会在不同的机房有3-5个备份同时也是分流,p2p的话,大家电脑上也会有,服务器上就可以少存点,就是所谓的比较热的种子。其次从业务角度讲,原创的文件毕竟比较少,相对多的,需要大空间大带宽的还是影视品的共享,这些看似没人网盘都有,但其实都是类似一个指向的标记而已,用不了几字节