JP2009134609A - 可変長データ格納装置、可変長データ格納方法、可変長データ読出方法及びそのプログラム - Google Patents

可変長データ格納装置、可変長データ格納方法、可変長データ読出方法及びそのプログラム Download PDF

Info

Publication number
JP2009134609A
JP2009134609A JP2007311119A JP2007311119A JP2009134609A JP 2009134609 A JP2009134609 A JP 2009134609A JP 2007311119 A JP2007311119 A JP 2007311119A JP 2007311119 A JP2007311119 A JP 2007311119A JP 2009134609 A JP2009134609 A JP 2009134609A
Authority
JP
Japan
Prior art keywords
marker
data
variable length
identifier
management
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2007311119A
Other languages
English (en)
Other versions
JP5233255B2 (ja
Inventor
Nobuhiko Nishimura
信彦 西村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2007311119A priority Critical patent/JP5233255B2/ja
Priority to US12/323,162 priority patent/US8166082B2/en
Publication of JP2009134609A publication Critical patent/JP2009134609A/ja
Priority to US13/425,813 priority patent/US8386539B2/en
Application granted granted Critical
Publication of JP5233255B2 publication Critical patent/JP5233255B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/04Addressing variable-length words or parts of words

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】可変長データをストアドデータファイルに隙間無く格納するようにした場合でも、各可変長データの区切り位置を明確且つ高速に判定することができるようにした可変長データ格納装置を提供する。
【解決手段】データ長を先頭に含む可変長データで構成される複数の可変長項目をストアドデータファイルに隙間無く格納する可変長データ格納ステップ(ステップS509)と、区切りマーカー及び区切りマーカーに対応する可変長データの格納位置からなる複数のマーカー管理項目をマーカー管理ファイルに登録するマーカー管理項目登録ステップ(ステップS510)と、区切りマーカーを構成する文字データの先頭から所定数の文字データで構成されるマーカー識別子及び区切りマーカーの格納位置からなる複数のマーカー識別子管理項目をマーカー管理用メモリ領域に登録するマーカー識別子管理項目登録ステップ(ステップS511)と、を有する。
【選択図】図5

Description

本発明は、コンピュータシステムにおけるファイル管理、特に、個々の内容や長さが不定である可変長データをファイル化して格納する格納装置、格納装置への格納方法、格納装置からの読出方法及びそのためのプログラムに関する。
読み取った長尺原稿の画像データを複数のファイルに分割し、分割された画像データを予め設定された標準的な方式(JPEG)で圧縮し、画像データの内容を示すJPEGマーカーを付与して画像データを格納するデータ格納方法が提案されている(特許文献1参照)。この方法によれば、メモリ量に応じて圧縮処理を行う画像サイズを変更することで、長尺原稿の読み取り画像を他の印刷装置やパソコンなどでも扱える標準的な画像フォーマットで、標準管理サイズ以上の画像が取り扱えることができる。
また、可変長データを取り扱う方法として、可変長データの最大長を予測し、この予測した最大長を項目長とする固定長データ域をデータファイルに確保することで、擬似的に可変長データを扱えるようにする方法がある。各可変長データは、固定長データ域の先頭から記録され、余った部分には処理・操作対象データとしては通常使われない特殊なデータが詰められるという方法である。この方法によれば、可変長データをあたかも固定長データとして扱うことができるので、各可変長データのデータファイルにおける位置を簡単に割り出すことができるが、常に可変長データの予想される最大長の大きさの記憶域が確保されるため、格納装置の記憶域に無駄が生じるという問題点と、仮に、可変長データの予想される最大長を越える可変長データが発生した場合に対応が複雑になるという問題点がある。
また、可変長データを取り扱う方法として、可変長データを隙間無く順にデータファイルに格納すると共に、読み出しに際しては、データファイルの先頭から1個ずつ可変長ワードを読み出すことで、所望の可変長データを探し出す方法もある。この方法によれば、可変長データの最大長を予測し、この予測した最大長を項目長とする固定長データ域をデータファイルに確保しないので、格納装置の記憶域の有効利用ができるが、所望の可変長データを読み出すためには、データファイルの先頭から1個ずつ可変長データを読み出して、所望の可変長データであるかどうかを確認しなければならないため、処理に時間を要するという問題点がある。
従来技術のこのような問題点を解決する例として、特許文献2や特許文献3に示されるものがある。
特許文献2に記載されたものは、複数の可変長データを格納する少なくとも1つのデータファイル、データファイルと1対1の対応関係を持ち、各可変長データの中の各フィールドのデータファイルにおける格納位置を保持する少なくとも1つの索引情報ファイル、及び各検索情報の索引ファイル名及び各検索情報の索引ファイルにおける格納位置を保持する少なくとも1つの検索情報ファイルからなり、各可変長データには、属性識別子及び終了識別子をそれぞれ直前及び直後に付加すると共に、ある可変長データの終了識別子と次の可変長データの属性識別子との間に必要に応じて検索の対象とならない不定長の付属データを付加するというものである。
特許文献3に記載されたものは、連続する可変長データがブロック化されて格納されるデータファイルを作成又は更新する時に、データファイルに格納された全ブロック中の可変長データ数の平均値である全平均ブロック化データ数と、データファイルの先頭ブロックから各ブロック迄の平均ブロック化データ数である部分平均ブロック化データ数をデータファイル中に格納し、データファイルの指定された番号の可変長データを探し出す時に、全平均ブロック化データ数と部分平均ブロック化データ数と指定された可変長データの番号とを用いて指定された可変長データを探し出すというものである。
特開2007−228555号公報 特開平6−60120号公報 特開平8−263338号公報
しかしながら、特許文献2に記載されたものは、検索情報ファイルが1つではないことから、検索指定がされた場合には、指定の検索情報が見付かるまで、検索情報ファイルを次々と主記憶装置上にオープンしなければならないので、処理の高速化が必ずしも充分には達成できないという問題点があり、また、必要に応じてではあるが、検索の対象とならない不定長の付属データをデータファイルに付加するため、格納装置の記憶域の有効利用が必ずしも充分とは言えないという問題点もある。
また、特許文献3に記載されたものは、可変長データがデータファイルに連続して格納されるので、格納装置の記憶域の有効利用ができるが、指定された可変長データを探し出すためには、先ず、指定された可変長データの番号を全平均ブロック化データ数で除算して、指定された可変長データが格納されていると思われるブロックのブロック番号を計算し、次いで、計算されたブロック番号のブロックに位置付けし、そのブロックの先頭に格納されている可変長データを読み出して、その番号を調べ、その番号が、指定された可変長データの番号よりも大きい時は、指定された可変長データは、そのブロックよりも前のブロックに格納されていることになるので、その場合には、計算により求められたブロックの部分平均ブロック化データ数を参照し、指定された可変長データの番号を部分平均ブロック化データ数で除算して再度、指定された可変長データが格納されていると思われるブロックのブロック番号を計算するという処理を、計算されたブロックの先頭データのデータ番号が指定された可変長データの番号以下になるまで繰り返し、繰り返し計算されたブロックの先頭データのデータ番号が指定された可変長データの番号以下になった場合、そのブロックの先頭から可変長データを逐次読み出して、指定された可変長データであるかどうかを確認するというものであり、データファイルの先頭から1個づつ可変長ワードを読み出して、指定された可変長データであるかどうかを確認しなければならないことに比べて処理の高速化を図ることはできるものの、指定された可変長データの位置を直ちに求めることができないため、処理の高速化が必ずしも計れないという問題点がある。
本発明は、これら従来技術の問題点に鑑みてなされたものであり、可変長データをストアドデータファイルに隙間無く格納するようにした場合でも、各可変長データの区切り位置を明確且つ高速に判定することができるようにした可変長データ格納装置、可変長データ格納方法、可変長データ読出方法及びそのプログラムを提供することを解決すべき課題とするものである。
上記課題を解決するために、本発明の可変長データ格納装置は、データ長を先頭に含む可変長データで構成される複数の可変長項目が隙間無く格納されるストアドデータファイルと、区切りマーカー及び前記区切りマーカーに対応する前記可変長データの前記ストアドデータファイルにおける格納位置からなる複数のマーカー管理項目が登録されるマーカー管理ファイルと、前記区切りマーカーを構成する前記文字データの先頭から所定数の文字データで構成されるマーカー識別子及び前記区切りマーカーの前記マーカー管理ファイルにおける格納位置からなる複数のマーカー識別子管理項目が登録されるマーカー管理用メモリ領域と、を備えることを特徴とする。
上記構成によれば、マーカー管理ファイルより容量サイズの小さなマーカー管理用メモリ領域に登録されているマーカー識別子管理項目を利用して、マーカー管理ファイルに登録されているマーカー管理項目を直接読み出し、この読み出したマーカー管理項目に格納されている可変長データのストアドデータファイルにおける格納位置に基づいて所望の可変長データを直接読み出すことができることから、処理に際して、登録されているマーカー識別子管理項目の全てをコンピュータの主記憶装置に展開したとしても、主記憶装置を不用意に圧迫することもないので、コンピュータのメモリ資源を有効に利用しながら、所望の可変長データの高速読出が可能な可変長データ格納装置を提供することができる。
また、前記区切マーカーは、前記可変長データの発生時に、所定の規則にしたがって自動的に作成される文字データであることが好ましい。
上記構成によれば、区切りマーカーは、可変長データの発生時に、所定の規則にしたがって自動的に作成されるので、人手による入力ミスを防止することができる。
また、前記所定の規則は、ジャーナル情報が印刷された日時であることが好ましい。
上記構成によれば、所定の規則は、ジャーナル情報が印刷された日時なので、可変長データが、例えば、取引データの場合には、取引の完了が確定した可変長データについてだけ、可変長データ格納装置に格納されることになる。
また、前記課題を解決するために、本発明の可変長データ格納方法は、データ長を先頭に含む可変長データで構成される複数の可変長項目をストアドデータファイルに隙間無く格納する可変長データ格納ステップと、
区切りマーカー及び前記区切りマーカーに対応する前記可変長データの前記ストアドデータファイルにおける格納位置からなる複数のマーカー管理項目をマーカー管理ファイルに登録するマーカー管理項目登録ステップと、
前記区切りマーカーを構成する前記文字データの先頭から所定数の文字データで構成されるマーカー識別子及び前記区切りマーカーの前記マーカー管理ファイルにおける格納位置からなる複数のマーカー識別子管理項目をマーカー管理用メモリ領域に登録するマーカー識別子管理項目登録ステップと、を有することを特徴とする。
また、上記構成によれば、本発明の可変長データ格納方法に有用な可変長データ格納方法を提供することができる。
また、前記区切マーカーは、前記マーカー管理用メモリ領域及び前記マーカー管理ファイルを参照して、既に区切マーカーとして使用されていないことを確認して使用されることが好ましい。
また、上記構成によれば、区切りマーカーは、マーカー管理ファイルに既に区切りマーカーとして使用されていないことを確認した上で使用されるので、区切りマーカーを自動的に作成する機構に障害が生じて、既使用の区切りマーカーと同じ区切りマーカーが誤って自動的に作成されたとしても、これに対処することできる。例えば、人手によって区切りマーカーを入力するようにした場合に生じ得る入力ミスにも対処できる。
また、前記課題を解決するために、本発明の可変長データ読出方法は、データ長を先頭に含む可変長データで構成される複数の可変長項目が隙間無く格納されるストアドデータファイルと、前記区切りマーカー及び前記区切りマーカーに対応する前記可変長データの前記ストアドデータファイルにおける格納位置からなる複数のマーカー管理項目が登録されるマーカー管理ファイルと、前記区切りマーカーを構成する前記文字データの先頭から所定数の文字データで構成されるマーカー識別子及び前記区切りマーカーの前記マーカー管理ファイルにおける格納位置からなる複数のマーカー識別子管理項目が登録されるマーカー管理用メモリ領域とを備える可変長データ格納装置から所望の可変長データを読み出す可変長データ読出方法であって、
入力された検索情報を構成する文字データに基づいて、前記マーカー識別子管理項目の前記マーカー識別子と比較するためのマーカー識別子を作成する識別子作成ステップと、
前記作成されたマーカー識別子が前記マーカー識別子管理項目の前記マーカー識別子と一致するか否かを判定する識別子判定ステップと、
前記識別子判定ステップにおいて、前記作成されたマーカー識別子が前記マーカー識別子管理項目の前記マーカー識別子と一致すると判定された場合、前記検索情報が前記マーカー管理項目の前記区切りマーカーと一致するか否かを判定する検索情報判定ステップと、
前記検索情報判定ステップにおいて、前記検索情報が前記マーカー管理項目の前記区切りマーカーと一致すると判定された場合、前記区切りマーカーに対応する前記格納位置に基づいて、前記ストアドデータファイルにアクセスし、所望の可変長データを読み出す可変長データ読出ステップと、を有することを特徴とする。
上記構成によれば、マーカー管理ファイルより容量サイズの小さなマーカー管理用メモリ領域に登録されているマーカー識別子管理項目を利用して、マーカー管理ファイルに登録されているマーカー管理項目を直接読み出し、この読み出したマーカー管理項目に格納されている可変長データのストアドデータファイルにおける格納位置に基づいて所望の可変長データを直接読み出すことができる。したがって、登録されているマーカー識別子管理項目の全てをコンピュータの主記憶装置に展開したとしても、主記憶装置を不用意に圧迫することもないので、コンピュータのメモリ資源を有効に利用しながら、所望の可変長データの高速読出が可能な可変長データ読出方法を提供することができる。
また、前記マーカー管理用メモリ領域に未処理のマーカー識別子管理項目がある場合に、
前記識別子判定ステップにおいて、前記作成されたマーカー識別子が前記マーカー管理識別子項目の前記マーカー識別子と一致しないと判定された場合、
前記検索情報判定ステップにおいて、前記検索情報が前記マーカー管理項目の前記区切りマーカーと一致しないと判定された場合、
前記検索情報判定ステップにおいて、前記検索情報が前記マーカー管理項目の前記区切りマーカーと一致すると判定され、かつ前記可変長データ読出ステップにおいて、前記所望の可変長データが読み出された場合のいずれの場合でも、前記マーカー管理用メモリ領域に未処理のマーカー識別子管理項目が無くなるまで、前記識別子判定ステップ、前記検索情報判定ステップ及び前記可変長データ読出ステップを繰り返すことが好ましい。
上記構成によれば、マーカー管理用メモリ領域に未処理のマーカー識別子管理項目が無くなるまで、識別子判定ステップ、検索情報判定ステップ及び可変長データ読出ステップを繰り返すので、漏れのない検索・読出が可能になる。
また、前記検索情報を構成する文字データの文字数は、前記区切りマーカーを構成する文字データの文字数より少ない場合を含むことが好ましい。
上記構成によれば、検索情報を構成する文字データの文字数を区切りマーカーを構成する文字データの文字数より少なくして検索指定することができるので、上位概念で一致する区切りマーカーを持つ可変長データを1回の検索指定で全て検索することができる。
また、本発明の格納・読出プログラムは、上の可変長データ格納方法及び可変長データ読出方法の各ステップをコンピュータに実行させることができる。
上記構成によれば、格納・読出プログラムをコンピュータにインストールし、実行させることによって、このコンピュータを、可変長データ格納装置、可変長データ格納方法及び可変長データ読出方法を実現するシステムとして構築することができる。
以下、図面を参照して本発明の一実施形態を詳細に説明する。
[コンピュータシステム]
まず、本発明の可変長データ格納装置、可変長データ格納方法及び可変長データ読出方法を実施するためのコンピュータシステムについて、図1のブロック図を用いて説明する。
図1において、1〜8は、それぞれ、CPU(Central Processing Unit)、キーボード、ディスプレイ、プリンタ、主記憶装置、EEPROM(Electrically Erasable Programmable Read Only Memory)、外部記憶装置及びコンピュータの内部バスを示す。CPU1、キーボード2、ディスプレイ3、プリンタ4、主記憶装置5、EEPROM6及び外部記憶装置7は、コンピュータの内部バス8によって相互接続されている。EEPROM6及び外部記憶装置7は、本発明の可変長データ格納装置を構成する。
主記憶装置5には、OS常駐領域、可変長データ格納・読出プログラム領域及び各種作業領域等が設けられ、外部記憶装置7には、ストアドデータファイル[1]〜[n]、マーカー管理ファイル及び各種ファイル等が格納される。EEPROM6は、マーカー管理用メモリ領域として使用される。
[ストアドデータファイルの構成]
次に、本発明のストアドデータファイルについて、図2の模式図を用いて説明する。
図2に示されるように、ストアドデータファイル[1]には、ファイルヘッダーがファイルの先頭に配置され、このファイルヘッダーに引き続く位置から可変長項目が隙間無く次々と格納される。
以下では、ストアドデータファイル[1]の構成についてのみ説明するが、他のストアドデータファイル[2]〜[n]も同じ構成を持つ。
ファイルヘッダーは、ストアドデータファイル[1]がテキストデータファイルであることを示すファイル種別、ストアドデータファイル[1]全体のチェックサム値を示すデータ或いはストアドデータファイル[1]の容量サイズを示すデータ等を保持する。
各可変長項目は、データ長を先頭に含む可変長データから構成される。例えば、可変長項目[1]は、データ長[1]を先頭に含む可変長データ[1]で構成され、可変長項目[2]は、データ長[2]を先頭に含む可変長データ[2]で構成され、可変長項目[n]は、データ長[n]を先頭に含む可変長データ[n]で構成される。
データ長は固定長のデータである。データ長[1]〜[n]は、それぞれ、可変長データ[1]〜[n]のデータ長を示す。なお、可変長データの格納形式は自由である。
[ストアドデータファイルの新規作成]
次に、ストアドデータファイルを新規に作成する場合について説明する。
ファイル管理上の制約から、ストアドデータファイル[1]は、所定の容量サイズ以上のものとすることはできないので、可変長データの発生に伴って、次々と可変長データがストアドデータファイル[1]に格納されると、やがてストアドデータファイル[1]に空き記憶域がなくなる。
この場合には、ストアドデータファイルを新規に作成してストアドデータファイル[2]とし、続いて発生した可変長データをこの新規に作成したストアドデータファイル[2]に格納する。ストアドデータファイル[2]にも空き記憶域がなくなったら、更に別のストアドデータファイル[3]を新規に作成して同様に可変長データを格納する。このようにして、コンピュータの外部記憶装置7に空き領域がある限り、可変長データを格納することができる。
[マーカー管理ファイルの構成]
次に、本発明のマーカー管理ファイルの構成について、図3の模式図を用いて説明する。
図3に示されるように、マーカー管理ファイルには、ファイルヘッダーがファイルの先頭に配置されると共に、複数のマーカー管理項目が登録される。本発明では、ストアドデータファイルが複数になっても、マーカー管理ファイルは一個作成されるのみである。
ファイルヘッダーは、マーカー管理ファイルがテキストデータファイルであることを示すファイル種別、マーカー管理ファイル全体のチェックサム値を示すデータ或いはマーカー管理ファイルの容量サイズを示すデータ等を保持する。これは、ストアドデータファイルと同様である。
各マーカー管理項目は、マーカー名、ファイルID及び格納位置から構成される。例えば、マーカー管理項目[1]は、区切りマーカー[1]、ファイルID“1”及び格納位置“00000000”から構成され、マーカー管理項目[2]は、区切りマーカー[2]、ファイルID“1”及び格納位置“00123456”から構成され、マーカー管理項目[n]は、区切りマーカー[n]、ファイルID“1”及び格納位置“07890123”から構成され、マーカー管理項目[x]は、区切りマーカー[x]、ファイルID“1”及び格納位置“34567890”から構成され、マーカー管理項目[x+1]は、区切りマーカー[x+1]、ファイルID“2”及び格納位置“00000000”から構成され、マーカー管理項目[x+n]は、区切りマーカー[x+n]、ファイルID“2”及び格納位置“09012345”から構成される。
区切りマーカーは固定長であり、ファイルID及び格納位置も固定長なので、各マーカー管理項目は固定長となる。
ファイルIDは、各区切りマーカーに対応する可変長データが格納されているストアドデータファイルの番号を示し、格納位置は、そのストアドデータファイルにおける各区切りマーカーに対応する可変長データの先頭位置を示す。
先に説明したように、可変長データの先頭には、その可変長データのデータ長が格納されているので、このデータ長を基にして所望の可変長データを正しく取り出すことができる。
例えば、ある検索情報で検索指定が行われ、その検索情報と区切りマーカー[1]とが一致した場合には、ストアドデータファイル[1]の“00000000”が指示され、可変長データ[1]のデータ長[1]が読み出される。次いで、このデータ長[1]に従う長さのデータが読み出される。この読み出されたデータが所望の可変長データである。
同様にして、ある検索情報で検索指定が行われ、その検索情報と区切りマーカー[2]とが一致した場合には、ストアドデータファイル[1]の“00123456”が指示される。その検索情報と区切りマーカー[n]とが一致した場合には、ストアドデータファイル[1]の“07890123”が指示される。その検索情報と区切りマーカー[x]とが一致した場合には、ストアドデータファイル[1]の“3456789”が指示される。その検索情報と区切りマーカー[x+1]とが一致した場合には、ストアドデータファイル[2]の“00000000”が指示され、その検索情報と区切りマーカー[x+n]とが一致した場合には、ストアドデータファイル[2]の“09012345”が指示され、それぞれ、所望の可変長データが読み出される。
なお、格納位置“00000000”は、ファイルヘッダーに引き続き位置を示しているが、ストアドデータファイルの先頭位置を格納位置の先頭としてもよい。
区切りマーカーは、ある規則に従って自動的に作成される文字データとするのが好ましい。区切りマーカーは、可変長データが発生する度にカウントアップされるシリアル番号でも良いが、可変長データが取引によって発生する取引データの場合には、可用性の観点から、取引の行われた日付・時刻データであることが好ましい。
日付・時刻データは、例えば、“YY/MM/DD/hh/mm/ss”という形式を取る。“YY”は西暦の下2桁、“MM”は月、“DD”は日、“hh”は時(24時)、“mm”は分、“ss”は秒をそれぞれ示す。“/”(スラッシュ)はデータ間の区切りを示す。なお、日付・時刻データの形式が上で説明した例でなくても良いことは言うまでもない。
このような日付・時刻データを区切りマーカーとして用いると、特定の日付・時刻の取引データを取り出すことができるだけでなく、検索情報を日又は月に留めれば、検索指定された日又は月に行われた取引の内容を示す可変長データの全てを取り出し、集計することもできる。
また、このように、可変長データが取引データの場合には、日付・時刻データは、取引の完了時、例えば、可変長データの発生元がPOS端末のキャッシュレジスタの場合には、ジャーナル情報が印刷された日付・時刻データとするのが好ましい。
なお、上記説明では、区切りマーカーとして、規則性のある文字データの例を説明しているが、規則性の無いデータ(例えば、顧客ID等)を使用することも可能である。
[マーカー管理用メモリ領域の構成]
このように、本発明のマーカー管理ファイルによれば、ある検索情報で検索指定が行われると、その検索情報と一致する区切りマーカーに対応する可変長データの先頭位置を直接指示することができるので、処理の高速化をそれなりに達成することは可能であるが、区切りマーカー及び格納位置のデータ長が比較的大きいことから、区切りマーカーの比較処理や格納位置の取り出し処理に余分な時間を要するという問題がある。また、区切りマーカー及び格納位置のデータ長が比較的大きいので、処理に際して、マーカー管理ファイル全体を主記憶装置に展開すると、主記憶装置の記憶域を不用意に圧迫しかねないという問題もある。
次に、本発明のマーカー管理用メモリ領域の構成について、図4に示す模式図を用いて説明する。
図4に示されるように、マーカー管理用メモリ領域には、複数のマーカー識別子管理項目が登録される。
各マーカー識別子管理項目は、マーカー識別子名、ファイルID及びマーカー名位置から構成される。例えば、マーカー識別子管理項目[1]は、マーカー識別子[1]、ファイルID“1”及びマーカー名位置“0000”から構成され、マーカー識別子管理項目[2]は、マーカー識別子[2]、ファイルID“1”及びマーカー名位置“0256”から構成され、マーカー識別子管理項目[n]は、マーカー識別子[n]、ファイルID“1”及びマーカー名位置“1024”から構成され、マーカー識別子管理項目[x]は、マーカー識別子[x]、ファイルID“1”及びマーカー名位置“2048”から構成され、マーカー識別子管理項目[x+1]は、マーカー識別子[x+1]、ファイルID“2”及びマーカー名位置“2304”から構成され、マーカー識別子管理項目[x+n]は、マーカー識別子[x+n]、ファイルID“2”及びマーカー名位置“4096”から構成される。
マーカー識別子、ファイルID及びマーカー名位置は、いずれも固定長なので、マーカー識別子管理項目も固定長となる。
マーカー識別子は、対応する区切りマーカーを構成する文字データの先頭から所定数の文字データで構成される。例えば、マーカー識別子[1]は、対応する区切りマーカー[1]が“07/11/11/13/44/20”という文字データで構成されているとすると、先頭から例えば8文字で構成される“07/11/11”という文字データとなる。なお、先に説明したとおり、文字データ“07/11/11/13/44/20”は、西暦2007年11月11日13時44分20秒を意味する。
ファイルIDは、可変長項目[α]を格納したストアドデータファイルのIDを示し、マーカー名位置は、指定されたマーカー識別子に対応する区切りマーカー管理項目のマーカー管理ファイルにおける先頭位置を示す。また、マーカー名位置は、マーカー管理項目のマーカー管理ファイルにおける先頭位置を示すだけなので、マーカー管理ファイルに格納されるマーカー管理項目に登録される格納位置より小さいデータ長で足りる。
先に説明したように、区切りマーカー管理項目には、区切りマーカー、ファイルID及び区切りマーカーに対応する可変長データの該当するストアドデータファイルにおける格納位置が登録されているので、結局、所望の可変長データを正しく取り出すことができる。例えば、ある検索情報で検索指定が行われ、その検索情報とマーカー識別子[1]とが一致した場合には、マーカー管理ファイルの“0000”が指示されて、マーカー管理項目[1]が読み出され、次いで、その検索情報とマーカー管理項目[1]の区切りマーカーとが比較されて、その一致が確認されると、このマーカー管理項目[1]に登録されているファイルID及び格納位置により、ストアドデータファイル[1]の“00000000”が指示される。そこで、可変長データ[1]のデータ長[1]が読み出され、次いで、このデータ長[1]に従う長さの可変長データ[1]が読み出される。検索情報が他のマーカー識別子と一致した場合にも、同様のことが行われる。なお、検索情報は、マーカー識別子と比較される場合には、先頭から所定数の文字データが使用されるのみである。これについては、後で詳細に説明する。
なお、先に説明したように、マーカー識別子は、対応する区切りマーカーより少ない文字数の文字データで構成されているので、マーカー識別子より多い文字数、例えば、年月日だけではなく、時分秒まで指示する検索情報で検索指定が行われた場合には、複数のマーカー識別子がヒットすることがある。この場合には、このままでは、いずれの可変長データを読み出すべきか特定することはできないが、先に説明したように、マーカー識別子管理項目には、対応する区切りマーカーのマーカー管理ファイルにおける格納位置、つまり、マーカー名位置が登録されているので、ヒットしたマーカー識別子毎に、対応する区切りマーカーと指定された検索情報とを比較することにより、所定の区切りマーカーを探し出すことができる。所定の区切りマーカーが探し出されれば、所望の可変長データを読み出すことができることは言うまでもない。
本発明のマーカー管理用メモリ領域を利用すれば、マーカー識別子及びマーカー名位置のデータ長が小さいので、マーカー識別子の比較処理やマーカー名位置の取り出し処理を高速に行うことができるだけでなく、マーカー管理用メモリ領域は、主記憶装置5とは別な記憶装置であるEEPROM6により構成されるので、処理に際して、主記憶装置5の記憶域を圧迫することもない。また、EEPROM6の容量も小さいもので済ますことができる。
更に、指定された検索情報と一致するマーカー識別子が見付かった後は、そのマーカー識別子管理項目のマーカー名位置を利用することにより、マーカー管理ファイル全体を主記憶装置5に展開することなく、所定のマーカー管理項目だけを主記憶装置5に展開し、指定された検索情報と展開されたマーカー管理項目の区切りマーカーとを比較するようにすれば、主記憶装置5の記憶域を圧迫することもないので、コンピュータのメモリ資源を有効に利用しながら、所望の可変長データのなお一層の高速読出が可能になる。
以上、マーカー管理用メモリ領域については、主記憶装置5とは別な記憶装置であるEEPROM6により構成する例を説明したが、マーカー管理用メモリ領域は、外部記憶装置7上に構築することも可能である。この場合には、複数のマーカー識別子管理項目は、例えば、マーカー識別子管理ファイルという1つの管理用ファイルに登録されることになる。なお、マーカー管理用メモリ領域を外部記憶装置7上に構築した場合には、処理に際して、マーカー識別子管理ファイル全体を主記憶装置に展開することになるが、先に説明したように、マーカー識別子管理ファイルは、マーカー管理ファイルに比べて容量サイズが小さいので、主記憶装置の記憶域を不用意に圧迫することはない。
[可変長データ格納手順]
次に、本発明の可変長データ格納手順について、図5の処理フローを用いて説明する。
<新規データの取り込み>
新規のデータ入力が有るか否かを判定し(S501)、新規のデータ入力が無い場合(S501:no)には、新規のデータ入力が有るか否かの判定処理(S501)に戻る。
新規のデータ入力が有る場合(S501:yes)には、入力された可変長データ[α]及び区切りマーカー[α]を取り込む(S502)。先に説明したように、区切りマーカー[α]は、例えば、可変長データが取引によって発生する取引データの場合には、その取引の行われた日付・時刻を表す文字データで構成されている。この文字データの形式が、例えば、“YY/MM/DD/hh/mm/ss”という形式であって良いことは先に説明したとおりである。
<データ長の計算><マーカー識別子作成>
次いで、取り込まれた可変長データ[α]のデータ長[α]を計算し(S503)、続けて、マーカー識別子[α]を作成する(S504)。マーカー識別子[α]は、取り込まれた区切りマーカー[α]を構成する文字データの先頭から所定数の文字データで構成される。
<区切りマーカーの固有性確認>
取り込まれた区切りマーカー[α]は、可変長データ[α]に固有のものでなければ、検索対象キーとして有用ではないので、その固有性を判定する必要がある。その判定手順は、次のものである。
マーカー管理用メモリ領域に既に登録されているマーカー識別子管理項目の1つを読み出す(S505)。最初は、マーカー識別子管理項目[1]を読み出す。マーカー管理用メモリ領域にマーカー識別子管理項目が何も登録されていないときは、全く新規な格納処理なので、この場合には、直ちに、ストアドデータファイル[1]に、“データ長+可変長データ[α]”からなる可変長項目[1]をファイルヘッダーに引き続く位置に隙間無く格納する。ストアドデータファイルへの格納については、後で詳しく説明する。
マーカー識別子管理項目を読み出した後、作成されたマーカー識別子[α]が読み出したマーカー識別子管理項目のマーカー識別子と一致するか否かを判定する(S506)。作成されたマーカー識別子[α]が読み出したマーカー識別子管理項目のマーカー識別子と一致しない場合(S506:no)には、読出処理をしていないマーカー識別子管理項目が有るか否かを判定し(S507)、有る場合(S507:yes)には、マーカー識別子管理項目の読出処理に戻り、マーカー管理用メモリ領域から次のマーカー識別子管理項目を読み出す(S505)。読出処理をしていないマーカー識別子管理項目が無い場合(S507:no)については、後の<ストアドデータファイルへの格納>の項で説明する。
作成されたマーカー識別子[α]が読み出したマーカー識別子管理項目のマーカー識別子と一致する場合(S506:yes)には、取り込まれた区切りマーカー[α]が既存の区切りマーカーと同じである可能性があるので、その判定を行なわなければならない。この判定は、次のように行われる。
読み出したマーカー識別子管理項目のマーカー名位置に基づいて、マーカー管理ファイルに登録されている対応するマーカー管理項目を読み出し(S513)、次いで、取り込まれた区切りマーカー[α]が読み出したマーカー管理項目の区切りマーカーと一致するか否かを判定する(S514)。取り込まれた区切りマーカー[α]が読み出したマーカー管理項目の区切りマーカーと一致しない場合(S514:no)には、読出処理をしていないマーカー識別子管理項目が有るか否かを判定し(S507)、有る場合(S507:yes)には、マーカー識別子管理項目の読出処理に戻り、マーカー管理用メモリ領域から次のマーカー識別子管理項目を読み出す(S505)。読出処理をしていないマーカー識別子管理項目が無い場合(S507:no)については、後の<ストアドデータファイルへの格納>の項で説明する。
取り込まれた区切りマーカー[α]が読み出したマーカー管理項目の区切りマーカーと一致する場合(S514:yes)には、取り込まれた区切りマーカー[α]は、固有性を有していないことになるので、この区切りマーカー[α]を無効化(S515)し、続けて、正しい区切りマーカー[α]の入力を促す(S516)。区切りマーカー[α]が再入力された場合には、この再入力された区切りマーカー[α]に基づいて、新しいマーカー識別子[α]を作成する(S504)。なお、区切りマーカー[α]の無効化(S515)が所定回数以上繰り返された場合は、エラー終了するようにしても良い。
<ストアドデータファイルへの格納>
読出処理をしていないマーカー識別子管理項目が無い場合(S507:no)には、取り込まれた区切りマーカー[α]は、固有性を有していることになる。
このように、取り込まれた区切りマーカーの固有性を確認した後、現在格納対象となっているストアドデータファイルに、“データ長[α]+可変長データ[α]”を格納するに足りる空き記憶域があるか否かを判定する(S508)。現ストアドデータファイルに空き記憶域がない場合(S508:no)には、新たなストアドデータファイルを作成し、それを現ストアドデータファイルとする(S517)。この新たなストアドデータファイルのIDは、旧ストアドデータファイルのIDに“+1”したものとなる。
現在格納対象となっているストアドデータファイルに、“データ長[α]+可変長データ[α]”を格納するに足る空き記憶域がある場合(S508:yes)、又は新たなストアドデータファイルを作成し、そのデータファイルを新たな現ストアドデータファイルとした場合(S516)には、現ストアドデータファイルの空き記憶域、即ち、既に格納された可変長項目に引き続く位置、又はファイルヘッダーに引き続く位置に、“データ長[α]+可変長データ[α]”からなる可変長項目[α]を隙間無く格納する(S509)。
<マーカー管理ファイルへの登録>
新規の可変長項目[α]の格納が終了すると、マーカー管理ファイルの空き記憶域に、“区切りマーカー[α]”、“可変長項目[α]を格納したストアドデータファイルのID”及び“可変長項目[α]の格納位置”からなる新たなマーカー管理項目[α]を登録する(S510)。先に説明したことから明らかなように、“可変長項目[α]の格納位置”は、可変長データ[α]の先頭に付加された“データ長[α]”の先頭位置を示す。
<マーカー管理用メモリ領域への登録>
マーカー管理項目[α]の登録が終了すると、次に、マーカー管理用メモリ領域の空き記憶域に、“作成されたマーカー識別子[α]”、“可変長項目[α]を格納した格納したストアドデータファイルのID”及び“マーカー管理項目[α]のマーカー名位置”からなる新たなマーカー識別子管理項目[α]を登録する(S511)。作成された識別子[α]が対応する“区切りマーカー[α]”を構成する文字データの先頭から所定数の文字データで構成されることは、先に説明したとおりである。なお、“可変長項目[α]を格納したストアドデータファイルのID”は無くても良い。
<終了処理>
可変長項目[α]の格納、並びにマーカー管理項目[α]及びマーカー識別子管理項目[α]の登録が終了した後は、格納処理を終了するか否かを判断することになる(S512)。格納処理を終了しないと判断した場合(S512:no)には、新規のデータ入力が有るか否かを判定する処理(S501)に戻る。
[可変長データ読出手順]
次に、本発明の可変長データ読出手順について、図6の処理フローを用いて説明する。
<検索情報の取り込み>
検索指定が有るか否かを判定し(S601)、検索指定が無い場合(S601:no)には、検索指定が有るか否かの判定処理(S601)に戻る。
検索指定が有る場合(S601:yes)には、入力された検索情報[β]を取り込む(S602)。先に説明したことから理解できるように、検索情報[β]は、区切りマーカーと同じ形式を取る。具体的には、“07/11/13/09/00/20”というようなものである。この検索指定は、“西暦2007年11月13日9時0分20秒に行われた取引データは何か?”ということを意味する。なお、実際上は、秒まで指定することはない。
<マーカー識別子の作成>
次いで、取り込まれた検索情報[β]を構成する文字データの文字数の先頭から所定数の文字データで構成されるマーカー識別子[β]を作成する。取り込まれた検索情報[β]を構成する文字データの文字数がマーカー識別子を構成する文字データの文字数と同じか少ない場合には、取り込まれた検索情報[β]をそのまま作成されたマーカー識別子[β]として用いる。これは、検索情報[β]のマーカー識別子を構成する文字データの文字数を越える文字データの部分は、マーカー管理用メモリ領域に登録されているマーカー識別子管理項目のマーカー識別子との比較には使われないからである。
<可変長データの検索>
マーカー管理用メモリ領域に登録されているマーカー識別子管理項目の1つを読み出す(S604)。最初は、マーカー識別子管理項目[1]を読み出す。
マーカー識別子管理項目を読み出した後、作成されたマーカー識別子[β]が読み出したマーカー識別子管理項目のマーカー識別子と一致するか否かを判定する(S605)。なお、検索情報[β]を構成する文字データの文字数がマーカー識別子管理項目のマーカー識別子を構成する文字データの文字数より少ない場合には、検索情報[β]から作成されるマーカー識別子[β]を構成する文字データの文字数は、マーカー識別子管理項目のマーカー識別子を構成する文字データの文字数より少ないものとなるが、その場合には、マーカー識別子管理項目のマーカー識別子の先頭から検索識別子[β]を構成する文字データの文字数分の比較を行って、一致するか否かを判定する。
作成されたマーカー識別子[β]が読み出したマーカー識別子管理項目のマーカー識別子と一致しない場合(S605:no)には、読出処理されていないマーカー識別子管理項目が有るか否かを判定し(S611)、有る場合(S611:yes)の場合には、マーカー識別子管理項目の読出処理に戻り、マーカー管理用メモリ領域から次のマーカー識別子管理項目を読み出す(S604)。読出処理されていないマーカー識別子管理項目が無い場合(S611:no)については、後の<検索結果の出力>の項で説明する。
で説明する。
作成されたマーカー識別子[β]が読み出したマーカー識別子管理項目のマーカー識別子と一致する場合(S605:yes)には、続けて、読み出したマーカー識別子管理項目のマーカー識別子に対応するマーカー管理項目をマーカー管理ファイルから読み出す(S606)。この読み出しは、マーカー識別子管理項目のマーカー名位置に基づいて行う。
次いで、取り込まれた検索情報[β]が読み出したマーカー管理項目の区切りマーカーと一致するか否かを判定する(S607)。なお、先に説明したことから理解できるように、検索指定は、検索情報[β]を構成する文字データの文字数が区切りマーカーを構成する文字データの文字数より少ない形で行われることがあるが、その場合には、区切りマーカーの先頭から検索情報[β]を構成する文字データの文字数分の比較を行って、一致するか否かを判定する。
取り込まれた検索情報[β]が読み出したマーカー管理項目の区切りマーカーと一致しない場合(S607:no)には、読出処理されていないマーカー識別子管理項目が有るか否かを判定し(S611)、有る場合(S611:yes)の場合には、マーカー識別子管理項目の読出処理に戻り、マーカー管理用メモリ領域から次のマーカー識別子管理項目を読み出す(S604)。読出処理されていないマーカー識別子管理項目が無い場合(S611:no)については、後の<検索結果の出力>の項で説明する。
<ストアドデータファイルからの読出>
取り込んだ検索情報[β]が読み出したマーカー管理項目の区切りマーカーと一致する場合(S607:yes)には、このマーカー管理項目のファイルID及び格納位置に基づいて、所定のストアドデータファイルにアクセスし(S608)、対応する可変長項目の先頭から所定数のデータを取り出す(S609)。先に説明したように、可変長項目は、先頭にデータ長を含む可変長データから構成されているので、これにより、所望の可変長データのデータ長を取り出すことができる。なお、データ長が、固定長であることは先に説明したとおりである。
このように、本実施形態のマーカー管理項目は、区切りマーカーとファイルIDと格納位置とから構成され、可変長データの格納位置を示す論理的なものである。したがって、ストアドデータファイルの中に区切りマーカーのデータが存在しなくても、マーカー管理項目のファイルID及び格納位置に基づいて、対応する可変長項目の先頭から所定数のデータを取り出すことができる。また、1つの可変長データに対して、複数の区切りマーカーを関連付けることも可能である。
取り出されたデータ長に基づいて、所望の可変長データを読み出す(S610)。
検索情報[β]と一致する区切りマーカーが1つとは限らない、つまり、所望の可変長データが1つとは限らないので、引き続いて、読出処理されていないマーカー識別子管理項目が有るか否かを判定する(S611)。有る場合(S611:yes)には、マーカー識別子管理項目の読出処理に戻り、マーカー管理用メモリ領域から次のマーカー識別子管理項目を読み出す(S604)。
<検索結果の出力>
読出処理されていないマーカー識別子管理項目が無い場合(S611:no)には、この検索指定による検索が終了したことになるので、読み出された可変長データの全てをディスプレイ3又はプリンタ4に出力する。場合によっては、検索結果をファイル化して外部記憶装置7に格納するようにしても良い。なお、この場合、読み出された可変長データに何等かのデータ処理、例えば、取引データの場合には、合計処理等を施し、この処理結果も含めて出力・格納するようにするとなお一層可用性が増す。
<終了処理>
検索結果を出力した後は、検索処理を終了するか否かを判断することになる(S512)。検索処理を続行する場合(S513:no)には、新規の検索指定が有るか否かを判定する処理(S501)に戻る。
本発明の読出方法においては、検索情報を構成する文字データの文字数を区切りマーカーの文字数より少なくした検索指定が可能である。例えば、区切りマーカーを“YY/MM/DD/hh/mm/ss”という形式の17文字の文字データで構成したシステムにおいて、検索情報として、“YY/MM”という5文字の文字データ或いは“YY/MM/DD”という8文字の文字データを指定した場合には、指定した年月或いは年月日の可変長データの全て取り出すことができる。
[機能実現手段及び入出力装置]
最後に、本発明の可変長データ格納方法及び可変長データ読出方法を実現するための機能実現手段及び各種入出力装置とこれら機能実現手段及び各種入出力装置間の処理の流れ並びに処理されるデータの授受関係について、図7の模式図を用いて説明する。なお、図において、実線で囲んだ手段は、格納・読出プログラムがコンピュータにインストールされ、実行されることにより実現される機能実現手段を示し、点線で囲んだ装置は、コンピュータの各種入出力装置を示す。
<可変長データ発生装置>
可変長データ発生装置d1は、可変長データ及び区切りマーカーを発生する入力装置である。可変長データ発生装置d1として、例えば、POS端末のキャッシュレジスタが挙げられる。POS端末のキャッシュレジスタは、所定の取引が完了すると、レシート等のジャーナル情報を印刷するように構成されているが、この印刷時の日付・時刻データは、その時の取引データに固有の区切りマーカーとして充分有用なものである。
<新規データ取込手段>
新規データ取込手段m1は、図5のステップS502を実行するための手段であり、可変長データ発生装置d1によって発生された可変長データ及び区切りマーカーを取り込む手段である。
<データ長計算手段>
データ長計算手段m2は、図5のステップS503を実行するための手段であり、取り込まれた可変長データのデータ長を計算する手段である。
<第1マーカー識別子作成手段>
第1マーカー識別子作成手段m3は、図5のステップS504を実行するための手段であり、取り込まれた区切りマーカーを受け取り、この区切りマーカーを構成する文字データの先頭から所定数の文字データで構成されるマーカー識別子を作成する手段である。作成されたマーカー識別子は、可変長データの格納前では、マーカー管理用メモリ領域に登録されているマーカー識別子管理項目のマーカー識別子と比較するために作成される識別子であり、また、可変長データの格納後には、マーカー管理用メモリ領域に新たに登録されるマーカー識別子管理項目のマーカー識別子として使われる。
<区切りマーカー固有性確認手段>
区切りマーカー固有性確認手段m4は、図5のステップS505〜S507及びS513〜S516を実行するための手段であり、取り込まれた区切りマーカーが固有性を有するものであるか否かを確認する手段である。この確認のために、作成されたマーカー識別子及び取り込まれた区切りマーカーが、それぞれ、マーカー管理用メモリ領域に登録されているマーカー識別子管理項目のマーカー識別子及びマーカー管理ファイルに登録されているマーカー管理項目の区切りマーカーと比較される。
<可変長データ格納手段>
可変長データ格納手段m5は、図5のステップS508〜S509及びS517を実行するための手段であり、取り込まれた区切りマーカーが固有性を有するものであることが確認された後、取り込まれた可変長データについて、“データ長+可変長データ”からなる可変長項目を空きのあるストアドデータファイルに隙間無く格納する手段である。この手段m5は、現在格納対象となっているストアドデータファイルに充分な空き記憶域が無くなったとき、新たなストアドデータファイルを作成し、そのストアドデータファイルを現ストアドデータとして指定する機能を持っている。また、新たなストアドデータファイルのIDは、旧ストアドデータファイルのIDを“+1”となる。
<マーカー管理項目登録手段>
マーカー管理項目登録手段m6は、図5のステップS510を実行するための手段であり、取り込まれた可変長データについての格納が終了した後、格納が終了した可変長データについてのマーカー管理項目をマーカー管理ファイルの空き記憶域に登録する手段である。
<マーカー識別子管理項目登録手段>
マーカー識別子管理項目登録手段m7は、図5のステップS511を実行するための手段であり、格納が終了した可変長データについてのマーカー管理項目が登録された後、このマーカー管理項目を管理するためのマーカー識別子管理項目をマーカー管理用メモリ領域の空き記憶域に登録する手段である。マーカー管理用メモリ領域の空き記憶域に登録されるマーカー識別子管理項目のマーカー識別子名には、作成されたマーカー識別子が格納される。
<検索指定装置>
検索指定装置d2は、検索情報を入力し、検索実行を指示する入力装置である。
<検索情報取込手段>
検索情報取込手段m8は、図6のステップS602を実行するための手段であり、検索指定装置d2によって発生された検索情報を取り込む手段である。
<第2マーカー識別子作成手段>
第2マーカー識別子作成手段m9は、図6のステップS603を実行するための手段であり、取り込まれた検索情報に基づいて、マーカー管理用メモリ領域に登録されているマーカー識別子を検索するためのマーカー識別子を作成する手段である。第2マーカー識別子作成手段m9は、第1マーカー識別子作成手段m3と全く同じ機能を果たす。
<可変長データ位置検索手段>
可変長データ位置検索手段m10は、図6のステップS604〜S606及びS611を実行するための手段であり、取り込まれた検索情報に対応する可変長データがどのストアドデータファイルのどの格納位置に格納されているかを検索する手段である。この検索のために、作成されたマーカー識別子及び取り込まれた検索情報が、それぞれ、マーカー管理用メモリ領域に登録されているマーカー識別子管理項目のマーカー識別子及びマーカー管理ファイルに登録されているマーカー管理項目の区切りマーカーと比較される。
<可変長データ読出手段>
可変長データ読出手段m11は、図6のステップS608〜S610を実行するための手段であり、検索されたストアドデータファイルID及び可変長データ格納位置に基づいて、所定の可変長データを読み出す手段である。
<検索結果出力手段>
検索結果出力手段m12は、図6のステップS612を実行するための手段であり、読み出された所定の可変長データの全てをディスプレイ3又はプリンタ4等の外部装置に出力する手段である。なお、検索結果出力手段m12に、読み出された可変長データに何等かのデータ処理、例えば、取引データの場合には、日毎又は月毎の集計処理等の処理を行う機能を持たせても良い。
<検索結果出力装置>
検索結果出力装置d3は、典型的には、ディスプレイ3又はプリンタ4であるが、場合によっては、外部記憶装置7であっても良い。
本発明は、可変長データに固有の識別キーを付加できるものであれば、データの種類を問わないので、先に説明した取引データだけではなく、各種の可変長データの格納・読出処理に適用が可能である。
本発明の可変長データ格納装置、可変長データ格納方法及び可変長データ読出方法を実施するためのコンピュータシステムのブロック図である。 本発明のストアドデータファイルの構成を示す模式図である。 本発明のマーカー管理ファイルの構成を示す模式図である。 本発明のマーカー管理用メモリ領域の構成を示す模式図である。 本発明の可変長データ格納手順を示す処理フロー図である。 本発明の可変長データ読出手順を示す処理フロー図である。 本発明の可変長データ格納方法及び可変長データ読出方法を実現するための機能実現手段及び各種入出力装置とこれら機能実現手段及び各種入出力装置間の処理の流れ並びに処理されるデータの授受関係を示す模式図である。
符号の説明
1:CPU、2:キーボード、3:ディスプレイ、4:プリンタ、5:主記憶装置、6:EEPROM、7:外部記憶装置、8:コンピュータの内部バス、d1:可変長データ発生装置、d2:検索指定装置、d3:検索結果出力装置、m1:新規データ取込手段、m2:データ長計算手段、m3:第1マーカー識別子作成手段、m4:区切りマーカー固有性確認手段、m5:可変長データ格納手段、m6:マーカー管理項目登録手段、m7:マーカー識別子管理項目登録手段、m8:検索情報取込手段、m9:第2マーカー識別子作成手段、m10:可変長データ位置検索手段、m11:可変長データ読出手段、m12:検索結果出力手段

Claims (9)

  1. データ長を先頭に含む可変長データで構成される複数の可変長項目が隙間無く格納されるストアドデータファイルと、
    区切りマーカー及び前記区切りマーカーに対応する前記可変長データの前記ストアドデータファイルにおける格納位置からなる複数のマーカー管理項目が登録されるマーカー管理ファイルと、
    前記区切りマーカーを構成する前記文字データの先頭から所定数の文字データで構成されるマーカー識別子及び前記区切りマーカーの前記マーカー管理ファイルにおける格納位置からなる複数のマーカー識別子管理項目が登録されるマーカー管理用メモリ領域と、
    を備えることを特徴とする可変長データ格納装置。
  2. 前記区切マーカーは、前記可変長データの発生時に、所定の規則にしたがって自動的に作成される文字データであることを特徴とする請求項1に記載の可変長データ格納装置。
  3. 前記所定の規則は、ジャーナル情報が印刷された日時であることを特徴とする請求項2に記載の可変長データ格納装置。
  4. データ長を先頭に含む可変長データで構成される複数の可変長項目をストアドデータファイルに隙間無く格納する可変長データ格納ステップと、
    区切りマーカー及び前記区切りマーカーに対応する前記可変長データの前記ストアドデータファイルにおける格納位置からなる複数のマーカー管理項目をマーカー管理ファイルに登録するマーカー管理項目登録ステップと、
    前記区切りマーカーを構成する前記文字データの先頭から所定数の文字データで構成されるマーカー識別子及び前記区切りマーカーの前記マーカー管理ファイルにおける格納位置からなる複数のマーカー識別子管理項目をマーカー管理用メモリ領域に登録するマーカー識別子管理項目登録ステップと、を有することを特徴とする可変長データ格納方法。
  5. 前記区切りマーカーは、前記マーカー管理用メモリ領域及び前記マーカー管理ファイルを参照して、既に区切マーカーとして使用されていないことを確認して使用されることを特徴とする請求項4に記載の可変長データ格納方法。
  6. データ長を先頭に含む可変長データで構成される複数の可変長項目が隙間無く格納されるストアドデータファイルと、区切りマーカー及び前記区切りマーカーに対応する前記可変長データの前記ストアドデータファイルにおける格納位置からなる複数のマーカー管理項目が登録されるマーカー管理ファイルと、前記区切りマーカーを構成する前記文字データの先頭から所定数の文字データで構成されるマーカー識別子及び前記区切りマーカーの前記マーカー管理ファイルにおける格納位置からなる複数のマーカー識別子管理項目が登録されるマーカー管理用メモリ領域と、を備える可変長データ格納装置から所望の可変長データを読み出す可変長データ読出方法であって、
    入力された検索情報を構成する文字データに基づいて、前記マーカー識別子管理項目の前記マーカー識別子と比較するためのマーカー識別子を作成する識別子作成ステップと、
    前記作成されたマーカー識別子が前記マーカー識別子管理項目の前記マーカー識別子と一致するか否かを判定する識別子判定ステップと、
    前記識別子判定ステップにおいて、前記作成されたマーカー識別子が前記マーカー識別子管理項目の前記マーカー識別子と一致すると判定された場合、前記検索情報が前記マーカー管理項目の前記区切りマーカーと一致するか否かを判定する検索情報判定ステップと、
    前記検索情報判定ステップにおいて、前記検索情報が前記マーカー管理項目の前記区切りマーカーと一致すると判定された場合、前記区切りマーカーに対応する前記格納位置に基づいて、前記ストアドデータファイルにアクセスし、所望の可変長データを読み出す可変長データ読出ステップと、を有することを特徴とする可変長データ読出方法。
  7. 前記マーカー管理用メモリ領域に未処理のマーカー識別子管理項目がある場合に、
    前記識別子判定ステップにおいて、前記作成されたマーカー識別子が前記マーカー管理識別子項目の前記マーカー識別子と一致しないと判定された場合、
    前記検索情報判定ステップにおいて、前記検索情報が前記マーカー管理項目の前記区切りマーカーと一致しないと判定された場合、
    前記検索情報判定ステップにおいて、前記検索情報が前記マーカー管理項目の前記区切りマーカーと一致すると判定され、かつ前記可変長データ読出ステップにおいて、前記所望の可変長データが読み出された場合のいずれの場合でも、前記マーカー管理用メモリ領域に未処理のマーカー識別子管理項目が無くなるまで、前記識別子判定ステップ、前記検索情報判定ステップ及び前記可変長データ読出ステップを繰り返すことを特徴とする請求項6に記載の可変長データ読出方法。
  8. 前記検索情報を構成する文字データの文字数は、前記区切りマーカーを構成する文字データの文字数より少ない場合を含むことを特徴とする請求項6又は7に記載の可変長データ読出方法。
  9. 請求項4又は5に記載の可変長データ格納方法の各ステップ及び請求項6〜8に記載の可変長データ読出方法の各ステップをコンピュータに実行させることを特徴とする可変長データ格納・読出プログラム。
JP2007311119A 2007-11-30 2007-11-30 可変長データ格納装置、可変長データ格納方法、可変長データ読出方法及びそのプログラム Active JP5233255B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2007311119A JP5233255B2 (ja) 2007-11-30 2007-11-30 可変長データ格納装置、可変長データ格納方法、可変長データ読出方法及びそのプログラム
US12/323,162 US8166082B2 (en) 2007-11-30 2008-11-25 Variable length data storage device, variable length data storage method, variable length data reading method, and a program for the same
US13/425,813 US8386539B2 (en) 2007-11-30 2012-03-21 Variable length data storage device, variable length data storage method, variable length data reading method, and a program for the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007311119A JP5233255B2 (ja) 2007-11-30 2007-11-30 可変長データ格納装置、可変長データ格納方法、可変長データ読出方法及びそのプログラム

Publications (2)

Publication Number Publication Date
JP2009134609A true JP2009134609A (ja) 2009-06-18
JP5233255B2 JP5233255B2 (ja) 2013-07-10

Family

ID=40676853

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007311119A Active JP5233255B2 (ja) 2007-11-30 2007-11-30 可変長データ格納装置、可変長データ格納方法、可変長データ読出方法及びそのプログラム

Country Status (2)

Country Link
US (2) US8166082B2 (ja)
JP (1) JP5233255B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011022768A (ja) * 2009-07-15 2011-02-03 Toshiba Corp 携帯可能電子装置、icカードおよび携帯可能電子装置の制御方法
JP2011130249A (ja) * 2009-12-18 2011-06-30 Fujitsu Telecom Networks Ltd 通信制御装置

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102236648B (zh) * 2010-04-21 2014-04-16 ***股份有限公司 信息存储***及方法
US9137443B2 (en) 2011-04-26 2015-09-15 Blackberry Limited Fast estimation of binary data length using memory corruption
US10455017B2 (en) * 2012-02-28 2019-10-22 Panasonic Intellectual Property Management Co., Ltd. Communication system, electric appliance, and portable terminal device
US10032493B2 (en) * 2015-01-07 2018-07-24 Micron Technology, Inc. Longest element length determination in memory

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61262836A (ja) * 1985-05-15 1986-11-20 Nec Corp レコ−ド処理方式
JPS6225346A (ja) * 1985-07-25 1987-02-03 Nec Corp 電子ジヤ−ナルフアイル構成方式
JPS649521A (en) * 1987-07-02 1989-01-12 Fujitsu Ltd Screen data retrieving system
JPH05274196A (ja) * 1992-03-27 1993-10-22 Nec Corp 多重ファイルによる二次記憶管理方法
JPH05334152A (ja) * 1992-05-28 1993-12-17 Fujitsu Ltd 可変長メッセージファイルの高速アクセス方法
JPH06162092A (ja) * 1992-11-18 1994-06-10 Fujitsu Ltd 情報検索装置
JPH10143408A (ja) * 1996-11-13 1998-05-29 Toshiba Corp 索引付順編成ファイル作成装置
JP2000050208A (ja) * 1998-08-03 2000-02-18 Victor Co Of Japan Ltd 画像再生方法
JP2003036258A (ja) * 2001-07-25 2003-02-07 Sanyo Electric Co Ltd データ処理システムおよびそれを用いたデータ表示装置
JP2007004326A (ja) * 2005-06-22 2007-01-11 Kobe Steel Ltd データアクセス方法及びそのプログラム

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0171238B1 (en) 1984-07-28 1991-05-02 Konica Corporation Silver halide grains, preparation thereof and light-sensitive photographic material containing said grains
EP0510634B1 (en) 1991-04-25 1999-07-07 Nippon Steel Corporation Data base retrieval system
JP3288063B2 (ja) 1991-12-27 2002-06-04 新日鉄ソリューションズ株式会社 可変長データの格納および参照システム
JP3294326B2 (ja) * 1992-07-09 2002-06-24 株式会社日立製作所 データ処理方法および装置
JPH0660120A (ja) 1992-08-06 1994-03-04 Sharp Corp 可変長データの格納方法及び検索装置
JPH08263338A (ja) 1995-03-20 1996-10-11 Hitachi Software Eng Co Ltd 順編成ファイルの可変長レコード直接位置付け方法
US6058392A (en) * 1996-11-18 2000-05-02 Wesley C. Sampson Revocable Trust Method for the organizational indexing, storage, and retrieval of data according to data pattern signatures
JP2001197117A (ja) 2000-01-11 2001-07-19 Matsushita Electric Ind Co Ltd 可変長データ格納用バッファ
JP4718419B2 (ja) 2006-01-27 2011-07-06 株式会社リコー 画像形成装置及びファイル管理方法
JP2008015768A (ja) 2006-07-05 2008-01-24 Hitachi Ltd 記憶システム並びにこれを用いたデータの管理方法

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61262836A (ja) * 1985-05-15 1986-11-20 Nec Corp レコ−ド処理方式
JPS6225346A (ja) * 1985-07-25 1987-02-03 Nec Corp 電子ジヤ−ナルフアイル構成方式
JPS649521A (en) * 1987-07-02 1989-01-12 Fujitsu Ltd Screen data retrieving system
JPH05274196A (ja) * 1992-03-27 1993-10-22 Nec Corp 多重ファイルによる二次記憶管理方法
JPH05334152A (ja) * 1992-05-28 1993-12-17 Fujitsu Ltd 可変長メッセージファイルの高速アクセス方法
JPH06162092A (ja) * 1992-11-18 1994-06-10 Fujitsu Ltd 情報検索装置
JPH10143408A (ja) * 1996-11-13 1998-05-29 Toshiba Corp 索引付順編成ファイル作成装置
JP2000050208A (ja) * 1998-08-03 2000-02-18 Victor Co Of Japan Ltd 画像再生方法
JP2003036258A (ja) * 2001-07-25 2003-02-07 Sanyo Electric Co Ltd データ処理システムおよびそれを用いたデータ表示装置
JP2007004326A (ja) * 2005-06-22 2007-01-11 Kobe Steel Ltd データアクセス方法及びそのプログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011022768A (ja) * 2009-07-15 2011-02-03 Toshiba Corp 携帯可能電子装置、icカードおよび携帯可能電子装置の制御方法
JP2011130249A (ja) * 2009-12-18 2011-06-30 Fujitsu Telecom Networks Ltd 通信制御装置

Also Published As

Publication number Publication date
US20090144348A1 (en) 2009-06-04
JP5233255B2 (ja) 2013-07-10
US20120179733A1 (en) 2012-07-12
US8166082B2 (en) 2012-04-24
US8386539B2 (en) 2013-02-26

Similar Documents

Publication Publication Date Title
JP5233255B2 (ja) 可変長データ格納装置、可変長データ格納方法、可変長データ読出方法及びそのプログラム
JP2004046375A (ja) 帳票処理装置および帳票処理方法ならびにプログラム
CN110716739A (zh) 一种代码变更信息统计方法、***和可读存储介质
JP2011128833A (ja) 文書検索装置、プログラム、文書登録装置、および文書検索システム
EP2149855B1 (en) Operations information management system
JP2008282094A (ja) 文字認識処理装置
US8190563B2 (en) Document management apparatus, document management method, and computer-readable encoding medium recorded with a computer program
JP6250307B2 (ja) 画像情報処理装置及び画像情報処理方法
JP4373029B2 (ja) 文書管理装置及び文書管理方法並びに記録媒体
JP5188290B2 (ja) アノテーション装置、アノテーション方法およびプログラム
JP6540370B2 (ja) 印刷管理サーバ、印刷管理方法および印刷管理プログラム
JP2016021156A (ja) 画像表示装置
JP6327918B2 (ja) 画像検索装置及びその制御方法
JP5907101B2 (ja) 文書管理装置及びプログラム
EP4095716A1 (en) Information processing apparatus, program, and information processing method
JP7146392B2 (ja) 情報処理装置およびその制御方法およびプログラム
JP4752388B2 (ja) 文書管理システム、文書管理方法及び文書管理プログラム
JP2009230450A (ja) 文書属性情報登録装置及びプログラム
JP2009217588A (ja) ファイルシステム、電子カメラ、ファイルアクセス方法及びプログラム
JP6736937B2 (ja) Icカード及びicカードからのデータの読出方法
JP2005135118A (ja) 図面管理システム
JP2008009966A (ja) 業務プロセス設定装置及び業務プロセス設定方法
JP6984147B2 (ja) 情報管理装置、情報管理方法、及びプログラム
JP6707814B2 (ja) 複合語検索装置、複合語検索方法及びプログラム
JP2006085509A (ja) ドキュメント管理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100902

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20120816

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120912

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120925

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121120

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130226

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130311

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5233255

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160405

Year of fee payment: 3

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350