專利名稱:文件并行下載方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種文件的并行下載,尤其是一種如果將指定文件劃分為多個塊,并且所述劃分的塊被單獨保存在多個客戶機(節(jié)點或計算機)或服務(wù)器中,則從所述多個客 戶機或服務(wù)器執(zhí)行所述塊的并行下載。
背景技術(shù):
目前,通過互聯(lián)網(wǎng)以及包括移動通信網(wǎng)絡(luò)等的各種通信網(wǎng)絡(luò),已經(jīng)以各種方法執(zhí) 行文件傳輸。文件的并行下載(parallel download)是這樣一種方法如果需要下載到客戶機 的文件存在于服務(wù)器或用作通過通信網(wǎng)絡(luò)連接的節(jié)點的其他客戶機,則將文件劃分為多個 塊,并同時請求從所述多個服務(wù)器或客戶機下載塊,以縮短文件下載時間。隨著文件下載時間的縮短連同通信網(wǎng)絡(luò)的發(fā)展,已經(jīng)在對等(P2P)、網(wǎng)格計算等廣 泛使用這樣的文件并行下載方法。作為用于選擇和下載塊以執(zhí)行文件的并行下載的現(xiàn)有技術(shù)方法,主要使用順序選 擇(Sequential Selection)、隨機選擇(Random Selection)及頻率最低優(yōu)先選擇(Rarest First Selection)等方法。順序選擇方法是順序地選擇構(gòu)成文件的塊,并且請求從具有塊的節(jié)點下載塊的方法。在順序選擇方法中,如果假設(shè)多個節(jié)點下載同一文件,則在通信網(wǎng)絡(luò)上,文件后端 被復(fù)制的塊的數(shù)量少于前端被復(fù)制的塊的數(shù)量,直至所有節(jié)點完成下載。因此,難于下載在 文件后端的塊。隨機選擇方法是用于隨機選擇構(gòu)成文件的多個塊中的一個,并且請求從具有塊的 節(jié)點下載塊的方法。在隨機選擇方法中,如果假設(shè)下載同一文件的所有節(jié)點的活動率相同,則被復(fù)制 的各塊的數(shù)量將相同。但是,在如P2P網(wǎng)絡(luò)的自組織網(wǎng)絡(luò)(ad-hoc network)中,各節(jié)點的活動率各不相 同并且相互獨立。因此,隨機選擇方法無法確保被下載文件的各塊被復(fù)制的次數(shù)相同。頻率最低優(yōu)先選擇方法是用于計算屬于通過通信網(wǎng)絡(luò)連接的節(jié)點所具有的各塊 的數(shù)量以下載文件,并請求下載復(fù)制次數(shù)最低的塊的方法。頻率最低優(yōu)先選擇方法具有確保統(tǒng)一地保持被下載的塊的數(shù)量的優(yōu)點,但是,具 有塊的節(jié)點的活動率彼此不同,因此難以統(tǒng)一保持訪問具有構(gòu)成文件的各塊的節(jié)點的概率。
發(fā)明內(nèi)容
因此,本發(fā)明的目的在于提供一種文件并行下載中的塊選擇方法、一種用于使用 所述塊選擇方法的文件并行下載方法以及一種記錄實現(xiàn)該方法的程序的記錄介質(zhì)。所述塊選擇方法不考慮文件和構(gòu)成文件的塊的位置而提高各塊的訪問概率。此外,本發(fā)明的另一目的在于提供一種文件并行下載中的塊選擇方法、一種用于 使用所述塊選擇方法的文件并行下載方法以及一種記錄實現(xiàn)該方法的程序的記錄介質(zhì)。所 述塊選擇方法通過不考慮塊的位置而提高構(gòu)成文件的各塊的訪問概率,使得能夠更準(zhǔn)確、 迅速地執(zhí)行文件的下載。為實現(xiàn)這些目的,本發(fā)明提供一種文件并行下載方法,所述方法將文件下載到由 多個節(jié)點構(gòu)成的文件并行下載系統(tǒng)中的任一節(jié)點,包括獲取關(guān)于與所述系統(tǒng)連接的所述 多個節(jié)點的塊可用性的信息;如果所述多個節(jié)點中的任一節(jié)點請求下載文件,則將在構(gòu)成 所述文件的各塊中的塊可用性值最小的塊優(yōu)先下載至所述任一節(jié)點。優(yōu)選地,所述關(guān)于塊可用性的信息包括如下信息中的至少一種有關(guān)文件的哪個 塊屬于所述多個節(jié)點當(dāng)中的哪個節(jié)點的信息;有關(guān)所述多個節(jié)點中的各節(jié)點的活動率的信 息;和有關(guān)計算出的構(gòu)成所述文件的各塊的可用性值的信息以及有關(guān)塊可用性值最小的塊 的信息。優(yōu)選地,基于所述節(jié)點活動率獲取所述塊可用性值 。優(yōu)選地,通過如下[算式1]計算所述節(jié)點活動率(activc)[算式1]活動率(j)=節(jié)點j實際活動時間/測量時間段其中,活動率(j)表示節(jié)點j的活動率。優(yōu)選地,通過如下[算式2]計算所述塊可用性值[算式2]可用性塊(f,i)= 1-Π (I-活動率(j)),(j e源(f,i))其中,源(f,i)表示具有文件f的塊i的節(jié)點的集合,而可用性(f, i)表示作為 文件f的片段的塊i的可用性。優(yōu)選地,由作為網(wǎng)絡(luò)實體的分工服務(wù)器獲得所述關(guān)于塊可用性的信息。為實現(xiàn)這些目的,本發(fā)明提供一種塊選擇方法,所述方法在多個節(jié)點構(gòu)成的文件 并行下載系統(tǒng)中由任一節(jié)點選擇構(gòu)成文件的塊以下載所述文件,包括(a)通過使用具有 構(gòu)成所述文件的塊的各節(jié)點的節(jié)點活動率,計算所述各塊的可用性值;和(b)選擇計算的 可用性值當(dāng)中具有最小可用性值的塊。優(yōu)選地,在所述任一節(jié)點向所述各節(jié)點發(fā)送所述文件搜索消息,并從所述各節(jié)點 接收包括節(jié)點信息、有關(guān)節(jié)點活動率的信息及保存于各節(jié)點的文件的塊信息的響應(yīng)消息之 后執(zhí)行所述步驟(a)。優(yōu)選地,所述步驟(b)還包括確定在所述計算的可用性值當(dāng)中具有最小可用性 值的塊的個數(shù)是否超過一個,其中,在具有所述最小可用性值的塊的個數(shù)超過一個時,選擇 具有所述最小可用性值的塊中的一個。優(yōu)選地,所述選擇具有所述最小可用性值的塊中的一個的步驟包括確定具有所 述最小可用性值的塊的節(jié)點活動與否,并且選擇活動節(jié)點的塊。根據(jù)本發(fā)明的另一方面,提供一種記錄用于實現(xiàn)文件并行下載方法的程序的記錄 介質(zhì)。根據(jù)本發(fā)明的優(yōu)選實施例,提供一種記錄實現(xiàn)文件并行下載方法的程序的記錄介質(zhì),通常實現(xiàn)可由數(shù)字處理裝置執(zhí)行的命令程序,并且記錄可被所述數(shù)字處理裝置讀取的 程序,以實現(xiàn)在由多個節(jié)點構(gòu)成的文件并行下載系統(tǒng)中任意節(jié)點下載文件的方法,所述并 行下載方法包括(A)通過使用具有構(gòu)成所述文件的塊的各節(jié)點的節(jié)點活動率,計算所述 各塊的可用性值;(B)選擇具有所述計算的可用性值中的最小可用性值的塊;和(C)從具有 選擇的塊的節(jié)點下載選擇的塊??梢栽趯⑽募阉飨l(fā)送給各節(jié)點,并且向所述各節(jié)點發(fā)送所述文件搜索消 息,并從所述各節(jié)點接收包括節(jié)點信息、有關(guān)節(jié)點活動率的信息及保存于各節(jié)點的文件的 塊信息的響應(yīng)消息之后執(zhí)行步驟(A)。在所述步驟中(A),可以通過如下[算式1]計算所述節(jié)點活動率[算式1]活動率(j)=節(jié)點j實際活動時間/測量時間段其中,活動率(j)表示節(jié)點j的活動率。在所述步驟(A)中,通過如下[算式2]計算塊可用性值[算式2]可用性塊(f,i)= 1-Π (I-活動率(j)),(j e源(f,i))其中,源(f,i)表示具有文件f的塊i的節(jié)點的集合,而可用性(f, i)表示作為 文件f的片段的塊i的可用性。所述步驟(B)還包括確定在所述計算的可用性值當(dāng)中具有最小可用性值的塊的 個數(shù)是否超過一個,其中,在具有所述最小可用性值的塊的個數(shù)超過一個時,選擇具有所述 最小可用性值的塊中的一個。另外,所述選擇具有所述最小可用性值的塊中的一個的步驟包括確定具有所述 最小可用性值的塊的節(jié)點活動與否,并且選擇活動節(jié)點的塊。效果本發(fā)明的文件并行下載方法及記錄實現(xiàn)所述方法的程序的記錄介質(zhì)具有不考慮 文件和構(gòu)成文件的塊的位置而提高對各塊的訪問概率的效果。另外,通過不論塊的位置而提高對構(gòu)成文件的各塊的訪問概率來更準(zhǔn)確、迅速地 執(zhí)行文件下載。本發(fā)明通過使用節(jié)點的活動率及使用所述活動率的文件/塊的可用性信息,從塊 可用性較低的塊進行下載,從而更加迅速地完成文件的下載。另外,通過優(yōu)先下載構(gòu)成相應(yīng)文件的塊,提高全局文件可用性,即訪問相應(yīng)文件的 概率。
圖1是根據(jù)本發(fā)明一實施例的文件并行下載系統(tǒng)的示意圖;圖2是示出根據(jù)本發(fā)明一實施例的文件并行下載的信號流程圖;圖3是示出根據(jù)本發(fā)明一實施例的文件并行下載系統(tǒng)的示圖;圖4是文件并行下載系統(tǒng)的第一示例性示圖,其示出用于實現(xiàn)根據(jù)本發(fā)明一實施例的塊選擇方法的塊可用性和文件可用性計算的一個示例;圖5是文件并行下載系統(tǒng)的第二示例性示圖,其示出用于實現(xiàn)根據(jù)本發(fā)明一實施例的塊選擇方法的塊可用性和文件可用性計算的另一示例;圖6是示出根據(jù)本發(fā)明一實施例實現(xiàn)文件并行下載方法的次序的流程圖。
具體實施例方式可對本發(fā)明進行各種改變,而且可具有各種實施例,將詳細參照本發(fā)明的優(yōu)選實施例,在附圖中示出所述實施例。但是,應(yīng)當(dāng)理解,實施例不限于上述描述的任何細節(jié),而是 應(yīng)當(dāng)在其精神和范圍內(nèi)廣義地解釋實施例,并且只要對本發(fā)明的修改和變形落在所附權(quán)利 要求及其等同物的范圍內(nèi),那么本發(fā)明覆蓋對其做出的修改和變形。為了參照附圖解釋本發(fā)明,將用相同的標(biāo)號表示執(zhí)行相同功能的部件。將省略對被認為混淆本發(fā)明的構(gòu)思的公知技術(shù)以及對所述公知技術(shù)的配置的詳細描述。雖然包括第一及第二等一般標(biāo)號的術(shù)語將用于說明各種部件,但所述部件不受這些術(shù)語的限制。所述術(shù)語只是用于從其他元素中區(qū)分特定部件。例如,在不脫離本發(fā)明范圍的前提下,可將第一部件稱作第二部件的名稱,而與此 相同,第二部件可用作第一部件。術(shù)語“和/或”可用于包括多個公開的項目的組合或其項目中的一個項目。如果提及特定部件與其他部件“連接”或“訪問,,其他部件,則可理解為所述特定 部件與其他部件直接連接或訪問其他部件,或可理解為所述特定部件位于這些部件之間。相反地,如果提及特定部件“直接連接”或“直接訪問,,其他部件,則應(yīng)理解為,這 些部件之間不存在部件。用于本發(fā)明的術(shù)語,只是用于說明具體實施例,而非限制本發(fā)明。單數(shù)描述除兩種描述在語境上相互不同的情況之外,包括復(fù)數(shù)描述。在本說明書 中,術(shù)語“包括”或“具有”指示說明書中公開的特征、附圖、步驟、操作、部件、元素或它們的 組合。但是,應(yīng)理解為術(shù)語“包括”或“具有”不事先排除一個或以上的特征、特性、步驟、操 作、元素、部件或它們的組合或另外的可能性。包括技術(shù)或科學(xué)術(shù)語在內(nèi)的用于本發(fā)明的所有術(shù)語,除這些被定義為其他含義的 情況之外,具有與本發(fā)明所屬技術(shù)領(lǐng)域的技術(shù)人員的一般理解相同的含義。應(yīng)當(dāng)將與定義于一般詞典的術(shù)語相同的術(shù)語理解為這些術(shù)語具有與相關(guān)技術(shù)的 語境相同的含義。除這些術(shù)語在本發(fā)明中具體被定義的之外,這些術(shù)語將不會被解釋為理 想的或過于正式的含義。下面,將說明用于說明本發(fā)明的前提思想及技術(shù)術(shù)語。本發(fā)明的優(yōu)選實施例基于分布式系統(tǒng),其由多個節(jié)點構(gòu)成并且文件以塊為單位保 存于在各節(jié)點中。但是,本發(fā)明的技術(shù)特征不受限于分布式系統(tǒng)。在根據(jù)本發(fā)明的執(zhí)行文件的并行下載的方法中,不是以文件單位執(zhí)行并行下載, 而是以特定文件由多個塊構(gòu)成為前提,以塊為單位進行并行下載。下面,對用于本發(fā)明的術(shù)語進行說明。1) “節(jié)點活動率(或節(jié)點活躍率),,是指特定時間段(測量時間段)內(nèi)特定節(jié)點 實際活動的時間。可通過如[算式1]所示的算式計算節(jié)點的活動率(或節(jié)點活躍率)[算式1]活動率(j)=節(jié)點j實際活動時間/測量時間段
在[算式1]中,活動率(j)指示節(jié)點j的活動率,而測量時間段為預(yù)設(shè)的時間。同時,各節(jié)點可計算自身的活動率。另外,網(wǎng)絡(luò)的實體(所稱分工服務(wù)器)也可計 算各節(jié)點的活動率。2) “可用性(availability)”是指在由多個節(jié)點構(gòu)成的分布式系統(tǒng)中,訪問用于 下載的文件或塊的概率。將所述可用性分為“文件可用性”和“塊可用性”。2-1)首先,“塊可用性(block availability)”是指在分布式系統(tǒng)中全局范圍內(nèi) 訪問構(gòu)成文件的塊的概率。在此,術(shù)語“全局”是指在分布式系統(tǒng)中保存相應(yīng)塊的全部節(jié)點 可訪問的范圍??赏ㄟ^如[算式2]中所示的算式計算塊的可用性[算式2]可用性塊(f,i)= 1-Π (I-活動率(j)),(j e源(f,i))在[算式2]中,源(f,i)表示具有文件f的塊i的節(jié)點的集合,而可用性tt(f,i) 表示作為文件f片段的塊i的可用性。由于塊可用性取決于能夠上傳塊的節(jié)點的活動,因此可使用能夠上傳塊的節(jié)點的 活動率的倍數(shù)來計算塊可用性。2-2) “文件可用性(file availability) ”是指在分布式系統(tǒng)中全局范圍內(nèi)訪問 文件的概率。在此,術(shù)語“全局”是指在分布式系統(tǒng)中保存相應(yīng)文件的全部節(jié)點可訪問的范 圍??赏ㄟ^如[算式3]中所示的算式計算由塊構(gòu)成的文件的可用性[算式3]可用性文件(f) = Min {可用性塊(f,k)},(k 整數(shù),0 < k < m+1)在[算式3]中,可用性μ (f)表示當(dāng)文件f被劃分為m個塊時,文件f的可用性。由于如果在正在下載的文件中即使有一個塊下載失敗,則不能完成文件的下載, 因此,可以將文件可用性定義為構(gòu)成文件的塊的可用性中的最小值。3)在本發(fā)明中,“節(jié)點(node) ”是廣義地表示保存構(gòu)成文件(由多個塊構(gòu)成)的 多個塊中的一部分的裝置的網(wǎng)絡(luò)實體。節(jié)點也可稱為客戶機。例如,可以將節(jié)點實現(xiàn)為用 戶個人計算機(PC)以及如移動電話、個人數(shù)字助理(PDA)等的無線終端,還有作為向另一 終端提供服務(wù)的計算裝置的服務(wù)器。4)在本發(fā)明中,“分工服務(wù)器(broker) ”為網(wǎng)絡(luò)實體,管理有關(guān)文件的哪個塊屬于 所述節(jié)點(或客戶機)的信息,而且還管理各節(jié)點的活動率計算以及關(guān)于節(jié)點活動率的信 息。另外,分工服務(wù)器使用關(guān)于節(jié)點占用的塊的信息和各節(jié)點的活動率信息,計算塊可用 性。5)在本發(fā)明中,“文件服務(wù)器”是提供用戶期望下載的文件的服務(wù)器。下面,基于上述的技術(shù)術(shù)語,對本發(fā)明基本構(gòu)思及具體實施例進行詳細說明。本發(fā)明的基本構(gòu)思為(1)如果將被下載的文件由多個塊構(gòu)成并且所述多個塊保存于多個節(jié)點中,⑵則通過使用各節(jié)點的活動率及塊可用性信息,⑶從塊可用性較低的 塊開始下載,從而更加迅速地完成文件的下載。(4)結(jié)果,通過優(yōu)先下載構(gòu)成相應(yīng)文件(用 戶期望下載的文件對象)的塊,從而提高文件的可用性,即可訪問相應(yīng)文件的概率。下面,對本發(fā)明優(yōu)選實施例進行詳細說明,在附圖中示出所述優(yōu)選實施例的示例。只要可能,在附圖中將使用相同標(biāo)號表示相同或相似的部件,在此省略對其進行的詳細說 明。圖1為根據(jù)本發(fā)明一實施例的文件并行下載系統(tǒng)的示意圖。如圖1所示,多個節(jié)點(圖1中的客戶機)、分工服務(wù)器(作為網(wǎng)絡(luò)實體的服務(wù)器)200及文件服務(wù)器300通過通信網(wǎng)絡(luò)110連接。已經(jīng)描述了如圖1中的節(jié)點100、分工服務(wù)器200及文件服務(wù)器300等部件的功能。圖1中的通信網(wǎng)絡(luò)110可包括因特網(wǎng)及移動通信網(wǎng)絡(luò)。此外,因特網(wǎng)可包括TCP/ IP協(xié)議及在其上層存在的提供各種服務(wù)的世界開放系統(tǒng)網(wǎng)絡(luò)構(gòu)架,如超文本傳輸協(xié)議 (HTTP)、Telnet、文件傳輸協(xié)議(FTP)、域名系統(tǒng)(DNS)、簡單郵件傳輸協(xié)議(SMTP)、簡單網(wǎng) 絡(luò)管理協(xié)議(SNMP)、網(wǎng)絡(luò)文件服務(wù)(NFS)等。移動通信網(wǎng)絡(luò)可以除包括基站(BS)、移動電 話交換局(MTSO)、歸屬位置寄存器(HLR)以外,還包括能夠發(fā)送/接收無線分組數(shù)據(jù)的部 件,如接入網(wǎng)關(guān)(AG)、分組數(shù)據(jù)服務(wù)節(jié)點(PDSN,Packet Data Serving Node)等。參照圖1,如果例如節(jié)點1(客戶機1)與通信網(wǎng)絡(luò)的文件服務(wù)器300連接以下載 特定文件,則分工服務(wù)器200向節(jié)點1提供文件的塊信息,所述塊信息指示哪些節(jié)點(客戶 機)和/或哪些服務(wù)器(未示出)保存有構(gòu)成所述特定文件的多個塊的哪些塊。分工服務(wù) 器200提供有關(guān)各節(jié)點(即客戶機2 4)的活動率的信息。同時,分工服務(wù)器200可使用 各節(jié)點的活動率計算塊可用性,并將計算出的塊可用性提供給節(jié)點1?;蛘?,節(jié)點1可使用 分工服務(wù)器200提供的屬于各節(jié)點的塊信息和各節(jié)點的活動率信息來直接計算塊可用性。 這可減少網(wǎng)絡(luò)的工作負荷。下面,結(jié)合圖2的信號流程圖對圖1所提出的構(gòu)思進行說明。圖2為示出根據(jù)本發(fā)明一實施例的文件并行下載的信號流程圖。這里,圖2示出 這樣一個實施例如果用戶想要通過與網(wǎng)絡(luò)連接下載特定文件,則網(wǎng)絡(luò)提供構(gòu)成文件的各 塊的可用性信息和關(guān)于節(jié)點活動率的信息。在此,網(wǎng)絡(luò)大體上是包括圖1所示的通信網(wǎng)絡(luò) 110、分工服務(wù)器200及文件服務(wù)器300的實體。簡短地講,圖2示出用于將文件下載到由多個節(jié)點構(gòu)成的文件并行下載系統(tǒng)中的 特定節(jié)點1(即圖2中的節(jié)點1)的方法。具體地講,從網(wǎng)絡(luò)的角度,網(wǎng)絡(luò)涉及獲得關(guān)于連接 到網(wǎng)絡(luò)的多個節(jié)點的塊可用性的信息;并且,如果所述節(jié)點當(dāng)中的節(jié)點1(即圖2中的節(jié)點 1)請求文件下載,則將構(gòu)成文件的多個塊中塊可用性最小的塊優(yōu)先下載到節(jié)點1(即圖2中 的節(jié)點1)。下面,結(jié)合圖2進行詳細的說明。網(wǎng)絡(luò)(即分工服務(wù)器)通過與節(jié)點之間的相互 通信,識別構(gòu)成每個文件的多個塊的哪些塊被保存在所述節(jié)點中,并且管理屬于各節(jié)點的 文件的塊信息。另外,網(wǎng)絡(luò)(即分工服務(wù)器)監(jiān)控各節(jié)點的工作狀態(tài),并使用[算式1]計 算各節(jié)點的活動率,而且管理關(guān)于各節(jié)點的活動率的信息(Si)。節(jié)點1向網(wǎng)絡(luò)發(fā)送下載請求消息以下載特定文件(S2)。在接收到所述下載請求 消息之后,網(wǎng)絡(luò)向節(jié)點1提供分工服務(wù)器200管理的信息(S3)。所述分工服務(wù)器200管理 的信息包括關(guān)于所述特定文件的哪些塊保存于哪個節(jié)點的信息(為便于說明,稱之為“第 一信息”)以及關(guān)于節(jié)點活動率的信息(為便于說明,稱之為“第二信息”)。在步驟S3中, 網(wǎng)絡(luò)(即分工服務(wù)器)可提供關(guān)于所述文件的塊的“塊可用性”的信息。如上所述,可以通過基于各節(jié)點的活動率、使用[算式2]計算“塊可用性”。另外,網(wǎng)絡(luò)(即分工服務(wù)器)從 所述網(wǎng)絡(luò)計算出的“塊可用性”的每個值,按照在屬于節(jié)點的塊當(dāng)中從塊可用性最小至最大 將所述值依次提供給節(jié)點1。因此,網(wǎng)絡(luò)可使節(jié)點1從具有最小塊可用性的塊的節(jié)點優(yōu)先下 載。同時,如果存在兩個或更多具有“塊可用性”最小的塊的節(jié)點,則網(wǎng)絡(luò)可以指導(dǎo)(命令) 節(jié)點1與所述兩個節(jié)點中當(dāng)前在運行中的節(jié)點連接。同時,步驟S3可以是可選的步驟?;蛘?,網(wǎng)絡(luò)可以將所述第一信息和/或第二信息提供給節(jié)點1,從而節(jié)點1使用所述信息計算塊可用性并且與具有塊可用性最小的相應(yīng) 塊的節(jié)點連接以下載所述塊。另外,可在S2步驟之后執(zhí)行步驟Si。下面,結(jié)合圖3至圖6對本發(fā)明其他示例性實施例進行詳細說明。為便于說明,從期望下載文件的特定節(jié)點(即圖3中的節(jié)點1)的角度描述圖3至圖6。但是,從將可用性 值最小的塊優(yōu)先提供(即下載)給特定節(jié)點的網(wǎng)絡(luò)的角度能夠同樣應(yīng)用于圖3至圖6中的 示例性實施例。圖3是示出根據(jù)本發(fā)明一實施例的能夠執(zhí)行文件并行下載的系統(tǒng)的文件并行下 載示例性系統(tǒng)的示圖。與圖1相比較不同的是,在圖3的實施例中,各節(jié)點100計算自身的
活動率。如圖3所示,本發(fā)明優(yōu)選實施例的文件并行下載系統(tǒng)可包括如節(jié)點1100a、節(jié)點 2100b、節(jié)點3100c、· · ·、節(jié)點NlOOn等的多個節(jié)點。可以實現(xiàn)節(jié)點100為連接至通信網(wǎng)絡(luò)110的計算機,并且節(jié)點100可以是具備與 其他節(jié)點100連接的通信功能并連接到通信網(wǎng)絡(luò)110的任何類型的裝置。例如,可以將節(jié)點100實現(xiàn)為個人計算機(PC)和諸如便攜式終端、個人數(shù)字助理 (PDA)等的無線終端,也可以實現(xiàn)為作為向其他終端提供服務(wù)的計算裝置的服務(wù)器等。這里,為便于說明,假設(shè)節(jié)點IOOa表示請求文件并行下載的節(jié)點1,其他節(jié)點(節(jié) 點2100b、節(jié)點3100c.....節(jié)點NlOOn)表示執(zhí)行文件傳輸?shù)墓?jié)點。各節(jié)點100通過通信網(wǎng)絡(luò)110相連接。為執(zhí)行根據(jù)本發(fā)明的文件并行下載,從處 理單位的角度,可以設(shè)置按照塊為處理單位、而不是文件本身作為處理單位,來執(zhí)行該文件 的并行下載。然后,各節(jié)點100計算其自身的活動率。各節(jié)點100的活動率是指節(jié)點100在預(yù) 設(shè)的測量時間段內(nèi)可以正常傳輸文件的概率??梢酝ㄟ^如[算式1]的算式計算節(jié)點100 的活動率。同時,期望下載文件的節(jié)點IlOOa計算構(gòu)成期望下載的文件的塊的可用性。在此, 可以通過如[算式2]的算式計算所述塊可用性。可以通過如[算式3]的算式計算由塊構(gòu)成的文件的可用性。通過所述[算式1]至[算式3],本發(fā)明可獲取各節(jié)點100的活動率、關(guān)于文件可 用性以及構(gòu)成文件的塊的可用性的信息?;谒鰤K可用性的信息,可以識別(檢查)具 有最小塊可用性值的塊,從而從具有識別的塊的節(jié)點優(yōu)先下載所述塊(即,可用性值最小 的塊)。結(jié)果,只要確定可用性值最小的塊,就從具有所述塊(即,可用性值最小的塊)的節(jié) 點100發(fā)送塊,從而促成對相應(yīng)文件的下載。將參照圖3描述根據(jù)本發(fā)明的文件并行下載系統(tǒng)的文件下載。如上所述,各節(jié)點100a、100b、100c、. . .、IOOn 計算活動率。在該狀態(tài)下,期望下載文件的節(jié)點IlOOa將用于下載文件的文件搜索消息發(fā)送給各節(jié)點(100b、100c、· · ·、100η)。具有與節(jié)點IlOOa期望下載的文件相關(guān)的各塊的節(jié)點或多個節(jié)點(100b、
IOOc.....100η)響應(yīng)于文件搜索消息,通過在響應(yīng)消息包括其節(jié)點信息、節(jié)點的活動率信
息及保存于節(jié)點的文件的塊信息將響應(yīng)消息發(fā)送給節(jié)點1100a。節(jié)點IlOOa使用所接收的節(jié)點信息、節(jié)點的活動率信息及保存于節(jié)點的文件的塊 信息計算塊可用性,并且通過從所述節(jié)點請求下載可用性最小的塊來下載相應(yīng)塊。下面,將結(jié)合圖4和圖5中示出的示例說明文件可用性和塊可用性的計算。圖4是文件并行下載系統(tǒng)的示例性示圖,其示出用于實現(xiàn)根據(jù)本發(fā)明一實施例的 塊選擇方法的塊可用性和文件可用性計算的示例。在圖4的示例中,假設(shè)文件f被劃分為兩個塊,塊bl和塊b2,而節(jié)點1100a、節(jié)點 2100b及節(jié)點3100c三個節(jié)點都只保存塊bl。在如圖4所示的情況下,不能完成對文件f的下載請求。如果按照用于計算塊可用性的算式來表達,則由于沒有具有塊b2的節(jié)點,因此根 據(jù)上述[算式2],塊b2的可用性將是可用性(f,2) = 0。因此,根據(jù)上述[算式3],文件f的可用性也將是可用性$#江)=0。在圖5的示例中,假設(shè)文件f被劃分為三個塊,塊bl、塊b2及塊b3,節(jié)點IlOOa保 存bl及b3,節(jié)點2100b保存b2及b3,并且節(jié)點3100c保存塊b3。假設(shè)各節(jié)點活動率分別為活動率(節(jié)點1) = 0. 3 ;活動率(節(jié)點2) = 0. 3 ;活 動率(節(jié)點3) =0.4。這里,可以通過上述[算式2],在[算式4]中表達并計算塊bl、b2及b3的可用 性[算式4]可用性塊(f,bl) = 1-(1-0· 3) = 0. 3可用性塊(f,b2) = 1-(1-0· 3) = 0. 3可用性塊(f,b3) = 1-((1-0· 3) X (1-0. 3) X (1-0. 4)) =0. 706可以使用計算出的所述各塊的可用性值,根據(jù)上述[算式3]在[算式5]中表達 和計算文件f的可用性[算式5]可用性文件(f)= Min{0. 3,0. 3,0. 706} = 0. 3可以從這些計算結(jié)果計算文件和訪問文件的概率(即可用性值),并且本發(fā)明可 使用這種可用性值執(zhí)行文件的并行下載。將結(jié)合圖6說明通過所述對各節(jié)點的活動率和文件/塊可用性的計算執(zhí)行文件的 并行下載的處理。圖6是示出根據(jù)本發(fā)明一實施例實現(xiàn)在文件并行下載中的塊選擇方法的次序的 流程圖。如圖6所示,只要開始并行下載,則檢查是否接收到文件的所有塊(S400)。如果存在尚未下載的塊,則使用有關(guān)具有所述塊的節(jié)點的活動率的信息計算尚未下載的塊的塊可用性(S402)。計算所述節(jié)點活動率和塊可用性的方法可使用如上所述的[算式1]和[算式2]。選擇具有計算出的塊可用性當(dāng)中最小可用性值的塊(S404)。然后,確定選擇的具有最小可用性值的塊是否超過一個(S406)。如果選擇的具有最小可用性值的塊為一個,則向具有相應(yīng)塊的節(jié)點請求下載選擇 的塊(S408)。同時,如果存在尚未下載的塊并且具有該塊的節(jié)點當(dāng)前在通信網(wǎng)絡(luò)中不活動,則 選擇塊的下載應(yīng)當(dāng)?shù)却?,直至具有選擇的塊的節(jié)點在通信網(wǎng)絡(luò)中活動,然后當(dāng)相應(yīng)的節(jié)點 活動時,可以下載選擇的塊。與此相反,如果選擇的具有最小可用性值的塊超過一個,則隨機選擇具有最小可 用性值的塊中的一個,并且向具有相應(yīng)塊的節(jié)點請求下載選擇的塊(S410)。同時,在隨機選擇具有最小可用性值的塊中的一個時,可確定具有相應(yīng)塊的節(jié)點 當(dāng)前活動與否,從而如果具有相應(yīng)塊的節(jié)點活動,則優(yōu)先選擇屬于活動節(jié)點的塊進行下載。本發(fā)明計算節(jié)點的活動率,并使用所述活動率計算塊/文件的可用性,從塊可用性較低的塊開始下載,從而更加迅速地執(zhí)行文件的下載。另外,通過優(yōu)先下載構(gòu)成相應(yīng)文件的塊,可提高訪問相應(yīng)文件的概率(即文件的 全局可用性)。因為可以按照不脫離本發(fā)明特性的若干形式實施本發(fā)明,所以也應(yīng)該理解,除非 特別指出,上述實施例不受限于前述描述的任何細節(jié),而應(yīng)當(dāng)在權(quán)利要求限定的范圍內(nèi)對 這些實施例做出廣義的解釋,因此落入權(quán)利要求的界限和邊界或這些界限和邊界的等同物 內(nèi)的所有改變和修改,或者被權(quán)利要求覆蓋。
權(quán)利要求
一種將文件下載到由多個節(jié)點構(gòu)成的文件并行下載系統(tǒng)中的任一節(jié)點的文件并行下載方法,包括獲取關(guān)于與所述系統(tǒng)連接的所述多個節(jié)點的塊可用性的信息;如果所述多個節(jié)點中的任一節(jié)點請求下載文件,則將在構(gòu)成所述文件的各塊中塊可用性值最小的塊優(yōu)先下載至所述任一節(jié)點。
2.根據(jù)權(quán)利要求1所述的文件并行下載方法,其特征在于所述關(guān)于塊可用性的信息, 包括如下信息中的至少一種有關(guān)文件的哪個塊屬于所述多個節(jié)點當(dāng)中的哪個節(jié)點的信息;有關(guān)所述多個節(jié)點中的各節(jié)點的活動率的信息;和有關(guān)計算出的構(gòu)成所述文件的各塊的可用性值的信息以及有關(guān)塊可用性值最小的塊 的信息。
3.根據(jù)權(quán)利要求2所述的文件并行下載方法,其特征在于基于所述節(jié)點活動率獲取 所述塊可用性值。
4.根據(jù)權(quán)利要求3所述的文件并行下載方法,其特征在于通過如下[算式1]計算所 述節(jié)點活動率[算式1]<formula>formula see original document page 0</formula>其中,活動率(j)表示節(jié)點j的活動率。
5.根據(jù)權(quán)利要求3所述的文件并行下載方法,其特征在于通過如下[算式2]計算所 述塊可用性值[算式2]<formula>formula see original document page 0</formula>其中,源(f,i)表示具有文件f的塊i的節(jié)點的集合,而可用性塊(f,i)表示作為文件 f的片段的塊i的可用性。
6.根據(jù)權(quán)利要求1所述的文件并行下載方法,其特征在于由作為網(wǎng)絡(luò)實體的分工服 務(wù)器獲得所述關(guān)于塊可用性的信息。
7.一種在多個節(jié)點構(gòu)成的文件并行下載系統(tǒng)中由任一節(jié)點選擇構(gòu)成文件的塊以下載 所述文件的塊選擇方法,所述方法包括(a)通過使用具有構(gòu)成所述文件的塊的各節(jié)點的節(jié)點活動率,計算所述各塊的可用性 值;和(b)選擇計算的可用性值當(dāng)中具有最小可用性值的塊。
8.根據(jù)權(quán)利要求7所述的塊選擇方法,其特征在于在所述任一節(jié)點向各節(jié)點發(fā)送所 述文件搜索消息,并從所述各節(jié)點接收包括節(jié)點信息、有關(guān)節(jié)點活動率的信息及保存于各 節(jié)點的文件的塊信息的響應(yīng)消息之后執(zhí)行所述步驟(a)。
9.根據(jù)權(quán)利要求7所述的塊選擇方法,其特征在于所述步驟(b)還包括確定在所述計算的可用性值當(dāng)中具有最小可用性值的塊的個數(shù)是否超過一個,其中,在具有所述最小可用性值的塊的個數(shù)超過一個時,選擇具有所述最小可用性值 的塊中的一個。
10.根據(jù)權(quán)利要求9所述的塊選擇方法,其特征在于所述選擇具有所述最小可用性值的塊中的一個的步驟包括確定具有所述最小可用性值的塊的節(jié)點活動與否,并且選擇活 動節(jié)點的塊。
11. 一種記錄實現(xiàn)文件并行下載方法的程序的記錄介質(zhì),實現(xiàn)可由數(shù)字處理裝置執(zhí)行 的命令程序,并且記錄可被所述數(shù)字處理裝置讀取的程序,以實現(xiàn)在由多個節(jié)點構(gòu)成的文 件并行下載系統(tǒng)中任意節(jié)點下載文件的方法,所述并行下載方法包括(A)通過使用具有構(gòu)成所述文件的塊的各節(jié)點的節(jié)點活動率,計算所述各塊的可用性值;(B)選擇具有所述計算的可用性值中的最小可用性值的塊;和(C)從具有選擇的塊的節(jié)點下載選擇的塊。
全文摘要
公開了文件的并行下載,通過使用具有構(gòu)成文件的塊的各節(jié)點的節(jié)點活動率計算各塊的可用性值,并優(yōu)先下載具有所計算出的可用性值中的最小可用性值的塊,從而提高訪問文件和構(gòu)成文件的各塊的概率,因此更準(zhǔn)確、更迅速地執(zhí)行文件的下載。
文檔編號G06F9/44GK101802781SQ200880107363
公開日2010年8月11日 申請日期2008年9月17日 優(yōu)先權(quán)日2007年9月17日
發(fā)明者孫世一 申請人:僖迪網(wǎng)絡(luò)科技株式會社