Vol.6 非同期転送と同期転送
HULFTセミナー担当の岡崎です。
先週は東京で初雪が降りました。
11月に東京での積雪は観測史上初とのことで、12月を前に本格的な冬が訪れましたね。
あと1ヶ月で2016年も終わり、慌ただしい年末がやってきますが、皆さま、くれぐれも体調にはお気をつけてくださいね。
今回のHULFT小話は前回に引き続き「HULFT転送」を少し掘り下げてご紹介したいと思います。
前回の小話では「TCPとHULFT転送」をテーマに「転送速度優先モード」と「異常検知優先モード」をご紹介しました。
「電文の受け取り通知」を非同期でするのか同期的に行うのかを違いでしたね。
HULFTは、ファイル転送について色んな機能やモードを選択することができ、ファイルを1つ送るにしても様々な送り方があるのです。
今回は「ファイル転送」の非同期転送、同期転送についてご紹介していきます。
非同期転送と同期転送の違いをご説明する前に、HULFTのファイル転送の仕組みを簡単にご紹介しておきましょう。
HULFTのファイル転送は大きく分けて2つの転送方法があります。
配信側からファイルを「送りなさーい!」と命令する「配信要求」と集信側からファイルを「送ってくださーい!」と要求する「送信要求」の2つです。
説明したいと思います。
HULFTは「utlsend(ユーティルセンド)」という配信要求コマンドを持っています。
「utlsend」が発行されるとHULFTの配信システムに対してファイルを「送りなさーい!」という命令が送られます。
それを受け取った配信システムは集信側のHULFTにファイルを転送するというような流れです。
【図イメージ】ファイル転送(配信要求)の流れ
このファイル転送のトランザクションの範囲をどこまでと認識するかの違いが「非同期転送」と「同期転送」の違いです。
非同期転送、同期転送と言われてもなかなかイメージがつきにくいという方もいるかもしれませんね。
一般的に非同期、とは「別の処理の結果をまたずに、次の処理を実行する」こと、同期とは、「別の処理の結果をまって、次の処理を実行する」ことというふうに定義しています。
配信要求コマンド「utlsend」を実行したときの動きを例にして、みてみましょう。
HULFTで同期転送したいときは、「utlsend」のうしろに、「-sync」というパラメータをつけて、コマンドを実行します。
この時、ファイル転送中はコマンドの操作ができません。
ファイルの転送が完了すると、次のコマンド操作ができるようになります。
では、「非同期」と「同期」のイメージがついたところで、ここでHULFTの「非同期転送」と「同期転送」の仕組みを簡単にご説明しましょう。
HULFTの「非同期転送」はファイル転送が正常終了したか異常終了したかの結果を待たずに配信要求の発行が完了した時点で、送った側に要求の結果が返ってきます。
この場合、要求発行が正常に完了していても、ファイル転送が正常に完了しているということにはならないんですね。
なのでファイル転送の結果は気にせず、次の処理が実行されることになります。
【図イメージ】非同期転送の仕組み
一方で「同期転送」は、ファイル転送の結果を待ってから、要求の結果が返ってきます。
この場合はファイル転送が正常に終了したかどうかの結果を送った側は知ることができます。
ですので、転送結果の戻り値を確認して、正常終了、異常終了それぞれの結果に応じた処理を実行することができるのです。
【図イメージ】同期転送の仕組み
通常業務でHULFTを使う場合、ただファイル転送して終わりというようなことはなく別の業務と連携することがほとんどですよね。
きちんとファイル転送できたかどうかをキャッチしてその戻り値によって他の処理を動かすというようなことがあると思います。
そんなときは、同期転送で転送結果を確認する必要がありますよね。
例えば、サーバ間のデータ(ファイル)を確実に同じ状態にしておく必要があったり、ファイル転送後に配信側のファイルを変更、削除する処理を実行する場合などは、同期転送で処理したいですよね。
逆に、ファイル転送の結果にかかわらず業務を続けたいといった場合には非同期転送で問題ありませんね。
非同期転送が必要になるのは、一つのファイルを複数の拠点に同時に送り届ける場合などがひとつのケースでしょうか。
このような転送の場合は、すべての拠点への転送が終わるまで次の処理へ進まないので、どこかひとつの拠点へのファイル転送がうまくいかないと全体の処理が遅延してしまいますよね。
業務やシステム処理全体の時間を気にするという場合は非同期転送が適しているといえそうです。
ファイル転送の結果はHULFTが管理しています。
さらにファイル転送の次の処理を実行するタイミングをコントロールすることで、HULFTは転送ツールとしてだけでなく、業務連携のツールとしても使っていただけるのです。
今回は、ファイル転送周辺の機能として「非同期転送」「同期転送」と2つの転送方法をご紹介しました。
ファイル転送のトランザクションの範囲をどこまでととらえるのかはお客様の業務によってそれぞれですので、運用設計の際にこちらの機能を覚えておいていただけたらなと思います。
これからのHULFT小話でもHULFTを運用する際のポイントをご紹介していきたいと思います。
どうぞお楽しみに!
お問い合わせ
当コラムへのご意見・ご感想・お便りなど、お待ちしております。
連絡先:hulseminar@hulft.com
HULFT製品をご体験ください。
製品のお試し利用:
HULFT製品の評価版をご提供しております。60日間ご利用が可能です。お申込みから90日間のサポートも完備。インストールから実際のご利用まで皆さまをバックアップします。ぜひ、お気軽にお申込みください。
セミナー(事前登録制/無料):
HULFT製品ってどんな製品?どんな機能があるの?という疑問解消セミナーから、実機を使って実際にHULFTを操作をする事で製品のご理解をいただくハンズオンセミナーまでご用意しております。ぜひ、ご参加ください。