專利名稱:基于對(duì)等網(wǎng)絡(luò)的資源信息備份操作方法及對(duì)等網(wǎng)絡(luò)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及對(duì)等網(wǎng)絡(luò),尤其涉及一種基于對(duì)等網(wǎng)絡(luò)的資源信息備份操作方法及對(duì) 等網(wǎng)絡(luò)。
背景技術(shù):
對(duì)等(Peer to Peer,P2P)網(wǎng)絡(luò)作為現(xiàn)有互聯(lián)網(wǎng)(Internet)的覆蓋網(wǎng)絡(luò)(Overlay Network),通過(guò)系統(tǒng)之間的對(duì)等交換來(lái)共享計(jì)算機(jī)資源和服務(wù),以實(shí)現(xiàn)分布式、可靠、可擴(kuò) 展、健壯的網(wǎng)絡(luò)應(yīng)用模式。它打破了傳統(tǒng)的Client/Server(C/S)模式,在網(wǎng)絡(luò)中的每個(gè)結(jié) 點(diǎn)的地位都是對(duì)等的。每個(gè)結(jié)點(diǎn)既充當(dāng)服務(wù)器,為其他結(jié)點(diǎn)提供服務(wù),同時(shí)也享用其他結(jié)點(diǎn) 提供的服務(wù)。隨著互聯(lián)網(wǎng)和寬帶接入網(wǎng)的迅速發(fā)展,P2P技術(shù)得到了大量的應(yīng)用和研究,特別是 基于分布式散列表(Distributed Hash Table,簡(jiǎn)稱DHT)和覆蓋網(wǎng)絡(luò)(Overlay Network) 的全分布式結(jié)構(gòu)化P2P網(wǎng)絡(luò)(即DHT網(wǎng)絡(luò))得到業(yè)界的廣泛重視。在DHT網(wǎng)絡(luò)中,某些節(jié)點(diǎn)可能正常或異常離開該網(wǎng)絡(luò),這樣就容易造成存儲(chǔ)資源 的丟失,為了增強(qiáng)存儲(chǔ)資源的可用性,使其不會(huì)因?yàn)閭€(gè)別節(jié)點(diǎn)的失效而無(wú)法獲得,通常要在 DHT網(wǎng)絡(luò)中利用別的節(jié)點(diǎn)來(lái)為這些資源做一些備份,用來(lái)備份某個(gè)資源的節(jié)點(diǎn)叫做這個(gè)資 源的備份節(jié)點(diǎn)。備份資源使得資源的可用性得到提高?,F(xiàn)有技術(shù),資源的備份主要是在一個(gè)DHT網(wǎng)絡(luò)內(nèi)部進(jìn)行的。例如在Chord中,節(jié)點(diǎn) 按照其節(jié)點(diǎn)ID從小到大順時(shí)針組成一個(gè)DHT環(huán),取某個(gè)節(jié)點(diǎn)在順時(shí)針?lè)较蛴龅降牡谝粋€(gè)節(jié) 點(diǎn)作為其后向節(jié)點(diǎn),由于每個(gè)節(jié)點(diǎn)維護(hù)該節(jié)點(diǎn)的后向節(jié)點(diǎn)列表,因此節(jié)點(diǎn)所存儲(chǔ)的數(shù)據(jù)直 接備份在其后向節(jié)點(diǎn)上,如果需要存儲(chǔ)多份,則存儲(chǔ)在其后向的多個(gè)節(jié)點(diǎn)上。這種備份方式 維護(hù)比較方便,但在一些異常情況下,這種方法并不能保證資源的可用性。現(xiàn)有技術(shù)有很多 對(duì)于DHT網(wǎng)絡(luò)的內(nèi)部備份方式進(jìn)行了改進(jìn),主要是針對(duì)兩個(gè)方面一是通過(guò)把數(shù)據(jù)復(fù)制多 份,并按一定規(guī)則存放在若干個(gè)節(jié)點(diǎn)上,恢復(fù)時(shí)只需取出一個(gè)數(shù)據(jù)即可;另一種是將一個(gè)數(shù) 據(jù)分為多個(gè)冗余片段,這樣只需取出其中幾個(gè)片段便可對(duì)數(shù)據(jù)進(jìn)行恢復(fù),來(lái)實(shí)現(xiàn)其數(shù)據(jù)的 備份,這種備份方式的存儲(chǔ)量比較小,但維護(hù)開銷比較大。由于上述的備份方式只是針對(duì)DHT網(wǎng)絡(luò)內(nèi)部進(jìn)行的,當(dāng)網(wǎng)絡(luò)中只有個(gè)別少數(shù)節(jié)點(diǎn) 退出網(wǎng)絡(luò)時(shí),這種方式對(duì)網(wǎng)絡(luò)的數(shù)據(jù)恢復(fù)可以工作的很好,但當(dāng)網(wǎng)絡(luò)中突然有大量節(jié)點(diǎn)異 常退出時(shí),則很可能造成部分?jǐn)?shù)據(jù)不能恢復(fù),而這對(duì)于可靠性要求很高的網(wǎng)絡(luò)來(lái)說(shuō)是不允 許的。
發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問(wèn)題是提供一種基于對(duì)等網(wǎng)絡(luò)的資源信息備份操作方法及 對(duì)等網(wǎng)絡(luò),以更好的保證數(shù)據(jù)的可靠性和可用性。為解決上述技術(shù)問(wèn)題,本發(fā)明提供一種基于對(duì)等網(wǎng)絡(luò)的資源信息備份操作方法, 所述對(duì)等網(wǎng)絡(luò)的節(jié)點(diǎn)具有包括域標(biāo)識(shí)及節(jié)點(diǎn)標(biāo)識(shí)的節(jié)點(diǎn)全局標(biāo)識(shí)符,所述對(duì)等網(wǎng)絡(luò)的資源信息具有包括域標(biāo)識(shí)及資源標(biāo)識(shí)的資源全局標(biāo)識(shí)符,所述資源信息保存在與所述資源信息具有相同域標(biāo)識(shí)的主節(jié)點(diǎn)上,對(duì)所述資源信息進(jìn)行備份操作的方法包括發(fā)起節(jié)點(diǎn)向備份域的連接節(jié)點(diǎn)發(fā)送域外備份節(jié)點(diǎn)確定請(qǐng)求,所述域外備份節(jié)點(diǎn)確 定請(qǐng)求中包括要備份操作的資源信息的資源全局標(biāo)識(shí)符信息,所述備份域的連接節(jié)點(diǎn)與所 述主節(jié)點(diǎn)具有不同的域標(biāo)識(shí);所述備份域的連接節(jié)點(diǎn)根據(jù)所述資源全局標(biāo)識(shí)符信息及域外備份規(guī)則確定域外 備份節(jié)點(diǎn),并將所述域外備份節(jié)點(diǎn)的路由信息發(fā)送給所述發(fā)起節(jié)點(diǎn);所述發(fā)起節(jié)點(diǎn)根據(jù)所述路由信息向所述域外備份節(jié)點(diǎn)發(fā)送域外備份操作請(qǐng)求,所 述域外備份節(jié)點(diǎn)根據(jù)所述域外備份操作請(qǐng)求進(jìn)行相應(yīng)的處理。進(jìn)一步地,若所述域外備份操作請(qǐng)求是指域外備份請(qǐng)求,則所述發(fā)起節(jié)點(diǎn)是所述資源信息所 在的主節(jié)點(diǎn),所述主節(jié)點(diǎn)向所述域外備份節(jié)點(diǎn)發(fā)送的域外備份請(qǐng)求中還攜帶所述資源信息 的資源信息內(nèi)容,所述域外備份節(jié)點(diǎn)根據(jù)所述域外備份請(qǐng)求對(duì)所述資源信息內(nèi)容及資源全 局標(biāo)識(shí)符信息進(jìn)行備份;若所述域外備份操作請(qǐng)求是指域外備份查詢請(qǐng)求,則所述發(fā)起節(jié)點(diǎn)是查詢節(jié)點(diǎn), 所述域外備份節(jié)點(diǎn)根據(jù)域外備份查詢請(qǐng)求中的資源全局標(biāo)識(shí)符信息向所述查詢節(jié)點(diǎn)返回 要查詢的資源信息的資源信息內(nèi)容;若所述域外備份操作請(qǐng)求是指域外備份恢復(fù)請(qǐng)求,則所述發(fā)起節(jié)點(diǎn)是檢測(cè)到所述 資源信息所在主節(jié)點(diǎn)故障的節(jié)點(diǎn),所述資源全局標(biāo)識(shí)符信息指要恢復(fù)的資源信息的資源全 局標(biāo)識(shí)符或資源全局標(biāo)識(shí)符范圍,所述資源全局標(biāo)識(shí)符或資源全局標(biāo)識(shí)符范圍是所述發(fā)起 節(jié)點(diǎn)根據(jù)域內(nèi)資源存放規(guī)則確定的,所述域外備份節(jié)點(diǎn)根據(jù)所述域外備份恢復(fù)請(qǐng)求向所述 發(fā)起節(jié)點(diǎn)返回所述資源全局標(biāo)識(shí)符對(duì)應(yīng)的資源信息內(nèi)容或所述資源全局標(biāo)識(shí)符范圍內(nèi)的 資源全局標(biāo)識(shí)符對(duì)應(yīng)的資源信息內(nèi)容,并由發(fā)起節(jié)點(diǎn)進(jìn)行保存。進(jìn)一步地,所述對(duì)等網(wǎng)絡(luò)的節(jié)點(diǎn)保存有資源信息表、域內(nèi)路由表及域外路由表,其 中所述資源信息表包括資源信息的資源全局標(biāo)識(shí)符及資源信息內(nèi)容,所述域內(nèi)路由表包括 與所述節(jié)點(diǎn)具有連接關(guān)系的域內(nèi)節(jié)點(diǎn)的節(jié)點(diǎn)全局標(biāo)識(shí)符及路由信息,所述域外路由表包括 與所述節(jié)點(diǎn)具有連接關(guān)系的域外節(jié)點(diǎn)的節(jié)點(diǎn)全局標(biāo)識(shí)符及路由信息,所述域外備份節(jié)點(diǎn)是 結(jié)合域內(nèi)路由表中的節(jié)點(diǎn)全局標(biāo)識(shí)符確定的。為解決上述技術(shù)問(wèn)題,本發(fā)明還提供一種對(duì)等網(wǎng)絡(luò),所述對(duì)等網(wǎng)絡(luò)的節(jié)點(diǎn)具有包 括域標(biāo)識(shí)及節(jié)點(diǎn)標(biāo)識(shí)的節(jié)點(diǎn)全局標(biāo)識(shí)符,所述對(duì)等網(wǎng)絡(luò)的資源信息具有包括域標(biāo)識(shí)及資源 標(biāo)識(shí)的資源全局標(biāo)識(shí)符,所述對(duì)等網(wǎng)絡(luò)的節(jié)點(diǎn)包括接收模塊、與接收模塊連接的域外備份 節(jié)點(diǎn)確定模塊及與所述接收模塊及所述域外備份節(jié)點(diǎn)確定模塊連接的處理模塊,其中接收模塊,用于接收發(fā)起節(jié)點(diǎn)發(fā)送的域外備份節(jié)點(diǎn)確定請(qǐng)求,所述域外備份節(jié)點(diǎn) 確定請(qǐng)求中包括要備份操作的資源信息的資源全局標(biāo)識(shí)符信息,所述備份域的連接節(jié)點(diǎn)與 所述主節(jié)點(diǎn)具有不同的域標(biāo)識(shí);還用于接受所述發(fā)起節(jié)點(diǎn)發(fā)送的域外備份操作請(qǐng)求;域外備份節(jié)點(diǎn)確定模塊,用于根據(jù)所述資源全局標(biāo)識(shí)符信息及域外備份規(guī)則確定 域外備份節(jié)點(diǎn);處理模塊,用于根據(jù)確定的域外備份節(jié)點(diǎn)向所述發(fā)起節(jié)點(diǎn)發(fā)送所述域外備份節(jié)點(diǎn) 的路由信息;還用于根據(jù)所述域外備份操作請(qǐng)求進(jìn)行相應(yīng)處理。
進(jìn)一步地,若所述域外備份操作請(qǐng)求是指域外備份請(qǐng)求,則所述發(fā)起節(jié)點(diǎn)是所述 資源信息所在的主節(jié)點(diǎn),所述域外備份操作請(qǐng)求中還攜帶所述資源信息的資源信息內(nèi)容, 所述處理模塊用于根據(jù)所述域外備份操作請(qǐng)求對(duì)所述資源信息內(nèi)容及資源全局標(biāo)識(shí)符信 息進(jìn)行備份;若所述域外備份操作請(qǐng)求是指域外備份查詢請(qǐng)求,則所述發(fā)起節(jié)點(diǎn)是查詢節(jié)點(diǎn), 所述處理模塊用于根據(jù)所述資源全局標(biāo)識(shí)符信息向所述查詢節(jié)點(diǎn)返回要查詢的資源信息 的資源信息內(nèi)容;
若所述域外備份操作請(qǐng)求是指域外備份恢復(fù)請(qǐng)求,則所述發(fā)起節(jié)點(diǎn)是檢測(cè)到所述 資源信息所在主節(jié)點(diǎn)故障的節(jié)點(diǎn),所述域外備份恢復(fù)請(qǐng)求中的資源全局標(biāo)識(shí)符信息指要恢 復(fù)的資源信息的資源全局標(biāo)識(shí)符或資源全局標(biāo)識(shí)符范圍,所述資源信息的資源全局標(biāo)識(shí)符 或資源全局標(biāo)識(shí)符范圍是所述發(fā)起節(jié)點(diǎn)根據(jù)域內(nèi)資源存放規(guī)則確定的,所述處理模塊用于 根據(jù)所述域外備份恢復(fù)請(qǐng)求向所述發(fā)起節(jié)點(diǎn)返回所述資源全局標(biāo)識(shí)符對(duì)應(yīng)的資源信息內(nèi) 容或所述資源全局標(biāo)識(shí)符范圍內(nèi)的資源全局標(biāo)識(shí)符對(duì)應(yīng)的資源信息內(nèi)容。進(jìn)一步地,所述節(jié)點(diǎn)還包括與所述域外備份節(jié)點(diǎn)確定模塊及處理模塊連接的存儲(chǔ) 模塊,用于存儲(chǔ)資源信息表、域內(nèi)路由表及域外路由表,其中所述資源信息表包括資源信息 的資源全局標(biāo)識(shí)符及資源信息內(nèi)容,所述域內(nèi)路由表包括與所述節(jié)點(diǎn)具有連接關(guān)系的域內(nèi) 節(jié)點(diǎn)的節(jié)點(diǎn)全局標(biāo)識(shí)符及路由信息,所述域外路由表包括與所述節(jié)點(diǎn)具有連接關(guān)系的域外 節(jié)點(diǎn)的節(jié)點(diǎn)全局標(biāo)識(shí)符及路由信息,所述域外備份節(jié)點(diǎn)是結(jié)合域內(nèi)路由表中的節(jié)點(diǎn)全局標(biāo) 識(shí)符確定的。為解決上述技術(shù)問(wèn)題,本發(fā)明還提供一種基于對(duì)等網(wǎng)絡(luò)的資源信息備份操作方 法,所述對(duì)等網(wǎng)絡(luò)的節(jié)點(diǎn)具有包括域標(biāo)識(shí)及節(jié)點(diǎn)標(biāo)識(shí)的節(jié)點(diǎn)全局標(biāo)識(shí)符,所述對(duì)等網(wǎng)絡(luò)的 資源信息具有包括域標(biāo)識(shí)及資源標(biāo)識(shí)的資源全局標(biāo)識(shí)符,所述資源信息保存在與所述資源 信息具有相同域標(biāo)識(shí)的主節(jié)點(diǎn)上,對(duì)所述資源信息進(jìn)行備份操作的方法包括發(fā)起節(jié)點(diǎn)向備份域的連接節(jié)點(diǎn)發(fā)送域外備份操作請(qǐng)求,所述域外備份節(jié)點(diǎn)操作請(qǐng) 求中包括要備份操作的資源信息的資源全局標(biāo)識(shí)符,所述備份域的連接節(jié)點(diǎn)與所述主節(jié)點(diǎn) 具有不同的域標(biāo)識(shí);所述備份域的連接節(jié)點(diǎn)根據(jù)所述資源全局標(biāo)識(shí)符及域外備份規(guī)則確定域外備份 節(jié)點(diǎn),并向所述域外備份節(jié)點(diǎn)轉(zhuǎn)發(fā)所述域外備份操作請(qǐng)求,其中攜帶發(fā)起節(jié)點(diǎn)的路由信 息;所述域外備份節(jié)點(diǎn)根據(jù)所述域外備份操作請(qǐng)求進(jìn)行相應(yīng)處理。進(jìn)一步地,所述的域外備份操作請(qǐng)求,是域外備份請(qǐng)求、備份查詢請(qǐng)求或域外備份 恢復(fù)請(qǐng)求;若域外備份操作請(qǐng)求是域外備份請(qǐng)求,則請(qǐng)求中還攜帶要備份的資源信息內(nèi)容。為解決上述技術(shù)問(wèn)題,本發(fā)明還提供一種對(duì)等網(wǎng)絡(luò),所述對(duì)等網(wǎng)絡(luò)的節(jié)點(diǎn)具有包 括域標(biāo)識(shí)及節(jié)點(diǎn)標(biāo)識(shí)的節(jié)點(diǎn)全局標(biāo)識(shí)符,并保存有域內(nèi)其他節(jié)點(diǎn)的節(jié)點(diǎn)全局標(biāo)識(shí)符,所述 對(duì)等網(wǎng)絡(luò)的資源信息具有包括域標(biāo)識(shí)及資源標(biāo)識(shí)的資源全局標(biāo)識(shí)符,所述資源信息保存在 與其有相同域標(biāo)識(shí)的節(jié)點(diǎn)上,同時(shí)備份在與其有不同域標(biāo)識(shí)的域外備份節(jié)點(diǎn)上,所述域外 備份節(jié)點(diǎn)是根據(jù)所述資源信息的資源全局標(biāo)識(shí)符、備份域的節(jié)點(diǎn)全局標(biāo)識(shí)符及域外備份規(guī) 則確定的。進(jìn)一步地,所述資源信息同時(shí)備份在與其有相同域標(biāo)識(shí)的其他節(jié)點(diǎn)上。
相較于現(xiàn)有技術(shù),本發(fā)明方法及對(duì)等網(wǎng)絡(luò),對(duì)資源信息進(jìn)行域外備份,更好的保證 了數(shù)據(jù)的可靠性和可用性;另外針對(duì)資源信息進(jìn)行域外備份,這樣在本域網(wǎng)絡(luò)中有節(jié)點(diǎn)加 入退出等操作時(shí),不需要對(duì)外域的備份數(shù)據(jù)進(jìn)行調(diào)整,只有當(dāng)該資源本身有更改時(shí)才需要 對(duì)域外備份數(shù)據(jù)進(jìn)行調(diào)整,這樣可以有效的減少備份數(shù)據(jù)調(diào)整帶來(lái)的額外開銷,提高系統(tǒng) 的效率和性能。
圖1為本發(fā)明P2P網(wǎng)絡(luò)架構(gòu)的示意圖。圖2為本發(fā)明中節(jié)點(diǎn)和資源信息的全局標(biāo)識(shí)符示意圖。圖3為本發(fā)明中節(jié)點(diǎn)存儲(chǔ)的內(nèi)容示意圖。圖4為本發(fā)明資源信息備份操作方法的流程示意圖。圖5為本發(fā)明方法應(yīng)用實(shí)例1資源信息的備份過(guò)程示意圖。圖6為本發(fā)明方法應(yīng)用實(shí)例2備份資源信息的查找示意圖。圖7為本發(fā)明方法應(yīng)用實(shí)例3新節(jié)點(diǎn)加入過(guò)程的示意圖。圖8為本發(fā)明方法應(yīng)用實(shí)例4利用域外備份數(shù)據(jù)對(duì)資源信息進(jìn)行恢復(fù)示意圖。圖9為本發(fā)明對(duì)等網(wǎng)絡(luò)節(jié)點(diǎn)的模塊結(jié)構(gòu)示意圖。
具體實(shí)施例方式本發(fā)明資源備份方法是基于地域優(yōu)化的P2P網(wǎng)絡(luò)架構(gòu)實(shí)現(xiàn)的,下面對(duì)此網(wǎng)絡(luò)架構(gòu) 進(jìn)行簡(jiǎn)要介紹在此網(wǎng)絡(luò)架構(gòu)中整個(gè)P2P網(wǎng)絡(luò)按照地理位置劃分為若干區(qū)域,并確定每個(gè)區(qū)域的 區(qū)域標(biāo)識(shí)(即域標(biāo)識(shí),簡(jiǎn)稱域ID),擁有相同域標(biāo)識(shí)的節(jié)點(diǎn)構(gòu)成一個(gè)域,域內(nèi)節(jié)點(diǎn)按照一定 的DHT算法構(gòu)成一個(gè)子P2P網(wǎng)絡(luò),區(qū)域內(nèi)的每個(gè)節(jié)點(diǎn)按照一定規(guī)則與其他域外保持聯(lián)系 (見圖1)。網(wǎng)絡(luò)中每個(gè)節(jié)點(diǎn)(或資源)擁有全網(wǎng)唯一的節(jié)點(diǎn)(或資源)全局標(biāo)識(shí)符,如圖2 所示,此全局標(biāo)識(shí)符由域標(biāo)識(shí)和節(jié)點(diǎn)(或資源)標(biāo)識(shí)共同組成,節(jié)點(diǎn)和資源根據(jù)它所在地域 決定它的域標(biāo)識(shí),節(jié)點(diǎn)(或資源)標(biāo)識(shí)通過(guò)對(duì)節(jié)點(diǎn)(或資源)的某些信息如節(jié)點(diǎn)IP、端口號(hào) (或資源名稱)進(jìn)行哈希算法得到。網(wǎng)絡(luò)中節(jié)點(diǎn)(或資源)的插入、查找等均根據(jù)節(jié)點(diǎn)(或 資源)的全局標(biāo)識(shí)符進(jìn)行。在此網(wǎng)絡(luò)中,每個(gè)資源存放在本域(即域標(biāo)識(shí)與其自身相同的 域)的節(jié)點(diǎn)上,且此節(jié)點(diǎn)的全局標(biāo)識(shí)符應(yīng)和該資源的資源全局標(biāo)識(shí)符相等或相近(一般取 其后向最近)。節(jié)點(diǎn)標(biāo)識(shí)是通過(guò)對(duì)節(jié)點(diǎn)的特征信息進(jìn)行哈希運(yùn)算得到,節(jié)點(diǎn)的特征信息指該節(jié)點(diǎn) 的唯一性信息,如IP地址、網(wǎng)卡號(hào)、或機(jī)器序號(hào),哈希算法的選取可以是任意的;資源標(biāo)識(shí)是通過(guò)對(duì)資源信息的特征信息進(jìn)行哈希算法得到的,所說(shuō)資源的特征信 息是能標(biāo)識(shí)該資源的信息,如資源的具體內(nèi)容、用戶名、用戶數(shù)據(jù)的名稱等,哈希算法的選 取可以是任意的。每個(gè)節(jié)點(diǎn)中所需存儲(chǔ)的內(nèi)容如圖3所示,包括路由信息表、資源信息表以及域ID 映射表。其中路由信息表包括節(jié)點(diǎn)所在域的本域的域內(nèi)路由表和與本節(jié)點(diǎn)保持聯(lián)系的域外 節(jié)點(diǎn)路由信息的域外路由表;資源信息表包括該節(jié)點(diǎn)所存放的資源信息以及其存放的備份資源信息。這里所說(shuō)的備份資源信息包括域外資源信息的備份及域內(nèi)資源信息的備份。資源信息表中存放的資源信息包括資源信息的資源全局標(biāo)識(shí)符及資源信息內(nèi)容。在實(shí)際網(wǎng)絡(luò)中,大量網(wǎng)絡(luò)節(jié)點(diǎn)的異常宕機(jī)往往發(fā)生在某個(gè)臨近地域上,為了更好 的保證數(shù)據(jù)的可用性,本發(fā)明在對(duì)資源進(jìn)行備份時(shí),不僅在本域進(jìn)行數(shù)據(jù)備份,而且在域外 (域ID與資源的域ID不同的域)進(jìn)行備份,從而在保持域內(nèi)備份優(yōu)點(diǎn)的同時(shí)滿足異地容災(zāi) 的要求,保證數(shù)據(jù)的可恢復(fù)性。
以下對(duì)本發(fā)明中的一些定義進(jìn)行說(shuō)明主節(jié)點(diǎn)資源信息按照存儲(chǔ)規(guī)則在本域中被保存的節(jié)點(diǎn);具體地,存儲(chǔ)規(guī)則為資 源存放在某個(gè)節(jié)點(diǎn)上,這個(gè)節(jié)點(diǎn)的節(jié)點(diǎn)ID和此資源信息的資源ID最相近且大于等于資源 ID,如果不存在比該資源ID更大的節(jié)點(diǎn)ID,則存儲(chǔ)在該域內(nèi)節(jié)點(diǎn)ID最小的節(jié)點(diǎn)上。本域主節(jié)點(diǎn)所在的域;本域備份節(jié)點(diǎn)按照一定的本域備份規(guī)則備份主節(jié)點(diǎn)資源信息的本域節(jié)點(diǎn);具體 地,本域備份規(guī)則可以為主節(jié)點(diǎn)的后向節(jié)點(diǎn)作為本域備份節(jié)點(diǎn)。節(jié)點(diǎn)根據(jù)節(jié)點(diǎn)ID的大小按一定次序(一般為升序)排列成一個(gè)大的圓環(huán),稱為 DHT環(huán)(如圖所示),取某個(gè)節(jié)點(diǎn)其順時(shí)針?lè)较蛴龅降牡谝粋€(gè)節(jié)點(diǎn)作為其后向節(jié)點(diǎn),其逆時(shí) 針?lè)较蛴龅降谝粋€(gè)節(jié)點(diǎn)為其前向節(jié)點(diǎn),每個(gè)節(jié)點(diǎn)均有一個(gè)前向節(jié)點(diǎn)和一個(gè)后向節(jié)點(diǎn)。備份域用于本域數(shù)據(jù)備份的域,備份域的選取規(guī)則一般為選擇規(guī)模和本域相當(dāng) 或負(fù)載較輕的域作為備份域;備份域的選取可以通過(guò)人為指定本域和備份域的映射表,也 可以利用一些算法根據(jù)域的規(guī)模選擇本域的備份域。域外備份節(jié)點(diǎn)按照一定的域外備份規(guī)則備份資源信息的域外節(jié)點(diǎn)。選擇域外備 份節(jié)點(diǎn)時(shí),可以根據(jù)本域資源信息的資源ID將所述資源備份到備份域的相應(yīng)的備份節(jié)點(diǎn) 上,例如域外備份節(jié)點(diǎn)可以是在備份域中節(jié)點(diǎn)ID與該資源ID相等或最接近的節(jié)點(diǎn),且大于 等于該資源ID的第一個(gè)節(jié)點(diǎn);當(dāng)有數(shù)據(jù)加入、刪除或更新時(shí)對(duì)備份域的備份數(shù)據(jù)進(jìn)行相應(yīng) 更改。本發(fā)明根據(jù)資源標(biāo)識(shí)對(duì)資源信息進(jìn)行備份,當(dāng)本域節(jié)點(diǎn)發(fā)生變化時(shí),外域節(jié)點(diǎn)上 存放的相應(yīng)備份數(shù)據(jù)不需要調(diào)整。只有資源信息改變(如資源信息加入、刪除或更改)時(shí) 需要在外域進(jìn)行相應(yīng)的改變。如圖4所示,本發(fā)明基于對(duì)等網(wǎng)絡(luò)的資源信息備份操作的方法包括步驟401 發(fā)起節(jié)點(diǎn)向備份域的連接節(jié)點(diǎn)發(fā)送域外備份節(jié)點(diǎn)確定請(qǐng)求;所述域外備份節(jié)點(diǎn)確定請(qǐng)求中包括要備份操作的資源信息的資源全局標(biāo)識(shí)符信 息,所述備份域的連接節(jié)點(diǎn)與所述主節(jié)點(diǎn)具有不同的域標(biāo)識(shí);這里所說(shuō)的資源全局標(biāo)識(shí)符信息可以是確定的資源全局標(biāo)識(shí)符或資源全局標(biāo)識(shí) 符范圍。步驟402 所述備份域的連接節(jié)點(diǎn)根據(jù)所述資源全局標(biāo)識(shí)符信息及域外備份規(guī)則 確定域外備份節(jié)點(diǎn),并將所述域外備份節(jié)點(diǎn)的路由信息發(fā)送給所述發(fā)起節(jié)點(diǎn);步驟403 所述發(fā)起節(jié)點(diǎn)根據(jù)所述路由信息向所述域外備份節(jié)點(diǎn)發(fā)送域外備份操 作請(qǐng)求,所述域外備份節(jié)點(diǎn)根據(jù)所述域外備份操作請(qǐng)求進(jìn)行相應(yīng)的處理。若所述域外備份操作請(qǐng)求是指域外備份請(qǐng)求,則所述發(fā)起節(jié)點(diǎn)是所述資源信息所 在的主節(jié)點(diǎn),所述主節(jié)點(diǎn)向所述域外備份節(jié)點(diǎn)發(fā)送的域外備份請(qǐng)求中還攜帶所述資源信息的資源信息內(nèi)容,所述域外備份節(jié)點(diǎn)根據(jù)所述域外備份請(qǐng)求對(duì)所述資源信息內(nèi)容及資源全 局標(biāo)識(shí)符信息進(jìn)行備份;若所述域外備份操作請(qǐng)求是指域外備份查詢請(qǐng)求,則所述發(fā)起節(jié)點(diǎn)是查詢節(jié)點(diǎn), 所述域外備份節(jié)點(diǎn)根據(jù)域外備份查詢請(qǐng)求中的資源全局標(biāo)識(shí)符信息向所述查詢節(jié)點(diǎn)返回 要查詢的資源信息的資源信息內(nèi)容;
若所述域外備份操作請(qǐng)求是指域外備份恢復(fù)請(qǐng)求,則所述發(fā)起節(jié)點(diǎn)是檢測(cè)到所述 資源信息所在主節(jié)點(diǎn)故障的節(jié)點(diǎn),所述資源全局標(biāo)識(shí)符信息指要恢復(fù)的資源信息的資源全 局標(biāo)識(shí)符或資源全局標(biāo)識(shí)符范圍,所述資源全局標(biāo)識(shí)符或資源全局標(biāo)識(shí)符范圍是所述發(fā)起 節(jié)點(diǎn)根據(jù)域內(nèi)資源存放規(guī)則確定的,所述域外備份節(jié)點(diǎn)根據(jù)所述域外備份恢復(fù)請(qǐng)求向所述 發(fā)起節(jié)點(diǎn)返回所述資源全局標(biāo)識(shí)符對(duì)應(yīng)的資源信息內(nèi)容或所述資源全局標(biāo)識(shí)符范圍內(nèi)的 資源全局標(biāo)識(shí)符對(duì)應(yīng)的資源信息內(nèi)容,并由發(fā)起節(jié)點(diǎn)進(jìn)行保存。以上第一方法中,是由發(fā)起節(jié)點(diǎn)根據(jù)備份域連接節(jié)點(diǎn)返回的路由信息向域外備份 節(jié)點(diǎn)發(fā)送域外備份操作請(qǐng)求的,當(dāng)然也可以由備份域連接節(jié)點(diǎn)向域外備份節(jié)點(diǎn)轉(zhuǎn)發(fā)域外備 份操作請(qǐng)求,其中攜帶發(fā)起節(jié)點(diǎn)的路由信息,以便域外備份節(jié)點(diǎn)處理后向發(fā)起節(jié)點(diǎn)返回處 理結(jié)果,第二方法具體包括步驟A 發(fā)起節(jié)點(diǎn)向備份域的連接節(jié)點(diǎn)發(fā)送域外備份操作請(qǐng)求,所述域外備份節(jié) 點(diǎn)操作請(qǐng)求中包括要備份操作的資源信息的資源全局標(biāo)識(shí)符信息,所述備份域的連接節(jié)點(diǎn) 與所述主節(jié)點(diǎn)具有不同的域標(biāo)識(shí);步驟B 所述備份域的連接節(jié)點(diǎn)根據(jù)所述資源全局標(biāo)識(shí)符信息及域外備份規(guī)則確 定域外備份節(jié)點(diǎn),并向所述域外備份節(jié)點(diǎn)轉(zhuǎn)發(fā)所述域外備份操作請(qǐng)求,其中攜帶要操作的 資源信息的資源全局標(biāo)識(shí)符信息及發(fā)起節(jié)點(diǎn)的路由信息;步驟C 所述域外備份節(jié)點(diǎn)根據(jù)所述域外備份操作請(qǐng)求進(jìn)行相應(yīng)處理并根據(jù)所述 路由信息向所述發(fā)起節(jié)點(diǎn)返回處理結(jié)果。以上所述的域外備份操作請(qǐng)求,是域外備份請(qǐng)求、備份查詢請(qǐng)求或域外備份恢復(fù) 請(qǐng)求;若域外備份操作請(qǐng)求是域外備份請(qǐng)求,則請(qǐng)求中還需要攜帶要備份的資源信息內(nèi)容。當(dāng)本域主節(jié)點(diǎn)(存放該資源原始數(shù)據(jù)的節(jié)點(diǎn))和本域備份節(jié)點(diǎn)(本域中用于數(shù)據(jù) 備份的節(jié)點(diǎn))均由于某種異常而導(dǎo)致數(shù)據(jù)不可獲得時(shí)可以通過(guò)備份域來(lái)完成數(shù)據(jù)的查找 和恢復(fù)。具體地,數(shù)據(jù)查找時(shí)根據(jù)資源信息的全局標(biāo)識(shí)符進(jìn)行,當(dāng)本域內(nèi)未發(fā)現(xiàn)所需數(shù)據(jù) 時(shí),則向備份域查找,查找請(qǐng)求為查詢備份數(shù)據(jù)的請(qǐng)求,該請(qǐng)求與直接數(shù)據(jù)查詢請(qǐng)求的查詢 方式不同;當(dāng)本域的主節(jié)點(diǎn)和本域備份節(jié)點(diǎn)均異常宕機(jī)時(shí),本域的某個(gè)節(jié)點(diǎn)(根據(jù)域內(nèi)采用 的DHT算法和備份的方法而定)檢測(cè)到這種情況發(fā)生,則主動(dòng)向備份域發(fā)出數(shù)據(jù)恢復(fù)請(qǐng)求, 請(qǐng)求中包括需要恢復(fù)的資源信息的全局資源標(biāo)識(shí)符范圍。在本域內(nèi)采用某種域內(nèi)備份的方法對(duì)本域數(shù)據(jù)進(jìn)行備份,域內(nèi)的備份方法可以采 用單個(gè)DHT網(wǎng)絡(luò)的備份方法,備份方法的選取可以是任意的現(xiàn)在結(jié)合具體的實(shí)施例對(duì)本發(fā)明作進(jìn)一步的說(shuō)明圖5、6、7、8中每個(gè)節(jié)點(diǎn)為一個(gè)把5(!101116 Subscriber Server)服務(wù)器,HSS 服務(wù) 器為支持用于處理調(diào)用/會(huì)話的IMS網(wǎng)絡(luò)實(shí)體的主要用戶數(shù)據(jù)庫(kù)。它包含用戶配置文件,執(zhí)行用戶的身份驗(yàn)證和授權(quán),并可提供有關(guān)用戶物理位置的信息。在此實(shí)施例中,每個(gè)HSS 服務(wù)器(以下簡(jiǎn)稱節(jié)點(diǎn))中保存了部分用戶的用戶數(shù)據(jù),稱為資源信息。為簡(jiǎn)化起見,圖中給出了兩個(gè)域域A與域B,其中節(jié)點(diǎn)N7 N46屬于域A,節(jié)點(diǎn) n3 n53屬于域B,節(jié)點(diǎn)的編號(hào)即為其節(jié)點(diǎn)ID。其中域B作為域A的備份域。在實(shí)際網(wǎng)絡(luò) 中按照域的規(guī)模或域的負(fù)載狀況選擇備份域,當(dāng)備份域選定之后,當(dāng)新節(jié)點(diǎn)加入時(shí)就會(huì)指 定其備份域的域ID,A域的節(jié)點(diǎn)都會(huì)保存這個(gè)信息。域A同時(shí)也作為其他域的備份域。為 了簡(jiǎn)化,其他域在圖中并未表示。圖中每個(gè)節(jié)點(diǎn)在域內(nèi)采用One-hop DHT算法(即域內(nèi)每個(gè)節(jié)點(diǎn)均保存一份域內(nèi)的 全局路由表,從而和域內(nèi)的其他節(jié)點(diǎn)保持全連接),此外每個(gè)節(jié)點(diǎn)還保存一份域外路由表, 此域外 路由表包含域外的部分節(jié)點(diǎn)的路由信息。應(yīng)用實(shí)例1:數(shù)據(jù)備份在本發(fā)明中主要針對(duì)域外備份,對(duì)于域內(nèi)備份在此采用最簡(jiǎn)單的形式,即選取主 節(jié)點(diǎn)的后向節(jié)點(diǎn)作為備份節(jié)點(diǎn),備份節(jié)點(diǎn)用于備份主節(jié)點(diǎn)上的全部資源信息(當(dāng)有新數(shù)據(jù) 加入或數(shù)據(jù)更新時(shí)保持對(duì)備份數(shù)據(jù)的及時(shí)更新)。該實(shí)施例中的域外備份規(guī)則是備份資源信息的域外節(jié)點(diǎn)為具有這樣節(jié)點(diǎn)標(biāo)識(shí)的 節(jié)點(diǎn),其節(jié)點(diǎn)標(biāo)識(shí)等于或大于所述資源信息的資源標(biāo)識(shí),且最接近所述資源信息的資源標(biāo) 識(shí)。如圖5所示,數(shù)據(jù)備份的步驟如下步驟501 當(dāng)有新數(shù)據(jù)加入或有數(shù)據(jù)更新時(shí),主節(jié)點(diǎn)(節(jié)點(diǎn)N7)對(duì)新數(shù)據(jù)(其資源 ID = 5)進(jìn)行存儲(chǔ);步驟502 節(jié)點(diǎn)N7給其后向節(jié)點(diǎn)(節(jié)點(diǎn)W2)發(fā)送備份請(qǐng)求對(duì)新數(shù)據(jù)進(jìn)行備份;步驟503 節(jié)點(diǎn)N12對(duì)新數(shù)據(jù)進(jìn)行備份并返回應(yīng)答;步驟504 節(jié)點(diǎn)N7對(duì)新加入的資源信息進(jìn)行域外備份,它向?qū)?yīng)備份域的連接節(jié) 點(diǎn)(例如節(jié)點(diǎn)n53)發(fā)送域外備份請(qǐng)求,請(qǐng)求中包括要備份的資源信息的資源全局標(biāo)識(shí)符;其中備份域的連接節(jié)點(diǎn)是隨機(jī)選擇的。步驟505 節(jié)點(diǎn)n53從請(qǐng)求中包含的資源全局標(biāo)識(shí)符中提取出資源ID(資源ID = 5),通過(guò)查找自己的域內(nèi)路由表得到此資源信息應(yīng)備份到的節(jié)點(diǎn)(即等于或大于此資源ID 且最接近的節(jié)點(diǎn),稱為域外備份節(jié)點(diǎn)),在此為節(jié)點(diǎn)π9,節(jié)點(diǎn)η53把節(jié)點(diǎn)n9的路由信息發(fā)送 給發(fā)起備份請(qǐng)求的節(jié)點(diǎn)Ν7 ;步驟506 節(jié)點(diǎn)Ν7向節(jié)點(diǎn)η9發(fā)出域外備份請(qǐng)求,請(qǐng)求中包括資源信息的資源全局 標(biāo)識(shí)符和資源信息內(nèi)容;步驟507 節(jié)點(diǎn)n9根據(jù)收到的請(qǐng)求對(duì)資源信息進(jìn)行備份,并返回備份成功應(yīng)答。應(yīng)用實(shí)例2 域外備份數(shù)據(jù)的查找數(shù)據(jù)查找分為域內(nèi)數(shù)據(jù)查找和域外備份數(shù)據(jù)的查找,在此只給出域外備份數(shù)據(jù)的 查找過(guò)程,對(duì)于域內(nèi)數(shù)據(jù)的查找可以直接通過(guò)查詢資源信息的全局標(biāo)識(shí)符按照數(shù)據(jù)存儲(chǔ)規(guī) 則在本域內(nèi)查詢得到(對(duì)于域外備份數(shù)據(jù)的查找只有當(dāng)本域數(shù)據(jù)和本域的備份數(shù)據(jù)均不 可用時(shí)才會(huì)進(jìn)行),如圖6所示,查詢過(guò)程包括步驟601 查詢節(jié)點(diǎn)Ν23根據(jù)需查詢數(shù)據(jù)的資源全局標(biāo)識(shí)符查找自己的域內(nèi)路由 表,利用資源全局標(biāo)識(shí)符中的資源ID(例如資源ID = 6)得到數(shù)據(jù)的主節(jié)點(diǎn)(在此為節(jié)點(diǎn)N7)的路由信息,并向節(jié)點(diǎn)N7發(fā)出查詢請(qǐng)求,請(qǐng)求中包括需要查詢的數(shù)據(jù)的資源全局標(biāo)識(shí) 符;步驟602 由于節(jié)點(diǎn)N7異常宕機(jī)或其他情況造成請(qǐng)求失敗,節(jié)點(diǎn)N23向域內(nèi)的備份節(jié)點(diǎn)(節(jié)點(diǎn)附2)發(fā)出查詢備份數(shù)據(jù)請(qǐng)求;步驟603 節(jié)點(diǎn)N12也發(fā)生某種異常,查詢請(qǐng)求失敗,節(jié)點(diǎn)N23向備份域的其已知 的某個(gè)節(jié)點(diǎn)(例如節(jié)點(diǎn)n32)發(fā)出域外備份查詢請(qǐng)求,請(qǐng)求中包括需查找的數(shù)據(jù)的資源全局 標(biāo)識(shí)符;(這里的查詢備份數(shù)據(jù)的請(qǐng)求和直接進(jìn)行數(shù)據(jù)查詢的請(qǐng)求是不同的,這里請(qǐng)求中 包括該資源的全局標(biāo)識(shí)符是因?yàn)樵搨浞萦蚩赡苓€存有其他域的備份數(shù)據(jù));步驟604 節(jié)點(diǎn)n32按照資源全局標(biāo)識(shí)符和域外備份規(guī)則來(lái)確定該資源的域外備 份節(jié)點(diǎn),并查找自己的域內(nèi)路由表得到域外備份節(jié)點(diǎn)(在此為節(jié)點(diǎn)n9)的路由信息,并向節(jié) 點(diǎn)η9轉(zhuǎn)發(fā)域外備份查詢請(qǐng)求,轉(zhuǎn)發(fā)的查詢請(qǐng)求中應(yīng)該攜帶Ν23的路由信息;步驟605 節(jié)點(diǎn)π9向節(jié)點(diǎn)Ν23返回所需查詢的資源信息域外備份數(shù)據(jù)查找只發(fā)生在本域的數(shù)據(jù)主節(jié)點(diǎn)和備份節(jié)點(diǎn)均查詢失敗的情況,這 種情況通常是由于域內(nèi)大量節(jié)點(diǎn)異常宕機(jī)所造成的,這樣通過(guò)域外備份數(shù)據(jù)的查找仍然能 實(shí)現(xiàn)數(shù)據(jù)的正常獲得。應(yīng)用實(shí)例3 節(jié)點(diǎn)加入/退出時(shí)的數(shù)據(jù)遷移當(dāng)有新節(jié)點(diǎn)(例如節(jié)點(diǎn)Ν20)加入的時(shí)候,需要從后向節(jié)點(diǎn)復(fù)制的數(shù)據(jù)包括三部 分,如圖7所示,具體復(fù)制步驟如下步驟701 新節(jié)點(diǎn)作為主節(jié)點(diǎn)負(fù)責(zé)保存的資源信息(資源ID值處于前向節(jié)點(diǎn)ID與 新節(jié)點(diǎn)ID之間的那部分資源信息),在此為資源ID為(16,20](在此表示該節(jié)點(diǎn)作為主節(jié) 點(diǎn)應(yīng)負(fù)責(zé)保存的數(shù)據(jù)范圍,這些數(shù)據(jù)的節(jié)點(diǎn)ID應(yīng)大于16而小于等于20 ;)之間的數(shù)據(jù);步驟702 新節(jié)點(diǎn)作為域外備份節(jié)點(diǎn)所應(yīng)該負(fù)責(zé)保存的備份數(shù)據(jù)(后向節(jié)點(diǎn)中保 存的資源ID小于或等于本域新節(jié)點(diǎn)ID的備份數(shù)據(jù))。在此假設(shè)域A為域C的備份域(圖 未示),則此備份資源信息為域C中資源ID在(16,20]的數(shù)據(jù);步驟703 新節(jié)點(diǎn)作為域內(nèi)備份節(jié)點(diǎn)所應(yīng)該負(fù)責(zé)保存的前向節(jié)點(diǎn)的備份數(shù)據(jù)(后 向節(jié)點(diǎn)中保存的本域備份數(shù)據(jù)),在此為資源ID在(12,16]的數(shù)據(jù)。以上幾步只需從新加入節(jié)點(diǎn)的后向節(jié)點(diǎn)(即Ν23)進(jìn)行復(fù)制即可,復(fù)制完數(shù)據(jù)后, 新節(jié)點(diǎn)需要進(jìn)行域內(nèi)數(shù)據(jù)備份,而不需要進(jìn)行域外數(shù)據(jù)的備份,然后該節(jié)點(diǎn)按照本域的路 由更新方法及時(shí)通知其他節(jié)點(diǎn)更新路由表。同理,域內(nèi)節(jié)點(diǎn)的正常離開是加入的一個(gè)逆過(guò) 程,離開時(shí),此節(jié)點(diǎn)把負(fù)責(zé)保存的全部資源信息移交至其后向節(jié)點(diǎn),后向節(jié)點(diǎn)僅需要做域內(nèi) 備份,不需要再重新進(jìn)行域外備份。應(yīng)用實(shí)例4 數(shù)據(jù)恢復(fù)過(guò)程在此僅考慮域內(nèi)主節(jié)點(diǎn)和備份節(jié)點(diǎn)同時(shí)出故障的情況,對(duì)于只有其中之一出故障 的情況,可以通過(guò)域內(nèi)數(shù)據(jù)恢復(fù)機(jī)制進(jìn)行恢復(fù),而且不需要更改域外的備份數(shù)據(jù)。域內(nèi)備份 節(jié)點(diǎn)的后向節(jié)點(diǎn)Ν16檢測(cè)出兩個(gè)以上連續(xù)節(jié)點(diǎn)發(fā)生故障后(節(jié)點(diǎn)Ν16通過(guò)與其前向節(jié)點(diǎn)之 間的?;顧C(jī)制來(lái)檢測(cè)其前向連續(xù)多個(gè)節(jié)點(diǎn)的故障),會(huì)根據(jù)域外備份的規(guī)則從所丟失數(shù)據(jù) 域外備份節(jié)點(diǎn)處將資源信息復(fù)制過(guò)來(lái),并重新進(jìn)行備份。如圖8所示,具體步驟如下步驟801 域內(nèi)備份節(jié)點(diǎn)的后向節(jié)點(diǎn)Ν16檢測(cè)出故障(假設(shè)只有Ν7和Ν12發(fā)生故障)后,只能夠得知域內(nèi)丟失資源信息的ID范圍為[失效主節(jié)點(diǎn)的前向節(jié)點(diǎn)ID,失效主節(jié) 點(diǎn)ID],失效主節(jié)點(diǎn)在此為節(jié)點(diǎn)N7,所丟失資源信息為資源ID位于(46,7]的資源信息,即 資源ID大于46或不大于7的資源信息;該實(shí)施例中的域外備份規(guī)則是備份資源信息的域外節(jié)點(diǎn)為具有這樣節(jié)點(diǎn)標(biāo)識(shí)的 節(jié)點(diǎn),其節(jié)點(diǎn)標(biāo)識(shí)等于或大于所述資源信息的資源標(biāo)識(shí),且最接近所述資源信息的資源標(biāo) 識(shí)。節(jié)點(diǎn)N16需要進(jìn)行的數(shù)據(jù)恢復(fù)和備份包括i、對(duì)域內(nèi)丟失的數(shù)據(jù)通過(guò)域外備份進(jìn)行恢復(fù); ii、把恢復(fù)的數(shù)據(jù)在節(jié)點(diǎn)N16的后向節(jié)點(diǎn)進(jìn)行域內(nèi)備份;iii、對(duì)節(jié)點(diǎn)N16的前向節(jié)點(diǎn)N12之前備份在節(jié)點(diǎn)N16上的數(shù)據(jù)進(jìn)行域內(nèi)備份;iv、對(duì)失效主節(jié)點(diǎn)前向節(jié)點(diǎn)所存放的數(shù)據(jù)進(jìn)行備份;V、對(duì)失效節(jié)點(diǎn)所負(fù)責(zé)的域外的備份數(shù)據(jù)進(jìn)行重新備份;、步驟802 節(jié)點(diǎn)N16用失效主節(jié)點(diǎn)前向節(jié)點(diǎn)N46的節(jié)點(diǎn)ID = 46在備份域中查詢 (可以通過(guò)其域外路由表中的所保存的域B中的節(jié)點(diǎn)的路由信息得到節(jié)點(diǎn)n43的路由信 息),找到此節(jié)點(diǎn)ID對(duì)應(yīng)的后向節(jié)點(diǎn)為節(jié)點(diǎn)π53 ;再用節(jié)點(diǎn)Ν7的節(jié)點(diǎn)ID = 7在備份域中查 詢,找到其后向節(jié)點(diǎn)n9 ;節(jié)點(diǎn)Ν16向節(jié)點(diǎn)π53請(qǐng)求查詢節(jié)點(diǎn)ID位于(53,7)之間的節(jié)點(diǎn)的 路由信息。則原域內(nèi)丟失的資源信息為i、節(jié)點(diǎn)N53中備份的資源ID值在(46,53]之間的數(shù)據(jù)ii、節(jié)點(diǎn)n9中備份資源ID值在(3,7]之間的數(shù)據(jù);iii、節(jié)點(diǎn)n53和節(jié)點(diǎn)n9之間的節(jié)點(diǎn)所備份的所有數(shù)據(jù),即節(jié)點(diǎn)π3上備份的所有 數(shù)據(jù)。大于53及小于3的數(shù)據(jù)步驟803 節(jié)點(diǎn)Ν16將所需數(shù)據(jù)從域外中拷貝過(guò)來(lái),此時(shí)節(jié)點(diǎn)Ν16成為這些資源信 息的主節(jié)點(diǎn);步驟804 節(jié)點(diǎn)Ν16重新對(duì)剛恢復(fù)的數(shù)據(jù)以及節(jié)點(diǎn)Ν16的失效前向節(jié)點(diǎn)存放在W6 上的域內(nèi)備份數(shù)據(jù)進(jìn)行域內(nèi)備份,即把恢復(fù)的數(shù)據(jù)以及域內(nèi)備份的數(shù)據(jù)備份到其后向節(jié)點(diǎn) Ν23 上;步驟805 節(jié)點(diǎn)Ν16將節(jié)點(diǎn)Ν46所存放的數(shù)據(jù)進(jìn)行備份;步驟806 所丟失的域外備份數(shù)據(jù)的范圍為(失效主節(jié)點(diǎn)的前向節(jié)點(diǎn)ID,節(jié)點(diǎn) Ν16前向節(jié)點(diǎn)ID],即資源ID位于(46,12]范圍的域外備份數(shù)據(jù)。如果這些備份數(shù)據(jù)涉及 到多個(gè)域,節(jié)點(diǎn)C需要到多個(gè)域分別對(duì)所需數(shù)據(jù)進(jìn)行重新備份。具體過(guò)程和對(duì)失效節(jié)點(diǎn)的 數(shù)據(jù)恢復(fù)相同,不贅述。如果需要進(jìn)一步保證數(shù)據(jù)的可靠性,可以考慮在域外進(jìn)行多個(gè)備份,例如除了在 域外的備份節(jié)點(diǎn)進(jìn)行備份一次外,再在該域外備份節(jié)點(diǎn)的后向節(jié)點(diǎn)備份一份該資源。以上過(guò)程均不必重新進(jìn)行域外備份,域外中的備份數(shù)據(jù)不必做任何改動(dòng)。為實(shí)現(xiàn)以上第一方法,本發(fā)明還提供了一種網(wǎng)絡(luò)架構(gòu),并對(duì)節(jié)點(diǎn)進(jìn)行了功能模塊 劃分,如圖9所示,所述對(duì)等網(wǎng)絡(luò)的節(jié)點(diǎn)包括接收模塊、與接收模塊連接的域外備份節(jié)點(diǎn)確 定模塊、與所述接收模塊及所述域外備份節(jié)點(diǎn)確定模塊連接的處理模塊,及所述節(jié)點(diǎn)還包 括與所述域外備份節(jié)點(diǎn)確定模塊及處理模塊連接的存儲(chǔ)模塊,其中接收模塊,用于接收發(fā)起節(jié)點(diǎn)發(fā)送的域外備份節(jié)點(diǎn)確定請(qǐng)求,所述域外備份節(jié)點(diǎn)確定請(qǐng)求中包括要備份操作的資源信息的資源全局標(biāo)識(shí)符信息,所述備份域的連接節(jié)點(diǎn)與 所述主節(jié)點(diǎn)具有不同的域標(biāo)識(shí);還用于接受所述發(fā)起節(jié)點(diǎn)發(fā)送的域外備份操作請(qǐng)求;域外備份節(jié)點(diǎn)確定模塊,用于根據(jù)所述資源全局標(biāo)識(shí)符信息及域外備份規(guī)則確定 域外備份節(jié)點(diǎn);處理模塊,用于根據(jù)確定的域外備份節(jié)點(diǎn)向所述發(fā)起節(jié)點(diǎn)發(fā)送所述域外備份節(jié)點(diǎn) 的路由信息;還用于根據(jù)所述域外備份操作請(qǐng)求進(jìn)行相應(yīng)處理。若所述域外備份操作請(qǐng)求是指域外備份請(qǐng)求,則所述發(fā)起節(jié)點(diǎn)是所述資源信息 所在的主節(jié)點(diǎn),所述域外備份操作請(qǐng)求中還攜帶所述資源信息的資源信息內(nèi)容,所述處理 模塊用于根據(jù)所述域外備份操作請(qǐng)求對(duì)所述資源信息內(nèi)容及資源全局標(biāo)識(shí)符信 息進(jìn)行備 份;若所述域外備份操作請(qǐng)求是指域外備份查詢請(qǐng)求,則所述發(fā)起節(jié)點(diǎn)是查詢節(jié)點(diǎn), 所述處理模塊用于根據(jù)所述資源全局標(biāo)識(shí)符信息向所述查詢節(jié)點(diǎn)返回要查詢的資源信息 的資源信息內(nèi)容;若所述域外備份操作請(qǐng)求是指域外備份恢復(fù)請(qǐng)求,則所述發(fā)起節(jié)點(diǎn)是檢測(cè)到所述 資源信息所在主節(jié)點(diǎn)故障的節(jié)點(diǎn),所述域外備份恢復(fù)請(qǐng)求中的資源全局標(biāo)識(shí)符信息指要恢 復(fù)的資源信息的資源全局標(biāo)識(shí)符或資源全局標(biāo)識(shí)符范圍,所述資源信息的資源全局標(biāo)識(shí)符 或資源全局標(biāo)識(shí)符范圍是所述發(fā)起節(jié)點(diǎn)根據(jù)域內(nèi)資源存放規(guī)則確定的,所述處理模塊用于 根據(jù)所述域外備份恢復(fù)請(qǐng)求向所述發(fā)起節(jié)點(diǎn)返回所述資源全局標(biāo)識(shí)符對(duì)應(yīng)的資源信息內(nèi) 容或所述資源全局標(biāo)識(shí)符范圍內(nèi)的資源全局標(biāo)識(shí)符對(duì)應(yīng)的資源信息內(nèi)容。存儲(chǔ)模塊,用于存儲(chǔ)資源信息表、域內(nèi)路由表及域外路由表,其中所述資源信息表 包括資源信息的資源全局標(biāo)識(shí)符及資源信息內(nèi)容,所述域內(nèi)路由表包括與所述節(jié)點(diǎn)具有連 接關(guān)系的域內(nèi)節(jié)點(diǎn)的節(jié)點(diǎn)全局標(biāo)識(shí)符及路由信息,所述域外路由表包括與所述節(jié)點(diǎn)具有連 接關(guān)系的域外節(jié)點(diǎn)的節(jié)點(diǎn)全局標(biāo)識(shí)符及路由信息,所述域外備份節(jié)點(diǎn)是結(jié)合域內(nèi)路由表中 的節(jié)點(diǎn)全局標(biāo)識(shí)符確定的。本發(fā)明方法及對(duì)等網(wǎng)絡(luò),域內(nèi)的數(shù)據(jù)備份可以保證在網(wǎng)絡(luò)中少量節(jié)點(diǎn)正?;虍惓?離開網(wǎng)絡(luò)時(shí)的數(shù)據(jù)的可恢復(fù)性,本發(fā)明在保持域內(nèi)備份的優(yōu)點(diǎn)的同時(shí),也實(shí)現(xiàn)了異地容災(zāi), 更好的保證了數(shù)據(jù)的可靠性和可用性。另外本發(fā)明針對(duì)資源信息進(jìn)行域外備份,這樣在本 域網(wǎng)絡(luò)中有節(jié)點(diǎn)加入退出等操作時(shí),不需要對(duì)外域的備份數(shù)據(jù)進(jìn)行調(diào)整,只有當(dāng)該資源本 身有更改時(shí)才需要對(duì)域外備份數(shù)據(jù)進(jìn)行調(diào)整,這樣可以有效的減少備份數(shù)據(jù)調(diào)整帶來(lái)的額 外開銷,提高系統(tǒng)的效率和性能。
權(quán)利要求
一種基于對(duì)等網(wǎng)絡(luò)的資源信息備份操作方法,其特征在于所述對(duì)等網(wǎng)絡(luò)的節(jié)點(diǎn)具有包括域標(biāo)識(shí)及節(jié)點(diǎn)標(biāo)識(shí)的節(jié)點(diǎn)全局標(biāo)識(shí)符,所述對(duì)等網(wǎng)絡(luò)的資源信息具有包括域標(biāo)識(shí)及資源標(biāo)識(shí)的資源全局標(biāo)識(shí)符,所述資源信息保存在與所述資源信息具有相同域標(biāo)識(shí)的主節(jié)點(diǎn)上,對(duì)所述資源信息進(jìn)行備份操作的方法包括發(fā)起節(jié)點(diǎn)向備份域的連接節(jié)點(diǎn)發(fā)送域外備份節(jié)點(diǎn)確定請(qǐng)求,所述域外備份節(jié)點(diǎn)確定請(qǐng)求中包括要備份操作的資源信息的資源全局標(biāo)識(shí)符信息,所述備份域的連接節(jié)點(diǎn)與所述主節(jié)點(diǎn)具有不同的域標(biāo)識(shí);所述備份域的連接節(jié)點(diǎn)根據(jù)所述資源全局標(biāo)識(shí)符信息及域外備份規(guī)則確定域外備份節(jié)點(diǎn),并將所述域外備份節(jié)點(diǎn)的路由信息發(fā)送給所述發(fā)起節(jié)點(diǎn);所述發(fā)起節(jié)點(diǎn)根據(jù)所述路由信息向所述域外備份節(jié)點(diǎn)發(fā)送域外備份操作請(qǐng)求,所述域外備份節(jié)點(diǎn)根據(jù)所述域外備份操作請(qǐng)求進(jìn)行相應(yīng)的處理。
2.如權(quán)利要求1所述的方法,其特征在于若所述域外備份操作請(qǐng)求是指域外備份請(qǐng)求,則所述發(fā)起節(jié)點(diǎn)是所述資源信息所在的 主節(jié)點(diǎn),所述主節(jié)點(diǎn)向所述域外備份節(jié)點(diǎn)發(fā)送的域外備份請(qǐng)求中還攜帶所述資源信息的資 源信息內(nèi)容,所述域外備份節(jié)點(diǎn)根據(jù)所述域外備份請(qǐng)求對(duì)所述資源信息內(nèi)容及資源全局標(biāo) 識(shí)符信息進(jìn)行備份;若所述域外備份操作請(qǐng)求是指域外備份查詢請(qǐng)求,則所述發(fā)起節(jié)點(diǎn)是查詢節(jié)點(diǎn),所述 域外備份節(jié)點(diǎn)根據(jù)域外備份查詢請(qǐng)求中的資源全局標(biāo)識(shí)符信息向所述查詢節(jié)點(diǎn)返回要查 詢的資源信息的資源信息內(nèi)容;若所述域外備份操作請(qǐng)求是指域外備份恢復(fù)請(qǐng)求,則所述發(fā)起節(jié)點(diǎn)是檢測(cè)到所述資源 信息所在主節(jié)點(diǎn)故障的節(jié)點(diǎn),所述資源全局標(biāo)識(shí)符信息指要恢復(fù)的資源信息的資源全局標(biāo) 識(shí)符或資源全局標(biāo)識(shí)符范圍,所述資源全局標(biāo)識(shí)符或資源全局標(biāo)識(shí)符范圍是所述發(fā)起節(jié)點(diǎn) 根據(jù)域內(nèi)資源存放規(guī)則確定的,所述域外備份節(jié)點(diǎn)根據(jù)所述域外備份恢復(fù)請(qǐng)求向所述發(fā)起 節(jié)點(diǎn)返回所述資源全局標(biāo)識(shí)符對(duì)應(yīng)的資源信息內(nèi)容或所述資源全局標(biāo)識(shí)符范圍內(nèi)的資源 全局標(biāo)識(shí)符對(duì)應(yīng)的資源信息內(nèi)容,并由發(fā)起節(jié)點(diǎn)進(jìn)行保存。
3.如權(quán)利要求1所述的方法,其特征在于所述對(duì)等網(wǎng)絡(luò)的節(jié)點(diǎn)保存有資源信息表、域 內(nèi)路由表及域外路由表,其中所述資源信息表包括資源信息的資源全局標(biāo)識(shí)符及資源信息 內(nèi)容,所述域內(nèi)路由表包括與所述節(jié)點(diǎn)具有連接關(guān)系的域內(nèi)節(jié)點(diǎn)的節(jié)點(diǎn)全局標(biāo)識(shí)符及路由 信息,所述域外路由表包括與所述節(jié)點(diǎn)具有連接關(guān)系的域外節(jié)點(diǎn)的節(jié)點(diǎn)全局標(biāo)識(shí)符及路由 信息,所述域外備份節(jié)點(diǎn)是結(jié)合域內(nèi)路由表中的節(jié)點(diǎn)全局標(biāo)識(shí)符確定的。
4.一種對(duì)等網(wǎng)絡(luò),其特征在于所述對(duì)等網(wǎng)絡(luò)的節(jié)點(diǎn)具有包括域標(biāo)識(shí)及節(jié)點(diǎn)標(biāo)識(shí)的節(jié) 點(diǎn)全局標(biāo)識(shí)符,所述對(duì)等網(wǎng)絡(luò)的資源信息具有包括域標(biāo)識(shí)及資源標(biāo)識(shí)的資源全局標(biāo)識(shí)符, 所述對(duì)等網(wǎng)絡(luò)的節(jié)點(diǎn)包括接收模塊、與接收模塊連接的域外備份節(jié)點(diǎn)確定模塊及與所述接 收模塊及所述域外備份節(jié)點(diǎn)確定模塊連接的處理模塊,其中接收模塊,用于接收發(fā)起節(jié)點(diǎn)發(fā)送的域外備份節(jié)點(diǎn)確定請(qǐng)求,所述域外備份節(jié)點(diǎn)確定 請(qǐng)求中包括要備份操作的資源信息的資源全局標(biāo)識(shí)符信息,所述備份域的連接節(jié)點(diǎn)與所述 主節(jié)點(diǎn)具有不同的域標(biāo)識(shí);還用于接受所述發(fā)起節(jié)點(diǎn)發(fā)送的域外備份操作請(qǐng)求;域外備份節(jié)點(diǎn)確定模塊,用于根據(jù)所述資源全局標(biāo)識(shí)符信息及域外備份規(guī)則確定域外 備份節(jié)點(diǎn);處理模塊,用于根據(jù)確定的域外備份節(jié)點(diǎn)向所述發(fā)起節(jié)點(diǎn)發(fā)送所述域外備份節(jié)點(diǎn)的路 由信息;還用于根據(jù)所述域外備份操作請(qǐng)求進(jìn)行相應(yīng)處理。
5.如權(quán)利要求4所述的對(duì)等網(wǎng)絡(luò),其特征在于若所述域外備份操作請(qǐng)求是指域外備份請(qǐng)求,則所述發(fā)起節(jié)點(diǎn)是所述資源信息所在的 主節(jié)點(diǎn),所述域外備份操作請(qǐng)求中還攜帶所述資源信息的資源信息內(nèi)容,所述處理模塊用 于根據(jù)所述域外備份操作請(qǐng)求對(duì)所述資源信息內(nèi)容及資源全局標(biāo)識(shí)符信息進(jìn)行備份;若所述域外備份操作請(qǐng)求是指域外備份查詢請(qǐng)求,則所述發(fā)起節(jié)點(diǎn)是查詢節(jié)點(diǎn),所述 處理模塊用于根據(jù)所述資源全局標(biāo)識(shí)符信息向所述查詢節(jié)點(diǎn)返回要查詢的資源信息的資 源信息內(nèi)容;若所述域外備份操作請(qǐng)求是指域外備份恢復(fù)請(qǐng)求,則所述發(fā)起節(jié)點(diǎn)是檢測(cè)到所述資源 信息所在主節(jié)點(diǎn)故障的節(jié)點(diǎn),所述域外備份恢復(fù)請(qǐng)求中的資源全局標(biāo)識(shí)符信息指要恢復(fù)的 資源信息的資源全局標(biāo)識(shí)符或資源全局標(biāo)識(shí)符范圍,所述資源信息的資源全局標(biāo)識(shí)符或資 源全局標(biāo)識(shí)符范圍是所述發(fā)起節(jié)點(diǎn)根據(jù)域內(nèi)資源存放規(guī)則確定的,所述處理模塊用于根據(jù) 所述域外備份恢復(fù)請(qǐng)求向所述發(fā)起節(jié)點(diǎn)返回所述資源全局標(biāo)識(shí)符對(duì)應(yīng)的資源信息內(nèi)容或 所述資源全局標(biāo)識(shí)符范圍內(nèi)的資源全局標(biāo)識(shí)符對(duì)應(yīng)的資源信息內(nèi)容。
6.如權(quán)利要求4所述的對(duì)等網(wǎng)絡(luò),其特征在于所述節(jié)點(diǎn)還包括與所述域外備份節(jié)點(diǎn) 確定模塊及處理模塊連接的存儲(chǔ)模塊,用于存儲(chǔ)資源信息表、域內(nèi)路由表及域外路由表,其 中所述資源信息表包括資源信息的資源全局標(biāo)識(shí)符及資源信息內(nèi)容,所述域內(nèi)路由表包括 與所述節(jié)點(diǎn)具有連接關(guān)系的域內(nèi)節(jié)點(diǎn)的節(jié)點(diǎn)全局標(biāo)識(shí)符及路由信息,所述域外路由表包括 與所述節(jié)點(diǎn)具有連接關(guān)系的域外節(jié)點(diǎn)的節(jié)點(diǎn)全局標(biāo)識(shí)符及路由信息,所述域外備份節(jié)點(diǎn)是 結(jié)合域內(nèi)路由表中的節(jié)點(diǎn)全局標(biāo)識(shí)符確定的。
7.一種基于對(duì)等網(wǎng)絡(luò)的資源信息備份操作方法,其特征在于所述對(duì)等網(wǎng)絡(luò)的節(jié)點(diǎn)具 有包括域標(biāo)識(shí)及節(jié)點(diǎn)標(biāo)識(shí)的節(jié)點(diǎn)全局標(biāo)識(shí)符,所述對(duì)等網(wǎng)絡(luò)的資源信息具有包括域標(biāo)識(shí)及 資源標(biāo)識(shí)的資源全局標(biāo)識(shí)符,所述資源信息保存在與所述資源信息具有相同域標(biāo)識(shí)的主節(jié) 點(diǎn)上,對(duì)所述資源信息進(jìn)行備份操作的方法包括發(fā)起節(jié)點(diǎn)向備份域的連接節(jié)點(diǎn)發(fā)送域外備份操作請(qǐng)求,所述域外備份節(jié)點(diǎn)操作請(qǐng)求中 包括要備份操作的資源信息的資源全局標(biāo)識(shí)符,所述備份域的連接節(jié)點(diǎn)與所述主節(jié)點(diǎn)具有 不同的域標(biāo)識(shí);所述備份域的連接節(jié)點(diǎn)根據(jù)所述資源全局標(biāo)識(shí)符及域外備份規(guī)則確定域外備份節(jié)點(diǎn), 并向所述域外備份節(jié)點(diǎn)轉(zhuǎn)發(fā)所述域外備份操作請(qǐng)求,其中攜帶發(fā)起節(jié)點(diǎn)的路由信息;所述域外備份節(jié)點(diǎn)根據(jù)所述域外備份操作請(qǐng)求進(jìn)行相應(yīng)處理。
8.如權(quán)利要求7所述的方法,其特征在于所述的域外備份操作請(qǐng)求,是域外備份請(qǐng) 求、備份查詢請(qǐng)求或域外備份恢復(fù)請(qǐng)求;若域外備份操作請(qǐng)求是域外備份請(qǐng)求,則請(qǐng)求中還 攜帶要備份的資源信息內(nèi)容。
9.一種對(duì)等網(wǎng)絡(luò),其特征在于所述對(duì)等網(wǎng)絡(luò)的節(jié)點(diǎn)具有包括域標(biāo)識(shí)及節(jié)點(diǎn)標(biāo)識(shí)的節(jié) 點(diǎn)全局標(biāo)識(shí)符,并保存有域內(nèi)其他節(jié)點(diǎn)的節(jié)點(diǎn)全局標(biāo)識(shí)符,所述對(duì)等網(wǎng)絡(luò)的資源信息具有 包括域標(biāo)識(shí)及資源標(biāo)識(shí)的資源全局標(biāo)識(shí)符,所述資源信息保存在與其有相同域標(biāo)識(shí)的節(jié)點(diǎn) 上,同時(shí)備份在與其有不同域標(biāo)識(shí)的域外備份節(jié)點(diǎn)上,所述域外備份節(jié)點(diǎn)是根據(jù)所述資源 信息的資源全局標(biāo)識(shí)符、備份域的節(jié)點(diǎn)全局標(biāo)識(shí)符及域外備份規(guī)則確定的。
10.如權(quán)利要求9所述的對(duì)等網(wǎng)絡(luò),其特征在于所述資源信息同時(shí)備份在與其有相同 域標(biāo)識(shí)的其他節(jié)點(diǎn)上。
全文摘要
本發(fā)明提供一種基于對(duì)等網(wǎng)絡(luò)的資源信息備份操作方法,該方法包括發(fā)起節(jié)點(diǎn)向備份域的連接節(jié)點(diǎn)發(fā)送域外備份節(jié)點(diǎn)確定請(qǐng)求,所述域外備份節(jié)點(diǎn)確定請(qǐng)求中包括要備份操作的資源信息的資源全局標(biāo)識(shí)符信息,所述備份域的連接節(jié)點(diǎn)與所述主節(jié)點(diǎn)具有不同的域標(biāo)識(shí);所述備份域的連接節(jié)點(diǎn)根據(jù)所述資源全局標(biāo)識(shí)符信息及域外備份規(guī)則確定域外備份節(jié)點(diǎn),并將所述域外備份節(jié)點(diǎn)的路由信息發(fā)送給所述發(fā)起節(jié)點(diǎn);所述發(fā)起節(jié)點(diǎn)根據(jù)所述路由信息向所述域外備份節(jié)點(diǎn)發(fā)送域外備份操作請(qǐng)求,所述域外備份節(jié)點(diǎn)根據(jù)所述域外備份操作請(qǐng)求進(jìn)行相應(yīng)的處理。本發(fā)明方法及對(duì)等網(wǎng)絡(luò),可以更好的保證數(shù)據(jù)的可靠性和可用性。
文檔編號(hào)H04L29/08GK101860559SQ20091013373
公開日2010年10月13日 申請(qǐng)日期2009年4月8日 優(yōu)先權(quán)日2009年4月8日
發(fā)明者張春紅, 張永輝, 弭偉, 彭永林, 李漓春, 王巖, 裘曉峰, 陶全軍, 雷震宇 申請(qǐng)人:中興通訊股份有限公司