(57)【要約】【課題】  クレジット決済端末にてネガデータを効率的に管理する。【解決手段】  第１の記憶部と、第１の記憶部と比較してアクセス速度の速い第２の記憶部とを備えるクレジット決済端末であって、クレジットカードを識別するクレジットカード識別情報を有するネガデータを第１の記憶部に記憶させ、ネガデータテーブルを生成するネガデータテーブル生成手段と、クレジットカード識別情報とネガデータテーブルに記憶されたネガデータの第１の記憶部における位置を示す情報であるネガデータ位置情報とを対応付けた検索テーブルを生成し、第２の記憶部に記憶させる検索テーブル生成手段と、クレジットカード識別情報に基づいて、検索テーブルからネガデータ識別情報に対応する第１の記憶部におけるネガデータ位置情報を検出するネガデータ検索手段とを備えることを特徴とする。【選択図】  図１
2008197955.tif 000002
【特許請求の範囲】
【請求項１】
第１の記憶部と、第１の記憶部と比較してアクセス速度の速い第２の記憶部とを備えるクレジット決済端末であって、
クレジットカードを識別するクレジットカード識別情報を有するネガデータを前記第１の記憶部に記憶させ、ネガデータテーブルを生成するネガデータテーブル生成手段と、
前記クレジットカード識別情報と前記ネガデータテーブルに記憶された前記ネガデータの第１の記憶部における位置を示す情報であるネガデータ位置情報とを対応付けた検索テーブルを生成し、前記第２の記憶部に記憶させる検索テーブル生成手段と、
前記クレジットカード識別情報に基づいて、前記検索テーブルから前記ネガデータ識別情報に対応する前記第１の記憶部における前記ネガデータ位置情報を検出するネガデータ検索手段と
を備えることを特徴とするクレジット決済端末。
【請求項２】
前記ネガデータを前記ネガデータテーブルに記憶させるときに、前記ネガデータ検索手段を用いて検出した前記ネガデータ位置情報が示す位置にアクセスし、対応するネガデータを更新するネガデータ更新手段と
をさらに備えることを特徴とする請求項１記載のクレジット決済端末。
【請求項３】
クレジットカード判定手段を更に備え、
前記ネガデータは、ネガデータを削除するか否かを示す削除フラグを有し、
前記ネガデータ更新手段を用いて前記ネガデータテーブルにおけるネガデータの削除フラグを更新し、
前記クレジットカード判定手段は、前記ネガデータ検索手段を用いて検出した前記ネガデータ位置情報が示す位置にアクセスし、前記ネガデータが有する前記削除フラグが立っていなければクレジットカード無効と判定し、前記削除フラグが立っていればクレジットカード有効と判定すること
をさらに特徴とする請求項２に記載のクレジット決済端末。
【請求項４】
前記検索テーブル生成手段が生成する検索テーブルは、前記クレジットカード識別情報に基づくハッシュ値を用いたハッシュテーブルであること
をさらに特徴とする請求項１から請求項３のいずれかに記載のクレジット決済端末。
【請求項５】
前記検索テーブル生成手段が生成する検索テーブルは、前記ネガデータの属性情報を階層化した属性関連テーブルであること
をさらに特徴とする請求項１から請求項３のいずれかに記載のクレジット決済端末。
【請求項６】
第１の記憶部と、第１の記憶部と比較してアクセス速度の速い第２の記憶部とを利用するクレジット決済方法であって、
ネガデータテーブル生成手段が、クレジットカードを識別するクレジットカード識別情報を有するネガデータを前記第１の記憶部に記憶させ、ネガデータテーブルを生成する工程と、
検索テーブル生成手段が、前記クレジットカード識別情報と前記ネガデータテーブルに記憶された前記ネガデータの第１の記憶部における位置を示す情報であるネガデータ位置情報とを対応付けた検索テーブルを生成し、前記第２の記憶部に記憶させる工程と、
ネガデータ検索手段が、前記クレジットカード識別情報に基づいて、前記検索テーブルから前記ネガデータ識別情報に対応する前記第１の記憶部における前記ネガデータ位置情報を検出する工程と
を備えることを特徴とするクレジット決済方法。
【請求項７】
第１の記憶部と、第１の記憶部と比較してアクセス速度の速い第２の記憶部とを備えるクレジット決済端末としてのコンピュータシステムに対し、
ネガデータテーブル生成手段が、クレジットカードを識別するクレジットカード識別情報を有するネガデータを前記第１の記憶部に記憶させ、ネガデータテーブルを生成する手順と、
検索テーブル生成手段が、前記クレジットカード識別情報と前記ネガデータテーブルに記憶された前記ネガデータの第１の記憶部における位置を示す情報であるネガデータ位置情報とを対応付けた検索テーブルを生成し、前記第２の記憶部に記憶させる手順と、
ネガデータ検索手段が、前記クレジットカード識別情報に基づいて、前記検索テーブルから前記ネガデータ識別情報に対応する前記第１の記憶部における前記ネガデータ位置情報を検出する手順と
を実行させるコンピュータ実行可能なクレジット決済プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クレジット決済端末における効率的なネガデータの管理に関する。
【背景技術】
【０００２】
従来、一般に店舗で利用されているクレジット決済端末は、決済処理時にクレジットカードの有効無効を判定している。すなわち、無効カードの情報であるネガデータを参照して、クレジットカード決済が有効か無効かのいずれであるかを判定し、判定結果が有効なら決済処理を行い、無効なら決済処理を行わない。
【０００３】
ここで、クレジットカード有効無効判定において利用するネガデータを、情報管理センタに設けられた決済サーバが生成、記憶し、有効無効判定時にはクレジット決済端末が決済サーバと通信を行い、決済サーバが判定処理を行う場合がある。この場合クレジット決済端末は、決済サーバより判定結果を受信する必要がある。一方、決済サーバがネガデータ一覧情報を予めクレジット決済端末に送信してクレジット決済端末がネガデータを記憶しておき、有効無効判定時に決済サーバと通信を行うことなく、クレジット決済端末が判定処理を行う場合がある。
クレジット決済端末が判定処理を行う場合において、クレジット決済端末がネガデータ一覧をテーブル構造にして記憶することによってネガデータを管理する装置が提案されている（例えば、特許文献１参照）。
【特許文献１】特開平１０−３２０４４５
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、クレジット決済に利用する端末は利便性・経済性・省電力性などを考慮してコンパクトで簡略化された機械構造であることが多く、豊富なハードウェア資源が要求されるファイルシステムやこれを含むＯＳ（Operating System）などのソフトウェアをクレジット決済端末で動作させるのは困難である場合が多い。
【０００５】
すなわち、クレジット決済端末にネガデータを登録する場合、登録ネガデータを検索しやすいようなテーブル構造に整形しながら登録すると、データを構造化するために時間がかかり、また、記憶するメモリが書き込み速度の遅い不揮発性メモリである場合、ネガデータ登録がさらに遅延する。一方、ネガデータを整形せずに登録する場合、検索時には全データを１件ずつ読み込んで判定しなければならないため、ネガデータの検索に時間がかかるという問題があった。
このような状況により、クレジット決済端末でネガデータを管理する場合において、特にデータ件数が多い場合には処理速度が遅くなるという欠点があった。
【０００６】
本発明は、このような状況に鑑みてなされたもので、限られたハードウェア資源環境で行うクレジット決済処理におけるネガデータ管理を効率的に行うことを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明は、第１の記憶部（例えば、本実施形態におけるＦＲＯＭ２５）と、第１の記憶部と比較してアクセス速度の速い第２の記憶部（例えば、本実施形態におけるＲＡＭ２６）とを備えるクレジット決済端末であって、クレジットカードを識別するクレジットカード識別情報を有するネガデータを第１の記憶部に記憶させ、ネガデータテーブルを生成するネガデータテーブル生成手段（例えば、本実施形態におけるネガデータテーブル生成部２１）と、クレジットカード識別情報とネガデータテーブルに記憶されたネガデータの第１の記憶部における位置を示す情報であるネガデータ位置情報（例えば、本実施形態におけるネガデータポインタ）とを対応付けた検索テーブルを生成し、第２の記憶部に記憶させる検索テーブル生成手段（例えば、本実施形態における検索テーブル生成部２２）と、クレジットカード識別情報に基づいて、検索テーブルからネガデータ識別情報に対応する第１の記憶部におけるネガデータ位置情報を検出するネガデータ検索手段（例えば、本実施形態におけるネガデータテーブル検索部２３）とを備えることを特徴とするクレジット決済端末である。
【０００８】
本発明は、ネガデータをネガデータテーブルに記憶させるときに、ネガデータ検索手段を用いて検出したネガデータ位置情報が示す位置にアクセスし、対応するネガデータを更新するネガデータ更新手段（例えば、本実施形態におけるネガデータ更新部２４）と、をさらに備えることを特徴とする請求項１記載のクレジット決済端末である。
【０００９】
本発明は、クレジットカード判定手段（例えば、本実施形態におけるクレジットカード判定部２８）をさらに備え、ネガデータは、ネガデータを削除するか否かを示す削除フラグを有し、ネガデータ更新手段を用いてネガデータテーブルにおけるネガデータの削除フラグを更新し、クレジットカード判定手段は、ネガデータ検索手段を用いて検出したネガデータ位置情報が示す位置にアクセスし、ネガデータが有する削除フラグが立っていなければクレジットカード無効と判定し、削除フラグが立っていればクレジットカード有効と判定することをさらに特徴とする請求項２に記載のクレジット決済端末である。
【００１０】
本発明は、検索テーブル生成手段が生成する検索テーブルは、クレジットカード識別情報に基づくハッシュ値を用いたハッシュテーブルであることをさらに特徴とする請求項１から請求項３のいずれかに記載のクレジット決済端末である。
【００１１】
本発明は、検索テーブル生成手段が生成する検索テーブルは、ネガデータの属性情報を階層化した属性関連テーブルであることをさらに特徴とする請求項１から請求項３のいずれかに記載のクレジット決済端末である。
【００１２】
本発明は、第１の記憶部と、第１の記憶部と比較してアクセス速度の速い第２の記憶部とを利用するクレジット決済方法であって、ネガデータテーブル生成手段が、クレジットカードを識別するクレジットカード識別情報を有するネガデータを前記第１の記憶部に記憶させ、ネガデータテーブルを生成する工程と、検索テーブル生成手段が、前記クレジットカード識別情報と前記ネガデータテーブルに記憶された前記ネガデータの第１の記憶部における位置を示す情報であるネガデータ位置情報とを対応付けた検索テーブルを生成し、前記第２の記憶部に記憶させる工程と、ネガデータ検索手段が、前記クレジットカード識別情報に基づいて、前記検索テーブルから前記ネガデータ識別情報に対応する前記第１の記憶部における前記ネガデータ位置情報を検出する工程とを備えることを特徴とする。
【００１３】
本発明は、第１の記憶部と、第１の記憶部と比較してアクセス速度の速い第２の記憶部とを備えるクレジット決済端末に、ネガデータテーブル生成手段が、クレジットカードを識別するクレジットカード識別情報を有するネガデータを前記第１の記憶部に記憶させ、ネガデータテーブルを生成する手順と、検索テーブル生成手段が、前記クレジットカード識別情報と前記ネガデータテーブルに記憶された前記ネガデータの第１の記憶部における位置を示す情報であるネガデータ位置情報とを対応付けた検索テーブルを生成し、前記第２の記憶部に記憶させる手順と、ネガデータ検索手段が、前記クレジットカード識別情報に基づいて、前記検索テーブルから前記ネガデータ識別情報に対応する前記第１の記憶部における前記ネガデータ位置情報を検出する手順とを実行させることを特徴とする。
【発明の効果】
【００１４】
以上説明したように、本発明によれば、クレジット決済端末におけるネガデータ管理を効率的に行うことができる。
【発明を実施するための最良の形態】
【００１５】
以下、本発明の一実施形態について、図面を参照して説明する。
本実施形態の説明中で、データを登録するというときは、データテーブルに新規データを新たに加え、記憶させることをいう。また、データを更新するというときは、データテーブルに既に記憶されている特定のデータについて、データを書き換え、上書きすることをいう。また、データを削除するというときは、データテーブルから特定のデータを削除し、更新・検索・読み込みを不可能にすることをいう。
【００１６】
また、本実施形態の説明中でデータテーブルとは、リレーショナルデータベース概念における二次元のデータ表を想定し、識別情報に対応付いた一連のデータを１件といい、データテーブルは複数件のデータを有することができる。
また、本実施形態の説明中でフラグが立っているといったときは、フラグデータが１であることをいい、フラグデータが立っていないといったときは、フラグデータが０であることをいう。
【００１７】
図１は、本実施形態によるクレジット決済端末の構成を示すブロック図である。
クレジット決済端末１は、店舗等に設置されクレジットカード決済の処理を行う装置であり、決済サーバ６と、カード７と通信を行う。
決済サーバ６は、クレジットカード管理会社等によって運営されるサーバであり、無効カード情報であるネガデータ一覧をクレジット決済端末１に送信する。送信は、例えばＤｏＰａ（登録商標）等の通信網によって行われる。
【００１８】
ネガデータ一覧とは、利用を無効とするクレジットカードの情報であるネガデータの一覧である。ネガデータは１件でも良い。本実施形態の説明では、ネガデータ一覧に基づいてＦＲＯＭ２５にネガデータテーブル２５１を記憶させる。ＦＲＯＭ２５は、不揮発性メモリであり、すなわち、電源を落としても内容の消えない半導体素子により構成される記憶部である。
【００１９】
ネガデータは、例えば、クレジットカード識別情報、クレジットカード会社コード、カード発行会社コード、会員番号、削除フラグ、有効期限等のデータを有する。クレジットカード識別情報とは、ネガデータを一意に特定する情報であり、例えば、数値情報による連番値である。ここで、会員番号をクレジットカード識別情報としても良い。クレジットカード会社コードとは、クレジットカードを発行した会社を識別するコードである。カード発行会社コードとは、実際にクレジットカードの発行を行なった会社（銀行や信販会社等）を識別するコードである。会員番号とは、クレジットカードを利用する会員の識別情報である。
【００２０】
上記削除フラグは、０であればそのデータがネガデータであり、クレジットカードが無効であることを意味する。一方、削除フラグが１であればネガデータを削除することを意味する。すなわち、削除フラグに１が設定された場合はネガデータが無効となるので、クレジットカードが再び有効となる。クレジット決済端末１は削除フラグを参照することで、例えばバッチ処理などで定期的にネガデータ削除フラグが１であるネガデータをクレジット決済端末１に記憶されたネガデータテーブル２５１から削除しても良い。ただし、ＦＲＯＭ２５からブロック単位でデータを削除するには時間がかかる（消去しない部分を別途保存しておき、消去したい部分を消去した後に再度、保存しておいた部分を元に戻すために書き込み処理を行なう必要がある）。そのため、本実施形態の説明では、バイト単位でデータを書き換える、すなわち削除フラグを１に更新することで削除したこととみなして、高速なデータ操作を実現する。有効期限は、ネガデータの有効期限の日付情報である。クレジット決済端末１は、例えばバッチ処理などで有効期限を過ぎたネガデータの削除フラグを１とするなどの処理を行っても良い。
【００２１】
カード７は、クレジットカードであり、例えば接触型ＩＣカードや、非接触型ＩＣカード、磁気カード等である。
クレジット決済端末１は、制御部２と、Ｉ／Ｆ部３と、キー入力部４と、表示部５と、カード処理部８とを備える。
制御部２は、クレジット決済端末１の各機能を制御し、ネガデータテーブル生成部２１と、検索テーブル生成部２２と、ネガデータテーブル検索部２３と、ネガデータ更新部２４と、クレジットカード判定部２８と、ＦＲＯＭ２５と、ＲＡＭ２６と、ＲＴＣ２７とを備える。
【００２２】
ネガデータテーブル生成部２１は、ＦＲＯＭ２５にネガデータテーブル２５１を記憶させる。
検索テーブル生成部２２は、ネガデータに基づいて検索テーブルを生成し、検索テーブル２６１としてＲＡＭ２６に記憶させる。
ネガデータテーブル検索部２３は、検索テーブル２６１とネガデータテーブル２５１とを用いて、ネガデータを検索する。
【００２３】
ネガデータ更新部２４は、ネガデータテーブル検索部２３を用いて検索したネガデータに削除フラグをセットする。すなわち、ネガデータテーブル２５１に記憶された特定のネガデータの削除フラグを１に更新する。
クレジットカード判定部２８は、有効期限や削除フラグ等を参照してクレジットカードの有効無効を判定する手段である。クレジットカード判定部２８がクレジットカードを有効と判定すれば、決済処理部（図示外）が決済処理を行い、無効と判定すれば、決済処理を行わない。
【００２４】
ＦＲＯＭ２５は、本実施形態の説明においては、フラッシュＲＯＭ（Read Only Memory）である。ただし、データの読み書きが可能であり電源供給を行わない状態でも書き込んだデータが消えない不揮発性の半導体メモリであり、ＲＡＭ（Random Access Memory）と比較して書き込み速度の遅いメモリであれば、必ずしもフラッシュＲＯＭである必要はない。ＦＲＯＭ２５は、ネガデータテーブル２５１を記憶する。
ネガデータテーブル２５１は、ネガデータを記憶し、記憶するネガデータは複数件であって良い。
【００２５】
ＲＡＭ２６は、ＲＯＭよりも高速動作が可能なＲＡＭである。なお、ＲＡＭ２６は、ＦＲＯＭ２５と比較して書き込み速度が速いメモリであれば良く、必ずしもＲＡＭである必要はない。また、読み込みの速度はＦＲＯＭ２５と同程度でも良い。ＲＡＭ２６は、検索テーブル２６１を記憶する。
検索テーブル２６１は、ネガデータテーブル２５１に記憶されたネガデータのアドレスを、例えばハッシュ値などに対応付けて記憶し、ネガデータテーブル２５１におけるネガデータへの効率的なアクセスを可能とするワークテーブルである。検索テーブル２６１は、複数のテーブルから構成することとしても良い。
【００２６】
ＲＴＣ（Real Time Clock）２７は、電源が切られている間も内蔵電池から電源供給を受けて動作する計時専用のチップである。
Ｉ／Ｆ（Interface）部３は、決済サーバ６との通信を行い、例えば、ネガデータを受信する。Ｉ／Ｆ部３と決済サーバ６との通信手段は、有線でも無線でも良いし、いわゆるインターネットでも良い。
【００２７】
キー入力部４は、例えば、キーボードであり、ユーザからの入力を受け付ける。
表示部５は、例えばＬＥＤ（Light Emitting Diode）やＬＣＤ（Liquid Crystal Display）による表示画面であり、ユーザからの入力を表示しても良いし、決済処理の実行状況等を表示しても良い。
カード処理部８は、例えばいわゆるＩＣカードリーダ／ライタ等によってカード７と情報通信を行う。
【００２８】
次に、本発明によるクレジット決済端末１の動作例の概要を説明する。
新たに設置されたクレジット決済端末１は、はじめに、初期化動作として決済サーバ６からネガデータ一覧を受信する。すると、ネガデータテーブル生成部２１を動作させて、ＦＲＯＭ２５にネガデータテーブル２５１を生成し、記憶させる。ここで、ネガデータテーブル２５１は予めＦＲＯＭ２５に記憶させておく構成としても良い。また、検索テーブル生成部２２が、クレジットカード識別情報とネガデータテーブル２５１に記憶されたネガデータの位置情報を対応づけて記憶する検索テーブル２６１をＲＡＭ２６に記憶させる。
【００２９】
決済サーバ６は、周期的にネガデータ一覧をクレジット決済端末１に送信する。クレジット決済端末１がネガデータ一覧を受信すると、ネガデータテーブル生成部２１は、ネガデータ一覧に基づいてネガデータテーブル２５１を更新する。また、ネガデータを無効化してクレジットカードを再び有効化するために、ネガデータは削除フラグを有している。すなわち、削除フラグが立っている場合はネガデータが無効であるとみなすことでクレジットカードは有効であるとする。ネガデータテーブル生成部２１は、ネガデータテーブル２５１にネガデータの削除フラグを更新する。そして、検索テーブル生成部２２が検索テーブル２６１を更新する。
【００３０】
クレジットカード判定部２８がクレジットカードの有効無効を判定する際には、クレジットカード識別情報に基づいてネガデータテーブル２５１からネガデータを読み出す。クレジットカード判定部２８は、ネガデータテーブル２５１にネガデータが存在し、かつ削除フラグが立っていなければ、クレジットカードを無効と判定し、削除フラグが立っていれば、クレジットカードを有効と判定する。また、クレジットカード判定部２８はネガデータが存在しなかった場合にはクレジットカードを有効と判定する。
【００３１】
以上が本実施形態による動作例の概要の説明であるが、以下に具体的な各処理の動作例について説明する。
まず、起動時にネガデータテーブル生成部２１がネガデータテーブル２５１を生成してＦＲＯＭ２５に記憶させるクレジット決済端末１の初期化動作例について具体的に説明する。
クレジット決済端末１が決済サーバ６から送信されたネガデータ一覧を受信すると、ネガデータテーブル生成部２１は、ネガデータ一覧からネガデータを１件読み出す。ネガデータテーブル生成部２１は、読み出した順にネガデータをネガデータテーブル２５１に登録していき、ネガデータテーブル２５１を生成する。この際、ネガデータテーブル生成部２１はネガデータをネガデータテーブル２５１の最後尾に追加し登録すれば良く、データ構造を整形したり並び替えを行ったりすることを要しない。
【００３２】
次に、図２を参照して、検索テーブル生成部２２が検索テーブル２６１を生成する動作を説明する。クレジット決済端末１は、起動時に上記検索テーブル生成部２２を動作させて検索テーブル２６１を生成してＲＡＭ２６に記憶させる。また、検索テーブル生成部２２が検索テーブル２６１を生成するのは、例えば起動時およびネガデータ一覧受信時である。すなわち、ＲＡＭ２６は揮発性であり電源が切れればデータが消えるので、起動時には検索テーブル２６１を生成する必要がある。また、クレジット決済端末１がネガデータ一覧を受信してネガデータテーブル２５１のデータが更新された際には、新規ネガデータの位置情報を検索テーブル２６１に追加する必要があるので、ネガデータ一覧受信時にも検索テーブル２６１を再構成する。
【００３３】
まず、検索テーブル生成部２２は、ネガデータテーブル２５１からネガデータを１件読み出す（ステップＳ４０）。そして、検索テーブル生成部２２は、ネガデータの削除フラグを参照する（ステップＳ４１）。検索テーブル生成部２２は、削除フラグが立っていれば（ステップＳ４１：Ｙｅｓ）、ネガデータがネガデータテーブル２５１の最後のデータであるか否かを判定する（ステップＳ４３）。ここで、ネガデータがネガデータテーブル２５１の最後のデータでなければ（ステップＳ４３：Ｎｏ）、次のネガデータを読み出し（ステップＳ４０へもどる）、最後のデータであれば、検索テーブル生成部２２は、検索テーブル生成処理を終了する。
【００３４】
一方、検索テーブル生成部２２は、削除フラグが立っていなければ（ステップＳ４１：Ｎｏ）、ネガデータテーブル２５１におけるネガデータの位置を示すポインタを検索テーブル２６１に記憶させる（ステップＳ４２）。ここで、検索テーブル生成部２２が生成する検索テーブル２６１は、例えば、図４に示すようなハッシュテーブルである。このとき、検索テーブル２６１は、ハッシュテーブル２６１１と、ネガデータポインタテーブル２６１２＿１等とから構成する。ネガデータポインタテーブルは、複数のテーブルであっても良い（ネガデータポインタテーブル２６１２＿１〜ネガデータポインタテーブル２６１２＿Ｎ）。ここで、検索テーブル生成部２２は、例えばクレジットカード識別情報のハッシュ値を求め、ハッシュ値に対応させてネガデータポインタテーブル２６１２＿１の位置情報であるテーブルポインタをハッシュテーブル２６１１に記憶させる。そして、ネガデータポインタテーブル２６１２＿１には、そのクレジットカード識別情報が含まれるネガデータの、ネガデータテーブル２５１における位置情報であるネガデータポインタを記憶する。
【００３５】
すなわち、ネガデータポインタテーブル２６１２＿１には、クレジットカード識別情報のハッシュ値が同一となる複数のネガデータの、ネガデータテーブル２５１における位置情報であるネガデータポインタが記憶される。このような検索テーブル２６１を生成し、ハッシュテーブル２６１１とネガデータポインタテーブル２６１２＿１とを用いてネガデータを検索することで、検索するために読み出すネガデータを大幅に減らすことができる。
【００３６】
例えば、クレジットカード識別情報が１６桁の数値情報であり、ネガデータが１０万件登録されていたとする。また、ハッシュテーブル２６１１は、ハッシュ値が値の大きさに応じて昇順または降順に並んだテーブルであるとする。
あるクレジットカード識別情報がネガデータテーブルに含まれるか否かを検索する場合、クレジットカード識別情報から例えば４桁のハッシュ値を求め、ハッシュテーブル２６１１を検索するのに要する時間は、ハッシュ値の計算時間に、ハッシュテーブル２６１１内のハッシュ値に対するテーブルポインタを特定する時間を加えた時間Ａとなる。ハッシュ値は、使用するハッシュ関数を選ぶことで、非常に短い時間で計算することが可能である。またテーブルポインタは、ハッシュテーブル２６１１がハッシュ値の大きさに応じて規則正しく並んでいるため、特定が容易であり、非常に短い時間で特定が可能である。従って時間Ａは結果的に非常に短い時間であり、これは、ネガデータテーブルを順次検索する時間と比較して無視できる程度の時間である。
次に、ネガデータポインタテーブルから、クレジットカード識別情報を含むネガデータのネガデータポインタを求める。ネガデータポインタテーブル２６１２＿１から２６１２＿Ｎのうちの一つに記憶されたネガデータポインタの件数は、１０万件／９９９９（４桁）なので約１０件程度であると考えられる。１０件から１件のネガデータポインタを順次検索する場合、平均して全件数の半分である５件検索すると必要なネガデータポインタを見つけられると考えられる。ネガデータテーブル２５１を直に順次検索する場合、平均して全件数の半分である５万件検索すると必要なネガデータを見つけられると考えられる。従ってハッシュテーブルを使用する場合、ネガデータを順次検索する場合と比較して、５件／５万件となり１万分の一の検索処理で済む。
このように、検索テーブル２６１を生成することによって、特にネガデータ量が多い場合、全てのネガデータを１件ずつ読み出して順次検索することなく、効率的な検索が可能となる。
【００３７】
また、検索テーブル生成部２２は、属性関連テーブルを検索テーブル２６１として生成しても良い。属性関連テーブルは、属性の一致するネガデータをそれぞれテーブルとして、階層構造化した一連のテーブルから構成する。
例えば、クレジットカード会社コードごとにクレジットカード会社コードテーブルを生成し、このクレジットカード会社コードに対応付けたカード発行会社コードと、カード発行会社コードテーブルの位置情報を表すカード発行会社コードテーブルポインタを記憶させる。さらに、このカード発行会社コードごとにカード発行会社コードテーブルを生成して、対応するクレジットカード識別情報が含まれるネガデータの、ネガデータテーブル２５１におけるネガデータの位置情報であるネガデータポインタを記憶する。
【００３８】
このように階層化した検索テーブル２６１を生成し、クレジットカード会社コードテーブルとカード発行会社コードテーブルとを用いてネガデータを検索することで、特にネガデータ量が多い場合、全てのネガデータを１件ずつ読み出して検索することなく、効率的な検索が可能となる。なお、属性の階層構造は、ネガデータの属性に合わせて階層を深くしても良いし、ネガデータ属性の重複状況にあわせて正規化したテーブルを生成しても良い。
検索テーブル生成部２２が生成する検索テーブル２６１について説明したが、検索テーブル２６１が生成する検索テーブル２６１は、効率的な検索を行うことが可能であれば、ハッシュテーブルや属性関連テーブルに限らない。
【００３９】
このように、検索テーブル生成部２２が読み込んだネガデータを検索テーブル２６１に記憶させる。そして、検索テーブル生成部２２は、記憶させたネガデータがネガデータテーブル２５１の最後のデータであるか否かを判定する（ステップＳ４３）。ここで、ネガデータがネガデータテーブル２５１の最後のデータでなければ（ステップＳ４３：Ｎｏ）、次のネガデータを読み出し（ステップＳ４０へもどる）、最後のデータであれば（ステップＳ４３：Ｙｅｓ）、検索テーブル生成部２２は、検索テーブル生成処理を終了する。
【００４０】
次に、図３を参照して、ネガデータテーブル生成部２１がネガデータテーブル２５１を生成する動作を説明する。クレジット決済端末１は、Ｉ／Ｆ部３がネガデータ一覧を受信すると、ネガデータテーブル生成部２１を動作させてネガデータテーブル２５１をＦＲＯＭ２５に記憶させる。
まず、クレジット決済端末１は、決済サーバ６が周期的に送信するネガデータ一覧をＩ／Ｆ部３にて受信し、記憶する。
【００４１】
ネガデータテーブル生成部２１は、ネガデータ一覧からネガデータを１件読み出す（ステップＳ２０）。そして、ネガデータテーブル生成部２１は、ネガデータの削除フラグを参照する（ステップＳ２１）。削除フラグが立っていなければ（ステップＳ２１：Ｎｏ）、ＦＲＯＭ２５にネガデータを追加、登録する（ステップＳ２５）。この際、ネガデータはネガデータテーブル２５１の最後尾に追加し登録すれば良く、データ構造を整形したり並び替えを行ったりすることを要しない。
【００４２】
一方、削除フラグが立っていれば（ステップＳ２１：Ｙｅｓ）、検索テーブル２６１を用いて当該ネガデータのネガデータテーブル２５１におけるネガデータポインタ（位置情報）を検出する（ステップＳ２２）。この際、バッチ処理等でネガデータが既に削除されている場合や、検索テーブル２６１生成時に既に削除フラグが立っている場合は検索テーブル２６１にネガデータポインタが記憶されないため、ネガデータポインタは検出されない（ステップＳ２３：Ｎｏ）。ネガデータが検出されれば（ステップＳ２３：Ｙｅｓ）、ネガデータ更新部２４は、ネガデータポインタに基づいてネガデータテーブル２５１におけるネガデータにアクセスし、ネガデータの削除フラグを１に更新する（ステップＳ２４）。
ネガデータポインタの検索の結果、ネガデータポインタが検出されなかった場合（ステップＳ２３：Ｎｏ）、またはステップＳ２５においてＦＲＯＭ２５にネガデータを追加、登録した後、またはステップＳ２４においてネガデータ更新部２４がネガデータの削除フラグを１に更新した後、ネガデータテーブル生成部２１は、ステップＳ２０で読み込んだネガデータがネガデータ一覧の最後のデータであるか否かを判定する（ステップＳ２６）。
【００４３】
ネガデータが最後のデータでなければ（ステップＳ２６：Ｎｏ）、ネガデータテーブル生成部２１はネガデータ一覧から次のネガデータを読み込む。一方、ネガデータが最後のデータであれば（ステップＳ２６：Ｙｅｓ）、ネガデータテーブル生成部２１は、検索テーブル生成部２２を用いて検索テーブル２６１を生成する（ステップＳ２７）。この際、検索テーブル生成部２２は、検索テーブル２６１をかならずしも１から生成しなくても良く、既に生成されている場合には新たにネガデータテーブル２５１に更新されたネガデータだけを検索テーブル２６１に更新する構成としても良い。そして、ネガデータテーブル生成部２１は、ネガデータテーブル２５１の生成を終了する。
【００４４】
以上説明したように、書き込みに時間がかかるＦＲＯＭ２５にネガデータを記憶させる際には、ネガデータを整形したり複雑な構造化をしたりすることなくネガデータテーブル２５１を生成し、記憶させる。しかし、このようなネガデータテーブル２５１から特定のネガデータを検出する際には、データを１件ずつ読み出す必要があり、最悪の場合全データを読み出すことになり検索効率が良くない。
【００４５】
そこで、本実施形態においては書き込み速度の速い記憶部であるＲＡＭ２６上に、クレジットカード識別情報と対応付けて、ネガデータテーブル２５１における特定のネガデータの位置情報を効率良く検索できるように構造化された検索テーブル２６１を生成し記憶させる。これにより、クレジットカード識別情報に基づいて検索テーブル２６１を検索することにより、ネガデータテーブル２５１でのネガデータ位置情報を取得することができるようになる。
【００４６】
また、ネガデータを無効化して、クレジットカードを有効化する際、数バイトの実データを１件削除するのは不揮発性メモリの特性上、時間がかかるので、１バイトのデータである削除フラグを各ネガデータに設けてＦＲＯＭ２５への書き込みの機会を減らし、この削除フラグが立っていればネガデータは削除されたこととみなすように、検索テーブル２６１とクレジットカード判定部２８を構成する。
【００４７】
すなわち、クレジット決済端末１は、ＦＲＯＭ２５と、ＦＲＯＭ２５と比較してアクセス速度の速いＲＡＭ２６とを備えることとし、受信したネガデータを、ＦＲＯＭ２５に順次書き込んでネガデータテーブル２５１を生成し、さらに、ネガデータテーブル２５１に記憶されたネガデータのネガデータポインタを検出するための検索テーブル２６１を生成してＲＡＭ２６に記憶させ、ネガデータテーブル２５１を用いてネガデータポインタを検出する構成としたので、ＦＲＯＭ２５へのネガデータ登録時にデータを構造化する必要がなく、また読み出す必要のあるネガデータ件数を減らすことで、効率的なネガデータ管理を行うことを可能とする。
【００４８】
また、削除ネガデータを含むネガデータ一覧を受信した場合には、検索テーブル２６１を用いて検出したネガデータアドレスにアクセスし、ネガデータの削除フラグを立てる構成としたので、効率的に削除ネガデータをクレジット決済端末１に反映することができる。
以上のように、本発明によれば、ネガデータの登録・削除・検索において、効率的に、速い処理速度で動作するクレジット決済端末を提供することができる。
尚、本実施形態では、削除フラグが０であればそのデータがネガデータであってクレジットカードが無効であり、削除フラグが１であればクレジットカードが有効である、と説明したが、逆であっても構わない。即ち、削除フラグが１であればそのデータがネガデータであってクレジットカードが無効であり、削除フラグが０であればクレジットカードが有効である、としてもよい。
【００４９】
なお、本発明における処理部の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによりクレジット決済を行ってもよい。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、ホームページ提供環境（あるいは表示環境）を備えたＷＷＷシステムも含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ（ＲＡＭ）のように、一定時間プログラムを保持しているものも含むものとする。
【００５０】
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【図面の簡単な説明】
【００５１】
【図１】本発明の一実施形態による構成を示すブロック図である。
【図２】本発明の一実施形態による検索テーブル生成処理を示すフローチャートである。
【図３】本発明の一実施形態によるネガデータテーブル生成処理を示すフローチャートである。
【図４】本発明の一実施形態により生成するテーブル構造例を示す図である。
【符号の説明】
【００５２】
１  クレジット決済端末
２  制御部
３  Ｉ／Ｆ部
４  キー入力部
５  表示部
６  決済サーバ
７  カード
８  カード処理部
２１  ネガデータテーブル生成部
２２  検索テーブル生成部
２３  ネガデータテーブル検索部
２４  ネガデータ更新部
２５  ＦＲＯＭ
２６  ＲＡＭ
２７  ＲＴＣ
２８  クレジットカード判定部
２５１  ネガデータテーブル
２６１  検索テーブル
２６１１  ハッシュテーブル
２６１２＿１  ネガデータポインタテーブル
２６１２＿２  ネガデータポインタテーブル
２６１２＿Ｎ  ネガデータポインタテーブル
【図１】
2008197955.tif 000003
【図２】
2008197955.tif 000004
【図３】
2008197955.tif 000005
【図４】
2008197955.tif 000006