JP2015176203A - database system, database server, database server program, database client, and database client program - Google Patents

database system, database server, database server program, database client, and database client program Download PDF

Info

Publication number
JP2015176203A
JP2015176203A JP2014050082A JP2014050082A JP2015176203A JP 2015176203 A JP2015176203 A JP 2015176203A JP 2014050082 A JP2014050082 A JP 2014050082A JP 2014050082 A JP2014050082 A JP 2014050082A JP 2015176203 A JP2015176203 A JP 2015176203A
Authority
JP
Japan
Prior art keywords
data
database
commit
data update
server
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2014050082A
Other languages
Japanese (ja)
Inventor
阿部 哲也
Tetsuya Abe
哲也 阿部
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.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP2014050082A priority Critical patent/JP2015176203A/en
Publication of JP2015176203A publication Critical patent/JP2015176203A/en
Pending legal-status Critical Current

Links

Images

Landscapes

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

Abstract

PROBLEM TO BE SOLVED: To shorten processing time in the case of performing data update accompanied by commitment from a database client to a plurality of database servers.SOLUTION: In a database system including a plurality of database servers and a database client, the database servers other than the database server in the last stage are characterized to transfer a data update request supplied from the device in the previous stage to the database server in the following stage, and the database client is characterized to transmit the data update request to the database server in the foremost stage, and to receive all the data update results of the plurality of database servers from the database server in the foremost stage.

Description

本発明は、データベースシステム、データベースサーバ、データベースサーバプログラム、データベースクライアント、及びデータベースクライアントプログラムに関し、例えば、二相コミットでデータ更新可能なデータベースサーバ・クライアントシステムに適用し得る。   The present invention relates to a database system, a database server, a database server program, a database client, and a database client program, and can be applied to, for example, a database server / client system capable of updating data by two-phase commit.

従来のデータベース分散トランザクション環境下でのデータ更新においては、分散されたデータベースサーバ間のデータの整合性を保つため、データ更新の際には、データベースサーバ(以下、「DBサーバ」とも表す)とデータベースクライアント(以下、「DBクライアント」とも表す)との間で二相コミット(二相コミットメント)のプロトコルに従ったデータ更新が行われる場合がある。データベース分散トランザクション環境下での二相コミットでは、全DBサーバがコミット可能な状態である場合にのみ、二相コミットが可能となり、二相コミットのトランザクションが完結することにより、コミットされたデータを正式なデータとして利用可能としている(特許文献1参照)。   In the data update in the conventional database distributed transaction environment, in order to maintain the consistency of data between the distributed database servers, the database server (hereinafter also referred to as “DB server”) and the database are used in the data update. Data may be updated with a client (hereinafter also referred to as “DB client”) according to a two-phase commit (two-phase commitment) protocol. In a two-phase commit in a database distributed transaction environment, a two-phase commit is possible only when all DB servers are in a commitable state, and the committed data is officially released by completing the two-phase commit transaction. Can be used as simple data (see Patent Document 1).

また、従来ORACLE(登録商標)等のミドルウェアを採用した環境では、DBクライアントから、2台のDBサーバへの二相コミットを実施する際に、DBクライアントから第1のDBサーバへのトランザクションと、DBクライアント第1のDBサーバを介した第2のDBサーバへのトランザクションの処理が必要となる。具体的には、DBクライアントがデータ更新時に使用するコンテキスト(DB更新管理情報)を生成し、そのコンテキストを使用して、第1のDBサーバと第2のDBサーバを順次データ更新を行っていくことで、第1のDBサーバが、二相コミットのトランザクションであることを認識し、該当コンテキストに対するコミット要求時には、第1のDBサーバから第2のDBサーバへのコミット要求が送信される動作となっている。すなわち、DBクライアントから複数のDBサーバへ二相コミットを行う場合には、複数のDBサーバ群に対する多段的な接続が必要になる。   Further, in an environment that conventionally employs middleware such as ORACLE (registered trademark), when performing a two-phase commit from a DB client to two DB servers, a transaction from the DB client to the first DB server, Transaction processing to the second DB server via the DB client first DB server is required. Specifically, a context (DB update management information) used by the DB client when updating data is generated, and the first DB server and the second DB server are sequentially updated using the context. Thus, the first DB server recognizes that the transaction is a two-phase commit, and at the time of a commit request for the corresponding context, the commit request is transmitted from the first DB server to the second DB server. It has become. That is, when two-phase commit is performed from a DB client to a plurality of DB servers, multistage connection to a plurality of DB server groups is required.

特開2009−122935号公報JP 2009-122935 A

しかしながら、上述のように、DBクライアントから複数のDBサーバへの二相コミットを行う際に多段的な接続を行うと、データ更新に必要なシーケンスの工程数が多くなり、二相コミットを開始してから終了するまでの時間が長くなってしまう。また、DBサーバ間の通信についても、ネットワーク環境によっては長くかかってしまう場合もある。   However, as described above, when multi-phase connection is performed when performing a two-phase commit from a DB client to a plurality of DB servers, the number of sequence steps required for data update increases, and the two-phase commit starts. It takes a long time to finish. Also, communication between DB servers may take a long time depending on the network environment.

そのため、データベースクライアントから複数のデータベースサーバへコミットを伴うデータ更新を行う際に、処理時間を短縮することができるデータベースシステム、データベースサーバ、データベースサーバプログラム、データベースクライアント、及びデータベースクライアントプログラムが望まれている。   Therefore, there is a demand for a database system, a database server, a database server program, a database client, and a database client program that can reduce processing time when performing data update with commit from a database client to a plurality of database servers. .

第1の本発明は、複数のデータベースサーバと、データベースクライアントを備えるデータベースシステムにおいて、(1)上記複数のデータベースサーバのうち最後段のデータベースサーバを除くデータベースサーバは、(1−1)前段の装置から供給されたデータ更新要求に従って、データ更新を行うデータ更新手段と、(1−2)前段の装置から供給されたデータ更新要求を、後段のデータベースサーバに転送するデータ更新要求転送手段と、(1−3)後段のデータベースサーバからデータ更新要求に対するデータ更新結果の応答があった場合、そのデータ更新結果と自装置のデータ更新結果を合わせたデータ更新結果を、前段の装置に送信するデータ更新応答手段と、(1−4)前段の装置から供給されたデータコミット要求に従って、データコミットを行うデータコミット手段と、(1−5)前段の装置から供給されたデータコミット要求を後段のデータベースサーバに転送するデータコミット要求転送手段と、(1−6)後段のデータベースサーバからデータコミット要求に対するデータコミット結果の応答があった場合、そのデータコミット結果と自装置のデータコミット結果を合わせたデータコミット結果を、前段の装置に送信するデータコミット応答手段とを有し、(2)上記最後段のデータベースサーバは、(2−1)前段のデータベースサーバから供給されたデータ更新要求に従って、データ更新を行い、前段のデータベースサーバにそのデータ更新結果を応答するデータ更新応答手段と、(2−2)前段のデータベースサーバから供給されたデータコミット要求に従って、データコミットを行い、前段のデータベースサーバにそのデータコミット結果を応答するデータコミット応答手段とを有し、(3)上記データベースクライアントは、(3−1)上記複数のデータベースサーバのうち最前段のデータベースサーバに、データ更新要求を送信し、上記最前段のデータベースサーバから、上記複数のデータベースサーバの全てのデータ更新結果を受信するデータ更新要求手段と、(3−2)上記最前段のデータベースサーバに、データコミット要求を送信し、上記最前段のデータベースサーバから、上記複数のデータベースサーバの全てのデータコミット結果を受信するデータコミット要求手段とを有することを特徴とする。   The first aspect of the present invention is a database system including a plurality of database servers and a database client. (1) Among the plurality of database servers, the database server excluding the last stage database server is (1-1) a preceding apparatus. (1-2) data update request transfer means for transferring the data update request supplied from the preceding apparatus to the subsequent database server; 1-3) When there is a data update result response to the data update request from the subsequent database server, the data update that transmits the data update result that is a combination of the data update result and the data update result of the own device to the previous device Responding to the data commit request supplied from the response means and (1-4) the preceding apparatus. Data commit means for performing data commit, (1-5) data commit request transfer means for transferring the data commit request supplied from the preceding apparatus to the subsequent database server, and (1-6) the subsequent database server. And a data commit response means for transmitting a data commit result obtained by combining the data commit result and the data commit result of the own device to the preceding device when there is a response of the data commit result to the data commit request from ( 2) The last-stage database server includes (2-1) data update response means for performing data update in accordance with the data update request supplied from the previous-stage database server and responding to the previous-stage database server with the data update result. (2-2) Data communication supplied from the previous database server Data commit responding means for performing data commit in accordance with the data request and responding with the data commit result to the preceding database server. (3) The database client is (3-1) Of the plurality of database servers A data update request means for transmitting a data update request to the front-stage database server and receiving all data update results of the plurality of database servers from the front-stage database server; (3-2) the front-stage database server A data commit request means for transmitting a data commit request to the first database server and receiving all data commit results of the plurality of database servers from the first database server.

第2の本発明のデータベースサーバは、(1)前段の装置から供給されたデータ更新要求に従って、データ更新を行うデータ更新手段と、(2)前段の装置から供給されたデータ更新要求を、後段のデータベースサーバに転送するデータ更新要求転送手段と、(3)後段のデータベースサーバからデータ更新要求に対するデータ更新結果の応答があった場合、そのデータ更新結果と自装置のデータ更新結果を合わせたデータ更新結果を、前段の装置に送信するデータ更新応答手段と、(4)前段の装置から供給されたデータコミット要求に従って、データコミットを行うデータコミット手段と、(5)前段の装置から供給されたデータコミット要求を後段のデータベースサーバに転送するデータコミット要求転送手段と、(6)後段のデータベースサーバからデータコミット要求に対するデータコミット結果の応答があった場合、そのデータコミット結果と自装置のデータコミット結果を合わせたデータコミット結果を、前段の装置に送信するデータコミット応答手段とを有することを特徴とする。   The database server according to the second aspect of the present invention includes (1) data update means for updating data in accordance with a data update request supplied from the preceding apparatus, and (2) a data update request supplied from the preceding apparatus. Data update request transfer means for transferring to the database server, and (3) if a data update result response to the data update request is received from the subsequent database server, the data update result and the data update result of the own device are combined. Data update response means for transmitting the update result to the preceding apparatus, (4) data commit means for performing data commit according to the data commit request supplied from the preceding apparatus, and (5) supplied from the preceding apparatus. A data commit request transfer means for transferring a data commit request to a subsequent database server; and (6) subsequent data. A data commit response means for transmitting a data commit result, which is a combination of the data commit result and the data commit result of its own device, to the previous device when there is a response from the data server to the data commit request. Features.

第3の本発明のデータベースサーバプログラムは、コンピュータを、(1)前段の装置から供給されたデータ更新要求に従って、データ更新を行うデータ更新手段と、(2)前段の装置から供給されたデータ更新要求を、後段のデータベースサーバに転送するデータ更新要求転送手段と、(3)後段のデータベースサーバからデータ更新要求に対するデータ更新結果の応答があった場合、そのデータ更新結果と自装置のデータ更新結果を合わせたデータ更新結果を、前段の装置に送信するデータ更新応答手段と、(4)前段の装置から供給されたデータコミット要求に従って、データコミットを行うデータコミット手段と、(5)前段の装置から供給されたデータコミット要求を後段のデータベースサーバに転送するデータコミット要求転送手段と、(6)後段のデータベースサーバからデータコミット要求に対するデータコミット結果の応答があった場合、そのデータコミット結果と自装置のデータコミット結果を合わせたデータコミット結果を、前段の装置に送信するデータコミット応答手段として機能させることを特徴とする。   The database server program according to the third aspect of the present invention includes: (1) data updating means for updating data in accordance with a data update request supplied from the preceding apparatus; and (2) data updating supplied from the preceding apparatus. A data update request transfer means for transferring the request to the subsequent database server; and (3) if there is a response of the data update result to the data update request from the subsequent database server, the data update result and the data update result of the own device A data update response means for transmitting a data update result combining the above to the preceding apparatus, (4) a data commit means for performing data commit in accordance with a data commit request supplied from the preceding apparatus, and (5) a preceding apparatus. Data commit request transfer that forwards the data commit request supplied from the server to the subsequent database server (6) When there is a response of the data commit result to the data commit request from the database server in the subsequent stage, the data commit result in which the data commit result and the data commit result of the own apparatus are combined is transmitted to the preceding apparatus. It functions as a data commit response means.

第4の本発明のデータベースクライアントは、(1)複数のデータベースサーバのうち最前段のデータベースサーバに、データ更新要求を送信し、上記最前段のデータベースサーバから、上記複数のデータベースサーバの全てのデータ更新結果を受信するデータ更新要求手段と、(2)上記最前段のデータベースサーバに、データコミット要求を送信し、上記最前段のデータベースサーバから、上記複数のデータベースサーバの全てのデータコミット結果を受信するデータコミット要求手段とを有することを特徴とする。   The database client of the fourth aspect of the present invention (1) transmits a data update request to the first database server among the plurality of database servers, and all the data of the plurality of database servers is transmitted from the first database server. Data update request means for receiving update results; (2) Sending a data commit request to the first database server and receiving all data commit results of the plurality of database servers from the first database server. And a data commit requesting means.

第5の本発明のデータベースクライアントプログラムは、コンピュータを、(1)複数のデータベースサーバのうち最前段のデータベースサーバに、データ更新要求を送信し、上記最前段のデータベースサーバから、上記複数のデータベースサーバの全てのデータ更新結果を受信するデータ更新要求手段と、(2)上記最前段のデータベースサーバに、データコミット要求を送信し、上記最前段のデータベースサーバから、上記複数のデータベースサーバの全てのデータコミット結果を受信するデータコミット要求手段として機能させることを特徴とする。   According to a fifth aspect of the present invention, the database client program sends a data update request to the first database server among the plurality of database servers (1), and the plurality of database servers are transmitted from the first database server. (2) a data commit request is transmitted to the foremost database server, and all data of the plurality of database servers are transmitted from the foremost database server. It is characterized by functioning as a data commit request means for receiving a commit result.

本発明によれば、データベースクライアントから複数のデータベースサーバへコミットを伴うデータ更新を行う際に、処理時間を短縮することができる。   According to the present invention, processing time can be shortened when data update accompanied by commit is performed from a database client to a plurality of database servers.

第1の実施形態に係るDBシステムの動作について示したシーケンス図である。It is the sequence diagram shown about operation | movement of DB system which concerns on 1st Embodiment. 第1の実施形態に係るDBシステムの全体構成について示したブロック図である。It is the block diagram shown about the whole structure of the DB system which concerns on 1st Embodiment. 第1の実施形態に係るDBクライアントで生成されるメッセージ(データ更新要求及びデータコミット要求のメッセージ)の構成例について示した説明図である。It is explanatory drawing shown about the structural example of the message (message of a data update request and a data commit request) produced | generated with the DB client which concerns on 1st Embodiment. 第1の実施形態に係るDBシステムで、仮にDBクライアントが各DBサーバ向けにメッセージを生成する場合の動作について示したシーケンス図である。It is the sequence diagram shown about operation | movement when a DB client produces | generates a message for each DB server tentatively in the DB system which concerns on 1st Embodiment. 第2の実施形態に係るDBシステムの動作について示したシーケンス図である。It is the sequence diagram shown about operation | movement of DB system which concerns on 2nd Embodiment.

(A)第1の実施形態
以下、本発明によるデータベースシステム、データベースサーバ、データベースサーバプログラム、データベースクライアント、及びデータベースクライアントプログラムの第1の実施形態を、図面を参照しながら詳述する。
(A) First Embodiment Hereinafter, a first embodiment of a database system, a database server, a database server program, a database client, and a database client program according to the present invention will be described in detail with reference to the drawings.

(A−1)第1の実施形態の構成
図2は、第1の実施形態のDBシステム1の全体構成及び各装置の機能的構成について示したブロック図である。
(A-1) Configuration of the First Embodiment FIG. 2 is a block diagram showing the overall configuration of the DB system 1 of the first embodiment and the functional configuration of each device.

DBシステム1は、2台のDBサーバ10(10−1、10−2)及び、DBクライアント20を有している。なお、DBシステム1を構成するDBサーバ10の数は3台以上であってもよい。   The DB system 1 includes two DB servers 10 (10-1, 10-2) and a DB client 20. Note that the number of DB servers 10 constituting the DB system 1 may be three or more.

各DBサーバ10は、機能的には、DBサーバとしての情報処理を行うDBサーバプロセス11とデータ(データベース)を蓄積するDBファイルシステム12を有している。DBサーバ10は、例えば、コンピュータ(例えば、PCやワークステーション等のサーバマシン)に、データベースサーバアプリケーション(実施形態のデータベースサーバプログラムを含む)をインストールすることにより実現することができる。また、DBサーバ10は、例えばデータベースのミドルウェア(例えば、ORACLE等のデータベースミドルウェア)の機能を利用して実現するようにしてもよい。なお、以下では、各DBサーバ10−1、10−2のデータベース上の識別子(アプリケーション上の識別子)を、それぞれ「DB#1」、「DB#2」と表すものとする。   Functionally, each DB server 10 includes a DB server process 11 that performs information processing as a DB server and a DB file system 12 that stores data (database). The DB server 10 can be realized, for example, by installing a database server application (including the database server program of the embodiment) in a computer (for example, a server machine such as a PC or a workstation). Further, the DB server 10 may be realized by using a function of database middleware (for example, database middleware such as ORACLE). In the following, the identifiers on the databases (identifiers on the application) of the DB servers 10-1 and 10-2 are represented as “DB # 1” and “DB # 2”, respectively.

なお、ここでは、DBサーバ10−1、10−2は冗長系を構成しており、それぞれのDBファイルシステム12には同期したデータが格納されているものとする。そして、DBサーバ10−1、10−2のデータは、DBクライアント20からの要求に応じて、二相コミット(二相コミットメント)の方式(プロトコル)で更新することも可能であるものとする。なお、DBシステム1では、データ更新の方式は二相コミットに限定されず、コミットを要しないデータ更新も選択的に可能としてもよい。   Here, it is assumed that the DB servers 10-1 and 10-2 constitute a redundant system, and each DB file system 12 stores synchronized data. The data of the DB servers 10-1 and 10-2 can be updated by a two-phase commit (two-phase commitment) method (protocol) in response to a request from the DB client 20. In the DB system 1, the data update method is not limited to the two-phase commit, and the data update that does not require a commit may be selectively enabled.

DBクライアント20は、DBサーバ10−1、10−2上のデータの取得や更新等を行うものであり、DBクライアントプロセス21を有している。DBクライアント20は、例えば、コンピュータ(例えば、PCやワークステーション等)にDBクライアントプロセス21に対応するアプリケーション(実施形態のデータベースクライアントプログラムを含むプログラム)をインストールすることにより実現するようにしてもよい。   The DB client 20 acquires and updates data on the DB servers 10-1 and 10-2, and has a DB client process 21. The DB client 20 may be realized, for example, by installing an application (a program including the database client program of the embodiment) corresponding to the DB client process 21 in a computer (for example, a PC or a workstation).

DBクライアントプロセス21は、データ更新要求が二相コミットであることを示す種別と、二相コミットの対象となるDBサーバ10のリスト(以下、「サーバリスト」と呼ぶ)を、データ更新要求やデータコミット要求等メッセージ中に定義することができるインタフェースを備えている。これにより、DBクライアントプロセス21では、データ更新の際の更新方式、及び、対象DBサーバ10を選択することが可能となる。   The DB client process 21 uses a type indicating that the data update request is a two-phase commit and a list of DB servers 10 (hereinafter referred to as “server list”) that are targets of the two-phase commit as a data update request or data It has an interface that can be defined in messages such as commit requests. As a result, the DB client process 21 can select the update method used when updating data and the target DB server 10.

例えば、DBクライアントプロセス21が生成するメッセージM(二相コミットに係る制御命令のメッセージ)の構成は概念的には図3のように示すことができる。なお、実際のメッセージMの構成については使用するプラットフォーム上のフォーマットに従う必要がある。   For example, the configuration of a message M (message of a control command related to two-phase commit) generated by the DB client process 21 can be conceptually shown as in FIG. Note that the configuration of the actual message M needs to follow the format on the platform to be used.

図3に示すようにメッセージMには、少なくとも当該メッセージによる更新方式の種別、当該メッセージの転送対象となるサーバリスト、及び当該メッセージの定義データ(データ更新内容又はデータコミット内容の定義データ)が含まれているものとする。   As shown in FIG. 3, the message M includes at least the type of update method based on the message, a server list to which the message is to be transferred, and definition data of the message (data update content or data commit content definition data). It shall be assumed.

図3に示すメッセージMの種別(更新方式の種別)には二相コミットに設定されていることを示している。   The message M type (update method type) shown in FIG. 3 indicates that two-phase commit is set.

また、図3に示すサーバリストは、当該メッセージの転送順序に従って各DBサーバ10の識別子が並べて記述されている。例えば、図3では、サーバリストとして「DB#1、DB#2」が記述されているので、当該メッセージをまずDBサーバ10−1に供給し、その次にDBサーバ10−1からDBサーバ10−2へ転送する指示を示している。言い換えると、図3に示すメッセージMは1段目の転送先がDBサーバ10−1で、その次の2段目の転送先(終端)がDBサーバ10−2であることを示している。   In the server list shown in FIG. 3, the identifiers of the DB servers 10 are described side by side in accordance with the message transfer order. For example, in FIG. 3, since “DB # 1, DB # 2” is described as the server list, the message is first supplied to the DB server 10-1, and then from the DB server 10-1 to the DB server 10 -2 indicates an instruction to transfer to -2. In other words, the message M shown in FIG. 3 indicates that the transfer destination of the first stage is the DB server 10-1, and the transfer destination (termination) of the next second stage is the DB server 10-2.

そして、DBサーバ10(DBサーバプロセス11)では、例えば図3に示すようなメッセージMを受信すると、データ更新要求が二相コミットの要求であることを認識し、そのデータ更新要求を次段の二相コミットのDBサーバ10に送信(つまり、メッセージ転送)することを可能とする機能に対応している。また、DBサーバ10(DBサーバプロセス11)では、受信したメッセージの定義データに従って、自装置のデータ(ファイルシステム12上のデータ)の更新又はコミットを行う処理を並列実施可能とする機能に対応しているものとする。さらに、DBサーバ10(DBサーバプロセス11)では、自装置のデータを更新(コミット)するトランザクションと、メッセージを転送し、次段のDBサーバ10側で実施するデータ更新(コミット)が同一のトランザクションであることを管理する機能にも対応しているものとする。   When the DB server 10 (DB server process 11) receives a message M as shown in FIG. 3, for example, the DB server 10 (DB server process 11) recognizes that the data update request is a two-phase commit request, and sends the data update request to the next stage. This corresponds to a function that enables transmission (that is, message transfer) to the two-phase commit DB server 10. In addition, the DB server 10 (DB server process 11) corresponds to a function that enables the process of updating or committing the data (data on the file system 12) of its own device in parallel according to the received message definition data. It shall be. Further, in the DB server 10 (DB server process 11), a transaction for updating (commiting) the data of the own device and a transaction for transferring the message and performing data update (commit) performed on the DB server 10 side in the next stage are the same. It is assumed that it also supports a function for managing

すなわち、DBシステム1では、DBクライアント20が、DBサーバ10−1、10−2に対して多段的に接続(直列的に接続)されていると言える。そして、以下では、DBクライアント20が直接アクセスするDBサーバを最前段のDBサーバ10とも呼ぶものとする。また、以下では、メッセージ転送の終端(サーバリストの最後尾)に該当するDBベースサーバ10を、最後段のDBサーバ10とも呼ぶものとする。この実施形態では、DBサーバ10−1が最前段のDBサーバ10に該当し、DBサーバ10−2が最後段のDBサーバに該当することになる。なお、最前段のDBサーバ10−1の前段の装置はDBクライアント20となるものとする。   That is, in the DB system 1, it can be said that the DB client 20 is connected to the DB servers 10-1 and 10-2 in multiple stages (connected in series). In the following description, the DB server that is directly accessed by the DB client 20 is also referred to as the foremost DB server 10. In the following description, the DB base server 10 corresponding to the end of message transfer (the tail of the server list) is also referred to as the last DB server 10. In this embodiment, the DB server 10-1 corresponds to the foremost DB server 10, and the DB server 10-2 corresponds to the last DB server. It is assumed that the preceding device of the foremost DB server 10-1 is the DB client 20.

(A−2)第1の実施形態の動作
次に、以上のような構成を有する第1の実施形態のDBシステム1の動作を説明する。
(A-2) Operation of the First Embodiment Next, the operation of the DB system 1 of the first embodiment having the above configuration will be described.

ここでは、DBクライアント20(DBクライアントプロセス21)から、図3に示すようなメッセージを用いて、DBサーバ10−1、10−2(DB#1、DB#2)に対して更新方式を二相コミットとするデータ更新要求が行われる場合の動作について図1のシーケンス図を用いて説明する。   Here, the update method for the DB servers 10-1 and 10-2 (DB # 1 and DB # 2) is sent from the DB client 20 (DB client process 21) to the DB servers 10-1 and 10-2 (DB # 1 and DB # 2) using a message as shown in FIG. The operation when a data update request for phase commit is performed will be described with reference to the sequence diagram of FIG.

まず、DBクライアント20(DBクライアントプロセス21)で、図3に示すような構成のデータ更新要求のメッセージが生成され、DBサーバ10−1に送信されたものとする(S101)。   First, it is assumed that the DB client 20 (DB client process 21) generates a data update request message configured as shown in FIG. 3 and transmits it to the DB server 10-1 (S101).

このときの、DBクライアント20(DBクライアントプロセス21)から、DBサーバ10−1へのメッセージ送信にかかる時間(送信開始から終了までの時間)を「t1」とする。   At this time, the time required for message transmission from the DB client 20 (DB client process 21) to the DB server 10-1 (time from the start to the end of transmission) is set to “t1”.

次に、DBサーバ10−1(DBサーバプロセス11)では、受信したデータ更新要求のメッセージを分析し、二相コミットのトランザクションであることを認識し、さらに、サーバリスト上の次段のDBサーバ10−2に対して、当該メッセージと同様のデータ更新要求のメッセージを送信(S103)すると同時に、自装置のデータ更新(つまり、自装置のDBファイルシステム12へのI/O)を開始する(S102)。   Next, the DB server 10-1 (DB server process 11) analyzes the received data update request message, recognizes that the transaction is a two-phase commit transaction, and further executes the next-stage DB server on the server list. 10-2, a data update request message similar to the message is transmitted (S103), and at the same time, data update of the own device (that is, I / O to the DB file system 12 of the own device) is started ( S102).

このとき、DBサーバ10−1からDBサーバ10−2へのデータ更新要求送信(メッセージ送信)にかかる時間(メッセージ送信開始してから送信完了するまでの時間)を「t3」、DBサーバ10−1におけるデータ更新にかかる時間(データ更新を開始してから更新終了するまでの時間)を「t2」とする。   At this time, the time required to transmit the data update request (message transmission) from the DB server 10-1 to the DB server 10-2 (time from the start of message transmission to the completion of transmission) is “t3”, and the DB server 10− The time required for data update in 1 (time from the start of data update to the end of update) is assumed to be “t2”.

DBサーバ10−1からデータ更新要求のメッセージを受信すると、DBサーバ10−2(DB#2)は、当該メッセージのサーバリストの内容から自装置が二相コミットの終端サーバであることを認識し、自装置のデータ更新を実施(S104)する。   When receiving the data update request message from the DB server 10-1, the DB server 10-2 (DB # 2) recognizes from the contents of the server list of the message that the own device is the end server of the two-phase commit. The data of the own device is updated (S104).

このとき、DBサーバ10−2におけるデータ更新にかかる時間を「t4」とする。   At this time, the time required for data update in the DB server 10-2 is set to “t4”.

そして、DBサーバ10−2は、データ更新が完了すると、データ更新応答(処理結果)を、データ更新要求のメッセージ送信元(サーバリスト上の前段)であるDBサーバ10−1に送信する(S105)。   Then, when the data update is completed, the DB server 10-2 transmits a data update response (processing result) to the DB server 10-1 that is the message transmission source (first stage on the server list) of the data update request (S105). ).

このとき、DBサーバ10−2からDBサーバ10−1へのデータ更新応答の送信(メッセージ送信)にかかる時間を「t5」とする。   At this time, the time taken to transmit a data update response (message transmission) from the DB server 10-2 to the DB server 10-1 is “t5”.

DBサーバ10−2からのデータ更新応答の受信が完了すると、DBサーバ10−1は、自装置のデータ更新の終了と、データ更新要求のメッセージ転送先(サーバリスト上の次段)であるDBサーバ10−2からのデータ更新応答(処理結果)を、データ更新要求のメッセージ送信元(DBクライアント20)に送信する(S106)。   When the reception of the data update response from the DB server 10-2 is completed, the DB server 10-1 completes the data update of its own device and the DB that is the message transfer destination (next stage on the server list) of the data update request. The data update response (processing result) from the server 10-2 is transmitted to the message transmission source (DB client 20) of the data update request (S106).

このとき、DBサーバ10−1から、DBクライアント20へデータ更新応答の送信(メッセージ送信)にかかる時間を「t6」と表すものとする。   At this time, the time required to transmit a data update response (message transmission) from the DB server 10-1 to the DB client 20 is represented as “t6”.

なお、この実施形態では、DBサーバ10が2台の構成であるため、DBサーバ10−1が受信するデータ更新応答は、DBサーバ10−2の分だけであるが、DBサーバ10−2の後段にもDBサーバ10が存在する場合には、DBサーバ10−1は、それらのDBサーバ10のデータ更新応答についてもまとめて前段へ転送することになる。   In this embodiment, since there are two DB servers 10, the data update response received by the DB server 10-1 is only for the DB server 10-2. When the DB server 10 is also present in the subsequent stage, the DB server 10-1 collectively transfers the data update responses of those DB servers 10 to the previous stage.

DBサーバ10−1からデータ更新応答を受信すると、DBクライアント20は、今度は、データコミットを要求するメッセージ(図3に示すような構成のデータコミット要求のメッセージ)を生成し、DBサーバ10−1に送信することになる(S107)。   Upon receiving the data update response from the DB server 10-1, the DB client 20 generates a message for requesting data commit (data commit request message having a configuration as shown in FIG. 3), and this time, the DB server 10- 1 (S107).

このときの、DBクライアント20から、DBサーバ10−1へのデータコミット要求送信(メッセージ送信)にかかる時間を「t7」とする。   At this time, the time taken for the data commit request transmission (message transmission) from the DB client 20 to the DB server 10-1 is assumed to be “t7”.

データコミット要求のメッセージを受信すると、DBサーバ10−1は、当該メッセージに従って自装置のデータコミットを実行(S108)した後、次段のDBサーバ10−2にデータコミット要求のメッセージを転送する(S109)。   Upon receiving the data commit request message, the DB server 10-1 executes the data commit of its own device according to the message (S108), and then transfers the data commit request message to the next DB server 10-2 ( S109).

このとき、DBサーバ10−1からDBサーバ10−2へのデータコミット要求の送信(メッセージ送信)にかかる時間を「t9」、DBサーバ10−1におけるデータコミットにかかる時間を「t8」とする。   At this time, the time required for transmission (message transmission) of the data commit request from the DB server 10-1 to the DB server 10-2 is “t9”, and the time required for data commit in the DB server 10-1 is “t8”. .

DBサーバ10−1からのデータコミット要求のメッセージを受信すると、DBサーバ10−2は、当該メッセージの内容に従って、自装置のデータコミットを実行し(S110)、データコミット応答(処理結果)を、DBサーバ10−1に送信する(S111)。   Upon receiving the data commit request message from the DB server 10-1, the DB server 10-2 executes the data commit of its own device according to the content of the message (S110), and sends a data commit response (processing result). It transmits to DB server 10-1 (S111).

このとき、DBサーバ10−2におけるデータコミットにかかる時間を「t10」、
DBサーバ10−1からDBクライアント20へデータコミット応答の送信(メッセージ送信)にかかる時間を「t11」とする。
At this time, the time taken for the data commit in the DB server 10-2 is “t10”,
The time taken to transmit a data commit response (message transmission) from the DB server 10-1 to the DB client 20 is “t11”.

DBサーバ10−2からのデータコミット応答の受信が完了すると、DBサーバ10−1は、自装置のデータコミットの終了と、データコミット要求のメッセージ転送先(サーバリスト上の次段)であるDBサーバ10−2からのデータコミット応答(処理結果)を、データコミット要求のメッセージ送信元(DBクライアント20)にまとめて送信する(S112)。   When the reception of the data commit response from the DB server 10-2 is completed, the DB server 10-1 terminates the data commit of its own device and the DB that is the message transfer destination (next stage on the server list) of the data commit request. Data commit responses (processing results) from the server 10-2 are collectively transmitted to the message commit source (DB client 20) of the data commit request (S112).

このとき、DBサーバ10−1から、DBクライアント20へデータコミット応答の送信(メッセージ送信)にかかる時間を「t12」とする。   At this time, the time taken to transmit a data commit response (message transmission) from the DB server 10-1 to the DB client 20 is set to “t12”.

以上のように、DBシステム1では、二相コミットによるデータ更新が行われる。   As described above, in the DB system 1, data is updated by two-phase commit.

ここで、同一ノード間のメッセージ送受信は、ネットワーク上同じ経路を通ると考えられるため、t1、t6、t7、t12、t3、t5、t9、t11については、以下の(1)式、及び(2)式のような等式が成り立つものとする。   Here, since message transmission / reception between the same nodes is considered to pass the same route on the network, t1, t6, t7, t12, t3, t5, t9, t11 are expressed by the following formula (1) and (2 It is assumed that an equation such as

t1=t6=t7=t12…(1)
t3=t5=t9=t11…(2)
また、各DBサーバ10−1、10−2の性能(データ更新の所要時間、及びデータコミットの所要時間)を同等とすると、以下の(3)式及び(4)式の等式が成り立つ。
t1 = t6 = t7 = t12 (1)
t3 = t5 = t9 = t11 (2)
Further, if the performances of the DB servers 10-1 and 10-2 (time required for data update and time required for data commit) are equal, the following equations (3) and (4) are established.

t2=t4 …(3)
t8=t10 …(4)
ここで注意すべき点が二点ある。第1の注意点は、DBシステム1では、データ更新要のメッセージにサーバリストを挿入し、DBクライアント20から送出されるデータ更新要求のメッセージが各DBサーバ10へ転送(伝送)されてデータ更新が実行される点である。第2の注意点は、DBシステム1において、DBサーバ10−1のデータ更新実施と、DBサーバ10−2へのメッセージ転送及び、DBサーバ10−2のデータ更新処理が並列に実施される点であり、どちらか処理時間が大きい方の値のみ計上すれば良いという点である。したがって、第1の実施形態のDBシステム1において、二相コミットによるデータ更新の開始から終了まで(上述のステップS101の開始からステップS112の終了まで)の所要時間x1は、以下の(5)式のように示すことができる。そして、t1=t3=t4=t8=t9=t14=1ms、t5=t7=t11=t13=5ms、t2=t6=10ms、t10=t12=5msとして、以下の(5)式にあてはめると所要時間x1は、以下の(6)式のように44msとなる。
t2 = t4 (3)
t8 = t10 (4)
There are two points to note here. First, the DB system 1 inserts a server list into a data update request message, and a data update request message sent from the DB client 20 is transferred (transmitted) to each DB server 10 to update the data. Is the point where is executed. The second precaution is that in the DB system 1, the data update of the DB server 10-1, the message transfer to the DB server 10-2, and the data update process of the DB server 10-2 are performed in parallel. In other words, only the value with the longer processing time needs to be counted. Therefore, in the DB system 1 of the first embodiment, the required time x1 from the start to the end of data update by two-phase commit (from the start of step S101 to the end of step S112) is expressed by the following equation (5) It can be shown as follows. Then, t1 = t3 = t4 = t8 = t9 = t14 = 1 ms, t5 = t7 = t11 = t13 = 5 ms, t2 = t6 = 10 ms, and t10 = t12 = 5 ms. x1 is 44 ms as shown in the following equation (6).

x1=t1+(t2、t3+t4のうち値が大きい方)+t5+t6
+t7+t8+t9+t10+t11+t12 …(5)
x1=1+15+5+1+1+5+5+5+5+1=44ms …(6)
(A−3)第1の実施形態の効果
第1の実施形態によれば、以下のような効果を奏することができる。
x1 = t1 + (t2, t3 + t4, whichever is larger) + t5 + t6
+ T7 + t8 + t9 + t10 + t11 + t12 (5)
x1 = 1 + 15 + 5 + 1 + 1 + 5 + 5 + 5 + 5 + 1 = 44 ms (6)
(A-3) Effects of First Embodiment According to the first embodiment, the following effects can be achieved.

(A−3−1)上述の通り、DBシステム1では、データ更新要のメッセージにサーバリストを挿入し、DBクライアント20から送出されるデータ更新要求のメッセージが各DBサーバ10へ転送(伝送)されてデータ更新が実行される。 (A-3-1) As described above, in the DB system 1, the server list is inserted into the data update request message, and the data update request message sent from the DB client 20 is transferred (transmitted) to each DB server 10. Then, the data update is executed.

仮に、DBシステム1において、DBクライアント20から、DBサーバ10−1向けと、DBサーバ10−2向けにそれぞれ別個のメッセージ(データ更新要求のメッセージ及びデータコミットのメッセージ)を送信する必要があるとした場合、そのシーケンス図は図4のようになる。   Temporarily, in the DB system 1, it is necessary to transmit separate messages (data update request message and data commit message) to the DB server 10-1 and the DB server 10-2 from the DB client 20. In this case, the sequence diagram is as shown in FIG.

図4のシーケンス図では、まず、DBクライアント20がDBサーバ10−1へのデータ更新要求のメッセージを送信して(S201)、DBサーバ10−1でデータ更新を行い(S201)、DBサーバ10−1からDBクライアント20にデータ更新応答を送信(S203)している。図4のシーケンス図では、次に、DBクライアント20がDBサーバ10−1を経由してDBサーバ10−2へのデータ更新要求のメッセージを送信し(S204、S205)、DBサーバ10−2でデータ更新を行い(S206)、DBサーバ10−1からDBサーバ10−2を介してDBクライアント20にデータ更新応答を送信(S207、S208)している。さらに、図4のシーケンス図では、DBクライアント20がDBサーバ10−1へのデータコミット要求のメッセージを送信し(S209)、DBサーバ10−1がデータコミットを実行し(S210)、DBサーバ10−1がデータコミット要求をDBサーバ10−2に送信し(S211)、DBサーバ10−2がデータコミットを実行し(S212)、DBサーバ10−2がデータコミット応答をDBサーバ10−1を介してDBクライアント20に送信する(S213、S214)。なお、図4において、各ステップS201〜S214の所要時間は、それぞれt201〜t214であるものとする。   In the sequence diagram of FIG. 4, first, the DB client 20 transmits a data update request message to the DB server 10-1 (S201), and the DB server 10-1 updates the data (S201). -1 transmits a data update response to the DB client 20 (S203). In the sequence diagram of FIG. 4, next, the DB client 20 transmits a data update request message to the DB server 10-2 via the DB server 10-1 (S204, S205). Data update is performed (S206), and a data update response is transmitted from the DB server 10-1 to the DB client 20 via the DB server 10-2 (S207, S208). Further, in the sequence diagram of FIG. 4, the DB client 20 transmits a data commit request message to the DB server 10-1 (S209), the DB server 10-1 executes data commit (S210), and the DB server 10 -1 transmits a data commit request to the DB server 10-2 (S211), the DB server 10-2 executes data commit (S212), and the DB server 10-2 sends a data commit response to the DB server 10-1. To the DB client 20 (S213, S214). In FIG. 4, the time required for each of steps S201 to S214 is t201 to t214, respectively.

そして、仮に、DBシステム1において、図4のようなシーケンスで二相コミットのデータ更新が行われた場合、その所要時間x2は、以下の(7)式のように示すことができる。また、図4において、同一ノード間のメッセージ送受信は、ネットワーク上同じ経路を通ると考え、以下の(8)式及び(9)式が成り立つものとする。また、各DBサーバ10の性能は同等であると考え、以下の(10)式及び(11)式が成り立つものとする。さらに、上述の図1の例と同様に、DBクライアント20とDBサーバ10−1との間のメッセージ伝送の所要時間を1ms、DBサーバ10−1とDBサーバ10−2との間のメッセージ伝送の所要時間を5ms、データ更新の時間を10ms、データコミットの時間を5msとすると、以下の(12)式に示すように図4のシーケンスにおける二相コミットのデータ更新に必要な時間(ステップS201〜ステップS214の所要時間)は、56msとなる。したがって、図4のシーケンスの処理では、図1のシーケンスの処理よりも所要時間が長くなることがわかる。   If the DB system 1 performs two-phase commit data update in the sequence shown in FIG. 4, the required time x2 can be expressed as the following equation (7). In FIG. 4, it is assumed that message transmission / reception between the same nodes follows the same route on the network, and the following equations (8) and (9) are established. Further, it is assumed that the performance of each DB server 10 is equivalent, and the following formulas (10) and (11) hold. Further, similarly to the example of FIG. 1 described above, the message transmission time between the DB client 20 and the DB server 10-1 is 1 ms, and the message transmission between the DB server 10-1 and the DB server 10-2 is performed. Is 5 ms, the data update time is 10 ms, and the data commit time is 5 ms. As shown in the following equation (12), the time required for the two-phase commit data update in the sequence of FIG. 4 (step S201). (Required time of step S214) is 56 ms. Therefore, it can be seen that the time required for the processing of the sequence of FIG. 4 is longer than that of the processing of the sequence of FIG.

x3= t201+t202+t203+t204+t205
+t206+t207+t208+t209+t210
+t211+t212+t213+t214 …(7)
t201=t203=t204=t208=t209=t214 …(8)
t205=t207=t211=t213 …(9)
t202=t206 (10)
t210=t212 …(11)
x=1+10+1+1+5+10+5+1+1
+5+5+5+5+1=56ms …(12)
すなわち、DBシステム1では、二相コメットのデータ更新を行う際に、データ更新要のメッセージにサーバリストを挿入し、DBクライアント20から送出されるデータ更新要求のメッセージが各DBサーバ10へ転送(伝送)されるようにすることで、シーケンス(ステップ)を短縮し、データ更新の所要時間の短縮を実現することができる。
x3 = t201 + t202 + t203 + t204 + t205
+ T206 + t207 + t208 + t209 + t210
+ T211 + t212 + t213 + t214 (7)
t201 = t203 = t204 = t208 = t209 = t214 (8)
t205 = t207 = t211 = t213 (9)
t202 = t206 (10)
t210 = t212 (11)
x = 1 + 10 + 1 + 1 + 5 + 10 + 5 + 1 + 1
+ 5 + 5 + 5 + 5 + 1 = 56 ms (12)
That is, in the DB system 1, when updating the data of the two-phase comet, the server list is inserted into the data update request message, and the data update request message sent from the DB client 20 is transferred to each DB server 10 ( Transmission), the sequence (step) can be shortened and the time required for data update can be shortened.

(A−3−2)上述の通り、DBサーバ10−1のデータ更新実施(自装置のデータ更新)と、DBサーバ10−2へのメッセージ転送(次段へのメッセージ転送)及び、DBサーバ10−2のデータ更新処理(次段でのデータ更新処理)が並列に実施される構成となっている。 (A-3-2) As described above, data update of the DB server 10-1 (data update of the own device), message transfer to the DB server 10-2 (message transfer to the next stage), and DB server The data update process 10-2 (data update process in the next stage) is performed in parallel.

これにより、DBシステム1では、二相コミットによるデータ更新の一部のシーケンス(ステップ)を並列的に実行し、さらなる所要時間の短縮を実現することができる。尚、仮にDBサーバ10−1とDBサーバ10−2間の遅延時間が0である条件においても、DBシステム1では、従来の方式よりも所要時間を短縮する事ができる。   Thereby, in the DB system 1, a partial sequence (step) of data update by two-phase commit can be executed in parallel, and the required time can be further shortened. Even if the delay time between the DB server 10-1 and the DB server 10-2 is zero, the DB system 1 can reduce the required time compared to the conventional method.

(B)第2の実施形態
以下、本発明によるデータベースシステム、データベースサーバ、データベースサーバプログラム、データベースクライアント、及びデータベースクライアントプログラムの第2の実施形態を、図面を参照しながら詳述する。
(B) Second Embodiment Hereinafter, a second embodiment of a database system, a database server, a database server program, a database client, and a database client program according to the present invention will be described in detail with reference to the drawings.

第2の実施形態のDBシステム1の構成についても上述の図2を用いて示すことができる。以下では、第2の実施形態のDBシステム1について第1の実施形態との差異のみを説明する。   The configuration of the DB system 1 of the second embodiment can also be shown using FIG. Below, only the difference with 1st Embodiment is demonstrated about DB system 1 of 2nd Embodiment.

第1の実施形態のDBシステム1では、DBサーバ10−1のデータ更新実施(自装置のデータ更新)と、DBサーバ10−2へのメッセージ転送(次段へのメッセージ転送)及び、DBサーバ10−2のデータ更新処理(次段でのデータ更新処理)が並列に実施される構成となっているが、データコミットについてはそのような構成となっていなかった。これに対して、第2の実施形態のDBシステム1では、データコミットにおいても、DBサーバ10−1のデータコミット実施(自装置のデータコミット)と、DBサーバ10−2へのメッセージ転送(次段へのメッセージ転送)及び、DBサーバ10−2のデータコミット(次段でのデータコミット)が並列に実施される点で、第1の実施形態と異なっている。   In the DB system 1 of the first embodiment, the data update of the DB server 10-1 (data update of the own device), the message transfer to the DB server 10-2 (message transfer to the next stage), and the DB server Although the data update process 10-2 (data update process in the next stage) is executed in parallel, the data commit is not such a structure. On the other hand, in the DB system 1 of the second embodiment, even in the data commit, the data commit of the DB server 10-1 (data commit of the own device) and the message transfer to the DB server 10-2 (next) Message transfer to the stage) and data commit of the DB server 10-2 (data commit in the next stage) are performed in parallel with the first embodiment.

したがって、第2の実施形態のDBシステム1の動作は図5のシーケンス図を用いて表すことができる。図5のシーケンス図では、第1の実施形態のシーケンス図1と、同一のステップについては同一の符号(ステップ番号)を付している。   Therefore, the operation of the DB system 1 of the second embodiment can be expressed using the sequence diagram of FIG. In the sequence diagram of FIG. 5, the same steps (step numbers) are assigned to the same steps as those in the sequence diagram 1 of the first embodiment.

図5に示すように、第2の実施形態のDBシステム1では、DBサーバ10−1のデータコミット実施(ステップS108)、DBサーバ10−2へのメッセージ転送(ステップS109)及び、DBサーバ10−2のデータコミット(ステップS110)が並列して実行されることになる。   As shown in FIG. 5, in the DB system 1 of the second embodiment, the data commit of the DB server 10-1 (Step S 108), the message transfer to the DB server 10-2 (Step S 109), and the DB server 10. -2 data commit (step S110) is executed in parallel.

したがって、第2の実施形態のDBシステム1では、図5のようなシーケンスで二相コミットのデータ更新が行うため、その所要時間x3は、以下の(13)式のように示すことができる。そして、上述の図1の例と同様に、DBクライアント20とDBサーバ10−1との間のメッセージ伝送の所要時間を1ms、DBサーバ10−1とDBサーバ10−2との間のメッセージ伝送の所要時間を5ms、データ更新の時間を10ms、データコミットの時間を5msとすると、第2の実施形態DBシステム1における二相コミットのデータ更新の所要時間x3は、以下の(14)式に示すように39msとなり、第1の実施形態(図1のシーケンス)における処理よりも所要時間を短縮することができる。すなわち、第2の実施形態のDBシステム1では、データコミットの一部のシーケンス(ステップ)を並列的に実行することで、第1の実施形態と比較して、さらなる所要時間の短縮を実現することができる。   Therefore, in the DB system 1 of the second embodiment, since the data update of the two-phase commit is performed in the sequence as shown in FIG. 5, the required time x3 can be expressed as the following equation (13). As in the example of FIG. 1, the message transmission time between the DB client 20 and the DB server 10-1 is 1 ms, and the message transmission between the DB server 10-1 and the DB server 10-2 is performed. The required time x3 is 5 ms, the data update time is 10 ms, and the data commit time is 5 ms. The required time x3 for two-phase commit data update in the DB system 1 of the second embodiment is expressed by the following equation (14). As shown, the time is 39 ms, and the required time can be shortened compared to the processing in the first embodiment (sequence of FIG. 1). That is, in the DB system 1 of the second embodiment, a part of the sequence (steps) of data commit is executed in parallel, thereby further reducing the required time compared to the first embodiment. be able to.

x3=t1+(t2、t3+t4 のうち値が大きい方)
+t5+t6+t7+(t8、t9+t10のうち値が大きい方)
+t11+t12 …(13)
x3=1+15+5+1+1+10+5+1=39ms …(14)
(C)他の実施形態
本発明は、上記の各実施形態に限定されるものではなく、以下に例示するような変形実施形態も挙げることができる。
x3 = t1 + (the larger of t2, t3 + t4)
+ T5 + t6 + t7 + (the larger of t8 and t9 + t10)
+ T11 + t12 (13)
x3 = 1 + 15 + 5 + 1 + 1 + 10 + 5 + 1 = 39 ms (14)
(C) Other Embodiments The present invention is not limited to the above-described embodiments, and may include modified embodiments as exemplified below.

(C−1)上記の各実施形態では、説明を簡易とするために、DBサーバ10−1とDBサーバ10−2の間を中継するDBサーバ10(ノード)は存在しないが、1又は複数のDBサーバ10を間に挿入するようにしてもよいことは当然である。 (C-1) In each of the above embodiments, for simplicity of explanation, there is no DB server 10 (node) that relays between the DB server 10-1 and the DB server 10-2. Of course, the DB server 10 may be inserted between them.

(C−2)上記の各実施形態では、全てのDBサーバ10は同じ構成であるものとして説明したが、最後段のDBサーバ10については、後段のDBサーバ10が存在しないため、後段のDBサーバ10へメッセージ転送する機能や、後段のDBサーバ10から受信した処理結果を処理する機能に対応しない構成としてもよい。 (C-2) In each of the above embodiments, all the DB servers 10 have been described as having the same configuration. However, since the latter DB server 10 does not exist for the last DB server 10, the latter DB A configuration that does not correspond to a function of transferring a message to the server 10 or a function of processing a processing result received from the subsequent DB server 10 may be adopted.

(C−3)上記の各実施形態では、DBシステム1は二相コミットのデータ更新に対応する構成として説明したが、三相コミットに対応する構成とし、同様のシーケンス(上述の図3又は図5のシーケンス)を含む工程によりデータ更新及びデータコミットを行うようにしてもよい。 (C-3) In each of the above embodiments, the DB system 1 has been described as a configuration corresponding to two-phase commit data update. However, the DB system 1 has a configuration corresponding to a three-phase commit and a similar sequence (see FIG. 3 or FIG. Data update and data commit may be performed by a process including the sequence 5).

1…DBシステム、1、10−1、10−2…DBサーバ10−1、10…DBサーバ、11…DBサーバプロセス、12…DBファイルシステム、20…DBクライアント、21…DBクライアントプロセス。   DESCRIPTION OF SYMBOLS 1 ... DB system 1, 10-1, 10-2 ... DB server 10-1, 10 ... DB server, 11 ... DB server process, 12 ... DB file system, 20 ... DB client, 21 ... DB client process.

Claims (7)

複数のデータベースサーバと、データベースクライアントを備えるデータベースシステムにおいて、
上記複数のデータベースサーバのうち最後段のデータベースサーバを除くデータベースサーバは、
前段の装置から供給されたデータ更新要求に従って、データ更新を行うデータ更新手段と、
前段の装置から供給されたデータ更新要求を、後段のデータベースサーバに転送するデータ更新要求転送手段と、
後段のデータベースサーバからデータ更新要求に対するデータ更新結果の応答があった場合、そのデータ更新結果と自装置のデータ更新結果を合わせたデータ更新結果を、前段の装置に送信するデータ更新応答手段と、
前段の装置から供給されたデータコミット要求に従って、データコミットを行うデータコミット手段と、
前段の装置から供給されたデータコミット要求を後段のデータベースサーバに転送するデータコミット要求転送手段と、
後段のデータベースサーバからデータコミット要求に対するデータコミット結果の応答があった場合、そのデータコミット結果と自装置のデータコミット結果を合わせたデータコミット結果を、前段の装置に送信するデータコミット応答手段とを有し、
上記最後段のデータベースサーバは、
前段のデータベースサーバから供給されたデータ更新要求に従って、データ更新を行い、前段のデータベースサーバにそのデータ更新結果を応答するデータ更新応答手段と、
前段のデータベースサーバから供給されたデータコミット要求に従って、データコミットを行い、前段のデータベースサーバにそのデータコミット結果を応答するデータコミット応答手段とを有し、
上記データベースクライアントは、
上記複数のデータベースサーバのうち最前段のデータベースサーバに、データ更新要求を送信し、上記最前段のデータベースサーバから、上記複数のデータベースサーバの全てのデータ更新結果を受信するデータ更新要求手段と、
上記最前段のデータベースサーバに、データコミット要求を送信し、上記最前段のデータベースサーバから、上記複数のデータベースサーバの全てのデータコミット結果を受信するデータコミット要求手段とを有する
ことを特徴とするデータベースシステム。
In a database system comprising a plurality of database servers and a database client,
Database servers excluding the last database server among the plurality of database servers are
In accordance with a data update request supplied from the preceding apparatus, data update means for performing data update,
A data update request transfer means for transferring the data update request supplied from the preceding apparatus to the subsequent database server;
When there is a data update result response to the data update request from the subsequent database server, a data update response means for transmitting the data update result that combines the data update result and the data update result of the own device to the previous device;
Data commit means for performing data commit in accordance with the data commit request supplied from the preceding device;
A data commit request transfer means for transferring the data commit request supplied from the preceding apparatus to the subsequent database server;
When there is a response of the data commit result to the data commit request from the database server at the latter stage, a data commit response means for sending the data commit result that combines the data commit result and the data commit result of the own apparatus to the preceding apparatus Have
The last database server is
Data update response means for performing data update according to the data update request supplied from the previous database server, and responding to the previous database server with the data update result;
Data commit response means for performing data commit in accordance with the data commit request supplied from the previous database server, and responding to the previous database server with the data commit result;
The database client
A data update request means for transmitting a data update request to the frontmost database server among the plurality of database servers, and receiving all the data update results of the plurality of database servers from the frontmost database server;
A data commit request means for transmitting a data commit request to the frontmost database server and receiving all data commit results of the plurality of database servers from the frontmost database server; system.
上記複数のデータベースサーバのうち最後段のデータベースサーバを除くデータベースサーバのそれぞれで、上記データ更新応答手段による後段のデータベースへのデータ更新要求の転送処理と、上記データ更新手段によるデータ更新処理が並列して実行されることを特徴とする請求項1に記載のデータベースシステム。   In each of the database servers other than the last database server among the plurality of database servers, the data update request transfer process to the subsequent database by the data update response unit and the data update process by the data update unit are performed in parallel. The database system according to claim 1, wherein the database system is executed. 上記複数のデータベースサーバのうち最後段のデータベースサーバを除くデータベースサーバのそれぞれで、上記データコミット応答手段による後段のデータベースへのデータコミット要求の転送処理と、上記データコミット手段によるデータコミット処理が並列して実行されることを特徴とする請求項1又は2に記載のデータベースシステム。     The transfer processing of the data commit request to the subsequent database by the data commit response means and the data commit processing by the data commit means in parallel with each of the database servers other than the last database server among the plurality of database servers. The database system according to claim 1 or 2, wherein the database system is executed. 前段の装置から供給されたデータ更新要求に従って、データ更新を行うデータ更新手段と、
前段の装置から供給されたデータ更新要求を、後段のデータベースサーバに転送するデータ更新要求転送手段と、
後段のデータベースサーバからデータ更新要求に対するデータ更新結果の応答があった場合、そのデータ更新結果と自装置のデータ更新結果を合わせたデータ更新結果を、前段の装置に送信するデータ更新応答手段と、
前段の装置から供給されたデータコミット要求に従って、データコミットを行うデータコミット手段と、
前段の装置から供給されたデータコミット要求を後段のデータベースサーバに転送するデータコミット要求転送手段と、
後段のデータベースサーバからデータコミット要求に対するデータコミット結果の応答があった場合、そのデータコミット結果と自装置のデータコミット結果を合わせたデータコミット結果を、前段の装置に送信するデータコミット応答手段と
を有することを特徴とするデータベースサーバ。
In accordance with a data update request supplied from the preceding apparatus, data update means for performing data update,
A data update request transfer means for transferring the data update request supplied from the preceding apparatus to the subsequent database server;
When there is a data update result response to the data update request from the subsequent database server, a data update response means for transmitting the data update result that combines the data update result and the data update result of the own device to the previous device;
Data commit means for performing data commit in accordance with the data commit request supplied from the preceding device;
A data commit request transfer means for transferring the data commit request supplied from the preceding apparatus to the subsequent database server;
When there is a data commit result response to the data commit request from the database server at the latter stage, a data commit response means for sending the data commit result, which is a combination of the data commit result and the data commit result of its own device, to the former stage A database server characterized by comprising:
コンピュータを、
前段の装置から供給されたデータ更新要求に従って、データ更新を行うデータ更新手段と、
前段の装置から供給されたデータ更新要求を、後段のデータベースサーバに転送するデータ更新要求転送手段と、
後段のデータベースサーバからデータ更新要求に対するデータ更新結果の応答があった場合、そのデータ更新結果と自装置のデータ更新結果を合わせたデータ更新結果を、前段の装置に送信するデータ更新応答手段と、
前段の装置から供給されたデータコミット要求に従って、データコミットを行うデータコミット手段と、
前段の装置から供給されたデータコミット要求を後段のデータベースサーバに転送するデータコミット要求転送手段と、
後段のデータベースサーバからデータコミット要求に対するデータコミット結果の応答があった場合、そのデータコミット結果と自装置のデータコミット結果を合わせたデータコミット結果を、前段の装置に送信するデータコミット応答手段と
して機能させることを特徴とするデータベースサーバプログラム。
Computer
In accordance with a data update request supplied from the preceding apparatus, data update means for performing data update,
A data update request transfer means for transferring the data update request supplied from the preceding apparatus to the subsequent database server;
When there is a data update result response to the data update request from the subsequent database server, a data update response means for transmitting the data update result that combines the data update result and the data update result of the own device to the previous device;
Data commit means for performing data commit in accordance with the data commit request supplied from the preceding device;
A data commit request transfer means for transferring the data commit request supplied from the preceding apparatus to the subsequent database server;
When there is a response to the data commit request for the data commit request from the database server at the latter stage, the data commit response means to send the data commit result that combines the data commit result and the data commit result of its own device to the previous stage device. A database server program characterized by being made to function.
複数のデータベースサーバのうち最前段のデータベースサーバに、データ更新要求を送信し、上記最前段のデータベースサーバから、上記複数のデータベースサーバの全てのデータ更新結果を受信するデータ更新要求手段と、
上記最前段のデータベースサーバに、データコミット要求を送信し、上記最前段のデータベースサーバから、上記複数のデータベースサーバの全てのデータコミット結果を受信するデータコミット要求手段とを有する
ことを特徴とするデータベースクライアント。
A data update request means for transmitting a data update request to the frontmost database server among the plurality of database servers, and receiving all data update results of the plurality of database servers from the frontmost database server;
A data commit request means for transmitting a data commit request to the frontmost database server and receiving all data commit results of the plurality of database servers from the frontmost database server; client.
コンピュータを、
複数のデータベースサーバのうち最前段のデータベースサーバに、データ更新要求を送信し、上記最前段のデータベースサーバから、上記複数のデータベースサーバの全てのデータ更新結果を受信するデータ更新要求手段と、
上記最前段のデータベースサーバに、データコミット要求を送信し、上記最前段のデータベースサーバから、上記複数のデータベースサーバの全てのデータコミット結果を受信するデータコミット要求手段と
して機能させることを特徴とするデータベースクライアントプログラム。
Computer
A data update request means for transmitting a data update request to the frontmost database server among the plurality of database servers, and receiving all data update results of the plurality of database servers from the frontmost database server;
A data commit request is transmitted to the foremost database server and functions as data commit request means for receiving all data commit results of the plurality of database servers from the foremost database server. Database client program.
JP2014050082A 2014-03-13 2014-03-13 database system, database server, database server program, database client, and database client program Pending JP2015176203A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014050082A JP2015176203A (en) 2014-03-13 2014-03-13 database system, database server, database server program, database client, and database client program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014050082A JP2015176203A (en) 2014-03-13 2014-03-13 database system, database server, database server program, database client, and database client program

Publications (1)

Publication Number Publication Date
JP2015176203A true JP2015176203A (en) 2015-10-05

Family

ID=54255394

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014050082A Pending JP2015176203A (en) 2014-03-13 2014-03-13 database system, database server, database server program, database client, and database client program

Country Status (1)

Country Link
JP (1) JP2015176203A (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02122362A (en) * 1988-10-31 1990-05-10 Hitachi Ltd Decentralized data control system
JPH07129449A (en) * 1993-10-29 1995-05-19 Matsushita Electric Ind Co Ltd Commitment control method
JPH10507558A (en) * 1995-06-07 1998-07-21 インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン Log reduction in distributed systems
JP2009522659A (en) * 2005-12-29 2009-06-11 アマゾン・テクノロジーズ・インコーポレーテッド Distributed storage system with web service client interface

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02122362A (en) * 1988-10-31 1990-05-10 Hitachi Ltd Decentralized data control system
JPH07129449A (en) * 1993-10-29 1995-05-19 Matsushita Electric Ind Co Ltd Commitment control method
JPH10507558A (en) * 1995-06-07 1998-07-21 インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン Log reduction in distributed systems
JP2009522659A (en) * 2005-12-29 2009-06-11 アマゾン・テクノロジーズ・インコーポレーテッド Distributed storage system with web service client interface

Similar Documents

Publication Publication Date Title
US11444849B2 (en) Remote emulation of a storage system
JP5741150B2 (en) Relay device, relay program, and relay method
WO2015062444A1 (en) System and method for creating a distributed transaction manager supporting repeatable read isolation level in a mpp database
KR102340296B1 (en) System and method for supporting common transaction identifier (xid) optimization and transaction affinity based on resource manager (rm) instance awareness in a transactional environment
US20140089619A1 (en) Object replication framework for a distributed computing environment
CN106055698A (en) Data migration method, agent node and database instance
WO2015040788A1 (en) Information processing device and system-design support method
EP3866022A2 (en) Transaction processing method and device, electronic device and readable storage medium
EP3312723A1 (en) Command processing method and server
CN110601994A (en) Load balancing method for micro-service chain perception in cloud environment
JP2022031621A (en) Method, apparatus, electronic device, storage medium, and computer program for adjusting the number of instances
WO2016101759A1 (en) Data routing method, data management device and distributed storage system
WO2017002222A1 (en) System deployment device and system deployment method
CN114679349A (en) Data communication method and device
CN112804366B (en) Method and device for resolving domain name
CN106874341B (en) Database synchronization method
CN115277707B (en) Service processing method, device, electronic equipment and storage medium
JP2015176203A (en) database system, database server, database server program, database client, and database client program
EP3829139A1 (en) Distributed storage system for storing context data
WO2021082538A1 (en) Session processing method and apparatus, device, and medium
JP6432392B2 (en) Storage system, storage, management server, and file management method
CN111756652B (en) Message transmission and message queue management method, device and system
CN114327896A (en) Micro-service-based activity calling method and platform
CN110661857B (en) Data synchronization method and device
US10257026B1 (en) System and method to manage interrelated devices in a computing infrastructure

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20161115

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170726

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170808

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20180213