亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種數(shù)據(jù)源地址分發(fā)樹的構(gòu)造方法和用于復(fù)制數(shù)據(jù)的方法與流程

文檔序號:11180703閱讀:453來源:國知局
一種數(shù)據(jù)源地址分發(fā)樹的構(gòu)造方法和用于復(fù)制數(shù)據(jù)的方法與流程

本申請涉及一種樹的構(gòu)造方法,具體涉及一種數(shù)據(jù)源地址分發(fā)樹的構(gòu)造方法及裝置;本申請還涉及一種用于復(fù)制數(shù)據(jù)的方法及裝置,本申請還涉及一種更新本節(jié)點(diǎn)存儲的本節(jié)點(diǎn)在指定的數(shù)據(jù)源地址分發(fā)樹中的父節(jié)點(diǎn)信息的方法及裝置;本申請還涉及一種用于數(shù)據(jù)發(fā)送的方法及裝置;本申請還涉及一種數(shù)據(jù)源地址分發(fā)系統(tǒng)。



背景技術(shù):

對于擁有眾多節(jié)點(diǎn)的大型計算機(jī)網(wǎng)絡(luò),在網(wǎng)絡(luò)中多個節(jié)點(diǎn)部署軟件或復(fù)制數(shù)據(jù)文件是運(yùn)行于計算網(wǎng)絡(luò)上的業(yè)務(wù)系統(tǒng)必不可少的操作,運(yùn)行基于大型的分布式計算機(jī)系統(tǒng)上的業(yè)務(wù)系統(tǒng)時,經(jīng)常需要將同一大型軟件或相同的大量數(shù)據(jù)復(fù)制到系統(tǒng)內(nèi)的多個節(jié)點(diǎn)上,傳統(tǒng)的從單一數(shù)據(jù)源復(fù)制數(shù)據(jù)的方式,由于數(shù)據(jù)量的增加,會增加網(wǎng)絡(luò)擁堵的情況的發(fā)生,更有效率低下的弊病,明顯不適用于大型的分布式系統(tǒng)內(nèi)部署數(shù)據(jù)的情況。

現(xiàn)有的將大量相同數(shù)據(jù)復(fù)制到分布式系統(tǒng)的多個節(jié)點(diǎn)的方式通常為以下兩種:

方式一,部分利用對等網(wǎng)絡(luò)(peer-to-peer)技術(shù)。先預(yù)先規(guī)劃好哪些數(shù)據(jù)需要部署到分布式系統(tǒng)內(nèi)的哪些節(jié)點(diǎn)上,從原始的數(shù)據(jù)源復(fù)制數(shù)據(jù)到其中一個節(jié)點(diǎn),其他需要同樣數(shù)據(jù)的節(jié)點(diǎn)從該節(jié)點(diǎn)復(fù)制數(shù)據(jù)而不必從原始的數(shù)據(jù)源復(fù)制數(shù)據(jù)。對于其他更多節(jié)點(diǎn)需要同樣數(shù)據(jù)的情況,可以在這些節(jié)點(diǎn)間利用對等網(wǎng)絡(luò)(peer-to-peer)技術(shù)復(fù)制數(shù)據(jù)。

這種方式雖然避免了所有需要同樣數(shù)據(jù)的節(jié)點(diǎn)從同一數(shù)據(jù)源復(fù)制數(shù)據(jù)導(dǎo)致的效率低下和網(wǎng)絡(luò)擁堵的問題,但每當(dāng)由于業(yè)務(wù)需要,更多的節(jié)點(diǎn)加入系統(tǒng),需要復(fù)制同樣的數(shù)據(jù)時,因為需要頻繁的規(guī)劃,導(dǎo)致不能靈活地動態(tài)地應(yīng)對情況的變化的缺點(diǎn)。

方式二,完全采用對等網(wǎng)絡(luò)(peer-to-peer)技術(shù),在網(wǎng)絡(luò)中設(shè)置中心化的數(shù)據(jù)地址查詢系統(tǒng),該系統(tǒng)存儲分布式系統(tǒng)內(nèi)所需的所有數(shù)據(jù)的分布情況,也即哪些數(shù)據(jù)存儲在哪些節(jié)點(diǎn)。

當(dāng)有節(jié)點(diǎn)需要復(fù)制數(shù)據(jù)時,向該數(shù)據(jù)地址查詢系統(tǒng)查詢所需復(fù)制數(shù)據(jù)的存儲位置,從該數(shù)據(jù)地址查詢系統(tǒng)反饋的數(shù)據(jù)的存儲位置,利用對等網(wǎng)絡(luò) (peer-to-peer)技術(shù)復(fù)制數(shù)據(jù),同時向中心節(jié)點(diǎn)報告自己存儲了所述數(shù)據(jù),以備后續(xù)其他節(jié)點(diǎn)查詢時,數(shù)據(jù)地址查詢系統(tǒng)能夠提供更多的存儲了所述數(shù)據(jù)的節(jié)點(diǎn)信息。

這一方式能夠避免所有需要同樣數(shù)據(jù)的節(jié)點(diǎn)從同一數(shù)據(jù)源復(fù)制數(shù)據(jù)導(dǎo)致的效率低下和網(wǎng)絡(luò)擁堵的問題,并且能夠動態(tài)應(yīng)對需要復(fù)制同樣數(shù)據(jù)的節(jié)點(diǎn)變化的情況。但對于大型的網(wǎng)絡(luò)來說,所述數(shù)據(jù)在網(wǎng)絡(luò)內(nèi)分布的信息數(shù)量非常大,通常會需要多于一個節(jié)點(diǎn)來存儲,數(shù)據(jù)地址查詢系統(tǒng)不得不分布于不同的節(jié)點(diǎn)上,這就導(dǎo)致了網(wǎng)絡(luò)結(jié)構(gòu)復(fù)雜,管理維護(hù)工作量大,成本增加。



技術(shù)實現(xiàn)要素:

本申請?zhí)峁┮环N數(shù)據(jù)源地址分發(fā)樹的構(gòu)造方法。本申請還提供一種用于復(fù)制數(shù)據(jù)的方法。本申請同時還提供一種更新本節(jié)點(diǎn)存儲的本節(jié)點(diǎn)在指定的數(shù)據(jù)源地址分發(fā)樹中的父節(jié)點(diǎn)信息的方法。本申請?zhí)峁┮环N數(shù)據(jù)發(fā)送方法。本申請同時提供一種數(shù)據(jù)源地址分發(fā)系統(tǒng)。本申請?zhí)峁┮环N數(shù)據(jù)源地址分發(fā)樹的構(gòu)造裝置,還提供一種用于復(fù)制數(shù)據(jù)的裝置。

本申請?zhí)峁┑囊环N數(shù)據(jù)源地址分發(fā)樹的構(gòu)造方法,包括以下步驟:

接收請求者發(fā)送的查詢所述請求者在指定的數(shù)據(jù)源地址分發(fā)樹中的親屬節(jié)點(diǎn)信息的請求,所述請求者由其標(biāo)識所確定,所述指定的數(shù)據(jù)源地址分發(fā)樹由數(shù)據(jù)源地址分發(fā)樹標(biāo)識所確定;

將所述請求者作為新節(jié)點(diǎn)加入所述數(shù)據(jù)源地址分發(fā)樹;

將所述請求者對應(yīng)的節(jié)點(diǎn)的父節(jié)點(diǎn)和子節(jié)點(diǎn)的信息發(fā)送給所述請求者。

優(yōu)選地,所述將所述請求者作為新節(jié)點(diǎn)加入所述數(shù)據(jù)源地址分發(fā)樹包括:

若所述數(shù)據(jù)源地址分發(fā)樹不存在,則建立一棵數(shù)據(jù)源地址分發(fā)樹,將所述請求者作為所述數(shù)據(jù)源地址分發(fā)樹的根節(jié)點(diǎn)。

優(yōu)選地,所述將所述請求者作為新節(jié)點(diǎn)加入所述數(shù)據(jù)源地址分發(fā)樹包括:

若所述數(shù)據(jù)源地址分發(fā)樹存在,且所述數(shù)據(jù)源地址分發(fā)樹中不存在所述請求者對應(yīng)的節(jié)點(diǎn)則將該請求者作為一個新節(jié)點(diǎn)加入所述數(shù)據(jù)源地址分發(fā)樹。

優(yōu)選地,所述數(shù)據(jù)源地址分發(fā)樹為完全二叉樹。

優(yōu)選地,所述將該請求者作為一個新節(jié)點(diǎn)加入所述數(shù)據(jù)源地址分發(fā)樹包括:將該請求者作為一個新的葉子節(jié)點(diǎn)加入所述數(shù)據(jù)源地址分發(fā)樹。

優(yōu)選地,還包括所述的數(shù)據(jù)源地址分發(fā)樹的存儲節(jié)點(diǎn)調(diào)整步驟,所述步驟 包括:

接收請求者發(fā)送的所述請求者在指定的數(shù)據(jù)源地址分發(fā)樹中的父節(jié)點(diǎn)失效的信息,所述指定的數(shù)據(jù)源地址分發(fā)樹由數(shù)據(jù)源地址分發(fā)樹標(biāo)識所確定;

根據(jù)所述請求者發(fā)送的所述請求者在指定的數(shù)據(jù)源地址分發(fā)樹中的父節(jié)點(diǎn)信息,調(diào)整所述數(shù)據(jù)源地址分發(fā)樹的存儲節(jié)點(diǎn)。

優(yōu)選地,所述根據(jù)所述請求者發(fā)送的所述請求者在指定的數(shù)據(jù)源地址分發(fā)樹中的父節(jié)點(diǎn)信息,調(diào)整所述數(shù)據(jù)源地址分發(fā)樹的存儲節(jié)點(diǎn)包括:

若所述數(shù)據(jù)源地址分發(fā)樹中不存在所述請求者對應(yīng)的節(jié)點(diǎn),則將該請求者作為一個新節(jié)點(diǎn)加入所述數(shù)據(jù)源地址分發(fā)樹,并將該新節(jié)點(diǎn)的父節(jié)點(diǎn)和子節(jié)點(diǎn)信息發(fā)送給所述請求者。

優(yōu)選地,所述根據(jù)所述請求者發(fā)送的所述請求者在指定的數(shù)據(jù)源地址分發(fā)樹中的父節(jié)點(diǎn)信息,調(diào)整所述數(shù)據(jù)源地址分發(fā)樹的存儲節(jié)點(diǎn)包括:

若所述數(shù)據(jù)源地址分發(fā)樹中存在所述請求者對應(yīng)的節(jié)點(diǎn),則,根據(jù)在所述數(shù)據(jù)源地址分發(fā)樹中該請求者對應(yīng)的節(jié)點(diǎn)的父節(jié)點(diǎn)是否與該請求者發(fā)送的失效的父節(jié)點(diǎn)一致的情況調(diào)整所述數(shù)據(jù)源地址分發(fā)樹的存儲節(jié)點(diǎn)。

優(yōu)選地,所述根據(jù)在所述數(shù)據(jù)源地址分發(fā)樹中該請求者對應(yīng)的節(jié)點(diǎn)的父節(jié)點(diǎn)是否與該請求者發(fā)送的失效的父節(jié)點(diǎn)一致的情況調(diào)整所述數(shù)據(jù)源地址分發(fā)樹的存儲節(jié)點(diǎn)包括:

若在所述數(shù)據(jù)源地址分發(fā)樹中該請求者對應(yīng)的節(jié)點(diǎn)的父節(jié)點(diǎn)與該請求者發(fā)送的失效的父節(jié)點(diǎn)不一致,則將所述數(shù)據(jù)源地址分發(fā)樹中該請求者對應(yīng)的節(jié)點(diǎn)的父節(jié)點(diǎn)信息發(fā)送給該所述請求者;

若在所述數(shù)據(jù)源地址分發(fā)樹中該請求者對應(yīng)的節(jié)點(diǎn)的父節(jié)點(diǎn)與該請求者發(fā)送的失效的父節(jié)點(diǎn)一致,則,根據(jù)所述數(shù)據(jù)源地址分發(fā)樹中是否存在有效的葉子節(jié)點(diǎn),調(diào)整所述數(shù)據(jù)源地址分發(fā)樹的存儲節(jié)點(diǎn)。

優(yōu)選地,所述根據(jù)所述數(shù)據(jù)源地址分發(fā)樹中是否存在有效的葉子節(jié)點(diǎn),調(diào)整所述數(shù)據(jù)源地址分發(fā)樹的存儲節(jié)點(diǎn)包括:

若所述數(shù)據(jù)源地址分發(fā)樹中存在有效的葉子節(jié)點(diǎn),則將所述請求者對應(yīng)的節(jié)點(diǎn)的父節(jié)點(diǎn)標(biāo)記為失效并與所述有效的葉子節(jié)點(diǎn)交換位置,并將交換位置后所述請求者對應(yīng)的節(jié)點(diǎn)的父節(jié)點(diǎn)信息發(fā)送給所述請求者;

若所述數(shù)據(jù)源地址分發(fā)樹中不存在有效的葉子節(jié)點(diǎn),則刪除所述數(shù)據(jù)源地址分發(fā)樹,以被刪除的數(shù)據(jù)源地址分發(fā)樹的標(biāo)識建立一棵數(shù)據(jù)源地址分發(fā)樹, 將所述請求者作為根節(jié)點(diǎn),并將該根節(jié)點(diǎn)的父節(jié)點(diǎn)的信息發(fā)送給所述請求者。

優(yōu)選地,用于分布式計算機(jī)系統(tǒng)內(nèi)各個節(jié)點(diǎn)的數(shù)據(jù)部署。

本申請?zhí)峁┑囊环N用于復(fù)制數(shù)據(jù)的方法,用于分布式計算機(jī)系統(tǒng)內(nèi)各個節(jié)點(diǎn)的數(shù)據(jù)部署,包括以下步驟:

獲取復(fù)制數(shù)據(jù)到本節(jié)點(diǎn)的請求,所述請求包括數(shù)據(jù)的標(biāo)識以及數(shù)據(jù)的原始地址;

獲得本節(jié)點(diǎn)在指定的數(shù)據(jù)源地址分發(fā)樹中的父節(jié)點(diǎn)信息,所述指定的數(shù)據(jù)源地址分發(fā)樹由數(shù)據(jù)源地址分發(fā)樹的標(biāo)識所確定,所述數(shù)據(jù)源地址分發(fā)樹的標(biāo)識由所述數(shù)據(jù)的標(biāo)識和本節(jié)點(diǎn)所在的組的標(biāo)識所確定;

根據(jù)本節(jié)點(diǎn)在指定的數(shù)據(jù)源地址分發(fā)樹中父節(jié)點(diǎn)的信息,發(fā)送相應(yīng)的復(fù)制所述數(shù)據(jù)的請求;

接收所述數(shù)據(jù)到本節(jié)點(diǎn)。

優(yōu)選地,所述根據(jù)本節(jié)點(diǎn)在指定的數(shù)據(jù)源地址分發(fā)樹中父節(jié)點(diǎn)的信息,發(fā)送相應(yīng)的復(fù)制所述數(shù)據(jù)的請求包括:

若本節(jié)點(diǎn)在指定的數(shù)據(jù)源地址分發(fā)樹中存在父節(jié)點(diǎn),則向獲得的所述本節(jié)點(diǎn)在指定的數(shù)據(jù)源地址分發(fā)樹中的父節(jié)點(diǎn)發(fā)送復(fù)制所述數(shù)據(jù)的請求;

若本節(jié)點(diǎn)在指定的數(shù)據(jù)源地址分發(fā)樹中不存在父節(jié)點(diǎn),則向復(fù)制數(shù)據(jù)到本節(jié)點(diǎn)的請求中所包含的數(shù)據(jù)的原始地址發(fā)送復(fù)制所述數(shù)據(jù)的請求。

優(yōu)選地,所述獲得本節(jié)點(diǎn)在指定的數(shù)據(jù)源地址分發(fā)樹中的父節(jié)點(diǎn)信息包括:

向數(shù)據(jù)源地址分發(fā)樹中心控制節(jié)點(diǎn)發(fā)送查詢本節(jié)點(diǎn)在指定的數(shù)據(jù)源地址分發(fā)樹中的親屬節(jié)點(diǎn)信息的請求;

接收數(shù)據(jù)源地址分發(fā)樹中心控制節(jié)點(diǎn)發(fā)送的本節(jié)點(diǎn)在所述數(shù)據(jù)源地址分發(fā)樹中無父節(jié)點(diǎn)的信息并存儲到本節(jié)點(diǎn)。

優(yōu)選地,所述獲得本節(jié)點(diǎn)在指定的數(shù)據(jù)源地址分發(fā)樹中的父節(jié)點(diǎn)信息包括:

查詢獲得本節(jié)點(diǎn)存儲的本節(jié)點(diǎn)在指定的數(shù)據(jù)源地址分發(fā)樹中的父節(jié)點(diǎn)信息。

優(yōu)選地,所述接收所述數(shù)據(jù)到本節(jié)點(diǎn)包括:

若所述數(shù)據(jù)的發(fā)送者為本節(jié)點(diǎn)存儲的本節(jié)點(diǎn)在所述數(shù)據(jù)源地址分發(fā)樹中的父節(jié)點(diǎn),則接收所述數(shù)據(jù)到本節(jié)點(diǎn)。

優(yōu)選地,所述所述數(shù)據(jù)源地址分發(fā)樹的標(biāo)識由所述數(shù)據(jù)的標(biāo)識和所述請求者所在的組的標(biāo)識所確定具體為:

所述數(shù)據(jù)源地址分發(fā)樹的標(biāo)識由所述數(shù)據(jù)的標(biāo)識和所述請求者所在的組的 標(biāo)識所唯一確定。

本申請?zhí)峁┑囊环N更新本節(jié)點(diǎn)存儲的本節(jié)點(diǎn)在指定的數(shù)據(jù)源地址分發(fā)樹中的父節(jié)點(diǎn)信息的方法,所述指定的數(shù)據(jù)源地址分發(fā)樹由數(shù)據(jù)源地址分發(fā)樹的標(biāo)識所確定,所述數(shù)據(jù)源地址分發(fā)樹的標(biāo)識由所述數(shù)據(jù)的標(biāo)識和所述請求者所在的組的標(biāo)識所確定,包括以下步驟:

檢測到本節(jié)點(diǎn)存儲的本節(jié)點(diǎn)在指定的數(shù)據(jù)源地址分發(fā)樹中的父節(jié)點(diǎn)信息異常;

向數(shù)據(jù)源地址分發(fā)樹中心控制節(jié)點(diǎn)發(fā)送查詢本節(jié)點(diǎn)在所述數(shù)據(jù)源地址分發(fā)樹中的親屬節(jié)點(diǎn)信息的請求;

接收數(shù)據(jù)源地址分發(fā)樹中心控制節(jié)點(diǎn)發(fā)送的本節(jié)點(diǎn)在所述數(shù)據(jù)源地址分發(fā)樹中的父節(jié)點(diǎn)的信息;

用數(shù)據(jù)源地址分發(fā)樹中心控制節(jié)點(diǎn)發(fā)送的本節(jié)點(diǎn)在所述數(shù)據(jù)源地址分發(fā)樹中的父節(jié)點(diǎn)更新本節(jié)點(diǎn)存儲的本節(jié)點(diǎn)在所述數(shù)據(jù)源地址分發(fā)樹中的父節(jié)點(diǎn)信息。

優(yōu)選地,所述檢測到本節(jié)點(diǎn)存儲的本節(jié)點(diǎn)在指定的數(shù)據(jù)源地址分發(fā)樹中的父節(jié)點(diǎn)信息異常包括以下步驟:

接收發(fā)送者發(fā)送的數(shù)據(jù);

若所述數(shù)據(jù)的發(fā)送者不是本節(jié)點(diǎn)存儲的本節(jié)點(diǎn)在所述數(shù)據(jù)源地址分發(fā)樹中的父節(jié)點(diǎn),則本節(jié)點(diǎn)存儲的本節(jié)點(diǎn)在指定的數(shù)據(jù)源地址分發(fā)樹中的父節(jié)點(diǎn)信息異常。

優(yōu)選地,所述檢測到本節(jié)點(diǎn)存儲的本節(jié)點(diǎn)在指定的數(shù)據(jù)源地址分發(fā)樹中的父節(jié)點(diǎn)信息異常包括以下步驟:

以設(shè)定的時間間隔向本節(jié)點(diǎn)存儲的本節(jié)點(diǎn)在所述數(shù)據(jù)源地址分發(fā)樹中的父節(jié)點(diǎn)發(fā)送狀態(tài)更新請求;

判斷所述狀態(tài)更新請求是否失?。?/p>

若所述狀態(tài)更新請求失敗,則判斷本節(jié)點(diǎn)存儲的本節(jié)點(diǎn)在指定的數(shù)據(jù)源地址分發(fā)樹中的父節(jié)點(diǎn)信息異常;

相應(yīng)地,所述向數(shù)據(jù)源地址分發(fā)樹中心控制節(jié)點(diǎn)發(fā)送查詢本節(jié)點(diǎn)在所述數(shù)據(jù)源地址分發(fā)樹中的親屬節(jié)點(diǎn)信息的請求中包含本節(jié)點(diǎn)在所述數(shù)據(jù)源地址分發(fā)樹中的父節(jié)點(diǎn)失效信息。

優(yōu)選地,所述判斷所述狀態(tài)更新請求是否失敗的方法包括:

在設(shè)定的時長內(nèi)未收到本節(jié)點(diǎn)存儲的本節(jié)點(diǎn)在所述數(shù)據(jù)源地址分發(fā)樹中的 父節(jié)點(diǎn)對本節(jié)點(diǎn)所發(fā)送的狀態(tài)更新請求的響應(yīng),則判斷為失??;

或本節(jié)點(diǎn)存儲的本節(jié)點(diǎn)在所述數(shù)據(jù)源地址分發(fā)樹中父節(jié)點(diǎn)對本節(jié)點(diǎn)發(fā)送的狀態(tài)更新請求連續(xù)未做出響應(yīng)的次數(shù)超過設(shè)定的值,則判斷為失敗。

優(yōu)選地,用于分布式計算機(jī)系統(tǒng)內(nèi)各個節(jié)點(diǎn)的數(shù)據(jù)部署。

本申請?zhí)峁┑囊环N用于數(shù)據(jù)發(fā)送的方法,包括以下步驟:

接收請求者發(fā)送的復(fù)制數(shù)據(jù)請求,所述數(shù)據(jù)由數(shù)據(jù)的標(biāo)識所確定;

查詢復(fù)制數(shù)據(jù)請求的發(fā)送者是否為本節(jié)點(diǎn)在指定的數(shù)據(jù)源地址分發(fā)樹中的子節(jié)點(diǎn),所述指定的數(shù)據(jù)源地址分發(fā)樹由數(shù)據(jù)源地址分發(fā)樹的標(biāo)識所確定,所述數(shù)據(jù)源地址分發(fā)樹的標(biāo)識由所述數(shù)據(jù)的標(biāo)識和本節(jié)點(diǎn)所在的組的標(biāo)識所確定;

