LibRusLib
Вторник, 19.03.2024, 12:09
Приветствую Вас Гость | RSS
 
Главная ФорумРегистрацияВход
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Форум » Unilib » Проектирование и разработка » Обсуждение проекта (Обсуждение проекта)
Обсуждение проекта
drserjДата: Понедельник, 31.10.2016, 21:26 | Сообщение # 1
Генералиссимус
Группа: Администраторы
Сообщений: 4693
Репутация: 30
Статус: Offline
Unilib - программа для создания локальных библиотек.

Unilib представляет собой развитый офлайновый каталогизатор локальной библиотеки с автоматизированной пакетной обработкой импортируемых книг. Программа позволяет производить автоматический отбор книг по критериям, заданным пользователем, отсеивать дубликаты и.т.д.

Особенности Unilib-а:

1) Поддержка нескольких библиотек.
2) Импорт/экспорт личных данных.
3) Возможность обмена данными с другими библиотеками Unilib.

Ориентировочная структура БД

Структура модуля импорта
 
1_абрамДата: Среда, 26.04.2017, 11:17 | Сообщение # 151
Генералиссимус
Группа: Друзья
Сообщений: 1207
Репутация: 0
Статус: Offline
Цитата drserj ()
Я делаю при анализе каталога распаковку и перепаковку в стандарт %z, при этом не делая возможности просто добавить в базу каталог...
Т.е.  на входе каталог  с

1) fb2, fb2.zip,  zip в котором содержится fb2 + fbd;
2) zip c не fb2+fbd.

Каталог сканируются, дубликаты и не фб2 без фбд отклоняются.
На выходе каталог, содержащий  отобранные  файлы в формате %z.

Все файлы, попавшие в этот каталог заносятся в базу.

Предлагаю для единообразия во все файлы %z добавлять фбд.

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


Сообщение отредактировал 1_абрам - Среда, 26.04.2017, 11:18
 
drserjДата: Среда, 26.04.2017, 12:10 | Сообщение # 152
Генералиссимус
Группа: Администраторы
Сообщений: 4693
Репутация: 30
Статус: Offline
Цитата 1_абрам ()
Не понял,  что означает "не делая возможности просто добавить в базу каталог...".


Значит, что чел просто запустил в каталоге контента сканирование, оно просканировало, добавило в базу и с файлами ничего не делается. Тупо как лежали, так и лежат на месте, а в базу просто инфа занесена.

По первому варианту:
имеются разнобойные файлы, от обычных без архивов до архивных и многотомных архивов. Файлы перепаковываются в формат %Z и переносятся в каталог контента. Оригиналы (опционально) удаляются, (хотя мне это не совсем нравится, можно удаление на пользователя повесить, вдруг что-то не так сделает, потом хрен восстановишь).


drSerj
 
1_абрамДата: Среда, 26.04.2017, 12:51 | Сообщение # 153
Генералиссимус
Группа: Друзья
Сообщений: 1207
Репутация: 0
Статус: Offline
Цитата drserj ()
Значит, что чел просто запустил в каталоге контента сканирование, оно просканировало, добавило в базу и с файлами ничего не делается. Тупо как лежали, так и лежат на месте, а в базу просто инфа занесена.


Думал  про такое.  В принципе предусмотреть возможность занесение инфомацию в базу, не копируя книжку нужно.  Здесь это логично сделать опционально. Хотелось бы также предусмотреть экспорт из фбд.  Если в каталоге контента есть фбд без контента, то библиографич.  информация заносится в базу.

Добавлено (26.04.2017, 10:51)
---------------------------------------------
Удаление лучше повестить на пользователя.


Сообщение отредактировал 1_абрам - Среда, 26.04.2017, 12:51
 
drserjДата: Среда, 26.04.2017, 13:17 | Сообщение # 154
Генералиссимус
Группа: Администраторы
Сообщений: 4693
Репутация: 30
Статус: Offline
Цитата 1_абрам ()
Хотелось бы также предусмотреть экспорт из фбд.

уже...

Цитата 1_абрам ()
Удаление лучше повестить на пользователя.

так и будет...


drSerj
 
