powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Механизм распределённой системы
4 сообщений из 4, страница 1 из 1
Механизм распределённой системы
    #35780025
Denis_coder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброе время суток!

Вопрос по поводу распределённой системы.

В настоящее время разработана система на основе СУБД, которая имеет ряд
таблиц информации и, к примеру, такая система стоит в каждом регионе области. Все системы регионов могут быть связана только по электронной почте или через FTP, т.е. обмен информацией происходит в виде файлов.

Необходимо разработать механизм сборки и обмена актуальной информации.

Есть идеи:
1) Каждую систему в конкретном регионе считать узлом.
2) В каждом узле создать таблицы в БД, которые будут хранить информацию о самом узле и о взаимосвязи с другими узлами (также один из узлов считать центральным).
3) В каждом узле создать таблицы журналов:
1. в первом журнале будет вестись информация об изменениях, переданных из других узлов
2. во втором журнале будет вестись информация об изменениях, сделанных в самом узле
,при этом использовать маркер (в виде таблицы), который будет указывать на информацию, которая является актуальной (маркер необходим для того, что бы обмениваться не всей информацией, а самой последней).

Далее описанием таблиц (не хватает только таблицы маркера и таблицы журналов объеденены в одну):

1. Описание узлов распределенной сети хранятся в таблице REPL_NODES:
create table REPL_NODES
(
/* Уникальный идентификатор узла */
ID number not null,
/* Если = 1, что данный узел является собственным. В таблице может присутствовать только одна запись с IS_SELF = 1 */
IS_SELF number default 1 not null,
/* GUID узла. Используется как дополнительная проверка корректности узла при обмене. */
GUID varchar2(200) not null,
/* Уникальное название узла */
NAME varchar2(200) not null,
/* GUID главного узла. Обновление нормативной базы может осуществляться только если у отправителя и получателя указан один и тот же главный узел. Для главного узла не заполняется. */
MAIN_GUID varchar2(200) not null,
/* Адрес электронной почты, который будет использоваться для обмена данными */
EMAIL varchar2(200) not null,
/* Адрес папки на FTP сервере, который будет использоваться для обмена данными */
FTP varchar2(200) not null,
/* Адрес локальной папки, которая будет использоваться для обмена данными */
FILE_PATH varchar2(200) not null,
/* Произвольное описание узла */
DESCR varchar2(200) not null
);

2. Описания каналов обмена данными хранятся в таблице REPL_HOLE:
create table REPL_HOLE
(
/* Уникальный идентификатор канала */
ID number not null,
/* Ссылка на узел, с которым будет осуществляться обмен данными. В данной таблице не должна присутствовать ссылка на собственный узел. */
REPL_NODE number not null,
/* Направление обмена. 0 – прием; 1 – отсылка; 2 – двусторонний; */
DIRECTION number not null,
/* Порядок, в котором будет осуществляться обмен. Первым запускается обмен с наименьшим порядковым номером. */
NPP number not null,
/* Способ получения данных: 1 - Из файла; 2 - По электронной почте; 3 - По FTP */
SOURCE number not null,
/* Флаг, показывающий, используется данный канал в настоящее время или нет. Если канал используется, то набор полей REPL_NODES_ID – DIRECTION должен быть уникальным. */
IS_ACTIVE number not null
);

3. Журнал изменений для периферийных узлов хранится в таблице REPL_CHANGE:
create table
(
/* Уникальный идентификатор канала */
ID number not null,
/* Ссылка на узел распределенной структуры, для которого регистрируются изменения */
REPL_NODE number not null,
/* Объект, который необходимо обновить для узла, указанного в поле REPL_NODES_ID. 1 - Тип объекта; 2 – объект. В будущем возможна детализация объектов на более мелкие части */
OBJECT number not null,
/* Действие, которое надо выполнить с указанным объектом: 1 - добавить; 2 - изменить; 3 – закрыть; 4 – удалить. */
ACTION number not null,
/* Текущее состояние отработки изменения: 0 - Изменение готово для передачи адресату; 1 - Изменение требует лицензирования; 2 - Изменения переданы лицензирующему узлу; 3 - Изменение было отменено лицензирующим узлом; */
STATE number not null,
/* Ссылка на тип объекта, который подвергся изменению. Заполняется в случае, если OBJECT = 1 */
OBJ_TYPE_ID number not null,
/* Ссылка на объект, который подвергся изменению. Заполняется в случае, если OBJECT = 2 */
OBJ_ID number not null
);

Кто подобным занимался, то поделитесь мнением по поводу данного механизма или посоветуйте что-нибудь.
Заранее благодарен!
...
Рейтинг: 0 / 0
Механизм распределённой системы
    #35781005
Dim@sty
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В инете полно информации по архитектурным решениям многозвенных распределенных систем

С/У DI@STY
...
Рейтинг: 0 / 0
Механизм распределённой системы
    #35781781
pemp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
полезно будет ознакомится с некоторыми главами перед изобретением велосипедов
тынц
если чуток погуглить то можно найти где скачать в дежавю.
...
Рейтинг: 0 / 0
Механизм распределённой системы
    #35781810
Фотография Ggg_old
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Посмотрите, как сделана репликация в СУБД Sybase SA/ASA.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Механизм распределённой системы
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]