專利名稱:一種基于p2p在線信息聚合的副本存儲系統(tǒng)及方法
一種基于P2P在線信息聚合的副本存儲系統(tǒng)及方法技術(shù)領(lǐng)域
本發(fā)明屬于對等網(wǎng)絡(luò)(P2P)存儲技術(shù)領(lǐng)域,具體涉及一種基于P2P在線信息聚合的副本存儲系統(tǒng)及方法。
背景技術(shù):
P2P技術(shù)作為分布式系統(tǒng)的一個重要分支,它的特點是具有良好的可擴展性,自治性,區(qū)別與傳統(tǒng)的C/S架構(gòu),系統(tǒng)中的節(jié)點既是服務(wù)提供者也是服務(wù)消費者,這種對等網(wǎng)絡(luò)的特點降低了用戶對服務(wù)器的依賴,也充分的利用了網(wǎng)絡(luò)上閑散的資源,提高了資源利用率。
P2P存儲是P2P技術(shù)的一個具體應(yīng)用,它包括文件共享和文件存儲兩個方面,例如 Napster、Gnutella、Bittorrent、eDonkey 等屬于基于 P2P 的文件共享系統(tǒng),Past、OceanStoreXFS等屬于基于P2P的文件存儲系統(tǒng),目前比較流行的網(wǎng)盤也有一部分采用了P2P技術(shù)。
在P2P文件存儲系統(tǒng)中,為了保證存儲文件的可靠性和可用性,大多數(shù)系統(tǒng)都采用了副本機制,即存儲文件時系統(tǒng)會在該系統(tǒng)中所有在線節(jié)點中按照一定的策略選取一定數(shù)量的副本節(jié)點,然后將文件在所有副本節(jié)點上都存儲一份,這種副本機制保證了存儲文件的可靠性和可用性。但是,由于P2P系統(tǒng)的強動態(tài)性,系統(tǒng)中的節(jié)點頻繁的加入或退出系統(tǒng),導(dǎo)致副本節(jié)點個數(shù)會不斷減少,如果不采取策略維持副本節(jié)點的個數(shù),最終可能會導(dǎo)致所有的副本節(jié)點都已經(jīng)退出系統(tǒng),使得文件的可靠性和可用性受到嚴重影響。
為了解決P2P系統(tǒng)的高動態(tài)性帶來的副本節(jié)點數(shù)減少的問題,當前一些系統(tǒng)采用的是副本遷移機制,即如果某個副本節(jié)點退出該系統(tǒng)時,會把存儲在它上面的文件遷移到系統(tǒng)中其它在線節(jié)點中,讓其它某個在線節(jié)點作為文件的副本節(jié)點,這樣即使它退出了,文件的副本節(jié)點個數(shù)并沒有減少,保證了文件的可靠性和可用性。
但是為了提高文件可靠性和可用性的副本遷移機制會耗費P2P存儲系統(tǒng)大量的帶寬,給系統(tǒng)的運行帶來很大的壓力。因為P2P系統(tǒng)具有高動態(tài)性,副本節(jié)點會頻繁的退出系統(tǒng),而當退出系統(tǒng)時它會將文件遷移到其它在線節(jié)點中,即頻繁的退出帶來頻繁的文件遷移,所以P2P存儲系統(tǒng)的大量帶寬會耗費在這些頻繁的文件遷移上。發(fā)明內(nèi)容
本發(fā)明的目的在于,為克服上述問題,本發(fā)明提供一種基于P2P在線信息聚合的副本存儲系統(tǒng)及方法。
為實現(xiàn)上述目的,本發(fā)明提供一種基于P2P在線信息聚合的副本存儲方法,該方法用于選擇與本地節(jié)點同時在線概率高的鄰居節(jié)點作為文件副本存放節(jié)點,所述方法包含:
步驟1,P2P存儲系統(tǒng)中的每個節(jié)點分別搜集其鄰居節(jié)點的歷史在線信息,該搜集節(jié)點依據(jù)歷史在線信息預(yù)測其未來在線信息。
步驟2,當P2P存儲系統(tǒng)中的某個本地節(jié)點需要存儲文件副本時,該本地節(jié)點利用其鄰居節(jié)點的歷史在線信息和未來在線信息獲取若干設(shè)定數(shù)目的與該本地節(jié)點同時在線的概率較高的鄰居節(jié)點存放文件副本。
其中,所述鄰居節(jié)點包含一級以上的鄰居節(jié)點,所述的一級鄰居節(jié)點為某節(jié)點的鄰居節(jié)點,二級鄰居節(jié)點為某節(jié)點的鄰居節(jié)點的鄰居節(jié)點,依次類推可知任意級鄰居節(jié)點的含義。
上述技術(shù)方案中,所述步驟I進一步包含如下子步驟:
步驟1-1,P2P存儲系統(tǒng)中的某節(jié)點搜集其鄰居節(jié)點的歷史在線信息,該搜集節(jié)點與其鄰居節(jié)點組成一個節(jié)點集。
步驟1-2,提取節(jié)點集中各節(jié)點歷史在線信息的特征向量。
步驟1-3,根據(jù)提取的特征向量對節(jié)點集進行聚類,得到所述搜集節(jié)點的類簇,然后將該類簇的所有節(jié)點作為預(yù)測處理的訓(xùn)練集,從而預(yù)測所述搜集節(jié)點的未來在線信息。
其中,步驟1-1中:如果P2P存儲系統(tǒng)規(guī)模較小使某節(jié)點搜索得到的一級鄰居節(jié)點數(shù)目比較少時,繼續(xù)搜集第二級鄰居節(jié)點的歷史信息,依次類推,直至累積搜索的鄰居節(jié)點數(shù)達到一定規(guī)模;如果P2P存儲系統(tǒng)規(guī)模較大時僅搜集第一級鄰居節(jié)點的歷史信息。
所述步驟1-2根據(jù)實際P2P存儲系統(tǒng)中P2P節(jié)點總體的上下線規(guī)律,設(shè)定特征向量的維度。
可選的,所述與該本地節(jié)點同時在線的概率較高的鄰居節(jié)點即找出在線行為與該本地節(jié)點最相似的若干節(jié)點作為副本存放節(jié)點;其中,所述的相似性可通過歐式距離算法或連續(xù)在線時間最長算法確定。
可選的,所述步驟2中當本地節(jié)點需要存儲文件副本時:
本地節(jié)點首先判斷其鄰居節(jié)點表中節(jié)點的總個數(shù)是否小于需要的副本節(jié)點個數(shù),如果小于則需要遞歸搜集本地節(jié)點的第二級鄰居節(jié)點表,以此類推,經(jīng)過遍歷若干級鄰居節(jié)點,最終使得搜集的鄰居節(jié)點的總個數(shù)至少等于副本節(jié)點數(shù),從搜集的所有鄰居節(jié)點中選擇需要的副本節(jié)點個數(shù)存放文件副本。
基于上述方法,本發(fā)明提供一種可選的基于P2P在線信息聚合的副本存儲系統(tǒng),該系統(tǒng)用于選擇與本地節(jié)點同時在線概率高的鄰居節(jié)點作為文件副本存放節(jié)點,所述系統(tǒng)包含:
位于P2P存儲系統(tǒng)中的每個節(jié)點上的搜索和預(yù)測子系統(tǒng),該子系統(tǒng)搜集其所在節(jié)點的鄰居節(jié)點的歷史在線信息,依據(jù)歷史在線信息預(yù)測該節(jié)點的未來在線信息。
位于P2P存儲系統(tǒng)中的每個節(jié)點上的副本存放節(jié)點選擇子系統(tǒng),用于當該子系統(tǒng)所在的節(jié)點有文件需要進行副本存放時,該本地節(jié)點利用其鄰居節(jié)點的歷史在線信息和未來在線信息獲取若干設(shè)定數(shù)目的與該本地節(jié)點同時在線的概率較高的鄰居節(jié)點存放文件副本。
其中,所述鄰居節(jié)點包含一級以上的鄰居節(jié)點,所述的一級鄰居節(jié)點為某節(jié)點的鄰居節(jié)點,二級鄰居節(jié)點為某節(jié)點的鄰居節(jié)點的鄰居節(jié)點,依次類推可知多級鄰居節(jié)點的含義。
上述系統(tǒng)中,所述搜索和預(yù)測子系統(tǒng)進一步包含:
歷史信息搜索模塊,用于搜集該模塊所在節(jié)點的鄰居節(jié)點的歷史在線信息。
特征向量提取模塊,用于提取各歷史在線信息的特征向量。和
基于聚類的預(yù)測模塊,利用提取的特征向量對鄰居節(jié)點進行聚類,得到歷史信息搜索模塊所在節(jié)點的類簇,然后將類簇中的所有節(jié)點作為預(yù)測處理的訓(xùn)練集,從而預(yù)測出歷史信息搜索模塊所在節(jié)點的未來在線信息。
其中,所述的歷史信息搜索模塊能動態(tài)調(diào)整搜索的鄰居節(jié)點的級數(shù),S卩如果P2P存儲系統(tǒng)規(guī)模較小使鄰居節(jié)點數(shù)目比較少時,需依次搜索多級鄰居節(jié)點;如果P2P存儲系統(tǒng)規(guī)模較大時僅搜集的第一級鄰居節(jié)點的歷史信息。
優(yōu)化的,所述基于聚類的預(yù)測模塊進一步包含:
聚類器,用于利用提取的特征向量對鄰居節(jié)點進行聚類,得到歷史信息搜索模塊所在節(jié)點的類簇,然后將類簇中的所有節(jié)點作為預(yù)測器的訓(xùn)練集輸入預(yù)測器;和
預(yù)測器,用于依據(jù)輸入的訓(xùn)練集預(yù)測歷史信息搜索模塊所在節(jié)點的未來在線信肩、O
可選的,所述特征向量提取模塊根據(jù)實際P2P存儲系統(tǒng)中用戶節(jié)點總體的上下線規(guī)律,設(shè)定特征向量的維度。
可選的,所述與該本地節(jié)點同時在線的概率較高的鄰居節(jié)點即找出在線行為與該本地節(jié)點最相似的若干節(jié)點作為副本存放節(jié)點;
其中,所述的相似性可通過歐式距離算法或連續(xù)在線時間最長算法確定。
所述副本存放節(jié)點選擇子系統(tǒng)進一步包含如下模塊:
判斷模塊,用于判斷本地節(jié)點的鄰居節(jié)點表中節(jié)點的總個數(shù)是否小于設(shè)定的副本節(jié)點個數(shù);如果小于則將結(jié)果反饋累加搜索模塊。
累加搜索模塊,當收到判斷模塊的反饋信息時遞歸搜集本地節(jié)點的第二級鄰居節(jié)點表,以此類推,經(jīng)過遍歷若干級鄰居節(jié)點,最終使得搜集的鄰居節(jié)點的總個數(shù)達到一定規(guī)模,繼而為副本選擇提供一個比較大的節(jié)點選擇空間。和
確定最終副本存放節(jié)點的模塊,用于從搜集的所有鄰居節(jié)點中選擇設(shè)定個數(shù)的副本節(jié)點,存放文件副本。其中,所述第二級是指本地節(jié)點的鄰居節(jié)點的鄰居節(jié)點。
本發(fā)明提供一種基于P2P在線信息聚合的存儲策略,該策略包括P2P節(jié)點在線信息的預(yù)測策略以及基于預(yù)測信息的聚合存儲策略兩部分。P2P節(jié)點在線信息的預(yù)測策略負責搜集所有鄰居節(jié)點的歷史在線信息,并利用這些歷史在線信息對本節(jié)點的未來在線信息進行預(yù)測,即預(yù)測該節(jié)點在未來某個時間段是否在線,預(yù)測使用的模型是Cluster-BasedPredictor (基于聚類的預(yù)測器);基于預(yù)測信息的聚合存儲策略部分負責當本地節(jié)點存儲文件時,搜集鄰居節(jié)點的在線信息,然后利用基于這些在線信息的副本選取策略,從它的所有鄰居節(jié)點中選出指定數(shù)量的副本節(jié)點進行存儲。
與現(xiàn)有技術(shù)相比本發(fā)明的技術(shù)優(yōu)勢在于:由于副本選取的時候考慮到了節(jié)點的未來在線情況,使得本節(jié)點未來去取所存的文件時,副本節(jié)點同時在線的可能性大大提高,從而提高了副本的可靠性和可用性。這種將文件存儲到與本地節(jié)點上下線行為類似的節(jié)點來提高可靠性和可用性的方法,避免了副本遷移方法帶來的大量帶寬的消費,使得P2P存儲性能得到了提升。
圖1-a為本發(fā)明實施例的基于P2P在線信息聚合的存儲策略的網(wǎng)絡(luò)結(jié)構(gòu)示意圖Ι-b為本發(fā)明的基于P2P在線信息聚合的存儲策略的流程圖2為本發(fā)明的基于P2P在線信息聚合的存儲策略中的Cluster-BasedPredictor結(jié)構(gòu)示意圖3為本發(fā)明的基于P2P在線信息聚合的存儲策略中節(jié)點在線信息預(yù)測的流程圖4為本發(fā)明的基于P2P在線信息聚合的存儲策略中基于節(jié)點預(yù)測信息的聚合存儲策略流程圖。
具體實施方式
下面結(jié)合附圖和具體實例對本發(fā)明的基于P2P在線信息聚合的存儲策略進行詳細說明。
本發(fā)明提出一種應(yīng)用于P2P文件存儲系統(tǒng)的存儲策略,該策略在不使用副本遷移機制的前提下,保證了系統(tǒng)的可靠性和可用性,從而避免了頻繁的副本遷移,大大減少了P2P存儲系統(tǒng)的帶寬消耗,提高了系統(tǒng)性能。為實現(xiàn)上述目的,本發(fā)明提供一種基于P2P在線信息聚合的存儲策略。
本發(fā)明的特征在于:本發(fā)明提供的一種基于P2P在線信息聚合的存儲策略由P2P節(jié)點在線信息的預(yù)測策略以及基于預(yù)測信息的聚合存儲策略兩部分組成。其中所述P2P節(jié)點在線信息的預(yù)測負責搜集鄰居節(jié)點的歷史在線信息,并預(yù)測未來時刻節(jié)點是否在線,預(yù)測模型為Cluster-Based Predictor (基于聚類的預(yù)測器);所述基于預(yù)測信息的聚合存儲策略負責將搜集到的鄰居節(jié)點的在線信息進行聚合,然后利用基于這些在線信息設(shè)計的副本選取策略,選取副本節(jié)點進行存儲。
在本發(fā)明的存儲策略中,各個子策略的功能和處理方法如下:
I)所述P2P節(jié)點在線信息的預(yù)測策略:本地節(jié)點需要對它未來在線信息進行預(yù)測,首先需要搜集本地節(jié)點的所有鄰居節(jié)點的歷史在線信息,然后對每個鄰居節(jié)點的歷史在線信息提取特征向量,最后利用Cluster-Based Predictor預(yù)測模型對本地節(jié)點的未來在線信息進行預(yù)測。該子策略的優(yōu)勢為:
+利用鄰居節(jié)點的歷史在線信息作為預(yù)測器的訓(xùn)練集合,使得預(yù)測器的訓(xùn)練集合更加完備,彌補了只使用本地節(jié)點歷史在線信息作為訓(xùn)練集合的不足,提高了預(yù)測的準確性;
今通過對鄰居節(jié)點進行聚類,將本地節(jié)點所在類簇的所有鄰居節(jié)點作為預(yù)測器的訓(xùn)練集合,即從所有鄰居節(jié)點中篩選出和本地節(jié)點在線行為最相似的那些鄰居節(jié)點作為預(yù)測器的訓(xùn)練集,使得預(yù)測器訓(xùn)練集合更加有效,從而進一步提高了預(yù)測的準確性。
其中,所述的搜集本地節(jié)點的所有鄰居節(jié)點的歷史在線信息,可以根據(jù)P2P存儲系統(tǒng)的規(guī)模來選取鄰居節(jié)點遍歷的級數(shù)。如果P2P存儲系統(tǒng)規(guī)模較小導(dǎo)致本地節(jié)點的鄰居節(jié)點數(shù)目比較少時,除了搜集這些第一級的鄰居節(jié)點外,還可以選擇搜集這些鄰居節(jié)點的鄰居節(jié)點,即相對于本地節(jié)點的第二級鄰居節(jié)點;如果P2P存儲系統(tǒng)規(guī)模較大,可以只搜集第一級鄰居節(jié)點。保證一定的鄰居節(jié)點數(shù)避免了小數(shù)量的不確定性,使得聚類效果更好。
所述的對每個鄰居節(jié)點的歷史在線信息提取特征向量(表征節(jié)點的上下線規(guī)律),需要根據(jù)實際的P2P存儲系統(tǒng)中節(jié)點總體表現(xiàn)出來的上下線規(guī)律來決定特征向量的維度。如果P2P存儲系統(tǒng)中節(jié)點總體表現(xiàn)出來以一天為周期的上下線規(guī)律,則可以將特征向量的維度設(shè)置為一天內(nèi)的歷史信息采樣個數(shù);如果是以2天或者一周等規(guī)律,可以將特征向量設(shè)置為2天或一周內(nèi)的歷史信息采樣個數(shù)。這種設(shè)定特征向量維度的方法,可以使得聚類的效果更好。
所述的利用Cluster-Based Predictor預(yù)測模型對本地節(jié)點的未來在線信息進行預(yù)測,包括聚類器對鄰居節(jié)點聚類、以將本地節(jié)點所在類簇作為訓(xùn)練集合輸入預(yù)測器進行預(yù)測兩個部分,如下所示:
■所述的聚類器對鄰居節(jié)點聚類,根據(jù)每個鄰居節(jié)點的特征向量,選擇一種聚類器進行聚類,它將所有的鄰居節(jié)點進行分類,每個類簇中的節(jié)點具有相似的上下線行為習(xí)慣;
■所述的將本地節(jié)點所在類簇作為訓(xùn)練集合輸入預(yù)測器進行預(yù)測部分,將本地節(jié)點所在類簇的所有節(jié)點作為訓(xùn)練集合,完備了訓(xùn)練集合,提高了預(yù)測的準確性。
2)所述的基于預(yù)測信息的聚合存儲策略:當本地節(jié)點需要存儲文件時,搜集所有鄰居節(jié)點的在線信息(這里的在線信息包括歷史在線信息和上面所述的利用歷史信息預(yù)測的未來在線信息),當一級鄰居節(jié)點的個數(shù)比較少時,可以繼續(xù)第二級的鄰居節(jié)點,然后本地節(jié)點利用基于這些在線信息的副本選取策略,選取副本進行存儲,該子策略的優(yōu)勢在于:由于副本選取的時候考慮到了節(jié)點的未來在線情況,使得本節(jié)點未來去取所存的文件時,副本節(jié)點同時在線的可能性大大提高,從而提高了副本的可靠性和可用性。這種將文件存儲到與本地節(jié)點上下線行為類似的節(jié)點來提高可靠性和可用性的方法,避免了副本遷移方法帶來的大量帶寬的消費,使得P2P存儲性能得到了提升。
下面結(jié)合附圖詳細解釋本發(fā)明的實施例。
如圖Ι-a所示,該圖為本發(fā)明的基于P2P在線信息聚合的存儲策略的結(jié)構(gòu)示意圖。如圖Ι-a所示,本發(fā)明的一種基于P2P在線信息聚合的存儲策略,包括P2P節(jié)點在線信息的預(yù)測、以基于預(yù)測信息的存儲策略兩個部分。其中所述P2P節(jié)點在線信息的預(yù)測負責搜集鄰居節(jié)點的歷史在線信息,然后對節(jié)點的未來在線信息進行預(yù)測;所述的基于預(yù)測信息的存儲策略部分負責將搜集的鄰居節(jié)點的`在線信息聚合(包括歷史在線信息和預(yù)測的在線信息),然后利用基于這些在線信息的副本選擇策略,從所有鄰居節(jié)點中選取指定數(shù)量的副本節(jié)點,最后將文件存儲到這些被選擇的副本節(jié)點中。
如圖l_b所示,該圖為本發(fā)明的基于P2P在線信息聚合的存儲策略的流程示意圖。本發(fā)明所述的一種基于P2P在線信息聚合的副本存儲方法,該方法用于選擇與本地節(jié)點同時在線概率高的鄰居節(jié)點作為文件副本存放節(jié)點,所述方法包含:
步驟101,P2P存儲系統(tǒng)中的每個節(jié)點分別搜集其鄰居節(jié)點的歷史在線信息,該搜集節(jié)點依據(jù)歷史在線信息預(yù)測其未來在線信息。
步驟102,當P2P存儲系統(tǒng)中的某個本地節(jié)點需要存儲文件副本時,該本地節(jié)點利用其鄰居節(jié)點的歷史在線信息和未來在線信息獲取若干設(shè)定數(shù)目的與該本地節(jié)點同時在線的概率較高的鄰居節(jié)點存放文件副本。
其中,所述鄰居節(jié)點包含一級以上的鄰居節(jié)點,所述的一級鄰居節(jié)點為某節(jié)點的鄰居節(jié)點,二級鄰居節(jié)點為某節(jié)點的鄰居節(jié)點的鄰居節(jié)點,依次類推可知任意級鄰居節(jié)點的含義。
所述步驟101可以由圖Ι-a的搜索和預(yù)測子系統(tǒng)完成,所述步驟102由圖l_a的副本存放節(jié)點選擇子系統(tǒng)。
如圖2所示,該圖為本發(fā)明的基于P2P在線信息聚合的存儲策略中Cluster-BasedPredictor結(jié)構(gòu)示意圖,如圖2所示,Cluster-Based Predictor的輸入是由搜集到的鄰居節(jié)點的歷史在線信息提取的特征向量,然后進入聚類器進行聚類,最后輸入預(yù)測器進行預(yù)測,Cluster-Based Predictor預(yù)測模型跟其它預(yù)測模型不同的是在預(yù)測器前面添加了聚類器,它從所有鄰居節(jié)點中篩選出與本地節(jié)點行為相似的節(jié)點作為預(yù)測器的訓(xùn)練集合,使得訓(xùn)練集合更加有效,從而提高預(yù)測的準確性。
如圖3所示,該圖為本發(fā)明的基于P2P在線信息聚合的存儲策略中某個節(jié)點在線信息預(yù)測的流程圖,如圖3所示,它的步驟如下:
I)搜集鄰居節(jié)點的歷史在線信息,當鄰居節(jié)點數(shù)比較少的時候,可以繼續(xù)遍歷第二級鄰居節(jié)點,保證一定的鄰居節(jié)點數(shù)目避免了小數(shù)量的不確定性,使得聚類效果更好;
2)對搜集到的各個鄰居節(jié)點歷史在線信息提取特征向量,特征向量的維度主要是要根據(jù)實際P2P存儲系統(tǒng)中節(jié)點總體上下線規(guī)律進行設(shè)置,例如某個P2P存儲系統(tǒng)的在線信息采樣間隔為20分鐘,那么一天內(nèi)采樣點數(shù)為24*60/20 = 72,如果該系統(tǒng)節(jié)點總體的上下線規(guī)律為一天,那么特征向量的維度可以設(shè)置為72,如果上下線規(guī)律為2天則維度可以設(shè)置為144。維度確定過后,就可以進行特征向量的提取了,如搜集到的鄰居節(jié)點的歷史在線信息的長度為7天(即采樣序列長度為7*72 = 504),則它的特征向量為統(tǒng)計這7天內(nèi)每天對應(yīng)時間點節(jié)點的上下線概率(設(shè)維度為72);
3)有了特征向量,就可以進入Cluster-Based Predictor預(yù)測器進行預(yù)測,Cluster-Based Predictor內(nèi)部包含聚類器和預(yù)測器,聚類器的目的是從所有鄰居節(jié)點中選出與本地節(jié)點行為相似的節(jié)點作為預(yù)測器的輸入,使得預(yù)測器訓(xùn)練集更加完備,從而提高預(yù)測的準確性。例如預(yù)測器可以是K-Means等,預(yù)測器可以使用N-Gram等;
4)經(jīng)過基于聚類的預(yù)測模塊(Cluster-Based Predictor)預(yù)測模型預(yù)測后就可以得到該節(jié)點未來在線情況。
如圖4所示,該圖為本發(fā)明的基于P2P在線信息聚合的存儲策略中基于節(jié)點預(yù)測信息的聚合存儲策略流程圖,如圖4所示,它的步驟如下:
I)當本地節(jié)點需要存儲文件時,首先搜集所有鄰居節(jié)點的在線信息,這里的在線信息包括歷史在線信息以及由歷史在線信息預(yù)測的未來在線信息,當鄰居節(jié)點數(shù)比較少時,可以繼續(xù)遍歷搜集第二級鄰居節(jié)點的在線信息,保證一定數(shù)量的鄰居節(jié)點避免了小數(shù)量的不確定性,也使后面副本選擇的范圍更大;
2)有了鄰居節(jié)點的在線信息,就可以基于這些在線信息去選擇副本,例如若副本數(shù)為k,則可以利用在線信息從鄰居節(jié)點中找到在線時間最長(統(tǒng)計歷史在線信息中節(jié)點的在線時間)的前k個節(jié)點作為副本節(jié)點;又或者可以找出在線行為最相似(計算特征向量的歐式距離,距離越小行為越相似)的k個節(jié)點作為副本節(jié)點等等;這些副本選擇策略選出來的副本具有如下特征:當本地節(jié)點在線時,那些相應(yīng)的副本節(jié)點也在線的概率很高。在這種情況下,本地節(jié)點取文件時,所有副本節(jié)點都不在線的可能性很小,從而保證了存儲的可靠性和可用性;即為了提高數(shù)據(jù)副本的可靠性和可用性,本地節(jié)點的副本選取策略是基于所有鄰居節(jié)點的在線信息,這些副本的特征是當本地節(jié)點在線時,相應(yīng)的副本節(jié)點也在線的概率很高,所述歐式距離只是其中一種來找與本地節(jié)點行為相似的鄰居節(jié)點的方法,還有連續(xù)在線時間最長等方法也可以來表征鄰居節(jié)點與本地節(jié)點行為相似性,所以這里還是只要強調(diào)副本選擇策略是基于在線信息的就可以了。
3)最后,將文件存儲到2)選出的副本節(jié)點中。
本發(fā)明的一種基于P2P在線信息聚合的存儲策略,利用了鄰居節(jié)點的歷史在線信息對節(jié)點未來在線信息進行預(yù)測,其中Cluster-Based Predictor預(yù)測模型中集合了聚類器和預(yù)測器,聚類器的目的是從所有鄰居節(jié)點中選出與本地節(jié)點行為相似的節(jié)點作為預(yù)測器的輸入,使得預(yù)測器訓(xùn)練集更加完備,從而提高預(yù)測的準確性;然后當本地節(jié)點需要存儲文件時,搜集鄰居節(jié)點的在線信息(包括歷史和預(yù)測的在線信息),利用基于這些在線信息的副本選擇策略,選出副本節(jié)點進行存儲。由于這些副本節(jié)點具有如下特征:當本地節(jié)點在線時,那些相應(yīng)的副本節(jié)點也在線的概率很高,所以當本地節(jié)點去取文件時,所有副本節(jié)點都不在線的可能性很小,從而保證了存儲的可靠性和可用性。本發(fā)明使得即使在沒有副本遷移的情況下,系統(tǒng)也能保證很高的可靠性和可用性,避免了頻繁副本遷移帶來的大量的帶寬消耗,提高了系統(tǒng)的性能。
最后所應(yīng)說明的是,以上實施例僅用以說明本發(fā)明的技術(shù)方案而非限制。盡管參照實施例對本發(fā)明進行了詳細說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當理解,對本發(fā)明的技術(shù)方案進行修改或者等同替換,都不脫離本發(fā)明技術(shù)方案的精神和范圍,其均應(yīng)涵蓋在本發(fā)明的權(quán)利要求范圍當中。
權(quán)利要求
1.一種基于P2P在線信息聚合的副本存儲方法,該方法用于選擇與本地節(jié)點同時在線概率高的鄰居節(jié)點作為文件副本存放節(jié)點,所述方法包含: 步驟1,P2P存儲系統(tǒng)中的每個節(jié)點分別搜集其鄰居節(jié)點的歷史在線信息,該搜集節(jié)點依據(jù)歷史在線信息預(yù)測其未來在線信息; 步驟2,當P2P存儲系統(tǒng)中的某個本地節(jié)點需要存儲文件副本時,該本地節(jié)點利用其鄰居節(jié)點的歷史在線信息和未來在線信息獲取若干設(shè)定數(shù)目的與該本地節(jié)點同時在線的概率較高的鄰居節(jié)點存放文件副本; 其中,所述鄰居節(jié)點包含一級以上的鄰居節(jié)點,所述的一級鄰居節(jié)點為某節(jié)點的鄰居節(jié)點,二級鄰居節(jié)點為某節(jié)點的鄰居節(jié)點的鄰居節(jié)點,依次類推可知任意級鄰居節(jié)點的含義。
2.根據(jù)權(quán)利要求1所述的基于P2P在線信息聚合的副本存儲方法,其特征在于,所述步驟I進一步包含如下子步驟: 步驟1-1,P2P存儲系統(tǒng)中的某節(jié)點搜集其鄰居節(jié)點的歷史在線信息,該搜集節(jié)點與其鄰居節(jié)點組成一個節(jié)點集; 步驟1-2,提取節(jié)點集中各節(jié)點歷史在線信息的特征向量; 步驟1-3,根據(jù)提取的特征向量對節(jié)點集進行聚類,得到所述搜集節(jié)點的類簇,然后將該類簇的所有節(jié)點作為預(yù)測處理的訓(xùn)練集,從而預(yù)測所述搜集節(jié)點的未來在線信息; 其中,步驟1-1中:如果P2P存儲系統(tǒng)規(guī)模較小使某節(jié)點搜索得到的一級鄰居節(jié)點數(shù)目比較少時,繼續(xù)搜集第二級鄰居節(jié)點的歷史信息,依次類推,直至累積搜索的鄰居節(jié)點數(shù)達到一定規(guī)模; 如果P2P存儲系統(tǒng)規(guī)模較大時僅搜集第一級鄰居節(jié)點的歷史信息。
3.根據(jù)權(quán)利要求2所述的基于P2P在線信息聚合的副本存儲方法,其特征在于,所述步驟1-2根據(jù)實際P2P存儲系統(tǒng)中P2P節(jié)點總體的上下線規(guī)律,設(shè)定特征向量的維度。
4.根據(jù)權(quán)利要求1所述的基于P2P在線信息聚合的副本存儲方法,其特征在于,所述與該本地節(jié)點同時在線的概率較高的鄰居節(jié)點即找出在線行為與該本地節(jié)點最相似的若干節(jié)點作為副本存放節(jié)點; 其中,所述的相似性可通過歐式距離算法或連續(xù)在線時間最長算法確定。
5.根據(jù)權(quán)利要求1或4所述的基于P2P在線信息聚合的副本存儲方法,其特征在于,所述步驟2中當本地節(jié)點需要存儲文件副本時: 本地節(jié)點首先判斷其鄰居節(jié)點表中節(jié)點的總個數(shù)是否小于需要的副本節(jié)點個數(shù),如果小于則需要遞歸搜集本地節(jié)點的第二級鄰居節(jié)點表,以此類推,經(jīng)過遍歷若干級鄰居節(jié)點,最終使得搜集的鄰居節(jié)點的總個數(shù)至少等于副本節(jié)點數(shù),從搜集的所有鄰居節(jié)點中選擇需要的副本節(jié)點個數(shù)存放文件副本。
6.一種基于P2P在線信息聚合的副本存儲系統(tǒng),該系統(tǒng)用于選擇與本地節(jié)點同時在線概率高的鄰居節(jié)點作為文件副本存放節(jié)點,所述系統(tǒng)包含: 位于P2P存儲系統(tǒng)中的每個節(jié)點上的搜索和預(yù)測子系統(tǒng),該子系統(tǒng)搜集其所在節(jié)點的鄰居節(jié)點的歷史在線信息 ,依據(jù)歷史在線信息預(yù)測該節(jié)點的未來在線信息;和 位于P2P存儲系統(tǒng)中的每個節(jié)點上的副本存放節(jié)點選擇子系統(tǒng),用于當該子系統(tǒng)所在的節(jié)點有文件需要進行副本存放時,該本地節(jié)點利用其鄰居節(jié)點的歷史在線信息和未來在線信息獲取若干設(shè)定數(shù)目的與該本地節(jié)點同時在線的概率較高的鄰居節(jié)點存放文件副本; 其中,所述鄰居節(jié)點包含一級以上的鄰居節(jié)點,所述的一級鄰居節(jié)點為某節(jié)點的鄰居節(jié)點,二級鄰居節(jié)點為某節(jié)點的鄰居節(jié)點的鄰居節(jié)點,依次類推可知多級鄰居節(jié)點的含義。
7.根據(jù)權(quán)利要求6所述的基于P2P在線信息聚合的副本存儲系統(tǒng),其特征在于,所述搜索和預(yù)測子系統(tǒng)進一步包含: 歷史信息搜索模塊,用于搜集該模塊所在節(jié)點的鄰居節(jié)點的歷史在線信息; 特征向量提取模塊,用于提取各歷史在線信息的特征向量;和基于聚類的預(yù)測模塊,利用提取的特征向量對鄰居節(jié)點進行聚類,得到歷史信息搜索模塊所在節(jié)點的類簇,然后將類簇中的所有節(jié)點作為預(yù)測處理的訓(xùn)練集,從而預(yù)測出歷史信息搜索模塊所在節(jié)點的未來在線信息; 其中,所述的歷史信息搜索模塊能動態(tài)調(diào)整搜索的鄰居節(jié)點的級數(shù),即如果P2P存儲系統(tǒng)規(guī)模較小使鄰居節(jié)點數(shù)目比較少時,需依次搜索多級鄰居節(jié)點; 如果P2P存儲系統(tǒng)規(guī)模較大時僅搜集的第一級鄰居節(jié)點的歷史信息。
8.根據(jù)權(quán)利要求7所述的基于P2P在線信息聚合的副本存儲系統(tǒng),其特征在于,所述基于聚類的預(yù)測模塊進一步包含: 聚類器,用于利用提取的特征向量對鄰居節(jié)點進行聚類,得到歷史信息搜索模塊所在節(jié)點的類簇,然后將類簇中的所有節(jié)點作為預(yù)測器的訓(xùn)練集輸入預(yù)測器;和 預(yù)測器,用于依據(jù)輸入的訓(xùn)練集預(yù)測歷史信息搜索模塊所在節(jié)點的未來在線信息。
9.根據(jù)權(quán)利要求6所述的基于P2P在線信息聚合的副本存儲方法,其特征在于,所述與該本地節(jié)點同時在線的概率較高的鄰居節(jié)點即找出在線行為與該本地節(jié)點最相似的若干節(jié)點作為副本存放節(jié)點; 其中,所述的相似性可通過歐式距離算法或連續(xù)在線時間最長算法確定。
10.根據(jù)權(quán)利要求6所述的基于P2P在線信息聚合的副本存儲方法,其特征在于,所述副本存放節(jié)點選擇子系統(tǒng)進一步包含如下模塊: 判斷模塊,用于判斷本地節(jié)點的鄰居節(jié)點表中節(jié)點的總個數(shù)是否小于設(shè)定的副本節(jié)點個數(shù);如果小于則將結(jié)果反饋累加搜索模塊; 累加搜索模塊,當收到判斷模塊的反饋信息時遞歸搜集本地節(jié)點的第二級鄰居節(jié)點表,以此類推,經(jīng)過遍 歷若干級鄰居節(jié)點,最終使得搜集的鄰居節(jié)點的總個數(shù)達到一定規(guī)模,繼而為副本選擇提供一個比較大的節(jié)點選擇空間;和 確定最終副本存放節(jié)點的模塊,用于從搜集的所有鄰居節(jié)點中選擇設(shè)定個數(shù)的副本節(jié)點,存放文件副本。
全文摘要
本發(fā)明提供一種基于P2P在線信息聚合的副本存儲方法及系統(tǒng),該方法用于選擇與本地節(jié)點同時在線概率高的鄰居節(jié)點作為文件副本存放節(jié)點,所述方法包含P2P存儲系統(tǒng)中的每個節(jié)點分別搜集其鄰居節(jié)點的歷史在線信息,該搜集節(jié)點依據(jù)歷史在線信息預(yù)測其未來在線信息;當P2P存儲系統(tǒng)中的某個本地節(jié)點需要存儲文件時,該本地節(jié)點利用基于其鄰居節(jié)點的歷史在線信息和預(yù)測的未來在線信息獲取若干設(shè)定數(shù)目的與該本地節(jié)點同時在線的概率較高的鄰居節(jié)點存放文件副本;其中,所述鄰居節(jié)點包含一級以上的鄰居節(jié)點,所述的一級鄰居節(jié)點為某節(jié)點的鄰居節(jié)點,二級鄰居節(jié)點為某節(jié)點的鄰居節(jié)點的鄰居節(jié)點。本發(fā)明的存儲策略有效的提高P2P存儲系統(tǒng)的文件可靠性和可用性。
文檔編號H04L29/08GK103139226SQ20111037460
公開日2013年6月5日 申請日期2011年11月23日 優(yōu)先權(quán)日2011年11月23日
發(fā)明者王勁林, 宋軍, 尤佳莉, 蘇杭, 李曉林, 鄭鵬飛, 薛嬌, 呂陽 申請人:中國科學(xué)院聲學(xué)研究所, 北京中科華影傳媒技術(shù)有限公司