# 並列アップロード

集信側ホストからオブジェクトストレージまでのネットワークは、配信側ホストから集信側ホストまでのネットワークに比べて転送速度が遅くなる場合があります。それに対処するため、集信データを複数のパートに分割して並列にアップロードします。

並列アップロードの処理の概要を以下に示します。

図1.2 並列アップロードの処理

1) ファイルを転送

配信側ホストから集信側ホストへファイルを転送します。

2) 並列アップロード

集信データが一定サイズたまるたびに、そのデータを1パートとして順次オブジェクトストレージにアップロードします。

1) のファイル転送の方が高速の場合、1パートのアップデートが完了する前に次のパートデータがたまります。

そのため、各パートのアップロードは並列して行われます。

アップロードされたデータは一時格納データとしてオブジェクトストレージ上に格納されます。

3) コミット要求

集信データのアップロードがすべて完了したら、集信側ホストはオブジェクトストレージにコミット要求を発行します。

4) コミット

オブジェクトストレージは、コミット要求を受け取ると一時格納データを結合してオブジェクトを作成します。

コミットが完了すると、一時格納データは削除されます。

5) コミット要求の完了

コミット要求が正常終了した時点で、集信側ホストはファイルの受信が正常終了したと判断します。

集信管理情報の集信完了通知が“受信完了”の場合は、この時点で配信側ホストに集信完了を通知します。

注意

- オブジェクトストレージへのアップロードの時間が長いと、オブジェクトストレージとの通信でタイムアウトになります。

  Ver.8.5.1以降のHULFT クラウドストレージオプションでは、オブジェクトストレージとの通信で、HTTPリクエストのタイムアウト（ストレージタイムアウト）になるまでの時間を指定できます。詳細は「集信ストレージ管理情報の設定」を参照してください。

- 集信側ホストのメモリー負荷、および集信側ホストからオブジェクトストレージまでのネットワークの負荷を考え、同時に並列アップロードできる最大数を設定し制限しています。

  並列アップロード数が最大数に達した場合、後続のアップロードは先行するアップロードが1つ以上終了して並列アップロード数に空きが出るまで待機します。このとき、待機時間が長いとHULFTとの通信でタイムアウトになります。

  HULFTとの通信でタイムアウトするまでの待ち時間の設定は、配信側ホストのシステム動作環境設定で指定します。詳細は「システム動作環境設定」を参照してください。

- コミット要求を発行する前にネットワークエラーなどが発生すると、以下のとおりオブジェクトストレージ上に一時格納データが残る場合があります。

  - HULFT クラウドストレージオプション Ver.8.4.1の場合

    転送をキャンセルした場合、一時格納データが削除されます。

    しかし、転送キャンセルのタイミングなどによっては、一時格納データが残る場合があります。

    その場合の対処については、「Google Cloud Storageでの一時格納データの削除方法」を参照してください。

  - HULFT クラウドストレージオプション Ver.8.5.0以降の場合

    転送をキャンセルした場合、転送中のファイルの転送を完了させてから一時格納データが削除されます。 そのため、一時格納データは残りません。

    しかし、転送キャンセル中にタイムアウトによって強制的に終了してしまった場合は、一時格納データが削除されずに残ります。

    その場合の対処については、「Google Cloud Storageでの一時格納データの削除方法」を参照してください。

- 集信管理情報の集信完了通知が“正常時ジョブ完了”の場合、正常時の集信後ジョブが異常終了すると集信は異常終了となります（ディスクファイルへ集信するときの動作と同じ）。

  しかし、異常時の処置を“復元”としているにもかかわらず、オブジェクトは集信前の状態に復元されません。これは、オブジェクトストレージ上でコミット処理を取り消せないためです。