JP4882537B2 - タイマ連携によるリクエスト制御方法 - Google Patents

タイマ連携によるリクエスト制御方法 Download PDF

Info

Publication number
JP4882537B2
JP4882537B2 JP2006169510A JP2006169510A JP4882537B2 JP 4882537 B2 JP4882537 B2 JP 4882537B2 JP 2006169510 A JP2006169510 A JP 2006169510A JP 2006169510 A JP2006169510 A JP 2006169510A JP 4882537 B2 JP4882537 B2 JP 4882537B2
Authority
JP
Japan
Prior art keywords
request
processing
server
information
control method
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.)
Expired - Fee Related
Application number
JP2006169510A
Other languages
English (en)
Other versions
JP2008003645A (ja
Inventor
健造 坂本
琢也 小木曽
貴之 浜田
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2006169510A priority Critical patent/JP4882537B2/ja
Publication of JP2008003645A publication Critical patent/JP2008003645A/ja
Application granted granted Critical
Publication of JP4882537B2 publication Critical patent/JP4882537B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Description

本発明は、クライアントから送信されるリクエスト(情報)に応じた処理を行うサーバ、これらのシステム(いわゆるクライアントサーバシステム)およびこれらを用いた制御方法に関する。より詳細には、いわゆるWebサーバと所定の機能を実行する機能サーバとを連携し、Webサーバで受付けられたリクエストに対する制御を実行する技術に関する。その中でも特に、リクエストに対するレスポンス(処理)に対する応答を、障害の発生などのために、所定の条件(一定時間内等)でできないことを検知した場合の通知に関する。なお、機能サーバとしては、いわゆるJ2EEサーバが含まれる(J2EEはサンマイクロシステムズ社の商標)。
従来、クライアントサーバシステムにおいて、クライアントのリクエストに基づいた処理を実行中のサーバ内で発生した障害を検知するものとして、特許文献1がある。
特許文献1においては、クライアントサーバシステムにおいて、レスポンスを低下させることなく、複数のクライアントからのリクエストを処理することを可能とすることを目的としている。特許文献1においては、この目的を達成するために以下の構成を取っている。サービススレッド23aは、クライアント21aからのリクエスト28を受信すると、要求された処理のタイムアウト時間と自分のスレッドIDをタイムアウト表25に書込む。そして、リクエスト28の処理を終了すると、タイムアウト表25内のタイムアウト時間及びスレッドIDを消去する。監視スレッド24は、定期的にタイムアウト表25からタイムアウト時間を読み出して、現在の時刻と比較することにより、設定されたタイムアウト時間までに処理を終了していないサービススレッドを検出する。タイムアウトしたサービススレッドを発見した場合には、当該サービススレッドを強制的に終了させて、クライアント21にエラーを通知する。
特開平8-263325号公報
しかしながら、特許文献1においては、従来はそもそもWebサーバと機能サーバが連携してリクエストを受付け、応答することは記載されていなかった。このことにも伴い、Webサーバと機能サーバ(Webコンテナ)間のタイマに関する連携基盤が確立されておらず、キューイングの時間も含めたリアルタイムで強制力のあるタイマ制御ができていなかった。そのため、Webサーバ側でタイムアウトしたにも関わらずWebコンテナ側で処理が仕掛かってしまい正常終了する、という事象が処理遅延発生時には多く見られた。この事象が発生すると、具体的には、(1)Webサーバでタイムアウトが発生した場合、クライアントではサーバ側の処理が正常終了したかどうかを把握する術がないため、クライアントは再度サーバにアクセスして処理結果を確認する必要が出てきてしまう。(2)クライアントが処理結果を確認するために再度サーバにアクセスした際に、サーバ側で仕掛中の処理が完了していない可能性があり、その処理が完了するまでの間クライアントは処理の結果を確認することができない。
が問題として挙げられる。
WebサーバとWebコンテナがタイマに関してリアルタイムな連携を行う基盤を整える。その処理内容は、Webサーバ側でタイムアウトを検知した場合、速やかにその旨をWebコンテナ側に通知し、リクエストの破棄を行い、処理に失敗した旨をWebサーバ経由でクライアントに通知する。すなわち、webサーバとWebコンテナでのタイムアウトについての役割(処理)分担にその特徴がある。
そして、Webサーバからタイムアウトを通知し、これをWebコンテナが受信した際の、当該Webコンテナでの該当リクエストに対する処理状況に応じて、Webコンテナ(もしくはWebサーバ)の対応処理を変更することも本発明に含まれる。例えば、該当リクエストのキューイング中もしくは業務処理中に、タイムアウト(を超過したことを示す情報)を受信した場合、リクエストの破棄処理(無効化処理)を行い、Webサーバ経由で破棄されたことを示す情報をクライアントに送信する。この際、業務処理中に受信した場合は、当該業務処理のトランザクションをロールバックしてからリクエストを破棄してもよい。なお、破棄されたことを示す情報は、webコンテナからクライアント端末に直接送信してもよい。
また、ここで、該当リクエストのキューイング中および業務処理中のいずれでもない場合に通知を受信した場合には、該当リクエストが正常終了した旨の通知を出力する。この通知も、webサーバを経由してクライアント端末に送信してもよい(これには、webサーバに送信し、webサーバがクライアント端末にその通知の形式などを変更して送信することも含み、破棄を示す通知の場合も同じ)し、直接クライアント端末に送信してもよい。
これによって、(1)の課題については、Webサーバでタイムアウトを検知した場合はWebコンテナ側でリクエストを破棄するため、処理結果が不明ではなく失敗している、という確実な情報をクライアントに返すことができ、状況は改善される。また、(2)の課題については、WebサーバとWebコンテナでリクエストのステータスについて同期が取れているため、クライアントが処理の失敗を認識して再度リクエストを送信した場合においても、サーバ側で処理が仕掛中のために待たされるような事象はなくなるため、状況は改善される。
本発明には、以下の態様も含まれる。なお、ここでは、リクエスト制御方法として表現されているが、各構成要件(クライアント端末、webサーバ、機能サーバ)を含むシステムおよびこれら各構成要件も本発明に含まれる。
クライアント端末とwebサーバと機能サーバが互いに接続されたシステムを用いたタイマ連携によるリクエスト制御方法において、前記クライアント端末から前記webサーバに対して、処理要求を含むリクエスト情報を送信し、前記webサーバが、前記リクエスト情報を受信し、受信されたリクエスト情報を前記機能サーバに送信し、前記機能サーバが、送信された前記リクエスト情報に対応する情報処理を実行し、前記webサーバが、前記リクエスト情報に対応する前記機能サーバの処理応答について、予め定められた時間外になっても前記処理応答がなされていないことを検知し、検知された内容を前記機能サーバに送信し、前記機能サーバは、前記情報処理の進捗状況が所定の条件を満たしているか否かを判定し、満たしている場合には前記リクエスト情報を無効化し、当該無効化を実行した旨を示す情報を前記クライアント端末に送信することを特徴とするタイマ連携によるリクエスト制御方法。また、このタイマ連携によるリクエスト制御方法において、前記機能サーバは、前記リクエスト情報のキューイング中もしくは対応する情報処理中に、前記検知された内容を受信した場合、前記所定の条件を満たすと判定することを特徴とするタイマ連携によるリクエスト制御方法。
また、このタイマ連携によるリクエスト制御方法において、前記機能サーバは、前記情報処理中に、前記検知された内容を受信した場合、当該情報処理のトランザクションをロールバックしてから前記リクエスト情報に対する無効化処理を実行することを特徴とするタイマ連携によるリクエスト制御方法。また、これらのタイマ連携によるリクエスト制御方法において、前記機能サーバは、前記リクエスト情報のキューイング中および対応する情報処理中のいずれでもない場合には、該当リクエストが正常終了した旨の通知を前記クライアント端末に送信することを特徴とするタイマ連携によるリクエスト制御方法。
WebサーバとWebコンテナのタイマ連携によって、従来技術では不可能であったキューイング中のリクエストの破棄が可能となる。これによって、従来遅延発生時に頻発していた「Webサーバがタイムアウトをクライアント端末に返すが、サーバ側で処理が仕掛かって正常に完了している」という不整合の発生確率を低減することが可能となる。
以下、本発明の実施の形態を詳細に説明する。
図1は、本発明をオンラインシステムの一般的な端末取引に適用した場合の処理手順の実施の形態を示すフローチャートであり、図2は、本発明に関わるサーバ装置の概要を示したブロック図である。
まず、図2のブロック図に基づいて全体の構成を示す。
クライアント端末10は、一般のエンドユーザが所有する携帯電話端末やPC端末を表している。クライアント端末が処理の起点となって、様々な処理の要求(リクエスト)をサーバに対して送信することが、最初のアクションとなる。
Webサーバ12は、クライアント端末10から受信したリクエストについて、(1)(既存)リクエストのURLより該当するWebコンテナ14上のアプリケーションに対して振分けを行う、(2)(既存)リクエストをリクエスト管理テーブル20に登録し、個々のリクエスト単位でタイマ監視を行う、(3)(新規)タイマ監視で閾値を超過したリクエストについてはWebコンテナ14に対してリクエストの破棄を要求するの役割を持つ。上記(1)(2)は既存のWebサーバが有する機能であり、(3)が本明細書にて提案するWebサーバの新機能に該当する。
Webコンテナ14では、Webサーバより振り分けられたリクエストを受信して、実際の業務処理を行う。Webサーバとのタイマ値の連携により、従来機能ではなし得なかった「Webサーバ側でのタイムアウト時のWebコンテナにおけるリクエストの破棄」が実現可能となる。
なお、上述した各装置は、いわゆるコンピュータであり、それぞれプログラムや情報を格納する記憶装置、メモリ、制御装置(CPU)を有し、メモリに展開されたプログラムに従って制御装置が処理を実行する。
次に、図1のフローチャートに基づいて、図1、図2及び図3の各部の動作(すなわち、上述した処理の内容)を説明する。
図1において、クライアント端末10はリクエストをサーバに対して送信する(ステップ100)。すなわち、要求する処理内容を特定する情報を含むリクエストを送信する。
サーバ側では、まずWebサーバ12がこのリクエストを受信する(ステップ102)。次に、Webサーバ12は、リクエスト管理テーブル20に受信したリクエストに関する情報(クライアントにユニークな情報(IPアドレス、端末機種名など)22、クライアントが要求したURL24、リクエストのタイマ監視開始時刻26及びリクエストのタイマ監視の閾値28)を登録する。そして、リクエストごとに個別にタイマ監視を開始する(ステップ104)。すなわち、ここで内蔵したタイマに起動をかけ、リクエスト管理テーブルのユニークな情報と対応付けてタイマの値を検知する。そして、この値とテーブルに格納された閾値を比較して、閾値を超過していないか判断する。
そして、リクエストをWebコンテナ14へ送信する(ステップ106)。
また、Webサーバ12は、ステップ104で開始されたタイマの閾値を超過するかどうか継続的に監視する(ステップ108)。ここでは、リクエストに対する応答(処理)が実行されたことを示す情報を受信するまでステップ108を実行してもよい。また、応答(処理)が実行されたことを示す情報を受信した場合に閾値内であれば、NOと判断してステップ136に進んでもよい。この処理内容は、ステップ104と同様の処理を行ってもよい。
閾値を超過したと判断した場合は、タイマの閾値を超えた旨をWebコンテナへ通知する(ステップ110)。タイマの閾値を超えることなくWebコンテナ側で処理が完了した場合(完了通知の受信などで判定)、処理が正常終了した旨及び処理結果をWebコンテナより受信して、クライアントに対して同情報を送信する(ステップ136)。
<Webサーバの挙動>
まずWebサーバがタイマの閾値を超えた旨をWebコンテナへ通知する(ステップ110)。この際、リクエストに対する破棄を要求する情報を、Webコンテナ14に送信する。そしてWebコンテナ14から応答が送信された場合、これを受信する。Webコンテナから「リクエストの破棄に成功した」旨の通知(情報)を受信した(ステップ134)後、その旨を示す情報を、クライアント端末にレスポンスとして送信する。具体的には、例えばクライアントからのリクエストが口座振込処理であった場合、「振込処理に失敗しました。再度やり直してください」等のメッセージを含む情報を送信する。
<Webコンテナの挙動>
WebコンテナはWebサーバからリクエストを受信した(ステップ112)後、実行スレッドの空きの有無を確認する(ステップ114)。
ここでスレッドに空きがあった場合、リクエストをスレッドに移行して業務処理(トランザクション)を開始する(ステップ120)。スレッドに空きがなかった場合はリクエストを実行待ちキュー(既存)にキューイングし(ステップ116)、スレッドに空きが出た時点でスレッドに移行する(ステップ120)。
キューイングされている間、Webコンテナは常にWebサーバからのタイムアウト検知の通知を受信できる状態を維持している(ステップ118)。タイムアウトの通知を受信した場合、即座にリクエストの破棄を行い(ステップ126)、リクエストが破棄された旨をWebサーバへ通知する(ステップ128)。タイムアウトの通知を受信しなかった場合は、スレッドの空きを待って空きが出た時点でスレッドに移行する(ステップ120)。
リクエストがスレッドに移行すると、Webコンテナはトランザクションを開始する(ステップ120)。トランザクションの仕掛中(トランザクションが開始した後終了するまでの間)についても、Webコンテナは常にWebサーバからのタイムアウト検知の通知を受信できる状態を維持している(ステップ122)。トランザクション仕掛中にタイムアウトの通知を受信した場合、まずトランザクションのロールバックを行い(ステップ124)、リクエストを破棄し(ステップ126)、リクエストの破棄に成功した旨をWebサーバへ通知する(ステップ128)。トランザクション仕掛中にタイムアウトの通知を受信しなかった場合、トランザクションをコミットし(ステップ130)、リクエストが正常終了した旨をWebサーバへ通知する(ステップ132)。
本発明の処理手順の実施の形態を示すフローチャートである。 本発明を適用する前の既存技術の処理手順の形態を示すフローチャートである。 本発明に関わるサーバ装置のブロック図である。
符号の説明
10 クライアント端末
12 Webサーバ
14 Webコンテナ
20 リクエスト管理テーブル

Claims (4)

  1. クライアント端末とwebサーバと機能サーバが互いに接続されたシステムを用いたタイマ連携によるリクエスト制御方法において、
    前記クライアント端末から前記webサーバに対して、処理要求を含むリクエスト情報を送信し、
    前記webサーバが、前記リクエスト情報を受信し、受信されたリクエスト情報を前記機能サーバに送信し、
    前記機能サーバが、送信された前記リクエスト情報に対応する情報処理を実行し、
    前記webサーバが、前記リクエスト情報に対応する前記機能サーバの処理応答について、予め定められた時間外になっても前記処理応答がなされていないことを検知し、検知された内容を前記機能サーバに送信し、
    前記機能サーバは、前記検知された内容を受信した場合、前記情報処理の進捗状況が所定の条件を満たしているか否かを判定し、満たしている場合には前記リクエスト情報を無効化し、当該無効化を実行した旨を示す情報を前記クライアント端末に送信することを特徴とするタイマ連携によるリクエスト制御方法。
  2. 請求項1に記載のタイマ連携によるリクエスト制御方法において、
    前記機能サーバは、前記リクエスト情報のキューイング中もしくは対応する情報処理中
    に、前記検知された内容を受信した場合、前記所定の条件を満たすと判定することを特徴
    とするタイマ連携によるリクエスト制御方法。
  3. 請求項2に記載のタイマ連携によるリクエスト制御方法において、
    前記機能サーバは、前記情報処理中に、前記検知された内容を受信した場合、当該情報処理のトランザクションをロールバックしてから前記リクエスト情報に対する無効化処理を実行することを特徴とするタイマ連携によるリクエスト制御方法。
  4. 請求項2または3のいずれかに記載のタイマ連携によるリクエスト制御方法において、
    前記機能サーバは、前記リクエスト情報のキューイング中および対応する情報処理中のいずれにおいても、前記検知された内容を受信しなかった場合には、該当リクエストが正常終了した旨の通知を前記クライアント端末に送信することを特徴とするタイマ連携によるリクエスト制御方法。
JP2006169510A 2006-06-20 2006-06-20 タイマ連携によるリクエスト制御方法 Expired - Fee Related JP4882537B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006169510A JP4882537B2 (ja) 2006-06-20 2006-06-20 タイマ連携によるリクエスト制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006169510A JP4882537B2 (ja) 2006-06-20 2006-06-20 タイマ連携によるリクエスト制御方法

Publications (2)

Publication Number Publication Date
JP2008003645A JP2008003645A (ja) 2008-01-10
JP4882537B2 true JP4882537B2 (ja) 2012-02-22

Family

ID=39007997

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006169510A Expired - Fee Related JP4882537B2 (ja) 2006-06-20 2006-06-20 タイマ連携によるリクエスト制御方法

Country Status (1)

Country Link
JP (1) JP4882537B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5104479B2 (ja) * 2008-03-31 2012-12-19 富士通株式会社 情報処理装置
US8019608B2 (en) * 2008-08-29 2011-09-13 Multimodal Technologies, Inc. Distributed speech recognition using one way communication
JP5229747B2 (ja) * 2010-05-28 2013-07-03 エヌイーシーコンピュータテクノ株式会社 情報処理装置及び情報処理装置の実行制御方法
JP5190498B2 (ja) * 2010-09-15 2013-04-24 株式会社東芝 中継装置、中継システム、及び中継プログラム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08263325A (ja) * 1995-03-20 1996-10-11 Fujitsu Ltd サーバ処理装置、サーバ内障害検出装置及びサーバ内障害検出方法
JP4509302B2 (ja) * 2000-05-16 2010-07-21 シャープ株式会社 アプリケーションサーバの処理方法
JP3882917B2 (ja) * 2003-04-03 2007-02-21 日本アイ・ビー・エム株式会社 情報処理システム、情報処理装置及びプログラム
JP2006146678A (ja) * 2004-11-22 2006-06-08 Hitachi Ltd 情報処理装置におけるプログラム制御方法、情報処理装置、及びプログラム

Also Published As

Publication number Publication date
JP2008003645A (ja) 2008-01-10

Similar Documents

Publication Publication Date Title
WO2021121370A1 (zh) 用于消息队列的消息丢失检测方法和装置
US7784059B2 (en) Stateless asynchronous message transmission
CN110096340B (zh) 定时任务处理方法及装置
US8510755B2 (en) Automatically re-starting services
CN105302676B (zh) 一种分布式文件系统的主备机制数据传输方法及装置
CN107277083B (zh) 一种数据交互的处理方法、装置及系统
US9088603B2 (en) File transfer method and device
CN114500552B (zh) 边缘计算场景下的云边消息可靠性传输方法及装置
JP4882537B2 (ja) タイマ連携によるリクエスト制御方法
CN113986501A (zh) 实时数据库api无中断调用方法、系统、存储介质及服务器
CN112350914A (zh) 基于MQTT云平台的Modbus通信方法及系统
JP2010113617A (ja) クラスタシステム制御プログラム、クラスタシステム、クラスタシステム制御方法
US20030120713A1 (en) Method and apparatus for a fast process monitor suitable for a high availability system
JP2006285867A (ja) ファイル管理システム、監視サーバ、ファイルサーバ、ファイル管理方法、及び、プログラム
JP5329589B2 (ja) トランザクション処理システム及びトランザクション処理システムの動作方法
CN111274047A (zh) 信息处理方法、终端、系统、计算机设备和存储介质
CN111162952A (zh) 一种设备容错方法及装置
CN116112536A (zh) 一种tcp-串口通信透传的方法及装置
US9258391B2 (en) Processing method and apparatus
CN115150464A (zh) 应用代理方法、装置、设备及介质
JP2007133795A (ja) クラスタ構成の業務システム
CN109391656B (zh) 一种设备管理会话的恢复方法、装置、客户端及服务器
JP2008052358A (ja) 非同期リクエスト伝達システム
EP1527584A2 (en) Forestalling long time-outs in processes
JP2006185229A (ja) オンライン同期処理方法及び装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090129

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110823

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110824

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111021

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111121

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20141216

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20141216

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees