Новости

Как Wialon работает с данными

О каких данных идет речь

Начнем с терминов: что в данном случае мы имеем в виду под «‎данными»?
Данные – это сообщения, которые сохраняет и передает устройство, установленное на объекте. Такие сообщения включают в себя:
  • время;
  • информацию от GPS-модуля: координаты, скорость, высоту, количество спутников;
  • параметры от внешних и внутренних датчиков: уровень топлива от ДУТ, количество оборотов колеса от одометра и так далее.
Wialon принимает эти данные, в случае необходимости вносит в них изменения и обрабатывает.
Расскажем подробно о каждом этапе работы с данными.

Время в Wialon

Для Wialon время – это исключительно важная информация, так как именно по времени происходит сортировка сообщений.
Как это работает: трекер формирует сообщение, используя формат Unix-времени (количество секунд, прошедших с полуночи 1 января 1970 года) и отправляет на сервер Wialon.

Как время влияет на данные

  • Wialon обрезает время до секунды, а миллисекунды не указывает. При этом популярные трекеры вроде Teltonika, Ruptela, Galileosky могут генерировать более одного сообщения в секунду. При большом потоке сообщений это может привести к путанице, поскольку у Wialon нет другого критерия сортировки сообщений, кроме времени.
Команда разработчиков Wialon рассматривает возможность увеличения размера поля для времени на три символа. Но реализация и тестирование этой доработки – дело небыстрое, так как обработка данных по секундам и миллисекундам должна быть максимально надежной.
  • Время сохранения сообщения трекером меньше либо равно времени его отправки трекером из своей памяти, и все это меньше либо равно времени прихода на сервер.
Выглядит это так:
Правило Wialon для времени сохранения сообщения
На практике пользователь может столкнуться с ситуацией, которую мы называем «сообщение из будущего»: сервер получает сообщение с меткой времени, которое по его часам еще не наступило. Из-за чего это происходит:
  • Конфигурация устройства. Если в трекере не установлен часовой пояс UTC+0, то трекер может отправить сообщение на сервер с неправильной меткой времени. В итоге Wialon может получить сообщение с временной меткой «из будущего» и будет вынужден изменить ее. Решение простое – настроить время трекера по UTC+0.
  • Синхронизация времени. Ситуация характерна для Wialon Local: когда не настроена синхронизация, возможны отклонения по времени у сервера на секунды и даже минуты. Это приводит к нарушению упомянутого выше неравенства. Чтобы этого избежать, администратор сервера должен настроить периодическую синхронизацию времени по NTP (протоколу сетевого времени).

Параметры датчиков

Параметры – это значения в сообщениях, которые описывают состояние отслеживаемого объекта и установленного на него оборудования.

Что осложняет работу с параметрами

  • Нечитабельность данных. Информация, которую Wialon получает, не всегда понятна пользователю.
Когда пользователь видит значение temperature13, он понимает: речь идет о температуре. Но температуре чего: двигателя, топлива или воздуха? В градусах по Цельсию или Фаренгейту?
И таких вопросов может быть очень много по любому параметру. Каждый производитель трекеров имеет свое представление о том, как нужно записывать значения.
Wialon со своей стороны унифицирует общие для всех трекеров параметры. Например, параметр speed – это всегда скорость, lat, lon – координаты и так далее.
  • Отсутствие единого стандарта отображения данных. Wialon работает с 2 300 моделями оборудования, и их число растет. Подобная гибкость имеет свои минусы: невозможно автоматически стандартизировать значения параметров при таком количестве оборудования и случаев его использования.
Чтобы расшифровать сообщения от трекеров, вы можете зайти в специальный раздел «‎GPS/ГЛОНАСС оборудование» на вкладке «‎Оборудование».
  • В строке «‎Поиск оборудования» введите интересующую модель.
  • Далее выберите вкладку «‎Параметры».
  • Вы получите список параметров, их описание и единицы измерения (если это актуально).

Фильтрация данных

Wialon удаляет те данные, которые попадают в категорию неточных согласно настройкам валидности. Все настройки осуществляет пользователь, без них Wialon ничего не удаляет.
Коротко напомним, как работает фильтрация валидности:
  • Зайдите на вкладку «‎Дополнительно» у объекта.
  • Включите раздел «‎Фильтрация валидности сообщений».
  • Выберите условия фильтрации. Например, по скорости (наиболее распространенный критерий для фильтрации) или минимальному количеству спутников.
  • Для трекеров, которые сами могут определить, считается ли сообщение невалидным, воспользуйтесь опцией «‎Пропускать невалидные сообщения».
Фильтрация валидности сообщений

Датчики

Несмотря на то, что датчики тоже работают с параметрами, они сильно упрощают их отображение для пользователя:
  • Датчики определяют логику обработки параметра. Каждый из типов датчиков имеет связанные с ним алгоритмы в Wialon. Например, в отчетах для температуры и веса есть отдельные колонки, которые Wialon заполняет, опираясь на тип датчика.
  • Датчики улучшают доступный функционал. Частый пример от наших партнеров – подключение относительного одометра или датчика пробега, чтобы конечный пользователь получил более точные данные по пробегу и поездкам, чем на основе GPS.
  • Датчики дают доступ к новому функционалу. Примеров множество: ДУТопределяет сливы, датчик зажигания считает моточасы, а датчик пассажиров назначает пассажиров. Без создания этих датчиков подобный функционал не доступен.

Как датчики обрабатывают данные

  • Выражение данных через математические формулы. В строке, где указан параметр, пользователь может задать формулу. Например, это может быть простая формула, переводящая метры в километры с помощью коэффициента. Более сложные варианты также доступны: если пользователь хочет увидеть ускорение, он вводит формулу, по которой Wialon делит разность скорости между двумя сообщениями на разность времени между ними.
  • Таблица расчета. Она позволяет отобразить упрощённые зависимости, используя лишь некоторые из точек, которые интегратор определяет на практике.
Например, тарировка бака при использовании датчика уровня топлива помогает определить соответствие уровня топлива в баке объему этого топлива.
Также с помощью таблицы расчета можно сопоставить значение датчика с диапазоном исходного параметра.
Например, если напряжение больше 23, то датчик зажигания включен, то есть равен 1, а если меньше, то датчик выключен и выдает 0.
  • Валидация. С помощью валидации можно связать значения нескольких датчиков между собой. Для этого используются не только математические, но и логические операции. Например, проверка на неравенство нулю.

3 основных вида обработки данных

Разобравшись с тем, что такое данные в Wialon и где есть «‎узкие» места с их предобработкой, переходим к финальной обработке этих данных.
Есть три ключевых метода обработки данных в Wialon, с которыми чаще всего встречаются пользователи. Два из них – онлайн и аналитика – хорошо известны. Третий – события – появился относительно недавно.
Сразу стоит отметить, что в качестве исходные данных эти методы берут одни и те же сообщения.

Онлайн

Алгоритм работы метода обработки данных онлайн – самый простой и прозрачный: он обрабатывает каждое новое сообщение в режиме реального времени.
  • Вкладка «Мониторинг». На ней рядом со списком объектов есть множество колонок с разными индикаторами. Пользователь также может кликнуть на иконку объекта и получить расширенные данные, например, значения ДУТ. Данные датчиков уровня топлива изменились – Wialon обновил информацию.
  • «Дашборд». Информация, например, геозона с объектами или состояние движения, представлены в виде диаграмм с онлайн-данными.
  • Уведомления. Они также относятся к методу обработки данных онлайн. С их помощью можно рассчитывать длительность состояния объекта.

Аналитика: сообщения, треки и отчеты

В некотором смысле аналитику можно противопоставить онлайну: онлайн обрабатывает каждое приходящее сообщение здесь и сейчас, а аналитика работает с законченным периодом.
Например, если пользователь построил отчет за последний час, а потом трекер прислал какие-то данные из «‎черного ящика» за этот час после формирования отчета, то отчет их не будет видеть до тех пор, пока пользователь не сформирует его еще раз.

Инструменты аналитики

  • Вкладка «‎Сообщения»: здесь не только отображаются полученные данные, но также рассчитываются пробег и длительность поездки.
  • Вкладка «‎Треки» учитывает детектор поездок и отображает заправки и прочие маркеры.
  • Отчеты: представляют собой гибкий инструмент для отображения широкого спектра информации.

Как работает аналитика

Wialon выгружает набор данных за указанный период, а затем работает с ними по заранее известной логике. При этом логика для каждого инструмента аналитики будет разной.
Например, таблица «‎Поездки» ориентируется на детектор поездок, таблица «‎Заправки» – на свойства из датчика уровня топлива, а таблица «‎Хронология» может отобразить поездки и заправки одновременно.

События

К онлайну и аналитике мы добавили события, в каком-то смысле объединив ключевые плюсы двух других методов.
От онлайна взяли оперативность: события учитывают все новые сообщения, обрабатывая их в фоне.
От аналитики – работу с объемом сообщений: события учитывают ранее накопленные сообщения и обрабатывают их еще раз при необходимости. В отличие от онлайна, событие отображает информацию при временном отсутствии данных. Это значит, что если в последнем сообщении нет информации по какому-то параметру, то событие возьмет эту информации из последнего известного сообщения. Онлайн не смотрит так далеко и просто ставит прочерк.
Что получаем в итоге: в тот момент, когда пользователь запросит информацию, данные уже обработаны и могут быть сразу же отображены.
На данный момент такой алгоритм применяется для показаний 6 видов:
  • поездки;
  • датчики;
  • зажигание;
  • превышение скорости;
  • счетчики;
  • топливо.

Где используются события

  • Мобильное приложение Wialon. События наиболее популярны на смартфонах, так как обеспечивают быстрый доступ к наиболее актуальным данным в любой момент времени.
  • Уведомления о сливах и заправках. Эти уведомления стали возможны именно благодаря событиям.
  • «Дашборд». Здесь события используются для отображения части карточек: состояние подключения (подключены/не подключены), состояние движения (стоят/движутся, т.д.).
  • Таблица по превышениям скорости в отчетах. Хотя отчеты относятся к инструментам аналитики, эта таблица работает именно на событиях.
  • Всплывающие подсказки и расширенная информация. При соответствующих настройках события помогают отобразить последние известные данные по датчикам. Таким образом Wialon может работать с трекерами, которые отчитываются о состоянии только в момент изменения, вместо того, чтобы постоянно отправлять однообразные сообщения.
Например, во время движения транспортного средства трекер может отправлять сообщение «‎двигатель работает» снова и снова. Но гораздо экономичнее прислать сообщение «‎двигатель работает» один раз, когда его включили, а затем – сообщение «‎двигатель не работает», когда состояние изменилось и двигатель выключили. Так события позволяют по одному сообщению «‎двигатель работает» или «‎двигатель не работает» судить о том, что было в промежутке.

Расхождения между типами обработки данных

В идеале расхождений между событиями и аналитикой не должно быть. Но в реальности они встречаются. Чаще всего это связано с различием в алгоритмах. Но в этом случае мы видим скорее разную скорость отображения результата, а не разные результаты.
Если говорить о расхождениях значений, это возможно по нескольким причинам.
  • Большой объем данных. Алгоритм событий, который обрабатывает данные только в хронологическом порядке, сначала рассортировывает все сообщения, а затем начинает обрабатывать их с того места, где появились новые данные.
В случае серьезной разницы, которая не исчезает через какое-то время, пользователь всегда может обратиться в техподдержку. У таких задач высокий приоритет, и команда быстро и тщательно работает над каждым случаем расхождения.
Как избежать проблемы: настроить выдачу сообщений из трекера в хронологическом порядке: это позволит быстрее обрабатывать данные, так как событиям не придется пересчитывать старые данные несколько раз.
  • Изменения настроек. Представим, что весь месяц пользователь отслеживал данные в формате событий в мобильном приложении и каждый день видел одни значения. Затем 31 числа изменил настройки, например, датчиков топлива, и построил отчет за месяц. Данные в отчете могут отличаться от тех, что он видел до этого в событиях. Так происходит потому, что отчет показывает данные с учетом обновленных настроек за весь месяц, а события автоматически пересчитались только за последние 24 часа.