JP5991141B2 - データ読み込み装置、データ書き込み装置、分散システム、方法、及びプログラム - Google Patents
データ読み込み装置、データ書き込み装置、分散システム、方法、及びプログラム Download PDFInfo
- Publication number
- JP5991141B2 JP5991141B2 JP2012239812A JP2012239812A JP5991141B2 JP 5991141 B2 JP5991141 B2 JP 5991141B2 JP 2012239812 A JP2012239812 A JP 2012239812A JP 2012239812 A JP2012239812 A JP 2012239812A JP 5991141 B2 JP5991141 B2 JP 5991141B2
- Authority
- JP
- Japan
- Prior art keywords
- cache
- key
- over
- information
- invalid
- 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
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
<概要>
図1は、実施形態1に係るデータ読み込み装置2000を示すブロック図である。図1において、矢印は情報の流れを表している。また、図1において、各機能構成部は、ハードウエア単位の構成ではなく、機能単位の構成を示している。
無効キー集合は、無効なキャッシュに対応するキーを所定の方法で変換した値であるキー変換値の集合である。例えば無効キー集合はBloom Filterで実現される。
キャッシュ情報格納部2020が格納するキャッシュ情報は、例えば図4に示すキャッシュ情報テーブル200で表される。図4は、キャッシュ情報テーブル200の構成を示す図である。キャッシュ情報テーブル200は、キー202及びキャッシュ有効時点204を有する。
無効キー情報格納部2060が格納する無効キー情報は、例えば図5に示す無効キー情報テーブル300で表される。図5は、無効キー情報テーブル300の構成を示す図である。無効キー情報テーブル300は、無効キー集合302及びキャッシュ無効時点304を有する。
キャッシュ有効性判定部2080は、無効キー情報が示すキャッシュ無効時点が、キーに対応するキャッシュ情報が示すキャッシュ有効時点よりも後の時点である無効キー情報が複数ある場合、それら複数の無効キー情報からそれぞれ無効キー集合を取得する。この場合、キャッシュ有効性判定部2080は、取得したキーのキー変換値が無効キー集合に含まれているか否かの判定を、各無効キー集合それぞれについて個別に行ってもよいし、複数の無効キー集合についてまとめて行ってもよい。
データ読み込み装置2000は、外部の装置から無効キー集合を受信する。データ読み込み装置2000に対して無効キー集合を送信する装置は、例えばソースデータ格納領域に格納されているソースデータに対して書き込みを行う装置である。以下、この装置を書き込み装置と表記する。この場合、書き込み装置は、自身が書き込んだソースデータと同一のキーに対応づけられているキャッシュが無効であることを示す無効キー集合を、データ読み込み装置2000へ送信する。
図12は、データ読み込み装置2000のハードウエア構成の一例を示す図である。図12において、データ読み込み装置2000は、バス1020、CPU1040、RAM1060、及びストレージ1080を有する。
図6は、本実施形態のキャッシュ有効性判定部2080が行うキャッシュ有効性判定処理の流れの一例を示すフローチャートである。
以上により、本実施形態のデータ読み込み装置2000は、キーをキャッシュ有効性判定部2080に入力することで、キーに対応するキャッシュが無効であるか否かを判定する。したがって、データ読み込み装置2000は、キーに対応するキャッシュが無効であるか否かを、キーごとに判定することができる。これにより、キャッシュが無効であるか否かの判定を全てのキャッシュについて一度に行う場合と比較し、キャッシュが無効であるか否かの判定を行う処理にかかる時間を短くすることができる。
図7は、本実施形態に係るデータ読み込み装置2000を表すブロック図である。図7が示す機能構成部のうち、図1に同符号の機能構成部があるものは、特に説明しない限り図1における同符号の機能構成部と同じ機能を有する。また、図7において、各機能構成部は、ハードウエア単位の構成ではなく、機能単位の構成を示している。
以上により、本実施形態によれば、データ読み込み装置2000は、無効キー情報格納部2060に格納されている無効キー情報を削除する。無効キー情報削除部2090が削除する無効キー情報は、キャッシュ有効性判定部2080によって利用されることがない無効キー情報である。実施形態1で述べた通り、キャッシュ有効性判定部2080のキャッシュ有効性判定処理は、無効キー情報が示すキャッシュ無効時点が、キーに対応するキャッシュ情報が示すキャッシュ有効時点より後の時点を示す無効キー情報を用いる。したがって、無効キー情報が示すキャッシュ無効時点が、キャッシュ情報が示すキャッシュ有効時点のうち最も過去の時点を示すキャッシュ有効時点(基準キャッシュ有効時点)よりも前を示す無効キー情報は、キャッシュ有効性判定処理に利用されない。
図8は、実施形態3に係るデータ読み込み装置2000を示す図である。図8が示す機能構成部のうち、図1に同符号の機能構成部があるものは、特に説明しない限り図1における同符号の機能構成部と同じ機能を有する。また、図8において、各機能構成部は、ハードウエア単位の構成ではなく、機能単位の構成を示している。
以上の構成により、データ読み込み装置2000は、キーに対応するキャッシュが無効であるか否かを、キーに対応するキャッシュを読み込む時に行う。そのため、データ読み込み装置2000は、無効なキャッシュを取得することを防ぎつつ、キーに対応するキャッシュが無効であるか否かの判定を行う回数を少なくすることができる。
<概要>
図9は、本実施形態におけるデータ書き込み装置5000を示す図である。図9において、矢印は情報の流れを表している。また、図9において、各機能構成部は、ハードウエア単位の構成ではなく、機能単位の構成を示している。
例えば無効キー集合生成部2140は、次に示す方法で無効キー集合を生成する。まず無効キー集合生成部2140は、空の無効キー集合を生成する。そして、データ書き込み装置5000がソースデータ格納領域6000に対して書き込んだソースデータに対応するキーのキー変換値を、無効キー集合に追加する。
無効キー集合送信部2160が無効キー集合を送信するタイミングは様々である。例えば無効キー集合送信部2160は、排他制御のために獲得したロックを解放する時に、無効キー集合を送信する。その他にも例えば無効キー集合送信部2160は、定期的に無効キー集合を送信してもよい。その他にも例えば、無効キー集合送信部2160は、無効キー集合生成部2140が無効キー集合を生成する度に、無効キー集合生成部2140が生成した無効キー集合を送信してもよい。
実施形態1、2、または3のデータ読み込み装置2000は、本実施形態のデータ書き込み装置5000が有する機能構成部を有してもよい。この場合のデータ読み込み装置2000を、変形例4−1のデータ読み込み装置2000と表記する。変形例4−1のデータ読み込み装置2000は、キャッシュ格納領域3000からのキャッシュの読み出し、及びソースデータ格納領域6000へのソースデータの書き込みを行う。
同様に、本実施形態のデータ書き込み装置5000は、実施形態1、2、または3のデータ読み込み装置2000が有する機能構成部を有してもよい。
以上の構成により、本実施形態によれば、データ書き込み装置5000は、ソースデータ格納領域6000に対して書き込んだソースデータと同一のキーに対応するキャッシュが無効であることを示す無効キー集合を生成する。そして、データ書き込み装置5000は、生成した無効キー集合を送信する。こうすることで、データ書き込み装置5000は、キャッシュ格納領域3000からキーに対応するソースデータの複製であるキャッシュの読み込みを行う装置に対して、キャッシュが無効なソースデータに対応するキーを示す情報を提供することができる。
図10は、本実施形態に係る分散システム4000を示すブロック図である。図10の機能構成部のうち、図1、7、8又は10に同符号の機能構成部があるものは、特に説明しない限り、図1、7、8、又は10における同符号の機能構成部と同じ機能を有するとする。また、図10において、各機能構成部は、ハードウエア単位の構成ではなく、機能単位の構成を示している。
データ書き込み装置5000は、データ読み込み装置2000が有する機能構成部をさらに有してもよい。またこの場合、一貫性管理装置7000は、データ読み込み装置2000が有する機能構成部をさらに有するデータ書き込み装置5000を、データ読み込み装置2000としても扱う。
以上の構成により、本実施形態によれば、分散システム4000は、データ書き込み装置5000、データ読み込み装置2000、及び一貫性管理装置7000を有する。そして、一貫性管理装置7000は、データ書き込み装置5000から受信した無効キー集合を格納し、格納している無効キー集合をデータ読み込み装置2000へ送信する。こうすることで、分散システム4000は、一貫性管理装置7000により無効キー集合の集中管理を行うことができる。
図11は、本実施形態の分散システム4000を示すブロック図である。ここで、図11が示す機能構成部のうち、図10に同符号の機能構成部があるものは、特に説明しない限り図10に示す機能構成部と同じ機能を有するとする。また、図11において、各機能構成部は、ハードウエア単位の構成ではなく、機能単位の構成を示している。
<変形例6−1>
データ書き込み装置5000は、データ読み込み装置2000が有する機能構成部をさらに有してもよい。またこの場合、一貫性管理装置7000は、データ読み込み装置2000が有する機能構成部をさらに有するデータ書き込み装置5000を、データ読み込み装置2000としても扱う。
以上の構成により、本実施形態によれば、無効キー集合格納部7020は、無効キー集合を、データ読み込み装置2000のIDに紐付けて格納する。無効キー集合受信部7040は、受信した無効キー集合に含まれる値を、各データ読み込み装置2000のIDに紐づけられた無効キー集合に加える。これにより、データ読み込み装置2000のIDに紐づけられた無効キー集合は、無効キー集合格納部7020が受信した無効キー集合の和集合となる。こうすることで分散システム4000は、一貫性管理装置7000が無効キー集合を格納するための計算機資源を削減することができる。
(付記1)
キーに対応するソースデータの複製であるキャッシュを前記キーに対応づけて格納しているキャッシュ格納領域から、前記キーに対応する前記キャッシュを読み込むデータ読み込み装置であって、
前記キーと、該キーに対応する前記キャッシュのキャッシュ有効時点とを紐づけた情報であるキャッシュ情報を格納するキャッシュ情報格納手段と、
無効な前記キャッシュに対応する前記キーを所定の方法で変換した値であるキー変換値を含む無効キー集合を受信する無効キー情報受信手段と、
前記無効キー情報受信手段が受信した前記無効キー集合と、該無効キー集合によって無効であることを示される前記キャッシュのキャッシュ無効時点とを紐づけた情報である無効キー情報を格納する無効キー情報格納手段と、
前記キーを取得し、前記キャッシュ情報格納手段から、該キーに紐づけられたキャッシュ有効時点を取得し、前記無効キー情報格納手段から、前記無効キー情報の前記キャッシュ無効時点が該キャッシュ有効時点より後の時点を示す前記無効キー情報を取得し、該キーから前記所定の方法で算出した前記キー変換値が、該無効キー情報が示す前記無効キー集合に含まれている場合は、該キーに対応する前記キャッシュが無効であると判定するキャッシュ有効性判定手段と、
を有するデータ読み込み装置。
(付記2)
前記キャッシュ有効性判定手段は、前記無効キー情報を複数取得した際、複数の前記無効キー情報それぞれが示す前記無効キー集合の和集合である無効キー和集合を生成し、入力として取得した前記キーから前記所定の方法で算出した前記キー変換値が、該無効キー和集合に含まれている場合に、該キーに対応する前記キャッシュが無効であると判定する付記1記載のデータ読み込み装置。
(付記3)
前記キャッシュ情報格納手段に格納されているキャッシュ情報が示すキャッシュ有効時点の中から、最も過去の時点を示す前記キャッシュ有効時点を基準有効時点として抽出し、前記無効キー情報格納手段に格納されている前記無効キー情報が示すキャッシュ無効時点が、前記基準有効時点より前の時点を示す場合は、該無効キー情報を前記無効キー情報格納手段から削除する無効キー情報削除手段をさらに有する付記1又は2記載のデータ読み込み装置。
(付記4)
前記キーに対応する前記キャッシュを取得する時に、該キーを与えて前記キャッシュ有効性判定手段を動作させる読み込み手段をさらに有する付記1乃至3いずれか一項に記載のデータ読み込み装置。
(付記5)
付記1乃至4いずれか一項に記載のデータ読み込み装置であって、
前記ソースデータが格納されているソースデータ格納領域に対して前記ソースデータの書き込みを行う書き込み手段と、
書き込んだ前記ソースデータに対応する前記キーを前記所定の方法で変換して前記キー変換値を算出し、算出した前記キー変換値を含む前記無効キー集合を生成する無効キー集合生成手段と、
前記無効キー集合を送信する無効キー集合送信手段と、
をさらに有するデータ読み込み装置。
(付記6)
キーに対応づけてソースデータが格納されているソースデータ格納領域に対して、前記ソースデータの書き込みを行う書き込み手段と、
書き込んだ前記ソースデータに対応する前記キーを所定の方法で変換してキー変換値を算出し、算出した前記キー変換値を含む無効キー集合を生成する無効キー集合生成手段と、
前記無効キー集合を送信する無効キー集合送信手段と、
を有するデータ書き込み装置。
(付記7)
キーに対応するソースデータを格納しているソースデータ格納領域に対して前記ソースデータを書き込むデータ書き込み装置と、前記ソースデータの複製であるキャッシュを、該ソースデータに対応するキーと対応づけて格納しているキャッシュ格納領域から、前記キャッシュを読み込むデータ読み込み装置と、前記キャッシュの一貫性を管理する一貫性管理装置とを有する分散システムであって、
前記データ書き込み装置は、
前記ソースデータ格納領域に対して前記ソースデータの書き込みを行う書き込み手段と、
書き込んだ前記ソースデータに対応する前記キーを所定の方法で変換してキー変換値を算出し、算出した前記キー変換値を含む無効キー集合を生成する無効キー集合生成手段と、
前記無効キー集合を前記一貫性管理装置へ送信する無効キー集合送信手段と、
を有し、
前記データ読み込み装置は、
前記キーと、該キーに対応する前記キャッシュのキャッシュ有効時点とを紐づけた情報であるキャッシュ情報を格納するキャッシュ情報格納手段と、
無効な前記キャッシュに対応する前記キーを前記所定の方法で変換した値である前記キー変換値を含む無効キー集合を前記一貫性管理装置から受信する無効キー情報受信手段と、
前記無効キー情報受信手段が受信した前記無効キー集合と、該無効キー集合によって無効であることを示される前記キャッシュのキャッシュ無効時点とを紐づけた情報である無効キー情報を格納する無効キー情報格納手段と、
前記キーを取得し、前記キャッシュ情報格納手段から、該キーに紐づけられたキャッシュ有効時点を取得し、前記無効キー情報格納手段から、前記無効キー情報の前記キャッシュ無効時点が該キャッシュ有効時点より後の時点を示す前記無効キー情報を取得し、該キーから前記所定の方法で算出した前記キー変換値が、該無効キー情報が示す前記無効キー集合に含まれている場合は、該キーに対応する前記キャッシュが無効であると判定するキャッシュ有効性判定手段と、
を有し、
前記一貫性管理装置において、
前記無効キー集合を格納する無効キー集合格納手段と、
前記データ書き込み装置から前記無効キー集合を受信し、受信した該無効キー集合を前記無効キー集合格納手段に格納する無効キー集合受信手段と、
前記データ読み込み装置に対し、前記無効キー格納手段に格納されている前記無効キー集合を送信する無効キー集合送信手段と、
を有する分散システム。
(付記8)
付記7記載の分散システムであって、
複数のデータ読み込み装置を有し、
前記一貫性管理装置は、
前記無効キー集合格納手段は、前記無効キー集合を前記データ読み込み装置のIDと紐づけ、複数の前記データ読み込み装置ごとに前記無効キー集合を格納し、
前記無効キー集合受信手段は、
受信した前記無効キー集合に含まれる値を、前記無効キー集合格納手段に格納されている前記無効キー集合それぞれに加え、
前記無効キー集合送信手段は、前記データ読み込み装置に対し、該データ読み込み装置のIDに紐づいている前記無効キー集合を送信し、
前記無効キー集合送信手段が前記データ読み込み装置に対して前記無効キー集合を送信した場合に、該無効キー集合を前記無効キー集合格納手段から削除する無効キー集合削除手段をさらに有すること、
を特徴とする分散システム。
(付記9)
コンピュータが、キーに対応するソースデータの複製であるキャッシュを前記キーに対応づけて格納しているキャッシュ格納領域から、前記キーに対応する前記キャッシュを読み込むデータ読み込み装置として動作する方法であって、
前記コンピュータが、前記キーと、該キーに対応する前記キャッシュのキャッシュ有効時点とを紐づけた情報であるキャッシュ情報を格納するキャッシュ情報格納ステップと、
前記コンピュータが、無効な前記キャッシュに対応する前記キーを所定の方法で変換した値であるキー変換値を含む無効キー集合を受信する無効キー情報受信ステップと、
前記コンピュータが、前記無効キー情報受信ステップで受信した前記無効キー集合と、該無効キー集合によって無効であることを示される前記キャッシュのキャッシュ無効時点とを紐づけた情報である無効キー情報を格納する無効キー情報格納ステップと、
前記コンピュータが、前記キーを取得し、前記キャッシュ情報格納ステップで格納した前記キャッシュ情報から、該キーに紐づけられたキャッシュ有効時点を取得し、前記無効キー情報格納ステップで格納した前記無効キー情報から、前記無効キー情報の前記キャッシュ無効時点が該キャッシュ有効時点より後の時点を示す前記無効キー情報を取得し、該キーから前記所定の方法で算出した前記キー変換値が、該無効キー情報が示す前記無効キー集合に含まれている場合は、該キーに対応する前記キャッシュが無効であると判定するキャッシュ有効性判定ステップと、
を有する方法。
(付記10)
前記キャッシュ有効性判定ステップは、前記コンピュータが、前記無効キー情報を複数取得した際、複数の前記無効キー情報それぞれが示す前記無効キー集合の和集合である無効キー和集合を生成し、入力として取得した前記キーから前記所定の方法で算出した前記キー変換値が、該無効キー和集合に含まれている場合に、該キーに対応する前記キャッシュが無効であると判定する付記9記載の方法。
(付記11)
前記コンピュータが、前記キャッシュ情報格納ステップで格納したキャッシュ情報が示すキャッシュ有効時点の中から、最も過去の時点を示す前記キャッシュ有効時点を基準有効時点として抽出し、前記無効キー情報格納ステップで格納した前記無効キー情報が示すキャッシュ無効時点が、前記基準有効時点より前の時点を示す場合は、該無効キー情報を削除する無効キー情報削除ステップをさらに有する付記9又は10記載の方法。
(付記12)
前記コンピュータが、前記キーに対応する前記キャッシュを取得する時に、該キーを与えて前記キャッシュ有効性判定ステップを動作させる読み込みステップをさらに有する付記9乃至11いずれか一項に記載の方法。
(付記13)
付記9乃至12いずれか一項に記載の方法であって、
前記コンピュータが、前記ソースデータが格納されているソースデータ格納領域に対して前記ソースデータの書き込みを行う書き込みステップと、
前記コンピュータが、書き込んだ前記ソースデータに対応する前記キーを前記所定の方法で変換して前記キー変換値を算出し、算出した前記キー変換値を含む前記無効キー集合を生成する無効キー集合生成ステップと、
前記コンピュータが、前記無効キー集合を送信する無効キー集合送信ステップと、
をさらに有する方法。
(付記14)
コンピュータが、キーに対応づけてソースデータが格納されているソースデータ格納領域に対して、前記ソースデータの書き込みを行うデータ書き込み装置として動作する方法であって、
前記コンピュータが、前記ソースデータ格納領域に対して、前記ソースデータの書き込みを行う書き込みステップと、
前記コンピュータが、書き込んだ前記ソースデータに対応する前記キーを所定の方法で変換してキー変換値を算出し、算出した前記キー変換値を含む無効キー集合を生成する無効キー集合生成ステップと、
前記コンピュータが、前記無効キー集合を送信する無効キー集合送信ステップと、
を有する方法。
(付記15)
キーに対応するソースデータを格納しているソースデータ格納領域に対して前記ソースデータを書き込むデータ書き込み装置と、前記ソースデータの複製であるキャッシュを、該ソースデータに対応するキーと対応づけて格納しているキャッシュ格納領域から、前記キャッシュを読み込むデータ読み込み装置と、前記キャッシュの一貫性を管理する一貫性管理装置とを有する分散システムを制御する方法であって、
前記データ書き込み装置が、前記ソースデータ格納領域に対して前記ソースデータの書き込みを行う書き込みステップと、
前記データ書き込み装置が、書き込んだ前記ソースデータに対応する前記キーを所定の方法で変換してキー変換値を算出し、算出した前記キー変換値を含む無効キー集合を生成する無効キー集合生成ステップと、
前記データ書き込み装置が、前記無効キー集合を前記一貫性管理装置へ送信する無効キー集合送信ステップと、
前記データ読み込み装置が、前記キーと、該キーに対応する前記キャッシュのキャッシュ有効時点とを紐づけた情報であるキャッシュ情報を格納するキャッシュ情報格納ステップと、
前記データ読み込み装置が、無効な前記キャッシュに対応する前記キーを所定の方法で変換した値であるキー変換値を含む無効キー集合を、前記一貫性管理装置から受信する無効キー情報受信ステップと、
前記コンピュータが、前記無効キー情報受信ステップが受信した前記無効キー集合と、該無効キー集合によって無効であることを示される前記キャッシュのキャッシュ無効時点とを紐づけた情報である無効キー情報を格納する無効キー情報格納ステップと、
前記コンピュータが、前記キーを取得し、前記キャッシュ情報格納ステップで格納した前記キャッシュ情報から、該キーに紐づけられたキャッシュ有効時点を取得し、前記無効キー情報格納ステップで格納した前記無効キー情報から、前記無効キー情報の前記キャッシュ無効時点が該キャッシュ有効時点より後の時点を示す前記無効キー情報を取得し、該キーから前記所定の方法で算出した前記キー変換値が、該無効キー情報が示す前記無効キー集合に含まれている場合は、該キーに対応する前記キャッシュが無効であると判定するキャッシュ有効性判定ステップと、
前記一貫性管理装置が、前記無効キー集合を格納する無効キー集合格納ステップと、
前記一貫性管理装置が、前記データ書き込み装置から前記無効キー集合を受信し、受信した該無効キー集合を前記無効キー集合格納ステップで格納する無効キー集合受信ステップと、
前記一貫性管理装置が、前記データ読み込み装置に対し、前記無効キー格納ステップで格納した前記無効キー集合を送信する無効キー集合送信ステップと、
を有する方法。
(付記16)
付記15記載の方法であって、
前記分散システムは、複数のデータ読み込み装置を有し、
前記無効キー集合格納ステップは、前記一貫性管理装置が、前記無効キー集合を前記データ読み込み装置のIDと紐づけ、複数の前記データ読み込み装置ごとに前記無効キー集合を格納し、
前記無効キー集合受信ステップは、前記一貫性管理装置が、受信した前記無効キー集合に含まれる値を、前記無効キー集合格納ステップで格納した前記無効キー集合それぞれに加え、
前記無効キー集合送信ステップは、前記一貫性管理装置が、前記データ読み込み装置に対し、該データ読み込み装置のIDに紐づいている前記無効キー集合を送信し、
前記無効キー集合送信ステップで、前記データ読み込み装置に対して前記無効キー集合を送信した場合に、該無効キー集合を削除する無効キー集合削除ステップをさらに有すること、
を特徴とする方法。
(付記17)
コンピュータに、キーに対応するソースデータの複製であるキャッシュを前記キーに対応づけて格納しているキャッシュ格納領域から、前記キーに対応する前記キャッシュを読み込むデータ読み込み装置として動作する機能を持たせるプログラムであって、前記コンピュータに、
前記キーと、該キーに対応する前記キャッシュのキャッシュ有効時点とを紐づけた情報であるキャッシュ情報を格納するキャッシュ情報格納機能と、
無効な前記キャッシュに対応する前記キーを所定の方法で変換した値であるキー変換値を含む無効キー集合を受信する無効キー情報受信機能と、
前記無効キー情報受信機能が受信した前記無効キー集合と、該無効キー集合によって無効であることを示される前記キャッシュのキャッシュ無効時点とを紐づけた情報である無効キー情報を格納する無効キー情報格納機能と、
前記キーを取得し、前記キャッシュ情報格納機能が格納した前記キャッシュ情報から、該キーに紐づけられたキャッシュ有効時点を取得し、前記無効キー情報格納機能が格納した前記無効キー情報から、前記無効キー情報の前記キャッシュ無効時点が該キャッシュ有効時点より後の時点を示す前記無効キー情報を取得し、該キーから前記所定の方法で算出した前記キー変換値が、該無効キー情報が示す前記無効キー集合に含まれている場合は、該キーに対応する前記キャッシュが無効であると判定するキャッシュ有効性判定機能と、
を持たせるプログラム。
(付記18)
前記キャッシュ有効性判定機能は、前記無効キー情報を複数取得した際、複数の前記無効キー情報それぞれが示す前記無効キー集合の和集合である無効キー和集合を生成し、入力として取得した前記キーから前記所定の方法で算出した前記キー変換値が、該無効キー和集合に含まれている場合に、該キーに対応する前記キャッシュが無効であると判定する付記17記載のプログラム。
(付記19)
前記コンピュータに、前記キャッシュ情報格納機能で格納したキャッシュ情報が示すキャッシュ有効時点の中から、最も過去の時点を示す前記キャッシュ有効時点を基準有効時点として抽出し、前記無効キー情報格納機能で格納した前記無効キー情報が示すキャッシュ無効時点が、前記基準有効時点より前の時点を示す場合は、該無効キー情報を削除する無効キー情報削除機能をさらに持たせる付記17又は18記載のプログラム。
(付記20)
前記コンピュータに、前記キーに対応する前記キャッシュを取得する時に、該キーを与えて前記キャッシュ有効性判定機能を動作させる読み込み機能をさらに持たせる付記17乃至19いずれか一項に記載の方法。
(付記21)
付記17乃至20いずれか一項に記載のプログラムであって、前記コンピュータに、
前記ソースデータが格納されているソースデータ格納領域に対して前記ソースデータの書き込みを行う書き込み機能と、
書き込んだ前記ソースデータに対応する前記キーを前記所定の方法で変換して前記キー変換値を算出し、算出した前記キー変換値を含む前記無効キー集合を生成する無効キー集合生成機能と、
前記無効キー集合を送信する無効キー集合送信機能と、
をさらに持たせるプログラム。
(付記22)
コンピュータを、キーに対応づけてソースデータが格納されているソースデータ格納領域に対して、前記ソースデータの書き込みを行うデータ書き込み装置として機能させるプログラムであって、前記コンピュータに、
前記ソースデータ格納領域に対して、前記ソースデータの書き込みを行う書き込み機能と、
書き込んだ前記ソースデータに対応する前記キーを所定の方法で変換してキー変換値を算出し、算出した前記キー変換値を含む無効キー集合を生成する無効キー集合生成機能と、
前記無効キー集合を送信する無効キー集合送信機能と、
を持たせるプログラム。
(付記23)
キーに対応するソースデータを格納しているソースデータ格納領域に対して前記ソースデータを書き込むデータ書き込み装置と、前記ソースデータの複製であるキャッシュを、該ソースデータに対応するキーと対応づけて格納しているキャッシュ格納領域から、前記キャッシュを読み込むデータ読み込み装置と、前記キャッシュの一貫性を管理する一貫性管理装置とを有する分散システムを制御するプログラムであって、
前記データ書き込み装置に、
前記ソースデータ格納領域に対して前記ソースデータの書き込みを行う書き込み機能と、
前記書き込み機能が書き込んだ前記ソースデータに対応する前記キーを、所定の方法で変換し、キー変換値を算出し、算出した前記キー変換値を含む無効キー集合を生成する無効キー集合生成機能と、
前記無効キー集合を前記一貫性管理装置へ送信する無効キー集合送信機能と、
を持たせ、
前記データ読み込み装置に、
前記キーと、該キーに対応する前記キャッシュのキャッシュ有効時点とを紐づけた情報であるキャッシュ情報を格納するキャッシュ情報格納機能と、
無効な前記キャッシュに対応する前記キーを所定の方法で変換した値であるキー変換値を含む無効キー集合を、前記一貫性管理装置から受信する無効キー情報受信機能と、
前記無効キー情報受信機能が受信した前記無効キー集合と、該無効キー集合によって無効であることを示される前記キャッシュのキャッシュ無効時点とを紐づけた情報である無効キー情報を格納する無効キー情報格納機能と、
前記キーを取得し、前記キャッシュ情報格納機能で格納した前記キャッシュ情報から、該キーに紐づけられたキャッシュ有効時点を取得し、前記無効キー情報格納機能で格納した前記無効キー情報から、前記無効キー情報の前記キャッシュ無効時点が該キャッシュ有効時点より後の時点を示す前記無効キー情報を取得し、該キーから前記所定の方法で算出した前記キー変換値が、該無効キー情報が示す前記無効キー集合に含まれている場合は、該キーに対応する前記キャッシュが無効であると判定するキャッシュ有効性判定機能と、
を持たせ、
前記一貫性管理装置に、
前記無効キー集合を格納する無効キー集合格納機能と、
前記データ書き込み装置から前記無効キー集合を受信し、受信した該無効キー集合を前記無効キー集合格納機能で格納する無効キー集合受信機能と、
前記データ読み込み装置に対し、前記無効キー格納機能で格納した前記無効キー集合を送信する無効キー集合送信機能と、
を持たせるプログラム。
(付記24)
付記23記載のプログラムであって、
前記分散システムは、複数のデータ読み込み装置を有し、
前記無効キー集合格納機能は、前記一貫性管理装置が、前記無効キー集合を前記データ読み込み装置のIDと紐づけ、複数の前記データ読み込み装置ごとに前記無効キー集合を格納し、
前記無効キー集合受信機能は、前記一貫性管理装置が、受信した前記無効キー集合に含まれる値を、前記無効キー集合格納機能で格納した前記無効キー集合それぞれに加え、
前記無効キー集合送信機能は、前記一貫性管理装置が、前記データ読み込み装置に対し、該データ読み込み装置のIDに紐づいている前記無効キー集合を送信し、
前記一貫性管理装置に、前記無効キー集合送信機能で、前記データ読み込み装置に対して前記無効キー集合を送信した場合に、該無効キー集合を削除する無効キー集合削除機能をさらに持たせること、
を特徴とするプログラム。
202 キー
204 キャッシュ有効時点
300 無効キー情報テーブル
302 無効キー集合
304 キャッシュ無効時点
1020 バス
1040 CPU
1060 RAM
1080 ストレージ
1100 無効キー集合受信処理
1120 キャッシュ有効性判定処理
1140 無効キー情報
1160 キャッシュ情報
2000 データ読み込み装置
2020 キャッシュ情報格納部
2040 無効キー集合受信部
2060 無効キー情報格納部
2080 キャッシュ有効性判定部
2090 無効キー情報削除部
2100 読み込み部
2130 書き込み部
2140 無効キー集合生成部
2160 無効キー集合送信部
3000 キャッシュ格納領域
4000 分散システム
5000 データ書き込み装置
6000 ソースデータ格納領域
7000 一貫性管理装置
7020 無効キー集合格納部
7040 無効キー集合受信部
7060 無効キー集合送信部
7080 無効キー集合削除部
Claims (10)
- キーに対応するソースデータの複製であるキャッシュを前記キーに対応づけて格納しているキャッシュ格納領域から、前記キーに対応する前記キャッシュを読み込むデータ読み込み装置であって、
前記キーと、該キーに対応する前記キャッシュのキャッシュ有効時点とを紐づけた情報であるキャッシュ情報を格納するキャッシュ情報格納手段と、
無効な前記キャッシュに対応する前記キーを所定の方法で変換した値であるキー変換値を含むキー集合を受信するキー情報受信手段と、
前記キー情報受信手段が受信した前記キー集合と、該キー集合によって無効であることを示される前記キャッシュのキャッシュ無効時点とを紐づけた情報であるキー情報を格納するキー情報格納手段と、
前記キーを取得し、前記キャッシュ情報格納手段から、該キーに紐づけられたキャッシュ有効時点を取得し、前記キー情報格納手段から、前記キー情報の前記キャッシュ無効時点が該キャッシュ有効時点より後の時点を示す前記キー情報を取得し、該キーから前記所定の方法で算出した前記キー変換値が、該キー情報が示す前記キー集合に含まれている場合は、該キーに対応する前記キャッシュが無効であると判定するキャッシュ有効性判定手段と、
を有し、
前記キーに紐づけられた前記キャッシュ有効時点は、そのキーに対応するキャッシュが有効であることが確認された時点を表し、
前記キー集合に紐づけられた前記キャッシュ無効時点は、そのキー集合が生成された時点、そのキー集合が当該データ読み込み装置に対して送信された時点、又はそのキー集合が当該データ読み込み装置によって受信された時点を表す、データ読み込み装置。 - 前記キャッシュ有効性判定手段は、前記キー情報を複数取得した際、複数の前記キー情報それぞれが示す前記キー集合の和集合であるキー和集合を生成し、入力として取得した前記キーから前記所定の方法で算出した前記キー変換値が、該キー和集合に含まれている場合に、該キーに対応する前記キャッシュが無効であると判定する請求項1記載のデータ読み込み装置。
- 前記キャッシュ情報格納手段に格納されているキャッシュ情報が示すキャッシュ有効時点の中から、最も過去の時点を示す前記キャッシュ有効時点を基準有効時点として抽出し、前記キー情報格納手段に格納されている前記キー情報が示すキャッシュ無効時点が、前記基準有効時点より前の時点を示す場合は、該キー情報を前記キー情報格納手段から削除するキー情報削除手段をさらに有する請求項1又は2記載のデータ読み込み装置。
- 前記キーに対応する前記キャッシュを取得する時に、該キーを与えて前記キャッシュ有効性判定手段を動作させる読み込み手段をさらに有する請求項1乃至3いずれか一項に記載のデータ読み込み装置。
- 請求項1乃至4いずれか一項に記載のデータ読み込み装置であって、
前記ソースデータが格納されているソースデータ格納領域に対して前記ソースデータの書き込みを行う書き込み手段と、
書き込んだ前記ソースデータに対応する前記キーを前記所定の方法で変換して1つ以上の前記キー変換値を算出し、前記算出した1つ以上のキー変換値を含む前記キー集合を生成するキー集合生成手段と、
前記キー集合を送信するキー集合送信手段と、
をさらに有するデータ読み込み装置。 - キーに対応するソースデータを格納しているソースデータ格納領域に対して前記ソースデータを書き込むデータ書き込み装置と、前記ソースデータの複製であるキャッシュを、該ソースデータに対応するキーと対応づけて格納しているキャッシュ格納領域から、前記キャッシュを読み込むデータ読み込み装置と、前記キャッシュの一貫性を管理する一貫性管理装置とを有する分散システムであって、
前記データ書き込み装置は、
前記ソースデータ格納領域に対して前記ソースデータの書き込みを行う書き込み手段と、
書き込んだ前記ソースデータに対応する前記キーを所定の方法で変換して1つ以上のキー変換値を算出し、前記算出した1つ以上のキー変換値を含むキー集合を生成するキー集合生成手段と、
前記キー集合を前記一貫性管理装置へ送信するキー集合送信手段と、
を有し、
前記データ読み込み装置は、
前記キーと、該キーに対応する前記キャッシュのキャッシュ有効時点とを紐づけた情報であるキャッシュ情報を格納するキャッシュ情報格納手段と、
無効な前記キャッシュに対応する前記キーを前記所定の方法で変換した値である前記キー変換値を含むキー集合を前記一貫性管理装置から受信するキー情報受信手段と、
前記キー情報受信手段が受信した前記キー集合と、該キー集合によって無効であることを示される前記キャッシュのキャッシュ無効時点とを紐づけた情報であるキー情報を格納するキー情報格納手段と、
前記キーを取得し、前記キャッシュ情報格納手段から、該キーに紐づけられたキャッシュ有効時点を取得し、前記キー情報格納手段から、前記キー情報の前記キャッシュ無効時点が該キャッシュ有効時点より後の時点を示す前記キー情報を取得し、該キーから前記所定の方法で算出した前記キー変換値が、該キー情報が示す前記キー集合に含まれている場合は、該キーに対応する前記キャッシュが無効であると判定するキャッシュ有効性判定手段と、
を有し、
前記キーに紐づけられた前記キャッシュ有効時点は、そのキーに対応するキャッシュが有効であることが確認された時点を表し、
前記キー集合に紐づけられた前記キャッシュ無効時点は、そのキー集合が生成された時点、そのキー集合が前記データ読み込み装置に対して送信された時点、又はそのキー集合が前記データ読み込み装置によって受信された時点を表し、
前記一貫性管理装置は、
前記キー集合を格納するキー集合格納手段と、
前記データ書き込み装置から前記キー集合を受信し、受信した該キー集合を前記キー集合格納手段に格納するキー集合受信手段と、
前記データ読み込み装置に対し、前記キー集合格納手段に格納されている前記キー集合を送信するキー集合送信手段と、
を有する分散システム。 - 請求項6記載の分散システムであって、
複数のデータ読み込み装置を有し、
前記一貫性管理装置において、
前記キー集合格納手段は、前記キー集合を前記データ読み込み装置のIDと紐づけ、複数の前記データ読み込み装置ごとに前記キー集合を格納し、
前記キー集合受信手段は、
受信した前記キー集合に含まれる値を、前記キー集合格納手段に格納されている前記キー集合それぞれに加え、
前記キー集合送信手段は、前記データ読み込み装置に対し、該データ読み込み装置のIDに紐づいている前記キー集合を送信し、
前記キー集合送信手段が前記データ読み込み装置に対して前記キー集合を送信した場合に、該キー集合を前記キー集合格納手段から削除するキー集合削除手段をさらに有すること、
を特徴とする分散システム。 - 請求項6又は7に記載の分散システムが有するデータ書き込み装置。
- コンピュータが、キーに対応するソースデータの複製であるキャッシュを前記キーに対応づけて格納しているキャッシュ格納領域から、前記キーに対応する前記キャッシュを読み込むデータ読み込み装置として動作する方法であって、
前記コンピュータが、前記キーと、該キーに対応する前記キャッシュのキャッシュ有効時点とを紐づけた情報であるキャッシュ情報を格納するキャッシュ情報格納ステップと、
前記コンピュータが、無効な前記キャッシュに対応する前記キーを所定の方法で変換した値であるキー変換値を含むキー集合を受信するキー情報受信ステップと、
前記コンピュータが、前記キー情報受信ステップで受信した前記キー集合と、該キー集合によって無効であることを示される前記キャッシュのキャッシュ無効時点とを紐づけた情報であるキー情報を格納するキー情報格納ステップと、
前記コンピュータが、前記キーを取得し、前記キャッシュ情報格納ステップで格納した前記キャッシュ情報から、該キーに紐づけられたキャッシュ有効時点を取得し、前記キー情報格納ステップで格納した前記キー情報から、前記キー情報の前記キャッシュ無効時点が該キャッシュ有効時点より後の時点を示す前記キー情報を取得し、該キーから前記所定の方法で算出した前記キー変換値が、該キー情報が示す前記キー集合に含まれている場合は、該キーに対応する前記キャッシュが無効であると判定するキャッシュ有効性判定ステップと、
を有し、
前記キーに紐づけられた前記キャッシュ有効時点は、そのキーに対応するキャッシュが有効であることが確認された時点を表し、
前記キー集合に紐づけられた前記キャッシュ無効時点は、そのキー集合が生成された時点、そのキー集合が前記コンピュータに対して送信された時点、又はそのキー集合が前記コンピュータによって受信された時点を表す、方法。 - コンピュータに、キーに対応するソースデータの複製であるキャッシュを前記キーに対応づけて格納しているキャッシュ格納領域から、前記キーに対応する前記キャッシュを読み込むデータ読み込み装置として動作する機能を持たせるプログラムであって、前記コンピュータに、
前記キーと、該キーに対応する前記キャッシュのキャッシュ有効時点とを紐づけた情報であるキャッシュ情報を格納するキャッシュ情報格納機能と、
無効な前記キャッシュに対応する前記キーを所定の方法で変換した値であるキー変換値を含むキー集合を受信するキー情報受信機能と、
前記キー情報受信機能で受信した前記キー集合と、該キー集合によって無効であることを示される前記キャッシュのキャッシュ無効時点とを紐づけた情報であるキー情報を格納するキー情報格納機能と、
前記キーを取得し、前記キャッシュ情報格納機能が格納した前記キャッシュ情報から、該キーに紐づけられたキャッシュ有効時点を取得し、前記キー情報格納機能が格納した前記キー情報から、前記キー情報の前記キャッシュ無効時点が該キャッシュ有効時点より後の時点を示す前記キー情報を取得し、該キーから前記所定の方法で算出した前記キー変換値が、該キー情報が示す前記キー集合に含まれている場合は、該キーに対応する前記キャッシュが無効であると判定するキャッシュ有効性判定機能と、
を持たせ、
前記キーに紐づけられた前記キャッシュ有効時点は、そのキーに対応するキャッシュが有効であることが確認された時点を表し、
前記キー集合に紐づけられた前記キャッシュ無効時点は、そのキー集合が生成された時点、そのキー集合が前記コンピュータに対して送信された時点、又はそのキー集合が前記コンピュータによって受信された時点を表す、プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012239812A JP5991141B2 (ja) | 2012-10-31 | 2012-10-31 | データ読み込み装置、データ書き込み装置、分散システム、方法、及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012239812A JP5991141B2 (ja) | 2012-10-31 | 2012-10-31 | データ読み込み装置、データ書き込み装置、分散システム、方法、及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2014089627A JP2014089627A (ja) | 2014-05-15 |
JP5991141B2 true JP5991141B2 (ja) | 2016-09-14 |
Family
ID=50791477
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012239812A Active JP5991141B2 (ja) | 2012-10-31 | 2012-10-31 | データ読み込み装置、データ書き込み装置、分散システム、方法、及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5991141B2 (ja) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5581704A (en) * | 1993-12-06 | 1996-12-03 | Panasonic Technologies, Inc. | System for maintaining data coherency in cache memory by periodically broadcasting invalidation reports from server to client |
KR100451211B1 (ko) * | 2002-10-31 | 2004-10-13 | 엘지전자 주식회사 | 이동 컴퓨팅 환경에서 트랜잭션 캐시 일관성 유지 시스템및 방법 |
US8069313B2 (en) * | 2009-03-27 | 2011-11-29 | Sap Ag | Method and system for managing cache invalidation |
JP5385874B2 (ja) * | 2010-08-23 | 2014-01-08 | 日本電信電話株式会社 | キャッシュ管理装置、キャッシュ管理プログラム及び記録媒体 |
-
2012
- 2012-10-31 JP JP2012239812A patent/JP5991141B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2014089627A (ja) | 2014-05-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5450841B2 (ja) | ユーザコンテンツフィードをサポートするための機構 | |
US20190245921A1 (en) | Synchronized content library | |
US11245774B2 (en) | Cache storage for streaming data | |
US20160212203A1 (en) | Multi-site heat map management | |
US9020916B2 (en) | Database server apparatus, method for updating database, and recording medium for database update program | |
JP5943430B2 (ja) | 分散記憶システムおよび分散記憶方法 | |
EP3316150B1 (en) | Method and apparatus for file compaction in key-value storage system | |
WO2019024780A1 (zh) | 区块链轻量化处理方法、区块链节点及存储介质 | |
JPH0962570A (ja) | データベース管理装置及び方法 | |
TW202111564A (zh) | 日誌結構儲存系統 | |
US20070124350A1 (en) | High performance file fragment cache | |
KR102452250B1 (ko) | 오프체인 데이터 저장 방법 및 장치 | |
CN104281533A (zh) | 一种存储数据的方法及装置 | |
CN110958300B (zh) | 一种数据的上传方法、系统、装置、电子设备和计算机可读介质 | |
CN115167786A (zh) | 一种数据存储方法、装置、系统、设备和介质 | |
US20230359628A1 (en) | Blockchain-based data processing method and apparatus, device, and storage medium | |
CN109284624A (zh) | 一种基于区块链存储的数据安全隔离方法及装置 | |
CN110457307B (zh) | 元数据管理系统、用户集群创建方法、装置、设备和介质 | |
US9058326B1 (en) | Recovery and flush of endurant cache | |
JP6570761B2 (ja) | ストレージ制約付きの同期エンジン | |
JP5991141B2 (ja) | データ読み込み装置、データ書き込み装置、分散システム、方法、及びプログラム | |
CN107544916B (zh) | 一种缓存方法及存储设备 | |
US9251073B2 (en) | Update mask for handling interaction between fills and updates | |
CN103544117B (zh) | 一种数据读取方法及装置 | |
US10956386B2 (en) | Methods and apparatuses for automated performance tuning of a data modeling platform |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20150907 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20160420 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20160426 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160624 |
|
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: 20160719 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160801 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5991141 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |