專利名稱:基于分布式哈希表的數(shù)據(jù)處理方法和網(wǎng)絡(luò)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)通信技術(shù)領(lǐng)域,特別涉及一種基于分布式哈希表的數(shù)據(jù)處理方法和網(wǎng)絡(luò)。
背景技術(shù):
哈希表是一種帶有索引值的散列表,通常用來對數(shù)字進(jìn)行排序。而DHT(分布式哈希表,Distributed Hash Table)是一種分布式存儲(chǔ)方式,這種方式將整個(gè)哈希表分開存儲(chǔ)在不同的實(shí)體中,這些分布的哈希表形成一個(gè)哈希表網(wǎng)絡(luò),在不需要服務(wù)器的情況下,每個(gè)客戶端負(fù)責(zé)一個(gè)小范圍的路由,并負(fù)責(zé)存儲(chǔ)一小部分?jǐn)?shù)據(jù),從而實(shí)現(xiàn)整個(gè)DHT網(wǎng)絡(luò)的存儲(chǔ)和查找,整個(gè)DHT網(wǎng)絡(luò)具有可伸縮性和可配置性。
現(xiàn)有的DHT網(wǎng)絡(luò)均為單層環(huán)形網(wǎng)絡(luò),這種網(wǎng)絡(luò)可以實(shí)現(xiàn)數(shù)據(jù)的存儲(chǔ)和查找等處理?,F(xiàn)有DHT網(wǎng)絡(luò)在網(wǎng)絡(luò)中的多個(gè)節(jié)點(diǎn)上分布存儲(chǔ)數(shù)據(jù),每個(gè)節(jié)點(diǎn)有一個(gè)節(jié)點(diǎn)標(biāo)識號,并且該節(jié)點(diǎn)知道其下一個(gè)節(jié)點(diǎn)的標(biāo)識號,各個(gè)節(jié)點(diǎn)上存儲(chǔ)的每一個(gè)數(shù)據(jù)都有各自獨(dú)立識別的索引值,其中任意數(shù)據(jù)的索引值大于等于它所存儲(chǔ)的節(jié)點(diǎn)標(biāo)識號,并且該索引值小于下一個(gè)節(jié)點(diǎn)的標(biāo)識號,所有節(jié)點(diǎn)首尾相連,形成一個(gè)單向發(fā)展的環(huán),在該環(huán)形網(wǎng)絡(luò)中沿節(jié)點(diǎn)標(biāo)識號增大的方向查找和存儲(chǔ)數(shù)據(jù)。如圖1所示為現(xiàn)有基于分布式哈希表的單層環(huán)形網(wǎng)絡(luò)的示意圖,該環(huán)形網(wǎng)絡(luò)的數(shù)據(jù)處理范圍為0-100,所有要存儲(chǔ)的數(shù)據(jù)都在該范圍內(nèi)進(jìn)行取值,該環(huán)形網(wǎng)絡(luò)包括7個(gè)節(jié)點(diǎn),分別為5、9、23、37、48、63和92。其中,設(shè)本節(jié)點(diǎn)標(biāo)識號為NodeId,下一節(jié)點(diǎn)的標(biāo)識號為NextNodeId,存儲(chǔ)數(shù)據(jù)的索引值為Key,三個(gè)值之間滿足NodeId≤Key<NextNodeId。應(yīng)用該網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)存儲(chǔ)的方法流程如圖2所示 步驟201設(shè)置存儲(chǔ)數(shù)據(jù)的索引值并將該數(shù)據(jù)發(fā)送到環(huán)形網(wǎng)絡(luò)中的某一節(jié)點(diǎn)上。
步驟202判斷要存儲(chǔ)數(shù)據(jù)的索引值與該節(jié)點(diǎn)標(biāo)識號的差值是否大于存儲(chǔ)數(shù)據(jù)索引值與下一節(jié)點(diǎn)標(biāo)識號的差值,若是,則執(zhí)行步驟203;否則,執(zhí)行步驟204。
步驟203該節(jié)點(diǎn)將數(shù)據(jù)傳遞到下一個(gè)節(jié)點(diǎn),然后返回步驟202。
步驟204將數(shù)據(jù)存儲(chǔ)在當(dāng)前的節(jié)點(diǎn)中,結(jié)束流程。
具體的,以圖1所示的單層環(huán)形網(wǎng)絡(luò)為例,將索引值為40的數(shù)據(jù)發(fā)送到環(huán)形網(wǎng)絡(luò)的節(jié)點(diǎn)23上,根據(jù)單層網(wǎng)絡(luò)順時(shí)針存儲(chǔ)數(shù)據(jù)的特性,節(jié)點(diǎn)23的下一節(jié)點(diǎn)為節(jié)點(diǎn)37,判斷40-23=17>40-37=3,因此將數(shù)據(jù)傳遞到當(dāng)前節(jié)點(diǎn)23的下一節(jié)點(diǎn)37進(jìn)行處理,節(jié)點(diǎn)37的下一節(jié)點(diǎn)為48,判斷40-37=3<40-48=-8(在0-100的范圍內(nèi)對-8取補(bǔ)值為100-8=92),因此將數(shù)據(jù)最終存儲(chǔ)在節(jié)點(diǎn)37上。同樣查找一個(gè)數(shù)據(jù)的方法與此類似,若待查找數(shù)據(jù)的索引值與當(dāng)前節(jié)點(diǎn)標(biāo)識號的差值大于待查找數(shù)據(jù)的索引值與下一節(jié)點(diǎn)標(biāo)識號的差值,則將待查找數(shù)據(jù)順時(shí)針傳遞到下一節(jié)點(diǎn)進(jìn)行查找,否則,就在當(dāng)前節(jié)點(diǎn)查找數(shù)據(jù)。
從以上分析可以看出,由于現(xiàn)有的基于分布式哈希表的網(wǎng)絡(luò)均為單層環(huán)形網(wǎng)絡(luò),因此這種網(wǎng)絡(luò)的性能函數(shù)為一個(gè)線性函數(shù),網(wǎng)絡(luò)中平均訪問時(shí)間為nt/2,其中n為環(huán)形網(wǎng)絡(luò)上的節(jié)點(diǎn)總數(shù),t是每個(gè)節(jié)點(diǎn)在進(jìn)行判斷操作時(shí)消耗的時(shí)間,顯然隨著節(jié)點(diǎn)總數(shù)n的增加,訪問的時(shí)間是線性增長的。假設(shè)網(wǎng)絡(luò)中有1000個(gè)節(jié)點(diǎn),每個(gè)節(jié)點(diǎn)在進(jìn)行操作時(shí)消耗1毫秒的時(shí)間,那么網(wǎng)絡(luò)中所有節(jié)點(diǎn)的處理總時(shí)間為1秒,若將節(jié)點(diǎn)間的路徑時(shí)間計(jì)算進(jìn)去,則需要更長的處理時(shí)間,而且實(shí)際規(guī)模應(yīng)用的系統(tǒng)中,節(jié)點(diǎn)的總數(shù)量遠(yuǎn)遠(yuǎn)超過1000個(gè)。因此,當(dāng)網(wǎng)絡(luò)中所有節(jié)點(diǎn)都在同一個(gè)環(huán)上,當(dāng)該環(huán)擁有數(shù)量龐大的節(jié)點(diǎn)時(shí),則處理一圈數(shù)據(jù)帶來的時(shí)延是不可忽視的,該時(shí)延將極大降低網(wǎng)絡(luò)的性能,不利于應(yīng)用在大規(guī)模的網(wǎng)絡(luò)系統(tǒng)中。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種基于分布式哈希表的數(shù)據(jù)處理方法,以克服現(xiàn)有技術(shù)中由于單層環(huán)形網(wǎng)絡(luò)上節(jié)點(diǎn)數(shù)據(jù)量龐大,導(dǎo)致整個(gè)網(wǎng)絡(luò)系統(tǒng)產(chǎn)生時(shí)間延遲,降低了網(wǎng)絡(luò)性能的問題。
本發(fā)明的另一目的是提供一種基于分布式哈希表的數(shù)據(jù)處理網(wǎng)絡(luò),以解決現(xiàn)有技術(shù)中由于基于分布式哈希表的網(wǎng)絡(luò)均為單層環(huán)形網(wǎng)絡(luò),導(dǎo)致了網(wǎng)絡(luò)中數(shù)據(jù)處理時(shí)間長,網(wǎng)絡(luò)性能低的問題。
為解決上述技術(shù)問題,本發(fā)明提供如下技術(shù)方案 一種基于分布式哈希表的數(shù)據(jù)處理方法,包括步驟 A、將主環(huán)形網(wǎng)絡(luò)分成至少兩個(gè)子環(huán)形網(wǎng)絡(luò),所述至少兩個(gè)子環(huán)形網(wǎng)絡(luò)的數(shù)據(jù)處理范圍總和與主環(huán)形網(wǎng)絡(luò)相同; B、判斷待處理數(shù)據(jù)是否屬于當(dāng)前所在子環(huán)形網(wǎng)絡(luò)的數(shù)據(jù)處理范圍,若否,則從所述當(dāng)前子環(huán)形網(wǎng)絡(luò)轉(zhuǎn)移到主環(huán)形網(wǎng)絡(luò); C、主環(huán)形網(wǎng)絡(luò)根據(jù)待處理數(shù)據(jù)所屬處理范圍轉(zhuǎn)移到與該數(shù)據(jù)對應(yīng)的子環(huán)形網(wǎng)絡(luò)。
所述步驟A中子環(huán)形網(wǎng)絡(luò)通過交叉節(jié)點(diǎn)與主環(huán)形網(wǎng)絡(luò)的對應(yīng)節(jié)點(diǎn)相連,所述主環(huán)形網(wǎng)絡(luò)對應(yīng)節(jié)點(diǎn)的數(shù)據(jù)處理范圍大于與該節(jié)點(diǎn)相連的子環(huán)形網(wǎng)絡(luò)的數(shù)據(jù)處理范圍。
所述步驟B中判斷待處理數(shù)據(jù)是否屬于當(dāng)前所在子環(huán)形網(wǎng)絡(luò)的數(shù)據(jù)處理范圍包括 比較待處理數(shù)據(jù)的索引值和當(dāng)前子環(huán)形網(wǎng)絡(luò)的數(shù)據(jù)處理范圍, 若所述索引值大于當(dāng)前子環(huán)形網(wǎng)絡(luò)數(shù)據(jù)處理范圍的最大值,或小于當(dāng)前子環(huán)形網(wǎng)絡(luò)數(shù)據(jù)處理范圍的最小值,則待處理數(shù)據(jù)不屬于當(dāng)前所在子環(huán)形網(wǎng)絡(luò)的數(shù)據(jù)處理范圍; 若所述索引值不大于當(dāng)前子環(huán)形網(wǎng)絡(luò)數(shù)據(jù)處理范圍的最大值,且不小于當(dāng)前子環(huán)形網(wǎng)絡(luò)數(shù)據(jù)處理范圍的最小值,則待處理數(shù)據(jù)屬于當(dāng)前所在子環(huán)形網(wǎng)絡(luò)的數(shù)據(jù)處理范圍。
所述步驟B中從當(dāng)前子環(huán)形網(wǎng)絡(luò)轉(zhuǎn)移到主環(huán)形網(wǎng)絡(luò)包括 從待處理數(shù)據(jù)所在的當(dāng)前子環(huán)形網(wǎng)絡(luò)的當(dāng)前節(jié)點(diǎn)轉(zhuǎn)移到該當(dāng)前子環(huán)形網(wǎng)絡(luò)的交叉節(jié)點(diǎn); 根據(jù)所述交叉節(jié)點(diǎn)與主環(huán)形網(wǎng)絡(luò)對應(yīng)節(jié)點(diǎn)的連接,從所述當(dāng)前子環(huán)形網(wǎng)絡(luò)的交叉節(jié)點(diǎn)轉(zhuǎn)移到主環(huán)形網(wǎng)絡(luò)的對應(yīng)節(jié)點(diǎn)。
所述步驟B還包括 判斷待處理數(shù)據(jù)是否屬于當(dāng)前所在子環(huán)形網(wǎng)絡(luò)的數(shù)據(jù)處理范圍,若是,則在當(dāng)前子環(huán)形網(wǎng)絡(luò)上對數(shù)據(jù)進(jìn)行操作。
所述步驟C包括 主環(huán)形網(wǎng)絡(luò)搜索對應(yīng)節(jié)點(diǎn),所述待處理數(shù)據(jù)所屬處理范圍屬于與該對應(yīng)節(jié)點(diǎn)相連的子環(huán)形網(wǎng)絡(luò)的數(shù)據(jù)處理范圍; 從所述搜索到的對應(yīng)節(jié)點(diǎn)轉(zhuǎn)移到與該對應(yīng)節(jié)點(diǎn)相連的子環(huán)形網(wǎng)絡(luò)的交叉節(jié)點(diǎn)。
所述方法還包括 在所述對應(yīng)的子環(huán)形網(wǎng)絡(luò)上對待處理數(shù)據(jù)進(jìn)行操作。
一種基于分布式哈希表的數(shù)據(jù)處理網(wǎng)絡(luò),包括 環(huán)形網(wǎng)絡(luò)分配單元,用于將主環(huán)形網(wǎng)絡(luò)分成至少兩個(gè)子環(huán)形網(wǎng)絡(luò),所述至少兩個(gè)子環(huán)形網(wǎng)絡(luò)的數(shù)據(jù)處理范圍總和與主環(huán)形網(wǎng)絡(luò)相同; 子環(huán)形網(wǎng)絡(luò),用于判斷待處理數(shù)據(jù)是否屬于當(dāng)前子環(huán)形網(wǎng)絡(luò)的數(shù)據(jù)處理范圍,若是,則在當(dāng)前子環(huán)形網(wǎng)絡(luò)上對數(shù)據(jù)進(jìn)行操作;若否,則從當(dāng)前子環(huán)形網(wǎng)絡(luò)轉(zhuǎn)移到主環(huán)形網(wǎng)絡(luò); 主環(huán)形網(wǎng)絡(luò),用于根據(jù)待處理數(shù)據(jù)所屬處理范圍轉(zhuǎn)移到與該數(shù)據(jù)對應(yīng)的子環(huán)形網(wǎng)絡(luò)上。
所述子環(huán)形網(wǎng)絡(luò)包括 處理數(shù)據(jù)判斷單元,用于比較待處理數(shù)據(jù)的索引值與當(dāng)前子環(huán)形網(wǎng)絡(luò)數(shù)據(jù)處理范圍的最大值,若所述索引值大于當(dāng)前子環(huán)形網(wǎng)絡(luò)數(shù)據(jù)處理范圍的最大值,或小于當(dāng)前子環(huán)形網(wǎng)絡(luò)數(shù)據(jù)處理范圍的最小值,則待處理數(shù)據(jù)不屬于當(dāng)前所在子環(huán)形網(wǎng)絡(luò)的數(shù)據(jù)處理范圍;若所述索引值不大于當(dāng)前子環(huán)形網(wǎng)絡(luò)數(shù)據(jù)處理范圍的最大值,且不小于當(dāng)前子環(huán)形網(wǎng)絡(luò)數(shù)據(jù)處理范圍的最小值,則待處理數(shù)據(jù)屬于當(dāng)前所在子環(huán)形網(wǎng)絡(luò)的數(shù)據(jù)處理范圍; 子環(huán)形網(wǎng)絡(luò)轉(zhuǎn)移單元,用于當(dāng)待處理數(shù)據(jù)不屬于當(dāng)前所在子環(huán)形網(wǎng)絡(luò)的數(shù)據(jù)處理范圍時(shí),從當(dāng)前子環(huán)形網(wǎng)絡(luò)的當(dāng)前節(jié)點(diǎn)轉(zhuǎn)移到當(dāng)前子環(huán)形網(wǎng)絡(luò)的交叉節(jié)點(diǎn),然后轉(zhuǎn)移到主環(huán)形網(wǎng)絡(luò)的對應(yīng)節(jié)點(diǎn)。
所述子環(huán)形網(wǎng)絡(luò)還包括 數(shù)據(jù)操作單元,用于當(dāng)待處理數(shù)據(jù)屬于當(dāng)前所在子環(huán)形網(wǎng)絡(luò)的數(shù)據(jù)處理范圍時(shí),在當(dāng)前子環(huán)形網(wǎng)絡(luò)上對數(shù)據(jù)進(jìn)行操作。
所述主環(huán)形網(wǎng)絡(luò)包括 對應(yīng)節(jié)點(diǎn)搜索單元,用于搜索主環(huán)形網(wǎng)絡(luò)上的對應(yīng)節(jié)點(diǎn),所述待處理數(shù)據(jù)所屬處理范圍屬于與該對應(yīng)節(jié)點(diǎn)相連的子環(huán)形網(wǎng)絡(luò)的數(shù)據(jù)處理范圍; 主環(huán)形網(wǎng)絡(luò)轉(zhuǎn)移單元,用于從所述搜索到的對應(yīng)節(jié)點(diǎn)轉(zhuǎn)移到與該對應(yīng)節(jié)點(diǎn)相連的子環(huán)形網(wǎng)絡(luò)的交叉節(jié)點(diǎn)。
由以上本發(fā)明提供的技術(shù)方案可見,本發(fā)明通過將原先處于同一平面環(huán)上的所有網(wǎng)絡(luò)節(jié)點(diǎn),按照范圍劃分成若干個(gè)小環(huán),同一層的小環(huán)之間通過上一層的環(huán)相互連接。因此可以將節(jié)點(diǎn)數(shù)量龐大的單層環(huán)形網(wǎng)絡(luò)根據(jù)需要分成若干層次,劃分后的每一個(gè)獨(dú)立環(huán)上的節(jié)點(diǎn)總數(shù)大大減少,數(shù)據(jù)處理的時(shí)間也相應(yīng)減少,從整體上降低了網(wǎng)絡(luò)系統(tǒng)的時(shí)間延遲,有力的提高了網(wǎng)絡(luò)的處理性能,分散了網(wǎng)絡(luò)的風(fēng)險(xiǎn),增強(qiáng)了網(wǎng)絡(luò)整體的管理性。
以一個(gè)范圍為0-1000的單層環(huán)形網(wǎng)絡(luò)為例,假設(shè)在該環(huán)上以10為等距離劃分節(jié)點(diǎn),則該環(huán)總共有100個(gè)節(jié)點(diǎn),那么當(dāng)在該環(huán)上進(jìn)行數(shù)據(jù)處理時(shí),所用操作需要耗費(fèi)100t/2=50t的時(shí)間單位;應(yīng)用本發(fā)明基于分布式哈希表的多層網(wǎng)絡(luò)數(shù)據(jù)處理方法,則可在第一層大環(huán)上以100為等距離劃分節(jié)點(diǎn),則該第一層大環(huán)總共有10個(gè)節(jié)點(diǎn),分別再將每個(gè)節(jié)點(diǎn)范圍100劃分為以10為等距離的節(jié)點(diǎn),則在第二層的每個(gè)小環(huán)上均有10個(gè)節(jié)點(diǎn),那么在該二層環(huán)上進(jìn)行數(shù)據(jù)處理時(shí),一個(gè)操作將從一個(gè)小環(huán)到一個(gè)大環(huán)然后再到一個(gè)小環(huán)上,所用操作平均需要耗費(fèi)3×10t/2=15t的時(shí)間單位。由此看出,應(yīng)用本發(fā)明的多層網(wǎng)絡(luò)數(shù)據(jù)處理方法有效的減少了網(wǎng)絡(luò)中的時(shí)間延時(shí),提升了網(wǎng)絡(luò)系統(tǒng)的整體性能。
圖1為現(xiàn)有基于分布式哈希表的單層環(huán)形網(wǎng)絡(luò)示意圖; 圖2為現(xiàn)有基于單層環(huán)形網(wǎng)絡(luò)的數(shù)據(jù)存儲(chǔ)方法流程圖; 圖3為本發(fā)明方法流程圖; 圖4為本發(fā)明一種多層環(huán)形網(wǎng)絡(luò)示意圖; 圖5為本發(fā)明方法的優(yōu)選實(shí)施例流程圖; 圖6為本發(fā)明另一種多層環(huán)形網(wǎng)絡(luò)示意圖; 圖7為本發(fā)明網(wǎng)絡(luò)的優(yōu)選實(shí)施例框圖。
具體實(shí)施例方式 本發(fā)明的核心是提供一種基于分布式哈希表的數(shù)據(jù)處理方法,通過將主環(huán)形網(wǎng)絡(luò)分成至少兩個(gè)子環(huán)形網(wǎng)絡(luò),并判當(dāng)斷待處理數(shù)據(jù)不屬于當(dāng)前所在子環(huán)形網(wǎng)絡(luò)的處理范圍時(shí),當(dāng)前子環(huán)形網(wǎng)絡(luò)轉(zhuǎn)移到主環(huán)形網(wǎng)絡(luò),然后主環(huán)形網(wǎng)絡(luò)根據(jù)待處理數(shù)據(jù)所屬處理范圍轉(zhuǎn)移到與該數(shù)據(jù)對應(yīng)的子環(huán)形網(wǎng)絡(luò)。
為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明方案,下面結(jié)合附圖和實(shí)施方式對本發(fā)明作進(jìn)一步的詳細(xì)說明。
本發(fā)明的方法流程如圖3所示 步驟301將主環(huán)形網(wǎng)絡(luò)分成至少兩個(gè)子環(huán)形網(wǎng)絡(luò)。
由主環(huán)形網(wǎng)絡(luò)分成的至少兩個(gè)子環(huán)形網(wǎng)絡(luò)的數(shù)據(jù)處理范圍總和與主環(huán)形網(wǎng)絡(luò)相同,即每個(gè)子環(huán)形網(wǎng)絡(luò)的數(shù)據(jù)處理范圍是主環(huán)形網(wǎng)絡(luò)數(shù)據(jù)處理范圍的子區(qū)間,主環(huán)形網(wǎng)絡(luò)的數(shù)據(jù)處理范圍是整個(gè)網(wǎng)絡(luò)的數(shù)據(jù)處理范圍。
其中,每個(gè)子環(huán)形網(wǎng)絡(luò)通過交叉節(jié)點(diǎn)與主環(huán)形網(wǎng)絡(luò)的對應(yīng)節(jié)點(diǎn)相連,主環(huán)形網(wǎng)絡(luò)對應(yīng)節(jié)點(diǎn)的數(shù)據(jù)處理范圍大于與該節(jié)點(diǎn)相連的子環(huán)形網(wǎng)絡(luò)的數(shù)據(jù)處理范圍。
步驟302判斷待處理數(shù)據(jù)是否屬于其當(dāng)前所在子環(huán)形網(wǎng)絡(luò)的數(shù)據(jù)處理范圍,若是,則執(zhí)行步驟303;否則,執(zhí)行步驟304。
判斷待處理數(shù)據(jù)的索引值與當(dāng)前子環(huán)形網(wǎng)絡(luò)的數(shù)據(jù)處理范圍,若該索引值大于當(dāng)前子環(huán)形網(wǎng)絡(luò)數(shù)據(jù)處理范圍的最大值,或小于當(dāng)前子環(huán)形網(wǎng)絡(luò)數(shù)據(jù)處理范圍的最小值,則表明待處理數(shù)據(jù)不屬于當(dāng)前所在子環(huán)形網(wǎng)絡(luò)的數(shù)據(jù)處理范圍;若該索引值不大于當(dāng)前子環(huán)形網(wǎng)絡(luò)數(shù)據(jù)處理范圍的最大值,且不小于當(dāng)前子環(huán)形網(wǎng)絡(luò)數(shù)據(jù)處理范圍的最小值,則表明待處理數(shù)據(jù)屬于當(dāng)前所在子環(huán)形網(wǎng)絡(luò)的數(shù)據(jù)處理范圍。
步驟303在當(dāng)前子環(huán)形網(wǎng)絡(luò)上操作待處理數(shù)據(jù),結(jié)束流程。
通過判斷待存儲(chǔ)數(shù)據(jù)的索引值與當(dāng)前節(jié)點(diǎn)標(biāo)識號的差值是否大于待存儲(chǔ)數(shù)據(jù)索引值與下一節(jié)點(diǎn)標(biāo)識號的差值,若大于,則從當(dāng)前節(jié)點(diǎn)轉(zhuǎn)移到下一節(jié)點(diǎn)并重復(fù)進(jìn)行該步驟的判斷比較,否則,將待處理數(shù)據(jù)在當(dāng)前節(jié)點(diǎn)進(jìn)行查找或存儲(chǔ)等操作。
步驟304從當(dāng)前所在的子環(huán)形網(wǎng)絡(luò)轉(zhuǎn)移到主環(huán)形網(wǎng)絡(luò)。
從待處理數(shù)據(jù)所在的當(dāng)前子環(huán)形網(wǎng)絡(luò)的當(dāng)前節(jié)點(diǎn)轉(zhuǎn)移到該當(dāng)前子環(huán)形網(wǎng)絡(luò)的交叉節(jié)點(diǎn),根據(jù)當(dāng)前子環(huán)形網(wǎng)絡(luò)的交叉節(jié)點(diǎn)與主環(huán)形網(wǎng)絡(luò)對應(yīng)節(jié)點(diǎn)的連接,從該當(dāng)前子環(huán)形網(wǎng)絡(luò)的交叉節(jié)點(diǎn)轉(zhuǎn)移到主環(huán)形網(wǎng)絡(luò)的對應(yīng)節(jié)點(diǎn)。
步驟305根據(jù)待處理數(shù)據(jù)所述范圍轉(zhuǎn)移到與該數(shù)據(jù)對應(yīng)的子環(huán)形網(wǎng)絡(luò)。
主環(huán)形網(wǎng)絡(luò)搜索該網(wǎng)絡(luò)上的對應(yīng)節(jié)點(diǎn),其中待處理數(shù)據(jù)所屬處理范圍屬于與該對應(yīng)節(jié)點(diǎn)相連的子環(huán)形網(wǎng)絡(luò)的數(shù)據(jù)處理范圍,從搜索到的對應(yīng)節(jié)點(diǎn)轉(zhuǎn)移到與該對應(yīng)節(jié)點(diǎn)相連的子環(huán)形網(wǎng)絡(luò)的交叉節(jié)點(diǎn)。
步驟306在對應(yīng)的子環(huán)形網(wǎng)絡(luò)上操作待處理數(shù)據(jù)。
通過判斷待存儲(chǔ)數(shù)據(jù)的索引值與對應(yīng)子環(huán)形網(wǎng)絡(luò)當(dāng)前節(jié)點(diǎn)標(biāo)識號的差值是否大于待存儲(chǔ)數(shù)據(jù)索引值與下一節(jié)點(diǎn)標(biāo)識號的差值,若大于,則從當(dāng)前節(jié)點(diǎn)轉(zhuǎn)移到下一節(jié)點(diǎn)并重復(fù)進(jìn)行該步驟的判斷比較,否則,將待處理數(shù)據(jù)在當(dāng)前節(jié)點(diǎn)進(jìn)行查找或存儲(chǔ)等操作。
圖4為本發(fā)明基于分布式哈希表的多層環(huán)形網(wǎng)絡(luò)示意圖 在圖4所示的網(wǎng)絡(luò)中,主環(huán)形網(wǎng)絡(luò)的數(shù)據(jù)處理范圍為0-1000,將該主環(huán)形網(wǎng)絡(luò)分為10個(gè)子環(huán)形網(wǎng)絡(luò),每個(gè)子環(huán)形網(wǎng)絡(luò)的數(shù)據(jù)處理范圍依次為0-100,100-200,200-300,300-400,400-500,500-600,600-700,700-800,800-900,900-1000,主環(huán)形網(wǎng)絡(luò)上的對應(yīng)節(jié)點(diǎn)0與數(shù)據(jù)處理范圍為0-100的子環(huán)形網(wǎng)絡(luò)相連,主環(huán)形網(wǎng)絡(luò)上的對應(yīng)節(jié)點(diǎn)100與數(shù)據(jù)處理范圍為100-200的子環(huán)形網(wǎng)絡(luò)相連,依次類推,主環(huán)形網(wǎng)絡(luò)上的對應(yīng)節(jié)點(diǎn)900與數(shù)據(jù)處理范圍為900-1000的子環(huán)形網(wǎng)絡(luò)相連。
圖4中示出了數(shù)據(jù)處理范圍為0-1000的主環(huán)形網(wǎng)絡(luò);與對應(yīng)節(jié)點(diǎn)0相連的數(shù)據(jù)處理范圍為0-100的子環(huán)形網(wǎng)絡(luò),該子環(huán)形網(wǎng)絡(luò)包括7個(gè)節(jié)點(diǎn),分別為5、9、23、37、48、63和82,其中82為該子環(huán)形網(wǎng)絡(luò)的交叉節(jié)點(diǎn),子環(huán)形網(wǎng)絡(luò)通過該交叉節(jié)點(diǎn)與主環(huán)形網(wǎng)絡(luò)的對應(yīng)節(jié)點(diǎn)相連;與對應(yīng)節(jié)點(diǎn)100相連的數(shù)據(jù)處理范圍為100-200的子環(huán)形網(wǎng)絡(luò),該子環(huán)形網(wǎng)絡(luò)包括6個(gè)節(jié)點(diǎn),分別為102、115、123、138、151和194,其中194為該子環(huán)形網(wǎng)絡(luò)的交叉節(jié)點(diǎn),子環(huán)形網(wǎng)絡(luò)通過該交叉節(jié)點(diǎn)與主環(huán)形網(wǎng)絡(luò)的對應(yīng)節(jié)點(diǎn)相連。
本發(fā)明方法的優(yōu)選實(shí)施例流程如圖5所示,該實(shí)施例示出了在多層環(huán)形網(wǎng)絡(luò)中進(jìn)行數(shù)據(jù)存儲(chǔ)的流程 步驟501將主環(huán)形網(wǎng)絡(luò)分成至少兩個(gè)子環(huán)形網(wǎng)絡(luò)。
所有子環(huán)形網(wǎng)絡(luò)的數(shù)據(jù)存儲(chǔ)范圍與主環(huán)形網(wǎng)絡(luò)的數(shù)據(jù)存儲(chǔ)范圍相同,其中,每個(gè)子環(huán)形網(wǎng)絡(luò)通過交叉節(jié)點(diǎn)與主環(huán)形網(wǎng)絡(luò)的對應(yīng)節(jié)點(diǎn)相連,主環(huán)形網(wǎng)絡(luò)對應(yīng)節(jié)點(diǎn)的數(shù)據(jù)存儲(chǔ)范圍大于與該節(jié)點(diǎn)相連的子環(huán)形網(wǎng)絡(luò)的數(shù)據(jù)存儲(chǔ)范圍。
步驟502設(shè)置待存儲(chǔ)數(shù)據(jù)的索引值并將該數(shù)據(jù)發(fā)送到一個(gè)子環(huán)形網(wǎng)絡(luò)的某一節(jié)點(diǎn)上。
步驟503判斷待存儲(chǔ)數(shù)據(jù)是否屬于其當(dāng)前所在的子環(huán)形網(wǎng)絡(luò)的數(shù)據(jù)存儲(chǔ)范圍,若是,則執(zhí)行步驟504;否則,執(zhí)行步驟507。
比較待存儲(chǔ)數(shù)據(jù)的索引值與當(dāng)前子環(huán)形網(wǎng)絡(luò)存儲(chǔ)范圍的最大值,若該索引值大于當(dāng)前子環(huán)形網(wǎng)絡(luò)數(shù)據(jù)存儲(chǔ)范圍的最大值,或小于當(dāng)前子環(huán)形網(wǎng)絡(luò)數(shù)據(jù)存儲(chǔ)范圍的最小值,則表明待存儲(chǔ)數(shù)據(jù)不屬于當(dāng)前所在子環(huán)形網(wǎng)絡(luò)的數(shù)據(jù)存儲(chǔ)范圍;若該索引值不大于當(dāng)前子環(huán)形網(wǎng)絡(luò)數(shù)據(jù)存儲(chǔ)范圍的最大值,且不小于當(dāng)前子環(huán)形網(wǎng)絡(luò)數(shù)據(jù)存儲(chǔ)范圍的最小值,則表明待存儲(chǔ)數(shù)據(jù)屬于當(dāng)前所在子環(huán)形網(wǎng)絡(luò)的數(shù)據(jù)存儲(chǔ)范圍。
步驟504判斷要存儲(chǔ)數(shù)據(jù)的索引值與當(dāng)前節(jié)點(diǎn)標(biāo)識號的差值是否大于存儲(chǔ)數(shù)據(jù)索引值與下一節(jié)點(diǎn)標(biāo)識號的差值,若是,則執(zhí)行步驟505;否則,執(zhí)行步驟506。
步驟505將待存儲(chǔ)的數(shù)據(jù)傳遞到下一個(gè)節(jié)點(diǎn),然后返回步驟504。
步驟506將待存儲(chǔ)數(shù)據(jù)存儲(chǔ)在當(dāng)前節(jié)點(diǎn),結(jié)束流程。
步驟507將待存儲(chǔ)數(shù)據(jù)從當(dāng)前所在子環(huán)形網(wǎng)絡(luò)傳遞到主環(huán)形網(wǎng)絡(luò)。
將待存儲(chǔ)數(shù)據(jù)從當(dāng)前子環(huán)形網(wǎng)絡(luò)的當(dāng)前節(jié)點(diǎn)傳遞到該子環(huán)形網(wǎng)絡(luò)的交叉節(jié)點(diǎn),根據(jù)當(dāng)前子環(huán)形網(wǎng)絡(luò)的交叉節(jié)點(diǎn)與主環(huán)形網(wǎng)絡(luò)對應(yīng)節(jié)點(diǎn)的連接,將該待存儲(chǔ)數(shù)據(jù)從前子環(huán)形網(wǎng)絡(luò)的交叉節(jié)點(diǎn)傳遞到主環(huán)形網(wǎng)絡(luò)的對應(yīng)節(jié)點(diǎn)。
步驟508根據(jù)待存儲(chǔ)數(shù)據(jù)所述范圍將其傳遞到對應(yīng)的子環(huán)形網(wǎng)絡(luò)的交叉節(jié)點(diǎn)上。
主環(huán)形網(wǎng)絡(luò)搜索該網(wǎng)絡(luò)上的對應(yīng)節(jié)點(diǎn),其中待存儲(chǔ)數(shù)據(jù)所屬處理范圍屬于與該對應(yīng)節(jié)點(diǎn)相連的子環(huán)形網(wǎng)絡(luò)的數(shù)據(jù)存儲(chǔ)范圍,將該待存儲(chǔ)數(shù)據(jù)從搜索到的對應(yīng)節(jié)點(diǎn)傳遞到與該對應(yīng)節(jié)點(diǎn)相連的子環(huán)形網(wǎng)絡(luò)的交叉節(jié)點(diǎn)。
步驟509判斷要存儲(chǔ)數(shù)據(jù)的索引值與交叉節(jié)點(diǎn)標(biāo)識號的差值是否大于存儲(chǔ)數(shù)據(jù)索引值與下一節(jié)點(diǎn)標(biāo)識號的差值,若是,則執(zhí)行步驟505;否則,執(zhí)行步驟510。
步驟510將待存儲(chǔ)數(shù)據(jù)存儲(chǔ)在對應(yīng)子環(huán)形網(wǎng)絡(luò)的交叉節(jié)點(diǎn)上,結(jié)束流程。
下面結(jié)合圖4所示的多層環(huán)形網(wǎng)絡(luò)詳細(xì)描述應(yīng)用本發(fā)明方法進(jìn)行數(shù)據(jù)存儲(chǔ)的過程 將數(shù)據(jù)存儲(chǔ)范圍為0-1000的主環(huán)形網(wǎng)絡(luò)分成十個(gè)存儲(chǔ)范圍相等的子環(huán)形網(wǎng)絡(luò),每個(gè)子環(huán)形網(wǎng)絡(luò)的數(shù)據(jù)存儲(chǔ)范圍為100,主環(huán)形網(wǎng)絡(luò)上的對應(yīng)節(jié)點(diǎn)0與數(shù)據(jù)存儲(chǔ)范圍為0-100的子環(huán)形網(wǎng)絡(luò)相連,主環(huán)形網(wǎng)絡(luò)上的對應(yīng)節(jié)點(diǎn)100與數(shù)據(jù)存儲(chǔ)范圍為100-200的子環(huán)形網(wǎng)絡(luò)相連。
在該多層環(huán)形網(wǎng)絡(luò)中存儲(chǔ)數(shù)據(jù)120時(shí),設(shè)置該待存儲(chǔ)數(shù)據(jù)的索引值為120,假設(shè)該存儲(chǔ)操作從存儲(chǔ)范圍為0-100的子環(huán)形網(wǎng)絡(luò)中的節(jié)點(diǎn)37上發(fā)起。比較待存儲(chǔ)數(shù)據(jù)的索引值與當(dāng)前子環(huán)形網(wǎng)絡(luò)存儲(chǔ)范圍的最大值,由于該索引值120大于當(dāng)前子環(huán)形網(wǎng)絡(luò)數(shù)據(jù)存儲(chǔ)范圍的最大值100,則表明待存儲(chǔ)數(shù)據(jù)120不屬于當(dāng)前所在子環(huán)形網(wǎng)絡(luò)的數(shù)據(jù)存儲(chǔ)范圍,將數(shù)據(jù)120從節(jié)點(diǎn)37經(jīng)節(jié)點(diǎn)48、節(jié)點(diǎn)63后傳遞到當(dāng)前子環(huán)形網(wǎng)絡(luò)的交叉節(jié)點(diǎn)82,由于該交叉節(jié)點(diǎn)與主環(huán)形網(wǎng)絡(luò)的對應(yīng)節(jié)點(diǎn)相連,將數(shù)據(jù)120從交叉節(jié)點(diǎn)82傳遞到主環(huán)形網(wǎng)絡(luò)的對應(yīng)節(jié)點(diǎn)0上。主環(huán)形網(wǎng)絡(luò)根據(jù)待存儲(chǔ)數(shù)據(jù)的索引值120搜索到對應(yīng)節(jié)點(diǎn)100,該數(shù)據(jù)120所述的存儲(chǔ)范圍屬于與對應(yīng)接節(jié)點(diǎn)100相連的存儲(chǔ)范圍為100-200的子環(huán)形網(wǎng)絡(luò),主環(huán)形網(wǎng)絡(luò)將數(shù)據(jù)120從對應(yīng)節(jié)點(diǎn)100傳遞到存儲(chǔ)范圍為100-200的子環(huán)形網(wǎng)絡(luò)的交叉節(jié)點(diǎn)194上。判斷待存儲(chǔ)數(shù)據(jù)索引值120與交叉節(jié)點(diǎn)標(biāo)識194的差值大于待存儲(chǔ)數(shù)據(jù)索引值120與下一節(jié)點(diǎn)標(biāo)識102的差值,因此將數(shù)據(jù)120從交叉節(jié)點(diǎn)194傳遞到下一節(jié)點(diǎn)102;判斷待存儲(chǔ)數(shù)據(jù)索引值120與當(dāng)前節(jié)點(diǎn)標(biāo)識102的差值大于待存儲(chǔ)數(shù)據(jù)索引值120與下一節(jié)點(diǎn)標(biāo)識115的差值,因此將數(shù)據(jù)120從交叉節(jié)點(diǎn)102傳遞到該節(jié)點(diǎn)的下一節(jié)點(diǎn)115;判斷待存儲(chǔ)數(shù)據(jù)索引值120與當(dāng)前節(jié)點(diǎn)標(biāo)識115的差值小于待存儲(chǔ)數(shù)據(jù)索引值120與下一節(jié)點(diǎn)標(biāo)識123的差值,因此將數(shù)據(jù)120存儲(chǔ)在當(dāng)前節(jié)點(diǎn)(判斷過程中當(dāng)索引值與標(biāo)識的差值為負(fù)數(shù)時(shí),對該負(fù)數(shù)取100的補(bǔ)值然后比較大小)。
圖6為本發(fā)明另一種基于分布式哈希表的多層環(huán)形網(wǎng)絡(luò)示意圖 在圖6所示的網(wǎng)絡(luò)中,主環(huán)形網(wǎng)絡(luò)的數(shù)據(jù)處理范圍為0-1000,將該主環(huán)形網(wǎng)絡(luò)分為10個(gè)子環(huán)形網(wǎng)絡(luò),每個(gè)子環(huán)形網(wǎng)絡(luò)的數(shù)據(jù)處理范圍依次為0-100,100-200,200-300,300-400,400-500,500-600,600-700,700-800,800-900,900-1000,主環(huán)形網(wǎng)絡(luò)上的對應(yīng)節(jié)點(diǎn)0分別與數(shù)據(jù)處理范圍為0-100的子環(huán)形網(wǎng)絡(luò),以及數(shù)據(jù)處理范圍為100-200的子環(huán)形網(wǎng)絡(luò)相連。數(shù)據(jù)處理范圍為0-100的子環(huán)形網(wǎng)絡(luò)包括7個(gè)節(jié)點(diǎn),分別為5、9、23、37、48、63和92,其中92為該子環(huán)形網(wǎng)絡(luò)的交叉節(jié)點(diǎn);數(shù)據(jù)處理范圍為100-200的子環(huán)形網(wǎng)絡(luò)包括7個(gè)節(jié)點(diǎn),分別為102、115、123、138、151、172和194,其中194為該子環(huán)形網(wǎng)絡(luò)的交叉節(jié)點(diǎn)。
本發(fā)明網(wǎng)絡(luò)的優(yōu)選實(shí)施例如圖7所示 該網(wǎng)絡(luò)包括環(huán)形網(wǎng)絡(luò)分配單元710,主環(huán)形網(wǎng)絡(luò)720和子環(huán)形網(wǎng)絡(luò)730。其中,環(huán)形網(wǎng)絡(luò)分配單元710用于將主環(huán)形網(wǎng)絡(luò)分成至少兩個(gè)子環(huán)形網(wǎng)絡(luò),其中至少兩個(gè)子環(huán)形網(wǎng)絡(luò)的數(shù)據(jù)處理范圍總和與主環(huán)形網(wǎng)絡(luò)相同,該環(huán)形網(wǎng)絡(luò)分配單元分別與主環(huán)形網(wǎng)絡(luò)和子環(huán)形網(wǎng)絡(luò)相連;主環(huán)形網(wǎng)絡(luò)720用于根據(jù)待處理數(shù)據(jù)所屬處理范圍轉(zhuǎn)移到與該數(shù)據(jù)對應(yīng)的子環(huán)形網(wǎng)絡(luò)上;子環(huán)形網(wǎng)絡(luò)730用于判斷待處理數(shù)據(jù)是否屬于當(dāng)前子環(huán)形網(wǎng)絡(luò)的數(shù)據(jù)處理范圍,若是,則在當(dāng)前子環(huán)形網(wǎng)絡(luò)上對數(shù)據(jù)進(jìn)行操作;若否,則從當(dāng)前子環(huán)形網(wǎng)絡(luò)轉(zhuǎn)移到主環(huán)形網(wǎng)絡(luò)。
與環(huán)形網(wǎng)絡(luò)分配單元710相連的主環(huán)形網(wǎng)絡(luò)720包括主環(huán)形網(wǎng)絡(luò)轉(zhuǎn)移單元721和對應(yīng)節(jié)點(diǎn)搜索單元722。其中,主環(huán)形網(wǎng)絡(luò)轉(zhuǎn)移單元721用于從搜索到的對應(yīng)節(jié)點(diǎn)轉(zhuǎn)移到與該對應(yīng)節(jié)點(diǎn)相連的子環(huán)形網(wǎng)絡(luò)的交叉節(jié)點(diǎn);對應(yīng)節(jié)點(diǎn)搜索單元722用于搜索主環(huán)形網(wǎng)絡(luò)上的對應(yīng)節(jié)點(diǎn),所述待處理數(shù)據(jù)所屬處理范圍屬于與該對應(yīng)節(jié)點(diǎn)相連的子環(huán)形網(wǎng)絡(luò)的數(shù)據(jù)處理范圍。
與環(huán)形網(wǎng)絡(luò)分配單元710相連的子環(huán)形網(wǎng)絡(luò)單元730包括處理數(shù)據(jù)判斷單元731,子環(huán)形網(wǎng)絡(luò)轉(zhuǎn)移單元732和數(shù)據(jù)操作單元733。其中處理數(shù)據(jù)判斷單元731用于比較待處理數(shù)據(jù)的索引值與當(dāng)前子環(huán)形網(wǎng)絡(luò)數(shù)據(jù)處理范圍的最大值,若索引值大于當(dāng)前子環(huán)形網(wǎng)絡(luò)數(shù)據(jù)處理范圍的最大值,或小于當(dāng)前子環(huán)形網(wǎng)絡(luò)數(shù)據(jù)處理范圍的最小值,則待處理數(shù)據(jù)不屬于當(dāng)前所在子環(huán)形網(wǎng)絡(luò)的數(shù)據(jù)處理范圍;若索引值不大于當(dāng)前子環(huán)形網(wǎng)絡(luò)數(shù)據(jù)處理范圍的最大值,且不小于當(dāng)前子環(huán)形網(wǎng)絡(luò)數(shù)據(jù)處理范圍的最小值,則待處理數(shù)據(jù)屬于當(dāng)前所在子環(huán)形網(wǎng)絡(luò)的數(shù)據(jù)處理范圍;子環(huán)形網(wǎng)絡(luò)轉(zhuǎn)移單元732用于當(dāng)待處理數(shù)據(jù)不屬于當(dāng)前所在子環(huán)形網(wǎng)絡(luò)的數(shù)據(jù)處理范圍時(shí),從當(dāng)前子環(huán)形網(wǎng)絡(luò)的當(dāng)前節(jié)點(diǎn)轉(zhuǎn)移到當(dāng)前子環(huán)形網(wǎng)絡(luò)的交叉節(jié)點(diǎn),然后轉(zhuǎn)移到主環(huán)形網(wǎng)絡(luò)的對應(yīng)節(jié)點(diǎn);數(shù)據(jù)操作單元733用于當(dāng)待處理數(shù)據(jù)屬于當(dāng)前所在子環(huán)形網(wǎng)絡(luò)的數(shù)據(jù)處理范圍時(shí),在當(dāng)前子環(huán)形網(wǎng)絡(luò)上對數(shù)據(jù)進(jìn)行操作。
下面結(jié)合圖6所示的多層環(huán)形網(wǎng)絡(luò)詳細(xì)描述應(yīng)用本發(fā)明網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)存儲(chǔ)的過程 環(huán)形網(wǎng)絡(luò)分配單元將數(shù)據(jù)存儲(chǔ)范圍為0-1000的主環(huán)形網(wǎng)絡(luò)分成十個(gè)存儲(chǔ)范圍相等的子環(huán)形網(wǎng)絡(luò),每個(gè)子環(huán)形網(wǎng)絡(luò)的數(shù)據(jù)存儲(chǔ)范圍為100,主環(huán)形網(wǎng)絡(luò)上的對應(yīng)節(jié)點(diǎn)0分別與數(shù)據(jù)存儲(chǔ)范圍為0-100的子環(huán)形網(wǎng)絡(luò)和數(shù)據(jù)存儲(chǔ)范圍為100-200的子環(huán)形網(wǎng)絡(luò)相連。
在該多層環(huán)形網(wǎng)絡(luò)中存儲(chǔ)數(shù)據(jù)90時(shí),設(shè)置該待存儲(chǔ)數(shù)據(jù)的索引值為95,假設(shè)該存儲(chǔ)操作從存儲(chǔ)范圍為100-200的子環(huán)形網(wǎng)絡(luò)中的節(jié)點(diǎn)151上發(fā)起。數(shù)據(jù)存儲(chǔ)范圍為100-200的子環(huán)形網(wǎng)絡(luò)中的處理數(shù)據(jù)判斷單元通過比較得到,待存儲(chǔ)數(shù)據(jù)的索引值95小于當(dāng)前子環(huán)形網(wǎng)絡(luò)存儲(chǔ)范圍的最小值100,則表明待存儲(chǔ)數(shù)據(jù)95不屬于當(dāng)前所在子環(huán)形網(wǎng)絡(luò)的數(shù)據(jù)存儲(chǔ)范圍,子環(huán)形網(wǎng)絡(luò)轉(zhuǎn)移單元將數(shù)據(jù)95從節(jié)點(diǎn)151經(jīng)節(jié)點(diǎn)172后傳遞到當(dāng)前子環(huán)形網(wǎng)絡(luò)的交叉節(jié)點(diǎn)194,由于該交叉節(jié)點(diǎn)與主環(huán)形網(wǎng)絡(luò)的對應(yīng)節(jié)點(diǎn)0相連,將數(shù)據(jù)95從交叉節(jié)點(diǎn)194傳遞到主環(huán)形網(wǎng)絡(luò)的對應(yīng)節(jié)點(diǎn)0上。主環(huán)形網(wǎng)絡(luò)對應(yīng)節(jié)點(diǎn)搜索單元根據(jù)待存儲(chǔ)數(shù)據(jù)的索引值95搜索到對應(yīng)節(jié)點(diǎn)仍然為0,該數(shù)據(jù)95所述的存儲(chǔ)范圍屬于與對應(yīng)接節(jié)點(diǎn)0相連的存儲(chǔ)范圍為0-100的子環(huán)形網(wǎng)絡(luò),主環(huán)形網(wǎng)絡(luò)轉(zhuǎn)移單元將數(shù)據(jù)95從對應(yīng)節(jié)點(diǎn)0傳遞到存儲(chǔ)范圍為0-100的子環(huán)形網(wǎng)絡(luò)的交叉節(jié)點(diǎn)92上。當(dāng)前子環(huán)形網(wǎng)絡(luò)的處理數(shù)據(jù)判斷單元判斷待存儲(chǔ)數(shù)據(jù)索引值95與當(dāng)前交叉節(jié)點(diǎn)標(biāo)識92的差值小于待存儲(chǔ)數(shù)據(jù)索引值95與下一節(jié)點(diǎn)標(biāo)識5的差值,因此當(dāng)前子環(huán)形網(wǎng)絡(luò)的數(shù)據(jù)操作單元將數(shù)據(jù)95存儲(chǔ)在當(dāng)前交叉節(jié)點(diǎn)92(判斷過程中當(dāng)索引值與標(biāo)識的差值為負(fù)數(shù)時(shí),對該負(fù)數(shù)取100的補(bǔ)值然后比較大小)。
雖然通過實(shí)施例描繪了本發(fā)明,本領(lǐng)域普通技術(shù)人員知道,本發(fā)明有許多變形和變化而不脫離本發(fā)明的精神,希望所附的權(quán)利要求包括這些變形和變化而不脫離本發(fā)明的精神。
權(quán)利要求
1.一種基于分布式哈希表的數(shù)據(jù)處理方法,其特征在于,包括步驟
A、將主環(huán)形網(wǎng)絡(luò)分成至少兩個(gè)子環(huán)形網(wǎng)絡(luò),所述至少兩個(gè)子環(huán)形網(wǎng)絡(luò)的數(shù)據(jù)處理范圍總和與主環(huán)形網(wǎng)絡(luò)相同;
B、判斷待處理數(shù)據(jù)是否屬于當(dāng)前所在子環(huán)形網(wǎng)絡(luò)的數(shù)據(jù)處理范圍,若否,則從所述當(dāng)前子環(huán)形網(wǎng)絡(luò)轉(zhuǎn)移到主環(huán)形網(wǎng)絡(luò);
C、主環(huán)形網(wǎng)絡(luò)根據(jù)待處理數(shù)據(jù)所屬處理范圍轉(zhuǎn)移到與該數(shù)據(jù)對應(yīng)的子環(huán)形網(wǎng)絡(luò)。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟A中子環(huán)形網(wǎng)絡(luò)通過交叉節(jié)點(diǎn)與主環(huán)形網(wǎng)絡(luò)的對應(yīng)節(jié)點(diǎn)相連,所述主環(huán)形網(wǎng)絡(luò)對應(yīng)節(jié)點(diǎn)的數(shù)據(jù)處理范圍大于與該節(jié)點(diǎn)相連的子環(huán)形網(wǎng)絡(luò)的數(shù)據(jù)處理范圍。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟B中判斷待處理數(shù)據(jù)是否屬于當(dāng)前所在子環(huán)形網(wǎng)絡(luò)的數(shù)據(jù)處理范圍包括
比較待處理數(shù)據(jù)的索引值和當(dāng)前子環(huán)形網(wǎng)絡(luò)的數(shù)據(jù)處理范圍,
若所述索引值大于當(dāng)前子環(huán)形網(wǎng)絡(luò)數(shù)據(jù)處理范圍的最大值,或小于當(dāng)前子環(huán)形網(wǎng)絡(luò)數(shù)據(jù)處理范圍的最小值,則待處理數(shù)據(jù)不屬于當(dāng)前所在子環(huán)形網(wǎng)絡(luò)的數(shù)據(jù)處理范圍;
若所述索引值不大于當(dāng)前子環(huán)形網(wǎng)絡(luò)數(shù)據(jù)處理范圍的最大值,且不小于當(dāng)前子環(huán)形網(wǎng)絡(luò)數(shù)據(jù)處理范圍的最小值,則待處理數(shù)據(jù)屬于當(dāng)前所在子環(huán)形網(wǎng)絡(luò)的數(shù)據(jù)處理范圍。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟B中從當(dāng)前子環(huán)形網(wǎng)絡(luò)轉(zhuǎn)移到主環(huán)形網(wǎng)絡(luò)包括
從待處理數(shù)據(jù)所在的當(dāng)前子環(huán)形網(wǎng)絡(luò)的當(dāng)前節(jié)點(diǎn)轉(zhuǎn)移到該當(dāng)前子環(huán)形網(wǎng)絡(luò)的交叉節(jié)點(diǎn);
根據(jù)所述交叉節(jié)點(diǎn)與主環(huán)形網(wǎng)絡(luò)對應(yīng)節(jié)點(diǎn)的連接,從所述當(dāng)前子環(huán)形網(wǎng)絡(luò)的交叉節(jié)點(diǎn)轉(zhuǎn)移到主環(huán)形網(wǎng)絡(luò)的對應(yīng)節(jié)點(diǎn)。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟B還包括
判斷待處理數(shù)據(jù)是否屬于當(dāng)前所在子環(huán)形網(wǎng)絡(luò)的數(shù)據(jù)處理范圍,若是,則在當(dāng)前子環(huán)形網(wǎng)絡(luò)上對數(shù)據(jù)進(jìn)行操作。
6.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟C包括
主環(huán)形網(wǎng)絡(luò)搜索對應(yīng)節(jié)點(diǎn),所述待處理數(shù)據(jù)所屬處理范圍屬于與該對應(yīng)節(jié)點(diǎn)相連的子環(huán)形網(wǎng)絡(luò)的數(shù)據(jù)處理范圍;
從所述搜索到的對應(yīng)節(jié)點(diǎn)轉(zhuǎn)移到與該對應(yīng)節(jié)點(diǎn)相連的子環(huán)形網(wǎng)絡(luò)的交叉節(jié)點(diǎn)。
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,所述方法還包括
在所述對應(yīng)的子環(huán)形網(wǎng)絡(luò)上對待處理數(shù)據(jù)進(jìn)行操作。
8.一種基于分布式哈希表的數(shù)據(jù)處理網(wǎng)絡(luò),其特征在于,包括
環(huán)形網(wǎng)絡(luò)分配單元,用于將主環(huán)形網(wǎng)絡(luò)分成至少兩個(gè)子環(huán)形網(wǎng)絡(luò),所述至少兩個(gè)子環(huán)形網(wǎng)絡(luò)的數(shù)據(jù)處理范圍總和與主環(huán)形網(wǎng)絡(luò)相同;
子環(huán)形網(wǎng)絡(luò),用于判斷待處理數(shù)據(jù)是否屬于當(dāng)前子環(huán)形網(wǎng)絡(luò)的數(shù)據(jù)處理范圍,若是,則在當(dāng)前子環(huán)形網(wǎng)絡(luò)上對數(shù)據(jù)進(jìn)行操作;若否,則從當(dāng)前子環(huán)形網(wǎng)絡(luò)轉(zhuǎn)移到主環(huán)形網(wǎng)絡(luò);
主環(huán)形網(wǎng)絡(luò),用于根據(jù)待處理數(shù)據(jù)所屬處理范圍轉(zhuǎn)移到與該數(shù)據(jù)對應(yīng)的子環(huán)形網(wǎng)絡(luò)上。
9.根據(jù)權(quán)利要求8所述的網(wǎng)絡(luò),其特征在于,所述子環(huán)形網(wǎng)絡(luò)包括
處理數(shù)據(jù)判斷單元,用于比較待處理數(shù)據(jù)的索引值與當(dāng)前子環(huán)形網(wǎng)絡(luò)數(shù)據(jù)處理范圍的最大值,若所述索引值大于當(dāng)前子環(huán)形網(wǎng)絡(luò)數(shù)據(jù)處理范圍的最大值,或小于當(dāng)前子環(huán)形網(wǎng)絡(luò)數(shù)據(jù)處理范圍的最小值,則待處理數(shù)據(jù)不屬于當(dāng)前所在子環(huán)形網(wǎng)絡(luò)的數(shù)據(jù)處理范圍;若所述索引值不大于當(dāng)前子環(huán)形網(wǎng)絡(luò)數(shù)據(jù)處理范圍的最大值,且不小于當(dāng)前子環(huán)形網(wǎng)絡(luò)數(shù)據(jù)處理范圍的最小值,則待處理數(shù)據(jù)屬于當(dāng)前所在子環(huán)形網(wǎng)絡(luò)的數(shù)據(jù)處理范圍;
子環(huán)形網(wǎng)絡(luò)轉(zhuǎn)移單元,用于當(dāng)待處理數(shù)據(jù)不屬于當(dāng)前所在子環(huán)形網(wǎng)絡(luò)的數(shù)據(jù)處理范圍時(shí),從當(dāng)前子環(huán)形網(wǎng)絡(luò)的當(dāng)前節(jié)點(diǎn)轉(zhuǎn)移到當(dāng)前子環(huán)形網(wǎng)絡(luò)的交叉節(jié)點(diǎn),然后轉(zhuǎn)移到主環(huán)形網(wǎng)絡(luò)的對應(yīng)節(jié)點(diǎn)。
10.根據(jù)權(quán)利要求9所述的網(wǎng)絡(luò),其特征在于,所述子環(huán)形網(wǎng)絡(luò)還包括
數(shù)據(jù)操作單元,用于當(dāng)待處理數(shù)據(jù)屬于當(dāng)前所在子環(huán)形網(wǎng)絡(luò)的數(shù)據(jù)處理范圍時(shí),在當(dāng)前子環(huán)形網(wǎng)絡(luò)上對數(shù)據(jù)進(jìn)行操作。
11.根據(jù)權(quán)利要求8所述的網(wǎng)絡(luò),其特征在于,所述主環(huán)形網(wǎng)絡(luò)包括
對應(yīng)節(jié)點(diǎn)搜索單元,用于搜索主環(huán)形網(wǎng)絡(luò)上的對應(yīng)節(jié)點(diǎn),所述待處理數(shù)據(jù)所屬處理范圍屬于與該對應(yīng)節(jié)點(diǎn)相連的子環(huán)形網(wǎng)絡(luò)的數(shù)據(jù)處理范圍;
主環(huán)形網(wǎng)絡(luò)轉(zhuǎn)移單元,用于從所述搜索到的對應(yīng)節(jié)點(diǎn)轉(zhuǎn)移到與該對應(yīng)節(jié)點(diǎn)相連的子環(huán)形網(wǎng)絡(luò)的交叉節(jié)點(diǎn)。
全文摘要
本發(fā)明公開了一種基于分布式哈希表的數(shù)據(jù)處理方法,包括步驟A.將主環(huán)形網(wǎng)絡(luò)分成至少兩個(gè)子環(huán)形網(wǎng)絡(luò),所述至少兩個(gè)子環(huán)形網(wǎng)絡(luò)的數(shù)據(jù)處理范圍總和與主環(huán)形網(wǎng)絡(luò)相同;B.判斷待處理數(shù)據(jù)是否屬于當(dāng)前所在子環(huán)形網(wǎng)絡(luò)的數(shù)據(jù)處理范圍,若否,則從所述當(dāng)前子環(huán)形網(wǎng)絡(luò)轉(zhuǎn)移到主環(huán)形網(wǎng)絡(luò);C.主環(huán)形網(wǎng)絡(luò)根據(jù)待處理數(shù)據(jù)所屬處理范圍轉(zhuǎn)移到與該數(shù)據(jù)對應(yīng)的子環(huán)形網(wǎng)絡(luò)。本發(fā)明還公開了一種基于分布式哈希表的數(shù)據(jù)處理網(wǎng)絡(luò),包括環(huán)形網(wǎng)絡(luò)分配單元,子環(huán)形網(wǎng)絡(luò)和主環(huán)形網(wǎng)絡(luò)。應(yīng)用本發(fā)明可以將節(jié)點(diǎn)數(shù)量龐大的單層環(huán)形網(wǎng)絡(luò)根據(jù)需要分成若干層,由此減少數(shù)據(jù)處理的時(shí)間,降低了網(wǎng)絡(luò)系統(tǒng)的時(shí)間延遲,分散了網(wǎng)絡(luò)的風(fēng)險(xiǎn),增強(qiáng)了網(wǎng)絡(luò)整體的管理性。
文檔編號H04L12/42GK101193031SQ200610145270
公開日2008年6月4日 申請日期2006年11月24日 優(yōu)先權(quán)日2006年11月24日
發(fā)明者銳 曲 申請人:銳 曲