Как мне опросить большое количество файлов на предмет изменений?

Я хотел бы опросить файловую систему на предмет изменений, добавленных или удаленных файлов или подкаталогов. Все изменения следует обнаруживать быстро, но без нагрузки на машину. ОС - Windows> = Vista, наблюдаемая часть - это локальный каталог.

Обычно я прибегал к FileSystemWatcher, но это приводило к проблемам с другими программами, которые пытались наблюдать за тем же местом (в первую очередь, Windows Explorer). Кроме того, я слышал, что FSW ненадежен даже для локальных папок и с большим буфером.

Основная проблема, с которой я сталкиваюсь, заключается в том, что количество файлов и каталогов может быть очень большим (предположим, 7 цифр). Простое выполнение проверки всех файлов каждую секунду заметно повлияло на мою машину.

Моей следующей идеей было проверять разные части всего дерева в секунду, чтобы уменьшить общее воздействие, и, возможно, добавить своего рода эвристику, например, проверку файлов, которые часто меняются в более быстрой последовательности.

Мне интересно, есть ли шаблоны для такого рода проблем, или есть ли у кого-нибудь опыт в такой ситуации.

8
задан mafu 26 August 2011 в 11:30
поделиться