Система обработки и хранения данных технологических процессов
SYSTEM OF PROCESSING AND STORING TECHNOLOGICAL PROCESS DATA

Система обработки и хранения данных технологических процессов, в дальнейшем Система, предназначена для обработки, хранения данных технологических процессов, в том числе сжатие и агрегирование данных. Телеметрическая информация представляется в виде временных рядов. Система позволяет выполнять операции по манипулированию временными рядами и данными временных рядов, а так же представляет интерфейс для выполнения операций с временными рядами. Хранение данных организовано в хранилище, для которого реализован драйвер взаимодействия.
Изобретение относится к вычислительной, информационно-измерительной технике, используемой, в частности, в автоматизированных системах управления технологическими процессами нефтяной промышленности.
В качестве прототипа выбрана «Автоматизированная система сбора, хранения и обработки данных» (патент РФ на изобретение №813513). Система, близкая по своей сути предлагаемому изобретению и содержащая близкие по своему функциональному назначению модули и блоки направлена на создание автоматизированной системы сбора, хранения и обработки данных, позволяющей автоматизировать процедуру сбора и первичной обработки данных от автоматизированных рабочих мест операторов, проведения проверки соответствия первичных данных согласованным форматам и их передачи в базу хранения консолидированных данных с использованием реляционной базы данных и файлового архива.
К существенным недостаткам системы прототипа можно отнести:
- отсутствие гибкости в изменении типа модуля хранения консолидированных данных и жесткая привязка модуля верификации и модуля обработки данных к модулю хранения консолидированных данных. При этом в прототипе нет штатной возможности выполнить замену одного модуля хранения консолидированных данных на другой;
- отсутствие механизма синхронизации между аналогичными системами на уровне логического представления;
- отсутствие механизма слияния временных рядов.
Недостатками также являются отсутствие:
- возможности организовать временные ряды в иерархическую логическую модель,
- выполнять доступ к данным через логическую модель,
- выполнять разграничение доступа на уровне логической модели.
Задача, на решение которой направлено изобретение, - создание системы обработки и хранения данных, представляющих собой временные ряды, без привязки к какому либо прикладному производству для решения с помощью нее прикладных производственных задач.
Технический результат, на достижение которого направлено изобретение, заключается в организации системы хранения производственных данных, при этом структура организации временных рядов настраиваема и зависит от вида прикладной задачи.
Поставленная задача решается тем, что система обработки и хранения данных технологических процессов, включающая АРМ, блок сервисов, модуль разграничения доступа, состоящий из блоков аутентификации, авторизации и управления доступом, хранилище временных рядов, блок обработки данных, блок данных телеметрии согласно изобретению дополнительно содержит блок сопряжения, блок иерархической структуры временных рядов, базу данных логического представления временного ряда, модуль интерфейса временного ряда, блок описания, блок событий изменения данных, блок режима отладки, блок библиотечных функций, блок слияния данных, блок приведения данных к внешнему виду, блок логирования, блок синхронизации данных, базу данных настроек временного ряда, модуль администрирования, блок настроек временного ряда, блок поиска и корректировки подключений, блок поиска и корректировки временных рядов, блок настройки операции слияния данных, блок поиска и корректировки данных временных, блок настройки синхронизации данных, блок драйверов взаимодействия, блок кеширования наименований временных рядов, хранилище временных рядов, причем модуль интерфейса временного ряда включает в себя блок описания, блок событий изменения данных, блок режима отладки, блок библиотечных функций, блок слияния данных, блок приведения данных к внешнему виду, блок логирования, блок синхронизации данных, а модуль администрирования включает в себя блок настроек временного ряда, блок поиска и корректировки подключений, блок поиска и корректировки временных рядов, блок настройки операции слияния данных, блок поиска и корректировки данных временных, блок настройки синхронизации данных, кроме того, блок данных телеметрии односторонней связью соединен с блоком сервисов, блок сервисов двусторонней связью соединен АРМ, блок сопряжения двусторонними связями соединен с блоком сервисов, АРМ и модулем разграничения доступа, модуль разграничения доступа двусторонней связью соединен с блоком иерархической структуры временных рядов, блок иерархической структуры временных рядов двусторонней связью соединен с базой данных логического представления временного ряда, модуль разграничения доступа двусторонней связью соединен с модулем интерфейса временного ряда, модуль интерфейса временного ряда двусторонней связью соединен с модулем администрирования, база данных временного ряда двусторонними связями соединена с модулем интерфейса временного ряда и модулем администрирования, блок драйверов взаимодействия двусторонними связями соединен с модулем интерфейса временного ряда, блоком кеширования наименований временных рядов и хранилищем временных рядов.
Функциональные модули и блоки системы представлены на фигуре 1.
Система разбита на уровни, которые носят условный характер и служат для удобства восприятия.
Прикладной уровень (5) - уровень выполнения операций с логическим представлением временного ряда - создание иерархической структуры представления временных рядов, выполнения операция по аутентификации и авторизации.
Интерфейсный уровень (6) - служит интерфейсом представления функциональности временного ряда для прикладного уровня и содержит логику оперирования временными рядами, определяет поведение временных рядов, а также предоставляет визуальный интерфейс администрирования временных рядов.
Логический уровень (7) - представляет логику реализации работы с конкретными хранилищами временных рядов и для интерфейсного уровня выполняет абстрагирование от внутренней реализации работы с физическими хранилищами.
Физический уровень (8) - представляет собой физическое хранилище временных рядов.
Система содержит:
- АРМ (1) - автоматизированные рабочие места специалистов (в дальнейшем «Клиент») - клиентские программные приложения, имеющие визуальный интерфейс;
- Блок сервисов (2) - программные приложения (в дальнейшем «Сервисы», не имеющие пользовательской визуальной части и служащие для выполнения заданий. Блок сервисов может являться точкой доступа клиентских приложений к данным. Например: сервисы операционной системы, веб сервисы;
- Блок данных телеметрии (3) - различные телеметрические данные, которые необходимо собирать, обрабатывать и анализировать;
- Блок сопряжения (4). Представляет собой программный интерфейс доступа к системе, содержит набор готовых классов, структур и констант, предоставляемых системой, предназначенных также и для использования во внешних программных продуктах. Содержит методы для оперирования данными временных рядов, например, такие как получение данных в хранимом виде, различные варианты интерполяции данных, получение сжатых данных в зависимости от параметров, агрегирование данных, операции по манипулированию данными временных рядов и др.;
- Модуль разграничения доступа (9) служит для управления доступом Клиентов к временному ряду;
- Блок аутентификации (10) предназначен для аутентификации Клиентов и Сервисов;
- Блок авторизации (11) предназначен для авторизации Клиентов и Сервисов.
- Блок управления доступом (12) управляет разграничением права доступа клиентов и Сервисов;
- Блок иерархической структуры временных рядов (13) служит для организации временных рядов в иерархическую структуру;
- База данных (БД) логического представления временного ряда (14) является хранилищем иерархической структуры организации временных рядов;
- Модуль интерфейса временного ряда (15) объединяет в себе логику реализации функционала временного ряда и представляет интерфейс для вызова функций оперирования временным рядом;
- Блок описания (16) содержит информацию о Системе, а также выполняет сбор информации об элементах Системы;
- Блок событий изменения данных (17) представляет собой функционал подписки на изменение данных временного ряда. Подписка на события необходима для того чтобы клиентские приложения и сервисы получали обновленные данные;
- Блок режима отладки (18). Данный блок служит для осуществления отладки интерфейсного уровня Системы. В этом режиме происходит сбор информации о причине возникновения ошибки и возврат этих данных вместе с данными через прикладной уровень клиентским приложениям и сервисам;
- Блок библиотечных функций (19). Блок вызывает внешние функции манипуляций временным рядом. Внешние функции представляют собой программные модули с необходимым функционалом;
- Блок обработки данных (20) содержит логику оперирования данными временного ряда и предоставляет следующие функции оперирования временным рядом:
- различные варианты получения данных в том виде, в котором они хранятся в хранилище временных рядов,
- различные варианты интерполяции данных,
- сжатие данных,
- разбитие на одинаковые временные промежутки,
- агрегирование данных,
- выполнение добавления и изменения данных в хранилище временных рядов посредством предоставляемого интерфейса;
- Блок слияния данных (21) представляет собой процесс слияния двух временных рядов в один. В результате слияния данных временных рядов образуется новый временной ряд. Временные ряды, участвующие в слиянии физически, хранятся раздельно, а слияние выполняется в процессе получения данных. При этом с данными объединенных временных рядов возможно выполнение всех операций, что и с одиночным временным рядом. Поэтому для двух временных рядов участвующих в объединении возможен возврат данных как этих временных рядов, объединенного временного ряда, выполнении различных операций с каждым временным рядом отдельно так и с объединенным временным рядом. При объединении временных рядов важен приоритет временного ряда. Данные временного ряда с более высоким приоритетом заменяют данные временного ряда с низким приоритетом. В объединенный временной ряд возможно вести запись данных, в этом случае данные физически будут записаны в приоритетный временной ряд. - Блок приведения данных к внешнему типу (22) выполняет преобразование данных к требуемому типу. Несмотря на то, что данные хранятся в одном типе данных, они при совместимости приводятся в запрашиваемый тип данных;
- Блок логирования (23) служит для записи процесса работы модуля интерфейса временного ряда. Функциональность логирования настраивается - включается или выключается при необходимости;
- Блок синхронизации данных (24) предназначен для записи данных в несколько хранилищ временных рядов. Механизм синхронизации, например, дает возможность в филиалах компании иметь дополнительные инсталляции Системы с данными головного офиса. Настройка выполняется в Системе, в которой происходит сохранение данных. Возможно настройка на несколько Систем, причем не важно, какие типы хранилищ временных рядов используются (физические типы хранилищ могут различаться). Возможна настройка двухсторонней синхронизации между двумя Системами. Для этого необходимо в каждой Системе настроить синхронизацию на другую Систему. При поступлении данных на сохранение, блоки синхронизации данных связанных Систем соединяются и передают данные на сохранение. Применяется 2 варианта сохранения связанных данных:
- транзакционная запись - в этом случае операция сохранения данных на всех связанных системах происходит атомарно, а именно либо данные запишутся во все системы или в случае возникновения ошибки данные не записываются ни в одну систему;
- асинхронная запись - в этом случае данные для записи отправляются во все связанные системы независимо друг от друга. При таком типе записи в случае возникновения ошибки возможна ситуация когда данные в некоторые системы запишутся, а в некоторые нет.
- База данных настроек временного ряда (25) - содержит настройки представления временного ряда. Один временной ряд может иметь различные настройки. Эти настройки влияют способ изменения на то каким образом данные временного ряда и какие действия с временным рядом будут происходить;
- Модуль администрирования (26) объединяет блоки визуализации типовых действий с временным рядом;
- Блок настроек временного ряда (27) служит для выполнения конфигурирования настроек временных рядов через визуальный интерфейс;
- Блок поиска и корректировки подключений (28) представляет собой визуальный интерфейс работы с подключениями;
- Блок поиска и корректировки временных рядов (29) представляет собой визуальный интерфейс для оперирования временными рядами;
- Блок настройки операции слияния данных (30) - настройка механизма объединения данных двух временных рядов в итоговый временной ряд;
- Блок поиска и корректировки данных временных рядов (31) представляет собой визуальный интерфейс для оперирования временными рядами;
- Блок настройки синхронизации (32) - визуальный интерфейс настройки синхронизации записи данных временных рядов;
- Блок драйверов взаимодействия (33) предназначен для взаимодействия с определенными типами хранилищ временных рядов, используя механизмы этих хранилищ. Блок является важной частью системы и обеспечивает гибкость и расширяемость системы. Каждый драйвер имеет стандартный внешний интерфейс взаимодействия с модулем интерфейса временного ряда. Каждый драйвер представляет логику работы только с одним типом хранилища временных рядов. Драйвера работают с физическими хранилищами и внутри себя используют операции и механизмы конкретного типа хранилища, при этом предоставляют интерфейс взаимодействия, который не зависит от хранилища. В случае появления нового хранилища временных рядов, которое еще не поддерживается Системой, создается необходимый драйвер взаимодействия, реализующий работоспособность нового хранилища в Системе. При этом драйвер является некой обособленной подсистемой, которая, встраиваясь в Систему, расширяет ее функциональность. Т.к. драйвер взаимодействия является обособленной частью, он в случае неработоспособности не сможет оказать негативного воздействия на функционирование Системы, т.е. в случае неработоспособности одного драйвера взаимодействия не будет работать лишь логика, связанная с этим драйвером, при этом никак не отразится на работоспособности Системы в целом и остальных драйверах взаимодействия.
- Блок кеширования наименований временных рядов (34) предназначен для оптимизации выполнения операций по доступу к временным рядам за счет кеширования часто используемых данных;
- Хранилище временных рядов (38) - база данных, в которой хранятся временные ряды.
Система функционирует следующим образом.
После проведения аутентификации и авторизации в Модуле разграничения доступа (9) Клиент получает доступ к логическому представлению временного ряда. Клиент может сконфигурировать логическую структуру организации временных рядов. Через Модуль администрирования (26) Клиент имеет возможность настроить временной ряд, сконфигурировать подключения, выполнить поиск тегов и сконфигурировать их, выполнить операции по корректировки данных временного ряда, настроить объединение одного временного ряда с другим временным рядом и настроить синхронизацию данных.
Посредством Модуля интерфейса временного ряда (15) Клиент может получать информацию о функционале системы через Блок описания (16), выполнять различные операции с данными временного ряда через Блок обработки данных (20) и при этом возвращать данные в необходимом виде через Блок приведения данных к внешнему типу (22). Через Блок синхронизации данных (24) выполняется синхронизация данных со смежной Системой. Через Блок событий изменения данных ((17) выполняется подписка на события временного ряда.
При выполнении операций с данными временного ряда Модуль интерфейса временного ряда (15) выполняет обращение к данным Хранилища временных рядов (35) посредством Блока драйверов взаимодействия (33).
Изобретение позволяет создать гибкую производственную систему хранения и обработки большого объема данных. Система за счет механизма сопряжения легко интегрируется с имеющимися бизнес процессами и сторонними системами.