免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4364 | 回复: 5
打印 上一主题 下一主题

[算法] 请教讨论BT的DHT网络的查找算法! [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-10-20 11:41 |只看该作者 |倒序浏览
我正在研究BT的下载原理,刚刚知道怎么从tracker服务器读取http活着udp的信息...这两项花了我半年的时间  哭...
    我现在在学习怎样读取DHT网络中的某一个种子有哪些用户在下载,我查阅了我能够早到的所有的DHT或者Kademlia的资料,有了一点头绪,我

认为查找DHT网络中正在下载某一种子用户信息的过程是这样的:
  1.取得种子的info_hash
  2.先从路由表中的存在的K桶查找出3个与拥有info_hash最近"米制距离"id的节点(node)
  3.使用bt的DHT协议的"get_peers"查询来对这3个node发送查询
  4.查询返回数据,数据中如果含有"nodes",就是返会8个更近的节点,如果含有"values"就是正在下载的用户的信息
  5.收集这些更近的节点信息,然后再使用bt的DHT协议的"get_peers"查询来对这些节点进行查询
  6.再回到第4步骤,直到找出所有的"values",不再返回"nodes"
请问是不是这样的呢?
我用多线程查没一个节点,直到最后没有节点信息返回了,过虑重复的,我总共得到500多的values返回的节点,也就是种子信息
可是我用bitcomet确查找出1500的种子
请问我的查找过程错了吗?


中文资料真的很少...英文的也没看到什么...

哪位大侠了解的能否给指点一二...非常感谢

论坛徽章:
0
2 [报告]
发表于 2006-10-20 14:49 |只看该作者
up 下..

论坛徽章:
0
3 [报告]
发表于 2006-12-29 18:36 |只看该作者
我也在做这个,但还没有你走的远。

论坛徽章:
0
4 [报告]
发表于 2006-12-29 19:00 |只看该作者
http://code.google.com/p/anulus/

希望这个项目对你有帮助。

另外最好帖一下你的一个查找会话的代码或者流程图,路由表可以不帖。

论坛徽章:
0
5 [报告]
发表于 2006-12-29 20:13 |只看该作者
这个对我也很有用,虽然不是马上用到,但是一定会用到的


提前关注一下

论坛徽章:
0
6 [报告]
发表于 2012-01-09 17:25 |只看该作者
顶2下,学习
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP