欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

P2p網(wǎng)絡(luò)中文件傳輸?shù)姆椒?、系統(tǒng)及裝置的制作方法

文檔序號:7695573閱讀:194來源:國知局
專利名稱:P2p網(wǎng)絡(luò)中文件傳輸?shù)姆椒?、系統(tǒng)及裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及IP網(wǎng)絡(luò)通信領(lǐng)域,尤其涉及一種P2P網(wǎng)絡(luò)中文件傳輸?shù)姆椒ā?系統(tǒng)及裝置。
背景技術(shù)
在對等(peer to peer, P2P )網(wǎng)絡(luò)中,文件傳輸是P2P網(wǎng)絡(luò)的主要業(yè)務(wù)類 型之一,對于數(shù)據(jù)量較大的文件傳輸業(yè)務(wù),業(yè)務(wù)本身的穩(wěn)定性、吞吐量和可靠 性是十分重要的。
目前,在P2P網(wǎng)絡(luò)中,在兩個(gè)對等節(jié)點(diǎn)(peer)之間進(jìn)行文件傳輸時(shí),文 件的數(shù)據(jù)內(nèi)容通過一條路徑從源對等節(jié)點(diǎn)傳送至目的對等節(jié)點(diǎn)。假設(shè)源對等節(jié) 點(diǎn)為peer A,目的對等節(jié)點(diǎn)為peerB,在peerA向 peer B發(fā)送文件F時(shí),peer A將文件F的數(shù)據(jù)直接發(fā)送給peer B,或者,peer A選擇一個(gè)與peer B之間存 在可達(dá)路徑的轉(zhuǎn)發(fā)對等節(jié)點(diǎn)(Forwarding Peer, FP),將文件F的數(shù)據(jù)發(fā)送給 該轉(zhuǎn)發(fā)對等節(jié)點(diǎn),通過該轉(zhuǎn)發(fā)對等節(jié)點(diǎn)與peer B之間的路徑將文件F的數(shù)據(jù)發(fā) 送至peerB。
在實(shí)現(xiàn)本發(fā)明的過程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)中存在如下技術(shù)問題 一個(gè)peer對等節(jié)點(diǎn)通過一條路徑將文件發(fā)送給另 一個(gè)peer對等節(jié)點(diǎn),吞 吐量可能比較低,無法達(dá)到要求,而且在單路徑條件下P2P層的網(wǎng)絡(luò)本身無法 解決這一問題。如果P2P的下層網(wǎng)絡(luò)經(jīng)過多個(gè)運(yùn)營商或是自治域,依靠下層網(wǎng) 絡(luò)的技術(shù)優(yōu)化和協(xié)商來解決問題,時(shí)間和經(jīng)濟(jì)成本將是難以控制的,并且由于 該路徑上許多不確定因素的存在,例如鏈路發(fā)生故障、網(wǎng)絡(luò)發(fā)生擁塞等,使得 文件傳輸?shù)目煽啃院头€(wěn)定性較低。

發(fā)明內(nèi)容
本發(fā)明實(shí)施例4是供一種P2P網(wǎng)絡(luò)中文件傳輸?shù)姆椒?、系統(tǒng)及裝置,用以解 決現(xiàn)有P2P網(wǎng)絡(luò)中文件傳輸?shù)耐掏铝?、可靠性和穩(wěn)定性較低的問題。 本發(fā)明實(shí)施例提供一種P2P網(wǎng)絡(luò)中文件傳輸?shù)姆椒ǎ摲椒ò?源對等節(jié)點(diǎn)從P2P網(wǎng)絡(luò)中選擇一個(gè)或多個(gè)與目的對等節(jié)點(diǎn)之間在P2P層存 在可達(dá)路徑的轉(zhuǎn)發(fā)對等節(jié)點(diǎn),并將文件的數(shù)據(jù)發(fā)送給所述一個(gè)或多個(gè)轉(zhuǎn)發(fā)對等 節(jié)點(diǎn);
所述源對等節(jié)點(diǎn)以及所述一個(gè)或多個(gè)轉(zhuǎn)發(fā)對等節(jié)點(diǎn)向所述目的對等節(jié)點(diǎn) 并行發(fā)送所述文件的數(shù)據(jù)。
本發(fā)明實(shí)施例提供一種P2P網(wǎng)絡(luò)中文件傳輸?shù)南到y(tǒng),該系統(tǒng)包括 源對等節(jié)點(diǎn),用于向目的對等節(jié)點(diǎn)發(fā)送文件的數(shù)據(jù);從P2P網(wǎng)絡(luò)中選擇一
將所述文件的數(shù)據(jù)發(fā)送給所述一個(gè)或多個(gè)轉(zhuǎn)發(fā)對等節(jié)點(diǎn);
一個(gè)或多個(gè)轉(zhuǎn)發(fā)對等節(jié)點(diǎn),用于與所述源對等節(jié)點(diǎn)并行的向所述目的對等
節(jié)點(diǎn)發(fā)送所述文件的lt據(jù);
目的對等節(jié)點(diǎn),用于接收來自所述源對等節(jié)點(diǎn)和所述一個(gè)或多個(gè)轉(zhuǎn)發(fā)對等 節(jié)點(diǎn)的文件的數(shù)據(jù)。
本發(fā)明實(shí)施例提供一種文件發(fā)送裝置,該裝置包括
發(fā)送單元,用于向目的對等節(jié)點(diǎn)所述文件的數(shù)據(jù);
選擇單元,用于從P2P網(wǎng)絡(luò)中選擇一個(gè)或多個(gè)與所述目的對等節(jié)點(diǎn)之間在 P2P層存在可達(dá)路徑的轉(zhuǎn)發(fā)對等節(jié)點(diǎn);
數(shù)據(jù)單元,用于將所述文件的數(shù)據(jù)發(fā)送給所述一個(gè)或多個(gè)轉(zhuǎn)發(fā)對等節(jié)點(diǎn), 指示所述一個(gè)或多個(gè)轉(zhuǎn)發(fā)對等節(jié)點(diǎn)向所述目的對等節(jié)點(diǎn)發(fā)送所述文件的數(shù)據(jù)。
本發(fā)明實(shí)施例提供一種P2P網(wǎng)絡(luò)中文件傳輸?shù)姆椒?,該方法包?br> 源對等節(jié)點(diǎn)從P2P網(wǎng)絡(luò)中選擇至少兩個(gè)與目的對等節(jié)點(diǎn)之間在P2P層存在可達(dá)路徑的轉(zhuǎn)發(fā)對等節(jié)點(diǎn),并將文件的數(shù)據(jù)發(fā)送給所述至少兩個(gè)轉(zhuǎn)發(fā)對等節(jié) 點(diǎn);
所述至少兩個(gè)轉(zhuǎn)發(fā)對等節(jié)點(diǎn)向所述目的對等節(jié)點(diǎn)并行發(fā)送所述文件的數(shù)據(jù)。
本發(fā)明實(shí)施例提供一種P2P網(wǎng)絡(luò)中文件傳輸?shù)南到y(tǒng),該系統(tǒng)包括 源對等節(jié)點(diǎn),用于從P2P網(wǎng)絡(luò)中選擇至少兩個(gè)與目的對等節(jié)點(diǎn)之間在P2P 層存在可達(dá)路徑的轉(zhuǎn)發(fā)對等節(jié)點(diǎn),并將文件的數(shù)據(jù)發(fā)送給所述至少兩個(gè)轉(zhuǎn)發(fā)對
等節(jié)點(diǎn);
至少兩個(gè)轉(zhuǎn)發(fā)對等節(jié)點(diǎn),用于向所述目的對等節(jié)點(diǎn)并行發(fā)送所述文件的數(shù)
據(jù);
目的對等節(jié)點(diǎn),用于接收來自所述至少兩個(gè)轉(zhuǎn)發(fā)對等節(jié)點(diǎn)的文件的數(shù)據(jù)。
本發(fā)明實(shí)施例提供一種文件發(fā)送裝置,該裝置包括
選擇單元,用于從P2P網(wǎng)絡(luò)中選擇至少兩個(gè)在P2P層與目的對等節(jié)點(diǎn)之間 存在可達(dá)路徑的轉(zhuǎn)發(fā)對等節(jié)點(diǎn);
數(shù)據(jù)單元,用于將文件的數(shù)據(jù)發(fā)送給所述至少兩個(gè)轉(zhuǎn)發(fā)對等節(jié)點(diǎn),指示所 述至少兩個(gè)轉(zhuǎn)發(fā)對等節(jié)點(diǎn)向所述目的對等節(jié)點(diǎn)發(fā)送所述文件的數(shù)據(jù)。
本發(fā)明中,在源對等節(jié)點(diǎn)向目的對等節(jié)點(diǎn)發(fā)送文件時(shí),利用至少兩個(gè)轉(zhuǎn)發(fā) 對等節(jié)點(diǎn)向目的對等節(jié)點(diǎn)傳輸文件,或者,源對等節(jié)點(diǎn)和一個(gè)或多個(gè)轉(zhuǎn)發(fā)對等 節(jié)點(diǎn)同時(shí)向目的對等節(jié)點(diǎn)傳輸文件,從而在P2P層實(shí)現(xiàn)了通過并行路徑進(jìn)行文 件傳輸,有助于提高傳輸?shù)耐掏侣省⒖煽啃院头€(wěn)定性。


