LibRusLib
Пятница, 29.03.2024, 01:14
Приветствую Вас Гость | RSS
 
Главная ФорумРегистрацияВход
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Форум » MultiLib - Библиотекарь » Version 1.x » Обсуждение работы программы (Баги, проблемы, решения)
Обсуждение работы программы
drserjДата: Пятница, 25.09.2015, 19:49 | Сообщение # 661
Генералиссимус
Группа: Администраторы
Сообщений: 4693
Репутация: 30
Статус: Offline
Цитата PFN ()
Я пока думаю иначе и если у меня получится то, что я задумал, то обязательно покажу

ых.. каждый думает, что изобретет велосипед гораздо лучше тех, которые уже есть... smile

Цитата PFN ()
Логика, на мой взгляд, больше влияет на мотивацию поведения, а не на вкусы (предпочтения), особенно в таком деле, как выбор книг для своей библиотеки.


а при чем тут выбор книг к принципам каталогизации? котлеты отдельно, мухи отдельно smile

И вообще, вот мне интересно, столько страниц споров о добавлении жанров... А вот самому догадаться, как их стянуть с имеющейся библиотеки - слабо? smile
Если уж так лень самому прописать несколько жанров, можно создать новую приватную библиотеку, где нет книг, и скопировать туда файлы mlgenre.* и mlgenrename.* из либрусовой или флибустовой библиотек. 

Если уж так хочется правкой текстовых файлов заняться, есть и это...  \plugins\Private\initgenre.sql Перед созданием приватной библиотеки правим этот файл (с умом, ессесно) и при создании будут те жанры, которые Вы хотите.
Это так, к слову...


drSerj
 
PFNДата: Пятница, 25.09.2015, 23:09 | Сообщение # 662
Генерал-майор
Группа: Друзья
Сообщений: 206
Репутация: 0
Статус: Offline
Цитата drserj ()
каждый думает, что изобретет велосипед гораздо лучше тех, которые уже есть...

Так это даже не велосипед, а какая-нибудь "педалька" или "спица"... smile Но вот идейка проклюнулась и просто хочется попробовать ее реализовать.

Цитата drserj ()
а при чем тут выбор книг к принципам каталогизации?

Для каждого конкретного индивидуума они взаимосвязаны. 

Цитата drserj ()
И вообще, вот мне интересно, столько страниц споров о добавлении жанров... А вот самому догадаться, как их стянуть с имеющейся библиотеки - слабо?

Я не считаю наш обмен мнениями спором, но все, умолкаю и больше ни слова на эту тему.
Насчет "стянуть" - как-то об этом не подумал... За подсказку, спасибо!


===============================
Приказ, который может быть понят неправильно, обязательно будет понят неправильно
 
drserjДата: Суббота, 26.09.2015, 16:19 | Сообщение # 663
Генералиссимус
Группа: Администраторы
Сообщений: 4693
Репутация: 30
Статус: Offline
Цитата PFN ()
Я не считаю наш обмен мнениями спором, но все, умолкаю и больше ни слова на эту тему.

ой, да ладно, разбавили молчание несколькими страничками smile

Цитата PFN ()
Насчет "стянуть" - как-то об этом не подумал... За подсказку, спасибо!


Да не за что, в общем то... Подсказка на поверхности всё время лежала...


drSerj
 
vsv13579Дата: Воскресенье, 04.10.2015, 09:14 | Сообщение # 664
Рядовой
Группа: Пользователи
Сообщений: 8
Репутация: 0
Статус: Offline
Доброе утро!

Win7 64bit
MultiLib 1.06
Создал PrivateLib, добавил ~30 000 книг в fb2. 
При выборе любой книги в главном окне, программа подвисает на ~1мин., потом отвисает и показывает описание к выбранной книге.
Почему она подвисает? Как это исправить?
 
drserjДата: Воскресенье, 04.10.2015, 16:21 | Сообщение # 665
Генералиссимус
Группа: Администраторы
Сообщений: 4693
Репутация: 30
Статус: Offline
Цитата vsv13579 ()
При выборе любой книги в главном окне, программа подвисает на ~1мин., потом отвисает и показывает описание к выбранной книге. Почему она подвисает? Как это исправить?

Почему подвисает? Действительно... Я бы тоже подвис smile Если бы кто-то, хотя бы поверхностно, почитал тему - этот вопрос не возник бы.
Тормоз для 30 000 книг организует сама файловая система. Особенно, если все книги слиты в один каталог. Создается перечень всех файлов, производится поиск по всему списку, и так для каждой книги. Неправда ли, утомительно даже для компьютера. Такой метод для сотен, ну, нескольких тысяч книг, и то напряжен. Очень влияет скорость винта, количество памяти, дефрагментация диска и т д...
Для того, что бы этот "дефект" исключить, можно:
1. самое лучшее - перегнать все книги в формат  фиксированной структуры библиотеки. Поиск осуществляется мгновенно. Дубликаты книг (по мд5) исключены.
2. отключить автоматический вывод обложки и аннотации. Для чтения аннотации и просмотра обложки можно использовать "Информация о книге"
3. если очень много денег - купить компьютер по-мощнее, диски по-шустрее (в идеале ssd) поставить эти диски в рейд... эх, мечты... 1 пункт значииительно проще и дешевле smile

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


drSerj
 
vsv13579Дата: Воскресенье, 04.10.2015, 18:10 | Сообщение # 666
Рядовой
Группа: Пользователи
Сообщений: 8
Репутация: 0
Статус: Offline
Цитата
Тормоз для 30 000 книг организует сама файловая система. Особенно, если все книги слиты в один каталог. Создается перечень всех файлов, производится поиск по всему списку, и так для каждой книги. Неправда ли, утомительно даже для компьютера. Такой метод для сотен, ну, нескольких тысяч книг, и то напряжен. Очень влияет скорость винта, количество памяти, дефрагментация диска и т д...
 
Все книги слиты в несколько папок.
Перечень всех файлов создается при добавлении(импорте) файлов в библиотеку.
Поиск? При чем тут скорость системы, если, в моем понимании, при импорте создается что-то вроде файла базы данных в котором есть все данные. И поиск происходит только внутри этого файла. Или я что-то не так понимаю?
Поясните плс.

По п1. подскажите что такое формат фикс. структуры библиотеки?
 
drserjДата: Воскресенье, 04.10.2015, 21:32 | Сообщение # 667
Генералиссимус
Группа: Администраторы
Сообщений: 4693
Репутация: 30
Статус: Offline
1. При добавлении в базу, ессесно, можно туда добавить и аннотацию и обложку.  Есть плюсы и минусы хранения больших объемов в базе.
2. Если в базе нет  аннотации и обложки, для их получения производится поиск нужного файла, его извлечение, извлечение и декодирование аннотации и обложки из этого файла. Именно тут и происходит торможение. Если отключить вывод картинки и описания - тормоза исчезают.

Немного не подумал, что проблема в приватной библиотеке, где, вроде, нет поддержки этого формата... Но так, для информации, что такое  формат фиксированной структуры библиотеки: это файл, имя которого представляет собой значение хэша (контрольной суммы), представляющее собой число из 32 символов в 16-ричной системе счисления, например, 00002cc95469bd990eba26e355b45c89.zip

Для того, что бы не создавать гигантский каталог, все эти файлы раскладываются по каталогам, представляющим собой по две первые пары символов. Для предыдущего случая общая структура будет такая:  .\00\00\00002cc95469bd990eba26e355b45c89.zip
Я объясняю несколько сумбурно, ибо уже не раз это описывал.
Конечный результат - двухуровневый набор каталогов, в которых равномерно распределены файлы книг. Поскольку алгоритм хранения математический - файл в системе можно не искать, а сразу сгенерировать к нему путь, что выполняется мгновенно.
На первый взгляд, такая система хранения чужда человеческому мозгу, но.... оно не предназначено для человека, а предназначена именно для машины. Невозможно реально для  человека вообще копаться в таком обилии файлов. По этому, когда некоторые говорят, что не смогут в таком формате разобраться, возникает вопрос, реально ли вообще хотя бы перечитать названия всех книг? smile
Кстати, можно спокойно, при помощи функции копирования на устройство перегонять имена файлов из одного формата в другой.
У меня, например, изначально были оригинальные архивы-тысячники от либруса и флибусты. Пока файлов было не очень много - всё было прекрасно. Но потом возникла именно эта проблема. Был разработан новый формат, который более подходит для машин. Я перегнал всё это под новый формат и до сих пор его пользую.
Если же необходимо получить читабельный формат для человека - делаю для нужных файлов копирование на устройство в удобном для меня формате (шаблоны в этом случае прекрасно работают).

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

