[發(fā)明專利]一種文件下載方法及裝置在審
| 申請?zhí)枺?/td> | 201610561846.1 | 申請日: | 2016-07-15 |
| 公開(公告)號: | CN107623709A | 公開(公告)日: | 2018-01-23 |
| 發(fā)明(設(shè)計(jì))人: | 唐為軍 | 申請(專利權(quán))人: | 北京金山云網(wǎng)絡(luò)技術(shù)有限公司;北京金山云科技有限公司 |
| 主分類號: | H04L29/08 | 分類號: | H04L29/08 |
| 代理公司: | 北京柏杉松知識產(chǎn)權(quán)代理事務(wù)所(普通合伙)11413 | 代理人: | 馬敬,項(xiàng)京 |
| 地址: | 100085 北京市*** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 文件 下載 方法 裝置 | ||
技術(shù)領(lǐng)域
本發(fā)明涉及網(wǎng)絡(luò)傳輸技術(shù)領(lǐng)域,特別涉及一種文件下載方法及裝置。
背景技術(shù)
云盤作為解決現(xiàn)代企業(yè)數(shù)據(jù)存儲的一種方式越來越受到重視和推廣,目前市面上相關(guān)產(chǎn)品也很多,如百度云盤、360云盤等等。云盤的原理其實(shí)就是網(wǎng)絡(luò)公司將其服務(wù)器的硬盤或硬盤陣列中的一部分容量分給注冊用戶使用,注冊用戶通過客戶端上傳文件到網(wǎng)絡(luò)服務(wù)器上、從網(wǎng)絡(luò)服務(wù)器下載文件,也可以說注冊用戶通過客戶端上傳文件到云盤上、從云盤下載文件。
現(xiàn)有技術(shù)中,從云盤下載文件的過程具體為:注冊用戶通過客戶端向網(wǎng)絡(luò)服務(wù)器即云盤發(fā)送下載文件的請求,云盤根據(jù)上述請求確定文件,并向客戶端發(fā)送該文件,當(dāng)云盤將該文件的全部數(shù)據(jù)發(fā)送至客戶端后,則可以認(rèn)為文件下載完畢。實(shí)際應(yīng)用中,雖然可以應(yīng)用上述方式成功下載文件,但是,應(yīng)用上述方式下載文件時(shí),只有云盤將文件的全部數(shù)據(jù)發(fā)送至客戶端,也就是客戶端接收到云盤發(fā)送的文件的全部數(shù)據(jù)時(shí),才認(rèn)為文件下載完成,這樣在要下載的文件較大或者網(wǎng)絡(luò)狀態(tài)較差的情況下,完成文件下載所需要的時(shí)間較長。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例的目的在于提供一種文件下載方法及裝置,以縮短文件下載時(shí)間,提升下載性能。
為達(dá)到上述目的,本發(fā)明實(shí)施例公開了一種文件下載方法,所述方法包括步驟:
向服務(wù)器發(fā)送下載目標(biāo)文件的請求;
接收所述服務(wù)器根據(jù)所述請求反饋的所述目標(biāo)文件的第一數(shù)據(jù)塊信息,其中,所述目標(biāo)文件包括至少一個(gè)數(shù)據(jù)塊,所述第一數(shù)據(jù)塊信息為:所述目標(biāo)文件所包含數(shù)據(jù)塊的數(shù)據(jù)塊信息;
根據(jù)所述第一數(shù)據(jù)塊信息,分別判斷本地磁盤中是否緩存有所述第一數(shù)據(jù)塊信息對應(yīng)的每一數(shù)據(jù)塊,如果是,從所述本地磁盤獲取該數(shù)據(jù)塊,否則,從所述服務(wù)器獲取該數(shù)據(jù)塊;
將所獲取的數(shù)據(jù)塊存儲至所述目標(biāo)文件在本地磁盤中對應(yīng)的存儲區(qū)域。
可選的,所述方法還包括:
將從所述服務(wù)器獲取的數(shù)據(jù)塊緩存在本地磁盤中。
可選的,所述將從所述服務(wù)器獲取的數(shù)據(jù)塊緩存在本地磁盤中,包括:
判斷所述本地磁盤中緩存的數(shù)據(jù)量是否達(dá)到預(yù)設(shè)閾值;
如果否,將從所述服務(wù)器獲取的數(shù)據(jù)塊緩存在本地磁盤中;
如果是,確定本地磁盤中要?jiǎng)h除的數(shù)據(jù)塊,并將所述要?jiǎng)h除將的數(shù)據(jù)塊刪除后,將從所述服務(wù)器獲取的數(shù)據(jù)塊緩存在本地磁盤中。
可選的,所述將從所述服務(wù)器獲取的數(shù)據(jù)塊緩存在本地磁盤中,包括:
根據(jù)從所述服務(wù)器獲取的數(shù)據(jù)塊的數(shù)據(jù)塊信息,確定數(shù)據(jù)塊名稱,并基于所確定的數(shù)據(jù)塊名稱,將從所述服務(wù)器獲取的數(shù)據(jù)塊緩存在本地磁盤中。
可選的,所述根據(jù)所述第一數(shù)據(jù)塊信息,分別判斷本地磁盤中是否緩存有所述第一數(shù)據(jù)塊信息對應(yīng)的每一數(shù)據(jù)塊,包括:
根據(jù)所述第一數(shù)據(jù)塊信息和數(shù)據(jù)庫中保存的數(shù)據(jù)塊索引關(guān)系,分別判斷所述數(shù)據(jù)庫中是否保存有所述第一數(shù)據(jù)塊信息對應(yīng)的每一數(shù)據(jù)塊的緩存位置,其中,所述數(shù)據(jù)塊索引關(guān)系為:數(shù)據(jù)塊的數(shù)據(jù)塊信息與該數(shù)據(jù)塊在本地磁盤陣列中的緩存位置之間的對應(yīng)關(guān)系;
如果是,判定本地磁盤陣列中緩存有該數(shù)據(jù)塊;
否則,判定本地磁盤陣列中沒有緩存該數(shù)據(jù)塊;
所述從所述本地磁盤獲取該數(shù)據(jù)塊,包括:
根據(jù)所述數(shù)據(jù)庫中保存的該數(shù)據(jù)塊在本地磁盤陣列中的緩存位置,從所述本地磁盤陣列獲取該數(shù)據(jù)塊。
可選的,所述方法還包括:
將目標(biāo)數(shù)據(jù)塊緩存在本地磁盤陣列中,其中,所述目標(biāo)數(shù)據(jù)塊為:從所述服務(wù)器獲取的數(shù)據(jù)塊;
確定所述目標(biāo)數(shù)據(jù)塊的數(shù)據(jù)塊信息與所述目標(biāo)數(shù)據(jù)塊在本地磁盤陣列中的緩存位置對應(yīng)的數(shù)據(jù)塊索引關(guān)系,并將所確定的數(shù)據(jù)塊索引關(guān)系保存至所述數(shù)據(jù)庫中。
可選的,在所述第一數(shù)據(jù)塊信息為所述目標(biāo)文件的部分?jǐn)?shù)據(jù)塊的數(shù)據(jù)塊信息的情況下,所述方法還包括:
重復(fù)執(zhí)行以下步驟直至獲得所述目標(biāo)文件的全部數(shù)據(jù)塊:
接收所述服務(wù)器根據(jù)所述請求反饋的所述目標(biāo)文件的第二數(shù)據(jù)塊信息,其中,所述第二數(shù)據(jù)塊信息為:所述目標(biāo)文件的部分?jǐn)?shù)據(jù)塊的數(shù)據(jù)塊信息;
根據(jù)所述第二數(shù)據(jù)塊信息,分別判斷本地磁盤中是否緩存有所述第二數(shù)據(jù)塊信息對應(yīng)的每一數(shù)據(jù)塊,如果是,從所述本地磁盤獲取該數(shù)據(jù)塊,否則從所述服務(wù)器獲取該數(shù)據(jù)塊。
可選的,所述數(shù)據(jù)塊的數(shù)據(jù)塊信息為所述數(shù)據(jù)塊的sha1值和/或MD5值。
為達(dá)到上述目的,本發(fā)明實(shí)施例還公開了一種文件下載裝置,所述裝置包括:
請求發(fā)送模塊,用于向服務(wù)器發(fā)送下載目標(biāo)文件的請求;
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于北京金山云網(wǎng)絡(luò)技術(shù)有限公司;北京金山云科技有限公司,未經(jīng)北京金山云網(wǎng)絡(luò)技術(shù)有限公司;北京金山云科技有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201610561846.1/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





