説明

情報処理装置及びプログラム

【課題】データベースの操作に係る汎用性を向上させることが可能な情報処理装置及びプログラムを提供する。
【解決手段】データベースの操作を行う情報処理装置であって、前記データベースの操作に係る各コマンド名と、当該コマンド名の操作内容に対応し且つ前記データベースの仕様に応じたストアドプロシージャを識別する第1識別子とを関連付けて保持する第1保持手段と、実行対象のコマンド名に対応する第1識別子を、前記第1保持手段から選択する選択手段と、前記選択手段が選択した第1識別子に対応するストアドプロシージャを、前記データベースに対して実行する実行手段と、を備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データベースの操作を行う情報処理装置及びプログラムに関する。
【背景技術】
【0002】
従来、各種のデータを特定の項目に関連付けて管理するためにデータベースが用いられている。例えば、POS(Point Of Sales)システムでは、各商品を識別する商品コードと関連付けて品名、単価等を記憶したテーブルや、各商品の売上データを管理するためのテーブルを保持したデータベースが設けられている。係るデータベースでは、データベースの処理パフォーマンスを維持するため定期的にメンテナンスを行う必要があり、上記POSシステムでは、閉店後等の所定のタイミングでデータベースの整合性チェック等が自動的に行われるよう構成されている。また、特許文献1には、データベースの稼働状況を周期的にチェックし、効率の悪い状況のときにはデータベースの再編成処理を自動的行う技術が開示されている。
【発明の概要】
【発明が解決しようとする課題】
【0003】
ところで、データベースの管理を行うデータベースエンジンは複数のベンダーから提供されている。しかしながら、データベースエンジン毎に記述する構文の規約が異なるため汎用性が低く、特定のデータベースエンジンについて作成したストアドプロシージャを、他のデータベースエンジンに用いることは困難である。また、各データベースエンジンの構文規約に応じて作成したストアドプロシージャを用いデータベースのメンテナンスを自動的に行う場合には、データベースエンジンの種別毎に自動実行用のプログラムを作成する必要があるため、利便性に欠けるという問題がある。
【0004】
本発明は上記に鑑みてなされたものであって、データベースの操作に係る汎用性を向上させることが可能な情報処理装置及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0005】
上述した課題を解決し、目的を達成するために、本発明は、データベースの操作を行う情報処理装置であって、前記データベースの操作に係る各コマンド名と、当該コマンド名の操作内容に対応し且つ前記データベースの仕様に応じたストアドプロシージャを識別する第1識別子とを関連付けて保持する第1保持手段と、実行対象のコマンド名に対応する第1識別子を、前記第1保持手段から選択する選択手段と、前記選択手段が選択した第1識別子に対応するストアドプロシージャを、前記データベースに対して実行する実行手段と、を備える。
【0006】
また、本発明は、データベースの操作を行うコンピュータを、前記操作に係る各コマンド名と、当該コマンド名に対応する前記データベースの仕様に応じたストアドプロシージャを識別する第1識別子とを関連付けた設定情報から、実行対象のコマンド名に対応する第1識別子を選択する選択手段と、前記選択手段が選択した第1識別子に対応するストアドプロシージャを、前記データベースに対して実行する実行手段と、して機能させる。
【発明の効果】
【0007】
本発明によれば、データベースの操作に係る汎用性を向上させることが可能な情報処理装置及びプログラムを提供することができる。
【図面の簡単な説明】
【0008】
【図1】図1は、データベース管理システムの構成を概略的に示す図である。
【図2】図2は、ストアコンピュータの構成を示す図である。
【図3】図3は、スケジュール管理ファイルの一例を示す図である。
【図4】図4は、コマンド管理ファイルの一例を示す図である。
【図5】図5は、データベース操作に係るストアコンピュータの機能部を説明するための図である。
【図6】図6は、データベース操作処理の手順を示すフローチャートである。
【図7】図7は、スケジュール管理ファイルの他の例を示す図である。
【発明を実施するための形態】
【0009】
以下、添付図面を参照して、本発明に係る情報処理装置及びプログラムの実施形態を詳細に説明する。なお、以下の実施形態では、本発明をPOS(Point Of Sale)システムにおけるストアコンピュータに適用した例について説明するが、本発明はこの実施形態に限定されるものではない。
【0010】
図1は、データベース管理システム1の構成を概略的に示す図である。同図に示すように、データベース管理システム1は、第1データベースサーバ10と、第2データベースサーバ20と、ストアコンピュータ30とを有し、LAN等のネットワークNを介して互いに通信可能に接続されている。なお、ネットワークNに接続されるデータベースサーバの個数は図1の例に限定されないものとする。
【0011】
第1データベースサーバ10には、店舗内で販売する各商品に関するデータを保存したデータテーブルの集合体である第1データベース11と、ネットワークNを介して他の装置(ストアコンピュータ30)との間で各種データの授受を行う通信インタフェース12と、ストアコンピュータ30から通信インタフェース12を介して通知される指示に従い第1データベース11の管理を行うデータベースエンジン13とが設けられている。
【0012】
データベースエンジン13は、図示しない記憶媒体に予め格納された各種のストアドプロシージャを実行することで、第1データベース11のバックアップやインデックス再構築、整合性チェック等のデータベース操作を行う。なお、図1において、ストアドプロシージャP11が第1データベース11の整合性チェックを実現させるものとし、ストアドプロシージャP12が第1データベース11のインデックス再構築を実現させるものとし、ストアドプロシージャP13が第1データベース11のバックアップを実現させるものとする。
【0013】
また、第2データベースサーバ20には、店舗での売上に関するデータを保存したデータテーブルの集合体である第2データベース21と、ネットワークNを介して他の装置(ストアコンピュータ30)との間で各種データの授受を行う通信インタフェース22と、ストアコンピュータ30から通信インタフェース22を介して通知される指示に従い第2データベース21の管理を行うデータベースエンジン23とが設けられている。
【0014】
データベースエンジン23は、図示しない記憶媒体に予め格納された各種のストアドプロシージャを実行することで、第2データベース21のバックアップやインデックス再構築、整合性チェック等のデータベース操作を行う。なお、図1において、ストアドプロシージャP21が第2データベース21の整合性チェックを実現させるものとし、ストアドプロシージャP22が第2データベース21のインデックス再構築を実現させるものとし、ストアドプロシージャP23が第2データベース21のバックアップを実現させるものとする。
【0015】
なお、上述したデータベースエンジン13及びデータベースエンジン23は、各データベースサーバに設けられた、図示しないCPU、ROM、RAM等の制御部と、記憶媒体に予め記憶された所定のプログラムと、の協働により実現されるものである。また、データベースエンジン13とデータベースエンジン23とは、異なる仕様(アーキテクチャ)で実現されているものとし、データベース操作に係る構文の規約に互換性がないものとする。
【0016】
次に、図2を参照して、ストアコンピュータ30について説明する。図2は、ストアコンピュータ30の構成を示す図である。同図に示すように、ストアコンピュータ30は、制御部31と、操作入力部32と、表示部33と、通信インタフェース34と、記憶部35とを備えている。
【0017】
制御部31は、CPU、ROM、RAM等で構成され、記憶部35に記憶された所定のプログラムを実行することで、ストアコンピュータ30の動作を統括的に制御する。具体的に、制御部31は、記憶部35に記憶された所定のプログラムとの協働により、後述するストアド選択部311及びストアド実行部312を実現することで、第1データベース11及び第2データベース21の操作を所定のタイミングで実行する。
【0018】
操作入力部32は、キーボードやマウス等の入力デバイスにより構成され、操作者の操作入力に応じた信号を制御部31へ出力する。表示部33は、CRTやLCD等の表示デバイスにより構成され、制御部31の制御の下、各種の情報を表示する。
【0019】
通信インタフェース34は、ネットワークNを介して第1データベースサーバ10及び第2データベースサーバ20と通信を行うための通信インタフェースであり、制御部31の制御の下、第1データベースサーバ10及び第2データベースサーバ20との間で各種のデータを送受信する。
【0020】
記憶部35は、HDDやSSD、フラッシュメモリ等の記憶デバイスにより構成され、制御部31により実行される各種のプログラムや、各種の設定情報を予め記憶している。また、記憶部35は、データベース操作に係る設定情報として、スケジュール管理ファイル351と、コマンド管理ファイル352とを記憶している。
【0021】
スケジュール管理ファイル351は、データベース操作を行う時刻(以下、実行時刻という)を管理するためのデータテーブルである。図3は、スケジュール管理ファイル351の一例を示す図である。同図に示すように、スケジュール管理ファイル351は、データベース操作を行う実行時刻と、コマンド名と、操作対象となるデータベースの識別子(データベース名)とを関連付けて保持している。
【0022】
ここで、コマンド名は、ストアコンピュータ30が管理する全てのデータベース(第1データベース11及び第2データベース21)において、同一のデータベース操作を指示するコマンドとして共通に設定されたものである。なお、図3の例では、“Check”がデータベースの整合性チェックを指示するコマンド名を表し、“Rebuild”がインデックス再構築を指示するコマンド名を表し、“Backup”がデータベースのバックアップを指示するコマンド名を表している。
【0023】
コマンド管理ファイル352は、各コマンド名と、当該コマンド名の操作内容に対応する各データベースサーバに格納されたストアドプロシージャのストアドプロシージャ名とを関連付けて管理するデータテーブルである。図4は、コマンド管理ファイル352の一例を示す図である。同図に示すように、コマンド管理ファイル352は、コマンド名と、データベース名と、ストアドプロシージャ名とを関連付けて保持している。
【0024】
ここで、データベース名には、第1データベースサーバ10及び第2データベースサーバ20に設けられたデータベースのうち、操作の対象となったデータベースの識別子(データベース名)が格納される。また、ストアドプロシージャ名には、コマンド名の操作内容に対応し、データベース名に対応するデータベースの管理を行うデータベースエンジンの仕様に応じたストアプロシージャの識別子(ストアプロシージャ名)が格納される。
【0025】
図4は、コマンド管理ファイル352の一例を示す図である。同図に示すように、コマンド管理ファイル352は、コマンド名と、データベース名と、ストアドプロシージャ名とを関連付けて保持している。なお、同図では、ストアドプロシージャP11及びP21が、データベースの整合性チェックを実現させるためのストアドプロシージャであり、ストアドプロシージャP12及びP22が、インデックスの再構築を実現させるためのストアドプロシージャであり、ストアドプロシージャP13及びP23が、データベースのバックアップを実現させるためのストアドプロシージャであることを意味している。
【0026】
図5は、データベース操作処理に係るストアコンピュータ30の機能部を説明するための図である。同図に示すように、ストアコンピュータ30の制御部31は、記憶部35に記憶された所定のプログラムとの協働により実現される機能部として、ストアド選択部311及びストアド実行部312を備える。
【0027】
ストアド選択部311は、RTC(Real Time Clock)等の計時部により計時される現在時刻(現在日時)と、スケジュール管理ファイル351に保持された各実行時刻とを比較し、何れかの実行時刻に到達したと判定すると、この実行時刻に関連付けられたコマンド名とデータベース名との組をスケジュール管理ファイル351から選択する。例えば、現在時刻が22:30の場合、ストアド選択部311は、図3のスケジュール管理ファイル351からコマンド名“Check”と、データベース名“第1データベース”との組を選択する。
【0028】
また、ストアド選択部311は、コマンド名とデータベース名との組に対応するストアドプロシージャ名をコマンド管理ファイル352から選択し、このデータベース名及びストアドプロシージャ名をストアド実行部312に通知する。例えば、コマンド名“Check”と、データベース名“第1データベース”との組の場合、ストアド選択部311は、ストアドプロシージャ名“ストアドプロシージャP11”をコマンド管理ファイル352から選択する。
【0029】
ストアド実行部312は、ストアド選択部311から通知されたデータベース名に対応するデータベースを備えるデータベースサーバへアクセスし、同時に通知されたストアドプロシージャ名に対応するストアドプロシージャの実行をデータベースエンジンに指示することで、データベース名に対応するデータベースの操作をリモートから実行する。例えば、ストアド選択部311からデータベース名として“第1データベース”、ストアドプロシージャ名として“ストアドプロシージャP11”が通知された場合、ストアド実行部312は、第1データベースサーバ10のデータベースエンジン13に、第1データベース11に対するストアドプロシージャP11の実行を指示することで、第1データベース11の整合性チェックを行わせる。なお、データベース名とデータベースサーバとの関係は予め設定されているものとする。
【0030】
以下、図6を参照して、ストアコンピュータ30の制御部31(ストアド選択部311及びストアド実行部312)が実行するデータベース操作処理について説明する。ここで、図6は、データベース操作処理の手順を示すフローチャートである。
【0031】
まず、ストアド選択部311は、図示しない計時部により計時される現在時刻が、スケジュール管理ファイル351に登録された何れかの実行時刻に到達するまで待機する(ステップS11;No)。現在時刻が何れかの実行時刻に到達したと判定すると(ステップS11;Yes)、ストアド選択部311は、この実行時刻に関連付けられたコマンド名及びデータベース名の組をスケジュール管理ファイル351から選択する(ステップS12)。
【0032】
次に、ストアド選択部311は、ステップS12で選択したコマンド名及びデータベース名の組に関連付けられたストアドプロシージャ名をコマンド管理ファイル352から選択し、この操作対象のデータベース名と、実行対象のストアドプロシージャ名との組をストアド実行部312へ通知する(ステップS13)。
【0033】
ストアド実行部312は、ストアド選択部311から通知された操作対象のデータベース名に対応するデータベースを備えたデータベースサーバへアクセスを行う(ステップS14)。そして、ストアド実行部312は、操作対象のデータベースに対する、実行対象のストアドプロシージャ名に対応したストアドプロシージャの実行を、このデータベースを管理するデータベースエンジンに指示することで、データベースの操作を行い(ステップS15)、本処理を終了する。
【0034】
以上のように、本実施形態によれば、コマンド管理ファイル352のデータベース名及びストアドプロシージャ名を設定することで、仕様の異なるデータベースエンジンで管理される各データベースを共通のコマンド名で操作することが可能となるため、データベースの操作に係る汎用性を向上させることができる。
【0035】
なお、本実施形態では、スケジュール管理ファイル351を用いることで、このスケジュール管理ファイル351に登録された各データベース操作を日毎の実行時刻に実行させる形態を説明したが、これに限らず、例えば特定の曜日や日付、時期等の実行時刻に各データベース操作を実行させる形態としてもよい。以下、この形態について図7を用いて説明する。
【0036】
図7は、スケジュール管理ファイル351の他の例(スケジュール管理ファイル353)を示す図である。同図に示すように、スケジュール管理ファイル353は、図3で説明した実行時刻、コマンド名及びデータベース識別子(データベース名)に加え、実行周期として特定の曜日や日付、時期等を関連付けて保持している。
【0037】
このスケジュール管理ファイル353を用いてデータベース操作処理を行う場合、制御部31は、実行周期で指定された特定の曜日、日付又は時期と、実行時刻で指定された時刻との組み合わせに基づき、ステップS12の判定を行うものとする。例えば、毎火曜日の22時30分に到達すると、制御部31は、この実行時刻及び曜日に関連付けられたコマンド名“Check”及びデータベース名“第1データベース”の組を上述したステップS12で選択する。また、例えば、毎月10日の22時45分に到達すると、制御部31は、この実行時刻及び日付に関連付けられたコマンド名“Check”及びデータベース名“第2データベース”の組を上述したステップS12で選択する。
【0038】
なお、スケジュール管理ファイル353の実行周期において“月末”や“月初”は、特定の日付(例えば、“月末”ならば30日、“月初”ならば1日等)又は特定の期間(例えば、“月末”ならば25日から31日迄、“月初”ならば1日から5日迄等)を意味している。
【0039】
データベースのデータ量の増加に伴い、各データベース操作(Check、Rebuild、Backup)に要する時間も増大する。そのため、全てのデータベース操作を毎日行っていたのでは、実行時刻の近いデータベース操作同士の干渉等により、予定された期限時刻までに処理が完了しない可能性がある。このような場合、スケジュール管理ファイル353のように実行周期及び実行時刻を組み合わせて指定することで、夫々異なるタイミングでデータベース操作を実行させることができ、また、毎日行う必要のない(毎日行うと効率的でない)データベース操作を、指定した該当日にのみ実行させることができるため、各データベース操作の実行を効率的に進めることが可能となる。
【0040】
以上、本発明の実施の形態について説明したが、本発明はこれに限定されるものではなく、本発明の主旨を逸脱しない範囲での種々の変更、置換、追加等が可能である。
【0041】
例えば、上記実施形態では、データベースサーバの各々が自己のデータベースエンジンの仕様に応じたストアドプロシージャを保持する形態としたが、これに限らず、各データベースサーバのデータベースエンジンの仕様に応じたストアドプロシージャをストアコンピュータ30が保持する形態としてもよい。なお、この形態の場合、ストアド実行部312は、ストアドプロシージャに定義された一連の処理を操作対象のデータベース(データベースサーバ)に対し順次実行する。
【0042】
また、上記実施形態では、二つのデータベースを操作する形態について説明したが、データベースの個数はこれに限らず、一又は3以上のデータベースとしてもよい。また、各データベースが保存するデータテーブルの単位で操作を行う形態としてもよい。
【0043】
また、上記実施形態では、スケジュール管理ファイル351の実行時間に従い、この実行時刻に関連付けられたコマンド名とデータベース名とに対応するストアドプロシージャを実行する形態としたが、これに限らず、操作入力部32を介して指定されたコマンド名とデータベース名との組に基づき、この組に対応するストアドプロシージャを実行する形態としてもよい。
【0044】
また、上記実施形態のストアコンピュータ30で実行されるプログラムは、ROM等に予め組み込んで提供するように構成してもよい。また、上記プログラムは、インストール可能な形式又は実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)、CD−R、DVD等のコンピュータで読み取り可能な記録媒体に記録されて提供されてもよい。
【0045】
また、上記プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、上記プログラムをインターネット等のネットワーク経由で提供又は配布するように構成してもよい。
【符号の説明】
【0046】
1 データベース管理システム
10 第1データベースサーバ
11 第1データベース
12 通信インタフェース
13 データベースエンジン
20 第2データベースサーバ
21 第2データベース
22 通信インタフェース
23 データベースエンジン
30 ストアコンピュータ
31 制御部
32 操作入力部
33 表示部
34 通信インタフェース
35 記憶部
311 ストアド選択部
312 ストアド実行部
351 スケジュール管理ファイル
352 コマンド管理ファイル
353 スケジュール管理ファイル
【先行技術文献】
【特許文献】
【0047】
【特許文献1】特開平11−161525公報

【特許請求の範囲】
【請求項1】
データベースの操作を行う情報処理装置であって、
前記データベースの操作に係る各コマンド名と、当該コマンド名の操作内容に対応し且つ前記データベースの仕様に応じたストアドプロシージャを識別する第1識別子とを関連付けて保持する第1保持手段と、
実行対象のコマンド名に対応する第1識別子を、前記第1保持手段から選択する選択手段と、
前記選択手段が選択した第1識別子に対応するストアドプロシージャを、前記データベースに対して実行する実行手段と、
を備えたことを特徴とする情報処理装置。
【請求項2】
前記第1保持手段は、複数のデータベース各々を識別する第2識別子と関連付けて、全データベースで共通に設定された前記各コマンド名と、当該コマンド名の操作内容に対応し且つ前記データベースの仕様に応じたストアドプロシージャの前記第1識別子とを保持し、
前記選択手段は、実行対象のコマンド名と、このコマンド名で操作対象となるデータベースの第2識別子との組に対応する第1識別子を、前記第1保持手段から選択することを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記第1保持手段に保持された前記コマンド名と関連付けて、当該コマンド名の実行時刻と、操作対象のデータベースを識別する前記第2識別子とを保持する第2保持手段を更に備え、
前記選択手段は、前記第2保持手段に保持された実行時刻に従い、この実行時刻に関連付けられたコマンド名及び第2識別子に対応する第1識別子を、前記第1保持手段から選択することを特徴とする請求項2に記載の情報処理装置。
【請求項4】
前記実行手段は、前記ストアドプロシージャの実行を、操作対象のデータベースを管理するデータベースエンジンに指示することを特徴とする請求項1〜3の何れか一項に記載の情報処理装置。
【請求項5】
前記実行手段は、前記ストアドプロシージャに定義された一連の処理を、操作対象のデータベースに対し順次実行することを特徴とする請求項1〜3の何れか一項に記載の情報処理装置。
【請求項6】
データベースの操作を行うコンピュータを、
前記操作に係る各コマンド名と、当該コマンド名に対応する前記データベースの仕様に応じたストアドプロシージャを識別する第1識別子とを関連付けた設定情報から、実行対象のコマンド名に対応する第1識別子を選択する選択手段と、
前記選択手段が選択した第1識別子に対応するストアドプロシージャを、前記データベースに対して実行する実行手段と、
して機能させることを特徴とするプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2011−180735(P2011−180735A)
【公開日】平成23年9月15日(2011.9.15)
【国際特許分類】
【出願番号】特願2010−42764(P2010−42764)
【出願日】平成22年2月26日(2010.2.26)
【出願人】(000003562)東芝テック株式会社 (5,631)
【Fターム(参考)】