JP3509285B2 - 圧縮データ管理方式 - Google Patents

圧縮データ管理方式

Info

Publication number
JP3509285B2
JP3509285B2 JP11450095A JP11450095A JP3509285B2 JP 3509285 B2 JP3509285 B2 JP 3509285B2 JP 11450095 A JP11450095 A JP 11450095A JP 11450095 A JP11450095 A JP 11450095A JP 3509285 B2 JP3509285 B2 JP 3509285B2
Authority
JP
Japan
Prior art keywords
compressed
file
record
block
compressed data
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.)
Expired - Fee Related
Application number
JP11450095A
Other languages
English (en)
Other versions
JPH08314689A (ja
Inventor
茂 吉田
雅永 徳世
佳之 岡田
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP11450095A priority Critical patent/JP3509285B2/ja
Priority to US08/644,158 priority patent/US5813011A/en
Publication of JPH08314689A publication Critical patent/JPH08314689A/ja
Application granted granted Critical
Publication of JP3509285B2 publication Critical patent/JP3509285B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0608Saving storage space on storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0643Management of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0674Disk device
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00007Time or data compression or expansion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/40Specific encoding of data in memory or cache
    • G06F2212/401Compressed data
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99942Manipulating data structure, e.g. compression, compaction, compilation
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability

Landscapes

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

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、圧縮データの管理方式
に関する。近年、文字コードやベクトル情報、画像情報
など様々な種類のデータがコンピュータ等で扱われるよ
うになっており、それに伴って扱われるデータ量も急速
に増加している。このような大量のデータを扱うときに
は、データ中の冗長な部分を省いてデータ量を圧縮する
ことによって、記憶容量を減らしたり、データ伝送を高
速化できるようにされてきている。
【0002】様々なデータを一つの方式で圧縮可能とす
る方法として、以前よりユニバーサル符号化が提案され
ている。ユニバーサル符号化の、データ種類を問わずデ
ータの圧縮が可能であるという特徴を利用して、ハード
ディスク(ディスク)の容量を増大させるためのソフト
ウェアが市販されている(米国Stac社Stacker 等)。こ
れらのディスク圧縮ソフトは、ユーザがデータ圧縮機能
を意識することなく、圧縮が行われない場合のディスク
と同じものを、容量が倍増したディスクとして利用でき
る機能を提供している。
【0003】
【従来の技術】従来の圧縮ファイルの格納方法は、大き
くわけて以下に示す2通りがあった。これらの方法を、
図26に示す。第一の方法は、ディスク上に圧縮ファイ
ルと通常ファイル(圧縮されていないファイル)を混在
させて格納する方法である(図26(1))。この方法
では、個々のファイルに対して圧縮をかける方法を用い
ている。図中、白抜きの四角は通常ファイル、黒の四角
は圧縮ファイルが格納される位置を示している。
【0004】第一の方法の場合には、図に示されるよう
に、ディスク上に通常ファイルと圧縮ファイルとが混在
して格納される。この方法では、圧縮ファイルを格納す
る媒体種類には制限がないという特徴がある。この方法
では、デバイスドライバに組み込む、常駐プログラムを
起動させる、付属コマンドによってユーザが個別のファ
イル毎に圧縮/復元を行なう、といった方法によりファ
イルの圧縮が行われる。
【0005】第一の方法では、ユーザにファイル圧縮の
使用を意識させないために、ディスクの圧縮ファイル・
アクセスのシステムコールで自動的に圧縮/復元う行な
うようにもできる。この方法では、ファイル全体のシー
ケンシャル圧縮復元に基づいているため、システムコー
ルで圧縮ファイル全体を通常ファイルとして復元し、ユ
ーザプログラムの終了時に通常ファイルを消去、圧縮し
たファイルをディスクに書き込むという手順が用いられ
る。第二の方法は、ディスクの特定領域に圧縮ファイル
のみを格納する方法である(図26(2))。この方法
は、ディスク上に特定領域(以下仮想ドライブと称す)
を確保して、圧縮されたファイルは全て仮想ドライブ内
に配置させる。この方法では、ユーザにデータの圧縮を
意識させることがなく、仮想ドライブの容量を見かけ上
実際の2倍とし、仮想ドライブ上の全てのファイルに対
して自動的に圧縮/復元を行なう。仮想ドライブ領域
は、物理的にはディスク上の一つの隠しファイルとして
存在している。
【0006】仮想ドライブ上の圧縮ファイルは、LFS
(Log structured File System)等の方法によって管理さ
れ、例えばBAT(Block Allocation Table)と呼ばれる
テーブルを用いて管理されている。図27はこれを説明
する図面である。仮想ドライブは、アプリケーションプ
ログラムからは8KB/クラスタのディスクとして見え
る。また通常のドライブと同じように、FAT(File Al
locationTable) とディレクトリエントリも保持してい
る。
【0007】仮想ドライブ内では、2KBの論理的なセ
クタを設置し、これを管理している。一つのクラスタに
書き込まれたデータを圧縮し、これを1〜4個のセクタ
に格納する。BATには、あるクラスタの先頭のデータ
が、どのセクタに格納されているかを記録している。そ
して、1セクタ内に圧縮データが収まりきらない場合に
は、SCT(Sector Chain Table)をたどることによっ
て、後続のセクタを探している。
【0008】
【発明が解決しようとする課題】しかし、従来の方法で
は、以下のような問題が生じていた。第一の方法の場合
には、圧縮済みのファイルと通常ファイルとを一つのデ
ィスクドライブ内に混在させることができるため、例え
ば画像ファイル、音声ファイル等属性の異なるファイル
と共存させることが可能であり、圧縮ファイルを格納す
る媒体に制限がないという利点がある。しかし、元デー
タファイルを一度復元するためには、元データと同じサ
イズの作業用領域を必要とする。また、ユーザプログラ
ムの起動と終了時にファイル全体の復元/圧縮操作が入
るため、このオーバーヘッドの時間の分だけユーザを待
たせる時間が長くなってしまうという欠点があった。そ
のため、例えば数100KB〜数MB程度の容量の、大き
なファイルでの使用には向いていない。
【0009】一方、第二の方法では、ディスクのクラス
タ単位で圧縮/復元が行われるため、第一の方法に対し
てプログラムの起動/終了時に、全体の圧縮/復元に要
する大きなオーバーヘッド時間が生じないという利点が
ある。しかし、仮想ドライブが圧縮を実装したドライブ
に付随されているため、フロッピーディスクのような交
換可能な媒体やネットワークドライバには適用すること
ができないという欠点があった。
【0010】また、圧縮領域である仮想ドライブは、圧
縮ファイルの各クラスタの格納位置情報が集中的に管理
されているため、管理テーブルや圧縮データに障害が生
じた場合には仮想ドライブ内の全てのファイルを読みだ
すことができなくなるという危険が伴う。本発明は、上
記の問題点に鑑み、従来の2通りの圧縮方法の互いの長
所をいかし、それぞれの欠点を解決する手段を実現する
ことを目的とする。
【0011】
【課題を解決するための手段】前記問題点は、圧縮ファ
イルを各レコードの圧縮データと、圧縮データの圧縮フ
ァイル内での格納位置を示す格納位置情報と、格納位置
情報の位置を格納したヘッダ部とにより構成した圧縮デ
ータ管理方式により解決できる。更に、本発明は圧縮フ
ァイルを、ヘッダ、圧縮データ、格納位置情報の順に並
べて構成し、圧縮ファイルが更新されて圧縮データが増
加した場合には、増加した圧縮データを各レコードの圧
縮データに続けて格納するとともに、格納位置情報を、
増加した圧縮データが追加された圧縮データに続けて格
納し、ヘッダ内の格納位置情報の格納位置を更新するこ
とを特徴とする。
【0012】また、レコードに含まれる圧縮データは、
原レコードの整数分の一の大きさを持つブロックに分割
され、圧縮データの管理は分割されたブロック単位で行
われることを特徴とする。更に、格納位置情報は各レコ
ードに対応する圧縮データの先頭ブロック番号と、先頭
ブロックに続く後続ブロック番号のブロック接続情報と
を保持する。
【0013】また、圧縮ファイルの更新時に、格納位置
情報内のブロック接続情報を検索し、空きブロックが存
在する場合これを空きブロック線形リストとして管理す
ることを特徴とする。そして本発明は、圧縮ファイルを
更新中に空きブロックが発生した場合、新たに発生した
空きブロックを前記空きブロック線形リストに登録する
ことを特徴とする。
【0014】また、圧縮ファイルの更新中に、書込対象
レコードの圧縮データが圧縮データ格納ブロックに収ま
らない場合、空きブロック線形リストより空きブロック
を外して割り当て、圧縮データを格納することを特徴と
する。また、本発明では、圧縮ファイルに、原レコード
の大きさよりも大きい所定のサイズを持つブロックが設
定され、前記ブロックに各レコードの圧縮データを複数
個まとめて格納されるよう構成したことを特徴とする。
【0015】そして、本発明では更に、圧縮ファイルに
設定されるブロックが、原レコードサイズの整数倍の大
きさを持つ。また、格納位置情報は、各レコードに格納
されている圧縮データのブロック番号と、圧縮データが
格納されているブロック内での格納位置と、圧縮データ
の格納長とが保持されていることを特徴とする。
【0016】そして、本発明は、圧縮ファイルの更新時
にデータが格納されない未使用ブロックが発生する場
合、未使用ブロックを圧縮ファイルの終端に位置するブ
ロックと交換する処理を行なうとともに、格納位置情報
をブロック交換処理に応じて更新することを特徴とす
る。
【0017】
【作用】本発明は、圧縮ファイルを各レコードの圧縮デ
ータと、圧縮データの圧縮ファイル内での格納位置を示
す格納位置情報と、格納位置情報の位置を格納したヘッ
ダ部とにより構成することにより、圧縮データと通常フ
ァイルとの混在を可能とするとともに、圧縮ファイル毎
に圧縮データの格納位置が管理されているため、一部に
障害が発生したとしても、全てのファイルが読み出せな
いという問題の発生がなくなる。
【0018】更に、圧縮ファイルをヘッダ、圧縮デー
タ、格納位置情報の順に並べて構成し、圧縮ファイルが
更新されて圧縮データが増加した場合には、増加した圧
縮データを各レコードの圧縮データに続けて格納すると
ともに、格納位置情報を、増加した圧縮データが追加さ
れた圧縮データに続けて格納し、ヘッダ内の格納位置情
報の格納位置を更新することによって、圧縮データの増
加にも容易に対応することができる。
【0019】また、レコードに含まれる圧縮データは、
原レコードの整数分の一の大きさを持つブロックに分割
され、圧縮データの管理は分割されたブロック単位で行
われ、特に格納位置情報は各レコードに対応する圧縮デ
ータの先頭ブロック番号と、先頭ブロックに続く後続ブ
ロック番号のブロック接続情報とを保持するようにす
る。
【0020】また、圧縮ファイルの更新時に、格納位置
情報内のブロック接続情報を検索し、空きブロックが存
在する場合これを空きブロック線形リストとして管理
し、特に圧縮ファイルを更新中に空きブロックが発生し
た場合、新たに発生した空きブロックを前記空きブロッ
ク線形リストに登録、また、圧縮ファイルの更新中に書
込対象レコードの圧縮データが圧縮データ格納ブロック
に収まらない場合、空きブロック線形リストより空きブ
ロックを外して割り当て、圧縮データを格納するように
する。これによって空きブロックの管理を容易とする。
【0021】また、圧縮ファイルに原レコードの大きさ
よりも大きい所定のサイズを持つブロックが設定され、
前記ブロックに各レコードの圧縮データを複数個まとめ
て格納されるよう構成することで、圧縮データを詰めて
圧縮ファイルに格納することができるようになる。特
に、圧縮ファイルに設定されるブロックが、原レコード
サイズの整数倍の大きさを持つ。
【0022】また、格納位置情報は、各レコードに格納
されている圧縮データのブロック番号と、圧縮データが
格納されているブロック内での格納位置と、圧縮データ
の格納長とが保持され、圧縮データのアクセスを容易な
ものとする。そして、圧縮ファイルの更新時にデータが
格納されない未使用ブロックが発生する場合、未使用ブ
ロックを圧縮ファイルの終端に位置するブロックと交換
する処理を行なうとともに、格納位置情報をブロック交
換処理に応じて更新して、未使用ブロックが圧縮ファイ
ルの終端に位置するようにする。
【0023】
【実施例】図1は、本発明の一実施例による圧縮ファイ
ルと通常ファイルとの切換を示す図面である。本実施例
では、従来のディスク圧縮の場合と同様に、ファイルの
各レコード単位に圧縮データを自動的に圧縮/復元す
る。ファイル毎の圧縮復元機能は、ディスクの入出力関
数のライブラリ、即ち圧縮ファイルオープン、圧縮ファ
イル読出、圧縮ファイル書込、圧縮ファイルクローズ、
として構成する。通常ファイルと圧縮ファイルとをディ
スクの同一領域内に共存させるために、新たな入出力関
数は従来より用いられている入出力関数との互換性が必
要となる。
【0024】図1aはファイルオープン時の処理手順を
示す図面である。切換設定が行われると、ステップS1
でファイル名またはそのファイルの属性情報、ファイル
内の最初のレコード等に基づいて、そのファイルが通常
ファイルか圧縮ファイルかを識別する。例えば、ファイ
ル名に基づいて識別を行なうならば、ファイル名の最初
の文字が特定文字である場合、あるいは拡張子が特定な
ものならば、それが圧縮ファイルであると取り決めてお
けばよい。
【0025】対象ファイルが通常ファイルである場合、
S2においてメモリ上のファイル管理情報に、このファ
イルが通常ファイルである旨が設定される。そして、通
常ファイルオープンの処理を行なう。一方、対象ファイ
ルが圧縮ファイルである場合には、S3にてメモリ上の
ファイル管理情報にそのファイルが圧縮ファイルである
旨設定される。ついで、後述する圧縮ファイルオープン
の処理を実行する。
【0026】図1bは、ファイル読出/ファイル書込/
ファイルクローズ時の処理手順を示す図面である。ファ
イルの読出/書込/クローズが設定された場合には、ま
ずS1にてメモリ上のファイル管理情報を調べ、対象フ
ァイルが通常ファイルか圧縮ファイルかが識別される。
【0027】対象ファイルが通常ファイルである場合に
は、S2において上位アプリケーションプログラムで指
定された通常ファイルの入出力機能(読出/書込/クロ
ーズのいずれか)を実行する。一方、対象ファイルが圧
縮ファイルである場合には、S3において上位アプリケ
ーションプログラムで指定される圧縮ファイルの入出力
機能を実行する。圧縮ファイルの入出力機能についての
詳細は後述する。図2は、圧縮データ管理にLFS法を
用いた場合の、ファイル管理方法を示す図面である。
【0028】本実施例では、圧縮前の原レコードサイズ
を4KBとして、圧縮レコードのクラスタサイズを1K
Bにとった例について説明する。また、圧縮ファイルは
図2に示されるように、ヘッダ、原レコードの圧縮符
号、圧縮管理テーブルの3つの領域より構成される。図
2の場合には、原レコード番号1のレコードに対応する
圧縮レコードが圧縮クラスタ番号1、2、4の圧縮クラ
スタに、原レコード番号2の原レコードに対応する圧縮
レコードが圧縮クラスタ番号3、5の圧縮クラスタに、
原レコード番号3の原レコードに対応する圧縮レコード
が圧縮クラスタ番号6の圧縮クラスタにそれぞれ格納さ
れている例が示されている。
【0029】ヘッダには、原レコード長、原レコード
数、圧縮クラスタ数の情報が含まれている。また、圧縮
管理テーブルには、図3に示されるように、圧縮符号開
始位置テーブル(圧縮クラスタ開始位置テーブル)と圧
縮クラスタチェーンテーブルとが記録されている。圧縮
符号開始位置テーブルは、原レコード番号に対応する圧
縮クラスタの開始位置を、原レコード番号をアドレスと
して求めるものである。例えば、原レコード番号1の原
レコードの対応する圧縮レコードが格納される圧縮クラ
スタの開始一は、圧縮クラスタ番号1の圧縮クラスタで
あることが示されている。
【0030】また、圧縮クラスタチェーンテーブルに
は、クラスタ番号をアドレスとして他のクラスタ番号を
引くためのものである。原レコードの圧縮データが一つ
のクラスタで終了せず、他のクラスタまで続くような場
合には、前のクラスタ番号から後続するクラスタ番号を
求める。例えば、原レコード番号1の原レコードに対応
する圧縮データは、圧縮クラスタ1に続いて圧縮クラス
タ2に格納される点が示される。
【0031】また、原レコードの圧縮データが一つのク
ラスタで終了するような場合には、圧縮クラスタチェー
ンテーブルには0が書き込まれる。この場合には、原レ
コードの圧縮符号は1〜4個のクラスタに格納される。
また、4個分のクラスタを要する場合には、生データ
(圧縮しないデータ)が格納される。図4〜図7は、L
FS法によって圧縮データ管理を行った場合の、一実施
例による手順を示したフローチャートである。図4はフ
ァイルオープン時、図5はファイルリード時、図6はフ
ァイルライト時、図7はファイルクローズ時の処理手順
をそれぞれ示すものである。
【0032】図4を用いて、本実施例の圧縮ファイルオ
ープン処理について説明する。ファイルオープンが設定
された場合には、S1において指定されたファイルに対
応する圧縮ファイルのヘッダを圧縮ファイルから読みだ
す。続いて、S2によってヘッダ内に記録されている原
ファイルのレコード長、レコード数を読みだし、このデ
ータより圧縮ファイル中の圧縮型テーブルのレコード長
を求め、圧縮型テーブルをメモリ上に読み込む。
【0033】続いて、S3において圧縮管理テーブルの
バックアップファイルを、ディスク上に作成する。これ
は、万一ファイル更新の途中で電源等に不測の事態が生
じた場合に、可能な限り原データを復旧できるようにす
るために行われる。次いで、S4において圧縮管理テー
ブルのうち、クラスタチェーンテーブルを参照して、空
きクラスタを探し、空きクラスタ番号を線形リストの待
ち行列に登録する。次に、図5を用いてファイルリード
について説明する。
【0034】まず、ファイルリードが指示された場合に
は、S1においてメモリ上の圧縮管理テーブルのうち、
圧縮クラスタ開始位置テーブルより次の原レコード番号
に対応する圧縮符号開始位置を読み取る。そして、読み
取られた圧縮符号開始位置から、クラスタチェーンテー
ブルに従って原レコードの圧縮符号をディスク上に読み
込む。
【0035】次いで、S2において読み込まれた圧縮符
号を復元し、S3において原レコード番号を一つインク
リメントする。このため、圧縮レコードの位置決めシー
クが呼び出されなければ、デフォルトでは次の原レコー
ドがアクセスされる。続いて、S4において復元された
原レコードデータを、上位アプリケーションプログラム
に渡し、処理を終了する。続いて、図6に基づいて、本
実施例によるファイルライト処理について説明する。
【0036】ファイルライトが指示された場合には、ま
ずS1において上位のアプリケーションプログラムから
受け取った原レコードデータを圧縮する。続いて、S2
においてメモリ上の圧縮型テーブルの圧縮クラスタ開始
位置テーブルから、その原レコードが格納されるクラス
タ開始位置を読み取る。次に、S3において原レコード
の圧縮データを、圧縮クラスタ開始位置テーブルから読
みだされたクラスタ開始位置からディスクに書き込む。
【0037】次いで、S4において、クラスタチェーン
テーブルを繰りながら圧縮データをディスクに書き込ん
でいき、新たに圧縮された符号データが元の圧縮符号の
クラスタ長と等しいか否かが判定される。もし、新たに
圧縮された符号データが元の圧縮符号のクラスタ長と等
しい場合には、S6において原レコード番号を一つイン
クリメントして処理を終了する。これにより、圧縮レコ
ードの位置決めシークが呼び出されなければ、デフォル
ト時には次の原レコードがアクセスされることになる。
【0038】一方、S4にて新たに圧縮された符号デー
タが元の圧縮符号クラスタ長と等しくない場合には、S
5にて新圧縮符号が元の圧縮符号クラスタ長より小さい
か否かが判定される。新圧縮符号が元の圧縮符号のクラ
スタ長より小さい場合には、クラスタチェーンテーブル
の最終クラスタ位置に0を書き込むとともに、余ったク
ラスタを空きクラスタ待ち行列に登録、S6に進む。
【0039】一方、S5にて新圧縮符号が元の圧縮符号
のクラスタ長よりも大きいと判定された場合には、S8
において待ち行列に空きクラスタが登録されているか否
かを調べる。登録されている場合には、S9て空きクラ
スタ待ち行列を一つずつはずし、圧縮符号をディスク上
のそのクラスタに書き込む。また、クラスタチェーンテ
ーブルには、このクラスタ同士の接続関係が記録され
る。
【0040】続いて、S10にて圧縮符号の書込によっ
て空きクラスタが不足するか否かが判定される。不足す
る場合には、S11に進む。不足しない場合には、S6
に進み、処理を終了する。一方、S8で待ち行列に空き
クラスタが登録されていないと判定された場合、あるい
はS10にて空きクラスタが不足すると判定された場合
には、S11にて圧縮符号領域の後方に新たなクラスタ
を割り当て、それに応じてクラスタチェーンテーブルも
新たに作成した後、ディスク上に圧縮符号を書き込んで
いく。ここで、圧縮ファイルをシークする場合には、ア
プリケーションプログラムから指定された原レコード番
号を、次のレコード番号として設定する。次に、図7に
より圧縮ファイルクローズ処理について説明する。
【0041】圧縮ファイルのクローズが指示された場合
には、S1において圧縮管理テーブルを圧縮符号の最終
レコードの次の位置に続けてディスク上に書き込む。続
いてS2においてヘッダ内の原レコード数、圧縮クラス
タ数を更新し、これらをディスクに書き込む。次いでS
3にて圧縮管理テーブルのバックアップファイルをディ
スクから消去し、処理を終了する。このように、LFS
法を用いた場合には、圧縮データの管理は比較的容易で
ある。しかし、圧縮ファイルの更新時に新たなデータは
旧データより圧縮がかかるようになっても圧縮符号領域
中に空きクラスタが残るだけであり、圧縮符号領域を詰
めて取り、圧縮ファイル更新時の領域の縮小を反映させ
るのが難しくなっている。また、ファイル更新が進むに
つれて、原レコードのクラスタが分散されるため、アク
セス速度の低下が生じることがある。これに対しては、
圧縮ファイルの更新を数回実行するたびに定期的に空き
クラスタを詰める処理を行なうとともに、原レコードの
圧縮クラスタを連続的に整理するクリーニング処理を実
行すればよい。次に、PFS(Packed File System)を用
いた場合の本発明の一実施例を説明する。
【0042】まず、PFS法について説明する。図8は
PFS法によるファイル圧縮を説明する図面である。図
において、aは容量倍増仮想ディスク、bはバッファメ
モリ、cは圧縮管理テーブル、dは実ディスクをそれぞ
れ示す。図示されるように、PFS法ではまずaのよう
な、圧縮によって容量が元のものから倍増された仮想デ
ィスクが仮定される。この仮想ディスクでは、アクセス
の単位である論理セグメントが1〜m個であるとする。
【0043】bのバッファメモリ上には、実際にディス
クをアクセスする複数個のセグメント(実セグメント)
が保持されている。実セグメントは論理セグメントの2
〜4倍程度のサイズが取られる。そして,実セグメント
はdの実ディスク上に1〜m/2個取られる。それぞれ
の実セグメントには、論理セグメントを圧縮したデータ
が複数個格納される。
【0044】仮想ディスクで論理セグメントがリードさ
れたときには、実ディスクより読みだされた論理セグメ
ントに対応する圧縮データが格納されている実セグメン
トを読みだして、圧縮データを復元して出力する。ま
た、仮想ディスクで論理セグメントがライトされる場合
には、論理セグメントを圧縮し、バッファメモリ上の複
数個の実セグメントの空き領域に格納する。ここで、も
しバッファメモリ上に空き領域がない場合には、最も詰
まった実セグメントをディスクに書き出して、ディスク
上の空いている実セグメントをバッファメモリ上に確保
し、ここに圧縮データを書き込む。即ち、論理セグメン
トの圧縮データは複数個の実セグメントの中の空き部分
に詰められて、複数個の実セグメント毎に空き領域のパ
ッキングを最適化していることとなる。このため、実デ
ィスク全体で空き領域をパッキングする作業に比較し
て、少ない作業量で準最適化を図ることができる。
【0045】cの圧縮管理テーブルは、論理セグメント
と実ディスクでの格納場所のマッピングテーブルとなっ
ている。実ディスクは例えば512Bのクラスタ単位に
管理されており、圧縮管理テーブルには論理セグメント
が格納されている実セグメント、実セグメント中の格納
クラスタ位置、圧縮クラスタ長などが格納される。例え
ば、実ディスクが512MBであり、仮想ディスクは1
GBと仮定し、論理セグメントを8KB、実セグメント
を64KBとしたとき、バッファメモリを640KBに
とり実セグメントを10個格納して圧縮データを割りつ
け、圧縮管理テーブルは512KBと設定する。全体実
容量に対して、圧縮型テーブルの容量は0.1パーセン
トと、問題にならない程度の容量で実現することができ
る。
【0046】図9は、PFS法の仮想ディスクリード手
順と、仮想ディスクライト手順を示すフローチャートで
ある。仮想ディスクリードの場合には、S1においてホ
ストより仮想ディスクの論理レコード単位のリード命令
が与えられる。これに応じて、S2にて該当する論理レ
コードがまとめられている論理セグメントを割り出し、
S3にて圧縮管理テーブル上の該当する論理セグメント
番号の一語を読み取る。次いで、S4にて実ディスク上
の実セグメントをディスクから読み込み、実セグメント
内開始クラスタから圧縮データを復元する。そしてS5
にて復元した論理セグメントより、該当する論理レコー
ド部分をホストに渡して処理を終了する。
【0047】一方、仮想ディスクライトの場合には、ま
ずS1にてホストより仮想ディスクの論理レコード単位
のライト命令が与えられる。つづいて、S2にて論理レ
コードを複数個まとめ、これらより論理セグメントを構
成する。次いで、S3にて論理セグメントを圧縮し、圧
縮データを作成する。ここで、S4にて実セグメントに
割り付け領域が残っているかどうかが判定される。実セ
グメントの割り付け領域が残っていない場合には、S5
にて実セグメントをディスクに書き込む。
【0048】一方、S4にて実セグメントの割り付け領
域が残っていると判定された場合、あるいはS5に続い
て、S6にて論理セグメントを複数個集め、実セグメン
トをこれに割り付け、処理を終了する。図10は、PF
S法を用いた場合の圧縮データ管理を示す図面である。
図に示されるように、本実施例では原レコードのサイズ
を4KB、圧縮レコードサイズを16KBにとった場合
について説明する。
【0049】圧縮ファイルは、図示されるように、ヘッ
ダ、原レコードの圧縮符号、圧縮管理テーブルの3つの
領域から構成される。ヘッダ内には、原レコード長、原
レコード数、圧縮クラスタ数などの情報が含まれてい
る。図11は、圧縮管理テーブル内部を示す。圧縮管理
テーブルは、原レコード番号に基づいて、格納されてい
る圧縮レコード番号、圧縮レコード内開始クラスタ、ク
ラスタ長を検索することができる。圧縮符号はクラスタ
長1〜4個で表現されており、圧縮符号が4個分のクラ
スタを必要とする場合には、生データが格納される。図
12〜図15は、PFS法を用いた場合の圧縮データ管
理手順を示したフローチャートである。ここでは、原フ
ァイルが圧縮ファイルに変換されてディスクに書き込ま
れ、この圧縮ファイルを更新する場合を想定する。圧縮
ファイルのオープン/リード/ライト/シーク/クロー
ズはライブラリとして上位アプリケーションプログラム
より呼び出される。図12は、本実施例の圧縮ファイル
オープン処理を示すフローチャートである。
【0050】ファイルオープンが指定された場合には、
S1において指定された圧縮ファイルのヘッダをディス
クより読み取る。次いで、S2においてヘッダ中に記述
されている原レコードのレコード長、レコード数の情報
により、圧縮データ中の圧縮管理テーブルのレコード位
置を求め、このテーブルをメモリ上に読み込む。続い
て、S3において圧縮管理テーブルのバックアップ・フ
ァイルをディスク上に作成する。これはLFS法のとき
と同様に、ファイル更新の途中での不測の事態に備える
ために行なう。図13は、本実施例による圧縮ファイル
リード処理を示すフローチャートである。
【0051】圧縮ファイルリードが指示されると、S1
においてメモリ上の圧縮管理テーブルのうち、圧縮クラ
スタ開始位置テーブルより次の原レコード番号に対応す
る圧縮符号開始位置を読み取る。ついでS2にて、読み
取られた圧縮符号開始位置から、原レコードの圧縮符号
をディスクから読みだし、圧縮データを復元する。次
に、S3にて原レコード番号を一つインクリメントす
る。続いて、復元された原レコードデータを上位のアプ
リケーションプログラムに渡し、処理を終了する。図1
4は、本実施例による圧縮ファイルライト処理を示すフ
ローチャートである。
【0052】圧縮ファイルのライトが指示されると、S
1にて上位アプリケーションプログラムより受け取った
原レコードデータを圧縮する。続いて、S2においてメ
モリ上の圧縮管理テーブルの圧縮クラスタ開始位置テー
ブルから、その原れこーとに対応する圧縮符号位置およ
びクラスタ長を読み取る。次に、S3にてPFS法を用
いて圧縮符号を圧縮レコードにパッキングしながらディ
スクに書き込んでいく。もし新規圧縮レコードが必要な
場合には、圧縮符号領域の後方に新規の圧縮レコードを
確保する。
【0053】続いて、S4 にて原レコード番号を一つ
インクリメントし、処理を終了する。このため、圧縮レ
コード位置決めシークが呼び出されなければ、デフォル
ト時には次の原レコードがアクセスされるようになる。
図15は、本実施例による圧縮ファイルのクローズ処理
を示すフローチャートである。
【0054】圧縮ファイルのクローズが指示されると、
S1において空き圧縮レコードがあるか否かが調べられ
る。空きレコードがある場合には、S2において最終の
圧縮レコードから順にその内容を空きレコードに移して
いき、圧縮管理テーブル内の対応する圧縮レコード番号
のみを更新、S3に進む。一方、S1にて空きレコード
がなかった場合には、S3にて圧縮管理テーブルを圧縮
符号領域の最終レコードの次に続けて書き込む。
【0055】S3に続いて、S4にてヘッダ内の原レコ
ード数、圧縮クラスタ数を更新し、これらをディスク低
に書き込む。続いて、S5にて圧縮管理テーブルのバッ
クアップファイルをディスクから消去し、処理を終了す
る。図28は、本実施例による圧縮レコード位置決めシ
ークの手順を示す図面である。
【0056】圧縮ファイルのリード/ライトルーチンが
呼び出される度に、レコード番号を一つインクリメント
して次のレコード番号をポイントし、リード/ライトの
シーケンシャルアクセスができるようになっている。圧
縮レコード位置決めシークは次にアクセスするレコード
番号を外から与えてやり、これに基づいてランダムアク
セスを行なうものである。
【0057】図28に示されるように、圧縮レコード位
置決めシークが実行される場合、アプリケーションプロ
グラムから指定されたレコード番号を、次にアクセスす
る原レコードとして設定する。このように、PFS法に
よる圧縮データ管理は、圧縮レコード(実セグメント)
にまとめられているため、処理はやや複雑となるが、圧
縮ファイル更新時に新たなデータのサイズが圧縮されて
旧データよりも小さくなった場合には、圧縮符号領域を
詰めて取り、領域の縮小を反映させることができる。ま
た、原レコードの圧縮データは連続したクラスタに格納
されるため、アクセス速度が速くなるというメリットが
ある。図16は、読出専用ファイルにおける圧縮データ
管理の一実施例を示す図面である。本実施例における圧
縮ファイルは、ヘッダ、原レコードの圧縮符号、圧縮管
理テーブルの3つの領域より構成される。ただし、読出
専用ファイルであるため、圧縮符号領域が拡大すること
はないため、圧縮管理テーブルはヘッダの後ろに置くよ
うにしてもよい。
【0058】ヘッダには、これまでの実施例と同様に、
原レコード長、原レコード数、圧縮クラスタ数などの情
報が含まれる。図17は、圧縮管理テーブルを示す図面
である。図に示されるように、圧縮管理テーブルには、
それぞれの原レコードに対応する圧縮符号の開始位置と
クラスタ長情報とが含まれている。この場合、クラスタ
長2ビットで1〜4個のクラスタを必要とするかどうか
が表示されている。また、4個分のクラスタが必要な場
合は生データが格納されている。図18、図19は本実
施例における圧縮ファイルのオープン、リード処理手順
をそれぞれ示す図面である。
【0059】図18を用いて、本実施例における圧縮フ
ァイルオープン処理の手順について説明する。圧縮ファ
イルオープンの指示がなされた場合には、S1において
指定されたファイルに対応する圧縮ファイルのヘッダを
読み取る。つづいてS2においてヘッダに記録されてい
る原レコード長、原レコード数を読出、このデータに基
づいて圧縮ファイル中の圧縮型テーブルのレコード位置
を求め、圧縮管理テーブルをメモリ上に読み込む。
【0060】読出専用ファイルの場合にはディスク上の
データの書き替えは発生しないため、バックアップファ
イルは特に作成されない。次に、図19を用いて圧縮フ
ァイルリード処理について説明する。
【0061】圧縮ファイルリードが指示された場合に
は、まずS1においてメモリ上の圧縮管理テーブル中、
圧縮符号のクラスタ開始位置からクラスタ長を読み取
り、原レコード番号に対応する圧縮符号を読み取る。続
いて、S2において原レコードの圧縮符号を復元する。
次に、S3において原レコード番号を一つインクリメン
トする。続いて、復元された原レコードデータを上位ア
プリケーションプログラムに渡すことによって、処理が
終了する。図20は、読出・追加書込ファイルにおける
圧縮データ管理を示す図面である。この実施例では、通
常の読出・書込ファイルと同様に、圧縮ファイルがヘッ
ダ、原レコードの圧縮符号、圧縮管理テーブルの3つの
領域から構成される。
【0062】ヘッダ内には、原レコード長、原レコード
数、更新用最終レコード番号、圧縮クラスタ数の情報が
含まれている。このうち、更新用最終レコード番号の詳
細については後述する。図21は本実施例の圧縮管理テ
ーブルを示す図面である。図に示されるように、本実施
例による圧縮管理テーブルには、各々の原レコードに対
して、圧縮符号の開始位置、クラスタ長、更新情報が格
納されている。圧縮ファイルの変更は、新たな原レコー
ドが追加される場合、あるいは既に登録されている原レ
コードが更新される場合に行われる。
【0063】新たな原レコードが追加登録される場合に
は、圧縮管理テーブルに追加分のレコード数を想定して
追加予備レコードを予め確保しておき、予備レコードを
割り当てる。追加用予備レコードのレコード番号は、既
に登録されている原レコード番号に続けて与えられる。
一方、既に登録されている原レコードが更新される場合
には、追加用予備レコード番号以降の番号を更新用レコ
ード番号として割り当てる。従って、更新用レコード番
号は原レコードよりも大きい番号が与えられる。この場
合、圧縮管理テーブル内の更新情報には、ここで与えら
れた更新用のレコード番号が書き込まれる。これによっ
て、原レコード番号から始まって、もし原レコードの更
新があれば、それに対応する更新用レコード番号を順次
チェーンを辿って最新版の原レコードデータに対応する
圧縮符号位置を獲得することができる。最新の原レコー
ドに対応する圧縮符号は、更新情報に例えば0を書き込
んでおくことによって識別することができる。更新の履
歴は全て保存されているため、任意時点での更新レコー
ドデータを参照することができる。図22〜図25は、
LFS法を用いて、読出・追加書込型の圧縮ファイルの
圧縮データ管理を行なう場合の手順を示すフローチャー
トである。図22は圧縮ファイルオープン、図23は圧
縮ファイルリード、図24は圧縮ファイルライト、図2
5は圧縮ファイルクローズの手順をそれぞれ示すもので
ある。図22を用いて、圧縮ファイルオープンの処理手
順を説明する。
【0064】圧縮ファイルのオープンが指示された場合
には、まずS1において指定されたファイルに対する圧
縮ファイルのヘッダを読み取る。次いでS2において、
ヘッダ内の原ファイルのレコード長、レコード数をよみ
とり、これらのデータに基づいて圧縮ファイル内の圧縮
管理テーブルのレコード位置を求め、圧縮管理テーブル
をメモリ上に読み込む。
【0065】続いて、S3において圧縮管理テーブルの
バックアップファイルを、ディスク上に作成し、処理を
終了する。次に、図23を用いて圧縮ファイルリード処
理の手順について説明する。圧縮ファイルのリードが指
示された場合には、まずS1においてメモリ上の圧縮管
理テーブル内の圧縮クラスタ開始位置テーブルを読み取
り、次の原レコード番号に対応する最新の圧縮符号開始
位置とそのクラスタ長を読み取る。そして、読みだされ
た圧縮符号開始位置から圧縮符号をディスク上に読み込
む。ここで、原レコード番号に基づいて圧縮管理テーブ
ルを参照すると、元の圧縮符号の位置を求めることがで
きる。
【0066】原レコードのデータに更新がある場合に
は、更新情報として更新用レコード番号を繰り返し圧縮
管理テーブルから引くことによって、最新の圧縮符号開
始位置とそのクラスタ長を探すことが可能となる。次
に、S2において読みだされた圧縮符号を復元し、S3
において原レコード番号を一つインクリメントする。こ
れによって、圧縮レコードの位置決めシークが呼びださ
れなければ、デフォルト時には次の原レコードがアクセ
スされる。
【0067】続いて、S4にて復元された原レコードデ
ータを上位のアプリケーションプログラムに渡し、処理
を終了する。続いて、図24にて圧縮ファイルライトの
処理手順を説明する。圧縮ファイルライトが指示された
場合、まずS1にて上位のアプリケーションプログラム
より受け取った原レコードデータを圧縮する。続いて、
圧縮符号領域の後方に圧縮された原レコードデータのた
めに新たなクラスタを割り当て、ディスクに圧縮符号を
書き込む。
【0068】次に、S3にて原レコードが既に登録され
てるデータの更新であるかどうかを調べる。もし既に登
録されているデータの更新である場合には、S4にて圧
縮符号に更新レコード番号を割り当て、メモリ上の圧縮
管理テーブルの原レコードの番号に対する最新の圧縮符
号の更新情報として、割り当てられた更新レコード番号
を書き込む。
【0069】続いて、S5においてメモリ上の圧縮管理
テーブルの新たな更新番号の位置に、圧縮符号開始位置
とそのクラスタ長を書き込む。この場合更新情報は0と
し、最新データであることを示す。一方、S3にて既に
登録されているデータの更新ではないと判定された場合
には、これは追加レコードであるため、S6において追
加レコード用の予備レコード番号を割り当て、圧縮管理
テーブルの追加レコードの場所に、圧縮符号開始位置と
クラスタ長を書き込む。
【0070】そして、S7で原レコード番号を一つイン
クリメントして、処理を終了する。また、圧縮ファイル
のシークを行なう場合には、アプリケーションから指定
された原レコード番号を次のレコード番号として設定す
る。図25は圧縮ファイルクローズの処理手順を示した
図面である。
【0071】圧縮ファイルのクローズが指示された場合
には、まずS1にて圧縮管理テーブルを圧縮符号領域の
最終レコードのつぎに続けてディスクに書き込む。続い
て、S2にてヘッダの原レコード数、圧縮クラスタ数を
更新し、ディスクに書き込んだ後、S3にて圧縮型テー
ブルのバックアップファイルをディスクから消去し、処
理を終了する。これらの実施例で扱えるファイルの大き
さは、各レコードの圧縮符号の開始位置を表すビット数
に制約されるが、これは扱うファイルのサイズが大きい
場合にビット数を増やすことによって対応することがで
きる。
【0072】
【発明の効果】以上述べた通り、本発明によれば、ファ
イルの圧縮をユーザに意識させることなく、通常ファイ
ルと圧縮ファイルとを混在させつつ、クラスタ単位の圧
縮/復元を行なうことによるオーバーヘッド時間の短縮
を実現することができる。また、圧縮ファイルの媒体種
別は問われず、圧縮管理情報のファイル単位の分散管理
を行なうことによって、障害等による被害の発生をアク
セス対象ファイルのみに止めることができ、信頼性を向
上させることができる。
【0073】さらに、従来の通常ファイルと圧縮ファイ
ルを、同時に扱うことが可能となり、互換性を持たせる
ことが可能となる。
【図面の簡単な説明】
【図1】 本発明の一実施例による圧縮ファイルと通常
ファイルとの切換説明図
【図2】 LFS法によるファイル管理方法
【図3】 一実施例による圧縮管理テーブル
【図4】 一実施例によるファイルオープン手順
【図5】 一実施例によるファイルリード手順
【図6】 一実施例によるファイルライト手順
【図7】 一実施例によるファイルクローズ手順
【図8】 PFS法によるファイル圧縮方法
【図9】 PFS法による仮想ディスクリード・ライト
手順
【図10】PFS法を用いた場合の圧縮データ管理の一
実施例
【図11】PFS法を用いた一実施例の圧縮管理テーブ
【図12】PFS法を用いた一実施例のファイルオープ
ン手順
【図13】PFS法を用いた一実施例のファイルリード
手順
【図14】PFS法を用いた一実施例のファイルライト
手順
【図15】PFS法を用いた一実施例のファイルクロー
ズ手順
【図16】読出専用ファイルにおける圧縮データ管理の
一実施例
【図17】読出専用ファイルにおける圧縮管理テーブル
【図18】読出専用ファイルにおける圧縮ファイルオー
プン手順
【図19】読出専用ファイルにおける圧縮ファイルリー
ド手順
【図20】読出・追加書込ファイルにおける圧縮データ
管理の一実施例
【図21】読出・追加書込ファイルにおける圧縮管理テ
ーブル
【図22】読出・追加書込ファイルにおけるファイルオ
ープン手順
【図23】読出・追加書込ファイルにおけるファイルリ
ード手順
【図24】読出・追加書込ファイルにおけるファイルラ
イト手順
【図25】読出・追加書込ファイルにおけるファイルク
ローズ手順
【図26】従来の圧縮ファイル格納方法を示す図面
【図27】従来の仮想ドライブを説明する図面
【図28】PFS法を用いた一実施例の圧縮レコード位
置決めシーク手順
フロントページの続き (56)参考文献 特開 平8−69400(JP,A) 特開 平6−161842(JP,A) 特開 平2−193236(JP,A) 特開 昭60−74054(JP,A) 特開 平8−115239(JP,A) 特開 平8−87398(JP,A) 特開 平6−274279(JP,A) 特開 平4−145596(JP,A) 特開 昭62−182948(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 5/00 G06F 12/00 511

Claims (6)

    (57)【特許請求の範囲】
  1. 【請求項1】原レコードのデータを圧縮し、1乃至複数
    の圧縮データから圧縮ファイルを作成し、前記圧縮ファ
    イルにより圧縮データを管理する圧縮データ管理装置で
    あって、前記圧縮ファイルは、前記各レコードの圧縮データと、
    該圧縮データの該圧縮ファイル内での格納位置情報と、
    を有し、 前記レコードに含まれる圧縮データは、原レコードの整
    数分の一の大きさを持つブロックに分割されており、 前記格納位置情報は、前記各レコードに対応する圧縮デ
    ータの先頭ブロック番号と、該先頭ブロックに続く後続
    ブロック番号のブロック接続情報と、を保持しており、 前記圧縮ファイルの更新時に、前記格納位置情報内のブ
    ロック接続情報を検索し、空きブロックが存在する場合
    これを空きブロック線形リストとして管理することを特
    徴とする、圧縮データ管理装置。
  2. 【請求項2】前記圧縮データ管理装置であって、 前記圧縮ファイルを更新中に空きブロックが発生した場
    合、該新たに発生した空きブロックを前記空きブロック
    線形リストに登録することを特徴とする、請求項1記載
    の圧縮データ管理装置。
  3. 【請求項3】前記圧縮データ管理装置であって、 前記圧縮ファイルの更新中に、書込対象レコードの圧縮
    データが圧縮データ格納ブロックに収まらない場合、前
    記空きブロック線形リストより空きブロックを外して割
    り当て、該圧縮データを格納することを特徴とする、請
    求項2記載の圧縮データ管理装置。
  4. 【請求項4】原レコードのデータを圧縮し、1ないし複
    数の圧縮データより圧縮ファイルを作成し、前記圧縮デ
    ータにより圧縮ファイルを管理し、前記圧縮ファイルに
    原レコードの大きさよりも大きい所定のサイズを持つブ
    ロックが設定され、前記ブロックに各レコードの圧縮デ
    ータを複数個まとめて格納されるよう構成したことを特
    徴とする、圧縮データ管理装置。
  5. 【請求項5】前記圧縮データ管理装置であって、 前記圧縮ファイルに設定されるブロックは、前記原レコ
    ードサイズの整数倍の大きさを持つことを特徴とする、
    請求項4記載の圧縮データ管理装置。
  6. 【請求項6】前記圧縮データ管理装置であって、 前記圧縮ファイルの更新時にデータが格納されない未使
    用ブロックが発生する場合、該未使用ブロックを該圧縮
    ファイルの終端に位置するブロックと交換する処理を行
    なうとともに、 前記格納情報を、前記ブロック交換処理に応じて更新す
    ることを特徴とする、請求項5記載の圧縮データ管理装
    置。
JP11450095A 1995-05-12 1995-05-12 圧縮データ管理方式 Expired - Fee Related JP3509285B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP11450095A JP3509285B2 (ja) 1995-05-12 1995-05-12 圧縮データ管理方式
US08/644,158 US5813011A (en) 1995-05-12 1996-05-10 Storage of a compressed file containing its own compression management table

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11450095A JP3509285B2 (ja) 1995-05-12 1995-05-12 圧縮データ管理方式

Publications (2)

Publication Number Publication Date
JPH08314689A JPH08314689A (ja) 1996-11-29
JP3509285B2 true JP3509285B2 (ja) 2004-03-22

Family

ID=14639313

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11450095A Expired - Fee Related JP3509285B2 (ja) 1995-05-12 1995-05-12 圧縮データ管理方式

Country Status (2)

Country Link
US (1) US5813011A (ja)
JP (1) JP3509285B2 (ja)

Families Citing this family (55)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6092071A (en) 1997-11-04 2000-07-18 International Business Machines Corporation Dedicated input/output processor method and apparatus for access and storage of compressed data
JP3218007B2 (ja) * 1998-03-20 2001-10-15 富士通株式会社 インデックスの管理装置,更新方法及び管理方法並びにコンピュータ読取可能な記憶媒体
US6567814B1 (en) * 1998-08-26 2003-05-20 Thinkanalytics Ltd Method and apparatus for knowledge discovery in databases
WO2000014740A1 (fr) * 1998-09-09 2000-03-16 Sharp Kabushiki Kaisha Dispositif d'enregistrement d'information multimedia destine a l'enregistrement de fichier d'information multimedia sur support d'enregistrement
JP2000305822A (ja) * 1999-04-26 2000-11-02 Denso Corp データベース管理装置,データベースレコード抽出装置,データベース管理方法及びデータベースレコード抽出方法
US6535925B1 (en) 1999-11-09 2003-03-18 Telefonaktiebolaget L M Ericsson (Publ) Packet header compression using division remainders
US20050015608A1 (en) * 2003-07-16 2005-01-20 Pkware, Inc. Method for strongly encrypting .ZIP files
US6879988B2 (en) 2000-03-09 2005-04-12 Pkware System and method for manipulating and managing computer archive files
US8959582B2 (en) 2000-03-09 2015-02-17 Pkware, Inc. System and method for manipulating and managing computer archive files
US8230482B2 (en) 2000-03-09 2012-07-24 Pkware, Inc. System and method for manipulating and managing computer archive files
US7844579B2 (en) 2000-03-09 2010-11-30 Pkware, Inc. System and method for manipulating and managing computer archive files
JP4821042B2 (ja) * 2000-10-31 2011-11-24 ソニー株式会社 データ変換装置、記憶装置、プロトコル変換装置、デバイス制御装置、記録再生システム、及び記録再生方法
US6766334B1 (en) * 2000-11-21 2004-07-20 Microsoft Corporation Project-based configuration management method and apparatus
US7363540B2 (en) * 2002-10-22 2008-04-22 Microsoft Corporation Transaction-safe FAT file system improvements
US7174420B2 (en) * 2002-10-22 2007-02-06 Microsoft Corporation Transaction-safe FAT file system
US6819272B2 (en) * 2002-11-06 2004-11-16 Hewlett-Packard Development Company, L.P. System, method and computer readable medium for compressing a data sequence for partial decompressing
US20060190643A1 (en) * 2004-04-26 2006-08-24 Storewiz, Inc. Method and system for compression of data for block mode access storage
US7424482B2 (en) * 2004-04-26 2008-09-09 Storwize Inc. Method and system for compression of data for block mode access storage
WO2005103878A2 (en) * 2004-04-26 2005-11-03 Storewiz, Inc. Method and system for compression of files for storage and operation on compressed files
US20060230014A1 (en) * 2004-04-26 2006-10-12 Storewiz Inc. Method and system for compression of files for storage and operation on compressed files
US7788299B2 (en) * 2004-11-03 2010-08-31 Spectra Logic Corporation File formatting on a non-tape media operable with a streaming protocol
US8606830B2 (en) 2004-12-17 2013-12-10 Microsoft Corporation Contiguous file allocation in an extensible file system
US7873596B2 (en) 2006-05-23 2011-01-18 Microsoft Corporation Extending cluster allocations in an extensible file system
US8321439B2 (en) 2004-12-17 2012-11-27 Microsoft Corporation Quick filename lookup using name hash
US9639554B2 (en) 2004-12-17 2017-05-02 Microsoft Technology Licensing, Llc Extensible file system
US8327050B2 (en) * 2005-04-21 2012-12-04 International Business Machines Corporation Systems and methods for compressing files for storage and operation on compressed files
CN101346883A (zh) * 2005-10-26 2009-01-14 斯多维兹有限公司 用于块模式访问存储的数据压缩的方法和系统
US20070208893A1 (en) * 2006-02-23 2007-09-06 Microsoft Corporation File-based compression on a fat volume
US8868930B2 (en) 2006-05-31 2014-10-21 International Business Machines Corporation Systems and methods for transformation of logical data objects for storage
US8782436B2 (en) 2006-05-31 2014-07-15 International Business Machines Corporation Method and system for transformation of logical data objects for storage
JP5217155B2 (ja) * 2006-11-17 2013-06-19 日本電気株式会社 ファイル圧縮自動判定方式および方法、並びに、プログラム
US7840849B2 (en) * 2006-12-21 2010-11-23 Novell, Inc. Methods and apparatus for debugging software including divisions of an execution history of a debuggee program
US7747664B2 (en) * 2007-01-16 2010-06-29 Microsoft Corporation Storage system format for transaction safe file system
US7613738B2 (en) * 2007-01-16 2009-11-03 Microsoft Corporation FAT directory structure for use in transaction safe file system
WO2008138042A1 (en) * 2007-05-10 2008-11-20 Chrystall, Alexander, George, Mallick System and/or method for reducing disk space usage and improving input/output performance of computer systems
US8200959B2 (en) 2007-06-28 2012-06-12 Cisco Technology, Inc. Verifying cryptographic identity during media session initialization
US9362948B2 (en) * 2008-02-14 2016-06-07 Broadcom Corporation System, method, and computer program product for saving and restoring a compression/decompression state
US7987161B2 (en) * 2007-08-23 2011-07-26 Thomson Reuters (Markets) Llc System and method for data compression using compression hardware
US8417942B2 (en) * 2007-08-31 2013-04-09 Cisco Technology, Inc. System and method for identifying encrypted conference media traffic
JP4888566B2 (ja) 2007-10-30 2012-02-29 日本電気株式会社 データ圧縮方法
US20090169001A1 (en) * 2007-12-28 2009-07-02 Cisco Technology, Inc. System and Method for Encryption and Secure Transmission of Compressed Media
US8837598B2 (en) * 2007-12-28 2014-09-16 Cisco Technology, Inc. System and method for securely transmitting video over a network
US8179291B2 (en) * 2009-05-04 2012-05-15 International Business Machines Corporation Method and system for compression of logical data objects for storage
KR101643273B1 (ko) 2010-04-09 2016-08-01 삼성전자주식회사 저장 매체에 데이터를 저장하는 방법, 그를 이용한 데이터 저장 장치, 및 그것을 포함한 시스템
KR20110113420A (ko) * 2010-04-09 2011-10-17 삼성전자주식회사 저장 매체에 데이터를 저장하는 방법, 그를 이용한 데이터 저장 장치, 및 그것을 포함한 시스템
JP5712609B2 (ja) * 2010-12-24 2015-05-07 富士通株式会社 データ処理装置及びデータ記録方法
US8972360B2 (en) 2011-05-23 2015-03-03 International Business Machines Corporation Position invariant compression of files within a multi-level compression scheme
US9830271B2 (en) * 2012-07-25 2017-11-28 Vmware, Inc. Transparent virtualization of cloud storage
US9392212B1 (en) * 2014-04-17 2016-07-12 Visionary Vr, Inc. System and method for presenting virtual reality content to a user
US9767029B2 (en) 2014-04-23 2017-09-19 International Business Machines Corporation Data decompression using a construction area
JP6613568B2 (ja) * 2015-01-19 2019-12-04 富士通株式会社 処理プログラム、処理装置および処理方法
US9665170B1 (en) 2015-06-10 2017-05-30 Visionary Vr, Inc. System and method for presenting virtual reality content to a user based on body posture
US9946462B1 (en) * 2016-02-15 2018-04-17 Seagate Technology Llc Address mapping table compression
US10088898B2 (en) * 2016-03-31 2018-10-02 Verizon Patent And Licensing Inc. Methods and systems for determining an effectiveness of content in an immersive virtual reality world
US11681659B2 (en) * 2021-05-21 2023-06-20 Red Hat, Inc. Hybrid file compression model

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6074054A (ja) * 1983-09-30 1985-04-26 Fujitsu Ltd デ−タセツト変換処理方式
JPS62182948A (ja) * 1986-02-07 1987-08-11 Nec Corp 圧縮または属性変換レコ−ド引き伸ばし方式
JPH02193236A (ja) * 1989-01-21 1990-07-30 Fuji Photo Film Co Ltd メモリカードの記憶管理方式
US5124987A (en) * 1990-04-16 1992-06-23 Storage Technology Corporation Logical track write scheduling system for a parallel disk drive array data storage subsystem
US5237675A (en) * 1990-06-04 1993-08-17 Maxtor Corporation Apparatus and method for efficient organization of compressed data on a hard disk utilizing an estimated compression factor
US5193184A (en) * 1990-06-18 1993-03-09 Storage Technology Corporation Deleted data file space release system for a dynamically mapped virtual data storage subsystem
US5087913A (en) * 1990-08-27 1992-02-11 Unisys Corporation Short-record data compression and decompression system
JP2675429B2 (ja) * 1990-10-08 1997-11-12 富士写真フイルム株式会社 メモリカードにおけるデータ管理方式
US5237460A (en) * 1990-12-14 1993-08-17 Ceram, Inc. Storage of compressed data on random access storage devices
US5481701A (en) * 1991-09-13 1996-01-02 Salient Software, Inc. Method and apparatus for performing direct read of compressed data file
JPH06161842A (ja) * 1992-11-20 1994-06-10 Melco:Kk 外部記憶装置およびこれを用いたコンピュータ
JPH06274279A (ja) * 1993-03-18 1994-09-30 Pfu Ltd ミラードディスクおよびその制御方式
US5463772A (en) * 1993-04-23 1995-10-31 Hewlett-Packard Company Transparent peripheral file systems with on-board compression, decompression, and space management
US5488365A (en) * 1994-03-01 1996-01-30 Hewlett-Packard Company Method and apparatus for compressing and decompressing short blocks of data
JPH0869400A (ja) * 1994-08-30 1996-03-12 Sony Corp 圧縮データ記録方法
JPH0887398A (ja) * 1994-09-16 1996-04-02 Hitachi Ltd 符号化、復号化方式及び情報処理装置
JPH08115239A (ja) * 1994-10-19 1996-05-07 Fuji Xerox Co Ltd ディスクシステム

Also Published As

Publication number Publication date
US5813011A (en) 1998-09-22
JPH08314689A (ja) 1996-11-29

Similar Documents

Publication Publication Date Title
JP3509285B2 (ja) 圧縮データ管理方式
JP3005645B2 (ja) 消去不可能な記憶媒体上にファイルを読出しかつ書込む方法
US7610434B2 (en) File recording apparatus
US5454098A (en) Method of emulating access to a sequential access data storage device while actually using a random access storage device
KR100951107B1 (ko) 최적의 성능을 위한 파일 관리 방법
EP0479535B1 (en) File managing method
EP1805589B1 (en) Tape emulating disk based storage and method with automatically resized emulated tape capacity
US7146455B2 (en) System and method for optimized access to memory devices requiring block writing
EP0333165A2 (en) System for managing recording areas on writable type optical disk
US6272611B1 (en) Computer data storage medium having a virtual disk drive and memory management method therefor
US9098210B2 (en) Automatically linking partitions on a tape media device
JP4722704B2 (ja) 情報記録媒体、情報記録媒体に対するアクセス装置及びアクセス方法
US6591356B2 (en) Cluster buster
JP2001101046A (ja) 情報処理装置及びその方法、コンピュータ可読メモリ
US6654851B1 (en) System, apparatus, and method for using a disk drive for sequential data access
JP2831369B2 (ja) 情報記録再生方式およびシステム
US6961812B2 (en) Universal disk format volumes with variable size
JP4221959B2 (ja) ブリッジファイルシステム、コンピュータシステム、ブリッジファイルシステムを用いたデータ管理方法及び記録媒体
JP2001265628A (ja) ファイル記録管理システム
JP4394467B2 (ja) ストレージシステム、サーバ装置及び先行コピーデータ生成方法
US6209057B1 (en) Storage device having data buffer
JP3725375B2 (ja) 記憶媒体ライブラリにおけるデータ再編成方法
JPH03166634A (ja) 情報記録再生方式
EP1237085B1 (en) Memory management method for configuring a computer data storage medium to include a virtual disk drive
JP2008134777A (ja) ファイル割当テーブルのキャッシュ方法

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20031209

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20031222

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

Free format text: PAYMENT UNTIL: 20080109

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20090109

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100109

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20110109

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20110109

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20120109

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20130109

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees