WO2012090281A1 - Data processing device - Google Patents

Data processing device Download PDF

Info

Publication number
WO2012090281A1
WO2012090281A1 PCT/JP2010/073608 JP2010073608W WO2012090281A1 WO 2012090281 A1 WO2012090281 A1 WO 2012090281A1 JP 2010073608 W JP2010073608 W JP 2010073608W WO 2012090281 A1 WO2012090281 A1 WO 2012090281A1
Authority
WO
WIPO (PCT)
Prior art keywords
update
data
unit
buffer
linkage
Prior art date
Application number
PCT/JP2010/073608
Other languages
French (fr)
Japanese (ja)
Inventor
仁志 楓
Original Assignee
三菱電機株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 三菱電機株式会社 filed Critical 三菱電機株式会社
Priority to PCT/JP2010/073608 priority Critical patent/WO2012090281A1/en
Priority to JP2012550608A priority patent/JPWO2012090281A1/en
Publication of WO2012090281A1 publication Critical patent/WO2012090281A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems

Abstract

A cooperation memory management unit (18) generates an individual data storage unit (21) for writing an updated record from a CDC (22), and an individual data storage unit (21) for writing update-reflected data generated by a conversion unit (12) from the updated record. The conversion unit (12) reads the updated record from the individual data storage unit (21) asynchronously with a receiving unit (11), generates update-reflected data, and writes the update-reflected data to the individual data storage unit (21). A CDW processing unit (13) reads the update-reflected data from the individual data storage unit (21) asynchronously with the receiving unit (11) and the conversion unit (12) and updates a cooperation destination table.

Description

データ処理装置Data processing device
 本発明は、複数のデータベースのテーブル間でデータを転送するデータベース連携技術に関する。 The present invention relates to a database linkage technique for transferring data between a plurality of database tables.
 例えば、特許文献1では、テーブルを構成するカラムの数、型、サイズが同一である連携元データベースと連携先データベースとの間におけるデータベースレプリケーションが開示されている。 For example, Patent Document 1 discloses database replication between a cooperation source database and a cooperation destination database having the same number, type, and size of columns constituting a table.
特開平11-327988号公報Japanese Patent Laid-Open No. 11-327988
 特許文献1が対象とするデータベースレプリケーションは、同一仕様のデータベース間のデータ転送であるため、テーブルを構成するカラムの数、型、サイズが異なる連携元データベースと連携先データベースとの間のデータ連携はできないという課題がある。
 複数の連携元データベースと複数の連携先データベース間のデータ転送を対象とする場合、データベースごとにテーブルを構成するカラムの数、型、サイズが異なり、更に、トランザクションの発生頻度と各トランザクション内で更新されるレコード数がデータベースごとに異なる。
Since database replication targeted by Patent Document 1 is data transfer between databases of the same specification, data linkage between a linkage source database and a linkage destination database having different numbers, types, and sizes of columns constituting a table is performed. There is a problem that it cannot be done.
When transferring data between multiple linkage source databases and multiple linkage destination databases, the number, type, and size of the columns that make up the table differ for each database, and the frequency of transactions and the update within each transaction. The number of records to be played varies from database to database.
 本発明は、このような点に鑑みたものであり、複数の連携元データベースと複数の連携先データベースとの間のデータベース連携を効率的に行うことを主な目的とする。 The present invention has been made in view of these points, and has as its main object to efficiently perform database linkage between a plurality of linkage source databases and a plurality of linkage destination databases.
 本発明に係るデータ処理装置は、
 連携元テーブルにおける更新を連携先テーブルに反映させるデータ処理装置であって、
 前記連携元テーブルにおいて更新された更新済レコードを受信する更新済レコード受信部と、
 前記連携先テーブルをレコード単位で更新する連携先テーブル更新部と、
 前記更新済レコードを用いて、前記連携元テーブルにおける更新を反映するデータであって、前記連携先テーブルのレコードの少なくとも一部になるデータを更新反映データとして生成する更新反映データ生成部と、
 前記更新済レコード受信部から前記更新反映データ生成部に更新済レコードを受け渡すための更新済レコードバッファを生成する更新済レコードバッファ生成部と、
 前記更新反映データ生成部から前記連携先テーブル更新部に更新反映データを受け渡すための更新反映データバッファを生成する更新反映データバッファ生成部とを有し、
 前記更新済レコード受信部は、
 受信した更新済レコードを前記更新済レコードバッファに書き込み、
 前記更新反映データ生成部は、
 前記更新済レコード受信部による更新済レコードの受信とは非同期に、前記更新済レコードバッファに格納されている更新済レコードを読み出し、読み出した更新済レコードを用いて更新反映データを生成し、生成した更新反映データを前記更新反映データバッファに書き込み、
 前記連携先テーブル更新部は、
 前記更新済レコード受信部による更新済レコードの受信及び前記更新反映データ生成部による更新反映データの生成とは非同期に、前記更新反映データバッファに格納されている更新反映データを読み出し、読み出した更新反映データを用いて連携先テーブルの更新を行うことを特徴とする。
The data processing apparatus according to the present invention
A data processing apparatus that reflects the update in the linkage source table in the linkage destination table,
An updated record receiving unit for receiving an updated record updated in the cooperation source table;
A linkage destination table update unit for updating the linkage destination table in units of records;
Using the updated record, data that reflects the update in the cooperation source table, and an update reflection data generation unit that generates, as update reflection data, data that is at least part of the record in the cooperation destination table;
An updated record buffer generating unit for generating an updated record buffer for delivering an updated record from the updated record receiving unit to the update reflected data generating unit;
An update reflection data buffer generation unit that generates an update reflection data buffer for delivering update reflection data from the update reflection data generation unit to the cooperation destination table update unit;
The updated record receiver is
Write the received updated record to the updated record buffer,
The update reflected data generation unit
Asynchronously with the reception of the updated record by the updated record receiving unit, the updated record stored in the updated record buffer is read, and the update reflected data is generated using the read updated record. Write the update reflection data to the update reflection data buffer,
The cooperation destination table update unit
The update reflected data stored in the update reflected data buffer is read asynchronously with the reception of the updated record by the updated record receiving unit and the generation of the update reflected data by the update reflected data generating unit, and the read update reflected It is characterized in that the cooperation destination table is updated using data.
 本発明によれば、更新済レコードを書き込むための更新済レコードバッファと、更新反映データを書き込むための更新反映データバッファを生成し、更新反映データ生成部が、更新済レコード受信部とは非同期に更新済レコードの読み出し、更新反映データの生成、更新反映データの書き込みを行い、連携先テーブル更新部が、更新済レコード受信部及び更新反映データ生成部とは非同期に更新反映データの読み出し、連携先テーブルの更新を行うため、複数の連携元データベースと複数の連携先データベースとの間のデータベース連携において、効率的なパイプライン処理が可能になる。 According to the present invention, an updated record buffer for writing updated records and an update reflected data buffer for writing updated reflected data are generated, and the updated reflected data generating unit is asynchronous with the updated record receiving unit. Reads updated records, generates update reflected data, writes update reflected data, and the linkage destination table update unit reads the update reflected data asynchronously with the updated record reception unit and the update reflected data generation unit. Since the table is updated, efficient pipeline processing is possible in database linkage between a plurality of linkage source databases and a plurality of linkage destination databases.
実施の形態1~4に係るデータベース連携システムの構成例を示す図。1 is a diagram showing a configuration example of a database cooperation system according to Embodiments 1 to 4. FIG. 実施の形態1に係るデータベース連携装置の構成例を示す図。FIG. 3 is a diagram illustrating a configuration example of a database cooperation device according to the first embodiment. 実施の形態1に係る連携テーブル情報の例を示す図。FIG. 6 is a diagram illustrating an example of cooperation table information according to the first embodiment. 実施の形態1に係る連携管理情報の例を示す図。FIG. 4 is a diagram illustrating an example of cooperation management information according to the first embodiment. 実施の形態1に係る連携接続情報の例を示す図。FIG. 6 is a diagram illustrating an example of cooperative connection information according to the first embodiment. 実施の形態1に係る更新データ到着ログの例を示す図。The figure which shows the example of the update data arrival log which concerns on Embodiment 1. FIG. 実施の形態1に係るデータ処理制御部におけるデータ構成例を示す図。FIG. 3 is a diagram illustrating an example of a data configuration in a data processing control unit according to the first embodiment. 実施の形態1に係る更新データ情報の例を示す図。FIG. 4 shows an example of update data information according to the first embodiment. 実施の形態1に係るデータベース連携装置の動作例を示すフローチャート図。FIG. 3 is a flowchart showing an operation example of the database linkage apparatus according to the first embodiment. 実施の形態1に係るデータベース連携装置の動作例を示すフローチャート図。FIG. 3 is a flowchart showing an operation example of the database linkage apparatus according to the first embodiment. 実施の形態2に係るデータベース連携装置の動作例を示すフローチャート図。The flowchart figure which shows the operation example of the database cooperation apparatus which concerns on Embodiment 2. FIG. 実施の形態3に係るデータベース連携装置とデータ退避装置の構成例を示す図。The figure which shows the structural example of the database cooperation apparatus which concerns on Embodiment 3, and a data evacuation apparatus. 実施の形態4に係るデータベース連携装置とデータ退避装置の構成例を示す図。The figure which shows the structural example of the database cooperation apparatus which concerns on Embodiment 4, and a data evacuation apparatus. 実施の形態1に係るデータベース連携装置の動作例を示すフローチャート図。FIG. 3 is a flowchart showing an operation example of the database linkage apparatus according to the first embodiment. 実施の形態1~4に係るデータベース連携装置のハードウェア構成例を示す図。FIG. 5 is a diagram illustrating an example of a hardware configuration of the database linkage apparatus according to the first to fourth embodiments.
 実施の形態1.
 データベース(以下、データベースをDBとも表記する)連携技術では、連携元データベース(連携元テーブル)で変更されたデータが抽出され、抽出されたデータが連携先データベース(連携先テーブル)の形式に変換され、変換後のデータが連携先のデータベースに反映される。
 データ変換としては、例えば、以下に示すようなものがある。
 大文字と小文字の変換 (abc→ABC):小文字から大文字への変換
 数値データの単位の変換 (1000→1):K単位への変換
 パディングの実施、桁数の変更 (123456→000123456):6桁から9桁への変換
Embodiment 1 FIG.
In the database (hereinafter referred to as DB) linkage technology, data changed in the linkage source database (linkage source table) is extracted, and the extracted data is converted into the format of the linkage destination database (linkage destination table). The converted data is reflected in the linked database.
Examples of data conversion include the following.
Conversion between uppercase and lowercase letters (abc → ABC): Conversion from lowercase letters to uppercase Conversion of numeric data units (1000 → 1): Conversion to K units Implementation of padding and change of the number of digits (123456 → 000123456): 6 digits From 9 to 9 digits
 データベースを連携させる方法は、2つに大別される。
 第1の方法は、ETL(Extract Translate Load)ツールのように、連携元となる1つのデータベースから連携先となる1つのデータベースにデータ転送を実施する方法である。
 第2の方法は、複数の連携元データベースと複数の連携先データベースとを接続するHub型構成において、複数の連携元データベースから複数の連携先データベースにデータ転送を行う方法である。
 実施の形態1~4では、第2の方法、すなわち、Hub型の構成によるデータベース連携方法を説明する。
There are two main methods for linking databases.
The first method is a method of transferring data from one database serving as a cooperation source to one database serving as a cooperation destination, like an ETL (Extract Transform Load) tool.
The second method is a method of transferring data from a plurality of cooperation source databases to a plurality of cooperation destination databases in a Hub type configuration in which a plurality of cooperation source databases and a plurality of cooperation destination databases are connected.
In the first to fourth embodiments, a second method, that is, a database linkage method using a Hub type configuration will be described.
 Hub型のデータベース連携装置は、連携元DBで抽出された変更データを受け取る受信処理、抽出データを連携先DBの仕様に合わせるための変換処理、変換データを連携先DBに反映するためのCDW(Change Data Writer)処理からなる。
 データベース連携を実施する際にパイプライン処理を行なう変換部とCDW処理部でテーブル間のキューの構成を一律とした場合、換言すれば、変換処理とCDW処理が同期している場合は、データベース連携装置のスループットが低下する。
 実施の形態1~4は、この課題を解決することを主な目的としており、データベース連携装置のスループットを向上させるために、パイプライン処理において変換部とCDW処理部とが非同期に動作する構成を説明する。
 以下、実施の形態に係るデータベース連携装置を図面を参照して説明する。
