Russian Qt Forum
Ноябрь 26, 2024, 11:20
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Программирование
>
Алгоритмы
>
создание алгоритма взаимодействия клиент-сервер
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: создание алгоритма взаимодействия клиент-сервер (Прочитано 10988 раз)
Karl-Philipp
Гость
создание алгоритма взаимодействия клиент-сервер
«
:
Август 31, 2009, 10:49 »
Есть база данных, формирующаяся на клиенте.
Есть сервер, который примерно каждые 2 минуты обрабатывает эту базу.
Необходимо создать алгоритм взаимодействия клиент-сервер для данной ситуации.
Как я себе это представляю.
С самого начала работы системы база данных копируется на сервер. Когда на клиенской БД происходят изменения, они должны быть отправлены на сервер для синхронизации с серверной БД и последующей обработки.
Попутно возник дополнительный вопрос:
Как лучше синхронизировать данные с сервером? Отсылать запросы?
Записан
lit-uriy
Джедай : наставник для всех
Offline
Сообщений: 3880
Re: создание алгоритма взаимодействия клиент-сервер
«
Ответ #1 :
Август 31, 2009, 11:23 »
система "Клиент-сервер" - централизованная, в ней одна БД.
Ты уверен, что тебе децентрализованная система нужна?
Записан
Юра.
Karl-Philipp
Гость
Re: создание алгоритма взаимодействия клиент-сервер
«
Ответ #2 :
Август 31, 2009, 11:34 »
Цитата: lit-uriy от Август 31, 2009, 11:23
система "Клиент-сервер" - централизованная, в ней одна БД.
Ты уверен, что тебе децентрализованная система нужна?
да, попутал на счёт системы клиент-сервер
На счет децентрализированной системы: возможна ситуация, когда не будет соединения с Интернетом, а изменения в базе (на клиенте) должны происходить. Поэтому и была выбрана предложенная мною схема работы.
Записан
MoPDoBoPoT
Гость
Re: создание алгоритма взаимодействия клиент-сервер
«
Ответ #3 :
Август 31, 2009, 14:28 »
Почитай про "Распределенные Базы Данных (РБД)"
Записан
spectre71
Гость
Re: создание алгоритма взаимодействия клиент-сервер
«
Ответ #4 :
Сентябрь 03, 2009, 17:21 »
Цитата: terlan от Август 31, 2009, 10:49
Есть база данных, формирующаяся на клиенте.
Есть сервер, который примерно каждые 2 минуты обрабатывает эту базу.
Необходимо создать алгоритм взаимодействия клиент-сервер для данной ситуации.
Как я себе это представляю.
С самого начала работы системы база данных копируется на сервер. Когда на клиенской БД происходят изменения, они должны быть отправлены на сервер для синхронизации с серверной БД и последующей обработки.
Попутно возник дополнительный вопрос:
Как лучше синхронизировать данные с сервером? Отсылать запросы?
Это не задача! это уже твое представление как ее решать! Причем "похоже", далеко не оптимальное, в результате и проблемы!
Опиши Задачу!
Записан
Karl-Philipp
Гость
Re: создание алгоритма взаимодействия клиент-сервер
«
Ответ #5 :
Сентябрь 03, 2009, 17:52 »
задача следующая: создать автоматизированный мониторинг данных на удалённом компьютере:
На филиалах магазина есть базы данных. Эти базы должны периодически отправляться на удалённый компьютер с помощью Интернета. В базе данных 5 таблиц. Все таблицы будут содержать поля типа INTEGER. В каждой таблице примерно пять полей. 4 из 5 таблиц будут содержать до сотни записей, а в одной может быть до 100.000 записей. выходит, что 5 полей х 100.000 записей х 4 (байта размер integer) ~ 2 млн байт ~ 2 Мб.
Расстояние до удалённого компьютера будет различное - от нескольких километров до двух тысяч.
на удалённый компьютер будут передаваться около 10 баз данных из 10 мест каждые 2-10 минут (так как в основной таблице может меняется до тысячи записей). Имеется двухмегабитный канал.
Почитал тут про распределенные базы данных и возникла идея создать подобное:
Скопировать базы на удалённый компьютер и отсылать туда же только запросы, которые изменяли бы содержание баз на филиалах. Что скажете?
Записан
spectre71
Гость
Re: создание алгоритма взаимодействия клиент-сервер
«
Ответ #6 :
Сентябрь 03, 2009, 18:50 »
Цитата: terlan от Сентябрь 03, 2009, 17:52
...
Скопировать базы на удалённый компьютер и отсылать туда же только запросы, которые изменяли бы содержание баз на филиалах. Что скажете?
Если правильно понял.
1) База должна быть одна! - на серваке.
2) Клиенты(магазины) посылают запросы для каждой операции непосредственно к серваку(канал это позволяет).
3) В экстримальной ситуации(обрыв связи), клиенты создают временную базу транзакций, которую отправляют сразу, как только связь восстановлена. Если требуется поддержка базы на клиентах(содержать информацию о работе магизина непосредственно в нем) то, необходима "темпоральная" поддержка, в данном случае таблица(ы) с ID тех таблиц/записей(транзакций), которые еще не отправлены на сервер.
Записан
Karl-Philipp
Гость
Re: создание алгоритма взаимодействия клиент-сервер
«
Ответ #7 :
Сентябрь 03, 2009, 19:47 »
неправильно понял!
удалённый компьютер создаётся только для выполнения анализа изменений, которые происходят в маганинах. Под анализом подразумевается обработка данных (например, привоз-продажа товара в разные филиалы в разное время и сравнение с данными, поступающими с других баз других филиалов магазинов).
Анализировать часто надо все таблицы базы каждого из филиалов периодически (каждые 2-10 минут). Напомню, что базы данных находятся на филиалах, там ведется учёт товара
Записан
spectre71
Гость
Re: создание алгоритма взаимодействия клиент-сервер
«
Ответ #8 :
Сентябрь 03, 2009, 20:39 »
Цитата: terlan от Сентябрь 03, 2009, 19:47
неправильно понял!
удалённый компьютер создаётся только для выполнения анализа изменений, которые происходят в маганинах. Под анализом подразумевается обработка данных (например, привоз-продажа товара в разные филиалы в разное время и сравнение с данными, поступающими с других баз других филиалов магазинов).
Анализировать часто надо все таблицы базы каждого из филиалов периодически (каждые 2-10 минут). Напомню, что базы данных находятся на филиалах, там ведется учёт товара
Ну и что это меняет?
- Держите общую базу на сервере.
- Выполняете необходимые запросы к ней(на сервере) и обрабатывайте результаты. Устаревшие данные с сервера можно удалять(если требуется)
- Получайте от клиентов только новые данные(способ не важен). Клиенты отпраляют только обновление.
- Про экстримальную ситуацию для клиентов я писал.
Записан
Karl-Philipp
Гость
Re: создание алгоритма взаимодействия клие
«
Ответ #9 :
Сентябрь 03, 2009, 20:54 »
Ну, собственно да, спасибо, Spectre.
upd:
>> - Получайте от клиентов только новые данные(способ не важен).
Таки важен! В продолжение вопроса создаю
тему
/
«
Последнее редактирование: Сентябрь 03, 2009, 22:33 от terlan
»
Записан
spectre71
Гость
Re: создание алгоритма взаимодействия клие
«
Ответ #10 :
Сентябрь 05, 2009, 08:41 »
Цитата: terlan от Сентябрь 03, 2009, 20:54
Ну, собственно да, спасибо, Spectre.
upd:
>> - Получайте от клиентов только новые данные(способ не важен).
Таки важен! В продолжение вопроса создаю
тему
/
Под "способ не важен", подразумевалось любой удобный для вас(и ваших клиентов) способ.
Записан
Wawan
Гость
Re: создание алгоритма взаимодействия клиент-сервер
«
Ответ #11 :
Октябрь 12, 2009, 20:09 »
мне разработали
crm систему
с учетом моих пожеланий и особенностей бизнеса.
Записан
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...