База знаний/ Особенности реализации методологии State Recording в целях повышения надёжности и безопасности ПО.

     Дата публикации: 31 января 2019 года, Россия, г. Москва, интернет-ресурс www.mpt-program.ru Копирование и распространение данной публикации в каких-либо научных, информационных и других ресурсах запрещены.    

     Авторы: Турецкий С.Е., Турецкая М.А., 27 января 2019 года, Россия, г. Москва

Особенности реализации методологии State Recording в целях повышения надёжности и безопасности ПО.

     State Recording (SR) – методология создания архитектуры Программного Обеспечения (ПО) для различных видов индустрии. В частности используется для построения структуры записи, хранения и преобразования информации в ПО. SR решает следующие основные задачи:

  • Улучшение параметров масштабирования приложения
  • Возможность воспроизведения состояния на любой момент времени
  • Упрощение задачи логирования всех действий пользователей

     Раскроем методологию решения данных задач.

Улучшение параметров масштабирования

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

     В традиционном подходе при записи новой информации происходит изменение единственной записи состояния этого объекта. Предшествующая информация в данном случае не сохраняется.

     Оба этих подхода широко применяются при автоматизации промышленности и имеют значимые преимущества для решения конкретных задач. Для улучшения параметра масштабирования – времени транзакции, метод State Recording имеет существенные преимущества по быстродействию.

Воспроизведение состояния на любой момент времени

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

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

  • карточка клиента
  • состояние членства (клубной карты)
  • оплата и реализация услуг
  • и др.

     Подробнее рассмотрим записи, связанные с изменениями членства. Каждая запись имеет следующие поля:

  • дата и время записи
  • состояние членства ( продано, открыто, закрыто, приостановлено )
  • ссылка на документы записи

     Создание этих записей происходит посредством фиксации соответствующих состояний. Для определения состояния членства С в нужный момент времени t необходимо найти состояние Сn перед рассматриваемым моментом времени t.

     Само состояние системы в нужный момент времени определяется именно этим состоянием

     Таким образом используя SR можно воспроизвести любое состояние объекта в любой момент времени работы системы.

Упрощение задачи логирования

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

     Метод State Recording позволяет точно вычислить необходимые параметры состояния Сn (дату, пользователя, событие).

     Дата и пользователь определяются по событию.

Архитектура ПО для более производительных систем

     Таким образом, корректность записи времени состояний действительно необходима для устойчивой и стабильной работы ПО, созданного с использованием SR. С одной стороны подход на основе State Recording даёт возможность создавать архитектуру ПО для более производительных систем с сохранением истории всех операций, с другой – предъявляет требования к стабильности отсчёта времени на компьютерах пользователей и серверах компьютерной сети, где работает данное ПО.

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

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

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

  • Продолжение работы с уведомлением администратора об инциденте
  • Полное или частичное прекращение работы ПО до момента восстановления нарушенного хода времени на компьютерах.

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

     Действующее ПО, на основе разработки которого изложен данный материал, размещено на сайте www.mptprogram.ru

     ПО стабильно работает, технологически поддерживается производителем и предлагается к использованию.