LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 币圈百科 > IPFS中的文件如何检索?

IPFS中的文件如何检索?

2020-04-11 Filecoin社区 来源:火星财经

我们知道IPFS系统除了有存储内容的功能以外,也有检索内容的功能。

之前我们对存储谈得比较多,谈检索相对较少。今天我们就和大家分享一下IPFS检索内容的过程。

我们会通过对几个关键术语的介绍带大家一步步了解IPFS检索内容的过程和方法。

分布式哈希表(DHT):分布式哈希表(DHT)全称是Distributed Hash Table。

当一个节点加入到IPFS网络中后,该节点中存储的IPFS内容就会通过IPFS的分布式哈希表(DHT)频繁地广播到IPFS全网,告诉其它节点它自己存储了什么内容。

这样当有用户希望检索的内容正好在这个节点上时,其它节点就会告诉用户从这个节点索取他想要的内容。

多地址(MultiAddresses):

在讲述多地址前,我们先定义两个概念:检索节点和存储节点。检索节点就是接到用户请求需要检索某个内容的节点。存储节点就是存储了用户所需内容的节点。

当检索节点要检索某个内容时,实际上是要查找谁是存储节点并且存储节点到底在哪里。

当存储节点被找到后,IPFS网络就会返回存储节点的“多地址”。典型的“多地址”看起来是类似下面这样的一串字符:

/ip4/123.456.78.90/tcp/4001/ipfs/QmAbCdEfGhIjKlMnOpQrStUvWxYzAbCdEfGhIjKlMnOpQr

“多地址”的“多”意味着它的格式有多种。它为检索节点提供了以下信息:

-其它节点如果想与存储节点进行通信需要遵循什么协议

-存储节点的IP是多少

-其它节点访问存储节点时该访问哪个端口

-存储节点的PeerID是多少

内容获取:

当有检索节点找到了存储节点后,会得到存储节点的“多地址”。

接下来检索节点就会通过“多地址”直接连接存储节点。这个连接过程就会用到IPFS的“swarm”功能,然后从存储节点获取所需的检索内容。

通常当检索检点通过DHT找存储节点时,这个寻找的过程比较耗时,这主要有两种原因:一是存储节点可能刚刚才接入进IPFS网络不久,二是知道存储节点的其它节点并不多。这两点本质上又统统可以归咎于节点之间的位置太分散。

那我们有没办法加速寻找存储节点的过程呢?当然是有的。

如果在某些情况下,检索节点已经知道了存储节点的位置,实际上它就没必要再通过DHT来搜索存储节点了,可以直接连接存储节点,就像在高速公路上走“快车道”一样能带来巨大的便利。

在IPFS中,我们可以手动设置直接连接一个节点。比如我们已经知道一个节点的“多地址”,我们就可以用IPFS的“swarm connect”功能直接连接。

这样当检索节点刚好知道存储节点的“多地址”时,可以用“swarm connect”直接连接存储节点。

以上就是IPFS中文件检索的过程以及我们如何加速文件检索的方法。

我是IPFS/Filecoin社区发起人晓熙(加入社区,联系v号: liandaoxixi),IPFS/Filecoin是全球共识最大的去中心化存储项目,我会定期在社区分享专业的资讯,为IPFS/Filecoin爱好者建设一个共赢的学习社区。

本文来源:Filecoin社区
原文标题:IPFS中的文件如何检索?

—-

编译者/作者:Filecoin社区

玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。

LOADING...
LOADING...