JP2013037384A - Data distribution system, management server, client device, management server program, and client device program - Google Patents

Data distribution system, management server, client device, management server program, and client device program Download PDF

Info

Publication number
JP2013037384A
JP2013037384A JP2011170137A JP2011170137A JP2013037384A JP 2013037384 A JP2013037384 A JP 2013037384A JP 2011170137 A JP2011170137 A JP 2011170137A JP 2011170137 A JP2011170137 A JP 2011170137A JP 2013037384 A JP2013037384 A JP 2013037384A
Authority
JP
Japan
Prior art keywords
data
data server
server
operating state
information
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
JP2011170137A
Other languages
Japanese (ja)
Other versions
JP5483473B2 (en
Inventor
Hiroshi Sato
浩史 佐藤
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2011170137A priority Critical patent/JP5483473B2/en
Publication of JP2013037384A publication Critical patent/JP2013037384A/en
Application granted granted Critical
Publication of JP5483473B2 publication Critical patent/JP5483473B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Abstract

PROBLEM TO BE SOLVED: To decrease a frequency of monitoring of data servers by a management server for reducing a load of the management server, but properly perform data writing of a client without increasing failure.SOLUTION: A data distribution system comprises: a plurality of database units 11, 12 and 13; a management server 2 which monitors operation states of respective database units, creates information about the operation states of the respective database units, and discloses the information in a browsable manner; and a client 3 which selects the writable database unit 13 on the basis of the information about the operation states of the respective database units, and when data cannot be written in the selected database unit 13 in spite of the information about the operation states of the respective database units in a step S13, causes the management server 2 to update the operation state of the selected database unit 13 from a writable state to a non-writable state in a step S14.

Description

本発明は、データ分散システムでのデータの書き込み及び稼動状態の監視に関する。   The present invention relates to data writing and operation status monitoring in a data distribution system.

ICT(Information and Communication Technology)技術の発達に伴い、流通するデータの量が爆発的に増加している。これらを処理するために、分散ストレージや分散処理システムが使われている。   With the development of ICT (Information and Communication Technology) technology, the amount of data distributed has increased explosively. Distributed storage and distributed processing systems are used to process these.

分散処理システムでは、複数配置された同様の働きをするサーバそれぞれが分担して処理を実行するため、サーバの台数を増やすことでシステムの規模を拡張することができる。すなわち、分散処理システムは、スケールアウトするシステムとなる。   In the distributed processing system, each of a plurality of servers having the same function is assigned to execute processing, so that the scale of the system can be expanded by increasing the number of servers. In other words, the distributed processing system becomes a scale-out system.

クライアントからのデータの書き込みを分散させる場合は、複数のデータサーバが分担してデータの書き込みを受け付けることになる。その分担の方法は様々であるが、データのID(IDentification)のハッシュ値によって割り振る方法(非特許文献1)や、ランダムに選択する方法(非特許文献2)などがある。   When data writing from clients is distributed, a plurality of data servers share and accept data writing. There are various methods of sharing, but there are a method (Non-Patent Document 1) that allocates data based on a hash value of data ID (IDentification), a method that randomly selects (Non-Patent Document 2), and the like.

いずれの方法でも、データサーバの故障が発生することを前提としたメカニズムを採用することが多く、そのために管理サーバがデータサーバの死活監視を行う。その上で、現在稼動しているものの中から、非特許文献1や非特許文献2に例示したルールによって書き込み先のデータサーバを選ぶことになる。   In any of the methods, a mechanism based on the assumption that a data server failure occurs is often adopted, and for this purpose, the management server performs alive monitoring of the data server. In addition, the data server to be written to is selected from the currently operating ones according to the rules exemplified in Non-Patent Document 1 and Non-Patent Document 2.

ここで、クライアントが管理サーバにデータを渡して書き込みを代替させた場合、管理サーバはクライアントからのアクセスに加えてデータの入出力も担うことになり、管理サーバの負荷が極端に高くなってしまい、システムがスケールアウトしなくなる。   If the client passes data to the management server and substitutes for writing, the management server will be responsible for data input and output in addition to access from the client, resulting in an extremely high load on the management server. The system will not scale out.

そこで、クライアントが管理サーバからデータサーバの稼動状態の情報を取得し、クライアントが直接データサーバに書き込む場合、管理サーバはデータの入出力を担わず、管理サーバの負荷が低くなり、システムがスケールアウトする(非特許文献2)。   Therefore, when the client acquires data server operating status information from the management server and the client writes directly to the data server, the management server is not responsible for data input / output, reducing the load on the management server and scaling out the system. (Non-Patent Document 2).

首藤一幸、「スケールアウトの技術」、情報処理、Vol.50、No.11、2009年11月Kazuyuki Shudo, “Scale-Out Technology”, Information Processing, Vol. 50, no. 11, November 2009 佐藤浩史、井上武、山崎敬広、片山陽平、清水敬司、小柳恵一、「センサデータのための分散サンプリングストレージとそのサンプルサイズ制御手法」、FIT2010、D−022、pp.141−142、2010年Hiroshi Sato, Takeshi Inoue, Takahiro Yamazaki, Yohei Katayama, Keiji Shimizu, Keiichi Koyanagi, “Distributed sampling storage for sensor data and its sample size control method”, FIT2010, D-022, pp. 228 141-142, 2010

ここで、管理サーバが自己の内部で管理するデータサーバの稼動状態の情報(内部用リスト)は、稼動状態が変化するたびに更新される。しかし、管理サーバがクライアントに公開するデータサーバの稼動状態の情報(公開用リスト)は、稼動状態が変化するたびに更新されるのではなく、有効期限が経過するたびに内部用リストに基づいて更新される。よって、内部用リスト及び公開用リストは、常には一致しない。   Here, the operation status information (internal list) of the data server managed by the management server within itself is updated every time the operation status changes. However, the information on the operational status of the data server (public list) that the management server discloses to the client is not updated every time the operational status changes, but based on the internal list every time the expiration date has passed. Updated. Therefore, the internal list and the public list do not always match.

公開用リストの有効期限が経過するまでの間に、データサーバの稼動状態が変化することがある。従って、活きているとされているデータサーバが書き込み時には死んでいる可能性があり、その場合クライアントは書き込みに失敗してしまう。この可能性を低く抑えるために死活監視の頻度を上げると、やはり管理サーバの負荷が高くなってしまう。   The operating state of the data server may change before the expiration date of the public list expires. Therefore, there is a possibility that the data server that is supposed to be alive is dead at the time of writing, in which case the client fails to write. If the frequency of alive monitoring is increased in order to keep this possibility low, the load on the management server will also increase.

データサーバの選択方法によっては、書き込みに失敗した際に改めて別個のデータサーバを選択し直すことも考えられる。しかし、例えばデータサーバのランダムな選択を求められており、全ての活きているデータサーバに対して確率均等に選択することが重要である場合は、そのような選び直しをすることで偏りが生じ均等性が失われてしまうため、選び直しは望ましくない。また、データサーバの選択が一意に決まる場合、例えばデータサーバが冗長化されていない環境でデータのIDのハッシュ値によって割り振る場合などは、そもそも選び直すこと自体が原理的に不可能である。   Depending on the data server selection method, it may be possible to reselect a separate data server when writing fails. However, for example, when random selection of data servers is required, and it is important to select all live data servers with equal probability, this re-selection causes a bias. Re-selection is not desirable because uniformity is lost. In addition, when the selection of the data server is uniquely determined, for example, when the data server is allocated based on the hash value of the data ID in an environment where the data server is not made redundant, it is impossible in principle to select again.

管理サーバを分散させてスケールアウトさせることも可能であるが、コストの問題から、集中させるか分散させるとしても少ない台数に抑えることが好ましい。いずれにせよ、管理サーバの負荷を小さく抑える技術が重要である。   Although it is possible to distribute the management servers and scale them out, it is preferable to reduce the number of servers even if they are concentrated or distributed due to cost problems. In any case, a technique for reducing the load on the management server is important.

そこで、前記課題を解決するために、本発明は、管理サーバの負荷低減のため、管理サーバによるデータサーバの監視の頻度を下げても、クライアントの書き込み失敗を増やすことなく、別個のデータサーバの選び直しをなくすことを目的とする。   Therefore, in order to solve the above-described problem, the present invention reduces the load on the management server by reducing the frequency of monitoring the data server by the management server without increasing the number of client write failures. The purpose is to eliminate re-selection.

上記目的を達成するために、クライアント装置は、各データサーバの稼動状態の情報に反して、選択したデータサーバにデータを書き込めないとき、管理サーバに、選択したデータサーバの稼動状態を、書き込み可能から書き込み不能へと更新させることとした。   In order to achieve the above object, the client device can write the operating status of the selected data server to the management server when data cannot be written to the selected data server, contrary to the operating status information of each data server. It was decided to update it from being able to write.

具体的には、本発明は、複数のデータサーバと、各データサーバの稼動状態を監視し、前記各データサーバの稼動状態の情報を作成し閲覧可能に公開する管理サーバと、前記各データサーバの稼動状態の情報を前記管理サーバから取得し、前記各データサーバの稼動状態の情報に基づいて、書き込み可能であるデータサーバを選択し、前記各データサーバの稼動状態の情報に反して、前記選択したデータサーバにデータを書き込めないとき、前記選択したデータサーバの稼動状態を書き込み可能から書き込み不能へと前記管理サーバに更新させるクライアント装置と、を備えることを特徴とするデータ分散システムである。   Specifically, the present invention provides a plurality of data servers, a management server that monitors the operating status of each data server, creates information on the operating status of each data server, and makes it available for viewing, and each data server The information on the operating state of the data server is acquired from the management server, based on the information on the operating state of each data server, a writable data server is selected, and contrary to the information on the operating state of each data server, A data distribution system comprising: a client device that causes the management server to update the operation state of the selected data server from writable to non-writable when data cannot be written to the selected data server.

また、本発明は、複数のデータサーバの稼動状態を監視する稼動状態監視部と、各データサーバの稼動状態の情報を作成し閲覧可能に公開する稼動状態作成部と、クライアント装置が、前記各データサーバの稼動状態の情報を取得し、前記各データサーバの稼動状態の情報に基づいて、書き込み可能であるデータサーバを選択し、前記各データサーバの稼動状態の情報に反して、前記選択したデータサーバにデータを書き込めないときにおいて、その旨の通知に基づいて、前記クライアント装置が選択したデータサーバの稼動状態を書き込み可能から書き込み不能へと更新する稼動状態更新部と、を備えることを特徴とする管理サーバである。   Further, the present invention provides an operation state monitoring unit that monitors the operation states of a plurality of data servers, an operation state creation unit that creates and displays information on the operation states of each data server, and a client device. Obtain data server operating state information, select a data server that is writable based on the operating state information of each data server, and select the selected data server against the operating state information of each data server. An operation state update unit that updates the operation state of the data server selected by the client device from writable to non-writable based on a notification to that effect when data cannot be written to the data server. Management server.

また、本発明は、複数のデータサーバの稼動状態を監視する管理サーバから、各データサーバの稼動状態の情報を取得する稼動状態取得部と、前記各データサーバの稼動状態の情報に基づいて、書き込み可能であるデータサーバを選択するデータサーバ選択部と、前記各データサーバの稼動状態の情報に反して、前記データサーバ選択部が選択したデータサーバにデータを書き込めないとき、前記データサーバ選択部が選択したデータサーバの稼動状態を書き込み可能から書き込み不能へと前記管理サーバに更新させる書込不可通知部と、を備えることを特徴とするクライアント装置である。   Further, the present invention is based on an operating state acquisition unit that acquires information on the operating state of each data server from a management server that monitors the operating states of a plurality of data servers, and information on the operating state of each data server, A data server selection unit for selecting a writable data server, and the data server selection unit when data cannot be written to the data server selected by the data server selection unit, contrary to information on the operating state of each data server. And a non-writable notification unit that causes the management server to update the operating state of the data server selected by the management server from writable to non-writable.

また、本発明は、複数のデータサーバの稼動状態を監視する稼動状態監視手順と、各データサーバの稼動状態の情報を作成し閲覧可能に公開する稼動状態作成手順と、クライアント装置が、前記各データサーバの稼動状態の情報を取得し、前記各データサーバの稼動状態の情報に基づいて、書き込み可能であるデータサーバを選択し、前記各データサーバの稼動状態の情報に反して、前記選択したデータサーバにデータを書き込めないときにおいて、その旨の通知に基づいて、前記クライアント装置が選択したデータサーバの稼動状態を書き込み可能から書き込み不能へと更新する稼動状態更新手順と、をコンピュータに順に実行させるための管理サーバプログラムである。   Further, the present invention provides an operation state monitoring procedure for monitoring the operation states of a plurality of data servers, an operation state creation procedure for creating information on the operation states of the respective data servers and making them publicly viewable, and a client device. Obtain data server operating state information, select a data server that is writable based on the operating state information of each data server, and select the selected data server against the operating state information of each data server. When data cannot be written to the data server, an operating state update procedure for updating the operating state of the data server selected by the client device from writable to non-writable based on the notification to that effect is sequentially executed on the computer. Is a management server program.

また、本発明は、複数のデータサーバの稼動状態を監視する管理サーバから、各データサーバの稼動状態の情報を取得する稼動状態取得手順と、前記各データサーバの稼動状態の情報に基づいて、書き込み可能であるデータサーバを選択するデータサーバ選択手順と、前記各データサーバの稼動状態の情報に反して、前記データサーバ選択手順が選択したデータサーバにデータを書き込めないとき、前記データサーバ選択手順が選択したデータサーバの稼動状態を書き込み可能から書き込み不能へと前記管理サーバに更新させる書込不可通知手順と、をコンピュータに順に実行させるためのクライアント装置プログラムである。   Further, the present invention is based on an operating state acquisition procedure for acquiring information on the operating state of each data server from the management server that monitors the operating states of a plurality of data servers, and information on the operating state of each data server, A data server selection procedure for selecting a writable data server, and when the data server selection procedure cannot write data to the data server selected by the data server selection procedure, the data server selection procedure. Is a client device program for causing a computer to sequentially execute a write disable notification procedure for causing the management server to update the operation state of the selected data server from write enabled to write disabled.

この構成によれば、管理サーバの負荷低減のため、管理サーバによるデータサーバの監視の頻度を下げても、クライアントが管理サーバと併せてデータサーバの稼動状態を監視するため、クライアントの書き込み失敗を増やさないことができる。さらに、管理サーバによるデータサーバの監視の頻度を下げたまま、データサーバの稼動状態の情報の更新頻度を上げることができるため、クライアントの書き込み失敗を減らすこともできる。   According to this configuration, in order to reduce the load on the management server, even if the frequency of monitoring of the data server by the management server is reduced, the client monitors the operating status of the data server together with the management server. Can not increase. Furthermore, since the frequency of updating the information on the operating state of the data server can be increased while reducing the frequency of monitoring of the data server by the management server, it is possible to reduce client write failures.

上記目的を達成するために、代理サーバは、選択されたデータサーバに代わりデータの書き込みを受け付け、管理サーバは、選択されたデータサーバの稼動回復を確認したとき、代理サーバに対して選択されたデータサーバにデータを書き戻させることとした。   In order to achieve the above object, the proxy server accepts data writing on behalf of the selected data server, and the management server is selected for the proxy server when confirming the operational recovery of the selected data server. The data server was made to write back data.

具体的には、本発明は、複数のデータサーバと、各データサーバの稼動状態を監視し、前記各データサーバの稼動状態の情報を作成し閲覧可能に公開する管理サーバと、前記各データサーバの稼動状態の情報を前記管理サーバから取得し、前記各データサーバの稼動状態の情報に基づいて、書き込み可能であるデータサーバを選択し、前記選択したデータサーバにデータを書き込むクライアント装置と、前記クライアント装置が、前記各データサーバの稼動状態の情報に反して、前記選択したデータサーバに前記データを書き込めないとき、前記クライアント装置が選択したデータサーバに代わり前記データの書き込みを受け付け、前記クライアント装置が選択したデータサーバが、書き込み可能に復旧したとき、前記クライアント装置が選択したデータサーバに前記データを書き戻す代理サーバと、を備えることを特徴とするデータ分散システムである。   Specifically, the present invention provides a plurality of data servers, a management server that monitors the operating status of each data server, creates information on the operating status of each data server, and makes it available for viewing, and each data server A client device that obtains information on the operating state of the data server from the management server, selects a writable data server based on the information on the operating state of each data server, and writes data to the selected data server; When the client device cannot write the data to the selected data server against the information on the operating state of each data server, the client device accepts the writing of the data instead of the selected data server, and the client device When the data server selected by is restored to the writable state, the client device selects A proxy server to the data server writes back the data, a data distribution system comprising: a.

また、本発明は、複数のデータサーバの稼動状態を監視する稼動状態監視部と、各データサーバの稼動状態の情報を作成し閲覧可能に公開する稼動状態作成部と、クライアント装置が、前記各データサーバの稼動状態の情報を取得し、前記各データサーバの稼動状態の情報に基づいて、書き込み可能であるデータサーバを選択し、前記各データサーバの稼動状態の情報に反して、前記選択したデータサーバにデータを書き込めないときにおいて、前記クライアント装置が選択したデータサーバの稼動回復を確認したとき、前記クライアント装置が選択したデータサーバに代わり前記データの書き込みを受け付ける代理サーバに対して、前記クライアント装置が選択したデータサーバの稼動回復を通知し、前記クライアント装置が選択したデータサーバに前記データを書き戻させる稼動回復通知部と、を備えることを特徴とする管理サーバである。   Further, the present invention provides an operation state monitoring unit that monitors the operation states of a plurality of data servers, an operation state creation unit that creates and displays information on the operation states of each data server, and a client device. Obtain data server operating state information, select a data server that is writable based on the operating state information of each data server, and select the selected data server against the operating state information of each data server. When it is not possible to write data to the data server, when confirming the recovery of the operation of the data server selected by the client device, the client device sends the data to the proxy server that accepts writing of the data instead of the data server selected by the client device. The device notifies the data server selected for recovery, and the client device selects the data selected. A management server, characterized in that it comprises a working recovery notification unit for writing back the data to the server.

また、本発明は、複数のデータサーバの稼動状態を監視する管理サーバから、各データサーバの稼動状態の情報を取得する稼動状態取得部と、前記各データサーバの稼動状態の情報に基づいて、書き込み可能であるデータサーバを選択するデータサーバ選択部と、前記各データサーバの稼動状態の情報に反して、前記データサーバ選択部が選択したデータサーバにデータを書き込めないとき、前記データサーバ選択部が選択したデータサーバに代わり前記データの書き込みを受け付ける代理サーバに前記データを書き込むデータ書込部と、を備えることを特徴とするクライアント装置である。   Further, the present invention is based on an operating state acquisition unit that acquires information on the operating state of each data server from a management server that monitors the operating states of a plurality of data servers, and information on the operating state of each data server, A data server selection unit for selecting a writable data server, and the data server selection unit when data cannot be written to the data server selected by the data server selection unit, contrary to information on the operating state of each data server. And a data writing unit that writes the data to a proxy server that accepts the writing of the data instead of the data server selected by the client device.

また、本発明は、複数のデータサーバの稼動状態を監視する稼動状態監視手順と、各データサーバの稼動状態の情報を作成し閲覧可能に公開する稼動状態作成手順と、クライアント装置が、前記各データサーバの稼動状態の情報を取得し、前記各データサーバの稼動状態の情報に基づいて、書き込み可能であるデータサーバを選択し、前記各データサーバの稼動状態の情報に反して、前記選択したデータサーバにデータを書き込めないときにおいて、前記クライアント装置が選択したデータサーバの稼動回復を確認したとき、前記クライアント装置が選択したデータサーバに代わり前記データの書き込みを受け付ける代理サーバに対して、前記クライアント装置が選択したデータサーバの稼動回復を通知し、前記クライアント装置が選択したデータサーバに前記データを書き戻させる稼動回復通知手順と、をコンピュータに順に実行させるための管理サーバプログラムである。   Further, the present invention provides an operation state monitoring procedure for monitoring the operation states of a plurality of data servers, an operation state creation procedure for creating information on the operation states of the respective data servers and making them publicly viewable, and a client device. Obtain data server operating state information, select a data server that is writable based on the operating state information of each data server, and select the selected data server against the operating state information of each data server. When it is not possible to write data to the data server, when confirming the recovery of the operation of the data server selected by the client device, the client device sends the data to the proxy server that accepts writing of the data instead of the data server selected by the client device. Notification of recovery of operation of the data server selected by the device, and the client device selected Running a recovery notification procedure the data to write back to Tasaba, to the computer is a management server program to be executed sequentially.

また、本発明は、複数のデータサーバの稼動状態を監視する管理サーバから、各データサーバの稼動状態の情報を取得する稼動状態取得手順と、前記各データサーバの稼動状態の情報に基づいて、書き込み可能であるデータサーバを選択するデータサーバ選択手順と、前記各データサーバの稼動状態の情報に反して、前記データサーバ選択手順が選択したデータサーバにデータを書き込めないとき、前記データサーバ選択手順が選択したデータサーバに代わり前記データの書き込みを受け付ける代理サーバに前記データを書き込むデータ書込手順と、をコンピュータに順に実行させるためのクライアント装置プログラムである。   Further, the present invention is based on an operating state acquisition procedure for acquiring information on the operating state of each data server from the management server that monitors the operating states of a plurality of data servers, and information on the operating state of each data server, A data server selection procedure for selecting a writable data server, and when the data server selection procedure cannot write data to the data server selected by the data server selection procedure, the data server selection procedure. Is a client device program for causing a computer to sequentially execute a data writing procedure for writing the data to a proxy server that receives the writing of the data instead of the data server selected.

この構成によれば、管理サーバの負荷低減のため、管理サーバによるデータサーバの監視の頻度を下げても、データを代理のサーバに退避させた後にデータを本来のサーバに書き戻すため、別個のデータサーバの選び直しをなくすことができる。   According to this configuration, in order to reduce the load on the management server, even if the frequency of monitoring the data server by the management server is lowered, the data is written back to the original server after the data is saved to the proxy server. Reselection of data server can be eliminated.

本発明は、管理サーバの負荷低減のため、管理サーバによるデータサーバの監視の頻度を下げても、クライアントの書き込み失敗を増やすことなく、別個のデータサーバの選び直しをなくすことができる。   According to the present invention, in order to reduce the load on the management server, even if the frequency of monitoring of the data server by the management server is reduced, it is possible to eliminate reselection of a separate data server without increasing client write failures.

データ分散システムの構成を示すブロック図である。It is a block diagram which shows the structure of a data distribution system. データ分散システムにおけるデータの書き込みの処理を示すブロック図である。It is a block diagram which shows the process of writing data in a data distribution system. データ分散システムにおける稼動状態の監視の処理を示すシーケンスである。It is a sequence which shows the process of the monitoring of the operating state in a data distribution system. クライアントの処理を示すフローチャートである。It is a flowchart which shows a process of a client. データ分散システムにおけるデータの書き戻しの処理を示すブロック図である。It is a block diagram which shows the process of data write-back in a data distribution system. データ分散システムにおけるデータの書き戻しの処理を示すシーケンスである。It is a sequence which shows the process of data write-back in a data distribution system. 代理サーバの第1のデータ構造を示す図である。It is a figure which shows the 1st data structure of a proxy server. 代理サーバの第2のデータ構造を示す図である。It is a figure which shows the 2nd data structure of a proxy server.

添付の図面を参照して本発明の実施形態を説明する。以下に説明する実施形態は本発明の実施の例であり、本発明は以下の実施形態に制限されるものではない。なお、本明細書及び図面において符号が同じ構成要素は、相互に同一のものを示すものとする。   Embodiments of the present invention will be described with reference to the accompanying drawings. The embodiments described below are examples of the present invention, and the present invention is not limited to the following embodiments. In the present specification and drawings, the same reference numerals denote the same components.

(データ分散システムの構成の概要)
データ分散システムの構成を示すブロック図を図1に示す。データ分散システムは、分散データベース1、管理サーバ2、クライアント3及び代理サーバ4から構成される。分散データベース1は、複数のデータベース部11、12、13を備える。
(Outline of data distribution system configuration)
A block diagram showing the configuration of the data distribution system is shown in FIG. The data distribution system includes a distributed database 1, a management server 2, a client 3, and a proxy server 4. The distributed database 1 includes a plurality of database units 11, 12, and 13.

管理サーバ2は、死活監視部21、稼動状態管理部22、稼動状態リスト公開部23、報告受付部24及びデータベース制御部25から構成される。   The management server 2 includes an alive monitoring unit 21, an operation state management unit 22, an operation state list disclosure unit 23, a report reception unit 24, and a database control unit 25.

死活監視部21は、稼動状態監視部として、複数のデータベース部11、12、13の稼動状態を監視する。稼動状態作成部として、稼動状態管理部22は、各データベース部11、12、13の稼動状態の情報を作成し、稼動状態リスト公開部23は、各データベース部11、12、13の稼動状態の情報を閲覧可能に公開する。   The life and death monitoring unit 21 monitors the operating states of the plurality of database units 11, 12, and 13 as an operating state monitoring unit. As the operation state creation unit, the operation state management unit 22 creates information on the operation states of the database units 11, 12, and 13, and the operation state list disclosure unit 23 displays the operation state information of the database units 11, 12, and 13. Make information available for viewing.

報告受付部24は、クライアント3が、各データベース部11、12、13の稼動状態の情報を取得し、各データベース部11、12、13の稼動状態の情報に基づいて、書き込み可能であるいずれかのデータベース部を選択し、各データベース部11、12、13の稼動状態の情報に反して、選択したいずれかのデータベース部にデータを書き込めないときにおいて、その旨の通知を受ける。稼動状態管理部22は、稼動状態更新部として、その旨の通知に基づいて、クライアント3が選択したいずれかのデータベース部の稼動状態を書き込み可能から書き込み不能へと更新する。   The report accepting unit 24 is one of the clients 3 that can acquire information on the operating state of each of the database units 11, 12, and 13 and write based on the operating state information of each of the database units 11, 12, and 13. When the database unit is selected and data cannot be written to any of the selected database units, contrary to the information on the operating state of each of the database units 11, 12, and 13, a notification to that effect is received. As the operation state update unit, the operation state management unit 22 updates the operation state of any database unit selected by the client 3 from writable to non-writable based on the notification to that effect.

データベース制御部25は、稼動回復通知部として、クライアント3が選択したいずれかのデータベース部の稼動回復を確認したとき、クライアント3が選択したいずれかのデータベース部に代わりデータの書き込みを受け付ける代理サーバ4に対して、クライアント3が選択したいずれかのデータベース部の稼動回復を通知し、クライアント3が選択したいずれかのデータベース部にデータを書き戻させる。   When the database control unit 25 confirms the operation recovery of any database unit selected by the client 3 as the operation recovery notification unit, the proxy server 4 accepts data writing instead of any database unit selected by the client 3. In response to this, the recovery of the operation of any database unit selected by the client 3 is notified, and the data is written back to any database unit selected by the client 3.

クライアント3は、管理サーバ対応部31、稼動状態リスト管理部32、サーバ選択部33及びデータ入出力部34から構成される。   The client 3 includes a management server corresponding unit 31, an operation state list management unit 32, a server selection unit 33, and a data input / output unit 34.

管理サーバ対応部31は、稼動状態取得部として、複数のデータベース部11、12、13の稼動状態を監視する管理サーバ2から、各データベース部11、12、13の稼動状態の情報を取得する。稼動状態リスト管理部32は、各データベース部11、12、13の稼動状態の情報を保持する。サーバ選択部33は、データサーバ選択部として、各データベース部11、12、13の稼動状態の情報に基づいて、書き込み可能であるいずれかのデータベース部を選択する。データ入出力部34は、データ書込部として、書き込み可能であるいずれかのデータベース部にデータを書き込む。   The management server corresponding unit 31 acquires information on the operating states of the database units 11, 12, and 13 from the management server 2 that monitors the operating states of the plurality of database units 11, 12, and 13 as an operating state acquisition unit. The operating state list management unit 32 holds information on the operating states of the database units 11, 12, and 13. The server selection unit 33 selects, as a data server selection unit, one of the database units that can be written on the basis of the operating state information of each of the database units 11, 12, and 13. The data input / output unit 34 writes data to any writable database unit as a data writing unit.

管理サーバ対応部31は、書込不可通知部として、各データベース部11、12、13の稼動状態の情報に反して、サーバ選択部33が選択したいずれかのデータベース部にデータを書き込めないとき、サーバ選択部33が選択したいずれかのデータベース部の稼動状態を書き込み可能から書き込み不能へと管理サーバ2に更新させる。   When the management server corresponding unit 31 cannot write data to any of the database units selected by the server selection unit 33 against the information on the operating state of each of the database units 11, 12, and 13, as a non-writable notification unit, The management server 2 is made to update the operation state of any database unit selected by the server selection unit 33 from writable to non-writable.

データ入出力部34は、データ書込部として、サーバ選択部33が選択したデータベース部に代わりデータの書き込みを受け付ける代理サーバ4にデータを書き込む。   The data input / output unit 34 writes data to the proxy server 4 that accepts data writing instead of the database unit selected by the server selection unit 33 as a data writing unit.

代理サーバ4は、クライアント3が選択したいずれかのデータベース部に代わりデータの書き込みを受け付け、データ入出力部41、データベース部42、管理サーバ対応部43及びテーブル管理部44から構成される。   The proxy server 4 accepts data writing in place of any of the database units selected by the client 3, and includes a data input / output unit 41, a database unit 42, a management server corresponding unit 43, and a table management unit 44.

データ入出力部41は、クライアント3が選択したいずれかのデータベース部が書き込み不能となったとき、クライアント3からデータを入力し、クライアント3が選択したいずれかのデータベース部が書き込み可能となったとき、そのデータベース部にデータを出力する。データベース部42は、クライアント3からのデータを格納する。   The data input / output unit 41 inputs data from the client 3 when any of the database units selected by the client 3 becomes unwritable, and when any of the database units selected by the client 3 becomes writable The data is output to the database part. The database unit 42 stores data from the client 3.

管理サーバ対応部43は、クライアント3が選択したいずれかのデータベース部が書き込み可能となったとき、管理サーバ2のデータベース制御部25からその旨の通知を受ける。管理サーバ対応部43は、クライアント3が選択したいずれかのデータベース部に書き戻しが終了したとき、管理サーバ2の報告受付部24にその旨を通知する。テーブル管理部44は、クライアント3が選択したデータベース部がいずれであるかに応じて、クライアント3が出力したデータをデータベース部42の適切な領域において管理する。   When one of the database units selected by the client 3 becomes writable, the management server corresponding unit 43 receives a notification from the database control unit 25 of the management server 2. The management server corresponding unit 43 notifies the report receiving unit 24 of the management server 2 to that effect when writing back to any database unit selected by the client 3 is completed. The table management unit 44 manages the data output by the client 3 in an appropriate area of the database unit 42 depending on which database unit the client 3 has selected.

図1に説明した各装置は、コンピュータとプログラムによっても実現でき、プログラムを記録媒体に記録することも、ネットワークを通して提供することも可能である。   Each apparatus described in FIG. 1 can be realized by a computer and a program, and the program can be recorded on a recording medium or provided through a network.

発明が解決しようとする課題において記載したように、公開用リストの有効期限が経過するまでの間に、データサーバの稼動状態が変化する場合には、活きているとされているデータベース部が書き込み時には死んでいる可能性がある。   As described in the problem to be solved by the invention, if the operating state of the data server changes before the expiration date of the public list elapses, the database section that is said to be active writes Sometimes dead.

しかし、図1のように、クライアント3は、各データベース部11、12、13の稼動状態の情報に反して、選択したいずれかのデータベース部にデータを書き込めないとき、管理サーバ2に、選択したいずれかのデータベース部の稼動状態を、書き込み可能から書き込み不能へと更新させる。つまり、クライアント3が管理サーバ2と併せてデータベース部11、12、13の稼動状態を監視するため、管理サーバ2の負荷を高くすることなくクライアント3の書き込み失敗を減らすことができる。   However, as shown in FIG. 1, the client 3 selects the management server 2 when data cannot be written to any of the selected database units, contrary to the operational status information of the database units 11, 12, and 13. The operating state of any database unit is updated from writable to non-writable. That is, since the client 3 monitors the operating state of the database units 11, 12, and 13 together with the management server 2, it is possible to reduce the writing failure of the client 3 without increasing the load on the management server 2.

そして、図1のように、代理サーバ4は、選択されたいずれかのデータベース部に代わりデータの書き込みを受け付け、管理サーバ2は、選択されたいずれかのデータベース部の稼動回復を確認したとき、代理サーバ4に対して選択されたいずれかのデータベース部にデータを書き戻させる。つまり、データを代理のサーバに退避させた後にデータを本来のサーバに書き戻すため、別個のデータサーバの選び直しをなくすことができる。   Then, as shown in FIG. 1, the proxy server 4 accepts data writing instead of any selected database unit, and the management server 2 confirms the operational recovery of any selected database unit. Data is written back to one of the database units selected for the proxy server 4. That is, since the data is written back to the original server after the data is saved in the proxy server, it is possible to eliminate the need to select a separate data server.

(データの書き込みに成功する場合の処理)
次に、データの書き込みに成功する場合の処理について説明する。データ分散システムにおけるデータの書き込みの処理を示すブロック図を図2に示す。
(Process when data writing is successful)
Next, processing when data writing is successful will be described. FIG. 2 is a block diagram showing data write processing in the data distribution system.

管理サーバ2は、各データベース部11、12、13にpingを送信し、各データベース部11、12、13の稼動状態を監視する。そして、管理サーバ2は、各データベース部11、12、13の稼動状態の情報を示す公開用リストPを公開する。ここで、公開用リストPのうち{1、2、3}は、DB1、DB2、DB3とマークされたデータベース部11、12、13に書き込み可能であることを示す。クライアント3は、管理サーバ2に公開用リストPを要求し、管理サーバ2から公開用リストPを取得する。そして、クライアント3は、公開用リストPに基づいて、データベース部11、12、13に書き込み可能であることを確認し、データベース部13にデータDを書き込む。   The management server 2 transmits a ping to each database unit 11, 12, 13 and monitors the operating state of each database unit 11, 12, 13. Then, the management server 2 publishes a disclosure list P indicating information on the operating state of each database unit 11, 12, 13. Here, {1, 2, 3} in the public list P indicates that data can be written in the database parts 11, 12, and 13 marked DB1, DB2, and DB3. The client 3 requests the public list P from the management server 2 and acquires the public list P from the management server 2. Then, the client 3 confirms that data can be written in the database units 11, 12, and 13 based on the public list P, and writes the data D in the database unit 13.

データ分散システムにおける稼動状態の監視の処理を示すシーケンスを図3に示す。稼動状態管理部22は、稼動状態リストを2つ保持しており、1つは内部用(internal)リストIで、もう1つは公開用(publish)リストPである。   FIG. 3 shows a sequence showing an operation state monitoring process in the data distribution system. The operating state management unit 22 holds two operating state lists, one is an internal list I and the other is a public list P.

死活監視部21は、定期的にデータベース部11、12、13の稼動状態をチェックする。稼動状態には、「正常」、「準備中」、「異常」の3種類がある。「正常」は、正常に動いており、クライアント3からの書き込みを受け付けられる状態、「準備中」は、正常に動いているが、クライアント3からの書き込みを受け付けられない状態、「異常」は、正常に動いておらず、クライアント3からの書き込みを受け付けられない状態を表す。   The life and death monitoring unit 21 periodically checks the operating state of the database units 11, 12, and 13. There are three types of operating states: “Normal”, “Preparing”, and “Abnormal”. “Normal” is operating normally and writing from the client 3 is accepted, “Preparing” is operating normally but writing from the client 3 is not accepted, and “Abnormal” is It represents a state in which it is not operating normally and writing from the client 3 cannot be accepted.

死活監視部21は、データベース部11、12、13に対してpingを投げる。そして、正しく返ってきた場合、今まで「正常」であったデータベース部は引き続き「正常」と判断し、今まで「異常」であったデータベース部は「準備中」と判断する。しかし、正しく返らなかった場合、今まで「異常」であったデータベース部は引き続き「異常」と判断し、今まで「正常」であったデータベース部は「異常」と判断する。稼動状態管理部22は、内部用リストIを更新する。このチェックを例えば5分おきに行う。   The alive monitoring unit 21 throws a ping to the database units 11, 12, and 13. If it returns correctly, the database section that has been “normal” until now is determined to be “normal”, and the database section that has been “abnormal” is determined to be “in preparation”. However, if it does not return correctly, the database part that has been “abnormal” until now continues to be determined as “abnormal”, and the database part that has been “normal” until now is determined to be “abnormal”. The operating state management unit 22 updates the internal list I. This check is performed every 5 minutes, for example.

また、前述したように、クライアント3がデータベース部の異常を報告してくる場合がある。この場合、報告受付部24がその報告を受け、稼動状態管理部22が内部用リストIの該当する稼動状態を「異常」に更新する。   Further, as described above, the client 3 may report an abnormality in the database unit. In this case, the report reception unit 24 receives the report, and the operation state management unit 22 updates the corresponding operation state of the internal list I to “abnormal”.

また、前述したように、代理サーバ4がデータベース部の復旧を報告してくる場合がある。この場合、報告受付部24がその報告を受け、稼動状態管理部22が内部用リストIの該当する稼動状態を「正常」に更新する。   Further, as described above, the proxy server 4 may report the recovery of the database unit. In this case, the report receiving unit 24 receives the report, and the operation state management unit 22 updates the corresponding operation state of the internal list I to “normal”.

稼動状態管理部22は、例えば5分おきに内部用リストIのうち「正常」状態にあるデータベース部のリストを公開用リストPとして作成する。稼動状態リスト公開部23は、有効期限を例えば5分後までとして公開用リストPを公開する。   The operating state management unit 22 creates a list of database units in the “normal” state in the internal list I as a public list P every five minutes, for example. The operating state list publishing unit 23 publishes the publishing list P with an expiration date of, for example, 5 minutes later.

図3においては、初期状態では、内部用リストIも公開用リストP1も、{1、2、3}を示している。まず、稼動状態管理部22は、データベース部13の異常の報告を受けたとき、内部用リストIを{1、2、3}から{1、2}へと更新し、内部用リストI1を作成する。しかし、稼動状態リスト公開部23は、有効期限が経過していないため、公開用リストP1を更新するわけではない。次に、稼動状態リスト公開部23は、有効期限が経過しているため、内部用リストI1に基づいて、公開用リストP1を{1、2、3}から{1、2}へと更新し、公開用リストP2を公開する。以下、内部用リストI2、I3、I4、I5及び公開用リストP3、P4、P5が、内部用リストI1及び公開用リストP1、P2と同様にして、作成されて公開される。   In FIG. 3, in the initial state, the internal list I and the public list P1 indicate {1, 2, 3}. First, the operating state management unit 22 updates the internal list I from {1, 2, 3} to {1, 2} upon receiving an abnormality report from the database unit 13, and creates the internal list I1. To do. However, the operating state list disclosing unit 23 does not update the disclosing list P1 because the expiration date has not elapsed. Next, since the expiration date has passed, the operating state list publicizing unit 23 updates the public list P1 from {1, 2, 3} to {1, 2} based on the internal list I1. Publish the public list P2. Hereinafter, the internal lists I2, I3, I4, and I5 and the public lists P3, P4, and P5 are created and released in the same manner as the internal list I1 and the public lists P1 and P2.

このように、稼動状態リストは、内部用と公開用で常には一致しない。ここで、管理サーバ2がクライアント3に、内部用リストIではなく公開用リストPを公開する理由を説明する。管理サーバ2は、クライアント3がいずれのデータベース部の集合からデータベース部を選択したかを把握する必要があり、少なくともクライアント3が何台のデータベース部の集合からデータベース部を選択したかを把握する必要がある。管理サーバ2は、データベース部13の集合であるいくつの分散データベース1からデータベース部13が選択されたかに基づいて、後に統計処理を実行するためである。   As described above, the operating state lists are not always the same for internal use and for public use. Here, the reason why the management server 2 publishes not the internal list I but the public list P to the client 3 will be described. The management server 2 needs to know from which set of database parts the client 3 has selected the database part, and at least needs to know from which set of database parts the client 3 has selected the database part There is. This is because the management server 2 performs statistical processing later based on how many distributed databases 1 that are a set of database units 13 are selected.

まず、管理サーバ2がクライアント3に内部用リストIを公開する場合を考える。内部用リストIは、稼動状態が変化するたび更新されるため、同一の時刻において、各クライアント3が保持している稼動状態リストは、それぞれ異なることがある。よって、クライアント3がいずれの時点で更新された内部用リストIに基づいてデータベース部を選択したのかを、管理サーバ2は把握することが負担になる。   First, consider a case where the management server 2 discloses the internal list I to the client 3. Since the internal list I is updated each time the operating state changes, the operating state list held by each client 3 at the same time may be different. Therefore, it becomes a burden for the management server 2 to grasp at which point the database unit is selected based on the internal list I updated by the client 3.

次に、管理サーバ2がクライアント3に公開用リストPを公開する場合を考える。公開用リストPは、有効期限が経過してから更新されるため、同一の時刻において、各クライアント3が保持している稼動状態リストは、それぞれ同一と保証される。よって、クライアント3が有効期限満了で更新された公開用リストPに基づいてデータベース部を選択したことを、管理サーバ2は把握することが容易になる。   Next, consider a case where the management server 2 publishes the public list P to the client 3. Since the public list P is updated after the expiration date, the operating state lists held by the clients 3 are guaranteed to be the same at the same time. Therefore, it becomes easy for the management server 2 to grasp that the client 3 has selected the database unit based on the public list P updated when the expiration date has expired.

そこで、管理サーバ2はクライアント3に、内部用リストIではなく公開用リストPを公開する。しかし、公開用リストの有効期限が経過するまでの間に、データサーバの稼動状態が変化する可能性があり、活きているとされているデータベース部が書き込み時には死んでいる可能性がある。そこで、本発明が適用されるのである。   Therefore, the management server 2 publishes not the internal list I but the public list P to the client 3. However, there is a possibility that the operating state of the data server will change before the expiration date of the public list elapses, and there is a possibility that the database part which is supposed to be alive is dead at the time of writing. Therefore, the present invention is applied.

クライアントの処理を示すフローチャートを図4に示す。クライアント3において、データが発生する(ステップS1)。稼動状態リスト管理部32は、稼動状態リストが有効期限内にあるか、又は稼動状態リストが保持されているかを確認する(ステップS2)。   FIG. 4 is a flowchart showing client processing. Data is generated in the client 3 (step S1). The operating state list management unit 32 checks whether the operating state list is within the expiration date or whether the operating state list is held (step S2).

稼動状態リスト管理部32が、稼動状態リストが有効期限内にあることを確認したとき(ステップS2においてYES)について説明する。サーバ選択部33は、稼動状態リストに基づいて、データベース部を選択する(ステップS5)。データ入出力部34は、そのデータベース部にデータを書き込むことを試みる(ステップS6)。   A case will be described in which the operating state list management unit 32 confirms that the operating state list is within the expiration date (YES in step S2). The server selection unit 33 selects a database unit based on the operating state list (step S5). The data input / output unit 34 attempts to write data in the database unit (step S6).

稼動状態リスト管理部32が、稼動状態リストが有効期限内にないこと、又は稼動状態リストが保持されていないことを確認したとき(ステップS2においてNO)について説明する。管理サーバ対応部31は、管理サーバ2から稼動状態リストを取得する(ステップS3)。稼動状態リスト管理部32は、その稼動状態リストを保持する(ステップS4)。ステップS5、S6については、前述と同様にして実行される。   A case will be described where the operating state list management unit 32 confirms that the operating state list is not within the expiration date or that the operating state list is not held (NO in step S2). The management server corresponding unit 31 acquires an operation state list from the management server 2 (step S3). The operating state list management unit 32 holds the operating state list (step S4). Steps S5 and S6 are executed in the same manner as described above.

データ入出力部34が、データベース部にデータを書き込むことができたとき(ステップS7においてYES)、一連の処理は終了する。データ入出力部34が、データベース部にデータを書き込むことができないとき(ステップS7においてNO)、管理サーバ対応部31は、その旨を管理サーバ2に報告し(ステップS8)、データ入出力部34は、データを代理サーバ4に書き込む(ステップS9)。ステップS8、S9については、データの書き込みに失敗する場合の処理の項目で詳述する。   When data input / output unit 34 has been able to write data to the database unit (YES in step S7), the series of processing ends. When the data input / output unit 34 cannot write data to the database unit (NO in step S7), the management server corresponding unit 31 reports to that effect to the management server 2 (step S8), and the data input / output unit 34 Writes data into the proxy server 4 (step S9). Steps S8 and S9 will be described in detail in the item of processing when data writing fails.

(データの書き込みに失敗する場合の処理)
次に、データの書き込みに失敗する場合の処理について説明する。データ分散システムにおけるデータの書き戻しの処理を示すブロック図を図5に示す。
(Processing when data writing fails)
Next, processing when data writing fails will be described. FIG. 5 is a block diagram showing data write-back processing in the data distribution system.

クライアント3は、公開用リストPに基づいて、データベース部11、12、13に書き込み可能であることを確認し、データベース部13にデータDを書き込もうとする。しかし、クライアント3は、公開用リストPに反して、データベース部13にデータDを書き込めない。そこで、クライアント3は、データベース部13に書き込み不能であることを、管理サーバ2に通知する。さらに、クライアント3は、データベース部13の識別子IDを紐付けたデータDを、代理サーバ4に書き込む。   The client 3 confirms that data can be written in the database units 11, 12, and 13 based on the public list P, and tries to write data D into the database unit 13. However, the client 3 cannot write the data D into the database unit 13 against the public list P. Therefore, the client 3 notifies the management server 2 that writing to the database unit 13 is impossible. Furthermore, the client 3 writes data D associated with the identifier ID of the database unit 13 in the proxy server 4.

管理サーバ2は、内部用リストIを更新する。つまり、内部用リストIのうち、{1、2、3}は{1、2}に更新される。代理サーバ4は、データDを格納する。管理サーバ2は、データベース部13にpingを送信し、データベース部13の稼動状態を監視する。管理サーバ2は、データベース部13に書き込み可能であることを確認したとき、その旨を代理サーバ4に通知する。代理サーバ4は、その旨の通知を受けたとき、データDをデータベース部13に書き戻す。クライアント3は、書き戻しの際に関与していない。   The management server 2 updates the internal list I. That is, in the internal list I, {1, 2, 3} is updated to {1, 2}. The proxy server 4 stores data D. The management server 2 transmits a ping to the database unit 13 and monitors the operating state of the database unit 13. When the management server 2 confirms that the data can be written in the database unit 13, the management server 2 notifies the proxy server 4 to that effect. When the proxy server 4 receives the notification to that effect, the proxy server 4 writes the data D back to the database unit 13. Client 3 is not involved in writing back.

データ分散システムにおけるデータの書き戻しの処理を示すシーケンスを図6に示す。管理サーバ対応部31は、稼動状態リスト公開部23に稼動状態リストを要求する(ステップS11)。稼動状態リスト公開部23は、管理サーバ対応部31に稼動状態リストを公開する(ステップS12)。このとき、内部用リストI11は、{1、2、3}を示している。その後、データベース部13は、異常状態になっている。しかし、内部用リストI11は、{1、2、3}を示したままである。   FIG. 6 shows a sequence showing data write-back processing in the data distribution system. The management server corresponding unit 31 requests the operating state list from the operating state list disclosing unit 23 (step S11). The operating state list publishing unit 23 publishes the operating state list to the management server corresponding unit 31 (step S12). At this time, the internal list I11 indicates {1, 2, 3}. Thereafter, the database unit 13 is in an abnormal state. However, the internal list I11 still shows {1, 2, 3}.

データ入出力部34は、データベース部13にデータを書き込むことを試みるが、データベース部13にデータを書き込めない(ステップS13)。管理サーバ対応部31は、その旨を報告受付部24に報告する(ステップS14)。稼動状態管理部22は、内部用リストI11を{1、2、3}から{1、2}へと更新し、内部用リストI12を作成する。報告受付部24は、代理サーバ4のアドレスを管理サーバ対応部31に通知するが(ステップS15)、稼動状態リスト公開部23が、代理サーバ4のアドレスを管理サーバ対応部31に公開することもできる。データ入出力部34は、データベース部13の識別子IDを紐付けたデータを、代理サーバ4に書き込む(ステップS16)。   The data input / output unit 34 attempts to write data to the database unit 13, but cannot write data to the database unit 13 (step S13). The management server corresponding unit 31 reports the fact to the report receiving unit 24 (step S14). The operating state management unit 22 updates the internal list I11 from {1, 2, 3} to {1, 2}, and creates the internal list I12. The report receiving unit 24 notifies the management server corresponding unit 31 of the address of the proxy server 4 (step S15), but the operating state list disclosure unit 23 may disclose the address of the proxy server 4 to the management server corresponding unit 31. it can. The data input / output unit 34 writes the data associated with the identifier ID of the database unit 13 in the proxy server 4 (step S16).

稼動状態管理部22は、死活監視部21が内部用リストI12で「異常」となっているデータベース部13からpingを正常に受け取った時点で、または、運用者がデータベース部13を復旧させた旨を稼動状態管理部22へ直接登録した時点で、内部用リストI12のデータベース部13の稼動状態を「準備中」に更新する(ステップS17)。データベース制御部25は、管理サーバ対応部43に、データベース部13の稼動状態が「準備中」になったことを通知する(ステップS18)。   The operating state management unit 22 indicates that the alive monitoring unit 21 has received a ping from the database unit 13 that is “abnormal” in the internal list I12 or that the operator has restored the database unit 13. Is directly registered in the operation state management unit 22, the operation state of the database unit 13 in the internal list I12 is updated to “in preparation” (step S17). The database control unit 25 notifies the management server corresponding unit 43 that the operation state of the database unit 13 is “in preparation” (step S18).

テーブル管理部44は、データベース部13へ紐付けられているテーブルを選び、その全データをデータベース部42から読み込み、データ入出力部41を通してデータベース部13へ書き戻す(ステップS19)。その後、テーブル管理部44は、データベース部13へ紐付けられているテーブルをテーブル管理部44及びデータベース部42から削除する。そして、管理サーバ対応部43は、処理が終了したことを報告受付部24へ報告する(ステップS20)。稼動状態管理部22は、代理サーバ4からの処理終了の報告を受けてデータベース部13が復旧したと判断し、内部用リストI12を{1、2}から{1、2、3}へと更新し、内部用リストI13を作成する。   The table management unit 44 selects a table associated with the database unit 13, reads all the data from the database unit 42, and writes it back to the database unit 13 through the data input / output unit 41 (step S19). Thereafter, the table management unit 44 deletes the table linked to the database unit 13 from the table management unit 44 and the database unit 42. Then, the management server corresponding unit 43 reports the completion of the process to the report receiving unit 24 (Step S20). The operating state management unit 22 receives the report of processing end from the proxy server 4 and determines that the database unit 13 has been restored, and updates the internal list I12 from {1,2} to {1,2,3}. Then, the internal list I13 is created.

なお、書き戻し中にデータベース部13に異常が発生した場合は、データ入出力部41は書き戻し処理を中止し、テーブル管理部44はデータを削除せず、管理サーバ対応部43は報告受付部24にその旨を伝え、稼動状態管理部22は内部用リストIのうちデータベース部13の稼動状態を「異常」に戻し、死活監視部21は監視を続ける。   If an abnormality occurs in the database unit 13 during the write-back, the data input / output unit 41 stops the write-back process, the table management unit 44 does not delete the data, and the management server corresponding unit 43 uses the report reception unit. The operation state management unit 22 returns the operation state of the database unit 13 to “abnormal” in the internal list I, and the alive monitoring unit 21 continues monitoring.

また、データベース部13の異常が、クライアント3からの報告ではなく死活監視部21のチェックにより気付いたものであり、その後もクライアント3から一度もデータベース部13の異常について報告が無いまま、データベース部13が復旧する場合がある。この場合、代理サーバ4にはデータベース部13に紐付けられているデータは無いと判断することも可能である。そこで、死活監視部21がデータベース部13の復旧に気付いた時点で、前述した書き戻し処理を実行することなく、稼動状態管理部22は内部用リストIのうちデータベース部13の稼動状態を「正常」に戻すことにしても良い。   Further, the abnormality of the database unit 13 is noticed not by the report from the client 3 but by the check of the life and death monitoring unit 21, and after that, the database unit 13 has never reported the abnormality of the database unit 13 from the client 3. May be restored. In this case, it is possible to determine that the proxy server 4 has no data associated with the database unit 13. Therefore, when the life and death monitoring unit 21 notices that the database unit 13 is restored, the operating state management unit 22 sets the operating state of the database unit 13 in the internal list I to “normal” without executing the above-described write-back process. It may be possible to return to "."

代理サーバの第1のデータ構造を示す図を図7に示す。データベース部11、12、13に紐付けられたデータが、一括のテーブルによって管理されている。データベース部の識別用のカラムが存在しており、データの読み込みおよび削除の前にデータベース部の識別子で全データをフィルタする処理が必要であるが、テーブル管理部44は不要である。   A diagram showing the first data structure of the proxy server is shown in FIG. Data associated with the database units 11, 12, and 13 is managed by a collective table. There is a column for identifying the database part, and it is necessary to filter all data with the identifier of the database part before reading and deleting data, but the table management part 44 is not necessary.

代理サーバの第2のデータ構造を示す図を図8に示す。データベース部11、12、13に紐付けられたデータが、別個のテーブルによって管理されている。データベース部毎にテーブルが管理されており、テーブル管理部44は必要であるが、データの読み込みおよび削除の前にデータベース部の識別子で全データをフィルタする処理は不要である。なお、テーブルではなくデータベースを別個にすることも可能である。   FIG. 8 shows a second data structure of the proxy server. Data associated with the database units 11, 12, and 13 are managed by separate tables. A table is managed for each database unit, and the table management unit 44 is necessary, but a process of filtering all data with the identifier of the database unit before reading and deleting data is not necessary. It is also possible to make a database separate from the table.

本発明に係るデータ分散システム、管理サーバ、クライアント装置、管理サーバプログラム及びクライアント装置プログラムは、流通するデータの量の爆発的な増加に関わらず、管理サーバの負荷や書き込みの偏りを軽減するときに適用することができる。   The data distribution system, the management server, the client device, the management server program, and the client device program according to the present invention can reduce the load on the management server and the bias in writing regardless of the explosive increase in the amount of data to be distributed. Can be applied.

1:分散データベース
2:管理サーバ
3:クライアント
4:代理サーバ
11、12、13:データベース部
21:死活監視部
22:稼動状態管理部
23:稼動状態リスト公開部
24:報告受付部
25:データベース制御部
31:管理サーバ対応部
32:稼動状態リスト管理部
33:サーバ選択部
34:データ入出力部
41:データ入出力部
42:データベース部
43:管理サーバ対応部
44:テーブル管理部
I:内部用リスト
P:公開用リスト
D:データ
ID:識別子
1: distributed database 2: management server 3: client 4: proxy servers 11, 12, 13: database unit 21: alive monitoring unit 22: operation state management unit 23: operation state list disclosure unit 24: report reception unit 25: database control Unit 31: Management server corresponding unit 32: Operating state list management unit 33: Server selection unit 34: Data input / output unit 41: Data input / output unit 42: Database unit 43: Management server corresponding unit 44: Table management unit I: For internal use List P: Public list D: Data ID: Identifier

Claims (10)

複数のデータサーバと、
各データサーバの稼動状態を監視し、前記各データサーバの稼動状態の情報を作成し閲覧可能に公開する管理サーバと、
前記各データサーバの稼動状態の情報を前記管理サーバから取得し、前記各データサーバの稼動状態の情報に基づいて、書き込み可能であるデータサーバを選択し、前記各データサーバの稼動状態の情報に反して、前記選択したデータサーバにデータを書き込めないとき、前記選択したデータサーバの稼動状態を書き込み可能から書き込み不能へと前記管理サーバに更新させるクライアント装置と、
を備えることを特徴とするデータ分散システム。
Multiple data servers,
A management server that monitors the operational status of each data server, creates information on the operational status of each data server and publishes it for viewing;
Information on the operating state of each data server is acquired from the management server, a writable data server is selected based on the information on the operating state of each data server, and the information on the operating state of each data server is selected. On the other hand, when data cannot be written to the selected data server, the client device causes the management server to update the operating state of the selected data server from writable to non-writable.
A data distribution system comprising:
複数のデータサーバと、
各データサーバの稼動状態を監視し、前記各データサーバの稼動状態の情報を作成し閲覧可能に公開する管理サーバと、
前記各データサーバの稼動状態の情報を前記管理サーバから取得し、前記各データサーバの稼動状態の情報に基づいて、書き込み可能であるデータサーバを選択し、前記選択したデータサーバにデータを書き込むクライアント装置と、
前記クライアント装置が、前記各データサーバの稼動状態の情報に反して、前記選択したデータサーバに前記データを書き込めないとき、前記クライアント装置が選択したデータサーバに代わり前記データの書き込みを受け付け、前記クライアント装置が選択したデータサーバが、書き込み可能に復旧したとき、前記クライアント装置が選択したデータサーバに前記データを書き戻す代理サーバと、
を備えることを特徴とするデータ分散システム。
Multiple data servers,
A management server that monitors the operational status of each data server, creates information on the operational status of each data server and publishes it for viewing;
A client that acquires information on the operating state of each data server from the management server, selects a writable data server based on the information on the operating state of each data server, and writes data to the selected data server Equipment,
When the client device cannot write the data to the selected data server against the information on the operating state of each data server, the client device accepts the writing of the data instead of the selected data server, and the client device A proxy server that writes back the data to the data server selected by the client device when the data server selected by the device recovers to be writable;
A data distribution system comprising:
複数のデータサーバの稼動状態を監視する稼動状態監視部と、
各データサーバの稼動状態の情報を作成し閲覧可能に公開する稼動状態作成部と、
クライアント装置が、前記各データサーバの稼動状態の情報を取得し、前記各データサーバの稼動状態の情報に基づいて、書き込み可能であるデータサーバを選択し、前記各データサーバの稼動状態の情報に反して、前記選択したデータサーバにデータを書き込めないときにおいて、その旨の通知に基づいて、前記クライアント装置が選択したデータサーバの稼動状態を書き込み可能から書き込み不能へと更新する稼動状態更新部と、
を備えることを特徴とする管理サーバ。
An operating state monitoring unit for monitoring the operating states of a plurality of data servers;
An operational state creation unit that creates information on the operational state of each data server and publishes it for viewing;
The client device obtains information on the operating state of each data server, selects a writable data server based on the information on the operating state of each data server, and sets the information on the operating state of each data server. On the other hand, when data cannot be written to the selected data server, an operation state update unit that updates the operation state of the data server selected by the client device from writable to non-writable based on the notification to that effect ,
A management server comprising:
複数のデータサーバの稼動状態を監視する稼動状態監視部と、
各データサーバの稼動状態の情報を作成し閲覧可能に公開する稼動状態作成部と、
クライアント装置が、前記各データサーバの稼動状態の情報を取得し、前記各データサーバの稼動状態の情報に基づいて、書き込み可能であるデータサーバを選択し、前記各データサーバの稼動状態の情報に反して、前記選択したデータサーバにデータを書き込めないときにおいて、前記クライアント装置が選択したデータサーバの稼動回復を確認したとき、前記クライアント装置が選択したデータサーバに代わり前記データの書き込みを受け付ける代理サーバに対して、前記クライアント装置が選択したデータサーバの稼動回復を通知し、前記クライアント装置が選択したデータサーバに前記データを書き戻させる稼動回復通知部と、
を備えることを特徴とする管理サーバ。
An operating state monitoring unit for monitoring the operating states of a plurality of data servers;
An operational state creation unit that creates information on the operational state of each data server and publishes it for viewing;
The client device obtains information on the operating state of each data server, selects a writable data server based on the information on the operating state of each data server, and sets the information on the operating state of each data server. On the other hand, when data cannot be written to the selected data server, the proxy server accepts writing of the data instead of the data server selected by the client device when the operation recovery of the data server selected by the client device is confirmed. An operation recovery notifying unit for notifying operation recovery of the data server selected by the client device, and writing back the data to the data server selected by the client device;
A management server comprising:
複数のデータサーバの稼動状態を監視する管理サーバから、各データサーバの稼動状態の情報を取得する稼動状態取得部と、
前記各データサーバの稼動状態の情報に基づいて、書き込み可能であるデータサーバを選択するデータサーバ選択部と、
前記各データサーバの稼動状態の情報に反して、前記データサーバ選択部が選択したデータサーバにデータを書き込めないとき、前記データサーバ選択部が選択したデータサーバの稼動状態を書き込み可能から書き込み不能へと前記管理サーバに更新させる書込不可通知部と、
を備えることを特徴とするクライアント装置。
An operating state acquisition unit that acquires information on the operating state of each data server from a management server that monitors the operating states of a plurality of data servers;
A data server selection unit that selects a data server that is writable based on information on the operating state of each data server;
When data cannot be written to the data server selected by the data server selection unit against the information on the operation state of each data server, the operation state of the data server selected by the data server selection unit is changed from writable to non-writable. And a non-writable notification unit that causes the management server to update,
A client device comprising:
複数のデータサーバの稼動状態を監視する管理サーバから、各データサーバの稼動状態の情報を取得する稼動状態取得部と、
前記各データサーバの稼動状態の情報に基づいて、書き込み可能であるデータサーバを選択するデータサーバ選択部と、
前記各データサーバの稼動状態の情報に反して、前記データサーバ選択部が選択したデータサーバにデータを書き込めないとき、前記データサーバ選択部が選択したデータサーバに代わり前記データの書き込みを受け付ける代理サーバに前記データを書き込むデータ書込部と、
を備えることを特徴とするクライアント装置。
An operating state acquisition unit that acquires information on the operating state of each data server from a management server that monitors the operating states of a plurality of data servers;
A data server selection unit that selects a data server that is writable based on information on the operating state of each data server;
A proxy server that accepts the writing of the data instead of the data server selected by the data server selection unit when data cannot be written to the data server selected by the data server selection unit, contrary to the operating state information of each data server A data writing unit for writing the data to
A client device comprising:
複数のデータサーバの稼動状態を監視する稼動状態監視手順と、
各データサーバの稼動状態の情報を作成し閲覧可能に公開する稼動状態作成手順と、
クライアント装置が、前記各データサーバの稼動状態の情報を取得し、前記各データサーバの稼動状態の情報に基づいて、書き込み可能であるデータサーバを選択し、前記各データサーバの稼動状態の情報に反して、前記選択したデータサーバにデータを書き込めないときにおいて、その旨の通知に基づいて、前記クライアント装置が選択したデータサーバの稼動状態を書き込み可能から書き込み不能へと更新する稼動状態更新手順と、
をコンピュータに順に実行させるための管理サーバプログラム。
An operational status monitoring procedure for monitoring the operational status of multiple data servers;
Operational state creation procedure for creating operational state information for each data server and making it available for viewing;
The client device obtains information on the operating state of each data server, selects a writable data server based on the information on the operating state of each data server, and sets the information on the operating state of each data server. On the other hand, when data cannot be written to the selected data server, an operating state update procedure for updating the operating state of the data server selected by the client device from writable to non-writable based on the notification to that effect; ,
Server program for causing computers to execute in order.
複数のデータサーバの稼動状態を監視する稼動状態監視手順と、
各データサーバの稼動状態の情報を作成し閲覧可能に公開する稼動状態作成手順と、
クライアント装置が、前記各データサーバの稼動状態の情報を取得し、前記各データサーバの稼動状態の情報に基づいて、書き込み可能であるデータサーバを選択し、前記各データサーバの稼動状態の情報に反して、前記選択したデータサーバにデータを書き込めないときにおいて、前記クライアント装置が選択したデータサーバの稼動回復を確認したとき、前記クライアント装置が選択したデータサーバに代わり前記データの書き込みを受け付ける代理サーバに対して、前記クライアント装置が選択したデータサーバの稼動回復を通知し、前記クライアント装置が選択したデータサーバに前記データを書き戻させる稼動回復通知手順と、
をコンピュータに順に実行させるための管理サーバプログラム。
An operational status monitoring procedure for monitoring the operational status of multiple data servers;
Operational state creation procedure for creating operational state information for each data server and making it available for viewing;
The client device obtains information on the operating state of each data server, selects a writable data server based on the information on the operating state of each data server, and sets the information on the operating state of each data server. On the other hand, when data cannot be written to the selected data server, the proxy server accepts writing of the data instead of the data server selected by the client device when the operation recovery of the data server selected by the client device is confirmed. An operation recovery notification procedure for notifying operation recovery of the data server selected by the client device and causing the data server selected by the client device to write back the data;
Server program for causing computers to execute in order.
複数のデータサーバの稼動状態を監視する管理サーバから、各データサーバの稼動状態の情報を取得する稼動状態取得手順と、
前記各データサーバの稼動状態の情報に基づいて、書き込み可能であるデータサーバを選択するデータサーバ選択手順と、
前記各データサーバの稼動状態の情報に反して、前記データサーバ選択手順が選択したデータサーバにデータを書き込めないとき、前記データサーバ選択手順が選択したデータサーバの稼動状態を書き込み可能から書き込み不能へと前記管理サーバに更新させる書込不可通知手順と、
をコンピュータに順に実行させるためのクライアント装置プログラム。
An operation status acquisition procedure for acquiring information on the operation status of each data server from a management server that monitors the operation status of a plurality of data servers;
A data server selection procedure for selecting a writable data server based on the operating state information of each data server;
When data cannot be written to the data server selected by the data server selection procedure, contrary to the operation status information of each data server, the operation status of the data server selected by the data server selection procedure is changed from writable to non-writable. And a non-writable notification procedure for updating the management server;
Client device program for causing a computer to execute the programs in order.
複数のデータサーバの稼動状態を監視する管理サーバから、各データサーバの稼動状態の情報を取得する稼動状態取得手順と、
前記各データサーバの稼動状態の情報に基づいて、書き込み可能であるデータサーバを選択するデータサーバ選択手順と、
前記各データサーバの稼動状態の情報に反して、前記データサーバ選択手順が選択したデータサーバにデータを書き込めないとき、前記データサーバ選択手順が選択したデータサーバに代わり前記データの書き込みを受け付ける代理サーバに前記データを書き込むデータ書込手順と、
をコンピュータに順に実行させるためのクライアント装置プログラム。
An operation status acquisition procedure for acquiring information on the operation status of each data server from a management server that monitors the operation status of a plurality of data servers;
A data server selection procedure for selecting a writable data server based on the operating state information of each data server;
A proxy server that accepts writing of data instead of the data server selected by the data server selection procedure when the data server selection procedure cannot write data to the data server selected by the data server selection procedure, contrary to the operating state information of each data server A data writing procedure for writing the data to
Client device program for causing a computer to execute the programs in order.
JP2011170137A 2011-08-03 2011-08-03 Data distribution system, management server, client device, management server program, and client device program Expired - Fee Related JP5483473B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011170137A JP5483473B2 (en) 2011-08-03 2011-08-03 Data distribution system, management server, client device, management server program, and client device program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011170137A JP5483473B2 (en) 2011-08-03 2011-08-03 Data distribution system, management server, client device, management server program, and client device program

Publications (2)

Publication Number Publication Date
JP2013037384A true JP2013037384A (en) 2013-02-21
JP5483473B2 JP5483473B2 (en) 2014-05-07

Family

ID=47886978

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011170137A Expired - Fee Related JP5483473B2 (en) 2011-08-03 2011-08-03 Data distribution system, management server, client device, management server program, and client device program

Country Status (1)

Country Link
JP (1) JP5483473B2 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11175449A (en) * 1997-12-15 1999-07-02 Matsushita Electric Ind Co Ltd Server device
JP2002149459A (en) * 2000-11-10 2002-05-24 Mitsubishi Electric Corp Redundant database management and retrieval system
JP2003248669A (en) * 2002-02-22 2003-09-05 Mitsubishi Electric Corp Distributed data storage server system and data transmission method for distributed data storage server
JP2009110439A (en) * 2007-10-31 2009-05-21 Nec Corp Database access system, database access method and program
JP2011159106A (en) * 2010-02-01 2011-08-18 Nippon Telegr & Teleph Corp <Ntt> Database system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11175449A (en) * 1997-12-15 1999-07-02 Matsushita Electric Ind Co Ltd Server device
JP2002149459A (en) * 2000-11-10 2002-05-24 Mitsubishi Electric Corp Redundant database management and retrieval system
JP2003248669A (en) * 2002-02-22 2003-09-05 Mitsubishi Electric Corp Distributed data storage server system and data transmission method for distributed data storage server
JP2009110439A (en) * 2007-10-31 2009-05-21 Nec Corp Database access system, database access method and program
JP2011159106A (en) * 2010-02-01 2011-08-18 Nippon Telegr & Teleph Corp <Ntt> Database system

Also Published As

Publication number Publication date
JP5483473B2 (en) 2014-05-07

Similar Documents

Publication Publication Date Title
US10102264B2 (en) Distributed computing backup and recovery system
JP6328432B2 (en) Gateway device, file server system, and file distribution method
US9471585B1 (en) Decentralized de-duplication techniques for largescale data streams
US9639589B1 (en) Chained replication techniques for large-scale data streams
US9053166B2 (en) Dynamically varying the number of database replicas
JP4327831B2 (en) Storage system, management computer and copy pair monitoring method
US7836185B2 (en) Common resource management in a server cluster
EP3629522B1 (en) Systems and methods for testing resilience of a distributed network
JP6028641B2 (en) Information processing system, control program for information processing apparatus, and control method for information processing system
EP3931713A1 (en) System and method for replicating data in distributed database systems
CN107786527B (en) Method and equipment for realizing service discovery
GB2529436A (en) Data processing apparatus and method
US9251189B2 (en) Update of data structure configured to store metadata associated with a database system
KR101527634B1 (en) Method and apparatus for providing sharding service
US20140337379A1 (en) Distributed multi-system management
CN107508700B (en) Disaster recovery method, device, equipment and storage medium
US11079960B2 (en) Object storage system with priority meta object replication
US10728326B2 (en) Method and system for high availability topology for master-slave data systems with low write traffic
JP5483473B2 (en) Data distribution system, management server, client device, management server program, and client device program
US20150088826A1 (en) Enhanced Performance for Data Duplication
JP2015162099A (en) Server resource management device
WO2007028249A1 (en) Method and apparatus for sequencing transactions globally in a distributed database cluster with collision monitoring
US11296870B2 (en) Key management configurations
US11093465B2 (en) Object storage system with versioned meta objects
AU2019244116B2 (en) Techniques for scheduled anti-entropy repair design

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130712

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140207

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: 20140212

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140213

R150 Certificate of patent or registration of utility model

Ref document number: 5483473

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees