crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

defnull
  опции профиля:
сообщение 9.3.2009, 20:38
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 49
Регистрация: 1.5.2008
Пользователь №: 165

Спасибо сказали: 0 раз(а)




Репутация:   1  


Добрый день. Хотел бы посоветоваться по поводу архитектуры разрабатываемой системы.

Задача: есть сервер на котором крутиться PostgresSQL. Есть АРМ разных видов которые должны иметь доступ к данным бд на сервере и которые должны работать с базой параллельно. База данных должна бекапиться удалённо, и удалённо же должно производиться управление учётками пользователей. Проект выполняется с использованием QT на С++. Подключение к БД через qt модуль работы с postgresql.

Возникшие проблемы:
1) не до конца ясно делать ли серверную часть и насколько должны быть толстыми или тонкими клиенты.
2) не понятно какими средствами лучше всего бекапить удалённо базу и как управлять учётками.

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

2) Серверная часть как прокси. Тоесть клиент вначале подключается к серверной части а та пускает или не пускает его на работу с базой.
Из плюсов: учёт активности пользователей. Возможность заблокировать пользователя почти в любой момент.
Из минусов: Дополнительный расходы на сервер(по два соединения tcp вместо одного когда нет серверной части). Не ясно можно ли просто перенаправлять всю инфу с одного сокета в другой после того как мы пускаем пользователя??? (идея такая.. клиент авторизуется на сервере и тот далее подключается к бд под учётной записью пользователя и передаёт информацию от клиента к бд и от бд клиенту через себя)

3) Клиент проходит авторизацию на сервере а после если авторизация успешна напрямую подключается к БД. При этом от клиента идёт два соединения к Серверу и к БД. Сервер управлять клиентом (например послать запрос чтобы клиент разорвал связь с БД)
Из плюсов: учёт активности пользователей. Возможность заблокировать пользователя почти в любой момент.
Из минусов: Дополнительный расходы на клиента(по два соединения tcp вместо одного когда нет серверной части). Да и в целом схема мне кажеться несколько усложнённой..

А уж с бекапом вообще не ясно как быть. Условия таковы что нельзя использовать сторонние утилиты по резервированию/восстановлению, тоесть даже pgdump использовать по идее нельзя. А если всё же использовать, то надо писать обёртку... Но pgdump вроде бы здесь не подойдёт он ведь должен работать на той же машине где и БД.

Был бы очень признателен если бы кто-нибудь дал развёрнутый ответ что в данном случае предпочтительнее использовать..
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
3 страниц V   1 2 3 >  
Начать новую тему
Ответов (1 - 21)
ViGOur
  опции профиля:
сообщение 9.3.2009, 22:02
Сообщение #2


Мастер
******

Группа: Модератор
Сообщений: 3296
Регистрация: 9.10.2007
Из: Москва
Пользователь №: 4

Спасибо сказали: 231 раз(а)




Репутация:   40  


ИМХО, лучше использовать 2 вариант.
Минусы этого варианта это вовсе не минусы. Так как 2 соединения на пользователя это ерунда, а в передаче инфы с одного сокета на другой не вижу никаких проблем, сам реализовывал подобное в свое время. Да и можно использовать одно соединение с БД для всех соединившихся пользователей, но ну жно ли.

Вот насчет работы с БД я не могу ничего сказать, так как плохо знаю.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
trdm
  опции профиля:
сообщение 9.3.2009, 22:45
Сообщение #3


Дмитрий Трошин
****

Группа: Участник
Сообщений: 575
Регистрация: 12.1.2008
Пользователь №: 68

Спасибо сказали: 21 раз(а)




Репутация:   6  


Цитата(defnull @ 9.3.2009, 20:38) *
Был бы очень признателен если бы кто-нибудь дал развёрнутый ответ что в данном случае предпочтительнее использовать..

Не понял юмора.
Предпочтительность использования варианта обычно определяют входные условия: бюджет, ТЗ, требования заказчика к системе.
Если что-то из этого пункта не ясно, заказчика обычно спрашивают.
По требованиям к системе все немного сложнее, но опросные листы поправят дело.
Как с этими вопросами дела обстоят?

так чего?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
defnull
  опции профиля:
сообщение 9.3.2009, 23:11
Сообщение #4


Студент
*

Группа: Участник
Сообщений: 49
Регистрация: 1.5.2008
Пользователь №: 165

Спасибо сказали: 0 раз(а)




Репутация:   1  


Система является учебным а не реальным проектом. В ТЗ не оговорена конкретная архитектура. ТЗ составляли мы сами, по всем правилам. Хотя теоертически по специальности написание ТЗ не входит в наши задачи нам пришлось его разрабатывать, и не знаю как там в реальных проектах, но мы сдавали ТЗ уже около 7-9 раз..
Фактически нам предоставляется возможность самим выбрать способ реализации. Оговорены лишь те аспекты что я перечислил, остальное на наше усмотрение. Так как должного опыта в этом нет то и спрашиваю совета, заодно хотелось бы избежать заранее подводных камней.

Цитата
Да и можно использовать одно соединение с БД для всех соединившихся пользователей, но нужно ли.


Насколько я понимаю из поставленных перед нами задач требуется именно параллельная работа нескольких пользователей . Как я вас понял вы предлагаете делать всё через одного пользователя последовательно передавая запросы от разных клиентов. Такое не подойдёт=( Хотя никто не мешает делать и под разными пользователями с несколькими соединениями к бд.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
trdm
  опции профиля:
сообщение 9.3.2009, 23:38
Сообщение #5


Дмитрий Трошин
****

Группа: Участник
Сообщений: 575
Регистрация: 12.1.2008
Пользователь №: 68

Спасибо сказали: 21 раз(а)




Репутация:   6  


Делайте толстого клиента, а сорцы публикуйте на гуглекоде или ассембле.
А я у вас потом буду подсматривать. :)
У меня самого такая задачка на очереди: http://code.google.com/p/unnstudio/
но это не учебная, а реальная необходимость для работы: задел на будущее под линукс.
по инструментам мы с вами совпадаем...
Может в рамках учебной и сделаете нужный пиплу проект.
а то любой тупой 1С-ник спит и видит 1С под линусом.....(это не шутка)....
Ибо так {вырезано самоцензурой} с этим вайном, что, просто,...........

+Кстати, можно ТЗ посмотреть?

defnull, можешь в аську постучаться?

Сообщение отредактировал trdm - 9.3.2009, 23:41
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 9.3.2009, 23:40
Сообщение #6


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(trdm @ 10.3.2009, 2:37) *
натрахались
ребята давайте избегать таких слов
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
trdm
  опции профиля:
сообщение 9.3.2009, 23:48
Сообщение #7


Дмитрий Трошин
****

Группа: Участник
Сообщений: 575
Регистрация: 12.1.2008
Пользователь №: 68

Спасибо сказали: 21 раз(а)




Репутация:   6  


так, а в ответ тишина. понял...
ПС, а чего, удалять свои сообщения нельзя?

Сообщение отредактировал trdm - 9.3.2009, 23:52
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ViGOur
  опции профиля:
сообщение 10.3.2009, 0:10
Сообщение #8


Мастер
******

Группа: Модератор
Сообщений: 3296
Регистрация: 9.10.2007
Из: Москва
Пользователь №: 4

Спасибо сказали: 231 раз(а)




Репутация:   40  


Цитата(trdm @ 9.3.2009, 23:48) *
так, а в ответ тишина. понял...
так времени мало прошло и defnull скорее всего не успел прочитать еще. :)
Цитата(trdm @ 9.3.2009, 23:48) *
ПС, а чего, удалять свои сообщения нельзя?
нельзя.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
defnull
  опции профиля:
сообщение 10.3.2009, 0:24
Сообщение #9


Студент
*

Группа: Участник
Сообщений: 49
Регистрация: 1.5.2008
Пользователь №: 165

Спасибо сказали: 0 раз(а)




Репутация:   1  


Отчего же нельзя, можно=) правда сомневаюсь что там будет что-нибудь особо интересное.
Сейчас по аське постучаться не могу, если всё же интересно могу залить куда-нить ТЗ-шку?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
trdm
  опции профиля:
сообщение 10.3.2009, 0:30
Сообщение #10


Дмитрий Трошин
****

Группа: Участник
Сообщений: 575
Регистрация: 12.1.2008
Пользователь №: 68

Спасибо сказали: 21 раз(а)




Репутация:   6  


Цитата(defnull @ 10.3.2009, 0:24) *
Отчего же нельзя, можно=) правда сомневаюсь что там будет что-нибудь особо интересное.
Сейчас по аське постучаться не могу, если всё же интересно могу залить куда-нить ТЗ-шку?

mailto:trdmval(все известный зверь)gmail.com
Меня собственно всегда клинило при мысли, что у нас в стране учебные программы
пишутся для чего угодно, только не для практического в последствии применения.
В очередной раз вспоминаю, что разработки американских вузов давно и успешно
применяются на практике (Беркли например). И постоянно вспоминаю 2 российских беды...

Сообщение отредактировал trdm - 10.3.2009, 0:33
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
defnull
  опции профиля:
сообщение 10.3.2009, 0:35
Сообщение #11


Студент
*

Группа: Участник
Сообщений: 49
Регистрация: 1.5.2008
Пользователь №: 165

Спасибо сказали: 0 раз(а)




Репутация:   1  


Цитата(trdm @ 10.3.2009, 0:30) *
Цитата(defnull @ 10.3.2009, 0:24) *
Отчего же нельзя, можно=) правда сомневаюсь что там будет что-нибудь особо интересное.
Сейчас по аське постучаться не могу, если всё же интересно могу залить куда-нить ТЗ-шку?

мыло: trdmval(все известный зверь)gmail.com
Меня собственно всегда клинило при мысли, что у нас в стране учебные программы
пишутся для чего угодно, только не для практического в последствии применения.
В очередной раз вспоминаю, что разработки американских вузов давно и успешно
применяются на практике (Беркли например). И постоянно вспоминаю 2 российских беды...


Как сказать... мне тема интересна. Меня радует что можно эксперементировать, исследовать, при должном желании можно действительно многому научиться. Вопрос только в том что ТЗ слишком в общих словах, хотя и даёт представление о проекте. К тому же везде есть специфика преподавания.. Вообщем я хз будет интересно или нет ;) вот и решил заранее предупредить.

з.з.ы Отправил)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
trdm
  опции профиля:
сообщение 10.3.2009, 0:39
Сообщение #12


Дмитрий Трошин
****

Группа: Участник
Сообщений: 575
Регистрация: 12.1.2008
Пользователь №: 68

Спасибо сказали: 21 раз(а)




Репутация:   6  


могу кстати поделиться своими набросками/ТЗ по унстудио
и запустить вашу комманду в репу на гуглях.
ПЫСЫ: вирусов в письме нету? :)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
defnull
  опции профиля:
сообщение 10.3.2009, 0:43
Сообщение #13


Студент
*

Группа: Участник
Сообщений: 49
Регистрация: 1.5.2008
Пользователь №: 165

Спасибо сказали: 0 раз(а)




Репутация:   1  


Цитата(trdm @ 10.3.2009, 0:39) *
могу кстати поделиться своими набросками/ТЗ по унстудио
и запустить вашу комманду в репу на гуглях.
ПЫСЫ: вирусов в письме нету? :)


Кидай, вирусов? Чего не знаю того не знаю, вроде всё чисто))) предохраняйся ;)
ТЗ-шку кидай=) будет интересно глянуть... по поводу гугла ты имел ввиду svn для open sourse проектов который у гугла? если svn то не.. у меня дома поднят + на firstvds сервак где он тоже есть)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
trdm
  опции профиля:
сообщение 10.3.2009, 0:43
Сообщение #14


Дмитрий Трошин
****

Группа: Участник
Сообщений: 575
Регистрация: 12.1.2008
Пользователь №: 68

Спасибо сказали: 21 раз(а)




Репутация:   6  


хм, т/з на сервисный центр.
я сам работаю в организации где есть сервисный цент по ремонту сотовых и пр. электронной техники...
есть даже некоторые наработки в 1С-ной базе по ремонтам.
Цитата(defnull @ 10.3.2009, 0:43) *
ТЗ-шку кидай=) будет интересно глянуть... по поводу гугла ты имел ввиду svn для open sourse проектов который у гугла? если svn то не.. у меня дома поднят + на firstvds сервак где он тоже есть)

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

Сообщение отредактировал trdm - 10.3.2009, 0:46
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
defnull
  опции профиля:
сообщение 10.3.2009, 0:45
Сообщение #15


Студент
*

Группа: Участник
Сообщений: 49
Регистрация: 1.5.2008
Пользователь №: 165

Спасибо сказали: 0 раз(а)




Репутация:   1  


Цитата(trdm @ 10.3.2009, 0:43) *
хм, т/з на сервисный центр.
я сам работаю в организации где есть сервисный цент по ремонту сотовых и пр. электронной техники...
есть даже некоторые наработки в 1С-ной базе по ремонтам.


Там довольно много урезанно, например склада как такового там нет. Всему виной сроки и небольшая команда..=(( Успеть бы хотя бы то что там написанно хех..
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
trdm
  опции профиля:
сообщение 10.3.2009, 0:52
Сообщение #16


Дмитрий Трошин
****

Группа: Участник
Сообщений: 575
Регистрация: 12.1.2008
Пользователь №: 68

Спасибо сказали: 21 раз(а)




Репутация:   6  


а, один черт, для такой системы с 9 пользователями использование С++ нерационально/жирно будет.
не те объемы.
Таким системам за-глаза хватает веб-интерфейса.
И на таких объемах рационально было бы применить 1С-ку или унстудио, если была бы готова.

Сообщение отредактировал trdm - 10.3.2009, 0:55
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 10.3.2009, 1:12
Сообщение #17


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


trdm, ты куда-то к ТЗ ушел от основной темы. Давай-ка поближе.

Цитата(trdm @ 10.3.2009, 3:52) *
или унстудио
это только отчетник как я понимаю, а не АРМ (автоматизированное рабочее место) или я неправильно понял?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
defnull
  опции профиля:
сообщение 10.3.2009, 1:16
Сообщение #18


Студент
*

Группа: Участник
Сообщений: 49
Регистрация: 1.5.2008
Пользователь №: 165

Спасибо сказали: 0 раз(а)




Репутация:   1  


Цитата(Litkevich Yuriy @ 10.3.2009, 1:12) *
ты куда-то к ТЗ ушел от основной темы. Давай-ка поближе.

Кстати да=(( вопрос -то ещё открыт... да и средства обсуждать сейчас увы не поможет. С унстудио не знаком..
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
trdm
  опции профиля:
сообщение 10.3.2009, 18:36
Сообщение #19


Дмитрий Трошин
****

Группа: Участник
Сообщений: 575
Регистрация: 12.1.2008
Пользователь №: 68

Спасибо сказали: 21 раз(а)




Репутация:   6  


Цитата(Litkevich Yuriy @ 10.3.2009, 1:12) *
trdm, ты куда-то к ТЗ ушел от основной темы. Давай-ка поближе.

Цитата(trdm @ 10.3.2009, 3:52) *
или унстудио
это только отчетник как я понимаю, а не АРМ (автоматизированное рабочее место) или я неправильно понял?

Основная идея это среда и набор компонент для строительства АРМов. Отчетник это один из компонентов.

Сообщение отредактировал trdm - 13.3.2009, 23:17
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Tonal
  опции профиля:
сообщение 13.3.2009, 21:56
Сообщение #20


Активный участник
***

Группа: Участник
Сообщений: 452
Регистрация: 6.12.2007
Из: Новосибирск
Пользователь №: 34

Спасибо сказали: 69 раз(а)




Репутация:   17  


Если на работу с пользователями и секретностью не накладывается дополнительных ограничений, то вполне подходит такая схема:
Все данные о пользователях хранятся в отдельной табличке.
Приложение, проверяет по ней доступы и работает или нет дальше.
Если работает, можно периодически проверять не отключили ли тебя. :)
Да, если сервер поддерживает рассылку нотификаций (Firebird, Postgres), проверку можно инициировать именно ей.

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

С трёхзвенкой по моему заморачиватся не нужно - только сложность увеличите.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
defnull
  опции профиля:
сообщение 14.3.2009, 13:35
Сообщение #21


Студент
*

Группа: Участник
Сообщений: 49
Регистрация: 1.5.2008
Пользователь №: 165

Спасибо сказали: 0 раз(а)




Репутация:   1  


Цитата(Tonal @ 13.3.2009, 21:56) *
Все данные о пользователях хранятся в отдельной табличке.
Приложение, проверяет по ней доступы и работает или нет дальше.
Если работает, можно периодически проверять не отключили ли тебя. :)

Да, если сервер поддерживает рассылку нотификаций (Firebird, Postgres), проверку можно инициировать именно ей.


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

Только вот что делать с бекапами??
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Tonal
  опции профиля:
сообщение 14.3.2009, 16:59
Сообщение #22


Активный участник
***

Группа: Участник
Сообщений: 452
Регистрация: 6.12.2007
Из: Новосибирск
Пользователь №: 34

Спасибо сказали: 69 раз(а)




Репутация:   17  


У Firebird в составе его API есть работа с бекапом.
В драйвере Qt э того нет, поэтому придётся использовать напрямую или взять либу где оно есть.

По поводу Postgres просто не в курсе.

П.С. Для спасибы тама кнопочка есть. :)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

3 страниц V   1 2 3 >
Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 23.6.2025, 22:34