Система uber: краткое руководство по приложению для водителей-партнеров

Содержание

зачем Uber объединила такси, еду и другие сервисы в одном приложении — Сервисы на vc.ru

Генеральный директор Uber Дара Хосровшахи считает, что изменения помогут Uber стать «Amazon для транспорта».

{«id»:86305,»url»:»https:\/\/vc.ru\/services\/86305-operacionnaya-sistema-dlya-ezhednevnoy-zhizni-zachem-uber-obedinila-taksi-edu-i-drugie-servisy-v-odnom-prilozhenii»,»title»:»\u00ab\u041e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u0430\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0434\u043b\u044f \u0435\u0436\u0435\u0434\u043d\u0435\u0432\u043d\u043e\u0439 \u0436\u0438\u0437\u043d\u0438\u00bb: \u0437\u0430\u0447\u0435\u043c Uber \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0438\u043b\u0430 \u0442\u0430\u043a\u0441\u0438, \u0435\u0434\u0443 \u0438 \u0434\u0440\u0443\u0433\u0438\u0435 \u0441\u0435\u0440\u0432\u0438\u0441\u044b \u0432 \u043e\u0434\u043d\u043e\u043c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0438″,»services»:{«facebook»:{«url»:»https:\/\/www.

facebook.com\/sharer\/sharer.php?u=https:\/\/vc.ru\/services\/86305-operacionnaya-sistema-dlya-ezhednevnoy-zhizni-zachem-uber-obedinila-taksi-edu-i-drugie-servisy-v-odnom-prilozhenii»,»short_name»:»FB»,»title»:»Facebook»,»width»:600,»height»:450},»vkontakte»:{«url»:»https:\/\/vk.com\/share.php?url=https:\/\/vc.ru\/services\/86305-operacionnaya-sistema-dlya-ezhednevnoy-zhizni-zachem-uber-obedinila-taksi-edu-i-drugie-servisy-v-odnom-prilozhenii&title=\u00ab\u041e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u0430\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0434\u043b\u044f \u0435\u0436\u0435\u0434\u043d\u0435\u0432\u043d\u043e\u0439 \u0436\u0438\u0437\u043d\u0438\u00bb: \u0437\u0430\u0447\u0435\u043c Uber \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0438\u043b\u0430 \u0442\u0430\u043a\u0441\u0438, \u0435\u0434\u0443 \u0438 \u0434\u0440\u0443\u0433\u0438\u0435 \u0441\u0435\u0440\u0432\u0438\u0441\u044b \u0432 \u043e\u0434\u043d\u043e\u043c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0438″,»short_name»:»VK»,»title»:»\u0412\u041a\u043e\u043d\u0442\u0430\u043a\u0442\u0435″,»width»:600,»height»:450},»twitter»:{«url»:»https:\/\/twitter.
(adsbygoogle = window.adsbygoogle || []).push({});
com\/intent\/tweet?url=https:\/\/vc.ru\/services\/86305-operacionnaya-sistema-dlya-ezhednevnoy-zhizni-zachem-uber-obedinila-taksi-edu-i-drugie-servisy-v-odnom-prilozhenii&text=\u00ab\u041e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u0430\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0434\u043b\u044f \u0435\u0436\u0435\u0434\u043d\u0435\u0432\u043d\u043e\u0439 \u0436\u0438\u0437\u043d\u0438\u00bb: \u0437\u0430\u0447\u0435\u043c Uber \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0438\u043b\u0430 \u0442\u0430\u043a\u0441\u0438, \u0435\u0434\u0443 \u0438 \u0434\u0440\u0443\u0433\u0438\u0435 \u0441\u0435\u0440\u0432\u0438\u0441\u044b \u0432 \u043e\u0434\u043d\u043e\u043c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0438″,»short_name»:»TW»,»title»:»Twitter»,»width»:600,»height»:450},»telegram»:{«url»:»tg:\/\/msg_url?url=https:\/\/vc.ru\/services\/86305-operacionnaya-sistema-dlya-ezhednevnoy-zhizni-zachem-uber-obedinila-taksi-edu-i-drugie-servisy-v-odnom-prilozhenii&text=\u00ab\u041e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u0430\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0434\u043b\u044f \u0435\u0436\u0435\u0434\u043d\u0435\u0432\u043d\u043e\u0439 \u0436\u0438\u0437\u043d\u0438\u00bb: \u0437\u0430\u0447\u0435\u043c Uber \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0438\u043b\u0430 \u0442\u0430\u043a\u0441\u0438, \u0435\u0434\u0443 \u0438 \u0434\u0440\u0443\u0433\u0438\u0435 \u0441\u0435\u0440\u0432\u0438\u0441\u044b \u0432 \u043e\u0434\u043d\u043e\u043c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0438″,»short_name»:»TG»,»title»:»Telegram»,»width»:600,»height»:450},»odnoklassniki»:{«url»:»http:\/\/connect.
ok.ru\/dk?st.cmd=WidgetSharePreview&service=odnoklassniki&st.shareUrl=https:\/\/vc.ru\/services\/86305-operacionnaya-sistema-dlya-ezhednevnoy-zhizni-zachem-uber-obedinila-taksi-edu-i-drugie-servisy-v-odnom-prilozhenii»,»short_name»:»OK»,»title»:»\u041e\u0434\u043d\u043e\u043a\u043b\u0430\u0441\u0441\u043d\u0438\u043a\u0438″,»width»:600,»height»:450},»email»:{«url»:»mailto:?subject=\u00ab\u041e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u0430\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0434\u043b\u044f \u0435\u0436\u0435\u0434\u043d\u0435\u0432\u043d\u043e\u0439 \u0436\u0438\u0437\u043d\u0438\u00bb: \u0437\u0430\u0447\u0435\u043c Uber \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0438\u043b\u0430 \u0442\u0430\u043a\u0441\u0438, \u0435\u0434\u0443 \u0438 \u0434\u0440\u0443\u0433\u0438\u0435 \u0441\u0435\u0440\u0432\u0438\u0441\u044b \u0432 \u043e\u0434\u043d\u043e\u043c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0438&body=https:\/\/vc.ru\/services\/86305-operacionnaya-sistema-dlya-ezhednevnoy-zhizni-zachem-uber-obedinila-taksi-edu-i-drugie-servisy-v-odnom-prilozhenii»,»short_name»:»Email»,»title»:»\u041e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u043d\u0430 \u043f\u043e\u0447\u0442\u0443″,»width»:600,»height»:450}},»isFavorited»:false}

5172 просмотров

26 сентября Uber провела в Сан-Франциско презентацию нового приложения, в котором объединились поездки на такси, доставка еды, аренда электротранспорта и другие сервисы.

Генеральный директор Uber Дара Хосровшахи считает, что переосмысление Uber — это хорошая заявка на создание «операционной системы для повседневной жизни» человека.

Дара Хосровшахи на презентации нового приложения Uber Business Insider

По мнению TechCrunch, изменения должны помочь компании стать универсальным проводником пользователя «для доставки себя или еды». Это позволит Uber сохранить стоимость акций и выживать на высококонкурентных рынках такси и доставки еды до тех пор, пока разработка беспилотных автомобилей не изменит бизнес компании.

Ещё одной причиной объединения услуг в одном приложении стала задача сбора большего объёма данных от пользователей. Хосровшахи уточняет, что Uber не будет продавать данные третьим лицам, но будет использовать их для улучшения услуг компании и общего качества перевозок людей по городу.

Домашний экран Uber

Приложение получит новый стартовый экран — Uber объединила службу доставки еды Uber Eats с основным приложением, поэтому вместо навигации и заказа такси появится две кнопки — «Заказать поездку» для вызова такси и «Заказать еду».

Также есть и второй вариант — вместо кнопок на экран Uber выведет карту с местом назначения и двумя вкладками «Ехать» или «Поесть». После A/B-тестирования компания определит лучший вариант.

Хосровшахи заявляет, что в будущем на главном экране может появиться больше вариантов услуг, например, доставка продуктов.

Объединение с общественным и электротранспортом

«Обновлённый» Uber хочет стать основной «транспортной службой города» и заявляет, что хочет «дополнять, а не конкурировать с общественным транспортом», как было заявлено в документах при выходе на биржу. Для этого компания добавит в приложение планирование маршрутов и отслеживание расписания общественного транспорта в реальном времени.

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

TechCrunch

Сейчас прокладывание транзитных маршрутов работает в Лондоне, Денвере, Мехико, Сан-Франциско и Париже. К концу 2019 года Uber планирует запустить функцию в Нью-Йорке и ещё шести других городах.

{«url»:»https:\/\/booster.osnova.io\/a\/relevant?site=vc»,»place»:»between_entry_blocks»,»site»:»vc»,»settings»:{«modes»:{«externalLink»:{«buttonLabels»:[«\u0423\u0437\u043d\u0430\u0442\u044c»,»\u0427\u0438\u0442\u0430\u0442\u044c»,»\u041d\u0430\u0447\u0430\u0442\u044c»,»\u0417\u0430\u043a\u0430\u0437\u0430\u0442\u044c»,»\u041a\u0443\u043f\u0438\u0442\u044c»,»\u041f\u043e\u043b\u0443\u0447\u0438\u0442\u044c»,»\u0421\u043a\u0430\u0447\u0430\u0442\u044c»,»\u041f\u0435\u0440\u0435\u0439\u0442\u0438″]}},»deviceList»:{«desktop»:»\u0414\u0435\u0441\u043a\u0442\u043e\u043f»,»smartphone»:»\u0421\u043c\u0430\u0440\u0442\u0444\u043e\u043d\u044b»,»tablet»:»\u041f\u043b\u0430\u043d\u0448\u0435\u0442\u044b»}},»isModerator»:false}

По словам Хосровшахи, компания сосредоточена не только на предоставлении информации, как в похожих транспортных приложениях, а на выполнении задач пользователя внутри приложения. Например, если сейчас в приложении есть только расписание и тарифы городского транспорта, в будущем планируется добавить и заказ билетов.

Гендиректор Uber заявляет, что компания не заработает на добавлении общественного транспорта, так как это не прибыльный бизнес и для его работы постоянно нужны государственные субсидии. Причина, по которой в приложение Uber добавили другой транспорт, — увеличить время взаимодействия пользователя.

Мы провели эксперимент и убедились, что данные об общественном транспорте увеличивают взаимодействие с приложением. Если больше людей будут ещё чаще открывать приложение Uber, так или иначе мы сможем это монетизировать.

В краткосрочной перспективе, наверное, это не лучшая сделка. Но в долгосрочной — мы абсолютно уверены, что это отличная ставка.

Дара Хосровшахи

Компания делает большую ставку на электротранспорт, заявил Хосровшахи. С октября 2019 года Uber добавит на карту приложения электросамокаты и электровелосипеды как собственного подразделения, так и конкурирующего с ним Lime.

Также Uber собирается решить проблему разряжённых аккумуляторов в электротранспорте. Для этого до конца 2019 года компания откроет сеть зарядных киосков Jump, а в сервисе появятся специальные велосипеды со съёмным аккумулятором. Клиенты смогут заменить в киоске разряжённую батарею на новую, чтобы не задерживаться в пути.

Улучшение безопасности пассажиров

На фоне обвинений в слишком мягком отношении к водителям, нарушающим правила движения и безопасность клиентов, Uber изменила приложение и правила пользования.

Авторизация клиента

Чтобы пользователи не попадали в чужие автомобили, Uber разработала систему аутентификации с помощью четырёхзначного PIN-кода. Пользователь должен сообщить водителю код, прежде чем начать поездку.

Через несколько месяцев компания планирует заменить «голосовую» проверку ультразвуковой — телефон клиента будет отправлять ультразвуковой сигнал на устройство водителя для автоматической проверки PIN-кода.

Новые отчёты о поездке

Обычно компании предлагают отправлять комментарии о поездке только после её окончания. Новая функция позволит клиентам Uber ещё находясь в пути сообщать об инцидентах — некорректном поведении водителя на дороге, нарушении правил безопасности, длительных остановках или движении не по маршруту. За поездками будет следить команда безопасности.

Улучшение взаимодействия с 911

В 2018 году Uber добавила в приложение «тревожную кнопку» для вызова экстренной службы. Теперь пользователи могут отправлять текстовые сообщения в 911 в некоторых городах и округах. В тексте Uber автоматически указывает марку и модель машины, её номер и местоположение.

Проверка ID водителей

Uber обновила проверку ID водителя в реальном времени, которая была введена в 2016 году. Если раньше водителю было достаточно отправлять селфи для подтверждения личности, сейчас им придётся двигать головой, моргать и улыбаться.

Остановки у велодорожек

Uber начнёт отправлять push-уведомление, если водитель останавливается около велосипедной дорожки. Так клиент не сможет ударить кого-нибудь дверью при выходе из машины.

Обновления для водителей

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

В приложении появится «тепловая карта», в которой выделят области с повышенным интересом клиентов к поездкам. Если водителя не устраивает качество или стоимость заказов в районах с низким спросом, он сможет активировать фильтр «вернуться в зону с повышенной загрузкой». После завершения поездки в «тихом» районе Uber предложит заказы только в активных районах.

Водители смогут доставлять заказы Uber Eats, даже если передвигаются за пределами своего региона.

Еда

