JP5690349B2 - レコード形式情報の管理 - Google Patents

レコード形式情報の管理 Download PDF

Info

Publication number
JP5690349B2
JP5690349B2 JP2012539018A JP2012539018A JP5690349B2 JP 5690349 B2 JP5690349 B2 JP 5690349B2 JP 2012539018 A JP2012539018 A JP 2012539018A JP 2012539018 A JP2012539018 A JP 2012539018A JP 5690349 B2 JP5690349 B2 JP 5690349B2
Authority
JP
Japan
Prior art keywords
data
record format
format
field
records
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
JP2012539018A
Other languages
English (en)
Other versions
JP2013511097A (ja
JP2013511097A5 (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 JP2013511097A publication Critical patent/JP2013511097A/ja
Publication of JP2013511097A5 publication Critical patent/JP2013511097A5/ja
Application granted granted Critical
Publication of JP5690349B2 publication Critical patent/JP5690349B2/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/23Updating
    • G06F16/2365Ensuring data consistency and integrity

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

(関連出願への相互参照)
本出願は、2009年11月13日出願の米国特許出願第61/260,997号に対する優先権を主張し、参照によりその内容を本明細書に組み込むものとする。
本明細書は、レコード形式情報の管理に関する。
組織は、複数の異なるシステムからのデータを管理する。システムは、データのデータセットをシステムに固有の形式で生成してもよい。他のシステムは、カンマ区切りファイル又はXML文書などの標準の形式を使用してデータセットを生成する。一般に、たとえデータセットの形式が標準的であっても、データセット内のレコード及びフィールドはシステム特有である。
幾つかのシステムは、インポート機構を通して他のシステムによって提供されたデータセットを受け入れる。インポートは、処理のために、外部データセットをシステム固有の形式に変換する。他のシステムは、システムが必ずしも変換を必要とせずに外部データセットを処理できるようにするのに十分なデータセットを記述するレコード形式を作成する。
一態様では、一般に、データ記憶システム内の形式情報に基づいてデータ処理システム内で処理するためのデータを作成する方法である。入力デバイス又はポートを介してそれぞれのフィールドに対する1つ又は複数の値をそれぞれが有するレコードを含むデータが受信される。データ処理システム内のデータを処理するためのターゲットレコード形式が決定される。データ内の複数のレコードは、データがデータ記憶システム内に格納された1つ又は複数の候補レコード形式と一致するか否かを決定するために、複数の妥当性確認テストに従って分析される。各候補レコード形式は、1つ又は複数のフィールドのグループの各フィールドについて形式を指定し、各妥当性確認テストは、データ記憶システム内に格納された少なくとも1つの候補レコード形式に対応する。妥当性確認テストの結果の受信に応答して、ターゲットレコード形式は、選択済み候補レコード形式に対応する少なくとも1つの妥当性確認テストに従って少なくとも部分的一致が決定された選択済み候補レコード形式と、データに関連付けられた既知のデータタイプに従って選択されたパーザ(parser)によって生成された解析済みレコード形式と、データの特徴の分析から生成された構築済みレコード形式のうち少なくとも1つに基づいてデータに関連付けられる。
態様は、以下の機能のうち1つ又はそれ以上を含むことができる。
いずれの妥当性確認テストも候補レコード形式のうちの1つ又は複数に対する少なくとも部分的一致を決定しないことに応答して、解析済みレコード形式に基づいてターゲットレコード形式をデータに関連付ける。データに関連付けられた既知のデータタイプは、データのファイルタイプに基づいて知ることができる。データのファイルタイプは、ファイル拡張子に対応するものとすることができる。いずれの妥当性確認テストも候補レコード形式のうち1つ又は複数に対する少なくとも部分的一致を決定しないこと、及びデータに関連付けられた既知のデータタイプを有さないことに応答して、構築済みレコード形式に基づいてターゲットレコード形式をデータに関連付ける。データの特徴の分析から構築済みレコード形式を生成することは、データ内のタグを認識すること、及び認識されたタグに基づいて複数のレコードを決定するためにデータを解析することを含んでもよい。データの特徴の分析から構築済みレコード形式を生成することは、データ内の区切り文字を認識すること、及び認識された区切り文字に基づいて複数のレコードを決定するためにデータを解析することを含んでもよい。データの特徴の分析から構築済みレコード形式を生成することは、データが、複数のレコードの値を示すタグ又は区切り文字のない、実質上バイナリ形式であることを認識すること、及びユーザインターフェイスから1つ又は複数のフィールド識別子を受け取ることを含んでもよい。第1の候補レコード形式に対応する複数の妥当性確認テストのうちの第1の妥当性確認テストに従ってデータ内の複数のレコードを分析することは、各フィールドに対する第1の候補レコード形式によって指定された形式で各レコードに対する値を決定するために、第1の候補レコード形式をデータに適用することを含んでもよい。データが第1の候補レコード形式と一致するか否かを決定することは、幾つかの有効値が所定のしきい値よりも大きいか否かを決定するために、第1の妥当性確認テストに従って複数のレコードに対して決定された値を分析することを含んでもよい。第1の妥当性確認テストに従って複数のレコードのうちの第1のレコードに対して決定された値を分析することは、各フィールドに対して決定された各値について対応するフィールドテストを実行することを含んでもよい。第1のフィールドに対して決定された値について第1のフィールドテストを実行することは、決定された値の中の幾つかの文字を所定数の文字と突き合せることを含んでもよい。第1のフィールドに対して決定された値について第1のフィールドテストを実行することは、決定された値を第1のフィールドに対する複数の所定の有効値のうちの1つと突き合せることを含んでもよい。有効値の数は、所与のフィールドに対して決定された値が所与のフィールドに対応するフィールドテストに合格した幾つかのレコードに基づくものとすることができる。
別の態様では、一般に、データ記憶システム内の形式情報に基づいてデータ処理システム内で処理するためにデータを準備するためのシステムは、入力デバイス又はポートを介してそれぞれのフィールドに対する1つ又は複数の値をそれぞれが有するレコードを含むデータを受信するための手段と、データ処理システム内のデータを処理するためのターゲットレコード形式を決定するための手段とを含む。ターゲットレコード形式を決定するための手段は、データが、データ記憶システムに格納された1つ又は複数の候補レコード形式と一致するか否かを決定するために、複数の妥当性確認テストに従ってデータ内の複数のレコードを分析し、各候補レコード形式は1つ又は複数のフィールドのグループのうちの各フィールドに対して形式を指定し、各妥当性確認テストはデータ記憶システムに格納された少なくとも1つの候補レコード形式に対応し、並びに、妥当性確認テストの結果の受信に応答して、選択済み候補レコード形式に対応する少なくとも1つの妥当性確認テストに従って少なくとも部分的一致が決定された選択済み候補レコード形式と、データに関連付けられた既知のデータタイプに従って選択されたパーザによって生成された解析済みレコード形式と、データの特徴の分析から生成された構築済みレコード形式のうち少なくとも1つに基づいてターゲットレコード形式をデータに関連付けるように構成してもよい。
別の態様では、一般に、コンピュータ読み取り可能媒体が、データ記憶システム内の形式情報に基づいてデータ処理システム内で処理するためにデータを準備するためのコンピュータプログラムを格納する。コンピュータプログラムは、入力デバイス又はポートを介してそれぞれのフィールドに対する1つ又は複数の値をそれぞれが有するレコードを含むデータを受信すること、並びに、データが、データ記憶システムに格納された1つ又は複数の候補レコード形式と一致するか否かを決定するために、複数の妥当性確認テストに従ってデータ内の複数のレコードを分析し、各候補レコード形式は1つ又は複数のフィールドのグループのうちの各フィールドに対して形式を指定し、各妥当性確認テストはデータ記憶システムに格納された少なくとも1つの候補レコード形式に対応し、及び妥当性確認テストの結果の受信に応答して、選択済み候補レコード形式に対応する少なくとも1つの妥当性確認テストに従って、少なくとも部分的一致が決定された選択済み候補レコード形式と、データに関連付けられた既知のデータタイプに従って選択されたパーザによって生成された解析済みレコード形式と、データの特徴の分析から生成された構築済みレコード形式のうち少なくとも1つに基づいてターゲットレコード形式をデータに関連付けることを含むデータ処理システム内のデータを処理するためのターゲットレコード形式を決定することをコンピュータに実行させるための命令を含む。
本発明の他の特徴及び利点は、以下の説明及び特許請求の範囲から明らかとなろう。
グラフベースの計算を実行するためのシステムのブロック図である。 レコード形式情報を管理するための例示的手順のフローチャートである。 例示的事前処理モジュールのブロック図である。 サンプルデータに基づいてレコード形式を決定する事前処理モジュールの例示的処理を示すブロック図である。 サンプルデータに基づいてレコード形式の妥当性を確認する事前処理モジュールの例示的処理を示すブロック図である。 サンプルデータに基づいて既存のレコード形式を識別する事前処理モジュールの例示的処理を示すブロック図である。 パーザに基づいてレコード形式を生成する事前処理モジュールの例示的処理を示すブロック図である。 レコード形式情報を管理するための例示的手順のフローチャートである。 レコード形式情報を管理するための例示的手順のフローチャートである。
図1は、レコード形式管理技術が使用できる例示的なデータ処理システム100を示す。システム100は、記憶装置などのデータの1つ又は複数のソース、又はオンラインデータストリームへの接続を含むことができるデータソース102を含み、そのそれぞれが、様々な記憶形式(例えば、データベーステーブル、スプレッドシートファイル、フラットテキストファイル、又はメインフレームによって使用される固有の形式)のうちのいずれかでデータを格納することができる。実行環境104は、事前処理モジュール106及び実行モジュール112を含む。実行環境104は、UNIXオペレーティングシステムなどの好適なオペレーティングシステムの制御の下で1つ又は複数の汎用コンピュータ上でホストされてもよい。例えば、実行環境104は、ローカル(例えばSMPコンピュータなどのマルチプロセッサシステム)、又はローカル分散型(例えばクラスタ又はMPPとして結合された複数のプロセッサ)、又はリモート、又はリモート分散型(例えば、ローカルエリアネットワーク(LAN)及び/又はワイドエリアネットワーク(WAN)を介して結合された複数のプロセッサ)、又はそれらの任意の組合せのいずれかの複数の中央処理ユニット(CPU)を使用するコンピュータシステムの構成を含む多重ノード並列コンピューティング環境を含むことができる。幾つかの実施態様では、実行モジュール112は、1つ又は複数のプロセッサ上で実行する並列オペレーティングシステムであってもよいオペレーティングシステムを提供し、事前処理モジュール106は、そのオペレーティングシステム内で実行するプログラムとして実行される。ユーザ115は、表示された出力を見ること、及びユーザインターフェイス内に入力することによって、実行環境108と対話する(interact)こともできる。
事前処理モジュール106は、それぞれのフィールドについてそれぞれ1つ又は複数の値を有するレコードを含むデータをデータソース102から受信し、実行モジュール112を使用してレコードを処理するためのターゲットレコード形式を決定する。例えば、事前処理モジュール106は、適切なターゲットレコード形式114がデータ記憶システム116内にすでに格納されていることを決定するか、又は格納されていない場合、ターゲットレコード形式114を生成して、生成されたターゲットレコード形式114をデータ記憶システム116内に格納する。データソース102及びデータ記憶システム116を提供する記憶装置は、例えば、実行環境104を実行中のコンピュータに接続された記憶媒体(例えばハードドライブ108)上に格納されるように、実行環境104に対してローカルとしてもよく、又は例えば、リモート接続を介して、実行環境104を実行中のコンピュータと通信しているリモートシステム(例えばメインフレーム110)上でホストされるように、実行環境104に対してリモートとしてもよい。
実行モジュール112は、決定されたターゲットレコード形式114を使用して、データソース102から受信したレコードを解釈及び処理する。また、レコードを処理するために、実行モジュール112によって実行されるプログラムを開発者120が開発可能な開発環境118もデータ記憶システム116にアクセス可能である。幾つかの実施態様では、開発環境118は、頂点(コンポーネント又はデータセット)間で有向リンク(作業要素の流れを表す)によって接続された頂点を含むデータフローグラフとしてアプリケーションを開発するためのシステムである。例えば、このような環境は、参照により本明細書に組み込むものとする、「Managing Parameters for Graph-Based Applications」という名称の米国特許出願第2007/0011668号で、より詳細に説明されている。
事前処理モジュール106は、異なる形のデータベースシステムを含む様々なタイプのシステムからデータを受信することができる。データは、場合によってはヌル値を含むそれぞれのフィールドに対する値(「属性」又は「カラム」とも呼ばれる)を有するレコードとして編成されてもよい。データソースから最初にデータを読み取る場合、そのデータソースからのレコードのレコード構造を記述するターゲットレコード形式は知られていないが、幾つかの状況では、事前処理モジュール106は、そのデータソース内のレコードに関する幾つかの初期の形式情報から始めてもよい。事前処理モジュール106は、処理されるレコードが格納されたレコード形式によって記述されているか、又はレコード形式が生成されるかを決定するために、データ記憶システム116に格納されたレコード形式の集合を管理する。レコード形式は、別個の値を表すビット数、レコード内のフィールドの順序、及びビットによって表される値のタイプ(例えば文字列、符号付き/符号なし整数)などの様々な特徴を含むことができる。
図2を参照すると、プロセス220に関するフローチャートは、レコード形式を管理するための事前処理モジュール106のうちの幾つかの動作(operation)を含む。機能(capabilities)の中でもとりわけ、事前処理モジュール106はデータを受け入れる222。データは、ファイル、データベース、ユーザインターフェイス、入力ポート、又は任意の他の入力デバイスを通して受信してもよい。他の情報の中でもとりわけ、事前処理モジュール106は、データソースからのレコードに関するレコード形式、又はデータソース102からの1つ又は複数のレコードを含むサンプルデータ、或いはその両方を受信してもよい。サンプルデータは、処理されることになるすべてのレコード又はレコードのサブセットを含むことができる。事前処理モジュール106は、事前処理モジュール106がどの動作の実行を要求されたかの指示も受信してもよい。
事前処理モジュール106の動作は、プロセス経路を決定すること224も含む。事前処理モジュール106は、受信したサンプルデータのレコードを解釈するために、レコード形式を決定するための複数の方法を有してもよい。事前処理モジュール106は、サンプルデータに関する潜在的レコード形式が入力として提供されるか否かに基づいてどのプロセス経路が適切であるかを決定してもよい。システムの幾つかの実施態様では、事前処理モジュール106は、どのプロセス経路が好ましいかを示すデータを受け入れる。
1つのプロセス経路に沿って、事前処理モジュール106の動作は、以下でより詳細に説明するように、サンプルデータの分析に基づいてサンプルデータのターゲットレコード形式を決定すること226を含む。
別のプロセス経路に沿って、事前処理モジュール106の動作は、提供されたレコード形式と提供されたサンプルデータとの比較228に基づいて、サンプルデータのターゲットレコード形式を決定することを含む。幾つかのケースでは、事前処理モジュール106は、サンプルデータと、受け入れたサンプルデータに潜在的に対応する提供されたレコード形式(又は格納されたレコード形式に対する識別子)を受け入れる。事前処理モジュール106は、レコード形式がサンプルデータの構造を表すか否かを決定するために、提供又は識別されたレコード形式とサンプルデータとを比較する。
別のプロセス経路に沿って、事前処理モジュール106の動作は、提供されたサンプルデータに関するレコード形式を見つけること230に基づいて、サンプルデータのターゲットレコード形式を決定することを含む。幾つかのケースでは、事前処理モジュール106はサンプルデータを受け入れ、レコード形式のうちのいずれかがサンプルデータの構造を正しく表すか否かを発見するために、このデータと、レコード形式リポジトリ(例えばデータ記憶システム116内でホストされる)内の既存のレコード形式とを比較する。
動作は、1つ又は複数の潜在的ターゲットレコード形式をユーザに提示すること232も含む。1つ又は複数のレコード形式が決定されると、そのレコード形式をユーザに提示することができる。ユーザは、複数のレコード形式から単一のレコード形式を選択してもよい。ユーザは、レコード形式を修正してもよい。
動作は、ターゲットレコード形式の妥当性を確認すること234も含む。レコード形式が事前処理モジュール106によって受け入れられる前に、事前処理モジュールは、提供されたサンプルデータに照らしてレコード形式の妥当性を確認してもよい。
動作は、ターゲットレコード形式に対して調整を提案すること236も含む。提供されたサンプルデータをレコード形式が解析できない場合、事前処理モジュール106は、レコード形式とサンプルデータとの間の不整合を識別する。この不整合は、サンプルデータを解析する場合に発生したエラーを分析することによって識別してもよい。また、不整合は、サンプルデータ及びレコード形式を分析することによって識別してもよい。次に、プロセス220は、この不整合を修復するように提案する。幾つかの実施態様では、プロセス220は、サンプルデータに基づいてレコード形式を修正することを推奨してもよい。例えば、フィールドが整数表現(例えば、1、2、3、4などの整数値の2進表現)となることをレコード形式が予測し、サンプルデータ内のそのフィールドが形式化された日付の表現(例えば1/21/2008、21/1/2008、01−JAN−2008など)を含む場合、プロセス220は調整を提案してもよい。整数フィールドは形式化された日付を保持できず、日付フィールドは整数を保持できないため、プロセス220は、フィールドを、日付又は整数のいずれかを含むことができる文字列に修正することを提案してもよい。別の例では、プロセス220は、レコード形式によって受け入れられる有効値の範囲を拡大することを提案してもよい。
動作は、ターゲットレコード形式を格納すること238も含む。ターゲットレコード形式は、レコード形式リポジトリに格納してもよい。
図3を参照すると、データ処理システム内で処理するためにデータを準備するための事前処理モジュール300は、データを受け入れるための機構を含む。幾つかのケースでは、入力データはデータベース310としてもよい。データベース310は、システム100によって処理されることになるデータを含んでもよい。他のケースでは、データベース310は、システム100によって処理されることになるデータのより大きなセットを表すデータのサンプルセットを含んでもよい。さらに他のケースでは、データベースはデータのレコード形式の記述を含んでもよい。他のケースでは、入力データはサンプルデータとレコード形式との組合せを含んでもよい。入力データは、リレーショナルデータベース、フラットファイル、又はポートを介して又は別の入力デバイスを介して受信されるデータなどの入力をレコード形式プロセス302内に提供するための別の機構を介してレコード形式プロセス302に通信してもよい。
レコード形式プロセス302は、入力データ310を受け入れ、ターゲットレコード形式を決定する。幾つかのケースでは、入力データは複数のレコードで構成されるサンプルデータを含み、各レコードは複数フィールドに対する値を含む。サンプルデータは、レコード形式を決定するために分析される。他のケースでは、サンプルデータは提供されたレコード形式と比較される。他のケースでは、サンプルデータは、最良の適合を決定するために、レコード形式リポジトリ内の既存のレコード形式と比較される。
幾つかのケースでは、レコード形式プロセス302は、ターゲットレコード形式を決定するために、いずれかの既存のパーザが入力データ310を解析できるか否かを決定するためのパーザを含むパーザカタログ306を検査する。入力データ310を処理するためのパーザが存在しない場合、レコード形式プロセス302は、ターゲットレコード形式を決定するための新しいパーザの構築を可能にするカスタムパーザビルダモジュール308にアクセスしてもよい。
ユーザには、レコード形式が提示され、レコード形式を調整するように許可してもよい。調整されたレコード形式は、レコード形式が依然としてサンプルデータに適合していることを確実にするために、サンプルデータに照らしてチェックしてもよい。
図4を参照すると、幾つかの実施態様では、システムは幾つかのサンプルレコードを含むサンプルデータを受け入れる。事前処理モジュール106は、データのレコード形式の識別を試行する。幾つかの実施態様では、既存の格納されたレコード形式に対する一致が見られない場合、データは、どのように符号化されるかを決定するために分析される。例えばデータは、ASCII又はEBCDIC文字符号化に基づいて符号化するか、又は2進形式にしてもよい。幾つかの実施態様では、次にシステムは、システムが、データを解析することができる使用可能なパーザを有するか否かを決定する。システムは、サンプルデータに関するレコード形式を決定するために、サンプルデータを検査してもよい。例えば、テキストベースのサンプルデータは、区切りフィールド及びレコード、固定長フィールドを使用して形式化してもよく、拡張可能マークアップ言語(XML)などのタグ付きデータは標準汎用マークアップ言語(SGML)である。データは、レコード形式の決定を支援するために、タグ又は区切り文字なしの2進形式としてもよい。2進データは、データベース、スプレッドシート、ワードプロセッシング文書、画像、又は他の2進データとしてもよい。幾つかの実施態様では、2進データのデータタイプは、データ自体の検査に基づいて導出してもよい。他の実施態様では、2進データのデータタイプは、例えばファイル拡張子などのファイルの名前の一部に基づいて推測してもよい。システムは、サンプル形式の解析に基づいてフィールド及びレコードを決定してもよい。例えば、システムが区切りフィールド及びレコードを認識する場合、システムは区切り文字に基づいてデータをフィールド及びレコードに分離する。システムがタグ付きデータを認識する場合、システムはタグに基づいてファイルを解析する。
一例では、図4を参照すると、システムはサンプルデータファイル402を受信する。この例では、データはASCIIテキストを使用して符号化され、キャリッジリターンが異なるレコードを分離しているカンマ区切りフィールドを使用して構造化される。
プロセス矢印404によって表されるように、システムは、サンプルデータに関するレコード形式406を決定するためにサンプルデータの複数のレコードを分析する。この例でシステムは、文字列、文字列、ルックアップ値、電話番号、及び日付という5つのフィールドを識別する。整数、浮動小数点数、固定長テキストフィールド、及び固定長小数などの他のデータタイプも検出及び識別してもよい。幾つかの実施態様では、サンプルデータによって提供された値をプロファイリングすることによって、ルックアップフィールドに使用可能な値を識別してもよい。幾つかの実施態様では、サンプルデータのレコード形式が導出されると、システムはこのサンプルデータを解析して、それぞれのデータフィールドに対する値を決定してもよい。例えば、この情報を使用して、相対的に小さな数の有効値のみを含むフィールドを識別してもよい。幾つかの実施態様では、データのヒューリスティックスの分析に基づいて、サンプルデータのレコード形式を決定してもよい。例えば、固定長レコードのセットの長さはレコード数で均等に分けることも可能である。
幾つかの実施態様では、サンプルデータに関するレコード形式が決定されると、レコード形式はデータに関連付けられる。別の実施態様では、レコード形式をユーザに対して表示してもよく、ユーザはこのレコード形式を修正することができる。プロセス矢印414によって表されるように、修正されたレコード形式は、依然としてサンプルデータに適合していることを確認するために、サンプルデータに照らしてテストされる。レコード形式にサンプルデータの解析を実行不可にさせるデータタイプをユーザが入力した場合、システムはユーザにエラーを提示し、問題を訂正するレコード形式への変更を提案してもよい。この実施態様では、レコード形式は、レコード形式が最終的に確定されると、データに関連付けられる。
図5を参照すると、幾つかの実施態様では、システムは、ユーザによって提供可能であるか、又は本明細書で説明されるような検索技法を使用して識別してもよいサンプルデータ502と共に、可能なレコード形式504を受信する。可能なレコード形式がサンプルデータ502内のレコードの形式を正確に記述しているか否かについては、ある程度の不確定な要素がある。可能なレコード形式504は、XML文書タイプ定義、又はマスタからコピーすること、並びにCOBOLコピーブック及びデータ操作言語(DML)レコード形式などの幾つかの異なるプログラムに挿入することができるプログラムデータの物理レイアウトを定義するコードのセクションとすることができる。
プロセス矢印508によって表されるように、システムは、処理中に発生するいずれかのエラーを示しながら、可能なレコード形式504を使用してサンプルデータの解析を試行する。この例では、第1のフィールドは可能なレコード形式では番号として定義されるが、サンプルデータ502では第1のフィールドは可変長文字フィールドである。システムがレコード形式を使用してデータの解析を試行した場合、エラーログ506が生成され、ユーザに提示される。ユーザには、不一致を解決するための提案が提供される。例えばユーザには、フィールド1のデータタイプを可変長文字フィールドに変更することの提案を提示してもよい。
図6を参照すると、幾つかの実施態様では、システムはサンプルデータ602を受信し、システムがデータを処理できるように、既存のレコード形式がデータ内のレコードの形式を正確に記述できるか否かを決定するように要求される。システムは、サンプルデータがレコード形式リポジトリ604内のいずれかの候補レコード形式606a〜gと一致するか否かを決定するために、サンプルデータ内の複数のレコードを分析してもよい。幾つかの実施態様では、この分析は、レコード形式リポジトリ604内に格納された候補レコード形式606a〜gのそれぞれを使用して、サンプルデータの解析を試行することを含んでもよい。幾つかの実施態様では、データの解析は、各レコード内の各フィールドのサンプル値を決定するために、候補レコード形式をサンプルデータに適用することを含む。サンプル値を候補レコード形式と比較して、サンプル値が候補レコード形式のそれらに適合するか否かを決定してもよい。幾つかの実施態様では、この分析は、候補レコード形式によってフィールドに対して確立された有効値又は有効値の範囲を定義する妥当性確認テストに照らして、サンプルデータ内の値の妥当性を確認することを含んでもよい。例えば、フィールドは、限定数の有効値(50の州、2つの性別など)が可能である。
各レコード形式について、システムは妥当性確認テストと呼ばれる解析の成功の尺度を決定する。例えば1つの例示的妥当性確認テストでは、システムは、解析が成功しなかったレコード数のカウントを維持する。別の例示的妥当性確認テストでは、システムは、解析が成功しなかったフィールド数のカウント、並びにどのフィールドが処理できなかったかの指示を維持する。システムは、レコード形式を候補レコード形式セット、606e、606f、606gに縮小し、それらをユーザに提示する。幾つかの実施態様では、レコード形式は、サンプルデータに関連付けられたレコード形式と厳密に一致しない場合がある。例えば、候補レコード形式606eは最後が文字列フィールドであり、他の候補レコード形式は最後が日付フィールドであるが、文字列には日付値を入れることができるため、依然としてレコード形式はサンプルデータに適合している。他の解析の不整合も許容される場合がある。例えば1つのテストの場合、有効値の事前に定義された範囲外にある値が、依然として候補レコード形式を生成する場合があり、例えば、潜在的レコード形式606gは、有効値「M」及び「S」を伴う「配偶者の有無」フィールドを含む。サンプルデータセットは、「M」又は「F」のいずれかを含むフィールドを含む。システムは、解析エラーを示しながら、潜在的データレコード606gを含めることができる。幾つかのテストでは、解析エラーの数が所与のしきい値を下回る場合に、潜在的データレコードが含められる。他のテストでは、有効解析値が所与のしきい値を上回る場合に、潜在的データレコードが含められる。
幾つかの実施態様では、システムは候補レコード形式をユーザに提示し、ユーザがデータに適合するレコード形式を選択できるようにしてもよい。この例では、ユーザは、候補レコード形式606fを最良の適合として選択してもよい。幾つかの実施態様では、システムは適合可能なレコード形式を検査し、サンプルデータ及び候補レコード形式のプロファイルに基づいて、どのレコード形式が最良であるかを決定してもよい。幾つかの実施態様では、ユーザはレコード形式を修正してもよい。潜在的レコード形式のリストが単一のターゲットレコード形式に縮小されると、システムは、提供されたサンプルデータ602を解析することによって、選択されたターゲットレコード形式の妥当性を確認する。妥当性確認が完了した後、システムは、サンプルデータを選択されたターゲットレコード形式に関連付け、選択されたターゲットレコード形式を格納する、及び/又は選択されたターゲットレコード形式をユーザに提供する。幾つかの実施態様では、サンプルデータが、レコード形式内に提供されたデータタイプと合致しない場合、ユーザには、レコード形式をサンプルデータに合致させるようにレコード形式を修正するオプションが提示される。
幾つかの実施態様では、図7を参照すると、システムは、サンプルデータに適合するレコード形式リポジトリ604内の既存のレコード形式を識別することができない。このような状況下では、システムは、提供されたサンプルデータを既存のパーザが解析できるか否かを決定する。例えばサンプルデータセット702は、XML形式で示されている。この例では、レコード形式リポジトリ604は、サンプルデータに合致するいかなるレコード形式も含まない。プロセス矢印704によって示されるように、システムは、レコード形式がXML形式のASCIIファイルであることを識別する。プロセス矢印708によって示されるように、システムは、既存のパーザ(例えばXMLパーザ710)がデータの解釈を実行できるものと決定する。パーザ及びサンプルデータに基づいて、システムはサンプルデータ714のレコード形式を導出する。上述のように、システムは、パーザがサンプルデータを解釈できることを検証し、パーザによって生成された結果として生じるターゲットレコード形式をサンプルデータ714に関連付け、結果として生じるターゲットレコード形式をレコード形式リポジトリ内に格納する。幾つかの実施態様では、システムは、ターゲットレコード形式をレコード形式リポジトリ内に格納する前に、新しく作成されたターゲットレコード形式を承認のためにユーザに提示する。
図8は、ターゲットレコード形式を決定するために事前処理モジュール106が使用できる別の例示的プロセス800に関するフローチャートを示す。事前処理モジュールの動作は、供給された入力データがサンプルデータを含むか否かの決定802を含む。
動作は、入力データがサンプルデータを含む場合に、サンプルデータをアップロード及び/又は位置付けすること804も含む。事前処理モジュールは、入力データによって定義された位置からサンプルにアクセスしてもよい。幾つかの実施態様では、事前処理モジュールは、別のサーバからアクセスポートを介してサンプルデータをアップロードするか又はこれにアクセスしてもよい。他の実施態様では、事前処理モジュールは、サンプルデータを含むファイル又は他のデータ記憶機構にアクセスしてもよい。
動作は、サンプルデータを分析すること806、及びオプションで分析結果を格納することも含む。サンプルデータは、文字セット、メタデータ、レコード形式タイプ、及び/又はレコード形式自体を決定するために分析してもよい。幾つかの実施態様では、システムは、レコード形式リポジトリ内に格納された1つ又は複数の既知のレコード形式の検索を実行するか否かを決定するために、サンプルデータを分析する。例えば事前処理モジュールは、サンプルデータが第1のタイプ(例えばカンマ区切りファイル)である場合は、潜在的レコード形式を決定するために検索を実行してもよいが、サンプルデータが第2のタイプ(例えばXML)であることが決定された場合は、実行しない。他の実施態様では、レコード形式の作成及び妥当性確認を支援することができるメタデータを探索するために、サンプルデータが分析される。幾つかの実施態様では、事前処理モジュールは、フィールド区切り、エスケープ文字、及びフィールド名を含むヘッダを識別する。分析の結果は、後の意思決定プロセスで使用するために保持してもよい。
この実施態様では、動作は、サンプルデータを含む文書のタイプがXMLであるか否かを決定すること808を含む。幾つかの実施態様では、この例におけるXML形式などの1つ又は複数の所定の形式の文書は、他の形式の文書とは別に取り扱われる。この実施態様では、サンプルXML文書はXMLパーザによって処理される826。
動作は、サンプルデータが、レコード形式リポジトリ内に格納された1つ又は複数の既知のレコード形式と合致するか否かを決定すること810も含む。これは、上述のように、妥当性確認テストを使用して、サンプルデータ内の1つ又は複数のレコードの妥当性を各レコード形式に照らして確認すること、及び妥当性確認エラーの数を決定することによって達成できる。他の実施態様では、サンプルデータの分析806中に取得された情報を使用して、サンプルデータの妥当性が確認されたデータ形式の数を低減してもよい。
動作は、合致するレコード形式をユーザに示すこと812も含む。上述のように、事前処理モジュールは、潜在的に合致するレコード形式のリストをユーザに表示してもよい。
動作は、ユーザが、潜在的レコード形式のリストから合致するレコード形式を選択するか否かを決定すること814も含む。
動作は、格納されたレコード形式に対する合致が見つからない、及び/又はユーザによって選択されない場合、使用可能なパーザが存在する既知のネイティブ形式を有するファイルに含まれているなど、サンプルデータが既知のデータタイプを有するか否かを決定すること816も含む。ネイティブ形式とは、アプリケーション又はシステムによって使用される既知の外部形式である。
動作は、ネイティブ形式が既知の場合、適切な使用可能なパーザに対するデータの合致を決定することも含む。例えばサンプルデータは、既知のパーザによって処理することができるタグ付きレコードを含むことができる820。
動作は、タグ付きサンプルデータに関するパーザを識別すること830も含む。
この実施態様では、使用可能なパーザに対する合致を決定することは、サンプルデータがCOBOLであるか否かを決定すること822を含む。幾つかの実施態様では、動作は、サンプルデータが、使用可能なパーザによって解析できる標準のデータレコード形式構造を使用する別のプログラミング言語であるか否かを決定することも含んでもよい。
動作は、サンプルデータがCOBOLである場合、COBOLコピーブックをアップロード及び解析すること832も含む。
既知のネイティブ形式と別の使用可能なパーザとを突き合せることは、サンプルデータがデータベース内に格納されていることを決定すること、及び事前処理モジュールがデータベースにアクセスしてもよいことの妥当性を確認すること824を含む。データベースへのアクセスは、事前処理モジュールが、例えばユーザ名及びパスワードなどの有効な信用証明にアクセスできるか否かを検証することを含んでもよい。データベースへのアクセスは、信用証明がサンプルデータへのアクセスを提供するか否かを決定することも含んでもよい。
動作は、データベース内に格納されたサンプルデータを分析すること、及びこの分析からレコード形式を決定すること(例えば、SQLエディタ内)834も含む。幾つかの実施態様では、事前処理モジュールは、レコード形式を導出するためにデータベースのテーブル構造を分析する。
既知のネイティブ形式と別の使用可能なパーザとを突き合せることは、サンプルデータがXML形式であるか否か、及び文書タイプ定義又はXMLスキーマ定義(XSD)を含むか否かを決定すること826を含む。
動作は、XML文書の構造をレコード形式に変換すること(例えば、XML経路エディタ)836も含む。
既知のネイティブ形式と別の使用可能なパーザとを突き合せることは、データがSAP形式であるか否かを決定すること828を含む。幾つかの実施態様では、他のエンタープライズソリューションソフトウェアパッケージが、例えば、Oracle Financialsからサンプルデータを検出してもよい。
動作は、エンタープライズソフトウェアパッケージに関するインポートモジュールを使用して、レコード形式を決定すること838も含む。
サンプルデータのデータタイプが知られていないか、又はデータタイプに使用可能なパーザがない場合、動作は、サンプルデータの特徴を決定すること、及びサンプルデータの特徴の分析から構築済みレコード形式を生成することを含む。例えばこの実施態様では、動作は、サンプルデータが大部分タグ付けされているか否かを決定すること840を含む。大部分タグ付けされたデータとは、例えば、主にタグ付きデータ構造を含むように見えるが、必ずしもタグ付き構造に適合しない幾つかのデータを含むデータである。
動作は、データが大部分タグ付けされたものと決定された場合、(例えばタグエディタを使用して)データをタグ付けデータとして処理するように試行すること842も含む。XMLに加えて、例えば国際銀行間金融通信協会(SWIFT)形式などの他のタグ付き形式を取り扱ってもよい。
動作は、汎用タグ付きデータパーザ、又は既知のパーザが、サンプルデータを処理可能であるか否かを決定すること844も含む。
動作は、サンプルデータについてパーザビルダに照会すること848も含む。
動作は、サンプルデータが大部分テキストであるか否かを決定すること852も含む。大部分テキストのデータとは、例えば主に、例えばASCII又はEBCDICなどの周知のテキスト形式を使用して符号化されたデータである。
動作は、データの構造を決定するよう試行すること854も含む。幾つかの実施態様では、データの構造は、レコード及びフィールド区切り文字を識別することによって決定してもよい。レコード区切り文字は、サンプルデータ内の最後の文字を検査することによって識別してもよい。区切り文字は、非印刷文字又は非英数文字に関するデータを検査することによっても識別してもよい。2つの非印刷可能文字又は非英数文字がサンプルデータ内に発生するケースでは、フィールド区切り文字が最も一般的であり、レコード区切り文字は一般的でない。区切り文字でない非印刷可能文字が存在することは、サンプルデータが区切られていないことを示してもよい。区切り文字を識別した後、事前処理モジュールはサンプルデータに区切り文字を適用し、不整合に関してチェックしてもよい。例えばシステムは、各レコードが同じ数のフィールドを含むか否かをチェックしてもよい。システムは、各レコード内の同じフィールドが、同様か又は適合するデータタイプを含むか否かをチェックしてもよい。幾つかの実施態様では、事前処理モジュールは、データの分析中806にデータに関して決定された情報に依拠する。
動作は、データが大部分2進であることを決定すること856も含む。2進データとは、例えば、ASCII及びEBCDICなどの周知のテキスト形式を使用して符号化されていないデータである。
動作は、適切であれば(例えばデータが大部分2進であることの決定856に応答して)、フィールド名をサンプルデータに挿入すること858も含む。幾つかの実施態様では、ユーザは挿入することになるフィールド名を入力する(ペースト又はキー入力)ことができる。
動作は、結果を検証すること850も含む。レコード形式を検証することは、レコード形式を使用すること、及びサンプルデータの解析を試行することを含んでもよい。
動作は、ユーザがレコード形式を構築又は編集できるようにすること846も含む。幾つかの実施態様では、ユーザは、レコード形式を編集、及び/又はサンプルデータのタイプ、名前、及び構造を変更してもよい。
動作は、レコード形式リポジトリ内にレコード形式を格納すること860も含む。幾つかの実施態様では、事前処理モジュールはデータ形式をサンプルデータに関連付け、他の実施態様では、事前処理モジュールはデータ形式のコピーを作成し、そのコピーをデータに関連付ける。
上記レコード形式発見方法は、コンピュータ上で実行するためのソフトウェアを使用して実施することができる。例えばソフトウェアは、それぞれが少なくとも1つのプロセッサと、(揮発性及び不揮発性メモリ及び/又は記憶要素を含む)少なくとも1つのデータ記憶システムと、少なくとも1つの入力デバイス又はポートと、少なくとも1つの出力デバイス又はポートとを含む、(分散型、クライアント/サーバ、又はグリッドなどの様々なアーキテクチャであってよい)1つ又は複数のプログラム済み又はプログラマブルコンピュータシステム上で実行する、1つ又は複数のプログラム内に手順を形成する。ソフトウェアは、例えば計算グラフの設計及び構成に関する他のサービスを提供するより大きなプログラムの1つ又は複数のモジュールを形成してもよい。グラフのノード及び要素は、コンピュータ読み取り可能媒体に格納されたデータ構造、又はデータリポジトリに格納されたデータモデルに合致する他の編成データとして実施することができる。
ソフトウェアは、CD−ROMなどの記憶媒体上に提供できるか、汎用又は専用のプログラマブルコンピュータによって読み取り可能であるか、又は(伝搬される信号内で符号化されて)ネットワークの通信媒体を介して、実行されるコンピュータに送達されてもよい。すべての機能は、専用のコンピュータ上で、又はコプロセッサなどの専用のハードウェアを使用して実行されてもよい。ソフトウェアは、ソフトウェアによって指定された計算の異なる部分が異なるコンピュータによって実行される分散様式で実施されてもよい。このようなコンピュータプログラムのそれぞれは、本明細書で説明された手順を実行するために、記憶媒体又はデバイスがコンピュータシステムによって読み取られた場合に、コンピュータを構成及び動作させるために、好ましくは、汎用又は専用のプログラマブルコンピュータによって読み取り可能な記憶媒体又はデバイス(例えばソリッドステートメモリ又は媒体、或いは磁気又は光媒体)上に格納されるか又はダウンロードされる。本発明のシステムは、コンピュータプログラムで構成された、コンピュータ読み取り可能記憶媒体として実施されるものとみなすこともでき、そのように構成された記憶媒体は、本明細書で説明された機能を実行するために、特定及び事前に定義された様式でコンピュータシステムを動作させる。
本発明の幾つかの実施形態について説明してきた。それにもかかわらず、本発明の精神及び範囲を逸脱することなく、様々な修正を行うことができることを理解されよう。例えば、上記ステップのうちの幾つかは順序に依存していないため、記述された順序とは異なる順序で実行できる。
上記説明は、添付の特許請求の範囲によって定義された本発明の範囲を例示することを意図したものであり、これを限定するものでないことを理解されよう。例えば、上記幾つかの機能ステップは、処理全体に大幅に影響を与えることなく、異なる順序で実行することができる。他の実施形態は、以下の特許請求の範囲内にある。

Claims (42)

  1. データ記憶システム内の形式情報に基づいてデータ処理システム内で処理するためのデータを作成する方法であって、
    入力デバイス又はポートを介してそれぞれのフィールドに対する1つ又は複数の値をそれぞれが有するレコードを含むデータを受信するステップと、
    前記データ処理システム内の前記データを処理するためのターゲットレコード形式を決定するステップであって、
    前記データ内の複数のレコードそれぞれを、前記データが前記データ記憶システム内に格納された1つ又は複数の候補レコード形式と一致するか否かを決定するために、複数の妥当性確認テストに従って分析すること、各候補レコード形式は、1つ又は複数のフィールドのグループの各フィールドについて形式を指定し、各妥当性確認テストは、前記データ記憶システム内に格納された少なくとも1つの候補レコード形式に対応し、及び
    前記妥当性確認テストの結果の受信に応答して、前記ターゲットレコード形式を、選択済み候補レコード形式に対応する少なくとも1つの妥当性確認テストに従って少なくとも部分的一致が決定された選択済み候補レコード形式と、前記データに関連付けられた既知のデータタイプに従って選択されたパーザによって生成された解析済みレコード形式と、前記データの特徴の分析から生成された構築済みレコード形式のうち少なくとも1つに基づいて前記データに関連付けること
    を含むステップと
    を含む、方法。
  2. 前記ターゲットレコード形式は、いずれの前記妥当性確認テストも前記候補レコード形式のうちの1つ又は複数に対する少なくとも部分的一致を決定しないことに応答して、前記解析済みレコード形式に基づいて前記データに関連付けられる、請求項1に記載の方法。
  3. 前記データに関連付けられた前記既知のデータタイプは、前記データのファイルタイプに基づいて知られる、請求項2に記載の方法。
  4. 前記データの前記ファイルタイプは、ファイル拡張子に対応する、請求項3に記載の方法。
  5. 前記ターゲットレコード形式は、いずれの前記妥当性確認テストも前記候補レコード形式のうちの1つ又は複数に対する少なくとも部分的一致を決定しないこと、及び前記データに関連付けられた既知のデータタイプを有さないことに応答して、前記構築済みレコード形式に基づいて前記データに関連付けられる、請求項1に記載の方法。
  6. 前記データの特徴の分析から前記構築済みレコード形式を生成するステップは、前記データ内のタグを認識すること、及び前記認識されたタグに基づいて複数のレコードを決定するために前記データを解析することを含む、請求項5に記載の方法。
  7. 前記データの特徴の分析から前記構築済みレコード形式を生成するステップは、前記データ内の区切り文字を認識すること、及び前記認識された区切り文字に基づいて複数のレコードを決定するために前記データを解析することを含む、請求項5に記載の方法。
  8. 前記データの特徴の分析から前記構築済みレコード形式を生成するステップは、前記データが、複数のレコードの値を示すタグ又は区切り文字のない実質上バイナリ形式であることを認識すること、及びユーザインターフェイスから1つ又は複数のフィールド識別子を受け取ることを含む、請求項5に記載の方法。
  9. 第1の候補レコード形式に対応する前記複数の妥当性確認テストのうちの第1の妥当性確認テストに従って、前記データ内の前記複数のレコードを分析することは、各フィールドに対する前記第1の候補レコード形式によって指定された前記形式で各レコードに対する値を決定するために、前記第1の候補レコード形式を前記データに適用することを含む、請求項1に記載の方法。
  10. 前記データが前記第1の候補レコード形式と一致するか否かを決定するステップは、幾つかの有効値が所定のしきい値よりも大きいか否かを決定するために、前記第1の妥当性確認テストに従って前記複数のレコードに対して前記決定された値を分析することを含む、請求項9に記載の方法。
  11. 前記第1の妥当性確認テストに従って前記複数のレコードのうちの第1のレコードに対して決定された値を分析するステップは、各フィールドに対して決定された各値について対応するフィールドテストを実行することを含む、請求項10に記載の方法。
  12. 第1のフィールドに対して決定された値について第1のフィールドテストを実行するステップは、前記決定された値の中の幾つかの文字を所定数の文字と突き合せることを含む、請求項11に記載の方法。
  13. 第1のフィールドに対して決定された値について第1のフィールドテストを実行するステップは、前記決定された値を前記第1のフィールドに対する複数の所定の有効値のうちの1つと突き合せることを含む、請求項11に記載の方法。
  14. 前記有効値の数は、所与のフィールドに対して決定された値が前記所与のフィールドに対応する前記フィールドテストに合格した幾つかのレコードに基づくものである、請求項11に記載の方法。
  15. データ記憶システム内の形式情報に基づいてデータ処理システム内で処理するためにデータを準備するためのシステムであって、
    入力デバイス又はポートを介してそれぞれのフィールドに対する1つ又は複数の値をそれぞれが有するレコードを含むデータを受信するための手段と、
    前記データ処理システム内の前記データを処理するためのターゲットレコード形式を決定するための手段と、を含み、
    前記決定するための手段は、
    前記データ内の複数のレコードそれぞれを、前記データが前記データ記憶システム内に格納された1つ又は複数の候補レコード形式と一致するか否かを決定するために、複数の妥当性確認テストに従って分析すること、各候補レコード形式は、1つ又は複数のフィールドのグループの各フィールドについて形式を指定し、各妥当性確認テストは、前記データ記憶システム内に格納された少なくとも1つの候補レコード形式に対応し、及び
    前記妥当性確認テストの結果の受信に応答して、前記ターゲットレコード形式を、選択済み候補レコード形式に対応する少なくとも1つの妥当性確認テストに従って少なくとも部分的一致が決定された選択済み候補レコード形式と、前記データに関連付けられた既知のデータタイプに従って選択されたパーザによって生成された解析済みレコード形式と、前記データの特徴の分析から生成された構築済みレコード形式のうち少なくとも1つに基づいてデータに関連付けること、を含む、
    システム。
  16. データ記憶システム内の形式情報に基づいてデータ処理システム内で処理するためにデータを準備するためのコンピュータプログラムを格納するコンピュータ読み取り可能媒体であって、前記コンピュータプログラムが、
    入力デバイス又はポートを介してそれぞれのフィールドに対する1つ又は複数の値をそれぞれが有するレコードを含むデータを受信するステップと、
    前記データ処理システム内の前記データを処理するためのターゲットレコード形式を決定するステップと、をコンピュータに実行させるための命令を含み、
    前記決定するステップは、
    前記データ内の複数のレコードそれぞれを、前記データが前記データ記憶システム内に格納された1つ又は複数の候補レコード形式と一致するか否かを決定するために、複数の妥当性確認テストに従って分析すること、各候補レコード形式は、1つ又は複数のフィールドのグループの各フィールドについて形式を指定し、各妥当性確認テストは、前記データ記憶システム内に格納された少なくとも1つの候補レコード形式に対応し、及び
    前記妥当性確認テストの結果の受信に応答して、前記ターゲットレコード形式を、選択済み候補レコード形式に対応する少なくとも1つの妥当性確認テストに従って少なくとも部分的一致が決定された選択済み候補レコード形式と、前記データに関連付けられた既知のデータタイプに従って選択されたパーザによって生成された解析済みレコード形式と、前記データの特徴の分析から生成された構築済みレコード形式のうち少なくとも1つに基づいてデータに関連付けること、を含む、
    コンピュータ読み取り可能媒体。
  17. 前記ターゲットレコード形式は、いずれの前記妥当性確認テストも前記候補レコード形式のうちの1つ又は複数に対する少なくとも部分的一致を決定しないことに応答して、前記解析済みレコード形式に基づいて前記データに関連付けられる、請求項15に記載のシステム。
  18. 前記データに関連付けられた前記既知のデータタイプは、前記データのファイルタイプに基づいて知られる、請求項17に記載のシステム。
  19. 前記データの前記ファイルタイプは、ファイル拡張子に対応する、請求項18に記載のシステム。
  20. 前記ターゲットレコード形式は、いずれの前記妥当性確認テストも前記候補レコード形式のうちの1つ又は複数に対する少なくとも部分的一致を決定しないこと、及び前記データに関連付けられた既知のデータタイプを有さないことに応答して、前記構築済みレコード形式に基づいて前記データに関連付けられる、請求項15に記載のシステム。
  21. 前記データの特徴の分析から前記構築済みレコード形式を生成することは、前記データ内のタグを認識すること、及び前記認識されたタグに基づいて複数のレコードを決定するために前記データを解析することを含む、請求項20に記載のシステム。
  22. 前記データの特徴の分析から前記構築済みレコード形式を生成することは、前記データ内の区切り文字を認識すること、及び前記認識された区切り文字に基づいて複数のレコードを決定するために前記データを解析することを含む、請求項20に記載のシステム。
  23. 前記データの特徴の分析から前記構築済みレコード形式を生成することは、前記データが、複数のレコードの値を示すタグ又は区切り文字のない実質上バイナリ形式であることを認識すること、及びユーザインターフェイスから1つ又は複数のフィールド識別子を受け取ることを含む、請求項20に記載のシステム。
  24. 第1の候補レコード形式に対応する前記複数の妥当性確認テストのうちの第1の妥当性確認テストに従って、前記データ内の前記複数のレコードを分析することは、各フィールドに対する前記第1の候補レコード形式によって指定された前記形式で各レコードに対する値を決定するために、前記第1の候補レコード形式を前記データに適用することを含む、請求項15に記載のシステム。
  25. 前記データが前記第1の候補レコード形式と一致するか否かを決定することは、幾つかの有効値が所定のしきい値よりも大きいか否かを決定するために、前記第1の妥当性確認テストに従って前記複数のレコードに対して前記決定された値を分析することを含む、請求項24に記載のシステム。
  26. 前記第1の妥当性確認テストに従って前記複数のレコードのうちの第1のレコードに対して決定された値を分析することは、各フィールドに対して決定された各値について対応するフィールドテストを実行することを含む、請求項25に記載のシステム。
  27. 第1のフィールドに対して決定された値について第1のフィールドテストを実行することは、前記決定された値の中の幾つかの文字を所定数の文字と突き合せることを含む、請求項26に記載のシステム。
  28. 第1のフィールドに対して決定された値について第1のフィールドテストを実行することは、前記決定された値を前記第1のフィールドに対する複数の所定の有効値のうちの1つと突き合せることを含む、請求項26に記載のシステム。
  29. 前記有効値の数は、所与のフィールドに対して決定された値が前記所与のフィールドに対応する前記フィールドテストに合格した幾つかのレコードに基づくものである、請求項26に記載のシステム。
  30. 前記ターゲットレコード形式は、いずれの前記妥当性確認テストも前記候補レコード形式のうちの1つ又は複数に対する少なくとも部分的一致を決定しないことに応答して、前記解析済みレコード形式に基づいて前記データに関連付けられる、請求項16に記載の媒体。
  31. 前記データに関連付けられた前記既知のデータタイプは、前記データのファイルタイプに基づいて知られる、請求項30に記載の媒体。
  32. 前記データの前記ファイルタイプは、ファイル拡張子に対応する、請求項31に記載の媒体。
  33. 前記ターゲットレコード形式は、いずれの前記妥当性確認テストも前記候補レコード形式のうちの1つ又は複数に対する少なくとも部分的一致を決定しないこと、及び前記データに関連付けられた既知のデータタイプを有さないことに応答して、前記構築済みレコード形式に基づいて前記データに関連付けられる、請求項16に記載の媒体。
  34. 前記データの特徴の分析から前記構築済みレコード形式を生成するステップは、前記データ内のタグを認識すること、及び前記認識されたタグに基づいて複数のレコードを決定するために前記データを解析することを含む、請求項33に記載の媒体。
  35. 前記データの特徴の分析から前記構築済みレコード形式を生成するステップは、前記データ内の区切り文字を認識すること、及び前記認識された区切り文字に基づいて複数のレコードを決定するために前記データを解析することを含む、請求項33に記載の媒体。
  36. 前記データの特徴の分析から前記構築済みレコード形式を生成するステップは、前記データが、複数のレコードの値を示すタグ又は区切り文字のない実質上バイナリ形式であることを認識すること、及びユーザインターフェイスから1つ又は複数のフィールド識別子を受け取ることを含む、請求項33に記載の媒体。
  37. 第1の候補レコード形式に対応する前記複数の妥当性確認テストのうちの第1の妥当性確認テストに従って、前記データ内の前記複数のレコードを分析することは、各フィールドに対する前記第1の候補レコード形式によって指定された前記形式で各レコードに対する値を決定するために、前記第1の候補レコード形式を前記データに適用することを含む、請求項16に記載の媒体。
  38. 前記データが前記第1の候補レコード形式と一致するか否かを決定するステップは、幾つかの有効値が所定のしきい値よりも大きいか否かを決定するために、前記第1の妥当性確認テストに従って前記複数のレコードに対して前記決定された値を分析することを含む、請求項37に記載の媒体。
  39. 前記第1の妥当性確認テストに従って前記複数のレコードのうちの第1のレコードに対して決定された値を分析するステップは、各フィールドに対して決定された各値について対応するフィールドテストを実行することを含む、請求項38に記載の媒体。
  40. 第1のフィールドに対して決定された値について第1のフィールドテストを実行するステップは、前記決定された値の中の幾つかの文字を所定数の文字と突き合せることを含む、請求項39に記載の媒体。
  41. 第1のフィールドに対して決定された値について第1のフィールドテストを実行するステップは、前記決定された値を前記第1のフィールドに対する複数の所定の有効値のうちの1つと突き合せることを含む、請求項39に記載の媒体。
  42. 前記有効値の数は、所与のフィールドに対して決定された値が前記所与のフィールドに対応する前記フィールドテストに合格した幾つかのレコードに基づくものである、請求項39に記載の媒体。
JP2012539018A 2009-11-13 2010-11-12 レコード形式情報の管理 Active JP5690349B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US26099709P 2009-11-13 2009-11-13
US61/260,997 2009-11-13
PCT/US2010/056530 WO2011060257A1 (en) 2009-11-13 2010-11-12 Managing record format information

Publications (3)

Publication Number Publication Date
JP2013511097A JP2013511097A (ja) 2013-03-28
JP2013511097A5 JP2013511097A5 (ja) 2013-12-26
JP5690349B2 true JP5690349B2 (ja) 2015-03-25

Family

ID=43992063

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012539018A Active JP5690349B2 (ja) 2009-11-13 2010-11-12 レコード形式情報の管理

Country Status (8)

Country Link
US (1) US10445309B2 (ja)
EP (1) EP2499565B1 (ja)
JP (1) JP5690349B2 (ja)
KR (3) KR20150042877A (ja)
CN (1) CN102713834B (ja)
AU (1) AU2010319344B2 (ja)
CA (1) CA2779087C (ja)
WO (1) WO2011060257A1 (ja)

Families Citing this family (61)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7849075B2 (en) 2003-09-15 2010-12-07 Ab Initio Technology Llc Joint field profiling
KR101693229B1 (ko) 2009-02-13 2017-01-05 아브 이니티오 테크놀로지 엘엘시 데이터 저장 시스템과의 통신
EP2513782A1 (en) 2009-12-14 2012-10-24 Ab Initio Technology LLC Specifying user interface elements
US9031957B2 (en) * 2010-10-08 2015-05-12 Salesforce.Com, Inc. Structured data in a business networking feed
CN103348598B (zh) 2011-01-28 2017-07-14 起元科技有限公司 生成数据模式信息
JP5838871B2 (ja) * 2012-03-14 2016-01-06 富士通株式会社 データ解析装置、データ分割装置、データ解析方法、データ分割方法、データ解析プログラム、及びデータ分割プログラム
US10489360B2 (en) 2012-10-17 2019-11-26 Ab Initio Technology Llc Specifying and applying rules to data
KR102074026B1 (ko) 2012-10-22 2020-02-05 아브 이니티오 테크놀로지 엘엘시 위치 정보를 가진 데이터 프로파일링
US9892026B2 (en) 2013-02-01 2018-02-13 Ab Initio Technology Llc Data records selection
US9811233B2 (en) 2013-02-12 2017-11-07 Ab Initio Technology Llc Building applications for configuring processes
US9268801B2 (en) * 2013-03-11 2016-02-23 Business Objects Software Ltd. Automatic file structure and field data type detection
US10803102B1 (en) * 2013-04-30 2020-10-13 Walmart Apollo, Llc Methods and systems for comparing customer records
US9355136B2 (en) 2013-05-06 2016-05-31 International Business Machines Corporation Automating generation of messages in accordance with a standard
US9588956B2 (en) 2013-07-12 2017-03-07 Ab Initio Technology Llc Parser generation
US11487732B2 (en) 2014-01-16 2022-11-01 Ab Initio Technology Llc Database key identification
WO2015134193A1 (en) 2014-03-07 2015-09-11 Ab Initio Technology Llc Managing data profiling operations related to data type
CN104008158A (zh) * 2014-05-27 2014-08-27 青岛海信移动通信技术股份有限公司 数据校验方法、校验装置及移动终端
US9501570B2 (en) * 2014-07-14 2016-11-22 Verizon Patent And Licensing Inc. Dynamic routing system
CN106716352B (zh) 2014-07-18 2020-04-28 起元科技有限公司 管理参数集
AU2015336259B2 (en) 2014-10-20 2018-08-30 Ab Initio Technology Llc Specifying and applying rules to data
CN104408104B (zh) * 2014-11-20 2017-12-29 许继电气股份有限公司 一种智能变电站网络数据通信方法
CN104850590A (zh) * 2015-04-24 2015-08-19 百度在线网络技术(北京)有限公司 一种生成结构化数据的元数据的方法与装置
US10248720B1 (en) 2015-07-16 2019-04-02 Tableau Software, Inc. Systems and methods for preparing raw data for use in data visualizations
US10838919B2 (en) * 2015-10-30 2020-11-17 Acxiom Llc Automated interpretation for the layout of structured multi-field files
US9372881B1 (en) * 2015-12-29 2016-06-21 International Business Machines Corporation System for identifying a correspondence between a COBOL copybook or PL/1 include file and a VSAM or sequential dataset
EP3475857A1 (en) * 2016-06-23 2019-05-01 Koninklijke Philips N.V. Facilitated structured measurement management tool progress and compliance analytics solution
US10484382B2 (en) 2016-08-31 2019-11-19 Oracle International Corporation Data management for a multi-tenant identity cloud service
US10511589B2 (en) 2016-09-14 2019-12-17 Oracle International Corporation Single logout functionality for a multi-tenant identity and data security management cloud service
US10846390B2 (en) 2016-09-14 2020-11-24 Oracle International Corporation Single sign-on functionality for a multi-tenant identity and data security management cloud service
US10594684B2 (en) 2016-09-14 2020-03-17 Oracle International Corporation Generating derived credentials for a multi-tenant identity cloud service
CN109565511B (zh) 2016-09-16 2021-06-29 甲骨文国际公司 用于多租户身份和数据安全管理云服务的租户和服务管理
US10484243B2 (en) 2016-09-16 2019-11-19 Oracle International Corporation Application management for a multi-tenant identity cloud service
US10445395B2 (en) 2016-09-16 2019-10-15 Oracle International Corporation Cookie based state propagation for a multi-tenant identity cloud service
US10904074B2 (en) 2016-09-17 2021-01-26 Oracle International Corporation Composite event handler for a multi-tenant identity cloud service
US20180165308A1 (en) * 2016-12-12 2018-06-14 Sap Se Deriving a data structure for a process model software
US10204119B1 (en) * 2017-07-20 2019-02-12 Palantir Technologies, Inc. Inferring a dataset schema from input files
US20190050384A1 (en) * 2017-08-08 2019-02-14 Ab Initio Technology Llc Techniques for dynamically defining a data record format
US10831789B2 (en) 2017-09-27 2020-11-10 Oracle International Corporation Reference attribute query processing for a multi-tenant cloud service
US10705823B2 (en) 2017-09-29 2020-07-07 Oracle International Corporation Application templates and upgrade framework for a multi-tenant identity cloud service
US11423083B2 (en) 2017-10-27 2022-08-23 Ab Initio Technology Llc Transforming a specification into a persistent computer program
US10599668B2 (en) * 2017-10-31 2020-03-24 Secureworks Corp. Adaptive parsing and normalizing of logs at MSSP
US11429642B2 (en) 2017-11-01 2022-08-30 Walmart Apollo, Llc Systems and methods for dynamic hierarchical metadata storage and retrieval
US11055074B2 (en) * 2017-11-13 2021-07-06 Ab Initio Technology Llc Key-based logging for processing of structured data items with executable logic
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
US10715564B2 (en) 2018-01-29 2020-07-14 Oracle International Corporation Dynamic client registration for an identity cloud service
US11494454B1 (en) 2018-05-09 2022-11-08 Palantir Technologies Inc. Systems and methods for searching a schema to identify and visualize corresponding data
CN109271611B (zh) * 2018-09-06 2023-05-12 创新先进技术有限公司 一种数据校验方法、装置及电子设备
US11321187B2 (en) 2018-10-19 2022-05-03 Oracle International Corporation Assured lazy rollback for a multi-tenant identity cloud service
KR102004948B1 (ko) * 2018-12-18 2019-07-29 이지지아이에스 주식회사 빅데이터 기계 학습을 활용한 위치기반 입지 예측 분석 장치 및 그 방법
US11792226B2 (en) 2019-02-25 2023-10-17 Oracle International Corporation Automatic api document generation from scim metadata
US11423111B2 (en) 2019-02-25 2022-08-23 Oracle International Corporation Client API for rest based endpoints for a multi-tenant identify cloud service
US10769220B1 (en) * 2019-04-09 2020-09-08 Coupang Corp. Systems, apparatuses, and methods of processing and managing web traffic data
US11218500B2 (en) 2019-07-31 2022-01-04 Secureworks Corp. Methods and systems for automated parsing and identification of textual data
US11687378B2 (en) 2019-09-13 2023-06-27 Oracle International Corporation Multi-tenant identity cloud service with on-premise authentication integration and bridge high availability
US11870770B2 (en) 2019-09-13 2024-01-09 Oracle International Corporation Multi-tenant identity cloud service with on-premise authentication integration
US11836122B2 (en) * 2019-12-19 2023-12-05 Capital One Services, Llc Schema validation with data synthesis
CN111765904B (zh) * 2020-06-29 2023-12-15 北京百度网讯科技有限公司 自动驾驶车辆的测试方法、装置、电子设备和介质
SG10202008564PA (en) * 2020-09-03 2021-12-30 Grabtaxi Holdings Pte Ltd Data Base System and Method for Maintaining a Data Base
WO2022076246A1 (en) * 2020-10-05 2022-04-14 R2Dio, Inc. Methods and systems associated with a data input platform and differential graph representations
CN116245108B (zh) * 2022-11-25 2023-09-26 北京瑞风协同科技股份有限公司 验证匹配导向方法、验证匹配导向器、设备及存储介质
CN116521063B (zh) * 2023-03-31 2024-03-26 北京瑞风协同科技股份有限公司 一种hdf5的试验数据高效读写方法及装置

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU631276B2 (en) 1989-12-22 1992-11-19 Bull Hn Information Systems Inc. Name resolution in a directory database
EP1057123A1 (en) 1998-02-26 2000-12-06 Sun Microsystems, Inc. Method and system for multi-entry and multi-template matching in a database
US20010056362A1 (en) * 1998-07-29 2001-12-27 Mike Hanagan Modular, convergent customer care and billing system
US6549918B1 (en) * 1998-09-21 2003-04-15 Microsoft Corporation Dynamic information format conversion
US7620620B1 (en) 1999-08-05 2009-11-17 Oracle International Corporation Basing directory contents on a query that is associated with a file identifier
JP2001101049A (ja) 1999-09-28 2001-04-13 Mitsubishi Electric Corp ファイル復元装置
US7120636B2 (en) 2001-07-25 2006-10-10 Pendleton William W Method of communicating data between computers having different record formats
US20050192844A1 (en) * 2004-02-27 2005-09-01 Cardiac Pacemakers, Inc. Systems and methods for automatically collecting, formatting, and storing medical device data in a database
US20060015511A1 (en) * 2004-07-16 2006-01-19 Juergen Sattler Method and system for providing an interface to a computer system
US20080141112A1 (en) * 2004-10-27 2008-06-12 Jumpei Aoki Document Processing Device and Document Processing Method
US7870221B2 (en) * 2004-12-20 2011-01-11 Adobe Systems Incorporated Multiple bindings in web service data connection
US7526486B2 (en) * 2006-05-22 2009-04-28 Initiate Systems, Inc. Method and system for indexing information about entities with respect to hierarchies
JP2008305348A (ja) * 2007-06-11 2008-12-18 Canon Inc 情報処理装置、情報処理方法、コンピュータプログラム、画像形成システム
US7904491B2 (en) * 2007-07-18 2011-03-08 Sap Ag Data mapping and import system
JP5064943B2 (ja) * 2007-09-05 2012-10-31 株式会社リコー 情報処理装置、情報処理方法及び情報処理プログラム
CA2806370C (en) * 2009-07-29 2019-07-09 Reversinglabs Corporation Automated unpacking of portable executable files

Also Published As

Publication number Publication date
CA2779087A1 (en) 2011-05-19
JP2013511097A (ja) 2013-03-28
KR20160141872A (ko) 2016-12-09
AU2010319344B2 (en) 2014-10-09
AU2010319344A1 (en) 2012-05-24
CN102713834A (zh) 2012-10-03
EP2499565B1 (en) 2019-01-09
US20110153667A1 (en) 2011-06-23
EP2499565A1 (en) 2012-09-19
EP2499565A4 (en) 2017-01-04
US10445309B2 (en) 2019-10-15
CA2779087C (en) 2019-08-20
CN102713834B (zh) 2016-03-30
WO2011060257A1 (en) 2011-05-19
KR101755365B1 (ko) 2017-07-10
KR20150042877A (ko) 2015-04-21
KR20120115233A (ko) 2012-10-17

Similar Documents

Publication Publication Date Title
JP5690349B2 (ja) レコード形式情報の管理
CN106796585B (zh) 条件验证规则
US10210249B2 (en) Method and system of text synthesis based on extracted information in the form of an RDF graph making use of templates
US20150261796A1 (en) Specifying and applying logical validation rules to data
US8615526B2 (en) Markup language based query and file generation
US20180089331A1 (en) Pattern-based searching of log-based representations of graph databases
JP2018505506A (ja) 機械ベースの命令編集
CN114385148A (zh) 一种实现联动功能的方法、装置、设备和存储介质
CN113672491B (zh) 检测sql语句合法性的方法、存储介质及终端设备
CN117435189A (zh) 金融系统接口的测试用例分析方法、装置、设备及介质
US8819645B2 (en) Application analysis device
US11327994B2 (en) Arranging converted operation history information
US11144287B2 (en) Compile time validation of programming code
US9965453B2 (en) Document transformation
US20240303048A1 (en) Systems and methods for implementing homoiconic representations of client-specific datasets
US20240046214A1 (en) Systems and methods for facilitating modifications and updates to shared content
Gallen The importance of data validation and parsing when working with external data sources
CN116362230A (zh) 参数校验方法、装置、计算机设备可存储介质
WO2024192401A2 (en) Method and apparatus for api extractor
CN118820346A (zh) 数据类型转换方法、装置、计算机设备、可读存储介质和程序产品
CN116107550A (zh) 一种操作代码的生成方法及装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131111

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20131111

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140411

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140514

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140813

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: 20150116

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150130

R150 Certificate of patent or registration of utility model

Ref document number: 5690349

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250