專利名稱:一種網(wǎng)絡(luò)傳輸系統(tǒng)、服務(wù)器和客戶端的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)傳輸下載領(lǐng)域,尤其涉及ー種網(wǎng)絡(luò)傳輸系統(tǒng)、服務(wù)器和客戶端。
背景技術(shù):
點對服務(wù)器(Peer to Server, P2S)技術(shù)基于用戶對服務(wù)器,,是最經(jīng)典的ー種下載協(xié)議?!包c”(Peer)即網(wǎng)絡(luò)節(jié)點或終端,通??梢岳斫鉃橛脩粲嬎銠C(jī)。用戶(即網(wǎng)絡(luò)節(jié)點)直接到某個大型的下載網(wǎng)站去下載文件,文件存儲在網(wǎng)站服務(wù)器上,因此速度可以得到保證,但存在的問題是資源分散、不易捜索、服務(wù)器負(fù)載較大。點對點(peer to Peer,P2P,或稱對等)技術(shù),是ー種新的網(wǎng)絡(luò)傳輸技術(shù),在文件共享和下載方面得到了廣泛的應(yīng)用,其依賴網(wǎng)絡(luò)中參與者的計算能力和帶寬進(jìn)行傳輸,而不是僅僅依靠幾臺服務(wù)器。P2P—端的下載速度和另一端的上傳速度密切相關(guān),由于中國用戶 大多使用ADSL上網(wǎng),ADSL的上傳速度并不快,僅幾十K速度,ー些用戶還會人為限制上傳速度,這導(dǎo)致了 P2P方式的上傳帶寬資源的缺乏,因此用戶會普遍感覺P2P的速度較慢慢。點對服務(wù)器和點(Peer to Server&Peer , P2SP)技術(shù)不像傳統(tǒng)P2S方式那樣只能依賴服務(wù)器進(jìn)行下載,其內(nèi)容的傳遞可以在網(wǎng)絡(luò)上的各個終端機(jī)器中進(jìn)行。P2SP有效地把原本孤立的服務(wù)器和其鏡像資源以及P2P資源整合到了一起,它不但支持P2P技術(shù),同時還通過檢索數(shù)據(jù)庫把服務(wù)器資源和P2P資源整合到了一起。用戶通過P2SP技術(shù)下載一個文件的時候,會自動搜索其他文件提供源,選擇合適的文件提供源進(jìn)行加速,這使得P2SP (目前的主流下載軟件迅雷,旋風(fēng)都使用該技術(shù))在下載的穩(wěn)定性和下載的速度上,比傳統(tǒng)的P2P有了非常大的提尚。在P2SP技術(shù)當(dāng)中,下載ー個文件,數(shù)據(jù)來源分為原始鏈接,P2P網(wǎng)絡(luò),第三方鏡像的輔助源等,然后通過完整文件的卩隹ー標(biāo)識,比如MD5 (Message Digest ,消息摘要算法第五版,它在上一版本的基礎(chǔ)上增加了 〃安全-帶子〃的概念,為計算機(jī)安全領(lǐng)域廣泛使用的一種散列函數(shù),用以提供消息的完整性保護(hù))或者SHA (Secure Hash Algorithm ー種數(shù)據(jù)加密算法,美國國家標(biāo)準(zhǔn)和技術(shù)局發(fā)布的國家標(biāo)準(zhǔn)FIPS PUB 180-1,一般稱為SHA-I,其對長度不超過264 ニ進(jìn)制位的消息產(chǎn)生160位的消息摘要輸出,按512比特塊處理其輸入)等,把文件統(tǒng)ー串聯(lián)起來。但是,在現(xiàn)有的P2SP技術(shù)中,由于網(wǎng)絡(luò)環(huán)境的復(fù)雜性和網(wǎng)絡(luò)帶寬的限制,分布在各個不同運營商之間的節(jié)點連通效果并不好。例如,目前國內(nèi)各網(wǎng)絡(luò)運營商“電信、聯(lián)通、鐵通、長寬、教育網(wǎng)…”等網(wǎng)絡(luò)之間互聯(lián)速度慢。另外,某些下載服務(wù)器對客戶端IP的并發(fā)連接數(shù)有限制,為了控制一個客戶端的下載速度,也對下載鏈接輸出帶寬有限制。目前的P2SP下載技術(shù)沒有辦法繞過這種限制。
發(fā)明內(nèi)容
本發(fā)明實施例所要解決的技術(shù)問題在于,提供ー種網(wǎng)絡(luò)傳輸系統(tǒng)、服務(wù)器和客戶端??梢宰尶蛻舳酥g相互幫助代理下載任務(wù),増加網(wǎng)絡(luò)中稀缺資源的副本數(shù)目,有效解決網(wǎng)絡(luò)連通性和服務(wù)器對單個下載任務(wù)帶寬輸出限制的問題。為了解決上述技術(shù)問題,本發(fā)明實施例提供了ー種網(wǎng)絡(luò)傳輸系統(tǒng),包括
資源索引服務(wù)器,用于根據(jù)客戶端的請求向客戶端返回可供下載的資源鏈接集合,客戶端可通過連接所述資源鏈接下載資源;
跟蹤服務(wù)器,用于獲取具有所述客戶端要下載資源的用戶節(jié)點集合,并反饋給所述客戶端;
互助合作調(diào)度服務(wù)器,用于接受用戶節(jié)點加入互助合作組織的注冊,在客戶端下載資源的過程中調(diào)度愿意提供互助下載的注冊用戶節(jié)點進(jìn)行所述資源片段的下載,與所述跟蹤 服務(wù)器同步具有所述客戶端要下載資源的用戶節(jié)點集合。其中,互助合作調(diào)度服務(wù)器可進(jìn)ー步包括
注冊模塊,用于注冊用戶節(jié)點,記錄所述用戶節(jié)點的網(wǎng)絡(luò)服務(wù)提供商、用于互助下載的磁盤空間、上傳帶寬中的ー個或多個。該系統(tǒng)還可包括統(tǒng)計服務(wù)器,用于統(tǒng)計用戶節(jié)點的文件下載信息、輔助下載源的信息和網(wǎng)絡(luò)情況信息,并上報給所述互助合作調(diào)度服務(wù)器;
互助合作調(diào)度服務(wù)器可包括
調(diào)度模塊,用于根據(jù)所述客戶端下載資源的過程中所述統(tǒng)計服務(wù)器同步上報的信息,從愿意提供互助下載的注冊用戶節(jié)點中挑選用戶節(jié)點,井向其下發(fā)資源下載任務(wù)協(xié)助下載所述客戶端要下載的資源;
同步模塊,用于根據(jù)所述用戶節(jié)點的資源下載任務(wù)完成情況與所述跟蹤服務(wù)器同步具有所述客戶端要下載資源的用戶節(jié)點集合。進(jìn)ー步的,該統(tǒng)計服務(wù)器可包括
互助統(tǒng)計模塊,用于統(tǒng)計所述用戶節(jié)點在互助合作中貢獻(xiàn)的上傳數(shù)據(jù)量信息,并根據(jù)所述上傳數(shù)據(jù)量信息調(diào)整所述用戶節(jié)點的下載服務(wù)優(yōu)先級,其中,下載服務(wù)優(yōu)先級較高的用戶節(jié)點優(yōu)先于優(yōu)先級較低的用戶節(jié)點獲得空閑用戶節(jié)點的下載輔助;
上報模塊,用于將所述資源下載統(tǒng)計模塊和互助統(tǒng)計模塊中統(tǒng)計的上報給所述互助合作調(diào)度服務(wù)器;
所述互助合作調(diào)度服務(wù)器的調(diào)度模塊還用于根據(jù)客戶端的下載服務(wù)優(yōu)先級調(diào)度相應(yīng)的用戶節(jié)點輔助所述客戶端進(jìn)行資源下載。相應(yīng)的,本發(fā)明實施例還提供了ー種互助合作調(diào)度服務(wù)器,包括
注冊模塊,用于在互助合作組織中注冊用戶節(jié)點,記錄所述用戶節(jié)點的網(wǎng)絡(luò)服務(wù)提供商、用于互助下載的磁盤空間、上傳帶寬中的ー個或多個;
調(diào)度模塊,用于根據(jù)客戶端下載資源的過程中所述統(tǒng)計服務(wù)器同步上報的信息,從愿意提供互助下載的注冊用戶節(jié)點中挑選用戶節(jié)點,井向其下發(fā)資源下載任務(wù)協(xié)助下載所述客戶端要下載的資源片段;
同步模塊,用于根據(jù)所述用戶節(jié)點的資源下載任務(wù)完成情況更新具有所述客戶端要下載資源的用戶節(jié)點集合,以便客戶端實時根據(jù)所述用戶節(jié)點集合進(jìn)行資源下載。其中,調(diào)度模塊還用于根據(jù)客戶端的下載服務(wù)優(yōu)先級調(diào)度相應(yīng)的用戶節(jié)點輔助所述客戶端進(jìn)行資源下載,下載服務(wù)優(yōu)先級較高的用戶節(jié)點優(yōu)先于優(yōu)先級較低的用戶節(jié)點獲得空閑用戶節(jié)點的下載輔助,用戶節(jié)點在互助合作中貢獻(xiàn)的上傳數(shù)據(jù)量越高則其下載服務(wù)優(yōu)先級越高。進(jìn)ー步的,所述互助合作調(diào)度服務(wù)器可集成在跟蹤服務(wù)器中。另ー方面,本發(fā)明實施例還提供了一種客戶端,包括
資源索引請求模塊,用于向資源索引請求模塊獲取可供下載的資源鏈接集合,以便可通過連接所述資源鏈接下載資源;
用戶節(jié)點集合請求模塊,用于向跟蹤服務(wù)器獲取具有要下載資源的用戶節(jié)點集合;互助合作注冊模塊,用于向互助合作調(diào)度服務(wù)器注冊加入互助合作組織,以便在進(jìn)行資源下載過程中使所述互助合作調(diào)度服務(wù)器調(diào)度愿意提供互助下載的注冊用戶節(jié)點進(jìn)行所述資源片段的下載,増加具有要下載資源的用戶節(jié)點集合中的用戶節(jié)點;
下載模塊,用于根據(jù)資源索引請求模塊獲得的資源鏈接集合和實時增加的用戶節(jié)點集合進(jìn)行資源下載。其中,所述互助合作注冊模塊在向互助合作調(diào)度服務(wù)器注冊加入互助合作組織時的注冊信息包括所述客戶端當(dāng)前的網(wǎng)絡(luò)服務(wù)提供商、用于互助下載的磁盤空間、上傳帶寬中的ー個或多個。進(jìn)ー步的,客戶端還可包括
互助任務(wù)模塊,用于接受互助合作調(diào)度服務(wù)器調(diào)度的互助下載任務(wù),并進(jìn)行資源片段下載;
互助資源注冊模塊,用于當(dāng)完成所述資源片段下載后向跟蹤服務(wù)器進(jìn)行注冊,以便跟蹤服務(wù)器向相應(yīng)的用戶節(jié)點發(fā)布增加后的用戶節(jié)點集合?;?和,所述客戶端還包括
查詢模塊,用于向統(tǒng)計服務(wù)器查詢當(dāng)前的下載服務(wù)優(yōu)先級,其中,下載服務(wù)優(yōu)先級較高的用戶節(jié)點優(yōu)先于優(yōu)先級較低的用戶節(jié)點獲得空閑用戶節(jié)點的下載輔助。在本發(fā)明實施例中,在服務(wù)器端引入獨立的互助合作調(diào)度服務(wù)器,激勵客戶端用戶主動加入互助合作下載組織,讓客戶端之間相互幫助代理下載,増加網(wǎng)絡(luò)中稀缺資源的副本數(shù)目能夠有效解決網(wǎng)絡(luò)連通性和服務(wù)器對單個客戶端帶寬限制的問題。同時,在本發(fā)明的ー些具體實施例中,通過定義下載服務(wù)優(yōu)先級激勵客戶端進(jìn)行互助下載,形成了 ー套完善的P2SP系統(tǒng)中增強(qiáng)整體下載性能的技術(shù)框架。同時,在本發(fā)明實施例中僅調(diào)度愿意提供互助下載的注冊用戶節(jié)點進(jìn)行互助下載,不會在用戶不知情的情況下利用用戶客戶端本地的空間和帶寬,避免造成用戶的方案和其對安全情況的擔(dān)憂。
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可 以根據(jù)這些附圖獲得其他的附圖。圖I是本發(fā)明實施例中的網(wǎng)絡(luò)傳輸系統(tǒng)的ー個具體組成示意 圖2是本發(fā)明實施例中的客戶端的ー個具體組成示意 圖3是本發(fā)明實施例中的客戶端的另ー個具體組成示意圖;圖4是本發(fā)明實施例中的互助合作調(diào)度服務(wù)器的ー個具體組成示意 圖5是本發(fā)明實施例中的統(tǒng)計服務(wù)器的ー個具體組成示意 圖6是本發(fā)明實施例中的網(wǎng)絡(luò)傳輸系統(tǒng)的另ー個具體組成示意圖。
具體實施例方式下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護(hù)的范圍。本發(fā)明實施例原理在于在服務(wù)器端引入獨立的互助合作調(diào)度服務(wù)器,激勵客戶端用戶主動加入互助合作下載組織,讓客戶端之間相互幫助代理下載。比如“資源a”是電信網(wǎng)絡(luò)中的資源,“用戶b”是使用網(wǎng)絡(luò)為聯(lián)通網(wǎng)絡(luò)的用戶,“用戶c”也是聯(lián)通,后面還有“用 戶d、e…”都是聯(lián)通用戶。未啟用本發(fā)明實施例中的互助合作調(diào)度服務(wù)器時當(dāng)“用戶b、c”要去下載“資源a”時,由于聯(lián)通與電信網(wǎng)絡(luò)之間的數(shù)據(jù)傳輸比較慢,這時“用戶b、c”的下載速度比較慢。而“用戶d、e…”正開著P2SP下載客戶端,卻并未完整下載過文件a,沒辦法幫助“用戶b、c”加速。啟用本發(fā)明實施例中的互助合作調(diào)度服務(wù)器在服務(wù)器的調(diào)度的安排下“用戶d、e、…”開始下載“資源a”的不同文件部分。“用戶b、c”下載“資源a”吋,“互助合作下載”就會將用戶“用戶b、c、d、e…”聯(lián)系起來,讓“用戶d、e、f…”的下載到的數(shù)據(jù)上傳給“用戶b、c”提供下載加速。另外,某些下載服務(wù)器對客戶端IP的并發(fā)連接數(shù)有限制,為了控制一個客戶端的下載速度,也對下載鏈接輸出帶寬有限制?,F(xiàn)有的P2SP下載技術(shù)沒有辦法繞過這種限制。而在本發(fā)明實施例中,將ー個客戶端的下載,通過互助合作組織技術(shù)變成一個小組合作下載文件不同分片文件,然后再通過Peer之間傳輸,可以有效解決上述這種限制問題。讓客戶端用戶的下載帶寬得到充分的利用。同時,隨著本發(fā)明實施例中技術(shù)的普及和發(fā)展,參與者會越來越多,使得可進(jìn)行加速的帶寬空間很大。至于安全性方面,由于各客戶端并不保留文件完整數(shù)據(jù),所以也不用擔(dān)心文件內(nèi)容安全問題。如圖I所示,為本發(fā)明實施例中的網(wǎng)絡(luò)傳輸系統(tǒng),該系統(tǒng)為支持P2SP功能的系統(tǒng),其包括
資源索引服務(wù)器1,用于根據(jù)客戶端的請求向客戶端返回可供下載的資源鏈接集合,客戶端可通過連接所述資源鏈接下載資源。跟蹤(Tracker)服務(wù)器2,用于獲取具有所述客戶端要下載資源的用戶節(jié)點集合,并反饋給所述客戶端。互助合作調(diào)度服務(wù)器3,用于接受用戶節(jié)點加入互助合作組織的注冊,在客戶端下載資源的過程中調(diào)度愿意提供互助下載的注冊用戶節(jié)點進(jìn)行所述資源片段的下載,與所述跟蹤服務(wù)器同步具有所述客戶端要下載資源的用戶節(jié)點集合。本發(fā)明實施例中的網(wǎng)絡(luò)傳輸系統(tǒng)還可包括統(tǒng)計服務(wù)器4,用于統(tǒng)計用戶節(jié)點的文件下載信息、輔助下載源的信息和網(wǎng)絡(luò)情況信息,并上報給所述互助合作調(diào)度服務(wù)器。圖I中所示為包括統(tǒng)計服務(wù)器4的情況。
當(dāng)然,在網(wǎng)絡(luò)傳輸中還包括請求下載任務(wù)的一個或多個客戶端,為了表述清楚,在圖I中還增加描述了多個下載客戶端5在網(wǎng)絡(luò)系統(tǒng)中的位置。需要說明的是,上述的互助合作調(diào)度服務(wù)器3可與跟蹤服務(wù)器2集成在一起,即將互助合作調(diào)度服務(wù)器3的功能集成在跟蹤服務(wù)器2內(nèi);當(dāng)然,也可以是功能和結(jié)構(gòu)上均獨立的兩個/組服務(wù)器分別實現(xiàn)互助合作調(diào)度服務(wù)器 3和跟蹤服務(wù)器2。
在本系統(tǒng)中主要通過互助合作調(diào)度服務(wù)器實現(xiàn)互助合作下載,在實現(xiàn)互助合作下載時,可考慮以下各方面策略
I、僅為主動注冊加入互助合作組織的用戶節(jié)點提供互助合作下載,用戶節(jié)點注冊時可提供其本地信息,如能夠貢獻(xiàn)的磁盤空間,上傳帶寬配置等,這些信息可以是用戶側(cè)實時監(jiān)測獲得、也可以是用戶側(cè)默認(rèn)設(shè)置或根據(jù)本地和網(wǎng)絡(luò)狀況自行設(shè)置的。2、為了激勵用戶節(jié)點加入互助合作組織,可基于上傳貢獻(xiàn)量確定用戶節(jié)點被服務(wù)的優(yōu)先級,網(wǎng)絡(luò)系統(tǒng)中保留每個參與互助合作下載的用戶節(jié)點的上傳數(shù)據(jù)量的歷史記錄,當(dāng)該上傳用戶節(jié)點需要通過互助合作組織下載數(shù)據(jù)時,優(yōu)先被互助合作組織中的節(jié)點提供幫助,激勵空閑節(jié)點更多參與互助下載。3、在網(wǎng)絡(luò)系統(tǒng)調(diào)度互助合作組織中的用戶節(jié)點進(jìn)行互助下載時,可通過測試互助節(jié)點之間實際的帶寬數(shù)據(jù)來選擇互助節(jié)點,保證選擇的互助合作節(jié)點和實際需要數(shù)據(jù)的節(jié)點之間有很好的連通性,并以此作為選擇互助合作節(jié)點的重要的因素之一。需要特別說明的是,注冊在互助合作組織中的每個用戶節(jié)點既可以是提供互助下載的用戶節(jié)點,也可以是需要進(jìn)行資源下載的用戶節(jié)點。為了在ー個具體實施例中對當(dāng)前需要下載資源的用戶節(jié)點和提供互助下載的用戶節(jié)點之間進(jìn)行區(qū)別,當(dāng)二者同時出現(xiàn)吋,一般情況下將需要下載資源的用戶節(jié)點稱為客戶端。考慮上述策略,在以下逐一描述客戶端和系統(tǒng)中的各服務(wù)器的作用和構(gòu)建(僅說明客戶端、互助合作調(diào)度服務(wù)器和統(tǒng)計服務(wù)器的構(gòu)成)。一、首先說明本發(fā)明實施例中的客戶端,為了配合服務(wù)器端的主動調(diào)度,下載客戶端主要有以下幾個方面的功能,其中ー些是必須的,一些是為了増加性能而增加的功能。(I)定期或不定期向跟蹤服務(wù)器匯報在線情況和本地?fù)碛械馁Y源信息;
(2)通過源Url向資源索引服務(wù)器(或資源索引服務(wù)器組)查詢多資源Hash及文件校驗信息,同時向跟蹤服務(wù)器查詢用戶節(jié)點(包括已主動加入互助合作組織的用戶節(jié)點,和未加入互助合作組織的用戶節(jié)點);
(3)完成下載任務(wù)后,向統(tǒng)計服務(wù)器匯報本次下載任務(wù)的下載時間、下載速度、下載結(jié)果、文件大小等信息,下載不動的時候,也同步上報當(dāng)前的下載狀況;
(4)下載過程當(dāng)中發(fā)現(xiàn)下載到完成的數(shù)據(jù)分片后,進(jìn)行校驗,如果發(fā)現(xiàn)分片錯誤,向統(tǒng)計服務(wù)器上報;
(5)如果用戶設(shè)置了主動加入合作組織,則向互助合作調(diào)度服務(wù)器注冊,表示愿意提供幫助;接受互助合作調(diào)度服務(wù)器調(diào)度任務(wù)的下發(fā),主動下載任務(wù)分片,下載的任務(wù)分片完成后臺向跟蹤服務(wù)器注冊,這樣可以補(bǔ)充系統(tǒng)中的稀缺資源。在接受互助合作調(diào)度服務(wù)器調(diào)度任務(wù)的下發(fā)下載任務(wù)分片時,可以有多種形式,如,可根據(jù)用戶的預(yù)定義設(shè)置在打開客戶端時即默認(rèn)接受互助合作調(diào)度服務(wù)器下發(fā)的調(diào)度任務(wù);也可以是每次有互助合作調(diào)度服務(wù)器下發(fā)的調(diào)度任務(wù)時進(jìn)行下載提示,由用戶判斷是否接受當(dāng)前的調(diào)度任務(wù);也可以是根據(jù)一定策略(如,用戶定義的時間段內(nèi),IP段內(nèi)等)選擇性的接受互助合作調(diào)度服務(wù)器下發(fā)的調(diào)度任務(wù);還可以是其他的形式,只要這些形式都起到了對用戶進(jìn)行足夠的提示,保證用戶是在知情及自愿的情況下進(jìn)行互助下載即可;
(6)依據(jù)服務(wù)器的調(diào)度,測量和目標(biāo)節(jié)點之間實際可用帶寬,將可用帶寬數(shù)據(jù)上報到互助調(diào)度服務(wù)器;
(7)從服務(wù)器查詢曾經(jīng)貢獻(xiàn)的上傳數(shù)據(jù)總量,不同的量有不通的等級,等級越高下載被服務(wù)的機(jī)會越多?;谏鲜龉δ軐Ρ景l(fā)明實施例中的客戶端進(jìn)行構(gòu)建,參考圖2,為本發(fā)明實施例中的客戶端的ー個具體組成示意圖。該客戶端5包括資源索引請求模塊50,用于向資源索引請求模塊獲取可供下載 的資源鏈接集合,以便可通過連接所述資源鏈接下載資源;
用戶節(jié)點集合請求模塊52,用于向跟蹤服務(wù)器獲取具有要下載資源的用戶節(jié)點集合.互助合作注冊模塊54,用于向互助合作調(diào)度服務(wù)器注冊加入互助合作組織,以便在進(jìn)行資源下載過程中使所述互助合作調(diào)度服務(wù)器調(diào)度愿意提供互助下載的注冊用戶節(jié)點進(jìn)行所述資源片段的下載,増加具有要下載資源的用戶節(jié)點集合中的用戶節(jié)點。其中,在向互助合作調(diào)度服務(wù)器3注冊加入互助合作組織時的注冊信息包括所述客戶端當(dāng)前的網(wǎng)絡(luò)服務(wù)提供商、用于互助下載的磁盤空間、上傳帶寬中的ー個或多個。下載模塊56,用于根據(jù)資源索引請求模塊獲得的資源鏈接集合和實時增加的用戶節(jié)點集合進(jìn)行資源下載??蛻舳嗽谧鳛橹鲃淤Y源下載方進(jìn)行其需要的資源的下載時,也可以提供互助下載,則如圖3所示,此時客戶端5還可包括互助任務(wù)模塊51,用于接受互助合作調(diào)度服務(wù)器調(diào)度的互助下載任務(wù),并進(jìn)行資源片段的下載;互助資源注冊模塊53,用于當(dāng)完成所述資源片段下載后向跟蹤服務(wù)器進(jìn)行注冊,以便跟蹤服務(wù)器向相應(yīng)的用戶節(jié)點發(fā)布增加后的用戶節(jié)點集合。在互助下載時還可根據(jù)下載服務(wù)優(yōu)先級進(jìn)行節(jié)點調(diào)度,則相應(yīng)的客戶端5還可包括查詢模塊55,用于向統(tǒng)計服務(wù)器查詢當(dāng)前的下載服務(wù)優(yōu)先級,其中,下載服務(wù)優(yōu)先級較高的用戶節(jié)點優(yōu)先于優(yōu)先級較低的用戶節(jié)點獲得空閑用戶節(jié)點的下載輔助。如圖3所示,為還包括查詢模塊55的客戶端5。未包括查詢模塊55的客戶端5 (圖中未示)。ニ、互助合作調(diào)度服務(wù)器,互助合作調(diào)度服務(wù)器主要有以下幾個方面的作用,其中ー些是必須的,一些是為了増加性能而增加的作用。(I)接收用戶節(jié)點加入合作互助合作組織的注冊,記錄那些能夠提供互助下載功能的節(jié)點信息,如,節(jié)點的ISP和磁盤空間,上傳帶寬等信息。(2)依據(jù)客戶端下載過程中上報的下載信息比如下載速度,主動從愿意提供互助合作下載的節(jié)點中挑選節(jié)點進(jìn)行任務(wù)的下載。(3)按照獨立的算法(節(jié)點上傳量記錄和節(jié)點之間的可用帶寬)挑選愿意提供互助下載的節(jié)點下載指定的文件分片。比如用戶A在下載某ー個文件a,下載過程當(dāng)中會向服務(wù)器反饋自己的速度情況,比如速度V低于某ー個閾值(該閾值可以是根據(jù)經(jīng)驗定義的,以便使根據(jù)該閾值進(jìn)行判斷可以最大限度的提高網(wǎng)絡(luò)下載的效率),此時互助調(diào)度服務(wù)器會從主動加入互助合作下載節(jié)點集合當(dāng)中挑選節(jié)點B、C幫助A下載,挑選的原則是A和B,C之間的實際帶寬以及A曾經(jīng)上傳的數(shù)據(jù)量,上傳越多就有更高的優(yōu)先級得到其它節(jié)點的幫助。(4)和跟蹤服務(wù)器之間同步需要合作下載文件在線文件副本的數(shù)量,調(diào)整控制參與互助合作在線的節(jié)點數(shù)量。參考圖4,為本發(fā)明實施例中的互助合作調(diào)度服務(wù)器的組成示意圖。該互助合作調(diào)度服務(wù)器3包括注冊模塊30,用于在互助合作組織中注冊用戶節(jié)點,記錄所述用戶節(jié)點的網(wǎng)絡(luò)服務(wù)提供商、用于互助下載的磁盤空間、上傳帶寬中的ー個或多個。調(diào)度模塊32,用于根據(jù)所述客戶端下載資源的過程中所述統(tǒng)計服務(wù)器同步上報的信息,從愿意提供互助下載的注冊用戶節(jié)點中挑選用戶節(jié)點,井向其下發(fā)資源下載任務(wù)協(xié)助下載所述客戶端要下載的資源片段。 同步模塊34,用于根據(jù)所述用戶節(jié)點的資源下載任務(wù)完成情況與所述跟蹤服務(wù)器同步具有所述客戶端要下載資源的用戶節(jié)點集合。在互助下載時還可根據(jù)下載服務(wù)優(yōu)先級進(jìn)行節(jié)點調(diào)度,則此時調(diào)度模塊32還用于根據(jù)客戶端的下載服務(wù)優(yōu)先級調(diào)度相應(yīng)的用戶節(jié)點輔助所述客戶端進(jìn)行資源下載,其中,下載服務(wù)優(yōu)先級較高的用戶節(jié)點優(yōu)先于優(yōu)先級較低的用戶節(jié)點獲得空閑用戶節(jié)點的下載輔助,用戶節(jié)點在互助合作中貢獻(xiàn)的上傳數(shù)據(jù)量越高則其下載服務(wù)優(yōu)先級越高。同時,上述的互助合作調(diào)度服務(wù)器可作為互助合作調(diào)度裝置集成在跟蹤服務(wù)器中。三、跟蹤服務(wù)器的作用。(I)為每個申請加入傳輸網(wǎng)絡(luò)的客戶端提供注冊,并反饋其所擁有該資源節(jié)點的IP地址列表,該列表可供客戶端查詢有那些節(jié)點有該資源,節(jié)點通過IP地址和端ロ來標(biāo)記;
(2)接收客戶端的在線情況匯報,生成各資源的節(jié)點列表(即當(dāng)前具有該資源的用戶節(jié)點的列表)并在有節(jié)點申請下載該任務(wù)時進(jìn)行反饋;
(3)接受互助調(diào)度服務(wù)器的同歩,同步信息包括參與互助合作客戶端上累計上傳信息和調(diào)度的優(yōu)先級等。四、資源索引服務(wù)器的作用。(I)接收客戶端通過Url作為索引的入口查詢文件Hash,意即建立ー個Url和該Url對應(yīng)文件Hash的映射查詢服務(wù),客戶端需要拿到下載文件的Hash,然后才能通過Hash到跟蹤服務(wù)器查詢種子;
(2)接收客戶端通過Url作為索引的入口查詢下載的多Url資源集合;
(3 )提供文件分片校驗信息,供下載客戶端校驗下載數(shù)據(jù)的有效性。五、統(tǒng)計服務(wù)器的作用。(I)統(tǒng)計客戶端的下載情況,如客戶端當(dāng)前的下載任務(wù)的下載時間、下載速度、下載結(jié)果、文件大小等信息,下載不動的時候,也統(tǒng)計當(dāng)前的下載狀況;
(2)統(tǒng)計客戶端對下載完成的數(shù)據(jù)分片的校驗中發(fā)現(xiàn)的分片錯誤;
(3)統(tǒng)計用戶節(jié)點在互助合作中貢獻(xiàn)的上傳數(shù)據(jù)量信息,井根據(jù)所述上傳數(shù)據(jù)量信息調(diào)整所述用戶節(jié)點的下載服務(wù)優(yōu)先級;(4)向互助合作調(diào)度服務(wù)器上報相應(yīng)的信息。如圖5所示,為本發(fā)明實施例中的統(tǒng)計服務(wù)器的ー個具體組成示意圖,該統(tǒng)計服務(wù)器4包括互助統(tǒng)計模塊40,用于統(tǒng)計所述用戶節(jié)點在互助合作中貢獻(xiàn)的上傳數(shù)據(jù)量信息,井根據(jù)所述上傳數(shù)據(jù)量信息調(diào)整所述用戶節(jié)點的下載服務(wù)優(yōu)先級,其中,下載服務(wù)優(yōu)先級較高的用戶節(jié)點優(yōu)先于優(yōu)先級較低的用戶節(jié)點獲得空閑用戶節(jié)點的下載輔助;上報模塊42,用于將所述資源下載統(tǒng)計模塊和互助統(tǒng)計模塊中統(tǒng)計的上報給所述互助合作調(diào)度服務(wù)器。如圖I所示的網(wǎng)絡(luò)系統(tǒng)中,服務(wù)器可以是由服務(wù)器組組成,具體可參考圖6,對應(yīng)圖6具體描述在本發(fā)明實施例中的客戶端下載過程。I、用戶(圖中位于中心的下載客戶端01)需要下載文件的時候從互聯(lián)網(wǎng)(Internet)或者資源網(wǎng)站獲取Url鏈接;
2、用戶以Url鏈接為入ロ,從資源索引服務(wù)器(組),查詢多資源及文件Hash,然后從查詢到的Url下載數(shù)據(jù);
3、下載客戶端03向互助合作調(diào)度服務(wù)器注冊加入互助組織;
4、用戶向P2PTracker服務(wù)器組查詢P2P種子以進(jìn)行文件下載;
5、下載客戶端01從下載客戶端02下載數(shù)據(jù);下載客戶端01從下載客戶端03下載數(shù)據(jù);即,按照現(xiàn)有技術(shù)中的流程,當(dāng)前客戶端02具有客戶端01需要下載的數(shù)據(jù),而客戶端03并沒有客戶端01需要下載的數(shù)據(jù),客戶端01本來只能從客戶端02下的;而在本發(fā)明實施例中,由于互助合作調(diào)度服務(wù)器的作用,客戶端03作為互助組織中的一員并滿足前述的互助下載的條件,其下載了客戶端01需要的數(shù)據(jù),這樣客戶端01可以從客戶端03下載其需要的數(shù)據(jù),即實現(xiàn)了通過互助合作調(diào)度的目的,客戶端03幫助了客戶端01的數(shù)據(jù)下載;
6、下載客戶端01向統(tǒng)計服務(wù)器上報相關(guān)信息。同時統(tǒng)計服務(wù)器與互助合作調(diào)度服務(wù)器之間,互助合作調(diào)度服務(wù)器與P2PTracker服務(wù)器組之間進(jìn)行信息同歩。下載客戶端下載完成后注冊文件信息到Tracker服務(wù)器,其他客戶端可以通過Tracker服務(wù)查詢到已經(jīng)下載完成的Peer和正在下載的Peer ;上述整個下載過程可形成一個循環(huán),任何時候ー個下載客戶端下載完成后都需要執(zhí)行這個注冊的動作,這是ー個固定的例行動作。在本發(fā)明實施例中,在服務(wù)器端引入獨立的互助合作調(diào)度服務(wù)器,激勵客戶端用戶主動加入互助合作下載組織,讓客戶端之間相互幫助代理下載,増加網(wǎng)絡(luò)中稀缺資源的副本數(shù)目能夠有效解決網(wǎng)絡(luò)連通性和服務(wù)器對單個客戶端帶寬限制的問題。同時,在本發(fā)明的ー些具體實施例中,通過定義下載服務(wù)優(yōu)先級激勵客戶端進(jìn)行互助下載,形成了 ー套完善的P2SP系統(tǒng)中增強(qiáng)整體下載性能的技術(shù)框架。同時,在本發(fā)明實施例中僅調(diào)度愿意提供互助下載的注冊用戶節(jié)點進(jìn)行互助下載,不會在用戶不知情的情況下利用用戶客戶端本地的空間和帶寬,避免造成用戶的方案和其對安全情況的擔(dān)憂。本領(lǐng)域普通技術(shù)人員可以理解實現(xiàn)上述實施例方法中的全部或部分流程,是可以通過計算機(jī)程序來指令相關(guān)的硬件來完成,所述的程序可存儲于一計算機(jī)可讀取存儲介質(zhì)中,該程序在執(zhí)行時,可包括如上述各方法的實施例的流程。其中,所述的存儲介質(zhì)可為磁碟、光盤、只讀存儲記憶體(Read-Only Memory, ROM)或隨機(jī)存儲記憶體(Random AccessMemory, RAM)等。以上所揭露的僅為本發(fā)明ー種較佳實施例而已,當(dāng)然 不能以此來限定本發(fā)明之權(quán)利范圍,因此依本發(fā)明權(quán)利要求所作的等同變化,仍屬本發(fā)明所涵蓋的范圍。
權(quán)利要求
1.ー種網(wǎng)絡(luò)傳輸系統(tǒng),其特征在于,所述系統(tǒng)包括 資源索引服務(wù)器,用于根據(jù)客戶端的請求向客戶端返回可供下載的資源鏈接集合,客戶端可通過連接所述資源鏈接下載資源; 跟蹤服務(wù)器,用于獲取具有所述客戶端要下載資源的用戶節(jié)點集合,并反饋給所述客戶端; 互助合作調(diào)度服務(wù)器,用于接受用戶節(jié)點加入互助合作組織的注冊,在客戶端下載資源的過程中調(diào)度愿意提供互助下載的注冊用戶節(jié)點進(jìn)行所述資源片段的下載,與所述跟蹤服務(wù)器同步具有所述客戶端要下載資源的用戶節(jié)點集合。
2.如權(quán)利要求I所述的系統(tǒng),其特征在于,所述互助合作調(diào)度服務(wù)器包括注冊模塊,用于注冊用戶節(jié)點,記錄所述用戶節(jié)點的網(wǎng)絡(luò)服務(wù)提供商、用于互助下載的磁盤空間、上傳帶寬中的ー個或多個。
3.如權(quán)利要求I所述的系統(tǒng),其特征在于,所述系統(tǒng)還包括統(tǒng)計服務(wù)器,用于統(tǒng)計用戶節(jié)點的文件下載信息、輔助下載源的信息和網(wǎng)絡(luò)情況信息,并上報給所述互助合作調(diào)度服務(wù)器; 所述互助合作調(diào)度服務(wù)器包括 調(diào)度模塊,用于根據(jù)所述客戶端下載資源的過程中所述統(tǒng)計服務(wù)器同步上報的信息,從愿意提供互助下載的注冊用戶節(jié)點中挑選用戶節(jié)點,井向其下發(fā)資源下載任務(wù)協(xié)助下載所述客戶端要下載的資源片段; 同步模塊,用于根據(jù)所述用戶節(jié)點的資源下載任務(wù)完成情況與所述跟蹤服務(wù)器同步具有所述客戶端要下載資源的用戶節(jié)點集合。
4.如權(quán)利要求3所述的系統(tǒng),其特征在于,所述統(tǒng)計服務(wù)器包括 互助統(tǒng)計模塊,用于統(tǒng)計所述用戶節(jié)點在互助合作中貢獻(xiàn)的上傳數(shù)據(jù)量信息,并根據(jù)所述上傳數(shù)據(jù)量信息調(diào)整所述用戶節(jié)點的下載服務(wù)優(yōu)先級,其中,下載服務(wù)優(yōu)先級較高的用戶節(jié)點優(yōu)先于優(yōu)先級較低的用戶節(jié)點獲得空閑用戶節(jié)點的下載輔助; 上報模塊,用于將所述資源下載統(tǒng)計模塊和互助統(tǒng)計模塊中統(tǒng)計的上報給所述互助合作調(diào)度服務(wù)器; 所述互助合作調(diào)度服務(wù)器的調(diào)度模塊還用于根據(jù)客戶端的下載服務(wù)優(yōu)先級調(diào)度相應(yīng)的用戶節(jié)點輔助所述客戶端進(jìn)行資源片段下載。
5.ー種互助合作調(diào)度服務(wù)器,其特征在于,所述互助合作調(diào)度服務(wù)器包括 注冊模塊,用于在互助合作組織中注冊用戶節(jié)點,記錄所述用戶節(jié)點的網(wǎng)絡(luò)服務(wù)提供商、用于互助下載的磁盤空間、上傳帶寬中的ー個或多個; 調(diào)度模塊,用于根據(jù)客戶端下載資源的過程中所述統(tǒng)計服務(wù)器同步上報的信息,從愿意提供互助下載的注冊用戶節(jié)點中挑選用戶節(jié)點,井向其下發(fā)資源下載任務(wù)協(xié)助下載所述客戶端要下載的資源片段; 同步模塊,用于根據(jù)所述用戶節(jié)點的資源下載任務(wù)完成情況更新具有所述客戶端要下載資源的用戶節(jié)點集合,以便客戶端實時根據(jù)所述用戶節(jié)點集合進(jìn)行資源下載。
6.如權(quán)利要求5所述的服務(wù)器,其特征在于,調(diào)度模塊還用于根據(jù)客戶端的下載服務(wù)優(yōu)先級調(diào)度相應(yīng)的用戶節(jié)點輔助所述客戶端進(jìn)行資源下載,其中,下載服務(wù)優(yōu)先級較高的用戶節(jié)點優(yōu)先于優(yōu)先級較低的用戶節(jié)點獲得空閑用戶節(jié)點的下載輔助,用戶節(jié)點在互助合作中貢獻(xiàn)的上傳數(shù)據(jù)量越高則其下載服務(wù)優(yōu)先級越高。
7.如權(quán)利要求5或6所述的服務(wù)器,其特征在于,所述互助合作調(diào)度服務(wù)器集成在跟蹤服務(wù)器中。
8.一種客戶端,其特征在于,所述客戶端包括 資源索引請求模塊,用于向資源索引請求模塊獲取可供下載的資源鏈接集合,以便可通過連接所述資源鏈接下載資源; 用戶節(jié)點集合請求模塊,用于向跟蹤服務(wù)器獲取具有要下載資源的用戶節(jié)點集合; 互助合作注冊模塊,用于向互助合作調(diào)度服務(wù)器注冊加入互助合作組織,以便在進(jìn)行資源下載過程中使所述互助合作調(diào)度服務(wù)器調(diào)度愿意提供互助下載的注冊用戶節(jié)點進(jìn)行所述資源片段的下載,増加具有要下載資源的用戶節(jié)點集合中的用戶節(jié)點; 下載模塊,用于根據(jù)資源索引請求模塊獲得的資源鏈接集合和實時增加的用戶節(jié)點集合進(jìn)行資源下載。
9.如權(quán)利要求8所述的客戶端,其特征在于,所述互助合作注冊模塊在向互助合作調(diào)度服務(wù)器注冊加入互助合作組織時的注冊信息包括所述客戶端當(dāng)前的網(wǎng)絡(luò)服務(wù)提供商、用于互助下載的磁盤空間、上傳帶寬中的ー個或多個。
10.如權(quán)利要求8所述的客戶端,其特征在于,客戶端還包括 互助任務(wù)模塊,用于接受互助合作調(diào)度服務(wù)器調(diào)度的互助下載任務(wù),并進(jìn)行資源片段的下載; 互助資源注冊模塊,用于當(dāng)完成所述資源片段下載后向跟蹤服務(wù)器進(jìn)行注冊,以便跟蹤服務(wù)器向相應(yīng)的用戶節(jié)點發(fā)布增加后的用戶節(jié)點集合。
11.如權(quán)利要求8至10中任一項所述的客戶端,其特征在于,所述客戶端還包括 查詢模塊,用于向統(tǒng)計服務(wù)器查詢當(dāng)前的下載服務(wù)優(yōu)先級,其中,下載服務(wù)優(yōu)先級較高的用戶節(jié)點優(yōu)先于優(yōu)先級較低的用戶節(jié)點獲得空閑用戶節(jié)點的下載輔助。
全文摘要
本發(fā)明實施例公開了一種網(wǎng)絡(luò)傳輸系統(tǒng)、服務(wù)器和客戶端,該系統(tǒng)包括資源索引服務(wù)器,用于根據(jù)客戶端的請求向客戶端返回可供下載的資源鏈接集合,客戶端可通過連接所述資源鏈接下載資源;跟蹤服務(wù)器,用于獲取具有所述客戶端要下載資源的用戶節(jié)點集合,并反饋給所述客戶端;互助合作調(diào)度服務(wù)器,用于接受用戶節(jié)點加入互助合作組織的注冊,在客戶端下載資源的過程中調(diào)度愿意提供互助下載的注冊用戶節(jié)點進(jìn)行所述資源片段的下載,與所述跟蹤服務(wù)器同步具有所述客戶端要下載資源的用戶節(jié)點集合。采用本發(fā)明,可以讓客戶端之間相互幫助代理下載任務(wù),增加網(wǎng)絡(luò)中稀缺資源的副本數(shù)目,有效解決網(wǎng)絡(luò)連通性和服務(wù)器對單個下載任務(wù)帶寬輸出限制的問題。
文檔編號H04L29/06GK102685075SQ20111006191
公開日2012年9月19日 申請日期2011年3月15日 優(yōu)先權(quán)日2011年3月15日
發(fā)明者劉剛, 曹楊, 黃琰 申請人:騰訊科技(深圳)有限公司