自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(5)
  • 收藏
  • 关注

原创 结构化P2P网络——DHT网络原理

P2P系统的应用越来越广泛,在文件共享、流媒体服务、即时通讯交流、计算和存储能力共享以及协同处理与服务等方面都能看到P2P的存在,一些P2P应用如Napster、eMule、BitTorrent等早已是家喻户晓了。    P2P按其拓扑关系大致可以分为两类四种形式:       1.非结构化拓扑。包括中心化拓扑、分布式拓扑、半分布式拓扑,其分别对应着Napster、BitTorrent、K

2014-06-19 10:00:12 1104

原创 一个dht网络的“磁力链接”搜索python代码

这个python代码是用来从DHT网络(一种分布式的“磁力链接”的共享网络,这个叫法是我个人对这种分布式网络的称呼)中,检测收集“磁力链接”。每一个磁力链接就对应着一个种子文件。由于“磁力链接”在DHT网络中是通过分布式共享。所以通过检测DHT网络中的数据包就可以获得其他客户端发来的“磁力链接”,通过这些磁力链接下载相应的种子文件分析获取种子文件的文件资源名,这就完成了整个过程。我用自己的笔记

2014-06-19 09:56:54 1165

原创 使用erlang实现P2P磁力搜索-实现

DHT网络本质上是一个用于查询的网络,其用于查询一个资源有哪些计算机正在下载。每个资源都有一个20字节长度的ID用于标示,称为infohash。当一个程序作为DHT节点加入这个网络时,就会有其他节点来向你查询,当你做出回应后,对方就会记录下你。对方还会询问其他节点,当对方开始下载这个infohash对应的资源时,他就会告诉所有曾经询问过的节点,包括你。这个时候就可以确定,这个infohash对应的

2014-06-19 09:54:02 484

原创 磁力搜索第二版-dhtcrawler2

dhtcrawler最早的版本有很多问题,修复过的最大的一个问题是关于erlang定时器的,在DHT实现中,需要对每个节点每个peer做超时处理,在erlang中的做法直接是针对每个节点注册了一个定时器。这不是问题,问题在于定时器资源就像没有GC的内存资源一样,是会由于程序员的代码问题而出现资源泄漏。所以,dhtcrawler第一个版本在节点数配置在100以上的情况下,用不了多久就会内存耗尽,最终

2014-06-19 09:41:14 1375

原创 闲暇时间看了下DHT网络

Torrent文件内的数据结构分为以下几部分:关于这个网络的工作原理,参看:P2P中DHT网络爬虫(链接http://codemacro.com/2013/05/19/crawl-dht/)announce:Tracker的主服务器announce-list:Tracker服务器列表comment:种子文件的注释comment.utf-8:种子文件注

2014-06-19 09:38:38 340

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除