1 / 14
文档名称:

DHT路由算法.docx

格式:docx   大小:162KB   页数:14页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

DHT路由算法.docx

上传人:mh900965 2017/12/22 文件大小:162 KB

下载得到文件列表

DHT路由算法.docx

相关文档

文档介绍

文档介绍:一种精确的基于DHT的p2p网络搜索算法与网络拓扑模型
一、目前的p2p搜索算法研究状况及其缺点
     目前对于p2p系统的自动搜索算法研究已经成为p2p研究的一个热点。最初的p2p系统,如Napster,采用的是中心服务器式的搜索算法,在这样的系统中,中央搜索服务器很容易就成为系统性能的瓶颈和不稳定的根源。其后的一些系统,如Gnutella,采用的是分布式的搜索算法,查找按照简单洪泛(flooding)的方式进行。查找命令首先传播到用户的所有相邻结点,然后再传播到相邻节点的相邻节点,直到达到预先确定的层次为止。这样的查找算法无疑会造成巨大的带宽和资源浪费。
     现在的分布式p2p系统普遍采取的是DHT(Distributed Hash Table,分布式哈希表)搜索方法。该方法的思想是:每一份资源都由一组关键字进行标识。系统对其中的每一个关键字进行hash,根据hash的结果决定此关键字对应的那条信息由哪个用户负责储存。用户搜索的时候,用同样的算法计算出每个关键字的hash,再根据hash知道该关键字对应信息的储存位置,从而能够迅速定位资源的位置。下面举例说明。
     例如某份文件名为““。当用户共享此文件时,客户端把““这个字符串进行分词,结果可能是"雪","狼","湖","mp3"(其中点号已经被自动去掉)四个词。我们假设上面几个词的hash结果分别为15,26,37,48。DHT一般规定系统中第一个id号比hash值大的用户(记作newid=ess(hash),下同),负责保存这些关键字所对应的信息。假设此时系统中有id号分别为1, 9, 11, 19, 21, 29, 31, 39, 41几个用户,那么其中id=19的用户应当储存“雪”字对应的信息(可能包括文件hash,用户id等等)。同样id=29的用户储存“狼”字对应的信息,如此类推。
     用户在搜索关键字“雪狼湖”的时候,客户端用同样的分词算法分得"雪","狼","湖"三词,并用同样的方式确定了这三个词分别由id=19, id=29, id=39的用户保存,于是客户端就分别向这三个用户发出查询请求。这三个用户分别将每个关键字对应的文件信息返回,客户端再将其中不包括所有关键字的信息过滤掉,最后将结果文件列表上报给用户,搜索完成。
     这种DHT算法有多个变体,如Chord,CAN,Pastry,Tapestry等等,这几个系统的区别主要是路由算法的不同,在资源定位方法上并无不同。
我们先讨论资源定位的方法,第三章再讨论网络拓扑模型与路由算法。
     一般认为,用这种DHT算法,用户基本上都可以在一次跳转之内得到查找结果,所以非常方便。每个用户要储存的数据=平均文件数*平均每文件关键字数,与系统规模无关,所以采取这种方案的系统可以支撑起非常多的用户。
但是用户加入和退出时,相关的用户要进行处理,这方面的花销比较大,所以当用户频繁加入和退出时,有可能导致系统性能的下降。这方面的处理算法,可以参考其它文献,这里仅指出一点:通常,用户上线下线对系统的影响是按O(logN)的方式随用户数增大而递增的。
     这种算法最大的问题在于:无法精确查找,往往会浪费很多带宽。以上面的搜索“雪狼湖”为例,系统中所有关于“雪”,“狼”,“湖”的文件信息都会返回给搜索者,搜索者需要过滤掉不包含所有关键词的条目,才能得到比较精确的结果。我们知道,查找单独一个关键字的结果往往是非常多的,所有包含“雪”字的文件中,可能只有不到1%的文件含有完整的“雪狼湖”一词。因此这种算法中,%的搜索都是无用功,带宽和CPU资源的浪费非常大。
   
二、改进的DHT算法
 改进的DHT算法中,每个用户储存的信息不是文件的信息,而是其它用户的信息。
     前面所说的DHT算法中,一般每个关键字所指向的值都是文件的hash(可能还有用户id,扩展资料等信息)。实际上,我们只要将关键字对应的值改为用户id和地址即可,不需要保存文件的信息。
     搜索者在搜索一组关键字的时候(这组关键字之间可以有并、或、减等通用的逻辑运算符),用同样的算法可以定位关键字信息的保存位置(即用户,可称为关键字保存者),然后向这个位置查询,得到一组与查询的关键字联系的用户列表。搜索者再对各个关键字对应的用户列表的并、交、相减,最后得到可能拥有所需信息的用户(以下简称目标用户)列表。
客户端得到目标用户列表后,再逐个向这些用户发送查询请求。目标用户进行精确搜索后将结果返回,搜索完成。
     这样,搜索被划分为两步进行:首先根据关键字组得到目标用户列表,再对目标用户逐个进行精确查找。这种搜索的速度比通常的DHT要稍慢一些,

最近更新

《怪异水果》课件 25页

《悬索结构》课件 29页

《感悟珍珠港》课件 26页

鲸市公开课获奖教案省名师优质课赛课一等奖教.. 3页

2024年避雷针项目建议书 63页

风景音乐市公开课获奖教案省名师优质课赛课一.. 5页

中国疾控方案 3页

量一量幼儿市公开课获奖教案省名师优质课赛课.. 4页

账项调整市公开课获奖教案省名师优质课赛课一.. 5页

心力衰竭药物治疗的适应症与禁忌症 19页

2024年DVD播放设备项目建议书 62页

心力衰竭患者药物管理的临床路径设计 30页

草船借箭市公开课获奖教案省名师优质课赛课一.. 3页

强直性脊柱炎的合并症与并发症 27页

老鼠与猫市公开课获奖教案省名师优质课赛课一.. 4页

美术市公开课获奖教案省名师优质课赛课一等奖.. 4页

美丽的菊花市公开课获奖教案省名师优质课赛课.. 4页

引导儿童理解多元文化岁学习与发展指南 25页

绘本市公开课获奖教案省名师优质课赛课一等奖.. 5页

骨灰存放堂商业计划书 7页

香榧加工商业计划书 11页

餐饮食材供应商业计划书 6页

空间几何体三视图市公开课获奖教案省名师优质.. 7页

科学拓展课程市公开课获奖教案省名师优质课赛.. 7页

义捐活动安排方案 5页

描写松鼠的作文 4页

盖瓶盖儿市公开课获奖教案省名师优质课赛课一.. 4页

海域补偿合同范本 62页

2024届北京各区高三二模语文试题分类汇编(诗歌.. 13页

产品开发各阶段质量控制评审流程 5页