JP5733434B6 - Data integration apparatus, data integration method, and data integration program - Google Patents

Data integration apparatus, data integration method, and data integration program Download PDF

Info

Publication number
JP5733434B6
JP5733434B6 JP2014009935A JP2014009935A JP5733434B6 JP 5733434 B6 JP5733434 B6 JP 5733434B6 JP 2014009935 A JP2014009935 A JP 2014009935A JP 2014009935 A JP2014009935 A JP 2014009935A JP 5733434 B6 JP5733434 B6 JP 5733434B6
Authority
JP
Japan
Prior art keywords
data
model
information
physical
search condition
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
JP2014009935A
Other languages
Japanese (ja)
Other versions
JP2014096177A (en
JP5733434B2 (en
Inventor
和夫 嶺野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2014009935A priority Critical patent/JP5733434B6/en
Publication of JP2014096177A publication Critical patent/JP2014096177A/en
Application granted granted Critical
Publication of JP5733434B2 publication Critical patent/JP5733434B2/en
Publication of JP5733434B6 publication Critical patent/JP5733434B6/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

この発明は、データ統合装置、データ統合方法およびデータ統合プログラムを記録したコンピュータ読み取り可能な記録媒体に関し、特に異なるシステムにおいて管理されている複数の情報源に存在するデータを収集して統合するデータ統合装置、データ統合方法およびデータ統合プログラムを記録したコンピュータ読み取り可能な記録媒体に関する。   The present invention relates to a data integration apparatus, a data integration method, and a computer-readable recording medium recording a data integration program, and in particular, data integration for collecting and integrating data existing in a plurality of information sources managed in different systems. The present invention relates to an apparatus, a data integration method, and a computer-readable recording medium on which a data integration program is recorded.

従来から、複数の異なるシステムにおいて管理されているデータを統合することによりシステム間の連携をおこなう装置は実現されている。たとえばETL(Extract/Transform/Load)は、情報源となるデータベースからデータを抽出(ex
tract)し、利用側システムで利用しやすい形に加工(transform)し、利用
システムのデータベースに書き出す(load)ことにより実現しており、目的ごとに開発され、バッチ処理により運用されるのが通常である。ETLはデータウエアハウスの構築が代表的な応用例である。
2. Description of the Related Art Conventionally, an apparatus that cooperates between systems by integrating data managed in a plurality of different systems has been realized. For example, ETL (Extract / Transform / Load) extracts data from a database as an information source (ex
It is usually realized by transcribing, transforming it into a form that can be easily used by the user system, and writing it to the database of the user system (load). It is usually developed for each purpose and operated by batch processing. It is. ETL is a typical application example of building a data warehouse.

また、EAI(Enterprise Application Integration)では、連携するシステム間であらかじめ取り決めた基準にしたがってデータとプロセスを連携させることにより、複数のコンピュータシステムの有機的な連携を実現するものである。   In EAI (Enterprise Application Integration), data and processes are linked in accordance with a predetermined standard between linked systems, thereby realizing organic linkage between a plurality of computer systems.

EAIの具体例としては、異なるデータ形式を用いるように設計されている複数の業務システム間の連携を実現するために、ある所定の標準データ形式を規定しておき、各業務システム間でデータの連携をする際には、転送元の業務システムのデータを一旦、標準データ形式に変換し、さらに転送先の業務システムのデータ形式に変換することにより複数システム間のデータ連携を実現する技術がある(たとえば、特許文献1参照。)。   As a specific example of EAI, in order to realize cooperation between a plurality of business systems designed to use different data formats, a predetermined standard data format is defined, and data between each business system is defined. When linking, there is a technology that realizes data linkage between multiple systems by converting the data of the transfer source business system into a standard data format and then converting it to the data format of the transfer destination business system. (For example, refer to Patent Document 1).

その際、業務システムがデータ処理において使用するデータ形式と標準データ形式との対応情報を記憶した複数の辞書データベースを用いて、ある業務システムからのデータのデータ形式を標準データ形式へ変換する。もしくはその逆をおこなうことでデータ連携をおこなう技術が示されている。この方法では、標準データ形式の定義をおこない、各情報システムごとに専用の変換用辞書データベースを構築する必要があり、また、標準データ形式に変更が発生すると、すべての辞書データベースの変更が必要になる。また、実際の連携時には、最低2段階のデータ形式の変換処理がおこなわれ、CPU処理が発生する。   At that time, the data format of the data from a certain business system is converted into the standard data format by using a plurality of dictionary databases storing correspondence information between the data format used by the business system in data processing and the standard data format. Alternatively, a technique for performing data linkage by performing the reverse is shown. In this method, it is necessary to define the standard data format, and to build a dedicated conversion dictionary database for each information system. When the standard data format changes, all dictionary databases must be changed. Become. Further, at the time of actual cooperation, at least two stages of data format conversion processing are performed, and CPU processing occurs.

そこで、EII(Enterprise Information Integration)というデータ統合の方式が求められている。EIIは、物理的に散在しているデータを統合してシングル・ビューで利用する仕組みである。   Therefore, a data integration method called EII (Enterprise Information Integration) is required. EII is a mechanism for integrating physically scattered data and using it in a single view.

一方、複数のシステム間に分散しているマスターデータを統合して管理する仕組みとして、MDM(Master Data Management)がある。従来技術にかかるMDMの原理を図22、図23により示す。ここで、図22は、本出願に共通の例題として、MDM導入前の各サブシステムの状態を示す説明図であり、図23は従来技術によるMDMの実現例を示す説明図である。   On the other hand, there is MDM (Master Data Management) as a mechanism for integrating and managing master data distributed among a plurality of systems. The principle of MDM according to the prior art is shown in FIGS. Here, FIG. 22 is an explanatory diagram showing the state of each subsystem before the introduction of MDM as an example common to the present application, and FIG. 23 is an explanatory diagram showing an implementation example of MDM according to the prior art.

図22において、2201,2202,2203はそれぞれ、統合対象のサブシステム甲、乙、丙である。甲サブシステム2201は、テーブルA2211およびテーブルB2212を有する甲データベース(DB)2210を備えており、乙サブシステム2202は、テーブルC2221を有する乙データベース(DB)2220を備えており、丙サブシステム2203は、テーブルD2231を有する丙データベース(DB)2230を備えている。また、各テーブルには列としてカラムを持つ。たとえば表A2211は、A1,A2,A3,A4,A5のカラムを持つ。   In FIG. 22, 2201, 2202, 2203 are the integration target subsystems A, B, and A, respectively. The former subsystem 2201 is provided with an former database (DB) 2210 having a table A 2211 and a table B 2212. The former subsystem 2202 is provided with an former database (DB) 2220 having a table C 2221. And a basket database (DB) 2230 having a table D2231. Each table has a column as a column. For example, Table A 2211 has columns of A1, A2, A3, A4, and A5.

ここで、2241,2242,2243,2244は、それぞれ各サブシステムで管理されているDBの表におけるデータの中で、統合対象とするデータ列を示す。たとえばテーブルA2211の場合には、列「A1」、「A3」、「A4」が統合対象である。また、甲サブシステム2201は、データ統合対象システムがデータ統合の適用前から持つ機能の代表例として、機能‐Xを持ち、乙サブシステム2202はデータ統合を利用するアプリケーション機能の代表例として機能‐Yを持つ。   Here, 2241, 2242, 2243, 2244 indicate data strings to be integrated among the data in the DB table managed by each subsystem. For example, in the case of the table A2211, columns “A1”, “A3”, and “A4” are integration targets. In addition, the former subsystem 2201 has a function-X as a representative example of the functions that the data integration target system has before the application of data integration, and the second subsystem 2202 functions as a representative example of application functions that use data integration- Have Y.

図23では、図22における甲サブシステム2201と丙サブシステム2202を従来技術で統合したMDMの実現例を示す。まず、マスター(統合)DB2250を作成し、各サブシステムで管理されているDBの表(元表)の中から、統合対象である列データ2241,2242,2243を集めて、マスターテーブルM2251を持つように構成する。ここでは、マスターテーブルM2251に集めた列データがマスターデータとなるので、重複した管理を避けるために、元表からマスターテーブルM2251に集めた列データを可能な限り削除するが、すべての統合対象列データを元表から削除できない場合がある。   FIG. 23 shows an implementation example of MDM in which the former subsystem 2201 and the heel subsystem 2202 in FIG. First, a master (integrated) DB 2250 is created, and column data 2241, 2242 and 2243 to be integrated are collected from a DB table (source table) managed by each subsystem, and a master table M2251 is provided. Configure as follows. Here, since the column data collected in the master table M2251 becomes master data, in order to avoid duplicate management, the column data collected in the master table M2251 is deleted as much as possible, but all the integration target columns are deleted. Data may not be deleted from the base table.

たとえば、元表の主キーとなる列データは削除することができないため、各元表とマスターテーブルM2251の両方で管理されるデータも存在する。また、各サブシステムの機能を実現しているアプリケーションは、各元表だけでなく、マスターテーブルM2251も扱うように変更する。各テーブルは、たとえばテーブルA2211の場合には列として「A1」、「A2」、「A5」を持つことを示している。   For example, since column data serving as a primary key of the base table cannot be deleted, there is data managed by both the base table and the master table M2251. Further, the application realizing the function of each subsystem is changed to handle not only each base table but also the master table M2251. For example, in the case of table A2211, each table has “A1”, “A2”, and “A5” as columns.

具体的には、共有する情報(「A1」、「A3」、「A4」、「B2」、「B3」、「B4」、「C2」、「C3」)はテーブルM2251としてマスターDB2250で集中管理する。また、各システム固有の情報(「A2」、「A5」、「B1」、「B5」、「C1」、「C4」、「C5」)は各システムで管理する。また、各システムのDBにはマスターDB2250と重複する情報(たとえば「A1」、「B4」など)も存在することになる。   Specifically, information to be shared (“A1”, “A3”, “A4”, “B2”, “B3”, “B4”, “C2”, “C3”) is centrally managed in the master DB 2250 as a table M2251. To do. Information unique to each system (“A2”, “A5”, “B1”, “B5”, “C1”, “C4”, “C5”) is managed by each system. In addition, information overlapping with the master DB 2250 (for example, “A1”, “B4”, etc.) exists in the DB of each system.

ここで、機能−Xおよび機能−Yの動作について検証する。まず、甲サブシステム2201における機能−Xである「テーブルAのカラムA1,A2,A3,A4を更新する(1)」を実行する。そこで、甲サブシステム2201は、マスターDB2250のテーブルM2251の「A1」、「A3」、「A4」について更新するとともに、甲DB2210で管理されているテーブルA2211の「A1」、「A2」を更新する。   Here, the operation of the function-X and the function-Y will be verified. First, “update the columns A1, A2, A3, A4 of the table A (1)” which is the function-X in the instep subsystem 2201 is executed. Therefore, the subsystem A 2201 updates “A1”, “A3”, and “A4” of the table M2251 of the master DB 2250, and updates “A1” and “A2” of the table A2211 managed by the database A2211. .

つぎに、機能−Xである「A2、A3の合計をテーブルBのB4に書込む(2)」を実行する。そこで、甲サブシステム2201は、マスターDB2250のテーブルM2251にある「A3」を取得し、テーブルA2211にある「A2」と取得した「A3」の合計をテーブルB2212の「B4」に書き込む。そして、マスターDB2250に対して更新データである「B4」の反映をおこなう(3)。   Next, the function -X “write the sum of A2 and A3 in B4 of table B (2)” is executed. Therefore, the subsystem A 2201 acquires “A3” in the table M2251 of the master DB 2250, and writes the sum of “A2” in the table A2211 and “A3” acquired in “B4” in the table B2212. Then, the update data “B4” is reflected on the master DB 2250 (3).

さらに、乙サブシステム2202における機能−Yである「テーブルMのB4を参照してC4を更新(4)」を実行する。そこで、乙サブシステム2202は、上記(3)において更新データが反映された、マスターDB2250の「B4」を参照して、テーブルC2221の「C4」を更新する。このように、マスターDB2250を用いたデータ統合をおこなっていた。   Furthermore, “update C4 with reference to B4 of table M (4)” which is function-Y in the second subsystem 2202 is executed. Therefore, the second subsystem 2202 updates “C4” of the table C2221 with reference to “B4” of the master DB 2250 in which the update data is reflected in (3) above. Thus, data integration using the master DB 2250 was performed.

特開2005−293047号公報JP-A-2005-293047

しかしながら、従来のシステムにあっては、以下のような問題点があった。すなわち、統合されたマスターDB2250を設けるため、利用側システムのアプリケーションは自システムが管理している表だけでなく、マスターDB2250についても、情報の所在と情報の参照および更新を意識して取り扱う必要がある。そのため、アプリケーションの改修が必要であったり、アプリケーションの内容が複雑化する要因の一つともなっているという問題点があった。   However, the conventional system has the following problems. That is, in order to provide the integrated master DB 2250, it is necessary for the application of the user side system to handle not only the table managed by the own system but also the master DB 2250 in consideration of the location of information and the reference and update of information. is there. For this reason, there is a problem that the application needs to be renovated and is one of the factors that complicate the contents of the application.

また、情報の更新をおこなう際には、自システムの情報とマスターDB2250の情報を同期して矛盾なく更新する制御が必要となるという問題点があった。この制御は、自システムとマスターDB2250についてトランザクションの制御をおこない、処理が失敗したときにはロールバックするなどの処理をアプリケーションによって実現する必要があるという問題点があった。これによって、アプリケーションへの負担が増加することになる。   In addition, when updating information, there is a problem in that it is necessary to control the information of the own system and the information of the master DB 2250 to be synchronized and updated without contradiction. This control has a problem that it is necessary to control the transaction of the own system and the master DB 2250 and to implement a process such as rollback when the process fails. This increases the burden on the application.

また、利用側システムの更新時に参照したデータや、更新対象のデータは、中途半端な状態(他のアプリケーションが操作中で値が確定していない状態)にある場合があり、それを防止するためには更新に関わるデータに対する何らかのロック制御が必要となる。また、サブシステム間に跨るロック制御をおこなうことによって、システム全体の性能を低下させしまうという問題点があった。たとえば、甲サブシステムがマスターテーブルM2251(統合DB)をロックしている間は、他のシステムから統合DBを利用することができないため、他のシステムは甲サブシステムの処理(トランザクション)が完了するのを待たされることになる。   In addition, the data referenced when updating the user system and the data to be updated may be in a halfway state (a state in which another application is operating and the value is not fixed) to prevent it. Needs some kind of lock control for data related to update. In addition, there is a problem in that the performance of the entire system is deteriorated by performing lock control between subsystems. For example, while the upper subsystem locks the master table M2251 (integrated DB), the integrated DB cannot be used from another system, and thus the other subsystem completes the processing (transaction) of the upper subsystem. I will be waiting for you.

また、各サブシステムの変更によって、統合DBで管理しているデータに追加や変更が発生する場合もあり、この際には変更が発生した統合DBのテーブルを使用しているすべてのサブシステムについて、アプリケーションの変更が必要になるケースも多い。さらに、個々のサブシステムの都合で統合DBで管理しているデータの追加が発生するために、結果として統合DBが肥大化する傾向がある。   In addition, changes to each subsystem may cause additions or changes to the data managed by the integrated DB. In this case, all subsystems that use the integrated DB table where the change has occurred In many cases, application changes are required. Furthermore, since the addition of data managed by the integrated DB occurs due to the convenience of each subsystem, the integrated DB tends to enlarge as a result.

このように、統合DBへの集中と統合DBの肥大化が生じ、また、統合DBへのアクセスが増加するために、統合DBの参照・更新性能が劣化するとともに、各アプリケーションが複雑化し、統合DBの影響が各サブシステムに伝搬してしまうという問題があった。   In this way, concentration in the integrated DB and enlargement of the integrated DB occur, and access to the integrated DB increases. As a result, the reference / update performance of the integrated DB deteriorates and each application becomes complicated and integrated. There was a problem that the influence of the DB propagated to each subsystem.

この発明は、上述した従来技術による問題点を解消するため、異なるシステムにおいて管理されている複数の情報源に存在するデータを収集して統合する際に、各システムの負荷を軽減することが可能なデータ統合装置、データ統合方法およびデータ統合プログラムを記録したコンピュータ読み取り可能な記録媒体を提供し、理想的なEIIおよびその応用としてのMDMを実現することを目的とする。   In order to eliminate the above-described problems caused by the prior art, the present invention can reduce the load on each system when collecting and integrating data existing in a plurality of information sources managed in different systems. An object of the present invention is to provide an ideal data integration apparatus, a data integration method, and a computer-readable recording medium on which a data integration program is recorded, and to realize an ideal EII and an MDM as an application thereof.

上述した課題を解決し、目的を達成するため、この発明にかかるデータ統合装置は、異なるシステムにおいて管理されている複数の情報源に存在するデータを収集して統合するデータ統合装置であって、前記情報源から、各情報源側のデータモデル(以下「物理モデル」という)のままでデータの収集をおこなうデータ収集手段と、前記データ収集手段によって収集されたデータを、当該データの利用側アプリケーションごとにあらかじめ定義されたデータモデル(以下「論理モデル」という)になるように、データ構造およびデータ値の少なくともいずれか一方の変換をおこなうデータ変換手段と、前記データ変換手段によって変換されたデータを前記利用側アプリケーションへ提供するデータ提供手段と、を備えたことを特徴とする。   In order to solve the above-described problems and achieve the object, a data integration apparatus according to the present invention is a data integration apparatus that collects and integrates data existing in a plurality of information sources managed in different systems, Data collection means for collecting data from the information source in the form of a data model on each information source side (hereinafter referred to as “physical model”), and data collected by the data collection means are used as an application for using the data A data conversion means for converting at least one of a data structure and a data value so as to become a data model (hereinafter referred to as “logical model”) defined in advance for each data, and the data converted by the data conversion means Data providing means for providing to the user side application.

また、この発明にかかるデータ統合装置は、上記の発明において、前記データ収集手段が、前記利用側アプリケーションからの要求に基づいて、リアルタイムに前記情報源からのデータの収集をおこなうこと特徴とする。   The data integration apparatus according to the present invention is characterized in that, in the above invention, the data collection means collects data from the information source in real time based on a request from the user application.

また、この発明にかかるデータ統合装置は、上記の発明において、前記情報源のシステム側に設けられた前記データのマスターデータベースに格納されたデータのうち、公開の対象となっているデータに限定したデータのメタ情報に基づく仮想統合データベースを作成する仮想統合データベース作成手段を備え、前記データ変換手段が、前記仮想統合データベース作成手段によって作成された仮想統合データベースに含まれるメタ情報に基づいて、データ構造およびデータ値の少なくともいずれか一方の変換をおこなうことを特徴とする。   Further, in the above invention, the data integration device according to the present invention is limited to data to be disclosed among data stored in a master database of the data provided on the system side of the information source. A virtual integrated database creating means for creating a virtual consolidated database based on the meta information of the data, wherein the data converting means has a data structure based on the meta information included in the virtual integrated database created by the virtual integrated database creating means; And conversion of at least one of the data value.

また、この発明にかかるデータ統合装置は、上記の発明において、前記情報源のシステム側に設けられた前記データのマスターデータベースに格納されたデータのうち、公開の対象となっているデータに限定したデータからなる複製データベースを作成する複製データベース作成手段と、前記複製データベース作成手段によって作成された複製データベースを、前記マスターデータの更新に対応して更新する複製データベース更新手段と、を備え、前記データ収集手段が、前記複製データベースからデータの収集をおこなうことを特徴とする。   Further, in the above invention, the data integration device according to the present invention is limited to data to be disclosed among data stored in a master database of the data provided on the system side of the information source. The data collection comprises: a duplicate database creating means for creating a duplicate database comprising data; and a duplicate database updating means for updating the duplicate database created by the duplicate database creating means in response to the update of the master data. The means collects data from the duplicate database.

また、この発明にかかるデータ統合装置は、上記の発明において、前記物理モデルまたは前記論理モデルを表すメタ情報として、少なくとも表の名前、データ列の名前、データ値の型を定義することを特徴とする。   The data integration device according to the present invention is characterized in that, in the above invention, at least a table name, a data string name, and a data value type are defined as meta information representing the physical model or the logical model. To do.

また、この発明にかかるデータ統合装置は、上記の発明において、前記メタ情報として、前記データ値の型に関する詳細を属性として示す型属性を定義し、前記変換手段が、前記データ値を変換する際に前記型属性が相違する場合に、当該型属性を合わせる処理をおこなうことを特徴とする。   In the data integration device according to the present invention, in the above invention, a type attribute indicating details regarding the type of the data value as an attribute is defined as the meta information, and the conversion unit converts the data value. When the type attributes are different from each other, processing for matching the type attributes is performed.

また、この発明にかかるデータ統合装置は、上記の発明において、前記物理モデルまたは前記論理モデルを表すメタ情報として、データ列の制約を定義することを特徴とする。   The data integration device according to the present invention is characterized in that, in the above-mentioned invention, a data string constraint is defined as meta information representing the physical model or the logical model.

また、この発明にかかるデータ統合装置は、上記の発明において、前記変換手段が、前記物理モデルと前記論理モデルとの間に、データの変換をおこなう中間テーブルを定義し、物理モデルとして収集したデータを中間テーブルで変換した結果を論理モデルに統合することを特徴とする。   In the data integration device according to the present invention, in the above invention, the conversion unit defines an intermediate table for converting data between the physical model and the logical model, and collects data as a physical model. It is characterized in that the result of converting the data in the intermediate table is integrated into a logical model.

また、この発明にかかるデータ統合装置は、上記の発明において、前記変換手段が、前記データ値の変換として、文字コード系の違いを変換する文字コード系変換処理、空白除去、全角半角変換を含む文字列の正規化をおこなう文字列変換処理、文字や数字の単位の違いを変換する単位変換処理、年号の西暦・和暦の違いを変換する年号表記変換処理、数字表現として漢数字/アラビア数字/ローマ数字と数値の違いを変換する漢数字表記変換処理、数字の有効桁を揃える有効桁変換処理、データ型間の変換処理の少なくともいずれか一つをおこなうことを特徴とする。   In the data integration device according to the present invention, in the above invention, the conversion means includes character code conversion processing for converting a difference between character code systems, blank space removal, and full-width half-width conversion as the data value conversion. Character string conversion processing that normalizes character strings, unit conversion processing that converts differences in character and number units, year notation conversion processing that converts differences in year and Japanese calendar, Chinese numerals / It is characterized in that at least one of a Chinese numeral notation conversion process for converting the difference between an Arabic numeral / Roman numeral and a numerical value, an effective digit conversion process for aligning the effective digits of a numeral, and a conversion process between data types is performed.

また、この発明にかかるデータ統合方法は、異なるシステムにおいて管理されている複数の情報源に存在するデータを収集して統合するデータ統合装置を含むシステムにおけるデータ統合方法であって、前記情報源から、各情報源側のデータモデル(以下「物理モデル」という)のままでデータの収集をおこなうデータ収集工程と、前記データ収集工程によって収集されたデータを、当該データの利用側アプリケーションごとにあらかじめ定義されたデータモデル(以下「論理モデル」という)になるように、データ構造およびデータ値の少なくともいずれか一方の変換をおこなうデータ変換工程と、前記データ変換工程によって変換されたデータを前記利用側アプリケーションへ提供するデータ提供工程と、を含んだことを特徴とする。   Further, the data integration method according to the present invention is a data integration method in a system including a data integration device that collects and integrates data existing in a plurality of information sources managed in different systems. A data collection process for collecting data in the form of a data model on each information source side (hereinafter referred to as “physical model”), and data collected by the data collection process are defined in advance for each application that uses the data. A data conversion process for converting at least one of a data structure and a data value so as to become a converted data model (hereinafter referred to as a “logical model”), and the data converted by the data conversion process as the user application And a data providing process to be provided.

また、この発明にかかるデータ統合方法は、上記の発明において、前記情報源に存在するデータをそれぞれマスターデータとし、前記マスターデータのうち、他のシステムに公開するデータを前記データ統合装置に登録し、前記利用側アプリケーションは、前記データ統合装置に登録されたデータのうち、あらかじめ利用するデータを論理モデルとして前記データ統合装置に定義し、必要なときに前記論理モデルを検索することによって、前記データ統合装置に登録されたデータを論理モデルとして参照し、他のシステムのデータを更新する場合には、該当データをマスターデータとして管理しているシステムに対して、当該データに対する更新依頼を実施することを特徴とする。   In the data integration method according to the present invention, in the above invention, the data existing in the information source is set as master data, and among the master data, data to be disclosed to another system is registered in the data integration apparatus. The user application defines the data to be used in advance as a logical model in the data integration device among the data registered in the data integration device, and searches for the logical model when necessary. When referring to the data registered in the integrated device as a logical model and updating the data of other systems, make an update request for the data to the system that manages the data as master data It is characterized by.

また、この発明にかかるコンピュータ読み取り可能に記録する記録媒体は、異なるシステムにおいて管理されている複数の情報源に存在するデータを収集して統合するデータ統合装置において実行されるデータ統合プログラムであって、前記情報源から、各情報源側のデータモデル(以下「物理モデル」という)のままでデータの収集をおこなうデータ収集工程と、前記データ収集工程によって収集されたデータを、当該データの利用側アプリケーションごとにあらかじめ定義されたデータモデル(以下「論理モデル」という)になるように、データ構造およびデータ値の少なくともいずれか一方の変換をおこなうデータ変換工程と、前記データ変換工程によって変換されたデータを前記利用側アプリケーションへ提供するデータ提供工程と、をコンピュータに実行させるデータ統合プログラムを記録することを特徴とする。   The computer-readable recording medium according to the present invention is a data integration program executed in a data integration device that collects and integrates data existing in a plurality of information sources managed in different systems. A data collection step for collecting data from the information source in the form of a data model (hereinafter referred to as “physical model”) on each information source side, and data collected by the data collection step on the data use side A data conversion process for converting at least one of the data structure and the data value so that the data model is defined in advance for each application (hereinafter referred to as “logical model”), and the data converted by the data conversion process Providing a data to the user application Wherein the recording data integration program causing a computer to execute the.

この発明によれば、情報源の改造を不要とし、利用側アプリケーションの負荷を軽減することができるデータ統合装置、データ統合方法およびデータ統合プログラムを記録したコンピュータ読み取り可能な記録媒体が得られるという効果を奏する。   According to the present invention, it is possible to obtain a data integration device, a data integration method, and a computer-readable recording medium that records a data integration program that can reduce the load on the user-side application without modifying the information source. Play.

図1は、この発明にかかるEIIの全体構成を示す説明図である。FIG. 1 is an explanatory view showing the entire configuration of EII according to the present invention. 図2−1は、この発明にかかるEIIの原理を示す説明図(その1)である。FIGS. 2-1 is explanatory drawing (the 1) which shows the principle of EII concerning this invention. 図2−2は、この発明にかかるEIIの原理を示す説明図(その2)である。FIGS. 2-2 is explanatory drawing (the 2) which shows the principle of EII concerning this invention. 図3は、表の構造(スキーマ)の一例を示す説明図である。FIG. 3 is an explanatory diagram illustrating an example of a table structure (schema). 図4は、統合エンジンのアーキテクチャ(物理モデルの定義付け)を示す説明図である。FIG. 4 is an explanatory diagram showing the architecture (physical model definition) of the integrated engine. 図5は、統合エンジンのアーキテクチャ(マッピング)を示す説明図である。FIG. 5 is an explanatory diagram showing the architecture (mapping) of the integrated engine. 図6は、統合エンジンのアーキテクチャ(問い合わせ)を示す説明図である。FIG. 6 is an explanatory diagram showing the architecture (inquiry) of the integrated engine. 図7は、統合エンジンのアーキテクチャ(実際の動作)を示す説明図である。FIG. 7 is an explanatory diagram showing the architecture (actual operation) of the integrated engine. 図8は、統合エンジンのアーキテクチャ(クレンジング)を示す説明図(その1)である。FIG. 8 is an explanatory diagram (part 1) illustrating the architecture (cleansing) of the integrated engine. 図9は、統合エンジンのアーキテクチャ(クレンジング)を示す説明図(その2)である。FIG. 9 is an explanatory diagram (part 2) of the architecture (cleansing) of the integrated engine. 図10は、クレンジングの処理内容を示すフローチャートである。FIG. 10 is a flowchart showing details of cleansing processing. 図11は、図10に示したフローチャートの処理を実行する機能構成を示す説明図である。FIG. 11 is an explanatory diagram showing a functional configuration for executing the processing of the flowchart shown in FIG. 図12は、マッピングの処理内容を示すフローチャートである。FIG. 12 is a flowchart showing the contents of the mapping process. 図13は、マッピングの定義の一例を示す説明図である。FIG. 13 is an explanatory diagram showing an example of mapping definition. 図14は、評価ポイントの一例を示す説明図である。FIG. 14 is an explanatory diagram showing an example of evaluation points. 図15は、図13のマッピングの定義に基づくマッピング制御を示す説明図である。FIG. 15 is an explanatory diagram showing mapping control based on the mapping definition of FIG. 図16は、検索条件の定義の一例を示す説明図である。FIG. 16 is an explanatory diagram illustrating an example of the definition of the search condition. 図17は、マッピングの処理内容を示すフローチャートである。FIG. 17 is a flowchart showing the contents of the mapping process. 図18は、マッピングの定義の一例を示す説明図である。FIG. 18 is an explanatory diagram of an example of mapping definition. 図19は、作成された検索式の一例を示す説明図である。FIG. 19 is an explanatory diagram of an example of the created search expression. 図20は、マッピングの処理内容を示すフローチャートである。FIG. 20 is a flowchart showing the contents of the mapping process. 図21は、マッピングの処理内容を示すフローチャートである。FIG. 21 is a flowchart showing the contents of the mapping process. 図22は、MDM導入前の各サブシステムの状態を示す説明図である。FIG. 22 is an explanatory diagram showing the state of each subsystem before the introduction of MDM. 図23は、従来技術によるMDMの実現例を示す説明図である。FIG. 23 is an explanatory diagram showing an implementation example of MDM according to the prior art.

以下に添付図面を参照して、この発明にかかるデータ統合装置、データ統合方法およびデータ統合プログラムを記録したコンピュータ読み取り可能な記録媒体の最適な実施の形態を詳細に説明する。図1は、この発明にかかるEIIの全体構成を示す説明図である。図1において、101はデータ統合装置(以下「EII」という)であり、統合エンジン110を備え、物理モデル111と、論理モデル112からなるデータ記憶機能を備える。また、EII101は、サービスバス102を介してあるいは直接に、Back系システム(情報源)103およびFront系システム(利用アプリケーション)104と接続されている。   Exemplary embodiments of a data integration apparatus, a data integration method, and a computer-readable recording medium recording a data integration program according to the present invention will be explained below in detail with reference to the accompanying drawings. FIG. 1 is an explanatory view showing the entire configuration of EII according to the present invention. In FIG. 1, reference numeral 101 denotes a data integration device (hereinafter referred to as “EII”), which includes an integration engine 110 and a data storage function including a physical model 111 and a logical model 112. The EII 101 is connected to the Back system (information source) 103 and the Front system (utilization application) 104 via the service bus 102 or directly.

EII101は、物理モデル111から論理モデル112へのデータ構造の変換処理(マッピング)およびデータ値の変換処理(クレンジング)を実行する統合エンジン110を備えている。また、表の名前、データ列の名前、データの型を定義し、データの型には型の詳細を定義する型属性を定義でき、さらに、主キー制約、従属キー制約などのデータ列の制約を定義できるメタ情報(リポジトリ)116を備え、メタ情報整備機能117によりメタ情報の整備を実行する。このメタ情報の整備によって、上記マッピング、クレンジングの確実性、効率性の向上を図っている。   The EII 101 includes an integration engine 110 that executes data structure conversion processing (mapping) and data value conversion processing (cleansing) from the physical model 111 to the logical model 112. You can also define table names, data column names, data types, data types with type attributes that define type details, and data column constraints such as primary key constraints and dependent key constraints The meta information (repository) 116 can be defined, and the meta information maintenance function 117 maintains the meta information. By improving this meta information, the above-mentioned mapping and cleansing certainty and efficiency are improved.

なお、上記各機能は、EII101を構成するコンピュータシステムにおいて、図示を省略するRAM、ROMなどのメモリに記録されたプログラムをCPUが実行することによって実現することができる。また、本実施の形態において記載されているデータベース(DB)はそれぞれ、各コンピュータシステムにおける図示を省略するハードディスクなどのデータ記録媒体に記録されるデータと、データベース管理ソフトウエア(DBMS)によってその機能を実現することができる。   The above functions can be realized by the CPU executing a program recorded in a memory such as a RAM or a ROM (not shown) in the computer system constituting the EII 101. The database (DB) described in the present embodiment has the functions of data recorded on a data recording medium such as a hard disk (not shown) in each computer system and database management software (DBMS). Can be realized.

図2−1および図2−2は、この発明にかかるEIIの原理を示す説明図である。図2−1において、201は甲サブシステムであり、202は乙サブシステムであり、203は丙サブシステムである。甲サブシステム201は、テーブルA211およびテーブルB212を有する甲データベース(DB)210を備えており、乙サブシステム202は、テーブルC221を有する乙データベース(DB)220を備えており、丙サブシステム203は、テーブルD231を有する丙データベース(DB)230を備えている。   FIGS. 2-1 and 2-2 are explanatory views showing the principle of EII according to the present invention. In FIG. 2A, 201 is a former subsystem, 202 is a second subsystem, and 203 is a spear subsystem. The A subsystem 201 includes an A database (DB) 210 having a table A 211 and a table B 212, the B subsystem 202 includes a B database (DB) 220 having a table C221, and the 丙 subsystem 203 includes And a bag database (DB) 230 having a table D231.

各サブシステムの情報、すなわち甲DB210、乙DB220、丙DB230の情報をマスターとする。これによって、サブシステムごとに独立したデータ管理をおこなう。また、マスターDB(甲DB210、乙DB220、丙DB230)の中で共有したい情報をEII101に公開する。これによって、各サブシステムは自分の全情報を管理することができる。図2−1、図2−2にあっては、テーブルA211は「A1」〜「A5」のデータ列からなるが、物理モデル111のテーブルA'241は、「A1」、「A3」、「A4」のみの情報が仮想的に存在する。このことから、テーブルA211に関しては、「A1」、「A3」、「A4」のみを共有し、「A2」、「A5」は共有しないことを示していることがわかる。   Information of each subsystem, that is, information of the former DB 210, the second DB 220, and the second DB 230 is used as a master. In this way, independent data management is performed for each subsystem. In addition, the information that is desired to be shared in the master DB (the former DB 210, the second DB 220, the second DB 230) is disclosed to EII 101. This allows each subsystem to manage all its information. 2A and 2B, the table A211 includes data strings “A1” to “A5”, but the table A′241 of the physical model 111 includes “A1”, “A3”, “ Information of only “A4” exists virtually. From this, it can be seen that regarding the table A211, only “A1”, “A3”, and “A4” are shared, and “A2” and “A5” are not shared.

ここで、仮想統合では必要になった時点でマスターDB210,220,230から情報を収集して統合する。また、物理統合ではEII101上にあらかじめマスターDBのレプリカ240を置く、すなわち情報のレプリケーションをおこなう。   Here, in the virtual integration, information is collected from the master DBs 210, 220, and 230 when they are needed. In physical integration, a master DB replica 240 is placed on the EII 101 in advance, that is, information replication is performed.

また、EII101は統合結果を利用アプリケーションに提供する機能を提供する。図2−1、図2−2では、論理モデル112として、乙システム専用のテーブルMC251として統合結果を参照することができるようになっている。物理モデル111から論理モデル112への変換(統合処理)に関する詳細は後述する。   Further, the EII 101 provides a function of providing the integration result to the application to be used. 2A and 2B, the integration result can be referred to as the logical model 112 as the table MC251 dedicated to the second system. Details regarding the conversion (integration processing) from the physical model 111 to the logical model 112 will be described later.

また、図2−1において、実線は表の実体を示し、破線は仮想的な表を示す。したがって、甲DB210のテーブルA211、テーブルB212、乙DB220のテーブルC221、丙DB230のテーブルD231およびレプリカテーブルD’245は実線で示してあり、物理モデル111の各テーブル241〜243、論理モデル112のテーブルMC251は波線で示している。図2−2においても同様であり、241〜244は、レプリカであるので、実線で示している。   In FIG. 2A, the solid line indicates a table entity, and the broken line indicates a virtual table. Therefore, the table A 211 of the former DB 210, the table B 212, the table C 221 of the second DB 220, the table D 231 of the bag DB 230, and the replica table D ′ 245 are shown by solid lines, and the tables 241 to 243 of the physical model 111 and the tables of the logical model 112 MC251 is indicated by a wavy line. The same applies to FIG. 2B, and 241 to 244 are replicas, and are indicated by solid lines.

ここで、機能−Xおよび機能−Yの動作について検証する。この機能−Xおよび機能−Yの動作およびこれらの動作の対象となるテーブルA211、テーブルB212、テーブルC221は、図22、図23において示した従来技術における機能−Xおよび機能−Yの動作およびこれらの動作の対象となったテーブルA2211、テーブルB2212、テーブルC2221と同じにしてある。   Here, the operation of the function-X and the function-Y will be verified. The operations of the function-X and the function-Y, and the table A 211, the table B 212, and the table C 221 that are the targets of these operations are the operations of the function-X and the function-Y in the prior art shown in FIGS. The table A 2211, the table B 2212, and the table C 2221 are the same as the operation target.

図2−1は、この発明にかかるEIIの原理として、仮想統合の一例を示す説明図である。まず、甲サブシステム201における機能−Xである「テーブルAのカラムA1,A2,A3,A4を更新する(1)」を実行する。そこで、甲サブシステム201は、甲DB210の「A1」、「A2」、「A3」、「A4」について更新する。   FIG. 2A is an explanatory diagram of an example of virtual integration as the principle of EII according to the present invention. First, “update the columns A1, A2, A3, and A4 of the table A (1)” that is the function-X in the subsystem A 201 is executed. Therefore, the subsystem A 201 updates “A1”, “A2”, “A3”, and “A4” of the database 210.

つぎに、「A2、A3の合計をテーブルBのB4に書込む(2)」を実行する。そこで、甲サブシステム201は、テーブルA211にある「A2」と「A3」の合計をテーブルB212の「B4」に書き込む。このように、データ統合の実施前に実現されていたサブシステム内の処理は、更新処理を含めて、サブシステムに閉じたトランザクションとして独立して完結している。これらの処理は、データ統合の実施前から甲サブシステムの機能として実現していたものであり、データ統合の実施によるサブシステムの改良は不要であることを示している。   Next, “write the sum of A2 and A3 into B4 of table B (2)” is executed. Therefore, the subsystem A 201 writes the sum of “A2” and “A3” in the table A211 into “B4” in the table B212. As described above, the processing in the subsystem realized before the data integration is completed independently as a transaction closed in the subsystem, including the update processing. These processes have been realized as functions of the subsystem A before implementation of data integration, and it is shown that the subsystem improvement by the implementation of data integration is unnecessary.

特にデータ更新に関わる処理がサブシステム内に閉じているので、ロールバック、すなわちトランザクションの処理中に何か異常が起こり、正常に処理を完了できない場合、関連する処理を中止し、関連する情報を処理前の状態に戻さなければならない場合にも、簡単かつ確実にロールバックを実行することができるという効果を奏する。したがって、アプリケーションの負担が軽く、アプリケーションの変更による影響がサブシステム外部に及ばないという効果も奏する。   In particular, because processing related to data update is closed in the subsystem, if something abnormal occurs during rollback, that is, transaction processing, and processing cannot be completed normally, the related processing is stopped and the related information is displayed. Even when it is necessary to return to the state before the processing, there is an effect that the rollback can be executed easily and reliably. Therefore, the burden on the application is light and the effect of changing the application does not reach the outside of the subsystem.

つぎに、乙サブシステム202における機能−Yである「テーブルMCのB4を参照してC4を更新(3)」を実行する。そこで、乙サブシステム202はEII101の論理モデル112として管理されているテーブルMCに対して「B4」を要求する。EII101は甲DB210の「B4」を参照して、その結果をテーブルMCの「B4」として乙サブシステム202に回答する。乙サブシステム202は回答の結果に基づいて「C4」を更新する。したがって、仮想統合では利用システムから要求された時点で、情報源からのデータ収集を実施するために、その時点における最新の情報であることを保証することができる。また、データ収集に際して情報源である甲サブシステム201の参照負荷が生じるが、図23に示した従来技術の更新時のトランザクション負荷と比較すると大幅に軽減される。   Next, “update C4 with reference to B4 of table MC (3)” which is function-Y in the second subsystem 202 is executed. Therefore, the subsystem B 202 requests “B4” from the table MC managed as the logical model 112 of the EII 101. The EII 101 refers to “B4” in the former DB 210 and returns the result to the subsystem 202 as “B4” in the table MC. The second subsystem 202 updates “C4” based on the answer result. Therefore, in the virtual integration, in order to collect data from the information source when requested by the utilization system, it can be ensured that the information is the latest information at that time. In addition, a reference load of the subsystem A 201 that is an information source is generated at the time of data collection, but is significantly reduced as compared with the transaction load at the time of update of the prior art shown in FIG.

このように、この発明の実施の形態にかかるデータ統合装置(EII101)は、異なるシステムにおいて管理されている複数の情報源に存在するデータを収集して統合するに際し、情報源(たとえば甲DB210)から、各情報源側のデータモデル(物理モデル111)のままでデータの収集をおこない、収集されたデータを、当該データの利用側アプリケーション(たとえば乙サブシステム202)ごとにあらかじめ定義されたデータモデル(論理モデル112)になるように、データ構造およびデータ値の少なくともいずれか一方の必要な変換をおこない、変換されたデータを利用側アプリケーションへ提供するものである。   As described above, when the data integration apparatus (EII 101) according to the embodiment of the present invention collects and integrates data existing in a plurality of information sources managed in different systems, the information source (for example, the former DB 210). From this, data is collected with the data model (physical model 111) on each information source side, and the collected data is converted into a data model defined in advance for each application (for example, the second subsystem 202) of the data. (Logical model 112) The necessary conversion of at least one of the data structure and the data value is performed, and the converted data is provided to the use side application.

また、利用側アプリケーションからの要求に基づいて、リアルタイムに情報源からのデータの収集をおこなう。また、サブシステム側に設けられたデータのマスターデータベースに格納されたデータのうち、公開の対象となっているデータに限定したデータのメタ情報を含む仮想統合データベース(テーブル241〜243)を作成し、作成された仮想統合データベースに含まれるメタ情報に基づいて、データ構造およびデータ値の少なくともいずれか一方の変換(マッピング、クレンジング)をおこなうものである。   In addition, data is collected from information sources in real time based on requests from applications on the user side. In addition, a virtual integrated database (tables 241 to 243) including meta information of data limited to data to be disclosed among data stored in a master database of data provided on the subsystem side is created. Based on the meta information included in the created virtual integrated database, conversion (mapping, cleansing) of at least one of the data structure and the data value is performed.

図2−2は、この発明にかかるEIIの原理として、物理統合の一例を示す説明図である。図2−2では、図2−1における情報源側サブシステムの参照負荷を軽減するために、各情報源側サブシステムのDBに、DBの更新をトランザクション単位で記録するジャーナルを設け、このジャーナルを用いて、統合DBのレプリカに対して情報源の更新を反映するように構成する。   FIG. 2B is an explanatory diagram showing an example of physical integration as the principle of EII according to the present invention. In FIG. 2B, in order to reduce the reference load of the information source side subsystem in FIG. 2A, a journal for recording DB updates in units of transactions is provided in the DB of each information source side subsystem. Is used to reflect the update of the information source on the replica of the integrated DB.

図2−2において、機能−Xの「テーブルAのカラムA1,A2,A3,A4を更新する(1)」、「A2、A3の合計をテーブルBのB4に書込む(2)」を図2−1と同様にそれぞれ実行すると、トランザクション単位で、甲DBの更新記録がジャーナル261として生成される。このジャーナル261を用いてEII101に甲DBの更新を通知するとともに、EII101上のレプリカ240のテーブルA'241、テーブルB'242に反映することにより、情報源としての甲DB210とEII101上のレプリカ240の同期を実現する。   In FIG. 2B, “-update the columns A1, A2, A3, and A4 of the table A (1)” and “write the sum of A2 and A3 to B4 of the table B (2)” of the function-X are illustrated. When executed in the same manner as in 2-1, an update record of the former DB is generated as a journal 261 for each transaction. This journal 261 is used to notify the EII 101 of the update of the former DB, and by reflecting it in the table A ′ 241 and the table B ′ 242 of the replica 240 on the EII 101, the former DB 210 as the information source and the replica 240 on the EII 101 Realize synchronization.

乙サブシステム202も、図2−1と同様にEII101の論理モデル112にアクセスしてテーブルMCの「B4」を取得して「C4」を更新する。このとき、EII101はレプリカ240のテーブルB'242に保持されている「B4」を参照して、乙システ
ムに回答するだけでよい。このように物理統合では、利用システム(図2−2では乙サブシステム202)からのアクセス性能が高く、情報源(図2−2では甲サブシステム201)への負荷が最小で済むという効果を奏する。また、情報源の停止時であってもレプリカで保有している停止直前の情報を利用することができるという効果を奏する。
Similarly to FIG. 2-1, the sub-system 202 also accesses the logical model 112 of the EII 101, acquires “B4” of the table MC, and updates “C4”. At this time, the EII 101 only has to reply to the system B with reference to “B4” held in the table B ′ 242 of the replica 240. In this way, physical integration has the effect that the access performance from the utilization system (B subsystem 202 in FIG. 2-2) is high, and the load on the information source (A subsystem 201 in FIG. 2-2) can be minimized. Play. In addition, even when the information source is stopped, the information immediately before the stop held in the replica can be used.

このように、この発明の実施の形態にかかるデータ統合装置(EII101)の物理統合は、各サブシステム側に設けられたマスターデータベースに格納されたデータのうち、公開の対象となっているデータに限定したデータからなる複製データベース(レプリカ240)を作成し、作成された複製データベースを、マスターデータベースの更新と同期して更新するとともに、複製データベースからデータの収集をおこなうものである。   As described above, the physical integration of the data integration apparatus (EII 101) according to the embodiment of the present invention is performed on the data to be disclosed among the data stored in the master database provided on each subsystem side. A replication database (replica 240) made up of limited data is created, the created replication database is updated in synchronization with the update of the master database, and data is collected from the replication database.

つぎに、EII101におけるデータ統合の具体例について説明する。図3は、表の構造(スキーマ)の一例を示す説明図である。図3において、301は表のスキーマであり、表名=表Aと各列の列名、型、制約を示しており、302は、上記301のスキーマに基づく実際の表Aを示している。   Next, a specific example of data integration in EII 101 will be described. FIG. 3 is an explanatory diagram illustrating an example of a table structure (schema). In FIG. 3, reference numeral 301 denotes a table schema, which indicates table name = table A and column names, types, and constraints of each column, and 302 indicates an actual table A based on the above 301 schema.

すなわち、表Aの列名は「従業員番号」、「氏名」、「電話番号」からなる。各列が持つデータ値の型は、Integer(整数型)と、String(文字列型)とからなる。また、各データ値には型の詳細を定義するための情報として型属性を持つことができる。たとえば、Integer(整数型)において、型属性「MaxLength=10」とすることで、最大10桁の整数型であることを示すことができる。同様に、String(文字列型)において、型属性「CharCode=S_JIS」とすることで、当該文字列の文字コードはシフトJISであることを示すことができる。また、各列の制約は、Mkey(主キー制約)とSkey(従属キー制約)とからなる。   That is, the column names in Table A are composed of “employee number”, “name”, and “telephone number”. The data value type of each column consists of Integer (integer type) and String (character string type). Each data value can have a type attribute as information for defining the details of the type. For example, in the integer (integer type), the type attribute “MaxLength = 10” can indicate that the integer type has a maximum of 10 digits. Similarly, by setting the type attribute “CharCode = S_JIS” in String (character string type), it is possible to indicate that the character code of the character string is Shift JIS. Each column constraint is composed of Mkey (primary key constraint) and Sky (dependent key constraint).

図3においては、従業員番号がInteger(整数型)であり、氏名および電話番号がString(文字列型)である。また、従業員番号はMkey(主キー制約)の制約があることを示している。   In FIG. 3, the employee number is Integrer (integer type), and the name and telephone number are String (character string type). The employee number indicates that there is a restriction of Mkey (primary key restriction).

図4は、統合エンジンのアーキテクチャ(物理モデルの定義付け)を示す説明図である。物理モデルの定義付けは、たとえば図1に示したメタ情報整備機能117のオペーレーションとして実行される。図4において、401はテーブル(表A411)を有する情報源システム1であり、402はテーブル(表B412、表D413)を有する情報源システム2であり、403はテーブル(表A421)からなる401に対応する物理モデル1であり、404はテーブル(表B422および表D423)からなる402に対応する物理モデル2である。   FIG. 4 is an explanatory diagram showing the architecture (physical model definition) of the integrated engine. The definition of the physical model is executed, for example, as an operation of the meta information maintenance function 117 shown in FIG. In FIG. 4, 401 is an information source system 1 having a table (table A411), 402 is an information source system 2 having tables (table B412 and table D413), and 403 is 401 formed by a table (table A421). Corresponding physical model 1, 404 is physical model 2 corresponding to 402 consisting of tables (Table B422 and Table D423).

ここで、EII101は各情報源システムのテーブルから、共有の対象となる表のスキーマを取得して、取得した情報に基づいて物理モデルを作成する。その際、登録された物理モデルに対して、不要列の削除、列名、型および型属性、制約などの修正をおこなう。図4において、表A411の「住所」列についての情報は、システム1が共有しないとしたものであるため、物理モデルから削除されている。表B412の「内線番号」列、表D413の「内線」列も同様である。   Here, the EII 101 acquires the schema of the table to be shared from the table of each information source system, and creates a physical model based on the acquired information. At that time, unnecessary columns are deleted, column names, types, type attributes, constraints, etc. are corrected for the registered physical model. In FIG. 4, the information about the “address” column in Table A411 is not shared by the system 1 and is deleted from the physical model. The same applies to the “extension number” column in the table B412 and the “extension” column in the table D413.

図5は、統合エンジンのアーキテクチャ(マッピングの定義)を示す説明図である。マッピングの定義は、たとえば図1に示したメタ情報整備機能117のオペーレーションとして実行される。マッピングの定義は、定義済みの物理モデルに基づいて、論理モデルを定義するものである。なお、図5におけるマッピング定義の前提条件としては、情報源は図4に示したシステム1(物理モデル1)403およびシステム2(物理モデル2)404であり、利用側はシステム3(601)が必要とする論理モデル3(501),システム4(602)が必要とする論理モデル4(502)である。また、4つのシステムで従業員番号コード(キー)が同じものを使用しているものとする。   FIG. 5 is an explanatory diagram showing the architecture (definition of mapping) of the integration engine. The mapping definition is executed, for example, as an operation of the meta information maintenance function 117 shown in FIG. The mapping definition defines a logical model based on a defined physical model. As preconditions of the mapping definition in FIG. 5, the information sources are the system 1 (physical model 1) 403 and system 2 (physical model 2) 404 shown in FIG. 4, and the user side is the system 3 (601). The required logical model 3 (501) and the logical model 4 (502) required by the system 4 (602). It is assumed that the same employee number code (key) is used in the four systems.

図5においてまず、物理モデルの必要な項目を論理モデルにセットする。具体的には、物理モデル1の表A421から、「従業員番号」、「氏名」、「電話番号」を、物理モデル2の表B422から「従業員番号」、「所属」をそれぞれ、論理モデル3の表C511にセットする。ここで、複数の表(たとえば表Aと表B)を結合する(JOIN)ときには、対象表のMkey制約列を論理モデルのMkey制約列につなぐことにより定義する。論理モデルには物理モデルから引き継いだ列名、型、型属性、制約が設定され、マッピング定義も自動に作成される。   In FIG. 5, first, necessary items of the physical model are set in the logical model. Specifically, from the table A421 of the physical model 1, "employee number", "name", "phone number", and from the table B422 of the physical model 2, "employee number", "affiliation" are respectively logical models. 3 is set in Table C511. Here, when a plurality of tables (for example, Table A and Table B) are joined (JOIN), it is defined by connecting the Mkey constraint column of the target table to the Mkey constraint column of the logical model. In the logical model, column names, types, type attributes, and constraints inherited from the physical model are set, and mapping definitions are also created automatically.

また、論理モデル4の表Eにセットする際に、特定の列を別の表により変換する場合は、間に中間テーブル(表D423)をつなぐことにより定義する。すなわち、表B422の「所属」は、所属コードを表す「Integer」であるが、それを中間テーブルD423を用いて所属名称を表す「String」に変換する。そして、論理モデル4の表E512では、「所属」列として変換結果である「String」をセットする。これは、対象表のSkeyを中間テーブルのMkeyにつなぎ、変換先の列を論理モデルにつなぐことにより定義される。   Further, when a specific column is converted by another table when set in the table E of the logical model 4, it is defined by connecting an intermediate table (table D423) between them. That is, “affiliation” in the table B422 is “Integrer” representing the affiliation code, but is converted to “String” representing the affiliation name using the intermediate table D423. Then, in the table E512 of the logical model 4, “String” as the conversion result is set as the “affiliation” column. This is defined by connecting Sky of the target table to Mkey of the intermediate table and connecting the conversion destination column to the logical model.

つぎに、論理モデルに対して必要な修正をおこなう。たとえば、不要な列の削除(ただし、Mkey制約を持つ列は削除できない)、列名の変更、型の変更と型属性変更などである。たとえば、表D423の「名称」列はString(文字列型)で型属性として「CharCode=JEF」は設定されているので、当初の論理モデル表E512の所属列は、列名=「名称」、データ型=文字列、型属性=「CharCode=JEF」となっている。ここで、論理モデルとして必要な列に変更するために列名を「所属」に変更し、型属性を「CharCode=S_JIS」に変更している。これらの変更は、マッピング定義、クレンジング定義に反映される。統合処理に必要なこれらのメタ情報は、リポジトリ116に格納され、必要なときに統合エンジン110から利用される。   Next, necessary corrections are made to the logical model. For example, unnecessary columns are deleted (however, columns having Mkey constraints cannot be deleted), column names are changed, types are changed, and type attributes are changed. For example, since the “name” column of the table D423 is String (character string type) and “CharCode = JEF” is set as the type attribute, the column to which the original logical model table E512 belongs is column name = “name”, Data type = character string, type attribute = “CharCode = JEF”. Here, the column name is changed to “affiliation” and the type attribute is changed to “CharCode = S_JIS” in order to change to a column necessary for the logical model. These changes are reflected in the mapping definition and cleansing definition. The meta information necessary for the integration process is stored in the repository 116 and used from the integration engine 110 when necessary.

図6は、統合エンジンのアーキテクチャ(問い合わせ)を示す説明図である。利用側のシステム(システム3(たとえば内部の情報形式として表611を有する)、システム4(たとえば内部の情報形式として表612を有する))は、あらかじめ準備されている論理モデル(論理モデル3、論理モデル4)に対して検索(SQL)文を発行して必要な情報を得ることができる。得た情報は各システムの内部表現と一致しているので、そのまま使用することがきる。ここで、システム4が表E512に対して、従業員番号7500の情報がほしい旨の要求を出した場合の実際の動作について、図7を用いて説明する。   FIG. 6 is an explanatory diagram showing the architecture (inquiry) of the integrated engine. The system on the use side (system 3 (for example, having table 611 as an internal information format), system 4 (for example, having table 612 as an internal information format)) is prepared in advance as a logical model (logical model 3, logical Necessary information can be obtained by issuing a search (SQL) sentence to the model 4). Since the obtained information matches the internal representation of each system, it can be used as it is. Here, the actual operation when the system 4 issues a request to the table E512 to request the employee number 7500 information will be described with reference to FIG.

図7は、統合エンジンのアーキテクチャ(実際の動作)を示す説明図である。実際の統合処理は、たとえば図1に示した統合エンジン110において実行される。図7において、まず、論理モデル4の表E512について「従業員番号=7500」が検索条件になる。EIIは、求められた論理モデルに対する検索条件を、物理モデルに対する検索条件に変換する。これが、検索条件の導出(逆変換)処理である。論理モデル4の表E512の「従業員番号」列は物理モデル1の表A421の従業員番号、物理モデル2の表B422の従業員番号から求めることになっているので、「表Aの従業員番号=7500」、「表Bの従業員番号=7500」の検索条件を生成する。そして、表A421に検索文を実行して結果(A)を得る。表A421の検索結果(A)から、従業員番号列と氏名列を表E512にコピーする。これが結果の統合処理である。   FIG. 7 is an explanatory diagram showing the architecture (actual operation) of the integrated engine. The actual integration process is executed, for example, in the integration engine 110 shown in FIG. In FIG. 7, “employee number = 7500” is the search condition for the table E512 of the logical model 4 first. EII converts the search condition for the obtained logical model into the search condition for the physical model. This is a retrieval condition derivation (inverse transformation) process. The “employee number” column of the table E512 of the logical model 4 is obtained from the employee number of the table A421 of the physical model 1 and the employee number of the table B422 of the physical model 2; A search condition of “number = 7500” and “employee number of table B = 7500” is generated. Then, a search statement is executed on Table A421 to obtain a result (A). From the search result (A) of the table A421, the employee number column and the name column are copied to the table E512. This is the result integration process.

つぎに、物理モデル2の表B422に検索文を実行して検索結果(B)を得る。表B422の検索結果(B)から、所属列を持ってくるが、検索結果(B)の所属列は所属コードになっているので、表D423を使って、名称に変換した結果を表E512の所属列の値にする。これは値の変換処理である。このとき、表D423の名称列がJEFコード文字列であるのに対して、表E512の所属列はシフトJIS文字列を要求しているので「JEF→シフトJIS変換」のクレンジング機能(詳細は後述する)が動作して、その結果を表E512の所属列にコピーする。   Next, a search statement is executed on the table B422 of the physical model 2 to obtain a search result (B). Although the affiliation column is brought from the search result (B) of the table B422, the affiliation column of the search result (B) is an affiliation code. Therefore, the result converted into the name using the table D423 is shown in Table E512. Set to the value of the belonging column. This is a value conversion process. At this time, the name string in the table D423 is a JEF code character string, whereas the column belonging to the table E512 requires a shift JIS character string, so that the “JEF → shift JIS conversion” cleansing function (details will be described later) And the result is copied to the affiliation column of Table E512.

図8および図9は、統合エンジンのアーキテクチャ(クレンジング)を示す説明図である。クレンジングは、値の複写が発生するときには型チェックがおこなわれ、複写元(From型)と複写先(To型)の間で型または型属性が異なっていれば、型または型属性に対応して必要な処理が実行される。図8は、型属性の違いによるクレンジングの一例である。図8において、双方のデータ型はString(文字列型)で一致しているが、型属性が異なるため、From型の型属性(CharCode=JEF)からTo型の型属性(CharCode=S_JIS)に変換するために、JEFからシフトJISへ変換するクレンジング処理を実行し、その結果を複写先にコピーする。   8 and 9 are explanatory diagrams showing the architecture (cleansing) of the integrated engine. Cleansing is a type check when copying of values occurs. If the type or type attribute differs between the copy source (From type) and the copy destination (To type), the type or type attribute corresponds to the cleansing. Necessary processing is executed. FIG. 8 is an example of cleansing due to the difference in type attributes. In FIG. 8, both data types match with String (character string type), but since the type attributes are different, the From type attribute (CharCode = JEF) changes to the To type attribute (CharCode = S_JIS). In order to perform conversion, cleansing processing for converting JEF to shift JIS is executed, and the result is copied to the copy destination.

文字コード系変換(文字列型)以外に、型属性が異なるときに実行されるクレンジング機能としては、たとえば、文字列変換(文字列型)がある。具体的には、全空白除去、前後の空白除去、連続空白を1個に集約、タブ/空白変換、改行コード除去、改行コード変換、全角/半角変換、英大文字/英小文字変換、文字の置き換え(置き換えテーブルを使用)などがある。   In addition to character code system conversion (character string type), a cleansing function executed when the type attributes are different includes, for example, character string conversion (character string type). Specifically, remove all blanks, remove leading and trailing blanks, consolidate continuous blanks into one, tab / blank conversion, line feed code removal, line feed code conversion, full-width / half-width conversion, uppercase / lowercase conversion, character replacement (Use replacement table).

また、他のクレンジング機能としては、単位の変換(3千円から3,000円へ、あるいはその逆)(文字列型/数値型)、年号表記(平成16年から2004年へ、あるいはその逆)(文字列型/数値型)、漢数字表記(十六から16へ、あるいはその逆)(文字列型/数値型)、有効桁変換(数値型、有効桁数の増加あるいは減少)、有効文字数変換(文字列型、有効文字数の増加あるいは減少)などがある。   Other cleansing functions include unit conversion (from 3,000 yen to 3,000 yen or vice versa) (string / numeric type), year notation (from 2004 to 2004, or its) Inverse) (character string type / numeric type), Chinese numeral notation (from 16 to 16 or vice versa) (character string type / numeric type), significant digit conversion (numeric type, increase or decrease in the number of significant digits), Conversion of the number of effective characters (character string type, increase or decrease in the number of effective characters).

図9は、型が異なるときに実行されるクレンジング機能の一例である。図9において、String(文字列型)であって、JEFコード文字列「"2000"」(すべて全角で4文字)のデータを、文字列から整数に変換するとともに、10桁以内の整数に変換するクレンジング処理を実行する。それによって、「2000」(4桁の整数)のデータに変換する。   FIG. 9 is an example of a cleansing function executed when the types are different. In FIG. 9, it is a string (character string type), and JEF code character string “2000” (all four characters) is converted from a character string to an integer and converted to an integer of 10 digits or less. Execute cleansing processing. As a result, the data is converted to “2000” (4-digit integer) data.

このように、この発明の実施の形態にかかるデータ統合装置は、データ値の変換として、文字コード系の違いを変換する文字コード系変換処理、空白除去、全角半角変換を含む文字列の正規化をおこなう文字列変換処理、文字や数字の単位の違いを変換する単位変換処理、年号の西暦・和暦の違いを変換する年号表記変換処理、数字表現として漢数字/アラビア数字/ローマ数字と数値の違いを変換する漢数字表記変換処理、数字の有効桁を揃える有効桁変換処理、データ型間の変換処理の少なくともいずれか一つをおこなうことができる。   As described above, the data integration device according to the embodiment of the present invention performs character code normalization including character code system conversion processing for converting differences in character code systems, white space removal, and full-width half-width conversion as data value conversion. Character string conversion processing, unit conversion processing to convert the difference between characters and numbers, year notation conversion processing to convert the year / difference between the Western and Japanese calendars, Chinese numerals / Arabic numerals / Roman numerals as numeric expressions At least one of a Chinese numeral notation conversion process for converting the difference between a numerical value, a significant digit conversion process for aligning the effective digits of a number, and a conversion process between data types.

図10は、クレンジングの処理内容を示すフローチャートであり、図11は、図10に示したフローチャートの処理を実行する機能構成を示す説明図である。図10のフローチャートにおいて、まず、図11に示すFrom値1101のFrom型とTo値1102のTo型が同じか否かをクレンジング制御部1103によって判断する(ステップS1001)。ここで、両者が同じ場合(ステップS1001:Yes)は、From型とTo型に共通する先頭の型属性をポイントする(ステップS1002)。   FIG. 10 is a flowchart showing the details of the cleansing process, and FIG. 11 is an explanatory diagram showing a functional configuration for executing the process of the flowchart shown in FIG. In the flowchart of FIG. 10, first, the cleansing control unit 1103 determines whether the From type of the From value 1101 and the To type of the To value 1102 shown in FIG. 11 are the same (step S1001). Here, when both are the same (step S1001: Yes), the top type attribute common to the From type and the To type is pointed (step S1002).

つぎに、型属性の値が同じか否かを判断する(ステップS1003)。ここで、型属性の値が同じ場合(ステップS1003:Yes)は、From型とTo型に共通するつぎの型属性をポイントする(ステップS1004)。そして、確認すべき型属性が未だあるか否かを判断し(ステップS1005)、ある場合(ステップS1005:Yes)は、ステップS1003へ戻って、以後ステップS1003〜S1005を繰り返し実行する。そして、確認すべき型属性がなくなった場合(ステップS1005:No)は、一連のクレンジング処理を終了する。   Next, it is determined whether or not the values of the type attributes are the same (step S1003). If the value of the type attribute is the same (step S1003: Yes), the next type attribute common to the From type and the To type is pointed (step S1004). Then, it is determined whether there is still a type attribute to be confirmed (step S1005). If there is (step S1005: Yes), the process returns to step S1003, and thereafter, steps S1003 to S1005 are repeatedly executed. Then, when there is no type attribute to be confirmed (step S1005: No), the series of cleansing processing is terminated.

ステップS1001において、From型とTo型とが異なる場合(ステップS1001:No)は、つぎに、データ型の変換が可能か否かを判断する(ステップS1006)。ここで、データ型の変換が可能でない場合(ステップS1006:No)は、クレンジング処理の失敗処理をおこなう。一方、データ型の変換が可能な場合(ステップS1006:Yes)は、つぎに、図11に示す型変換呼出し部1104によって型変換の呼出しがおこなわれ、図11に示す型変換処理部1105によって、該当する型変換処理を実行する(ステップS1007)。   If the From type is different from the To type in step S1001 (step S1001: No), it is next determined whether or not the data type can be converted (step S1006). If data type conversion is not possible (step S1006: No), cleansing process failure processing is performed. On the other hand, when the data type can be converted (step S1006: Yes), the type conversion calling unit 1104 shown in FIG. 11 calls the type conversion, and the type conversion processing unit 1105 shown in FIG. The corresponding type conversion process is executed (step S1007).

そして、型変換処理は成功したか否かを判断する(ステップS1008)。ここで、型変換処理が成功した場合(ステップS1008:Yes)は、ステップS1002へ移行する。一方、型変換処理が失敗した場合(ステップS1008:No)は、クレンジング処理の失敗処理をおこなう。   Then, it is determined whether or not the type conversion process is successful (step S1008). If the type conversion process is successful (step S1008: YES), the process proceeds to step S1002. On the other hand, when the type conversion process fails (step S1008: No), the cleansing process failure process is performed.

ステップS1003において、型属性の値が異なる場合(ステップS1003:No)は、図11に示すクレンジング呼出し部1106によって型属性変換の呼出しがおこなわれ、該当するクレンジング機能があるか否かを判断する(ステップS1009)。ここで、該当するクレンジング機能がない場合(ステップS1009:No)は、クレンジング処理の失敗処理をおこなう。一方、該当するクレンジング機能がある場合(ステップS1009:Yes)は、図11に示すクレンジング処理部1107によって、該当するクレンジング処理を実行する(ステップS1010)。   If the value of the type attribute is different in step S1003 (step S1003: No), the cleansing call unit 1106 shown in FIG. 11 calls the type attribute conversion to determine whether or not there is a corresponding cleansing function ( Step S1009). Here, when there is no corresponding cleansing function (step S1009: No), a cleansing process failure process is performed. On the other hand, if there is a corresponding cleansing function (step S1009: Yes), the corresponding cleansing process is executed by the cleansing processing unit 1107 shown in FIG. 11 (step S1010).

そして、実行されたクレンジング処理は成功したか否かを判断する(ステップS1011)。ここで、クレンジング処理が成功した場合(ステップS1011:Yes)は、ステップS1004へ移行する。一方、クレンジング処理が失敗した場合(ステップS1011:No)は、クレンジング処理の失敗処理をおこなう。   Then, it is determined whether or not the executed cleansing process is successful (step S1011). If the cleansing process is successful (step S1011: Yes), the process proceeds to step S1004. On the other hand, when the cleansing process fails (step S1011: No), the cleansing process failure process is performed.

図12は、マッピングの処理内容を示すフローチャートである。図12のフローチャートにおいて、まず、論理モデルに対する検索式とマッピング定義によって、物理モデルの検索式を作成する(ステップS1201)。この詳細な内容については後述(図17のフロー1を参照)する。つぎに、先頭の物理モデルの検索式をポイントし(ステップS1202)、ポイントされた物理モデルに検索式を実行して該当するデータを取得する(ステップS1203)。   FIG. 12 is a flowchart showing the contents of the mapping process. In the flowchart of FIG. 12, first, a physical model search formula is created based on the search formula and mapping definition for the logical model (step S1201). Details of this will be described later (see flow 1 in FIG. 17). Next, the search formula of the top physical model is pointed (step S1202), and the search formula is executed on the pointed physical model to acquire the corresponding data (step S1203).

そして、検索が成功したか否かを判断し、検索が失敗した場合(ステップS1204:No)は、マッピング失敗処理を実行する。一方、検索が成功した場合(ステップS1204:Yes)は、つぎに、検索結果の該当データを論理モデルにコピーする(ステップS1205)。この詳細な内容についても後述(図20のフロー2を参照)する。そして、コピーが成功したか否かを判断し(ステップS1206)、コピーが失敗した場合(ステップS1206:No)は、マッピング失敗処理を実行する。   Then, it is determined whether or not the search is successful. If the search fails (step S1204: No), a mapping failure process is executed. On the other hand, if the search is successful (step S1204: Yes), the corresponding data of the search result is copied to the logical model (step S1205). This detailed content will also be described later (see flow 2 in FIG. 20). Then, it is determined whether or not the copy has succeeded (step S1206). If the copy has failed (step S1206: No), a mapping failure process is executed.

一方、ステップS1206において、コピーが成功した場合(ステップS1206:Yes)は、つぎの検索式をポイントする(ステップS1207)。そして、残りがあるか否かを判断し(ステップS1208)、残りがある場合(ステップS1208:Yes)は、ステップS1203へ戻り、以後ステップS1203〜S1208まで繰り返し実行する。ステップS1208において、残りがない場合(ステップS1208:No)は、一連のマッピング処理を終了する。   On the other hand, if the copy is successful in step S1206 (step S1206: Yes), the next search expression is pointed (step S1207). Then, it is determined whether or not there is a remainder (step S1208). If there is a remainder (step S1208: Yes), the process returns to step S1203, and thereafter, repeatedly executes steps S1203 to S1208. In step S1208, when there is no remaining (step S1208: No), a series of mapping processing is ended.

図13は、マッピング定義の一例を示す説明図であり、図14は、評価ポイントの一例を示す説明図であり、図15は、図13のマッピングの定義に基づくマッピング制御を示す説明図である。図13において、「表E.氏名」は表Eの氏名列を示しており、図13の括弧付数字(1)〜(6)は、図15の(1)〜(6)にそれそれ対応している。たとえば、図13の(1)に示すマッピング定義は、図15の表Aの該当データについて、その従業員番号列を表Eの従業員番号列に対応付ける(複写する)ことを示している。   FIG. 13 is an explanatory diagram showing an example of mapping definition, FIG. 14 is an explanatory diagram showing an example of evaluation points, and FIG. 15 is an explanatory diagram showing mapping control based on the mapping definition of FIG. . 13, “Table E. Name” indicates the name column of Table E, and the numbers (1) to (6) in parentheses in FIG. 13 correspond to (1) to (6) in FIG. doing. For example, the mapping definition shown in (1) of FIG. 13 indicates that the employee number column is associated (duplicated) with the employee number column of Table E for the corresponding data in Table A of FIG.

ここで、図13(6)のように、中間テーブルによる変換にも対応するマッピング定義が作成される。このマッピング定義は論理モデルの表単位で作成され、その内容は評価ポイント順にソートされている。評価ポイントの導出根拠の一例を図14に示す。また、図16は、利用側アプリケーションから発行される検索条件の一例を示す説明図である。   Here, as shown in FIG. 13 (6), a mapping definition corresponding to the conversion by the intermediate table is created. This mapping definition is created for each table of the logical model, and its contents are sorted in the order of evaluation points. An example of evaluation point derivation grounds is shown in FIG. FIG. 16 is an explanatory diagram showing an example of a search condition issued from the user application.

図17は、マッピングの処理内容(S1201の詳細)を示すフローチャート(フロー1)であり、図18は、図17で利用するマッピングの定義の一例を示す説明図である。図17のフローチャートにおいて、まず、図16に示す検索式で指定されている論理モデル表(表E)のマッピング定義を取得して、解決済フラグをクリアする(ステップS1701)。すなわち、図18の「解決」をすべて「0」にする。   FIG. 17 is a flowchart (flow 1) showing the processing contents of mapping (details of S1201), and FIG. 18 is an explanatory diagram showing an example of the mapping definition used in FIG. In the flowchart of FIG. 17, first, the mapping definition of the logical model table (table E) designated by the search formula shown in FIG. 16 is acquired, and the resolved flag is cleared (step S1701). That is, all the “solutions” in FIG. 18 are set to “0”.

つぎに、マッピング定義のTo列を上から検索して、検索条件で指定されている列に対する最初のFrom列を求める(ステップS1702)。その際、解決フラグがあるマッピング定義はスキップする。たとえば図16に示す検索条件として指定されている「表E.従業員番号」をTo列から検索して、From列として「表A.従業員番号」を求める。そして、該当するFrom列を検索対象として、検索条件のクレンジングを実行する(ステップS1703)。ステップS1703の詳細な内容については後述(図21のフロー3を参照)する。   Next, the To column of the mapping definition is searched from above, and the first From column for the column specified by the search condition is obtained (step S1702). At that time, the mapping definition with the resolution flag is skipped. For example, “Table E. Employee number” specified as the search condition shown in FIG. 16 is searched from the To column, and “Table A. Employee number” is obtained as the From column. Then, cleansing of the search condition is executed using the corresponding From column as a search target (step S1703). Details of step S1703 will be described later (see flow 3 in FIG. 21).

そして、From列は末端列か否かを判断する(ステップS1704)。ここで、末端列とは、マッピング定義において、To列に存在しない列(オリジナルのFrom列)を意味する。ここで、From列が末端列ではない場合(ステップS1704:No)は、つぎに、該当するFrom列を検索対象として、クレンジング結果を検索条件に設定して検索条件クレンジングの再処理をおこなう(ステップS1705)。その後、ステップS1702へ戻る。たとえば、図18でFrom列の「表D.名称」に対する検索条件を導出した場合には、「表D.名称」がTo列(6行目の要素)に存在するため、再度「表D.所属」の検索式を導出する必要がある。この場合、再度「表B.所属」(3行目のFrom要素)の検索式に変換され、これが末端列となる。このステップS1702〜S1705のループによって、中間テーブルによる変換など、多段階のマッピングに対応している。   Then, it is determined whether the From column is a terminal column (step S1704). Here, the terminal column means a column that does not exist in the To column (original From column) in the mapping definition. If the From column is not a terminal column (step S1704: No), then the cleansing result is set as a search condition with the corresponding From column as a search target, and the search condition cleansing is reprocessed (step S1704: No). S1705). Thereafter, the process returns to step S1702. For example, in the case where the search condition for “Table D. Name” in the From column in FIG. 18 is derived, “Table D. Name” exists in the To column (element on the sixth row). It is necessary to derive a search expression for “affiliation”. In this case, it is converted again into a search expression of “Table B. Affiliation” (From element in the third row), and this becomes the end column. This loop of steps S1702 to S1705 supports multi-step mapping such as conversion by an intermediate table.

ステップS1704において、From列が末端列である場合(ステップS1704:Yes)は、該当するFrom列を検索対象として、クレンジング結果を検索条件とする検索式を作成する(ステップS1706)。図19が、作成された検索式の一例である。そして、この検索で解決できるマッピング定義に解決フラグを立てる(ステップS1707)。すなわち、図18の「解決」を「1」にする。ここで「解決」とは、検索結果のデータ列の複写により、該当するマッピングが実現できることを意味している。たとえば、図19の1行目の検索により、図15の(1)(4)に対応するマッピングが解決されるので、図18の1行目と4行目の解決列を「1」に設定できる。   In step S1704, when the From column is a terminal column (step S1704: Yes), a search expression using the cleansing result as a search condition is created using the corresponding From column as a search target (step S1706). FIG. 19 shows an example of the created search expression. Then, a resolution flag is set in the mapping definition that can be resolved by this search (step S1707). That is, “Solution” in FIG. 18 is set to “1”. Here, “solution” means that the corresponding mapping can be realized by copying the data string of the search result. For example, since the mapping corresponding to (1) and (4) in FIG. 15 is resolved by the search in the first row in FIG. 19, the resolution columns in the first and fourth rows in FIG. 18 are set to “1”. it can.

つぎに、From列が末端列であるマッピング定義に未解決があるか(すなわち、「解決」が「0」のものがあるか)否かを判断する(ステップS1708)。ここで、未だ、未解決がある場合(ステップS1708:Yes)は、ステップS1702に戻る。そして、ステップS1702〜S1708を繰り返し実行する。ステップS1708において、未解決がない場合(ステップS1708:No)は、フロー1の一連の処理を終了し、図12に示したステップS1202へ移行する。ここで、図18はこの状態(ステップS1708において、未解決がない場合)を示している。すなわち、From列が末端列であるマッピング定義(1)〜(4)が全て解決済になっている。   Next, it is determined whether or not there is an unresolved mapping definition in which the From column is a terminal column (that is, whether there is a “resolution” of “0”) (step S1708). Here, when there is still unresolved (step S1708: Yes), the process returns to step S1702. Then, steps S1702 to S1708 are repeatedly executed. If there is no unsolved in step S1708 (step S1708: No), the series of processing of flow 1 is terminated, and the process proceeds to step S1202 shown in FIG. Here, FIG. 18 shows this state (when there is no outstanding in step S1708). That is, all mapping definitions (1) to (4) in which the From column is a terminal column have been solved.

図20は、マッピングの処理内容(S1205の詳細)を示すフローチャート(フロー2)であり、論理モデルへの反映処理の内容を示す。図20のフローチャートにおいて、まず、該当データの先頭をポイントする(ステップS2001)。つぎに、ポイントされたデータが直接論理モデルに反映することが可能か否かを判断する(ステップS2002)。ここで、データが直接論理モデルに反映することが可能な場合(ステップS2002:Yes)は、クレンジングをおこなってから、結果を論理モデルにコピーする(ステップS2003)。   FIG. 20 is a flowchart (flow 2) showing the mapping process contents (details of S1205), and shows the contents of the reflection process to the logical model. In the flowchart of FIG. 20, first, the top of the corresponding data is pointed (step S2001). Next, it is determined whether or not the pointed data can be directly reflected in the logical model (step S2002). If the data can be directly reflected in the logical model (step S2002: Yes), cleansing is performed, and then the result is copied to the logical model (step S2003).

つぎに、コピーは成功したか否かを判断し(ステップS2004)、コピーが失敗した場合(ステップS2004:No)は、フロー2の処理が失敗であるとして、図12に示したフローチャートのステップS1206へ移行する。一方、コピーが成功した場合(ステップS2004:Yes)は、つぎの値をポイントする(ステップS2005)。そして、残りはあるか否かを判断する(ステップS2006)。ここで、残りがある場合(ステップS2006:Yes)は、ステップS2002へ戻る。一方、残りがない場合(ステップS2006:No)は、フロー2の一連の処理を終了し、図12に示したフローチャートのステップS1206へ移行する。   Next, it is determined whether or not the copy is successful (step S2004). If the copy fails (step S2004: No), it is determined that the process of flow 2 is unsuccessful, and step S1206 of the flowchart shown in FIG. Migrate to On the other hand, when the copy is successful (step S2004: Yes), the next value is pointed (step S2005). Then, it is determined whether or not there is any remaining information (step S2006). Here, when there is a remainder (step S2006: Yes), the process returns to step S2002. On the other hand, when there is no remaining (step S2006: No), a series of processing of the flow 2 is complete | finished and it transfers to step S1206 of the flowchart shown in FIG.

ステップS2002において、データを直接論理モデルに反映することが可能ではない場合(ステップS2002:No)は、対象のデータ値を検索条件とし、該当する中間テーブルの列を検索対象として、検索条件のクレンジングを実行する(ステップS2007)。この処理の詳細な内容については後述(図21を参照)する。そして、クレンジングが成功したか否かを判断し(ステップS2008)、失敗した場合(ステップS2008:No)は、フロー2の処理が失敗であるとして、図12に示したフローチャートのステップS1206へ移行する。   If it is not possible to directly reflect the data in the logical model in step S2002 (step S2002: No), the search condition cleansing is performed using the target data value as the search condition and the corresponding intermediate table column as the search target. Is executed (step S2007). Details of this processing will be described later (see FIG. 21). Then, it is determined whether or not the cleansing has succeeded (step S2008). If the cleansing has failed (step S2008: No), it is determined that the process of flow 2 has failed, and the process proceeds to step S1206 in the flowchart shown in FIG. .

つぎに、中間テーブルを検索し(ステップS2009)、検索は成功したか否かを判断する(ステップS2010)。ここで、失敗した場合(ステップS2010:No)は、フロー2の処理が失敗であるとして、図12に示したフローチャートのステップS1206へ移行する。一方、成功した場合(ステップS2010:Yes)は、ポイントしている値を検索結果で置き換え(ステップS2011)、その後、ステップS2002へ戻る。このS2007〜S2011で中間テーブルによるデータ値の変換処理を実現している。   Next, the intermediate table is searched (step S2009), and it is determined whether the search is successful (step S2010). Here, if it has failed (step S2010: No), it is determined that the process of flow 2 has failed, and the process proceeds to step S1206 of the flowchart illustrated in FIG. On the other hand, if successful (step S2010: Yes), the pointed value is replaced with the search result (step S2011), and then the process returns to step S2002. In S2007 to S2011, a data value conversion process using the intermediate table is realized.

図21は、マッピングの処理内容(S2007,S1703の詳細)を示すフローチャートであり、検索条件のクレンジング処理の内容を示す。図21のフローチャートにおいて、まず、検索条件を型および型属性とともにFrom値に設定し、検索対象表の列をTo値に設定する(ステップS2101)。つぎに、クレンジングを実行する(ステップS2102)。そして、クレンジングが成功したか否かを判断する(ステップS2103)。ここで、クレンジングが失敗した場合(ステップS2103:No)は、フロー3の処理が失敗であるとして、図20に示したフローチャートのステップS2008または、図17に示したフローチャートのステップS1704へ移行する。   FIG. 21 is a flowchart showing the details of the mapping process (details of S2007 and S1703), and shows the contents of the search condition cleansing process. In the flowchart of FIG. 21, first, the search condition is set to the From value together with the type and the type attribute, and the column of the search target table is set to the To value (step S2101). Next, cleansing is executed (step S2102). Then, it is determined whether or not cleansing is successful (step S2103). Here, when cleansing fails (step S2103: No), it is determined that the process of flow 3 has failed, and the process proceeds to step S2008 in the flowchart illustrated in FIG. 20 or step S1704 in the flowchart illustrated in FIG.

一方、クレンジングが成功した場合(ステップS2103:Yes)は、クレンジング結果(To値)を型および型属性とともに、検索条件に設定する(ステップS2104)。それによって、一連の処理を終了し、図20に示したフローチャートのステップS2008または、図17に示したフローチャートのステップS1704へ移行する。これらのフローチャート中で実行されている値のクレンジング処理(S2003,S2102)は、図10で説明済みのクレンジング処理により実現するものである。   On the other hand, when cleansing is successful (step S2103: Yes), the cleansing result (To value) is set as a search condition together with the type and type attribute (step S2104). As a result, the series of processing ends, and the process proceeds to step S2008 in the flowchart shown in FIG. 20 or step S1704 in the flowchart shown in FIG. The value cleansing process (S2003, S2102) executed in these flowcharts is realized by the cleansing process already described with reference to FIG.

以上説明したように、この発明によれば、別々に管理されている複数の情報源103に存在するデータを収集して統合するに際して、情報源103からのデータ収集は、各情報源側のデータモデル(物理モデル111)でおこない、統合処理は各利用側アプリケーション104ごとにあらかじめ定義されたデータモデル(論理モデル112)に向けてデータ構造を変換する処理(マッピング)および各値を揃えるように変換する処理(クレンジング)をおこない、結果を各アプリケーションごとのビュー(論理モデル112)として利用側アプリケーションに提供することによって、情報源103側の改造を不要とし、利用側アプリケーション104の負担を軽減することができる。   As described above, according to the present invention, when collecting and integrating data existing in a plurality of information sources 103 managed separately, data collection from the information source 103 is performed by data on each information source side. The model (physical model 111) is used, and the integration processing is performed so that the data structure is converted to a data model (logical model 112) defined in advance for each user application 104 (mapping) and each value is aligned. The processing (cleansing) is performed and the result is provided to the user application as a view (logical model 112) for each application, so that the modification on the information source 103 side is unnecessary and the burden on the user application 104 is reduced. Can do.

また、この発明によれば、利用側アプリケーション104から要求された時点でリアルタイムに情報源103からの情報収集をおこない、データ統合処理を実行して結果を利用側アプリケーション104に提供することにより、リアルタイムな統合結果を提供する、いわゆる仮想統合を実現することができる。   In addition, according to the present invention, information is collected from the information source 103 in real time when requested by the use side application 104, data integration processing is executed, and the result is provided to the use side application 104 in real time. So-called virtual integration can be realized.

また、この発明によれば、あらかじめ情報源103の公開する情報に限定した複製であるレプリカ240(複製データベース)をEII101側に作成しておき、情報源103の更新に同期して、トランザクション単位の差分をレプリカ240(複製データベース)に適用しておき、利用側アプリケーション104からの要求に対してはレプリカ240からデータを収集して統合して、結果を利用側アプリケーション104に提供する、いわゆる物理統合を実現することによって、情報源103へのアクセス負荷を軽減し、情報源104の停止時間でも停止直前のデータを利用したデータ統合を実現することができる。   Further, according to the present invention, a replica 240 (replication database) that is a copy limited to information publicly disclosed by the information source 103 is created on the EII 101 side in advance, and in synchronization with the update of the information source 103, a transaction unit. So-called physical integration in which the difference is applied to the replica 240 (replication database), data is collected from the replica 240 and integrated in response to a request from the user application 104, and the result is provided to the user application 104. By realizing the above, it is possible to reduce the access load to the information source 103 and to realize data integration using the data immediately before the stop even during the stop time of the information source 104.

また、この発明によれば、情報源103で管理されているデータの性質および運用形態に合わせて、情報源103または表ごとに、上記仮想統合または上記物理統合を選択可能とすることによって、最適なデータ統合を実現することができる。   In addition, according to the present invention, the virtual integration or the physical integration can be selected for each information source 103 or for each table according to the property and operation mode of the data managed by the information source 103. Data integration can be realized.

また、この発明によれば、各情報源103側の形式(物理モデル111)および各利用側アプリケーション104の形式(論理モデル112)を表すメタ情報として、少なくとも表の名前、データ列の名前、データの型を定義し、データの型には型の詳細を定義する型属性を定義できるように構成する。そして、各データの値を物理モデル111から論理モデル112に変換するクレンジング処理では、データ型が異なるときには複写元をFrom型、複写先をTo型として、From型のデータ値をTo型のデータ値に変換する型変換機能を実行し、型属性に差があるときには型属性を合わせるクレンジング処理を実行することによって、きめ細かいクレンジングを効率よく実行することができる。   Further, according to the present invention, at least the name of the table, the name of the data string, the data as the meta information representing the format (physical model 111) of each information source 103 and the format (logical model 112) of each user application 104 The type of data is defined, and the type attribute that defines the details of the type can be defined for the data type. In the cleansing process for converting the value of each data from the physical model 111 to the logical model 112, when the data type is different, the copy source is the From type, the copy destination is the To type, and the From data value is the To type data value. Fine cleansing can be efficiently performed by executing a type conversion function for converting to, and executing a cleansing process for matching the type attributes when there is a difference in the type attributes.

また、この発明によれば、上記メタ情報として主キー制約、従属キー制約などのデータ列の制約を併せて定義し、物理モデル111の表および列から論理モデル112の表および列への対応関係を示すマッピング定義を定義するように構成し、利用側アプリケーション104から要求された論理モデル112の表に対する検索条件式からマッピング定義に基づいて、対応する物理モデル111の検索条件式を作成する。   In addition, according to the present invention, constraints on data columns such as a primary key constraint and a subordinate key constraint are also defined as the meta information, and the correspondence relationship between the tables and columns of the physical model 111 and the tables and columns of the logical model 112 A mapping definition indicating the physical model 111 is generated based on the mapping definition from the search condition expression for the table of the logical model 112 requested by the user application 104.

この検索条件式の作成は、マッピング定義の評価関数で評価された順に実行し、その検索条件は論理モデル112側をFrom型、物理モデル111側をTo型として統合と逆方向のクレンジング処理をおこない、これらにより生成された検索条件式により各情報源103(物理モデル111)からデータの収集をおこない、収集したデータはマッピング定義とデータ値の型および型属性定義に基づいて、マッピングおよびクレンジングをおこない、論理モデル112のデータに統合し、利用側アプリケーション104に提供することができる。   This search condition expression is created in the order evaluated by the evaluation function of the mapping definition, and the search condition is the clean type processing in the reverse direction of integration with the logical model 112 side as the From type and the physical model 111 side as the To type. Data is collected from each information source 103 (physical model 111) using the search condition formulas generated by these, and the collected data is mapped and cleansed based on the mapping definition, the data value type, and the type attribute definition. Can be integrated into the data of the logical model 112 and provided to the user application 104.

また、この発明によれば、マッピング定義として、利用側アプリケーション104のシステムが要求する論理モデル112と、情報源103側の形式としての物理モデル111の間に、データの変換をおこなう中間テーブル(たとえば図5などに示した表D423)を定義できるように構成し、物理モデル111として収集したデータを中間テーブルで変換した結果を論理モデル112に統合することによって、より差の大きいデータモデル間の統合を可能とする。   Further, according to the present invention, as a mapping definition, an intermediate table (for example, data conversion) is performed between the logical model 112 required by the system of the user application 104 and the physical model 111 as a format on the information source 103 side. Table D 423) shown in FIG. 5 and the like can be defined, and by integrating the data collected as the physical model 111 using the intermediate table into the logical model 112, integration between data models having a larger difference is achieved. Is possible.

また、この発明によれば、クレンジングは、文字コード系の違いを変換する文字コード系変換処理、空白除去や全角半角変換などの文字列の正規化をおこなう文字列変換機能、文字や数字の単位の違いを変換する単位変換機能、年号の西暦・和暦などの違いを変換する年号表記変換、数字表現として漢数字/アラビア数字/ローマ数字と数値の違いを変換する漢数字表記変換、数字の有効桁を揃える有効桁変換、データ型間の変換機能のいずれかが可能となる。   Further, according to the present invention, cleansing is a character code system conversion process that converts the difference between character code systems, a character string conversion function that performs character string normalization such as white space removal and full-width half-width conversion, and a unit of characters and numbers. Unit conversion function to convert the difference between the year, year notation conversion to convert the difference between the Western calendar, Japanese calendar, etc., Chinese numeral notation conversion to convert the difference between Chinese numerals / Arabic numerals / Roman numerals and numbers, Either a significant digit conversion that aligns the significant digits of a number or a conversion function between data types is possible.

また、この発明によれば、複数のシステムに独立して管理されているマスターデータを管理するに際し、マスターデータはあくまでも各システムで各アプリケーションが独立して管理をおこない、各マスターデータの中で、他のシステムに有用なデータをマスターデータの形式である物理モデル111として、EII101に対してデータ公開の定義をおこない、利用側アプリケーション104の各システムはそれそれのアプリケーションにとって使いやすいデータ形式を論理モデルとしてEII101に定義をおこない、各利用システムは独自の形式である論理モデルを通じて、公開されているデータを統合して利用(参照)し、データの更新はSOA(サービス指向アーキテクチャ)などにより各情報源のアプリケーションが提供している情報更新機能に依頼しておこなう方式を採用する。   In addition, according to the present invention, when managing master data managed independently by a plurality of systems, master data is managed independently by each application in each system, and in each master data, Data that is useful for other systems is defined as a physical model 111 in the form of master data, and data disclosure is defined for the EII 101. Each system of the user application 104 uses a logical model that is easy to use for each application. EII101 is defined as follows, and each usage system integrates and uses (refers to) the published data through a logical model that is a unique format, and data is updated by each information source using SOA (Service Oriented Architecture) or the like. Provided by the application To adopt a method carried out by requesting the information update function.

これによって、マスターデータ管理(MDM)の導入に際して各情報源システムの改修を不要とし、利用システムのアプリケーションを簡素化し、物理的な共通マスターデータベースを不要とし、トランザクションなどの更新制御を各システム内に限定することによりマスター更新を簡素化することができる。さらに、各マスターデータ(情報源)の形式変更などが発生してもデータ統合装置に対する物理モデルの定義変更だけで、他のシステムへの波及を防止して、効率的なマスターデータ管理(MDM)を実現することができる。   This eliminates the need to modify each information source system when introducing master data management (MDM), simplifies the application of the system used, eliminates the need for a physical common master database, and provides transaction control within each system. By limiting, the master update can be simplified. In addition, even if the format of each master data (information source) changes, only the definition of the physical model for the data integration device can be changed, preventing the spread to other systems and efficient master data management (MDM) Can be realized.

また、この発明によれば、結果として、既存システムへの容易な導入、システムの変更や入れ替えに対する高い柔軟性、さらに、各サブシステムの高い独立性により、各サブシステムを担当する業務に最適化する部分最適の追求と、情報システム全体としての全体最適の追求を両立させることが可能となる。   In addition, according to the present invention, as a result, it is optimized for the work in charge of each subsystem due to easy introduction into an existing system, high flexibility in changing and replacing the system, and high independence of each subsystem. It is possible to achieve both the pursuit of partial optimization and the pursuit of overall optimization for the entire information system.

以上のように、この発明にかかるデータ統合装置、データ統合方法およびデータ統合プログラムを記録したコンピュータ読み取り可能な記録媒体は、複数の異なるシステムの情報を統合し活用するのに有用であり、特に、EIIやMDMなどにおいて用いられるのに適している。   As described above, the data integration device, the data integration method, and the computer-readable recording medium that records the data integration program according to the present invention are useful for integrating and utilizing information of a plurality of different systems. Suitable for use in EII and MDM.

101 データ統合装置(EII)
102 サービスバス
103 情報源
104 利用アプリケーション
111 物理モデル
112 論理モデル
201,202,203 サブシステム
210,220,230 マスターデータベース
240 レプリカ
101 Data integration device (EII)
102 Service Bus 103 Information Source 104 Application 111 Physical Model 112 Logical Model 201, 202, 203 Subsystem 210, 220, 230 Master Database 240 Replica

Claims (5)

異なるシステムにおいて管理されている複数の情報源に存在するデータを収集して統合するデータ統合装置であって、
前記複数の情報源それぞれについて、情報源に含まれる1つ以上のデータ項目と当該データ項目のデータ値の型を含む定義である物理データモデルと、利用側アプリケーションで用いられる1つ以上のデータ項目と当該データ項目のデータ値の型を含む定義である論理データモデルと、前記論理データモデルのデータ項目と前記物理データモデルのデータ項目との対応関係を示すマッピング情報と、を記憶する記憶部と、
前記論理データモデルに対する検索条件を前記利用側アプリケーションから受け付け、受け付けた前記検索条件と前記マッピング情報とに基づいて、前記物理データモデルに対する検索条件を生成する生成手段と、
生成した前記物理データモデルに対する検索条件を用いて、前記複数の情報源それぞれから、前記物理データモデルのままで、前記物理データモデルに対する検索条件に対応するデータの収集をおこなうデータ収集手段と、
集された前記データを、前記マッピング情報に基づいて、前記論理データモデルに対応するデータに前記物理データモデルから変換をおこない、かつ、前記マッピング情報に基づいて、前記複数の情報源それぞれから収集されて前記変換がなされた前記データを統合するデータ処理手段と、
統合された前記データを前記利用側アプリケーションに送信するデータ送信手段と、
を備えたことを特徴とするデータ統合装置。
A data integration device for collecting and integrating data existing in a plurality of information sources managed in different systems,
For each of the plurality of information sources, one or more data items included in the information source and a physical data model that is a definition including the data value type of the data item, and one or more data items used in the user application And a logical data model that is a definition including a data value type of the data item, and mapping information indicating a correspondence relationship between the data item of the logical data model and the data item of the physical data model; ,
Generating means for receiving a search condition for the physical data model based on the received search condition and the mapping information;
Data collection means for collecting data corresponding to the search condition for the physical data model from each of the plurality of information sources using the search condition for the generated physical data model as it is.
The data collected, based on the mapping information, the not such to put the conversion from the physical data model to the data corresponding to the logical data model, and, on the basis of the mapping information, the plurality of information sources, respectively Data processing means for integrating the data collected from and converted .
Data transmission means for transmitting the integrated data to the user application;
A data integration device comprising:
前記情報源のシステム側に設けられた前記データのマスターデータベースに格納されたデータのうち、公開の対象となっているデータに限定したデータのメタ情報に基づく仮想統合データベースを作成する仮想統合データベース作成手段を備え、
前記データ処理手段は、前記仮想統合データベース作成手段によって作成された仮想統合データベースに含まれるメタ情報に基づいて、データ構造およびデータ値の少なくともいずれか一方の変換をおこなうことを特徴とする請求項1に記載のデータ統合装置。
Virtual integrated database creation that creates a virtual integrated database based on meta information of data limited to data that is made public among data stored in the master database of the data provided on the system side of the information source With means,
The data processing unit performs conversion of at least one of a data structure and a data value based on meta information included in the virtual integrated database created by the virtual integrated database creating unit. The data integration device described in 1.
前記情報源のシステム側に設けられた前記データのマスターデータベースに格納されたデータのうち、公開の対象となっているデータに限定したデータからなる複製データベースを作成する複製データベース作成手段と、
成された前記複製データベースを、前記マスターデータベースに格納されたデータの更新に対応して更新する複製データベース更新手段と、を備え、
前記データ収集手段は、前記複製データベースからデータの収集をおこなうことを特徴とする請求項1に記載のデータ統合装置。
Of the data stored in the master database of the data provided on the system side of the information source, a replication database creating means for creating a replication database consisting of data limited to data to be disclosed,
Create the replicated database was made, and a duplicate database updating means for updating in response to said master data base stores the data of the update,
The data integration apparatus according to claim 1, wherein the data collection unit collects data from the duplicate database.
異なるシステムにおいて管理されている複数の情報源に存在するデータを収集して統合するデータ統合装置を含むシステムにおけるデータ統合方法であって、
前記データ統合装置を含むシステムが、
前記複数の情報源それぞれについて、情報源に含まれる1つ以上のデータ項目と当該データ項目のデータ値の型を含む定義である物理データモデルと、利用側アプリケーションで用いられる1つ以上のデータ項目と当該データ項目のデータ値の型を含む定義である論理データモデルと、前記論理データモデルのデータ項目と前記物理データモデルのデータ項目との対応関係を示すマッピング情報と、を記憶し、
前記論理データモデルに対する検索条件を前記利用側アプリケーションから受け付け、受け付けた前記検索条件と前記マッピング情報とに基づいて、前記物理データモデルに対する検索条件を生成し、
生成した前記物理データモデルに対する検索条件を用いて、前記複数の情報源それぞれから、前記物理データモデルのままで、前記物理データモデルに対する検索条件に対応するデータの収集をおこな
集された前記データを、前記マッピング情報に基づいて、前記論理データモデルに対応するデータに前記物理データモデルから変換をおこない、かつ、前記マッピング情報に基づいて、前記複数の情報源それぞれから収集されて前記変換がなされた前記データを統合し
統合された前記データを前記利用側アプリケーションに送信することを特徴とするデータ統合方法。
A data integration method in a system including a data integration device for collecting and integrating data existing in a plurality of information sources managed in different systems,
A system including the data integration device;
For each of the plurality of information sources, one or more data items included in the information source and a physical data model that is a definition including the data value type of the data item, and one or more data items used in the user application And a logical data model that is a definition including a data value type of the data item, and mapping information indicating a correspondence relationship between the data item of the logical data model and the data item of the physical data model, and
A search condition for the logical data model is received from the user side application, and based on the received search condition and the mapping information, a search condition for the physical data model is generated,
Using the generated search condition for the physical data model, from the plurality of sources, respectively, while the physical data model, not such to put the collection of data corresponding to the search condition for the physical data model,
The data collected, based on the mapping information, the not such to put the conversion from the physics data model to the data corresponding to the logical data model, and, on the basis of the mapping information, the plurality of information sources, respectively Integrating the data collected from and converted
Data integration methods and transmitting a unified the data to the utilization-side application.
異なるシステムにおいて管理されている複数の情報源に存在するデータを収集して統合するデータ統合装置において実行されるデータ統合プログラムであって、
前記複数の情報源それぞれについて、情報源に含まれる1つ以上のデータ項目と当該データ項目のデータ値の型を含む定義である物理データモデルと、利用側アプリケーションで用いられる1つ以上のデータ項目と当該データ項目のデータ値の型を含む定義である論理データモデルと、前記論理データモデルのデータ項目と前記物理データモデルのデータ項目との対応関係を示すマッピング情報と、を記憶する工程と、
前記論理データモデルに対する検索条件を前記利用側アプリケーションから受け付け、受け付けた前記検索条件と前記マッピング情報とに基づいて、前記物理データモデルに対する検索条件を生成する工程と、
生成した前記物理データモデルに対する検索条件を用いて、前記複数の情報源それぞれから、前記物理データモデルのままで、前記物理データモデルに対する検索条件に対応するデータの収集をおこなう工程と、
集された前記データを、前記マッピング情報に基づいて、前記論理データモデルに対応するデータに前記物理データモデルから変換をおこない、かつ、前記マッピング情報に基づいて、前記複数の情報源それぞれから収集されて前記変換がなされた前記データを統合する工程と
統合された前記データを前記利用側アプリケーションに送信する工程と、
を前記データ統合装置に実行させることを特徴とするデータ統合プログラム
A data integration program executed in a data integration device that collects and integrates data existing in a plurality of information sources managed in different systems,
For each of the plurality of information sources, one or more data items included in the information source and a physical data model that is a definition including the data value type of the data item, and one or more data items used in the user application And a logical data model that is a definition including a data value type of the data item, and mapping information indicating a correspondence relationship between the data item of the logical data model and the data item of the physical data model;
Receiving a search condition for the logical data model from the user-side application, and generating a search condition for the physical data model based on the received search condition and the mapping information;
Using the generated search condition for the physical data model, from the plurality of sources, respectively, while the physical data model, and performing collection of data corresponding to the search condition for the physical data model,
The data collected, based on the mapping information, the not such to put the conversion from the physical data model to the data corresponding to the logical data model, and, on the basis of the mapping information, the plurality of information sources, respectively Integrating the data collected from and converted .
Transmitting the integrated data to the consuming application ;
Data integration program for causing execute the data integration system.
JP2014009935A 2014-01-22 Data integration apparatus, data integration method, and data integration program Active JP5733434B6 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014009935A JP5733434B6 (en) 2014-01-22 Data integration apparatus, data integration method, and data integration program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014009935A JP5733434B6 (en) 2014-01-22 Data integration apparatus, data integration method, and data integration program

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2012250730A Division JP2013037726A (en) 2012-11-14 2012-11-14 Data integration device, data integration method, and data integration program

