0

Hello,
みんな。

FacebookやGTalkなど、同時に何千人ものユーザーがオンラインになるサーバー側でサポートされるiPhoneアプリを開発しています。

私たちが実装したいのは、GPSによって生成されたユーザーの現在地を定期的に(たとえば10分)サーバー側に送信して処理することです。そして、ユーザーの場所を比較して、あなたの周りにいる人を見つけます。(多分これはLBSと呼ばれるものです)

したがって、ユーザーの位置情報が何度も比較されるため、ユーザーが手動でログアウトするまで、ユーザーは非アクティブ化されないと考えられます(セッションタイムアウトなど)。

では、どのようにして各ユーザーの位置情報を保存できるでしょうか。
データベースでそれらを管理することを提案するいくつかの記事を見ましたが、いくつかはセッションまたはクッキーを言いました。
しかし、非常に多くのユーザーがいるため、データベースのパフォーマンスは非常に悪いと言われ、セッションが多すぎるため、一瞬でタイムアウトに設定する必要があり、Cookieは悪い習慣であると言われています...

では、この問題に対処する一般的な方法は何ですか?

*ちなみに、サーバー側にはCakePHP1.3とXamppenvを使用しています。

よろしく、
tech_me

4

1 に答える 1

0

データベースの強みの1つは、保存されている情報を検索することです。この場合、近くのユーザーを検索する必要があるため、何らかのデータベースを使用することをお勧めします。

セッションは通常、1人のユーザーにのみ関連する情報に使用され、この場合にはあまり適していません(ただし、セッションデータをデータベースに保存して検索できる可能性はありますが、あまり適切な設計ではない可能性があります)

Cookieは、実際には、サーバーがすべてのHTTPリクエストでサーバーに返される情報をブラウザーに保存するための方法です。これは、この場合も実際には役に立ちません。

アプリケーションにその場所を数分ごとに送信させ、タイムスタンプ付きのデータベースに保存してもらい、タイムスタンプがたとえば30分より古い場合は、ユーザーをオフラインと見なしてください。

于 2012-01-26T07:44:37.647 に答える