Автор Тема: Клиент-Сервер  (Прочитано 78089 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн NewSky

  • Гуру
  • ****
  • Сообщений: 842
Re: Клиент-Сервер
« Ответ #30 : 07 Апреля 2009, 14:54:38 »
Спасибо, разобрался, все редактируется, всё работает.

Возникли 2 (скорее всего очень глупых вопроса)
1) Прочитал тут в Википедии: В качестве преимуществ Firebird можно отметить многоверсионную архитектуру, обеспечивающую параллельную обработку оперативных и аналитических запросов (это возможно потому, что читающие пользователи не блокируют пишущих), компактность.
И еще:
Один сервер Firebird может обрабатывать несколько независимых баз данных, каждую с множеством пользовательских соединений

Как я это понял, что например к базе могут быть подключены несколько "человек" и редактировать ее. Но на деле, даже просто в программе не загружается та база, к которой установлено соединение. "Это нормально"? так и должно быть и я не правильно понял суть и НЕЛЬЗЯ одновременно подключиться к одной базе?

2) Картинки вне базы и их удаленно не видно... это никак невозможно изменить? или это в принципе невозможно? не хочется весь огромный кортиночный контент пихать в базу  :(

Оффлайн unreal666

  • Гуру
  • ****
  • Сообщений: 533
    • Сайт unreal666
Re: Клиент-Сервер
« Ответ #31 : 07 Апреля 2009, 21:24:56 »
Цитировать
2) Картинки вне базы и их удаленно не видно... это никак невозможно изменить? или это в принципе невозможно? не хочется весь огромный кортиночный контент пихать в базу
Ну. PVD делает запрос к базе, а базы кажется не работают с объектами, не находящимися вне них. Тем более они вообще могут не знать, где физически находятся эти объекты.
Вот если бы PVD обращался не к самому серваку базы, а к http-странице, которая в свою очередь получала данные от базы и по результатам эти данных получала/генерировала пути к файлам картинок (да и вообще любых внешних объектов) (ну и создавала специально отформатированную страницу), тогда другое дело.
« Последнее редактирование: 07 Апреля 2009, 21:27:40 от unreal666 »
PVD 1.0.2.7, Win 7 x64, Phenom II X6 1055T 3.5 GHz / 8 GiB / 5,4 TiB / HD 4870 1 GiB

Оффлайн Reset

  • Глобальный модератор
  • *****
  • Сообщений: 1362
Re: Клиент-Сервер
« Ответ #32 : 07 Апреля 2009, 21:50:05 »
Цитировать
2) Картинки вне базы и их удаленно не видно... это никак невозможно изменить? или это в принципе невозможно? не хочется весь огромный кортиночный контент пихать в базу
Ну. PVD делает запрос к базе, а базы кажется не работают с объектами, не находящимися вне них. Тем более они вообще могут не знать, где физически находятся эти объекты.
Вот если бы PVD обращался не к самому серваку базы, а к http-странице, которая в свою очередь получала данные от базы и по результатам эти данных получала/генерировала пути к файлам картинок (да и вообще любых внешних объектов) (ну и создавала специально отформатированную страницу), тогда другое дело.
А как происходит процесс загрузки картинок в программу при локальном запуске? Я так понимаю, PVD берёт из базы путь (абсолютный или относительный) и самостоятельно грузит картинку. Если так, то особых проблем при загрузке картинок из папки на удалённом серваке быть не должно.
Нет описания? Нужны ответы? Есть предложения? Не хватает сайтов?

Оффлайн unreal666

  • Гуру
  • ****
  • Сообщений: 533
    • Сайт unreal666
Re: Клиент-Сервер
« Ответ #33 : 07 Апреля 2009, 23:29:28 »
Цитировать
при загрузке картинок из папки
Да ;) А кто (какая прога) тебе будет отдавать эти файлы? СУБД'шные сервера этим не занимаются.
Цитировать
на удалённом серваке
Сервак - это конретная прога, висящая на конкретном порту. А тут говорят о Firebird-серваке, а он отдачей файлов не занимается.
1. Для этого минимум на той стороне должен стоять HTTP/FTP-сервер
2. К базе ты обращаешься по пути вида d:\путь_к_базе, а через HTTP/FTP тебе придется обращаться по обычному URL оносительно корня виртуального сервера, а PVD этого пути не знает, если конечно не появится в нем поддержка подгрузки картинок через HTTP/FTP с правилом преобразования пути для базы в URL-путь (с поддержкой регеспов). Т.е., например, вид 127.0.0.1:d\my_base.pvd  в http://127.0.0.1/куча_баз/my_base/относит.путь+имя_картинки_из_базы.
ЗЫ. в URL имя домена (в данном случае - 127.0.0.1) не зависит напрямую от IP, указанного для СУБД Firefox.
« Последнее редактирование: 07 Апреля 2009, 23:38:26 от unreal666 »
PVD 1.0.2.7, Win 7 x64, Phenom II X6 1055T 3.5 GHz / 8 GiB / 5,4 TiB / HD 4870 1 GiB

