999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于P2P的資源搜索算法探討

2009-09-30 05:25:40趙著堂
新課程·上旬 2009年22期

趙著堂

摘 要:服務器的不堪重負和分布在網絡中的閑置資源促使了一種新的網絡范例——對等計算(Peer-to-Peer,簡稱P2P)的出現。文章介紹了P2P的三種類型,提出了基于根服務器的P2P搜索算法的設計。

關鍵詞:P2P 搜索 根服務器

一、引言

隨著Internet的廣泛普及和網絡應用規模的不斷擴大,客戶機/服務器模式的存儲技術面對快速增長的網絡規模,由于自身模式的原因閑置浪費了大量的計算和存儲資源。更大規模的網絡對存儲服務器提出了更高的要求。服務器的不堪重負和分布在網絡中的閑置資源促使了一種新的網絡范例——對等計算(Peer-to-Peer,簡稱P2P)的出現。本文就基于P2P的資源搜索算法設計進行探討。

二、P2P概述

P2P中文稱為對等網絡,是指分布式系統中的各個節點是邏輯對等的,也就是說,對等網絡中每個IP點的地位是對等的,既可充當服務器為其他節點服務,也可充當客戶機消費其他IP點提供的服務。依據文件的檢索模型和機制,現有的P2P實現方式大致可以分為三種類型。它們分別是基于目錄服務器P2P,非結構化P2P和結構化P2P。

基于目錄服務器的P2P摒棄了傳統C/S模式由服務器負責一切的方式,用一個或多個中央目錄服務器存儲資源的實際存儲位置,并響應各P2P對等機的查詢請求;在非結構化的P2P中,網絡模型無需特別的設計,節點在網絡中完全對等,加入和退出網絡不會引起大量的維護消息;結構化的P2P多數采用基于DHT技術構造,具有明確的搜索目的性,具有較高的搜索效率。

三、基于根服務器的P2P搜索算法設計

1.數據結構

(1)根服務器上保存所有搜索樹根的列表:

structRootlst{

long KEY_Sector;

long ip;

}rootlst[LENGTH];

(2)物理節點(PN)所保存的本地邏輯節點列表:

struct LNlst{

longKEY_Sector;

long LNID;

}Inlst[LENGTH];

int LNnum;

(3)邏輯節點(LN)的路由表:

struct Lnroute{

longfather;

longchildren[4];

intchildren-count;

int Vln;

int Lin;

long Ext;};

struct LN{

long IP;

long KEY;

struct Lnroute Inroute;

}LNnew;

2.搜索樹根發現機制

所有LN維護一個僅存儲自己的父節點、所有子節點的位置信息的鄰居表,所有根節點的子節點均設置父節點為根節點的標識符口當一個LN需要獲得根節點的位置時,將發送一個根節點發現消息給自己的父節點,并逐級向上轉發,直到父節點為根節點時,返回響應消息。

3.空余度路由更新算法

子LN節點的空余度Vin或者空余度距離Lin發生改變時,將二者的值發給父LN,通知父節點執行空余度路由更新。

父節點更新自己存儲的該子節點的Vln和Lin,并根據新的子節點空余度路。

由狀況重新設置自己的空余度路由出口。

Vin為空余度,Lin為空余度距離,Ext為空余度路由出口。LN6下接4個節點之后,LN6的空余度路由發生改變,同時通知其父節點LN2,LN2將選擇Lin最小的子節點,而LN7.LN8.LN9的Lin均為0,因此LN6選擇這三個子節點中Vin最大者,即LN9作為自己的空余度路由出口。而LNl及其他兄弟節點并為受此拓撲變化的影響。

偽碼如下:

Route-update(child_Vln, child_Lln){

if (LN.Inroute.children_count<4){

LN.Inroute.Vln=4-LN.Inroute.children_count;

LN.Inroute.Lln=0;

LN.Inroute.Ext=localhost;}

else{

LN.Inroute.Ext=max_Lln(LN.children)

LN.Inroute.Vln=GetRemoteLN(LN.Inroute.Ext).InrouteVln;

LN.Inroute.tln=GetRemoteLN(LN.Inroute.Ext).InrouteLin+1}}

4.搜索樹創建算法

當一個物理節點上存儲的文件加入PZP網絡時,將執行一下步驟:

(1)計算出該文件各個關鍵字對應的哈希鍵值

(2)檢查本節點上是否已經存在包含該哈希鍵值的LN,如果沒有,則創建該LNnew.

(3)檢查該物理節點上是否已存在的其他LN,如果不存在,則向根服務器發送新LN消息:如果存在則利用該LN的根LN發現消息找到其所對應的根LN,即對應另一哈希數值區間的搜索樹根,并由此確定LNnew本身所屬的哈希數值區間的搜索樹是否存在(步驟d確保每個搜索樹根LN均保有所有搜索樹根LN的信息),若存在,則轉向LN加入算法;若不存在,則向根服務器發送新LN消息。

(4)根服務器接收到新LN消息,在LNnew所對應的哈希數值區間上新建一棵搜索樹,即將該物理節點上的這個新創建的LN定義為該搜索樹的根添加到本地搜索樹根表中的對應行,隨即將這張搜索樹根表發給所有根LN進行更新。

新加入的邏輯節點LNnew僅在本地不存在其他LN的時候才向根服務器發起查詢請求,而根服務器也僅需返回對應于LNnew所在哈希值區段的搜索樹樹根地址即可。

偽碼如下:

CreatTree(KEY){

if(!existed(GetLocalLN)(KEY))

PN.CreateLN(KEY);

if(LNnum>0){

oot=getRoot(anotherLN);

if(Root=getRootLRoot,KEY)==null){

LNnew.send(Sever,msg_NEWLN,LNnew.KEY,LNnew.IP);

Server.Add(Server.getSector(KEY),LNnew.lP);

Server.Broadcast(Server.getRootListQ);}

else

LNnew.send(Root,msgNEWLN,LNnew.KEY,LNnew.IP);}

else

LNnew.send(Sever,msg_NEWLN, LNnew.KEY,LNnew.IP);}}

建立搜索樹的目的即是將同在一個關鍵字哈希值區間內的文件邏輯上聚合在一起,當產生搜索請求時,搜索消息即可在某個搜索樹內部進行,消除了盲目性,而搜索樹的結構也保證了不會有消息循環和冗余。每個節點僅需負責簡單的轉發消息和查找自己的文件列表,負載分布合理,具有很高的效率。

5.邏輯節點加入算法

當一個新的LN:LNnew加入網絡,并且由算法A中的c)步驟轉向LN加入算法時:

(1)LNnew通過同一PN的其他搜索樹節點獲得自己所在搜索樹的根LN節點。若該PN沒有其他的LN時,則向根服務器查詢根LN。

(2)LNnew向根節點LN發送新LN消息。

(3)從根節點開始,依照空余度路由轉發LN加入消息,直到到達路由出口指向自身的節點LNi,即完成搜索。

(4)LN將LNi作為LNnew的父節點,并通知該當前節點和LNnew,二者隨后更新自己的空余度路由表。

LNnew向其所屬的搜索樹的根節點LN1發出加入請求,根節點沿著空余度路由進行搜索,直到找到出u指向自己的邏輯節點LN9。

LNnew接入搜索樹,成為LN9的子節點,則LN9更新其空余度路由,并向父節點LN2發出更新消息,以此類推,LN2和根節點LNI均更新空余度路由,LNnew加入過程完畢。

偽碼如下:

Root.OnNEWLN(KEY, IP)

Node=Root;

while(node.Inroute.Ext!=node.IP){

node=GetRemoteLN(node.Inroute.Ext);}

LNi=node;

LNi.children[LNi.lnroute.children_count] =LNnew.IP;

LNnew.father=LNi.IP;}

采用空余度路由的理由是盡可能將新加入的節點往靠近根LN的地方放置,并且盡可能將各LN的子節點排滿,避免在搜索樹的各個LN間廣播空余度查詢消息時,造成對搜索樹的大面積遍歷,浪費網絡資源。

參考文獻:

1.詹春華,陳曉蘇.對等網絡搜索方法比較與分析.湖北工學院學報,2004.

2.陳志琦,蘇德富.基于P2P技術的Gnutella網絡搜索路由機制的改進.計算機工程與設計,2005.

3.周晉,路海明,盧增祥,李衍達.基于部分匹配方式的可擴展P2P搜索算法.清華大學學報:自然科學版,2004,44(10).

作者單位:山東安丘市第三中學

主站蜘蛛池模板: 91视频精品| 久久精品人人做人人综合试看| 99久久婷婷国产综合精| 青青国产视频| 91偷拍一区| 欧洲欧美人成免费全部视频| 亚洲一区二区在线无码| 亚洲天堂网视频| 国产精品浪潮Av| 成人免费午夜视频| 婷婷色丁香综合激情| 国产玖玖玖精品视频| 久久国产精品娇妻素人| 黄片在线永久| 免费人成网站在线观看欧美| AV无码一区二区三区四区| 国产极品美女在线播放| 综合色区亚洲熟妇在线| 亚洲αv毛片| 人妻精品全国免费视频| 九九热这里只有国产精品| 日本人妻丰满熟妇区| 91精品国产综合久久香蕉922 | 久夜色精品国产噜噜| 欧美精品xx| 美女扒开下面流白浆在线试听 | 国产精品jizz在线观看软件| 国产一二三区在线| 99资源在线| 99re热精品视频中文字幕不卡| 午夜色综合| 一级不卡毛片| 在线播放91| 国产精品3p视频| 久久毛片免费基地| jizz国产在线| 高潮爽到爆的喷水女主播视频| 成人国内精品久久久久影院| 激情爆乳一区二区| 国产永久在线观看| 久久伊人色| 一本一道波多野结衣一区二区| 中文字幕首页系列人妻| 毛片国产精品完整版| 亚洲无线视频| 国产自在线拍| 国产区91| 国产性生大片免费观看性欧美| 麻豆精品在线| 国产欧美日韩资源在线观看| 日韩精品一区二区三区大桥未久| 色呦呦手机在线精品| 亚洲欧美一区二区三区蜜芽| 国产精品思思热在线| 久久国产精品波多野结衣| 精品午夜国产福利观看| 亚洲无码一区在线观看| 亚洲成A人V欧美综合| 秘书高跟黑色丝袜国产91在线| 成人小视频网| vvvv98国产成人综合青青| 国产综合日韩另类一区二区| 国产精品久线在线观看| 一级高清毛片免费a级高清毛片| 久久精品无码一区二区国产区 | 99久久精品视香蕉蕉| 国产精品人莉莉成在线播放| 亚洲成人动漫在线| 91蜜芽尤物福利在线观看| 国产www网站| 国产性猛交XXXX免费看| 国产女人综合久久精品视| 毛片手机在线看| 成年A级毛片| 久久人搡人人玩人妻精品 | 国产特一级毛片| 亚洲国产精品日韩av专区| 亚洲日韩精品欧美中文字幕| 激情無極限的亚洲一区免费| 国产成人高清精品免费| 国产成人无码AV在线播放动漫| 欧美成a人片在线观看|