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

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

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

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

Теперь о транспорте. Прежде всего нужно понять, что такое "плохая связь" и
"неустойчивый канал". Подозреваю, что действительно плохой связи Вы не видели.
Для самых плохих каналов - FTN+Zmodem. Если ЭТО не работает, то только
FloppyNet. Обычно хватает Email или FTP/HTTP с докачкой.
...
Рейтинг: 0 / 0
06.08.2003, 10:54
    #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]