JP5562454B1 - 冗長システム用サーバ - Google Patents
冗長システム用サーバ Download PDFInfo
- Publication number
- JP5562454B1 JP5562454B1 JP2013025173A JP2013025173A JP5562454B1 JP 5562454 B1 JP5562454 B1 JP 5562454B1 JP 2013025173 A JP2013025173 A JP 2013025173A JP 2013025173 A JP2013025173 A JP 2013025173A JP 5562454 B1 JP5562454 B1 JP 5562454B1
- Authority
- JP
- Japan
- Prior art keywords
- data
- server
- app
- updated
- storage unit
- 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.)
- Active
Links
- 230000005540 biological transmission Effects 0.000 claims description 19
- 238000013500 data storage Methods 0.000 claims description 6
- 238000013523 data management Methods 0.000 abstract description 11
- 238000012545 processing Methods 0.000 description 17
- 238000000034 method Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 7
- 101150053844 APP1 gene Proteins 0.000 description 6
- 101100189105 Homo sapiens PABPC4 gene Proteins 0.000 description 6
- 102100039424 Polyadenylate-binding protein 4 Human genes 0.000 description 6
- 102100038359 Xaa-Pro aminopeptidase 3 Human genes 0.000 description 4
- 101710081949 Xaa-Pro aminopeptidase 3 Proteins 0.000 description 4
- 238000012806 monitoring device Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 101100055496 Arabidopsis thaliana APP2 gene Proteins 0.000 description 2
- 101100016250 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) GYL1 gene Proteins 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【解決手段】サーバ10のインメモリデータ管理部14は、データが他のサーバ10で更新された場合に、更新されたデータを取得してデータを更新し、データを更新すると、サーバ10がスレーブサーバである場合には、更新されたデータを使用するAPPへデータが更新されたことを通知せず、サーバ10がマスタサーバである場合には、APPへデータが更新されたことを通知する。
【選択図】図2
Description
この発明は、簡易的なサーバ構成により、システムの高可用性を実現することを目的とする。
稼働中のマスタサーバと待機中のスレーブサーバとを備える冗長化されたシステムを構成する冗長システム用サーバであり、
マスタサーバであるかスレーブサーバであるかを示す設定を記憶する設定記憶部と、
データが更新されたことが通知された場合に動作するように設定されたAPP(アプリケーションプログラム)を記憶するAPP記憶部と、
前記APP記憶部が記憶したAPPで使用するデータを記憶するデータ記憶部と、
他の冗長システム用サーバでデータが更新された場合に、更新されたデータを取得して、前記データ記憶部が記憶したデータを更新するデータ更新部と、
前記データ更新部がデータを更新すると、前記設定記憶部が記憶した設定がマスタサーバであることを示す場合には、前記APPへデータが更新されたことを通知し、前記設定記憶部が記憶した設定がスレーブサーバであることを示す場合には、前記APPへデータが更新されたことを通知しない更新通知部と
を備えることを特徴とする。
特に、この発明に係る冗長システム用サーバは、マスタサーバとスレーブサーバとの間で自動的にデータは同期されており、マスタサーバであるかスレーブサーバであるかの設定を切り替えるだけで、マスタサーバとして動作するかスレーブサーバとして動作するかが切り替わる。したがって、冗長システム用サーバを用いた冗長化されたシステムを容易に構築できる。
図1は、実施の形態1に係る冗長システム用サーバ10(以下、サーバ10と呼ぶ)の構成図である。
サーバ10は、設定記憶部11、共有メモリ12(データ記憶部)、APP記憶部13、インメモリデータ管理部14を備える。
ここで、APPは、データが更新されたことが通知された場合に動作するように設定されている。また、APPは、共有メモリ12に記憶されたデータのうち、どのデータ種別を使用するかが予め定義されている。データ種別は、例えば、給与情報、売上情報、在庫情報等である。
APPはデータが更新されたことが通知された場合に動作するように設定されている。そのため、データが更新されると、マスタサーバの場合にはAPPが動作するが、スレーブサーバの場合にはAPPが動作しない。
システム100は、3台のサーバ10a〜cがサービスバス20により接続され構成されている。サーバ10a,bはマスタサーバであり、サーバ10cはスレーブサーバである。したがって、サーバ10a,bの設定記憶部11にはマスタサーバであることを示す設定が記憶され、サーバ10cの設定記憶部11にはスレーブサーバであることを示す設定が記憶されている。
サーバ10bの共有メモリ12には、データD2,D3が記憶されており、サーバ10bのAPP記憶部13には、データD2,D3を使用するAPP3が記憶されている。
サーバ10cの共有メモリ12には、データD1,D2,D3が記憶されており、サーバ10cのAPP記憶部13には、APP1,2,3が記憶されている。
サーバ10aのデータ送信部15は、更新されたデータD1をサービスバス20を介してブロードキャスト送信又はマルチキャスト送信する。
この場合、サーバ10bの共有メモリ12にはデータD1が記憶されていないため、サーバ10bのデータ更新部16は送信されたデータD1を取得しない。
一方、サーバ10cの共有メモリ12にはデータD1が記憶されているため、サーバ10cのデータ更新部16は送信されたデータD1を取得する。そして、サーバ10cのデータ更新部16は、取得したデータD1で共有メモリ12のデータD1を更新する。これにより、サーバ10aとサーバ10cとの間で、データが同期する。ここで、サーバ10cはスレーブサーバであるため、サーバ10cの更新通知部17は、データD1が更新されたことを、データD1を使用するAPP1へ通知しない。
サーバ10aのデータ送信部15は、更新されたデータD2をサービスバス20を介してブロードキャスト送信又はマルチキャスト送信する。
この場合、サーバ10bの共有メモリ12にはデータD2が記憶されているため、サーバ10bのデータ更新部16は送信されたデータD2を取得する。そして、サーバ10bのデータ更新部16は、取得したデータD2で共有メモリ12のデータD2を更新する。これにより、サーバ10aとサーバ10bとの間で、データが同期する。ここで、サーバ10bはマスタサーバであるため、サーバ10bの更新通知部17は、データD2が更新されたことを、データD2を使用するAPP3へ通知する。すると、APP3が更新されたデータD2を使用して動作する。
また、サーバ10cの共有メモリ12にはデータD2が記憶されているため、サーバ10cのデータ更新部16は送信されたデータD2を取得する。そして、サーバ10cのデータ更新部16は、取得したデータD2で共有メモリ12のデータD2を更新する。これにより、サーバ10aとサーバ10cとの間で、データが同期する。ここで、サーバ10cはスレーブサーバであるため、サーバ10cの更新通知部17は、データD2が更新されたことを、データD2を使用するAPP2,3へ通知しない。
この場合、サーバ10cの設定記憶部11の設定がマスタサーバに変更されるとともに、サーバ10bの設定記憶部11の設定がスレーブサーバに変更される。これにより、サーバ10a,bに代わって、サーバ10cがマスタサーバとして動作することになる。
例えば、サーバ10以外に、各サーバ10の動作状態を監視する監視装置を設けておき、監視装置がマスタサーバの障害を検知した場合に、各サーバ10の設定を変更してもよい。図示しない監視装置がサーバ10a、10b、10cにネットワーク接続され、それぞれのサーバ10からポーリングに対する応答があるかどうか確認を行うことにより、サーバ10に障害が発生したかどうかが検知できる。例えば、監視装置は、サーバ10aに障害が発生し、サーバ10cは通常に動作していることが確認できたため、サーバ10cをマスタサーバに変更しようとする。
この場合、サーバ10aの設定記憶部11の設定がスレーブサーバにされ、サーバ10aが起動される。すると、サーバ10aは初期同期処理を実行して、最新のデータを共有メモリ12に記憶する。
初期同期処理では、まず、サーバ10aのAPP記憶部13に記憶された各APP1,2が必要なデータD1,D2をデータ更新部16に要求する。すると、データ更新部16は、サーバ10aが必要なデータD1,D2をマスタサーバであるサーバ10cへ要求する。サーバ10cのデータ送信部15は、要求されたデータD1,D2を要求元のサーバ10aへ送信する。サーバ10aのデータ更新部16は、送信されたデータD1,D2を取得し、取得したデータD1,D2で共有メモリ12に記憶する。これにより、初期同期が完了する。
なお、新たなスレーブサーバを作る場合にも、初期同期処理によりデータを最新の状態にすることが可能である。
サーバ10dは、データを保存するためのバックアップサーバである。サーバ10dの共有メモリ12には、全てのマスタサーバ(ここでは、サーバ10a,b)に記憶されているデータD1〜D3が記憶されており、サーバ10dのAPP記憶部13には、APPとしてデータ永続化プロセスが記憶されている。サーバ10dはバックアップサーバであるため、サーバ10dの設定記憶部11にはバックアップサーバであることを示す設定が記憶されている。
共有メモリ12は、RAM等であるため、電源が切れるとデータが消去されてしまう。そこで、サーバ10dでは、データ更新部16が、マスタサーバと設定されている全てのサーバ10から送信されたデータを取得し、共有メモリ12のデータを更新する。そして、共有メモリ12のデータが更新されると、データ永続化プロセスが動作してHDD等の不揮発性の記憶装置に記憶する。
サーバ10Aにおいて、APPによって共有メモリ12のデータが更新されると(S11)、サーバ10Aのデータ送信部15は、更新されたデータを共有メモリ12から取得し(S12)、サービスバス20を介してブロードキャスト送信又はマルチキャスト送信する(S13)。
すると、サーバ10A以外のサーバ10Bのデータ更新部16は、送信されたデータを取得する(S14)。そして、サーバ10Bのデータ更新部16は、取得したデータD2で共有メモリ12のデータを更新する(S15)。これにより、サーバ10Aとサーバ10Bとの間で、データが同期する。
次に、サーバ10Bの更新通知部17は、サーバ10Bがマスタサーバであるかスレーブサーバであるかを判定する(S16)。そして、サーバ10Bの更新通知部17は、サーバ10Bがマスタサーバであれば、データが更新されたことを、データを使用するAPPへ通知する(S17)。通知を受けると、APPが更新されたデータを使用して動作する。一方、サーバ10Bの更新通知部17は、サーバ10Bがスレーブサーバであれば、データが更新されたことを通知しない(S18)。通知を受けないため、APPは動作しない。
初期同期処理を行うサーバ10AのAPP記憶部13に記憶された各APPが必要なデータをデータ更新部16に要求する(S21)。すると、データ更新部16は、サーバ10Aが必要なデータの転送をマスタサーバあるいはバックアップサーバであるサーバ10Bへ要求する(S22)。
サーバ10Bのデータ送信部15は、要求されたデータを共有メモリ12から取得して(S23)、要求元のサーバ10Aへ送信する(S24)。サーバ10Aのデータ更新部16は、送信されたデータで共有メモリ12に記憶する(S25)。これにより、初期同期が完了する。
また、インメモリデータ管理部14は、ネットワークの負荷が高い場合、優先度が高いデータに関する処理を優先して動作させる、あるいは、優先度が低いデータに関するは処理は動作させないようにしてもよい。また、インメモリデータ管理部14は、ネットワークの負荷により処理の優先度を変更してもよい。
しかし、他のAPPがどのサーバ10で動作しているかを各APPに予め認識させるには、各APPへの設定が必要である。そこで、サーバ10に、各APPがどのサーバ10で動作しているかを管理するネームサービス部を設けておき、APPが他のAPPを呼び出す場合、ネームサービス部へ問合せ、呼び出すAPPがどのサーバ10で動作しているかを確認させてもよい。これにより、各APPへの設定が不要となる。
図6に示すように、サーバ10は、プログラムを実行するCPU911(Central・Processing・Unit、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう)を備えている。CPU911は、バス912を介してROM913、RAM914、LCD901(Liquid Crystal Display)、キーボード902(K/B)、通信ボード915、HDD920と接続され、これらのハードウェアデバイスを制御する。HDD920(固定ディスク装置)の代わりに、光ディスク装置、メモリカード読み書き装置などの記憶装置でもよい。HDD920は、所定の固定ディスクインタフェースを介して接続される。
「設定記憶部11」や「APP記憶部13」は、HDD920やROM913によって構成される。また、「共有メモリ12」は、RAM914によって構成される。
ファイル群924には、上記の説明において「設定記憶部11」、「共有メモリ12」、「APP記憶部13」に格納される情報やデータや信号値や変数値やパラメータが記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してCPU911によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示などのCPU911の動作に用いられる。抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示のCPU911の動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。
また、上記の説明において「〜部」として説明するものは、「〜回路」、「〜装置」、「〜機器」、「〜手段」、「〜機能」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。また、「〜装置」として説明するものは、「〜回路」、「〜機器」、「〜手段」、「〜機能」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」として説明するものは、ROM913に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組合せ、さらには、ファームウェアとの組合せで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、ROM913等の記録媒体に記憶される。プログラムはCPU911により読み出され、CPU911により実行される。すなわち、プログラムは、上記で述べた「〜部」としてコンピュータ等を機能させるものである。あるいは、上記で述べた「〜部」の手順や方法をコンピュータ等に実行させるものである。
Claims (3)
- 稼働中のマスタサーバと待機中のスレーブサーバとを備える冗長化されたシステムを構成する冗長システム用サーバであり、
マスタサーバであるかスレーブサーバであるかを示す設定を記憶する設定記憶部と、
データが更新されたことが通知された場合に動作するように設定された、複数のAPP(アプリケーションプログラム)を記憶するAPP記憶部と、
前記APP記憶部が記憶したいずれかのAPPで使用するデータを記憶するデータ記憶部と、
他の冗長システム用サーバでデータが更新された場合に、更新されたデータを取得して、前記データ記憶部が記憶したデータを更新するデータ更新部と、
前記データ更新部がデータを更新すると、前記設定記憶部が記憶した設定がマスタサーバであることを示す場合には、前記複数のAPPのうちの更新されたデータを使用するAPPへデータが更新されたことを通知し、前記設定記憶部が記憶した設定がスレーブサーバであることを示す場合には、前記APPへデータが更新されたことを通知しない更新通知部と
を備えることを特徴とする冗長システム用サーバ。 - 前記サーバは、さらに、
前記APP記憶部が記憶したAPPがデータを更新した場合に、他の冗長システム用サーバへ更新されたデータをブロードキャスト送信又はマルチキャスト送信するデータ送信部
を備え、
前記データ更新部は、他の冗長システム用サーバにおける前記データ送信部が送信したデータのうち、前記データ記憶部が記憶したデータを取得する
ことを特徴とする請求項1に記載の冗長システム用サーバ。 - 前記APP記憶部は、APPに優先度を付けて記憶し、
前記データ更新部は、前記サーバの負荷が高いと判定した場合、優先度の高いAPPで使用するデータを優先的に更新することを特徴とする請求項1又は2に記載の冗長システム用サーバ。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013025173A JP5562454B1 (ja) | 2013-02-13 | 2013-02-13 | 冗長システム用サーバ |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013025173A JP5562454B1 (ja) | 2013-02-13 | 2013-02-13 | 冗長システム用サーバ |
Publications (2)
Publication Number | Publication Date |
---|---|
JP5562454B1 true JP5562454B1 (ja) | 2014-07-30 |
JP2014154060A JP2014154060A (ja) | 2014-08-25 |
Family
ID=51417030
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013025173A Active JP5562454B1 (ja) | 2013-02-13 | 2013-02-13 | 冗長システム用サーバ |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5562454B1 (ja) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05334161A (ja) * | 1992-05-28 | 1993-12-17 | Matsushita Electric Ind Co Ltd | マルチサーバシステム |
JP2000082080A (ja) * | 1993-08-05 | 2000-03-21 | Hitachi Ltd | 分散デ―タベ―ス管理システム |
JP2002259189A (ja) * | 2001-03-05 | 2002-09-13 | A I Soft Inc | データ同期機能を有する情報処理装置及びデータ同期方法 |
JP2005044155A (ja) * | 2003-07-23 | 2005-02-17 | I-O Data Device Inc | マルチメディア情報機器及びそのファイル管理プログラム並びにマルチメディア情報機器ネットワークシステム及びそのシステムにおけるファイル管理方法 |
JP2010271952A (ja) * | 2009-05-21 | 2010-12-02 | Toshiba Corp | 分散型制御システムのデータ管理装置 |
WO2012054675A2 (en) * | 2010-10-21 | 2012-04-26 | Eastman Chemical Company | Nonwoven article with ribbon fibers |
-
2013
- 2013-02-13 JP JP2013025173A patent/JP5562454B1/ja active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05334161A (ja) * | 1992-05-28 | 1993-12-17 | Matsushita Electric Ind Co Ltd | マルチサーバシステム |
JP2000082080A (ja) * | 1993-08-05 | 2000-03-21 | Hitachi Ltd | 分散デ―タベ―ス管理システム |
JP2002259189A (ja) * | 2001-03-05 | 2002-09-13 | A I Soft Inc | データ同期機能を有する情報処理装置及びデータ同期方法 |
JP2005044155A (ja) * | 2003-07-23 | 2005-02-17 | I-O Data Device Inc | マルチメディア情報機器及びそのファイル管理プログラム並びにマルチメディア情報機器ネットワークシステム及びそのシステムにおけるファイル管理方法 |
JP2010271952A (ja) * | 2009-05-21 | 2010-12-02 | Toshiba Corp | 分散型制御システムのデータ管理装置 |
WO2012054675A2 (en) * | 2010-10-21 | 2012-04-26 | Eastman Chemical Company | Nonwoven article with ribbon fibers |
Also Published As
Publication number | Publication date |
---|---|
JP2014154060A (ja) | 2014-08-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6602369B2 (ja) | 記憶不具合後の安全なデータアクセス | |
TWI631472B (zh) | 分散式作業系統 | |
JP5440273B2 (ja) | スナップショット管理方法、スナップショット管理装置、及びプログラム | |
JP6186787B2 (ja) | データ転送装置、データ転送システム、データ転送方法及びプログラム | |
CN110597910A (zh) | 一种异地数据同步方法、装置和系统 | |
JP6273927B2 (ja) | 情報処理システム,監視装置,監視プログラム,監視方法 | |
US10108517B1 (en) | Techniques for data storage systems using virtualized environments | |
JP2011237950A (ja) | 情報処理装置、バックアップサーバ、バックアッププログラム、バックアップ方法及びバックアップシステム | |
WO2012050224A1 (ja) | コンピュータリソース制御システム | |
JP2015075898A (ja) | 処理再開方法、処理再開プログラムおよび情報処理システム | |
CN110633046A (zh) | 一种分布式系统的存储方法、装置、存储设备及存储介质 | |
US10754368B1 (en) | Method and system for load balancing backup resources | |
CN112181942A (zh) | 时序数据库系统和数据处理方法及装置 | |
EP3479256B1 (en) | Fabric encapsulated resilient storage | |
US8819481B2 (en) | Managing storage providers in a clustered appliance environment | |
JP5562454B1 (ja) | 冗長システム用サーバ | |
CN112424764A (zh) | 长上传时间检测和管理 | |
EP3871087B1 (en) | Managing power request during cluster operations | |
US9710298B2 (en) | Information processing system, storage apparatus, and program | |
JP7164175B2 (ja) | 分散ファイル装置、フェイルオーバ方法、プログラム及び記録媒体 | |
JP2017054416A (ja) | 制御装置、情報処理システム、及び制御プログラム | |
JP6788188B2 (ja) | 制御装置および制御プログラム | |
US10708343B2 (en) | Data repository for a distributed processing environment | |
US11347675B2 (en) | System and method for dynamically configuring storage mapping | |
CN113609150B (zh) | 基于硬件的原子写方法、设备及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
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: 20140513 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140610 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5562454 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |