Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
32 / 7 / 1
Регистрация: 10.09.2010
Сообщений: 836
1

Механизм синхронизации данных

05.02.2016, 11:58. Показов 1571. Ответов 39
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Подскажите пожалуйста как сделать синхронизацию
Существуют две разные БД, в которых ведутся одинаковые данные, например состав изделий. Изменения могут касаться как одного изделия, так и разных.
Требуется разработать механизм синхронизации данных, т.е. наладить взаимный обмен по составу изделий между БД. В результате выполнения синхронизации, данные в двух БД должны быть одинаковым
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.02.2016, 11:58
Ответы с готовыми решениями:

Синхронизации данных 1С с MS SQL сервером
Добрый день! Я в 1С мало что понимаю, поэтому вопрос: каким образом можно синхронизировать данные...

С++ Защита данных при синхронизации
Как можно защитить данные в CreateThread (создание потока) У меня есть в программе чтение данных...

Система синхронизации данных по определенному такту
Здравствуйте! Меня интересует различные подходы к проектированию системы для синхронизации...

Мобильное приложение. Реализация синхронизации данных.
Добрый день Пытаюсь сделать свою конфигурацию мобильную на андройд , Возник вопрос как сделать...

39
5395 / 4323 / 1060
Регистрация: 29.08.2013
Сообщений: 27,130
Записей в блоге: 3
05.02.2016, 12:16 2
а если отредактируют два изделия по разному какое изменение правильное?

и что значит
Цитата Сообщение от zmei89 Посмотреть сообщение
Требуется разработать механизм синхронизации данных,
в каком виде вам нужен
Цитата Сообщение от zmei89 Посмотреть сообщение
наладить взаимный обмен по составу изделий между БД
в локальной сети, через интернет? какие средства использовать?
0
32 / 7 / 1
Регистрация: 10.09.2010
Сообщений: 836
05.02.2016, 12:19  [ТС] 3
в локальной сети,в отдельном диалоговом окне
0
5395 / 4323 / 1060
Регистрация: 29.08.2013
Сообщений: 27,130
Записей в блоге: 3
05.02.2016, 12:20 4
Цитата Сообщение от qwertehok Посмотреть сообщение
а если отредактируют два изделия по разному какое изменение правильное?
????
0
32 / 7 / 1
Регистрация: 10.09.2010
Сообщений: 836
05.02.2016, 12:28  [ТС] 5
qwertehok, так изделия одинаковые

Добавлено через 4 минуты
если разных изделий,то берем главное первой бд
0
2664 / 2270 / 279
Регистрация: 24.12.2010
Сообщений: 13,723
05.02.2016, 12:29 6
Цитата Сообщение от zmei89 Посмотреть сообщение
Существуют две разные БД, в которых ведутся одинаковые данные
Без определения какая из баз ведущая (главная), а какая ведомая (подчиненная) задача их репликации рано или поздно зайдет в тупик.
0
32 / 7 / 1
Регистрация: 10.09.2010
Сообщений: 836
05.02.2016, 12:34  [ТС] 7
mss, 1 бд ведущая,2 бд ведомая
0
5395 / 4323 / 1060
Регистрация: 29.08.2013
Сообщений: 27,130
Записей в блоге: 3
05.02.2016, 12:40 8
zmei89, ну и в чем тогда проблема?

главная бд
1. ищем файлик с нужными апдейтами, выгружаем их

2. при изменении выгружаем SQL запрос в виде строки в текстовый файл UPDATE
при внесении новых данных - SQL запрос INSERT
в начало файлика пишите id этого файла

этот текстовый файл выкладывается в расшаренный каталог (фтп)

подчиненная бд
1. принимает файл, смотрит его ID и если он больше на 1 от того что уже есть - то выполняем то что в файле
если номер другой, то тогда подчиненная скидывает в каталог номера нужных апдейтов

вот и весь обмен

Добавлено через 1 минуту
но при этом мы можем потерять изменения в подчиненной базе
на эти конфликты надо забивать или думать как их решать
0
32 / 7 / 1
Регистрация: 10.09.2010
Сообщений: 836
05.02.2016, 12:48  [ТС] 9
qwertehok, так стоп ,у препода уточнил БД, что она сетевая. Средства обмена могут быть любыми, которые позволяют забрать и положить данные в БД. Нужен алгоритм налаживания обмена данным

Добавлено через 42 секунды
qwertehok, и 2 БД обе главными должны быть
0
5786 / 4528 / 1431
Регистрация: 14.04.2014
Сообщений: 20,157
Записей в блоге: 20
05.02.2016, 13:00 10
Дано:
БД 1
ID:100
Name:Аспирин 100мг таб
БД 2
ID:200
Name:Аспирин 100мг таб

изменяем в БД 1
ID:100
Name:Аспирин таб 100мг

изменяем в БД 2
ID:200
Name:Аспирин таб. 100мг

начинаем передачу
Найти
что и где должно быть в результате
0
5395 / 4323 / 1060
Регистрация: 29.08.2013
Сообщений: 27,130
Записей в блоге: 3
05.02.2016, 13:14 11
Цитата Сообщение от zmei89 Посмотреть сообщение
так стоп ,у препода уточнил БД, что она сетевая.
и что? хоть космическая

Цитата Сообщение от zmei89 Посмотреть сообщение
Нужен алгоритм налаживания обмена данным
налаживания? от слова "лажать"?

Цитата Сообщение от zmei89 Посмотреть сообщение
и 2 БД обе главными должны быть
ну тут ты попал
как ты коллизии решать намерен?

в одну базу добавили БОЛТ 10*15 масса 5 кг
в другу БОЛТ 10*15 масса 1 кг

какой правильный?
0
32 / 7 / 1
Регистрация: 10.09.2010
Сообщений: 836
05.02.2016, 13:18  [ТС] 12
qwertehok, да вопрос с болтами
0
mss
05.02.2016, 13:24
  #13

Не по теме:

Цитата Сообщение от zmei89 Посмотреть сообщение
вопрос с болтами
Это ты преподу скажи, мол, ты препод даешь вменяемое задание (репликация) при невменяемых требованиях (обе БД сами себе главные)

0
32 / 7 / 1
Регистрация: 10.09.2010
Сообщений: 836
05.02.2016, 13:26  [ТС] 14
mss, да я и сам не представляю как можно так
0
qwertehok
05.02.2016, 13:27
  #15

Не по теме:

да ты и по другому не представляешь

0
5786 / 4528 / 1431
Регистрация: 14.04.2014
Сообщений: 20,157
Записей в блоге: 20
05.02.2016, 13:41 16
при репликации нужно опираться на что-то неизменное
ID чаще всего в базах обязательно НЕ СОВПАДАЮТ
тогда при смене наименования мы получаем оп - 2 товара
положение может спасти лог действий юзеров, но сравнивать логи это совсем уж задача-презадача...
0
32 / 7 / 1
Регистрация: 10.09.2010
Сообщений: 836
05.02.2016, 13:46  [ТС] 17
krapotkin, всмысле на что неизменное?
0
5395 / 4323 / 1060
Регистрация: 29.08.2013
Сообщений: 27,130
Записей в блоге: 3
05.02.2016, 13:53 18
Цитата Сообщение от krapotkin Посмотреть сообщение
ID чаще всего в базах обязательно НЕ СОВПАДАЮТ
поэтому все давно перешли на GUID

Добавлено через 2 минуты
Цитата Сообщение от zmei89 Посмотреть сообщение
krapotkin, всмысле на что неизменное?
если делать в базе справочник, то ключевое поле обычно (ID) и оно автоинкремент (то есть увеличивается на 1)

допустим в одной базе пользователи вели справочник правильно и не удаляли данные, тогда у них все по порядку
а в другой базе удалили и создали элемент заново

поэтому получается что у одних БОЛТ 10*15 под номером 10
а в другой базе под номером 9
и когда приходит обновление то обновляют не по имени, а по ID
тут то и косяк
0
5786 / 4528 / 1431
Регистрация: 14.04.2014
Сообщений: 20,157
Записей в блоге: 20
05.02.2016, 13:55 19
zmei89,
как сравнивать, что это один и тот же товар в разных БД?
какие-то признаки у них должны же совпадать?

Цитата Сообщение от qwertehok Посмотреть сообщение
все давно перешли
кто эти все?
чем это помогает при дублировании товаров?
с т.з. производительности поиск по GUID - это вовсе не поиск по bigint например
0
32 / 7 / 1
Регистрация: 10.09.2010
Сообщений: 836
05.02.2016, 14:02  [ТС] 20
qwertehok, вот что препод говорит
Каждое изменение производится на основании документа, у которого есть номер и дата.

Массу и характеристики детали пока в расчет не берем.
Когда говорим о составе, это выглядит примерно так. Состав разложен по уровния
СЕ1 - Стол
Дет1 - столешница 1 шт
Дет2 - ножки 4 шт
Дет3 - винты
СЕ2 - Ящик -2 шт
Дет4 - планки -4 шт
Дет5 - дно 1 шт
...... и т.д

Критерий для сравнения придумывай сам
0
05.02.2016, 14:02
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.02.2016, 14:02
Помогаю со студенческими работами здесь

В синхронизации данных через универсальный формат не регистрируются объекты
Добрый день. После обновления релиза конфигурации БП 3 (до 3.0.64.54) перестал работать обмен через...

Какие есть способы синхронизации PM2 некоторых данных?
Просто например счетчик на количество запросов, var express = require('express'); var app =...

Не могу понять механизм получение данных
Пожалуйста помогите мне с моим сайтом. Объясните мне пожалуйста одно. У меня есть страница, на...

Подскажите механизм закрытия базы данных
КАК ЛУЧШЕ ДЕЛАТЬ, ну или как делают? как положено? Открывать/закрывать при каждом запросе мне...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru