JP2004280494A - Server node for database cache processing system - Google Patents

Server node for database cache processing system Download PDF

Info

Publication number
JP2004280494A
JP2004280494A JP2003071380A JP2003071380A JP2004280494A JP 2004280494 A JP2004280494 A JP 2004280494A JP 2003071380 A JP2003071380 A JP 2003071380A JP 2003071380 A JP2003071380 A JP 2003071380A JP 2004280494 A JP2004280494 A JP 2004280494A
Authority
JP
Japan
Prior art keywords
data
cache
client
database
node
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.)
Pending
Application number
JP2003071380A
Other languages
Japanese (ja)
Inventor
Shuichi Morikawa
修一 森川
Shigeo 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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2003071380A priority Critical patent/JP2004280494A/en
Publication of JP2004280494A publication Critical patent/JP2004280494A/en
Pending legal-status Critical Current

Links

Images

Landscapes

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

Abstract

<P>PROBLEM TO BE SOLVED: To resolve a problem wherein a search process is carried out twice in update information and data, and when a client node cache can not be used, a communication process is needed in addition, and there is no assurance that the target data is not updated during the two search processes. <P>SOLUTION: The server node for the database cache processing system comprises a cache management table for storing data information including update records of data stored in the client node cache, and a database management part for detecting a data update state if there is requested data in the client node cache according to the cache management table, and for sending the data of the database to the client node cache if there is no data or update when cache data is requested. <P>COPYRIGHT: (C)2005,JPO&NCIPI

Description