Мдя... При большом количестве файлов действительно будут тормоза... В целях универсальности, дабы не привязывать файлы к конкретному месту хранения, я не храню в базе путь к файлу а храню только имя архива и имя файла... Т.е. происходит полный поиск файла по всем каталогам... Это не есть хорошо. Скорее всего придется со временем добавить фиксированную структуру в приватную библиотеку... Просто до сих пор никто не обращался с подобной проблемой...
Вариант решения, конечно, имеется... правда, может не понравится. Хранить не единичные книги, а многофайловые архивы, типа тысячников на либрусе/флибусте.


drSerj
 
vsv13579Дата: Понедельник, 05.10.2015, 18:39 | Сообщение # 668
Рядовой
Группа: Пользователи
Сообщений: 8
Репутация: 0
Статус: Offline
Спасибо за объяснение, но как я понимаю:
1. Основная функция программы-каталогизатора - найти книгу/и по данным(автор, название и т.д.), потом выбрать книгу(или несколько), ориентируясь по аннотации(+ обложке?), потом скачать эти книги с сервера/папки на устройство/папку.
2. Исходя из этого все данные по книгам, включая аннотацию(и обложку?) должны быть в максимально быстрой доступности.
3. Конечно было бы удобно иметь доп. функции, вроде поиска дупликатов и т.д.

Правильно, ли я понял, что такого механизма в приватной библиотеке нет?
 
drserjДата: Понедельник, 05.10.2015, 19:21 | Сообщение # 669
Генералиссимус
Группа: Администраторы
Сообщений: 4693
Репутация: 30
Статус: Offline
1. Всё это есть в программе.
2. Это весьма зависит от потребностей и возможностей. Когда есть баланс между этими величинами (как, например, у меня smile ) - всё работает достаточно красиво.
3. Программа имеет большой спектр возможностей, в т.ч. и по работе с дубликатами.

Цитата vsv13579 ()
Правильно, ли я понял, что такого механизма в приватной библиотеке нет?

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

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


drSerj
 
vsv13579Дата: Понедельник, 05.10.2015, 20:47 | Сообщение # 670
Рядовой
Группа: Пользователи
Сообщений: 8
Репутация: 0
Статус: Offline
по п.1 - данные по книгам, аннотации, обложки хранятся в базе приватной библиотеки?

Можете все-таки рассказать механизм - как работает приватная библиотека?
Хочется разобраться.

по железу пробывал в двух вариантах:
1. Книги лежат локально на SSD. Естественно никаких тормозов нет. Но это вариант только для теста - большой объем так хранить дорого(по-крайней мере мне).
2. Книги лежат на NAS'е(там обычные sata винты), связанном с компьютером, по Ethernet(1gb). Вот тут-то и начинаются тормоза.


Сообщение отредактировал vsv13579 - Понедельник, 05.10.2015, 21:02
 
PFNДата: Понедельник, 05.10.2015, 21:21 | Сообщение # 671
Генерал-майор
Группа: Друзья
Сообщений: 206
Репутация: 0
Статус: Offline
Цитата drserj ()
формат фиксированной структуры библиотеки в приватной библиотеке отсутствует (из-за скромности пользователей). Но это не значит, что его там так и не появится. При необходимости его можно и добавить.

Прошу прощения, что встреваю, но, возможно, мое замечание поможет.
До начала пользования программой у меня вся библиотека была разбита по каталогам вида: "D:\Книги\А\Алексеев Андрей\Вспышка.fb2" и т.д.
При создании приватной библиотеки я не стал сканировать все каталоги скопом, а сканировал по литералам, указывая соответственно пути в настройках.
При наличии около 250 тыс книг проблем  с поиском практически не наблюдаю.


