R2-D2: журнал регистрации, монитор обменов, аварийные уведомления








Обслуживание Журналов регистрации нескольких баз 1С. Сбор и обработка сведений о статусах обменов баз 1С, рассылка аварийных уведомлений.

Функции:

1. Монитор обменов. Блок функциональности является развитием системы Монитор обменов (описание). Новое: упрощена работа многих механизмов (например, больше не хранится история состояний), добавлены транспорты: теперь система "умеет" обмениваться данными по веб-сервисам (WS), выступать и как сервер, и как клиент.

2. Хранилище Журналов регистрации. Позволяет хранить и обрабатывать журналы регистрации нескольких информационных баз 1С. Хранение (пока) организовано только в самой базе 1С на SQL. В планах — использование более подходящих хранилищ.


Транспорт

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

1. COM-соединение. R2-D2 сам по регламенту инициирует СОМ-соединение к контролируемой базе, забирает оттуда информацию и фиксирует её у себя. По такому способу удобно работать например с какими-нибудь файловыми базами. Работает медленно из-за скорости инициализации подключения. Ограничение: в этом режиме соединения не реализована функция хранилища Журналов регистрации. То есть по такому транспорту будет работать только Монитор обменов.
2. WS-соединение (активное). R2-D2 сам инициирует подключение WS-подключение к контролируемой базе, забирает оттуда информацию и фиксирует её у себя. По такому способу удобно работать например с какими-нибудь файловыми базами. Работает значительно (в разы) быстрее, чем п.1. Требуется, чтобы
2.1. Контролируемая база должна быть опубликована на веб-сервере.
2.2. На контролируемую базу было установлено расширение пп_КлиентR2D2 (в котором описан веб-сервис и операции) (см. архив для скачивания)
3. WS-соединение (пассивное). R2-D2 сам принимает от клиентских баз пакеты информации и обрабатывает их. Наиболее оптимальный вариант по целому ряду причин. Требования:
3.1. R2-D2 должен быть опубликован на веб-сервисе
3.2. В каждой клиентской базе должна быть установлено расширение и внешняя обработка, которая должна выполняться с некоторой периодичностью (см. архив для скачивания и механизм дополнительных внешних обработок БСП + расписание на выполнение внешних обработок)


Механика

1. Получение информации от базы-корреспондента
2. Запись полученной информации.

В случае, когда используется транспорт пассивного WS-соединения, то возникает этап идентификации базы. Клиентская база при инициации соединения передаёт в R2-D2 информацию о себе, в том числе свой идентификатор (см. константу баз на БСП "Идентификатор информационной базы"). В случае, если такой базы в справочнике баз нет. будет создан новый элемент. Далее элемент можно будет переименовать для удобства восприятия представления.

В случае, когда R2-D2 самостоятельно инициирует подключение к контролируемым базам, механика работает по регламентному заданию.

На сбор информации об обменах — отдельное регламентное задание.

На анализ ошибок обменов и формирование уведомлений — отдельно регламентное задание.


Механика сбора и очистки Журналов регистрации

Предполагается, что каждую ночь начиная с последнего успешно загруженного периода по конец предыдущего дня Журналы регистрации "переливаются" в R2-D2, а затем очищаются. 


Внедрение

1. Скачать архив этой статьи

2. Развернуть базу из "R2D2 1.1.cf".

3. Если планируется использовать пассивное WS-соединение, то необходимо опубликовать новую базу на веб-сервере.

4. Выбрать способ соединения с контролируемыми базами

4.1. Если COM-соединение:

4.1.1. Добавить вручную базы в список баз (см. "Информационные базы"), выбрать способ соединения "COM". 
4.1.2. Настроить регламентные задания "Сбор данных о выполнении обменов" (например каждые 10 минут) и "Загрузка журналов регистрации информационных баз (ППЖР)" (например каждую ночь с 01:00 по 06:00, повторять каждые 30 минут)

4.2. Если WS-соединение (активное):

4.2.1. Каждую из баз опубликовать на веб-сервере с флагом "Публиковать Web-сервисы расширений по умолчанию"
4.2.2. В каждую клиентскую базу добавить расширение "пп_КлиентR2D2.cfe"
4.2.3. Добавить вручную базы в список баз (см. "Информационные базы"), выбрать способ соединения "Web-service".
4.3.4. Настроить регламентные задания "Сбор данных о выполнении обменов" (например каждые 10 минут) и "Загрузка журналов регистрации информационных баз (ППЖР)" (например каждую ночь с 01:00 по 06:00, повторять каждые 30 минут)

4.3. Если WS-соединение (пассивное):

4.3.1. Клиентские базы сами добавятся в справочник при первом подключении.
4.3.2. Добавить пользователя с полными правами в R2-D2. Опубликовать базу R2-D2 на веб-сервере (Apache или IIS — как удобнее)
4.3.3. Для обработок "ОтправкаСостоянияОбменовВR2D2.epf" и "ОтправкаЖурналаРегистрацииВR2D2.epf" в функции "Соединение()" модуля обработки прописать Пользователь и Пароль подключения к R2-D2 (соответственно, такой пользователь под таким паролем должен быть в R2-D2)
4.3.4. В каждую клиентскую базу добавить:
4.3.4.1. Расширение "пп_КлиентR2D2.cfe"
4.3.4.2. Внешнюю обработку "ОтправкаСостоянияОбменовВR2D2.epf", настроить регламент выполнения (например каждые 10 минут)
4.3.4.2. Внешнюю обработку "ОтправкаЖурналаРегистрацииВR2D2.epf", настроить регламент выполнения (например каждую ночь с 01:00 по 06:00, повторять каждые 30 минут)

5. Каждую из баз необходимо настроить (см. вкладку "Функциональность" на форме элемента справочника Информационные базы)

6. Если требуется рассылка аварийных уведомлений по статусам обменов, то необходимо настроить расписание регламентного задания "Формирование уведомлений контрольных операций (ПП)", а также "Отправка контактных сообщений (ПП)", для которого потребуется еще настройка почты. Более подробно см. описание системы Монитор обменов (ссылка есть в разделе Особенности).

7. На этом — всё, оно должно работать.


Плюсы

1. Удобное администрирование контролируемых информационных баз "в одном месте"
2. Журналы нескольких информационных баз "в одном месте". Это удобно, например, для того, чтобы легко можно было проследить где было последнее изменение какого-то определенного элемента справочника, если у Вас есть обмены данными (или РИБ).
3. Загруженный журнал в R2-D2 индексирован по основным полям поиска, что делает поиск гораздо более приятной и значительно более быстрой процедурой, нежели поиск с помощью платформенных инструментов.
4. Текущая информация об обменах — тоже в одном месте
5. Ссылочные данные загружаются в справочник "Данные" с идентификатором. Очень удобно при отборах. Аналогично — справочник "Метаданные", "События" и проч.


Требования, ограничения

1. Работает ТОЛЬКО с конфигурациями на БСП.
2. Работает ТОЛЬКО с информационными базами, которые используют НОВЫЙ формат хранения Журнала регистрации (SQL lite).


Особенности
1. Написана на БСП
2. Используется переработанная система Монитор обменов как подсистема
3. Используется подсистема рассылки сообщений


Планы

Единый центр рассылки заданий, центр управления пользователями и профилями, центр тиражирования расширений и т.п. То есть сервис, предоставляющий удобные функции для управления некоторым множеством информационных баз. Поддержка разных СУБД для хранения Журнала регистрации (Elastic Search, Click House и т.п.) К сожалению, всё упирается в свободное время.


Состав архива

1. R2D2 1.1.cf — конфигурация R2-D2
2. пп_КлиентR2D2.cfe — расширение конфигурации для клиентских баз (контролируемых баз)
3. ОтправкаСостоянияОбменовВR2D2.epf — внешняя обработка для регламентного выполнения отправки сведений о статусах обменов БСП в R2-D2
4. ОтправкаЖурналаРегистрацииВR2D2.epf — внешняя обработка для регламентного выполнения отправки журнала регистрации в R2-D2 и очистки Журнала регистрации.

7 Comments

  1. gorakh

    «с конфигурациями на БСП» начиная с какой версии? Или на каких версиях БСП?

    Reply
  2. pbabincev

    (1)

    Версии БСП которые сейчас используются в типовых. Видимо это от 2.4.

    Reply
  3. pbabincev

    + (2)

    На самом деле не думаю что это проблема адаптировать для более старых версий БСП (если они вдруг не подходят). Там не так сильно всё завязано.

    Reply
  4. NoRazum

    Похожий механизм сделал.

    Сколько база потом начала весить?

    У меня 2 — УТ 11, Розница 2, 2 — Бухгалтерия, ЗУП.

    За полгода база стала весить 17 гб.

    Хотя самая большая база всего 8 гб.

    с журналом стало легче работать и отслеживать.

    Reply
  5. pbabincev

    (4)

    В последний раз смотрел R2-D2 весил примерно 20 гигов, в РС Журнал регистрации 16 млн записей. Это менее чем за месяц работы. Посмотрим что будет дальше. Скорее всего такие объемы быстрее меня сподвигнут сделать поддержку другой СУБД (еластик, клик хаус).

    Обслуживается 16 баз (РИБ + пара баз других конфигураций)

    Reply
  6. alexburn

    Доброго времени суток. Для чего нужен файл пп_КлиентR2D2 (расширение конфигурации)

    Вот настроил я справочник информационных баз по COM-соединению. Выполняю регламентное задание Загрузка журналов регистрации информационных баз (ППЖР) и тишина, задание отрабатывает, но загруженных данных почему-то нет 🙁

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

    Reply
  7. pbabincev

    (6)

    Цитирую из описания статьи (раздел Транспорт, СОМ-соединение):

    «Ограничение: в этом режиме соединения не реализована функция хранилища Журналов регистрации. То есть по такому транспорту будет работать только Монитор обменов.».

    Другими словами, загрузка ЖР через СОМ не поддерживается.

    Рекомендую использовать транспорт «WS-соединение (пассивное)». Если будут трудности этим — обращайтесь, можно в личку, обязательно помогу.

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *