物联网断点续传

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

一、断点续传的原理

顾名思义就是断点续传

什么是断点?

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

什么是续传?

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

二、实现流程步骤

方案一,常规步骤

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

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

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

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

方案二、本文实现的步骤

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

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

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

相关推荐
TDengine (老段)12 小时前
TDengine IDMP 应用场景:电动汽车
大数据·数据库·物联网·ai·时序数据库·iot·tdengine
TDengine (老段)19 小时前
TDengine IDMP 应用场景:工业锅炉监控
大数据·数据库·物联网·信息可视化·时序数据库·tdengine
風清掦1 天前
零基础玩转STM32:深入理解ARM Cortex-M内核与寄存器编程
stm32·单片机·嵌入式硬件·mcu·物联网
时序数据说1 天前
IoTDB如何解决海量数据存储难题?
大数据·数据库·物联网·时序数据库·iotdb
TDengine (老段)1 天前
TDengine IDMP 运维指南(管理策略)
大数据·数据库·物联网·ai·时序数据库·tdengine·涛思数据
攻城狮7号1 天前
以国产IoTDB为代表的主流时序数据库架构与性能深度选型评测
大数据·物联网·时序数据库·apache iotdb·sql mcp
Hard_August2 天前
STM32窗口看门狗(WWDG)深度解析:精准守护嵌入式系统的实时性
stm32·单片机·嵌入式硬件·物联网
plusplus1682 天前
5G物联网的现实与未来:CTO视角下的成本、风险与破局点
物联网·5g
北极光SD-WAN组网2 天前
某电器5G智慧工厂网络建设全解析
人工智能·物联网·5g
门思科技3 天前
LoRaWAN 的网络拓扑全解析:架构、原理与应用实践
服务器·网络·人工智能·科技·物联网·架构