若復(fù)制數(shù)據(jù)請求的發(fā)送者為本節(jié)點(diǎn)在指定的數(shù)據(jù)源地址分發(fā)樹中的子節(jié)點(diǎn),則向該復(fù)制數(shù)據(jù)請求的發(fā)送者發(fā)送其所請求的數(shù)據(jù)。

優(yōu)選地,所述查詢復(fù)制數(shù)據(jù)請求的發(fā)送者是否為本節(jié)點(diǎn)在指定的數(shù)據(jù)源地址分發(fā)樹中的子節(jié)點(diǎn)包括:

向數(shù)據(jù)源地址分發(fā)樹中心控制節(jié)點(diǎn)發(fā)送查詢本節(jié)點(diǎn)在指定的數(shù)據(jù)源地址分發(fā)樹中的親屬節(jié)點(diǎn)請求;

接收并存儲數(shù)據(jù)源地址分發(fā)樹中心控制節(jié)點(diǎn)發(fā)送的子節(jié)點(diǎn)信息;

優(yōu)選地,所述查詢復(fù)制數(shù)據(jù)請求的發(fā)送者是否為本節(jié)點(diǎn)在指定的數(shù)據(jù)源地址分發(fā)樹中的子節(jié)點(diǎn)包括:

查詢本節(jié)點(diǎn)存儲的本節(jié)點(diǎn)在指定的數(shù)據(jù)源地址分發(fā)樹中的子節(jié)點(diǎn)信息。

優(yōu)選地,用于分布式計算機(jī)系統(tǒng)內(nèi)各個節(jié)點(diǎn)的數(shù)據(jù)部署。

本申請?zhí)峁┑囊环N數(shù)據(jù)源地址分發(fā)樹的構(gòu)造裝置,包括以下單元:

接收單元,用于接收請求者發(fā)送的查詢所述請求者在指定的數(shù)據(jù)源地址分發(fā)樹中的親屬節(jié)點(diǎn)信息的請求,所述請求者由其標(biāo)識所確定,所述指定的數(shù)據(jù)源地址分發(fā)樹由數(shù)據(jù)源地址分發(fā)樹標(biāo)識所確定;

構(gòu)造單元,用于將所述請求者作為新節(jié)點(diǎn)加入所述數(shù)據(jù)源地址分發(fā)樹。

發(fā)送單元,用于將所述請求者對應(yīng)的節(jié)點(diǎn)的父節(jié)點(diǎn)和子節(jié)點(diǎn)的信息發(fā)送給所述請求者。

本申請?zhí)峁┑囊环N用于復(fù)制數(shù)據(jù)的裝置,包括以下單元:

獲取單元,用于獲取復(fù)制數(shù)據(jù)到本節(jié)點(diǎn)的請求,所述請求包括數(shù)據(jù)的標(biāo)識以及數(shù)據(jù)的原始地址;

獲得單元,用于獲得本節(jié)點(diǎn)在指定的數(shù)據(jù)源地址分發(fā)樹中的父節(jié)點(diǎn)信息, 所述指定的數(shù)據(jù)源地址分發(fā)樹由數(shù)據(jù)源地址分發(fā)樹的標(biāo)識所確定,所述數(shù)據(jù)源地址分發(fā)樹的標(biāo)識由所述數(shù)據(jù)的標(biāo)識和本節(jié)點(diǎn)所在的組的標(biāo)識所確定;

發(fā)送單元,用于根據(jù)本節(jié)點(diǎn)在指定的數(shù)據(jù)源地址分發(fā)樹中父節(jié)點(diǎn)的信息,發(fā)送相應(yīng)的復(fù)制所述數(shù)據(jù)的請求;

接收單元,用于接收所述數(shù)據(jù)到本節(jié)點(diǎn)。

本申請?zhí)峁┑囊环N更新本節(jié)點(diǎn)存儲的本節(jié)點(diǎn)在指定的數(shù)據(jù)源地址分發(fā)樹中的父節(jié)點(diǎn)信息的裝置,所述指定的數(shù)據(jù)源地址分發(fā)樹由數(shù)據(jù)源地址分發(fā)樹的標(biāo)識所確定,所述數(shù)據(jù)源地址分發(fā)樹的標(biāo)識由所述數(shù)據(jù)的標(biāo)識和所述請求者所在的組的標(biāo)識所確定,包括以下單元:

檢測單元,用于檢測到本節(jié)點(diǎn)存儲的本節(jié)點(diǎn)在指定的數(shù)據(jù)源地址分發(fā)樹中的父節(jié)點(diǎn)信息異常;

查詢單元,用于向數(shù)據(jù)源地址分發(fā)樹中心控制節(jié)點(diǎn)發(fā)送查詢本節(jié)點(diǎn)在所述數(shù)據(jù)源地址分發(fā)樹中的親屬節(jié)點(diǎn)信息的請求;

接收單元,用于接收數(shù)據(jù)源地址分發(fā)樹中心控制節(jié)點(diǎn)發(fā)送的本節(jié)點(diǎn)在所述數(shù)據(jù)源地址分發(fā)樹中的父節(jié)點(diǎn)的信息;

更新單元,用于用數(shù)據(jù)源地址分發(fā)樹中心控制節(jié)點(diǎn)發(fā)送的本節(jié)點(diǎn)在所述數(shù)據(jù)源地址分發(fā)樹中的父節(jié)點(diǎn)更新本節(jié)點(diǎn)存儲的本節(jié)點(diǎn)在所述數(shù)據(jù)源地址分發(fā)樹中的父節(jié)點(diǎn)信息。

本申請?zhí)峁┑囊环N用于數(shù)據(jù)發(fā)送的裝置,包括以下單元:

接收單元,用于接收請求者發(fā)送的復(fù)制數(shù)據(jù)請求,所述數(shù)據(jù)由數(shù)據(jù)的標(biāo)識所確定;

查詢單元,用于查詢復(fù)制數(shù)據(jù)請求的發(fā)送者是否為本節(jié)點(diǎn)在指定的數(shù)據(jù)源地址分發(fā)樹中的子節(jié)點(diǎn),所述指定的數(shù)據(jù)源地址分發(fā)樹由數(shù)據(jù)源地址分發(fā)樹的標(biāo)識所確定,所述數(shù)據(jù)源地址分發(fā)樹的標(biāo)識由所述數(shù)據(jù)的標(biāo)識和本節(jié)點(diǎn)所在的組的標(biāo)識所確定;

發(fā)送單元,用于若復(fù)制數(shù)據(jù)請求的發(fā)送者為本節(jié)點(diǎn)在指定的數(shù)據(jù)源地址分發(fā)樹中的子節(jié)點(diǎn),則向該復(fù)制數(shù)據(jù)請求的發(fā)送者發(fā)送其所請求的數(shù)據(jù)。

本申請?zhí)峁┑囊环N數(shù)據(jù)源地址分發(fā)系統(tǒng),包括本申請?zhí)峁┑囊环N數(shù)據(jù)源地址分發(fā)樹的構(gòu)造裝置、本申請?zhí)峁┑囊环N用于復(fù)制數(shù)據(jù)的裝置、本申請?zhí)峁┑囊环N更新本節(jié)點(diǎn)存儲的本節(jié)點(diǎn)在指定的數(shù)據(jù)源地址分發(fā)樹中的父節(jié)點(diǎn)信息的裝置和本申請?zhí)峁┑囊环N用于數(shù)據(jù)發(fā)送的裝置;所述裝置之間通過通信網(wǎng)絡(luò)連接。

與現(xiàn)有技術(shù)相比,本申請?zhí)峁┑囊环N數(shù)據(jù)源地址分發(fā)樹的構(gòu)造方法具有以下優(yōu)點(diǎn):

本申請?zhí)峁┑囊环N數(shù)據(jù)源地址分發(fā)樹的構(gòu)造方法構(gòu)造的數(shù)據(jù)源地址分發(fā)樹以需要復(fù)制的數(shù)據(jù)的標(biāo)識和查詢者(也即需要復(fù)制數(shù)據(jù)的節(jié)點(diǎn))所在的組的標(biāo)識所確定,僅僅存儲該組內(nèi)各個節(jié)點(diǎn)的相互關(guān)系(其中查詢者節(jié)點(diǎn)的父節(jié)點(diǎn)即為其復(fù)制所述數(shù)據(jù)所指定的數(shù)據(jù)源地址),這樣即便對于大型的網(wǎng)絡(luò)來說,所需存儲的數(shù)據(jù)量不大,完全能夠部署在一個節(jié)點(diǎn)內(nèi)。節(jié)省了中心化的數(shù)據(jù)源地址管理節(jié)點(diǎn)的存儲空間,使得大型的分布式系統(tǒng)也可以采用中心化的數(shù)據(jù)源地址分發(fā)方式。

所述數(shù)據(jù)源地址分發(fā)樹的建立和各個節(jié)點(diǎn)的加入都由需要復(fù)制數(shù)據(jù)的節(jié)點(diǎn)進(jìn)行查詢觸發(fā),因此不必預(yù)先為所有的數(shù)據(jù)源分發(fā)請求做好規(guī)劃。

由此可見,與現(xiàn)有技術(shù)相比本申請?zhí)峁┑囊环N數(shù)據(jù)源地址分發(fā)樹的構(gòu)造方法,達(dá)到了節(jié)省數(shù)據(jù)源地址存儲空間,簡化數(shù)據(jù)源地址存儲結(jié)構(gòu),并且能夠動態(tài)地適應(yīng)網(wǎng)絡(luò)內(nèi)節(jié)點(diǎn)變化的情況的效果,起到降低運(yùn)行維護(hù)的成本,對節(jié)點(diǎn)變化的適應(yīng)性更加靈活的作用。

與現(xiàn)有技術(shù)相比,本申請?zhí)峁┑囊环N用于復(fù)制數(shù)據(jù)的方法具有以下優(yōu)點(diǎn):以所需復(fù)制的數(shù)據(jù)的標(biāo)識和本節(jié)點(diǎn)所在組的標(biāo)識查詢本節(jié)點(diǎn)的父節(jié)點(diǎn)信息,根據(jù)本節(jié)點(diǎn)在指定的數(shù)據(jù)源地址分發(fā)樹中父節(jié)點(diǎn)的信息,發(fā)送相應(yīng)的復(fù)制所述數(shù)據(jù)的請求。而查詢者不同其對應(yīng)節(jié)點(diǎn)的父節(jié)點(diǎn)信息也可以不同。

由此可見,與現(xiàn)有技術(shù)相比,本申請?zhí)峁┑囊环N復(fù)制數(shù)據(jù)的方法不僅起到避免大量節(jié)點(diǎn)從同一數(shù)據(jù)源復(fù)制數(shù)據(jù)對網(wǎng)絡(luò)造成擁堵的作用,還將絕大多數(shù)復(fù)制相同數(shù)據(jù)的操作限定在本節(jié)點(diǎn)所在的組內(nèi),達(dá)到減少對網(wǎng)絡(luò)上其他節(jié)點(diǎn)的影響的效果。

同時由于無需對網(wǎng)絡(luò)上需要復(fù)制數(shù)據(jù)的節(jié)點(diǎn)做預(yù)先的規(guī)劃,使得動態(tài)地增加節(jié)點(diǎn)或減少節(jié)點(diǎn)都能夠新型復(fù)制數(shù)據(jù)的操作。達(dá)到提高業(yè)務(wù)系統(tǒng)可擴(kuò)展性的效果。

與現(xiàn)有技術(shù)相比,本申請?zhí)峁┑囊环N更新本節(jié)點(diǎn)存儲的本節(jié)點(diǎn)在指定的數(shù)據(jù)源地址分發(fā)樹中的父節(jié)點(diǎn)信息的方法具有以下優(yōu)點(diǎn):起到提高復(fù)制數(shù)據(jù)操作的可靠性和安全性的作用。

與現(xiàn)有技術(shù)相比,本申請?zhí)峁┑囊环N數(shù)據(jù)發(fā)送方法具有以下優(yōu)點(diǎn):起到提 高復(fù)制數(shù)據(jù)操作安全性的效果。

與現(xiàn)有技術(shù)相比,本申請?zhí)峁┑囊环N數(shù)據(jù)源地址分發(fā)系統(tǒng)具有以下優(yōu)點(diǎn):達(dá)到簡化網(wǎng)絡(luò)結(jié)構(gòu),避免網(wǎng)絡(luò)擁堵的效果;起到減少對非組內(nèi)節(jié)點(diǎn)影響的作用;達(dá)到提高復(fù)制數(shù)據(jù)操作的可靠性和安全性的作用;并且能夠動態(tài)地適應(yīng)網(wǎng)絡(luò)內(nèi)節(jié)點(diǎn)變化的情況的效果,達(dá)到降低運(yùn)行維護(hù)的成本,提高業(yè)務(wù)系統(tǒng)可擴(kuò)展性的效果。

附圖說明

圖1為本申請第一實施例一種數(shù)據(jù)源地址分發(fā)樹的構(gòu)造方法的流程示意圖。

圖2為本申請第一實施例一種數(shù)據(jù)源地址分發(fā)樹的構(gòu)造方法中數(shù)據(jù)源地址分發(fā)樹中存在一個僅有左子節(jié)點(diǎn)的存儲節(jié)點(diǎn)的情況的示意圖。

圖3為本申請第一實施例一種數(shù)據(jù)源地址分發(fā)樹的構(gòu)造方法中數(shù)據(jù)源地址分發(fā)樹中不存在僅有左子節(jié)點(diǎn)的存儲節(jié)點(diǎn)的情況的示意圖。

圖4為本申請第一實施例中存儲節(jié)點(diǎn)調(diào)整步驟和第二實施例一種用于復(fù)制數(shù)據(jù)的方法中以及第三實施例一種更新本節(jié)點(diǎn)存儲的本節(jié)點(diǎn)在指定的數(shù)據(jù)源地址分發(fā)樹中的父節(jié)點(diǎn)信息的方法中的數(shù)據(jù)源地址分發(fā)樹示意圖。

圖5為本申請第二實施例一種用于復(fù)制數(shù)據(jù)的方法的流程示意圖。

圖6為本申請第三實施例一種更新本節(jié)點(diǎn)存儲的本節(jié)點(diǎn)在指定的數(shù)據(jù)源地址分發(fā)樹中的父節(jié)點(diǎn)信息的方法的流程示意圖。

圖7為本申請第四實施例一種用于數(shù)據(jù)發(fā)送的方法的流程示意圖。

圖8為本申請第五實施例一種數(shù)據(jù)源地址分發(fā)樹的構(gòu)造裝置的結(jié)構(gòu)框圖。

圖9為本申請第六實施例一種用于復(fù)制數(shù)據(jù)的裝置的結(jié)構(gòu)框圖。

圖10為本申請第七實施例一種更新本節(jié)點(diǎn)存儲的本節(jié)點(diǎn)在指定的數(shù)據(jù)源地址分發(fā)樹中的父節(jié)點(diǎn)信息的裝置的結(jié)構(gòu)框圖。

圖11為本申請第八實施例一種用于數(shù)據(jù)發(fā)送的裝置的結(jié)構(gòu)框圖。

圖12為本申請第九實施例一種數(shù)據(jù)源地址分發(fā)系統(tǒng)的結(jié)構(gòu)示意圖。

具體實施方式

在下面的描述中闡述了很多具體細(xì)節(jié)以便于充分理解本申請。但是本申請能夠以很多不同于在此描述的其它方式來實施,本領(lǐng)域技術(shù)人員可以在不違背 本申請內(nèi)涵的情況下做類似推廣,因此本申請不受下面公開的具體實施的限制。

本申請第一實施例提供一種數(shù)據(jù)源地址分發(fā)樹的構(gòu)造方法,其流程示意圖如圖1所示,該實施例包括以下步驟:

步驟s101,接收請求者發(fā)送的查詢所述請求者在指定的數(shù)據(jù)源地址分發(fā)樹中的親屬節(jié)點(diǎn)信息的請求,所述請求者由其標(biāo)識所確定,所述指定的數(shù)據(jù)源地址分發(fā)樹由數(shù)據(jù)源地址分發(fā)樹標(biāo)識所確定。

數(shù)據(jù)源地址分發(fā)樹構(gòu)造節(jié)點(diǎn)收到請求者向其發(fā)送的查詢請求,請求查詢所述請求者在指定的數(shù)據(jù)源地址分發(fā)樹中的親屬節(jié)點(diǎn)信息。

所述請求者由其標(biāo)識所確定,所述標(biāo)識可以采用所述請求者的ip地址或其名稱,本申請的實施例中以所述請求者的ip地址為例進(jìn)行說明。

所述親屬節(jié)點(diǎn)信息指在數(shù)據(jù)源地址分發(fā)樹中,與存儲所述請求者的節(jié)點(diǎn)直接相連的節(jié)點(diǎn)所存儲的信息,如父節(jié)點(diǎn)所存儲的節(jié)點(diǎn)標(biāo)識,子節(jié)點(diǎn)(包括左子節(jié)點(diǎn)和右子節(jié)點(diǎn))所存儲的節(jié)點(diǎn)的標(biāo)識等。節(jié)點(diǎn)的標(biāo)識指在網(wǎng)絡(luò)中能夠唯一表征該節(jié)點(diǎn)的信息,可以是節(jié)點(diǎn)名稱或節(jié)點(diǎn)的ip地址。在申請的本實施例中以節(jié)點(diǎn)的ip地址為例進(jìn)行相應(yīng)的說明。

所述的數(shù)據(jù)源地址分發(fā)樹的標(biāo)識可以是其所存儲的位置或其名稱,該名稱包括在網(wǎng)絡(luò)中標(biāo)識所述請求者所在的組的標(biāo)識和其所請求的數(shù)據(jù)的標(biāo)識,如可以采用集群的名稱和所請求的數(shù)據(jù)(或軟件)的名稱共同構(gòu)成。

進(jìn)一步地,采用集群的名稱和所請求的數(shù)據(jù)(或軟件)的名稱共同構(gòu)成的數(shù)據(jù)源地址分發(fā)樹的標(biāo)識能夠在所述的網(wǎng)絡(luò)中唯一地表征所述的請求者所在的集群和其所請求的數(shù)據(jù)或軟件。這樣能夠?qū)⒄埱笳叩牟樵兛焖佟⑽ㄒ坏囟ㄎ坏较鄳?yīng)的數(shù)據(jù)源地址分發(fā)樹而無需做進(jìn)一步的區(qū)分,起到簡化流程的效果。

本實施例中以數(shù)據(jù)源地址分發(fā)樹的標(biāo)識為其名稱為例進(jìn)行說明,該名稱以所述請求者所在的網(wǎng)絡(luò)集群的名稱(如aaaaa)和所請求的數(shù)據(jù)(或軟件)的名稱(如bbbbb)共同構(gòu)成,如“aaaaa/bbbbb”。

步驟s102,將所述請求者作為新節(jié)點(diǎn)加入所述數(shù)據(jù)源地址分發(fā)樹。

將所述請求者作為新節(jié)點(diǎn)加入所述數(shù)據(jù)源地址分發(fā)樹可以采用以下的方式:

判斷是否存在所述數(shù)據(jù)源地址分發(fā)樹。

根據(jù)所述數(shù)據(jù)源地址分發(fā)樹的標(biāo)識“aaaaa/bbbbb”,判斷當(dāng)前是否存在所述請求者查詢的指定的數(shù)據(jù)源地址分發(fā)樹。

如果當(dāng)前不存在所述請求者查詢的數(shù)據(jù)源地址分發(fā)樹,則建立一棵數(shù)據(jù)源地址分發(fā)樹,該樹的名稱為所述請求者所請求查詢的數(shù)據(jù)源地址分發(fā)樹的名稱即“aaaaa/bbbbb”,該樹的根節(jié)點(diǎn)存儲所述請求者的ip地址(如15.170.170.1),其父節(jié)點(diǎn)和子節(jié)點(diǎn)皆為空。

如果當(dāng)前存在所述請求者查詢的數(shù)據(jù)源地址分發(fā)樹“aaaaa/bbbbb”,根據(jù)所述請求者的ip地址判斷所述的數(shù)據(jù)源地址分發(fā)樹“aaaaa/bbbbb”中是否存在節(jié)點(diǎn),其存儲的內(nèi)容為該請求者的ip地址(如15.170.170.1)。

如果所述的數(shù)據(jù)源地址分發(fā)樹“aaaaa/bbbbb”中不存在存儲的內(nèi)容為該請求者的ip地址的節(jié)點(diǎn),則為所述的數(shù)據(jù)源地址分發(fā)樹增加一個新的存儲節(jié)點(diǎn),該存儲節(jié)點(diǎn)存儲所述的請求者的ip地址。將該存儲節(jié)點(diǎn)加入所述的數(shù)據(jù)源地址分發(fā)樹“aaaaa/bbbbb”中。

將該節(jié)點(diǎn)加入所述的數(shù)據(jù)源地址分發(fā)樹中的方式與所述數(shù)據(jù)源地址分發(fā)樹的類型相對應(yīng),在本實施例中優(yōu)選地將數(shù)據(jù)源地址分發(fā)樹構(gòu)造為完全二叉樹。完全二叉樹的主要特點(diǎn)包括:除了葉子節(jié)點(diǎn),該二叉樹的其他節(jié)點(diǎn)一定有子節(jié)點(diǎn),并且,最后一層(從根節(jié)點(diǎn)數(shù))只可能是左邊是滿的,右邊有空的。這樣的數(shù)據(jù)源地址分發(fā)樹結(jié)構(gòu)簡單,調(diào)整方便,維護(hù)容易。

本實施例中,將新增加的存儲所述請求者的存儲節(jié)點(diǎn)加入所述的數(shù)據(jù)源地址分發(fā)樹“aaaaa/bbbbb”的最后一層(本申請的實施例中數(shù)據(jù)源地址分發(fā)樹的層數(shù)從根節(jié)點(diǎn)開始數(shù)),即對于所述的數(shù)據(jù)源地址分發(fā)樹“aaaaa/bbbbb”,若存在僅有左子節(jié)點(diǎn)而無右子節(jié)點(diǎn)的存儲節(jié)點(diǎn)的情況,將該僅有左子節(jié)點(diǎn)而無有子節(jié)點(diǎn)的存儲節(jié)點(diǎn)作為新增加的存儲節(jié)點(diǎn)的父節(jié)點(diǎn),將該新增加的存儲節(jié)點(diǎn)作為該僅有左子節(jié)點(diǎn)而無有子節(jié)點(diǎn)的存儲節(jié)點(diǎn)的右子節(jié)點(diǎn)。

若該數(shù)據(jù)源地址分發(fā)樹不存在僅有左子節(jié)點(diǎn)的存儲節(jié)點(diǎn)時,將位于該樹倒數(shù)第二層的最左側(cè)的沒有子節(jié)點(diǎn)的存儲節(jié)點(diǎn)作為該新增加的存儲節(jié)點(diǎn)的父節(jié)點(diǎn),將該新增加的存儲節(jié)點(diǎn)作為其父節(jié)點(diǎn)的左子節(jié)點(diǎn);若所述的數(shù)據(jù)源地址分發(fā)樹“aaaaa/bbbbb”倒數(shù)第二層不存在沒有子節(jié)點(diǎn)的存儲節(jié)點(diǎn),則將位于該樹最后一層的最左側(cè)的沒有子節(jié)點(diǎn)的存儲節(jié)點(diǎn)作為該新增加的存儲節(jié)點(diǎn)的父節(jié)點(diǎn),將該新增加的節(jié)點(diǎn)作為其父節(jié)點(diǎn)的左子節(jié)點(diǎn)。

