О повышении удобства блокировки соединения пользователей с информационной базой и завершения сеансов пользователей
Иногда на время технологического обслуживания (обновление базы, резервное копирование) необходимо обеспечить освобождение рабочей базы от пользователей и недопустить временного их подсоединения. Для оперативности и удобства принудительного завершения работы пользователей вместо стандартных возможностей консоли управления и подсистем типовых конфигураций целесообразно использовать более развитые средства, один из вариант которых и рассматривается в этой статье.
- Описание
- Подробнее
Описание
Для всех, кто не очень любит читать, сразу предложу вместо большого количества букв посмотреть видеоролик, наглядно демонстрирующий, каким образом мы принудительно завершаем активные сеансы пользователей и временно блокируем соединение с информационными базами при применении «1С:Предприятия» 8.1 и 8.2.
Это еще одно интересное решение, которое применяется нашим коллективом на практике с 2007 года. Оно может быть интересно всем, кто применяет «1С:Предприятие» 8.х на динамично развиваемых высоконагруженных информационных базах (когда обновления работающих баз проводятся почти каждый день или по нескольку раз в день, когда количество пользователей исчисляется десятками, сотнями или тысячами).
Речь об управлении запретом на соединение пользователей с информационной базой и принудительном завершении активных сеансов пользователей.
Конечно, всё это можно делать с помощью стандартных средств 1С:Предприятия 8.х (например, консоли управления серверами 1С) или механизмов, имеющихся в некоторых типовых конфигурациях. Однако удобство применения повсеместно доступных средств, всё же, ограничено, затраты времени на управление блокировкой соединений можно сократить, а администраторы и разработчики при использовании стандартных механизмов вполне могут позволить себе не вполне корректно информировать пользователей о причинах и времени недоступности информационной базы. И позволю высказать своё мнение, что всё это вполне исправимо?
Итак, иногда разработчикам или администраторам необходимо обеспечить монопольный доступ к информационной базе. Например, при обновлении базы в случае изменения структур хранения или для резервного копирования в ночное время средствами конфигуратора «1С:Предприятия», а не сервера баз данных (размеры копии всё же очень значимо отличаются при применении этих подходов).
Для запрета установки новых соединений пользователями и начала завершения активных сеансов мы применяем вот такую форму:
Вызвать её — это один клик мышки, заблокировать информационную базу — еще один (по большой красной кнопке «Заблокировать»).
После установки блокировки форма немного меняется и выглядит вот так:
Как видно, разрешить пользователям работать — это тоже один клик мышкой. В каком состоянии сейчас информационная база на форме видно, как разблокировать — тоже вроде понятно. Сделать что-то некорректное не то чтобы трудно, скорее невозможно.
Для простейших ситуаций установки/снятия запрета на использование информационной базы удобство администратора мы обеспечили. А как же пользователи? Ведь сотни людей в этот момент могут работать с информационной базой. Они просто увидят сообщение о разрыве соединения? Нет. Все сеансы будут завершены максимально корректно и так, чтобы все пользователи понимали, что, почему и как быстро от них требуется.
За 10 минут до времени, с которого нам необходимо обеспечить монопольный доступ к информационной базе, все пользователи получат первое уведомление:
Еще через 3 минуты те пользователи, что продолжают работать, получат второе уведомление:
Еще через 3 минуты те, кто не понимает, что такое завершить текущий сеанс или не смотрит на экран монитора, получат третье, последнее предупреждение:
Ну а через минуту, как и написано в уведомлении, сеанс будет корректно автоматически завершен клиентом «1С:Предприятия» (именно клиентом, а не будет разрорван в одностороннем порядке со стороны сервера).
Смысла дублировать в описании логику трех этапов предупреждения нет. Все сообщения на окошках сформулированы так, чтобы любой сотрудник вне зависимости от образования, квалификации, времени года или настроения понимал, что от него требуется и что надо сделать.
Таким образом, полный цикл завершения активных сеансов составляет не более 10-ти минут (конечно, это время настраивается, и в экстренных ситуациях может быть сокращено вплоть до 2-х минут за счет сокращения времени отображения всех уведомлений и установки времени начала действия запрета).
На время, пока установка соединения с базой запрещена, при попытке запустить программу (установить соединение с информационной базой) пользователи увидят вот такое сообщение:
Оно очень похоже на стандартное окно уведомления о запрете установки соединения с информационной базой. Но в нем дополнительно выводится пояснение, что использование системы недоступно временно и по причине проведения регламентных работ.
Часто ли администраторы удосуживаются писать подобные пояснения, запрещая подсоединение к информационной базе? Нет. Если это делать на десятках баз по несколько раз в день, то их вполне можно понять. А ведь уместным в разных ситуациях может быть разный текст уведомления, что стоит обсудить отдельно.