[發(fā)明專利]用于瀏覽器或服務(wù)器的大文件上傳、續(xù)傳方法和裝置在審
| 申請?zhí)枺?/td> | 201610153817.1 | 申請日: | 2016-03-17 |
| 公開(公告)號: | CN105635324A | 公開(公告)日: | 2016-06-01 |
| 發(fā)明(設(shè)計)人: | 張良 | 申請(專利權(quán))人: | 新浪網(wǎng)技術(shù)(中國)有限公司 |
| 主分類號: | H04L29/08 | 分類號: | H04L29/08 |
| 代理公司: | 北京和信華成知識產(chǎn)權(quán)代理事務(wù)所(普通合伙) 11390 | 代理人: | 胡劍輝 |
| 地址: | 100080 北京市海淀*** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 用于 瀏覽器 服務(wù)器 文件 上傳 方法 裝置 | ||
技術(shù)領(lǐng)域
本發(fā)明涉及瀏覽器文件上傳,具體涉及一種基于HTML5FileAPI的瀏覽器大文件上 傳、續(xù)傳方法和裝置。
背景技術(shù)
目前針對大文件上傳基本上有四種方案:a)通過安裝客戶端上傳、b)通過安裝瀏覽器 插件上傳、c)通過Flash上傳、d)瀏覽器通過resumable.is進(jìn)行上傳。
首先描述本申請中涉及的相關(guān)技術(shù)術(shù)語:
瀏覽器:瀏覽器是指可以顯示網(wǎng)頁服務(wù)器或者文件系統(tǒng)的HTML文件內(nèi)容,并讓用戶 與這些文件交互的一種軟件。
HTML5:萬維網(wǎng)的核心語言、標(biāo)準(zhǔn)通用標(biāo)記語言的下一個應(yīng)用超文本標(biāo)記語言 (HTML)的第五次重大修改。
FileAPI:FileAPI(文件API,API(ApplicationProgrammingInterface,應(yīng)用程序編 程接口)是一套強(qiáng)大的API,它可以讓開發(fā)者處理來自用戶文件系統(tǒng)的文件,并且可以讓 開發(fā)者在Web應(yīng)用程序里使用這些文件,所有這些事情都在本地處理,不需要在服務(wù)器上 處理。
SHA1:安全哈希算法(SecureHashAlgorithm)主要適用于數(shù)字簽名標(biāo)準(zhǔn)里面定義的 數(shù)字簽名算法。對于長度小于2^64位的消息,SHA1會產(chǎn)生一個160位的消息摘要。當(dāng)接 收到消息的時候,這個消息摘要可以用來驗(yàn)證數(shù)據(jù)的完整性。SHA1有如下特性:不可以 從消息摘要中復(fù)原信息;兩個不同的消息不會產(chǎn)生同樣的消息摘要。
MD5:信息摘要算法第五版(Message-DigestAlgorithm5),用于確保信息傳輸完整 一致。是計算機(jī)廣泛使用的雜湊算法之一,主流編程語言普遍已有MD5實(shí)現(xiàn)。將數(shù)據(jù)(如 漢字)運(yùn)算為另一固定長度值,是雜湊算法的基礎(chǔ)原理,MD5的前身有MD2、MD3和 MD4。
其中方案a)和方案b)均需要用戶安裝額外的應(yīng)用才能支持上傳,且需要對整個文件行 行SHA1運(yùn)算,對每一個完整的文件片段進(jìn)行MD5運(yùn)算,極大消耗量服務(wù)端和客戶端的 資源,加大了服務(wù)端負(fù)載。c)方案需要瀏覽器支持Flash,而Flash已經(jīng)是過時的技術(shù),各 大互聯(lián)網(wǎng)企業(yè)也均開始棄用。d)方案中對文件的索引唯一性、文件分片正確性無法保證, 同時也無法做到文件的快速上傳。
具體地,在實(shí)現(xiàn)本發(fā)明過程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)中至少存在如下問題:
a)方案和b)方案需要通過安裝額外應(yīng)用才能完成文件的索引唯一和文件內(nèi)容的正確性 驗(yàn)證,技術(shù)相對臃腫。方案a)中對文件SHA1和文件片段MD5取樣方案相對較為浪費(fèi)資 源。
c)方案需要通過Flash支持才能完成大文件上傳,而Flash對資源消耗極高,已經(jīng)是一 種過時的技術(shù),而且其開發(fā)維護(hù)成本也不低。
d)方案雖然采用了FileAPI來進(jìn)行文件的續(xù)傳和分片上傳,但是該方案中采用文件名 和文件大小作為文件的唯一索引,重復(fù)率較高,無法用做支持文件的快速上傳,同時該方 案中無法對文件數(shù)據(jù)的正確性做驗(yàn)證,不能保證用戶所上傳文件的數(shù)據(jù)的完整性。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例的目的是提供一種用于瀏覽器或服務(wù)器的大文件上傳、續(xù)傳方法和裝 置,以降低資源消耗,實(shí)現(xiàn)快速上傳并保證文件數(shù)據(jù)的完整性。
一方面,本發(fā)明實(shí)施例提供了一種用于瀏覽器的大文件上傳、續(xù)傳方法,其包括:截 取文件的部分內(nèi)容進(jìn)行安全哈希算法SHA1計算,得到文件的SHA1值;使用所述文件的 SHA1值查詢服務(wù)器是否已經(jīng)存在所述文件;若不存在則對所述文件進(jìn)行分片處理獲得多 個文件片段,生成各文件片段的驗(yàn)證信息,并將各文件片段及其驗(yàn)證信息執(zhí)行分片上傳; 其中,每個文件片段的驗(yàn)證信息包括通過截取該文件片段的部分內(nèi)容執(zhí)行信息摘要算法 MD5計算而生成的MD5值;若已經(jīng)存在所述文件但未完成全部上傳,則對所述文件的未 上傳的各文件片段及其驗(yàn)證信息執(zhí)行分片續(xù)傳。
另一方面,本發(fā)明實(shí)施例提供了一種瀏覽器,其包括:SHA1計算模塊,用于截取文 件的部分內(nèi)容進(jìn)行安全哈希算法SHA1計算,得到文件的SHA1值;
文件查詢模塊,用于使用所述文件的SHA1值查詢服務(wù)器是否已經(jīng)存在所述文件;
上傳續(xù)傳模塊,其包括文件分割子模塊、信息摘要算法MD5計算子模塊、分片上傳 子模塊和分片續(xù)傳子模塊;
所述文件分割子模塊,用于若所述服務(wù)器上不存在所述文件則對所述文件進(jìn)行分 片處理獲得多個文件片段;
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于新浪網(wǎng)技術(shù)(中國)有限公司,未經(jīng)新浪網(wǎng)技術(shù)(中國)有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201610153817.1/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