例如對于僅有一個根節(jié)點(diǎn)(本步驟中前述的存儲所述請求者ip:15.170.170.1的存儲節(jié)點(diǎn))的數(shù)據(jù)源地址分發(fā)樹“aaaaa/bbbbb”的情況,當(dāng)收到請求者15.170.170.2的查詢請求后,在所述數(shù)據(jù)源地址分發(fā)樹“aaaaa/bbbbb” 的根節(jié)點(diǎn)下新增加一個左子節(jié)點(diǎn),存儲15.170.170.2。

再例對于如圖2所示的情況,數(shù)據(jù)源地址分發(fā)樹“aaaaa/bbbbb”中存在一個僅有左子節(jié)點(diǎn)的存儲節(jié)點(diǎn),即存儲了15.170.170.2的存儲節(jié)點(diǎn),請求者15.170.170.5請求查詢圖2中所示的左側(cè)的數(shù)據(jù)源地址分發(fā)樹“aaaaa/bbbbb”,則增加一個存儲節(jié)點(diǎn),存儲15.170.170.5,將該存儲了15.170.170.5的新增加的存儲節(jié)點(diǎn)作為存儲了15.170.170.2的存儲節(jié)點(diǎn)的右子節(jié)點(diǎn)。

類似的,對于如圖3所示的情況,數(shù)據(jù)源地址分發(fā)樹“aaaaa/bbbbb”中不存在僅有左子節(jié)點(diǎn)的存儲節(jié)點(diǎn),請求者15.170.170.6請求查詢圖3中所示左側(cè)的數(shù)據(jù)源地址分發(fā)樹“aaaaa/bbbbb”,則增加一個存儲節(jié)點(diǎn),存儲15.170.170.6,將該存儲了15.170.170.6的新增加的存儲節(jié)點(diǎn)作為存儲了15.170.170.3的存儲節(jié)點(diǎn)的左子節(jié)點(diǎn)。

步驟s103,將所述請求者對應(yīng)的節(jié)點(diǎn)的父節(jié)點(diǎn)和子節(jié)點(diǎn)的信息發(fā)送給所述請求者。

對于由于不存在所述請求者查詢的數(shù)據(jù)源地址分發(fā)樹而以所述請求者作為根節(jié)點(diǎn)新建立了一棵數(shù)據(jù)源地址分發(fā)樹的情況,將所述根節(jié)點(diǎn)的父節(jié)點(diǎn)和子節(jié)點(diǎn)為空的信息發(fā)送給所述的請求者。

對于圖2所示的情況,將所述新節(jié)點(diǎn)的父節(jié)點(diǎn)存儲15.170.170.2以及其子節(jié)點(diǎn)為空的信息發(fā)送給15.170.170.5。

對于圖3所示的情況,將所述新節(jié)點(diǎn)的父節(jié)點(diǎn)存儲了15.170.170.3以及其子節(jié)點(diǎn)為空的信息發(fā)送給15.170.170.6。

如果所述的數(shù)據(jù)源地址分發(fā)樹“aaaaa/bbbbb”中存在存儲的內(nèi)容為該請求者的ip地址的存儲節(jié)點(diǎn),如請求者15.170.170.2查詢圖4所示左側(cè)的數(shù)據(jù)源地址分發(fā)樹“aaaaa/bbbbb”,則將存儲了15.170.170.2的存儲節(jié)點(diǎn)的父節(jié)點(diǎn)存儲的15.170.170.1以及其子節(jié)點(diǎn)分別存儲15.170.170.4和15.170.170.5的信息發(fā)送給請求者15.170.170.2。

除了上述構(gòu)造數(shù)據(jù)源地址分發(fā)樹的步驟外,優(yōu)選地,本實施例還提供所述的數(shù)據(jù)源地址分發(fā)樹的存儲節(jié)點(diǎn)調(diào)整步驟,以圖4所示的數(shù)據(jù)源地址分發(fā)樹“aaaaa/bbbbb”為例,所述步驟如下:

步驟一,接收請求者發(fā)送的所述請求者在指定的數(shù)據(jù)源地址分發(fā)樹中的父節(jié)點(diǎn)失效的信息,所述指定的數(shù)據(jù)源地址分發(fā)樹由數(shù)據(jù)源地址分發(fā)樹標(biāo)識所確定。

例如收到請求者發(fā)送的其在如圖4所示的數(shù)據(jù)源地址分發(fā)樹“aaaaa/bbbbb”中的父節(jié)點(diǎn)失效信息。下面將針對不同的情況進(jìn)行相應(yīng)的說明。

步驟二,根據(jù)所述請求者發(fā)送的所述請求者在指定的數(shù)據(jù)源地址分發(fā)樹中的父節(jié)點(diǎn)信息,調(diào)整所述數(shù)據(jù)源地址分發(fā)樹的存儲節(jié)點(diǎn)。

所述根據(jù)所述請求者發(fā)送的所述請求者在指定的數(shù)據(jù)源地址分發(fā)樹中的父節(jié)點(diǎn)信息,調(diào)整所述數(shù)據(jù)源地址分發(fā)樹的存儲節(jié)點(diǎn)可以采用以下的方式:

判斷所述數(shù)據(jù)源地址分發(fā)樹中是否存在所述請求者對應(yīng)的節(jié)點(diǎn)。

若所述數(shù)據(jù)源地址分發(fā)樹中不存在所述請求者對應(yīng)的節(jié)點(diǎn),則將該請求者作為一個新節(jié)點(diǎn)加入所述數(shù)據(jù)源地址分發(fā)樹,并將該新節(jié)點(diǎn)的父節(jié)點(diǎn)和子節(jié)點(diǎn)信息發(fā)送給所述請求者。

例如,對于收到15.170.170.7發(fā)送的其在數(shù)據(jù)源地址分發(fā)樹“aaaaa/bbbbb”中的父節(jié)點(diǎn)失效的情況,圖4所示的數(shù)據(jù)源地址分發(fā)樹“aaaaa/bbbbb”中不存在存儲所述請求者15.170.170.7的存儲節(jié)點(diǎn),則將請求者15.170.170.7加入所述數(shù)據(jù)源地址分發(fā)樹“aaaaa/bbbbb”中,優(yōu)選地,可以按照步驟s102中所述的方法將請求者15.170.170.7加入所述數(shù)據(jù)源地址分發(fā)樹“aaaaa/bbbbb”中。

若所述數(shù)據(jù)源地址分發(fā)樹中存在所述請求者對應(yīng)的節(jié)點(diǎn),則,根據(jù)在所述數(shù)據(jù)源地址分發(fā)樹中該請求者對應(yīng)的節(jié)點(diǎn)的父節(jié)點(diǎn)是否與該請求者發(fā)送的失效的父節(jié)點(diǎn)一致的情況調(diào)整所述數(shù)據(jù)源地址分發(fā)樹的存儲節(jié)點(diǎn)。

例如,對于收到請求者發(fā)送的其在數(shù)據(jù)源地址分發(fā)樹“aaaaa/bbbbb”中的父節(jié)點(diǎn)失效的情況,所述的數(shù)據(jù)源地址分發(fā)樹“aaaaa/bbbbb”中存在存儲了所述請求者的存儲節(jié)點(diǎn),這時判斷該請求者發(fā)送的父節(jié)點(diǎn)失效信息中的父節(jié)點(diǎn)是否與所述的數(shù)據(jù)源地址分發(fā)樹“aaaaa/bbbbb”中存儲了該請求者的存儲節(jié)點(diǎn)的父節(jié)點(diǎn)所存儲的節(jié)點(diǎn)信息一致。

對于在所述數(shù)據(jù)源地址分發(fā)樹中該請求者對應(yīng)的節(jié)點(diǎn)的父節(jié)點(diǎn)與該請求者發(fā)送的失效的父節(jié)點(diǎn)不一致的情況,,則將所述數(shù)據(jù)源地址分發(fā)樹中該請求者對應(yīng)的節(jié)點(diǎn)的父節(jié)點(diǎn)信息發(fā)送給該所述請求者。

例如請求者15.170.170.4發(fā)送的父節(jié)點(diǎn)失效信息中的其父節(jié)點(diǎn)為15.170.170.7,而所述的數(shù)據(jù)源地址分發(fā)樹“aaaaa/bbbbb”中存儲所述請求者15.170.170.4的存儲節(jié)點(diǎn)的父節(jié)點(diǎn)存儲的節(jié)點(diǎn)為15.170.170.2,兩者不一致,則將所述的數(shù)據(jù)源地址分發(fā)樹“aaaaa/bbbbb”中存儲請求者15.170.170.4的 存儲節(jié)點(diǎn)的父節(jié)點(diǎn)存儲15.170.170.2的信息發(fā)送給請求者15.170.170.4。

對于在所述數(shù)據(jù)源地址分發(fā)樹中該請求者對應(yīng)的節(jié)點(diǎn)的父節(jié)點(diǎn)與該請求者發(fā)送的失效的父節(jié)點(diǎn)一致的情況,則,判斷所述數(shù)據(jù)源地址分發(fā)樹中是否存在有效的葉子節(jié)點(diǎn)。

例如請求者15.170.170.4發(fā)送的父節(jié)點(diǎn)失效信息中其父節(jié)點(diǎn)為15.170.170.2,而所述的數(shù)據(jù)源地址分發(fā)樹“aaaaa/bbbbb”中存儲請求者15.170.170.4的存儲節(jié)點(diǎn)的父節(jié)點(diǎn)存儲的節(jié)點(diǎn)為15.170.170.2,兩者一致,則根據(jù)所述數(shù)據(jù)源地址分發(fā)樹中是否存在有效的葉子節(jié)點(diǎn),調(diào)整所述數(shù)據(jù)源地址分發(fā)樹的存儲節(jié)點(diǎn)。

對于數(shù)據(jù)源地址分發(fā)樹“aaaaa/bbbbb”中存在的有效的葉子節(jié)點(diǎn)的情況,將所述請求者對應(yīng)的節(jié)點(diǎn)的父節(jié)點(diǎn)標(biāo)記為失效并與所述有效的葉子節(jié)點(diǎn)交換位置,并將此時所述請求者對應(yīng)的節(jié)點(diǎn)的父節(jié)點(diǎn)信息發(fā)送給所述請求者。

例如,數(shù)據(jù)源地址分發(fā)樹“aaaaa/bbbbb”中存在的有效的葉子節(jié)點(diǎn),該葉子節(jié)點(diǎn)存儲15.170.170.6,將該存儲節(jié)點(diǎn)與存儲請求者15.170.170.4的存儲節(jié)點(diǎn)的父節(jié)點(diǎn)(存儲15.170.170.2)對調(diào)位置,同時標(biāo)記存儲15.170.170.2的存儲節(jié)點(diǎn)為失效的存儲節(jié)點(diǎn),將存儲請求者15.170.170.4的存儲節(jié)點(diǎn)的父節(jié)點(diǎn)存儲15.170.170.6的信息發(fā)送給請求者15.170.170.4。

對于數(shù)據(jù)源地址分發(fā)樹“aaaaa/bbbbb”中不存在的有效的葉子節(jié)點(diǎn)的情況,刪除所述數(shù)據(jù)源地址分發(fā)樹,將所述請求者作為根節(jié)點(diǎn),以被刪除的數(shù)據(jù)源地址分發(fā)樹的標(biāo)識建立一棵數(shù)據(jù)源地址分發(fā)樹,并將該根節(jié)點(diǎn)的父節(jié)點(diǎn)的信息發(fā)送給所述請求者。

