JP2002297430A - Transaction-processing-type database system - Google Patents

Transaction-processing-type database system

Info

Publication number
JP2002297430A
JP2002297430A JP2001101713A JP2001101713A JP2002297430A JP 2002297430 A JP2002297430 A JP 2002297430A JP 2001101713 A JP2001101713 A JP 2001101713A JP 2001101713 A JP2001101713 A JP 2001101713A JP 2002297430 A JP2002297430 A JP 2002297430A
Authority
JP
Japan
Prior art keywords
transaction
data
lexicon
database
host
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2001101713A
Other languages
Japanese (ja)
Other versions
JP4050479B2 (en
Inventor
Hidemitsu Saito
秀充 斉藤
Mutsumi Fujiwara
睦 藤原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2001101713A priority Critical patent/JP4050479B2/en
Publication of JP2002297430A publication Critical patent/JP2002297430A/en
Application granted granted Critical
Publication of JP4050479B2 publication Critical patent/JP4050479B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide a transaction-processing-type database system that is easy to construct and can flexibly deal with the function modification or the like. SOLUTION: A transaction execution request from an application is accepted with a transaction accepting part 3. In a transaction registration part 12A, a registration part 403 that registers the library of transactions that get access to the database (lexicon set) is provided. A setting part 404 that takes individual transaction as the access target and sets the access mode for a lexicon 21 included in the lexicon set 2 is provided. A relating part 405 that brings the transaction into one-to-one correspondence with a transaction function is provided. A DDL loading part 407 that loads the DDL file of the transaction function corresponding to the library is provided.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、コンピュータの主
記憶上に実現されたデータベースシステムに関するもの
であって、特に、データベースの管理に加えて、トラン
ザクション管理とバックアップ、障害回復、負荷分散な
どの分散システム管理などの諸機能を持ち、インターネ
ット/イントラネット上に構築されるアプリケーション
システムをサポートするのに適したトランザクション処
理型データベースシステムに係る。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a database system implemented on a main memory of a computer, and in particular, to database management, transaction management and backup, failure recovery, and load distribution. The present invention relates to a transaction processing database system having various functions such as system management and suitable for supporting an application system built on the Internet / intranet.

【0002】[0002]

【従来の技術】ネットワークに分散したマシン間におけ
る共有データをリアルタイムに監視・制御するデータベ
ースシステムでは、大量のデータを高速に処理(検索・
更新)する必要があるので、それらのデータへのアクセ
ス手段を提供するデータ管理システムの性能がデータベ
ースシステムの性能を決定する。このようなデータ管理
システムの性能向上を図るためには、通常ハードディス
ク等の外部記憶装置に格納されているデータのすべてを
主記憶上に配置して管理することが考えられる。特に、
昨今の主記憶容量の増加により、現在のハードウェア環
境でも全データを主記憶上に常駐させることは可能とな
ってきている。
2. Description of the Related Art In a database system for monitoring and controlling shared data between machines distributed on a network in real time, a large amount of data is processed at high speed (search /
Update), the performance of the data management system that provides access to those data determines the performance of the database system. In order to improve the performance of such a data management system, it is conceivable to arrange and manage all data stored in an external storage device such as a hard disk in a main storage. In particular,
Due to the recent increase in main storage capacity, it has become possible to make all data reside in main storage even in the current hardware environment.

【0003】しかしながら、従来の外部記憶装置を前提
にしたデータ管理システムを単に主記憶でキャッシング
するだけでは、リアルタイムアプリケーションが必要と
する性能を達成することはできない。その理由として
は、(a) アプリケーションとデータ管理システムとの間
で大量のデータ転送操作が必須となる、(b) 外部記憶装
置を前提として設計されたアルゴリズムを各マシンの主
記憶上で実行してもそれほど性能が向上しないという2
点が挙げられる。さらに、外部記憶装置を前提として設
計されたアルゴリズムでは、データ管理システムが提供
できる機能が限られているため、多少高速化されてもア
プリケーションの開発負荷は軽減されない。
However, simply caching a conventional data management system on the premise of an external storage device using a main storage cannot achieve the performance required by a real-time application. The reason is that (a) a large amount of data transfer operation is required between the application and the data management system, and (b) an algorithm designed on the assumption of an external storage device is executed on the main storage of each machine. Even if the performance does not improve much 2
Points. Further, in an algorithm designed on the premise of an external storage device, the functions that the data management system can provide are limited. Therefore, even if the speed is somewhat increased, the development load of the application is not reduced.

【0004】また、近年、24時間・365日稼動のシ
ステム等、高い信頼性を要求するものが多くなってい
る。このようなシステムにおいては、システムダウンは
いかなることがあっても許されない。そのために多重系
のシステム構成を取ることが多い。また、このような機
能をサポートするためのミドルウェア(MW)やハード
ウェア(HW)はアプリケーション・ソフトウェアでコ
ントロールしなくてはならない。その結果、上記のよう
な機能とデータ構造のアクセスを同時に実現しなくては
ならず、多重系でシステムの信頼性を高めても、アプリ
ケーションが複雑になるだけでなく、バグが残りやすく
なり、アプリケーションの品質が低下する要因となって
いる。そのため、データベース管理システムの設定とデ
ータの高信頼化機能を簡単に実装できる手段の開発が切
望されていた。
In recent years, many systems requiring high reliability, such as systems that operate 24 hours a day, 365 days, have been increasing. In such a system, system down is not allowed under any circumstances. Therefore, a multiplex system configuration is often adopted. Also, middleware (MW) and hardware (HW) for supporting such functions must be controlled by application software. As a result, the above functions and access to data structures must be realized at the same time, and even if the reliability of the system is increased in a multiplex system, not only the application becomes complicated, but also bugs tend to remain, This is a factor that lowers the quality of the application. For this reason, there has been a strong demand for the development of a means that can easily implement a setting of a database management system and a function of enhancing data reliability.

【0005】[0005]

【発明が解決しようとする課題】以上述べたように、従
来のデータベースシステムは、高速性、信頼性および高
機能性について不十分なものであって、より具体的に
は、次のような問題点があった。
As described above, the conventional database system is inadequate in terms of high speed, reliability, and high functionality, and more specifically, has the following problems. There was a point.

【0006】(1)機能変更によるシステム停止 システムの開発途中に機能の改造、拡張が発生した場
合、当初のデータ構造では対応できない状況が起こりう
る。もしそのような状況になった場合はデータベースを
変更して対応するが、データベースを変更する際にはシ
ステムを停止しないといけない。しかし、システムが稼
動し始めてから機能の変更が起きた場合、システムを停
止すると莫大なコストがかかってしまう。また、システ
ムを止めないと機能変更ができないのは保守性の低下を
意味する。
(1) System halt due to function change If a function is modified or expanded during the development of the system, a situation that cannot be handled by the original data structure may occur. If such a situation occurs, change the database and take action, but when changing the database, the system must be shut down. However, if a change in functions occurs after the system starts operating, enormous costs are incurred when the system is stopped. In addition, the inability to change the functions without stopping the system means a decrease in maintainability.

【0007】(2)構造変更の困難性 システムのライフサイクル中に機能の改造や拡張が発生
することはよくある。システム設計時には予想もつかな
かったような機能の追加が発生し、当初のデータ構造で
は対応できない状況が起きてしまうことがある。このよ
うな場合、データベースを変更して対応することによ
り、つぎはぎのデータ構造になりがちであり、このよう
なデータ構造になると保守性が著しく下がってしまい、
生産性や性能が劣化してしまう。
(2) Difficulty of Changing the Structure Often, the function is modified or expanded during the life cycle of the system. At the time of designing the system, a function may be added that could not have been anticipated, and a situation that cannot be handled by the original data structure may occur. In such a case, by changing the database to cope with the problem, a patch data structure tends to be formed, and if such a data structure is used, maintainability is significantly reduced.
Productivity and performance will be degraded.

【0008】(3)大規模システム開発時における生産
性の低下 大規模システムの開発では、同時期に多くの開発者がア
プリケーションの開発に携わることになる。データ構造
は多くのアプリケーション共通に設計され、個々のアプ
リケーション固有の特性を配慮されないことが多い。そ
のためアプリケーション開発者にとってはとても使いに
くいデータ構造になることが多い。大規模開発のための
データ構造開発方法を含む開発スタイルがないため、後
戻りや無駄な処理が発生し生産性が悪くなってしまう。
(3) Deterioration of Productivity at the Time of Developing a Large-Scale System In the development of a large-scale system, many developers are involved in application development at the same time. Data structures are designed for many applications and often do not take into account the specific characteristics of each application. This often results in a data structure that is very difficult for application developers to use. Since there is no development style including a data structure development method for large-scale development, regression and unnecessary processing occur, and productivity is deteriorated.

【0009】(4)ローカル/リモート処理の困難性 リモートのマシンに対して処理(トランザクション)を
行う際、従来のデータベース管理システムではRPC(Rem
ote Procedure Call)を使う必要がある。しかし、この
ような手法によると、リモートのマシンに対してトラン
ザクションを実行する時は、アプリケーションでの処理
手順が変わり、ローカルマシンに対する実行より手間が
かかる。
(4) Difficulty of Local / Remote Processing When performing processing (transaction) on a remote machine, a conventional database management system uses an RPC (Rem
ote Procedure Call). However, according to such a method, when a transaction is executed on a remote machine, the processing procedure in the application changes, and it takes more time than execution on the local machine.

【0010】本発明は、上記のような従来技術の問題点
を解決するために提案されたものであり、その目的は、
システム構築が容易で、機能変更等にも柔軟に対応する
ことができるトランザクション処理型データベースシス
テムを提供することにある。本発明の他の目的は、ネッ
トワークで結合された複数のマシンの主記憶上で保有す
る共有データを、高精度に管理することができるデータ
ベース管理システム及びこの管理システムにおける各種
の設定を容易に実行することのできるトランザクション
処理型データベースシステムを提供することにある。
[0010] The present invention has been proposed to solve the problems of the prior art as described above.
It is an object of the present invention to provide a transaction processing type database system which can easily construct a system and can flexibly cope with a function change or the like. Another object of the present invention is to provide a database management system capable of managing, with high accuracy, shared data held on main memories of a plurality of machines connected by a network, and to easily execute various settings in the management system. It is an object of the present invention to provide a transaction processing type database system which can perform the processing.

【0011】[0011]

【課題を解決するための手段】上記目的を達成するた
め、請求項1記載の発明は、コンピュータの主記憶領域
に配置されたデータベースと、前記データベースに対す
る処理を実行するためのトランザクション処理部と、こ
のトランザクション処理部によって実行されるトランザ
クションを管理するトランザクション管理部とを備え、
前記トランザクション管理部は、各トランザクションを
実行するのに必要なトランザクション関数を用意してお
き、トランザクションが発行された場合には、発行され
たトランザクションに対応するトランザクション関数を
選択し、このトランザクション関数を用いてデータベー
スに対する処理を実行することを特徴とする。
According to one aspect of the present invention, there is provided a database provided in a main storage area of a computer, a transaction processing unit for executing a process for the database, A transaction management unit that manages a transaction executed by the transaction processing unit.
The transaction management unit prepares a transaction function necessary for executing each transaction, and when a transaction is issued, selects a transaction function corresponding to the issued transaction, and uses this transaction function. And performs processing on the database.

【0012】請求項2の発明は、前記請求項1の発明を
装置的な観点から把握したものであって、コンピュータ
の主記憶領域に配置されたデータベースと、前記データ
ベースに対する処理を実行するためのトランザクション
処理部と、このトランザクション処理部によって実行さ
れるトランザクションを管理するトランザクション管理
部とを備え、前記トランザクション管理部には、発行さ
れたトランザクションに対応するトランザクション関数
を予め選択するためのトランザクション登録管理部と、
選択されたトランザクション関数をロードしてデータベ
ースに対して処理を行わせるトランザクション関数ロー
ド部とが設けられていることを特徴とする。
According to a second aspect of the present invention, the first aspect of the present invention is grasped from an apparatus point of view, and a database arranged in a main storage area of a computer and a program for executing processing on the database. A transaction processing unit; and a transaction management unit that manages transactions executed by the transaction processing unit. The transaction management unit includes a transaction registration management unit for selecting a transaction function corresponding to the issued transaction in advance. When,
And a transaction function loading unit for loading the selected transaction function and performing processing on the database.

【0013】この請求項1または請求項2に記載の発明
によれば、データへのアクセスはトランザクション関数
を通じて行われ、データ構造の変更がアプリケーション
へ波及しないため、データ操作を行うトランザクション
を部品化できる。
According to the first or second aspect of the present invention, access to data is performed through the transaction function, and a change in the data structure does not propagate to the application. .

【0014】請求項3の発明は、ネットワークを介して
接続された複数のコンピュータの主記憶領域上にそれぞ
れデータベースを配置し、ある特定のコンピュータに格
納されたデータをオリジナルデータとし、このオリジナ
ルデータを有するコンピュータをベースホストとすると
共に、ある特定のコンピュータとは異なる他のコンピュ
ータには、前記ベースホストに格納されているオリジナ
ルデータと同一のレプリカデータを格納し、このレプリ
カデータを格納したコンピュータをレプリカホストと
し、前記各ホストの主記憶領域上には、前記ベースホス
トのオリジナルデータと、レプリカホストのレプリカデ
ータとの同一性を確保するためのレプリケーション処理
部と、データベースに対する種々の処理を行うトランザ
クション処理部と、このトランザクション処理部によっ
て実行されるトランザクションを管理するトランザクシ
ョン管理部を備え、前記トランザクション管理部は、各
トランザクションを実行するのに必要なトランザクショ
ン関数を用意しておき、トランザクション処理部は、ト
ランザクションが発行された場合には、発行されたトラ
ンザクションに対応するトランザクション関数を選択
し、このトランザクション関数を用いてデータベースに
対する処理を実行することを特徴とする。
According to a third aspect of the present invention, a database is arranged on a main storage area of a plurality of computers connected via a network, and data stored in a specific computer is used as original data. A computer having the same base data as the base host, and another computer different from the specific computer stores the same replica data as the original data stored in the base host, and the computer storing the replica data is used as a replica. A host, a replication processing unit for ensuring the sameness of the original data of the base host and the replica data of the replica host on the main storage area of each host, and transaction processing for performing various processes on the database Department and A transaction management unit that manages a transaction executed by the transaction processing unit. The transaction management unit prepares a transaction function necessary to execute each transaction. In such a case, a transaction function corresponding to the issued transaction is selected, and processing on the database is executed using the transaction function.

【0015】請求項4の発明は、前記請求項3の発明を
装置的な観点から把握したものであって、前記トランザ
クション管理部には、トランザクションの受付部と、受
け付けたトランザクションに対応するトランザクション
関数を選択するためのトランザクション登録管理部と、
選択されたトランザクション関数をロードしてデータベ
ースに対して処理を行わせるトランザクション関数ロー
ド部とが設けられていることを特徴とする。
According to a fourth aspect of the present invention, the invention of the third aspect is grasped from an apparatus point of view. The transaction management unit includes a transaction receiving unit and a transaction function corresponding to the received transaction. A transaction registration management unit for selecting
And a transaction function loading unit for loading the selected transaction function and performing processing on the database.

【0016】このような構成を有する請求項3および請
求項4の発明によれば、ネットワークを介した共有デー
タの維持管理を一貫して本発明のシステムが請け負うこ
とで、ネットワークの存在をアプリケーションに対して
隠蔽して主記憶領域という抽象的な概念を有する。つま
り、アプリケーションにとっては主記憶領域のサービス
に参加するだけで、高速な主記憶データへのアクセスと
して共有データへのアクセスが可能となる。このことは
ネットワークに分散したシステムの開発において大きな
メリットとなる。
According to the third and fourth aspects of the present invention, since the system of the present invention consistently undertakes maintenance and management of shared data via the network, the existence of the network is provided to the application. On the other hand, it has an abstract concept of concealing a main storage area. That is, the application can access the shared data as a high-speed access to the main storage data only by participating in the service of the main storage area. This is a great advantage in developing a system distributed over a network.

【0017】請求項5の発明は、前記データベースが、
データの処理単位であるレキシコンと、このレキシコン
を1つあるいは複数有するレキシコンセットによって構
成され、前記トランザクション管理部において、前記レ
キシコンに対する処理を行う1つあるいは複数のトラン
ザクションが、トランザクションライブラリとしてこの
レキシコンセットに登録されていることを特徴とする。
この請求項5の発明によれば、個々のトランザクション
を1つずつアクセス対象のデータに登録する場合に比較
して、登録、変更などの処理が容易に実施できる。ま
た、複数のトランザクションをライブラリとしてグルー
プ化することにより、トランザクションの実行に必要な
トランザクション関数の取り扱いも容易になる。
According to a fifth aspect of the present invention, the database includes:
A lexicon as a data processing unit, and a lexicon set having one or more lexicons. In the transaction management unit, one or a plurality of transactions for performing processing on the lexicon are processed as transaction libraries in the lexicon set. It is characterized by being registered.
According to the fifth aspect of the present invention, processes such as registration and change can be easily performed as compared with a case where individual transactions are registered one by one in data to be accessed. Further, by grouping a plurality of transactions as a library, it becomes easy to handle a transaction function necessary for executing the transaction.

【0018】請求項6の発明は、前記トランザクション
が、処理対象であるデータの変更を伴わない参照トラン
ザクションと、データの変更を行う更新トランザクショ
ンとを備え、前記トランザクション管理部において、前
記レキシコンセット内のレキシコンに対して、参照ある
いは更新のいずれかのトランザクションがアクセスする
かをあらかじめ設定しておくことを特徴とする。このよ
うな構成の請求項6の発明によれば、レキシコンセット
(データベース)全体ではなく、それを構成するレキシ
コン(部分)ごとに参照/更新をチェックすることがで
きる。
According to a sixth aspect of the present invention, the transaction includes a reference transaction that does not involve a change in data to be processed and an update transaction that makes a change in the data. It is characterized in that whether a transaction of reference or update accesses a lexicon in advance. According to the sixth aspect of the present invention, reference / update can be checked not for the entire lexicon set (database) but for each lexicon (part) constituting the lexicon set (database).

【0019】請求項7の発明は、前記トランザクション
管理部において、前記トランザクション関数をDLLフ
ァイルとして格納し、このDLLファイルと前記トラン
ザクションライブラリとを関連付け、前記トランザクシ
ョンライブラリに登録されたトランザクションの実行時
には、前記ライブラリに関連付けられたDLLファイル
を呼び出して、そこに格納されたトランザクション関数
を実行することを特徴とする。このような構成を有する
請求項7の発明によれば、トランザクションごとではな
く、レキシコンセットにライブラリ(複数可)を対応付
け、このライブラリにDLLファイルを対応付けること
で、アプリケーションを利用するコンピュータ毎にDL
Lファイルの構成内容が異なる場合でも効率的にトラン
ザクション関数名とプログラムのリンクを行うことがで
きる。
According to a seventh aspect of the present invention, in the transaction management section, the transaction function is stored as a DLL file, the DLL file is associated with the transaction library, and when the transaction registered in the transaction library is executed, A DLL file associated with a library is called, and a transaction function stored therein is executed. According to the seventh aspect of the present invention having such a configuration, a library (a plurality) is associated with a lexicon set, not a transaction, and a DLL file is associated with the library.
Even when the configuration contents of the L file are different, the link between the transaction function name and the program can be efficiently performed.

【0020】請求項8の発明は、前記トランザクション
管理部が、トランザクションのアクセス対象となるレキ
シコンセットに対して、本名と別名とを登録するもので
あり、トランザクションの実行時にレキシコンセットの
本名と別名のいずれでもトランザクションが登録された
レキシコンセットに対してアクセス可能としたことを特
徴とする。このような構成を有する請求項8の発明によ
れば、アプリケーションが発行するトランザクションの
データベース指定識別子を変更することなく、別のデー
タベースに対するトランザクションとして処理すること
ができる。
According to an eighth aspect of the present invention, the transaction management unit registers a real name and an alias for the lexicon set to be accessed by the transaction, and when the transaction is executed, the real name and the alias of the lexicon set are registered. In any case, it is characterized in that a lexicon set in which a transaction is registered can be accessed. According to the invention of claim 8 having such a configuration, a transaction issued by an application can be processed as a transaction for another database without changing the database designation identifier.

【0021】請求項9の発明は、前記複数のホストのい
ずれかに格納されたデータベースに、前記トランザクシ
ョン管理部によって作成されたシステム管理データのオ
リジナルデータが格納され、このシステム管理データの
オリジナルを有するホストには、システム管理アプリケ
ーションプログラムと、このシステム管理アプリケーシ
ョンプログラムによって実行されるシステム管理用トラ
ンザクションが配置され、前記システム管理用トランザ
クションは、前記トランザクション処理部が実行する各
トランザクションと、各トランザクションの処理の対象
となるデータとを関連付けるものであることを特徴とす
る。このように請求項9の発明によれば、システムの各
種の設定についても、ユーザアプリケーションと同様
に、トランザクションによる処理が可能となり、システ
ム開発の一貫性が確保される。
According to a ninth aspect of the present invention, the database stored in any one of the plurality of hosts stores original data of the system management data created by the transaction management unit, and has the original of the system management data. The host is provided with a system management application program and a system management transaction executed by the system management application program. The system management transaction includes a transaction executed by the transaction processing unit and a transaction processing of each transaction. It is characterized in that it is associated with target data. As described above, according to the ninth aspect of the present invention, as with the user application, the various settings of the system can be processed by the transaction, and the consistency of the system development is ensured.

【0022】[0022]

【発明の実施の形態】次に、本発明の実施の形態につい
て図面を参照して具体的に説明する。なお、本実施の形
態のうち情報処理に関する部分は、典型的には、コンピ
ュータをソフトウェアで制御することで実現される。こ
の場合のソフトウェアは、コンピュータのハードウェア
を物理的に活用することで本発明の作用効果を実現する
もので、また、従来技術との共通部分には従来技術も適
用される。但し、この場合のハードウェアやソフトウェ
アの種類や構成、ソフトウェアで処理する範囲などは各
種変更可能であるため、以下の説明では、本発明及び実
施形態の各機能を実現する仮想的回路ブロックを用い
る。
Next, embodiments of the present invention will be specifically described with reference to the drawings. Note that a portion related to information processing in this embodiment is typically realized by controlling a computer with software. The software in this case realizes the operation and effect of the present invention by physically utilizing the hardware of the computer, and the conventional technology is applied to the common parts with the conventional technology. However, in this case, since the types and configurations of hardware and software, the range of processing by software, and the like can be variously changed, a virtual circuit block that realizes each function of the present invention and the embodiment will be used in the following description. .

【0023】[1.分散データ管理システムの全体像]
本発明は、ネットワークで接続された複数のマシンに備
えられたデータベースを、適切且つ効率良く管理するた
めの分散データ管理システムに関するものである。
[1. Overview of distributed data management system]
The present invention relates to a distributed data management system for appropriately and efficiently managing databases provided in a plurality of machines connected by a network.

【0024】本発明の詳細については後述するが、ここ
では本発明の分散データ管理システム(以下、本システ
ムという)について概説する。すなわち、本システム
は、データベース(レキシコンセット)とトランザクシ
ョンを扱うものであって、アプリケーション(=ユー
ザ)からデータベースの内容の参照・検索・更新の一群
の操作依頼をトランザクションとして受け付け、そのト
ランザクションを適切に実行し、必要(要求)に応じて
実行完了通知および実行結果をアプリケーションに通知
するものである。
Although the details of the present invention will be described later, the distributed data management system of the present invention (hereinafter, referred to as the present system) will be outlined here. That is, the present system handles a database (lexicon set) and a transaction, receives a group of operation requests for reference, search, and update of the contents of the database from an application (= user) as a transaction, and appropriately receives the transaction. The application is executed, and an execution completion notification and an execution result are notified to the application as necessary (request).

【0025】図1は、本発明に係る分散データ管理シス
テムの構成を示す図である。すなわち、本システムは、
図1に示すように、複数のコンピュータA,B,C……
(各ホストと呼ぶ)を通信ネットワークで接続すること
によって構成されている。また、各ホストA,B,Cの
主記憶領域には、それぞれデータベース1a、1b、1
cとこのデータベースにアクセスするためのトランザク
ション関数2a、2b、2cが配置されている。
FIG. 1 is a diagram showing the configuration of a distributed data management system according to the present invention. That is, the system
As shown in FIG. 1, a plurality of computers A, B, C,.
(Called each host) by a communication network. In the main storage areas of the hosts A, B, and C, the databases 1a, 1b, 1
c and transaction functions 2a, 2b, 2c for accessing the database.

【0026】各ホストでは1または複数個のアプリケー
ションが実行されるが、本システムが複数のホストから
構成される場合、異なるホストでは異なるアプリケーシ
ョンが実行されることが多い。すなわち、アプリケーシ
ョンX,Y,Zは本システムの外部にあって、各ホスト
ごとにそのデータベースにアクセスして必要な処理を行
う。この場合、各アプリケーションX,Y,Zは、各ホ
ストに設けられた処理部3a、3b、3cを介して、本
システムに予め登録されているトランザクション関数2
a、2b、2cに参照・更新などの処理を依頼し、その
結果を受けてデータベースへのアクセス以外にプログラ
ムの実行に必要となる処理を行う。通常、アプリケーシ
ョンでは画面への表示や印刷などのフロントエンド処理
を行う。
One or a plurality of applications are executed on each host. When the system is composed of a plurality of hosts, different applications are often executed on different hosts. That is, the applications X, Y, and Z are outside the present system and access the database for each host to perform necessary processing. In this case, each of the applications X, Y, and Z communicates with a transaction function 2 registered in advance in the system via processing units 3a, 3b, and 3c provided in each host.
a, 2b, and 2c are requested to perform processes such as reference and update, and upon receiving the results, perform processes necessary for executing the program other than accessing the database. Normally, an application performs front-end processing such as display on a screen and printing.

【0027】(データベース)また、本システムのデー
タベース1a、1b、1cは、1つ以上の部分(レキシ
コン)から構成されている。このレキシコンは、レキシ
コンセットのデータの部分に選択的にアクセスしたり、
属性を付与するための単位であって、名称(レキシコン
名)等でユニークに識別される。本システムの実行環境
においては、図2に示すように、ユニスペースが複数の
レキシコンセットを含むことができるので、レキシコン
セットもまた名称(レキシコンセット名)等で識別す
る。さらに、同一の物理的マシン上に共通のネットワー
クを使用して複数のユニスペース、すなわち異なるレキ
シコンセットの組を管理する複数のシステムとして本シ
ステムを実施することもあり得るので、ユニスペースも
また名称(ユニスペース名)等で区別する。
(Database) The databases 1a, 1b and 1c of the present system are composed of one or more parts (lexicon). This lexicon selectively accesses the data portion of the lexicon set,
A unit for giving an attribute, which is uniquely identified by a name (lexicon name) or the like. In the execution environment of the present system, as shown in FIG. 2, since a unispace can include a plurality of lexicon sets, the lexicon sets are also identified by names (lexicon set names). Furthermore, the Unispace may also be implemented as a system that manages multiple Unispaces, i.e., different sets of lexicon sets, using a common network on the same physical machine. (Unispace name).

【0028】そして、各ホストのデータベースに格納さ
れているレキシコンセットは、いずれかのホスト上にそ
のオリジナルデータが保有され、他のホストにはそのコ
ピーであるレプリカデータが保有されている。例えば、
図1においては、ホストA(コンピュータA)には、デ
ータBのオリジナルデータが保有され、ホストC(コン
ピュータC)には、データAのオリジナルデータが保有
されている。また、ホストB(コンピュータB)には、
データA及びデータBのレプリカデータが保有されてい
る。また、本システムにおいては、データの更新処理
は、オリジナルデータに対してのみ実行でき、レプリカ
データでは、データの更新処理を行うことはできない。
In the lexicon set stored in the database of each host, the original data is held on one of the hosts, and the replica data, which is a copy thereof, is held on the other hosts. For example,
In FIG. 1, a host A (computer A) holds original data of data B, and a host C (computer C) holds original data of data A. Also, the host B (computer B)
Replica data of data A and data B is held. Further, in the present system, data update processing can be executed only for original data, and data update processing cannot be performed for replica data.

【0029】(トランザクション)トランザクションが
行うべき操作を抽象化/一般化した手続を「トランザク
ション関数」と呼ぶ。すなわち、図1に示したトランザ
クション関数(TR関数)A,Bは、各マシンのデータ
ベースにアクセスして、アプリケーション共通で必要と
なる処理を実現する関数である。すなわち、本システム
においては、各アプリケーションX,Y,Zは、直接デ
ータベースにアクセスして処理を行うわけではなく、ト
ランザクション関数を介してデータベースにアクセスす
るように構成されている。
(Transaction) A procedure in which an operation to be performed by a transaction is abstracted / generalized is called a “transaction function”. That is, the transaction functions (TR functions) A and B shown in FIG. 1 are functions that access the database of each machine and implement the processing required for all applications. That is, in the present system, each of the applications X, Y, and Z does not directly access the database to perform processing, but accesses the database via a transaction function.

【0030】トランザクションには、各種の属性を付与
するため識別子(トランザクション名等)が含まれてい
る。この識別子に対して、例えば実行すべきトランザク
ション関数を対応付けたりする。この識別子は、付与す
べき属性の種類に応じて必要な数を設定すればよい。
Each transaction includes an identifier (transaction name or the like) for giving various attributes. For example, a transaction function to be executed is associated with this identifier. This identifier may be set to a required number according to the type of attribute to be assigned.

【0031】トランザクションが操作の対象とするの
は、1つのレキシコンセットとする。本システムでは、
ユニスペースが複数のレキシコンセットを含むことがで
きるので、トランザクションには、操作対象のレキシコ
ンセットを明記する。このレキシコンセット名を上記識
別子の1つと考えても良い。もちろん、他の識別子から
操作対象レキシコンセットを判別する手段を設けること
もでき、レキシコンセット名の明記は必須ではない。
The target of a transaction is one lexicon set. In this system,
Since Unispace can include a plurality of lexicon sets, the transaction specifies the lexicon set to be operated. This lexicon set name may be considered as one of the above identifiers. Of course, means for determining the lexicon set to be operated from other identifiers can be provided, and it is not essential to specify the lexicon set name.

【0032】そして、本システムにおいては、アプリケ
ーションからのデータ操作の依頼をトランザクションを
単位として処理する。従って、オリジナルデータに対す
る更新処理も更新TRを単位として実行され、レプリカ
サイトにおける更新内容(レプリケーションデータ)の
レプリカデータに対する反映処理も、原因となった更新
TRを単位として行われる。
In the present system, a data operation request from an application is processed in transaction units. Therefore, the update processing for the original data is also executed in units of the update TR, and the update processing (replication data) in the replica site is reflected in the replica data in units of the update TR that caused the update.

【0033】(本システムの主たる目的)本システムの
主たる目的は、データベース(レキシコンセット)を複
数のマシン上で同一内容に保つことを意図している。す
なわち、各マシンは同一内容のデータベースのコピーを
保持しており、1つのマシンでそのデータベースに対し
て更新が加えられた場合には、通信ネットワークを経由
して各マシンに更新情報(内容)を伝達し、各マシンの
データベースに更新内容を速やかに反映させることによ
ってこの目的を達成しようとするものである。本明細書
においては、この機能を「レプリケーション」と称す
る。
(Main Purpose of the System) The main purpose of the system is to keep the database (lexicon set) the same on a plurality of machines. That is, each machine holds a copy of the database having the same contents, and when an update is made to the database by one machine, the update information (content) is transmitted to each machine via the communication network. The goal is to achieve this by communicating and promptly updating the database in each machine. In this specification, this function is called "replication".

【0034】なお、本明細書においては、データベース
を更新する権利を持つマシンをそのデータベースのオリ
ジナルサイト、そのデータをオリジナルデータと呼ぶ。
また、それ以外のマシンでそのデータベースのコピーを
保有するものをレプリカサイト、そのデータをレプリカ
データと呼ぶ。
In this specification, a machine having a right to update a database is called an original site of the database, and its data is called original data.
Other machines holding a copy of the database are called replica sites, and the data is called replica data.

【0035】また、本システムは、データベースを更新
するトランザクション(更新TR)を上記オリジナルサ
イトで実行する機能を備え、前記レプリケーションと併
せて、複数のコピーからなるデータベースを、各マシン
のアプリケーションからは論理的に1つのデータベース
に見えるように運用する。すなわち、各マシンのアプリ
ケーションはオリジナルサイトがどのマシンかを気にす
る必要がない。本明細書においては、このようなシステ
ム構成を「リモート/ローカル構造」と呼ぶ。
Further, the present system has a function of executing a transaction (update TR) for updating the database at the above-mentioned original site. In addition to the above-mentioned replication, a database consisting of a plurality of copies is logically transmitted from the application of each machine. Operate so that it looks like a single database. That is, the application on each machine does not need to care which machine the original site is. In this specification, such a system configuration is called a “remote / local structure”.

【0036】さらに、本システムにおいては、トランザ
クションの実行及びレプリケーションデータの反映が一
単位完了するまでは、そのデータベース(レキンコンセ
ット)を操作対象とする他のトランザクションの処理を
行わない(もちろん他のレプリケーションデータの反映
も行なわない)。それらの実行及び反映、また、そのデ
ータベース(レキンコンセット)を操作対象とする他の
トランザクションの実行またはレプリケーションデータ
の反映が進行中の場合は、それらの完了を待って開始さ
れる。すなわち、(1つのマシンの)1つのデータベー
ス(レキンコンセント)に関するトランザクションの実
行及びレプリケーションデータの反映は、トランザクシ
ョン単位でシリアルに処理される。それゆえ、トランザ
クション及びその実行を依頼したアプリケーションが他
のトランザクションの実行途中のデータベースの内容に
アクセスすることはない。
Further, in the present system, until the execution of the transaction and the reflection of the replication data have been completed by one unit, the processing of other transactions that operate on the database (rekin console set) is not performed (of course, other transactions are not performed). It does not reflect replication data.) If the execution and reflection of those transactions, or the execution of other transactions or the reflection of replication data for the database (reconconset) is in progress, the processing is started after the completion thereof. In other words, the execution of a transaction relating to one database (of one machine) and the reflection of replication data are serially processed in transaction units. Therefore, the transaction and the application requesting the execution do not access the contents of the database during execution of another transaction.

【0037】なお、更新操作を行なわず、データの検索
・参照のみを行なうトランザクションを、更新トランザ
クションに対して参照トランザクションと呼ぶ。本シス
テムでは、レプリケーション機能によって、オリジナル
データとレプリカデータの一致がトランザクション単位
で速やかに図られるので、参照トランザクションは、そ
のトランザクションを依頼されたマシン(ローカルマシ
ン)のレプリカデータを操作対象としても何ら不都合を
生じない。
It should be noted that a transaction that does not perform an update operation but only retrieves and references data is called a reference transaction with respect to an update transaction. In this system, the replication function quickly matches the original data with the replica data in transaction units. Therefore, the reference transaction has no inconvenience even if the replica data of the machine (local machine) requested for the transaction is operated. Does not occur.

【0038】また、通信ネットワークはオリジナルサイ
トがレプリケーションをレプリカサイトに伝達してレプ
リケーション機能を実現するための手段であると同時
に、レプリカサイトで発行(依頼)された更新トランザ
クションをオリジナルサイトに転送するための手段でも
ある。この更新トランザクションをオリジナルサイトの
みで実行する機能は、具体的には通信ネットワークを経
由してレプリカサイトで発行された更新トランザクショ
ンをオリジナルサイトに転送することによって実現され
る。 [2.用語の説明]各実施形態について説明する前に、
本明細書中で用いられる種々の用語について説明する。
Further, the communication network is a means for the original site to transmit the replication to the replica site to realize the replication function, and at the same time, to transfer the update transaction issued (requested) at the replica site to the original site. It is also a means. The function of executing the update transaction only at the original site is specifically realized by transferring the update transaction issued at the replica site via the communication network to the original site. [2. Explanation of Terms] Before describing each embodiment,
Various terms used in this specification will be described.

【0039】(1)ユニスペース(共有単位領域/デー
タベース実行単位領域) 本システムは、ネットワークで結合された複数のマシン
(ホスト)上で協調動作することで、主記憶上の共有デ
ータを一貫して維持・更新するためのものであり、本シ
ステムにおいて、ユニスペースとは、このシステムを構
成する複数のマシン(ホスト)間で共有されるデータお
よびデータアクセス(参照・更新)のサービスを区別す
るための識別子である。この識別子は、サーバ同士が通
信する際のグループを識別する際に使用する。また、ア
プリケーションが各サーバに対して共有データへのアク
セスのサービスを要求する際にも利用する。なお、ユニ
スペースの識別子は、ユニスペースの名前をあらわすア
スキー文字列とグループ間通信に利用するIPマルチキ
ャストアドレスの組で構成されている。
(1) Unispace (shared unit area / database execution unit area) This system cooperates on a plurality of machines (hosts) connected by a network to consistently share shared data on a main memory. In this system, the unispace distinguishes data shared between a plurality of machines (hosts) constituting the system and a data access (reference / update) service. Is an identifier for This identifier is used to identify a group in which servers communicate with each other. It is also used when an application requests a service for accessing shared data from each server. The unispace identifier is composed of a set of an ASCII character string representing the name of the unispace and an IP multicast address used for inter-group communication.

【0040】(2)レキシコンセット ユニスペースを構成する共有データに部分集合を定めて
レキシコンセットと呼ぶ。主記憶領域を構成する各マシ
ンに対して、レキシコンセット毎にデータを配置するか
否かの指定が可能である。本システムでは、主記憶デー
タをファイルにバックアップ保存することが可能である
が、この際もレキシコンセット単位となる。
(2) Lexicon set A lexicon set is defined by defining a subset of the shared data constituting the unispace. It is possible to specify whether or not to arrange data for each lexicon set for each machine constituting the main storage area. In the present system, the main storage data can be backed up and saved in a file, but also in the lexicon set unit.

【0041】レキシコンセット内には、データベースと
して共有データへの高速アクセスを可能にするインデッ
クス機能がある。以下に基本となるデータ構造を記す
る。 (a) レキシコン(LEXICON):レキシコンセットの部分
集合。レキシコンセットに属する。 (b) セル(CELL):データを格納する配列。タイプ(デ
ータ型)、キャパシティ(配列の長さ)、カウント(ソ
ート時のキーとしての有効長)属性を持つ。レキシコン
に属する。 (c) コンテキスト(CONTEXT):セルに直線的な関係を
与えるデータ(セルの配列)。キャパシティ属性を持
つ。レキシコンに属する。 (d) ロー(ROW):コンテキストの一部に対してソート
キーを指定するデータ。ローレングス、キーレングスの
属性を持つ。コンテキストに属する。 (e) ファサード(FACADE):ローをソートして検索を可
能にするデータ。インデックス機能の中心となるもの。
レキシコンに属する。
The lexicon set has an index function as a database that enables high-speed access to shared data. The basic data structure is described below. (a) Lexicon: A subset of the Lexicon set. Belongs to the lexicon set. (b) Cell (CELL): An array for storing data. It has attributes of type (data type), capacity (length of array), and count (effective length as a key at the time of sorting). Belongs to lexicon. (c) Context (CONTEXT): Data (array of cells) that gives a linear relationship to cells. Has a capacity attribute. Belongs to lexicon. (d) ROW: Data that specifies a sort key for a part of the context. It has low-length and key-length attributes. Belongs to the context. (e) Facade (FACADE): Data that allows rows to be sorted and searched. The core of the index function.
Belongs to lexicon.

【0042】(3)トランザクション トランザクションとは、ユニスペース・サービスに参加
しているアプリケーションの要求に応じて共有データを
一貫して参照および更新する操作を意味する。トランザ
クションが一度に操作対象とすることが出来るデータの
集合は、ひとつのレキシコンセットのみである。本シス
テムでは、トランザクションを用いて共有データを更新
する際は、オリジナルデータが存在する特定のサイト
(以下、ベースサイト又はオリジナルサイトと呼ぶ)で
更新後、同じユニスペースを構成する他サイトに更新結
果(以下、レプリケーションと呼ぶ)をマルチキャスト
することでデータの一貫性を保持している。なお、この
ベースサイトはレキシコンセット毎に指定することがで
きる。アプリケーションの発行するトランザクション
を、本システムでは、(a) ローカル参照、(b) ローカル
更新、(c) リモート更新の3つに区別する。
(3) Transaction A transaction refers to an operation for consistently referring to and updating shared data in response to a request from an application participating in the Unispace service. The set of data that a transaction can operate on at one time is only one lexicon set. In this system, when updating shared data using a transaction, after updating at a specific site where original data exists (hereinafter referred to as a base site or an original site), the update result is updated to another site constituting the same Unispace. Data consistency is maintained by multicasting (hereinafter referred to as replication). This base site can be specified for each lexicon set. In this system, transactions issued by applications are classified into three types: (a) local reference, (b) local update, and (c) remote update.

【0043】(a)ローカル参照 トランザクション操作が共有データの参照だけの場合
で、完全にローカルな主記憶データへのアクセスとして
処理され、ネットワークのトラフィックは一切発生しな
い。言い換えれば、トランザクションの実行によりデー
タが参照されるだけで、なんら変更されないので、自サ
イトがオリジナルサイトであるかレプリカサイトである
かを問わず、常に自サイトの主記憶データにアクセスす
ることにより、トランザクションの実行処理がなされ
る。
(A) Local Reference In the case where the transaction operation is only reference to shared data, it is processed as an access to completely local main storage data, and no network traffic occurs. In other words, since the data is only referenced by executing the transaction and is not changed at all, regardless of whether the own site is the original site or the replica site, by always accessing the main storage data of the own site, Transaction execution processing is performed.

【0044】(b) ローカル更新 トランザクションを発行したアプリケーションが存在す
るサイトがオリジナルサイトの場合。つまり、自サイト
でデータ更新をすることができ、更新後、他のサイトに
その更新データをマルチキャスト送信することにより、
常に各ホストで同一のデータを利用できるようにする機
能をいう。
(B) Local Update The case where the site where the application that issued the transaction exists is the original site. In other words, you can update the data at your own site, and after updating, by multicasting the update data to other sites,
This is a function that always enables the same data to be used by each host.

【0045】(c) リモート更新 トランザクションを発行したアプリケーションが存在す
るサイトがレプリカサイトの場合。つまり、自サイトの
データはレプリカデータなので、データ更新をすること
ができず、そのトランザクションをオリジナルサイトに
転送し、オリジナルサイトでデータ更新後、その更新デ
ータをレプリケーション受信することにより、常に各ホ
ストで同一のデータを利用できるようにする機能をい
う。なお、自サイトがレプリカサイトであり、且つ、ト
ランザクションを発行したアプリケーションが存在しな
い場合には、オリジナルサイトからレプリケーションさ
れた更新データを、自サイトに反映させることにより、
常に各ホストで同一のデータを利用できるように構成さ
れている。
(C) Remote update When the site where the application that issued the transaction exists is a replica site. In other words, since the data at the own site is replica data, the data cannot be updated, so the transaction is transferred to the original site, and after updating the data at the original site, the updated data is received by replication. A function that enables the use of the same data. If the own site is a replica site and there is no application that issued the transaction, the update data replicated from the original site is reflected in the own site,
The same data is always available for each host.

【0046】前記(b) のローカル更新と(c) のリモート
更新の区別は、ベースサイトがトランザクション受付サ
イトと同じであるか否かに依存して区別される。(b) の
ローカル更新の場合はローカルな主記憶データを更新し
たタイミング、(c) のリモート更新の場合はトランザク
ションをベースサイトに転送し共有データを更新後、レ
プリケーションを受信してローカルデータを更新したタ
イミングで終了する。あくまでもこのローカル更新とリ
モート更新の区別は本システム内で行われるので、アプ
リケーションがこれについて意識することはない。
The distinction between the local update of (b) and the remote update of (c) is made depending on whether or not the base site is the same as the transaction reception site. In the case of (b) local update, the timing of updating the local main memory data, and in the case of (c) remote update, transfer the transaction to the base site and update the shared data, then receive the replication and update the local data It ends at the timing of doing. The distinction between the local update and the remote update is performed within the system, and the application is unaware of this.

【0047】(5)リトリーブ リトリーブとは、システムの起動時またはレキシコンセ
ットデータを主記憶上に格納するときに、オリジナルデ
ータやレプリカデータを設定された通りに利用可能な状
態にする機能である。自ホストの他から(オリジナルで
もレプリカでもよい)からレキシコンセットデータのす
べてをネットワーク経由で受け取る。
(5) Retrieval Retrieval is a function of making original data or replica data usable as set when the system is started or when lexicon set data is stored in the main memory. Receive all lexicon set data from other hosts (either original or replica) via the network.

【0048】また、リトリーブ要求を送る相手先のホス
トのリストを指定することができる。あるルールに従っ
てホストリストの中のホストに対して送信要求を出す。
オリジナルやレプリカの配置、ネットワークの帯域幅、
マシンのスペックなどによってホストリストを決定する
ことで、システム構成に適した設定をとることができ
る。なお、一般には、データはネットワークを通じて各
ホストに配置されるが、システムの起動時においては、
ネットワークからのリトリーブに失敗した時はファイル
からのロードも可能であり、また、ネットワークリトリ
ーブをする前にファイルからのロードを行うことも可能
である。
Also, a list of hosts to which a retrieve request is sent can be specified. Send a transmission request to the hosts in the host list according to a certain rule.
Original and replica placement, network bandwidth,
By determining the host list according to the specifications of the machine, settings suitable for the system configuration can be obtained. In general, data is allocated to each host via a network, but when the system starts up,
When the retrieval from the network fails, loading from a file is possible, and loading from a file before performing the network retrieval is also possible.

【0049】(6)レプリケーション レプリケーションとは、更新トランザクションによるデ
ータの変更を他のマシンへマルチキャストで送信する機
能である。オリジナルで更新トランザクションを実行
し、更新分のみをマルチキャストでレプリカへ送信す
る。レプリカ側はそれを受信し、レプリカデータへ反映
する。
(6) Replication The replication is a function of transmitting a data change by an update transaction to another machine by multicast. Execute the update transaction on the original and send only the update to the replica by multicast. The replica receives it and reflects it in the replica data.

【0050】(7)バックアップ バックアップとは、2次記憶装置へレキシコンセットの
内容を保存する機能である。2次記憶へバックアップす
るかどうかはオプションで指定できるので(適宜指定す
ることができるように構成されているので)、要求する
スループットや信頼性向上などに柔軟に対応したシステ
ム構成をとることができる。バックアップ機能で保存さ
れたデータは、起動時や障害回復時のリトリーブ機能で
使用される。2次記憶装置へのバックアップ処理は、ト
ランザクション処理と非同期で処理されるため、トラン
ザクション処理のスループットを低下させることはな
く、主記憶データ管理の高速性を維持できる。
(7) Backup The backup is a function of storing the contents of the lexicon set in the secondary storage device. Whether to back up to the secondary storage can be specified as an option (because it is configured to be able to be specified as appropriate), and a system configuration that can flexibly cope with required throughput and improved reliability can be taken. . The data saved by the backup function is used by the retrieval function at the time of startup or recovery from a failure. Since the backup processing to the secondary storage device is performed asynchronously with the transaction processing, the throughput of the transaction processing is not reduced, and the high-speed main storage data management can be maintained.

【0051】(8)ネットワークを構成するサイト等に
関する用語 ローカルサイト:自サイトのこと リモートサイト:他のサイトのこと オリジナルサイト:オリジナルデータを持っているサイ
ト レプリカサイト:レプリカデータ(コピー)を持ってい
るサイト
(8) Terms relating to sites constituting a network Local site: own site Remote site: other site Original site: site having original data Replica site: holding replica data (copy) Site