Кроме объединения приложений Uber и Uber Eats, компания продолжит инвестировать в подразделение по доставке еды. Например, появится новая программа поощрений для постоянных клиентов, в которой пользователи будут получать баллы за каждую поездку или заказ еды в Uber.

В Uber Eats появится фильтр для аллергиков — люди с аллергией и ограничениями по диете могут сообщить ресторану о своём здоровье во время оформления заказа.

Также Uber запустила подписку Eats Pass — её пользователи получают постоянную бесплатную доставку заказов. Стоимость — $9,99 в месяц.

Бонусные программы и Uber Pass

Новое приложение станет «холстом» для последующих изменений, заявил руководитель подразделения Uber по разработке клиентского приложения Питер Денг. По его словам, Uber заинтересована в развитии новых форматов бизнеса, и в будущем центральное место в приложении будут занимать подписки, программы лояльности и другие привилегии для постоянных клиентов.

Например, Uber тестирует общую подписку Uber Pass, в которую входит защита от скачков цен на поездки, бесплатная доставка еды в Uber Eats и бесплатные поездки на электросамокатах и электровелосипедах. Стоимость подписки — $24,99 в месяц.

Дизайн-платформа Uber. Увлекательный экскурс в дизайн систему… | by Nancy Pong | Продуктовый дизайн

Соединив множество дизайн-решений в единую дизайн-систему, мы наконец-то можем начать мыслить вне пикселей, целями и задачами наших клиентов.

Теперь, проектируя продукты Uber, дизайнер концентрируется на том, как взаимодействуют виртуальный и физический миры и как возможности, которые предоставляют наши продукты, влияют на поведенческие модели (паттерны) пользователей и общества в целом. Мы называем это проектированием под паттерны. Благодаря тому, что у нас есть четко проработанная дизайн-система с набором вспомогательных инструментов, дизайнеры не «двигают пиксели», сосредоточены на выявлении поведенческих паттернов в реальном мире и проектировании продуктов, которые гармонично вписываются в реальную жизнь и делают ее лучше.

Если дизайн-язык достаточно простой, его будет просто расширять и поддерживать.

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

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

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

У нас получилась классная библиотека, где мы не только публикуем и обновляем компоненты интерфейса, но и пишем рекомендации по дизайну, формируем полезные чеклисты и собираем хорошие примеры. Главный плюс такой живой системы состоит в том, что все, что может понадобиться дизайнеру, хранимся в одном месте — и можно быть уверенными, что вся информация там свежая и актуальная.

► Как работает Uber (Убер) для водителя: обучение — UBERAUTO

Бонусная система Uber нацелена на оптимизацию вашего заработка. Выбирайте подходящее время для работы и зарабатывайте больше с Uber!

ЧТО ТАКОЕ БОНУСНЫЕ ВЫПЛАТЫ И УСЛОВИЯ ИХ ПОЛУЧЕНИЯ

Итак, бонусные предложения для водителей могут отличаться каждого отдельного недели. Они зависят от многих факторов, а именно: как часто вы ездите, вашего времени пребывания за рулем, когда и куда вы ездите, также наш прогноз по спросу на услуги. Вы всегда можете просмотреть активные и будущие промоакции от Uber в своем приложении, нажав Доходы> Промоакции.

ЧТО ТАКОЕ БОНУСНЫЕ ВЫПЛАТЫ ЗА ВЫПОЛНЕННЫЕ ПОЕЗДКИ

Для того, чтобы ознакомиться с информацией об условиях бонусной программы, зайдите в раздел Заработок> Промоакции> Бонусная цель. Данный раздел содержит информацию об бонусной программы на текущий период, а именно: количество поездок, которые необходимо выполнить, а также процент принятых и выполненных поездок.

Пожалуйста, обратите внимание, что поездка соответствует условиям промоакции, если пассажир успешно доставлен с места посадки до пункта назначения. Если поездка отменяется вами или пассажиром, промоакция на нее не распространяется.

Условиями начисления гарантированного множителя являются:

— Статус поездки «завершено». Пожалуйста, обратите внимание, что все поездки, которые имеют статус «отменено», не входят в число осуществленных вами.
— Место запроса поездки пассажиром находится в зоне действия гарантированного множителю.

ЧТО ТАКОЕ ПИКОВЫЙ КОЭФФИЦИЕНТ

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

КОГДА ПРИМЕНЯЕТСЯ ГАРАНТИРОВАННЫЙ МНОЖИТЕЛЬ BOOST ИЛИ ПИКОВЫЙ КОЭФФИЦИЕНТ

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

Подключение к Uber в Москве. Работа водителем, подключение к Убер (Юбер) | партнер Uberlin

Какие преимущества при сотрудничестве с Uber Partner – «UBERLIN»?

Мы являемся крупнейшим международными партнерами UBER в России и СНГ, и работаем 3-х странах по всем городам России в том числе являемся партнерами Uber в Москве и имеем 3-х летний опыт сотрудничества с Uber. У нас все максимально прозрачно и честно, поэтому мы не скрываем истинный заработок водителей, в отличии от других партнеров. С партнером Uberlin — вы сможете увеличить свой доход так как мы не забираем себе бонусы и не повышаем комиссию, в отличии от других посредников. Работая с Uberlin вы забираете себе абсолютно все прибавки и бонусы от убера — например за работу в пики, надбавки за количество выполненных поездок, мы берем самую низкую партнерскую комиссию на рынке — 4% от вашей платежной ведомости, доступной в приложении- все честно, прозрачно и легко проверяемо. Никаких скрытых, минимальных или фиксированных  комиссия за «обслуживание или ведение аккаунта».

Водитель такси Uber в г. Москва также как и пользователи может оставлять отзывы на клиентов. Убер следит за качеством клиентов, и недобросовестные клиенты отключаются от системы, впрочем также как и недобросовестные водители. В убер вы сами устанавливаете себе график — будь это весь рабочий день на линии, или вы сможете пользоваться uber такси для подработки. Заработок за предыдущую неделю выплачивается в период среда-пятница, мы берем только 4% без скрытых платежей и комиссий — все честно и прозрачно. Простаивать Водителям Uber в Москве не придется — заказов очень много, также есть даже заявки «влет» для «бесшовной» поездки!

Для того чтобы подключиться к uber в Москве, Вам достаточно отправить заявку на нашем сайте, дождаться звонка оператора и вам будет назначена встреча в офисе, где нужно будет пройти регистрацию, после чего Ваш аккаунт будет активирован в системе. Наша команда первоклассных специалистов помогла начать зарабатывать более 13000 человек на своём автомобиле. Поможем и Вам! Присоединяйтесь! Начать подключение к UBER Вы можете прямо сейчас на сайте — просто оставьте заявку.

Uber обвинили в ошибке автопилота при смертельном наезде на человека :: Autonews

Автопилот компании Uber, которым был оснащен сбивший велосипедистку кроссовер Volvo, мог принять ошибочное решение во время смертельного инцидента в США. Об этом со ссылкой на два близких к расследованию источника сообщает издание The Information.

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

Теперь источники The Information утверждают, что система Uber обнаружила женщину на дороге, но программный алгоритм распознал ее в качестве «ложного объекта», который можно было проигнорировать и двигаться дальше.

Это означает, что сенсоры автомобиля зафиксировали велосипедистку посередине шоссе, однако восприняли в качестве идущего по тротуару пешехода или незначительного постороннего объекта. На основе этих данных система приняла ошибочное решение продолжить движение в том же режиме.

Напомним, в середине марта в городе Темпе (штат Аризона) рядом с пешеходным переходом автономный автомобиль компании Uber насмерть сбил женщину велосипедиста. В момент аварии машина двигалась в автономном режиме, а находившийся на водительском месте оператор не успел взять управление на себя. Это первый зафиксированный случай гибели человека в результате наезда транспортного средства с автоматическим управлением.

Примерно через две недели после ДТП смогла достичь мирового соглашения с родственниками погибшей 49-летней Элейн Херцбер и тем самым избежать судебного преследования с их стороны. После этого к расследованию подключились американские федеральные органы.

Инцидент привел к остановкам испытаний автомобилей с системами автоматического управления на общественных дорогах по всему миру. Так, помимо Uber, тесты своих беспилотников приостановили компании NVIDIA и Toyota.

Инструкция для подключения к системе Uber Убер такси

Uber – всемирно известный сервис качественных пассажирских перевозок. Водители системы должны придерживаться правил, предписанных этой инструкцией, чтобы соответствовать положениям обслуживания клиентов. Лучшие водители получают преимущества и дополнительные бонусы системы.

Правила для водителя

Основой поведения водителя по инструкции системы Убер является вежливость. Обязательна проверка опрятного вида водителя и автомобиля – машину нужно подавать только чистой и ухоженной, водитель должен быть опрятно и чисто одет.

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

На основании оказываемых услуг, состояния автомобиля и поведения водителя составляется рейтинг. От него зависит дальнейший прием заказов и их тариф. Рекомендуется:

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

Оплата зависит от количества отработанных часов и поездок. Выплата проводится на банковский счет понедельно или ежедневно, по желанию водителя.

Как работает система?

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

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

Подключиться быстро к службе

что это и как его улучшить.


После каждой поездки пассажир ставит оценку водителю по 5-бальной шкале. Пассажиру предлагают оценить водителя и в приложении смартфона, и в письме-квитанции на электронную почту. Поэтому не заметить или забыть оценить — нельзя. Оценки за поездку получают 98% водителей.


Убер предлагает оценить водителя после поездки. Так выглядит предложение в письме-квитанции на эл. почту.

Что такое рейтинг водителя в Убер

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

Ваш рейтинг напрямую зависит от клиента. Он решает, сколько поставить вам баллов-звезд за совершённую поездку: от 1 до 5.


В приложении водителя видно сколько 5-звездочных поездок получено и общий текущий рейтинг.

Рейтинг влияет на вашу работу в Uber. Если рейтинг падает ниже минимального значения «4. 6» то вас отключают от системы Uber и не дают заказов. 

Отключение происходит навсегда. По слухам, в некоторых случаях дается второй шанс. Наших водителей не отключали, поэтому нет опыта возвращения.

Есть негласное правило среди клиентов Убер — отменять поездки если рейтинг водителя менее 4.75 и перезаказывать, чтобы попасть на водителя с более высоким рейтингом. 


Наглядный график рейтинга водителя Uber. Держитесь зеленой зоны 4,8-5 звезд. В желтой зоне 4,6-4,8 срочно принимайте меры. Красная зона ниже 4,6 — ищите новую работу.

Что бы рейтинг опустился до 4,6 и ниже, нужно постараться.  В системе Убер только 2-3% водителей опускаются ниже критической точки. Поэтому если у вас падает рейтинг, задумайтесь, что вы делаете не так. 

Советы по получению высокой оценки после поездки:

1.  Содержите автомобиль чистым внутри и снаружи. Не забывайте про запах в салоне.

2.  Спрашивайте предпочтения клиентов по музыке и её громкости. Для этого заранее держите несколько установленных радио. Ниже обязательный набор, закрывающий основные предпочтения пассажиров. Частота в МГц для Москвы:

— «Европа плюс» 106,2

— «Наше радио» 101,7

— «Ретро ФМ» 88,3

— «Бизнес ФМ» 87,5

— «Релакс ФМ» 90,8

— «Радио Шансон» 103,0

— «Детское радио» 96,8

3. Если пассажир разговаривает по телефону убавляйте громкость или выключайте радио.

4.  Помогайте с багажом, предлагайте свою помощь.

5.  Следите за внешним видом. Причесанный и опрятно одетый водитель нравится больше. Помните — «Встречают по одежке, провожают по уму». Не забываете о запахе. Летом пользуйтесь антиперспирантом. Используйте освежитель полости рта.

6.   Выбирайте оптимальный маршрут. Пользуйтесь навигатором.

7.  Соблюдайте правила дорожного движения. Ведите автомобиль спокойно и уверенно.

8.  Не просите оценить поездку на 5 баллов.

9.  Держите дежурный набор конфеток для детей. Но сначала спросите у родителей, можно ли ребенку сладкое. Игрушки лучше не предлагать, т. к. некоторые родители переживают, что до них игрушку мог трогать больной ОРВИ ребенок.

10. Возите с собой детское кресло или детское удерживающее устройство — бустер.


11. Имейте зарядное устройство для всех типов телефонов с длинным проводом. Предлагайте зарядку тем, кто во время движения пользуется ими.


На что жалуются пассажиры:

1.  Плохое знание маршрута или выбор не оптимального маршрута.

2.  Плохое отношение, грубость со стороны водителя.

3.  Плохое вождение. Мат-перемат на других водителей, нервозность, резкое торможение и рывок с места.

4.  Плохое состояние автомобиля. Грязный салон, запах сигарет, рычащий двигатель, грязные стекла.

5.  Разговоры водителей по телефону.

Общий рейтинг высчитывается как среднее арифметическое: сумма оценок делится на количество оценок. Не реально всегда получать рейтинг 5 звезд, т. к. иногда встречаются неадекватные пассажиры или с плохим настроением. Поэтому рейтинг 4.9 считается отличным!

Держите рейтинг выше 4,8 звезды.
Если рейтинг снижается — ищите причины.


Мы будем дополнять эту страницу примерами по улучшению рейтинга и недовольств клиентов. Добавьте страницу в закладки и проверяйте раз в месяц.

Еще прочитайте:

— Преимущества Uber по сравнению с Яндекс-такси и Гетт-такси

— Вопросы и ответы по Убер


Дизайн системы

UBER.

Технология Uber может показаться простой, но… | by Narendra L

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

Но за кадром, однако, гигантская инфраструктура, состоящая из тысяч сервисов и терабайт данных, поддерживает каждую поездку на платформе.

Как и большинство веб-сервисов, бэкэнд-система Uber начиналась как «монолитная» программная архитектура с кучей серверов приложений и единой базой данных.

Если вы ищете системный дизайн UBER, вот видео I made

Для получения дополнительных видеороликов о дизайне системы, пожалуйста, подпишитесь на мой канал: Tech Dummies

Система была в основном написана на Python и использовала SQLAlchemy в качестве уровня ORM для базы данных.Оригинальная архитектура подходила для относительно скромного количества поездок в несколько городов.

После 2014 года архитектура превратилась в сервис-ориентированную архитектуру с примерно сотней сервисов

Серверная часть Uber теперь предназначена не только для работы с такси, но и для обработки такси, доставки еды и грузов

Бэкэнд в первую очередь обслуживание трафика мобильных телефонов. Приложение uber общается с серверной частью по мобильным данным.

Диспетчерская система Uber действует как рыночная платформа в реальном времени, которая сопоставляет водителей с пассажирами, использующими мобильные телефоны.

Итак, нам нужны две службы

  1. Служба снабжения
  2. Служба спроса

В дальнейшем я буду использовать предложение на такси и спрос на райдеров, объясняя

Служба снабжения:

• Служба снабжения отслеживает автомобили, использующие геолокация (широта и язык) Каждая активная кабина продолжает посылать широту и долготу на сервер каждые 5 секунд один раз

• Конечные автоматы всего источника также хранятся в памяти

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

• Необходимо отслеживать распределение. Например, в автомобиле может быть три сиденья, но два из них заняты.

Служба по запросу

• Служба по запросу отслеживает местоположение пользователя по GPS по запросу

• Она отслеживает требования заказов, например: Требуется ли гонщику небольшая машина / большая машина или бассейн и т. Д.

• Требования должны быть сопоставлено с инвентарными запасами.

Теперь у нас есть спрос и предложение. Все, что нам нужно, — это услуга, которая соответствует их спросу и поставкам, и эта услуга в UBER называется DISCO

DISCO — DISPATCH optimisation

Эта услуга работает на сотнях процессов.

Основные требования диспетчерской системы

  1. сокращают лишнее вождение.
  2. сократить время ожидания
  3. самый низкий общий ETA

Данные GPS / местоположения — это то, что движет системой диспетчеризации, это означает, что мы должны моделировать наши карты и данные о местоположении

  1. Земля — ​​это сфера. Трудно делать обобщение и приближение, основываясь только на долготе и широте. Итак, Uber делит Землю на крошечные ячейки с помощью библиотеки Google S2. Каждая ячейка имеет уникальный идентификатор ячейки.
  2. S2 может дать покрытие формы. Если вы хотите нарисовать круг с радиусом 1 км с центром в Лондоне, S2 может сказать, какие ячейки необходимы, чтобы полностью покрыть форму.
  1. Поскольку каждая ячейка имеет идентификатор, идентификатор используется в качестве ключа сегментирования. Когда местоположение поступает из источника, определяется идентификатор ячейки для местоположения. Используя идентификатор ячейки в качестве ключа осколка, местоположение запаса обновляется. Затем он рассылается нескольким репликам.
  2. Чтобы сопоставить гонщиков с водителями или просто отобразить автомобили на карте, DISCO отправляет запрос на географию, поставляя
  3. система фильтрует все кабины по данным GPS местоположения водителя, чтобы найти близлежащие кабины, которые соответствуют требованиям гонщиков. area, со всеми соответствующими шардами связываются, чтобы вернуть данные о поставках.
  4. Затем список и требования отправляются в службу маршрутизации / ETA для вычисления ETA того, насколько близко они находятся не географически, а по системе дорог.
  5. Сортировка по ETA, затем отправляет его обратно в систему снабжения, чтобы предложить водителю.

Как масштабировать диспетчерскую систему?

Есть много способов сборки, но @ uber

  1. Dispatch построен с использованием node.js. Преимущество использования node — это асинхронная и основанная на событиях структура. Кроме того, он позволяет отправлять и получать сообщения через WebSockets
  2. , поэтому клиент может в любое время отправить сообщение на сервер или сервер может отправить и когда захочет.
  3. Теперь, как распределить вычисление диспетчеризации на одной машине и на нескольких машинах?
  4. Решение для масштабирования — Node js с ringpop , это более быстрый протокол RPC со сплетнями с использованием протокола SWIM и согласованного хэш-кольца.
  5. Ringpop — это библиотека, которая обеспечивает взаимодействие и координацию распределенных приложений. Он поддерживает согласованное хэш-кольцо поверх протокола членства и обеспечивает пересылку запросов для удобства маршрутизации.Его можно использовать для сегментирования вашего приложения таким образом, чтобы оно было масштабируемым и отказоустойчивым.
  6. SWIM используется для сплетен /, чтобы узнать, какой узел что делает и кто берет на себя ответственность за вычисления географии.
  7. , так что со сплетнями легко добавлять и удалять узлы и, следовательно, легко масштабировать.
  8. Протокол сплетен SWIM также объединяет проверки работоспособности с изменениями членства как часть того же протокола.

Как снабжение отправляет и сохраняет сообщения?

Apache Kafka используется в качестве концентратора данных

снабжение или кабины используют APIS Kafka для отправки точных местоположений GPS в центр обработки данных.

Как только местоположения GPS загружены в Kafka, они медленно сохраняются в соответствующей основной памяти рабочих заметок, а также в БД, когда происходит поездка.

Как работают карты и маршруты?

Перед тем, как Uber запускает операции в новой области, мы определяем и добавляем новый регион в наш стек картографических технологий. Внутри этой области карты мы определяем субрегионы, помеченные уровнями A, B, AB и C, следующим образом:

Оценка A: Субрегион Uber Territory, охватывающий городские центры и коммутируемые районы, которые составляют примерно 90 процентов всех ожидаемых Uber. трафик.Имея это в виду, крайне важно обеспечить наивысшее качество карты областей карты класса A.

Уровень B: Субрегион территории Uber, охватывающий сельские и пригородные районы, которые могут быть менее населенными или менее посещаемыми клиентами Uber.

Класс AB: Объединение субрегионов класса A и B.

Уровень C: Набор коридоров автомагистралей, соединяющих различные территории Uber.

Геопространственный дизайн:

Земля — ​​это сфера.Трудно делать обобщение и приближение, основываясь только на долготе и широте.

Итак, Uber делит Землю на крошечные ячейки с помощью библиотеки Google S2. Каждая ячейка имеет уникальный идентификатор ячейки.

Когда DISCO необходимо найти запас рядом с местом, зона покрытия круга рассчитывается с центром в том месте, где находится гонщик.

Нагрузка на чтение масштабируется за счет использования реплик. Если требуется больше возможностей чтения, коэффициент реплики можно увеличить.

Как uber строит карту?

  1. Покрытие трассировкой: сравнительная метрика покрытия, покрытие трассировкой определяет отсутствующие участки дороги или неправильную геометрию дороги.Для вычисления используются два входа: данные карты при тестировании и исторические GPS-данные всех поездок Uber, совершенных за определенный период времени. Мы накладываем эти GPS-следы на карту, сравнивая и сопоставляя их с участками дороги. Если мы обнаруживаем следы GPS, на которых не отображается дорога, мы можем сделать вывод, что на нашей карте отсутствует сегмент дороги, и предпринять шаги для устранения недостатка.
  2. Точность предпочтительных точек доступа (посадки): точки посадки являются чрезвычайно важным показателем для впечатлений водителя, особенно на крупных объектах, таких как аэропорты и стадионы.Для этого показателя мы вычисляем расстояние до адреса или местоположения места, как показано булавкой на карте на Рисунке 4 ниже, от всех фактических точек посадки и высадки, используемых водителями. Затем мы устанавливаем ближайшее фактическое местоположение в качестве предпочтительной точки доступа для указанного булавки местоположения. Когда водитель запрашивает местоположение, указанное булавкой на карте, карта направляет водителя к предпочтительной точке доступа. Мы постоянно вычисляем эту метрику с учетом последних фактических мест получения и возврата, чтобы обеспечить актуальность и точность предлагаемых предпочтительных точек доступа.

Как рассчитывается ETA?

, что означает, что дискотека должна отслеживать такси, доступные для езды наездникам.

, но ИТ-отдел должен не только обрабатывать имеющиеся в настоящее время поставки, то есть кабины, готовые к поездке клиента, но также отслеживать автомобили, собирающиеся закончить поездку.

например:

  1. Кабина, которая скоро финиширует рядом с запросом (райдер), лучше, чем выделение кабины, которая находится далеко от спроса.
  2. Иногда пересматриваю маршрут текущей поездки из-за того, что какое-то такси рядом с заказом подключилось.

при запуске uber данные каждого города были разделены путем создания отдельных таблиц / БД, это было непросто

Теперь вычисление всех городов происходит в одной системе, так как рабочие узлы DB распределены по регионам, в которые будет отправлен запрос спроса ближайший дата-центр.

Маршрутизация и расчет ETA — важный компонент в uber, поскольку он напрямую влияет на подбор поездок и прибыль.

, поэтому он использует историческое время в пути для расчета ETA

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

Также вы можете использовать данные о местоположении GPS приложения для водителя, чтобы легко прогнозировать состояние дорожного движения на любой заданной дороге, как есть На дороге так много убер-автомобилей, которые каждые 4 секунды отправляют данные GPS о местоположении

Вся дорожная сеть моделируется в виде графика.Узлы представляют собой перекрестки, а края — сегменты дороги. Вес края представляет собой интересующую метрику: часто либо расстояние до сегмента дороги, либо время, необходимое для его проезда. На графике также моделируются такие понятия, как улицы с односторонним движением, ограничения поворота, стоимость поворота и ограничения скорости.

Один простой пример, который вы можете попробовать дома, — это алгоритм поиска Дейкстры, который сегодня стал основой большинства современных алгоритмов маршрутизации.

OSRM основан на иерархиях сокращения.Системы, основанные на иерархиях сжатия, достигают высокой производительности — для расчета маршрута требуется всего несколько миллисекунд — за счет предварительной обработки графа маршрутизации.

Базы данных:

Используется множество различных баз данных. Самые старые системы были написаны на Postgres.

Redis используется очень часто. Некоторые стоят за Twemproxy. Некоторые из них находятся за специальной системой кластеризации.

MySQL: Создан на основе этих требований

  • линейно увеличивает емкость, добавляя дополнительные серверы (горизонтально масштабируемый)
  • доступность записи с буферизацией с использованием Redis
  • Триггеры должны работать, когда есть изменения в экземпляре
  • Никакого простоя операции (расширение хранилища, резервное копирование, добавление индексов, добавление данных и т. д.).

Вы можете использовать Bigtable Google, как любую базу данных без схемы

Хранилище данных о поездках в Schemaless

Uber создает собственное распределенное хранилище столбцов, которое организует набор экземпляров MySQL, называемых schemaless

Schemaless — это хранилище значений ключей, которое позволяет сохранять любые данные JSON без строгой проверки схемы без схемы (отсюда и название).

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

Schemaless поддерживает глобальные индексы по данным.

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

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

Некоторые диспетчерские службы поддерживают состояние в Риаке.

Геопространственные данные и поездки DB

Целью проектирования является обработка миллиона точек GPS, записываемых в секунду

Чтение даже больше, так как для каждого гонщика нам нужно показать как минимум 10 ближайших кабин

с использованием хеша Geo и Google s2 библиотеки все местоположения GPS могут быть запрошены

Теперь давайте поговорим об АНАЛИТИКЕ

Сбор и анализ журналов

Каждые микросервисы или службы ведения журналов настроены для отправки журналов в распределенный кластер Kafka, а затем с помощью тайника журналов мы можем фильтрует сообщения и перенаправляет их в разные источники, например,

, эластичный поиск для анализа журналов с использованием Kibana / Graphana

  1. Отслеживание HTTP API
  2. Для управления профилем
  3. Для сбора отзывов и оценок
  4. Рекламные акции и купоны и т. д.
  5. ОБНАРУЖЕНИЕ МОШЕННИЧЕСТВА
  6. Мошенничество с платежами
  7. Поощрение злоупотреблений
  8. Взломанные счета

Балансировка нагрузки:

Балансировщик нагрузки уровня 7, уровня 4 и уровня 3

  • Уровень 7 в балансировке нагрузки приложений
  • уровень 4 основан на балансировке нагрузки на основе IP + ump / TCP или DNS
  • Уровень 3 основан на только IP-адрес

Действия после отключения:

После завершения отключения нам необходимо выполнить эти действия путем планирования

• Собрать оценки.

• Отправлять электронные письма.

• Обновление баз.

• График платежей.

ЦЕНА И НАБОР:

Цена увеличивается, когда есть больше спроса и меньше предложения с помощью алгоритмов прогнозирования.

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

