JP6066927B2 - データパターン情報の生成 - Google Patents

データパターン情報の生成 Download PDF

Info

Publication number
JP6066927B2
JP6066927B2 JP2013551372A JP2013551372A JP6066927B2 JP 6066927 B2 JP6066927 B2 JP 6066927B2 JP 2013551372 A JP2013551372 A JP 2013551372A JP 2013551372 A JP2013551372 A JP 2013551372A JP 6066927 B2 JP6066927 B2 JP 6066927B2
Authority
JP
Japan
Prior art keywords
data
records
field
fields
record
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.)
Active
Application number
JP2013551372A
Other languages
English (en)
Other versions
JP2014511587A (ja
Inventor
アーレン アンダーソン
アーレン アンダーソン
Original Assignee
アビニシオ テクノロジー エルエルシー
アビニシオ テクノロジー エルエルシー
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 アビニシオ テクノロジー エルエルシー, アビニシオ テクノロジー エルエルシー filed Critical アビニシオ テクノロジー エルエルシー
Publication of JP2014511587A publication Critical patent/JP2014511587A/ja
Application granted granted Critical
Publication of JP6066927B2 publication Critical patent/JP6066927B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2468Fuzzy queries
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • 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/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • 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/23Updating
    • G06F16/2365Ensuring data consistency and integrity
    • 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/21Design, administration or maintenance of databases

Description

関連出願の相互参照
本出願は、2011年1月28日に出願された米国特許出願第61/437,361号明細書の優先権を主張するものである。
本明細書は、データパターン情報の生成に関する。
データベースシステムでは、データを、さまざまなフォーマットのうちのいずれかで、個々にアクセス可能なユニット又は「レコード」に記憶することができる。各レコードは、クレジットカード取引などの論理的エンティティに対応し、通常、レコードを一意に識別するのに使用される、関連した主キーを有することができる。レコードは、レコードフォーマットのそれぞれのフィールドに関連付けられた多様な値を含むことができる。レコードは、1又は2以上のファイル内(例えば、フラットファイル又はXMLファイルなどの構造化データファイル)に記憶することができる。圧縮データベースシステムでは、個々のレコード又はレコード内の値を、記憶時に圧縮し、アクセス時に展開して、システムのストレージ要件を削減することができる。
一態様では、概して、方法が、複数のレコードを含む少なくとも1つのデータセットをデータストレージシステムに記憶するステップと、レコードにおけるデータパターンを表すコードを生成するために、データストレージシステムに接続されたデータ処理システムにおいて、複数のレコードを処理するステップであって、データパターンが、レコードのそれぞれに含まれる1又は2以上のフィールドにおける、データのポピュレーション又はデータの有効性のうちの少なくとも1つを表す、処理するステップとを含み、処理するステップが、複数のレコードにおける多様なレコードのそれぞれについて、1又は2以上の要素を符号化するコードをレコードに関連付けるステップを含み、それぞれの要素が、要素値のセットの1つとして、対応するフィールド若しくはフィールドの組み合わせの状態又はプロパティを表し、少なくとも第1のコードの少なくとも1つの要素について、セット内の要素値の数が、データセットにおける複数のレコードのすべてにわたって対応するフィールド若しくはフィールドの組み合わせにおいて発生するデータ値の総数よりも少ない。
態様は、以下の特徴のうちの1又は2以上を含むことができる。
第1のコードの少なくとも1つの要素について、セット内の少なくとも2つの要素値が、ポピュレートされている、又はポピュレートされていないときのフィールドの状態をそれぞれ表す。
ポピュレートされていない状態は、ヌル状態、非存在状態、又は空状態のうちの1つを含む。
ヌル状態は、所定の値を有するフィールドの状態を含む。
所定の値は、1又は2以上の空白文字を含む。
非存在状態は、レコードにおいて欠けているフィールドを含む。
空状態は、対応するデータ値を有さないフィールドを含む。
第1のコードの少なくとも1つの要素について、セット内の少なくとも2つの要素値が、フィールドに関連付けられたバリデーションルールに従って、有効である又は有効でないフィールドにおいて発生するデータ値を表す。
バリデーションルールは、データ値のデータタイプに少なくとも部分的に基づいて、有効値を定義する。
バリデーションルールは、列挙された値のリストを参照することによって、少なくとも部分的に有効値を定義する。
第1のコードの少なくとも1つの要素について、セット内の1又は2以上の要素値が、第1のフィールドにおいて発生するデータ値がターゲットデータ値と一致する度合いを表す。
ターゲットデータ値は、第2のフィールドにおいて発生するデータ値である。
セット内の少なくとも3つの要素値が、第1のフィールドにおいて発生するデータ値が、不一致、完全一致、又はファジーマッチとしてそれぞれターゲットデータ値に一致する度合いを表す。
第1のコードの少なくとも1つの要素について、セット内の少なくとも1つの要素値が、第1のレコードのフィールド若しくはフィールドの組み合わせにおいて発生する1又は2以上の値から、及び第1のレコードとは異なる少なくとも第2のレコードを含む1又は2以上のレコードのセットのフィールド若しくはフィールドの組み合わせにおいて発生する1又は2以上の値から、計算されるデータ値を符号化する。
第1のレコードが、第1のデータセット内にあり、第2のレコードが、第1のデータセットとは異なる第2のデータセット内にある。
少なくとも第2のコードの少なくとも1つの要素について、セット内の少なくとも1つの要素値が、フィールドにおいて発生する所定のデータ値を表す。
第2のコードの要素についての要素値のセット内の要素値の数が、データセットにおける複数のレコードのすべてにわたって対応するフィールド又はフィールドの組み合わせにおいて発生するデータ値の総数に等しい。
別の態様では、概して、コンピュータ可読ストレージ媒体が、コンピュータプログラムを記憶し、コンピュータプログラムは、コンピュータシステムに、複数のレコードを含む少なくとも1つのデータセットをデータストレージシステムに記憶させ、レコードにおけるデータパターンを表すコードを生成するために、データストレージシステムに接続された、コンピュータシステムの少なくとも1つのプロセッサにおいて、複数のレコードを処理させるための命令を含み、データパターンが、レコードのそれぞれに含まれる1又は2以上のフィールドにおける、データのポピュレーション又はデータの有効性のうちの少なくとも1つを表し、処理させることが、複数のレコードにおける多様なレコードのそれぞれについて、1又は2以上の要素を符号化するコードをレコードに関連付けることを含み、それぞれの要素が、要素値のセットの1つとして、対応するフィールド若しくはフィールドの組み合わせの状態又はプロパティを表し、少なくとも第1のコードの少なくとも1つの要素について、セット内の要素値の数が、データセットにおける複数のレコードのすべてにわたって対応するフィールド若しくはフィールドの組み合わせにおいて発生するデータ値の総数よりも少ない。
別の態様では、概して、システムが、複数のレコードを含む少なくとも1つのデータセットを記憶するように構成されたデータストレージシステムと、レコードにおけるデータパターンを表すコードを生成するために、複数のレコードを処理するように構成された、データストレージシステムに接続されたデータ処理システムであって、データパターンが、レコードのそれぞれに含まれる1又は2以上のフィールドにおける、データのポピュレーション又はデータの有効性のうちの少なくとも1つを表す、システムとを含み、処理することが、複数のレコードにおける多様なレコードのそれぞれについて、1又は2以上の要素を符号化するコードをレコードに関連付けることを含み、それぞれの要素が、要素値のセットの1つとして、対応するフィールド若しくはフィールドの組み合わせの状態又はプロパティを表し、少なくとも第1のコードの少なくとも1つの要素について、セット内の要素値の数が、データセットにおける複数のレコードのすべてにわたって対応するフィールド若しくはフィールドの組み合わせにおいて発生するデータ値の総数よりも少ない。
別の態様では、概して、システムが、複数のレコードを含む少なくとも1つのデータセットを記憶するための手段と、レコードにおけるデータパターンを表すコードを生成するために、複数のレコードを処理するための手段であって、データパターンが、レコードのそれぞれに含まれる1又は2以上のフィールドにおける、データのポピュレーション又はデータの有効性のうちの少なくとも1つを表す、手段とを含み、処理することが、複数のレコードにおける多様なレコードのそれぞれについて、1又は2以上の要素を符号化するコードをレコードに関連付けることを含み、それぞれの要素が、要素値のセットの1つとして、対応するフィールド若しくはフィールドの組み合わせの状態又はプロパティを表し、少なくとも第1のコードの少なくとも1つの要素について、セット内の要素値の数が、データセットにおける複数のレコードのすべてにわたって対応するフィールド若しくはフィールドの組み合わせにおいて発生するデータ値の総数よりも少ない。
別の態様では、概して、方法が、複数のレコードを含む少なくとも1つのデータセットをデータストレージシステムに記憶するステップと、レコードにおけるデータパターンの表現を生成するために、データストレージシステムに接続されたデータ処理システムにおいて、複数のレコードを処理するステップとを含み、処理するステップが、複数のレコードのフィールド若しくはフィールドの組み合わせの1又は2以上の状態又はプロパティを分析するステップと、レコードにおけるデータパターンの表現として、1又は2以上のプロパティを示すためのコードを生成するステップとを含む。
別の態様では、概して、方法が、複数のレコードを含む少なくとも1つのデータセットをデータストレージシステムに記憶するステップと、レコードにおけるデータパターンの表現を生成するために、データストレージシステムに接続されたデータ処理システムにおいて、複数のレコードを処理するステップとを含み、処理するステップが、複数のレコードにおけるレコードごとに、レコードのフィールド若しくはフィールドの組み合わせに対応する1又は2以上のデータ要素を符号化するコードを指定するステップを含み、1又は2以上のデータ要素が、対応するフィールドがポピュレートされているかどうかを表す。
態様は、以下の効果のうちの1又は2以上を含むことができる。
データセットがデータ品質について分析されるとき、フィールドが非存在である(レコードの中に存在しない)レコードはいくつあるか、フィールドが空である(文字がない)レコードはいくつあるか、フィールドがブランクである(1又は2以上の空白文字)レコードはいくつあるか、フィールドがヌルである(NULLに関連付けられた特定の値を収容する)レコードはいくつあるか、フィールドがポピュレートされている(存在し、空又はブランクではない)レコードはいくつあるか、或いは、バリデーションルールのセットに従って(例えば、データタイプに従って、又は列挙された値のリストを参照することによって)フィールドが有効である、又は無効であるレコードはいくつあるかを示す、フィールドごとのカウントがしばしば計算される。フィールド若しくはフィールドの組み合わせのポピュレーションの状態は、これらの条件若しくは条件の組み合わせのうちの1又は2以上から形成されてもよく、より一般的には、ポピュレーションの状態は、フィールド若しくはフィールドの組み合わせにおける値の、コードに対する何らかの関連である。レコードにおいて、選択されるフィールド又はフィールドの組み合わせのセットについてのポピュレーションの状態の集まりを、選択されるフィールド又はフィールドの組み合わせのポピュレーションの状態を集合的に集約する、データパターンコードに符号化することができる。データパターンコードを使用して、ポピュレーションの状態に加えて、又はポピュレーションの状態の代わりに、他のプロパティを示すこともまたできる。各データパターンコードを有するレコードの数を、計算することができる。得られたデータパターンコードのセットは、データセットにおけるポピュレーションの多様性を反映し、各パターンに関連付けられたカウントは、データセットにおけるそのパターンの広がりを示す。
データパターンコードを使用して、データセットのデータ品質を測定することができる。いくつかのデータパターンコードは、有効とみなされ(ポピュレーションのパターンが受け入れられる)、一方、他はみなされないことがある。例えば、特定のフィールドは必須であってもよく、言い換えれば、特定のフィールドは、あらゆるレコードにおいて存在してポピュレートされることを必要とされる。すべての必須フィールドがポピュレートされている場合に値1を有し、いずれかの必須フィールドがポピュレートされていない場合に0を有する、データパターンコードが計算されてもよい。データパターンコード0を有するレコードの小部分は、いくつかの必須フィールドがポピュレートされていない理由でデータ品質問題を有する、データセットにおけるレコードの小部分を示す。より改良されたデータパターンコードは、どの必須フィールドがポピュレートされていないかの識別及び定量化を可能にすることになる。
いくつかのデータセットにおいては、いくつかのフィールドが条件付きで必須であり、すなわち、あるフィールドが存在する、又は特定の値を有する場合には、別のフィールドが存在しなければならない。条件が既知であるときにはこれを検証し、又は条件が既知でないときには、データパターンコードの分布からそれを推測するように、データパターンコードを構築することができる。この後者は、データパターンコード内でフィールド間の相関関係を求めることによって、隠れたビジネスルールを検出することができるので、利用価値がある。例えば、取引データセットが、税が徴収された場所にあるストアについてのみポピュレートされる税フィールドを収容することがある。データにおけるフィールドの共同ポピュレーションの優越から識別される、税フィールドのポピュレーションと特定のストア_idとの相関関係が、これを明らかにすることになる。相関関係が乱されているとき、それはデータ品質問題の証拠である。
データパターンコードを使用して、フィールドのポピュレーションを認めるだけでなく、異なる種類の無効性(すなわち、フィールドの中に保持されている、フィールドにとって不適切なデータ、例えば数値フィールドにおける非数値文字)を検出し、識別することもまたできる。これは、データ品質を定量化するために有用であり、アプリケーションをテストするためにもまた有用である。それぞれ実在のデータパターンコードを有するソースデータから(例えば、アプリケーションが最終的に処理することになる実際の生産データから)レコードのサンプルを抽出することによって、テストデータセットを構築することができる。有効性に基づくデータパターンコードでは、コードの多くが、無効なデータを収容するレコードを識別することができる。関連するレコードを使用して、(実際に発生する)粗悪なデータに対するアプリケーションの堅牢性をテストすることができる。これは、そうでなければ、アプリケーションが生産において展開されるまで行うことができないことがあるテストを可能にする。ソフトウェア開発ライフサイクルのより初期にそれらのレコードが検出されれば、問題の修正はより安価であることが多い。
データパターンコードを、(例えば、ポピュレーション又は有効性以外の)他の評価に反映することができる。例えば、フィールド又はフィールドの組み合わせの状態が、何らかの点で注目に値することがあり、この場合、その状態は、同じデータセットの他のレコードにおいて、又は他のデータセットのレコードにおいて、フィールドの値を有する所与のレコードの、フィールド若しくはフィールドの組み合わせにおける値を含む計算によって判定される。例えば、取引量フィールドの値がデータセットにおけるレコードのグループの平均値から3以上の標準偏差の場合、値は、そのグループのコンテキストにおいて注目に値するとみなされることがある。同様に、それは、データセットの外部のレコードに記憶されている、又はそこから計算される履歴平均値に対して、注目に値することがある。
別の例では、あいまい一致のアプリケーションにおいて、グループ又はクラスタにおける所与のレコードと他のレコードとの一致の品質を測定するスコアを計算することができる。データパターンコードの1つの要素が、帯状の範囲で一致品質のスコアに関連付けられて、レコードが、完全一致である、あいまい一致である(一致閾値を上回るスコアであるが正確ではない)、などを示すことができる。名前又はアドレスのようなレコードの要素についての一致の品質を測定する同様の要素と一緒に、この要素から構築されるデータパターンコードを使用して、レコードを、適切な取扱い又は分析のためのセット(例えば、「あいまいなレコード一致、正確な名前、あいまいなアドレス、ポストコードなし」)に分類することができる。
データパターンコードを使用して、構築中のアプリケーションの出力を分析することもまたできる。予想される有効性ルール及びフィールド間の相関関係を、データパターンコードを用いてプログラムでチェックすることができる。アプリケーションの出力に関連付けられたデータパターンコードごとのレコードのサンプル抽出を検査することにより、予想しないバグを明らかにすることができる。データパターンコードが、アプリケーションの異なるステージからのポピュレーション情報及び有効性情報を記録する場合、良好な結果と粗悪な結果からのデータパターンコードを比較することによって、粗悪な結果を分析し、その起源に遡ることができる。
サンプル抽出はまた、連続動作のための新しい入力を構築するための基礎として使用することができる、テストケースを提供する。この使用は、テストの一部として反復実行が必要とされるアプリケーションにおいて、潜在的に重要である。反復実行が使用される1つの例は、所望の結果を達成するためにパラメータを調整するときである。例えば、名前及びアドレスが類似性について比較される、あいまい一致のアプリケーションでは、それを下回ると一対の名前及びアドレス間の一致の度合いを特徴付けるスコアが一致と考慮されない閾値が、しばしば存在する。一致すべきケースが一致するように、一致決定を制御するさまざまなパラメータが調整されるので、アプリケーションを何度も動作させる必要があることがある。ポピュレーションの異なるパターン(例えば、ミドルネームなし、最初のイニシャルのみ、家屋番号なし、など)は、一致決定プロセスに関与するビジネスルールに影響する。異なるスコアリングフィールド(「正確な名前」「あいまいなアドレス」など)についての一致の品質を反映するコードと、ポピュレーションのパターンとを組み合わせることによって構築されるデータパターンコードを使用して、異なるケースを反映するテストケースを切り離すことができ、これは、調整するプロセスをはかどらせるのに極めて貴重であることがある。
いくつかのアプリケーションインターフェースは、ダウンストリーム処理のために、異質なソースからのデータを、共通のレコードフォーマットに標準化する。通常、すべてのフィールドが、あらゆるソースによってポピュレートされるわけではない。データパターンコードは、ソースデータにおいてフィールドのどの組み合わせが発生するかを識別することができる。これを使用して、いくつかのケースでは、データの起源が既知でないときに、起源を推測することができる。データパターンコードにおけるフィールド間の相関関係を識別することによって、例えば、あるフィールドが別のフィールドを条件にして必須であることなどの、隠れたビジネスルールを推測することができる。例えば、いくつかの欧州の国々からのデータが単一のデータセットの中に組み合わされている場合、ある種のフィールドは、データがドイツソースから来た場合しかポピュレートされないことがあり得る。これは、データパターンコードに照らして、基礎になるデータの分析から推測され、後にビジネスによって確認することができる。他の国々からのレコードにおけるそれらのフィールドのデータの非存在は、それによって説明され、非存在は、データ品質問題ではない。
いくつかの状況では、共通のレコードフォーマットを解除して、それを、ポピュレートされたフィールドのみ(又はそのほとんど)からなる条件付き形式に戻すことが役に立つことがある。均一のフォーマットで届いたデータにもかかわらず、ソース固有の処理が要求される場合には、これが必要となることがある。データパターンコードは、ソースデータに存在するレコードのクラス[すなわち、(ほとんど)常に一緒にポピュレートされるフィールドのセット]を識別し、条件付きレコードフォーマットにおける条件としての役割を果たし、次いでソースデータセットを縮小されたレコードフォーマットに分解するのを促進するよう支援することができる。
均一化レコードフォーマットがアプリケーションのためのデータソースを記述する場合、アプリケーションが取り扱うことができなければならない入力ケースが多岐にわたるテストケースの表現セットを取得する、又は構築することは、困難であることがある。アプリケーションが最終的に扱うことになる実際の(生産)ソースデータへのアクセスが与えられれば、データパターンコードをソースレコードごとに構築することができ、各パターンを表すレコードの(小さな)セットを抽出することができる。これらのレコードを、必要であれば、テスト環境で使用するために分かりにくくすることができるが、レコードは、その時間点においては、生産データのテストケースの包括的なセットを構成している(ケースは、経時的に常に変化し得る)。次いでこのレコードのセットを、アプリケーションのコード網羅率分析、及びエッジケースストレステスト(すなわち、ほとんど見られないデータの組み合わせのもとでの挙動のためのテスト)のために使用することができる。
多くのレガシーメインフレームデータセットは、COBOLによって記述され、COBOL REDEFINEを収容する。REDEFINEステートメントは、バイト位置の同じセットを再使用することによって空白を省いて、同じデータセット内の(通常、サブレコードのための)異なるレコードフォーマットでデータを保持するために、使用される。例えば、あるレコード内で、バイトは、人名及び顧客識別子のような顧客情報を収容してもよく、一方、別のレコード内で、バイトは、購入した品物についての数量及び価格情報を収容するインボイスデータを収容してもよい。時に、レコードにおける別のフィールドが、REDEFINEのどのインスタンスが所与のレコードを対象にしているかを識別するが、これがどのフィールドであるかの認識は、失われている、又は入手可能でない(例えば、アプリケーションコードに収容されている)ことがある。時に、レコードフォーマットの外部の何か(例えば、ファイル名、処理するアプリケーションへのコマンドライン引数、又はアプリケーションコードがアクセスできる外部の何か他のもの)が、全体のデータセットのために使用するのはどのREDEFINEかを識別する。時に、バイトの内容は、どのREDEFINEが対象にされているかを判定するために点検されなければならない。これらのケースは、例示的であって、網羅的ではない。その予想される内容(例えば、十進数はアルファベット文字を収容できない、文字列データは任意のバイナリ文字を収容しないことになる、国コードは特定の参照テーブルの中になければならない、など)に基づいて、フィールドの有効性をとりわけ考慮する、共に得られるREDEFINEフィールドのすべての内容から構築されるデータパターンコードを使用して、所与のレコードのためにどのREDEFINEが適正であるか(これらは2以上存在することもある)を推測することができる。このデータパターンコードをレコードに追加して、非COBOLアプリケーションによる処理により適した条件付きレコードフォーマットに変換するために使用することができる。同様の検討は、他の言語における共用体データ構造及び他の「可変レコード」に当てはまる。
XMLドキュメントは、任意の特定のドキュメント(又は原本)に存在するフィールドのスーパーセットをしばしば収容する、関連するXMLスキーマによって記述される。これは、さまざまなレガシーフォーマットを包含するように設計された、金融取引のためのISO20022のような業界標準において、とりわけ当てはまる。これらの業界標準スキーマは、しばしば大型で複雑であり、考え得る要素(フィールド)のわずかな小部分のみが、所与のドキュメントにおいてポピュレートされる。そのようなスキーマにおけるドキュメントの集まりで作業するとき、どの要素が使用中で、何の要素の分布がドキュメントの集まりにわたっているか知ることは有益である。これは、ドキュメントについてのデータパターンコード(又はおそらくはデータパターンコードのセット)を構築することによって、答えることができる。ビジネスルールは、ソースデータには現れないそのような要素について標準で書かれる必要がないので、これは新しいアプリケーションを設計するときに特に有益であり、それにより、多くの時間とリソースを節約する。
いくつかの組織は、組織のレガシーデータを、ISO20022のような業界標準フォーマットに記憶するように提案しており、なぜならISO20022は、おそらくカスタマイズされた、又は拡張された異なるレガシーフォーマットからのデータを、共通のデータ構造に置くからである。共通フォーマットでのデータで作業するときの課題は、すべてのソースが、スキーマ内でフィールドの同じ集まりをポピュレートしていることにはならないことである。原本ドキュメントの集まりからデータパターンコードを構築することは、どのフィールドが使用中であり、どのフィールドがダウンストリームの取扱いのためのドキュメントの分類に使用できるかを示すことになる。いくつかのケースにおいて、アップストリームレガシーソースの性質を、稀なポピュレートされるフィールドから推測することができ、これは、それらのフィールドを取り扱うためのビジネスルールの開発を支援することができる。
XMLドキュメントの別の特徴は、データを、他の要素を収容してもよい要素の中に編成することである。これらの要素のいくつかは必須になり、すなわち、それらの要素は、いかなるドキュメントにも存在しなければならず、一方、他の要素はオプションになる。さらに他の要素は、条件付きで必須であり、ある要素が存在する場合、別の要素もまた存在しなければならない。スキーマは、しばしばこの情報を収容しているが、他のアプリケーションによる使用に常に適しているわけではない形式においてである。要素のどの組み合わせが存在しなければならず、どの組み合わせが存在しなくてもよいかをおそらく識別することによって、有効なデータパターンコードを識別するテーブルを、スキーマから構築することができる。原本ドキュメントから構築されたデータパターンコードを、有効なデータパターンコードのこのテーブルと比較することによって、XMLドキュメントをXMLスキーマとの適合のために有効化することができる。
いくつかのXML要素は、異なる目的を有する情報を分離することが意図されている。例えば、名前及びアドレスによって債権者を識別するデータについてのタグ、並びに金融取引の詳細についての別のタグが存在してもよい。これらの異なる要素は、別個に処理するように決められていてもよい。あらゆるドキュメントが、存在するあらゆる要素を有するわけではないので、データパターンコードを使用して、所与のドキュメントの中にどの要素が存在するかを識別することができ、これを、ひいては、ドキュメントを分解し、ドキュメントの異なる要素を適切な処理へと送るために使用することができる。
本発明の他の特徴及び効果は、以下の説明から、及び特許請求の範囲から、明らかになるであろう。
データパターン分析を実施するためのシステムのブロック図である。 例示的なデータパターン分析手順の流れ図である。 フィールド及びレコードの対応するコードを示す概略図である。 データパターンコードを表示するための例示的なユーザインターフェースの概略図である。
図1は、データパターン分析技法を使用することができる、例示的なデータ処理システム100を示す。システム100は、データソース102を含み、データソース102は、ストレージデバイス又はオンラインデータストリームへの接続などの、データの1又は2以上のソースを含むことができ、そのそれぞれが、さまざまなストレージフォーマットのいずれか(例えば、データベーステーブル、スプレッドシートファイル、フラットテキストファイル、又はメインフレームによって使用されるネイティブフォーマット)で、データを記憶することができる。実行環境104は、前処理モジュール106と、実行モジュール112とを含む。いくつかの実装形態において、前処理モジュール106は、データソース102から1又は2以上のデータセットを受信し、データセットにおけるデータにデータ完全性チェックを実施する。例えば、前処理モジュール106は、範囲外の値、不可能な値などを収容するレコードについて、データセットを選別することができる。実行モジュール112は、診断及び他の高レベルなデータ処理のためのパターン情報を使用することを含んで、パターンについてデータセットを分析する。実行環境104は、UNIXオペレーティングシステムなどの好適なオペレーティングシステムの制御下において、1又は2以上の汎用コンピュータ上でホストされてもよい。例えば、実行環境104は、複数ノードの並列コンピューティング環境を含むことができ、この環境は、ローカルな(例えば、SMPコンピュータなどのマルチプロセッサシステム)若しくはローカルに分散された(例えば、クラスタ若しくはMPPとして連結された複数のプロセッサ)いずれか、又は、リモートの若しくはリモートに分散された(例えば、ローカルエリアネットワーク(LAN)及び/又はワイドエリアネットワーク(WAN)を介して連結された複数のプロセッサ)いずれか、又は、それらの任意の組み合わせの、複数の中央処理ユニット(CPU)使用するコンピュータシステムの構成を含む。
データソース102を提供するストレージデバイスは、例えば、実行環境104を動作させるコンピュータに接続されたストレージ媒体(例えば、ハードドライブ108)に記憶されて、実行環境104にローカルであってもよく、又は、例えば、リモート接続上で実行環境104を動作させるコンピュータと通信しているリモートシステム(例えば、メインフレーム110)上でホストされて、実行環境104にリモートであってもよい。
実行モジュール112は、データソース102からのデータセットを処理し、任意で前処理モジュール106からの結果を使用して、例えば、1又は2以上のコード114に符号化され、実行環境104にアクセス可能なデータストレージシステム116に記憶される、データセットにおけるパターンの表現を生成する。コード114は、データソース102内のデータセットに、又は別の場所に、データと共に記憶されてもよい。データストレージシステム116はまた、開発環境118にアクセス可能であり、開発環境118では、開発者120が、データパターン分析のパフォーマンスを見て、管理することができる。
開発環境118は、いくつかの実装形態において、データフローグラフとして、アプリケーションを開発するためのシステムであり、データフローグラフは、頂点(コンポーネント又はデータセットを表す)間の有向リンク(作業要素のフローを表す)によって接続された頂点を含む。例えば、そのような環境は、「Managing Parameters for Graph-Based Applications」と題された米国特許出願公開第2007/0011668号明細書により詳細に説明されており、これを参照により本明細書に組み込む。そのようなグラフベースの計算を実行するためのシステムは、米国特許第5,566,072号明細書「EXECUTING COMPUTATIONS EXPRESSED AS GRAPHS」に説明されており、これを参照により本明細書に組み込む。このシステムに従って作成されたデータフローグラフは、情報を、グラフコンポーネントが表す個々のプロセスに入れて、そこから取り出すための方法、プロセス間で情報を移動させるための方法、及びプロセスのための動作順序を定義するための方法を提供する。このシステムは、プロセス間の通信方法(例えば、グラフのリンクに従った通信路がTCP/IP若しくはUNIXドメインソケットを使用することができる、又はプロセス間でデータを渡すための共有メモリを使用する)を選ぶアルゴリズムを含む。
前処理モジュール106は、異なる形式のデータベースシステムを含むさまざまなタイプのシステムから、「データセット」の形式で、データを受信することができる。データセットは、場合によりNULL値を含む、それぞれのフィールド(「属性」又は「列」とも呼ばれる)についての値を有するレコードとして編成されていてもよい。データソースから最初にデータを読み取るとき、前処理モジュール106は、通常、そのデータソース内のレコードについての何らかの初期フォーマット情報から開始する。いくつかの状況において、データソースのレコード構造は、最初から既知でなくてもよく、代わりに、データソースの分析後に決定されてもよい。レコードについての初期情報は、別個の値を表すビットの数、レコード内のフィールドの順序、及びビットによって表される値のタイプ(例えば、文字列、符号付き整数/符号なし整数)を含むことができる。続いて、前処理モジュール106は、例えば、フィールドに対応する値が予想の範囲内であり、予想のデータタイプであることを保証するために、レコードにデータ完全性分析を実施することができる。
前処理ステップが完了すると、実行モジュール112は、データパターン分析を実施する。より一般的には、データレコードは、レコードについての1又は2以上のフィールド及び/若しくはフィールドの組み合わせ(例えば、レコードに潜在的に存在するものとして、レコードフォーマット又はスキーマによって定義されるフィールド)に関係した、多様なプロパティを有することができる。プロパティは、レコードについてのそれぞれのフィールド又はフィールドの組み合わせに対応することができ、データ値タイプ、データ値の長さ、及び/又はデータ値を含むことができる。いくつかの実装形態において、データレコードにおいてフィールドに対応する値を、集合的にレコードのポピュレーションと呼ぶことができる。概して、レコードについてのフィールドは、必ずしもすべてポピュレートされるわけではない。例えば、データレコードは、個々のレコードに存在するフィールドのすべてに対応する値を有していても、有さなくてもよい。加えて、そのレコードに関連付けられていることが既知である、又は宣言されているいくつかのフィールドは、存在しなくてもよく、非存在のフィールドと呼ばれることがある。したがって、あるフィールドが「ポピュレートされていない」と示されるさまざまな理由が存在し得る。いくつかのフィールドは、特定のレコードに非存在であることがあり、いくつかのフィールドは、存在し得るものの、空であることもあり、又は「NULL」値(1又は2以上の空白文字の文字列などの、フィールドがポピュレートされていないことを示すためにあらかじめ決められた値)を収容していることもある。存在し、非NULL値を含むフィールドは、「ポピュレートされている」。いくつかの実装形態において、レコードの、フィールドの非存在、又はフィールドに対応する値の非存在は、何らかの点でレコードが不完全であることを示すことがあり、それは、データ品質問題であり得る。いくつかの実装形態において、フィールド又は値の欠如は、所与のレコードについての特定のフィールドに無関係であると単に合図していることがある。
レコードのポピュレーションのパターンは、レコードのフィールドを分析することによって確認することができる。レコードにおけるデータパターンの表現は、例えば、要素の値が、レコードの対応するフィールド若しくはフィールドの組み合わせの1又は2以上の状態又はプロパティに対応する、データ要素を有するデータパターンコードを定式化することを含むことができる。要素値は、要素値の所定のセットから選択されてもよい。セット内の要素値の数は、データセットにおけるレコードにわたって対応するフィールドに発生するデータ値の総数よりも少なくてもよい。例えば、データパターンは、その中で要素がレコードにおけるフィールドの状態又はプロパティを表すビットである、ビットマップであってもよい。例えば、データパターンコードの定式化は、以下のようなフィールドの状態又はプロパティを示すために1又は2以上のビットが設定されたビットマップを含むことができる。0が、「空」又は「非存在」のフィールドの状態に対応し、1が、「空でない」及び「非存在でない」フィールドの状態に対応する。代替的なビットマップは以下のようであってもよい。0が、「空」(例えば、値なし)又は「NULL」(例えば、フィールドが、1又は2以上の空白文字などの所定の「NULL」値を有する)のフィールドの状態に対応し、1が、「非存在」(例えば、レコードにフィールドが存在しない)のフィールドの状態又はプロパティに対応し、及び2が、「ポピュレートされた」(例えば、フィールドが非NULL値を有する)フィールドの状態に対応することができる。
複数のレコードの1又は2以上のフィールド若しくはフィールドの組み合わせは、フィールドのさまざまな状態又はプロパティの中でのパターンを確認するために分析される。例えば、分析が、フィールドがポピュレートされているか否かを判定する場合、特定のレコードについての考え得るパターン情報は、その特定のレコードにおいて、フィールドがポピュレートされているか否かを表す情報の配列を含むことができる。このようにして、データパターンコードは、レコードに対応するデータパターンを示すように、レコードに関連付けられる。
いくつかの実装形態において、ユーザが、フィールドについての特定の値を有するレコードの小部分を知りたいと思うことがある。例として、レコードは、ユニット番号又はアパート番号を予想することができるアドレスボディの断片を指す、フィールド「apt_num」を有することがある。レコードのどの小部分がアパートを有するものとして識別されるかを知ることに興味のあるユーザは、パターン情報のクイックビューによって、この情報を見つけ出すことができる。パターン情報はまた、レコードのフィールド間の考え得る相関関係への見通しを提供することができる。例えば、アパート番号又はユニット番号を有さないものとして示されるアドレスを有するレコードはまた、レコードが住宅所有者である個人に属すことを示している「Yes」に設定された、その住宅所有者フィールドを有することがある。
いくつかの実装形態において、必須フィールドにおける値が欠けている場合に、レコードは不完全であると考えられてもよい。例えば、銀行顧客のレコードにおいて、顧客の名字が必須フィールドであることがある。したがって、顧客レコードの名字フィールドに名字の値が存在しない場合、そのレコードは不完全であるとみなされるべきである。反対に、顧客レコードのミドルネームの値が存在しない場合、ミドルネームはオプションの値とみなすことができるので、そのレコードは不完全でなくてもよい。そのような状況において、銀行顧客のレコードのパターンが決定され、データパターンコードがレコードに割り当てられてもよい。実行モジュール112が特定のレコードについてのデータパターンコードを決定すると、データソース102から読み取られるさらなるデータを、コードに照らして分析することができる。これらの線に沿って、名字フィールドにおいて名字の値が欠けているデータレコードをフラグするために、1又は2以上のルールをエラー訂正のために書くことができる。したがって、データパターンコードの定式化が、必須フィールドがポピュレートされていることを保証し、また、オプションフィールドのポピュレーションを定量化するための、診断メカニズムとして使用されてもよい。
いくつかの実装形態において、データ処理システム100がデータ発見モードにあるとき、データパターンコードの定式化を使用して、オプションフィールドから必須フィールドを区別することができる。時に、どのフィールドが必須であり、どのフィールドがオプションであるかを提供するオリジナルのポピュレーションルールが、失われている、又は入手可能でないことがある。例えば、名字フィールドが必須フィールドであり、一方、ミドルネームフィールドがオプションフィールドであることを提供するオリジナルのルールを、システム100が利用可能でないことがある。実行モジュール112は、データソース102におけるデータセットを分析して、データセット内でポピュレーションのパターンを確立することができる。この状況において、所与のデータセットにおける実質的にすべてのレコードが、空でない値によってポピュレートされたその名字フィールドを有し、データセットにおけるレコードの特定の小部分のみがポピュレートされたそのミドルネームフィールドを有する場合、システム100は、名字フィールドが必須フィールドであり、ミドルネームフィールドがオプションフィールドであることを推量することができる。
例として、次に図3を参照しながら、多国籍小売組織のエンタープライズデータウェアハウスにおける「取引」データセット300を考えてみる。ウェアハウスは、いくつかの国々のストアで行われた取引を記録することができる。したがって、ある国の取引に対応する取引レコード304は、取引_idフィールド(例えば、特定の取引を識別する代理キー)、顧客_idフィールド(例えば、顧客のマスターリストからなる別のデータセットにリンクする代理キー)、購入された品物を識別する製品_idフィールド(例えば、製品のマスターリストからなる別のデータセットにリンクする代理キー)、ストア_idフィールド(例えば、ストア及びその場所のリストからなるデータセットにリンクする代理キー)、数量フィールド、及び価格フィールドを含むことができる。これらのフィールドはすべて、必須フィールド308(例えば、フィールドが空であることが許可され得ない)とみなすことができる。したがって、これらの必須フィールド308のうちのいずれかがポピュレートされていない場合、データの品質に問題があるとみなすことができる。データセットはまた、国_cdフィールド(例えば、そのストアが位置する国を識別する代理キー)、通貨_cdフィールド(例えば、取引の通貨を識別する代理キー)、及び購入に含まれる税の金額を示す税フィールドなどの、追加フィールド312を含むことができる。いくつかの実装形態において、追加フィールド312は、ポピュレートされていても、されていなくてもよく、そのようなフィールドにおけるデータの非存在は、データ品質問題を提示しなくてもよい。
上のシナリオにおいて、データパターンコード316を各レコード304に割り当てることによって、取引データセット300のデータ品質を分析することができる。例えば、データパターンコード316は、取引レコード304の、どのフィールド320がポピュレートされていて、どのフィールドがポピュレートされていないかを反映することができる。ビットマップコードの定式化を仮定すると、ビットマップコードのビットは、以下のように、取引レコードの対応するフィールドに割り当てられてもよい。取引_id(ビット0)、顧客_id(ビット1)、製品_id(ビット2)、ストア_id(ビット3)、数量(ビット4)、価格(ビット5)、国_cd(ビット6)、通貨_cd(ビット7)、及び税(ビット8)。取引レコードのフィールドがポピュレートされると、対応するビットが1に設定され、そうでない場合、ビットは0に設定される。一般に、10進表記法では、例えば、ビット「k」が1に設定されると、2の値がビットマップコードに加えられる。例えば、取引_id、顧客_id、製品_id、価格及び税がポピュレートされたとすると、データパターンコードは、151であることになる(設定されたビット0、1、2、5及び8が1+2+4+32+256=295に対応する)。
いくつかの実装形態において、必須フィールド308及び追加フィールド312に対応するマスクコード324を実装することができる。マスクコード324は、レコード304のフィールド若しくはフィールド値を、選択的に含める、又は除くことができるフィルタとしての役割を果たす。上で説明したように、例示的な取引レコードの最初の6つのフィールドは、必須フィールド308であり、次の3つのフィールドは、追加フィールド312である。したがって、マスクコード324を、必須フィールド308及び追加フィールド312を示すために、[000111111]のように定式化することができる(10進表記法において、マスクコードは63である)。ビット単位のAND演算を、ビットマップコード320とマスクコードとの間で計算することができる。ビット単位のANDの結果が63以外の何らかである場合は、必須フィールド308のうちの1つがポピュレートされていない。例えば、(63&295)=39であり、これはビット0、1、2、及び5が設定されたことを示しており、したがって、ストア_idフィールド及び数量フィールドがポピュレートされていない。したがって、この状況をデータ品質問題としてフラグすることができる。
いくつかのシナリオにおいて、異種のデータセット(例えば、レコードが、異なるデータレコードフォーマットにおいて値を受け入れることができるデータセット)が、レコードタイプを識別するための別個のフィールドを含むレコードを有することができる。したがって、レコードのためのポピュレーションのデータフォーマットが、レコードタイプを条件にして作成されてもよい。しかしながら、条件付きの必須フィールド(すなわち、特定のデータ条件が満たされたときのみに必須であるフィールド)を有する特定の他のデータセットでは、レコードタイプについての情報を保持する明示的なフィールドを持たない暗黙の異種性が存在してもよい。そのような状況では、データパターンコードの定式化を使用して、レコードフォーマットの基礎になる集まりを決定し、条件付きの必須フィールドを有するデータセットの完全性を検証することができる。開発者又は分析者は、データパターンコードの定式化を使用して、そのような条件付きの必須レコードをカテゴライズすることができる。このような状況において、代理レコードタイプとしてのデータパターンコードの定式化の使用は、自然キーの代わりに使用されてもよい代理キー(すなわち、ビジネス/実世界の意味を有さないシステム生成されたキー)に類似していてもよい。
例として、上で説明した取引データセット300(図3)のコンテキストでは、データを、各ストア内で別々にキャプチャし、国ごとに単一のデータセットに組み合わせ、次いでエンタープライズデータウェアハウスの取引データセット300の中にロードすることができる。米国における取引データセットが国フィールド又は通貨フィールド(すなわち、ビット番号6及び7)を有さない、例示的なシナリオを考えてみる。US取引レコードフォーマットを、2つの新しいフィールドを含むように拡張することができ、一方で、レガシーアプリケーションとの一致を維持するために、US取引についての国フィールド及び通貨フィールドはポピュレートされていない。これらのフィールドは、非US取引レコードについては必須とみなすことができる。したがって、これらのデータ値がこれらのフィールドに存在しないいかなる状況も、データ品質問題としてフラグすることができる。この点において、フィールドは、レコードが非US取引レコードであるという条件に従って必須とみなされる。同様に、税フィールド(ビット8)は、取引中に地域で税が徴収された場合に、必須とみなすことができる。やはり、税は徴収されたが税フィールドがポピュレートされていない状況は、データ品質問題としてフラグすることができ、したがって、税フィールドは、レコードが、税が徴収された地域にあるという条件に従って必須とみなすことができる。
条件付きデータパターンを、必須データパターンに類似したやり方で分析することができる。現在のシナリオでは、US取引レコードは、ポピュレートされていない国_cd及び通貨_cd(ビット6及び7)のフィールドを有することが予想され、一方、これらのフィールドは、非US取引レコードについてはポピュレートされることが予想される。ストアの場所(これは、いくつかの状況では、Storeデータセットにアクセスすることを必要とすることがある)を明示的にチェックすることなく、ビット6及び7の両方が1に設定されるか、又は両方が0に設定されるかのどちらかをチェックすることによって、国_cdフィールド及び通貨_cdフィールドのパターンの相関関係を検証することができる。
いくつかの実装形態において、そのような相関関係の存在を、データパターンコードの分布から推測することができる。各コードを有するレコードの数をカウントすることを可能にするように、取引データセット300をデータパターンコードまでロールアップすることができる。このようにして、ビット6及び7の両方が設定された、又はされていないレコードの数を決定することができる。いくつかの実装形態において、パターンについての説明を探す目的のために、データパターンコードを有するレコードのサンプルを抽出することが有益であることがある。このシナリオでは、レコードの好適なサンプルの検査後に、国_cdフィールドからのUS国コードの非存在、並びに通貨_cdフィールドからのUSドル通貨コードの対応する非存在が目立つことになると思われる。したがって、通貨_cdフィールドのポピュレーションは、国_cdフィールドのポピュレーションを条件にして必須であるとみなすことができる。このようにして、データパターンコードの定式化の使用により、「隠れた」ルールを探すプロセスを単純化することができる。
いくつかのデータ処理アプリケーションにおいて、特殊なレコードフォーマットを使用して、共通フレームワークを通した処理前の異質なソースからのデータを、標準化する、又は均一にすることができる。そのようなアプリケーションでは、情報の紛失を避けるために、「均一化」レコードフォーマットが、異なるソースからのフィールドのスーパーセットを含む。均一化レコードフォーマットは、いくつかの異なるソースからのデータパターンを分析することによって、生成されてもよい。例えば、いくつかの実装形態において、第1のフィールドのセットが、多くのソースに共通したデータを保持することができ、一方、第2の異なるフィールドのセットが、特定のソース又はソースのサブセットに一意に関連付けられてもよい。例として、第1のソースからのレコードにおける日付フィールドは、「DD/MM/YYYY」フォーマットであってもよく、第2のソースからの第2の異なるレコードにおけるデータフィールドは、「DD、月、年」のフォーマットであってもよい。いくつかのソースでは、日及び月のみが利用可能であってもよく、他のソースでは、日、月、及び年の値が、別個のフィールドであってもよい。均一化レコードフォーマットは、このようにさまざまなソースからのレコードタイプの組み合わせから導き出されてもよい。続いて、均一化レコードは、異なるソースに属するレコードからのデータによって、ポピュレートされてもよい。
いくつかの実装形態において、均一化レコードが適切にポピュレートされたかどうかを判定するために、必須及び条件付きのポピュレーションを指定する1又は2以上のビジネスルールを使用して、予想されるデータパターンをテストシナリオの出力に関連付けることができる。次いで、バリデーションのために、これらの予想される結果を、実際の結果と比較することができる。例えば、実行モジュール112が均一化レコードフォーマットを生成すると、均一化レコードをポピュレートするために、さまざまなデータソースを使用することができる。次いで、必須及び条件付きのポピュレーションを指定するビジネスルールを使用して、フィールドが適正にポピュレートされたかどうかを判定することができる。
異なるソースからのデータが共通のフォーマットに組み合わされるとき、例えば、異なる国々の異なる会社からのレガシーデータが企業合併後に組み合わされるとき、異なるレコード構造が、データウェアハウジングアプリケーションに必要とされる可能性がある。これらの線に沿って、取引データセット300(図3)において、国固有である追加フィールドが存在してもよい。例えば、いくつかの国では、品物が(例えば、飲料の「6パック」セットと同じような)マルチパックの一部として購入されたときを示すために使用される、パッケージ_idフィールドが存在してもよく、一方、他の国々では、サイズ(例えば、16オンス又は400g)を示すためのボリュームフィールド、及びいくつかのユニットを示すためのユニットフィールドが存在してもよい。データパターンコード320は、特定のフィールドのみが相関したポピュレーションを有することを示すことができる。すなわち、パッケージ_idフィールドがポピュレートされるか、ボリュームフィールド及びユニットフィールドが両方ポピュレートされるかのいずれかであり、どちらも特定の互いに素である国_cdフィールド値についてのみ発生する。
いくつかの実装形態において、そのそれぞれがポピュレートされたフィールドのみからなるレコードフォーマットのセットに関してデータセットを記述する、条件付きレコードフォーマットを構築することができる。例えば、1つの縮小されたレコードフォーマットが、単にパッケージ_idを特別なフィールドとして有してもよく、別の縮小されたレコードフォーマットは、ボリューム及びユニットを有することになり、一方、さらに別の縮小されたレコードフォーマットは、追加フィールドを有さなくてもよい。そのような縮小は、多くのソースからのデータを組み合わせる複雑なレコードフォーマットで作業するときに、有益であることがある。いくつかの実装形態において、異なる縮小されたフォーマットのそれぞれにおけるレコードのサンプルを調査することは、ソースを示すことができる、又は、縮小されたレコードフォーマットの背後にあるビジネス根拠を、これが最初の時点では既知でなかった場合でも提供することができる。
いくつかの例において、データパターンコードの定式化を、COBOL REDEFINEと共に使用することができる。一般に、REDEFINE節は、空白を省くために、同じメモリ領域が異なるデータアイテムによって記述されることを許容する。したがって、COBOL REDEFINEは、バイトの同じセットの2以上の構文解析を、異なるフィールドの中に指定することができる。Cプログラミング言語(又は同様のプログラミング言語)においては、そのような構文を共用体データ構造と呼ぶことができ、同様の問題が発生し得る。2以上のREDEFINEのうちのどれが所与のレコードにおいて使用されることになるかは、時に、そのレコードにおける別のフィールドによって決定されるが、これがどのフィールドであるかの認識は、失われている、又は入手可能でない(例えば、アプリケーションコードに埋め込まれている)ことがある。或いは、レコードにおいて、どのREDEFINEを使用するかを示すフィールドが存在しないことがある。時に、この情報は、レコードフォーマットの外部(例えば、ファイル名の中、若しくは処理アプリケーションに利用可能などこか)に保持される、又は、時に、REDEFINEの内容は、どれが適正なものかを判定するために点検が必要になることがある。これらの例は、網羅的ではなく、例示的であることを意図している。これらの状況のすべては、そのオリジナルコンテキストの外部のデータセットを読み取るための潜在的な難しさを呈している。
REDEFINEのすべてのフィールドを使用して計算されたデータパターンコードは、適切な構文解析を推測することができる。例示的なシナリオにおいて、REDEFINEデータ構造は、似ていないデータからなることができる。例えば、REDEFINEの1つのブランチがアルファベットのテキストフィールドのみを収容し、一方、同じバイトについての別のREDEFINEが10進数フィールドを収容する場合、10進数フィールドが数字及び単一の小数点以外の何かを収容するときに、10進数フィールドは無効とマークされることになる。この状況は、COBOL REDEFINEが使用されるレガシーメインフレームデータにおいて発生し得る。(単純なポピュレーションではなく)フィールドにおけるデータの有効性に基づいたデータパターンコードの定式化を使用して、適正な構文解析を検出することができる。いくつかの実装形態において、結果としてのデータパターンコードを使用して、データ構造を、各代替REDEFINEフォーマットが関連するデータパターンコードについてのみ発生する条件付きレコードフォーマットに変換することができる。
レガシーデータの場合、どのフィールドが多くのソースに共通であるか、どのフィールドが固有であるか、又は、ソースを越えて持続できる若しくは持続できないフィールド間で相関関係が存在するかどうかに関する問題に、データをポピュレートするのに使用されたビジネスルールを調べることによって答えることができる。いくつかのシナリオにおいて、これらのルールは、失われている、又は入手可能でないことがある。例えば、ルールがなお現行で使用されていても、いずれの書面のドキュメンテーションも期限切れである、又は紛失していることがある。そのようなシナリオでは、データパターンコードの定式化を使用して、フィールド間の相関関係を判定し、フィールドとレコードのソースとの関連もまた判定することができる。
いくつかの実装形態において、データパターンコードを構築した後にアグリゲーションを実施することによって、レコードにおけるフィールド間の相関関係を推定することができる。例えば、取引データセット300(図3)において、データセットがストア_idフィールドまでロールアップされる場合、税フィールドがポピュレートされたレコードはいくつあるかのカウントを使用して、地域におけるどのストアが売上又はVAT税を有するかを判定することができる。どの地域が税を徴収したかの判定は、上で詳細に説明したように、データ単独の統計値から推測することができる。
いくつかの実装形態において、データは、XMLなどの業界標準レコードフォーマット、及び金融取引のためのISO20022に存在することができる。例えば、ある人は、既存のシステムを再設計する必要なしに、自分たちのレガシーデータを共通フォーマットの中にポピュレートできるという理由で、ISO20022を内部標準として使用する選択をすることがある。また、異なるレガシーソース(カスタマイズされた、又は拡張されたレガシーフォーマットを含む)が、他のソースと共通であるフィールド、及びレガシーソースに一意のいくつかのフィールドをポピュレートすることができる。この点において、開発者は、業界標準で保持されたデータで動くアプリケーションを書く必要があることがある。業界標準によって記述された完全なレコードフォーマットは、複雑で、任意の1つのレガシータイプの観点から異質なデータを収容することがあるので、開発者は、ポピュレートされないフィールドを破棄する選択をすることがある。具体的には、XMLスキーマが、ポピュレートされてもよいフィールドの考え得るセットを定義することができる。したがって、XMLレコード(例えば、XMLに従ってフォーマットされたデータを含むドキュメント)は、そのレコードについてポピュレートされるフィールドのみを収容することがある。
多様なレガシーソースからのデータが一緒に保持されるデータウェアハウジングの状況では、XMLレコード内に存在するデータはさまざまであってよい。データパターンコードがXMLレコードごとに計算される場合、コードは、フィールドの異なる組み合わせを使用するレコードを独立した処理のために簡単に引き離すのを可能にすることができる。一緒にポピュレートされるフィールドの種類が、質的に異なるデータの種類(例えば、BICコードのような機関識別情報は、名前及びアドレス情報とは異なる)を表すことができ、したがって、それらは別個に処理するように決められている。多様なデータパターンコードのマスキング又は作成が、データのこれらのセグメントを簡単に区別するのを可能にすることができる。
さらに、いくつかの実装形態において、いくつかのXMLタグは必須であってもよく、一方、他のXMLタグは必須でなくてもよい。上で説明したように、データパターンコードの定式化は、ドキュメンテーションへの参照に頼ることなく、フィールドの分析を手助けすることができる。
いくつかの実装形態において、データパターンコードの定式化を使用して、ダウンストリームアプリケーションのためのテストケースを用意することができる。アプリケーションへの入力データが多くのソースから組み立てられるとき、アプリケーションが受信する可能性のあるさまざまな入力を適切に扱うことができるかどうかについての懸念があり得る。実社会の状況では、アプリケーションへの入力データ量が、意味のあるテストを可能にするには大きすぎることがある。この状況に対処するために、いくつかの実装形態において、データパターンコードを、生産データ、すなわち、アプリケーションへの入力データについて定式化することができる。テストレコードのデータセットをデータパターンコードに基づいて作成し、アプリケーションに適用することができる。例えば、少数のレコード(例えば、単一のレコード又は別の所定の数のレコード)を、別個のデータパターンコードごとに選択することができる。全生産データから得られると、このデータセットは、適正に扱うようにアプリケーションを構成することができる、テストケースの包括的なセットを表すようにみなすことができる。
図2は、例示的なデータパターン分析手順200のための流れ図を示す。手順は、データストレージシステムにデータセットを記憶するステップ(202)を含む。データセットは、多様なフィールドに対応する値を有する複数のレコードを含むことができる。レコードは、データストレージシステムに接続されたデータ処理システムにおいて分析されて(204)、レコードにおけるデータパターンの表現を生成する。レコードにおけるデータパターンの表現は、例えば、レコードにおけるフィールドのプロパティを表すビットを有するビットマップなどの、データパターンコードの定式化を含むことができる。レコードの処理は、レコードごとに、複数のレコードの1又は2以上のフィールド若しくはフィールドの組み合わせを分析するステップ(206)を含むことができる。分析は、データセットにおけるレコードごとに、そのデータセット内の、又は1若しくは2以上の他のデータセット内の、1又は2以上の他のレコードに関する計算を含むことができる。例えば、数値フィールドの平均値をデータセットにおけるレコードのセットについて計算し、他のデータセットの集まりから得られたレコードのセットの平均値(「履歴平均値」)と比較して、何らかの閾値量によって、現在の平均値が履歴平均値よりも大きいかどうかを判定することができる。分析は、複数のレコードにおけるフィールドの中で1又は2以上のパターンを発見するステップを含むことができる。例えば、関連した状態又はプロパティが、フィールドがポピュレートされているか否かを含む場合、パターンは、フィールドがポピュレートされているか否かを表す情報の配列であってもよい。このようにして、データパターンコードを定式化して(208)、レコードに対応するデータパターンを示すことができる。レコードが処理された後、結果としてのコードを、レコード及びその対応するデータパターンを識別するやり方で記憶することができる(210)。追加のレコードが分析されるとき、手順200が繰り返されて、追加のレコードを処理することができる。
いくつかの実装形態において、サブルーティンをより大きなプログラムで使用して、フィールド名のベクトルを収容するレコードを引数として受信し、データパターンコードを生成することができる。例えば、サブルーティンは、引数として、レコード、及び「ブランク」、「ブランク_or_NULL」、その他などの値を有するルール_typeを取ることができる。サブルーティンは、フィールド名ごとに値を計算することができ、選んだルール_typeに適切なビットマップを構築する。「ブランク」ルール_typeは、フィールドがブランクであるか、又はポピュレートされているかを示すデータパターンコードを提供する。したがって、結果としてのビットマップは、フィールドがポピュレートされている場合にはビットセットを有するバイナリであり、フィールドがポピュレートされていない場合には0を有するバイナリである。「ブランク_or_NULL」ルール_typeは、このケースではコードごとに2つのビットを使用して、フィールドが、ブランクであるか(0)、ポピュレートされているか(1)、又はNULLであるか(2)を示すデータパターンコードを提供する。「有効性」ルール_typeは、所与のフィールドが無効であるか(0)、又は有効であるか(1)を示すデータパターンコードを提供することができる。無効なフィールドは、関連したデータタイプについて許可されていないバイト又は値を収容するフィールドであってもよい。例えば、「31−JUN−1960」は、日付フィールドとして無効であり、一方、「123a」は、10進数フィールドとして無効である。
「表現」ルール_typeは、表現がフィールドごとに供給され、その結果をビット(又はビット値のセット)に関連付けるのを可能にすることができる。例えば、いくつかのヌル非許容なフィールドを、「ブランク」ルールを用いて分析することでき、一方、他のヌル許容なフィールドを「ブランク_or_ヌル」ルールを用いて分析することができる。列挙された値の小さなセットのみを収容する他のフィールドは、ビット値にマップされたその特定の値を有することができる。例えば、性別の「M」又は「F」は、0又は1にマップされてもよく、一方、取引_typeフィールドの「A」、「C」、又は「P」は、0、1、又は2にマップされてもよい。
いくつかの実装形態において、フィールドの1又は2以上の組み合わせもまた符号化することができる。例えば、類似性(「あいまい一致」)についてフィールドを比較しているアプリケーションにおいて、一致コードのセットを(通常、2つの別個のレコードにおける、場合により別個のデータセットにおける)2つのフィールドの比較に指定することができる。例えば、比較されている2つの会社名が与えられたとすると、結果(例えば、一致の度合いを定量化するスコア)は、「不一致」(0)、すなわち、会社名は、何らかの所定の基準に従って類似していない、「完全一致」(1)、「ファジーマッチ」(2)、すなわち、会社名は何らかの所定の基準に従って類似しているが同一ではない、「ポピュレートされていない0」、すなわち、会社名1はポピュレートされているが、会社名0はポピュレートされていない、「ポピュレートされていない1」、すなわち、会社名0はポピュレートされていないが、会社名1はポピュレートされていない、及び、「ポピュレートされていない01」、すなわち、どちらの会社名もポピュレートされていない、としてマークされてもよい。あいまい一致のための技法の例、及びあいまい一致に基づいたクラスタリングは、「MANAGING AN ARCHIVE FOR APPROXIMATE STRING MATCHING」と題された米国特許出願公開第2009/0182728号A1明細書、及び「FUZZY DATA OPERATIONS」と題された米国特許出願公開第2010/0106724号A1明細書に説明されており、これらのそれぞれを参照により本明細書に組み込む。
いくつかの実装形態において、ユーザに提示されるユーザインターフェース内のグラフィカル表示を通して、パターン情報をユーザに提示することができる。このようにして、ユーザは、ポピュレートされている、レコードにおけるフィールドのパーセンテージを素早く確認することができる。図4は、フィールド400のリスト、ビットラベル401、及びマスク402を設定するためのボタンを含む例示的なユーザインターフェースを示す。フィールドごとに考え得るコードの設定が、凡例404に提供されている。(選択はフィールドごとに異なってもよく、いくつかの実装形態において、ユーザインターフェースは、フィールドごとに異なる選択を表示する。)ダイアグラム406は、(別個のデータパターンコードに対応する)それぞれの別個のパターンにおいて、選択されたフィールドごとにどの要素が設定されるかを示す。マスク402において選択されるボタンごとに(ラベル401で上段にわたって識別される対応するフィールドを有する)列があり、別個のパターンごとに行がある。所与のパターンを有するレコードの小部分が、ここではグレイスケール表示408で示され、より濃い色調が、ポピュレーションのより大きな小部分を示し、またパーセンテージ410として数値的に示す。
図5は、マスクが選択的に設定され、フィールドごとに3以上のデータパターンコードがあるときの、例示的なユーザインターフェースを示す。フィールド500が列挙され、それぞれのフィールドにラベル501が割り当てられている。マスク502は、ボタンを選択することによって設定される。凡例504は、表示されるデータパターンコードを列挙する。ここでは、濃度レベルを使用してデータパターンコードを区別しているが、単に数値的なデータパターンコードを表示することを含む、他の考え得る表示表現も可能である。パターンのセットがグリッド506として表示され、各列は、マスクにおいて選択されたフィールドに対応し、各行は、ポピュレーションのパターンを示すデータパターンコードに対応している。(マスク及び選択されたデータパターンコードのセットに関連付けられた)各パターンを有するレコードの小部分を反映するポピュレーションの小部分が、グレイスケール508で、及びパーセンテージ510として数値的に表示されている。
上で説明したデータパターン分析アプローチは、コンピュータ上で実行するためのソフトウェアを使用して実装されてもよい。例えば、ソフトウェアは、1又は2以上のプログラムされた、若しくはプログラム可能なコンピュータシステム(システムは、分散型、クライアント/サーバ、又はグリッドなどのさまざまなアーキテクチャであってもよい)上で実行される1又は2以上のコンピュータプログラムで手順を形成し、コンピュータシステムのそれぞれは、少なくとも1つのプロセッサ、少なくとも1つのデータストレージシステム(揮発性及び非揮発性メモリ並びに/又はストレージ要素を含む)、少なくとも1つの入力デバイス又はポート、及び少なくとも1つの出力デバイス又はポートを含む。ソフトウェアは、より大きなプログラムの1又は2以上のモジュールを形成することができ、モジュールは、例えば、データフローグラフの設計及び構成に関連した他のサービスを提供する。グラフのノードと要素は、コンピュータ可読媒体に記憶されるデータ構造として、又はデータリポジトリに記憶されるデータモデルに適合する他の編成されたデータとして、実装されてもよい。
ソフトウェアは、CD−ROMなどのストレージ媒体上で提供されても、汎用コンピュータ若しくは特殊目的プログラム可能なコンピュータによって可読であっても、又は、実行されるときに(伝搬信号において符号化されて)ネットワークの通信媒体上でコンピュータに配信されてもよい。機能のすべては、特殊目的コンピュータ上で、又はコプロセッサなどの特殊目的ハードウェアを使用して、実施されてもよい。ソフトウェアは、ソフトウェアによって指定された計算の異なる部分が異なるコンピュータによって実施される、分散型方式において実装されてもよい。ストレージ媒体若しくはストレージデバイスがコンピュータシステムによって読み込まれて、上で説明した手順を実施するときに、コンピュータを構成し、動作させるために、それぞれのそのようなコンピュータプログラムは、好ましくは、汎用コンピュータ又は特殊目的プログラム可能なコンピュータによって可読な、ストレージ媒体若しくはストレージデバイス(例えば、ソリッドステートメモリ若しくはソリッドステート媒体、又は磁気媒体若しくは光学媒体)に記憶される、又はダウンロードされる。本発明のシステムはまた、コンピュータプログラムによって構成されたコンピュータ可読ストレージ媒体として実装するように考えられてもよく、そこでは、そのように構成されたストレージ媒体が、コンピュータシステムを、固有の、及びあらかじめ定義されたやり方で動作させて、本明細書で説明した機能を実施する。
本発明のいくつかの実施形態を説明してきた。それでもやはり、本発明の趣旨及び範囲から逸脱せずに、さまざまな修正形態を行うことができることが理解されるだろう。例えば、上で説明したステップのうちのいくつかは、順序に無関係であってもよく、したがって、説明した順序とは異なる順序で実施されてもよい。
上述した説明は、添付の特許請求の範囲によって定義される本発明を例証することを意図しており、本発明の範囲を限定することを意図していないことが理解されるべきである。例えば、上で説明した機能ステップのうちのいくつかは、全体的な処理に実質的に影響することなく、異なる順序で実施されてもよい。他の実施形態は、以下の特許請求の範囲内である。

Claims (28)

  1. 複数のレコードを含む少なくとも1つのデータセットをデータストレージシステムに記憶するステップと、
    前記レコードにおけるデータパターンを表すコードを生成するために、前記データストレージシステムに接続されたデータ処理システムにおいて、前記複数のレコードを処理するステップであって、前記データパターンが、前記レコードのそれぞれに含まれる1又は2以上のフィールドにおける、データのポピュレーション又はデータの有効性のうちの少なくとも1つを表す、処理するステップと
    を含む方法であって、
    前記処理するステップが、前記複数のレコードにおける多様なレコードのそれぞれについて、1又は2以上の要素を符号化するコードを前記レコードに関連付けるステップであって、それぞれの要素が、要素値のセットの1つとして、対応するフィールド若しくはフィールドの組み合わせの状態又はプロパティを表し、少なくとも第1のコードの少なくとも1つの要素について、前記セット内の要素値の数が、前記データセットにおける前記複数のレコードのすべてにわたって前記対応するフィールド若しくはフィールドの組み合わせにおいて発生するデータ値の総数よりも少ない、前記ステップと、
    前記多様なレコードと関連付けられた前記コードに基づいて対応するフィールド又はフィールドの組み合わせの状態又はプロパティを集約するパターン情報をユーザインターフェース内のグラフィカル表示を通してユーザに表示するステップを含む
    方法。
  2. 第1のコードの少なくとも1つの要素について、セット内の少なくとも2つの要素値が、ポピュレートされている、又はポピュレートされていないときのフィールドの状態をそれぞれ表す、請求項1に記載の方法。
  3. ポピュレートされていない状態が、ヌル状態、非存在状態、又は空状態のうちの1つを含む、請求項2に記載の方法。
  4. ヌル状態が、所定の値を有するフィールドの状態を含む、請求項3に記載の方法。
  5. 所定の値が、1又は2以上の空白文字を含む、請求項4に記載の方法。
  6. 非存在状態が、レコードにおいて欠けているフィールドを含む、請求項3〜5のいずれかに記載の方法。
  7. 空状態が、対応するデータ値を有さないフィールドを含む、請求項3〜6のいずれかに記載の方法。
  8. 第1のコードの少なくとも1つの要素について、セット内の少なくとも2つの要素値が、フィールドに関連付けられたバリデーションルールに従って、有効である又は有効でない前記フィールドにおいて発生するデータ値を表す、請求項1〜7のいずれかに記載の方法。
  9. バリデーションルールが、データ値のデータタイプに少なくとも部分的に基づいて、有効値を定義する、請求項8に記載の方法。
  10. バリデーションルールが、列挙された値のリストを参照することによって、少なくとも部分的に有効値を定義する、請求項8に記載の方法。
  11. 第1のコードの少なくとも1つの要素について、セット内の1又は2以上の要素値が、第1のフィールドにおいて発生するデータ値がターゲットデータ値と一致する度合いを表す、請求項1〜10のいずれかに記載の方法。
  12. ターゲットデータ値が、第2のフィールドにおいて発生するデータ値である、請求項11に記載の方法。
  13. セット内の少なくとも3つの要素値が、第1のフィールドにおいて発生するデータ値が、不一致、完全一致、又はファジーマッチとしてそれぞれターゲットデータ値に一致する度合いを表す、請求項1〜12のいずれかに記載の方法。
  14. 第1のコードの少なくとも1つの要素について、セット内の少なくとも1つの要素値が、第1のレコードのフィールド若しくはフィールドの組み合わせにおいて発生する1又は2以上の値から、及び前記第1のレコードとは異なる少なくとも第2のレコードを含む1又は2以上のレコードのセットのフィールド若しくはフィールドの組み合わせにおいて発生する1又は2以上の値から、計算されるデータ値を符号化する、請求項1〜13のいずれかに記載の方法。
  15. 第1のレコードが、第1のデータセット内にあり、第2のレコードが、前記第1のデータセットとは異なる第2のデータセット内にある、請求項14に記載の方法。
  16. 少なくとも第2のコードの少なくとも1つの要素について、セット内の少なくとも1つの要素値が、フィールドにおいて発生する所定のデータ値を表す、請求項1〜15のいずれかに記載の方法。
  17. 第2のコードの要素についての要素値のセット内の要素値の数が、データセットにおける複数のレコードのすべてにわたって対応するフィールド又はフィールドの組み合わせにおいて発生するデータ値の総数に等しい、請求項16に記載の方法。
  18. コンピュータプログラムを記憶するコンピュータ可読ストレージ媒体であって、前記コンピュータプログラムが、コンピュータシステムに、
    複数のレコードを含む少なくとも1つのデータセットをデータストレージシステムに記憶させ、
    前記レコードにおけるデータパターンを表すコードを生成するために、前記データストレージシステムに接続された、前記コンピュータシステムの少なくとも1つのプロセッサにおいて、前記複数のレコードを処理させるための命令を含み、前記データパターンが、前記レコードのそれぞれに含まれる1又は2以上のフィールドにおける、データのポピュレーション又はデータの有効性のうちの少なくとも1つを表し、
    前記処理させることが、前記複数のレコードにおける多様なレコードのそれぞれについて、1又は2以上の要素を符号化するコードを前記レコードに関連付けることであって、それぞれの要素が、要素値のセットの1つとして、対応するフィールド若しくはフィールドの組み合わせの状態又はプロパティを表し、少なくとも第1のコードの少なくとも1つの要素について、前記セット内の要素値の数が、前記データセットにおける前記複数のレコードのすべてにわたって前記対応するフィールド若しくはフィールドの組み合わせにおいて発生するデータ値の総数よりも少ないことと、
    前記多様なレコードと関連付けられた前記コードに基づいて対応するフィールド又はフィールドの組み合わせの状態又はプロパティを集約するパターン情報をユーザインターフェース内のグラフィカル表示を通してユーザに表示することを含む、
    コンピュータ可読ストレージ媒体。
  19. 複数のレコードを含む少なくとも1つのデータセットを記憶するように構成されたデータストレージシステムと、
    前記レコードにおけるデータパターンを表すコードを生成するために、前記複数のレコードを処理するように構成された、前記データストレージシステムに接続されたデータ処理システムであって、前記データパターンが、前記レコードのそれぞれに含まれる1又は2以上のフィールドにおける、データのポピュレーション又はデータの有効性のうちの少なくとも1つを表す、システムと
    を含むシステムであって、
    前記処理することが、前記複数のレコードにおける多様なレコードのそれぞれについて、1又は2以上の要素を符号化するコードを前記レコードに関連付けることであって、それぞれの要素が、要素値のセットの1つとして、対応するフィールド若しくはフィールドの組み合わせの状態又はプロパティを表し、少なくとも第1のコードの少なくとも1つの要素について、前記セット内の要素値の数が、前記データセットにおける前記複数のレコードのすべてにわたって前記対応するフィールド若しくはフィールドの組み合わせにおいて発生するデータ値の総数よりも少ないことと、
    前記多様なレコードと関連付けられた前記コードに基づいて対応するフィールド又はフィールドの組み合わせの状態又はプロパティを集約するパターン情報をユーザインターフェース内のグラフィカル表示を通してユーザに表示することを含む
    システム。
  20. 複数のレコードを含む少なくとも1つのデータセットを記憶するための手段と、
    前記レコードにおけるデータパターンを表すコードを生成するために、前記複数のレコードを処理するための手段であって、前記データパターンが、前記レコードのそれぞれに含まれる1又は2以上のフィールドにおける、データのポピュレーション又はデータの有効性のうちの少なくとも1つを表す、手段と
    を含むシステムであって、
    前記処理することが、前記複数のレコードにおける多様なレコードのそれぞれについて、1又は2以上の要素を符号化するコードを前記レコードに関連付けることであって、それぞれの要素が、要素値のセットの1つとして、対応するフィールド若しくはフィールドの組み合わせの状態又はプロパティを表し、少なくとも第1のコードの少なくとも1つの要素について、前記セット内の要素値の数が、前記データセットにおける前記複数のレコードのすべてにわたって前記対応するフィールド若しくはフィールドの組み合わせにおいて発生するデータ値の総数よりも少ないことと、
    前記多様なレコードと関連付けられた前記コードに基づいて対応するフィールド又はフィールドの組み合わせの状態又はプロパティを集約するパターン情報をユーザインターフェース内のグラフィカル表示を通してユーザに表示することを含む
    システム。
  21. 第1のコードの少なくとも1つの要素について、セット内の少なくとも2つの要素値が、ポピュレートされている又はポピュレートされていないときのフィールドの状態をそれぞれ表し、ポピュレートされていない状態が、空状態及び非存在状態の両方を含む、請求項1に記載の方法。
  22. パターン情報を表示するステップが、
    多様なレコードに関連付けられたコードに少なくとも部分的に基づいて前記多様なレコードを特徴づける1又は2以上のデータパターンを決定するステップ、及び
    決定された前記1又は2以上のデータパターンからの少なくとも1つの対応する決定されたデータパターンに基づいて、前記多様なレコードの1又は2以上のサブセットを処理するステップ
    を含む、請求項1に記載の方法。
  23. 第1のコードの少なくとも1つの要素について、セット内の1又は2以上の要素値が、第1のフィールドにおいて発生するデータ値がターゲットデータ値と一致する度合いを表す、請求項18に記載のコンピュータ可読ストレージ媒体。
  24. ターゲットデータ値が、第2のフィールドにおいて発生するデータ値である、請求項23に記載のコンピュータ可読ストレージ媒体。
  25. 第1のコードの少なくとも1つの要素について、セット内の少なくとも1つの要素値が、第1のレコードのフィールド若しくはフィールドの組み合わせにおいて発生する1又は2以上の値から、及び前記第1のレコードとは異なる少なくとも第2のレコードを含む1又は2以上のレコードのセットのフィールド若しくはフィールドの組み合わせにおいて発生する1又は2以上の値から、計算されるデータ値を符号化する、請求項18に記載のコンピュータ可読ストレージ媒体。
  26. 第1のレコードが、第1のデータセット内にあり、第2のレコードが、前記第1のデータセットとは異なる第2のデータセット内にある、請求項25に記載のコンピュータ可読ストレージ媒体。
  27. 第1のコードの少なくとも1つの要素について、セット内の少なくとも2つの要素値が、ポピュレートされている又はポピュレートされていないときのフィールドの状態をそれぞれ表し、ポピュレートされていない状態が、空状態及び非存在状態の両方を含む、請求項18に記載のコンピュータ可読ストレージ媒体。
  28. パターン情報を表示することが、
    多様なレコードに関連付けられたコードに少なくとも部分的に基づいて前記多様なレコードを特徴づける1又は2以上のデータパターンを決定すること、及び
    決定された前記1又は2以上のデータパターンからの少なくとも1つの対応する決定されたデータパターンに基づいて、前記多様なレコードの1又は2以上のサブセットを処理すること
    を含む、請求項18に記載のコンピュータ可読ストレージ媒体。
JP2013551372A 2011-01-28 2012-01-27 データパターン情報の生成 Active JP6066927B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201161437361P 2011-01-28 2011-01-28
US61/437,361 2011-01-28
PCT/US2012/022905 WO2012103438A1 (en) 2011-01-28 2012-01-27 Generating data pattern information

Publications (2)

Publication Number Publication Date
JP2014511587A JP2014511587A (ja) 2014-05-15
JP6066927B2 true JP6066927B2 (ja) 2017-01-25

Family

ID=45607383

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013551372A Active JP6066927B2 (ja) 2011-01-28 2012-01-27 データパターン情報の生成

Country Status (8)

Country Link
US (2) US9449057B2 (ja)
EP (1) EP2668725B1 (ja)
JP (1) JP6066927B2 (ja)
KR (1) KR101889120B1 (ja)
CN (1) CN103348598B (ja)
AU (1) AU2012211167B2 (ja)
CA (1) CA2823658C (ja)
WO (1) WO2012103438A1 (ja)

Families Citing this family (58)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100922141B1 (ko) * 2003-09-15 2009-10-19 아브 이니티오 소프트웨어 엘엘시 데이터 프로파일링 방법 및 시스템
US9430773B2 (en) 2006-07-18 2016-08-30 American Express Travel Related Services Company, Inc. Loyalty incentive program using transaction cards
US9558505B2 (en) 2006-07-18 2017-01-31 American Express Travel Related Services Company, Inc. System and method for prepaid rewards
US9542690B2 (en) 2006-07-18 2017-01-10 American Express Travel Related Services Company, Inc. System and method for providing international coupon-less discounts
US10102398B2 (en) 2009-06-01 2018-10-16 Ab Initio Technology Llc Generating obfuscated data
KR20150040384A (ko) 2009-06-10 2015-04-14 아브 이니티오 테크놀로지 엘엘시 테스트 데이터의 생성
US9449057B2 (en) 2011-01-28 2016-09-20 Ab Initio Technology Llc Generating data pattern information
US8595200B2 (en) * 2012-01-03 2013-11-26 Wizsoft Ltd. Finding suspicious association rules in data records
US9195988B2 (en) 2012-03-13 2015-11-24 American Express Travel Related Services Company, Inc. Systems and methods for an analysis cycle to determine interest merchants
US10181126B2 (en) * 2012-03-13 2019-01-15 American Express Travel Related Services Company, Inc. Systems and methods for tailoring marketing
US9116947B2 (en) * 2012-03-15 2015-08-25 Hewlett-Packard Development Company, L.P. Data-record pattern searching
US10664883B2 (en) 2012-09-16 2020-05-26 American Express Travel Related Services Company, Inc. System and method for monitoring activities in a digital channel
US8868444B2 (en) 2012-09-16 2014-10-21 American Express Travel Related Services Company, Inc. System and method for rewarding in channel accomplishments
CA2887661C (en) * 2012-10-22 2022-08-02 Ab Initio Technology Llc Characterizing data sources in a data storage system
CA2887670C (en) 2012-10-22 2021-05-25 Ab Initio Technology Llc Profiling data with location information
US10504132B2 (en) 2012-11-27 2019-12-10 American Express Travel Related Services Company, Inc. Dynamic rewards program
US9892026B2 (en) * 2013-02-01 2018-02-13 Ab Initio Technology Llc Data records selection
US9003382B2 (en) * 2013-02-18 2015-04-07 Red Hat, Inc. Efficient just-in-time compilation
KR102220246B1 (ko) * 2013-12-18 2021-02-24 아브 이니티오 테크놀로지 엘엘시 데이터 생성
US11487732B2 (en) 2014-01-16 2022-11-01 Ab Initio Technology Llc Database key identification
CA2939915C (en) 2014-03-07 2021-02-16 Ab Initio Technology Llc Managing data profiling operations related to data type
US10769122B2 (en) * 2014-03-13 2020-09-08 Ab Initio Technology Llc Specifying and applying logical validation rules to data
US10395237B2 (en) 2014-05-22 2019-08-27 American Express Travel Related Services Company, Inc. Systems and methods for dynamic proximity based E-commerce transactions
GB201409214D0 (en) * 2014-05-23 2014-07-09 Ibm A method and system for processing a data set
US9606903B2 (en) * 2014-06-06 2017-03-28 Paypal, Inc. Unit test automation for business rules and applications
US9355114B1 (en) 2014-06-25 2016-05-31 Groupon, Inc. Graph-based compression of data records
US9922290B2 (en) 2014-08-12 2018-03-20 Microsoft Technology Licensing, Llc Entity resolution incorporating data from various data sources which uses tokens and normalizes records
KR102356771B1 (ko) * 2014-09-08 2022-01-27 아브 이니티오 테크놀로지 엘엘시 데이터 구동 테스트 프레임워크
US10176234B2 (en) 2014-11-05 2019-01-08 Ab Initio Technology Llc Impact analysis
CN104820720A (zh) * 2015-05-26 2015-08-05 北京京东尚科信息技术有限公司 一种数据质量检测方法和装置
US10140327B2 (en) * 2015-08-24 2018-11-27 Palantir Technologies Inc. Feature clustering of users, user correlation database access, and user interface generation system
US11386061B2 (en) 2015-10-16 2022-07-12 Microsoft Technology Licensing, Llc Telemetry request system
US11288245B2 (en) 2015-10-16 2022-03-29 Microsoft Technology Licensing, Llc Telemetry definition system
US10929272B2 (en) * 2015-10-16 2021-02-23 Microsoft Technology Licensing, Llc Telemetry system extension
US10430284B2 (en) * 2016-06-08 2019-10-01 International Business Machines Corporation Creating a full backup image from incremental backups
CN106202240A (zh) * 2016-06-29 2016-12-07 华能国际电力股份有限公司 物资编码数据处理方法及装置
US11256710B2 (en) 2016-10-20 2022-02-22 Microsoft Technology Licensing, Llc String transformation sub-program suggestion
US11620304B2 (en) 2016-10-20 2023-04-04 Microsoft Technology Licensing, Llc Example management for string transformation
US10846298B2 (en) 2016-10-28 2020-11-24 Microsoft Technology Licensing, Llc Record profiling for dataset sampling
CA2989617A1 (en) * 2016-12-19 2018-06-19 Capital One Services, Llc Systems and methods for providing data quality management
US10229750B2 (en) * 2017-01-18 2019-03-12 Bank Of America Corporation Memory management architecture for use with a diagnostic tool
CN107403371B (zh) * 2017-04-13 2020-06-09 阿里巴巴集团控股有限公司 一种数据生成方法和装置
US20190163734A1 (en) * 2017-11-27 2019-05-30 Microsoft Technology Licensing, Llc Dynamic pattern recognition in spreadsheets
US11068540B2 (en) 2018-01-25 2021-07-20 Ab Initio Technology Llc Techniques for integrating validation results in data profiling and related systems and methods
US10891307B2 (en) * 2018-05-31 2021-01-12 Microsoft Technology Licensing, Llc Distributed data synchronization in a distributed computing system
CN108959411B (zh) * 2018-06-07 2020-12-08 新华三大数据技术有限公司 Etl任务的处理方法、装置和设备
WO2020005090A1 (en) * 2018-06-25 2020-01-02 Siemens Aktiengesellschaft System and method for streaming measurement data
US11526630B2 (en) 2019-02-21 2022-12-13 The Toronto-Dominion Bank Managing cryptographically secure exchanges of data using permissioned distributed ledgers
US10782942B1 (en) * 2019-09-13 2020-09-22 Capital One Services, Llc Rapid onboarding of data from diverse data sources into standardized objects with parser and unit test generation
CN111008523A (zh) * 2019-11-21 2020-04-14 中科鼎富(北京)科技发展有限公司 一种信息提取方法、装置及服务器
CN111177179B (zh) * 2019-12-06 2023-11-10 北京懿医云科技有限公司 一种信息记录方法及装置
CN111259107B (zh) 2020-01-10 2023-08-18 北京百度网讯科技有限公司 行列式文本的存储方法、装置以及电子设备
US11657033B2 (en) * 2020-10-16 2023-05-23 Capital One Services, Llc Systems and methods for maintaining data quality in a data store receiving both low and high quality data
US11593382B2 (en) 2021-03-22 2023-02-28 International Business Machines Corporation Efficient storage of columns with inappropriate data types in relational databases
US11449487B1 (en) 2021-03-22 2022-09-20 International Business Machines Corporation Efficient indexing of columns with inappropriate data types in relational databases
US20220318418A1 (en) * 2021-03-31 2022-10-06 Collibra Nv Systems and methods for an on-demand, secure, and predictive value-added data marketplace
CN114356985B (zh) * 2021-12-24 2024-04-02 深圳市傲天科技股份有限公司 信息估计方法、装置、设备及存储介质
CN114677955B (zh) * 2022-03-17 2023-09-26 Tcl华星光电技术有限公司 显示面板及其控制方法

Family Cites Families (87)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5179643A (en) 1988-12-23 1993-01-12 Hitachi, Ltd. Method of multi-dimensional analysis and display for a large volume of record information items and a system therefor
JPH032938A (ja) 1989-05-31 1991-01-09 Hitachi Ltd データベース処理方法
FR2698465B1 (fr) 1992-11-20 1995-01-13 Bull Sa Méthode d'extraction de profils de statistiques, utilisation des statistiques créées par la méthode.
JP3079881B2 (ja) 1993-08-10 2000-08-21 三菱自動車工業株式会社 道路交通状況推定方法および車両運転特性制御方法
US5742806A (en) 1994-01-31 1998-04-21 Sun Microsystems, Inc. Apparatus and method for decomposing database queries for database management system including multiprocessor digital data processing system
JP3519126B2 (ja) 1994-07-14 2004-04-12 株式会社リコー 自動レイアウトシステム
US5842200A (en) 1995-03-31 1998-11-24 International Business Machines Corporation System and method for parallel mining of association rules in databases
US6601048B1 (en) 1997-09-12 2003-07-29 Mci Communications Corporation System and method for detecting and managing fraud
US5966072A (en) 1996-07-02 1999-10-12 Ab Initio Software Corporation Executing computations expressed as graphs
US5778373A (en) 1996-07-15 1998-07-07 At&T Corp Integration of an information server database schema by generating a translation map from exemplary files
US6138123A (en) 1996-07-25 2000-10-24 Rathbun; Kyle R. Method for creating and using parallel data structures
JPH1055367A (ja) 1996-08-09 1998-02-24 Hitachi Ltd データ利用システム
US5845285A (en) 1997-01-07 1998-12-01 Klein; Laurence C. Computer system and method of data analysis
US5987453A (en) 1997-04-07 1999-11-16 Informix Software, Inc. Method and apparatus for performing a join query in a database system
US6134560A (en) 1997-12-16 2000-10-17 Kliebhan; Daniel F. Method and apparatus for merging telephone switching office databases
US6826556B1 (en) 1998-10-02 2004-11-30 Ncr Corporation Techniques for deploying analytic models in a parallel
US6959300B1 (en) 1998-12-10 2005-10-25 At&T Corp. Data compression method and apparatus
US6343294B1 (en) 1998-12-15 2002-01-29 International Business Machines Corporation Data file editor for multiple data subsets
US6741995B1 (en) 1999-03-23 2004-05-25 Metaedge Corporation Method for dynamically creating a profile
US6163774A (en) 1999-05-24 2000-12-19 Platinum Technology Ip, Inc. Method and apparatus for simplified and flexible selection of aggregate and cross product levels for a data warehouse
WO2000079415A2 (en) 1999-06-18 2000-12-28 Torrent Systems, Inc. Segmentation and processing of continuous data streams using transactional semantics
US6801938B1 (en) 1999-06-18 2004-10-05 Torrent Systems, Inc. Segmentation and processing of continuous data streams using transactional semantics
JP3318834B2 (ja) 1999-07-30 2002-08-26 三菱電機株式会社 データファイルシステム及びデータ検索方法
JP3567861B2 (ja) 2000-07-07 2004-09-22 日本電信電話株式会社 情報源所在推定方法及び装置及び情報源所在推定プログラムを格納した記憶媒体
JP4366845B2 (ja) 2000-07-24 2009-11-18 ソニー株式会社 データ処理装置およびデータ処理方法、並びにプログラム提供媒体
US6788302B1 (en) 2000-08-03 2004-09-07 International Business Machines Corporation Partitioning and load balancing graphical shape data for parallel applications
US6952693B2 (en) 2001-02-23 2005-10-04 Ran Wolff Distributed mining of association rules
US20020161778A1 (en) 2001-02-24 2002-10-31 Core Integration Partners, Inc. Method and system of data warehousing and building business intelligence using a data storage model
US20020120602A1 (en) 2001-02-28 2002-08-29 Ross Overbeek System, method and computer program product for simultaneous analysis of multiple genomes
CA2349265A1 (en) 2001-05-30 2002-11-30 Andrew Emili Protein expression profile database
US20030033138A1 (en) 2001-07-26 2003-02-13 Srinivas Bangalore Method for partitioning a data set into frequency vectors for clustering
US7130852B2 (en) 2001-07-27 2006-10-31 Silicon Valley Bank Internal security system for a relational database system
US7013290B2 (en) 2001-08-03 2006-03-14 John Allen Ananian Personalized interactive digital catalog profiling
US6801903B2 (en) 2001-10-12 2004-10-05 Ncr Corporation Collecting statistics in a database system
US20030140027A1 (en) 2001-12-12 2003-07-24 Jeffrey Huttel Universal Programming Interface to Knowledge Management (UPIKM) database system with integrated XML interface
US7813937B1 (en) 2002-02-15 2010-10-12 Fair Isaac Corporation Consistency modeling of healthcare claims to detect fraud and abuse
US7031969B2 (en) 2002-02-20 2006-04-18 Lawrence Technologies, Llc System and method for identifying relationships between database records
AU2003223314B2 (en) 2002-03-19 2007-04-05 Mapinfo Corporation Location based service provider
US20040083199A1 (en) 2002-08-07 2004-04-29 Govindugari Diwakar R. Method and architecture for data transformation, normalization, profiling, cleansing and validation
US6657568B1 (en) * 2002-08-27 2003-12-02 Fmr Corp. Data packing for real-time streaming
US7047230B2 (en) 2002-09-09 2006-05-16 Lucent Technologies Inc. Distinct sampling system and a method of distinct sampling for optimizing distinct value query estimates
US7043476B2 (en) 2002-10-11 2006-05-09 International Business Machines Corporation Method and apparatus for data mining to discover associations and covariances associated with data
WO2004036461A2 (en) 2002-10-14 2004-04-29 Battelle Memorial Institute Information reservoir
US7698163B2 (en) 2002-11-22 2010-04-13 Accenture Global Services Gmbh Multi-dimensional segmentation for use in a customer interaction
US7403942B1 (en) 2003-02-04 2008-07-22 Seisint, Inc. Method and system for processing data records
US7117222B2 (en) 2003-03-13 2006-10-03 International Business Machines Corporation Pre-formatted column-level caching to improve client performance
US7433861B2 (en) 2003-03-13 2008-10-07 International Business Machines Corporation Byte-code representations of actual data to reduce network traffic in database transactions
US20040249810A1 (en) 2003-06-03 2004-12-09 Microsoft Corporation Small group sampling of data for use in query processing
GB0314591D0 (en) 2003-06-21 2003-07-30 Ibm Profiling data in a data store
US20060069717A1 (en) 2003-08-27 2006-03-30 Ascential Software Corporation Security service for a services oriented architecture in a data integration platform
US20050240354A1 (en) 2003-08-27 2005-10-27 Ascential Software Corporation Service oriented architecture for an extract function in a data integration platform
US7426520B2 (en) 2003-09-10 2008-09-16 Exeros, Inc. Method and apparatus for semantic discovery and mapping between data sources
KR100922141B1 (ko) * 2003-09-15 2009-10-19 아브 이니티오 소프트웨어 엘엘시 데이터 프로파일링 방법 및 시스템
US7296008B2 (en) * 2004-08-24 2007-11-13 Symantec Operating Corporation Generation and use of a time map for accessing a prior image of a storage device
US7587394B2 (en) 2003-09-23 2009-09-08 International Business Machines Corporation Methods and apparatus for query rewrite with auxiliary attributes in query processing operations
US7149736B2 (en) 2003-09-26 2006-12-12 Microsoft Corporation Maintaining time-sorted aggregation records representing aggregations of values from multiple database records using multiple partitions
AU2003279999A1 (en) 2003-10-21 2005-06-08 Nielsen Media Research, Inc. Methods and apparatus for fusing databases
US7376656B2 (en) 2004-02-10 2008-05-20 Microsoft Corporation System and method for providing user defined aggregates in a database system
US20050177578A1 (en) 2004-02-10 2005-08-11 Chen Yao-Ching S. Efficient type annontation of XML schema-validated XML documents without schema validation
US8447743B2 (en) 2004-08-17 2013-05-21 International Business Machines Corporation Techniques for processing database queries including user-defined functions
US8145642B2 (en) 2004-11-30 2012-03-27 Oracle International Corporation Method and apparatus to support bitmap filtering in a parallel system
US8572018B2 (en) 2005-06-20 2013-10-29 New York University Method, system and software arrangement for reconstructing formal descriptive models of processes from functional/modal data using suitable ontology
US7716630B2 (en) 2005-06-27 2010-05-11 Ab Initio Technology Llc Managing parameters for graph-based computations
US7774346B2 (en) 2005-08-26 2010-08-10 Oracle International Corporation Indexes that are based on bitmap values and that use summary bitmap values
US20070073721A1 (en) * 2005-09-23 2007-03-29 Business Objects, S.A. Apparatus and method for serviced data profiling operations
US8271452B2 (en) 2006-06-12 2012-09-18 Rainstor Limited Method, system, and database archive for enhancing database archiving
US8412713B2 (en) 2007-03-06 2013-04-02 Mcafee, Inc. Set function calculation in a database
US8775441B2 (en) 2008-01-16 2014-07-08 Ab Initio Technology Llc Managing an archive for approximate string matching
US20090226916A1 (en) 2008-02-01 2009-09-10 Life Technologies Corporation Automated Analysis of DNA Samples
US7912867B2 (en) 2008-02-25 2011-03-22 United Parcel Services Of America, Inc. Systems and methods of profiling data for integration
CN101290625A (zh) * 2008-06-11 2008-10-22 华东师范大学 一种xml文档的存储和检索方法
US8463739B2 (en) 2008-08-28 2013-06-11 Red Hat, Inc. Systems and methods for generating multi-population statistical measures using middleware
US20100114976A1 (en) 2008-10-21 2010-05-06 Castellanos Maria G Method For Database Design
JP5535230B2 (ja) 2008-10-23 2014-07-02 アビニシオ テクノロジー エルエルシー ファジーなデータ操作
US9251212B2 (en) 2009-03-27 2016-02-02 Business Objects Software Ltd. Profiling in a massive parallel processing environment
WO2011035039A1 (en) * 2009-09-16 2011-03-24 Ab Initio Technology Llc Mapping dataset elements
US8560575B2 (en) 2009-11-12 2013-10-15 Salesforce.Com, Inc. Methods and apparatus for selecting updates to associated records to publish on an information feed in an on-demand database service environment
EP2499565B1 (en) * 2009-11-13 2019-01-09 Ab Initio Technology LLC Managing record format information
US8396873B2 (en) 2010-03-10 2013-03-12 Emc Corporation Index searching using a bloom filter
CA2801079C (en) 2010-06-22 2016-05-03 Ab Initio Technology Llc Processing related datasets
US8296274B2 (en) 2011-01-27 2012-10-23 Leppard Andrew Considering multiple lookups in bloom filter decision making
US9449057B2 (en) 2011-01-28 2016-09-20 Ab Initio Technology Llc Generating data pattern information
US9275367B2 (en) 2011-05-05 2016-03-01 Aegis Analytical Corporation System for designating, displaying and selecting types of process parameters and product outcome parameters
US8615519B2 (en) 2011-06-17 2013-12-24 Sap Ag Method and system for inverted indexing of a dataset
US8856085B2 (en) 2011-07-19 2014-10-07 International Business Machines Corporation Automatic consistent sampling for data analysis
CN103176973B (zh) 2011-12-20 2016-04-20 国际商业机器公司 用于生成数据库的测试工作负载的系统和方法
US8762396B2 (en) 2011-12-22 2014-06-24 Sap Ag Dynamic, hierarchical bloom filters for network data routing

Also Published As

Publication number Publication date
CN103348598A (zh) 2013-10-09
US20160078100A1 (en) 2016-03-17
KR20140014155A (ko) 2014-02-05
EP2668725A1 (en) 2013-12-04
US9652513B2 (en) 2017-05-16
US9449057B2 (en) 2016-09-20
CA2823658C (en) 2018-03-13
AU2012211167B2 (en) 2014-08-21
US20120197887A1 (en) 2012-08-02
EP2668725B1 (en) 2021-12-22
CN103348598B (zh) 2017-07-14
WO2012103438A1 (en) 2012-08-02
CA2823658A1 (en) 2012-08-02
KR101889120B1 (ko) 2018-08-16
AU2012211167A1 (en) 2013-05-02
JP2014511587A (ja) 2014-05-15

Similar Documents

Publication Publication Date Title
JP6066927B2 (ja) データパターン情報の生成
CN110020660B (zh) 使用人工智能(ai)技术的非结构化过程的完整性评估
US20190266075A1 (en) Data records selection
KR102432104B1 (ko) 데이터 요소 간의 관계를 결정하기 위한 시스템 및 방법
US8768976B2 (en) Operational-related data computation engine
AU2011205296B2 (en) Matching metadata sources using rules for characterizing matches
US8041760B2 (en) Service oriented architecture for a loading function in a data integration platform
US8060553B2 (en) Service oriented architecture for a transformation function in a data integration platform
US7814142B2 (en) User interface service for a services oriented architecture in a data integration platform
US7814470B2 (en) Multiple service bindings for a real time data integration service
US8250116B2 (en) KStore data simulator directives and values processor process and files
US20050262193A1 (en) Logging service for a services oriented architecture in a data integration platform
US20060069717A1 (en) Security service for a services oriented architecture in a data integration platform
US20050240592A1 (en) Real time data integration for supply chain management
US20050240354A1 (en) Service oriented architecture for an extract function in a data integration platform
US20050228808A1 (en) Real time data integration services for health care information data integration
US20050222931A1 (en) Real time data integration services for financial information data integration
US11947567B2 (en) System and method for computing and managing datasets using hierarchical analytics
US9348850B1 (en) Method for large-scale data schema analysis and quality assurance
CN115952186A (zh) 一种问题数据及其链路追溯方法及装置
US9330115B2 (en) Automatically reviewing information mappings across different information models
Oelsner et al. IQM4HD concepts
Srivastava et al. An Overview on Data Cleaning on Real World Data
Campesato Data Wrangling Using Pandas, SQL, and Java
CN115545934A (zh) 数据处理方法和装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150115

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20151021

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20151027

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20160126

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160219

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20160725

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161012

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20161017

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20161107

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20161121

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161220

R150 Certificate of patent or registration of utility model

Ref document number: 6066927

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250