DOI 10.25987/VSTU.2019.15.1.007 УДК 004.04: 004.7
ХРАНЕНИЕ ДАННЫХ ПРОЦЕССА В ИНФОРМАЦИОННЫХ СИСТЕМАХ СПЕЦИАЛЬНОГО НАЗНАЧЕНИЯ
Д.В. Терехов1, А.Д. Данилов2
Филиал АО «Концерн Росэнергоатом» «Нововоронежская атомная станция»,
г. Нововоронеж, Россия
2Воронежский государственный технический университет, г. Воронеж, Россия
Аннотация: рассмотрена проблема разработки принципов хранения данных процесса с высоким временным разрешением на протяжении продолжительного периода времени. Данная задача была решена в рамках базового исполняющего информационного комплекса ПОРТАЛ, предназначенного обеспечивать все функции мониторинга процессов функционирования ядерных блоков, в виде системы архивирования HIST. Основным способом архивирования при данном варианте является асинхронное архивирование, позволяющее приложениям-клиентам добавлять информацию о переменной процесса. Предложена структура обработки данных системой архивирования. Показано, что процесс HIST может исполнять функции «единственного сервера» (без учета резервирования). При этом варианте система ответственна за все операции чтения и записи. Также здесь можно запустить два архивных сервера на одном узле ПОРТАЛ. Система архивирования сохраняет всю хронологию данных конфигурации переменных процесса (то есть для каждой переменной процесса может существовать несколько "конфигурационных наборов", отсортированных по их периоду действия). Система обеспечивает два типа запросов к архиву: получение «необработанных данных» и вычисленные накопления, базирующиеся на равноотстоящих временных интервалах. Предлагаемые принципы хранения данных процесса с высоким временным разрешением позволяют уменьшить объем хранимой информации за счет возможностей экстраполяции тенденций изменения переменных; хранить текстовую информацию в фактическом размере, а не максимально допустимой длины; осуществлять динамическую конфигурацию архива, при этом каждый вариант конфигурации можно трактовать как отдельный архив. Система успешно функционирует на Нововоронежской АЭС
Ключевые слова: система архивирования, модель данных, алгоритм сжатия, интерфейс чтения
Введение
В задачах организации информационного обмена в системах управления специального назначения важное место занимает разработка принципов хранения данных процесса с высоким временным разрешением на протяжении продолжительного периода времени, например, нескольких лет. Наибольшая ответственность при разработке таких компонентов для управления потоками данных возникает при создании систем управления потенциально опасными объектами, к которым относятся атомные электростанции.
В данной статье рассмотрены подходы к исполнению процедур хранения данных, внедренных на Нововоронежской АЭС-2 в виде системы архивирования HIST, реализованной в базовом исполняющем информационном комплексе ПОРТАЛ, предназначенном обеспечивать все функции мониторинга процессов функционирования ядерных блоков [1].
© Терехов Д.В., Данилов А.Д., 2019
Система архивирования HIST
В типичных приложениях объем аналоговых данных значительно больше, чем двоичных и/или текстовых данных. Поэтому при сохранении аналоговых данных HIST использует разрешающую способность по времени "всего" 1 миллисекунда (это экономит 13 битов по сравнению с полной временной меткой с разрешением 100 наносекунд). Кроме того, каждую аналоговую переменную процесса можно индивидуально сконфигурировать для сжатия данных согласно алгоритму "зоны нечувствительности", или "вращающейся двери". Цель этих алгоритмов состоит в том, чтобы устранить хранение значений данных, которые "едва отличаются от своего предшественника" или которые "можно предсказать исходя из тенденции изменения переменной процесса".
Независимо от алгоритмов сжатия, дальнейшая оптимизация сохраняет записи аналоговых значений инкрементным способом. Разница значений, состояний переменной процесса или временной метки обычно намного меньше, чем полные значения.
При архивировании двоичных и текстовых данных полная разрешающая способность во
времени составляет 100 наносекунд. В связи с их небольшим объемом (по сравнению с аналоговыми величинами) сжатие не проводится. Все текстовые строки сохраняются в размере их фактической, а не максимально допустимой длины.
Сообщения о нарушении границ аналоговых значений сохраняются в формате, подобном формату записей двоичных значений. Сама аналоговая величина является частью этой записи.
Выделенное для хранения архивных данных пространство диска поделено на ежедневные, недельные и помесячные тома. Данные тома можно индивидуально экспортировать в любую среду резервного копирования и импортировать из нее.
Прикладные программы - клиенты системы архивирования, могут получить доступ к архивным данным путем указания имени требуемой переменной процесса и момента времени (или интервала времени). Эти данные представляют собой либо «необработанные значения» (в том виде, как были сохранены в архиве), либо в форме «расчетных накопленных значений» (средняя величина, минимум, максимум, ... за интервал времени) [2].
Поскольку данные конфигурации для переменной процесса могут со временем измениться, HIST сохраняет все эти изменения. В тех случаях, когда осуществляется доступ к переменной процесса, также выдается и/или учитывается конфигурация этой переменной.
Архив оптимизирован для случая эффективной записи данных процесса с возрастающей временной отметкой. Тем не менее, данные могут быть добавлены, обновлены или даже удалены и в более позднее время.
Все данные конфигурации хранятся в общей коллекции (согласно возрастающему времени конфигурации) в центральном файле, тогда как данные процесса могут храниться в нескольких «экземплярах». Каждый «экземпляр» можно трактовать как отдельный архив. Подобная функциональность требуется для реализации тренажерных систем. Она упрощает одновременное хранение данных от нескольких тренажерных сеансов в одном центральном архиве.
Архитектура системы архивирования
Система архивирования (см. рис. 1) пишет данные процесса циклически. Каждую секунду таблицы PLS_ANA_HISTORY (история анало-
говых переменных) и PLS_BIN_HISTORY (история дискретных переменных) базы данных ПОРТАЛ сканируются для поиска новых записей. Это называется асинхронным архивированием.
Все измененные аналоговые данные обрабатываются согласно заданному алгоритму сжатия ("зона нечувствительности" или "вращающаяся дверь"). Слишком малые изменения значения отбрасываются (при условии, что состояние переменной процесса не изменилось). В остальных случаях в файл тома архива записывается новое значение в формате приращения.
Для измененных двоичных и текстовых переменных процесса сжатия не выполняется. Перед записью в архив они сортируются (по меткам времени) в промежуточном буфере (с задержкой на конфигурируемый интервал времени, например 2 секунды). Архивируются только те значения (из буфера), которые "старше 2 секунд" (в данном примере). Функция "старше чем" реализуется путем сравнения метки времени переменной процесса с текущим временем операционной системы. Эта задержка необходима для компенсации неизбежного разброса часов в различных системах ввода-вывода и/или для недетерминированных задержек передачи сигналов.
Двоичные/текстовые архивные файлы содержат последовательности записей в порядке меток времен. Аналоговые архивные файлы накапливаются из блоков истории изменений для одной переменной, внутри блока записи упорядочены в порядке их поступления.
Асинхронное архивирование является основным способом архивирования. Возможно также синхронное архивирование, позволяющее приложениям-клиентам добавлять информацию о переменной процесса (например, когда система ввода-вывода или ее сетевое подключение в нерабочем состоянии, но данные можно сохранить в локальной памяти). Данные вставляются в архив без сортировки (иначе нельзя будет включить более старые - пропущенные - данные). Реализация вставки не столь оптимизирована, как строго сортируемое по времени добавление в конец архива, но это приемлемо, поскольку вставка данных - это исключительный случай.
Что происходит с "несортированными" данными, полученными в процессе асинхронного архивирования? Все "слишком старые" данные переменной процесса пишутся в текстовые файлы с перечисленными через запятую
значениями (CSV). Эти файлы вставляются автоматически (в предварительно конфигурированном цикле обработки Архиватора).
Данные конфигурации переменной процесса проверяются каждый раз при запуске системы архивирования.
Рис. 1. Структура обработки данных системой архивирования
Они считываются из нескольких таблиц RtDb, обнаруженные изменения ведут к появлению "новых добавленных в конец" записей конфигурации (ничто не будет удалено!). Ясно, что большинство записей конфигурации генерируется при первом запуске системы архивирования. Кроме того, можно сконфигурировать цикл обработки (например, каждые 5 минут) для проверки конфигураций переменных процесса и архивирования изменения.
Приложения-клиенты могут изменять некоторые параметры системы архивирования
(например, глобально включить или отключить фильтрацию по «зоне нечувствительности») или перевести файлы архивных томов в "автономный" режим для резервного копирования.
Интерфейс чтения архива - обычно наиболее используемый интерфейс, доступ к которому имеют клиентские программы. Он обеспечивает выборку необработанных данных и накопленных.
Система архивирования обращается ко всем файлам на диске (за значениями переменных процесса и записями конфигурации) по-
средством очень эффективного механизма кэширования. Это избавляет от большинства медленных операций ввода - вывода файла.
Процесс HIST может исполнять функции «единственного сервера» (без учета резервирования). При этом варианте система ответственна за все операции чтения и записи. Также можно запустить два архивных сервера на одном узле ПОРТАЛ. При таком варианте один процесс отвечает за запись, а другой - за все чтение. Преимущество состоит в том, что чрезмерные запросы на чтение не могут поставить под угрозу операцию записи. В последнем случае вышеупомянутое кэширование будет использовать общедоступную память.
Модель данных системы архивирования
HIST сохраняет конфигурационные данные переменных процесса наряду с динамическими изменениями значения/состояния переменных процесса. Ясно, что последний класс данных является очень динамичным и быстро изменяется, но и конфигурационные данные могут изменяться со временем (но обычно намного реже) [3]. Именно поэтому система архивирования сохраняет всю хронологию данных конфигурации переменных процесса (то есть, для каждой переменной процесса может существовать несколько "конфигурационных наборов", отсортированных по их периоду действия).
Данные конфигурации аналоговых, двоичных и текстовых переменных процесса вместе с некоторыми управляющими данными (данные начала/останова файла архива, имен пути, информация относительно рабочего экземпляра и т.д.) хранятся в центральном файле конфигурации. В зависимости от типа переменной процесса сохраняются немного отличные записи конфигурации.
Следует учесть, что некоторая конфигурационная информация не архивируется. Вместо этого запоминаются ссылки на текущие таблицы ПОРТАЛ.
Значения аналоговых переменных процесса, с одной стороны, и значения двоичных и текстовых переменных процесса, с другой стороны, записываются в раздельные файлы архивного тома. Все записи пишутся последовательно с возрастанием времени. Архивный том может охватывать один день (начинающийся в 00:00 UTC), одну неделю (начинающуюся в воскресенье 00:00 UTC) или один месяц (начинающийся первого числа месяца в 00:00 UTC).
Все временные метки сохраняются как Win32 FILETIME, UTC (т.е. по Гринвичу), как 64 бита (кроме случаев сжатия).
Аналоговые данные
Последовательность аналоговых значений хранится в отдельных „файловых потоках" (блоками, совпадающими с непрерывными страницами в файле), индивидуально на каждую переменную процесса. Это учитывает тот факт, что аналоговые значения обычно запрашиваются для конкретной переменной с сортировкой по времени (по возрастанию или убыванию). Выборка данных для такого запроса осуществляется последовательным чтением.
При запросе архивной аналоговой переменной возвращается следующая информация:
- внутренний номер PV (4 байта);
- отметка времени (8 байт, время UTC с разрешением 100 наносекунд);
- значение (8 байт, с двойной плавающей точкой IEEE);
- состояние (8 байтовый необработанный статус ПОРТАЛ);
- номер пользователя PLS (2 байта);
- состояние выборки (НЕ сохраняется, генерируется при запросе):
а) необработанное значение;
б) интерполированное значение;
в) вычисленное значение;
г) циклическое (повторяемое) значение;
д) отсутствующее значение (нет данных);
е) ошибка преобразования.
В файле архивного тома используется другой формат (более компактный, сжатый). Аналоговые значения, метки времени и состояния хранятся в инкрементной форме (обычно разность между 2 смежными значениями довольно мала). Отметки времени усекаются до полных миллисекунд.
Дискретные и текстовые данные
Все дискретные и текстовые значения записываются в файл архивного тома по возрастанию временной метки. Это учитывает тот факт, что дискретные данные обычно запрашиваются за определенный период времени без указания конкретных переменных. Поэтому все дискретные переменные процесса совместно используют один и тот же файловый поток. Кроме того, существуют два отдельных файловых потока для динамических текстов (содер-
жащих значения текстовых переменных процесса и некоторую добавочную информацию для дискретных переменных, например, системные сообщения) и пользовательских текстов (комментарии, включенные в более поздний момент времени). Этот формат позволяет осуществлять эффективный доступ к сортированным по времени спискам сигнализаций и т.д. Следует напомнить, что нарушения границ аналоговых значений записаны в том же формате, что и записи дискретных значений [4].
Запрос архива для некоторого интервала времени означает последовательный доступ к файлам (если при этом не нужно возвращать тексты). Тем не менее, большинство записей значений в двоичном файле архивного тома не будет содержать текстов вообще. Сами тексты также сортируются по времени (в своем потоке).
При запросе дискретного архива возвращается следующая информация:
- внутренний номер РУ (4 байта);
- тип РУ (ТХТ/ВЕЧЛАЧА, последний тип для нарушений границ, 1 байт);
- номер изменившегося бита (1 байт);
- номер пользователя PLS (2 байта);
- значение (2 байта);
-состояние выборки (аналогично аналоговой выборке);
- аналоговое значение (8 байт, для нарушения границ или связанного значения);
- отметка времени (8 байт, время иТС с разрешением 100 наносекунд);
- состояние (8 байтов необработанный статус ПОРТАЛ);
- дополнительный текст (максимум 1024 символа);
- текст (комментарии, добавленные позже, максимум 1024 символа);
- предыдущее значение и состояние.
Такая же запись используется при выборке
текстовых переменных процесса, где некоторые поля не заполняются (например, значение и номер разряда). Значение переменной процесса хранится в поле «Дополнительный текст».
Алгоритм сжатия для аналоговых значений
Для каждой аналоговой переменной можно задать один из двух алгоритмов сжатия при архивировании. На рис.2 представлено пояснение алгоритма «зоны нечувствительности».
Алгоритм заменяет входное значение полигоном, который остается в диапазоне допуска
значений и имеет минимальное количество точек интерполяции. В архиве сохраняются только эти точки. Интерполяция значений происходит между этими точками в процессе чтения архива.
Пример: переменная содержит входные значения 2.1, 2.4, 1.95, 2.2, 2.8. Использование зоны нечувствительности величиной 0.5 приведет к сохранению только значений 2.1 и 2.8. Чтобы не показывать несуществующий линейный рост от 2.1 до 2.8, значение 2.1 будет добавлено в архив как циклическое значение с фиктивной временной меткой, равной временной метке значения 2.8 минус время цикла сбора данных (конфигурируемый индивидуально для каждой переменной процесса). Добавление циклической записи происходит если:
- разница между реальными записями больше двух циклов сбора данных;
- для переменной не задан параметр конфигурации showStepped («показывать лесенку»).
«Вращающаяся дверь» - более сложный алгоритм сжатия. Проще говоря, значения архивируются только тогда, когда наклон кривой изменения переменной превысит некоторый (конфигурируемый) порог. Использование зоны нечувствительности сокращает последовательность значений V1, V2, V3 просто до V1 (пока все последующие Vi "достаточно близки"), тогда как «вращающаяся дверь» (при благоприятном сценарии) заменяет последнее значение новым. Предположим, последовательность V1, V2, V3 сохраняется как (V1, V3). Если новое значение V4 ложится на вектор изменения, последовательность оптимизируется до (V1, V4) и т.д.
Какой алгоритм следует выбрать? Аналоговые значения, которые изменяются относительно редко (например, полная мощность реактора или значения, рассчитанные в PlsPDM или PlsCalc как «средние значения»), лучше всего обрабатываются с использованием мертвой зоны. Быстро меняющиеся значения (особенно когда они увеличиваются относительно линейно на протяжении времени, например, интегральные значения из PlsPDM) показывают лучшее сжатие при помощи «вращающейся двери».
Резервирование и сохранение архивов
Система HIST может восстанавливать пропуск в архивировании, вызванный отказом
одного сервера и последующим переключением на резервные мощности. При запуске ПОРТАЛ на резервном узле система архивирования будет считывать все "недостающие данные" из архива другого узла перед входом в режим нормального функционирования (то есть, обработкой краткосрочной истории).
Пропуск, вызванный полным отказом архивирующих узлов ПОРТАЛ или сбоями системы ввода-вывода, может быть закрыт вставкой недостающих данных из файлов CSV (в соответствующем формате). Восстановление из файлов делается автоматически (файлы располагаются в предопределенном каталоге, который регулярно сканируется на обновления).
Рис. 2. Графическое представление «алгоритма зоны нечувствительности»
Функции резервирования не зависят от используемой конфигурации: общий архивный сервер для чтения и записи или раздельные серверы (один считывает, другой записывает). В последнем случае на резервированной паре узлов ПОРТАЛ запускаются 4 рабочих копии сервера архивирования (2 для чтения, 2 для записи).
Интерфейс чтения архива
Система обеспечивает два типа запросов к архиву:
1) получение «необработанных данных»:
- значения в заданной точке времени (по желанию интерполированные);
- все значения в заданном временном интервале. По отношению ко времени эти точки данных процесса не являются равноотстоящими.
2) вычисленные накопления, базирующиеся на равноотстоящих временных интервалах. Например, дневное среднеарифметическое значение, минимальное в час, ...
Двоичные и текстовые переменные
процесса могут читаться в виде необработанных данных.
Запрос необработанных данных
Если не задано иначе, для аналоговых, двоичных и текстовых переменных процесса допустимы все методы доступа, представленные в данном разделе.
Значение в момент времени
Этот метод позволяет читать переменную процесса в требуемый момент времени. Вследствие того, что (с очень высокой вероятностью) в запрошенное время не будет присутствовать никакой архивной записи, выдается более ранняя запись.
Аналоговые значения могут произвольно (и в зависимости от установки параметра конфигурации "ступенчатое отображение") интерполироваться. Для двоичных и текстовых переменных процесса можно потребовать (по желанию) выбрать ту запись, где значение (или значение ИЛИ состояние) действительно изменялось, подавляя возврат циклически
повторяемых записей. Причина: в некоторых случаях может оказаться необходимым знать, КОГДА некоторая двоичная переменная процесса изменилась из 0 в 1, а не только факт, ЧТО значение равно 1.
Поиск в архивных файлах выполняется посредством "двоичного поиска". Для аналоговых переменных процесса просматривается только поток для конкретной переменной. Для дискретных/текстовых переменных процесса (и сигнализаций) ВСЕ переменные процесса хранятся в одном сортированном потоке. Чтобы сократить времена поиска (некоторые дискретные переменные процесса могут меняться очень редко), каждая
дискретная/текстовая запись циклически повторяется (параметр "минимальный интервал архивирования" в конфигурации), когда НЕТ изменений за этот интервал времени. Кроме того, в самом начале каждого (аналогового и дискретного/текстового) архивного файла заносятся значения в формате циклической записи.
Значение к моменту времени
Эти функции требуют задания интервала времени (одна граница может быть открыта), а также «направления поиска» - по возрастанию или убыванию времени. Кроме того, вы можете указать необходимость доставки циклических значений или включения предшествующего (или последующего - в случае убывания) значения на границе интервала.
Количество возвращаемых записей неизвестно, поэтому функции этого типа возвращают объект-итератор. Это позволяет приложениям-клиентам читать столько записей (за каждую итерацию), сколько они могут обработать.
Считывание нескольких переменных процесса
На графиках технологического процесса обычно изображают изменение значения нескольких (обычно не более 10-20) переменных. Они связаны либо "логически" (например, все значения числа оборотов турбины в минуту), либо "физически/топологически" (все температуры в системных блоках компьютеров в помещении JW12).
Поэтому система архивирования предлагает функции для запроса (как „в момент
времени", так и „к моменту времени"), позволяющие задать набор требуемых переменных процесса (либо аналоговых переменных процесса, либо любой комбинации двоичных, текстовых и сигнализаций). Задание переменных может осуществляться по именам переменных, их номерам, по номеру станции, по шаблону с символами подстановки или просто "все (своего вида)".
Функция чтения данных из двоичного раздела архива возвращает значения, которые автоматически упорядочены по времени. Функция чтения нескольких аналоговых переменных процесса "к моменту времени" позволяет пользователю задать сортировку «по времени» или сортировку «по переменным» (значения для каждой переменной сортированы по времени). Последний вид более эффективен, поскольку можно избежать глобальной сортировки.
Дополнительно к чтению значений переменной процесса (включая состояние и метку времени), можно также читать данные конфигурации переменной процесса. В частности, при доступе к записи "текущей допустимой" конфигурации может быть возвращена допустимая запись в данной точке времени, или все доступные записи конфигурации (сортированные по времени).
Существуют несколько других функций чтения, которые поддерживают доступ к данным архивного тома или активной копии, а также статистике.
Клиентская библиотека
Клиентская библиотека системы архивирования позволяет эффективное программирование распределенных
приложений-клиентов. Основные функции -это локальное кэширование данных конфигурации переменной процесса (которые изменяются довольно редко) и записей для итераторов переменной процесса в конфигурируемых блоках (обычно 400-2000). Последний буфер минимизирует количество запросов на чтение к архивному серверу и таким образом снижает сетевую загрузку.
Кроме того, клиентская библиотека обеспечивает прозрачный доступ к резервированным серверам. Она автоматически осуществляет доступ к работающему серверу. Когда в рабочем режиме находятся и главный, и резервный архивный сервер, то выполняется
также балансировка нагрузки. Это позволяет (при правильном программировании) приложениям-клиентам просто продолжать работать даже в таких случаях, где произошел переход на резервные мощности.
Заключение
В качестве подведения итогов можно отметить, что разработанные принципы хранения данных процесса с высоким временным разрешением на протяжении продолжительного периода времени позволили:
- сократить объем требуемой памяти для хранения данных процесса до 5%;
- уменьшить объем хранимой информации за счет возможностей экстраполяции тенденций изменения переменных;
- хранить текстовую информацию в фактическом размере, а не максимально допустимой длины;
- осуществлять динамическую конфигурацию архива, при этом каждый вариант конфигурации можно трактовать как отдельный архив.
Литература
1. Чашин Ю.Г., Чернявских Е.С. Управление потоками данных в программно-конфигурируемых компьютерных сетях // Научные ведомости Белгородского государственного университета. Серия: Экономика. Информатика. 2012. № 13 (132). С. 166-168.
2. Терехов Д.В., Сидоренко Е.В., Данилов А.Д. Тенденции развития АСУ ТП на Нововоронежской АЭС // Известия высших учебных заведений. Ядерная энергетика. 2017. № 3. С. 66-76.
3. Data support system for controlling decentralised nuclear power industry facilities through uninterruptible condition monitoring / V. Povarov, A. Danilov, V. Burkovsky, K. Gusev // MATEC Web of Conferences 13. "13th International Scientific-Technical Conference on Electromechanics and Robotics "Zavalishin's Readings" - 2018". 2018. № 2012.
4. Данилов А.Д., Пилеич А.В. Математическое обеспечение распределенных вычислений гетерогенных динамических параметров систем в режиме реального времени. Воронеж: ВГТУ, 2015. 160 с.
Поступила 24.12.2018; принята к публикации 25.01.2019 Информация об авторах
Терехов Дмитрий Владимирович - начальник ЦТАИ, филиал АО «Концерн Росэнергоатом» «Нововоронежская АЭС» (396072, Россия, г. Нововоронеж, Южная пром. зона, 1), тел.+7 (920) 227-45-44, e-mail: terehovdv@nvnpp1 .rosenergoatom.ru Данилов Александр Дмитриевич - д-р техн. наук, профессор, Воронежский государственный технический университет (394026, Россия, г. Воронеж, Московский проспект, 14), тел.+7 (920)-430-74-54, e-mail: [email protected]
STORAGE OF PROCESS DATA IN INFORMATION SYSTEMS OF SPECIAL PURPOSE
D.V. Terekhov 1, A.D. Danilov2
1JSC «Concern Rosenergoatom» «Novovoronezh nuclear power plant» branch,
Novovoronezh, Russia 2Voronezh State Technical University, Voronezh, Russia
Abstract: the article considers the problem of the development of the principles of storage of process data with high temporal resolution over an extended period of time. This task was solved within the framework of the basic executing information complex PORTAL, designed to provide all the functions of monitoring the processes of operation of nuclear units, in the form of a system of archiving HIST. The primary method of archiving with this option is asynchronous archiving, which allows client applications to add information about a process variable. The structure of data processing by the archiving system is proposed. It is shown that the HIST process can perform the functions of a "single server" (excluding redundancy). In this case, the system is responsible for all read and write operations. You can also run two archive servers on the same PORTAL node. The archiving system stores the entire history of the configuration data of the process variables (that is, for each process variable there can be several "configuration sets" sorted by their period of validity). The system provides two types of requests to the archive: receiving "raw data" and calculated accumulations based on equidistant time intervals. The proposed principles of storing process data with high time resolution allow one to reduce the amount of stored information due to the possibility of extrapolation of variable trends, to store text information in the actual size, but not the maximum allowable length; perform dynamic configuration of the archive, with each configuration option can be interpreted as a separate archive. The system operates successfully at the Novovoronezh NPP
Key words: archiving system, data model, compression algorithm, reading interface
References
1. Chashin Yu.G., Chernyavskaya E.S. "Data streams in software-defined computer networks", Bulletin of Belgorod State University. Series: Economy. Informatics (Vestnik belgorodskogo gosudarstvennogo universiteta. Seriya: Ekonomika. Informatika), 2012, no. 13 (132), pp. 166-168.
2. Terekhov D.V., Sidorenko E.V., Danilov A.D. "Tendencies of development of ACS TP at the Novovoronezh nuclear power plant", News of higher educational institutions. Nuclear power (izvestiya vysshykh uchebnykh zavedeniy. Yadernaya energetika), 2017, no. 3, pp. 66-76.
3. Povarov V., Danilov A., Burkovsky V., Gusev K. "Data support system for controlling decentralised nuclear power industry facilities through uninterruptible condition monitoring", In the collection: MATEC Web of Conferences 13. Ser. "13th International Scientific-Technical Conference on Electromechanics and Robotics "Zavalishin's Readings" - 2018", 2018, no. 2012.
4. Danilov A. D., Pileich A.V. "Software for distributed computing of heterogeneous dynamic parameters of the system in real time" ("Matematicheskoe obespechenie raspredelennykh vychisleniy geterogennykh dinamicheskikh parametrov sistem v rezhime real'nogo vremeni"), Voronezh, VSTU, 2015, 160 p.
Submitted 24.12.2019; revised 25.01.2019
Information about the authors
Dmitry V. Terekhov, Head of the Department of thermal automation and measurement, branch of JSC "Concern Rosenergoatom" "Novovoronezh nuclear power plant" (1 South prom. Zone, Novovoronezh 396072, Russia), tel. +7(920) 227-45-44, e-mail: tere-hovdv@nvnpp1 .rosenergoatom.ru
Aleksandr D. Danilov, Dr. Sc. (Technical), Professor, Voronezh State Technical University (14 Moskovskiy prospekt, Voronezh 394026, Russia), tel. +7(920)-430-74-54, e-mail: [email protected]