Как справиться с полным отказом центра обработки данных?

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

Системный дизайн приложения Uber — Системная архитектура Uber

Очень легко просто нажать кнопку на мобильном телефоне и вызвать такси в течение нескольких минут в любое время и в любом месте.
Uber / Ola / Lyft … использовать эти приложения и получить беспроблемную транспортную услугу действительно просто, но также просто создать эти гигантские приложения , над которыми сотни инженеров-программистов работали над ними в течение десяти лет… ? точно нет.Эти системы имеют гораздо более сложную архитектуру, и есть много компонентов, объединенных внутри, чтобы предоставлять услуги катания по всему миру. Разработка Uber (или OLA, или Lyft) — довольно частый вопрос в ходе собеседований при проектировании системы. Многие кандидаты боятся этого раунда больше, чем раунда кодирования, потому что они не понимают, какие темы и компромиссы им следует охватить в течение этого ограниченного периода времени. Во-первых, помните, что раунд разработки системы является чрезвычайно открытым и стандартного ответа не существует.Даже по одному и тому же вопросу у вас будет совершенно разное обсуждение с разными интервьюерами.

В этом блоге мы обсудим, как разработать сервисы вызова пассажиров, такие как Uber / Ola / Lyft, но прежде чем мы продолжим, мы хотим, чтобы вы прочитали статью «Как взломать систему проектирования раунда во время интервью?». Это даст вам представление о том, как выглядит этот раунд, что вы должны будете делать и каких ошибок следует избегать перед интервьюером.

Архитектура системы Uber

Все мы знакомы с услугами Uber.Пользователь может запросить поездку через приложение, и через несколько минут водитель прибудет рядом с его / ее местоположением, чтобы отвезти их к месту назначения. Ранее Uber был построен на модели архитектуры программного обеспечения « monolithic ». У них была внутренняя служба, внешняя служба и единая база данных. Они использовали Python и его фреймворки и SQLAlchemy в качестве уровня ORM для базы данных. Эта архитектура подходила для небольшого количества поездок в нескольких городах, но когда услуга начала расширяться в других городах, команда Uber столкнулась с проблемой с приложением.После 2014 года команда Uber решила перейти на «сервис-ориентированную архитектуру », и теперь Uber также занимается доставкой еды и грузов.



1. Расскажите о проблемах

Одна из основных задач в сервисе Uber — сопоставить водителя с такси, что означает, что нам нужны два разных сервиса в нашей архитектуре, то есть

  • Служба снабжения (для кабин)
  • Demand Service (для райдеров)

Uber имеет в своей архитектуре систему диспетчеризации (оптимизация диспетчеризации / DISCO), чтобы обеспечить соответствие предложения потребностям.Эта система диспетчеризации использует мобильные телефоны и берет на себя ответственность подбирать водителей и пассажиров (предложение к спросу).

2. Как работает диспетчерская система?

DISCO должны преследовать эти цели…

  • Уменьшите лишнее вождение.
  • Минимальное время ожидания
  • Минимальный общий ETA

Диспетчерская система полностью работает с картами и данными о местоположении / GPS, поэтому первое, что важно, — это смоделировать наши карты и данные о местоположении.

  • Земля имеет сферическую форму, поэтому сложно произвести обобщение и аппроксимацию, используя широту и долготу.Для решения этой проблемы Uber использует библиотеку Google S2 . Эта библиотека делит данные карты на крошечные ячейки (например, 3 км) и присваивает каждой ячейке уникальный идентификатор. Это простой способ распространять данные в распределенной системе и легко их хранить.
  • Библиотека
  • S2 легко обеспечивает покрытие любой заданной формы. Предположим, вы хотите выяснить все запасы, доступные в радиусе 3 км от города. Используя библиотеки S2, вы можете нарисовать круг радиусом 3 км, и он отфильтрует все ячейки с идентификаторами, лежащими в этом конкретном круге. Таким образом, вы можете легко сопоставить водителя с водителем и легко узнать количество автомобилей (запаса), доступных в конкретном регионе.

3. Служба снабжения и как она работает?

  • В нашем случае такси — это службы снабжения, и они будут отслеживаться по геолокации (широте и долготе). Все активные кабины продолжают отправлять местоположение на сервер каждые 4 секунды через брандмауэр веб-приложений и балансировщик нагрузки. Точное местоположение GPS отправляется в центр обработки данных через API-интерфейсы Kafka Rest после прохождения через балансировщик нагрузки.Здесь мы используем Apache Kafka в качестве концентратора данных.
  • Как только Kafka обновляет последнее местоположение, оно медленно проходит через основную память соответствующих рабочих заметок.
  • Также копия местоположения (конечный автомат / последнее местоположение такси) будет отправлена ​​в базу данных и для оптимизации отправки, чтобы обновлять последнее местоположение.
  • Нам также необходимо отслеживать еще несколько вещей, таких как количество мест, наличие автокресла для детей, тип транспортного средства, может ли инвалидная коляска поместиться, и распределение (например, в кабине может быть четыре сиденья, но два из них занят.)

4. Сервис по запросу и как он работает?

  • Сервис по запросу получает запрос кабины через веб-разъем и отслеживает местоположение пользователя по GPS. К нему также предъявляются различные требования, такие как количество сидений, тип автомобиля или вагон для пула.
  • Demand указывает местоположение (идентификатор ячейки) и требования пользователя для предоставления и отправки запросов на кабины.

5. Как диспетчерская система подбирает водителей и гонщиков?

  • Мы обсуждали, что DISCO делит карту на крошечные ячейки с уникальным идентификатором.Этот идентификатор используется в качестве ключа сегментирования в DISCO. Когда поставка получает запрос от спроса, местоположение обновляется с использованием идентификатора ячейки в качестве ключа сегмента. Обязанности этих крошечных ячеек будут разделены на разные серверы, расположенные в нескольких регионах (согласованное хеширование). Например, мы можем распределить ответственность 12 крошечных ячеек между 6 разными серверами (по 2 ячейки на каждый сервер), расположенными в 6 разных регионах.

  • Поставка отправляет запрос на конкретный сервер на основе данных местоположения GPS.После этого система рисует круг и отфильтровывает все близлежащие кабины, которые соответствуют требованиям водителя.
  • После этого список кабин отправляется в ETA для расчета расстояния между водителем и кабиной не географически, а по системе дорог.
  • Отсортированное ETA затем отправляется обратно в систему снабжения, чтобы предложить его водителю.

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

6.

Как масштабировать диспетчерскую систему?
  • Система диспетчеризации (включая спрос, предложение и веб-сокет) построена на NodeJS . NodeJS — это асинхронная среда, основанная на событиях, которая позволяет вам отправлять и получать сообщения через WebSockets, когда захотите.
  • Uber использует открытый исходный код ringpop , чтобы сделать приложение совместимым и масштабируемым для интенсивного трафика. Ring pop состоит в основном из трех частей и выполняет описанную ниже операцию для масштабирования системы диспетчеризации.
    1. Он поддерживает согласованное хеширование для распределения работы между рабочими. Это помогает сегментировать приложение таким образом, чтобы оно было масштабируемым и отказоустойчивым.
    2. Ringpop использует протокол RPC (удаленный вызов процедур) для выполнения вызовов с одного сервера на другой.
    3. Ringpop также использует протокол членства SWIM / протокол сплетен , который позволяет независимым работникам узнавать об ответственности друг друга. Таким образом, каждый сервер / узел знает ответственность и работу других узлов.
    4. Ringpop обнаруживает новые добавленные узлы в кластер и узел, который удаляется из кластера. Он равномерно распределяет нагрузки при добавлении или удалении узла.

7. Как Uber определяет регион карты?

Перед тем, как начать новую операцию в новом районе, Uber включил новый регион в стек картографических технологий. В этой области карты мы определяем различные подобласти, помеченные градациями A, B, AB и C.

Уровень A: Этот субрегион отвечает за охват городских центров и пригородных районов.Около 90% трафика Uber покрывается в этом субрегионе, поэтому важно построить карту самого высокого качества для субрегиона A.


Уровень B: Этот субрегион охватывает сельские и пригородные районы, которые менее населены и менее посещаемы Uber. клиенты.

Класс AB: Объединение субрегионов класса A и B.

Уровень C: Охватывает множество коридоров шоссе, соединяющих различные территории Uber.

8. Как Uber строит карту?

Uber использует стороннего поставщика картографических услуг для построения карты в своем приложении.Раньше Uber использовал сервисы Mapbox, но позже Uber перешел на Google Maps API для отслеживания местоположения и расчета ETA.

1. Покрытие следом: Покрытие следом определяет отсутствующие участки дороги или неправильную геометрию дороги. Расчет покрытия трассировки основан на двух входных данных: тестируемых данных карты и исторических данных GPS всех поездок Uber, совершенных за определенный период времени. Он покрывает эти GPS-следы на карте, сравнивая и сопоставляя их с сегментами дороги. Если мы обнаруживаем недостающие участки дороги (дорога не отображается) на следах GPS, мы предпринимаем некоторые шаги для устранения недостатка.

2. Предпочтительная точность точки доступа (посадки): Мы получаем точку посадки в нашем приложении, когда бронируем такси в Uber. Пункты встречи действительно важны в Uber, особенно для крупных объектов, таких как аэропорты, университетские городки, стадионы, фабрики или компании. Мы рассчитываем расстояние между фактическим местоположением и всеми пунктами посадки и высадки, используемыми водителями.

Источник изображения: https://eng.uber.com/maps-metrics-computation/

Затем вычисляется кратчайшее расстояние (ближайшая точка посадки), и мы устанавливаем булавку на это место в качестве предпочтительной точки доступа на карте.Когда водитель запрашивает местоположение, указанное булавкой на карте, карта направляет водителя к предпочтительной точке доступа. Расчет продолжается с учетом последних фактических мест посадки и высадки, чтобы гарантировать актуальность и точность предлагаемых предпочтительных точек доступа. Uber использует машинное обучение и различные алгоритмы для определения предпочтительной точки доступа.

9. Как рассчитывается ETA?

ETA — чрезвычайно важный показатель для Uber, поскольку он напрямую влияет на подбор пассажиров и прибыль. ETA рассчитывается на основе дорожной системы (а не географически), и есть много факторов, участвующих в вычислении ETA (например, интенсивное движение или строительство дороги). Когда водитель запрашивает такси из какого-либо места, приложение не только определяет свободные / неработающие кабины, но также включает кабины, которые собираются завершить поездку. Возможно, что одна из кабин, которые вот-вот закончат поездку, ближе к потребностям, чем кабина, которая находится далеко от пользователя. Так много uber-автомобилей на дорогах отправляют данные о местоположении каждые 4 секунды, поэтому для прогнозирования трафика мы можем использовать данные GPS приложения водителя.

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

Как только структура данных определена, мы можем найти лучший маршрут, используя алгоритм поиска Дейкстры, который на сегодняшний день является одним из лучших современных алгоритмов маршрутизации. Для повышения производительности нам также необходимо использовать OSRM (Open Source Routing Machine), которая основана на иерархиях сжатия. Системам, основанным на иерархиях сжатия, требуется всего несколько миллисекунд для вычисления маршрута — путем предварительной обработки графа маршрутизации.

10. Базы данных

Uber пришлось учесть некоторые требования к базе данных для лучшего обслуживания клиентов.Эти требования…

  • База данных должна быть масштабируемой по горизонтали. Вы можете линейно увеличивать емкость, добавляя больше серверов.
  • Он должен иметь возможность обрабатывать большое количество операций чтения и записи, потому что каждые 4 секунды кабины будут отправлять местоположение GPS, и это местоположение будет обновлено в базе данных.
  • Система никогда не должна давать простоев из-за какой-либо операции. Он должен быть высокодоступным независимо от того, какую операцию вы выполняете (расширение хранилища, резервное копирование, добавление новых узлов и т. Д.).

Ранее Uber использовал СУБД PostgreSQL, но из-за проблем с масштабируемостью Uber переключился на различные базы данных. Uber использует базу данных NoSQL (без схемы), построенную поверх базы данных MySQL.

  • Redis как для кеширования, так и для организации очередей. Некоторые из них находятся за Twemproxy (обеспечивает масштабируемость уровня кеширования). Некоторые из них находятся за специальной системой кластеризации.
  • Uber использует schemaless (встроенный поверх MySQL), Riak и Cassandra. Schemaless — для длительного хранения данных.Riak и Cassandra удовлетворяют требованиям высокой доступности и малой задержки.
  • База данных MySQL.
  • Uber создает собственное распределенное хранилище столбцов, которое управляет множеством экземпляров MySQL.

11. Аналитика

Для оптимизации системы, минимизации затрат на эксплуатацию и улучшения качества обслуживания клиентов uber выполняет сбор и анализ журналов. Uber использует разные инструменты и фреймворки для аналитики. Для анализа журналов Uber использует несколько кластеров Kafka.Kafka берет исторические данные вместе с данными в реальном времени. Данные архивируются в Hadoop до истечения срока их хранения в Kafka. Данные также индексируются в стеке поиска Elastic для поиска и визуализации. Эластичный поиск выполняет некоторый анализ журналов с помощью Kibana / Graphana. Некоторые из анализов, выполненных Uber с использованием различных инструментов и фреймворков, включают…

  • Отслеживание HTTP API
  • Управление профилем
  • Соберите отзывы и оценки
  • Акции и купоны и т. Д.
  • Обнаружение мошенничества
  • Мошенничество с платежами
  • Поощрение со стороны водителя
  • Взломанные хакерами учетные записи.Uber использует исторические данные о клиенте и некоторые методы машинного обучения для решения этой проблемы.

12. Как справиться с отказом центра обработки данных?

Datacenter сбой случается не очень часто, но Uber по-прежнему поддерживает резервный центр обработки данных, чтобы обеспечить бесперебойную работу. Этот центр обработки данных включает в себя все компоненты, но Uber никогда не копирует существующие данные в центр обработки данных резервного копирования.

Тогда как Uber решает проблему отказа центра обработки данных ??

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

Артикул: Uber Engineering

Операционная система для повседневной жизни

US | 26 сентября 2019 г. Написано Дарой Хосровшахи

Мы хотим, чтобы Uber был операционной системой для вашей повседневной жизни: как бы вы ни перемещались по городу и что бы вам ни потребовалось, мы хотим, чтобы Uber стал вашим популярным приложением.

Uber начинал с поездок по запросу, но мы выросли, чтобы предложить доступ ко всему, от доставки еды до электрических велосипедов и скутеров.Мы даже интегрировали общественный транспорт в приложение Uber, а также несколько вертолетов.

Сегодня мы представили наше видение следующего поколения приложения Uber: новый способ находить, получать доступ и пользоваться растущим числом услуг, доступных через нашу платформу. Теперь вы увидите наши Поездки, Еда и будущие варианты рядом друг с другом, чтобы вы могли сделать лучший выбор для себя. Это новое приложение в настоящее время тестируется в сотнях городов США и других стран.

Мы понимаем, что становление неотъемлемой частью жизни людей требует реальной ответственности. Вот почему мы работаем над тем, чтобы с каждым клиентом обращались как с VIP-персоной, каждый водитель и курьер чувствовали себя ценным партнером, а каждый город чувствовал себя порядочным гражданином. Имея это в виду, сегодня мы также объявили о ряде инновационных функций и новых партнерских отношениях.

W e объявила о новых разрабатываемых нами технологиях, которые будут продолжать поднимать планку безопасности и устанавливать стандарт для индустрии поездок на автомобиле:

  • Подтвердите свою поездку: Чтобы убедиться, что вы сели в нужную машину, теперь вы можете выбрать получение уникального четырехзначного PIN-кода , который вы устно предоставите своему водителю.Водитель сможет начать поездку в приложении только после ввода правильного PIN-кода. Мы также разрабатываем новую технологию, которая использует ультразвук волны для автоматической проверки того, что вы находитесь в нужной машине, без ввода PIN-кода.
  • Отчеты во время поездки: Вам больше не придется ждать, пока вы выйдете из машины, чтобы сообщить о проблеме в Uber. Вскоре гонщики увидят опцию «Сообщить о происшествии, связанном с безопасностью» в своем наборе средств безопасности (значок синего щита), который позволит им сообщить о проблеме безопасности во время поездки.Специалисты службы безопасности Uber свяжутся с вами после поездки.
  • SMS на номер 911: В прошлом году мы добавили в приложение Uber аварийную кнопку для подключения водителей и пассажиров напрямую к 911 в случае возникновения чрезвычайной ситуации. Теперь мы добавляем возможность отправлять текстовые сообщения на номер 911 в городах и округах, которые поддерживают эту технологию. Мы автоматически составим текстовое сообщение, которое будет включать информацию о поездке, такую ​​как марка и модель автомобиля, номерной знак и местонахождение, чтобы операторы службы экстренной помощи могли быстро ответить.
  • Улучшенная проверка идентификатора в режиме реального времени: В 2016 году мы объявили о проверке идентификатора в режиме реального времени, которая помогает убедиться, что водитель за рулем соответствует учетной записи в нашей системе.Мы начали с простых селфи, а сегодняшнее усовершенствование побуждает водителя выполнять произвольную серию основных движений — моргать, улыбаться и / или поворачивать голову — чтобы добавить еще один уровень безопасности.
  • Предупреждения о велосипедных полосах: К концу октября гонщики в более чем 200 городах по всему миру получат уведомление в приложении, когда их высадят рядом с велосипедной полосой. Мы думаем, что это напоминание поможет убедиться, что гонщики обращают внимание на велосипедистов, прежде чем они откроют дверь, что может повысить безопасность для всех.

Мы также анонсировали ряд новых продуктов и функций, которые, как мы надеемся, заставят каждого пользователя Uber почувствовать себя VIP-персоной:

  • Мы анонсировали Uber Pass , который обеспечивает комплексную экономию, такую ​​как защита цен на поездки, плата за доставку в размере 0 долларов США по заказам Uber Eats (и более) для клиентов в 10 городах, которые используют райдшеринг, Uber Eats и, для ограниченное время, наши велосипеды и скутеры. Эти опции дополняют проездной Ride Pass , который доступен в 40 городах.И сегодня мы также анонсировали Eats Pass , который теперь доступен в 18 городах для постоянных клиентов доставки еды.
  • Uber Rewards расширяется, чтобы позволить клиентам зарабатывать обменные баллы каждый раз, когда они едут на Uber или покупают Uber Eats. В США участники Uber Rewards теперь могут выбирать новые награды, такие как плата за доставку в размере 0 долларов США за заказы Uber Eats, бесплатные блюда от партнеров, таких как McDonald’s и Ben and Jerry’s (скоро), а также скидки на поездки UberX и Uber Comfort.Uber Rewards также распространяется по всему миру , поэтому путешественники из США могут зарабатывать баллы, используя Uber в любом месте за границей, а также программа распространяется на клиентов из Бразилии и Мексики.
  • Мы запускаем антиаллергенных фильтров для Uber Eats — новой функции, которая упростит миллионам людей с аллергией или диетическими ограничениями более эффективный заказ в Uber Eats. Выбирая блюдо, вы можете легко сообщить ресторанам о своей аллергии или диетических ограничениях через приложение.Если ресторан не может выполнить запрос, он может написать вам сообщение и предоставить возможность заказать другое блюдо, соответствующее вашим потребностям.
  • Мы постоянно работаем над расширением ассортимента ресторанов, доступных в Uber Eats. Вот почему мы рады объявить об эксклюзивном партнерстве с sweetgreen . Мы гордимся тем, что объединились с лидером пищевой промышленности, чей дух социального воздействия и инвестиции в местные сообщества позволили им вырасти в национальный бренд с миссией по созданию более здоровых сообществ, предоставляя людям настоящую пищу.
  • Наконец, мы продолжаем развивать успех наших цифровых виртуальных ресторанов , включая партнерство с Rachael Ray , которая откроет свой первый в мире ресторан — виртуально — на Uber Eats. Приуроченный к запуску ее новой кулинарной книги, мы объединились с Рэйчел, чтобы предложить некоторые из ее любимых рецептов в 10 городах в течение 10 недель. Виртуальный ресторан будет работать исключительно на Uber Eats и предложит клиентам и фанатам возможность впервые насладиться едой Рэйчел дома.

Мы анонсировали несколько новых функций, ориентированных на водителей и курьеров:

  • Мы объявляем о нашем предстоящем дебюте оценщика прибыли , чтобы помочь водителям лучше прогнозировать свой потенциальный доход. Мы надеемся, что это предоставит водителям больше информации, чтобы они могли лучше понять, на какой заработок они могут разумно рассчитывать, даже до того, как они отправятся в свою первую поездку.
  • Водители
  • также сообщают нам, что им нужна дополнительная информация о том, где и когда лучше всего и когда лучше ехать, чтобы они могли сделать правильный выбор в соответствии со своими личными обстоятельствами.Сегодня мы запускаем новые инструменты, которые помогут, в том числе новую карту спроса , которая выделяет области, в которых больше пассажиров запрашивают поездки, и более точные прогнозы того, когда водители могут ожидать запроса на поездку.
  • Иногда водители едут в места, где у них меньше шансов заставить водителя вернуться в другом направлении. Итак, в ноябре мы представляем Back to Busy Area. Если водитель завершает поездку в тихом районе, он может включить это, чтобы помочь отфильтровать запросы на поездку в выбранном им направлении.Мы также объявили, что водители в большинстве штатов США могут зарабатывать на Uber Eats, даже когда они путешествуют, то есть они могут зарабатывать, где бы они ни находились.
  • Мы также прилагаем все усилия, чтобы узнавать водителей и создавать больше возможностей для поощрения их. Наша программа Uber Pro включает такие вознаграждения, как 100% покрытие обучения в ASU Online и скидки на общие расходы, связанные с вождением. Сегодня более 1,5 миллиона водителей являются участниками Uber Pro, а к концу года мы планируем вырасти до 3 миллионов. Мы также рады представить Uber Pro даже в странах, включая Великобританию, Бразилию и Аргентину.

Мы также предприняли шаги, чтобы быть хорошими гражданами в каждом городе, который мы обслуживаем:

  • Мы расширяем нашу опцию в приложении Transit на Сан-Франциско, Мехико и Париж сегодня, а к концу года — еще на 7 городов (на всех континентах!). Мы рады добавить в приложение Uber информацию о расписании движения и стоимости проезда из крупнейших систем общественного транспорта мира в режиме реального времени.
  • Мы также объявили о новых обновлениях, которые упростят поиск Bikes & Scooters , когда вы в пути, и о новом оборудовании, чтобы устройства оставались заряженными и доступными для клиентов.
    • Наше новое поколение велосипедов и скутеров JUMP поставляется с удобными заменяемыми батареями. Чтобы сделать поездку с полностью заряженной батареей проще, чем когда-либо, мы создаем новый зарядный киоск JUMP Charging Kiosk , который позволит вам в пути заменить разряженный аккумулятор на новый. Наши новые велосипеды, скутеры и зарядная инфраструктура с возможностью замены батарей появятся в некоторых городах в следующем году.
    • Со следующего месяца мы начнем с номера , показывающего велосипеды и скутеры на карте в приложении Uber, так что теперь стало проще, чем когда-либо, увидеть варианты микромобильности вокруг вас, независимо от того, принадлежат они Uber или нет.Мы внесем это изменение во всех 28 городах, где доступны наши велосипеды или скутеры JUMP, а также в десятке городов США, где скутеры Lime доступны через приложение Uber.
  • Доставка еды быстро стала популярной — Uber Eats недавно завершил свою миллиардную доставку. В этом масштабе мы должны сыграть свою роль, когда доходит до , сокращая количество пластиковых и пищевых отходов . Начиная со следующего месяца, вы должны будете запрашивать соломинку, посуду и другие предметы сервировки при размещении заказа.Рестораны больше не должны включать их по умолчанию.
  • В рамках нового партнерства с Feeding America мы работаем, чтобы помочь справиться с голодом и отсутствием продовольственной безопасности, от которых страдают более 37 миллионов американцев. Мы задействуем наши технологии и сеть, например, работая с ресторанами, которые используют Uber Eats для раздачи лишней еды, которая в противном случае пошла бы в отходы, или используя нашу сеть Uber Freight для перемещения пожертвований продуктов питания между общенациональной сетью Feeding America, состоящей из 200 продуктов питания. банки и 60 000 кладовых с едой.
  • Устойчивое развитие : Четверть всех выбросов углерода приходится на транспорт. Вот почему мы обязуемся измерить наше воздействие на окружающую среду с помощью двух новых методологий — эффективности поездок и углеродного воздействия — и отчитаться о нашем прогрессе в ближайшие месяцы; сокращение нашего углеродного следа за счет обеспечения к 2025 году 100% возобновляемой энергии для всех наших офисов в США; и инвестирование в продукты и программы для снижения углеродоемкости на нашей платформе, включая новые партнерские отношения с EVgo и Powerdot, а также помощь в создании Глобальной коалиции новой мобильности, новой организации на Всемирном экономическом форуме.

Что дальше

Мы знаем, что хорошие идеи могут прийти откуда угодно, и мы хотим открыть нашу глобальную платформу — со 100 миллионами активных потребителей и более чем 4 миллионами водителей и партнеров по доставке — для предпринимателей как внутри, так и за пределами Uber. Войдите в Uber Incubator, — новую возможность для предпринимателей и стартапов использовать нашу платформу, чтобы вывести свои идеи на новый уровень:

  • Мы запускаем новую шестимесячную программу «Предприниматель по месту жительства», открытую как для сотрудников Uber, так и для внешних соискателей, где предприниматели могут работать рука об руку с нашей командой инкубатора, чтобы превратить свои идеи в бизнес на платформе Uber.
  • Мы также активно взаимодействуем со стартапами на ранних стадиях, которые идут на разумный риск и хотят использовать сильные стороны нашей платформы для расширения своего бизнеса. Мы надеемся найти возможности для развития новых стартапов, которые помогут нам улучшить качество обслуживания клиентов в области мобильности, логистики и многого другого.
  • Если вы хотите присоединиться к нам в разработке новых продуктов, у нас есть десятки вакансий для технических и нетехнических кандидатов.
  • Перейдите на сайт http://t.uber.com/incubator, чтобы увидеть открытые вакансии и вскоре узнать больше о наших усилиях по привлечению стартапов и предпринимателей.

