NFS如何处理数据请求?



当我使用别人的框架时,我发现它会在执行分布式计算之前使用NFS技术来共享指定的文件夹。

例如,在这个文件夹中有两个部分"part1"one_answers"part2"。然后,如果我的机器1读取'part1',机器2读取'part2',如果机器1想要获得'part2'的内容,那么它应该直接向机器2发出请求,还是直接读取本地'part2'文件?

我的理解是NFS可以将每台机器同步到相应的文件夹下,并且文件将存储在每台机器中,而不是链接到某台机器的相应位置。我不确定这种理解是否正确。

NFS使文件在网络上可用。使用您的示例,如果机器1和机器2是NFS服务器的客户机,那么在尝试检索数据时,它们不会相互引用。因此,当机器1需要'part2'时,它将向NFS服务器发出请求,而不是向机器2发出请求(尽管机器2已经读取了'part2')。

这样做的原因是NFS服务器上存在的'part2'的版本可能在机器2读取'part2'之间的时间发生了变化,使得机器2的'part2'副本过期。通过向NFS服务器发出所有请求,客户机可以确保它们在任何给定时间获得文件的最新版本。

你所描述的行为更类似于BitTorrent (https://en.wikipedia.org/wiki/BitTorrent)的行为。BitTorrent通过不允许文件更改和分发文件的散列来解决过时的文件问题。知道了这一点,你的种子客户端可以从"群"中的任何人请求文件夹或文件的一部分,并独立验证你收到的部分是正确的。

最新更新