例如,對于圖4中所示的數(shù)據(jù)源地址分發(fā)樹“aaaaa/bbbbb”當(dāng)收到15.170.170.2發(fā)送的其父節(jié)點(diǎn)15.170.170.1失效的信息,此時,若數(shù)據(jù)源地址分發(fā)樹“aaaaa/bbbbb”中不存在有效的葉子節(jié)點(diǎn)(圖4所示的數(shù)據(jù)源地址分發(fā)樹“aaaaa/bbbbb”的葉子節(jié)點(diǎn)15.170.170.4,15.170.170.5和15.170.170.6都失效),則刪除數(shù)據(jù)源地址分發(fā)樹“aaaaa/bbbbb”,以請求者15.170.170.2為根節(jié)點(diǎn)建立一棵名為“aaaaa/bbbbb”的數(shù)據(jù)源地址分發(fā)樹,并將其父節(jié)點(diǎn)為空的信息發(fā)送給請求者15.170.170.2。

本實施例提供的方法不僅可以用于網(wǎng)絡(luò)中普通的數(shù)據(jù)復(fù)制時數(shù)據(jù)源地址的分發(fā),由于在分布式系統(tǒng)內(nèi)多個節(jié)點(diǎn)部署相同的數(shù)據(jù)的情況更為突出,優(yōu)選地,本實施例提供的方法可以用于大型分布式計算機(jī)系統(tǒng)內(nèi)各節(jié)點(diǎn)上的數(shù)據(jù)部署, 為大型分布式計算機(jī)系統(tǒng)內(nèi)各節(jié)點(diǎn)部署數(shù)據(jù)構(gòu)造數(shù)據(jù)源地址分發(fā)樹,從而能夠起到節(jié)省存儲空間,靈活添加或減少節(jié)點(diǎn)的作用。

以上為本申請的一種數(shù)據(jù)源地址分發(fā)樹的構(gòu)造方法的實施例,該方法能夠達(dá)到節(jié)省存儲空間,簡化數(shù)據(jù)源地址存儲結(jié)構(gòu)的效果,使得單一節(jié)點(diǎn)可存儲的數(shù)據(jù)源地址數(shù)量大大增加,并且能夠達(dá)到動態(tài)地適應(yīng)網(wǎng)絡(luò)內(nèi)節(jié)點(diǎn)變化的情況的效果,起到降低運(yùn)行維護(hù)的成本,對節(jié)點(diǎn)變化的適應(yīng)性更加靈活的作用。

相應(yīng)的,本申請的第二實施例提供一種用于復(fù)制數(shù)據(jù)的方法,其流程圖如圖5所示,包括如下步驟:

步驟s201,獲取復(fù)制數(shù)據(jù)到本節(jié)點(diǎn)的請求,所述請求包括數(shù)據(jù)的標(biāo)識以及數(shù)據(jù)的原始地址。

網(wǎng)絡(luò)中的節(jié)點(diǎn)收到進(jìn)行復(fù)制數(shù)據(jù)的請求,請求中包含所要復(fù)制數(shù)據(jù)的標(biāo)識如數(shù)據(jù)的名稱,和數(shù)據(jù)所存儲位置的原始地址,如某個用于存儲相應(yīng)數(shù)據(jù)的服務(wù)器的名稱或ip地址。

步驟s202,獲得本節(jié)點(diǎn)在指定的數(shù)據(jù)源地址分發(fā)樹中的父節(jié)點(diǎn)信息,所述指定的數(shù)據(jù)源地址分發(fā)樹由數(shù)據(jù)源地址分發(fā)樹的標(biāo)識所確定,所述數(shù)據(jù)源地址分發(fā)樹的標(biāo)識由所述數(shù)據(jù)的標(biāo)識和本節(jié)點(diǎn)所在的組的標(biāo)識所確定。

查詢本節(jié)點(diǎn)在由所述數(shù)據(jù)的標(biāo)識(如“bbbbb”)和本節(jié)點(diǎn)所在的組的標(biāo)識(如“aaaaa”)相結(jié)合所確定的數(shù)據(jù)源地址分發(fā)樹(如“aaaaa/bbbbb”),獲得本節(jié)點(diǎn)在其中的父節(jié)點(diǎn)信息。

優(yōu)選地,數(shù)據(jù)的標(biāo)識(如“bbbbb”)和本節(jié)點(diǎn)所在的組的標(biāo)識(如“aaaaa”)相結(jié)合可以唯一地確定數(shù)據(jù)源地址分發(fā)樹。從而可以避免由于結(jié)合的方法不當(dāng)導(dǎo)致的不同的標(biāo)識對應(yīng)相同的數(shù)據(jù)源地址分發(fā)樹的情況,達(dá)到快速準(zhǔn)確確定數(shù)據(jù)源地址分發(fā)樹的效果。

獲得本節(jié)點(diǎn)在指定的數(shù)據(jù)源地址分發(fā)樹中的父節(jié)點(diǎn)信息的方式可以包括以下兩種:

方式一,向數(shù)據(jù)源地址分發(fā)樹中心控制節(jié)點(diǎn)發(fā)送查詢本節(jié)點(diǎn)在指定的數(shù)據(jù)源地址分發(fā)樹中的親屬節(jié)點(diǎn)信息的請求。接收數(shù)據(jù)源地址分發(fā)樹中心控制節(jié)點(diǎn)發(fā)送的本節(jié)點(diǎn)在所述數(shù)據(jù)源地址分發(fā)樹中無父節(jié)點(diǎn)的信息并存儲到本節(jié)點(diǎn)。

從數(shù)據(jù)源地址分發(fā)樹中心控制節(jié)點(diǎn)查詢并獲取本節(jié)點(diǎn)在指定的數(shù)據(jù)源地址分發(fā)樹中的親屬節(jié)點(diǎn)信息能夠保證查詢結(jié)果的準(zhǔn)確性。

方式二,查詢獲得本節(jié)點(diǎn)存儲的本節(jié)點(diǎn)在指定的數(shù)據(jù)源地址分發(fā)樹中的父 節(jié)點(diǎn)信息。

從本節(jié)點(diǎn)獲取存儲的本節(jié)點(diǎn)在指定的數(shù)據(jù)源地址分發(fā)樹中的父節(jié)點(diǎn)信息能夠更快速得獲得所查詢的結(jié)果。

步驟s203,根據(jù)本節(jié)點(diǎn)在指定的數(shù)據(jù)源地址分發(fā)樹中父節(jié)點(diǎn)的信息,發(fā)送相應(yīng)的復(fù)制所述數(shù)據(jù)的請求。

以圖4中的數(shù)據(jù)源地址分發(fā)樹為例。

若本節(jié)點(diǎn)在指定的數(shù)據(jù)源地址分發(fā)樹中存在父節(jié)點(diǎn),則向獲得的所述本節(jié)點(diǎn)在指定的數(shù)據(jù)源地址分發(fā)樹中的父節(jié)點(diǎn)發(fā)送復(fù)制所述數(shù)據(jù)的請求。

對于查詢到本節(jié)點(diǎn)在所述數(shù)據(jù)源地址分發(fā)樹中存在有父節(jié)點(diǎn)的情況,如本節(jié)點(diǎn)為15.170.170.4,在數(shù)據(jù)源地址分發(fā)樹“aaaaa/bbbbb”中存儲其的存儲節(jié)點(diǎn)的父節(jié)點(diǎn)存儲的節(jié)點(diǎn)為15.170.170.2,則向節(jié)點(diǎn)15.170.170.2發(fā)送復(fù)制所述數(shù)據(jù)“bbbbb”的請求。

若本節(jié)點(diǎn)在指定的數(shù)據(jù)源地址分發(fā)樹中不存在父節(jié)點(diǎn),則向復(fù)制數(shù)據(jù)到本節(jié)點(diǎn)的請求中所包含的數(shù)據(jù)的原始地址發(fā)送復(fù)制所述數(shù)據(jù)的請求。

對于查詢到本節(jié)點(diǎn)在所述數(shù)據(jù)源地址分發(fā)樹中不存在父節(jié)點(diǎn)的情況,如本節(jié)點(diǎn)為15.170.170.1,在數(shù)據(jù)源地址分發(fā)樹“aaaaa/bbbbb”中存儲其的存儲節(jié)點(diǎn)為根節(jié)點(diǎn),其父節(jié)點(diǎn)為空,則向復(fù)制數(shù)據(jù)到節(jié)點(diǎn)的請求中所包含的數(shù)據(jù)的原始地址(如其所在的服務(wù)器的ip地址)發(fā)送復(fù)制所述數(shù)據(jù)“bbbbb”的請求。

步驟s204,接收所述數(shù)據(jù)到本節(jié)點(diǎn)。

接收相應(yīng)的數(shù)據(jù)源地址發(fā)送的所請求的數(shù)據(jù)到本節(jié)點(diǎn)。

為起到增加數(shù)據(jù)復(fù)制的安全性的效果,在接收所述數(shù)據(jù)到本節(jié)點(diǎn)時,優(yōu)選地,還可以判斷所述數(shù)據(jù)的發(fā)送者是否為本節(jié)點(diǎn)存儲的本節(jié)點(diǎn)在所述數(shù)據(jù)源地址分發(fā)樹中的父節(jié)點(diǎn),如當(dāng)本節(jié)點(diǎn)15.170.170.4接收到節(jié)點(diǎn)15.170.170.2發(fā)送的所需要復(fù)制的數(shù)據(jù)“bbbbb”時,當(dāng)本節(jié)點(diǎn)存儲的本節(jié)點(diǎn)在所述數(shù)據(jù)源地址分發(fā)樹中的父節(jié)點(diǎn)為15.170.170.2(也即,在所述數(shù)據(jù)源地址分發(fā)樹中,存儲本節(jié)點(diǎn)的存儲節(jié)點(diǎn)的父節(jié)點(diǎn)存儲的節(jié)點(diǎn)為15.170.170.2)時,進(jìn)行接收數(shù)據(jù)的操作,若本節(jié)點(diǎn)存儲的本節(jié)點(diǎn)在所述數(shù)據(jù)源地址分發(fā)樹中的父節(jié)點(diǎn)不是15.170.170.2時,不直接進(jìn)行接收數(shù)據(jù)的操作,這時可以做更多的處理,再進(jìn)行相應(yīng)的操作。

本實施例提供的方法,優(yōu)選地可用于分布式計算機(jī)系統(tǒng)內(nèi)各個節(jié)點(diǎn)的數(shù)據(jù)部署。

在分布式系統(tǒng)內(nèi)各個節(jié)點(diǎn)部署同一軟件是分布式計算機(jī)系統(tǒng)業(yè)務(wù)系統(tǒng)運(yùn)行的必要操作,而軟件不過是數(shù)據(jù)的一種組織方式,本實施例所提供的方法用于分布式計算機(jī)系統(tǒng)集群部署同一軟件,僅集群內(nèi)的一個節(jié)點(diǎn)從原始數(shù)據(jù)源地址復(fù)制數(shù)據(jù),集群內(nèi)其他節(jié)點(diǎn)分別從集群內(nèi)的已經(jīng)部署了數(shù)據(jù)的節(jié)點(diǎn)復(fù)制數(shù)據(jù),能夠起到避免網(wǎng)絡(luò)擁堵的效果,同時將絕大多數(shù)復(fù)制相同數(shù)據(jù)的操作限定在本節(jié)點(diǎn)所在的集群內(nèi),達(dá)到減少對網(wǎng)絡(luò)上其他節(jié)點(diǎn)的影響的效果。

