0

1 つのサーバーから多くのクライアントにデータのリストを一方向に同期する最も帯域幅効率の良い方法は何ですか?

インターネットを介して一連のクライアント (おそらく 10,000 クライアント) と定期的に同期する必要があるかなりの量のデータ (おそらく 20,000、50 バイトのレコード) があります。レコードは、サーバー側でのみ追加、削除、または更新できます。

4

2 に答える 2

1

bittorrentに似たものはありますか?または、bittorrentを使用することもできます。あるいは、bittorrentのラッパーを発明するかもしれません。

(他のサーバーではなく、サーバーの帯域幅に対して料金を支払うと仮定します...)

于 2009-01-25T23:01:27.400 に答える
0

さて、これで詳細がわかりました。おそらく3日ごとに合計10 GBの(圧縮されていない)データなので、1か月あたり100GBになります。

最近では、これは実際にはかなりの量のデータではありません。誰の帯域幅を節約しようとしていますか?あなたの帯域幅ですか、それともクライアントの帯域幅ですか?

データはおそらく非常に簡単に圧縮されますか?生のバイナリデータの場合、50%の圧縮を達成することは珍しくありません。データ内に繰り返しパターンが多数ある場合は、80%以上が可能です。

とはいえ、変更を転送できるシステムが本当に必要な場合、私の考えは次のとおりです。

  1. 明確に定義された主キーフィールドがあることを確認してください-各レコードを識別するためのキーとしてそれを使用してください
  2. 各レコードのタイムスタンプを記録して、最後に変更された日時を示します
  3. 各クライアントに、知っている最後の変更のタイムスタンプを教えてもらい、デルタを計算できるようにします
  4. クライアントが同期しなくなった場合に備えて、完全なダウンロードも可能であることを確認してください
于 2009-01-25T23:21:12.117 に答える