Оффлайн moran

  • Гуру
  • ****
  • Сообщений: 403
  • Пиво - тоже компонента...
Re: Клиент-Сервер
« Ответ #34 : 08 Апреля 2009, 04:06:09 »
На самом деле все делается куда проще, не надо никаких http/ftp серверов...
1. В таблицу IMAGES добавляется новое поле TTL (Time To Live)
2. При обращении к фильму firebird'у дается команда загрузить все постеры, скриншоты в базу и проставить в поле TTL текущую дату и время.
3. В настройках программы указано, что время жизни картинки в базе равно, например, 5 минутам.
4. После загрузки изображений в базу они отдаются пользователю.
5. В базе создается тригер реагирующий на операцию вставки в таблице IMAGES, который сравнивает текущее время с временем записи в таблице IMAGES и при превышении настроеных 5 минут, удаляет картинку из базы.

в итоге все счастливы, картинки хранятся вне базы, размер базы увеличится не намного, и пользователи с режимом хранения картинок вне базы видят их при просмотре... единственное увеличивается время загрузки карточки с фильмом, но я думаю это не большое увеличение, буквально на пару секунд, да и оптимизировать можно...
Русские кинопремьеры 2001-2010 (www.kinopoisk.ru)
80.64.88.51:ГОД_ПРЕМЬЕР
login: ГОД_ПРЕМЬЕР
password: ГОД_ПРЕМЬЕР
2006-2008 в процессе, 2001-2005,2009-2010 доступны...

Оффлайн NewSky

  • Гуру
  • ****
  • Сообщений: 842
Re: Клиент-Сервер
« Ответ #35 : 08 Апреля 2009, 07:31:24 »
Цитировать
На самом деле все делается куда проще, не надо никаких http/ftp серверов...
То, что ты описал, можно сделать в рамках нынешнего "мироустройства" или для этого, нужны какие то изменения в самой программае? И еще, очень актуален вопрос, насчет одновременного подключения к базе нескольких пользователей...

Оффлайн moran

  • Гуру
  • ****
  • Сообщений: 403
  • Пиво - тоже компонента...
Re: Клиент-Сервер
« Ответ #36 : 08 Апреля 2009, 07:45:24 »
Цитировать
На самом деле все делается куда проще, не надо никаких http/ftp серверов...
То, что ты описал, можно сделать в рамках нынешнего "мироустройства" или для этого, нужны какие то изменения в самой программае?

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

подключатся может не ограниченное число пользователей, точнее в пределах разумного, на сколько позволяет сам сервер (компутер).
для справки, у меня есть база на 21гб с книгами в fb2, к ней подключаются пользователи удаленно, работают сразу по несколько человек, и ни каких проблем не возникает. на соединении в 128kbit грузится около 2-3 минут, список большой порядка 16000 авторов

UPD
только что проверил, подключился к базе с разных компьютеров (3-х) одновременно, и все работает...
« Последнее редактирование: 08 Апреля 2009, 07:49:12 от moran »
Русские кинопремьеры 2001-2010 (www.kinopoisk.ru)
80.64.88.51:ГОД_ПРЕМЬЕР
login: ГОД_ПРЕМЬЕР
password: ГОД_ПРЕМЬЕР
2006-2008 в процессе, 2001-2005,2009-2010 доступны...

Оффлайн moran

  • Гуру
  • ****
  • Сообщений: 403
  • Пиво - тоже компонента...
Re: Клиент-Сервер
« Ответ #37 : 08 Апреля 2009, 07:51:04 »
кого интересует могу рассказать как сжимать трафик при передачи, скорость возрастает примерно на 40-60%
Русские кинопремьеры 2001-2010 (www.kinopoisk.ru)
80.64.88.51:ГОД_ПРЕМЬЕР
login: ГОД_ПРЕМЬЕР
password: ГОД_ПРЕМЬЕР
2006-2008 в процессе, 2001-2005,2009-2010 доступны...

Оффлайн NewSky

  • Гуру
  • ****
  • Сообщений: 842
Re: Клиент-Сервер
« Ответ #38 : 08 Апреля 2009, 08:19:56 »
Цитировать
только что проверил, подключился к базе с разных компьютеров (3-х) одновременно, и все работает...
По средствам Personal Video Database подключился??? А как? у меня, если уже есть подключение к базе то ни локально ни удаленно подключить эту базу (по средствам Personal Video Database естественно) не получается
Цитировать
кого интересует могу рассказать как сжимать трафик при передачи, скорость возрастает примерно на 40-60%
Очень! Очень интиресует! Расскажи пожалуйста!

Оффлайн moran

  • Гуру
  • ****
  • Сообщений: 403
  • Пиво - тоже компонента...
Re: Клиент-Сервер
« Ответ #39 : 08 Апреля 2009, 08:25:53 »
Цитировать
только что проверил, подключился к базе с разных компьютеров (3-х) одновременно, и все работает...
По средствам Personal Video Database подключился??? А как? у меня, если уже есть подключение к базе то ни локально ни удаленно подключить эту базу (по средствам Personal Video Database естественно) не получается
У тебя какое подключение, к серверу (IP:BASE) или через файл->открыть, если второе, то ничего не получится, кроме одного подключения, больше никто не подключится. при втором варианте база работает в монопольном режиме, т.к. подключение происходит через firebird embended.

Цитировать
кого интересует могу рассказать как сжимать трафик при передачи, скорость возрастает примерно на 40-60%
Очень! Очень интиресует! Расскажи пожалуйста!

есть программа Zebedee которая ставится на стороне сервера и стороне клиента, и вся связь между клиентской программой и firebird происходит через нее, она и сжимает трафик. чуть попозже напишу как настроить и счем ее едят...  ;)
« Последнее редактирование: 08 Апреля 2009, 08:27:24 от moran »
Русские кинопремьеры 2001-2010 (www.kinopoisk.ru)
80.64.88.51:ГОД_ПРЕМЬЕР
login: ГОД_ПРЕМЬЕР
password: ГОД_ПРЕМЬЕР
2006-2008 в процессе, 2001-2005,2009-2010 доступны...

Оффлайн NewSky

  • Гуру
  • ****
  • Сообщений: 842
Re: Клиент-Сервер
« Ответ #40 : 08 Апреля 2009, 08:34:09 »
У тебя какое подключение, к серверу (IP:BASE) или через файл->открыть, если второе, то ничего не получится, кроме одного подключения, больше никто не подключится. при втором варианте база работает в монопольном режиме, т.к. подключение происходит через firebird embended.
Как же все просто :) А я не догадался на локальной машине подцепить базу по LOCALHOST:BASE :) а тупо запускал программу с последней загруженной базой через файл-открыть а база была уже подключена через сеть :) Спасибо тебе большое, в который раз открываешь мне мои ламерские глаза на не сложные вообщем-то вещи :)

А про Zebedee подождем описания. Если она и правда, на 40-60% сможет увеличить СКОРОСТЬ общения с удаленной базой, это было бы очень хорошо! Спасибо!

Оффлайн nostra

  • Администратор
  • *****
  • Сообщений: 2749
    • Personal Video Database
Re: Клиент-Сервер
« Ответ #41 : 08 Апреля 2009, 11:03:15 »
Цитировать
На самом деле все делается куда проще, не надо никаких http/ftp серверов...
1. В таблицу IMAGES добавляется новое поле TTL (Time To Live)
2. При обращении к фильму firebird'у дается команда загрузить все постеры, скриншоты в базу и проставить в поле TTL текущую дату и время.
3. В настройках программы указано, что время жизни картинки в базе равно, например, 5 минутам.
4. После загрузки изображений в базу они отдаются пользователю.
5. В базе создается тригер реагирующий на операцию вставки в таблице IMAGES, который сравнивает текущее время с временем записи в таблице IMAGES и при превышении настроеных 5 минут, удаляет картинку из базы.

это не входит в мои планы по версии 0.9.9, но для 1.0 подойдёт...
« Последнее редактирование: 08 Апреля 2009, 12:48:34 от nostra »
Мы уже работаем над постановлением по углублению конструктивных мер, принятых в результате консолидации

Оффлайн djek-ural

  • Модератор
  • *****
  • Сообщений: 1223
  • Фильмов много не бывает.
Re: Клиент-Сервер
« Ответ #42 : 08 Апреля 2009, 12:44:50 »
народ поделитесь кто нибудь настройками , чтоб локально на компе эту красоту поюзать.
И еще вопрос какие нужны дополнительные программы  для , хочу открыть путь к базе со своего компа.

Оффлайн nostra

  • Администратор
  • *****
  • Сообщений: 2749
    • Personal Video Database
Re: Клиент-Сервер
« Ответ #43 : 08 Апреля 2009, 12:52:55 »
Цитировать
народ поделитесь кто нибудь настройками , чтоб локально на компе эту красоту поюзать.

Просто поставь сервер со стандартными настройками и в PVD вместо File -> Open используй Connect to server

Цитировать
И еще вопрос какие нужны дополнительные программы  для , хочу открыть путь к базе со своего компа.

Ничего не нужно, просто Connect to serever
Мы уже работаем над постановлением по углублению конструктивных мер, принятых в результате консолидации

Оффлайн djek-ural

  • Модератор
  • *****
  • Сообщений: 1223
  • Фильмов много не бывает.
Re: Клиент-Сервер
« Ответ #44 : 08 Апреля 2009, 13:00:39 »
Тогда еще вопрос в каком виде указывать адрес в сети , сижу за Натом.