JP7452031B2 - 情報処理装置,情報処理システム及びプログラム - Google Patents

情報処理装置,情報処理システム及びプログラム Download PDF

Info

Publication number
JP7452031B2
JP7452031B2 JP2020011201A JP2020011201A JP7452031B2 JP 7452031 B2 JP7452031 B2 JP 7452031B2 JP 2020011201 A JP2020011201 A JP 2020011201A JP 2020011201 A JP2020011201 A JP 2020011201A JP 7452031 B2 JP7452031 B2 JP 7452031B2
Authority
JP
Japan
Prior art keywords
data
wrap
written
order
time
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.)
Active
Application number
JP2020011201A
Other languages
English (en)
Other versions
JP2021118019A (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 JP2020011201A priority Critical patent/JP7452031B2/ja
Priority to US17/123,168 priority patent/US11789700B2/en
Publication of JP2021118019A publication Critical patent/JP2021118019A/ja
Application granted granted Critical
Publication of JP7452031B2 publication Critical patent/JP7452031B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/22Arrangements for sorting or merging computer data on continuous record carriers, e.g. tape, drum, disc
    • G06F7/24Sorting, i.e. extracting data from one or more carriers, rearranging the data in numerical or other ordered sequence, and rerecording the sorted data on the original carrier or on a different carrier or set of carriers sorting methods in general
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/76Arrangements for rearranging, permuting or selecting data according to predetermined rules, independently of the content of the data
    • G06F7/768Data position reversal, e.g. bit reversal, byte swapping
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B5/00Recording by magnetisation or demagnetisation of a record carrier; Reproducing by magnetic means; Record carriers therefor
    • G11B5/008Recording on, or reproducing or erasing from, magnetic tapes, sheets, e.g. cards, or wires
    • G11B5/00813Recording on, or reproducing or erasing from, magnetic tapes, sheets, e.g. cards, or wires magnetic tapes

Description

本発明は、情報処理装置,情報処理システム及びプログラムに関する。
無限に到来する時刻順のデータであるストリームデータは、テープドライブによってテープカートリッジ(「テープ媒体」と称されてもよい。)に記録される場合がある。
図1は、ストリームデータにおけるエントリを例示するテーブルである。
ストリームデータの最小単位は、エントリと称されてよい。エントリには、タイムスタンプ(図中のTime)と複数のフィールド(図中のC1, C2, …, C(j-1), Cj)とが対応付けられている。図1では、例えば、タイムスタンプt1に対して、複数のフィールドV11, V12, …, V1(j-1), V1jが対応付けられている。
図1に示すようなデータの例としては、複数のセンサを備えた機器から送信されてくるセンサデータがある。複数のフィールドのそれぞれが、各センサの値に対応する。
テープ媒体に蓄積されたストリームデータは、読み出されて、分析ジョブとして、統計処理や機械学習等が施される。
一般に、分析ジョブには、ストリームデータの一部のフィールドに限って使用される。例えば、図1に示した時刻t1~t2のストリームデータのうち、フィールドC1,C2に限って抽出する読み出し要求をSQL文で表すと、以下のようになる。
SELECT C1, C2 WHERE Time >= t1 AND Time < t2
特開2013-191259号公報 特開2015-88199号公報
図2は、関連例におけるテープ媒体へのエントリの記録順序の第1の例を示す図である。
図2に示すテープ媒体において、ストリームデータのエントリは、全時刻のタイムスタンプ(符号A1参照),全時刻のカラム#1(符号A2参照),全時刻のカラム#j(符号A3参照)の順で記録されている。全時刻のタイムスタンプはt1, t2, …, tiを含み、全時刻のカラム#1はV11, V21, …, Vi1を含み、全時刻のカラム#jはV1j, V2j, …, Vijを含む。
テープ媒体は、シーケンシャルアクセス性能が高いが、ランダムアクセス性能が低いメディアである。そのため、少数のカラムに限った読み出しを行なうことを前提とした場合には、図2に示すように、同一カラムをテープ媒体上の連続する領域に配置すると、各カラムの読み出しを高速に行なうことができる。
しかしながら、アーカイブノードにおいて受信されたストリームデータは、直ぐにテープ媒体に書き込まれるのではなく、一旦高速ストレージにバッファされる。そして、高速ストレージにテープ媒体1本分のデータがバッファされた後、データは、カラム順及び各カラム内の時刻順にソートされ、テープ媒体に書き込まれる。したがって、ソート前及びソート後の一時記録用に合計2つのバッファが用意される。また、このソート処理では大量のランダムI/Oが発行されるため、一時記録用のバッファとして大容量の高速ストレージが必要になる場合がある。
図3は、関連例におけるテープ媒体へのエントリの記録順序の第2の例を示す図である。
一方、小容量の高速ストレージを用意し、高速ストレージの容量がいっぱいになる度にソートしてテープ媒体に書き込む運用も想定できる。このような運用では、図3に示すような部分的に列指向フォーマットで書き込まれた領域(別言すれば、「断片化列指向データ」)が単一のテープ媒体に繰り返し現れる。図3では、簡単のため、高速ストレージが2レコード(別言すれば、「2時刻分の全カラム」)に限ってバッファ可能な場合のデータレイアウトが示されている。
符号B1で示す断片化列指向データには、エントリt1, t2, v11, v21, …, V1j, V2jが記録されている。また、符号B2で示す断片化列指向データには、エントリti-1, ti, V(i-1)1, Vi1, …, V(i-1)j, Vijが記録されている。
しかしながら、あるカラムについて、テープ媒体に格納された全時刻分のデータを読み込むためには、ある断片化列指向データの当該カラムを読み込んだ後、次の断片化列指向データの当該カラムまでシークが行なわれる。テープ媒体のシークは読み出しと同じくテープ媒体の巻き取りによって行なわれるので、シーク速度は読み出し速度と同程度となる。従って、断片化列指向データの間のヘッド移動をシークによって行なう場合には、テープ媒体全体を読み出すのと同等の時間がかかるため、部分的に列指向フォーマットで書き込むことによる読み出し処理の高速化は期待できない。
1つの側面では、シーケンシャル記録媒体において、一部のカラムに限った読み出しを行なう場合に、時系列を有するデータの読み出し時間を短縮することを目的とする。
1つの側面では、情報処理装置は、シーケンシャル記録媒体のラップ単位でバッファされているストリームデータを、前記シーケンシャル記録媒体における第1のラップに書き込む第1のデータとして、前記ストリームデータのカラム順且つ時刻順にソートするソート処理部と、前記ソート処理部によってソートされた前記第1のデータを前記第1のラップに書き込む制御を行なう書き込み制御部と、を備え、前記ソート処理部は、前記第1のラップに連続する第2のラップに書き込む第2のデータを、前記カラム順の逆順且つ時刻順にソートし、前記書き込み制御部は、前記ソート処理部によってソートされた前記第2のデータを前記第2のラップに書き込む制御を行ない、前記第1のデータを前記第1のラップに書き込む制御の前に、前記第1のラップにおいて前記第1のデータの開始時刻及び終了時刻を表す情報を書き込むと共に、前記第2のデータを前記第2のラップに書き込む制御の後に、前記第2のラップにおいて前記第2のデータの開始時刻及び終了時刻を表す情報を書き込む
1つの側面では、シーケンシャル記録媒体において、一部のカラムに限った読み出しを行なう場合に、時系列を有するデータの読み出し時間を短縮することができる。
ストリームデータにおけるエントリを例示するテーブルである。 関連例におけるテープ媒体へのエントリの記録順序の第1の例を示す図である。 関連例におけるテープ媒体へのエントリの記録順序の第2の例を示す図である。 実施形態の一例における情報処理システムの構成例を模式的に示すブロック図である。 図4に示したアーカイブノードにおけるハードウェア構成例を模式的に示すブロック図である。 図4に示したアーカイブノードにおけるソフトウェア構成例を模式的に示すブロック図である。 図4に示したテープ媒体におけるデータの記録順序を模式的に示す図である。 図4に示したテープ媒体におけるヘッドの移動方向を模式的に示す図である。 図4に示した情報処理システムにおけるデータ位置情報を例示する図である。 図4に示したテープ媒体におけるエントリの記録順序を模式的に示す図である。 図4に示した情報処理システムにおいて処理されるストリームデータを例示するテーブルである。 図4に示した情報処理システムにおける1ラップ目の書き込み処理を例示するテーブルである。 図4に示した情報処理システムにおける2ラップ目の書き込み処理を例示するテーブルである。 図4に示した情報処理システムにおける全ラップの書き込み処理を例示するテーブルである。 図4に示した情報処理システムにおける一部のカラムの書き込み処理を例示するテーブルである。 図4に示した情報処理システムにおけるストリームデータの書き込み処理を説明するフローチャートである。 図4に示した情報処理システムにおけるストリームデータの読み込み処理を説明するフローチャートである。
以下、図面を参照して一実施の形態を説明する。ただし、以下に示す実施形態はあくまでも例示に過ぎず、実施形態で明示しない種々の変形例や技術の適用を排除する意図はない。すなわち、本実施形態を、その趣旨を逸脱しない範囲で種々変形して実施することができる。
また、各図は、図中に示す構成要素のみを備えるという趣旨ではなく、他の機能等を含むことができる。
以下、図中において、同一の各符号は同様の部分を示しているので、その説明は省略する。
〔A〕実施形態の一例
〔A-1〕システム構成例
図4は、実施形態の一例における情報処理システム100の構成例を模式的に示すブロック図である。
情報処理システム100は、アーカイブノード1とストレージ装置とを含み、ストレージ装置は、ドライブ2、及び、複数のテープ媒体31を格納しロード/アンロードするロボットを含むテープライブラリ3を備える。
ドライブ2は、記録装置の一例であり、アーカイブノード1からのストリームデータをテープ媒体31に蓄積するためのテープドライブである。また、ドライブ2は、アーカイブノード1からの要求に係るストリームデータをテープ媒体31から読み出すためのテープドライブである。テープ媒体31は、磁気方式のシーケンシャル記録媒体である。ドライブ2は、シーケンシャル媒体記憶装置の一例である。
テープライブラリ3は、ドライブ2によってストリームデータが記録される複数のテープ媒体31を格納する。
アーカイブノード1は、サーバ機能を備えたコンピュータ(別言すれば、情報処理装置)である。アーカイブノード1は、第1バッファ部141及び第2バッファ部142を備える。アーカイブノード1の機能の詳細については、図5及び図6等を用いて後述する。
アーカイブノード1は、ネットワーク(不図示)から受信したストリームデータを第1バッファ部141に一時的に記録する。アーカイブノード1は、第1バッファ部141に一時的に記録したストリームデータをテープ媒体31に記録する順序に並び替えて、第2バッファ部142に一時的に記録する。
アーカイブノード1は、第2バッファ部142に記録されている並び替え後のデータをドライブ2内のテープ媒体31に書き込む(符号D1参照)。テープ媒体31の保存領域に空きがなくなると、テープ媒体31はドライブ2からアンロードされて、テープライブラリ3に格納される。そして、新しいテープ媒体31がドライブ2にロードされる。
アーカイブノード1は、分析ジョブによるストリームデータの読み出し要求を受け取ると(符号D2参照)、要求されたエントリ(別言すれば、フィールド)を格納しているテープ媒体31をドライブ2にマウントさせる(符号D3参照)。また、アーカイブノード1は、読み出したデータを分析ジョブに返す(符号D4参照)。
図5は、図4に示したアーカイブノード1におけるハードウェア構成例を模式的に示すブロック図である。
図5に示すように、アーカイブノード1は、CPU11,メモリ部12,表示制御部13,記憶装置14,入力Interface(IF)15,外部記録媒体処理部16及び通信IF17を備える。
メモリ部12は、記憶部の一例であり、例示的に、Read Only Memory(ROM)及びRandom Access Memory(RAM)などである。メモリ部12のROMには、Basic Input/Output System(BIOS)等のプログラムが書き込まれてよい。メモリ部12のソフトウェアプログラムは、CPU11に適宜に読み込まれて実行されてよい。また、メモリ部12のRAMは、一時記録メモリあるいはワーキングメモリとして利用されてよい。
表示制御部13は、表示装置130と接続され、表示装置130を制御する。表示装置130は、液晶ディスプレイやOrganic Light-Emitting Diode(OLED)ディスプレイ,Cathode Ray Tube(CRT),電子ペーパーディスプレイ等であり、オペレータ等に対する各種情報を表示する。表示装置130は、入力装置と組み合わされたものでもよく、例えば、タッチパネルでもよい。
記憶装置14は、高IO性能の記憶装置であり、例えば、Dynamic Random Access Memory(DRAM)やSolid State Drive(SSD),Storage Class Memory(SCM),Hard Disk Drive(HDD)が用いられてよい。記憶装置14の一部は、図4に示した第1バッファ部141及び第2バッファ部142として機能する。
入力IF15は、マウス151やキーボード152等の入力装置と接続され、マウス151やキーボード152等の入力装置を制御してよい。マウス151やキーボード152は、入力装置の一例であり、これらの入力装置を介して、オペレータが各種の入力操作を行なう。
外部記録媒体処理部16は、記録媒体160が装着可能に構成される。外部記録媒体処理部16は、記録媒体160が装着された状態において、記録媒体160に記録されている情報を読み取り可能に構成される。本例では、記録媒体160は、可搬性を有する。例えば、記録媒体160は、フレキシブルディスク、光ディスク、磁気ディスク、光磁気ディスク、又は、半導体メモリ等である。
通信IF17は、外部装置との通信を可能にするためのインタフェースである。
CPU11は、種々の制御や演算を行なう処理装置であり、メモリ12部に格納されたOperating System(OS)やプログラムを実行することにより、種々の機能を実現する。
アーカイブノード1全体の動作を制御するための装置は、CPU11に限定されず、例えば、MPUやDSP,ASIC,PLD,FPGAのいずれか1つであってもよい。また、アーカイブノード1全体の動作を制御するための装置は、CPU,MPU,DSP,ASIC,PLD及びFPGAのうちの2種類以上の組み合わせであってもよい。なお、MPUはMicro Processing Unitの略称であり、DSPはDigital Signal Processorの略称であり、ASICはApplication Specific Integrated Circuitの略称である。また、PLDはProgrammable Logic Deviceの略称であり、FPGAはField Programmable Gate Arrayの略称である。
図6は、図4に示したアーカイブノード1におけるソフトウェア構成例を模式的に示すブロック図である。
図6に示すように、アーカイブノード1は、ソート処理部111,書き込み制御部112及び読み出し制御部113として機能する。
ソート処理部111は、第1バッファ部141に記録されているストリームデータに含まれるエントリを所定の順序にソートして、第2バッファ部142に記録する。
別言すれば、ソート処理部111は、テープ媒体31のラップ単位でバッファされているストリームデータを、テープ媒体31における第1のラップに書き込む第1のデータとして、ストリームデータのカラム順且つ時刻順にソートする。また、ソート処理部111は、第1のラップに連続する第2のラップに書き込む第2のデータを、カラム順の逆順且つ時刻順にソートする。
書き込み制御部112は、第2バッファ部142に記録されているデータを、ソート処理部111によってソートされたエントリの順序に従って、ドライブ2においてテープ媒体31に書き込ませる。
別言すれば、書き込み制御部112は、ソート処理部111によってソートされた第1のデータを第1のラップに書き込む制御を行なう。また、書き込み制御部112は、ソート処理部111によってソートされた第2のデータを第2のラップに書き込む制御を行なう。
書き込み制御部112は、第1のラップにおいて最後に書き込むエントリと、第2のラップにおいて最初に書き込むエントリとが、ストリームデータにおける同一のカラムであり時刻が連続するように、第1のデータ及び第2のデータを書き込む制御を行なってよい。
読み出し制御部113は、読み出し要求に従って、テープ媒体31に記録されているデータを、ドライブ2に読み出させる。
図7は、図4に示したテープ媒体31におけるデータの記録順序を模式的に示す図である。
テープ媒体31は、ラップと称される物理構造を有する。テープ媒体31を先頭(符号E1参照)から末尾(符号E3参照)まで読み出す場合には、以下の(1-1)~(1-3)で示す処理が行なわれる。
(1-1)最初のラップが先頭(符号E1参照)から末尾(符号E2参照)までテープ媒体31の長手方向に読み出される。
(1-2)ヘッドがテープ媒体31の幅方向に移動され、テープ媒体31を逆方向に回転させながら次のラップが読み出される。
(1-3)上記の(1-1)及び(1-2)の処理を繰り返しつつ、最後のラップの末尾(符号E3参照)まで読み出される。
図8は、図4に示したテープ媒体31におけるヘッドの移動方向を模式的に示す図である。
図8に示す例において、ラップ#1の地点Aからラップ#2の地点Bへ移動する場合には、符号F1に示すようにヘッドはラップ#1の末尾まで移動する必要は無く、符号F2に示すようにヘッドは2点間の最短距離を移動することができる。
実施形態の一例においては、図8に示した特性を利用して、以下の(2-1)~(2-5)で示す処理によってテープ媒体31への書き込みが実施される。
(2-1)1ラップ分の容量を有する第1バッファ部141にストリームデータが書き込まれ、第1バッファ部141の容量がいっぱいになったら、ストリームデータがカラム順及び時刻順にソートされ第2バッファ部142に書き込まれる。
(2-2)ソート後のデータが第2バッファ部142からテープ媒体31に書き込まれる。この際に、テープ媒体31への書き込み開始位置は、ラップの先頭位置になるように調整される。
(2-3)空になった第1バッファ部141への書き込みが再開されて、第1バッファ部141の容量がいっぱいになったら、ストリームデータがカラム順及び時刻順にソートされ第2バッファ部142に書き込まれる。カラムのソート順は、上記(2-1)のソート順とは逆となる。つまり、前回のソートが昇順の場合には、今回のソートは降順となる。なお、時刻のソート順は常に昇順とされてよい。
(2-4)ソート後のデータが第2バッファ部142からテープ媒体31に書き込まれる。この際に、テープ媒体31への書き込み開始位置は、前回書き込んだラップの次のラップの先頭になっている。
(2-5)上記(2-1)~(2-4)の処理がテープ媒体31の容量がいっぱいになるまで繰り返される。
図9は、図4に示した情報処理システム100におけるデータ位置情報を例示する図である。図10は、図4に示したテープ媒体31におけるエントリの記録順序を模式的に示す図である。
データがテープ媒体31に書き込まれると同時に、図9に示すデータ位置情報が更新される。データ位置情報は、データが格納されているテープ媒体31上の位置を記録する。データ位置情報は、図5に示した記憶装置14に記憶されてよい。
図9に示す例において、カラム数は、Time, C1, C2, C3の4つである。
「開始時刻」及び「終了時刻」は、それぞれ、あるラップに格納されているストリームデータのうち最初のエントリのタイムスタンプと最後のエントリのタイムスタンプとを表す。
各カラムの「先頭アドレス」は、当該カラムのデータが格納されている領域の先頭アドレスを示し、論理アドレスで表されてよい。ここで、論理アドレスは、テープ先頭(別言すれば、「最初のラップの先頭」)からテープ末尾(別言すれば、「最後のラップの末尾」)までの間の一点を表す論理的なアドレスである。
各カラムの「サイズ」は、「開始時刻」から「終了時刻」までの間に生成された当該カラムのデータの合計サイズである。
従って、図9に示すデータ位置情報が保持される場合には、図10に示す順序でテープ媒体31にデータが記録される。
図10に示す破線矢印は、論理アドレスが増加する方向(別言すれば、「データを書き込む方向」)を示す。
ラップ#1には、時刻t1~t2に生成されたデータが変換されて格納される。また、ラップ#2には、時刻t2~t3に生成されたデータが変換されて格納される。
なお、各ラップに格納されるデータは、同一時間間隔で得られたデータではなく、第1バッファ部141及び第2バッファ部142の容量がいっぱいになったタイミングで得られたデータである。
例えば、ラップ#1には20時00分から20時30分までの30分間で取得されたデータが格納されてよく、ラップ#2には20時30分から21時15分までの45分間で取得されたデータが格納されてよい。すなわち、ラップ#1における単位時間あたりのデータサイズは、ラップ#2における単位時間あたりのデータサイズよりも大きくなっている。
このように、各ラップに格納されるデータ容量を同一にするため、各ラップに格納されるデータ時間が異なる場合がある。そこで、図9に示したように、各ラップに格納されているデータの「開始時刻」及び「終了時刻」が記録されることにより、読み出しアクセスに際に、どの時間帯のデータがどのラップに格納されているのかを識別することができる。
ただし、各カラム間のサイズ比率は、ラップに記録される時間帯及び時間の長さにかかわらず、一定である。各カラムのサイズ比率が一定であることにより、図10に示すように、同一カラムがラップ間を跨がってテープ媒体31の幅方向に同位置に配置される。
図11は、図4に示した情報処理システム100において処理されるストリームデータを例示するテーブルである。図12は、図4に示した情報処理システム100における1ラップ目の書き込み処理を例示するテーブルである。図13は、図4に示した情報処理システム100における2ラップ目の書き込み処理を例示するテーブルである。図14は、図4に示した情報処理システム100における全ラップの書き込み処理を例示するテーブルである。
まず、図11に示すようなTime, C1, C2, C3の4つのカラムを含むストリームデータを想定する。なお、テープ媒体31の1ラップには、4行分のデータ(別言すれば、16エントリ)を格納可能であるものとする。
図12の符号G1に示すように、ストリームデータは、第1バッファ部141において、行指向形式で格納される。第1バッファ部141の容量がいっぱいになったら、符号G2に示すように、行指向形式が列指向形式に変換されて、第2バッファ部142に格納される。そして、符号G3に示すように、第2バッファ部142の列指向形式のデータがテープ媒体31の1ラップ目に書き込まれる。1ラップ目では、図中の左方向から右方向へヘッドを動かし、t1, t2, t3, t4, V11, V21, V31, V41, V12, V22, V32, V42, V13, V23, V33, V43の順にデータが書き込まれる。
図13に示すように、2ラップ目では、1ラップ目とは逆方向にヘッドが動かされ、1ラップ目とはカラムが逆順に、カラム内のデータは時刻順にソートされて書き込まれる。すなわち、2ラップ目では、図中の右方向から左方向へヘッドが動かされ、V53, V63, V73, V83, V52, V62, V72, V82, V51, V61, V71, V81, t5, t6, t7, t8の順にデータが書き込まれる。
そして、図12及び図13に示した書き込み動作をテープ媒体31の容量がいっぱいになるまで繰り返すと、テープ媒体31上のデータレイアウトは図14に示すようになる。奇数ラップ目と偶数ラップ目とでは、逆方向にヘッドが動かされ、カラムが逆順に書き込まれる。
図15は、図4に示した情報処理システム100における一部のカラムの書き込み処理を例示するテーブルである。
ヘッドがテープ媒体31の先頭にあるとして、テープ媒体31から図11に示したカラムc1の全てのデータV11~V32_1が読み出される場合には、ヘッドの動きは図15に示すようになる。
すなわち、同一カラムを読み出す場合のヘッドの移動量を最低限にして読み出しを高速化できるとともに、バッファに必要な高速ストレージの容量をラップ2本分に抑えることができる。
〔A-2〕動作例
図4に示した情報処理システム100におけるストリームデータの書き込み処理を、図16に示すフローチャート(ステップS1~S6)を用いて説明する。
ソート処理部111は、ストリームデータを第1バッファ部141に格納する(ステップS1)。
ソート処理部111は、第1バッファ部141の容量がいっぱいかを判定する(ステップS2)。
第1バッファ部141の容量がいっぱいでない場合には(ステップS2のNOルート参照)、処理はステップS1へ戻る。
一方、第1バッファ部141の容量がいっぱいの場合には(ステップS2のYESルート参照)、処理はステップS3へ進む。すなわち、ソート処理部111は、第1バッファ部141のデータをカラム毎にグループ化し、前回のソート時とは逆順にソートし、第2バッファ部142にデータを書き込む(ステップS3)。
ソート処理部111は、第1バッファ部141を空にする(ステップS4)。
書き込み制御部112は、第2バッファ部142のデータをテープ媒体31に書き込み、第2バッファ部142を空にする(ステップS5)。
書き込み制御部112は、テープ媒体31への書き込み結果に基づき、データ位置情報を更新する(ステップS6)。そして、ストリームデータの書き込み処理は終了する。
次に、図4に示した情報処理システム100におけるストリームデータの読み込み処理を、図17に示すフローチャート(ステップS11~S14)を用いて説明する。
読み出し制御部113は、読み出し要求を受け取ると、読み出し要求がアクセスするカラム群(「アクセスカラム群」と称されてよい。)とアクセスする時間帯(「アクセス時間帯」と称されてよい。)とを抽出する(ステップS11)。
読み出し制御部113は、アクセスカラム群の全カラムを読み出したかを判定する(ステップS12)。
アクセスカラム群の全カラムを読み出した場合には(ステップS12のYESルート参照)、ストリームデータの読み込み処理は終了する。
一方、アクセスカラム群でまだ読み出していないカラムがある場合には(ステップS12のNOルート参照)、読み出し制御部113は、アクセスカラム群からカラムを1つ選択する(ステップS13)。
読み出し制御部113は、データ位置情報を参照し、アクセスする時間帯を含む全カラム断片を読み出す(ステップS14)。そして、処理はステップS12へ戻る。
〔A-3〕効果
ソート処理部111は、テープ媒体31のラップ単位でバッファされているストリームデータを、テープ媒体31における第1のラップに書き込む第1のデータとして、ストリームデータのカラム順且つ時刻順にソートする。書き込み制御部112は、ソート処理部111によってソートされた第1のデータを第1のラップに書き込む制御を行なう。ソート処理部111は、第1のラップに連続する第2のラップに書き込む第2のデータを、カラム順の逆順且つ時刻順にソートする。書き込み制御部112は、ソート処理部111によってソートされた第2のデータを第2のラップに書き込む制御を行なう。
これにより、シーケンシャル記録媒体において、一部のカラムに限った読み出しを行なう場合に、時系列を有するデータの読み出し時間を短縮できる。
書き込み制御部112は、第1のラップにおいて最後に書き込むエントリと、第2のラップにおいて最初に書き込むエントリとが、ストリームデータにおける同一のカラムであり時刻が連続するように、第1のデータ及び第2のデータを書き込む制御を行なう。
これにより、単一のカラム内のデータを読み出す際におけるヘッドの移動量を最小限にすることができる。
〔B〕その他
開示の技術は上述した実施形態に限定されるものではなく、本実施形態の趣旨を逸脱しない範囲で種々変形して実施することができる。本実施形態の各構成及び各処理は、必要に応じて取捨選択することができ、あるいは適宜組み合わせてもよい。
上述した実施形態の一例においては、情報処理システム100がストリームデータを記憶する記録媒体としてテープ媒体31を備えることとしたが、これに限定されるものではない。情報処理システム100は種々のシーケンシャル記録媒体を備えてよい。種々のシーケンシャル記録媒体としては、例えば、CD,DVD,ブルーレイディスク等の光ディスクであってもよい。CDにはCD-ROM,CD-R,CD-RW等が含まれてよく、DVDにはDVD-ROM,DVD-RAM,DVD-R,DVD+R,DVD-RW,DVD+RW,HD DVD等が含まれてよい。
このように、ストリームデータがそれぞれのシーケンシャル記録媒体に記憶されていることにより、上述した実施形態の一例における効果を特に期待することができる。
〔C〕付記
以上の実施形態に関し、更に以下の付記を開示する。
(付記1)
シーケンシャル記録媒体のラップ単位でバッファされているストリームデータを、前記シーケンシャル記録媒体における第1のラップに書き込む第1のデータとして、前記ストリームデータのカラム順且つ時刻順にソートするソート処理部と、
前記ソート処理部によってソートされた前記第1のデータを前記第1のラップに書き込む制御を行なう書き込み制御部と、
を備え、
前記ソート処理部は、前記第1のラップに連続する第2のラップに書き込む第2のデータを、前記カラム順の逆順且つ時刻順にソートし、
前記書き込み制御部は、前記ソート処理部によってソートされた前記第2のデータを前記第2のラップに書き込む制御を行なう、
情報処理装置。
(付記2)
前記書き込み制御部は、前記第1のデータのうち前記第1のラップにおいて最後に書き込むエントリと、前記第2のデータのうち前記第2のラップにおいて最初に書き込むエントリとが、前記ストリームデータにおける同一のカラムであり時刻が連続するように、前記第1のデータ及び前記第2のデータを書き込む制御を行なう、
付記1に記載の情報処理装置。
(付記3)
情報処理装置と、
前記情報処理装置による制御に従って、シーケンシャル記録媒体にデータを書き込む記録装置と、
を備え、
前記情報処理装置は、
前記シーケンシャル記録媒体のラップ単位でバッファされているストリームデータを、前記シーケンシャル記録媒体における第1のラップに書き込む第1のデータとして、前記ストリームデータのカラム順且つ時刻順にソートするソート処理部と、
前記ソート処理部によってソートされた前記第1のデータを前記第1のラップに書き込む制御を行なう書き込み制御部と、
を備え、
前記ソート処理部は、前記第1のラップに連続する第2のラップに書き込む第2のデータを、前記カラム順の逆順且つ時刻順にソートし、
前記書き込み制御部は、前記ソート処理部によってソートされた前記第2のデータを前記第2のラップに書き込む制御を行なう、
情報処理システム。
(付記4)
前記書き込み制御部は、前記第1のデータのうち前記第1のラップにおいて最後に書き込むエントリと、前記第2のデータのうち前記第2のラップにおいて最初に書き込むエントリとが、前記ストリームデータにおける同一のカラムであり時刻が連続するように、前記第1のデータ及び前記第2のデータを書き込む制御を行なう、
付記3に記載の情報処理システム。
(付記5)
コンピュータに、
シーケンシャル記録媒体のラップ単位でバッファされているストリームデータを、前記シーケンシャル記録媒体における第1のラップに書き込む第1のデータとして、前記ストリームデータのカラム順且つ時刻順にソートし、
ソートされた前記第1のデータを前記第1のラップに書き込む制御を行ない、
前記第1のラップに連続する第2のラップに書き込む第2のデータを、前記カラム順の逆順且つ時刻順にソートし、
ソートされた前記第2のデータを前記第2のラップに書き込む制御を行なう、
処理を実行させる、プログラム。
(付記6)
前記第1のデータのうち前記第1のラップにおいて最後に書き込むエントリと、前記第2のデータのうち前記第2のラップにおいて最初に書き込むエントリとが、前記ストリームデータにおける同一のカラムであり時刻が連続するように、前記第1のデータ及び前記第2のデータを書き込む制御を行なう、
処理を前記コンピュータに実行させる、付記5に記載のプログラム。
100 :情報処理システム
1 :アーカイブノード
2 :ドライブ
3 :テープライブラリ
11 :CPU
111 :ソート処理部
112 :書き込み制御部
113 :読み出し制御部
12 :メモリ部
13 :表示制御部
130 :表示装置
14 :記憶装置
141 :第1バッファ部
142 :第2バッファ部
15 :入力IF
151 :マウス
152 :キーボード
16 :外部記録媒体処理部
160 :記録媒体
17 :通信IF
31 :テープ媒体

Claims (4)

  1. シーケンシャル記録媒体のラップ単位でバッファされているストリームデータを、前記シーケンシャル記録媒体における第1のラップに書き込む第1のデータとして、前記ストリームデータのカラム順且つ時刻順にソートするソート処理部と、
    前記ソート処理部によってソートされた前記第1のデータを前記第1のラップに書き込む制御を行なう書き込み制御部と、
    を備え、
    前記ソート処理部は、前記第1のラップに連続する第2のラップに書き込む第2のデータを、前記カラム順の逆順且つ時刻順にソートし、
    前記書き込み制御部は、
    前記ソート処理部によってソートされた前記第2のデータを前記第2のラップに書き込む制御を行ない、
    前記第1のデータを前記第1のラップに書き込む制御の前に、前記第1のラップにおいて前記第1のデータの開始時刻及び終了時刻を表す情報を書き込むと共に、前記第2のデータを前記第2のラップに書き込む制御の後に、前記第2のラップにおいて前記第2のデータの開始時刻及び終了時刻を表す情報を書き込む
    情報処理装置。
  2. 前記書き込み制御部は、前記第1のデータのうち前記第1のラップにおいて最後に書き込むエントリと、前記第2のデータのうち前記第2のラップにおいて最初に書き込むエントリとが、前記ストリームデータにおける同一のカラムであり時刻が連続するように、前記第1のデータ及び前記第2のデータを書き込む制御を行なう、
    請求項1に記載の情報処理装置。
  3. 情報処理装置と、
    前記情報処理装置による制御に従って、シーケンシャル記録媒体にデータを書き込む記録装置と、
    を備え、
    前記情報処理装置は、
    前記シーケンシャル記録媒体のラップ単位でバッファされているストリームデータを、前記シーケンシャル記録媒体における第1のラップに書き込む第1のデータとして、前記ストリームデータのカラム順且つ時刻順にソートするソート処理部と、
    前記ソート処理部によってソートされた前記第1のデータを前記第1のラップに書き込む制御を行なう書き込み制御部と、
    を備え、
    前記ソート処理部は、前記第1のラップに連続する第2のラップに書き込む第2のデータを、前記カラム順の逆順且つ時刻順にソートし、
    前記書き込み制御部は、
    前記ソート処理部によってソートされた前記第2のデータを前記第2のラップに書き込む制御を行ない、
    前記第1のデータを前記第1のラップに書き込む制御の前に、前記第1のラップにおいて前記第1のデータの開始時刻及び終了時刻を表す情報を書き込むと共に、前記第2のデータを前記第2のラップに書き込む制御の後に、前記第2のラップにおいて前記第2のデータの開始時刻及び終了時刻を表す情報を書き込む
    情報処理システム。
  4. コンピュータに、
    シーケンシャル記録媒体のラップ単位でバッファされているストリームデータを、前記シーケンシャル記録媒体における第1のラップに書き込む第1のデータとして、前記ストリームデータのカラム順且つ時刻順にソートし、
    ソートされた前記第1のデータを前記第1のラップに書き込む制御を行ない、
    前記第1のラップに連続する第2のラップに書き込む第2のデータを、前記カラム順の逆順且つ時刻順にソートし、
    ソートされた前記第2のデータを前記第2のラップに書き込む制御を行ない、
    前記第1のデータを前記第1のラップに書き込む制御の前に、前記第1のラップにおいて前記第1のデータの開始時刻及び終了時刻を表す情報を書き込むと共に、前記第2のデータを前記第2のラップに書き込む制御の後に、前記第2のラップにおいて前記第2のデータの開始時刻及び終了時刻を表す情報を書き込む
    処理を実行させる、プログラム。
JP2020011201A 2020-01-27 2020-01-27 情報処理装置,情報処理システム及びプログラム Active JP7452031B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2020011201A JP7452031B2 (ja) 2020-01-27 2020-01-27 情報処理装置,情報処理システム及びプログラム
US17/123,168 US11789700B2 (en) 2020-01-27 2020-12-16 Information processing device, information processing system, and non-transitory computer-readable storage medium for storing program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020011201A JP7452031B2 (ja) 2020-01-27 2020-01-27 情報処理装置,情報処理システム及びプログラム

Publications (2)

Publication Number Publication Date
JP2021118019A JP2021118019A (ja) 2021-08-10
JP7452031B2 true JP7452031B2 (ja) 2024-03-19

Family

ID=76970045

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020011201A Active JP7452031B2 (ja) 2020-01-27 2020-01-27 情報処理装置,情報処理システム及びプログラム

Country Status (2)

Country Link
US (1) US11789700B2 (ja)
JP (1) JP7452031B2 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130166554A1 (en) 2011-12-22 2013-06-27 Sap Ag Hybrid Database Table Stored as Both Row and Column Store
JP2013191259A (ja) 2012-03-15 2013-09-26 Internatl Business Mach Corp <Ibm> テープドライブでのデータ書き込み方法、プログラム
JP2014063550A (ja) 2012-09-21 2014-04-10 International Business Maschines Corporation テープ記録装置のデータ書込みを制御する装置、方法及びプログラム
JP2015195067A (ja) 2014-03-31 2015-11-05 富士通株式会社 記憶装置、データ記憶プログラム、およびデータ記憶方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5623608A (en) 1994-11-14 1997-04-22 International Business Machines Corporation Method and apparatus for adaptive circular predictive buffer management
JP3672851B2 (ja) 2001-07-13 2005-07-20 白山工業株式会社 物理探査のためのデータ収集システム及び方法
JP2015088199A (ja) 2013-10-29 2015-05-07 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation テープメディア上に複数のアクセスパターンを持つデータの書き込み、及び、読み出し

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130166554A1 (en) 2011-12-22 2013-06-27 Sap Ag Hybrid Database Table Stored as Both Row and Column Store
JP2013191259A (ja) 2012-03-15 2013-09-26 Internatl Business Mach Corp <Ibm> テープドライブでのデータ書き込み方法、プログラム
JP2014063550A (ja) 2012-09-21 2014-04-10 International Business Maschines Corporation テープ記録装置のデータ書込みを制御する装置、方法及びプログラム
JP2015195067A (ja) 2014-03-31 2015-11-05 富士通株式会社 記憶装置、データ記憶プログラム、およびデータ記憶方法

Also Published As

Publication number Publication date
US11789700B2 (en) 2023-10-17
JP2021118019A (ja) 2021-08-10
US20210232365A1 (en) 2021-07-29

Similar Documents

Publication Publication Date Title
US8271504B2 (en) Systems for performing an external (disk-based) sort of a large data file which take advantage of “presorted” data already present in the input
US5333311A (en) Optimizing a magnetic disk by allocating files by the frequency a file is accessed/updated or by designating a file to a fixed location on a disk
US5890208A (en) Command executing method for CD-ROM disk drive
US6349356B2 (en) Host-available device block map for optimized file retrieval from serpentine tape drives
JP5999650B2 (ja) テープ上の複数のレコード群の読み出し順序を検索する方法、プログラム
US20050144517A1 (en) Systems and methods for bypassing logical to physical address translation and maintaining data zone information in rotatable storage media
KR20160100211A (ko) 대용량 오디오 핑거프린트 데이터베이스의 온라인 실시간 업데이팅을 구성하기 위한 방법 및 장치
US20200210100A1 (en) System and method for quality of service assurance of multi-stream scenarios in a hard disk drive
JP4059619B2 (ja) 時間遅延視聴のためのビデオストリーム処理方法
JP7452031B2 (ja) 情報処理装置,情報処理システム及びプログラム
US20170371554A1 (en) Internal Data Transfer Management in a Hybrid Data Storage Device
JP2021089525A (ja) 情報処理装置,情報処理システム及びプログラム
US20110153674A1 (en) Data storage including storing of page identity and logical relationships between pages
WO2011074591A1 (ja) ストレージ装置、ストレージ制御装置、ストレージ制御方法及びプログラム
JPS63104284A (ja) デイスクフアイルアクセス方式
JP4470471B2 (ja) 記録再生装置及び方法、並びに記録再生システム
JPH06332622A (ja) 情報処理装置
US11599305B2 (en) Data storage device using predefined data segments for logical address mapping
WO2022168405A1 (ja) 情報処理装置、情報処理方法、及び情報処理プログラム
WO2022172549A1 (ja) 情報処理装置、情報処理方法、及び情報処理プログラム
US20230064391A1 (en) Information processing apparatus, information processing method, and information processing program
JP2838988B2 (ja) 外部記憶装置におけるファイル格納システム
JPH0239225A (ja) ファイルシステム
JP4269915B2 (ja) 記録再生装置及び方法、並びに記録再生システム
JP3616567B2 (ja) メモリ使用効率の最適化方法及び情報処理装置並びに記録媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20221006

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20231002

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20231017

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231218

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20231218

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20240206

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240219

R150 Certificate of patent or registration of utility model

Ref document number: 7452031

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150