УСТРОЙСТВО ДЛЯ ОБРАБОТКИ ПОТОКОВ ПРОСТРАНСТВЕННО-ВРЕМЕННЫХ ДАННЫХ В РЕЖИМЕ РЕАЛЬНОГО ВРЕМЕНИ

Полезная модель относится к средствам обработки информации, а именно к устройству для обработки потоков пространственно-временных данных в режиме реального времени, и может быть использована в составе киберфизической системы мониторинга производственных процессов на основе распределенных сетей интеллектуальных геосенсоров.
При обработке потоков пространственно-временных данных, поступающих от сетей геосенсоров, существует необходимость определять значение пространственных предикатов вида: «есть ли пересечение между областями g и p», где g - область неопределенности положения геосенсора в момент измерения, а p - некоторая область, определенная задачей предметной области.
Традиционный подход к выполнению задач такого рода предполагает комбинирование двух этапов – этапа предварительной фильтрации с помощью того или иного пространственного индекса и этапа расчета пространственного предиката с помощью модели девяти измерений Эгенхофера и Герринга или расширенной модели девяти пересечений (DE-9IM, Dimensionally Extended 9 Intersection Model), разработанной Клементини с соавторами.
В настоящее время существует потребность в создании более эффективных средств для обработки потоков пространственно-временных данных в режиме реального времени, обеспечивающих обработку большого количества пространственно-координированных сообщений с контролируемой задержкой. То есть, система должна обладать высокой пропускной способностью, чтобы обрабатывать N поступающих сообщений в секунду, при этом реакция системы на каждое сообщение должна формироваться не более чем за S секунд (латентность).
Авторы полезной модели нашли способ решения вышеуказанной проблемы путем создания решения, обеспечивающего аппаратную реализацию части процесса обработки, предполагающего предварительную интерпретацию координат из сообщения. Таким образом, уточненная (окончательная) интерпретация координат в части случаев может быть вообще не нужна, а в остальных - требовать значительно меньшее количество данных. Это в совокупности позволяет, и повысить пропускную способность, и понизить латентность системы обработки пространственно-временных данных.
Техническим результатом заявленной полезной модели является повышение эффективности обработки потоков пространственно-временных данных за счет уменьшения времени предварительной фильтрации сообщений и повышения пропускной способности устройства.
Указанный технический результат достигается тем, что заявленное устройство для обработки потоков пространственно-временных данных в режиме реального времени содержит маршрутизатор, отвечающий за последовательную обработку поступающих сообщений и, по меньшей мере два параметризируемых программируемых вычислительных блока, каждый из которых выполнен с возможностью реализации оператора, выбранного из следующих: сопоставление координат в ячейках регулярной сетки с флагами и сопоставление координат и отсекающих прямых с флагами.
На фиг. 1 представлена блок-схема, отражающая общий принцип работы устройства в соответствии с одним из возможных вариантов его осуществления.
Заявленное устройство для обработки потоков пространственно-временных данных в режиме реального времени работает на уровне сообщений, каждое из которых содержит некую полезную нагрузку, включающую в себя координаты и набор логических признаков - флагов.
Под флагом понимается логический признак: он либо есть, либо его нет. Изначально набор флагов пуст.
Физическая реализация устройства предполагает наличие аппаратной реализации элементарных базовых процедур – операторов в виде специализированных микросхем или ПЛИС (программируемых логических интегральных схем). Примером могут быть представители семейств UltraScale и UltraScale+ производства Intel и Xlinix. Оператор отвечает за процедуру, получающую на вход данные сообщения и модифицирующую его набор флагов в зависимости от результата обработки. Конкретный состав операторов может варьироваться в зависимости от задачи и условий эксплуатации.
В соответствии с поставленной авторами задачей, заявленное устройство ориентировано на обработку пространственных данных с высокой производительностью, поэтому операторы должны быть способны обрабатывать каждое сообщение за ограниченное время, в идеале - константное.
Примерами задач пространственного анализа, решаемых операторами, могут быть следующие.
1. Определение принадлежности координат ячейкам регулярной сетки: каждая ячейка предполагает добавление некоторого набора флагов.
2. Определение взаимного положения координат и набора отсекающих прямых: каждая комбинация взаимных положений предполагает добавление некоторого набора флагов.
Для работы операторов необходимы данные. Например, для оператора 1 (см. блок 1 на фиг. 1) это параметры регулярных сеток и наборы флагов для каждой ячейки, а для оператора 2 - наборы отсекающих прямых и наборы флагов для каждой их комбинации.
Для хранения необходимых данных используется программируемая память оператора. Она доступна оператору в режиме чтения и может быть разделена между несколькими экземплярами одного оператора.
Аппаратная реализация оператора требует для работы некоторого набора периферийного оборудования, поддерживающего его функционирование и обеспечивающего прием и передачу обрабатываемых данных, вместе с которыми он образует блок обработки информации. Сам набор оборудования определяется спецификацией ПЛИС или микроконтроллера. Несколько блоков могут обеспечивать реализацию одного и того же оператора, что, благодаря параллельному функционированию блоков, позволяет выполнять один оператор над несколькими сообщениями одновременно.
Координацию обработки и, главным образом, распределение сообщений по блокам осуществляет Маршрутизатор. Его аппаратная реализация может быть построена на специализированных ПЛИС, аналогичных тем, что используются для реализации операторов (Intel, Xlinix и др.) или высокопроизводительном программируемом микроконтроллере (например, на базе архитектуры, ARM).
Работа маршрутизатора определяется программой маршрутизации, также хранимой в памяти. Память маршрутизатора может быть реализована как отдельным устройством, так и может быть предусмотрена в составе ПЛИС или микроконтроллера, реализующего основные функции маршрутизатора.
Маршрутизатор обрабатывает поступающие сообщения последовательно. Обработка заключается в сопоставлении набора флагов каждого сообщения с эталонными, определяемыми программой маршрутизации, и при обнаружении совпадения - направлении сообщения на обработку в свободный блок, определенного программой маршрутизации типа. При отсутствии совпадений, сообщение отправляется на выход устройства.
Маршрутизатор работает исходя из предположения, что результат работы будет размещен оператором в очереди обработки.
Очередь обработки представляет собой комплекс решений для хранения и приоритезации сообщений, требующих обработки. Аппаратная реализация очереди обработки может быть конструктивно обособлена и построена на базе ПЛИС или микроконтроллера, либо быть интегрирована в состав Маршрутизатора.
Входом и выходом заявленного устройства является комплекс аппаратно- программных решений, обеспечивающих интеграцию устройства с вычислительным оборудованием общего назначения.
Его реализация может быть построена, например, на базе сети Ethernet, либо локальной шины взаимодействия с периферийными устройствами PCI-Express.
При этом входная часть обеспечивает взаимодействие с источником сообщений, а выходная - с получателем. Источник и получатель сообщений могут быть как интегрированы, так и обособлены.
Получатель сообщений способен также реализовывать управляющую связь - передачу набора сигналов, позволяющих менять данные программируемой памяти операторов и программы маршрутизации.
Эксплуатация заявленного устройства предполагает две фазы:
1. программирование, заключающееся в задействовании управляющей связи для записи нужных данных в программируемую память операторов и программу маршрутизации, и
2. анализ, предполагающий непосредственно обработку сообщений.
Данные, которые должны быть записаны в программируемую память операторов и программу маршрутизации составляют основу адаптации устройства для различных территорий и задач - программу.
Построение программы устройства предполагает решение оптимизационной задачи, предполагающей поиск оптимального разложения задачи предметной области на операторы с учетом наличия, количества и характеристик их аппаратных реализаций в устройстве, и вероятностных характеристик потока исходных данных.
Пример работы маршрутизатора и устройства.
Работа маршрутизатора по обработке поступающих сообщений основана на методе последовательного приближения и может быть проиллюстрирована следующим образом.
1. Сообщение M, содержащее координаты события и пустой набор флагов прибывает в очередь Q.
2. Маршрутизатор R извлекает M из Q и, согласно правилу для пустого набора флагов, направляет M в блок, реализующий оператор A.
3. Блок, реализующий оператор A, сопоставляет координаты из M с грубой сеткой и обнаруживает, что M относится к квадрату на территории (например, г. Москва).
4. Реализация оператора A добавляет в набор флагов сообщения M флаг, соответствующий "Москва" и направляет его на повторную обработку.
5. Маршрутизатор R извлекает M из Q и согласно правилу для набора флагов ("Москва"), направляет M в блок, реализующий оператор B.
6. Блок, реализующий оператор B, сопоставляет координаты из M с более точной сеткой, соответствующей г. Москве и обнаруживает, что M относится к квадрату, в котором находятся центральный и западный административный округа.
7. Реализация оператора A добавляет в набор флагов сообщения M флаг, соответствующий "Москва, ЦАО или ЗАО" и направляет его на повторную обработку.
8. Маршрутизатор R извлекает M из Q и согласно правилу для набора флагов ("Москва", "Москва, ЦАО или ЗАО"), направляет M в блок, реализующий оператор C.
9. Блок, реализующий оператор B, сопоставляет координаты из M с набором отсекающих прямых и обнаруживает, что M относится к квадрату, в котором находится пресненский район ЦАО.
10. Реализация оператора A добавляет в набор флагов сообщения M флаги, соответствующий "Москва, ЦАО" и "Москва, ЦАО, Пресненский район" и направляет его на повторную обработку.
11. Маршрутизатор R извлекает M из Q и, не найдя соответствующего правила, отправляет сообщение M на выход из обработки, с флагами: "Москва", "Москва, ЦАО или ЗАО", "Москва, ЦАО", "Москва, ЦАО, Пресненский район".
При этом маршрутизатор может обеспечить обработку нескольких сообщений различными блоками, т.е. обеспечить их параллельную обработку.