專利名稱:一種基于p2p的文件分發(fā)系統(tǒng)及分片方法
技術(shù)領(lǐng)域:
本發(fā)明屬于P2P技術(shù)領(lǐng)域,具體涉及一種基于P2P的文件分發(fā)系統(tǒng)及分片方法。
背景技術(shù):
P2P(Peer to Peer)網(wǎng)絡(luò)是一種資源分布利用與共享的網(wǎng)絡(luò)體系架構(gòu),在進行通信時,各個節(jié)點之間是對等的,即每一個節(jié)點既可以是客戶端,也可以是服務(wù)器。P2P網(wǎng)絡(luò)通過將原本在集中式服務(wù)器完成的服務(wù)功能分散到用戶端完成,解決網(wǎng)絡(luò)擁塞和服務(wù)器帶寬瓶頸等問題。P2P文件分發(fā)采用了分片的方法來進行數(shù)據(jù)交互,也就是將文件劃分為許多長度相同或者不同的數(shù)據(jù)塊,然后以數(shù)據(jù)塊為單位進行傳輸。所述分片是一種計算方法,根據(jù)該計算方法,文件分發(fā)系統(tǒng)能夠計算出一個文件的第幾個分片在文件的哪個位置,這樣在回復(fù)數(shù)據(jù)時就可以到計算出的位置處將所需大小的分片數(shù)據(jù)讀取出來用于回復(fù)。目前的 P2P下載系統(tǒng)的分片的大小是固定的,文件分發(fā)系統(tǒng)的分片大小也是固定的,在文件分發(fā)系統(tǒng)中,分片方法采用了三級的分片方法,具體分片方法如下首先一個文件被分成段,段為一級分片,目前的系統(tǒng)中段的大小是固定的,具體可以為4M ;其次是將段再進行分片,為二級分片,二級分片是文件分發(fā)系統(tǒng)客戶端共享的單位,即只有文件分發(fā)系統(tǒng)客戶端下載完一個完整的二級分片,才可以將這部分?jǐn)?shù)據(jù)對外提供共享,目前系統(tǒng)中二級分片的大小是固定的,具體可以為16KB;然后在二級分片的基礎(chǔ)上再進行三級分片,三級分片是文件分發(fā)系統(tǒng)客戶端在進行數(shù)據(jù)交互時的傳輸單位,目前系統(tǒng)的三級分片的大小是固定的,具體可以為1KB。文件分發(fā)系統(tǒng)建立分片的同時也建立了對應(yīng)的索引信息,索引信息表示一個文件的分片情況。文件分發(fā)系統(tǒng)客戶端在進行文件數(shù)據(jù)共享時,共享的雙方通過索引信息交互知道對端是否存在自身所需要的數(shù)據(jù)。索引信息為二進制數(shù)據(jù),每一位數(shù)據(jù)都表示相應(yīng)的分片是否存在,為1表示相應(yīng)的分片存在,為0表示相應(yīng)的分片不存在。如果分片劃分得過小,雖然有利于服務(wù)節(jié)點之間的數(shù)據(jù)共享,但會導(dǎo)致索引信息所占用字節(jié)數(shù)比較多,過多的索引信息在網(wǎng)絡(luò)之間傳輸會占用消耗一定的帶寬;而如果將分片劃分得比較粗,則會影響服務(wù)節(jié)點之間的數(shù)據(jù)共享,因為只有索引信息相對應(yīng)的位為1 時,該數(shù)據(jù)才能夠?qū)ν夤蚕?。在有些?yīng)用中,比如EPG的內(nèi)容同步中,主要下載的是大量小文件,而在CDN的媒體文件分發(fā)中,主要下載的是比較大的視頻文件;針對不同大小的文件采用固定的分片方法,會降低網(wǎng)絡(luò)利用率。在文件分發(fā)系統(tǒng)的系統(tǒng)中數(shù)據(jù)傳輸采用的是UDP協(xié)議,由于MTU的限制,目前系統(tǒng)的數(shù)據(jù)傳輸單位為1KB,這樣固定大小的傳輸單位無法適應(yīng)網(wǎng)絡(luò)帶寬的動態(tài)變化,在網(wǎng)絡(luò)帶寬比較好的下,1KB的大小比較合適,而在網(wǎng)絡(luò)帶寬波動比較大的情況下,1KB的大小可能會導(dǎo)致丟包或者造成網(wǎng)絡(luò)傳輸?shù)膿砣?,降低了傳輸效率?br>
發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問題是提供一種基于P2P的文件分發(fā)系統(tǒng)的分片方法,該分片方法能夠根據(jù)網(wǎng)絡(luò)帶寬的變化來動態(tài)調(diào)整數(shù)據(jù)傳輸級分片的大小,由于該傳輸級分片為數(shù)據(jù)交互時的傳輸單位,因此能夠提高數(shù)據(jù)傳輸?shù)男省1景l(fā)明提供一種基于P2P的文件分發(fā)系統(tǒng),該系統(tǒng)能夠根據(jù)網(wǎng)絡(luò)帶寬的變化來動態(tài)調(diào)整數(shù)據(jù)傳輸單位的大小,從而提高數(shù)據(jù)傳輸?shù)男?。本發(fā)明提供一種基于P2P的文件分發(fā)系統(tǒng)的分片方法,該方法包括在文件分發(fā)過程中,將待下載的文件進行分片,所述分片包括共享級分片和傳輸級分片,且最后一級分片為傳輸級分片,其中,在傳輸過程中根據(jù)本地節(jié)點與服務(wù)節(jié)點之間的網(wǎng)絡(luò)資源狀況動態(tài)調(diào)整所述傳輸級分片的大小。作為本發(fā)明的進一步改進,在對待下載的文件進行分片時,根據(jù)待下載文件的大小對應(yīng)的文件大小范圍確定共享級分片的大小。所述本地節(jié)點與服務(wù)節(jié)點之間的網(wǎng)絡(luò)資源狀況包括一段時間內(nèi)本地節(jié)點與服務(wù)節(jié)點間的交互數(shù)據(jù)量、丟包率和延時大小中一個或多個信息。本發(fā)明還提供一種基于P2P的文件分發(fā)系統(tǒng)的文件下載方法,該方法包括以下步驟1)、本地節(jié)點在進行P2P文件下載時,將待下載的文件進行分片,建立該待下載文件的索引信息,所述待下載文件的索引信息包括分片得到的各級片段的索引信息,每級索引信息包括對應(yīng)片段的分片位置信息,所述分片包括共享級分片及傳輸級分片,且傳輸級分片的初始大小為默認(rèn)值;2)、本地節(jié)點向服務(wù)器申請到下載節(jié)點信息后,確定待下載文件的共享級分片所對應(yīng)的下載節(jié)點;3)、本地節(jié)點向確定的下載節(jié)點發(fā)送針對共享級分片的下載請求,其中含有需要從該下載節(jié)點下載的共享級分片的索引信息以及確定的傳輸級分片的大小,并且在傳輸過程中根據(jù)與服務(wù)節(jié)點間的網(wǎng)絡(luò)資源狀況動態(tài)調(diào)整傳輸級分片的大?。?)、本地節(jié)點收到下載節(jié)點回復(fù)的數(shù)據(jù)后將文件數(shù)據(jù)保存。本發(fā)明還提供一種基于P2P的文件分發(fā)系統(tǒng),該系統(tǒng)包括本地節(jié)點,在進行P2P文件下載時,將待下載的文件進行分片,建立該待下載文件的索引信息,所述待下載文件的索引信息包括分片得到的各級片段的索引信息,每級索引信息包括對應(yīng)片段的分片位置信息,所述分片包括共享級分片及傳輸級分片,且傳輸級分片的大小為初始默認(rèn)值;然后向服務(wù)器申請下載節(jié)點信息,收到回復(fù)后向確定的下載節(jié)點發(fā)送針對共享級分片的下載請求,其中,該下載請求中含有需要從該下載節(jié)點下載的共享級分片的索引信息以及確定的傳輸級分片的大小,在傳輸過程中根據(jù)與服務(wù)節(jié)點之間的網(wǎng)絡(luò)資源狀況動態(tài)調(diào)整所述傳輸級分片的大小;接收下載節(jié)點回復(fù)的數(shù)據(jù);服務(wù)器,向本地節(jié)點提供索引信息及數(shù)據(jù)信息;在收到本地節(jié)點的下載節(jié)點請求后,向本地節(jié)點提供下載節(jié)點信息;下載節(jié)點,根據(jù)所述本地節(jié)點發(fā)送的針對共享級分片的下載請求,向該本地節(jié)點提供文件數(shù)據(jù);所述下載節(jié)點是服務(wù)器或者服務(wù)節(jié)點。本發(fā)明提出的基于P2P的文件分發(fā)系統(tǒng)及分片方法,能夠在下載過程中根據(jù)網(wǎng)絡(luò)帶寬的變化動態(tài)的調(diào)整數(shù)據(jù)傳輸單位的大小,以保證文件分發(fā)系統(tǒng)的傳輸性能能夠適應(yīng)網(wǎng)絡(luò)帶寬的變化,從而提高數(shù)據(jù)傳輸?shù)男?,擴大了文件分發(fā)系統(tǒng)的應(yīng)用范圍。
圖1為本發(fā)明實施例所述的三級自適應(yīng)分片方法示意圖;圖2為本發(fā)明實施例所述的四級自適應(yīng)分片方法示意圖;圖3為本發(fā)明實施例所述的基于P2P的文件分發(fā)系統(tǒng)的文件下載方法流程圖;圖4為本發(fā)明實施例所述的文件分發(fā)系統(tǒng)總體架構(gòu)示意圖。
具體實施例方式本發(fā)明提供一種基于P2P的文件分發(fā)系統(tǒng)的分片方法,該方法包括在文件分發(fā)過程中,將待下載的文件進行分片,所述分片包括共享級分片和傳輸級分片,且最后一級分片為傳輸級分片,其中,在傳輸過程中根據(jù)本地節(jié)點與服務(wù)節(jié)點之間的網(wǎng)絡(luò)資源狀況動態(tài)調(diào)整所述傳輸級分片的大??;具體的,所述本地節(jié)點與服務(wù)節(jié)點之間的網(wǎng)絡(luò)資源狀況包括一段時間內(nèi)本地節(jié)點與服務(wù)節(jié)點間的交互數(shù)據(jù)量、丟包率和延時大小中一個或多個信息,在對待下載的文件進行初始分片時,根據(jù)待下載文件的大小對應(yīng)的文件大小范圍確定共享級分片的大小,而傳輸級分片的大小初始為默認(rèn)值。下面結(jié)合附圖對本發(fā)明優(yōu)選的實施例進行詳細(xì)說明。作為本發(fā)明提供的第一實施例,如圖1所示,采用三級分片方法,根據(jù)文件大小確定第一、二級分片的大小,所述一、二級分片為共享級分片,其中二級分片作為節(jié)點間進行數(shù)據(jù)交互時的數(shù)據(jù)共享單位,第三級分片為傳輸級分片,即節(jié)點間進行數(shù)據(jù)傳輸時的傳輸單位,第三級分片的大小采用默認(rèn)值,具體可以為1KB,在傳輸過程中,可以根據(jù)網(wǎng)絡(luò)狀況對第三級分片大小進行動態(tài)調(diào)整。具體分片方法如下第一級分片及第二級分片的方法如下當(dāng)文件大小大于12MB時,則第一級分片分割成的段11大小為4M,第二級分片分割成的塊12大小為16KB ;當(dāng)文件大小介于4MB到12MB之間時,則段11大小為3MB,塊12大小為16KB ;當(dāng)文件大小介于2MB到4MB之間時,則段11大小為2MB,塊12大小為8KB ;當(dāng)文件大小介于1MB到2MB之間時,則段11大小為1MB,塊12大小為4KB ;當(dāng)文件大小小于1MB時,則段11大小為1MB,塊12大小為2KB。第三級分片13的大小為64字節(jié)的整數(shù)倍,具體可以為1KB、512字節(jié)、256字節(jié)、 128字節(jié)、64字節(jié)等;由于三級分片是進行數(shù)據(jù)交互時的傳輸單位,因此傳輸單位最大為 1KB,最小為64字節(jié)。相應(yīng)的,在對文件進行三級分片的同時建立該文件對應(yīng)的索引信息,該索引信息也分為三級,各級索引信息分別表示對應(yīng)級別的分片的位置信息。作為本發(fā)明提供的第二實施例,如圖2所示,采用四級分片方法,該分片方法根據(jù)文件大小確定第一、二、三分片的大小,所述一、二、三級分片為共享級分片,其中二級分片作為節(jié)點間進行數(shù)據(jù)交互時的數(shù)據(jù)共享單位,第四級分片為傳輸級分片,四級分片為節(jié)點間進行數(shù)據(jù)傳輸時的傳輸單位,分片時四級分片的大小采用初始默認(rèn)值,具體可以為1KB, 在傳輸過程中可以根據(jù)網(wǎng)絡(luò)狀況動態(tài)調(diào)整第四級分片的大??;具體分片方法如下第一級分片及第二級分片的方法如下
當(dāng)文件大小大于12MB時,則第一級分片分割成的段21大小為4M,第二級分片分割成的塊22大小為16KB ;當(dāng)文件大小介于4MB到12MB之間時,則段21大小為3MB,塊22大小為16KB ;當(dāng)文件大小介于2MB到4MB之間時,則段21大小為2MB,塊22大小為8KB ;當(dāng)文件大小介于1MB到2MB之間時,則段21大小為1MB,塊22大小為4KB ;當(dāng)文件大小小于1MB時,則段21大小為1MB,塊22大小為IB。第三級分片23的大小固定為1KB ;第四級分片M是在三級分片1KB的傳輸單位基礎(chǔ)上再進行一次細(xì)分,其大小為64 字節(jié)的整數(shù)倍,具體可以為1KB、512字節(jié)、256字節(jié)、1 字節(jié)、64字節(jié)等;由于四級分片是進行數(shù)據(jù)交互時的傳輸單位,因此傳輸單位最大為1KB,最小為64字節(jié)。對文件進行分片后,建立該文件對應(yīng)的索引信息,該索引信息也分為四級,分別表示對應(yīng)級別的分片的位置信息,即該文件被分成了多少個段、每個段被分成多少個塊,最后一段最后一塊的大小等信息。例如,對于一個大小為20. 51MB的文件,根據(jù)本發(fā)明所述自適應(yīng)分片方法,在文件分發(fā)系統(tǒng)和文件分發(fā)系統(tǒng)DTS_S_SP維護相同的索引信息;由于該文件大于12MB,則一級分片分割成的段大小為4MB,可知在索引信息中文件被分為6個段,二級分片分割成的塊大小為16KB,則可知索引信息中前5個段分別包含256個塊,最后一段包含33個塊,最后一段的最后一塊的大小為10. 14KB。本發(fā)明還提供一種基于P2P的文件分發(fā)系統(tǒng)的文件下載方法,如圖3所示,該方法包括以下步驟步驟301:開始;步驟302 本地節(jié)點獲得下載指令;步驟303 本地節(jié)點向服務(wù)器申請待下載文件的文件屬性信息,該文件屬性信息具體可以為文件的CID和文件大小信息,得到該文件屬性信息后將待下載的文件進行分片,根據(jù)待下載文件大小對應(yīng)的文件大小范圍確定共享級分片的大小,對傳輸級分片的大小采用默認(rèn)設(shè)置,并保存相應(yīng)的索引信息;具體的,可以如實施例一所述根據(jù)待下載文件的大小進行共享級分片,即所述共享級分片可以為實施例一中所述的一級分片、二級分片,而實施例一中所述的三級分片為傳輸級分片,其大小初始默認(rèn)值設(shè)置為1KB,在傳輸過程中可根據(jù)網(wǎng)絡(luò)狀態(tài)進行調(diào)整;也可以根據(jù)實施例二中所述的根據(jù)待下載文件的大小進行共享級分片,即所述共享級分片可以為實施例二中所述的一級分片、二級分片及三級分片,而實施例二中所述的四級分片為傳輸級分片,其大小初始默認(rèn)值設(shè)置為1KB,在傳輸過程中可根據(jù)網(wǎng)絡(luò)狀態(tài)進行調(diào)整。步驟304 本地節(jié)點向服務(wù)器申請到下載節(jié)點信息后,確定待下載文件的共享級分片所對應(yīng)的下載節(jié)點,此處所述共享級分片可以是實施例一中所述的二級分片,也可以是實施例二中所述的二級分片;具體的,所述下載節(jié)點可以是服務(wù)節(jié)點,也可以是服務(wù)器。步驟305 本地節(jié)點向確定的下載節(jié)點發(fā)送針對共享級分片的下載請求,并且根據(jù)本地節(jié)點與下載節(jié)點間的網(wǎng)絡(luò)資源狀況確定傳輸單位大小,也就是傳輸級分片的大小;具體的,本地節(jié)點在向下載節(jié)點請求數(shù)據(jù)時會請求文件CID,段號、塊號、分片號、相對于分片的偏移,需要讀取的字節(jié)數(shù),該字節(jié)數(shù)具體為64字節(jié)的整數(shù)倍;所述網(wǎng)絡(luò)資源狀況是指一段時間內(nèi)本地節(jié)點與下載節(jié)點間的交互數(shù)據(jù)量、丟包率和延時大小中一個或多個信息;優(yōu)選的,所述一段時間具體可以是& ;由于傳輸級分片初始默認(rèn)大小為1KB,因此傳輸單位初始默認(rèn)值為1KB,當(dāng)網(wǎng)絡(luò)狀況變差時,重新調(diào)整傳輸級分片的大小,使其以2的倍數(shù)遞減,該傳輸級分片的大小始終為64字節(jié)的整數(shù)倍,最小為 64字節(jié),最大為1KB;當(dāng)調(diào)整傳輸級分片的大小時,同時修改相應(yīng)的索引信息,使得索引信息中的文件分片大小與實際文件分片大小始終一致;具體的,所述傳輸級分片可以是實施例一中所述的第三級分片,也可以是實施例二中所述的第四級分片。步驟306 下載節(jié)點向本地節(jié)點發(fā)送數(shù)據(jù)回復(fù),具體的,在回復(fù)數(shù)據(jù)時會回復(fù)文件 CID,段號、塊號、分片號、相對于分片的偏移,共享的數(shù)據(jù)的字節(jié)數(shù)以及實際的文件數(shù)據(jù);步驟307 本地節(jié)點在在接收到下載節(jié)點回復(fù)的數(shù)據(jù)后,將實際的文件數(shù)據(jù)寫入到相應(yīng)的內(nèi)存位置中,并對相應(yīng)的索引信息進行置位,當(dāng)最低一級索引信息數(shù)據(jù)填充完整后,則對上一級索引進行置位;步驟308 接收到相應(yīng)的數(shù)據(jù)則對相應(yīng)位置索引進行置位,若共享級數(shù)據(jù)塊索引置位為0時,則繼續(xù)步驟305,直到當(dāng)共享級分片最低一級分片數(shù)據(jù)索引置位為1時,繼續(xù)步驟 309 ;例如,當(dāng)最低一級索引為實施例二中所述的四級索引信息時,當(dāng)本地節(jié)點接收到回復(fù)并將實際文件數(shù)據(jù)寫入到相應(yīng)的內(nèi)存位置后,對四級索引進行置位,即將相應(yīng)的四級索引位置置位為1,當(dāng)1KB數(shù)據(jù)填充完整后,則對三級索引位置進行置位,直到當(dāng)二級分片數(shù)據(jù)填充完整,則對二級索引進行置位,直到二級索引位置置位為1時,結(jié)束此次數(shù)據(jù)傳輸,該數(shù)據(jù)塊就可以對外共享了。步驟309 結(jié)束此次數(shù)據(jù)傳輸。如圖4所示,本發(fā)明還提供一種基于P2P的文件分發(fā)系統(tǒng),該系統(tǒng)包括本地節(jié)點,在進行P2P文件下載時,將待下載的文件進行分片,建立該待下載文件的索引信息,所述待下載文件的索引信息包括分片得到的各級片段的索引信息,每級索引信息包括對應(yīng)片段的分片位置信息,所述分片包括共享級分片及傳輸級分片,且傳輸級分片的大小為初始默認(rèn)值;然后向服務(wù)器申請下載節(jié)點信息,收到回復(fù)后向確定的下載節(jié)點發(fā)送針對共享級分片的下載請求,其中,該下載請求中含有需要從該下載節(jié)點下載的共享級分片的索引信息以及確定的傳輸級分片的大小,在傳輸過程中根據(jù)與服務(wù)節(jié)點之間的網(wǎng)絡(luò)資源狀況動態(tài)調(diào)整所述傳輸級分片的大??;接收下載節(jié)點回復(fù)的數(shù)據(jù)。服務(wù)器,向本地節(jié)點提供索引信息及數(shù)據(jù)信息;在收到本地節(jié)點的下載節(jié)點請求后,向本地節(jié)點提供下載節(jié)點信息;具體的,所述服務(wù)器可以包括以下三個模塊內(nèi)容管理模塊DTS_S_SM,對片庫上的相關(guān)目錄進行監(jiān)控,實時監(jiān)測到文件的添加及刪除事件,并通知節(jié)點索引模塊文件變化的情況;節(jié)點索引模塊DTS_S_RM,提供節(jié)點索引信息,即需要下載的文件分別在哪些下載節(jié)點上,所述下載節(jié)點包括服務(wù)器及服務(wù)節(jié)點。具體的,節(jié)點索引模塊用于根據(jù)所述本地節(jié)點的請求提供待下載文件的CID和文件大小信息;根據(jù)所述本地節(jié)點的請求向所述服務(wù)節(jié)點提供待下載文件的共享級分片所對應(yīng)的下載節(jié)點信息;
8
靜態(tài)節(jié)點模塊DTS_S_SP,接收節(jié)點索引模塊的上線消息,以及根據(jù)本地節(jié)點發(fā)送的針對共享級分片的下載請求,將數(shù)據(jù)回復(fù)給本地節(jié)點。下載節(jié)點,根據(jù)所述本地節(jié)點發(fā)送的針對共享級分片的下載請求,向該本地節(jié)點提供文件數(shù)據(jù);具體的,該下載節(jié)點可以是服務(wù)節(jié)點,也可以是靜態(tài)節(jié)點模塊DTS_S_SP。本發(fā)明提出的基于P2P的文件分發(fā)系統(tǒng)的分片方法,能夠根據(jù)待下載文件的大小自適應(yīng)的進行分片的調(diào)整,從而使得大小不一的文件能夠取得類似的P2P分發(fā)性能,并且能夠在下載過程中根據(jù)網(wǎng)絡(luò)帶寬的變化動態(tài)的調(diào)整數(shù)據(jù)傳輸單位的大小,以保證文件分發(fā)系統(tǒng)的傳輸性能能夠適應(yīng)網(wǎng)絡(luò)帶寬的變化,從而提高數(shù)據(jù)傳輸?shù)男阅堋o@然,本領(lǐng)域的技術(shù)人員可以對本發(fā)明進行各種改動和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動和變型在內(nèi)。
權(quán)利要求
1.一種基于P2P的文件分發(fā)系統(tǒng)的分片方法,其特征在于,該方法包括在文件分發(fā)過程中,將待下載的文件進行分片,所述分片包括共享級分片和傳輸級分片,且最后一級分片為傳輸級分片,其中,在傳輸過程中根據(jù)本地節(jié)點與服務(wù)節(jié)點之間的網(wǎng)絡(luò)資源狀況動態(tài)調(diào)整所述傳輸級分片的大小。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,將待下載的文件進行分片時,根據(jù)待下載文件的大小對應(yīng)的文件大小范圍確定共享級分片的大小。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,本地節(jié)點與服務(wù)節(jié)點之間的網(wǎng)絡(luò)資源狀況包括一段時間內(nèi)本地節(jié)點與服務(wù)節(jié)點間的交互數(shù)據(jù)量、丟包率和延時大小中一個或多個fe息。
4.一種基于P2P的文件分發(fā)系統(tǒng)的文件下載方法,其特征在于,該方法包括以下步驟本地節(jié)點在進行P2P文件下載時,將待下載的文件進行分片,建立該待下載文件的索引信息,所述待下載文件的索引信息包括分片得到的各級片段的索引信息,每級索引信息包括對應(yīng)片段的分片位置信息,所述分片包括共享級分片及傳輸級分片,且傳輸級分片的初始大小為默認(rèn)值;本地節(jié)點向服務(wù)器申請到下載節(jié)點信息后,確定待下載文件的共享級分片所對應(yīng)的下載節(jié)點;本地節(jié)點向確定的下載節(jié)點發(fā)送針對共享級分片的下載請求,其中含有需要從該下載節(jié)點下載的共享級分片的索引信息以及確定的傳輸級分片的大小,并且在傳輸過程中根據(jù)與服務(wù)節(jié)點之間的網(wǎng)絡(luò)資源狀況動態(tài)調(diào)整傳輸級分片的大?。槐镜毓?jié)點接收下載節(jié)點回復(fù)的數(shù)據(jù)。
5.根據(jù)權(quán)利要求4所述的文件下載方法,其特征在于,本地節(jié)點與服務(wù)節(jié)點間的網(wǎng)絡(luò)資源狀況包括一段時間內(nèi)本地節(jié)點與服務(wù)節(jié)點間的交互數(shù)據(jù)量、丟包率和延時大小中一個或多個信息。
6.根據(jù)權(quán)利要求4所述的文件下載方法,其特征在于,將待下載的文件進行分片時,根據(jù)待下載文件的大小對應(yīng)的文件大小范圍確定共享級分片的大小。
7.一種基于P2P的文件分發(fā)系統(tǒng),其特征在于,該系統(tǒng)包括本地節(jié)點,在進行P2P文件下載時,將待下載的文件進行分片,建立該待下載文件的索引信息,所述待下載文件的索引信息包括分片得到的各級片段的索引信息,每級索引信息包括對應(yīng)片段的分片位置信息,所述分片包括共享級分片及傳輸級分片,且傳輸級分片的大小為初始默認(rèn)值;然后向服務(wù)器申請下載節(jié)點信息,收到回復(fù)后向確定的下載節(jié)點發(fā)送針對共享級分片的下載請求,其中,該下載請求中含有需要從該下載節(jié)點下載的共享級分片的索引信息以及確定的傳輸級分片的大小,在傳輸過程中根據(jù)與服務(wù)節(jié)點之間的網(wǎng)絡(luò)資源狀況動態(tài)調(diào)整所述傳輸級分片的大??;接收下載節(jié)點回復(fù)的數(shù)據(jù);服務(wù)器,向本地節(jié)點提供索引信息及數(shù)據(jù)信息;在收到本地節(jié)點的下載節(jié)點請求后,向本地節(jié)點提供下載節(jié)點信息;下載節(jié)點,根據(jù)所述本地節(jié)點發(fā)送的針對共享級分片的下載請求,向該本地節(jié)點提供文件數(shù)據(jù)。
8.根據(jù)權(quán)利要求7所述的系統(tǒng),其特征在于,將待下載的文件進行分片時,根據(jù)待下載文件的大小對應(yīng)的文件大小范圍確定共享級分片的大小。
9.根據(jù)權(quán)利要求7所述的系統(tǒng),其特征在于,所述索引信息保存在本地節(jié)點以及所述服務(wù)器中。
10.根據(jù)權(quán)利要求7所述的系統(tǒng),其特征在于,所述本地節(jié)點與服務(wù)節(jié)點之間的網(wǎng)絡(luò)資源狀況包括一段時間內(nèi)本地節(jié)點與服務(wù)節(jié)點間的交互數(shù)據(jù)量、丟包率和延時大小中一個或多個信息。
11.根據(jù)權(quán)利要求7所述的系統(tǒng),其特征在于,所述下載節(jié)點是服務(wù)節(jié)點或者服務(wù)器。
全文摘要
本發(fā)明提出了一種基于P2P的文件分發(fā)系統(tǒng)及分片方法。所述自適應(yīng)分片方法在文件分發(fā)過程中,將待下載的文件進行分片,且最后一級分片為傳輸級分片,其中,根據(jù)本地節(jié)點與服務(wù)節(jié)點間的網(wǎng)絡(luò)資源狀況動態(tài)調(diào)整所述傳輸級分片的大小,以保證文件分發(fā)系統(tǒng)的傳輸性能能夠適應(yīng)網(wǎng)絡(luò)帶寬的變化,從而提高數(shù)據(jù)傳輸?shù)男?,擴大了文件分發(fā)系統(tǒng)的應(yīng)用范圍。
文檔編號H04L29/08GK102170475SQ20111010263
公開日2011年8月31日 申請日期2011年4月22日 優(yōu)先權(quán)日2011年4月22日
發(fā)明者季健 申請人:中興通訊股份有限公司