[go: up one dir, main page]

JP2007179300A - 分散システム、分散処理プログラム、および分散処理方法 - Google Patents

分散システム、分散処理プログラム、および分散処理方法 Download PDF

Info

Publication number
JP2007179300A
JP2007179300A JP2005376920A JP2005376920A JP2007179300A JP 2007179300 A JP2007179300 A JP 2007179300A JP 2005376920 A JP2005376920 A JP 2005376920A JP 2005376920 A JP2005376920 A JP 2005376920A JP 2007179300 A JP2007179300 A JP 2007179300A
Authority
JP
Japan
Prior art keywords
database
server
data
definition information
request
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
JP2005376920A
Other languages
English (en)
Inventor
Noriaki Jinbo
範朗 神保
Kojiro Watanabe
光治郎 渡辺
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.)
Nomura Research Institute Ltd
Original Assignee
Nomura Research Institute 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 Nomura Research Institute Ltd filed Critical Nomura Research Institute Ltd
Priority to JP2005376920A priority Critical patent/JP2007179300A/ja
Publication of JP2007179300A publication Critical patent/JP2007179300A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

【課題】複数のサーバが分散処理を行う分散システムにおいて、他サーバに接続されたデータベースの更新内容をリアルタイムに取得する。
【解決手段】複数のサーバが分散処理を行う分散システムであって、サーバ各々は、当該サーバに接続された自データベースと、他サーバに接続された他データベースと、を結合したビューの定義情報が記憶された記憶手段と、データベースへのアクセス要求を受け付けて、データベースの操作を行う操作手段と、を有し、前記アクセス要求がデータの書き込み要求の場合、前記操作手段は、前記自データベースにデータを書き込み、前記アクセス要求がデータの読み出し要求の場合、前記操作手段は、前記記憶手段に記憶されたビューの定義情報に基づいて前記自データベースおよび前記他データベースからデータを読み出す。
【選択図】図1

Description

本発明は、複数のサーバで分散処理を行う分散処理技術に関し、特に、各サーバに接続されたデータベースのデータ操作技術に関する。
複数のサーバを並列に運用して、サーバ間での負荷が均等になるように処理を分散する負荷分散技術がある。例えば、特許文献1には、複数のデータベースシステムに対するアクセスの振り分け条件を可変可能な状態で事前に設定し、データベースシステムへのアクセス要求が発生した際に当該アクセス要求と振り分け条件とに基づいてアクセス先のデータベースシステムを固定的に設定する負荷分散方法が記載されている。
特開2004−246778
複数のサーバを用いて分散処理を行う場合、各サーバに接続されたデータベース間でデータを同期させる必要がある。データの同期をとる方法としては、所定のタイミングで他システムに接続されたデータベースの更新内容を、自システムに接続されたデータベースに反映させ、各データベースが同一のデータを保持する方法がある。
しかしながら、所定のデータベースに対する更新内容を他のデータベースにリアルタイムで反映させることは困難であり、タイムラグが発生してしまう。また、データベースの更新頻度が高い場合、更新内容を反映させる処理の負荷が大きくなり、システム全体の処理性能を低下させるおそれがある。また、各データベースがデータを重複して保持するため、データベースの容量が増大する。
なお、特許文献1などに記載された負荷分散方法のように、データベースへのアクセス要求を所定の条件で振り分ける場合、アクセス要求の振り分け制御機能を負荷分散装置またはサーバに作り込む必要がある。
本発明は上記事情に鑑みてなされたものであり、本発明の目的は、複数のサーバが分散処理を行う分散システムにおいて、他サーバに接続されたデータベースの更新内容を、リアルタイムに取得することにある。また、本発明の目的は、より低コストに、また、より容易に、他サーバに接続されたデータベースの更新内容を取得することにある。
上記課題を解決するために、本発明では、例えば、複数のサーバが分散処理を行う分散システムであって、前記サーバ各々は、当該サーバに接続された自データベースと、他サーバに接続された他データベースと、を結合したビューの定義情報が記憶された記憶手段と、データベースへのアクセス要求を受け付けて、データベースの操作を行う操作手段と、を有し、前記アクセス要求がデータの書き込み要求の場合、前記操作手段は、前記自データベースにデータを書き込み、前記アクセス要求がデータの読み出し要求の場合、前記操作手段は、前記記憶手段に記憶されたビューの定義情報に基づいて前記自データベースおよび前記他データベースからデータを読み出す。
本発明では、複数のサーバが分散処理を行う分散システムにおいて、他サーバに接続されたデータベースの更新内容を、リアルタイムに取得することができる。
以下、本発明の実施の形態について説明する。
図1は、本発明の一実施形態が適用された分散システムの全体構成図である。本実施形態の分散システムは、端末1と、負荷分散装置(load balancer)2と、複数のサーバ3A、3Bと、を有する。本実施形態の分散システムは、各端末1からの要求を処理するために、サーバ1号機3Aおよびサーバ2号機3Bの2つのサーバで分散して処理を行うものとする。そして、各端末1は、インターネットなどのネットワーク9および負荷分散装置2を介して、いずれかのサーバ3A、3Bに接続することができる。
端末1は、ユーザが入力した各種の要求を受け付け、受け付けた要求をネットワーク9を介して負荷分散装置2に送信する。負荷分散装置2は、各端末1からの要求をサーバ1号機3Aまたはサーバ2号機3Bに振り分け、各サーバの負荷を分散させる。
サーバ3A、3Bは、それぞれ、専用のディスクを有する。具体的には、サーバ1号機3Aには1号機用ディスク4Aが、サーバ2号機3Bには2号機用ディスク4Bがマウント(接続)されている。1号機用ディスク4Aは、データベース41Aと、定義情報ファイル45Aとを有する。そして、データベース41Aには、サーバ1号機3Aが行った処理のログ情報(履歴情報)を格納する処理ログテーブル42Aが、実テーブルとして記憶されている。
定義情報ファイル45Aには、1号機用ディスク4Aおよび2号機用ディスク4Bの処理ログテーブル42A、42Bのテーブル定義情報、および、図示しないビュー(view)のビュー定義情報が記憶されている。ビューは、実テーブルから生成される仮想的なテーブルである。本実施形態のビューは、1号機用ディスク4Aおよび2号機用ディスク4Bの処理ログテーブル42A、42Bを結合した仮想テーブルであるものとする。
また、2号機用ディスク4Bは、データベース41Bと、定義情報ファイル45Bとを有する。そして、データベース41Bには、サーバ2号機3Bが行った処理のログ情報を格納する処理ログテーブル42Bが、実テーブルとして記憶されている。定義情報ファイル45Bには、2号機用ディスク4Bおよび1号機用ディスク4Aの処理ログテーブル42B、42Aのテーブル定義情報、および、図示しないビューのビュー定義情報が記憶されている。
なお、本実施形態では、定義情報ファイル45A、45Bは、各ディスク4A、4Bにそれぞれ格納されている。しかしながら、各サーバ3A、3B内の記憶手段(不図示)に、定義情報ファイル45A、45Bを格納することとしてもよい。
また、本実施形態の定義情報ファイルには、前述のテーブル定義情報とビュー定義情報とが含まれる。しかしながら、テーブル定義情報用の定義情報ファイルと、ビュー定義情報用の定義情報ファイルとにファイルを分割して、2つの定義情報ファイルを有することとしてもよい。
そして、各サーバ3A、3Bは、業務処理部31と、DB操作部32と、DB定義部33とを有する。業務処理部31は、端末1が送信した要求を受け付けて、所定の業務処理を行う。そして、業務処理部31は、業務処理を行った後、データベースに対して所定のアクセス要求(操作指示)を生成する。アクセス要求には、データの書き込み要求(write要求)、データの読み出し要求(read要求)などが含まれる。
DB操作部32は、業務処理部31が生成したアクセス要求を受け付けて、データベースにデータを書き込むとともに、データベースからデータを読み出す。DB定義部33は、システム管理者の指示を受け付けて、実テーブル(処理ログテーブル42A、42B)のテーブル定義情報、および、実テーブルを結合したビューのビュー定義情報を定義し、定義情報ファイル45A、45Bにあらかじめ記憶しておくものとする。具体的には、サーバ1号機のDB定義部33は1号機用ディスク4Aの定義情報ファイル45Aに、サーバ2号機のDB定義部33は2号機用ディスク4Bの定義情報ファイル45Bに、各定義情報を記憶する。
上記説明した端末1およびサーバ3A、3Bは、いずれも、例えば図2に示すようなCPU901と、メモリ902と、HDD等の外部記憶装置903と、キーボードやマウスなどの入力装置904と、ディスプレイやプリンタなどの出力装置905と、ネットワークと接続するための通信制御装置906と、を備えた汎用的なコンピュータシステムを用いることができる。このコンピュータシステムにおいて、CPU901がメモリ902上にロードされた所定のプログラムを実行することにより、各装置の各機能が実現される。
例えば、端末1およびサーバ3A、3Bの各機能は、端末1用のプログラムの場合は端末1のCPU901が、そして、サーバ3A、3B用のプログラムの場合はサーバ3A、3BのCPU901が、それぞれ実行することにより実現される。なお、1号機用ディスク4Aはサーバ1号機の外部記憶装置903であって、2号機用ディスク4Bはサーバ2号機の外部記憶装置903である。また、入力装置904および出力装置905については、各装置が必要に応じて備えるものとする。
次に、サーバが、データベースにアクセスする処理について説明する。
図3は、データベースへのアクセス処理を模式的に示した図である。図示する例では、サーバ1号機3AのDB操作部32は、業務処理部31からの書き込み要求(write要求)を受け付けると、サーバ1号機にマウントされた1号機用ディスク4Aの処理ログテーブル42A(自データベース)にアクセスし、所定のデータを書き込む。同様に、サーバ2号機3BのDB操作部32は、業務処理部31からの書き込み要求を受け付けると、サーバ2号機にマウントされた2号機用ディスク4Bの処理ログテーブル42B(自データベース)にアクセスし、所定のデータを書き込む。
また、サーバ1号機3AのDB操作部32は、業務処理部31からビュー43Aに対する読み出し要求(read要求)を受け付けると、定義情報ファイル45Aを参照し、実テーブルである1号機用ディスク4Aの処理ログテーブル42Aおよび2号機用ディスク4Bの処理ログテーブル42Bにアクセスする。そして、DB操作部32は、ビュー43A(すなわち、各処理ログテーブル42A、42Bに格納された全てのデータがマージされた仮想テーブル)の中から、所定のデータを読み出す。
なお、DB操作部32は、ビュー43Aにアクセスする際に、サーバ2号機3Bに接続されている2号機用ディスク4Bの処理ログテーブル42Bに対して、DBリンクなどの機能を用いてリモートアクセスする。
同様に、サーバ2号機3BのDB操作部32は、業務処理部31からビュー43Bに対する読み出し要求を受け付けると、定義情報ファイル45Bを参照し、実テーブルである2号機用ディスク4Bの処理ログテーブル42Bおよび1号機用ディスク4Aの処理ログテーブル42Aにアクセスする。そして、DB操作部32は、ビュー43Bの中から、所定のデータを読み出す。なお、DB操作部32は、ビュー43Bにアクセスする際に、サーバ1号機3Aに接続されている1号機用ディスク4Aの処理ログテーブル42Aに対して、DBリンクなどの機能を用いてリモートアクセスする。
図3で説明したように、データベースからデータを読み出す際に、あらかじめ定義しておいたビューにアクセスすることにより、実テーブル42B、42Aから所望のデータを抽出することができる。すなわち、各サーバは、ビューにアクセスすることにより、当該サーバが更新した自データベースのデータだけでなく、他サーバが更新した他データベースのデータを、読み出すことができる。
また、各サーバは、データを読み出す際にビューにアクセスすることにより、他サーバが行った他データベースに対する更新データを、タイムラグを発生させることなく、リアルタイムに取得することができる。
図4は、サーバのアクセス処理のフローチャートである。なお、各サーバのDB定義部33は、テーブル定義情報およびビュー定義情報を、あらかじめ定義情報ファイル45A、45Bに定義してあるものとする。また、以下に述べるアクセス処理は、サーバ1号機3Aを例として説明する。
まず、業務処理部31は、負荷分散装置2を介して端末1から送信された要求を受け付け、所定の業務処理を行う(S11)。ここでは、負荷分散装置2は、端末1が送信した要求を、サーバ1号機3Aに振り分けるものとする。
そして、業務処理部31は、業務処理の内容に応じて、データベースへのアクセス要求(操作指示)を生成し、生成したアクセス要求をDB操作部32に送出する(S12)。なお、アクセス要求には、実テーブルである処理ログテーブル42Aへの書き込み要求(write要求)と、仮想テーブルであるビュー43Aへの読み出し要求(read要求)とが含まれる。
すなわち、書き込み要求の場合、業務処理部31は、アクセス先であるサーバ1号機3Aに接続された処理ログテーブル42Aと、当該テーブルに書き込むデータと、を含む書き込み要求を生成する。また、読み出し要求の場合、業務処理部31は、アクセス先であるビュー43Aと、所望のデータを読み出すための検索条件と、を含む読み出し要求を生成する。
そして、DB操作部32は、アクセス要求に応じてデータベースを操作する。すなわち、アクセス要求が書き込み要求の場合(S13:YES)、DB操作部32は、書き込み要求で指定されたデータを、実テーブルである処理ログテーブル42Aに書き込む(S14)。
一方、読み出し要求の場合(S13:NO)、DB操作部32は、読み出し要求で設定されたビュー43Aにアクセスする(S15)。すなわち、DB操作部32は、定義情報ファイル45Aに定義されたビュー定義情報を参照し、自処理ログテーブル42A(自データベース)および他処理ログテーブル42B(他データベース)にアクセスする。そして、DB操作部32は、ビュー43Aの中から(すなわち、自処理ログテーブル42Aと他処理ログテーブル42Bに格納された全てのデータの中から)、読み出し要求で指定されたデータを読み出し、読み出したデータを業務処理部31に送出する(S16)。なお、サーバ2号機3Bのデータベースへのアクセス処理も、サーバ1号機3Aと同様である。
以上説明した本実施形態では、各サーバのDB操作部32は、アクセス要求がデータの読み出し要求の場合、あらかじめ定義しておいたビューにアクセスすることにより、実テーブル42B、42Aから所望のデータを抽出することができる。すなわち、各サーバは、ビューにアクセスすることにより、当該サーバが更新した自データベースのデータだけでなく、他サーバが更新した他データベースのデータを、読み出すことができる。
また、本実施形態では、各サーバのDB操作部32は、ビューからデータを読み出す際に、その都度、実テーブル42B、42Aにアクセスする。このため、他サーバが行った他データベースに対する更新データを、リアルタイムに取得することができる。
また、本実施形態では、データベース間でデータの同期をとるために、各データベースが重複するデータを保持する必要がない。そのため、データベースの容量を削減することができる。
また、本実施形態では、各サーバのDB定義部33があらかじめビューを定義しておくことで、ビューにアクセスすると自データベースおよび他データベースにアクセスする。すなわち、新たにプログラムを作り込むことなく、より容易に、また、より低コストに、他データベースに対する更新データを取得することができる。
なお、本発明は上記の実施形態に限定されるものではなく、その要旨の範囲内で数々の変形が可能である。
本発明の一実施形態が適用された分散システムの全体構成図である。 各装置のハードウェア構成例を示す図である。 データベースへのアクセス処理を模式的に示す図である。 データベースへのアクセス処理のフローチャートである。
符号の説明
1:端末、2:負荷分散装置、3A:サーバ1号機、3B:サーバ2号機、31:業務処理部、32:DB操作部32、33:DB定義部、4A:1号機用ディスク、41A:データベース、42A:処理ログテーブル、43A:ビュー、45A:定義情報ファイル、4B:2号機用ディスク、41B:データベース、42B:処理ログテーブル、43B:ビュー、45B:定義情報ファイル

Claims (3)

  1. 複数のサーバが分散処理を行う分散システムであって、
    前記サーバ各々は、
    当該サーバに接続された自データベースと、他サーバに接続された他データベースと、を結合したビューの定義情報が記憶された記憶手段と、
    データベースへのアクセス要求を受け付けて、データベースの操作を行う操作手段と、を有し、
    前記アクセス要求がデータの書き込み要求の場合、前記操作手段は、前記自データベースにデータを書き込み、
    前記アクセス要求がデータの読み出し要求の場合、前記操作手段は、前記記憶手段に記憶されたビューの定義情報に基づいて前記自データベースおよび前記他データベースからデータを読み出すこと
    を特徴とする分散システム。
  2. 複数のサーバが分散処理を行う分散システムにおける、前記サーバの分散処理プログラムであって、
    前記サーバに、
    当該サーバに接続された自データベースと、他サーバに接続された他データベースと、を結合したビューの定義情報が記憶された記憶手段、および、
    データベースへのアクセス要求を受け付けて、データベースの操作を行う操作手段、として機能させ、
    前記アクセス要求がデータの書き込み要求の場合、前記操作手段は、前記自データベースにデータを書き込み、
    前記アクセス要求がデータの読み出し要求の場合、前記操作手段は、前記記憶手段に記憶されたビューの定義情報に基づいて前記自データベースおよび前記他データベースからデータを読み出すこと
    を特徴とする分散処理プログラム。
  3. 複数のサーバが行う分散処理方法であって、
    前記サーバ各々は、
    当該サーバに接続された自データベースと、他サーバに接続された他データベースと、を結合したビューの定義情報を定義し、記憶部に記憶する定義ステップと、
    データベースへのアクセス要求を受け付ける受付ステップと、
    前記アクセス要求がデータの書き込み要求の場合、前記自データベースにデータを書き込むとともに、前記アクセス要求がデータの読み出し要求の場合、前記記憶部に記憶されたビューの定義情報に基づいて前記自データベースおよび前記他データベースからデータを読み出す操作ステップと、を行うこと
    を特徴とする分散処理方法。
