Форум: "Базы";
Поиск по всему сайту: 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.023 c
3-21945           asafr                 2001-12-04 18:11  2002.01.08  
FastReport. frBand.Visible


1-22015           hunter                2001-12-17 13:17  2002.01.08  
Картинку на принтер


1-22132           Leviathan             2001-12-19 19:38  2002.01.08  
Спрятать форму


4-22464           Dimich                2001-11-01 14:50  2002.01.08  
Книги по API на русском


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