JP2023533453A - データ抽出のためのマルチステージデータスニッファ - Google Patents

データ抽出のためのマルチステージデータスニッファ Download PDF

Info

Publication number
JP2023533453A
JP2023533453A JP2022579820A JP2022579820A JP2023533453A JP 2023533453 A JP2023533453 A JP 2023533453A JP 2022579820 A JP2022579820 A JP 2022579820A JP 2022579820 A JP2022579820 A JP 2022579820A JP 2023533453 A JP2023533453 A JP 2023533453A
Authority
JP
Japan
Prior art keywords
data
stage
sniffer
file
instance
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2022579820A
Other languages
English (en)
Inventor
エイ. フォーグラー、ニコラス
エム. フライシュマン、エバン
エイ. ヴェイル、リー
シー. レイトン、ジョーダン
ハイアット、リッチー
ジェームズ、ジェリー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Northrop Grumman Systems Corp
Original Assignee
Northrop Grumman Systems Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Northrop Grumman Systems Corp filed Critical Northrop Grumman Systems Corp
Publication of JP2023533453A publication Critical patent/JP2023533453A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/254Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/116Details of conversion of file system types or formats
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/258Data format conversion from or to a database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/04Real-time or near real-time messaging, e.g. instant messaging [IM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/55Push-based network services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/12Messaging; Mailboxes; Announcements
    • H04W4/14Short messaging services, e.g. short message services [SMS] or unstructured supplementary service data [USSD]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

マルチステージデータスニッファインスタンスは、所与のファイルの選択されたフォーマットに関する設定ファイルに基づいて、所与のファイルを一組のデータフィールドに関してスキャンする第1ステージを含むことができる。マルチステージデータスニッファインスタンスはまた、選択されたフォーマットに関する一組のデータフィールド内の各データフィールド内の値を評価して、一組のデータフィールド内の値の有効性を判定する第2ステージも含むことができる。マルチステージデータスニッファインスタンスは、所与のファイルの複数のフィールド内のデータを抽出し、設定ファイルにおいて定義された所定の一組のルールに基づいてデータを統合し、統合されたデータを特徴付けるデータマートデータベースにデータを出力する第3ステージをさらに含むことができる。

Description

本開示は、データ抽出(data extraction)に関する。より詳細には、本開示は、データを抽出するマルチステージデータスニッファ(multistage data sniffer)に関する。
データ抽出は、さらなるデータ処理またはデータ保存(データ移行)のために、(通常は、非構造化または不十分な構造化)データソースからデータを取り出す操作またはプロセスである。従って、中間抽出システムへのインポートの後には、通常、データワークフローの別ステージにエクスポートされる前に、データ変換および場合によってはメタデータの追加が続く。データ抽出という用語は、(実験)データが、測定デバイスまたは記録デバイスのような一次ソースからコンピュータに最初にインポートされるときに適用することができる。
非構造化データソースは、ウェブページ、電子メール、文書、PDF、スキャンされたテキスト、メインフレームレポート、スプールファイル、クラシファイド(classifieds)などを含み、これらはさらにセールスリードまたはマーケティングリードに使用される。これらの非構造化ソースからデータを抽出することは、かなりの技術的課題に発展したが、従来からデータ抽出は、物理的ハードウェアフォーマットの変化に対処する必要があり、現在のデータ抽出は、これらの非構造化データソースから、および異なるソフトウェアフォーマットからデータを抽出することが大半を占めている。
一例は、マルチステージデータスニッファインスタンスを備える機械実行可能命令を有する非一時的機械可読媒体に関する。マルチステージデータスニッファインスタンスは、所与のファイルの選択されたフォーマットに関する設定ファイルに基づいて、所与のファイルを一組のデータフィールドに関してスキャンする第1ステージを含むことができる。また、マルチステージデータスニッファインスタンスは、選択されたフォーマットに関する一組のデータフィールド内の各データフィールド内の値を評価して、一組のデータフィールド内の値の有効性を判定する第2ステージも含むことができる。マルチステージデータスニッファインスタンスは、所与のファイルの複数のフィールド内のデータを抽出し、設定ファイルにおいて定義された所定の一組のルールに基づいてデータを統合し(aggregates)、統合されたデータを特徴付けるデータマートデータベースにデータを出力する第3ステージをさらに含むことができる。
別の例は、データを抽出するためのシステムに関する。システムは、機械実行可能命令を有する非一時的メモリと、メモリにアクセスし、機械実行可能命令を実行するための処理ユニットとを含むことができる。機械実行可能命令は、複数のマルチステージデータスニッファインスタンスを並列に実行するマルチステージデータスニッファを含むことができる。各マルチステージデータスニッファインスタンスは、所定の場所から抽出された所与のファイルを、所与のファイルの選択されたフォーマットを定義する設定ファイルに基づいて、一組のデータフィールド内の必要なデータフィールドおよび任意選択のデータフィールドに関してスキャンする第1ステージを含むことができる。各マルチステージデータスニッファインスタンスは、選択されたフォーマットに関する一組のデータフィールド内の各データフィールド内の値を評価して、一組のデータフィールド内の値の有効性を判定する第2ステージも含むことができる。各マルチステージデータスニッファインスタンスは、所与のファイルの複数のフィールド内のデータを抽出し、設定ファイルにおいて定義された所定の一組のルールに基づいてデータを統合し、統合されたデータを特徴付けるデータマートデータベースにデータを出力する第3ステージをさらに含むことができる。
さらに別の例は、データを抽出するための方法に関する。本方法は、コンピューティングプラットフォーム上で実行されるマルチステージデータスニッファが、複数のマルチステージデータスニッファインスタンスを並列に実行することを含むことができ、各マルチステージデータスニッファインスタンスは、サブメソッド(sub-method)を実行する。サブメソッドは、所定の場所から抽出された所与のファイルを、所与のファイルの選択されたフォーマットを定義する設定ファイルに基づいて、一組のデータフィールド内の必要なデータフィールドおよび任意選択のデータフィールドに関してスキャンすることを含むことができる。サブメソッドは、選択されたフォーマットに関する一組のデータフィールド内の各データフィールド内の値を検証して、一組のデータフィールド内の値の有効性を判定することも含むことができる。サブメソッドは、所与のファイルの複数のフィールド内のデータを抽出し、設定ファイルにおいて定義された所定の一組のルールに基づいてデータを統合することをさらに含むことができる。サブメソッドは、統合されたデータを特徴付けるデータマートデータベースにデータを出力することをさらに含むことができる。
複数のソースからデータを抽出するためのシステムの一例を示す図である。 抽出データに基づいて生成されたダッシュボードの一例を示す図である。 ファイルからデータを抽出するための例示的な方法のタイミング図である。 データベースからデータを抽出するための例示的な方法の別のタイミング図である。 データを抽出するための例示的な方法のフローチャートである。 データを抽出するための例示的なサブメソッドのフローチャートである。
本開示は、コンピューティングプラットフォーム上で実行して、ファイルおよび/またはデータベースなどの複数のソースからデータを抽出するマルチステージデータスニッファに関する。マルチステージデータスニッファは、並列に動作する複数のマルチステージデータスニッファインスタンスをインスタンス化する(instantiate)ことができる。そのようなマルチステージデータスニッファインスタンスの各々は、所与のファイルの選択されたフォーマットに対応する設定に基づいて、所定の場所から抽出された所与のファイルを、一組のデータフィールド内の必要なデータフィールドおよび任意選択のデータフィールドに関してスキャンする第1ステージを含むことができる。選択されたフォーマットは、例えば、所与のファイルのファイル名に基づくことができる。第1ステージは、所与のファイルのコンテンツをステージングデータベースに書き込むことができる。
各マルチステージデータスニッファインスタンスは、ステージングデータベースから所与のファイルのコンテンツを取り出し、選択されたフォーマットに関する一組のデータフィールド内の各データフィールド内の値を評価して、一組のデータフィールド内の値の有効性を判定する第2ステージも含むことができる。検証済みのコンテンツ(例えば、検証済みのデータ値)は、データウェアハウスデータベースに書き込まれ得る。各マルチステージデータスニッファインスタンスは、検証済みのデータ(またはそのいくつかの一部)を抽出し、設定ファイルにおいて定義された所定の一組のルールに基づいて抽出データを統合する第3ステージも含むことができる。第3ステージは、統合されたデータを特徴付けるデータマートデータベースにデータを出力することができる。
加えて、マルチステージデータスニッファは、ソースデータベースから抽出されたデータを用いてデータマートデータベースを拡張するバルクデータスニッファインスタンスをインスタンス化することができる。バルクデータスニッファインスタンスは、複数のマルチステージデータスニッファインスタンスと並列に動作することができる。さらに、統合されたデータは、グラフィカルユーザインタフェース(GUI)ジェネレータが使用して、データマートデータベース内のデータのグラフィカル表現を生成することができる。ソースから抽出されるマルチステージデータは、設定ファイルにおいて識別された既知のフォーマットおよび例外的なフォーマットに準拠する。加えて、マルチステージデータスニッファは、データ抽出の並列処理を可能にし、遅い順次処理の必要性を回避する。
図1は、自動データ抽出のためのシステム100の一例を示す。システム100は、機械可読命令およびデータを格納するためのメモリ106と、メモリ106にアクセスして、機械可読命令を実行するための処理ユニット108とを含むことができるサーバ102(例えば、コンピューティングプラットフォーム)を含むことができる。メモリ106は、ランダムアクセスメモリ(RAM)、ソリッドステートドライブ、ハードディスクドライブ、またはそれらの組み合わせなどの非一時的機械可読メモリ(または他の媒体)に相当する。処理ユニット108は、1つまたは複数のプロセッサコアとして実施され得る。サーバ102は、パブリックネットワーク(例えば、インターネット)、プライベートネットワーク(例えば、ローカルエリアネットワーク(LAN))、またはそれらの組合せ(例えば、仮想プライベートネットワーク)などのネットワーク114を介して他のコンピューティングプラットフォームと通信するように構成されたネットワークインタフェース110(例えば、ネットワークインタフェースカード)を含むことができる。
サーバ102は、コンピューティングクラウドにおいて実施され得る。そのような状況では、処理ユニット108、ネットワークインタフェース110、およびメモリ106等のサーバ102の機能は、ハードウェア(例えば、コンピュータ、ルータ、メモリ、プロセッサ、またはそれらの組み合わせ)の複数のインスタンスにわたって実行する(即ち、分散される)アプリケーションを用いるハードウェアの単一インスタンスまたはハードウェアの複数のインスタンスを表すことができる。代替的に、サーバ102は、単一の専用サーバまたはワークステーション上で実施され得る。
メモリ106は、マルチステージデータスニッファ120を含むことができる。マルチステージデータスニッファ120は、K個のマルチステージデータスニッファインスタンス124を実行することができ、Kは、1以上の整数である。K個のマルチステージデータスニッファインスタンス124は、データ抽出を迅速にするために並列に動作することができる。図1は、第1のマルチステージデータスニッファインスタンス124(マルチステージデータスニッファ1)の詳細を示すが、第2から第Kのマルチステージデータスニッファインスタンス124も同様に動作できることが理解される。
マルチステージデータスニッファ120は、メモリ106に格納された設定ファイル128にアクセスすることができる。設定ファイル128は、データ抽出のためのパラメータを定義することができる。特に、設定ファイル128は、データストレージ134に格納された選択されたフォルダ130(例えば、ディレクトリ)または複数の選択されたフォルダを識別することができる。マルチステージデータスニッファ120は、選択されたフォルダ130内の所与のファイル136に対する変更を検出するように構成/プログラムされる。例えば、マルチステージデータスニッファ120は、選択されたフォルダ130内のファイルに対する変更に関して、選択されたフォルダ130に定期的に(例えば、10分ごとまたは10分未満ごとに)および/または非同期的に問い合わせるように構成することができる。所与のファイル136に対する変更は、例えば、所与のファイル136が選択されたフォルダ130内に作成されたことの表示、所与のファイル名の変更、および/または所与のファイルのコンテンツに対する修正であり得る。
一例として、コンピューティングプラットフォーム140は、所与のファイル136を変更するためにエンドユーザによって使用され得る。コンピューティングプラットフォーム140は、ネットワーク114上で通信することができる。コンピューティングプラットフォーム140は、例えば、デスクトップコンピュータ(例えば、ワークステーション)、ラップトップコンピュータ、またはモバイルコンピューティングデバイス(例えば、タブレットコンピュータまたはスマートフォン)として実施され得る。コンピューティングプラットフォーム140は、機械実行可能命令を格納するための非一時的メモリと、コンピューティングプラットフォーム140のメモリにアクセスし、機械可読命令を実行するための処理ユニット(例えば、1つまたは複数のプロセッサコア)とを含むことができる。
コンピューティングプラットフォーム140は、所与のファイル136を生成および/または修正するために使用可能なアプリケーションソフトウェア144(例えば、アプリ)を含むことができる。いくつかの例として、アプリケーションソフトウェア144は、スプレッドシートプログラム、ワードプロセッサ、プレゼンテーションプログラム、デスクトップパブリッシングアプリケーション、または消費型コンテンツを生成および/または修正するために使用可能な任意のアプリケーションとして実施することができる。アプリケーションソフトウェア144は、データストレージ134の選択されたフォルダ130にアクセスして、データストレージ134に格納された所与のファイル136を生成および/または修正するために使用することができる。
所与のファイル136に対する変更の検出に応答して、マルチステージデータスニッファ120は、フォルダのファイル名を調べて、ファイル名が、選択されたフォーマットとして参照することができる設定ファイル128内の複数のフォーマットのうちの1つのフォーマットに対して定義された文字列と一致する文字列を含むかどうかを判定することができる。より詳細には、設定ファイル128は、複数の文字列を含むことができ、各文字列がフォーマットに対応している。いくつかの例として、設定ファイルは、販売スプレッドシート、売掛金チャート、ホワイトペーパー、広告などに対応する文字列を含むことができる。ある所与の例(以下、「所与の例という」)では、設定ファイル128内の文字列は、販売チャートに対応する「販売」とすることができ、所与のファイル136は、スプレッドシートを表す。所与のファイル136が、設定ファイル128において識別された文字列と一致する文字列を含んでいない場合、所与のファイル136は無視され得る。加えて、所与のファイル136に対する変更(例えば、所与のファイル名の変更)を検出すると、マルチステージデータスニッファ120は、選択されたフォーマットを識別する試みにおいて、所与のファイル136のファイル名を再検査することができる。
所与のファイル136に対して選択されたフォーマットを識別することに応答して、マルチステージデータスニッファ120は、マルチステージデータスニッファインスタンス124をインスタンス化することができる。本例では、マルチステージデータスニッファ120は、所与のファイル136からデータを抽出するために第1のマルチステージデータスニッファインスタンス124をインスタンス化することが想定されるが、他の例では、K個のマルチステージデータスニッファインスタンス124のいずれも、所与のファイル136からデータを抽出することができる。
第1のマルチステージデータスニッファインスタンス124の第1ステージ150は、データフィールド検証処理を実行して、設定ファイル128において定義された、選択されたフォーマットに対する一組のデータフィールドの存在を検証することができる。データフィールド検証処理中に、第1ステージ150は、選択されたフォーマットに対して設定ファイル128において定義された一組のデータフィールド内の必要なデータフィールド(および、いくつかの例では任意選択のデータフィールド)に関して所与のファイル136をスキャンすることができる。データフィールドは、選択されたフォーマットの種類に基づいて変化し得る。例えば、所与の例を続けると、1つのフィールドを「週間売上」として実施することができ、別のフィールドを「販売された機器」とすることができる。所与の例におけるさらに別のフィールドは、「販売員名」であり得る。さらに、一組のデータフィールドは、必要なデータフィールドおよび任意選択のデータフィールドを含むことができる。任意選択のデータフィールドは、所与のファイル136内に存在しても、または存在しなくてもよいデータフィールドとすることができ、必要なデータフィールドは、所与のファイル136内に存在しなければならないデータフィールドとすることができる。所与の例では、必要なデータフィールドは、例えば、「販売員名」フィールドとすることができ、任意選択のフィールドは「費用」とすることができる。
第1ステージ150のデータフィールド検証処理は、選択されたフォーマットの一組のデータフィールド内の必要なデータフィールドが所与のファイル136内に存在するかどうかを判定する。第1ステージ150が、必要とされるデータフィールドのうちの1つまたは複数が欠落していることを検出した場合、第1ステージ150は、設定ファイル128において識別された受信者に対する通知において提供されるエラーメッセージを生成することができる。受信者は、例えば、所与のファイル136を生成するために採用されたコンピューティングプラットフォーム140に関連付けられたユーザおよび/または異なるユーザであり得る。エラーメッセージは、欠落している必要なデータフィールドまたは複数の欠落している必要なデータフィールドを識別することができる。エラーメッセージを含む通知は、電子メールメッセージ、プッシュ通知、および/または受信者宛のショートメッセージサービス(SMS)メッセージとして提供することができる。通知を提供することに応答して、第1ステージ150は、所与のファイル136に対する変更を検出することに応答して、マルチステージデータスニッファ120によって再インスタンス化され得るマルチステージデータスニッファインスタンス124を終了させることができる(例えば、所与のファイル136は、必要なデータフィールドを含むように修正される)。
さらに、いくつかの例では、第1ステージ150が、選択されたフォーマットに関する一組のデータフィールドの任意選択のデータフィールドが欠落していることを検出した場合、第1ステージ150は、警告メッセージを生成することができる。警告メッセージは、欠落している任意選択のデータフィールドを識別する受信者への通知において提供され得る。しかしながら、欠落している任意選択のデータフィールドを検出したことに応答して、第1ステージ150は、第1のマルチステージデータスニッファインスタンス124を終了させない。
選択されたフォーマットの一組のデータフィールドの必要なフィールドが存在する場合、第1のマルチステージデータスニッファインスタンス124の第1ステージ150は、所与のファイル136のコンテンツをステージングデータベース154内の1つのレコード(または複数のレコード)に書き込む。いくつかの例では、ステージングデータベース154は、例えば、ネットワーク114を介してアクセス可能な検索およびクエリ言語(SQL:search and query language)データベースとして実施され得る。他の例では、ステージングデータベース154は、サーバ102にローカルなデータベースとすることができる。さらに、いくつかの例では、第1ステージ150は、データフィールド検証処理の結果をログファイルに書き込むことができる。
いくつかの例では、第1のマルチステージデータスニッファインスタンス124の第2ステージ160は、周期的に(例えば、10分または10分未満ごとに)および/または非同期的に、ステージングデータベース154にアクセスするとともに、所与のファイル136に関連付けられたレコードにアクセスすることができる。他の例では、第1ステージ150は、コンテンツがステージングデータベース154に書き込まれないように、所与のファイル136のコンテンツを第2ステージ160に渡す。いずれの状況においても、所与のファイル136のコンテンツを受信することに応答して、第2ステージ160は、データ値検証処理を実行することができる。データ値検証処理中に、第2ステージは、一組のデータフィールド内の値に関して所与のファイル136のコンテンツをスキャンして、値が(例えば、許容可能な形態で)有効であるかどうかを判定する。
各データフィールドに対する有効性は、個々のデータフィールドのタイプに基づいて変化させることができ、有効性は、設定ファイル128によって定義することができる。例えば、特定のデータフィールドが数値である場合、特定のデータフィールドの有効性は、値の範囲によって定義することができる。所与の例では、「週間売上」に対する値は、0以上の範囲であり得る。逆に、特定のデータフィールドが文字列である場合、有効な形式であることは、文字のみが許容されることを示し得る。例えば、所与の例では、「販売員名」に対する値の有効な形式は、文字およびスペースのみを許可することができる(例えば、句読点または数字は許可されない)。
第2ステージ160が、一組のデータフィールドのデータ値(または複数のデータ値)が有効な形式ではないことを検出した場合、第2ステージ160は、設定ファイル128において識別された受信者に対する通知において提供されるエラーメッセージを生成することができる。エラーメッセージを含む通知は、電子メールメッセージ、プッシュ通知、および/または受信者宛のSMSメッセージとして提供することができる。そのような状況では、エラーメッセージは、データ値の欠陥(例えば、無関係な文字および/または範囲外)を示すことができる。通知を提供することに応答して、第2ステージ160は、所与のファイル136に対する変更を検出することに応答してマルチステージデータスニッファ120によって再インスタンス化され得る第1のマルチステージデータスニッファインスタンス124を終了させることができる(例えば、所与のファイル136は、有効な形式ではないデータフィールドの値を改訂するように修正される)。
一組のデータフィールド内の値が有効な形式である場合、第1のマルチステージデータスニッファインスタンス124の第2ステージ160は、所与のファイル136の検証済みのコンテンツ(例えば、検証済みのデータ値)をデータウェアハウスデータベース164内のレコード(または複数のレコード)に書き込む。いくつかの例では、データウェアハウスデータベース164は、例えば、ネットワーク114を介してアクセス可能なSQLデータベースとして実施され得る。他の例では、データウェアハウスデータベース164は、サーバ102にローカルなデータベースとすることができる。さらに、いくつかの例では、第1ステージ150は、データフィールド検証処理の結果をログファイルに書き込むことができる。さらに他の例では、第2ステージ160は、所与のファイル136のコンテンツを第1のマルチステージデータスニッファインスタンス124の第3ステージ168に渡すことができる。
いくつかの例では、第1のマルチステージデータスニッファインスタンス124の第3ステージ168は、周期的に(例えば、10分または10分未満ごとに)および/または非同期的に、データウェアハウスデータベース164にアクセスするとともに、所与のファイル136に関連付けられたレコードにアクセスすることができる。より具体的には、第3ステージ168は、データウェアハウスデータベース164にアクセスするとともに、抽出データと呼ぶことができる一部の検証済みのコンテンツを抽出することができる。抽出データは、データマートデータベース170に書き込むことができる。いくつかの例では、データマートデータベース170は、ネットワーク114を介してアクセス可能なSQLデータベースであり得る。他の例では、データマートデータベース170は、メモリ106に格納され得る。
さらに、第3ステージ168は、抽出データを、他のファイルおよび/またはデータベースなどの他のソースから抽出データと統合することができる。いくつかのそのような例では、抽出データは、同じファイル(例えば、所与のファイル136)内の異なるフィールドの値、および/または異なるソースからのフィールドの値と統合され得る。所与の例を続けると、抽出データは、「週間売上」の複数のインスタンスを表すことができ、これを統合して、「月間売上」に関する値を生成することができる。追加的に、または代替的に、所与の例では、フィールド「週間売上」を他の販売員の売上レポートと統合して、複数の販売員に関する「週間売上合計」の値を生成することができる。
いくつかの例では、大量のデータ(例えば、バルクデータ)が、マルチステージデータスニッファ120によって処理され得る。例えば、ソースデータベース172(例えば、SQLデータベース)は、データマートデータベース170へのインポートおよび/または統合のためのコンテンツを有するレコードを含むことができる。所与の例では、ソースデータベース172のレコードは、アーカイブされたレコードからの販売レポートを有する履歴データを含むことができる。そのような状況では、マルチステージデータスニッファ120は、バルクデータスニッファインスタンス176を起動して、ソースデータベース172内のデータをデータマートデータベース170にインポートおよび/または統合することができる。さらに、マルチステージデータスニッファ120は、インポートおよび/または統合を特徴付けるログエントリを書き込むことができる。
より具体的には、バルクデータスニッファインスタンス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に書き込みおよび/または統合し、処理を特徴付けるログエントリを生成することができる。
時間の経過とともに、複数のソースから(例えば、選択されたフォルダ130内の複数のファイルおよび/またはソースデータベース172から)、より多くのデータをデータマートデータベース170に統合することができる。データが大きくなるにつれて、視覚フォーマットでデータを編成することが有用になる。従って、グラフィカルユーザインタフェース(GUI)ジェネレータ184は、データマートデータベース170にアクセスし、統合された抽出データのグラフィカル表現を生成することができる。いくつかの例では、GUIジェネレータ184は、ウェブページジェネレータおよび/またはウェブサーバとして実施することができる。そのような状況では、統合された抽出データのグラフィカル表現は、グラフィカルチャート、ダッシュボードなどであり得る。さらに、GUIジェネレータ184は、抽出データのグラフィカル表現を、コンピューティングプラットフォーム140上で実行される(または異なるコンピューティングプラットフォーム上で実行される)ウェブブラウザ188などの要求元デバイスに提供することができる。
図2は、図1のGUIジェネレータ184によって生成された抽出データのグラフィカル表現として実施され得るダッシュボード200の一例を示す。ダッシュボード200は、複数のソースから統合された値を表す、特定のプロジェクトに関するプロジェクトコストを含む。さらに、ダッシュボード200は、データを視覚的に表すことができる複数の方法を示す複数のチャートを含む。使用されるチャートのタイプおよび数は、様々なソースから抽出されるデータのタイプに基づいて変化する。
図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によって実行されるデータ値検証処理は、データが一貫したフォーマットで提供されること、およびデータが完全であることを保証する。
図3は、自動データ抽出のための方法400を実行するためのシステム300による処理のタイミングの一例を示すタイミング図を示す。システム300は、図1のシステム100を実施するために使用することができる。従って、システム300は、ファイルにアクセスして更新するためのアプリケーションソフトウェアを有するコンピューティングプラットフォーム304(例えば、エンドユーザデバイス)を含むことができる。
405において、コンピューティングプラットフォーム304上で実行されるアプリケーションソフトウェアを使用して、ファイルを変更して、更新されたファイルを生成または修正することができる。所与のファイル136に対する変更は、例えば、ファイルのコンテンツおよび/またはファイル名に対する変更、または新たなファイルの生成であり得る。410において、更新されたファイルは、ネットワーク(例えば、プライベートネットワークおよび/またはインターネットなどのパブリックネットワーク)を介してデータストレージ310内の選択されたフォルダ308に書き込まれる。
415において、マルチステージデータスニッファ120は、選択されたフォルダ308内の更新されたファイルを検出するために、選択されたフォルダ308に周期的および/または非同期的に問い合わせるように構成/プログラムされる。更新されたファイルが、設定ファイル内の選択されたフォーマットの識別子に対応する文字列を含む場合、420において、マルチステージデータスニッファ316は、マルチステージデータスニッファインスタンス320をインスタンス化することができる。425において、マルチステージデータスニッファインスタンス320の第1ステージ324は、選択されたフォルダ308から更新されたファイルのコピーを取り出す。
430において、マルチステージデータスニッファインスタンス320の第1ステージ324は、更新されたファイルに対してデータフィールド検証処理を実行することができる。データフィールド検証処理は、更新されたファイルが、選択されたフォーマットに関する一組のデータフィールドにおける各必要なデータフィールドを含んでいるかを検証することができる。取り出されたファイルが、1つまたは複数の必要とされるデータフィールドを欠落している場合、マルチステージデータスニッファインスタンス320の第1ステージ324は、欠落を記述する(設定ファイルにおいて識別される)受信者に対する通知を(例えば、エラーメッセージとして)生成し、マルチステージデータスニッファインスタンス320を終了させて、方法400は、ノード「A」に戻る。逆に、データフィールド検証処理が、更新されたファイルが選択されたフォーマットに関する一組のデータフィールドにおける各必要なフィールドを含んでいることを示す場合、435において、第1ステージ324は、更新されたファイルのコンテンツをステージングデータベース328に書き込む。
440において、マルチステージデータスニッファインスタンス320の第2ステージ334は、ステージングデータベース328から新たに書き込まれたコンテンツを周期的および/または非同期的に取り出すことができる。445において、マルチステージデータスニッファインスタンス320の第2ステージ334は、取り出されたコンテンツに対してデータ値検証処理を実行することができる。データ値検証処理は、取り出されたコンテンツのデータフィールド内の値が有効な形式(例えば、有効な数値範囲、文字列内の適切な文字など)であるかどうかを判定することができる。1つまたは複数のデータ値が有効な形式でない場合、マルチステージデータスニッファインスタンス320の第2ステージ334は、更新されたファイルの欠陥を示す通知を受信者に対して生成することができる。そのような状況では、第2ステージ334は、マルチステージデータスニッファインスタンス320を終了することができ、方法400は、ノード「A」に戻ることができる。取り出されたコンテンツ内の値が有効な形式である場合、450において、第2ステージ334は、検証済みのコンテンツをデータウェアハウスデータベース338に書き込むことができる。
455において、マルチステージデータスニッファインスタンス320の第3ステージ342は、データウェアハウスデータベース338から新たに書き込まれた検証済みのコンテンツからコンテンツを周期的および/または非同期的に抽出することができる。抽出されるコンテンツは、例えば、データウェアハウスデータベース338に書き込まれた一部の検証済みのコンテンツとすることができる。
460において、マルチステージデータスニッファインスタンス320の第3ステージ342は、抽出されたコンテンツをデータマートデータベース348内の他のコンテンツと統合することができ、462において、データがデータマートデータベース348に書き込まれる(例えば、データマートデータベース内のコンテンツを拡張する)。465において、データマートデータベース348からのコンテンツは、GUIジェネレータ350によって提供および/または取り出され得る。470において、GUIジェネレータ350は、統合されたデータのグラフィカル表現を生成することができる。475において、統合されたデータのグラフィカル表現(例えば、ダッシュボードおよび/またはチャート)は、ディスプレイ上に出力するために、ネットワークを介して(例えば、ウェブページとして)コンピューティングプラットフォーム304または異なるコンピューティングプラットフォームに提供され得る。
図4は、自動データ抽出のための方法500を実行するための図3のシステム300による処理のタイミングの一例を示す別のタイミング図を示す。説明を簡単にするために、図3および図4では、同じ構成または処理を示すのに同じ参照番号を使用する。さらに、説明を簡単にするために、いくつかの参照番号は再導入されない。方法500は、データベースからのバルクデータ抽出処理を実施するために使用することができる。方法500は、図3の方法400と同時に動作することができる。
505において、周期的および/または非同期的に、マルチステージデータスニッファ316は、更新された(例えば、新たなまたは修正された)コンテンツに関してソースデータベース360に問い合わせることができる。更新されたコンテンツを検出することに応答して、510において、マルチステージデータスニッファ316は、バルクデータスニッファインスタンス364をインスタンス化することができる。515において、バルクデータスニッファインスタンス364のSSISエージェント368は、ソースデータベース360からコンテンツを取り出すことができる。520において、バルクデータスニッファインスタンス364のSSISエージェント368は、ステージングデータベース328にコンテンツを書き込むことができる。
また、バルクデータスニッファインスタンス364は、図3に関して説明した方法で動作する第2ステージ334および第3ステージ342のインスタンスを含む。説明を簡単にするために、これらの処理は繰り返さない。
図3および図4に示すように、システム300は、方法400および500により異なるソースからデータを自動的に抽出するために使用することができる。さらに、方法400および方法500の複数のインスタンスは、並列に実行することができる。従って、システム300によって、データを抽出するために遅いシリアル化された処理を実施する必要性が回避される。
上述の構造的及び機能的特徴を考慮して、例示的な方法は、図5及び図6を参照することによって、より良く理解されるであろう。説明を簡単にするために、図5および図6の例示的な方法は、連続して実行されるものとして示され、説明されているが、他の例においていくつかの動作が、本明細書において示され、かつ説明されているものとは異なる順序で、および/または同時に行われ得るため、本例は、図示されている順序によって制限されないことを理解および認識されたい。さらに、方法を実施するために全ての説明された動作が実行される必要はない。図5および図6の例示的な方法は、非一時的機械可読媒体に格納された命令として実施され得る。命令は、処理ユニットによってアクセスされ、本明細書で開示される方法を実行するために実行され得る。
図5は、データを抽出するための例示的な方法600のフローチャートを示す。方法500は、例えば、図1のサーバ102上で実行されるマルチステージデータスニッファ120など、コンピューティングプラットフォーム上で実行されるマルチステージデータスニッファによって実施することができる。610において、マルチステージデータスニッファは、複数のマルチステージデータスニッファインスタンス(例えば、図1のK個のマルチステージデータスニッファインスタンス124)を並列に実行することができる。各マルチステージデータスニッファインスタンスは、所与のファイルからデータを抽出するためのサブメソッドを実行することができる。620において、マルチステージデータスニッファは、複数のマルチステージデータスニッファインスタンスと並行してバルクデータスニッファインスタンス(例えば、図1のバルクデータスニッファインスタンス176)を実行することができる。バルクデータスニッファインスタンスは、ソースデータベースから抽出されたデータによりデータマートデータベースを拡張することができる。
図6は、所与のファイルからデータを抽出するための例示的なサブメソッド700のフローチャートを示す。サブメソッド700は、図5の方法600に関して説明した複数のマルチステージデータスニッファインスタンスのうちの対応するマルチステージデータスニッファインスタンスによって実行されるサブメソッドを表すことができる。従って、並行して動作するサブメソッド700の複数のインスタンスが存在し得る。
705において、マルチステージデータスニッファインスタンスの第1ステージ(例えば、図1の第1ステージ150)は、データフィールド検証処理中に、所与のファイルの選択されたフォーマットを定義する設定ファイルに基づいて、一組のデータフィールド内の必要なデータフィールドおよび任意選択のデータフィールドに関して、所定の場所から抽出された所与のファイル(例えば、所与のファイル136)をスキャンすることができる。710において、マルチステージデータスニッファインスタンスの第2ステージ(例えば、図1の第2ステージ160)は、データ値検証処理を実行して、選択されたフォーマットに関する一組のデータフィールドにおける各データフィールド内の値を検証して、一組のデータフィールド内の値の有効性を判定することができる。715において、マルチステージデータスニッファインスタンスの第3ステージ(例えば、図1の第3ステージ168)は、所与のファイルの複数のフィールド内のデータを抽出することができる。720において、第3ステージは、設定ファイルにおいて定義された所定の一組のルールに基づいてデータを統合することができる。725において、第3ステージは、統合されたデータを特徴付けるデータマートデータベースにデータを出力することができる。データマートデータベースからのコンテンツは、例えば、GUIジェネレータ(例えば、図1のGUIジェネレータ184)によって用いられて、(例えば、ブラウザまたはアプリケーションソフトウェアを介して)リモートコンピューティングプラットフォーム上に出力され得るデータマートデータベース内のコンテンツ(例えば、データ)をグラフィカルに表すダッシュボードおよび/またはチャートを生成することができる。
上記した説明は一例である。もちろん、構成要素または方法の考えられる全ての組み合わせを説明することは不可能であるが、当業者は、さらに多くの組み合わせおよび置換が可能であることを認識するであろう。従って、本開示は、添付の特許請求の範囲を含む本出願の範囲内にあるそのような全ての変更、修正、および変形を包含することを意図している。本明細書で使用される場合、「含む」という用語は、限定することなく含むことを意味する。「に基づく」という用語は、少なくとも部分的に基づくことを意味する。さらに、開示または請求項が「1つの」、「第1の」、または「別の」要素、またはそれらの同等物を記載する場合、1つまたは複数のそのような要素を含むと解釈されるべきであり、2つ以上のそのような要素の要求も除外もされない。
上記した説明は一例である。もちろん、構成要素または方法の考えられる全ての組み合わせを説明することは不可能であるが、当業者は、さらに多くの組み合わせおよび置換が可能であることを認識するであろう。従って、本開示は、添付の特許請求の範囲を含む本出願の範囲内にあるそのような全ての変更、修正、および変形を包含することを意図している。本明細書で使用される場合、「含む」という用語は、限定することなく含むことを意味する。「に基づく」という用語は、少なくとも部分的に基づくことを意味する。さらに、開示または請求項が「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に記載の方法。

Claims (20)

  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に記載の方法。
JP2022579820A 2020-07-09 2021-05-28 データ抽出のためのマルチステージデータスニッファ Pending JP2023533453A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/925,118 US11314765B2 (en) 2020-07-09 2020-07-09 Multistage data sniffer for data extraction
US16/925,118 2020-07-09
PCT/US2021/034703 WO2022010590A1 (en) 2020-07-09 2021-05-28 Multistage data sniffer for data extraction

Publications (1)

Publication Number Publication Date
JP2023533453A true JP2023533453A (ja) 2023-08-03

Family

ID=76502892

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022579820A Pending JP2023533453A (ja) 2020-07-09 2021-05-28 データ抽出のためのマルチステージデータスニッファ

Country Status (4)

Country Link
US (1) US11314765B2 (ja)
EP (1) EP4179431A1 (ja)
JP (1) JP2023533453A (ja)
WO (1) WO2022010590A1 (ja)

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5560005A (en) 1994-02-25 1996-09-24 Actamed Corp. Methods and systems for object-based relational distributed databases
AU707240B2 (en) 1994-09-21 1999-07-08 Intellectual Ventures Fund 83 Llc A link manager for managing links integrating data between application programs
US6199068B1 (en) 1997-09-11 2001-03-06 Abb Power T&D Company Inc. Mapping interface for a distributed server to translate between dissimilar file formats
GB2354850B (en) 1999-09-29 2002-01-09 Ibm Data processing with reuse of existing message structure to allow access to distribution list
US7076541B1 (en) 2000-06-05 2006-07-11 Register.Com, Inc. Method and apparatus providing distributed domain management capabilities
US7284008B2 (en) 2000-08-30 2007-10-16 Kontera Technologies, Inc. Dynamic document context mark-up technique implemented over a computer network
US7260777B2 (en) 2001-08-17 2007-08-21 Desknet Inc. Apparatus, method and system for transforming data
GB0107882D0 (en) 2001-03-29 2001-05-23 Ibm Parsing messages with multiple data formats
US20030208493A1 (en) 2002-04-12 2003-11-06 Hall Bradley S. Object relational database management system
EP2463627B1 (en) 2002-04-30 2017-07-19 Intel Corporation Navigation system using corridor maps
US7325042B1 (en) 2002-06-24 2008-01-29 Microsoft Corporation Systems and methods to manage information pulls
US7302678B2 (en) 2003-09-10 2007-11-27 Sap Aktiengesellschaft Symmetric transformation processing system
US20050108206A1 (en) 2003-11-14 2005-05-19 Microsoft Corporation System and method for object-oriented interaction with heterogeneous data stores
US20060143220A1 (en) 2003-12-31 2006-06-29 Spencer Herman Jr Software application framework using meta-data defined object definitions
US20050216917A1 (en) 2004-03-23 2005-09-29 Srivatsa Krishnaswamy Method and system for data object transformation
US20060090155A1 (en) 2004-10-12 2006-04-27 Gurevich Michael N Methods and apparatus for message oriented invocation
US7979405B2 (en) 2005-01-14 2011-07-12 Microsoft Corporation Method for automatically associating data with a document based on a prescribed type of the document
GB0514191D0 (en) 2005-07-12 2005-08-17 Ibm Methods, apparatus and computer programs for optimized parsing and service invocation
JP4997749B2 (ja) 2005-12-07 2012-08-08 富士ゼロックス株式会社 文書処理方法、プログラム及びシステム
GB0613178D0 (en) 2006-07-01 2006-08-09 Ibm An apparatus for deferred handling of a message
US20080033968A1 (en) 2006-08-07 2008-02-07 Quan Dennis A Methods and apparatus for input specialization
US20080071735A1 (en) 2006-09-05 2008-03-20 International Business Machines Corporation Method, apparatus, and computer progam product for data transformation
US20100211539A1 (en) * 2008-06-05 2010-08-19 Ho Luy System and method for building a data warehouse
US9514205B1 (en) 2015-09-04 2016-12-06 Palantir Technologies Inc. Systems and methods for importing data from electronic data files
US11321339B2 (en) * 2017-05-05 2022-05-03 Thoughtspot, Inc. Data integration for distributed and massively parallel processing environments
US11042562B2 (en) * 2019-10-11 2021-06-22 Sap Se Scalable data extractor
US20210152650A1 (en) * 2019-11-18 2021-05-20 Salesforce.Com, Inc. Extraction of data from secure data sources to a multi-tenant cloud system
EP4081910A4 (en) * 2019-12-24 2024-01-10 Consilient Labs Inc EPISODIC MEMORY REFERENCES, DATA INGESTION AND RELATED QUERY SYSTEMS, INCLUDING EXAMPLES OF AUTONOMOUS INTELLIGENT AGENTS

Also Published As

Publication number Publication date
EP4179431A1 (en) 2023-05-17
US11314765B2 (en) 2022-04-26
US20220012260A1 (en) 2022-01-13
WO2022010590A1 (en) 2022-01-13

Similar Documents

Publication Publication Date Title
US11256852B2 (en) Converting portions of documents between structured and unstructured data formats to improve computing efficiency and schema flexibility
US8886648B1 (en) System and method for computation of document similarity
US6631382B1 (en) Data retrieval method and apparatus with multiple source capability
US7562088B2 (en) Structure extraction from unstructured documents
US9047346B2 (en) Reporting language filtering and mapping to dimensional concepts
US7739309B2 (en) Method, system, and computer-readable medium for merging data from multiple data sources for use in an electronic document
US11972201B2 (en) Facilitating auto-completion of electronic forms with hierarchical entity data models
US8429740B2 (en) Search result presentation
US20170322930A1 (en) Document based query and information retrieval systems and methods
US10671671B2 (en) Supporting tuples in log-based representations of graph databases
US9740698B2 (en) Document merge based on knowledge of document schema
US6915303B2 (en) Code generator system for digital libraries
US9053112B2 (en) Automated data validation
US20070073675A1 (en) Database query translation
AU2015331030A1 (en) System generator module for electronic document and electronic file
US10445370B2 (en) Compound indexes for graph databases
US10942910B1 (en) Journal queries of a ledger-based database
US11487819B2 (en) Threaded leaf nodes in database journal
US11310054B2 (en) Symmetric function for journaled database proof
WO2018226255A1 (en) Functional equivalence of tuples and edges in graph databases
US11487733B2 (en) Database journal redaction
CN108694172B (zh) 信息输出方法和装置
CN110704635B (zh) 一种知识图谱中三元组数据的转换方法及装置
US11550777B2 (en) Determining metadata of a dataset
US11314765B2 (en) Multistage data sniffer for data extraction

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221222

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20221222

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20240130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240305

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240507