JPH04360246A - ファイル圧縮装置 - Google Patents
ファイル圧縮装置Info
- Publication number
- JPH04360246A JPH04360246A JP3134694A JP13469491A JPH04360246A JP H04360246 A JPH04360246 A JP H04360246A JP 3134694 A JP3134694 A JP 3134694A JP 13469491 A JP13469491 A JP 13469491A JP H04360246 A JPH04360246 A JP H04360246A
- Authority
- JP
- Japan
- Prior art keywords
- file
- common
- files
- processing
- common part
- 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.)
- Pending
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【0001】
【産業上の利用分野】本発明は、計算機システムにおい
てオペレーティングシステムによって行われるファイル
管理の方式に係わり、特に共通部分を有する複数のファ
イルを効率良く圧縮するためのファイル圧縮装置に関す
る。
てオペレーティングシステムによって行われるファイル
管理の方式に係わり、特に共通部分を有する複数のファ
イルを効率良く圧縮するためのファイル圧縮装置に関す
る。
【0002】
【従来の技術】計算機システムにおいて、記憶領域であ
る二次記憶装置を効率的に使用してデータの蓄積経費の
削減を行い、かつ転送経費の経済化をはかるため、デー
タ圧縮技術が提案され実用化されている。データ圧縮と
は、データ変換を行うことによってデータ内の冗長度を
抑圧し、データをより短いデータ長で簡潔に表現するこ
とである。
る二次記憶装置を効率的に使用してデータの蓄積経費の
削減を行い、かつ転送経費の経済化をはかるため、デー
タ圧縮技術が提案され実用化されている。データ圧縮と
は、データ変換を行うことによってデータ内の冗長度を
抑圧し、データをより短いデータ長で簡潔に表現するこ
とである。
【0003】現在、広く使用されているデータ圧縮法と
して、Huffmanの最適符号化法がある。これは、
データ中のパターンの出現頻度を統計的に調べ、出現頻
度の高いパターンほど短い符号を割り当てるもので、パ
ターンの数を多くすることにより平均符号長を短くする
ことが可能となる。また、Ziv−Lempelのデー
タ圧縮法では、データの統計的性質や定常性を仮定する
必要がなく、任意の記号列に直接適用できる。このデー
タ圧縮法によると、長い記号列を効率良く圧縮すること
が可能なため、計算機システムで作られる各種ファイル
の圧縮に適している。
して、Huffmanの最適符号化法がある。これは、
データ中のパターンの出現頻度を統計的に調べ、出現頻
度の高いパターンほど短い符号を割り当てるもので、パ
ターンの数を多くすることにより平均符号長を短くする
ことが可能となる。また、Ziv−Lempelのデー
タ圧縮法では、データの統計的性質や定常性を仮定する
必要がなく、任意の記号列に直接適用できる。このデー
タ圧縮法によると、長い記号列を効率良く圧縮すること
が可能なため、計算機システムで作られる各種ファイル
の圧縮に適している。
【0004】しかしながら、この種のデータ圧縮技術に
あっては次のような問題があった。即ち、複数のファイ
ルが等しい内容のデータを有している場合、記憶領域(
二次記憶装置)には同じデータがいくつも保存されるこ
とになる。この二次記憶装置における無駄な領域は、内
容が共通である部分のサイズが大きいほど、またそれを
有するファイル数が多いほど大きくなり、二次記憶装置
の効率的な利用の妨げとなっている。
あっては次のような問題があった。即ち、複数のファイ
ルが等しい内容のデータを有している場合、記憶領域(
二次記憶装置)には同じデータがいくつも保存されるこ
とになる。この二次記憶装置における無駄な領域は、内
容が共通である部分のサイズが大きいほど、またそれを
有するファイル数が多いほど大きくなり、二次記憶装置
の効率的な利用の妨げとなっている。
【0005】一方、上記のようにデータ圧縮処理は、デ
ータファイルに対して個別に実行され、個々のデータフ
ァイルがよりサイズの小さいデータファイルに変換され
る。そのため、複数のファイルに共通の内容が内在して
いることによる二次記憶装置利用上の不経済性を、従来
のデータ圧縮処理では排除することができない。
ータファイルに対して個別に実行され、個々のデータフ
ァイルがよりサイズの小さいデータファイルに変換され
る。そのため、複数のファイルに共通の内容が内在して
いることによる二次記憶装置利用上の不経済性を、従来
のデータ圧縮処理では排除することができない。
【0006】また、この問題点を解決するには、複数の
ファイルの内容を考慮した統合的な処理が必要であるが
、これまでこのような処理方法は全く実施されておらず
、未だ実用化されていない。
ファイルの内容を考慮した統合的な処理が必要であるが
、これまでこのような処理方法は全く実施されておらず
、未だ実用化されていない。
【0007】
【発明が解決しようとする課題】このように従来のデー
タ圧縮処理は、個々のデータファイルに関してはそれぞ
れ圧縮効果があるものの、複数のファイルに共通の内容
が内在していることによる二次記憶装置利用上の不経済
性を排除することはできなかった。
タ圧縮処理は、個々のデータファイルに関してはそれぞ
れ圧縮効果があるものの、複数のファイルに共通の内容
が内在していることによる二次記憶装置利用上の不経済
性を排除することはできなかった。
【0008】本発明は、上記問題点を解決するためにな
されたもので、その目的とするところは、複数のファイ
ルに共通の内容を二次記憶装置に重複して記憶する等の
不都合を避けることができ、二次記憶装置のより効率的
な利用が可能となるファイル圧縮装置を提供することに
ある。
されたもので、その目的とするところは、複数のファイ
ルに共通の内容を二次記憶装置に重複して記憶する等の
不都合を避けることができ、二次記憶装置のより効率的
な利用が可能となるファイル圧縮装置を提供することに
ある。
【0009】
【課題を解決するための手段】本発明の骨子は、複数の
ファイルに共通の内容がある場合に、共通部分とこの共
通部分を除いた非共通部分とを独立して格納することに
ある。
ファイルに共通の内容がある場合に、共通部分とこの共
通部分を除いた非共通部分とを独立して格納することに
ある。
【0010】即ち本発明は、複数のファイルを効率良く
圧縮するためのファイル圧縮装置において、第1の記憶
部に格納された複数のファイルに対しその内容を比較す
る手段と、この比較結果で内容が一致している部分を抜
き出す手段と、抜き出した共通部分を共通ファイルとし
て第1の記憶部又は第2の記憶部に格納する手段と、共
通部分を抜き出した後のファイルを固有ファイルとして
第1の記憶部又は第2の記憶部に格納する手段とを設け
るようにしたものである。
圧縮するためのファイル圧縮装置において、第1の記憶
部に格納された複数のファイルに対しその内容を比較す
る手段と、この比較結果で内容が一致している部分を抜
き出す手段と、抜き出した共通部分を共通ファイルとし
て第1の記憶部又は第2の記憶部に格納する手段と、共
通部分を抜き出した後のファイルを固有ファイルとして
第1の記憶部又は第2の記憶部に格納する手段とを設け
るようにしたものである。
【0011】本発明においては、複数のファイルの内容
を比較した結果、一つのファイル内で判定される共通部
分が複数個あってもよい。また、比較はユーザーが指定
した全てのファイル間で行うだけに限らず、指定したフ
ァイルの内の任意の複数ファイルに対して比較処理を行
い、そのファイル間の共通部分を判定するようにしても
よい。
を比較した結果、一つのファイル内で判定される共通部
分が複数個あってもよい。また、比較はユーザーが指定
した全てのファイル間で行うだけに限らず、指定したフ
ァイルの内の任意の複数ファイルに対して比較処理を行
い、そのファイル間の共通部分を判定するようにしても
よい。
【0012】
【作用】本発明によれば、以下のような状況において非
常に効率の良いファイル圧縮を行うことができる。
常に効率の良いファイル圧縮を行うことができる。
【0013】例えば、系の時間発展を調べるため計算機
によるシミュレーションが行われているものとする。こ
のようなシミュレーションでは、時間の離散化を行い、
その離散化された各タイムステップ毎に系の状態を計算
して時間発展を追う。計算された各タイムステップ毎の
現象の変化を把握するには、シミュレーション結果のグ
ラフィック化が非常に有効な支援手段であるため、通常
、あるタイムステップ間隔でグラフィック用のデータを
アウトプットしてデータファイルを作成する。そして、
そのデータファイルを元に、一タイムステップ毎の静止
画をつなげて動画を作る。
によるシミュレーションが行われているものとする。こ
のようなシミュレーションでは、時間の離散化を行い、
その離散化された各タイムステップ毎に系の状態を計算
して時間発展を追う。計算された各タイムステップ毎の
現象の変化を把握するには、シミュレーション結果のグ
ラフィック化が非常に有効な支援手段であるため、通常
、あるタイムステップ間隔でグラフィック用のデータを
アウトプットしてデータファイルを作成する。そして、
そのデータファイルを元に、一タイムステップ毎の静止
画をつなげて動画を作る。
【0014】一般にグラフィック用としてアウトプット
されるデータ量は、一つのタイムステップ分でも大きく
、データファイル全体のサイズは膨大なものとなる。 ところで、シミュレーションの特徴の一つとして、実行
者が希望する初期値,条件のもとでの系の状態の追跡が
可能であるという恣意性をあげることができる。そのた
め、同じ初期値において条件を変えて何回も計算を行い
、条件の違いによる時間発展の違いを調べるというシミ
ュレーションの実行例が考えられる。
されるデータ量は、一つのタイムステップ分でも大きく
、データファイル全体のサイズは膨大なものとなる。 ところで、シミュレーションの特徴の一つとして、実行
者が希望する初期値,条件のもとでの系の状態の追跡が
可能であるという恣意性をあげることができる。そのた
め、同じ初期値において条件を変えて何回も計算を行い
、条件の違いによる時間発展の違いを調べるというシミ
ュレーションの実行例が考えられる。
【0015】このように、同じ初期値で条件を変えたシ
ミュレーションを繰り返し行い、その結果をグラフィッ
ク化するためにデータファイルを作成した場合、データ
ファイルにアウトプットされる初期データ(一タイムス
テップ分のデータであり、動画における初期画面となる
)は全てのデータファイルで共通のものとなる。しかし
、前述したようにグラフィック用のデータのサイズは一
つのタイムステップでも非常に大きなものであるため、
いくつものデータファイルが同じ初期データを共有して
いることは、二次記憶装置中に無駄な領域を作り出すこ
とになり、記憶装置の効率的な利用の妨げとなっている
。
ミュレーションを繰り返し行い、その結果をグラフィッ
ク化するためにデータファイルを作成した場合、データ
ファイルにアウトプットされる初期データ(一タイムス
テップ分のデータであり、動画における初期画面となる
)は全てのデータファイルで共通のものとなる。しかし
、前述したようにグラフィック用のデータのサイズは一
つのタイムステップでも非常に大きなものであるため、
いくつものデータファイルが同じ初期データを共有して
いることは、二次記憶装置中に無駄な領域を作り出すこ
とになり、記憶装置の効率的な利用の妨げとなっている
。
【0016】このような場合、本発明のファイル圧縮処
理を行えば、初期データはただ一つ保存されることにな
るため、二次記憶装置の効率的な使用が可能となり、か
つユーザーは圧縮処理の行われたデータファイルを、そ
れぞれが初期データを保持しているものとして扱うこと
ができる。言うまでも無く、初期データがファイル間で
共通である場合、全てのデータファイルに初期データを
アウトプットする必要はないのであるが、系の時間発展
の様子を視覚的に的確に捕らえ、そこに現れている物理
的,化学的現象をより良く理解するためには、グラフィ
ック用のデータファイルに初期データが含まれているこ
とが非常に望ましい。
理を行えば、初期データはただ一つ保存されることにな
るため、二次記憶装置の効率的な使用が可能となり、か
つユーザーは圧縮処理の行われたデータファイルを、そ
れぞれが初期データを保持しているものとして扱うこと
ができる。言うまでも無く、初期データがファイル間で
共通である場合、全てのデータファイルに初期データを
アウトプットする必要はないのであるが、系の時間発展
の様子を視覚的に的確に捕らえ、そこに現れている物理
的,化学的現象をより良く理解するためには、グラフィ
ック用のデータファイルに初期データが含まれているこ
とが非常に望ましい。
【0017】また、初期データとそれ以降のタイムステ
ップのデータとを分割して、別のファイルにアウトプッ
トすることも可能であるが、このようにデータファイル
を分けた場合、その後のグラフィック化の処理やデータ
ファイルの管理がかなり煩雑なものとなる。そのため、
ファイル圧縮処理は二次記憶装置の有効利用のためのみ
でなく、ユーザーが計算機システムを能率的に使用する
上でも効果が発揮されるといえる。
ップのデータとを分割して、別のファイルにアウトプッ
トすることも可能であるが、このようにデータファイル
を分けた場合、その後のグラフィック化の処理やデータ
ファイルの管理がかなり煩雑なものとなる。そのため、
ファイル圧縮処理は二次記憶装置の有効利用のためのみ
でなく、ユーザーが計算機システムを能率的に使用する
上でも効果が発揮されるといえる。
【0018】その他、ファイル圧縮処理が有効である例
として、各時刻tでのxの値を計算してtとxの値を出
力するプログラムの実行が考えられる。このプログラム
を、時間刻みは同じで条件を変えて何回も実行した場合
、データファイルに出力される時刻tに関する数列は、
作成される全てのデータファイルで等しくなる。従って
、tの値という共通の内容を含むこれらのデータファイ
ルに対しても、このファイル圧縮処理は効果を持つ。ま
た、僅かな変更で実現できるような新しい機能や異なる
機能を実行可能なプログラムに新たに持たせたい場合、
そのソースファイルをコピーし、修正して使用する。こ
のような場合にも共通の内容を含むファイルがいくつか
作られることになるため、ファイル圧縮処理を行うこと
で二次記憶装置の有効利用に貢献することができる。
として、各時刻tでのxの値を計算してtとxの値を出
力するプログラムの実行が考えられる。このプログラム
を、時間刻みは同じで条件を変えて何回も実行した場合
、データファイルに出力される時刻tに関する数列は、
作成される全てのデータファイルで等しくなる。従って
、tの値という共通の内容を含むこれらのデータファイ
ルに対しても、このファイル圧縮処理は効果を持つ。ま
た、僅かな変更で実現できるような新しい機能や異なる
機能を実行可能なプログラムに新たに持たせたい場合、
そのソースファイルをコピーし、修正して使用する。こ
のような場合にも共通の内容を含むファイルがいくつか
作られることになるため、ファイル圧縮処理を行うこと
で二次記憶装置の有効利用に貢献することができる。
【0019】また、全てのファイル間で行うだけに限ら
ず、指定したファイルの内の任意の複数ファイルに対し
て比較処理を行うことにより、圧縮効率が最大となるよ
うに処理することができる。例えば、3個のファイルが
存在しているときに、第1のファイルに対し第2のファ
イルは共通部分が多く、第3のファイルは共通部分が極
めて少ないとする。この場合、全てのファイルを比較処
理すると、共通部分は第1と第3のファイルの共通部分
のみとなり、圧縮効率は極めて低くなる。これに対し、
第1と第2のファイルを指定して比較処理を行えば、共
通部分のデータ量が多くなり、圧縮効率の向上をはかる
ことが可能となる。
ず、指定したファイルの内の任意の複数ファイルに対し
て比較処理を行うことにより、圧縮効率が最大となるよ
うに処理することができる。例えば、3個のファイルが
存在しているときに、第1のファイルに対し第2のファ
イルは共通部分が多く、第3のファイルは共通部分が極
めて少ないとする。この場合、全てのファイルを比較処
理すると、共通部分は第1と第3のファイルの共通部分
のみとなり、圧縮効率は極めて低くなる。これに対し、
第1と第2のファイルを指定して比較処理を行えば、共
通部分のデータ量が多くなり、圧縮効率の向上をはかる
ことが可能となる。
【0020】
【実施例】以下、本発明の実施例を図面を参照して説明
する。
する。
【0021】図1は、本発明の一実施例に係わるファイ
ル圧縮装置の概略構成を示すブロック図である。図中1
0は本発明に係わるファイル圧縮処理部であり、複数の
ファイルを比較する比較処理部11,比較したファイル
の共通部分を取り出す共通部分処理部12,及び各ファ
イルを共通部分と非共通部分に分けるファイル処理部1
3等から構成されている。20は磁気ディスク等の二次
記憶装置(第1の記憶部)、30も同様に磁気ディスク
等の二次記憶装置(第2の記憶部)である。なお、これ
らの二次記憶装置20,30は必ずしも独立したもので
はなく、共通のものであってもよい。上記装置によるフ
ァイル圧縮の動作を、図2〜図13に示すフローチャー
ト及びファイル構造を参照して説明する。
ル圧縮装置の概略構成を示すブロック図である。図中1
0は本発明に係わるファイル圧縮処理部であり、複数の
ファイルを比較する比較処理部11,比較したファイル
の共通部分を取り出す共通部分処理部12,及び各ファ
イルを共通部分と非共通部分に分けるファイル処理部1
3等から構成されている。20は磁気ディスク等の二次
記憶装置(第1の記憶部)、30も同様に磁気ディスク
等の二次記憶装置(第2の記憶部)である。なお、これ
らの二次記憶装置20,30は必ずしも独立したもので
はなく、共通のものであってもよい。上記装置によるフ
ァイル圧縮の動作を、図2〜図13に示すフローチャー
ト及びファイル構造を参照して説明する。
【0022】まず、基本的なファイル圧縮処理の手順を
、図2に示すフローチャートに従って説明する。ユーザ
ーがファイル圧縮処理のコマンドと圧縮を希望する既存
のn個のファイル名を入力する(ステップS1)と、オ
ペレーティングシステムは指定されたn個のファイル間
で内容データの比較を行い(ステップS2)、内容が完
全に一致している部分があるか否かを判断する(ステッ
プS3)。内容が一致している部分がなかった場合、フ
ァイル圧縮処理を終了する。
、図2に示すフローチャートに従って説明する。ユーザ
ーがファイル圧縮処理のコマンドと圧縮を希望する既存
のn個のファイル名を入力する(ステップS1)と、オ
ペレーティングシステムは指定されたn個のファイル間
で内容データの比較を行い(ステップS2)、内容が完
全に一致している部分があるか否かを判断する(ステッ
プS3)。内容が一致している部分がなかった場合、フ
ァイル圧縮処理を終了する。
【0023】一方、内容が一致している部分があると判
定された場合には、その部分を共通部分とみなし、それ
に共通部分であることを示す共通部分制御語を付加して
二次記憶装置に保存する(この処理を共通部分処理と呼
ぶ)(ステップS4)。さらに、比較が行われた後のフ
ァイルに対して、そのファイルが特定の位置に特定の共
通部分を所有していることを指定するための処理を行い
、二次記憶装置に保存する(この処理を比較後ファイル
処理と呼ぶ)(ステップS5)。この比較後ファイル処
理をn個のファイル全てに対して行うと、ファイル圧縮
処理が終了される。ファイル圧縮処理によって新たに作
成されたファイルを共通部分も含めて圧縮済ファイルと
呼ぶ。
定された場合には、その部分を共通部分とみなし、それ
に共通部分であることを示す共通部分制御語を付加して
二次記憶装置に保存する(この処理を共通部分処理と呼
ぶ)(ステップS4)。さらに、比較が行われた後のフ
ァイルに対して、そのファイルが特定の位置に特定の共
通部分を所有していることを指定するための処理を行い
、二次記憶装置に保存する(この処理を比較後ファイル
処理と呼ぶ)(ステップS5)。この比較後ファイル処
理をn個のファイル全てに対して行うと、ファイル圧縮
処理が終了される。ファイル圧縮処理によって新たに作
成されたファイルを共通部分も含めて圧縮済ファイルと
呼ぶ。
【0024】ここで、ファイル間の内容データを比較し
て共通部分の判定を行う方法を簡単に説明する。例とし
て、ファイル1とファイル2の共通部分を判定する場合
を考える。まず、ファイル1を適当なデータ長(例えば
この場合1行とする)に分割したとみなし、ファイル1
の全行とファイル2の全行を先頭行から順に1行ずつ比
較する。あるペアを比較した結果、その二つの行が同一
でなければ次のペアの比較を行うが、同一であった場合
には以下の処理を行う。例えば、ファイル1のi1 行
目とファイル2のi2 行目が同一であった場合は、次
にファイル1の(i1 +1)行目とファイル2の(i
2 +1)行目の比較を行う。この二つの行も同じであ
れば、(i1+2)行目と(i2 +2)行目を比較す
る。
て共通部分の判定を行う方法を簡単に説明する。例とし
て、ファイル1とファイル2の共通部分を判定する場合
を考える。まず、ファイル1を適当なデータ長(例えば
この場合1行とする)に分割したとみなし、ファイル1
の全行とファイル2の全行を先頭行から順に1行ずつ比
較する。あるペアを比較した結果、その二つの行が同一
でなければ次のペアの比較を行うが、同一であった場合
には以下の処理を行う。例えば、ファイル1のi1 行
目とファイル2のi2 行目が同一であった場合は、次
にファイル1の(i1 +1)行目とファイル2の(i
2 +1)行目の比較を行う。この二つの行も同じであ
れば、(i1+2)行目と(i2 +2)行目を比較す
る。
【0025】このように、二つの行が同一である限りフ
ァイル1とファイル2のそれぞれ次の行の比較を行う。 そして、仮にファイル1の(i1 +k)行目とファイ
ル2の(i2 +k)行目が同一でないと判明した場合
、ファイル1のi1 行目から(i1 +k−1)行目
までの範囲とファイル2のi2 行目から(i2 +k
−1)行目までの範囲が共通部分であると判定される。 もし、3個のファイルの共通部分を判定する場合は、フ
ァイル1とファイル2の共通部分とファイル3を上記と
同様の方法で比較する。
ァイル1とファイル2のそれぞれ次の行の比較を行う。 そして、仮にファイル1の(i1 +k)行目とファイ
ル2の(i2 +k)行目が同一でないと判明した場合
、ファイル1のi1 行目から(i1 +k−1)行目
までの範囲とファイル2のi2 行目から(i2 +k
−1)行目までの範囲が共通部分であると判定される。 もし、3個のファイルの共通部分を判定する場合は、フ
ァイル1とファイル2の共通部分とファイル3を上記と
同様の方法で比較する。
【0026】次に、共通部分処理と比較後ファイル処理
について、より具体的に説明する。まず、図2のステッ
プS4の共通部分処理では、上述したように共通部分に
共通部分制御語を付加し、図3のようなファイル(これ
を共通ファイルと呼ぶ)として二次記憶装置に保存する
。ここで、共通部分制御語にはその共通部分を共有して
いる圧縮済ファイル数(これを共有ファイル数と呼ぶ)
を記録する。この共通部分制御語は、後に説明するよう
に圧縮済ファイルの更新,削除等を行うために設ける。
について、より具体的に説明する。まず、図2のステッ
プS4の共通部分処理では、上述したように共通部分に
共通部分制御語を付加し、図3のようなファイル(これ
を共通ファイルと呼ぶ)として二次記憶装置に保存する
。ここで、共通部分制御語にはその共通部分を共有して
いる圧縮済ファイル数(これを共有ファイル数と呼ぶ)
を記録する。この共通部分制御語は、後に説明するよう
に圧縮済ファイルの更新,削除等を行うために設ける。
【0027】図2のステップS5の比較後ファイル処理
として、インデックス逐次型ファイル方式を用いること
ができる。まず、従来用いられているインデックス逐次
型ファイルについて説明する。インデックス逐次型ファ
イルとは、一つのインデックスといくつかのレコード(
ファイルを分割したもの)で構成された構造を持ち、イ
ンデックスにはレコードを指定するための値(レコード
が保存されている二次記憶装置中の先頭位置と末尾位置
)が順番に記憶されている。オペレーティングシステム
はインデックスからレコードに関する情報を読取り、順
番にレコードにアクセスすることによって、インデック
ス逐次型ファイルの処理を行うことができる。これによ
ると、レコードの更新,挿入,削除も可能である。
として、インデックス逐次型ファイル方式を用いること
ができる。まず、従来用いられているインデックス逐次
型ファイルについて説明する。インデックス逐次型ファ
イルとは、一つのインデックスといくつかのレコード(
ファイルを分割したもの)で構成された構造を持ち、イ
ンデックスにはレコードを指定するための値(レコード
が保存されている二次記憶装置中の先頭位置と末尾位置
)が順番に記憶されている。オペレーティングシステム
はインデックスからレコードに関する情報を読取り、順
番にレコードにアクセスすることによって、インデック
ス逐次型ファイルの処理を行うことができる。これによ
ると、レコードの更新,挿入,削除も可能である。
【0028】本発明の比較後ファイル処理では、このイ
ンデックス逐次型ファイル方式を応用して、オペレーテ
ィングシステムは図4に示すフローチャートに従った処
理を行う。初めに、比較が行われた後のファイルを共通
部分とそれ以外の部分(これを固有部分と呼ぶ)に分割
し、それぞれをレコードとみなす(ステップS6)。つ
まり、レコードは共通部分或いは固有部分のどちらかで
あるが、共通部分である場合、共通部分制御語を含む共
通ファイルをレコードとみなす。次に、新たに設けたイ
ンデックスにそれぞれのレコードの先頭位置と末尾位置
を示す値と、そのレコードが共通部分であるか固有部分
であるかを区別する値を記録する(ステップS7)。最
後に、インデックスと固有部分であるレコードを二次記
憶装置に保存して(ステップS8)、比較後ファイル処
理が終了される。
ンデックス逐次型ファイル方式を応用して、オペレーテ
ィングシステムは図4に示すフローチャートに従った処
理を行う。初めに、比較が行われた後のファイルを共通
部分とそれ以外の部分(これを固有部分と呼ぶ)に分割
し、それぞれをレコードとみなす(ステップS6)。つ
まり、レコードは共通部分或いは固有部分のどちらかで
あるが、共通部分である場合、共通部分制御語を含む共
通ファイルをレコードとみなす。次に、新たに設けたイ
ンデックスにそれぞれのレコードの先頭位置と末尾位置
を示す値と、そのレコードが共通部分であるか固有部分
であるかを区別する値を記録する(ステップS7)。最
後に、インデックスと固有部分であるレコードを二次記
憶装置に保存して(ステップS8)、比較後ファイル処
理が終了される。
【0029】従って、このインデックス逐次型ファイル
方式でファイル圧縮処理を行った場合、圧縮済ファイル
は図5に示すような構造を持つ。このようにして作成さ
れた圧縮済ファイルに対して、通常のインデックス逐次
型ファイルに対する処理(更新,削除等)と同様の処理
を行うことが可能である。但し、レコードが共通ファイ
ルである場合、レコードの先頭に共通部分制御語が付加
されているため、共通部分制御語を読み飛ばし、共通部
分のみを処理する。
方式でファイル圧縮処理を行った場合、圧縮済ファイル
は図5に示すような構造を持つ。このようにして作成さ
れた圧縮済ファイルに対して、通常のインデックス逐次
型ファイルに対する処理(更新,削除等)と同様の処理
を行うことが可能である。但し、レコードが共通ファイ
ルである場合、レコードの先頭に共通部分制御語が付加
されているため、共通部分制御語を読み飛ばし、共通部
分のみを処理する。
【0030】また、比較後ファイル処理をマーキング方
式と呼ぶ処理方法を用いて実行することも可能である。 この方式では、オペレーティングシステムは図6に示す
フローチャートに従った処理を行う。まず、比較処理が
行われたファイルから共通部分を取り除き、その位置に
共通部分が存在することを示すマーキングを行う(ステ
ップS9)。次に、ファイルにヘッダーを付加し、それ
にファイルから取り除いた共通部分に関する情報を記録
する(ステップS10)。ステップS9とステップS1
0によって処理されたファイルを固有ファイルと呼び、
その構造を図7に示す。最後に、固有ファイルを二次記
憶装置に保存して(ステップS11)、比較後ファイル
処理の終了となる。
式と呼ぶ処理方法を用いて実行することも可能である。 この方式では、オペレーティングシステムは図6に示す
フローチャートに従った処理を行う。まず、比較処理が
行われたファイルから共通部分を取り除き、その位置に
共通部分が存在することを示すマーキングを行う(ステ
ップS9)。次に、ファイルにヘッダーを付加し、それ
にファイルから取り除いた共通部分に関する情報を記録
する(ステップS10)。ステップS9とステップS1
0によって処理されたファイルを固有ファイルと呼び、
その構造を図7に示す。最後に、固有ファイルを二次記
憶装置に保存して(ステップS11)、比較後ファイル
処理の終了となる。
【0031】具体的なマ−キングの方法として、共通部
分が抜き出された位置に特殊文字(これを共通部分指定
文字と呼ぶ)を記録し、その後ろに抜き出した共通部分
(共通ファイル)を指定する値を記録する。この値は、
例えば共通ファイルが保存されている二次記憶装置中の
先頭位置と末尾位置を示す値である。ここで、共通部分
指定文字とそれに続く値を共通部分指定語と呼ぶ。また
、ヘッダーにも共通ファイルが保存されている先頭位置
と末尾位置を示す値を記録する。従って、マーキング方
式によるファイル圧縮処理で作成される圧縮済ファイル
は一つの固有ファイルとそれが指定する共通ファイルか
ら構成される。例えば、オペレーティングシステムがマ
ーキング方式によって作成された圧縮済ファイルを更新
する場合、次のような処理を行うことで圧縮済ファイル
を通常のファイルと同等に扱うことができる。
分が抜き出された位置に特殊文字(これを共通部分指定
文字と呼ぶ)を記録し、その後ろに抜き出した共通部分
(共通ファイル)を指定する値を記録する。この値は、
例えば共通ファイルが保存されている二次記憶装置中の
先頭位置と末尾位置を示す値である。ここで、共通部分
指定文字とそれに続く値を共通部分指定語と呼ぶ。また
、ヘッダーにも共通ファイルが保存されている先頭位置
と末尾位置を示す値を記録する。従って、マーキング方
式によるファイル圧縮処理で作成される圧縮済ファイル
は一つの固有ファイルとそれが指定する共通ファイルか
ら構成される。例えば、オペレーティングシステムがマ
ーキング方式によって作成された圧縮済ファイルを更新
する場合、次のような処理を行うことで圧縮済ファイル
を通常のファイルと同等に扱うことができる。
【0032】即ち、圧縮済ファイルの更新のためには、
固有ファイルが二次記憶装置から作業領域である主記憶
或いは二次仮想アドレス空間へ転送される。転送の際、
各ビット毎にそれが共通部分指定文字であるか否かの判
定を行い、共通部分指定文字であると判定された場合は
、共通部分指定語をそれが指定する共通部分と置き換え
る。つまり、共通部分指定語を取り除き、その位置に共
通部分の読み込みを行う。この処理によって、作業領域
に転送される固有ファイルは、ファイル圧縮処理を行う
前と同一のファイルに変換される。但し、固有ファイル
のヘッダーの転送は行わない。
固有ファイルが二次記憶装置から作業領域である主記憶
或いは二次仮想アドレス空間へ転送される。転送の際、
各ビット毎にそれが共通部分指定文字であるか否かの判
定を行い、共通部分指定文字であると判定された場合は
、共通部分指定語をそれが指定する共通部分と置き換え
る。つまり、共通部分指定語を取り除き、その位置に共
通部分の読み込みを行う。この処理によって、作業領域
に転送される固有ファイルは、ファイル圧縮処理を行う
前と同一のファイルに変換される。但し、固有ファイル
のヘッダーの転送は行わない。
【0033】以上記述してきた方法によると、本発明の
ファイル圧縮処理を実現することが可能となる。次に、
上述した方法によって作成された圧縮済ファイルを削除
あるいは更新するための処理と、圧縮済ファイルに対し
さらにファイル圧縮処理を行う場合の具体的な手順につ
いて説明する。
ファイル圧縮処理を実現することが可能となる。次に、
上述した方法によって作成された圧縮済ファイルを削除
あるいは更新するための処理と、圧縮済ファイルに対し
さらにファイル圧縮処理を行う場合の具体的な手順につ
いて説明する。
【0034】インデツクス逐次型ファイル方式によって
作成された圧縮済ファイルを削除する場合、オペレーテ
ィングシステムは図8に示すフローチャートに従った処
理を行う。ユーザーが削除のコマンドと削除したい圧縮
済ファイルの名前を入力すると(ステップS12)、オ
ペレーティングシステムは指定された圧縮済ファイルの
インデックスにアクセスし(ステップS13)、レコー
ドが共通部分であるか固有部分であるかの判定を行う(
ステップS14)。レコードが固有部分である場合、オ
ペレーティングシステムはそのレコード(固有部分)の
削除を行う(ステップS15)。
作成された圧縮済ファイルを削除する場合、オペレーテ
ィングシステムは図8に示すフローチャートに従った処
理を行う。ユーザーが削除のコマンドと削除したい圧縮
済ファイルの名前を入力すると(ステップS12)、オ
ペレーティングシステムは指定された圧縮済ファイルの
インデックスにアクセスし(ステップS13)、レコー
ドが共通部分であるか固有部分であるかの判定を行う(
ステップS14)。レコードが固有部分である場合、オ
ペレーティングシステムはそのレコード(固有部分)の
削除を行う(ステップS15)。
【0035】一方、レコードが共通部分である場合、オ
ペレーティングシステムはその共通ファイルの共通部分
制御語にアクセスし、共有ファイル数の書き替えを行う
(ステップS16)。この場合は共有ファイル数を1つ
減らす。次に、共有ファイル数が0であるかないかの判
定を行い、共有ファイル数が0であればその共通部分を
削除する(この処理を零判定削除と呼ぶ)(ステップS
17)。ユーザーが指定した圧縮済ファイルが所有する
全てのレコードに対して、ステップS13からステップ
S17までの処理が終わると、最後にインデックスが削
除され(ステップS18)、圧縮済ファイルの削除が完
了する。
ペレーティングシステムはその共通ファイルの共通部分
制御語にアクセスし、共有ファイル数の書き替えを行う
(ステップS16)。この場合は共有ファイル数を1つ
減らす。次に、共有ファイル数が0であるかないかの判
定を行い、共有ファイル数が0であればその共通部分を
削除する(この処理を零判定削除と呼ぶ)(ステップS
17)。ユーザーが指定した圧縮済ファイルが所有する
全てのレコードに対して、ステップS13からステップ
S17までの処理が終わると、最後にインデックスが削
除され(ステップS18)、圧縮済ファイルの削除が完
了する。
【0036】マーキング方式による圧縮済ファイルを削
除する場合は、図9のフローチャートに従った処理が行
われる。まず、ユーザーが削除のコマンドと削除したい
圧縮済ファイルの名前を入力すると(ステップS19)
、オペレーティングシステムは指定された圧縮済ファイ
ルの固有ファイルのヘッダーにアクセスし、共通ファイ
ルに関する情報を読み取る(ステップS20)。次に、
共通ファイルの共有ファイル数を1つ減らして(ステッ
プS21)、零判定削除を行う(ステップS22)。最
後に、固有ファイルを削除して(ステップS23)、圧
縮済ファイルの削除の終了となる。
除する場合は、図9のフローチャートに従った処理が行
われる。まず、ユーザーが削除のコマンドと削除したい
圧縮済ファイルの名前を入力すると(ステップS19)
、オペレーティングシステムは指定された圧縮済ファイ
ルの固有ファイルのヘッダーにアクセスし、共通ファイ
ルに関する情報を読み取る(ステップS20)。次に、
共通ファイルの共有ファイル数を1つ減らして(ステッ
プS21)、零判定削除を行う(ステップS22)。最
後に、固有ファイルを削除して(ステップS23)、圧
縮済ファイルの削除の終了となる。
【0037】インデックス逐次型ファイル方式による圧
縮済ファイルに対する更新の手続きを、図10に示すフ
ローチャートに従って説明する。ユーザーは圧縮済ファ
イルの編集のコマンドと圧縮済ファイル名を入力して(
ステップS24)、圧縮済ファイルの編集を行う。 (ステップS25)。編集が終った圧縮済ファイルを保
存する際、オペレーティングシステムはレコード毎にそ
の内部で変更が行われたかをチェックする(ステップS
26)。レコード内で変更がなされなかった場合、その
レコードに対する処理は何も行わない。しかし、レコー
ド内で変更が行われた場合、レコードが共通部分である
か、固有部分であるかを判定し(ステップS27)、レ
コードが固有部分であればそれを更新する(ステップS
28)。
縮済ファイルに対する更新の手続きを、図10に示すフ
ローチャートに従って説明する。ユーザーは圧縮済ファ
イルの編集のコマンドと圧縮済ファイル名を入力して(
ステップS24)、圧縮済ファイルの編集を行う。 (ステップS25)。編集が終った圧縮済ファイルを保
存する際、オペレーティングシステムはレコード毎にそ
の内部で変更が行われたかをチェックする(ステップS
26)。レコード内で変更がなされなかった場合、その
レコードに対する処理は何も行わない。しかし、レコー
ド内で変更が行われた場合、レコードが共通部分である
か、固有部分であるかを判定し(ステップS27)、レ
コードが固有部分であればそれを更新する(ステップS
28)。
【0038】一方、変更されたレコードが共通部分であ
る場合、そのレコードを固有部分として更新する(ステ
ップS29)。つまり、共通部分制御語を取り除いた状
態で新たに保存する。そして、インデクッスの該当する
レコードの情報を、新たに保存したレコードを指定する
値に書き替える(ステップS30)。さらに、変更され
る前の共通ファイルに対しては、共通部分制御語内の共
有ファイル数を1つ減らして(ステップS31)、零判
定削除を行う(ステップS32)。ステップS26から
ステップS32までの処理を圧縮済ファイルが所有する
全てのレコードに対して行って、圧縮済ファイルの更新
が完了となる。
る場合、そのレコードを固有部分として更新する(ステ
ップS29)。つまり、共通部分制御語を取り除いた状
態で新たに保存する。そして、インデクッスの該当する
レコードの情報を、新たに保存したレコードを指定する
値に書き替える(ステップS30)。さらに、変更され
る前の共通ファイルに対しては、共通部分制御語内の共
有ファイル数を1つ減らして(ステップS31)、零判
定削除を行う(ステップS32)。ステップS26から
ステップS32までの処理を圧縮済ファイルが所有する
全てのレコードに対して行って、圧縮済ファイルの更新
が完了となる。
【0039】マーキング方式による圧縮済ファイルの更
新を行う場合、変更したファイルは通常のファイルとし
て保存する。そして、変更前の圧縮済ファイルが所有し
ていた共通ファイルの共有ファイル数を1つ減らし、零
判定削除を行う。従って、マーキング方式による圧縮済
ファイルに一旦更新が行われると、それはもはや圧縮済
ファイルではなく、通常のファイルに戻る。
新を行う場合、変更したファイルは通常のファイルとし
て保存する。そして、変更前の圧縮済ファイルが所有し
ていた共通ファイルの共有ファイル数を1つ減らし、零
判定削除を行う。従って、マーキング方式による圧縮済
ファイルに一旦更新が行われると、それはもはや圧縮済
ファイルではなく、通常のファイルに戻る。
【0040】圧縮済ファイルに対するファイル圧縮処理
は、圧縮済ファイルを通常のファイルに戻した後、改め
て行う。圧縮済ファイルを通常のファイルに戻す処理は
次のような手順で行う。インデックス逐行型ファイル方
式で処理された圧縮済ファイルの場合、インデックスに
従ってレコードを一つのファイルにつなげ直す。その際
レコードが共通ファイルであれば、共通部分制御語を除
いた共通部分のみをつなげる。マーキング方式による圧
縮済ファイルの場合、共通部分指定語をそれが指定する
共通部分と置き換える。そして、圧縮済ファイルが所有
していた共通ファイルの共有ファイル数を1つ減らし、
零判定削除を行う。最後に、インデックス逐次型ファイ
ル方式の場合はインデックスを、マーキング方式の場合
はヘッダー部分を消去する。以上の手続きにより圧縮済
ファイルは通常のファイルに戻るため、その通常のファ
イルに対して改めてファイル圧縮処理を行う。
は、圧縮済ファイルを通常のファイルに戻した後、改め
て行う。圧縮済ファイルを通常のファイルに戻す処理は
次のような手順で行う。インデックス逐行型ファイル方
式で処理された圧縮済ファイルの場合、インデックスに
従ってレコードを一つのファイルにつなげ直す。その際
レコードが共通ファイルであれば、共通部分制御語を除
いた共通部分のみをつなげる。マーキング方式による圧
縮済ファイルの場合、共通部分指定語をそれが指定する
共通部分と置き換える。そして、圧縮済ファイルが所有
していた共通ファイルの共有ファイル数を1つ減らし、
零判定削除を行う。最後に、インデックス逐次型ファイ
ル方式の場合はインデックスを、マーキング方式の場合
はヘッダー部分を消去する。以上の手続きにより圧縮済
ファイルは通常のファイルに戻るため、その通常のファ
イルに対して改めてファイル圧縮処理を行う。
【0041】これまで、処理される共通部分が1個であ
るという前提の下でファイル圧縮処理の説明を行ってき
たが、共通部分が複数個ある場合でもファイル圧縮処理
を実現するにあたり、何等支障を来すものではない。そ
のため、判定される共通部分が複数個ある場合の処理方
法について説明する。
るという前提の下でファイル圧縮処理の説明を行ってき
たが、共通部分が複数個ある場合でもファイル圧縮処理
を実現するにあたり、何等支障を来すものではない。そ
のため、判定される共通部分が複数個ある場合の処理方
法について説明する。
【0042】n個のファイル中に、例えばk個の共通部
分が含まれている場合のファイル圧縮処理は、基本的に
は図2のフローチャートと同様の手続きでよいが、一部
異なる箇所がある。図2のステップS2においてn個の
ファイルが比較された結果、共通部分がk個判定された
場合、ステップS4がk回繰り返され、判定されたk個
の共通部分それぞれについて共通部分処理が行われる。 次に、n個のファイルに対して比較後ファイル処理(ス
テップS5)が行われるが、インデックス逐次型ファイ
ル方式の場合、レコードのうちk個が共通部分になって
おり、マーキング方式の場合、固有ファイルにはk個の
共通部分指定語が記録される。またインデックスとヘッ
ダーには、k個の共通部分全ての情報が記録される。こ
の比較後ファイル処理がn回繰り返され、n個のファイ
ル全てに対する処理が終わると、ファイル圧縮処理が終
了する。
分が含まれている場合のファイル圧縮処理は、基本的に
は図2のフローチャートと同様の手続きでよいが、一部
異なる箇所がある。図2のステップS2においてn個の
ファイルが比較された結果、共通部分がk個判定された
場合、ステップS4がk回繰り返され、判定されたk個
の共通部分それぞれについて共通部分処理が行われる。 次に、n個のファイルに対して比較後ファイル処理(ス
テップS5)が行われるが、インデックス逐次型ファイ
ル方式の場合、レコードのうちk個が共通部分になって
おり、マーキング方式の場合、固有ファイルにはk個の
共通部分指定語が記録される。またインデックスとヘッ
ダーには、k個の共通部分全ての情報が記録される。こ
の比較後ファイル処理がn回繰り返され、n個のファイ
ル全てに対する処理が終わると、ファイル圧縮処理が終
了する。
【0043】比較処理はユーザーが指定したn個ファイ
ル全てに対して行うだけに限らず、その内の任意のファ
イル間で行われるものであってもよい。そのため、ファ
イル圧縮処理を行う際、比較するファイル数iを変化さ
せて、段階的に比較処理と共通部分処理を実行する。つ
まり、段階iにおいてはi個(i≦n)のファイル間で
比較を行い、そのi個のファイルに対する共通部分iを
判定して、共通部分処理を行う。iの値はnからm(n
≧m≧2)まで減少方向へ変化させる。
ル全てに対して行うだけに限らず、その内の任意のファ
イル間で行われるものであってもよい。そのため、ファ
イル圧縮処理を行う際、比較するファイル数iを変化さ
せて、段階的に比較処理と共通部分処理を実行する。つ
まり、段階iにおいてはi個(i≦n)のファイル間で
比較を行い、そのi個のファイルに対する共通部分iを
判定して、共通部分処理を行う。iの値はnからm(n
≧m≧2)まで減少方向へ変化させる。
【0044】図11のフローチャートを参照して、具体
的な処理の手順を説明する。ユーザーが、ファイル圧縮
処理のコマンドとn個のファイル名を入力する(ステッ
プS33)と、まずオペレーティングシステムはn個の
ファイルに対して比較処理を行い(ステップS34、i
=n)、全ファイルの共通部分(共通部分n)を判定し
(ステップS35)、共通部分nがあれば共通部分処理
を行う(ステップS36)。次に、任意のn−1個のフ
ァイル間において、共通部分nを除いた範囲で内容の比
較を行い(ステップS34、i=n−1)、共通部分n
−1があれば、共通部分処理を実行する(ステップS3
6)。但し、ステップS34からステップS36までの
処理は、nCi(n個からi個選び出す組み合わせの数
)回繰り返す。つまり、iがn−1の時、繰り返しの回
数はnCn−1 =nであり、全ての組み合わせのn−
1個のファイル間で、比較処理と共通部分処理を行う。
的な処理の手順を説明する。ユーザーが、ファイル圧縮
処理のコマンドとn個のファイル名を入力する(ステッ
プS33)と、まずオペレーティングシステムはn個の
ファイルに対して比較処理を行い(ステップS34、i
=n)、全ファイルの共通部分(共通部分n)を判定し
(ステップS35)、共通部分nがあれば共通部分処理
を行う(ステップS36)。次に、任意のn−1個のフ
ァイル間において、共通部分nを除いた範囲で内容の比
較を行い(ステップS34、i=n−1)、共通部分n
−1があれば、共通部分処理を実行する(ステップS3
6)。但し、ステップS34からステップS36までの
処理は、nCi(n個からi個選び出す組み合わせの数
)回繰り返す。つまり、iがn−1の時、繰り返しの回
数はnCn−1 =nであり、全ての組み合わせのn−
1個のファイル間で、比較処理と共通部分処理を行う。
【0045】このようにして、最終的にはm個(n≧m
≧2)のファイル間での比較処理と共通部分処理まで段
階別に処理を行う。最後に、入力したn個のファイルに
対して、そのファイル中で判定された全ての共通部分に
関する比較後ファイル処理を行い(ステップS37)、
ファイル圧縮処理が終了される。以下、ファイル圧縮処
理に関する補助的な事項について記述する。
≧2)のファイル間での比較処理と共通部分処理まで段
階別に処理を行う。最後に、入力したn個のファイルに
対して、そのファイル中で判定された全ての共通部分に
関する比較後ファイル処理を行い(ステップS37)、
ファイル圧縮処理が終了される。以下、ファイル圧縮処
理に関する補助的な事項について記述する。
【0046】(1)ファイル間の比較の結果、判定され
る共通部分のサイズが非常に小さい場合は、ファイル圧
縮処理の効果が十分得られないため、共通部分サイズの
下限値の指定が必要である。従ってこの場合、例えば下
限値を共通部分制御語のサイズと定める。
る共通部分のサイズが非常に小さい場合は、ファイル圧
縮処理の効果が十分得られないため、共通部分サイズの
下限値の指定が必要である。従ってこの場合、例えば下
限値を共通部分制御語のサイズと定める。
【0047】(2) 共通部分処理において、共通ファ
イルの共通部分制御語に記録する情報は共有ファイル数
であるが、加えて、その共通ファイルを共有している圧
縮済ファイルの名前とその記憶位置を記録してもよい。
イルの共通部分制御語に記録する情報は共有ファイル数
であるが、加えて、その共通ファイルを共有している圧
縮済ファイルの名前とその記憶位置を記録してもよい。
【0048】(3) インデックス逐次型ファイル方式
による比較後ファイル処理において、レコードのサイズ
が非常に大きい場合、それをさらにいくつかのレコード
に分割してもよい。
による比較後ファイル処理において、レコードのサイズ
が非常に大きい場合、それをさらにいくつかのレコード
に分割してもよい。
【0049】(4) マーキング方式による比較後ファ
イル処理において、固有ファイルの共通部分指定語中で
共通部分指定文字に続いて記録される値は、共通ファイ
ルを指定できる値であればよいため、例えば共通ファイ
ルが保存されている先頭位置と末尾位置を示す値を記録
するか、若しくは共通ファイルの名前を記録してもよい
。但し、共通部分指定語に共通ファイルの名前を記録し
た場合、ヘッダーには共通ファイルの先頭位置と末尾位
置を示す値に加えて、共通ファイルの名前も記録しなけ
ればならない。
イル処理において、固有ファイルの共通部分指定語中で
共通部分指定文字に続いて記録される値は、共通ファイ
ルを指定できる値であればよいため、例えば共通ファイ
ルが保存されている先頭位置と末尾位置を示す値を記録
するか、若しくは共通ファイルの名前を記録してもよい
。但し、共通部分指定語に共通ファイルの名前を記録し
た場合、ヘッダーには共通ファイルの先頭位置と末尾位
置を示す値に加えて、共通ファイルの名前も記録しなけ
ればならない。
【0050】(5) オペレーティングシステムはファ
イル圧縮処理を終了する前に、ユーザーに対して処理状
況を知らせてもよい。例えば、ユーザ−がオンラインで
操作を行っている場合、端末の画面に処理状況をメッセ
ージとして表示する。即ち、共通部分が判定された場合
、判定された共通部分の名前或いは番号とその共通部分
を共有する圧縮済ファイル名のリストを、共通部分が判
定されなかった場合、共通部分がなかったという内容の
メッセージを表示してもよい。
イル圧縮処理を終了する前に、ユーザーに対して処理状
況を知らせてもよい。例えば、ユーザ−がオンラインで
操作を行っている場合、端末の画面に処理状況をメッセ
ージとして表示する。即ち、共通部分が判定された場合
、判定された共通部分の名前或いは番号とその共通部分
を共有する圧縮済ファイル名のリストを、共通部分が判
定されなかった場合、共通部分がなかったという内容の
メッセージを表示してもよい。
【0051】(6) 比較するファイル数を減少させな
がら、共通部分の判定と共通部分処理を段階的に行う場
合のファイル圧縮処理(図11)において、最終段階で
比較されるファイルの個数mは暗黙に指定がなされてい
てもよいし、ユーザーが指定し直すことができてもよい
。
がら、共通部分の判定と共通部分処理を段階的に行う場
合のファイル圧縮処理(図11)において、最終段階で
比較されるファイルの個数mは暗黙に指定がなされてい
てもよいし、ユーザーが指定し直すことができてもよい
。
【0052】(7) n個のファイル間の共通部分nを
判定する方法として、例えば次のような手順がある。n
個のファイルに番号付けを行い、まず1番目と2番目の
ファイルを比較して、共通部分を抽出する。次に、抽出
した共通部分と3番目のファイルを比較して、同じく共
通部分を抽出する。このようにファイルを一つずつ順番
に比較していき、最後のn−1個のファイル間での共通
部分とn番目のファイルを比較して、共通部分nを判定
する。よって共通部分nが判定された場合、1番目から
i番目(2≦i≦n−1)までのファイル間では、既に
比較が行われ共通部分が抽出されている。ここで、共通
部分nを判定する過程で抽出されるこれらの共通部分を
仮共通部分と呼ぶ。ところで、共通部分の判定と共通部
分処理を段階的に行う場合のファイル圧縮処理(図11
)では比較するファイル数を減少方向に変化させるため
、共通部分iを判定する段階では、共通部分nから共通
部分i+1までは判定済みとなっている。従って、上記
の方法で共通部分nを判定している場合には、幾つかの
仮共通部分が既に抽出されているため、ファイル圧縮処
理のステップ数を減らす目的で、抽出済みの仮共通部分
を共通部分iの判定のために再利用してもよい。
判定する方法として、例えば次のような手順がある。n
個のファイルに番号付けを行い、まず1番目と2番目の
ファイルを比較して、共通部分を抽出する。次に、抽出
した共通部分と3番目のファイルを比較して、同じく共
通部分を抽出する。このようにファイルを一つずつ順番
に比較していき、最後のn−1個のファイル間での共通
部分とn番目のファイルを比較して、共通部分nを判定
する。よって共通部分nが判定された場合、1番目から
i番目(2≦i≦n−1)までのファイル間では、既に
比較が行われ共通部分が抽出されている。ここで、共通
部分nを判定する過程で抽出されるこれらの共通部分を
仮共通部分と呼ぶ。ところで、共通部分の判定と共通部
分処理を段階的に行う場合のファイル圧縮処理(図11
)では比較するファイル数を減少方向に変化させるため
、共通部分iを判定する段階では、共通部分nから共通
部分i+1までは判定済みとなっている。従って、上記
の方法で共通部分nを判定している場合には、幾つかの
仮共通部分が既に抽出されているため、ファイル圧縮処
理のステップ数を減らす目的で、抽出済みの仮共通部分
を共通部分iの判定のために再利用してもよい。
【0053】(8) 1個のファイル内に共通部分が幾
つか存在する場合、このファイルに対し単独でファイル
圧縮処理を行ってもよい。これを実現するためには、ユ
ーザーがファイル圧縮処理のコマンドとファイル名を一
つ入力し、一つのファイル内だけで内容の比較を行って
共通部分1を判定してもよいし、或いは図11のファイ
ル圧縮処理において、最終的に比較するファイル数mを
1としてもよい。
つか存在する場合、このファイルに対し単独でファイル
圧縮処理を行ってもよい。これを実現するためには、ユ
ーザーがファイル圧縮処理のコマンドとファイル名を一
つ入力し、一つのファイル内だけで内容の比較を行って
共通部分1を判定してもよいし、或いは図11のファイ
ル圧縮処理において、最終的に比較するファイル数mを
1としてもよい。
【0054】(9) 本発明におけるファイル圧縮方式
は、従来行われているデータ圧縮技術(Huffman
の最適符号化法、Ziv −Lempel のデータ
圧縮法など)とは全く異質の処理方法であるため、ファ
イル圧縮処理を行った後、圧縮済ファイルに対してさら
に従来のデータ圧縮を行うことに何等問題はない。さら
に、ファイル圧縮処理における変形例をいくつか説明す
る。
は、従来行われているデータ圧縮技術(Huffman
の最適符号化法、Ziv −Lempel のデータ
圧縮法など)とは全く異質の処理方法であるため、ファ
イル圧縮処理を行った後、圧縮済ファイルに対してさら
に従来のデータ圧縮を行うことに何等問題はない。さら
に、ファイル圧縮処理における変形例をいくつか説明す
る。
【0055】圧縮済ファイルに対する更新処理の特殊な
場合として、共通部分の更新が考えられる。これは共通
部分そのものを書き替えてしまう処理であり、この処理
を行うことにより、その共通部分を含む圧縮済ファイル
は共通部分の内容が一斉に変更されることになる。共通
部分を更新するためには、共通部分制御語の変更は行わ
ず、そのまま更新を行えばよい。このように、同じ内容
を含んでいる複数のファイルに対して、その共通部分の
一括変更を希望する場合、ファイル圧縮処理と共通部分
の更新を総合した処理(これをファイル一括変更と呼ぶ
)を行うと非常に便利である。
場合として、共通部分の更新が考えられる。これは共通
部分そのものを書き替えてしまう処理であり、この処理
を行うことにより、その共通部分を含む圧縮済ファイル
は共通部分の内容が一斉に変更されることになる。共通
部分を更新するためには、共通部分制御語の変更は行わ
ず、そのまま更新を行えばよい。このように、同じ内容
を含んでいる複数のファイルに対して、その共通部分の
一括変更を希望する場合、ファイル圧縮処理と共通部分
の更新を総合した処理(これをファイル一括変更と呼ぶ
)を行うと非常に便利である。
【0056】ファイルの一括変更は、図12に示すフロ
ーチャートに従って行われる。初めに、ユーザーはファ
イル一括変更のコマンドと一括変更を希望するn個のフ
ァイル名を入力する(ステップS38)。オペレーティ
ングシステムはそれらのファイルに対しファイル圧縮処
理を行い(ステップS39)、共通部分の名前或いは番
号とそれを共有している圧縮済ファイル名のリストを表
示する(ステップS40)。次に、ユーザーは更新した
い共通部分の編集を行い(ステップS41)、オペレー
ティングシステムはその修正された共通部分を更新する
(ステップS42)。この共通部分の修正と更新は繰り
返し行うことが可能である。更新したい共通部分がなく
なれば処理を終了する。
ーチャートに従って行われる。初めに、ユーザーはファ
イル一括変更のコマンドと一括変更を希望するn個のフ
ァイル名を入力する(ステップS38)。オペレーティ
ングシステムはそれらのファイルに対しファイル圧縮処
理を行い(ステップS39)、共通部分の名前或いは番
号とそれを共有している圧縮済ファイル名のリストを表
示する(ステップS40)。次に、ユーザーは更新した
い共通部分の編集を行い(ステップS41)、オペレー
ティングシステムはその修正された共通部分を更新する
(ステップS42)。この共通部分の修正と更新は繰り
返し行うことが可能である。更新したい共通部分がなく
なれば処理を終了する。
【0057】また、ファイル圧縮処理をコピー処理とし
て用いることも可能である。この処理の手順を図13に
示すフローチャートを参照して説明する。まず、ユーザ
ーはコピー(ファイル圧縮処理による)のコマンドとコ
ピー元とコピー先のファイル名を入力する(ステップS
43)。オペレーティングシステムはコピーするファイ
ル全体を共通部分とみなし(ステップS44)、共通部
分処理(ステップS45)において、共有ファイル数を
2と記録する。さらに、比較後ファイル処理(ステップ
S46)を2回行って、コピー元とコピー先の圧縮ファ
イルを作成する。
て用いることも可能である。この処理の手順を図13に
示すフローチャートを参照して説明する。まず、ユーザ
ーはコピー(ファイル圧縮処理による)のコマンドとコ
ピー元とコピー先のファイル名を入力する(ステップS
43)。オペレーティングシステムはコピーするファイ
ル全体を共通部分とみなし(ステップS44)、共通部
分処理(ステップS45)において、共有ファイル数を
2と記録する。さらに、比較後ファイル処理(ステップ
S46)を2回行って、コピー元とコピー先の圧縮ファ
イルを作成する。
【0058】インデックス逐次型ファイル方式による比
較後ファイル処理の場合、図4のステップS6の処理は
必要はなく、インデックスに記録される情報は一つのレ
コード(共通ファイル)の情報のみである(ステップS
7)。そして、ステップS8ではインデックスのみが保
存される。また、マーキング方式による比較後ファイル
処理の場合、図6に示したフローチャートに従って処理
を行う。但し、この比較後ファイル処理で作成される固
有ファイルはヘッダーと共通部分指定語のみから構成さ
れる。以上のような処理を行うことによって、二次記憶
装置には共通部分がただ一つ保存され、それをコピー元
とコピー先の圧縮済ファイルが共有することになる。
較後ファイル処理の場合、図4のステップS6の処理は
必要はなく、インデックスに記録される情報は一つのレ
コード(共通ファイル)の情報のみである(ステップS
7)。そして、ステップS8ではインデックスのみが保
存される。また、マーキング方式による比較後ファイル
処理の場合、図6に示したフローチャートに従って処理
を行う。但し、この比較後ファイル処理で作成される固
有ファイルはヘッダーと共通部分指定語のみから構成さ
れる。以上のような処理を行うことによって、二次記憶
装置には共通部分がただ一つ保存され、それをコピー元
とコピー先の圧縮済ファイルが共有することになる。
【0059】なお、本発明は上述した実施例に限定され
るものではない。実施例ではファイルを格納する記憶部
として磁気ディスクを用いたが、この代わりには磁気テ
ープや光ディスク等の二次記憶装置(外部記憶装置)を
用いることができる。また、図1に示すファイル圧縮処
理部の構成は、ハードウェアによって実現してもよいし
、ソフトウェアによって実現してもよい。その他、本発
明の要旨を逸脱しない範囲で、種々変形して実施するこ
とができる。
るものではない。実施例ではファイルを格納する記憶部
として磁気ディスクを用いたが、この代わりには磁気テ
ープや光ディスク等の二次記憶装置(外部記憶装置)を
用いることができる。また、図1に示すファイル圧縮処
理部の構成は、ハードウェアによって実現してもよいし
、ソフトウェアによって実現してもよい。その他、本発
明の要旨を逸脱しない範囲で、種々変形して実施するこ
とができる。
【0060】
【発明の効果】以上詳述したように本発明によれば、内
容が共通した部分を含むファイルが複数存在する場合に
、各ファイルを共通部分とこの共通部分を除いた非共通
部分とに分け、これらを二次記憶装置等の記憶部に独立
して格納している。従って、複数のファイルに共通の内
容を二次記憶装置に重複して記憶する等の不都合を避け
ることができ、二次記憶装置のより効率的な利用が可能
となるファイル圧縮装置を実現することが可能となる。
容が共通した部分を含むファイルが複数存在する場合に
、各ファイルを共通部分とこの共通部分を除いた非共通
部分とに分け、これらを二次記憶装置等の記憶部に独立
して格納している。従って、複数のファイルに共通の内
容を二次記憶装置に重複して記憶する等の不都合を避け
ることができ、二次記憶装置のより効率的な利用が可能
となるファイル圧縮装置を実現することが可能となる。
【図1】本発明の一実施例に係わるファイル圧縮装置の
概略構成を示すブロック図、
概略構成を示すブロック図、
【図2】ファイル圧縮処理の基本的な手順を示すフロー
チャート、
チャート、
【図3】共通ファイルの構造を示す模式図、
【図4】イ
ンデックス逐次型ファイル方式による比較後ファイル処
理を示すフローチャート、
ンデックス逐次型ファイル方式による比較後ファイル処
理を示すフローチャート、
【図5】インデックス逐次型ファイル方式によるファイ
ル圧縮処理で作成される圧縮ファイルの構造を示す模式
図、
ル圧縮処理で作成される圧縮ファイルの構造を示す模式
図、
【図6】マーキング方式による比較後ファイル処理を示
すフローチャート、
すフローチャート、
【図7】マーキング方式によるファイル圧縮処理で作成
される圧縮ファイルが持つ固有ファイルの構造を示す模
式図、
される圧縮ファイルが持つ固有ファイルの構造を示す模
式図、
【図8】インデックス逐次型ファイル方式で処理された
圧縮ファイルを削除する手順を示すフローチャート、
圧縮ファイルを削除する手順を示すフローチャート、
【
図9】マーキング方式で処理された圧縮ファイルを削除
する手順を示すフローチャート、
図9】マーキング方式で処理された圧縮ファイルを削除
する手順を示すフローチャート、
【図10】インデックス逐次型ファイル方式で処理され
た圧縮ファイルを更新する手順を示すフローチャート、
た圧縮ファイルを更新する手順を示すフローチャート、
【図11】比較するファイル数を変化させ、段階的に比
較処理と共通部分処理を行う場合のファイル圧縮処理の
手順を示すフローチャート、
較処理と共通部分処理を行う場合のファイル圧縮処理の
手順を示すフローチャート、
【図12】ファイル一括変更の手順を示すフローチャー
ト、
ト、
【図13】ファイル圧縮処理をコピー処理として行う場
合の手順を示すフローチャート。
合の手順を示すフローチャート。
10…ファイル圧縮処理部、
11…比較処理部、
12…共通部分処理部、
13…ファイル処理部、
20…二次記憶装置(第1の記憶部)、30…二次記憶
装置(第2の記憶部)。
装置(第2の記憶部)。
Claims (1)
- 【請求項1】第1の記憶部に格納された複数のファイル
に対しその内容を比較する手段と、該手段による比較結
果で内容が一致している部分を抜き出す手段と、該手段
により抜き出した共通部分を共通ファイルとして第1の
記憶部又は第2の記憶部に格納する手段と、前記共通部
分を抜き出した後のファイルを固有ファイルとして第1
の記憶部又は第2の記憶部に格納する手段とを具備して
なることを特徴とするファイル圧縮装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP3134694A JPH04360246A (ja) | 1991-06-06 | 1991-06-06 | ファイル圧縮装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP3134694A JPH04360246A (ja) | 1991-06-06 | 1991-06-06 | ファイル圧縮装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH04360246A true JPH04360246A (ja) | 1992-12-14 |
Family
ID=15134412
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP3134694A Pending JPH04360246A (ja) | 1991-06-06 | 1991-06-06 | ファイル圧縮装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH04360246A (ja) |
Cited By (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2008129678A (ja) * | 2006-11-17 | 2008-06-05 | Nec Corp | ファイル圧縮自動判定方式および方法、並びに、プログラム |
| JP2008537209A (ja) * | 2005-03-11 | 2008-09-11 | ロックソフト リミテッド | データ・クラスタを使用する冗長性の少ないデータを格納する方法 |
| US7664944B2 (en) | 2002-06-17 | 2010-02-16 | Microsoft Corporation | Booting from a compressed image |
| JP2010287167A (ja) * | 2009-06-15 | 2010-12-24 | Nec Corp | アーカイブストレージ装置、ストレージシステム、データ格納方法、およびデータ格納プログラム |
| JP2013532853A (ja) * | 2010-10-26 | 2013-08-19 | 株式会社日立製作所 | ストレージ装置及びデータ制御方法 |
| US8856139B2 (en) | 2000-09-21 | 2014-10-07 | Nec Corporation | File managing system |
| JP2015103184A (ja) * | 2013-11-27 | 2015-06-04 | 富士ゼロックス株式会社 | 情報処理装置及びプログラム |
| JP2018018240A (ja) * | 2016-07-27 | 2018-02-01 | 富士ゼロックス株式会社 | データ処理装置およびプログラム |
| JP6576608B1 (ja) * | 2019-01-31 | 2019-09-18 | 三菱電機株式会社 | 作画支援装置、表示装置、作画支援方法およびコンピュータプログラム |
-
1991
- 1991-06-06 JP JP3134694A patent/JPH04360246A/ja active Pending
Cited By (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8856139B2 (en) | 2000-09-21 | 2014-10-07 | Nec Corporation | File managing system |
| US7664944B2 (en) | 2002-06-17 | 2010-02-16 | Microsoft Corporation | Booting from a compressed image |
| JP2008537209A (ja) * | 2005-03-11 | 2008-09-11 | ロックソフト リミテッド | データ・クラスタを使用する冗長性の少ないデータを格納する方法 |
| JP2008129678A (ja) * | 2006-11-17 | 2008-06-05 | Nec Corp | ファイル圧縮自動判定方式および方法、並びに、プログラム |
| JP2010287167A (ja) * | 2009-06-15 | 2010-12-24 | Nec Corp | アーカイブストレージ装置、ストレージシステム、データ格納方法、およびデータ格納プログラム |
| JP2013532853A (ja) * | 2010-10-26 | 2013-08-19 | 株式会社日立製作所 | ストレージ装置及びデータ制御方法 |
| JP2015103184A (ja) * | 2013-11-27 | 2015-06-04 | 富士ゼロックス株式会社 | 情報処理装置及びプログラム |
| JP2018018240A (ja) * | 2016-07-27 | 2018-02-01 | 富士ゼロックス株式会社 | データ処理装置およびプログラム |
| JP6576608B1 (ja) * | 2019-01-31 | 2019-09-18 | 三菱電機株式会社 | 作画支援装置、表示装置、作画支援方法およびコンピュータプログラム |
| WO2020157918A1 (ja) * | 2019-01-31 | 2020-08-06 | 三菱電機株式会社 | 作画支援装置、表示装置、作画支援方法およびコンピュータプログラム |
| US11625212B2 (en) | 2019-01-31 | 2023-04-11 | Mitsubishi Electric Corporation | Screen creation assistance device, display device, and computer readable storage medium |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP4615337B2 (ja) | ストレージシステム | |
| KR100398753B1 (ko) | 효과적인 파일 갱신 처리 및 복구 처리를 이용하는트랜잭션 처리 시스템 | |
| JPH04360246A (ja) | ファイル圧縮装置 | |
| KR20130111170A (ko) | 압축 및 신장 시스템, 압축 장치, 신장 장치, 압축 및 신장 방법, 압축 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체, 및 신장 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체 | |
| JP3770919B2 (ja) | ファイル処理方法、データ処理装置及び記憶媒体 | |
| JP5709903B2 (ja) | データレコードを圧縮し圧縮されたデータレコードを処理するための方法、システム、コンピュータプログラム、その記録媒体、データコレクションを記憶したデータ記憶媒体、並びに通話データ記録システム | |
| JPH10261969A (ja) | データ圧縮方法および装置 | |
| JP2925042B2 (ja) | 情報リンク生成方法 | |
| CN119473124A (zh) | 存储装置 | |
| US5978810A (en) | Data management system and method for storing a long record in a set of shorter keyed records | |
| JPH05113920A (ja) | フアイル管理方法及びその装置 | |
| JPH11272575A (ja) | 圧縮ファイルサーバ方式 | |
| JP2009053961A (ja) | ファイル検索システム | |
| JP3559571B2 (ja) | データ処理装置およびデータ処理方法 | |
| CN113568576B (zh) | 数据处理方法及装置、存储介质、电子设备 | |
| JPH0362137A (ja) | 可変長ブロック群による長大データの格納方法 | |
| KR20260001914A (ko) | 메모리 컨트롤러 및 그 동작 방법 | |
| JP2943900B2 (ja) | データ・ファイルのデータ圧縮処理装置,データ伸長処理装置,データ圧縮処理方法およびデータ伸長処理方法 | |
| JP2000322291A (ja) | 圧縮データ展開方法及びその装置 | |
| JP3463630B2 (ja) | 仮想記憶空間計算機システム | |
| JPH05250243A (ja) | 拡張記憶装置のデータ処理方式 | |
| CN119739329A (zh) | 计算系统、数据处理方法及相关设备 | |
| JPH06324925A (ja) | データ圧縮機能付ファイルシステム | |
| JPH086828A (ja) | データ処理方法 | |
| JP2000123038A (ja) | データベース装置、データベースアクセス方法及びデータベースアクセスプログラムを記録した記録媒体 |