下載數(shù)據(jù)的方法、客戶端及系統(tǒng)的制作方法
【專利摘要】本發(fā)明提供一種下載數(shù)據(jù)的方法,包括:客戶端通過原始URL作為入口向資源索引服務(wù)器查詢資源下載服務(wù)器的下載資源URL列表、備用真實源服務(wù)器的IP地址、以及向跟蹤服務(wù)器查詢對等客戶端列表;根據(jù)下載資源URL列表及對等客戶端列表,從資源下載服務(wù)器以及對等客戶端下載待下載的文件分片;根據(jù)文件校驗信息,對下載完成的文件分片進行校驗;若校驗出下載完成的文件分片與待下載的文件分片不一致,則根據(jù)備用真實源服務(wù)器的IP地址向備用真實源服務(wù)器請求下載與待下載的文件分片相同的文件分片。此外,本發(fā)明還提供一種下載數(shù)據(jù)的客戶端及系統(tǒng)。上述下載數(shù)據(jù)的方法、客戶端及系統(tǒng)可有效提高數(shù)據(jù)下載的成功率。
【專利說明】下載數(shù)據(jù)的方法、客戶端及系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計算機通信【技術(shù)領(lǐng)域】,尤其涉及一種下載數(shù)據(jù)的方法、客戶端及系統(tǒng)。
【背景技術(shù)】
[0002]P2SP (Peer to Server and Peer,點到服務(wù)器和點),是一種多源內(nèi)容分發(fā)方式,因為能夠同時利用第三方服務(wù)器和P2P (Peer to Peer,點對點)網(wǎng)絡(luò)中對等客戶端(peer)的源,從而極大改善了下載的性能,因此獲得了廣泛的應(yīng)用。在P2SP中,由于下載數(shù)據(jù)來源于第三方服務(wù)器以及對等客戶端等多個不同的點,為了保證下載數(shù)據(jù)的正確性,需要對數(shù)據(jù)分片進行校驗。
[0003]然而,目前在內(nèi)容分發(fā)領(lǐng)域中作為源的第三方服務(wù)器主要是⑶N (ContentDelivery Network,內(nèi)容分發(fā)網(wǎng)絡(luò))緩存服務(wù)器與 ISP (InternetService Provider,互聯(lián)網(wǎng)服務(wù)提供商)緩存服務(wù)器。CDN雖然能夠大幅加快內(nèi)容到客戶端的分發(fā)效率,但是CDN中部署多個點,有時候由于內(nèi)部原因,會出現(xiàn)多點下載數(shù)據(jù)不同步的現(xiàn)象,使得客戶端下載的數(shù)據(jù)分片中總有一些是錯誤的,從而導致最終校驗無法通過,浪費大量的下載資源和帶寬數(shù)據(jù)。而小ISP由于是通過租用主要ISP的鏈路,然后提供一些有特色的服務(wù)來發(fā)展自己的寬帶用戶,為了解決高額的跨網(wǎng)結(jié)算問題,小ISP通常會通過域名劫持等方式,緩存部分熱點內(nèi)容在自己的ISP出口緩存服務(wù)器上供加速下載使用,由于域名鏈接的劫持,如果ISP緩存服務(wù)器中存儲的下載數(shù)據(jù)更新不及時,則會導致客戶端下載到錯誤的數(shù)據(jù)分片,最終同樣也會導致校驗無法通過,浪費大量的下載資源和帶寬數(shù)據(jù)。因此,如何確保下載數(shù)據(jù)的正確性,有效提高數(shù)據(jù)下載的成功率是業(yè)界當前急需要解決的一大難題。
【發(fā)明內(nèi)容】
[0004]有鑒于此,本發(fā)明提供一種下載數(shù)據(jù)的方法、客戶端及系統(tǒng),可有效提高數(shù)據(jù)下載的成功率。
[0005]一種下載數(shù)據(jù)的方法,包括:客戶端通過原始URL作為入口向資源索引服務(wù)器查詢資源下載服務(wù)器的下載資源URL列表、備用真實源服務(wù)器的IP地址、以及向跟蹤服務(wù)器查詢對等客戶端列表;客戶端根據(jù)所述資源下載服務(wù)器的下載資源URL列表及對等客戶端列表,從所述資源下載服務(wù)器以及所述對等客戶端下載待下載的文件分片;客戶端根據(jù)由所述資源索引服務(wù)器上獲取的文件校驗信息,對下載完成的文件分片進行校驗;若校驗出所述下載完成的文件分片與所述待下載的文件分片不一致,則客戶端根據(jù)所述IP地址向所述備用真實源服務(wù)器請求下載與所述待下載的文件分片相同的文件分片。
[0006]一種下載數(shù)據(jù)的方法,包括:客戶端分別從資源下載服務(wù)器以及對等客戶端下載待下載的文件分片;所述客戶端從資源索引服務(wù)器上查詢當前下載完成的文件分片的文件校驗信息,對所述下載完成的文件分片進行校驗;若校驗出所述下載完成的文件分片與所述待下載的文件分片不一致,則將所述文件校驗信息、所述待下載的文件分片對應(yīng)的資源下載服務(wù)器的下載資源URL列表及IP地址上報給所述統(tǒng)計服務(wù)器,或?qū)⑺鰧Φ瓤蛻舳说纳矸輼俗R上報給所述統(tǒng)計服務(wù)器。
[0007]—種客戶端,包括:查詢模塊,用于通過原始URL作為入口向資源索引服務(wù)器查詢資源下載服務(wù)器的下載資源URL列表、備用真實源服務(wù)器的IP地址、以及向跟蹤服務(wù)器查詢對等客戶端列表;下載模塊,用于根據(jù)所述資源下載服務(wù)器的下載資源URL列表及對等客戶端列表,從所述資源下載服務(wù)器以及所述對等客戶端下載待下載的文件分片;校驗?zāi)K,用于根據(jù)由所述資源索引服務(wù)器上獲取的文件校驗信息,對下載完成的文件分片進行校驗;所述下載模塊,還用于若校驗出所述下載完成的文件分片與所述待下載的文件分片不一致時,根據(jù)所述IP地址向所述備用真實源服務(wù)器請求下載與所述待下載的文件分片相同的文件分片。
[0008]一種客戶端,包括:下載模塊,用于分別從資源下載服務(wù)器以及對等客戶端下載待下載的文件分片;校驗?zāi)K,用于從資源索引服務(wù)器上查詢當前下載完成的文件分片的文件校驗信息,對所述下載完成的文件分片進行校驗;下載模塊,還用于若校驗出所述下載完成的文件分片與所述待下載的文件分片不一致,則將所述文件校驗信息、所述待下載的文件分片對應(yīng)的資源下載服務(wù)器的下載資源URL列表及IP地址上報給所述統(tǒng)計服務(wù)器,或?qū)⑺鰧Φ瓤蛻舳说纳矸輼俗R上報給所述統(tǒng)計服務(wù)器。
[0009]一種下載數(shù)據(jù)的系統(tǒng),包括:客戶端、資源索引服務(wù)器、資源下載服務(wù)器、跟蹤服務(wù)器、備用真實源服務(wù)器以及對等客戶端。其中,所述客戶端,用于通過原始URL作為入口向所述資源索引服務(wù)器查詢資源下載服務(wù)器的下載資源URL列表、備用真實源服務(wù)器的IP地址、以及向跟蹤服務(wù)器查詢對等客戶端列表,根據(jù)所述資源下載服務(wù)器的下載資源URL列表及對等客戶端列表,從所述資源下載服務(wù)器以及所述對等客戶端下載待下載的文件分片,根據(jù)由所述資源索引服務(wù)器上獲取的文件校驗信息,對下載完成的文件分片進行校驗,若校驗出所述下載完成的文件分片與所述待下載的文件分片不一致,則根據(jù)所述備用真實源服務(wù)器的IP地址向所述備用真實源服務(wù)器請求下載與所述待下載的文件分片相同的文件分片。所述資源索引服務(wù)器,用于根據(jù)所述客戶端的查詢請求,將所述資源下載服務(wù)器的下載資源URL列表、所述備用真實源服務(wù)器的IP地址發(fā)送給所述客戶端。所述跟蹤服務(wù)器,用于根據(jù)所述客戶端的查詢請求,將對等客戶端列表發(fā)送給所述客戶端,接收對等客戶端的注冊,將新注冊的對等客戶端加入所述對等客戶端列表。所述資源下載服務(wù)器、對等客戶端以及所述備用真實源服務(wù)器,用于根據(jù)所述客戶端的請求,將所述客戶端請求的文件分片發(fā)送給所述客戶端。
[0010]一種下載數(shù)據(jù)的系統(tǒng),包括:客戶端、資源索引服務(wù)器、統(tǒng)計服務(wù)器、資源下載服務(wù)器以及對等客戶端;其中所述客戶端,用于分別從資源下載服務(wù)器以及對等客戶端下載待下載的文件分片,從資源索引服務(wù)器上查詢當前下載完成的文件分片的文件校驗信息,對所述下載完成的文件分片進行校驗,并當校驗出所述下載完成的文件分片與所述待下載的文件分片不一致時,將所述文件校驗信息、所述待下載的文件分片對應(yīng)的資源下載服務(wù)器的下載資源URL列表及IP地址上報給所述統(tǒng)計服務(wù)器,或?qū)⑺鰧Φ瓤蛻舳说纳矸輼俗R上報給所述統(tǒng)計服務(wù)器;所述資源索引服務(wù)器,用于根據(jù)所述客戶端的查詢請求,將所述待下載的文件分片的校驗信息發(fā)送給所述客戶端;所述統(tǒng)計服務(wù)器,用于接收所述客戶端在校驗出所述下載完成的文件分片與所述待下載的文件分片不一致時,上報的所述校驗信息、所述待下載的文件分片對應(yīng)的資源下載服務(wù)器的下載資源URL列表及IP地址,或?qū)Φ瓤蛻舳说纳矸輼俗R;所述資源下載服務(wù)器以及對等客戶端,用于根據(jù)所述客戶端的請求,將所述客戶端請求的文件分片發(fā)送給所述客戶端。
[0011]在上述的下載數(shù)據(jù)的方法、裝置及系統(tǒng)中,通過客戶端在校驗出下載完成的文件分片與待下載的文件分片不一致時,根據(jù)備用真實源服務(wù)器的IP地址向備用真實源服務(wù)器請求下載與待下載的文件分片相同的文件分片,由于備用真實源服務(wù)器中的數(shù)據(jù)由原始運營資源發(fā)布者主動構(gòu)造,并且是通過IP地址訪問,因此可確保下載資源的正確性,從而可有效提高數(shù)據(jù)下載的成功率。
[0012]為讓本發(fā)明的上述和其他目的、特征和優(yōu)點能更明顯易懂,下文特舉較佳實施例,并配合所附圖式,作詳細說明如下。
【專利附圖】
【附圖說明】
[0013]圖1為本發(fā)明第一實施例提供的下載數(shù)據(jù)的方法的應(yīng)用環(huán)境圖。
[0014]圖2為本發(fā)明第一實施例提供的下載數(shù)據(jù)的方法的流程圖。
[0015]圖3為本發(fā)明第二實施例與第三實施例提供的下載數(shù)據(jù)的方法的應(yīng)用環(huán)境圖。
[0016]圖4為本發(fā)明第二實施例提供的下載數(shù)據(jù)的方法的流程圖。
[0017]圖5為本發(fā)明第四實施例提供的下載數(shù)據(jù)的方法的流程圖。
[0018]圖6為本發(fā)明第五實施例提供的下載數(shù)據(jù)的方法的流程圖。
[0019]圖7為本發(fā)明第六實施例提供的客戶端的結(jié)構(gòu)示意圖。
[0020]圖8為本發(fā)明第七實施例提供的客戶端的結(jié)構(gòu)示意圖。
[0021]圖9為本發(fā)明第八實施例提供的客戶端的結(jié)構(gòu)示意圖。
[0022]圖10為本發(fā)明第九實施例提供的客戶端的結(jié)構(gòu)示意圖。
[0023]圖11為本發(fā)明第十二實施例提供的下載數(shù)據(jù)的系統(tǒng)的示意圖。
【具體實施方式】
[0024]為更進一步闡述本發(fā)明為實現(xiàn)預(yù)定發(fā)明目的所采取的技術(shù)手段及功效,以下結(jié)合附圖及較佳實施例,對依據(jù)本發(fā)明的【具體實施方式】、結(jié)構(gòu)、特征及其功效,詳細說明如后。
[0025]第一實施例
[0026]請參閱圖1,所示為本發(fā)明第一實施例提供的下載數(shù)據(jù)的方法的應(yīng)用環(huán)境圖。如圖1所示,客戶端101位于無線或有線網(wǎng)絡(luò)中,通過該無線或有線網(wǎng)絡(luò)與資源下載服務(wù)器102、備用真實源服務(wù)器103、資源索引服務(wù)器104、跟蹤服務(wù)器105、以及對等客戶端106相互通信,并一起構(gòu)成數(shù)據(jù)下載系統(tǒng)10。
[0027]可以理解的,上述客戶端101、資源下載服務(wù)器102、備用真實源服務(wù)器103、資源索引服務(wù)器104、跟蹤服務(wù)器105、以及對等客戶端106中的每一個裝置并非指單個的個體,也可以是多個個體的集合,例如:資源下載服務(wù)器102可以是單個資源下載服務(wù)器,也可以是由多個資源下載服務(wù)器構(gòu)成的資源下載服務(wù)器組。
[0028]請參閱圖2,所示為本發(fā)明第一實施例提供的下載數(shù)據(jù)的方法的流程圖。如圖2所示,該實施例描述的是客戶端的處理流程,結(jié)合圖1,本實施例提供的下載數(shù)據(jù)的方法包括以下步驟:
[0029]步驟S21,客戶端通過原始URL作為入口向資源索引服務(wù)器查詢資源下載服務(wù)器的下載資源URL列表、備用真實源服務(wù)器的IP地址、以及向跟蹤服務(wù)器查詢對等客戶端列表。
[0030]于本步驟中,客戶端101通過原始URL (Uniform Resource Locator,統(tǒng)一資源定位符)作為入口向資源索引服務(wù)器104查詢存儲有下載資源的資源下載服務(wù)器102的下載資源URL列表、備用真實源服務(wù)器103的IP(Internet Protocol,網(wǎng)絡(luò)協(xié)議)地址、以及向跟蹤服務(wù)器105查詢對等客戶端列表。資源索引服務(wù)器104根據(jù)客戶端101的查詢請求,將資源下載服務(wù)器的下載資源URL列表及下載資源的文件校驗信息發(fā)送給客戶端101。跟蹤服務(wù)器105根據(jù)客戶端101的查詢請求,將對等客戶端列表發(fā)送給客戶端101。
[0031]步驟S22,客戶端根據(jù)資源下載服務(wù)器的下載資源URL列表及對等客戶端列表,從資源下載服務(wù)器以及對等客戶端下載待下載的文件分片。
[0032]于此步驟中,客戶端101根據(jù)查詢到的資源下載服務(wù)器的下載資源URL列表及對等客戶端列表,分別從資源下載服務(wù)器102以及對等客戶端106下載待下載的文件分片。資源下載服務(wù)器102以及對等客戶端106分別將客戶端101請求的文件分片發(fā)送給客戶端101。
[0033]具體的,下載資源可以被分割為多個文件分片,客戶端101根據(jù)預(yù)設(shè)的下載策略,分別從資源下載服務(wù)器102與對等客戶端106下載待下載的文件分片,并在所有的待下載的文件分片下載完成后,將所有的文件分片組合還原為下載資源。
[0034]步驟S23,客戶端根據(jù)由資源索引服務(wù)器上獲取的文件校驗信息,對下載完成的文件分片進行校驗。
[0035]于此步驟中,客戶端101根據(jù)由資源索引服務(wù)器104上獲取的文件校驗信息,對下載完成的文件分片進行校驗。
[0036]文件校驗信息包括下載資源的每個文件分片的URL的哈希值(Hash),具體的,例如:每個文件分片的 URL 的 SHAl (Secure Hash Algorithm)值或 MD5 (Message Digest,消息摘要算法第五版)值。
[0037]客戶端101將從資源索引服務(wù)器104上獲取的文件校驗信息作為唯一可信的信息,每完成一個文件分片的下載,就通過校驗信息進行判斷。
[0038]步驟S24,若校驗出下載完成的文件分片與待下載的文件分片不一致,則客戶端根據(jù)備用真實源服務(wù)器的IP地址向備用真實源服務(wù)器請求下載與待下載的文件分片相同的文件分片。
[0039]于此步驟中,若客戶端101根據(jù)文件校驗信息校驗出下載完成的文件分片與待下載的文件分片不一致,則客戶端101可以根據(jù)備用真實源服務(wù)器103的IP地址向備用真實源服務(wù)器103請求下載與待下載的文件分片相同的文件分片。備用真實源服務(wù)器103根據(jù)客戶端101的請求,將客戶端101請求的文件分片發(fā)送給客戶端101。
[0040]也就是說,只有當校驗出下載完成的文件分片與待下載的文件分片不一致時,客戶端101才會向備用真實源服務(wù)器103請求下載與待下載的文件分片相同的文件分片。也即在存儲于資源下載服務(wù)器102與對等客戶端106上的待下載的文件分片沒有錯誤的情況下,客戶端101不會向備用真實源服務(wù)器103發(fā)送下載請求,這樣可以保證備用真實源服務(wù)器103的穩(wěn)定性,不會因為訪問量太大而導致超載,造成備用真實源服務(wù)器103的崩潰。
[0041]本發(fā)明實施例提供的下載數(shù)據(jù)的方法,通過客戶端在校驗出下載完成的文件分片與待下載的文件分片不一致時,根據(jù)備用真實源服務(wù)器的IP地址向備用真實源服務(wù)器請求下載與待下載的文件分片相同的文件分片,由于備用真實源服務(wù)器中的數(shù)據(jù)由原始運營資源發(fā)布者主動構(gòu)造,并且是通過IP地址訪問,因此可確保下載資源的正確性,從而可有效提聞數(shù)據(jù)下載的成功率。
[0042]第二實施例
[0043]請參閱圖3,所示為本發(fā)明第二實施例提供的下載數(shù)據(jù)的方法的應(yīng)用環(huán)境圖。如圖3所示,與圖1不同的是,除了資源下載服務(wù)器102、備用真實源服務(wù)器103、資源索引服務(wù)器104、跟蹤服務(wù)器105、以及對等客戶端106之外,客戶端101還與資源發(fā)布服務(wù)器201、資源入庫服務(wù)器202、統(tǒng)計服務(wù)器203、資源索引數(shù)據(jù)庫204、下載驗證服務(wù)器205 —起構(gòu)成數(shù)據(jù)下載系統(tǒng)20。
[0044]上述客戶端101、資源下載服務(wù)器102、備用真實源服務(wù)器103、資源索引服務(wù)器104、跟蹤服務(wù)器105、對等客戶端106、資源發(fā)布服務(wù)器201、資源入庫服務(wù)器202、統(tǒng)計服務(wù)器203、資源索引數(shù)據(jù)庫204、以及下載驗證服務(wù)器205中的每一個裝置并非指單個的個體,也可以是多個個體的集合,例如:資源下載服務(wù)器102可以是單個資源下載服務(wù)器,也可以是由多個資源下載服務(wù)器構(gòu)成的資源下載服務(wù)器組。
[0045]請參閱圖4,所示為本發(fā)明第二實施例提供的下載數(shù)據(jù)的方法的流程圖。如圖4所示,該實施例描述的是客戶端的處理流程,結(jié)合圖3,本實施例提供的下載數(shù)據(jù)的方法包括以下步驟:
[0046]步驟S401,客戶端通過原始URL作為入口向資源索引服務(wù)器查詢資源下載服務(wù)器的下載資源URL列表、備用真實源服務(wù)器的IP地址、以及向跟蹤服務(wù)器查詢對等客戶端列表。
[0047]資源發(fā)布服務(wù)器201首先按照預(yù)設(shè)分割策略將下載資源分割為多個文件分片,然后將下載資源發(fā)布到資源下載服務(wù)器102與備用真實源服務(wù)器103,并在發(fā)布完成后將下載資源的原始URL(Uniform Resource Locator,統(tǒng)一資源定位符)、資源下載服務(wù)器102的下載資源URL列表、備用真實源服務(wù)器103的IP (Internet Protocol,網(wǎng)絡(luò)協(xié)議)地址發(fā)送給資源入庫服務(wù)器202。
[0048]上述資源下載服務(wù)器102的下載資源URL列表中包含下載資源的多個文件分片在不同資源下載服務(wù)器中的URL。資源下載服務(wù)器102可以包括ISP (Internet ServiceProvider,互聯(lián)網(wǎng)服務(wù)提供商)緩存服務(wù)器與0)N (Content Delivery Network,內(nèi)容分發(fā)網(wǎng)絡(luò))緩存服務(wù)器。由于CDN緩存服務(wù)器比ISP緩存服務(wù)器出錯率更低、服務(wù)質(zhì)量與安全性更高,優(yōu)選地,資源發(fā)布服務(wù)器201將下載資源發(fā)布到CDN緩存服務(wù)器。
[0049]資源入庫服務(wù)器202根據(jù)資源發(fā)布服務(wù)器201發(fā)送的資源下載服務(wù)器102的下載資源URL列表計算每個文件分片的URL的哈希值,并將計算出的每個文件分片的URL的哈希值、每個文件分片的URL的哈希值與每個文件分片的URL的映射關(guān)系、下載資源的原始URL、資源下載服務(wù)器102的下載資源URL列表、備用真實源服務(wù)器103的IP地址存儲于資源索引數(shù)據(jù)庫204,如果資源索引數(shù)據(jù)庫204中已經(jīng)有相關(guān)記錄,則直接覆蓋該相關(guān)記錄。
[0050]于此步驟中,原始URL可由客戶端101從資源下載網(wǎng)站下載獲得??蛻舳?01首先通過原始URL作為入口向資源索引服務(wù)器104發(fā)送查詢請求,資源索引服務(wù)器104根據(jù)該查詢請求,首先查詢本地緩存是否有相應(yīng)記錄,如果有則直接從本地緩存讀取資源下載服務(wù)器102的下載資源URL列表、備用真實源服務(wù)器103的IP地址、以及文件校驗信息并發(fā)送給客戶端101 ;如果本地緩存中沒有相應(yīng)記錄,則向資源索引數(shù)據(jù)庫204發(fā)送查詢請求,然后將通過資源索引數(shù)據(jù)庫204查詢獲得的資源下載服務(wù)器102的下載資源URL列表、備用真實源服務(wù)器103的IP地址、以及文件校驗信息發(fā)送給客戶端101。
[0051]客戶端101向跟蹤服務(wù)器105發(fā)送查詢請求,跟蹤服務(wù)器105根據(jù)該查詢請求,將對等客戶端列表發(fā)送給客戶端101。對等客戶端列表由跟蹤服務(wù)器105生成,其中可包含存儲有下載資源的對等客戶端106的IP地址、對等客戶端106擁有的下載資源等信息。跟蹤服務(wù)器105根據(jù)客戶端101的注冊請求,將新注冊的客戶端101加入對等客戶端列表。并根據(jù)客戶端101定期上報的客戶端101的在線情況及客戶端101擁有的資源信息,更新對等客戶端列表。
[0052]步驟S402,客戶端根據(jù)資源下載服務(wù)器的下載資源URL列表及對等客戶端列表,從資源下載服務(wù)器以及對等客戶端下載待下載的文件分片。
[0053]此步驟可以參考第一實施例中的相應(yīng)步驟,這里不再贅述。
[0054]步驟S403,客戶端從資源索引服務(wù)器查詢當前下載完成的文件分片的文件校驗信肩、O
[0055]于此步驟中,客戶端101從資源索引服務(wù)器104查詢當前下載完成的文件分片的文件校驗信息。若客戶端101未在資源索引服務(wù)器104上查詢到當前下載完成的文件分片的文件校驗信息,則執(zhí)行步驟S404:根據(jù)預(yù)置規(guī)則,生成當前下載完成的文件分片所對應(yīng)的文件校驗信息。
[0056]具體的,客戶端101首次沒有從資源索引服務(wù)器104上查詢到當前下載完成的文件分片的文件校驗信息,則將下載完成的文件分片視為新文件,根據(jù)下載完成的文件分片的URL計算生成該下載完成的文件分片的文件校驗信息,例如:哈希值。
[0057]步驟S405:將生成的文件校驗信息以及當前下載完成的文件分片的標識信息上報給資源入庫服務(wù)器,以使資源入庫服務(wù)器將生成的文件校驗信息以及當前下載完成的文件分片的標識信息寫入資源索引數(shù)據(jù)庫。
[0058]具體的,資源入庫服務(wù)器202接收客戶端101上報的文件校驗信息以及當前下載完成的文件分片的標識信息,首先向資源索引數(shù)據(jù)庫204查詢是否有相應(yīng)的信息,若查詢不出相應(yīng)信息,則直接將客戶端101上報的文件校驗信息以及當前下載完成的文件分片的標識信息寫入資源索引數(shù)據(jù)庫204,若有相應(yīng)信息,則檢查相關(guān)字段(例如:文件大小、Hash標識)內(nèi)容是否一致,若不一致,則調(diào)用下載驗證服務(wù)器205驗證入庫數(shù)據(jù)的合法性、有效性,并根據(jù)驗證結(jié)果,更新資源索引數(shù)據(jù)庫204中與客戶端101上報的當前下載完成的文件分片的文件校驗信息與標識信息對應(yīng)的信息。其中,下載驗證服務(wù)器205用于驗證客戶端101發(fā)送給資源入庫服務(wù)器202的入庫數(shù)據(jù)。
[0059]若查詢到當前下載完成的文件分片的文件校驗信息,則執(zhí)行步驟S406:根據(jù)由資源索引服務(wù)器104上獲取的文件校驗信息,對下載完成的文件分片進行校驗。
[0060]若校驗出下載完成的文件分片與待下載的文件分片不一致,則執(zhí)行步驟S407:客戶端101通過原始URL下載待下載的分片。
[0061]步驟S408,將文件校驗信息、待下載的文件分片對應(yīng)的資源下載服務(wù)器的下載資源URL列表及對應(yīng)的資源下載服務(wù)器的IP地址上報給統(tǒng)計服務(wù)器,或?qū)Φ瓤蛻舳说纳矸輼俗R上報給統(tǒng)計服務(wù)器。
[0062]具體的,若下載完成的文件分片是從資源下載服務(wù)器102下載的,則客戶端101將文件校驗信息、待下載的文件分片對應(yīng)的資源下載服務(wù)器102的下載資源URL列表及對應(yīng)的資源下載服務(wù)器102的IP地址上報給統(tǒng)計服務(wù)器203 ;若下載完成的文件分片是從對等客戶端106下載的,則客戶端101將文件校驗信息、待下載的文件分片對應(yīng)的對等客戶端106的身份標識上報給統(tǒng)計服務(wù)器203。
[0063]統(tǒng)計服務(wù)器203將客戶端101上報的上述信息上報給資源入庫服務(wù)器202,資源入庫服務(wù)器202根據(jù)統(tǒng)計服務(wù)器203上報的上述信息,更新資源索引數(shù)據(jù)庫204中的數(shù)據(jù),例如:清除校驗結(jié)果為不一致的待下載的文件分片對應(yīng)的資源下載服務(wù)器102的下載資源URL列表。
[0064]若通過原始URL下載的文件分片與待下載的文件分片不一致,則執(zhí)行步驟S409:向備用真實源服務(wù)器請求下載與待下載的文件分片相同的文件分片。
[0065]本步驟可參考第一實施例的相應(yīng)內(nèi)容,在此不再贅述。
[0066]步驟S410,當與待下載的文件分片相同的文件分片下載完成,將與待下載的文件分片相同的文件分片的下載信息上報給統(tǒng)計服務(wù)器。
[0067]具體的,當與待下載的文件分片相同的文件分片下載完成后,客戶端101將待下載的文件分片相同的文件分片的下載信息,包括:下載用時、下載速度、下載結(jié)果、文件分片大小及安全屬性信息等上報給統(tǒng)計服務(wù)器203。
[0068]統(tǒng)計服務(wù)器203以流水日志的方式存儲客戶端101發(fā)送的下載信息,以供后續(xù)統(tǒng)計分析。
[0069]本發(fā)明實施例提供的下載數(shù)據(jù)的方法,通過客戶端在校驗出下載完成的文件分片與待下載的文件分片不一致時,根據(jù)備用真實源服務(wù)器的IP地址向備用真實源服務(wù)器請求下載與待下載的文件分片相同的文件分片,由于備用真實源服務(wù)器中的數(shù)據(jù)由原始運營資源發(fā)布者主動構(gòu)造,并且是通過IP地址訪問,因此可確保下載資源的正確性,從而可有效提聞數(shù)據(jù)下載的成功率。
[0070]第三實施例
[0071]請再參考圖3,圖3中的應(yīng)用環(huán)境同樣適用于本實施例。本實施例描述的系統(tǒng)的處理流程,本實施例提供的下載數(shù)據(jù)的方法包括以下步驟:
[0072]步驟S501,資源發(fā)布服務(wù)器201將下載資源發(fā)布到資源下載服務(wù)器102與備用真實源服務(wù)器103。
[0073]資源下載服務(wù)器102可以包括ISP (Internet Service Provider,互聯(lián)網(wǎng)服務(wù)提供商)緩存服務(wù)器與⑶N (Content Delivery Network,內(nèi)容分發(fā)網(wǎng)絡(luò))緩存服務(wù)器。
[0074]步驟S502,資源發(fā)布服務(wù)器201將下載資源的原始URL、資源下載服務(wù)器102的下載資源URL列表、以及備用真實源服務(wù)器103的IP地址發(fā)送給資源入庫服務(wù)器202。
[0075]步驟S503,資源入庫服務(wù)器202計算下載資源的文件校驗信息,將下載資源的原始URL、資源下載服務(wù)器102的下載資源URL列表、備用真實源服務(wù)器103的IP地址、以及下載資源的文件校驗信息發(fā)送給資源索引數(shù)據(jù)庫204,以使資源索引數(shù)據(jù)庫204存儲上述信息。
[0076]由于下載資源被分割為多個文件分片,可以理解的,資源下載服務(wù)器102的下載資源URL列表中包含下載資源的多個文件分片的URL。
[0077]具體的,資源入庫服務(wù)器202首先根據(jù)資源發(fā)布服務(wù)器201發(fā)送的資源下載服務(wù)器102的下載資源URL列表,使用預(yù)置算法(例如:哈希算法)為下載資源的每個文件分片計算Hash (哈希值),然后將計算出的每個文件分片的Hash、每個文件分片的URL、每個文件分片的Hash與每個文件分片的URL的映射關(guān)系、備用真實源服務(wù)器103的IP地址以及用于指示將每個文件分片的Hash標記為主動發(fā)布資源的校驗信息的標記指令發(fā)送給資源索引數(shù)據(jù)庫204。資源索引數(shù)據(jù)庫204接收并存儲上述信息,并根據(jù)標記指令將每個文件分片的Hash標記為主動發(fā)布資源的校驗信息,以使其成為唯一可信校驗信息。
[0078]可以理解的,資源索引數(shù)據(jù)庫204可以是資源入庫服務(wù)器202中的一個模塊,也可以是網(wǎng)絡(luò)中單獨的一個服務(wù)器。
[0079]步驟S504,客戶端101通過原始URL作為入口向資源索引服務(wù)器104發(fā)送查詢請求,請求查詢資源下載服務(wù)器102的下載資源URL列表、備用真實源服務(wù)器103的IP地址,并通過原始URL作為入口向跟蹤服務(wù)器105發(fā)送查詢請求,請求查詢對等客戶端列表。
[0080]步驟S505,資源索引服務(wù)器104根據(jù)客戶端101發(fā)送的查詢請求,將資源下載服務(wù)器102的下載資源URL列表、備用真實源服務(wù)器103的IP地址反饋給客戶端101。
[0081]步驟S506,跟蹤服務(wù)器105根據(jù)客戶端101發(fā)送的查詢請求,將對等客戶端列表反饋給客戶端101。
[0082]步驟S507,客戶端101根據(jù)資源下載服務(wù)器102的下載資源URL列表從資源下載服務(wù)器102的下載待下載的文件分片,根據(jù)對等客戶端列表從對等客戶端106下載待下載的文件分片。
[0083]步驟S508,客戶端101在監(jiān)測到有文件分片下載完成時,向資源索引服務(wù)器104發(fā)送查詢請求,查詢當前下載完成的文件分片的文件校驗信息。
[0084]可以理解的,客戶端101發(fā)送給資源索引服務(wù)器104的查詢請求中包含當前下載完成的文件分片的URL,資源索引服務(wù)器104根據(jù)該URL查詢與當前下載完成的文件分片對應(yīng)的Hash。
[0085]步驟S509,資源索引服務(wù)器104根據(jù)客戶端101的查詢請求,向資源索引數(shù)據(jù)庫204查詢與客戶端101當前下載完成的文件分片對應(yīng)的文件校驗信息。
[0086]資源索引服務(wù)器104在查詢到與當前下載完成的文件分片對應(yīng)的文件校驗信息時,執(zhí)行步驟S510:將與客戶端101當前下載完成的文件分片對應(yīng)的文件校驗信息反饋給客戶端101。
[0087]客戶端101在接收到資源索引服務(wù)器104反饋回來的與當前下載完成的文件分片對應(yīng)的文件校驗信息時,執(zhí)行步驟S511:根據(jù)資源索引服務(wù)器104發(fā)送的文件校驗信息校驗當前下載完成的文件分片。
[0088]客戶端101在校驗結(jié)果為下載完成的文件分片與待下載的文件分片不一致時,執(zhí)行步驟S512:通過原始URL下載待下載的文件分片,同時將待下載的文件分片的文件校驗信息、待下載的文件分片對應(yīng)的資源下載服務(wù)器102的下載資源URL列表及對應(yīng)的資源下載服務(wù)器102的IP地址上報給統(tǒng)計服務(wù)器203,或?qū)Φ瓤蛻舳?06的身份標識上報給統(tǒng)計服務(wù)器203。
[0089]校驗結(jié)果為下載完成的文件分片與待下載的文件分片不一致,說明客戶端101已下載的待下載的文件分片的源有問題,因此客戶端101將與已下載的待下載的文件分片的文件校驗信息、對應(yīng)的資源下載服務(wù)器102的下載資源URL列表以及對應(yīng)的資源下載服務(wù)器102的IP地址等相關(guān)信息上報給統(tǒng)計服務(wù)器203。
[0090]步驟S513,統(tǒng)計服務(wù)器203將客戶端101上報的待下載的文件分片的文件校驗信息、待下載的文件分片對應(yīng)的資源下載服務(wù)器102的下載資源URL列表及對應(yīng)的資源下載服務(wù)器102的IP地址上報給資源入庫服務(wù)器202。
[0091]步驟S514,資源入庫服務(wù)器202根據(jù)統(tǒng)計服務(wù)器203在步驟S514中上報的信息,發(fā)送包含統(tǒng)計服務(wù)器203在步驟S513中上報的信息的更新指令給資源索引數(shù)據(jù)庫204,以使資源索引數(shù)據(jù)庫204更新相應(yīng)數(shù)據(jù)。
[0092]更新方式可包括,例如:刪除資源索引數(shù)據(jù)庫204中存儲的與客戶端101上報的信息有關(guān)的待下載的文件分片對應(yīng)的資源下載服務(wù)器102的下載資源URL列表。
[0093]步驟S515,客戶端101根據(jù)從資源索引服務(wù)器104獲取的文件校驗信息驗證通過原始URL下載的文件分片,并當通過原始URL下載的文件分片與待下載的文件分片不一致時,向備用真實源服務(wù)器103請求下載與待下載的文件分片相同的文件分片。
[0094]如果所有的URL包括原始URL都不正確,此時使用備用真實源服務(wù)器103下載數(shù)據(jù),由于只有一個源,不存在多源,所以此時文件可以不用校驗,由備用真實源服務(wù)器103的數(shù)據(jù)的正確性來確保最終的正確性。
[0095]由于統(tǒng)計服務(wù)器203實時根據(jù)客戶端101上報的存在下載錯誤的文件分片的文件校驗信息、待下載的文件分片對應(yīng)的資源下載服務(wù)器102的下載資源URL列表及對應(yīng)的資源下載服務(wù)器102的IP地址,或?qū)Φ瓤蛻舳?06的身份標識,能夠很快確定ISP多源下載的不同步,并可同步進行CDN同步分發(fā)的修復(fù),同時由于備用真實源服務(wù)器103的存在,可以保證正常用戶的當前下載。此外,即使ISP運營商緩存了錯誤的副本,只要原始發(fā)布者通過資源入庫服務(wù)器202寫入正確的文件校驗信息到資源索引數(shù)據(jù)庫204就不會影響最終的下載數(shù)據(jù)的正確性。
[0096]步驟S516,客戶端101在與待下載的文件分片相同的文件分片下載完成時,將與待下載的文件分片相同的文件分片的下載信息上報給統(tǒng)計服務(wù)器203。
[0097]下載信息可包括:下載用時、下載速度、下載結(jié)果、文件分片大小及安全屬性信息等。統(tǒng)計服務(wù)器203以流水日志的方式存儲上述信息,以供后續(xù)統(tǒng)計分析。
[0098]客戶端101于預(yù)設(shè)時間內(nèi)未接收到資源索引服務(wù)器104反饋回來的與當前下載完成的文件分片對應(yīng)的文件校驗信息,或接收到的是沒有查詢結(jié)果的反饋信息,則執(zhí)行步驟S517:將當前下載完成的文件分片的標識信息上報給資源入庫服務(wù)器202。
[0099]當前下載完成的文件分片的標識信息可包括該文件分片的大小、URL等。
[0100]步驟S518,資源入庫服務(wù)器202發(fā)送校驗信息上報指令給客戶端101,指示客戶端101上報當前下載完成的文件分片的文件分片校驗信息。
[0101]步驟S519,客戶端101根據(jù)預(yù)置規(guī)則,生成當前下載完成的文件分片所對應(yīng)的分片文件校驗信息,并將該分片文件校驗信息上報給資源入庫服務(wù)器202。
[0102]具體的,客戶端101使用預(yù)置算法(例如:哈希算法)根據(jù)下載完成的文件分片的URL計算生成該下載完成的文件分片的Hash。
[0103]步驟S520,資源入庫服務(wù)器202接收客戶端101發(fā)送的文件校驗信息,并向資源索引數(shù)據(jù)庫204發(fā)送查詢請求,查詢資源索引數(shù)據(jù)庫204中是否存儲有與客戶端101上報的當前下載完成的文件分片的標識信息以及文件校驗信息相對應(yīng)的數(shù)據(jù)信息。
[0104]步驟S521,資源索引數(shù)據(jù)庫204將查詢結(jié)果反饋給資源入庫服務(wù)器202。
[0105]資源入庫服務(wù)器202在查詢結(jié)果為資源索引數(shù)據(jù)庫204中未存儲有相應(yīng)信息時,執(zhí)行步驟S522:將客戶端101上報的當前下載完成的文件分片的標識信息以及文件校驗信息發(fā)送給資源索引數(shù)據(jù)庫204,以使資源索引數(shù)據(jù)庫204存儲上述信息。
[0106]資源入庫服務(wù)器202在查詢結(jié)果為資源索引數(shù)據(jù)庫204中存儲有相應(yīng)信息時,執(zhí)行步驟S523:檢查資源索引數(shù)據(jù)庫204反饋的查詢結(jié)果中所包含的與客戶端101上報的當前下載完成的文件分片的標識信息以及文件校驗信息有關(guān)的相關(guān)字段(例如:文件大小、Hash標識)的內(nèi)容是否與客戶端101上報的上述信息一致。并在檢查結(jié)果為不一致時,執(zhí)行步驟S524:發(fā)送驗證指令給下載驗證服務(wù)器205。
[0107]步驟S525,下載驗證服務(wù)器205根據(jù)資源入庫服務(wù)器202發(fā)送的驗證指令,驗證客戶端101上報的當前下載完成的文件分片的標識信息以及文件校驗信息的合法性,并將驗證結(jié)果反饋給資源入庫服務(wù)器202。
[0108]具體的,下載驗證服務(wù)器205通過根據(jù)資源入庫服務(wù)器202發(fā)送的驗證指令中包含的客戶端101上報的當前下載完成的文件分片的URL下載文件分片,計算客戶端101上報的信息中與資源索引數(shù)據(jù)庫204中存儲的對應(yīng)信息中的內(nèi)容不一致的字段。
[0109]資源入庫服務(wù)器202接收下載驗證服務(wù)器205發(fā)送的驗證結(jié)果,在下載驗證服務(wù)器205反饋的驗證結(jié)果與客戶端101上報的當前下載完成的文件分片的標識信息以及文件校驗信息一致時,執(zhí)行步驟S526:將包含客戶端101上報的當前下載完成的文件分片的標識信息以及文件校驗信息的更新指令發(fā)送給資源索引數(shù)據(jù)庫204,以使資源索引數(shù)據(jù)庫204根據(jù)客戶端上報的信息更新資源索引數(shù)據(jù)庫204中的相應(yīng)信息。
[0110]具體的,假設(shè)資源索引數(shù)據(jù)庫204中存儲的信息為舊信息,客戶端101上報的信息為信息,若下載驗證服務(wù)器205的驗證結(jié)果與舊信息一致,則不更新舊信息,若下載驗證服務(wù)器205的驗證結(jié)果與新信息一致,則用新信息更新資源索引數(shù)據(jù)庫204中存儲的舊信息。對于U2H (URL到Hash映射表),一個URL在資源索引數(shù)據(jù)庫204只可能有一條記錄,直接更新該記錄;對于H2U,如果URL對應(yīng)的Hash改了,則應(yīng)先將H2U (Hash到URL的映射記錄表)表中以前Hash對應(yīng)的該URL記錄刪除掉,再插入新的記錄;對于分片校驗信息,一個Hash只對應(yīng)一個記錄,直接更新資源索引數(shù)據(jù)庫204中存儲的該記錄;如果下載驗證服務(wù)器205的驗證結(jié)果與新信息及舊信息都不一致,則用下載驗證返回的驗證結(jié)果更新資源索引數(shù)據(jù)庫204中的相應(yīng)信息。
[0111]本發(fā)明實施例提供的下載數(shù)據(jù)的方法,通過資源發(fā)布服務(wù)器在發(fā)布下載資源的同時,在備用真實源服務(wù)器中構(gòu)造一個備用真實源,當客戶端在校驗出下載完成的文件分片與待下載的文件分片不一致時,客戶端將下載完成的文件分片對應(yīng)的下載源URL上報統(tǒng)計服務(wù)器,并通過資源入庫服務(wù)器加以屏蔽,同時客戶端根據(jù)備用真實源服務(wù)器的IP地址向備用真實源服務(wù)器請求下載與待下載的文件分片相同的文件分片,能夠繞開ISP緩存服務(wù)器和CDN緩存服務(wù)器中存儲的因與資源發(fā)布服務(wù)器發(fā)布的原始下載數(shù)據(jù)不同步而產(chǎn)生的錯誤數(shù)據(jù),從備用真實源服務(wù)器下載到正確數(shù)據(jù),從而確保客戶端下載到的文件是一個一致性的版本,不會出現(xiàn)一部分數(shù)據(jù)來自新版本,一部分數(shù)據(jù)來自舊版本的情況,進而可有效提高數(shù)據(jù)下載的成功率。
[0112]第四實施例
[0113]圖5為本發(fā)明第四實施例提供的下載數(shù)據(jù)的方法的流程圖。如圖5所示,該實施例描述的是客戶端的上報流程,結(jié)合圖3,本實施例提供的下載數(shù)據(jù)的方法包括以下步驟:
[0114]步驟S61,客戶端分別從資源下載服務(wù)器以及對等客戶端下載待下載的文件分片。
[0115]具體的,下載資源可以被分割為多個文件分片,客戶端101根據(jù)預(yù)設(shè)的下載策略,分別從資源下載服務(wù)器102與對等客戶端106下載待下載的文件分片,并在所有的待下載的文件分片下載完成后,將所有的文件分片組合還原為下載資源。
[0116]步驟S62,客戶端從資源索引服務(wù)器上查詢當前下載完成的文件分片的文件校驗信息,對所述下載完成的文件分片進行校驗。
[0117]具體的,客戶端101按照預(yù)置生成規(guī)則,根據(jù)當前下載完成的文件分片的URL計算哈希值,然后將計算出的哈希值與從資源索引服務(wù)器104上查詢獲得的文件校驗信息進行比較,判斷二者是否一致。
[0118]步驟S63,若校驗出下載完成的文件分片與待下載的文件分片不一致,則將文件校驗信息、待下載的文件分片對應(yīng)的資源下載服務(wù)器的下載資源URL列表及對應(yīng)的資源下載服務(wù)器的IP地址上報給統(tǒng)計服務(wù)器,或?qū)Φ瓤蛻舳说纳矸輼俗R上報給統(tǒng)計服務(wù)器。
[0119]具體的,若下載完成的文件分片是從資源下載服務(wù)器102下載的,則客戶端101將文件校驗信息、待下載的文件分片對應(yīng)的資源下載服務(wù)器102的下載資源URL列表及對應(yīng)的資源下載服務(wù)器102的IP地址上報給統(tǒng)計服務(wù)器203 ;若下載完成的文件分片是從對等客戶端106下載的,則客戶端101將文件校驗信息、待下載的文件分片對應(yīng)的對等客戶端106的身份標識上報給統(tǒng)計服務(wù)器203。
[0120]統(tǒng)計服務(wù)器203將客戶端101上報的上述信息上報給資源入庫服務(wù)器202,資源入庫服務(wù)器202根據(jù)統(tǒng)計服務(wù)器203上報的上述信息,更新資源索引數(shù)據(jù)庫204中的數(shù)據(jù),例如:清除校驗結(jié)果為不一致的待下載的文件分片對應(yīng)的資源下載服務(wù)器102的下載資源URL列表。同時資源入庫服務(wù)器202還可向資源下載服務(wù)器102與資源發(fā)布服務(wù)器201發(fā)送預(yù)警通知,通知資源下載服務(wù)器102與資源發(fā)布服務(wù)器201盡快修復(fù)與被清除的下載資源URL列表對應(yīng)的文件分片。資源發(fā)布服務(wù)器201可在接收到預(yù)警通知后,將與被清除的下載資源URL列表對應(yīng)的文件分片重新發(fā)布的資源下載服務(wù)器102上。資源下載服務(wù)器102在接收到預(yù)警通知后,可從備用真實源服務(wù)器103下載與被清除的下載資源URL列表對應(yīng)的文件分片,或從資源發(fā)布服務(wù)器201獲取與被清除的下載資源URL列表對應(yīng)的文件分片。
[0121]本發(fā)明實施例提供的下載數(shù)據(jù)的方法,通過客戶端在校驗出下載完成的文件分片與待下載的文件分片不一致時,將文件校驗信息、待下載的文件分片的來源信息經(jīng)由統(tǒng)計服務(wù)器上報給資源入庫服務(wù)器,資源入庫服務(wù)器同步更新資源索引數(shù)據(jù)庫數(shù)據(jù),屏蔽錯誤的下載資源URL,從而可有效防止其他客戶端從錯誤的下載資源URL下載到錯誤的文件分片,提高數(shù)據(jù)下載的成功率。
[0122]第五實施例
[0123]圖6為本發(fā)明第五實施例提供的下載數(shù)據(jù)的方法的流程圖。如圖6所示,該實施例描述的是客戶端的上報流程,結(jié)合圖3,本實施例提供的下載數(shù)據(jù)的方法包括以下步驟:
[0124]步驟S71,客戶端分別從資源下載服務(wù)器以及對等客戶端下載待下載的文件分片。
[0125]步驟S72,客戶端從資源索引服務(wù)器上查詢當前下載完成的文件分片的文件校驗信息。
[0126]若客戶端從資源索引服務(wù)器上查詢到當前下載完成的文件分片的文件校驗信息,則步驟S73:對所述下載完成的文件分片進行校驗。
[0127]步驟S74,若校驗出下載完成的文件分片與待下載的文件分片不一致,則將文件校驗信息、待下載的文件分片對應(yīng)的資源下載服務(wù)器的下載資源URL列表及對應(yīng)的資源下載服務(wù)器的IP地址上報給統(tǒng)計服務(wù)器,或?qū)Φ瓤蛻舳说纳矸輼俗R上報給統(tǒng)計服務(wù)器。
[0128]步驟S71至步驟S74可參考第四實施例的相應(yīng)步驟,在這里不再贅述。
[0129]若所述客戶端在所述資源索引服務(wù)器上未查詢到當前下載完成的文件分片的文件校驗信息,則執(zhí)行步驟S75:根據(jù)預(yù)置規(guī)則,生成與當前下載完成的文件分片所對應(yīng)的文件校驗信息。
[0130]具體的,客戶端101若沒有從資源索引服務(wù)器104上查詢到當前下載完成的文件分片的文件校驗信息,則將下載完成的文件分片視為新文件,根據(jù)下載完成的文件分片的URL計算生成該下載完成的文件分片的文件校驗信息,例如:哈希值。
[0131]步驟S76,將生成的文件校驗信息以及所述當前下載完成的文件分片的標識信息上報給資源入庫服務(wù)器,以使所述資源入庫服務(wù)器將所述生成的文件校驗信息以及所述當前下載完成的文件分片的標識信息寫入資源索引數(shù)據(jù)庫。
[0132]具體的,資源入庫服務(wù)器202接收客戶端101上報的文件校驗信息以及當前下載完成的文件分片的標識信息,首先向資源索引數(shù)據(jù)庫204查詢是否有相應(yīng)的信息,若查詢不出相應(yīng)信息,則直接將客戶端101上報的文件校驗信息以及當前下載完成的文件分片的標識信息寫入資源索引數(shù)據(jù)庫204,若有相應(yīng)信息,則檢查相關(guān)字段(例如:文件大小、Hash標識)內(nèi)容是否一致,若不一致,則調(diào)用下載驗證服務(wù)器205驗證入庫數(shù)據(jù)的合法性、有效性,并根據(jù)驗證結(jié)果,更新資源索引數(shù)據(jù)庫204中與客戶端101上報的當前下載完成的文件分片的文件校驗信息與標識信息對應(yīng)的信息。其中,下載驗證服務(wù)器205用于驗證客戶端101發(fā)送給資源入庫服務(wù)器202的入庫數(shù)據(jù)。
[0133]本發(fā)明實施例提供的下載數(shù)據(jù)的方法,通過客戶端在沒有從資源索引服務(wù)器上查詢到當前下載完成的文件分片的文件校驗信息時,根據(jù)預(yù)置規(guī)則生成當前下載完成的文件分片的文件校驗信息并上報給資源入庫服務(wù)器,然后由資源入庫服務(wù)器經(jīng)驗證后寫入資源索引數(shù)據(jù)庫,可以確保資源索引數(shù)據(jù)庫中文件校驗信息的正確性,防止因文件校驗信息的錯誤而導致的數(shù)據(jù)下載失敗,進而提高數(shù)據(jù)下載的成功率。
[0134]第六實施例
[0135]圖7為本發(fā)明第六實施例提供的客戶端的結(jié)構(gòu)示意圖。本實施例提供的客戶端可以用于實現(xiàn)第一實施例中的下載數(shù)據(jù)的方法。如圖7所示,客戶端700包括:查詢模塊701、下載模塊702、校驗?zāi)K703。
[0136]其中查詢模塊701用于通過原始URL作為入口向資源索引服務(wù)器查詢資源下載服務(wù)器的下載資源URL列表、備用真實源服務(wù)器的IP地址、以及向跟蹤服務(wù)器查詢對等客戶端列表。
[0137]下載模塊702用于根據(jù)所述資源下載服務(wù)器的下載資源URL列表及對等客戶端列表,從所述資源下載服務(wù)器以及所述對等客戶端下載待下載的文件分片;還用于若校驗出所述下載完成的文件分片與所述待下載的文件分片不一致時,根據(jù)所述備用真實源服務(wù)器的IP地址向所述備用真實源服務(wù)器請求下載與所述待下載的文件分片相同的文件分片。
[0138]校驗?zāi)K703用于根據(jù)由所述資源索引服務(wù)器上獲取的文件校驗信息,對下載完成的文件分片進行校驗。
[0139]本實施例客戶端700的各功能模塊實現(xiàn)各自功能的具體過程,請參見上述圖1至圖6所示實施例中描述的具體內(nèi)容,此處不再贅述。
[0140]本發(fā)明實施例提供的下載數(shù)據(jù)的客戶端,通過在校驗出下載完成的文件分片與待下載的文件分片不一致時,根據(jù)備用真實源服務(wù)器的IP地址向備用真實源服務(wù)器請求下載與待下載的文件分片相同的文件分片,由于備用真實源服務(wù)器中的數(shù)據(jù)由原始運營資源發(fā)布者主動構(gòu)造,并且是通過IP地址訪問,因此可確保下載資源的正確性,從而可有效提高數(shù)據(jù)下載的成功率。
[0141]第七實施例
[0142]圖8為本發(fā)明第五實施例提供的客戶端的結(jié)構(gòu)示意圖。本實施例提供的客戶端可以用于實現(xiàn)第二實施例與第三實施例中的下載數(shù)據(jù)的方法。如圖8所示,客戶端800包括:查詢模塊801、下載模塊802、校驗?zāi)K803、上報模塊804、生成模塊805。
[0143]查詢模塊801用于通過原始URL作為入口向資源索引服務(wù)器查詢資源下載服務(wù)器的下載資源URL列表、備用真實源服務(wù)器的IP地址、以及向跟蹤服務(wù)器查詢對等客戶端列表。
[0144]下載模塊802用于根據(jù)所述資源下載服務(wù)器的下載資源URL列表及對等客戶端列表,從所述資源下載服務(wù)器以及所述對等客戶端下載待下載的文件分片;還用于若校驗出所述下載完成的文件分片與所述待下載的文件分片不一致時,根據(jù)所述備用真實源服務(wù)器的IP地址向所述備用真實源服務(wù)器請求下載與所述待下載的文件分片相同的文件分片;還用于若所述校驗?zāi)K校驗出所述下載完成的文件分片與所述待下載的文件分片不一致,則通過所述原始URL下載所述待下載的分片;還用于若通過所述原始URL下載的文件分片與所述待下載的文件分片不一致,則執(zhí)行所述向所述備用真實源服務(wù)器請求下載與所述待下載的文件分片相同的文件分片。
[0145]優(yōu)選地,所述與所述待下載的文件分片相同的文件分片由所述資源發(fā)布服務(wù)器在將下載資源發(fā)送給所述資源下載服務(wù)器的同時,發(fā)送給所述備用真實源服務(wù)器。
[0146]校驗?zāi)K803用于根據(jù)由所述資源索引服務(wù)器上獲取的文件校驗信息,對下載完成的文件分片進行校驗;還用于根據(jù)從所述資源索引服務(wù)器上獲取的校驗哈希值,對下載完成的文件分片進行校驗。
[0147]優(yōu)選地,所述校驗哈希值由所述資源入庫服務(wù)器根據(jù)資源發(fā)布服務(wù)器發(fā)送的所述下載完成的文件分片在所述資源下載服務(wù)器的下載資源URL列表計算生成,并發(fā)送給所述資源索引服務(wù)器。
[0148]上報模塊804用于若校驗出所述下載完成的文件分片與所述待下載的文件分片不一致,則將所述文件校驗信息、所述待下載的文件分片對應(yīng)的資源下載服務(wù)器的下載資源URL列表及所述對應(yīng)的資源下載服務(wù)器的IP地址上報給所述統(tǒng)計服務(wù)器,或?qū)⑺鰧Φ瓤蛻舳说纳矸輼俗R上報給所述統(tǒng)計服務(wù)器;還用于將生成的文件校驗信息以及所述當前下載完成的文件分片的標識信息上報給資源入庫服務(wù)器,以使所述資源入庫服務(wù)器將所述生成的文件校驗信息以及所述當前下載完成的文件分片的標識信息寫入資源索引數(shù)據(jù)庫;還用于當與所述待下載的文件分片相同的文件分片下載完成,則將與所述待下載的文件分片相同的文件分片的下載信息上報給所述統(tǒng)計服務(wù)器,所述下載信息包括下載用時、下載速度、下載結(jié)果、文件分片大小及安全屬性信息。
[0149]生成模塊805用于若在所述資源索引服務(wù)器上未查詢到當前下載完成的文件分片的文件校驗信息,則根據(jù)預(yù)置規(guī)則,生成所述當前下載完成的文件分片所對應(yīng)的文件校驗信息。
[0150]本實施例客戶端800的各功能模塊實現(xiàn)各自功能的具體過程,請參見上述圖1至圖6所示實施例中描述的具體內(nèi)容,此處不再贅述。
[0151]本發(fā)明實施例提供的下載數(shù)據(jù)的客戶端,通過在校驗出下載完成的文件分片與待下載的文件分片不一致時,根據(jù)備用真實源服務(wù)器的IP地址向備用真實源服務(wù)器請求下載與待下載的文件分片相同的文件分片,由于備用真實源服務(wù)器中的數(shù)據(jù)由原始運營資源發(fā)布者主動構(gòu)造,并且是通過IP地址訪問,因此可確保下載資源的正確性,從而可有效提高數(shù)據(jù)下載的成功率。
[0152]第八實施例
[0153]圖9為本發(fā)明第八實施例提供的客戶端的結(jié)構(gòu)示意圖。本實施例提供的客戶端可以用于實現(xiàn)第四實施例中的下載數(shù)據(jù)的方法。如圖9所示,客戶端900包括:下載模塊901、校驗?zāi)K902。
[0154]其中下載模塊901用于分別從資源下載服務(wù)器以及對等客戶端下載待下載的文件分片。
[0155]校驗?zāi)K902用于從資源索引服務(wù)器上查詢當前下載完成的文件分片的文件校驗信息,對所述下載完成的文件分片進行校驗。
[0156]下載模塊901還用于若校驗出所述下載完成的文件分片與所述待下載的文件分片不一致,則將所述文件校驗信息、所述待下載的文件分片對應(yīng)的資源下載服務(wù)器的下載資源URL列表及IP地址上報給所述統(tǒng)計服務(wù)器,或?qū)⑺鰧Φ瓤蛻舳说纳矸輼俗R上報給所述統(tǒng)計服務(wù)器。
[0157]本實施例客戶端900的各功能模塊實現(xiàn)各自功能的具體過程,請參見上述圖1至圖6所示實施例中描述的具體內(nèi)容,此處不再贅述。
[0158]本發(fā)明實施例提供的下載數(shù)據(jù)的客戶端,通過在校驗出下載完成的文件分片與待下載的文件分片不一致時,將文件校驗信息、待下載的文件分片的來源信息經(jīng)由統(tǒng)計服務(wù)器上報給資源入庫服務(wù)器,資源入庫服務(wù)器同步更新資源索引數(shù)據(jù)庫數(shù)據(jù),屏蔽錯誤的下載資源URL,從而可有效防止其他客戶端從錯誤的下載資源URL下載到錯誤的文件分片,提高數(shù)據(jù)下載的成功率。
[0159]第九實施例
[0160]圖10為本發(fā)明第九實施例提供的客戶端的結(jié)構(gòu)示意圖。本實施例提供的客戶端可以用于實現(xiàn)第五實施例中的下載數(shù)據(jù)的方法。如圖10所示,客戶端1000包括:下載模塊1010、校驗?zāi)K1020、校驗信息生成模塊1030、以及上報模塊1040。
[0161]其中下載模塊101用于分別從資源下載服務(wù)器以及對等客戶端下載待下載的文件分片。
[0162]校驗?zāi)K1020用于從資源索引服務(wù)器上查詢當前下載完成的文件分片的文件校驗信息,對所述下載完成的文件分片進行校驗。
[0163]下載模塊1010還用于若校驗出所述下載完成的文件分片與所述待下載的文件分片不一致,則將所述文件校驗信息、所述待下載的文件分片對應(yīng)的資源下載服務(wù)器的下載資源URL列表及IP地址上報給所述統(tǒng)計服務(wù)器,或?qū)⑺鰧Φ瓤蛻舳说纳矸輼俗R上報給所述統(tǒng)計服務(wù)器。
[0164]校驗信息生成模塊1030用于若所述客戶端在所述資源索引服務(wù)器上未查詢到當前下載完成的文件分片的文件校驗信息,則根據(jù)預(yù)置規(guī)則,生成與當前下載完成的文件分片所對應(yīng)的文件校驗信息。
[0165]上報模塊1040用于將生成的文件校驗信息以及所述當前下載完成的文件分片的標識信息上報給資源入庫服務(wù)器,以使所述資源入庫服務(wù)器將所述生成的文件校驗信息以及所述當前下載完成的文件分片的標識信息寫入資源索引數(shù)據(jù)庫。
[0166]本實施例客戶端1000的各功能模塊實現(xiàn)各自功能的具體過程,請參見上述圖1至圖6所示實施例中描述的具體內(nèi)容,此處不再贅述。
[0167]本發(fā)明實施例提供的下載數(shù)據(jù)的客戶端,通過在沒有從資源索引服務(wù)器上查詢到當前下載完成的文件分片的文件校驗信息時,根據(jù)預(yù)置規(guī)則生成當前下載完成的文件分片的文件校驗信息并上報給資源入庫服務(wù)器,然后由資源入庫服務(wù)器經(jīng)驗證后寫入資源索引數(shù)據(jù)庫,可以確保資源索引數(shù)據(jù)庫中文件校驗信息的正確性,防止因文件校驗信息的錯誤而導致的數(shù)據(jù)下載失敗,進而提高數(shù)據(jù)下載的成功率。
[0168]第十實施例
[0169]請再參閱圖1,圖1所示為本發(fā)明第一實施例提供的下載數(shù)據(jù)的方法的應(yīng)用環(huán)境圖,也可以作為本發(fā)明第十實施例提供的下載數(shù)據(jù)的系統(tǒng)的結(jié)構(gòu)示意圖。如圖1所示,本發(fā)明第六實施例提供的下載數(shù)據(jù)的系統(tǒng)10包括:客戶端101、通過無線或有線網(wǎng)絡(luò)與客戶端101相互通信的資源下載服務(wù)器102、備用真實源服務(wù)器103、資源索引服務(wù)器104、跟蹤服務(wù)器105、以及對等客戶端106。
[0170]客戶端101通過原始URL (Uniform Resource Locator,統(tǒng)一資源定位符)作為入口向資源索引服務(wù)器104查詢存儲有下載資源的資源下載服務(wù)器的下載資源URL列表、備用真實源服務(wù)器103的IP地址、以及向跟蹤服務(wù)器105查詢對等客戶端列表。
[0171]資源索引服務(wù)器104根據(jù)客戶端101的查詢請求,將資源下載服務(wù)器的下載資源URL列表及下載資源的文件校驗信息發(fā)送給客戶端101。
[0172]跟蹤服務(wù)器105根據(jù)客戶端101的查詢請求,將對等客戶端列表發(fā)送給客戶端101。
[0173]客戶端101根據(jù)查詢到的資源下載服務(wù)器的下載資源URL列表及對等客戶端列表,從資源下載服務(wù)器102以及對等客戶端106下載待下載的文件分片,根據(jù)由資源索引服務(wù)器104上獲取的文件校驗信息,對下載完成的文件分片進行校驗,若校驗出下載完成的文件分片與待下載的文件分片不一致,則根據(jù)備用真實源服務(wù)器103的IP地址向備用真實源服務(wù)器103請求下載與待下載的文件分片相同的文件分片。
[0174]備用真實源服務(wù)器103根據(jù)客戶端101的請求,將客戶端101請求的文件分片發(fā)送給客戶端101。
[0175]本發(fā)明實施例提供的下載數(shù)據(jù)的系統(tǒng),通過客戶端在校驗出下載完成的文件分片與待下載的文件分片不一致時,根據(jù)備用真實源服務(wù)器的IP地址向備用真實源服務(wù)器請求下載與待下載的文件分片相同的文件分片,由于備用真實源服務(wù)器中的數(shù)據(jù)由原始運營資源發(fā)布者主動構(gòu)造,并且是通過IP地址訪問,因此可確保下載資源的正確性,從而可有效提聞數(shù)據(jù)下載的成功率。
[0176]第H^一實施例
[0177]請參閱圖3,所示為本發(fā)明第二實施例提供的下載數(shù)據(jù)的方法的應(yīng)用環(huán)境圖,也可以作為本發(fā)明第十一實施例提供的下載數(shù)據(jù)的系統(tǒng)的結(jié)構(gòu)示意圖。如圖3所示,與圖1不同的是,本實施例提供的系統(tǒng)20除了資源下載服務(wù)器102、備用真實源服務(wù)器103、資源索引服務(wù)器104、跟蹤服務(wù)器105、以及對等客戶端106之外,還包括資源發(fā)布服務(wù)器201、資源入庫服務(wù)器202、統(tǒng)計服務(wù)器203、資源索引數(shù)據(jù)庫204、下載驗證服務(wù)器205。
[0178]資源發(fā)布服務(wù)器201首先按照預(yù)設(shè)分割策略將下載資源分割為多個文件分片,然后將下載資源發(fā)布到資源下載服務(wù)器102與備用真實源服務(wù)器103,并在發(fā)布完成后將下載資源的原始URL(Uniform Resource Locator,統(tǒng)一資源定位符)、資源下載服務(wù)器102的下載資源URL列表、備用真實源服務(wù)器103的IPdnternet Protocol,網(wǎng)絡(luò)協(xié)議)地址發(fā)送給資源入庫服務(wù)器202。上述資源下載服務(wù)器102的下載資源URL列表中包含下載資源的多個文件分片在不同資源下載服務(wù)器中的URL。資源下載服務(wù)器102可以包括ISPdnternetService Provider,互聯(lián)網(wǎng)服務(wù)提供商)緩存服務(wù)器與 Q)N (Content Delivery Network,內(nèi)容分發(fā)網(wǎng)絡(luò))緩存服務(wù)器。由于CDN緩存服務(wù)器比ISP緩存服務(wù)器出錯率更低、服務(wù)質(zhì)量與安全性更高,優(yōu)選地,資源發(fā)布服務(wù)器201將下載資源發(fā)布到CDN緩存服務(wù)器。
[0179]資源入庫服務(wù)器202根據(jù)資源發(fā)布服務(wù)器201發(fā)送的資源下載服務(wù)器102的下載資源URL列表計算每個文件分片的URL的哈希值,并將計算出的每個文件分片的URL的哈希值、每個文件分片的URL的哈希值與每個文件分片的URL的映射關(guān)系、下載資源的原始URL、資源下載服務(wù)器102的下載資源URL列表、備用真實源服務(wù)器103的IP地址存儲于資源索引數(shù)據(jù)庫204,如果資源索引數(shù)據(jù)庫204中已經(jīng)有相關(guān)記錄,則直接覆蓋該相關(guān)記錄。
[0180]統(tǒng)計服務(wù)器203統(tǒng)計客戶端101上報的校驗信息與下載信息,將客戶端101上報的校驗信息上報給資源入庫服務(wù)器202,以便資源入庫服務(wù)器202根據(jù)客戶端101上報的校驗信息更新資源索引數(shù)據(jù)庫204中的數(shù)據(jù),同時為資源入庫服務(wù)器202提高數(shù)據(jù)查詢服務(wù)。
[0181]下載驗證服務(wù)器205用于驗證客戶端101發(fā)送給資源入庫服務(wù)器202的入庫數(shù)據(jù)。
[0182]本發(fā)明實施例提供的下載數(shù)據(jù)的系統(tǒng),通過客戶端在校驗出下載完成的文件分片與待下載的文件分片不一致時,根據(jù)備用真實源服務(wù)器的IP地址向備用真實源服務(wù)器請求下載與待下載的文件分片相同的文件分片,由于備用真實源服務(wù)器中的數(shù)據(jù)由原始運營資源發(fā)布者主動構(gòu)造,并且是通過IP地址訪問,因此可確保下載資源的正確性,從而可有效提聞數(shù)據(jù)下載的成功率。
[0183]第十二實施例
[0184]請參閱圖11,所示為本發(fā)明第十二實施例提供的下載數(shù)據(jù)的系統(tǒng)的結(jié)構(gòu)示意圖。如圖11所示,本實施例提供的下載數(shù)據(jù)的系統(tǒng)1100包括:客戶端1110、資源索引服務(wù)器1120、統(tǒng)計服務(wù)器1130、資源下載服務(wù)器1140以及對等客戶端1150。
[0185]本實施例中的下載數(shù)據(jù)的系統(tǒng)中各裝置實現(xiàn)功能的具體過程請參閱圖1至圖6對應(yīng)實施例的方法,以及圖7至圖10對應(yīng)實施例的裝置,此處不再贅述。
[0186]需要說明的是,本說明書中的各個實施例均采用遞進的方式描述,每個實施例重點說明的都是與其他實施例的不同之處,各個實施例之間相同相似的部分互相參見即可。對于裝置類實施例而言,由于其與方法實施例基本相似,所以描述的比較簡單,相關(guān)之處參見方法實施例的部分說明即可。
[0187]需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個實體或者操作與另一個實體或操作區(qū)分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者裝置不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者裝置所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者裝置中還存在另外的相同要素。
[0188]本領(lǐng)域普通技術(shù)人員可以理解實現(xiàn)上述實施例的全部或部分步驟可以通過硬件來完成,也可以通過程序來指令相關(guān)的硬件完成,所述的程序可以存儲于一種計算機可讀存儲介質(zhì)中,上述提到的存儲介質(zhì)可以是只讀存儲器,磁盤或光盤等。
[0189]以上所述,僅是本發(fā)明的較佳實施例而已,并非對本發(fā)明作任何形式上的限制,雖然本發(fā)明已以較佳實施例揭露如上,然而并非用以限定本發(fā)明,任何熟悉本專業(yè)的技術(shù)人員,在不脫離本發(fā)明技術(shù)方案范圍內(nèi),當可利用上述揭示的技術(shù)內(nèi)容做出些許更動或修飾為等同變化的等效實施例,但凡是未脫離本發(fā)明技術(shù)方案內(nèi)容,依據(jù)本發(fā)明的技術(shù)實質(zhì)對以上實施例所作的任何簡單修改、等同變化與修飾,均仍屬于本發(fā)明技術(shù)方案的范圍內(nèi)。
【權(quán)利要求】
1.一種下載數(shù)據(jù)的方法,其特征在于,包括: 客戶端通過原始URL作為入口向資源索引服務(wù)器查詢資源下載服務(wù)器的下載資源URL列表、備用真實源服務(wù)器的IP地址、以及向跟蹤服務(wù)器查詢對等客戶端列表; 所述客戶端根據(jù)所述下載資源URL列表及對等客戶端列表,分別從所述資源下載服務(wù)器以及所述對等客戶端下載待下載的文件分片; 所述客戶端根據(jù)由所述資源索引服務(wù)器上獲取的文件校驗信息,對下載完成的文件分片進行校驗; 若校驗出所述下載完成的文件分片與所述待下載的文件分片不一致,則所述客戶端根據(jù)所述備用真實源服務(wù)器的IP地址向所述備用真實源服務(wù)器請求下載與所述待下載的文件分片相同的文件分片。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述對下載完成的文件分片進行校驗的步驟之后,還包括: 若校驗出所述下載完成的文件分片與所述待下載的文件分片不一致,則通過所述原始URL下載所述待下載的分片; 若通過所述原始URL下載的文件分片與所述待下載的文件分片不一致,則執(zhí)行所述向所述備用真實源服務(wù)器請求下載與所述待下載的文件分片相同的文件分片的步驟。
3.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述方法還包括: 若校驗出所述下載完成的文件分片與所述待下載的文件分片不一致,則將所述文件校驗信息、所述待下載的文件分片對應(yīng)的資源下載服務(wù)器的下載資源URL列表及IP地址上報給所述統(tǒng)計服務(wù)器,或?qū)⑺鰧Φ瓤蛻舳说纳矸輼俗R上報給所述統(tǒng)計服務(wù)器。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述方法還包括: 若在所述資源索引服務(wù)器上未查詢到當前下載完成的文件分片的文件校驗信息,則根據(jù)預(yù)置規(guī)則,生成與當前下載完成的文件分片所對應(yīng)的文件校驗信息; 將生成的文件校驗信息以及所述當前下載完成的文件分片的標識信息上報給資源入庫服務(wù)器,以使所述資源入庫服務(wù)器將所述生成的文件校驗信息以及所述當前下載完成的文件分片的標識信息寫入資源索引數(shù)據(jù)庫。
5.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述向備用真實源服務(wù)器請求下載與所述待下載的文件分片相同的文件分片的步驟之后,還包括: 當與所述待下載的文件分片相同的文件分片下載完成,則將與所述待下載的文件分片相同的文件分片的下載信息上報給所述統(tǒng)計服務(wù)器,所述下載信息包括下載用時、下載速度、下載結(jié)果、文件分片大小和/或安全屬性信息。
6.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)由所述資源索引服務(wù)器上獲取的文件校驗信息,對下載完成的文件分片進行校驗的步驟,包括: 根據(jù)從所述資源索引服務(wù)器上獲取的校驗哈希值,對下載完成的文件分片進行校驗,其中所述校驗哈希值由所述資源入庫服務(wù)器根據(jù)資源發(fā)布服務(wù)器發(fā)送的下載完成的文件分片在資源下載服務(wù)器的下載資源URL列表計算生成,并發(fā)送給所述資源索引服務(wù)器。
7.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述向所述備用真實源服務(wù)器請求下載與所述待下載的文件分片相同的文件分片的步驟中,所述與所述待下載的文件分片相同的文件分片由所述資源發(fā)布服務(wù)器在將下載資源發(fā)送給所述資源下載服務(wù)器的同時,發(fā)送給所述備用真實源服務(wù)器。
8.一種下載數(shù)據(jù)的方法,其特征在于,包括: 客戶端分別從資源下載服務(wù)器以及對等客戶端下載待下載的文件分片; 所述客戶端從資源索引服務(wù)器上查詢當前下載完成的文件分片的文件校驗信息,對所述下載完成的文件分片進行校驗; 若校驗出所述下載完成的文件分片與所述待下載的文件分片不一致,則將所述文件校驗信息、所述待下載的文件分片對應(yīng)的資源下載服務(wù)器的下載資源URL列表及IP地址上報給所述統(tǒng)計服務(wù)器,或?qū)⑺鰧Φ瓤蛻舳说纳矸輼俗R上報給所述統(tǒng)計服務(wù)器。
9.根據(jù)權(quán)利要求8所述的方法,其特征在于,所述方法還包括: 若所述客戶端在所述資源索引服務(wù)器上未查詢到當前下載完成的文件分片的文件校驗信息,則根據(jù)預(yù)置規(guī)則,生成與當前下載完成的文件分片所對應(yīng)的文件校驗信息; 將生成的文件校驗信息以及所述當前下載完成的文件分片的標識信息上報給資源入庫服務(wù)器,以使所述資源入庫服務(wù)器將所述生成的文件校驗信息以及所述當前下載完成的文件分片的標識信息寫入資源索引數(shù)據(jù)庫。
10.一種客戶端,其特征在于,包括: 查詢模塊,用于通過原始URL作為入口向資源索引服務(wù)器查詢資源下載服務(wù)器的下載資源URL列表、備用真實源服務(wù)器的IP地址、以及向跟蹤服務(wù)器查詢對等客戶端列表;下載模塊,用于根據(jù)所述資源下載服務(wù)器的下載資源URL列表及對等客戶端列表,從所述資源下載服務(wù)器以及所述對等客戶端下載待下載的文件分片;以及 校驗?zāi)K,用于根據(jù)由所述資源索引服務(wù)器上獲取的文件校驗信息,對下載完成的文件分片進行校驗; 其中,所述下載模塊,還用于若校驗出所述下載完成的文件分片與所述待下載的文件分片不一致時,根據(jù)所述備用真實源服務(wù)器的IP地址向所述備用真實源服務(wù)器請求下載與所述待下載的文件分片相同的文件分片。
11.根據(jù)權(quán)利要求10所述的客戶端,其特征在于, 所述下載模塊,還用于若所述校驗?zāi)K校驗出所述下載完成的文件分片與所述待下載的文件分片不一致,則通過所述原始URL下載所述待下載的分片;若通過所述原始URL下載的文件分片與所述待下載的文件分片不一致,則向所述備用真實源服務(wù)器請求下載與所述待下載的文件分片相同的文件分片。
12.根據(jù)權(quán)利要求10或11所述的客戶端,其特征在于,所述客戶端還包括: 上報模塊,用于若校驗出所述下載完成的文件分片與所述待下載的文件分片不一致,則將所述文件校驗信息、所述待下載的文件分片對應(yīng)的資源下載服務(wù)器的下載資源URL列表及IP地址上報給所述統(tǒng)計服務(wù)器,或?qū)⑺鰧Φ瓤蛻舳说纳矸輼俗R上報給所述統(tǒng)計服務(wù)器。
13.根據(jù)權(quán)利要求12所述的客戶端,其特征在于, 所述客戶端還包括: 生成模塊,用于若在所述資源索引服務(wù)器上未查詢到當前下載完成的文件分片的文件校驗信息,則根據(jù)預(yù)置規(guī)則,生成所述當前下載完成的文件分片所對應(yīng)的文件校驗信息;所述上報模塊,還用于將生成的文件校驗信息以及所述當前下載完成的文件分片的標識信息上報給資源入庫服務(wù)器,以使所述資源入庫服務(wù)器將所述生成的文件校驗信息以及所述當前下載完成的文件分片的標識信息寫入資源索引數(shù)據(jù)庫。
14.根據(jù)權(quán)利要求13所述的客戶端,其特征在于, 所述上報模塊,還用于當與所述待下載的文件分片相同的文件分片下載完成,則將與所述待下載的文件分片相同的文件分片的下載信息上報給所述統(tǒng)計服務(wù)器,所述下載信息包括下載用時、下載速度、下載結(jié)果、文件分片大小和/或安全屬性信息。
15.根據(jù)權(quán)利要求10所述的客戶端,其特征在于,所述校驗?zāi)K根據(jù)從所述資源索引服務(wù)器上獲取的校驗哈希值,對下載完成的文件分片進行校驗,其中所述校驗哈希值由所述資源入庫服務(wù)器根據(jù)資源發(fā)布服務(wù)器發(fā)送的所述下載完成的文件分片在所述資源下載服務(wù)器的下載資源URL列表計算生成,并發(fā)送給所述資源索引服務(wù)器。
16.根據(jù)權(quán)利要求10或11所述的客戶端,其特征在于,所述下載模塊向所述備用真實源服務(wù)器請求下載與所述待下載的文件分片相同的文件分片,其中所述與所述待下載的文件分片相同的文件分片由所述資源發(fā)布服務(wù)器在將下載資源發(fā)送給所述資源下載服務(wù)器的同時,發(fā)送給所述備用真實源服務(wù)器。
17.一種客戶端,其特征在于,包括: 下載模塊,用于分別從資源下載服務(wù)器以及對等客戶端下載待下載的文件分片; 校驗?zāi)K,用于從資源索引服務(wù)器上查詢當前下載完成的文件分片的文件校驗信息,對所述下載完成的文件分片進行校驗; 其中,下載模塊,還用于若校驗出所述下載完成的文件分片與所述待下載的文件分片不一致,則將所述文件校驗信息、所述待下載的文件分片對應(yīng)的資源下載服務(wù)器的下載資源URL列表及IP地址上報給所述統(tǒng)計服務(wù)器,或?qū)⑺鰧Φ瓤蛻舳说纳矸輼俗R上報給所述統(tǒng)計服務(wù)器。
18.根據(jù)權(quán)利要求17所述的客戶端,其特征在于,還包括: 校驗信息生成模塊,用于若所述客戶端在所述資源索引服務(wù)器上未查詢到當前下載完成的文件分片的文件校驗信息,則根據(jù)預(yù)置規(guī)則,生成與當前下載完成的文件分片所對應(yīng)的文件校驗信息; 上報模塊,用于將生成的文件校驗信息以及所述當前下載完成的文件分片的標識信息上報給資源入庫服務(wù)器,以使所述資源入庫服務(wù)器將所述生成的文件校驗信息以及所述當前下載完成的文件分片的標識信息寫入資源索引數(shù)據(jù)庫。
19.一種下載數(shù)據(jù)的系統(tǒng),其特征在于,所述系統(tǒng)包括: 客戶端、資源索引服務(wù)器、資源下載服務(wù)器、跟蹤服務(wù)器、備用真實源服務(wù)器以及對等客戶端; 其中,所述客戶端,用于通過原始URL作為入口向所述資源索引服務(wù)器查詢所述資源下載服務(wù)器的下載資源URL列表、所述備用真實源服務(wù)器的IP地址、以及向所述跟蹤服務(wù)器查詢對等客戶端列表,根據(jù)所述資源下載服務(wù)器的下載資源URL列表及對等客戶端列表,從所述資源下載服務(wù)器以及所述對等客戶端下載待下載的文件分片,根據(jù)由所述資源索引服務(wù)器上獲取的文件校驗信息,對下載完成的文件分片進行校驗,若校驗出所述下載完成的文件分片與所述待下載的文件分片不一致,則根據(jù)所述備用真實源服務(wù)器的IP地址向所述備用真實源服務(wù)器請求下載與所述待下載的文件分片相同的文件分片; 所述資源索引服務(wù)器,用于根據(jù)所述客戶端的查詢請求,將所述資源下載服務(wù)器的下載資源URL列表、所述備用真實源服務(wù)器的IP地址發(fā)送給所述客戶端; 所述跟蹤服務(wù)器,用于根據(jù)所述客戶端的查詢請求,將對等客戶端列表發(fā)送給所述客戶端,并接收對等客戶端的注冊,將新注冊的對等客戶端加入所述對等客戶端列表; 所述資源下載服務(wù)器、對等客戶端以及所述備用真實源服務(wù)器,用于根據(jù)所述客戶端的請求,將所述客戶端請求的文件分片發(fā)送給所述客戶端。
20.根據(jù)權(quán)利要求19所述的系統(tǒng),其特征在于,所述系統(tǒng)還包括: 統(tǒng)計服務(wù)器,用于接收所述客戶端在校驗出所述下載完成的文件分片與所述待下載的文件分片不一致時,上報的所述校驗信息、所述待下載的文件分片對應(yīng)的資源下載服務(wù)器的下載資源URL列表及IP地址,或?qū)Φ瓤蛻舳说纳矸輼俗R,以及所述客戶端在所述待下載的文件分片相同的文件分片下載完成之后,上報的與所述待下載的文件分片相同的文件分片的下載信息,所述下載信息包括下載用時、下載速度、下載結(jié)果、文件分片大小和/或安全屬性信息。
21.根據(jù)權(quán)利要求19所述的系統(tǒng),其特征在于,所述系統(tǒng)還包括: 資源入庫服務(wù)器,用于將所述客戶端上報的校驗信息以及所述客戶端當前下載完成的文件分片的標識信息寫入資源索引數(shù)據(jù)庫。
22.—種下載數(shù)據(jù)的系統(tǒng),其特征在于,所述系統(tǒng)包括: 客戶端、資源索引服務(wù)器、統(tǒng)計服務(wù)器、資源下載服務(wù)器以及對等客戶端; 其中所述客戶端,用于分別從資源下載服務(wù)器以及對等客戶端下載待下載的文件分片,從資源索引服務(wù)器上查詢當前下載完成的文件分片的文件校驗信息,對所述下載完成的文件分片進行校驗,并當校驗出所述下載完成的文件分片與所述待下載的文件分片不一致時,將所述文件校驗信息、所述待下載的文件分片對應(yīng)的資源下載服務(wù)器的下載資源URL列表及IP地址上報給所述統(tǒng)計服務(wù)器,或?qū)⑺鰧Φ瓤蛻舳说纳矸輼俗R上報給所述統(tǒng)計服務(wù)器; 所述資源索引服務(wù)器,用于根據(jù)所述客戶端的查詢請求,將所述待下載的文件分片的校驗信息發(fā)送給所述客戶端; 所述統(tǒng)計服務(wù)器,用于接收所述客戶端在校驗出所述下載完成的文件分片與所述待下載的文件分片不一致時,上報的所述校驗信息、所述待下載的文件分片對應(yīng)的資源下載服務(wù)器的下載資源URL列表及IP地址,或?qū)Φ瓤蛻舳说纳矸輼俗R; 所述資源下載服務(wù)器以及對等客戶端,用于根據(jù)所述客戶端的請求,將所述客戶端請求的文件分片發(fā)送給所述客戶端。
【文檔編號】H04L29/08GK104283933SQ201310293521
【公開日】2015年1月14日 申請日期:2013年7月12日 優(yōu)先權(quán)日:2013年7月12日
【發(fā)明者】劉剛 申請人:騰訊科技(深圳)有限公司