?

JXTA的共享資源分布式索引SRDI

2016-11-09 00:25劉班
數字技術與應用 2016年9期

劉班

摘要:通過對共享資源分布式索引(SRDI)服務的支持,JXSE為JXTA網絡中查詢請求的傳播提供了一個高效的機制。集合節點維護了一個由邊緣節點發布的廣告的索引。當邊緣節點發布了一個新廣告,該節點就會使用SRDI服務,將新廣告的索引保存到集合節點中。通過這種集合-邊緣節點的層次體系,查詢只在集合節點之間傳播,從而在很大程度上減少了搜索一個廣告所涉及的節點數目。JXTA網絡的操作依賴于其解析分布式查詢的能力。JXTA使用了一種稱為共享資源分布式索引(SRDI)的分布式算法,以創建并維護網絡中資源的一個總體索引。論述了SRDI的工作原理和簡單應用實例。

關鍵詞:JXTA SRDI 共享資源分布式索引

中圖分類號:TP393.02 文獻標識碼:A 文章編號:1007-9416(2016)09-0235-01

1 工作原理

每個集合節點都維護著自己的一套同節點組中已知集合節點的列表。一個集合節點可能從一套預先定義好的種子集合節點列表中獲取其它集合節點的信息。集合節點周期性地選擇另外一些隨機數量的集合節點,并向這些集合節點發送其已知集合節點的一個隨機列表。同時,集合節點也周期性的清除掉那些沒有響應的集合節點。因而集合節點維護著其已知集合節點的一個大致上連續的網絡。

當一個節點發布了一個新的廣告后,這個廣告就被SRDI服務使用主鍵(比如廣告名稱或ID)進行了索引。SRDI只將廣告的索引存入集合節點,從而最小化那些需要存入集合節點的數據量。集合節點也將廣告的索引存入另外一些集合節點之中,這些集合節點是根據廣告索引的一個哈希函數計算結果選擇的。

本地網絡中的查詢(比如在一個子網內)會借助一個定義為廣播或多播方式的傳播協議傳播到本地網絡的節點之中。如果接收到該查詢的節點本地緩存中包含要查詢的信息,則該節點會直接響應發出該請求的節點。發往本地網絡以外的查詢首先被轉發到與本地網絡相連的集合節點上。該集合節點先在其本地緩存中查找是否有滿足查詢要求的信息。如果這個集合節點包含請求的信息,那么它就會直接回復發出該請求的節點,并且不會再傳播這個請求。如果這個集合節點在其SRDI緩存中包含此請求資源的索引,那么它就會通知發布該資源的節點,使那個節點可以直接響應發出該請求的節點,在這種情況下,集合節點只存儲了廣告的索引,而沒有存儲廣告本身,因而集合節點是不能直接響應請求節點的。

如果集合節點沒有包含請求的信息,那么JXTA網絡就會使用一個默認的有范圍限制的遍歷算法在一套集合節點中遍歷尋找包含了請求信息廣告索引的集合節點。為了減少一個查詢的TTL值,一個查詢的路徑可能會被一個網絡映射函數修改。為了避免可能導致網絡不穩定的Ping-Pong命令的影響,一個跳躍計數用于指定請求被映射/轉發的最大次數。一旦查詢到達了節點,該節點就可以直接回復最初發起該查詢的節點。

SRDI使用一個SHA1哈希尋址方案。在這個方案中,一個160位的哈希地址空間在一個集合節點的有序列表之中分配。當索引被接收后,哈希函數就會根據這些索引計算出他們的復制地址,然后將他們復制到這些地址對應的目標集合節點之上。

2 配置實例

圖1是一種配置的實例。節點A是一個邊緣節點,并配置為使用R1作為其集合節點(Rendezvous)。當節點A生成一個發現或搜索請求后,該請求就會首先被發送給它的集合節點R1,在這個實例中,該請求也會通過多播方式發送給同一子網的其它節點。

3 結語

在SRDI的支持下,JXTA網絡可以快速地對一個節點發出的公告查詢進行響應, 從而提高了JXTA網絡中節點間信息傳遞的效率,為基于JXTA框架的應用程序開發提供了方便。

參考文獻

[1]楊天路,劉宇宏等.P2P網絡技術原理與系統開發案例[M].北京:人民郵電出版社,2007.

[2]Sing Li.JXTA2:具有高性能、海量伸縮性的P2P網絡.

91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合