JP2004295683A - アプリケーションサーバおよびキャッシュプログラム - Google Patents
アプリケーションサーバおよびキャッシュプログラム Download PDFInfo
- Publication number
- JP2004295683A JP2004295683A JP2003089216A JP2003089216A JP2004295683A JP 2004295683 A JP2004295683 A JP 2004295683A JP 2003089216 A JP2003089216 A JP 2003089216A JP 2003089216 A JP2003089216 A JP 2003089216A JP 2004295683 A JP2004295683 A JP 2004295683A
- Authority
- JP
- Japan
- Prior art keywords
- update
- database
- application server
- cache
- cache memory
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24552—Database cache management
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【解決手段】アプリケーションサーバ30内部の主制御部30は、端末1,2から検索要求を受信した場合にSQL検索式を作成してデータベース50の検索を実行し、検索結果を端末1,2に送信するとともに、検索式と検索条件とを関連付けてキャッシュメモリ32に記憶する。更新処理部33は、更新間隔設定部34によって設定された更新間隔に基づいて主制御部31に更新要求を出力し、主制御部31は、更新要求を受信した場合にキャッシュメモリ32から検索式を読み出して再度データベース50の検索をおこない、検索結果をキャッシュメモリ32に記憶することでキャッシュメモリ32の内容を更新する。
【選択図】 図1
Description
【発明の属する技術分野】
この発明は、端末からの検索要求を受けてデータベース内のデータを検索し、検索結果を端末に送信するアプリケーションサーバおよびアプリケーションサーバ上で動作するキャッシュプログラムに関し、特に、データベース側に依存することなくキャッシュ内容の更新を実行可能なアプリケーションサーバおよびキャッシュプログラムに関する。
【0002】
【従来の技術】
従来、ウェブ・ブラウザを使用してインターネットで電子商取引を行ったり、イントラネットから企業内データベースにアクセスするシステムにおいて、端末からデータベースへのアクセスを制御する為のミドルウェアとしてアプリケーションサーバが用いられてきた。
【0003】
ウェブ・ブラウザでは状態遷移の取り扱いが難しいことから、データベースのトランザクション処理が困難であったが、アプリケーションサーバを使用することで、こうしたシステムの構築および運用が容易になる。
【0004】
このようにアプリケーションサーバを利用したシステムでは、データベースへのアクセスを軽減するため、アプリケーションサーバにキャッシュを設けることが行われてきた(例えば、非特許文献1参照。)。
【0005】
【非特許文献1】
Webシステム入門 2003年1月23日 HYPERLINK ”http://www.atmarkit.co.jp/fjava/rensai2/websys08/websys08.html” http://www.atmarkit.co.jp/fjava/rensai2/websys08/websys08.html
【0006】
【発明が解決しようとする課題】
しかしながら、上述した従来のアプリケーションサーバでは、キャッシュメモリの内容とデータベースの内容との不整合を防止するため、データベースに更新があった場合にデータベース側から通知を受け取っていた。
【0007】
このようにデータベース側からの通知をもとにキャッシュメモリをリフレッシュすることとすると、データベース側にアプリケーションサーバに更新を通知するための手段が必要となる。すなわち、従来のアプリケーションサーバにおけるキャッシュ方法では、キャッシュを行うためにデータベースと協働する必要があり、アプリケーションサーバ単独でキャッシュ処理を行うことができないという問題点があった。
【0008】
特に近年、アプリケーションサーバなどにおいて動作するプログラムは、J2EE(JAVA 2 Enterprise Edition)などのオブジェクト指向言語による部品化が進められているが、データベース側の処理に依存することにより、プログラムの部品化が困難になるという問題が生ずる。
【0009】
さらに、データベース側ではアプリケーションサーバにおけるキャッシュ内容を記憶しておらず、また、アプリケーションサーバ側ではキャッシュ内容がデータベースのどこから抽出されたかを記憶していない。そのため、データベースに更新があった場合に、キャッシュ内容のリフレッシュが必要か否かに関わらず更新通知が送られることとなり、アプリケーションサーバはリフレッシュが必要でないキャッシュをも消去していた。この結果、キャッシュのリフレッシュが必要以上に発生し、サーバの負荷が上昇するという問題があった。
【0010】
また、データベースに接続するアプリケーションサーバの数が増加すると、データベースが各アプリケーションサーバのキャッシュ処理に要する負荷の上昇を招き、データベースの処理速度低下が発生することとなる。
【0011】
この発明は、上述した従来技術による問題点を解消するためになされたものであり、データベース側に依存することなくキャッシュ内容の更新を実行可能なアプリケーションサーバおよびキャッシュプログラムを提供することを目的とする。
【0012】
【課題を解決するための手段】
上述した課題を解決し、目的を達成するため、請求項1の発明に係るアプリケーションサーバは、端末からの検索要求を受けてデータベース内のデータを検索し、検索結果を端末に送信するアプリケーションサーバであって、検索条件と検索結果とを関連付けてキャッシュメモリに記憶させるキャッシュ手段と、前記キャッシュメモリの内容の更新間隔を指定する更新間隔設定手段と、前記更新間隔設定手段によって指定された間隔で前記キャッシュメモリから検索条件を読み出し、当該検索条件に基づいて前記データベース内のデータを再度検索して前記キャッシュメモリを更新する更新処理手段と、を備えたことを特徴とする。
【0013】
この請求項1の発明によれば、アプリケーションサーバは、更新間隔設定手段によって設定された更新間隔でキャッシュメモリに記憶した検索条件を読み出し、読み出した検索条件を用いて再度データベースの検索を実行し、検索結果をもとにキャッシュメモリの内容を更新する。
【0014】
また、請求項2の発明に係るアプリケーションサーバは、請求項1の発明において、前記更新間隔設定手段は、前記データベース内におけるデータ更新の頻度をもとに、前記更新間隔を設定することを特徴とする。
【0015】
この請求項2の発明によれば、アプリケーションサーバは、データベースにおける更新頻度をもとに設定した更新間隔を用い、キャッシュメモリに記憶した検索条件を読み出して更新を実行する。
【0016】
また、請求項3の発明に係るアプリケーションサーバは、請求項2の発明において、前記更新処理手段は、前記データベースを再度検索する場合に、前記データベースにおけるデータの更新頻度を取得し、前記更新間隔設定手段は、前記更新処理手段が取得した更新頻度をもとに前記更新間隔を設定することを特徴とする。
【0017】
この請求項3の発明によれば、アプリケーションサーバは、キャッシュメモリに記憶した検索条件を用いてデータベースの検索を行う場合に、データベースにおけるデータの更新頻度を取得してキャッシュメモリの更新間隔を設定する。
【0018】
また、請求項4の発明に係るキャッシュプログラムは、請求項1の発明において、端末からの検索要求と、当該検索要求に基づく検索結果とを関連付けてキャッシュメモリに記憶し、記憶した検索要求と同一内容の検索要求を受信した場合に、前記キャッシュメモリから検索結果を読み出すキャッシュプログラムであって、前記キャッシュ手段が記憶する内容の更新間隔を指定する更新間隔設定手順と、前記更新間隔設定手順によって指定された間隔で前記キャッシュメモリから検索条件を読み出し、当該検索条件に基づいて前記データベース内のデータを再度検索して前記キャッシュメモリを更新する更新処理手順と、をコンピュータに実行させることを特徴とする。
【0019】
この請求項4の発明によれば、キャッシュプログラムは、更新間隔設定手順によって設定された更新間隔でキャッシュメモリに記憶した検索条件を読み出し、読み出した検索条件を用いて再度データベースの検索を実行し、検索結果をもとにキャッシュメモリの内容を更新する。
【0020】
また、請求項5の発明に係るキャッシュプログラムは、請求項4の発明において、前記更新間隔設定手順は、前記データベース内におけるデータ更新の頻度をもとに、前記更新間隔を設定することを特徴とする。
【0021】
この請求項5の発明によれば、キャッシュプログラムは、データベースにおける更新頻度をもとに設定した更新間隔を用い、キャッシュメモリに記憶した検索条件を読み出して更新を実行する。
【0022】
【発明の実施の形態】
以下に添付図面を参照して、この発明に係るアプリケーションサーバおよびキャッシュプログラムの好適な実施の形態について説明する。
【0023】
まず、この実施の形態にかかるアプリケーションサーバの概要構成について説明する。図1は、この実施の形態にかかるアプリケーションサーバの概要構成を説明する概要構成図である。図1に示すように、端末1および端末2は、ネットワーク10およびワールドワイドウェブ(WWW)サーバ20を介してアプリケーションサーバ30に接続している。さらにアプリケーションサーバ30は、データベースマネジメントシステム(DBMS)40を介してデータベース50に接続している。
【0024】
また、アプリケーションサーバ30は、その内部に主制御部31、キャッシュメモリ32、更新処理部33および更新間隔設定部34を有する。主制御部31は、アプリケーションサーバ30を全体制御する制御部であり、具体的にはWWWサーバ20およびネットワーク10を介して端末1,2から検索要求を受信した場合に、SQL(Structure Query Language)言語で記述したSQL検索式を作成してDBMS40に送信する処理や、DBMS40から受信した検索結果を端末に送信するとともに使用したSQL検索式と関連付けてキャッシュメモリ32に保存する処理などを行う。
【0025】
また、更新処理部33は、更新間隔設定部34が設定した更新間隔で、キャッシュメモリ32に保存されたキャッシュの更新(リフレッシュ)をおこなう。具体的には更新処理部33は、日付および時刻を監視し、更新間隔設定部34が設定した更新間隔に基づいて主制御部31に更新要求を送信する。主制御部31は、更新要求を受け取った場合にキャッシュメモリ32に保存したSQL検索式を読み出してデータベース50の検索を実行し、検索結果をキャッシュメモリ32に保存することで、キャッシュの内容を最新の状態に更新する。
【0026】
DBMS40は、アプリケーションサーバ30からSQL検索式を受信した場合に、このSQL検索式を用いてデータベース50を検索し、検索結果をアプリケーションサーバ30に送信する処理をおこなう。
【0027】
このように、アプリケーションサーバ30に更新処理部33を持たせて所定間隔でキャッシュの内容を更新することにより、DBMS40やデータベース50に依存することなくキャッシュの内容を最新の状態に更新することができる。
【0028】
また、端末3,4、ネットワーク10a、WWWサーバ20aおよびアプリケーションサーバ30aは、それぞれ端末1,2、ネットワーク10、WWWサーバ20およびアプリケーションサーバ30と同様の構成を有しており、アプリケーションサーバ30aは、アプリケーションサーバ30と同様に、キャッシュ内容の更新を行うことができる。
【0029】
すなわち、DBMS40に接続されるアプリケーションサーバは、それぞれが自らのキャッシュを独立して更新するので、DBMS40は各アプリケーションサーバに対して更新要求を送信する必要が無く、DBMS40にかかる処理負荷を軽減することができる。
【0030】
したがって、DBMS40は、接続されるアプリケーションサーバの数が増加しても処理速度を低下させることなく安定して動作することとなる。また、アプリケーションサーバ30がデータベースに対して独立して動作することから、アプリケーションサーバの追加、削除などの構成変更が容易となる。
【0031】
つぎに、アプリケーションサーバ30がデータベース50からデータを検索する場合についてさらに説明する。図2は、アプリケーションサーバ30がデータベース50からデータを検索する場合について説明する説明図である。同図に示すように、端末1が検索条件を送信したならば、アプリケーションサーバ30は、端末1が送信した検索条件をもとにSQL検索式を作成する。さらにアプリケーションサーバ30は、同一のSQL検索式をキャッシュメモリ32に保存しているか否かを確認し、キャッシュメモリ32に同一の検索式がなければDBMS40にSQL検索式を送信する。
【0032】
DBMS40は、アプリケーションサーバ30から受信したSQL検索式を用いてデータベース50の検索を実行し、検索結果をアプリケーションサーバ30に送信するので、アプリケーションサーバ30は、DBMS40から受信した検索結果を検索の要求元である端末1に送信する。この時、アプリケーションサーバ30は、DBMS40に送信したSQL検索式とDBMS40から受信した検索結果とを関連付けてキャッシュメモリ32に記憶する。
【0033】
つぎに、アプリケーションサーバ30がキャッシュメモリ32からデータを検索する場合について説明する。図3は、アプリケーションサーバ30がキャッシュメモリ32からデータを検索する場合について説明する説明図である。同図に示すように、端末1が検索条件を送信したならば、アプリケーションサーバ30は、端末1が送信した検索条件をもとにSQL検索式を作成する。さらにアプリケーションサーバ30は、同一のSQL検索式をキャッシュメモリ32に保存しているか否かを確認し、キャッシュメモリ32に同一の検索式が有れば、キャッシュメモリ32から検索結果を読み出して検索の要求元である端末1に送信する。
【0034】
つぎに、アプリケーションサーバ30におけるキャッシュの更新について説明する。図4は、アプリケーションサーバ30におけるキャッシュの更新について説明する説明図である。同図に示すように、アプリケーションサーバ30は、更新処理部33が更新要求を出力した場合に、キャッシュメモリ32からSQL検索式を読み出してDBMS40に送信する。
【0035】
DBMS40は、アプリケーションサーバ30から受信したSQL検索式を用いてデータベース50の検索を実行し、検索結果をアプリケーションサーバ30に送信するので、アプリケーションサーバ30は、DBMS40から受信した検索結果をキャッシュメモリ32に記憶させることで、キャッシュメモリ32の内容を更新する。
【0036】
このように、アプリケーションサーバ30は、データベース50の検索を行った場合にその検索結果を検索条件と関連付けてキャッシュメモリ32に記憶し、同一の検索条件を指定された場合にはキャッシュメモリ32から検索結果を読み出すので、データベース50にかかる負荷を軽減することができる。さらに、アプリケーションサーバ30がキャッシュの更新を行う場合、キャッシュメモリ32に記憶した検索条件(SQL検索式)を用いてデータベース50の検索をおこなうこととしているので、データベース50側にはSQL検索式から検索を実行する機能のみを実装すれば良い。
【0037】
つぎに、端末から検索条件を受信した場合のアプリケーションサーバの処理動作を説明する。図5は、端末から検索条件を受信した場合のアプリケーションサーバの処理動作を説明するフローチャートである。図5に示すように、端末から検索条件を受信したならば(ステップS101)、主制御部31は、検索条件をSQL検索式に変換する(ステップS102)。つぎに、主制御部31は、変換したSQL検索式と同一の内容がキャッシュメモリ32に保存されているかを確認する(ステップS103)。
【0038】
キャッシュメモリに32に同一のSQL検索式が保存されていれば(ステップS103,Yes)、主制御部31は、キャッシュメモリ32から検索結果を読み出し、検索結果を端末に送信して(ステップS108)、処理を終了する。
【0039】
一方、キャッシュメモリ32に同一の検索式が保存されていなければ(ステップS103,No)、主制御部31は、SQL検索式をDBMS40に送信する(ステップS105)。その後、主制御部31は、DBMS40から検索結果を受信したならば(ステップS106)、SQL検索式と検索結果とをキャッシュメモリ32に保存し(ステップS107)、検索結果を端末に送信して(ステップS108)、処理を終了する。
【0040】
つぎに、アプリケーションサーバ30がキャッシュ内容を更新する場合の処理動作について説明する。図6は、アプリケーションサーバ30がキャッシュ内容を更新する場合の処理動作について説明するフローチャートである。同図に示すように、まず、更新処理部33が日付データおよび時刻データを監視し(ステップS201)、更新指定日時になったならば(ステップS202,Yes)、主制御部31に更新要求を送信する。
【0041】
更新要求を受けた主制御部31は、キャッシュからSQL検索式を読み出し、DBMS40に送信する(ステップS204)。その後、主制御部31は、DBMS40から検索結果を受信し(ステップS205)、ステップ204において送信したSQL検索式と検索結果とを関連付けてキャッシュメモリ32に保存し(ステップS206)、処理を終了する。
【0042】
ところで、キャッシュメモリ32の更新間隔をデータベース50の更新頻度に比して短く設定し過ぎると、データベース50に更新がないにも関わらずキャッシュメモリの更新が繰り返されることとなり、ネットワーク内に不要なトラフィックが生じ、ネットワークの通信速度を圧迫する。また、キャッシュメモリ32の更新間隔をデータベース50の更新頻度に比して長く設定し過ぎると、データベース50が更新された後であってもアプリケーションサーバ30は更新前のデータを検索結果として端末に送信することとなり、検索結果の不整合が生じる。
【0043】
そこで、更新間隔処理部34によって指定される更新間隔は、データベース50における更新頻度に従って設定する必要がある。この更新間隔の設定は、利用者がデータベース50の更新頻度を確認して任意に設定の変更をすることとしても良いし、データベース50の更新頻度を自動的に取得し、更新間隔設定部34が自動的に適切な更新間隔を設定する構成としても良い。
【0044】
図7は、更新間隔設定部34が更新間隔を自動的に設定する場合の処理動作を説明するフローチャートである。同図に示すように、更新間隔設定部34は、まずデータベース50のうち、所定期間内に更新されたデータを取得する(ステップS301)。つぎに、更新間隔設定部34は、所定期間内に更新されたデータの数が一定の範囲内にあるか否かを判定し(ステップS302)、所定期間内に更新されたデータの数が一定の範囲内にあるならば(ステップS302,Yes)、そのまま処理を終了する。
【0045】
しかし、所定期間内に更新されたデータの数が一定の範囲内にない場合(ステップS302,No)、更新間隔設定部34は、更新されたデータの数が一定の範囲内に収まるように更新間隔を設定して処理を終了する。
【0046】
このように、データベース50における更新状況を取得し、キャッシュの更新間隔をデータベース50の更新頻度に対応して設定することで、データベースに不要な負荷をかけることなくキャッシュの更新が可能となる。
【0047】
ここで、キャッシュ内容の更新と更新間隔の設定とは、同時に行うこととしてもよい。すなわち、キャッシュ内容を更新する際にSQL検索式を用いて検索結果を取得するが、この時に各検索結果に含まれるデータの更新日時を取得し、取得した更新日時を用いて次回以降の更新間隔を設定するようにしてもよい。
【0048】
キャッシュ内容の更新時における検索結果を用いて更新間隔を設定することで、データベース50にかかる負荷を軽減するとともに、キャッシュ内容に含まれるデータのみを選択的に用いて更新間隔を設定することができる。たとえは、データベース全体では更新が頻繁におきていたとしても、アプリケーションサーバ30を介してアクセスされるデータにおいて更新頻度が低ければ、アプリケーションサーバ30でのキャッシュの更新間隔を長くすることができる。
【0049】
なお、複数のアプリケーションサーバの更新間隔は、それぞれ独立に設定可能であり、他のアプリケーションサーバの更新間隔に依存しないことは言うまでもない。
【0050】
上述してきたように、本実施の形態にかかるアプリケーションサーバ30では、更新間隔設定部34によって示された更新間隔をもとに、キャッシュメモリからSQL検索式を読み出してDBMS40に送信し、DBMS40から受信した検索結果によってキャッシュの内容を更新しているので、DBMS40やデータベース50に依存することなくキャッシュの内容を最新の状態に更新することができる。
【0051】
したがって、データベース側の負荷を軽減してデータベースの処理を高速化するとともに、キャッシュ処理の部品化を実現して汎用性の高いキャッシュプログラムを作成することができる。
【0052】
なお、本実施の形態では、部品化したキャッシュプログラムをアプリケーションサーバに設けているが、キャッシュプログラムの配置場所はアプリケーションサーバに限定されるものではなく、WWWサーバをはじめ、キャッシュ処理をおこなう装置に幅広く適用することが可能である。
【0053】
(付記1)端末からの検索要求を受けてデータベース内のデータを検索し、検索結果を端末に送信するアプリケーションサーバであって、
検索条件と検索結果とを関連付けてキャッシュメモリに記憶させるキャッシュ手段と、
前記キャッシュメモリの内容の更新間隔を指定する更新間隔設定手段と、
前記更新間隔設定手段によって指定された間隔で前記キャッシュメモリから検索条件を読み出し、当該検索条件に基づいて前記データベース内のデータを再度検索して前記キャッシュメモリを更新する更新処理手段と、
を備えたことを特徴とするアプリケーションサーバ。
【0054】
(付記2)前記更新間隔設定手段は、前記データベース内におけるデータ更新の頻度をもとに、前記更新間隔を設定することを特徴とする付記1に記載のアプリケーションサーバ。
【0055】
(付記3)前記更新処理手段は、前記データベースを再度検索する場合に、前記データベースにおけるデータの更新頻度を取得し、前記更新間隔設定手段は、前記更新処理手段が取得した更新頻度をもとに前記更新間隔を設定することを特徴とする付記2に記載のアプリケーションサーバ。
【0056】
(付記4)端末からの検索要求と、当該検索要求に基づく検索結果とを関連付けてキャッシュメモリに記憶し、記憶した検索要求と同一内容の検索要求を受信した場合に、前記キャッシュメモリから検索結果を読み出すキャッシュプログラムであって、
前記キャッシュ手段が記憶する内容の更新間隔を指定する更新間隔設定手順と、
前記更新間隔設定手順によって指定された間隔で前記キャッシュメモリから検索条件を読み出し、当該検索条件に基づいて前記データベース内のデータを再度検索して前記キャッシュメモリを更新する更新処理手順と、
をコンピュータに実行させることを特徴とするキャッシュプログラム。
【0057】
(付記5)前記更新間隔設定手順は、前記データベース内におけるデータ更新の頻度をもとに、前記更新間隔を設定することを特徴とする付記4に記載のキャッシュプログラム。
【0058】
(付記6)前記更新処理手順は、前記データベースを再度検索する場合に前記データベースにおけるデータの更新頻度を取得し、前記更新間隔設定手順は、前記更新処理手順が取得した更新頻度をもとに前記更新間隔を設定することを特徴とする付記5に記載のキャッシュプログラム。
【0059】
【発明の効果】
以上説明したように、請求項1の発明によれば、アプリケーションサーバは、更新間隔設定手段によって設定された更新間隔でキャッシュメモリに記憶した検索条件を読み出し、読み出した検索条件を用いて再度データベースの検索を実行し、検索結果をもとにキャッシュメモリの内容を更新するので、データベース側に依存することなくキャッシュ内容の更新を実行可能なアプリケーションサーバが得られるという効果を奏する。
【0060】
また、請求項2の発明によれば、アプリケーションサーバは、データベースにおける更新頻度をもとに設定した更新間隔を用い、キャッシュメモリに記憶した検索条件を読み出して更新を実行するので、データベースの更新頻度に対応した更新間隔を自動的に設定してキャッシュ内容の更新を実行可能なアプリケーションサーバが得られるという効果を奏する。
【0061】
また、請求項3の発明によれば、アプリケーションサーバは、キャッシュメモリに記憶した検索条件を用いてデータベースの検索を行う場合に、データベースにおけるデータの更新頻度を取得してキャッシュメモリの更新間隔を設定するので、データベースに負荷をかけることなくキャッシュメモリの更新間隔を自動的に設定してキャッシュ内容の更新を実行可能なアプリケーションサーバが得られるという効果を奏する。
【0062】
また、請求項4の発明によれば、キャッシュプログラムは、更新間隔設定手順によって設定された更新間隔でキャッシュメモリに記憶した検索条件を読み出し、読み出した検索条件を用いて再度データベースの検索を実行し、検索結果をもとにキャッシュメモリの内容を更新するので、データベース側に依存することなくキャッシュ内容の更新を実行可能なキャッシュプログラムが得られるという効果を奏する。
【0063】
また、請求項5の発明によれば、キャッシュプログラムは、データベースにおける更新頻度をもとに設定した更新間隔を用い、キャッシュメモリに記憶した検索条件を読み出して更新を実行するので、データベースの更新頻度に対応した更新間隔でキャッシュ内容の更新を実行可能なキャッシュプログラムが得られるという効果を奏する。
【図面の簡単な説明】
【図1】本発明の実施の形態にかかるアプリケーションサーバの概要構成を説明する概要構成図である。
【図2】図1に示したアプリケーションサーバがデータベースからデータを検索する場合について説明する説明図である。
【図3】図1に示したアプリケーションサーバがキャッシュメモリからデータを検索する場合について説明する説明図である。
【図4】図1に示したアプリケーションサーバにおけるキャッシュの更新について説明する説明図である。
【図5】端末から検索条件を受信した場合のアプリケーションサーバの処理動作を説明するフローチャートである。
【図6】アプリケーションサーバがキャッシュ内容を更新する場合の処理動作について説明するフローチャートである。
【図7】更新間隔設定部が更新間隔を自動的に設定する場合の処理動作を説明するフローチャートである。
【符号の説明】
1〜4 端末
10,10a ネットワーク
20,20a WWWサーバ
30,30a アプリケーションサーバ
31 主制御部
32 キャッシュメモリ
33 更新処理部
34 更新間隔設定部
40 DBMS
50 データベース
Claims (5)
- 端末からの検索要求を受けてデータベース内のデータを検索し、検索結果を端末に送信するアプリケーションサーバであって、
検索条件と検索結果とを関連付けてキャッシュメモリに記憶させるキャッシュ手段と、
前記キャッシュメモリの内容の更新間隔を指定する更新間隔設定手段と、
前記更新間隔設定手段によって指定された間隔で前記キャッシュメモリから検索条件を読み出し、当該検索条件に基づいて前記データベース内のデータを再度検索して前記キャッシュメモリを更新する更新処理手段と、
を備えたことを特徴とするアプリケーションサーバ。 - 前記更新間隔設定手段は、前記データベース内におけるデータ更新の頻度をもとに、前記更新間隔を設定することを特徴とする請求項1に記載のアプリケーションサーバ。
- 前記更新処理手段は、前記データベースを再度検索する場合に、前記データベースにおけるデータの更新頻度を取得し、前記更新間隔設定手段は、前記更新処理手段が取得した更新頻度をもとに前記更新間隔を設定することを特徴とする請求項2に記載のアプリケーションサーバ。
- 端末からの検索要求と、当該検索要求に基づく検索結果とを関連付けてキャッシュメモリに記憶し、記憶した検索要求と同一内容の検索要求を受信した場合に、前記キャッシュメモリから検索結果を読み出すキャッシュプログラムであって、
前記キャッシュ手段が記憶する内容の更新間隔を指定する更新間隔設定手順と、
前記更新間隔設定手順によって指定された間隔で前記キャッシュメモリから検索条件を読み出し、当該検索条件に基づいて前記データベース内のデータを再度検索して前記キャッシュメモリを更新する更新処理手順と、
をコンピュータに実行させることを特徴とするキャッシュプログラム。 - 前記更新間隔設定手順は、前記データベース内におけるデータ更新の頻度をもとに、前記更新間隔を設定することを特徴とする請求項4に記載のキャッシュプログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003089216A JP4579501B2 (ja) | 2003-03-27 | 2003-03-27 | アプリケーションサーバおよびアプリケーションプログラム |
US10/766,839 US7711720B2 (en) | 2003-03-27 | 2004-01-30 | Application server, cache program, and application server system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003089216A JP4579501B2 (ja) | 2003-03-27 | 2003-03-27 | アプリケーションサーバおよびアプリケーションプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004295683A true JP2004295683A (ja) | 2004-10-21 |
JP4579501B2 JP4579501B2 (ja) | 2010-11-10 |
Family
ID=32985233
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003089216A Expired - Lifetime JP4579501B2 (ja) | 2003-03-27 | 2003-03-27 | アプリケーションサーバおよびアプリケーションプログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US7711720B2 (ja) |
JP (1) | JP4579501B2 (ja) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008299796A (ja) * | 2007-06-04 | 2008-12-11 | Toshiba Corp | データベースシステム及びその回答方法 |
JP2009217300A (ja) * | 2008-03-06 | 2009-09-24 | Hitachi Ltd | ヘテロジーニアスな計算機システムでの負荷分散制御方法 |
JP2010128831A (ja) * | 2008-11-28 | 2010-06-10 | Nomura Research Institute Ltd | データ検索システム、方法及びコンピュータプログラム |
JP2011198113A (ja) * | 2010-03-19 | 2011-10-06 | Nippon Telegr & Teleph Corp <Ntt> | 文書検索装置及び方法及びプログラム |
JP2014528114A (ja) * | 2011-08-02 | 2014-10-23 | アジャイ ジャドハブ | クラウドベースの分散永続性及びキャッシュデータモデル |
WO2014208543A1 (ja) * | 2013-06-24 | 2014-12-31 | 株式会社フィナンシャル・エージェンシー | 情報処理装置、情報処理システム、情報処理方法、及びプログラム |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070180110A1 (en) * | 2006-01-27 | 2007-08-02 | Ge Medical Systems Information Technologies, Inc. | System and method for retaining information in a data management system |
US8868504B2 (en) * | 2007-03-07 | 2014-10-21 | Oracle International Corporation | Database system with active standby and nodes |
US7877482B1 (en) * | 2008-04-01 | 2011-01-25 | Google Inc. | Efficient application hosting in a distributed application execution system |
US8005950B1 (en) | 2008-12-09 | 2011-08-23 | Google Inc. | Application server scalability through runtime restrictions enforcement in a distributed application execution system |
US8909863B2 (en) * | 2009-11-16 | 2014-12-09 | Microsoft Corporation | Cache for storage and/or retrieval of application information |
US8589361B2 (en) | 2010-08-30 | 2013-11-19 | Oracle International Corporation | Reduced disk space standby |
CN102542009B (zh) * | 2011-12-14 | 2018-03-13 | 中兴通讯股份有限公司 | 数据查询方法及装置 |
US9032385B2 (en) | 2011-12-28 | 2015-05-12 | Lg Electronics Inc. | Mobile terminal and control method thereof |
US10229221B1 (en) * | 2012-03-01 | 2019-03-12 | EMC IP Holding Company LLC | Techniques for cache updates based on quality of service |
US10311154B2 (en) | 2013-09-21 | 2019-06-04 | Oracle International Corporation | Combined row and columnar storage for in-memory databases for OLTP and analytics workloads |
US20170046438A1 (en) * | 2015-08-13 | 2017-02-16 | Quixey, Inc. | Cloud-Enabled Caching Architecture for On-Demand Native Application Crawling |
US10803039B2 (en) | 2017-05-26 | 2020-10-13 | Oracle International Corporation | Method for efficient primary key based queries using atomic RDMA reads on cache friendly in-memory hash index |
US10719446B2 (en) | 2017-08-31 | 2020-07-21 | Oracle International Corporation | Directly mapped buffer cache on non-volatile memory |
US11086876B2 (en) | 2017-09-29 | 2021-08-10 | Oracle International Corporation | Storing derived summaries on persistent memory of a storage device |
US10802766B2 (en) | 2017-09-29 | 2020-10-13 | Oracle International Corporation | Database with NVDIMM as persistent storage |
US10956335B2 (en) | 2017-09-29 | 2021-03-23 | Oracle International Corporation | Non-volatile cache access using RDMA |
CN110019332A (zh) * | 2017-09-29 | 2019-07-16 | 北京国双科技有限公司 | 一种基于预计算的数据查询方法及装置 |
US10732836B2 (en) | 2017-09-29 | 2020-08-04 | Oracle International Corporation | Remote one-sided persistent writes |
US11675761B2 (en) | 2017-09-30 | 2023-06-13 | Oracle International Corporation | Performing in-memory columnar analytic queries on externally resident data |
CN108600320A (zh) * | 2018-03-23 | 2018-09-28 | 阿里巴巴集团控股有限公司 | 一种数据缓存方法、装置及系统 |
US11170002B2 (en) | 2018-10-19 | 2021-11-09 | Oracle International Corporation | Integrating Kafka data-in-motion with data-at-rest tables |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5239644A (en) * | 1988-03-28 | 1993-08-24 | Hitachi, Ltd. | Data preloading method and system for using a buffer |
JPH06175920A (ja) | 1992-12-01 | 1994-06-24 | Oki Electric Ind Co Ltd | キャッシュ制御装置 |
US5748985A (en) * | 1993-06-15 | 1998-05-05 | Hitachi, Ltd. | Cache control method and cache controller |
JP4025379B2 (ja) * | 1996-09-17 | 2007-12-19 | 株式会社ニューズウオッチ | 検索システム |
JPH1115714A (ja) | 1997-06-25 | 1999-01-22 | Mitsubishi Electric Corp | 情報取得端末、情報キャッシュサーバ及び情報取得方法 |
US7079530B1 (en) * | 1999-02-25 | 2006-07-18 | Sprint Communications Company L.P. | System and method for caching toll free number information |
US6505200B1 (en) * | 2000-07-06 | 2003-01-07 | International Business Machines Corporation | Application-independent data synchronization technique |
JP4155382B2 (ja) * | 2001-01-25 | 2008-09-24 | 富士通株式会社 | パターン検索方法、パターン検索装置、パターン検索プログラムを記録したコンピュータ読み取り可能な記録媒体、パターン検索システムおよびパターン検索プログラム |
US20020107835A1 (en) * | 2001-02-08 | 2002-08-08 | Coram Michael T. | System and method for adaptive result set caching |
WO2002069172A1 (en) * | 2001-02-22 | 2002-09-06 | Didera, Inc. | Systems and methods for managing distributed database resources |
JP2003006225A (ja) * | 2001-06-27 | 2003-01-10 | Nec Corp | 情報提供方法及びそれに用いる情報提供装置並びに端末 |
US7043731B2 (en) * | 2001-07-12 | 2006-05-09 | Qwest Communications International, Inc. | Method and system for distributing access to group of objects based on round robin algorithm and only when the object is available |
CA2355418A1 (en) * | 2001-08-16 | 2003-02-16 | Ibm Canada Limited-Ibm Canada Limitee | A schema for sql statements |
US6775738B2 (en) * | 2001-08-17 | 2004-08-10 | International Business Machines Corporation | Method, system, and program for caching data in a storage controller |
US7966311B2 (en) * | 2002-06-17 | 2011-06-21 | Kenneth Haase | Systems and methods for processing queries |
US7020750B2 (en) * | 2002-09-17 | 2006-03-28 | Sun Microsystems, Inc. | Hybrid system and method for updating remote cache memory with user defined cache update policies |
US20040107319A1 (en) * | 2002-12-03 | 2004-06-03 | D'orto David M. | Cache management system and method |
-
2003
- 2003-03-27 JP JP2003089216A patent/JP4579501B2/ja not_active Expired - Lifetime
-
2004
- 2004-01-30 US US10/766,839 patent/US7711720B2/en active Active
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008299796A (ja) * | 2007-06-04 | 2008-12-11 | Toshiba Corp | データベースシステム及びその回答方法 |
JP2009217300A (ja) * | 2008-03-06 | 2009-09-24 | Hitachi Ltd | ヘテロジーニアスな計算機システムでの負荷分散制御方法 |
JP2010128831A (ja) * | 2008-11-28 | 2010-06-10 | Nomura Research Institute Ltd | データ検索システム、方法及びコンピュータプログラム |
JP2011198113A (ja) * | 2010-03-19 | 2011-10-06 | Nippon Telegr & Teleph Corp <Ntt> | 文書検索装置及び方法及びプログラム |
JP2014528114A (ja) * | 2011-08-02 | 2014-10-23 | アジャイ ジャドハブ | クラウドベースの分散永続性及びキャッシュデータモデル |
JP2018022514A (ja) * | 2011-08-02 | 2018-02-08 | アジャイ ジャドハブ | クラウドベースの分散永続性及びキャッシュデータモデル |
US10853306B2 (en) | 2011-08-02 | 2020-12-01 | Ajay JADHAV | Cloud-based distributed persistence and cache data model |
WO2014208543A1 (ja) * | 2013-06-24 | 2014-12-31 | 株式会社フィナンシャル・エージェンシー | 情報処理装置、情報処理システム、情報処理方法、及びプログラム |
JP2015007839A (ja) * | 2013-06-24 | 2015-01-15 | 株式会社フィナンシャル・エージェンシー | 情報処理装置、情報処理システム、情報処理方法、及びプログラム |
Also Published As
Publication number | Publication date |
---|---|
JP4579501B2 (ja) | 2010-11-10 |
US7711720B2 (en) | 2010-05-04 |
US20040193574A1 (en) | 2004-09-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2004295683A (ja) | アプリケーションサーバおよびキャッシュプログラム | |
US7792792B2 (en) | Synchronizing structured web site contents | |
US7991796B2 (en) | System and program for implementing scrollable cursors in a distributed database system | |
US20110179138A1 (en) | Method of reflecting on another device a change to a browser cache on a handheld electronic device, and assocaited device | |
CN105095226A (zh) | 网页资源加载方法及装置 | |
CN102075570A (zh) | 一种基于关键字的http报文缓存机制的实现方法 | |
WO2014161261A1 (zh) | 数据的存储方法及装置 | |
JP2004078783A (ja) | Wwwブラウザのキャッシュ管理装置、そのキャッシュ管理方法及びプログラム | |
JPH11272683A (ja) | 検察処理装置および記憶媒体 | |
US7752194B2 (en) | LDAP revision history | |
JP5143917B2 (ja) | キャッシュサーバ、キャッシュ管理方法およびキャッシュ管理プログラム | |
WO2021103791A1 (zh) | 处理数据的方法、装置及系统 | |
US6763381B1 (en) | Supervisory control system | |
US11055266B2 (en) | Efficient key data store entry traversal and result generation | |
JPH11175539A (ja) | 代理情報取得方法及びシステム及び代理情報取得プログラムを格納した記憶媒体 | |
JP6782219B2 (ja) | データ活用支援装置、データ活用支援システム、及びデータ活用支援方法 | |
JP2003162472A (ja) | ウェブページ閲覧方法およびウェブページ閲覧システムのクライアント並びにウェブページ閲覧プログラム | |
RU2316048C2 (ru) | Способ запроса/доставки электронного документа, основанный на расширяемой спецификации языка (xml) | |
JP2001337965A (ja) | 時系列データのwww検索システム | |
JP2006252409A (ja) | 文書管理装置、方法および記憶媒体 | |
JP2001014208A (ja) | ハイパーリンク管理方法及びシステム装置並びにハイパーリンク管理プログラムを記録した記録媒体 | |
EP1850243B1 (en) | Method of reflecting on another device a change to a browser cache on a handheld electronic device, and associated device | |
JP2011113324A (ja) | 端末装置 | |
TW591442B (en) | Dynamic update method of cache system in server and device thereof | |
JP2002342151A (ja) | Wwwキャッシュシステム及びwwwデータ先読み方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040726 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070612 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070813 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20070911 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071112 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20071128 |
|
A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20071221 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100611 |
|
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: 20100826 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130903 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4579501 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
EXPY | Cancellation because of completion of term |