Информационный портал
pocket versionPOCKET  wikiWIKI  FAQFAQ  ПоискПоиск  ПользователиПользователи  ГруппыГруппы  РегистрацияРегистрация  ПрофильПрофиль  Войти и проверить личные сообщенияВойти и проверить личные сообщения  ВходВход

Пиринг чем не новый вариант сетевой библиотеки?
На страницу Пред.  1, 2, 3, 4, 5, 6, 7, 8  След.
 
Найти сообщения без ответов
Начать новую тему   Ответить на тему    Список форумов www.fictionbook.org -> Сделано для FB
Предыдущая тема :: Следующая тема  
Автор Сообщение


Mike Sinkovsky
Зрелый участник форума

Зрелый участник форума

Зарегистрирован: 27.10.2005
Сообщения: 296
Откуда: Пермь

СообщениеДобавлено: Вт Май 22, 2007 4:58    Заголовок сообщения: Ответить с цитатой

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

В идеале наверно языком запросов к этой распределенной библиотеке тоже может быть SQL. Типа даем запрос поиска по неким критериям, оно выдает соответствующие запросу книги, как из сети, так и из локального кэша. Для экономии трафика можно только дескрипшены, остальное по отдельному запросу.

Это на низком уровне, ну и завернуть конечно в красивую оболочку типа библиотекаря. Или просто к нему подстыковать, для простоты.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение


Sergey Chernov
Новенький участник форума

Новенький участник форума

Зарегистрирован: 14.05.2007
Сообщения: 32

СообщениеДобавлено: Вт Май 22, 2007 16:35    Заголовок сообщения: Ответить с цитатой

Ценность идеи - именно в распространенной "библиографии", возможности искать по частичной информации о книге (вообще говоря, даже по цитате текста Smile ) и в автоматической поддержке общего архива. То есть не каталог новинок.

Смотрите, какя крутизна могла бы быть: как только с какого то узла в сеть попадает новая книга, узля начинают ее ассимилировать - создают резервные копии, обновляют библиографии и т.д. В идеале должно получиться так: вероятность того, что хоть раз попавшая в сеть книга, исчезнет, весьма мала при потере до 30% узлов. Этого нет в упомянутых ранее сетях.

Не как в торрентах, не UL/DL. А каждый узел хранит часть фонда сетевой библиотеки и часть ее каталога (определятеся квотой на диск и трафик). То и другое автоматически обновляется для достижения вышеупомянутой цели.

Плюс личная библиотека - сама не ментяется, может содержать "личные" книги, которые сами в сеть не уйдут. И "общие" книги, которые не должны уходить из личной библиотеки. Но они могут меняться, например, если автор подкорректирует ошибки или вставит картинки.

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

Как только сеть построится и начнет работать, желающих скачать всю библиотеку станет мало - будут скачивать серии, авторов и т.д., но не всю же библиотеку Smile И тут торенты не нужны.

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

А вот чего сразу надо - некий сервер библиографии, чтобы упорядочивал title-info - хотя бы author.id, а то как то непонятно, каким образом его назначать. Никто случаем не решал такую задачу?

На покет в принципе спортить тоже можно будет. А так - сразу будет *nix, win*, mac.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение


Mike Sinkovsky
Зрелый участник форума

Зрелый участник форума

Зарегистрирован: 27.10.2005
Сообщения: 296
Откуда: Пермь

СообщениеДобавлено: Вт Май 22, 2007 17:33    Заголовок сообщения: Ответить с цитатой

Да понятна идея, и я в общем то о том же. Правда идеями сыт не будешь, нужна реализация Smile

Единственно что вызывает некоторые сумненья - будет ли оно работать без модерации...
Не тот у нас народ, в большинстве, все таки. Без модераторов будет полный бардак.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение


Sergey Chernov
Новенький участник форума

Новенький участник форума

Зарегистрирован: 14.05.2007
Сообщения: 32

СообщениеДобавлено: Вт Май 22, 2007 18:57    Заголовок сообщения: Ответить с цитатой

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

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

Кстати, стоит и рецензии читателей тоже держать в распределенном архиве, и оценки.

А дальше как угодно - хочешь ищешь утвержденные, хочешь любые. В общем надо еще подумать.

Добавлено спустя 56 минут 2 секунды:

Еще уточнение. Питонскую прогу можно легко сварганить в .exe, который не будет требовать никаких прединсталляций. Но будет он немаленький, так как в него будут упиханы все необходимые пакеты. Спасибо, что не просто, все, которые стоят у разработчика Smile
Вернуться к началу
Посмотреть профиль Отправить личное сообщение


Mike Sinkovsky
Зрелый участник форума

Зрелый участник форума

Зарегистрирован: 27.10.2005
Сообщения: 296
Откуда: Пермь

СообщениеДобавлено: Вт Май 22, 2007 20:55    Заголовок сообщения: Ответить с цитатой

Так wx ведь не на питоне, его то уж наверно все равно отдельно ставить? Wink
Вернуться к началу
Посмотреть профиль Отправить личное сообщение


Sergey Chernov
Новенький участник форума

Новенький участник форума

Зарегистрирован: 14.05.2007
Сообщения: 32

СообщениеДобавлено: Вт Май 22, 2007 23:54    Заголовок сообщения: Ответить с цитатой

Ничего ваще не надо будет ставить - будет один огромный экзешник, а в него будет запихуем и питон, и wx, и все такое, типа pywin32 и lxml. Таким образом питон в кучу разных программ встроен - даже и не видно, что он там есть. В некоторые игры даже - кажется, в одну из последних цивилизаций. Или что то вроде. Правда, не уверен, что такое счастье есть для мака... тем более для *никса. Но на последнем питон почти всегда стоит сам по себе Smile

Естессно, если поставить сперва питон, а потом wx, то можно запаковать в .exe только собственно скрипты, ну и мелкие пакеты, типа lxml. Вот в чем счастье Smile

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

Да и инсталляцию для таких неленивых товарисчей можно будет делать по сетке. Например, так:

easy_install scribe
Вернуться к началу
Посмотреть профиль Отправить личное сообщение


Cd_spb
Зрелый участник форума

Зрелый участник форума

Зарегистрирован: 28.06.2006
Сообщения: 189

СообщениеДобавлено: Чт Май 24, 2007 14:43    Заголовок сообщения: Ответить с цитатой

Sergey Chernov писал(а):
Собственно я так и так делаю потихонечку библиотекарь с некоторым специальным функционалом. В принципе, могу потихонечку слепить, если будет спрос и поддержка в плане обсуждения - тестирования.

Потестить - завсегда пожалуйста. Могу тестировать на W2k, XP, и при помощи - на Linux.
242814022 Smile
Вернуться к началу
Посмотреть профиль Отправить личное сообщение


pash_ka
Новенький участник форума

Новенький участник форума

Зарегистрирован: 13.10.2005
Сообщения: 5

СообщениеДобавлено: Вт Май 29, 2007 16:08    Заголовок сообщения: Ответить с цитатой

На мой взгляд - начинать нужно с самого обычного торрент-трекера. Каталог книг, поиск - на сайте трекера. Книги релизятся стандартным для битторрента способом, описания на сайте можно создавать автоматом из инфы в fb2 (робот на сайте может закачивать анонсированные книги, парсить и писать в БД инфу).
Да, получается не слишком удобно, и полностью не устраняются проблемы с законом (хотя трекер и не хранилише файлов, но всё равно...). Зато это несложно сделать (свободных трекер-движков навалом) и легко использовать прямо сейчас, с существующими torrent-клиентами.

А следующим шагом - взять какой-нить торрент-клиент и надстроить его недостающим функционалом. Или написать отдельную прогу. Не принципиально.

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

Проблема со скачиванием книг по одной тоже имеет решение. Например uTorrent умеет скачивать по ссылкам из RSS. Таким образом, желающие смогут автоматически качать и раздавать новые книги.
Но всё это можно будет улучшать в своём клиенте, когда/если будет видно что проект выживет и станет ясно что, на самом деле, нужно улучшать.

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


Sergey Chernov
Новенький участник форума

Новенький участник форума

Зарегистрирован: 14.05.2007
Сообщения: 32

СообщениеДобавлено: Вт Май 29, 2007 17:06    Заголовок сообщения: Ответить с цитатой

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

Если есть желающие поспособствовать, лучше давайте по делу подумаем. Вопрос первый:

Сделал я базку по схеме FB2.0/description, со всеми ее наворотами. Получилось не круто: очень навороченно, не удобно работать, медленный импорт, огромная база (из за множества индексов, в том числе). На моей тачке 8 книг/с.

Сделал сильно упрощенную базу - получилось гораздо лучше, примерно 25 книг/с. Есть предложение обсудить, какой минимум полей из description реально нужен для ежедневного пользования, быстрого поиска и т.д. А остальные поля по необходимости будем вытаскивать из собственно документа и не перегружать базу. Сейчас используется следующий набор, плз высказывайтесь:

class Weblink(DataObject):
url = Col(key='uniqie')

class Email(DataObject):
email = Col(key='uniqie')

class Person(DataObject):
first = Col(key=1)
middle = Col(key=1)
last = Col(key=1)
authorid = Col(key=1)
nick = Col(key=1)
page = MultiJoin('Weblink')
email = MultiJoin('Email')

class Genre(DataObject):
genre = ForeignKey('Genres')
match = IntCol(default=100)
book = ForeignKey('book')

class Keywords(DataObject):
word = Col(key='uniqie')

class Genres(DataObject):
__metaclass__ = smartClass
gid = Col(key='uniqie')
text = Col()
genre = Join('Genre')

class Sequences(DataObject):
name = Col(key=1)

class Sequence(DataObject):
sequence = ForeignKey('Sequences')
number = IntCol()
book = ForeignKey('Book')

class Shelf(DataObject):
name = Col()
guid = Col(key=1)
path = Col()
notes = ForeignKey('Notes')

class Notes(DataObject):
text = Col()

class Dupe(DataObject):
book1 = ForeignKey('Book')
book2 = ForeignKey('Book')

class Book(DataObject):
author = MultiJoin('Person')
translator = MultiJoin('Person')
docauthor = MultiJoin('Person')
title = Col(key=1)
srctitle = Col(key=1)
annotation = Col()
docid = Col(key=1)
sequence = Join('Sequence')
genre = Join('Genre')
texthash = Col()
path = Col()
date = Col()
lang = Col()
srclang = Col()
arcname = Col()
shelf = ForeignKey('Shelf')
keywords = MultiJoin('Keywords')
Вернуться к началу
Посмотреть профиль Отправить личное сообщение


Kv
Новенький участник форума

Новенький участник форума

Зарегистрирован: 30.05.2007
Сообщения: 23

СообщениеДобавлено: Ср Май 30, 2007 9:22    Заголовок сообщения: Ответить с цитатой

Sergey Chernov писал(а):
Собственно я так и так делаю потихонечку библиотекарь с некоторым специальным функционалом. В принципе, могу потихонечку слепить, если будет спрос и поддержка в плане обсуждения - тестирования. Сварганю на плагинной основе - так что основные функции будут в виде плагинов, глядишь, ктонить и разовьет идею Smile

хочу поинтересоваться насчет "специального функционала". Это по обмену книгами - я правильно понял? Насколько он привязан к формату фб2?

только сразу ногами не бейте Smile
Вернуться к началу
Посмотреть профиль Отправить личное сообщение


Mike Sinkovsky
Зрелый участник форума

Зрелый участник форума