===============================
Приказ, который может быть понят неправильно, обязательно будет понят неправильно
 
drserjДата: Понедельник, 05.10.2015, 22:02 | Сообщение # 672
Генералиссимус
Группа: Администраторы
Сообщений: 4693
Репутация: 30
Статус: Offline
Цитата vsv13579 ()
по п.1 - данные по книгам, аннотации, обложки хранятся в базе приватной библиотеки?

 В параметрах сканирования есть опции, регулирующие этот вопрос.

Цитата vsv13579 ()
как работает приватная библиотека?

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

Цитата vsv13579 ()
Книги лежат на NAS'е(там обычные sata винты), связанном с компьютером, по Ethernet(1gb). Вот тут-то и начинаются тормоза.


Я не уверен, что проблема не в НАСе, ибо у меня лежало на удаленном компе (под линухой на ext4 или raiser) и особых тормозов не наблюдалось... Впрочем, как я уже говорил, сие возможно при не очень быстром железе...


drSerj
 
vsv13579Дата: Вторник, 06.10.2015, 18:33 | Сообщение # 673
Рядовой
Группа: Пользователи
Сообщений: 8
Репутация: 0
Статус: Offline
2PFN: Не сильно понятно какая разница между указанием "корневой" папки или указанием всех папок в "корневой" папке.
Я отлично понимаю, что при сканировании надо вытащить кучу инфы из каждого файла в базу. Но сканирование происходит "один раз", а поиск книг в базе гораздо чаще.
Вопрос именно по тормозам работы с базой.

2drserj: 
эээ, а где это параметры выбора при сканировании, регулирующие этот вопрос???
Можете указать точнее?


Цитата
Тут есть вариант автоматического парсинга файла книги и вытягивания из него всей полезной информации, после чего всё это добавляется в базу.
 
Где????
где можно указать, что в базу надо вытянуть всю инфу, включая аннотацию и обложку?
Если вся эта инфа будет в базе, то доступ к самим книгам нужен только тогда когда необходимо скопировать книгу на устройство.
Это существенно, в моем понимании, ускорит работу с программой.

Проблем с НАСом не испытываю при использовании его как хранилище аудио/видео/фото и других файлов.
Да и честно не сильно понимаю, а где тут собственно нужна скорость??? Только при сканировании.
 
drserjДата: Вторник, 06.10.2015, 19:34 | Сообщение # 674
Генералиссимус
Группа: Администраторы
Сообщений: 4693
Репутация: 30
Статус: Offline
Цитата
Цитата vsv13579 ()
Но сканирование происходит "один раз"

упсь... а вот и нет... каждое обращение к базе... 

Цитата vsv13579 ()
эээ, а где это параметры выбора при сканировании, регулирующие этот вопрос???


Да, как-бы прямо на форме импорта, глядим хелп   Работа с программой > Работа с частными коллекциями > Импорт в частную коллекцию
Добавлять аннотацию в базу, Добавлять обложку в базу

Цитата vsv13579 ()
Где???? где можно указать, что в базу надо вытянуть всю инфу, включая аннотацию и обложку?



Да тут....

Цитата vsv13579 ()
а где тут собственно нужна скорость??? Только при сканировании.


Вот именно... А оно-то и происходит постоянно...
Прикрепления: 7207283.png (48.4 Kb)


drSerj
 
vsv13579Дата: Вторник, 06.10.2015, 20:07 | Сообщение # 675
Рядовой
Группа: Пользователи
Сообщений: 8
Репутация: 0
Статус: Offline
про аннотацию/обложку просмотрел. сорри..

Цитата
Вот именно... А оно-то и происходит постоянно...

вот наверное сейчас задам очень глупый вопрос, но все-таки задам  biggrin

А зачем???
зачем сканировать папки с книгами при каждом обращении к базе, если все данные по книгам есть в базе?

PS: для полного понимания - "база" это файл/ы в папке программы, так?
 
Форум » MultiLib - Библиотекарь » Version 1.x » Обсуждение работы программы (Баги, проблемы, решения)
Поиск:

Copyright LibRusLib © 2024