本申請第三實施例提供一種更新本節(jié)點(diǎn)存儲的本節(jié)點(diǎn)在指定的數(shù)據(jù)源地址分發(fā)樹中的父節(jié)點(diǎn)信息的方法,其流程圖如圖6所示。所述指定的數(shù)據(jù)源地址分發(fā)樹由數(shù)據(jù)源地址分發(fā)樹的標(biāo)識所確定,所述數(shù)據(jù)源地址分發(fā)樹的標(biāo)識由所述數(shù)據(jù)的標(biāo)識和所述請求者所在的組的標(biāo)識所確定。

本實施例以圖4所示的數(shù)據(jù)源地址分發(fā)樹“aaaaa/bbbbb”為例進(jìn)行說明。

步驟s301,檢測到本節(jié)點(diǎn)存儲的本節(jié)點(diǎn)在指定的數(shù)據(jù)源地址分發(fā)樹中的父節(jié)點(diǎn)信息異常。

檢測到本節(jié)點(diǎn)存儲的本節(jié)點(diǎn)在指定的數(shù)據(jù)源地址分發(fā)樹中的父節(jié)點(diǎn)信息異??梢杂卸喾N方式,本實施例提供兩種方案如下:

一,接收發(fā)送者發(fā)送的數(shù)據(jù)時,判斷所述數(shù)據(jù)的發(fā)送者是否為本節(jié)點(diǎn)存儲的本節(jié)點(diǎn)在所述數(shù)據(jù)源地址分發(fā)樹中的父節(jié)點(diǎn),若所述數(shù)據(jù)的發(fā)送者不是本節(jié)點(diǎn)存儲的本節(jié)點(diǎn)在所述數(shù)據(jù)源地址分發(fā)樹中的父節(jié)點(diǎn),則本節(jié)點(diǎn)存儲的本節(jié)點(diǎn)在指定的數(shù)據(jù)源地址分發(fā)樹中的父節(jié)點(diǎn)信息異常。

當(dāng)節(jié)點(diǎn)進(jìn)行數(shù)據(jù)接收時,若所述數(shù)據(jù)的發(fā)送者與本節(jié)點(diǎn)存儲的在數(shù)據(jù)源地址分發(fā)樹“aaaaa/bbbbb”中的父節(jié)點(diǎn)不一致,則本節(jié)點(diǎn)存儲的本節(jié)點(diǎn)在數(shù)據(jù)源地址分發(fā)樹“aaaaa/bbbbb”中的父節(jié)點(diǎn)信息異常。

在接收數(shù)據(jù)時對本節(jié)點(diǎn)存儲的本節(jié)點(diǎn)在指定的數(shù)據(jù)源地址分發(fā)樹中的父節(jié)點(diǎn)進(jìn)行驗證,能夠起到提高安全性和可靠性的作用。

二,以設(shè)定的時間間隔向本節(jié)點(diǎn)存儲的本節(jié)點(diǎn)在所述數(shù)據(jù)源地址分發(fā)樹中的父節(jié)點(diǎn)發(fā)送狀態(tài)更新請求,判斷所述狀態(tài)更新請求是否失敗,若所述狀態(tài)更新請求失敗,則本節(jié)點(diǎn)存儲的本節(jié)點(diǎn)在指定的數(shù)據(jù)源地址分發(fā)樹中的父節(jié)點(diǎn)信息異常。

本節(jié)點(diǎn)(以15.170.170.4為例)周期性地向存儲于本節(jié)點(diǎn)的其在數(shù)據(jù)源地址分發(fā)樹“aaaaa/bbbbb”中存儲其的存儲節(jié)點(diǎn)的父節(jié)點(diǎn)所存儲的節(jié)點(diǎn) (15.170.170.2)發(fā)送狀態(tài)更新請求,若所述狀態(tài)更新請求在設(shè)定的時長內(nèi)沒有收到相應(yīng)的響應(yīng)信息或在設(shè)定的時長內(nèi)沒有收到相應(yīng)的響應(yīng)信息,且多次狀態(tài)更新請求連續(xù)沒有收到響應(yīng)信息的次數(shù)超過設(shè)定的值,則認(rèn)為狀態(tài)更新請求失敗,本節(jié)點(diǎn)(15.170.170.4)存儲的本節(jié)點(diǎn)(15.170.170.4)在指定的數(shù)據(jù)源地址分發(fā)樹中的父節(jié)點(diǎn)(15.170.170.2)信息異常。

在沒有進(jìn)行數(shù)據(jù)復(fù)制的操作的情況下,周期性地對本節(jié)點(diǎn)存儲的本節(jié)點(diǎn)在指定的數(shù)據(jù)源地址分發(fā)樹中的父節(jié)點(diǎn)進(jìn)行驗證,能夠及時同步本節(jié)點(diǎn)在數(shù)據(jù)源地址分發(fā)樹中的父節(jié)點(diǎn)信息,提高系統(tǒng)的可靠性。

步驟s302,向數(shù)據(jù)源地址分發(fā)樹中心控制節(jié)點(diǎn)發(fā)送查詢本節(jié)點(diǎn)在所述數(shù)據(jù)源地址分發(fā)樹中的親屬節(jié)點(diǎn)信息的請求。

對于檢測到本節(jié)點(diǎn)存儲的本節(jié)點(diǎn)在指定的數(shù)據(jù)源地址分發(fā)樹“aaaaa/bbbbb”中的父節(jié)點(diǎn)信息異常的情況,除了及時向數(shù)據(jù)源地址分發(fā)樹中心控制節(jié)點(diǎn)請求更新外,對于周期性地對本節(jié)點(diǎn)存儲的本節(jié)點(diǎn)在指定的數(shù)據(jù)源地址分發(fā)樹“aaaaa/bbbbb”中的父節(jié)點(diǎn)進(jìn)行驗證的情況下檢測到異常的情況,如節(jié)點(diǎn)15.170.170.4檢測到在在指定的數(shù)據(jù)源地址分發(fā)樹中其父節(jié)點(diǎn)15.170.170.2異常的情況,在向數(shù)據(jù)源地址分發(fā)樹中心控制節(jié)點(diǎn)發(fā)送查詢本節(jié)點(diǎn)在所述數(shù)據(jù)源地址分發(fā)樹“aaaaa/bbbbb”中的親屬節(jié)點(diǎn)信息的請求中包含本節(jié)點(diǎn)(15.170.170.4)在所述數(shù)據(jù)源地址分發(fā)樹中的父節(jié)點(diǎn)(15.170.170.2)失效信息,即報告給數(shù)據(jù)源地址分發(fā)樹中心控制節(jié)點(diǎn),在所述數(shù)據(jù)源地址分發(fā)樹中,存儲本節(jié)點(diǎn)(15.170.170.4)的存儲節(jié)點(diǎn)的父節(jié)點(diǎn)所存儲的節(jié)點(diǎn)(15.170.170.2)失效。這樣能夠及時同步數(shù)據(jù)源地址分發(fā)樹中,為后續(xù)其他節(jié)點(diǎn)復(fù)制數(shù)據(jù)時查詢數(shù)據(jù)源地址提前做好準(zhǔn)備,起到提高可靠性的效果。

步驟s303,接收數(shù)據(jù)源地址分發(fā)樹中心控制節(jié)點(diǎn)發(fā)送的本節(jié)點(diǎn)在所述數(shù)據(jù)源地址分發(fā)樹中的父節(jié)點(diǎn)的信息;

數(shù)據(jù)源地址分發(fā)樹中心控制節(jié)點(diǎn)收到查詢本節(jié)點(diǎn)在所述數(shù)據(jù)源地址分發(fā)樹中的親屬節(jié)點(diǎn)信息的請求后,會進(jìn)行相應(yīng)的處理并將處理后請求節(jié)點(diǎn)在其所維護(hù)的所述數(shù)據(jù)源地址分發(fā)樹中的親屬節(jié)點(diǎn)信息反饋給請求節(jié)點(diǎn)。

步驟s304,用數(shù)據(jù)源地址分發(fā)樹中心控制節(jié)點(diǎn)發(fā)送的本節(jié)點(diǎn)在所述數(shù)據(jù)源地址分發(fā)樹中的父節(jié)點(diǎn)更新本節(jié)點(diǎn)存儲的本節(jié)點(diǎn)在所述數(shù)據(jù)源地址分發(fā)樹中的父節(jié)點(diǎn)信息。

收到數(shù)據(jù)源地址分發(fā)樹中心控制節(jié)點(diǎn)反饋的父節(jié)點(diǎn)信息后,本節(jié)點(diǎn)用其更 新自己存儲的其在所述數(shù)據(jù)源地址分發(fā)樹中的父節(jié)點(diǎn)信息。

與其他實施例提供的方法類似,本實施例提供的方法也可以用于分布式計算機(jī)系統(tǒng)內(nèi)各個接待你的數(shù)據(jù)部署。能夠起到提高系統(tǒng)可用性,可靠性的效果。

本申請第四實施例提供一種用于數(shù)據(jù)發(fā)送方法,其流程圖如圖7所示。

步驟s401,接收請求者發(fā)送的復(fù)制數(shù)據(jù)請求,所述數(shù)據(jù)由數(shù)據(jù)的標(biāo)識所確定。

以節(jié)點(diǎn)15.170.170.2收到15.170.170.4的復(fù)制數(shù)據(jù)“bbbbb”為例進(jìn)行說明。

步驟s402,查詢復(fù)制數(shù)據(jù)請求的發(fā)送者是否為本節(jié)點(diǎn)在指定的數(shù)據(jù)源地址分發(fā)樹中的子節(jié)點(diǎn),所述指定的數(shù)據(jù)源地址分發(fā)樹由數(shù)據(jù)源地址分發(fā)樹的標(biāo)識所確定,所述數(shù)據(jù)源地址分發(fā)樹的標(biāo)識由所述數(shù)據(jù)的標(biāo)識和本節(jié)點(diǎn)所在的組的標(biāo)識所確定。

節(jié)點(diǎn)15.170.170.2判斷復(fù)制數(shù)據(jù)的請求者15.170.170.4是否為其在由請求者節(jié)點(diǎn)所請求的數(shù)據(jù)標(biāo)識(“bbbbb”)和本節(jié)點(diǎn)所在組(集群)標(biāo)識(如“aaaaa”)所確定的數(shù)據(jù)源地址分發(fā)樹“aaaaa/bbbbb”中的子節(jié)點(diǎn)。

對于本節(jié)點(diǎn)屬于不同組(集群)的情況,需要對更多的數(shù)據(jù)源地址分發(fā)樹做判斷,如本節(jié)點(diǎn)不僅僅屬于集群“aaaaa”,還可能屬于集群“ccccc”,若請求者節(jié)點(diǎn)不是本節(jié)點(diǎn)在數(shù)據(jù)源地址分發(fā)樹“aaaaa/bbbbb”中的子節(jié)點(diǎn),則還需要判斷請求者節(jié)點(diǎn)是否為本節(jié)點(diǎn)在數(shù)據(jù)源地址分發(fā)樹“ccccc/bbbbb”中的子節(jié)點(diǎn)。

查詢復(fù)制數(shù)據(jù)請求的發(fā)送者是否為本節(jié)點(diǎn)在指定的數(shù)據(jù)源地址分發(fā)樹中的子節(jié)點(diǎn)的方式可以有多種,本實施例提供以下兩種方式并分別進(jìn)行說明:

一,向數(shù)據(jù)源地址分發(fā)樹中心控制節(jié)點(diǎn)發(fā)送查詢本節(jié)點(diǎn)在指定的數(shù)據(jù)源地址分發(fā)樹中的親屬節(jié)點(diǎn)請求;接收并存儲數(shù)據(jù)源地址分發(fā)樹中心控制節(jié)點(diǎn)發(fā)送的子節(jié)點(diǎn)信息。

