Форум: "Базы";
Поиск по всему сайту: 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.024 c
1-22182           Val                   2001-12-20 18:11  2002.01.08  
Chart -> JPEG


1-22112           greenrul              2001-12-15 13:55  2002.01.08  
Подскажите компонент Button


3-21937           ANDREY196             2001-12-04 18:24  2002.01.08  
Как мне поменять цвет в определённой строке таблице в DBGRID


4-22478           Ross                  2001-08-28 16:53  2002.01.08  
Menu Start


3-21972           Wetnose               2001-12-06 08:30  2002.01.08  
FIBs+ & Generators