内容可寻址的数据同步工具
编码: 让我们将一个大型线性数据流分割成多个大小不一的块(每个块的大小取决于其内容),并将这些块存储在某个目录中的单个压缩文件中,每个文件的名称都是其内容的一个强哈希值,这样就可以使用哈希值作为检索完整块数据的关键。我们将这个目录称为"块存储"。同时,生成一个"块索引"文件,其中列出这些块哈希值以及各自的块大小,以简单的线性数组形式存储。块化算法的目的是从数据流中生成大小不同但相似的块,并且在放置在不同偏移位置时,相同的数据也会产生相同的块。有关更多信息,请参阅此博客文章。
解码: 我们来看看块索引文件,通过连接从块存储中检索的未压缩块,按照列出的块哈希值重新组合大量线性数据流。此外,我们引入了一个定义明确、可重现、支持随机访问的目录树序列化格式(类似于现代的 tar),以便通过对目录树进行序列化,然后将其传递到上述编码步骤中,来有效、稳定地在系统中存储完整的目录树。
最后,让我们将所有这些内容放到网络上:对于每个要传输的图像,生成一个块索引文件,并将其放到一个 HTTP 服务器上。对于块存储,也进行同样的操作,并将其共享给多个节点。
暂无开放 Issues,或尚未同步最近议题。