IPFS中的文件如何检索?

释放双眼,带上耳机,听听看~!

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

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

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

分布式哈希表(D火币全球生态通证):分布式哈希表(D火币全球生态通证)全称是Distributed Hash Table。

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

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

多地址(MultiAddresses):

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

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

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

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

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

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

- 存储节点的IP是多少

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

- 存储节点的Peer ID是多少

内容获取:

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

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

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

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

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

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

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

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

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

 

矿业新闻

今日推荐 | 矿池业务何为会成交易所的“香饽饽”?

2020-4-11 10:45:00

矿业新闻

双币相继减半,BTC矿工该有哪些准备?

2020-4-11 12:54:00

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
今日签到
有新私信 私信列表
搜索