The OpenNET Project / Index page

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

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Ускоренния поиска"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Открытые системы на рабочей станции (Public)
Изначальное сообщение [Проследить за развитием треда]

"Ускоренния поиска"  
Сообщение от Dark_Evil email(ok) on 19-Июн-07, 12:31 
Возникла идея сделать такую вещь...
Перехватывать функцию созданния файла и его
удаленния в указаной директории.
При созданнии файла записывать куда-нибуть (делать лог)
че в директории есть такой файл в случае его удаленния также
удалять запись о его существовании в логе а при поиске
использовать этот лог.

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

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени, UBB]


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


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

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

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

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

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




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

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