Publications (3)

Publication Number Publication Date
JP2014096177A JP2014096177A (en) 2014-05-22
JP5733434B2 JP5733434B2 (en) 2015-06-10
JP5733434B6 true JP5733434B6 (en) 2015-07-08

Family

ID=

Similar Documents

Publication Publication Date Title
JPWO2007083371A1 (en) Data integration apparatus, data integration method, and computer-readable recording medium recording data integration program
US11461356B2 (en) Large scale unstructured database systems
KR102307371B1 (en) Data replication and data failover within the database system
US9576028B2 (en) Managing data queries
CN102129469B (en) Virtual experiment-oriented unstructured data accessing method
KR100556594B1 (en) A method relating to databases
US20010056428A1 (en) Method and system for improved access to non-relational databases
US20080140629A1 (en) Time in databases and applications of databases
US20080320055A1 (en) Bi-Directional Data Modification With Synchronization
KR20040086580A (en) Consistency unit replication in application-defined systems
CN102918494A (en) Data storage and/or retrieval based on a database model-agnostic, schema-agnostic and workload-agnostic data strorage and access models
JP2007526564A (en) Time-addressed database management system
Narang Database management systems
US11372569B2 (en) De-duplication in master data management
CN114925073B (en) Distributed database system supporting flexible dynamic fragmentation and implementation method thereof
JP4299033B2 (en) Journal acquisition / distribution device, journal acquisition / distribution method, and program for causing computer to execute the method
JP5733434B6 (en) Data integration apparatus, data integration method, and data integration program
JP5733434B2 (en) Data integration apparatus, data integration method, and data integration program
JP2011258225A (en) Data integration device, data integration method, and computer-readable recording medium recording data integration program
JP2013037726A (en) Data integration device, data integration method, and data integration program
Schönig Mastering PostgreSQL 11: Expert techniques to build scalable, reliable, and fault-tolerant database applications
Schonig Mastering PostgreSQL 9.6
Li Introduction to Big Data
US8706769B1 (en) Processing insert with normalize statements
JP6588988B2 (en) Business program generation support system and business program generation support method