## Ведение архива

RTWin обеспечивает возможность сохранения предыстории в базах данных (БД) собственного формата. Существует три вида БД:

1. БД каналов
2. БД тревог и системных событий
3. БД действий оператора

В БД каналов сохраняются данные, поступающие на входы и выходы модулей СКУ. В базу записывается вся структура данных канала целиком. Данные сохраняются по мере их поступления, как двоичный буфер размером равным размеру структуры данных канала. БД каналов ведет администратор БД.

В БД тревог и системных событий, сохраняется информация о системных событиях: запуске, регистрации и завершении работы модулей и администраторов проекта, о переполнении очереди сообщений к отдельным модулям, об успешных и неудачных попытках регистрации пользователей и внесении изменений в базу данных пользователей проекта, а также жизненных циклах тревог: когда возникли, подтверждены или нет, если подтверждены, то кем и когда и т.д. БД тревог и системных событий ведет администратор тревог.

БД действий оператора содержит информацию о воздействиях оператора на управляющие элементы панелей управления. При этом сохраняется следующая информация о воздействии: время, имя пользователя СКУ и его приоритет, характер воздействия на элемент управления.

Разные БД проекта могут быть расположены в различных директориях, в том числе на различных узлах QNX сети. Естественно предположить, что имеет смысл размещать соответствующие администратор и БД на одном узле сети. На стадии разработки проекта для каждого вида БД создается индивидуальный обработчик БД. Информация о местонахождении БД, датах запуска и останова проекта и т.п. находится в специальном файле, который уникален для каждой сессии работы проекта, и находится в директории [путь_к_проекту]/[имя_проекта]/store.

### Сессия

Сессией называется однократный запуск проекта на исполнение, который определяется промежутком времени с момента запуска проекта до момента останова. Каждой сессии соответствует отдельная директория, имя которой образуется по следующему правилу: [путь_к_БД]/@[номер_сессии].

### Обработчик БД

RTWin позволяет задавать индивидуальную конфигурацию для каждого вида БД путем создания собственного обработчика. Для манипуляций с файлами БД могут быть заданы команды архивации и удаления файлов, а также командные файлы (скрипты). Команды и скрипты выполняются командным интерпретатором shell, поэтому их синтаксис должен соответствовать синтаксису командной строки.

Описание обработчика БД включает:

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

Обновление файла БД заключается в том, что закрывается текущий открытый файл, а на смену ему открывается новый.

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