Я работаю над проектом, который в основном отслеживает набор удаленных каталогов (FTP, сетевые пути и т. Д.), Если файл считается новым и соответствует критериям, мы его загружаем и обрабатываем.Однако я застрял на том, что лучший способ отслеживать файлы, которые мы уже скачали.Я не хочу загружать дубликаты файлов, поэтому мне нужно следить за тем, что уже загружено.
Первоначально я хранил это как дерево:
server->directory->file_name
Когда службазавершает работу, записывает его в файл и перечитывает обратно при запуске.Однако, учитывая, что когда в дереве примерно 20 000 файлов или около того, файлы начинают сильно замедляться.
Есть ли лучший способ сделать это?
EDIT
Время поиска начинает сильно замедляться, моя базовая реализация - это диктат.Хранение данных на диске - это хорошо, это более или менее просто время поиска.Я знаю, что могу оптимизировать дерево и разбить его на части.Однако это кажется чрезмерным для такого маленького проекта, я надеялся, что у python будет что-то подобное.