二,查詢本節(jié)點(diǎn)存儲的本節(jié)點(diǎn)在指定的數(shù)據(jù)源地址分發(fā)樹中的子節(jié)點(diǎn)信息。

步驟s403,若復(fù)制數(shù)據(jù)請求的發(fā)送者為本節(jié)點(diǎn)在指定的數(shù)據(jù)源地址分發(fā)樹中的子節(jié)點(diǎn),則向該復(fù)制數(shù)據(jù)請求的發(fā)送者發(fā)送其所請求的數(shù)據(jù)。

當(dāng)15.170.170.2判斷復(fù)制數(shù)據(jù)的請求者15.170.170.4為其在數(shù)據(jù)源地址分發(fā)樹中心控制節(jié)點(diǎn)的數(shù)據(jù)源地址分發(fā)樹中存儲其的存儲節(jié)點(diǎn)的子節(jié)點(diǎn)所存儲 的節(jié)點(diǎn)時或15.170.170.4為15.170.170.2所存儲的15.170.170.2在數(shù)據(jù)源地址分發(fā)樹中的子節(jié)點(diǎn),向其發(fā)送其所請求的數(shù)據(jù)。

本實施例提供的方法,可以用于分布式計算機(jī)系統(tǒng)內(nèi)各個節(jié)點(diǎn)的數(shù)據(jù)部署。能夠起到提高安全性,可靠性的效果。

本申請的第五實施例提供一種數(shù)據(jù)源地址分發(fā)樹的構(gòu)造裝置,其結(jié)構(gòu)框圖如圖8所示,該裝置包括,接收單元u501,構(gòu)造單元u502,和發(fā)送單元u503。

所述接收單元u501,用于接收請求者發(fā)送的查詢所述請求者在指定的數(shù)據(jù)源地址分發(fā)樹中的親屬節(jié)點(diǎn)信息的請求,所述請求者由其標(biāo)識所確定,所述指定的數(shù)據(jù)源地址分發(fā)樹由數(shù)據(jù)源地址分發(fā)樹標(biāo)識所確定。

構(gòu)造單元u502,用于將所述請求者作為新節(jié)點(diǎn)加入所述數(shù)據(jù)源地址分發(fā)樹。

所述發(fā)送單元u503,用于將所述請求者對應(yīng)的節(jié)點(diǎn)的父節(jié)點(diǎn)和子節(jié)點(diǎn)的信息發(fā)送給所述請求者。

本申請第六實施例提供一種用于復(fù)制數(shù)據(jù)的裝置,其結(jié)構(gòu)框圖如圖9所示,該裝置包括獲取單元u601,獲得單元u602,發(fā)送單元u603和接收單元u604。

所述獲取單元u601,用于獲取復(fù)制數(shù)據(jù)到本節(jié)點(diǎn)的請求,所述請求包括數(shù)據(jù)的標(biāo)識以及數(shù)據(jù)的原始地址。

所述獲得單元u602,用于獲得本節(jié)點(diǎn)在指定的數(shù)據(jù)源地址分發(fā)樹中的父節(jié)點(diǎn)信息,所述指定的數(shù)據(jù)源地址分發(fā)樹由數(shù)據(jù)源地址分發(fā)樹的標(biāo)識所確定,所述數(shù)據(jù)源地址分發(fā)樹的標(biāo)識由所述數(shù)據(jù)的標(biāo)識和所述請求者所在的組的標(biāo)識所確定。

所述發(fā)送單元u603,用于根據(jù)本節(jié)點(diǎn)在指定的數(shù)據(jù)源地址分發(fā)樹中父節(jié)點(diǎn)的信息,發(fā)送相應(yīng)的復(fù)制所述數(shù)據(jù)的請求。

所述接收單元u604,用于接收所述數(shù)據(jù)到本節(jié)點(diǎn)。

本申請第七實施例提供一種更新本節(jié)點(diǎn)存儲的本節(jié)點(diǎn)在指定的數(shù)據(jù)源地址分發(fā)樹中的父節(jié)點(diǎn)信息的裝置,所述指定的數(shù)據(jù)源地址分發(fā)樹由數(shù)據(jù)源地址分發(fā)樹的標(biāo)識所確定,所述數(shù)據(jù)源地址分發(fā)樹的標(biāo)識由所述數(shù)據(jù)的標(biāo)識和所述請求者所在的組的標(biāo)識所確定,該裝置的結(jié)構(gòu)框圖如圖10所示,該裝置包括檢測單元u701,查詢單元u702,接收單元u703和更新單元u704。

所述檢測單元u701,用于檢測到本節(jié)點(diǎn)存儲的本節(jié)點(diǎn)在指定的數(shù)據(jù)源地址分發(fā)樹中的父節(jié)點(diǎn)信息異常。

所述查詢單元u702,用于向數(shù)據(jù)源地址分發(fā)樹中心控制節(jié)點(diǎn)發(fā)送查詢本節(jié)點(diǎn)在所述數(shù)據(jù)源地址分發(fā)樹中的親屬節(jié)點(diǎn)信息的請求。

所述接收單元u703,用于接收數(shù)據(jù)源地址分發(fā)樹中心控制節(jié)點(diǎn)發(fā)送的本節(jié)點(diǎn)在所述數(shù)據(jù)源地址分發(fā)樹中的父節(jié)點(diǎn)的信息。

所述更新單元u704,用于用數(shù)據(jù)源地址分發(fā)樹中心控制節(jié)點(diǎn)發(fā)送的本節(jié)點(diǎn)在所述數(shù)據(jù)源地址分發(fā)樹中的父節(jié)點(diǎn)更新本節(jié)點(diǎn)存儲的本節(jié)點(diǎn)在所述數(shù)據(jù)源地址分發(fā)樹中的父節(jié)點(diǎn)信息。

本申請第八實施例提供一種用于數(shù)據(jù)發(fā)送的裝置,其結(jié)構(gòu)框圖如圖11所示,該裝置包括接收單元u801,查詢單元u802和發(fā)送單元u803。

所述接收單元u801,用于接收請求者發(fā)送的復(fù)制數(shù)據(jù)請求,所述數(shù)據(jù)由數(shù)據(jù)的標(biāo)識所確定。

所述查詢單元u802,用于查詢復(fù)制數(shù)據(jù)請求的發(fā)送者是否為本節(jié)點(diǎn)在指定的數(shù)據(jù)源地址分發(fā)樹中的子節(jié)點(diǎn),所述指定的數(shù)據(jù)源地址分發(fā)樹由數(shù)據(jù)源地址分發(fā)樹的標(biāo)識所確定,所述數(shù)據(jù)源地址分發(fā)樹的標(biāo)識由所述數(shù)據(jù)的標(biāo)識和本節(jié)點(diǎn)所在的組的標(biāo)識所確定。

所述發(fā)送單元u803,用于若復(fù)制數(shù)據(jù)請求的發(fā)送者為本節(jié)點(diǎn)在指定的數(shù)據(jù)源地址分發(fā)樹中的子節(jié)點(diǎn),則向該復(fù)制數(shù)據(jù)請求的發(fā)送者發(fā)送其所請求的數(shù)據(jù)。

本申請第九實施例提供一種數(shù)據(jù)源地址分發(fā)系統(tǒng),其結(jié)構(gòu)框圖如圖12所示,該系統(tǒng)包括數(shù)據(jù)源地址分發(fā)樹的構(gòu)造裝置e901、用于復(fù)制數(shù)據(jù)的裝置e902、更新本節(jié)點(diǎn)存儲的本節(jié)點(diǎn)在指定的數(shù)據(jù)源地址分發(fā)樹中的父節(jié)點(diǎn)信息的裝置e903和用于數(shù)據(jù)發(fā)送的裝置e904。所述數(shù)據(jù)源地址分發(fā)樹的構(gòu)造裝置e901位于數(shù)據(jù)源地址分發(fā)樹中心控制端;所述用于復(fù)制數(shù)據(jù)的裝置e902、更新本節(jié)點(diǎn)存儲的本節(jié)點(diǎn)在指定的數(shù)據(jù)源地址分發(fā)樹中的父節(jié)點(diǎn)信息的裝置e903和用于數(shù)據(jù)發(fā)送的裝置e904位于數(shù)據(jù)源地址請求端。

所述數(shù)據(jù)源地址分發(fā)樹中心控制端和所述數(shù)據(jù)源地址請求端之間通過網(wǎng)絡(luò)相互連接。

所述數(shù)據(jù)源地址請求端可以有多個,并且多個數(shù)據(jù)源地址請求端之間通過網(wǎng)絡(luò)相互連接。

所述數(shù)據(jù)源地址分發(fā)樹的構(gòu)造裝置e901的功能可以參考本申請第五實施例所述。

所述用于復(fù)制數(shù)據(jù)的裝置e902的功能可以參考本申請第六實施例所述。

所述更新本節(jié)點(diǎn)存儲的本節(jié)點(diǎn)在指定的數(shù)據(jù)源地址分發(fā)樹中的父節(jié)點(diǎn)信息的裝置和用于數(shù)據(jù)發(fā)送的裝置e903的功能可以參考本申請第七實施例所述。

所述用于數(shù)據(jù)發(fā)送的裝置e904的功能可以參考本申請第八實施例所述。

本申請雖然以較佳實施例公開如上,但其并不是用來限定本申請,任何本領(lǐng)域技術(shù)人員在不脫離本申請的精神和范圍內(nèi),都可以做出可能的變動和修改,因此本申請的保護(hù)范圍應(yīng)當(dāng)以本申請權(quán)利要求所界定的范圍為準(zhǔn)。

在一個典型的配置中,計算設(shè)備包括一個或多個處理器(cpu)、輸入/輸出接口、網(wǎng)絡(luò)接口和內(nèi)存。

內(nèi)存可能包括計算機(jī)可讀介質(zhì)中的非永久性存儲器,隨機(jī)存取存儲器(ram)和/或非易失性內(nèi)存等形式,如只讀存儲器(rom)或閃存(flashram)。內(nèi)存是計算機(jī)可讀介質(zhì)的示例。

1、計算機(jī)可讀介質(zhì)包括永久性和非永久性、可移動和非可移動媒體可以由任何方法或技術(shù)來實現(xiàn)信息存儲。信息可以是計算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序的模塊或其他數(shù)據(jù)。計算機(jī)的存儲介質(zhì)的例子包括,但不限于相變內(nèi)存(pram)、靜態(tài)隨機(jī)存取存儲器(sram)、動態(tài)隨機(jī)存取存儲器(dram)、其他類型的隨機(jī)存取存儲器(ram)、只讀存儲器(rom)、電可擦除可編程只讀存儲器(eeprom)、快閃記憶體或其他內(nèi)存技術(shù)、只讀光盤只讀存儲器(cd-rom)、數(shù)字多功能光盤(dvd)或其他光學(xué)存儲、磁盒式磁帶,磁帶磁磁盤存儲或其他磁性存儲設(shè)備或任何其他非傳輸介質(zhì),可用于存儲可以被計算設(shè)備訪問的信息。按照本文中的界定,計算機(jī)可讀介質(zhì)不包括非暫存電腦可讀媒體(transitorymedia),如調(diào)制的數(shù)據(jù)信號和載波。

2、本領(lǐng)域技術(shù)人員應(yīng)明白,本申請的實施例可提供為方法、系統(tǒng)或計算機(jī)程序產(chǎn)品。因此,本申請可采用完全硬件實施例、完全軟件實施例或結(jié)合軟件和硬件方面的實施例的形式。而且,本申請可采用在一個或多個其中包含有計算機(jī)可用程序代碼的計算機(jī)可用存儲介質(zhì)(包括但不限于磁盤存儲器、cd-rom、 光學(xué)存儲器等)上實施的計算機(jī)程序產(chǎn)品的形式。

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1