物联网断点续传

断点续传是一种在网络传输中断后,能够从中断的位置继续传输的技术。它可以有效地避免因为网络不稳定、服务器故障、用户操作等原因导致的传输失败,节省了用户的时间和流量,提高了传输的效率和可靠性。断点续传在很多场景中都有广泛的应用,比如文件下载、视频播放、在线更新、远程备份等。

一、断点续传的原理

顾名思义就是断点续传

什么是断点?

在文件上传过程中,将一个要上传的文件分成N块 ,然后使用多线程并发多块上传 ,因为某种原因导致上传被中断或暂停,此时中断或暂停的位置就成为断点

什么是续传?

意思是指从中断的位置继续上传剩下的部分文件,而不是从头开始上传。

二、实现流程步骤

方案一,常规步骤

1、将需要上传的文件按照一定的分割规则,分割成相同大小的数据块;

2、初始化一个分片上传任务,返回本次分片上传唯一标识;

3、按照一定的策略(串行或并行)发送各个分片数据块;

4、发送完成后,服务端根据判断数据上传是否完整,如果完整,则进行数据块合成得到原始文件。

方案二、本文实现的步骤

1、前端(客户端)需要根据固定大小对文件进行分片,请求后端(服务端)时要带上分片序号和大小

2、服务端创建conf文件用来记录分块位置,conf文件长度为总分片数,每上传一个分块即向conf文件中写入一个127,那么没上传的位置就是默认的0,已上传的就是Byte.MAX_VALUE 127(这步是实现断点续传和秒传的核心步骤)

3、服务器按照请求数据中给的分片序号和每片分块大小(分片大小是固定且一样的)算出开始位置,与读取到的文件片段数据,写入文件。

相关推荐
芯岭技术1 天前
OM6625A芯片使用PY32 link烧录程序流程操作介绍
嵌入式硬件·物联网
microrain1 天前
从监控孤岛到视联一体:SagooIoT视频监控中心的设计实践
物联网·golang·开源·sagooiot
慧都小妮子1 天前
ThingsBoard PE 智慧灌溉:实现精准灌溉与水资源优化利用
物联网·mqtt·智慧农业·iot·规则引擎·thingsboard·精准灌溉
hongmai6668881 天前
耐高温小钢炮:ESP32-C3-MINI-1U-H4模组选型分享
笔记·单片机·嵌入式硬件·物联网·risc-v
sunywz1 天前
【从零搭建物联网智能充电桩系统】2、自定义二进制协议:设备为什么不用 JSON?
python·物联网·json
乐橙开放平台1 天前
老旧小区监控事件驱动派单:基于 setMessageCallback 的 msgType 分级与工单闭环实现
后端·物联网·音视频
JNX_SEMI1 天前
Hi5000Q/H 6.5~75V宽输入——与H5227A完全对等,无缝适配现有电源方案-聚能芯-智芯官方授权一级代理
驱动开发·单片机·嵌入式硬件·物联网·硬件工程
sunywz1 天前
【从零搭建物联网智能充电桩系统】6、用户服务与钱包:微信登录、JWT 鉴权与乐观锁并发控制
物联网
GoFly开发者1 天前
GoFly 社区 GMQT|国产自研 MQTT‑Broker,打造私有化物联网消息底座
物联网·mqtt·golang·mqtt broker·mqtt私有化部署
程序猿老杨1 天前
MQTT协议深度解析:从ESP32设备端到云端Broker的工程化实践
后端·物联网·芯片