Что такое сервис Fleet Engine?

Fleet Engine – это бэкенд-служба, которая интегрируется с системой, используемой для управления транспортными услугами для клиентов. Он взаимодействует с различными API и SDK, чтобы улучшить картографирование, маршрутизацию и управление местоположением.

Fleet Engine предоставляет информацию о маршрутах и статусах объектов транспортных средств, смоделированных на основе вашего реального автопарка. Когда ваша система отправляет в Fleet Engine данные о ходе выполнения заказа, Fleet Engine использует информацию о местоположении транспортного средства в реальном времени и маршруте, предоставленную Driver SDK, чтобы создавать точные отчеты о поездках: расчетное время прибытия, данные о загруженности дорог и доступности транспортных средств.

Fleet Engine

Сервис Fleet Engine работает со следующими предложениями Mobility Service:

  • Поездки по запросу. В этом случае Fleet Engine моделирует жизненный цикл поездки – от пункта отправления до пункта назначения с остановками. В течение жизненного цикла поездки транспортное средство проходит через пункты посадки, промежуточные точки и пункты высадки, чтобы выполнить поездку, заказанную потребителем. Подробная информация о поездках по запросу приведена в документации.
  • Запланированные задачи. В этом случае Fleet Engine моделирует жизненный цикл задачи доставки или обслуживания, когда на каждой остановке водитель должен выполнить одну или несколько запланированных задач. Например, это может быть доставка посылки или выезд к клиенту. Подробная информация о запланированных задачах приведена в документации.

Возможности Fleet Engine

С помощью компонентов Fleet Engine вы можете:

  • Включите отслеживание поездок клиентов. Для поездок по запросу вы можете использовать возможности Fleet Engine, связанные с обслуживанием клиентов, и интегрировать Consumer SDK в свои мобильные или веб-приложения. Таким образом, ваши клиенты могут использовать одно и то же приложение, чтобы заказать поездку и отслеживать ее.
  • Предоставляйте клиентам информацию о посылках в реальном времени. Для запланированных задач вы можете использовать функции Fleet Engine для взаимодействия с клиентами и интегрировать JavaScript Consumer SDK в свое веб-приложение. Это позволит клиентам получать почти в реальном времени информацию о статусе их посылок. В SDK встроены фильтры и средства защиты конфиденциальности данных, поэтому покупатели видят только информацию, относящуюся к их заказу.
  • Разрабатывайте решения для операторов автопарка. Для запланированных задач используйте библиотеку отслеживания автопарка JavaScript, чтобы операторы могли лучше координировать и управлять назначениями транспортных средств в течение дня.
  • Улучшите опыт водителей. Driver SDK – это набор инструментов для мобильных приложений и фундаментальный компонент Fleet Engine. Она использует функции из vehicles. С помощью этого SDK ваше приложение для водителей сможет управлять рабочими заданиями, а также предоставлять возможности навигации и построения маршрутов. По сути, SDK использует прослушиватель событий для отправки обновлений местоположения в Fleet Engine, когда водитель начинает движение. Оно также отправляет в Fleet Engine сигналы о статусе транспортного средства. С помощью этого SDK водитель может использовать одно приложение для управления заданиями и навигации, как в потребительской версии Google Карт, но без необходимости переключаться на другое приложение.

В частности, вы можете предоставить следующее:

Поездки по запросу

  • Текущее местоположение автомобиля водителя с привязкой к дороге.
  • Фактический маршрут водителя с информацией о загруженности дорог в реальном времени.
  • Расчетное время прибытия в пункты посадки и высадки.
  • Отслеживание поездок с одним или несколькими пунктами назначения, а также поездок, следующих одна за другой.
  • Поездки с несколькими клиентами по одному маршруту.
  • Вывод списка всех транспортных средств в определенном регионе для поиска наиболее подходящих вариантов для запрошенных поездок.

Запланированные задачи

  • Обновления местоположения в реальном времени, отображаемые на карте.
  • Автоматически корректируемое расчетное время прибытия, которое отражает меняющиеся обстоятельства, например дорожную обстановку.
  • Выполненные задачи и ожидающие остановки, чтобы выявить возможные проблемы.
  • Количество остановок и расстояние, чтобы клиенты были уверены в доставке.

Как работает Fleet Engine

В этом разделе приведен общий обзор работы систем Fleet Engine для каждого предложения Mobility.

Поездки по запросу

На следующей диаграмме показаны два ключевых этапа поездки по запросу: начало дня, когда водители включают передачу геоданных в Fleet Engine, и упрощенное представление управления поездкой с помощью компонентов Fleet Engine. Подробнее о том, что такое поездка… в документации по поездкам по запросу.

Запланированные задачи

На диаграмме ниже показана матрица типичного рабочего дня водителя, занимающегося доставкой, и то, как его работа обрабатывается в системе Fleet Engine с помощью библиотеки Fleet Tracking.

Примечание. Ваша система может использовать как отслеживание доставки, так и отслеживание автопарка. При отслеживании доставки Fleet Engine фильтрует информацию о доставке и водителе, чтобы клиент видел только то, что относится к его заказу.

Архитектура Fleet Engine

В этом разделе приведена архитектура системы для разных предложений Fleet Engine. Оба сервиса используют:

  • Транспортное средство. Поездки по запросу и запланированные задачи выполняются с помощью транспортных средств, которые используются в вашей компании. В Fleet Engine объект транспортного средства получает информацию о местоположении, предоставленную связанным с ним реальным транспортным средством через приложение водителя, интегрированное с Driver SDK. Транспортные средства Fleet Engine в основном являются параллельными объектами между двумя сервисами, за некоторыми исключениями. Чтобы узнать больше об автомобилях в Fleet Engine, прочитайте статью Введение в автомобили.
  • Driver SDK. Это основной компонент для задач по запросу и запланированных задач. Driver SDK интегрируется с приложением для водителей и передает в Fleet Engine поток уведомлений о местоположении и информацию о маршруте, на основе которой Fleet Engine сообщает о статусе поездки в реальном времени, а также другие данные, например расчетное время прибытия и данные о дорожной обстановке.
  • Consumer SDK. Ключевое преимущество как для задач по запросу, так и для запланированных задач – это Consumer SDK, который используется для информирования клиента о статусе его поездки, доставки еды или запланированной доставки посылки.

Поездки по запросу

Подробные сведения о транспортных средствах, поездках и SDK вы найдете в документации по поездкам по запросу:

  1. Общие сведения о транспортных средствах
  2. Поездки по запросу
  3. Driver SDK для поездок по запросу
  4. SDK для потребителей для поездок по запросу

Запланированные задачи

Информацию о транспортных средствах доставки, задачах и SDK можно найти в документации по запланированным задачам:

  1. Общие сведения о транспортных средствах
  2. Запланированные задачи
  3. Driver SDK для запланированных задач
  4. Потребительский SDK для запланированных задач

Ресурсы

Поездки по запросу

Транспортное средство
Сервисы REST: v1.providers.vehicles
gRPC: maps.fleetengine.v1.VehicleService
Название ресурса providers/{provider}/vehicles/{vehicle}
Поездка
Сервисы REST: v1.providers.trips
gRPC: maps.fleetengine.v1.TripService
Название ресурса providers/{provider}/trips/{trip}

Запланированные задачи

Автомобиль доставки
Ресурсы REST: providers.deliveryVehicles
gRPC: maps.delivery.v1
Название ресурса providers/{provider}/deliveryVehicles/{vehicle}
Задача
Сервисы REST: providers.tasks
gRPC: maps.fleetengine.delivery.v1.Task
Название ресурса providers/{provider}/tasks/{task}

Названия ресурсов в Fleet Engine

В Fleet Engine, как и во всех облачных сервисах на основе Google Cloud, у ресурсов есть уникальные идентификаторы, называемые names, которые представлены в строковом формате. Часть этого имени – идентификатор ресурса, который вы указываете при отправке запроса на создание. Однако у ресурсов Fleet Engine нет поля ID, а есть поле name, доступное только для чтения, которое включает идентификатор ресурса.

Fleet Engine использует относительные названия ресурсов. Они состоят из идентификаторов коллекций и ресурсов, структурированных таким образом, чтобы отражать их иерархию.

  • Идентификатор коллекции. Коллекция содержит ресурсы или другие коллекции.

Поездки по запросу

Три коллекции: providers, vehicles и trips.

Запланированные задачи

Три коллекции: providers, deliveryVehicles и tasks.

Идентификатор ресурса. В справочной документации идентификаторы ресурсов указываются в фигурных скобках в поле имени. Это переменные для идентификаторов, которые вы указываете при отправке запроса на создание.

Поездки по запросу

  • {provider} – идентификатор проекта Google Cloud. Создается один раз для проекта.
  • {vehicle} – ресурс транспортного средства, который используется для создания каждого транспортного средства и обычно повторно используется для одной и той же пары "водитель – транспортное средство".
  • {trip} – ресурс, который используется для каждого рейса и обычно не используется повторно.

Запланированные задачи

  • {provider} – идентификатор проекта Google Cloud. Создается один раз для каждого проекта.
  • {vehicle} – ресурс транспортного средства доставки, который используется при создании каждого транспортного средства и обычно повторно используется для одной и той же пары "водитель – транспортное средство".
  • {task} – ресурс задачи, который используется для каждой задачи и обычно не применяется повторно.

Подробную информацию можно найти в разделе Названия ресурсов документации по Google Cloud API.

Журналы Google Cloud для Fleet Engine

Fleet Engine предлагает базовый сервис ведения журналов, который позволяет сохранять запросы к API и полезную нагрузку ответов. С помощью этих журналов можно отлаживать интеграцию, создавать показатели мониторинга и анализировать трафик.

Подробнее о Cloud Logging…

Как использовать Fleet Engine

1 Настройте облачный проект.

На этом шаге вы создадите различные роли сервисного аккаунта и включите связанные API.

Для работы с API и SDK Fleet Engine требуются токены доступа, использующие стандарт JSON Web Token (JWT), которые были подписаны с помощью сервисных аккаунтов, созданных в Cloud Console. Следуйте инструкциям в разделе Создание проекта Fleet Engine. Чтобы лучше понять эти роли, ознакомьтесь со статьей Роли сервисных аккаунтов.

2 Как проверить настройки После создания сервисных аккаунтов убедитесь, что настройка завершена и вы можете создать транспортное средство. Это позволит вам устранить распространенные проблемы с авторизацией, которые могут возникнуть при настройке проекта. Следуйте инструкциям в разделе Проверка настроек.
3 Как создать первое путешествие Для этого нужно создать транспортное средство с набором координат, которые представляют собой остановки в поездке по запросу или запланированные задачи. Подробнее о поездках по запросу и запланированных задачах…
4 Как протестировать интеграцию Для работы сервисов и компонентов Fleet Engine требуются данные от парка транспортных средств в реальном времени. Разработка и внедрение приложений для автопарка может занять много времени. Поэтому перед полномасштабным развертыванием рекомендуется сначала использовать фиктивные данные, чтобы изучить интеграцию. Подробнее о том, как настроить Fleet Engine…

Дальнейшие действия

  1. Изучите информацию о транспортных средствах Fleet Engine.
  2. Подробнее о поездках по запросу и запланированных задачах…
  3. Настройте Fleet Engine.