Powered by Invision Power Board



Страницы: (5) 1 [2] 3 4 ... Последняя » ( Перейти к первому непрочитанному сообщению ) Ответ в темуСоздание новой темыСоздание опроса

> Поиск на сервере с сайта, Вопрос не только к автору. Ко всем.
Oleg
Дата 7.03.2006 - 17:56
Цитировать сообщение




Старик
***

Профиль
Группа: Members
Сообщений: 173
Пользователь №: 70
Регистрация: 20.01.2006





QUOTE (_ON_ @ Mar 7 2006, 16:24)
(ведь если если я не ошибаюсь то содержимое файла и таблицы может быть одно и тоже только поиск и доступ разный) в этом я проблемы не вижу, придется только писать содержимое файла *.dat в таблицу строчка за строчкой и все! Или я ошибаюсь?

Мне кажется, Вы ошибаетесь. Содержимое файла dat представляет собой (я полагаю) дерево (я не говорю сейчас даже о хранении удаленных файлов), сброшенное в файл. Когда программа манипулирует этим деревом, то она всё его загружает в память, а уже потом отображает в интерфейсе или выполняет поиск по нему, поэтому как оно физически хранится не очень важно. Таблица же организована ввиде списка. Если мы каждую ветку дерева:

CODE
корневая_папка
          |
           -- Папка1
          |        |
          |        -- Файл1
          |        -- Файл3
           -- Папка2
                   |
                    -- Файл2


преобразовываем в:

корневая_папка\Папка1\Файл1
корневая_папка\Папка1\Файл3
корневая_папка\Папка2\Файл2

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

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

Но опять повторюсь, это мое представление организации файлов *.dat. И в общем случае нужно оценивать затраты на заливку данных в БД и скорость получения ответа на запрос к этой БД и затраты на считывание данных из текстовых файлов, полученных шаблонным способом из FI или даже чтение на прямую из файлов *.dat. Не факт, что работа с БД будет производительнее.
PMПисьмо на e-mail пользователю
Top
Oleg
Дата 7.03.2006 - 18:10
Цитировать сообщение




Старик
***

Профиль
Группа: Members
Сообщений: 173
Пользователь №: 70
Регистрация: 20.01.2006





Хотя сейчас посмотрел на файл *.dat в текстовом редакторе: чего-то он не очень похож на дерево. biggrin.gif . Точнее совсем не похож. Больше похож на список. blink.gif
PMПисьмо на e-mail пользователю
Top
tovSuhov
Дата 7.03.2006 - 19:32
Цитировать сообщение




Новичок
*

Профиль
Группа: Members
Сообщений: 4
Пользователь №: 83
Регистрация: 6.03.2006





QUOTE (Oleg @ Mar 7 2006, 13:26)

А у меня вывод smile.gif , что просто можно добавить возможность запуска какого-нибудь исполняемого файла с опциями в командной строке после завершения сканирования.

Нокаут! Действительно, как-то мне это в голову не пришло сразу.
Только это должно быть действительно в самом конце сканирования (после создания всех всех отчетов и проч.
Может уважаемый автор добавит такую функцию? Наверняка её внедрение не потребует серъезного изменения ядра...

Я, кстати, и у себя ее добавить попробую... Уж больно здоровская идея!
PMПисьмо на e-mail пользователю
Top
_ON_
Дата 7.03.2006 - 20:19
Цитировать сообщение




Новичок
*

Профиль
Группа: Members
Сообщений: 7
Пользователь №: 84
Регистрация: 6.03.2006





Если есть желание отделаться "малой кровью" то можно добавить возможность запуска.... но, вот таблице всеже куда эффективнее, даже в новой версии NTFS (или WinFS) была идея хранить мелкие файлы в MTF (аля база данных) так что про производительность лутше неспорить, да и текст в пхп не так удобно обрабатывать как баблицу.
PMПисьмо на e-mail пользователю
Top
MAS
Дата 7.03.2006 - 20:25
Цитировать сообщение




Старик
***

Профиль
Группа: Автор
Сообщений: 1228
Пользователь №: 2
Регистрация: 21.06.2005





QUOTE (BraTT @ Mar 6 2006, 06:36)
У нас в локалке есть поиск, причем вероятно используется FI.....причем поиск длится несколько секунд.
FTP серверов в локалке ~500

Опрос производится с помощью FI, а вот выдача результатов (и соответственно - хранение данных для Web-запроса) сделано точно не в FI.
Скорее всего именно описанный вариант: FI создает отчет по шаблону, этот отчет заливается в БД. Далее php.
PMСайт пользователяICQ
Top
MAS
Дата 7.03.2006 - 20:33
Цитировать сообщение




Старик
***

Профиль
Группа: Автор
Сообщений: 1228
Пользователь №: 2
Регистрация: 21.06.2005





QUOTE (Oleg @ Mar 7 2006, 11:26)
А у меня вывод  smile.gif , что просто можно добавить возможность запуска какого-нибудь исполняемого файла с опциями в командной строке после завершения сканирования.

После завершения сканирования или после создания отчета?
Реализовать такое не сложно.
Всегда вызываем одну и ту же внешнюю программу или каждому серверу по личной? smile.gif
Какие параметры нужно передавать в вызываемую программу?
Хотя.... Можно же все "параметры" (имя сервера, дата опроса, .....) указывать в шаблоне.
Значит достаточно вызвать внешнюю программу и передать ей путь к файлу-отчета?
QUOTE
Во всяком случае, радикальный переход на какую-либо БД был бы ошибкой,

Согласен. Если только использовать embedded-БД.
QUOTE
а FI и без того потребляет процессорное время на 99%.

Это когда FI столько кушает? Если только во время поиска файлов, но это делается только по команде юзера smile.gif
PMСайт пользователяICQ
Top
MAS
Дата 7.03.2006 - 20:36
Цитировать сообщение




Старик
***

Профиль
Группа: Автор
Сообщений: 1228
Пользователь №: 2
Регистрация: 21.06.2005





QUOTE (Oleg @ Mar 7 2006, 13:06)
У меня при опросе 400 серверов в несколько потоков проц занят по полной.

Одновременно опрашивать 400 серверов?!!!!!!
Могу только посоветовать поиграть задержкой между опросами каталогов.
PMСайт пользователяICQ
Top
MAS
Дата 7.03.2006 - 20:40
Цитировать сообщение




Старик
***

Профиль
Группа: Автор
Сообщений: 1228
Пользователь №: 2
Регистрация: 21.06.2005





QUOTE (Oleg @ Mar 7 2006, 15:10)
QUOTE (_ON_ @ Mar 7 2006, 13:44)
Но все же, спорим мы тут бестолку, а придут автор и скажет что лень! И все тут sad.gif

Что-то подсказывает мне, что так оно и будет biggrin.gif . Но возможно все. cool.gif

Ага! Ленивее меня - это ещё поискать нужно biggrin.gif
Но вариант "запуск внешней программы" - это что-то интересное...
QUOTE
И одна из причин может быть та, что каталоги и файлы на сервере - вещь иерархическая, а БД, например, MySQL - реляционная. ...
Да и индексация данных от этого под вопросом, потому как тесно зависит от структуры БД.

Индексацию, имхо, будет не сделать.
PMСайт пользователяICQ
Top
MAS
Дата 7.03.2006 - 20:44
Цитировать сообщение




Старик
***

Профиль
Группа: Автор
Сообщений: 1228
Пользователь №: 2
Регистрация: 21.06.2005





QUOTE (Oleg @ Mar 7 2006, 18:10)
Хотя сейчас посмотрел на файл *.dat в текстовом редакторе: чего-то он не очень похож на дерево. biggrin.gif . Точнее совсем не похож. Больше похож на список. blink.gif

И снова не угадал smile.gif
Там ...хм... 2 "таблицы" - массив каталогов и массив файлов.
А файлы просто ссылаются на "номер каталога".
Может не самый лучший вариант, хотя данные весьма компактные получились smile.gif
Идея сделать дерево (по крайней мере для каталогов) - имеются. Заготовка уже есть, но придеться менять структуру .dat-файлов.
PMСайт пользователяICQ
Top
MAS
Дата 7.03.2006 - 20:52
Цитировать сообщение




Старик
***

Профиль
Группа: Автор
Сообщений: 1228
Пользователь №: 2
Регистрация: 21.06.2005





QUOTE (_ON_ @ Mar 7 2006, 20:19)
Если есть желание отделаться "малой кровью" то можно добавить возможность запуска.... 

Именно это для начала иреализую.
QUOTE
но, вот таблице всеже куда эффективнее, даже в новой версии NTFS (или WinFS) была идея хранить мелкие файлы в MTF (аля база данных)

Насколько я слышал, реализация WinFS с БД то ли загнулась, то ли отложена на дальнюю полочку.

А по поводу БД - _какую_ БД использовать?
К БД подавай ещё что-нить типа "ODBC-драйверов", а это лишние телодвижения для пользователей.
Это проблема с режимом "скачать с сервера готовую базу".
PMСайт пользователяICQ
Top
Oleg
Дата 7.03.2006 - 21:04
Цитировать сообщение




Старик
***

Профиль
Группа: Members
Сообщений: 173
Пользователь №: 70
Регистрация: 20.01.2006





QUOTE (MAS @ Mar 7 2006, 20:33)
Это когда FI столько кушает? Если только во время поиска файлов, но это делается только по команде юзера smile.gif

При опросе серверов с большой скоростью отдачи. Это нормально, поскольку там идет интенсивный разбор ответов от сервера.
PMПисьмо на e-mail пользователю
Top
Oleg
Дата 7.03.2006 - 21:06
Цитировать сообщение




Старик
***

Профиль
Группа: Members
Сообщений: 173
Пользователь №: 70
Регистрация: 20.01.2006





QUOTE (MAS @ Mar 7 2006, 20:36)
Одновременно опрашивать 400 серверов?!!!!!!
Могу только посоветовать поиграть задержкой между опросами каталогов.

Да нет, всего по 25 потоков biggrin.gif . А вот 400 потоков - это надо попробовать laugh.gif .
PMПисьмо на e-mail пользователю
Top
_ON_
Дата 7.03.2006 - 21:08
Цитировать сообщение




Новичок
*

Профиль
Группа: Members
Сообщений: 7
Пользователь №: 84
Регистрация: 6.03.2006





Пряматаки жаль!
QUOTE
А по поводу БД - _какую_ БД использовать?
К БД подавай ещё что-нить типа "ODBC-драйверов", а это лишние телодвижения для пользователей.
Это проблема с режимом "скачать с сервера готовую базу".

Просто все подобные проекты расщитанные на веб работают с мускулом а то и еще с чем (как опция) а юзать это будут админы, так что про проблемы с дровиной можно забыть )) но команды мускула выучить пришлось бы!