Зарегистрирован: 27.10.2005
Сообщения: 296
Откуда: Пермь

СообщениеДобавлено: Ср Май 30, 2007 9:42    Заголовок сообщения: Ответить с цитатой

По мне так вообще достаточно примерно такого:

Код:
Book-Author:
 id:key
 first:string -- фамилия, по алфавиту
 last:string -- все остальное кроме фамилии

Book:
 id:key
 version:key
 name:string -- название
 book-author:id,multi -- автор
 sequence:(id,num),multi -- серия, опционально
 genre:(id,num),multi -- жанр, опционально


Ну и плюс служебные поля для работы системы. А остальное - из дескрипшена книги.
Вообще чем меньше трафик при синхронизации базы тем лучше, наверно?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение


Alan
Автор ридера Alreader и клона Haali


Зарегистрирован: 25.01.2005
Сообщения: 421

СообщениеДобавлено: Ср Май 30, 2007 10:13    Заголовок сообщения: Ответить с цитатой

Mike Sinkovsky угу, вполне достаточно.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение


Cd_spb
Зрелый участник форума

Зрелый участник форума

Зарегистрирован: 28.06.2006
Сообщения: 189

СообщениеДобавлено: Ср Май 30, 2007 11:16    Заголовок сообщения: Ответить с цитатой

Mike Sinkovsky Alan
Не достаточно. Сейчас наполняю свою библиотеку и сталкиваюсь с различными ситуациями. Например:
1.Две книги из различных источников. Одинаковая версия, к примеру 1.1. В первой книге авторы документа Aut1,Aut2 а у второй - Aut1, Aut3. Если принять Вашу схему, то это одна книга.
2.Одна зарубежная книга - разные переводчики. => два разных документа.

Следовательно:
Код:

class Book(DataObject):
author = MultiJoin('Person')
translator = MultiJoin('Person')
docauthor = MultiJoin('Person')

точно нужно.

Sergey Chernov
я не вижу избыточности в Вашем описании.
Только не понятно назначение вот этих полей:
Код:
class Weblink(DataObject):
url = Col(key='uniqie')

class Email(DataObject):
email = Col(key='uniqie')

Код:
class Shelf(DataObject):
name = Col()
guid = Col(key=1)
path = Col()
notes = ForeignKey('Notes')

Код:
class Dupe(DataObject):
book1 = ForeignKey('Book')
book2 = ForeignKey('Book')
Вернуться к началу
Посмотреть профиль Отправить личное сообщение


Mike Sinkovsky
Зрелый участник форума

Зрелый участник форума

Зарегистрирован: 27.10.2005
Сообщения: 296
Откуда: Пермь

СообщениеДобавлено: Ср Май 30, 2007 11:29    Заголовок сообщения: Ответить с цитатой

Cd_spb писал(а):
Две книги из различных источников. Одинаковая версия, к примеру 1.1. В первой книге авторы документа Aut1,Aut2 а у второй - Aut1, Aut3. Если принять Вашу схему, то это одна книга.
2.Одна зарубежная книга - разные переводчики. => два разных документа.

Не осилил, в чем проблема. Ну две это книги в обоих случаях, в базе должны быть с разными id. И что?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение


Alan
Автор ридера Alreader и клона Haali


Зарегистрирован: 25.01.2005
Сообщения: 421

СообщениеДобавлено: Ср Май 30, 2007 11:32    Заголовок сообщения: Ответить с цитатой

Cd_spb в приведенных тобой примерах - да, это одна книга и две книги. Вполне устраивает. имхо, конечно, но ведь именно про имхо и спрашивали?

Про ид забыл - тогда вообще проблемы нету и точно всего хватает...
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов www.fictionbook.org -> Сделано для FB Часовой пояс: GMT + 3
На страницу Пред.  1, 2, 3, 4, 5, 6, 7, 8  След.
Страница 2 из 8

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2005 phpBB Group