JP2011248852A - System cooperation apparatus - Google Patents
System cooperation apparatus Download PDFInfo
- Publication number
- JP2011248852A JP2011248852A JP2010267975A JP2010267975A JP2011248852A JP 2011248852 A JP2011248852 A JP 2011248852A JP 2010267975 A JP2010267975 A JP 2010267975A JP 2010267975 A JP2010267975 A JP 2010267975A JP 2011248852 A JP2011248852 A JP 2011248852A
- Authority
- JP
- Japan
- Prior art keywords
- data
- schema
- definition
- conversion
- mapping
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
本発明は、複数システム間のデータを連携するシステム連携装置に関する。 The present invention relates to a system cooperation apparatus that cooperates data between a plurality of systems.
近年、顧客要望の多様化・高度化に伴い、それを解決するシステムが大規模化・複雑化している。そのため、システム更改の際、新システムへの一括移行は、技術的にもコスト的にも困難であり、段階的な移行が必要である。段階的な移行を行う場合、その過渡期には、新システムと旧システムが共存することになる。旧システムの機能の一部を新システムで使用する場合もあるため、両システムは独立ではなく、両システムで重複して保持するデータもある。そこで、両システム間の重複データの整合性を確保する仕組みが必要となる。 In recent years, with diversification and sophistication of customer requests, systems for solving them have become larger and more complicated. For this reason, at the time of system renewal, batch migration to a new system is technically and costly difficult, and phased migration is necessary. In the case of a gradual transition, the new system and the old system coexist during the transition period. Since some of the functions of the old system may be used in the new system, both systems are not independent, and some data is retained redundantly in both systems. Therefore, a mechanism for ensuring the consistency of duplicate data between both systems is required.
データ整合性を確保する従来の方法として、データベース同期化がある。これはどちらかのデータベースに対してデータ更新があった場合に、他のデータベースにその更新分のデータ(差分データ)をコピーする方法である。これにより、複数システム間でデータを同じ状態に保つことができるため、データの整合性は確保される。 A conventional method for ensuring data consistency is database synchronization. This is a method of copying data (difference data) for the update to another database when data is updated for either database. As a result, the data can be kept in the same state among a plurality of systems, so that data consistency is ensured.
複数システム間で利用するデータ形式が異なる場合には、データ形式の変換を行う必要がある。データ形式の変換は、データ形式の変換ルールを用いて行う。データ形式の変換ルールは、データ形式を定義するデータスキーマをシステム毎に用意し、そのデータスキーマのデータ項目情報を用いて、システム間で対応するデータ項目が明確になるようにデータ項目間の対応関係を定義(以下、「スキーママッピング定義」という。)したものである。 If the data format used between multiple systems is different, it is necessary to convert the data format. Data format conversion is performed using data format conversion rules. Data format conversion rules provide a data schema that defines the data format for each system, and using the data item information of that data schema, the correspondence between data items is clarified between the systems The relationship is defined (hereinafter referred to as “schema mapping definition”).
特許文献1には、前記スキーママッピング定義を用いて、複数のデータベースを同期化する方法が開示されている。
しかしながら、上記特許文献1記載の技術では、使用する候補となる変換ルールが複数存在する場合に適切に変換できない場合がある。例えば、あるシステムでは、“列車”というデータがあり、別のシステムでは“通常列車”と“快速列車”のように種別ごとにデータをわけて管理している状況で両システム間でデータコピーを行う場合、“列車”データから“通常列車”データへの変換ルールと“列車”データから“快速列車”データへの変換ルールが存在することになる。この場合、第二の方法ではどの変換ルールを使用するか決定できない。使用する変換ルールを決定するために、“列車”データの内容をチェックし、その内容に応じて変換ルールを決定するロジックを別途追加することも考えられる。この場合、実際にロジックを動作させるまでコピー先が決定できない。上記の列車の例では、ロジックの誤りによって“快速列車”であるべきデータを“通常列車”として扱ってしまった場合には、列車の適切な運行管理が出来ないおそれがある。このようにロジックを用いるデータコピーは、データコピー先の保証ができないため、リスク上適用することはできない。また、ロジックが複雑であるほど処理に時間がかかりパフォーマンスが低下してしまう。
However, in the technique described in
本発明の目的は、上記の点を考慮して、データスキーマに対して複数の変換ルールが存在する場合であっても、システム間のデータ整合性を確保するデータ連携が可能となる。 An object of the present invention is to enable data linkage that ensures data consistency between systems even when there are a plurality of conversion rules for a data schema in consideration of the above points.
上記目的を達成するため、本発明は、以下の構成を備える。即ち、複数システム間でデータ形式は異なるが内容が同じデータを重複して保持する場合に、データの整合性確保のためシステム間でデータ形式の変換およびコピーするシステム連携装置において、
各システムで扱うデータ形式が定義されたデータスキーマとデータスキーマに基づく実データの集合から各実データを一意に識別するための識別情報を保持する各システムに対応したデータ定義保持部と、
前記各システムに対応したデータ定義保持部から前記各実データの識別情報およびデータ形式の定義を取得してユーザにシステム間の実データの対応関係と、
対応関係のある実データ間の各データ項目の対応関係を定義させる画面を表示するマッピング定義編集部と、
前記マッピング定義編集部とで定義された実データの対応関係をインスタンスマッピング定義として、各データ項目の対応関係をスキーママッピング定義として保持するマッピング定義保持部と、
を有することを特徴とするデータ連携装置を備える。
In order to achieve the above object, the present invention comprises the following arrangement. That is, in the system linkage apparatus that converts and copies the data format between the systems in order to ensure the consistency of the data when the data format is different between the multiple systems but the same data is held redundantly,
A data definition holding unit corresponding to each system that holds identification information for uniquely identifying each actual data from a set of actual data based on the data schema defined by the data format handled by each system; and
The identification information of each actual data and the definition of the data format are acquired from the data definition holding unit corresponding to each system, and the correspondence relationship of the actual data between systems to the user,
A mapping definition editing unit for displaying a screen for defining the correspondence of each data item between the actual data having the correspondence,
A mapping definition holding unit that holds the correspondence of actual data defined by the mapping definition editing unit as an instance mapping definition, and holds the correspondence of each data item as a schema mapping definition;
A data linkage device is provided.
本発明によれば、データスキーマに対して複数の変換ルールが存在する場合であっても、システム間のデータ整合性を確保するデータ連携が可能となる。 According to the present invention, even if there are a plurality of conversion rules for a data schema, data linkage that ensures data consistency between systems is possible.
以下、本発明の実施の形態を、図面を参照しながら説明する。なお、説明のためシステム連携対象のシステムとしてシステムA、システムBの2つのシステムを例として取りあげる。 Hereinafter, embodiments of the present invention will be described with reference to the drawings. For the sake of explanation, two systems, System A and System B, are taken as examples of systems to be linked with the system.
図2は、本発明のシステム連携に係るハードウェア構成例を示すブロック図である。 FIG. 2 is a block diagram illustrating a hardware configuration example according to the system cooperation of the present invention.
システム連携対象であるシステムA200、システムB210およびシステム連携装置220は、ネットワーク230を介して接続される。
System A 200, system B 210, and
システムA200は、処理装置201、入出力装置202、メモリ203、外部記憶装置204、通信装置207から構成される。
The system A 200 includes a
システムB210は、処理装置211、入出力装置212、メモリ213、外部記憶装置214、通信装置217から構成される。
The
システム連携装置220は、処理装置221、入出力装置222、メモリ223、外部記憶装置225、通信装置224から構成される。
The
システムA200、システムB210およびシステム連携装置は、ハードウェア構成としては同じであるため、以下システムA200についてのみ説明する。
Since the
処理装置201は、外部記憶装置204に保持されるプログラム205およびデータ206をメモリ203上に読み込んで、システムの処理を実行する。後述するシステムA200またはシステムB210における処理動作やフローチャートは、それぞれ処理装置201または202で実行される。
The
入出力装置202は、ユーザからの実行指示および実行に必要なデータの入力受け付けると同時に、実行結果をユーザに表示する。
The input /
メモリ203は、処理装置201が実行するために、プログラムおよびデータを読み込むための主記憶装置である。
The
外部記憶装置204は、実行に必要なプログラム205およびデータ206を保持する補助記憶装置である。
The
通信装置207は、ネットワーク230上にシステムA200のデータ206を出力したり、ネットワーク230上に流れるデータをシステムA200に入力する。
The
特に、システム連携装置220の外部記憶装置225では、システム連携処理に関するプログラム226およびデータ227が保持される。具体的には図1に示す内容が保持される。
In particular, the
図1は、本発明のシステム連携に係るソフトウェア構成例を示すブロック図である。 FIG. 1 is a block diagram showing a software configuration example related to system cooperation of the present invention.
外部記憶装置225は、システム連携処理プログラム100およびシステム連携処理用データ110を記憶している。
The
システム連携処理プログラム100は、マッピング定義編集部101、システムデータ取得部102、インスタンスマッピング処理部103、スキーママッピング処理部104、システムデータ更新部105から構成されるソフトウェアプログラムである。
The system
マッピング定義編集部101は、システムAデータ定義保持部111およびシステムBデータ定義保持部112で保持するデータスキーマ及び識別情報を用いて、ユーザにマッピング定義編集画面を表示し、編集結果をインスタンスマッピング定義114およびスキーママッピング定義115としてマッピング定義保持部113に保持する。
The mapping
システムデータ取得部102は、システムAデータ定義保持部111(またはシステムBデータ定義保持部112)からデータスキーマ及び識別情報取得し、そのデータスキーマ及び識別情報を用いてシステムA(またはシステムB)から実データの集合を取得し、取得した実データの集合をインスタンスマッピング処理部103に送信する。
The system
インスタンスマッピング処理部103は、マッピング定義保持部113に保持されるインスタンスマッピング定義114のうち、システムAとシステムBの対応関係を定義したものを取得する。インスタンスマッピング定義114取得後、同定義を用いて、システムデータ取得部102から送信されたシステムA(またはシステムB)の実データ集合の各実データについて、その実データに対応するシステムB(またはシステムA)の実データを一意に識別し、それら実データのデータスキーマ間の関係から使用するスキーママッピング定義を選択し、スキーママッピング処理部104にスキーママッピング定義情報とシステムA(またはシステムB)の実データの集合を合わせて送信する。
The instance
スキーママッピング処理部104は、インスタンスマッピング処理部103から受信したスキーママッピング定義情報を元に、マッピング定義保持部113から該当するスキーママッピング定義115を取得する。取得後、同定義を用いて、インスタンスマッピング処理部103から受信したシステムA(またはシステムB)の実データに含まれるデータ項目をシステムB(またはシステムA)の実データのデータ項目に変換し、システムB(またはシステムA)の実データの集合をシステムデータ更新部105に送信する。
The schema
システムデータ更新部105は、システムBデータ定義保持部112(またはシステムAデータ定義保持部111)からデータスキーマ及び識別情報取得し、そのデータスキーマ及び識別情報を用いて、スキーママッピング処理104より受信したシステムB(またはシステムA)の実データの集合をシステムB(またはシステムA)のデータ領域に反映する。
The system
システム連携処理用データ110は、システムAデータ定義保持部111、システムBデータ定義保持部112、マッピング定義保持部113を含む。
The system
システムAデータ定義保持部111は、システム連携対象であるシステムAのデータ形式を定義したデータスキーマおよびデータスキーマに基づく実データの集合から各実データを一意に識別可能な識別情報を保持する。
The system A data
システムBデータ定義保持部112は、システム連携対象であるシステムBのデータ形式を定義したデータスキーマおよびデータスキーマに基づく実データの集合から各実データを一意に識別可能な識別情報を保持する。
The system B data
マッピング定義保持部113は、マッピング定義編集部101で作成した複数のインスタンスマッピング定義114およびスキーママッピング定義115を保持する。
The mapping
図3は、本発明のシステム連携処理で用いるインスタンスマッピング定義の例を示した図である。 FIG. 3 is a diagram showing an example of instance mapping definition used in the system linkage processing of the present invention.
開発者は、データスキーマ定義に基づいて生成される実データを用いてインスタンスマッピング定義を定義する。システムAのデータスキーマ定義の例として、スキーマa301、スキーマb302、スキーマc303を考えた場合、それらのデータスキーマ定義に基づいて生成される実データは、それぞれa[0]311、a[1]312、a[2]313、b[0]314、b[1]315、b[2]316、b[3]317、c[0]318、c[1]319のようにデータスキーマ定義毎の配列データの1要素として保持させる。同様にシステムBに対しても、スキーマ341、342に対し、実データ331、332、333、334、335、336、337、338として保持させる。
The developer defines the instance mapping definition using actual data generated based on the data schema definition. As an example of the data schema definition of the system A, when the schema a301, the schema b302, and the schema c303 are considered, the actual data generated based on the data schema definitions are a [0] 311 and a [1] 312 respectively. , A [2] 313, b [0] 314, b [1] 315, b [2] 316, b [3] 317, c [0] 318, c [1] 319 for each data schema definition It is held as one element of array data. Similarly, the system B stores the
この場合、保持される実データの配列内の順番(以下配列番号)が常時固定であれば、その配列番号と配列の元となるデータスキーマ名を用いてシステムAの各実データとシステムBの各実データを一意に対応付けることができる。インスタンスマッピング定義320は、その対応付けを表形式で記述した例である。インスタンスマッピング定義は、実データ間の対応付けが表現できれば表以外の形式でも良い。
In this case, if the order in the array of the actual data to be held (hereinafter referred to as the array number) is always fixed, each actual data of the system A and the system B of the system B using the array schema number and the data schema name that is the basis of the array Each real data can be uniquely associated. The
図3において、表の1行毎にシステムAの実データおよび対応するシステムBの実データを記述し、それを必要な分だけ用意する。図3の2行目321では、システムAのデータで配列番号が1番である実データ312とシステムBのデータで配列番号が2版である実データ333が対応関係にあることを示している。なお、この場合スキーマa301に基づく実データとスキーマd341に基づく実データであるから、その2つのスキーマ定義の間の対応関係を記述したスキーママッピング定義が実データの変換のために必要となる。
In FIG. 3, the actual data of the system A and the corresponding actual data of the system B are described for each row of the table, and as many as necessary are prepared. The
図4は、図3同様インスタンスマッピング定義の例を示した図である。 FIG. 4 is a diagram showing an example of instance mapping definition as in FIG.
図3では、保持される実データの配列番号が常時固定であることを想定したが、図4は、配列番号が常時固定でない場合または実データが配列データのようにまとめられておらず、実データ間に順序関係を持たない場合でも対応可能にした例である。この例では、データスキーマ401、402、403、441、442の1データ項目としてID属性を追加し、実データ毎に一意に識別可能なID値を設定する。このID値を用いてインスタンスマッピング定義を定義する。 In FIG. 3, it is assumed that the array number of the actual data to be held is always fixed. However, in FIG. 4, when the array number is not always fixed or the actual data is not organized like the array data, In this example, even if there is no order relationship between the data, it is possible to cope. In this example, an ID attribute is added as one data item of the data schemas 401, 402, 403, 441, and 442, and an ID value that can be uniquely identified is set for each actual data. An instance mapping definition is defined using this ID value.
図の2行目421では、システムAのデータスキーマa401に基づきID値がkの実データ412とシステムBのデータスキーマd441に基づきID値がuの実データ433が対応関係にあることを示している。
The
図5は、本発明のシステム連携処理で用いるスキーママッピング定義の例を示した図である。図3または図4で示したインスタンスマッピング定義320、420は、実データの対応関係を定義したものであり、その実データが持つデータ項目間の対応関係は定義していない。そこで、スキーママッピング定義は、データ項目間の対応関係を定義する。
FIG. 5 is a diagram showing an example of the schema mapping definition used in the system linkage processing of the present invention. The
スキーママッピング定義は、インスタンスマッピング定義320で定義した実データが持つデータ項目について、データ項目間の対応関係を定義する。ただし、この対応関係を実データ毎に定義すると、実データの数だけその対応関係が必要になり、数が膨大になる。実データの型が同じであれば、内部に持つデータ項目も同じであるため、データ項目間の対応関係を実データの型ごとにまとめて定義する。
The schema mapping definition defines the correspondence between data items for the data items of the actual data defined in the
図5において、システムAのデータスキーマであるスキーマa501、スキーマb505、スキーマc509の各データ項目とシステムBのデータスキーマであるスキーマd531、スキーマe536の各データ項目の間に対応関係がある場合、その対応関係をスキーママッピング定義520のように定義できる。なお、インスタンスマッピング定義同様、データ項目間の対応付けが表現できれば表以外の形式でも良い。図5の2行目521では、システムAのスキーマa501のデータ名a2とシステムBのスキーマd531のデータ名d2に対応関係があることを示している。
In FIG. 5, when there is a correspondence between the data items of the schema A501, schema b505, and schema c509 that are the data schema of the system A and the data items of the schema d531 and the schema e536 that are the data schema of the system B, Correspondence can be defined as a
図6は、図4で示したインスタンスマッピング定義420を拡張したものである。このインスタンスマッピング定義600では、図4のインスタンスマッピング定義420に対し、変換タイミング項目601を追加する。変換タイミング項目601には、対応関係毎に変換を行うタイミングを指定することができる。例えば、ユーザプログラムの処理などでデータが更新された直後に変換を行うことを意味する“データ更新直後”のようにデータ更新等のイベントをタイミングとして指定することや、2秒または4秒間隔で変換を行うことを意味する“2秒毎”、“4秒毎”のように周期的な時間をタイミングとして指定することが可能である。この拡張は図4のインスタンスマッピング定義420だけでなく、図3のインスタンスマッピング定義320に対しても可能である。
FIG. 6 is an extension of the
図7は、図4で示したインスタンスマッピング定義420を拡張したものである。このインスタンスマッピング定義700では、図4のインスタンスマッピング定義420に対し、変換対象データ項目701を追加する。変換対象データ項目701には、対応関係毎に変換対象とするデータ項目を指定することができる。例えば、実データが持つ全データ項目を変換対象することを意味する“全データ”を指定することや、ユーザプログラムの処理などで更新があったデータ項目のみを変換対象とすることを意味する“差分データ”のように特定のデータ項目を対象とするような指定をすることが可能である。この拡張は図4のインスタンスマッピング定義420だけでなく、図3または図6のインスタンスマッピング定義320、600に対しても可能である。 図8は、図6で示した変換タイミング項目601と図7で示した変換対象データ項目701をともに図4に示すインスタンスマッピング定義420に追加したものである。図6および図7同様に図3のインスタンスマッピング定義に対しても追加可能である。 図9は、図3または図4に示すインスタンスマッピング定義320、420を用いる際の本発明のシステム連携処理の流れを示すフローチャートである。図9では、システムAからシステムBに対してデータ変換およびコピーを行う流れを例として説明する。
FIG. 7 is an extension of the
まず、本システム連携処理を開始し(900)、システムAからデータを取得する(901)。データ取得後、システムAのデータに関する対応関係情報が定義されたインスタンスマッピング定義を読み込む(902)。システムAから取得したデータの1つを抽出し(903)、最後までデータを抽出したかどうかを判断する(904)。データが抽出できた場合、読み込んだインスタンスマッピング定義のうち、抽出したデータが定義されている行を読み込む。 First, the system linkage processing is started (900), and data is acquired from the system A (901). After the data acquisition, the instance mapping definition in which the correspondence information regarding the data of the system A is defined is read (902). One of the data acquired from the system A is extracted (903), and it is determined whether the data has been extracted to the end (904). If the data can be extracted, read the row in which the extracted data is defined in the read instance mapping definition.
そして、抽出済みのシステムAのデータのスキーマと、読み込んだ行内で定義されるシステムBのデータのスキーマの関係が定義されているスキーママッピング定義を全スキーママッピング定義の中から検索し,該当するものを使用するスキーママッピング定義として決定する(905)。 Then, the schema mapping definition in which the relation between the schema of the extracted system A data and the schema of the system B data defined in the read row is defined is searched from all the schema mapping definitions, and the corresponding ones. Is determined as a schema mapping definition using 905 (905).
その後、上記で決定されたスキーママッピング定義を読み込む(906)。 Thereafter, the schema mapping definition determined above is read (906).
読み込んだスキーママッピング定義の情報を元に抽出済みのシステムAの実データに含まれる各データ項目を,システムBの実データに含まれるデータ項目にコピー(変換)する(907)。 Each data item included in the actual data of the system A that has been extracted based on the read schema mapping definition information is copied (converted) to the data item included in the actual data of the system B (907).
その後903に戻る。最終データの処理が終了したら、変換後のデータを一括してシステムBのデータに反映し(908)、その後終了する(909)。なお、上記のように変換後のデータを最後にまとめて一括で反映する以外に、1データ変換のたびにシステムBのデータに反映することも可能である。 Thereafter, the process returns to 903. When the processing of the final data is completed, the converted data is reflected on the data of the system B all at once (908), and then the process is completed (909). As described above, the converted data can be reflected to the data of the system B every time one data conversion is performed, in addition to collectively reflecting the converted data at the end.
図10は、図6に示すインスタンスマッピング定義600を用いる際の本発明のシステム連携処理の流れを示すフローチャートである。基本的なフローは図9と同じであるが、使用するスキーママッピング定義を決定(1005)後に、インスタンスマッピング定義600の変換タイミング項目601情報を用いるデータ変換を行うかどうかのタイミングのチェックの処理(1006)を追加している。これにより、データ毎に変換のタイミングを調整することができる。例えば、データ更新の時間間隔が短いデータについては、頻繁に整合性を確保できるように、データ変換のタイミングを短い時間に設定し、時間間隔が長いデータについては、データ変換のタイミングを長い時間に設定することで、全データ同じタイミングで変換するのではなく、データ毎に更新頻度に応じたデータ変換タイミングを変えることができる。 図11は、図7に示すインスタンスマッピング定義700を用いる際の本発明のシステム連携処理の流れを示すフローチャートである。基本的なフローは図9と同じであるが、インスタンスマッピング定義700の変換対象データ項目701情報を用いて、使用するスキーママッピング定義を決定(1105)後に、変換対象データ項目701の値が“差分データ”かどうかをチェックし(1106)、“差分データ”である場合にはシステムAのデータのうち更新有のデータを抽出する(1107)処理を追加している。これにより、データ毎に変換対象とするデータ項目を調整できる。例えば、更新がないデータ項目を多く持つデータについては、更新があったデータ項目のみ変換できるように、変換対象データ項目を“差分データ”と設定し、更新がないデータ項目をあまり持たないデータについては、更新があったかどうかをチェックせず全データを変換できるように変換対象データ項目を“全データ”と設定することで、不必要な変換を減らすことができる。
FIG. 10 is a flowchart showing the flow of the system linkage process of the present invention when using the
図12は、図8に示すインスタンスマッピング定義800を用いる際の本発明のシステム連携処理の流れを示すフローチャートである。図10および図11において追加した処理をそれぞれ追加したフローとなっている。インスタンスマッピング定義800では、変換タイミング801と変換対象データ項目802を同時に指定することができる。例えば更新有の差分データを更新頻度に応じたタイミングで変換するように変換対象データ項目802と変換タイミング801を指定することができるため、データ変換を無駄なく最小限な抑えることができるようになる。これにより、応答速度向上やメモリ使用量の削減に繋がるため、リアルタイム処理が必要で応答速度やメモリ使用量の制約が厳しいシステムに対しても有効である。
FIG. 12 is a flowchart showing the flow of the system cooperation process of the present invention when the
図13は,1つのデータ項目に対し,変換元のデータ項目または変換先のデータ項目が複数対応する場合のスキーママッピング定義の例を示したものである。 FIG. 13 shows an example of a schema mapping definition when a plurality of conversion source data items or conversion destination data items correspond to one data item.
図13は、図5で示したスキーママッピング定義520を拡張したスキーママッピング定義の例1300を示した図である。変換元データのデータ項目1つに対し、変換先データのデータ項目が複数対応する場合に前記スキーママッピング定義1300を用いる。図13では、データ項目間のマッピングを定義する部分1301内で、変換元データのデータ項目1302に対し、複数の変換先データのデータ項目1303、1304、1305が対応することを定義している。そして対応関係毎に、変換元データのデータ項目1302の中で、変換先データのデータ項目1303または1304または1305が現れる位置を開始位置1306として、変換先データのデータ項目のサイズをサイズ1307として指定する。この定義により、1つの変換元データのデータ項目に対して複数の変換先データのデータ項目が対応する場合の対応関係および複数の変換元データのデータ項目に対して1つの変換先データのデータ項目が対応する場合の対応関係を定義可能になる。
FIG. 13 is a diagram showing an example 1300 of a schema mapping definition obtained by extending the
図14は、図13に示すスキーママッピング定義1300を用いて,変換元のデータ項目1つを複数の変換先データ項目に変換する流れを示すフローチャートであり、図9に示す本発明全体のフローチャートのスキーマ変換907部分の詳細を示したものである。図14では、変換元データのデータ項目1つを1つ以上の変換先データのデータ項目に変換する流れを示している。スキーマ変換開始後(1401)、変換元データに含まれるデータ項目を1つ抽出する(1402)。この際、データ項目が存在しないか、またはすべてのデータ項目を抽出済みかどうか判断し(1403)、データ項目が存在しないか、または、すべてのデータ項目を抽出済みの場合は処理を終了する。データが抽出できた場合、スキーママッピング定義を参照し、抽出したデータ項目に対応する変換先データ項目が1つ以上あるかどうか判断する(1404)。抽出したデータ項目に対応する変換先データ項目が存在しない場合、1402に戻る。抽出したデータ項目に対応する変換先データのデータ項目が1つ以上ある場合には、前記図13で示したスキーママッピング定義で定義された開始位置1306およびサイズ1307を参照し、変換元データのデータ項目の指定された開始位置から指定されたサイズ分のデータを取得し(1405)、変換先データのデータ項目にコピーする(1406)。そして再び1404に戻り、変換先データ項目数分繰り返す。これにより変換元データの1つのデータ項目を変換先データの複数のデータ項目に変換可能になる。
FIG. 14 is a flowchart showing a flow of converting one conversion source data item into a plurality of conversion destination data items using the
図15は,図13に示すスキーママッピング定義1300を用いて,変換元の複数のデータ項目を1つの変換先データ項目に変換する流れを示すフローチャートであり、図9に示す本発明全体のフローチャートのスキーマ変換部分907の詳細を示したものである。図15では、1つ以上の変換元データ項目を1つの変換先データのデータ項目に変換する流れを示している。スキーマ変換開始後(1501)、変換元データに含まれるデータ項目のうち、スキーママッピング定義1300を参照し、変換先データのデータ項目が同じであるものが1つ以上あるかどうか判断する(1502)。変換先データのデータ項目が同じである変換元データ項目が存在しない場合は終了する(1506)。変換先データのデータ項目が同じであるものが1つ以上ある場合、それらすべてを抽出する(1503)。この際、データ項目が存在しないか、または、すべてのデータ項目を抽出済みかどうか判断し(1504)、データ項目が存在しないか、または、すべてのデータ項目を抽出済みの場合、終了する(1506)。1つ以上のデータ項目を抽出した場合、前記図13で示したスキーママッピング定義で定義された開始位置1306およびサイズ1307を参照し、変換元データのデータ項目毎に、それぞれ指定された開始位置から指定されたサイズ分のデータを取得し、1つのデータ項目として結合し,変換先データ項目にコピー(変換)する(1505)。その後1502に戻り、変換元データ項目をすべて抽出するまで繰り返す。これにより,変換元データの複数のデータ項目を変換先データの1つのデータ項目に変換可能になる。
FIG. 15 is a flowchart showing a flow of converting a plurality of conversion source data items into one conversion destination data item using the
図16は,変換元データまたは変換先データに含まれるデータ項目のうち,その内部に複数のデータ項目をもつ階層型データを変換する場合のスキーママッピング定義の例を示したものである。 FIG. 16 shows an example of the schema mapping definition when converting hierarchical data having a plurality of data items therein among the data items included in the conversion source data or the conversion destination data.
図16は、図5で示したスキーママッピング定義520を拡張したスキーママッピング定義の例を示した図である。このスキーママッピング定義は、変換元データまたは変換先データに含まれるデータ項目として、その内部に複数のデータ項目を持つ階層型データを指定する場合に用いる。まず、スキーママッピング定義1600にて、1601の対応関係定義に示すように階層型データ1602、1603をデータ型部分に記述する。ここでデータ型に階層型データを指定した場合、同レコード内のサブスキーママッピングID部分に、1602、1603で指定した階層型データ同士の対応関係が定義されたサブスキーママッピング定義のID1605を指定する。サブスキーママッピング定義でも、スキーママッピング定義同様データ項目間の対応関係を定義するが、1604の1つの対応関係定義に示すようにスキーマ部分には1602、1603で指定した階層型データのデータ型を指定する。サブスキーママッピング定義の対応関係で定義するデータ項目のデータ型がさらに階層型データである場合には、再度データ型に階層型データ1606、1607を指定し、それら階層型データ間の対応関係を定義するサブスキーママッピングIDを指定する。
FIG. 16 is a diagram illustrating an example of a schema mapping definition obtained by extending the
図17は、図16に示すスキーママッピング定義1600を用いて,変換元のデータに含まれる階層型データ項目を変換先のデータに含まれる階層型データ項目に変換する流れを示すフローチャートであり,図9に示す本発明全体のフローチャートのうち、図9に示すフローチャートのスキーマ変換部分907の詳細を示したものである。図17では、変換元データまたは変換先データに含まれるデータ項目として階層型データがある場合のスキーママッピングの流れを示したものである。スキーマ変換開始後(1701)、変換元データに含まれるデータ項目を1つ抽出する(1702)。この際、データ項目が存在しないか、または、すべてのデータ項目を抽出済みかどうか判断し(1703)、データ項目が存在しないか、または、すべてのデータ項目を抽出済みであれば処理を終了する。データが抽出できた場合、スキーママッピング定義を参照し、抽出したデータ項目のデータが階層型であるかどうか判断する(1704)。階層型データでない場合、変換先データ項目にデータをコピーして(1707)、終了する(1708)。階層型データである場合、スキーママッピング定義内のサブスキーママッピングIDを参照し、使用するサブスキーママッピング定義を決定する(1705)。
その後、階層型データの階層の数だけスキーマの変換を再帰的に呼び出し(1707)、各階層でデータ項目のコピーを行う。
これにより,データ項目が階層型データである場合にもデータ項目の変換が可能になる。
FIG. 17 is a flowchart showing a flow of converting a hierarchical data item included in conversion source data into a hierarchical data item included in conversion destination data using the
Thereafter, schema conversion is recursively called for the number of layers of hierarchical data (1707), and data items are copied at each layer.
Thereby, even when the data item is hierarchical data, the data item can be converted.
以上のように、本発明の実施形態によれば、各システムで用いるデータスキーマ間の対応関係の定義でありかつシステム間データコピーの際の変換ルールであるスキーママッピング定義に加えて、データスキーマに基づく実データ間の対応関係を定義したインスタンスマッピング定義を用いてデータ変換を行うことで、1つのデータスキーマに対して複数変換ルールが存在する場合であっても、システム動作前に実データ毎に使用する変換ルールを決定し、コピー先データを保証することができる。これにより、データコピーに関してシステム動作時の予期せぬ障害を回避することができる。 As described above, according to the embodiment of the present invention, in addition to the schema mapping definition that is a definition of the correspondence between data schemas used in each system and is a conversion rule when copying data between systems, the data schema By performing data conversion using the instance mapping definition that defines the correspondence between actual data based on each data, even if there are multiple conversion rules for one data schema, before each system operation The conversion rule to be used can be determined and the copy destination data can be guaranteed. As a result, it is possible to avoid an unexpected failure during system operation regarding data copying.
さらに,データ項目間の対応関係が1対1でなく,1対多または多対1である場合や,データ項目として内部に複数のデータ項目を持つ階層型データがある場合等複雑なデータの変換を行うことも可能となる。 Furthermore, complex data conversion such as when the correspondence between data items is not one-to-one, but one-to-many or many-to-one, or there is hierarchical data that has multiple data items as data items Can also be performed.
また,段階的なシステム更改をする場合には、現行システムと新システムとを共存させる必要があるが、両システム間で使用するデータの形式や粒度が異なる場合であっても本発明により事前に正確なデータコピーを保証できるため、現行システムのデータ形式や粒度に依存することなく自由に新システムを設計し開発することができるようになる。これにより、最新で効果的なシステム設計手法の採用が容易になるとともに、機能を新旧どちら側のシステムで実現しても同じ結果が得られるため段階的な移行を促進することができる。 In addition, when the system is upgraded in stages, the current system and the new system must coexist. Even if the format and granularity of the data used between the two systems are different, the present invention can Since accurate data copy can be guaranteed, a new system can be freely designed and developed without depending on the data format and granularity of the current system. This facilitates the adoption of the latest and most effective system design technique, and the same result can be obtained regardless of whether the function is implemented on the old or new system, thereby facilitating a stepwise transition.
100 システム連携処理プログラム
101 マッピング定義編集部
102 システムデータ取得部
103 インスタンスマッピング処理部
104 スキーママッピング処理部
105 システムデータ更新部
110 システム連携処理用データ
111 システムAデータ定義保持部
112 システムBデータ定義保持部
113 マッピングデータ保持部
DESCRIPTION OF
Claims (9)
各システムで扱うデータ形式が定義されたデータスキーマとデータスキーマに基づく実データの集合から各実データを一意に識別するための識別情報を保持する各システムに対応したデータ定義保持部と、前記各システムに対応したデータ定義保持部から前記各実データの識別情報およびデータ形式の定義を取得してユーザにシステム間の実データの対応関係と、対応関係のある実データ間の各データ項目の対応関係を定義させる画面を表示するマッピング定義編集部と、
前記マッピング定義編集部とで定義された実データの対応関係をインスタンスマッピング定義として、各データ項目の対応関係をスキーママッピング定義として保持するマッピング定義保持部と、
を有することを特徴とするデータ連携装置。 In the data linkage device that converts and copies the data format between systems in order to ensure data consistency when holding the same data with different data formats between multiple systems,
A data definition holding unit corresponding to each system that holds identification information for uniquely identifying each actual data from a set of actual data based on the data schema defined by the data format handled by each system, and each of the above The identification information and data format definition of each actual data is obtained from the data definition holding unit corresponding to the system, and the correspondence of the actual data between the systems and the correspondence of each data item between the corresponding actual data are obtained to the user. A mapping definition editor that displays a screen for defining relationships;
A mapping definition holding unit that holds the correspondence of actual data defined by the mapping definition editing unit as an instance mapping definition, and holds the correspondence of each data item as a schema mapping definition;
A data linkage apparatus comprising:
前記システムデータ取得部でひとつのシステムから取得した実データを前記インスタンスマッピング定義を用い、他のシステムの実データを一意に識別し、それら実データのデータスキーマ間の関係から前記マッピング定義保持部に保持されているスキーママッピング定義を選択するインスタンスマッピング処理部と、
前記インスタンスマッピング処理部から前記選択されたスキーママッピング定義情報とそれらの実データを合わせて受信し、前記スキーママッピング定義情報を元に前記マッピング定義保持部から該当するスキーママッピング定義を取得するとともに、同定義を用いて、受信した前記ひとつのシステムの実データに含まれるデータ項目を前記他のシステムの実データのデータ項目に変換するスキーママッピング処理部と、
前記スキーママッピング処理部からの変換後実データの集合を受信し、前記データ定義保持部に保持されるデータスキーマ及び識別情報を用いて対象システムに対して受信した実データの集合を送信するシステムデータ更新部と、
を有することを特徴とするデータ連携装置。 A system data acquisition unit that acquires a set of actual data from the target system using the data schema and identification information held in the data definition holding unit;
The actual data acquired from one system by the system data acquisition unit uses the instance mapping definition to uniquely identify the actual data of other systems, and the relationship between the data schemas of the actual data is stored in the mapping definition holding unit. An instance mapping processing part for selecting the stored schema mapping definition;
The selected schema mapping definition information and their actual data are received together from the instance mapping processing unit, and the corresponding schema mapping definition is acquired from the mapping definition holding unit based on the schema mapping definition information. Using a definition, a schema mapping processing unit for converting a data item included in the received actual data of the one system into a data item of the actual data of the other system;
System data for receiving a set of converted real data from the schema mapping processing unit and transmitting the received set of real data to the target system using the data schema and identification information held in the data definition holding unit Update section,
A data linkage apparatus comprising:
前記実データの集合が、配列データである場合に、前記配列データの配列番号と前記データスキーマのスキーマ名称を前記識別情報として用いることを特徴とする請求項1に記載するデータ連携装置。 In the data definition holding unit,
The data linkage apparatus according to claim 1, wherein when the set of actual data is array data, an array number of the array data and a schema name of the data schema are used as the identification information.
前記データスキーマにデータ項目としてID属性を追加し、前記データスキーマに基づく実データのID属性に対し、あらかじめ実データを一意に識別可能なID値を設定しておき、前記ID値を前記識別情報として用いることを特徴とする請求項1に記載するデータ連携装置。 In the data definition holding unit,
An ID attribute is added as a data item to the data schema, an ID value capable of uniquely identifying the actual data is set in advance for the ID attribute of the actual data based on the data schema, and the ID value is set as the identification information. The data linkage apparatus according to claim 1, wherein the data linkage apparatus is used as a data linkage apparatus.
前記インスタンスマッピング処理において決定した前記データ形式の変換タイミングを用いて、実データの対応関係毎にタイミングを変えて前記スキーママッピング処理を行うことを特徴とする請求項2に記載するデータ連携装置。 In the data linkage apparatus, an item for specifying the conversion timing of the data format is added to the instance mapping definition, and in the instance mapping process, a process of determining the conversion timing of the data format is added,
The data linkage apparatus according to claim 2, wherein the schema mapping process is performed by changing the timing for each correspondence relationship of actual data using the conversion timing of the data format determined in the instance mapping process.
前記インスタンスマッピング処理において決定した前記データ形式の変換対象データ項目を用いて、実データの対応関係毎に全データ項目を対象または更新有の差分データ項目のみ対象として前記スキーママッピング処理行うことを特徴とする請求項2または請求項5に記載するデータ連携装置。 In the data linkage apparatus, an item for specifying a data format conversion target data item is added to the instance mapping definition, and in the instance mapping process, a process for determining the data format conversion target data item is added,
Using the conversion target data item in the data format determined in the instance mapping process, the schema mapping process is performed for all data items for each correspondence of actual data or only for differential data items with updates. The data linkage device according to claim 2 or 5.
変換元データのデータ項目に対して、変換先データのデータ項目が複数対応する場合、
前記データ定義保持部は、
前記スキーママッピング定義において、前記変換元データのデータ項目と、対応する前記変換先データの開始位置および大きさとを対応付けて記憶し、
前記スキーママッピング処理部は、
前記変換元データの各データ項目について、前記開始位置から前記大きさで指定された量のデータを取得し、前記スキーママッピング定義における前記変換先の対応するデータ項目にコピーすること
を特徴とするデータ連携装置。 In the data cooperation device according to claim 1,
When multiple data items of conversion destination data correspond to data items of conversion source data,
The data definition holding unit
In the schema mapping definition, the data item of the conversion source data is stored in association with the start position and size of the corresponding conversion destination data,
The schema mapping processing unit
For each data item of the conversion source data, data of the amount specified by the size from the start position is acquired and copied to the corresponding data item of the conversion destination in the schema mapping definition Cooperation device.
変換先データのデータ項目に対して、変換元データのデータ項目が複数対応する場合、
前記スキーママッピング処理部は、前記複数の変換元データのデータ項目を結合して、前記スキーママッピング定義における前記変換先の対応するデータ項目にコピーすること
を特徴とするデータ連携装置。 In the data cooperation device according to claim 7,
When multiple data items of conversion source data correspond to data items of conversion destination data,
The data mapping apparatus, wherein the schema mapping processing unit combines the data items of the plurality of conversion source data and copies the data items to the corresponding data items of the conversion destination in the schema mapping definition.
変換元データおよび変換先データに含まれるデータ項目が、さらに複数のデータ項目をもつ階層型データ項目である場合、
前記階層型データ項目に関するスキーママッピングをサブスキーママッピングとして定義し、前記サブスキーママッピングに一意なIDを付与し、
前記データ定義保持部において、
前記スキーママッピング定義に、スキーママッピングを一意に識別するIDを指定する項目と、変換元データおよび変換先データに含まれるデータ項目のデータ型を指定する項目と、前記サブスキーママッピングのIDを指定する項目を追加し、
前記スキーママッピング処理部において、
前記階層型データ項目のデータの変換時に、前記サブスキーママッピングのIDを指定して再帰的にスキーママッピング処理を実行する
ことを特徴とするデータ連携装置。 In the data cooperation device according to claim 1,
If the data items included in the conversion source data and conversion destination data are hierarchical data items that have more than one data item,
Define a schema mapping for the hierarchical data item as a subschema mapping, assign a unique ID to the subschema mapping,
In the data definition holding unit,
In the schema mapping definition, an item for specifying an ID for uniquely identifying the schema mapping, an item for specifying a data type of a data item included in conversion source data and conversion destination data, and an ID for the sub schema mapping are specified. Add items,
In the schema mapping processing unit,
A data linkage apparatus that recursively executes a schema mapping process by designating an ID of the subschema mapping at the time of conversion of data of the hierarchical data item.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010267975A JP2011248852A (en) | 2010-04-27 | 2010-12-01 | System cooperation apparatus |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010101604 | 2010-04-27 | ||
JP2010101604 | 2010-04-27 | ||
JP2010267975A JP2011248852A (en) | 2010-04-27 | 2010-12-01 | System cooperation apparatus |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2011248852A true JP2011248852A (en) | 2011-12-08 |
Family
ID=45413986
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010267975A Pending JP2011248852A (en) | 2010-04-27 | 2010-12-01 | System cooperation apparatus |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2011248852A (en) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013124985A1 (en) * | 2012-02-22 | 2013-08-29 | 三菱電機株式会社 | Data linkage device, method for changing data linkage, and program for changing data linkage |
WO2013141308A1 (en) * | 2012-03-22 | 2013-09-26 | 日本電気株式会社 | Distributed storage system, storage control method and program |
JP2014044532A (en) * | 2012-08-24 | 2014-03-13 | Nippon Telegr & Teleph Corp <Ntt> | Distributed information synchronization system and distributed information synchronization method |
CN107391607A (en) * | 2017-06-30 | 2017-11-24 | 天脉聚源(北京)传媒科技有限公司 | A kind of method and device for cooperateing with change associated data item |
JPWO2021205651A1 (en) * | 2020-04-10 | 2021-10-14 |
-
2010
- 2010-12-01 JP JP2010267975A patent/JP2011248852A/en active Pending
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013124985A1 (en) * | 2012-02-22 | 2013-08-29 | 三菱電機株式会社 | Data linkage device, method for changing data linkage, and program for changing data linkage |
WO2013141308A1 (en) * | 2012-03-22 | 2013-09-26 | 日本電気株式会社 | Distributed storage system, storage control method and program |
JPWO2013141308A1 (en) * | 2012-03-22 | 2015-08-03 | 日本電気株式会社 | Distributed storage system, storage control method and program |
JP2014044532A (en) * | 2012-08-24 | 2014-03-13 | Nippon Telegr & Teleph Corp <Ntt> | Distributed information synchronization system and distributed information synchronization method |
CN107391607A (en) * | 2017-06-30 | 2017-11-24 | 天脉聚源(北京)传媒科技有限公司 | A kind of method and device for cooperateing with change associated data item |
CN107391607B (en) * | 2017-06-30 | 2023-06-23 | 北京拉近众博科技有限公司 | Method and device for cooperatively changing associated data items |
JPWO2021205651A1 (en) * | 2020-04-10 | 2021-10-14 | ||
WO2021205651A1 (en) * | 2020-04-10 | 2021-10-14 | 日本電信電話株式会社 | Information processing system, information processing method, data processing device, and program |
JP7440796B2 (en) | 2020-04-10 | 2024-02-29 | 日本電信電話株式会社 | Information processing system, information processing method, data processing device, and program |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4907610B2 (en) | Software configuration management method and system | |
JP4412674B2 (en) | Apparatus and method for supporting model-driven development | |
CN102664746B (en) | For the configuration management sound and consistent in the overall situation of each component of distributive data center | |
US8005788B2 (en) | System and method for legacy system component incremental migration | |
CN110147369A (en) | Data separating and write-in in multiple lease database system redirect | |
CN109947767A (en) | System in multiple lease database system shares type | |
CN110019215A (en) | Key schema management in multiple lease database system | |
JP4354314B2 (en) | Server difference management system and information processing apparatus control method | |
US11853794B2 (en) | Pipeline task verification for a data processing platform | |
JP2011248852A (en) | System cooperation apparatus | |
CN108427383B (en) | Engineering device, engineering method, and storage medium | |
CN115220697A (en) | API development management method, device, vehicle and storage medium | |
CN113918627A (en) | Data conversion method, device and readable storage medium | |
WO2018021437A1 (en) | Operation management apparatus, operation management method, and operation management system | |
JP2003030016A (en) | Method and system for converting data, and processing program therefor | |
CN110321138A (en) | A kind of program updates, moving method and device | |
JP2019101829A (en) | Software component management system, computor, and method | |
JP4738145B2 (en) | Engineering database system and its handling method | |
JP2010128776A (en) | Apparatus and method for automatic maintenance of portable terminal | |
US7076506B2 (en) | Apparatus for managing electronic data, program code and the recording medium thereof, and system for managing electronic data | |
US20060221964A1 (en) | Data relay method and data relay apparatus | |
JP2008027340A (en) | Web service design method and device | |
JP5316273B2 (en) | Program automatic generation apparatus and program automatic generation method | |
JP7406012B2 (en) | Design product management system and design product management method | |
JP2005316778A (en) | Plant monitoring controller |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20120521 |