JPH11154155A - ファイル管理方法 - Google Patents

ファイル管理方法

Info

Publication number
JPH11154155A
JPH11154155A JP9319527A JP31952797A JPH11154155A JP H11154155 A JPH11154155 A JP H11154155A JP 9319527 A JP9319527 A JP 9319527A JP 31952797 A JP31952797 A JP 31952797A JP H11154155 A JPH11154155 A JP H11154155A
Authority
JP
Japan
Prior art keywords
record
file
records
blocks
field
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
JP9319527A
Other languages
English (en)
Other versions
JP3024619B2 (ja
Inventor
Takaaki Andou
隆朗 安藤
Mitsunori Kori
光則 郡
Manabu Doge
学 道下
Takayuki Hayakawa
孝之 早川
Keiji Yoshimura
啓二 吉村
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP9319527A priority Critical patent/JP3024619B2/ja
Priority to TW087118635A priority patent/TW392113B/zh
Priority to EP98121286A priority patent/EP0921527A3/en
Priority to US09/188,307 priority patent/US6289359B1/en
Publication of JPH11154155A publication Critical patent/JPH11154155A/ja
Application granted granted Critical
Publication of JP3024619B2 publication Critical patent/JP3024619B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/061Improving I/O performance
    • G06F3/0613Improving I/O performance in relation to throughput
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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/10Digital recording or reproducing
    • G11B20/12Formatting, e.g. arrangement of data block or words on the record carriers
    • G11B20/1217Formatting, e.g. arrangement of data block or words on the record carriers on discs
    • 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/99931Database or file accessing
    • 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/99944Object-oriented database structure
    • Y10S707/99945Object-oriented database structure processing
    • 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/99956File allocation

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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

(57)【要約】 【課題】 ディスク装置から処理に必要なフィールドを
含む部分のみを読み出し、ディスク装置から読み出すデ
ータ量を減らすことで、ディスク装置からの読み出しに
かかる時間を軽減し、処理の高速化を実現する。 【解決手段】 元ファイルからフィールドの予め設定し
た一定件数を分割してブロックとし、各ブロックを全て
連結してグループに再編成し、レコードの全件について
グループに再編成後それらのグループを連結して転置フ
ァイルを生成し、その転置ファイルからフィールドごと
に順次アクセスする。また、グループを一定数ごとに複
数のディスク装置に格納し、元ファイルへのアクセスに
対し各ディスク装置を並列してアクセスする。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、データベース処
理など大量に記憶されたデータから必要なデータだけを
効率よく取り出すような処理を目的としたデータファイ
ルのファイル管理方法の改良に関するものである。
【0002】
【従来の技術】一般に、ディスク装置内において、デー
タはレコード単位にまとまって、各レコードの順番に従
って並び、各レコード内ではそのフィールドの定義順に
データが並んでいる。従来のファイル管理におけるファ
イル管理方法の一例を図24に示す。この図は、格納対
象となるデータファイルのi番目のレコードからnレコー
ド分がディスク装置に格納されている様子を示したもの
である。
【0003】また、関係データベース処理おいて、ディ
スク装置から一旦全てのデータをデータベース演算処理
装置内部の入出力バッファに入力した後、選択、射影処
理により必要なデータのみを内部メモリに取り込むデー
タ処理装置の一例として、特開平6−176074号公
報に記載された技術がある。内部メモリの有効利用を図
ったものであるが、選択、射影処理による絞り込みの詳
細については記載されておらず、また、内部メモリに取
り入れたデータの利用方法についても特に記載されてい
ない。
【0004】上記のように、レコード単位にまとめて記
憶されている記憶形式の場合、レコードの中の一部のフ
ィールドのみが必要な場合でも、すべてのレコードをデ
ィスク装置から入出力バッファに入力した上で、必要な
フィールドのみを切り出す処理が必要であった。一部の
フィールドのみを取り出すような処理は、例えば社員番
号、氏名、年齢、住所、電話番号から構成される社員デ
ータベースから、氏名と住所だけを取り出すような処理
がこれに相当する。図25に示すように、フィールド17
が氏名、フィールド18が住所として、これら2つのフィ
ールドのみが必要な場合でも、ディスク装置上はフィー
ルドごとに分割されて格納されていないため、ディスク
装置からはすべてのフィールドを全レコードについて読
み出した上で、17と18のフィールドを切り出す処理が必
要であった。
【0005】
【発明が解決しようとする課題】従来のファイル管理方
法は上記のように構成されているので、レコードの中の
一部のフィールドのみが必要な場合でも、すべてのレコ
ードをディスク装置等から入出力バッファに入力しなけ
ればならず、必要なフィールドのみを切り出したファイ
ルを作成しても、ファイルを利用する用途により必要な
フィールドが異なるので、必要なフィールドのみを切り
出す処理は使用の都度行なう必要があるという問題点が
あった。
【0006】この発明は、上記のような問題点を解消す
るためになされたもので、ディスク装置から処理に必要
なフィールドを含む部分のみを読み出し、ディスク装置
から読み出すデータ量を減らすことで、ディスク装置か
らの読み出しにかかる時間を軽減し、処理の高速化を実
現することを目的としている。
【0007】
【課題を解決するための手段】この発明に係るファイル
管理方法は、複数のフィールドから構成されるレコード
を複数格納した元ファイルから上記フィールドの予め設
定した一定件数を上記元ファイルから分割してブロック
とし、それらの分割した各ブロックを全て連結してグル
ープに再編成し、上記レコードの全件について上記グル
ープに再編成後それらのグループを連結して転置ファイ
ルを生成し、その転置ファイルからランダムにアクセス
するものである。
【0008】また、上記レコードの各フイールドをフィ
ールドごとに1又は複数の固定長フィールドに変更し上
記レコード全体を固定長フィールドとした後上記元ファ
イルから分割してブロックとするものである。
【0009】さらに、上記レコードの隣接する1又は複
数のフィールドをまとめて固定長フィールドに変更する
ものである。
【0010】また、上記レコードの先頭位置から固定値
にて順次フィールドを形成し上記レコード全体を固定長
フィールドとした後上記元ファイルから分割してブロッ
クとするものである。
【0011】また、上記ブロック内のレコード順を各ブ
ロックごとに変更するものである。
【0012】さらに、上記ブロック内のレコード開始位
置を各ブロックごとに変更し上記ブロック内のレコード
はラップアラウンドにて構成するものである。
【0013】また、上記グループ内の上記ブロックの連
結順を各グループごとに変更するものである。
【0014】さらにまた、上記ブロックの内同時にアク
セスされる可能性の高いブロックを隣接して配置するも
のである。
【0015】また、複数のフィールドから構成されるレ
コードを複数格納した元ファイルから選択した上記フィ
ールドの予め設定した一定件数を上記元ファイルから分
割してブロックとし、それらの分割した各ブロックを全
て連結してグループに再編成し、それらのグループを予
め設定した一定数ごとに複数のディスク装置に格納し、
上記元ファイルへのアクセスに対し上記各ディスク装置
を並列してアクセスするものである。
【0016】さらに、上記グループごとに上記レコード
のフィールド値の最大値又は最小値を求めることにより
レコードを検索するものである。
【0017】また、上記レコードの投入順序又は投入時
期を示す識別子を上記レコードに付し、上記グループご
とに上記識別子の最大値又は最小値を求めることにより
レコードを検索するものである。
【0018】
【発明の実施の形態】実施の形態1.図1は、この発明
の実施の形態1を示す転置ファイルの生成方法を示すも
ので、1は複数のフィールド2から構成されるレコード
3を複数格納した元ファイルであり、各フィールドの予
め設定した一定件数、例えばNレコードを元ファイルか
ら分割してブロック4としとしている。それらの分割し
た各ブロック4を全て連結してグループ5に再編成し、
レコード3の全件について上記グループ5に再編成後そ
れらのグループ5を連結することにより転置ファイル6
が生成される。フィールド2及びレコード3ともに固定
長の場合である。図2に示すように、転置ファイル6を
生成後、必要なフィールド2の集まり、即ち、必要なブ
ロック4のみを読み出して入出力バッファ7に格納する
ことができ、バッファ容量の節減及び処理速度の高速化
が実現できる。
【0019】実施の形態2.図3は、実施の形態2を示
すレコードのフォーマットを示すもので、元ファイルの
レコードが固定長フィールドでない場合に固定長化する
一方法を示している。8は元ファイルのレコード、9は
固定長化した後の固定境界フォーマットを示している。
図は、Fバイトに固定長化した例であり、例えばFバイ
トに満たないフィールドField−Bはブランクを埋
めることによりField#1に固定長化している。ま
た、Fバイトを超えるフィールド長のField−Cは
3分割することにより、一部ブランクを埋めることによ
りField#2、Field#3、Field#4と
している。フィールド毎にNレコード分を集めることに
よりNFバイトのブロックができる。固定長化すること
により、処理速度の高速化が実現できる。
【0020】図4は、実施の形態2の変形例を示すもの
で、隣接する複数のフィールドをまとめて固定長フィー
ルドに変更する方法である。フィールド長の短いフィー
ルドをまとめて取り扱うことができるので処理効率が向
上する。
【0021】実施の形態3.図5〜6は実施の形態3を
示すレコードフォーマットを分割する様子を示す図であ
る。図5は従来の実装方式によるデータファイルのi番
目のレコードからnレコード分を示したものである。デ
ータはレコード単位にまとまって、各レコードの順番に
従ってならび、各レコード内ではそのフィールドの定義
順にデータが並んでいる。本実施の形態3においては、
このレコードを分割して格納する。例ではレコードを分
割する長さを例えば4バイトとした場合を示す。まず各
レコードを4バイトづつに分割する。フィールド長は4
の倍数とは限らないので、フィールドの途中で分割され
ることもある。こうして、分割された部分を、レコード
毎に同じレコード内オフセットからはじまるものでまと
めてブロックとする。ブロック内では、各レコードの部
分はそのレコード順に並んでいる。
【0022】図6にその様子を示す。ブロック1は各レ
コードの先頭4バイトばかりを集めたもので、ブロック
2は各レコードの5バイト目から4バイトばかりを集め
たものとなる。最後の5ブロックは各レコードの最終部
分ばかりを集めたものとなる。レコード長が4の倍数で
ない場合、レコードの最後の部分にパディングを施して
4バイトに調整する。このようにしてできたブロックを
集めることで、レコードの集まりを格納する。ブロック
の集まりは、計算機システムのディスク上のファイルの
一部の形で格納される。
【0023】このような格納方式のデータファイルのレ
コードを追加する手順を説明する。まず、最初にディス
ク上に複数ブロック分の領域を確保し、データの追加位
置を示すポインタをその領域の先頭とする。ブロックサ
イズは適当な大きさの4の倍数で、ブロック数は、デー
タファイルが格納しようとするレコードの長さ以上の最
小の4の倍数を4で割った値である。
【0024】確保した領域に1レコード追加する場合の
手順を図7に示す。追加しようとするレコードをメモリ
上で4バイト単位に分割する(ステップS1)。分割し
た最初の4バイトはデータの追加位置を示すポインタの
指す場所に格納し(ステップS2)、レコードの追加位
置を示すポインタをブロックサイズ分進める(ステップ
S3)。レコードを分割して得られる次の4バイトを順
次レコードの追加位置を示すポインタの指す場所に格納
し、格納するごとにレコードの追加位置を示すポインタ
をブロックサイズ分進める。レコードを分割して得られ
る最後の4バイトを格納した後は、レコードの追加位置
を示すポインタを最初のブロック内のデータの最後に位
置づける(ステップS3)。
【0025】図7の手順による処理の様子を摸式的に示
したのが図8である。図8では、追加レコードを分割
し、分割単位ごとに各ブロックの最終位置に追加する様
子を示している。
【0026】複数レコードを一度に追加する場合は、各
レコードをメモリ上で4バイト単位に分割し、各レコー
ドの同じレコード内オフセットの部分をメモリ上でまと
めたうえで、ディスクに格納する。例えば、3レコード
を一度に追加する場合、分割して得られる4バイトの部
分を同じレコード内オフセットの部分について3レコー
ド分づつメモリ上でまとめて、12バイトづつ、レコー
ドの追加位置を示すポインタの指す場所に格納してい
く。この様子を図9に示す。
【0027】このようにして、分割して格納されたデー
タを読み出す時の手順について説明する。例えば、図1
0に示すように、フィールドAが必要な場合、フィール
ドAはブロック1にのみ格納されているので、ディスク
装置からブロック1のみをメモリ上に読み出すようにす
る。フィールドBが必要な場合、フィールドBはブロッ
ク2とブロック3にまたがって格納されているので、ブ
ロック2とブロック3をメモリ上に読み出して、その中
からフィールドBの部分だけをメモリ上で切り出した上
で利用する。
【0028】あるフィールドを読み出すのに必要なブロ
ックは、データファイルからのデータ入力時にフィール
ドの定義情報を基に計算して求める。必要なフィールド
のレコード内オフセットがP(0オリジン)で、フィー
ルドの長さがLの場合、読み出すことが必要なブロック
は以下の計算式で得られる。ブロックiからブロックj
まで読み出すことが必要。 i=INT(P/4)+1 j=INT((P+Lー1)/4)+1 ここで、INT(X)はXを超えない最小の整数を示す。
【0029】このように、レコードを分割して格納する
ことで、読みだし処理において必要な部分だけを読み出
すことが可能となり、ディスクからデータを読み出す時
間を短縮することが可能になる。さらに、分割単位をフ
ィールド単位ではなく、4バイトというフィールド定義
とは関係無い値で分割しているため、データファイルは
同じで、そのフィールドの定義情報が変更になった場合
でも、データファイルの格納方式には影響を与えること
なく、データ入力時にフィールドの定義情報(レコード
内オフセットとフィールドの長さ)を基に必要なブロッ
クを計算するだけで対応が可能となる。
【0030】実施の形態4.基本単位毎に単純なレコー
ド順でフィールドを配置すると、キャッシュ・TLBの特
定のセットにアクセスが集中する。このため衝突による
ミスが頻繁に発生すると予想される。仮想記憶を使わな
いことによりTLBの衝突を避けることができるが、ソフ
トウェア処理ではTLBの衝突の可能性が残る。エントリ
の衝突は、例えば、一定値づつレコード開始位置をずら
す(スキュー)ことによって回避できる。
【0031】図11に実施の形態4の転置ファイル6内
の各ブロック4の構成を示している。ソフトウェア処理
時の効率にも考慮してTLBの衝突も避けるとすると、ペ
ージサイズ+キャッシュブロックサイズ(例えばS=4096
+32=4128bytes)のスキューをとると、衝突を避けられ
る。各ブロック4内のレコードはスキューによりずらし
た分だけ先頭に回して一巡させるラップアラウンドによ
り構成されている。このように、ブロック4内のレコー
ド順を各ブロック4ごとに変更することによりアクセス
の偏りを回避することができる。
【0032】上記のようなアクセスの偏りを回避する他
の方法としては、グループ5内の上記ブロック4の連結
順を各グループごとに変更する方法がある。特に、転置
ファイル6の容量が大きく、グループ数が多い場合に有
効な方法である。
【0033】実施の形態5.図12は、実施の形態5を
示す転置ファイル6の生成方法を示すもので、同時に参
照されやすいフィールド2の隣接するブロックの再配置
のようすを示したものである。フィールド2の特性によ
りデータ検索時に同時に参照されやすいフィールドが複
数存在する場合があり、そのようなフィールドは転置フ
ァイルを生成するとき、グループ内に隣接して配置して
おいた方が検索時の処理速度を向上させることができ
る。
【0034】図12において、データ検索時に同時に参
照されやすいフィールドの集合としてブロック4aとブ
ロック4bがあり、これら2つのフィールドはレコード
3上では離れた位置に構成されているが、転置ファイル
6の生成時に隣接して配置することにより、転置ファイ
ル6を格納してあるディスク装置(図示せず)からの読
み出しにかかる時間を軽減し、処理の高速化を実現する
ことができる。
【0035】実施の形態6.図13は実施の形態3にお
いてレコードフォーマットを4バイトで分割して生成し
た転置ファイル6におけるページ単位の処理方法の一例
を示す図である。ブロックサイズをある一定の値に定め
ておく。それぞれのブロックには、レコードを分割して
得られる4バイトの部分がそれぞれ一定数集められて格
納されているので、それらのブロックを集めることで、
一定数のレコードを格納する単位を形成することができ
る。この単位をページ11とする。1ページ11を実施の形
態1における1グループ5と同一の単位としてもよい。
1ページ11に格納できるレコード数を超えるレコード3
を追加する場合にはページ11を追加する。複数のページ
の集合としてデータファイル12が形成されている。
【0036】図14は、データファイル12を構成する複
数のページ11を、ファイル管理プログラム14が異なるデ
ィスク装置15に分散して配置する。ひとつのデータファ
イル12を構成するページ11をどのディスク装置15に分配
するかは、利用者やシステムの管理者の定義による。デ
ータベース処理などのデータを読み込む処理プログラム
があるデータファイルの入力要求をファイル管理部(図
示せず)に対して行った場合、ファイル管理プログラム
14は、対象となるデータファイル12を構成するページが
どのディスク装置に分散して格納されているかを管理し
ているため、その処理要求を対象となる複数のディスク
装置15に対するページ単位の入力処理に分解して処理す
る。図では、データファイルを構成するページ11は
D:,E:,,,G:という複数のディスク装置15に分散
して格納されているので、データファイル12に対するデ
ータの読みだし処理要求は、ファイル管理部において、
複数のディスク装置15上の各ページ11に対する入力処理
を並列に行う形で処理される。
【0037】このように、異なるディスク装置15上に配
置した複数ページ11からデータファイル12を構成するこ
とで、データファイル12からの入力処理を複数のディス
ク装置15上のページ11からの入力要求に分解できるた
め、データファイル12からの入力の並列度が向上し、処
理速度の向上につながる。
【0038】ブロックを生成する際、レコード長に応じ
てブロックのサイズを変えることができるようにする。
例えば、図15に示すように、レコード長が256バイト
の場合、レコードは64のブロックに分割される。ブロッ
クの大きさを64KBにすると、ページのサイズは4MBにな
る。レコード長が2048バイトの場合512のブロックに分
割されるため、ブロックのサイズを64KBにすると、ペー
ジのサイズは32MBになる。ページのサイズが大きくなる
と、おなじ大きさのデータファイルに対してページの数
が少なくなるので、本実施の形態におけるページを異な
るディスクに分散させて処理の並列度を向上させる効果
が現れにくくなる。そこで、ブロックのサイズを8KBに
するとページのサイズはレコード長256Bの場合と同じ4M
Bに抑えられる。また、ページの数を増やそうとしてブ
ロックのサイズを小さく設定しすぎると、ブロック単位
の入力処理において、一度に入力できるデータ量が小さ
くなり、処理性能を低下させる原因になりうる。従っ
て、ブロックサイズを適切に制御する必要がある。
【0039】上記のようにレコード長によってブロック
のサイズを変えることで、レコード長にかかわりなく、
並列度向上の効果を活かした処理速度の制御が可能にな
る。
【0040】実施の形態7.図16に本実施の形態にお
けるレコードの実装方法を示す。本実施の形態において
は、データファイルを構成するレコードを格納する際
に、ある一定数のレコードを格納する単位を形成する。
この単位をページとする。1ページの単位は、実施の形
態1における1グループ5又は実施の形態6における1
ページの単位等任意に設定することができる。1ページ
に格納されるレコード数を超えるレコードからなるデー
タファイルは複数のページから構成される。この各ペー
ジに、ページの中に存在するデータの特性を示す指標を
設ける。データファイルの中からある条件に合致するレ
コードを探し出す検索処理において、そのページの特性
の指標を調べて条件に合致するレコードを含むページか
どうかを判定する。条件に合致するレコードを含むと判
定されたページを検索対象とし、そうでない場合は検索
対象外とする。
【0041】このように、ページ単位に分割し、各ペー
ジが検索対象になるかどうかをその指標を用いて判定す
ることで、不要なページの検索処理を省くことが可能と
なり、検索処理を高速化することが可能となる。
【0042】図17は本実施の形態におけるデータの特
性を示す指標として最大値/最小値を用いたレコードの
実装方法を示す図である。各ページの中に含まれるレコ
ードについて、各フィールドの最大値/最小値を管理す
る領域を用意する。最大値を管理する領域は、そのペー
ジ中のすべてのレコードの中での最大値を持つフィール
ドの組み合わせで構成され、最小値を管理する領域は、
そのページ中のすべてのレコードの中での最小値を持つ
フィールドの組み合わせで構成される。あるフィールド
の値でレコードを選択するような処理において、この最
大値/最小値のフィールドとその値を比較することで、
選択対象となるレコードがそのページに含まれるかどう
かの判断を行い、含まれるならばそのページに含まれる
レコードを検索し、含まれないならばそのページは処理
対象からはずれる。
【0043】図18は、ページ単位の選択処理の処理フ
ローを示すもので、あるページについて、検索条件がそ
のページの最大値以下か比較し(ステップS7)、NO
のときは次のページに移り、YESのときは次に検索条
件がそのページの最小値以上か比較する(ステップS
8)。NOのときは次のページに移り、YESのときは
そのページを処理対象とする(ステップS9)。この処
理を繰り返すことにより、全てのページについて選択対
象となるレコードが全ページに含まれるかどうかの判断
を行う。
【0044】実施の形態8.図19は実施の形態8の処
理方法の例を示す図である。レコードの投入順序を示す
レコードIDもしくは投入時刻を示すタイムスタンプを準
備しておき、ページ単位にそのレコードIDもしくはタイ
ムスタンプの初期値と最終値を管理する領域を用意す
る。データファイルのレコードのうち、ある特定時期の
データのみを処理対象としたいような場合、このレコー
ドIDもしくはタイムスタンプの範囲を指定して、各ペー
ジのレコードIDもしくはタイムスタンプの初期値/最終
値と比較し、処理対象となるレコードがそのページに含
まれるかどうかの判断を行い、含まれるならばそのペー
ジに含まれるレコードを処理し、含まれないならばその
ページは処理対象からはずれる。例えば、過去3年分の
レコードを格納しているデータファイルに対して、昨年
10月のレコードのみを処理対象とする場合、タイムス
タンプの比較により、昨年10月分のレコードを含むペ
ージのみを処理対象とする。
【0045】図20はページ単位のレコードIDによる選
択処理を示す処理フローである。図において、指定レコ
ードIDがそのページの最大値以下か判断し(ステップS
11)、次に指定レコードIDがそのページの最小値以上
か判断する(ステップS12)。ステップS11とS1
2の条件を満たすページを処理対象とする(ステップS
13)。以上の処理を全てのページについて行うことに
より検索を終了する。このように、レコードの投入時期
を条件とする選択処理がページ単位で可能になるため、
レコードの選択処理の処理効率が向上する。
【0046】実施の形態9.実際にページをディスク装
置上に実装する場合、ページ単位に計算機システムのオ
ペレーティングシステムの提供するファイルシステムの
ひとつのファイルとして実装する。1ページを1ファイ
ルとする、もしくは複数のページを1ファイルとする。
このように、ひとつのデータファイルを複数のファイル
に分割して管理することで、データファイルの部分的な
削除などの処理が容易となる。例えば、図21は実施の
形態9の処理方法を示すもので、過去3年分のデータフ
ァイルのもっとも古い1年分のレコードを含むページを
削除する場合、削除対象のページを含むディスク装置の
みを選択し、かつ並列処理により削除するので、データ
ファイルの部分的な削除などの高速処理が可能となる。
【0047】実施の形態10.図22は実施の形態10
の処理方法を示す図である。図に示すように、データフ
ァイルを分割して管理する各ファイルの中に含まれるレ
コードについて、各フィールドの最大値/最小値を管理
する領域を用意する。最大値を管理する領域は、そのフ
ァイル中のすべてのレコードの中での最大値を持つフィ
ールドの組み合わせで構成され、最小値を管理する領域
は、そのファイル中のすべてのレコードの中での最小値
を持つフィールドの組み合わせで構成される。あるフィ
ールドの値でレコードを選択するような処理において、
この最大値/最小値のフィールドとその値を比較するこ
とで、選択対象となるレコードがそのファイルに含まれ
るかどうかの判断を行い、含まれるならばそのファイル
に含まれるレコードを検索し、含まれないならばそのフ
ァイルは処理対象からはずれる。このように、レコード
のフィールドの値に対する条件による選択処理がファイ
ル単位で可能になるため、レコードの選択処理の処理効
率が向上する。
【0048】実施の形態11.図23は実施の形態11
の処理方法を示す図である。図に示すように、レコード
の投入順序を示すレコードIDもしくは投入時刻を示すタ
イムスタンプを準備しておき、データファイルを分割し
て管理するファイル単位にそのレコードIDもしくはタイ
ムスタンプの初期値と最終値を管理する領域を用意す
る。データファイルのレコードのうち、ある特定時期の
データのみを処理対象としたいような場合、このレコー
ドIDもしくはタイムスタンプの範囲を指定して、各ファ
イルのレコードIDもしくはタイムスタンプの初期値/最
終値と比較し、処理対象となるレコードがそのファイル
に含まれるかどうかの判断を行い、含まれるならばその
ファイルに含まれるレコードを処理し、含まれないなら
ばそのファイルは処理対象からはずれる。例えば、過去
3年分のレコードを格納しているデータファイルに対し
て、昨年10月のレコードのみを処理対象とする場合、
タイムスタンプの比較により、昨年10月分のレコード
を含むファイルのみを処理対象とすることができる。こ
のように、レコードの投入時期を条件とする選択処理が
ファイル単位で可能になるため、レコードの選択処理の
処理効率が向上する。
【0049】
【発明の効果】この発明は、以上説明したように構成さ
れているので、以下に示すような効果を奏する。
【0050】フィールドの予め設定した一定件数を上記
元ファイルから分割してブロックとし、それらの分割し
た各ブロックを全て連結してグループに再編成するよう
に構成したので、ディスク装置から処理に必要なフィー
ルドを含む部分のみを読み出すことができ、処理の高速
化を実現することができる。
【0051】また、レコード全体を固定長フィールドと
した後上記元ファイルから分割してブロックとするよう
に構成したので、フィールドの取り扱いを容易にし、処
理の高速化を実現することができる。
【0052】らさに、レコードの隣接する1又は複数の
フィールドをまとめて固定長フィールドに変更するよう
に構成したので、隣接するフィールドを連続して読み出
すことができるので、処理の高速化を実現することがで
きる。
【0053】また、レコードの先頭位置から固定値にて
順次フィールドを形成し上記レコード全体を固定長フィ
ールドとするように構成したので、フィールド定義の変
更に際しても、データファイルの再分割を不要にするこ
とができる。
【0054】さらにまた、ブロック内のレコード順を各
ブロックごとに変更するように構成したので、アクセス
の偏りを回避することができる。
【0055】また、ブロック内のレコード開始位置を各
ブロックごとに変更するように構成したので、アクセス
の偏りを回避することができる。
【0056】さらに、グループ内の上記ブロックの連結
順を各グループごとに変更するように構成したので、ア
クセスの偏りを回避することができる。
【0057】また、ブロックの内同時にアクセスされる
可能性の高いブロックを隣接して配置するように構成し
たので、隣接するフィールドを連続して読み出すことが
でき、処理の高速化を実現することができる。
【0058】さらにまた、グループを予め設定した一定
数ごとに複数のディスク装置に格納し、元ファイルへの
アクセスに対し上記各ディスク装置を並列してアクセス
するように構成したので、ディスク装置から読み出すデ
ータ量を減らし、処理の高速化を実現することができ
る。
【0059】また、グループごとに上記レコードのフィ
ールド値の最大値又は最小値を求めることによりレコー
ドを検索するように構成したので、不要なページのアク
セスを省くことができ、検索処理を高速化することが可
能となる。
【0060】レコードの投入順序又は投入時期を示す識
別子を上記レコードに付すように構成したので、不要な
ページのアクセスを省くことができ、検索処理を高速化
することが可能となる。
【図面の簡単な説明】
【図1】 この発明の実施の形態1の転置ファイルの生
成方法を示す模式図である。
【図2】 この発明の実施の形態1の必要なブロックの
みを読み出して入出力バッファに格納することを示す模
式図である。
【図3】 この発明の実施の形態2の固定境界フォーマ
ットを示すファイルレイアウト図である。
【図4】 この発明の実施の形態2の隣接する複数のフ
ィールドをまとめて固定長フィールドに変更する方法を
示す模式図である。
【図5】 この発明の実施の形態3のレコードフォーマ
ットを分割する様子を示す模式図である。
【図6】 この発明の実施の形態3のレコードフォーマ
ットを分割する様子を示す模式図である。
【図7】 この発明の実施の形態3の確保した領域に1
レコード追加する場合の手順を示すフローチャートであ
る。
【図8】 この発明の実施の形態3の確保した領域に1
レコード追加する場合の手順を示す模式図である。
【図9】 この発明の実施の形態3の確保した領域に複
数レコードを一度に追加する場合の手順を示す模式図で
ある。
【図10】 この発明の実施の形態3の分割して格納さ
れたデータを読み出す時の手順を示す模式図である。
【図11】 この発明の実施の形態4の転置ファイル内
の各ブロックの構成を示すファイルレイアウト図であ
る。
【図12】 この発明の実施の形態5の転置ファイルの
生成方法を示す模式図である。
【図13】 この発明の実施の形態6の転置ファイルに
おけるページ単位の処理方法を示す模式図である。
【図14】 この発明の実施の形態6のデータファイル
を構成するページをディスク装置に分配する様子を示す
模式図である。
【図15】 この発明の実施の形態6のレコード長に応
じてブロックのサイズを変える様子を示す模式図であ
る。
【図16】 この発明の実施の形態7のレコードの実装
方法を示す模式図である。
【図17】 この発明の実施の形態7の最大値/最小値
を用いたレコードの実装方法を示す模式図である。
【図18】 この発明の実施の形態7の最大値/最小値
を用いたレコードの実装方法を示すフローチャートであ
る。
【図19】 この発明の実施の形態8の処理方法を示す
模式図である。
【図20】 この発明の実施の形態8の処理方法を示す
フローチャートである。
【図21】 この発明の実施の形態9のデータファイル
の部分的な削除を示す模式図である。
【図22】 この発明の実施の形態10の処理方法を示
す模式図である。
【図23】 この発明の実施の形態11の処理方法を示
す模式図である。
【図24】 従来例のファイル管理方法を示す模式図で
ある。
【図25】 従来例のフィールドを切り出す処理を示す
模式図である。
【符号の説明】
1 元ファイル、2 フィールド、3 レコード、4
ブロック、5 グループ、6 転置ファィル。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 早川 孝之 東京都千代田区丸の内二丁目2番3号 三 菱電機株式会社内 (72)発明者 吉村 啓二 東京都千代田区丸の内二丁目2番3号 三 菱電機株式会社内

Claims (11)

    【特許請求の範囲】
  1. 【請求項1】 複数のフィールドから構成されるレコー
    ドを複数格納した元ファイルから上記フィールドの予め
    設定した一定件数を上記元ファイルから分割してブロッ
    クとし、それらの分割した各ブロックを全て連結してグ
    ループに再編成し、上記レコードの全件について上記グ
    ループに再編成後それらのグループを連結して転置ファ
    イルを生成し、その転置ファイルからランダムにアクセ
    スすることを特徴とするファイル管理方法。
  2. 【請求項2】 上記レコードの各フイールドをフィール
    ドごとに1又は複数の固定長フィールドに変更し上記レ
    コード全体を固定長フィールドとした後上記元ファイル
    から分割してブロックとすることを特徴とする請求項1
    記載のファイル管理方法。
  3. 【請求項3】 上記レコードの隣接する1又は複数のフ
    ィールドをまとめて固定長フィールドに変更することを
    特徴とする請求項2記載のファイル管理方法。
  4. 【請求項4】 上記レコードの先頭位置から固定値にて
    順次フィールドを形成し上記レコード全体を固定長フィ
    ールドとした後上記元ファイルから分割してブロックと
    することを特徴とする請求項1記載のファイル管理方
    法。
  5. 【請求項5】 上記ブロック内のレコード順を各ブロッ
    クごとに変更することを特徴とする請求項1〜請求項4
    のいずれかに記載のファイル管理方法。
  6. 【請求項6】 上記ブロック内のレコード開始位置を各
    ブロックごとに変更し上記ブロック内のレコードはラッ
    プアラウンドにて構成することを特徴とする請求項5記
    載のファイル管理方法。
  7. 【請求項7】 上記グループ内の上記ブロックの連結順
    を各グループごとに変更することを特徴とする請求項1
    〜請求項6のいずれかに記載のファイル管理方法。
  8. 【請求項8】 上記ブロックの内同時にアクセスされる
    可能性の高いブロックを隣接して配置することを特徴と
    する請求項7記載のファイル管理方法。
  9. 【請求項9】 複数のフィールドから構成されるレコー
    ドを複数格納した元ファイルから選択した上記フィール
    ドの予め設定した一定件数を上記元ファイルから分割し
    てブロックとし、それらの分割した各ブロックを全て連
    結してグループに再編成し、それらのグループを予め設
    定した一定数ごとに複数のディスク装置に格納し、上記
    元ファイルへのアクセスに対し上記各ディスク装置を並
    列してアクセスすることを特徴とするファイル管理方
    法。
  10. 【請求項10】 上記グループごとに上記レコードのフ
    ィールド値の最大値又は最小値を求めることによりレコ
    ードを検索することを特徴とする請求項9記載のファイ
    ル管理方法。
  11. 【請求項11】 上記レコードの投入順序又は投入時期
    を示す識別子を上記レコードに付し、上記グループごと
    に上記識別子の最大値又は最小値を求めることによりレ
    コードを検索することを特徴とする請求項9又は請求項
    10に記載のファイル管理方法。
JP9319527A 1997-11-20 1997-11-20 ファイル管理方法 Expired - Lifetime JP3024619B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP9319527A JP3024619B2 (ja) 1997-11-20 1997-11-20 ファイル管理方法
TW087118635A TW392113B (en) 1997-11-20 1998-11-09 File management method
EP98121286A EP0921527A3 (en) 1997-11-20 1998-11-09 File managing method
US09/188,307 US6289359B1 (en) 1997-11-20 1998-11-10 File managing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9319527A JP3024619B2 (ja) 1997-11-20 1997-11-20 ファイル管理方法

Publications (2)

Publication Number Publication Date
JPH11154155A true JPH11154155A (ja) 1999-06-08
JP3024619B2 JP3024619B2 (ja) 2000-03-21

Family

ID=18111240

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9319527A Expired - Lifetime JP3024619B2 (ja) 1997-11-20 1997-11-20 ファイル管理方法

Country Status (4)

Country Link
US (1) US6289359B1 (ja)
EP (1) EP0921527A3 (ja)
JP (1) JP3024619B2 (ja)
TW (1) TW392113B (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001043237A (ja) * 1999-07-30 2001-02-16 Mitsubishi Electric Corp データファイル及びデータ検索方法
JP2001101041A (ja) * 1999-09-29 2001-04-13 Mitsubishi Electric Corp データ管理装置およびデータ管理方法
US8959122B2 (en) 2010-03-08 2015-02-17 Hitachi, Ltd. Data processing device
US9317205B2 (en) 2012-03-16 2016-04-19 Hitachi, Ltd. Information processing system and control method thereof

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4251726B2 (ja) * 1999-07-08 2009-04-08 三菱電機株式会社 ファイル管理方法
US20030173269A1 (en) * 2002-03-01 2003-09-18 Heinz-Gerhard Breden Sorting data with long SORT fields
US8112399B2 (en) * 2005-11-07 2012-02-07 International Business Machines Corporation Method and apparatus for configurable data aggregation in a data warehouse
US8738565B2 (en) * 2005-11-07 2014-05-27 International Business Machines Corporation Collecting data from data sources
US20070112876A1 (en) * 2005-11-07 2007-05-17 Blaisdell Russell C Method and apparatus for pruning data in a data warehouse
EP2453250B1 (en) 2009-06-30 2019-06-12 Aspect Imaging Ltd. A cage in an magnetic resonance device with a fastening/attenuating system
JP5544118B2 (ja) * 2009-06-30 2014-07-09 株式会社日立製作所 データ処理装置、及び処理方法
US11278461B2 (en) 2010-07-07 2022-03-22 Aspect Imaging Ltd. Devices and methods for a neonate incubator, capsule and cart
US10076266B2 (en) 2010-07-07 2018-09-18 Aspect Imaging Ltd. Devices and methods for a neonate incubator, capsule and cart
US11988730B2 (en) 2016-08-08 2024-05-21 Aspect Imaging Ltd. Device, system and method for obtaining a magnetic measurement with permanent magnets
US11287497B2 (en) 2016-08-08 2022-03-29 Aspect Imaging Ltd. Device, system and method for obtaining a magnetic measurement with permanent magnets
US10224135B2 (en) 2016-08-08 2019-03-05 Aspect Imaging Ltd. Device, system and method for obtaining a magnetic measurement with permanent magnets
US10847294B2 (en) 2017-07-10 2020-11-24 Aspect Imaging Ltd. System for generating a magnetic field
CN112241238B (zh) * 2019-07-18 2023-12-05 深圳市茁壮网络股份有限公司 一种数据异常处理方法、装置、存储介质和计算机设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63318628A (ja) * 1987-06-23 1988-12-27 Mitsubishi Electric Corp データベース管理システム
JPH04337867A (ja) * 1991-05-15 1992-11-25 Nec Corp データベース検索システム

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5247665A (en) * 1988-09-30 1993-09-21 Kabushiki Kaisha Toshiba Data base processing apparatus using relational operation processing
US5327341A (en) * 1991-10-28 1994-07-05 Whalen Edward J Computerized file maintenance system for managing medical records including narrative reports
JP3609841B2 (ja) * 1992-11-25 2005-01-12 富士通株式会社 ファイル管理装置
JPH06176074A (ja) 1992-12-08 1994-06-24 Toshiba Corp データ処理装置
US5991753A (en) * 1993-06-16 1999-11-23 Lachman Technology, Inc. Method and system for computer file management, including file migration, special handling, and associating extended attributes with files
US5499358A (en) * 1993-12-10 1996-03-12 Novell, Inc. Method for storing a database in extended attributes of a file system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63318628A (ja) * 1987-06-23 1988-12-27 Mitsubishi Electric Corp データベース管理システム
JPH04337867A (ja) * 1991-05-15 1992-11-25 Nec Corp データベース検索システム

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001043237A (ja) * 1999-07-30 2001-02-16 Mitsubishi Electric Corp データファイル及びデータ検索方法
JP2001101041A (ja) * 1999-09-29 2001-04-13 Mitsubishi Electric Corp データ管理装置およびデータ管理方法
US6725225B1 (en) 1999-09-29 2004-04-20 Mitsubishi Denki Kabushiki Kaisha Data management apparatus and method for efficiently generating a blocked transposed file and converting that file using a stored compression method
US8959122B2 (en) 2010-03-08 2015-02-17 Hitachi, Ltd. Data processing device
US9317205B2 (en) 2012-03-16 2016-04-19 Hitachi, Ltd. Information processing system and control method thereof

Also Published As

Publication number Publication date
EP0921527A2 (en) 1999-06-09
JP3024619B2 (ja) 2000-03-21
EP0921527A3 (en) 2006-08-30
US6289359B1 (en) 2001-09-11
TW392113B (en) 2000-06-01

Similar Documents

Publication Publication Date Title
JP3024619B2 (ja) ファイル管理方法
EP0772836B1 (en) A method for storing and retrieving data and a memory arrangement
US5408654A (en) Method to reorganize an index file without sorting by changing the physical order of pages to match the logical order determined from the index structure
US20040205044A1 (en) Method for storing inverted index, method for on-line updating the same and inverted index mechanism
CN110196847A (zh) 数据处理方法和装置、存储介质及电子装置
CN105320775A (zh) 数据的存取方法和装置
JPH0628226A (ja) データ処理方法および装置
JPH0916607A (ja) データベース管理システムにおけるインデクス管理方法
CN107766374B (zh) 一种海量小文件存储读取的优化方法和系统
CN103914483B (zh) 文件存储方法、装置及文件读取方法、装置
CN116881243A (zh) 基于时间序列数据特征的学习型索引方法及系统
Ramamohanarao et al. Recursive linear hashing
JPH08129551A (ja) ハッシュ方式
WO2023274197A1 (zh) 一种操作请求处理方法及相关装置
JP3563823B2 (ja) 文書管理装置
CN116756253B (zh) 关系型数据库的数据存储、查询方法、装置、设备和介质
JP2006092409A (ja) 複合データベース検索システムおよび複合データベース検索方法ならびにそのためのプログラム
JP2874810B2 (ja) キーの記憶割り当て方法
CN116048408B (zh) 一种基于持久性内存的跳表结构及其访问方法
JP2679761B2 (ja) データ管理システム
CN118708549B (zh) 支持富元数据管理的文件系统及其实现富元数据服务的方法
JPH04112253A (ja) 多層バッファを用いるデータアクセス方法
JP2618029B2 (ja) インデクス付きファイルの分割処理方法
CN121070922A (zh) 一种基于公式索引的值即日志数据库对象存储系统、存储方法、存储设备及存储介质
JPH0362137A (ja) 可変長ブロック群による長大データの格納方法

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080121

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20090121

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20100121

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20100121

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20110121

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20120121

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20130121

Year of fee payment: 13

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

Free format text: PAYMENT UNTIL: 20130121

Year of fee payment: 13

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term