The hub-type database cooperation device receives a change data extracted in the cooperation source DB, a conversion process for matching the extracted data to the specification of the cooperation destination DB, and a CDW ( (Change Data Writer) processing.
When the conversion unit and the CDW processing unit that perform pipeline processing when performing database cooperation and the queue configuration between tables is uniform, in other words, when the conversion processing and the CDW processing are synchronized, the database cooperation The throughput of the device is reduced.
Embodiments 1 to 4 are mainly intended to solve this problem, and in order to improve the throughput of the database linkage apparatus, a configuration in which the conversion unit and the CDW processing unit operate asynchronously in pipeline processing. explain.
Hereinafter, a database linkage apparatus according to an embodiment will be described with reference to the drawings.
 図1は、本実施の形態に係るデータベース連携システムを示し、データベース連携装置1、連携元システム2、連携先システム4との間の関係を示す。
 データベース連携装置1はデータ処理装置の例である。
 なお、データベース連携装置1の内部構成例は後述する。
 データベース連携装置1は、複数の連携元システム2と、複数の連携先システム4とに接続されている。
 図1では、連携元システム2は、連携元システムA2aと連携元システムB2bの2つである。
 また、連携先システム4は、連携先システムX4xと連携先システムY4yと連携先システムZ4zの3つである。
FIG. 1 shows a database linkage system according to the present embodiment, and shows a relationship among the database linkage apparatus 1, the linkage source system 2, and the linkage destination system 4.
The database linkage apparatus 1 is an example of a data processing apparatus.
An example of the internal configuration of the database linkage apparatus 1 will be described later.
The database cooperation device 1 is connected to a plurality of cooperation source systems 2 and a plurality of cooperation destination systems 4.
In FIG. 1, there are two cooperation source systems 2, that is, a cooperation source system A 2 a and a cooperation source system B 2 b.
Further, the cooperation destination system 4 includes the cooperation destination system X4x, the cooperation destination system Y4y, and the cooperation destination system Z4z.
 各連携元システム2には、連携元データベース3と、CDC(Change Data Capture)22が含まれている。
 連携元データベース3には、1つ以上の連携元テーブルが含まれている。
 なお、以下では、連携元データベースA3aに2つの連携元テーブルが含まれていることを前提とし、それぞれの連携元テーブルを、連携元テーブルA-1、連携元テーブルA-2と表記する。
 また、連携元データベースB3bにも2つの連携元テーブルが含まれていることを前提とし、それぞれの連携元テーブルを、連携元テーブルB-1、連携元テーブルB-2と表記する。
 また、CDC22は、連携元データベース3の更新ログなどを監視し、連携元データベース3の更新を検知し、連携元データベース3で更新されたレコードを抽出する。
 CDC22は、公知の技術により実現される。
 なお、CDC22が抽出するレコードを更新済レコードとも表記する。
Each cooperation source system 2 includes a cooperation source database 3 and a CDC (Change Data Capture) 22.
The cooperation source database 3 includes one or more cooperation source tables.
In the following, it is assumed that the collaboration source database A3a includes two collaboration source tables, and the respective collaboration source tables are referred to as a collaboration source table A-1 and a collaboration source table A-2.
Further, on the assumption that the collaboration source database B3b also includes two collaboration source tables, the respective collaboration source tables are referred to as a collaboration source table B-1 and a collaboration source table B-2.
Further, the CDC 22 monitors an update log of the cooperation source database 3, detects an update of the cooperation source database 3, and extracts a record updated in the cooperation source database 3.
The CDC 22 is realized by a known technique.
A record extracted by the CDC 22 is also referred to as an updated record.
 各連携先システム4には、連携先データベース5が含まれている。
 連携先データベース5には、1つ以上の連携先テーブルが含まれている。
 なお、以下では、連携先データベースX5xに2つの連携先テーブルが含まれていることを前提とし、それぞれの連携先テーブルを、連携先テーブルX-1、連携元テーブルX-2と表記する。
 また、連携先データベースY5yにも2つの連携先テーブルが含まれていることを前提とし、それぞれの連携先テーブルを、連携先テーブルY-1、連携元テーブルY-2と表記する。
 また、連携先データベースZ5zにも2つの連携先テーブルが含まれていることを前提とし、それぞれの連携先テーブルを、連携先テーブルZ-1、連携元テーブルZ-2と表記する。
Each cooperation destination system 4 includes a cooperation destination database 5.
The cooperation destination database 5 includes one or more cooperation destination tables.
In the following, it is assumed that the cooperation destination database X5x includes two cooperation destination tables, and the respective cooperation destination tables are referred to as a cooperation destination table X-1 and a cooperation source table X-2.
Further, on the assumption that the cooperation destination database Y5y also includes two cooperation destination tables, the respective cooperation destination tables are expressed as a cooperation destination table Y-1 and a cooperation source table Y-2.
Further, on the assumption that the cooperation destination database Z5z also includes two cooperation destination tables, the respective cooperation destination tables are referred to as a cooperation destination table Z-1 and a cooperation source table Z-2.
 データベース連携装置1は、いずれかの連携元データベースにおける更新をいずれかの連携先テーブルに反映させる。
 データベース連携装置1では任意のデータベース連携が可能である。
 例えば、連携元テーブルA-1の更新済レコードを、連携先テーブルX-1、連携先テーブルY-1、連携先テーブルZ-1のそれぞれに反映させるというように、1つの連携元テーブルの更新済レコードを2以上の連携先テーブルに反映させるようにしてもよい。
 また、連携元テーブルA-1の更新済レコードの一部と連携元テーブルB-1の更新済レコードの一部と連携元テーブルB-2の更新済レコードの一部との組み合せを、連携元テーブルZ-2に反映させるというように、複数の連携元テーブルの更新済レコードの組み合せを1つの連携先テーブルに反映させるようにしてもよい。
The database linkage apparatus 1 reflects the update in any linkage source database in any linkage destination table.
The database cooperation apparatus 1 can perform arbitrary database cooperation.
For example, the update of one linkage source table is performed such that the updated record of the linkage source table A-1 is reflected in each of the linkage destination table X-1, the linkage destination table Y-1, and the linkage destination table Z-1. The completed record may be reflected in two or more cooperation destination tables.
Further, a combination of a part of the updated record of the cooperation source table A-1, a part of the updated record of the cooperation source table B-1 and a part of the updated record of the cooperation source table B-2 A combination of updated records in a plurality of linkage source tables may be reflected in one linkage destination table as reflected in the table Z-2.
 なお、連携元データベース3と連携先データベース5のスキーマ構成、より具体的にはデータベースインスタンス内に構成されるスキーマ、テーブル、カラムの構成が異っていてもよく、また連携元データベース3のカラムの型、サイズ、格納データと連携先データベース5のカラムの型、サイズ、格納データが異っていてもよい。 It should be noted that the schema configuration of the linkage source database 3 and the linkage destination database 5 may be different, more specifically, the schema, table, and column configuration configured in the database instance. The type, size, and stored data may be different from the column type, size, and stored data of the link destination database 5.
 また、本実施の形態で示す連携元システム2の個数、連携先システム4の個数、連携元データベース3の個数、連携先データベース5の個数、連携元テーブルの個数、連携先テーブルの個数は例示であり、各々の個数を任意に設定することができる。 Further, the number of cooperation source systems 2, the number of cooperation destination systems 4, the number of cooperation source databases 3, the number of cooperation destination databases 5, the number of cooperation source tables, and the number of cooperation destination tables shown in the present embodiment are examples. Yes, the number of each can be set arbitrarily.
 次に、図2に本実施の形態に係るデータベース連携装置1の構成例を示す。
 本実施の形態に係るデータベース連携装置1では、受信部11、変換部12、CDW処理部13によるデータ連携定義に基づき、データ格納部19内の個別排他制御部20と個別データ格納部21の構成を決定する連携メモリ管理部18を備え、データ格納部19の構成は連携管理情報17にて管理される。
Next, FIG. 2 shows a configuration example of the database linkage apparatus 1 according to the present embodiment.
In the database linkage apparatus 1 according to the present embodiment, the configurations of the individual exclusive control unit 20 and the individual data storage unit 21 in the data storage unit 19 based on the data linkage definition by the reception unit 11, the conversion unit 12, and the CDW processing unit 13. And the configuration of the data storage unit 19 is managed by the cooperation management information 17.
 データ連携処理部23において、受信部11は、連携元システム2内のCDC22が連携元データベース3の連携元テーブルから検出した更新済レコードを受信する。
 受信部11は、更新済レコード受信部の例である。
 受信部11は、連携元データベース3ごとに用意される。
 図2では、図の簡明化のため、受信部11は1つしか図示されていないが、図1の構成に照らせば、図2のデータベース連携装置1では、連携元データベースA3aから更新済レコードを受信する受信部(以下、受信部11aと表記する)と、連携元データベースB3bから更新済レコードを受信する受信部(以下、受信部11bと表記する)が設けられている。
In the data collaboration processing unit 23, the reception unit 11 receives the updated record detected by the CDC 22 in the collaboration source system 2 from the collaboration source table of the collaboration source database 3.
The receiving unit 11 is an example of an updated record receiving unit.
The receiving unit 11 is prepared for each cooperation source database 3.
In FIG. 2, only one receiving unit 11 is shown for the sake of simplification. However, in light of the configuration in FIG. 1, the database linkage apparatus 1 in FIG. 2 receives updated records from the linkage source database A 3 a. A receiving unit (hereinafter referred to as a receiving unit 11a) for receiving and a receiving unit (hereinafter referred to as a receiving unit 11b) for receiving updated records from the cooperation source database B3b are provided.
 変換部12は、連携元データベース3と連携先データベース5のデータベース定義の仕様が異なる場合に、連携元データベース3から抽出したデータを連携先データベース5のデータ仕様に変換するものである。
 例えば、文字列データであれば大文字から小文字への変換、数値演算は桁揃えなどの機能を有し、変換処理は公知の技術により実施される。
 変換部12は、入力した更新済レコードに変換が必要かどうか、変換が必要であればどのような変換を行うかを判定し、変換が必要であれば更新済レコードの変換を行い、変換後の更新済レコードを後述する個別データ格納部21に書き込む。
 一方、変換の必要がなければ、無変換の更新済レコードを個別データ格納部21に書き込む。
 変換部12が個別データ格納部21に書き込むデータは、変換後の更新済レコードであっても無変換の更新済レコードであっても、連携元テーブルにおける更新を反映するとともに、連携先テーブルのレコードの少なくとも一部になるデータ(更新反映データ)である。
 換言すると、変換部12は、変換が必要であれば更新済レコードの変換を行って更新反映データを生成し、変換が必要なければ更新済レコードの変換を行わずに更新反映データを生成している。
 このように、変換部12は更新反映データ生成部の例として機能する。
 なお、変換部12は、連携元テーブルごとに用意される。
 図2では、図の簡明化のため、変換部12は1つしか図示されていないが、図1の構成に照らせば、図2のデータベース連携装置1では、連携元テーブルA-1に対応する変換部(以下、変換部12a-1と表記する)と、連携元テーブルA-2に対応する変換部(以下、変換部12a-2と表記する)と、連携元テーブルB-1に対応する変換部(以下、変換部12b-1と表記する)と、連携元テーブルB-2に対応する変換部(以下、変換部12b-2と表記する)が設けられている。
The conversion unit 12 converts the data extracted from the cooperation source database 3 into the data specification of the cooperation destination database 5 when the database definition specifications of the cooperation source database 3 and the cooperation destination database 5 are different.
For example, in the case of character string data, it has functions such as conversion from upper case to lower case and numerical operation such as digit alignment, and the conversion process is performed by a known technique.
The conversion unit 12 determines whether or not the input updated record needs to be converted, determines what conversion is necessary if conversion is necessary, converts the updated record if conversion is necessary, and after conversion Are updated in the individual data storage unit 21 described later.
On the other hand, if there is no need for conversion, an unconverted updated record is written in the individual data storage unit 21.
The data that the conversion unit 12 writes to the individual data storage unit 21 reflects the update in the cooperation source table, whether it is a post-conversion updated record or a non-conversion updated record, and records in the cooperation destination table This is data (update reflected data) that becomes at least a part of.
In other words, the conversion unit 12 generates the update reflected data by converting the updated record if conversion is necessary, and generates the update reflected data without converting the updated record if conversion is not necessary. Yes.
Thus, the conversion unit 12 functions as an example of the update reflected data generation unit.
The conversion unit 12 is prepared for each cooperation source table.
In FIG. 2, only one conversion unit 12 is shown for simplification of the drawing. However, in light of the configuration of FIG. 1, the database linkage device 1 of FIG. 2 corresponds to the linkage source table A-1. Corresponding to the conversion unit (hereinafter referred to as conversion unit 12a-1), the conversion unit corresponding to cooperation source table A-2 (hereinafter referred to as conversion unit 12a-2), and the cooperation source table B-1 A conversion unit (hereinafter referred to as conversion unit 12b-1) and a conversion unit (hereinafter referred to as conversion unit 12b-2) corresponding to cooperation source table B-2 are provided.
 CDW処理部13は、変換部12が生成した更新反映データを連携先データベース5に反映する機能を有する。
 より具体的にはODBC(Open DataBase Connectivity)などを用いて連携先データベース5にレコード単位で更新反映データを反映する。
 このとき、CDW処理部13は、変換部12から複数の更新反映データを一括して取得し、連携先データベース5に反映する。
 つまり、CDW処理部13は、取得した複数の更新反映データを用いて、1トランザクションにおいて連携先テーブルの2個以上のレコードに対する更新を行う。
 CDW処理部13は、連携先テーブル更新部の例である。
 なお、CDW処理部13は、連携先データベース5ごとに用意される。
 図2では、図の簡明化のため、CDW処理部13は1つしか図示されていないが、図1の構成に照らせば、図2のデータベース連携装置1では、連携先データベースX5xに対応するCDW処理部(以下、CDW処理部13xと表記する)と、連携先データベースY5yに対応するCDW処理部(以下、CDW処理部13yと表記する)と、連携先データベースZ5zに対応するCDW処理部(以下、CDW処理部13zと表記する)が配置されている。
The CDW processing unit 13 has a function of reflecting the update reflection data generated by the conversion unit 12 in the cooperation destination database 5.
More specifically, the update reflected data is reflected in the cooperation destination database 5 in units of records by using an ODBC (Open DataBase Connectivity) or the like.
At this time, the CDW processing unit 13 collectively acquires a plurality of update reflection data from the conversion unit 12 and reflects them in the cooperation destination database 5.
That is, the CDW processing unit 13 updates two or more records in the cooperation destination table in one transaction using the acquired plurality of update reflection data.
The CDW processing unit 13 is an example of a cooperation destination table update unit.
The CDW processing unit 13 is prepared for each cooperation destination database 5.
In FIG. 2, only one CDW processing unit 13 is shown for the sake of simplification. However, in light of the configuration in FIG. 1, the database linkage apparatus 1 in FIG. 2 has a CDW corresponding to the linkage destination database X5x. A processing unit (hereinafter referred to as CDW processing unit 13x), a CDW processing unit (hereinafter referred to as CDW processing unit 13y) corresponding to cooperation destination database Y5y, and a CDW processing unit (hereinafter referred to as CDW processing unit 13y) corresponding to cooperation destination database Z5z. , CDW processing unit 13z).
 データ連携連動型バッファ管理部14において、連携メモリ管理部18は、データベース連携装置1の主記憶装置(共有メモリ)上に、受信部11から変換部12に更新済レコードを受け渡すためのバッファ領域である個別データ格納部21を生成し、また、変換部12からCDW処理部13に更新反映データを受け渡すためのバッファ領域である個別データ格納部21を生成する。
 受信部11から変換部12に更新済レコードを受け渡すための個別データ格納部21は、更新済レコードバッファの例であり、変換部12からCDW処理部13に更新反映データを受け渡すための個別データ格納部21は、更新反映データバッファの例である。
 このため、連携メモリ管理部18は、更新済レコードバッファ生成部及び更新反映データバッファ生成部の例である。
In the data linkage interlocking buffer management unit 14, the linkage memory management unit 18 is a buffer area for transferring the updated record from the reception unit 11 to the conversion unit 12 on the main storage device (shared memory) of the database linkage device 1. The individual data storage unit 21 is generated, and the individual data storage unit 21 which is a buffer area for transferring update reflected data from the conversion unit 12 to the CDW processing unit 13 is generated.
The individual data storage unit 21 for transferring the updated record from the receiving unit 11 to the conversion unit 12 is an example of an updated record buffer, and an individual data for transferring update reflected data from the conversion unit 12 to the CDW processing unit 13 The data storage unit 21 is an example of an update reflected data buffer.
For this reason, the linkage memory management unit 18 is an example of an updated record buffer generation unit and an update reflection data buffer generation unit.
 前述のように、図2の構成では、変換部12として、変換部12a-1、変換部12a-2、変換部12b-1、変換部12b-2の4つが存在するため、連携メモリ管理部18は、それぞれの変換部に対応させて4つの個別データ格納部21を生成する。
 つまり、連携メモリ管理部18は、受信部11aが連携元テーブルA-1の更新済レコードを変換部12a-1に受け渡すための個別データ格納部21、受信部11aが連携元テーブルA-2の更新済レコードを変換部12a-2に受け渡すための個別データ格納部21、受信部11bが連携元テーブルB-1の更新済レコードを変換部12b-1に受け渡すための個別データ格納部21、受信部11bが連携元テーブルB-2の更新済レコードを変換部12b-2に受け渡すための個別データ格納部21の4つを生成する。
 また、図2の構成では、CDW処理部13として、CDW処理部13x、CDW処理部13y、CDW処理部13zの3つが存在するため、連携メモリ管理部18は、それぞれのCDW処理部に対応させて個別データ格納部21を生成する。
 なお、CDW処理部13の個別データ格納部21は、更新反映データの受け渡し元の変換部12ごとに生成される。
 例えば、CDW処理部13xが変換部12a-1、変換部12a-2及び変換部12b-1の各々から更新反映データを受け取る場合は、変換部12a-1のみが更新反映データを書き込める個別データ格納部21、変換部12a-2のみが更新反映データを書き込める個別データ格納部21、変換部12b-1のみが更新反映データを書き込める個別データ格納部21が生成される。
 そして、各個別データ格納部21に対して設けられている個別排他制御部20により、各個別データ格納部21への更新済レコード又は更新反映データの書き込みに対する排他制御が行われる。
 個別排他制御部20は、排他制御部の例である。
 また、個別データ格納部21と個別排他制御部20との組が1組以上格納される論理アドレス空間をデータ格納部19という。
 前述のCDW処理部13xの例では、変換部12a-1についての個別データ格納部21と個別排他制御部20との組、変換部12a-2についての個別データ格納部21と個別排他制御部20との組、変換部12b-1についての個別データ格納部21と個別排他制御部20との組が格納される論理アドレス空間が、CDW処理部13xのデータ格納部19になる。
As described above, in the configuration of FIG. 2, the conversion unit 12 includes four conversion units 12a-1, 12a-2, 12b-1, and 12b-2. 18 generates four individual data storage units 21 corresponding to the respective conversion units.
In other words, the cooperation memory management unit 18 includes the individual data storage unit 21 for the reception unit 11a to transfer the updated record of the cooperation source table A-1 to the conversion unit 12a-1, and the reception unit 11a for the cooperation source table A-2. Individual data storage unit 21 for transferring the updated record of the data to the conversion unit 12a-2, and an individual data storage unit for the reception unit 11b to transfer the updated record of the cooperation source table B-1 to the conversion unit 12b-1. 21. The receiving unit 11b generates four individual data storage units 21 for transferring the updated records of the cooperation source table B-2 to the conversion unit 12b-2.
In the configuration of FIG. 2, there are three CDW processing units 13, that is, a CDW processing unit 13 x, a CDW processing unit 13 y, and a CDW processing unit 13 z. The individual data storage unit 21 is generated.
The individual data storage unit 21 of the CDW processing unit 13 is generated for each conversion unit 12 that is the source of update reflected data.
For example, when the CDW processing unit 13x receives update reflection data from each of the conversion unit 12a-1, the conversion unit 12a-2, and the conversion unit 12b-1, individual data storage in which only the conversion unit 12a-1 can write update reflection data The individual data storage unit 21 in which only the unit 21 and the conversion unit 12a-2 can write update reflected data, and the individual data storage unit 21 in which only the conversion unit 12b-1 can write update reflected data are generated.
Then, the individual exclusive control unit 20 provided for each individual data storage unit 21 performs exclusive control for writing updated records or update reflected data to each individual data storage unit 21.
The individual exclusive control unit 20 is an example of an exclusive control unit.
A logical address space in which one or more sets of the individual data storage unit 21 and the individual exclusive control unit 20 are stored is referred to as a data storage unit 19.
In the above-described example of the CDW processing unit 13x, a pair of the individual data storage unit 21 and the individual exclusive control unit 20 for the conversion unit 12a-1 and an individual data storage unit 21 and the individual exclusive control unit 20 for the conversion unit 12a-2. The logical address space in which the pair of the individual data storage unit 21 and the individual exclusive control unit 20 for the conversion unit 12b-1 is stored becomes the data storage unit 19 of the CDW processing unit 13x.
 データ処理制御部16は、プロセス間通信用のメッセージを格納するキューである。
 つまり、各受信部11は更新済レコードを個別データ格納部21に書き込んだ後に、更新済レコードの書き込みを通知するメッセージをデータ処理制御部16に登録する。
 また、各変換部12は、データ処理制御部16からメッセージを呼び出して、対応する個別データ格納部21から更新済レコードを読み出す。
 また、各変換部12は更新反映データを個別データ格納部21に書き込んだ後に、更新反映データの書き込みを通知するメッセージをデータ処理制御部16に登録する。
 また、各CDW処理部13は、データ処理制御部16からメッセージを呼び出して、対応する個別データ格納部21から更新反映データを読み出す。
The data processing control unit 16 is a queue that stores messages for interprocess communication.
That is, each receiving unit 11 registers a message notifying the writing of the updated record in the data processing control unit 16 after writing the updated record in the individual data storage unit 21.
Each conversion unit 12 calls a message from the data processing control unit 16 and reads an updated record from the corresponding individual data storage unit 21.
Each conversion unit 12 writes the update reflected data in the individual data storage unit 21 and then registers a message informing the writing of the update reflected data in the data processing control unit 16.
Each CDW processing unit 13 calls a message from the data processing control unit 16 and reads the update reflected data from the corresponding individual data storage unit 21.
 更新データ到着ログ15は、受信部11による更新済レコードの受信状況を示す情報であり、より具体的には、連携元テーブルごとに更新済レコードの単位時間あたりの受信数を示す情報である。
 更新データ到着ログ15の詳細は後述する。
The update data arrival log 15 is information indicating the reception status of updated records by the receiving unit 11, and more specifically, information indicating the number of received records per unit time for each cooperation source table.
Details of the update data arrival log 15 will be described later.
 データ連携設計部6は、連携元データベース3と連携先データベース5の連携関係を定義するものである。
 連携関係の定義とは、連携元データベース3が備えるスキーマ、テーブル、カラムと連携先データベース5が備えるスキーマ、テーブル、カラムのそれぞれの対応関係を示すものである。
 データ連携設計部6は、GUI(Graphical User Interface)を備えたツールであってもよい。
 また、データ連携設計部6は、データベース連携装置1とは異なるハードウェア上で稼動するものであってもよい。
 データ連携設計部6はデータベース連携定義をデータ連携設計情報7として出力し、統合連携情報8の入力データとする。
 データ連携設計情報7及び統合連携情報8の詳細は後述する。
The data linkage design unit 6 defines a linkage relationship between the linkage source database 3 and the linkage destination database 5.
The definition of the linkage relationship indicates the corresponding relationship between the schema, table, and column provided in the linkage source database 3 and the schema, table, and column provided in the linkage destination database 5.
The data linkage design unit 6 may be a tool equipped with a GUI (Graphical User Interface).
In addition, the data linkage design unit 6 may operate on hardware different from that of the database linkage device 1.
The data linkage design unit 6 outputs the database linkage definition as data linkage design information 7 and uses it as input data of the integrated linkage information 8.
Details of the data linkage design information 7 and the integrated linkage information 8 will be described later.
 ここで、本実施の形態に係るデータベース連携装置1の動作の概要を説明する。 Here, an outline of the operation of the database linkage apparatus 1 according to the present embodiment will be described.
 先ず、連携メモリ管理部18が、変換部12ごとに、個別データ格納部21に必要なサイズを算出する。
 より具体的には、連携メモリ管理部18は、変換部12ごとに、対象としている連携元テーブルからの更新済レコードの単位時間あたりの受信数と、対象としている連携元テーブルのレコード長とを積算して、当該変換部12に必要なサイズを算出する。
 そして、連携メモリ管理部18は、算出したサイズ分の個別データ格納部21を当該変換部12に割り当てる。
 なお、連携元テーブルからの更新済レコードの単位時間あたりの受信数は、更新データ到着ログ15から導出可能であり、連携元テーブルのレコード長は連携元テーブル情報9等から導出可能である。
First, the cooperative memory management unit 18 calculates the size required for the individual data storage unit 21 for each conversion unit 12.
More specifically, the cooperation memory management unit 18 obtains, for each conversion unit 12, the number of received records per unit time from the target cooperation source table and the record length of the target cooperation source table. By integrating, the size required for the conversion unit 12 is calculated.
Then, the cooperative memory management unit 18 assigns the individual data storage unit 21 corresponding to the calculated size to the conversion unit 12.
Note that the number of received records per unit time from the linkage source table can be derived from the update data arrival log 15, and the record length of the linkage source table can be derived from the linkage source table information 9 or the like.
 また、連携メモリ管理部18は、CDW処理部13ごとに、個別データ格納部21に必要な容量を算出する。
 前述したように、連携メモリ管理部18は、CDW処理部13ごとに、更新反映データの受け渡し元の変換部12ごとの個別データ格納部21を生成するため、更新反映データの受け渡し元の変換部12単位で必要容量を算出する。
 より具体的には、連携メモリ管理部18は、更新反映データの受け渡し元の変換部12ごとに、CDW処理部13が当該変換部12から受け渡される更新反映データのデータ長と、当該変換部12の連携元テーブルからの更新済レコードの単位時間あたりの受信数と、CDW処理部13が更新反映データを反映させるレコード数とを積算し、積算により得られた容量分の個別データ格納部21を確保する。
 このような積算処理を全ての受け渡し元の変換部12に対して行って、1つのCDW処理部13についての受け渡し元の変換部12ごとの個別データ格納部21が生成される。
 なお、連携元テーブルからの更新済レコードの単位時間あたりの受信数は、更新データ到着ログ15から導出可能であり、連携先テーブルのレコード長及び連携先テーブル内で更新反映データを反映させるレコード数は連携先テーブル情報10等から導出可能である。
 また、連携メモリ管理部18は、共有ライブラリとして実装され、受信部11、変換部12、CDW処理部13を構成するプロセスから起動される形態であってよい。
