[发明专利]一种HTTP服务器断点续传上传文件存储的实现方法有效
申请号: | 201911107977.2 | 申请日: | 2019-11-13 |
公开(公告)号: | CN110995788B | 公开(公告)日: | 2022-02-22 |
发明(设计)人: | 孟令波 | 申请(专利权)人: | 广州辰河质检技术有限公司 |
主分类号: | H04L67/06 | 分类号: | H04L67/06;H04L67/1074;G06F16/182;G06F16/172 |
代理公司: | 广州德伟专利代理事务所(普通合伙) 44436 | 代理人: | 黄浩威;何文颖 |
地址: | 510000 广东省广*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 http 服务器 断点续传 上传 文件 存储 实现 方法 | ||
本发明公开了一种HTTP服务器断点续传上传文件存储的实现方法,具体包括如下步骤:S1、服务器接收到上传文件的分片后,按照内存页的倍数将分片分割成更小的数据块,并通过位图映射文件,标记各个数据块完整接收存储;S2、当接收的数据块已经连续且超过设定的数量时,计算出该连续数据块集的MD5值;S3、当文件所有分片都接收存储后,经客户端校验这些MD5值后,将这些存储片段合并为完整的一个文件。本发明将上传的文件分片、按照规则、分割成更小的数据块,并通过位图映射文件,标记接收存储,通过特定算法实现解决了文件重复覆盖问题,从而使得诸如HTTP协议的断点续传上传可以得到实现。
技术领域
本发明涉及计算机技术领域,具体涉及一种HTTP服务器断点续传上传文件存储的实现方法。
背景技术
HTTP断点续传是指基于HTTP协议,在上传/下载时,将一个文件划分为几个部分,每一个部分采用一个线程进行上传/下载,如果碰到故障中断,可以从已经上传/下载的部分开始继续上传/下载未完成的部分,而不必从头开始上传/下载。
HTTP/1.1开始支持断点续传下载,通过HTTP协议的GET方法,使用Range和Content-Range实体头实现客户端与服务端的交换获取指定的文件片段。
HTTP协议的PUT方法所对应的URI是要创建或更新的资源本身。比如:PUT http://www.example.com/file的语义是创建或更新file。对同一URI进行多次PUT的副作用和一次PUT是相同的;因此,PUT方法具有幂等性。PUT比较正确的定义是Replace(Create orUpdate),也就是如果存在就替换,不存在就创建。
但目前很多HTTP服务器,考虑到文件重叠覆盖可能会导致资源一致性出现问题,并没有实现PUT方法下的Content-Range实体头,从而导致了PUT方法并不能实现断点续传上传。
发明内容
针对现有技术的不足,本发明旨在提供一种HTTP服务器断点续传上传文件存储的实现方法,将上传的文件分片、按照规则、分割成更小的数据块,并通过位图映射文件,标记接收存储,通过特定算法实现解决了文件重复覆盖问题,从而使得诸如HTTP协议的断点续传上传可以得到实现。
为了实现上述目的,本发明采用如下技术方案:
一种HTTP服务器断点续传上传文件存储的实现方法,具体包括如下步骤:
S1、服务器接收到上传文件的分片后,按照内存页的倍数将分片分割成更小的数据块,并通过位图映射文件,标记各个数据块完整接收存储;
S2、当接收的数据块已经连续且超过设定的数量时,计算出该连续数据块集的MD5值;
S3、当文件所有分片都接收存储后,经客户端校验这些MD5值后,将这些存储片段合并为完整的一个文件;
步骤S1的具体过程如下:
S1.1、服务器依据上传文件总长度L,按照预设倍数因子F以及内存页大小PS,建立位图映射文件FMAP;所述位图映射文件的每2比特位映射为1个数据块,其中,二进制00表示空白、没有数据块存入,二进制11表示一个完整的数据块,二进制01或10表示一个数据块不完整、数据长度小于映射数据块长度,01表示已存储的数据块的尾部偏移对齐一个完整大小的数据块起始位置,10表示已存储的数据块开始于一个完整大小的数据块末尾位置;一个完整的数据块大小为BS=F*PS,位图映射文件大小等于((L+BS-1)/F*BS+3)/4;
S1.2、服务器接收一个分片SP、该分片SP相对完整文件起始位置的偏移量SO以及该分片SP的长度SL;如果该分片的长度SL小于BS,转步骤S1.3,否则转步骤S1.4;
S1.3、数据块合并处理:
S1.3.1、根据该分片SP的偏移量SO,计算出偏移区间:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广州辰河质检技术有限公司,未经广州辰河质检技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911107977.2/2.html,转载请声明来源钻瓜专利网。