專利名稱:一種離線下載資源的系統(tǒng)、方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)領(lǐng)域的下載數(shù)據(jù)技術(shù),特別涉及一種離線下載數(shù)據(jù)的系統(tǒng)、方法及裝置。
背景技術(shù):
隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,越來越多的業(yè)務(wù)可以在互聯(lián)網(wǎng)中實(shí)現(xiàn),其中,下載業(yè)務(wù)就是客戶端從互聯(lián)網(wǎng)中下載資源。根據(jù)不同下載類型進(jìn)行劃分,下載業(yè)務(wù)可以分為離線下載資源業(yè)務(wù)或在線下載資源業(yè)務(wù)。離線下載業(yè)務(wù)就是互聯(lián)網(wǎng)中的服務(wù)器側(cè)替代客戶端先行下載客戶端所要求的資源,然后客戶端再從服務(wù)器側(cè)中下載所要求的資源。比如某個(gè)資源是冷門資源,采用客戶端下載,速度很慢,客戶端要下載很久,費(fèi)時(shí)費(fèi)力,這時(shí),本地可以客戶端就需要采用離線下載方式,通過服務(wù)器側(cè)替代客戶端下載,客戶端可以關(guān)閉,等待服務(wù)器側(cè)將該資源下載完全后,再從服務(wù)器側(cè)下載,節(jié)省時(shí)間和下載成本。圖1為現(xiàn)有技術(shù)提供的離線下載資源的系統(tǒng)結(jié)構(gòu)示意圖,包括服務(wù)器側(cè)和客戶端,服務(wù)器側(cè)中具體包括:離線下載服務(wù)器群、云存儲(chǔ)服務(wù)器、離線下載任務(wù)分發(fā)服務(wù)器、離線下載任務(wù)管理服務(wù)器、離線下載任務(wù)數(shù)據(jù)庫及統(tǒng)計(jì)服務(wù)器,其中,客戶端,用于向離線下載任務(wù)管理服務(wù)器請(qǐng)求資源下載請(qǐng)求,該任務(wù)攜帶要下載資源的鏈接信息,從云存儲(chǔ)服務(wù)器獲取要下載的資源;離線下載任務(wù)管理服務(wù)器,用于接收客戶端請(qǐng)求的資源下載請(qǐng)求,到離線下載任務(wù)數(shù)據(jù)庫中查詢是否有該資源下載請(qǐng)求記錄且下載狀態(tài)為下載完全,如果有,則通知客戶端直接從云存儲(chǔ)服務(wù)器獲取要下載的資源,如果沒有,就將該資源下載請(qǐng)求攜帶的要下載資源的鏈接信息發(fā)送給資源下載請(qǐng)求服務(wù)器,同時(shí)將該資源下載請(qǐng)求記錄及未下載的下載狀態(tài)存儲(chǔ)到離線下載任務(wù)數(shù)據(jù)庫中;`離線下載任務(wù)分發(fā)服務(wù)器,用于接收該資源下載請(qǐng)求攜帶的要下載資源的鏈接信息,根據(jù)離線下載服務(wù)器群中的負(fù)載情況進(jìn)行要下載資源的下載分發(fā),指示離線下載服務(wù)器群從英特網(wǎng)中下載要下載的資源;離線下載服務(wù)器群,用于在離線下載任務(wù)分發(fā)服務(wù)器的指示下,根據(jù)該資源下載請(qǐng)求攜帶的要下載資源的鏈接信息,鏈接到互聯(lián)網(wǎng)中,下載要下載的資源后,將要下載的資源存儲(chǔ)到云存儲(chǔ)服務(wù)器中,并將離線下載任務(wù)數(shù)據(jù)庫中存儲(chǔ)的該資源下載請(qǐng)求記錄的下載狀態(tài)修改為下載完全;離線下載任務(wù)數(shù)據(jù)庫,用于存儲(chǔ)該資源下載請(qǐng)求記錄及下載狀態(tài);云存儲(chǔ)服務(wù)器,用于存儲(chǔ)要下載的資源;統(tǒng)計(jì)服務(wù)器,用于監(jiān)控客戶端,統(tǒng)計(jì)客戶端相關(guān)信息。在該系統(tǒng)中,客戶端向離線下載任務(wù)管理服務(wù)器請(qǐng)求資源下載請(qǐng)求,該任務(wù)攜帶要下載資源的鏈接信息為:要下載資源的超文本傳送協(xié)議(Http)鏈接,或者電驢(eMule)鏈接或比特流(Bt)下載鏈接,或基于哈希分布(MagNent)協(xié)議的鏈接。當(dāng)離線下載任務(wù)管理服務(wù)器將該資源下載請(qǐng)求攜帶的要下載資源的鏈接信息發(fā)送給資源下載請(qǐng)求服務(wù)器時(shí),如果該鏈接信息為http鏈接,就將http鏈接的統(tǒng)一資源定位符(URL)發(fā)送;如果該鏈接信息為eMule鏈接或Bt下載鏈接,就將eMule鏈接或Bt下載鏈接的種子文件信息發(fā)送。在該系統(tǒng)中,客戶端從云存儲(chǔ)服務(wù)器獲取要下載的資源是采用點(diǎn)對(duì)服務(wù)器和點(diǎn)(P2SP)方式進(jìn)行的,離線下載服務(wù)器群也可以采用P2SP方式從互聯(lián)網(wǎng)中下載要下載的資源。另外,離線下載服務(wù)器還將該資源下載請(qǐng)求記錄的下載進(jìn)度和當(dāng)前下載狀態(tài)通過離線下載任務(wù)分發(fā)服務(wù)器發(fā)送給離線下載任務(wù)管理服務(wù)器。采用上述系統(tǒng)進(jìn)行離線下載資源獲得廣泛的應(yīng)用,并具有如下特點(diǎn):I)加速下載冷門資源:離線下載資源解決了冷門資源下載慢,客戶端長期需要鏈接互聯(lián)網(wǎng)的問題,利用服務(wù)器側(cè)的強(qiáng)大帶寬,先將冷門資源下載到服務(wù)器側(cè),然后再下載到本地客戶客戶端,節(jié)省了客戶端的時(shí)間 和下載成本;2)穩(wěn)定提升下載資源速度:采用離線下載資源,速度更快更穩(wěn)定,服務(wù)器側(cè)將會(huì)為客戶端提供穩(wěn)定的下載速度,而不像在線下載資源,客戶端直接鏈接互聯(lián)網(wǎng),會(huì)受到互聯(lián)網(wǎng)環(huán)境的影響,不穩(wěn)定;3)解決網(wǎng)絡(luò)封殺及網(wǎng)絡(luò)被限問題:客戶端采用Bt下載或eMule下載方式被限,仍然可以采用離線下載資源方式從服務(wù)器側(cè)高速獲取要下載的資源,下載效率更高。在服務(wù)器側(cè)的離線下載服務(wù)器群鏈接到互聯(lián)網(wǎng)中,下載要下載的資源時(shí)可以采用Bt下載方式或基于MagNent協(xié)議方式下載,這時(shí),就需要種子文件。Bt下載基于資源分發(fā)協(xié)議,采用高效的資源分發(fā)系統(tǒng)及點(diǎn)對(duì)點(diǎn)技術(shù)共享資源,使得互聯(lián)網(wǎng)中的實(shí)體都可以上傳資源。根據(jù)Bt下載方式,資源發(fā)布者針對(duì)資源生成一個(gè)種子文件,本質(zhì)是文本文件,包括跟蹤(Tracker)服務(wù)器信息和資源信息,其中,Tracker服務(wù)器信息包括Tracker服務(wù)器地址信息及Tracker服務(wù)器設(shè)置信息,資源信息為資源所劃分的各個(gè)虛擬塊的索引信息及哈希驗(yàn)證碼。因此,種子文件就是資源的索引,根據(jù)種子文件才能獲取到資源。采用Bt下載時(shí),離線下載服務(wù)器首先要從Tracker服務(wù)器上或其他服務(wù)器上獲取到要下載的資源的種子文件,然后,解析該種子文件,根據(jù)得到的Tracker服務(wù)器信息,鏈接Tracker服務(wù)器;再次,Tracker服務(wù)器回應(yīng)離線下載服務(wù)器,提供互聯(lián)網(wǎng)中當(dāng)前具有該種子文件對(duì)應(yīng)資源的實(shí)體鏈接信息;最后,離線下載服務(wù)器與當(dāng)前具有該種子文件對(duì)應(yīng)資源的實(shí)體鏈接,根據(jù)該種子文件中的文件信息確定所劃分的各個(gè)虛擬塊,從當(dāng)前具有該種子文件對(duì)應(yīng)資源的接收自身沒有的虛擬塊,得到完整的資源,在這個(gè)過程中,不再需要諸如Tracker服務(wù)器的其他服務(wù)器服務(wù),分散互聯(lián)網(wǎng)中的帶寬,減輕互聯(lián)網(wǎng)中的服務(wù)器負(fù)擔(dān)。采用基于MagNent協(xié)議方式下載時(shí),可以不將資源的種子文件存儲(chǔ)到Tracker服務(wù)器上或其他服務(wù)器上,對(duì)于每一個(gè)資源都采用哈希算法計(jì)算得到一個(gè)唯一識(shí)別資源的數(shù)字指紋,根據(jù)數(shù)字指紋,離線下載服務(wù)器可以從互聯(lián)網(wǎng)中與具有該資源的實(shí)體鏈接,獲取到該實(shí)體所存儲(chǔ)的對(duì)應(yīng)資源的種子文件,也就是種子文件的獲取為分布式方式。無論采用Bt下載還是基于MagNent協(xié)議方式下載,都需要離線下載服務(wù)器獲取到資源的種子文件,根據(jù)種子文件,才能啟動(dòng)資源的離線下載資源。如何使得離線下載服務(wù)器獲取到資源的種子文件,成為了實(shí)現(xiàn)離線下載資源的關(guān)鍵問題。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明提供了一種離線下載資源的系統(tǒng),該系統(tǒng)能夠在離線下載資源之前獲取資源對(duì)應(yīng)的種子文件,從而實(shí)現(xiàn)離線下載資源。本發(fā)明還提供一種離線下載資源的方法,該方法能夠在離線下載資源之前獲取資源對(duì)應(yīng)的種子文件,從而實(shí)現(xiàn)離線下載資源。本發(fā)明還提供一種離線下載資源的裝置,該裝置能夠在離線下載資源之前獲取資源對(duì)應(yīng)的種子文件,從而實(shí)現(xiàn)離線下載資源。為達(dá)到上述目的,本發(fā)明的技術(shù)方案是這樣實(shí)現(xiàn)的:一種離線下載資源的系統(tǒng),該系統(tǒng)包括:種子文件服務(wù)器、客戶端和離線下載服務(wù)器群,其中,種子文件服務(wù)器,用于從客戶端獲取上傳的種子文件后,和/或,從互聯(lián)網(wǎng)獲取對(duì)應(yīng)資源的種子文件后將種子文件進(jìn)行存儲(chǔ);客戶端,發(fā)送資源下載請(qǐng)求;離線下載服務(wù)器群,用于接收所述資源下載請(qǐng)求,從種子文件服務(wù)器讀取所述資源對(duì)應(yīng)的種子文件,根據(jù)所述種子文件下載資源。所述種子文件服務(wù)器具體包括:種子文件接入服務(wù)單元、種子爬蟲單元和種子文件數(shù)據(jù)庫單元,其中,種子文件接入服務(wù)單元,用于從客戶端獲取上傳的種子文件后,發(fā)送給種子文件數(shù)據(jù)庫單兀存儲(chǔ);種子爬 蟲單元,用于從互聯(lián)網(wǎng)獲取對(duì)應(yīng)資源的種子文件后,發(fā)送給種子文件數(shù)據(jù)庫單元存儲(chǔ);種子文件數(shù)據(jù)庫單元,用于將來自種子文件接入服務(wù)單元以及種子爬蟲單元的種子文件存儲(chǔ)。所述種子文件接入服務(wù)單元還用于接受客戶端的查詢,和/或,下載種子文件請(qǐng)求,從種子文件數(shù)據(jù)庫單元查詢,和/或,下載對(duì)應(yīng)種子文件并提供給客戶端顯示,和/或,下載。還包括云存儲(chǔ)服務(wù)器,用于存儲(chǔ)所述離線下載服務(wù)器群下載完成的資源,提供給對(duì)應(yīng)的客戶端下載。一種離線下載數(shù)據(jù)的方法,將對(duì)應(yīng)資源的種子文件存儲(chǔ)在服務(wù)器側(cè);該方法還包括:服務(wù)器側(cè)接收客戶端請(qǐng)求的資源下載請(qǐng)求,讀取其存儲(chǔ)的所述資源對(duì)應(yīng)的種子文件,根據(jù)所述種子文件下載資源。所述服務(wù)器側(cè)存儲(chǔ)的對(duì)應(yīng)資源的種子文件是從客戶端獲取的,和/或,從互聯(lián)網(wǎng)中獲取的。該方法還包括:將所下載的資源存儲(chǔ)在服務(wù)器側(cè),提供給對(duì)應(yīng)的客戶端下載。該方法還包括:服務(wù)器側(cè)接受客戶端的查詢,和/或,下載種子文件請(qǐng)求,查詢,和/或,下載對(duì)應(yīng)種子文件并提供給客戶端顯示,和/或,下載。一種離線下載種子服務(wù)器,包括:種子文件接入服務(wù)單元、種子文件數(shù)據(jù)庫單元和種子爬蟲單元,其中,種子文件接入服務(wù)單元,用于從客戶端獲取上傳的種子文件后,發(fā)送給種子文件數(shù)據(jù)庫單元存儲(chǔ);種子爬蟲單元,用于從互聯(lián)網(wǎng)獲取對(duì)應(yīng)資源的種子文件后,發(fā)送給種子文件數(shù)據(jù)庫單元存儲(chǔ);種子文件數(shù)據(jù)庫單元,用于將來自種子文件接入服務(wù)單元以及種子爬蟲單元的種子文件存儲(chǔ)。所述種子文件接入服務(wù)單元還用于接受客戶端的查詢,和/或,下載種子文件請(qǐng)求,從種子文件數(shù)據(jù)庫單元查詢,和/或,下載對(duì)應(yīng)種子文件并提供給客戶端顯示,和/或,下載。由上述的技術(shù)方案可見,本發(fā)明在離線下載資源的系統(tǒng)中設(shè)置了資源的種子文件服務(wù)器,包括種子文件接入服務(wù)單元、種子文件數(shù)據(jù)庫單元和種子爬蟲單元,其中,種子文件接入服務(wù)單元,用于從客戶端獲取資源的種子文件后,發(fā)送給種子文件數(shù)據(jù)庫單元存儲(chǔ),種子爬蟲單元,用于從互聯(lián)網(wǎng)中獲取資源的種子文件,存儲(chǔ)到種子文件數(shù)據(jù)庫中。當(dāng)離線下載服務(wù)器要下載資源時(shí),直接從種子文件數(shù)據(jù)庫獲取資源對(duì)應(yīng)的種子文件,根據(jù)種子文件從互聯(lián)網(wǎng)中下載資源。這樣,本發(fā)明提供的系統(tǒng)、方法及裝置就可以在離線下載資源之前獲取資源對(duì)應(yīng)的種子文件,從而實(shí)現(xiàn)離線下載資源。
圖1為現(xiàn)有技術(shù)提供的離線下載資源的系統(tǒng)結(jié)構(gòu)示意圖;圖2為本發(fā)明實(shí)施例提供的離線下載資源的系統(tǒng)結(jié)構(gòu)示意圖;圖3為本發(fā)明實(shí)施例提供的離線下載資源的方法流程圖;圖4為本發(fā)明實(shí)施例提供的種子文件服務(wù)器結(jié)構(gòu)示意圖。
具體實(shí)施例方式為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖及具體實(shí)施例對(duì)本發(fā)明作進(jìn)一步地詳細(xì)描述。為了在離線下載·資源時(shí),離線下載服務(wù)器群的離線下載服務(wù)器在離線下載資源之前獲取資源對(duì)應(yīng)的種子文件,實(shí)現(xiàn)離線下載資源,本發(fā)明在離線下載資源的系統(tǒng)中設(shè)置了資源的種子文件服務(wù)器,包括種子文件接入服務(wù)單元、種子文件數(shù)據(jù)庫單元和種子爬蟲單元,其中,種子文件接入服務(wù)單元,用于從客戶端獲取資源的種子文件后,發(fā)送給種子文件數(shù)據(jù)庫單元存儲(chǔ),種子爬蟲單元,用于從互聯(lián)網(wǎng)中獲取資源的種子文件,存儲(chǔ)到種子文件數(shù)據(jù)庫中。當(dāng)離線下載服務(wù)器要下載資源時(shí),直接從種子文件數(shù)據(jù)庫獲取資源對(duì)應(yīng)的種子文件,根據(jù)種子文件從互聯(lián)網(wǎng)中下載資源。圖2為本發(fā)明實(shí)施例提供的離線下載資源的系統(tǒng)結(jié)構(gòu)示意圖,如圖所示,包括客戶端和服務(wù)器側(cè),服務(wù)器側(cè)中具體包括:離線下載服務(wù)器群、云存儲(chǔ)服務(wù)器、離線下載任務(wù)分發(fā)服務(wù)器、離線下載任務(wù)管理服務(wù)器、離線下載任務(wù)數(shù)據(jù)庫、統(tǒng)計(jì)服務(wù)器及資源的種子文件服務(wù)器,其中,種子文件服務(wù)器,用于從客戶端或互聯(lián)網(wǎng)獲取對(duì)應(yīng)資源的鏈接信息的種子文件并存儲(chǔ);客戶端,用于將資源的種子文件發(fā)送給種子文件服務(wù)器,向離線下載任務(wù)管理服務(wù)器請(qǐng)求資源下載請(qǐng)求,該任務(wù)攜帶要下載資源的鏈接信息,從云存儲(chǔ)服務(wù)器獲取要下載的資源;離線下載任務(wù)管理服務(wù)器,用于接收客戶端請(qǐng)求的資源下載請(qǐng)求,到離線下載任務(wù)數(shù)據(jù)庫中查詢是否有該資源下載請(qǐng)求記錄且下載狀態(tài)為下載完全,如果有,則通知客戶端直接從云存儲(chǔ)服務(wù)器獲取要下載的資源,如果沒有,就將該資源下載請(qǐng)求攜帶的要下載資源的鏈接信息發(fā)送給資源下載請(qǐng)求服務(wù)器,同時(shí)將該資源下載請(qǐng)求記錄及未下載的下載狀態(tài)存儲(chǔ)到離線下載任務(wù)數(shù)據(jù)庫中;離線下載任務(wù)分發(fā)服務(wù)器,用于接收該資源下載請(qǐng)求攜帶的要下載資源的鏈接信息,根據(jù)離線下載服務(wù)器群中的負(fù)載情況進(jìn)行要下載資源的下載分發(fā),指示離線下載服務(wù)器群從英特網(wǎng)中下載要下載的資源;離線下載服務(wù)器群,用于在離線下載任務(wù)分發(fā)服務(wù)器的指示下,從種子文件服務(wù)器中獲取要下載資源的鏈接信息對(duì)應(yīng)的種子文件,根據(jù)種子文件,鏈接到互聯(lián)網(wǎng)中,下載要下載的資源后,將要下載的資源存儲(chǔ)到云存儲(chǔ)服務(wù)器中,并將離線下載任務(wù)數(shù)據(jù)庫中存儲(chǔ)的該資源下載請(qǐng)求記錄的下載狀態(tài)修改為下載完全;離線下載任務(wù)數(shù)據(jù)庫,用于存儲(chǔ)該資源下載請(qǐng)求記錄及下載狀態(tài);云存儲(chǔ)服務(wù)器,用于存儲(chǔ)要下載的資源;
統(tǒng)計(jì)服務(wù)器,用于監(jiān)控客戶端,統(tǒng)計(jì)客戶端相關(guān)信息。在該系統(tǒng)中,種子文件服務(wù)器,也可以從客戶端或互聯(lián)網(wǎng)獲取對(duì)應(yīng)資源的種子文件并存儲(chǔ),當(dāng)離線下載服務(wù)器群從種子文件服務(wù)器查找時(shí),直接確定資源,然后查找對(duì)應(yīng)的種子文件即可。在該系統(tǒng)中,種子文件服務(wù)器具體包括:種子文件接入服務(wù)單元、種子文件數(shù)據(jù)庫單元和種子爬蟲單元,其中,種子文件接入服務(wù)單元,用于從客戶端獲取對(duì)應(yīng)資源的鏈接信息的種子文件后,發(fā)送給種子文件數(shù)據(jù)庫單元存儲(chǔ);種子爬蟲單元,用于從互聯(lián)網(wǎng)獲取對(duì)應(yīng)資源的鏈接信息的種子文件后,發(fā)送給種子文件數(shù)據(jù)庫單元存儲(chǔ);種子文件數(shù)據(jù)庫,用于將來自種子文件接入服務(wù)單元以及種子爬蟲單元的對(duì)應(yīng)資源的鏈接信息的種子文件存儲(chǔ)。在該系統(tǒng)中,資源的鏈接信息可以為資源對(duì)應(yīng)的種子文件鏈接信息或者為唯一識(shí)別資源的特征值,比如數(shù)字指紋等,也可以就是資源的本身,這里不限定,只要可以唯一確定資源即可。在該系統(tǒng)中,種子文件接入服務(wù)單元,還可以接收客戶端發(fā)送的對(duì)應(yīng)資源的鏈接信息的種子文件查詢請(qǐng)求,將查詢結(jié)果發(fā)送給客戶端;客戶端,還用于向種子文件接入服務(wù)單元發(fā)送對(duì)應(yīng)資源的鏈接信息的種子文件查詢請(qǐng)求,接收查詢結(jié)果。在該系統(tǒng)中,資源的種子接入服務(wù)器,還用于將對(duì)應(yīng)資源的鏈接信息的種子文件發(fā)送給客戶端。在該系統(tǒng)中,種子文件數(shù)據(jù)庫的作用是緩存對(duì)應(yīng)資源的鏈接信息的種子文件,這些種子文件為通過種子文件接入服務(wù)單元由客戶端在離線下載過程中傳輸?shù)?,或通過種子爬蟲單元由互聯(lián)網(wǎng)下載的。在該系統(tǒng)中,種子爬蟲單元的主要作用是從互聯(lián)網(wǎng)上下載對(duì)應(yīng)資源的鏈接信息的種子文件并將所下載的該種子文件存儲(chǔ)在種子文件數(shù)據(jù)庫中。在該系統(tǒng)中,客戶端的主要功能包括離線下載功能和在線下載功能。
其中,離線下載功能為:向離線下載任務(wù)管理服務(wù)器請(qǐng)求資源下載請(qǐng)求,該任務(wù)攜帶要下載資源的鏈接信息,在這之前向種子文件接入服務(wù)單元查詢,是否在種子文件數(shù)據(jù)庫中存儲(chǔ)對(duì)應(yīng)資源的鏈接信息的種子文件,如果是,則直接請(qǐng)求,否則,將資源的種子文件通過種子文件接入服務(wù)單元發(fā)送給種子文件數(shù)據(jù)庫存儲(chǔ)。從云存儲(chǔ)服務(wù)器獲取要下載的資源。在下載資源過程中下載完成資源的虛擬分塊時(shí),進(jìn)行校驗(yàn),出現(xiàn)錯(cuò)誤,則上報(bào)給統(tǒng)計(jì)服務(wù)器進(jìn)行統(tǒng)計(jì)。在下載資源完成后,向統(tǒng)計(jì)服務(wù)器上報(bào)客戶端的相關(guān)信息,包括本次下載資源的下載時(shí)間、下載速度、下載結(jié)果、資源大小、下載資源的鏈接信息及從具有該資源的不同虛擬塊的實(shí)體下載時(shí)的下載速度及時(shí)間等。在線下載功能為:定期向Tracker服務(wù)器匯報(bào)在線情況和本地?fù)碛械馁Y源情況,通過要獲取資源的鏈接信息,比如Url向資源索引服務(wù)器查詢要獲取資源的Url集合、哈希值及文件校驗(yàn)信息,從Url集合中下載要獲取的數(shù)據(jù),在線下載功能為現(xiàn)有技術(shù),這里不再贅述。在該系統(tǒng)中,統(tǒng)計(jì)服務(wù)器,用于監(jiān)控客戶端,統(tǒng)計(jì)客戶端相關(guān)信息。具體的作用為:I)接受客戶端在下載資源過程中提供的下載完成資源的虛擬分塊出錯(cuò)校驗(yàn)信息,在下載資源完成時(shí)提供的本次下載資源的下載時(shí)間、下載速度、下載結(jié)果、資源大小、下載資源的鏈接信息及從具有該資源的不同虛擬塊的實(shí)體下載時(shí)的下載速度及時(shí)間等,并存儲(chǔ)為流水日志方式供后續(xù)統(tǒng)計(jì)分析;2)接收客戶端以及云存儲(chǔ)服務(wù)器通過資源的鏈接信息,諸如Url查詢資源的哈希值;3)接收客戶端以及云存儲(chǔ)服務(wù)器通過資源的鏈接信息,諸如Url查詢資源的Url口 O該系統(tǒng)的互聯(lián)網(wǎng)中還包括Tracker服務(wù)器,主要作用為:為客戶端提供注冊(cè),并反饋客戶端所擁有要獲取資源實(shí)體的鏈接信息列表;2)接收客戶端發(fā)送的在線情況匯報(bào),生成具有各資源的實(shí)體的鏈接信息列表并在有下載某資源時(shí)將對(duì)應(yīng)的實(shí)體的鏈接信息列表反饋;3)接收互聯(lián)網(wǎng)側(cè)同步的實(shí)體在線控制策略,在相應(yīng)實(shí)體與Tracker服務(wù)器鏈接時(shí),將該在線控制策略下發(fā)給相應(yīng)的實(shí)體。在該系統(tǒng)中,離線下載服務(wù)器群除了在離線下載任務(wù)分發(fā)服務(wù)器的指示下,從種子文件服務(wù)器中獲取要下載資源的鏈接信息對(duì)應(yīng)的種子文件,根據(jù)種子文件,鏈接到互聯(lián)網(wǎng)中,下載要下載的資源后,將要下載的資源存儲(chǔ)到云存儲(chǔ)服務(wù)器中,并將離線下載任務(wù)數(shù)據(jù)庫中存儲(chǔ)的該資源下載請(qǐng)求記錄的下載狀態(tài)修改為下載完全外。還將離線下載任務(wù)數(shù)據(jù)庫中匯報(bào)離線下載的進(jìn)度和速度信息,為離線下載完成后客戶端從云存儲(chǔ)服務(wù)器取回離線下載的結(jié)果提供服務(wù)支持,能夠用保留的帶寬下載客戶端的資源;將離線下載的資源的哈希結(jié)果存儲(chǔ)在離線下載任務(wù)數(shù)據(jù)庫中。在該系統(tǒng)中,離線下載任務(wù)分發(fā)服務(wù)器還用于接受離線下載服務(wù)器群匯報(bào)的下載進(jìn)度和速度信息,同時(shí)將進(jìn)度信息向離線下載任務(wù)管理服務(wù)器匯報(bào),對(duì)于相同的離線資源下載請(qǐng)求進(jìn)行過濾,同一個(gè)離線資源下載請(qǐng)求只需要向離線下載服務(wù)器群發(fā)送依次,不同的客戶端可以共享同一個(gè)任務(wù)的離線下載進(jìn)度和完成離線下載的資源。在該系統(tǒng)容中,離線下載任務(wù)管理服務(wù)器還為每個(gè)離線下載請(qǐng)求生成唯一標(biāo)識(shí)編號(hào),與離線下載任務(wù)數(shù)據(jù)庫進(jìn)行交互,如果發(fā)現(xiàn)已經(jīng)有下載好的資源,就可以直接通知客戶端離線下載成功,當(dāng)客戶端要取回離線下載完成的資源時(shí),則提供客戶端從云存儲(chǔ)服務(wù)器下載資源的連接信息。圖3為本發(fā)明實(shí)施例提供的離線下載資源的方法流程圖,該方法包括:步驟301、將對(duì)應(yīng)資源的鏈接信息的種子文件存儲(chǔ)在服務(wù)器側(cè);步驟302、服務(wù)器側(cè)接收客戶端請(qǐng)求的資源下載請(qǐng)求,查詢是否有該資源下載請(qǐng)求記錄且下載狀態(tài)為下載完全,如果有,執(zhí)行步驟303 ;如果沒有,執(zhí)行步驟304 ;步驟303、服務(wù)器側(cè)通知客戶端直接從服務(wù)器側(cè)獲取要下載的資源,客戶端從服務(wù)器獲取要下載的資源;步驟304、服務(wù)器側(cè)將該資源下載請(qǐng)求記錄及未下載的下載狀態(tài)存儲(chǔ),獲取要下載資源的鏈接信息對(duì)應(yīng)的種子文件,根據(jù)種子文件,鏈接到互聯(lián)網(wǎng)中,下載要下載的資源后,將要下載的資源存儲(chǔ),將離線下載任務(wù)數(shù)據(jù)庫中存儲(chǔ)的該資源下載請(qǐng)求記錄的下載狀態(tài)修改為下載完全;步驟305、服務(wù)器側(cè)通知客戶端從服務(wù)器側(cè)獲取要下載的資源,客戶端從服務(wù)器獲取要下載的資源。在該方法中,資源的鏈接信息可以為資源對(duì)應(yīng)的種子文件鏈接信息或者為唯一識(shí)別資源的特征值,比 如數(shù)字指紋等。在該方法中,服務(wù)器側(cè)存儲(chǔ)的對(duì)應(yīng)資源的鏈接信息的種子文件是從客戶端獲取的,或者從互聯(lián)網(wǎng)中獲取的。圖4為本發(fā)明實(shí)施例提供的種子文件服務(wù)器結(jié)構(gòu)示意圖,包括:種子文件接入服務(wù)單元、種子文件數(shù)據(jù)庫單元和種子爬蟲單元,其中,種子文件接入服務(wù)單元,用于從客戶端獲取對(duì)應(yīng)資源的鏈接信息的種子文件后,發(fā)送給種子文件數(shù)據(jù)庫單元存儲(chǔ);種子爬蟲單元,用于從互聯(lián)網(wǎng)獲取對(duì)應(yīng)資源的鏈接信息的種子文件后,發(fā)送給種子文件數(shù)據(jù)庫單元存儲(chǔ);種子文件數(shù)據(jù)庫,用于將來自種子文件接入服務(wù)單元以及種子爬蟲單元的對(duì)應(yīng)資源的鏈接信息的種子文件存儲(chǔ)。在該實(shí)施例中,所述種子文件接入服務(wù)單元還用于接受客戶端的查詢,和/或,下載種子文件請(qǐng)求,從種子文件數(shù)據(jù)庫單元查詢,和/或,下載對(duì)應(yīng)種子文件并提供給客戶端顯示,和/或,下載。從上述方案可以看出,本發(fā)明在圖1的系統(tǒng)中引入了種子文件服務(wù)器,在種子文件服務(wù)器中存儲(chǔ)了對(duì)應(yīng)資源的鏈接信息的種子文件,這樣,客戶端在要離線下載資源時(shí),只需要提供資源的鏈接信息或識(shí)別資源本身的標(biāo)識(shí),比如資源的種子文件鏈接信息或唯一識(shí)別資源的特征值,而不需要資源對(duì)應(yīng)的種子文件,就可以獲取到資源對(duì)應(yīng)的種子文件,根據(jù)種子文件由服務(wù)器側(cè)到互聯(lián)網(wǎng)中獲取資源并存儲(chǔ),客戶端就可以離線下載得到服務(wù)器側(cè)存儲(chǔ)的資源了。這樣,可以改善客戶端在離線下載時(shí)的體驗(yàn),減少不必要的對(duì)應(yīng)資源的鏈接信息的種子文件。以上所述僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換以及改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi) 。
權(quán)利要求
1.一種離線下載資源的系統(tǒng),其特征在于,該系統(tǒng)包括:種子文件服務(wù)器、客戶端和離線下載服務(wù)器群,其中, 種子文件服務(wù)器,用于從客戶端獲取上傳的種子文件后,和/或,從互聯(lián)網(wǎng)獲取對(duì)應(yīng)資源的種子文件后將種子文件進(jìn)行存儲(chǔ); 客戶端,發(fā)送資源下載請(qǐng)求; 離線下載服務(wù)器群,用于接收所述資源下載請(qǐng)求,從種子文件服務(wù)器讀取所述資源對(duì)應(yīng)的種子文件,根據(jù)所述種子文件下載資源。
2.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述種子文件服務(wù)器具體包括:種子文件接入服務(wù)單元、種子爬蟲單元和種子文件數(shù)據(jù)庫單元,其中, 種子文件接入服務(wù)單元,用于從客戶端獲取上傳的種子文件后,發(fā)送給種子文件數(shù)據(jù)庫單元存儲(chǔ); 種子爬蟲單元,用于從互聯(lián)網(wǎng)獲取對(duì)應(yīng)資源的種子文件后,發(fā)送給種子文件數(shù)據(jù)庫單元存儲(chǔ); 種子文件數(shù)據(jù)庫單元,用于將來自種子文件接入服務(wù)單元以及種子爬蟲單元的種子文件存儲(chǔ)。
3.如權(quán)利要求2所述的系統(tǒng),其特征在于,所述種子文件接入服務(wù)單元還用于接受客戶端的查詢,和/或,下載 種子文件請(qǐng)求,從種子文件數(shù)據(jù)庫單元查詢,和/或,下載對(duì)應(yīng)種子文件并提供給客戶端顯示,和/或,下載。
4.如權(quán)利要求1所述的系統(tǒng),其特征在于,還包括云存儲(chǔ)服務(wù)器,用于存儲(chǔ)所述離線下載服務(wù)器群下載完成的資源,提供給對(duì)應(yīng)的客戶端下載。
5.一種離線下載數(shù)據(jù)的方法,其特征在于,將對(duì)應(yīng)資源的種子文件存儲(chǔ)在服務(wù)器側(cè);該方法還包括: 服務(wù)器側(cè)接收客戶端請(qǐng)求的資源下載請(qǐng)求,讀取其存儲(chǔ)的所述資源對(duì)應(yīng)的種子文件,根據(jù)所述種子文件下載資源。
6.如權(quán)利要求5所述的方法,其特征在于,所述服務(wù)器側(cè)存儲(chǔ)的對(duì)應(yīng)資源的種子文件是從客戶端獲取的,和/或,從互聯(lián)網(wǎng)中獲取的。
7.如權(quán)利要求5所述的方法,其特征在于,該方法還包括: 將所下載的資源存儲(chǔ)在服務(wù)器側(cè),提供給對(duì)應(yīng)的客戶端下載。
8.如權(quán)利要求5所述的方法,其特征在于,該方法還包括: 服務(wù)器側(cè)接受客戶端的查詢,和/或,下載種子文件請(qǐng)求,查詢,和/或,下載對(duì)應(yīng)種子文件并提供給客戶端顯示,和/或,下載。
9.一種離線下載種子服務(wù)器,其特征在于,包括:種子文件接入服務(wù)單元、種子文件數(shù)據(jù)庫單元和種子爬蟲單元,其中, 種子文件接入服務(wù)單元,用于從客戶端獲取上傳的種子文件后,發(fā)送給種子文件數(shù)據(jù)庫單元存儲(chǔ); 種子爬蟲單元,用于從互聯(lián)網(wǎng)獲取對(duì)應(yīng)資源的種子文件后,發(fā)送給種子文件數(shù)據(jù)庫單元存儲(chǔ); 種子文件數(shù)據(jù)庫單元,用于將來自種子文件接入服務(wù)單元以及種子爬蟲單元的種子文件存儲(chǔ)。
10.如權(quán)利要求9所述的離線下載種子服務(wù)器,其特征在于,所述種子文件接入服務(wù)單元還用于接受客戶端的查詢,和/或,下載種子文件請(qǐng)求,從種子文件數(shù)據(jù)庫單元查詢,和/或,下載對(duì)應(yīng)種 子文件并提供給客戶端顯示,和/或,下載。
全文摘要
本發(fā)明公開了一種離線下載數(shù)據(jù)的系統(tǒng)、方法及裝置,本發(fā)明在離線下載資源的系統(tǒng)中設(shè)置了資源的種子文件服務(wù)器,包括種子文件接入服務(wù)單元、種子文件數(shù)據(jù)庫單元和種子爬蟲單元,其中,種子文件接入服務(wù)單元,用于從客戶端獲取資源的種子文件后,發(fā)送給種子文件數(shù)據(jù)庫單元存儲(chǔ),種子爬蟲單元,用于從互聯(lián)網(wǎng)中獲取資源的種子文件,存儲(chǔ)到種子文件數(shù)據(jù)庫中。當(dāng)離線下載服務(wù)器要下載資源時(shí),直接從種子文件數(shù)據(jù)庫獲取資源對(duì)應(yīng)的種子文件,根據(jù)種子文件從互聯(lián)網(wǎng)中下載資源。這樣,本發(fā)明提供的系統(tǒng)、方法及裝置就可以在離線下載資源之前獲取資源對(duì)應(yīng)的種子文件,從而實(shí)現(xiàn)離線下載資源。
文檔編號(hào)H04L29/08GK103248666SQ201210032600
公開日2013年8月14日 申請(qǐng)日期2012年2月14日 優(yōu)先權(quán)日2012年2月14日
發(fā)明者劉剛, 朱臣元, 尹航 申請(qǐng)人:深圳市騰訊計(jì)算機(jī)系統(tǒng)有限公司