抽出制御機能は、ファイルシステム上に配置された大量の蓄積データファイルを複数のデータ抽出セルから参照して、指定された条件にしたがって抽出処理を行います。その結果をファイルシステム上のファイルに出力します。
抽出結果中間ファイル名を要求元に通知することで、要求元は、依頼した条件に対する結果を得ることができます。
以上のように、複数の蓄積データファイルを複数のデータ抽出セルで並列に処理を行うことで、高速に処理できます。
抽出処理に対して、抽出依頼および抽出結果のとりまとめを行う常駐プロセスです。
抽出制御プロセスには、以下の機能があります。
抽出条件からの抽出対象ファイルの特定
相乗り制御・相乗り待ち制御
データ抽出セル管理機能
実行クラス制御
モニタリング・ロギング機能
抽出処理のキャンセル機能
構成の動的変更
抽出制御プロセスからの抽出依頼を待つプロセスです。抽出制御プロセスからの抽出依頼を受けて、データ抽出セルプロセスを生成します。
抽出処理を実行するプロセスです。抽出制御プロセスからの抽出依頼を受けて、データ抽出エージェントから生成され、蓄積データファイルから抽出処理を行い、その結果を抽出制御プロセスに返却します。
データ抽出セルには、以下の機能があります。
解凍機能
資源管理機能を利用し、抽出条件から抽出対象となるファイルを自動選択する機能です。
参照
本機能の詳細は、“3.4 資源管理機能の説明”を参照してください。
抽出制御プロセスでは、アプリケーションから複数の抽出要求(リクエスト)を受け付けると、同じ抽出対象となる蓄積データファイルについては、1回の読み込みで複数の抽出要求に対する検索条件と比較して、条件に一致したデータを抽出要求ごとに出力します。蓄積データファイルすべてを読み終えたときには、複数の抽出要求に対する抽出結果がそれぞれの抽出結果中間ファイルに出力されます。
このように複数の抽出要求を1回の蓄積データファイルの読み込みで一度に処理することを、相乗り制御といいます。
また、抽出制御プロセスにおける抽出処理では、同じ蓄積データファイルに対して多重で読込みが発生しないように制御します。抽出対象となる蓄積データファイルのデータ量が大きいと、1回の蓄積データファイルの読み込みにかかる時間も数分~数十分になることがあります。その場合、一度、抽出処理を開始すると、次の抽出処理までには数分~数十分かかることになります。
そこで、抽出制御プロセスではアプリケーションまたはコマンドからの抽出要求を直ぐに実行するのではなく、ある一定時間、抽出制御プロセス内部で保留して、複数の抽出要求をなるべく多く相乗りさせることで、1回の蓄積データファイルの読み込みで多くの抽出要求を実行させます。
この抽出制御プロセス内部で抽出要求を一定時間保留することを、相乗り待ち制御といいます。
相乗り待ち制御では、抽出要求を一定時間保留させる時間(これを“相乗り待ち合わせ時間”とよびます)を抽出制御動作環境定義ファイルで指定できます。これによって、1回の蓄積データファイルからの読み込みにおいて多くの抽出要求を相乗りさせることができます。
データ抽出セルとは、実際に蓄積データファイルから抽出処理を実行するプロセスをいいます。データ抽出セルは、抽出制御プロセスから抽出依頼を受け付けて、1つのデータ抽出セルは抽出対象となる蓄積データファイル1つに対して抽出処理を行います。
抽出制御プロセスでは、このデータ抽出セルに対して以下の管理を行っています。
実行クラスで使用するデータ抽出セルの情報
抽出処理を行うときの依頼先データ抽出セルの選択
抽出処理を行っているデータ抽出セルからの結果受信
各データ抽出セルからの受信結果を受けて、API連携機能およびコマンド機能からの抽出依頼単位での抽出処理の取りまとめ
空きデータ抽出セルがないときの抽出要求待ち受け処理
複数の異なる目的の抽出要求を抽出制御プロセスで同時に実行したい場合、異なる目的のリソースを競合させないため、目的別にハードウェアリソースを分けたい場合があります。
また、目的によっては、相乗り待ちさせずに即時に抽出要求を実行させたい場合もあります。
このような目的別に実行制御を分けるために、抽出制御プロセスでは実行クラスを使用します。
実行クラスは、抽出制御動作環境定義ファイルで定義し、クラスごとに以下の情報を持つことができます。
参照
抽出制御動作環境定義ファイルのパラメタの詳細については、“導入ガイド”を参照してください。
アプリケーションまたはコマンドからの抽出要求において実行クラス名を指定することにより、抽出制御プロセスは実行クラスに対する定義情報にしたがって、相乗り待ち時間、使用するデータ抽出セル、および出力先ディレクトリを決定して抽出処理を実行します。
ポイント
異なる実行クラスで同じカテゴリの同じ蓄積データファイルから抽出を行う場合、異なる実行クラス間では、相乗り制御しないため同時に実行します。そのため、I/Oの競合が発生することになり、抽出処理にかかる時間が遅くなる場合があります。よって、同じカテゴリに対して同じCPMキー値を抽出条件に指定する抽出処理は、同じ実行クラスで実行することを推奨します。
アプリケーションまたはコマンドからの抽出要求に対して、抽出制御プロセスでは、抽出要求を即時実行せずに、ある一定時間、データ抽出セルに要求を保留することにより、相乗りできる抽出要求を待ちます。この保留する時間を相乗り待ち合わせ時間といいます。
相乗り待ち合わせ時間は、抽出制御動作環境定義ファイルの“Class”パラメタに指定します。
相乗り待ち合わせ時間は、実行クラスに対する抽出要求の発生時点からの時間となります。その間に同じ実行クラスに対する別の抽出要求は、抽出要求の発生時点からの相乗り待ち合わせ時間に達するまで相乗り待ちとなります。
ポイント
相乗り待ち合わせ時間は、実行クラス単位に指定され、実行クラス単位に相乗り待ち制御を行います。
抽出制御動作環境定義ファイルの“DECell”パラメタに、データ抽出セルを使用する実行クラス名を指定します。
“DECell”パラメタに実行クラスを1つだけ指定した場合、その実行クラス専用のデータ抽出セルとなります。
“DECell”パラメタに実行クラスを複数指定した場合、その実行クラス間で共用のデータ抽出セルとなります。
“DECell”パラメタに実行クラスが指定されていない場合、すべての実行クラスで使用する事のできる共用のデータ抽出セルとなります。
共用のデータ抽出セルでは、異なる実行クラスで同時に抽出処理が行われたとき、先着順で使用されます。
ポイント
抽出制御プロセスでは、データ抽出セルへ抽出依頼を行うとき、以下の順序でデータ抽出セルを使用します。
実行クラスで専用のデータ抽出セルを使用。
1.に空きがない場合は、複数の実行クラスで共用しているデータ抽出セルを使用。
2.に空きがない場合は、すべての実行クラスで共用しているデータ抽出セルを使用。
このように専用のデータ抽出セルをなるべく使用するように制御します。
抽出処理では、抽出対象となる蓄積データファイル単位に複数のデータ抽出セルで並列に抽出処理が行われます。そのため、1つの抽出要求に対して複数の抽出結果を出力する抽出結果中間ファイルが作成されることになります。出力されるファイルは、抽出制御プロセスが自動的に作成します。
出力ファイルを作成するディレクトリの情報は、抽出制御プロセス側に出力先ディレクトリ情報を登録しており、そのディレクトリ配下にデータ抽出セルが抽出結果を出力します。
出力ファイルを作成するディレクトリ(出力先ディレクトリ)は、抽出制御動作環境定義ファイルの“OutFolder”パラメタで定義します。
“OutFolder”パラメタに実行クラスを1つだけ指定した場合、その実行クラス専用の出力先ディレクトリとなります。
“OutFolder”パラメタに実行クラスを複数指定した場合、それらの実行クラス間で共用の出力先ディレクトリとなります。
“OutFolder”パラメタに実行クラスが指定されていない場合、すべての実行クラスで使用することのできる共用の出力先ディレクトリとなります。
抽出制御プロセスでは、定義された出力先ディレクトリについて、サイクリックに使用します。
ポイント
抽出制御プロセスでは、出力先ディレクトリは、以下の順序で割り当てます。
実行クラスで専用の出力先ディレクトリを使用。
1.が使用中の場合は、複数の実行クラスで共用している出力先ディレクトリを使用。
2.が使用中の場合は、すべての実行クラスで共用している出力先ディレクトリを使用。
3.が使用中の場合は、同一実行クラスで使用している出力先ディレクトリをサイクリックに割り当てる。
このように抽出制御プロセスはなるべく出力先が競合しないように制御します。
実行クラス内で実行される抽出処理は、抽出対象となる蓄積データファイル数分、データ抽出セルが使用されます。
ある実行クラスで抽出対象となる蓄積データファイルが大量の場合、多くのデータ抽出セルを使用します。その結果、データ抽出セル異常発生時に再実行するための空きデータ抽出セルがなかったり、共用のデータ抽出セルを占有してしまい、他の実行クラスの抽出処理に影響が発生する可能性があります。
そこで、実行クラス内で使用できる最大使用データ抽出セル数を指定します。
最大使用データ抽出セル数は、抽出制御動作環境定義ファイルの“Class”パラメタに指定します。
最大使用データ抽出セル数を実行クラスで使用できるデータ抽出セル数(専用のデータ抽出セル数と共用のデータ抽出セル数の合計数)より小さくすることで、常に空きのデータ抽出セルを用意できます。そのため、データ抽出セルで異常が発生した場合、抽出処理の再実行が他のデータ抽出セルの抽出処理の終了を待つことなく実行できます。
抽出制御プロセスでは、抽出要求の状態やデータ抽出セルの稼働状況をモニタリングできます。
モニタリング機能は、抽出制御プロセスに対するコマンド(deagtstateコマンド、dereqstateコマンド)として提供し、以下の情報を表示できます。
また、抽出制御プロセスの動作状態(抽出制御ログ)をロギングします。
動作ログには、抽出制御プロセスが出力するエラー事象のメッセージや通知情報を出力します。動作ログを採取することで、抽出制御プロセスに異常が発生した場合、原因特定のための調査資料として利用できます。
参照
抽出制御機能のモニタリングの表示内容については、“運用ガイド”の“モニタリング・ロギング”を参照してください。
モニタリングのコマンドおよび表示内容については、“コマンドリファレンス”の“deagtstate”、および“dereqstate”を参照してください。
ログの採取方法については、“運用ガイド”の“動作情報のロギング”を参照してください。
抽出制御プロセスにおける相乗り待ち状態の抽出要求やデータ抽出セルにおける抽出処理をキャンセルできます。本機能は、モニタリング機能による情報から問題となっている抽出要求を特定して、その抽出要求をキャンセルしたり、ある特定の実行クラス配下のすべての抽出要求・抽出処理をキャンセルしたりする場合に使用します。
本機能は、抽出制御プロセスに対するコマンド(dereqtermコマンド)として提供して、以下を対象とした抽出処理をキャンセルできます。
抽出制御プロセスで受け付けているすべての抽出要求のキャンセル
実行クラス内の全抽出要求のキャンセル
特定の抽出要求のキャンセル
参照
抽出制御プロセスに対するコマンドの詳細については、“コマンドリファレンス”の“dereqterm”を参照してください。
抽出制御プロセスでは、抽出制御プロセスを再起動することなく、実行クラスの情報やデータ抽出セルの情報などを動的に変更できます。動的変更は、抽出制御プロセスに対するコマンド(dereqaltcfgコマンド)として提供し、以下の情報を動的に追加、削除、および変更できます。
実行クラスの追加、削除、変更(最大使用データ抽出セル数、相乗り待ち合わせ時間)
データ抽出セルの追加、削除、変更(実行クラス)
出力ディレクトリの追加、削除、変更(実行クラス)
また、データ量の変化に対応して稼動するデータ抽出セルとデータ抽出セルを配置するサーバを増設できます。
参照
抽出制御プロセスに対するコマンドの詳細については、“コマンドリファレンス”の“dereqaltcfg”を参照してください。
抽出サーバセットの増設については、“運用ガイド”の“データ抽出セルの追加および抽出サーバの増設”を参照してください。
データ格納時に圧縮格納したファイルを解凍して、データを抽出します。抽出処理を行うとき圧縮ファイルを解凍しながら抽出処理を実行します。