Как Uber масштабирует свою рыночную платформу реального времени

Сообщается, что всего за четыре года Uber выросла в 38 раз. Теперь, как мне кажется, впервые, Мэтт Рэнни, главный системный архитектор Uber, в очень интересном и подробном выступлении — «Масштабирование рыночной платформы реального времени Uber» — много рассказывает нам о том, как работает программное обеспечение Uber.

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

Общее впечатление от выступления — очень быстрый рост. Многие архитектурные решения, которые они сделали, являются следствием столь быстрого роста и попытки дать недавно собранным командам возможность двигаться как можно быстрее.На бэкэнде использовалось много технологий, потому что их основная цель заключалась в том, чтобы команды могли максимально увеличить скорость разработки.

После вполне хаотичного (и очень успешного) старта кажется, что Uber многое узнал об их бизнесе и о том, что им действительно нужно для успеха. Их ранняя система диспетчеризации представляла собой типичную систему типа «просто заставить ее работать», предполагавшую на глубоком уровне перемещение только людей. Теперь, когда миссия Uber переросла в работу с коробками и продуктами, а также с людьми, их система диспетчеризации была абстрагирована и поставлена ​​на очень прочную и продуманную архитектурную основу.

Хотя Мэтт считает, что их архитектура может быть немного сумасшедшей, идея использования последовательного хэш-кольца с протоколом сплетен кажется подходящей для их варианта использования.

Трудно не восхищаться искренним энтузиазмом Мэтта по поводу того, над чем он работает. Говоря о DISCO, их диспетчерской системе, он взволнованно говорит, что это похоже на школьную задачу коммивояжера. Это крутая штука в области компьютерных наук. Несмотря на то, что решение не оптимально, это коммивояжер в интересном масштабе, в реальном времени, в реальном мире, построенный из отказоустойчивых масштабируемых компонентов.Как это круто?

Итак, давайте посмотрим, как работает Uber изнутри. Вот мой обзор выступления Мэтта:

Статистика

  • Цель геопространственного индекса Uber — миллион операций записи в секунду. Многое кратное для чтения.

  • В системе диспетчеризации тысячи узлов.

Платформа

  • Node.js

  • Python

  • Java

  • Перейти

  • Нативные приложения на iOS и Android

  • Микросервисы

  • Redis

  • Postgres

  • MySQL

  • Riak

  • Twitter’s Twemproxy для Redis

  • Библиотека геометрии Google S2

  • ringpop — последовательное хеш-кольцо

  • TChannel — сетевой протокол мультиплексирования и кадрирования для RPC

  • Комиссионный сбор

Общие

  • Uber — это транспортная платформа для соединения пассажиров с водителями-партнерами.

  • Задача: согласование динамического спроса с динамическим предложением в реальном времени . Что касается предложения, то водители могут делать все, что захотят. Что касается спроса, то водителям нужен транспорт в любое время.

  • Диспетчерская система Uber — это рыночная платформа в режиме реального времени, которая подбирает водителей и пассажиров, использующих мобильные телефоны.

  • Канун Нового года — самое загруженное время года для Uber.

  • Легко забыть, как быстро отрасль достигла такого огромного прогресса.Технологии развиваются настолько быстро, что вещи, которые недавно были удивительными, быстро отходят на второй план. Двадцать тридцать лет назад мобильные телефоны, Интернет и GPS были едва ли научной фантастикой, теперь мы почти не замечаем этого.

Обзор архитектуры

  • Все это движет водителями и водителями, использующими на своих мобильных телефонах собственные приложения.

  • Серверная часть в основном обслуживает трафик мобильных телефонов. Клиенты общаются с серверной частью через мобильные данные и лучший Интернет.Можете ли вы представить, что 10 лет назад основали бизнес на мобильных данных? Здорово, что мы можем делать такие вещи сейчас. Не используются ни частные сети, ни причудливый QoS (качество обслуживания), только открытый Интернет.

  • Клиенты подключаются к диспетчерской системе, которая сопоставляет водителей и пассажиров, — спрос и предложение .

  • Dispatch почти полностью написан на node.js.

    • Планировалось перенести его на io.js, но с тех пор io.js и node.js объединились.

    • Вы можете выполнять интересную работу с распределенными системами на javascript.

    • Трудно недооценить производительную силу энтузиазма, и разработчики узлов полны энтузиазма. Они могут сделать многое очень быстро.

  • Вся система Uber, вероятно, кажется довольно простой. Зачем вам все эти подсистемы и все эти люди? Если так кажется, то это признак успеха.Еще многое предстоит сделать, и пока это кажется простым, они сделали свое дело.

  • Карты / ETA (примерное время прибытия). Чтобы Dispatch мог сделать разумный выбор, необходимо получить карты и информацию о маршрутах.

    • Карты улиц и историческое время в пути используются для оценки текущего времени в пути.

    • Язык во многом зависит от того, с какой системой интегрируется. Итак, есть Python, C ++ и Java

      .
  • Услуги .Существует огромное количество сервисов бизнес-логики.

  • Базы данных . Используется много разных баз данных.

    • Самые старые системы были написаны на Postgres.

    • Redis используется очень часто. Некоторые стоят за Twemproxy. Некоторые из них находятся за специальной системой кластеризации.

    • MySQL

    • Uber создает собственное распределенное хранилище столбцов, которое управляет множеством экземпляров MySQL.

    • Некоторые диспетчерские службы сохраняют состояние в Риаке.

  • Трубопровод после отключения . После завершения поездки должна произойти большая обработка.

    • Соберите рейтинги.

    • Отправить электронные письма.

    • Обновить базы.

    • График платежей.

    • Написано на Python.

  • Деньги .Uber интегрируется со многими платежными системами.

Старая система диспетчеризации

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

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

  • Старая система была разработана для частного транспорта, что сделало много предположений:

    • Один водитель на автомобиль, что не подходит для Uber Pool.

    • Идея перемещения людей глубоко укоренилась в моделях данных и интерфейсах. Это сдерживало выход на новые рынки и новые продукты, такие как перемещение продуктов и коробок.

    • Оригинальная версия шардировалась по городу. Это хорошо для масштабируемости, потому что каждый город может работать независимо. Однако по мере того, как добавлялось все больше и больше городов, управлять им становилось все труднее. Некоторые города большие, а некоторые маленькие. В некоторых городах наблюдаются большие скачки нагрузки, а в других — нет.

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

Новая система диспетчеризации

  • Чтобы исправить сегментирование городов и поддерживать больше продуктов, необходимо было обобщить идею спроса и предложения, поэтому были созданы службы снабжения и службы спроса .

  • Служба снабжения отслеживает возможности и конечные автоматы всего снабжения.

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

    • Распределение необходимо отслеживать. Например, в автомобиле может быть три сиденья, но два из них заняты.

  • Служба спроса отслеживает потребности, заказы и все аспекты спроса.

    • Если гонщику требуется автокресло, это требование должно быть сопоставлено с инвентарём.

    • Если гонщик не против поделиться автомобилем по более низкой цене, это необходимо смоделировать.

    • Что делать, если нужно переместить коробку или доставить еду?

  • Логика для согласования всего спроса и предложения — это услуга DISCO (оптимизация диспетчеризации)

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

    • DISCO поддерживает планирование будущего и использование информации по мере ее поступления.Например, изменение маршрута во время поездки.

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

    • geo по запросу . Для спроса также необходим геоиндекс

    • Для использования всей этой информации требуется улучшенный механизм маршрутизации.

Отправка

  • По мере движения транспортных средств обновления местоположения отправляются в geo по запросу.Чтобы сопоставить гонщиков с водителями или просто отобразить автомобили на карте, DISCO отправляет запрос в geo by supply.

  • Geo по поставке делает фильтр грубой очистки первого прохода, чтобы найти ближайшего кандидата, соответствующего требованиям.

  • Затем список и требования отправляются в службу маршрутизации / ETA для расчета ETA того, насколько близко они находятся не географически, а по системе дорог.

  • Отсортируйте по ETA, затем отправьте обратно в поставку, чтобы предложить водителю.

  • В аэропортах имитируют виртуальную очередь такси.Поставки должны быть поставлены в очередь, чтобы учесть порядок их поступления.

Геопространственный индекс

  • Должен быть супер масштабируемым. Целью проекта является обработка миллиона операций записи в секунду . Скорость записи определяется драйверами, которые при перемещении отправляют обновления каждые 4 секунды.

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

  • Старый геопространственный индекс работал хорошо, делая упрощающее предположение, он отслеживал только диспетчерское предложение.Большая часть поставщика была занята чем-то, поэтому подмножество доступного предложения было легко поддерживать. В памяти нескольких процессов хранился глобальный индекс. Сделать очень наивное сопоставление было достаточно просто.

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

  • Новая служба запускает сотни процессов .

  • Земля — ​​сфера. Трудно делать обобщение и приближение, основываясь только на долготе и широте. Итак, Uber делит Землю на крошечные ячейки с помощью библиотеки Google S2. Каждая ячейка имеет уникальный идентификатор ячейки.

  • Используя int64, можно представить каждый квадратный сантиметр на Земле. Uber использует ячейки уровня 12, длина которых составляет от 3,31 км (2) до 6,38 км (2), в зависимости от того, где вы находитесь. Коробки меняют форму и размер в зависимости от того, в каком положении на сфере они находятся.

  • S2 может обеспечить покрытие формы. Если вы хотите нарисовать круг радиусом 1 км с центром в Лондоне, S2 может сказать, какие ячейки необходимы, чтобы полностью покрыть форму.

  • Поскольку каждая ячейка имеет идентификатор, этот идентификатор используется в качестве ключа сегментирования. Когда местоположение поступает из источника, определяется идентификатор ячейки для местоположения. Используя идентификатор ячейки в качестве ключа осколка, местоположение запаса обновляется. Затем он рассылается нескольким репликам.

  • Когда DISCO необходимо найти запас рядом с местом, зона покрытия круга рассчитывается с центром в том месте, где находится гонщик.Используя идентификаторы ячеек из области круга, мы связываемся со всеми соответствующими шардами для возврата данных о поставках.

  • Это все масштабируемое. Несмотря на то, что это не так эффективно, как хотелось бы, и поскольку разветвление относительно дешево, нагрузку на запись всегда можно масштабировать, добавляя дополнительные узлы. Нагрузка на чтение масштабируется за счет использования реплик. Если требуется больше возможностей чтения, коэффициент реплики можно увеличить.

  • Ограничение — размер ячейки установлен на уровне 12.В будущем может поддерживаться динамический размер ячейки. Есть компромисс: чем меньше размер ячейки, тем больше разветвление запросов.

Маршрутизация

  • После того, как будет получен ответ от geospatial, варианты должны быть ранжированы.

  • Это несколько целей высокого уровня:

    • уменьшить лишнее вождение . Вождение — это работа людей, поэтому они хотят быть продуктивными. Им платят за дополнительную поездку.В идеале водители находятся в непрерывной поездке. Кучу работы ставили в очередь, и за все платили.

    • сократить время ожидания . Гонщики должны ждать как можно меньше.

    • самый низкий общий ETA .

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

  • Хороший выбор нельзя сделать, глядя только на текущую доступность.

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

  • Эта модель лучше справляется с динамическими условиями, пытаясь заглянуть в будущее.

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

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

  • Все эти решения становятся более интересными при рассмотрении доставки коробок или еды.В этих случаях людям обычно есть чем заняться, поэтому приходится идти на разные компромиссы.

Масштабирование отправки

  • Dispatch построен с использованием node.js.

  • Они создают службу с отслеживанием состояния, поэтому подходы к масштабированию без отслеживания состояния не работают.

  • Node работает в одном процессе, поэтому необходимо разработать какой-то метод для запуска Node на нескольких процессорах на одной машине и на нескольких машинах.

  • Есть шутка о переопределении всего Erlang в Javascript.

  • Решением для масштабирования Node было ringpop , согласованное хэш-кольцо с протоколом сплетен, реализующее масштабируемое, отказоустойчивое сегментирование уровня приложений.

  • В терминологии CAP ringpop — это система AP . , обмен согласованностью на доступность. Лучше устранить некоторые несоответствия, чем отказываться от обслуживания. Лучше встать и изредка ошибаться.

  • ringpop — это встраиваемый модуль, который включен в каждый процесс Node.

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

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

  • Протокол сплетен основан на SWIM.Внесено несколько улучшений для уменьшения времени сходимости.

  • Список участников, которые поднялись, ходят сплетни. По мере добавления дополнительных узлов он масштабируется. Буква «S» в SWIM означает масштабируемость и действительно работает. Он имеет , масштабированных до узлов.

  • SWIM объединяет проверки работоспособности с изменениями членства как часть того же протокола.

  • В системе ringpop есть все эти процессы узла, содержащие модули ringpop.Они сплетничают о нынешнем членстве.

  • Внешне, если DISCO хочет использовать геопространственные данные, каждый узел эквивалентен. Выбирается случайный исправный узел. Где бы ни приземляется запрос, он отвечает за пересылку запроса на нужный узел с помощью поиска по хэш-кольцу. Это похоже:

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

  • ringpop построен на собственном механизме RPC Uber, который называется TChannel .

    • Это двунаправленный протокол запроса / ответа, созданный на основе Twitter Finagle.

    • Важной целью было контролировать производительность на множестве разных языков. Многие существующие механизмы RPC, особенно в Node и Python, работают не очень хорошо. Требуется производительность уровня Redis. TChannel уже в 20 раз быстрее HTTP .

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

    • Требуется надлежащая конвейерная обработка, чтобы не было прямой блокировки, запросы и ответы могли быть отправлены в любом направлении в любое время, и каждый клиент также является сервером.

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

    • Требуется чистый путь миграции с HTTP. HTTP можно очень естественно инкапсулировать в TChannel.

    • Uber выходит из бизнеса HTTP и Json . Все переходит на экономию через TChannel.

  • ringpop распространяет все свои сплетни по постоянным соединениям на основе TChannel. Эти же постоянные соединения используются для разветвления или пересылки трафика приложений. TChannel также используется для обмена данными между службами.

