[发明专利]用于浏览器或服务器的大文件上传、续传方法和装置在审
申请号: | 201610153817.1 | 申请日: | 2016-03-17 |
公开(公告)号: | CN105635324A | 公开(公告)日: | 2016-06-01 |
发明(设计)人: | 张良 | 申请(专利权)人: | 新浪网技术(中国)有限公司 |
主分类号: | H04L29/08 | 分类号: | H04L29/08 |
代理公司: | 北京和信华成知识产权代理事务所(普通合伙) 11390 | 代理人: | 胡剑辉 |
地址: | 100080 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 浏览器 服务器 文件 上传 方法 装置 | ||
技术领域
本发明涉及浏览器文件上传,具体涉及一种基于HTML5FileAPI的浏览器大文件上 传、续传方法和装置。
背景技术
目前针对大文件上传基本上有四种方案:a)通过安装客户端上传、b)通过安装浏览器 插件上传、c)通过Flash上传、d)浏览器通过resumable.is进行上传。
首先描述本申请中涉及的相关技术术语:
浏览器:浏览器是指可以显示网页服务器或者文件系统的HTML文件内容,并让用户 与这些文件交互的一种软件。
HTML5:万维网的核心语言、标准通用标记语言的下一个应用超文本标记语言 (HTML)的第五次重大修改。
FileAPI:FileAPI(文件API,API(ApplicationProgrammingInterface,应用程序编 程接口)是一套强大的API,它可以让开发者处理来自用户文件系统的文件,并且可以让 开发者在Web应用程序里使用这些文件,所有这些事情都在本地处理,不需要在服务器上 处理。
SHA1:安全哈希算法(SecureHashAlgorithm)主要适用于数字签名标准里面定义的 数字签名算法。对于长度小于2^64位的消息,SHA1会产生一个160位的消息摘要。当接 收到消息的时候,这个消息摘要可以用来验证数据的完整性。SHA1有如下特性:不可以 从消息摘要中复原信息;两个不同的消息不会产生同样的消息摘要。
MD5:信息摘要算法第五版(Message-DigestAlgorithm5),用于确保信息传输完整 一致。是计算机广泛使用的杂凑算法之一,主流编程语言普遍已有MD5实现。将数据(如 汉字)运算为另一固定长度值,是杂凑算法的基础原理,MD5的前身有MD2、MD3和 MD4。
其中方案a)和方案b)均需要用户安装额外的应用才能支持上传,且需要对整个文件行 行SHA1运算,对每一个完整的文件片段进行MD5运算,极大消耗量服务端和客户端的 资源,加大了服务端负载。c)方案需要浏览器支持Flash,而Flash已经是过时的技术,各 大互联网企业也均开始弃用。d)方案中对文件的索引唯一性、文件分片正确性无法保证, 同时也无法做到文件的快速上传。
具体地,在实现本发明过程中,发明人发现现有技术中至少存在如下问题:
a)方案和b)方案需要通过安装额外应用才能完成文件的索引唯一和文件内容的正确性 验证,技术相对臃肿。方案a)中对文件SHA1和文件片段MD5取样方案相对较为浪费资 源。
c)方案需要通过Flash支持才能完成大文件上传,而Flash对资源消耗极高,已经是一 种过时的技术,而且其开发维护成本也不低。
d)方案虽然采用了FileAPI来进行文件的续传和分片上传,但是该方案中采用文件名 和文件大小作为文件的唯一索引,重复率较高,无法用做支持文件的快速上传,同时该方 案中无法对文件数据的正确性做验证,不能保证用户所上传文件的数据的完整性。
发明内容
本发明实施例的目的是提供一种用于浏览器或服务器的大文件上传、续传方法和装 置,以降低资源消耗,实现快速上传并保证文件数据的完整性。
一方面,本发明实施例提供了一种用于浏览器的大文件上传、续传方法,其包括:截 取文件的部分内容进行安全哈希算法SHA1计算,得到文件的SHA1值;使用所述文件的 SHA1值查询服务器是否已经存在所述文件;若不存在则对所述文件进行分片处理获得多 个文件片段,生成各文件片段的验证信息,并将各文件片段及其验证信息执行分片上传; 其中,每个文件片段的验证信息包括通过截取该文件片段的部分内容执行信息摘要算法 MD5计算而生成的MD5值;若已经存在所述文件但未完成全部上传,则对所述文件的未 上传的各文件片段及其验证信息执行分片续传。
另一方面,本发明实施例提供了一种浏览器,其包括:SHA1计算模块,用于截取文 件的部分内容进行安全哈希算法SHA1计算,得到文件的SHA1值;
文件查询模块,用于使用所述文件的SHA1值查询服务器是否已经存在所述文件;
上传续传模块,其包括文件分割子模块、信息摘要算法MD5计算子模块、分片上传 子模块和分片续传子模块;
所述文件分割子模块,用于若所述服务器上不存在所述文件则对所述文件进行分 片处理获得多个文件片段;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于新浪网技术(中国)有限公司,未经新浪网技术(中国)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610153817.1/2.html,转载请声明来源钻瓜专利网。