In addition, the cooperative memory management unit 18 calculates the capacity required for the individual data storage unit 21 for each CDW processing unit 13.
As described above, the linked memory management unit 18 generates the individual data storage unit 21 for each conversion unit 12 that is the update reflection data transfer source for each CDW processing unit 13. Calculate the required capacity in 12 units.
More specifically, the cooperative memory management unit 18 determines the data length of the update reflected data transferred from the conversion unit 12 by the CDW processing unit 13 for each conversion unit 12 from which the update reflected data is transferred, and the conversion unit. The number of received records per unit time from 12 linkage source tables and the number of records to which the CDW processing unit 13 reflects the update reflected data are integrated, and the individual data storage unit 21 for the capacity obtained by the integration. Secure.
Such integration processing is performed on all the transfer source conversion units 12 to generate individual data storage units 21 for each transfer source conversion unit 12 for one CDW processing unit 13.
The number of received records per unit time from the linkage source table can be derived from the update data arrival log 15, and the record length of the linkage destination table and the number of records to which the update reflected data is reflected in the linkage destination table Can be derived from the cooperation destination table information 10 or the like.
Further, the linked memory management unit 18 may be implemented as a shared library, and may be activated from processes that configure the receiving unit 11, the converting unit 12, and the CDW processing unit 13.
 次に、受信部11がCDC22から送信された更新済レコードを受信し、受信した更新済レコードの受け渡し先として指定されている変換部12に割り当てられているデータ格納部19に更新済レコードを書き込む。
 前述したように、受信部11は連携元データベース3ごとに存在し、変換部12は連携元テーブルごとに存在する。
 例えば、受信部11aは、連携元データベース3の連携元テーブルA-1の更新済レコードと連携元テーブルA-1の更新済レコードを受信する。
 連携元テーブルA-1の更新済レコードを受信した場合は、受信部11aは、受信した更新済レコードを変換部12a-1用の個別データ格納部21に書き込み、連携元テーブルA-2の更新済レコードを受信した場合は、受信部11aは、受信した更新済レコードを変換部12a-2用の個別データ格納部21に書き込む。
Next, the receiving unit 11 receives the updated record transmitted from the CDC 22 and writes the updated record in the data storage unit 19 assigned to the conversion unit 12 designated as the transfer destination of the received updated record. .
As described above, the receiving unit 11 exists for each cooperation source database 3, and the conversion unit 12 exists for each cooperation source table.
For example, the receiving unit 11a receives the updated record of the cooperation source table A-1 and the updated record of the cooperation source table A-1 of the cooperation source database 3.
When the updated record of the cooperation source table A-1 is received, the reception unit 11a writes the received updated record to the individual data storage unit 21 for the conversion unit 12a-1, and updates the cooperation source table A-2. When the received record is received, the receiving unit 11a writes the received updated record in the individual data storage unit 21 for the conversion unit 12a-2.
 変換部12は、割り当てられている個別データ格納部21から更新済レコードを読み出し、読み出した更新済レコードを用いて更新反映データを生成し、生成した更新反映データを受け渡し先として指定されているCDW処理部13の個別データ格納部21に書き込む。
 例えば、変換部12a-1の受け渡し先がCDW処理部13xであり、CDW処理部13xが変換部12a-1及び変換部12b-1の各々から更新反映データを受け取る場合は、CDW処理部13xに対しては、変換部12a-1用の個別データ格納部21と、変換部12b-1用の個別データ格納部21が生成されている。
 このため、変換部12a-1は、CDW処理部13xの変換部12a-1用の個別データ格納部21に更新反映データを書き込む。
 また、変換部12a-1の受け渡し先がCDW処理部13xとCDW処理部13yである場合は、読み出した更新済レコードに対してCDW処理部13xの連携先データベースに合わせた変換を行ってCDW処理部13x向けの更新反映データを生成するとともに、CDW処理部13yの連携先データベースに合わせた変換を行ってCDW処理部13y向けの更新反映データを生成する。
 そして、CDW処理部13x向けの更新反映データをCDW処理部13xの変換部12a-1用の個別データ格納部21に書き込み、CDW処理部13y向けの更新反映データをCDW処理部13yの変換部12a-1用の個別データ格納部21に書き込む。
 なお、変換部12a-1は、CDW処理部13xの個別データ格納部21への書き込みと、CDW処理部13yの個別データ格納部21への書き込みを並列に行う。
 また、各変換部12における更新済レコードの読み出し、更新反映データの生成、更新反映データの個別データ格納部21への書き込みは、受信部11による更新済レコードの受信及び更新済レコードの書き込みと非同期に行われる。
The conversion unit 12 reads the updated record from the assigned individual data storage unit 21, generates the update reflection data using the read updated record, and the CDW designated as the delivery destination of the generated update reflection data Write to the individual data storage unit 21 of the processing unit 13.
For example, when the transfer destination of the conversion unit 12a-1 is the CDW processing unit 13x, and the CDW processing unit 13x receives update reflected data from each of the conversion unit 12a-1 and the conversion unit 12b-1, the CDW processing unit 13x In contrast, an individual data storage unit 21 for the conversion unit 12a-1 and an individual data storage unit 21 for the conversion unit 12b-1 are generated.
Therefore, the conversion unit 12a-1 writes the update reflected data in the individual data storage unit 21 for the conversion unit 12a-1 of the CDW processing unit 13x.
Further, when the transfer destination of the conversion unit 12a-1 is the CDW processing unit 13x and the CDW processing unit 13y, the read updated record is converted in accordance with the cooperation destination database of the CDW processing unit 13x to perform the CDW processing. The update reflection data for the unit 13x is generated, and the update reflection data for the CDW processing unit 13y is generated by performing conversion according to the cooperation destination database of the CDW processing unit 13y.
Then, the update reflection data for the CDW processing unit 13x is written in the individual data storage unit 21 for the conversion unit 12a-1 of the CDW processing unit 13x, and the update reflection data for the CDW processing unit 13y is written in the conversion unit 12a of the CDW processing unit 13y. Write to the individual data storage unit 21 for -1.
Note that the conversion unit 12a-1 performs writing to the individual data storage unit 21 of the CDW processing unit 13x and writing to the individual data storage unit 21 of the CDW processing unit 13y in parallel.
In addition, reading of updated records, generation of update reflected data, and writing of update reflected data to the individual data storage unit 21 in each conversion unit 12 are asynchronous with reception of updated records by the receiving unit 11 and writing of updated records. To be done.
 CDW処理部13は、個別データ格納部21から更新反映データを読み出し、読み出した更新反映データを用いて連携先テーブルを更新する。
 例えば、CDW処理部13xが変換部12a-1及び変換部12b-1の各々から更新反映データを受け取る場合は、変換部12a-1用の個別データ格納部21、変換部12b-1用の個別データ格納部21の各々から更新反映データを読み出す。
 そして、CDW処理部13xは、例えば、読み出した更新反映データを用いて、連携先テーブルX-1と連携先テーブルX-2のレコードを更新する。
 各CDW処理部13における更新反映データの読み出し及び更新反映データを用いた連携先テーブルの更新は、受信部11による更新済レコードの受信及び更新済レコードの書き込み、各変換部12による更新済レコードの読み出し、更新反映データの生成及び更新反映データの個別データ格納部21への書き込みと非同期に行われる。
 このため、各CDW処理部13は、1トランザクションにおいて連携先テーブルの2以上のレコードに対する更新を行うことができる。
 また、各CDW処理部13は、他のCDW処理部13における更新反映データの読み出し及び連携先テーブルの更新と並行して、更新反映データの読み出し及び連携先テーブルの更新を行う。
The CDW processing unit 13 reads the update reflection data from the individual data storage unit 21 and updates the cooperation destination table using the read update reflection data.
For example, when the CDW processing unit 13x receives update reflected data from each of the conversion unit 12a-1 and the conversion unit 12b-1, the individual data storage unit 21 for the conversion unit 12a-1 and the individual data for the conversion unit 12b-1 Update reflected data is read from each of the data storage units 21.
Then, for example, the CDW processing unit 13x updates the records in the cooperation destination table X-1 and the cooperation destination table X-2 using the read update reflection data.
In each CDW processing unit 13, the update reflected data is read and the cooperation destination table is updated using the updated reflected data. The receiving unit 11 receives the updated record, writes the updated record, and each converting unit 12 updates the updated record. Reading, generation of update reflection data, and writing of update reflection data to the individual data storage unit 21 are performed asynchronously.
For this reason, each CDW processing unit 13 can update two or more records in the cooperation destination table in one transaction.
In addition, each CDW processing unit 13 reads the update reflected data and updates the cooperation destination table in parallel with the reading of the update reflection data and the update of the cooperation destination table in the other CDW processing unit 13.
 以上が、本実施の形態に係るデータベース連携装置1の動作の概要である。
 次に、データ連携設計情報7、連携元テーブル情報9、連携先テーブル情報10、連携管理情報17、連携接続情報24及び更新データ到着ログ15の詳細を説明し、本実施の形態に係るデータベース連携装置1の動作の詳細を説明する。
The above is the outline of the operation of the database linkage apparatus 1 according to the present embodiment.
Next, details of the data linkage design information 7, the linkage source table information 9, the linkage destination table information 10, the linkage management information 17, the linkage connection information 24, and the update data arrival log 15 will be described, and the database linkage according to the present embodiment Details of the operation of the apparatus 1 will be described.
 データ連携設計情報7は、XML(Extensible Markup Language)のような形式で記述したものであってよく、ファイルの形式でデータベース連携装置1に外部が取込む形式であってもよい。
 データ連携設計情報7は、連携元テーブル情報9、連携先テーブル情報10及び連携接続情報24から構成される。
 なお、図2では、データ連携設計情報7に含まれる連携元テーブル情報9、連携先テーブル情報10及び連携接続情報24をデータベース連携装置1のメモリに展開した状態を示している。
 データ連携設計情報7がXML形式で記述されたファイルである場合、データ連携処理部23がデータベース連携処理を実施するたびにファイルからデータベース連携設計情報7の内容を読み取ることも可能であるが、効率的でない。
 このため、本実施の形態では、データ連携設計情報7を入力として受け取り、データベース連携装置1のメモリに統合連携情報8として格納する。
The data linkage design information 7 may be described in a format such as XML (Extensible Markup Language), or may be a format that is externally taken into the database linkage device 1 in the form of a file.
The data linkage design information 7 includes linkage source table information 9, linkage destination table information 10, and linkage connection information 24.
2 shows a state in which the cooperation source table information 9, the cooperation destination table information 10, and the cooperation connection information 24 included in the data cooperation design information 7 are expanded in the memory of the database cooperation device 1.
When the data linkage design information 7 is a file described in the XML format, it is possible to read the contents of the database linkage design information 7 from the file each time the data linkage processing unit 23 performs the database linkage processing. Not right.
For this reason, in this embodiment, the data linkage design information 7 is received as an input and stored as the integrated linkage information 8 in the memory of the database linkage device 1.
 連携元テーブル情報9および連携先テーブル情報10は、図3に示すように、テーブル定義情報201とカラム定義情報202から構成される。 The linkage source table information 9 and the linkage destination table information 10 are composed of table definition information 201 and column definition information 202 as shown in FIG.
 テーブル定義情報201において、CDC/CDW識別子は、CDC22またはCDW処理部13を特定する識別子である。
 テーブル識別子は、連携元テーブル又は連携先テーブルをデータベース連携装置1内で一意に特定するための識別子である。
 また、テーブルタイプは、連携元テーブル又は連携先テーブルの種別を示す情報であり、テーブル名は連携元テーブル又は連携先テーブルの名称を示す情報である。
 また、テーブル定義情報201には、連携元テーブル又は連携先テーブルのカラム数、主キーとなるカラムの情報、参照関係を持つテーブルの情報、定義の登録日、更新日、定義のバージョンなどの情報が含まれる。
In the table definition information 201, the CDC / CDW identifier is an identifier that identifies the CDC 22 or the CDW processing unit 13.
The table identifier is an identifier for uniquely identifying the cooperation source table or the cooperation destination table in the database cooperation device 1.
The table type is information indicating the type of the cooperation source table or the cooperation destination table, and the table name is information indicating the name of the cooperation source table or the cooperation destination table.
Further, the table definition information 201 includes information such as the number of columns of the linkage source table or linkage destination table, column information serving as a primary key, table information having a reference relationship, definition registration date, update date, and definition version. Is included.
 カラム定義情報202において、カラム識別子はカラムをデータベース連携装置1内で一意に特定するための識別子である。
 テーブル識別子は、カラムが所属するテーブルの識別子である。
 また、データ型は、カラムのデータ型を示し、数値精度は、カラムのデータ型が数値型の場合の数値の精度(桁数、少数以下の有効桁数)を示す。
 また、カラム定義情報202には、カラムに含まれるデータのデータ長、カラム名、外部キーとなる場合の親カラム識別子などの情報が含まれる。
In the column definition information 202, the column identifier is an identifier for uniquely identifying the column within the database linkage apparatus 1.
The table identifier is an identifier of the table to which the column belongs.
The data type indicates the data type of the column, and the numerical accuracy indicates the numerical accuracy (the number of digits, the number of significant digits less than a decimal) when the column data type is a numerical type.
The column definition information 202 includes information such as the data length of the data included in the column, the column name, and the parent column identifier in the case of a foreign key.
 連携管理情報17は、図4に示すように、プロセス管理表203、データ格納部情報204、個別排他制御情報205、個別データ格納情報206、外部識別子情報207、オープンハンドル情報208から構成される。 As shown in FIG. 4, the cooperation management information 17 includes a process management table 203, data storage unit information 204, individual exclusive control information 205, individual data storage information 206, external identifier information 207, and open handle information 208.
 プロセス管理表203は、プロセスID、プロセス種別、外部識別子、状態、データ処理制御部ID、読み出し制御フラグ、データ格納部ID、初期化ハンドル、オープンハンドルから構成される。
 プロセスIDは、受信部11、変換部12、CDW処理部13の各々のプロセスの識別子である。
 プロセス種別は、プロセスIDで特定されるプロセスが、受信部11、変換部12、CDW処理部13のいずれのプロセスであるかを示す。
 データ処理制御部IDは、データ処理制御部16の識別子であり、受信部11から変換部12へのメッセージのキューであるか、変換部12からCDW処理部13へのメッセージのキューであるかを示す。
 読み出し制御フラグは、個別データ格納部21からのデータ読み出しが可能か否かを示す。
The process management table 203 includes a process ID, a process type, an external identifier, a state, a data processing control unit ID, a read control flag, a data storage unit ID, an initialization handle, and an open handle.
The process ID is an identifier of each process of the reception unit 11, the conversion unit 12, and the CDW processing unit 13.
The process type indicates whether the process specified by the process ID is a process of the reception unit 11, the conversion unit 12, or the CDW processing unit 13.
The data processing control unit ID is an identifier of the data processing control unit 16 and indicates whether it is a message queue from the reception unit 11 to the conversion unit 12 or a message queue from the conversion unit 12 to the CDW processing unit 13. Show.
The read control flag indicates whether data can be read from the individual data storage unit 21.
 データ格納部情報204は、データ格納部ID、個別データ数、個別排他制御情報、接続管理ID,連携対象論理テーブルID、個別データ格納情報から構成される。
 データ格納部IDは、データ格納部19の識別子である。
 接続管理IDは、連携元テーブルと連携先データベース5の組み合せごとに設定される識別子である。前述した例では、連携元テーブルが4つ(A-1、A-2、B-1、B-2)であり、連携先テーブルが3つ(X、Y、Z)であるため、12種類の接続管理IDが設けられる。
 連携対象論理テーブルIDは、プロセス管理表203のプロセスIDで特定されるプロセスが受信部11及び変換部12の場合は連携元テーブルの識別子が示され、CDW処理部13の場合は連携先テーブルの識別子が示される。
The data storage unit information 204 includes a data storage unit ID, individual data count, individual exclusive control information, connection management ID, cooperation target logical table ID, and individual data storage information.
The data storage unit ID is an identifier of the data storage unit 19.
The connection management ID is an identifier set for each combination of the cooperation source table and the cooperation destination database 5. In the above-described example, there are four linkage source tables (A-1, A-2, B-1, B-2) and three linkage destination tables (X, Y, Z). Connection management IDs are provided.
The cooperation target logical table ID indicates the identifier of the cooperation source table when the process identified by the process ID of the process management table 203 is the reception unit 11 and the conversion unit 12, and indicates the cooperation destination table when the process is the CDW processing unit 13. An identifier is shown.
 個別排他制御情報205は、個別排他制御ID、バッファ排他制御フラグ、オーバーフロー制御フラグから構成される。
 個別排他制御IDは、個別排他制御部20の識別子である。
The individual exclusive control information 205 includes an individual exclusive control ID, a buffer exclusive control flag, and an overflow control flag.
The individual exclusive control ID is an identifier of the individual exclusive control unit 20.
 個別データ格納情報206は、個別データ格納部ID、接続管理ID重複数、連携対象カラム長総数(Sl)から構成される。
 個別データ格納部IDは、個別データ格納部21の識別子である。
 接続管理ID重複数は、個別データ格納部IDで特定されている個別データ格納部21から読み出された更新反映データにより、連携先テーブルのいくつのレコードが更新されるかを示す。
 例えば、変換部12a-1からの1つの更新反映データをCDW処理部13xが連携先データベース5xの連携先テーブルX-1と連携先テーブルX-2に反映させる場合は、変換部12a-1からの更新反映データをCDW処理部13xに受け渡す個別データ格納部21では、接続管理ID重複数は2となる。
 連携対象カラム長総数(Sl)は、個別データ格納部IDで特定されている個別データ格納部21に、書き込まれるデータ長(レコード長)を示す。
 例えば、変換部12からCDW処理部13への個別データ格納部21の場合は、書き込み元の変換部12が当該個別データ格納部21に書き込む更新反映データのデータ長(レコード長)を示す。
The individual data storage information 206 includes an individual data storage unit ID, a plurality of connection management ID duplications, and a total column length (Sl) to be linked.
The individual data storage unit ID is an identifier of the individual data storage unit 21.
The connection management ID duplication indicates how many records of the cooperation destination table are updated by the update reflected data read from the individual data storage unit 21 specified by the individual data storage unit ID.
For example, when the CDW processing unit 13x reflects one update reflected data from the conversion unit 12a-1 in the cooperation destination table X-1 and the cooperation destination table X-2 of the cooperation destination database 5x, the conversion unit 12a-1 In the individual data storage unit 21 that delivers the update reflected data to the CDW processing unit 13x, the connection management ID duplication number is 2.
The cooperation target column length total number (Sl) indicates the data length (record length) written in the individual data storage unit 21 specified by the individual data storage unit ID.
For example, in the case of the individual data storage unit 21 from the conversion unit 12 to the CDW processing unit 13, the data length (record length) of the update reflected data written in the individual data storage unit 21 by the writing source conversion unit 12 is indicated.
 外部識別子情報207は、プロセス管理表203のプロセスIDで特定されるプロセスが受信部の場合はCDCid、変換部の場合は連携元論理テーブルID、CDW処理部の場合は連携先データベースIDを示す。 The external identifier information 207 indicates the CDCid when the process specified by the process ID of the process management table 203 is a receiving unit, the cooperation source logical table ID when the process is a conversion unit, and the cooperation destination database ID when the process is a CDW processing unit.
 オープンハンドル情報208は、オープンハンドル、入力/出力エッジ、排他制御情報(セマフォIDなど)、個別データ格納情報(メモリへのアドレスなど)から構成される。 The open handle information 208 includes an open handle, input / output edges, exclusive control information (semaphore ID, etc.), and individual data storage information (address to memory, etc.).
 ここで、入力エッジ、出力エッジについて説明する。
 入力エッジはデータの入力元であり、出力エッジはデータの出力先である。
 受信部11にとっては、CDCが入力エッジとなり、変換部12に更新済レコードを受け渡すための個別データ格納部21が出力エッジとなる。
 また、変換部12にとっては、更新済レコードを受け取るための個別データ格納部21が入力エッジとなり、CDW処理部13に更新反映データを受け渡すための個別データ格納部21が出力エッジとなる。
 また、CDW処理部13にとっては、更新反映データを受け取るための個別データ格納部21が入力エッジとなり、連携先テーブルが出力エッジとなる。
 例えば、CDW処理部13xが変換部12a-1及び変換部12b-1の各々から更新反映データを受け取る場合は、変換部12a-1用の個別データ格納部21と、変換部12b-1用の個別データ格納部21がそれぞれ入力エッジとなる。
 また、CDW処理部13xが連携先テーブルX-1と連携先テーブルX-2の更新を行う場合は、連携先テーブルX-1と連携先テーブルX-2がそれぞれ出力エッジとなる。
Here, the input edge and the output edge will be described.
The input edge is a data input source, and the output edge is a data output destination.
For the receiving unit 11, the CDC is an input edge, and the individual data storage unit 21 for delivering the updated record to the conversion unit 12 is an output edge.
For the conversion unit 12, the individual data storage unit 21 for receiving updated records serves as an input edge, and the individual data storage unit 21 for delivering update reflected data to the CDW processing unit 13 serves as an output edge.
Further, for the CDW processing unit 13, the individual data storage unit 21 for receiving the update reflected data is an input edge, and the cooperation destination table is an output edge.
For example, when the CDW processing unit 13x receives update reflected data from each of the converting unit 12a-1 and the converting unit 12b-1, the individual data storage unit 21 for the converting unit 12a-1 and the converting unit 12b-1 The individual data storage unit 21 becomes an input edge.
When the CDW processing unit 13x updates the cooperation destination table X-1 and the cooperation destination table X-2, the cooperation destination table X-1 and the cooperation destination table X-2 are output edges, respectively.
 次に、連携接続情報24は、図5に示すように、接続入力情報210、接続出力情報211、変換部接続情報212から構成される。 Next, the cooperative connection information 24 includes connection input information 210, connection output information 211, and conversion unit connection information 212, as shown in FIG.
 接続入力情報210は、受信部11についての情報であり、接続管理ID、接続管理バージョン、入力エッジID、出力エッジ数、連携元論理テーブルID、変換プロセス識別子からなる。
 変換プロセス識別子は、受信部11が更新済レコードを受け渡す変換部12のプロセスIDである。
The connection input information 210 is information about the receiving unit 11 and includes a connection management ID, a connection management version, an input edge ID, an output edge number, a cooperation source logical table ID, and a conversion process identifier.
The conversion process identifier is the process ID of the conversion unit 12 to which the receiving unit 11 delivers the updated record.
 接続出力情報211は、CDW処理部13についての情報であり、接続管理ID、接続管理バージョン、入力エッジID、CDWid、出力エッジID、実行時付加情報(レコード長)、連携先論理テーブルIDからなる。
 実行時付加情報(レコード長)は、CDW処理部13が受け渡し元の変換部12から受け渡される更新反映データのデータ長(レコード長)である。
The connection output information 211 is information about the CDW processing unit 13 and includes a connection management ID, a connection management version, an input edge ID, a CDWid, an output edge ID, runtime additional information (record length), and a cooperation destination logical table ID. .
The additional information (record length) at the time of execution is the data length (record length) of the update reflected data transferred from the conversion unit 12 that is the transfer source by the CDW processing unit 13.
 変換部接続情報212は、変換部12についての情報であり、プロセス識別子、出力エッジ数、出力エッジ情報、入力エッジIDからなり、また、出力エッジ情報213は、出力エッジIDと実行時付加情報の組からなる。 The conversion unit connection information 212 is information about the conversion unit 12 and includes a process identifier, the number of output edges, output edge information, and an input edge ID. The output edge information 213 includes an output edge ID and additional information at the time of execution. It consists of a pair.
 更新データ到着ログ15は、図6に示すような構成からなる。
 更新データ到着ログ15は、レコードを一意に特定するIDと連携元論理テーブルID、接続管理ID、単位時間あたりの平均トランザクション数、1トランザクションあたりの平均レコード数(更新済レコードの数)、最終更新日からなる。
The update data arrival log 15 has a configuration as shown in FIG.
The update data arrival log 15 includes an ID for uniquely identifying a record, a linkage source logical table ID, a connection management ID, an average number of transactions per unit time, an average number of records per transaction (number of updated records), and a final update. Consists of days.
 次に、本実施の形態に係るデータベース連携装置1によるデータベース連携動作の詳細を説明する。 Next, details of the database linkage operation by the database linkage apparatus 1 according to the present embodiment will be described.
 まず、変換部12とCDW処理部13はプロセス生成時に初期化処理として、連携メモリ管理部18を呼び出し、それぞれ他の処理部からデータを取得するための個別データ格納部21を生成する。
 以下に、図10をもとに個別データ格納部21のサイズを算出する処理フローを記載する。
First, the conversion unit 12 and the CDW processing unit 13 call the cooperative memory management unit 18 as an initialization process when generating a process, and generate an individual data storage unit 21 for acquiring data from other processing units.
The processing flow for calculating the size of the individual data storage unit 21 based on FIG. 10 will be described below.
 CDW処理部13は、連携メモリ管理部18に、自身(CDW処理部13)の識別子であるCDWidを通知する(S201)。
 連携メモリ管理部18は、通知されたCDWidと同じCDWidが示される連携接続情報24の接続出力情報211(図5)を1つ以上抽出し、抽出した接続出力情報211を接続管理IDごとに分類する(S202)。
 例えば、CDW処理部13xが変換部12a-1及び変換部12b-1の各々からの更新反映データを用いて連携先データベース5xの連携先テーブルを更新する場合は、連携元テーブルA-1と連携先データベース5xとの組み合せに対応した接続管理IDが記述されている接続出力情報211と、連携元テーブルB-1と連携先データベース5xとの組み合わせに対応した接続管理IDが記述されている接続出力情報211が存在することになる。
 このように、接続出力情報211に記述されている接続管理IDが複数種類ある場合は、連携メモリ管理部18は、S202において、接続管理IDごとに接続出力情報211をグルーピングする。
The CDW processing unit 13 notifies the associated memory management unit 18 of the CDWid that is an identifier of itself (CDW processing unit 13) (S201).
The linked memory management unit 18 extracts one or more connection output information 211 (FIG. 5) of the linked connection information 24 indicating the same CDWid as the notified CDWid, and classifies the extracted connection output information 211 for each connection management ID. (S202).
For example, when the CDW processing unit 13x updates the cooperation destination table of the cooperation destination database 5x using the update reflected data from each of the conversion unit 12a-1 and the conversion unit 12b-1, it cooperates with the cooperation source table A-1. Connection output information 211 in which a connection management ID corresponding to a combination with the destination database 5x is described, and a connection output in which a connection management ID corresponding to a combination of the cooperation source table B-1 and the cooperation destination database 5x is described. Information 211 exists.
As described above, when there are a plurality of types of connection management IDs described in the connection output information 211, the cooperative memory management unit 18 groups the connection output information 211 for each connection management ID in S202.
 次に、連携メモリ管理部18は、接続出力情報211のグループごとに、接続出力情報211から実行時付加情報(レコード長)を取得し、取得した実行時付加情報(レコード長)の和を算出し、実行時付加情報(レコード)の和を個別データ格納部21のブロック内レコードのサイズ(Sl)として定義する(S203、S204)。
 接続管理IDは、連携元テーブルと連携先データベースとの組み合わせを特定する識別子であるため、接続管理IDが同一の接続出力情報211であっても出力エッジIDが異なっている場合がある。
 例えば、CDW処理部13xが変換部12a-1からの更新反映データを用いて連携先データベース5x内の連携先テーブルX-1と連携先テーブルX-2の更新を行う場合は、接続管理IDが同一であっても連携先テーブルX-1に対応する出力エッジIDが記述されている接続出力情報211と連携先テーブルX-2に対応する出力エッジIDが記述されている接続出力情報211が存在することになる。
 連携メモリ管理部18は、S203とS204において、接続出力情報211のグループごとの実行時付加情報(レコード長)の総和を求める。
Next, for each group of the connection output information 211, the cooperative memory management unit 18 acquires the additional information at run time (record length) from the connection output information 211, and calculates the sum of the acquired additional information at run time (record length). Then, the sum of the additional information (record) at the time of execution is defined as the size (S1) of the record in the block of the individual data storage unit 21 (S203, S204).
Since the connection management ID is an identifier that identifies a combination of the cooperation source table and the cooperation destination database, the output edge ID may be different even if the connection output information 211 has the same connection management ID.
For example, when the CDW processing unit 13x updates the cooperation destination table X-1 and the cooperation destination table X-2 in the cooperation destination database 5x using the update reflection data from the conversion unit 12a-1, the connection management ID is Even if they are the same, there is connection output information 211 in which the output edge ID corresponding to the cooperation destination table X-1 is described, and connection output information 211 in which the output edge ID corresponding to the cooperation destination table X-2 is described. Will do.
In S203 and S204, the cooperation memory management unit 18 obtains the sum of the additional information (record length) at the time of execution for each group of the connection output information 211.
 次に、連携メモリ管理部18は、当該接続管理IDをキーにして更新データ到着ログ15(図6)から平均トランザクション数/単位時間(Stn)、平均レコード数/トランザクション(Stl)の値を取得する(S205)。
 次に、連携メモリ管理部18は、個別データ格納部21として(Stn×接続管理ID重複数×Stl×Sl)に相当するサイズのバッファを取得する(S206)。
 S206の積算に用いた接続管理ID重複数は、同じ接続管理IDが付されている接続出力情報211の個数、つまり、S202の分類の結果、同じ接続管理IDが付されているとしてグルーピングされた接続出力情報211の個数である。
 更に、連携メモリ管理部18は、S206で生成した個別データ格納部21への接続子(例えば、メモリアドレス)を、個別データ格納情報206(図4)の個別データ格納部ID欄に格納し、接続管理ID重複数欄にS206の積算に用いた接続管理ID重複数を格納する。
 なお、連携メモリ管理部18は、S203以降の処理を連携先論理テーブルIDの一覧に属する全ての接続管理IDに対して行う(S207)。
 全ての接続管理IDに対してS203以降の処理が行われた後は、連携メモリ管理部18は、生成した個別データ格納部21に対して初期化ハンドルを生成し、生成した初期化ハンドルをCDW処理部13に通知する。
Next, using the connection management ID as a key, the cooperative memory management unit 18 obtains the average transaction count / unit time (Stn) and average record count / transaction (Stl) values from the update data arrival log 15 (FIG. 6). (S205).
Next, the cooperative memory management unit 18 acquires a buffer having a size corresponding to (Stn × connection management ID duplication number × Stl × Sl) as the individual data storage unit 21 (S206).
The plurality of connection management IDs used for the integration in S206 are grouped as having the same connection management ID as a result of the number of connection output information 211 having the same connection management ID, that is, the classification in S202. This is the number of connection output information 211.
Further, the cooperative memory management unit 18 stores the connector (for example, memory address) to the individual data storage unit 21 generated in S206 in the individual data storage unit ID column of the individual data storage information 206 (FIG. 4). The connection management ID duplication number used in the accumulation in S206 is stored in the connection management ID duplication number column.
The linked memory management unit 18 performs the processing from S203 onward for all connection management IDs belonging to the list of linked destination logical table IDs (S207).
After the processing from S203 is performed on all connection management IDs, the cooperative memory management unit 18 generates an initialization handle for the generated individual data storage unit 21, and uses the generated initialization handle as a CDW. Notify the processing unit 13.
 このように、連携メモリ管理部18は、各CDW処理部13に対して接続管理IDごとに個別データ格納部21を生成している。
 接続管理IDは連携元テーブルごとに異なっており、変換部12は連携元テーブルごとに設けられている。
 このため、連携メモリ管理部18は、各CDW処理部13に対して、更新反映データの受け渡し元の変換部12ごとに、個別データ格納部21を生成しているといえる。
 そして、個別データ格納部21のサイズは、変換部12がCDW処理部13に受け渡す更新反映データのデータ長(Sl)と、変換部12が対象としている連携元テーブルからの更新済レコードの単位時間あたりの受信数(Stn×Stl)と、CDW処理部13が更新反映データを反映させるレコード数(接続管理ID重複数)との積算により得られるサイズとしている。
As described above, the cooperative memory management unit 18 generates an individual data storage unit 21 for each connection management ID for each CDW processing unit 13.
The connection management ID is different for each cooperation source table, and the conversion unit 12 is provided for each cooperation source table.
For this reason, it can be said that the linked memory management unit 18 generates an individual data storage unit 21 for each conversion unit 12 that is the source of update reflected data for each CDW processing unit 13.
The size of the individual data storage unit 21 is the unit of the updated record from the linkage source table targeted by the conversion unit 12 and the data length (Sl) of the update reflected data transferred from the conversion unit 12 to the CDW processing unit 13. The size is obtained by integrating the number of receptions per time (Stn × Stl) and the number of records (multiple connection management IDs) that the CDW processing unit 13 reflects the update reflection data.
 以下にて、変換部12の初期化処理の動作を説明する。 The operation of the initialization process of the conversion unit 12 will be described below.
 変換部12は、自身(変換部12)のIDがプロセス識別子の欄に記述されている変換部接続情報212(図5)から入力エッジIDを取得し、連携メモリ管理部18に通知する。
 連携メモリ管理部18は、通知された入力エッジIDと同じ入力エッジIDが記述されている接続入力情報210(図5)を抽出し、抽出した接続入力情報210内の連携元論理テーブルIDを取得する。
 次に、連携メモリ管理部18は、取得した連携元論理テーブルIDと同じ連携元論理テーブルIDがテーブル識別子の欄に含まれている連携元テーブル情報9(テーブル定義情報:図3)を抽出し、抽出した連携元テーブル情報9内のカラム情報を取得する。
 次に、連携メモリ管理部18は、取得したカラム情報に対応付けられているカラム定義情報202(図3)のカラム識別子毎にデータ長を取得し、取得したデータ長を集計する。
 次に、連携メモリ管理部18は、集計した値を連携対象カラム長総数として個別データ格納部のブロック内レコードサイズ(Sl)として定義する。
 次に、連携メモリ管理部18は、当該連携元テーブルIDをキーにして更新データ到着ログ15(図6)から平均トランザクション数/単位時間(Stn)、平均レコード数/トランザクション(Stl)の値を取得する。
 次に、連携メモリ管理部18は、個別データ格納部21としてStn×Stl×Slに相当するサイズのバッファを取得する。
 そして、連携メモリ管理部18は、生成した個別データ格納部21への接続子(例えば、メモリアドレス)を、個別データ格納情報206(図4)の個別データ格納部ID欄に格納し、当該連携元論理テーブルIDを、データ格納部情報204(図4)の連携対象論理テーブルID欄に格納する。
 最後に、連携メモリ管理部18は、初期化ハンドルを生成し、生成した初期化ハンドルを変換部12に通知する。
The conversion unit 12 acquires the input edge ID from the conversion unit connection information 212 (FIG. 5) in which the ID of itself (the conversion unit 12) is described in the process identifier column, and notifies the cooperation memory management unit 18 of the input edge ID.
The cooperation memory management unit 18 extracts the connection input information 210 (FIG. 5) in which the same input edge ID as the notified input edge ID is described, and acquires the cooperation source logical table ID in the extracted connection input information 210. To do.
Next, the cooperation memory management unit 18 extracts the cooperation source table information 9 (table definition information: FIG. 3) in which the same cooperation source logical table ID as the acquired cooperation source logical table ID is included in the table identifier column. The column information in the extracted cooperation source table information 9 is acquired.
Next, the cooperative memory management unit 18 acquires the data length for each column identifier of the column definition information 202 (FIG. 3) associated with the acquired column information, and totals the acquired data length.
Next, the cooperation memory management unit 18 defines the total value as the total record target column length as the in-block record size (Sl) of the individual data storage unit.
Next, the linkage memory management unit 18 uses the linkage source table ID as a key to obtain the average transaction count / unit time (Stn) and average record count / transaction (Stl) values from the update data arrival log 15 (FIG. 6). get.
Next, the cooperative memory management unit 18 acquires a buffer having a size corresponding to Stn × St1 × S1 as the individual data storage unit 21.
Then, the cooperation memory management unit 18 stores the generated connector (for example, memory address) to the individual data storage unit 21 in the individual data storage unit ID column of the individual data storage information 206 (FIG. 4), and The original logical table ID is stored in the cooperation target logical table ID column of the data storage unit information 204 (FIG. 4).
Finally, the cooperative memory management unit 18 generates an initialization handle and notifies the conversion unit 12 of the generated initialization handle.
 次に、受信部11、変換部12が処理データを書き込むデータ格納部との接続を確立するオープン処理について記述する。 Next, an open process for establishing a connection with the data storage unit in which the reception unit 11 and the conversion unit 12 write processing data will be described.
 受信部11は、CDC22から取得した更新済レコードを変換部12の個別データ格納部21に書き込むためのオープンハンドルを取得する。
 受信部11は、連携メモリ管理部18に初期化ハンドルと入力エッジIDを通知する。
 連携メモリ管理部18は、通知された入力エッジIDと同じ入力エッジIDが示されている連携接続情報の接続入力情報210(図5)を抽出し、抽出した接続入力情報210内の変換プロセス識別子と連携元論理テーブルIDを取得する。
 次に、連携メモリ管理部18は、取得した変換プロセス識別子と同じプロセスIDが示されている連携管理情報17のプロセス管理表203(図4)を抽出し、抽出したプロセス管理表203内のデータ格納部IDを取得する。
 次に、取得したデータ格納部IDに対応付けられているデータ格納部情報204の中から、取得した連携元論理テーブルIDと同じ連携対象論理テーブルIDが示されているデータ格納部情報204を抽出する。
 次に、連携メモリ管理部18は、抽出したデータ格納部情報204内の個別データ格納情報に格納されている個別データ格納部IDを取得する。
 次に、連携メモリ管理部18は、取得した個別データ格納部IDをキーに共有メモリをマップし、抽出したデータ格納部情報204内の個別排他制御情報に格納されている個別排他制御IDをキーにセマフォを生成する。
 更に、受信部11から通知された初期化ハンドルと同じ初期化ハンドルが示されている連携管理情報17のプロセス管理表203(図4)を抽出し、抽出したプロセス管理表203に対応付けられているオープンハンドル情報208の個別排他制御情報の欄にセマフォキーを格納し、個別データ格納情報の欄に共有メモリのアドレス(個別データ格納部のアドレス)を格納し、入力/出力エッジの欄に受信部11から通知された入力エッジIDを格納し、オープンハンドルを返却する。
The receiving unit 11 acquires an open handle for writing the updated record acquired from the CDC 22 to the individual data storage unit 21 of the conversion unit 12.
The receiving unit 11 notifies the cooperation memory management unit 18 of the initialization handle and the input edge ID.
The cooperation memory management unit 18 extracts the connection input information 210 (FIG. 5) of the cooperation connection information in which the same input edge ID as the notified input edge ID is indicated, and the conversion process identifier in the extracted connection input information 210 And obtain the cooperation source logical table ID.
Next, the cooperation memory management unit 18 extracts the process management table 203 (FIG. 4) of the cooperation management information 17 indicating the same process ID as the acquired conversion process identifier, and the data in the extracted process management table 203 Acquires the storage unit ID.
Next, from the data storage unit information 204 associated with the acquired data storage unit ID, the data storage unit information 204 indicating the same cooperation target logical table ID as the acquired cooperation source logical table ID is extracted. To do.
Next, the cooperative memory management unit 18 acquires the individual data storage unit ID stored in the individual data storage information in the extracted data storage unit information 204.
Next, the cooperative memory management unit 18 maps the shared memory using the acquired individual data storage unit ID as a key, and sets the individual exclusive control ID stored in the individual exclusive control information in the extracted data storage unit information 204 as a key. Create a semaphore for.
Further, the process management table 203 (FIG. 4) of the cooperation management information 17 indicating the same initialization handle as the initialization handle notified from the receiving unit 11 is extracted and associated with the extracted process management table 203. Stores the semaphore key in the individual exclusive control information column of the open handle information 208, stores the shared memory address (individual data storage unit address) in the individual data storage information column, and receives it in the input / output edge column The input edge ID notified from the unit 11 is stored, and the open handle is returned.
 変換部12は、更新反映データを個別データ格納部21に書き込むためのオープンハンドルを取得する。
 変換部12は、連携メモリ管理部18に初期化ハンドルと出力エッジIDを通知する。
 連携メモリ管理部18は、通知された出力エッジIDと同じ出力エッジIDが示されている連携接続情報24の接続出力情報211(図5)を抽出し、抽出した接続出力情報211からCDWidと接続管理IDを取得する。
 次に、連携メモリ管理部18は、取得したCDWidと同じプロセスIDが示されている連携管理情報17のプロセス管理表203(図4)を抽出し、抽出したプロセス管理表203に対応付けられているデータ格納部情報204(図4)のうち、取得した接続管理IDと同じ接続管理IDが示されているデータ格納部情報204を抽出する。
 次に、連携メモリ管理部18は、抽出したデータ格納部情報204に対応付けられている個別データ格納情報206(図4)内の個別データ格納部IDと、個別排他制御情報205(図4)内の個別排他制御IDを取得する。
 次に、連携メモリ管理部18は、取得した個別データ格納部IDをキーに個別データ格納部21をマップする。
 より具体的には、C言語で実装した場合にはマップファイルによる共有メモリをマップする操作となる。
 さらに、連携メモリ管理部18は、取得した個別排他制御IDをキーに排他制御用のセマフォを生成する。
 次に、連携メモリ管理部18は、オープンハンドルを生成し、また、変換部12から通知された初期化ハンドルと同じ初期化ハンドルが示されているプロセス管理表203(図4)を抽出し、抽出したプロセス管理表203に対応付けられているオープンハンドル情報208に、生成したオープンハンドルの情報を格納し、個別排他制御情報の欄にセマフォキーを格納し、個別データ格納情報の欄に共有メモリのアドレス(個別データ格納部のアドレス)を格納し、入力/出力エッジの欄に変換部12から通知された出力エッジIDを格納し、オープンハンドルを変換部12に返却する。
The conversion unit 12 acquires an open handle for writing the update reflected data into the individual data storage unit 21.
The conversion unit 12 notifies the cooperation memory management unit 18 of the initialization handle and the output edge ID.
The cooperative memory management unit 18 extracts the connection output information 211 (FIG. 5) of the cooperative connection information 24 in which the same output edge ID as the notified output edge ID is indicated, and connects to the CDWid from the extracted connection output information 211. Get the management ID.
Next, the cooperation memory management unit 18 extracts the process management table 203 (FIG. 4) of the cooperation management information 17 in which the same process ID as the acquired CDWid is shown, and is associated with the extracted process management table 203. The data storage unit information 204 indicating the same connection management ID as the acquired connection management ID is extracted from the stored data storage unit information 204 (FIG. 4).
Next, the cooperative memory management unit 18 uses the individual data storage unit ID in the individual data storage information 206 (FIG. 4) associated with the extracted data storage unit information 204 and the individual exclusive control information 205 (FIG. 4). The individual exclusive control ID is acquired.
Next, the cooperative memory management unit 18 maps the individual data storage unit 21 using the acquired individual data storage unit ID as a key.
More specifically, when implemented in C language, the operation is to map the shared memory by the map file.
Further, the cooperative memory management unit 18 generates a semaphore for exclusive control using the acquired individual exclusive control ID as a key.
Next, the linkage memory management unit 18 generates an open handle, extracts the process management table 203 (FIG. 4) indicating the same initialization handle as the initialization handle notified from the conversion unit 12, The generated open handle information is stored in the open handle information 208 associated with the extracted process management table 203, the semaphore key is stored in the individual exclusive control information column, and the shared memory is stored in the individual data storage information column. (The address of the individual data storage unit) is stored, the output edge ID notified from the conversion unit 12 is stored in the input / output edge column, and the open handle is returned to the conversion unit 12.
 上述したように本実施の形態によれば、各個別データ格納部内のブロック数およびブロックサイズをデータベース設計情報および過去の更新データ到着ログから算出することが可能となる。
 これにより、データ格納部が確保するメモリ領域が最適化され、データ連携処理実行時のメモリオーバフローの発生を抑制し、かつ利用されない無駄なメモリの確保を回避する。
 そして、データベース連携装置1を実装するサーバ上で稼動可能な変換部12およびCDW処理部13の数を最大化することが可能となり、データベース連携装置1のスループット(単位時間あたりの処理レコード数)を向上させることができる。
 また、変換部12ごとに個別データ格納部21を生成するため、各変換部12における更新済レコードの読み出し、更新反映データの生成、更新反映データの個別データ格納部21への書き込みは、受信部11による更新済レコードの受信及び更新済レコードの書き込みと非同期に行うことができる。
 更に、CDW処理部13ごとに個別データ格納部21を生成するため、各CDW処理部13における更新反映データの読み出し、更新反映データを用いた連携先テーブルの更新は、受信部11による更新済レコードの受信及び更新済レコードの書き込み、各変換部12による更新済レコードの読み出し、更新反映データの生成、更新反映データの個別データ格納部21への書き込みと非同期に行うことができる。
 このため、各CDW処理部13は、1トランザクションにおいて連携先テーブルの2個以上のレコードに対する更新を行うことができる。
As described above, according to the present embodiment, the number of blocks and the block size in each individual data storage unit can be calculated from the database design information and the past update data arrival log.
As a result, the memory area secured by the data storage unit is optimized, the occurrence of memory overflow during execution of data linkage processing is suppressed, and the securing of unused memory that is not used is avoided.
Then, it is possible to maximize the number of conversion units 12 and CDW processing units 13 that can be operated on the server on which the database linkage apparatus 1 is mounted, and the throughput (number of processing records per unit time) of the database linkage apparatus 1 can be increased. Can be improved.
In addition, in order to generate the individual data storage unit 21 for each conversion unit 12, reading of updated records, generation of update reflection data, and writing of update reflection data to the individual data storage unit 21 in each conversion unit 12 are performed by the reception unit. 11 can be performed asynchronously with the reception of the updated record and the writing of the updated record.
Further, since the individual data storage unit 21 is generated for each CDW processing unit 13, the update reflected data is read out in each CDW processing unit 13 and the update of the cooperation destination table using the update reflected data is performed by the receiving unit 11. And writing of updated records, reading of updated records by each conversion unit 12, generation of update reflected data, and writing of update reflected data to the individual data storage unit 21 can be performed asynchronously.
For this reason, each CDW processing unit 13 can update two or more records in the cooperation destination table in one transaction.
 次に、受信部11による更新済レコードの個別データ格納部21への書き込みについて説明する。 Next, writing of the updated record to the individual data storage unit 21 by the receiving unit 11 will be described.
 受信部11は、オープン処理において取得したオープンハンドルと一致するオープンハンドルが定義されている連携管理情報17のプロセス管理表203(図4)を抽出し、抽出したプロセス管理表203に対応付けられているオープンハンドル情報208の個別排制御情報から個別排他制御部20のセマフォを取得し、個別データ格納部21への書込み権利を取得し、CDC22から受信した更新済レコードを個別データ格納部21にデータを書き込む。
 書込みが完了したら、個別排他制御部20のセマフォを解放し、データ処理制御部16にプロセス間通信用のメッセージを書き込む。
 データ処理制御部16は、図7に示すようなリスト構造を備えたFIFO(First-In First-Out)構造であり、CDC22から受信した順に連携先データベース5に更新済レコードを反映する機能を有する。
 受信部11は、データ処理制御部16にプロセス間通信用のメッセージを書き込んだ後、読み出し制御フラグのセマフォを解放する。
 これにより、変換部12にデータ書込みイベントが通知されることとなり、連携元データベース3の更新順序制約を守り、連携先データベース5に更新データを反映することができる。
The receiving unit 11 extracts the process management table 203 (FIG. 4) of the cooperation management information 17 in which the open handle that matches the open handle acquired in the open process is extracted, and is associated with the extracted process management table 203. The semaphore of the individual exclusive control unit 20 is acquired from the individual exclusion control information of the open handle information 208, the right to write to the individual data storage unit 21 is acquired, and the updated record received from the CDC 22 is stored in the individual data storage unit 21. Write.
When the writing is completed, the semaphore of the individual exclusive control unit 20 is released, and a message for interprocess communication is written in the data processing control unit 16.
The data processing control unit 16 has a FIFO (First-In First-Out) structure having a list structure as shown in FIG. 7, and has a function of reflecting updated records in the cooperation destination database 5 in the order received from the CDC 22. .
The receiving unit 11 writes a message for inter-process communication in the data processing control unit 16 and then releases the semaphore of the read control flag.
Thereby, the data writing event is notified to the conversion unit 12, and the update order restriction of the cooperation source database 3 can be observed and the update data can be reflected in the cooperation destination database 5.
 次に、図9をもとに、変換部12による更新反映データの個別データ格納部21への書き込みについて説明する。
 なお、図9は変換部12における1トランザクションの処理を表している。
Next, writing of the update reflected data into the individual data storage unit 21 by the conversion unit 12 will be described with reference to FIG.
FIG. 9 shows processing of one transaction in the conversion unit 12.
 変換部12は、自身(変換部12)のプロセスIDが記述されているプロセス管理表203から(図4)初期化ハンドルを取得し、初期化ハンドルに紐付けられた個別データ格納部21への接続先アドレスを取得する(S100)。
 取得した接続先アドレスに基づき、個別データ格納部21から更新済レコードを読み出し、読み出した更新済レコードに対して変換処理を行って更新反映データを生成する。
 なお、変換部12は、変換処理を実施する際に連携接続情報24(図5)から取得した出力エッジをキーに連携管理情報17を参照してオープンハンドルを取得する。
 次に、変換部12は、オープンハンドルをキーに管理された個別排他制御部20のセマフォを取得する(S101)。
 CDW処理部13の個別データ格納部21のブロックが全て未処理状態の場合、すなわちCDW処理部13がデキューしていないデータで個別データ格納部21のバッファが満たされている場合は、変換部12にて書込み待ちが発生することとなるが、本実施の形態では、単位時間当たりのトランザクション到着頻度を更新データ到着ログ15で蓄積し、統計処理の結果を図6の形式で保管している。
 この図6の情報をもとに連携メモリ管理部18が個別データ格納部のブロック数を算出していることから、CDW処理部13が正常稼動時に個別データ格納部のブロックが全て未処理となる事象が発生することを回避することができる。
 このとき、変換部12が複数のCDW処理部13に更新反映データを書き込む場合は、出力エッジ毎に対応するオープンハンドル、個別排他制御部20のセマフォを全て取得していることが必要である(S102)。
 次に、変換部12は、オープンハンドル、セマフォを取得した個別データ格納部21への書込み処理を並列に実施する(S103)。
 次に、変換部12は、出力エッジに該当するそれぞれの個別排他制御部20のセマフォを解放する(S104)。
 次に、変換部12は、全ての個別排他制御部20のセマフォを開放したことを確認する(S105)。
 次に、変換部12は、CDW処理部13のデータ処理制御部16のセマフォを取得する(S106)。
 次に、変換部12は、データ処理制御部16へのエンキュー処理を行い、出力エッジ毎に図8に示す更新データ情報310の出力エッジと更新レコード情報の組を格納する(S107)。
 次に、変換部12は、CDW処理部13のデータ処理制御部16のセマフォを解放する(S108)。
 すべてのCDW処理部13のデータ処理制御部16へのエンキューが完了したら、1トランザクションデータに対する変換部12の処理が完了する(S109)。
The conversion unit 12 acquires the initialization handle from the process management table 203 in which the process ID of itself (the conversion unit 12) is described (FIG. 4), and stores the initialization handle in the individual data storage unit 21 linked to the initialization handle. A connection destination address is acquired (S100).
Based on the acquired connection destination address, the updated record is read from the individual data storage unit 21, and the read updated record is converted to generate the update reflected data.
Note that the conversion unit 12 acquires an open handle by referring to the link management information 17 using the output edge acquired from the link connection information 24 (FIG. 5) as a key when performing the conversion process.
Next, the conversion unit 12 acquires the semaphore of the individual exclusive control unit 20 managed using the open handle as a key (S101).
When all the blocks of the individual data storage unit 21 of the CDW processing unit 13 are in an unprocessed state, that is, when the buffer of the individual data storage unit 21 is filled with data that has not been dequeued by the CDW processing unit 13, the conversion unit 12 In this embodiment, the transaction arrival frequency per unit time is accumulated in the update data arrival log 15 and the statistical processing result is stored in the format shown in FIG.
Since the cooperative memory management unit 18 calculates the number of blocks of the individual data storage unit based on the information of FIG. 6, all the blocks of the individual data storage unit are unprocessed when the CDW processing unit 13 is operating normally. The occurrence of an event can be avoided.
At this time, when the conversion unit 12 writes update reflected data to a plurality of CDW processing units 13, it is necessary to acquire all the open handles corresponding to each output edge and the semaphores of the individual exclusive control unit 20 ( S102).
Next, the conversion unit 12 performs the writing process to the individual data storage unit 21 that has acquired the open handle and the semaphore in parallel (S103).
Next, the conversion unit 12 releases the semaphore of each individual exclusive control unit 20 corresponding to the output edge (S104).
Next, the conversion unit 12 confirms that all the semaphores of the individual exclusive control unit 20 have been released (S105).
Next, the conversion unit 12 acquires the semaphore of the data processing control unit 16 of the CDW processing unit 13 (S106).
Next, the conversion unit 12 performs an enqueue process to the data processing control unit 16, and stores a set of the output edge and update record information of the update data information 310 shown in FIG. 8 for each output edge (S107).
Next, the conversion unit 12 releases the semaphore of the data processing control unit 16 of the CDW processing unit 13 (S108).
When the enqueue of all the CDW processing units 13 to the data processing control unit 16 is completed, the processing of the conversion unit 12 for one transaction data is completed (S109).
 次に、図14をもとに、CDW処理部13による連携先データベースへのデータ反映処理を説明する。 Next, the data reflection process to the cooperation destination database by the CDW processing unit 13 will be described with reference to FIG.
 CDW処理部13は、自身(CDW処理部13)のプロセスIDと同じプロセスIDが示されているプロセス管理表203(図4)を抽出し、抽出したプロセス管理表203に格納されている初期化ハンドルを取得する(S401)。
 次に、CDW処理部13は、抽出したプロセス管理表203に対応付けられているデータ格納部情報のデータ格納部IDをもとに個別排他制御情報を取得し、当該CDW処理プロセスが読み込む個別データ格納部IDを取得する(S402)。
 次に、当該CDW処理部13へのデータ書込みを制御するデータ処理制御部16(FIFO構造)に蓄積される書込み待ちデータをデキュー処理する。
 データ処理制御部16には、個別データ格納部21に蓄積されている変換部12からの更新反映データに対応する書き込み要求メッセージが格納されている。
 このとき、データ処理制御部16から複数の書き込み要求メッセージを一括してデキューするようにしてもよい(S403)。
 CDW処理部13は、先に取得した個別排他制御情報をもとに各個別データ格納部21をロックし、格納されている更新反映データをローカルメモリにコピーする(S404)。
 データ処理制御部16から全ての書き込み要求メッセージを取得し、また、全ての更新反映データをローカルメモリにコピーした後(S405)に、CDW処理部13はデータ処理制御部16からデキューした書き込み要求メッセージの順にローカルメモリにコピーした更新反映データをもとに、連携先データベース5のDBMS(DataBase Management System)に対して発行するSQL文を生成する(S406)。
 次に、CDW処理部13は、S406で生成したSQL文を順に実行する(S407)。
 このとき、SQL1文ごとにCommit処理は実施しない。
 データ処理制御部16と個別データ格納部21から取得した全てのデータに対するSQL文を発行したのち、CDW処理部13は連携先データベース5のDBMSに対してCommit処理を発行する。
 これにより、CDW処理部13が実施するCommit処理の発行回数が削減され、連携先データベースとの通信処理時間削減の効果を得る(S409)。
The CDW processing unit 13 extracts the process management table 203 (FIG. 4) in which the same process ID as the process ID of itself (CDW processing unit 13) is shown, and the initialization stored in the extracted process management table 203 A handle is acquired (S401).
Next, the CDW processing unit 13 acquires the individual exclusive control information based on the data storage unit ID of the data storage unit information associated with the extracted process management table 203, and the individual data read by the CDW processing process The storage unit ID is acquired (S402).
Next, the write-waiting data stored in the data processing control unit 16 (FIFO structure) that controls data writing to the CDW processing unit 13 is dequeued.
The data processing control unit 16 stores a write request message corresponding to the update reflected data from the conversion unit 12 accumulated in the individual data storage unit 21.
At this time, a plurality of write request messages may be collectively dequeued from the data processing control unit 16 (S403).
The CDW processing unit 13 locks each individual data storage unit 21 based on the previously acquired individual exclusive control information and copies the stored update reflection data to the local memory (S404).
After obtaining all the write request messages from the data processing control unit 16 and copying all the update reflected data to the local memory (S405), the CDW processing unit 13 dequeues the write request message from the data processing control unit 16. Based on the update reflection data copied to the local memory in this order, an SQL statement to be issued to the DBMS (DataBase Management System) of the cooperation destination database 5 is generated (S406).
Next, the CDW processing unit 13 sequentially executes the SQL statements generated in S406 (S407).
At this time, the commit process is not performed for each SQL1 sentence.
After issuing SQL statements for all data acquired from the data processing control unit 16 and the individual data storage unit 21, the CDW processing unit 13 issues a commit process to the DBMS of the cooperation destination database 5.
As a result, the number of commit processes issued by the CDW processing unit 13 is reduced, and an effect of reducing the communication processing time with the cooperation destination database is obtained (S409).
 本実施の形態に係るデータベース連携装置は、複数の連携元データベース3を対象に更新データを複数の連携先データベース5に配信する。
 そして、本実施の形態に係るデータベース連携装置では、更新データの仕様を変換する複数の変換部12と、複数の変換部12から変換データの入力を受付け、連携先データベース5に反映するCDW処理部13とに対して、データ連携連動型バッファ管理部14を備えている。
 そして、データ連携連動型バッファ管理部14において、CDW処理部13ごとに、変換部12ごとの個別データ格納部21と個別排他制御部20を構成することで、変換部12からのデータ書込みの並列処理が可能となり、スループットが向上する。
The database linkage apparatus according to the present embodiment distributes update data to a plurality of linkage destination databases 5 for a plurality of linkage source databases 3.
And in the database cooperation apparatus which concerns on this Embodiment, the CDW process part which receives the input of conversion data from the some conversion part 12 which converts the specification of update data, and the some conversion part 12, and reflects in the cooperation destination database 5 13 is provided with a data linkage interlocking buffer management unit 14.
In the data linkage interlocking buffer management unit 14, for each CDW processing unit 13, an individual data storage unit 21 and an individual exclusive control unit 20 for each conversion unit 12 are configured, so that data writing from the conversion unit 12 is performed in parallel. Processing is possible and throughput is improved.
 以上、本実施の形態では、
 複数のデータベースの間でデータを転送するデータベース連携装置を説明した。
As described above, in the present embodiment,
A database linkage apparatus for transferring data between a plurality of databases has been described.
 また、本実施の形態では、
 データ連携の定義が記載された統合連携情報とデータ連携処理部、データ連携連動型バッファ管理部を備え、
 データ連携処理部は、少なくとも変換部、CDW処理部からなり、
 データ連携連動型バッファ管理部は、変換部とCDW処理部間のデータの受け渡しをCDW処理部ごとに制御するデータ処理制御部とCDW処理部ごとに構成したデータ格納部を備え、
 データ格納部は当該CDW処理部にデータを書き込む変換部ごとに個別排他制御部と個別データ格納部を備え、
 連携元データベースのテーブルが更新された際に、更新レコードの取得、変換、連携先データベースのテーブルへの反映を非同期に処理し、複数の更新レコードを一括して連携先データベースに反映するデータベース連携装置を説明した。
In the present embodiment,
Integrated linkage information with data linkage definition, data linkage processing unit, data linkage linked buffer management unit,
The data linkage processing unit includes at least a conversion unit and a CDW processing unit,
The data linkage interlocking buffer management unit includes a data processing control unit that controls data transfer between the conversion unit and the CDW processing unit for each CDW processing unit, and a data storage unit configured for each CDW processing unit,
The data storage unit includes an individual exclusive control unit and an individual data storage unit for each conversion unit that writes data to the CDW processing unit,
Database linkage device that asynchronously processes the acquisition and conversion of update records and the reflection to the linkage destination database table when the linkage source database table is updated, and reflects multiple update records to the linkage destination database in a batch Explained.
 また、本実施の形態では、
 データ連携連動型バッファ管理部は、連携管理情報を備え、
 連携管理情報は、データ反映処理を実施するCDW処理部ごとに連携元データベースの変換処理を実施するプロセス単位で構成した個別データ格納部の情報、および個別排他制御情報の対応関係を備え、
 個別データ格納部に接続管理ID重複数、連携対象カラム長総数を備えることを説明した。
In the present embodiment,
The data linkage interlocking buffer management unit has linkage management information,
The linkage management information includes the correspondence relationship between the individual data storage unit configured by the process unit that performs the conversion process of the linkage source database for each CDW processing unit that performs the data reflection process, and the individual exclusive control information,
It has been described that the individual data storage unit is provided with a plurality of connection management IDs and the total column length to be linked.
 また、本実施の形態では、
 統合連携情報に、連携元データベースのカラム単位で連携先データベースへの連携情報を連携元データベースカラム識別子と連携先データベースカラム識別子の組で構成する情報とを備え、
 データ連携処理部の変換部が、当該情報を用いてCDW処理部にデータを書き込む際に、データ書込み先となる全ての各個別データ格納部にデータを一括して書込み、書き込み完了後にデータ処理制御部を介して、複数の当該CDW処理部に書込みを通知し、複数のCDW処理部を並列に稼動することを説明した。
In the present embodiment,
The integrated linkage information includes information that configures the linkage information to the linkage destination database in units of columns of the linkage source database as a combination of the linkage source database column identifier and the linkage destination database column identifier,
When the conversion unit of the data cooperation processing unit writes data to the CDW processing unit using the information, the data is collectively written in all the individual data storage units that are the data write destinations, and the data processing control is performed after the writing is completed. It has been explained that writing is notified to a plurality of the CDW processing units via the unit, and the plurality of CDW processing units are operated in parallel.
 また、本実施の形態では、
 特定のCDW処理部がデータを読み取るための個別データ格納部を複数のデータバッファから構成し、それぞれの個別データ格納部に対する個別排他制御を設けることにより、複数の変換部からの並列書込みを可能とすることを説明した。
In the present embodiment,
An individual data storage unit for a specific CDW processing unit to read data is composed of a plurality of data buffers, and by providing individual exclusive control for each individual data storage unit, parallel writing from a plurality of conversion units is possible. Explained what to do.
 また、本実施の形態では、
 連携元データベースから送信された抽出データの単位時間当たりの到着回数と単位到着当たりのレコード数を更新データ到着ログとして蓄積し、
 連携メモリ管理部が、当該ログに対する統計処理手段を備え、
 連携情報更新時に特定のCDW処理部が対象とする連携情報に定義されるカラム長の合計と単位到着あたりのレコード数の積から個別データ格納部内のブロックサイズを算出し、データの到着回数とブロックサイズと同一連携元テーブルを対象とした連携定義数の積から、連携元テーブルあたりのデータバッファサイズを算出し、特定CDW処理部に対する全連携元テーブルに対して当該データバッファサイズの算出を実施し、個別データ格納部の容量を算出することを説明した。
In the present embodiment,
Accumulate the number of arrivals per unit time and the number of records per unit arrival of extracted data sent from the linkage source database as an update data arrival log,
The linked memory management unit includes statistical processing means for the log,
The block size in the individual data storage unit is calculated from the product of the total column length defined in the linkage information targeted by a specific CDW processing unit when the linkage information is updated and the number of records per unit arrival, and the number of data arrivals and blocks Calculate the data buffer size per linkage source table from the product of the number of linkage definitions for the same linkage source table and the size, and calculate the data buffer size for all linkage source tables for the specific CDW processing unit The calculation of the capacity of the individual data storage unit has been described.
 実施の形態2.
 本実施の形態では、連携元データベース3と連携先データベース5の間で新しいデータベース定義を追加する例を図面を参照して記載する。
Embodiment 2. FIG.
In this embodiment, an example of adding a new database definition between the cooperation source database 3 and the cooperation destination database 5 will be described with reference to the drawings.
 例えば、いずれかの連携先データベース5で連携先テーブルが追加された場合には、追加された連携先テーブルに対応させて、変換部12からCDW処理部13に更新反映データを受け渡すための個別データ格納部21の容量を増やす又は新たな個別データ格納部21を生成する必要がある。
 本実施の形態では、状況の変化に応じて個別データ格納部21の容量の変更や新たな個別データ格納部21の生成を行う例を説明する。
For example, when a cooperation destination table is added in any of the cooperation destination databases 5, an individual for transferring update reflection data from the conversion unit 12 to the CDW processing unit 13 in correspondence with the added cooperation destination table. It is necessary to increase the capacity of the data storage unit 21 or generate a new individual data storage unit 21.
In the present embodiment, an example will be described in which the capacity of the individual data storage unit 21 is changed or a new individual data storage unit 21 is generated in accordance with a change in the situation.
 図11をもとに連携定義が変更された際の処理フローを記載する。
 ここでは、連携先データベース5で連携先テーブルが追加された場合、すなわち、CDW処理部13の出力エッジ数が増加した場合を例にして説明を行う。
A processing flow when the linkage definition is changed based on FIG. 11 will be described.
Here, the case where the cooperation destination table is added in the cooperation destination database 5, that is, the case where the number of output edges of the CDW processing unit 13 is increased will be described as an example.
 CDW処理部13は、追加された出力エッジIDと自身のCDWidを連携メモリ管理部18に通知する。
 なお、この時点では、追加された出力エッジIDが含まれる接続出力情報211(図5)は生成済みであるとする。
 連携メモリ管理部18は、通知された出力エッジIDとCDWidが示される接続出力情報211を抽出し、抽出した接続出力情報211に示される接続管理IDを取得する(S301)。
 次に、連携メモリ管理部18は、通知されたCDWidと同じプロセスIDが示されている連携管理情報17のプロセス管理表203(図4)を抽出し、抽出したプロセス管理表203に対応付けられているデータ格納部情報204のうち、S301で取得した接続管理IDと同じ接続管理IDが示されているデータ格納部情報204を検索する(S302)。
 該当するデータ格納部情報204が抽出できなかった場合、すなわち、S301で取得した接続管理IDが未登録の場合(S303でYES)、新たな個別データ格納部21と個別排他制御部20を生成する必要があるため、連携メモリ管理部18は、図S301で抽出した接続出力情報211より実行時付加情報(レコード長)を取得し、個別データ格納部21のブロック内レコードのサイズ(Sl)とする。
 次に、連携メモリ管理部18は、更新データ到着ログ15を参照し、接続出力情報211から取得した接続管理IDが一致するレコードを選択し、平均トランザクション数/単位時間(Stn)、平均レコード数/トランザクション(Stl)の値を取得する(S304)。このとき、連携元となる変換部12が追加された場合、すなわち連携元データベースのテーブルが新規に追加された場合には、平均トランザクション数、平均レコード数が更新データ到着ログに記録されていない場合がある。この場合には、予め指定した規定値を平均トランザクション数、平均レコード数として割り当て、個別データ格納部21のサイズを算出する際の指標とする。
 次に、連携メモリ管理部18は、個別データ格納部として(Stn×重複接続管理ID数)×Stl×Slに相当するサイズのバッファを取得し、個別データ格納情報206(図4)の個別データ格納部ID欄にバッファへの接続子を、接続管理ID欄に当該接続管理IDを格納する行を追加する(S305)。
 次に、CDW処理部13が個別データ格納部21へのアクセスを確立する(S306)。
The CDW processing unit 13 notifies the linked memory management unit 18 of the added output edge ID and its own CDWid.
At this time, it is assumed that the connection output information 211 (FIG. 5) including the added output edge ID has been generated.
The cooperative memory management unit 18 extracts the connection output information 211 indicating the notified output edge ID and CDWid, and acquires the connection management ID indicated in the extracted connection output information 211 (S301).
Next, the cooperation memory management unit 18 extracts the process management table 203 (FIG. 4) of the cooperation management information 17 indicating the same process ID as the notified CDWid, and associates it with the extracted process management table 203. Among the stored data storage unit information 204, the data storage unit information 204 showing the same connection management ID as the connection management ID acquired in S301 is searched (S302).
If the corresponding data storage unit information 204 cannot be extracted, that is, if the connection management ID acquired in S301 is not registered (YES in S303), a new individual data storage unit 21 and individual exclusive control unit 20 are generated. Since it is necessary, the cooperative memory management unit 18 acquires additional information (record length) at the time of execution from the connection output information 211 extracted in FIG. .
Next, the linked memory management unit 18 refers to the update data arrival log 15 and selects a record having a matching connection management ID acquired from the connection output information 211, and calculates the average number of transactions / unit time (Stn) and the average number of records. / The value of transaction (St1) is acquired (S304). At this time, when the conversion unit 12 to be a cooperation source is added, that is, when a table of the cooperation source database is newly added, the average number of transactions and the average number of records are not recorded in the update data arrival log There is. In this case, a predetermined value specified in advance is assigned as the average number of transactions and the average number of records, and is used as an index for calculating the size of the individual data storage unit 21.
Next, the cooperative memory management unit 18 acquires a buffer having a size corresponding to (Stn × number of duplicate connection management IDs) × St1 × S1 as an individual data storage unit, and stores the individual data in the individual data storage information 206 (FIG. 4). A connector for the buffer is added to the storage unit ID column, and a line for storing the connection management ID is added to the connection management ID column (S305).
Next, the CDW processing unit 13 establishes access to the individual data storage unit 21 (S306).
 一方、S303にて接続管理IDが存在する場合、S301で取得した接続出力情報211から実行時付加情報(レコード長)を取得し、取得した実行時付加情報(レコード長)を、S302の検索の結果得られたデータ格納部情報204(図4)に対応付けられている個別データ格納情報206の連携対象カラム長総数(Sl)に加算する(S307)。
 また、連携メモリ管理部18は、個別データ格納情報206の接続管理ID重複数を加算する(S308)。
 次に、連携メモリ管理部18は、接続管理IDをキーに更新データ到着ログ15から最新の、平均トランザクション数/単位時間(Stn)、平均レコード数/トランザクション(Stl)の値を取得し、Stn×Stl×Slを算出し、個別データ格納部の増分容量を算出する(S309)。
 次に、連携メモリ管理部18は、変換部接続情報(図5)から出力エッジIDをもとに変換部12のプロセス識別子を検索し、プロセス識別子を取得した変換部12と追加対象のCDW処理部13に対して、当該個別データ格納部21へのアクセス遮断処理の実施を通知する(S310)。
 アクセス遮断完了後、連携メモリ管理部18は、当該個別データ格納部21の容量拡大を実施する(S311)。
 最後に、連携メモリ管理部18は、当該個別データ格納部21へのアクセスが遮断されていた変換部12及びCDW処理部13に再オープン処理実施を通知する(S312)。
On the other hand, if there is a connection management ID in S303, the runtime additional information (record length) is acquired from the connection output information 211 acquired in S301, and the acquired runtime additional information (record length) is used for the search in S302. The result is added to the total column length (Sl) to be linked in the individual data storage information 206 associated with the data storage unit information 204 (FIG. 4) obtained (S307).
Further, the cooperative memory management unit 18 adds the connection management ID duplication number of the individual data storage information 206 (S308).
Next, the linked memory management unit 18 acquires the latest average transaction count / unit time (Stn) and average record count / transaction (Stl) values from the update data arrival log 15 using the connection management ID as a key, and Stn * St1 * S1 is calculated, and the incremental capacity of the individual data storage unit is calculated (S309).
Next, the cooperative memory management unit 18 searches the conversion unit connection information (FIG. 5) for the process identifier of the conversion unit 12 based on the output edge ID, and acquires the process identifier and the addition target CDW process. The execution of the access blocking process to the individual data storage unit 21 is notified to the unit 13 (S310).
After the access blocking is completed, the cooperative memory management unit 18 expands the capacity of the individual data storage unit 21 (S311).
Finally, the cooperative memory management unit 18 notifies the conversion unit 12 and the CDW processing unit 13 that have been blocked from accessing the individual data storage unit 21 that the reopening process has been performed (S312).
 次に、S304~S306の処理時にて新規に個別データ格納部21を生成した場合の変換部12によるオープン処理のフローを説明する。 Next, the flow of the open process by the conversion unit 12 when the individual data storage unit 21 is newly generated during the processing of S304 to S306 will be described.
 変換部12は、連携メモリ管理部18に対して初期化ハンドルと出力エッジIDを通知する。
 連携メモリ管理部18は、連携接続情報の接続先情報211(図5)から出力エッジIDをキーに、CDWidと接続管理IDを取得する。
 次に、連携メモリ管理部18は、取得したCDWidと同じプロセスIDが示されている連携管理情報17のプロセス管理表203(図4)を抽出し、抽出したプロセス管理表203に対応付けられているデータ格納部情報204のうち、取得した接続管理IDと同じ接続管理IDが示されているデータ格納部情報204を抽出する。
 次に、連携メモリ管理部18は、抽出したデータ格納部情報204に対応付けられている個別データ格納情報の個別データ格納部IDと、個別排他制御情報の個別排他制御IDを取得する。
 次に、連携メモリ管理部18は、取得した個別データ格納部IDをキーに個別データ格納部21をマップする。
 より具体的には、C言語で実装した場合にはマップファイルによる共有メモリをマップする操作となる。
 さらに、連携メモリ管理部18は、個別排他制御IDをキーに排他制御用のセマフォを生成する。
 次に、連携メモリ管理部18は、オープンハンドルを生成し、また、変換部12から通知された初期化ハンドルと同じ初期化ハンドルが示されているプロセス管理表203(図4)を抽出し、抽出したプロセス管理表203に対応付けられているオープンハンドル情報208に、生成したオープンハンドルの情報を格納し、個別排他制御情報の欄にセマフォキーを格納し、個別データ格納情報の欄に共有メモリのアドレス(個別データ格納部のアドレス)を格納し、入力/出力エッジの欄に変換部12から通知された出力エッジIDを格納し、オープンハンドルを変換部12に返却する。
The conversion unit 12 notifies the association memory management unit 18 of the initialization handle and the output edge ID.
The cooperative memory management unit 18 acquires the CDWid and the connection management ID from the connection destination information 211 (FIG. 5) of the cooperative connection information using the output edge ID as a key.
Next, the cooperation memory management unit 18 extracts the process management table 203 (FIG. 4) of the cooperation management information 17 in which the same process ID as the acquired CDWid is shown, and is associated with the extracted process management table 203. Data storage unit information 204 having the same connection management ID as the acquired connection management ID is extracted.
Next, the cooperative memory management unit 18 acquires the individual data storage unit ID of the individual data storage information associated with the extracted data storage unit information 204 and the individual exclusive control ID of the individual exclusive control information.
Next, the cooperative memory management unit 18 maps the individual data storage unit 21 using the acquired individual data storage unit ID as a key.
More specifically, when implemented in C language, the operation is to map the shared memory by the map file.
Furthermore, the cooperative memory management unit 18 generates a semaphore for exclusive control using the individual exclusive control ID as a key.
Next, the linkage memory management unit 18 generates an open handle, extracts the process management table 203 (FIG. 4) indicating the same initialization handle as the initialization handle notified from the conversion unit 12, The generated open handle information is stored in the open handle information 208 associated with the extracted process management table 203, the semaphore key is stored in the individual exclusive control information column, and the shared memory is stored in the individual data storage information column. (The address of the individual data storage unit) is stored, the output edge ID notified from the conversion unit 12 is stored in the input / output edge column, and the open handle is returned to the conversion unit 12.
 本実施の形態によれば、連携接続情報24を更新した場合に、更新された連携接続情報24に関連する変換部12とCDW処理部13の処理のみが中断され、データ格納部19とのオープン処理が発生することとなる。
 従来では、連携接続情報24の更新によりプロセス間通信を実施するためバッファを共有する全ての変換部とCDW処理部の処理を中断していた。
 しかし、本実施の形態により、オープン処理の発生対象を連携元テーブルとして追加されたテーブルに対応する変換部12と連携先テーブルを構成するデータベースに対応して稼動するCDW処理部13のみに限定することが可能となり、データベース連携装置のスループットを向上させることができる。
According to the present embodiment, when the cooperative connection information 24 is updated, only the processing of the conversion unit 12 and the CDW processing unit 13 related to the updated cooperative connection information 24 is interrupted, and the data storage unit 19 is opened. Processing will occur.
Conventionally, in order to perform inter-process communication by updating the cooperative connection information 24, the processing of all the conversion units and the CDW processing unit sharing the buffer has been interrupted.
However, according to the present embodiment, the generation target of the open processing is limited to only the conversion unit 12 corresponding to the table added as the cooperation source table and the CDW processing unit 13 operating corresponding to the database constituting the cooperation destination table. Thus, the throughput of the database linkage apparatus can be improved.
 このように、本実施の形態では、いずれかのCDW処理部13が対象とする連携先テーブルが変化した場合に、当該CDW処理部13以外のCDW処理部13と、当該CDW処理部13を更新反映データの受け渡し先としている変換部12以外の変換部12の動作に影響を与えずに、当該CDW処理部13に対応する新たな個別データ格納部21の生成及び当該CDW処理部13に対応する既存の個別データ格納部21の容量の変更を行うことができる。 As described above, in this embodiment, when the cooperation destination table targeted by any of the CDW processing units 13 is changed, the CDW processing unit 13 other than the CDW processing unit 13 and the CDW processing unit 13 are updated. Generation of a new individual data storage unit 21 corresponding to the CDW processing unit 13 and processing of the CDW processing unit 13 are performed without affecting the operation of the conversion unit 12 other than the conversion unit 12 that is the transfer destination of the reflected data. The capacity of the existing individual data storage unit 21 can be changed.
 以上、本実施の形態では、
 統合連携情報が更新された際に、連携先テーブル情報を参照し、連携先テーブル情報に追加された新たな連携先テーブルのカラム構成情報に基づき、変換部から書き込まれるデータ長を算出する連携メモリ管理部を備え、
 連携先データベースとして新たに追加されたレコードのデータ長に応じて個別データ格納部の容量を算出し、個別データ格納部を拡張可能なデータベース連携装置を説明した。
As described above, in the present embodiment,
Linked memory that refers to the link destination table information when the integrated link information is updated, and calculates the data length written from the conversion unit based on the column configuration information of the new link destination table added to the link destination table information With a management department,
A database cooperation apparatus has been described in which the capacity of an individual data storage unit is calculated according to the data length of a record newly added as a cooperation destination database, and the individual data storage unit can be expanded.
 実施の形態3.
 本実施の形態では、データベース連携装置1を実装するハードウェアに加えて、個別データ格納部21のデータを一時的に格納する二次記憶格納部26を設けた例を、図面を参照して説明する。
Embodiment 3 FIG.
In the present embodiment, an example in which a secondary storage storage unit 26 for temporarily storing data in the individual data storage unit 21 is provided in addition to hardware for mounting the database linkage apparatus 1 will be described with reference to the drawings. To do.
 図12は、本実施の形態に係るシステム構成例を示す。
 なお、図12では、作図上の理由から、データ連携設計部6、データ連携設計情報7の図示を省略しているが、図2と同様に、データベース連携装置1には、データ連携設計部6、データ連携設計情報7が含まれているものとする。
 本実施の形態では、図1に示すデータベース連携装置1の構成に加えて、二次記憶装置である二次記憶格納部26が含まれるデータ退避装置27を設けている。
 データ退避装置27とデータベース連携装置1は、同一のハードウェア装置に実装しても、異なるハードウェア装置に実装してもよい。
 また、データ退避装置27を複数のデータベース連携装置1で利用する構成であってもよい。
FIG. 12 shows a system configuration example according to the present embodiment.
In FIG. 12, the data linkage design unit 6 and the data linkage design information 7 are not shown for reasons of drawing. However, as in FIG. Assume that the data linkage design information 7 is included.
In this embodiment, in addition to the configuration of the database cooperation device 1 shown in FIG. 1, a data saving device 27 including a secondary storage unit 26 that is a secondary storage device is provided.
The data saving device 27 and the database cooperation device 1 may be mounted on the same hardware device or different hardware devices.
Moreover, the structure which utilizes the data evacuation apparatus 27 with the some database cooperation apparatus 1 may be sufficient.
 実施の形態1及び2では、個別データ格納部21を主記憶装置(共有メモリ)上に生成している。
 連携先データベース5がなんらかの理由により停止した場合、CDW処理部13は連携先データベース5に対する書込み処理を実施することができないため、個別データ格納部21に格納されている更新反映データを消去することができない。
 この場合、個別データ格納部21を実装するメモリが枯渇し、変換部12の処理が待ち状態となるため、その影響が受信部11に伝播し、CDC22からの更新データ受け取りが滞ることになってしまう。
In the first and second embodiments, the individual data storage unit 21 is generated on the main storage device (shared memory).
When the cooperation destination database 5 is stopped for some reason, the CDW processing unit 13 cannot erase the update reflected data stored in the individual data storage unit 21 because the CDW processing unit 13 cannot perform the writing process to the cooperation destination database 5. Can not.
In this case, the memory in which the individual data storage unit 21 is mounted is depleted and the processing of the conversion unit 12 is in a waiting state, so that the influence is propagated to the reception unit 11 and reception of update data from the CDC 22 is delayed. End up.
 そこで、本実施の形態では、二次記憶格納部26が含まれるデータ退避装置27を備えることで、個別データ格納部21に格納すべき更新反映データを一時的に二次記憶格納部26に退避させ、変換部12の処理待ち状態の発生を回避し、CDC22からの更新データ到着遅れを発生させないようにする。
 つまり、個別データ格納部21における更新反映データの蓄積量が所定レベルを超え、オーバーフローが近くなると、連携メモリ管理部18は、二次記憶格納部26内に更新反映データ用の個別データ格納部21を生成する。
 変換部12は、連携メモリ管理部18により二次記憶格納部26内に個別データ格納部21が生成される前は、主記憶装置(共有メモリ)内の個別データ格納部21に更新反映データを書き込み、連携メモリ管理部18により二次記憶格納部26内に個別データ格納部21が生成された後は、二次記憶格納部26内の個別データ格納部21に更新反映データを書き込む。
 また、同様に、個別データ格納部21における更新済レコードの蓄積量が所定レベルを超え、オーバーフローが近くなると、連携メモリ管理部18は、二次記憶格納部26内に更新済レコード用の個別データ格納部21を生成する。
 受信部11は、連携メモリ管理部18により二次記憶格納部26内に個別データ格納部21が生成される前は、主記憶装置(共有メモリ)内の個別データ格納部21に更新済レコードを書き込み、連携メモリ管理部18により二次記憶格納部26内に個別データ格納部21が生成された後は、二次記憶格納部26内の個別データ格納部21に更新済レコードを書き込む。
Therefore, in the present embodiment, by providing the data saving device 27 including the secondary storage unit 26, the update reflected data to be stored in the individual data storage unit 21 is temporarily saved in the secondary storage unit 26. Thus, the processing unit 12 is prevented from waiting for processing, and the update data arrival delay from the CDC 22 is prevented from occurring.
That is, when the accumulated amount of the update reflected data in the individual data storage unit 21 exceeds a predetermined level and the overflow is close, the cooperative memory management unit 18 stores the individual data storage unit 21 for update reflected data in the secondary storage storage unit 26. Is generated.
The conversion unit 12 sends the update reflected data to the individual data storage unit 21 in the main storage device (shared memory) before the individual data storage unit 21 is generated in the secondary storage unit 26 by the cooperative memory management unit 18. After the individual data storage unit 21 is generated in the secondary storage unit 26 by the writing / cooperation memory management unit 18, the update reflected data is written in the individual data storage unit 21 in the secondary storage unit 26.
Similarly, when the accumulated amount of updated records in the individual data storage unit 21 exceeds a predetermined level and the overflow is near, the linked memory management unit 18 stores the individual data for the updated records in the secondary storage unit 26. The storage unit 21 is generated.
The receiving unit 11 stores the updated record in the individual data storage unit 21 in the main storage device (shared memory) before the individual data storage unit 21 is generated in the secondary storage unit 26 by the cooperative memory management unit 18. After the individual data storage unit 21 is generated in the secondary storage unit 26 by the writing / cooperation memory management unit 18, the updated record is written in the individual data storage unit 21 in the secondary storage unit 26.
 以上、本実施の形態では、
 主記憶装置上に構成した個別データ格納部の容量を超過する連携対象データの入力ある場合に、二次記憶格納部に一時的に連携対象データを格納するための領域を確保し、データ処理制御部が主記憶以外のデータ領域を参照するデータベース連携装置を説明した。
As described above, in the present embodiment,
When there is input of linkage target data that exceeds the capacity of the individual data storage unit configured on the main storage device, an area for temporarily storing the linkage target data is secured in the secondary storage storage unit, and data processing control is performed. A database linkage apparatus whose section refers to a data area other than the main memory has been described.
 実施の形態4.
 本実施の形態では、図12に示すデータベース連携装置1の構成に加えて、データ退避装置27に二次記憶制御部28を設ける例を説明する。
Embodiment 4 FIG.
In the present embodiment, an example in which the secondary storage control unit 28 is provided in the data saving device 27 in addition to the configuration of the database cooperation device 1 illustrated in FIG. 12 will be described.
 図13は、本実施の形態に係るシステム構成例を示す。
 なお、図13でも、作図上の理由から、データ連携設計部6、データ連携設計情報7の図示を省略しているが、図2と同様に、データベース連携装置1には、データ連携設計部6、データ連携設計情報7が含まれているものとする。
 図13では、図12の構成に比べて、データ退避装置27に二次記憶制御部28が追加されている。
 実施の形態3における二次記憶退避処理では、二次記憶格納部26にデータ(更新済レコード、更新反映データ)を書き込む際に書込み確定処理を実施するため、書込み速度が遅く、データベース連携装置1のスループットを著しく低下させる場合がある。
 本実施の形態では、二次記憶制御部28が、書き込み元のデータ連携処理部23の識別子と、書き込み先の二次記憶格納部26と、読み出し対象のデータ連携処理部23の識別子を対応づけて保持する。
 これにより、二次記憶格納部26への書込み処理が二次記憶制御部28に要求された場合、二次記憶制御部28では要求元のデータ連携処理部23の識別子を受け取り、対応する退避領域へデータを一時格納する。
 このとき、二次記憶格納部26のディスクへの書込み確定処理を実施せず、二次記憶格納部26のメモリ上に書き込み対象のデータを留める。
 データベース連携装置1のデータ連携処理部23からデータの読込み要求があった際に、二次記憶制御部28は、要求元のデータ連携処理部23の識別子を取得し、対応する二次記憶格納部26に対する確定処理を実施し、二次記憶格納部26からの読込み処理でのみ唯一の確定処理を実施する。
 より具体的には、データ退避装置27としてリレーショナルデータベースを活用した際、データ書込み時にコミットせず、データ読込み要求が二次記憶制御部28に到着した場合にコミットを実施し、確定したデータを読み込み要求元に返却する構成とする。
FIG. 13 shows a system configuration example according to the present embodiment.
In FIG. 13, the data linkage design unit 6 and the data linkage design information 7 are omitted for reasons of drawing. However, as in FIG. 2, the database linkage apparatus 1 includes the data linkage design unit 6. It is assumed that data linkage design information 7 is included.
In FIG. 13, a secondary storage control unit 28 is added to the data saving device 27 compared to the configuration of FIG. 12.
In the secondary storage saving process in the third embodiment, the write confirmation process is performed when data (updated record, update reflected data) is written in the secondary storage unit 26, so the writing speed is slow, and the database linkage apparatus 1 Throughput may be significantly reduced.
In the present embodiment, the secondary storage control unit 28 associates the identifier of the data cooperation processing unit 23 that is the write source, the secondary storage storage unit 26 that is the write destination, and the identifier of the data cooperation processing unit 23 that is the read target. Hold.
As a result, when the secondary storage control unit 28 requests the secondary storage storage unit 26 to write to the secondary storage storage unit 26, the secondary storage control unit 28 receives the identifier of the requesting data linkage processing unit 23, and the corresponding save area. Temporarily store data in
At this time, the write confirmation process to the disk of the secondary storage unit 26 is not performed, and the data to be written is retained on the memory of the secondary storage unit 26.
When there is a data read request from the data cooperation processing unit 23 of the database cooperation device 1, the secondary storage control unit 28 acquires the identifier of the data cooperation processing unit 23 that is the request source, and the corresponding secondary storage storage unit 26 is performed, and only the confirmation process is performed by the reading process from the secondary storage unit 26.
More specifically, when a relational database is used as the data saving device 27, the commit is performed when the data read request arrives at the secondary storage control unit 28 without committing at the time of data writing, and the confirmed data is read. It is configured to return to the request source.
 このように、本実施の形態では、二次記憶制御部28は、受信部11/変換部12による二次記憶格納部26内の個別データ格納部21への更新済レコード/更新反映データの書き込みの際には書き込みを確定させず、変換部12/CDW処理部13による二次記憶格納部26内の個別データ格納部21からの更新済レコード/更新反映データの読み出しの際に、受信部11/変換部12による更新済レコード/更新反映データの書き込みを確定させる。
 このため、書込み確定処理が繰り返し発生することによるデータベース連携装置1のスループット低下を抑制することができる。
Thus, in this embodiment, the secondary storage control unit 28 writes the updated record / update reflected data to the individual data storage unit 21 in the secondary storage storage unit 26 by the reception unit 11 / conversion unit 12. At the time of reading, the receiving unit 11 does not confirm the writing, and when the conversion unit 12 / CDW processing unit 13 reads the updated record / update reflected data from the individual data storage unit 21 in the secondary storage unit 26. / Confirm writing of updated record / update reflected data by the conversion unit 12.
For this reason, it is possible to suppress a decrease in throughput of the database linkage apparatus 1 due to repeated occurrence of the write confirmation process.
 以上、本実施の形態では、
 二次記憶としてデータを格納する二次記憶格納部と、二次記憶制御部を備えるデータベース連携システムを説明した。
 より具体的には、
 二次記憶制御部が、
 二次記憶格納部への書込み処理と読み出し処理を制御し、
 書き込み処理時にはデータ書込み確定処理を実施せず、読み出し処理時にデータ確定処理を実施し、
 データ確定処理の実施回数を抑えて、退避装置に対するデータベース連携装置の処理時間を高速化することを説明した。
As described above, in the present embodiment,
The database cooperation system provided with the secondary storage storage part which stores data as a secondary storage, and the secondary storage control part was demonstrated.
More specifically,
Secondary storage controller
Control the writing process and reading process to the secondary storage unit,
Do not execute the data write confirmation process during the write process, perform the data confirm process during the read process,
It has been explained that the processing time of the database linkage apparatus with respect to the saving apparatus can be increased by reducing the number of execution times of the data confirmation process.
 最後に、実施の形態1~4に示したデータベース連携装置1のハードウェア構成例について説明する。
 図15は、実施の形態1~4に示すデータベース連携装置1のハードウェア資源の一例を示す図である。
 なお、図15の構成は、あくまでもデータベース連携装置1のハードウェア構成の一例を示すものであり、データベース連携装置1のハードウェア構成は図15に記載の構成に限らず、他の構成であってもよい。
Finally, a hardware configuration example of the database linkage apparatus 1 shown in the first to fourth embodiments will be described.
FIG. 15 is a diagram illustrating an example of hardware resources of the database linkage apparatus 1 described in the first to fourth embodiments.
The configuration in FIG. 15 is merely an example of the hardware configuration of the database linkage device 1, and the hardware configuration of the database linkage device 1 is not limited to the configuration described in FIG. Also good.
 図15において、データベース連携装置1は、プログラムを実行するCPU911(Central Processing Unit、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう)を備えている。
 CPU911は、バス912を介して、例えば、ROM(Read Only Memory)913、RAM(Random Access Memory)914、通信ボード915、表示装置901、キーボード902、マウス903、磁気ディスク装置920と接続され、これらのハードウェアデバイスを制御する。
 更に、CPU911は、FDD904(Flexible Disk Drive)、コンパクトディスク装置905(CDD)、プリンタ装置906、スキャナ装置907と接続していてもよい。また、磁気ディスク装置920の代わりに、SSD(Solid State Drive)、光ディスク装置、メモリカード(登録商標)読み書き装置などの記憶装置でもよい。
 RAM914は、揮発性メモリの一例である。ROM913、FDD904、CDD905、磁気ディスク装置920の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置の一例である。
 実施の形態1~4で説明した「個別データ格納部21」は、共有メモリとしてのRAM914上に構成される。
 通信ボード915、キーボード902、マウス903、スキャナ装置907、FDD904などは、入力装置の一例である。
 また、通信ボード915、表示装置901、プリンタ装置906などは、出力装置の一例である。
In FIG. 15, the database linkage apparatus 1 includes a CPU 911 (also referred to as a central processing unit, a central processing unit, a processing unit, an arithmetic unit, a microprocessor, a microcomputer, and a processor) that executes a program.
The CPU 911 is connected to, for example, a ROM (Read Only Memory) 913, a RAM (Random Access Memory) 914, a communication board 915, a display device 901, a keyboard 902, a mouse 903, and a magnetic disk device 920 via a bus 912. Control hardware devices.
Further, the CPU 911 may be connected to an FDD 904 (Flexible Disk Drive), a compact disk device 905 (CDD), a printer device 906, and a scanner device 907. Further, instead of the magnetic disk device 920, a storage device such as an SSD (Solid State Drive), an optical disk device, or a memory card (registered trademark) read / write device may be used.
The RAM 914 is an example of a volatile memory. The storage media of the ROM 913, the FDD 904, the CDD 905, and the magnetic disk device 920 are an example of a nonvolatile memory. These are examples of the storage device.
The “individual data storage unit 21” described in the first to fourth embodiments is configured on the RAM 914 as a shared memory.
A communication board 915, a keyboard 902, a mouse 903, a scanner device 907, an FDD 904, and the like are examples of input devices.
The communication board 915, the display device 901, the printer device 906, and the like are examples of output devices.
 通信ボード915は、図1に示すように、ネットワーク接続されている。
 例えば、通信ボード915は、LAN(ローカルエリアネットワーク)、インターネット、WAN(ワイドエリアネットワーク)、SAN(ストレージエリアネットワーク)などに接続されていても構わない。
The communication board 915 is connected to the network as shown in FIG.
For example, the communication board 915 may be connected to a LAN (local area network), the Internet, a WAN (wide area network), a SAN (storage area network), or the like.
 磁気ディスク装置920には、オペレーティングシステム921(OS)、ウィンドウシステム922、プログラム群923、ファイル群924が記憶されている。
 プログラム群923のプログラムは、CPU911がオペレーティングシステム921、ウィンドウシステム922を利用しながら実行する。
The magnetic disk device 920 stores an operating system 921 (OS), a window system 922, a program group 923, and a file group 924.
The programs in the program group 923 are executed by the CPU 911 using the operating system 921 and the window system 922.
 また、RAM914には、CPU911に実行させるオペレーティングシステム921のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。
 また、RAM914には、CPU911による処理に必要な各種データが格納される。
The RAM 914 temporarily stores at least part of the operating system 921 program and application programs to be executed by the CPU 911.
The RAM 914 stores various data necessary for processing by the CPU 911.
 また、ROM913には、BIOS(Basic Input Output System)プログラムが格納され、磁気ディスク装置920にはブートプログラムが格納されている。
 データベース連携装置1の起動時には、ROM913のBIOSプログラム及び磁気ディスク装置920のブートプログラムが実行され、BIOSプログラム及びブートプログラムによりオペレーティングシステム921が起動される。
The ROM 913 stores a BIOS (Basic Input Output System) program, and the magnetic disk device 920 stores a boot program.
When the database linkage apparatus 1 is activated, the BIOS program in the ROM 913 and the boot program in the magnetic disk device 920 are executed, and the operating system 921 is activated by the BIOS program and the boot program.
 上記プログラム群923には、実施の形態1~4の説明において「~部」(「個別データ格納部21」以外、以下同様)、「~手段」として説明している機能を実行するプログラムが記憶されている。プログラムは、CPU911により読み出され実行される。 The program group 923 stores programs for executing the functions described as “˜unit” (except for “individual data storage unit 21”, the same applies hereinafter) and “˜means” in the description of the first to fourth embodiments. Has been. The program is read and executed by the CPU 911.
 ファイル群924には、実施の形態1~4の説明において、「~の判断」、「~の算出」、「~の比較」、「~の生成」、「~の抽出」、「~の検索」、「~の取得」、「~の更新」、「~の設定」、「~の登録」、「~の選択」、「~の入力」、「~の出力」等として説明している処理の結果を示す情報やデータや信号値や変数値やパラメータが、「~ファイル」や「~データベース」の各項目として記憶されている。
 「~ファイル」や「~データベース」は、ディスクやメモリなどの記録媒体に記憶される。
 ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してCPU911によりメインメモリやキャッシュメモリに読み出される。
 そして、読み出された情報やデータや信号値や変数値やパラメータは、抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示などのCPUの動作に用いられる。
 抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示のCPUの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリ、レジスタ、キャッシュメモリ、バッファメモリ等に一時的に記憶される。
 また、実施の形態1~4で説明しているフローチャートの矢印の部分は主としてデータや信号の入出力を示す。
 データや信号値は、RAM914のメモリ、FDD904のフレキシブルディスク、CDD905のコンパクトディスク、磁気ディスク装置920の磁気ディスク、その他光ディスク、ミニディスク、DVD等の記録媒体に記録される。
 また、データや信号は、バス912や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
In the file group 924, in the description of the first to fourth embodiments, “determination of”, “calculation of”, “comparison of”, “generation of”, “extraction of”, “search of” ”,“ Acquisition of ”,“ update of ”,“ setting of ”,“ registration of ”,“ selection of ”,“ input of ”,“ output of ”, etc. Information, data, signal values, variable values, and parameters indicating the results are stored as items “˜file” and “˜database”.
The “˜file” and “˜database” are stored in a recording medium such as a disk or a memory.
Information, data, signal values, variable values, and parameters stored in a storage medium such as a disk or memory are read out to the main memory or cache memory by the CPU 911 via a read / write circuit.
The read information, data, signal value, variable value, and parameter are used for CPU operations such as extraction, search, reference, comparison, calculation, calculation, processing, editing, output, printing, and display.
Information, data, signal values, variable values, and parameters are stored in the main memory, registers, cache memory, and buffers during the CPU operations of extraction, search, reference, comparison, calculation, processing, editing, output, printing, and display. It is temporarily stored in a memory or the like.
The arrows in the flowcharts described in Embodiments 1 to 4 mainly indicate input / output of data and signals.
Data and signal values are recorded on a recording medium such as a memory of the RAM 914, a flexible disk of the FDD 904, a compact disk of the CDD 905, a magnetic disk of the magnetic disk device 920, other optical disks, a mini disk, and a DVD.
Data and signals are transmitted online via a bus 912, signal lines, cables, or other transmission media.
 また、実施の形態1~4の説明において「~部」、「~手段」として説明しているものは、「~回路」、「~装置」、「~機器」であってもよく、また、「~ステップ」、「~手順」、「~処理」であってもよい。
 すなわち、実施の形態1~4で説明したフローチャートに示すステップ、手順、処理により、本発明に係るデータ処理装置を方法として把握することができる。
 また、「~部」、「~手段」として説明しているものは、ROM913に記憶されたファームウェアで実現されていても構わない。
 或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。
 ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、DVD等の記録媒体に記憶される。
 プログラムはCPU911により読み出され、CPU911により実行される。
 すなわち、プログラムは、実施の形態1~4の「~部」、「~手段」としてコンピュータを機能させるものである。あるいは、実施の形態1~4の「~部」、「~手段」の手順や方法をコンピュータに実行させるものである。
In the description of Embodiments 1 to 4, what is described as “to part” and “to means” may be “to circuit”, “to device”, and “to device”. It may be “˜step”, “˜procedure”, or “˜process”.
That is, the data processing apparatus according to the present invention can be grasped as a method by the steps, procedures, and processes shown in the flowcharts described in the first to fourth embodiments.
Further, what is described as “˜unit” and “˜means” may be realized by firmware stored in the ROM 913.
Alternatively, it may be implemented only by software, or only by hardware such as elements, devices, substrates, and wirings, by a combination of software and hardware, or by a combination of firmware.
Firmware and software are stored as programs in a recording medium such as a magnetic disk, a flexible disk, an optical disk, a compact disk, a mini disk, and a DVD.
The program is read by the CPU 911 and executed by the CPU 911.
In other words, the program causes the computer to function as “to part” and “to means” in the first to fourth embodiments. Alternatively, the computer executes the procedures and methods of “to part” and “to means” in the first to fourth embodiments.
 このように、実施の形態1~4に示すデータベース連携装置1は、処理装置たるCPU、記憶装置たるメモリ、磁気ディスク等、入力装置たるキーボード、マウス、通信ボード等、出力装置たる表示装置、通信ボード等を備えるコンピュータである。
 そして、上記したように「~部」、「~手段」として示された機能をこれら処理装置、記憶装置、入力装置、出力装置を用いて実現するものである。
As described above, the database cooperation device 1 shown in the first to fourth embodiments includes a CPU as a processing device, a memory as a storage device, a magnetic disk, a keyboard as an input device, a mouse, a communication board, a display device as an output device, and a communication device. A computer including a board or the like.
As described above, the functions indicated as “˜unit” and “˜means” are realized by using these processing devices, storage devices, input devices, and output devices.
 1 データベース連携装置、2 連携元システム、3 連携元データベース、4 連携先システム、5 連携先データベース、6 データ連携設計部、7 データ連携設計情報、8 統合連携情報、9 連携元テーブル情報、10 連携先テーブル情報、11 受信部、12 変換部、13 CDW処理部、14 データ連携連動型バッファ管理部、15 更新データ到着ログ、16 データ処理制御部、17 連携管理情報、18 連携メモリ管理部、19 データ格納部、20 個別排他制御部、21 個別データ格納部、22 CDC、23 データ連携処理部、24 連携接続情報。 1 database linkage device, 2 linkage source system, 3 linkage source database, 4 linkage destination system, 5 linkage destination database, 6 data linkage design department, 7 data linkage design information, 8 integration linkage information, 9 linkage source table information, 10 linkage Destination table information, 11 receiving unit, 12 converting unit, 13 CDW processing unit, 14 data linkage interlocking buffer management unit, 15 update data arrival log, 16 data processing control unit, 17 linkage management information, 18 linkage memory management unit, 19 Data storage unit, 20 individual exclusive control unit, 21 individual data storage unit, 22 CDC, 23 data linkage processing unit, 24 linkage connection information.

Claims (15)

  1.  連携元テーブルにおける更新を連携先テーブルに反映させるデータ処理装置であって、
     前記連携元テーブルにおいて更新された更新済レコードを受信する更新済レコード受信部と、
     前記連携先テーブルをレコード単位で更新する連携先テーブル更新部と、
     前記更新済レコードを用いて、前記連携元テーブルにおける更新を反映するデータであって、前記連携先テーブルのレコードの少なくとも一部になるデータを更新反映データとして生成する更新反映データ生成部と、
     前記更新済レコード受信部から前記更新反映データ生成部に更新済レコードを受け渡すための更新済レコードバッファを生成する更新済レコードバッファ生成部と、
     前記更新反映データ生成部から前記連携先テーブル更新部に更新反映データを受け渡すための更新反映データバッファを生成する更新反映データバッファ生成部とを有し、
     前記更新済レコード受信部は、
     受信した更新済レコードを前記更新済レコードバッファに書き込み、
     前記更新反映データ生成部は、
     前記更新済レコード受信部による更新済レコードの受信とは非同期に、前記更新済レコードバッファに格納されている更新済レコードを読み出し、読み出した更新済レコードを用いて更新反映データを生成し、生成した更新反映データを前記更新反映データバッファに書き込み、
     前記連携先テーブル更新部は、
     前記更新済レコード受信部による更新済レコードの受信及び前記更新反映データ生成部による更新反映データの生成とは非同期に、前記更新反映データバッファに格納されている更新反映データを読み出し、読み出した更新反映データを用いて連携先テーブルの更新を行うことを特徴とするデータ処理装置。
    A data processing apparatus that reflects the update in the linkage source table in the linkage destination table,
    An updated record receiving unit for receiving an updated record updated in the cooperation source table;
    A linkage destination table update unit for updating the linkage destination table in units of records;
    Using the updated record, data that reflects the update in the cooperation source table, and an update reflection data generation unit that generates, as update reflection data, data that is at least part of the record in the cooperation destination table;
    An updated record buffer generating unit for generating an updated record buffer for delivering an updated record from the updated record receiving unit to the update reflected data generating unit;
    An update reflection data buffer generation unit that generates an update reflection data buffer for delivering update reflection data from the update reflection data generation unit to the cooperation destination table update unit;
    The updated record receiver is
    Write the received updated record to the updated record buffer,
    The update reflected data generation unit
    Asynchronously with the reception of the updated record by the updated record receiving unit, the updated record stored in the updated record buffer is read, and the update reflected data is generated using the read updated record. Write the update reflection data to the update reflection data buffer,
    The cooperation destination table update unit
    The update reflected data stored in the update reflected data buffer is read asynchronously with the reception of the updated record by the updated record receiving unit and the generation of the update reflected data by the update reflected data generating unit, and the read update reflected A data processing apparatus that updates a cooperation destination table using data.
  2.  前記連携先テーブル更新部は、
     前記更新反映データバッファから読み出した更新反映データを用いて、1トランザクションにおいて前記連携先テーブルの2個以上のレコードに対する更新を行うことを特徴とする請求項1に記載のデータ処理装置。
    The cooperation destination table update unit
    The data processing apparatus according to claim 1, wherein two or more records in the cooperation destination table are updated in one transaction using the update reflection data read from the update reflection data buffer.
  3.  前記データ処理装置は、
     対象としている連携先テーブルが異なっている複数の連携先テーブル更新部を有し、
     前記更新反映データバッファ生成部は、
     連携先テーブル更新部ごとに更新反映データバッファを生成し、
     前記更新反映データ生成部は、
     生成した更新反映データを、受け渡し先として指定されている連携先テーブル更新部の更新反映データバッファに書き込み、
     各連携先テーブル更新部は、
     対応する更新反映データバッファに格納されている更新反映データを読み出し、読み出した更新反映データを用いて連携先テーブルの更新を行うことを特徴とする請求項1又は2に記載のデータ処理装置。
    The data processing device includes:
    It has a plurality of cooperation destination table update units with different target cooperation destination tables,
    The update reflected data buffer generation unit
    Generate an update reflection data buffer for each linkage destination table update unit,
    The update reflected data generation unit
    Write the generated update reflection data to the update reflection data buffer of the linkage destination table update unit specified as the transfer destination,
    Each linkage destination table update unit
    3. The data processing apparatus according to claim 1, wherein the update reflection data stored in the corresponding update reflection data buffer is read, and the linkage destination table is updated using the read update reflection data.
  4.  各連携先テーブル更新部は、
     更新反映データの読み出し及び連携先テーブルの更新を、他の連携先テーブル更新部における更新反映データの読み出し及び連携先テーブルの更新と並行して行うことを特徴とする請求項3に記載のデータ処理装置。
    Each linkage destination table update unit
    The data processing according to claim 3, wherein the update reflection data is read and the cooperation destination table is updated in parallel with the update reflection data reading and the cooperation destination table update in another cooperation destination table update unit. apparatus.
  5.  前記データ処理装置は、
     対象としている連携元テーブルが異なっている複数の更新反映データ生成部を有し、
     前記更新済レコードバッファ生成部は、
     更新反映データ生成部ごとに更新済レコードバッファを生成し、
     前記更新済レコード受信部は、
     受信した更新済レコードを、受け渡し先として指定されている更新反映データ生成部の更新済レコードバッファに書き込み、
     各更新反映データ生成部は、
     対応する更新反映データバッファから更新済レコードを読み出し、読み出した更新済レコードを用いて更新反映データを生成し、生成した更新反映データを、受け渡し先として指定されている連携先テーブル更新部の更新反映データバッファに書き込むことを特徴とする請求項3又は4に記載のデータ処理装置。
    The data processing device includes:
    It has a plurality of update reflection data generation units that are different target collaboration source table,
    The updated record buffer generation unit
    Generate an updated record buffer for each update reflection data generation unit,
    The updated record receiver is
    Write the received updated record to the updated record buffer of the update reflected data generation unit specified as the delivery destination,
    Each update reflection data generation unit
    Read the updated record from the corresponding update reflection data buffer, generate update reflection data using the read updated record, and update the update update data of the linkage destination table specified as the transfer destination. 5. The data processing device according to claim 3, wherein the data processing device writes in a data buffer.
  6.  前記更新反映データバッファ生成部は、
     連携先テーブル更新部ごとに、更新反映データの受け渡し元の更新反映データ生成部ごとの更新反映データバッファを生成することを特徴とする請求項5に記載のデータ処理装置。
    The update reflected data buffer generation unit
    6. The data processing apparatus according to claim 5, wherein an update reflection data buffer is generated for each update reflection data generation unit that is a transfer source of update reflection data for each linkage destination table update unit.
  7.  前記更新反映データバッファ生成部は、
     更新反映データの受け渡し元の更新反映データ生成部ごとに、更新反映データ生成部から連携先テーブル更新部に受け渡す更新反映データのデータ長と、更新反映データ生成部が対象としている連携元テーブルからの更新済レコードの単位時間あたりの受信数と、連携先テーブル更新部が更新反映データを反映させるレコード数とを積算し、積算により得られる容量分の更新反映データバッファを生成することを特徴とする請求項6に記載のデータ処理装置。
    The update reflected data buffer generation unit
    For each update reflection data generation unit of the update reflection data transfer source, the data length of the update reflection data transferred from the update reflection data generation unit to the cooperation destination table update unit, and the link source table targeted by the update reflection data generation unit The number of received records per unit time of the updated record and the number of records that the cooperation destination table update unit reflects the update reflection data are integrated, and an update reflection data buffer for the capacity obtained by the integration is generated. The data processing apparatus according to claim 6.
  8.  各更新反映データ生成部は、
     受け渡し先として指定されている連携先テーブル更新部の更新反映データ生成部ごとの更新反映データバッファのうち、対応する更新反映データバッファに更新反映データを書き込むことを特徴とする請求項6又は7に記載のデータ処理装置。
    Each update reflection data generation unit
    8. The update reflected data is written into a corresponding update reflected data buffer among update reflected data buffers for each update reflected data generating unit of the linkage destination table updating unit specified as a transfer destination. The data processing apparatus described.
  9.  前記データ処理装置は、更に、
     更新反映データ生成部ごとの更新反映データバッファ単位で、更新反映データの書き込みに対する排他制御を行う排他制御部を有することを特徴とする請求項6~8のいずれかに記載のデータ処理装置。
    The data processing device further includes:
    9. The data processing apparatus according to claim 6, further comprising: an exclusive control unit that performs exclusive control for writing update reflected data in units of update reflected data buffers for each update reflected data generation unit.
  10.  各更新反映データ生成部は、
     更新反映データの書き込み先の更新反映データバッファが複数ある場合に、複数の更新反映データバッファへの更新反映データの書き込みを並列に行うことを特徴とする請求項5~9のいずれかに記載のデータ処理装置。
    Each update reflection data generation unit
    10. The update reflected data is written to a plurality of update reflected data buffers in parallel when there are a plurality of update reflected data buffers to which the update reflected data is written. Data processing device.
  11.  前記更新済レコードバッファ生成部は、
     更新反映データ生成部ごとに、対象としている連携元テーブルからの更新済レコードの単位時間あたりの受信数と、対象としている連携元テーブルのレコード長とに基づき、更新済レコードバッファの容量を算出することを特徴とする請求項5~10のいずれかに記載のデータ処理装置。
    The updated record buffer generation unit
    For each update reflection data generation unit, calculate the capacity of the updated record buffer based on the number of received records per unit time from the target linkage source table and the record length of the target linkage source table. The data processing apparatus according to any one of claims 5 to 10, wherein:
  12.  前記更新反映データバッファ生成部は、
     いずれかの連携先テーブル更新部が対象とする連携先テーブルが変化した場合に、
     当該連携先テーブル更新部以外の連携先テーブル更新部と、当該連携先テーブル更新部を更新反映データの受け渡し先としている更新反映データ生成部以外の更新反映データ生成部の動作に影響を与えずに、当該連携先テーブル更新部に対応する新たな更新反映データバッファの生成及び当該連携先テーブル更新部に対応する既存の更新反映データバッファの容量の変更の少なくともいずれかを行うことを特徴とする請求項5~11のいずれかに記載のデータ処理装置。
    The update reflected data buffer generation unit
    When the link destination table targeted by any link destination table update unit changes,
    Without affecting the operation of the update target data update unit other than the target update table other than the target update table and the update target data update unit that uses the target update table as the transfer destination of the update target data. And at least one of generating a new update reflection data buffer corresponding to the linkage destination table update unit and changing a capacity of an existing update reflection data buffer corresponding to the linkage destination table update unit. Item 12. The data processing device according to any one of Items 5 to 11.
  13.  前記更新反映データバッファ生成部は、
     前記データ処理装置の主記憶装置内に更新反映データバッファを生成した後に、主記憶装置内の更新反映データバッファが特定の状態になった場合に、前記データ処理装置の二次記憶装置内に更新反映データバッファを生成し、
     各更新反映データ生成部は、
     前記更新反映データバッファ生成部により前記二次記憶装置内に更新反映データバッファが生成される前は、前記主記憶装置内の更新反映データバッファに更新反映データを書き込み、前記更新反映データバッファ生成部により前記二次記憶装置内に更新反映データバッファが生成された後は、前記二次記憶装置内の更新反映データバッファに更新反映データを書き込むことを特徴とする請求項5~12のいずれかに記載のデータ処理装置。
    The update reflected data buffer generation unit
    After the update reflected data buffer is generated in the main storage device of the data processing device, the update reflected data buffer in the main storage device is updated in the secondary storage device of the data processing device when it becomes a specific state. Create a reflection data buffer,
    Each update reflection data generation unit
    Before the update reflection data buffer is generated in the secondary storage device by the update reflection data buffer generation unit, the update reflection data buffer is written in the update reflection data buffer in the main storage device, and the update reflection data buffer generation unit 13. The update reflection data buffer is written in the update reflection data buffer in the secondary storage device after the update reflection data buffer is generated in the secondary storage device according to any one of claims 5 to 12. The data processing apparatus described.
  14.  前記データ処理装置は、更に、
     更新反映データ生成部による前記二次記憶装置内の更新反映データバッファへの更新反映データの書き込みの際には書き込みを確定させず、連携先テーブル更新部による前記二次記憶装置内の更新反映データバッファからの更新反映データの読み出しの際に、更新反映データ生成部による更新反映データの書き込みを確定させる二次記憶制御部を有することを特徴とする請求項13に記載のデータ処理装置。
    The data processing device further includes:
    The update reflection data in the secondary storage device by the cooperation destination table update unit is not confirmed when the update reflection data is written to the update reflection data buffer in the secondary storage device by the update reflection data generation unit. The data processing apparatus according to claim 13, further comprising a secondary storage control unit that determines writing of the update reflected data by the update reflected data generation unit when reading the update reflected data from the buffer.
  15.  前記更新済レコードバッファ生成部は、
     前記データ処理装置の主記憶装置内に更新済レコードバッファを生成した後に、主記憶装置内の更新済レコードバッファが特定の状態になった場合に、前記データ処理装置の二次記憶装置内に更新済レコードバッファを生成し、
     前記更新済レコード受信部は、
     前記更新済レコードバッファ生成部により前記二次記憶装置内に更新済レコードバッファが生成される前は、前記主記憶装置内の更新済レコードバッファに更新済レコードを書き込み、前記更新済レコードバッファ生成部により前記二次記憶装置内に更新済レコードバッファが生成された後は、前記二次記憶装置内の更新済レコードバッファに更新済レコードを書き込むことを特徴とする請求項5~14のいずれかに記載のデータ処理装置。
    The updated record buffer generation unit
    After the updated record buffer is generated in the main storage device of the data processing device, when the updated record buffer in the main storage device is in a specific state, the update is performed in the secondary storage device of the data processing device Generate a completed record buffer,
    The updated record receiver is
    Before the updated record buffer is generated in the secondary storage device by the updated record buffer generation unit, the updated record buffer is written in the updated record buffer in the main storage device, and the updated record buffer generation unit 15. After the updated record buffer is generated in the secondary storage device by the above, the updated record is written to the updated record buffer in the secondary storage device. The data processing apparatus described.
PCT/JP2010/073608 2010-12-27 2010-12-27 Data processing device WO2012090281A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/JP2010/073608 WO2012090281A1 (en) 2010-12-27 2010-12-27 Data processing device
JP2012550608A JPWO2012090281A1 (en) 2010-12-27 2010-12-27 Data processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2010/073608 WO2012090281A1 (en) 2010-12-27 2010-12-27 Data processing device

Publications (1)

Publication Number Publication Date
WO2012090281A1 true WO2012090281A1 (en) 2012-07-05

Family

ID=46382431

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2010/073608 WO2012090281A1 (en) 2010-12-27 2010-12-27 Data processing device

Country Status (2)

Country Link
JP (1) JPWO2012090281A1 (en)
WO (1) WO2012090281A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014106568A (en) * 2012-11-22 2014-06-09 Mitsubishi Electric Corp Display operation apparatus, and screen pattern information update system
JP7457282B2 (en) 2020-02-28 2024-03-28 京セラドキュメントソリューションズ株式会社 Data linkage system and configuration change system

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05324426A (en) * 1992-05-22 1993-12-07 Toshiba Corp Format converting device
JPH0883221A (en) * 1994-09-14 1996-03-26 Toshiba Corp Data converting device
JPH10340217A (en) * 1997-05-09 1998-12-22 At & T Corp Data base network and data updating and duplicating method
JP2005322159A (en) * 2004-05-11 2005-11-17 Canon Inc Data linkage system and method
JP2005333434A (en) * 2004-05-20 2005-12-02 Matsushita Electric Ind Co Ltd Radio module

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05324426A (en) * 1992-05-22 1993-12-07 Toshiba Corp Format converting device
JPH0883221A (en) * 1994-09-14 1996-03-26 Toshiba Corp Data converting device
JPH10340217A (en) * 1997-05-09 1998-12-22 At & T Corp Data base network and data updating and duplicating method
JP2005322159A (en) * 2004-05-11 2005-11-17 Canon Inc Data linkage system and method
JP2005333434A (en) * 2004-05-20 2005-12-02 Matsushita Electric Ind Co Ltd Radio module

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014106568A (en) * 2012-11-22 2014-06-09 Mitsubishi Electric Corp Display operation apparatus, and screen pattern information update system
JP7457282B2 (en) 2020-02-28 2024-03-28 京セラドキュメントソリューションズ株式会社 Data linkage system and configuration change system

Also Published As

Publication number Publication date
JPWO2012090281A1 (en) 2014-06-05

Similar Documents

Publication Publication Date Title
US11003689B2 (en) Distributed database transaction protocol
US11036540B2 (en) Transaction commit operations with thread decoupling and grouping of I/O requests
US20220067025A1 (en) Ordering transaction requests in a distributed database according to an independently assigned sequence
US9959178B2 (en) Transactional and parallel log replay for asynchronous table replication
US9230002B2 (en) High performant information sharing and replication for single-publisher and multiple-subscriber configuration
JP4384633B2 (en) Asynchronous information sharing system
US9934263B1 (en) Big-fast data connector between in-memory database system and data warehouse system
US11263236B2 (en) Real-time cross-system database replication for hybrid-cloud elastic scaling and high-performance data virtualization
CN113826084A (en) Efficient out-of-process reassembly of streaming media data
CN101375241A (en) Efficient data management in a cluster file system
JP5011311B2 (en) Method and mechanism for loading an XML document into memory
Chohan et al. Database-agnostic transaction support for cloud infrastructures
JP4432087B2 (en) Database update management system, program and method
WO2012090281A1 (en) Data processing device
JP2011070636A (en) Data synchronization system, data synchronization method, information processor, information processing method and program
JPWO2008105099A1 (en) Application cooperation control program, application cooperation control method, and application cooperation control apparatus
US20110191549A1 (en) Data Array Manipulation
JP5494915B2 (en) Replication system, master server, replica server, replication method, and program
US11921691B2 (en) Low latency demultiplexer for propagating ordered data to multiple sinks
Lev-Ari et al. Quick: a queuing system in cloudkit
JP2008146420A (en) Computer program for optimizing processing sequence of i/o request
JP2003208346A (en) Reflection system of data base update information and program therefor
Diaz et al. Working with NoSQL Alternatives
Arora et al. Oracle® Streams for Near Real Time Asynchronous Replication
US20170262512A1 (en) Search processing method, search processing apparatus, and non-transitory computer-readable recording medium storing search processing program

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 10861340

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2012550608

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 10861340

Country of ref document: EP

Kind code of ref document: A1