论网盘的秒存与限制下载速度(看完这个你可能还是不想开网盘会员)

简介: 论网盘的秒存与限制下载速度(看完这个你可能还是不想开网盘会员)

hello,我码神又回来了,这几天做个入门项目,有点头秃,开个小章来混混水,都做好了,发车了。
提到网盘大家都不陌生,小到小学生,大到中年大叔,大家可谓是对网盘又爱又狠,爱上网盘的便捷,恨上网盘的慢,慢,慢!!!今天我们就来聊一下网盘的爱恨情仇
1.网盘为什么能秒传?
首先我们来科普一下文件上传的知识
文件上传顾名思义就是把文件从本地电脑发送到存储文件的远程服务器上,小文件的上传倒没有什么好说的,主要考虑的是大文件上传怎么 更快、更稳定、更灵活、更快响应 等等,以提高用户的体验。

这里分享几个经典的大文件上传设计,包括文件分块、并发上传、断点续传、秒传、异步上传。

文件分块
既然小文件的处理相对容易,那不妨在发送前,把大文件分割为多个连续的小文件,一块一块地发送。

并发上传
将大文件分块后,就可以通过多线程并发上传,同时传输多个块:

串行上传和并发上传
要根据网络情况决定是否并发上传、同时并发上传多少个块,不是并发数越多越好。网络好的话,并发数量调大一些,能够大大提高文件整体上传效率;相反,盲目调整并发数,上传可能会更慢。

断点续传
对于大文件来说,推荐使用断点续传技术,在文件分块的基础上,服务器记录一下原文件对应的上传进度,每接收到一个块,就更新一下进度。这样,即使网络故障导致上传失败,也能从上传进度中知道哪些文件块已上传、接下来需要从哪一块重新开始了,而不用从第 1 块开始重新传输。

还有就是百度网盘的经典秒传
为什么其他上传都那么慢,百度网盘直接就能秒传了呢?
没错,真相只有一个,该文件已经被上传过了
上传文件前,先在客户端(比如浏览器)根据文件内容计算出文件的 MD5 值,相同内容的文件 MD5 值必然相同。然后在服务器已上传文件数据库中查找该 MD5 对应的文件是否已存在。如果不存在,上传文件并在上传成功后将该文件信息插入数据库,过程如下:

在这里插入图片描述

2.可能我们都对他的秒传没有什么太大的异议,可是那10K的下载速度实属恶心,那么我们接着就来讲一下为什么就几k的下载速度

哈哈,想要你开会员嘛!,我也要吃饭了,关注我
其实主要是如果不限速的话,前面说到文件都存在了自家的云服务器中,服务器可能一时间接收不了那么多访问,如果不限速服务器崩了,数据有丢失的风险,再者我们要记住这终究是款盈利性的软件,如果没有人开会员,盈利性怎么体现哪?

相关文章
|
Linux
linux下搭建tftp服务器教程
在Linux中搭建TFTP服务器,需安装`tftp-server`(如`tftpd-hpa`)。步骤包括:更新软件包列表,安装`tftpd-hpa`,启动并设置开机自启,配置服务器(编辑`/etc/default/tftpd-hpa`),添加选项,然后重启服务。完成后,可用`tftp`命令进行文件传输。例如,从IP`192.168.1.100`下载`file.txt`: ``` tftp 192.168.1.100 <<EOF binary put file.txt quit EOF ```
903 4
|
存储 Python
【python基础知识】3.input()函数
【python基础知识】3.input()函数
1616 1
【python基础知识】3.input()函数
|
9月前
|
存储 固态存储 IDE
移动硬盘盒,机械硬盘和固态硬盘通用吗?
移动硬盘盒能否同时支持机械硬盘(HDD)和固态硬盘(SSD)?本文详解硬盘盒的兼容性问题,涵盖接口类型(如SATA、NVMe)、尺寸规格(2.5英寸、3.5英寸、M.2)及使用体验差异,助你正确选择适配的硬盘盒,确保兼容与性能兼顾。
|
9月前
|
传感器 编解码 数据可视化
GEE数据集:2017-2024年全球多源遥感数据融合的全新10米数据集(无量纲)Satellite Embedding V1
Google Satellite Embedding 数据集提供全球10米分辨率的64维嵌入向量,编码地表条件的时间轨迹,适用于变化检测与地理分析。
746 0
|
机器学习/深度学习 人工智能 文字识别
Kimi 上线视觉思考模型,K1 系列强化学习模型正式开放,无需借助外部 OCR 处理图像与文本进行思考并回答
k1视觉思考模型是kimi推出的k1系列强化学习AI模型,具备端到端图像理解和思维链技术,能够在数学、物理、化学等领域表现优异。本文详细介绍了k1视觉思考模型的功能、技术原理、使用方法及其在多个应用场景中的表现。
1380 68
Kimi 上线视觉思考模型,K1 系列强化学习模型正式开放,无需借助外部 OCR 处理图像与文本进行思考并回答
|
存储 Cloud Native 安全
阿里云优惠券有哪些?四种优惠券的金额、领取及使用规则及区别介绍
阿里云为用户提供了多种优惠券,以帮助用户节省云产品的购买成本,目前阿里云为用户推出了无门槛优惠券,上云抵扣金、算力补贴优惠券、满减优惠券等不同种类的优惠券,本文将详细这四种优惠券的金额、领取及使用规则,以及区别,以供了解和选择参考,提升使用体验。
|
缓存 监控 Linux
Python 实时获取Linux服务器信息
Python 实时获取Linux服务器信息
32981 7
|
机器学习/深度学习 数据可视化 数据挖掘
【Macos系统】安装VOSviewer及使用VOSviewer教程!!以ESN网络的研究进行案例分析
本文介绍了如何在MacOS系统上安装VOSviewer软件,并以ESN(Echo State Network)网络的研究为例,通过VOSviewer对相关科学文献进行可视化分析,以深入了解ESN在学术研究中的应用和发展情况。
2232 1
【Macos系统】安装VOSviewer及使用VOSviewer教程!!以ESN网络的研究进行案例分析
|
前端开发 数据处理 数据库
Flask与Jinja2的魔法配方:如何轻松烹制动态网页大餐?
【8月更文挑战第31天】《Flask与Jinja2:打造动态网页的前端利器》一文详细介绍了如何利用Python的Flask框架和Jinja2模板引擎构建动态网页。通过创建简单博客首页的例子,展示了如何定义Flask路由和视图函数获取文章数据,并使用Jinja2模板展示数据。Jinja2的简洁语法和强大功能使得处理复杂数据结构变得轻松,支持循环、条件判断及自定义过滤器等功能,实现了前后端数据的有效分离,极大提升了代码可维护性和前端数据处理能力。这篇文章不仅简化了动态网页生成过程,还展示了前端丰富的逻辑处理能力,适合希望快速构建灵活强大前端界面的开发者阅读。
280 0
|
JSON 数据挖掘 编译器
Anconda环境下Vscode安装Python(1)
Anconda环境下Vscode安装Python(1)
Anconda环境下Vscode安装Python(1)