Работа с большим количеством файлов

У меня есть внешний диск с миллиардом файлов. Если я смонтирую внешний диск на компьютере A, моя программа просканирует путь ко всем файлам и сохранит путь к файлам в таблице базы данных. После этого, когда я извлеку внешний диск, эти данные все равно останутся в таблице. Проблема в том, что если какие-то файлы удаляются на компьютере Б, и я снова монтирую его на компьютер А, я должен синхронизировать таблицу базы данных на компьютере А.Однако я не хочу снова сканировать все файлы, потому что это занимает много времени и тратит много памяти. Есть ли способ обновить таблицу базы данных без сканирования всех файлов при минимизации используемой памяти?

Кроме того, в моем случае ограничение памяти важнее времени. Это означает, что я предпочел бы сэкономить больше памяти, чем сэкономить больше времени.

Я думаю, что могу разрезать файлы на множество разделов и использовать какую-то специальную функцию (может быть, SHA1?), чтобы проверить, удалены ли файлы в этом разделе. Однако не могу найти способ разрезать файлы на разделы. Может ли кто-нибудь помочь мне или дать мне лучшие идеи?

8
задан nikhil 21 May 2012 в 13:21
поделиться