Ken*_*isa 6 windows windows-live-mesh
计算机 A 和计算机 B 都在同步给定文件夹。您将一个 2GB 的文件添加到计算机 A 上的文件夹中,它自然会通过网络推送到计算机 B,尽管速度很慢。如果随后对计算机 A 上的 2GB 文件进行更改,会发生什么情况?
我想这些选择真的
a) 它将整个 2GB 文件推送到计算机 B 或 b) 它分析两个文件之间的差异,并仅通过网络发送更改。然后计算机 B 的网格服务应用这些更改。
但它是哪个?
另外,如果我将该 2GB 文件移动到子文件夹会发生什么?
如果随后对计算机 A 上的 2GB 文件进行更改,会发生什么情况?
有多种检测变化的方法。
您可以散列文件并查看散列是否不同(昂贵)。这是许多 MMO 修补程序用于文件完整性检查等的方法。
文件系统维护最后修改的字段。因此,按修改日期索引文件相对具有成本效益。然后,您只需定期轮询目录并根据需要更新内容。
许多操作系统实际上允许您订阅文件/文件夹列表,并在它们更改、添加新文件等时收到通知。
然后我们只需要发送更改。许多协议和算法仅支持发送更改。 Rsync是一种使用良好的协议(可能类似于网格所做的),它仅通过压缩来转换机器之间的差异,因此它具有相当的带宽效率。大文件的问题在于,一个更改可能会导致大量的小更改链,而这些更改很难有效地进行区分。
我很确定网格在机器之间传输时同时使用差分和压缩。但它是一个闭源产品,我找不到任何证实这一点的东西。
另外,如果我将该 2GB 文件移动到子文件夹会发生什么?
在大多数情况下,您需要重新下载更改。出于所有意图和目的,程序会将其视为删除,然后将新文件添加到新位置。
从理论上讲,您可以散列所有文件,并通过比较散列来查看新添加的文件是否已经存储。这将是相当昂贵的(例如,如果您要添加 1,000 个小文件)。
归档时间: |
|
查看次数: |
680 次 |
最近记录: |