JP2007102461A - データベースの整合性を判断する装置、およびその方法 - Google Patents

データベースの整合性を判断する装置、およびその方法 Download PDF

Info

Publication number
JP2007102461A
JP2007102461A JP2005291155A JP2005291155A JP2007102461A JP 2007102461 A JP2007102461 A JP 2007102461A JP 2005291155 A JP2005291155 A JP 2005291155A JP 2005291155 A JP2005291155 A JP 2005291155A JP 2007102461 A JP2007102461 A JP 2007102461A
Authority
JP
Japan
Prior art keywords
data element
hash value
identification information
unit
database
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
Application number
JP2005291155A
Other languages
English (en)
Other versions
JP3894335B1 (ja
Inventor
Shigeko Mori
茂子 森
Tatsuyuki Shiomi
達之 塩見
Takashi Yonezawa
隆 米沢
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Priority to JP2005291155A priority Critical patent/JP3894335B1/ja
Priority to US11/535,786 priority patent/US7444496B2/en
Application granted granted Critical
Publication of JP3894335B1 publication Critical patent/JP3894335B1/ja
Publication of JP2007102461A publication Critical patent/JP2007102461A/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9024Graphs; Linked lists
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/82Solving problems relating to consistency

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】データエレメントの間接参照を含むデータベースについて、その整合性を効率的に判断する。
【解決手段】データベースの整合性を判断する装置を提供する。このデータベースには、各々のデータエレメントに対応付けて、当該データエレメントを他のデータエレメントに参照させるために当該データエレメントの保存先アドレスを含む間接参照エレメントが記録されている。この装置は、まず、各々のデータエレメントから、当該データエレメントに対応する間接参照エレメントの識別情報を読み出し、そのハッシュ値を生成する。また、各々のデータエレメントから、参照先のデータエレメントに対応する間接参照エレメントの識別情報を読み出し、そのハッシュ値を生成する。そして、それらのハッシュ値が一致することを条件に、データベースが整合していると判断する。
【選択図】図5

Description

本発明は、データベースの整合性を判断する装置、およびその方法に関する。特に、本発明は、データエレメントの間接参照を含むデータベースの整合性を判断する装置、およびその方法に関する。
従来、階層型データベース・システム(例えば、IBM IMS DL/I(IMS))は、各々のデータエレメントをツリー構造で管理する。このデータベースにおいて、最小単位のデータをデータエレメントと呼び、ツリー構造の最上位に位置するデータエレメントをルートエレメントと呼ぶ。ルートエレメントは従属エレメントを有し、更にその従属エレメントは従属エレメントを有する。具体的には、各データエレメントは、その従属エレメントを指定させるために、その従属エレメントの保存先アドレスを指定したポインタを有している。各データエレメントの保存先アドレスは、例えば、相対バイトアドレス(RBA:Relative Byte Address)によって指定される。これは、データベースを記録するパーティションの特定のアドレスを基準としたアドレス値の相対値である。
このようなツリー構造は、通常、同一のパーティション内に形成される場合が多い。但し、大規模なデータベースを構築する場合には、異なる複数のパーティション間に論理関係と呼ばれる関連付けを行うことによって、ツリー構造を複数のパーティション内に形成させることもできる。この関連付けを実現するデータベースとしては、HALDB(IMS High Availability Large Database)が挙げられる。HALDBにおいては、間接参照エレメント(Indirect List Element)によって関連付けを実現する(特許文献1および非特許文献1を参照。)。これにより、複数のパーティションをあたかも1つのデータベースのように操作させることができる。
データベースは、コンパクションやデフラグメンテーションなどの再編成処理によって、アクセス効率を向上させることができる。この再編成処理は、分散して記録された複数のデータエレメントを連続領域に記録しなおす処理であるから、データエレメントの保存先アドレスが変更される場合がある。また、再編成処理は、パーティション間の論理関係に関わらずパーティション毎に行うことができる。したがって、複数のパーティションに格納されたデータベースにおいて、データエレメントの従属関係を保存先アドレスによって指定したのでは、再編成処理前のツリー構造が適切に維持できない。
このため、HALDBにおいて、データベースには、各々のデータエレメントに対応付けて、当該データエレメントを他のデータエレメントに参照させるために当該データエレメントの保存先アドレスを含む間接参照エレメントが記録されている。そして、参照元のデータエレメント(以下、ソースデータエレメント)は、参照先のデータエレメント(以下、ターゲットデータエレメント)を参照するために、ターゲットデータエレメントの保存先アドレスのみならず、そのターゲットデータエレメントに対応する間接参照エレメントの識別情報を有する。
ターゲットデータエレメントが属するパーティションにおいて再編成処理が行われると、間接参照エレメントが有する保存先アドレスは、再編成処理後の適切な保存先アドレスに更新される。この間接参照エレメントを参照することによって、ソースデータエレメントに含まれるターゲットデータエレメントの保存先アドレスを、再編成処理後の適切な値に更新することができる。
米国特許第5933820号 The Complete IMS HALDB Guide: All You Need to Know To Manage HALDBs, URL http://www.redbooks.ibm.com/redbooks/pdfs/sg246945.pdf
データベースの再編成処理においては、データエレメントを記録する位置の変更のみならず、データベースの定義変更、データエレメントの削除、パーティショニングの変更が行われる場合がある。このようにデータベースの構成が変更される場合には、データエレメントの従属関係が適切に維持されているか否かを確認することが望ましい。この確認は、データベースの整合性を判断することによって実現される。
整合性の判断としては、ハッシュチェックおよびフルチェックの2種類が用いられている。ハッシュチェックにおいて、データベース管理システム(以下、DBMS)は、各々のデータエレメントから参照先のデータエレメントのRBAを読み出してハッシュ値を生成する。また、DBMSは、各々のデータエレメントのRBAを読み出してハッシュ値を生成する。そして、ハッシュ値が一致することを条件にデータベースが整合していると判断する。
ハッシュ値が一致しなければフルチェックを行う。DBMSは、各々のデータエレメントから参照先のデータエレメントのRBAを読み出し、各々のデータエレメントのRBAを読み出し、互いに一致するか否かを判断する。これによって、整合しているか否かのみならず、整合していない箇所までを適切に判断することができる。しかしながら、間接参照エレメントを導入したデータベースにおいて、従来、整合性の判断を効率的に行う方法は提案されていなかった。
そこで本発明は、上記の課題を解決することのできる装置、方法、およびプログラムを提供することを目的とする。この目的は特許請求の範囲における独立項に記載の特徴の組み合わせにより達成される。また従属項は本発明の更なる有利な具体例を規定する。
上記課題を解決するために、本発明においては、データベースの整合性を判断する装置であって、データベースには、各々のデータエレメントに対応付けて、当該データエレメントを他のデータエレメントに参照させるために当該データエレメントの保存先アドレスを含む間接参照エレメントが記録しており、各々のデータエレメントから、当該データエレメントに対応する間接参照エレメントの識別情報を読み出す第1読出部と、各々のデータエレメントから、参照先のデータエレメントに対応する間接参照エレメントの識別情報を読み出す第2読出部と、第1読出部によって各々のデータエレメントから読み出された識別情報のハッシュ値を生成する第1生成部と、第2読出部によって各々のデータエレメントから読み出された識別情報のハッシュ値を生成する第2生成部と、第1生成部によって生成されたハッシュ値、および、第2生成部によって生成されたハッシュ値が一致することを条件に、データベースが整合していると判断する判断部とを備える装置、当該装置によってデータベースの整合性を判断する方法およびプログラムを提供する。
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではなく、これらの特徴群のサブコンビネーションもまた、発明となりうる。
本発明によれば、データエレメントの間接参照を含むデータベースについて、その整合性を効率的に判断できる。
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではなく、また実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
図1は、データベース管理装置10の全体構成を示す。データベース管理装置10は、データベース20に対してアクセスすると共に、データベース20の整合性を判断する。具体的には、データベース管理装置10は、アクセス部15と、再編成部18と、整合判断ユニット30と、維持判断ユニット40とを備える。アクセス部15は、利用者の要求に応じて、または、予め設定されたスケジュールに従ってデータベース20に対してアクセスする。再編成部18は、データベース20中のデータエレメントの保存先アドレスを変更することによりデータベース20を再編成する。この再編成によって、複数のデータエレメントがデータベース20中の連続領域に配置され、データベース20に対するアクセスの効率を向上できる。
整合判断ユニット30は、データベース20の再編成に応じ、データベース20の整合性を判断して判断結果を出力する。維持判断ユニット40は、整合判断ユニット30によってデータベース20が整合していると判断された状態において、データベース20が更新されたことに応じ、データベース20の整合性が維持されているか否かを判断する。本実施例に係るデータベース管理装置10は、データベース20が複数のパーティションによって構成されており、かつ、それぞれのパーティションが独立して再編成され得る場合であっても、データベース20の整合性を適切に判断することを目的とする。
図2は、データベース20のデータ構造の一例を示す。データベース20は、複数のパーティション、例えば、パーティション200−1と、パーティション200−2とを有する。パーティション200−1は、属性情報210−1と、データ記録部220−1と、参照記録部260−1とを含む。属性情報210−1は、パーティションの識別情報(ID)を含む。また、属性情報210−1は、パーティション200−1が再編成された合計の回数である再編成回数を含む。例えば、パーティション200−1のIDは1であり、パーティション200−1の再編成回数は4回である。また、パーティション200−2は、属性情報210−2と、データ記録部220−2と、参照記録部260−2とを含む。属性情報210−2は、パーティションの識別情報(ID)を含む。また、属性情報210−2は、パーティション200−2が再編成された合計の回数である再編成回数を含む。例えば、パーティション200−2のIDは2であり、パーティション200−2の再編成回数は5回である。
データ記録部220−1は、複数のデータエレメントを記録しており、このうちの1つはデータエレメント230−1である。また、参照記録部260−1は、データエレメント230−1に対応付けて、データエレメント230−1を他のデータエレメントに参照させるためにデータエレメント230−1の保存先アドレスを含む間接参照エレメント270−1を記録している。
データエレメント230−1は、接頭部240−1およびデータ部250−1を含む。また、接頭部240−1は、データエレメント230−1を参照する他のデータエレメントの数である参照エレメント数を含む。参照エレメント数が複数であれば、1つのデータエレメント230−1に対し、他の複数のデータエレメントから参照されることとなる。また、この参照エレメント数は、参照エレメント数の数値それ自体でなくともよく、参照エレメント数を識別するための情報であってもよい。本図では、参照エレメント数を識別するための情報を、SCという記号で示す。このSCは、データエレメントの種類を示す情報である。参照エレメント数は、SCによって定まる場合と、同じSCであってもデータエレメント毎に異なる場合がある。後者の場合は、SCの他にデータエレメント毎に参照エレメント数を保持するフィールドが存在する。
接頭部240−1は、データエレメント230−1の参照先のデータエレメントに対応する間接参照エレメントの識別情報を含む。この識別情報は、例えば、ILK(Indirect List Key)と呼ばれる。本図の例においてデータエレメント230−1の参照先のデータエレメントはデータエレメント230−2である。そして、参照記録部260−2は、データエレメント230−2に対応付けて間接参照エレメント270−2を記録している。よって、接頭部240−1は、データエレメント230−1の参照先のデータエレメントに対応する間接参照エレメントである間接参照エレメント270−2の識別情報を含む。
接頭部240−1は、データエレメント230−1の参照先のデータエレメントの保存先アドレスを含む。この保存先アドレスは、RBA(Relative Byte Address)と呼ばれ、パーティション200−2中の特定の基準アドレスからの相対的な位置を示す。このため、パーティション200−2が再編成されてデータエレメント230−2の保存先アドレスが変更された場合には、接頭部240−1に記録されたデータエレメント230−2の保存先アドレスは不正確となる。また、接頭部240−1は、データエレメント230−1に対応する間接参照エレメント270−1の識別情報(ILK:Indirect List Key)を含む。
間接参照エレメント270−1には、間接参照エレメント270−1に対応するデータエレメント230−1の保存先アドレス(RBA)が、間接参照エレメント270−1の識別情報(ILK)に対応付けて記録されている。他のデータエレメントからデータエレメント230−1を参照する場合には、アクセス部15は、この識別情報(ILK)によって間接参照エレメント270−1を特定し、間接参照エレメント270−1中の保存先アドレス(RBA)を読み出すことによりデータエレメント230−1を特定できる。また、間接参照エレメント270−1は、間接参照エレメント270−1に対応するデータエレメント230−1が記録されているパーティション200−1の識別情報(ID)と、データエレメント230−1が再編成の対象となった再編成回数とを含む。この再編成回数は、再編成部18によってデータエレメント230−1が再編成される毎に1増加される。
ここで、データベース20に対する削除・変更操作によってデータエレメント230−1が無効になった場合であっても、データエレメント230−1やそれに対応する間接参照エレメント270−1は、削除されずにデータベース20内に残る場合がある。この場合には、データエレメント230−1は再編成の対象とならないので、再編成が行われた場合であっても、間接参照エレメント270−1に含まれる再編成回数は増加しない。即ち、属性情報210−1に記録された再編成回数が4回であっても、間接参照エレメント270−1に含まれる再編成回数は、4回未満の値となる。
この再編成回数は、この間接参照エレメント270−1が無効であるか否かを示す制御情報の役割を果たす。即ち例えば、後述する第3読出部350は、間接参照エレメントに対応して記録された再編成回数が、データベース20に対応する再編成回数よりも少ないことを条件に、その間接参照エレメントが無効であると判断する。本図の例において、間接参照エレメント270−1には、再編成回数として4回が記録されており、属性情報210−1には、再編成回数として4回が記録されており、これらの回数は一致する。従って、第3読出部350は、間接参照エレメント270−1が有効であると判断する。一方で、間接参照エレメント272には、再編成回数として3回が記録されており、属性情報210−1に記録された再編成回数とは異なる。このため、第3読出部350は、間接参照エレメント272を無効であると判断する。
データ記録部220−2は、複数のデータエレメントを記録しており、このうちの1つは230−2である。また、参照記録部260−2は、データエレメント230−2に対応付けて、データエレメント230−2を他のデータエレメントに参照させるためにデータエレメント230−2の保存先アドレスを記録した間接参照エレメント270−2を記録している。データエレメント230−2は、接頭部240−2およびデータ部250−2を含む。また、接頭部240−2は、データエレメント230−2の参照エレメント数を含む。接頭部240−2は、データエレメント230−2の参照先のデータエレメントに対応する間接参照エレメントの識別情報(ILK)を含む。また、接頭部240−2は、データエレメント230−2の参照先のデータエレメントの保存先アドレスを含む。
また、接頭部240−2は、データエレメント230−2に対応する間接参照エレメント270−2の識別情報(ILK)を含む。間接参照エレメント270−2は、間接参照エレメント270−2に対応するデータエレメント230−2の保存先アドレス(RBA)を、間接参照エレメント270−2の識別情報(ILK)に対応付けて含む。データエレメント230−1からデータエレメント230−2を参照する場合には、アクセス部15は、まず、この識別情報(ILK)によって間接参照エレメント270−2を特定する。そして、アクセス部15は、間接参照エレメント270−2中の保存先アドレス(RBA)を読み出すことによりデータエレメント230−2を特定する。これによりデータエレメント230−1中に含まれるデータエレメント230−2の保存先アドレス(RBA)が不正確な場合であってもデータエレメント230−2を適切に参照できる。
図3は、整合判断ユニット30の機能構成を示す。整合判断ユニット30は、再編成制御部300と、第1読出部310と、第2読出部320と、第1生成部330と、第2生成部340と、第3読出部350と、第3生成部360と、第4生成部370と、判断部380とを有する。再編成制御部300は、再編成されたデータベース20に対応付けて再編成の合計の回数である再編成回数を記録する。具体的には、再編成制御部300は、データベース20中のパーティション200−1が再編成されたことを条件に、属性情報210−1に記録された再編成回数を1増加させる。
また、再編成制御部300は、再編成の対象となったデータエレメントに対応する間接参照エレメントに対応付けて、再編成回数を制御情報として記録する。具体的には、再編成制御部300は、パーティション200−1が再編成されたことを条件に、更新された再編成回数を、間接参照エレメント270−1中に記録する。なお、参照記録部260−1は、対応するデータエレメントが削除されたために無効となった間接参照エレメントをそのまま記録していてもよい。この場合、再編成制御部300は、無効となった間接参照エレメントについては再編成回数を更新しない。このため、パーティション200−1が再編成された場合であっても元の再編成回数がそのまま記録された状態となる。これにより、有効な間接参照エレメントおよび無効な間接参照エレメントを適切に区別することができる。
第1読出部310は、データベース20が再編成されたことに応じ、各々のデータエレメントからそのデータエレメントに対応する間接参照エレメントの識別情報を読み出す。例えば、第1読出部310は、データエレメント230−2から、データエレメント230−2に対応する間接参照エレメント270−2のILKを読み出す。また、第1読出部310は、各々のデータエレメントから、その間接参照エレメントの識別情報に対応付けて更に参照エレメント数を読み出す。
第2読出部320は、データベース20が再編成されたことに応じ、各々のデータエレメントからそのデータエレメントの参照先のデータエレメントに対応する間接参照エレメントの識別情報を読み出す。例えば、第2読出部320は、データエレメント230−1から、データエレメント230−1の参照先のデータエレメント230−2に対応する間接参照エレメント270−2のILKを読み出す。
第1生成部330は、第1読出部310によって各々のデータエレメントから読み出された識別情報のハッシュ値を生成する。具体的には、第1生成部330は、第1読出部310によって各々のデータエレメントから読み出された識別情報を、その識別情報に対応する参照エレメント数により重み付けした値に基づいてハッシュ値を算出する。処理の一例として、まず、第1生成部330は、読み出された識別情報の各々に、その識別情報の参照エレメント数を乗じる。例えば、識別情報が0x0200であり参照エレメント数が4であれば、第1生成部330は、これらを乗じた0x0800を算出する。そして、第1生成部330は、算出した値を各々のデータエレメントについて合計することによりハッシュ値とする。このように算出されたハッシュ値を第1ハッシュ値とする。
第2生成部340は、第2読出部320によって各々のデータエレメントから読み出された識別情報のハッシュ値を算出する。第2生成部340は、それらの識別情報を所定の法の下で合計することによりハッシュ値を生成してもよい。このハッシュ値を第2ハッシュ値とする。第3読出部350は、間接参照エレメントの各々から、その間接参照エレメントに対応するデータエレメントの保存先アドレス、および、その間接参照エレメントの識別情報(ILK)を読み出す。この際、第3読出部350は、無効である旨を示す制御情報に対応する間接参照エレメントを除外したその他の間接参照エレメントの各々から、その間接参照エレメントに対応するデータエレメントの保存先アドレス、および、その間接参照エレメントの識別情報を読み出す。
第3生成部360は、第3読出部350によって各々の間接参照エレメントから読み出された保存先アドレス、および、識別情報(ILK)の組に基づいてハッシュ値を生成する。このハッシュ値を第3ハッシュ値とする。第4生成部370は、第1読出部310によって各々のデータエレメントから読み出された識別情報、および、第1読出部310がその識別情報を読み出した各々のデータエレメントの保存先アドレスの組に基づいてハッシュ値を生成する。このハッシュ値を第4ハッシュ値とする。
判断部380は、第1生成部330によって生成された第1ハッシュ値、および、第2生成部340によって生成された第2ハッシュ値が一致するか否かを判断する。また、判断部380は、第3生成部360によって生成された第3ハッシュ値、および、第4生成部370によって生成された第4ハッシュ値が一致するか否かを判断する。何れも一致することを条件に、判断部380は、データベース20が整合していると判断する。
図4は、維持判断ユニット40の機能構成を示す。維持判断ユニット40は、更新ログ記録部400と、第1調整部410と、第2調整部420と、第3調整部430と、第4調整部440とを有する。更新ログ記録部400は、アクセス部15によってデータベース20が更新される毎に、その更新の処理内容を記録する。第1調整部410は、判断部380によりデータベース20が整合していると判断された状態において、何れかのデータエレメントがデータベース20から削除され、かつそのデータエレメントに対応する間接参照エレメントが無効化されたか否かを判断する。また、第1調整部410は、判断部380によりデータベース20が整合していると判断された状態において、何れかのデータエレメントから他の何れかのデータエレメントに対する参照が追加されたか否かを判断する。これらの判断は、更新ログ記録部400を参照することによって行われる。
何れかのデータエレメントがデータベース20から削除され、かつそのデータエレメントに対応する間接参照エレメントが無効化されたことに応じ、第1調整部410は、第1生成部330により生成された第1ハッシュ値を変更する。具体的には、第1調整部410は、第1ハッシュ値から、無効化されたその間接参照エレメントの識別情報を差し引く。差し引く識別情報の値は、その識別情報に対応する参照エレメント数によって重み付けされることが望ましい。また、何れかのデータエレメントから他の何れかのデータエレメントに対する参照が追加されたことに応じ、第1調整部410は、第1ハッシュ値を変更する。
第2調整部420は、何れかのデータエレメントから他のデータエレメントに対する参照が変更または追加されたか否かを更新ログ記録部400に基づいて判断する。第2調整部420は、何れかのデータエレメントから他のデータエレメントに対する参照が変更または追加されたことに応じ、第2生成部340により生成された第2ハッシュ値を変更する。例えば、第2調整部420は、第2ハッシュ値から、変更前にそのデータエレメントに記録されていた識別情報を差し引き、差し引いたそのハッシュ値に、変更後にそのデータエレメントの記録された識別情報を加える。
第3調整部430は、判断部380によりデータベースが整合していると判断された状態において、何れかのデータエレメントがデータベース20から削除され、かつそのデータエレメントに対応する間接参照エレメントが無効化されたか否かを判断する。また、第3調整部430は、何れかのデータエレメントがデータベース20に追加されたか否かを判断する。第3調整部430は、何れかのデータエレメントがデータベースから削除され、かつそのデータエレメントに対応する間接参照エレメントが無効化されたことを条件に、または、何れかのデータエレメントが追加されたことを条件に、第3生成部360により生成された第3ハッシュ値を変更する。例えば、第3生成部360は、第3ハッシュ値から、無効化されたその間接参照エレメントに記録されていたそのデータエレメントの保存先アドレス、および、無効化されたその間接参照エレメントの識別情報の組に基づくハッシュ値を差し引く。
また、第4調整部440は、何れかのデータエレメントがデータベースから削除され、かつそのデータエレメントに対応する間接参照エレメントが無効化されたことを条件に、または、何れかのデータエレメントが追加されたことを条件に、第4生成部370により生成された第4ハッシュ値を変更する。例えば、第4調整部440は、第4ハッシュ値から、削除されたそのデータエレメントに記録されていた識別情報、および、そのデータエレメントの保存先アドレスの組に基づくハッシュ値を差し引く。
以上のハッシュ値の変更を受けて、判断部380は、第1調整部410により変更された第1ハッシュ値、および、第2調整部420により変更された第2ハッシュ値を比較する。また、判断部380は、第3調整部430により変更された第3ハッシュ値、および、第4調整部440により変更された第4ハッシュ値を比較する。判断部380は、何れも一致することを条件に、データベース20の整合が維持されていると判断する。
図5は、整合判断ユニット30がデータベース20の整合性を判断する処理のフローチャートを示す。図6は、図5に続く処理のフローチャートを示す。データベース20に対する再編成が完了したことに応じ、整合判断ユニット30は、以下の処理を行う。まず、第1読出部310は、各々のデータエレメントからそのデータエレメントに対応する間接参照エレメントの識別情報を読み出す(S500)。この際、第1読出部310は、その識別情報に対応付けて、その間接参照エレメントが他のデータエレメントから参照される参照エレメント数を更に読み出す。次に、第2読出部320は、各々のデータエレメントからそのデータエレメントの参照先のデータエレメントに対応する間接参照エレメントの識別情報を読み出す(S510)。
そして、第1生成部330は、第1読出部310によって各々のデータエレメントから読み出された識別情報のハッシュ値を生成する(S520)。このハッシュ値の生成にあたって、第1生成部330は、各々の識別情報を、対応する参照エレメント数によって重み付けする(例えば、識別情報に参照エレメント数を乗じる)。このハッシュ値を第1ハッシュ値と呼ぶ。第2生成部340は、第2読出部320によって読み出された、各々のデータエレメントの参照先のデータエレメントに対応する間接参照エレメントの識別情報のハッシュ値を算出する(S530)。このハッシュ値を第2ハッシュ値と呼ぶ。判断部380は、第1生成部330によって生成された第1ハッシュ値、および、第2生成部340によって生成された第2ハッシュ値が一致するか否かを判断する(S540)。
これらのハッシュ値が一致しないことを条件に(S540:NO)、判断部380は、データベース20が整合していないと判断する(S550)。この場合には、整合判断ユニット30は、データベース20のフルチェックを行って、整合していない箇所を検出してもよい。一致したことを条件に(S540:YES)、第3読出部350は、間接参照エレメントの各々から、その間接参照エレメントに対応するデータエレメントの保存先アドレス、および、その間接参照エレメントの識別情報(ILK)を読み出す(S600)。
そして、第3生成部360は、第3読出部350によって各々の間接参照エレメントから読み出された保存先アドレス、および、識別情報(ILK)の組に基づいてハッシュ値を生成する(S610)。このハッシュ値を第3ハッシュ値と呼ぶ。第4生成部370は、第1読出部310によって各々のデータエレメントから読み出された識別情報、および、第1読出部310がその識別情報を読み出した各々のデータエレメントの保存先アドレスの組に基づいてハッシュ値を生成する(S620)。このハッシュ値を第4ハッシュ値と呼ぶ。
判断部380は、第3生成部360によって生成された第3ハッシュ値、および、第4生成部370によって生成された第4ハッシュ値が一致するか否かを判断する(S630)。一致しないことを条件に(S630:NO)、判断部380は、データベース20が整合していないと判断する(S670)。一致することを条件に、判断部380は、その他の部分の整合性を判断する(S640)。例えば、判断部380は、以下の整合性判断を行ってもよい。
判断部380は、データベース20に含まれる各々のデータエレメントの内容に基づき、それらのデータエレメントの参照先のデータエレメントの数の合計を算出する。また、判断部380は、データベース20に含まれる有効な間接参照エレメントの数の合計を算出する。これらの合計が一致することを条件に、判断部380は、データベース20が整合していると判断する。
また、判断部380は、データベース20中の各々のデータエレメントに含まれる、参照先のデータエレメントの保存先アドレスの数の合計数を算出する。また、判断部380は、データベース20中の各データエレメントに含まれる参照エレメント数の総数を算出する。そして、これらの数が一致することを条件に、判断部380は、データベース20が整合していると判断する。
以上の何れの数も一致していれば(S650:YES)、判断部380は、データベース20が整合していると判断する(S660)。何れか一つでも異なっていれば(S650:NO)、判断部380は、データベース20が整合していないと判断する(S670)。
図7は、維持判断ユニット40がデータベース20の整合維持を判断する処理のフローチャートを示す。図8は、図7に続く処理のフローチャートを示す。判断部380によりデータベース20が整合していると判断された状態において、維持判断ユニット40は、何れかのデータエレメントがデータベース20から削除され、かつそのデータエレメントに対応する間接参照エレメントが無効化されたか否かを判断する(S700)。削除されたことに応じ、第1調整部410は、第1生成部330により生成されたハッシュ値から、当該無効化された間接参照エレメントの識別情報を差し引く(S710)。
ここで、「差し引く」とは、ハッシュ値を算出するための演算とは逆の演算を行うことを言う。例えば、識別情報の和をハッシュ値としている場合には、第1調整部410は、そのハッシュ値から、無効化された間接参照エレメントの識別情報を引き算する。他の例として、識別情報の排他的論理和をハッシュ値としている場合には、排他的論理和演算の逆演算も排他的論理和演算であるから、第1調整部410は、変更前のハッシュ値と、無効化された間接参照エレメントのハッシュ値とを、排他的論理和演算した値を、変更後のハッシュ値とする。
第3調整部430は、第3生成部360により生成されたハッシュ値から、無効化された当該間接参照エレメントに含まれていた当該データエレメントの保存先アドレス、および、無効化された当該間接参照エレメントの識別情報の組に基づくハッシュ値を差し引く(S720)。また、第4調整部440は、第4生成部370により生成されたハッシュ値から、削除された当該データエレメントに含まれていた識別情報、および、当該データエレメントの保存先アドレスの組に基づくハッシュ値を差し引く(S730)。
続いて、維持判断ユニット40は、何れかのデータエレメントから他のデータエレメントに対する参照が変更されたか否かを判断する(S800)。参照が変更されたことに応じ(S800:YES)、第2調整部420は、第2生成部340により生成された第2ハッシュ値から、変更前に当該データエレメントに含まれていた識別情報を差し引く(S810)。そして、第2調整部420は、差し引いた後のその第2ハッシュ値に、変更後に当該データエレメントに記録された識別情報を加える(S820)。ここで、「加える」についても、「差し引く」と同様に、単に加算のみを指すのではなく、ハッシュ値を算出するための演算を行うことをいう。
続いて、維持判断ユニット40は、何れかのデータエレメントから他のデータエレメントに対する参照が追加されたか否かを判断する(S830)。参照が追加されたことに応じ(S830:YES)、第1調整部410は、第1ハッシュ値を変更する(S840)。具体的には、まず、第1調整部410は、追加前に参照先の当該他のデータエレメントに含まれていた参照エレメント数に対する、追加後に当該他のデータエレメントに含まれる参照エレメント数の増分を求める。例えば、このデータエレメントに対して1つの参照のみが追加された場合には、この増分は1である。そして、第1調整部410は、その増分に、当該他のデータエレメントに対応する間接参照エレメントの識別情報を乗じた値を、第1ハッシュ値に加える。
次に、第2調整部420は、参照元の当該データエレメントに追加された、参照先のデータエレメントに対応する間接参照エレメントの識別情報を、第2ハッシュ値に加える(S850)。
ここで、参照が追加される場合とは、既存のデータエレメントから他の既存のデータエレメントに対する参照が追加される場合のみならず、新たにデータエレメントが追加された結果として参照が追加される場合を含む。参照の追加と同時に参照先のデータエレメントが追加される場合には、追加前にそのデータエレメントに含まれていた参照エレメント数は0とみなす。また、新たにデータエレメントが追加される場合には、続いて図9の処理を行う。
図9は、図8に続く処理のフローチャートを示す。維持判断ユニット40は、判断部380によりデータベース20が整合していると判断された状態において、何れかのデータエレメントがデータベース20に追加されたか否かを判断する(S900)。データエレメントがデータベース20に追加されたことに応じ(S900:YES)、第3調整部430は、第3ハッシュ値を変更する。具体的には、第3調整部430は、そのデータエレメントに対応付けて追加される間接参照エレメントに対して新たに割り当てられる識別情報(ILK)、および、そのデータエレメントの保存先アドレス(RBA)に基づくハッシュ値を求める。
なお、データエレメントが追加された場合であっても、それに対応する間接参照エレメントが直ちに生成されない場合がある。このような場合であっても、後に生成されるその間接参照エレメントに新たに割り当てられるべき識別情報(ILK)は、そのデータエレメントが追加された時点で決定され、そのデータエレメント内に含めて記録される。第3調整部430は、この識別情報を用いて第3ハッシュ値を変更する。
次に、第4調整部440は、追加されたそのデータエレメントに含まれる、そのデータエレメントに対応する間接参照エレメントの識別情報(ILK)、および、そのデータエレメントの保存先アドレスに基づくハッシュ値を、第4ハッシュ値に加える(S920)。判断部380は、第1調整部410により変更された第1ハッシュ値、および、第2調整部420により変更された第2ハッシュ値が一致するか否かを判断する(S930)。また、判断部380は、第3調整部430により変更された第3ハッシュ値、および、第4調整部440により変更された第4ハッシュ値が一致するか否かを判断する。何れも一致することを条件に(S930:YES)、判断部380は、データベース20の整合が維持されていると判断する(S940)。一方で、何れかが異なれば(S930:NO)、判断部380は、データベース20が不整合な状態であると判断する(S950)。
図10は、データベース管理装置10として機能する情報処理装置1000のハードウェア構成の一例を示す。本図においては、情報処理装置1000が、メインフレームと呼ばれる大型汎用計算機である場合を例に、そのハードウェア構成を説明する。情報処理装置1000は、主記憶装置1002と、少なくとも1つの中央処理装置1004と、記憶制御部1006と、チャネル・サブシステム1008と、少なくとも1つの制御装置1010と、少なくとも1つの入出力デバイス1012a〜dとを備える。
主記憶装置1002は、入出力デバイス1012a〜dから入力したデータ及びプログラムを格納する。そして、主記憶装置1002は、中央処理装置1004及びチャネル・サブシステム1008からアドレスの指定を受けると、そのアドレスに格納しているデータを中央処理装置1004及びチャネル・サブシステム1008に送る。主記憶装置1002は、格納しているデータを高速に読み書き可能であり、この高速な読み書きにより、中央処理装置1004による高速演算処理が可能となる。
中央処理装置1004は、情報処理装置1000の全体を制御する中心的な役割を果たし、例えば、少なくとも1つのオペレーティングシステム1005を実行する。オペレーティングシステム1005は、情報処理装置1000におけるプログラムの実行及び入出力処理を制御する。例えば、オペレーティングシステム1005は、中央処理装置1004上で動作する他のプログラムの実行を制御してもよいし、入出力デバイス1012a〜dまでの各々におけるデータ転送を制御してもよい。
記憶制御部1006は、双方向又は片方向に通信可能なバス1014を経由して中央処理装置1004に接続される。記憶制御部1006は、更に、バス1016を経由して主記憶装置1002に接続され、バス1018を経由してチャネル・サブシステム1008に接続される。記憶制御部1006は、例えば、中央処理装置1004又はチャネル・サブシステム1008から受けたアクセスリクエストを一時的に格納し(キューイング処理)、所定のタイミングでそのアクセスリクエストを主記憶装置1002に送信してもよい。
チャネル・サブシステム1008は、各々の制御装置1010に対して、データ転送路1020を経由して接続される。そして、チャネル・サブシステム1008は、入出力デバイス1012a〜d及び主記憶装置1002間でのデータ転送を制御する。これにより、中央処理装置1004が入出力デバイス1012a〜dとの間で通信する処理負荷が軽減されるので、中央処理装置1004による演算処理と、入出力デバイス1012a〜dによる入出力処理とを並列に実行させることができ、結果として情報処理装置1000を効率的に動作させることができる。
また、チャネル・サブシステム1008は、少なくとも1つのチャネルパス1022により、入出力デバイス1012a〜dとデータ転送する。各々のチャネルパス1022は、チャネル・サブシステム1008内に設けられたチャネル1024を有する。また、各々のチャネルパス1022は、少なくとも1つの制御装置1010と、データ転送路1020を有する。ここで、データ転送路1020は、例えば、(ESCON: Enterprise Systems Connection Architecture)に基づくシリアルリンクであってもよい。これに代えて、データ転送路1020は、パラレルOEMIであってもよいし、ファイバチャネルであってもよい。
制御装置1010は、入出力デバイス1012a〜dの少なくとも1つを制御する。例えば、制御装置1010は、入出力デバイス1012a〜dの各々におけるデータ転送のタイミングを制御してもよい。制御装置1010は、バス1026を経由して、入出力デバイス1012a〜dの少なくとも1つに接続する。一例として、制御装置1010は、最大256個の入出力デバイスに接続可能である。
入出力デバイス1012a〜dの各々は、制御装置1010、チャネル・サブシステム1008、及び記憶制御部1006を順次経由して主記憶装置1002との間でデータ転送を行う。ここで、入出力デバイス1012aは、具体的には、磁気テープドライブであり、入出力デバイス1012dは、ハードディスクドライブである。これに代えて、又はこれに加えて、入出力デバイス1012a〜dの各々は、パンチカードリーダ、ディスプレイ、キーボード、プリンタ、通信デバイス、各種センサー、又はその他の記憶装置であってもよい。一例として、入出力デバイス1012a〜dの少なくとも何れか1つは、データベース20と接続され、データベース20に対するアクセスを行ってもよい。
情報処理装置1000に提供されるプログラムは、テープ記録媒体1035等の記録媒体に格納されて利用者によって提供される。プログラムは、入出力デバイス1012aによって読み出され、チャネル・サブシステム1008を経由して主記憶装置1002に格納される。そして、主記憶装置1002に格納されたプログラムは、再度チャネル・サブシステム1008を経由して入出力デバイス1012d(ハードディスクドライブ)にインストールされる。プログラムが情報処理装置1000等に働きかけて行わせる動作は、図1から図9において説明したデータベース管理装置10における動作と同一であるから、説明を省略する。
以上に示したプログラムは、外部の記憶媒体に格納されてもよい。記憶媒体としては、フレキシブルディスク、CD−ROMの他に、DVDやPD等の光学記録媒体、MD等の光磁気記録媒体、ICカード等の半導体メモリ等を用いることができる。また、専用通信ネットワークやインターネットに接続されたサーバシステムに設けたハードディスク又はRAM等の記憶装置を記録媒体として使用し、ネットワークを介してプログラムを情報処理装置1000に提供してもよい。
以上、本実施例に係るデータベース管理装置10によれば、データエレメントの間接参照を含むデータベースについて、再編成処理が行われた場合において、その整合性を効率的に判断することができる。更に、一旦整合性が判断されれば、その後にデータベースが更新された場合であっても、その整合性が維持されていることを効率的に判断できる。
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
図1は、データベース管理装置10の全体構成を示す。 図2は、データベース20のデータ構造の一例を示す。 図3は、整合判断ユニット30の機能構成を示す。 図4は、維持判断ユニット40の機能構成を示す。 図5は、整合判断ユニット30がデータベース20の整合性を判断する処理のフローチャートを示す。 図6は、図5に続く処理のフローチャートを示す。 図7は、維持判断ユニット40がデータベース20の整合維持を判断する処理のフローチャートを示す。 図8は、図7に続く処理のフローチャートを示す。 図9は、図8に続く処理のフローチャートを示す。 図10は、データベース20として機能する情報処理装置1000のハードウェア構成の一例を示す。
符号の説明
10 データベース管理装置
15 アクセス部
18 再編成部
20 データベース
30 整合判断ユニット
40 維持判断ユニット
200 パーティション
210 属性情報
220 データ記録部
230 データエレメント
240 接頭部
250 データ部
260 参照記録部
270 間接参照エレメント
272 間接参照エレメント
300 再編成制御部
310 第1読出部
320 第2読出部
330 第1生成部
340 第2生成部
350 第3読出部
360 第3生成部
370 第4生成部
380 判断部
400 更新ログ記録部
410 第1調整部
420 第2調整部
430 第3調整部
440 第4調整部
1000 情報処理装置

Claims (12)

  1. データベースの整合性を判断する装置であって、
    前記データベースには、各々のデータエレメントに対応付けて、当該データエレメントを他のデータエレメントに参照させるために当該データエレメントの保存先アドレスを含む間接参照エレメントが記録されており、
    各々のデータエレメントから、当該データエレメントに対応する間接参照エレメントの識別情報を読み出す第1読出部と、
    各々のデータエレメントから、参照先のデータエレメントに対応する間接参照エレメントの識別情報を読み出す第2読出部と、
    前記第1読出部によって各々のデータエレメントから読み出された識別情報のハッシュ値を生成する第1生成部と、
    前記第2読出部によって各々のデータエレメントから読み出された識別情報のハッシュ値を生成する第2生成部と、
    前記第1生成部によって生成されたハッシュ値、および、前記第2生成部によって生成されたハッシュ値が一致することを条件に、前記データベースが整合していると判断する判断部と
    を備える装置。
  2. 前記間接参照エレメントの各々には、当該間接参照エレメントに対応するデータエレメントの保存先アドレスが記録されており、
    前記間接参照エレメントの各々から、当該間接参照エレメントに対応するデータエレメントの保存先アドレスを読み出す第3読出部と、
    前記第3読出部によって各々の間接参照エレメントから読み出された保存先アドレスに基づいてハッシュ値を生成する第3生成部と、
    前記第1読出部が間接参照エレメントの識別情報を読み出した各々のデータエレメントの保存先アドレスに基づいてハッシュ値を生成する第4生成部と
    を更に備え、
    前記判断部は、前記第3生成部によって生成されたハッシュ値、および、前記第4生成部によって生成されたハッシュ値が一致することを更に条件に、前記データベースが整合していると判断する
    請求項1に記載の装置。
  3. 前記間接参照エレメントの各々には、当該間接参照エレメントに対応するデータエレメントの保存先アドレスが、当該間接参照エレメントの識別情報に対応付けて記録されており、
    前記間接参照エレメントの各々から、当該間接参照エレメントに対応するデータエレメントの保存先アドレス、および、当該間接参照エレメントの識別情報を読み出す第3読出部と、
    前記第3読出部によって各々の間接参照エレメントから読み出された保存先アドレス、および、識別情報に基づいてハッシュ値を生成する第3生成部と、
    前記第1読出部によって各々のデータエレメントから読み出された識別情報、および、前記第1読出部が当該識別情報を読み出した各々のデータエレメントの保存先アドレスに基づいてハッシュ値を生成する第4生成部と
    を更に備え、
    前記判断部は、前記第3生成部によって生成されたハッシュ値、および、前記第4生成部によって生成されたハッシュ値が一致することを更に条件に、前記データベースが整合していると判断する
    請求項1に記載の装置。
  4. 各々のデータエレメントは、当該データエレメントを参照する他のデータエレメントの数である参照エレメント数を更に含み、
    前記第1読出部は、各々のデータエレメントから、前記識別情報に対応付けて更に前記参照エレメント数を読み出し、
    前記第1生成部は、前記第1読出部によって各々のデータエレメントから読み出された識別情報を、当該識別情報に対応する前記参照エレメント数により重み付けした値に基づいてハッシュ値を生成する
    請求項3に記載の装置。
  5. 前記データベースには、複数の前記間接参照エレメントの各々に対応付けて、当該間接参照エレメントが無効であるか否かを示す制御情報が記録されており、
    前記第3読出部は、無効である旨を示す前記制御情報に対応する間接参照エレメントを除外した複数の間接参照エレメントの各々から、当該間接参照エレメントに対応するデータエレメントの保存先アドレス、および、当該間接参照エレメントの識別情報を読み出す
    請求項3に記載の装置。
  6. データエレメントの保存先アドレスを変更することにより前記データベースを再編成する再編成部と、
    再編成された前記データベースに対応付けて再編成の合計の回数である再編成回数を記録し、再編成の対象となったデータエレメントに対応する間接参照エレメントに対応付けて前記再編成回数を前記制御情報として記録する再編成制御部と
    を更に備え、
    前記第3読出部は、前記間接参照エレメントに対応して記録された再編成回数が、前記データベースに対応する再編成回数よりも少ないことを条件に、当該間接参照エレメントが無効であると判断する
    請求項5に記載の装置。
  7. 前記判断部により前記データベースが整合していると判断された状態において、何れかのデータエレメントが前記データベースから削除され、かつ当該データエレメントに対応する間接参照エレメントが無効化されたことに応じ、
    前記第3生成部により生成されたハッシュ値から、無効化された当該間接参照エレメントに含まれていた当該データエレメントの保存先アドレス、および、無効化された当該間接参照エレメントの識別情報に基づくハッシュ値を差し引く第3調整部と、
    前記第4生成部により生成されたハッシュ値から、削除された当該データエレメントに含まれていた識別情報、および、当該データエレメントの保存先アドレスに基づくハッシュ値を差し引く第4調整部と
    を更に備え、
    前記判断部は、前記第3調整部により変更されたハッシュ値、および、前記第4調整部により変更されたハッシュ値が一致することを条件に、当該整合が維持されていると判断する
    請求項3に記載の装置。
  8. 前記判断部により前記データベースが整合していると判断された状態において、
    何れかのデータエレメントが前記データベースから削除され、かつ当該データエレメントに対応する間接参照エレメントが無効化されたことに応じ、前記第1生成部により生成されたハッシュ値から、当該無効化された間接参照エレメントの識別情報を差し引く第1調整部と、
    何れかのデータエレメントから他のデータエレメントに対する参照が変更されたことに応じ、前記第2生成部により生成されたハッシュ値から、変更前に当該データエレメントに含まれていた識別情報を差し引き、当該ハッシュ値に、変更後に当該データエレメントに記録された識別情報を加える第2調整部とを更に備え、
    前記判断部は、前記第1調整部により変更されたハッシュ値、および、前記第2調整部により変更されたハッシュ値が一致することを条件に、当該整合が維持されていると判断する
    請求項1に記載の装置。
  9. 前記判断部により前記データベースが整合していると判断された状態において、何れかのデータエレメントから他のデータエレメントに対する参照が追加されたことに応じ、
    追加前に当該他のデータエレメントに含まれていた前記参照エレメント数に対する、追加後に当該他のデータエレメントに含まれる前記参照エレメント数の増分に、当該他のデータエレメントに対応する間接参照エレメントの識別情報を乗じた値を、前記第1生成部により生成されたハッシュ値に加える第1調整部と、
    当該データエレメントに追加された、参照先のデータエレメントに対応する間接参照エレメントの識別情報を、前記第2生成部により生成されたハッシュ値に加える第2調整部と
    を更に備える請求項4に記載の装置。
  10. 前記判断部により前記データベースが整合していると判断された状態において、何れかのデータエレメントが前記データベースに追加されたことに応じ、
    当該データエレメントに対応付けて追加される間接参照エレメントに対して新たに割り当てられる識別情報、および、当該データエレメントの保存先アドレスに基づくハッシュ値を、前記第3生成部により生成されたハッシュ値に加える第3調整部と、
    追加された当該データエレメントに含まれる、当該データエレメントに対応する間接参照エレメントの識別情報、および、当該データエレメントの保存先アドレスに基づくハッシュ値を、前記第4生成部により生成されたハッシュ値に加える第4調整部と
    を更に備える請求項4に記載の装置。
  11. 情報処理装置によって、データベースの整合性を判断する方法であって、
    前記データベースには、各々のデータエレメントに対応付けて、当該データエレメントを他のデータエレメントに参照させるために当該データエレメントの保存先アドレスを含む間接参照エレメントが記録されており、
    各々のデータエレメントから、当該データエレメントに対応する間接参照エレメントの識別情報を読み出す第1読出段階と、
    各々のデータエレメントから、参照先のデータエレメントに対応する間接参照エレメントの識別情報を読み出す第2読出段階と、
    前記第1読出段階において各々のデータエレメントから読み出された識別情報のハッシュ値を生成する第1生成段階と、
    前記第2読出段階において各々のデータエレメントから読み出された識別情報のハッシュ値を生成する第2生成段階と、
    前記第1生成段階において生成されたハッシュ値、および、前記第2生成段階において生成されたハッシュ値が一致することを条件に、前記データベースが整合していると判断する判断段階と
    を備える方法。
  12. データベースの整合性を判断する装置として、情報処理装置を機能させるプログラムであって、
    前記データベースには、各々のデータエレメントに対応付けて、当該データエレメントを他のデータエレメントに参照させるために当該データエレメントの保存先アドレスを含む間接参照エレメントが記録されており、
    前記情報処理装置を、
    各々のデータエレメントから、当該データエレメントに対応する間接参照エレメントの識別情報を読み出す第1読出部と、
    各々のデータエレメントから、参照先のデータエレメントに対応する間接参照エレメントの識別情報を読み出す第2読出部と、
    前記第1読出部によって各々のデータエレメントから読み出された識別情報のハッシュ値を生成する第1生成部と、
    前記第2読出部によって各々のデータエレメントから読み出された識別情報のハッシュ値を生成する第2生成部と、
    前記第1生成部によって生成されたハッシュ値、および、前記第2生成部によって生成されたハッシュ値が一致することを条件に、前記データベースが整合していると判断する判断部と
    して機能させるプログラム。
JP2005291155A 2005-10-04 2005-10-04 データベースの整合性を判断する装置、およびその方法 Expired - Fee Related JP3894335B1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2005291155A JP3894335B1 (ja) 2005-10-04 2005-10-04 データベースの整合性を判断する装置、およびその方法
US11/535,786 US7444496B2 (en) 2005-10-04 2006-09-27 Apparatus, system, and method for determining the consistency of a database

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005291155A JP3894335B1 (ja) 2005-10-04 2005-10-04 データベースの整合性を判断する装置、およびその方法

Publications (2)

Publication Number Publication Date
JP3894335B1 JP3894335B1 (ja) 2007-03-22
JP2007102461A true JP2007102461A (ja) 2007-04-19

Family

ID=37942071

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005291155A Expired - Fee Related JP3894335B1 (ja) 2005-10-04 2005-10-04 データベースの整合性を判断する装置、およびその方法

Country Status (2)

Country Link
US (1) US7444496B2 (ja)
JP (1) JP3894335B1 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010257226A (ja) * 2009-04-24 2010-11-11 Internatl Business Mach Corp <Ibm> 情報処理装置、情報処理方法、プログラムおよび記録媒体
WO2011077858A1 (ja) * 2009-12-25 2011-06-30 インターナショナル・ビジネス・マシーンズ・コーポレーション 階層型データベースにおけるポインタの整合性をチェックするためのシステム、方法及びプログラム
JP2016520910A (ja) * 2013-04-23 2016-07-14 エグザブロックス・コーポレーション 参照カウンタ完全性チェック
KR20200093548A (ko) * 2017-12-28 2020-08-05 드롭박스, 인크. 디프 값들의 효율적인 전파

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130204968A1 (en) * 2012-02-02 2013-08-08 Toshiba Tec Kabushiki Kaisha File transfer apparatus and file transfer system
JP6278121B2 (ja) * 2014-08-21 2018-02-14 日本電気株式会社 情報処理装置、データ処理方法、及び、プログラム
CN110019271A (zh) * 2017-12-21 2019-07-16 中国移动通信集团重庆有限公司 数据一致性检测方法、装置、设备及计算机存储介质
CN111881065B (zh) * 2020-07-30 2022-07-05 北京浪潮数据技术有限公司 数据重删操作的物理地址处理方法、装置、设备及介质

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2668438B2 (ja) * 1989-04-21 1997-10-27 三菱電機株式会社 データ検索装置
US5418947A (en) * 1992-12-23 1995-05-23 At&T Corp. Locating information in an unsorted database utilizing a B-tree
DE4410060B4 (de) * 1993-04-08 2006-02-09 Hewlett-Packard Development Co., L.P., Houston Übersetzungsvorrichtung zum Umsetzen einer virtuellen Speicheradresse in eine physikalische Speicheradresse
US5475826A (en) * 1993-11-19 1995-12-12 Fischer; Addison M. Method for protecting a volatile file using a single hash
US5933820A (en) * 1996-05-20 1999-08-03 International Business Machines Corporation System, method, and program for using direct and indirect pointers to logically related data and targets of indexes
US7107430B2 (en) * 2001-06-19 2006-09-12 Massachusetts Institute Of Technology Mechanism to reduce the cost of forwarding pointer aliasing
US6889225B2 (en) * 2001-08-09 2005-05-03 Integrated Silicon Solution, Inc. Large database search using content addressable memory and hash
US6697276B1 (en) * 2002-02-01 2004-02-24 Netlogic Microsystems, Inc. Content addressable memory device
JP4390570B2 (ja) * 2004-01-21 2009-12-24 株式会社エヌ・ティ・ティ・ドコモ 多段署名検証システム、電子署名付与装置、データ追加装置及び電子署名検証装置

Cited By (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010257226A (ja) * 2009-04-24 2010-11-11 Internatl Business Mach Corp <Ibm> 情報処理装置、情報処理方法、プログラムおよび記録媒体
WO2011077858A1 (ja) * 2009-12-25 2011-06-30 インターナショナル・ビジネス・マシーンズ・コーポレーション 階層型データベースにおけるポインタの整合性をチェックするためのシステム、方法及びプログラム
CN102667734A (zh) * 2009-12-25 2012-09-12 国际商业机器公司 用于检查分层型数据库中的指针的一致性的系统、方法以及程序
GB2489147A (en) * 2009-12-25 2012-09-19 Ibm System, method and program for checking consistency of pointers in hierarchical database
JP5341209B2 (ja) * 2009-12-25 2013-11-13 インターナショナル・ビジネス・マシーンズ・コーポレーション 階層型データベースにおけるポインタの整合性をチェックするためのシステム、方法及びプログラム
US8812513B2 (en) 2009-12-25 2014-08-19 International Business Machines Corporation Hash pointer checking for hierarchical database logical relationship
JP2016520910A (ja) * 2013-04-23 2016-07-14 エグザブロックス・コーポレーション 参照カウンタ完全性チェック
KR20200093548A (ko) * 2017-12-28 2020-08-05 드롭박스, 인크. 디프 값들의 효율적인 전파
JP2021509494A (ja) * 2017-12-28 2021-03-25 ドロップボックス, インコーポレイテッド diff値の効率的な伝播
US11308118B2 (en) 2017-12-28 2022-04-19 Dropbox, Inc. File system warnings
US11314774B2 (en) 2017-12-28 2022-04-26 Dropbox, Inc. Cursor with last observed access state
JP7068454B2 (ja) 2017-12-28 2022-05-16 ドロップボックス, インコーポレイテッド diff値の効率的な伝播
US11386116B2 (en) 2017-12-28 2022-07-12 Dropbox, Inc. Prevention of loss of unsynchronized content
KR102434243B1 (ko) 2017-12-28 2022-08-18 드롭박스, 인크. 디프 값들의 효율적인 전파
US11423048B2 (en) 2017-12-28 2022-08-23 Dropbox, Inc. Content management client synchronization service
US11429634B2 (en) 2017-12-28 2022-08-30 Dropbox, Inc. Storage interface for synchronizing content
US11461365B2 (en) 2017-12-28 2022-10-04 Dropbox, Inc. Atomic moves with lamport clocks in a content management system
US11475041B2 (en) 2017-12-28 2022-10-18 Dropbox, Inc. Resynchronizing metadata in a content management system
US11500897B2 (en) 2017-12-28 2022-11-15 Dropbox, Inc. Allocation and reassignment of unique identifiers for synchronization of content items
US11500899B2 (en) 2017-12-28 2022-11-15 Dropbox, Inc. Efficient management of client synchronization updates
US11514078B2 (en) 2017-12-28 2022-11-29 Dropbox, Inc. File journal interface for synchronizing content
US11593394B2 (en) 2017-12-28 2023-02-28 Dropbox, Inc. File system warnings application programing interface (API)
US11630841B2 (en) 2017-12-28 2023-04-18 Dropbox, Inc. Traversal rights
US11657067B2 (en) 2017-12-28 2023-05-23 Dropbox Inc. Updating a remote tree for a client synchronization service
US11669544B2 (en) 2017-12-28 2023-06-06 Dropbox, Inc. Allocation and reassignment of unique identifiers for synchronization of content items
US11704336B2 (en) 2017-12-28 2023-07-18 Dropbox, Inc. Efficient filename storage and retrieval
US11755616B2 (en) 2017-12-28 2023-09-12 Dropbox, Inc. Synchronized organization directory with team member folders
US11782949B2 (en) 2017-12-28 2023-10-10 Dropbox, Inc. Violation resolution in client synchronization
US11836151B2 (en) 2017-12-28 2023-12-05 Dropbox, Inc. Synchronizing symbolic links
US11880384B2 (en) 2017-12-28 2024-01-23 Dropbox, Inc. Forced mount points / duplicate mounts
US12061623B2 (en) 2017-12-28 2024-08-13 Dropbox, Inc. Selective synchronization of content items in a content management system

Also Published As

Publication number Publication date
US20070106703A1 (en) 2007-05-10
US7444496B2 (en) 2008-10-28
JP3894335B1 (ja) 2007-03-22

Similar Documents

Publication Publication Date Title
JP3894335B1 (ja) データベースの整合性を判断する装置、およびその方法
US7934058B2 (en) Predictive caching of assets to improve level load time on a game console
JP4714778B2 (ja) アーカイブ装置、変換装置および変換プログラム
JP3962417B2 (ja) データベースに対するアクセスを制御するシステム、およびその方法
JP4930153B2 (ja) 文書検索システム、文書番号部分列取得装置、および文書検索方法
US20070220416A1 (en) System and method for performing processing, such as spreadsheet processing
JP2001357062A (ja) データベース検索方法及びデータベース検索システム並びにデータベース検索プログラムを記録した記録媒体
US20120203797A1 (en) Enhanced control to users to populate a cache in a database system
JP5341209B2 (ja) 階層型データベースにおけるポインタの整合性をチェックするためのシステム、方法及びプログラム
JP2013045379A (ja) ストレージ制御方法、情報処理装置およびプログラム
TW201322135A (zh) 用於動態服務整合的系統和方法
JP3884049B1 (ja) システム、判断方法およびプログラム
KR20090005846A (ko) 전자 컨텐트 가이드 생성 방법 및 그 장치
CN111930317A (zh) 基于ceph数据分布方法、装置、服务器及存储介质
Zhang et al. {ElasticBF}: Fine-grained and Elastic Bloom Filter Towards Efficient Read for {LSM-tree-based}{KV} Stores
KR20110046118A (ko) 적응적 로깅 장치 및 방법
CN110046155A (zh) 特征数据库的更新、数据特征的确定方法、装置及设备
US20100235383A1 (en) Storage system and data migration-compatible search system
JP4082614B2 (ja) データベース管理システム、データベース管理方法、及びプログラム
JP5106062B2 (ja) ファイル検索方法、ファイル検索装置、検索システム、及び、ファイル検索プログラム
US20100153571A1 (en) Recording medium storing transaction model generation support program, transaction model generation support computer, and transaction model generation support method
JP2011215984A (ja) データ処理装置及びデータ処理方法及びプログラム
JP5186270B2 (ja) データベースのキャッシュシステム
JP2010097285A (ja) システム分析支援プログラム、システム分析支援装置、およびシステム分析支援方法
JP6349682B2 (ja) 情報管理プログラム、装置、及び方法

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20061205

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 3894335

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20091222

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20101222

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20101222

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20111222

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20111222

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20121222

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20121222

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20131222

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees