(57)【要約】【課題】記憶領域の作成状態を適切に管理する。【解決手段】データ処理部５０は、ユーザからのテーブル作成要求を受け付けてテーブル３２を作成する際に、作成済みテーブル情報３６および作成中テーブル情報３８のデータを操作する。また、データ処理部５０は、所定のタイミングで、作成中テーブル情報３８に記録されたテーブル名を削除する。これにより、テーブルの作成状態を適切に管理するとともに、テーブル名の再利用を実現する。【選択図】図６
2009048313.tif 000002
【特許請求の範囲】
【請求項１】
所定の識別情報により特定される記憶領域を保持する記憶領域保持部と、
複数のユーザから前記記憶領域の作成要求を受け付ける作成要求受付部と、
前記作成要求をもとに作成される記憶領域を特定するための識別情報を選択する識別情報選択部と、
作成中の状態にある記憶領域の識別情報を示す作成中領域情報に前記選択された識別情報を記録する識別情報仮記録部と、
前記選択された識別情報により特定される記憶領域を作成する記憶領域作成部と、
前記記憶領域作成部により記憶領域が作成された後で、作成済みの状態にある記憶領域の識別情報を示す作成済み領域情報に前記作成された記憶領域の識別情報を記録する識別情報本記録部と、
前記記憶領域作成部により記憶領域が作成された後で、前記作成された記憶領域の識別情報を作成中領域情報から解除する識別情報削除部と、
所定のタイミングで、前記作成中領域情報に記録された識別情報を作成中領域情報から解除する作成中領域情報消去部と、
を備えることを特徴とするデータ処理装置。
【請求項２】
前記作成中領域情報消去部は、所定のコンピュータプログラムが１日単位で実行される日次ジョブの中で起動されたとき、前記作成中領域情報に記録された識別情報を作成中領域情報から解除することを特徴とする請求項１に記載のデータ処理装置。
【請求項３】
前記識別情報選択部は、所定の識別情報を複数のグループに分割し、所定の規則に基づいて選択された特定のグループから記憶領域を特定するための識別情報を選択することを特徴とする請求項１または２に記載のデータ処理装置。
【請求項４】
前記作成された記憶領域を削除する記憶領域削除部をさらに備え、
前記作成要求には、作成する記憶領域の存続期間を指定する存続期間情報が含まれ、
前記記憶領域削除部は、前記存続期間情報で指定された存続期間が経過した記憶領域を削除するとともに、削除した記憶領域の識別情報を前記作成済み領域情報から解除することを特徴とする請求項１から３のいずれかに記載のデータ処理装置。
【請求項５】
ユーザが前記記憶領域にアクセスするためのユーザインタフェイス用オブジェクトであって、所定の識別情報により特定され、前記記憶領域保持部により保持される記憶領域と対応づけられた参照オブジェクトを保持する参照保持部をさらに備えることを特徴とする請求項１から４のいずれかに記載のデータ処理装置。
【請求項６】
複数のユーザから記憶領域の作成要求を受け付けるステップと、
前記作成要求をもとに作成される記憶領域を特定するための識別情報を選択するステップと、
作成中の状態にある記憶領域の識別情報を示す作成中領域情報に前記選択された識別情報を記録するステップと、
前記選択された識別情報により特定される記憶領域を作成するステップと、
前記記憶領域が作成された後で、作成済みの状態にある記憶領域の識別情報を示す作成済み領域情報に前記作成された記憶領域の識別情報を記録するステップと、
前記記憶領域が作成された後で、前記作成された記憶領域の識別情報を作成中領域情報から解除するステップと、
所定のタイミングで、前記作成中領域情報に記録された識別情報を作成中領域情報から解除するステップと、
を備えることを特徴とするデータ処理方法。
【請求項７】
所定の識別情報により特定される記憶領域を保持する記憶領域保持機能と、
複数のユーザから前記記憶領域の作成要求を受け付ける作成要求受付機能と、
前記作成要求をもとに作成される記憶領域を特定するための識別情報を選択する識別情報選択機能と、
作成中の状態にある記憶領域の識別情報を示す作成中領域情報に前記選択された識別情報を記録する識別情報仮記録機能と、
前記選択された識別情報により特定される記憶領域を作成する記憶領域作成機能と、
前記記憶領域作成機能により記憶領域が作成された後で、作成済みの状態にある記憶領域の識別情報を示す作成済み領域情報に前記作成された記憶領域の識別情報を記録する識別情報本記録機能と、
前記記憶領域作成機能により記憶領域が作成された後で、前記作成された記憶領域の識別情報を作成中領域情報から解除する識別情報削除機能と、
所定のタイミングで、前記作成中領域情報に記録された識別情報を作成中領域情報から解除する作成中領域情報消去機能と、
をコンピュータに実現させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ処理技術に関し、特に、複数の記憶領域を有する記憶装置を使用してデータを処理する技術に関する。
【背景技術】
【０００２】
現在、多くのＩＴシステムは、複数の記憶領域を有する記憶装置に処理の対象となる情報を記録している。ＩＴシステムが処理すべき情報量は増加の一途をたどっており、情報を格納する記憶装置は異なる位置に分散配置されることがある。
【０００３】
他方、記憶装置に格納された情報を利用するユーザは、記憶装置の物理的な位置を意識せずに、各記憶領域にアクセスできることが望ましい。この課題を解決するために、各記憶領域を参照する仮想的な記憶領域（以下、「参照オブジェクト」と呼ぶ。）が用意されることがある。ユーザは、参照オブジェクトにアクセスすることで、記憶装置および記憶領域の物理的な位置を意識せずに、必要な情報にアクセスできる（例えば、特許文献１参照）。
【特許文献１】特開２００６−２２７８２０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
記憶領域と参照オブジェクトにはそれぞれ識別情報が付与され、その識別情報により互いに対応づけられる。記憶領域に対し識別情報を適切に付与するためには、記憶領域の作成状態を適切に管理することが必要であると本発明者は考えた。
【０００５】
本発明は、本発明者による上記着目に基づいて完成された発明であり、その主たる目的は、記憶領域の作成状態を適切に管理する技術を提供することである。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明のある態様のデータ処理装置は、所定の識別情報により特定される記憶領域を保持する記憶領域保持部と、複数のユーザから記憶領域の作成要求を受け付ける作成要求受付部と、作成要求をもとに作成される記憶領域を特定するための識別情報を選択する識別情報選択部と、作成中の状態にある記憶領域の識別情報を示す作成中領域情報に選択された識別情報を記録する識別情報仮記録部と、選択された識別情報により特定される記憶領域を作成する記憶領域作成部と、記憶領域作成部により記憶領域が作成された後で、作成済みの状態にある記憶領域の識別情報を示す作成済み領域情報に作成された記憶領域の識別情報を記録する識別情報本記録部と、記憶領域作成部により記憶領域が作成された後で、作成された記憶領域の識別情報を作成中領域情報から解除する識別情報削除部と、所定のタイミングで、作成中領域情報に記録された識別情報を作成中領域情報から解除する作成中領域情報消去部と、を備える。
【０００７】
本発明の別の態様は、データ処理方法である。この方法は、複数のユーザから記憶領域の作成要求を受け付けるステップと、作成要求をもとに作成される記憶領域を特定するための識別情報を選択するステップと、作成中の状態にある記憶領域の識別情報を示す作成中領域情報に選択された識別情報を記録するステップと、選択された識別情報により特定される記憶領域を作成するステップと、記憶領域が作成された後で、作成済みの状態にある記憶領域の識別情報を示す作成済み領域情報に作成された記憶領域の識別情報を記録するステップと、記憶領域が作成された後で、作成された記憶領域の識別情報を作成中領域情報から解除するステップと、所定のタイミングで、作成中領域情報に記録された識別情報を作成中領域情報から解除するステップと、を備える。
【０００８】
なお、以上の構成要素の任意の組合せ、本発明の表現を装置、方法、システム、プログラム、プログラムを格納した記録媒体などの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【０００９】
本発明によれば、記憶領域の作成状態を管理しやすくなる。
【発明を実施するための最良の形態】
【００１０】
本発明の実施の形態について説明する前に、前提技術として、参照オブジェクトを介して記憶装置の各記憶領域にアクセスするデータ処理装置について説明する。
【００１１】
図１は、前提技術におけるデータ処理装置の構成を示す。データ処理装置１００は、データベース３０で総称される第１のデータベース３０ａおよび第２のデータベース３０ｂと、仮想テーブル保持部２０とを備える。データベース３０は、識別情報により特定される記憶領域でありテーブル３２で総称される第１のテーブル３２ａから第４のテーブル３２ｄを有する。仮想テーブル保持部２０は、シノニム２２で総称される第１のシノニム２２ａから第４のシノニム２２ｄを有する。
【００１２】
図１において、第１のシノニム２２ａは第１のテーブル３２ａを参照する参照オブジェクトであり、他のシノニム２２についても同様である。第１のユーザ１０ａは、第１のシノニム２２ａにアクセスすることで、第１のテーブル３２ａにアクセスする。第２のユーザ１０ｂは、第３のシノニム２２ｃにアクセスすることで、第３のテーブル３２ｃにアクセスする。つまり、各シノニム２２と各テーブル３２とは、識別情報、同図ではテーブル名およびシノニム名により対応づけられている。
【００１３】
このように、データ処理装置１００は、仮想テーブル保持部２０のシノニム２２により、データベース３０およびテーブル３２の物理的な位置を隠蔽した形でユーザインタフェイスを提供できる。言い換えれば、ユーザは、データベース３０およびテーブル３２の物理的な位置を意識することなく、各テーブル３２にアクセスできる。なお、「データベースおよびテーブルの物理的な位置」とは、データベースサーバのＩＰアドレス、ポート番号、データベースインスタンス名、データベースサービス名、テーブルのスキーマ名等である。
【００１４】
なお、図１において破線で示した第４のテーブル３２ｄは未作成であるが、他のシノニム２２と作成済みのテーブル３２間と同様に、第４のシノニム２２ｄと第４のテーブル３２ｄ間にも参照関係はあらかじめ設定されている。これによる効果は後述する。
【００１５】
また、前述したように、データ処理装置１００においてテーブル３２を参照するときには、ユーザはシノニム２２を介してそのテーブルにアクセスした。しかし、テーブル３２を作成するときには、ユーザは直接データベース３０にアクセスする必要がある。したがって、ユーザが第４のテーブルを作成する際には、直接第２のデータベース３０ｂにアクセスして、第４のテーブル３２ｄを作成する必要がある。
【００１６】
図２は、図１のデータベースにおいてテーブルが作成されたときの構成を示す。同図において、第３のユーザ１０ｃは、第４のテーブル３２ｄを作成する。前述したように、第４のシノニム２２ｄと第４のテーブル３２ｄ間にはあらかじめ参照関係が設定されているため、第２のユーザ１０ｂは、第４のテーブル３２ｄが作成された後すぐに、第４のシノニム２２ｄにアクセスすることで第４のテーブル３２ｄにアクセスできる。
【００１７】
このように、テーブル３２が作成される前に、仮想テーブル保持部２０においてシノニム２２をあらかじめ所定数用意し、将来作成される各テーブル３２と各シノニム２２との参照関係をあらかじめ設定しておく。これにより、実際にテーブル３２が作成された後すぐに、ユーザは、そのテーブルと対応づけられた識別情報を有するシノニム２２を介して、作成されたテーブル３２にアクセスできる。
【００１８】
事前に参照関係を設定するためには、テーブル３２を識別するためのテーブル名をあらかじめ少なくともシノニム２２の数だけ決定しておく必要がある。事前に決定されたテーブル名を、以下、「テーブル名候補」と呼ぶことにする。実際にテーブルを作成するときには、このテーブル名候補から他のテーブルで使用されていないテーブル名を選択する必要がある。
【００１９】
この選択のために、テーブルの使用状況を記録する管理テーブルを用意する。図３は、図２に管理テーブルが追加された構成を示す。第３のユーザ１０ｃは、管理テーブル３４を参照して作成するテーブル名、この例では「第４のテーブル」を選択し、第４のテーブル３２ｄを作成する。図４は、図３の管理テーブル３４のデータ構造を示す。図４（ａ）では使用フラグが「未使用」である第４のテーブルは、図４（ｂ）では「使用中」なっている。
【００２０】
図５は、図３におけるテーブル名選択の流れを示すフローチャートである。まず、第３のユーザ１０ｃは、図４（ａ）状態の管理テーブル３４を参照し、未使用のテーブル名候補の中から、使用するテーブル名「第４のテーブル」を決定する（Ｓ２）。次に、第３のユーザ１０ｃは、管理テーブル３４の「第４のテーブル」における使用フラグを「使用中」に変更する（Ｓ４）。この結果、管理テーブル３４は、図４（ｂ）の状態になる。最後に、第３のユーザ１０ｃは、第４のテーブル３２ｄを作成する（Ｓ６）。
【００２１】
ここで、図５のＳ６において障害が発生した場合を考える。ここで障害とは、特に、テーブル作成の失敗に伴う例外処理ができない状態を想定している。例えば、以下のような障害が含まれる。
１．第３のユーザ１０ｃと第２のデータベース３０ｂとの間の接続が切断された。
２．第３のユーザ１０ｃ側のテーブル作成アプリケーションがプロセスダウンした。
３．第２のデータベース３０ｂのデータベースインスタンスがプロセスダウンした。
【００２２】
この場合、図５のＳ４により管理テーブル３４は図４の（ｂ）の状態になっているにもかかわらず、実際には第４のテーブル３２ｄは作られない。つまり、図３の構成ではテーブルの作成状態を適切に管理できていない。さらに、図４の（ｂ）の状態の管理テーブル３４を参照した他のユーザは、「第４のテーブル」は「使用中」と判断し、そのテーブル名は使われなくなる。このことは、有限なテーブル名候補の中で、使用されないテーブル名が生じる点で問題となる。
【００２３】
また、図３におけるテーブル名選択の方法として、テーブルの作成を完了した後で、管理テーブル３４の状態を「使用中」に変更する方法もある。しかし、この場合には、一のユーザが特定のテーブル名でテーブルを作成中の時、管理テーブル３４においてそのテーブル名は「未使用」となっているため、他のユーザも同一のテーブル名でテーブルを作成してしまうという問題点がある。したがって、この場合にも、図３の構成ではテーブルの作成状態を適切に管理できていないことになる。以下、本発明の実施形態を説明する中で、これらの問題が解決されていることを説明する。
【００２４】
図６は、本実施の形態におけるデータ処理装置の構成を示す。データ処理装置２００は、データ処理装置１００の構成に加え、作成済みテーブル情報３６と、作成中テーブル情報３８と、データ処理部５０とを備える。
【００２５】
作成済みテーブル情報３６は、作成されたテーブル名を保持するテーブルである。図７は、図６の作成済みテーブル情報３６のデータ構造を示す。作成済みテーブル情報３６が図７（ａ）の状態にあるときに、データ処理部５０により第４のテーブル３２ｄが作成されると、図７（ｂ）の状態に変更される。
【００２６】
作成済みテーブル情報３６に記録される情報は、テーブル名に限られず、各テーブル３２を一意に特定できる識別情報であればよい。例えば、作成済みテーブル情報３６にはテーブル名と異なる識別情報が記録され、図示しない対応づけテーブルにより識別情報とテーブル名とが対応づけられてもよい。また、所定のデータ変換により、識別情報からテーブル名が特定されてもよい。なお、以下の説明では、識別情報としてテーブル名そのものが記録されることとする。作成中テーブル情報３８においても同様である。
【００２７】
作成中テーブル情報３８は、作成中のテーブル名を保持するテーブルである。図８は、図６の作成中テーブル情報３８のデータ構造を示す。作成中テーブル情報３８が図８（ａ）の状態にあるときに、データ処理部５０が第３のユーザ１０ｃからテーブル作成要求を受け付けると、データ処理部５０は作成中テーブル情報３８を図８（ｂ）の状態に変更する。また、データ処理部５０は第４のテーブル３２ｄを作成した後、作成中テーブル情報３８を再び図８（ａ）の状態に変更する。
【００２８】
データ処理部５０は、ユーザからのテーブル作成要求を受け付けてテーブル３２を作成する際に、作成済みテーブル情報３６および作成中テーブル情報３８のデータを操作する。また、データ処理部５０は、所定のタイミングで、作成中テーブル情報３８に記録されたテーブル名を削除する。これにより、テーブルの作成状態を適切に管理するとともに、テーブル名の再利用を実現する。詳細については後述する。
【００２９】
図９は、図６のデータ処理部５０の機能構成を示すブロック図である。データ処理部５０は、複数のユーザからテーブル作成の要求情報を受け付ける作成要求受付部５２と、識別情報選択部５４と、識別情報仮記録部５６と、記憶領域作成部５８と、識別情報本記録部６０と、識別情報削除部６２と、作成中領域情報消去部６４とを有する。これらの構成は、ハードウェアコンポーネントでいえば、任意のコンピュータのＣＰＵ、メモリ、メモリにロードされたプログラムなどによって実現されるが、ここではそれらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは、当業者には理解されるところである。
【００３０】
識別情報選択部５４は、作成要求受付部５２により受け付けられた要求情報により作成されるテーブルのテーブル名をテーブル名候補から選択する。テーブル名候補は、図示しない識別情報候補記憶部に記憶されていてもよく、テーブル名の命名規則の形で事前に設定されていてもよい。識別情報選択部５４は、様々な条件に基づいてテーブル名を選択してよい。テーブル名選択の条件については後述する。
【００３１】
識別情報仮記録部５６は、識別情報選択部５４により選択されたテーブル名を作成中テーブル情報３８に記録する。記憶領域作成部５８は、識別情報仮記録部５６による記録の後で、識別情報選択部５４により選択されたテーブル名に基づきテーブル３２を作成する。
【００３２】
識別情報本記録部６０は、記憶領域作成部５８によるテーブル作成の後で、そのテーブル名を作成済みテーブル情報３６に記録する。識別情報削除部６２は、記憶領域作成部５８によるテーブル作成の後で、そのテーブル名を作成中テーブル情報３８から削除する。なお、識別情報削除部６２は、作成中テーブル情報３８からテーブル名を削除せずに削除フラグにチェックを入れる等の処理で、作成中テーブル情報３８にそのテーブル名が記録された状態を解除してもよい。作成中領域情報消去部６４においても同様である。
【００３３】
作成中領域情報消去部６４は、所定のタイミングで、作成中テーブル情報３８に記録されたテーブル名を削除する。このタイミングは、１日１回、典型的には夜間でもよく、運用担当者がデータ処理装置２００に明示的に発行した削除要求を検出したタイミングでもよいが、ユーザによるテーブル作成が実施されない時間帯が望ましい。また、作成中領域情報消去部６４に削除要求を発行するコンピュータプログラムが１日１回の日次ジョブとして起動されてもよい。
【００３４】
図１０は、テーブル作成処理の流れを示すフローチャートである。まず、作成要求受付部５２は、ユーザからテーブル作成の要求情報を受け付ける（Ｓ１２）。識別情報選択部５４は、テーブル名候補からテーブル名を選択する（Ｓ１４）。識別情報仮記録部５６は、選択されたテーブル名を作成中テーブル情報３８に記録する（Ｓ１６）。記憶領域作成部５８は、選択されたテーブル名をもとにテーブルを作成する（Ｓ１８）。識別情報本記録部６０は、作成されたテーブルのテーブル名を作成済みテーブル情報３６に記録する（Ｓ２０）。識別情報削除部６２は、作成されたテーブルのテーブル名を作成中テーブル情報３８から削除する（Ｓ２２）。
【００３５】
次に、識別情報選択部５４がテーブル名を選択する条件例を示す。
１．テーブル名候補を昇順や降順等の所定の順序に整列させて、作成済みテーブル情報３６に存在しない最初のテーブル名候補を選択する。
２．テーブル名候補を複数のグループに分割し、各グループとユーザとを対応づけておく。テーブル名選択の際には、テーブル作成を要求したユーザに対応づけられたグループの中から作成済みテーブル情報３６に存在しないテーブル名候補を選択する。
【００３６】
３．テーブル名候補を特定の数値に対応づけられた複数のグループに分割しておくとともに、テーブル作成の要求を受け付けた時刻をもとに所定の演算により特定の数値を求める。求めた数値に対応づけられたグループの中から作成済みテーブル情報３６に存在しないテーブル候補を選択する。例えば、テーブル名候補を１０のグループに分割しておき、それぞれ０から９に対応づけておく。受付時刻を１０で除算したときの余りに対応づけられたグループの中から作成済みテーブル情報３６に存在しないテーブル名候補を選択する。なお、受付時刻の単位は秒以下であることが望ましい。
４．上記３とほぼ同様であるが、テーブル作成の要求を受け付けた時刻に基づく代わりに、識別情報選択部５４が生成したランダムな値に基づいて演算処理を実施する。
【００３７】
このように、テーブル名を複数のグループに分割し、所定の規則に基づいて選択された特定のグループからテーブル名を選択することで、テーブル作成の要求がほぼ同時刻に発生しても、同一のテーブル名を選択する可能性を下げられる。なお、偶然に同一のテーブル名を選択してしまった場合でも、作成中テーブル情報３８にテーブル名を記録する際に、排他制御により一方は記録できないため、その時点で一方が再度テーブル名を選択するようにしてもよい。
【００３８】
本実施の形態によれば、作成中テーブル情報３８において作成中のテーブル名を管理する一方で、作成済みテーブル情報３６において作成済みのテーブル名を管理する。このように、テーブルの作成状態に応じてそのテーブル名を異なる記憶領域において管理することで、テーブルの作成状態を適切に管理できる。言い換えれば、図３における管理テーブル３４とは異なり、作成中に異常が発生する可能性があるテーブルと、異常なく作成が完了したテーブルとを明確に区別できる。
【００３９】
既述したように、図３の構成では、一のユーザがテーブルを作成しているときに、他のユーザも同一のテーブル名でテーブルを作成してしまう可能性があった。本実施の形態では、一のユーザがテーブル作成を開始する時点で、作成中テーブル情報３８にそのテーブル名を記録する。これにより、テーブルの作成が完了し、作成中テーブル情報３８からそのテーブル名が削除されるまでの間、他のユーザによる同一のテーブル名を使用してのテーブル作成を防止できる。
【００４０】
また、本実施の形態によれば、テーブル作成が完了した後、作成中テーブル情報３８に記録されたテーブル名は削除される。これにより、テーブルが作成されないはずの時間帯、典型的には夜間やシステムメンテナンス時等において、テーブル名が作成中テーブル情報３８に記録されたままのテーブルは、テーブル作成に失敗したと判断できる。したがって、作成中テーブル情報３８からそのテーブル名を削除することで、そのテーブル名はテーブル名候補として再利用される。このように、本実施の形態では、テーブルの作成状態を適切に管理することで、図３の構成でのもう一つの問題、つまり再利用されないテーブル名の発生を解決している。
【００４１】
さらにまた、本実施の形態によれば、シノニム２２とテーブル３２との参照関係をあらかじめ設定しておくことで、発生する問題を解決できる。つまり、既述したように、参照関係の事前設定により、テーブル３２を作成後すぐにシノニム２２を介したテーブル３２へのアクセスが実現された。その一方で、参照関係の事前設定により、テーブル名候補の数が有限となり、再利用されないテーブル名の発生が問題となった。本実施の形態では、仮想テーブル保持部２０とデータ処理部５０とを組み合わせることで、上述したように、再利用されないテーブル名の発生を防止しつつ、参照関係の事前設定によるメリットを得られる。言い換えれば、本実施の形態により、ユーザ間での迅速な情報共有・情報連携を実現し、さらに、有限の資源を再利用により有効活用する仕組みを提供できる。
【００４２】
さらにまた、本実施の形態によれば、ＥＵＣ（End-User Computing）を促進させられる。つまり、データベースを含むＩＴシステムに関し知識を有していないユーザであっても、データ処理装置２００を使用して他のユーザに情報を提供できる。ＩＴシステムに関する知識を有していないユーザによる操作であるため、テーブル作成が異常終了する可能性は高くなる。本実施の形態では、テーブル作成が異常終了しても、テーブル名の再利用を実現し、他のユーザへの影響を低減できる。
【００４３】
なお、図６における仮想テーブル保持部２０と、データベース３０と、データ処理部５０とは物理的に離れた位置に存在してもよく、図示しない通信ネットワークを介して相互に接続されてもよい。その場合には、データベースマネジメントソフトウェアのリモート接続機能を使用してもよい。具体的には、Oracle（登録商標）の場合には、データベースリンクを使用してもよく、SQL Server（登録商標）の場合には、リンクサーバを使用してもよい。または、ODBC（Open Database Connectivity）ドライバや、JDBC（Java（登録商標） Database Connectivity）ドライバを使用して接続されてもよい。
【００４４】
このように、データ処理装置２００においては、各機能部の物理的な位置が離れていてもよいことで、より柔軟にシステムの構築が可能であり、また、性能や可用性を向上させやすくなる。このことは、多数のユーザからのアクセスを受け付ける必要がある場合、また、多数のテーブルを管理する必要がある場合に特に有効である。
【００４５】
以上、本発明を実施の形態をもとに説明した。この実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【００４６】
第1の変形例について説明する。前述の実施の形態では、記憶領域作成部５８は、テーブルの作成において、ＳＱＬ（Structured Query Language）における「create table」と、「insert」とを一連の処理として実行した。言い換えれば、狭義のテーブル作成とそのテーブルへのデータ挿入とを一連の処理として実行した。しかし、識別情報本記録部６０の機能によっては、狭義のテーブル作成の段階で、作成済みテーブル情報にテーブル名を記録する場合もある。
【００４７】
図１１は、第１の変形例におけるテーブル作成処理の流れを示すフローチャートである。同図におけるＳ３２、Ｓ３４、Ｓ３６およびＳ４４はそれぞれ、図１０におけるＳ１２、Ｓ１４、Ｓ１６およびＳ２２と同様である。本変形例において、記憶領域作成部５８は、まず、狭義のテーブル作成を行う（Ｓ３８）。識別情報本記録部６０は、狭義のテーブル作成が行われた時点で、そのテーブル名を作成済みテーブル情報３６に記録する（Ｓ４０）。記憶領域作成部５８は、作成したテーブルにデータを挿入する（Ｓ４２）。なお、本変形例において、Ｓ４４はＳ４２の前に行われてもよい。
【００４８】
この場合、テーブルへのデータ挿入が完了する前に作成済みテーブル情報３６にテーブル名が記録される。したがって、データ挿入時に何らかの障害が発生して異常終了したとしても、既に作成済みテーブル情報３６にはそのテーブル名が記録されているため、他のテーブル作成時にそのテーブル名を再利用することはできない。
【００４９】
本変形例では、この課題を解決するため、データ処理部５０は、記憶領域削除部をさらに備えてもよい。また、ユーザによるテーブル作成の要求情報には、テーブル３２の存続期間の指定情報を含む。記憶領域削除部は、テーブル作成の要求情報に指定された存続期間の情報を参照し、その存続期間が経過したテーブル３２を削除するとともに、作成済みテーブル情報３６からもそのテーブル名を削除する。
【００５０】
本変形例によれば、データ挿入の異常終了により実際には利用できないテーブルが作成済みテーブル情報３６に記録されたとしても、そのテーブル名を再利用できる。つまり、要求情報に指定された存続期間の間は、利用できないテーブルが存続するものの、存続期間が経過すれば、そのテーブルは削除されるため、そのテーブル名をテーブル名候補として再利用できる。
【００５１】
次に、第２の変形例について説明する。本変形例のデータ処理部５０も、第１の変形例と同様に記憶領域削除部をさらに備える。本変形例の作成中領域情報消去部６４は、作成中テーブル情報に記録されたテーブル名を削除するとともに、そのテーブル名を記憶領域削除部に通知する。記憶領域削除部は、通知されたテーブル名で特定されるテーブル３２を削除するとともに、作成済みテーブル情報３６からもそのテーブル名を削除する。
【００５２】
前述したように、テーブルが作成されないはずの時間帯に作成中テーブル情報にテーブル名が記録されたままのテーブル３２は、作成に失敗したと判断できる。したがって、作成中領域情報消去部６４が作成中テーブル情報からテーブル名を削除するタイミングで、記憶領域削除部はそのテーブル名で特定されるテーブル３２を削除できる。さらに、作成済みテーブル情報３６からもそのテーブル名を削除することで、そのテーブル名をテーブル名候補として再利用できる。第１の変形例が、要求情報により指定された存続期間の経過を契機にしたのに対し、本変形例は、作成中領域情報消去部６４が動作するタイミングを契機とする。
【図面の簡単な説明】
【００５３】
【図１】前提技術におけるデータ処理装置の構成を示す図である。
【図２】図１のデータベースにおいてテーブルが作成されたときの構成を示す図である。
【図３】図２に管理テーブルが追加された構成を示す図である。
【図４】図３の管理テーブルのデータ構造を示す図である。
【図５】図３におけるテーブル名選択の流れを示すフローチャートである。
【図６】本実施の形態におけるデータ処理装置の構成を示す図である。
【図７】図６の作成済みテーブル情報のデータ構造を示す図である。
【図８】図６の作成中テーブル情報のデータ構造を示す図である。
【図９】図６のデータ処理部の機能構成を示すブロック図である。
【図１０】テーブル作成処理の流れを示すフローチャートである。
【図１１】第１の変形例におけるテーブル作成処理の流れを示すフローチャートである。
【符号の説明】
【００５４】
２０  仮想テーブル保持部、２２  シノニム、３０  データベース、３２  テーブル、３４  管理テーブル、３６  作成済みテーブル情報、３８  作成中テーブル情報、５０  データ処理部、５２  作成要求受付部、５４  識別情報選択部、５６  識別情報仮記録部、５８  記憶領域作成部、６０  識別情報本記録部、６２  識別情報削除部、６４  作成中領域情報消去部、１００，２００  データ処理装置。
【図１】
2009048313.tif 000003
【図２】
2009048313.tif 000004
【図３】
2009048313.tif 000005
【図４】
2009048313.tif 000006
【図５】
2009048313.tif 000007
【図６】
2009048313.tif 000008
【図７】
2009048313.tif 000009
【図８】
2009048313.tif 000010
【図９】
2009048313.tif 000011
【図１０】
2009048313.tif 000012
【図１１】
2009048313.tif 000013