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

Темы, не касающиеся фреймворка, но относящиеся к программированию в целом.
Ответить
evgeniy123
Сообщения: 401
Зарегистрирован: 2011.11.01, 17:29

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

Сообщение evgeniy123 »

подскажите архитектуру по расчету времени прибытия такси. По websocket у нас приходят данные условно 5 раз/sec. Каждый раз когда человек наводит на новое место отбытие нужно посмотреть в каком то радиусе сколько машин и выбрать с минимальным расстоянием и среднем ото всех. использовать google api. Нужно также учитывать что каждый водитель может выбрать радиус, в котором он согласен ехать. вот как такое сделать используя поменьше ресурсов ? Спасибо

PS Если не в нужную тему пишу то подскажите куда лучше
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: подскажите архитектуру по расчету времени прибытия такси

Сообщение zelenin »

слишком общий вопрос. в целом: многопоточный демон + хранилище с персистентностью для заказов + быстрое хранилище без персистентности для геоточек водителей.
evgeniy123
Сообщения: 401
Зарегистрирован: 2011.11.01, 17:29

Re: подскажите архитектуру по расчету времени прибытия такси

Сообщение evgeniy123 »

zelenin писал(а):слишком общий вопрос. в целом: многопоточный демон + хранилище с персистентностью для заказов + быстрое хранилище без персистентности для геоточек водителей.

Касательно двух других вы о хранение в памяти(redis, mysql memory) и на диске(BD innoDB, MyIsam) ?
zelenin
Сообщения: 10596
Зарегистрирован: 2013.04.20, 11:30

Re: подскажите архитектуру по расчету времени прибытия такси

Сообщение zelenin »

evgeniy123 писал(а):
zelenin писал(а):слишком общий вопрос. в целом: многопоточный демон + хранилище с персистентностью для заказов + быстрое хранилище без персистентности для геоточек водителей.

Касательно двух других вы о хранение в памяти(redis, mysql memory) и на диске(BD innoDB, MyIsam) ?
в целом да, но почему mysql? memcache/redis+postgres например, или что-то демоно-нативное (в зависимости от того на чем демон)
evgeniy123
Сообщения: 401
Зарегистрирован: 2011.11.01, 17:29

Re: подскажите архитектуру по расчету времени прибытия такси

Сообщение evgeniy123 »

zelenin писал(а):
evgeniy123 писал(а):
zelenin писал(а):слишком общий вопрос. в целом: многопоточный демон + хранилище с персистентностью для заказов + быстрое хранилище без персистентности для геоточек водителей.

Касательно двух других вы о хранение в памяти(redis, mysql memory) и на диске(BD innoDB, MyIsam) ?
в целом да, но почему mysql? memcache/redis+postgres например, или что-то демоно-нативное (в зависимости от того на чем демон)

postgres не знаю совсем. Websocket(php). данных много и они аппроксимируются через cron. их нужно сохранять для просмотра маршрута за день. потом идут в хранилища.
evgeniy123
Сообщения: 401
Зарегистрирован: 2011.11.01, 17:29

Re: подскажите архитектуру по расчету времени прибытия такси

Сообщение evgeniy123 »

в гео математики я не силен. Может подскажите как такое сделать. Интересует сам алгоритм выборки побыстрее. Вот человек поставил точку на карту. отослались координаты на сервер. берем радиус 10 км -> выбираем всех водителей(10km). вопрос сразу : как их выбирать ? Одно из условий online или offline . С этим легко можно справиться. есть таблица с привязками user_id ->id connection websocket. идем дальше. У нас 200 водителей. Не каждый согласен так далеко ехать. Для каджо нужно узнать его расстояние на которое он согласен ехать больше или меньше 10 км. отсеить тех кто не согласен и смотреть среднее по сумме всех такси а также минимальный дистанцию. Вот такой алгоритм надумал.Тогда я смогу кидать в нормальную таблицу аппроксимировании маршрут после окончания заказа. удаляя из временного хранилища. Можно взять -10% из всех таксистов и вычислить время прибытия начиная с самых быстрых(1-5min) в SELECT и вычислить через API google время прибытия до минуты. -> передать клиенту. Какие замечания или рекомендации ?
Ответить