情報処理装置、情報処理方法、及びコンピュータプログラム
【課題】新規に発生するデータを登録する第1のデータテーブルに蓄積されるデータを、過去の履歴データを記憶する複数の第2のデータベースに移行させることで、1つのデータベースに蓄積されるデータ容量を抑制する。
【解決手段】最新のデータを蓄積管理する第1のデータテーブルと、過去のデータを蓄積管理する複数の第2のデータテーブルとを備え、一定の期間毎に、第1のデータテーブルに記憶されているデータを第2のデータテーブルの何れかに移動する移動手段と、移動された場合に、登録時期情報を更新する更新手段と、を備える。
【解決手段】最新のデータを蓄積管理する第1のデータテーブルと、過去のデータを蓄積管理する複数の第2のデータテーブルとを備え、一定の期間毎に、第1のデータテーブルに記憶されているデータを第2のデータテーブルの何れかに移動する移動手段と、移動された場合に、登録時期情報を更新する更新手段と、を備える。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、各種のデータを所定期間保存するためのデータベースに関し、特に、半年や1年といったまとまった期間単位で各種のデータを保存するための技術に関する。
【背景技術】
【0002】
企業等では、日々発生する販売データや購買データ等をデータベースに検索可能に保存しておくことが行われている。また、これらデータの中には一定期間の保存期限、保存しなければなれないデータもあり、次の問題が発生する。
【0003】
1.保存ディスク容量の増大
2.データが大量になることによる、検索のパフォーマンスの低下
【0004】
また、長期間にわたりデータを保持すると、検索の対象となるデータが増えてしまうことにより、更なる検索時のパフォーマンスの低下が発生してしまう。そこで特許文献1には、データを保存するためのボリュームを複数用意し、所定の期間データを蓄積した後に、他のボリュームに保存場所を切り替える技術が開示されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2005−332043号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
特許文献1に開示されている発明では、新規のデータを保存するボリュームが所定の期間が経過したら変わる。よって、それぞれのボリュームを管理するためのデータベースシステムが同様の性能を有していないと、新規のデータの登録や検索のパフォーマンスが一定にならないという問題がある。例えば、データの検索を行う際には、その対象とするデータは直近のデータであることが多く、過去にさかのぼって必要とするデータを検索する機会はあまり多いと言えない。であるので、直近のデータを登録するデータベースの性能が良ければ、検索のパフォーマンスは特に低下しない。
【0007】
また、最新データの登録のたびに、当該データを登録するデータテーブルを特定しなくてはならず、登録処理の効率性が低下してしまうという問題もある。
【0008】
そこで、本発明は、新規に発生するデータを登録する第1のデータテーブルと、過去の履歴データを記憶する複数の第2のデータベースとを備え、一定期間第1のデータベースにデータが記憶された後に第2のデータベースにデータを移行させることで、1つのデータベースに蓄積されるデータ容量を抑制可能な技術を提供することを目的とする。
【課題を解決するための手段】
【0009】
上記した目的を達成するために、本発明の情報処理装置は、最新のデータを蓄積管理する第1のデータテーブルと、過去のデータを蓄積管理する複数の第2のデータテーブルと、を備える情報処理装置であって、前記第2のデータテーブルに保存されているデータの登録時期情報を記憶する記憶手段と、クライアント装置からの新規データ登録要求に応じて、前記第1のデータテーブルに新規にデータを登録する登録手段と、一定の期間毎に、前記第1のデータテーブルに記憶されているデータを前記第2のデータテーブルの何れかに移動する移動手段と、前記移動手段により前記第1のデータテーブルに記憶されているデータが何れかの第のデータテーブルに移動された場合に、前記登録時期情報を更新する更新手段と、を備えることを特徴とする。
【0010】
上記した目的を達成するために、本発明の情報処理方法は、最新のデータを蓄積管理する第1のデータテーブルと、過去のデータを蓄積管理する複数の第2のデータテーブルと、を備える情報処理装置によって行われる情報処理方法であって、前記第2のデータテーブルに保存されているデータの登録時期情報を記憶装置に記憶する記憶工程と、クライアント装置からの新規データ登録要求に応じて、前記第1のデータテーブルに新規にデータを登録する登録工程と、一定の期間毎に、前記第1のデータテーブルに記憶されているデータを前記第2のデータテーブルの何れかに移動する移動工程と、前記移動工程により前記第1のデータテーブルに記憶されているデータが何れかの第のデータテーブルに移動された場合に、前記登録時期情報を更新する更新工程と、を備えることを特徴とする。
【0011】
上記した目的を達成するために、本発明のコンピュータプログラムは、最新のデータを蓄積管理する第1のデータテーブルと、過去のデータを蓄積管理する複数の第2のデータテーブルと、を備える情報処理装置を、前記第2のデータテーブルに保存されているデータの登録時期情報を記憶装置に記憶する記憶手段と、クライアント装置からの新規データ登録要求に応じて、前記第1のデータテーブルに新規にデータを登録する登録手段と、
一定の期間毎に、前記第1のデータテーブルに記憶されているデータを前記第2のデータテーブルの何れかに移動する移動手段と、前記移動手段により前記第1のデータテーブルに記憶されているデータが何れかの第のデータテーブルに移動された場合に、前記登録時期情報を更新する更新手段として機能させることを特徴とする。
【発明の効果】
【0012】
本発明によれば、新規に発生するデータを登録する第1のデータテーブルに蓄積されるデータが一定期間蓄積した後に、過去の履歴データを記憶する複数の第2のデータベースにデータを移行させることで、1つのデータベースに蓄積されるデータ容量を抑制することができる。
【図面の簡単な説明】
【0013】
【図1】本発明の情報処理システムのシステム構成の一例を示す図である。
【図2】図1のサーバ装置101に適用可能な情報処理装置のハードウェア構成の地位例を示す図である。
【図3】サーバ装置101によって行われるデータベースにおけるデータ管理の例を示す図である。
【図4】サーバ装置101によって行われるデータ格納先情報のメンテナンス処理の概要を示すフローチャートである。
【図5】図4のステップS401のデータ格納先情報管理テーブルの更新処理の詳細を示すフローチャートである。
【図6】図4のステップS402の保管期限超過データのアーカイブ/削除処理の詳細を示すフローチャートである。
【図7】図4のステップS403の最新格納データ移動処理の詳細を示すフローチャートである。
【図8】サーバ装置101とクライアント装置102によって行われるデータ検索処理の詳細を示すフローチャートである。
【図9】サーバ装置101の外部メモリ211に記憶されているデータ格納先情報管理テーブルのデータ構成を示す図である。
【図10】図4〜図7に示す処理を実行した際のデータ格納先情報管理テーブル900のデータ変更の一例を示す図である。
【図11】クライアント装置102のディスプレイ装置に表示される検索条件指定画面の構成の一例を示す図である。
【発明を実施するための形態】
【0014】
以下、図面を参照して、本発明の実施の形態の一例について説明する。図1は、本発明の情報処理システムのシステム構成の一例を示す図である。同図に示す通り、本発明の情報処理システムは、サーバ装置101、クライアント装置102−1乃至102−3(以後、まとめてクライアント装置102とする)、LAN(Local Area Network)等のネットワーク103を備えて構成されている。
【0015】
サーバ装置101は、各種のデータを管理するデータベースを備える情報処理装置であり、クライアント装置102からのデータの保存要求、削除要求等に応じてデータベースを更新する。また、所定の期日に達した場合に、最新データ保存テーブルに保存されたデータを履歴データ保存テーブルに移行する処理を行う。この処理については、図3を参照して後述する。
【0016】
クライアント装置102は、サーバ装置101に対するデータの保存要求や、データベース検索要求を行う際に使用される装置である。
【0017】
ネットワーク103は、上記の装置を相互に通信可能に接続するためのネットワークであり、その接続形態は有線/無線を問わない。以上が本発明の情報処理システムのシステム構成の一例である。
【0018】
次に、図2を参照して、図1のサーバ装置101に適用可能な情報処理装置のハードウェア構成の一例について説明する。
【0019】
図中、CPU201は、システムバス204に接続される後述の各デバイスやコントローラを統括的に制御する。また、ROM203あるいは外部メモリ211には、CPU201の制御プログラムであるBIOS(Basic Input / Output System)やオペレーティングシステムプログラム(以下、OS)や、サーバ装置101に後述する各種の処理を実行させるために必要な各種プログラムやデータ等が記憶されている。RAM202は、CPU201の主メモリ、ワークエリア等として機能する。
【0020】
CPU201は、処理の実行に際して必要なプログラム等をRAM202にロードして、プログラムを実行することで後述する各種処理を実現するものである。また、入力コントローラ(入力C)205は、キーボードやポインティングデバイス等で構成される入力装置209からの入力を制御する。ビデオコントローラ(VC)206は、ディスプレイ装置210等の表示装置への表示を制御する。ディスプレイ装置210は、例えばCRTディスプレイや液晶ディスプレイ等で構成される。
【0021】
メモリコントローラ(MC)207は、ブートプログラム、ブラウザソフトウエア、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、各種データ等を記憶するハードディスク(HD)やフロッピーディスク(登録商標 FD)或いはPCMCIAカードスロットにアダプタを介して接続されるコンパクトフラッシュメモリ等の外部メモリ211へのアクセスを制御する。
【0022】
通信I/Fコントローラ(通信I/FC)208は、ネットワークを介して、外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、TCP/IPを用いたインターネット通信等が可能である。
【0023】
なお、CPU201は、例えばRAM202内の表示情報用領域へアウトラインフォントの展開(ラスタライズ)処理を実行することにより、ディスプレイ装置210上での表示を可能としている。また、CPU201は、ディスプレイ装置210上の不図示のマウスカーソル等でのユーザ指示を可能とする。以上が、サーバ装置101に適用可能な情報処理装置のハードウェア構成の説明であるが、後述する各種の処理を実行可能であれば、必ずしも図2に記載のハードウェア構成を有していなくとも構わないことは言うまでもない。
【0024】
次に、図3を参照して、本発明のサーバ装置101によって行われるデータベースにおけるデータ管理の例について説明する。本発明で取り扱うデータとしては、主に販売データや、購入データ等、時々刻々と発生するデータである。
【0025】
サーバ装置101は、クライアント装置102からの新規データ登録要求を受け付けると、最新データ保存テーブル300に新規にデータを保存する。同様に、データの更新要求や削除要求を受け付けた場合にも、要求された処理を行うことになる。
【0026】
この時、クライアント装置102からの要求に応じて新規に追加されるデータは、最新データ保存テーブル300中に設けられている各種データのデータテーブル(301〜303)に保存されることになる。
【0027】
また、最新データ保存テーブルにデータを保存する期間はあらかじめ設定されており(例えば、1カ月、四半期、半期、1年等)、当該設定されている期間、データを蓄積すると、最新データ保存テーブル300に保存されたデータを、履歴データ保存領域中310のいずれかの履歴データ保存テーブルに移動する処理を行う。
【0028】
その際に、サーバ装置101のCPU201は、履歴データ保存領域310中の履歴データ保存テーブルにまだ、履歴データを保存していない履歴データ保存テーブルがあれば、その履歴データ保存テーブルに最新データ保存テーブル300に登録されたデータを移動する。
【0029】
一方、全ての履歴データ保存テーブルに履歴データが保存されている場合には、もっとも過去のデータを保存している履歴データ保存テーブルに最新データ保存テーブル300に登録されたデータを移動することになる。
【0030】
尚、最新データ保存テーブルを管理するデータベースシステムと、履歴データ保存テーブルを管理するデータベースシステムは異なるものでも良い。その場合には、新規データの登録やデータの検索をより高速に行えるデータベースシステムで最新データ保存テーブルを管理することになる。
【0031】
次に、図4を参照して、サーバ装置101のCPU201によって行われるデータ格納先情報のメンテナンス処理の概要について説明する。本図に示す処理をCPU201に実行させるためのプログラムは、外部メモリ211等に記憶されており、CPU201は本処理を実行する際に当該プログラムをRAM202にロードし、ロードしたプログラムによる制御に従って本処理を行うことになる。
【0032】
CPU201は、最新データ保存テーブル300に保存されているデータを履歴データ保存領域に移動するにあたり、まず、データ格納先情報管理テーブルの更新処理を行う(ステップS401)。この処理の詳細については、図5を参照して後述することにする。
【0033】
そして、データ格納先情報管理テーブルの更新処理終了後、保管期限超過データのアーカイブ/削除処理を行う(ステップS402)。この処理の詳細については、図6を参照して後述することにする。保管期限超過データのアーカイブ/削除処理が終了後、保管期限超過データが削除されることにより、空きとなった履歴データ保存テーブルに最新データ保存テーブル300に登録されたデータを移動させる最新格納データの移動処理を行う(ステップS403)。この処理の詳細については、図7を参照して後述することにする。以上が、サーバ装置101によって行われるデータ格納先情報のメンテナンス処理の概要である。
【0034】
次に、図5を参照して、図4のステップS401のデータ格納先情報管理テーブル更新処理の詳細について説明する。
【0035】
まず、CPU201は、データ格納先情報管理テーブルより、最新データの格納先情報を取得する(ステップS501)。
【0036】
ここで、図9を参照して、データ格納先情報管理テーブルのデータ構成について説明する。図9に示す通り、データ格納先情報管理テーブル900には、データ項目として、データ識別番号(PK)901、管理番号902、格納先種別903、年904、期/月905、データ格納先906(データA格納先906−1〜データN格納先906−n)を備えている。
【0037】
データ識別番号(PK)901は、データ保存領域を一意に識別するためのID情報である。管理番号902は、最新データ保存テーブル300に保存されているデータの移動先となる履歴データ保存テーブルのローテーション管理を行うために用いられる情報である。
【0038】
格納先種別903は、当該データ保存テーブルが最新データ保存テーブル300であるか、それとも履歴データ保存テーブルであるかを識別するための情報が登録される。最新データ保存テーブル300である場合には、このデータ項目に1が設定される。履歴データ保存テーブルである場合には、このデータ項目に0が設定される。また、最新データ保存テーブルのデータを履歴データ保存テーブルに移動させる際に、移動先として設定された履歴データ保存テーブルの格納先種別は2と設定される。また、未使用の履歴データ保存テーブルの場合には、3が設定される。格納先種別903に設定する情報はこれに限られず、最新データ保存テーブル、履歴データ保存テーブル、最新データ保存テーブルのデータ移動先の履歴データ保存テーブル、未使用の履歴データ保存テーブルを識別できれば、他のデータを設定しても勿論構わない。
【0039】
年904は、月/期905は、後述する各データ格納先906に登録されているデータが登録された時期を示すデータであり、年904には年情報が、月/期905には予め設定された月/期等を示す情報(月、四半期、半期)を示す情報が登録される。例えば、データの登録期間が四半期の場合には、2010年第1四半期に登録されたデータを格納するデータ格納先を管理するためのレコードの年904には2010が、月/期905には1が登録される。同様に2010年第2四半期の場合には2010、2がそれぞれ登録される。
【0040】
データ格納先906には、各種のデータ(例えば、販売データ、購入データ等)を登録しているデータテーブルを特定するための情報が登録される。以上がデータ格納先情報管理テーブルのデータ構成の説明である。
【0041】
図5の説明に戻る。ステップS501で格納先種別903に1が設定されている最新データの格納先を示すレコードをデータ格納先情報管理テーブル900から取得した後、未使用の格納先(履歴データ保存テーブル)があるか(即ち、格納先種別903のレコードがデータ格納先情報管理テーブル900に存在するか)を判定する(ステップS502)。
【0042】
ステップS502の判定処理で未使用の格納先(履歴データ保存テーブル)がない(NO)と判定した場合には、処理をステップS503に進め、データ格納先情報管理テーブル900中の各レコード(格納先種別903が1(即ち最新データ保存テーブル)以外)の管理番号を1インクリメントする。そして、管理番号が最大であるレコードを特定し(ステップS504)、この特定されたレコードの管理番号を1に設定する(ステップS505)。
【0043】
その後、管理番号を1に設定したデータ格納先情報管理テーブル900中のレコードの格納先種別903を、最新データ保存テーブルに登録されたデータの移動先を示す2に設定する(ステップS506)。
【0044】
ステップS502の判定処理で、未使用の格納先(履歴データ保存テーブル)がある(YES)と判定した場合には、処理をステップS507に進め、データ格納先情報管理テーブル900中の未使用の格納先を示すレコード(即ち格納先種別903が3のレコード)のうち、管理番号が最大のレコードを特定し(ステップS507)、特定されたレコードの格納先種別903を、最新データ保存テーブルに登録されたデータの移動先を示す2に設定する(ステップS508)。
【0045】
ステップS506またはステップS508の処理終了後、ステップS509に処理を進め、データ格納先情報テーブル900中の最新データ保存テーブルを管理するレコード(即ち格納先種別903が1のレコード)から時期情報(年904、月/期905)を取得する。そして、ステップS509で設定した時期情報を、格納先種別が2であるレコードの時期情報に設定する(ステップS510)。その後、最新データ保存テーブルを管理するレコードの時期情報を次の時期を示す情報に変更する(ステップS511)。つまり、四半期毎のデータ蓄積であり、2010年第3四半期であった場合には、2010年第4四半期を示す情報に、2010年第4四半期であった場合には、2011年第1四半期を示す情報に変更することになる。以上が、図4のステップS401のデータ格納先情報管理テーブル更新処理の詳細な説明である。
【0046】
次に、図6を参照して、図4のステップS402の保管期限超過データのアーカイブ/削除処理の詳細について説明する。
【0047】
まず、CPU201は、データ格納先情報管理テーブル900中の格納先種別903が2であるレコード、つまりは、最新データ保存テーブルに保存されているデータの移動対象となる履歴データ保存テーブルを管理するレコードを取得する(ステップS601)。そして、その管理番号が1であるかを判定する(ステップS602)。ここで、管理番号が1である場合には、既に当該レコードが管理する履歴データ保存テーブルに過去の履歴データが登録されていることを示している。
【0048】
管理番号が1であると判定した場合には(ステップS602でYES)、処理をステップS603に進め、アーカイブ対象となる各データ保存先のデータテーブル名を取得する。この情報は、データ格納先情報管理テーブル900のデータ格納先906に登録されている。そして、ステップS603で取得したデータテーブル名で特定されるデータテーブルに登録されているデータのアーカイブ処理を実施する(ステップS604)。そして、アーカイブしたデータを、外部メモリ211に保存する(ステップS605)。
【0049】
そして、アーカイブ処理を行ったデータの保存が終了後、アーカイブ対象のデータ保管先(履歴データ保存テーブル)のデータを削除する。このアーカイブ処理、削除処理は、ステップS601で取得したレコードのデータ格納先906に登録されている全てのデータ格納先に対して行われることになる。以上が、図4のステップS402の保管期限超過データのアーカイブ/削除処理の説明である。
【0050】
次に、図7を参照して、図4のステップS403の最新格納データ移動処理の詳細について説明する。
【0051】
まず、サーバ装置101のCPU201は、データ格納先情報管理テーブル900から格納先種別が1であるレコードを取得する(ステップS701)。つまり、このステップでは、最新データ保存テーブルを管理するためのレコードを取得することになる。そして、当該レコードのデータ格納先906に登録されている全てのデータテーブル名を取得する(ステップS702)。
【0052】
次に、サーバ装置101のCPU201は、データ格納先情報管理テーブル900から格納先種別が2であるレコードを取得する(ステップS703)。つまり、このステップでは、最新データ保存テーブルに登録されているデータの移動先となる履歴データ登録テーブルを管理するためのレコードを取得することになる。そして、当該レコードのデータ格納先906に登録されている全てのデータテーブル名を取得する(ステップS704)。
【0053】
その後、ステップS702で取得したデータテーブル名で特定されるデータテーブルに登録されているデータをステップS704で取得したデータテーブル名で特定されるデータテーブルに複製登録する(ステップS705)。その後、ステップS702で取得したデータテーブル名で特定されるデータテーブル(つまりは、最新データ保存テーブル)に登録されているデータを削除する(ステップS706)。その後、最新データ保存テーブルに登録されていたデータを複製した履歴データ保存テーブルを示すレコード(つまりは格納先種別が2であるレコード)の格納先種別を0に設定する(ステップS707)。以上が、図4のステップS403の最新格納データ移動処理の詳細な説明である。
【0054】
本発明では、上記のように、最新のデータを登録するためのデータテーブルを固定し、複数のデータテーブルに履歴データを登録するようにしている。最新データ保存テーブルから履歴データ保存テーブルにデータを移動する際に、もっとも過去の履歴データを保存している履歴データ保存テーブルにデータを移動するようにしている。
【0055】
図10は、図4〜図7に示す処理を実行した際のデータ格納先情報管理テーブル900のデータ変更の一例を示す図である。図10の(1)は、最新データ保存テーブルのデータを何れかの履歴データ保存テーブルに移動させる前の状態を示している。
【0056】
図10の(1)に示す通り、全ての履歴データ保存テーブルには既に過去のデータが記憶されている。これは、格納先種別903が3のデータがないことから理解できよう。
【0057】
なので、サーバ装置101は、最新データ保存テーブルに登録されているデータの移動先として、PKが02のレコードが示す履歴データ保存テーブルを設定することになる(図5のステップS502からステップS506の処理)。その際に、図10の(2)に示すように、全てのレコードの管理番号に1加えるとともに、移動先として特定された履歴データ保存テーブルを示すレコードの管理番号を1に設定するとともに、その格納先種別を2に設定する。
【0058】
その後、最新データ保存テーブルを示すレコードの年904、期/月905を管理番号1のレコードに登録し(図5のステップS510)、当該レコードが示す履歴データ保存テーブルの情報をアーカイブ等し(図6の処理)その後各テーブルの情報を複製することになる(図7のステップS705)。そして、複製処理終了後に最新データ保存テーブルの情報を削除し(図7のステップS706)、その後、最新データが複製された履歴データ保存テーブルを示すレコードの格納先種別を0にする(図7のステップS707)。これらの処理によって、図10の(1)の状態から(2)の状態にデータが変更される。
【0059】
このようなデータ構造を有しているため、最新データ保存テーブルにデータを保存する際には、特に最新データを保存するためのデータテーブルがどれであるかを意識する必要はないが、過去の履歴データを検索する際、特に、「前期」、「前年同期」等といった期間の指定をする際には、その期のデータがどのデータテーブルに保存されているかは、検索を行う期によって変わってしまう。そこで、本発明では次のような形での検索処理を行うことになる。
【0060】
図8は、サーバ装置101とクライアント装置102によって行われるデータ検索処理の詳細を示すフローチャートである。尚、図中のステップS801からS816の処理はクライアント装置102によって、ステップS821からS830の処理はサーバ装置101によって行われる処理である。
【0061】
まず、クライアント装置102のCPU201は、サーバ装置101に対して、検索画面要求を送信する(ステップS801)。クライアント装置102からの検索画面要求を受け付けると(ステップS821)、サーバ装置101のCPU201は、不図示のデータテーブル種別情報を取得し(ステップS822)、該データテーブル種別情報を含む検索画面情報を、検索画面要求を行ったクライアント装置102に送信する(ステップS823)。ここで、データテーブル種別情報とは、各データテーブルで保存管理しているデータ種別(例えば、販売データ、購入データ)である。
【0062】
クライアント装置102のCPU201は、サーバ装置101からデータテーブル種別を含む検索画面情報を受信すると、クライアント装置102で実行中のブラウザアプリケーション等の機能により、当該検索画面情報に基づき、ディスプレイ装置に検索画面を表示する(ステップS803)。
【0063】
ここで、図11を参照して、クライアント装置102のディスプレイ装置に表示される検索画面の構成の一例について説明する。
【0064】
図11に示すように、検索画面1100には、検索対象データテーブル指定部1101、年・期/月指定部1102、検索条件指定部1103、検索ボタン1104、及びキャンセルボタン1105が設定されている。
【0065】
検索対象データテーブル指定部1101は、サーバ装置101で管理しているデータテーブルのうち、何れのデータテーブルに対しての検索を行うかを指定する指定欄である。
【0066】
年・期/月指定部1102は、検索対象データテーブルとして指定されたデータ手エーブルのうち、どの時期のデータテーブルの検索を行うかを指定する指定部であって、「前期」、「前年同期」のような相対的な指定を行うことや(以後、相対指定という)、2010年1期というよう指定を行うこと(以後、絶対指定という)が可能である。
【0067】
検索条件指定部1103は、検索対象となるデータテーブルに保存されているデータを検索する際の検索条件を指定する指定部である。尚、検索条件指定部中のデータ項目には、検索対象データテーブル指定部1101で指定されたデータテーブルが有するデータ項目が選択可能に設定される。
【0068】
また、合致条件には、データ項目で指定されたデータ項目のデータタイプが数値データの場合には、「以上」、「以下」、「未満」、「と等しい」等の合致条件が、文字列データの場合には、「で始まる」、「を含む」、「を含まない」等の合致条件が選択可能に設定されることになる。
【0069】
検索ボタン1104は、サーバ装置101に検索要求を行うための用いられるボタンである。キャンセルボタン1105は、検索要求を行わず本画面の表示を終了するために用いられるボタンである。以上が、検索画面1100の構成の一例の説明である。
【0070】
図8の説明に戻る。ステップS803で検索画面1100を表示した後に、検索対象データテーブルの指定変更指示を受け付けた場合には(ステップS804でYES)、処理をステップS805に進め、指定されたデータテーブルの種別情報をサーバ装置101に対して送信する。
【0071】
サーバ装置101は、クライアント装置102からデータテーブル種別情報を受信すると(ステップS824)、当該データテーブルのデータ項目を取得する(ステップS825)。この時データ項目だけではなく、当該データ項目のデータタイプ(数値、文字列)等のデータも取得することになる。そして、当該データテーブルを検索する際に設定可能な相対指定と年、期/月の対応関係を示す対応データを作成する(ステップS826)。
【0072】
そして、ステップS825で取得したデータ項目情報及びS826で作成した対応テーブル情報を含む検索画面情報をクライアント装置102に送信する(ステップS827)。データ項目情報は図11の検索条件指定部1103のデータ項目や合致条件で設定可能なデータとして追加されることになる。
【0073】
サーバ装置101からステップS827の処理で送信された検索画面情報を受信すると(ステップS806)、クライアント装置102は、該検索画面情報に従った検索画面1100をディスプレイ装置210に表示する(ステップS807)。そして、検索画面1100を介して検索条件の入力を受け付けることになる(ステップS808)。
【0074】
その後、検索画面1100中の検索ボタン1104に対する押下指示による検索指示を受け付けると(ステップS809でYES)、検索画面1100の年・期/月指定部1102で受け付けた指定が相対指定であるかを判断する(ステップS810)。相対指定であると判定した場合には(ステップS810でYES)、画面情報に含まれる対応テーブルを基にして、相対指定された期の年・期/月を特定する(ステップS811)。ステップS810でNOと判定した場合、またはステップS811の処理終了後、処理をステップS812に進め、指定された年・期/月のデータを保存しているデータテーブルを検索するための検索式データを作成し、作成した検索式データをサーバ装置101に送信することで、データベース検索要求を行う(ステップS813)。
【0075】
サーバ装置101は、クライアント装置102から送信された検索式データを受信すると(ステップS828)、当該検索式データに従ってデータベース検索を行い(ステップS829)、検索結果データを含む検索結果表示画面情報を生成し、該生成した画面情報をクライアント装置102に送信する(ステップS830)。
【0076】
クライアント装置102は、サーバ装置101から検索結果表示画面情報を受信すると(ステップS814)、不図示の検索結果表示画面をディスプレイ装置に表示する(ステップS815)。そして、上記の処理をステップS816の判定処理でNOと判定するまで行うことになる。以上が、サーバ装置101とクライアント装置102によって行われる検索処理である。
【0077】
以上説明したように、本発明によれば、一定期間の保存が必要なデータの保存処理に際し、時系列に発生するデータの保存領域を固定することで、新規のデータ登録を効率的に行える。
【0078】
また、性能が異なる複数のデータベースシステムでデータを管理する場合であっても、最新データを管理するデータベースシステムをより高速に登録や検索を行えるものにすればよく、システムの管理運営に係る費用を抑制することも可能となる。
【0079】
以上、本発明の実施形態について詳述したが、本発明は、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【0080】
なお、本発明は、前述した実施形態の機能を実現するプログラムを、システム或いは装置に直接或いは遠隔から供給し、そのシステム或いは装置が、供給されたプログラムコードを読み出して実行することによっても達成される。従って、本発明の機能処理をコンピュータで実現するために、コンピュータにインストールされるプログラムコード自体も本発明の技術的範囲に含まれる。
【0081】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等、プログラムの形態を問わない。
【0082】
プログラムを供給するための記録媒体としては、例えば、フロッピー(登録商標)ディスク、ハードディスク、光ディスク(CD、DVD)、光磁気ディスク、磁気テープ、不揮発性のメモリカード、ROMなどがある。
【0083】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。その他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【0084】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現される。
【符号の説明】
【0085】
101 サーバ装置
102−1〜102−3 クライアント装置
103 ネットワーク
201 CPU
202 RAM
203 ROM
204 システムバス
205 入力コントローラ
206 ビデオコントローラ
207 メモリコントローラ
208 通信I/F(インタフェース)コントローラ
209 入力装置
210 ディスプレイ装置
211 外部メモリ
【技術分野】
【0001】
本発明は、各種のデータを所定期間保存するためのデータベースに関し、特に、半年や1年といったまとまった期間単位で各種のデータを保存するための技術に関する。
【背景技術】
【0002】
企業等では、日々発生する販売データや購買データ等をデータベースに検索可能に保存しておくことが行われている。また、これらデータの中には一定期間の保存期限、保存しなければなれないデータもあり、次の問題が発生する。
【0003】
1.保存ディスク容量の増大
2.データが大量になることによる、検索のパフォーマンスの低下
【0004】
また、長期間にわたりデータを保持すると、検索の対象となるデータが増えてしまうことにより、更なる検索時のパフォーマンスの低下が発生してしまう。そこで特許文献1には、データを保存するためのボリュームを複数用意し、所定の期間データを蓄積した後に、他のボリュームに保存場所を切り替える技術が開示されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2005−332043号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
特許文献1に開示されている発明では、新規のデータを保存するボリュームが所定の期間が経過したら変わる。よって、それぞれのボリュームを管理するためのデータベースシステムが同様の性能を有していないと、新規のデータの登録や検索のパフォーマンスが一定にならないという問題がある。例えば、データの検索を行う際には、その対象とするデータは直近のデータであることが多く、過去にさかのぼって必要とするデータを検索する機会はあまり多いと言えない。であるので、直近のデータを登録するデータベースの性能が良ければ、検索のパフォーマンスは特に低下しない。
【0007】
また、最新データの登録のたびに、当該データを登録するデータテーブルを特定しなくてはならず、登録処理の効率性が低下してしまうという問題もある。
【0008】
そこで、本発明は、新規に発生するデータを登録する第1のデータテーブルと、過去の履歴データを記憶する複数の第2のデータベースとを備え、一定期間第1のデータベースにデータが記憶された後に第2のデータベースにデータを移行させることで、1つのデータベースに蓄積されるデータ容量を抑制可能な技術を提供することを目的とする。
【課題を解決するための手段】
【0009】
上記した目的を達成するために、本発明の情報処理装置は、最新のデータを蓄積管理する第1のデータテーブルと、過去のデータを蓄積管理する複数の第2のデータテーブルと、を備える情報処理装置であって、前記第2のデータテーブルに保存されているデータの登録時期情報を記憶する記憶手段と、クライアント装置からの新規データ登録要求に応じて、前記第1のデータテーブルに新規にデータを登録する登録手段と、一定の期間毎に、前記第1のデータテーブルに記憶されているデータを前記第2のデータテーブルの何れかに移動する移動手段と、前記移動手段により前記第1のデータテーブルに記憶されているデータが何れかの第のデータテーブルに移動された場合に、前記登録時期情報を更新する更新手段と、を備えることを特徴とする。
【0010】
上記した目的を達成するために、本発明の情報処理方法は、最新のデータを蓄積管理する第1のデータテーブルと、過去のデータを蓄積管理する複数の第2のデータテーブルと、を備える情報処理装置によって行われる情報処理方法であって、前記第2のデータテーブルに保存されているデータの登録時期情報を記憶装置に記憶する記憶工程と、クライアント装置からの新規データ登録要求に応じて、前記第1のデータテーブルに新規にデータを登録する登録工程と、一定の期間毎に、前記第1のデータテーブルに記憶されているデータを前記第2のデータテーブルの何れかに移動する移動工程と、前記移動工程により前記第1のデータテーブルに記憶されているデータが何れかの第のデータテーブルに移動された場合に、前記登録時期情報を更新する更新工程と、を備えることを特徴とする。
【0011】
上記した目的を達成するために、本発明のコンピュータプログラムは、最新のデータを蓄積管理する第1のデータテーブルと、過去のデータを蓄積管理する複数の第2のデータテーブルと、を備える情報処理装置を、前記第2のデータテーブルに保存されているデータの登録時期情報を記憶装置に記憶する記憶手段と、クライアント装置からの新規データ登録要求に応じて、前記第1のデータテーブルに新規にデータを登録する登録手段と、
一定の期間毎に、前記第1のデータテーブルに記憶されているデータを前記第2のデータテーブルの何れかに移動する移動手段と、前記移動手段により前記第1のデータテーブルに記憶されているデータが何れかの第のデータテーブルに移動された場合に、前記登録時期情報を更新する更新手段として機能させることを特徴とする。
【発明の効果】
【0012】
本発明によれば、新規に発生するデータを登録する第1のデータテーブルに蓄積されるデータが一定期間蓄積した後に、過去の履歴データを記憶する複数の第2のデータベースにデータを移行させることで、1つのデータベースに蓄積されるデータ容量を抑制することができる。
【図面の簡単な説明】
【0013】
【図1】本発明の情報処理システムのシステム構成の一例を示す図である。
【図2】図1のサーバ装置101に適用可能な情報処理装置のハードウェア構成の地位例を示す図である。
【図3】サーバ装置101によって行われるデータベースにおけるデータ管理の例を示す図である。
【図4】サーバ装置101によって行われるデータ格納先情報のメンテナンス処理の概要を示すフローチャートである。
【図5】図4のステップS401のデータ格納先情報管理テーブルの更新処理の詳細を示すフローチャートである。
【図6】図4のステップS402の保管期限超過データのアーカイブ/削除処理の詳細を示すフローチャートである。
【図7】図4のステップS403の最新格納データ移動処理の詳細を示すフローチャートである。
【図8】サーバ装置101とクライアント装置102によって行われるデータ検索処理の詳細を示すフローチャートである。
【図9】サーバ装置101の外部メモリ211に記憶されているデータ格納先情報管理テーブルのデータ構成を示す図である。
【図10】図4〜図7に示す処理を実行した際のデータ格納先情報管理テーブル900のデータ変更の一例を示す図である。
【図11】クライアント装置102のディスプレイ装置に表示される検索条件指定画面の構成の一例を示す図である。
【発明を実施するための形態】
【0014】
以下、図面を参照して、本発明の実施の形態の一例について説明する。図1は、本発明の情報処理システムのシステム構成の一例を示す図である。同図に示す通り、本発明の情報処理システムは、サーバ装置101、クライアント装置102−1乃至102−3(以後、まとめてクライアント装置102とする)、LAN(Local Area Network)等のネットワーク103を備えて構成されている。
【0015】
サーバ装置101は、各種のデータを管理するデータベースを備える情報処理装置であり、クライアント装置102からのデータの保存要求、削除要求等に応じてデータベースを更新する。また、所定の期日に達した場合に、最新データ保存テーブルに保存されたデータを履歴データ保存テーブルに移行する処理を行う。この処理については、図3を参照して後述する。
【0016】
クライアント装置102は、サーバ装置101に対するデータの保存要求や、データベース検索要求を行う際に使用される装置である。
【0017】
ネットワーク103は、上記の装置を相互に通信可能に接続するためのネットワークであり、その接続形態は有線/無線を問わない。以上が本発明の情報処理システムのシステム構成の一例である。
【0018】
次に、図2を参照して、図1のサーバ装置101に適用可能な情報処理装置のハードウェア構成の一例について説明する。
【0019】
図中、CPU201は、システムバス204に接続される後述の各デバイスやコントローラを統括的に制御する。また、ROM203あるいは外部メモリ211には、CPU201の制御プログラムであるBIOS(Basic Input / Output System)やオペレーティングシステムプログラム(以下、OS)や、サーバ装置101に後述する各種の処理を実行させるために必要な各種プログラムやデータ等が記憶されている。RAM202は、CPU201の主メモリ、ワークエリア等として機能する。
【0020】
CPU201は、処理の実行に際して必要なプログラム等をRAM202にロードして、プログラムを実行することで後述する各種処理を実現するものである。また、入力コントローラ(入力C)205は、キーボードやポインティングデバイス等で構成される入力装置209からの入力を制御する。ビデオコントローラ(VC)206は、ディスプレイ装置210等の表示装置への表示を制御する。ディスプレイ装置210は、例えばCRTディスプレイや液晶ディスプレイ等で構成される。
【0021】
メモリコントローラ(MC)207は、ブートプログラム、ブラウザソフトウエア、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、各種データ等を記憶するハードディスク(HD)やフロッピーディスク(登録商標 FD)或いはPCMCIAカードスロットにアダプタを介して接続されるコンパクトフラッシュメモリ等の外部メモリ211へのアクセスを制御する。
【0022】
通信I/Fコントローラ(通信I/FC)208は、ネットワークを介して、外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、TCP/IPを用いたインターネット通信等が可能である。
【0023】
なお、CPU201は、例えばRAM202内の表示情報用領域へアウトラインフォントの展開(ラスタライズ)処理を実行することにより、ディスプレイ装置210上での表示を可能としている。また、CPU201は、ディスプレイ装置210上の不図示のマウスカーソル等でのユーザ指示を可能とする。以上が、サーバ装置101に適用可能な情報処理装置のハードウェア構成の説明であるが、後述する各種の処理を実行可能であれば、必ずしも図2に記載のハードウェア構成を有していなくとも構わないことは言うまでもない。
【0024】
次に、図3を参照して、本発明のサーバ装置101によって行われるデータベースにおけるデータ管理の例について説明する。本発明で取り扱うデータとしては、主に販売データや、購入データ等、時々刻々と発生するデータである。
【0025】
サーバ装置101は、クライアント装置102からの新規データ登録要求を受け付けると、最新データ保存テーブル300に新規にデータを保存する。同様に、データの更新要求や削除要求を受け付けた場合にも、要求された処理を行うことになる。
【0026】
この時、クライアント装置102からの要求に応じて新規に追加されるデータは、最新データ保存テーブル300中に設けられている各種データのデータテーブル(301〜303)に保存されることになる。
【0027】
また、最新データ保存テーブルにデータを保存する期間はあらかじめ設定されており(例えば、1カ月、四半期、半期、1年等)、当該設定されている期間、データを蓄積すると、最新データ保存テーブル300に保存されたデータを、履歴データ保存領域中310のいずれかの履歴データ保存テーブルに移動する処理を行う。
【0028】
その際に、サーバ装置101のCPU201は、履歴データ保存領域310中の履歴データ保存テーブルにまだ、履歴データを保存していない履歴データ保存テーブルがあれば、その履歴データ保存テーブルに最新データ保存テーブル300に登録されたデータを移動する。
【0029】
一方、全ての履歴データ保存テーブルに履歴データが保存されている場合には、もっとも過去のデータを保存している履歴データ保存テーブルに最新データ保存テーブル300に登録されたデータを移動することになる。
【0030】
尚、最新データ保存テーブルを管理するデータベースシステムと、履歴データ保存テーブルを管理するデータベースシステムは異なるものでも良い。その場合には、新規データの登録やデータの検索をより高速に行えるデータベースシステムで最新データ保存テーブルを管理することになる。
【0031】
次に、図4を参照して、サーバ装置101のCPU201によって行われるデータ格納先情報のメンテナンス処理の概要について説明する。本図に示す処理をCPU201に実行させるためのプログラムは、外部メモリ211等に記憶されており、CPU201は本処理を実行する際に当該プログラムをRAM202にロードし、ロードしたプログラムによる制御に従って本処理を行うことになる。
【0032】
CPU201は、最新データ保存テーブル300に保存されているデータを履歴データ保存領域に移動するにあたり、まず、データ格納先情報管理テーブルの更新処理を行う(ステップS401)。この処理の詳細については、図5を参照して後述することにする。
【0033】
そして、データ格納先情報管理テーブルの更新処理終了後、保管期限超過データのアーカイブ/削除処理を行う(ステップS402)。この処理の詳細については、図6を参照して後述することにする。保管期限超過データのアーカイブ/削除処理が終了後、保管期限超過データが削除されることにより、空きとなった履歴データ保存テーブルに最新データ保存テーブル300に登録されたデータを移動させる最新格納データの移動処理を行う(ステップS403)。この処理の詳細については、図7を参照して後述することにする。以上が、サーバ装置101によって行われるデータ格納先情報のメンテナンス処理の概要である。
【0034】
次に、図5を参照して、図4のステップS401のデータ格納先情報管理テーブル更新処理の詳細について説明する。
【0035】
まず、CPU201は、データ格納先情報管理テーブルより、最新データの格納先情報を取得する(ステップS501)。
【0036】
ここで、図9を参照して、データ格納先情報管理テーブルのデータ構成について説明する。図9に示す通り、データ格納先情報管理テーブル900には、データ項目として、データ識別番号(PK)901、管理番号902、格納先種別903、年904、期/月905、データ格納先906(データA格納先906−1〜データN格納先906−n)を備えている。
【0037】
データ識別番号(PK)901は、データ保存領域を一意に識別するためのID情報である。管理番号902は、最新データ保存テーブル300に保存されているデータの移動先となる履歴データ保存テーブルのローテーション管理を行うために用いられる情報である。
【0038】
格納先種別903は、当該データ保存テーブルが最新データ保存テーブル300であるか、それとも履歴データ保存テーブルであるかを識別するための情報が登録される。最新データ保存テーブル300である場合には、このデータ項目に1が設定される。履歴データ保存テーブルである場合には、このデータ項目に0が設定される。また、最新データ保存テーブルのデータを履歴データ保存テーブルに移動させる際に、移動先として設定された履歴データ保存テーブルの格納先種別は2と設定される。また、未使用の履歴データ保存テーブルの場合には、3が設定される。格納先種別903に設定する情報はこれに限られず、最新データ保存テーブル、履歴データ保存テーブル、最新データ保存テーブルのデータ移動先の履歴データ保存テーブル、未使用の履歴データ保存テーブルを識別できれば、他のデータを設定しても勿論構わない。
【0039】
年904は、月/期905は、後述する各データ格納先906に登録されているデータが登録された時期を示すデータであり、年904には年情報が、月/期905には予め設定された月/期等を示す情報(月、四半期、半期)を示す情報が登録される。例えば、データの登録期間が四半期の場合には、2010年第1四半期に登録されたデータを格納するデータ格納先を管理するためのレコードの年904には2010が、月/期905には1が登録される。同様に2010年第2四半期の場合には2010、2がそれぞれ登録される。
【0040】
データ格納先906には、各種のデータ(例えば、販売データ、購入データ等)を登録しているデータテーブルを特定するための情報が登録される。以上がデータ格納先情報管理テーブルのデータ構成の説明である。
【0041】
図5の説明に戻る。ステップS501で格納先種別903に1が設定されている最新データの格納先を示すレコードをデータ格納先情報管理テーブル900から取得した後、未使用の格納先(履歴データ保存テーブル)があるか(即ち、格納先種別903のレコードがデータ格納先情報管理テーブル900に存在するか)を判定する(ステップS502)。
【0042】
ステップS502の判定処理で未使用の格納先(履歴データ保存テーブル)がない(NO)と判定した場合には、処理をステップS503に進め、データ格納先情報管理テーブル900中の各レコード(格納先種別903が1(即ち最新データ保存テーブル)以外)の管理番号を1インクリメントする。そして、管理番号が最大であるレコードを特定し(ステップS504)、この特定されたレコードの管理番号を1に設定する(ステップS505)。
【0043】
その後、管理番号を1に設定したデータ格納先情報管理テーブル900中のレコードの格納先種別903を、最新データ保存テーブルに登録されたデータの移動先を示す2に設定する(ステップS506)。
【0044】
ステップS502の判定処理で、未使用の格納先(履歴データ保存テーブル)がある(YES)と判定した場合には、処理をステップS507に進め、データ格納先情報管理テーブル900中の未使用の格納先を示すレコード(即ち格納先種別903が3のレコード)のうち、管理番号が最大のレコードを特定し(ステップS507)、特定されたレコードの格納先種別903を、最新データ保存テーブルに登録されたデータの移動先を示す2に設定する(ステップS508)。
【0045】
ステップS506またはステップS508の処理終了後、ステップS509に処理を進め、データ格納先情報テーブル900中の最新データ保存テーブルを管理するレコード(即ち格納先種別903が1のレコード)から時期情報(年904、月/期905)を取得する。そして、ステップS509で設定した時期情報を、格納先種別が2であるレコードの時期情報に設定する(ステップS510)。その後、最新データ保存テーブルを管理するレコードの時期情報を次の時期を示す情報に変更する(ステップS511)。つまり、四半期毎のデータ蓄積であり、2010年第3四半期であった場合には、2010年第4四半期を示す情報に、2010年第4四半期であった場合には、2011年第1四半期を示す情報に変更することになる。以上が、図4のステップS401のデータ格納先情報管理テーブル更新処理の詳細な説明である。
【0046】
次に、図6を参照して、図4のステップS402の保管期限超過データのアーカイブ/削除処理の詳細について説明する。
【0047】
まず、CPU201は、データ格納先情報管理テーブル900中の格納先種別903が2であるレコード、つまりは、最新データ保存テーブルに保存されているデータの移動対象となる履歴データ保存テーブルを管理するレコードを取得する(ステップS601)。そして、その管理番号が1であるかを判定する(ステップS602)。ここで、管理番号が1である場合には、既に当該レコードが管理する履歴データ保存テーブルに過去の履歴データが登録されていることを示している。
【0048】
管理番号が1であると判定した場合には(ステップS602でYES)、処理をステップS603に進め、アーカイブ対象となる各データ保存先のデータテーブル名を取得する。この情報は、データ格納先情報管理テーブル900のデータ格納先906に登録されている。そして、ステップS603で取得したデータテーブル名で特定されるデータテーブルに登録されているデータのアーカイブ処理を実施する(ステップS604)。そして、アーカイブしたデータを、外部メモリ211に保存する(ステップS605)。
【0049】
そして、アーカイブ処理を行ったデータの保存が終了後、アーカイブ対象のデータ保管先(履歴データ保存テーブル)のデータを削除する。このアーカイブ処理、削除処理は、ステップS601で取得したレコードのデータ格納先906に登録されている全てのデータ格納先に対して行われることになる。以上が、図4のステップS402の保管期限超過データのアーカイブ/削除処理の説明である。
【0050】
次に、図7を参照して、図4のステップS403の最新格納データ移動処理の詳細について説明する。
【0051】
まず、サーバ装置101のCPU201は、データ格納先情報管理テーブル900から格納先種別が1であるレコードを取得する(ステップS701)。つまり、このステップでは、最新データ保存テーブルを管理するためのレコードを取得することになる。そして、当該レコードのデータ格納先906に登録されている全てのデータテーブル名を取得する(ステップS702)。
【0052】
次に、サーバ装置101のCPU201は、データ格納先情報管理テーブル900から格納先種別が2であるレコードを取得する(ステップS703)。つまり、このステップでは、最新データ保存テーブルに登録されているデータの移動先となる履歴データ登録テーブルを管理するためのレコードを取得することになる。そして、当該レコードのデータ格納先906に登録されている全てのデータテーブル名を取得する(ステップS704)。
【0053】
その後、ステップS702で取得したデータテーブル名で特定されるデータテーブルに登録されているデータをステップS704で取得したデータテーブル名で特定されるデータテーブルに複製登録する(ステップS705)。その後、ステップS702で取得したデータテーブル名で特定されるデータテーブル(つまりは、最新データ保存テーブル)に登録されているデータを削除する(ステップS706)。その後、最新データ保存テーブルに登録されていたデータを複製した履歴データ保存テーブルを示すレコード(つまりは格納先種別が2であるレコード)の格納先種別を0に設定する(ステップS707)。以上が、図4のステップS403の最新格納データ移動処理の詳細な説明である。
【0054】
本発明では、上記のように、最新のデータを登録するためのデータテーブルを固定し、複数のデータテーブルに履歴データを登録するようにしている。最新データ保存テーブルから履歴データ保存テーブルにデータを移動する際に、もっとも過去の履歴データを保存している履歴データ保存テーブルにデータを移動するようにしている。
【0055】
図10は、図4〜図7に示す処理を実行した際のデータ格納先情報管理テーブル900のデータ変更の一例を示す図である。図10の(1)は、最新データ保存テーブルのデータを何れかの履歴データ保存テーブルに移動させる前の状態を示している。
【0056】
図10の(1)に示す通り、全ての履歴データ保存テーブルには既に過去のデータが記憶されている。これは、格納先種別903が3のデータがないことから理解できよう。
【0057】
なので、サーバ装置101は、最新データ保存テーブルに登録されているデータの移動先として、PKが02のレコードが示す履歴データ保存テーブルを設定することになる(図5のステップS502からステップS506の処理)。その際に、図10の(2)に示すように、全てのレコードの管理番号に1加えるとともに、移動先として特定された履歴データ保存テーブルを示すレコードの管理番号を1に設定するとともに、その格納先種別を2に設定する。
【0058】
その後、最新データ保存テーブルを示すレコードの年904、期/月905を管理番号1のレコードに登録し(図5のステップS510)、当該レコードが示す履歴データ保存テーブルの情報をアーカイブ等し(図6の処理)その後各テーブルの情報を複製することになる(図7のステップS705)。そして、複製処理終了後に最新データ保存テーブルの情報を削除し(図7のステップS706)、その後、最新データが複製された履歴データ保存テーブルを示すレコードの格納先種別を0にする(図7のステップS707)。これらの処理によって、図10の(1)の状態から(2)の状態にデータが変更される。
【0059】
このようなデータ構造を有しているため、最新データ保存テーブルにデータを保存する際には、特に最新データを保存するためのデータテーブルがどれであるかを意識する必要はないが、過去の履歴データを検索する際、特に、「前期」、「前年同期」等といった期間の指定をする際には、その期のデータがどのデータテーブルに保存されているかは、検索を行う期によって変わってしまう。そこで、本発明では次のような形での検索処理を行うことになる。
【0060】
図8は、サーバ装置101とクライアント装置102によって行われるデータ検索処理の詳細を示すフローチャートである。尚、図中のステップS801からS816の処理はクライアント装置102によって、ステップS821からS830の処理はサーバ装置101によって行われる処理である。
【0061】
まず、クライアント装置102のCPU201は、サーバ装置101に対して、検索画面要求を送信する(ステップS801)。クライアント装置102からの検索画面要求を受け付けると(ステップS821)、サーバ装置101のCPU201は、不図示のデータテーブル種別情報を取得し(ステップS822)、該データテーブル種別情報を含む検索画面情報を、検索画面要求を行ったクライアント装置102に送信する(ステップS823)。ここで、データテーブル種別情報とは、各データテーブルで保存管理しているデータ種別(例えば、販売データ、購入データ)である。
【0062】
クライアント装置102のCPU201は、サーバ装置101からデータテーブル種別を含む検索画面情報を受信すると、クライアント装置102で実行中のブラウザアプリケーション等の機能により、当該検索画面情報に基づき、ディスプレイ装置に検索画面を表示する(ステップS803)。
【0063】
ここで、図11を参照して、クライアント装置102のディスプレイ装置に表示される検索画面の構成の一例について説明する。
【0064】
図11に示すように、検索画面1100には、検索対象データテーブル指定部1101、年・期/月指定部1102、検索条件指定部1103、検索ボタン1104、及びキャンセルボタン1105が設定されている。
【0065】
検索対象データテーブル指定部1101は、サーバ装置101で管理しているデータテーブルのうち、何れのデータテーブルに対しての検索を行うかを指定する指定欄である。
【0066】
年・期/月指定部1102は、検索対象データテーブルとして指定されたデータ手エーブルのうち、どの時期のデータテーブルの検索を行うかを指定する指定部であって、「前期」、「前年同期」のような相対的な指定を行うことや(以後、相対指定という)、2010年1期というよう指定を行うこと(以後、絶対指定という)が可能である。
【0067】
検索条件指定部1103は、検索対象となるデータテーブルに保存されているデータを検索する際の検索条件を指定する指定部である。尚、検索条件指定部中のデータ項目には、検索対象データテーブル指定部1101で指定されたデータテーブルが有するデータ項目が選択可能に設定される。
【0068】
また、合致条件には、データ項目で指定されたデータ項目のデータタイプが数値データの場合には、「以上」、「以下」、「未満」、「と等しい」等の合致条件が、文字列データの場合には、「で始まる」、「を含む」、「を含まない」等の合致条件が選択可能に設定されることになる。
【0069】
検索ボタン1104は、サーバ装置101に検索要求を行うための用いられるボタンである。キャンセルボタン1105は、検索要求を行わず本画面の表示を終了するために用いられるボタンである。以上が、検索画面1100の構成の一例の説明である。
【0070】
図8の説明に戻る。ステップS803で検索画面1100を表示した後に、検索対象データテーブルの指定変更指示を受け付けた場合には(ステップS804でYES)、処理をステップS805に進め、指定されたデータテーブルの種別情報をサーバ装置101に対して送信する。
【0071】
サーバ装置101は、クライアント装置102からデータテーブル種別情報を受信すると(ステップS824)、当該データテーブルのデータ項目を取得する(ステップS825)。この時データ項目だけではなく、当該データ項目のデータタイプ(数値、文字列)等のデータも取得することになる。そして、当該データテーブルを検索する際に設定可能な相対指定と年、期/月の対応関係を示す対応データを作成する(ステップS826)。
【0072】
そして、ステップS825で取得したデータ項目情報及びS826で作成した対応テーブル情報を含む検索画面情報をクライアント装置102に送信する(ステップS827)。データ項目情報は図11の検索条件指定部1103のデータ項目や合致条件で設定可能なデータとして追加されることになる。
【0073】
サーバ装置101からステップS827の処理で送信された検索画面情報を受信すると(ステップS806)、クライアント装置102は、該検索画面情報に従った検索画面1100をディスプレイ装置210に表示する(ステップS807)。そして、検索画面1100を介して検索条件の入力を受け付けることになる(ステップS808)。
【0074】
その後、検索画面1100中の検索ボタン1104に対する押下指示による検索指示を受け付けると(ステップS809でYES)、検索画面1100の年・期/月指定部1102で受け付けた指定が相対指定であるかを判断する(ステップS810)。相対指定であると判定した場合には(ステップS810でYES)、画面情報に含まれる対応テーブルを基にして、相対指定された期の年・期/月を特定する(ステップS811)。ステップS810でNOと判定した場合、またはステップS811の処理終了後、処理をステップS812に進め、指定された年・期/月のデータを保存しているデータテーブルを検索するための検索式データを作成し、作成した検索式データをサーバ装置101に送信することで、データベース検索要求を行う(ステップS813)。
【0075】
サーバ装置101は、クライアント装置102から送信された検索式データを受信すると(ステップS828)、当該検索式データに従ってデータベース検索を行い(ステップS829)、検索結果データを含む検索結果表示画面情報を生成し、該生成した画面情報をクライアント装置102に送信する(ステップS830)。
【0076】
クライアント装置102は、サーバ装置101から検索結果表示画面情報を受信すると(ステップS814)、不図示の検索結果表示画面をディスプレイ装置に表示する(ステップS815)。そして、上記の処理をステップS816の判定処理でNOと判定するまで行うことになる。以上が、サーバ装置101とクライアント装置102によって行われる検索処理である。
【0077】
以上説明したように、本発明によれば、一定期間の保存が必要なデータの保存処理に際し、時系列に発生するデータの保存領域を固定することで、新規のデータ登録を効率的に行える。
【0078】
また、性能が異なる複数のデータベースシステムでデータを管理する場合であっても、最新データを管理するデータベースシステムをより高速に登録や検索を行えるものにすればよく、システムの管理運営に係る費用を抑制することも可能となる。
【0079】
以上、本発明の実施形態について詳述したが、本発明は、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【0080】
なお、本発明は、前述した実施形態の機能を実現するプログラムを、システム或いは装置に直接或いは遠隔から供給し、そのシステム或いは装置が、供給されたプログラムコードを読み出して実行することによっても達成される。従って、本発明の機能処理をコンピュータで実現するために、コンピュータにインストールされるプログラムコード自体も本発明の技術的範囲に含まれる。
【0081】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等、プログラムの形態を問わない。
【0082】
プログラムを供給するための記録媒体としては、例えば、フロッピー(登録商標)ディスク、ハードディスク、光ディスク(CD、DVD)、光磁気ディスク、磁気テープ、不揮発性のメモリカード、ROMなどがある。
【0083】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。その他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【0084】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現される。
【符号の説明】
【0085】
101 サーバ装置
102−1〜102−3 クライアント装置
103 ネットワーク
201 CPU
202 RAM
203 ROM
204 システムバス
205 入力コントローラ
206 ビデオコントローラ
207 メモリコントローラ
208 通信I/F(インタフェース)コントローラ
209 入力装置
210 ディスプレイ装置
211 外部メモリ
【特許請求の範囲】
【請求項1】
最新のデータを蓄積管理する第1のデータテーブルと、過去のデータを蓄積管理する複数の第2のデータテーブルと、を備える情報処理装置であって、
前記第2のデータテーブルに保存されているデータの登録時期情報を記憶する記憶手段と、
クライアント装置からの新規データ登録要求に応じて、前記第1のデータテーブルに新規にデータを登録する登録手段と、
一定の期間毎に、前記第1のデータテーブルに記憶されているデータを前記第2のデータテーブルの何れかに移動する移動手段と、
前記移動手段により前記第1のデータテーブルに記憶されているデータが何れかの第のデータテーブルに移動された場合に、前記登録時期情報を更新する更新手段と、
を備えることを特徴とする情報処理装置。
【請求項2】
前記移動手段は、前記第2のデータテーブルのいずれかにデータが記憶されていないデータテーブルがある場合には当該第2のデータテーブルに前記第1のデータテーブルに記憶されているデータを移動し、全ての第2のデータテーブルにデータが記憶されている場合には、前記登録時期情報に従い、もっとも古いデータが記憶されている第2のデータテーブルに第1のデータテーブルに記憶されているデータを移動すること
を特徴とする請求項1に記載の情報処理装置。
【請求項3】
クライアント装置から前記第2のデータテーブルに記憶されているデータの検索要求を受け付ける受付手段と、
前記検索要求を受け付けたデータが何れの第2のデータテーブルに記憶されているかを特定する特定手段と、
前記特定手段で特定されたデータテーブルに記憶されているデータの検索を行う検索手段と
を更に備え、
前記データの登録時期を相対時期で指定された場合に、特定手段は、前記登録時期情報に従って、当該データが何れの第2のデータテーブルに記憶されているかを特定する
ることを特徴とする請求項1または2に記載の情報処理装置。
【請求項4】
前記第1のデータテーブルのデータの移動先である第2のデータテーブルに記憶されているデータのアーカイブ処理を行うアーカイブ手段
を更に備えることを特徴とする請求項1乃至3のいずれか1項に記載の情報処理装置。
【請求項5】
最新のデータを蓄積管理する第1のデータテーブルと、過去のデータを蓄積管理する複数の第2のデータテーブルと、を備える情報処理装置によって行われる情報処理方法であって、
前記第2のデータテーブルに保存されているデータの登録時期情報を記憶装置に記憶する記憶工程と、
クライアント装置からの新規データ登録要求に応じて、前記第1のデータテーブルに新規にデータを登録する登録工程と、
一定の期間毎に、前記第1のデータテーブルに記憶されているデータを前記第2のデータテーブルの何れかに移動する移動工程と、
前記移動工程により前記第1のデータテーブルに記憶されているデータが何れかの第のデータテーブルに移動された場合に、前記登録時期情報を更新する更新工程と、
を備えることを特徴とする情報処理方法。
【請求項6】
最新のデータを蓄積管理する第1のデータテーブルと、過去のデータを蓄積管理する複数の第2のデータテーブルと、を備える情報処理装置を、
前記第2のデータテーブルに保存されているデータの登録時期情報を記憶装置に記憶する記憶手段と、
クライアント装置からの新規データ登録要求に応じて、前記第1のデータテーブルに新規にデータを登録する登録手段と、
一定の期間毎に、前記第1のデータテーブルに記憶されているデータを前記第2のデータテーブルの何れかに移動する移動手段と、
前記移動手段により前記第1のデータテーブルに記憶されているデータが何れかの第のデータテーブルに移動された場合に、前記登録時期情報を更新する更新手段
として機能させることを特徴とするコンピュータプログラム。
【請求項1】
最新のデータを蓄積管理する第1のデータテーブルと、過去のデータを蓄積管理する複数の第2のデータテーブルと、を備える情報処理装置であって、
前記第2のデータテーブルに保存されているデータの登録時期情報を記憶する記憶手段と、
クライアント装置からの新規データ登録要求に応じて、前記第1のデータテーブルに新規にデータを登録する登録手段と、
一定の期間毎に、前記第1のデータテーブルに記憶されているデータを前記第2のデータテーブルの何れかに移動する移動手段と、
前記移動手段により前記第1のデータテーブルに記憶されているデータが何れかの第のデータテーブルに移動された場合に、前記登録時期情報を更新する更新手段と、
を備えることを特徴とする情報処理装置。
【請求項2】
前記移動手段は、前記第2のデータテーブルのいずれかにデータが記憶されていないデータテーブルがある場合には当該第2のデータテーブルに前記第1のデータテーブルに記憶されているデータを移動し、全ての第2のデータテーブルにデータが記憶されている場合には、前記登録時期情報に従い、もっとも古いデータが記憶されている第2のデータテーブルに第1のデータテーブルに記憶されているデータを移動すること
を特徴とする請求項1に記載の情報処理装置。
【請求項3】
クライアント装置から前記第2のデータテーブルに記憶されているデータの検索要求を受け付ける受付手段と、
前記検索要求を受け付けたデータが何れの第2のデータテーブルに記憶されているかを特定する特定手段と、
前記特定手段で特定されたデータテーブルに記憶されているデータの検索を行う検索手段と
を更に備え、
前記データの登録時期を相対時期で指定された場合に、特定手段は、前記登録時期情報に従って、当該データが何れの第2のデータテーブルに記憶されているかを特定する
ることを特徴とする請求項1または2に記載の情報処理装置。
【請求項4】
前記第1のデータテーブルのデータの移動先である第2のデータテーブルに記憶されているデータのアーカイブ処理を行うアーカイブ手段
を更に備えることを特徴とする請求項1乃至3のいずれか1項に記載の情報処理装置。
【請求項5】
最新のデータを蓄積管理する第1のデータテーブルと、過去のデータを蓄積管理する複数の第2のデータテーブルと、を備える情報処理装置によって行われる情報処理方法であって、
前記第2のデータテーブルに保存されているデータの登録時期情報を記憶装置に記憶する記憶工程と、
クライアント装置からの新規データ登録要求に応じて、前記第1のデータテーブルに新規にデータを登録する登録工程と、
一定の期間毎に、前記第1のデータテーブルに記憶されているデータを前記第2のデータテーブルの何れかに移動する移動工程と、
前記移動工程により前記第1のデータテーブルに記憶されているデータが何れかの第のデータテーブルに移動された場合に、前記登録時期情報を更新する更新工程と、
を備えることを特徴とする情報処理方法。
【請求項6】
最新のデータを蓄積管理する第1のデータテーブルと、過去のデータを蓄積管理する複数の第2のデータテーブルと、を備える情報処理装置を、
前記第2のデータテーブルに保存されているデータの登録時期情報を記憶装置に記憶する記憶手段と、
クライアント装置からの新規データ登録要求に応じて、前記第1のデータテーブルに新規にデータを登録する登録手段と、
一定の期間毎に、前記第1のデータテーブルに記憶されているデータを前記第2のデータテーブルの何れかに移動する移動手段と、
前記移動手段により前記第1のデータテーブルに記憶されているデータが何れかの第のデータテーブルに移動された場合に、前記登録時期情報を更新する更新手段
として機能させることを特徴とするコンピュータプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【公開番号】特開2012−138031(P2012−138031A)
【公開日】平成24年7月19日(2012.7.19)
【国際特許分類】
【出願番号】特願2010−291400(P2010−291400)
【出願日】平成22年12月28日(2010.12.28)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.コンパクトフラッシュ
【出願人】(390002761)キヤノンマーケティングジャパン株式会社 (656)
【Fターム(参考)】
【公開日】平成24年7月19日(2012.7.19)
【国際特許分類】
【出願日】平成22年12月28日(2010.12.28)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.コンパクトフラッシュ
【出願人】(390002761)キヤノンマーケティングジャパン株式会社 (656)
【Fターム(参考)】
[ Back to top ]