<< Click to Display Table of Contents >> Navigation: Проект > Архивы > Архивирование данных > Настройки архива в БД |
Для организации архивирования в базе данных первое, что нужно сделать – это подключить к компьютеру, который будет отвечать за взаимодействие с архивом, соответствующий модуль взаимодействия с базой данных – БД-коннектор.
Эта опция (MSRT-DB-Connect) не входит в базовый комплект MasterSCADA, однако начиная с 3.11 доступен Firebird(встроенный). Сама БД может быть размещена как на этом же компьютере, так и на специально выделенном для нее сервере. Все необходимые операции при работе с базой данных MasterSCADA выполняет автоматически, и нам не нужно заниматься рутинной работой, создавая таблицы с описанием их полей, а также прописывать хранимые процедуры записи и чтения.
Примечание. Возможность создать собственные хранимые процедуры также имеется. Предназначена она для случаев, когда, например, требуется обмениваться данными с внешними системами, использующими собственную структуру таблиц БД.
Настроим наш БД-коннектор. Для этого добавим БД-коннектор нужного типа через контекстное меню. На вкладке Общие можно изменить имя, под которым эта БД будет использоваться в нашем проекте. Параметры, указываемые на вкладке Опрос, предназначены в основном для их наследования хранимыми процедурами. На вкладке Параметры нужно определить к какой БД данного SQL сервера производится подключения (ее нужно предварительно создать через средства администрирования СУБД), а также указать соответствующие параметры авторизации доступа. Для различных типов баз данных вид этой закладки и параметры могут отличаться, они подробно описаны в разделе Параметры.
Установка параметров вкладки Использование определяет назначение подключенной базы данных – для хранения архивов, либо для экспорта в нее любых (файловых, из БД) архивов.
Для использования архивации данных устанавливается флаг Использовать для хранения архива сообщений проекта.
При старте проекта в указанной БД для ведения архива будут созданы таблицы и служебные хранимые процедуры, если они в БД отсутствуют (наличие проверяется по каждой таблице/процедуре индивидуально). Аналогично и для экспорта архива: таблицы и служебные хранимые процедуры будут созданы, если в БД если таблицы/процедуры есть, но их структура которых в текущей версии MasterSCADA изменилась, то в протокол работы записывается сообщение Структура базы не соответствует текущей версии MasterSCADA (тип несоответствия). При наличии таких несоответствий есть возможность "вручную" исправить ситуацию (отдельно для данных и сообщений):
•Кнопка Пересоздать таблицы - создает/обновляет используемые для хранения архива таблицы в БД.
•Обратите внимание, что если в БД уже были эти таблицы, структура которых в текущей версии MasterSCADA изменилась, они удаляются вместе со всем содержимым. Кнопка доступна только в режиме разработки.
•Кнопка Пересоздать хранимые процедуры - создает/обновляет используемые для работы с архивом хранимые процедуры в БД. Поскольку эта операция не приводит к удалению данных, кнопка доступна не только в режиме разработки, но и исполнения.
•Кнопка Пересоздать все - равнозначно последовательному нажатию предыдущих двух кнопок.
•Флаг Удалить существующие - если этот флаг не установлен, то процедура/таблица пересоздается только, если она отсутствует или ее версия отличается от версии, соответствующей текущей скаде. Если установлен, то пересоздает в любом случае.
Проверка может быть произведена не только при старте проекта, но и вручную в любой момент как при разработке, так и при исполнении проекта с помощью кнопки Проверить подключение и структуру – по ней происходит проверка наличия необходимых таблиц/процедур для ведения архивов данных и сообщений. Помимо наличия проверяется соответствие версий таблиц/процедур. Если найдены несоответствия, то выдаются сообщения (отдельно для данных и сообщений):
•"Структура таблиц не соответствует версии MasterSCADA" - сообщение может появится если была обновлена версия MasterSCADA и в новой версии была изменена система хранения данных.
•"Код хранимых процедур не соответствует версии MasterSCADA" - сообщение может появится если была обновлена версия MasterSCADA и в новой версии была изменена система хранения данных.
Итак, БД-коннекторы подключены, соответствующим образом настроены и проверены на работоспособность. Если большая часть объектов будут хранить архивы в БД (рекомендуется поступить именно так), то можно указать, что отныне для архивирования по умолчанию нужно использовать базу данных:
Размер нашего архива мы можем регулировать следующими инструментами:
•Установкой регламентированной длительности хранения данных
•Ограничением на объем дискового пространства, занимаемого БД.
В MasterSCADA механизм ограничения объема архива БД работает следующим образом. Пока размер архива не превышает разрешенного объема, система работает до достижения одного из установленных нами ограничений – на объем или на длительность хранения. Далее включается мастер прореживания БД, который удаляет данные, согласно настройкам длительности хранения слоев (которые настраиваются в Шаблонах архивирования). В результате прореживания высвобождается место для новых данных, и этот процесс протекает далее непрерывно и незаметно для пользователя. Однако, в случае, если, объем сохраняемых данных превышает возможности мастера прореживания (т.е. новые данные поступают быстрее чем успевают удаляться старые), включается аварийный механизм принудительной остановки записи при достижении размером БД определенной части заданного объема. Эта функция очень полезна для оптимизации процесса архивирования особенно при наладке системы.
Обратите внимание, что для БД, в отличие от других типов архивов, наряду с ограничениями по длительности и объему хранения данных можно задать настройки повышения быстродействия взаимодействия с базой (объем буфера временного хранения, период чистки и т.п.).