1

我正在开发一个使用 jnotify 检查更改的目录同步程序。

这个想法是每当 jnotify 检测到更改时,都会执行同步。问题是当许多文件被复制到目录或在目录中修改时,会执行许多同步而不是一次大同步。

理想情况下,如果您要将 100 个大文件复制到目录 A,则在所有文件完全复制到目录 A 之前,不会同步到目录 B。

我曾考虑过以某种方式使用临时目录(A1)来保存文件,直到它们被完全复制,然后将它们移动到 A1 中。但是这个解决方案不能很好地工作,因为我使用一致来执行只发送文件增量的同步 - 这是我想使用而不是规避的功能。

也许有一种方法可以使用 i/jnotify 来检测多个文件何时被一次更新?

4

1 回答 1

1

这是一个建议。如何在您的应用程序上设置一个集合并让它收集“修改过的”文件/等,它将将该文件添加到一个集合中,当文件数量超过一定数量时,比如 100,然后您将进行同步. 如果您希望它具有合理的响应性,那么设置一个计时器也是一个好主意,例如如果在 X 时间内没有新的更改/等被添加到集合中,请继续进行同步.

于 2010-08-19T13:20:21.183 回答