现在公开一个DHT网络爬虫
P2P按其拓扑关系大致可以分为两类四种形式:
1.非结构化拓扑。包括中心化拓扑、分布式拓扑、半分布www.usus式拓扑,其分别对应着Napster、BitTorrent、Kazaa这三种知名的应用。
2.结构化拓扑。主要形式为分布式结构化拓扑,也就是所谓的DHT网络。
DHT——Distributed Hash Table 分布式哈希表:
1.哈希表被分割成不连续的块,每个节点被分配给一个属于自己的哈希块www.usus,并成为这个哈希块的管理者。
2.通过加密哈www.usus希函数,一个对象的名字或关键词被映www.usus射为128位或160位的散列值。
DHT网络的基本思想如下:
1.每一份资源都由一组关键字进行标识。
2.系统对其中的每一个关键字进行Hash,根据Hash的结果决定此关键字对应的那条信息(即资源索引中的一项)由哪个用户负责储存。
3.用户搜索的时候,用同样的算法计算每个关键字的Hash,从而获得该关键字对应的信息存储位置,并迅速定位资源。
DHT关键字定位:
1.DHT通过分布式散列www.usus函数,将输入的关键字唯一映射到某个节点上,然后通过某些路由算法同该节点建立连接。
2.每个节点并不需要保存整个系统的节点视图信息,只在节点中存储其邻近的几个后继节点信息,当一个节点收到一个查询操作时,如果它发现所查询的标识不在自己关联的区间内,那么该节点将会把该查询发送给其存储节www.usus点信息表中它认为最靠近目标的邻居。
3.每次转发都能更进一步地接近数据源。因此较少的路由信息就可以有效地实现到达目标节点。
DHT的具体算法实现过程:
(1)对每个节点的一定特征(如IP地址)进行Hash,使得到的每个节点的节点值唯一。将节点按照节点值的从小到大构成一个环(Chord环)。(此处节点值可以看作是新环中的IP地址)
(2)通过节点值,获取每个节点与下一个临近节点之间的距离,从而获得每个节点所需负责的值区间。(此过程类似于建立路由表)
(3)对每个节点上的资源提取关键字,并对关键字进行Hash,得到的Hash值按照(2)中的每个节点负责的区间进行分配,从而使每一项资源的存储信息都被存储在一个节点上。(此步骤获得了资源的索引列表)
(4)当搜索一项www.usus资源时,对其关键字进行Hash,得到的值与当前节点的值区间表相比较,从而获得资源的索引信息最有可能存在的节点。查询该节点,获取资源的索引,根据索引,即可找到资源所在的节点,并建立通信。
与本文相关的文章
- 网络还原冰点8.3版:Windows 10系统的最佳保护伞
- Windows系统开启webdav挂载功能,访问webdav网络文件
- ghost网络克隆功能实现【批量】计算机操作【系统的安装】,万能ghost网络克隆工具...
- 网络配置管理的两种常见方式
- 等保测评高风险判定——安全计算环境(网络、安全、主机设备)篇
- ghost网络克隆功能实现【批量】计算机操作【系统的安装】,网络学习(三十)通过ghost的网络克隆功能实现操作系统的分发...
- Windows与网络基础:Windows共享和组策略应用
- 关于Ubuntu下浏览器不能上网但是能ping通网络的问题
- 网络摄像机(大华)不知道ip地址怎么办?查询IPC的ip地址?修改IPC的ip地址?
- 网络重置
- 【愚公系列】《Python网络爬虫从入门到精通》015-案例:爬取豆瓣电影Top 250
- ubuntu18.04桌面版网络连接显示问号的解决
- 爬虫Selenium+Chrome 控制浏览器,打开百度网页,输入搜索关键词,点击回车,截取搜索页面
- Windows与网络基础-12-13-NTFS文件及文件夹权限
- 微信QQ网络上传文件很慢怎么办?
- 虚拟机网络突然不能用了怎么办??
- wifi服务器延迟高,网络延迟高怎么办(家里WIFI延迟高,教你几招搞定网络延迟)...
- 网络显示连接,不能还是上网,找不到DNS怎么办?
- 100天精通Python(爬虫篇)——第118天:selenium自动化操作浏览器基础大总结
- 链接酒店wifi后微信弹出服务器,wifi怎么突然变成开放网络,wifi显示安全性开放,自己家wifi提示连接开放网络:wifi开放什么意思是什么意思是什么【微信开放wifi接口是什么意思】-南开游戏...
评论列表(0)
- 暂无评论