JP5601066B2 - 情報統合プログラム、装置及び方法 - Google Patents

情報統合プログラム、装置及び方法 Download PDF

Info

Publication number
JP5601066B2
JP5601066B2 JP2010165698A JP2010165698A JP5601066B2 JP 5601066 B2 JP5601066 B2 JP 5601066B2 JP 2010165698 A JP2010165698 A JP 2010165698A JP 2010165698 A JP2010165698 A JP 2010165698A JP 5601066 B2 JP5601066 B2 JP 5601066B2
Authority
JP
Japan
Prior art keywords
information
data
schema
change
data model
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.)
Expired - Fee Related
Application number
JP2010165698A
Other languages
English (en)
Other versions
JP2012027690A (ja
Inventor
隆一 黒田
和夫 嶺野
徹 芳林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2010165698A priority Critical patent/JP5601066B2/ja
Priority to US13/184,285 priority patent/US8412670B2/en
Publication of JP2012027690A publication Critical patent/JP2012027690A/ja
Application granted granted Critical
Publication of JP5601066B2 publication Critical patent/JP5601066B2/ja
Expired - Fee Related 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/25Integrating or interfacing systems involving database management systems
    • G06F16/254Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses

Landscapes

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

Description

本技術は、情報統合技術に関する。
ETL(Extract Transform Load)と呼ばれる技術では、情報源システムに蓄積されたデータを抽出(extract)し、抽出されたデータを所定の形式に変換(transform)し、変換されたデータを格納先システム(例えばデータウェアハウス)に登録(load)する。このような一連の処理は、情報統合と呼ばれることもある。
従来、情報統合に関する以下のような従来技術が存在する。具体的には、ソースデータに対し、複数の変換オブジェクトにより順次変換処理を行い、最終的にターゲットシステムにデータをマッピングする。各変換オブジェクトは、予め用意されたメタデータに従い変換処理を行う。
また、既存システムのデータをデータウェアハウスに移行する際に、既存システム側の項目名をキーとして(1)その項目がデータウェアハウスのデータベースのテーブルではどのような項目名・データ形式になるのか、(2)その項目を移行するためにどのような変換ロジックが必要か、を取得するマッピングテーブルを用意することで、移行時のデータウェアハウス構築コストを下げる技術が存在する。
また、データベースのスキーマ情報に関して、データベースのスキーマ情報を採取、保持しておき、利用者の指示によって再度取得したスキーマ情報と比較して差分データを作成することで、スキーマ情報へのアクセスの高速化を行う技術が存在する。
しかし、上で述べたような技術では、情報統合を行うシステムにおいて、情報源のスキーマが変更された場合については考慮されていない。このような場合にはデータの変換を適切に行うことができなくなるため、従来では、管理者等がデータ変換のためのロジックを再度作成し直すことにより対処していた。しかし、これは運用コストの増大につながるという問題がある。
米国特許第6014670号 米国特許第6339775号 特開2004−30179号公報 特開平11−25126号公報
従って、本技術の目的は、情報統合を行うシステムの運用コストを削減するための技術を提供することである。
本情報統合方法は、情報源から抽出したデータを変換して格納先に記憶する情報統合方法であって、情報源から取得した、第1のスキーマ情報に含まれるデータ項目と、当該第1のスキーマ情報の変更前のスキーマ情報である第2のスキーマ情報に含まれるデータ項目とに基づいて、第2のスキーマ情報に含まれるデータ項目について属性値と第2のスキーマ情報に対応する変更前データモデルにおけるデータ項目情報とを対応付けて記憶する第1記憶部に記憶された、第1のスキーマ情報に含まれる属性値を探索し、探索の結果、第1のスキーマ情報に含まれる属性値が検出された場合、検出された該属性値に対応付けて第1記憶部に記憶されたデータ項目情報に基づいて、第1のスキーマ情報に対応する変更後データモデルを生成する処理を含む。
情報統合を行うシステムの運用コストを削減することができるようになる。
図1は、本技術の実施の形態に係るシステムの構成図である。 図2は、情報統合装置の機能ブロック図である。 図3は、対応表格納部に格納されるデータの一例を示す図である。 図4は、変換経路表格納部に格納されるデータの一例を示す図である。 図5は、変換経路表格納部に格納されるデータの一例を示す図である。 図6は、変換経路表格納部に格納されるデータの一例を示す図である。 図7は、変換経路表格納部に格納されるデータの一例を示す図である。 図8は、変換経路表格納部に格納されるデータの一例を示す図である。 図9は、メタ情報格納部に格納されるデータについて説明するための図である。 図10は、メタ情報格納部に格納されるデータについて説明するための図である。 図11は、統合ロジックの初回実行時における処理の処理フローを示す図である。 図12は、スキーマ収集処理の処理フローを示す図である。 図13は、スキーマ情報の収集方法について説明するための図である。 図14は、スキーマ情報の収集方法について説明するための図である。 図15は、統合ロジックの実行時における処理の処理フローを示す図である。 図16は、データモデル・データ属性改修処理の処理フローを示す図である。 図17は、項目情報追加処理の処理フローを示す図である。 図18は、データモデル・データ属性改修処理について説明するための図である。 図19は、項目情報追加処理について説明するための図である。 図20は、統合ロジック改修処理の処理フローを示す図である。 図21は、仮変換ロジック生成処理の処理フローを示す図である。 図22は、削除フラグについて説明するための図である。 図23は、仮変換ロジック生成処理について説明するための図である。 図24は、変更後統合ロジック生成処理の処理フローを示す図である。 図25は、統合ロジック最適化処理の処理フローを示す図である。 図26は、統合ロジック最適化処理について説明するための図である。 図27は、変更後統合ロジック生成処理の処理フローを示す図である。 図28は、変更後の統合ロジックについて説明するための図である。 図29は、統合ロジックの実行時における処理の処理フローを示す図である。 図30は、コンピュータの機能ブロック図である。
図1に、本技術の実施の形態に係るシステムの構成図を示す。情報統合装置1には、情報源(データソースとも呼ばれる)であるDB(データベース)31及びDB33を含む情報源システム3と、DB51及びDB53を含む格納先システム5とが接続されている。本システムは、情報統合を実現するシステムである。すなわち、情報統合装置1は、情報源システム3におけるDB31又はDB33から抽出したデータを所定の形式に変換し、格納先システム5におけるDB51又はDB53に登録する。DB51又はDB53に登録されたデータは、図示しないユーザ端末等を操作するユーザ等により利用される。なお、図1の例では情報源システム3及び格納先システム5に含まれるDBは2つしか示していないが、数に限定は無い。
図2に、情報統合装置1の機能ブロック図を示す。情報統合装置1は、統合処理実行部100と、スキーマ収集部104と、スキーマ格納部105と、収集スキーマ格納部106と、データモデル・データ属性改修部107と、対応表格納部108と、変更後データ格納部109と、統合ロジック改修部110と、変換経路表格納部114と、メタ情報格納部115と、実行データ格納部116と、出力部117とを含む。また、統合処理実行部100は、抽出部101と、変換部102と、登録部103とを含み、統合ロジック改修部110は、仮変換ロジック生成部111と、仮変換ロジック格納部112と、統合ロジック生成部113とを含む。
なお、本実施の形態においては、例えばデータ型やデータ長などデータの構造を表現するデータを「データモデル」と呼び、例えば文字コードやエンディアンなどデータの構造以外の性質を表現するデータを「データ属性」と呼ぶ。データモデル及びデータ属性は、情報源となるデータベースの種別に依存しない、抽象的な形式で表現される。
抽出部101は、情報源システム3におけるDB31又はDB33からデータを抽出し、変換部102に出力する。変換部102は、メタ情報格納部115に格納されているデータに従い、データを変換する処理を行い、登録部103に出力する。登録部103は、変換部102から受け取ったデータを格納先システム5におけるDB51又はDB53に登録する。スキーマ収集部104は、収集したスキーマ情報を収集スキーマ格納部106に格納する処理や、スキーマ格納部105に格納されているスキーマ情報を更新する処理等を行う。データモデル・データ属性改修部107は、スキーマ格納部105、収集スキーマ格納部106、対応表格納部108及びメタ情報格納部115に格納されているデータに基づき、後で説明するデータモデル・データ属性改修処理を実施し、処理結果を変更後データ格納部109に格納する処理等を行う。仮変換ロジック生成部111は、変更後データ格納部109に格納されているデータ及びメタ情報格納部115に格納されているデータに基づき、後で説明する仮変換ロジック生成処理を実施し、処理結果を仮変換ロジック格納部112に格納する。統合ロジック生成部113は、変換経路表格納部114、メタ情報格納部115及び仮変換ロジック格納部112に格納されているデータに基づき、後で説明する変更後統合ロジック生成処理を実施し、処理結果を実行データ格納部116に格納する処理等を行う。また、各処理部は、処理結果を出力部117を介して表示装置に出力する処理を実施する。
図3に、対応表格納部108に格納されているデータ(メタ情報対応表)の一例を示す。図3の例は、データ型用のメタ情報対応表であり、「Schema」の列と、「Model」の列と、「Type」の列と、「Condition」の列とが含まれる。メタ情報対応表は、情報源であるDB31又はDB33の固有の形式で表現されている情報を、情報統合装置1のデータモデルやデータ属性にマッピングするためのマッピング・ルールを格納する。「Schema」の列には、DB31又はDB33から収集したスキーマ情報に含まれる項目の属性値が格納され、「Model」の列には、情報統合装置1のデータモデル及びデータ属性における項目情報が格納される。例えば3行目のデータは、スキーマ情報において「DECIMAL」という属性値がデータモデルにおいて「Number」という項目情報に対応付けられることを表している。また、「Type」の列には、マッピング・ルールの種別を表すデータが格納される。例えば、「default」であれば予め用意されたものであることを表し、「user」であれば情報統合装置1の管理者等が追加したものであることを表し、「auto」であれば後で説明する項目情報追加処理において追加されたものであることを表す。「Condition」の列には、適用条件に関するデータが格納される。なお、メタ情報対応表は情報源であるデータベースの種別(例えば、Oracle、COBOL等)毎に用意され、さらにデータ型やデータ長、エンディアン等の種別毎に用意される。
図4に、変換経路表格納部114に格納されているデータの一例を示す。図4は、文字コードを変換するための変換経路表の一例である。図4の例では、変換前の値を表す「From」の列と、変換後の値を表す「To」の列と、変換の複雑さを表す「Cost」の列と、非等価フラグ(NonEQuivalence flag)を設定するための「NEQ」の列とが含まれる。NEQフラグは、その変換を行うとデータが等価でなくなる(情報の一部が失われてしまう)可能性があることを表す。例えば9行目のデータにはNEQフラグが設定されているが、これは「UTF-8」から「SJIS」に変換できない文字があることを表している。
また、図5乃至図8に、変換経路表格納部114に格納されているデータの一例を示す。図5はデータ型を変換するための変換経路表の一例を示し、図6は改行コードを変換するための変換経路表の一例を示し、図7は桁数を変換するための変換経路表の一例を示し、図8はエンディアンを変換するための変換経路表の一例を示している。図5乃至図8の変換経路表のデータのフォーマットは図4と同様である。
図9及び図10に、メタ情報格納部115に格納されているデータの一例を示す。図9は、メタ情報格納部115に格納されているデータモデル及びデータ属性の一例である。図9の例では、DB31に対応するデータモデル及びデータ属性901と、DB33に対応するデータモデル及びデータ属性902と、DB51に対応するデータモデル及びデータ属性903とが含まれる。
一方、図10は、メタ情報格納部115に格納されている統合ロジックのデータの一例を示す。図10の統合ロジックは、データモデル及びデータ属性901とデータモデル及びデータ属性902とを、データモデル及びデータ属性903に変換するための統合ロジックである。より具体的には、図10の例の統合ロジックには、「従業員NO」という項目のデータ型を「Number」から「String」へ変換するためのロジックと、文字コードを「SJIS」から「UTF-16」へ変換するためのロジックと、「EMPNO」という項目のデータ型を「Number」から「String」へ変換するためのロジックと、同じ項目である「従業員NO」及び「EMPNO」を結合するためのロジックと、必要なものだけを取り出すための射影のロジックとが含まれる。
このように、メタ情報格納部115には、情報源であるデータベースの各々に対応するデータモデル及びデータ属性と、格納先データベースに対応するデータモデル及びデータ属性と、前者を後者へ変換するための統合ロジックのデータとが格納されている。なお、図示していないが、メタ情報格納部115には、情報源となるデータベース毎にデータベースに関する情報(例えば接続方法など)も格納されている。
次に、図11乃至図29を用いて、図2に示した情報統合装置1の処理内容について説明する。まず、図11乃至図14を用いて、統合ロジックを初めて実行する際に行われる処理について説明する。
まず、情報統合装置1における統合処理実行部100は、メタ情報格納部115に格納されているデータに従い、DB31及びDB33から抽出したデータに対して統合処理を実行する(図11:ステップS1)。ステップS1の処理は、例えば米国特許第6014670号及び米国特許第6339775号に開示されているような従来の技術を用いて実現することができる。具体的には、まず抽出部101は、DB31及びDB33からデータを抽出し、変換部102に出力する。変換部102は、メタ情報格納部115に格納されているデータに従い、抽出部101から受け取ったデータに対して変換処理を行う。例えば図9及び図10に示したデータモデル、データ属性及び統合ロジックがメタ情報格納部115に格納されている場合には、「従業員NO」及び「EMPNO」という項目の項目値のデータ型を「Number」から「String」に変換し、DB31から抽出したデータの文字コードを「SJIS」から「UTF-16」に変換する。また、同じ項目である「従業員NO」及び「EMPNO」を結合する。さらに、「従業員NO」、「氏名」及び「部署」についてのデータのみを取り出す。このような変換処理により、目的のデータモデル及びデータ属性903にマッピングする。そして、変換部102は、変換されたデータを登録部103に出力する。登録部103は、受け取ったデータをDB51に登録する。
そして、統合処理実行部100は、統合処理が成功したか、すなわちデータの変換が問題なく行われたか判断する(ステップS3)。統合処理の実行が成功しなかった場合(ステップS3:Noルート)、統合処理実行部100は、処理が失敗した旨を通知するためのデータを出力部117を介して表示装置等に表示させる(ステップS5)。
一方、統合処理の実行が成功した場合(ステップS3:Yesルート)、統合処理実行部100は、スキーマ収集部104にスキーマ情報の収集を指示する。そして、スキーマ収集部104は、スキーマ収集処理を実施する(ステップS7)。
スキーマ収集処理については、図12を用いて説明する。まず、スキーマ収集部104は、スキーマを収集するために必要なデータ(例えばDB31及びDB33の種別や、DB31及びDB33への接続方法についてのデータ)をメタ情報格納部115から読み出す(ステップS21)。
そして、スキーマ収集部104は、DB31及びDB33に接続し、スキーマ情報を生成するために必要な情報を抽出する(ステップS23)。また、スキーマ収集部104は、抽出された情報に対応するスキーマ定義を生成し、抽出された情報と生成されたスキーマ定義とを含むスキーマ情報を収集スキーマ格納部106に格納する(ステップS25)。そして元の処理に戻る。
ステップS23及びS25の処理について、図13及び図14を用いて説明する。まず、ステップS23において行われる処理の一例を、図13を用いて説明する。ステップS23において、スキーマ収集部104は、例えばPL(Procedural Language)/SQLのインタフェースを用いてDB31に接続する。データの抽出対象となるテーブルのDDL(Data Definition Language)文を取得するためのSQL1301を実行し、例えば実行結果1303を取得する。そして、実行結果から項目数、項目名、データ型等のデータ構造に関する情報を抽出する。また、スキーマ収集部104は、文字コードの情報を取得するためのSQL1305を実行し、例えば実行結果1307を取得する。さらに、スキーマ収集部104は、データの抽出対象となるテーブルからデータの先頭100レコードを抽出するためのSQLを実行し、例えば実行結果1311を取得する。そして、抽出したレコードを解析し、エンディアン等の情報を取得する。
そして、ステップS25において、抽出した情報に対応するスキーマ定義を生成する。図14は、スキーマ定義について説明するための図である。図14において、DB31から取得した情報1403に対し、スキーマ定義1401が設定されており、DB33から取得した情報1407に対しスキーマ定義1405が設定されている。ここでは、DB31から取得した情報1403は、DB31における表現形式がそのまま保持され、スキーマ定義1401におけるデータ構造に関する記述1409においてスキーマ定義1401に関連付けられる。なお、スキーマ定義1405及びDB33から取得した情報1407についても同様である。
図11の説明に戻り、スキーマ収集部104は、スキーマ収集処理が成功したか判断する(ステップS9)。スキーマ収集処理が失敗したと判断された場合(ステップS9:Noルート)、スキーマ収集部104は、処理が失敗した旨を通知するためのデータを出力部117を介して表示装置等に表示させる(ステップS5)。
一方、スキーマ収集処理が成功したと判断された場合には(ステップS11:Yesルート)、スキーマ収集部104は、収集スキーマ格納部106に格納されているスキーマ情報を、スキーマ格納部105に格納する(ステップS11)。そして処理を終了する。
以上のように、動作実績のあるスキーマに関する情報(スキーマ情報)をスキーマ格納部に保持しておくことにより、後にスキーマが変更された際に利用することができるようになる。
次に、図15乃至図29を用いて、図11の処理が行われた後に、再度統合処理を実行する際に行われる処理について説明する。
まず、統合処理実行部100は、メタ情報格納部115に格納されている、データモデル、データ属性及び統合ロジックを読み出し、実行データ格納部116に格納しておく。そして、統合処理実行部100は、スキーマ収集部104に対しスキーマ情報の収集を指示する。すると、スキーマ収集部104は、スキーマ収集処理を実施する(図15:S31)。スキーマ収集処理については、図12乃至図14を用いて説明したとおりである。また、スキーマ収集部104は、スキーマ収集処理が成功したか判断する(ステップS33)。スキーマ収集処理が失敗したと判断された場合(ステップS33:Noルート)、処理は端子Aを介して図29のステップS59に移行する。そして、スキーマ収集部104は、処理が失敗した旨を通知するためのデータを出力部117を介して表示装置に表示させる(ステップS59)。
一方、スキーマ収集処理が成功したと判断された場合(ステップS33:Yesルート)、スキーマ収集部104は、スキーマ格納部105に格納されているスキーマ情報と、収集スキーマ格納部106に格納されているスキーマ情報とを比較し、スキーマの変更があるか判断する(ステップS35)。例えば差分を取ることにより、スキーマの変更があるかを判断する。スキーマの変更がないと判断された場合(ステップS37:Noルート)、処理は端子Bを介して図29のステップS49に移行する。
一方、スキーマの変更があると判断された場合(ステップS37:Yesルート)、スキーマ収集部104は、メインメモリ等の記憶装置に変更フラグをセットし(ステップS39)、データモデル・データ属性改修部107にスキーマの変更が発生した旨を通知する。そして、データモデル・データ属性改修部107は、変更が発生したスキーマ情報に対し、データモデル・データ属性改修処理を実施する(ステップS41)。なお、以下では、収集スキーマ格納部106に格納されている、変更が発生したスキーマ情報を変更後スキーマと呼び、スキーマ格納部105に格納されている、変更が発生する前のスキーマ情報を変更前スキーマと呼ぶ。
データモデル・データ属性改修処理については、図16乃至図19を用いて説明する。ここでは、データ型に変更が発生した場合における処理(データモデルの改修処理)について説明するが、データ属性の改修処理についても同様の処理フローにて処理を実施すればよい。
まず、データモデル・データ属性改修部107は、収集スキーマ格納部106に格納されている、変更後スキーマのデータ構造情報から未処理の項目を1つ特定する(図16:ステップS71)。そして、データモデル・データ属性改修部107は、ステップS71において特定された項目(以下、図16及び図17の説明において「処理に係る項目」と呼ぶ)で、スキーマ格納部105に格納されている、変更前スキーマのデータ構造情報を探索する(ステップS73)。
そして、データモデル・データ属性改修部107は、変更前スキーマのデータ構造情報において処理に係る項目が検出されたか判断する(ステップS75)。変更前スキーマのデータ構造情報において処理に係る項目が検出されたと判断された場合(ステップS75:Yesルート)、データモデル・データ属性改修部107は、変更後スキーマのデータ構造情報に含まれる処理に係る項目の属性値と、変更前スキーマのデータ構造情報に含まれる処理に係る項目の属性値とが同じであるか判断する(ステップS77)。同じであると判断された場合(ステップS77:Yesルート)、データモデル・データ属性改修部107は、メタ情報格納部115に格納されているデータモデル(以下、変更前データモデルと呼ぶ)の項目情報を、変更後データ格納部109に格納されているデータモデル(データモデル・データ属性改修処理により生成されるデータモデル。以下、変更後データモデルと呼ぶ)に追加する(ステップS81)。
ステップS71乃至S81の処理について、図18を用いて説明する。例えばステップS71において、変更後スキーマのデータ構造情報における「氏名」又は「電話番号」という項目が特定されたとする。一方、変更前スキーマのデータ構造情報には「氏名」及び「電話番号」という項目が含まれ、且つこれらの項目の属性値は変更後スキーマの属性値と同じであるから、変更後データモデルに、変更前データモデルの項目情報をそのまま追加する。ここでは、「氏名」という項目については「String(20)」という項目情報を追加し、「電話番号」という項目については「String(11)」という項目情報を追加する。
図16の説明に戻り、変更前スキーマのデータ構造情報において処理に係る項目が検出されない場合(ステップS75:Noルート)、又は変更後スキーマのデータ構造情報に含まれる処理に係る項目の属性値と変更前スキーマのデータ構造情報に含まれる処理に係る項目の属性値とが同じではないと判断された場合(ステップS77:Noルート)、データモデル・データ属性改修部107は、項目情報追加処理を実施する(ステップS79)。項目情報追加処理については、図17乃至図19を用いて説明する。
まず、データモデル・データ属性改修部107は、対応表格納部108に格納されているメタ情報対応表(図3)を、処理に係る項目の属性値で探索する(図17:ステップS91)。メタ情報対応表において処理に係る項目の属性値が検出された場合(ステップS93:Yesルート)、処理に係る項目に対応する項目情報をメタ情報対応表から抽出し、変更後データモデルに追加する(ステップS95)。
図18を用いて、ステップS91乃至S95において行われる処理について説明する。例えばステップS71において、変更後スキーマのデータ構造情報における「従業員NO」という項目が特定されたとする。一方、変更前スキーマのデータ構造情報には「従業員NO」という項目が含まれ、且つこの項目の属性値は「NUMBER(6,0)」であり変更後スキーマの属性値「CHAR(6)」とは異なるから、項目情報追加処理(ステップS79)が行われる。そして、ステップS91においてデータ型「CHAR」でメタ情報対応表を探索すると、「Schema」の列において「CHAR」が検出されるので、「Model」の列における「String」を変更後データモデルに追加する。
図17の説明に戻り、メタ情報対応表において処理に係る項目が検出されない場合(ステップS93:Noルート)、データモデル・データ属性改修部107は、変更前スキーマのデータ構造情報を処理に係る項目の属性値で探索する(ステップS97)。処理に係る項目の属性値が検出された場合(ステップS99:Yesルート)、データモデル・データ属性改修部107は、当該属性値に対応する項目の項目情報を変更前データモデルから抽出し、変更後データモデルに追加する(ステップS105)。そして、データモデル・データ属性改修部107は、メタ情報対応表に新規のマッピング・ルールを追加する(ステップS107)。
ステップS105及びS107において行われる処理について、図19を用いて説明する。例えばステップS71において、変更後スキーマのデータ構造情報における「商品ID」という項目が特定されたとする。一方、変更前スキーマのデータ構造情報には「商品ID」という項目が含まれ、且つこの項目の属性値は「NUMBER(12,0)」であり変更後スキーマの属性値「SMALLINT」とは異なるから、項目情報追加処理(ステップS79)が行われる。そして、ステップS91においてデータ型「SMALLINT」でメタ情報対応表を探索すると、「Schema」の列において「SMALLINT」は検出されないので、変更前スキーマのデータ構造情報を「SMALLINT」で探索する。ここで、「SMALLINT」が検出された場合には、「SMALLINT」の項目「個数」に対応する項目情報「Integer」を変更前データモデルから抽出し、変更後データモデルに追加する。また、メタ情報対応表には、新規のマッピング・ルールとして、「Schema」の列には「SMALLINT」を格納し、「Model」の列には「Integer」を格納し、「Type」の列には「auto」を格納する。このように、メタ情報対応表に存在しないマッピング・ルールを、変更前スキーマ及び変更前データモデルを利用して導き出す。
図17の説明に戻り、処理に係る項目の属性値が検出されない場合(ステップS99:Noルート)、データモデル・データ属性改修部107は、項目情報の入力を促すためのデータを出力部117を介して表示装置等に表示させる(ステップS101)。そして、項目情報が入力された場合には、入力された項目情報を変更後データモデルに追加する(ステップS103)。また、メタ情報対応表に新規のマッピング・ルールを追加する(ステップS107)。ここでは、「Schema」の列には処理に係る項目が格納され、「Model」の列には入力された項目情報が格納され、「Type」の列には「user」が格納される。そして元の処理に戻る。
以上のような処理を実施することにより、スキーマの変更に応じて、必要なデータモデル(及びデータ属性)の改修を自動的に行うことができるようになる。
図15の説明に戻り、データモデル・データ属性改修部107は、データモデル・データ属性改修処理が成功したか判断する(ステップS43)。データモデル・データ属性改修処理が成功しなかった場合(ステップS43:Noルート)、処理は端子Aを介して図29のステップS59に移行する。そして、データモデル・データ属性改修部107は、処理が失敗した旨を通知するためのデータを出力部117を介して表示装置に表示させる(ステップS59)。
一方、データモデル・データ属性改修処理が成功した場合(ステップS43:Yesルート)、データモデル・データ属性改修部107は、統合ロジック改修部110に統合ロジック改修処理の実行を指示する。そして、統合ロジック改修部110は、統合ロジック改修処理を実施する(ステップS45)。統合ロジック改修処理については、図20乃至図28を用いて説明する。
まず、統合ロジック改修部110の仮変換ロジック生成部111は、仮変換ロジック生成処理を実施する(図20:ステップS111)。仮変換ロジック生成処理については、図21を用いて説明する。ここでは、データモデルについての仮変換ロジック生成処理を例にして説明するが、データ属性についても同様の処理を行う。
まず、仮変換ロジック生成部111は、変更後データ格納部109に格納されている変更後データモデルから未処理の項目(以下、図21の説明において「処理に係る項目」と呼ぶ)を1つ特定する(図21:ステップS121)。
そして、仮変換ロジック生成部111は、処理に係る項目で、メタ情報格納部115に格納されている変更前データモデルを探索する(ステップS123)。そして、仮変換ロジック生成部111は、処理に係る項目が変更前データモデルにおいて検出されたか判断する(ステップS125)。検出されなかった場合(ステップS125:Noルート)、ステップS131の処理に移行する。
一方、処理に係る項目が変更前データモデルにおいて検出されたと判断された場合(ステップS125:Yesルート)、仮変換ロジック生成部111は、変更前データモデルにおいて、検出された項目に対応付けて削除フラグをセットする(ステップS127)。
ステップS127において行われる処理について、図22を用いて説明する。例えば処理に係る項目が「EMPNO」又は「DEPT」である場合、これらの項目は変更前データモデルにも含まれるので、変更前データモデルにおける「EMPNO」及び「DEPT」という項目に対応付けて削除フラグをセットする。一方、変更前データモデルにおける「EXT」という項目は、変更後データモデルに含まれる項目ではないため、削除フラグは設定されない。なお、削除フラグは、後で説明する図27の処理フローにて使用される。
図21の説明に戻り、仮変換ロジック生成部111は、変更後データモデルを変更前データモデルに変換するための仮変換ロジックを生成し、仮変換ロジック格納部112に格納する(ステップS129)。そして、仮変換ロジック生成部111は、全ての項目について処理したか判断する(ステップS131)。全ての項目について処理していないと判断された場合(ステップS131:Noルート)、次の項目について処理を実施するため、ステップS121の処理に戻る。一方、全ての項目について処理したと判断された場合(ステップS131:Yesルート)、元の処理に戻る。
ここで、図23を用いて、ステップS129において行われる処理について説明する。なお、図23の例においては、データモデルだけでなくデータ属性についての仮変換ロジックの生成についても説明している。まず、DB31についての変更後データモデルにおいては「従業員NO」という項目のデータ型が「String」であるが、変更前データモデルにおいては「Number」であるため、データ型の変換のための仮変換ロジック2301が生成される。また、DB31についての変更後データ属性においては文字コードが「JEF」であるのに対し、変更前データ属性においては「SJIS」であるため、文字コード変換のための仮変換ロジック2302が生成される。さらに、DB33についての変更後データモデルにおいては「DEPT」という項目の桁数が「50」であるのに対し、変更前のデータモデルにおいては「40」であるため、桁数変換のための仮変換ロジック2303が生成される。このようにして生成された仮変換ロジックが、仮変換ロジック格納部112に格納される。
以上のようにして仮変換ロジックを用意しておけば、変更前の統合ロジックを利用して変更後の統合ロジックを効率的に生成することができる。
図20の説明に戻り、統合ロジック改修部110の統合ロジック生成部113は、変更後統合ロジック生成処理を実施する(ステップS113)。変更後統合ロジック生成処理については、図24乃至図28を用いて説明する。ここでは、データモデルについての統合ロジック生成処理を例にして説明するが、データ属性についても同様の処理を行う。
まず、統合ロジック生成部113は、変更後データ格納部109に格納されている変更後データモデルから、未処理の項目(以下、図24及び図25の説明において「処理に係る項目」と呼ぶ)を1つ特定する(図4:ステップS141)。そして、統合ロジック生成部113は、処理に係る項目についての仮変換ロジックが仮変換ロジック格納部112に格納されているか判断する(ステップS143)。例えば、データ型や型属性(桁数、null制約、一意性制約など)についての仮変換ロジックが仮変換ロジック格納部112に格納されているか判断する。
処理に係る項目についての仮変換ロジックが仮変換ロジック格納部112に格納されていると判断された場合(ステップS143:Yesルート)、統合ロジック生成部113は、統合ロジック最適化処理を実施する(ステップS145)。統合ロジック最適化処理については、図25及び図26を用いて説明する。ここでは、データ型についての統合ロジック最適化処理を例にして説明する。
まず、統合ロジック生成部113は、メタ情報格納部115に格納されている統合ロジック(以下、変更前統合ロジックと呼ぶ)に、処理に係る項目についてのデータ型の変換ロジックが含まれるか判断する(ステップS171)。
データ型の変換ロジックが含まれると判断された場合(ステップS173:Yesルート)、統合ロジック生成部113は、データ型の仮変換ロジックにおける変換前のデータ型をT1、統合ロジックに含まれるデータ型の変換ロジックにおける変換後のデータ型をT2と設定する(ステップS175)。
一方、データ型の変換ロジックが含まれないと判断された場合(ステップS173:Noルート)、統合ロジック生成部113は、データ型の仮変換ロジックにおける変換前のデータ型をT1、変換後のデータ型をT2と設定する(ステップS177)。
図26を用いて、ステップS175及びS177において行われる処理について説明する。なお、図26の例においては、データ型だけでなく、データ属性等の処理についても説明している。図26において、「従業員NO」という項目には、データ型の仮変換ロジックが存在し、且つ変更前の統合ロジックにおいてもデータ型の変換ロジックが存在するから、データ型の仮変換ロジックにおける変換前のデータ型「Str」をT1aと設定し、統合ロジックに含まれるデータ型の変換ロジックにおける変換後のデータ型「Str」をT2aと設定する。また、文字コードには、仮変換のロジックが存在し、且つ変更前の統合ロジックにおいても文字コードの変換ロジックが存在するから、文字コードの仮変換ロジックにおける変換前の文字コード「JEF」をT1bと設定し、統合ロジックに含まれる文字コードの変換ロジックにおける変換後の文字コード「UTF-16」をT2bと設定する。一方、「DEPT」という項目には、桁数の仮変換ロジックが存在しているが、統合ロジックには桁数についての変換ロジックが存在しないため、桁数の仮変換ロジックにおける変換前の桁数「50」をT1cと設定し、桁数の仮変換ロジックにおける変換後の桁数「40」をT2cと設定する。
図25の説明に戻り、ステップS175又はS177の後、統合ロジック生成部113は、T1からT2に至るコストが最小となる最適な変換経路を、データ型変換の変換経路表を用いて探索する(ステップS179)。
ステップS179において行われる処理について、図26を用いて説明する。図26の例では、T1a(Str)からT2a(Str)への変換は、同じ値への変換となるため、変換を行わないことがコスト0で最適となる。また、T1b(JEF)からT2b(UTF-16)への変換については、変換経路表(図4)を参照すると、(1)JEF→SJIS→UTF-16(コストの合計:70)という経路、(2)JEF→SJIS→UTF-8→UTF-16(コストの合計:100)という経路、(3)JEF→U90→UTF-16(コストの合計:50)という経路、及び(4)JEF→U90→UTF-8→UTF-16(コストの合計:90)という経路が存在する。この中で、コストが最小となるのは(3)の経路であるから、(3)の経路が最適となる。また、T1c(50)からT2c(40)への変換については、変換経路表(図7)に従い、そのまま変換することが最適となる。なお、図26に示した仮変換ロジック及び変更前の統合ロジックから、最適な変換経路を選択して変更後の統合ロジックを生成すると、図28に示すような統合ロジックが完成する。
図25の説明に戻り、T1からT2に至るコストが最小となる最適な変換経路が特定された場合(ステップS181:Yesルート)、統合ロジック生成部113は、変換経路表格納部114において、特定された変換経路に対してNEQフラグがセットされているか判断する(ステップS185)。NEQフラグがセットされている場合(ステップS185:Yesルート)、統合ロジック生成部113は、変換を行ってよいか確認するためのデータを出力部117を介して表示装置に表示させる(ステップS187)。図26の例であれば、T1c(50)からT2c(40)への変換については変換経路表(図7)にNEQフラグがセットされているため、ステップS185の処理が行われる。そして、NEQフラグがセットされていない場合(ステップS185:Noルート)又はステップS187の処理の後管理者等から変換を指示された場合、統合ロジック生成部113は、新たに生成されたデータ型の変換ロジックで実行データ格納部116を更新する(ステップS189)。すなわち、変更前のデータ型の変換ロジックを新たに生成されたデータ型の変換ロジックで置換する。そして元の処理に戻る。
一方、T1からT2に至るコストが最小となる変換経路が特定されなかった(すなわち、変換経路が存在しない)場合(ステップS182:Noルート)、統合ロジック生成部113は、改修不能な変更があることを通知するためのデータを出力部117を介して表示装置に表示させる(ステップS183)。そして元の処理に戻る。
以上のような処理を実施することにより、情報統合のための処理に要するコストを抑えた形で変更後の統合ロジックを生成することができるようになる。
図24の説明に戻り、統合ロジック生成部113は、全ての項目について処理したか判断する(ステップS147)。全ての項目について処理していない場合(ステップS147:Noルート)、次の項目について処理を実施するため、ステップS141の処理に戻る。一方、全ての項目について処理した場合(ステップS147:Yesルート)、処理は端子Cを介して図27のステップS149に移行する。
図27の説明に移行して、統合ロジック生成部113は、メタ情報格納部115に格納されている変更前データモデルにおいて、削除フラグがセットされていない未処理の項目を探索する(ステップS149)。削除フラグがセットされていない未処理の項目が検出されなかった場合(ステップS151:Noルート)、統合ロジック生成部113は、新たに生成された変更後データモデルで実行データ格納部116を更新し(すなわち、変更前のデータモデルを変更後のデータモデルで置換し)、元の処理に戻る。そして、統合ロジック改修処理を終了し、図15のステップS47に戻る。
一方、削除フラグがセットされていない未処理の項目が検出された場合(ステップS151:Yesルート)、統合ロジック生成部113は、メタ情報格納部115に格納されている統合ロジックに、検出された項目についての変換ロジックが含まれるか判断する(ステップS153)。検出された項目についての変換ロジックが含まれないと判断された場合(ステップS155:Noルート)、ステップS149の処理に戻る。一方、検出された項目についての変換ロジックが含まれと判断された場合(ステップS155:Yesルート)、統合ロジック生成部113は、変更前の統合ロジックに関係する項目が変更後データモデルにおいて削除されている旨を通知するためのデータを出力部117を介して表示装置に表示させる(ステップS157)。そしてステップS149に戻る。
なお、削除フラグがセットされていない項目とは、変更前データモデルには存在するが変更後データモデルには存在しない項目、すなわち変更後データモデルからは削除された項目である。そのような項目についての変換ロジックが変更前の統合ロジックに存在する場合には、変更後の統合ロジックにも影響を及ぼす可能性がある。従って、管理者等に確認を促すため、ステップS157の処理を行っている。
以上のような処理を実施すれば、管理者等が統合ロジックを改修する手間を削減することができるようになる。
図15の説明に戻り、統合ロジック改修部110は、統合ロジック改修処理が成功したか判断する(ステップS47)。統合ロジック改修処理が失敗したと判断された場合(ステップS47:Noルート)、処理は端子Aを介して図29のステップS59に移行する。そして、統合ロジック改修部110は、処理が失敗した旨を通知するためのデータを出力部117を介して表示装置に表示させる(ステップS59)。一方、統合ロジック改修処理が成功したと判断された場合(ステップS47:Yesルート)、処理は端子Bを介して図29のステップS49に移行する。
図29の説明に移行して、統合処理実行部100は、実行データ格納部116に格納されているデータモデル、データ属性及び統合ロジックに基づき、統合処理を実行する(ステップS49)。そして、統合処理実行部100は、統合処理が成功したか判断する(ステップS51)。統合処理が失敗したと判断された場合(ステップS51:Noルート)、統合処理実行部100は、処理が失敗した旨を通知するためのデータを出力部117を介して表示装置に表示させる(ステップS59)。
一方、統合処理が成功したと判断された場合(ステップS51:Yesルート)、統合処理実行部100は、ステップS39において変更フラグがセットされたか判断する(ステップS53)。変更フラグがセットされていない場合(ステップS53:Noルート)、処理を終了する。
一方、変更フラグがセットされている場合(ステップS53:Yesルート)、統合処理実行部100は、収集スキーマ格納部106に格納されている変更後スキーマでスキーマ格納部105を更新する(ステップS55)。また、統合処理実行部100は、実行データ格納部116に格納されている変更後のデータモデル、データ属性及び統合ロジックでメタ情報格納部115を更新する(ステップS57)。そして処理を終了する。
以上のように、情報源であるデータベースのスキーマの変更に伴い必要となるメタ情報(データモデル、データ属性及び統合ロジックなど)の改修を自動的に行えば、管理者等による改修作業は不要となり、システムの運用コストを削減できるようになる。
以上、本技術の実施の形態を説明したが、本技術はこれに限定されるものではない。例えば、上で説明した情報統合装置1の機能ブロック図は必ずしも実際のプログラムモジュール構成に対応するものではない。
また、上で説明した各テーブルの構成は一例であって、必ずしも上記のような構成でなければならないわけではない。さらに、処理フローにおいても、処理結果が変わらなければ処理の順番を入れ替えることも可能である。さらに、並列に実行させるようにしても良い。
なお、上で述べた情報統合装置1は、コンピュータ装置であって、図30に示すように、メモリ2501とCPU2503とハードディスク・ドライブ(HDD)2505と表示装置2509に接続される表示制御部2507とリムーバブル・ディスク2511用のドライブ装置2513と入力装置2515とネットワークに接続するための通信制御部2517とがバス2519で接続されている。オペレーティング・システム(OS:Operating System)及び本実施例における処理を実施するためのアプリケーション・プログラムは、HDD2505に格納されており、CPU2503により実行される際にはHDD2505からメモリ2501に読み出される。必要に応じてCPU2503は、表示制御部2507、通信制御部2517、ドライブ装置2513を制御して、必要な動作を行わせる。また、処理途中のデータについては、メモリ2501に格納され、必要があればHDD2505に格納される。本技術の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク2511に格納されて頒布され、ドライブ装置2513からHDD2505にインストールされる。インターネットなどのネットワーク及び通信制御部2517を経由して、HDD2505にインストールされる場合もある。このようなコンピュータ装置は、上で述べたCPU2503、メモリ2501などのハードウエアとOS及び必要なアプリケーション・プログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
以上述べた本技術の実施の形態をまとめると以下のようになる。
本情報統合方法は、情報源から抽出したデータを変換して格納先に登録するコンピュータにより実行される。そして、本情報統合方法は、(A)情報源(例えばデータベースやファイル)から取得した第1のスキーマ情報と、当該第1のスキーマ情報の変更前に情報源から取得した第2のスキーマ情報とを比較し、情報源のスキーマの変更を検出するステップと、(B)スキーマの変更に関連する項目の属性値で、スキーマ情報に含まれる属性値とデータモデルにおける項目情報とを対応付けて格納する対応表格納部を探索するステップと、(C)対応表格納部においてスキーマの変更に関連する項目の属性値が検出された場合には、当該スキーマの変更に関連する項目の属性値に対応する項目情報を用いて、第2のスキーマ情報に対応するデータモデルである変更前データモデルを格納するメタ情報格納部に格納されている変更前データモデルを改修して変更後データモデルを生成し、記憶装置に格納するステップと、(D)記憶装置に格納された変更後データモデルを、格納先に対応するデータモデルに変換するための変更後統合ロジックを生成し、メタ情報格納部に格納するロジック改修ステップとを含む。
このような構成であれば、情報源のスキーマが変更されたとしても、変更に伴い必要となる改修作業を管理者等が行う必要は無いため、システムの運用コストを削減できる。なお、データモデル(例えばデータ型やデータ長などデータの構造を表現するデータ)だけではなく、データ属性(例えば文字コードやエンディアンなどデータの構造以外の性質を表すデータ)についても同様の処理にて対処することができる。
なお、情報源や格納先のシステムとしては一般にデータベースが使用されるが、CSV(Comma Separated Values)やXML(Extensible Markup Language)といったファイルが利用されることも多い。本実施の形態では情報源、格納先システムともにデータベースであることを前提として説明するが、ファイルであった場合にも、例えばデータプロファイリング(解析)などの手法を用いてデータベースのスキーマに相当する情報を構築することにより、本技術の適用が可能である。
また、対応表格納部においてスキーマの変更に関連する項目の属性値が検出されなかった場合には、当該スキーマの変更に関連する項目の属性値が第2のスキーマ情報に含まれるか判断するステップと、スキーマの変更に関連する項目の属性値が第2のスキーマ情報に含まれると判断された場合には、当該第2のスキーマ情報から、スキーマの変更に関連する項目の属性値に対応する項目を特定するステップと、特定された項目に対応する項目情報を変更前データモデルから抽出し、当該項目情報を用いて、変更前データモデルを改修して変更後データモデルを生成し、記憶装置に格納する抽出ステップとをさらに含むようにしてもよい。対応表格納部には格納されていない対応付けのルールを、第2のスキーマ情報及び変更前のデータモデルを利用して導き出すものである。
また、スキーマの変更に関連する項目の属性値と抽出ステップにおいて抽出された項目情報とを対応付けて対応表格納部に格納する新規ルール生成ステップをさらに含むようにしてもよい。これにより、新たに導き出された対応付けのルールを次回以降も利用できるようになる。
また、上で述べたメタ情報格納部には、変更前データモデルを格納先に対応するデータモデルに変換するための変更前統合ロジックがさらに格納されるようにしてもよい。そして、上で述べたロジック改修ステップが、記憶装置に格納されている変更後データモデルを、メタ情報格納部に格納されている変更前データモデルに変換するための仮変換ロジックを生成するステップと、生成された仮変換ロジックとメタ情報格納部に格納されている変更前統合ロジックとに基づき、変更後データモデルを格納先に対応するデータモデルに変換するための変更後統合ロジックを生成する生成ステップとを含むようにしてもよい。これにより、変更前統合ロジックを活用して効率的に変更後統合ロジックを生成することができるようになる。
また、上で述べた生成ステップが、変換経路のデータと変換に要するコストとを対応付けて格納する変換経路表に格納されているデータを用いて、変更後データモデルから格納先に対応するデータモデルへの変換に要するコストが最小となる変換経路を特定し、特定された当該変換経路で変換を行うように変更後統合ロジックを生成するステップを含むようにしてもよい。このようにすれば、統合ロジックの変更後において、情報統合のための処理に要するコストを抑制することができるようになる。
なお、上記方法による処理をコンピュータに行わせるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブルディスク、CD−ROM、光磁気ディスク、半導体メモリ、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。尚、中間的な処理結果はメインメモリ等の記憶装置に一時保管される。
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)
情報源から抽出したデータを変換して格納先に登録するための情報統合プログラムであって、
前記情報源から取得した第1のスキーマ情報と、当該第1のスキーマ情報の変更前に前記情報源から取得した第2のスキーマ情報とを比較し、前記情報源のスキーマの変更を検出するステップと、
前記スキーマの変更に関連する項目の属性値で、スキーマ情報に含まれる属性値とデータモデルにおける項目情報とを対応付けて格納する対応表格納部を探索するステップと、
前記対応表格納部において前記スキーマの変更に関連する項目の属性値が検出された場合には、当該スキーマの変更に関連する項目の属性値に対応する項目情報を用いて、前記第2のスキーマ情報に対応するデータモデルである変更前データモデルを格納するメタ情報格納部に格納されている前記変更前データモデルを改修して変更後データモデルを生成し、記憶装置に格納するステップと、
前記記憶装置に格納された前記変更後データモデルを、前記格納先に対応するデータモデルに変換するための変更後統合ロジックを生成し、前記メタ情報格納部に格納するロジック改修ステップと、
を、コンピュータに実行させるための情報統合プログラム。
(付記2)
前記対応表格納部において前記スキーマの変更に関連する項目の属性値が検出されなかった場合には、当該スキーマの変更に関連する項目の属性値が前記第2のスキーマ情報に含まれるか判断するステップと、
前記スキーマの変更に関連する項目の属性値が前記第2のスキーマ情報に含まれると判断された場合には、当該第2のスキーマ情報から、前記スキーマの変更に関連する項目の属性値に対応する項目を特定するステップと、
特定された前記項目に対応する項目情報を前記変更前データモデルから抽出し、当該項目情報を用いて、前記変更前データモデルを改修して変更後データモデルを生成し、前記記憶装置に格納する抽出ステップと、
を、さらに実行させるための付記1記載の情報統合プログラム。
(付記3)
前記スキーマの変更に関連する項目の属性値と前記抽出ステップにおいて抽出された項目情報とを対応付けて前記対応表格納部に格納する新規ルール生成ステップ
を、さらに実行させるための付記2記載の情報統合プログラム。
(付記4)
前記メタ情報格納部には、前記変更前データモデルを前記格納先に対応するデータモデルに変換するための変更前統合ロジックがさらに格納されており、
前記ロジック改修ステップが、
前記記憶装置に格納されている前記変更後データモデルを、前記メタ情報格納部に格納されている前記変更前データモデルに変換するための仮変換ロジックを生成するステップと、
生成された前記仮変換ロジックと前記メタ情報格納部に格納されている前記変更前統合ロジックとに基づき、前記変更後データモデルを前記格納先に対応するデータモデルに変換するための変更後統合ロジックを生成する生成ステップと、
を含む、付記1乃至3のいずれか1つ記載の情報統合プログラム。
(付記5)
前記生成ステップが、
変換経路のデータと変換に要するコストとを対応付けて格納する変換経路表に格納されているデータを用いて、前記変更後データモデルから前記格納先に対応するデータモデルへの変換に要するコストが最小となる変換経路を特定し、特定された当該変換経路で変換を行うように前記変更後統合ロジックを生成するステップ
を含む、付記4記載の情報統合プログラム。
(付記6)
情報源から抽出したデータを変換して格納先に登録する情報統合装置であって、
スキーマ情報に含まれる属性値とデータモデルにおける項目情報とを対応付けて格納する対応表格納部と、
前記情報源から取得した第1のスキーマ情報に対応するデータモデルである変更前データモデルを格納するメタ情報格納部と、
前記第1のスキーマ情報と、当該第1のスキーマ情報の変更後に前記情報源から取得した第2のスキーマ情報とを比較し、前記情報源のスキーマの変更を検出するスキーマ収集部と、
前記スキーマの変更に関連する項目の属性値で前記対応表格納部を探索し、前記スキーマの変更に関連する項目の属性値が検出された場合には、当該スキーマの変更に関連する項目の属性値に対応する項目情報を用いて、前記メタ情報格納部に格納されている前記変更前データモデルを改修して変更後データモデルを生成するデータモデル改修部と、
生成された前記変更後データモデルを、前記格納先に対応するデータモデルに変換するための変更後統合ロジックを生成し、前記メタ情報格納部に格納する統合ロジック改修部と、
を有する情報統合装置。
(付記7)
情報源から抽出したデータを変換して格納先に登録するコンピュータにより実行される情報統合方法であって、
前記情報源から取得した第1のスキーマ情報と、当該第1のスキーマ情報の変更前に前記情報源から取得した第2のスキーマ情報とを比較し、前記情報源のスキーマの変更を検出するステップと、
前記スキーマの変更に関連する項目の属性値で、スキーマ情報に含まれる属性値とデータモデルにおける項目情報とを対応付けて格納する対応表格納部を探索するステップと、
前記対応表格納部において前記スキーマの変更に関連する項目の属性値が検出された場合には、当該スキーマの変更に関連する項目の属性値に対応する項目情報を用いて、前記第2のスキーマ情報に対応するデータモデルである変更前データモデルを格納するメタ情報格納部に格納されている前記変更前データモデルを改修して変更後データモデルを生成し、記憶装置に格納するステップと、
前記記憶装置に格納された前記変更後データモデルを、前記格納先に対応するデータモデルに変換するための変更後統合ロジックを生成し、前記メタ情報格納部に格納するロジック改修ステップと、
を含む情報統合方法。
1 情報統合装置
100 統合処理実行部 101 抽出部
102 変換部 103 登録部
104 スキーマ収集部 105 スキーマ格納部
106 収集スキーマ格納部 107 データモデル・データ属性改修部
108 対応表格納部 109 変更後データ格納部
110 統合ロジック改修部 111 仮変換ロジック生成部
112 仮変換ロジック格納部 113 統合ロジック生成部
114 変換経路表格納部 115 メタ情報格納部
116 実行データ格納部 117 出力部
3 情報源システム 31,33 DB
5 格納先システム 51,53 DB

Claims (7)

  1. 情報源から抽出したデータを変換して格納先に記憶する情報統合プログラムであって、
    前記情報源から取得した第1のスキーマ情報に含まれるデータ項目と、当該第1のスキーマ情報の変更前のスキーマ情報である第2のスキーマ情報に含まれるデータ項目とに基づいて、前記第2のスキーマ情報に含まれるデータ項目について属性値と前記第2のスキーマ情報に対応する変更前データモデルにおけるデータ項目情報とを対応付けて記憶する第1記憶に記憶された、前記第1のスキーマ情報に含まれる属性値を探索
    探索の結果、前記第1のスキーマ情報に含まれる属性値が検出された場合、検出された該属性値に対応付けて前記第1記憶部に記憶されたデータ項目情報に基づいて、前記第1のスキーマ情報に対応する変更後データモデルを生成する処理
    を、コンピュータに実行させ情報統合プログラム。
  2. 請求項1記載の情報統合プログラムであって、前記コンピュータに、
    第2記憶部に記憶され且つ変換経路のデータと変換に要するコストとを対応付けた変換経路情報を参照して、前記変更後データモデルから前記格納先に対応するデータモデルへの変換に要するコストが最小となる変換経路を特定し、特定された当該変換経路で変換を行う統合ロジックを生成する、
    ことをさらに実行させる情報統合プログラム。
  3. 前記探索の結果、前記第1のスキーマ情報に含まれる属性値が検出されなかった場合には、当該第1のスキーマ情報に含まれる属性値が前記第2のスキーマ情報に含まれるか判断
    前記第1のスキーマ情報に含まれる属性値が前記第2のスキーマ情報に含まれると判断された場合には、当該第2のスキーマ情報から、前記第1のスキーマ情報に含まれる属性値に対応する項目を特定
    特定された前記項目に対応するデータ項目情報を前記第2のスキーマ情報に対応するデータモデルである変更前データモデルから抽出し、当該データ項目情報を用いて、前記変更前データモデルを改修して変更後データモデルを生成する
    処理を、さらに実行させる請求項1又は2記載の情報統合プログラム。
  4. 前記第1のスキーマ情報に含まれる属性値と前記変更前データモデルから抽出された前記データ項目情報とを対応付けて前記第1記憶部に格納する処理
    を、さらに実行させる請求項3記載の情報統合プログラム。
  5. 前記統合ロジックを生成する処理が、
    記変更後データモデルを、前記第2のスキーマ情報に対応するデータモデルである変更前データモデルに変換するための仮変換ロジックを生成
    生成された前記仮変換ロジックと前記変更前データモデルを前記格納先に対応するデータモデルに変換する変更前統合ロジックとに基づき、前記変更後データモデルを前記格納先に対応するデータモデルに変換する合ロジックを生成する処理
    を含む、請求項記載の情報統合プログラム。
  6. 情報源から抽出したデータを変換して格納先に記憶する情報統合装置であって、
    前記情報源から取得した第1のスキーマ情報に含まれるデータ項目と、当該第1のスキーマ情報の変更前のスキーマ情報である第2のスキーマ情報に含まれるデータ項目とに基づいて、前記第2のスキーマ情報に含まれるデータ項目について属性値と前記第2のスキーマ情報に対応する変更前データモデルにおけるデータ項目情報とを対応付けて記憶する第1記憶に記憶された、前記第1のスキーマ情報に含まれる属性値を探索する手段と
    探索の結果、前記第1のスキーマ情報に含まれる属性値が検出された場合、検出された該属性値に対応付けて前記第1記憶部に記憶されたデータ項目情報に基づいて、前記第1のスキーマ情報に対応する変更後データモデルを生成する手段と
    を有する情報統合装置。
  7. 情報源から抽出したデータを変換して格納先に記憶するコンピュータにより実行される情報統合方法であって、
    前記情報源から取得した第1のスキーマ情報に含まれるデータ項目と、当該第1のスキーマ情報の変更前のスキーマ情報である第2のスキーマ情報に含まれるデータ項目とに基づいて、前記第2のスキーマ情報に含まれるデータ項目について属性値と前記第2のスキーマ情報に対応する変更前データモデルにおけるデータ項目情報とを対応付けて記憶する第1記憶に記憶された、前記第1のスキーマ情報に含まれる属性値を探索
    探索の結果、前記第1のスキーマ情報に含まれる属性値が検出された場合、検出された該属性値に対応付けて前記第1記憶部に記憶されたデータ項目情報に基づいて、前記第1のスキーマ情報に対応する変更後データモデルを生成する処理
    を含む情報統合方法。
JP2010165698A 2010-07-23 2010-07-23 情報統合プログラム、装置及び方法 Expired - Fee Related JP5601066B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2010165698A JP5601066B2 (ja) 2010-07-23 2010-07-23 情報統合プログラム、装置及び方法
US13/184,285 US8412670B2 (en) 2010-07-23 2011-07-15 Apparatus, method, and program for integrating information

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010165698A JP5601066B2 (ja) 2010-07-23 2010-07-23 情報統合プログラム、装置及び方法

Publications (2)

Publication Number Publication Date
JP2012027690A JP2012027690A (ja) 2012-02-09
JP5601066B2 true JP5601066B2 (ja) 2014-10-08

Family

ID=45780549

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010165698A Expired - Fee Related JP5601066B2 (ja) 2010-07-23 2010-07-23 情報統合プログラム、装置及び方法

Country Status (2)

Country Link
US (1) US8412670B2 (ja)
JP (1) JP5601066B2 (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011142026A1 (ja) * 2010-05-14 2011-11-17 株式会社日立製作所 時系列データ管理装置、システム、方法、およびプログラム
US10216814B2 (en) 2013-05-17 2019-02-26 Oracle International Corporation Supporting combination of flow based ETL and entity relationship based ETL
US9507838B2 (en) * 2013-05-17 2016-11-29 Oracle International Corporation Use of projector and selector component types for ETL map design
WO2016004188A1 (en) * 2014-07-03 2016-01-07 FishEye Products, LLC Realtime processing of streaming data
GB201615748D0 (en) 2016-09-15 2016-11-02 Gb Gas Holdings Ltd System for importing data into a data repository
JP6723893B2 (ja) 2016-10-07 2020-07-15 株式会社日立製作所 データ統合装置およびデータ統合方法
JP6784612B2 (ja) * 2017-03-02 2020-11-11 株式会社日立製作所 分析ソフトウェア管理システム及び分析ソフトウェア管理方法
WO2018183531A1 (en) * 2017-03-28 2018-10-04 Walmart Apollo, Llc Systems and methods for computer assisted database change documentation
JP7010364B2 (ja) * 2018-03-14 2022-01-26 日本電気株式会社 データ作成装置、データ分類装置、データ処理システム、データ作成方法、データ分類方法及びプログラム
JP6773708B2 (ja) * 2018-03-23 2020-10-21 株式会社日立製作所 データ移行システム及びデータ移行サーバ
JP7060797B2 (ja) * 2018-05-28 2022-04-27 富士通株式会社 テーブル生成方法、テーブル生成装置およびテーブル生成プログラム
WO2020115864A1 (ja) * 2018-12-06 2020-06-11 株式会社日立製作所 データ管理方法、データ管理システム及びプログラム
US11468058B1 (en) * 2021-11-12 2022-10-11 Siteimprove A/S Schema aggregating and querying system

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08161208A (ja) * 1994-12-08 1996-06-21 Fujitsu Ltd オブジェクト構造変換装置
JP3577400B2 (ja) 1997-07-08 2004-10-13 株式会社エヌ・ティ・ティ・データ システム設計装置及びデータウエアハウス設計システム
US6339775B1 (en) * 1997-11-07 2002-01-15 Informatica Corporation Apparatus and method for performing data transformations in data warehousing
US6014670A (en) 1997-11-07 2000-01-11 Informatica Corporation Apparatus and method for performing data transformations in data warehousing
JP2004030179A (ja) * 2002-06-25 2004-01-29 Nec System Technologies Ltd スキーマ情報の参照装置
US7496571B2 (en) * 2004-09-30 2009-02-24 Alcatel-Lucent Usa Inc. Method for performing information-preserving DTD schema embeddings
US7596559B2 (en) * 2004-10-28 2009-09-29 International Business Machines Corporation Constraint-based XML query rewriting for data integration
US20060253476A1 (en) * 2005-05-09 2006-11-09 Roth Mary A Technique for relationship discovery in schemas using semantic name indexing
US20070055655A1 (en) * 2005-09-08 2007-03-08 Microsoft Corporation Selective schema matching
US7934207B2 (en) * 2006-12-19 2011-04-26 Microsoft Corporation Data schemata in programming language contracts
US8799299B2 (en) * 2010-05-27 2014-08-05 Microsoft Corporation Schema contracts for data integration

Also Published As

Publication number Publication date
US8412670B2 (en) 2013-04-02
JP2012027690A (ja) 2012-02-09
US20120185464A1 (en) 2012-07-19

Similar Documents

Publication Publication Date Title
JP5601066B2 (ja) 情報統合プログラム、装置及び方法
US11461294B2 (en) System for importing data into a data repository
US11360950B2 (en) System for analysing data relationships to support data query execution
US11409764B2 (en) System for data management in a large scale data repository
US10963800B2 (en) Service layer augmentation of response to semantically-informed query of arbitrary external data sources
JP6045706B2 (ja) データ処理システム、データ処理方法およびデータ処理装置
US8543539B2 (en) Method and system for capturing change of data
JP4045399B2 (ja) 構造化文書管理装置及び構造化文書管理方法
US9116968B2 (en) Methods and apparatus related to graph transformation and synchronization
JP6024559B2 (ja) プログラムおよびバージョン管理方法
JP6427592B2 (ja) データ型に関連するデータプロファイリング操作の管理
CN115543402B (zh) 一种基于代码提交的软件知识图谱增量更新方法
US20140372408A1 (en) Sparql query optimization method
US20200012643A1 (en) Method for managing and executing decoders and transformations using linked data and a service layer
JP4562749B2 (ja) 文書の圧縮格納方法及び装置
JP6588988B2 (ja) 業務プログラム生成支援システムおよび業務プログラム生成支援方法
JP2018109898A (ja) データマイグレーションシステム
JP5685205B2 (ja) プログラム、情報処理装置およびアクセス支援方法
JP5189880B2 (ja) クラス構造生成方法、クラス構造生成プログラムおよびクラス構造生成装置
CN114089976B (zh) 用于生成数据库操作语句的方法、设备和介质
JP2015219672A (ja) データ管理装置、データ管理方法、及び、そのプログラム
JP6628566B2 (ja) データベース管理装置及びプログラム
JP4120879B2 (ja) プログラム生成システム及び方法とそのプログラム
JP2016095723A (ja) 対応情報生成プログラム、対応情報生成装置及び対応情報生成方法
JP5542857B2 (ja) クエリ発行装置、クエリ発行プログラム、クエリ発行方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130507

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140204

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140404

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140804

R150 Certificate of patent or registration of utility model

Ref document number: 5601066

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees