上传1GB/s,下载1KB/s的原因终于找到了! | 细说网盘储存机制

Windows 1月前 351

上传1GB/s,下载1KB/s的原因终于找到了! | 细说网盘储存机制

 

2012年,一款名为「百度云」的“云储存软件”横空出世,凭借其便捷的资源分享和在线预览文件功能,赢得了大部分用户好评。并在短短的两个月时间内,个人用户就已突破1000万,为「云储存模式」打响了第一枪。

起初,由于云服务的储存规模较小,再分到每个用户身上就更少了,大约仅有10G左右。但随着云存储的不断发展,各类网盘也相继出现,并互相竞争。为了吸引用户,厂商们就开始免费赠送储存空间,所以用户的个人空间慢慢变成了1T2T甚至是10T

随着慢慢的使用,目前大多数的网盘都有一个特点:上传速度超快,个人剩余空间多,唯独下载速度很慢慢,这究竟是什么原因造成的呢?下面就跟着鱼儿来一探究竟吧!

 

首先来看看网盘为什么可用空间多,上传速度快?

 

假设需要为每个用户提供1G的云存储空间,按照正常思维来看,如果硬盘的储存空间为1000G,那么就可以为1000个用户提供数据储存。但是实际上,每个用户根本不会上传 1G 的数据将容量占满。

也就是说,1000G的硬盘分给 1000个用户使用,其有效利用的空间仅仅占很少一部分。比如以每个人上传50M的数据为例,总利用空间为 50M*1000=50G(大约),而剩余的950G 就完全浪费了。

 

为了解决上述问题,各大厂商就发明了「存储集群」。

通过将一个用户的数据,分配到多个服务器中存储,并确保在个人用户那里,仍然是 1G 的连续储存空间。甚至还可以将前一个服务器充分塞满后,在将数据储存再下一个服务器中。简单来说,就是用多个硬盘来储存同一个数据。这样既保证了储存空间的最大利用,也避免了部分用户在上传大数据时,能够提供足量的空间支持。

但是随着用户的不断增长,存储的数据就会出现重叠现象,不仅浪费了储存空间,还会影响到用户们的上传速度,所以厂商们又推出了「秒传」技术。


当用户在上传一个文件时,秒传技术可通过比较现有文件的「MD5值」,来判断上传的数据是否存在。如果数据库中本身就存在相同的文件,只是文件名不同时,系统将会自动为其分配文件名,并将数据“引用”到个人数据库下;如果完全一致,那么系统就会直接将现有文件引用到个人数据库下,进而达到“秒传”的目的。


但是如果每上传一个文件,都需要进行MD5 值对比的话,就将使得原本负荷就大的服务器变得更是雪山加霜。


所以工程师们就在每个客户端上,设计了一个「上传控件」,用于检测用户上传的数据,一旦发现与服务器中的某个数据一致,就取消上传,直接在用户端标记出此文件,并未真正意义上的占有储存空间。

某些上传控件

 

经过以上两种方法,就基本满足了用户在极速上传文件的同时,拥有了超大的存储空间。


说完了上传文件和储存文件后,我们再回过头来看看,为什么大多数网盘的下载速度都很慢,这到底是什么原因造成的?

通过网盘下载文件,其实就是将网盘服务器中的数据,「拷贝」到本地计算机中。简单来说,就是一个文件复制过程,只不过这个过程是在线上进行的。


就大多数网盘而言,它们会在「本地客户端」中内嵌一种专用的「FTP服务器」,并与总服务器之间建立一种特殊的链接关系。

当用户需要下载文件时,位于本地端的FTP服务器,就会给总服务器发送一条下载「密钥」,总服务器在接受到密钥后,就会调取储存文件并返回到本地FTP服务器当中,当用户再次点击下载按钮后,文件即可被下载下来。

但如果在FTP服务器和用户之间,或是FTP服务器与总服务器之间有一方受到限制,下载速度就将受到影响。除此之外,如果资源过于久远,下载速度慢的情况依然会出现。所以,造成文件下载速度慢的原因是多方面的,任何环节受到影响,就会导致下载速度变慢。


但以目前环境来看,云存储这项服务对厂商的成本要求越来越高,不仅需要在服务器硬件、网络带宽、数据维护等方面花费成本,而且还需要对非法数据进行监管。

毕竟厂商也是需要吃饭的,所以他们就在某个环节中设卡,进而获取利润。结果大家也很清楚,非会员和会员之间的差距显而易见。


总的来说,云服务虽然便利,但目前为止,存在的问题还比较多。同时不少「违法数据」还需要得到相关部门的监管。然而小伙伴们所吐槽的“只有开会员才能提升下载速度”的现象(甚至开了会员依旧慢),对厂商而言,仍然是一大难题。 当然,对我们自身而言,可以选择适合自己的方式,比如IDMFDM下载器等。

最新回复 (0)
返回
声明:网站中可能存在第三方网站链接,如有侵权,请联系我们aomeikeji@qq.com删除;破解软件仅供学习交流,下载后24小时内删除。