專利名稱:一種p2p系統(tǒng)及p2p系統(tǒng)中的網(wǎng)絡(luò)資源管理方法
技術(shù)領(lǐng)域:
本發(fā)明屬于通信領(lǐng)域,尤其涉及一種P2P系統(tǒng)、P2P系統(tǒng)中的網(wǎng)絡(luò)資源管 理方法、種子服務(wù)器及客戶端。
背景技術(shù):
隨著邊緣網(wǎng)絡(luò)信息的不斷豐富,互聯(lián)網(wǎng)中傳統(tǒng)的客戶端/服務(wù)器 (Client/Server, C/S )才莫式逐漸被對(duì)等(peer to peer, P2P)通信才莫式所取代, P2P模式是分布式海量信息服務(wù)的必然選擇。從計(jì)算模式上來說,P2P打破了 傳統(tǒng)的C/S模式,P2P工作方式中,在網(wǎng)絡(luò)中的每個(gè)結(jié)點(diǎn)的地位都是對(duì)等的, 每個(gè)結(jié)點(diǎn)既充當(dāng)服務(wù)器,為其他結(jié)點(diǎn)提供服務(wù),同時(shí)也享用其他結(jié)點(diǎn)提供的服 務(wù),即每一個(gè)結(jié)點(diǎn)既是客戶端又是服務(wù)器。
但是,現(xiàn)有P2P網(wǎng)絡(luò)中,能提供下載的資源可能集中在某幾個(gè)結(jié)點(diǎn),這時(shí), 在某個(gè)結(jié)點(diǎn)向另外一個(gè)能提供下載資源的結(jié)點(diǎn)請(qǐng)求相應(yīng)資源時(shí),會(huì)消耗該被請(qǐng) 求結(jié)點(diǎn)的帶寬。并且,當(dāng)多個(gè)結(jié)點(diǎn)同時(shí)向一個(gè)能提供下載資源的結(jié)點(diǎn)請(qǐng)求資源 時(shí),所需帶寬大、實(shí)現(xiàn)成本高、下載速度慢、用戶體驗(yàn)差。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例旨在解決現(xiàn)有技術(shù)存在的問題,提供一種P2P系統(tǒng),所需帶 寬小、實(shí)現(xiàn)成本低、下載資源速度快、用戶體驗(yàn)優(yōu)。
本發(fā)明實(shí)施例是這樣實(shí)現(xiàn)的, 一種P2P系統(tǒng),所述系統(tǒng)包括種子服務(wù)器、 至少一個(gè)種子客戶端和至少一個(gè)非種子客戶端;
所述種子客戶端用于根據(jù)預(yù)設(shè)的匯報(bào)條件向所述種子服務(wù)器發(fā)送匯報(bào)信 息,所述匯報(bào)信息包括所述種子客戶端對(duì)應(yīng)的客戶端標(biāo)識(shí)及種子客戶端所存儲(chǔ)資源對(duì)應(yīng)的資源標(biāo)識(shí);所述種子服務(wù)器用于根據(jù)接收到的匯報(bào)信息更新種子資源信息,并在需要 擴(kuò)展種子客戶端數(shù)量的時(shí)候向非種子客戶端發(fā)送資源獲取指令,所述資源獲取指令包括資源標(biāo)識(shí)和種子客戶端對(duì)應(yīng)的客戶端標(biāo)識(shí);所述非種子客戶端根據(jù)接收到的資源獲取指令向相應(yīng)種子客戶端獲取對(duì)應(yīng) 的資源。本發(fā)明實(shí)施例的另一目的在于提供一種P2P系統(tǒng)中的網(wǎng)絡(luò)資源管理方法, 所述方法包括下述步驟種子客戶端根據(jù)預(yù)設(shè)的匯報(bào)條件向種子服務(wù)器發(fā)送匯報(bào)信息,所述匯報(bào)信 息包括所述種子客戶端對(duì)應(yīng)的客戶端標(biāo)識(shí)及種子客戶端所存儲(chǔ)資源對(duì)應(yīng)的資源 標(biāo)識(shí);種子服務(wù)器根據(jù)接收到的匯報(bào)信息更新種子資源信息,并在需要擴(kuò)展種子 客戶端數(shù)量的時(shí)候向非種子客戶端發(fā)送資源獲取指令,所述資源獲取指令包括 資源標(biāo)識(shí)和種子客戶端對(duì)應(yīng)的客戶端標(biāo)識(shí);非種子客戶端根據(jù)接收到的資源獲取指令向相應(yīng)種子客戶端獲取對(duì)應(yīng)的資源。本發(fā)明實(shí)施例的另一目的在于提供一種種子服務(wù)器,所述服務(wù)器包括種子資源更新單元,用于接收種子客戶端發(fā)送的匯報(bào)信息,并根據(jù)接收到 的匯報(bào)信息更新種子資源信息中相應(yīng)種子客戶端對(duì)應(yīng)的資源標(biāo)識(shí);判斷單元,用于根據(jù)預(yù)設(shè)的時(shí)間間隔和種子資源信息判斷存儲(chǔ)各資源的種 子客戶端的數(shù)量是否大于預(yù)設(shè)的種子數(shù)臨界值,輸出判斷結(jié)果為否的各資源對(duì) 應(yīng)的資源標(biāo)識(shí);以及種子擴(kuò)展管理單元,用于根據(jù)所述判斷單元輸出的各資源標(biāo)識(shí)以及所述種 子資源信息向非種子客戶端發(fā)送資源獲取指令,所述資源獲取指令包括接收到 的各資源標(biāo)識(shí)及對(duì)應(yīng)種子客戶端的客戶端標(biāo)識(shí)。本發(fā)明實(shí)施例的另一目的在于提供一種客戶端,所述客戶端包括資源匯報(bào)單元,用于根據(jù)預(yù)設(shè)的匯報(bào)條件向種子服務(wù)器發(fā)送匯報(bào)信息,匯 報(bào)信息包括所述客戶端對(duì)應(yīng)的客戶端標(biāo)識(shí)及客戶端所存儲(chǔ)資源對(duì)應(yīng)的資源標(biāo) 識(shí);以及
資源獲取單元,用于接收種子服務(wù)器發(fā)送的資源獲取指令,并根據(jù)接收到 的資源獲取指令向相應(yīng)客戶端獲取對(duì)應(yīng)資源,資源獲取指令包括資源標(biāo)識(shí)及存 儲(chǔ)該資源客戶端對(duì)應(yīng)的客戶端標(biāo)識(shí)。
在本發(fā)明實(shí)施例中,通過種子客戶端主動(dòng)向種子服務(wù)器上報(bào)其存儲(chǔ)資源的 信息,種子服務(wù)器在需要擴(kuò)展種子客戶端數(shù)量的時(shí)候向非種子客戶端發(fā)送資源
獲取指令,以擴(kuò)展種子客戶端的數(shù)量,實(shí)現(xiàn)了一種P2P系統(tǒng),種子服務(wù)器及各
種子客戶端、非種子客戶端所需帶寬小,實(shí)現(xiàn)成本低、下載資源速度快、用戶 體驗(yàn)優(yōu)。
圖1是本發(fā)明實(shí)施例提供的P2P系統(tǒng)的結(jié)構(gòu)示意圖2是本發(fā)明實(shí)施例提供的種子服務(wù)器的結(jié)構(gòu)示意圖3是本發(fā)明實(shí)施例提供的P2P系統(tǒng)中的網(wǎng)絡(luò)資源管理方法的實(shí)現(xiàn)流程
圖4是本發(fā)明實(shí)施例提供的客戶端的結(jié)構(gòu)示意圖。
具體實(shí)施例方式
為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí) 施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅 僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
在本發(fā)明實(shí)施例中,通過客戶端主動(dòng)向種子服務(wù)器上報(bào)其存儲(chǔ)資源的信息, 種子服務(wù)器根據(jù)預(yù)設(shè)的時(shí)間間隔判斷是否需要擴(kuò)展存儲(chǔ)相應(yīng)資源的種子客戶端 的數(shù)量,并根據(jù)判斷結(jié)果擴(kuò)展存儲(chǔ)相應(yīng)資源的種子客戶端數(shù)量。
7圖1示出了本發(fā)明實(shí)施例提供的P2P系統(tǒng)的結(jié)構(gòu),為了便于說明僅示出了 與本發(fā)明實(shí)施例相關(guān)的部分,該P(yáng)2P系統(tǒng)包括種子服務(wù)器、至少一個(gè)種子客戶 端、至少一個(gè)非種子客戶端,其中
種子客戶端101,用于根據(jù)預(yù)設(shè)的匯報(bào)條件向種子服務(wù)器102發(fā)送匯報(bào)信 息,匯報(bào)信息包括種子客戶端101對(duì)應(yīng)的客戶端標(biāo)識(shí)及種子客戶端101所存儲(chǔ) 資源對(duì)應(yīng)的資源標(biāo)識(shí);其中,匯報(bào)條件可以為定時(shí)觸發(fā)、根據(jù)存儲(chǔ)資源變化觸 發(fā)或這兩種方式相結(jié)合等。
種子服務(wù)器102,根據(jù)接收到的匯報(bào)信息更新種子資源信息,并在需要擴(kuò) 展種子客戶端數(shù)量的時(shí)候向非種子客戶端發(fā)送資源獲取指令,資源獲取指令包 括資源標(biāo)識(shí)和種子客戶端對(duì)應(yīng)的客戶端標(biāo)識(shí);該種子資源信息可以存儲(chǔ)在種子 服務(wù)器102中,也可以存儲(chǔ)在其他數(shù)據(jù)庫(kù)、存儲(chǔ)器等中。
非種子客戶端103,根據(jù)接收到的資源獲取指令向相應(yīng)種子客戶端101獲 取對(duì)應(yīng)的資源。
其中,種子客戶端101與非種子客戶端103是相對(duì)某一資源定義的兩個(gè)物 理客戶端,存儲(chǔ)有該資源的物理客戶端為種子客戶端101,沒有存儲(chǔ)該資源的 物理客戶端及為非種子客戶端102,相對(duì)于某一資源是種子客戶端101的物理 客戶端與相對(duì)于另一資源是非種子客戶端103的物理客戶端可以是同一個(gè)物理 客戶端。并且,同一個(gè)物理客戶端上可以存儲(chǔ)多種資源。種子服務(wù)器102以及 各種子客戶端IOI、各非種子客戶端103之間為P2P連接,它們都為PP系統(tǒng) 的結(jié)點(diǎn),P2P系統(tǒng)中的各個(gè)節(jié)點(diǎn)在地域上可以位于同一城市或不同城市,可以 采用相同或不同的互聯(lián)網(wǎng)數(shù)據(jù)中心(Internet Data Center, IDC ),例如電信、 網(wǎng)通等,種子服務(wù)器102和各種子客戶端101、各非種子客戶端103可以采用 相同類型或不同類型的網(wǎng)絡(luò),例如直接連接公網(wǎng)的、有防火墻限制的、接了路 由器的、局域網(wǎng)內(nèi)向外訪問的等。另外,非種子客戶端103可以以純P2P方式 到對(duì)應(yīng)的種子客戶端101下載相應(yīng)資源,
種子服務(wù)器102根據(jù)其存儲(chǔ)的,或從其他存儲(chǔ)器、服務(wù)器、終端獲得的預(yù)設(shè)的種子數(shù)臨界值確定是否需要擴(kuò)展種子客戶端的數(shù)量,如果存儲(chǔ)某資源的種 子客戶端101數(shù)量小于種子數(shù)臨界值則需要擴(kuò)展存儲(chǔ)該資源的種子客戶端的數(shù) 量,種子服務(wù)器102根據(jù)種子資源信息向一個(gè)或多個(gè)沒有存儲(chǔ)該資源的非種子客戶端103發(fā)送資源獲取指令,資源獲取指令包括該資源對(duì)應(yīng)的資源標(biāo)識(shí)和存 儲(chǔ)該資源的種子客戶端101對(duì)應(yīng)的客戶端標(biāo)識(shí)。其中,資源標(biāo)識(shí)唯一標(biāo)識(shí)該P(yáng)2P 系統(tǒng)中種子客戶端101存儲(chǔ)的各資源,且該P(yáng)2P系統(tǒng)中相同資源對(duì)應(yīng)相同的資 源標(biāo)識(shí),資源標(biāo)識(shí)可以為資源標(biāo)識(shí)號(hào)、資源名稱等;客戶端標(biāo)識(shí)用于標(biāo)識(shí)P2P 系統(tǒng)中的各種子客戶端101和非種子客戶端103,可以為種子客戶端101或非 種子客戶端103對(duì)應(yīng)的客戶端名稱、IP地址等。 如圖2所示,種子服務(wù)器102具體包括種子資源更新單元1021,接收種子客戶端IOI發(fā)送的匯報(bào)信息,并根據(jù)接 收到的匯報(bào)信息更新種子資源信息中相應(yīng)種子客戶端對(duì)應(yīng)的資源標(biāo)識(shí)。種子資 源信息記載該P(yáng)2P系統(tǒng)中各種子客戶端101存儲(chǔ)的資源,在具體實(shí)現(xiàn)中可以采 用表格存儲(chǔ),包括客戶端標(biāo)識(shí)及對(duì)應(yīng)的資源標(biāo)識(shí),該種子資源信息可以存儲(chǔ)在 種子服務(wù)器中,或存儲(chǔ)在其他數(shù)據(jù)庫(kù)、存儲(chǔ)器、數(shù)據(jù)庫(kù)、服務(wù)器或終端等中。判斷單元1022,根據(jù)預(yù)設(shè)的時(shí)間間隔和種子資源信息判斷存儲(chǔ)各資源的種 子客戶端101的數(shù)量是否大于預(yù)設(shè)的種子數(shù)臨界值,輸出判斷結(jié)果為否的各資 源對(duì)應(yīng)的資源標(biāo)識(shí)。判斷的時(shí)間間隔4艮據(jù)實(shí)際需要和系統(tǒng)環(huán)境確定,例如一淑: 情況下為3分鐘。當(dāng)然,還可以根據(jù)實(shí)際需要進(jìn)行調(diào)整。種子擴(kuò)展管理單元1023,根據(jù)判斷單元1022輸出的各資源標(biāo)識(shí)以及種子 資源信息向非種子客戶端103發(fā)送資源獲取指令,資源獲取指令包括接收到的 各資源標(biāo)識(shí)及對(duì)應(yīng)種子客戶端的客戶端標(biāo)識(shí)。這里,種子擴(kuò)展管理單元1023 根據(jù)接收到的各資源標(biāo)識(shí),分別到種子資源信息中查詢對(duì)應(yīng)種子客戶端的客戶 端標(biāo)識(shí),統(tǒng)計(jì)查詢到的客戶端標(biāo)識(shí)的數(shù)量,向一個(gè)或多個(gè)沒有存儲(chǔ)有該資源的 非種子客戶端103發(fā)送資源獲取指令,該資源獲取指令包括該資源標(biāo)識(shí)及對(duì)應(yīng) 種子客戶端的客戶端標(biāo)識(shí)。其中,向非種子客戶端103發(fā)送資源獲取指令的數(shù)量可以為種子數(shù)臨界值與統(tǒng)計(jì)到的客戶端標(biāo)識(shí)的數(shù)量之差。當(dāng)然,為了更準(zhǔn)確的判斷是否需要擴(kuò)展各資源的種子數(shù)量,作為本發(fā)明的 一個(gè)優(yōu)選實(shí)施例,種子服務(wù)器102還根據(jù)種子客戶端的網(wǎng)絡(luò)信息和/或資源標(biāo)識(shí) 確定是否需要擴(kuò)展種子客戶端的數(shù)量,不同的客戶端網(wǎng)絡(luò)信息和/或資源標(biāo)識(shí)對(duì)應(yīng)相同或不同的種子數(shù)臨界值,即種子服務(wù)器102中的判斷單元1022還根據(jù)種 子客戶端的網(wǎng)絡(luò)信息和/或資源標(biāo)識(shí)判斷是否需要擴(kuò)展種子客戶端的數(shù)量。這樣,種子服務(wù)器102或其他數(shù)據(jù)庫(kù)、存儲(chǔ)器、服務(wù)器等中還存儲(chǔ)種子客 戶端的網(wǎng)絡(luò)信息,可以針對(duì)不同種子客戶端的網(wǎng)絡(luò)信息設(shè)置相同或不同的種子 數(shù)臨界值,網(wǎng)絡(luò)信息包括地域、采用的IDC、網(wǎng)絡(luò)類型等中'的一個(gè)或多個(gè)。例 如,對(duì)應(yīng)同城市同IDC的種子客戶端101,種子數(shù)臨界值的取值與對(duì)該資源的 需求成正比,對(duì)該資源的需求越大,則對(duì)應(yīng)的種子數(shù)臨界值應(yīng)越大, 一般情況 下,種子數(shù)臨界值可以取8,只要某資源標(biāo)識(shí)對(duì)應(yīng)的同城市同IDC的種子客戶 端101數(shù)量小于該臨界值,則需要擴(kuò)展該資源的種子客戶端101的數(shù)量;不同 網(wǎng)絡(luò)類型的種子客戶端101,可以分別設(shè)置不同的種子數(shù)臨界值,種子數(shù)臨界 值的取值與對(duì)該資源的需求和當(dāng)前P2P系統(tǒng)中物理客戶端的數(shù)量有關(guān), 一般情 況下,直接連接公網(wǎng)的網(wǎng)絡(luò)類型的種子數(shù)臨界值的取值大于接了路由器的網(wǎng)絡(luò) 類型的種子數(shù)臨界值的取值,而接了路由器的網(wǎng)絡(luò)類型的種子數(shù)臨界值的取值 又大于有防火墻限制的網(wǎng)絡(luò)類型的種子數(shù)臨界值的取值,具體臨界值的取值需 要根據(jù)具體的資源環(huán)境來計(jì)算。例如,當(dāng)物理客戶端的數(shù)量為1W個(gè)時(shí), 一般 可以配置IO個(gè)為種子數(shù)臨界值。當(dāng)然,也可以針對(duì)不同的資源標(biāo)識(shí)預(yù)設(shè)不同的種子數(shù)臨界值,以滿足本同 需求及環(huán)境對(duì)某種資源的種子數(shù)的要求。進(jìn)一步地,種子服務(wù)器102可以針對(duì) 不同的種子客戶端的網(wǎng)絡(luò)信息和資源標(biāo)識(shí)設(shè)置不同的種子數(shù)臨界值。進(jìn)一步地,為了避免存儲(chǔ)某種資源的種子客戶端的數(shù)量過多,種子服務(wù)器 102還可以針對(duì)不同的種子客戶端的網(wǎng)絡(luò)信息和/或資源標(biāo)識(shí)設(shè)置不同的種子客 戶端數(shù)量最大值,將存儲(chǔ)某種資源的種子客戶端的數(shù)量限制在其對(duì)應(yīng)的最大值以內(nèi),最大值的選fl與對(duì)該存^f諸資源的需求成正比,需求越大則選取的最大值 應(yīng)越大。為了保證P2P系統(tǒng)中各資源對(duì)應(yīng)的非種子客戶端的數(shù)量能滿足擴(kuò)展種子客 戶端的需要,作為本發(fā)明的另一個(gè)優(yōu)選實(shí)施例,某一資源對(duì)應(yīng)的在預(yù)設(shè)時(shí)間內(nèi) 空閑的非種子客戶端103的數(shù)量必需滿足下式t"RCount* RICount >-;ACount其中,ICount為該資源對(duì)應(yīng)的在預(yù)^沒時(shí)間內(nèi)空閑的非種子客戶端102的凝: 量,即在預(yù)設(shè)時(shí)間內(nèi)沒有上傳和/或下載任務(wù)的非種子客戶端102的數(shù)量, RCount為P2P系統(tǒng)需要該資源的總數(shù)量,R為該資源對(duì)應(yīng)的種子數(shù)臨界值, ACount為每個(gè)種子客戶端101或非種子客戶端103中能存儲(chǔ)資源的總數(shù)量,這 些總數(shù)量、臨界值的單位均為個(gè)。當(dāng)然,為了使種子服務(wù)器102知道各種子客 戶端101和非種子客戶端103上傳和下載任務(wù)情況,各種子客戶端101和非種 子客戶端103定時(shí)向種子服務(wù)器102上報(bào)其上傳和下載任務(wù)的情況。例如,P2P系統(tǒng)需要的資源的總數(shù)量為10w個(gè),每個(gè)種子客戶端101或非 種子客戶端103最多能保存IO個(gè)不同的資源,種子數(shù)臨界值為IO個(gè),則要求 沒有存儲(chǔ)該資源的在預(yù)設(shè)時(shí)間內(nèi)空閑的非種子客戶端103數(shù)量必需大于10w 個(gè)。圖3示出了本發(fā)明實(shí)施例才是供的P2P系統(tǒng)中的網(wǎng)絡(luò)資源管理方法的實(shí)現(xiàn)流 程,詳述如下在步驟S301中,種子客戶端根據(jù)預(yù)設(shè)的匯報(bào)條件向種子服務(wù)器發(fā)送匯報(bào) 信息,該匯報(bào)信息包括該種子客戶端對(duì)應(yīng)的客戶端標(biāo)識(shí)及種子客戶端所存儲(chǔ)資 源對(duì)應(yīng)的資源標(biāo)識(shí);在步驟S302中,種子服務(wù)器根據(jù)接收到的匯報(bào)信息更新種子資源信息, 并在需要擴(kuò)展種子客戶端數(shù)量的時(shí)候向非種子客戶端發(fā)送資源獲取指令,該資 源獲取指令包括資源標(biāo)識(shí)和種子客戶端對(duì)應(yīng)的客戶端標(biāo)識(shí);在步驟S303中,非種子客戶端根據(jù)接收到的資源獲取指令向相應(yīng)種子客戶端獲取對(duì)應(yīng)的資源。
其中,種子服務(wù)器發(fā)送匯報(bào)信息的匯報(bào)條件可以為定時(shí)觸發(fā)、根據(jù)存儲(chǔ)資
源變化觸發(fā)或這兩種方式相結(jié)合等;種子服務(wù)器根據(jù)預(yù)設(shè)的種子數(shù)臨界值確定
是否需要擴(kuò)展種子客戶端的數(shù)量,其具體實(shí)現(xiàn)如上所述,不再贅述。
為了更準(zhǔn)確的判斷是否需要擴(kuò)展各資源的種子數(shù)量,作為本發(fā)明的一個(gè)優(yōu) 選實(shí)施例,種子服務(wù)器還根據(jù)種子客戶端的網(wǎng)絡(luò)信息和/或資源標(biāo)識(shí)確定是否需 要擴(kuò)展種子客戶端的數(shù)量,不同的客戶端網(wǎng)絡(luò)信息和/或資源標(biāo)識(shí)對(duì)應(yīng)相同或不 同的種子數(shù)臨界值,其具體實(shí)現(xiàn)如上所述,不再贅述。
為了保證該P(yáng)2P系統(tǒng)中各資源對(duì)應(yīng)的非種子客戶端的數(shù)量能滿足擴(kuò)展種子
客戶端的需要,作為本發(fā)明的另一個(gè)優(yōu)選實(shí)施例,某一資源對(duì)應(yīng)的在預(yù)設(shè)時(shí)間
內(nèi)空閑的非種子客戶端103的數(shù)量必需滿足下式
T^ RCount*R
ICount >-;
ACount
其中,ICount為該資源對(duì)應(yīng)的在預(yù)設(shè)時(shí)間內(nèi)空閑的非種子客戶端102數(shù)量, RCount為P2P系統(tǒng)需要該資源的總數(shù)量,R為該資源對(duì)應(yīng)的種子數(shù)臨界值, ACount為每個(gè)種子客戶端101或非種子客戶端103中能存儲(chǔ)資源的總數(shù)量,這 些總數(shù)量、臨界值的單位均為個(gè),其具體實(shí)現(xiàn)如上所述,不再贅述。
本領(lǐng)域普通技術(shù)人員可以理解,實(shí)現(xiàn)上述實(shí)施例方法中的全部或部分步驟 是可以通過程序來指令相關(guān)的硬件來完成,所述的程序可以在存儲(chǔ)于一計(jì)算機(jī) 可讀取存儲(chǔ)介質(zhì)中,所述的存儲(chǔ)介質(zhì),如ROM/RAM、磁盤、光盤等,該程序 用來執(zhí)行如下步驟
種子客戶端根據(jù)預(yù)設(shè)的匯報(bào)條件向種子服務(wù)器發(fā)送匯報(bào)信息,該匯報(bào)信息 包括該種子客戶端對(duì)應(yīng)的客戶端標(biāo)識(shí)及種子客戶端所存儲(chǔ)資源對(duì)應(yīng)的資源標(biāo) 識(shí);
種子服務(wù)器根據(jù)接收到的匯報(bào)信息更新種子資源信息,并在需要擴(kuò)展種子 客戶端數(shù)量的時(shí)候向非種子客戶端發(fā)送資源獲取指令,該資源獲取指令包括資 源標(biāo)識(shí)和種子客戶端對(duì)應(yīng)的客戶端標(biāo)識(shí);非種子客戶端根據(jù)接收到的資源獲取指令向相應(yīng)種子客戶端獲取對(duì)應(yīng)的資源。
圖4示出了本發(fā)明實(shí)施例提供的客戶端的結(jié)構(gòu),為了便于說明僅示出了與 本發(fā)明實(shí)施例相關(guān)的部分,其中
資源匯報(bào)單元401,根據(jù)預(yù)設(shè)的匯報(bào)條件向種子服務(wù)器發(fā)送匯報(bào)信息,匯 報(bào)信息包括資源匯報(bào)單元401對(duì)應(yīng)的客戶端標(biāo)識(shí)及客戶端所存儲(chǔ)資源對(duì)應(yīng)的資 源標(biāo)識(shí)。資源匯報(bào)單元401發(fā)送匯報(bào)信息的匯報(bào)條件可以為定時(shí)觸發(fā)、根據(jù)存 儲(chǔ)資源變化觸發(fā)或這兩種方式相結(jié)合等。采用定時(shí)觸發(fā)時(shí),根據(jù)實(shí)際需求及其 所屬P2P系統(tǒng)的環(huán)境確定定時(shí)觸發(fā)的時(shí)間間隔,例如,該時(shí)間間隔一般為3分 鐘;根據(jù)存儲(chǔ)資源變化觸發(fā),則只要客戶端存儲(chǔ)的資源發(fā)生變化,即觸發(fā)向種 子服務(wù)器發(fā)送匯報(bào)信息,采用這種方式便于種子服務(wù)器即時(shí)更新種子資源信息。 但是,如果某個(gè)客戶端存儲(chǔ)的資源變化過快時(shí),可以設(shè)置為在存儲(chǔ)資源變化后 一定時(shí)間內(nèi)都沒有再發(fā)生變化才觸發(fā)。
資源獲取單元402,接收種子服務(wù)器發(fā)送的資源獲取指令,并根據(jù)接收到 的資源獲取指令向相應(yīng)客戶端獲取對(duì)應(yīng)資源,資源獲取指令包括資源標(biāo)識(shí)及存 儲(chǔ)該資源客戶端對(duì)應(yīng)的客戶端標(biāo)識(shí)。資源獲取單元402可以根據(jù)接收到的資源 獲取指令,以純P2P方式到資源獲取指令中客戶端標(biāo)識(shí)對(duì)應(yīng)的客戶端下載資源 獲取指令中資源標(biāo)識(shí)對(duì)應(yīng)的資源。
在本發(fā)明實(shí)施例中,通過種子客戶端主動(dòng)向種子服務(wù)器上報(bào)其存儲(chǔ)資源的 信息,種子服務(wù)器在需要擴(kuò)展種子客戶端數(shù)量的時(shí)候向非種子客戶端發(fā)送資源 獲取指令,以擴(kuò)展種子客戶端的數(shù)量,實(shí)現(xiàn)了一種P2P系統(tǒng),種子服務(wù)器及各 種子客戶端、非種子客戶端所需帶寬小,實(shí)現(xiàn)成本低、下載資源速度快、用戶 體驗(yàn)優(yōu)。
并且,可以針對(duì)不同種子客戶端的網(wǎng)絡(luò)信息和/或資源定義不同的種子數(shù)臨 界值,以滿足不同需要及環(huán)境對(duì)種子數(shù)的要求。
以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明 的保護(hù)范圍之內(nèi)。
權(quán)利要求
1、一種P2P系統(tǒng),其特征在于,所述系統(tǒng)包括種子服務(wù)器、至少一個(gè)種子客戶端和至少一個(gè)非種子客戶端;所述種子客戶端用于根據(jù)預(yù)設(shè)的匯報(bào)條件向所述種子服務(wù)器發(fā)送匯報(bào)信息,所述匯報(bào)信息包括所述種子客戶端對(duì)應(yīng)的客戶端標(biāo)識(shí)及種子客戶端所存儲(chǔ)資源對(duì)應(yīng)的資源標(biāo)識(shí);所述種子服務(wù)器用于根據(jù)接收到的匯報(bào)信息更新種子資源信息,并在需要擴(kuò)展種子客戶端數(shù)量的時(shí)候向非種子客戶端發(fā)送資源獲取指令,所述資源獲取指令包括資源標(biāo)識(shí)和種子客戶端對(duì)應(yīng)的客戶端標(biāo)識(shí);所述非種子客戶端根據(jù)接收到的資源獲取指令向相應(yīng)種子客戶端獲取對(duì)應(yīng)的資源。
2、 如權(quán)利要求l所述的系統(tǒng),其特征在于,所述種子服務(wù)器根據(jù)預(yù)設(shè)的種 子數(shù)臨界值確定是否需要擴(kuò)展種子客戶端的數(shù)量,所述種子客戶端發(fā)送匯報(bào)信 息的匯報(bào)條件為定時(shí)觸發(fā)、根據(jù)存儲(chǔ)資源變化觸發(fā)或這兩種方式相結(jié)合。
3、 如權(quán)利要求2所述的系統(tǒng),其特征在于,所述種子服務(wù)器包括 種子資源更新單元,用于接收所述種子客戶端發(fā)送的匯報(bào)信息,并根據(jù)接收到的匯報(bào)信息更新種子資源信息中相應(yīng)種子客戶端對(duì)應(yīng)的資源標(biāo)識(shí);判斷單元,用于4艮據(jù)預(yù)設(shè)的時(shí)間間隔和種子資源信息判斷存儲(chǔ)各資源的種子客戶端的數(shù)量是否大于預(yù)設(shè)的種子數(shù)臨界值,輸出判斷結(jié)果為否的各資源對(duì)應(yīng)的資源標(biāo)識(shí);以及種子擴(kuò)展管理單元,用于根據(jù)所述判斷單元輸出的各資源標(biāo)識(shí)以及所述種子資源信息向非種子客戶端發(fā)送資源獲取指令。
4、 如權(quán)利要求2所述的系統(tǒng),其特征在于,在預(yù)設(shè)時(shí)間內(nèi)空閑的所述非種子客戶端的數(shù)量滿足下式T。 RCount*RICount >-;ACount其中,ICount為在預(yù)設(shè)時(shí)間內(nèi)空閑的非種子客戶端的數(shù)量,RCount為所述 P2P系統(tǒng)需要的資源的總數(shù)量,R為所述種子數(shù)臨界值,ACount為每個(gè)種子客 戶端或非種子客戶端能存儲(chǔ)資源的總數(shù)量。
5、 一種P2P系統(tǒng)中的網(wǎng)絡(luò)資源管理方法,其特4i在于,所述方法包括下 述步驟種子客戶端根據(jù)預(yù)設(shè)的匯報(bào)條件向種子服務(wù)器發(fā)送匯報(bào)信息,所述匯報(bào)信 息包括所述種子客戶端對(duì)應(yīng)的客戶端標(biāo)識(shí)及種子客戶端所存儲(chǔ)資源對(duì)應(yīng)的資源 標(biāo)識(shí);種子服務(wù)器根據(jù)接收到的匯報(bào)信息更新種子資源信息,并在需要擴(kuò)展種子 客戶端數(shù)量的時(shí)候向非種子客戶端發(fā)送資源獲取指令,所述資源獲取指令包括 資源標(biāo)識(shí)和種子客戶端對(duì)應(yīng)的客戶端標(biāo)識(shí);非種子客戶端根據(jù)接收到的資源獲取指令向相應(yīng)種子客戶端獲取對(duì)應(yīng)的資源。
6、 如權(quán)利要求5所述的方法,其特征在于,所述種子服務(wù)器根據(jù)預(yù)設(shè)的種 子數(shù)臨界值確定是否需要擴(kuò)展種子客戶端的數(shù)量,所述種子客戶端發(fā)送匯報(bào)信 息的匯報(bào)條件為定時(shí)觸發(fā)、根據(jù)存儲(chǔ)資源變化觸發(fā)或這兩種方式相結(jié)合。
7、 如權(quán)利要求6所述的方法,其特征在于,所述種子服務(wù)器還根據(jù)種子客 戶端的網(wǎng)絡(luò)信息和/或資源標(biāo)識(shí)確定是否需要擴(kuò)展種子客戶端的數(shù)量,不同的客 戶端網(wǎng)絡(luò)信息和/或資源標(biāo)識(shí)對(duì)應(yīng)相同或不同的種子數(shù)臨界值。
8、 如權(quán)利要求7所述的方法,其特征在于,所述客戶端網(wǎng)絡(luò)信息包括地域、 采用的互聯(lián)網(wǎng)數(shù)據(jù)中心、網(wǎng)絡(luò)類型中的一個(gè)或多個(gè)。
9、 如權(quán)利要求6所迷的方法,其特征在于,在預(yù)設(shè)時(shí)間內(nèi)空閑的所述非種子客戶端的數(shù)量滿足下式T^ RCount*RICount >-;ACount其中,ICount為在預(yù)設(shè)時(shí)間內(nèi)空閑的非種子客戶端的數(shù)量,RCount為所述 P2P系統(tǒng)需要的資源的總數(shù)量,R為所述種子數(shù)臨界值,ACount為每個(gè)種子客戶端或非種子客戶端能存儲(chǔ)資源的總數(shù)量。
10、 一種種子服務(wù)器,其特征在于,所述服務(wù)器包括種子資源更新單元,用于接收種子客戶端發(fā)送的匯報(bào)信息,并根據(jù)接收到的匯報(bào)信息更新種子資源信息中相應(yīng)種子客戶端對(duì)應(yīng)的資源標(biāo)識(shí);判斷單元,用于根據(jù)預(yù)設(shè)的時(shí)間間隔和種子資源信息判斷存儲(chǔ)各資源的種子客戶端的數(shù)量是否大于預(yù)設(shè)的種子數(shù)臨界值,輸出判斷結(jié)果為否的各資源對(duì)應(yīng)的資源標(biāo)識(shí);以及種子擴(kuò)展管理單元,用于根據(jù)所述判斷單元輸出的各資源標(biāo)識(shí)以及所述種子資源信息向非種子客戶端發(fā)送資源獲取指令,所述資源獲取指令包括接收到的各資源標(biāo)識(shí)及對(duì)應(yīng)種子客戶端的客戶端標(biāo)識(shí)。
11、 如權(quán)利要求IO所述的服務(wù)器,其特征在于,所述判斷單元還根據(jù)種子 客戶端的網(wǎng)絡(luò)信息和/或資源標(biāo)識(shí)判斷是否需要擴(kuò)展種子客戶端的數(shù)量,不同的 客戶端網(wǎng)絡(luò)信息和/或資源標(biāo)識(shí)對(duì)應(yīng)相同或不同的種子數(shù)臨界值。
12、 如權(quán)利要求11所述的服務(wù)器,其特征在于,所述客戶端網(wǎng)絡(luò)信息包括 地域、采用的互聯(lián)網(wǎng)數(shù)據(jù)中心、網(wǎng)絡(luò)類型中的一個(gè)或多個(gè)。
13、 一種客戶端,其特征在于,所述客戶端包括資源匯報(bào)單元,用于根據(jù)預(yù)設(shè)的匯報(bào)條件向種子服務(wù)器發(fā)送匯報(bào)信息,匯 報(bào)信息包括所述客戶端對(duì)應(yīng)的客戶端標(biāo)識(shí)及客戶端所存儲(chǔ)資源對(duì)應(yīng)的資源標(biāo) 識(shí);以及資源獲取單元,用于接收種子服務(wù)器發(fā)送的資源獲取指令,并根據(jù)接收到 的資源獲取指令向相應(yīng)客戶端獲取對(duì)應(yīng)資源,資源獲取指令包括資源標(biāo)識(shí)及存 儲(chǔ)該資源客戶端對(duì)應(yīng)的客戶端標(biāo)識(shí)。
14、 如權(quán)利要求13所述的客戶端,其特征在于,所述資源匯報(bào)單元發(fā)送匯 報(bào)信息的匯報(bào)條件為定時(shí)觸發(fā)、根據(jù)存儲(chǔ)資源變化觸發(fā)或這兩種方式相結(jié)合。
全文摘要
本發(fā)明適用于通信領(lǐng)域,提供了一種P2P系統(tǒng)、P2P系統(tǒng)中的網(wǎng)絡(luò)資源管理方法、種子服務(wù)器及客戶端,所述P2P系統(tǒng)包括種子服務(wù)器、至少一個(gè)種子客戶端和至少一個(gè)非種子客戶端;所述種子客戶端用于根據(jù)預(yù)設(shè)的匯報(bào)條件向所述種子服務(wù)器發(fā)送匯報(bào)信息;所述種子服務(wù)器用于根據(jù)接收到的匯報(bào)信息更新種子資源信息,并在需要擴(kuò)展種子客戶端數(shù)量的時(shí)候向非種子客戶端發(fā)送資源獲取指令;所述非種子客戶端根據(jù)接收到的資源獲取指令向相應(yīng)種子客戶端獲取對(duì)應(yīng)的資源。在本發(fā)明實(shí)施例提供的P2P系統(tǒng),所需帶寬小、實(shí)現(xiàn)成本低、下載速度快。
文檔編號(hào)H04L29/08GK101631141SQ20091010946
公開日2010年1月20日 申請(qǐng)日期2009年8月19日 優(yōu)先權(quán)日2009年8月19日
發(fā)明者華有為 申請(qǐng)人:騰訊科技(深圳)有限公司