Отправлять данные датчиков в базу данных hazelcast и связывать их с инструментами разработки для разработки панелей мониторинга. - PullRequest
0 голосов
/ 22 мая 2018

Можем ли мы использовать базу данных Hazel-Cast для связывания и проектирования данных в соответствии с трекером с гистограммой, ниже приведены точки, которые мне необходимо подтвердить для создания приложения для аппаратного обеспечения: - Я использую датчик температуры связался с Arduino Yun и хотел выгрузить данные, данные датчиком температуры, на сервер Haze-Cast.

  • Используя один выход базы данных, загруженный на сервер Hazelcast, считывает данные через базу данных через Arduino.MKR1000.

  • Свяжите данные с различными инструментами разработки для проектирования различных типов панелей мониторинга, таких как круговая диаграмма, гистограмма, линейная диаграмма и т. Д. Пожалуйста, предложите, как лучше всего создать ссылку для создания базы данных.в сетке данных

Ответы [ 2 ]

0 голосов
/ 24 мая 2018

То, как вы хотите использовать данные на своей инструментальной панели, будет в основном зависеть от того, как вы смоделировали свои данные - одну карту или несколько карт и т. Д. Затем вы можете извлечь данные с помощью поиска по одному ключу или выполнить запросы и использовать их дляприборная доска.Вы можете определить время жизни данных - будь то несколько минут, часов или дней.См. Выселение: http://docs.hazelcast.org/docs/3.10.1/manual/html-single/index.html#map-eviction

Если вы решите использовать инструмент визуализации для панели мониторинга, который может использовать JMX, то вы можете привязаться к бинам JMX, подверженным Hazelcast, которые предоставят вам информацию о данных, хранящихся в кластере, и многое другое.,Проверьте это: http://docs.hazelcast.org/docs/3.10.1/manual/html-single/index.html#monitoring-with-jmx

0 голосов
/ 23 мая 2018

Вы можете настроить Hazelcast для использования MapLoader - MapStore для сохранения кэшированных данных в любом внутреннем механизме сохранения - реляционные базы данных или базы данных no-sql могут быть хорошим выбором.С вашей первой точки зрения, я не ожидал бы, что что-нибудь, работающее на Arduino, будет обновлять базу данных напрямую, но MKR1000 обеспечит вам подключение, так что вы можете использовать Kafka / MQTT /… - взгляните на https://blog.hazelcast.com/hazelcast-backbone-iot-internet-things/. Если вы выберете этот маршрут, вы настроите базу данных, доступную для всех членов кластера, создадите класс MapLoader / MapStore (см. пример кода , для справки) и сконфигурируйте кластер для чтения / записи.Как только данные находятся в кластере, доступ к ним становится легким, и вы можете использовать инструмент панели мониторинга по своему выбору для представления данных.

(редактировать) - к вашему вопросу о представлении исторических данных на панели инструментов:

В блоге Рахула описывается очень крутая реализация управления данными в режиме реального времени в режиме реального времени в Hazelcast RingBuffer .В этом посте, я думаю, он упомянул сбор данных каждую секунду и буферизацию двух минут.

Кольцевой буфер имеет настроенную емкость, но учтите, что он перезаписывает, при добавлении - это своего родадля систем реального времени;учитывая выбор, потеря старых данных или сбой.

Для обобщенного подхода с использованием инструментов запросов, я думаю, вы бы усилили это.Вдобавок ко всему, я мог видеть использование кольцевого буфера в сочетании с распределенной картой.Вы можете (но не обязательно) заполнять карту, используя перехватчик события карты для заполнения кольцевого буфера.Это должно оставить существующую функциональность нетронутой.Карта, однако, позволит вам настроить хранилище карт / загрузчик карт, чтобы ваши данные сохранялись в резервном хранилище.Карта будет поддерживать запросы, но имейте в виду, что запросы IMDG не считываются в резервное хранилище.

Это даст вам гибкость за счет некоторой сложности.Данные в реальном времени в кольцевом буфере будут всегда доступны, быстро и легко.Данные, возвращаемые при запросе карты, также будут очень быстрыми.Для «исторических» данных вы можете запросить хранилище резервных копий, которое работает медленнее, но, вероятно, будет иметь относительно большую емкость хранилища.Хитрость заключается в том, чтобы знать, когда запрашивать каждый.Самые последние данные - это данные с фиксированной емкостью.Вы должны знать, сколько в кластере - то есть, как далеко уходит ваша история в памяти.Я думаю, что лучше всего настроить срок действия до полезного предела и выделить хранилище, чтобы данные покидали карту по истечении срока действия, а не по факту выселения.Таким образом, вы можете узнать, каково начало истории в памяти.Мониторинг событий выселения скажет вам, что ваш кластер имеет полное представление данных за известное время.

...