3

私は現在、リモートカー管理に関連するプロジェクトに取り組んでいます。

車のエンジンを始動/停止したり、GPS 座標を提供したり、ドアロックの状態を確認したりできるデバイスがあります。このデバイスには SIM カードがインストールされています。

2 番目の側は、デバイスと通信し、消費者が iPhone、Android、および WM7 電話を介して自分の車を管理できるようにするサーバーです。

私にとっての主な質問は、デバイスとサーバー間の通信に対してどのような技術要件を定義する必要があるかということです。

そのような種類のデータ転送の標準設計パターンに関する本や記事があることを知っている人はいますか?

以下は、私を悩ませている問題の例です

デバイスにいくつかのリクエストを送信する必要があります (例: 「車を始動してください」または「走行距離を教えてください」)。それを提供するために、サーバーはこのリクエストを送信するアドレスを持っている必要があります。

私が正しく理解していれば、それを行うには次の方法があります。

  • VPN を整理する (高価)
  • SMS トランスポートを使用する (高価)
  • TCPソケットを使用して、デバイスとサーバー間の永続的なセッションを編成します(ロシアのGSMネットワークの現実で機能するかどうかはわかりません)

似たような専門知識を持ち、どこに移動すべきかアドバイスをくれる人がここにいるのではないでしょうか?

4

1 に答える 1

2

資力

  • これらの原則に従ってサービス層を設計する

  • TCP 接続を維持して、接続コストを削減できます。その場合、ロング ポーリング コストは最小になります。

  • ZeroMQを確認できます。プロジェクトに適した pub/sub サーバーのようです

費用

  • 保留中のコマンドを要求するメッセージとサーバーからの空の応答 (会話の 99.9% 以上になります) は、要求ごとに 1 バイト、応答ごとに別のバイトに減らすことができます。10 秒ごとにポーリングを行うと、次のようになります。

    (20 バイト TCP フレーミング) + 1 バイト/メッセージ * (1 要求 + 1 応答) * 6 メッセージ/1 分 * 60 分/時間 * 720 時間/月 =ロング ポーリングを使用するために必要な月あたり10.8Mb

  • ここで、サーバーからデバイスにユーザー コマンドを送信するコストを追加します (長いポーリング メッセージと比較すると、それらは比較的まれです)。

    1 キロバイト/メッセージ * (1 要求 + 1 応答) * 20 メッセージ/日 * 30 日/月 =ユーザー コマンドをサポートするために必要な月あたり1.2Mb

  • 最後に、収集するデータ (GPS、ドア センサーなど) と、収集する頻度 (1 分、10 分、1 時間など) を決定する必要があります

総コスト: 1 か月あたり約 24Mb

于 2012-12-20T15:46:37.583 に答える