1_абрамДата: Среда, 26.04.2017, 14:18 | Сообщение # 155
Генералиссимус
Группа: Друзья
Сообщений: 1207
Репутация: 0
Статус: Offline
Цитата drserj ()
так и будет...


Можно сделать это единственной возможностью добавить данные в базу, не добавляя книгу.
 
drserjДата: Среда, 26.04.2017, 16:16 | Сообщение # 156
Генералиссимус
Группа: Администраторы
Сообщений: 4693
Репутация: 30
Статус: Offline
Цитата 1_абрам ()
Можно сделать это единственной возможностью добавить данные в базу, не добавляя книгу.


Категорически нет. Если пользователь нормальный и понимает суть проблемы хранения и работы с контентом - он сразу будет отделять зерна от плевел, не допуская ситуации, когда разношерстный контент разрастется до такой степени, что программа захлебнется на любой крутости компьютере. Это копирование в однотипную структуру, как вариант, %z. Ситуация с тупым добавлением в базу - это если книг немного и пополнение не предвидится. Вот есть книги, их разово загнали в базу и всё.


drSerj
 
PFNДата: Среда, 26.04.2017, 20:46 | Сообщение # 157
Генерал-майор
Группа: Друзья
Сообщений: 206
Репутация: 0
Статус: Offline
Цитата drserj ()
имеются разнобойные файлы, от обычных без архивов до архивных и многотомных архивов. Файлы перепаковываются в формат %Z и переносятся в каталог контента.

Рассматриваем, как основной вариант. Удаление на пользователе.

А как стоит вопрос с предварительной очисткой от прочего мусора:
- книги на ненужных языках;
- книги ненужных жанров и тематики;
- прочий мусор.


===============================
Приказ, который может быть понят неправильно, обязательно будет понят неправильно
 
koldedДата: Среда, 26.04.2017, 20:48 | Сообщение # 158
Рядовой
Группа: Пользователи
Сообщений: 10
Репутация: 0
Статус: Offline
Полностью согласен с "предыдущим оратором"!
Обработку лучше делать ДО сканирования отдельным модулем "причёсывания" файлов.
Или совместить. Ведь всё равно инф. из файла/о файле считывается. Лучше это делать один раз и потом хранить для формирования библиотеки, выполнив отбор нужного.


Сообщение отредактировал kolded - Среда, 26.04.2017, 20:56
 
koldedДата: Четверг, 27.04.2017, 07:39 | Сообщение # 159
Рядовой
Группа: Пользователи
Сообщений: 10
Репутация: 0
Статус: Offline
При актуализации после нажатия "Актуализировать" выскочила ошибка связи с сервером SQL, см.вложение. Актуализация не произошла. Чтение библиотеки ~2 суток. sad
Прикрепления: 8997987.png (8.3 Kb)
 
drserjДата: Четверг, 27.04.2017, 08:04 | Сообщение # 160
Генералиссимус
Группа: Администраторы
Сообщений: 4693
Репутация: 30
Статус: Offline
Цитата PFN ()
А как стоит вопрос с предварительной очисткой от прочего мусора:

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

Цитата kolded ()
Обработку лучше делать ДО сканирования отдельным модулем "причёсывания" файлов.

если про языки и т.д. То до сканирования - зачем? Книга при сканировании тут же разбирается, вся информация для отсева уже есть. Делать еще и предварительный разбор??? Тратить в 2 раза больше времени??? Нонсенс...

Цитата kolded ()
При актуализации после нажатия "Актуализировать" выскочила ошибка связи с сервером SQL

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


drSerj
 
PFNДата: Четверг, 27.04.2017, 09:55 | Сообщение # 161
Генерал-майор
Группа: Друзья
Сообщений: 206
Репутация: 0
Статус: Offline
Цитата drserj ()
предлагаю это обсудить после решения основополагающих моментов. Лично я не против, но чуть позже.

Согласен обсуждать это в любое время...

Цитата drserj ()
если про языки и т.д. То до сканирования - зачем? Книга при сканировании тут же разбирается, вся информация для отсева уже есть. Делать еще и предварительный разбор??? Тратить в 2 раза больше времени??? Нонсенс...

