Обсуждение проекта
| |
drserj | Дата: Понедельник, 31.10.2016, 21:26 | Сообщение # 1 |
Генералиссимус
Группа: Администраторы
Сообщений: 4693
Статус: Offline
| Unilib - программа для создания локальных библиотек.
Unilib представляет собой развитый офлайновый каталогизатор локальной библиотеки с автоматизированной пакетной обработкой импортируемых книг. Программа позволяет производить автоматический отбор книг по критериям, заданным пользователем, отсеивать дубликаты и.т.д.
Особенности Unilib-а:
1) Поддержка нескольких библиотек. 2) Импорт/экспорт личных данных. 3) Возможность обмена данными с другими библиотеками Unilib.
Ориентировочная структура БД
Структура модуля импорта
|
|
| |
1_абрам | Дата: Среда, 26.04.2017, 11:17 | Сообщение # 151 |
Генералиссимус
Группа: Друзья
Сообщений: 1207
Статус: 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
Статус: Offline
| Цитата 1_абрам ( ) Не понял, что означает "не делая возможности просто добавить в базу каталог...".
Значит, что чел просто запустил в каталоге контента сканирование, оно просканировало, добавило в базу и с файлами ничего не делается. Тупо как лежали, так и лежат на месте, а в базу просто инфа занесена.
По первому варианту: имеются разнобойные файлы, от обычных без архивов до архивных и многотомных архивов. Файлы перепаковываются в формат %Z и переносятся в каталог контента. Оригиналы (опционально) удаляются, (хотя мне это не совсем нравится, можно удаление на пользователя повесить, вдруг что-то не так сделает, потом хрен восстановишь).
drSerj
|
|
| |
1_абрам | Дата: Среда, 26.04.2017, 12:51 | Сообщение # 153 |
Генералиссимус
Группа: Друзья
Сообщений: 1207
Статус: Offline
| Цитата drserj ( ) Значит, что чел просто запустил в каталоге контента сканирование, оно просканировало, добавило в базу и с файлами ничего не делается. Тупо как лежали, так и лежат на месте, а в базу просто инфа занесена.
Думал про такое. В принципе предусмотреть возможность занесение инфомацию в базу, не копируя книжку нужно. Здесь это логично сделать опционально. Хотелось бы также предусмотреть экспорт из фбд. Если в каталоге контента есть фбд без контента, то библиографич. информация заносится в базу.
Добавлено (26.04.2017, 10:51) --------------------------------------------- Удаление лучше повестить на пользователя.
Сообщение отредактировал 1_абрам - Среда, 26.04.2017, 12:51 |
|
| |
drserj | Дата: Среда, 26.04.2017, 13:17 | Сообщение # 154 |
Генералиссимус
Группа: Администраторы
Сообщений: 4693
Статус: Offline
| Цитата 1_абрам ( ) Хотелось бы также предусмотреть экспорт из фбд. уже...
Цитата 1_абрам ( ) Удаление лучше повестить на пользователя.
так и будет...
drSerj
|
|
| |
1_абрам | Дата: Среда, 26.04.2017, 14:18 | Сообщение # 155 |
Генералиссимус
Группа: Друзья
Сообщений: 1207
Статус: Offline
| Цитата drserj ( ) так и будет...
Можно сделать это единственной возможностью добавить данные в базу, не добавляя книгу.
|
|
| |
drserj | Дата: Среда, 26.04.2017, 16:16 | Сообщение # 156 |
Генералиссимус
Группа: Администраторы
Сообщений: 4693
Статус: Offline
| Цитата 1_абрам ( ) Можно сделать это единственной возможностью добавить данные в базу, не добавляя книгу.
Категорически нет. Если пользователь нормальный и понимает суть проблемы хранения и работы с контентом - он сразу будет отделять зерна от плевел, не допуская ситуации, когда разношерстный контент разрастется до такой степени, что программа захлебнется на любой крутости компьютере. Это копирование в однотипную структуру, как вариант, %z. Ситуация с тупым добавлением в базу - это если книг немного и пополнение не предвидится. Вот есть книги, их разово загнали в базу и всё.
drSerj
|
|
| |
PFN | Дата: Среда, 26.04.2017, 20:46 | Сообщение # 157 |
Генерал-майор
Группа: Друзья
Сообщений: 206
Статус: Offline
| Цитата drserj ( ) имеются разнобойные файлы, от обычных без архивов до архивных и многотомных архивов. Файлы перепаковываются в формат %Z и переносятся в каталог контента. Рассматриваем, как основной вариант. Удаление на пользователе.
А как стоит вопрос с предварительной очисткой от прочего мусора: - книги на ненужных языках; - книги ненужных жанров и тематики; - прочий мусор.
=============================== Приказ, который может быть понят неправильно, обязательно будет понят неправильно
|
|
| |
kolded | Дата: Среда, 26.04.2017, 20:48 | Сообщение # 158 |
Рядовой
Группа: Пользователи
Сообщений: 10
Статус: Offline
| Полностью согласен с "предыдущим оратором"! Обработку лучше делать ДО сканирования отдельным модулем "причёсывания" файлов. Или совместить. Ведь всё равно инф. из файла/о файле считывается. Лучше это делать один раз и потом хранить для формирования библиотеки, выполнив отбор нужного.
Сообщение отредактировал kolded - Среда, 26.04.2017, 20:56 |
|
| |
kolded | Дата: Четверг, 27.04.2017, 07:39 | Сообщение # 159 |
Рядовой
Группа: Пользователи
Сообщений: 10
Статус: Offline
| При актуализации после нажатия "Актуализировать" выскочила ошибка связи с сервером SQL, см.вложение. Актуализация не произошла. Чтение библиотеки ~2 суток.
|
|
| |
drserj | Дата: Четверг, 27.04.2017, 08:04 | Сообщение # 160 |
Генералиссимус
Группа: Администраторы
Сообщений: 4693
Статус: Offline
| Цитата PFN ( ) А как стоит вопрос с предварительной очисткой от прочего мусора: предлагаю это обсудить после решения основополагающих моментов. Лично я не против, но чуть позже.
Цитата kolded ( ) Обработку лучше делать ДО сканирования отдельным модулем "причёсывания" файлов. если про языки и т.д. То до сканирования - зачем? Книга при сканировании тут же разбирается, вся информация для отсева уже есть. Делать еще и предварительный разбор??? Тратить в 2 раза больше времени??? Нонсенс...
Цитата kolded ( ) При актуализации после нажатия "Актуализировать" выскочила ошибка связи с сервером SQL как вариант - что-то грохнуло коннект к серверу или сам сервер. Поскольку за лет эдак десять такого не наблюдалось ни у кого - есть подозрение, что дело не в программе. Я делаю актуализацию ежедневно, ибо каждый день получаю обновления.
drSerj
|
|
| |
PFN | Дата: Четверг, 27.04.2017, 09:55 | Сообщение # 161 |
Генерал-майор
Группа: Друзья
Сообщений: 206
Статус: Offline
| Цитата drserj ( ) предлагаю это обсудить после решения основополагающих моментов. Лично я не против, но чуть позже. Согласен обсуждать это в любое время...
Цитата drserj ( ) если про языки и т.д. То до сканирования - зачем? Книга при сканировании тут же разбирается, вся информация для отсева уже есть. Делать еще и предварительный разбор??? Тратить в 2 раза больше времени??? Нонсенс... Конечно, нужно использовать результаты сканирования. Здесь мне видится 2 варианта отсева: 1. Непосредственно при сканировании и разборе каждого отдельного файла. 2. Сначала закончить сканирование, а потом запустить отсев по уже собранной информации. Мне кажется, что первый вариант предпочтительней, т.к. все осуществится за один проход.
=============================== Приказ, который может быть понят неправильно, обязательно будет понят неправильно
|
|
| |
drserj | Дата: Четверг, 27.04.2017, 10:19 | Сообщение # 162 |
Генералиссимус
Группа: Администраторы
Сообщений: 4693
Статус: Offline
| Цитата PFN ( ) Мне кажется, что первый вариант предпочтительней, т.к. все осуществится за один проход.
естественно. Я и так совместил нахождение файла и обработку. Иначе, просканировал час, потом пару книг добавил и передумал... час куда-то исчез Так что механизм цикла следующий - прочитало файл - обработало - добавило в базу - перенесло - можно прекращать обработку по отмене. Единственная проблема - по обработке многофайлового архива (тысячника). Думаю, прервать можно на анализе любого файла внутри архива. Ибо, если тысячник и слабый комп - может затянуть надолго.
Вот еще вопрос по дублям. В мультилибе было 2 уровня отсева: 1. При сканировании папки проверялся имя файла +мд5 или имя файла +размер. 2. При обработке и добавлении в базу отсев по мд5 с возможностью принудительной добавки.
В юнилибе - я объединил сканирование и обработку. Какой механизм и на каком этапе лучше использовать?
drSerj
|
|
| |
1_абрам | Дата: Четверг, 27.04.2017, 14:24 | Сообщение # 163 |
Генералиссимус
Группа: Друзья
Сообщений: 1207
Статус: Offline
| Цитата drserj ( ) В юнилибе - я объединил сканирование и обработку. Какой механизм и на каком этапе лучше использовать?
Так вроде бы этап один (сканирование + обработка). И вроде бы сравнение мд5 достаточно для отсева дублей?Добавлено (27.04.2017, 12:24) --------------------------------------------- Два вопроса.
1) Под какое количество книжек проектируется унилиб?
2) Какой смысл вводить запись в БД унилиб, не заливая при этом файл (книгу)?
Сообщение отредактировал 1_абрам - Четверг, 27.04.2017, 14:15 |
|
| |
drserj | Дата: Четверг, 27.04.2017, 15:07 | Сообщение # 164 |
Генералиссимус
Группа: Администраторы
Сообщений: 4693
Статус: Offline
| Цитата 1_абрам ( ) Так вроде бы этап один (сканирование + обработка). И вроде бы сравнение мд5 достаточно для отсева дублей?
это 2 в 1 Вот и вопрос, откидывать файл еще на момент сканирования по мд5, или перед внесением в базу. Надо ли делать проверку на имя/размер (это быстрее) или мд5 в любом раскладе?
Цитата 1_абрам ( ) Какой смысл вводить запись в БД унилиб, не заливая при этом файл (книгу)?
А никто этого и не предлагал. Я предложил сканировать каталог разово, без копирования и тупо сохранить данные в базу. Есть люди, которые считают, что их система (скажем, по авторам, жанрам и т д) им удобнее. Ну и флаг в руки, я не против. Но книги в любом случае присутствуют.
drSerj
|
|
| |
1_абрам | Дата: Четверг, 27.04.2017, 17:09 | Сообщение # 165 |
Генералиссимус
Группа: Друзья
Сообщений: 1207
Статус: Offline
| Цитата drserj ( ) это 2 в 1 smile Вот и вопрос, откидывать файл еще на момент сканирования по мд5, или перед внесением в базу. Надо ли делать проверку на имя/размер (это быстрее) или мд5 в любом раскладе?
Не понял что означает "откидывать файл еще на момент сканирования по мд5".
Ты не ответил на вопрос "Под какое количество книжек проектируется унилиб?". Имхо, это должна быть небольшая специализированная библиотека (порядка 10 тыс. книжек). В этом случае нет проблемы со скоростью отбора книжек - и можно использовать отбор по мд5.
Добавлено (27.04.2017, 15:09) ---------------------------------------------
Цитата drserj ( ) А никто этого и не предлагал. Я предложил сканировать каталог разово, без копирования и тупо сохранить данные в базу. Есть люди, которые считают, что их система (скажем, по авторам, жанрам и т д) им удобнее. Ну и флаг в руки, я не против. Но книги в любом случае присутствуют.
Другими словами, поддерживаются несколько форматов хранения, а не только %Z?
Сообщение отредактировал 1_абрам - Четверг, 27.04.2017, 17:09 |
|
| |
|