JP2790594B2 - データベースレコードの圧縮方法および復元方法 - Google Patents
データベースレコードの圧縮方法および復元方法Info
- Publication number
- JP2790594B2 JP2790594B2 JP5126734A JP12673493A JP2790594B2 JP 2790594 B2 JP2790594 B2 JP 2790594B2 JP 5126734 A JP5126734 A JP 5126734A JP 12673493 A JP12673493 A JP 12673493A JP 2790594 B2 JP2790594 B2 JP 2790594B2
- Authority
- JP
- Japan
- Prior art keywords
- record
- database
- data
- database record
- mask table
- 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
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
ージメントシステムにおけるデータベースレコードの圧
縮方法および復元方法に関するものである。
スレコード内に同一文字が3バイト以上連続している場
合には、繰返文字数をカウントし、文字種別と繰返回数
をそれぞれ各1バイトずつ合計2バイトの圧縮情報とし
てレコード内の同一文字があった位置に置換し、データ
ベースレコードを圧縮している。
−348617号公報等が挙げられる。
スレコード内のデータ項目に格納するデータ形式として
例えば4ビットの符号コード(CまたはD)を付けた内
部10進形式を採用した場合、例えば10進数の「10
0」に相当する値は「100C」、10進数の「11
1」に相当する値は「111C」という具合に表わされ
る。また、格納すべき数値が未だ入力されていない空欄
に相当する数値データ項目においては、「00…0C」
というように必要桁数の「0」の最下位桁に符号コード
(CまたはD)を付けた初期値が設定される。「000
C」という初期値が設定されたデータ項目は初期値デー
タ項目と言われている。従って、空欄に相当する初期値
データ項目が連続する場合には、「00…0C」という
値が連続することになる。このような初期値データ項目
は、多くのデータ項目の中で必要なデータ項目を選んで
必要なデータを格納するという使い方をするデータベー
スにおいて多く存在する。従って、このような初期値デ
ータ項目が多く存在するデータベースレコードを圧縮で
きれば、圧縮効率を高める点で極めて有効なものとな
る。しかし、上記従来技術では、データベースレコード
内のデータを1バイト単位で調べ、同一文字が3バイト
以上連続している場合のみデータ圧縮の対象となってい
るため、初期値データ項目については、CまたはDとい
う符号コードによって「0」という文字の連続性が途切
れてしまう。このため、圧縮効率が上がらないという問
題があった。
データにおいて、同一文字の連続性がとぎれる場合でも
データベースレコードの圧縮効率を上げ、データベース
ファイルへの格納するデータベースレコード長を短くす
ることである。
に、本発明の第1の手段は、データベースレコード内の
データ形式に応じた初期値で設定されたマスクテーブル
を作成して、1データベースレコード単位に格納される
データベースレコードのデータと前記マスクテーブルと
の排他的論理和をとり、前記データベースレコード内の
初期値項目部分に対応するバイトをオフにして連続同一
文字列を作り、前記データベースレコードのデータにお
ける連続同一文字列がある位置に連続同一文字列に関す
る情報をもつ圧縮情報に置換し、前記レコードデータを
バイトオフにならなかった残りのデータベースレコード
のデータと圧縮情報とからなるデータベースレコードの
データに圧縮することを特徴とする。
データベースファイルに一旦格納されている圧縮された
データベースレコードを読み出し、このデータベースフ
ァイルから読み出したデータベースレコード内の圧縮情
報に置換された部分を連続同一文字の長さ分に拡張し、
データベースレコードのデータ圧縮時と同一のマスクテ
ーブルとの排他的論理和をとり対応するバイトをオンに
し、データベースレコードのデータ圧縮前のデータベー
スレコードに復元することを特徴とする。
ードを処理するアプリケーションプログラムの作成で使
用するレコードフォーマット規定部分のソースプログラ
ムをそのまま使用し、そのソースプログラムが出力する
初期値を設定することによって作成することを特徴とす
る。
のデータ形式に応じた初期値、または発生頻度の高い任
意の文字列で設定されたマスクテーブルを作成して、1
データベースレコード単位に格納されるデータベースレ
コードのデータと前記マスクテーブルとの排他的論理和
をとり、前記データベースレコード内の初期値項目部分
に対応するバイトをオフにして連続同一文字列を作り、
前記データベースレコードのデータにおける連続同一文
字列がある位置に連続同一文字列に関する情報をもつ圧
縮情報に置換し、前記レコードデータをバイトオフにな
らなかった残りのデータベースレコードのデータと圧縮
情報とからなるデータベースレコードのデータに圧縮す
るので、圧縮可能な範囲が従来より広くとれ、レコード
データの圧縮効率が向上し、データベースファイルへの
格納データベースレコード長を短くすることが可能とな
る。
復元する時は、外部記憶装置上のデータベースファイル
に一旦格納されている圧縮されたデータベースレコード
を読み出し、データベースファイルから読み出したデー
タベースレコード内の圧縮情報に置換された部分を連続
同一文字の長さ分に拡張し、データベースレコードのデ
ータ圧縮時と同一のマスクテーブルとの排他的論理和を
とり対応するバイトをオンにし、データベースレコード
のデータ圧縮前のデータベースレコードに簡単に復元す
ることが可能である。
コードを処理するアプリケーションプログラムの作成で
使用するレコードフォーマット規定部分のソースプログ
ラムをそのまま使用し、そのソースプログラムが出力す
る初期値を設定することによって作成するため、データ
ベースレコードを処理するアプリケーションプログラム
とデータベースファイルとの不整合を防止できる。
いて詳細に説明する。
ネジメントシステムの全体構成を示すブロック図であ
り、図2は、図1のデータベースマネジメントシステム
を実施するための装置のハードウエア構成を示すブロッ
ク図である。
ースマネジメントシステム、11はアプリケーションプ
ログラム、19はデータベースファイル、20はレコー
ド規定管理ファイル、21はコンパイラ、22はマスク
テーブルファイル、31は入出力装置、32は中央処理
装置(CPU)、33は主記憶装置、34は外部記憶装
置である。
タ圧縮方法を実行するデータベースマネジメントシステ
ム10は、アプリケーションプログラム11が使用する
データベースファイル19のデータベースレコードの入
出力要求により動作し、データベースマネジメントシス
テム内を制御するコントローラ12、データベースレコ
ードの圧縮処理を行うデータ圧縮部13、データベース
レコードの復元処理を行うデータ復元部14、マスクテ
ーブルファイル22の入力を行うマスクテーブルロード
部15から構成される。
2は、レコード規定管理ファイル20をもとにコンパイ
ラ21により作成され、ファイル内容はデータベースマ
ネジメントシステム10の開始時に、マスクテーブルロ
ード部15によってマスクテーブル常駐エリア18に常
駐化される。
フォーマット、およびデータ形式を規定するレコード規
定管理ファイル20に設定されているレコード形式の一
例をもとに、コンパイラ21に入力し、オブジェクト形
式データに変換後、マスクテーブル23がマスクテーブ
ルファイル22に作成される手順を示したものである。
内部10進形式(パック形式10進データ)20aに対
しては00…0Cの形式で、外部10進形式(ゾーン形
式10進データ)20bに対しては、F0F0…の形式
で、文字形式(文字列データ)20cに対しては、40
40…の形式で、漢字形式(日本語列データ)20dに
対しては、A1A1…の形式でマスクテーブル23は設
定される。ここで、「00…0C」は内部10進形式の
データ項目の初期値、「F0F0…F0」は外部10進
形式のデータ項目の初期値、「4040…40」は文字
形式のデータ項目の初期値、「A1A1…A1」は漢字
形式のデータ項目の初期値である。データベースのレコ
ードは、レコード規定管理ファイル20に設定されてい
るレコード形式に従って作成されるのであるが、その初
期値は、内部10進形式のデータ項目においては「00
…0C」、外部10進形式のデータ項目においては「F
0F0…F0」、文字形式のデータ項目においては「4
040…40」、漢字形式のデータ項目においては「A
1A1…A1」である。従って、データベースレコード
の初期段階で必要なデータが全く入力されていない初期
値のみのデータベースレコードとマスクテーブル23と
の排他的論理和をとると、そのデータベースレコードは
全てのバイトが「0」になり、符号コードが除去された
「0」の値の連続したものとなる。ここで、本発明にお
いては、排他的論理和をとり、符号コードを除去した値
の連続したものにすることを、バイトオフにすると言
う。また、バイトオフにした値を符号コードが付いた元
の値に戻すことをバイトオンにすると言う。
レコードフォーマット、およびデータ形式を規定するレ
コード規定管理ファイル20に設定されているレコード
形式をコンパイラ21に入力することにより簡単にマス
クテーブル23を作成できる。
プリケーションプログラム11の作成で使用するレコー
ドフォーマット規定部分のソースプログラムをそのまま
使用し、そのソースプログラムが出力する初期値をマス
クテーブル23に設定することによって、アプリケーシ
ョンプログラムとデータベースファイルとの不整合を防
止できる。
から格納要求されたデータベースレコード(以下、レコ
ードと略す)の一例を用いて、データ圧縮する処理過程
を説明するためのものである。
されたレコード受け渡しエリア16内にセットされたレ
コードデータ16aに対して、マスクテーブル23で排
他的論理和をとると、レコードデータ16aとマスクテ
ーブル23間で同一の値をもつ全てのデータ項目部分が
ゼロの値(バイトオフ)となり、結果はレコード受渡し
エリア16のマスク済みレコードデータ16bの内容と
なる。すなわち、図4のレコードデータ16aは、「1
2345C」が内部10進形式の数値データ「1234
5」、「F0F0F0」が外部10進形式のデータ、
「404040」が文字形式のデータ、「00000
C」が内部10進形式の数値データ「00000」、
「000C」が内部10進形式の数値データ「00
0」、「A1A1A1A1」が漢字形式のデータである
が、図3のマスクテーブル23との間で排他的論理和を
とると、レコードデータ16aとマスクテーブル23間
で同一の値をもつ全てのデータ項目部分がゼロの値とな
り、結果はマスク済みレコードデータ16bの内容とな
る。すなわち、最初のデータ項目の数値「12345」
のみがそのまま残り、後続の初期値データ項目の値は全
て「0」になる。
6bをもとに、連続した同一文字の部分、すなわち
「0」が連続する部分を圧縮制御情報(文字と長さ)に
置換し、また不連続部分の先頭にも非圧縮制御情報(長
さ)を設定し、レコード入出力エリア17に圧縮レコー
ドデータ17aとしてセットし、その圧縮レコードデー
タ17aをデータベースファイル19へ格納する。図4
のマスク済みレコードデータ16bの内容は、「0」の
連続部分が圧縮されたものとなる。
ードの一例を用いて、データベースファイル19に格納
された圧縮レコードデータ17aを読み出し、データ圧
縮部分を元のレコードデータ16aの内容に復元し、ア
プリケーションプログラム11に渡す処理過程を説明す
るためのものである。
たレコード入出力エリア17内の圧縮レコードデータ1
7aの圧縮制御情報と非圧縮制御情報をもとに、連続同
一文字圧縮の場合は、圧縮制御情報内の文字をその長さ
分に拡張し、それ以外の場合は非圧縮制御情報内の長さ
分の非圧縮データ部分そのままを、レコード受け渡しエ
リア16にセットする。
縮レコードデータ17aを圧縮制御情報および非圧縮情
報より変換した変換レコードデータ16cとしてセット
する。なお、このときの変換レコードデータ16cはマ
スク済みレコードデータ16bと同一のデータ内容とな
る。
対して、格納時に使用したマスクテーブル23で排他的
論理和をとると、変換レコードデータ16cのゼロの値
の全ての部分にマスクテーブルの値が加算され(バイト
オンされ)、結果はレコード受渡しエリア16の復元レ
コードデータ16dに示すように圧縮前のレコードデー
タ16aの内容に復元され、その復元レコードデータ1
6dをアプリケーションプログラム11へ渡す。
のを示したフローチャートであり、図4をもとにして説
明する。
要求されたレコード受渡しエリア16のレコードデータ
16aの内容をもとに対応するマスクテーブル23を決
定する(ステップ100)。ここで決定したマスクテー
ブル23を用いてレコード受け渡しエリア16のレコー
ドデータ16aの内容に対し、1命令で256バイトづ
つの排他的論理和を実行する(ステップ110)。
6のレコードデータ16bをもとに、1命令で256バ
イトづつ連続同一文字を検索(ステップ120)、2バ
イト以上の連続同一文字を検出した場合は(ステップ1
30)、同一文字の連続する部分の長さを求め(ステッ
プ140)この文字と長さをもとに圧縮制御情報を作成
し、レコード入出力エリア17にセット(ステップ15
0)する。
0)、不連続文字部分の長さをもとに非圧縮制御情報を
作成し、非圧縮データ部分をレコード入出力エリア17
にセットする(ステップ160)。
までをマスク済みレコードデータ16bの検索が終了す
るまで繰返し、検索終了時には、レコード入出力エリア
の圧縮レコードデータ17aをセットし、その内容をデ
ータベースファイル19へ格納(ステップ170)し要
求元へリターンする。
を示したフローチャートであり、図5をもとにして説明
する。
ータベースレコード読み出し要求をもとに、データベー
スファイル19から圧縮レコードデータ17aをレコー
ド入出力エリア17へ読み出す(ステップ200)、こ
の内容をもとに対応するマスクテーブルを決定する(ス
テップ210)、レコード入出力エリア17内の圧縮レ
コードデータ17aの先頭から圧縮制御情報、または非
圧縮制御情報を検索し(ステップ220)、圧縮制御情
報の場合は(ステップ230)、圧縮制御情報内の文字
をその長さ分に拡張し、レコード受渡しエリア16ヘセ
ットする(ステップ240)。
0)、非圧縮制御情報内の長さ分の非圧縮データ部分を
そのままレコード受渡しエリア16へセットする。
レコード入出力エリア17の圧縮レコードデータ17a
が終了まで繰返し、検索終了時には、レコード受渡しエ
リア16の変換レコードデータ16cに対して先に決定
したマスクテーブル23を用いて、1命令で256バイ
トづつの排他的論理和を実行する(ステップ260)。
この実行結果は、レコード受渡しエリア16の復元レコ
ードデータ16dとなる。
は、元のレコードデータ16aと同一のものであり、要
求元へリターン時、この復元レコードデータ16dが要
求元へ渡される。
コード件数が多く、レコード内のデータ項目数が多い大
規模データベースシステムにおいて、データベースレコ
ード内に内部10進形式等の初期値データ項目が多数存
在している場合は、これら全ての初期値データ項目部分
をデータ圧縮するため、データベースレコード長が大幅
に短縮され、データベースファイルを格納する外部記憶
装置容量の大幅な削減となる。
読み出し時のデータ転送時間も大幅な削減となる。
から圧縮される前のデータベースレコードに復元する場
合も、レコード圧縮で行った処理手順を逆にすることで
簡単に復元できる。
プリケーションプログラムの作成で使用するレコードフ
ォーマット規定部分のソースプログラムをそのまま使用
し、そのソースプログラムが出力する初期値をマスクテ
ーブルに設定することにより、データベースレコードを
処理するアプリケーションプログラムとデータベースフ
ァイルの不整合を防止できる。
レコード件数が多く、レコード内のデータ項目数が多い
大規模データベースシステムにおいて、データベースレ
コード内に内部10進形式等の初期値データ項目が多数
存在している場合は、これら全てのデータ項目部分をデ
ータ圧縮するため、データベースレコード長が大幅に短
縮され、データベースファイルを格納する外部記憶装置
容量の大幅な削減となる。
出し時のデータ転送時間も大幅な削減となる。また、デ
ータベースレコードを処理するアプリケーションプログ
ラムとデータベースファイルの不整合を防止できる。
ステムの全体構成を示すブロック図である。
ロック図である。
ための図である。
ための図である。
ための図である。
チャートである。
チャートである。
Claims (3)
- 【請求項1】 データベースマネージメントシステムに
おけるデータベースレコードの圧縮方法であって、レコ
ードフォーマットが固定のデータベースレコードに対し
て、前記データベースレコード内のデータ形式に応じた
初期値で設定されたマスクテーブルを作成して、1デー
タベースレコード単位に格納されるデータベースレコー
ドのデータと前記マスクテーブルとの排他的論理和をと
り、前記データベースレコード内の初期値項目部分に対
応するバイトをオフにして連続同一文字列を作り、前記
データベースレコードのデータにおける連続同一文字列
がある位置に連続同一文字列に関する情報をもつ圧縮情
報に置換し、前記データベースレコードのデータをバイ
トオフにならなかった残りのデータベースレコードのデ
ータと圧縮情報とからなるデータベースレコードのデー
タに圧縮することを特徴としたデータベースレコードの
圧縮方法。 - 【請求項2】 請求項1に記載のデータベースレコード
の圧縮方法によって、圧縮されたデータベースレコード
が格納されている外部記憶装置上のデータベースファイ
ルから圧縮されたデータベースレコードを読み出し、こ
のデータベースファイルから読み出したデータベースレ
コード内の圧縮情報に置換された部分を連続同一文字に
置換し、データベースレコードのデータ圧縮時と同一の
マスクテーブルとの排他的論理和をとり対応するバイト
をオンにし、データ圧縮前のデータベースレコードに復
元することを特徴としたデータベースレコードの復元方
法。 - 【請求項3】 請求項1、または請求項2に記載のデー
タベースレコードの圧縮方法または復元方法において、
前記マスクテーブルは、データベースレコードを処理す
るアプリケーションプログラムの作成で使用するレコー
ドフォーマット規定部分のソースプログラムをそのまま
使用し、そのソースプログラムが出力する初期値を設定
することによって作成することを特徴としたデータベー
スレコードの圧縮方法または復元方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5126734A JP2790594B2 (ja) | 1993-05-28 | 1993-05-28 | データベースレコードの圧縮方法および復元方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5126734A JP2790594B2 (ja) | 1993-05-28 | 1993-05-28 | データベースレコードの圧縮方法および復元方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH06337762A JPH06337762A (ja) | 1994-12-06 |
JP2790594B2 true JP2790594B2 (ja) | 1998-08-27 |
Family
ID=14942573
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP5126734A Expired - Fee Related JP2790594B2 (ja) | 1993-05-28 | 1993-05-28 | データベースレコードの圧縮方法および復元方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2790594B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6226411B1 (en) | 1997-01-31 | 2001-05-01 | Fujitsu Limited | Method for data compression and restoration |
JP2000305822A (ja) | 1999-04-26 | 2000-11-02 | Denso Corp | データベース管理装置,データベースレコード抽出装置,データベース管理方法及びデータベースレコード抽出方法 |
DE102010006931A1 (de) * | 2010-02-04 | 2011-08-04 | Bienert, Jörg, 50354 | Verfahren zur Verarbeitung von Datensammlungen, insbesondere in Datenbanksystemen |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS62186619A (ja) * | 1986-02-12 | 1987-08-15 | Nec Corp | デ−タ圧縮方式 |
JPH056260A (ja) * | 1991-06-27 | 1993-01-14 | Nec Corp | 日本語データ圧縮方式 |
-
1993
- 1993-05-28 JP JP5126734A patent/JP2790594B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH06337762A (ja) | 1994-12-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2790594B2 (ja) | データベースレコードの圧縮方法および復元方法 | |
CN112783558A (zh) | 一种加快Linux内核启动的自解压阶段的方法 | |
US6112208A (en) | Data compressing method and apparatus to generate bit maps in accordance with extracted data symbols | |
JP2863370B2 (ja) | ファイル圧縮暗号処理装置 | |
JPH03247167A (ja) | データ圧縮方式 | |
JP2013519141A (ja) | データレコードを圧縮し圧縮されたデータレコードを処理するための方法及びシステム | |
JPH06290021A (ja) | ソースプログラム圧縮方法 | |
JP3104302B2 (ja) | データ圧縮装置 | |
JP3186530B2 (ja) | コンピュータデータの圧縮・伸長方法 | |
JPH0628150A (ja) | プログラム容量圧縮方法 | |
JPH0844551A (ja) | 情報処理装置 | |
JPS63296147A (ja) | デ−タ圧縮処理方式 | |
JP3088740B2 (ja) | データ圧縮及び復元方式 | |
JP3384844B2 (ja) | データ圧縮方法および装置並びにデータ復元方法および装置 | |
JPH06332666A (ja) | データの圧縮方法 | |
JP3152772B2 (ja) | 画像データ復元装置 | |
JPH04294419A (ja) | 2進数値データ圧縮格納方式 | |
JPH08147139A (ja) | データ処理装置 | |
JP2835753B2 (ja) | データ入力方式 | |
JP2772124B2 (ja) | 辞書検索方式 | |
JPH0563583A (ja) | データ圧縮及び復元方法並びにこれらの方法を使用した電子交換機におけるバツクアツプ方法 | |
JPH07121391A (ja) | チェックポイントダンプ圧縮アルゴリズム選択方法 | |
JPH11194922A (ja) | クライアント/サーバデータ変換システム | |
JPH05265416A (ja) | 画像情報伝送方式 | |
JP3054183B2 (ja) | データ圧縮装置の辞書書き替え方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080612 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080612 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090612 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100612 Year of fee payment: 12 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100612 Year of fee payment: 12 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110612 Year of fee payment: 13 |
|
LAPS | Cancellation because of no payment of annual fees |