0

サーバークライアントアプリケーションはhttp/xmlを介して通信します。サーバーは、番号またはチャンクIDを含むxmlファイルを送信します。クライアントは、予想よりも高いチャンクIDのxmlを受け取ることがあります。順序が重要なので、キューに入れる必要があります。を使用しTreeMap<Integer, Document>て、予想されるチャンクIDでxmlが受信されるまで、xmlをマップに追加できるようにします。xmlがサーバーによって送信されたが、クライアントによってより新しく受信された可能性もあります。send-and-forgetのため、サーバーはこれを認識しません。だから私の質問は、この問題にどのように対処するかです。アーキテクチャをリファクタリングする必要がありますか?これにはパターンがありますか?

expected chunk id / real chunk id
      0                   0   eval
      1                   3   add to queue
      2                   4   add to queue
      3                   2   add to queue
      4                   1   add to queue
      5                   5   eval / eval queue
      6                   6   eval
      -                   7   no send to client
      7                   8   ?
      8                   9   ?
4

1 に答える 1

0

番号を追加できるOrderedRunnableQueueを作成Runnableしました。

于 2013-03-13T14:26:59.983 に答える