(57)【要約】【課題】システムに大きな負荷を与えることなく、効率よく入退データの収集、集計等ができる入退履歴記録管理装置を提供することにある。【解決手段】この発明は、データベースの入退履歴データをテキスト文字列に変換して、変換されたテキスト文字列（あるいはテキスト文字列に対応するバイナリーデータ列）の入退履歴のデータに対応する管理時間をファイル名としたテキストファイルを生成してそれを運用上の全期間に亙り記憶する。外部から要求された入退履歴の期間が第１および第２のデータベースのデータ記憶期間に一致していおらず、かつ含まれていない場合には、第２のデータベースに不足している期間分のデータをテキストデータから変換して第２のデータベースに補うようにしているので、第２のデータベースのデータは、当面の参照に必要な期間のデータを記憶すれば済み、データベースの肥大化を防ぐことができる。【選択図】　図１
2004145787.tif 000002
【特許請求の範囲】
【請求項１】
管理されている家屋、室内等の構造物への人の出入り時間を入退履歴として、出入りする人に対応して記録し、外部から要求された期間の入退履歴のデータを前記外部へ送出する入退履歴記録管理装置において、
文字列で記録されていないデータベースに記録されている入退履歴をテキスト文字列あるいはテキスト文字列に対応するバイナリーデータ列に変換して変換された文字列データを、変換された前記入退履歴に対応する管理時間をファイル名としたファイルとして所定の領域に記憶する第１のデータ変換手段と、
現在からこれ以前の所定の短期間の過去の前記入退履歴のデータが記録されている第１のデータベースと、
少なくともこの第１のデータベースに記録されていない期間の過去の前記入退履歴のデータが記録されている第２のデータベースと、
前記所定の領域に記憶されたファイルの入退履歴のデータを前記第２のデータベースの入退履歴のデータに変換して前記第２のデータベースに記憶する第２のデータ変換手段と、
前記外部から要求された入退履歴の期間のすべてが前記第１および第２のデータベースのデータ記憶期間に一致していおらず、かつ含まれていない場合にデータ記憶期間として不足している期間分の入退履歴のデータを前記第２のデータ変換手段により前記ファイルの入退履歴のデータから変換して前記第２のデータベースに補い、この第２のデータベースの入退履歴のデータを前記外部に対しての参照対象とするデータ管理手段とを備え、
前記所定の領域には前記第１のデータベースより長い運用上の全期間に亙る前記ファイルが実質的に記憶される入退履歴記録管理装置。
【請求項２】
管理されている家屋、室内等の構造物への人の出入り時間を入退履歴として、出入りする人に対応して記録し、外部から要求された期間の入退履歴のデータを前記外部へ送出する入退履歴記録管理装置において、
文字列で記録されていないデータベースに記録されている入退履歴をテキスト文字列に変換して変換されたテキスト文字列を、変換された前記入退履歴に対応する管理時間をファイル名としたテキスト形式のファイルとして所定の領域に記憶する第１のデータ変換手段と、
現在からこれ以前の所定の短期間の過去の前記入退履歴のデータが記録されている第１のデータベースと、
少なくともこの第１のデータベースに記録されていない期間の過去の前記入退履歴のデータが記録されている第２のデータベースと、
前記所定の領域に記憶されたテキスト形式のファイルの入退履歴のデータを前記第２のデータベースの入退履歴のデータに変換して前記第２のデータベースに記憶する第２のデータ変換手段と、
前記外部から要求された入退履歴の期間のすべてが前記第１および第２のデータベースのデータ記憶期間に一致していおらず、かつ含まれていない場合にデータ記憶期間として不足している期間分の入退履歴のデータを前記第２のデータ変換手段により前記テキスト形式のファイルの入退履歴のデータから変換して前記第２のデータベースに補い、この第２のデータベースの入退履歴のデータを前記外部に対しての参照対象とするデータ管理手段とを備え、
前記所定の領域には前記第１のデータベースより長い運用上の全期間に亙る前記テキスト形式のファイルが実質的に記憶される入退履歴記録管理装置。
【請求項３】
前記データ管理手段は、前記外部から要求された前記入退履歴の期間と前記第１および第２のデータベースのいずれかのデータ記憶期間とが一致しているか、および含まれているかを判定する判定手段を有し、前記外部から要求された前記入退履歴の期間が前記第１のデータベースのデータ記憶期間に一致しあるいは含まれているときには、前記第１のデータベースの入退履歴のデータを前記外部の参照対象とし、前記外部から要求された前記入退履歴の期間が前記第２のデータベースのデータ記憶期間に一致しあるいは含まれているときには、前記第２のデータベースの入退履歴のデータを前記外部の参照対象とする請求項２記載の入退履歴記録管理装置。
【請求項４】
前記第２のデータベースは、過去参照された入退履歴のデータを記憶するデータベースである請求項３記載の入退履歴記録管理装置。
【請求項５】
前記第２のデータベースは、前記第１のデータベースよりも長くかつ前記運用上の全期間よりも短い期間に亙って入退履歴のデータを記憶するデータベースである請求項３記載の入退履歴記録管理装置。
【請求項６】
前記管理時間は日付であり、前記テキスト形式のファイルには日付ごとに管理された前記入退履歴が記録され、さらに、前記第１のデータベースと前記第２のデータベースの入退履歴のデータおよび前記テキスト形式のファイルとにそれぞれ所定のデータ保持期間を割り当て、この割り当てられた前記所定の保持期間を越えたものを定期的に削除するデータ削除手段を有する請求項３あるいは請求項５記載の入退履歴記録管理装置。
【請求項７】
前記第２のデータベースの入退履歴のデータは、前記外部から要求された入退履歴のデータの日付を参照日として有していて、前記所定のデータ保持期間は、この参照日を基準として設定される請求項６記載の入退履歴記録管理装置。
【請求項８】
外部は端末装置であり、前記データ管理手段は、前記端末装置から要求された前記入退履歴の期間に応じて前記第１および第２のデータベースのいずれかを選択する信号を前記端末装置に送出し、前記第１および第２のデータベースが入退履歴の集計のために前記端末装置からアクセスされる請求項２記載の入退履歴記録管理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、管理されている構造物への利用者の出入り、いわゆる入室および退室を記録し、外部からの要求に応じて記憶されている入退歴のデータを送出する入退管理システムにおいて、システムに大きな負荷を与えることなく、効率よく入退データの収集、集計等ができるような入退履歴記録管理装置に関する。
【０００２】
【従来の技術】
従来、研究室、工場、倉庫、管理下にあるビル，建物、スポーツクラブ等の施設等の構造物への利用者の出入り、特に、部外者の出入が禁止されている場所への出入りは、利用者が所有する磁気カードあるいはＩＣカード等によりその出入りがチェックされ、その利用者について入退時間が管理されている。このような利用者の入退時間は、利用者、管理者等が必要に応じてある期間の入退履歴を収集し、あるいは利用時間の集計をする。特に、工場や研究所などでは、従業員等の労働時間などの集計がこれにより行われて、その積算値（実働時間）が算出される。また、利用施設等にあっては、収集したデータに応じて各種のデータ作成やデータ分析が行われる。
通常、この種の入退履歴は、入退者の識別コード（あるいは氏名）と入退日時と入退場所等が日々のデータとして記録され、そのデータは、あらかじめ決められたデータベースにおいて、一定の運用期間の間、保管される。
【０００３】
入退管理システムは、従来、ゲート管理システムの１つとして、ＩＣカードや各種カードでゲートあるいはドアを開閉制御して入門、入室の管理を行う。この種のシステムでは、入門、入室の際にドア等に設置されているカードリーダ、玄関や門等に設置されているカードリーダ等を内蔵する入門装置等のゲート装置（以下この種のカードリーダを含めてゲート装置で説明）でカード照合して入門、入室が許可され、その時間が取得され、退社、退室時間もカード照合して管理する。中には、退社、退室は自由なシステムもある。
ゲート装置から受けたデータは、入退管理サーバ（通行管理サーバ等の管理サーバを含む）に転送され、そこで、発生した入退室記録を、一つの入退履歴データベースとして管理しているが、一つの入退履歴データベースで管理する場合には、運用期間が長期化すると入退履歴数が増加する。そのため、所定の利用者についての情報収集、情報集計等に多くの処理時間を要する問題がある。
【０００４】
図１１は、そのような従来の入退管理システムにおける入退管理システムの概要図である。
従来システムでは、入退管理システム１の入退管理サーバ５０は、ＭＰＵとメモリ、インタフェース、外部記憶装置（ＨＤＤ）等で構成され、外部記憶装置に記憶された入退履歴データベース５１と過去履歴データベース５２、および履歴管理部５３で構成される。
ここで、履歴管理部５３は、タスク処理でＭＰＵがメモリに記憶された所定の履歴管理プログラムを実行することで処理プロセスとして実現され、ゲート装置２からの入退データを回線４を通して利用者の入退データを受信して、管理する。
なお、ゲート装置２は多数接続されているが、図では、そのうちの１つを示している。
３は、端末装置であり、これには、例えば、集計プログラム３０が搭載され、このプログラム３０の実行により、入退管理サーバ５０に接続して、利用者により入力された集計期間に基づき、データベースをアクセスし、得られた情報から所定の集計処理を実施し、その結果を端末装置３のディスプレイ等に出力して表示する。あるいはプリンタ等に結果を印刷する。
【０００５】
入退管理システムで発生した入退データは、ゲート装置２から入退管理サーバ５０に送られて、入退履歴データベース５１に入退データとして格納される。履歴管理部５３は、一定期間以前の入退履歴を入退履歴データベース５１から過去履歴データベース５２に移動する。履歴管理部５３は、過去履歴データベース５２を一定期間毎に新規作成し、複数の過去履歴データベース５２で過去に発生した入退履歴を管理することで、過去履歴データベース５２の肥大化を防いでいる。そして、端末装置３は、集計期間に応じて接続先のデータベースを入退履歴データベース５１か、過去履歴データベース５２のいずれかに変更する。
これにより、入退履歴データベース内の入退履歴数を減らすことができ、最近の入退履歴を元にした集計に関しては、性能劣化を最小限に抑えることができる。しかし、前記したシステムは、複数のデータベースにより、入退履歴を分割して保持するため、各データベースをまたがる期間の集計には、端末装置３が処理過程でそれぞれのデータベースに接続しなければならず、処理に時間がかかる問題がある。また、過去履歴は増える一方であり、この過去の履歴は不要となることが多いため、定期的なメンテナンスにより、不要となる過去履歴を削除する必要がある。そのため、手動で古い過去履歴を一括削除していたが、削除対象が膨大であるとシステムに与える負荷が増加し、集計処理に影響を及ぼすといった問題がある。
ところで、入退履歴のような大量データの集計においては、集計条件と集計結果とを集計プログラム利用者毎に保持し、集計期間を短縮する方式の公知技術（特許文献１）がある。
【０００６】
【特許文献１】
特開２００１−３４４２７４号公報
【０００７】
【発明が解決しようとする課題】
前記の集計期間を短縮する方式を入退管理システムに適用すると、入退管理システムは、図１２に示すような形態となる。
この入退管理サーバ６０は、入退履歴データベース６１、検索結果保持データベース６２および検索制御部６３で構成される。検索制御部６３は、前記した履歴管理部５３に対応するものであり、タスク処理でＭＰＵがメモリに記憶された所定の履歴管理プログラムを実行することで処理プロセスとして実現される。
利用者が端末装置３において、集計プログラム３１の実行により集計を実施する場合、端末装置３において、集計条件を検索制御部６３に通知する。検索制御部６３は受信した集計条件が検索結果保持データベース６２内に含まれるかどうかを検査する。
検索結果保持データベース６２内に集計条件が含まれる場合は、検索結果保持データベース６２内で保持している集計結果を端末装置３（集計プログラム３１）に通知し、端末装置３は、集計プログラム３１によりその結果を受けて表示する。一方、検索結果保持データベース６２内に集計条件が含まれない場合には、検索制御部６３は、入退履歴データベース６０から集計条件の入退履歴を取得し、その集計条件と集計結果を検索結果保持データベース６２に格納し、合わせて集計結果を端末装置３（集計プログラム６２）に通知する。
これにより、以前に検索したことのある集計条件であれば二度目以降の集計時間は短縮することができる。しかし、入退履歴を集計する場合、期間が集計条件の一つとなるため、同一条件での集計は少なく、前記特許文献１に開示された技術では、集計時間を短縮することはほとんどできない。また、現在以降を集計条件に加えると一度検索した結果と二度目に検索した結果が異なるため、最新の集計結果が得られない。
【０００８】
しかも、前記のような従来のシステムでは、長期に渡る運用により、入退履歴数が増加し、保持している入退履歴数に応じて、集計処理性能が劣化する。そこで、入退履歴を削除する等の定期的なメンテナンス作業を実施するか、管理するシステムをより高性能なものに変更することで性能劣化を最小限に抑えている。しかし、メンテナンス作業により削除した入退履歴はもう集計対象とできないか、また、できたとしても現在運用中の入退履歴と合わせた集計を実施することはできず、また、システムを高性能なものに変更するには多くのコストを必要とする欠点がある。
この発明の目的は、このような従来技術の問題点を解決するものであって、システムに大きな負荷を与えることなく、効率よく入退データの収集、集計等ができる入退履歴記録管理装置を提供することにある。
この発明の他の目的は、低コストで長期に亙る入退履歴を管理し、頻度の高い最近の入退履歴はより高速に収集、あるいは集計等ができ、過去の履歴であっても比較的高速に収集あるいは集計等ができる入退履歴記録管理装置を提供することにある
この発明のさらに他の目的は、入退履歴の保持期間を設定することで、システムに大きな負荷を与えることなく、不必要な過去の履歴を自動的に削除し、履歴の定期メンテナンスを不要にすることができる入退履歴記録管理装置を提供することにある。
【０００９】
【課題を解決するための手段】
このような目的を達成するためのこの発明の入退履歴記録管理装置の特徴は、管理されている家屋、室内等の構造物への人の出入り時間を入退履歴として、出入りする人に対応して記録し、外部から要求された期間の入退履歴のデータを前記外部へ送出する入退履歴記録管理装置において、
文字列で記録されていないデータベースに記録されている入退履歴をテキスト文字列あるいはテキスト文字列に対応するバイナリーデータ列に変換して変換された文字列データを、変換された前記入退履歴に対応する管理時間をファイル名としたファイルとして所定の領域に記憶する第１のデータ変換手段と、
現在からこれ以前の所定の短期間の過去の前記入退履歴のデータが記録されている第１のデータベースと、
少なくともこの第１のデータベースに記録されていない期間の過去の前記入退履歴のデータが記録されている第２のデータベースと、
前記所定の領域に記憶されたファイルの入退履歴のデータを前記第２のデータベースの入退履歴のデータに変換して前記第２のデータベースに記憶する第２のデータ変換手段と、
前記外部から要求された入退履歴の期間のすべてが前記第１および第２のデータベースのデータ記憶期間に一致していおらず、かつ含まれていない場合にデータ記憶期間として不足している期間分の入退履歴のデータを前記第２のデータ変換手段により前記ファイルの入退履歴のデータから変換して前記第２のデータベースに補い、この第２のデータベースの入退履歴のデータを外部に対しての参照対象とするデータ管理手段とを備え、
前記所定の領域には前記第１のデータベースより長い運用上の全期間に亙る前記ファイルが実質的に記憶されるものである。
【００１０】
【発明の実施の形態】
この発明にあっては、データベースの入退履歴データをテキスト文字列（あるいはテキスト文字列に対応するバイナリーデータ列、以下テキスト文字列で説明）に変換して、変換されたテキスト文字列の入退履歴のデータに対応する管理時間をファイル名としたテキスト形式のファイルを生成してそれを運用上の全期間に亙り記憶する。外部から要求された入退履歴の期間が第１および第２のデータベースのデータ記憶期間に一致していおらず、かつ含まれていない場合には、第２のデータベースに不足している期間分のデータをテキストデータから変換して第２のデータベースに補うようにしているので、第２のデータベースのデータは、当面の参照に必要な期間のデータを記憶すれば済み、データベースの肥大化を防ぐことができる。
しかも、テキスト形式のファイルは、管理時間のファイル名を持つので、長い運用上の全期間に亙っていても、不要になったものを容易に削除することができ、データの整理がし易い。
【００１１】
具体的には、例えば、集計のためにデータベースを参照するものと仮定すれば、集計頻度（参照頻度）が高い短期入退履歴にあっては、第１のデータベースに入退履歴を記憶することで、格納履歴件数をある程度少ない状態に保持できる。全履歴保持期間に依らず、常に高速に集計することができる。そして、集計頻度（参照頻度）の低いものを第２のデータベースに入退履歴を記憶する。この第２のデータベースにおいては、一度も参照されない過去の入退履歴は、第２のデータベースに格納されないため、集計時（参照時）に不要な負荷をかけることもない。また、一度でも集計（参照）に使用した履歴は、最大保持期間を過ぎるまで第２のデータベースに格納されるため、二度目以降の同一期間集計はより高速に集計することができる。
今まで集計したことのない期間が指定された場合においても、一度集計された期間を含んでいれば、不足分のみテキスト形式のファイルから第２のデータベースにデータを転送すればよい。そのため、比較的高速に集計することができる。第２のデータベース内の履歴は、さらに一定期間参照されない入退履歴を削除するようにすれば、格納履歴件数の増加による集計性能の劣化を最小限に抑えることができる。
また、各々に格納されている入退履歴は、保持期間設定に基づき、古い履歴を削除するようにすれば、定期的に不要な履歴を削除するなどのメンテナンス作業を必要としないで済む。
その結果、実質的に第１のデータベースと第２のデータベースの２つのデータベースにより外部からの要求に対応する管理ができ、効率よく入退データの収集、集計等ができる入退履歴記録管理装置を容易に実現することができる。
【００１２】
【実施例】
以下、この発明の入退履歴記録管理装置を適用した一実施例について、図面を参照して説明する。
図１は、この発明の入退履歴記録管理装置を適用した入退管理システムの一実施例の説明図である。
図１の入退管理システム１０の入退管理サーバ５には入退履歴管理部６と入退履歴格納部７とが設けられている。入退履歴格納部７は、ＨＤＤに設定された記憶領域であり、これには、集計用の短期入退履歴データベース１１、既参照入退履歴データベース１２と、テキストファイルを記憶するＨＤＤの特定領域として全履歴保持用の全入退履歴ファイル領域１３とがある。
入退管理サーバ５は、ＭＰＵとメモリ（これらは図示せず）とを有していて、前記の入退履歴管理部６は、メモリに記憶されたプログラムをタスク処理で実行することにより、タスク機能として実現される処理プロセス（データ処理部）である。同様に、入退管理サーバ５は、タスク処理により実現される入退履歴削除部８と入退履歴収集部９とを有している。
なお、以下では、端末装置３によるデータ集計の場合の入退管理サーバ５のデータベースアクセスを中心として説明するが、この発明は、このようなデータ集計に限定されないことはもちろんである。
【００１３】
入退履歴管理部６は、端末装置３からの集計要求に基づき、参照先データベースを決定したり、短期入退履歴データベース１１および既参照入退履歴データベース１２に保持していないデータ参照期間が指定された場合、全入退履歴ファイル領域１３に保持しているテキストファイルの入退履歴を既参照入退履歴データベース１２に転送したりするデータ処理をする。
入退履歴管理部６には、データベースデータ／テキスト変換プログラム６ａ（第１のデータ変換手段）と、テキストデータをデータベースのデータに変換するテキスト／データベースデータ変換プログラム６ｂ（第２のデータ変換手段）が設けられている。
データベースデータ／テキスト変換プログラム６ａは、ＭＰＵに実行されることで、データベースに記録されている情報をテキストデータに変換して変換されたテキストデータを変換された入退履歴のデータに対応する管理時間をファイル名としたテキスト形式のテキストファイルとして全入退履歴ファイル領域１３に記憶する処理をする。
テキスト／データベースデータ変換プログラム６ｂは、ＭＰＵに実行されることで、全入退履歴ファイル領域１３に記憶されたテキストファイルのデータを前記データベースの情報に変換して既参照入退履歴データベース１２に記憶する。
【００１４】
全入退履歴ファイル領域１３は、運用上発生した入退履歴を全てテキストファイル１３ａ〜１３ｎとして保持する領域であり、利用頻度が低い古い履歴は何れ削除する必要があるため、大量の履歴削除処理を低負荷で実施できるテキストファイルとするものである。この全入退履歴ファイル領域１３は、特定期間の入退履歴を高速に取得したり、不要となった期間の入退履歴を低負荷で一括削除したりするために、データベースデータ／テキスト変換プログラム６ａの実行により生成されたテキストファイルを日毎に別ファイルとして保持する。
入退履歴削除部８は、各格納部内に格納されている履歴数を保管期限に応じて削除して管理するデータ処理部であり、各格納部毎に入退履歴保持期間を設定値をそれぞれ持ち、その期間設定値に基づき、各格納部が所定の期間の履歴のみを保持するように制御する。
【００１５】
入退履歴削除部８は、特に、短期入退履歴データベースの肥大化を防ぐため、全履歴ファイル領域１３に出力済みで、かつ設定値に基づく一定期間以前の履歴を随時削除する。短期入退履歴データベース１１内の履歴数はさほど多くならないため、最近の入退履歴の集計時に短期入退履歴データベース１３を参照することで、高速に集計を実施することができる。また、入退履歴削除部８は、既参照入退履歴データベース１２の肥大化を防ぐため、設定値に基づく一定期間参照されていない履歴を随時削除する。これにより、既参照入退履歴データベース１２は、全ての入退履歴を管理対象としているにも関わらず、集計に必要な情報のみ保持することになるため、比較的高速に集計を実施することができる。
なお、短期入退履歴データベース１１および既参照入退履歴データベース１２内の保持期間以前の履歴は、一括削除するのではなく、随時削除するため、削除処理がシステムに与える負荷を最低限にでき、他の集計に与える影響を少なくできる。
【００１６】
全入退履歴ファイル領域１３は、システム管理対象となる全履歴を日毎に別ファイルで保持する。全履歴ファイル内の履歴数が肥大化しても、要求がない限りアクセスされることがなくまたファイル数が増加するだけであるため、集計に与える影響はほとんどないが、システムストレージを圧迫する可能性があるため、入退履歴削除部８により設定値に基づく一定期間以前の履歴が定期的に削除される。全履歴ファイル領域１３のテキストファイルは、一日の入退履歴を一つのファイルで保持するため、既参照入退履歴データベース１２に登録すべき期間の情報を高速に取得でき、かつ設定値に基づき保持期間以前の古い履歴を低負荷で高速に削除することができる。
入退履歴収集部９は、入退管理システムで発生した入退の記録を収集するデータ処理部であり、ゲート装置２から送出される入退履歴によって発生した入退データの記録は、入退履歴収集部９が入退データを受信して収集し、短期入退履歴データベース１１に格納する。
【００１７】
短期入退履歴データベース１１には集計頻度（参照頻度）の高い最近の入退履歴、すなわち、現在から短期間の過去の入退歴を保持し、既参照入退履歴データベース１２は、短期入退履歴データベース１１の入退履歴の期間外の期間において、集計頻度（参照頻度）の低いものとして、ここでは、参照要求があった期間の入退履歴を保持する。また、全入退履歴ファイル領域１３には、前記したように、一定の運用期間の間（長期期間）、発生した全ての入退履歴を保持するテキスト文字列からなるのテキストファイル１３ａ〜１３ｎを記憶する。
短期入退履歴データベース１１および既参照入退履歴データベース１２は、データ収集あるいはデータ集計目的の格納部であり、サーバー等で利用される汎用的なデータベースマネージメントシステムの下で管理されるデータベース形式のものである。このようなデータは、通常、バイナリ形式である上に、収集や集計を高速に実施するために最適かされた構造で記憶される。
この点、全入退履歴ファイル領域１３には文字列のテキストファイルで入退履歴データが記憶される。
【００１８】
入退履歴管理部６は、短期入退履歴データベース１１を随時監視し、未出力の入退履歴を検知した場合、該当入退履歴をテキスト文字列に変換して全入退履歴ファイル領域１３にテキストファイルの１つとしてファイルを作成して記憶するか、対応する日付のファイルがあるときにはテキスト文字列として入退履歴データを追加出力する。このとき作成されるファイル名をテキスト変換されたデータに対応する管理時間とする。これにより、全入退履歴ファイル領域１３にはテキストファイル１３ａ〜１３ｎが入退履歴ファイルとして記憶され、過去の不要になった入退履歴を低負荷でかつ高速に削除できる。さらに、特定期間の入退履歴のデータを高速に取得できる。
なお、そのファイル名は、ここでは、日毎に別ファイルとして保持する。ファイル名は、格納されている入退履歴の記録されている期間を表すように、例えば、２００２／１／１０：０：０から２００２／１／１　２３：５９：５９の記録期間であれば、２００２０１０１．ＴＸＴのようにする。
短期入退履歴データベース１１のデータは、最近の一定期間のデータを保持するだけである。既参照入退履歴データベース１２のデータは、短期入退履歴データベース１１の期間を越えた期間において、集計要求があった期間の入退履歴データを保持するが、それらは、集計要求に応じて全入退履歴ファイル領域１３のテキストファイル１３ａ〜１３ｎからテキスト／データベースデータ変換プログラム６ｂによりデータ変換されたものである。
【００１９】
次に入退管理サーバ５の全体的な処理動作を説明する。
例えば、利用者から集計要求があった場合、端末装置３が集計プログラム３２を実行して、特定の入退履歴についての集計に入る。そのために端末装置３は、入退管理サーバ５に接続して入退履歴データを取得することになる。このときに、集計プログラム３２の実行により、端末装置３は、集計期間を入退履歴管理部６に回線等を介して送信する。
入退履歴管理部６は、集計期間の入退履歴データが短期入退履歴データベース１１に含まれているか否かを判定し、短期入退履歴データベース１１のデータ記憶期間と一致している場合あるいはそれに含まれている場合には、参照先を短期入退履歴データベース１１とする応答を端末装置３に送信する。端末装置３は、これを受けて短期入退履歴データベース１１をアクセスして所定の入退履歴データを取得して求める期間における入退の総時間等の集計処理を行う。
【００２０】
一方、データ要求期間が短期入退履歴データベース１１のデータ記憶期間に一致もせずかつ含まれてもいないときには、入退履歴管理部６は、既参照入退履歴データベース１２のデータベースのデータ記憶期間を参照して、データ要求期間のすべてが短期入退履歴データベース１２のデータ記憶期間と一致している場合あるいはそれに含まれている場合には、参照先を既参照入退履歴データベース１２として応答して、端末装置３を既参照入退履歴データベース１２に接続させる。
さらに、短期入退履歴データベース１１に含まれていない期間であり、かつ、一度も参照された期間でない場合には、その期間のデータが不足しているので、既参照入退履歴データベース１２に参照要求のあった期間についてテキスト文字列の入退履歴データをテキスト／データベースデータ変換プログラム６ｂにより変換して、入退履歴を全入退履歴ファイル領域１３から転送してデータを既参照入退履歴データベース１２に追加する。また、データ要求期間の一部が含まれている場合には、一部の期間が不足しているので、その不足期間分のデータを同様にして既参照入退履歴データベース１２に転送してデータを追加する。
その後、参照先を既参照入退履歴データベース１２として応答して、端末装置を既参照入退履歴データベース１２に接続させる。
【００２１】
これにより、端末装置３は、続いて集計プログラム３２を実行して、入退履歴管理部６から受信した情報に基づき、参照先データベース１２に接続し、必要な入退履歴をアクセスして得て、データの集計を実施する。
なお、ここでの集計プログラム３２は、端末装置３が入退管理サーバ５からデータベースの応答を受けて、必要な入退履歴データを集計する（あるいは収集する）処理を行うプログラムであるとする。集計処理プログラムによっては、このような応答を待つことなく、入退管理サーバ５側が短期入退履歴データベース１１あるいは既参照入退履歴データベース１２に接続する処理までをして、その処理を待ってデータを端末装置３がアクセスするものであってもよい。
【００２２】
入退履歴削除部８は、短期入退履歴データベース１１、既参照入退履歴データベース１２、および全入退履歴ファイルを随時監視し、短期入退履歴データベース１１および全入退履歴ファイル領域１３のテキストファイルにおいては、それぞれに設定された保持期間を経過した古い入退履歴を削除するが、この場合、全入退履歴ファイル領域１３のテキストファイルの保持期間は、運用期間に対応している。
既参照入退履歴データベース１２においては、設定された保持期間において、２度めの参照がされていないような集計頻度の低い入退履歴を削除する。それを後述するように、参照日で管理する。そこで、ここでは、既参照入退履歴データベース１２のデータ保持期間は、参照日から一定の期間として管理される。
これによりにより、大量の入退履歴を管理した場合においても、データベースには、データ集計（データ収集）に必要となる最低限の入退履歴を保持することができ、既参照の入退履歴を管理する場合でも、利用者が入退履歴の集計時（収集時）に入退履歴の格納先を意識することなく、高速な集計（収集）が実現でき、かつ、定期的なメンテナンスを不要とするシステムを低コストで実現することができる。
【００２３】
次に、集計プログラム３２による端末装置３の処理手順と入退管理サーバ５の処理の流れを図９を参照して具体的に説明する。
端末装置３は、集計プログラム３２を実行して集計期間などの条件を指定して、その集計結果を表示する。
利用者は、まず、端末装置３の画面上で集計期間を入力（ステップ５０１）し、入力された集計期間を受ける。端末装置３は、入力されたデータに応じて期間を含む集計条件を入退管理サーバ５内の入退履歴管理部６に送信する（ステップ５０２）。次に、入退管理サーバ５の入退履歴管理部６は、端末装置３から指定された期間の入退履歴を含む参照先データベース（ＤＢ）の識別情報を返す。
端末装置３はこれを取得し（ステップ５０３）、端末装置３は、取得した参照先データベースの識別情報に基づいてそれが短期入退歴データベース（ＤＢ）か否かの判定をする（ステップ５０４）。この判定処理でＹＥＳとなると、短期入退歴データベース（ＤＢ）１１への接続処理を実行し（ステップ５０６）、このデータベースを参照して集計処理を実施し（ステップ５０７）、集計結果を表示する（ステップ５０８）。
一方、先のステップ５０４の判定でＮＯになると、既参照入退歴データベース（ＤＢ）１２への接続処理を実行し（ステップ５０５）、前記のステップ５０７，ステップ５０８の処理を実行する。
【００２４】
次に短期入退履歴データベース１１の構成の一例を図２に従って説明する。
短期入退履歴データベース１１は、集計頻度の高い最近の入退履歴のみを保持し、入退履歴の保持期間によらず、常に高速な集計を実現することを目的とする。この短期入退履歴データベース１１内には、図２に示すように、短期入退履歴レコードの記録期間についての期間インデックステーブル１１ａおよび短期入退履歴テーブル１１ｂを持つ。期間インデックステーブル１１ａは、入退履歴テーブル１１ｂに格納されている入退履歴のレコードの記録期間を記憶し、入退履歴削除部８により参照される。
入退履歴削除部８は、この記録期間データに応じて入退履歴テーブル１１ｂのデータを削除する。
入退履歴テーブル１１ｂは、利用者の入退の履歴を保持する。この入退履歴テーブル１１ｂには、入退日時フィールド１１ｃと氏名等の識別情報を記録する入退情報のフィールド１１ｄとがあり、それらの後に状態フラグフィールド１１ｅ（後述）が設けられている。また、短期入退履歴レコードの記録期間を示す期間インデックステーブル１１ａには、図示するように、記録期間開始日時と記録期間終了日時のフィールドとがある。
【００２５】
次に既参照履歴データベース１２の構成の一例を図３に従って説明する。
既参照入退履歴データベース１２は、集計要求のあった期間の入退履歴を保持し、一定期間参照されていない履歴が入退履歴削除部８により自動的に削除される。なお、一定期間内に参照されたか否かは、参照日フィールド１２ｆの日付で管理される。
既参照入退履歴データベース１２内には、図３に示すように、既参照入退履歴レコードの記録期間についての期間インデックステーブル１２ａ、既参照入退履歴参照期間テーブル１２ｂおよび既参照入退履歴テーブル１２ｃを持つ。
既参照入退履歴レコードの期間インデックステーブル１２ａは、既参照入退履歴テーブル１２ｃに格納されている入退履歴のレコードの記録期間を記憶し、入退履歴削除部８により参照されてこれに応じて入退履歴削除部８により入退履歴テーブル１１ｂのデータがその記録期間とともに削除される。
なお、この既参照入退履歴テーブル１２ｃには、入退履歴テーブル１１ｂに対応して入退日時のフィールド１２ｄと氏名等の識別情報を記録する入退情報のフィールド１２ｅとがある。また、既参照入退履歴レコードの期間インデックステーブル１２ａには、図示するように、記録期間開始日時と記録期間終了日時のフィールドがある。そして、既参照入退履歴参照期間テーブル１２ｂには、参照期間開始日時と参照期間終了日時のフィールドのほかに、参照日フィールド１２ｆが設けられている。
【００２６】
ここで、期間インデックステーブル１２ａの記録期間開始日時と記録期間終了日時は、既参照入退履歴テーブル１２ｃに記録されているレコードの期間をそれぞれ示していて、データ参照期間が一致しない限り、それぞれに、図示するように、２００２年１月１日〜２００２年５月１日と２００２年６月１日〜２００２年７月１日のように複数の期間として登録される。この登録の仕方については後述する。
入退履歴管理部６は、集計要求期間（参照要求されたレコードの期間）の全てが既参照入退履歴データベース１２内に保持されていない場合には、言い換えれば、参照要求期間が記録されたデータ参照期間（連続する複数のデータ参照期間も含む）と一致しない場合、あるいは参照要求期間が記録されたデータ参照期間（連続する複数のデータ参照期間も含む）に含まれていない場合に限り、その都度、テキストデータを変換して参照するデータを生成して既参照入退履歴テーブル１２ｃに転送する。その結果、既参照入退履歴テーブル１２ｃには図示するようにデータ参照期間に応じて多数のデータが登録（記録）されていく。参照開始日時と参照期間終了日は、この最初の登録時に記載され、参照期間終了日は後述するように必要に応じて更新される。なお、集計要求期間が含まれている場合のデータ参照期間の更新については後述する。
【００２７】
例えば、図示するように、２００２年５月５日に２００２年１月１日から１月３日までデータが参照要求され、それが最初である場合には、全入退履歴ファイル領域１３のテキストファイルのデータを変換してこの期間のデータが生成されて既参照入退履歴テーブル１２ｃに記録される。このとき既参照入退履歴参照期間テーブル１２ｂの参照期開始日時が２００２年１月１日となり、その参照期間終了日時が２００２年１月３日となる。そして、参照日が２００２年５月５日となる。一方、２００２年５月５日より以前に最初の参照要求があったときには、２００２年５月５日は、最新の参照日として更新されたものとなる。
このうように、参照日のフィールド１２ｆには参照した最新の日時が記録される。すなわち、参照日フィールド１２ｆの参照日は、同じデータが参照されたときの最新の日付である。そこで、一度しか参照されないときには、そのデータが生成された日のままになる。
【００２８】
図４は、短期入退履歴レコードの期間インデックステーブル１１ａに設けられた状態フラグフィールド１１ｅの状態フラグの説明図である。入退履歴収集部９は、収集した入退記録を短期入退履歴データベース１１内の入退履歴テーブル１１ｂに登録（記憶）したときに、状態フラグフィールド１１ｅを「初期」に設定する。図４に示すように、これは、入退履歴収集部９により新規に入退歴データが登録されたことを意味する。入退履歴管理部６は、短期入退履歴データベース１１を随時参照し、全入退履歴ファイル領域１３のテキストファイルに入退履歴データを転送する。テキストファイルがないときには新しく生成する。そして、状態フラグフィールド１１ｅの状態フラグを「出力済」に設定する。
【００２９】
図５は、状態フラグフィールド１１ｅを利用して行う入退履歴管理部６の短期入退履歴データベース１１の入退履歴データからテキストファイルを生成する処理のフローチャートである。なお、この処理は、所定の周期で定期的に実行される。
まず、入退履歴管理部６は、処理レコード数を初期化後（ステップ１０１）、短期入退履歴データベース１１内の短期入退履歴テーブル１１ｂから状態が「初期」の履歴データを取得する（ステップ１０２）。そして、入退履歴情報全て検索済みかの判定をして（ステップ１０３）、最初は、通常ＮＯとなり、処理レコード数が設定された数より大きいか否かを判定し（ステップ１０４）、最初は、ここでもＮＯとなり、取得した履歴データは、先頭から１件づつ全入退履歴ファイル領域１３のテキストファイルに出力し（ステップ１０５）、短期入退履歴テーブル内の状態フラグフィールド１１ｅを「出力済」に更新し（ステップ１０６）、処理レコード数をインクリメントする（ステップ１０７）。そして、次の入退履歴情報を取得し（ステップ１０８）、ステップ１０３の判定へと戻る。
なお、ステップ１０５において出力するテキストファイルがないときには、取得データ入退履歴（入退時間）に応じて所定の管理時間のファイル名のテキストファイルをクリエイトして、管理時間名のテキストファイルを生成する。
ステップ１０３〜ステップ１０８の処理を繰り返してステップ１０３の判定で全てを検索済みかの判定がＹＥＳとなるか、ステップ１０４で設定に基づく一定数の処理数を越えたときにここでの処理を終了する。
これにより、運用で発生した入退履歴の全てを重複なしで全入退履歴ファイルに格納することができる。
【００３０】
次に、端末装置３の集計プログラム３２の実行による入退歴情報アクセスタ要求に基づき、参照先データベースを選択する入退履歴管理部６の全体的な処理のフローチャートを図１０を参照して詳細に説明する。なお、ここでは、参照先データベースの選択を入退履歴管理部６が実施する。
入退履歴管理部６は、図１０に示すように、端末装置３（集計プログラム３２）から集計対象となる期間を受信し（ステップ６０１）、まず、短期入退履歴データベース１１内の入退履歴レコードの記録期間を期間インデックステーブル１１ａを参照して取得し（ステップ６０２）、要求集計期間の入退履歴が短期入退履歴データベース１１内に保持されているかを記録期間の一覧から検査する（ステップ６０３）。要求集計期間の全てが短期入退履歴データベース１１に含まれている場合（期間一致している場合も含む）、入退履歴管理部６は端末装置３に参照先データベースを短期入退履歴データベース１１として返信する（ステップ６０４）。
要求集計期間の一部が短期入退履歴データベース１１に含まれているか、検査して（ステップ６０５）、含まれていれば、ここでＹＥＳとなり、要求集計期間内の保持データの内、全履歴ファイル領域１３に未出力の入退履歴である状態が「初期」であるものを全履歴ファイルに出力してから（ステップ６０６）、ステップ６０７へと移る。また、要求集計期間の入退履歴が短期入退履歴データベース１１内に全て保持されていない場合には、ステップ６０７へと移る。そして、ステップ６０７において、既参照入退履歴データベース１２内の入退履歴レコードの記録期間を取得する。
次に、要求集計期間の入退履歴が既参照入退履歴データベース１２内に保持されているかを記録期間により検査する（ステップ６０８）。
【００３１】
要求集計期間の全てが既参照入退履歴データベース１２内に保持されていない場合にはステップ６０８でＮＯとなり、入退履歴管理部６は、不足期間分の入退履歴を全入退履歴ファイル領域１３のテキストファイルを参照して、不足期間の入退歴データを含むテキストファイルからテキストデータを取得し（ステップ６０９）、テキスト／データベースデータ変換プログラム６ｂを実行して取得した入退履歴のテキストデータをデータ変換して既参照入退履歴データベース１２内の既参照入退履歴テーブル１２ｃに出力し（ステップ６１０）、既参照入退履歴レコード１２の期間インデックステーブル１２ａ内のレコードの記録期間にその期間を更新する処理を実施する（ステップ６１１）。
そして、ステップ６１２へと移り、既参照入退履歴参照期間テーブル１２ｂのデータ参照期間の更新処理に入る。
参照期間の更新処理は、まず、既参照入退履歴データベース１２内の入退履歴参照期間テーブル１２ｂから参照期間一覧を取得する（ステップ６１２）。そして、取得した参照期間一覧を先頭から順次取得し、参照期間検索終了かの判定（ステップ６１３）の後に、集計期間が記録されたデータ参照期間と同一か否か（次のデータ参照期間が連続する期間となっているときには連続する複数のデータ参照期間の間での同一も含む）を検査し（ステップ６１４）、一致していれば、データ参照期間は変更せずに、参照日を現在の日付に更新（データ参照期間が連続しているときにはそれぞれの参照日を更新）して（ステップ６１５）、ステップ６２２に移り、参照データベース（ＤＢ）を既参照入退履歴データベース１２として端末装置３に返信してこの処理を終了する（ステップ６２２）。
なお、ステップ６１４の判定において、連続する複数のデータ参照期間との間で同一の場合には、データ参照期間の記録を現在の要求された集計期間に対応させて別のデータ参照期間として１つ追加作成して、これの参照日を更新し、一致した元の複数のデータ参照期間はそのままに残しておいてもよい。このようにすれば、元のデータ参照期間は、それぞれの参照日に応じて削除してデータを整理することができる。また、次のデータ参照期間が連続する期間か、否かと、複数のデータ参照期間が一致するか否かは、各データ参照期間の参照開始日時と参照期間終了日とを検査することでできる。
【００３２】
ステップ６１４の判定で期間が同一とならない場合は、集計期間が記録されたデータ参照期間に含まれるか否か（連続する複数のデータ参照期間も含む）を判定する（ステップ６１６）。このステップ６１６の判定の結果、含まれない場合あるいは一部が含まれる場合は、ＮＯとなって、ステップ６２０へと移り、次のレコードの記録期間を取得する（ステップ６２０）。そして、ステップ６１３へと戻り、同様な判定を繰り返す。
一方、集計要求期間が含まれる場合は、ここでＹＥＳとなり、その期間の含まれ方に応じて、集計要求期間の参照期間開始日が一致した状態で前半に含まれる場合、あるいは集計要求期間の参照期間終了日が一致した状態で期間の後半に含まれる場合には、それぞれに応じて期間を２分割して別々の期間として管理する。また、参照開期間始日と参照期間終了日の中に要求集計期間が含まれる場合には、前後の期間と真ん中の期間の３つに分割してそれぞれに管理する。なお、複数の連続する参照期間に含まれる場合には、含まれる複数の期間を１つの期間とみて前記のような処理をする。
すなわち、既参照入退履歴参照期間テーブル１２ｂのデータ参照期間を現在要求のある集計期間に対応して参照期間開始日時に集計期間開始日時を、参照期間終了日時に集計期間終了日時を入れてデータ参照期間レコードを更新し、参照日を現在の参照日とし（ステップ６１７）、さらに、元の集計期間の部分については、参照期間開始日時に更新前の元の参照期間開始日時を、参照期間終了日時に集計期間開始日時を入れて参照期間レコードを追加し、参照日を元の参照日とし（ステップ６１８）、さらにまた、参照期間開始日時に集計期間終了日時を、参照期間終了日時に元の集計期間終了日時を入れて参照期間レコードを追加し、参照日を元の参照日とし（ステップ６１９）とし、次に参照データベース（ＤＢ）を既参照入退履歴データベース１２として端末装置３に返信してこの処理を終了する（ステップ６２２）。
なお、集計要求期間の参照期間開始日が一致して前半に含まれる場合には、ステップ６１８が飛ばされ、ステップ６１７からステップ６１９へと移る。また、集計要求期間の参照期間終了日が一致して期間の後半に含まれる場合には、ステップ６１９が飛ばされ、ステップ６１８からステップ６２２へと移る。
ところで、ステップ６１７〜ステップ６１９の処理においては、管理日時をデータとしているので、追加された期間では、前の期間の終了日時と追加されたレコードの開始日時あるいは後の期間の開始日時と追加されたレコードの終了日時とが秒の単位で同じになっている。そこで、参照期間開始日時と参照期間終了日時とが一致するようなれレコードが発生する場合がある。そのような場合の参照期間開始日時と参照期間終了日時とが一致するレコードは、参照期間のデータから排除される。
【００３３】
さて、ステップ６１３の判定において、ＹＥＳとなり、参照期間検査対象がすべて終了すると、参照要求期間が既参照入退履歴参照期間テーブル１２ｂのデータ参照期間と一致しないか、含まれていない場合となる。もちろん、参照要求期間の一部しか含まれていない場合は、一致もしていなければ、含まれていないことになる。このような場合には、ステップ６２１へと移る。ここで、参照期間開始日時に集計期間開始日時を、参照期間終了日時に集計期間終了日時を入れて参照日を現在の日として、参照期間テーブルにレコードを追加　する（ステップ６２１）。そして、参照データベース（ＤＢ）を既参照入退履歴データベース１２として端末装置３に返信してこの処理を終了する（ステップ６２２）。
【００３４】
次に入退履歴削除部８の短期入退履歴データベース１１の削除処理について図６を参照して説明する。
入退履歴削除部８は、短期入退履歴データベース１１内の履歴を最近の履歴に限定するために、設定値に基づく一定期間以前（保持期間が経過したもの）の履歴を随時削除する。その削除手順は、図６に示すように、まず、処理レコード数を初期化後（ステップ２０１）、短期入退履歴データベース１１内の入退履歴テーブル１１ｂから状態が「出力済」の履歴を入退日時で昇順ソートして取得し（ステップ２０２）、先頭から１件づつ処理し、最初は、全てを検索済みかの判定のステップ２０３と、設定に基づく一定数を処理する判定のステップ２０４の判定がＮＯとなるので、次にステップ２０５へと移り、ここで、入退日時が設定値（設定保持期間）に基づく一定期間より以前（短期としての保持期間が経過したもの）の履歴か否かの判定をして（ステップ２０５）、ＹＥＳであれば、短期保持期間を経過したものであるので、入退履歴レコードを削除し（ステップ２０６）、短期入退履歴レコードの記録期間期間インデックステーブル１１ａ内のレコードの記録期間（保持開始日時と保持終了日時）を、削除した入退履歴の入退日時の次のレコードの日時と最新のレコードの日時に応じて所定の期間に更新し（ステップ２０７）、処理レコード数をインクリメントする（ステップ２０８）。そして、次の入退履歴情報を取得して（ステップ２０９）、ステップ２０３へと戻る。
全てを検索する判定のステップ２０３と、設定に基づく一定数を処理する判定のステップ２０４を経て、入退履歴の削除処理（ステップ２０５）から次の入退履歴情報の取得（ステップ２０９）までの処理を繰り返す。この処理を定期的に繰り返すことで、他の処理に与える影響を最小限にしつつ、短期入退履歴データベース１１内の履歴数増加を抑えることができる。
なお、ステップ２０３の判定で全てを検索済みかの判定がＹＥＳとなるか、ステップ２０４で設定に基づく一定数の処理数を越えたときにここでの処理を終了する。
【００３５】
次に入退履歴削除部８の既参照入退履歴データベース１２の削除処理について図７を参照して説明する。
入退履歴削除部８は、既参照入退履歴データベース１２内の履歴を最近集計された履歴に限定するために、設定値に基づく一定期間参照されていない履歴を既参照入退履歴データベース１２から随時削除する。
それは、図７に示すように、まず、処理レコード数を初期化後（ステップ３０１）、既参照入退履歴データベース１２内の既参照入退履歴参照期間テーブル１２ｂから設定値に基づき参照日フィールド１２ｆを参照して一定期間参照されていない入退履歴の期間を取得する（ステップ３０２）。次に、参照期間情報全て判定済みかの判定のステップ３０３を経て、既参照入退履参照期間テーブル１２ｂから取得した参照期間開始日時から参照期間終了日時に従って、削除に該当する入退履歴を入退履歴テーブル１２ｃから取得して（ステップ３０４）、次に、全てを検索済みかの判定のステップ３０５と、設定に基づく一定数を処理する判定のステップ３０６を経て、先頭から１件づつ削除し（ステップ３０７）、既参照入退履歴レコードの期間インデックステーブル１２ａ内のレコードの記録期間を、削除した入退履歴の入退日時に応じて更新する（ステップ３０８）。そして、処理レコード数をインクリメントし（ステップ３０９）、次の入退履歴情報を取得して（ステップ３２０）、これを経て、全てを検索済みかの判定のステップ３０５へと戻る。
取得した入退履歴を設定値に基づく一定件数削除した場合には（ステップ３０６）、削除処理を終了し、また、削除件数が一定件数に満たない場合には（ステップ３０６）、削除処理（ステップ３０６）から次の入退履歴情報の取得（ステップ３２０）を繰り返す。
取得した入退履歴を全て削除した場合には、ステップ３０５の判定においてＹＥＳとなり、参照期間テーブル１２ｂから該当する参照期間情報を削除する（ステップ３２１）。
また、削除件数が設定値に基づく一定件数に満たない場合には、次の参照期間情報を取得し（ステップ３２１）、参照期間情報全て判定済みかの判定のステップ３０３を経て入退履歴削除処理（ステップ３０４）へと戻り、ステップ３０４からステップ３２１の処理を繰り返す。この処理を定期的に繰り返すことで、他の処理に与える影響を最小限にしつつ既参照入退履歴データベース１２内の履歴数増加を抑えることができる。
なお、ステップ３０３の判定で全てを検索済みかの判定がＹＥＳとなるか、ステップ３０６で設定に基づく一定数の処理数を越えたときにここでの処理を終了する。
【００３６】
次に入退履歴削除部８の全履歴ファイル領域１３の削除処理について図８を参照して説明する。
全履歴ファイル領域１３は、日毎に一つのテキストファイルとして保持するため、保持履歴数が増加しても取得に要する処理時間に大きな影響を与えることはないが、保持履歴数が増加するとストレージデバイス（ＨＤＤ）の空き容量不足を招く可能性がある。このため、入退履歴削除部８は、設定値に基づく一定期間以前（保持期間が経過したもの）の入退履歴ファイルを定期的に削除する。その削除手順について図８を参照して説明する。
図８に示すように、まず、全履歴ファイル１１を検索し（ステップ４０１）、全履歴ファイル領域１３にテキストファイルが存在すれば（ステップ４０２）、ファイル名から履歴レコードの記録期間を取得し（ステップ４０３）、履歴レコードの記録期間が設定値に基づく一定期間以前（保持期間が経過したもの）の履歴である場合（ステップ４０４）、その入退履歴を記憶したテキストファイル１３ａ〜１３ｎのうち該当するファイルを削除する（ステップ４０５）。この削除処理（ステップ４０３）の後に、次のテキストファイルを検索する（ステップ４０６）。そして、ステップ４０２へと戻り、対象となるテキストファイルの削除を繰り返す。
このような処理を保持している全入退履歴ファイル領域１３のテキストファイルに対して繰り返し、かつ、この処理を定期的に行うことで、ストレージデバイスの使用容量の増加を抑えることができる。
【００３７】
以上説明したように、集計頻度が高い短期入退履歴においては、格納履歴件数をある程度少ない状態で保持できるため、全履歴保持期間に依らず、常に高速に集計することができる。集計頻度の低い既参照入退履歴においては、一度も参照されない過去の入退履歴は既参照入退履歴データベース１２に格納されないため、集計時に不要な負荷をかけることもない。また、一度でも集計に使用した履歴は、最大保持期間を過ぎるまで既参照入退履歴データベース１２に格納されるため、二度目以降の同一期間集計はより高速に集計することができる。今まで集計したことのない期間が指定された場合においても、一度集計された期間を含んでいれば、不足分のみ全履歴ファイル領域１３から既参照入退履歴データベースに複写するため、比較的高速に集計することができる。既参照入退履歴データベース１２内の履歴は、更に一定期間参照されない入退履歴は自動的に削除するため、格納履歴件数の増加による集計性能の劣化を最小限に押さえることができる。
また、各々に格納されている入退履歴は、保持期間設定に基づき、古い履歴を自動削除するため、定期的に不要な履歴を削除するなどのメンテナンス作業を必要としない。
【００３８】
以上説明してきたが、実施例では、既参照入退履歴データベース１２として参照されたデータを記憶するようにしているが、これは、短期入退履歴データベース１１よりもデータ参照期間の参照頻度が低いものとして、短期入退履歴データベース１１よりも長い期間で、かつ、全履歴ファイル領域１３のテキストファイルよりも短い期間のデータを記憶する長期入退履歴データベースとして管理してもよい。
また、実施例では、入退履歴の時間データ集計の例を挙げているが、この発明は、このような集計に限定されないことはもちろんである。
また、実施例では、全入退履歴ファイル領域１３に記憶するファイルをテキストファイルとして説明しているが、この発明は、ＣＳＶ等のように文字列を「，」や「”」などで区分けした文字列としてデータを扱う、いわゆるテキスト形式のファイル一般に適用できることはもちろんである。また、時間データなどは、テキストデータとともに時間データとしてバイナリーデータ列にしてもテキストデータと同等の処理ができるものであるので、変換対象は、文字列と同等の処理ができるようなバイナリーデータ列であってもよい。してがって、この発明の第１および第２のデータ変換手段は、テキスト文字列データばかりでなく、テキスト文字列に対応するバイナリーデータ列を対象とすることができる。
【００３９】
【発明の効果】
以上説明したように、この発明にあっては、データベースの入退履歴データをテキスト文字列（あるいはテキスト文字列に対応するバイナリーデータ列）に変換して、変換されたテキスト文字列の入退履歴のデータに対応する管理時間をファイル名としたテキストファイルを生成してそれを運用上の全期間に亙り記憶する。外部から要求された入退履歴の期間が第１および第２のデータベースのデータ記憶期間に一致していおらず、かつ含まれていない場合には、第２のデータベースに不足している期間分のデータをテキストデータから変換して第２のデータベースに補うようにしているので、第２のデータベースのデータは、当面の参照に必要な期間のデータを記憶すれば済み、データベースの肥大化を防ぐことができる。
しかも、テキストファイルは、管理時間のファイル名を持つので、長い運用上の全期間に亙っていても、不要になったものを容易に削除することができ、データの整理がし易い。
その結果、実質的に第１のデータベースと第２のデータベースの２つのデータベースにより外部からの要求に対応する管理ができ、効率よく入退データの収集、集計等ができる入退履歴記録管理装置を容易に実現することができる。
【図面の簡単な説明】
【図１】図１は、この発明の入退履歴記録管理装置を適用した入退管理システムの一実施例の説明図である。
【図２】図２は、短期入退履歴データベースの説明図である。
【図３】図３は、既参照入退履歴データベースの説明図である。
【図４】図４は、状態フラグフィールドの説明図である。
【図５】図５は、全履歴ファイル処理のフローチャートである。
【図６】図６は、短期入退履歴削除処理のフローチャートである。
【図７】図７は、既参照入退履歴削除処理のフローチャートである。
【図８】図８は、全入退履歴削除処理のフローチャートである。
【図９】図９は、集計プログラムによる集計処理のフローチャートである。
【図１０】図１０は、入退管理システムによる集計処理のフローチャートである。
【図１１】図１１は、従来の入退管理システムにおける入退管理システムの説明図である。
【図１２】図１２は、集計期間を短縮する方式の従来の入退管理システムの説明図である。
【符号の説明】
１，１０…入退管理システム、
２…ゲート装置、３…端末装置、
４…回線、
５，５０，６０…入退管理サーバ、
６…入退履歴管理部、７…入退履歴格納部、
８…入退履歴削除部、
９…入退履歴収集部、
１１…短期入退履歴データベース、
１２…全入退履歴日別ファイル、
１３…既参照入退履歴データベース、
３０，３１，３２…集計プログラム、
５１…入退履歴データベース、
５２…過去入退履歴データベース、
５３…履歴管理部、
６１…入退履歴データベース、
６２…検索結果保持データベース、
６３…検索制御部。
【図１】
2004145787.tif 000003
【図２】
2004145787.tif 000004
【図３】
2004145787.tif 000005
【図４】
2004145787.tif 000006
【図５】
2004145787.tif 000007
【図６】
2004145787.tif 000008
【図７】
2004145787.tif 000009
【図８】
2004145787.tif 000010
【図９】
2004145787.tif 000011
【図１０】
2004145787.tif 000012
【図１１】
2004145787.tif 000013
【図１２】
2004145787.tif 000014