Наличие при отправке

  • Доступность очень важна . У Uber есть конкуренты, и затраты на переключение очень низкие. Если Uber выйдет из строя хотя бы ненадолго, деньги перейдут кому-то другому. Другие продукты более липкие, и клиенты просто попробуют еще раз позже. Это не всегда так с Uber.

  • Сделать все доступным для повторения . Если что-то не работает, нужно повторить попытку. Вот как обходить неудачу.Это требует, чтобы все запросы были идемпотентными. Например, при повторной отправке они не могут быть отправлены дважды или дважды списаны с чьей-либо кредитной карты.

  • Сделайте все убиваемым . Неудача — частый случай. Процессы убийства наугад не должны причинять вреда.

  • Только сбой . Никаких изящных отключений нет. Изящные отключения — это не то, что нужно практиковать. Что нужно практиковать, так это когда неожиданные вещи ломаются.

  • Мелкие детали .Чтобы свести к минимуму стоимость поломки вещей, разбейте их на более мелкие части. Можно было бы обрабатывать глобальный трафик в одном экземпляре, но что произойдет, когда он умрет? Если их пара, и один выходит из строя, мощность уменьшается вдвое. Итак, службы необходимо разделить. Звучит как проблема технологий, но это скорее проблема культуры. Просто иметь пару баз данных проще. Это естественно, но пары — это плохо. Убивать их наугад очень рискованно, если вы сможете автоматически повысить одного и перезапустить новый вторичный.

  • Убить все . Даже убить все базы данных, чтобы убедиться, что можно пережить такой сбой. Это потребовало изменения решений о том, какую базу данных использовать. Они выбрали Riak вместо MySQL. Это также означает использование ringpop вместо redis. Удаление экземпляра Redis — дорогостоящая операция, обычно она довольно большая и дорогостоящая.

  • Разбейте его на более мелкие части . Кстати о культурном сдвиге.Обычно служба A связывается со службой B через балансировщик нагрузки. Что делать, если балансировщик нагрузки умирает? Как ты собираешься с этим справиться? Если вы никогда не пойдете по этому пути, вы никогда не узнаете. Значит придется убить балансировщик нагрузки. Как обойти балансировщик нагрузки? Логика балансировки нагрузки должна быть заложена в самой службе. От клиентов требуется некоторый интеллект, чтобы знать, как обходить проблемы. С философской точки зрения это похоже на то, как работает Finagle.

  • Чтобы вся система масштабировалась и справлялась с обратным давлением, система обнаружения и маршрутизации сервисов была создана из кластера узлов Ringpop.

Полный отказ центра обработки данных

  • Это случается не очень часто, но может произойти неожиданный каскадный сбой или вышестоящий сетевой провайдер.

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

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

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

Обратная сторона

  • Обратной стороной подхода Uber к решению проблем масштабируемости и доступности являются потенциально высокие задержки, когда процессы Node пересылают запросы друг другу и отправляют сообщения с большими разветвлениями.

  • В системе разветвления крошечные всплески и сбои имеют удивительно большое влияние. Чем выше разветвление в системе, тем больше шансов получить запрос с большой задержкой.

  • Хорошее решение — иметь запросов на резервное копирование с межсерверной отменой . Это встроено в TChannel как первоклассная функция. Запрос отправляется в службу B (1) вместе с информацией о том, что запрос также отправляется в службу B (2). Затем с некоторой задержкой позже запрос отправляется в службу B (2).Когда B (1) завершает запрос, он отменяет запрос на B (2). С задержкой это означает, что в обычном случае B (2) не выполнял никакой работы. Но если B (1) терпит неудачу, то B (2) обработает запрос и вернет ответ с меньшей задержкой, чем если бы B (1) был опробован первым, истекло время ожидания, а затем B (2) испытали.

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

Статьи по теме

Базовые технологии, лежащие в основе ведущего приложения для такси

Можете ли вы улучшить качество существующей услуги и предложить ее по запросу? Если да, то вы можете стать следующим Uber.

Но разработать такое приложение, как Uber, и разместить его в Apple App Store или Google Play Store непросто. Для того, чтобы занять большую часть рынка совместного использования поездок, вы должны предложить удобный доступ, отличные впечатления для водителей и райдеров, а также сильный бренд.

Неудивительно, что одним из первых людей, которых Трэвис Каланик хотел нанять после того, как он получил свою большую идею для Uber, был менеджер по продукту (как мы видим из этого твита).

Эта статья не может предоставить вам менеджера по продукту, но она может объяснить, что способствовало росту Uber и какие технологии используются в мобильных приложениях Uber.

Как появился Uber: стратегия выхода на рынок

Uber официально запустил в 2010 году. Шесть месяцев спустя у них было около 6000 пользователей и уже было предоставлено около 20 000 поездок.

[Так выглядел веб-сайт Uber в 2010 году. Источник изображения: Business Insider]

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

Люди в технических сообществах Сан-Франциско всегда заинтересованы в новых инструментах.Они также используют любую возможность, чтобы улучшить качество своей жизни. По этой причине Uber запустился в Сан-Франциско. Им удалось распространиться из уст в уста среди технического сообщества. Как они это делают? Принимая и спонсируя технические мероприятия и предоставляя участникам бесплатные поездки на эти мероприятия.

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

Сегодня, чтобы побудить новых пассажиров попробовать эту услугу, Uber раздает 50-процентную скидку на первую поездку.При первоначальной скидке новые райдеры с большей вероятностью станут постоянными клиентами.

У Uber была блестящая стратегия выхода на рынок. Но особенность таких блестящих стратегий, как Uber, заключается в том, что их невозможно повторить. Если бы вам пришлось разработать такое приложение, как Uber, и запустить его в Сан-Франциско с упором на технические сообщества, ваше приложение, скорее всего, осталось бы незамеченным. Вам нужна другая история.

Как работает Uber: стек технологий

Давайте кратко рассмотрим, как работает Uber (хотя я почти уверен, что вы знаете).Сначала вы сообщите Uber, что вам нужно подвезти. Затем Uber спросит вас, где вы находитесь. Затем Uber находит ближайшего водителя и сообщает вам, когда он приедет за вами. Когда поездка закончится, Uber спросит, как все прошло. Вы оцениваете поездку, и ее стоимость автоматически снимается с вашей кредитной карты.

Итак, вот вам вопрос: какие технологии использует Uber?

Геолокация

Соучредители Uber с первого дня называли Uber стартапом, ориентированным на определение местоположения. Чтобы создать Uber, Гаррет Кэмп и Трэвис Каланик должны были понимать особенности функций геолокации iOS и Android.

Вам повезло немного больше, чем им в 2010 году. Технологии прогрессируют, и стало намного проще получать информацию об особенностях местоположения. Вы можете получить эту информацию прямо здесь, в этой статье. Надеюсь, это поможет вам понять, как создать собственное приложение, подобное Uber.

Приложения для заказа такси используют следующие функции картографии и геолокации:

1) Определение местоположения устройства

Приложение Uber для iOS использует платформу Core Location для определения местоположения устройства пользователя.Платформа CoreLocation предоставляет классы и протоколы для настройки и планирования доставки местоположения и отправки событий местоположения на сервер. Платформа CoreLocation также позволяет Uber определять географические регионы и отслеживать перемещения устройства, когда оно пересекает определенные границы.

Геолокация для Android-версии приложения Uber была реализована с использованием API местоположения Google. Они могут интеллектуально управлять базовой технологией определения местоположения, одновременно удовлетворяя различные потребности развития при реализации функций на основе местоположения.

2) Предоставление маршрута проезда

Для отображения двухточечных маршрутов на карте в приложении разработчики приложения Uber для iOS использовали MapKit. После регистрации приложения в качестве приложения для маршрутизации маршруты станут доступны для приложения «Карты» и всего другого картографического программного обеспечения на устройстве пользователя.

Android-маршруты и направления стали возможными благодаря API Google Maps для Android.

3) Интеграция с картографическим программным обеспечением

Uber не пошел в одиночку с картами и сделал то, что вы ожидаете от любой службы, основанной на местоположении, — реализовал Google Maps для версий своего приложения для iPhone и Android.Теперь Google Maps предлагает интеграцию с Uber.

Но Google Карты — не единственная служба, которую использует Uber. Чтобы не платить Google за доступ к их решениям, Uber покупает компании, занимающиеся картографическими технологиями, для решения их логистических проблем. А почему бы и нет? В конце концов, Uber хочет стать мировым королем «местной логистики и доставки людей и вещей».

Геолокация действительно является самой важной технологией в стеке технологий Uber. Но вам могут быть интересны и другие функции, если вы хотите знать, как создать приложение, такое как Uber.

[Карта в Uber. Источник изображения: AppleInsider]

Push-уведомления и SMS

После того, как вы заказываете поездку, Uber отправляет вам несколько уведомлений: первое, когда водитель принимает ваш запрос, а второе, когда водитель находится менее чем в минуте езды. Они также уведомят вас, когда поездка по какой-то причине отменяется.

Вы можете получать эти сообщения в виде SMS или push-уведомлений (вы можете указать предпочтительный способ в настройках).

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

Однако эта бизнес-модель не всегда сообщала покупателю о прекращении роста цен. Сегодня пользователи Uber получают уведомление об отключении мультипликатора цены.

Текстовые сообщения Uber предоставляются телекоммуникационным провайдером Twilio.Чтобы реализовать push-уведомления в приложении iOS, Uber должен использовать службу Apple Push Notifications Service, а для приложения Android они должны использовать Google Cloud Messaging (GCM).

ПРИМЕЧАНИЕ. Служба push-уведомлений Apple не гарантирует доставку push-уведомлений. Сообщения помещаются в очередь таким образом, что, если устройство пользователя отключено или недоступно, не все push-уведомления обязательно будут получены. С точки зрения разработчика, APNS однонаправлен. Это означает, что невозможно узнать, получило ли устройство пользователя уведомление или, если оно было получено, когда оно было получено.С другой стороны, SMS будет доставлено всегда. Если сообщение не доставлено, ваш провайдер SMS сообщит вам, что ваше сообщение не удалось. В отличие от APNS, служба Google Cloud Messaging позволяет отслеживать доставку push-уведомлений.

Платежная интеграция

Uber использует безналичную систему. Вы можете оплатить с помощью дебетовой или кредитной карты или использовать промокод. Это исключает из уравнения любые денежные переводы от человека к человеку, включая чаевые. (Uber берет 25% стоимости проезда водителя, что создает довольно прибыльную бизнес-модель.)

При приеме карточных платежей существуют определенные требования, которые компании должны соблюдать. В США это известно как требования PCI. Стандарты безопасности данных индустрии платежных карт (PCI DSS) — это набор требований, призванных гарантировать, что все компании, которые обрабатывают, хранят или передают информацию о кредитных картах, поддерживают безопасную среду. Фактически, это относится к любому продавцу, у которого есть идентификатор продавца (MID).

Uber выбрал партнерство с Braintree, одним из лидеров рынка мобильных платежей, для приема платежей по картам.Для протокола, мы должны упомянуть еще одну отличную платежную систему, Stripe, которая предоставляет свои платежные услуги Lyft, конкуренту Uber, и другим популярным стартапам в сфере экономики по требованию, таким как Postmates и Instacart.

Uber также использует сервис Braintree для сканирования кредитных карт на iOS. Сервис позволяет вам вводить информацию о кредитной карте, просто поднеся кредитную карту перед камерой телефона. Приложение «видит» карточку, считывает числа и вводит информацию за вас.Однако с Android вам нужно вручную ввести данные кредитной карты, чтобы привязать карту к своей учетной записи Uber.

[Как работают платежи Braintree. Источник изображения: средний]

Кроме того, система Braintree имеет интеграцию с Uber, что означает, что клиенты могут оплачивать услуги такси прямо со своих счетов PayPal (хотя это доступно не во всем мире на всех рынках Uber). Вы также можете разделить свой тариф с друзьями прямо в приложении.

Сколько денег зарабатывает Uber?

Поскольку мы говорим о том, как создать Uber, мы думаем, что вы должны знать, сколько денег зарабатывает этот бизнес.

Вы, наверное, слышали, что у Uber были проблемы с прибытием в США. Только в этом году компания начала получать прибыль. Uber берет 25% комиссионных за поездку, но его прибыль составляет в среднем всего 0,19 доллара за поездку. Остальное идет на проценты, налоги и компенсацию сотрудников на основе собственного капитала.

