Форум: "Базы";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.01.08;
Скачать: [xml.tar.bz2];




Вниз

Репликация 


Victor Tsay   (2001-11-29 10:02) [0]

Доброго всем дня!

Посоветуйте, пожалуйста, как лучше написать обработку переноса и обновления данных.
Имеются два компьютера, которые соединяются один раз в день по модему. Изменять и добавлять данные могут на любом из компьютеров. Может кто посоветует как элегантнее сделать репликацию и актуализацию данных. Сейчас я склоняюсь к тому что для каждой таблицы делаю ее копию куда при событии "Post" записываю измененную или добавленную запись и в дальнейшем передаю все изменения (копии таблиц) по модему. При получении обрабатываю полученные таблицы и соответственно добавляю или изменяю рабочую базу.
Но мне этот способ совсем не нравится. Слишком он громоздкий, слишком много таблиц. Может кто нибудь сталкивался с этим?
Заранее благодарю за ответ.



p@s   (2001-11-29 10:22) [1]

Мы использовали таблицу в которой были только ключ экземпляра, номер версии экземпляра и признаки - создан/модифицирован/удален. При репликации выбирались записи у которых был установлен флаг с/м/у, номер версии увеличивался на единуцу. Выдранные данные передовались в другой офис. Там проводился анализ версии. Номер пришедшей версии экземпляра должен быть на еденицу больше, чем текуший. Если больше чем на единицу - значит потеряли посылку. Если меньше или равен, значит экземпляр корректировался в обоих местах и надо было выснить, в каком месте данные актуальны. Это обычно делалось по телефону. После этого реплику или принимали или отклоняли.
В кратце примерно так.



Dick Gonsales   (2001-12-04 05:33) [2]

Ты можешь при анализе POST
сразу рисовать строку на
соответствующую операцию (APPEND FROM / DELETE FROM / )
и записывать в виде ddhhmmss.PRG
и отправлять его по модему на другую машину
скажем раз в 30 минут, с той стороны аналогично
принятые файлы ты с помощью за цикленого bat
который по нахождению файла *.prg его исполняет и затем
move drive:/arc/yymmdd/

При этом у тебя я так понимаю будет полюбому
куча вопросов если твои работники изменили
одну и туже строку за эти полчаса, кто из них прав???
Можно конечно добавлять в каждую таблицу по полю
last_update (DATE) и смотреть по нему кто позже тот и парв,
но это уже чисто ваша конкретная заточка и решить
ее можете только вы. Отследить такие записи по тому же
last_update (date)




Форум: "Базы";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.01.08;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.72 MB
Время: 0.044 c
3-21977           Амелин Вадим          2001-12-03 20:42  2002.01.08  
Создание БД в InterBase


1-22172           ASTARD                2001-12-19 22:12  2002.01.08  
Народ помогите плиз ???


6-22266           PHN                   2001-10-02 14:50  2002.01.08  
Connect


14-22352          Merlin                2001-11-02 13:04  2002.01.08  
У нас все ходы записаны!!!


1-22200           Sergei_B              2001-12-15 09:57  2002.01.08  
Int64 и размер файла