BC/NW 2021№ 1 (37):6.4
РАЗРАБОТКА СИСТЕМЫ ПРОГНОЗИРОВАНИЯ ОТКАЗОВ ЭНЕРГЕТИЧЕСКОГО ОБОРУДОВАНИЯГаврилов А. А., Блаженова С. Д., Борисова С. В., Зейн А. Н.
При взаимодействии с любой базой данных (БД) через клиент-серверное приложение (далее просто приложение) возникает вопрос работы нескольких пользователей с одними и теми же данными. Например, если один пользователь хочет удалить данные, а другой эти же данные извлекает для обработки, то возникает коллизия. Для обеспечения многопользовательского доступа к БД можно использовать механизм транзакций и блокировок [1], однако при работе с разными СУБД эти механизмы могут отличаться, поэтому данный метод не всегда удобен, либо избыточен для поставленных задач. Поэтому был придуман иной вариант решения данной проблемы, который сводится к созданию лог-таблицы, процедур поиска блокирующих сообщений и отправки в БД сообщений о работе с определенными данными. Лог-таблица состоит из трех столбцов: «Логин пользователя», «Сообщение» и «Дата». «Логин пользователя» отвечает за идентификацию пользователя. «Сообщение» содержит информацию о действиях пользователя с определенными данными, например, «Update_exp_1» — обновление данных, относящихся к эксперименту под номером 1, а «Use_exp_1» — использование этих же данных с какой-либо иной целью, например, обработка. А «Дата» регистрирует время начала работы с данными. Приведенные в примере сообщения блокируют друг друга и сами себя, поскольку если один пользователь редактирует данные эксперимента № 1, то другие пользователи не могут редактировать или использовать их. При окончании работы с этими данными запись из лог-таблицы удаляется и данные становятся доступны другим пользователям. Таким образом, за механизм блокировок отвечает процедура поиска блокирующих сообщений в лог-таблице, а за общую целостность данных отвечает приложение, в котором программист определяет точки начала и конца работы с теми или иными данными для проверки и осуществления блокировки или отправки/удаления сообщений в лог-таблице.
Литература
1. Новиков Б. А. Основы технологий баз данных. — Москва: ДМК Пресс, 2019. — 240 с.