Большая часть денег, зарабатываемых Uber, идет на борьбу с мошенничеством, обработку кредитных карт, поддержку клиентов, маркетинг и разработку программного обеспечения. Несмотря на то, что оценка Uber в 66 миллиардов долларов заставляет компанию казаться огромным денежным мешком, на самом деле она не приносит такой большой прибыли.

Сколько стоит построить Uber?

Когда вы разрабатываете приложение, такое как Uber, вы фактически разрабатываете два приложения: приложение для водителей и приложение для водителей. Сколько стоит разработка такого приложения, как Uber? Вам нужно будет заплатить за следующие услуги:

По нашим оценкам аналогичных проектов, время, необходимое для создания приложения для вызова такси, включая приложение для водителей и приложение для водителей, составляет около 5000 часов. Стоимость зависит от почасовой оплаты вашего поставщика услуг, которая значительно варьируется от 20 до 150 долларов в час.

Чтобы получить дополнительную информацию о расходах на разработку приложений, ознакомьтесь с нашими статьями с инфографикой: сколько стоит разработка и проектирование приложения. Также вы можете прочитать нашу статью Сколько стоит разработка приложения для доставки по запросу?

Uber переделывает свое приложение в амбициозной попытке стать «операционной системой для вашей повседневной жизни»

Uber объединяет свои приложения для вызова пассажиров и доставки еды, добавляя множество новых функций безопасности, расширяя альтернативные способы передвижения, такие как велосипеды, скутеры и общественный транспорт, а также участвует в «виртуальных ресторанах», помимо десятков других анонсы продуктов, которые, по словам генерального директора компании Дара Хосровшахи, являются «операционной системой для повседневной жизни».”

Компания представила обновления своего продукта на тщательно продуманном мероприятии в стиле Apple в Сан-Франциско 26 сентября. Но сначала Хосровшахи дал эксклюзивное интервью для The Verge , чтобы объяснить, почему капитальный ремонт приложения имеет смысл в то время, когда Uber изо всех сил пытается сдержать свои огромные денежные убытки, сталкивается с вопросами о своем подходе к безопасности и ведет многочисленные нормативные битвы. по стране.

«для нас проблема заключается в следующем: как нам справиться с этими сложностями?»

«Мы живем не просто в цифровой сфере, а реальный мир сопряжен со всевозможными сложностями», — сказал Хосровшахи.«И для нас проблема заключается в следующем: как нам справиться с этими сложностями и как сделать так, чтобы мы были конструктивной частью жизни каждого?»

Вы можете прочитать больше из нашего интервью с Хосровшахи здесь.

Uber объявляет о большом количестве вещей, так что давайте рассмотрим по одному.

Главный экран

Uber будет выглядеть по-другому сразу после выхода из ворот. Когда вы впервые открываете приложение, вместо карты и строки поиска с вопросом, куда вы хотите пойти, вы увидите два поля: одно с надписью «прокатись», а другое — «заказ еды».«Uber объединяет свою службу доставки еды Uber Eats в свое основное приложение для вызова пассажиров.

Но не все клиенты Uber увидят один и тот же экран. Вторая версия домашнего экрана сохраняет знакомую карту и панель поиска пункта назначения, добавляя две вкладки внизу: поездки и еда. По сути, Uber проводит A / B-тестирование своих клиентов, чтобы определить, какой из них работает лучше всего.

«Мы действительно видим, что пользователи, которые используют наше приложение как для верховой езды, так и для еды, являются нашими самыми довольными клиентами», — сказал Хосровшахи.«У нас больше точек соприкосновения с ними, чем с кем-либо еще, и наши отношения становятся более тесными».

Есть возможность добавить в будущем другие услуги, будь то доставка продуктов или что-то еще.

Безопасность

Uber представляет новую систему проверки с помощью четырехзначного PIN-кода, чтобы гарантировать, что пассажиры не сядут не в тот автомобиль. Если вы согласитесь, вам нужно будет сказать водителю вслух PIN-код, прежде чем он сможет начать поездку.

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

Новая функция «сообщения о поездке» позволит водителям сообщать о происшествиях, связанных с безопасностью — о ненадлежащем поведении, длительной остановке или уклонении от дороги — во время поездки, вместо того, чтобы ждать, пока поездка закончится. завершенный.Uber говорит, что его команда безопасности проследит за поездкой.

В прошлом году Uber добавил тревожную кнопку для набора 911 из приложения. Теперь он также позволит вам отправлять текстовые сообщения 911 в городах и округах, которые поддерживают эту технологию. Uber автоматически включит в текст марку, модель, номерной знак и местонахождение автомобиля.

Uber обновляет «Проверку идентификатора в реальном времени», введенную в 2016 году, в которой водители делают селфи, чтобы подтвердить свою личность. Теперь водителям придется поворачивать головой, моргать и улыбаться, чтобы обеспечить еще один уровень безопасности.

Наконец, приложение теперь будет отправлять push-уведомление на ваш телефон, если вас высадят рядом с велосипедной полосой, чтобы вы случайно не ударили кого-нибудь дверью.

Новые продукты безопасности появились на фоне серьезных обвинений в адрес Uber в связи с его небрежным и небезопасным подходом к безопасности пассажиров. Специальной следственной группе Uber, которая принимает жалобы от пассажиров и водителей, не разрешается передавать эти вопросы в правоохранительные органы или составлять официальные полицейские отчеты, «даже если они получают признательные показания в совершении тяжких преступлений», согласно The Washington Post .Им также не разрешается советовать жертвам или потенциальным жертвам преступлений обращаться за помощью к адвокату.

Подобные истории могут привести к потере доверия среди пассажиров, о чем Uber хорошо знает. «Мы не думаем, что доверие можно завоевать чем-то одним», — сказал Кансал The Verge . «Я думаю, что мы хотим завоевать доверие, проявляя приверженность, и это будет долгосрочным».

Мультимодальные перевозки Убер

Вы слышали? Uber теперь любит автобусы и поезда! Да, конечно.Uber заявил, что хочет конкурировать с общественным транспортом. Он четко указал на это в своей документации S-1 в Комиссию по ценным бумагам и биржам США, но позже отредактировал ее. Теперь Uber заявляет, что хочет дополнить, а не убивать общественный транспорт, и добавляет в свое приложение планирование и планирование в реальном времени, чтобы доказать это.

Новая функция общественного транспорта Uber работает в Денвере и Лондоне, а сегодня компания анонсирует еще несколько городов, включая Сан-Франциско, Мехико и Париж. Нью-Йорк появится позже в этом году вместе с шестью другими, пока не названными городами.Для начала, это будет просто расписание и информация о тарифах, но Uber надеется добавить билеты (как это делается в Денвере) в ближайшем будущем.

«В какой-то степени мы конкурируем сами с собой»

Когда вы подключаете пункт назначения, если есть метро или автобус, который доставит вас туда, он появится в верхней части списка. И, наверное, это будет самый дешевый вариант. «В какой-то степени мы конкурируем сами с собой», — сказал Хосровшахи. «Но у нас есть философия, что если есть лучший продукт для пользователя, и мы думаем, что интегрированное решение движения лучше для пользователя, мы должны конкурировать сами с собой, а не с другими.”

Электровелосипеды и скутеры Uber тоже набирают обороты. Со следующего месяца Uber начнет показывать на карте байки и самокаты, как свои велосипеды, так и скутеры Jump, а также скутеры конкурента Lime. Компания внесет это изменение в 28 городов, где доступны ее двухколесные варианты, а также в десятке городов США, где скутеры Lime доступны через приложение Uber.

Uber также решает проблему разряженных аккумуляторов, создав сеть из киосков для зарядки Jump, которые позволят водителям на ходу заменять разряженный аккумулятор на новый.Эти киоски появятся в некоторых городах в конце этого года.

«Мы делаем очень большую ставку на электровелосипеды», — сказал Хосровшахи. «Когда делаешь такие вещи, ты чувствуешь себя Суперменом».

Продукты питания

Помимо слияния своего приложения Uber Eats непосредственно с основным приложением, Uber также удваивает свой бизнес по доставке еды. Компания внедряет новую программу вознаграждений для постоянных клиентов, доставляющих еду, в рамках которой они могут зарабатывать обменные баллы каждый раз, когда едут на Uber или покупают Uber Eats.

Uber также представляет фильтры для аллергиков для Uber Eats, поэтому люди с аллергией или диетическими ограничениями могут быть уверены, что избегают определенных продуктов в своем заказе. Теперь, выбирая блюдо, вы можете сообщить ресторанам о своей аллергии или диетических ограничениях через приложение. Наконец, Uber в партнерстве со знаменитым шеф-поваром Рэйчел Рэй запускает новый «виртуальный ресторан», который будет доступен только в Uber Eats. Но еда Ray’s будет доступна только в 10 городах в течение 10 недель.

Драйверы

Uber обновляет свое приложение для драйверов, чтобы включить в него «средство оценки прибыли», чтобы помочь водителям лучше отслеживать свои деньги.Uber заявляет, что хочет предоставить водителям больше информации, чтобы они могли лучше понять, на какой заработок они могут разумно рассчитывать, — даже до того, как они отправятся в свою первую поездку.

Uber также добавляет «тепловую карту спроса», которая выделяет районы, где больше пассажиров запрашивают поездки, и дает более точные прогнозы того, когда водители могут ожидать запроса на поездку. А для водителей, которых раздражает высадка пассажира в районах с меньшим спросом, Uber внедряет фильтр «Обратно в оживленную зону». Если водитель завершает поездку в тихом районе, он может включить это, чтобы помочь отфильтровать запросы на поездку в выбранном им направлении.

Уф! Это много всего. Питер Денг, руководитель отдела продуктов для пассажиров Uber, сказал, что новое приложение «становится холстом», поскольку Uber стремится вывести свой бизнес на новые направления и направления доходов. Это означает, что программы вознаграждений, подписки и другие льготы будут в центре внимания в приложении Uber в будущем.

«Мы можем помочь вам сэкономить деньги», — сказал Дэн.«И мы можем помочь устранить этот парадокс выбора:« Что мне делать дальше? »»

Uber увольняет водителей на основе «расовой предвзятости» звездной рейтинговой системы, исковые требования: NPR

В федеральном иске утверждается, что звездная рейтинговая система Uber дискриминирует цветных водителей и водителей с акцентом. Согласно иску, Uber увольняет водителей, чей рейтинг становится слишком низким. Брендан Смяловски / AFP через Getty Images скрыть подпись

переключить подпись Брендан Смяловски / AFP через Getty Images

В федеральном иске утверждается, что звездная рейтинговая система Uber дискриминирует цветных водителей и водителей с акцентом.Согласно иску, Uber увольняет водителей, чей рейтинг становится слишком низким.

Брендан Смяловски / AFP через Getty Images

Бывший водитель Uber в Сан-Диего в понедельник подал в суд на компанию по вызову пассажиров за расовую дискриминацию в том, как она использует отзывы пассажиров для оценки водителей.

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

«Uber давно знает, что использование системы, основанной на оценке пассажиров водителями, является дискриминационным», — написала адвокат водителя Шеннон Лисс-Риордан в федеральном иске, который был подан в Сан-Франциско и требует коллективного иска. положение дел. В иске утверждается, что Uber увольняет водителей, если их средний рейтинг становится слишком низким.

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

«Использование Uber этой системы для определения увольнений водителей представляет собой расовую дискриминацию, так как широко признано, что оценки сотрудников клиентов часто имеют расовые предубеждения. Более того, Uber сам признал расовые предубеждения своих клиентов», — пишет Лисс-Риордан. в костюме.

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

Представитель Uber не стал комментировать, как количество звездных оценок пассажиров влияет на увольнение водителя. Но представитель указал, что, когда гонщики ставят водителю низкий рейтинг, компания запрашивает дополнительную информацию, чтобы определить, сыграло ли предубеждение какую-либо роль.

Приложение просит пассажиров после завершения поездки оценить своего водителя по шкале от 1 до 5. Uber утверждает, что эта система помогает обезопасить поездки, выявляя проблемных водителей.

В иске истец Томас Лю описан как азиат, уроженец Гавайев, говорящий с легким акцентом.Он утверждает, что был уволен в октябре 2015 года после того, как его средний звездный рейтинг упал ниже 4,6.

Лю утверждает, что гонщики дали ему плохие отзывы из-за его гонки.

«Он заметил, что райдеры [отменили] запросы на поездку после того, как он уже принял поездку, и всадник смог просмотреть свою фотографию. Он также встречал гонщиков, недружелюбно спрашивающих, откуда он приехал», — говорится в костюме.

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

Судебный процесс поступает за восемь дней до того, как избиратели в Калифорнии решат, какое будущее будет иметь райдеры в штате.

Инициатива голосования, известная как Предложение 22, делает исключение из нового закона штата, которое вынуждает такие компании, как Uber, переводить своих водителей из независимых подрядчиков в сотрудников.

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

Сторонники говорят, что водители предпочитают гибкость статусу сотрудников. Компании-разработчики приложений Uber, Lyft, DoorDash и Instacart вложили почти 200 миллионов долларов, чтобы убедить избирателей принять предложение, которое фактически создает юридическую лазейку для компаний, занимающихся каршерингом и доставкой.

Uber и Lyft пригрозили покинуть Калифорнию в случае неудачи.

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