Конечно, нужно использовать результаты сканирования. Здесь мне видится 2 варианта отсева:
1. Непосредственно при сканировании и разборе каждого отдельного файла.
2. Сначала закончить сканирование, а потом запустить отсев по уже собранной информации.
Мне кажется, что первый вариант предпочтительней, т.к. все осуществится за один проход.


===============================
Приказ, который может быть понят неправильно, обязательно будет понят неправильно
 
drserjДата: Четверг, 27.04.2017, 10:19 | Сообщение # 162
Генералиссимус
Группа: Администраторы
Сообщений: 4693
Репутация: 30
Статус: Offline
Цитата PFN ()
Мне кажется, что первый вариант предпочтительней, т.к. все осуществится за один проход.


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

Вот еще вопрос по дублям. В мультилибе было 2 уровня отсева:
1. При сканировании папки проверялся имя файла +мд5 или имя файла +размер.
2. При обработке и добавлении в базу отсев по мд5 с возможностью принудительной добавки.

В юнилибе - я объединил сканирование и обработку. Какой механизм и на каком этапе лучше использовать?


drSerj
 
1_абрамДата: Четверг, 27.04.2017, 14:24 | Сообщение # 163
Генералиссимус
Группа: Друзья
Сообщений: 1207
Репутация: 0
Статус: Offline
Цитата drserj ()
В юнилибе - я объединил сканирование и обработку. Какой механизм и на каком этапе лучше использовать?


Так вроде бы этап один  (сканирование + обработка).  И вроде бы сравнение мд5 достаточно для отсева дублей?

Добавлено (27.04.2017, 12:24)
---------------------------------------------
Два вопроса.

1) Под какое количество книжек проектируется унилиб?

2) Какой смысл вводить запись в БД унилиб, не заливая при этом файл (книгу)?

Сообщение отредактировал 1_абрам - Четверг, 27.04.2017, 14:15
 
drserjДата: Четверг, 27.04.2017, 15:07 | Сообщение # 164
Генералиссимус
Группа: Администраторы
Сообщений: 4693
Репутация: 30
Статус: Offline
Цитата 1_абрам ()
Так вроде бы этап один  (сканирование + обработка).  И вроде бы сравнение мд5 достаточно для отсева дублей?


это 2 в 1 smile Вот и вопрос, откидывать файл еще на момент сканирования по мд5, или перед внесением в базу. Надо ли делать проверку на имя/размер (это быстрее) или мд5 в любом раскладе?

Цитата 1_абрам ()
Какой смысл вводить запись в БД унилиб, не заливая при этом файл (книгу)?


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


drSerj
 
1_абрамДата: Четверг, 27.04.2017, 17:09 | Сообщение # 165
Генералиссимус
Группа: Друзья
Сообщений: 1207
Репутация: 0
Статус: Offline
Цитата drserj ()
это 2 в 1 smile Вот и вопрос, откидывать файл еще на момент сканирования по мд5, или перед внесением в базу. Надо ли делать проверку на имя/размер (это быстрее) или мд5 в любом раскладе?


Не понял что означает "откидывать файл еще на момент сканирования по мд5".

Ты не ответил на вопрос "Под какое количество книжек проектируется унилиб?".  Имхо, это должна быть небольшая специализированная библиотека (порядка 10 тыс. книжек).    В этом случае нет проблемы со скоростью отбора книжек - и  можно использовать отбор по мд5.

Добавлено (27.04.2017, 15:09)
---------------------------------------------
Цитата drserj ()
А никто этого и не предлагал. Я предложил сканировать каталог разово, без копирования и тупо сохранить данные в базу. Есть люди, которые считают, что их система (скажем, по авторам, жанрам и т д) им удобнее. Ну и флаг в руки, я не против. Но книги в любом случае присутствуют.


Другими словами, поддерживаются несколько  форматов хранения, а не только %Z?


Сообщение отредактировал 1_абрам - Четверг, 27.04.2017, 17:09
 
Форум » Unilib » Проектирование и разработка » Обсуждение проекта (Обсуждение проекта)
Поиск:

Copyright LibRusLib © 2024