圖1為本發(fā)明實(shí)施例所提供方法的流程示意圖2A為本發(fā)明實(shí)施例所提供方法中轉(zhuǎn)發(fā)表的內(nèi)容示意圖2B為本發(fā)明實(shí)例一的流程示意圖3為本發(fā)明實(shí)施例所提供方法的流程示意圖;圖4A為本發(fā)明實(shí)例二的流程示意圖4B為本發(fā)明實(shí)施例所提供方法中狀態(tài)報(bào)告的內(nèi)容示意圖5為本發(fā)明實(shí)施例所提供系統(tǒng)的結(jié)構(gòu)示意圖6為本發(fā)明實(shí)施例所提供裝置的結(jié)構(gòu)示意圖7為本發(fā)明實(shí)施例所提供系統(tǒng)的結(jié)構(gòu)示意圖8為本發(fā)明實(shí)施例所提供裝置的結(jié)構(gòu)示意圖。
具體實(shí)施例方式
為了提高P2P網(wǎng)絡(luò)中文件傳輸?shù)耐掏铝?、可靠性和穩(wěn)定性,本發(fā)明實(shí)施例 提供P2P網(wǎng)絡(luò)中文件傳輸?shù)姆椒ǎ痉椒ㄖ?,源對等?jié)點(diǎn)與目的對等節(jié)點(diǎn)之間 采用多條路徑傳輸文件,可以有效地提高網(wǎng)絡(luò)的吞吐率以及文件傳輸?shù)目煽啃?和穩(wěn)定性。本發(fā)明所提及的文件包括但不限于 一段數(shù)據(jù)、音視頻文件、文檔 等。
本發(fā)明實(shí)施例提供的P2P網(wǎng)絡(luò)中文件傳輸?shù)姆椒?,具體有以下兩種實(shí)施

實(shí)施例一
參見圖1,具體包括以下步驟
步驟10:源對等節(jié)點(diǎn)向目的對等節(jié)點(diǎn)傳送文件時(shí),從P2P網(wǎng)絡(luò)中選擇一 個(gè)或多個(gè)與目的對等節(jié)點(diǎn)之間在P2P層存在可達(dá)路徑的轉(zhuǎn)發(fā)對等節(jié)點(diǎn) ,(Forwarding Peer, FP);
本步驟中,選擇轉(zhuǎn)發(fā)對等節(jié)點(diǎn)的具體方法為
源對等節(jié)點(diǎn)向P2P網(wǎng)絡(luò)中與自身存在直聯(lián)路徑的對等節(jié)點(diǎn)發(fā)送文件轉(zhuǎn)發(fā)
請求;
收到文件轉(zhuǎn)發(fā)請求的對等節(jié)點(diǎn),可以根據(jù)該請求中所攜帶的信息,如需要 轉(zhuǎn)發(fā)的文件信息、目的對等節(jié)點(diǎn)信息等,以及自身是否與目的對等節(jié)點(diǎn)存在可 達(dá)路徑和自身目前的工作狀態(tài)等,選擇接受該文件轉(zhuǎn)發(fā)請求或拒絕該文件轉(zhuǎn)發(fā)請求。若接受該文件轉(zhuǎn)發(fā)請求,則向源對等節(jié)點(diǎn)發(fā)送接受響應(yīng),若拒絕該文件 轉(zhuǎn)發(fā)請求,則向源對等節(jié)點(diǎn)發(fā)送拒絕響應(yīng)。接受文件轉(zhuǎn)發(fā)請求的對等節(jié)點(diǎn)可以 對文件轉(zhuǎn)發(fā)進(jìn)行計(jì)費(fèi),在向源對等節(jié)點(diǎn)發(fā)送接受響應(yīng)中可以攜帶計(jì)費(fèi)規(guī)則等相
關(guān)信息;
源對等節(jié)點(diǎn)接收到對文件轉(zhuǎn)發(fā)請求的接受響應(yīng)和/或拒絕響應(yīng)后,從各個(gè)接 受響應(yīng)中提取出響應(yīng)發(fā)出對等節(jié)點(diǎn)標(biāo)識,按照一定的規(guī)則,從提取出的各個(gè)響 應(yīng)發(fā)出對等節(jié)點(diǎn)標(biāo)識中選擇一個(gè)或多個(gè)對等節(jié)點(diǎn)標(biāo)識,并將選擇的對等節(jié)點(diǎn)標(biāo) 識所對應(yīng)的對等節(jié)點(diǎn)作為用于向目的對等節(jié)點(diǎn)轉(zhuǎn)發(fā)文件的轉(zhuǎn)發(fā)對等節(jié)點(diǎn)。上述 規(guī)則可以是按響應(yīng)到達(dá)時(shí)間順序選取、隨機(jī)選取等。轉(zhuǎn)發(fā)對等節(jié)點(diǎn)確定后,可 以將各個(gè)轉(zhuǎn)發(fā)對等節(jié)點(diǎn)的信息發(fā)送給目的對等節(jié)點(diǎn)。
步驟11:將文件的數(shù)據(jù)發(fā)送給選擇的一個(gè)或多個(gè)轉(zhuǎn)發(fā)對等節(jié)點(diǎn); 實(shí)現(xiàn)本步驟的方式可以是,向每個(gè)轉(zhuǎn)發(fā)對等節(jié)點(diǎn)發(fā)送文件的全部數(shù)據(jù),各 個(gè)轉(zhuǎn)發(fā)對等節(jié)點(diǎn)同時(shí)向目的對等節(jié)點(diǎn)發(fā)送文件數(shù)據(jù)。
較佳的,為了節(jié)省網(wǎng)絡(luò)傳輸資源和存儲資源,實(shí)現(xiàn)本步驟的方式還可以為 首先,將文件或文件的副本劃分為多個(gè)子副本(Partial Replica, PR),并 為每個(gè)子副本對應(yīng)一個(gè)轉(zhuǎn)發(fā)對等節(jié)點(diǎn);然后,對于每個(gè)子副本,源對等節(jié)點(diǎn)將 子副本的數(shù)據(jù)發(fā)送給該子副本所對應(yīng)的轉(zhuǎn)發(fā)對等節(jié)點(diǎn)。
具體實(shí)現(xiàn)時(shí),可以為每個(gè)子副本生成一個(gè)唯一的標(biāo)識,稱為子副本標(biāo)識 (Partial Replica ID, PRID),并生成一張轉(zhuǎn)發(fā)表(Fowwardingmap, F-map), 如圖2A所示,該轉(zhuǎn)發(fā)表中記錄了文件傳輸?shù)娜蝿?wù)標(biāo)識(ROOT Service ID, RSID)、源對等節(jié)點(diǎn)標(biāo)識(Source Peer ID, SP ID )、目的對等節(jié)點(diǎn)標(biāo)識 (Destination Peer ID, DPID)、子副本的個(gè)數(shù)、以及各個(gè)PRID與轉(zhuǎn)發(fā)對等節(jié) 點(diǎn)標(biāo)識(Forwarding Peer ID, FPID)的對應(yīng)關(guān)系,該對應(yīng)關(guān)系可以是多對一或 一對一的對應(yīng)關(guān)系,即不同的子副本可以由相同的轉(zhuǎn)發(fā)對等節(jié)點(diǎn)進(jìn)行轉(zhuǎn)發(fā),或 者不同的子副本由不同的轉(zhuǎn)發(fā)對等節(jié)點(diǎn)進(jìn)行轉(zhuǎn)發(fā)。源對等節(jié)點(diǎn)在向轉(zhuǎn)發(fā)對等節(jié) 點(diǎn)發(fā)送數(shù)據(jù)時(shí),按照生成的轉(zhuǎn)發(fā)表向各個(gè)轉(zhuǎn)發(fā)對等節(jié)點(diǎn)發(fā)送其對應(yīng)的子副本的數(shù)據(jù)。
步驟12:源對等節(jié)點(diǎn)和各個(gè)轉(zhuǎn)發(fā)對等節(jié)點(diǎn)向目的對等節(jié)點(diǎn)并行發(fā)送文件的 數(shù)據(jù)。
本步驟中,源對等節(jié)點(diǎn)與目的對等節(jié)點(diǎn)之間的直聯(lián)路徑和源對等節(jié)點(diǎn)經(jīng)由 轉(zhuǎn)發(fā)對等節(jié)點(diǎn)與目的對等節(jié)點(diǎn)之間的路徑,構(gòu)成了源對等節(jié)點(diǎn)與目的對等節(jié)點(diǎn) 之間的多條并行路徑,通過多條并行路徑向目的對等節(jié)點(diǎn)傳送文件。
轉(zhuǎn)發(fā)對等節(jié)點(diǎn)利用自身與目的對等節(jié)點(diǎn)間的路徑將接收到的來自源對等 節(jié)點(diǎn)的文件的數(shù)據(jù)發(fā)送給目的對等節(jié)點(diǎn),該路徑可以是直聯(lián)路徑,也可以是非 直聯(lián)路徑。直聯(lián)路徑是指該路徑上不經(jīng)過其他對等節(jié)點(diǎn),轉(zhuǎn)發(fā)對等節(jié)點(diǎn)直接將 數(shù)據(jù)發(fā)送給目的對等節(jié)點(diǎn);非直聯(lián)路徑是指該路徑上還存在其他對等節(jié)點(diǎn),轉(zhuǎn) 發(fā)對等節(jié)點(diǎn)經(jīng)由該路徑上的其他對等節(jié)點(diǎn)將數(shù)據(jù)發(fā)送給目的對等節(jié)點(diǎn)。
目的對等節(jié)點(diǎn)接收到來自各個(gè)轉(zhuǎn)發(fā)對等節(jié)點(diǎn)和源對等節(jié)點(diǎn)的文件的數(shù)據(jù) 后,將收到的數(shù)據(jù)進(jìn)行數(shù)據(jù)合并,生成完整的文件。
下面以具體實(shí)例本本實(shí)施例進(jìn)行說明
如圖2B所示,源對等節(jié)點(diǎn)為peerA (pA)對等節(jié)點(diǎn)為peerA (pB), peer C (pC)、 peer D (pD)和peer E (pE)是與pB有可達(dá)路徑的對等節(jié)點(diǎn),pA 與pB可直達(dá),pA向pB傳送文件F的流程如下
步驟al:pA向pC、 pD和pE發(fā)送包含文件F的信息的文件轉(zhuǎn)發(fā)請求; 步驟a2:pC和pE接受了來自pA的文件轉(zhuǎn)發(fā)請求,向pA返回接受響應(yīng); 步驟a3: pA選擇pC和pE作為轉(zhuǎn)發(fā)對等節(jié)點(diǎn),將文件F的副本劃分為3 個(gè)子副本子副本l、子副本2和子副本3;將子副本2發(fā)送給pC;將子副本 3發(fā)送給pE; pA、 pC和pE并行的向pB發(fā)送文件F的數(shù)據(jù),具體的,pA發(fā) 送子副本l, pC發(fā)送子副本2, pE發(fā)送子副本3。 實(shí)施例二
參見圖3,具體包括以下步驟
步驟30:源對等節(jié)點(diǎn)向目的對等節(jié)點(diǎn)傳送文件時(shí),從P2P網(wǎng)絡(luò)中選擇至少兩個(gè)與目的對等節(jié)點(diǎn)之間在P2P層存在可達(dá)路徑的轉(zhuǎn)發(fā)對等節(jié)點(diǎn); 本步驟中,選擇轉(zhuǎn)發(fā)對等節(jié)點(diǎn)的具體方法為
源對等節(jié)點(diǎn)向P2P網(wǎng)絡(luò)中與自身存在直聯(lián)路徑的對等節(jié)點(diǎn)發(fā)送文件轉(zhuǎn)發(fā)
請求;
收到文件轉(zhuǎn)發(fā)請求的對等節(jié)點(diǎn),可以根據(jù)該請求中所攜帶的信息,如需要 轉(zhuǎn)發(fā)的文件信息、目的對等節(jié)點(diǎn)信息等,以及自身是否與目的對等節(jié)點(diǎn)存在可 達(dá)路徑和自身目前的工作狀態(tài)等,選擇接受該文件轉(zhuǎn)發(fā)請求或拒絕該文件轉(zhuǎn)發(fā) 請求。若接受該文件轉(zhuǎn)發(fā)請求,則向源對等節(jié)點(diǎn)發(fā)送接受響應(yīng),若拒絕該文件 轉(zhuǎn)發(fā)請求,則向源對等節(jié)點(diǎn)發(fā)送拒絕響應(yīng)。接受文件轉(zhuǎn)發(fā)請求的對等節(jié)點(diǎn)可以 對文件轉(zhuǎn)發(fā)進(jìn)行計(jì)費(fèi),在向源對等節(jié)點(diǎn)發(fā)送接受響應(yīng)中可以攜帶計(jì)費(fèi)規(guī)則等相 關(guān)信息;
源對等節(jié)點(diǎn)接收到對文件轉(zhuǎn)發(fā)請求的接受響應(yīng)和/或拒絕響應(yīng)后,從各個(gè)接 受響應(yīng)中提取出響應(yīng)發(fā)出對等節(jié)點(diǎn)標(biāo)識,按照一定的規(guī)則,從提取出的各個(gè)響 應(yīng)發(fā)出對等節(jié)點(diǎn)標(biāo)識中選擇至少兩個(gè)對等節(jié)點(diǎn)標(biāo)識,并將選擇的對等節(jié)點(diǎn)標(biāo)識 所對應(yīng)的對等節(jié)點(diǎn)作為用于向目的對等節(jié)點(diǎn)轉(zhuǎn)發(fā)文件的轉(zhuǎn)發(fā)對等節(jié)點(diǎn)。上述規(guī)
則可以是按響應(yīng)到達(dá)時(shí)間順序選取、隨機(jī)選取等。轉(zhuǎn)發(fā)對等節(jié)點(diǎn)確定后,可以 將各個(gè)轉(zhuǎn)發(fā)對等節(jié)點(diǎn)的信息發(fā)送給目的對等節(jié)點(diǎn)。
步驟31:將文件的數(shù)據(jù)發(fā)送給選擇的至少兩個(gè)轉(zhuǎn)發(fā)對等節(jié)點(diǎn); 實(shí)現(xiàn)本步驟的方式可以是,向每個(gè)轉(zhuǎn)發(fā)對等節(jié)點(diǎn)發(fā)送文件的全部數(shù)據(jù),各
個(gè)轉(zhuǎn)發(fā)對等節(jié)點(diǎn)同時(shí)向目的對等節(jié)點(diǎn)發(fā)送文件數(shù)據(jù)。
較佳的,為了節(jié)省網(wǎng)絡(luò)傳輸資源和存儲資源,實(shí)現(xiàn)本步驟的方式還可以為 首先,將文件或文件的副本劃分為多個(gè)子副本,并為每個(gè)子副本對應(yīng)一個(gè)
轉(zhuǎn)發(fā)對等節(jié)點(diǎn);然后,對于每個(gè)子剖本,源對等節(jié)點(diǎn)將子副本的數(shù)據(jù)發(fā)送給該
子副本所對應(yīng)的轉(zhuǎn)發(fā)對等節(jié)點(diǎn)。
具體實(shí)現(xiàn)時(shí),可以為每個(gè)子副本生成一個(gè)唯一的標(biāo)識,稱為子副本標(biāo)識,
并生成一張轉(zhuǎn)發(fā)表,該轉(zhuǎn)發(fā)表仍可參見附圖2A所示。源對等節(jié)點(diǎn)在向轉(zhuǎn)發(fā)對等節(jié)點(diǎn)發(fā)送數(shù)據(jù)時(shí),按照生成的轉(zhuǎn)發(fā)表向各個(gè)轉(zhuǎn)發(fā)對等節(jié)點(diǎn)發(fā)送其對應(yīng)的子副 本的數(shù)據(jù)。
步驟32:各個(gè)轉(zhuǎn)發(fā)對等節(jié)點(diǎn)向目的對等節(jié)點(diǎn)并行發(fā)送文件的數(shù)據(jù)。 本步驟中,源對等節(jié)點(diǎn)經(jīng)由多個(gè)轉(zhuǎn)發(fā)對等節(jié)點(diǎn)與目的對等節(jié)點(diǎn)之間形成了 多條并行路徑,源對等節(jié)點(diǎn)利用該多條并行路徑向目的對等節(jié)點(diǎn)傳送文件數(shù)據(jù)。
轉(zhuǎn)發(fā)對等節(jié)點(diǎn)利用自身與目的對等節(jié)點(diǎn)間的路徑將接收到的來自源對等 節(jié)點(diǎn)的文件的數(shù)據(jù)發(fā)送給目的對等節(jié)點(diǎn),該路徑可以是直聯(lián)路徑,也可以是非 直聯(lián)路徑,直聯(lián)路徑是指該路徑上不經(jīng)過其他對等節(jié)點(diǎn),轉(zhuǎn)發(fā)對等節(jié)點(diǎn)直接將 數(shù)據(jù)發(fā)送給目的對等節(jié)點(diǎn);非直聯(lián)路徑是指該路徑上還存在其他對等節(jié)點(diǎn),轉(zhuǎn) 發(fā)對等節(jié)點(diǎn)經(jīng)由該路徑上的其他對等節(jié)點(diǎn)將數(shù)據(jù)發(fā)送給目的對等節(jié)點(diǎn)。
目的對等節(jié)點(diǎn)接收到各個(gè)轉(zhuǎn)發(fā)對等節(jié)點(diǎn)發(fā)送來的文件的數(shù)據(jù)后,將收到的 數(shù)據(jù)進(jìn)行數(shù)據(jù)合并,生成完整的文件。
下面以具體實(shí)例本本實(shí)施例進(jìn)行說明
如圖4A所示,源對等節(jié)點(diǎn)為peerA (pA)對等節(jié)點(diǎn)為peerA (pB), peer C (pC)、 peer D (pD)和peer E (pE)是與pB有可達(dá)路徑的對等節(jié)點(diǎn),pA 與pB不可直達(dá),pA向pB傳送文件F的流程如下
步驟bl: pA向pC、 pD和pE發(fā)送包含文件F的信息的文件轉(zhuǎn)發(fā)請求; 步驟b2: pC和pE接受了來自pA的文件轉(zhuǎn)發(fā)請求,向pA返回接受響應(yīng); 步驟b3: pA選擇pC和pE作為轉(zhuǎn)發(fā)對等節(jié)點(diǎn),將文件F的副本劃分為2 個(gè)子副本子副本1和子副本2,將子副本l發(fā)送給pC;將子副本2發(fā)送給 pE。 pC和pE并行的向pB發(fā)送文件F的數(shù)據(jù),具體的,pC發(fā)送子副本l, pE 發(fā)送子副本2。
對于上述兩個(gè)實(shí)施例,較佳的,為了能夠根據(jù)網(wǎng)絡(luò)狀態(tài)的變化,自適應(yīng)的 調(diào)整并行路徑,以進(jìn)一步提高文件傳輸?shù)目煽啃院头€(wěn)定性,在文件傳輸過程中, 源對等節(jié)點(diǎn)監(jiān)控向各個(gè)轉(zhuǎn)發(fā)對等節(jié)點(diǎn)發(fā)送文件數(shù)據(jù)的情況,目的對等節(jié)點(diǎn)監(jiān)控從各個(gè)轉(zhuǎn)發(fā)對等節(jié)點(diǎn)接收文件數(shù)據(jù)的情況,并定時(shí)或在發(fā)現(xiàn)新的異常對等節(jié)點(diǎn)
時(shí)向源對等節(jié)點(diǎn)發(fā)送狀態(tài)報(bào)告,如圖4B所示,狀態(tài)報(bào)告中可以包含如下信息
文件傳輸?shù)娜蝿?wù)標(biāo)識(RSID)、源對等節(jié)點(diǎn)標(biāo)識(SPID)、目的對等節(jié)點(diǎn) 標(biāo)識(DPID)、子副本的個(gè)數(shù)、目標(biāo)對等節(jié)點(diǎn)正在接收的子副本的信息列表和 各個(gè)子副本的接收進(jìn)度、目標(biāo)對等節(jié)點(diǎn)已經(jīng)完整接收的子副本的列表、以及異 常轉(zhuǎn)發(fā)對等節(jié)點(diǎn)的信息列表。
源對等節(jié)點(diǎn)根據(jù)自身對轉(zhuǎn)發(fā)對等節(jié)點(diǎn)的監(jiān)控結(jié)果或來自于目標(biāo)對等節(jié)點(diǎn) 的狀態(tài)報(bào)告中異常轉(zhuǎn)發(fā)對等節(jié)點(diǎn)的信息,確定某個(gè)轉(zhuǎn)發(fā)對等節(jié)點(diǎn)發(fā)生異常時(shí), 根據(jù)轉(zhuǎn)發(fā)表確定該轉(zhuǎn)發(fā)對等節(jié)點(diǎn)所對應(yīng)的子副本,再根據(jù)狀態(tài)報(bào)告確定該子副 本的接收進(jìn)度,進(jìn)而根據(jù)接收進(jìn)度確定還未發(fā)送給目的對等節(jié)點(diǎn)的數(shù)據(jù)。然后 將該轉(zhuǎn)發(fā)對等節(jié)點(diǎn)還未發(fā)送給目的對等節(jié)點(diǎn)的子副本的數(shù)據(jù)發(fā)送給其他正常 的轉(zhuǎn)發(fā)對等節(jié)點(diǎn),由該正常的轉(zhuǎn)發(fā)對等節(jié)點(diǎn)進(jìn)行轉(zhuǎn)發(fā),并據(jù)此更新轉(zhuǎn)發(fā)表,修 改轉(zhuǎn)發(fā)表中子副本標(biāo)識與轉(zhuǎn)發(fā)對等節(jié)點(diǎn)標(biāo)識的對應(yīng)關(guān)系,同時(shí)通知目的對等節(jié) 點(diǎn)轉(zhuǎn)發(fā)對等節(jié)點(diǎn)的變化情況。
在發(fā)生異常的轉(zhuǎn)發(fā)對等節(jié)點(diǎn)的數(shù)量超過預(yù)設(shè)值時(shí),源對等節(jié)點(diǎn)可以重新從 P2P網(wǎng)絡(luò)中選擇與目的對等節(jié)點(diǎn)之間存在可達(dá)路徑的轉(zhuǎn)發(fā)對等節(jié)點(diǎn),并將發(fā)生 異常的轉(zhuǎn)發(fā)對等節(jié)點(diǎn)還未轉(zhuǎn)發(fā)給目的對等節(jié)點(diǎn)的子副本的數(shù)據(jù)發(fā)送給重新選 擇的轉(zhuǎn)發(fā)對等節(jié)點(diǎn)或已有的正常的轉(zhuǎn)發(fā)對等節(jié)點(diǎn),由該對等節(jié)點(diǎn)繼續(xù)向目的對 等節(jié)點(diǎn)轉(zhuǎn)發(fā)數(shù)據(jù),并據(jù)此更新轉(zhuǎn)發(fā)表,修改轉(zhuǎn)發(fā)表中子副本標(biāo)識與轉(zhuǎn)發(fā)對等節(jié) 點(diǎn)標(biāo)識的對應(yīng)關(guān)系,同時(shí)通知目的對等節(jié)點(diǎn)轉(zhuǎn)發(fā)對等節(jié)點(diǎn)的變化情況。
本發(fā)明中,轉(zhuǎn)發(fā)對等節(jié)點(diǎn)可以根據(jù)實(shí)際轉(zhuǎn)發(fā)文件的工作量進(jìn)行計(jì)費(fèi),收費(fèi) 的對象可以是源對等節(jié)點(diǎn)、目的對等節(jié)點(diǎn)或是第三方。為了節(jié)省存儲資源,轉(zhuǎn) 發(fā)對等節(jié)點(diǎn)在轉(zhuǎn)發(fā)每一個(gè)子副本完畢時(shí),可以將該子副本進(jìn)行刪除。
參見圖5,本發(fā)明實(shí)施例還提供一種P2P網(wǎng)絡(luò)中文件傳輸?shù)南到y(tǒng),該系統(tǒng) 包括源對等節(jié)點(diǎn)50、至少兩個(gè)轉(zhuǎn)發(fā)對等節(jié)點(diǎn)51和目的對等節(jié)點(diǎn)52,其中
源對等節(jié)點(diǎn)50,用于在向目的對等節(jié)點(diǎn)傳送文件時(shí),從P2P網(wǎng)絡(luò)中選擇至少兩個(gè)與所述目的對等節(jié)點(diǎn)之間在P2P層存在可達(dá)路徑的轉(zhuǎn)發(fā)對等節(jié)點(diǎn),并
將所述文件的數(shù)據(jù)發(fā)送給所述至少兩個(gè)轉(zhuǎn)發(fā)對等節(jié)點(diǎn);
轉(zhuǎn)發(fā)對等節(jié)點(diǎn)51,用于向所述目的對等節(jié)點(diǎn)并行發(fā)送所述文件的數(shù)據(jù); 目的對等節(jié)點(diǎn)52,用于接收來自所述至少兩個(gè)轉(zhuǎn)發(fā)對等節(jié)點(diǎn)的文件的數(shù)據(jù)。
具體的,參見圖6,源對等節(jié)點(diǎn)50包括選擇單元60和數(shù)據(jù)單元61,其中 選擇單元60,用于在向目的對等節(jié)點(diǎn)傳送文件時(shí),從P2P網(wǎng)絡(luò)中選擇至
少兩個(gè)與所述目的對等節(jié)點(diǎn)之間在P2P層存在可達(dá)路徑的轉(zhuǎn)發(fā)對等節(jié)點(diǎn); 數(shù)據(jù)單元61,用于將所述文件的數(shù)據(jù)發(fā)送給所述至少兩個(gè)轉(zhuǎn)發(fā)對等節(jié)點(diǎn),
指示所述至少兩個(gè)轉(zhuǎn)發(fā)對等節(jié)點(diǎn)向所述目的對等節(jié)點(diǎn)發(fā)送所述文件的數(shù)據(jù)。 選擇單元60包括請求單元601和確定單元602,其中 請求單元601,用于向P2P網(wǎng)絡(luò)中與自身存在直聯(lián)路徑的對等節(jié)點(diǎn)發(fā)送文
件轉(zhuǎn)發(fā)請求;
確定單元602,用于接收對所述文件轉(zhuǎn)發(fā)請求的接受響應(yīng)或拒絕響應(yīng),從 發(fā)出接受響應(yīng)的對等節(jié)點(diǎn)中選擇至少兩個(gè)對等節(jié)點(diǎn),將選擇的對等節(jié)點(diǎn)作為所 述轉(zhuǎn)發(fā)對等節(jié)點(diǎn)。
數(shù)據(jù)單元61包括劃分單元611和分發(fā)單元612,其中
劃分單元611,用于將所述文件或該文件的副本劃分為多個(gè)子副本,為每 個(gè)子副本對應(yīng) 一個(gè)轉(zhuǎn)發(fā)對等節(jié)點(diǎn);
分發(fā)單元612,用于對于各個(gè)子副本,將該子副本的數(shù)據(jù)發(fā)送給該子副本 對應(yīng)的轉(zhuǎn)發(fā)對等節(jié)點(diǎn)。
源對等節(jié)點(diǎn)50進(jìn)一步包括
異常處理單元62,用于在確定轉(zhuǎn)發(fā)對等節(jié)點(diǎn)發(fā)生異常時(shí),確定所述轉(zhuǎn)發(fā)對 等節(jié)點(diǎn)還未發(fā)送給所述目的對等節(jié)點(diǎn)的子副本的數(shù)據(jù),并將所述子副本的數(shù)據(jù) 發(fā)送給其他正常的轉(zhuǎn)發(fā)對等節(jié)點(diǎn),由該正常的轉(zhuǎn)發(fā)對等節(jié)點(diǎn)向目的對等節(jié)點(diǎn)繼 續(xù)發(fā)送數(shù)據(jù)。這里,可根據(jù)源對等節(jié)點(diǎn)單元對所述轉(zhuǎn)發(fā)對等節(jié)點(diǎn)的監(jiān)控結(jié)果或者收到的來自所述目的對等節(jié)點(diǎn)的異常轉(zhuǎn)發(fā)對等節(jié)點(diǎn)信息,確定轉(zhuǎn)發(fā)對等節(jié)點(diǎn)
發(fā)生異常;根據(jù)來自所述目的對等節(jié)點(diǎn)的數(shù)據(jù)接收進(jìn)度信息,確定所述轉(zhuǎn)發(fā)對 等節(jié)點(diǎn)還未發(fā)送給所述目的對等節(jié)點(diǎn)的數(shù)據(jù)。 源對等節(jié)點(diǎn)50進(jìn)一步包括
調(diào)整單元63,用于在發(fā)生異常的轉(zhuǎn)發(fā)對等節(jié)點(diǎn)的數(shù)量超過預(yù)設(shè)值時(shí),重新 從P2P網(wǎng)絡(luò)中選擇與所述目的對等節(jié)點(diǎn)之間存在可達(dá)路徑的轉(zhuǎn)發(fā)對等節(jié)點(diǎn);并 將所述發(fā)生異常的轉(zhuǎn)發(fā)對等節(jié)點(diǎn)還未轉(zhuǎn)發(fā)給所述目的對等節(jié)點(diǎn)的數(shù)據(jù)發(fā)送給 所述重新選擇的轉(zhuǎn)發(fā)對等節(jié)點(diǎn),指示所述重新選擇的轉(zhuǎn)發(fā)對等節(jié)點(diǎn)將所述數(shù)據(jù) 轉(zhuǎn)發(fā)給所述目的對等節(jié)點(diǎn)。
源對等節(jié)點(diǎn)50進(jìn)一步包括
進(jìn)度跟蹤單元64,用于接收并記錄來自所述目的對等節(jié)點(diǎn)的子副本的數(shù)據(jù) 接收進(jìn)度信息;異常處理單元62和調(diào)整單元63根據(jù)進(jìn)度跟蹤單元64記錄的 接收進(jìn)度信息確定發(fā)生異常的轉(zhuǎn)發(fā)對等節(jié)點(diǎn)還未轉(zhuǎn)發(fā)給目的對等節(jié)點(diǎn)的子副 本的數(shù)據(jù),以繼續(xù)進(jìn)行數(shù)據(jù)的發(fā)送。
更新單元65,用于在轉(zhuǎn)發(fā)對等節(jié)點(diǎn)發(fā)生異常和重新選擇轉(zhuǎn)發(fā)對等節(jié)點(diǎn)后, 更新子副本與轉(zhuǎn)發(fā)對等節(jié)點(diǎn)的對應(yīng)關(guān)系。具體的,可以將發(fā)生異常的轉(zhuǎn)發(fā)對等 節(jié)點(diǎn)在對應(yīng)關(guān)系中刪除,將重新選擇的轉(zhuǎn)發(fā)對等節(jié)點(diǎn)加入對應(yīng)關(guān)系中。
目的對等節(jié)點(diǎn)52還用于
將接收到的來自所述至少兩個(gè)轉(zhuǎn)發(fā)對等節(jié)點(diǎn)的數(shù)據(jù)進(jìn)行合并,生成完整文件。
參見圖7,本發(fā)明實(shí)施例還提供一種P2P網(wǎng)絡(luò)中文件傳輸?shù)南到y(tǒng),該系統(tǒng) 包括源對等節(jié)點(diǎn)70、 一個(gè)或多個(gè)轉(zhuǎn)發(fā)對等節(jié)點(diǎn)71和目的對等節(jié)點(diǎn)72,其中
源對等節(jié)點(diǎn)70,用于向目的對等節(jié)點(diǎn)發(fā)送文件的數(shù)據(jù);從P2P網(wǎng)絡(luò)中選 擇一個(gè)或多個(gè)與所述目的對等節(jié)點(diǎn)之間在P2P層存在可達(dá)路徑的轉(zhuǎn)發(fā)對等節(jié) 點(diǎn),并將所述文件的數(shù)據(jù)發(fā)送給所述一個(gè)或多個(gè)轉(zhuǎn)發(fā)對等節(jié)點(diǎn);
轉(zhuǎn)發(fā)對等節(jié)點(diǎn)71,用于與所述源對等節(jié)點(diǎn)并行的向所述目的對等節(jié)點(diǎn)發(fā)送所述文件的數(shù)據(jù);
目的對等節(jié)點(diǎn)72,用于接收來自所述源對等節(jié)點(diǎn)和所述一個(gè)或多個(gè)轉(zhuǎn)發(fā)對 等節(jié)點(diǎn)的文件的數(shù)據(jù)。
具體的,參見圖8,源對等節(jié)點(diǎn)70包括發(fā)送單元80、選擇單元81和數(shù)據(jù) 單元82,其中
發(fā)送單元80,用于向目的對等節(jié)點(diǎn)發(fā)送文件的數(shù)據(jù);
選擇單元81,用于從P2P網(wǎng)絡(luò)中選擇一個(gè)或多個(gè)與所述目的對等節(jié)點(diǎn)之 間在P2P層存在可達(dá)路徑的轉(zhuǎn)發(fā)對等節(jié)點(diǎn);
數(shù)據(jù)單元82,用于將所述文件的數(shù)據(jù)發(fā)送給所述一個(gè)或多個(gè)轉(zhuǎn)發(fā)對等節(jié) 點(diǎn),指示所述一個(gè)或多個(gè)轉(zhuǎn)發(fā)對等節(jié)點(diǎn)向所述目的對等節(jié)點(diǎn)發(fā)送所述文件的數(shù) 據(jù)。
選擇單元81包括請求單元801和確定單元802,其中 請求單元801,用于向P2P網(wǎng)絡(luò)中與自身存在直聯(lián)路徑的對等節(jié)點(diǎn)發(fā)送文 件轉(zhuǎn)發(fā)請求;
確定單元802,用于接收對所述文件轉(zhuǎn)發(fā)請求的接受響應(yīng)或拒絕響應(yīng),從 發(fā)出接受響應(yīng)的對等節(jié)點(diǎn)中選擇一個(gè)或多個(gè)對等節(jié)點(diǎn),將選擇的對等節(jié)點(diǎn)作為 所述轉(zhuǎn)發(fā)對等節(jié)點(diǎn)。
數(shù)據(jù)單元82包括劃分單元811和分發(fā)單元812,其中
劃分單元811,用于將所述文件或該文件的副本劃分為多個(gè)子副本,為每 個(gè)子副本對應(yīng) 一個(gè)轉(zhuǎn)發(fā)對等節(jié)點(diǎn);
分發(fā)單元812,用于對于各個(gè)子副本,將該子副本的數(shù)據(jù)發(fā)送給該子副本 對應(yīng)的轉(zhuǎn)發(fā)對等節(jié)點(diǎn)。
源對等節(jié)點(diǎn)70還包括
異常處理單元83,用于在確定轉(zhuǎn)發(fā)對等節(jié)點(diǎn)發(fā)生異常時(shí),將該轉(zhuǎn)發(fā)對等節(jié) 點(diǎn)還未轉(zhuǎn)發(fā)給所述目的對等節(jié)點(diǎn)的數(shù)據(jù)發(fā)送給其他正常的轉(zhuǎn)發(fā)對等節(jié)點(diǎn);這 里,可根據(jù)源對等節(jié)點(diǎn)單元對所述轉(zhuǎn)發(fā)對等節(jié)點(diǎn)的監(jiān)控結(jié)果或者收到的來自所述目的對等節(jié)點(diǎn)的異常轉(zhuǎn)發(fā)對等節(jié)點(diǎn)信息,確定轉(zhuǎn)發(fā)對等節(jié)點(diǎn)發(fā)生異常;根據(jù) 來自所述目的對等節(jié)點(diǎn)的數(shù)據(jù)接收進(jìn)度信息,確定所述轉(zhuǎn)發(fā)對等節(jié)點(diǎn)還未發(fā)送 給所述目的對等節(jié)點(diǎn)的數(shù)據(jù)。
源對等節(jié)點(diǎn)70還包括
調(diào)整單元84,用于在發(fā)生異常的轉(zhuǎn)發(fā)對等節(jié)點(diǎn)的數(shù)量超過預(yù)設(shè)值時(shí),重新 從P2P網(wǎng)絡(luò)中選擇與所述目的對等節(jié)點(diǎn)之間存在可達(dá)路徑的轉(zhuǎn)發(fā)對等節(jié)點(diǎn),并 將所述發(fā)生異常的轉(zhuǎn)發(fā)對等節(jié)點(diǎn)還未轉(zhuǎn)發(fā)給所述目的對等節(jié)點(diǎn)的數(shù)據(jù)發(fā)送給 所述重新選擇的轉(zhuǎn)發(fā)對等節(jié)點(diǎn),指示所述重新選擇的轉(zhuǎn)發(fā)對等節(jié)點(diǎn)將所述數(shù)據(jù) 轉(zhuǎn)發(fā)給所述目的對等節(jié)點(diǎn)。
源對等節(jié)點(diǎn)70進(jìn)一步包括
進(jìn)度跟蹤單元85,用于接收并記錄來自所述目的對等節(jié)點(diǎn)的子副本的數(shù)據(jù) 接收進(jìn)度信息;異常處理單元83和調(diào)整單元84根據(jù)進(jìn)度跟蹤單元85記錄的 接收進(jìn)度信息確定發(fā)生異常的轉(zhuǎn)發(fā)對等節(jié)點(diǎn)還未轉(zhuǎn)發(fā)給目的對等節(jié)點(diǎn)的子副 本的數(shù)據(jù),以繼續(xù)進(jìn)行數(shù)據(jù)的發(fā)送。
更新單元86,用于在轉(zhuǎn)發(fā)對等節(jié)點(diǎn)發(fā)生異常和重新選擇轉(zhuǎn)發(fā)對等節(jié)點(diǎn)后, 更新子副本與轉(zhuǎn)發(fā)對等節(jié)點(diǎn)的對應(yīng)關(guān)系。具體的,可以將發(fā)生異常的轉(zhuǎn)發(fā)對等 節(jié)點(diǎn)在對應(yīng)關(guān)系中刪除,將重新選擇的轉(zhuǎn)發(fā)對等節(jié)點(diǎn)加入對應(yīng)關(guān)系中。
目的對等節(jié)點(diǎn)72還用于
將接收到的來自所述源對等節(jié)點(diǎn)以及所述一個(gè)或多個(gè)轉(zhuǎn)發(fā)對等節(jié)點(diǎn)的數(shù) 據(jù)進(jìn)行合并,生成完整文件。
本發(fā)明實(shí)施例還提供一種文件發(fā)送裝置,該裝置的具體結(jié)構(gòu)和實(shí)施方式可 參見對附圖6的說明,這里不再贅述。
本發(fā)明實(shí)施例還4是供另 一種文件發(fā)送裝置,該裝置的具體結(jié)構(gòu)和實(shí)施方式 可參見對附圖8的說明,這里不再贅述。
綜上,本發(fā)明的有益效果在于
其一,本發(fā)明中,在P2P層實(shí)現(xiàn)了通過并行路徑進(jìn)行文件傳輸,且并行路徑的建立不依賴于網(wǎng)絡(luò)下層的路由協(xié)議,有助于提高傳輸?shù)耐掏侣?、可靠性?穩(wěn)定性。
其二,本發(fā)明中,能夠根據(jù)網(wǎng)絡(luò)狀態(tài)的變化,自適應(yīng)的調(diào)整并行路徑,有 助于進(jìn)一步提高傳輸?shù)目煽啃院头€(wěn)定性。
其三,本發(fā)明中,需要消耗的網(wǎng)絡(luò)傳輸資源和存儲資源,是不依賴于轉(zhuǎn)發(fā) 對等節(jié)點(diǎn)的數(shù)量而變化的,理論上講,本發(fā)明相對于只使用源對等節(jié)點(diǎn)和目的 對等節(jié)點(diǎn)之間的直聯(lián)路徑所額外消耗的網(wǎng)絡(luò)傳輸和存儲資源不大于所傳送文 件的大小。并且,轉(zhuǎn)發(fā)對等節(jié)點(diǎn)的傳輸任務(wù)一旦完畢,就可以將傳輸文件在本 對等節(jié)點(diǎn)進(jìn)行刪除,存儲資源的占用是臨時(shí)的。
其四,本發(fā)明不依賴于下層的網(wǎng)絡(luò)協(xié)議,可以在多種不同的協(xié)議棧上實(shí)現(xiàn)。
明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及 其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動和變型在內(nèi)。
權(quán)利要求
1、一種P2P網(wǎng)絡(luò)中文件傳輸?shù)姆椒?,其特征在于,該方法包括源對等?jié)點(diǎn)從P2P網(wǎng)絡(luò)中選擇一個(gè)或多個(gè)與目的對等節(jié)點(diǎn)之間在P2P層存在可達(dá)路徑的轉(zhuǎn)發(fā)對等節(jié)點(diǎn),并將文件的數(shù)據(jù)發(fā)送給所述一個(gè)或多個(gè)轉(zhuǎn)發(fā)對等節(jié)點(diǎn);所述源對等節(jié)點(diǎn)以及所述一個(gè)或多個(gè)轉(zhuǎn)發(fā)對等節(jié)點(diǎn)向所述目的對等節(jié)點(diǎn)并行發(fā)送所述文件的數(shù)據(jù)。
2、 如權(quán)利要求1所述的方法,其特征在于,所述源對等節(jié)點(diǎn)從P2P網(wǎng)絡(luò) 中選擇一個(gè)或多個(gè)與目的對等節(jié)點(diǎn)之間在P2P層存在可達(dá)路徑的轉(zhuǎn)發(fā)對等節(jié) 點(diǎn)包括源對等節(jié)點(diǎn)向P2P網(wǎng)絡(luò)中與自身存在直聯(lián)路徑的對等節(jié)點(diǎn)發(fā)送文件轉(zhuǎn)發(fā)請求;接收到對所述文件轉(zhuǎn)發(fā)請求的接受響應(yīng),并從發(fā)出接受響應(yīng)的對等節(jié)點(diǎn)中 選擇一個(gè)或多個(gè)對等節(jié)點(diǎn),將選擇的對等節(jié)點(diǎn)作為所述轉(zhuǎn)發(fā)對等節(jié)點(diǎn)。
3、 如權(quán)利要求1所述的方法,其特征在于,所述將所述文件的數(shù)據(jù)發(fā)送 給所述一個(gè)或多個(gè)轉(zhuǎn)發(fā)對等節(jié)點(diǎn)包括將所述文件的副本劃分為多個(gè)子副本,為每個(gè)子副本對應(yīng)一個(gè)轉(zhuǎn)發(fā)對等節(jié)點(diǎn);將各子副本的數(shù)據(jù)發(fā)送給該子副本對應(yīng)的轉(zhuǎn)發(fā)對等節(jié)點(diǎn)。
4、 如權(quán)利要求3所迷的方法,其特征在于,該方法進(jìn)一步包括 所述源對等節(jié)點(diǎn)確定轉(zhuǎn)發(fā)對等節(jié)點(diǎn)發(fā)生異常,將該轉(zhuǎn)發(fā)對等節(jié)點(diǎn)還未轉(zhuǎn)發(fā)給所述目的對等節(jié)點(diǎn)的子副本的數(shù)據(jù)發(fā)送給其他正常的轉(zhuǎn)發(fā)對等節(jié)點(diǎn)。
5、 如權(quán)利要求4所述的方法,其特征在于,所述源對等節(jié)點(diǎn)根據(jù)自身對 所述轉(zhuǎn)發(fā)對等節(jié)點(diǎn)的監(jiān)控結(jié)果或者收到的來自所述目的對等節(jié)點(diǎn)的異常轉(zhuǎn)發(fā) 對等節(jié)點(diǎn)信息,確定轉(zhuǎn)發(fā)對等節(jié)點(diǎn)發(fā)生異常。
6、 如權(quán)利要求4所述的方法,其特征在于,所述源對等節(jié)點(diǎn)根據(jù)來自所迷目的對等節(jié)點(diǎn)的數(shù)據(jù)接收進(jìn)度信息,確定所述轉(zhuǎn)發(fā)對等節(jié)點(diǎn)還未發(fā)送給所述 目的對等節(jié)點(diǎn)的數(shù)據(jù)。
7、 如權(quán)利要求4所述的方法,其特征在于,該方法進(jìn)一步包括 在發(fā)生異常的轉(zhuǎn)發(fā)對等節(jié)點(diǎn)的數(shù)量超過預(yù)設(shè)值時(shí),所述源對等節(jié)點(diǎn)重新從P2P網(wǎng)絡(luò)中選擇與所述目的對等節(jié)點(diǎn)之間存在可達(dá)路徑的轉(zhuǎn)發(fā)對等節(jié)點(diǎn);將所述發(fā)生異常的轉(zhuǎn)發(fā)對等節(jié)點(diǎn)還未轉(zhuǎn)發(fā)給所述目的對等節(jié)點(diǎn)子副本的數(shù)據(jù)發(fā)送給所述重新選擇的轉(zhuǎn)發(fā)對等節(jié)點(diǎn);所述重新選擇的轉(zhuǎn)發(fā)對等節(jié)點(diǎn)將所述子副本的數(shù)據(jù)轉(zhuǎn)發(fā)給所述目的對等節(jié)點(diǎn)。
8、 如權(quán)利要求l所述的方法,其特征在于,該方法進(jìn)一步包括所述目的對等節(jié)點(diǎn)將接收到的來自所述源對等節(jié)點(diǎn)以及所述一個(gè)或多個(gè) 轉(zhuǎn)發(fā)對等節(jié)點(diǎn)的數(shù)據(jù)進(jìn)行合并,生成完整文件。
9、 一種P2P網(wǎng)絡(luò)中文件傳輸?shù)南到y(tǒng),其特征在于,該系統(tǒng)包括 源對等節(jié)點(diǎn),用于向目的對等節(jié)點(diǎn)發(fā)送文件的數(shù)據(jù);從P2P網(wǎng)絡(luò)中選擇一個(gè)或多個(gè)與所述目的對等節(jié)點(diǎn)之間在P2P層存在可達(dá)路徑的轉(zhuǎn)發(fā)對等節(jié)點(diǎn),并 將所述文件的數(shù)據(jù)發(fā)送給所述一個(gè)或多個(gè)轉(zhuǎn)發(fā)對等節(jié)點(diǎn);一個(gè)或多個(gè)轉(zhuǎn)發(fā)對等節(jié)點(diǎn),用于與所述源對等節(jié)點(diǎn)并行的向所述目的對等 節(jié)點(diǎn)發(fā)送所述文件的數(shù)據(jù);目的對等節(jié)點(diǎn),用于接收來自所述源對等節(jié)點(diǎn)和所述一個(gè)或多個(gè)轉(zhuǎn)發(fā)對等 節(jié)點(diǎn)的文件的數(shù)據(jù)。
10、 如權(quán)利要求9所述的系統(tǒng),其特征在于,所述目的對等節(jié)點(diǎn)還用于 將接收到的來自所述源對等節(jié)點(diǎn)以及所述一個(gè)或多個(gè)轉(zhuǎn)發(fā)對等節(jié)點(diǎn)的數(shù)據(jù)進(jìn)行合并,生成完整文件。
11、 一種文件發(fā)送裝置,其特征在于,該裝置包括 發(fā)送單元,用于向目的對等節(jié)點(diǎn)發(fā)送文件的數(shù)據(jù);選擇單元,用于從P2P網(wǎng)絡(luò)中選擇一個(gè)或多個(gè)與所述目的對等節(jié)點(diǎn)之間在P2P層存在可達(dá)路徑的轉(zhuǎn)發(fā)對等節(jié)點(diǎn);數(shù)據(jù)單元,用于將所述文件的數(shù)據(jù)發(fā)送給所述一個(gè)或多個(gè)轉(zhuǎn)發(fā)對等節(jié)點(diǎn), 指示所述一個(gè)或多個(gè)轉(zhuǎn)發(fā)對等節(jié)點(diǎn)向所述目的對等節(jié)點(diǎn)發(fā)送所述文件的數(shù)據(jù)。
12、 如權(quán)利要ll所述的裝置,其特征在于,所述選擇單元包括 請求單元,用于向P2P網(wǎng)絡(luò)中與自身存在直聯(lián)路徑的對等節(jié)點(diǎn)發(fā)送文件轉(zhuǎn)發(fā)請求;確定單元,用于接收對所述文件轉(zhuǎn)發(fā)請求的接受響應(yīng),并從發(fā)出接受響應(yīng) 的對等節(jié)點(diǎn)中選擇一個(gè)或多個(gè)對等節(jié)點(diǎn),將選擇的對等節(jié)點(diǎn)作為所述轉(zhuǎn)發(fā)對等 節(jié)點(diǎn)。
13、 如權(quán)利要求ll所述的裝置,其特征在于,所述數(shù)據(jù)單元包括 劃分單元,用于將所述文件副本劃分為多個(gè)子副本,為每個(gè)子副本對應(yīng)一個(gè)轉(zhuǎn)發(fā)對等節(jié)點(diǎn);分發(fā)單元,用于將各子副本的數(shù)據(jù)發(fā)送給該子副本對應(yīng)的轉(zhuǎn)發(fā)對等節(jié)點(diǎn)。
14、 如權(quán)利要求13所述的裝置,其特征在于,該裝置進(jìn)一步包括 異常處理單元,用于在確定轉(zhuǎn)發(fā)對等節(jié)點(diǎn)發(fā)生異常時(shí),將該轉(zhuǎn)發(fā)對等節(jié)點(diǎn)還未轉(zhuǎn)發(fā)給所述目的對等節(jié)點(diǎn)的子副本的數(shù)據(jù)發(fā)送給其他正常的轉(zhuǎn)發(fā)對等節(jié) 點(diǎn)。
15、 如權(quán)利要求14所述的裝置,其特征在于,該裝置進(jìn)一步包括 調(diào)整單元,用于在發(fā)生異常的轉(zhuǎn)發(fā)對等節(jié)點(diǎn)的數(shù)量超過預(yù)設(shè)值時(shí),重新從P2P網(wǎng)絡(luò)中選擇與所述目的對等節(jié)點(diǎn)之間存在可達(dá)路徑的轉(zhuǎn)發(fā)對等節(jié)點(diǎn),并將 所述發(fā)生異常的轉(zhuǎn)發(fā)對等節(jié)點(diǎn)還未轉(zhuǎn)發(fā)給所述目的對等節(jié)點(diǎn)的子副本的數(shù)據(jù) 發(fā)送給所述重新選擇的轉(zhuǎn)發(fā)對等節(jié)點(diǎn),指示所述重新選擇的轉(zhuǎn)發(fā)對等節(jié)點(diǎn)將所 述子副本的數(shù)據(jù)轉(zhuǎn)發(fā)給所述目的對等節(jié)點(diǎn)。
16、 如權(quán)利要求14或15所述的裝置,其特征在于,該裝置進(jìn)一步包括 進(jìn)度跟蹤單元,用于接收并記錄來自所述目的對等節(jié)點(diǎn)的子副本的數(shù)據(jù)接收進(jìn)度信息;更新單元,用于在轉(zhuǎn)發(fā)對等節(jié)點(diǎn)發(fā)生異常和重新選擇轉(zhuǎn)發(fā)對等節(jié)點(diǎn)后,更 新子副本與轉(zhuǎn)發(fā)對等節(jié)點(diǎn)的對應(yīng)關(guān)系。
17、 一種P2P網(wǎng)絡(luò)中文件傳輸?shù)姆椒ǎ涮卣髟谟冢摲椒ò?源對等節(jié)點(diǎn)從P2P網(wǎng)絡(luò)中選擇至少兩個(gè)與目的對等節(jié)點(diǎn)之間在P2P層存在可達(dá)路徑的轉(zhuǎn)發(fā)對等節(jié)點(diǎn),并將文件的數(shù)據(jù)發(fā)送給所述至少兩個(gè)轉(zhuǎn)發(fā)對等節(jié) 點(diǎn);所述至少兩個(gè)轉(zhuǎn)發(fā)對等節(jié)點(diǎn)向所述目的對等節(jié)點(diǎn)并行發(fā)送所述文件的數(shù)據(jù)。
18、 如權(quán)利要求17所述的方法,其特征在于,所述源對等節(jié)點(diǎn)從P2P網(wǎng) 絡(luò)中選擇至少兩個(gè)與目的對等節(jié)點(diǎn)之間在P2P層存在可達(dá)路徑的轉(zhuǎn)發(fā)對等節(jié) 點(diǎn)包括源對等節(jié)點(diǎn)向P2P網(wǎng)絡(luò)中與自身存在直聯(lián)路徑的對等節(jié)點(diǎn)發(fā)送文件轉(zhuǎn)發(fā)請求;接收到對所述文件轉(zhuǎn)發(fā)請求的接受響應(yīng),并從發(fā)出接受響應(yīng)的對等節(jié)點(diǎn)中 選擇至少兩個(gè)對等節(jié)點(diǎn),將選擇的對等節(jié)點(diǎn)作為所述轉(zhuǎn)發(fā)對等節(jié)點(diǎn)。
19、 如權(quán)利要求17所述的方法,其特征在于,所述將所述文件的數(shù)據(jù)發(fā) 送給所述至少兩個(gè)轉(zhuǎn)發(fā)對等節(jié)點(diǎn)包括將所述文件的副本劃分為多個(gè)子副本,為每個(gè)子副本對應(yīng)一個(gè)轉(zhuǎn)發(fā)對等節(jié)點(diǎn);將各子副本的數(shù)據(jù)發(fā)送給該子副本對應(yīng)的轉(zhuǎn)發(fā)對等節(jié)點(diǎn)。
20、 如權(quán)利要求19所述的方法,其特征在于,該方法進(jìn)一步包括 所述源對等節(jié)點(diǎn)確定轉(zhuǎn)發(fā)對等節(jié)點(diǎn)發(fā)生異常時(shí),確定所述轉(zhuǎn)發(fā)對等節(jié)點(diǎn)還未發(fā)送給所述目的對等節(jié)點(diǎn)的子副本的數(shù)據(jù),并將所述子副本的數(shù)據(jù)發(fā)送給其 他正常的轉(zhuǎn)發(fā)對等節(jié)點(diǎn)。
21、 如權(quán)利要求20所述的方法,其特征在于,所述源對等節(jié)點(diǎn)根據(jù)自身 對所述轉(zhuǎn)發(fā)對等節(jié)點(diǎn)的監(jiān)控結(jié)果或者收到的來自所述目的對等節(jié)點(diǎn)的異常轉(zhuǎn)發(fā)對等節(jié)點(diǎn)信息,確定轉(zhuǎn)發(fā)對等節(jié)點(diǎn)發(fā)生異常。
22、 如權(quán)利要求20所述的方法,其特征在于,所述源對等節(jié)點(diǎn)根據(jù)來自 所述目的對等節(jié)點(diǎn)的數(shù)據(jù)接收進(jìn)度信息,確定所述轉(zhuǎn)發(fā)對等節(jié)點(diǎn)還未發(fā)送給所 述目的對等節(jié)點(diǎn)的子副本的數(shù)據(jù)。
23、 如權(quán)利要求20所述的方法,其特征在于,該方法進(jìn)一步包括 在發(fā)生異常的轉(zhuǎn)發(fā)對等節(jié)點(diǎn)的數(shù)量超過預(yù)設(shè)值時(shí),所述源對等節(jié)點(diǎn)重新從P2P網(wǎng)絡(luò)中選擇與所述目的對等節(jié)點(diǎn)之間存在可達(dá)路徑的轉(zhuǎn)發(fā)對等節(jié)點(diǎn);將所述發(fā)生異常的轉(zhuǎn)發(fā)對等節(jié)點(diǎn)還未轉(zhuǎn)發(fā)給所迷目的對等節(jié)點(diǎn)的子副本的數(shù)據(jù)發(fā)送給所述重新選擇的轉(zhuǎn)發(fā)對等節(jié)點(diǎn);所述重新選擇的轉(zhuǎn)發(fā)對等節(jié)點(diǎn)將所述子副本的數(shù)據(jù)轉(zhuǎn)發(fā)給所述目的對等節(jié)點(diǎn)。
24、 如權(quán)利要求17所述的方法,其特征在于,該方法進(jìn)一步包括所述目的對等節(jié)點(diǎn)將接收到的來自所述至少兩個(gè)轉(zhuǎn)發(fā)對等節(jié)點(diǎn)的數(shù)據(jù)進(jìn) 行合并,生成完整文件。
25、 一種P2P網(wǎng)絡(luò)中文件傳輸?shù)南到y(tǒng),其特征在于,該系統(tǒng)包括 源對等節(jié)點(diǎn),用于從P2P網(wǎng)絡(luò)中選擇至少兩個(gè)與目的對等節(jié)點(diǎn)之間在P2P層存在可達(dá)路徑的轉(zhuǎn)發(fā)對等節(jié)點(diǎn),并將文件的數(shù)據(jù)發(fā)送給所述至少兩個(gè)轉(zhuǎn)發(fā)對等節(jié)點(diǎn);至少兩個(gè)轉(zhuǎn)發(fā)對等節(jié)點(diǎn),用于向所述目的對等節(jié)點(diǎn)并行發(fā)送所述文件的數(shù)據(jù);目的對等節(jié)點(diǎn),用于接收來自所述至少兩個(gè)轉(zhuǎn)發(fā)對等節(jié)點(diǎn)的文件的數(shù)據(jù)。
26、 如權(quán)利要求25所述的系統(tǒng),其特征在于,所述目的對等節(jié)點(diǎn)還用于 將接收到的來自所述至少兩個(gè)轉(zhuǎn)發(fā)對等節(jié)點(diǎn)的數(shù)據(jù)進(jìn)行合并,生成完整文件。
27、 一種文件發(fā)送裝置,其特征在于,該裝置包括選擇單元,用于從P2P網(wǎng)絡(luò)中選擇至少兩個(gè)與目的對等節(jié)點(diǎn)之間在P2P層存在可達(dá)路徑的轉(zhuǎn)發(fā)對等節(jié)點(diǎn);數(shù)據(jù)單元,用于將文件的數(shù)據(jù)發(fā)送給所述至少兩個(gè)轉(zhuǎn)發(fā)對等節(jié)點(diǎn),指示所 述至少兩個(gè)轉(zhuǎn)發(fā)對等節(jié)點(diǎn)向所述目的對等節(jié)點(diǎn)發(fā)送所述文件的數(shù)據(jù)。
28、 如權(quán)利要求27所述的裝置,其特征在于,所述選擇單元包括 請求單元,用于向P2P網(wǎng)絡(luò)中與自身存在直聯(lián)路徑的對等節(jié)點(diǎn)發(fā)送文件轉(zhuǎn)發(fā)請求;確定單元,用于接收對所述文件轉(zhuǎn)發(fā)請求的接受響應(yīng),并從發(fā)出接受響應(yīng)的對等節(jié)點(diǎn)中選擇至少兩個(gè)對等節(jié)點(diǎn),將選擇的對等節(jié)點(diǎn)作為所述轉(zhuǎn)發(fā)對等節(jié) 占,、、、o
29、 如權(quán)利要求27所述的裝置,其特征在于,所述數(shù)據(jù)單元包括 劃分單元,用于將所述文件的副本劃分為多個(gè)子副本,為每個(gè)子副本對應(yīng)一個(gè)轉(zhuǎn)發(fā)對等節(jié)點(diǎn);分發(fā)單元,用于將各子副本的數(shù)據(jù)發(fā)送給該子副本對應(yīng)的轉(zhuǎn)發(fā)對等節(jié)點(diǎn)。
30、 如權(quán)利要求29所述的裝置,其特征在于,該裝置進(jìn)一步包括 異常處理單元,用于在確定轉(zhuǎn)發(fā)對等節(jié)點(diǎn)發(fā)生異常時(shí),確定所述轉(zhuǎn)發(fā)對等節(jié)點(diǎn)還未發(fā)送給所述目的對等節(jié)點(diǎn)的子副本的數(shù)據(jù),并將所述子副本的數(shù)據(jù)發(fā) 送給其他正常的轉(zhuǎn)發(fā)對等節(jié)點(diǎn)。
31、 如權(quán)利要求30所述的裝置,其特征在于,該裝置進(jìn)一步包括 調(diào)整單元,用于在發(fā)生異常的轉(zhuǎn)發(fā)對等節(jié)點(diǎn)的數(shù)量超過預(yù)設(shè)值時(shí),重新從P2P網(wǎng)絡(luò)中選擇與所述目的對等節(jié)點(diǎn)之間存在可達(dá)路徑的轉(zhuǎn)發(fā)對等節(jié)點(diǎn);并將 所述發(fā)生異常的轉(zhuǎn)發(fā)對等節(jié)點(diǎn)還未轉(zhuǎn)發(fā)給所述目的對等節(jié)點(diǎn)的子副本的數(shù)據(jù) 發(fā)送給所述重新選擇的轉(zhuǎn)發(fā)對等節(jié)點(diǎn),指示所述重新選擇的轉(zhuǎn)發(fā)對等節(jié)點(diǎn)將所述子副本的數(shù)據(jù)轉(zhuǎn)發(fā)給所述目的對等節(jié)點(diǎn)。
32、 如權(quán)利要求30或31所述的裝置,其特征在于,該裝置進(jìn)一步包括 進(jìn)度跟蹤單元,用于接收并記錄來自所述目的對等節(jié)點(diǎn)的子副本的數(shù)據(jù)接收進(jìn)度信息;更新單元,用于在轉(zhuǎn)發(fā)對等節(jié)點(diǎn)發(fā)生異常和重新選擇轉(zhuǎn)發(fā)對等節(jié)點(diǎn)后,更 新子副本與轉(zhuǎn)發(fā)對等節(jié)點(diǎn)的對應(yīng)關(guān)系。
全文摘要
本發(fā)明實(shí)施例公開了一種P2P(Peer to Peer)網(wǎng)絡(luò)中文件傳輸?shù)姆椒?,該方法為源對等?jié)點(diǎn)從P2P網(wǎng)絡(luò)中選擇一個(gè)或多個(gè)與目的對等節(jié)點(diǎn)之間在P2P層存在可達(dá)路徑的轉(zhuǎn)發(fā)對等節(jié)點(diǎn),并將文件的數(shù)據(jù)發(fā)送給所述一個(gè)或多個(gè)轉(zhuǎn)發(fā)對等節(jié)點(diǎn);所述源對等節(jié)點(diǎn)以及所述一個(gè)或多個(gè)轉(zhuǎn)發(fā)對等節(jié)點(diǎn)向所述目的對等節(jié)點(diǎn)并行發(fā)送所述文件的數(shù)據(jù)。本發(fā)明實(shí)施例還公開了P2P網(wǎng)絡(luò)中文件傳輸?shù)南到y(tǒng)及裝置。采用本發(fā)明,能夠大大提高P2P網(wǎng)絡(luò)中文件傳輸?shù)耐掏侣?、可靠性和穩(wěn)定性。
文檔編號H04L29/08GK101304381SQ20081011612
公開日2008年11月12日 申請日期2008年7月3日 優(yōu)先權(quán)日2008年7月3日
發(fā)明者濤 劉, 吳興耀, 晨 張, 兵 徐, 陳彥名, 鵬 高 申請人:中國移動通信集團(tuán)設(shè)計(jì)院有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
长宁区| 巩义市| 吉林省| 武冈市| 菏泽市| 西丰县| 专栏| 隆子县| 阿尔山市| 青龙| 大石桥市| 石景山区| 松原市| 偏关县| 东至县| 通山县| 香格里拉县| 海伦市| 桐乡市| 丰宁| 永新县| 桦南县| 修文县| 巴林左旗| 镇康县| 弋阳县| 中江县| 民乐县| 商城县| 梁河县| 太仆寺旗| 浮梁县| 嘉义县| 武乡县| 乃东县| 揭阳市| 龙江县| 芮城县| 北海市| 深州市| 鹿邑县|