0

nodejsサーバーのwebsocketを介してユーザーの場所(lat、lon、userid)を保存および更新する予定です。私の目標は、ユーザーの場所をすべてのユーザーにできるだけ早くブロードキャストすることです。 (アプリ内の各タクシーのmytaxi位置のように)

私の懸念/問題

  1. 多くの同時ユーザーでのサーバー側のパフォーマンス
  2. データをプッシュバックします(私の地域のユーザーについてのみ知る必要があります)-> 2D検索(緯度/経度がバウンディングボックスにあるユーザーを取得します)

質問:

  1. 最高のストレージソリューションは何ですか(mongodbとjs配列/オブジェクトストレージ)
  2. dbでの読み取り/書き込みは配列検索よりも高速ですか?
  3. 2Dに最適化されたJavaScript検索ソリューションはありますか?

私のやり方

私は2つの配列を探します(arr1はlatでソートされ、arr2はlonでソートされます)->分割統治法で検索->同様のIDをチェック->出力

これを行うためのより良い方法はありますか?

前もって感謝します

アレックス

4

1 に答える 1

0

Redisのpub/subチャネルを使用して、境界ボックスごとにチャネルを作成し、ロケーションレポートに従ってユーザーを関連するチャネルにサブスクライブしてから、チャネル全体にメッセージをプッシュできます。

この戦略はビッグデータにはナイーブかもしれません。

于 2013-02-10T13:48:07.293 に答える