【0001】
【発明の属する技術分野】
この発明は、データを一時的に保持するデータキャッシュ処理システムにおけるサーバノードに関し、特にコンピュータネットワークのサーバノード上に配置されたデータベースに共用データを保持し、それを複数のクライアントノードから参照・更新する処理において、ネットワークを介した共用データの不要なデータ転送を削減するデータキャッシュ処理システムに適用して有効な技術に関するものである。
【0002】
【従来の技術】
サーバノードの共用データをクライアントノードに一時的に保持する共用データキャッシュ処理システムにおいて、まずサーバノードからクライアントノードにサーバノードにおける共用データの更新情報を送信し、サーバノードからの更新情報とクライアントノードのキャッシュでの更新情報とを比較し、更新情報が異なっている場合にサーバノードの共用データをクライアントノードに送信することにより、不要なデータ転送を無くしている(例えば、特許文献1参照)。
【0003】
【特許文献1】
特開2000−137689号第10頁〜第12頁、図19、(実施形態3)
【0004】
【発明が解決しようとする課題】
【0005】
従来のデータキャッシュ処理システムでは、まずキャッシュ対象の更新情報をサーバノードで検索してクライアントノードに送信し、クライアントノードでキャッシュの更新情報と比較して、クライアントノードでキャッシュ対象の共用データに更新情報が無いか、またはサーバノードの共用データが更新されている場合は再びサーバノードで検索してデータを取得するため、本来1回で済むはずのサーバノードの検索処理と通信処理が、クライアントノードキャッシュのデータが使用できない場合は更新情報を取得するために余分に必要となるという問題点があった。また、検索処理が更新情報とデータの2回行われるため、対象となるデータが2回の検索処理の間に他のクライアントノードから更新されないようにデータの一貫性を保障する方法に関する考慮がなされていない。さらにデータの更新有無の判定をクライアントノードで行っているため、同じデータをキャッシュしているクライアントノードが複数存在していても、各々の更新有無判定のために更新情報の検索が実行されてしまい、サーバノードに不要な負荷がかかるという問題点があった。
【0006】
この発明は上記のような問題点を解決するためになされたもので、クライアントノードキャッシュのデータが使用できない場合においてもサーバノードで検索処理を1回行うことでクライアントノードのキャッシュを更新でき、キャッシュを更新する際のデータの一貫性を保障することを目的とする。また、クライアントノードにおけるキャッシュ更新有無の判定処理でのサーバノードの負荷を軽減することを目的とする。
【0007】
【課題を解決するための手段】
この発明に係るサーバノードは、サーバノードにあるデータベースのデータをクライアントノードのキャッシュに一時的に保持するデータベースキャッシュ処理システムに適用され、クライアントノードのキャッシュに格納されたデータの更新記録を含む情報が記憶されたキャッシュ管理テーブルと、クライアントノードからキャッシュデータ要求が入力されたとき、キャッシュ管理テーブルのデータ情報からクライアントノードのキャッシュに要求データが格納されているか、格納されている場合に要求データの更新が最新のものか判定し、要求データ無または要求データが最新のものでない場合はデータベースのデータをクライアントノードのキャッシュに送信するデータベース管理部とを備えたものである。
【0008】
【発明の実施の形態】
実施の形態1.
図1はこの発明におけるネットワークを介してクライアントノードからサーバノードにアクセスする際のデータキャッシュ方法を示すデータベースキャッシュ処理システムの構成図である。
図1において、クライアントノード1はネットワーク2を介してサーバノード3と接続されている。クライアントノード1はデータ処理を要求するアプリケーションプログラム11と、アプリケーションプログラム11の要求に応じて処理の依頼や結果の応答を行うクライアント処理部12とクライアントキャッシュ14を備える。また、クライアント処理部12はクライアントキャッシュ14を制御するクライアントキャッシュ制御部13を有する。
【0009】
サーバノード3はデータベース全体を管理するデータベース管理部31、共用データの格納されているデータベース33、クライアントキャッシュ14に記憶されているデータの管理情報を記憶するキャッシュ管理テーブル35およびサーバキャッシュ37を有する。
データベース管理部31はデータ処理を行うデータベース処理部32とシステム全体のキャッシュを管理するキャッシュ管理部34とを有し、さらに、キャッシュ管理部34はサーバノード3のキャッシュを制御するサーバキャッシュ制御部36を有する。
【0010】
図2は本実施の形態のキャッシュ管理テーブル35の一構成例を示すものである。キャッシュ管理レコード38は、図1のキャッシュ管理部34がクライアントキャッシュ14に記憶しているデータを管理するための管理情報の一構成例を表している。キャッシュ管理レコード38はすべてのクライアントノード1のクライアントキャッシュ14のデータ数分存在し、表名、行識別子、行版名といったデータに関する情報と、クライアント識別子、領域識別子といったクライアントノード1に関する情報を含んでいる。
【0011】
次に動作について説明する。
まずアプリケーションプログラム11におけるデータベース33のデータ検索処理の流れを図3のフローチャートを用いて説明する。図3は本実施の形態のデータ検索処理手順を示すフローチャートである。
クライアントからデータ検索処理要求があると、ステップ41によりアプリケーションプログラム11からクライアント処理部12にデータの問合せが行われ、ステップ42でクライアント処理部12からデータベース管理部31にデータ問合せ要求が送信される。ステップ43においてデータ問合せはデータベース処理部32に渡り、データベース33のデータ検索処理が実行される。ステップ44ではキャッシュ管理部34はキャッシュ管理テーブル35を使い、問合せ要求元のクライアントノード1のクライアントキャッシュ14にデータベース処理部32での検索結果に該当するデータが存在するかどうか調べる。ステップ45においてクライアントキャッシュ14に該当するデータが存在している場合、ステップ46でキャッシュ管理部34はキャッシュ管理テーブル35の行版名の情報を使い、そのデータがキャッシュされた後に更新されているかどうか判定する。ステップ47においてデータが更新されていないときはステップ48でクライアント処理部12に使用するキャッシュの指示を送信する。ステップ54でクライアント処理部12はキャッシュ管理部34から送信されたキャッシュの指示によりクライアントキャッシュ14からデータを取り出し、アプリケーションプログラム11にデータを渡して、ステップ55の終了となる。
【0012】
ステップ45でクライアントキャッシュ14に該当するデータが存在しない場合、またステップ47でキャッシュされたデータがその後更新されている場合にはステップ49において、サーバキャッシュ制御部36はサーバキャッシュ37に該当データが存在するか調べる。データが存在しないときはステップ50でデータベース33からサーバキャッシュ37にデータを読み込む。そしてステップ51ではサーバキャッシュ37から該当するデータをクライアント処理部12に送信する。
【0013】
ステップ52ではキャッシュ管理部34はキャッシュ管理テーブル35にあるステップ51で送信したデータに関する情報を記録または更新する。ステップ53においてクライアントキャッシュ制御部13は送られてきたデータをクライアントキャッシュ14に追加する。そしてステップ54ではクライアント処理部12はクライアントキャッシュ14から結果データを取り出し、アプリケーションプログラム11にデータを渡して、ステップ55の終了となる。
【0014】
次にアプリケーションプログラム11におけるデータベース33のデータ更新処理の流れを図4のフローチャートを用いて説明する。図4は本実施の形態のデータ更新処理手順を示すフローチャートである。
ステップ61によりアプリケーションプログラム11からクライアント処理部12にデータの更新要求が行われると、ステップ62でクライアント処理部12からデータベース管理部31にデータ更新要求が送信される。ステップ63においてデータベース処理部32が更新対象となるデータの検索処理をデータベース33から行い、ステップ64でサーバキャッシュ制御部36は更新対象のデータがサーバキャッシュ37に存在するかどうか調べる。対象のデータがサーバキャッシュ37に存在しない場合、ステップ65で対象データをデータベース33からサーバキャッシュ37に読み込む。ステップ66においてサーバキャッシュ37のデータを更新する。サーバキャッシュ37の更新データは一般のキャッシュ制御方法によりデータベース33に反映される。
【0015】
ステップ67ではキャッシュ管理部34がキャッシュ管理テーブル35を使い、更新したデータをクライアントキャッシュ14に記憶しているクライアントノード1が存在するかどうか調べる。ステップ68で記憶しているクライアントノード1が存在している場合、ステップ69ではキャッシュ管理部34はキャッシュ管理テーブル35の情報を更新して、クライアントキャッシュ14のデータが更新されていることが判定できるようにする。ステップ70ではクライアント処理部12にデータの更新処理の完了通知を送信して、ステップ71の終了となる。
【0016】
以上のように、データ検索処理において、クライアントキャッシュ14にすでにデータが保持されている場合、データの転送は行わずにクライアントキャッシュ14のデータを使用するようにしているので、不要なデータ転送を削除することができる。
【0017】
また、クライアントキャッシュ14でのデータの有無、更新有無の判定をサーバノード3で行うようにしているので、キャッシュされているデータの更新情報の転送処理を省くことができる。
【0018】
さらに、キャッシュデータの有無、更新有無判定を実際の検索データにより行うようにしているので、更新情報の検索処理を削除することができ、サーバノード3の処理を減らすことができる。
【0019】
また、キャッシュの判定で使用したデータをクライアントノード1に転送するようにしているので、データの一貫性を保障することができる。
【0020】
さらにまた、クライアントノード1ではクライアントキャッシュ14の制御のみを行うようにしているので、クライアントノード1でのキャッシュデータの比較処理を省くことができる。
【0021】
実施形態2.
以上の実施形態1では、キャッシュ管理とデータベース処理を同じサーバノードで行うようにしたものであるが、次にキャッシュ専用のサーバノードを用意したような場合の実施の形態を示す。
図5はこのような場合のネットワークを介してクライアントノードからサーバノードにアクセスする際のデータキャッシュ方法を示すデータベースキャッシュ処理システムの構成図である。
図5において、クライアントノード1は、図1に示す実施の形態1と同様な構成をしており、データ処理を要求するアプリケーションプログラム11と、アプリケーションプログラム11の要求に応じて処理の依頼や結果の応答を行うクライアント処理部12とクライアントキャッシュ14を備え、また、クライアント処理部12はクライアントキャッシュ14を制御するクライアントキャッシュ制御部13を有する。
そして、ネットワーク2を介してサーバノード3aと接続されている。また、サーバノード3aはネットワーク2を介してサーバノード3bと接続されている。
【0022】
サーバノード3aはクライアントノード1、サーバノード3bと通信を行うデータベース通信部131、システム全体のキャッシュを管理するキャッシュ管理部34とキャッシュ管理テーブル35、サーバノード3bにおけるキャッシュ処理を制御するサーバキャッシュ制御部36とサーバキャッシュ37を有する。サーバノード3bはデータベース全体を管理するデータベース管理部31とデータの格納されているデータベース33を備え、データベース管理部31はデータ処理を行うデータベース処理部32を有する。
【0023】
次に動作について説明する。
まずアプリケーションプログラム11におけるデータベース33に対するデータ検索処理の流れを図6のフローチャートを用いて説明する。図6は本実施の形態のデータ検索処理手順を示すフローチャートである。
クライアントからデータ検索処理要求があると、ステップ151によりアプリケーションプログラム11からクライアント処理部12にデータの問合せが行われ、ステップ152でクライアント処理部12からデータベース通信部131にデータ問合せ要求が送信され、さらにデータベース通信部131からデータベース管理部31へ転送される。ステップ153においてデータ問合せはデータベース処理部32に渡り、データベース33のデータ検索処理が実行される。ステップ154でサーバキャッシュ37に該当するデータが既にある場合、ステップ155ではキャッシュ管理テーブル35を使い、問合せ要求元のクライアントノード11のクライアントキャッシュ14に検索結果に該当するデータが存在するかどうか調べる。ステップ156においてクライアントキャッシュ14に該当するデータが存在している場合、ステップ157でキャッシュ管理部34はキャッシュ管理テーブル35の情報を使い、そのデータがキャッシュされた後に更新されているかどうか判定する。ステップ158においてデータが更新されていないときはステップ159でクライアント処理部12に使用するキャッシュの指示を送信する。ステップ164でクライアント処理部12はキャッシュ管理部34から送信されたキャッシュの指示によりクライアントキャッシュ14からデータを取り出し、アプリケーションプログラム11にデータを渡して、ステップ165の終了となる。
【0024】
ステップ154でサーバキャッシュ37に該当するデータが存在しない場合は、ステップ160でサーバキャッシュ37にデータを転送してステップ161へ進む。ステップ156でクライアントキャッシュ14に該当するデータが存在しない場合、またステップ158でキャッシュされたデータがその後で更新されている場合、ステップ161において、サーバキャッシュ37から該当するデータをクライアント処理部12に送信する。ステップ162ではキャッシュ管理部34はキャッシュ管理テーブル35にあるステップ161で送信したデータに関する情報を更新する。ステップ163においてクライアントキャッシュ制御部13は送られてきたデータをクライアントキャッシュ14に追加する。そしてステップ164ではクライアント処理部112はクライアントキャッシュ14から結果データを取り出し、アプリケーションプログラム11にデータを渡して、ステップ165の終了となる。
【0025】
次にアプリケーションプログラム11におけるデータベース33に対するデータ更新処理の流れを図7のフローチャートを用いて説明する。図7は本実施の形態のデータ更新処理手順を示すフローチャートである。
ステップ171によりアプリケーションプログラム11からクライアント処理部12にデータの更新要求が行われると、ステップ172でクライアント処理部12からデータベース通信部131にデータ更新要求が送信され、さらにデータベース通信部131からデータベース管理部31へ転送される。ステップ173においてデータベース処理部32が更新対象となるデータの検索処理をデータベース33から行い、ステップ174でデータベース33のデータを更新する。ステップ175でサーバキャッシュ制御部34は更新対象のデータがサーバキャッシュ37に存在するかどうか調べる。対象のデータがサーバキャッシュ37に存在する場合、ステップ176で対象データをサーバキャッシュ37から削除する。ステップ177ではクライアント処理部12にデータの更新処理の完了通知を送信して、ステップ178の終了となる。
【0026】
以上のように、データ検索処理において、クライアントキャッシュ14にすでにデータが保持されている場合、データの転送は行わずにクライアントキャッシュ14のデータを使用するようにしているので、不要なデータ転送を削除することができる。
【0027】
また、クライアントキャッシュ14でのデータの有無、更新有無の判定をサーバノード3aで行うようにしているので、キャッシュされているデータの更新情報の転送処理を省くことができる。
【0028】
さらに、キャッシュデータの有無、更新有無判定を実際の検索データにより行うようにしているので、更新情報の検索処理を削除することができ、サーバノード3bの処理を減らすことができる。
【0029】
また、キャッシュの判定で使用したデータをクライアントノード1に転送するようにしているので、データの一貫性を保障することができる。
【0030】
さらに、クライアントノード1ではクライアントキャッシュ14の制御のみを行うようにしているので、クライアントノード1でのキャッシュデータの比較処理を省くことができる。
【0031】
そして、データベース処理用のサーバノード3a、キャッシュ管理用のサーバノード3bと処理単位でサーバノードを分けることにより負荷の分散が図られ、それぞれが同時に並行して動作することによりシステムの処理効率を高めることができる。
【0032】
【発明の効果】
以上のようにこの発明によれば、クライアントキャッシュでのデータの有無、更新有無の判定をサーバノードで行うようにしているので、キャッシュされているデータの更新情報の転送処理を省くことができる。
【図面の簡単な説明】
【図1】この発明の実施の形態1を示すデータベースキャッシュ処理システムのブロック図である。
【図2】この発明の実施の形態1におけるキャッシュ管理テーブルの一構成例を示す説明図である。
【図3】この発明の実施の形態1におけるデータの検索処理手順を示すフローチャート図である。
【図4】この発明の実施の形態1におけるデータの更新処理手順を示すフローチャート図である。
【図5】この発明の実施の形態2を示すデータベースキャッシュ処理システムのブロック図である。
【図6】この発明の実施の形態2におけるデータの検索処理手順を示すフローチャート図である。
【図7】この発明の実施の形態2におけるデータの更新処理手順を示すフローチャート図である。
【符号の説明】
1:クライアントノード、2:ネットワーク、3、3a、3b:サーバノード、11:アプリケーションプログラム、12:クライアント処理部、13:クライアントキャッシュ制御部、14:クライアントキャッシュ、31:データベース管理部、32:データベース処理部、33:データベース、35:キャッシュ管理テーブル、34:キャッシュ管理部、36:サーバキャッシュ制御部、37:サーバキャッシュ、131:データベース通信部。
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a server node in a data cache processing system for temporarily storing data, and more particularly, to holding shared data in a database arranged on a server node of a computer network, and referencing / updating the shared data from a plurality of client nodes. The present invention relates to a technique which is effective when applied to a data cache processing system for reducing unnecessary data transfer of shared data via a network in processing.
[0002]
[Prior art]
In a shared data cache processing system for temporarily storing shared data of a server node in a client node, first, the server node transmits update information of the shared data in the server node to the client node, and updates the shared information of the server node and the client node. Unnecessary data transfer is eliminated by comparing the update information in the cache and transmitting the shared data of the server node to the client node when the update information is different (for example, see Patent Document 1).
[0003]
[Patent Document 1]
JP-A-2000-137689, pp. 10-12, FIG. 19, (third embodiment)
[0004]
[Problems to be solved by the invention]
[0005]
In a conventional data cache processing system, first, a server node searches for update information to be cached and transmits it to a client node. The client node compares the update information with the cache update information, and the client node updates the cached shared data into shared data. If there is no server node, or if the shared data of the server node has been updated, the server node searches again and acquires the data. However, when the data cannot be used, there is a problem that extra data is required to obtain the update information. In addition, since the search process is performed twice, that is, update information and data, consideration is given to a method for ensuring data consistency so that target data is not updated from another client node during the two search processes. Not. Furthermore, since the client node determines whether data has been updated, even if there are a plurality of client nodes that cache the same data, a search for update information is performed for each of the updated nodes. However, there is a problem that an unnecessary load is applied to the server node.
[0006]
SUMMARY OF THE INVENTION The present invention has been made to solve the above problems. Even when data in a client node cache cannot be used, the server node can perform a search process once to update the client node cache. The purpose is to ensure the consistency of data when updating. It is another object of the present invention to reduce the load on the server node in the process of determining whether or not to update the cache in the client node.
[0007]
[Means for Solving the Problems]
The server node according to the present invention is applied to a database cache processing system that temporarily holds data of a database in a server node in a cache of a client node, and information including an update record of data stored in the cache of the client node is used. When a cache data request is input from the stored cache management table and the client node, the request data is stored in the cache of the client node based on the data information of the cache management table, or the request data is updated when stored. Is determined to be the latest one, and if there is no requested data or the requested data is not the latest one, a database management unit that transmits data of the database to the cache of the client node is provided.
[0008]
BEST MODE FOR CARRYING OUT THE INVENTION
Embodiment 1 FIG.
FIG. 1 is a configuration diagram of a database cache processing system showing a data cache method when a client node accesses a server node via a network according to the present invention.
In FIG. 1, a client node 1 is connected to a server node 3 via a network 2. The client node 1 includes an application program 11 for requesting data processing, a client processing unit 12 for requesting processing and responding to a result in response to a request from the application program 11, and a client cache 14. The client processing unit 12 has a client cache control unit 13 that controls the client cache 14.
[0009]
The server node 3 has a database management unit 31 for managing the entire database, a database 33 for storing shared data, a cache management table 35 for storing management information of data stored in the client cache 14, and a server cache 37.
The database management unit 31 includes a database processing unit 32 that performs data processing and a cache management unit 34 that manages a cache of the entire system. Further, the cache management unit 34 includes a server cache control unit 36 that controls a cache of the server node 3. Having.
[0010]
FIG. 2 shows a configuration example of the cache management table 35 according to the present embodiment. The cache management record 38 represents a configuration example of management information for managing data stored in the client cache 14 by the cache management unit 34 of FIG. The cache management records 38 exist for the number of data in the client caches 14 of all the client nodes 1 and include information on data such as table names, row identifiers, and row version names, and information on client nodes 1 such as client identifiers and area identifiers. I have.
[0011]
Next, the operation will be described.
First, the flow of the data search process of the database 33 in the application program 11 will be described with reference to the flowchart of FIG. FIG. 3 is a flowchart illustrating a data search processing procedure according to the present embodiment.
When there is a data search request from the client, the application program 11 inquires of the client processing unit 12 for data in step 41, and a data inquiry request is transmitted from the client processing unit 12 to the database management unit 31 in step 42. In step 43, the data inquiry is passed to the database processing unit 32, and the data search processing of the database 33 is executed. In step 44, the cache management unit 34 uses the cache management table 35 to check whether or not data corresponding to the search result in the database processing unit 32 exists in the client cache 14 of the client node 1 that has issued the inquiry request. If the corresponding data exists in the client cache 14 in step 45, the cache management unit 34 uses the information of the row version name of the cache management table 35 in step 46 to determine whether the data has been updated after being cached. judge. If the data has not been updated in step 47, an instruction for the cache to be used is transmitted to the client processing unit 12 in step 48. In step 54, the client processing unit 12 retrieves data from the client cache 14 according to the cache instruction transmitted from the cache management unit 34, passes the data to the application program 11, and ends step 55.
[0012]
If there is no corresponding data in the client cache 14 in step 45, or if the cached data has been updated in step 47, the server cache control unit 36 determines in step 49 that the corresponding data exists in the server cache 37. Find out what to do. If the data does not exist, the data is read from the database 33 to the server cache 37 in step 50. Then, in step 51, the corresponding data is transmitted from the server cache 37 to the client processing unit 12.
[0013]
In step 52, the cache management unit 34 records or updates information on the data transmitted in step 51 in the cache management table 35. In step 53, the client cache control unit 13 adds the transmitted data to the client cache 14. Then, in step 54, the client processing unit 12 retrieves the result data from the client cache 14, passes the data to the application program 11, and ends step 55.
[0014]
Next, the flow of the data update process of the database 33 in the application program 11 will be described with reference to the flowchart of FIG. FIG. 4 is a flowchart illustrating a data update processing procedure according to the present embodiment.
When a data update request is made from the application program 11 to the client processing unit 12 in step 61, a data update request is transmitted from the client processing unit 12 to the database management unit 31 in step 62. In step 63, the database processing unit 32 searches the database 33 for data to be updated, and in step 64, the server cache control unit 36 checks whether the data to be updated exists in the server cache 37. If the target data does not exist in the server cache 37, the target data is read from the database 33 into the server cache 37 in step 65. In step 66, the data in the server cache 37 is updated. The update data of the server cache 37 is reflected on the database 33 by a general cache control method.
[0015]
In step 67, the cache management unit 34 uses the cache management table 35 to check whether or not there is a client node 1 that stores updated data in the client cache 14. If the client node 1 stored in step 68 exists, in step 69, the cache management unit 34 updates the information in the cache management table 35, and can determine that the data in the client cache 14 has been updated. To do. In step 70, a completion notification of the data update process is transmitted to the client processing unit 12, and the process ends in step 71.
[0016]
As described above, when data is already stored in the client cache 14 in the data search processing, the data in the client cache 14 is used without transferring the data. Therefore, unnecessary data transfer is deleted. can do.
[0017]
Further, since the server node 3 determines whether or not data is present in the client cache 14 and whether or not the data is updated, the transfer process of the update information of the cached data can be omitted.
[0018]
Further, since the presence / absence of cache data and the presence / absence of update are determined based on the actual search data, the search processing of update information can be deleted, and the processing of the server node 3 can be reduced.
[0019]
Further, since the data used in the cache determination is transferred to the client node 1, data consistency can be guaranteed.
[0020]
Furthermore, since the client node 1 controls only the client cache 14, the process of comparing cache data in the client node 1 can be omitted.
[0021]
Embodiment 2. FIG.
In the first embodiment, cache management and database processing are performed by the same server node. Next, an embodiment in which a server node dedicated to cache is prepared will be described.
FIG. 5 is a configuration diagram of a database cache processing system showing a data cache method when a client node accesses a server node via a network in such a case.
In FIG. 5, a client node 1 has the same configuration as that of the first embodiment shown in FIG. 1, and includes an application program 11 for requesting data processing, a processing request and a result request in response to a request from the application program 11. It has a client processing unit 12 and a client cache 14 that make a response, and the client processing unit 12 has a client cache control unit 13 that controls the client cache 14.
And it is connected to the server node 3a via the network 2. The server node 3a is connected to the server node 3b via the network 2.
[0022]
The server node 3a includes a database communication unit 131 for communicating with the client node 1 and the server node 3b, a cache management unit 34 and a cache management table 35 for managing a cache of the entire system, and a server cache control unit for controlling cache processing in the server node 3b. 36 and a server cache 37. The server node 3b includes a database management unit 31 that manages the entire database and a database 33 in which data is stored. The database management unit 31 includes a database processing unit 32 that performs data processing.
[0023]
Next, the operation will be described.
First, the flow of a data search process for the database 33 in the application program 11 will be described with reference to the flowchart in FIG. FIG. 6 is a flowchart illustrating a data search processing procedure according to the present embodiment.
When there is a data search processing request from the client, in step 151, the application program 11 inquires of the client processing unit 12 for data. In step 152, the client processing unit 12 transmits a data inquiry request to the database communication unit 131. The data is transferred from the database communication unit 131 to the database management unit 31. In step 153, the data inquiry is passed to the database processing unit 32, and the data search processing of the database 33 is executed. If it is determined in step 154 that the data corresponding to the server cache 37 already exists, in step 155, the cache management table 35 is used to check whether the data corresponding to the search result exists in the client cache 14 of the client node 11 that has issued the inquiry request. If the corresponding data exists in the client cache 14 in step 156, the cache management unit 34 uses the information in the cache management table 35 in step 157 to determine whether or not the data has been updated after being cached. If the data has not been updated in step 158, an instruction for the cache to be used is transmitted to the client processing unit 12 in step 159. In step 164, the client processing unit 12 retrieves data from the client cache 14 according to the cache instruction transmitted from the cache management unit 34, passes the data to the application program 11, and ends step 165.
[0024]
If there is no corresponding data in the server cache 37 in step 154, the data is transferred to the server cache 37 in step 160, and the process proceeds to step 161. If there is no corresponding data in the client cache 14 in step 156, or if the cached data has been updated in step 158, the corresponding data is transmitted from the server cache 37 to the client processing unit 12 in step 161. I do. In step 162, the cache management unit 34 updates information on the data transmitted in step 161 in the cache management table 35. In step 163, the client cache control unit 13 adds the transmitted data to the client cache 14. Then, in step 164, the client processing unit 112 retrieves the result data from the client cache 14, passes the data to the application program 11, and ends step 165.
[0025]
Next, the flow of a data update process for the database 33 in the application program 11 will be described with reference to the flowchart in FIG. FIG. 7 is a flowchart illustrating a data update processing procedure according to the present embodiment.
When a request to update data is made from the application program 11 to the client processing unit 12 in step 171, a data update request is transmitted from the client processing unit 12 to the database communication unit 131 in step 172, and further, the database management unit 31. In step 173, the database processing unit 32 searches the database 33 for data to be updated, and in step 174, updates the data in the database 33. In step 175, the server cache control unit 34 checks whether the data to be updated exists in the server cache 37. If the target data exists in the server cache 37, the target data is deleted from the server cache 37 in step 176. In step 177, a notification of the completion of the data update process is transmitted to the client processing unit 12, and the process ends in step 178.
[0026]
As described above, when data is already stored in the client cache 14 in the data search processing, the data in the client cache 14 is used without transferring the data. Therefore, unnecessary data transfer is deleted. can do.
[0027]
Further, since the server node 3a determines whether or not data is present in the client cache 14 and whether or not the data is updated, the transfer process of the update information of the cached data can be omitted.
[0028]
Further, since the presence / absence of cache data and the presence / absence of update are determined based on actual search data, the search process for update information can be deleted, and the processing of the server node 3b can be reduced.
[0029]
Further, since the data used in the cache determination is transferred to the client node 1, data consistency can be guaranteed.
[0030]
Further, since only the control of the client cache 14 is performed in the client node 1, the cache data comparison processing in the client node 1 can be omitted.
[0031]
The server node 3a for database processing and the server node 3b for cache management are divided into server nodes for each processing unit, thereby distributing the load, and simultaneously operating in parallel to increase the processing efficiency of the system. be able to.
[0032]
【The invention's effect】
As described above, according to the present invention, the presence / absence of data in the client cache and the presence / absence of update are determined by the server node, so that the transfer processing of the update information of the cached data can be omitted.
[Brief description of the drawings]
FIG. 1 is a block diagram of a database cache processing system according to a first embodiment of the present invention.
FIG. 2 is an explanatory diagram illustrating a configuration example of a cache management table according to the first embodiment of the present invention;
FIG. 3 is a flowchart illustrating a data search processing procedure according to the first embodiment of the present invention;
FIG. 4 is a flowchart showing a data update processing procedure according to the first embodiment of the present invention;
FIG. 5 is a block diagram of a database cache processing system according to a second embodiment of the present invention.
FIG. 6 is a flowchart showing a data search processing procedure according to Embodiment 2 of the present invention;
FIG. 7 is a flowchart showing a data update processing procedure according to the second embodiment of the present invention;
[Explanation of symbols]
1: Client node, 2: Network, 3, 3a, 3b: Server node, 11: Application program, 12: Client processing unit, 13: Client cache control unit, 14: Client cache, 31: Database management unit, 32: Database Processing unit, 33: database, 35: cache management table, 34: cache management unit, 36: server cache control unit, 37: server cache, 131: database communication unit.

Claims (2)

サーバノードにあるデータベースのデータをクライアントノードのキャッシュに一時的に保持するデータベースキャッシュ処理システムのサーバノードにおいて、クライアントノードのキャッシュに格納されたデータの更新記録を含むデータ情報が記憶されたキャッシュ管理テーブルと、クライアントノードからキャッシュデータ要求が入力されたとき、キャッシュ管理テーブルのデータ情報からクライアントノードのキャッシュに要求データが格納されているか、格納されている場合に要求データが更新されているか判定し、要求データ無または要求データが更新されていない場合はデータベースのデータをクライアントノードのキャッシュに送信するデータベース管理部とを備えたことを特徴とするサーバノード。In a server node of a database cache processing system that temporarily holds data of a database in a server node in a cache of a client node, a cache management table in which data information including an update record of data stored in the cache of the client node is stored. And, when a cache data request is input from the client node, it is determined whether the request data is stored in the cache of the client node from the data information of the cache management table, or if the stored request data is updated, A server node comprising: a database management unit that transmits data of a database to a cache of a client node when there is no request data or the request data has not been updated. 前記データベース管理部は、キャッシュ管理テーブルのデータ情報からクライアントノードのキャッシュに要求データが格納されているか、格納されている場合に要求データが更新されているか判定すると共にデータをクライアントノードのキャッシュに送信した場合はキャッシュ管理テーブルにデータ情報の記録または更新するキャッシュ管理部を有することを特徴とする請求項1記載のサーバノード。The database management unit determines from the data information in the cache management table whether the requested data is stored in the cache of the client node, and if stored, determines whether the requested data has been updated and transmits the data to the cache of the client node. 2. The server node according to claim 1, further comprising: a cache management unit that records or updates data information in the cache management table in a case where the server node performs the operation.
JP2003071380A 2003-03-17 2003-03-17 Server node for database cache processing system Pending JP2004280494A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003071380A JP2004280494A (en) 2003-03-17 2003-03-17 Server node for database cache processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003071380A JP2004280494A (en) 2003-03-17 2003-03-17 Server node for database cache processing system

Publications (1)

Publication Number Publication Date
JP2004280494A true JP2004280494A (en) 2004-10-07

Family

ID=33287829

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003071380A Pending JP2004280494A (en) 2003-03-17 2003-03-17 Server node for database cache processing system

Country Status (1)

Country Link
JP (1) JP2004280494A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006209316A (en) * 2005-01-26 2006-08-10 Nec Corp Database access management system, management method, and its program
JP2018022514A (en) * 2011-08-02 2018-02-08 アジャイ ジャドハブ Cloud-based distributed persistence and cache data model

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006209316A (en) * 2005-01-26 2006-08-10 Nec Corp Database access management system, management method, and its program
JP2018022514A (en) * 2011-08-02 2018-02-08 アジャイ ジャドハブ Cloud-based distributed persistence and cache data model
US10853306B2 (en) 2011-08-02 2020-12-01 Ajay JADHAV Cloud-based distributed persistence and cache data model

Similar Documents

Publication Publication Date Title
US7404201B2 (en) Data distribution server
JP5193056B2 (en) Method and system for maintaining up-to-date data of wireless devices
CN101127009B (en) Forward state for use in cache coherency in a multiprocessor system
US20060123121A1 (en) System and method for service session management
US7386680B2 (en) Apparatus and method of controlling data sharing on a shared memory computer system
CZ20012153A3 (en) Electronic journal with authentication for sales site and method of using the same
JP2003248611A (en) Storage management integration system and its storage management control method
JP2002318720A (en) Contents delivery management system
JPWO2006100723A1 (en) File management system
JP3290801B2 (en) Resource location detection method
US20080133609A1 (en) Object-based storage system for defferring elimination of shared file and method thereof
US6820114B2 (en) Identifying object suppliers in a network
JP7071938B2 (en) Database management service provision system
JP2005063374A (en) Data management method, data management device, program for the same, and recording medium
JP2002351729A (en) Data sharing system
JP2004280494A (en) Server node for database cache processing system
JP2004302564A (en) Name service providing method, execution device of the same, and processing program of the same
JP5824519B2 (en) Distributed metadata cache
JP2001005710A (en) Database integration system and method for accessing data of plural databases
CN101120326A (en) Methodology for effectively utilizing processor cache in an electronic system
JP2000089996A (en) Information processor and data base system
JP2005318074A (en) Storage group setting method and apparatus
JP2006085521A (en) Information transfer method and host device
JPH11175539A (en) Method for obtaining substitute information and system therefor and storage medium for storing substitute information obtaining program
JP2004280847A (en) Information repeating device and storage medium

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20040712