JP2005376920A 2005-12-28 2005-12-28 分散システム、分散処理プログラム、および分散処理方法 Pending JP2007179300A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005376920A JP2007179300A (ja) 2005-12-28 2005-12-28 分散システム、分散処理プログラム、および分散処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005376920A JP2007179300A (ja) 2005-12-28 2005-12-28 分散システム、分散処理プログラム、および分散処理方法

Publications (1)

Publication Number Publication Date
JP2007179300A true JP2007179300A (ja) 2007-07-12

Family

ID=38304422

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005376920A Pending JP2007179300A (ja) 2005-12-28 2005-12-28 分散システム、分散処理プログラム、および分散処理方法

Country Status (1)

Country Link
JP (1) JP2007179300A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009122966A (ja) * 2007-11-15 2009-06-04 Nomura Research Institute Ltd データベース振分装置、データベース振分方法、プログラム、および記録媒体

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05127972A (ja) * 1991-11-06 1993-05-25 Fujitsu Ltd 複数データベース参照方式
JP2000082005A (ja) * 1998-09-07 2000-03-21 Hitachi Ltd システム間データベース共用システムのデータ処理方式
JP2002244906A (ja) * 2001-02-13 2002-08-30 Information & Mathematical Science Laboratory Inc ネットワークシステム及びその情報共有方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05127972A (ja) * 1991-11-06 1993-05-25 Fujitsu Ltd 複数データベース参照方式
JP2000082005A (ja) * 1998-09-07 2000-03-21 Hitachi Ltd システム間データベース共用システムのデータ処理方式
JP2002244906A (ja) * 2001-02-13 2002-08-30 Information & Mathematical Science Laboratory Inc ネットワークシステム及びその情報共有方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009122966A (ja) * 2007-11-15 2009-06-04 Nomura Research Institute Ltd データベース振分装置、データベース振分方法、プログラム、および記録媒体

Similar Documents

Publication Publication Date Title
US11349940B2 (en) Server side data cache system
US10545842B2 (en) Automated local database connection affinity and failover
JP5733680B2 (ja) コマンド実行装置、コマンド実行システム、コマンド実行方法およびコマンド実行プログラム
US20090248847A1 (en) Storage system and volume managing method for storage system
CN111414389A (zh) 一种数据处理方法、装置、电子设备及存储介质
US20160179919A1 (en) Asynchronous data replication using an external buffer table
US11461274B2 (en) Processing streams on external data sources
JP2008217209A (ja) 差分スナップショット管理方法、計算機システム及びnas計算機
US11055262B1 (en) Extensible streams on data sources
US20020092012A1 (en) Smart-caching system and method
JP2006172067A (ja) データベース管理方法、システム及びプログラム
US20200387412A1 (en) Method To Manage Database
JP2007179300A (ja) 分散システム、分散処理プログラム、および分散処理方法
CN109240995B (zh) 一种操作字时延的统计方法和装置
US20220129473A1 (en) Database Management Service Provision System
JPH08235127A (ja) 自動負荷分散方法および装置
JP5031538B2 (ja) データ分配方法、データ分配プログラム、及び並列データベースシステム
JP2005173823A (ja) Webアプリケーション及びそのデータ共有方法、並びにプログラム
JP6700557B2 (ja) サーバ、制御方法、プログラム
JP4492569B2 (ja) ファイル操作制御装置、ファイル操作制御システム、ファイル操作制御方法及びファイル操作制御プログラム
JP5427866B2 (ja) マルチテナント情報処理方法、装置及びプログラム
US11269736B2 (en) Method to manage database failure
JP4595892B2 (ja) データベース管理システム構築方法、装置、プログラム及び記録媒体
JP5434716B2 (ja) サーバ・クライアント・システムおよびプログラム
CN121501782A (zh) 混合数据库中的智能查询路由

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081007

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110616

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110712

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110905

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20111122