(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-12-18
(45)【発行日】2024-12-26
(54)【発明の名称】データ抽出のためのマルチステージデータスニッファ
(51)【国際特許分類】
G06F 16/23 20190101AFI20241219BHJP
【FI】
G06F16/23
(21)【出願番号】P 2022579820
(86)(22)【出願日】2021-05-28
(86)【国際出願番号】 US2021034703
(87)【国際公開番号】W WO2022010590
(87)【国際公開日】2022-01-13
【審査請求日】2022-12-22
(32)【優先日】2020-07-09
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】520128820
【氏名又は名称】ノースロップ グラマン システムズ コーポレーション
(74)【代理人】
【識別番号】100105957
【氏名又は名称】恩田 誠
(74)【代理人】
【識別番号】100068755
【氏名又は名称】恩田 博宣
(74)【代理人】
【識別番号】100142907
【氏名又は名称】本田 淳
(72)【発明者】
【氏名】フォーグラー、ニコラス エイ.
(72)【発明者】
【氏名】フライシュマン、エバン エム.
(72)【発明者】
【氏名】ヴェイル、リー エイ.
(72)【発明者】
【氏名】レイトン、ジョーダン シー.
(72)【発明者】
【氏名】ハイアット、リッチー
(72)【発明者】
【氏名】ジェームズ、ジェリー
【審査官】酒井 恭信
(56)【参考文献】
【文献】米国特許出願公開第2010/0211539(US,A1)
【文献】欧州特許出願公開第03185144(EP,A1)
【文献】米国特許出願公開第2017/0132300(US,A1)
【文献】特開2004-110182(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00 - 16/958
(57)【特許請求の範囲】
【請求項1】
機械実行可能
プログラムが格納された非一時的機械可読記録媒体であって、前記機械実行可能
プログラムは、コンピュータに、
所与のファイルにおける変更に応答して、前記所与のファイルの選択されたフォーマットに関する設定ファイルに基づいて、前記所与のファイルを一組のデータフィールドに関してスキャンする第1ステージと、
前記所与のファイルからスキャンされた前記一組のデータフィールドを受信したことに応答して、前記設定ファイルに基づいて前記選択されたフォーマットに関する前記一組のデータフィールド内の各データフィールド内の値を評価して、前記一組のデータフィールド内の値の有効性を判定し、前記一組のデータフィールド内の所与の値が有効であるという判定に応答して、前記所与の値をデータウェアハウスデータベースに格納された検証済みのコンテンツのレコードに書き込む第2ステージと、
前記検証済みのコンテンツの前記レコードから一部のデータを抽出し、前記設定ファイルにおいて定義された所定の一組のルールに基づいて前記一部のデータを他の一組の抽出されたデータと統合し、統合されたデータを特徴付けるデータマートデータベースにデータを出力する第3ステージと、を含むマルチステージデータスニッファインスタンスを実行させ、前記他の一組の抽出されたデータは、前記検証済みのコンテンツの前記レコードからの他の一部のデータおよび/または他のファイルからのデータフィールドの値である、非一時的機械可読記録媒体。
【請求項2】
前記機械実行可能
プログラムは、前記コンピュータを、前記所与のファイルおよび前記他のファイルからの統合されたデータを特徴付ける前記データマートデータベース内のコンテンツに基づいてダッシュボードおよび/またはチャートを生成するグラフィカルユーザインタフェース(GUI)ジェネレータとして機能させる、請求項1に記載の非一時的機械可読記録媒体。
【請求項3】
前記機械実行可能
プログラムは、前記コンピュータに、前記マルチステージデータスニッファインスタンスの前記第1ステージにおいて、前記一組のデータフィールド内の少なくとも1つのデータフィールドが欠落していることを検出したことに応答してエラーメッセージを生成させる、請求項1に記載の非一時的機械可読記録媒体。
【請求項4】
前記機械実行可能
プログラムは、前記コンピュータに、前記マルチステージデータスニッファインスタンスにおいて、前記所与のファイルのファイル名に基づいて、所定の場所における前記所与のファイルに関する前記選択されたフォーマットを識別させる、請求項1に記載の非一時的機械可読記録媒体。
【請求項5】
前記選択されたフォーマットは、前記設定ファイルにおいて定義された複数のフォーマットから選択される、請求項4に記載の非一時的機械可読記録媒体。
【請求項6】
前記機械実行可能
プログラムは、前記コンピュータに、前記マルチステージデータスニッファインスタンスにおいて、バルクデータスニッファインスタンスをインスタンス化させ、前記バルクデータスニッファインスタンスにおいて、ソースデータベースからデータを抽出し、前記設定ファイルにおいて定義された前記所定の一組のルールに基づいて抽出データを統合させる、請求項1に記載の非一時的機械可読記録媒体。
【請求項7】
データを抽出するためのシステムであって、
処理ユニットと、
機械実行可能
プログラムが格納された非一時的メモリと、を備え、前記機械実行可能
プログラムは、前記処理ユニットに、マルチステージデータスニッファの複数のマルチステージデータスニッファインスタンスを並列に実行させ、前記処理ユニットが実行する各マルチステージデータスニッファインスタンスは、
所与のファイルにおける変更に応答して、所定の場所から抽出された前記所与のファイルを、前記所与のファイルの選択されたフォーマットを定義する設定ファイルに基づいて、一組のデータフィールド内の必要なデータフィールドおよび任意選択のデータフィールドに関してスキャンする第1ステージと、
前記所与のファイルからスキャンされた前記一組のデータフィールドを受信したことに応答して、前記設定ファイルに基づいて前記選択されたフォーマットに関する前記一組のデータフィールド内の各データフィールド内の値を評価して、前記一組のデータフィールド内の値の有効性を判定し、前記一組のデータフィールド内の所与の値が有効であるという判定に応答して、前記所与の値をデータウェアハウスデータベースに格納された検証済みのコンテンツのレコードに書き込む第2ステージと、
前記検証済みのコンテンツの前記レコードから一部のデータを抽出し、前記設定ファイルにおいて定義された所定の一組のルールに基づいて前記一部のデータを他の一組の抽出されたデータと統合し、統合されたデータを特徴付けるデータマートデータベースにデータを出力する第3ステージと、を含み、前記他の一組の抽出されたデータは、前記検証済みのコンテンツの前記レコードからの他の一部のデータおよび/または他のファイルからのデータフィールドの値である、システム。
【請求項8】
前記処理ユニットは、前記データマートデータベース内のコンテンツに基づいてダッシュボードおよび/またはチャートを生成するグラフィカルユーザインタフェース(GUI)ジェネレータとして機能する、請求項7に記載のシステム。
【請求項9】
各マルチステージデータスニッファインスタンスの前記第1ステージにおいて、前記処理ユニットは、前記一組のデータフィールド内の少なくとも1つのデータフィールドが欠落していることを検出したことに応答してエラーメッセージを生成する、請求項7に記載のシステム。
【請求項10】
前記エラーメッセージは、電子メール、プッシュ通知、およびショートメッセージサービス(SMS)メッセージのうちの1つまたは複数を介して連絡先への通知において提供される、請求項9に記載のシステム。
【請求項11】
前記複数のマルチステージデータスニッファインスタンスを実行する前記処理ユニットは、前記所与のファイルのファイル名に基づいて、所定の場所における前記所与のファイルに関する前記選択されたフォーマットを識別する、請求項7に記載のシステム。
【請求項12】
前記複数のマルチステージデータスニッファインスタンスを実行する前記処理ユニットは、ソースデータベースからデータを抽出するとともに、前記設定ファイルにおいて定義された前記所定の一組のルールに基づいて抽出データを統合するエージェントを含むバルクデータスニッファインスタンスをインスタンス化する、請求項7に記載のシステム。
【請求項13】
コンピューティングプラットフォームのコンピュータによってデータを抽出するための方法であって、
前記コンピュータが、マルチステージデータスニッファの複数のマルチステージデータスニッファインスタンスを並列に実行するステップを含み、前記コンピュータが、各マルチステージデータスニッファインスタンスにおいて、
所与のファイルにおける変更に応答して、所定の場所から抽出された所与のファイルを、前記所与のファイルの選択されたフォーマットを定義する設定ファイルに基づいて、一組のデータフィールド内の必要なデータフィールドおよび任意選択のデータフィールドに関してスキャンするステップと、
前記所与のファイルからスキャンされた前記一組のデータフィールドを受信したことに応答して、前記設定ファイルに基づいて前記選択されたフォーマットに関する前記一組のデータフィールド内の各データフィールド内の値を検証して、前記一組のデータフィールド内の値の有効性を判定するステップと、
前記一組のデータフィールド内の所与の値が有効であるという判定に応答して、前記所与の値をデータウェアハウスデータベースに格納された検証済みのコンテンツのレコードに書き込むステップと、
前記検証済みのコンテンツの前記レコードから一部のデータを抽出するステップと、
前記設定ファイルにおいて定義された所定の一組のルールに基づいて前記一部のデータを他の一組の抽出されたデータと統合するステップと、ここで、前記他の一組の抽出されたデータは、前記検証済みのコンテンツの前記レコードからの他の一部のデータおよび/または他のファイルからのデータフィールドの値であり、
統合されたデータを特徴付けるデータマートデータベースにデータを出力するステップと、を含むサブメソッドを実行する、方法。
【請求項14】
前記方法は、前記コンピュータが、前記複数のマルチステージデータスニッファインスタンスと並列に、ソースデータベースから抽出されたデータを用いて前記データマートデータベースを拡張するバルクデータスニッファインスタンスを実行するステップをさらに含む、請求項13に記載の方法。
【請求項15】
各サブメソッドに関して前記選択されたフォーマットが、個々の所与のファイルのファイル名に基づいて選択される、請求項13に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、データ抽出(data extraction)に関する。より詳細には、本開示は、データを抽出するマルチステージデータスニッファ(multistage data sniffer)に関する。
【背景技術】
【0002】
データ抽出は、さらなるデータ処理またはデータ保存(データ移行)のために、(通常は、非構造化または不十分な構造化)データソースからデータを取り出す操作またはプロセスである。従って、中間抽出システムへのインポートの後には、通常、データワークフローの別ステージにエクスポートされる前に、データ変換および場合によってはメタデータの追加が続く。データ抽出という用語は、(実験)データが、測定デバイスまたは記録デバイスのような一次ソースからコンピュータに最初にインポートされるときに適用することができる。
【0003】
非構造化データソースは、ウェブページ、電子メール、文書、PDF、スキャンされたテキスト、メインフレームレポート、スプールファイル、クラシファイド(classifieds)などを含み、これらはさらにセールスリードまたはマーケティングリードに使用される。これらの非構造化ソースからデータを抽出することは、かなりの技術的課題に発展したが、従来からデータ抽出は、物理的ハードウェアフォーマットの変化に対処する必要があり、現在のデータ抽出は、これらの非構造化データソースから、および異なるソフトウェアフォーマットからデータを抽出することが大半を占めている。
【発明の概要】
【0004】
一例は、マルチステージデータスニッファインスタンスを備える機械実行可能命令を有する非一時的機械可読媒体に関する。マルチステージデータスニッファインスタンスは、所与のファイルの選択されたフォーマットに関する設定ファイルに基づいて、所与のファイルを一組のデータフィールドに関してスキャンする第1ステージを含むことができる。また、マルチステージデータスニッファインスタンスは、選択されたフォーマットに関する一組のデータフィールド内の各データフィールド内の値を評価して、一組のデータフィールド内の値の有効性を判定する第2ステージも含むことができる。マルチステージデータスニッファインスタンスは、所与のファイルの複数のフィールド内のデータを抽出し、設定ファイルにおいて定義された所定の一組のルールに基づいてデータを統合し(aggregates)、統合されたデータを特徴付けるデータマートデータベースにデータを出力する第3ステージをさらに含むことができる。
【0005】
別の例は、データを抽出するためのシステムに関する。システムは、機械実行可能命令を有する非一時的メモリと、メモリにアクセスし、機械実行可能命令を実行するための処理ユニットとを含むことができる。機械実行可能命令は、複数のマルチステージデータスニッファインスタンスを並列に実行するマルチステージデータスニッファを含むことができる。各マルチステージデータスニッファインスタンスは、所定の場所から抽出された所与のファイルを、所与のファイルの選択されたフォーマットを定義する設定ファイルに基づいて、一組のデータフィールド内の必要なデータフィールドおよび任意選択のデータフィールドに関してスキャンする第1ステージを含むことができる。各マルチステージデータスニッファインスタンスは、選択されたフォーマットに関する一組のデータフィールド内の各データフィールド内の値を評価して、一組のデータフィールド内の値の有効性を判定する第2ステージも含むことができる。各マルチステージデータスニッファインスタンスは、所与のファイルの複数のフィールド内のデータを抽出し、設定ファイルにおいて定義された所定の一組のルールに基づいてデータを統合し、統合されたデータを特徴付けるデータマートデータベースにデータを出力する第3ステージをさらに含むことができる。
【0006】
さらに別の例は、データを抽出するための方法に関する。本方法は、コンピューティングプラットフォーム上で実行されるマルチステージデータスニッファが、複数のマルチステージデータスニッファインスタンスを並列に実行することを含むことができ、各マルチステージデータスニッファインスタンスは、サブメソッド(sub-method)を実行する。サブメソッドは、所定の場所から抽出された所与のファイルを、所与のファイルの選択されたフォーマットを定義する設定ファイルに基づいて、一組のデータフィールド内の必要なデータフィールドおよび任意選択のデータフィールドに関してスキャンすることを含むことができる。サブメソッドは、選択されたフォーマットに関する一組のデータフィールド内の各データフィールド内の値を検証して、一組のデータフィールド内の値の有効性を判定することも含むことができる。サブメソッドは、所与のファイルの複数のフィールド内のデータを抽出し、設定ファイルにおいて定義された所定の一組のルールに基づいてデータを統合することをさらに含むことができる。サブメソッドは、統合されたデータを特徴付けるデータマートデータベースにデータを出力することをさらに含むことができる。
【図面の簡単な説明】
【0007】
【
図1】複数のソースからデータを抽出するためのシステムの一例を示す図である。
【
図2】抽出データに基づいて生成されたダッシュボードの一例を示す図である。
【
図3】ファイルからデータを抽出するための例示的な方法のタイミング図である。
【
図4】データベースからデータを抽出するための例示的な方法の別のタイミング図である。
【
図5】データを抽出するための例示的な方法のフローチャートである。
【
図6】データを抽出するための例示的なサブメソッドのフローチャートである。
【発明を実施するための形態】
【0008】
本開示は、コンピューティングプラットフォーム上で実行して、ファイルおよび/またはデータベースなどの複数のソースからデータを抽出するマルチステージデータスニッファに関する。マルチステージデータスニッファは、並列に動作する複数のマルチステージデータスニッファインスタンスをインスタンス化する(instantiate)ことができる。そのようなマルチステージデータスニッファインスタンスの各々は、所与のファイルの選択されたフォーマットに対応する設定に基づいて、所定の場所から抽出された所与のファイルを、一組のデータフィールド内の必要なデータフィールドおよび任意選択のデータフィールドに関してスキャンする第1ステージを含むことができる。選択されたフォーマットは、例えば、所与のファイルのファイル名に基づくことができる。第1ステージは、所与のファイルのコンテンツをステージングデータベースに書き込むことができる。
【0009】
各マルチステージデータスニッファインスタンスは、ステージングデータベースから所与のファイルのコンテンツを取り出し、選択されたフォーマットに関する一組のデータフィールド内の各データフィールド内の値を評価して、一組のデータフィールド内の値の有効性を判定する第2ステージも含むことができる。検証済みのコンテンツ(例えば、検証済みのデータ値)は、データウェアハウスデータベースに書き込まれ得る。各マルチステージデータスニッファインスタンスは、検証済みのデータ(またはそのいくつかの一部)を抽出し、設定ファイルにおいて定義された所定の一組のルールに基づいて抽出データを統合する第3ステージも含むことができる。第3ステージは、統合されたデータを特徴付けるデータマートデータベースにデータを出力することができる。
【0010】
加えて、マルチステージデータスニッファは、ソースデータベースから抽出されたデータを用いてデータマートデータベースを拡張するバルクデータスニッファインスタンスをインスタンス化することができる。バルクデータスニッファインスタンスは、複数のマルチステージデータスニッファインスタンスと並列に動作することができる。さらに、統合されたデータは、グラフィカルユーザインタフェース(GUI)ジェネレータが使用して、データマートデータベース内のデータのグラフィカル表現を生成することができる。ソースから抽出されるマルチステージデータは、設定ファイルにおいて識別された既知のフォーマットおよび例外的なフォーマットに準拠する。加えて、マルチステージデータスニッファは、データ抽出の並列処理を可能にし、遅い順次処理の必要性を回避する。
【0011】
図1は、自動データ抽出のためのシステム100の一例を示す。システム100は、機械可読命令およびデータを格納するためのメモリ106と、メモリ106にアクセスして、機械可読命令を実行するための処理ユニット108とを含むことができるサーバ102(例えば、コンピューティングプラットフォーム)を含むことができる。メモリ106は、ランダムアクセスメモリ(RAM)、ソリッドステートドライブ、ハードディスクドライブ、またはそれらの組み合わせなどの非一時的機械可読メモリ(または他の媒体)に相当する。処理ユニット108は、1つまたは複数のプロセッサコアとして実施され得る。サーバ102は、パブリックネットワーク(例えば、インターネット)、プライベートネットワーク(例えば、ローカルエリアネットワーク(LAN))、またはそれらの組合せ(例えば、仮想プライベートネットワーク)などのネットワーク114を介して他のコンピューティングプラットフォームと通信するように構成されたネットワークインタフェース110(例えば、ネットワークインタフェースカード)を含むことができる。
【0012】
サーバ102は、コンピューティングクラウドにおいて実施され得る。そのような状況では、処理ユニット108、ネットワークインタフェース110、およびメモリ106等のサーバ102の機能は、ハードウェア(例えば、コンピュータ、ルータ、メモリ、プロセッサ、またはそれらの組み合わせ)の複数のインスタンスにわたって実行する(即ち、分散される)アプリケーションを用いるハードウェアの単一インスタンスまたはハードウェアの複数のインスタンスを表すことができる。代替的に、サーバ102は、単一の専用サーバまたはワークステーション上で実施され得る。
【0013】
メモリ106は、マルチステージデータスニッファ120を含むことができる。マルチステージデータスニッファ120は、K個のマルチステージデータスニッファインスタンス124を実行することができ、Kは、1以上の整数である。K個のマルチステージデータスニッファインスタンス124は、データ抽出を迅速にするために並列に動作することができる。
図1は、第1のマルチステージデータスニッファインスタンス124(マルチステージデータスニッファ1)の詳細を示すが、第2から第Kのマルチステージデータスニッファインスタンス124も同様に動作できることが理解される。
【0014】
マルチステージデータスニッファ120は、メモリ106に格納された設定ファイル128にアクセスすることができる。設定ファイル128は、データ抽出のためのパラメータを定義することができる。特に、設定ファイル128は、データストレージ134に格納された選択されたフォルダ130(例えば、ディレクトリ)または複数の選択されたフォルダを識別することができる。マルチステージデータスニッファ120は、選択されたフォルダ130内の所与のファイル136に対する変更を検出するように構成/プログラムされる。例えば、マルチステージデータスニッファ120は、選択されたフォルダ130内のファイルに対する変更に関して、選択されたフォルダ130に定期的に(例えば、10分ごとまたは10分未満ごとに)および/または非同期的に問い合わせるように構成することができる。所与のファイル136に対する変更は、例えば、所与のファイル136が選択されたフォルダ130内に作成されたことの表示、所与のファイル名の変更、および/または所与のファイルのコンテンツに対する修正であり得る。
【0015】
一例として、コンピューティングプラットフォーム140は、所与のファイル136を変更するためにエンドユーザによって使用され得る。コンピューティングプラットフォーム140は、ネットワーク114上で通信することができる。コンピューティングプラットフォーム140は、例えば、デスクトップコンピュータ(例えば、ワークステーション)、ラップトップコンピュータ、またはモバイルコンピューティングデバイス(例えば、タブレットコンピュータまたはスマートフォン)として実施され得る。コンピューティングプラットフォーム140は、機械実行可能命令を格納するための非一時的メモリと、コンピューティングプラットフォーム140のメモリにアクセスし、機械可読命令を実行するための処理ユニット(例えば、1つまたは複数のプロセッサコア)とを含むことができる。
【0016】
コンピューティングプラットフォーム140は、所与のファイル136を生成および/または修正するために使用可能なアプリケーションソフトウェア144(例えば、アプリ)を含むことができる。いくつかの例として、アプリケーションソフトウェア144は、スプレッドシートプログラム、ワードプロセッサ、プレゼンテーションプログラム、デスクトップパブリッシングアプリケーション、または消費型コンテンツを生成および/または修正するために使用可能な任意のアプリケーションとして実施することができる。アプリケーションソフトウェア144は、データストレージ134の選択されたフォルダ130にアクセスして、データストレージ134に格納された所与のファイル136を生成および/または修正するために使用することができる。
【0017】
所与のファイル136に対する変更の検出に応答して、マルチステージデータスニッファ120は、フォルダのファイル名を調べて、ファイル名が、選択されたフォーマットとして参照することができる設定ファイル128内の複数のフォーマットのうちの1つのフォーマットに対して定義された文字列と一致する文字列を含むかどうかを判定することができる。より詳細には、設定ファイル128は、複数の文字列を含むことができ、各文字列がフォーマットに対応している。いくつかの例として、設定ファイルは、販売スプレッドシート、売掛金チャート、ホワイトペーパー、広告などに対応する文字列を含むことができる。ある所与の例(以下、「所与の例という」)では、設定ファイル128内の文字列は、販売チャートに対応する「販売」とすることができ、所与のファイル136は、スプレッドシートを表す。所与のファイル136が、設定ファイル128において識別された文字列と一致する文字列を含んでいない場合、所与のファイル136は無視され得る。加えて、所与のファイル136に対する変更(例えば、所与のファイル名の変更)を検出すると、マルチステージデータスニッファ120は、選択されたフォーマットを識別する試みにおいて、所与のファイル136のファイル名を再検査することができる。
【0018】
所与のファイル136に対して選択されたフォーマットを識別することに応答して、マルチステージデータスニッファ120は、マルチステージデータスニッファインスタンス124をインスタンス化することができる。本例では、マルチステージデータスニッファ120は、所与のファイル136からデータを抽出するために第1のマルチステージデータスニッファインスタンス124をインスタンス化することが想定されるが、他の例では、K個のマルチステージデータスニッファインスタンス124のいずれも、所与のファイル136からデータを抽出することができる。
【0019】
第1のマルチステージデータスニッファインスタンス124の第1ステージ150は、データフィールド検証処理を実行して、設定ファイル128において定義された、選択されたフォーマットに対する一組のデータフィールドの存在を検証することができる。データフィールド検証処理中に、第1ステージ150は、選択されたフォーマットに対して設定ファイル128において定義された一組のデータフィールド内の必要なデータフィールド(および、いくつかの例では任意選択のデータフィールド)に関して所与のファイル136をスキャンすることができる。データフィールドは、選択されたフォーマットの種類に基づいて変化し得る。例えば、所与の例を続けると、1つのフィールドを「週間売上」として実施することができ、別のフィールドを「販売された機器」とすることができる。所与の例におけるさらに別のフィールドは、「販売員名」であり得る。さらに、一組のデータフィールドは、必要なデータフィールドおよび任意選択のデータフィールドを含むことができる。任意選択のデータフィールドは、所与のファイル136内に存在しても、または存在しなくてもよいデータフィールドとすることができ、必要なデータフィールドは、所与のファイル136内に存在しなければならないデータフィールドとすることができる。所与の例では、必要なデータフィールドは、例えば、「販売員名」フィールドとすることができ、任意選択のフィールドは「費用」とすることができる。
【0020】
第1ステージ150のデータフィールド検証処理は、選択されたフォーマットの一組のデータフィールド内の必要なデータフィールドが所与のファイル136内に存在するかどうかを判定する。第1ステージ150が、必要とされるデータフィールドのうちの1つまたは複数が欠落していることを検出した場合、第1ステージ150は、設定ファイル128において識別された受信者に対する通知において提供されるエラーメッセージを生成することができる。受信者は、例えば、所与のファイル136を生成するために採用されたコンピューティングプラットフォーム140に関連付けられたユーザおよび/または異なるユーザであり得る。エラーメッセージは、欠落している必要なデータフィールドまたは複数の欠落している必要なデータフィールドを識別することができる。エラーメッセージを含む通知は、電子メールメッセージ、プッシュ通知、および/または受信者宛のショートメッセージサービス(SMS)メッセージとして提供することができる。通知を提供することに応答して、第1ステージ150は、所与のファイル136に対する変更を検出することに応答して、マルチステージデータスニッファ120によって再インスタンス化され得るマルチステージデータスニッファインスタンス124を終了させることができる(例えば、所与のファイル136は、必要なデータフィールドを含むように修正される)。
【0021】
さらに、いくつかの例では、第1ステージ150が、選択されたフォーマットに関する一組のデータフィールドの任意選択のデータフィールドが欠落していることを検出した場合、第1ステージ150は、警告メッセージを生成することができる。警告メッセージは、欠落している任意選択のデータフィールドを識別する受信者への通知において提供され得る。しかしながら、欠落している任意選択のデータフィールドを検出したことに応答して、第1ステージ150は、第1のマルチステージデータスニッファインスタンス124を終了させない。
【0022】
選択されたフォーマットの一組のデータフィールドの必要なフィールドが存在する場合、第1のマルチステージデータスニッファインスタンス124の第1ステージ150は、所与のファイル136のコンテンツをステージングデータベース154内の1つのレコード(または複数のレコード)に書き込む。いくつかの例では、ステージングデータベース154は、例えば、ネットワーク114を介してアクセス可能な検索およびクエリ言語(SQL:search and query language)データベースとして実施され得る。他の例では、ステージングデータベース154は、サーバ102にローカルなデータベースとすることができる。さらに、いくつかの例では、第1ステージ150は、データフィールド検証処理の結果をログファイルに書き込むことができる。
【0023】
いくつかの例では、第1のマルチステージデータスニッファインスタンス124の第2ステージ160は、周期的に(例えば、10分または10分未満ごとに)および/または非同期的に、ステージングデータベース154にアクセスするとともに、所与のファイル136に関連付けられたレコードにアクセスすることができる。他の例では、第1ステージ150は、コンテンツがステージングデータベース154に書き込まれないように、所与のファイル136のコンテンツを第2ステージ160に渡す。いずれの状況においても、所与のファイル136のコンテンツを受信することに応答して、第2ステージ160は、データ値検証処理を実行することができる。データ値検証処理中に、第2ステージは、一組のデータフィールド内の値に関して所与のファイル136のコンテンツをスキャンして、値が(例えば、許容可能な形態で)有効であるかどうかを判定する。
【0024】
各データフィールドに対する有効性は、個々のデータフィールドのタイプに基づいて変化させることができ、有効性は、設定ファイル128によって定義することができる。例えば、特定のデータフィールドが数値である場合、特定のデータフィールドの有効性は、値の範囲によって定義することができる。所与の例では、「週間売上」に対する値は、0以上の範囲であり得る。逆に、特定のデータフィールドが文字列である場合、有効な形式であることは、文字のみが許容されることを示し得る。例えば、所与の例では、「販売員名」に対する値の有効な形式は、文字およびスペースのみを許可することができる(例えば、句読点または数字は許可されない)。
【0025】
第2ステージ160が、一組のデータフィールドのデータ値(または複数のデータ値)が有効な形式ではないことを検出した場合、第2ステージ160は、設定ファイル128において識別された受信者に対する通知において提供されるエラーメッセージを生成することができる。エラーメッセージを含む通知は、電子メールメッセージ、プッシュ通知、および/または受信者宛のSMSメッセージとして提供することができる。そのような状況では、エラーメッセージは、データ値の欠陥(例えば、無関係な文字および/または範囲外)を示すことができる。通知を提供することに応答して、第2ステージ160は、所与のファイル136に対する変更を検出することに応答してマルチステージデータスニッファ120によって再インスタンス化され得る第1のマルチステージデータスニッファインスタンス124を終了させることができる(例えば、所与のファイル136は、有効な形式ではないデータフィールドの値を改訂するように修正される)。
【0026】
一組のデータフィールド内の値が有効な形式である場合、第1のマルチステージデータスニッファインスタンス124の第2ステージ160は、所与のファイル136の検証済みのコンテンツ(例えば、検証済みのデータ値)をデータウェアハウスデータベース164内のレコード(または複数のレコード)に書き込む。いくつかの例では、データウェアハウスデータベース164は、例えば、ネットワーク114を介してアクセス可能なSQLデータベースとして実施され得る。他の例では、データウェアハウスデータベース164は、サーバ102にローカルなデータベースとすることができる。さらに、いくつかの例では、第1ステージ150は、データフィールド検証処理の結果をログファイルに書き込むことができる。さらに他の例では、第2ステージ160は、所与のファイル136のコンテンツを第1のマルチステージデータスニッファインスタンス124の第3ステージ168に渡すことができる。
【0027】
いくつかの例では、第1のマルチステージデータスニッファインスタンス124の第3ステージ168は、周期的に(例えば、10分または10分未満ごとに)および/または非同期的に、データウェアハウスデータベース164にアクセスするとともに、所与のファイル136に関連付けられたレコードにアクセスすることができる。より具体的には、第3ステージ168は、データウェアハウスデータベース164にアクセスするとともに、抽出データと呼ぶことができる一部の検証済みのコンテンツを抽出することができる。抽出データは、データマートデータベース170に書き込むことができる。いくつかの例では、データマートデータベース170は、ネットワーク114を介してアクセス可能なSQLデータベースであり得る。他の例では、データマートデータベース170は、メモリ106に格納され得る。
【0028】
さらに、第3ステージ168は、抽出データを、他のファイルおよび/またはデータベースなどの他のソースから抽出データと統合することができる。いくつかのそのような例では、抽出データは、同じファイル(例えば、所与のファイル136)内の異なるフィールドの値、および/または異なるソースからのフィールドの値と統合され得る。所与の例を続けると、抽出データは、「週間売上」の複数のインスタンスを表すことができ、これを統合して、「月間売上」に関する値を生成することができる。追加的に、または代替的に、所与の例では、フィールド「週間売上」を他の販売員の売上レポートと統合して、複数の販売員に関する「週間売上合計」の値を生成することができる。
【0029】
いくつかの例では、大量のデータ(例えば、バルクデータ)が、マルチステージデータスニッファ120によって処理され得る。例えば、ソースデータベース172(例えば、SQLデータベース)は、データマートデータベース170へのインポートおよび/または統合のためのコンテンツを有するレコードを含むことができる。所与の例では、ソースデータベース172のレコードは、アーカイブされたレコードからの販売レポートを有する履歴データを含むことができる。そのような状況では、マルチステージデータスニッファ120は、バルクデータスニッファインスタンス176を起動して、ソースデータベース172内のデータをデータマートデータベース170にインポートおよび/または統合することができる。さらに、マルチステージデータスニッファ120は、インポートおよび/または統合を特徴付けるログエントリを書き込むことができる。
【0030】
より具体的には、バルクデータスニッファインスタンス176は、ソースデータベース172からデータを引き出し、引き出したデータをステージングデータベース154に転送するようにプログラムすることができるSQLサーバ統合サービス(SSIS:SQL Server Integration Services)エージェント178(または別のタイプのエージェント)を含むことができる。さらに、SSISエージェント178は、転送の詳細をログファイルに書き込むことができる。また、バルクデータスニッファインスタンス176は、各マルチステージデータスニッファインスタンス124の第2ステージ160および第3ステージ168と同様に実施することができる第2ステージ180および第3ステージ182を含むことができる。即ち、バルクデータスニッファインスタンス176の第2ステージ180は、ソースデータベース172からステージングデータベース154に転送されるデータに対してデータ値検証処理を実行し、検証済みのコンテンツをデータウェアハウスデータベース164に書き込むことができる。さらに、第3ステージ182は、データウェアハウスデータベース164から一部の検証済みのコンテンツを抽出し、抽出データをデータマートデータベース170に書き込みおよび/または統合し、処理を特徴付けるログエントリを生成することができる。
【0031】
時間の経過とともに、複数のソースから(例えば、選択されたフォルダ130内の複数のファイルおよび/またはソースデータベース172から)、より多くのデータをデータマートデータベース170に統合することができる。データが大きくなるにつれて、視覚フォーマットでデータを編成することが有用になる。従って、グラフィカルユーザインタフェース(GUI)ジェネレータ184は、データマートデータベース170にアクセスし、統合された抽出データのグラフィカル表現を生成することができる。いくつかの例では、GUIジェネレータ184は、ウェブページジェネレータおよび/またはウェブサーバとして実施することができる。そのような状況では、統合された抽出データのグラフィカル表現は、グラフィカルチャート、ダッシュボードなどであり得る。さらに、GUIジェネレータ184は、抽出データのグラフィカル表現を、コンピューティングプラットフォーム140上で実行される(または異なるコンピューティングプラットフォーム上で実行される)ウェブブラウザ188などの要求元デバイスに提供することができる。
【0032】
図2は、
図1のGUIジェネレータ184によって生成された抽出データのグラフィカル表現として実施され得るダッシュボード200の一例を示す。ダッシュボード200は、複数のソースから統合された値を表す、特定のプロジェクトに関するプロジェクトコストを含む。さらに、ダッシュボード200は、データを視覚的に表すことができる複数の方法を示す複数のチャートを含む。使用されるチャートのタイプおよび数は、様々なソースから抽出されるデータのタイプに基づいて変化する。
【0033】
図1に戻って参照すると、システム100を使用することによって、複数のソースからデータを抽出および統合して、グラフィカル形式で編成することができる。さらに、上述したように、K個のマルチステージデータスニッファインスタンス124の各々は、並列に動作することができる。従って、K個のマルチステージデータスニッファインスタンス124(またはそのいくつかの一部)の各々は、ファイルに対する更新に応答して、所与のファイル136などのファイルから独立してデータを同時に抽出することができる。このため、ファイルを順次処理する必要がない。さらに、K個のマルチステージデータスニッファインスタンス124の各々は、第1ステージ150、第2ステージ160、および第3ステージ168のインスタンスを含む。従って、第1ステージ150、第2ステージ160、および第3ステージ168の処理を連携させることにより、3つの別個の手動制御プロセスの必要性を回避することができる。加えて、K個のマルチステージデータスニッファインスタンス124の第1ステージ150によって実行されるデータフィールド検証処理および第2ステージ160によって実行されるデータ値検証処理は、データが一貫したフォーマットで提供されること、およびデータが完全であることを保証する。
【0034】
図3は、自動データ抽出のための方法400を実行するためのシステム300による処理のタイミングの一例を示すタイミング図を示す。システム300は、
図1のシステム100を実施するために使用することができる。従って、システム300は、ファイルにアクセスして更新するためのアプリケーションソフトウェアを有するコンピューティングプラットフォーム304(例えば、エンドユーザデバイス)を含むことができる。
【0035】
405において、コンピューティングプラットフォーム304上で実行されるアプリケーションソフトウェアを使用して、ファイルを変更して、更新されたファイルを生成または修正することができる。所与のファイル136に対する変更は、例えば、ファイルのコンテンツおよび/またはファイル名に対する変更、または新たなファイルの生成であり得る。410において、更新されたファイルは、ネットワーク(例えば、プライベートネットワークおよび/またはインターネットなどのパブリックネットワーク)を介してデータストレージ310内の選択されたフォルダ308に書き込まれる。
【0036】
415において、マルチステージデータスニッファ120は、選択されたフォルダ308内の更新されたファイルを検出するために、選択されたフォルダ308に周期的および/または非同期的に問い合わせるように構成/プログラムされる。更新されたファイルが、設定ファイル内の選択されたフォーマットの識別子に対応する文字列を含む場合、420において、マルチステージデータスニッファ316は、マルチステージデータスニッファインスタンス320をインスタンス化することができる。425において、マルチステージデータスニッファインスタンス320の第1ステージ324は、選択されたフォルダ308から更新されたファイルのコピーを取り出す。
【0037】
430において、マルチステージデータスニッファインスタンス320の第1ステージ324は、更新されたファイルに対してデータフィールド検証処理を実行することができる。データフィールド検証処理は、更新されたファイルが、選択されたフォーマットに関する一組のデータフィールドにおける各必要なデータフィールドを含んでいるかを検証することができる。取り出されたファイルが、1つまたは複数の必要とされるデータフィールドを欠落している場合、マルチステージデータスニッファインスタンス320の第1ステージ324は、欠落を記述する(設定ファイルにおいて識別される)受信者に対する通知を(例えば、エラーメッセージとして)生成し、マルチステージデータスニッファインスタンス320を終了させて、方法400は、ノード「A」に戻る。逆に、データフィールド検証処理が、更新されたファイルが選択されたフォーマットに関する一組のデータフィールドにおける各必要なフィールドを含んでいることを示す場合、435において、第1ステージ324は、更新されたファイルのコンテンツをステージングデータベース328に書き込む。
【0038】
440において、マルチステージデータスニッファインスタンス320の第2ステージ334は、ステージングデータベース328から新たに書き込まれたコンテンツを周期的および/または非同期的に取り出すことができる。445において、マルチステージデータスニッファインスタンス320の第2ステージ334は、取り出されたコンテンツに対してデータ値検証処理を実行することができる。データ値検証処理は、取り出されたコンテンツのデータフィールド内の値が有効な形式(例えば、有効な数値範囲、文字列内の適切な文字など)であるかどうかを判定することができる。1つまたは複数のデータ値が有効な形式でない場合、マルチステージデータスニッファインスタンス320の第2ステージ334は、更新されたファイルの欠陥を示す通知を受信者に対して生成することができる。そのような状況では、第2ステージ334は、マルチステージデータスニッファインスタンス320を終了することができ、方法400は、ノード「A」に戻ることができる。取り出されたコンテンツ内の値が有効な形式である場合、450において、第2ステージ334は、検証済みのコンテンツをデータウェアハウスデータベース338に書き込むことができる。
【0039】
455において、マルチステージデータスニッファインスタンス320の第3ステージ342は、データウェアハウスデータベース338から新たに書き込まれた検証済みのコンテンツからコンテンツを周期的および/または非同期的に抽出することができる。抽出されるコンテンツは、例えば、データウェアハウスデータベース338に書き込まれた一部の検証済みのコンテンツとすることができる。
【0040】
460において、マルチステージデータスニッファインスタンス320の第3ステージ342は、抽出されたコンテンツをデータマートデータベース348内の他のコンテンツと統合することができ、462において、データがデータマートデータベース348に書き込まれる(例えば、データマートデータベース内のコンテンツを拡張する)。465において、データマートデータベース348からのコンテンツは、GUIジェネレータ350によって提供および/または取り出され得る。470において、GUIジェネレータ350は、統合されたデータのグラフィカル表現を生成することができる。475において、統合されたデータのグラフィカル表現(例えば、ダッシュボードおよび/またはチャート)は、ディスプレイ上に出力するために、ネットワークを介して(例えば、ウェブページとして)コンピューティングプラットフォーム304または異なるコンピューティングプラットフォームに提供され得る。
【0041】
図4は、自動データ抽出のための方法500を実行するための
図3のシステム300による処理のタイミングの一例を示す別のタイミング図を示す。説明を簡単にするために、
図3および
図4では、同じ構成または処理を示すのに同じ参照番号を使用する。さらに、説明を簡単にするために、いくつかの参照番号は再導入されない。方法500は、データベースからのバルクデータ抽出処理を実施するために使用することができる。方法500は、
図3の方法400と同時に動作することができる。
【0042】
505において、周期的および/または非同期的に、マルチステージデータスニッファ316は、更新された(例えば、新たなまたは修正された)コンテンツに関してソースデータベース360に問い合わせることができる。更新されたコンテンツを検出することに応答して、510において、マルチステージデータスニッファ316は、バルクデータスニッファインスタンス364をインスタンス化することができる。515において、バルクデータスニッファインスタンス364のSSISエージェント368は、ソースデータベース360からコンテンツを取り出すことができる。520において、バルクデータスニッファインスタンス364のSSISエージェント368は、ステージングデータベース328にコンテンツを書き込むことができる。
【0043】
また、バルクデータスニッファインスタンス364は、
図3に関して説明した方法で動作する第2ステージ334および第3ステージ342のインスタンスを含む。説明を簡単にするために、これらの処理は繰り返さない。
【0044】
図3および
図4に示すように、システム300は、方法400および500により異なるソースからデータを自動的に抽出するために使用することができる。さらに、方法400および方法500の複数のインスタンスは、並列に実行することができる。従って、システム300によって、データを抽出するために遅いシリアル化された処理を実施する必要性が回避される。
【0045】
上述の構造的及び機能的特徴を考慮して、例示的な方法は、
図5及び
図6を参照することによって、より良く理解されるであろう。説明を簡単にするために、
図5および
図6の例示的な方法は、連続して実行されるものとして示され、説明されているが、他の例においていくつかの動作が、本明細書において示され、かつ説明されているものとは異なる順序で、および/または同時に行われ得るため、本例は、図示されている順序によって制限されないことを理解および認識されたい。さらに、方法を実施するために全ての説明された動作が実行される必要はない。
図5および
図6の例示的な方法は、非一時的機械可読媒体に格納された命令として実施され得る。命令は、処理ユニットによってアクセスされ、本明細書で開示される方法を実行するために実行され得る。
【0046】
図5は、データを抽出するための例示的な方法600のフローチャートを示す。方法500は、例えば、
図1のサーバ102上で実行されるマルチステージデータスニッファ120など、コンピューティングプラットフォーム上で実行されるマルチステージデータスニッファによって実施することができる。610において、マルチステージデータスニッファは、複数のマルチステージデータスニッファインスタンス(例えば、
図1のK個のマルチステージデータスニッファインスタンス124)を並列に実行することができる。各マルチステージデータスニッファインスタンスは、所与のファイルからデータを抽出するためのサブメソッドを実行することができる。620において、マルチステージデータスニッファは、複数のマルチステージデータスニッファインスタンスと並行してバルクデータスニッファインスタンス(例えば、
図1のバルクデータスニッファインスタンス176)を実行することができる。バルクデータスニッファインスタンスは、ソースデータベースから抽出されたデータによりデータマートデータベースを拡張することができる。
【0047】
図6は、所与のファイルからデータを抽出するための例示的なサブメソッド700のフローチャートを示す。サブメソッド700は、
図5の方法600に関して説明した複数のマルチステージデータスニッファインスタンスのうちの対応するマルチステージデータスニッファインスタンスによって実行されるサブメソッドを表すことができる。従って、並行して動作するサブメソッド700の複数のインスタンスが存在し得る。
【0048】
705において、マルチステージデータスニッファインスタンスの第1ステージ(例えば、
図1の第1ステージ150)は、データフィールド検証処理中に、所与のファイルの選択されたフォーマットを定義する設定ファイルに基づいて、一組のデータフィールド内の必要なデータフィールドおよび任意選択のデータフィールドに関して、所定の場所から抽出された所与のファイル(例えば、所与のファイル136)をスキャンすることができる。710において、マルチステージデータスニッファインスタンスの第2ステージ(例えば、
図1の第2ステージ160)は、データ値検証処理を実行して、選択されたフォーマットに関する一組のデータフィールドにおける各データフィールド内の値を検証して、一組のデータフィールド内の値の有効性を判定することができる。715において、マルチステージデータスニッファインスタンスの第3ステージ(例えば、
図1の第3ステージ168)は、所与のファイルの複数のフィールド内のデータを抽出することができる。720において、第3ステージは、設定ファイルにおいて定義された所定の一組のルールに基づいてデータを統合することができる。725において、第3ステージは、統合されたデータを特徴付けるデータマートデータベースにデータを出力することができる。データマートデータベースからのコンテンツは、例えば、GUIジェネレータ(例えば、
図1のGUIジェネレータ184)によって用いられて、(例えば、ブラウザまたはアプリケーションソフトウェアを介して)リモートコンピューティングプラットフォーム上に出力され得るデータマートデータベース内のコンテンツ(例えば、データ)をグラフィカルに表すダッシュボードおよび/またはチャートを生成することができる。
【0049】
上記した説明は一例である。もちろん、構成要素または方法の考えられる全ての組み合わせを説明することは不可能であるが、当業者は、さらに多くの組み合わせおよび置換が可能であることを認識するであろう。従って、本開示は、添付の特許請求の範囲を含む本出願の範囲内にあるそのような全ての変更、修正、および変形を包含することを意図している。本明細書で使用される場合、「含む」という用語は、限定することなく含むことを意味する。「に基づく」という用語は、少なくとも部分的に基づくことを意味する。さらに、開示または請求項が「1つの」、「第1の」、または「別の」要素、またはそれらの同等物を記載する場合、1つまたは複数のそのような要素を含むと解釈されるべきであり、2つ以上のそのような要素の要求も除外もされない。
以下に、上記実施形態から把握できる技術思想を付記として記載する。
[付記1]
マルチステージデータスニッファインスタンスを備える機械実行可能命令を有する非一時的機械可読媒体であって、前記マルチステージデータスニッファインスタンスは、
所与のファイルの選択されたフォーマットに関する設定ファイルに基づいて、前記所与のファイルを一組のデータフィールドに関してスキャンする第1ステージと、
前記選択されたフォーマットに関する前記一組のデータフィールド内の各データフィールド内の値を評価して、前記一組のデータフィールド内の値の有効性を判定する第2ステージと、
前記所与のファイルの前記一組のデータフィールド内のデータを抽出し、前記設定ファイルにおいて定義された所定の一組のルールに基づいてデータを統合し、統合されたデータを特徴付けるデータマートデータベースにデータを出力する第3ステージと、を含む、非一時的機械可読媒体。
[付記2]
前記データマートデータベース内のコンテンツに基づいてダッシュボードおよび/またはチャートを生成するグラフィカルユーザインタフェース(GUI)ジェネレータをさらに備える、付記1に記載の非一時的機械可読媒体。
[付記3]
前記マルチステージデータスニッファインスタンスの前記第2ステージは、前記一組のデータフィールド内の少なくとも1つのデータフィールドが欠落していることを検出したことに応答してエラーメッセージを生成する、付記1に記載の非一時的機械可読媒体。
[付記4]
前記エラーメッセージは、電子メール、プッシュ通知、およびショートメッセージサービス(SMS)メッセージのうちの1つまたは複数を介した連絡先への通知において提供される、付記3に記載の非一時的機械可読媒体。
[付記5]
前記マルチステージデータスニッファインスタンスは、前記所与のファイルのファイル名に基づいて、所定の場所における前記所与のファイルに関する前記選択されたフォーマットを識別するマルチステージデータスニッファのコンポーネントである、付記1に記載の非一時的機械可読媒体。
[付記6]
前記所定の場所は、前記設定ファイルに基づく、付記5に記載の非一時的機械可読媒体。
[付記7]
前記選択されたフォーマットは、前記設定ファイルにおいて定義された複数のフォーマットから選択される、付記5に記載の非一時的機械可読媒体。
[付記8]
前記マルチステージデータスニッファインスタンスは、バルクデータスニッファインスタンスをインスタンス化するマルチステージデータスニッファのコンポーネントであり、前記バルクデータスニッファインスタンスは、ソースデータベースからデータを抽出し、前記設定ファイルにおいて定義された前記所定の一組のルールに基づいて抽出データを統合するエージェントを含む、付記1に記載の非一時的機械可読媒体。
[付記9]
データを抽出するためのシステムであって、
機械実行可能命令を有する非一時的メモリと、
前記非一時的メモリにアクセスし、前記機械実行可能命令を実行するための処理ユニットと、を備え、前記機械実行可能命令は、複数のマルチステージデータスニッファインスタンスを並列に実行するマルチステージデータスニッファを備え、各マルチステージデータスニッファインスタンスは、
所定の場所から抽出された所与のファイルを、前記所与のファイルの選択されたフォーマットを定義する設定ファイルに基づいて、一組のデータフィールド内の必要なデータフィールドおよび任意選択のデータフィールドに関してスキャンする第1ステージと、
前記選択されたフォーマットに関する前記一組のデータフィールド内の各データフィールド内の値を評価して、前記一組のデータフィールド内の値の有効性を判定する第2ステージと、
前記所与のファイルの複数のフィールド内のデータを抽出し、前記設定ファイルにおいて定義された所定の一組のルールに基づいてデータを統合し、統合されたデータを特徴付けるデータマートデータベースにデータを出力する第3ステージと、を含む、システム。
[付記10]
前記データマートデータベース内のコンテンツに基づいてダッシュボードおよび/またはチャートを生成するグラフィカルユーザインタフェース(GUI)ジェネレータをさらに備える、付記9に記載のシステム。
[付記11]
各マルチステージデータスニッファインスタンスの前記第2ステージは、前記一組のデータフィールド内の少なくとも1つのデータフィールドが欠落していることを検出したことに応答してエラーメッセージを生成する、付記9に記載のシステム。
[付記12]
前記エラーメッセージは、電子メール、プッシュ通知、およびショートメッセージサービス(SMS)メッセージのうちの1つまたは複数を介して連絡先への通知において提供される、付記11に記載のシステム。
[付記13]
前記マルチステージデータスニッファは、前記所与のファイルのファイル名に基づいて、所定の場所における前記所与のファイルに関する前記選択されたフォーマットを識別する、付記9に記載のシステム。
[付記14]
前記所定の場所は、前記設定ファイルに基づく、付記13に記載のシステム。
[付記15]
前記選択されたフォーマットは、前記設定ファイルにおいて定義された複数のフォーマットから選択される、付記14に記載のシステム。
[付記16]
前記マルチステージデータスニッファは、ソースデータベースからデータを抽出するとともに、前記設定ファイルにおいて定義された前記所定の一組のルールに基づいて抽出データを統合するエージェントを含むバルクデータスニッファインスタンスをインスタンス化する、付記9に記載のシステム。
[付記17]
データを抽出するための方法であって、
コンピューティングプラットフォーム上で実行されるマルチステージデータスニッファが、複数のマルチステージデータスニッファインスタンスを並列に実行するステップを含み、各マルチステージデータスニッファインスタンスは、
所定の場所から抽出された所与のファイルを、前記所与のファイルの選択されたフォーマットを定義する設定ファイルに基づいて、一組のデータフィールド内の必要なデータフィールドおよび任意選択のデータフィールドに関してスキャンするステップと、
前記選択されたフォーマットに関する前記一組のデータフィールド内の各データフィールド内の値を検証して、前記一組のデータフィールド内の値の有効性を判定するステップと、
前記所与のファイルの複数のフィールド内のデータを抽出するステップと、
前記設定ファイルにおいて定義された所定の一組のルールに基づいて前記データを統合するステップと、
統合されたデータを特徴付けるデータマートデータベースにデータを出力するステップと、を含むサブメソッドを実行する、方法。
[付記18]
前記データマートデータベースのコンテンツに基づいて、ダッシュボードおよび/またはチャートを生成するステップをさらに含む、付記17に記載の方法。
[付記19]
前記複数のマルチステージデータスニッファインスタンスと並列に、ソースデータベースから抽出されたデータを用いて前記データマートデータベースを拡張するバルクデータスニッファインスタンスを実行するステップをさらに含む、付記17に記載の方法。
[付記20]
各サブメソッドに関して前記選択されたフォーマットが、個々の所与のファイルのファイル名に基づいて選択される、付記17に記載の方法。