BC/NW 2021№ 1 (37):6.4  

РАЗРАБОТКА СИСТЕМЫ ПРОГНОЗИРОВАНИЯ ОТКАЗОВ ЭНЕРГЕТИЧЕСКОГО ОБОРУДОВАНИЯГаврилов А. А., Блаженова С. Д., Борисова С. В., Зейн А. Н.

При взаимодействии с любой базой данных (БД) через клиент-серверное приложение (далее просто приложение) возникает вопрос работы нескольких пользователей с одними и теми же данными. Например, если один пользователь хочет удалить данные, а другой эти же данные извлекает для обработки, то возникает коллизия. Для обеспечения многопользовательского доступа к БД можно использовать механизм транзакций и блокировок [1], однако при работе с разными СУБД эти механизмы могут отличаться, поэтому данный метод не всегда удобен, либо избыточен для поставленных задач. Поэтому был придуман иной вариант решения данной проблемы, который сводится к  созданию лог-таблицы, процедур поиска блокирующих сообщений и отправки в БД сообщений о работе с определенными данными. Лог-таблица состоит из  трех столбцов: «Логин пользователя», «Сообщение» и «Дата». «Логин пользователя» отвечает за идентификацию пользователя. «Сообщение» содержит информацию о  действиях пользователя с  определенными данными, например, «Update_exp_1»  — обновление данных, относящихся к  эксперименту под номером 1, а  «Use_exp_1»  — использование этих  же данных с  какой-либо иной целью, например, обработка. А  «Дата» регистрирует время начала работы с  данными. Приведенные в  примере сообщения блокируют друг друга и  сами себя, поскольку если один пользователь редактирует данные эксперимента № 1, то другие пользователи не  могут редактировать или использовать их. При окончании работы с этими данными запись из лог-таблицы удаляется и данные становятся доступны другим пользователям. Таким образом, за механизм блокировок отвечает процедура поиска блокирующих сообщений в лог-таблице, а за общую целостность данных отвечает приложение, в котором программист определяет точки начала и конца работы с теми или иными данными для проверки и осуществления блокировки или отправки/удаления сообщений в лог-таблице.

Литература

1. Новиков Б. А. Основы технологий баз данных. — Москва: ДМК Пресс, 2019. — 240 с.