(57)【要約】      （修正有）【課題】データベースにおける記憶領域内のデータ格納率を向上させると共に、格納されたデータへのデータアクセス性能を向上させる。【解決手段】記憶ブロック領域からなるＤＢデータ記憶領域２１と、前記記憶ブロック領域に対してデータの保存および読出しを行うと共にユーザからの要求に対応してデータの提供および保存を行うＤＢ処理装置１０とを備えたデータベース管理システムにおいて、前記ＤＢ処理装置１０が、同時にアクセスされるデータ群であるデータ集合を記憶ブロック領域間にまたがることを許容して空き記憶ブロック領域の先頭から格納するデータ集合格納機能を有する。【選択図】図１
2008276336.tif 000002
【特許請求の範囲】
【請求項１】
記憶ブロック領域からなるデータ記憶装置と、前記記憶ブロック領域に対してデータの保存および読出しを行うと共にユーザからの要求に対応してデータの提供および保存を行うデータベース処理装置とを備えたデータベース管理システムにおいて、
前記データベース処理装置は、同時にアクセスされるデータをデータ集合として設定するデータ集合設定機能と、前記データ集合を連続する記憶ブロック領域間にまたがることを許容して空き記憶ブロック領域の先頭から格納するデータ集合格納機能と
を備えたことを特徴とするデータベース管理システム。
【請求項２】
前記請求項１に記載のデータベース管理システムにおいて、
前記データベース処理装置は、前記連続した記憶ブロック領域に前記データ集合を格納するに際し、前記連続した記憶ブロック領域に予めデータの格納された記憶ブロック領域が含まれる場合には、当該データの格納された記憶ブロック領域に連なる空き記憶ブロック領域に前記データ集合を分けて格納することを許容するデータ集合不連続領域格納機能を備えたことを特徴とするデータベース管理システム。
【請求項３】
前記請求項１又は２に記載のデータベース管理システムにおいて、
前記データベース処理装置は、前記データ記憶装置に格納されたデータに対してアクセスするのに際し、前記データ集合ごとに行う機能を備えたことを特徴とするデータベース管理システム。
【請求項４】
前記請求項１乃至３のいずれか一つに記載のデータベース管理システムにおいて、
前記データベース処理装置は、前記データ集合の格納された記憶ブロック領域のサイズを前記データ集合に対応させて記憶する格納ブロックサイズ記憶機能を備えたことを特徴とするデータベース管理システム。
【請求項５】
前記請求項１乃至４のいずれか一つに記載のデータベース管理システムにおいて、
前記データベース処理装置は、ユーザからの要求に対応して前記データ記憶装置に格納された各データ集合の読出しを行うデータ集合読出し機能と、前記読出されたデータ集合を前記ユーザに提供するデータ提供応答機能とを備えたことを特徴とするデータベース管理システム。
【請求項６】
前記請求項１乃至５のいずれか一つに記載のデータベース管理システムにおいて、
前記データベース処理装置は、ユーザからの要求に基づき前記データ記憶装置に格納されたデータ集合を削除するデータ集合削除機能を有することを特徴としたデータベース管理システム。
【請求項７】
前記請求項１乃至６のいずれか一つに記載のデータベース管理システムにおいて、
前記データベース管理装置は、記憶ブロック領域により構成され前記データ記憶装置から読み出されたデータを一時的に保持するバッファ記憶手段を有すると共に、前記ユーザからの要求に対して前記バッファ記憶手段に保持されたデータを提供するバッファデータ提供機能を備えたことを特徴とするデータベース管理システム。
【請求項８】
前記請求項７に記載のデータベース管理システムにおいて、
前記データベース処理装置は、前記データ記憶装置から読み出された各データ集合を、前記バッファ記憶手段の空き記憶ブロック領域の先頭から、記憶ブロック領域間をまたがることを許容して格納する読出しデータ集合キャッシュ機能を備えたことを特徴とするデータベース管理システム。
【請求項９】
通信ネットワークを介してユーザから送り込まれるデータをデータ記憶装置に格納すると共にユーザからの要求に対して前記データの提供を行うデータベース管理方法において、
前記ユーザから受信した要求メッセージがデータの格納を要求する格納要求であるか否かを解析する格納要求解析工程、
前記要求メッセージが格納要求である場合に、前記ユーザから送り込まれた登録データについて同時にアクセスされるデータをデータ集合として設定するデータ集合設定工程、
前記データ記憶装置にデータ格納用に格納ブロック領域を設定する格納領域設定工程、
前記設定された格納ブロック領域に前記データ集合を格納するデータ集合格納工程、
を備えたことを特徴とするデータベース管理方法。
【請求項１０】
前記請求項９に記載のデータベース管理方法において、
前記データ集合の格納された記憶ブロック領域のサイズを記憶する格納ブロックサイズ記憶工程を前記データ集合格納工程の後に備えたことを特徴とするデータベース管理方法。
【請求項１１】
前記請求項９に記載のデータベース管理方法において、
ユーザから受信した要求メッセージが予め格納されたデータの削除を要求する削除要求であるか否かを解析する削除要求解析工程と、前記要求メッセージが削除要求である場合に当該削除要求に基づき前記格納されたデータ集合を削除するデータ集合削除工程とを前記データ集合格納工程の後に備えたことを特徴とするデータベース管理方法。
【請求項１２】
前記請求項９に記載のデータベース管理方法において、
前記ユーザから受信した要求メッセージが前記格納されたデータの読出しを要求する読出し要求であるか否かを解析する読出し要求解析工程と、
前記要求メッセージが読出し要求である場合に当該読出し要求に基づき前記データ集合の読出しを行うデータ集合読出し工程と、
前記読出されたデータ集合を前記ユーザに対して提供する読出しデータ提供工程と、
前記読出されたデータ集合を一時的に保持する読出しデータ集合保持工程と、
を前記データ集合格納工程の後に備えたことを特徴とするデータベース管理方法。
【請求項１３】
前記請求項１２に記載のデータベース管理方法において、
前記ユーザから受信した前記読出し要求に対して、前記保持されたデータ集合を読み出すと共に前記ユーザに提供するバッファ読出し提供工程を前記読出しデータ集合保持工程の後に設けたことを特徴とするデータベース管理方法。
【請求項１４】
通信ネットワークを介してユーザから送り込まれるデータをデータ記憶装置に格納すると共にユーザからの要求に対して前記データの提供を行うためのデータベース管理プログラムにおいて、
前記ユーザから受信した要求メッセージがデータの格納を要求する格納要求であるか否かを解析する格納要求解析機能、
この要求メッセージが格納要求である場合に前記ユーザから送り込まれた登録データのうち同時にアクセスされるデータ群をデータ集合として設定するデータ集合設定機能、
前記データ記憶装置にデータ格納用に格納ブロック領域を設定する格納領域設定機能、
前記設定された格納ブロック領域に前記データ集合を格納するデータ集合格納機能、
をコンピュータに実行させることを特徴としたデータベース管理プログラム。
【請求項１５】
前記請求項１４に記載のデータベース管理プログラムにおいて、
前記各データ集合が格納された記憶ブロック領域のサイズを記憶する格納ブロックサイズ記憶機能を前記コンピュータに実行させることを特徴としたデータベース管理プログラム。
【請求項１６】
前記請求項１４に記載のデータベース管理プログラムにおいて、
前記ユーザから受信した要求メッセージが前記データ記憶装置に格納されたデータの削除を要求する削除要求であるか否かを解析する削除要求解析機能、
前記解析された要求メッセージが削除要求である場合に当該削除要求に基づき前記データ記憶装置のデータ集合を削除するデータ集合削除機能を前記コンピュータに実行させることを特徴としたデータベース管理プログラム。
【請求項１７】
前記請求項１４に記載のデータベース管理プログラムにおいて、
前記ユーザから受信した要求メッセージが格納されたデータの読出しを要求する読出し要求であるか否かを解析する読出し要求解析機能と、前記要求メッセージが読出し要求である場合に当該読出し要求に基づき前記データ記憶装置に予め格納されたデータ集合を読み出すデータ集合読出し機能と、このデータ集合を前記ユーザに対して提供する読出しデータ提供機能と、このデータ集合を一時的に保持する読出しデータ集合保持機能とを前記コンピュータに実行させることを特徴としたデータベース管理プログラム。
【請求項１８】
前記請求項１４に記載のデータベース管理プログラムにおいて、
前記ユーザから受信した前記読出し要求に対して予め設けられたバッファ記憶手段に格納された前記データ集合を提供するバッファ読出し提供機能を前記コンピュータに実行させることを特徴としたデータベース管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
データベース管理システムのデータ処理手法に関し、特に、データベースにおける記憶領域に対するデータ格納処理手法に関する。
【背景技術】
【０００２】
従来、データベースに関する処理、管理を制御するプログラムであるデータベース管理システムソフトウェア(ＤＢＭＳ)は、サーバなどの大規模なシステム向けに開発され発展してきた。このため、ＤＢＭＳが実行されるデータベース管理システムでは、トランザクションの処理性能の向上に重点が置かれており、データの読出しや書き込みに利用される記憶領域のサイズに係る制約については、メモリなどのハードウェアを追加することによりカバーできるものであった。
【０００３】
一方で、近年の携帯端末の高機能化に伴い、データベースにより管理される大量のデータを携帯端末で扱うことが出来るようになってきている。このため、ＤＢＭＳを利用するクライアント端末として携帯端末をデータベース管理システムに組み込むことが検討されている。
【０００４】
しかしながら、この場合、携帯端末における記憶領域の物理的サイズがこれまでのサーバやクライアント端末に比して小さいという制約があるため、記憶領域のメモリ管理およびアクセス制御が重要となる。
【０００５】
一般に、データベース管理システムでは、アクセス性能を向上させるため、アクセス速度の遅いディスク等の記憶装置から一度読み出したデータを、アクセス速度の速いメモリ上のバッファ領域やキャッシュメモリ(以下「バッファ領域」という)へキャッシュする(格納する)と共に、次回アクセス時に前記読み出されたデータを再び利用する場合は、バッファ領域上にキャッシュされたデータを読み出すという仕組みを有している。
【０００６】
このとき、バッファ領域に対してデータのキャッシュを行う単位は、バッファ領域を構成する一定サイズの記憶ブロックである。この場合、格納されるデータのサイズにより、１つの記憶ブロックに複数データを格納する場合もあれば、１つのデータが複数の記憶ブロックに跨ることもある。
【０００７】
このため、バッファ領域にキャッシュされるデータは出来るだけ少ないブロックにまとまって格納されている方が、それ以降のバッファ領域に対するアクセス効率が良くなる。逆に、１つのデータが細切れで複数のブロックに分散した状態でキャッシュされている場合、データの読出しを行う際に多くの記憶ブロックに対してアクセスを行う必要がありアクセス性能が低下する。
【０００８】
又、記憶ブロックに対してデータのキャッシュ(登録)を行う際に、他のデータが登録された記憶ブロックの空き領域に、新たにデータを登録することによりデータの分散を抑制することができる。
ここで、他のデータが登録された記憶ブロックの空き領域に新たに登録するデータが入りきらない場合は、図５に示すように、データを分割するのではなく、完全な空き記憶ブロックを新たに確保し、その記憶ブロックに登録するという手法が取られる。
【０００９】
しかしながら、上記従来の記憶ブロックに対するデータ格納手法では、データのサイズが記憶ブロックのサイズに比して大きい場合、記憶ブロック内に空き領域が多数発生し、記憶ブロックの利用効率が低下するケースが発生し得る。
例えば、サイズの小さいデータの登録および削除を繰り返した後に、図６に示すように、サイズの大きい登録データ６１を登録しようとする場合、一部でも使用されている記憶ブロックは使用できないため、新規に大量の記憶ブロックをデータ保存用に確保する必要がある。
ここで、例えばデータ２１５を削除した場合でも記憶ブロック５を利用することはできない。上記のように、保存されたデータ量は少量で空き領域が十分あるにもかかわらず、新たなデータを格納することができないという状態は、特に記憶領域全体のサイズが十分に大きくない場合に生じ得る。
【００１０】
これに対して、記憶領域にデータを格納するのに際し、各データが前記記憶領域を構成する複数の記憶ブロックにまたがることを許容して格納する手法が開示されている(特許文献１)。
又、記憶領域に対してデータを格納するのに際し、複数のデータ群をひとつのデータ集合として扱うと共に、各データを前記記憶領域に複数の記憶ブロックにまたがることを許容して格納する手法が開示されている(特許文献２)。
【特許文献１】特開２００３−３３０７６５公報
【特許文献２】特開２００３−３３０９６４公報
【発明の開示】
【発明が解決しようとする課題】
【００１１】
しかしながら、上記従来の手法では、新たなデータを登録するためにユーザが登録済みの不要データを削除する場合、どのデータを削除すれば空きブロックが出来るのか、どのデータを削除すれば空き記憶ブロックがいくつできるのかといったことがユーザにはわからないという不都合がある。
【００１２】
又、記憶ブロックの利用効率を上げるため、データがブロックをまたぐのを許容し、常に先頭の空き記憶ブロックからデータを埋めていくという方法を取ると、前述のように、データが複数ブロックに分散され、アクセス性能が低下する。
更に、従来記憶領域における空き領域の断片化をデータの再配置により解消するデフラグやデータの再編成といった処理によってデータベースシステムのサービスを停止しなければならないという不都合が生じ得る。
【００１３】
［発明の目的］
本発明は、データベースにおける記憶領域内のデータ格納率を向上させると共に、格納されたデータへのデータアクセス性能を向上させるデータベース管理システム、データベース管理方法、およびデータベース管理プログラムを提供することを、その目的とする。
【課題を解決するための手段】
【００１４】
上記目的を達成するために、本発明に係るデータベース管理システムでは、記憶ブロック領域からなるデータ記憶装置と、前記記憶ブロック領域に対してデータの保存および読出しを行うと共にユーザからの要求に対応してデータの提供および保存を行うデータベース処理装置とを備えたデータベース管理システムにおいて、前記データベース処理装置は、同時にアクセスされるデータをデータ集合として設定するデータ集合設定機能と、前記データ集合を連続する記憶ブロック領域間にまたがることを許容して空き記憶ブロック領域の先頭から格納するデータ集合格納機能と、を有するという構成をとっている(請求項１)。
【００１５】
これにより、同時に扱うデータの集合を１つのまとまりで扱い、ブロック内で先頭側に空き領域を作らずにデータを詰めて格納できるので、記憶領域の利用効率を向上することができる。又、１つのデータ集合に含まれるデータが最小限のブロックに収まるため、格納されたデータに対するデータアクセスの性能が向上する。
【００１６】
又、前記データベース処理装置は、前記連続した記憶ブロック領域に前記データ集合を格納する際に、前記連続した記憶ブロック領域に予めデータの格納された記憶ブロック領域が含まれる場合には、当該データの格納された記憶ブロック領域に連なる空き記憶ブロック領域に前記データ集合を分けて格納することを許容するデータ集合不連続領域格納機能を備えた構成としてもよい(請求項２)。
これによっても、記憶領域の利用効率を向上することができる。また、データの再配置および再編成をすることなく、データアクセス性能を向上させることができる。
更に、前記データベース処理装置は、前記データ記憶装置に格納されたデータにアクセスを行うに際して前記設定されたデータ集合ごとに行う機能を備えた構成としてもよい(請求項３)。
これにより、データ集合に含まれる各データに対しての保存、読込み、削除処理の性能を向上させることができる。
【００１７】
又、前記データベース処理装置は、前記データ集合の格納された記憶ブロック領域のサイズを前記データ集合に対応させて記憶する格納ブロックサイズ記憶機能を備えてもよい(請求項４)。
これにより、ユーザから送られた新規データを登録する際に、登録済みデータを一部削除する必要が生じた場合に、削除後の空きブロック数を確実に計算できる。
更に、前記データベース処理装置は、ユーザからの要求に対応して前記データ記憶装置に格納された各データ集合の読出しを行うデータ集合読出し機能と、前記読出されたデータ集合を前記ユーザに提供するデータ提供応答機能とを備えてもよい(請求項５)。
データ集合内のデータは最低限のブロックに格納されているため、データが多くのブロックに分散する状態に比べて、迅速なデータアクセスおよびデータ読出しを行うことができる。
【００１８】
前記データベース処理装置は、ユーザからの要求に基づき前記データ記憶装置に格納されたデータ集合を削除するデータ集合削除機能を有する構成としてもよい(請求項６)。
このようにしても、データ集合内のデータは最低限のブロックに格納されているため、データが多くのブロックに分散する状態に比べて、迅速なデータアクセスおよびデータ削除処理を行うことができる。
前記データベース管理装置は、記憶ブロック領域により構成され前記データ記憶装置から読み出されたデータを一時的に保持するバッファ記憶手段を有すると共に前記ユーザからの要求に応じて前記バッファ記憶手段に保持されたデータを提供するバッファデータ提供機能を備えてもよい(請求項７)。
これにより、一度読込み処理の行われた登録データを、よりアクセス速度の大きなバッファ記憶手段にキャッシュすることができる。このため、キャッシュされたデータを再び読み出す場合に、迅速な処理が可能となる。
【００１９】
前記データベース処理装置は、前記データ記憶装置から読み出された各データ集合を、前記バッファ記憶手段の空き記憶ブロック領域の先頭から、記憶ブロック領域間をまたがることを許容して格納する読出しデータ集合キャッシュ機能を備えた構成としてもよい(請求項８)。
これにより、バッファ記憶手段においてもデータ集合内のデータは最低限のブロックに格納されるので、データが多くのブロックに分散する状態に比べて、迅速なデータアクセスを行うことができる。
【００２０】
又、本発明に係るデータベース管理方法は、通信ネットワークを介してユーザから送り込まれるデータをデータ記憶装置に格納すると共にユーザからの要求に対して前記データの提供を行うデータベース管理方法において、ユーザから受信した要求メッセージがデータの格納を要求する格納要求であるか否かを解析する格納要求解析工程、前記要求メッセージが格納要求である場合に、前記ユーザから送り込まれた登録データについて同時にアクセスされるデータをデータ集合として設定するデータ集合設定工程、前記データ記憶装置にデータ格納用に格納ブロック領域を設定する格納領域設定工程、前記設定された格納ブロック領域に前記データ集合を格納するデータ集合格納工程、を備えたことを特徴とする(請求項９)。
【００２１】
又、前記データ集合が格納された記憶ブロック領域のサイズを記憶する格納ブロックサイズ記憶工程を前記データ集合格納工程の後に備えたことを特徴とする(請求項１０)。
更に、ユーザから受信した要求メッセージが予め格納されたデータの削除を要求する削除要求であるか否かを解析する削除要求解析工程と、前記要求メッセージが削除要求である場合に当該削除要求に基づき前記格納されたデータ集合を削除するデータ集合削除工程とを前記データ集合格納工程の後に備えたことを特徴とする(請求項１１)。
これにより、新規データを登録するにあたって、登録済みデータを一部削除する必要が生じた場合に、削除後の空きブロック数を確実に計算できる。又、データ集合どうしがブロックを共有しないことにより、データ集合が使用するブロックを明確化し、記憶領域のサイズ管理を容易に行うことができる。
【００２２】
前記ユーザから受信した要求メッセージが前記格納されたデータの読出しを要求する読出し要求であるか否かを解析する読出し要求解析工程と、前記要求メッセージが読出し要求である場合に当該読出し要求に基づき前記データ集合の読出しを行うデータ集合読出し工程と、前記読出されたデータ集合を前記ユーザに対して提供する読出しデータ提供工程と、前記読出されたデータ集合を一時的に保持する読出しデータ集合保持工程と、を前記データ集合格納工程の後に備えたことを特徴とする(請求項１２)。
【００２３】
前記ユーザから受信した前記読出し要求に対して、前記保持されたデータ集合を読み出すと共に前記ユーザに提供するバッファ読出し提供工程を前記読出しデータ集合保持工程の後に設けたことを特徴とする(請求項１３)。
これにより、登録データに対する保存、読込み、削除等の処理に際して、各データ集合に対して行われるデータアクセスがより迅速化される。又、一度読み出されることにより(バッファ記憶手段で)保持されたデータについては、以降のユーザからの読出し要求に対してより迅速に行うことができる。
【００２４】
更に、本発明にかかるデータベース管理プログラムでは、通信ネットワークを介してユーザから送り込まれるデータをデータ記憶装置に格納すると共にユーザからの要求に対して前記データの提供を行うためのデータベース管理プログラムにおいて、ユーザから受信した要求メッセージがデータの格納を要求する格納要求であるか否かを解析する格納要求解析機能、この要求メッセージが格納要求である場合に前記ユーザから送り込まれた登録データのうち同時にアクセスされるデータ群をデータ集合として設定するデータ集合設定機能、前記データ記憶装置にデータ格納用に格納ブロック領域を設定する格納領域設定機能、前記設定された格納ブロック領域に前記データ集合を格納するデータ集合格納機能、をコンピュータに実行させることを特徴とする(請求項１４)。
これにより、データ集合内のデータは最低限のブロックに格納されるため、データが多くのブロックに分散する状態に比べ、扱うブロック数が少なくなる。このため、データ集合に対してのアクセス性能が向上し、これに伴い保存、読込み、削除処理を迅速に行うことができる。
【００２５】
前記各データ集合が格納された記憶ブロック領域のサイズを記憶する格納ブロックサイズ記憶機能を前記コンピュータに実行させることを特徴とする(請求項１５)。
又、ユーザから受信した要求メッセージが前記データ記憶装置に格納されたデータの削除を要求する削除要求であるか否かを解析する削除要求解析機能、前記解析された要求メッセージが削除要求である場合に当該削除要求に基づき前記データ記憶装置のデータ集合を削除するデータ集合削除機能を前記コンピュータに実行させることを特徴とする(請求項１６)。
これにより、例えば、記憶装置の容量に制限があり新規データを登録する際、登録済みデータを一部削除する必要がある場合に、データ集合どうしがブロックを共有しないために削除後の生成される空き記憶ブロックサイズを予め知ることができる。
【００２６】
ユーザから受信した要求メッセージが格納されたデータの読出しを要求する読出し要求であるか否かを解析する読出し要求解析機能と、前記要求メッセージが読出し要求である場合に当該読出し要求に基づき前記データ記憶装置に予め格納されたデータ集合を読み出すデータ集合読出し機能と、このデータ集合を前記ユーザに対して提供する読出しデータ提供機能と、このデータ集合を一時的に保持する読出しデータ集合保持機能とを前記コンピュータに実行させることを特徴とする(請求項１７)。
【００２７】
ユーザから受信した前記読出し要求に対して予め設けられたバッファ記憶手段に格納された前記データ集合を提供するバッファ読出し提供機能を前記コンピュータに実行させることを特徴としている(請求項１８)。
これにより、ユーザからのデータ読出し要求に対して、データアクセス性能が向上されることにより、迅速なデータ提供が可能となる。
【発明の効果】
【００２８】
本発明は、以上のように構成され機能するので、これによると、記憶ブロック領域からなるデータ記憶装置に対してデータの保存および読出し処理を行うデータベース処理装置が、同時にアクセスされるデータをデータ集合として設定する機能と、このデータ集合を記憶ブロック領域間にまたがることを許容して空き記憶ブロック領域の先頭から格納する機能とを備えたことにより、各データ集合に含まれるデータを最小限の記憶ブロック領域に格納することができ、このため、データが多くの記憶ブロック領域に分散して格納されるのを抑制し、且つ格納されたデータに対するアクセスの迅速化を実現できる、という従来にない優れたデータベース管理システム、データベース管理方法、およびデータベース管理プログラムを提供することができる。
【発明を実施するための最良の形態】
【００２９】
次に、本発明におけるデータベース管理システムに係る一実施形態について添付の図面を参照して説明する。
【００３０】
［実施形態］
本発明の実施形態は、図１に示すように、データベース(以下「ＤＢ」という)システムのユーザから送り込まれるデータ(登録データ)を記憶するデータ記憶装置２０と、このデータ記憶装置２０に対する格納および読出しをデータベース管理システムプログラム(ＤＢＭＳ)に基づき実行するデータベース処理装置１０と、このデータベース処理装置１０に通信ネットワーク３０を介して接続され、ＤＢＭＳを利用するユーザ側情報処理装置４０Ａ〜Ｃを備えた構成となっている。
【００３１】
データベース処理装置１０の典型的な構成は、ＤＢＭＳの制御に基づきユーザ側情報処理装置４０Ａ〜Ｃユーザから送り込まれた登録データに対して行われる格納、削除および読出し処理を制御するＤＢ管理制御手段１１と、前記データ記憶装置２０に対してデータの格納、削除および読出し処理を実行するデータ保存読出し(実行)手段１２と、このデータ保存読出し手段１２により読み出されたデータ(データ集合)を一時的に保持するバッファ記憶手段１３と、通信ネットワーク３０に接続され前記ユーザ側情報処理装置４０Ａ〜Ｃとのデータ通信を実行する通信手段１４とを備えた構成である。
【００３２】
以下、これを更に詳述する。
データベース処理装置１０のＤＢ管理制御手段１１は、ＤＢに関する一連の処理(登録、削除、読出し)および管理を行うソフトウェアであるＤＢＭＳを有すると共にこのＤＢＭＳに基づいてデータベース処理装置１０の動作制御を行う。
ここで、ＤＢ管理制御手段１１は、ユーザから送り込まれる要求メッセージのメッセージ種別について解析すると共に当該要求メッセージが登録要求、削除要求、又は読出し(提供)要求の何れであるかを判定する要求解析判定機能を有する。
又、ユーザから送り込まれる登録データについて、当該登録データの利用に際して同時にアクセスされるデータ群をデータ集合として設定するデータ集合設定機能を備えている。
【００３３】
更に、ＤＢ管理制御手段１１は、ユーザからの要求に対応してデータ保存読込み手段１２を介してデータ記憶装置２０から格納されたデータ集合を読出すデータ集合読出し制御機能と、この読出されたデータ集合をバッファ記憶手段１３に格納する(キャッシュする)読出しデータ集合格納機能とを備え、又、読出されたデータ集合を前記ユーザ(情報処理装置４０Ａ,Ｂ,又はＣ)に対して提供する読出しデータ提供機能を有する。
尚、後述するように、ＤＢ管理制御手段１１およびデータ保存読出し手段１２は、設定されたデータ集合をデータアクセスの対象として、登録(格納)、読込み、及び削除などのデータ操作及び処理を行う。
【００３４】
又、読出し要求されたデータがバッファ記憶手段１３にキャッシュされているか否かを判定すると共に、バッファ記憶手段１３に格納されている場合はバッファ記憶手段１３にキャッシュされた当該格納データを前記ユーザに送信するバッファ読出し送信機能を有する。
【００３５】
更に、ＤＢ管理制御手段１１は、データ記憶装置２０から読み出されたデータ集合をバッファ記憶手段１３にキャッシュするデータ集合キャッシュ機能と、当該読み出されたデータ集合を通信手段１４を介して読出し要求元のユーザに送信する読出しデータ集合送信機能とを備えている。
【００３６】
又、ＤＢ管理制御手段１１は、ＤＢＭＳに基づいて通信手段１４およびネットワーク３０を介して情報処理装置４０(Ａ,Ｂ,およびＣ)のアプリケーション４１(Ａ,Ｂ,およびＣ)とデータ通信を行うアプリケーションデータ通信機能を有する。
更に、アプリケーション４１(Ａ,Ｂ,およびＣ)からの要求に応じたデータベース処理(格納、削除、読出し)を行うと共に当該データベース処理の完了を通知する処理動作完了通知機能を備えている。
【００３７】
次に、データ保存読出し手段１２は、ＤＢ管理制御手段１１により解析された要求メッセージが登録要求メッセージである場合に、設定されたデータ集合をデータ記憶装置２０に格納するデータ集合格納機能を有する。
ここで、データ保存読出し手段１２は、設定されたデータ集合を、データ記憶装置２０内の空き記憶ブロック領域に先頭から詰めて格納する。
【００３８】
又、データ保存読出し手段１２は、各データ集合に属する最後のデータを格納する際に当該データに付与されたフラグ情報に基づいて書込み(登録)中の記憶ブロックをクローズするデータ集合登録終了機能を備えている。
尚、データ保存読出し手段１２は、ＤＢＭＳに基づくコミット動作をデータ集合登録終了の契機情報としてもよい。これにより、予め設定されたフラグ情報を用いることなくデータ集合登録終了の制御を行うことができる。このためアプリケーション４１(Ａ,Ｂ,またはＣ)側の機能的負担を軽減できる。
【００３９】
又、１つのデータ集合のサイズが１つの記憶ブロック領域のサイズより大きい場合、新たにデータの格納されていない記憶ブロック領域を設定すると共に、データ集合を空き記憶ブロック領域間に跨って格納する。
これにより、１つのデータ集合に含まれるデータ郡が分散して格納されるのを抑制でき、このデータ群を最小限の記憶ブロックに格納することができる。このため、格納されたデータ集合(データ群)に対するデータアクセスが迅速化される。
【００４０】
又、データ保存読出し手段１２は、各記憶ブロック領域に複数のデータ集合が格納されないように、データ集合の登録を行う。つまり、各記憶ブロック領域に異なるデータ集合が同時に格納されることがないように、データ集合の格納処理を行う。
例えば、図２に示すように、記憶ブロック２における空き領域aがあったとしても、記憶ブロック２には既にデータ集合Ａの一部が格納されているため、他のデータ集合のデータをこの空き領域aに格納することはできない。
【００４１】
又、データ保存読出し手段１２は、登録データを格納する際に、登録された各データ集合により使用されている記憶ブロック領域のサイズを登録された当該データ集合の内部に記録する使用ブロック領域記録機能と、当該記録されたブロック領域のサイズを取得する使用ブロック領域取得機能とを備えている。
これにより、後述するように、記憶ブロックからデータ集合を削除した場合に、記憶ブロック単位で空きブロック領域が生成されるため、どのデータ(データ集合)を削除すると空きブロックがどのくらい出来るかを知ることができ、記憶領域が少ないなどの制限がある場合に記憶ブロックの再利用やデータの登録および削除が頻繁に行われるデータベースシステムでの利便性が向上する。
【００４２】
又、一つのデータ集合が記憶ブロックのサイズより大きい場合に、通常は連続する複数記憶ブロックを使用してデータ集合を格納するが、連続する記憶ブロックに他のデータ集合が格納されている場合に、データ集合の一部は、連続ではない他の記憶ブロックに格納されてもよい。
【００４３】
又、データ保存読出し手段１２は、ＤＢ管理制御手段１１により解析された要求メッセージが読出し要求メッセージであった場合に、データ記憶装置２０の記憶ブロック領域から読み出し対象であるデータ集合を読出すデータ集合読出し機能を備えている。
【００４４】
このとき、データ保存読出し手段１２は、上述のように、読出し処理を行うためのデータアクセスをデータ集合単位で行う。
これにより、データ読出し処理は、最小限の記憶ブロックに格納されたデータ群を対象に行われるので、データアクセスが迅速に行われる。
【００４５】
更に、データ保存読出し手段１２は、ＤＢ管理制御手段１１により解析された要求メッセージが削除要求メッセージである場合に、データ記憶装置２０の記憶ブロック領域から削除対象であるデータ集合を削除するデータ集合削除機能を備えている。
ここで、データ集合が削除されることにより、空き記憶ブロック領域が生成される。これは上述のように、データ集合は、各記憶ブロック領域をデータ集合間で共有することがないように格納されているためであり、データ集合を削除することで、対応する１又は複数の記憶ブロックが空き記憶ブロックとなる。
【００４６】
又、各データ集合の内部には、上述のように、当該各データ集合により使用されているブロック数が記録保持されている。
これにより、上記データ集合削除機能が実行されるのに先立ち、ＤＢ管理制御手段１１は、削除対象のデータ集合それぞれが削除されることにより生じる空き記憶ブロック領域のサイズを取得することができる。このため、新規データを登録する際に登録済みデータを一部削除する必要がある場合に、削除後の空きブロック数を確実に計算できる。
又、データ集合の削除および登録が頻繁に繰り返される処理が行われる場合でも格納されるデータの分散を抑制することができ、且つ各データ集合を最小限の記憶ブロック領域に格納することができる。これにより、迅速なデータアクセスを行うことができる。
【００４７】
バッファ記憶手段１３は、前記データ記憶装置２０から読出されたデータ集合を一時的に保持する読出しデータ集合保持機能を有する。
ここで、バッファ記憶手段１３は、前記データ記憶層２０よりアクセス速度の速いメモリ上の記憶領域を想定している。又、バッファ記憶手段１３は、ＣＰＵ内部に設けられた高速な記憶装置であるキャッシュメモリであってもよい。
【００４８】
バッファ記憶手段１３は、上述のように、前記データ記憶装置２０よりアクセス速度の速い記憶ブロック領域で構成され、前記データ記憶装置２０から読み出され格納された(キャッシュされた)各データ集合を保持する。
【００４９】
又、ユーザ(情報処理装置４０Ａ,Ｂ,またはＣ)からＤＢ処理装置１０に送り込まれた読出し要求の対象データがバッファ記憶手段１３に格納されている場合には、当該対象データを含むデータ集合がバッファ記憶手段１３から読み出され、ユーザに送信される。
【００５０】
ここで、バッファ記憶手段１３に格納されるデータ集合は、ＤＢデータ記憶領域２１に格納された状態を引き継いで格納(キャッシュ)されてもよい。
【００５１】
換言すると、データ記憶装置２０から読み出されたデータ集合をバッファ記憶手段１３に格納するのに際して、各データ集合の内部ではデータは記憶ブロック間の境界をまたいで格納されるのを許容してもよい。
又、このバッファ記憶手段１３に格納されるデータ集合は、データ集合間ではバッファ記憶手段１３の各記憶ブロックを共有することのないように格納されてもよい。更に、記憶ブロック内で先頭側に空き領域を作らずに登録データを詰めて格納されてもよい。
【００５２】
これにより、バッファ記憶手段１３における記憶領域の利用効率化と、キャッシュされたデータ集合に含まれるデータが最小限の記憶ブロックに収まるため、データアクセスの性能が向上する。
【００５３】
データ記憶装置２０は、図１に示すように、ＤＢデータ記憶領域２１を有すると共にＤＢ処理装置１０に接続された構成となっている。
ＤＢデータ記憶領域２１は、図２に示すように、一定サイズの記憶ブロック領域２０１,２０２,…により構成されており、各記憶ブロック領域内には、１または複数のデータから構成されるデータ集合(Ａ,Ｂ,Ｃ…)が保存される。例えば、ここでは、データ集合Ａは、データa,b,c,d,およびeを含んで構成されている。尚、各データ集合の内部ではデータは記憶ブロック間の境界をまたいで保存されることが許容される。
【００５４】
上述のように、データ記憶装置２０は、記憶ブロック２０１,２０２…から構成され、この記憶ブロックにユーザから送り込まれる登録データ(例えばデータa〜e)が、ＤＢ処理装置１０により格納される。ここでいう登録データとは、レコードおよびレコードから外だしされたバイナリ型カラムを指す。ここで、登録データの保存、読込み、および削除処理およびアクセスについては、予め設定されたデータ集合に対して行われる。
【００５５】
又、データ記憶装置２０に格納(登録)される各データ集合は、別のデータ集合とは記憶ブロックを共有せず、データ集合の一部または全部が格納されている記憶ブロックに空き領域があったとしても、この記憶ブロックに別のデータ集合は格納されない。
例えば、図２の記憶ブロック２におけるデータeの後方にある空き領域aについて、記憶ブロック２にはすでにデータ集合Ａの一部が格納されているため、他のデータ集合(例えばデータ集合ＢおよびＣ)をこの空き領域aに格納することはできない。
【００５６】
これにより、格納されたデータ集合を削除することにより、必然的に記憶ブロック単位で空き記憶ブロック生成され、このため、どのデータを削除すると空き記憶ブロックが出来るのか、又はどのくらいの空き記憶ブロックができるのかが知ることができないという従来の問題が解消され、特に記憶領域に制限がある場合の記憶ブロックの再利用の利便性が向上する。
【００５７】
換言すると、データ集合間で記憶ブロックを共有しないことにより、各データ集合が使用する記憶ブロックを明確化し、記憶領域のサイズ管理を容易にすることができる。
例えば、空き記憶容量が小さく新規データを登録するにあたって登録済みのデータを一部削除する必要がある場合に、各データ(データ集合)が削除されることにより生成される空き記憶容量(空きブロック数)を算出することができるため、メモリ管理およびアクセス性能の面で適切にデータの削除を行うことができる。
【００５８】
更には、デフラグやデータ再編成といった処理を行うことなく、空き領域の細分化やデータ配置の不連続を抑制することができ、データの断片化の最小単位がブロックサイズに抑えられるため、データアクセス性能が向上させることができる。
【００５９】
又、同時に扱うデータ群を１つのまとまり(データ集合)として扱い、記憶ブロック内で先頭側に空き領域を作らずに登録データを詰めて格納することで、記憶領域の利用効率化と、データ集合に含まれるデータが最小限のブロックに収まるため、データアクセスの性能が向上する。
【００６０】
次に、情報処理装置４０(Ａ,Ｂ,およびＣ)では、それぞれＤＢＭＳのＤＢクライアントであるアプリケーション４１(Ａ,Ｂ,およびＣ)が稼動しており、通信ネットワーク３０を介してＤＢＭＳが稼動中のデータベース処理装置１０に接続されている。
【００６１】
アプリケーション４１(Ａ,Ｂ,およびＣ)は、ＤＢ処理装置１０の通信手段１４を介して、ＤＢ処理装置１０に対して要求メッセージを送信する要求送信機能と、データ記憶装置２０に格納するデータを登録データとしてＤＢ処理装置１０に送信する登録要求送信機能とを備えている。
ここで、上記要求メッセージは、データ記憶装置２０に登録データの登録(格納)を要求する登録要求(メッセージ)、データ記憶装置２０に格納された登録データの削除を要求する削除要求、および登録された登録データの読出し(提供)を要求する読出し要求を含む。
【００６２】
又、アプリケーション４１(Ａ,Ｂ,およびＣ)は、ＤＢ処理装置１０に送信する登録データについて、同時にアクセスされるデータ群(データ集合)に属する最後のデータに対して、最後のデータであることを示すフラグ情報を付与するフラグ情報付与機能を有する。
【００６３】
尚、本実施形態では、アプリケーション４１(Ａ,Ｂ,およびＣ)は、ＤＢＭＳの稼動するＤＢ処理装置と別の情報処理装置４０で稼動しているが、ＤＢ処理装置１０上で稼動していてもよい。
又、本実施形態のデータベース管理システムの利用形態として、上述のように、同時にアクセスされるデータ群であるデータ集合をアクセス対象の一つの単位とする。
例えば、メールデータをデータベースへ保存する場合に、メールヘッダと本文、添付ファイルをそれぞれテーブルへ登録する場合である。本文のサイズは可変であり、添付ファイルのサイズと個数もさまざまなケースがある。１メールに含まれるヘッダ、本文、添付ファイルのレコードをまとめて１つのデータ集合と考える。添付ファイルレコードにバイナリデータが含まれ、そのバイナリデータがレコードから外だしして保存される場合も、バイナリデータもデータ集合に含める。
【００６４】
又、別の例として、画像や文書などの添付ファイルを登録可能な電子掲示板システム、もしくは、文書管理システムでは、１件のデータに対し、サイズ、個数が可変なデータが添付される。ここでは、複数の添付ファイルレコードを含む、１件の登録データを、１つのデータ集合と考える。添付ファイルレコードにバイナリデータが含まれ、そのバイナリデータがレコードから外だしして保存される場合も、バイナリデータもデータ集合に含める。
【００６５】
［実施形態の動作説明］
次に、上記実施形態におけるＤＢ管理システムの動作について説明する。
【００６６】
先ず、ユーザ側情報処理装置から受信した要求メッセージがデータの格納を要求する格納要求であるか否かを解析する(格納要求解析工程)。次いでユーザから登録用に送り込まれた登録データについて同時にアクセスされるデータをデータ集合として設定する(データ集合設定工程)。
ここで、要求メッセージがデータの格納要求であった場合に前記データ記憶装置２０に新規格納ブロック領域を設定する(格納領域設定工程)。次に前記データ集合を新規格納ブロック領域に格納する(データ集合格納工程)。次いで、データ集合の格納された記憶ブロック領域のサイズを記憶する(格納ブロックサイズ記憶工程)。
【００６７】
ここで、ユーザから受信した要求メッセージが格納されたデータの削除を要求する削除要求であるか否かを解析する(削除要求解析工程)。この要求メッセージが格納されたデータの削除を要求する削除要求ある場合にこの削除要求に基づきデータ記憶装置２０に予め格納されたデータ集合を削除する(データ集合削除工程)。
【００６８】
前記ユーザから受信した要求メッセージが格納されたデータの読出しを要求する読出し要求であるか否かを解析する(読出し要求解析工程)と共に、当該メッセージがデータの読出しを要求する読出し要求である場合に当該読出し要求に基づき前記データ記憶装置に予め格納されたデータ集合を読出す(データ集合読出し工程)。この読み出されたデータ集合を前記ユーザに対して提供する(読出しデータ提供工程)。次いで、読出されたデータ集合の複製をバッファ記憶手段１３に保持する(読出しデータ集合保持工程)。
【００６９】
又、前記ユーザから受信した要求メッセージを解析すると共に当該要求メッセージがデータの提供を要求するメッセージである場合に、当該読出し要求の対象データがバッファ記憶手段に格納されているか否かを判定する(読出しデータ格納判定工程)。この読出し要求に基づく対象データがバッファ記憶手段に格納されている場合に当該バッファ記憶手段からデータ集合を読み出し前記ユーザに提供する(バッファ読出し提供工程)。
【００７０】
ここで、上記格納要求解析工程、データ集合設定工程、格納領域設定工程、データ集合格納工程、格納ブロックサイズ記憶工程、削除要求解析工程、データ集合削除工程、読出し要求解析工程、データ集合読出し工程、読出しデータ提供工程、読出しデータ集合保持工程、読出しデータ格納判定工程、およびバッファ読出し提供工程については、その実行内容をプログラム化し、コンピュータに実行させるように構成してもよい。
【００７１】
以下、上記実施形態におけるデータベース管理システムの動作について図５のフローチャートに基づいて説明する。
【００７２】
まず、ＤＢ管理制御手段１１は、アプリケーション４１からの要求を取得する(ステップＳ１０１)と共に、取得した要求を解析し、解析結果に応じた処理を行う(ステップＳ１０２：格納要求解析工程,削除要求解析工程,読出し要求解析工程)。
【００７３】
登録要求である場合、データの登録処理を行う(ステップＳ１０３：データ登録処理)。尚、この登録処理の詳細は図６のフローチャートに基づいて後述する。
又、ユーザから受信した要求メッセージがデータの読出しを要求するメッセージである場合に、まず読込みを要求されたデータを含むデータ集合が、バッファ記憶手段１３にキャッシュされているか否かを調べる(ステップＳ１０４：読出しデータ格納判定工程)。キャッシュされている場合は該当データをバッファ記憶手段１３から読み出すと共に通信手段１４を介してアプリケーション４１へ送信する(ステップＳ１０５：バッファ読出し提供工程)。
又、バッファ記憶手段１３に該当データがキャッシュされていない場合は、該当データを含むデータ集合をデータ記憶装置２０から読み出すと共に通信手段１４を介してアプリケーション４１に送信する(ステップＳ１０６：読出しデータ提供工程)。次いで、読出されたデータ集合の複製をバッファ記憶手段に格納する(ステップＳ１０７：読出しデータ集合保持工程)。
【００７４】
又は、ユーザから受信した要求メッセージがデータの削除を要求するメッセージである場合に、削除を要求されたデータを含むデータ集合を、データ記憶装置２０から削除する(ステップＳ１０８：データ集合削除工程)。
次いで、ステップＳ１０３〜Ｓ１０８で行われた処理の終了を示す処理完了情報をアプリケーション４１に通知する(ステップＳ１０９)。
【００７５】
ここで、図５のステップＳ１０３のデータ登録処理について、図６のフローチャートに基づいて詳細を説明する。
【００７６】
まず、ＤＢ管理制御手段１１が、ＤＢデータ記憶領域２１をオープンすると共にデータ書き込み中の記憶ブロックの有無を判定する(ステップＳ２０１)。ここで、ＤＢ管理制御手段１１に対してアプリケーションから複数の要求接続がある場合は、接続ごとに上記判定を行う。
【００７７】
該当の接続でオープンされている記憶ブロックがないと判定されると、ユーザから送り込まれた登録データについて同時にアクセスされるデータ群をデータ集合として設定する(ステップＳ２０２データ集合設定工程)。次いでＤＢデータ２１内の最も先頭に近い空きブロックを検索しオープンする。空きブロックがない場合は、新規ブロックをオープンする(ステップＳ２０３：格納領域設定工程)。次に、アプリケーション４１から登録要求された登録データを含むデータ集合を、記憶ブロックに書込む(ステップＳ２０４：データ集合格納工程)。全てのデータの書込みが終了したか否かの判定を行う(ステップＳ２０５)。ここで、書込みが完了していない場合は、新規記憶ブロックをオープンする(ステップＳ２０３)と共に、再度残りの登録データを書込む(ステップＳ２０４)。
【００７８】
次いで、書込みの行われる登録データがデータ集合の最後のデータであるか否かを判定する(ステップＳ２０５)。当該登録データが、データ集合の最後の登録データであると判定された場合は、データ集合の格納された(書込まれた)記憶ブロック領域のサイズを記憶する(ステップＳ２０６：格納ブロックサイズ記憶工程)と共に、格納中の記憶ブロックをクローズする(ステップＳ２０７：登録完了)。
【００７９】
以上のように、本実施形態では、同時にアクセスされるデータ群(データ集合)を処理単位として設定し、保存、読込み、削除などのデータアクセスを、各データ集合に対して行われると共に、各データ集合に含まれるデータが最小限のブロックに収まるため、データアクセスの性能が向上する。
【００８０】
又、本発明のデータベース管理システムでは、ＤＢデータ記憶領域２１内のデータ集合について、他のデータ集合とは記憶ブロックを共有せず、あるデータ集合の一部が保存されているブロックに空き領域があったとしても、別のデータ集合からは利用しないという制限を設けることにより、どのデータを削除すると空きブロックが出来るかわからないという問題が解決され、記憶領域に制限がある場合のブロックの再利用の利便性が向上する。
【００８１】
更に、データ集合内でデータブロックをまたがることを許容すると共にデータを詰めて保存することにより、ブロックの利用効率が向上する。
また、これにより、データの再編成の必要がなくすることができ、データベースシステムのサービスを停止させることなく、データアクセス性能を向上させることができる。
【００８２】
又、データ集合内のデータは最低限のブロックに格納されるので、データが多くのブロックに分散する状態に比べアクセスを行うブロック数を軽減できる。これにより、データ集合に対しての保存、読込み、削除処理の性能が向上させることができる。
更に、通常のデータベースシステムでは、データの更新処理を必要とするが、本発明では、更新処理に相当する操作を、データの削除処理と登録処理とにより実現することができる。これにより、更新処理の頻度の少ないＤＢ管理システムにおいてはアクセス＆処理を効率的に行うことができる。
【産業上の利用可能性】
【００８３】
本発明は、携帯電話やＰＤＡなどの小型で記憶領域のサイズに制約があり、大量の情報を扱うことが出来る情報端末での大規模データベースの利用が考えられる。更には、携帯端末に限らず、データベース全般にて、処理性能の向上と記憶領域の利用効率向上を両立させる手段として有効である。
【図面の簡単な説明】
【００８４】
【図１】本発明によるデータベース管理システムの一実施形態の全体を示す概略構成図である。
【図２】図１に開示したデータベース管理システムにおけるＤＢデータ記憶領域２１に格納されるデータの一概略構成例を示す説明図である。
【図３】図１に開示したデータベース管理システムにおけるＤＢ処理装置１０の処理ステップを概略的に示したフローチャートである。
【図４】図１に開示したデータベース管理システムであって、図３に開示した登録処理における処理ステップを示したフローチャートである。
【図５】従来例によるデータベース管理システムで記憶領域に記憶されるデータの格納構成の一例を示す説明図である。
【図６】従来例によるデータベース管理システムで記憶領域に記憶されるデータの格納構成の一例を示す説明図である。
【符号の説明】
【００８５】
１０  データベース処理装置
１１  ＤＢ管理制御手段
１２  データ保存読込み手段
１３  バッファ記憶手段
１４  データ通信手段
２０  データ記憶装置
２１  ＤＢデータ記憶領域
３０  通信ネットワーク
４０Ａ、４０Ｂ、４０Ｃ  情報処理装置
４１Ａ、４１Ｂ、４１Ｃ  アプリケーション
６１  登録データ
１１０  ＤＢＭＳ
２１５  データ
【図１】
2008276336.tif 000003
【図２】
2008276336.tif 000004
【図３】
2008276336.tif 000005
【図４】
2008276336.tif 000006
【図５】
2008276336.tif 000007
【図６】
2008276336.tif 000008