0

Java API を使用して、あるクラウド プロバイダーから別のプロバイダーにファイルを移動したいと考えています。

ソース クラウド プロバイダーでは、ファイルを入力ストリームとして取得するか、ファイル オブジェクトにダウンロードすることができます (ファイル出力ストリームを使用)。ターゲット クラウド プロバイダーは、入力ストリーム (コンテンツの長さが必要) またはファイル オブジェクトとして保存するファイルを受け入れます。

ファイルを移動する方が良いですか

  • クラウド ストレージ プロバイダー上のファイルの入力ストリームとコンテンツの長さを取得し、これらのデータを使用してターゲット クラウド プロバイダーに保存する、または
  • ソース クラウド プロバイダーのファイルを File オブジェクトにダウンロードしてから、ターゲット クラウド プロバイダーに保存します。

メリット/デメリットは?

最初の移動戦略の利点は、必要なディスク容量が少ないことです。しかし、パフォーマンスの違いはありますか?

4

2 に答える 2

1

転送するファイルがメモリに収まることがわかっている場合を除き、File オブジェクトは使用しません。ストリーミングを使用します。ターゲット プロバイダーに送信する前に、ファイルをローカルに保存することもできます。

于 2013-04-02T14:54:18.660 に答える
0

ストリーム コピー アプローチを使用してファイルの内容をメモリに保持すると、ディスク バウンド I/O 待機が発生しないため、パフォーマンスがわずかに向上する可能性があります。とはいえ、クラウド ストレージ API との間のトラフィックのネットワーク時間はおそらく主なボトルネックになるため、重大な違いが生じる可能性は低いです。

ファイルをディスクに書き込むことの考えられる利点は、すべての自動追加バックアップを取得できることであり、アップロードが失敗した場合に再試行を実行するためのより単純な基盤を備えている可能性があります。

于 2013-04-02T14:50:11.253 に答える