powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Клиент на неустойчивом канале
9 сообщений из 9, страница 1 из 1
Клиент на неустойчивом канале
    #32228072
Alex_i
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть центральная база на MS SQL. Есть несколько десятков клиентов, которые могут висеть в инете на постоянке или по Dial-UP. Работа клиентов не должна зависеть от доступности интернета в текущий момент. Несколько раз в день они должны сгружать полученые данные на сервер и синхронизировать с ним справочники. Вопрос в том как лучше всего оформить этих клиентов (какую локальную базу для них применить) и какой механизм синхронизации задействовать (Mail, HTTP, FTP ...). И стоит ли тут свой огород городить или есть уже отработанные решения.
...
Рейтинг: 0 / 0
Клиент на неустойчивом канале
    #32228077
Фотография progist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Делал такое на .mdb, сейчас центральная БД переделывается на MS SQL, клиентов (по 1-2 машины на точке) оставляю на .mdb
Обновления конвертируются в .txt, потом Rar-ом и по почте получателю.
Получатель на автомате или в ручную проверяет ящик принимает и загружает обновления.
Так вот для плохого коннекта и сделал txt --> Rar. В результате файл становится очень маленьким (18mb упаковывает в 0,8mb) и сеанс проходит очень быстро.
...
Рейтинг: 0 / 0
Клиент на неустойчивом канале
    #32228089
Alex_i
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А проверку ящика на стороне сервера надо самому с нуля писать или есть стандартные средства в SQL server. Надо что бы это все в качестве сервиса работало без входа в систему.
...
Рейтинг: 0 / 0
Клиент на неустойчивом канале
    #32228112
Ermak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Про управление транзакциями и Autoincrement'альные поля пожалуста поподробнее.
...
Рейтинг: 0 / 0
Клиент на неустойчивом канале
    #32228130
Фотография Ray D
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Почитайте про transactional и merge репликацию
...
Рейтинг: 0 / 0
Клиент на неустойчивом канале
    #32228159
funikovyuri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Было дело писал "Клиент-Банк" - так вот единственное о чем жалею так это о том что для реализации обмена документами не были задействованы интсрументы репликации БД. У нас необходимые данные сгружались в файл (правда .xml) затем шифровались, затем запаковывались и отправлялись.
Серверная часть само сабой это сервис по расписанию проверяющий почтовый ящик.
...
Рейтинг: 0 / 0
Клиент на неустойчивом канале
    #32228188
Ermak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"Почитайте про transactional и merge репликацию"

Разговор идет про mdb., а не про MS SQL.

"какой механизм синхронизации задействовать (Mail, HTTP, FTP ...). "
Это скорее транспорт. При асинхронной репликации, можно хоть на дискетах с почтовыми голубями.

При неустойчивой связи нельзя полагаться только на какой-то один транспорт. Придется дублировать, т. е для устойчивой репликации рассматриваем имеющиеся доступные транспорты, определяем приоритеты, допустим так:
1. FTP (если недоступен)
2. e-mail (если недоступен)
3. файлы на носителях (CD, дискеты, ...).
Что за чем должно следовать решается исходя из условий конкретной задачи.
Так что как мне кажется огород городить придеться (по крайней мере с транспортом)
...
Рейтинг: 0 / 0
Клиент на неустойчивом канале
    #32228221
Yossarian
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть простой подход : в локалке с MSSQL (или прямо на том же серваке, если
возможно) делаем еще N баз - копий локальных баз клиентов. В них
складываются обновления, полученные от клиентов. В случае возникновения
конфликта (а этого по определению быть не должно), запрашивается
целиком вся таблица или вся база. С этими базами уже синхронизируется
центральная база - штатными средствами репликации или самопальными
скриптами.

Теперь о транспорте. Прежде всего нужно понять, что такое "плохая связь" и
"неустойчивый канал". Подозреваю, что действительно плохой связи Вы не видели.
Для самых плохих каналов - FTN+Zmodem. Если ЭТО не работает, то только
FloppyNet. Обычно хватает Email или FTP/HTTP с докачкой.
...
Рейтинг: 0 / 0
Клиент на неустойчивом канале
    #32228347
Фотография progist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лучше конечно не городить самому, использовать встроенные средства -- репликацию Объем пакета будет больше, но можно пойти путем Ermaka

Я использовал транзакции Jet, в случае ошибки, обновления из полученного пакета не устанавливались и запрашивался новый пакет. Но таких ошибок замечено не было. Для ПК использовал GUID. В MS SQL - думаю, использовать UI или создавать свой ключ - скажем, такой, что бы отражал принадлежность записи конкретному клиенту.

Для связи установили клиенту мобильный телефон с JPRS - не дорого и связь вполне стабильная.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Клиент на неустойчивом канале
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]