【0052】[3.各ホストの構成…図2]次に、各ホ
ストの構成を図2によって説明する。前記の全体構成図
で説明したように、各ホストの主記憶領域には、それぞ
れデータベース管理システム1が配置されている。この
管理システム1は、複数の処理部あるいは設定部と、こ
れらの処理や設定を反映させるためのレキシコンセット
2と呼ばれるデータベースを備えている。また、システ
ム管理アプリケーションや業務アプリケーションとの接
点(窓口)となるトランザクション受付部3および各ホ
ストをネットワークに接続するための送信部および受信
部4,5を備えている。
[3. Next, the configuration of each host will be described with reference to FIG. As described in the overall configuration diagram, the database management system 1 is disposed in the main storage area of each host. The management system 1 includes a plurality of processing units or setting units, and a database called a lexicon set 2 for reflecting these processes and settings. The system also includes a transaction accepting unit 3 serving as a contact point (contact point) with a system management application and a business application, and a transmitting unit and receiving units 4 and 5 for connecting each host to a network.

【0053】この管理システムが備えている複数の処理
部および設定部としては、次のものが用意されている。 (1)システム構成設定部11 このシステム構成設定部11は、ベースホスト設定部1
11、バックアップホスト設定部112、レキシコン定
義部113およびマルチキャストアドレス設定部114
を備えている。このうち、ベースホスト設定部111
は、複数のホストのいずれかにオリジナルデータをおく
か、すなわち、あるレキシコンセットのベース(オリジ
ナル)をネットワーク上のどのホストに置くかを定義す
る。バックアップホスト設定部112は、本システムが
稼動中、各ベースホストについて、1つ以上のバックア
ップホストが存在するように配置する。レキシコン定義
部113は、ベースホスト設定部111によって定義さ
れたレキシコンセットについて、そのレキシコンに属す
るレキシコンを決定する。マルチキャストアドレス設定
部114は、各レキシコンセットについて、システム起
動時のパラメータとしてデフォルトのマルチキャストア
ドレスを設定したり、デフォルトと異なるマルチキャス
トアドレスを設定する。
The following are prepared as a plurality of processing units and setting units provided in this management system. (1) System Configuration Setting Unit 11 The system configuration setting unit 11
11, backup host setting unit 112, lexicon definition unit 113, and multicast address setting unit 114
It has. Among them, the base host setting unit 111
Defines whether to place the original data on any of a plurality of hosts, that is, on which host on the network the base (original) of a certain lexicon set is placed. The backup host setting unit 112 arranges such that one or more backup hosts exist for each base host while the system is operating. The lexicon definition unit 113 determines, for the lexicon set defined by the base host setting unit 111, a lexicon belonging to the lexicon. The multicast address setting unit 114 sets a default multicast address as a parameter at the time of system startup or a multicast address different from the default for each lexicon set.

【0054】(2)トランザクション管理部12A トランザクション管理部12Aは、アプリケーションが
利用するトランザクションと、このトランザクションに
よって実行されるトランザクション関数を定義したり、
このトランザクション関数がアクセスするレキシコンセ
ットとの関係を定義する。また、トランザクションを利
用してレキシコンセット内のデータの参照・更新・検索
などの処理を行う。このトランザクション管理部12A
については、図5にて詳述する。
(2) Transaction Management Unit 12A The transaction management unit 12A defines a transaction used by an application and a transaction function executed by this transaction.
Defines the relationship with the lexicon set accessed by this transaction function. In addition, processing such as reference, update, and search of data in the lexicon set is performed using a transaction. This transaction management unit 12A
Will be described in detail with reference to FIG.

【0055】(3)トランザクション処理部12B トランザクション処理部12Bは、前記トランザクショ
ン管理部12Aの設定に従い、アプリケーションからの
トランザクションの実行依頼があった場合に、そのトラ
ンザクションに対応するトランザクション関数を選択し
て、このトランザクション関数を用いてレキシコンセッ
ト内のデータの参照・更新・検索などの処理を行う。
(3) Transaction processing unit 12B The transaction processing unit 12B selects a transaction function corresponding to the transaction when an application requests execution of the transaction in accordance with the setting of the transaction management unit 12A. Using this transaction function, processing such as reference, update, and search of data in the lexicon set is performed.

【0056】(4)データ常駐管理部13 このデータ常駐管理部13は、各ホストにどのレキシコ
ンセットを常駐させるか、すなわち、各ホストの業務ア
プリケーションがどのレキシコンセットのデータにアク
セス可能かを、あらかじめ設定する処理を行う。また、
システムの稼働時には、必要なデータをベースホストか
ら各レプリカサイト呼び出すリトリーブ処理や、新たな
レキシコンセットを所定のホストに追加常駐させたり、
常駐を解放したりする常駐状態の変更処理も行う。
(4) Data resident management unit 13 The data resident management unit 13 determines in advance which lexicon set is to be resident in each host, that is, which lexicon set can be accessed by the business application of each host. Perform the setting process. Also,
When the system is running, the base host retrieves the required data from each replica site, retrieves new sets of lexicons on a given host,
It also performs resident status change processing such as releasing resident status.

【0057】(5)レプリケーション処理部14 このレプリケーション処理部14は、システム構成設定
部においてあらかじめ設定されたベースホストとレプリ
カサイトとの間で、データの同一性を確保するためのレ
プリケーション処理を行う。すなわち、業務アプリケー
ションが行うデータに対するアクセスは、トランザクシ
ョンを介して行われるが、このトランザクションには前
記用語の説明で述べたように、データを参照するだけの
「参照」と、データが変更される「更新」の2種類の処
理がある。また、そのTRを実行するホストにも「ロー
カルサイト…自サイトのこと」と「リモートサイト…他
のサイトのこと」の2種類がある。そこで、このレプリ
ケーション処理部14は、これらの種類に応じて、前記
用語の説明で述べた次の処理を行う。 (a) ローカル参照処理 (b) ローカル更新処理 (c) リモート更新処理
(5) Replication Processing Unit 14 The replication processing unit 14 performs a replication process for ensuring data consistency between the base host and the replica site set in advance in the system configuration setting unit. That is, access to the data performed by the business application is performed via a transaction. In this transaction, as described in the description of the term, “reference” that only refers to data, and “data is changed” There are two types of processing of "update". Also, there are two types of hosts that execute the TR, namely, "local site... Own site" and "remote site... Other site". Therefore, the replication processing unit 14 performs the following processing described in the description of the term according to these types. (a) Local reference processing (b) Local update processing (c) Remote update processing

【0058】(6)ベースホスト切替処理部15 前記システム構成設定部11で設定したように、各レキ
シコンセットについては、そのベースホストがあらかじ
め設定され、それに従ってシステムが稼働されている。
ところが、ネットワーク上に接続されている各ホストの
故障、保守点検、ネットワーク障害などの理由から、レ
キシコンセットのベースホストを他のホストへ切り替え
ることが必要となる場合がある。この場合、ネットワー
ク上に接続されている各ホストには、次の3種類の立場
がある。すなわち、(a) 現在Baseホストであるホスト
(旧Baseホスト)、(b) 次にBaseホストになる予定のホ
スト(新Baseホスト)、(c) 上記2種以外のホスト(他
のホスト)である。このベースホスト切替処理部15
は、前記の3種のホストにおいては、旧ベースホストか
ら新ベースホストあるいは他のホストへのオリジナルデ
ータのレプリケーション、および切替後のベースホスト
がどのホストであるかを各ホスト間に周知させるための
処理を行う。
(6) Base host switching processing unit 15 As set in the system configuration setting unit 11, the base host is set in advance for each lexicon set, and the system is operated in accordance therewith.
However, it may be necessary to switch the base host of the lexicon set to another host for reasons such as failure of each host connected on the network, maintenance and inspection, and network failure. In this case, each host connected on the network has the following three positions. In other words, (a) a host that is currently the Base host (old Base host), (b) a host that will become the next Base host (new Base host), and (c) a host other than the above two types (another host). is there. This base host switching processing unit 15
The above three types of hosts are used to replicate the original data from the old base host to the new base host or another host, and to communicate between the hosts which base host after the switching is the host. Perform processing.

【0059】[4.システム構成の設定…図3]前記図
2に示したような各ホストについて、本実施の形態で
は、次のように各種の設定を行う。この設定は、システ
ム管理アプリケーションから実行を依頼された登録用ト
ランザクションが、各設定部や処理部にアクセスするこ
とにより行われる。すなわち、本システムは、各ホスト
の主記憶領域(本実施の形態では、ユニスペース/Unis
paceと呼ぶ)上にレキシコンセットと呼ばれるデータ及
びこのデータに対して様々な処理を行うためのトランザ
クションに関するデータのすべてを配置するものである
から、以降の例では、主記憶領域が予め正しく初期化さ
れていることを前提とする。
[4. System Configuration Setting FIG. 3] For each host as shown in FIG. 2, in this embodiment, various settings are made as follows. This setting is performed when the registration transaction requested to be executed by the system management application accesses each setting unit and processing unit. That is, the present system uses the main storage area of each host (in this embodiment, Unispace / Unis
In this example, the main storage area is correctly initialized in advance in the following example since the data called a lexicon set and data related to a transaction for performing various processing on the data are placed on the main storage area. It is assumed that it is done.

【0060】本システムを稼働するには、このように初
期化完了された主記憶領域に対しては、各データを割り
当て、各データに対する種々の設定を行うのであるが、
そのために、専用のシステム管理アプリケーションが使
用される。トランザクションの登録もアプリケーション
から行うものであるが、トランザクションの実行依頼を
行うアプリケーションとトランザクションの登録を行う
アプリケーションでは異なったアプリケーションを使用
しているため、アプリケーションの種類は異なったもの
である。そこで、本実施の形態では、トランザクション
の登録等のシステム設定を行うアプリケーションのこと
を、「システム管理アプリケーション」と呼び、トラン
ザクションの実行依頼を行うアプリケーションを「ユー
ザ実行アプリケーション」と呼ぶ。
In order to operate the present system, each data is allocated to the main storage area initialized as described above, and various settings are made for each data.
For that purpose, a dedicated system management application is used. The registration of a transaction is also performed from the application. However, since the application performing the transaction request and the application performing the transaction registration use different applications, the types of the applications are different. Therefore, in the present embodiment, an application for performing system settings such as transaction registration is referred to as a “system management application”, and an application for requesting execution of a transaction is referred to as a “user execution application”.

【0061】(1)レキシコンセットの定義(S030
1) ユーザは、設計時に決めたレキシコンセットを定義する
必要がある。すなわち、システム管理アプリケーション
から発行したトランザクションを、トランザクション受
付部3が受け付け、このトランザクション受付部3から
の指令により、図2のシステム構成設定部11に設けら
れたベースホスト設定部111がレキシコンセットのベ
ースホストを指定する。以下の例は、Unispaceと呼ばれ
る主記憶領域に対して、定義するレキシコンセットの
「本名」と、このレキシコンセットのベース(オリジナ
ル)をネットワーク上のどのホストに置くかを定義して
いる。すなわち、"SampleLexiconSet"というレキシコン
セットをベースホスト"host_1"で定義する。 DefineLexiconSet(&us,"SampleLexiconSet","host_1"); ただし、この状態では、レキシコンセットが定義された
だけで、実体であるデータはどこにもない。
(1) Definition of lexicon set (S030)
1) The user needs to define a lexicon set determined at the time of design. That is, the transaction accepting unit 3 accepts a transaction issued from the system management application, and in response to a command from the transaction accepting unit 3, the base host setting unit 111 provided in the system configuration setting unit 11 of FIG. Specify the host. The following example defines the "real name" of the lexicon set to be defined for the main storage area called Unispace, and the host on the network where the base (original) of this lexicon set is to be placed. That is, a lexicon set called “SampleLexiconSet” is defined by the base host “host_1”. DefineLexiconSet (& us, "SampleLexiconSet", "host_1"); However, in this state, only the lexicon set is defined, and there is no actual data.

【0062】(2)バックアップホストの定義(S03
02) すなわち、システム構成設定部11に設けられたバック
アップホスト設定部112により、ユーザは、各レキシ
コンセットのバックアップホストを1つ以上定義するも
ので、その際、本システムが稼動している限り常に1つ
以上のバックアップホストが存在するように配置する。
また、バックアップホスト設定部112により、各バッ
クアップホストにおいてファイルのバックアップを取る
か否か決める。例えば、SampleLexiconSetのBackupホス
トとしてhost1、host2とし、host1ではファイルBackup
し、host2ではファイルBackupしない場合は以下の通り
である。 SetLexiconSetBackupHost(&us,"SampleLexiconSet","ho
st1",TRUE); SetLexiconSetBackupHost(&us,"SampleLexiconSet","ho
st2",FALSE);
(2) Definition of backup host (S03)
02) That is, the backup host setting unit 112 provided in the system configuration setting unit 11 allows the user to define one or more backup hosts for each lexicon set. At this time, the user always defines one or more backup hosts. Arrange so that one or more backup hosts exist.
In addition, the backup host setting unit 112 determines whether or not to back up a file in each backup host. For example, host1 and host2 are the backup hosts of SampleLexiconSet, and the file Backup
However, if the file is not backed up on host2, it is as follows. SetLexiconSetBackupHost (& us, "SampleLexiconSet", "ho
st1 ", TRUE); SetLexiconSetBackupHost (&us," SampleLexiconSet "," ho
st2 ", FALSE);

【0063】(3)レキシコンの定義(S0303) 次に、レキシコン定義部113により、前記のように定
義されたレキシコンセットの中にそのレキシコンセット
に属するレキシコンを定義する。この場合、本実施の形
態では、定義するレキシコンには、それが属するレキシ
コンセットと共に、そのレキシコンがシングルオリジナ
ルかマルチオリジナルかのタイプも合わせて定義する。
ここで、シングルオリジナルのレキシコンはレキシコン
セットのベースホストでのみ更新操作(cell/contextの
作成/変更 etc)が可能である。ベースホスト以外のホス
トでは、レキシコンの内容はベースホストでの更新操作
の結果がレプリケーションされて反映される。マルチオ
リジナルのレキシコンでは、どこのホストでも更新操作
が可能である。更新操作の結果はレプリケーションされ
ず、更新結果はローカルにとどまる。すなわち、"Sampl
eLexiconSet"の中に2つのレキシコン"Lexicon_1"、"Le
xicon_2"を定義する。"Lexicon1"をシングルオリジナル
とし、"Lexicon2"をマルチオリジナルとする。 DefineLexiconInLexiconSet(&us,"SampleLexiconSet","
Lexicon1",SingleORG); DefineLexiconInLexiconSet(&us,"SampleLexiconSet","
Lexicon2",MultiORG);
(3) Definition of Lexicon (S0303) Next, the lexicon definition unit 113 defines a lexicon belonging to the lexicon set in the lexicon set defined as described above. In this case, in the present embodiment, the lexicon to be defined is defined together with the lexicon set to which the lexicon belongs, together with the type of whether the lexicon is single-original or multi-original.
Here, the single original lexicon can be updated (create / change cell / context etc.) only on the base host of the lexicon set. For hosts other than the base host, the result of the update operation on the base host is replicated and reflected in the lexicon contents. With a multi-original lexicon, update operations are possible on any host. The result of the update operation is not replicated and the update result remains local. That is, "Sampl
Two lexicons "Lexicon_1" and "Le" in "eLexiconSet"
xicon_2 ". Define" Lexicon1 "as a single original and" Lexicon2 "as a multi-original. DefineLexiconInLexiconSet (&us," SampleLexiconSet ","
Lexicon1 ", SingleORG); DefineLexiconInLexiconSet (&us," SampleLexiconSet ","
Lexicon2 ", MultiORG);

【0064】(4)トランザクションライブラリの定義
(S0304,S0305) 本システムにおいて、トランザクション関数とトランザ
クションは1対1に対応しており、トランザクション管
理部12Aは、トランザクションの集合をライブラリと
して定義し、このトランザクションライブラリをレキシ
コンセットに登録する。例えば、トランザクションライ
ブラリ"TRLIB"をレキシコンセット "SampleLexiconSet"
に定義する。ライブラリは3つのトランザクション "tr
1","tr2","tr3"からなる場合。 char *TrNames[3]; TrNames[0]="tr1"; TrNames[1]="tr2"; TrNames[2]="tr
3"; DefineTransactionLibrary(&us,"SampleLexiconSet","T
RLIB",3,TrNames); このようにしてトランザクションが定義されたが、実行
できるトランザクションの実体はまだない。
(4) Definition of Transaction Library (S0304, S0305) In the present system, transaction functions and transactions have a one-to-one correspondence, and the transaction management unit 12A defines a set of transactions as a library. Register the library in the lexicon set. For example, set the transaction library "TRLIB" to the lexicon set "SampleLexiconSet"
Defined in The library has three transactions "tr
1 "," tr2 "," tr3 "char * TrNames [3]; TrNames [0] =" tr1 "; TrNames [1] =" tr2 "; TrNames [2] =" tr
3 "; DefineTransactionLibrary (&us," SampleLexiconSet "," T
RLIB ", 3, TrNames); Although the transaction is defined in this way, there is no transactional entity that can be executed yet.

【0065】(5)トランザクション名とトランザクシ
ョン関数名の関連付け(S0306) また、トランザクション管理部12Aは、トランザクシ
ョン名とトランザクション関数名を関連付ける。同時
に、トランザクションのアクセス対象レキシコンとアク
セス形態を決定し、トランザクションと関連付けてレキ
シコンセットに登録する。この時点で、トランザクショ
ンがどのレキシコンに対してアクセスされるか設定され
る。ここで、アクセス形態とは、参照または更新を示
す。参照の場合は、トランザクションはレキシコンの内
容の参照のみが許され、レキシコンの内容を書き換える
ことは不可能である。更新の場合は、レキシコンの内容
を参照することも、内容を書き換えることも可能であ
る。例えば、3つのトランザクション "tr1","tr2","tr
3"がそれぞれトランザクション関数 "tr1all", "tr2sr
h", "tr3upd"に関連付けられ、"tr1"はレキシコン "Lex
icon1","Lexicon2"を更新し、"tr2"は"Lexicon1"のみ参
照し、"tr3"は"Lexicon1"を更新し、"Lexicon2"を参照
する場合は以下の通りである。 char *lex[2]; int mode[2]; lex[0]="Lexicon1"; lex[1]="Lexicon2"; mode[0]=TRUE; mode[1]=TRUE; AttachTransactionToFunction(&us,"SampleLexiconSe
t","tr1","tr1all",2,lex,mode); lex[0]="Lexicon1"; mode[0]=FALSE; AttachTransactionToFunction(&us,"SampleLexiconSe
t","tr2","tr2srh",1,lex,mode); lex[0]="Lexicon1"; lex[1]="Lexicon2"; mode[0]=TRUE; mode[1]=FALSE; AttachTransactionToFunction(&us,"SampleLexiconSe
t","tr3","tr3upd",2,lex,mode); この場合、トランザクション名とトランザクション関数
名が関連付けられただけであり、まだトランザクション
が実行できる状態ではない。
(5) Associating Transaction Name with Transaction Function Name (S0306) The transaction management unit 12A associates a transaction name with a transaction function name. At the same time, the lexicon to be accessed by the transaction and the access mode are determined, and registered in the lexicon set in association with the transaction. At this point, it is set to which lexicon the transaction is accessed. Here, the access mode indicates reference or update. In the case of reference, the transaction is only allowed to refer to the contents of the lexicon, and it is impossible to rewrite the contents of the lexicon. In the case of updating, it is possible to refer to the contents of the lexicon or to rewrite the contents. For example, three transactions "tr1", "tr2", "tr
3 "is the transaction function" tr1all "," tr2sr "respectively
h "," tr3upd ", where" tr1 "is the lexicon" Lex
icon1 "," Lexicon2 "is updated," tr2 "refers only to" Lexicon1 "," tr3 "updates" Lexicon1 ", and refers to" Lexicon2 "as follows: char * lex [ 2]; int mode [2]; lex [0] = "Lexicon1"; lex [1] = "Lexicon2"; mode [0] = TRUE; mode [1] = TRUE; AttachTransactionToFunction (& us, "SampleLexiconSe
t "," tr1 "," tr1all ", 2, lex, mode); lex [0] =" Lexicon1 "; mode [0] = FALSE; AttachTransactionToFunction (&us," SampleLexiconSe
t "," tr2 "," tr2srh ", 1, lex, mode); lex [0] =" Lexicon1 "; lex [1] =" Lexicon2 "; mode [0] = TRUE; mode [1] = FALSE; AttachTransactionToFunction (& us, "SampleLexiconSe
t "," tr3 "," tr3upd ", 2, lex, mode); In this case, only the transaction name is associated with the transaction function name, and the transaction is not yet executable.

【0066】(6)レキシコン配置の定義(S030
7) データ常駐管理部13は、レキシコンを配置するホスト
を定義する。各ホストで実行するトランザクションに必
要なレキシコンだけを配置するのが最もリソース節約に
なる。計算機に余裕があるならば各ホスト同一の配置状
況にしてもよい。例えば、レキシコンセット "SampleLe
xiconSet"の"Lexicon1"と"Lexicon2"をホスト "host1"
に配置する場合は、以下の通りである。。 DefineHostOfLexiconResidence(&us,"SampleLexiconSe
t","Lexicon1","host1"); DefineHostOfLexiconResidence(&us,"SampleLexiconSe
t","Lexicon2","host1"); この状態では、レキシコンを配置するホストを定義した
だけであり、実際にレキシコンのデータが配置された
り、またはレキシコンのデータを格納する主記憶領域が
確保されない。実際にデータが配置され主記憶領域が確
保されるのはレキシコンセットデータの常駐を行ったと
きである。
(6) Definition of lexicon arrangement (S030)
7) The data resident management unit 13 defines a host on which the lexicon is located. Placing only the lexicons needed for transactions running on each host saves the most resources. If there is room in the computer, each host may have the same arrangement status. For example, the lexicon set "SampleLe
"Lexicon1" and "Lexicon2" of "xiconSet" host "host1"
When it is arranged in the following, it is as follows. . DefineHostOfLexiconResidence (& us, "SampleLexiconSe
t "," Lexicon1 "," host1 "); DefineHostOfLexiconResidence (&us," SampleLexiconSe
t "," Lexicon2 "," host1 "); In this state, only the host where the lexicon is placed is defined, and the main storage area where the lexicon data is actually placed or the lexicon data is stored is secured. The data is actually allocated and the main storage area is secured when the lexicon set data is made resident.

【0067】(7)トランザクションライブラリとDLL
ファイルのロード(S0308) 次に、トランザクション管理部12Aは、トランザクシ
ョン関数をライブラリ化したDLLファイルをトランザク
ションのライブラリと関連付けて、レキシコンセットが
格納されている本システムが起動しているホストにロー
ドする。ロードする時点でトランザクション関数名との
関連付けができているトランザクションのみトランザク
ション関数ポインタとリンクされる。トランザクション
ライブラリ内のトランザクション全てに対して、トラン
ザクション関数名の関連付けを見つけ出し、ロードした
DLLファイルからトランザクション関数名を用いてトラ
ンザクション関数ポインタを見つけ出してリンクする。
例えば、トランザクションライブラリ "TRLIB"に対し
て、ホスト "host1" でDLLファイル"c:\gigabase\trfun
c.dll"をロードする場合は以下の通りである。なお、フ
ァイルタイプはDLLである。 LoadTransactionLibraryFile(&us,"SampleLexiconSe
t","TRLIB","host1","c:\gigabase\trfunc.dll",DLL);
(7) Transaction library and DLL
Loading the File (S0308) Next, the transaction management unit 12A associates the DLL file in which the transaction function is made into a library with the transaction library and loads the DLL file on the host on which the present system storing the lexicon set is running. Only the transaction that can be associated with the transaction function name at the time of loading is linked with the transaction function pointer. For every transaction in the transaction library, find the association of the transaction function name and load it
The transaction function pointer is found and linked from the DLL file using the transaction function name.
For example, for transaction library "TRLIB", DLL file "c: \ gigabase \ trfun" on host "host1"
When loading c.dll ", the file type is DLL. LoadTransactionLibraryFile (&us," SampleLexiconSe
t "," TRLIB "," host1 "," c: \ gigabase \ trfunc.dll ", DLL);

【0068】ここで初めてトランザクションと関数ポイ
ンタがリンクされたが、実際にトランザクションが実行
できるためには実行するトランザクションのレキシコン
セットが実行するホストにおいて常駐されていなければ
ならない。これで、トランザクション関数が本システム
にロードされ、トランザクションとトランザクション関
数の関連付けが完了した。このようにしてトランザクシ
ョンを本システムに登録することにより、トランザクシ
ョン関数は本システム上で実行され、本システム内でデ
ータベースの操作が可能になる。
Here, the transaction and the function pointer are linked for the first time, but in order for the transaction to be actually executed, the lexicon set of the executed transaction must be resident in the host where the transaction is executed. At this point, the transaction function has been loaded into the system, and the association between the transaction and the transaction function has been completed. By registering a transaction in the present system in this way, the transaction function is executed on the present system, and the database can be operated in the present system.

【0069】(8)レキシコンセット別名の定義(S0
309) さらに、トランザクション処理部12Bでは、トランザ
クションの実行をアプリケーションから投げる際、レキ
シコンセットの別名を指定して実行できる。レキシコン
セットの別名でトランザクションを実行したい場合は、
トランザクションの実行より予め別名を定義する。例え
ば、レキシコンセット "SampleLexiconSet"に別名"ALIA
S"を定義する場合は以下の通りである。 DefineLexiconSetAlias(&us,"SampleLexiconSet","ALIA
S"); アプリケーションからトランザクションの実行を投げる
場合、"SampleLexiconSet"だけでなく"ALIAS"でも投げ
られる。なお、本実施の形態では、システム管理アプリ
ケーションではレキシコンセット別名を使用できないよ
うに構成する。
(8) Definition of lexicon set alias (S0
309) Further, in the transaction processing unit 12B, when the execution of the transaction is thrown from the application, the transaction processing unit 12B can specify and execute the lexicon set alias. If you want to run a transaction under a lexicon set alias,
Define an alias before executing the transaction. For example, the lexicon set "SampleLexiconSet" has the alias "ALIA
To define "S": DefineLexiconSetAlias (& us, "SampleLexiconSet", "ALIA
When throwing a transaction from the application, it is thrown not only in "SampleLexiconSet" but also in "ALIAS." In this embodiment, the system management application is configured so that the lexicon set alias cannot be used.

【0070】(9)マルチキャストアドレスの設定(S
0310) 本設定を行わなければ、ユーザ定義のレキシコンセット
に関する通信は、システム起動パラメータで設定された
デフォルトのマルチキャストアドレスで行われる。そこ
で、システム構成設定部11におけるマルチキャストア
ドレス設定部114により、この設定を行うとデフォル
トと異なるマルチキャストアドレスで通信を行うように
なる。デフォルトマルチキャストアドレスと異なるマル
チキャストアドレスでレキシコンセットの通信を行う場
合は、設定する。設定したマルチキャストアドレスでレ
キシコンセットデータの通信を行わせるには、本設定を
行ってからレキシコンセットデータの常駐を行わなけれ
ばならない。あるホストにおいてマルチキャストアドレ
スを設定する前にレキシコンセットデータの常駐済みの
場合、既にデータの送受信を行っているためマルチキャ
ストアドレスは変更されない。この場合はいったんレキ
シコンセットデータを非常駐として再び常駐させ直せ
ば、設定したマルチキャストアドレスが有効になる。例
えば、"SampleLexiconSet"にマルチキャストアドレス 2
32.122.32.93 を設定する場合は、以下の通りである。 unsigned int maddr; maddr=(232<<24)+(122<16)+(32<<8)+93; SetMulticastAddressForLexiconSet(&us,"SampleLexico
nSet",maddr);
(9) Setting of multicast address (S
[0310] If this setting is not performed, communication relating to the user-defined lexicon set is performed using the default multicast address set in the system startup parameters. Therefore, when this setting is performed by the multicast address setting unit 114 in the system configuration setting unit 11, communication is performed with a multicast address different from the default. Set this when performing lexicon set communication with a multicast address different from the default multicast address. To make lexicon set data communicate with the set multicast address, lexicon set data must be resident after this setting. If the lexicon set data is resident before the multicast address is set in a certain host, the multicast address is not changed because data has already been transmitted and received. In this case, once the lexicon set data is made non-resident and is made to reside again, the set multicast address becomes valid. For example, the multicast address 2 in "SampleLexiconSet"
When setting 32.122.32.93, it is as follows. unsigned int maddr; maddr = (232 << 24) + (122 <16) + (32 << 8) +93; SetMulticastAddressForLexiconSet (& us, "SampleLexico
nSet ", maddr);

【0071】(11)レキシコンセットの常駐(S03
11) ユーザはデータ常駐管理部13により、各ホストにおい
てレキシコンセットの常駐を行うことで、データを主記
憶領域にロードしトランザクション関数を実行できるよ
うになる。本設定をするとき、どこからレキシコンセッ
トのデータを取ってくるか指定しなければならない。こ
れがリトリーブ要求先ホストである。レキシコンセット
を常駐させたいホストにおいて本システムが起動してい
ない場合、実際のレキシコンセットデータの常駐動作で
あるリトリーブは動かず、常駐情報が定義されるだけで
ある。この場合,実際にリトリーブが動くのは、次に本
システムが起動されたときである。
(11) Resident of lexicon set (S03
11) The resident of the lexicon set in each host by the data resident management unit 13 allows the user to load data into the main storage area and execute the transaction function. When making this setting, you must specify where to get the lexicon set data. This is the retrieve request destination host. If this system is not running on the host where the lexicon set is to be resident, the actual resident operation of the lexicon set data, that is, the retrieval, does not move, but only the resident information is defined. In this case, the actual operation of the retrieve is the next time the present system is started.

【0072】すなわち、レキシコンセットの常駐動作で
は、本システムが起動済みであると、データのリトリー
ブを行う。レキシコンセットデータのリトリーブが済む
と、その時点でリンク済みであるTRが実行できるように
なる。レキシコンセットデータのリトリーブが済むと、
設定されているならばマルチキャストアドレスが使用で
きるようになる。また、レキシコンセットのリトリーブ
が動くとき、その時点でそのホストで配置が定義されて
いるレキシコンだけが主記憶上にデータが格納される。
例えば、レキシコンセット "SampleLexiconSet"をホス
ト"host1"に配置する場合。そのときリトリーブ要求先
ホストを " host2","host3"とする。 char *rethost[2]; rethost[0]="host2"; rethost[1]="host3"; LoadLexiconSetData(&us,"SampleLexiconSet","host1",
2,rethost);
That is, in the resident operation of the lexicon set, if the present system has been started, data retrieval is performed. When the lexicon set data is retrieved, the TR that has been linked at that time can be executed. Once the lexicon set data has been retrieved,
If set, the multicast address can be used. When the lexicon set is retrieved, only the lexicon whose arrangement is defined by the host at that time is stored in the main memory.
For example, when lexicon set "SampleLexiconSet" is placed on host "host1". At that time, the host that requests the retrieval is "host2", "host3". char * rethost [2]; rethost [0] = "host2"; rethost [1] = "host3"; LoadLexiconSetData (& us, "SampleLexiconSet", "host1",
2, rethost);

【0073】[5.アプリケーションとトランザクショ
ン関数の実行手順…図4]アプリケーションからトラン
ザクション関数が呼び出されて一連の処理を実行する処
理フローを図4および図7に示す。 (1) アプリケーションは、最初に本システムへの接続を
行う(S0401)。 (2) アプリケーションは、本システムとのデータのやり
取りをするための共有メモリを確保する(S040
2)。 (3) アプリケーションは、トランザクション関数へ渡す
入力パラメータを共有メモリへセットする(S040
3)。 (4) アプリケーションは、トランザクションの実行依頼
を本システムへ出す(S0404)。 (5) アプリケーションは、トランザクション関数の処理
が終了するまで実行待ちに入る(S0405)。 (6) 本システムは、アプリケーションからトランザクシ
ョンの実行依頼を受けると、指定されたトランザクショ
ン関数を起動する(S0406)。すなわち、図7に示
すように、アプリケーションが、自己が実行しようとす
ると処理に対応するトランザクションの実行依頼を行う
と、そのトランザクションに1対1に対応したトランザ
クション関数が選択され、そのトランザクション関数が
起動される。 (7) トランザクション関数は、起動されると最初にアプ
リケーションからの処理に必要なパラメータを共有メモ
リから取り出す(S0407)。 (8) トランザクション関数は、次に、データベースへ参
照、検索、更新、削除、追加などのアクセスを行う。こ
のデータを使ってトランザクション関数の処理を行い、
出力として必要なデータを作成する(S0408)。こ
の場合、トランザクション関数は、システム管理アプリ
ケーションにより予め登録されているレキシコンセット
のレキシコンに対して、必要な処理を行う。 (9) トランザクション関数は、作成したデータを共有メ
モリにセットする(S0409)。 (10)トランザクション関数は、処理を終了する(S04
10)。 (11)本システムは、トランザクション関数の処理が終了
すると、トランザクションの終了通知をアプリケーショ
ンへ伝える(S0411)。 (12)アプリケーションは、終了通知を受け取ると、トラ
ンザクション関数の処理結果を共有メモリから読み出す
(S0412)。 (13)アプリケーションは、共有メモリを開放する(S0
413)。 (14)アプリケーションは、一連の処理が終わって本シス
テムへのアクセスが不用になれば本システムからの切断
を実行する(S0414)。 (15)アプリケーションは、終了する(END)。
[5. Execution Procedure of Application and Transaction Function: FIG. 4] FIGS. 4 and 7 show a processing flow in which a transaction function is called from an application to execute a series of processing. (1) The application first connects to this system (S0401). (2) The application secures a shared memory for exchanging data with this system (S040
2). (3) The application sets the input parameters to be passed to the transaction function in the shared memory (S040)
3). (4) The application issues a transaction execution request to the present system (S0404). (5) The application waits for execution until the processing of the transaction function ends (S0405). (6) Upon receiving a transaction execution request from the application, the system activates the specified transaction function (S0406). That is, as shown in FIG. 7, when an application requests execution of a transaction corresponding to a process when the application attempts to execute the application, a transaction function corresponding to the transaction on a one-to-one basis is selected, and the transaction function is activated. Is done. (7) When activated, the transaction function first retrieves parameters necessary for processing from the application from the shared memory (S0407). (8) Next, the transaction function accesses the database, such as referencing, searching, updating, deleting, and adding. Process the transaction function using this data,
Data required as output is created (S0408). In this case, the transaction function performs necessary processing on the lexicon of the lexicon set registered in advance by the system management application. (9) The transaction function sets the created data in the shared memory (S0409). (10) The transaction function ends the processing (S04)
10). (11) When the processing of the transaction function ends, the present system notifies the application of a transaction end notification (S0411). (12) Upon receiving the end notification, the application reads the processing result of the transaction function from the shared memory (S0412). (13) The application releases the shared memory (S0
413). (14) The application executes disconnection from the present system when a series of processing is completed and access to the present system becomes unnecessary (S0414). (15) The application ends (END).

【0074】[6.参照トランザクションと更新トラン
ザクションの実行]前記のようなトランザクションの実
行時において、ユーザアプリケーションから依頼された
トランザクションの種類、すなわち前記図4のステップ
S0408におけるデータベースへの参照、検索、更
新、削除、追加などアクセス形態によって、本システム
内の処理が次のように異なる。
[6. Execution of Reference Transaction and Update Transaction] At the time of execution of the above-described transaction, the type of transaction requested by the user application, that is, access to the database in step S0408 in FIG. 4 such as reference, search, update, deletion, addition, etc. The processing in this system differs depending on the mode as follows.

【0075】(1)参照トランザクション トランザクションが、データベースに改変を加えること
のない参照トランザクションの場合、トランザクション
処理部12Bは、アクセス対象レキシコンに対してトラ
ンザクションを実行させる。そして、トランザクション
の実行が終わった後、その実行結果をアプリケーション
に対して通知する。この参照トランザクションは、デー
タを参照するだけでその書き換えを行うことがないの
で、そのホストにあるデータがオリジナルデータである
か、レプリカデータであるかを問わず、各サイトで実行
できる。
(1) Reference Transaction If the transaction is a reference transaction that does not modify the database, the transaction processing unit 12B causes the lexicon to be accessed to execute the transaction. Then, after the execution of the transaction is completed, the execution result is notified to the application. This reference transaction can be executed at each site irrespective of whether the data in the host is the original data or the replica data, since the data is not rewritten only by referring to the data.

【0076】(2)更新トランザクション 更新トランザクションの場合、実行を依頼したホストが
オリジナルデータを持つか(以下、オリジナル側)、レプ
リカデータを持つか(以下、レプリカ側)によって処理が
異なる。まず、オリジナルデータを持つ場合は、参照ト
ランザクションと同様にトランザクション処理部12B
がアクセス対象レキシコンに対してトランザクションを
実行させ、実行結果をアプリケーションに通知する。レ
プリカデータを持つ場合、トランザクションで直接レキ
シコンを更新することはできない。そこで、レプリカサ
イトのトランザクション処理部12Bがネットワークを
介して、ベースホストのトランザクション処理部12B
にトランザクションの実行依頼を行う。ベースホストの
トランザクション処理部12Bは、ベースホストに格納
されているトランザクションを実行し、オリジナルデー
タのレキシコンを更新する。オリジナルデータが更新さ
れると、レプリカサイトにその更新データがレプリケー
ションされ、レプリカサイトのデータが更新される。レ
プリカサイトのデータが更新されると、レプリカサイト
のトランザクションはその実行結果をアプリケーション
に結果を通知する。
(2) Update Transaction In the case of an update transaction, the processing differs depending on whether the host requesting execution has original data (hereinafter, the original side) or has replica data (hereinafter, the replica side). First, in the case of having the original data, the transaction processing unit 12B like the reference transaction
Causes the lexicon to be accessed to execute the transaction and notifies the application of the execution result. If you have replica data, you cannot directly update the lexicon in a transaction. Therefore, the transaction processing unit 12B of the base site is connected to the transaction processing unit 12B of the base host via the network.
Submit a transaction to. The transaction processing unit 12B of the base host executes a transaction stored in the base host and updates the lexicon of the original data. When the original data is updated, the updated data is replicated to the replica site, and the data at the replica site is updated. When the data at the replica site is updated, the transaction at the replica site notifies the application of the execution result to the application.

【0077】[7.トランザクションに関する設定]こ
のような本システムを実行するには、次のようなシステ
ム構成を設定することが必要となる。このシステム構成
の設定は、一般には、システム管理アプリケーションと
呼ばれるプログラムによって行われる。 (1) レキシコンセット名とそのベースホスト(切り替え
先候補) (2) レキシコンセットとそれに含まれるレキシコン (3) トランザクションライブラリとそれに含まれるトラ
ンザクション (4) トランザクション名とこのトランザクションを実行
するために必要なトランザクション関数 (5) トランザクションがアクセスするレキシコンとその
アクセス形態(参照/更新) (6) レキシコンセットの別名(必要ならば) (7) レキシコンセットを各ホストに反映させるために行
うレプリケーション送信のマルチキャストアドレス(必
要ならば) (8) 各ホストで常駐させるレキシコンセット (9) 各ホストに配置するレキシコン(常駐させるレキシ
コンセットに含まれている) (10)各ホストでロードするトランザクションライブラリ
とそのDLLファイル名 (11)各レキシコンセットのバックアップホストとそれぞ
れファイルバックアップの有無
[7. Settings Related to Transaction] To execute such a system, it is necessary to set the following system configuration. The setting of the system configuration is generally performed by a program called a system management application. (1) Lexicon set name and its base host (candidate to switch) (2) Lexicon set and its included lexicon (3) Transaction library and its included transactions (4) Transaction name and its necessary to execute this transaction Transaction function (5) Lexicon accessed by transaction and its access form (reference / update) (6) Alias of lexicon set (if necessary) (7) Multicast address of replication transmission performed to reflect lexicon set to each host (If necessary) (8) Lexicon set to be resident on each host (9) Lexicon to be placed on each host (included in resident lexicon set) (10) Transaction library to be loaded on each host and DLL file name (11) Each lexicon The presence or absence of the door of the backup host and each file backup

【0078】[8.トランザクション管理部12Aの構
成…図5]以下、前記のようなトランザクションに関す
る設定を行うシステムの構成の一実施の形態を図5に示
す機能ブロック図に従って説明する。すなわち、本実施
形態のトランザクション管理部12Aは、自サイトにお
けるトランザクションの登録を管理するトランザクショ
ン登録管理部401を備えている。このトランザクショ
ン登録管理部401には、アプリケーションから依頼さ
れる各種の処理を実行するためのトランザクションが格
納されたトランザクション格納部402、用意されてい
る各トランザクションを処理対象のデータベースに合わ
せてグループ化するライブラリ登録部403、レキシコ
ンアクセス形態設定部404およびトランザクション−
トランザクション関数関連付け部405が設けられてい
る。
[8. Configuration of Transaction Management Unit 12A FIG. 5] An embodiment of a configuration of a system for performing the above-described transaction-related settings will be described below with reference to a functional block diagram shown in FIG. That is, the transaction management unit 12A of the present embodiment includes the transaction registration management unit 401 that manages the registration of the transaction at the own site. The transaction registration management unit 401 includes a transaction storage unit 402 in which transactions for executing various processes requested by the application are stored, and a library for grouping prepared transactions in accordance with a database to be processed. Registration unit 403, lexicon access mode setting unit 404, and transaction
A transaction function association unit 405 is provided.

【0079】ライブラリ登録部403は、前記図3のス
テップS0304,S0305において説明したトラン
ザクションライブラリの定義を行うものであり、一例と
して、下記に示すようなトランザクション−ライブラリ
対応表503を作成して、トランザクションの集合をラ
イブラリ502として定義すると共に、このライブラリ
502をその処理対象であるレキシコンセット2に登録
するものである。
The library registration unit 403 defines the transaction library described in steps S0304 and S0305 in FIG. 3. For example, the library registration unit 403 creates a transaction-library correspondence table 503 as shown below, and Are defined as a library 502, and the library 502 is registered in the lexicon set 2 to be processed.

【表1】 [Table 1]

【0080】レキシコンアクセス形態設定部404は、
前記図3のステップS0306において説明したトラン
ザクションのアクセス対象レキシコンとそのアクセス形
態を登録するもので、一例として、下記のようなトラン
ザクション−レキシコン対応表504を作成する。
The lexicon access mode setting unit 404
The lexicon to be accessed and the access form of the transaction described in step S0306 of FIG. 3 are registered. As an example, the following transaction-lexicon correspondence table 504 is created.

【表2】 [Table 2]

【0081】トランザクション−トランザクション関数
関連付け部405は、前記図3のステップS0306に
おいて説明したトランザクション名とトランザクション
関数名を関連付けるもので、一例として下記のようなト
ランザクション−トランザクション関数対応表505を
作成する。
The transaction-transaction function associating unit 405 associates the transaction name described in step S0306 of FIG. 3 with the transaction function name, and creates the following transaction-transaction function correspondence table 505 as an example.

【表3】 [Table 3]

【0082】前記トランザクション管理部12Aには、
トランザクション関数をライブラリ化したDLLファイ
ル406と、このDLLファイル406をその実行領域
にロードするための処理を行うDLLロード部407が
設けられている。このDLLロード部407には、DL
L格納処理部408とライブラリ−DLL関連付け部4
09が設けられている。すなわち、DLL格納処理部4
08は前記DLLファイル406の内容をトランザクシ
ョンプログラム格納領域508にロードし、ライブラリ
−DLL関連付け部409に格納した位置を通知するも
のである。
The transaction management unit 12A includes:
A DLL file 406 in which a transaction function is made into a library and a DLL load unit 407 that performs processing for loading the DLL file 406 into its execution area are provided. The DLL load unit 407 includes a DL
L storage processing unit 408 and library-DLL association unit 4
09 is provided. That is, the DLL storage processing unit 4
08 is for loading the contents of the DLL file 406 into the transaction program storage area 508 and notifying the location stored in the library-DLL association unit 409.

【0083】ライブラリ−DLL関連付け部409は、
前記図3のステップS0308において説明したよう
に、トランザクション関数をライブラリ化したDLLフ
ァイル406をトランザクションのライブラリ502と
関連付けて、アクセス対象のレキシコンセット2に登録
するものである。すなわち、このライブラリ−DLL関
連付け部409は、トランザクションのライブラリ名と
前記DLL格納処理部408によって得られたDLLフ
ァイルの格納位置の関連付けを行い、一例として、下記
のようなライブラリ−DLL対応表509に記録する。
The library-DLL associating unit 409
As described in step S0308 of FIG. 3, the DLL file 406 in which the transaction functions are libraryd is associated with the transaction library 502 and registered in the lexicon set 2 to be accessed. That is, the library-DLL associating unit 409 associates the library name of the transaction with the storage location of the DLL file obtained by the DLL storage processing unit 408. For example, the library-DLL associating table 509 as follows: Record.

【表4】 [Table 4]

【0084】さらに、前記トランザクション登録管理部
401には、レキシコンセットの別名を登録するための
別名登録部410が設けられている。この別名登録部4
10は、前記図3のステップS0309を実行するもの
であり、アプリケーションからトランザクションの実行
を依頼する際に、レキシコンセットの別名を指定して実
行できるようにするものである。
Further, the transaction registration management section 401 is provided with an alias registration section 410 for registering an alias of a lexicon set. This alias registration part 4
Numeral 10 executes step S0309 in FIG. 3, and enables an application to specify a lexicon set alias when executing a transaction from an application.

【0085】[9.トランザクション登録管理部の作用
…図6]以下、これらの各トランザクションの設定処理
について、図6に示すフローチャートに従って具体的に
説明する。
[9. Operation of Transaction Registration Management Unit: FIG. 6] Hereinafter, the setting processing of each of these transactions will be specifically described with reference to the flowchart shown in FIG.

【0086】まず、システム管理アプリケーションか
ら、システム管理用トランザクションの実行依頼を発行
すると、この実行依頼をトランザクション受付部3が受
領して、トランザクション登録管理部401を起動す
る。そして、この登録管理部401において、まず、ユ
ーザアプリケーションの実行時に使用するトランザクシ
ョンをトランザクション格納部402に格納されている
複数のトランザクション中から選択して、これをライブ
ラリ502としてグループ化する(S0601)。そし
て、このようにしてグループ化されたトランザクション
のライブラリ502を、ユーザアプリケーションがアク
セスする対象であるレキシコンセット2に登録する(S
0602)。この時点で、前記トランザクション−ライ
ブラリ対応表503が作成されるもので、この対応表5
03には、例えば、各トランザクションTR1,TR2……が
どのライブラリLibraryA,LibraryBに属しており、その
ライブラリLibraryA,LibraryBがどのレキシコンセット
LexiconSetA,LexiconSetBに登録されているかが記録さ
れる。この場合、コンピュータ上で使用されるユーザア
プリケーションの種類によって、必要とされるトランザ
クションが異なることが考えられるので、種々のアプリ
ケーションに応じた複数のライブラリ502を用意し、
これを各アプリケーションがアクセスするデータベース
(レキシコンセット)に対して登録することにより、ア
プリケーション毎に必要とするトランザクションをあら
かじめ用意することが可能となる。
First, when an execution request for a system management transaction is issued from the system management application, the transaction reception unit 3 receives the execution request and activates the transaction registration management unit 401. Then, the registration management unit 401 first selects a transaction to be used when executing the user application from a plurality of transactions stored in the transaction storage unit 402, and groups them as a library 502 (S0601). The library 502 of transactions grouped in this way is registered in the lexicon set 2 to be accessed by the user application (S
0602). At this point, the transaction-library correspondence table 503 is created.
03, for example, each of the transactions TR1, TR2,... Belongs to which library LibraryA, LibraryB, and the library LibraryA, LibraryB
Whether it is registered in LexiconSetA or LexiconSetB is recorded. In this case, the required transaction may differ depending on the type of user application used on the computer. Therefore, a plurality of libraries 502 corresponding to various applications are prepared.
By registering this in the database (lexicon set) accessed by each application, it is possible to prepare in advance the transactions required for each application.

【0087】次に、前記ライブラリ502に登録されて
いるトランザクションを一つ選択し(S0603)、こ
のトランザクションとそのアクセス対象レキシコンにつ
いてアクセス形態を設定する(S0604)。すなわ
ち、本実施の形態においては、ライブラリそのものは、
アクセス対象のレキシコンセットに登録するのである
が、ライブラリに含まれている個々のトランザクション
については、実際にその処理対象となるレキシコンに対
して登録する。例えば、前記の各表中のトランザクショ
ンTR1を選択した場合、そのアクセス対象であるレキシ
コンLexicon1と、このレキシコンLexicon1に対するアク
セス形態「参照」が登録される。
Next, one transaction registered in the library 502 is selected (S0603), and an access mode is set for this transaction and the lexicon to be accessed (S0604). That is, in the present embodiment, the library itself is
The transaction is registered in the lexicon set to be accessed. For each transaction included in the library, the transaction is registered in the lexicon to be processed. For example, when the transaction TR1 in each of the above tables is selected, the lexicon Lexicon1 to be accessed and the access mode “reference” for the lexicon Lexicon1 are registered.

【0088】続いて、このトランザクションTR1と1対
1に対応するトランザクション関数TRFunc1との関連づ
けを行い(S0605)、これらをレキシコンセットLe
xiconSetAに登録する(S0606)。これによって、
前記トランザクション−レキシコン対応表504および
トランザクション−トランザクション関数対応表505
(表のトランザクションTR1部分)が作成される。この
ようにして、すべてのトランザクションについて登録終
了か否かを検証し(S0607)、すべてのトランザク
ションについて登録が終了した時点で、前記対応表50
4および505が完成する。
Subsequently, the transaction TR1 is associated with the transaction function TRFunc1 corresponding to the transaction on a one-to-one basis (S0605).
Register it in xiconSetA (S0606). by this,
The transaction-lexicon correspondence table 504 and the transaction-transaction function correspondence table 505
(Transaction TR1 part of the table) is created. In this way, it is verified whether or not the registration has been completed for all the transactions (S0607).
4 and 505 are completed.

【0089】なお、本システムにおいては、トランザク
ションとトランザクション関数は1対1に対応付けられ
るのであるが、アプリケーションが実行する処理はアプ
リケーションを使用するユーザ側の観点によって区分さ
れるため、データ処理の観点で見た場合、多くは複数の
処理で構成されている。そこで、アプリケーションが必
要とする各種の処理についての共通部分を整理すること
により、データ処理に適したトランザクションとそれに
対応するトランザクション関数を設定することができ
る。たとえば、ユーザ側から見た処理Aがデータ側アク
セスの観点からはaとbとcという処理で構成されてい
て、他の処理Bがaとdとeという処理で構成されてい
るなら、(処理a)と(処理b+処理c)、(処理d+
処理e)、という3つの処理単位で構成し、これらの処
理単位をトランザクションx,y,zとすれば、前記の
処理Aはトランザクションx+y、処理Bはトランザク
ションx+zで実現できる。そこで、本システムにおい
て、前記の各トランザクショントランザクションx,
y,zをトランザクション関数として登録すると、この
単位で再利用が可能になる。
In this system, transactions and transaction functions are associated with each other on a one-to-one basis. However, since the processing executed by the application is classified according to the viewpoint of the user who uses the application, the viewpoint of data processing is considered. When viewed from the above, many of the processes are configured by a plurality of processes. Thus, by arranging common parts for various processes required by the application, it is possible to set a transaction suitable for data processing and a transaction function corresponding to the transaction. For example, if the process A viewed from the user side is composed of processes a, b, and c from the viewpoint of data side access, and the other process B is composed of processes a, d, and e, (Process a), (Process b + Process c), (Process d +
If the processing unit is composed of three processing units, ie, processing e), and these processing units are transactions x, y, and z, the processing A can be realized by the transaction x + y and the processing B can be realized by the transaction x + z. Therefore, in the present system, each of the transaction transactions x,
If y and z are registered as transaction functions, it can be reused in this unit.

【0090】前記のようにしてトランザクションとトラ
ンザクション関数との関連付けが終了した後は、DLL
ロード部407のDLL格納処理部408により、トラ
ンザクションプログラム格納領域508に前記DLLフ
ァイルをロードし(S0608)、さらにトランザクシ
ョンプログラム格納領域508におけるDLLファイル
の格納位置とトランザクションのライブラリの関連付け
を行う(S0609)。すなわち、このDLLファイル
をロードする時点でトランザクション関数名との関連付
けができているトランザクションのみがトランザクショ
ン関数ポインタとリンクされる。トランザクション関数
名と関連付けられていないトランザクションは関数ポイ
ンタとリンクされない。トランザクションライブラリ内
のトランザクション全てに対して、トランザクション関
数名の関連付けを見つけ出し、ロードしたDLLファイ
ルからトランザクション関数名を用いてトランザクショ
ン関数ポインタを見つけ出してリンクする。これで、ト
ランザクション関数が本システムにロードされ、トラン
ザクションとトランザクション関数の関連付けが完了す
る。このようにしてトランザクションを本システムに登
録することにより、トランザクション関数は本システム
上で実行され、本システム内でデータベースの操作が可
能になる。
After the association between the transaction and the transaction function is completed as described above, the DLL
The DLL file is loaded into the transaction program storage area 508 by the DLL storage processing section 408 of the load section 407 (S0608), and the storage location of the DLL file in the transaction program storage area 508 is associated with the transaction library (S0609). . That is, only the transaction associated with the transaction function name at the time of loading this DLL file is linked with the transaction function pointer. Transactions that are not associated with a transaction function name are not linked with function pointers. A transaction function name association is found for all the transactions in the transaction library, and a transaction function pointer is found and linked from the loaded DLL file using the transaction function name. As a result, the transaction function is loaded into the system, and the association between the transaction and the transaction function is completed. By registering a transaction in the present system in this way, the transaction function is executed on the present system, and the database can be operated in the present system.

【0091】なお、本システムにおいては、DLLファ
イルのロードが済んだ後に、新たにトランザクション名
とトランザクション関数名の関連付けを行っても、その
トランザクションはトランザクション関数ポインタとリ
ンクされない。またトランザクション名とトランザクシ
ョン関数名との関連付けを変更しても、その変更がトラ
ンザクション関数ポインタの変更まで及ばない。その場
合は、いったんDLLファイルをアンロードし、トラン
ザクションライブラリ内のすべてのトランザクションの
リンクを抹消しておいて、再びDLLファイルをロード
すれば、新たなトランザクション名とトランザクション
関数名の関連付けによってトランザクションにトランザ
クション関数ポインタがリンクされる。なぜならば、ト
ランザクション名とトランザクション関数名の関連付け
は、トランザクション関数ポインタとのリンクの計画で
ある。リンクの実行はDLLファイルのロードで行われ
る。計画はロードによって有効になるので、変更した計
画を有効にするためには、ロードをやり直さなければな
らない。
In this system, even if a new transaction name is associated with a transaction function name after the DLL file has been loaded, the transaction is not linked to the transaction function pointer. Further, even if the association between the transaction name and the transaction function name is changed, the change does not extend to the change of the transaction function pointer. In this case, once the DLL file is unloaded, all the transaction links in the transaction library are deleted, and the DLL file is loaded again, the transaction is transferred to the transaction by associating the new transaction name with the transaction function name. Function pointers are linked. This is because the association between the transaction name and the transaction function name is a plan for linking with the transaction function pointer. The execution of the link is performed by loading the DLL file. Since the plan is activated by the load, the load must be redone for the changed plan to take effect.

【0092】以上の図5および図6に述べたようにし
て、システム管理アプリケーションにより、トランザク
ションに関する各種の設定を行った状態においては、図
8に示すように、アプリケーションが実行依頼するトラ
ンザクションとそれに対応するトランザクション関数、
そのトランザクション関数のアクセス対象となるレキシ
コンセットおよびレキシコン、およびレキシコンセット
に対する参照・更新のアクセス形態が設定された状態と
なる。
As described above with reference to FIGS. 5 and 6, in the state where various settings relating to the transaction have been made by the system management application, as shown in FIG. Transaction function
The lexicon set to be accessed by the transaction function, the lexicon, and the access form of reference / update to the lexicon set are set.

【0093】このような設定処理がなされた状態におい
て、ユーザアプリケーションが実行され、そこからトラ
ンザクションの実行依頼が発行された場合、トランザク
ション処理部は予め登録されている各種の対応表の内容
に応じて、図9、図10および図11に示すような処理
を行う。すなわち、図9は、依頼された処理が参照トラ
ンザクションの場合を示すものである。この参照トラン
ザクションは、前記のようにデータの改変を伴わないた
めに、データベースがオリジナルレキシコンセットでも
レプリカレキシコンセットであっても、直接トランザク
ションの実行が可能である。
When the user application is executed in a state where such a setting process has been performed, and a transaction execution request is issued from the user application, the transaction processing unit performs processing in accordance with the contents of various correspondence tables registered in advance. , FIG. 9, FIG. 10, and FIG. That is, FIG. 9 shows a case where the requested processing is a reference transaction. Since this reference transaction does not involve data modification as described above, it is possible to directly execute the transaction even if the database is the original lexicon set or the replica lexicon set.

【0094】依頼された処理が更新トランザクションの
場合には、アプリケーションの配置されたホストが、更
新対象のレキシコンセットのベースホストであるかレプ
リカサイトであるかにより処理が異なる。図10は、ア
プリケーションの配置されたホストが、更新対象のレキ
シコンのベースホストである場合を示す。この場合は、
自ホストのレキシコンセット中のレキシコンに対して、
直接更新処理を行い、その実行結果を得ることができ
る。
When the requested process is an update transaction, the process differs depending on whether the host where the application is located is the base host of the lexicon set to be updated or the replica site. FIG. 10 shows a case where the host where the application is located is the base host of the lexicon to be updated. in this case,
For the lexicon in the lexicon set of the host,
The update process can be directly performed and the execution result can be obtained.

【0095】一方、図11は、アプリケーションの配置
されたホストがレプリカサイトである場合で、この場合
には、レプリカのデータを直接更新することはせず、ベ
ースホストに対してオリジナルデータの更新処理を依頼
する。そして、このオリジナルデータの更新結果をレプ
リケーションによってレプリカサイトに反映させるとい
う手法で実行結果を得る。
On the other hand, FIG. 11 shows a case where the host on which the application is located is a replica site. In this case, the data of the replica is not directly updated, and the original data is updated with respect to the base host. Ask for. Then, an execution result is obtained by a method of reflecting the update result of the original data on the replica site by replication.

【0096】[11.別名登録の処理]前記のように、
本実施の形態においては、トランザクションの実行をア
プリケーションから依頼するとき、トランザクションの
実行対象であるレキシコンセットを指定する。この場
合、レキシコンセットの指定方法としてレキシコンセッ
トの定義時の名前(本名)だけでなく、別名を登録する
ことを可能としている。そのため、レキシコンセットに
別名を定義しその名前でトランザクション実行を依頼で
きる。
[11. Alias registration process] As described above,
In this embodiment, when an application requests execution of a transaction, a lexicon set to be executed is specified. In this case, it is possible to register not only the name (real name) at the time of defining the lexicon set but also an alias as a method of specifying the lexicon set. Therefore, an alias can be defined in the lexicon set and a transaction can be requested by that name.

【0097】例えば、本名 LexiconSet_A というレキシ
コンセットに別名 Online と付ける。一方、本名 Lexic
onSet_Bというレキシコンセットに Maintainance とい
う別名を付ける。
For example, a lexicon set having a real name LexiconSet_A is given an alias Online. Meanwhile, the real name Lexic
Give the lexicon set onSet_B the alias Maintainance.

【表5】 [Table 5]

【0098】このような設定状態において、データを操
作するアプリケーションとして、通常運用状態で動作す
るアプリケーション群Xと、データ構築のためのアプリ
ケーションYがある。通常運用状態で動作するアプリケ
ーション群Xではトランザクションの実行を依頼すると
き、常にレキシコンセットの指定を Online としてい
る。データ構築のアプリケーション群Yではトランザク
ションの実行を依頼するとき、常にレキシコンセットの
指定を Maintainance としている。そして、LexiconSet
_AにもLexiconSet_Bにもアプリケーション群Xで使用す
るトランザクションとアプリケーション群Yで使用する
トランザクションが登録されているとする。
In such a setting state, as applications for operating data, there are an application group X operating in a normal operation state and an application Y for data construction. When requesting the execution of a transaction, the application group X operating in the normal operation state always specifies the lexicon set as Online. When requesting the execution of a transaction, the application group Y for data construction always specifies the lexicon set as Maintainance. And LexiconSet
It is assumed that a transaction used in the application group X and a transaction used in the application group Y are registered in both _A and LexiconSet_B.

【表6】 [Table 6]

【0099】この時点での別名の付け方により、このと
きアプリケーション群XはLexiconSet_A上で実行され
る。アプリケーション群YはLexiconSet_B上で実行され
る。今、LexiconSet_B(Maintainance)でのデータ構築が
完了し、新しいデータで通常運用状態で動作するアプリ
ケーション群Xを動作させたいならば、別名を交換すれ
ばよい。
At this time, the application group X is executed on LexiconSet_A according to the aliasing method at this time. The application group Y is executed on LexiconSet_B. Now, if the data construction in LexiconSet_B (Maintainance) is completed and it is desired to operate the application group X operating in the normal operation state with new data, the aliases may be exchanged.

【表7】 [Table 7]

【0100】別名を交換すると、自然にアプリケーショ
ン群XのトランザクションはLexiconSet_B上で実行さ
れ、アプリケーション群YはLexiconSet_Aで実行される
ようになる。このようにアプリケーションの変更なく、
操作対象のレキシコンセットを変更できる。
When the aliases are exchanged, the transaction of the application group X is naturally executed on LexiconSet_B, and the application group Y is executed on LexiconSet_A. Thus, without changing the application
The lexicon set to be operated can be changed.

【0101】[12.実施の形態の効果]以上述べたよ
うに、本実施の形態によれば、トランザクションについ
てあらかじめ各種の設定を行うことが可能になるので、
次のような作用効果が発揮される。
[12. Effect of Embodiment] As described above, according to the present embodiment, various settings can be made in advance for a transaction.
The following functions and effects are exhibited.

【0102】(1)1つのデータベースに「別名」とい
う形で複数の識別子を登録あるいは削除できるので、ア
プリケーションが発行するトランザクションのデータベ
ース指定識別子を変更することなく、別のデータベース
に対するトランザクションとして処理することができ
る。すなわち、アクセスするデータベースを容易に切り
替えることができる。
(1) Since a plurality of identifiers can be registered or deleted in the form of “alias” in one database, processing as a transaction for another database is performed without changing the database designation identifier of the transaction issued by the application. Can be. That is, the database to be accessed can be easily switched.

【0103】(2)レキシコンセット(データベース)
全体ではなく、それを構成するレキシコン(部分)ごと
に参照/更新をチェックすることによって、レキシコン
によってオリジナルサイトが異なる場合やマルチオリジ
ナルデータ(レキシコン)を更新するトランザクション
をローカルと判定することができる。
(2) Lexicon set (database)
By checking the reference / update for each lexicon (part) that constitutes the lexicon, not for the whole, it is possible to determine that the original site is different depending on the lexicon or that the transaction for updating the multi-original data (lexicon) is local.

【0104】(3)トランザクションごとではなく、レ
キシコンセットにライブラリ(複数可)を対応付け、ラ
イブラリにサイト毎にDLLファイルを対応付けること
で、サイト毎にDLLファイルの構成内容が異なる場合
でも効率的にトランザクション関数名とプログラムのリ
ンクを行うことができる。
(3) By associating a library (or a plurality) with a lexicon set and associating a DLL file with each site not with each transaction, even if the configuration content of the DLL file differs with each site, efficiently. You can link a transaction function name with a program.

【0105】[13.他の実施の形態] (1)実施例の説明では、トランザクションの実行をす
べてトランザクション関数の呼出として説明したが、ト
ランザクションの実行の形態はこれに限られるものでは
ない。例えば、個々のトランザクションには具体的なデ
ータ操作手続の記述が含まれており、本システムが一定
の手順に従ってそれを解釈実行するという形態でも構わ
ない。
[13. Other Embodiments] (1) In the description of the embodiments, all execution of a transaction has been described as calling a transaction function, but the form of execution of a transaction is not limited to this. For example, each transaction includes a description of a specific data operation procedure, and the present system may interpret and execute it according to a certain procedure.

【0106】(2)実施例の説明では、「複数のマシ
ン」を物理的に異なるマシンと、通信ネットワークをそ
れらの間の物理的媒体を含む通信手段として想定した
が、これを論理的に異なるマシン、例えば同一マシン内
の異なるプロセスを対象として実施しても構わない。そ
の場合には、各(論理)マシンの識別に異なる手段(プ
ロセスID等)を使用すればよい。また、本システムが
管理対象とするデータベース(レキシコンセット)は、
1つでも複数でも構わない。
(2) In the description of the embodiment, “a plurality of machines” are assumed to be physically different machines, and the communication network is assumed to be a communication means including a physical medium between them. The present invention may be applied to a machine, for example, a different process in the same machine. In this case, different means (process IDs, etc.) may be used for identifying each (logical) machine. The database (lexicon set) managed by this system is
One or more may be used.

【0107】(3)レプリケ−ションデ−タを伝達する
手段としての通信ネットワ−クとトランザクションを転
送する手段としての通信ネットワ−クは物理的/論理的
に同一のものを用いても異なるものを用いてもよい。多
数のレプリカサイトに伝送するにはマルチキャスト/ブ
ロ−ドキャストのネットワ−クを使用するのが効率的な
場合が多いが、本発明の実施はそれに限定されるもので
はない。一方、トランザクションの転送は通常1対1通
信で足りるが、実行すべきでないサイトが受信した場合
はそのサイトの判断で実行しないあるいは破棄する等の
処理を行なうという条件でマルチキャスト/ブロ−ドキ
ャストのネットワ−クを採用することも可能である。
(3) A communication network as a means for transmitting replication data and a communication network as a means for transferring a transaction are different even if the same one is physically / logically used. May be used. It is often efficient to use a multicast / broadcast network to transmit to multiple replica sites, but the practice of the present invention is not so limited. On the other hand, one-to-one communication is usually sufficient for transaction transfer. However, if a site that should not be executed is received, multicast / broadcast is performed under the condition that such site is not executed or discarded at the discretion of that site. It is also possible to employ a network.

【0108】(4)前記のようにトランザクションに
は、各種の属性を付与するため識別子(トランザクショ
ン名等)が含まれている。この識別子に対して、例えば
実行すべきトランザクション関数を対応付けるが、この
識別子は付与すべき属性の種類に応じて必要な数を設定
すればよい。トランザクションが操作の対象とするの
は、1つのレキシコンセットとする。前記の実施の形態
では、ユニスペースが複数のレキシコンセットを含むこ
とができるので、トランザクションには、操作対象のレ
キシコンセットを明記する。このレキシコンセット名を
上記識別子の1つと考えても良い。もちろん、他の識別
子から操作対象レキシコンセットを判別する手段を設け
た実施の形態も可能で、レキシコンセット名の明記は必
須ではない。
(4) As described above, a transaction includes an identifier (transaction name or the like) for giving various attributes. For example, a transaction function to be executed is associated with this identifier. The identifier may be set to a required number according to the type of attribute to be assigned. The target of a transaction is one lexicon set. In the above embodiment, since the Unispace can include a plurality of lexicon sets, the transaction specifies the lexicon set to be operated. This lexicon set name may be considered as one of the above identifiers. Of course, an embodiment in which a means for determining the lexicon set to be operated from another identifier is also possible, and it is not essential to specify the lexicon set name.

【0109】[0109]

【発明の効果】以上説明したように、本発明によれば、
下記に述べるような優れた効果を発揮するトランザクシ
ョン型データベースシステムを提供することができる。
As described above, according to the present invention,
It is possible to provide a transaction-type database system that exhibits excellent effects as described below.

【0110】(1)リモート/ローカル構造による柔軟
性 本発明で提供している分散システムは、リモート/ロー
カル構造と呼ばれるシステムのハードウェア構成に依存
しない方式である。アプリケーション・ソフトウェアは
システムのハードウェア構成に関する実装を行う必要が
無いため、ソフトウェア開発をシステム構築から独立さ
せることができる。そのため、システム構築のためのコ
ーディングは一切不要で、システム構築/設定作業はす
べてシステム運用環境を用いて行うことができる。
(1) Flexibility by Remote / Local Structure The distributed system provided by the present invention is a system called a remote / local structure that does not depend on the hardware configuration of the system. Since application software does not need to implement the hardware configuration of the system, software development can be made independent of system construction. Therefore, no coding for system construction is required, and all system construction / setting operations can be performed using the system operation environment.

【0111】リモート/ローカル構造は、アプリケーシ
ョン・ソフトウェアをコンピュータのハードウェア構成
から独立させる。そのため、アプリケーションはシステ
ム物理構造、すなわちハードウェアの物理構成やデータ
がどのコンピュータ上に実装されているかあるいはデー
タ整合性など、まったく意識する必要がない。したがっ
て、業務ロジックの設計・実装に専念でき、開発生産性
が向上する。このように本発明によれば、アプリケーシ
ョン開発者は、リモート実行、ローカル実行を意識せず
にアプリケーションの開発ができるため、アプリケーシ
ョンが単純になり、生産性が上がる。
The remote / local structure makes the application software independent of the computer hardware configuration. Therefore, the application does not need to be conscious of the system physical structure, that is, the physical configuration of the hardware, the computer on which the data is mounted, or the data consistency. Therefore, the user can concentrate on the design and implementation of the business logic, and the development productivity is improved. As described above, according to the present invention, an application developer can develop an application without being conscious of remote execution and local execution, so that the application is simplified and productivity is increased.

【0112】(2)トランザクション関数による生産性
向上 本発明では、アプリケーションからのデータへのアクセ
スはトランザクション関数を通じて行われる。すなわ
ち、トランザクション関数によってデータのカプセル化
を実現している。データのカプセル化は、データ構造の
変更がアプリケーションへ波及しないため、データ操作
を行うトランザクションを部品化できる。特に、本発明
はリモート/ローカル構造のシステム構成を取っている
ため、トランザクション関数はシステムに関する実装を
一切含まない。そのため高い独立性を持つ部品ができ再
利用性が一層高まり、トランザクション関数を再利用す
ることで開発生産性が著しく向上する。
(2) Improvement of Productivity by Transaction Function In the present invention, access to data from an application is performed through a transaction function. That is, data encapsulation is realized by the transaction function. In data encapsulation, since a change in the data structure does not propagate to the application, a transaction for performing data operations can be made into components. In particular, since the present invention has a system configuration of a remote / local structure, the transaction function does not include any implementation related to the system. Therefore, parts having high independence can be obtained, and reusability is further improved. By reusing transaction functions, development productivity is remarkably improved.

【0113】(3)システム停止を伴わない機能変更 本発明のシステム設定は、データ構造の変更やトランザ
クション関数の追加などの機能については、動的に変更
することができる。そのため、これらの機能については
システムを停止させることなく機能変更ができるので、
システム設定変更の対応が非常に楽である。例えば、ト
ランザクションと対応するトランザクション関数は自由
に変えることができるため、アプリケーションはトラン
ザクション名だけを意識すればよい。また、あらかじめ
トランザクションにデータに対するアクセス権を与える
ことにより、アプリケーションによるデータの誤操作を
防ぐことができる。このようにシステムを停止させずに
機能の入れ替えが可能であることは、「保守性の向上」
「システム設定変更の容易さ」が効果として挙げられ
る。
(3) Function Change without System Stop The system setting of the present invention can be dynamically changed for functions such as a change in data structure and addition of a transaction function. Therefore, these functions can be changed without stopping the system,
It is very easy to respond to changes in system settings. For example, an application need only be aware of the transaction name because the transaction function corresponding to the transaction can be freely changed. Also, by giving the transaction an access right to the data in advance, it is possible to prevent erroneous operation of the data by the application. The ability to switch functions without stopping the system in this way means "improving maintainability"
The effect is “easiness of changing the system settings”.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明のトランザクション処理型データベース
システムの全体構成を示す機能ブロック図である。
FIG. 1 is a functional block diagram showing an overall configuration of a transaction processing type database system of the present invention.

【図2】図1のデータベースシステムにおける各ホスト
の構成を示すブロック図である。
FIG. 2 is a block diagram illustrating a configuration of each host in the database system of FIG. 1;

【図3】図1のデータベースシステムにおけるシステム
構成の設定順序を示すフローチャートである。
FIG. 3 is a flowchart showing a setting order of a system configuration in the database system of FIG. 1;

【図4】図1のデータベースシステムにおけるアプリケ
ーションとトランザクション関数の実行手順を示すフロ
ーチャートである。
FIG. 4 is a flowchart showing an execution procedure of an application and a transaction function in the database system of FIG. 1;

【図5】図1のデータベースシステムにおけるトランザ
クション管理部の構成を示すブロック図である。
FIG. 5 is a block diagram illustrating a configuration of a transaction management unit in the database system of FIG. 1;

【図6】図5のトランザクション管理部の動作を示すフ
ローチャートである。
FIG. 6 is a flowchart illustrating an operation of the transaction management unit in FIG. 5;

【図7】アプリケーションによるトランザクション実行
依頼時の処理を示すブロック図である。
FIG. 7 is a block diagram showing processing when a transaction is requested by an application.

【図8】システム管理アプリケーションによるトランザ
クションの各種の設定状態を示すブロック図である。
FIG. 8 is a block diagram showing various setting states of a transaction by a system management application.

【図9】参照トランザクションの実行状態を示すブロッ
ク図である。
FIG. 9 is a block diagram illustrating an execution state of a reference transaction.

【図10】ベースホストのオリジナルデータに対する更
新トランザクションの実行状態を示すブロック図であ
る。
FIG. 10 is a block diagram showing an execution state of an update transaction for original data of a base host.

【図11】レプリカサイトのレプリカデータに対する更
新トランザクションの実行状態を示すブロック図であ
る。
FIG. 11 is a block diagram illustrating an execution state of an update transaction for replica data at a replica site.

【符号の説明】[Explanation of symbols]

1…データベース管理システム 2…レキシコンセット 21…レキシコン 3…トランザクション受付部 4…送信部 5…受信部 11…システム構成設定部 12A…トランザクション管理部 12B…トランザクション処理部 13…データ常駐管理部 14…レプリケーション処理部 15…ベースホスト切替部 401…トランザクション登録管理部 402…トランザクション格納部 403…ライブラリ登録部 404…レキシコンアクセス形態設定部 405…トランザクション−トランザクション関数関連
付け部 406…DLLファイル 407…DLLロード部 408…DLL格納処理部 409…ライブラリ−DLL関連付け部 410…レキシコンセット別名登録部 502…ライブラリ 503…トランザクション−ライブラリ対応表 504…トランザクション−レキシコン対応表 505…トランザクション−トランザクション関数対応
表 508…トランザクションプログラム格納領域 509…ライブラリ−DLL対応表
DESCRIPTION OF SYMBOLS 1 ... Database management system 2 ... Lexicon set 21 ... Lexicon 3 ... Transaction reception part 4 ... Transmission part 5 ... Reception part 11 ... System configuration setting part 12A ... Transaction management part 12B ... Transaction processing part 13 ... Data resident management part 14 ... Replication Processing unit 15 base host switching unit 401 transaction registration management unit 402 transaction storage unit 403 library registration unit 404 lexicon access mode setting unit 405 transaction-transaction function association unit 406 DLL file 407 DLL loading unit 408 DLL storage processing unit 409: library-DLL association unit 410: lexicon set alias registration unit 502: library 503: transaction-library correspondence table 50 ... Transactions - lexicon correspondence table 505 ... transactions - transaction function correspondence table 508 ... transaction program storage area 509 ... libraries -DLL correspondence table

───────────────────────────────────────────────────── フロントページの続き Fターム(参考) 5B082 GB00 5B085 AA08 BA07 BG03 BG07  ──────────────────────────────────────────────────続 き Continued on the front page F-term (reference) 5B082 GB00 5B085 AA08 BA07 BG03 BG07

Claims (9)

【特許請求の範囲】[Claims] 【請求項1】 コンピュータの主記憶領域に配置された
データベースと、 前記データベースに対する処理を実行するためのトラン
ザクション処理部と、このトランザクション処理部によ
って実行されるトランザクションを管理するトランザク
ション管理部を備え、 トランザクション管理部は、各トランザクションを実行
するのに必要なトランザクション関数を用意しておき、 前記トランザクションが発行された場合には、発行され
たトランザクションに対応するトランザクション関数を
選択し、このトランザクション関数を用いてデータベー
スに対する処理を実行することを特徴とするトランザク
ション処理型データベースシステム。
A transaction processing unit configured to execute processing on the database; a transaction management unit configured to manage a transaction executed by the transaction processing unit; The management unit prepares a transaction function necessary to execute each transaction, and when the transaction is issued, selects a transaction function corresponding to the issued transaction, and uses this transaction function. A transaction processing type database system for executing processing on a database.
【請求項2】 コンピュータの主記憶領域に配置された
データベースと、 前記データベースに対する処理を実行するためのトラン
ザクション処理部と、このトランザクション処理部によ
って実行されるトランザクションを管理するトランザク
ション管理部を備え、 前記トランザクション管理部には、実行すべきトランザ
クションに対応するトランザクション関数を予め選択す
るためのトランザクション登録管理部と、選択されたト
ランザクション関数をロードしてデータベースに対して
処理を行わせるトランザクション関数ロード部とが設け
られていることを特徴とするトランザクション処理型デ
ータベースシステム。
2. A database arranged in a main storage area of a computer, a transaction processing unit for executing a process for the database, and a transaction management unit for managing a transaction executed by the transaction processing unit. The transaction management unit includes a transaction registration management unit for preselecting a transaction function corresponding to a transaction to be executed, and a transaction function loading unit for loading the selected transaction function and performing processing on the database. A transaction processing type database system which is provided.
【請求項3】 ネットワークを介して接続された複数の
コンピュータの主記憶領域上にそれぞれデータベースを
配置し、 ある特定のコンピュータに格納されたデータをオリジナ
ルデータとし、このオリジナルデータを有するコンピュ
ータをベースホストとすると共に、 ある特定のコンピュータとは異なる他のコンピュータに
は、前記ベースホストに格納されているオリジナルデー
タと同一のレプリカデータを格納し、このレプリカデー
タを格納したコンピュータをレプリカホストとし、 前記各ホストの主記憶領域上には、前記ベースホストの
オリジナルデータと、レプリカホストのレプリカデータ
との同一性を確保するためのレプリケーション処理部
と、データベースに対する種々の処理を行うトランザク
ションを実行させるためのトランザクション処理部と、
このトランザクション処理部によって実行されるトラン
ザクションを管理するトランザクション管理部を備え、 前記トランザクション管理部は、各トランザクションの
実行に必要なトランザクション関数を用意しておき、 トランザクション処理部は、トランザクションが発行さ
れた場合には、発行されたトランザクションに対応する
トランザクション関数を選択し、このトランザクション
関数を用いてデータベースに対する処理を実行すること
を特徴とするトランザクション処理型データベースシス
テム。
3. Databases are respectively arranged in main storage areas of a plurality of computers connected via a network, data stored in a specific computer is used as original data, and a computer having the original data is used as a base host. In another computer different from the specific computer, the same replica data as the original data stored in the base host is stored, and the computer storing the replica data is used as a replica host, On the main storage area of the host, a replication processing unit for ensuring the sameness of the original data of the base host and the replica data of the replica host, and a transaction unit for executing transactions for performing various processes on the database. Action processing unit,
A transaction management unit that manages transactions executed by the transaction processing unit; the transaction management unit prepares transaction functions necessary for executing each transaction; , A transaction function corresponding to an issued transaction is selected, and a process for the database is executed using the transaction function.
【請求項4】 ネットワークを介して接続された複数の
コンピュータの主記憶領域上にそれぞれデータベースを
配置し、 ある特定のコンピュータに格納されたデータをオリジナ
ルデータとし、このオリジナルデータを有するコンピュ
ータをベースホストとすると共に、 ある特定のコンピュータとは異なる他のコンピュータに
は、前記ベースホストに格納されているオリジナルデー
タと同一のレプリカデータを格納し、このレプリカデー
タを格納したコンピュータをレプリカホストとし、 前記各ホストの主記憶領域上には、前記ベースホストの
オリジナルデータと、レプリカホストのレプリカデータ
との同一性を確保するためのレプリケーション処理部
と、データベースに対する種々の処理を行うトランザク
ションを実行させるためトランザクション処理部と、こ
のトランザクション処理部によって実行されるトランザ
クションを管理するトランザクション管理部を配置し、 前記トランザクション管理部には、発行されたトランザ
クションの受付部と、受け付けたトランザクションに対
応するトランザクション関数を選択するためのトランザ
クション登録管理部と、選択されたトランザクション関
数をロードしてデータベースに対して処理を行わせるト
ランザクション関数ロード部とが設けられていることを
特徴とするトランザクション処理型データベースシステ
ム。
4. A database is arranged on each of main storage areas of a plurality of computers connected via a network, data stored in a specific computer is used as original data, and a computer having the original data is used as a base host. In another computer different from a specific computer, the same replica data as the original data stored in the base host is stored, and the computer storing the replica data is used as a replica host, On the main storage area of the host, a replication processing unit for ensuring the sameness of the original data of the base host and the replica data of the replica host, and a transaction for executing transactions for performing various processes on the database. A transaction processing unit and a transaction management unit that manages a transaction executed by the transaction processing unit. The transaction management unit selects a reception unit for the issued transaction and a transaction function corresponding to the received transaction. And a transaction function loading unit for loading the selected transaction function and performing a process on the database.
【請求項5】 前記データベースが、データの処理単位
であるレキシコンと、このレキシコンを1つあるいは複
数有するレキシコンセットによって構成され、 前記トランザクション管理部において、前記レキシコン
に対する処理を行う1つあるいは複数のトランザクショ
ンが、トランザクションライブラリとしてこのレキシコ
ンセットに登録されていることを特徴とする請求項1な
いし請求項4のいずれか1つに記載のトランザクション
処理型データベース。
5. The database comprises a lexicon as a data processing unit and a lexicon set having one or more lexicons, wherein the transaction management unit performs one or more transactions for processing the lexicon. The transaction processing database according to any one of claims 1 to 4, wherein is registered in the lexicon set as a transaction library.
【請求項6】 前記トランザクションが、処理対象であ
るデータの変更を伴わない参照トランザクションと、デ
ータの変更を行う更新トランザクションとを備え、 トランザクション管理部において、前記レキシコンセッ
ト内のレキシコンに対して、参照あるいは更新のいずれ
かのトランザクションがアクセスするかをあらかじめ設
定しておくことを特徴とする請求項5に記載のトランザ
クション処理型データベース。
6. The lexicon in the lexicon set in the transaction management unit, wherein the transaction includes a reference transaction that does not involve a change in data to be processed and an update transaction that makes a change in the data. 6. The transaction processing type database according to claim 5, wherein it is set in advance which one of the updating transactions accesses.
【請求項7】 トランザクション管理部において、前記
トランザクション関数をDLLファイルとして格納し、
このDLLファイルと前記トランザクションライブラリ
とを関連付け、前記トランザクションライブラリに登録
されたトランザクションの実行時には、前記ライブラリ
に関連付けられたDLLファイルを呼び出して、そこに
格納されたトランザクション関数を実行することを特徴
とする請求項5に記載のトランザクション処理型データ
ベース。
7. The transaction management unit stores the transaction function as a DLL file,
The DLL file is associated with the transaction library, and at the time of executing a transaction registered in the transaction library, the DLL file associated with the library is called to execute the transaction function stored therein. The transaction processing type database according to claim 5.
【請求項8】 前記トランザクション管理部が、トラン
ザクションのアクセス対象となるレキシコンセットに対
して、本名と別名とを登録するものであり、トランザク
ションの実行時にレキシコンセットの本名と別名のいず
れでもトランザクションが登録されたレキシコンセット
に対してアクセス可能としたことを特徴とする請求項5
に記載のトランザクション処理型データベース。
8. The transaction management unit registers a real name and an alias with respect to a lexicon set to be accessed by a transaction, and registers a transaction with either the real name or an alias of the lexicon set when executing the transaction. 6. The lexicon set that is accessible.
Transaction processing database described in.
【請求項9】 前記複数のホストのいずれかに格納され
たデータベースに、前記トランザクション管理部によっ
て作成されたシステム管理データのオリジナルデータが
格納され、 このシステム管理データのオリジナルを有するホストに
は、システム管理アプリケーションプログラムと、この
システム管理アプリケーションプログラムによって実行
されるシステム管理用トランザクションが配置され、 前記システム管理用トランザクションは、前記トランザ
クション処理部が実行する各トランザクションと、各ト
ランザクションの処理の対象となるデータとを関連付け
るものであることを特徴とする請求項5に記載のトラン
ザクション処理型データベースシステム。
9. A database stored in any one of the plurality of hosts stores original data of system management data created by the transaction management unit. A management application program and a system management transaction executed by the system management application program are arranged. The system management transaction includes each transaction executed by the transaction processing unit and data to be processed by each transaction. 6. The transaction processing type database system according to claim 5, wherein
JP2001101713A 2001-03-30 2001-03-30 Transaction processing database system Expired - Fee Related JP4050479B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001101713A JP4050479B2 (en) 2001-03-30 2001-03-30 Transaction processing database system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001101713A JP4050479B2 (en) 2001-03-30 2001-03-30 Transaction processing database system

Publications (2)

Publication Number Publication Date
JP2002297430A true JP2002297430A (en) 2002-10-11
JP4050479B2 JP4050479B2 (en) 2008-02-20

Family

ID=18954991

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001101713A Expired - Fee Related JP4050479B2 (en) 2001-03-30 2001-03-30 Transaction processing database system

Country Status (1)

Country Link
JP (1) JP4050479B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005173823A (en) * 2003-12-09 2005-06-30 Canon Inc Web application, and data sharing method and program thereof
JP2015038641A (en) * 2010-04-19 2015-02-26 株式会社エクサ Transaction management program

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005173823A (en) * 2003-12-09 2005-06-30 Canon Inc Web application, and data sharing method and program thereof
JP2015038641A (en) * 2010-04-19 2015-02-26 株式会社エクサ Transaction management program

Also Published As

Publication number Publication date
JP4050479B2 (en) 2008-02-20

Similar Documents

Publication Publication Date Title
US10732836B2 (en) Remote one-sided persistent writes
US5751962A (en) Object-based systems management of computer networks
US5664155A (en) Dynamically assigning a dump space in a shared data facility to receive dumping information to be captured
US7010617B2 (en) Cluster configuration repository
US6549996B1 (en) Scalable multiple address space server
US7185032B2 (en) Mechanism for replicating and maintaining files in a space-efficient manner
EP2169909B1 (en) System and method to maintain coherence of cache contents in a multi-tier software system aimed at interfacing large databases
US8504523B2 (en) Database management system
JP3526474B2 (en) Distribution information management system in network
US10802766B2 (en) Database with NVDIMM as persistent storage
US6711559B1 (en) Distributed processing system, apparatus for operating shared file system and computer readable medium
US20070112812A1 (en) System and method for writing data to a directory
JP2006202337A (en) Method and device for data processing
US8572201B2 (en) System and method for providing a directory service network
JP4131781B2 (en) Distributed processing database management system
JP2002297430A (en) Transaction-processing-type database system
US20070106691A1 (en) System and method for efficient directory performance using non-persistent storage
JP2002297593A (en) Management system for base-host switchable database
JP3330006B2 (en) Network system including information storage system, input system of the system, and
JP2001520774A (en) File system primitives that enable reprocessing of I / O requests by multiple drivers in a hierarchical driver I / O system
US20060031251A1 (en) Apparatus, system, and method for directly addressing a legacy database system
JPH10510377A (en) Computer controlled system
JPH10161921A (en) Cache information operation and managing method using bind information
EP4264448A1 (en) Schema and data modification concurrency in query processing pushdown
Fong et al. MAP application layer interface and application layer management structure: part I: management structure

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040319

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20070823

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070828

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071029

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20071127

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20071129

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101207

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111207

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121207

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121207

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131207

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees