JP5384566B2 - フロントエンドサーバ、インタプリタ型プログラム及び方法 - Google Patents
フロントエンドサーバ、インタプリタ型プログラム及び方法 Download PDFInfo
- Publication number
- JP5384566B2 JP5384566B2 JP2011142300A JP2011142300A JP5384566B2 JP 5384566 B2 JP5384566 B2 JP 5384566B2 JP 2011142300 A JP2011142300 A JP 2011142300A JP 2011142300 A JP2011142300 A JP 2011142300A JP 5384566 B2 JP5384566 B2 JP 5384566B2
- Authority
- JP
- Japan
- Prior art keywords
- request
- end server
- exception
- server
- processing
- 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
- 238000000034 method Methods 0.000 title claims description 185
- 238000012545 processing Methods 0.000 claims description 98
- 238000012544 monitoring process Methods 0.000 claims description 29
- 238000012423 maintenance Methods 0.000 description 18
- 230000006870 function Effects 0.000 description 11
- 230000005856 abnormality Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 238000012790 confirmation Methods 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Images
Landscapes
- Debugging And Monitoring (AREA)
- Computer And Data Communications (AREA)
Description
また、Webサーバシステムでは、サーバ障害を避けたり、所定のプログラムの変更を反映させたりするために、必要に応じて適宜メンテナンスを行う必要がある。
これにより、サーバ障害時やメンテナンス時にユーザへの影響を軽減することができる。例えば、ブログの更新及び閲覧を管理するバックエンドサーバにおいて、ブログの更新のみが実行困難(例外処理条件)である場合には、ブログの更新に関する処理を所定の処理として記述しておくことで、ユーザ端末からブログの更新要求がなされた場合に限り、例外処理を行い、ブログの閲覧要求がなされた場合には、適切な処理を行うことができる。
初めに、図1〜図3を参照して、本実施形態のWebサーバシステム1について説明する。図1は、Webサーバシステム1の概要を示す図であり、図2は、Webサーバシステム1の機能ブロック図を示す図であり、図3は、本発明の例外処理プログラム23の一例を示す図である。
なお、リクエスト要求には、ユーザ端末8(ユーザ)のWebサーバシステム1に対する指示(例えば、更新指示や閲覧指示など)と、ユーザ端末8(ユーザ)を識別する情報と、が含まれる。具体的には、リクエスト要求には、Webサーバシステム1に対する指示としての関数と、ユーザ端末8を識別する情報としてのIPアドレスと、が含まれる。
以下、図2及び図3を用いて、例外処理の実行の詳細について説明する。
図2を参照して、フロントエンドサーバ2は、要求受付手段21と、プログラム実行手段22と、例外処理プログラム23と、を含んで構成される。
要求受付手段21は、リクエスト要求に含まれる関数(指示)から、バックエンドサーバ3に対する処理を受け付け、リクエスト要求に含まれるIPアドレス(ユーザ端末8を識別する情報)から、実行バックエンドサーバの種別を受け付ける。ここで、図示は省略するが、Webサーバシステム1は、リクエスト要求に含まれるIPアドレス(ユーザ端末8を識別する情報)から、処理を割り振るバックエンドサーバ3を特定する割振サーバを含むこととしてもよく、要求受付手段21は、この割振サーバにより特定されたバックエンドサーバ3に基づいて、実行バックエンドサーバの種別を受け付けることとしてもよい。
例外処理プログラム23は、インタプリタ型のプログラム(例えば、PHP)であり、実行されることで、フロントエンドサーバ2に要求処理判定手段231、サーバ判定手段232、プログラム書換手段233及び処理実行手段234の機能を実現させるとともに、書換対象処理記述部235と、障害サーバ記述部236と、例外処理記述部237と、を含む。
このとき、本実施形態では、書換対象処理記述部235は、予め定められた書換対象の処理(関数名)を文字列で記述し、要求処理判定手段231は、要求受付手段21が受け付けた処理(関数)が、書換対象の関数名を記述した当該文字列と一致するか否かを文字列判定する。なお、本実施形態における、文字列とは、人間が判別することのできるものをいい、人間が判別不可能なバイナリコードを含まない。
このとき、本実施形態では、障害サーバ記述部236は、障害バックエンドサーバ(サーバ名)を文字列で記述し、サーバ判定手段232は、要求受付手段21が受け付けた実行バックエンドサーバ(サーバ名)が、障害バックエンドサーバを記述した当該文字列と一致するか否かを文字列判定する。
このとき書き換えられる例外処理は、フロントエンドサーバ2が実行バックエンドサーバにアクセスすることなく行う処理であり、例えば、現在メンテナンス中であることを示すメンテナンス画面をユーザ端末8に対して提供する処理である。ここで、例外処理記述部237は、プログラム書換手段233が書き換える例外処理(関数)を記述する。そのため、プログラム書換手段233は、例外処理記述部237の記述に基づいて、要求受付手段21が受け付けた処理を例外処理に書き換える。
このとき、本実施形態では、例外処理記述部237は、例外処理(関数名)を文字列で記述し、プログラム書換手段233は、要求受付手段21が受け付けた処理(関数名)を、例外処理を記述した当該文字列に書き換える。
要求受付手段21が受け付けた処理を実行する場合、処理実行手段234は、実行バックエンドサーバにアクセスし、ユーザ端末8から受け付けた処理要求を提供するとともに、当該実行バックエンドサーバによる処理結果をユーザ端末8に対して提供する。
また、例外処理を実行する場合、処理実行手段234は、実行バックエンドサーバにアクセスすることなく、受け付けた処理要求の実行ができないことをユーザ端末8に提供する。
要求処理判定手段231は、ライン98,99に記述された「メソッドチェック」において、要求受付手段21が受け付けた処理が、ライン249〜313(特に、ライン252〜304)(書換対象処理記述部235)に記述された処理(例えば、ArticleLogic_WriteArticle)に含まれるか否かを判定することにより実現される。
なお、図3では、書換対象処理記述部235には、書換対象の処理として更新に関する処理(UpdateMethod)が記述されているが、当該記述を変更することで、他の処理(例えば、閲覧や予約受付)を書換対象とすることができる。
なお、図3では、障害サーバ記述部236には、障害バックエンドサーバは記述されていない(arg_array[0])が、図示しない障害サーバ記述部236の記述を変更することで、障害バックエンドサーバを適宜追加・削除することができる。
なお、図3では、例外処理記述部237には、例外処理としてメンテナンス時に行われるメンテナンスコマンドが記述されているが、当該記述を変更することで、例外処理を適宜変更することができる(例えば、混雑中であることを返信する処理に変更する)。また、図3では、プログラム書換手段233は、障害バックエンドサーバに対する書換対象の処理である場合に、常に、例外処理に書き換えることとしているが、これに限られるものではなく、障害バックエンドサーバに対する書換対象の処理のうち一部の処理についてのみ、例外処理に書き換えることとしてもよい。アクセス集中により通信負荷が増大した障害バックエンドサーバに対しては、全てのアクセスを禁止するのではなく、一部のアクセスを制限することが好ましいためである。このような、一部のアクセスの制限についても、例外処理記述部237の記述を変更することで、実現することができる。
続いて、監視サーバ4について説明する。監視サーバ4は、監視手段41と、書換手段42と、を含んで構成される。
このとき、書換手段42は、例外処理記述部237の記述(例外処理)についても書き換えることとしてもよい。すなわち、書換手段42は、監視手段41が発見した異常に基づいて例外処理を書き換えることとしてもよい。また、書換手段42は、例えば、ネットワークの到達性が困難になっているバックエンドサーバ3について、一部のリクエスト要求についてのみ例外処理(例えば、「只今、混み合っています。」と表示する処理)を実行し、他のリクエスト要求についてはユーザ端末8から受け付けた処理を実行させるように例外処理記述部237の記述を書き換えることとしてもよい。
続いて、管理者端末5は、管理者が把握可能なメンテナンス情報、管理者による人間系の監視に伴い発見したバックエンドサーバ3の異常又はユーザからの通報などに基づいて、書換対象処理記述部235の記述(書換対象処理)、障害サーバ記述部236の記述(障害バックエンドサーバ)及び例外処理記述部237の記述(例外処理)を書き換える(手動書換)。
以上説明したWebサーバシステム1を構成する、フロントエンドサーバ2、バックエンドサーバ3、監視サーバ4及び管理者端末5のハードウェアは、1又は複数の一般的なコンピュータによって構成することができる。一般的なコンピュータは、例えば、制御部として、中央処理装置(CPU)を備える他、記憶部として、メモリ(RAM、ROM)、ハードディスク(HDD)及び光ディスク(CD、DVDなど)を、ネットワーク通信装置として、各種有線及び無線LAN装置を、表示装置として、例えば、液晶ディスプレイ、プラズマディスプレイなどの各種ディスプレイを、入力装置として、例えば、キーボード及びポインティング・デバイス(マウス、トラッキングボールなど)を適宜備え、これらは、バスラインにより接続されている。このような一般的なコンピュータにおいて、CPUは、フロントエンドサーバ2、バックエンドサーバ3、監視サーバ4及び管理者端末5を統括的に制御し、各種プログラムを適宜読み出して実行することにより、上述したハードウェアと協働し、本発明に係る各種機能を実現している。
続いて、図4を参照して、Webサーバシステム1の処理の流れについて説明する。
ユーザ端末8からリクエスト要求がなされると(S1)、フロントエンドサーバ2の要求受付手段21は、受け付けたリクエスト要求に基づいて、バックエンドサーバ3に対する処理、及び実行バックエンドサーバの種別を受け付ける(S11)。
すなわち、監視サーバ4の監視手段41は、複数のバックエンドサーバ3の各々に対して定期的にアクセスし、ネットワークの到達性や、各々が管理する各種データが最新のものであるか否かを監視する(S31)。このとき、障害(異常)を検知した場合には(S32でYES)、監視サーバ4の書換手段42は、書換対象処理記述部235、障害サーバ記述部236及び例外処理記述部237の記述を自動的に書き換える(S33)。一方、障害(異常)を検知しない場合には(S32でNO)、処理を終了する。
また、管理者端末5の管理者は、適宜Webサーバシステム1内の障害監視を行い(S41)、障害(異常)を発見した場合には(S42でYES)、書換対象処理記述部235、障害サーバ記述部236及び例外処理記述部237の記述を手動で書き換える(S43)。一方、障害(異常)を発見しない場合には(S42でNO)、処理を終了する。
続いて、本実施形態のWebサーバシステム1における例外処理実行時の動作について、図5及び図6の例示を参照して説明する。
2 フロントエンドサーバ
21 要求受付手段
22 プログラム実行手段
23 例外処理プログラム
231 要求処理判定手段
232 サーバ判定手段
233 プログラム書換手段
234 処理実行手段
235 書換対象処理記述部
236 障害サーバ記述部
237 例外処理記述部
3 バックエンドサーバ
4 監視サーバ
41 監視手段
42 書換手段
5 管理者端末
8 ユーザ端末
Claims (5)
- ユーザ端末からの要求を受け付ける要求受付手段と、当該要求に基づいて複数のバックエンドサーバに処理を実行させて、その結果を前記ユーザ端末に提供するインタプリタ型プログラムを実行するプログラム実行手段とを備えるフロントエンドサーバであって、
前記要求に基づいて前記バックエンドサーバに実行させる処理のうち、所定の例外処理条件に応じて指定された所定の処理を記述する前記インタプリタ型プログラムの該当部分の文字列を、例外処理を記述する文字列に書き換えるプログラム書換手段、を備え、
前記プログラム実行手段は、文字列判定により、前記要求に基づいてバックエンドサーバに実行させる処理が前記プログラム書換手段が書き換えた所定の処理であるか否かを判定し、当該書き換えた所定の処理である場合に、当該処理を実行する当該バックエンドサーバにアクセスすることなく前記プログラム書換手段が書き換えた文字列により記述された例外処理を実行して、当該例外処理の結果を前記ユーザ端末に通知する、
フロントエンドサーバ。 - 管理者端末と通信可能に接続され、
前記所定の例外処理条件は、前記管理者端末を用いた管理者からの要求に基づいて設定される、請求項1に記載のフロントエンドサーバ。 - 前記バックエンドサーバのネットワークの到達性を監視する監視サーバと通信可能に接続され、
前記所定の例外処理条件は、前記監視サーバからの要求に基づいて設定される、請求項1又は2に記載のフロントエンドサーバ。 - ユーザ端末からの要求に基づいて複数のバックエンドサーバに処理を実行させて、その結果を前記ユーザ端末に提供するフロントエンドサーバに、
前記要求に基づいて前記バックエンドサーバに実行させる処理のうち、所定の例外処理条件に応じて指定された所定の処理を記述する該当部分の文字列を、例外処理を記述する文字列に書き換えるプログラム書換ステップと、
文字列判定により、前記要求に基づいてバックエンドサーバに実行させる処理が前記プログラム書換ステップで書き換えた例外処理であるか否かを判定し、例外処理である場合に、前記要求に基づく処理を実行する前記バックエンドサーバにアクセスすることなく前記プログラム書換ステップで書き換えた文字列により記述された例外処理を実行して、当該例外処理の結果を前記ユーザ端末に通知する処理実行ステップと、
を実行させるインタプリタ型プログラム。 - ユーザ端末からの要求に基づいて複数のバックエンドサーバに処理を実行させて、その結果を前記ユーザ端末に提供するインタプリタ型プログラムを実行するフロントエンドサーバの実行する方法であって、
前記要求に基づいて前記バックエンドサーバに実行させる処理のうち、所定の例外処理条件に応じて指定された所定の処理を記述する該当部分の文字列を、例外処理を記述する文字列に書き換えるプログラム書換ステップと、
文字列判定により、前記要求に基づいてバックエンドサーバに実行させる処理が前記プログラム書換ステップで書き換えた例外処理であるか否かを判定し、例外処理である場合に、前記要求に基づく処理を実行する前記バックエンドサーバにアクセスすることなく前記プログラム書換ステップで書き換えた文字列により記述された例外処理を実行して、当該例外処理の結果を前記ユーザ端末に通知する処理実行ステップと、
を含む方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011142300A JP5384566B2 (ja) | 2011-06-27 | 2011-06-27 | フロントエンドサーバ、インタプリタ型プログラム及び方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011142300A JP5384566B2 (ja) | 2011-06-27 | 2011-06-27 | フロントエンドサーバ、インタプリタ型プログラム及び方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013008330A JP2013008330A (ja) | 2013-01-10 |
JP5384566B2 true JP5384566B2 (ja) | 2014-01-08 |
Family
ID=47675597
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011142300A Active JP5384566B2 (ja) | 2011-06-27 | 2011-06-27 | フロントエンドサーバ、インタプリタ型プログラム及び方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5384566B2 (ja) |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0964872A (ja) * | 1995-08-29 | 1997-03-07 | Nec Corp | ネットワークシステム |
JP3642004B2 (ja) * | 2000-05-22 | 2005-04-27 | 日本電気株式会社 | 中継装置、移動体無線通信システム、その障害通知方法、及びその障害通知プログラムを記録した記録媒体 |
JP2002373156A (ja) * | 2001-06-14 | 2002-12-26 | Toshiba Corp | クラスタ制御システム及びクラスタ制御システムにおけるシナリオ実行方法 |
-
2011
- 2011-06-27 JP JP2011142300A patent/JP5384566B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2013008330A (ja) | 2013-01-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10542022B2 (en) | Sandboxed execution of plug-ins | |
US10158541B2 (en) | Group server performance correction via actions to server subset | |
US9450876B1 (en) | Wear leveling and management in an electronic environment | |
JP5440273B2 (ja) | スナップショット管理方法、スナップショット管理装置、及びプログラム | |
CN108369544B (zh) | 计算系统中延期的服务器恢复方法和设备 | |
US10795756B2 (en) | System and method to predictively service and support the solution | |
US20170024293A1 (en) | Automatic serial starting of resource groups on failover | |
US9152487B2 (en) | Service outage details in an error message | |
US9049101B2 (en) | Cluster monitor, method for monitoring a cluster, and computer-readable recording medium | |
JP2011103030A (ja) | インシデント管理方法および運用管理サーバ | |
US10754368B1 (en) | Method and system for load balancing backup resources | |
US9454485B2 (en) | Sharing local cache from a failover node | |
US9317355B2 (en) | Dynamically determining an external systems management application to report system errors | |
US9349012B2 (en) | Distributed processing system, distributed processing method and computer-readable recording medium | |
JP5384566B2 (ja) | フロントエンドサーバ、インタプリタ型プログラム及び方法 | |
US11315693B2 (en) | Method and system for managing operation associated with an object on IoT enabled devices | |
US8850387B2 (en) | Integrated service framework | |
US8839190B2 (en) | Service manager for an integrated service framework | |
US8806427B2 (en) | Service plug-in and service base for an integrated service framework | |
US11599352B2 (en) | Method of creating an intelligent upgrade flow for a heterogeneous data center | |
CN111835857B (zh) | 用于访问数据的方法和装置 | |
US20240020188A1 (en) | System for tuning a java virtual machine | |
CN113839832A (zh) | 时序数据库集群网络探测方法、装置、介质和电子设备 | |
US8756563B2 (en) | Service controller for an integrated service framework |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130819 |
|
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: 20130903 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20131002 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5384566 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
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 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
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 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R371 | Transfer withdrawn |
Free format text: JAPANESE INTERMEDIATE CODE: R371 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |