The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
Ускоренния поиска, !*! Dark_Evil, 19-Июн-07, 12:31  [смотреть все]
Возникла идея сделать такую вещь...
Перехватывать функцию созданния файла и его
удаленния в указаной директории.
При созданнии файла записывать куда-нибуть (делать лог)
че в директории есть такой файл в случае его удаленния также
удалять запись о его существовании в логе а при поиске
использовать этот лог.

Понимаю что идея наверно не новая, по этому прошу
может кто-то знает чето подобное, подскажите чеб
не создавать колесо заново.

  • Ускоренния поиска, !*! Niam, 10:16 , 20-Июн-07 (1)
    >Возникла идея сделать такую вещь...
    >Перехватывать функцию созданния файла и его
    >удаленния в указаной директории.
    >При созданнии файла записывать куда-нибуть (делать лог)
    >че в директории есть такой файл в случае его удаленния также
    >удалять запись о его существовании в логе а при поиске
    >использовать этот лог.
    >
    >Понимаю что идея наверно не новая, по этому прошу
    >может кто-то знает чето подобное, подскажите чеб
    >не создавать колесо заново.


    В ядре есть dentry кэш, за счет которого поиск и так быстр. И такой лог не всегда актуален. Тоесть тебе надо будет пролистать сначала лог(а если он состоит из 10000 элементов), и если эл. не найден - тогда _все_равно_ проводить поиск по дереву директорий.
    Можно использовать БД утилиты locate, перехватывать вызовы open(CREAT) и unlink, и модифицировать БД. Или, если это linux, то юзать inotify.

    • Ускоренния поиска, !*! Dark_Evil, 13:30 , 20-Июн-07 (2)
      >В ядре есть dentry кэш, за счет которого поиск и так быстр.
      >И такой лог не всегда актуален. Тоесть тебе надо будет пролистать
      >сначала лог(а если он состоит из 10000 элементов), и если эл.
      >не найден - тогда _все_равно_ проводить поиск по дереву директорий.

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




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру