Управление распределённой базой данных

Как настроить центральную и периферийную информационные базы?

В этом руководстве даны инструкции по настройке Системы УРБД или Управления Распределённой Базой Данных.

Описывается такая система УРБД, при которой Центральная база (ЦБ) устанавливается в головном офисе, а в региональном подразделении на удалённом рабочем месте устанавливается Периферийная база (ПБ).

Подразумевается, что ЦБ и ПБ расположены на разных компьютерах. Если же ЦБ и ПБ находятся на одном компьютере, то файлы этих баз должны содержаться в разных каталогах.

Принципы работы системы УРБД по вышеизложенной схеме предусматривают такие особенности:

  • Изменение данных проводится в Центральной базе и в периферийных базах.
  • Изменение конфигурации производится только в Центральной базе.

Настройка Центральной базы

Сначала проводится настройка Центральной базы. Если настройка ЦБ выполняется на основе базы, которая стояла на удалённом рабочем месте, то такую базу нужно переместить в то место, где будет находиться ЦБ.

Заходим в Конфигуратор. Открываем пункт меню «Администрирование – Распределённая ИБ - Управление»

Открытие диалога управления распределёнными данными через меню в Центральной базе
Открытие диалога управления распределёнными данными через меню в Центральной базе

В диалоге «Управление распределёнными данными» нажимаем кнопку «Центральная ИБ».

Диалог управления распределёнными данными в Центральной базе при первом открытии
Диалог управления распределёнными данными в Центральной базе при первом открытии

В диалоге «Центральная информационная база» вводим код центральной базы и её описание. После сохранения код ЦБ изменить нельзя.

Ввод кода и описания для Центральной базы данных
Ввод кода и описания для Центральной базы данных

После сохранения настроек ЦБ становится доступной кнопка «Новая периф. ИБ». Для создания новой Периферийной информационной базы нажимаем эту кнопку.

Диалог управления распределёнными данными после настройки Центральной базы
Диалог управления распределёнными данными после настройки Центральной базы

В диалоге «Новая периферийная информационная база» вводим код и описание ПБ. Код периферийной базы после сохранения изменить будет невозможно. Но можно будет удалить существующую периферийную базу и создать новую с новым кодом.

Ввод кода и описания Периферийной информационной базы в настройках Центральной базы
Ввод кода и описания Периферийной информационной базы в настройках Центральной базы

Теперь, когда созданы ЦБ и ПБ, нажимаем на кнопку «Настр. автообмена» для того, чтобы провести настройку параметров автообмена между базами.

Диалог управления распределёнными данными со списком периферийных баз в Центральной базе
Диалог управления распределёнными данными со списком периферийных баз в Центральной базе

После открытия диалога «Настройка параметров автообмена» заходим на первую закладку «Файлы, режимы» и выполняем настройку. В разделе «Каталог» определяем каталоги, которые будут служить для выгрузки и загрузки файлов автообмена. В разделе «Имя файла и режим» выбираем опцию «Автоматический».

Настройка параметров автообмена для Центральной базы
Настройка параметров автообмена для Центральной базы

Настройки на закладке «Электронная почта» не проводим, потому что электронная почта 1С использоваться не будет.

На закладке «Пароли ZIP» проводим настройку паролей, которые будут устанавливаться на файлы автообмена. Если файлы не будут защищаться паролем, то значение поля «Пароль» оставляем без изменений (даже при том, что в нём видны звёздочки).

Настройка пароля для файла автообмена в Центральной базе
Настройка пароля для файла автообмена в Центральной базе

Нажимаем на кнопку «ОК» и возвращаемся в диалог «Управление распределёнными базами». Теперь жмём на кнопку «Выгрузить данные». Это будет первая выгрузка данных из ЦБ. Первый выгруженный файл содержит в себе настройки для инициализации Периферийной базы данных.

После настройки параметров автообмена с периферийной базой стала доступной кнопка "Выгрузить данные"
После настройки параметров автообмена с периферийной базой стала доступной кнопка "Выгрузить данные"

В диалоге «Выгрузка данных» проверяем путь к каталогу, в который будет выгружен файл.

Выгрузка файла из Центральной базы для инициализации периферийной базы
Выгрузка файла из Центральной базы для инициализации периферийной базы

После нажатия на кнопку «ОК» система выгрузит в назначенный каталог инициализационный файл в виде архива (формат ZIP). Внутри инициализационного файла содержатся такие файлы:

  1. Файл конфигурации (1Cv7.md)
  2. Файл архива базы данных (1Cv77.dat)
  3. Файл со сведениями о пользователях (users.usr)

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

Настройка Периферийной базы

На компьютере, на котором будет находиться ПБ, запускаем 1С и создаём запись для новой информационной базы, создав при этом каталог, в котором будут содержаться файлы базы данных.

Создание новой записи о периферийной базе данных
Создание новой записи о периферийной базе данных

После создания записи о новой информационной базе запускаем 1С в режиме Конфигуратора. В Конфигураторе выбираем пункт меню «Администрирование – Загрузить данные».

Открытие диалога загрузки инициализационного файла периферийной базы данных через меню
Открытие диалога загрузки инициализационного файла периферийной базы данных через меню

В открывшемся диалоге «Загрузка данных» указываем путь к инициализационному файлу, который был выгружен из ЦБ.

Загрузка инициализационного файла в периферийной базе
Загрузка инициализационного файла в периферийной базе

После нажатия на кнопку «ОК» система выполнит загрузку данных и инициализацию ПБ.

Теперь можно проверить, что инициализация ПБ прошла успешно. Для этого нужно открыть пункт меню «Администрирование – Распределённая ИБ - Управление». В открывшемся диалоге «Управление распределёнными базами» можно увидеть данные о ЦБ и ПБ.

Диалог управления распределёнными данными в периферийной базе
Диалог управления распределёнными данными в периферийной базе

Теперь нужно выполнить настройку ПБ. Для этого откроем пункт меню «Администрирование – Распределённая ИБ - Автообмен», после чего на экране появляется диалог «Автообмен».

Диалог автообмена в периферийной базе
Диалог автообмена в периферийной базе

В диалоге «Автообмен» нажимаем кнопку «Настройка», после чего открывается диалог «Настройка параметров автообмена».

Настройка параметров автообмена в периферийной базе
Настройка параметров автообмена в периферийной базе

В диалоге «Настройка параметров автообмена» в разделе «Каталоги, имена файлов, режим» указываем каталоги, которые будут использоваться для загрузки и выгрузки файлов автообмена. Параметры электронной почты также не настраиваем, поскольку почта 1С использоваться не будет. Пароль на файл автообмена настраиваем при необходимости.

Сохраняем настройки автообмена нажатием на кнопку «ОК» и выходим из диалога «Автообмен». Теперь периферийная база настроена и готова для автообмена данными с Центральной информационной базой.

Насколько часто проводить автообмен?

Частота обмена файлами обновлений между распределёнными базами определяется потребностями пользователей информационной базы. Тем не менее, не редко критерием частоты автообмена становится механизм передачи обменных файлов между базами. Файлы автообмена могут передаваться по электронной почте, через FTP сервер или посредством физических носителей (флешка, переносной жёсткий диск и подобное). Если администратору системы 1С удалось настроить автоматический обмен файлами, то есть смысл делать обмен данными ежедневно.

Почему полезно проводить автообмен как можно чаще? Чем чаще будут обновляться данные в распределённой базе данных, тем оперативнее будут приниматься управленческие решения. А если на вопрос посмотреть с технической точки зрения, то увеличение частоты обмена данными между распределёнными базами будет способствовать уменьшению размера обменных файлов.

Будут ли пропадать данные при автообмене?

Нередко у администраторов, не имеющих опыта работы с УРБД, возникает вопрос о том, не будут ли пропадать данные в базах после автообмена с другой базой. На данный вопрос можно дать подробный ответ.

Запрет повторной загрузки инициализационного файла

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

Запрет повторной загрузки инициализационного файла в периферийную базу
Запрет повторной загрузки инициализационного файла в периферийную базу

Запрет повторной загрузки файла автообмена

Рассмотрим ситуацию. Допустим утром в ЦБ загрузилось обновление из ПБ. В течение дня в ЦБ редактировались справочники, создавались новые документы. Вечером того же дня был запущен автообмен. Новых файлов от ПБ не пришло, а в каталоге, в котором сохраняются приходящие от ПБ файлы, остался лежать утренний файл. Затрутся ли данные, внесённые в ЦБ за день, если вечером в ЦБ выполнить автообмен с использованием файла, пришедшего от ПБ утром?

Нет, данные в ЦБ не пропадут. Система проверит, выполнялась ли уже загрузка данных из файла, который предоставлен для автообмена. Если данные из файла уже загружались, то повторная загрузка будет запрещена.

Запрет повторной загрузки данных в информационную базу
Запрет повторной загрузки данных в информационную базу

Как система узнаёт о том, что данные из файла автообмена уже загружались? Дело в том, что файл автообмена содержит внутри себя такие два файла:

  1. Данные об изменениях (1Cv77Chs.dat)
  2. Идентификационный номер файла автообмена (1Cv77Dld.id)

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

Запрет изменения конфигурации периферийной базы

И напомню ещё раз, что изменение конфигурации разрешено только в Центральной базе. Поэтому система запретит сохранение изменений, внесённых в конфигурацию в периферийной базе.

Запрет изменения конфигурации периферийной базы
Запрет изменения конфигурации периферийной базы

Коллизии

А что произойдёт, если в центральной и в периферийной базах были одновременно внесены изменения в один и тот же объект? Например, одновременно пользователи в разных базах изменили одну и ту же расходную накладную или свойства некоего контрагента. Что тогда? Здесь ответ однозначен и варианты исключены. Предпочтение будет отдано данным, находящимся в Центральной базе.

Иными словами, если в периферийной базе в расходной накладной № 12 была добавлена новая строка, а в центральной базе в строке № 4 той же расходной накладной № 12 была изменена цена товара, то после обновления в периферийной базе затрётся добавленная строка, но будет проведено изменение цены, пришедшее из Центральной базы.

Как предотвратить потерю данных? Думаю, способов может быть очень много. Например, можно поиграться с набором прав пользователей. Скажем, предоставить право повторного редактирования документа только пользователю, который создал документ, а другие пользователи данный документ могут только просматривать. А чтобы "изменить" документ, нужно удалить "ошибочный" документ и вместо него создать новый, если потребуется.

Могут быть другие коллизии и и другие способы предотвращения потери данных при возникновении коллизий в работе с распределённой базой данных. Вы сможете их придумать сами. Потому что теперь вы будете предупреждены, а значит - вооружены.

Другие источники информации по работе с УРБД

В моей статье я рассказал о том, как настроить УРБД. Если вы хотите узнать больше, то читайте соответствующие статьи.

Например, я предлагаю вам статью "1С:Предприятие 7.7. Управление распределенными базами данных". Из статьи вы узнаете о схеме данных и о принципах работы системы УРБД, о структуре пакета обмена данными, об исключительных ситуациях и о подводных камнях, возникающих в работе с распределёнными базами данных.

При организации обмена между двумя информационными базами (не обязательно 1С:Предприятие) возникают две сложности: как узнать, а какие же объекты были изменены с момента последней отгрузки информации (чтобы выгружать не все данные, а только необходимое), и как отследить доставку пакетов обмена (если пропал один или два пакета, то это не должно приводить к глобальному сбою: пакеты, по которым не пришло подтверждение доставки, должны быть просто и прозрачно отправлены при следующем сеансе обмена).

Из статьи, ссылку на которую вы найдёте ниже, вы узнаете о том, как технология надежной доставки реализована в компоненте УРБД 1С:Предприятие 7.7 «изнутри» (на уровне исходных таблиц информационной базы). Это особенно интересно, если мы хотим реализовать взаимодействие с другими системами (не обязательно 1С), не отказываясь, в то же время, от удобных средств, предоставляемых программисту компонентой УРБД.

И наконец, хочу посоветовать вам ещё одну статью, содержащую отличный анализ проблем, которые могут возникнуть в работе с распределённой базой данных, с подробным описанием методов их решения.

Эпилог

В статье дана подробная инструкция о том, как провести настройку системы УРБД или Управления Распределённой Базой Данных. Читателям даны пошаговые указания и визуальные примеры настройки Центральной базы и периферийных баз, входящих в распределённую базу данных. Рассмотрен вопрос о том, насколько часто необходимо проводить автообмен между распределёнными базами. Читатели, желающие изучить вопросы работы с УРБД более глубоко, могут получить информацию с других сайтов, ссылки на которые даны в конце статьи.

Реклама:
Смотрите также:
Универсальные обработки для администрирования 1С
Примеры кода для работы с метаданными
Документы для оформления реализации товаров и услуг
Внешние компоненты для 1С
Повернуть ключ защиты программы 1С