Что такое сервис 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. Consumer SDK для поездок по запросу

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

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

  1. Общие сведения о транспортных средствах
  2. Запланированные задачи
  3. Driver SDK для запланированных задач
  4. Consumer 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 нет поля идентификатора, а есть только поле названия, предназначенное только для вывода, которое включает идентификатор ресурса.

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 Настройте проект Google Cloud.

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

Для работы с API и SDK Fleet Engine требуются веб-токены JSON (JWT), подписанные с помощью сервисных аккаунтов, созданных в Cloud Console. Следуйте инструкциям в статье Как создать проект Fleet Engine. Подробнее о ролях сервисных аккаунтов…

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

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

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