Как хранить много онлайн-информации пользователей в контейнере области приложения до их выхода из системы? - PullRequest
0 голосов
/ 26 января 2012

Hello,
всех.

Мы разрабатываем приложение для iPhone, которое поддерживается серверной стороной, на которой одновременно могут работать тысячи пользователей, таких как Facebook или GTalk.

Мы хотим периодически отправлять пользователям текущее местоположение (например, 10 минут), генерируемое GPS, на стороне сервера для обработки.И сравнивайте местоположения пользователей, чтобы узнать, кто вокруг вас.(Возможно, это то, что называется LBS)

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

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

Итак, ребята, как обычно решают эту проблему??

* Кстати, мы используем CakePHP1.3 и Xampp env для серверной части.

С уважением,
tech_me

1 Ответ

0 голосов
/ 26 января 2012

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

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

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

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

...