- 开始日期: 2017-12-10
将目标文件切分成多个部分,然后通过 Psychokinesis 网络存储至多个节点上,最终实现文件备份于分散的多个节点上,网络中超过一定比例的节点在线即可获取到完整的文件。如下图所示:
通过文件切分存储让数据回归客户端自身,去除数据中心化。
将文件分成多份以便于传输与存储。需要考虑以下几个因素:
- 单个分片的大小,和网络带宽有关,太大的分片会造成网络被长时间占用而导致其他请求卡住;
- 分片的数目,太多的分片会造成索引数据太多进而加重系统负载。
文件分片会被分散存储于多个节点上,同一个文件分片会被不同的 M 个节点存储(文件备份次数为 M),假设网络中共有 T 个节点,那么当网络中至少有 T - M + 1 个节点时文件就保证能够完整获取到。可以通过提升 M 值来加大文件成功获取的概率。 文件分片分散的算法通过一致性哈希实现,通过偏移产生多个一致性哈希环实现备份。
ipfs 去中心化的网络文件系统。
目前文件与节点的对应元数据信息存储于普通的数据库中,未来需要考虑类似区块链的存储方法。