Основнавная польза идеи с мускулом в том что будет оч полезная прога которую многие ищут и ненаходят, а вот кучку скриптов делать.... тож конечно выход, но красивее будет если в самой проге это все будет!
PMПисьмо на e-mail пользователю
Top
MAS
Дата 7.03.2006 - 21:09
Цитировать сообщение




Старик
***

Профиль
Группа: Автор
Сообщений: 1228
Пользователь №: 2
Регистрация: 21.06.2005





QUOTE (Oleg @ Mar 7 2006, 21:04)
QUOTE (MAS @ Mar 7 2006, 20:33)
Это когда FI столько кушает? Если только во время поиска файлов, но это делается только по команде юзера smile.gif

При опросе серверов с большой скоростью отдачи. Это нормально, поскольку там идет интенсивный разбор ответов от сервера.

Дык задержка между опросами каталога именно для этого и сделана - меньше кушаем процессора. (Но и дольше опрашиваем).
PMСайт пользователяICQ
Top
MAS
Дата 7.03.2006 - 21:11
Цитировать сообщение




Старик
***

Профиль
Группа: Автор
Сообщений: 1228
Пользователь №: 2
Регистрация: 21.06.2005





QUOTE (Oleg @ Mar 7 2006, 21:06)
QUOTE (MAS @ Mar 7 2006, 20:36)
Одновременно опрашивать 400 серверов?!!!!!!

Да нет, всего по 25 потоков biggrin.gif . А вот 400 потоков - это надо попробовать laugh.gif .

Если используешь ХРюшку, то она скорее всего от такой радости упадёт smile.gif
Почему - не знаю, главное что винтукей у меня не падает.
PMСайт пользователяICQ
Top
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темыСтраницы: (5) 1 [2] 3 4 ... Последняя » Ответ в темуСоздание новой темыСоздание опроса

 



[ Время генерации скрипта: 0.0141 ]   [ Использовано запросов: 11 ]   [ GZIP выключен ]