发新话题
打印

搜索方法:kad网络、全局(服务器)、服务器有什么不同

搜索方法:kad网络、全局(服务器)、服务器有什么不同

刚用emule  感觉kad搜索的更快一点   
全局有什么优点么

TOP

全局指 对  视频,图片,文本等全部搜索
电驴宗旨:我为人人,人人为我

TOP

“关于KAD搜索”一般我们搜索的大多数结果是来自KAD传递的结果,先看关于KAD的解释。(以下转VCD论坛的文章)
--------------------------------------------------------------------------------------------------------------------------------------------------------------------

Kademlia 网路的详细解释

基本上,Kademlia不是一個網路,是一個很熱門的技術,通稱為DHT (Distributed Hash Table 分散式雜�?表)。Kademlia雖說不是DHT中最好的,但是已經相當不錯,而且很新。DHT有很多應用,但是P2P可能是其中最重要的。因為它可以讓 P2P網路,完全不必使用伺服器。目前我所知道的網路,大概只有Freenet和早期的Gnutella沒有�?似伺服器的東西。其他的網路,舉凡 Fasttrack,eDonkey,OpenNap,WinMX等等,都有�?似伺服器的東西。但是前兩者的著名問題是效率不彰,因此DHT就可以幫助解決這個問題。另外沒有伺服器的好處,一是不怕伺服器被有關單位查禁,二是可以讓更多人連上P2P網路。像Overnet就是使用Kademlia技術的純 P2P網路,但是eMule Kademlia?K沒有和Overnet相容,聽說是eMule的設計師認為Overnet不夠好,所以把Overnet不好的地方修改了。總之, Overnet/eMule Kademlia都是基於Kademlia的網路,只是eMule?K沒有發明另一個新名稱罷了。至於哪個會成功,我個人看好eMule,因為 eDonkey網路上超過7成以上使用eMule。Overnet雖然問世超過1年,但是使用人數始終無法站上百萬。如果eMule Kademlia能把使用者帶進?恚蚁牖都働2P的好處,eMule Kademlia網路可能超過5百萬,超過Fasttrack的極盛時期。



kad 网络是一种根本不需要服务器的架构,每个emule客户端负责处理一小部分search和source finding的工作。分配工作的原理是基于客户端的唯一id和search或者source的hash之间的匹配来决定。比如说 LordOfRing1.avi这个文件由用户abc来负责(通过文件的hash决定),则任何用户共享这个文件的时候都会告诉用户abc我有这个文件,其他用户去下载这个文件的时候也会询问abc,abc告诉他们谁有这个文件,source finding就完成了。search的方法也差不多,每个人负责一个keyword。

至于如何找到用户abc则是通过一种将用户 id异或的方式,两个id的二进制异或值决定他们之间的逻辑距离,比如1100距离1101要比距离1001近。当一个哟用户加入kad后,首先通过一个已知的用户找到一批用户的id和ip:port。当此用户A要寻找某特定用户x时,A先询问几个已知的逻辑距离X较近的用户,如x1,x2,x3,x1, x2,x3会告诉A他们知道的更加近的用户的id,ip和port,一次类推,A最终就能找到X。寻找的次数应该在logN数量级,N是总人数.

-----------------------------------------------------------------------------------------
“关于服务器搜索”指的是你当前搜索的范围只能局限于你登陆的当前服务器,所以结果比较少。
-----------------------------------------------------------------------------------------------------------------------------------
“关于全局搜索”是综合了KAD和SERVER搜索,使你所要搜索的文件得到更多的搜索结果。
--------------------------------------------------------------------------------------------------------------------------
干是一种美德

TOP

发新话题