|  | 
| 
Клиент на неустойчивом канале | |||
|---|---|---|---|
| #18+ Есть центральная база на MS SQL. Есть несколько десятков клиентов, которые могут висеть в инете на постоянке или по Dial-UP. Работа клиентов не должна зависеть от доступности интернета в текущий момент. Несколько раз в день они должны сгружать полученые данные на сервер и синхронизировать с ним справочники. Вопрос в том как лучше всего оформить этих клиентов (какую локальную базу для них применить) и какой механизм синхронизации задействовать (Mail, HTTP, FTP ...). И стоит ли тут свой огород городить или есть уже отработанные решения. ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 05.08.2003, 22:57 |  | ||
| 
Клиент на неустойчивом канале | |||
|---|---|---|---|
| #18+ Делал такое на .mdb, сейчас центральная БД переделывается на MS SQL, клиентов (по 1-2 машины на точке) оставляю на .mdb Обновления конвертируются в .txt, потом Rar-ом и по почте получателю. Получатель на автомате или в ручную проверяет ящик принимает и загружает обновления. Так вот для плохого коннекта и сделал txt --> Rar. В результате файл становится очень маленьким (18mb упаковывает в 0,8mb) и сеанс проходит очень быстро. ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 05.08.2003, 23:29 |  | ||
| 
Клиент на неустойчивом канале | |||
|---|---|---|---|
| #18+ А проверку ящика на стороне сервера надо самому с нуля писать или есть стандартные средства в SQL server. Надо что бы это все в качестве сервиса работало без входа в систему. ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 06.08.2003, 00:35 |  | ||
| 
Клиент на неустойчивом канале | |||
|---|---|---|---|
| #18+ Про управление транзакциями и Autoincrement'альные поля  пожалуста поподробнее. ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 06.08.2003, 05:39 |  | ||
| 
Клиент на неустойчивом канале | |||
|---|---|---|---|
| #18+ Почитайте про transactional и merge репликацию ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 06.08.2003, 07:47 |  | ||
| 
Клиент на неустойчивом канале | |||
|---|---|---|---|
| #18+ Было дело писал "Клиент-Банк" - так вот единственное о чем жалею так это о том что для реализации обмена документами не были задействованы интсрументы репликации БД. У нас необходимые данные сгружались в файл (правда .xml) затем шифровались, затем запаковывались и отправлялись. Серверная часть само сабой это сервис по расписанию проверяющий почтовый ящик. ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 06.08.2003, 08:41 |  | ||
| 
Клиент на неустойчивом канале | |||
|---|---|---|---|
| #18+ "Почитайте про transactional и merge репликацию" Разговор идет про mdb., а не про MS SQL. "какой механизм синхронизации задействовать (Mail, HTTP, FTP ...). " Это скорее транспорт. При асинхронной репликации, можно хоть на дискетах с почтовыми голубями. При неустойчивой связи нельзя полагаться только на какой-то один транспорт. Придется дублировать, т. е для устойчивой репликации рассматриваем имеющиеся доступные транспорты, определяем приоритеты, допустим так: 1. FTP (если недоступен) 2. e-mail (если недоступен) 3. файлы на носителях (CD, дискеты, ...). Что за чем должно следовать решается исходя из условий конкретной задачи. Так что как мне кажется огород городить придеться (по крайней мере с транспортом) ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 06.08.2003, 09:09 |  | ||
| 
Клиент на неустойчивом канале | |||
|---|---|---|---|
| #18+ Есть простой подход : в локалке с MSSQL (или прямо на том же серваке, если возможно) делаем еще N баз - копий локальных баз клиентов. В них складываются обновления, полученные от клиентов. В случае возникновения конфликта (а этого по определению быть не должно), запрашивается целиком вся таблица или вся база. С этими базами уже синхронизируется центральная база - штатными средствами репликации или самопальными скриптами. Теперь о транспорте. Прежде всего нужно понять, что такое "плохая связь" и "неустойчивый канал". Подозреваю, что действительно плохой связи Вы не видели. Для самых плохих каналов - FTN+Zmodem. Если ЭТО не работает, то только FloppyNet. Обычно хватает Email или FTP/HTTP с докачкой. ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 06.08.2003, 09:43 |  | ||
| 
Клиент на неустойчивом канале | |||
|---|---|---|---|
| #18+ Лучше конечно не городить самому, использовать встроенные средства -- репликацию Объем пакета будет больше, но можно пойти путем Ermaka  Я использовал транзакции Jet, в случае ошибки, обновления из полученного пакета не устанавливались и запрашивался новый пакет. Но таких ошибок замечено не было. Для ПК использовал GUID. В MS SQL - думаю, использовать UI или создавать свой ключ - скажем, такой, что бы отражал принадлежность записи конкретному клиенту. Для связи установили клиенту мобильный телефон с JPRS - не дорого и связь вполне стабильная. ... | |||
| : 
 Нравится:
     Не нравится:
     | |||
| 06.08.2003, 10:54 |  | ||
|  | 

| start [/forum/topic.php?fid=32&fpage=179&tid=1546884]: | 0ms | 
| get settings: | 11ms | 
| get forum list: | 15ms | 
| check forum access: | 4ms | 
| check topic access: | 4ms | 
| track hit: | 38ms | 
| get topic data: | 14ms | 
| get forum data: | 3ms | 
| get page messages: | 51ms | 
| get tp. blocked users: | 2ms | 
| others: | 230ms | 
| total: | 372ms | 

| 0 / 0 | 
