Форум: "Базы";
Поиск по всему сайту: 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.038 c
1-22236           T2                    2001-12-16 07:10  2002.01.08  
serial.vxd


1-22053           greenrul              2001-12-18 19:29  2002.01.08  
АНТИАЛЬЯСИНГ для TTF шрифтов.


3-21976           Termik                2001-12-06 11:47  2002.01.08  
Хранимые процедуры, динамические статементы


4-22501           Art                   2001-11-02 08:30  2002.01.08  
А можно ли запретить использование определенных Api другим приложениям?


1-22009           oomneeq               2001-12-14 21:26  2002.01.08  
Circular class reference