Сейчас надо решить вот такую проблему - среплицировать часть структуры каталогов из иерархической базы данных на файловую систему.
Репликация должна быть не только полная (все стереть и записать все по новой), но и инкрементная.
Например создали пару каталогов в базе данных - надо их же создать в файловой системе.
Удалили - тоже самое
В общем пока что интересует только создание-удаление. Переименование и перемещение тоже будет расцениваться тоже как создание-удаление.
Есть ли стандартные подходы к такой проблеме?
Алгоритм для репликации структуры каталогов
-
- Ник закрыт как дубликат.
- Posts: 6238
- Joined: 14 Mar 2001 10:01
- Location: .MD -> .SI -> .SE -> .AR.US -> .MD
-
- Posts: 8
- Joined: 07 Jul 2003 15:35
-
- Уже с Приветом
- Posts: 13316
- Joined: 13 Jun 1999 09:01
- Location: Yekaterinburg -> Montreal
Строим 2 списка файлов и каталогов, сортируем, идем по первому "оригинальному" проверяя присутствие такого же елемента во втором. Если во втором елемент не совпадает с первым, возможо:
а) появился новый елемент Х в первом и пока отсуствует во втором
б) был стерт елемент Ы в первом и пока присустствует во втором
пытаемся создать Х во втором (грубовато, ну или ищем Х во втором или Ы в первом начиная с текущей позиции, что д.б. очень быстро, зависит от тыпа сортировки) если ошибка, удаляем Ы во втором, идем далее
затем делаем рекоурсивный вызов для каждого подкаталога
где-то был у меня самопальный скрипт на REXX-e
а) появился новый елемент Х в первом и пока отсуствует во втором
б) был стерт елемент Ы в первом и пока присустствует во втором
пытаемся создать Х во втором (грубовато, ну или ищем Х во втором или Ы в первом начиная с текущей позиции, что д.б. очень быстро, зависит от тыпа сортировки) если ошибка, удаляем Ы во втором, идем далее
затем делаем рекоурсивный вызов для каждого подкаталога
где-то был у меня самопальный скрипт на REXX-e