RU2825558C1 - Method of reducing stream of observations of parameters of cyberphysical system coming in real time to equal-interval time grid - Google Patents
Method of reducing stream of observations of parameters of cyberphysical system coming in real time to equal-interval time grid Download PDFInfo
- Publication number
- RU2825558C1 RU2825558C1 RU2023107213A RU2023107213A RU2825558C1 RU 2825558 C1 RU2825558 C1 RU 2825558C1 RU 2023107213 A RU2023107213 A RU 2023107213A RU 2023107213 A RU2023107213 A RU 2023107213A RU 2825558 C1 RU2825558 C1 RU 2825558C1
- Authority
- RU
- Russia
- Prior art keywords
- cfs
- rivs
- parameter
- node
- parameters
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 101
- 238000012545 processing Methods 0.000 claims description 61
- 230000002776 aggregation Effects 0.000 claims description 10
- 238000004220 aggregation Methods 0.000 claims description 10
- 230000015572 biosynthetic process Effects 0.000 claims description 7
- 230000000694 effects Effects 0.000 abstract description 2
- 239000000126 substance Substances 0.000 abstract 1
- 230000008569 process Effects 0.000 description 35
- 238000012544 monitoring process Methods 0.000 description 23
- 238000003860 storage Methods 0.000 description 19
- 238000004458 analytical method Methods 0.000 description 11
- 238000013528 artificial neural network Methods 0.000 description 10
- 230000008859 change Effects 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 8
- 238000010801 machine learning Methods 0.000 description 8
- 230000006399 behavior Effects 0.000 description 7
- 238000001514 detection method Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 5
- 230000002093 peripheral effect Effects 0.000 description 5
- 238000012549 training Methods 0.000 description 5
- 238000009825 accumulation Methods 0.000 description 4
- 230000004807 localization Effects 0.000 description 4
- 238000005259 measurement Methods 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 238000010200 validation analysis Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000001934 delay Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000001311 chemical methods and process Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 238000005206 flow analysis Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000011835 investigation Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000007717 exclusion Effects 0.000 description 1
- 238000005111 flow chemistry technique Methods 0.000 description 1
- RGNPBRKPHBKNKX-UHFFFAOYSA-N hexaflumuron Chemical compound C1=C(Cl)C(OC(F)(F)C(F)F)=C(Cl)C=C1NC(=O)NC(=O)C1=C(F)C=CC=C1F RGNPBRKPHBKNKX-UHFFFAOYSA-N 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000004886 process control Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Abstract
Description
Область техникиField of technology
Изобретение относится к области информационных технологий и информационно-управляющих систем, в том числе информационной и промышленной безопасности, а более конкретно к системам и способам приведения потока наблюдений параметров киберфизической системы, поступающих в реальном времени, к равно-интервальной временной сетке.The invention relates to the field of information technology and information control systems, including information and industrial security, and more specifically to systems and methods for converting the flow of observations of parameters of a cyber-physical system, received in real time, to an equal-interval time grid.
Уровень техникиState of the art
Работа современных предприятий обеспечивается киберфизическими системами (КФС) с тысячами датчиков, исполнительных механизмов, ПИД-регуляторов (пропорционально-интегрально-дифференцирующий регулятор), ПЛК (программируемый логический контроллер), а также информационными системами (ИС) со множеством вычислительных устройств в сети. Поэтому на таких предприятиях также устанавливают различные системы мониторинга, предназначенные для мониторинга и анализа данных предприятий.The operation of modern enterprises is provided by cyber-physical systems (CPS) with thousands of sensors, actuators, PID controllers (proportional-integral-differentiative controller), PLC (programmable logic controller), as well as information systems (IS) with many computing devices in the network. Therefore, such enterprises also install various monitoring systems designed to monitor and analyze enterprise data.
Указанные КФС или ИС также называют объектом мониторинга (далее - объектом). Таким образом, для объектов мониторинга свойственно наличие потока данных, характеризующих работу этих объектов. Такие данные служат важным предметом анализа как в реальном времени (онлайн, англ. online), так и ретроспективно по собранным данным для обнаружения аномалий (отклонений от нормальной работы объекта), а также для формирования предсказаний о будущем состоянии объекта.The specified CFS or IS are also called a monitoring object (hereinafter referred to as an object). Thus, monitoring objects are characterized by the presence of a data flow characterizing the operation of these objects. Such data serve as an important subject of analysis both in real time (online) and retrospectively based on the collected data to detect anomalies (deviations from the normal operation of the object), as well as to form predictions about the future state of the object.
Для анализа данных телеметрии физических процессов (то есть значений параметров КФС, таких как показаний сенсоров, значений уставок, уровней управляющих воздействий, далее - телеметрия) успешно применяются предсказательные модели на основе нейронных сетей и другие методы машинного обучения (методы классификации, кластеризации, регрессии и другие), далее - детекторы аномалий (детекторы), а также предиктивные анализаторы. Примеры таких детекторов и предиктивных анализаторов описаны, например, в патентах RU2724716, RU2724075, RU2749252, US11175976, US11494252. Указанный анализ телеметрии может производиться, например, для обнаружения аномалий или для предсказания поведения объекта в будущем.Predictive models based on neural networks and other machine learning methods (classification, clustering, regression, and other methods), hereinafter referred to as anomaly detectors (detectors), as well as predictive analyzers, are successfully used to analyze telemetry data of physical processes (i.e., values of CFS parameters, such as sensor readings, setpoint values, control action levels, hereinafter referred to as telemetry). Examples of such detectors and predictive analyzers are described, for example, in patents RU2724716, RU2724075, RU2749252, US11175976, US11494252. The specified telemetry analysis can be performed, for example, to detect anomalies or to predict the behavior of an object in the future.
Математическая основа большинства методов машинного обучения, в том числе нейронных сетей, состоит в восстановлении неизвестной непрерывной функции, описывающей работу объекта, по массиву дискретных наблюдений, выполненных на объекте. Однако на практике, а особенно в тех случаях, когда детектор аномалий должен работать в реальном времени, возникают различные проблемы, для решения которых применяются специальные методы потоковой обработки данных.The mathematical basis of most machine learning methods, including neural networks, is to restore an unknown continuous function describing the operation of an object from an array of discrete observations made on the object. However, in practice, and especially in cases where the anomaly detector must work in real time, various problems arise, for the solution of which special methods of streaming data processing are used.
Для работы моделей на основе нейронных сетей на временных рядах (например, на данных телеметрии) необходимо, чтобы соседние наблюдения отстояли друг от друга на одинаковые промежутки времени. Когда нейронная сеть анализирует временной ряд, она, как правило, рассматривает за раз не одно наблюдение, а множество наблюдений в некотором интервале времени (так называемое «окно»). Работа с окном необходима, чтобы воспринять динамику процесса, разворачивающегося во времени. Проанализировав поведение объекта в окне, нейронная сеть выдает результат своей работы - например, предсказание будущего поведения объекта или классификацию настоящего поведения объекта. Далее окно сдвигается на заданный шаг вперед (соседние окна могут не перекрываться, или частично перекрываются), и процесс повторяется на новом отрезке времени. Во время обучения нейронная сеть проходит окнами (то есть окна поступают поочередно на вход нейронной сети) по длительному интервалу времени, чтобы «понять» все детали и скрытые правила функционирования объекта. В режиме вывода (англ. inference) нейронная сеть анализирует по одному окну за раз в реальном времени и выдает результат на основе своих «знаний», полученных при обучении.For neural network-based models to work on time series (e.g. telemetry data), it is necessary that adjacent observations are spaced equally apart. When a neural network analyzes a time series, it typically considers not one observation at a time, but many observations in a certain time interval (the so-called "window"). Working with a window is necessary to perceive the dynamics of a process unfolding in time. Having analyzed the behavior of an object in a window, the neural network produces the result of its work - for example, a prediction of the future behavior of the object or a classification of the current behavior of the object. Then the window is shifted a specified step forward (adjacent windows may not overlap, or partially overlap), and the process is repeated on a new time interval. During training, the neural network goes through windows (i.e. windows are received alternately at the input of the neural network) over a long time interval in order to "understand" all the details and hidden rules of the object's functioning. In inference mode, the neural network analyzes one window at a time in real time and produces a result based on its “knowledge” gained during training.
Чтобы нейронная сеть могла работать, как описано выше, и демонстрировать стабильное качество, все окна как на обучении, так и в продуктивном режиме должны предоставлять одинаковый «обзор» объекта мониторинга. Это значит, что все окна должны представлять собой одинаковые интервалы времени, разделенные на одинаковое число моментов, в которых производятся наблюдения объекта, и в каждом таком моменте объект наблюдается одинаковым образом. Отсюда следует, что телеметрия объекта, поступающая на вход модели машинного обучения, должна быть представлена наблюдениями, взятыми в узлах некоторой равно-интервальной временной сетки (РИВС), причем в каждом узле должны быть известны значения всех входных параметров.For a neural network to operate as described above and demonstrate consistent quality, all windows, both in training and in production mode, must provide the same "overview" of the monitoring object. This means that all windows must represent equal time intervals, divided into the same number of moments in which the object is observed, and at each such moment the object is observed in the same way. It follows that the object telemetry entering the machine learning model must be represented by observations taken at the nodes of some equal-interval time grid (EITT), and at each node the values of all input parameters must be known.
Однако ситуация, когда поступающие наблюдения уже распределены по узлам РИВС, как правило, не встречается. Вместо этого детектор сталкивается с одной или несколькими из следующих особенностей потока данных (наблюдений):However, the situation where the incoming observations are already distributed among the RIVS nodes does not usually occur. Instead, the detector encounters one or more of the following features of the data (observations) flow:
наблюдения параметров КФС поступают с произвольными интервалами, не совпадающими с периодом РИВС;observations of the parameters of the CFS are received at random intervals that do not coincide with the period of the RIVS;
наблюдения некоторых параметров КФС формируются часто, других - редко, третьих - спорадически (по факту определенного события);observations of some parameters of the FSC are formed frequently, others - rarely, and others - sporadically (based on the fact of a certain event);
даже если собственные периоды наблюдений разных параметров КФС совпадают, их фазы (конкретные моменты измерений) отличаются;even if the proper periods of observation of different parameters of the CFS coincide, their phases (specific moments of measurements) differ;
наблюдения могут опаздывать или приходить раньше относительно соседних наблюдений, иными словами, временная метка нового наблюдения, полученного детектором, может находиться в прошлом относительно временной метки предыдущего полученного наблюдения. Это может быть вызвано перепадами нагрузки на процессоры системы мониторинга, вариацией задержек в сети передачи данных, или разницей в показаниях часов, которые формируют наблюдения на стороне объекта мониторинга;observations may be late or arrive early relative to adjacent observations, in other words, the timestamp of a new observation received by the detector may be in the past relative to the timestamp of the previously received observation. This may be caused by fluctuations in the load on the monitoring system processors, variations in delays in the data transmission network, or differences in the clock readings that form observations on the side of the monitoring object;
некоторые наблюдения теряются при передаче или вовсе не формируются из-за перегрузки системы мониторинга и/или из-за аппаратных проблем, возникающих в процессах функционирования КФС;some observations are lost during transmission or are not generated at all due to overload of the monitoring system and/or due to hardware problems that arise in the processes of functioning of the FSC;
поток данных может время от времени прерываться полностью или частично, в том числе штатно (планово-периодическое отключение агрегата).the data flow may be interrupted from time to time, completely or partially, including routinely (planned periodic shutdown of the unit).
Таким образом, в общем случае наблюдения приходят хаотически, например, генерируются с произвольными интервалами, прибывают в произвольном порядке, не синхронны друг с другом и с РИВС, задерживаются или теряются в пути. Например, для РИВС с периодом 10 сек. нейронная сеть ожидает получить значения параметров КФС «А», «В» и «С» в момент 12:00:00, потом в 12:00:10, потом в 12:00:20 и т.д. На самом деле измерения значений параметра КФС «А» могут быть взяты в 12:00:01, 12:00:09, 12:00:21. Измерения параметра КФС «B» - в 11:59:48 и 12:00:08, при этом последнее опоздало и было получено после поступления значения параметра КФС «А» от 12:00:21. Наблюдения параметра КФС «С» последний раз поступали в 11:30. При работе с таким потоком наблюдений, результаты работы детекторов, полагающихся на равномерное и синхронное поступление измерений параметров «А», «В», «С», будут ошибочными, а результаты работы предиктивных анализаторов - недостаточно точными.Thus, in the general case, observations arrive chaotically, for example, they are generated at random intervals, arrive in random order, are not synchronous with each other and with the RIVS, are delayed or lost along the way. For example, for a RIVS with a period of 10 sec. the neural network expects to receive the values of the parameters of the FSC "A", "B" and "C" at 12:00:00, then at 12:00:10, then at 12:00:20, etc. In fact, the measurements of the values of the parameter of the FSC "A" can be taken at 12:00:01, 12:00:09, 12:00:21. The measurements of the parameter of the FSC "B" - at 11:59:48 and 12:00:08, with the latter being late and received after the value of the parameter of the FSC "A" from 12:00:21. The last time observations of the parameter of the FSC "C" were received was at 11:30. When working with such a flow of observations, the results of the detectors, relying on the uniform and synchronous receipt of measurements of the parameters "A", "B", "C", will be erroneous, and the results of the predictive analyzers will not be accurate enough.
Поэтому возникает техническая проблема, на решение которой направлено заявленное техническое решение, заключающаяся в создании компьютерно-реализуемого способа приведения произвольно распределенного потока наблюдений параметров киберфизической системы, поступающих в реальном времени, к равно-интервальной временной сетке.Therefore, a technical problem arises, the solution to which is aimed at the declared technical solution, which consists of creating a computer-implemented method for reducing an arbitrarily distributed flow of observations of the parameters of a cyber-physical system, received in real time, to an equal-interval time grid.
Из уровня техники известны способы приведения к РИВС наблюдений различных исторических данных, предварительно собранных в своей совокупности в статический массив, покрывающий весь подлежащий анализу интервал времени (см., например, патент US8818919). Однако такие способы не применимы для потока наблюдений, поступающих в реальном времени, где неизвестны будущие наблюдения и время их поступления. В частности, при приеме потока неизвестно, все ли наблюдения для определенного узла РИВС уже приняты к настоящему моменту, или часть еще не получена, или другая часть наблюдений никогда не будет получена, так как эти наблюдения либо не были произведены на объекте, либо были потеряны. При работе со статическим массивом данных такая проблема отсутствует в принципе, так как обработчику данных все полученные наблюдения для всех узлов РИВС доступны немедленно и одновременно. Кроме того, при приведении к РИВС статического массива данных отсутствует необходимость идентифицировать и специальным образом обрабатывать опоздавшие или слишком рано прибывшие наблюдения, выявлять «потерю потока», адаптироваться под изменение скорости хода времени данных относительно времени процессинга.The prior art discloses methods for reducing observations of various historical data, previously collected in their entirety into a static array covering the entire time interval to be analyzed, to a DVS (see, for example, patent US8818919). However, such methods are not applicable to a flow of observations arriving in real time, where future observations and the time of their arrival are unknown. In particular, when receiving a flow, it is unknown whether all observations for a certain DVS node have already been received by now, or some have not yet been received, or another part of the observations will never be received, since these observations were either not made at the facility or were lost. When working with a static data array, such a problem does not exist in principle, since all received observations for all DVS nodes are immediately and simultaneously available to the data processor. In addition, when reducing a static data array to a DVS, there is no need to identify and specially process late or too early observations, to detect a "flow loss", to adapt to a change in the speed of data time relative to the processing time.
Таким образом, известные технологии имеют недостатки, препятствующие полноценному решению заявленной технической проблемы, поэтому возникает необходимость в заявленном изобретении.Thus, known technologies have shortcomings that prevent a full solution to the stated technical problem, which is why the need for the stated invention arises.
Раскрытие сущности изобретенияDisclosure of the essence of the invention
Первый технический результат заключается в приведении произвольно распределенного потока наблюдений параметров КФС, поступающих в реальном времени, к РИВС.The first technical result consists of converting a randomly distributed flow of observations of the parameters of the CFS, received in real time, to the RIVS.
Второй технический результат заключается в снижении времени приведения произвольно-распределенного потока наблюдений параметров КФС, поступающих в реальном времени, к РИВС.The second technical result consists in reducing the time required to bring a randomly distributed flow of observations of the parameters of the CFS, received in real time, to the RIVS.
Третий технический результат заключается в формировании приведенного к РИВС потока значений выходных параметров КФС без пропусков.The third technical result consists in the formation of a stream of output parameter values of the CFS reduced to the RIVS without gaps.
Четвертый технический результат заключается в подготовке данных в форме и объеме, необходимом для корректной работы детекторов аномалий и предиктивных анализаторов.The fourth technical result consists of preparing data in the form and volume necessary for the correct operation of anomaly detectors and predictive analyzers.
Согласно варианту реализации используется реализуемый компьютером способ приведения потока наблюдений параметров киберфизической системы, поступающих в реальном времени, к равно-интервальной временной сетке, включающий этапы, на которых: проверяют при помощи по меньшей мере одного критерия выгрузки возможность выгрузки по меньшей мере одного узла РИВС, причем критерий выгрузки проверяется с учетом свойств потока наблюдений параметров КФС из набора входных параметров КФС, где наблюдению параметра КФС соответствует значение параметра КФС и время данных; при выполнении по меньшей мере одного критерия выгрузки выгружают по меньшей мере один узел РИВС, для которого выполняется указанный по меньшей мере один критерий выгрузки; в каждом выгруженном узле РИВС для каждого выходного параметра КФС из набора выходных параметров КФС, вычисляют его значение на основании упомянутого выгруженного узла РИВС, причем каждый выходной параметр КФС связан с по меньшей мере одним из входных параметров КФС, в частности совпадает с одним из входных параметров КФС или является производным от по меньшей мере одного из входных параметров КФС.According to an embodiment, a computer-implemented method is used for reducing a flow of observations of parameters of a cyber-physical system, received in real time, to an equal-interval time grid, comprising the stages of: checking, using at least one unloading criterion, the possibility of unloading at least one node of the RIVS, wherein the unloading criterion is checked taking into account the properties of the flow of observations of the parameters of the CPS from a set of input parameters of the CPS, where the observation of the parameter of the CPS corresponds to the value of the parameter of the CPS and the time of the data; when at least one unloading criterion is met, at least one node of the RIVS is unloaded, for which the specified at least one unloading criterion is met; in each unloaded node of the RIVS, for each output parameter of the CFS from the set of output parameters of the CFS, its value is calculated based on the said unloaded node of the RIVS, wherein each output parameter of the CFS is associated with at least one of the input parameters of the CFS, in particular, coincides with one of the input parameters of the CFS or is derived from at least one of the input parameters of the CFS.
Согласно одному из частных вариантов реализации свойства потока включают по меньшей мере одно из следующих: дистанцию выгрузки по потоку, таймаут.According to one particular embodiment, the properties of the stream include at least one of the following: a stream unload distance, a timeout.
Согласно другому частному варианту реализации критерий выгрузки является по меньшей мере одним из следующих: выгрузка по потоку; выгрузка по таймауту.According to another particular embodiment, the unloading criterion is at least one of the following: unloading by stream; unloading by timeout.
Согласно еще одному частному варианту реализации, если проверяют возможность выгрузки по меньшей мере двух узлов РИВС и если критерий выгрузки по потоку выполняется для одного узла РИВС, а критерий выгрузки по таймауту выполняется для другого узла РИВС, тогда выбирают тот из указанных узлов РИВС, у которого метка времени больше.According to another particular embodiment, if the possibility of unloading at least two RIVS nodes is checked and if the unloading criterion by flow is met for one RIVS node, and the unloading criterion by timeout is met for another RIVS node, then the one of the specified RIVS nodes with the larger time stamp is selected.
Согласно одному из частных вариантов реализации дополнительно выгружают один или несколько других узлов РИВС, последовательно предшествующих тому узлу РИВС, который удовлетворяет критерию выгрузки.According to one of the particular implementation options, one or more other RIVS nodes are additionally unloaded, successively preceding the RIVS node that satisfies the unloading criterion.
Согласно другому частному варианту реализации в случае, если к выгруженному узлу РИВС относится наблюдение по меньшей мере одного параметра КФС, также выгружают указанное по меньшей мере одно наблюдение параметра КФС.According to another particular embodiment, if the unloaded RIVS node includes an observation of at least one parameter of the CFS, the specified at least one observation of the parameter of the CFS is also unloaded.
Согласно еще одному частному варианту реализации в случае, если к узлу РИВС относится по меньшей мере одно наблюдение входного параметра КФС, связанного с выходным параметром КФС, то его учитывают при вычислении значения выходного параметра КФС.According to another particular embodiment, if at least one observation of the input parameter of the CFS related to the output parameter of the CFS pertains to the RIVS node, then it is taken into account when calculating the value of the output parameter of the CFS.
Согласно одному из частных вариантов реализации используется способ, дополнительно включающий этапы, предварительно выполняемые при условии поступления по меньшей мере одного нового наблюдения параметра КФС из потока, согласно которым каждое полученное наблюдение параметра КФС накапливают и относят к узлу РИВС в соответствии со временем данных указанного наблюдения, а также для каждого полученного наблюдения параметра КФС проверяют по меньшей мере один критерий признания нового головного узла РИВС и в случае его выполнения признают узел РИВС, соответствующий времени данных указанного наблюдения параметра КФС, головным узлом РИВС.According to one particular embodiment, a method is used that additionally includes the steps that are preliminarily performed on condition of receipt of at least one new observation of the CFS parameter from the stream, according to which each received observation of the CFS parameter is accumulated and assigned to the RIVS node in accordance with the time of the data of the specified observation, and also for each received observation of the CFS parameter, at least one criterion for recognizing a new RIVS head node is checked and, if it is met, the RIVS node corresponding to the time of the data of the specified observation of the CFS parameter is recognized as the RIVS head node.
Согласно другому частному варианту реализации критерий признания нового головного узла РИВС является одним из: критерий признания по представительству; критерий признания по соразмерности интервала; критерий признания в состоянии полной остановки потока.According to another particular implementation option, the criterion for recognizing a new head node of the RIVS is one of: the criterion for recognition by representation; the criterion for recognition by the proportionality of the interval; the criterion for recognition in the state of complete stop of the flow.
Согласно еще одному частному варианту реализации используется способ, в котором дополнительно формируют инцидент в случае выполнения по меньшей мере одного из условий формирования инцидента.According to another particular embodiment, a method is used in which an incident is additionally generated if at least one of the conditions for generating an incident is met.
Согласно одному из частных вариантов реализации условия формирования инцидента включают следующие: для инцидента «опоздавшее наблюдение»: время данных наблюдения параметра КФС соответствует ранее выгруженному узлу РИВС; для инцидента «сбой часов источника»: время данных наблюдения параметра КФС опережает метку времени головного узла РИВС на заданный интервал времени; для инцидента «потеря потока»: в случае прекращения поступления наблюдений параметра КФС в течение определенного времени, заданного для параметра КФС, причем к значению выходного параметра КФС дополнительно добавляют информацию об инциденте.According to one of the particular implementation options, the conditions for incident formation include the following: for the "late observation" incident: the time of the observation data of the KFS parameter corresponds to the previously unloaded RIVS node; for the "source clock failure" incident: the time of the observation data of the KFS parameter is ahead of the time stamp of the RIVS head node by a specified time interval; for the "flow loss" incident: in the event of termination of the receipt of observations of the KFS parameter during a certain time specified for the KFS parameter, and information about the incident is additionally added to the value of the KFS output parameter.
Согласно другому частному варианту реализации используется способ, дополнительно включающий этапы, на которых переопределяют свойства потока в случае, если частота возникновения инцидентов «опоздавшее наблюдение» или «сбой часов источника» превышает установленный порог.According to another particular embodiment, a method is used that additionally includes steps in which the properties of the flow are redefined in the event that the frequency of occurrence of “late observation” or “source clock failure” incidents exceeds a specified threshold.
Согласно еще одному частному варианту реализации используется способ, в котором, если набор входных параметров КФС совпадает с набором выходных параметров КФС, то в каждом из выгруженных узлов РИВС вычисляют значение для каждого параметра КФС из набора выходных параметров КФС в зависимости от количества отнесенных к узлу РИВС наблюдений соответствующего входного параметра КФС, причем если в указанном узле РИВС для входного параметра КФС накоплено одно или несколько наблюдений, выполняют агрегацию на основе накопленных наблюдений входного параметра КФС в указанном узле РИВС.According to another particular embodiment, a method is used in which, if the set of input parameters of the CFS coincides with the set of output parameters of the CFS, then in each of the unloaded nodes of the RIVS, a value is calculated for each parameter of the CFS from the set of output parameters of the CFS depending on the number of observations of the corresponding input parameter of the CFS assigned to the RIVS node, and if one or more observations have been accumulated for the input parameter of the CFS in the specified RIVS node, aggregation is performed based on the accumulated observations of the input parameter of the CFS in the specified node of the RIVS.
Согласно одному из частных вариантов реализации, если набор входных параметров КФС совпадает с набором выходных параметров КФС и если в выгруженном узле РИВС для параметра КФС не накоплено ни одного из наблюдений, выполняют импутацию отсутствующего значения параметра КФС на основе наблюдений параметра КФС для более ранних узлов РИВС.According to one particular implementation option, if the set of input parameters of the CFS coincides with the set of output parameters of the CFS and if none of the observations have been accumulated for the CFS parameter in the unloaded RIVS node, the missing value of the CFS parameter is imputed based on the observations of the CFS parameter for earlier RIVS nodes.
Согласно другому частному варианту реализации вычисляют значение выходного параметра КФС в узле РИВС согласно зависимости от связанных с ним параметров КФС, причем вычисляют значения для каждого параметра КФС в зависимости от количества отнесенных к узлу РИВС наблюдений указанного параметра КФС, причем если в указанном узле РИВС для указанного параметра КФС накоплено одно или несколько наблюдений, выполняют агрегацию на основе накопленных наблюдений параметра КФС в указанном узле РИВС или в более ранних узлах РИВС или в указанном узле РИВС и более ранних узлах РИВС.According to another particular embodiment, the value of the output parameter of the CFS is calculated in the RIVS node according to the dependence on the parameters of the CFS associated with it, wherein the values for each parameter of the CFS are calculated depending on the number of observations of the specified parameter of the CFS assigned to the RIVS node, wherein if one or more observations have been accumulated for the specified parameter of the CFS in the specified RIVS node, aggregation is performed based on the accumulated observations of the parameter of the CFS in the specified RIVS node or in earlier nodes of the RIVS or in the specified RIVS node and earlier nodes of the RIVS.
Согласно еще одному частному варианту реализации используется способ, в котором вычисляют значение выходного параметра КФС в узле РИВС согласно зависимости от связанных с ним параметров КФС, причем если в выгруженном узле РИВС для по меньшей мере одного связанного параметра КФС не накоплено ни одного из наблюдений, выполняют импутацию отсутствующего значения указанного параметра КФС на основе наблюдений указанного параметра КФС для более ранних узлов РИВС или на основе ранее вычисленных значений указанного параметра КФС для более ранних узлов РИВС или на основе комбинации из наблюдений указанного параметра КФС и ранее вычисленных значений указанного параметра КФС для более ранних узлов РИВС.According to another particular embodiment, a method is used in which the value of the output parameter of the CFS in the RIVS node is calculated according to the dependence on the parameters of the CFS associated with it, and if none of the observations have been accumulated in the unloaded RIVS node for at least one associated parameter of the CFS, imputation of the missing value of the specified parameter of the CFS is performed based on observations of the specified parameter of the CFS for earlier RIVS nodes or based on previously calculated values of the specified parameter of the CFS for earlier RIVS nodes or based on a combination of observations of the specified parameter of the CFS and previously calculated values of the specified parameter of the CFS for earlier RIVS nodes.
Согласно одному из частных вариантов реализации вычисляют значение выходного параметра КФС в узле РИВС дополнительно на основе значений других выходных или других входных параметров КФС, связанных с указанным выходным параметром КФС.According to one of the particular implementation options, the value of the output parameter of the CFS in the RIVS node is calculated additionally based on the values of other output or other input parameters of the CFS associated with the specified output parameter of the CFS.
Согласно другому частному варианту реализации используется способ, дополнительно включающий этапы, на которых определяют свойства потока в случае начала поступления потока или возобновления поступления потока после прерывания.According to another particular embodiment, a method is used that additionally includes steps in which the properties of a stream are determined in the event of the start of the arrival of a stream or the resumption of the arrival of a stream after an interruption.
Краткое описание чертежейBrief description of the drawings
Дополнительные цели, признаки и преимущества настоящего изобретения будут очевидными из прочтения последующего описания осуществления изобретения со ссылкой на прилагаемые чертежи, на которых:Additional objects, features and advantages of the present invention will be apparent from reading the following description of the embodiment of the invention with reference to the accompanying drawings, in which:
На Фиг. 1 представлен пример киберфизической системы и ее взаимодействий с потоковым процессором. Fig. 1 shows an example of a cyber-physical system and its interactions with a stream processor.
На Фиг. 2 представлены примеры детекторов аномалий. Fig. 2 shows examples of anomaly detectors.
На Фиг. 3 представлены примеры предиктивных анализаторов. Fig. 3 shows examples of predictive analyzers.
На Фиг. 4 представлена архитектура потокового процессора. Fig. 4 shows the architecture of the stream processor.
На Фиг. 5 представлен пример работы потокового процессора, в частности пример способа приведения потока наблюдений параметров КФС, поступающих в реальном времени, к РИВС. Fig. 5 shows an example of the operation of a stream processor, in particular an example of a method for converting a stream of observations of the parameters of the CFS, received in real time, to the RIVS.
На Фиг. 6 представлен пример способа выявления аномалий в КФС в реальном времени. Fig. 6 shows an example of a method for detecting anomalies in the CFS in real time.
На Фиг. 7 представлен пример способа осуществления предиктивного анализа в КФС в реальном времени. Fig. 7 shows an example of a method for implementing predictive analysis in the CFS in real time.
На Фиг. 8 представлен пример РИВС. Fig. 8 shows an example of a RIVS.
На Фиг. 9а-9г представлены примеры потока наблюдений параметров КФС. Fig. 9a-9g show examples of the flow of observations of the parameters of the CFS.
На Фиг. 10а-10г представлены примеры изменения времени данных наблюдений параметров КФС в потоке. Fig. 10a-10g show examples of changes in the time of observation data of the parameters of the CFS in the flow.
На Фиг. 11 представлен пример наблюдений параметров КФС, указывающих на инцидент в данных. Fig. 11 shows an example of observations of the parameters of the CFS indicating an incident in the data.
На Фиг. 12 представлен пример работы потокового процессора на примере плотного потока наблюдений параметров КФС. Fig. 12 shows an example of the operation of a flow processor using a dense flow of observations of the parameters of the CFS.
На Фиг. 13 представлен пример работы потокового процессора на примере разреженного потока наблюдений параметров КФС. Fig. 13 shows an example of the operation of a stream processor using a sparse stream of observations of the parameters of the CFS.
Фиг. 14 представляет пример компьютерной системы общего назначения, с помощью которой может быть реализовано настоящее изобретение. Fig. 14 is an example of a general purpose computer system with which the present invention may be implemented.
Осуществление изобретенияImplementation of the invention
Объекты и признаки настоящего изобретения, способы для достижения этих объектов и признаков станут очевидными посредством отсылки к примерным вариантам осуществления. Однако настоящее изобретение не ограничивается примерными вариантами осуществления, раскрытыми ниже, оно может воплощаться в различных видах. Приведенное описание предназначено для помощи специалисту в области техники для исчерпывающего понимания изобретения, которое определяется только в объеме приложенной формулы.The objects and features of the present invention, the methods for achieving these objects and features will become apparent by reference to exemplary embodiments. However, the present invention is not limited to the exemplary embodiments disclosed below, it can be embodied in various forms. The description provided is intended to help a person skilled in the art to fully understand the invention, which is defined only within the scope of the appended claims.
ГлоссарийGlossary
Информационная система (ИС, англ. information system) - совокупность вычислительных устройств и используемых для их связи коммуникаций.An information system (IS) is a set of computing devices and communications used to connect them.
Киберфизическая система (КФС, англ. cyber-physical system, CPS) - информационно-технологическая концепция, подразумевающая интеграцию вычислительных ресурсов в физические процессы. Примерами киберфизической системы является технологическая система, интернет вещей (в том числе носимые устройства), промышленный интернет вещей.Cyber-physical system (CPS) is an information technology concept that involves the integration of computing resources into physical processes. Examples of a cyber-physical system are a technological system, the Internet of Things (including wearable devices), and the Industrial Internet of Things.
Интернет вещей (англ. Internet of Things, IoT) - вычислительная сеть физических предметов («вещей»), оснащённых встроенными сетевыми технологиями для взаимодействия друг с другом или с внешней средой. Интернет вещей включает такие технологии, как носимые устройства, электронные системы транспортных средств, умные автомобили, умные города, промышленные системы и пр.The Internet of Things (IoT) is a computing network of physical objects ("things") equipped with built-in network technologies for interacting with each other or with the external environment. The Internet of Things includes technologies such as wearable devices, electronic vehicle systems, smart cars, smart cities, industrial systems, etc.
Промышленный Интернет вещей (англ. Industrial Internet of Things, IIoT) - состоит из подключенного к вычислительной сети оборудования и платформ расширенной аналитики, которые выполняют обработку данных, получаемых от подключенных устройств. Устройства IIoT могут быть самыми разными - от небольших датчиков погоды до сложных промышленных роботов. Несмотря на то, что слово «промышленный» вызывает такие ассоциации, как склады, судоверфи и производственные цеха, технологии IIoT имеют большой потенциал использования в самых различных отраслях, включая сельское хозяйство, здравоохранение, финансовые услуги, розничную торговлю и рекламу. Промышленный Интернет вещей является подкатегорией Интернета вещей.The Industrial Internet of Things (IIoT) is a collection of connected hardware and advanced analytics platforms that process data from connected devices. IIoT devices range from small weather sensors to complex industrial robots. Although the word “industrial” often conjures up images of warehouses, shipyards, and manufacturing plants, IIoT technologies have great potential for use in a variety of industries, including agriculture, healthcare, financial services, retail, and advertising. The Industrial Internet of Things is a subcategory of the Internet of Things.
Объект - объект мониторинга, в частности ИС или КФС.Object - an object of monitoring, in particular an IS or a CFS.
Технологический процесс (ТП) - процесс материального производства, заключающийся в последовательной смене состояний (а также определенных свойств) материальной сущности (предмета труда). Например, физический процесс, химический процесс. ТП может осуществляться в КФС.Technological process (TP) - a process of material production, consisting of a sequential change of states (as well as certain properties) of a material entity (subject of labor). For example, a physical process, a chemical process. TP can be carried out in the CFS.
Равно-интервальная временная сетка, РИВС (англ. uniform temporal grid, UTG) - бесконечная последовательность моментов времени, в которой расстояние между соседними элементами последовательности неизменно (одинаковое).Uniform temporal grid (UTG) is an infinite sequence of time moments in which the distance between adjacent elements of the sequence is constant (the same).
Узел РИВС (англ. node, UTG node) - любой из моментов времени, составляющих РИВС.RIVS node (UTG node) - any of the moments in time that make up the RIVS.
Метка времени узла РИВС - соответствующий конкретному узлу РИВС момент времени.The timestamp of a RIVS node is the moment in time corresponding to a specific RIVS node.
Ячейка узла РИВС (англ. cell) - интервал времени вокруг узла РИВС, длина которого равна расстоянию между узлами (то есть метками времени узлов РИВС). Ячейка определяет, какие точки на оси времени относятся к узлу РИВС. В предпочтительном варианте реализации узел РИВС находится в центре своей ячейки. В других вариантах реализации узел РИВС находится слева или справа от центра своей ячейки.A RIVS node cell is a time interval around a RIVS node whose length is equal to the distance between nodes (i.e., the timestamps of RIVS nodes). A cell defines which points on the time axis belong to a RIVS node. In the preferred embodiment, a RIVS node is located at the center of its cell. In other embodiments, a RIVS node is located to the left or right of the center of its cell.
РИВС характеризуется тремя параметрами (см. пример на Фиг. 8):The RIVS is characterized by three parameters (see example in Fig. 8 ):
период (англ. period) (обратно пропорционально частоте) - расстояние между узлами сетки;period (inversely proportional to frequency) - the distance between grid nodes;
фаза (англ. phase) - положение узлов относительно времени суток (например, интервал между полуночью и ближайшим узлом РИВС, следующим за полуночью);phase - the position of nodes relative to the time of day (for example, the interval between midnight and the nearest RIVS node following midnight);
левое поле ячейки (англ. left margin) - расстояние между левой границей ячейки и соответствующим узлом РИВС как доля периода РИВС (0.5, если узел РИВС находится в центре своей ячейки).left margin of a cell - the distance between the left border of a cell and the corresponding RIVS node as a fraction of the RIVS period (0.5 if the RIVS node is in the center of its cell).
Технологический параметр, параметр технологического процесса (англ. Process Variable, PV) - текущее измеренное значение определенного состояния ТП, КФС или ИС, который наблюдается или контролируется. Примером технологического параметра является температура, давление, расход, объем, масса и другие.A process variable (PV) is a current measured value of a certain state of a process flow, a process control system, or an IS that is being observed or controlled. Examples of process variables include temperature, pressure, flow rate, volume, mass, and others.
Уставка (англ. setpoint) - поддерживаемое значение технологического параметра. Например, для технологического параметра «температура», уставкой может быть поддерживаемая температура (например, 0 градусов или 100 градусов по Цельсию). В другом примере, для технологического параметра «давление» уставкой может быть поддерживаемое давление.Setpoint - a supported value of a process variable. For example, for the process variable "temperature", the setpoint may be the supported temperature (for example, 0 degrees or 100 degrees Celsius). In another example, for the process variable "pressure", the setpoint may be the supported pressure.
Управляемый параметр (англ. Manipulated Variable, MV) - параметр, который регулируется для того, чтобы значение технологического параметра поддерживалось на уровне уставки. Например, для поддержания температуры воды в емкости (технологический параметр) на уровне значения уставки 100 градусов, регулируют уровень подачи газа (управляемый параметр) из баллона на газовый нагреватель.Manipulated Variable (MV) - a parameter that is adjusted to maintain the value of a process parameter at the setpoint level. For example, to maintain the water temperature in a tank (process parameter) at the setpoint level of 100 degrees, the level of gas supply (manipulated parameter) from the cylinder to the gas heater is adjusted.
Параметр КФС (англ. CPS variable, tag) - параметр, характеризующий работу КФС, включающий один из следующих: технологический параметр, уставка, управляемый параметр, который относится к КФС, а также производные параметры, вычисляемые на основе перечисленных выше параметров. Например, для физического или химического процесса, параметром КФС является технологический параметр КФС. Причем указанные процессы являются непрерывными. Поэтому параметр КФС является также непрерывным и в каждый момент времени принимает определенное значение, независимо от того, было ли проведено измерение значения указанного параметра КФС или нет в какой-либо момент времени.CPS variable, tag - a parameter characterizing the operation of the CPS, including one of the following: a process parameter, a setpoint, a controlled parameter that relates to the CPS, as well as derived parameters calculated on the basis of the parameters listed above. For example, for a physical or chemical process, the CPS parameter is the process parameter of the CPS. Moreover, these processes are continuous. Therefore, the CPS parameter is also continuous and at each moment in time takes a certain value, regardless of whether the value of the specified CPS parameter was measured or not at any moment in time.
Параметры КФС могут быть разделены на два типа - натуральные параметры и производные параметры. Значения параметра КФС могут поступать от объекта, где они были измерены (такой параметр КФС называют также натуральным параметром КФС, англ. original tag), либо быть вычислены получателем данных на основании значений одного или нескольких натуральных параметров КФС (такой параметр КФС называют производным параметром КФС, при этом параметры КФС, на основании которых вычисляется производный параметр КФС называют исходными параметрами КФС для указанного производного параметра КФС). Производный параметр КФС также может быть вычислен на основании других производных параметров КФС или на основании как натуральных, так и производных параметров КФС. Заявленное изобретение одинаково корректно работает с любыми параметрами КФС - как с натуральными, так и с производными. Поэтому далее в описании вариантов реализации будут иметься в виду все виды параметров КФС. Однако в отдельных частных вариантах реализации, где это важно для работы изобретения, параметры КФС будут разделяться на натуральные и производные.The parameters of the CFS can be divided into two types - natural parameters and derived parameters. The values of the CFS parameter can come from the object where they were measured (such a parameter of the CFS is also called a natural parameter of the CFS, or original tag), or be calculated by the data recipient based on the values of one or more natural parameters of the CFS (such a parameter of the CFS is called a derived parameter of the CFS, while the parameters of the CFS, based on which the derived parameter of the CFS is calculated, are called the original parameters of the CFS for the specified derived parameter of the CFS). A derived parameter of the CFS can also be calculated based on other derived parameters of the CFS or based on both natural and derived parameters of the CFS. The claimed invention works equally correctly with any parameters of the CFS - both natural and derived. Therefore, all types of CFS parameters will be meant in the description of the implementation options. However, in certain particular embodiments, where this is important for the operation of the invention, the parameters of the FSC will be divided into natural and derivative.
Примеры натуральных параметров КФС: T1 (температура одного датчика), T2 (температура другого датчика), P (давление), V (объем), U (электрическое напряжение), I (сила тока).Examples of natural parameters of the FSC: T1 (temperature of one sensor), T2 (temperature of another sensor), P (pressure), V (volume), U (electrical voltage), I (current).
Примеры производных параметров КФС: T3 = T1/100 (температура T1 в процентах от 100 градусов); W = U⋅I (электрическая мощность); T3 равно скользящему среднему от T1; T4 = T1-T2 (разностный показатель); P1 = 1 если значения P поступают и выполняется условие P>10, а в ином случае P1 = 0.Examples of derived parameters of the FSC: T3 = T1 /100 (temperature T1 as a percentage of 100 degrees); W = U ⋅ I (electric power); T3 is equal to the moving average of T1 ; T4 = T1-T2 (difference indicator); P1 = 1 if the values of P are received and the condition P>10 is met, and otherwise P1 = 0 .
Телеметрия - совокупность параметров КФС. Данные телеметрии - совокупность значений параметров КФС.Telemetry is a set of parameters of the FSC. Telemetry data is a set of values of the FSC parameters.
Время данных (англ. data time, event time, также время событий) - момент времени, в который было измерено или иным образом сформировано значение параметра КФС по часам источника данных (объекта мониторинга). Время данных однозначно определяет узел РИВС, к которому относится соответствующее наблюдение параметра КФС, в соответствии с ячейкой узла РИВС, к которой относится указанное время данных.Data time (or event time) is the moment in time at which the value of the CFS parameter was measured or otherwise generated according to the clock of the data source (monitoring object). The data time uniquely determines the RIVS node to which the corresponding observation of the CFS parameter belongs, in accordance with the RIVS node cell to which the specified data time belongs.
Время процессинга (англ. processing time, system time, также системное время, время обработки) - время, измеренное по часам получателя данных - например, по системным часам компьютера, на котором работает потоковый процессор.Processing time (also system time, processing time) is the time measured by the clock of the data recipient - for example, by the system clock of the computer on which the stream processor is running.
Наблюдение, наблюдение параметра КФС - набор из трех значений, в состав которого входят: идентификатор параметра КФС (название, порядковые номер или иное указание на конкретный параметр КФС); значение параметра КФС, измеренное или иным образом сформированное в определенный момент времени (время данных); само значение момента времени (время данных) по часам источника данных параметра КФС. В контексте обработки потока данных может различаться наблюдение как таковое (англ. data point) и наблюдение, полученное получателем данных (англ. observation). В последнем случае в состав атрибутов наблюдения добавляется время прибытия наблюдения по часам получателя данных (время процессинга).Observation, observation of a CFS parameter - a set of three values, which includes: the identifier of the CFS parameter (name, serial number or other indication of a specific CFS parameter); the value of the CFS parameter, measured or otherwise formed at a certain point in time (data time); the value of the point in time (data time) itself according to the clock of the CFS parameter data source. In the context of data flow processing, a distinction can be made between observation as such (data point) and observation received by the data receiver (observation). In the latter case, the observation arrival time according to the clock of the data receiver (processing time) is added to the observation attributes.
Поток параметра КФС - последовательность наблюдений параметра КФС, воспринимаемая во времени процессинга.The flow of the KFS parameter is a sequence of observations of the KFS parameter, perceived in the processing time.
Поток телеметрии, поток наблюдений параметров КФС, поток значений параметров КФС, входной поток (далее - поток) - последовательность наблюдений параметров КФС (также - входных параметров КФС) из заданного набора входных параметров КФС.Telemetry flow, flow of observations of the parameters of the CFS, flow of values of the parameters of the CFS, input flow (hereinafter referred to as flow) - a sequence of observations of the parameters of the CFS (also - input parameters of the CFS) from a given set of input parameters of the CFS.
Поток выходной телеметрии, поток наблюдений выходных параметров КФС, поток значений выходных параметров КФС, выходной поток - последовательность наблюдений выходных параметров КФС из заданного набора выходных параметров КФС - то есть последовательность значений выходных параметров КФС в узлах РИВС.Output telemetry flow, flow of observations of the output parameters of the CFS, flow of values of the output parameters of the CFS, output flow - a sequence of observations of the output parameters of the CFS from a given set of output parameters of the CFS - that is, a sequence of values of the output parameters of the CFS in the nodes of the RIVS.
Потоковый процессор (англ. stream processor, SP) - аппаратно-программный модуль (сервис), выполняющий в почти реальном времени приведение произвольно распределенного во времени (англ. arbitrarily distributed in time) потока наблюдений параметров КФС в поток наблюдений этих же или производных от них параметров КФС (выходных параметров КФС), приведенных к РИВС - то есть выполняющий приведение (англ. fit) произвольно распределенного потока наблюдений параметров КФС к РИВС. «В почти реальном времени» означает, что задержка преобразования потока на выходе потокового процессора относительно входного потока воспринимается пользователем как незначительная или вообще не заметна.Stream processor (SP) is a hardware and software module (service) that performs in near real time the conversion of an arbitrarily distributed in time flow of observations of the parameters of the CFS into a flow of observations of the same or derived parameters of the CFS (output parameters of the CFS) converted to the RIVS - that is, it performs the conversion (fit) of an arbitrarily distributed flow of observations of the parameters of the CFS to the RIVS. "In near real time" means that the delay in converting the flow at the output of the stream processor relative to the input flow is perceived by the user as insignificant or not noticeable at all.
Система управления трактом данных (СУТД) - часть системы анализа потока данных КФС, отвечающая за передачу наблюдений и сопутствующих данных между различными модулями (сервисами) системы, выполняющими их прием, обработку или хранение. СУТД - это внешняя по отношению к потоковому процессору система, которая вызывает потоковый процессор и принимает результаты его работы.The data path management system (DPS) is a part of the CFS data flow analysis system responsible for transmitting observations and accompanying data between various modules (services) of the system that receive, process, or store them. DPS is a system external to the flow processor that calls the flow processor and accepts the results of its work.
Агрегация - процедура определения значения параметра КФС в узле РИВС на основе одного или нескольких наблюдений данного параметра КФС, отнесенных к ячейке данного узла РИВС. Примеры агрегации: взятие значения самого позднего наблюдения (по времени данных); вычисление среднего значения наблюдений. Для производного параметра КФС, зависящего от одного или нескольких других параметров КФС (исходных параметров КФС), в одном примере реализации агрегация может быть осуществлена путем определения значения производного параметра КФС в узле РИВС на основе одного или нескольких наблюдений, указанных исходных параметров КФС, отнесенных к ячейке данного узла РИВС. В другом примере реализации вначале определяют значения указанного одного или нескольких выходных параметров КФС, в т.ч. с использованием агрегации, после чего определяют значение производного параметра КФС в соответствии с зависимостью от указанных одного или нескольких исходных параметров КФС.Aggregation is a procedure for determining the value of a CFS parameter in a RIVS node based on one or more observations of this CFS parameter assigned to a cell of this RIVS node. Examples of aggregation: taking the value of the latest observation (by data time); calculating the average value of observations. For a derived CFS parameter that depends on one or more other CFS parameters (initial CFS parameters), in one example of implementation, aggregation can be performed by determining the value of the derived CFS parameter in a RIVS node based on one or more observations, the specified initial CFS parameters assigned to a cell of this RIVS node. In another example of implementation, the values of the specified one or more output parameters of the CFS are first determined, including using aggregation, after which the value of the derived CFS parameter is determined in accordance with the dependence on the specified one or more initial CFS parameters.
Пустой узел РИВС - узел, в ячейку которого не поступило ни одного наблюдения конкретного параметра КФС или вообще ни одного наблюдения.An empty RIVS node is a node in whose cell not a single observation of a specific parameter of the CFS or not a single observation at all has been received.
Импутация - процедура определения значения параметра КФС для пустого узла РИВС на основе значений данного параметра КФС, сформированных для более ранних узлов РИВС. Пример импутации: повторение значения параметра КФС из предыдущего узла. В контексте предметной области данного документа импутация является частным случаем интерполяции: обе процедуры предназначены для восстановления отсутствующего значения, однако импутация может использовать только известные значения из прошлого, а интерполяция - как из прошлого, так и из будущего. Соответственно, импутация может быть применена при обработке потока, а интерполяция в общем виде - нет. Для производного параметра КФС, зависящего от одного или нескольких других параметров КФС (исходных параметров КФС), в одном примере реализации импутация может быть осуществлена для пустого узла РИВС на основе значений данного производного параметра КФС, сформированных для более ранних узлов РИВС. В другом примере реализации для производного параметра КФС импутация может быть осуществлена для пустого узла РИВС на основе значений, указанных для одного или нескольких исходных параметров КФС, сформированных для более ранних узлов РИВС. В еще одном примере реализации для производного параметра КФС импутация может быть осуществлена для пустого узла РИВС на основе как значений указанных одного или нескольких исходных параметров КФС, отнесенных к более ранним узлам РИВС, так и значений данного производного параметра КФС, сформированных для более ранних узлов РИВС.Imputation is a procedure for determining the value of a CFS parameter for an empty RIVS node based on the values of this CFS parameter generated for earlier RIVS nodes. An example of imputation: repeating the value of a CFS parameter from the previous node. In the context of the subject area of this document, imputation is a special case of interpolation: both procedures are intended to restore a missing value, but imputation can only use known values from the past, while interpolation can use values from both the past and the future. Accordingly, imputation can be applied during stream processing, while interpolation in general cannot. For a derived CFS parameter that depends on one or more other CFS parameters (initial CFS parameters), in one example of implementation, imputation can be performed for an empty RIVS node based on the values of this derived CFS parameter generated for earlier RIVS nodes. In another example of implementation, for a derived parameter of the CFS, imputation can be performed for an empty RIVS node based on the values specified for one or more initial parameters of the CFS generated for earlier RIVS nodes. In yet another example of implementation, for a derived parameter of the CFS, imputation can be performed for an empty RIVS node based on both the values of the specified one or more initial parameters of the CFS assigned to earlier RIVS nodes and the values of this derived parameter of the CFS generated for earlier RIVS nodes.
Компьютерная атака (также кибератака, от англ. cyber attack) - целенаправленное воздействие на информационные системы и информационно-телекоммуникационные сети программно-техническими средствами, осуществляемое в целях нарушения безопасности информации в этих системах и сетях.A computer attack (also cyber attack, from the English cyber attack) is a targeted impact on information systems and information and telecommunication networks using software and hardware, carried out with the aim of violating the security of information in these systems and networks.
Аномалия в КФС или ИС, аномалия - отклонение от технологического процесса в КФС или ИС. Аномалия может возникнуть, например, из-за компьютерной атаки, из-за некорректного или нелегитимного вмешательства человека в работу ТС или ТП, из-за сбоя или отклонения технологического процесса, в том числе связанного с периодами смены его режимов, из-за перевода контуров управления в ручной режим или из-за некорректных показаний датчиков, а также по другим причинам, известным из уровня техники. Аномалия может характеризоваться отклонением параметров КФС.Anomaly in the CFS or IS, anomaly - deviation from the technological process in the CFS or IS. An anomaly may arise, for example, due to a computer attack, due to incorrect or illegitimate human intervention in the operation of the TS or TP, due to a failure or deviation of the technological process, including those associated with periods of change of its modes, due to the transfer of control circuits to manual mode or due to incorrect sensor readings, as well as for other reasons known from the state of the art. An anomaly may be characterized by a deviation of the CFS parameters.
Область аномалии, область локализации аномалии - диапазон времени наблюдения аномалии (временная область) и/или место возникновения аномалии - то есть указание на элемент или часть КФС, где возникла аномалия (пространственная область), например, указание на датчик или его координаты, в котором возникла аномалия. Для каждой аномалии определена область локализации аномалии - временная и/или пространственная. Для определения пространственных областей КФС может быть разделена на различные части в соответствии с принадлежностью к разным ТП или его частям, в соответствии с принадлежностью к разным физическим или логическим областям КФС и согласно другим критериям, в том числе задаваемым оператором КФС.Anomaly area, anomaly localization area - the time range of anomaly observation (time area) and/or the location of anomaly occurrence - i.e. an indication of the element or part of the CFS where the anomaly occurred (spatial area), for example, an indication of the sensor or its coordinates where the anomaly occurred. For each anomaly, an anomaly localization area is defined - temporal and/or spatial. To determine spatial areas, the CFS can be divided into different parts in accordance with belonging to different TP or its parts, in accordance with belonging to different physical or logical areas of the CFS and according to other criteria, including those specified by the CFS operator.
На Фиг. 1 представлен пример киберфизической системы 100 и ее взаимодействий с потоковым процессором 400. КФС 100 представлена в упрощенном варианте. Примерами КФС 100 являются технологическая система (ТС), интернет вещей, промышленный интернет вещей, ИС, ТП. Для определенности далее в описании в качестве основного примера КФС 100 будет рассматриваться ТС. КФС 100 содержит множество датчиков, исполнительных механизмов, ПИД-регуляторов (программируемый логический контроллер), данные которых в необработанном виде передают на ПЛК (программируемый логический контроллер, англ. programmable logic controller, PLC). При этом может использоваться аналоговый сигнал для передачи данных. Затем ПЛК выполняет обработку данных и преобразование данных в цифровой вид - в наблюдения параметров КФС (то есть в поток телеметрии КФС 100), а также в события (например, включение того или иного датчика, срабатывание сигналов тревоги датчиков, отдельные команды и другие). Наблюдения параметров КФС затем передают, например, системе SCADA 101 (англ. supervisory control and data acquisition - диспетчерское управление и сбор данных) и системе анализа потока данных КФС 102 (например, системе типа Kaspersky MLAD (англ. machine learning anomaly detection) или любой другой системе для анализа потока данных КФС), которая включает систему управления трактом данных (СУТД) 110. Fig. 1 shows an example of a cyber-physical system 100 and its interactions with a stream processor 400. The CPS 100 is presented in a simplified version. Examples of CPS 100 are a technological system (TS), the Internet of Things, the Industrial Internet of Things, IS, TP. For the sake of certainty, the TS will be considered as the main example of a CPS 100 in the description below. The CPS 100 contains a plurality of sensors, actuators, PID controllers (programmable logic controller), the data of which is transmitted in unprocessed form to a PLC (programmable logic controller, PLC). In this case, an analog signal can be used to transmit data. Then the PLC processes the data and converts the data into digital form - into observations of the CPS parameters (i.e., into the CPS 100 telemetry stream), as well as into events (for example, turning on a particular sensor, triggering sensor alarms, individual commands, etc.). The observations of the parameters of the CFS are then transmitted, for example, to the SCADA system 101 (supervisory control and data acquisition) and the CFS data flow analysis system 102 (for example, a system like Kaspersky MLAD (machine learning anomaly detection) or any other system for analyzing the CFS data flow), which includes the data path management system (DPS) 110 .
СУТД 110 - система, отвечающая за передачу наблюдений параметров КФС и сопутствующих данных между различными другими модулями (сервисами), выполняющими их прием, обработку или хранение, в частности потоковым процессором 400, детекторами аномалий 200, предиктивными анализаторами 300. СУТД 110 - это внешняя по отношению к потоковому процессору 400 система, которая вызывает (инициирует начало или возобновление работы путем передачи данных, необходимых для указанного начала или возобновления работы) потоковый процессор 400 и принимает результаты его работы, которые затем могут быть переданы детекторам аномалий 200 (также модули выявления аномалий, далее - детекторы), а также предиктивным анализаторам 300. Примеры детекторов 200, в частности средств 201-205, представлены на Фиг. 2, а примеры предиктивных анализаторов 300 представлены на Фиг. 3. Описание вариантов реализации детекторов 200 и предиктивных анализаторов 300 представлено ниже.The SUTD 110 is a system responsible for transmitting observations of the parameters of the CFS and associated data between various other modules (services) that receive, process, or store them, in particular the stream processor 400 , anomaly detectors 200 , and predictive analyzers 300. The SUTD 110 is a system external to the stream processor 400 that calls (initiates the start or resumption of operation by transmitting data necessary for said start or resumption of operation) the stream processor 400 and receives the results of its operation, which can then be transmitted to the anomaly detectors 200 (also anomaly detection modules, hereinafter referred to as detectors), as well as to the predictive analyzers 300. Examples of detectors 200 , in particular means 201-205 , are shown in Fig. 2 , and examples of predictive analyzers 300 are shown in Fig. 3 . A description of the implementation options for detectors 200 and predictive analyzers 300 is presented below.
Описание детекторов аномалий 200, Фиг. 2Description of anomaly detectors 200, Fig. 2
Детекторы 200 служат для выявления аномалий в КФС 100 в приведенных к РИВС значениях выходных параметров КФС, а также для определения сопутствующей информации о выявленных аномалиях. В частном варианте реализации информация об аномалиях в КФС 100 включает такие сведения об аномалии, как область локализации аномалии, значения выходных параметров КФС в каждый момент диапазона времени наблюдения аномалии, вклад каждого выходного параметра КФС в аномалию, информацию о способе выявления указанной аномалии (то есть о детекторе 200, выявившем аномалию). В еще одном частном варианте реализации информация об аномалиях в КФС 100 дополнительно включает для каждого выходного параметра КФС по меньшей мере одно из: временной ряд значений, текущую величину отклонения спрогнозированного значения от фактического значения, сглаженную величину отклонения спрогнозированного значения от фактического значения. В другом частном случае информация об аномалиях в КФС 100 дополнительно включает информацию о максимальных, минимальных и средних значениях выходных параметров КФС, взятых в области локализации аномалии, других статистических и детерминированных характеристиках, включая выборочные дисперсии и квантили, спектр Фурье и вейвлет (англ. wavelet) преобразований, сверточные операторы от выходных параметров КФС.Detectors 200 serve to detect anomalies in the CFS 100 in the values of the CFS output parameters reduced to the RIVS, as well as to determine accompanying information about the detected anomalies. In a particular embodiment, the information about the anomalies in the CFS 100 includes such information about the anomaly as the anomaly localization area, the values of the CFS output parameters at each moment of the anomaly observation time range, the contribution of each CFS output parameter to the anomaly, information about the method for detecting the said anomaly (i.e., about the detector 200 that detected the anomaly). In yet another particular embodiment, the information about the anomalies in the CFS 100 additionally includes for each CFS output parameter at least one of: a time series of values, a current value of the deviation of the predicted value from the actual value, a smoothed value of the deviation of the predicted value from the actual value. In another particular case, information about anomalies in the CFS 100 additionally includes information about the maximum, minimum and average values of the CFS output parameters taken in the area of the anomaly localization, other statistical and deterministic characteristics, including sample variances and quantiles, the Fourier spectrum and wavelet transforms, and convolution operators from the CFS output parameters.
В качестве детекторов 200 могут быть использованы система и способ определения аномалии 201 в КФС 100, описанные ранее в патентах RU2724716, RU2724075, RU2749252, которые осуществляют определение аномалии путем прогнозирования значений подмножества выходных параметров КФС (в упомянутых патентах использовался термин «признаки КФС», соответствующий термину «параметры КФС» в заявленном изобретении) и последующего определения общей ошибки прогноза для подмножества выходных параметров КФС, при этом определяют аномалию в КФС 100 в случае превышения общей ошибкой прогноза порогового значения, кроме того, определяют вклад подмножества выходных параметров КФС в общую ошибку прогноза как вклад ошибки прогноза соответствующего выходного параметра КФС в общую ошибку прогноза.The detectors 200 can be a system and method for determining anomaly 201 in the CFS 100 , previously described in patents RU2724716, RU2724075, RU2749252, which determine anomalies by predicting the values of a subset of the CFS output parameters (the term “CFS features” was used in the mentioned patents, corresponding to the term “CFS parameters” in the claimed invention) and then determining the total forecast error for the subset of the CFS output parameters, wherein the anomaly in the CFS 100 is determined in the event that the total forecast error exceeds the threshold value, and in addition, the contribution of the subset of the CFS output parameters to the total forecast error is determined as the contribution of the forecast error of the corresponding CFS output parameter to the total forecast error.
Детекторы 200 могут включать модуль базовой модели 202, предназначенный для применения обученной модели машинного обучения для выявления аномалий по значениям подмножества выходных параметров КФС (далее - базовая модель). При этом базовая модель может быть обучена на данных обучающей выборки, включающей известные аномалии в КФС 100 или не включающей известные аномалии, но включающей известное поведение при нормальной работе КФС 100, а также значения подмножества выходных параметров КФС за определенный период времени - то есть используется модель машинного обучения с учителем. Кроме того, в качестве базовой модели может быть использована модель машинного обучения без учителя. Для повышения качества базовой модели могут выполнять тестирование и валидацию обученной базовой модели на тестовой и валидационной выборках соответственно. При этом тестовая и валидационная выборки могут включать известные аномалии и значения подмножества выходных параметров КФС за определенный период времени, предшествующий известной аномалии в КФС 100, но указанные тестовая и валидационная выборки отличаются от обучающей выборки.The detectors 200 may include a base model module 202 designed to apply a trained machine learning model to detect anomalies based on the values of a subset of the output parameters of the CPS (hereinafter referred to as the base model). In this case, the base model may be trained on the data of a training sample, including known anomalies in the CPS 100 or not including known anomalies, but including known behavior during normal operation of the CPS 100 , as well as the values of a subset of the output parameters of the CPS for a certain period of time - that is, a supervised machine learning model is used. In addition, an unsupervised machine learning model may be used as the base model. To improve the quality of the base model, testing and validation of the trained base model may be performed on the test and validation samples, respectively. In this case, the test and validation samples may include known anomalies and values of a subset of the output parameters of the CFS for a certain period of time preceding the known anomaly in the CFS 100 , but the specified test and validation samples differ from the training sample.
В еще одном варианте реализации детекторы 200 включают модуль определения на основе правил 203, с использованием которого применяют правила определения аномалий. Такие правила могут быть предварительно сформированы и получены от оператора КФС посредством интерфейса обратной связи и содержат условия, применяемые к значениям подмножества выходных параметров КФС, при выполнении которых определяют аномалию.In another embodiment, the detectors 200 include a rule-based detection module 203 , using which rules for detecting anomalies are applied. Such rules may be pre-formed and received from the CPS operator via a feedback interface and contain conditions applied to the values of a subset of the CPS output parameters, upon fulfillment of which an anomaly is determined.
В еще одном частном варианте реализации детекторы 200 включают модуль определения на основе предельных значений 204, с использованием которого определяют аномалию, когда значение по меньшей мере одного выходного параметра КФС из подмножества параметров выходных КФС вышло за пределы предварительно заданного диапазона значений для указанного выходного параметра КФС. При этом указанные диапазоны значений могут быть рассчитаны из значений характеристик или документации для КФС 100 или получены от оператора КФС посредством интерфейса обратной связи.In another particular embodiment, the detectors 200 include a limit value-based detection module 204 , using which an anomaly is determined when the value of at least one output parameter of the CPS from a subset of parameters of the output CPS has gone beyond a predetermined range of values for the specified output parameter of the CPS. In this case, the specified ranges of values can be calculated from the values of characteristics or documentation for the CPS 100 or received from the CPS operator via a feedback interface.
В еще одном частном варианте реализации детекторы 200 включают модуль диагностических правил 205, с использованием которого формируют диагностические правила путем задания перечня выходных параметров КФС, используемых в указанном диагностическом правиле, и способа вычисления значений вспомогательного (индикаторного) параметра КФС с последующим вычислением значений вспомогательных параметров КФС с использованием заданного перечня выходных параметров КФС и в соответствии со сформированным диагностическим правилом. В итоге модуль диагностических правил 205 определяет аномалию в КФС 100 на основании значений всех выходных параметров КФС. Пример модуля диагностических правил 205 описан в патенте RU2790331.In another particular embodiment, the detectors 200 include a diagnostic rules module 205 , using which diagnostic rules are formed by specifying a list of output parameters of the CFS used in the specified diagnostic rule, and a method for calculating the values of the auxiliary (indicator) parameter of the CFS with subsequent calculation of the values of the auxiliary parameters of the CFS using the specified list of output parameters of the CFS and in accordance with the formed diagnostic rule. As a result, the diagnostic rules module 205 determines an anomaly in the CFS 100 based on the values of all output parameters of the CFS. An example of a diagnostic rules module 205 is described in patent RU2790331.
В еще одном частном варианте реализации детекторы 200 включают систему графического интерфейса для определения аномалии оператором КФС вручную (см. патент RU2724716), информация о которой может быть передана через интерфейс обратной связи.In another particular embodiment, detectors 200 include a graphical interface system for manually determining an anomaly by the FSC operator (see patent RU2724716), information about which can be transmitted via a feedback interface.
Предиктивные анализаторы 300, Фиг. 3Predictive analyzers 300, Fig. 3
Предиктивные анализаторы 300 служат для предиктивного анализа в приведенных к РИВС значениях выходных параметров КФС, то есть для формирования суждения о наиболее вероятном поведении КФС 100 в будущем на основе наблюдений параметров КФС (то есть входных параметров КФС, связанных с упомянутыми выходными параметрами КФС) в настоящем и прошлом.Predictive analyzers 300 serve for predictive analysis of the output parameters of the CFS reduced to the RIVS, that is, for forming a judgment about the most probable behavior of the CFS 100 in the future based on observations of the parameters of the CFS (that is, the input parameters of the CFS associated with the mentioned output parameters of the CFS) in the present and the past.
В контексте описания предиктивных анализаторов 300 «будущим», применительно к каждому конкретному параметру КФС, считаются все и любой из моментов времени данных, следующих за наиболее поздним моментом T времени данных, для которого значение параметра КФС известно из наблюдения к моменту формирования результата работы предиктивного анализатора 300. Момент времени данных Т при этом считается «настоящим».In the context of the description of predictive analyzers 300, the “future”, as applied to each specific parameter of the CFS, is considered to be all and any of the data time points following the latest data time point T for which the CFS parameter value is known from observation at the time of formation of the result of the work of the predictive analyzer 300. The data time point T is considered to be “present”.
В контексте применения предиктивных анализаторов 300 с потоковым процессором 400 понятие «будущее» уточняется как все и любой из узлов РИВС, следующих за последним выгруженным узлом РИВС, т.е. за последним узлом РИВС, для которого вычислены значения выходных параметров КФС из набора выходных параметров КФС. Этот последний узел РИВС при этом считается «настоящим» (моментом времени).In the context of using predictive analyzers 300 with a stream processor 400 , the concept of "future" is specified as all and any of the RIVS nodes following the last unloaded RIVS node, i.e., the last RIVS node for which the values of the output parameters of the CFS from the set of output parameters of the CFS are calculated. This last RIVS node is considered "present" (moment in time).
Выгрузка по меньшей мере одного узла РИВС осуществляется накопителем 420 и включает считывание данных (например, в оперативную память 25) выбранного по меньшей мере одного узла РИВС и в случае наличия выбранных наблюдений параметров КФС для использования их, в частности вычислителем 430.The unloading of at least one RIVS node is carried out by the accumulator 420 and includes reading the data (for example, into the RAM 25 ) of the selected at least one RIVS node and, in the case of the presence of selected observations of the parameters of the CFS, for their use, in particular, by the calculator 430 .
В частном варианте реализации результат работы предиктивного анализатора 200 включает предсказание вероятных значений одного или нескольких выходных параметров КФС в одном или нескольких моментах времени данных в будущем (предиктивный анализатор 300-1).In a particular embodiment, the result of the operation of the predictive analyzer 200 includes a prediction of probable values of one or more output parameters of the CFS at one or more points in time of the data in the future (predictive analyzer 300-1 ).
В другом частном варианте реализации результат работы предиктивного анализатора 300 включает интервал времени данных в будущем, внутри которого значение выходного параметра КФС с заданной вероятностью достигнет заданного уровня (предиктивный анализатор 300-2). Этот вариант реализации называется «оценка времени до события» (англ. time to event estimation).In another particular embodiment, the result of the work of the predictive analyzer 300 includes a time interval of data in the future, within which the value of the output parameter of the CFS with a given probability will reach a given level (predictive analyzer 300-2 ). This embodiment is called "time to event estimation".
В еще одном частном варианте реализации результат работы предиктивного анализатора 300 включает предсказание вероятных значений одного или нескольких выходных параметров КФС в настоящем или в одном или нескольких моментах времени данных в будущем, когда вышеупомянутые выходные параметры КФС не наблюдаются (то есть наблюдения входных параметров КФС, связанных с указанными выходными параметрами КФС, не были сформированы источником или не были получены получателем) как минимум в настоящем и в ближайшем прошлом (заданный интервал времени назад относительно текущего момента времени), хотя, возможно, были наблюдаемы в некоторые отдаленные моменты в прошлом (более заданного интервала времени назад относительно текущего момента времени). Этот вариант реализации осуществляется предиктивным анализатором 300-3 и называется «виртуальным сенсором» (англ. virtual sensor или soft sensor).In yet another particular embodiment, the result of the predictive analyzer 300 operation includes predicting probable values of one or more output parameters of the CPS in the present or in one or more data points in the future, when the above-mentioned output parameters of the CPS are not observed (i.e., observations of the input parameters of the CPS associated with the said output parameters of the CPS were not generated by the source or were not received by the recipient) at least in the present and in the near past (a specified time interval back relative to the current time), although they may have been observed at some remote moments in the past (more than a specified time interval back relative to the current time). This embodiment is carried out by the predictive analyzer 300-3 and is called a "virtual sensor" (English: virtual sensor or soft sensor).
На Фиг. 4 представлена архитектура потокового процессора 400. Потоковый процессор 400 может включать калибратор 410, накопитель 420 и вычислитель 430. Потоковый процессор 400 и его составные элементы могут быть реализованы на компьютере 20, пример которого представлен на Фиг. 14. Fig. 4 shows the architecture of the stream processor 400. The stream processor 400 may include a calibrator 410 , a drive 420 and a calculator 430. The stream processor 400 and its constituent elements may be implemented on a computer 20 , an example of which is shown in Fig. 14 .
Потоковый процессор 400 получает на вход наблюдения параметров КФС (из набора входных параметров КФС) из потока наблюдений параметров КФС. Результат работы потокового процессора 400 содержит значения выходных параметров КФС (из набора выходных параметров КФС) в узлах РИВС. Набор входных параметров КФС и набор выходных параметров КФС могут быть заданы заранее, например, оператором КФС 100, СУТД 110, потоковым процессором 400. В одном примере реализации может быть вначале задан набор выходных параметров КФС, после чего будет определен набор входных параметров КФС, связанных с указанными выходными параметрами КФС.The stream processor 400 receives observations of the parameters of the CFS (from the set of input parameters of the CFS) from the flow of observations of the parameters of the CFS as input. The result of the work of the stream processor 400 contains the values of the output parameters of the CFS (from the set of output parameters of the CFS) in the nodes of the RIVS. The set of input parameters of the CFS and the set of output parameters of the CFS can be specified in advance, for example, by the operator of the CFS 100 , the SUTD 110 , the stream processor 400 . In one example of implementation, the set of output parameters of the CFS can be specified first, after which the set of input parameters of the CFS associated with the specified output parameters of the CFS will be determined.
Каждый выходной параметр КФС связан (зависит) с по меньшей мере одним из входных параметров КФС, в частности совпадает с одним из входных параметров КФС (например, для натуральных параметров КФС, но также справедливо, если входной параметр является производным параметром КФС от других натуральных параметров КФС) или является производным от по меньшей мере одного из входных параметров КФС. То есть выходные параметры КФС могут являться как натуральными, так и производными параметрами КФС.Each output parameter of the CFS is associated with (depends on) at least one of the input parameters of the CFS, in particular, it coincides with one of the input parameters of the CFS (for example, for natural parameters of the CFS, but it is also true if the input parameter is a derivative parameter of the CFS from other natural parameters of the CFS) or is a derivative of at least one of the input parameters of the CFS. That is, the output parameters of the CFS can be both natural and derivative parameters of the CFS.
Таким образом потоковый процессор 400 выполняет приведение произвольно распределенного во времени потока наблюдений параметров КФС в поток наблюдений этих же или производных от них параметров КФС (выходных параметров КФС), приведенных к РИВС.In this way, the stream processor 400 converts a randomly distributed in time flow of observations of the parameters of the CFS into a flow of observations of the same parameters of the CFS or their derivatives (output parameters of the CFS), converted to the RIVS.
В одном частном варианте реализации выходные параметры КФС соответствуют параметрам КФС (из набора входных параметров КФС). В этом случае также набор выходных параметров КФС совпадает с набором входных параметров КФС.In one particular implementation variant, the output parameters of the CFS correspond to the parameters of the CFS (from the set of input parameters of the CFS). In this case, the set of output parameters of the CFS also coincides with the set of input parameters of the CFS.
В другом частном варианте реализации набор выходных параметров КФС содержит по меньшей мере один параметр КФС из набора входных параметров КФС, а также по меньшей мере один производных параметр КФС, зависящий от по меньшей мере одного входного параметра КФС.In another particular embodiment, the set of output parameters of the CFS contains at least one parameter of the CFS from the set of input parameters of the CFS, as well as at least one derived parameter of the CFS, depending on at least one input parameter of the CFS.
В еще одном частном варианте реализации набор выходных параметров КФС содержит только производные параметры КФС от по меньшей мере одного входного параметра КФС.In another particular embodiment, the set of output parameters of the CFS contains only the derivative parameters of the CFS from at least one input parameter of the CFS.
Например, если в наборе входных параметров КФС, являющихся натуральными параметрами КФС, присутствуют длина, высота и ширина некоторого предмета формы параллелепипеда, то среди выходных параметров КФС могут присутствовать длина, высота и ширина этого же предмета, но также может присутствовать производный параметр КФС, характеризующий объем этого предмета, равный произведению длины, высоты и ширины. В другом примере, если в наборе входных параметров КФС присутствует натуральный параметр КФС - температура воздуха, то среди выходных параметров КФС будет присутствовать температура воздуха, но также может присутствовать производный параметр КФС, равный скользящему среднему от температуры воздуха, вычисленному за последние 10 дней. В третьем примере, если в наборе входных параметров КФС присутствует температура воздуха и температура поверхности объекта, среди выходных параметров КФС температура воздуха (натуральный параметр) будет отсутствовать, а температура поверхности объекта будет присутствовать, но также будет присутствовать скользящее среднее от температуры воздуха (производный параметр от температуры воздуха). В четвертом примере, если в наборе входных параметров КФС присутствует температура воздуха и температура поверхности объекта, то среди выходных параметров КФС могут отсутствовать как температура воздуха, так и температура поверхности объекта, но будут присутствовать скользящее среднее значения температуры воздуха, вычисленное за последние 10 дней, а также скользящее среднее от температуры поверхности объекта, вычисленное за последние 10 дней.For example, if the set of input parameters of the CFS, which are natural parameters of the CFS, include the length, height and width of some parallelepiped-shaped object, then the output parameters of the CFS may include the length, height and width of the same object, but there may also be a derived parameter of the CFS characterizing the volume of this object, equal to the product of the length, height and width. In another example, if the set of input parameters of the CFS includes the natural parameter of the CFS - air temperature, then the output parameters of the CFS will include the air temperature, but there may also be a derived parameter of the CFS equal to the moving average of the air temperature calculated over the last 10 days. In the third example, if the set of input parameters of the CFS includes the air temperature and the surface temperature of the object, the output parameters of the CFS will not include the air temperature (natural parameter), but the surface temperature of the object will be present, but there will also be a moving average of the air temperature (derived parameter of the air temperature). In the fourth example, if the set of input parameters of the CFS includes air temperature and object surface temperature, then the output parameters of the CFS may not include either air temperature or object surface temperature, but will include a moving average of the air temperature calculated over the last 10 days, as well as a moving average of the object surface temperature calculated over the last 10 days.
Калибратор 410 предназначен для анализа заданного объема данных в потоке наблюдений параметров КФС (входных параметров КФС) из набора входных параметров КФС с целью определения или переопределения свойств потока 411 (то есть - калибровки и перекалибровки накопителя 420, подробнее свойства потока 411 будут раскрыты на Фиг. 5). Свойства потока 411 также могут быть заданы значениями по умолчанию. Свойства потока 411 используются накопителем 420 в штатном режиме работы потокового процессора 400. Накопитель 420 предназначен для накопления полученных из потока наблюдений параметров КФС, отнесения их к соответствующим узлам РИВС. Кроме того, накопитель 420 также предназначен для выгрузки узлов РИВС, соответствующих критерию выгрузки, вместе с отнесенными к ним наблюдениями параметров КФС для их последующей передачи вычислителю 430. Выгрузка узлов РИВС происходит относительно головного узла РИВС.Calibrator 410 is intended for analyzing a given volume of data in the flow of observations of the parameters of the CFS (input parameters of the CFS) from the set of input parameters of the CFS in order to determine or redefine the properties of flow 411 (i.e., calibration and recalibration of accumulator 420 , the properties of flow 411 will be disclosed in more detail in Fig. 5 ). The properties of flow 411 can also be set to default values. The properties of flow 411 are used by accumulator 420 in the normal operating mode of flow processor 400 . Accumulator 420 is intended for accumulating the parameters of the CFS obtained from the flow of observations, assigning them to the corresponding nodes of the RIVS. In addition, accumulator 420 is also intended for unloading RIVS nodes corresponding to the unloading criterion, together with the observations of the parameters of the CFS assigned to them for their subsequent transmission to computer 430 . Unloading of RIVS nodes occurs relative to the head node of the RIVS.
Головной узел РИВС - это узел РИВС, к которому относится б о льшая часть наблюдений параметров КФС, уже поступивших и еще ожидаемых вокруг текущего момента времени процессинга. Головной узел РИВС характеризует связь между временем данных и временем процессинга. Головной узел РИВС назначают (признают) согласно критериям признания (англ. acknowledge) нового головного узла РИВС, которые будут раскрыты далее.The RIVS head node is the RIVS node to which the majority of the CFS parameter observations, already received and still expected around the current moment of processing time, belong. The RIVS head node characterizes the relationship between the data time and the processing time. The RIVS head node is assigned (recognized) according to the acknowledgement criteria of a new RIVS head node, which will be disclosed below.
Вычислитель 430 предназначен для вычисления значений выходных параметров КФС из набора выходных параметров КФС в узлах РИВС на основании выгруженных накопителем 420 узлов РИВС и наблюдений параметров КФС (при их наличии) в указанных узлах РИВС.The calculator 430 is designed to calculate the values of the output parameters of the CFS from a set of output parameters of the CFS in the RIVS nodes based on the RIVS nodes downloaded from the accumulator 420 and observations of the parameters of the CFS (if any) in the specified RIVS nodes.
Подробное раскрытие реализации потокового процессора 400, а также вариантов его реализации представлены далее на Фиг. 5.A detailed disclosure of the implementation of the stream processor 400 , as well as variants of its implementation, are presented below in Fig. 5 .
На Фиг. 5 представлен пример работы потокового процессора 400, в частности пример способа приведения потока наблюдений параметров КФС, поступающих в реальном времени, к РИВС. Fig. 5 shows an example of the operation of the stream processor 400 , in particular an example of a method for bringing the flow of observations of the parameters of the CFS, received in real time, to the RIVS.
В одном варианте реализации потоковый процессор 400 может быть независимым модулем, самостоятельно определяющим начало своей работы. В другом варианте реализации потоковый процессор 400 может начать работу по вызову от внешней системы, например, от СУТД 110 или от системы анализа потока данных КФС 102. В примере СУТД 110 вызывает потоковый процессор 400, когда происходит одно из следующего:In one embodiment, the stream processor 400 may be an independent module that determines its own start of operation. In another embodiment, the stream processor 400 may start operation upon a call from an external system, such as the TSDS 110 or the data stream analysis system CFS 102 . In an example, the TSDS 110 calls the stream processor 400 when one of the following occurs:
с объекта мониторинга получено новое наблюдение параметра КФС (или сразу несколько новых наблюдений параметров КФС);a new observation of the CFS parameter (or several new observations of the CFS parameters at once) was received from the monitoring object;
наступил момент времени процессинга, ранее предложенный (указанный) самим потоковым процессором 400 для своего вызова.the moment of processing time previously proposed (indicated) by the stream processor 400 itself for its call has arrived.
Относительно последнего случая стоит отметить, что, вообще говоря, СУТД 110 может вызвать потоковый процессор 400 в любой момент времени. Результат работы потокового процессора 400 (т.е. состав значений выходных параметров КФС в узлах РИВС) не зависит то того, как часто и когда именно СУТД 110 будет вызывать потоковый процессор 400. Но для того, чтобы выходной поток генерировался во времени, максимально близком к реальному времени (что определяется, например, отставанием на заданную величину времени генерации выходного потока относительно реального времени), в одном варианте реализации вызовы потокового процессора 400 происходят в предложенные (указанные) им моменты времени процессинга.Regarding the latter case, it is worth noting that, generally speaking, the SUTD 110 can call the stream processor 400 at any time. The result of the operation of the stream processor 400 (i.e., the composition of the values of the output parameters of the CFS in the RIVS nodes) does not depend on how often and when exactly the SUTD 110 will call the stream processor 400. But in order for the output stream to be generated in a time as close as possible to real time (which is determined, for example, by a lag of a given amount in the time of generation of the output stream relative to real time), in one embodiment, the calls of the stream processor 400 occur at the moments of processing time proposed (indicated) by it.
При каждом вызове потокового процессора 400 СУТД 110 передает на вход потоковому процессору 400, в частности, один или несколько из следующих аргументов:At each call of the stream processor 400, the SUTD 110 passes to the input of the stream processor 400 , in particular, one or more of the following arguments:
список поступивших во входном потоке новых наблюдений, то есть новых значений параметров КФС (список может быть пустым, если потоковый процессор 400 вызывается по времени);a list of new observations received in the input stream, i.e. new values of the parameters of the FSC (the list may be empty if the stream processor 400 is called by time);
текущее время процессинга (например, показания системных часов СУТД 110).current processing time (for example, the readings of the system clock SUTD 110 ).
После каждого вызова потоковый процессор 400 может возвращать СУТД 110 по крайней мере один из указанных ниже списков, причем любой из возвращаемых списков может быть пуст:After each call, the stream processor 400 may return to the STS 110 at least one of the following lists, where any of the returned lists may be empty:
выходные наблюдения, то есть значения выходных параметров КФС в узлах РИВС;output observations, that is, the values of the output parameters of the CFS in the RIVS nodes;
предлагаемые моменты последующих вызовов потокового процессора 400 во времени процессинга;proposed moments of subsequent calls of the stream processor 400 in processing time;
список инцидентов, возникших при обработке входного потока (например, «опоздавшее наблюдение», «сбой часов источника», «потеря потока»).a list of incidents that occurred while processing the input stream (e.g. "late observation", "source clock failure", "stream loss").
СУТД 110 может распоряжаться результатами вызова потокового процессора 400 следующим образом:The SUTD 110 may manage the results of calling the stream processor 400 as follows:
значения выходных параметров КФС в узлах РИВС помещаются в тракт данных (выходной поток), откуда они поступают следующему потребителю, например, к детекторам аномалий 200, к предиктивным анализаторам 300 (см. подробнее на Фиг. 6, Фиг. 7);the values of the output parameters of the CFS in the RIVS nodes are placed in the data path (output stream), from where they are sent to the next consumer, for example, to anomaly detectors 200 , to predictive analyzers 300 (see more details in Fig. 6 , Fig. 7 );
инциденты направляются модулю (сервису, на чертеже не указан), предназначенному для работы с инцидентами;incidents are sent to a module (service, not indicated in the drawing) designed to handle incidents;
предлагаемые моменты последующих вызовов используются для установки таймеров для вызова потокового процессора 400 в будущем.The proposed subsequent call times are used to set timers for calling the stream processor 400 in the future.
СУТД 110 вызывает потоковый процессор 400 на этапе 501.The SUTD 110 calls the stream processor 400 at step 501 .
В случае, когда потоковый процессор 400 реализован согласно архитектуре, описанной на Фиг. 4, этапы 520-521 выполняются калибратором 410, этапы 502-507 выполняются накопителем 420, а этап 508 выполняется вычислителем 430.In the case where the stream processor 400 is implemented according to the architecture described in Fig. 4 , steps 520 - 521 are performed by the calibrator 410 , steps 502 - 507 are performed by the accumulator 420 , and step 508 is performed by the calculator 430 .
На этапе 502 проверяют поступление по меньшей мере одного нового наблюдения параметра КФС из потока и в случае поступления на этапе 503 каждое полученное наблюдение параметра КФС накапливают и относят к узлу РИВС в соответствии со временем данных указанного наблюдения параметра КФС. Накопление наблюдений параметров КФС и узлов РИВС означает любое сохранение указанных данных с возможностью последующего их чтения. Данные могут быть сохранены (накоплены) как на машиночитаемом носителе (например, запоминающие устройства 27-28 на Фиг. 14), так и в оперативной памяти (например, ОЗУ 25 компьютера 20 на Фиг. 14). Хранение (накопление) данных может осуществляться в виде списка, базы данных, файлов или любым другим способом.At step 502, the receipt of at least one new observation of the CFS parameter from the stream is checked and, in the case of receipt at step 503, each received observation of the CFS parameter is accumulated and assigned to the RIVS node in accordance with the time of the data of the said observation of the CFS parameter. Accumulation of observations of the CFS parameters and RIVS nodes means any storage of the said data with the possibility of their subsequent reading. The data can be saved (accumulated) both on a machine-readable medium (for example, storage devices 27 - 28 in Fig. 14 ), and in random access memory (for example, RAM 25 of computer 20 in Fig. 14 ). Storage (accumulation) of data can be carried out in the form of a list, database, files or in any other way.
На этапе 504 для каждого полученного наблюдения параметра КФС проверяют по меньшей мере один критерий признания нового головного узла РИВС и в случае его выполнения на этапе 505 узел РИВС, соответствующий времени данных указанного наблюдения параметра КФС, признают головным узлом РИВС.At step 504, for each received observation of the CFS parameter, at least one criterion for recognizing a new head node of the RIVS is checked and, if it is met, at step 505 the RIVS node corresponding to the time of the data of the specified observation of the CFS parameter is recognized as the head node of the RIVS.
В частном варианте реализации критерий признания нового головного узла РИВС, проверяемый на этапе 504, является одним из:In a particular embodiment, the criterion for recognizing a new RIVS head node, checked at step 504 , is one of:
критерий признания по представительству: узел РИВС (узел N), следующий за головным узлом РИВС (узел H), признают головным узлом РИВС, если для узла N поступили наблюдения для такого количества параметров КФС, которое равно или выше заданного числа (регулярность потока R);recognition criterion by representation: a RIVS node (node N ) following the head node of the RIVS (node H ) is recognized as the head node of the RIVS if observations have been received for node N for such a number of parameters of the CFS that is equal to or higher than a specified number (regularity of the flow R );
критерий признания по соразмерности интервала: узел N признают головным узлом РИВС, если получено наблюдение параметра КФС, соответствующее узлу N в момент времени процессинга (T_now), причем и , где Th - время процессинга, когда узел H был признан головным узлом РИВС, p - период РИВС, Da - средний интервал времени процессинга между признаниями заданного количества последних головных узлов РИВС;recognition criterion based on interval proportionality: node N is recognized as the head node of the RIVS if an observation of the parameter of the CFS corresponding to node N at the moment of processing time ( T_now ) is received, and And , where Th is the processing time when node H was recognized as the head node of the RIVS, p is the RIVS period, Da is the average processing time interval between recognitions of a given number of the last head nodes of the RIVS;
критерий признания в состоянии полной остановки потока (состояние “standstill”): если накопитель 420 находится в состоянии “standstill”, то узел N признают головным узлом РИВС сразу же после получения любого наблюдения параметра КФС, соответствующего узлу N.recognition criterion in the state of complete flow stop (the “standstill” state): if the accumulator 420 is in the “standstill” state, then node N is recognized as the head node of the RIVS immediately after receiving any observation of the parameter of the CFS corresponding to node N.
В еще одном частном варианте реализации критерий признания по соразмерности интервала используют при условии, когда критерий признания по представительству неприменим.In another particular implementation option, the recognition criterion based on the proportionality of the interval is used under the condition that the recognition criterion based on representation is not applicable.
В еще одном частном варианте реализации критерий признания по соразмерности интервала конфигурируется в настройках потокового процессора 400: указанный критерий используется либо для всех параметров КФС, либо только для заранее определенных параметров КФС. В последнем случае накопитель 420 проверяет одновременно оба критерия (представительство значений параметров КФС среди всего набора входных параметров КФС и соразмерность интервала для упомянутых заранее определенных параметров КФС), а новый головной узел РИВС признается, если сработал хотя бы один из проверяемых критериев.In another particular embodiment, the recognition criterion based on the proportionality of the interval is configured in the settings of the stream processor 400 : the said criterion is used either for all parameters of the CFS, or only for predetermined parameters of the CFS. In the latter case, the accumulator 420 checks both criteria simultaneously (representation of the values of the CFS parameters among the entire set of input parameters of the CFS and the proportionality of the interval for the said predetermined parameters of the CFS), and the new head node of the RIVS is recognized if at least one of the checked criteria has worked.
В частном варианте реализации в начале работы накопителя 420 первое поступившее наблюдение параметра КФС формирует первый головной узел РИВС для потока.In a particular embodiment, at the beginning of the operation of the accumulator 420, the first received observation of the parameter of the CFS forms the first head node of the RIVS for the flow.
В случае, если на этапе 502 не было получено ни одного нового наблюдения параметра КФС, то переходят к этапу 506. Кроме того, если на этапе 504 ни один из критериев признания нового головного узла РИВС не выполнился, также переходят к этапу 506.If at step 502 not a single new observation of the CFS parameter was received, then proceed to step 506. In addition, if at step 504 none of the criteria for recognizing a new head node of the RIVS were met, then proceed to step 506 as well.
На этапе 506 проверяют при помощи по меньшей мере одного критерия выгрузки возможность выгрузки по меньшей мере одного узла РИВС, причем критерий выгрузки проверяется с учетом, в частности, свойств потока 411 наблюдений параметров КФС из набора входных параметров КФС. Если ни один из критериев выгрузки не выполняется, то потоковый процессор 400 возвращает результаты работы 510 СУТД 110, которые не будут содержать значений выходных параметров КФС в узлах РИВС, но могут содержать предполагаемые моменты последующих вызовов потокового процессора 400.At step 506, the possibility of unloading at least one RIVS node is checked using at least one unloading criterion, wherein the unloading criterion is checked taking into account, in particular, the properties of the flow 411 of observations of the parameters of the CFS from the set of input parameters of the CFS. If none of the unloading criteria is met, then the stream processor 400 returns the results of the operation 510 of the SUTD 110 , which will not contain the values of the output parameters of the CFS in the RIVS nodes, but may contain the expected moments of subsequent calls of the stream processor 400 .
В то же время при выполнении по меньшей мере одного критерия выгрузки на этапе 507 выгружают по меньшей мере один узел РИВС, для которого выполняется указанный по меньшей мере один критерий выгрузки. В частном варианте реализации в случае, если к выгруженному узлу РИВС относится наблюдение по меньшей мере одного параметра КФС, также выгружают указанное по меньшей мере одно наблюдение параметра КФС.At the same time, when at least one unloading criterion is fulfilled, at least one RIVS node is unloaded at step 507 , for which the specified at least one unloading criterion is fulfilled. In a particular embodiment, if the unloaded RIVS node includes an observation of at least one CFS parameter, the specified at least one observation of the CFS parameter is also unloaded.
Под выгрузкой понимается считывание данных (например, в оперативную память 25) выбранных узлов РИВС и в случае наличия выбранных наблюдений параметров КФС для использования их на этапе 508. Причем выгруженные данные будут исключены из числа накопленных данных. Исключение может включать удаление или добавление пометки к выгруженным данным о том, что при следующем вызове потокового процессора 400 выгруженные данные не будут использоваться при проверке критериев выгрузки на этапе 506 и на последующих этапах. Таким образом обеспечивается работа заявленного изобретения в режиме, максимально близком к режиму реального времени.By unloading is meant reading data (for example, into the RAM 25 ) of the selected RIVS nodes and, in the case of the presence of selected observations of the parameters of the CFS for their use at step 508 . Moreover, the unloaded data will be excluded from the number of accumulated data. The exclusion may include the removal or addition of a mark to the unloaded data that, at the next call of the stream processor 400, the unloaded data will not be used when checking the unloading criteria at step 506 and at subsequent stages. In this way, the operation of the claimed invention is ensured in a mode as close as possible to the real-time mode.
Выгруженные данные также могут быть сохранены на машиночитаемом носителе для их последующего использования как на этапе 508, так и при последующем вызове потокового процессора 400.The downloaded data may also be stored on a machine-readable medium for subsequent use both at step 508 and at a subsequent call to the stream processor 400 .
На этапе 508 в каждом из выгруженных узлов РИВС для каждого выходного параметра КФС из набора выходных параметров КФС вычисляют его значение на основании упомянутого выгруженного узла РИВС, причем этому значению соответствует время данных, равное метке времени узла РИВС, к которому относится значение выходного параметра КФС. В частном варианте реализации в случае, если к узлу РИВС относится по меньшей мере одно наблюдение входного параметра КФС, связанного с выходным параметром КФС, то его учитывают при вычислении значения выходного параметра КФС. Вычисление значений выходных параметров КФС из набора выходных параметров КФС в узлах РИВС осуществляется на основании выгруженных узлов РИВС и наблюдений параметров КФС (при их наличии) в указанных узлах РИВС.At step 508, in each of the unloaded RIVS nodes, for each output parameter of the CFS from the set of output parameters of the CFS, its value is calculated based on the said unloaded RIVS node, wherein this value corresponds to the data time equal to the timestamp of the RIVS node to which the value of the output parameter of the CFS refers. In a particular embodiment, if at least one observation of the input parameter of the CFS related to the RIVS node refers to the RIVS node, then it is taken into account when calculating the value of the output parameter of the CFS. Calculation of the values of the output parameters of the CFS from the set of output parameters of the CFS in the RIVS nodes is carried out based on the unloaded RIVS nodes and observations of the parameters of the CFS (if any) in the said RIVS nodes.
В частном варианте реализации свойства потока 411 включают по меньшей мере одно из следующих: дистанцию выгрузки по потоку - Ds (заданное количество узлов РИВС, к которым возможно отнесение значений параметров КФС, поступающих из потока), таймаут - Dt (заданный интервал времени процессинга, определяющий максимальное время ожидания поступления из потока значений параметров КФС). Калибровка накопителя 420, то есть определение указанных значений Ds, Dt, осуществляется таким образом, чтобы выходной поток наблюдений (значения выходных параметров КФС в узлах РИВС) формировался с минимальной задержкой (значение такой задержки может быть заранее определено) относительно потока (то есть входного потока), но при этом чтобы все наблюдения параметров КФС, за исключением отстающих или ранних (то есть являющихся инцидентом), классифицировались как пришедшие вовремя (англ. on time) и передавались вычислителю 430. Исходя из изложенного, для Ds может быть дополнительно определено (по умолчанию или на этапе калибровки) минимально возможное значение, например, 2 или 3.In a particular embodiment, the properties of the stream 411 include at least one of the following: the stream unloading distance - Ds (the specified number of RIVS nodes to which the values of the CFS parameters coming from the stream can be assigned), the timeout - Dt (the specified processing time interval that determines the maximum waiting time for the receipt of the CFS parameter values from the stream). The calibration of the accumulator 420 , that is, the determination of the specified values Ds, Dt, is carried out in such a way that the output stream of observations (the values of the output parameters of the CFS in the RIVS nodes) is formed with a minimum delay (the value of such a delay can be determined in advance) relative to the stream (that is, the input stream), but at the same time so that all observations of the CFS parameters, with the exception of lagging or early ones (that is, constituting an incident), are classified as having arrived on time (English: on time) and are transmitted to the computer 430 . Based on the above, a minimum possible value, for example 2 or 3, can be additionally defined for Ds (by default or at the calibration stage).
Критерий выгрузки является по меньшей мере одним из следующих:The unloading criterion is at least one of the following:
выгрузка по потоку: между узлом РИВС, для которого проверяется возможность выгрузки, и головным узлом РИВС находится такое количество других узлов РИВС, которое равно или превышает дистанцию выгрузки по потоку Ds, таким образом, критерию выгрузки по потоку удовлетворяет узел РИВС и предшествующие ему во времени узлы РИВС , и т.д.), где H - головной узел РИВС, p – период РИВС;downstream unloading: between the RIVS node for which the unloading possibility is being checked and the head RIVS node there is such a number of other RIVS nodes that is equal to or greater than the downstream unloading distance Ds , thus the RIVS node satisfies the downstream unloading criterion and the RIVS nodes preceding it in time , etc.), where H is the head node of the RIVS, p is the period of the RIVS;
выгрузка по таймауту: время, прошедшее с предыдущего времени процессинга, во время которого узел РИВС, для которого проверяется возможность выгрузки, был признан головным узлом РИВС, до времени процессинга (текущего) равно или превышает таймаут Dt, таким образом, узел H был признан головным узлом РИВС в момент времени процессинга Th, то он будет выгружен по таймауту, когда текущее время процессинга будет равно или превысит значение Th + Dt.unload by timeout: the time elapsed from the previous processing time, during which the RIVS node, for which the unloading possibility is checked, was recognized as the head node of the RIVS, until the processing time (current) is equal to or exceeds the timeout Dt , thus, node H was recognized as the head node of the RIVS at the moment of processing time Th , then it will be unloaded by timeout when the current processing time is equal to or exceeds the value Th + Dt .
Стоит отметить, что в случае, если проверяют возможность выгрузки по меньшей мере двух узлов РИВС и если критерий выгрузки по потоку выполняется для одного узла РИВС, а критерий выгрузки по таймауту выполняется для другого узла РИВС, тогда выбирают тот из указанных узлов РИВС, у которого метка времени больше.It is worth noting that if the possibility of unloading at least two RIVS nodes is checked and if the unloading criterion by flow is met for one RIVS node, and the unloading criterion by timeout is met for another RIVS node, then the one of the specified RIVS nodes with the higher timestamp is selected.
В предпочтительном варианте реализации дополнительно выгружаются все узлы РИВС, следующие за последним выгруженным узлом до узла РИВС, который удовлетворяет критерию выгрузки, включительно.In a preferred embodiment, all RIVS nodes following the last unloaded node up to and including the RIVS node that satisfies the unloading criterion are additionally unloaded.
В одном из частных вариантов реализации на этапе 508 дополнительно формируют инцидент (например, «опоздавшее наблюдение», «сбой часов источника», или «потеря потока») в случае выполнения по меньшей мере одного из условий формирования инцидента: для инцидента «опоздавшее наблюдение»: время данных наблюдения параметра КФС соответствует ранее выгруженному узлу РИВС; для инцидента «сбой часов источника»: время данных наблюдения параметра КФС опережает метку времени головного узла РИВС на заданный интервал времени; для инцидента «потеря потока»: в случае прекращения поступления наблюдений параметра КФС в течение определенного времени, заданного для параметра КФС, причем к значению выходного параметра КФС дополнительно добавляют информацию об инциденте.In one particular embodiment, at step 508 , an incident is additionally generated (e.g., a “late observation,” a “source clock failure,” or a “flow loss”) if at least one of the conditions for generating an incident is met: for a “late observation” incident: the time of the observation data of the CFS parameter corresponds to the previously unloaded RIVS node; for a “source clock failure” incident: the time of the observation data of the CFS parameter is ahead of the time stamp of the RIVS head node by a specified time interval; for a “flow loss” incident: in the event of a cessation of receipt of observations of the CFS parameter during a certain time specified for the CFS parameter, and information about the incident is additionally added to the value of the output parameter of the CFS.
В еще одном частном варианте реализации способ на Фиг. 5 дополнительно включает этапы 520-521, на которых переопределяют свойства потока 411 (этап 521) в случае, если частота возникновения инцидентов, связанных с опозданием или сбоем часов источника, превышает установленный порог (проверяют на этапе 520). В другом частном варианте реализации определяют свойства потока 411 в случае начала поступления потока или возобновления поступления потока после прерывания или «потери потока». Необходимость определения/переопределения свойств потока 411 проверяется на этапе 520 с учетом информации, полученной от СУТД 110 при вызове потокового процессора 400 на этапе 501.In another particular embodiment, the method in Fig. 5 additionally includes steps 520 - 521 , in which the properties of the stream 411 are redefined (step 521 ) in the event that the frequency of occurrence of incidents associated with the delay or failure of the source clock exceeds the established threshold (checked at step 520 ). In another particular embodiment, the properties of the stream 411 are determined in the event of the start of the stream arrival or the resumption of the stream arrival after an interruption or "loss of stream". The need to determine/redefine the properties of the stream 411 is checked at step 520 taking into account the information received from the TSMS 110 when calling the stream processor 400 at step 501 .
В одном частном варианте реализации на этапе 508, когда набор входных параметров КФС совпадает с набором выходных параметров КФС, в каждом из выгруженных узлов РИВС вычисляют значение для каждого параметра КФС из набора выходных параметров КФС в зависимости от количества отнесенных к узлу РИВС наблюдений соответствующего входного параметра КФС:In one particular embodiment, at step 508 , when the set of input parameters of the CFS coincides with the set of output parameters of the CFS, in each of the unloaded nodes of the RIVS, a value is calculated for each parameter of the CFS from the set of output parameters of the CFS depending on the number of observations of the corresponding input parameter of the CFS assigned to the RIVS node:
если в указанном узле РИВС для входного параметра КФС накоплено одно или несколько наблюдений, выполняют агрегацию на основе накопленных наблюдений входного параметра КФС в указанном узле РИВС;if one or more observations have been accumulated for the input parameter of the CFS in the specified node of the RIVS, aggregation is performed based on the accumulated observations of the input parameter of the CFS in the specified node of the RIVS;
если в указанном узле РИВС для параметра КФС не накоплено ни одного из наблюдений, выполняют импутацию отсутствующего значения параметра КФС на основе наблюдений параметра КФС для более ранних узлов РИВС.If no observations have been accumulated for the KFS parameter in the specified RIVS node, the missing value of the KFS parameter is imputed based on the observations of the KFS parameter for earlier RIVS nodes.
В другом частном варианте реализации на этапе 508 вычисляют значение выходного параметра КФС в узле РИВС согласно зависимости от связанных с ним параметров КФС, причем вычисляют значения для каждого параметра КФС в зависимости от количества отнесенных к узлу РИВС наблюдений указанного параметра КФС:In another particular embodiment, at step 508 , the value of the output parameter of the CFS in the RIVS node is calculated according to the dependence on the parameters of the CFS associated with it, and the values for each parameter of the CFS are calculated depending on the number of observations of the specified parameter of the CFS assigned to the RIVS node:
если в указанном узле РИВС для указанного параметра КФС накоплено одно или несколько наблюдений, выполняют агрегацию на основе накопленных наблюдений параметра КФС в указанном узле РИВС или в более ранних узлах РИВС или в указанном узле РИВС и более ранних узлах РИВС;if one or more observations have been accumulated for the specified CFS parameter in the specified RIVS node, aggregation is performed based on the accumulated observations of the CFS parameter in the specified RIVS node or in earlier RIVS nodes or in the specified RIVS node and earlier RIVS nodes;
если в указанном узле РИВС для параметра КФС не накоплено ни одного из наблюдений, выполняют импутацию отсутствующего значения параметра КФС на основе наблюдений параметра КФС для более ранних узлов РИВС или на основе ранее вычисленных значений параметра КФС для более ранних узлов РИВС или на основе комбинации из наблюдений параметра КФС и ранее вычисленных значений параметра КФС для более ранних узлов РИВС.if no observations have been accumulated for the KFS parameter in the specified RIVS node, the missing value of the KFS parameter is imputed based on observations of the KFS parameter for earlier RIVS nodes or based on previously calculated values of the KFS parameter for earlier RIVS nodes or based on a combination of observations of the KFS parameter and previously calculated values of the KFS parameter for earlier RIVS nodes.
В частном случае вычисляют значение выходного параметра КФС в узле РИВС дополнительно на основе значений других выходных или других входных параметров КФС, связанных с указанным выходным параметром КФС (далее - промежуточные параметры).In a particular case, the value of the output parameter of the CFS in the RIVS node is calculated additionally based on the values of other output or other input parameters of the CFS associated with the specified output parameter of the CFS (hereinafter referred to as intermediate parameters).
В этом примере вычисляют значение упомянутого промежуточного параметра КФС, после чего вычисляют значение выходного параметра КФС на основании связанных с ним параметров КФС из набора входных параметров КФС, а также на основании промежуточного параметра КФС. Например, входными параметрами КФС являются параметры А2, А3, А4, А6. Выходным параметром КФС является параметр А30, зависящий от параметров А2, А3, А4 согласно следующей зависимости: А30 = F(А20, А6), где F - скользящее среднее от значений параметров А20, А6 в предыдущих узлах РИВС. Однако, чтобы вычислить значение параметра А30, предварительно необходимо вычислить значение промежуточного параметра А20 согласно его зависимости от параметров А2, А3, А4, которая определяется формулой: А20 = G(А2, А3, А4), где G - среднее значение от параметров А2, А3, А4 в текущем узле РИВС. Таким образом, заявленное изобретение позволяет использовать любые зависимости выходных параметров КФС от входных параметров КФС, в том числе с использованием промежуточных параметров КФС.In this example, the value of the mentioned intermediate parameter of the CFS is calculated, after which the value of the output parameter of the CFS is calculated based on the associated parameters of the CFS from the set of input parameters of the CFS, as well as on the intermediate parameter of the CFS. For example, the input parameters of the CFS are parameters A2, A3, A4, A6. The output parameter of the CFS is parameter A30, which depends on parameters A2, A3, A4 according to the following dependence: A30 = F(A20, A6), where F is the moving average of the values of parameters A20, A6 in the previous nodes of the RIVS. However, in order to calculate the value of parameter A30, it is first necessary to calculate the value of the intermediate parameter A20 according to its dependence on parameters A2, A3, A4, which is determined by the formula: A20 = G(A2, A3, A4), where G is the average value of parameters A2, A3, A4 in the current node of the RIVS. Thus, the claimed invention allows the use of any dependence of the output parameters of the CFS on the input parameters of the CFS, including the use of intermediate parameters of the CFS.
Разрывом потока параметра КФС называется ситуация, когда для узла РИВС к моменту его выгрузки не было получено ни одного наблюдения данного параметра КФС. Различают два вида разрыва: прерывание потока и «потерю потока».A break in the flow of a KFS parameter is a situation when not a single observation of a given KFS parameter has been received for the RIVS node by the time of its unloading. There are two types of breaks: flow interruption and "flow loss".
Прерывание потока - это разрыв, который возник вследствие потери одного или незначительного (ниже определенного значения) числа наблюдений параметра КФС или из-за того, что собственный период формирования наблюдений параметра КФС больше периода РИВС. Прерывание потока не связано с каким-либо изменением в поведении объекта мониторинга. Вычислитель 430 не пытается интерпретировать прерывание потока специальным образом, а просто восполняет разрыв путем импутации (например, путем повторения последнего известного значения параметра КФС, или среднего от нескольких последних значений параметра КФС) на этапе 508. В частном варианте реализации вычислитель 430 также аналогичным образом восполняет разрыв потока выходного параметра КФС, то есть путем импутации (например, путем повторения последнего вычисленного значения выходного параметра КФС, или среднего от нескольких последних вычисленных значений выходного параметра КФС) на этапе 508.A flow interruption is a gap that has arisen due to the loss of one or an insignificant (below a certain value) number of observations of the CFS parameter or due to the fact that the proper period of formation of observations of the CFS parameter is greater than the period of the RVS. A flow interruption is not associated with any change in the behavior of the monitoring object. The computer 430 does not attempt to interpret the flow interruption in a special way, but simply fills the gap by imputation (for example, by repeating the last known value of the CFS parameter, or the average of several recent values of the CFS parameter) at step 508 . In a particular embodiment, the computer 430 also similarly fills the gap in the flow of the CFS output parameter, i.e., by imputation (for example, by repeating the last calculated value of the CFS output parameter, or the average of several recent calculated values of the CFS output parameter) at step 508 .
«Потеря потока» - это длительное (в течении определенного интервала времени, заданного для параметра КФС, или потеря такого числа наблюдений параметра КФС, которое превышает определенное значение) прекращение поступления наблюдений параметра КФС, которое может быть вызвано отключением объекта мониторинга (или его части) или аварией в сети передачи данных. Ввиду того, что «потеря потока» свидетельствует о существенном изменении состояния наблюдаемой системы, на этапе 508 вычислитель 430 обрабатывает «потерю потока» особым образом: формирует специальный инцидент «потеря потока» (англ. loss of data, LoD) и/или устанавливает для параметра КФС, чей поток был потерян, значение по умолчанию, заданное для указанного параметра КФС, в узлах РИВС, начиная с узла РИВС, в котором была идентифицирована «потеря потока». В частном варианте реализации вычислитель 430 обрабатывает «потерю потока» выходного параметра КФС аналогичным образом, то есть устанавливает значение по умолчанию для выходных параметров КФС, которые связаны с параметром КФС, чей поток был потерян."Loss of flow" is a long-term (during a certain time interval specified for the CFS parameter, or the loss of such a number of observations of the CFS parameter that exceeds a certain value) cessation of receipt of observations of the CFS parameter, which may be caused by disconnection of the monitoring object (or part thereof) or an accident in the data transmission network. Due to the fact that "loss of flow" indicates a significant change in the state of the observed system, at step 508 the computer 430 processes the "loss of flow" in a special way: it generates a special "loss of data" (LoD) incident and/or sets for the CFS parameter whose flow was lost the default value specified for the specified CFS parameter in the RIVS nodes, starting from the RIVS node in which the "loss of flow" was identified. In a particular embodiment, the computer 430 handles the "flow loss" of the CFS output parameter in a similar manner, i.e., sets a default value for the CFS output parameters that are associated with the CFS parameter whose flow was lost.
В варианте реализации разрывы потоков одного или нескольких параметров КФС не создают особой ситуации для накопителя 420, пока для каждого узла РИВС поступает хотя бы одно наблюдение любого параметра КФС. Поступающие от других параметров КФС наблюдения позволяют выгружать узлы РИВС по потоку (если поток плотный) или по таймауту (если поток разреженный), и, следовательно, вызывать вычислитель 430 для обработки этих узлов РИВС.In the embodiment, breaks in the flows of one or more parameters of the CFS do not create a special situation for the accumulator 420 , as long as at least one observation of any parameter of the CFS is received for each node of the RIVS. Observations received from other parameters of the CFS allow unloading the nodes of the RIVS by flow (if the flow is dense) or by timeout (if the flow is sparse), and, therefore, calling the computer 430 to process these nodes of the RIVS.
В другом частном варианте реализации, когда произошел одновременный разрыв потока, для всех параметров КФС возникает состояние полной остановки потока (“standstill”).In another particular implementation option, when a simultaneous flow rupture occurs, a state of complete flow stop (“standstill”) occurs for all parameters of the FSC.
Состояние полной остановки потока диагностируется накопителем 420 при одновременном выполнении следующих условий:The state of complete flow stop is diagnosed by the 420 accumulator when the following conditions are met simultaneously:
а) накопитель 420 определил, что выгрузке подлежит узел N;a) accumulator 420 has determined that node N is to be unloaded;
б) головной узел РИВС предшествует или равен узлу, подлежащему выгрузке: H ≤ N. Это означает, что входной поток уже какое-то время не поступает и узел N выгружается по таймауту;b) the head node of the RIVS precedes or is equal to the node to be unloaded: H ≤ N . This means that the input stream has not arrived for some time and node N is unloaded due to a timeout;
в) очередь выгрузки по таймаутам пуста (т.е. узел N был последним в очереди).c) the timeout unload queue is empty (i.e. node N was the last one in the queue).
В частном варианте реализации для идентификации обработки «потери потока» наблюдений параметров КФС при полной остановке потока в потоковом процессоре 400 предусмотрен механизм отгрузки некоторого числа пустых узлов РИВС «по инерции». Этот механизм называется выбегом (англ. afterlife). Когда накопитель 420 переходит в состояние полной остановки потока, он одновременно переходит в режим выбега; продолжительность выбега в узлах РИВС указывается в настройках потокового процессора 400.In a particular embodiment, to identify the processing of "flow loss" of the CFS parameter observations when the flow completely stops in the flow processor 400 , a mechanism for unloading a certain number of empty RIVS nodes "by inertia" is provided. This mechanism is called afterlife. When the drive 420 goes into a state of complete flow stop, it simultaneously goes into the run-out mode; the run-out duration in the RIVS nodes is specified in the settings of the flow processor 400 .
В режиме выбега накопитель 420 запрашивает у СУТД 211 вызов себя через равные интервалы времени процессинга, соответствующие периоду выбега Da. Период выбега может вычисляться в момент перехода в режим выбега следующим образом. В процессе обработки входного потока потоковый процессор 400 запоминает интервалы времени процессинга между признаниями соседних головных узлов РИВС для заданного числа (например, 10 или 20) последних признанных головных узлов РИВС. Период выбега Da принимается равным заданному перцентилю (например, 75% или 90%) этих интервалов. Таким образом, выбег производится примерно на той скорости хода времени данных относительно времени процессинга, которая наблюдалась до остановки потока, а период выбега Da примерно соответствует периоду РИВС, измеренному во времени процессинга, с поправкой в большую сторону. Поправка нужна для снижения риска того, что выбег опередит время данных. В режиме выбега таймаут выгрузки узла фактически принимается равным Da, а головной узел РИВС не изменяется. Скорость хода времени данных относительно времени процессинга - это отношение разницы между временами данных двух наблюдений к разнице между моментами времени прибытия этих наблюдений в накопитель 420, измеренных по часам процессинга (то есть временем процессинга этих наблюдений, см подробнее описание к Фиг. 9а-10г). При этом указанная скорость может быть измерена как между двумя соседними наблюдениями, так и между двумя наблюдениями, отстающими на определенный интервал времени.In the coast-down mode, the drive 420 requests the TSCS 211 to call itself at equal processing time intervals corresponding to the coast-down period Da . The coast-down period can be calculated at the moment of transition to the coast-down mode as follows. In the process of processing the input stream, the stream processor 400 remembers the processing time intervals between recognitions of neighboring RIVS head nodes for a given number (e.g., 10 or 20) of the last recognized RIVS head nodes. The coast-down period Da is taken to be equal to a given percentile (e.g., 75% or 90%) of these intervals. Thus, the coast-down is performed approximately at the same data time rate relative to the processing time that was observed before the flow was stopped, and the coast-down period Da approximately corresponds to the RIVS period measured in processing time, with a correction upwards. The correction is needed to reduce the risk that the coast-down will outpace the data time. In the coast-down mode, the node unloading timeout is actually taken to be equal to Da , and the RIVS head node does not change. The speed of the data time relative to the processing time is the ratio of the difference between the times of the data of two observations to the difference between the moments of time of arrival of these observations in the accumulator 420 , measured by the processing clock (i.e. the processing time of these observations, see the description in more detail in Figs. 9a-10g ). In this case, the specified speed can be measured both between two adjacent observations and between two observations lagging behind by a certain time interval.
При каждом вызове себя в режиме выбега накопитель 420 помещает очередной узел РИВС в очередь выгрузки по таймаутам на момент T_now + Da, где T_now - текущий момент времени процессинга, и, соответственно, выгружает по таймауту предыдущий узел РИВС, который в этом случае может оказаться полностью пустым. Выгрузка даже полностью пустого узла РИВС на шаге 507 инициирует вызов вычислителя 430 для обработки этого узла РИВС на шаге 508, следовательно, вычислитель 430 получает возможность провести импутацию или идентифицировать «потерю потока» тех параметров КФС, для которых такие действия сконфигурированы.At each call of itself in the run-down mode, the accumulator 420 places the next RIVS node in the unloading queue by timeouts at the moment T_now + Da, where T_now is the current moment of processing time, and, accordingly, unloads by timeout the previous RIVS node, which in this case may be completely empty. Unloading even a completely empty RIVS node at step 507 initiates a call to the calculator 430 for processing this RIVS node at step 508 , therefore, the calculator 430 gets the opportunity to impute or identify the "flow loss" of those parameters of the CFS for which such actions are configured.
Продолжительность выбега задается не меньше числа узлов РИВС, которые требуются вычислителю 430 для идентификации и обработки «потери потока» всех параметров КФС, для которых такие действия сконфигурированы.The run-out duration is set to be no less than the number of RIVS nodes required by the 430 computer to identify and process the “flow loss” of all the CFS parameters for which such actions are configured.
Выход из состояния полной остановки потока (“standstill”) производится по факту получения любого наблюдения, относящегося к узлу РИВС Z, находящемуся в будущем относительно текущего головного узла РИВС H (Z > H), при этом узел Z немедленно признается новым головным узлом РИВС. При выходе из состояния полной остановки потока может происходить одномоментная выгрузка нескольких узлов (англ. flush discharge) вплоть до узла Z исключительно (то есть узел Z не будет выгружен), которая в зависимости от текущего состояния процесса выбега может включать полное или частичное завершение выбега (вплоть до узла min(H+a×p, Z-p), где a - конфигурированная продолжительность выбега, p - период РИВС) и/или пропуск пустых узлов, расположенных между последним возможным узлом выбега (или узлом H, если выбег не сконфигурирован) и узлом Z. Пропуск узлов означает, что узлы считаются выгруженными, но при этом не подаются на вычислитель 430, так как их обработка будет непродуктивной: состояние «потери потока» уже было выявлено и обработано на этапе выбега, после чего пустые узлы никакой полезной информации не несут. Таким образом, при пропуске узлов, следующим узлом РИВС после последнего возможного узла выбега (или последнего непустого узла D: H ≤ D < Z, если выбег не сконфигурирован), который будет выгружен в вычислитель и для которого, соответственно, будут сформированы значения выходных параметров КФС, будет узел Z, выгрузка которого произойдет в свое время штатным образом, то есть, по потоку или по таймауту.Exit from the state of complete flow stop (“standstill”) is performed upon receipt of any observation related to the node Z of the RIVS located in the future relative to the current head node of the RIVS H ( Z > H ), and node Z is immediately recognized as the new head node of the RIVS. Upon exit from the state of complete flow stop, a simultaneous flush discharge may occur up to node Z exclusively (i.e. node Z will not be flushed), which, depending on the current state of the coasting process, may include complete or partial completion of the coasting (up to node min( H + a×p , Z - p ), where a is the configured coasting duration, p is the RIVS period) and/or skipping empty nodes located between the last possible coasting node (or node H if coasting is not configured) and node Z . Skipping nodes means that the nodes are considered unloaded, but are not fed to the computer 430 , since their processing would be unproductive: the "flow loss" state has already been detected and processed at the run-out stage, after which empty nodes do not carry any useful information. Thus, when skipping nodes, the next RIVS node after the last possible run-out node (or the last non-empty node D : H ≤ D < Z , if run-out is not configured), which will be unloaded into the computer and for which, accordingly, the values of the output parameters of the CFS will be generated, will be node Z , the unloading of which will occur in due time in a regular manner, that is, by flow or by timeout.
Таким образом, заявленный способ приведения произвольно распределенного потока наблюдений параметров КФС, поступающих в реальном времени, к РИВС позволяет решить заявленную техническую проблему и достичь заявленных технических результатов, заключающихся в приведении произвольно распределенного потока наблюдений параметров КФС, поступающих в реальном времени, к РИВС, в снижении времени приведения произвольно распределенного потока наблюдений параметров КФС, поступающих в реальном времени, к РИВС (например, в сравнении с приведением к РИВС наблюдений исторических данных, когда необходимо дождаться формирования такого набора данных, прежде чем приступить к приведению их к РИВС), в формировании приведенного к РИВС потока значений выходных параметров КФС без пропусков, а также в подготовке данных в форме и объеме, необходимом для корректной работы детекторов аномалий и предиктивных анализаторов.Thus, the claimed method of reducing a randomly distributed flow of observations of the parameters of the CFS, received in real time, to the RIVS makes it possible to solve the claimed technical problem and achieve the claimed technical results, which consist in reducing a randomly distributed flow of observations of the parameters of the CFS, received in real time, to the RIVS, in reducing the time of reducing the randomly distributed flow of observations of the parameters of the CFS, received in real time, to the RIVS (for example, in comparison with reducing observations of historical data to the RIVS, when it is necessary to wait for the formation of such a set of data before proceeding to reduce them to the RIVS), in forming a flow of values of the output parameters of the CFS reduced to the RIVS without gaps, as well as in preparing data in the form and volume necessary for the correct operation of anomaly detectors and predictive analyzers.
Результаты работы потокового процессора 510 могут быть переданы посредством СУТД 110 для выявления аномалий 511 с помощью детекторов аномалий 200 (подробнее на Фиг. 6), а также на предиктивный анализ 512 с помощью предиктивных анализаторов 300 (подробнее на Фиг. 7).The results of the work of the stream processor 510 can be transmitted via the STS 110 for the detection of anomalies 511 using anomaly detectors 200 (more details in Fig. 6 ), as well as for predictive analysis 512 using predictive analyzers 300 (more details in Fig. 7 ).
На Фиг. 6 представлен пример способа выявления аномалий в КФС в реальном времени. На этапе 601 получают в реальном времени произвольно распределенный поток наблюдений параметров КФС. Затем на этапе 602 при выполнении по меньшей мере одного из условий вызова, осуществляют приведение потока наблюдений параметров КФС к РИВС с использованием потокового процессора 400 согласно способу по Фиг. 5. В итоге на шаге 603 выявляют по меньшей мере одну аномалию в КФС в приведенных к РИВС значениях выходных параметров КФС с использованием по меньшей мере одного детектора аномалий 200. Fig. 6 shows an example of a method for detecting anomalies in the CFS in real time. At step 601 , a randomly distributed flow of observations of the CFS parameters is obtained in real time. Then, at step 602 , when at least one of the call conditions is met, the flow of observations of the CFS parameters is converted to the RIVS using the stream processor 400 according to the method of Fig. 5 . Finally, at step 603, at least one anomaly in the CFS is detected in the values of the output parameters of the CFS converted to the RIVS using at least one anomaly detector 200 .
В одном частном варианте реализации условия вызова включают по меньшей мере одно из следующих:In one particular embodiment, the call conditions include at least one of the following:
из потока получено по меньшей мере одно новое наблюдение параметра КФС;at least one new observation of the CFS parameter has been received from the stream;
наступил один из предварительно заданных моментов времени.one of the pre-set points in time has arrived.
Детекторы из перечня детекторов 200 реализуют по меньшей мере один из следующих способов выявления аномалий:The detectors from the list of detectors 200 implement at least one of the following methods of detecting anomalies:
способ, согласно которому выявляют аномалию в случае превышения общей ошибкой прогноза порогового значения, при этом предварительно выполняют прогнозирование значений выходных параметров КФС и последующее определение общей ошибки прогноза для выходных параметров КФС;a method according to which an anomaly is detected in the event that the overall forecast error exceeds a threshold value, while first forecasting the values of the output parameters of the CFS and then determining the overall forecast error for the output parameters of the CFS;
способ, согласно которому выявляют аномалию путем применения модели машинного обучения к значениям выходных параметров КФС;a method by which an anomaly is detected by applying a machine learning model to the output parameter values of a CFS;
способ, согласно которому выявляют аномалию при выполнении правила выявления аномалий;a method by which an anomaly is detected when an anomaly detection rule is followed;
способ, согласно которому выявляют аномалию на основании сравнения полученных значений выходных параметров КФС с предельными значениями установленных диапазонов значений для выходных параметров КФС;a method according to which an anomaly is identified based on a comparison of the obtained values of the output parameters of the CFS with the limit values of the established ranges of values for the output parameters of the CFS;
ансамблирование результатов работы по меньшей мере одного из указанных выше способов.ensemble of the results of the work of at least one of the above methods.
Другие возможные, но не исчерпывающие способы реализации детекторов 200 представлены на Фиг. 2.Other possible, but not exhaustive, ways of implementing detectors 200 are shown in Fig. 2 .
Таким образом, заявленный на Фиг. 6 способ позволяет решить заявленную техническую проблему и достичь перечисленных ранее для способа по Фиг. 5 технических результатов. Кроме того, достигается еще один технический результат, заключающийся в повышении качества выявления аномалий в КФС за счет приведения произвольно распространенного потока наблюдений параметров КФС, поступающих в реальном времени, к РИВС и выявления аномалий в приведенных к РИВС значениях выходных параметров КФС, причем высокое качество включает, в частности, низкое число ошибок первого и второго рода, сокращение времени выявления аномалий.Thus, the method declared in Fig. 6 allows solving the declared technical problem and achieving the technical results listed earlier for the method in Fig. 5. In addition, another technical result is achieved, consisting in improving the quality of detecting anomalies in the CFS by bringing an arbitrarily distributed flow of observations of the CFS parameters, received in real time, to the RIVS and detecting anomalies in the values of the output parameters of the CFS reduced to the RIVS, wherein high quality includes, in particular, a low number of errors of the first and second kind, a reduction in the time of detecting anomalies.
На Фиг. 7 представлен пример способа осуществления предиктивного анализа в КФС в реальном времени. На этапе 701 получают в реальном времени произвольно распределенный поток наблюдений параметров КФС. Затем на этапе 702 при выполнении по меньшей мере одного из условий вызова, осуществляют приведение потока наблюдений параметров КФС к РИВС с использованием потокового процессора 400 согласно способу по Фиг. 5. В итоге на этапе 703 с помощью предиктивных анализаторов 300 (см. Фиг. 3) осуществляют предиктивный анализ в приведенных к РИВС значениях выходных параметров КФС. Fig. 7 shows an example of a method for implementing predictive analysis in the CFS in real time. At step 701 , a randomly distributed flow of observations of the CFS parameters is obtained in real time. Then, at step 702 , when at least one of the call conditions is met, the flow of observations of the CFS parameters is converted to the RIVS using the stream processor 400 according to the method of Fig. 5 . Finally, at step 703, using predictive analyzers 300 (see Fig. 3 ), predictive analysis is performed in the values of the output parameters of the CFS converted to the RIVS.
В одном частном варианте реализации условия вызова включают по меньшей мере одно из следующих:In one particular embodiment, the call conditions include at least one of the following:
из потока получено по меньшей мере одно новое наблюдение параметра КФС;at least one new observation of the CFS parameter has been received from the stream;
наступил один из предварительно заданных моментов времени.one of the pre-set points in time has arrived.
Таким образом, заявленный на Фиг. 7 способ позволяет решить заявленную техническую проблему и достичь перечисленных ранее для способа по Фиг. 5 технических результатов. Кроме того, достигается еще один технический результат, заключающийся в повышении качества предиктивного анализа параметров КФС за счет приведения произвольно распространенного потока наблюдений параметров КФС, поступающих в реальном времени, к РИВС и выполнения предиктивного анализа в приведенных к РИВС значениях выходных параметров КФС, причем высокое качество включает, в частности, высокую точность предсказания значений одного или нескольких выходных параметров КФС на длительном периоде времени.Thus, the method declared in Fig. 7 allows solving the declared technical problem and achieving the technical results listed earlier for the method in Fig. 5. In addition, another technical result is achieved, consisting in improving the quality of the predictive analysis of the parameters of the CFS by bringing an arbitrarily distributed flow of observations of the parameters of the CFS, received in real time, to the RIVS and performing a predictive analysis in the values of the output parameters of the CFS brought to the RIVS, wherein high quality includes, in particular, high accuracy of predicting the values of one or several output parameters of the CFS over a long period of time.
На Фиг. 9а-9г представлены примеры потока наблюдений параметров КФС. Fig. 9a-9g show examples of the flow of observations of the parameters of the CFS.
Здесь и далее по оси абсцисс отложено время процессинга (T p ), по оси ординат - время данных (T d ). РИВС определяется во времени данных и, соответственно, на оси ординат также отложены метки времени соответствующих им узлов РИВС (t 1 , t 2 и т.д.). На графиках круги разных оттенков соответствуют наблюдениям разных параметров КФС. На Фиг. 9а представлен пример идеального потока наблюдений параметров КФС. Такой поток характеризуется следующими условиями:Here and below, the abscissa axis shows the processing time ( T p ), and the ordinate axis shows the data time ( T d ). The RIVS is defined in the data time and, accordingly, the ordinate axis also shows the time marks of the corresponding RIVS nodes ( t 1 , t 2 , etc.). In the graphs, circles of different shades correspond to observations of different parameters of the CFS. Fig. 9a shows an example of an ideal flow of observations of the parameters of the CFS. Such a flow is characterized by the following conditions:
а) значения всех параметров КФС измеряются на объекте мониторинга одновременно;a) the values of all parameters of the FSC are measured at the monitoring object simultaneously;
б) значения параметров КФС измеряются точно в узлах РИВС, то есть время данных точно соответствует метке времени узла РИВС;b) the values of the parameters of the CFS are measured precisely in the RIVS nodes, that is, the time of the data exactly corresponds to the time stamp of the RIVS node;
в) значения параметров КФС измеряются в каждом узле РИВС;c) the values of the parameters of the CFS are measured in each node of the RIVS;
г) значения параметров КФС, взятые на объекте мониторинга одновременно, доставляются на потоковый процессор 400 вместе (одним пакетом наблюдений);d) the values of the parameters of the FSC, taken at the monitoring object simultaneously, are delivered to the flow processor 400 together (in one observation package);
д) задержка доставки (англ. delay) каждого пакета наблюдений параметров КФС от объекта мониторинга на потоковый процессор 400 одна и та же, а скорость хода времени данных относительно времени процессинга является постоянной. Задержка доставки может быть измерена как интервал времени между временем данных и временем процессинга.d) the delay of delivery of each packet of observations of the parameters of the CFS from the monitoring object to the stream processor 400 is the same, and the speed of the data time relative to the processing time is constant. The delay of delivery can be measured as the time interval between the data time and the processing time.
Стоит отметить, что в реальных КФС идеальный поток, представленный на Фиг. 9а, практически не возможен. С этим связана заявленная техническая проблема. Практически всегда в мониторинг и обработку потока телеметрии вовлечены сети передачи данных и многокомпонентные системы, в том числе СУТД 110, в которых не может быть гарантировано отсутствие задержки доставки (условие д) из-за технических ограничений. Другие условия (а-г) на разных объектах не соблюдаются в разных сочетаниях.It is worth noting that in real FSCs the ideal flow shown in Fig. 9a is practically impossible. The stated technical problem is related to this. Almost always, data transmission networks and multicomponent systems are involved in monitoring and processing the telemetry flow, including SUTD 110 , in which the absence of delivery delays (condition d) cannot be guaranteed due to technical limitations. Other conditions (a-d) are not met at different objects in different combinations.
На Фиг. 9б показан пример нарушения потока вследствие вариации (англ. jitter) задержки прибытия наблюдений параметров КФС. Например, в моменты времени данных t1 и t2, наблюдение первого параметра КФС (круг темного оттенка) относительно времени данных пришло первым среди наблюдений всех четырех параметров КФС, в то время как в момент времени данных t3, наблюдение первого параметра КФС пришло последним (задержка увеличилась), а в момент времени данных t4 - вторым (задержка снизилась). Аналогичная ситуация с наблюдениями других параметров КФС. Кроме того, скорость хода времени данных относительно времени процессинга также варьируется. Fig. 9b shows an example of flow disruption due to jitter in the delay of arrival of the CFS parameter observations. For example, at data times t1 and t2 , the observation of the first CFS parameter (dark circle) relative to the data time arrived first among the observations of all four CFS parameters, while at data time t3 , the observation of the first CFS parameter arrived last (the delay increased), and at data time t4 , it arrived second (the delay decreased). The situation is similar with observations of other CFS parameters. In addition, the speed of data time relative to the processing time also varies.
На Фиг. 9в показан пример потока, в котором значения параметров КФС измеряются не в узлах РИВС, а вариация задержки прибытия наблюдений параметров КФС отсутствует - то есть интервал времени между временем данных и временем процессинга для наблюдений параметров КФС остается постоянным, причем скорость хода времени данных относительно времени процессинга также остается постоянной. Fig. 9c shows an example of a flow in which the values of the parameters of the CFS are measured not in the RIVS nodes, and there is no variation in the delay in the arrival of the observations of the parameters of the CFS - that is, the time interval between the data time and the processing time for the observations of the parameters of the CFS remains constant, and the rate of the data time relative to the processing time also remains constant.
На Фиг. 9г показан пример реалистичного потока, в котором не выполняется ни одно из условий идеального потока. Fig. 9g shows an example of a realistic flow in which none of the ideal flow conditions are met.
Кроме примеров на Фиг. 9б-9г, связанных с нарушением потока данных, в потоке данных также может искажаться скорость хода времени данных относительно времени процессинга. На Фиг. 10а-10г представлены примеры изменения времени данных наблюдений параметров КФС в потоке. Обозначения аналогичны обозначениям на Фиг. 9а-9г. Линия иллюстрирует ход времени данных относительно времени процессинга. Под ходом времени данных понимается время, соответствующее текущему головному узлу РИВС, к которому относят большинство наблюдений параметров КФС, поступивших в текущий момент времени процессинга или непосредственно перед ним. Соответственно, изменение (продвижение в будущее) головного узла РИВС отражает ход времени данных во времени процессинга.In addition to the examples in Figs. 9b-9d related to the violation of the data flow, the speed of the data time relative to the processing time may also be distorted in the data flow. Figs. 10a-10d show examples of the change in the time of the observations of the parameters of the CFS in the flow. The designations are similar to the designations in Figs. 9a-9d . The line illustrates the time of the data relative to the processing time. The time of the data is understood to be the time corresponding to the current head node of the RIVS, to which most of the observations of the parameters of the CFS received at the current moment of processing time or immediately before it are related. Accordingly, the change (advancement into the future) of the head node of the RIVS reflects the time of the data in the processing time.
На Фиг. 10а показан пример флуктуации скорости хода времени данных относительно времени процессинга, вызванной вариациями нагрузки на различные системы, обрабатывающие движение потока наблюдений параметров КФС от объекта мониторинга к потоковому процессору 400. На Фиг. 10б показан пример, в котором поток данных прерывается (например, произошло временное отключение сети), после чего объект мониторинга быстро досылает накопившиеся наблюдения параметров КФС и возвращается к регулярной отправке телеметрии. На Фиг. 10в время данных расщеплено на три потока вследствие того, что измерения значений параметров КФС на объекте мониторинга производятся с участием трех разных часов. Наблюдения параметров КФС одного потока (одного набора параметров КФС) отстают от наблюдений параметров КФС другого потока (другого набора параметров КФС) на постоянный интервал во времени данных, а наблюдения параметров КФС третьего потока (третьего набора параметров КФС) уходят в будущее, затем время данных этого потока корректируется, и далее процесс повторяется. Fig. 10a shows an example of fluctuation in the data time rate relative to the processing time caused by variations in the load on various systems processing the movement of the FSC parameter observation stream from the monitoring object to the stream processor 400. Fig. 10b shows an example in which the data stream is interrupted (e.g., there was a temporary network outage), after which the monitoring object quickly sends the accumulated FSC parameter observations and returns to regular telemetry sending. In Fig. 10c, the data time is split into three streams due to the fact that the FSC parameter values are measured at the monitoring object using three different clocks. Observations of the FSC parameters of one stream (one set of FSC parameters) lag behind observations of the FSC parameters of another stream (another set of FSC parameters) by a constant interval in data time, and observations of the FSC parameters of the third stream (third set of FSC parameters) go into the future, then the data time of this stream is adjusted, and then the process is repeated.
Наконец, на Фиг. 10г показана, казалось бы, невозможная ситуация - скачок времени данных в будущее. Тем не менее, это вполне реалистичный сценарий: такое может произойти, когда источник телеметрии воспроизводит заранее записанный поток, который по каким-то причинам не мог быть передан принимающей стороне (детектору аномалий 200 или предиктивному анализатору 300) в реальном времени, тем не менее задача обнаружения аномалий в нём или выполнения предиктивного анализа актуальна. Запись потока содержит длительные паузы (например, соответствующие интервалам отключения оборудования) и для ускорения процесса источник телеметрии сокращает эти паузы до некоторого минимального значения во времени процессинга.Finally, Fig. 10g shows a seemingly impossible situation - a data time jump into the future. However, this is a quite realistic scenario: this can happen when the telemetry source plays a pre-recorded stream that for some reason could not be transmitted to the receiving party (anomaly detector 200 or predictive analyzer 300 ) in real time, but the task of detecting anomalies in it or performing predictive analysis is relevant. The stream recording contains long pauses (e.g., corresponding to equipment shutdown intervals) and to speed up the process, the telemetry source reduces these pauses to some minimum value in the processing time.
Таким образом, Фиг. 9б-9г, Фиг. 10а-10г показывают примеры искажения потока наблюдений параметров КФС и настоящее изобретение позволяет привести произвольно-распределенный поток наблюдений параметров КФС (в т. ч. как на указанных примерах), поступающих в реальном времени, к РИВС, пример которого представлен на Фиг. 9а, таким образом решив заявленную техническую задачу.Thus, Fig. 9b-9g, Fig. 10a-10g show examples of distortion of the flow of observations of the parameters of the CFS, and the present invention makes it possible to bring a randomly distributed flow of observations of the parameters of the CFS (including as in the indicated examples), arriving in real time, to the RIVS, an example of which is shown in Fig. 9a , thus solving the stated technical problem.
На Фиг. 11 представлен пример значений параметров КФС, указывающих на инциденты в данных. Fig. 11 shows an example of the values of the CFS parameters indicating incidents in the data.
Следует отметить, что время данных представляет собой показания часов, идущих на компьютерах объекта мониторинга (например КФС), которые не обязательно синхронизированы с истинным физическим временем. Вполне может оказаться, что время данных отдельных наблюдений параметров КФС не соответствует истинному времени создания этих наблюдений параметров КФС в силу различных задержек и неточностей, которые могут возникнуть в компьютерной системе, занимающейся формированием наблюдений параметров КФС на стороне объекта мониторинга. В общем случае разница между временем данных и истинным временем наблюдаемого процесса может варьироваться случайным образом. В некоторых случаях потоковый процессор 400 может определить некорректность хода часов источника, например, когда наблюдение параметра КФС было получено со временем данных из будущего относительно времени данных основного объема, получаемых в данный момент времени процессинга наблюдений параметров КФС. Такие наблюдения могут быть помечены как ранние (англ. early), и вычислитель 430 на этапе 508 может не вычислять значения тех выходных параметров КФС, которые зависят от входных параметров КФС в указанных ранних наблюдениях. В то же время при получении таких ранних наблюдений параметров КФС будет создан инцидент «сбой часов источника», потому что время данных таких наблюдений параметров КФС не может быть корректным. Причины возникновения таких инцидентов не всегда могут быть купированы автоматически и требуют расследования специалистом.It should be noted that the data time represents the readings of the clock running on the computers of the monitoring object (for example, the CFS), which are not necessarily synchronized with the true physical time. It may well turn out that the time of the data of individual observations of the CFS parameters does not correspond to the true time of creation of these observations of the CFS parameters due to various delays and inaccuracies that may arise in the computer system engaged in the formation of observations of the CFS parameters on the side of the monitoring object. In the general case, the difference between the data time and the true time of the observed process may vary randomly. In some cases, the stream processor 400 may determine an incorrectness of the source clock, for example, when the observation of the CFS parameter was received with the data time from the future relative to the time of the data of the main volume received at the current moment of time of processing the observations of the CFS parameters. Such observations may be marked as early, and the calculator 430 at step 508 may not calculate the values of those output parameters of the CFS that depend on the input parameters of the CFS in the said early observations. At the same time, when receiving such early observations of the parameters of the FSC, an incident of "source clock failure" will be created, because the time of such observations of the parameters of the FSC cannot be correct. The causes of such incidents cannot always be stopped automatically and require investigation by a specialist.
С другой стороны, появление (или увеличение частоты появления) опоздавших наблюдений параметров КФС (англ. late), чье время данных существенно отстает от времени данных основного объема получаемых в данный момент наблюдений параметров КФС, не обязательно является признаком отставания часов объекта мониторинга от истинного времени. Увеличение задержки доставки наблюдений параметров КФС может объясняться множеством других причин, связанных с функционированием промежуточных агентов. Для снижения числа опоздавших наблюдений параметров КФС в потоковом процессоре 400 может быть настроена автоматическая перекалибровка накопителя 420 (переопределение свойств потока 411, параметров Ds, Dt), активируемая, если частота опоздавших значений параметров КФС превысит заданный порог. Если перекалибровка не окажет эффекта, может потребоваться расследование ситуации специалистом. Калибровка накопителя 420 осуществляется таким образом, чтобы выходной поток наблюдений (значения выходных параметров КФС в узлах РИВС) формировался с минимальной задержкой относительно потока (то есть входного потока), но при этом чтобы все наблюдения параметров КФС, за исключением отстающих или ранних (то есть являющихся инцидентом), классифицировались как пришедшие вовремя (англ. on time) и передавались вычислителю 430. Это позволить решить указанную техническую проблему и достичь заявленных технических результатов.On the other hand, the occurrence (or increase in the occurrence frequency) of late observations of the CFS parameters (late), whose data time significantly lags behind the data time of the main volume of currently received observations of the CFS parameters, is not necessarily a sign of the clock of the monitoring object lagging behind the true time. An increase in the delay in the delivery of observations of the CFS parameters can be explained by many other reasons related to the functioning of intermediate agents. To reduce the number of late observations of the CFS parameters, an automatic recalibration of the accumulator 420 (redefinition of the properties of the stream 411 , parameters Ds, Dt ) can be configured in the flow processor 400 , activated if the frequency of late values of the CFS parameters exceeds a specified threshold. If the recalibration does not have an effect, an investigation of the situation by a specialist may be required. The calibration of the accumulator 420 is carried out in such a way that the output flow of observations (the values of the output parameters of the CFS in the RIVS nodes) is formed with a minimum delay relative to the flow (i.e. the input flow), but at the same time so that all observations of the parameters of the CFS, with the exception of lagging or early ones (i.e. those constituting an incident), are classified as having arrived on time (English: on time) and are transmitted to the computer 430. This will allow solving the specified technical problem and achieving the declared technical results.
В остальных случаях, т.е. когда наблюдения параметров КФС не могут быть квалифицированы как ранние или опоздавшие, потоковый процессор 400 и потребители данных (детекторы аномалий 200, предиктивные анализаторы 300) могут считать, что время данных соответствует истинному физическому времени процесса, наблюдаемого на объекте мониторинга.In other cases, i.e. when observations of the parameters of the CFS cannot be classified as early or late, the stream processor 400 and data consumers (anomaly detectors 200 , predictive analyzers 300 ) can consider that the data time corresponds to the true physical time of the process observed at the monitoring object.
На Фиг. 12 представлен пример работы потокового процессора на примере плотного потока наблюдений параметров КФС. Fig. 12 shows an example of the operation of a flow processor using a dense flow of observations of the parameters of the CFS.
Текущий момент времени процессинга показан вертикальной линией. Потоковый процессор 400, будучи вызван в этот момент по факту прибытия одного из наблюдений параметров КФС, относящихся к узлу 7, решает признать узел 7 головным узлом РИВС. Вследствие этого с учетом того, что Ds = 3, выгрузке по потоку подлежит узел 4. Поскольку последним выгруженным узлом РИВС является узел 2, то фактически будут выгружены узлы 3 и 4. Узлы 5, 6 и головной узел РИВС 7 продолжат накопление наблюдений параметров КФС.The current moment of processing time is shown by a vertical line. Stream processor 400 , being called at this moment by the fact of arrival of one of the observations of the parameters of the CFS related to node 7, decides to recognize node 7 as the head node of the RIVS. As a result, taking into account that Ds = 3, node 4 is subject to unloading by flow. Since the last unloaded node of the RIVS is node 2, then nodes 3 and 4 will actually be unloaded. Nodes 5, 6 and the head node of the RIVS 7 will continue to accumulate observations of the parameters of the CFS.
Прямоугольные рамки для каждого узла РИВС соответствуют времени накопления наблюдений параметров КФС по часам данных (высота вертикальной стороны рамки) и по часам процессинга (длина горизонтальной стороны рамки). По вертикали время накопления соответствует ячейке узла РИВС, а по горизонтали представляет собой интервал между прибытием на процессор первого наблюдения параметра КФС, относящегося к данному узлу, и моментом выгрузки узла.Rectangular frames for each RIVS node correspond to the accumulation time of the KFS parameter observations by the data clock (height of the vertical side of the frame) and by the processing clock (length of the horizontal side of the frame). Vertically, the accumulation time corresponds to the RIVS node cell, and horizontally it represents the interval between the arrival at the processor of the first observation of the KFS parameter related to this node and the moment of node unloading.
По факту признания головного узла РИВС 7 также устанавливается момент выгрузки этого узла по таймауту, который расположен в будущем на расстоянии Dt от текущего момента во времени процессинга. Этот момент добавляется в очередь выгрузки по таймаутам - список узлов РИВС и соответствующих им моментов времени процессинга, когда соответствующий узел должен быть выгружен по таймауту. В данном примере в очереди выгрузки по таймаутам уже находятся узлы 5 и 6. Как именно будут выгружены узлы 5-7, по потоку или по таймауту, потоковому процессору 400 в настоящий момент неизвестно (они будут выгружены в момент времени процессинга, когда выполнится тот или иной критерий выгрузки); соответствующие рамки показаны пунктиром.Based on the fact of recognition of the head node of RIVS 7, the moment of unloading of this node by timeout is also established, which is located in the future at a distance Dt from the current moment in processing time. This moment is added to the unloading queue by timeouts - a list of RIVS nodes and the corresponding moments of processing time when the corresponding node should be unloaded by timeout. In this example, nodes 5 and 6 are already in the unloading queue by timeouts. How exactly nodes 5-7 will be unloaded, by stream or by timeout, is currently unknown to stream processor 400 (they will be unloaded at the moment of processing time when one or another unloading criterion is met); the corresponding frames are shown with a dotted line.
Что касается ранее выгруженных узлов, то из Фиг. 12 видно, что они были выгружены по потоку: например, узел 2 был выгружен в момент признания головным узла РИВС 5. Формально узлы 1-4 всё еще находятся в очереди отгрузки по таймаутам, но эти элементы будут удалены из очереди по мере продвижения времени процессинга.As for the previously unloaded nodes, it is clear from Fig. 12 that they were unloaded in a flow: for example, node 2 was unloaded at the moment when RIVS 5 was recognized as the head node. Formally, nodes 1-4 are still in the unloading queue due to timeouts, but these elements will be removed from the queue as the processing time progresses.
На Фиг. 13 представлен пример работы потокового процессора на примере разреженного потока наблюдений параметров КФС. Fig. 13 shows an example of the operation of a stream processor using a sparse stream of observations of the parameters of the CFS.
В данном примере поток данных разрежен. В текущий момент времени процессинга потоковый процессор 400 был вызван по времени. Рекомендованное время вызова потокового процессора 400 было установлено ранее в момент признания узла 2 головным узлом РИВС как время, когда узел 2 должен быть выгружен по таймауту Dt. Фактически СУТД 110 выполнила вызов потокового процессора 400 несколько позже назначенного времени, что вполне допустимо.In this example, the data flow is sparse. At the current moment of processing time, the stream processor 400 was called by time. The recommended time of calling the stream processor 400 was set earlier at the moment of recognizing node 2 as the head node of the RIVS as the time when node 2 should be unloaded by timeout Dt . In fact, the SUTD 110 performed the call of the stream processor 400 somewhat later than the designated time, which is quite acceptable.
В момент вызова накопитель 420 обнаруживает, что никакие новые наблюдения параметров КФС не получены и, следовательно, узел 2 остается головным узлом РИВС. Дистанция выгрузки по потоку Ds равна 2, т.е. выгрузке по потоку подлежит узел 0, который давно выгружен, поскольку последний выгруженный узел L = 1. Инспектируя очередь на выгрузку по таймауту, накопитель 420 находит в ней единственный узел 2; время его выгрузки уже наступило, но он еще не был выгружен. Таким образом, в результате вызова потокового процессора 400 в текущий момент будет произведена выгрузка узла 2.At the moment of the call, the accumulator 420 detects that no new observations of the parameters of the CFS have been received and, therefore, node 2 remains the head node of the RIVS. The distance of the unloading along the flow Ds is equal to 2, i.e. node 0 is subject to unloading along the flow, which has long been unloaded, since the last unloaded node L = 1. Inspecting the queue for unloading by timeout, the accumulator 420 finds the only node 2 in it; the time of its unloading has already come, but it has not yet been unloaded. Thus, as a result of calling the stream processor 400 , node 2 will be unloaded at the current moment.
Видно, что в разреженном потоке решение о выгрузке узла по таймауту систематически принимается раньше, чем было бы принято решение о выгрузке того же узла по потоку. Если бы узел 2 выгружался по потоку, то этого события пришлось бы ждать до момента признания узла 4 головным узлом РИВС.It is evident that in a sparse flow, the decision to unload a node by timeout is systematically made earlier than the decision to unload the same node by flow would be made. If node 2 were unloaded by flow, then this event would have to wait until node 4 is recognized as the head node of the RIVS.
На Фиг. 14 представлена компьютерная система, на которой могут быть реализованы различные варианты систем и способов, раскрытых в настоящем описании. Компьютерная система 20 может представлять собой систему, сконфигурированную для реализации настоящего изобретения и может быть представлена в виде одного вычислительного устройства или в виде нескольких вычислительных устройств, например, настольного компьютера, портативного компьютера, ноутбука, сервера, мейнфрейма, встраиваемого устройства и других форм вычислительных устройств. Fig. 14 shows a computer system on which various embodiments of the systems and methods disclosed in this description can be implemented. Computer system 20 can be a system configured to implement the present invention and can be represented as a single computing device or as multiple computing devices, such as a desktop computer, a portable computer, a notebook, a server, a mainframe, an embedded device, and other forms of computing devices.
Как показано на Фиг. 14, компьютерная система 20 включает в себя: центральный процессор 21, системную память 22 и системную шину 23, которая связывает разные системные компоненты, в том числе память, связанную с центральным процессором 21. Системная шина 23 реализована, как любая известная из уровня техники шинная структура, содержащая в свою очередь память шины или контроллер памяти шины, периферийную шину и локальную шину, способную взаимодействовать с любой другой шинной архитектурой. Примерами шин являются: PCI, ISA, PCI-Express, HyperTransport™, InfiniBand™, Serial ATA, I2C и другие подходящие соединения между компонентами компьютерной системы 20. Центральный процессор 21 содержит один или несколько процессоров, имеющих одно или несколько ядер. Центральный процессор 21 исполняет один или несколько наборов машиночитаемых инструкций, реализующих способы, представленные в настоящем документе. Системная память 22 может быть любой памятью для хранения данных и/или компьютерных программ, исполняемых центральным процессором 21. Системная память может содержать как постоянное запоминающее устройство (ПЗУ) 24, так и память с произвольным доступом (ОЗУ) 25. Основная система ввода/вывода (BIOS) 26, содержит основные процедуры, которые обеспечивают передачу информации между элементами компьютерной системы 20, например, в момент загрузки операционной системы с использованием ПЗУ 24.As shown in Fig. 14 , the computer system 20 includes: a central processor 21 , a system memory 22 and a system bus 23 that connects various system components, including memory associated with the central processor 21 . The system bus 23 is implemented as any bus structure known in the art, which in turn contains a bus memory or a bus memory controller, a peripheral bus and a local bus capable of interacting with any other bus architecture. Examples of buses are: PCI, ISA, PCI-Express, HyperTransport™, InfiniBand™, Serial ATA, I2C and other suitable connections between components of the computer system 20 . The central processor 21 contains one or more processors having one or more cores. The central processor 21 executes one or more sets of machine-readable instructions that implement the methods presented in this document. The system memory 22 may be any memory for storing data and/or computer programs executed by the central processor 21 . The system memory may contain both a read-only memory (ROM) 24 and a random access memory (RAM) 25 . The main input/output system (BIOS) 26 contains the main procedures that ensure the transfer of information between elements of the computer system 20 , for example, at the time of loading the operating system using the ROM 24 .
Компьютерная система 20 включает в себя одно или несколько устройств хранения данных, таких как одно или несколько извлекаемых запоминающих устройств 27, одно или несколько неизвлекаемых запоминающих устройств 28, или комбинации извлекаемых и неизвлекаемых устройств. Одно или несколько извлекаемых запоминающих устройств 27 и/или неизвлекаемых запоминающих устройств 28 подключены к системной шине 23 через интерфейс 32. В одном из вариантов реализации извлекаемые запоминающие устройства 27 и соответствующие машиночитаемые носители информации представляют собой энергонезависимые модули для хранения компьютерных инструкций, структур данных, программных модулей и других данных компьютерной системы 20. Системная память 22, извлекаемые запоминающие устройства 27 и неизвлекаемые запоминающие устройства 28 могут использовать различные машиночитаемые носители информации. Примеры машиночитаемых носителей информации включают в себя машинную память, такую как кэш-память, SRAM, DRAM, ОЗУ не требующую конденсатора (Z-RAM), тиристорную память (T-RAM), eDRAM, EDO RAM, DDR RAM, EEPROM, NRAM, RRAM, SONOS, PRAM; флэш-память или другие технологии памяти, такие как твердотельные накопители (SSD) или флэш-накопители; магнитные кассеты, магнитные ленты и магнитные диски, такие как жесткие диски или дискеты; оптические носители, такие как компакт-диски (CD-ROM) или цифровые универсальные диски (DVD); и любые другие носители, которые могут быть использованы для хранения нужных данных и к которым может получить доступ компьютерная система 20.The computer system 20 includes one or more data storage devices, such as one or more removable storage devices 27 , one or more non-removable storage devices 28 , or combinations of removable and non-removable devices. One or more removable storage devices 27 and/or non-removable storage devices 28 are connected to the system bus 23 via the interface 32. In one embodiment, the removable storage devices 27 and the corresponding computer-readable storage media are non-volatile modules for storing computer instructions, data structures, program modules and other data of the computer system 20. The system memory 22 , the removable storage devices 27 and the non-removable storage devices 28 can use various computer-readable storage media. Examples of computer-readable storage media include computer memory such as cache memory, SRAM, DRAM, Z-RAM, T-RAM, eDRAM, EDO RAM, DDR RAM, EEPROM, NRAM, RRAM, SONOS, PRAM; flash memory or other memory technologies such as solid-state drives (SSD) or flash drives; magnetic cassettes, magnetic tapes, and magnetic disks such as hard disks or floppy disks; optical media such as compact discs (CD-ROM) or digital versatile discs (DVD); and any other media that can be used to store desired data and that can be accessed by a computer system 20 .
Системная память 22, извлекаемые запоминающие устройства 27 и неизвлекаемые запоминающие устройства 28, содержащиеся в компьютерной системе 20 используются для хранения операционной системы 35, приложений 37, других программных модулей 38 и программных данных 39. Компьютерная система 20 включает в себя периферийный интерфейс 46 для передачи данных от устройств ввода 40, таких как клавиатура, мышь, стилус, игровой контроллер, устройство голосового ввода, устройство сенсорного ввода, или других периферийных устройств, таких как принтер или сканер через один или несколько портов ввода/вывода, таких как последовательный порт, параллельный порт, универсальная последовательная шина (USB) или другой периферийный интерфейс. Устройство отображения 47, такое как один или несколько мониторов, проекторов или встроенных дисплеев, также подключено к системной шине 23 через выходной интерфейс 48, такой как видеоадаптер. Помимо устройств отображения 47, компьютерная система 20 оснащена другими периферийными устройствами вывода (на Фиг. 14 не показаны), такими как динамики и другие аудиовизуальные устройства.The system memory 22 , the removable storage devices 27 and the non-removable storage devices 28 contained in the computer system 20 are used to store the operating system 35 , applications 37 , other program modules 38 and program data 39. The computer system 20 includes a peripheral interface 46 for transmitting data from input devices 40 , such as a keyboard, mouse, stylus, game controller, voice input device, touch input device, or other peripheral devices, such as a printer or scanner through one or more input/output ports, such as a serial port, parallel port, universal serial bus (USB) or other peripheral interface. A display device 47 , such as one or more monitors, projectors or built-in displays, is also connected to the system bus 23 through an output interface 48 , such as a video adapter. In addition to the display devices 47 , the computer system 20 is equipped with other peripheral output devices (not shown in Fig. 14 ), such as speakers and other audiovisual devices.
Компьютерная система 20 может работать в сетевом окружении, используя сетевое соединение с одним или несколькими удаленными компьютерами 49. Удаленный компьютер (или компьютеры) 49 является рабочим персональным компьютером или сервером, который содержит большинство или все упомянутые компоненты, отмеченные ранее при описании сущности компьютерной системы 20, представленной на Фиг. 14. В сетевом окружении также могут присутствовать и другие устройства, например, маршрутизаторы, сетевые станции или другие сетевые узлы. Компьютерная система 20 может включать один или несколько сетевых интерфейсов 51 или сетевых адаптеров для связи с удаленными компьютерами 49 через одну или несколько сетей, таких как локальная компьютерная сеть (LAN) 50, глобальная компьютерная сеть (WAN), интранет и Интернет. Примерами сетевого интерфейса 51 являются интерфейс Ethernet, интерфейс Frame Relay, интерфейс SONET и беспроводные интерфейсы.The computer system 20 may operate in a network environment using a network connection with one or more remote computers 49. The remote computer (or computers) 49 is a working personal computer or a server that contains most or all of the components mentioned earlier in describing the essence of the computer system 20 shown in Fig. 14. Other devices may also be present in the network environment, such as routers, network stations or other network nodes. The computer system 20 may include one or more network interfaces 51 or network adapters for communicating with the remote computers 49 via one or more networks, such as a local area network (LAN) 50 , a wide area network (WAN), an intranet and the Internet. Examples of a network interface 51 are an Ethernet interface, a Frame Relay interface, a SONET interface and wireless interfaces.
Варианты раскрытия настоящего изобретения могут представлять собой систему, способ, или машиночитаемый носитель (или носитель) информации.Embodiments of the present invention may be a system, a method, or a computer-readable storage medium (or carrier).
Машиночитаемый носитель информации является осязаемым устройством, которое сохраняет и хранит программный код в форме машиночитаемых инструкций или структур данных, к которым имеет доступ центральный процессор 21 компьютерной системы 20. Машиночитаемый носитель может быть электронным, магнитным, оптическим, электромагнитным, полупроводниковым запоминающим устройством или любой подходящей их комбинацией. В качестве примера, такой машиночитаемый носитель информации может включать в себя память с произвольным доступом (RAM), память только для чтения (ROM), EEPROM, портативный компакт-диск с памятью только для чтения (CD-ROM), цифровой универсальный диск (DVD), флэш-память, жесткий диск, портативную компьютерную дискету, карту памяти, дискету или даже механически закодированное устройство, такое как перфокарты или рельефные структуры с записанными на них инструкциями.A computer-readable storage medium is a tangible device that stores and stores program code in the form of computer-readable instructions or data structures that are accessible to the central processor 21 of the computer system 20. The computer-readable storage medium may be an electronic, magnetic, optical, electromagnetic, semiconductor memory device, or any suitable combination thereof. As an example, such a computer-readable storage medium may include random access memory (RAM), read-only memory (ROM), EEPROM, a portable compact disc with read-only memory (CD-ROM), a digital versatile disk (DVD), flash memory, a hard disk, a portable computer diskette, a memory card, a floppy disk, or even a mechanically encoded device such as punched cards or relief structures with instructions recorded thereon.
Система и способ настоящего изобретения, могут быть рассмотрены в терминах средств. Термин «средство», используемый в настоящем документе, относится к реальному устройству, компоненту или группе компонентов, реализованных с помощью аппаратного обеспечения, например, с помощью интегральной схемы, специфичной для конкретного приложения (ASIC) или FPGA, или в виде комбинации аппаратного и программного обеспечения, например, с помощью микропроцессорной системы и набора машиночитаемых инструкций для реализации функциональности средства, которые (в процессе выполнения) превращают микропроцессорную систему в устройство специального назначения. Средство также может быть реализовано в виде комбинации этих двух компонентов, при этом некоторые функции могут быть реализованы только аппаратным обеспечением, а другие функции - комбинацией аппаратного и программного обеспечения. В некоторых вариантах реализации, по крайней мере, часть, а в некоторых случаях и все средство может быть выполнено на центральном процессоре 21 компьютерной системы 20. Соответственно, каждое средство может быть реализовано в различных подходящих конфигурациях и не должно ограничиваться каким-либо конкретным вариантом реализации, приведенным в настоящем документе.The system and method of the present invention can be considered in terms of means. The term "means" as used herein refers to an actual device, component or group of components implemented by hardware, such as an application-specific integrated circuit (ASIC) or FPGA, or as a combination of hardware and software, such as a microprocessor system and a set of machine-readable instructions for implementing the functionality of the means, which (when executed) transform the microprocessor system into a special-purpose device. The means can also be implemented as a combination of these two components, whereby some functions can be implemented only by hardware, and other functions - by a combination of hardware and software. In some embodiments, at least part, and in some cases all, of the means can be executed on the central processor 21 of the computer system 20. Accordingly, each means can be implemented in various suitable configurations and should not be limited to any particular embodiment given herein.
В заключение следует отметить, что приведенные в описании сведения являются примерами, которые не ограничивают объем настоящего изобретения, определенного формулой. Специалисту в данной области становится понятным, что при разработке любого реального варианта осуществления настоящего изобретения необходимо принять множество решений, специфических для конкретного варианта осуществления, для достижения конкретных целей, и эти конкретные цели будут разными для разных вариантов осуществления. Понятно, что такие усилия по разработке могут быть сложными и трудоемкими, но, тем не менее, они будут обычной инженерной задачей для тех, кто обладает обычными навыками в данной области, пользуясь настоящим раскрытием изобретения.Finally, it should be noted that the information provided in the description is examples that do not limit the scope of the present invention defined by the claims. It will be clear to one skilled in the art that in developing any actual embodiment of the present invention, many decisions specific to a particular embodiment must be made in order to achieve specific goals, and these specific goals will be different for different embodiments. It is understood that such development efforts can be complex and time-consuming, but, nevertheless, they will be a routine engineering task for those of ordinary skill in the art, using the present disclosure.
Claims (27)
Publications (1)
Publication Number | Publication Date |
---|---|
RU2825558C1 true RU2825558C1 (en) | 2024-08-27 |
Family
ID=
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10496927B2 (en) * | 2014-05-23 | 2019-12-03 | DataRobot, Inc. | Systems for time-series predictive data analytics, and related methods and apparatus |
US20200133977A1 (en) * | 2016-02-05 | 2020-04-30 | Sas Institute Inc. | Staged training of neural networks for improved time series prediction performance |
US20200210263A1 (en) * | 2018-12-28 | 2020-07-02 | AO Kaspersky Lab | System and method for detecting anomalies in cyber-physical system with determined characteristics |
US20200210264A1 (en) * | 2018-12-28 | 2020-07-02 | AO Kaspersky Lab | System and method of generating data for monitoring of a cyber-physical system for early determination of anomalies |
RU2749252C1 (en) * | 2020-02-26 | 2021-06-07 | Акционерное общество "Лаборатория Касперского" | Method of determining anomaly sources in a cyber-physical system |
RU2750060C2 (en) * | 2017-12-06 | 2021-06-21 | Общество С Ограниченной Ответственностью "Яндекс" | Method and system for industrial process control using trained machine learning algorithm (mla) |
US11340774B1 (en) * | 2014-10-09 | 2022-05-24 | Splunk Inc. | Anomaly detection based on a predicted value |
RU2775817C2 (en) * | 2020-04-10 | 2022-07-11 | Общество с ограниченной ответственностью "Яндекс Беспилотные Технологии" | Method and system for training machine learning algorithm for detecting objects at a distance |
EP4033421A1 (en) * | 2021-01-26 | 2022-07-27 | Arisk S.r.l. | Method and system for predicting a failure of a monitored entity |
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10496927B2 (en) * | 2014-05-23 | 2019-12-03 | DataRobot, Inc. | Systems for time-series predictive data analytics, and related methods and apparatus |
US11340774B1 (en) * | 2014-10-09 | 2022-05-24 | Splunk Inc. | Anomaly detection based on a predicted value |
US20200133977A1 (en) * | 2016-02-05 | 2020-04-30 | Sas Institute Inc. | Staged training of neural networks for improved time series prediction performance |
RU2750060C2 (en) * | 2017-12-06 | 2021-06-21 | Общество С Ограниченной Ответственностью "Яндекс" | Method and system for industrial process control using trained machine learning algorithm (mla) |
US20200210263A1 (en) * | 2018-12-28 | 2020-07-02 | AO Kaspersky Lab | System and method for detecting anomalies in cyber-physical system with determined characteristics |
US20200210264A1 (en) * | 2018-12-28 | 2020-07-02 | AO Kaspersky Lab | System and method of generating data for monitoring of a cyber-physical system for early determination of anomalies |
US11175976B2 (en) * | 2018-12-28 | 2021-11-16 | AO Kaspersky Lab | System and method of generating data for monitoring of a cyber-physical system for early determination of anomalies |
RU2749252C1 (en) * | 2020-02-26 | 2021-06-07 | Акционерное общество "Лаборатория Касперского" | Method of determining anomaly sources in a cyber-physical system |
RU2775817C2 (en) * | 2020-04-10 | 2022-07-11 | Общество с ограниченной ответственностью "Яндекс Беспилотные Технологии" | Method and system for training machine learning algorithm for detecting objects at a distance |
EP4033421A1 (en) * | 2021-01-26 | 2022-07-27 | Arisk S.r.l. | Method and system for predicting a failure of a monitored entity |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110888788B (en) | Abnormality detection method, abnormality detection device, computer device, and storage medium | |
US10410135B2 (en) | Systems and/or methods for dynamic anomaly detection in machine sensor data | |
EP3654186B1 (en) | Automated identification of device status and resulting dynamic modification of device operations | |
US10452983B2 (en) | Determining an anomalous state of a system at a future point in time | |
US20210056430A1 (en) | Intelligent time-series analytic engine | |
CN111045894B (en) | Database abnormality detection method, database abnormality detection device, computer device and storage medium | |
WO2016161263A1 (en) | Predictive analytic reliability tool set for detecting equipment failures | |
EP3827387A1 (en) | Systematic prognostic analysis with dynamic causal model | |
US8949676B2 (en) | Real-time event storm detection in a cloud environment | |
CN107871190A (en) | A kind of operational indicator monitoring method and device | |
US20050097207A1 (en) | System and method of predicting future behavior of a battery of end-to-end probes to anticipate and prevent computer network performance degradation | |
WO2018071005A1 (en) | Deep long short term memory network for estimation of remaining useful life of the components | |
EP4075306A1 (en) | Time-series anomaly prediction and alert | |
US20160110653A1 (en) | Method and apparatus for predicting a service call for digital printing equipment from a customer | |
JP2023547849A (en) | Method or non-transitory computer-readable medium for automated real-time detection, prediction, and prevention of rare failures in industrial systems using unlabeled sensor data | |
US11736363B2 (en) | Techniques for analyzing a network and increasing network availability | |
US11620539B2 (en) | Method and device for monitoring a process of generating metric data for predicting anomalies | |
EP4131094A1 (en) | Prediction method and apparatus, readable medium, and electronic device | |
WO2015171860A1 (en) | Automatic alert generation | |
RU2825558C1 (en) | Method of reducing stream of observations of parameters of cyberphysical system coming in real time to equal-interval time grid | |
RU2824318C1 (en) | Method of detecting anomalies in cyber-physical system in real time | |
RU2827689C2 (en) | Method for predictive analysis in cyber-physical system in real time | |
WO2010001966A1 (en) | Time-series data processing device and method and program thereof | |
US20240333742A1 (en) | System and method for detecting anomalies in a cyber-physical system in real time | |
Kirschenmann et al. | Decision dependent stochastic processes |