,該P(yáng)2P節(jié)點(diǎn)向該信息指示的數(shù)據(jù)節(jié)點(diǎn)發(fā)送內(nèi)容服務(wù)請(qǐng)求,得到內(nèi)容分片后,將該內(nèi)容分片存在本地硬盤。當(dāng)某一內(nèi)容分片在云中請(qǐng)求次數(shù)達(dá)到一定數(shù)量,可能造成其所在數(shù)據(jù)節(jié)點(diǎn)出現(xiàn)瓶頸時(shí),根據(jù)云的可伸縮特性,可添加新的數(shù)據(jù)節(jié)點(diǎn)存儲(chǔ)該內(nèi)容分片并提供內(nèi)容服務(wù);而當(dāng)P2P自治域內(nèi)的自服務(wù)性能較好時(shí),數(shù)據(jù)節(jié)點(diǎn)收到的內(nèi)容服務(wù)請(qǐng)求較少時(shí),可以相應(yīng)的刪除負(fù)載過小的數(shù)據(jù)節(jié)點(diǎn),以充分利用每個(gè)數(shù)據(jù)節(jié)點(diǎn)的資源,減少資源浪費(fèi)。
[0102]如圖4所示,為基于上述系統(tǒng)的內(nèi)容發(fā)布流程圖。該過程的具體實(shí)現(xiàn)過程如下:
[0103]步驟41,當(dāng)內(nèi)容源發(fā)布某一內(nèi)容時(shí),向內(nèi)容管理服務(wù)器發(fā)送內(nèi)容分布請(qǐng)求;
[0104]步驟42,內(nèi)容管理服務(wù)器將內(nèi)容分片的標(biāo)識(shí)ID以及針對(duì)每個(gè)內(nèi)容分片而指定的數(shù)據(jù)節(jié)點(diǎn)返回給內(nèi)容源;
[0105]步驟43,內(nèi)容源向指定的數(shù)據(jù)節(jié)點(diǎn)寫入相應(yīng)的內(nèi)容分片;
[0106]步驟44,指定的數(shù)據(jù)節(jié)點(diǎn)和備份的數(shù)據(jù)節(jié)點(diǎn)按照流水線的方式傳送內(nèi)容分片,實(shí)現(xiàn)備份;
[0107]步驟45,保存有內(nèi)容分片的數(shù)據(jù)節(jié)點(diǎn)向內(nèi)容管理服務(wù)器反饋已保存內(nèi)容分片;
[0108]步驟46,內(nèi)容分片全部傳輸完畢后,內(nèi)容管理服務(wù)器向web服務(wù)器發(fā)布內(nèi)容,使用戶可以通過web服務(wù)器查看系統(tǒng)可提供的內(nèi)容服務(wù)。
[0109]如圖5所示,為基于上述系統(tǒng)的提供內(nèi)容服務(wù)流程圖。該過程的具體實(shí)現(xiàn)過程如下:
[0110]步驟51,P2P節(jié)點(diǎn)向自身所在的P2P自治域發(fā)送內(nèi)容分片查找請(qǐng)求,在預(yù)先設(shè)置的跳數(shù)或時(shí)間內(nèi),沒有查找到內(nèi)容分片所在的目標(biāo)節(jié)點(diǎn)時(shí),向P2P自治域?qū)?yīng)的云目錄服務(wù)器發(fā)送內(nèi)容分片查找請(qǐng)求;
[0111]步驟52,云目錄服務(wù)器根據(jù)預(yù)先保存的內(nèi)容分片存儲(chǔ)信息,在P2P自治域中查找該內(nèi)容分片所在的P2P節(jié)點(diǎn);當(dāng)查找到時(shí),執(zhí)行步驟59,否則繼續(xù)執(zhí)行步驟53 ;
[0112]步驟53,將內(nèi)容分片查找請(qǐng)求發(fā)送給內(nèi)容管理服務(wù)器;
[0113]步驟54,內(nèi)容管理服務(wù)器確定該內(nèi)容分片所在的目標(biāo)數(shù)據(jù)節(jié)點(diǎn),并將確定出的目標(biāo)數(shù)據(jù)節(jié)點(diǎn)的信息給云目錄服務(wù)器;
[0114]步驟55,云目錄服務(wù)器將該信息發(fā)送給發(fā)出內(nèi)容分片查詢請(qǐng)求的P2P節(jié)點(diǎn);
[0115]步驟56,該P(yáng)2P節(jié)點(diǎn)向該信息指示的目標(biāo)數(shù)據(jù)節(jié)點(diǎn)發(fā)起內(nèi)容服務(wù)請(qǐng)求;
[0116]步驟57,目標(biāo)數(shù)據(jù)節(jié)點(diǎn)將內(nèi)容分片發(fā)送給該P(yáng)2P節(jié)點(diǎn);
[0117]步驟58,該P(yáng)2P節(jié)點(diǎn)接收到內(nèi)容分片后,將該內(nèi)容分片存儲(chǔ)在本地,繼續(xù)執(zhí)行步驟512 ;
[0118]步驟59,云目錄服務(wù)器將內(nèi)容分片所在的目標(biāo)P2P節(jié)點(diǎn)的信息發(fā)送給發(fā)出內(nèi)容分片查詢請(qǐng)求的P2P節(jié)點(diǎn);
[0119]步驟510,該P(yáng)2P節(jié)點(diǎn)向該信息指示的目標(biāo)P2P節(jié)點(diǎn)發(fā)起內(nèi)容服務(wù)請(qǐng)求;
[0120]步驟511,目標(biāo)P2P節(jié)點(diǎn)將內(nèi)容分片發(fā)送給該P(yáng)2P節(jié)點(diǎn);
[0121]步驟512,該P(yáng)2P節(jié)點(diǎn)向其所在P2P自治域的云目錄服務(wù)器匯報(bào)該內(nèi)容分片存儲(chǔ)信肩、O
[0122]本發(fā)明實(shí)施例中,當(dāng)P2P節(jié)點(diǎn)在自身所在的P2P自治域內(nèi)查找不到內(nèi)容分片所在的目標(biāo)節(jié)點(diǎn)時(shí),向P2P自治域?qū)?yīng)的云目錄服務(wù)器發(fā)送內(nèi)容分片查找請(qǐng)求,并根據(jù)云目錄服務(wù)器反饋的目標(biāo)節(jié)點(diǎn)的信息來獲取內(nèi)容服務(wù),與現(xiàn)有技術(shù)相比,即使P2P自治域中的P2P節(jié)點(diǎn)大量退出,也能通過云目錄服務(wù)器使P2P自治域內(nèi)的P2P節(jié)點(diǎn)獲得內(nèi)容服務(wù),從而解決了現(xiàn)有技術(shù)中當(dāng)大量節(jié)點(diǎn)退出P2P系統(tǒng)時(shí)存在的P2P系統(tǒng)無法提供穩(wěn)定可靠的服務(wù)的問題。
[0123]同時(shí),本發(fā)明實(shí)施例提供的上述方案與P2P系統(tǒng)相比,還具有內(nèi)容服務(wù)的控制管理能力。通過對(duì)存儲(chǔ)于云中的資源的管理,對(duì)云服務(wù)提供商,通常是一些大型企業(yè)進(jìn)行監(jiān)督,更容易對(duì)內(nèi)容的版權(quán)和純粹性進(jìn)行管理。一些大眾化的公共內(nèi)容資源也可以通過云服務(wù)中的共享實(shí)現(xiàn)。
[0124]本發(fā)明實(shí)施例提供的上述方案與云計(jì)算相比,能夠提供內(nèi)容的分布存儲(chǔ),利用P2P去中心化和自服務(wù)的特點(diǎn),將資源分布存儲(chǔ)到各個(gè)P2P節(jié)點(diǎn)上,而不是集中存儲(chǔ)在云中的數(shù)據(jù)節(jié)點(diǎn),有效利用客戶端資源,減少云中的數(shù)據(jù)節(jié)點(diǎn)資源和網(wǎng)絡(luò)帶寬的瓶頸。
[0125]基于上述構(gòu)思,本發(fā)明實(shí)施例還提供了一種P2P節(jié)點(diǎn),如圖6所示,為該P(yáng)2P節(jié)點(diǎn)的結(jié)構(gòu)示意圖,包括:
[0126]內(nèi)容分片查找請(qǐng)求發(fā)送單元61,用于當(dāng)對(duì)等網(wǎng)絡(luò)P2P節(jié)點(diǎn)在自身所在的P2P自治域內(nèi)查找不到內(nèi)容分片所在的目標(biāo)節(jié)點(diǎn)時(shí),向所述P2P自治域?qū)?yīng)的云目錄服務(wù)器發(fā)送內(nèi)容分片查找請(qǐng)求;
[0127]接收單元62,用于接收所述云目錄服務(wù)器反饋的所述內(nèi)容分片所在的目標(biāo)節(jié)點(diǎn)的信息;
[0128]內(nèi)容服務(wù)請(qǐng)求發(fā)送單元63,用于向接收單元62接收到的所述目標(biāo)節(jié)點(diǎn)的信息指示的目標(biāo)節(jié)點(diǎn)發(fā)送內(nèi)容服務(wù)請(qǐng)求,以獲取所述內(nèi)容分片。
[0129]其中,所述目標(biāo)節(jié)點(diǎn)的信息指示的目標(biāo)節(jié)點(diǎn)可以為:
[0130]所述P2P自治域中的P2P節(jié)點(diǎn),或者所述P2P自治域外的數(shù)據(jù)節(jié)點(diǎn)。
[0131]其中,所述內(nèi)容分片查找請(qǐng)求發(fā)送單元61,可以具體用于:
[0132]當(dāng)所述P2P節(jié)點(diǎn)在預(yù)先設(shè)置的時(shí)間或跳數(shù)內(nèi)沒有在自身所在的P2P自治域內(nèi)查找到內(nèi)容分片所在的目標(biāo)節(jié)點(diǎn)時(shí),向所述云目錄服務(wù)器發(fā)送內(nèi)容分片查找請(qǐng)求。
[0133]進(jìn)一步的,所述P2P節(jié)點(diǎn)還可以包括:
[0134]存儲(chǔ)單元64,用于將從所述目標(biāo)節(jié)點(diǎn)收到的內(nèi)容分片進(jìn)行存儲(chǔ);
[0135]對(duì)應(yīng)關(guān)系發(fā)送單元65,用于將自身與所述內(nèi)容分片的對(duì)應(yīng)關(guān)系發(fā)送給所述云目錄服務(wù)器,以便所述云目錄服務(wù)器能夠根據(jù)所述對(duì)應(yīng)關(guān)系對(duì)預(yù)先保存的內(nèi)容分片存儲(chǔ)信息進(jìn)行更新。
[0136]基于上述構(gòu)思,本發(fā)明實(shí)施例還提供了一種云目錄服務(wù)器,如圖7所示,為該云目錄服務(wù)器的結(jié)構(gòu)示意圖,包括:
[0137]內(nèi)容分片查找請(qǐng)求接收單元71,用于接收P2P節(jié)點(diǎn)發(fā)送的內(nèi)容分片查找請(qǐng)求;所述P2P節(jié)點(diǎn)在所述云目錄服務(wù)器對(duì)應(yīng)的P2P自治域中;
[0138]目標(biāo)節(jié)點(diǎn)確定單元72,用于確定內(nèi)容分片查找請(qǐng)求接收單元71接收的所述內(nèi)容分片查找請(qǐng)求所請(qǐng)求的內(nèi)容分片所在的目標(biāo)節(jié)點(diǎn);
[0139]信息發(fā)送單元73,用于將目標(biāo)節(jié)點(diǎn)確定單元72確定出的目標(biāo)節(jié)點(diǎn)的信息發(fā)送給所述P2P節(jié)點(diǎn),使所述P2P節(jié)點(diǎn)能夠從確定出的目標(biāo)節(jié)點(diǎn)的信息指示的目標(biāo)節(jié)點(diǎn)中獲取內(nèi)容分片。
[0140]其中,所述目標(biāo)節(jié)點(diǎn)確定單元72,可以具體包括:
[0141]查找模塊721,用于根據(jù)預(yù)先保存的內(nèi)容分片存儲(chǔ)信息,在所述P2P自治域中查找所述內(nèi)容分片所在的P2P節(jié)點(diǎn);所述內(nèi)容分片存儲(chǔ)信息中包含內(nèi)容分片與P2P節(jié)點(diǎn)的對(duì)應(yīng)關(guān)系;
[0142]目標(biāo)節(jié)點(diǎn)第一確定模塊722,用于當(dāng)查找模塊721在所述P2P自治域中查找到所述內(nèi)容分片所在的P2P節(jié)點(diǎn)時(shí),將查找到的P2P節(jié)點(diǎn)確定為所述目標(biāo)節(jié)點(diǎn);
[0143]目標(biāo)節(jié)點(diǎn)第二確定模塊723,用于當(dāng)查找模塊721在所述P2P自治域中沒有查找到所述內(nèi)容分片所在的P2P節(jié)點(diǎn)時(shí),將所述內(nèi)容分片查找請(qǐng)求發(fā)送給內(nèi)容管理服務(wù)器,由所述內(nèi)容管理服務(wù)器查找所述內(nèi)容分片所在的數(shù)據(jù)節(jié)點(diǎn);并將所述內(nèi)容管理服務(wù)器查找到的數(shù)據(jù)節(jié)點(diǎn)確定為所述目標(biāo)節(jié)點(diǎn)。
[0144]進(jìn)一步的,所述云目錄服務(wù)器還可以包括:
[0145]對(duì)應(yīng)關(guān)系接收單元74,用于接收所述P2P節(jié)點(diǎn)發(fā)送的所述P2P節(jié)點(diǎn)與所述內(nèi)容分片的對(duì)應(yīng)關(guān)系;
[0146]更新單元75,用于根據(jù)對(duì)應(yīng)關(guān)系接收單元74接收的所述對(duì)應(yīng)關(guān)系對(duì)預(yù)先保存的內(nèi)容分片存儲(chǔ)信息進(jìn)行更新。
[0147]基于上述構(gòu)思,本發(fā)明實(shí)施例還提供了一種提供內(nèi)容服務(wù)的系統(tǒng),如圖8所示,為該系統(tǒng)的結(jié)構(gòu)示意圖,包括:至少一個(gè)P2P自治域和與每個(gè)P2P自治域分別對(duì)應(yīng)的云目錄服務(wù)器81,且每個(gè)P2P自治域中包含多個(gè)P2P節(jié)點(diǎn)82,其中:
[0148]所述P2P節(jié)點(diǎn)82,用于當(dāng)在自身所在的P2P自治域內(nèi)查找不到內(nèi)容分片所在的目標(biāo)節(jié)點(diǎn)時(shí),向自身所在的P2P自治域?qū)?yīng)的云目錄服務(wù)器81發(fā)送內(nèi)容分片查找請(qǐng)求;接收所述云目錄服務(wù)器81反饋的所述內(nèi)容分片所在的目標(biāo)節(jié)點(diǎn)的信息;向所述目標(biāo)節(jié)點(diǎn)的信息指示的目標(biāo)節(jié)點(diǎn)發(fā)送內(nèi)容服務(wù)請(qǐng)求,以獲取所述內(nèi)容分片;
[0149]所述云目錄服務(wù)器81,用于接收所述P2P節(jié)點(diǎn)82發(fā)送的內(nèi)容分片查找請(qǐng)求;確定所述內(nèi)容分片查找請(qǐng)求所請(qǐng)求的內(nèi)容分片所在的目標(biāo)節(jié)點(diǎn);并將確定出的目標(biāo)節(jié)點(diǎn)的信息發(fā)送給所述P2P節(jié)點(diǎn)82。
[0150]其中,所述系統(tǒng)還可以包括:內(nèi)容管理服務(wù)器83和數(shù)據(jù)節(jié)點(diǎn)84 ;則
[0151]所述云目錄服務(wù)器81,具體用于:
[0152]根據(jù)預(yù)先保存的內(nèi)容分片存儲(chǔ)信息,在所述P2P自治域中查找所述內(nèi)容分片所在的P2P節(jié)點(diǎn);所述內(nèi)容分片存儲(chǔ)信息中包含內(nèi)容分片與P2P節(jié)點(diǎn)的對(duì)應(yīng)關(guān)系;當(dāng)在所述P2P自治域中查找到所述內(nèi)容分片所在的P2P節(jié)點(diǎn)時(shí),將查找到的P2P節(jié)點(diǎn)確定為所述目標(biāo)節(jié)點(diǎn);當(dāng)在所述P2P自治域中沒有查找到所述內(nèi)容分片所在的P2P節(jié)點(diǎn)時(shí),將所述內(nèi)容分片查找請(qǐng)求發(fā)送給內(nèi)容管理服務(wù)器83,由所述內(nèi)容管理服務(wù)器83查找所述內(nèi)容分片所在的數(shù)據(jù)節(jié)點(diǎn)84 ;并將所述內(nèi)容管理服務(wù)器83查找到的數(shù)據(jù)節(jié)點(diǎn)84確定為所述目標(biāo)節(jié)點(diǎn)。
[0153]本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明的實(shí)施例可提供為方法、系統(tǒng)、或計(jì)算機(jī)程序產(chǎn)品。因此,本發(fā)明可采用完全硬件實(shí)施例、完全軟件實(shí)施例、或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本發(fā)明可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲(chǔ)介質(zhì)(包括但不限于磁盤存儲(chǔ)器、CD-ROM、光學(xué)存儲(chǔ)器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。
[0154]本發(fā)明是參照根據(jù)本發(fā)明