JP6220324B2 - 蓄積配信サーバ及び蓄積配信システム - Google Patents

蓄積配信サーバ及び蓄積配信システム Download PDF

Info

Publication number
JP6220324B2
JP6220324B2 JP2014183215A JP2014183215A JP6220324B2 JP 6220324 B2 JP6220324 B2 JP 6220324B2 JP 2014183215 A JP2014183215 A JP 2014183215A JP 2014183215 A JP2014183215 A JP 2014183215A JP 6220324 B2 JP6220324 B2 JP 6220324B2
Authority
JP
Japan
Prior art keywords
data
storage device
file
control unit
storage
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
JP2014183215A
Other languages
English (en)
Other versions
JP2016057811A5 (ja
JP2016057811A (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.)
Hitachi Industry and Control Solutions Co Ltd
Original Assignee
Hitachi Industry and Control Solutions Co 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 Hitachi Industry and Control Solutions Co Ltd filed Critical Hitachi Industry and Control Solutions Co Ltd
Priority to JP2014183215A priority Critical patent/JP6220324B2/ja
Publication of JP2016057811A publication Critical patent/JP2016057811A/ja
Publication of JP2016057811A5 publication Critical patent/JP2016057811A5/ja
Application granted granted Critical
Publication of JP6220324B2 publication Critical patent/JP6220324B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、大容量のデータを蓄積し、配信する蓄積配信サーバ及び蓄積配信システムに関する。
従来、大容量のデータ(画像データ、音声データ等)をRAID(Redundant Array of Inexpensive Disks)装置に蓄積し、ネットワークを介してユーザ端末にデータをストリーミング配信する蓄積配信システムが知られている。
特許文献1には、大容量のデータを蓄積するストレージシステムが開示されている。このストレージシステムは、RAID装置間でデータをプライマリデータとセカンダリデータにミラーリングして多重化する。そして、RAID構成により装置内で復旧可能なディスク装置の障害が発生すると、ミラーリング先のRAID装置に障害ディスク装置に対応したディスク装置のデータを要求し、転送されたデータをスペアディスク装置に書込んで復旧させる。
特開2006−227964号公報
特許文献1にはデータをミラーリングして多重化することについて記載されているが、蓄積配信システムのような大容量のデータを取り扱うシステムでは、RAID装置等のストレージ装置を複数台使用することがある。このため、ストレージ装置をミラーリングで多重化すると、システムの構築コスト、運用コストが膨大となってしまう。
一方で、ストレージ装置が多重化されていないシステムでは、ストレージ装置が故障したときにデータを読み出せなくなる。また、ストレージ装置を制御するRAIDコントローラが故障して、RAIDコントローラを再起動している間はストレージ装置にデータを蓄積できなくなる。このため、ストレージ装置に蓄積されたデータに欠損が生じることがあった。
本発明はこのような状況に鑑みて成されたものであり、ストレージ装置の信頼性を高めることを目的とする。
本発明は、管理テーブルと、データ配信制御部と、データ蓄積制御部と、を備える。
管理テーブルは、所定の記録容量を有し、データを蓄積する第1ストレージ装置、及び第1ストレージ装置よりも大きい記録容量を有し、データを冗長化して蓄積する第2ストレージ装置がそれぞれ蓄積するデータの管理情報として、第1ストレージ装置に対するデータの書込状態、書込開始日時、読込状態、格納場所を管理する。
データ配信制御部は、第1ストレージ装置又は第2ストレージ装置から読込んだデータを読込バッファに一時的にバッファリングした後、読込バッファから読み出したデータを転送先装置に転送し、管理テーブルに管理情報を記録する。
データ蓄積制御部は、転送元装置から転送されたデータを書込バッファに一時的にバッファリングした後、書込バッファから読み出したデータを第1ストレージ装置及び第2ストレージ装置に書込んで、管理テーブルに管理情報を記録する。ここで、データ蓄積制御部は、第2ストレージ装置にデータの書込みが行えない書込不能期間に第1ストレージ装置に書込んだデータを、書込不能期間の経過後に、管理テーブルを参照して第1ストレージ装置から読込んで第2ストレージ装置に書込む。そして、データ蓄積制御部は、管理テーブルを参照し、第1ストレージ装置の空き容量が、第1ストレージ装置に書込むデータの容量に対して不足する場合に、書込開始日時が古い順に第1ストレージ装置に蓄積されたデータを削除し、第1ストレージ装置から削除する対象となるデータがデータ配信制御部によって読込まれている場合に、書込開始日時が削除する対象となるデータの次に古いデータを第1ストレージ装置から削除する。
本発明によれば、第2ストレージ装置にデータの書込みが行えなくても、書込不能期間に第1ストレージ装置に書込んだデータを、書込不能期間の経過後に第1ストレージ装置から読込んで第2ストレージ装置に書込む。このため、第2ストレージ装置にデータ欠損を生じさせず、第2ストレージ装置の信頼性を高めることができる。
上記した以外の課題、構成及び効果は、以下の実施の形態例の説明により明らかにされる。
本発明の一実施の形態例に係る蓄積配信システムの構成例を示すブロック図である。 本発明の一実施の形態例に係る計算機のハードウェア構成例を示すブロック図である。 本発明の一実施の形態例に係るファイル管理テーブルが管理する情報の例を示す。図3Aは、ファイル管理テーブルの構成例を示し、図3Bは、ファイル管理テーブルが管理するファイルの書込み状態と読込み状態の一覧表を示す。 本発明の一実施の形態例に係る通常時における小規模ストレージとRAID装置の書込ファイルの例を示す説明図である。 本発明の一実施の形態例に係るRAID装置に障害が発生した時における小規模ストレージとRAID装置の書込ファイルの例を示す説明図である。 本発明の一実施の形態例に係るデータ蓄積制御部が小規模ストレージとRAID装置の書込ファイルに書込データを書込む処理の例を示すフローチャートである。 図6のステップS2に示したファイルオープン処理の例を示すフローチャートである。 図6のステップS4に示した書込処理の例を示すフローチャートである。 図6のステップS8に示したファイルクローズ処理の例を示すフローチャートである。 図9のステップS36に示した書き戻し処理の例を示すフローチャートである。 図6のステップS9に示した過去ファイル削除処理の例を示すフローチャートである。 本発明の一実施の形態例に係るデータ配信制御部が小規模ストレージ又はRAID装置の読込ファイルから読込データを読込む処理の例を示すフローチャートである。 図12のステップS62に示した読込ファイルオープン処理の例を示すフローチャートである。 図12のステップS67に示した読込ファイルクローズ処理の例を示すフローチャートである。
以下、本発明の一実施の形態例に係る蓄積配信システムについて、添付図面を参照して説明する。
本明細書及び図面において、実質的に同一の機能又は構成を有する構成要素については、同一の符号を付することにより重複する説明を省略する。
図1は、蓄積配信システム1の構成例を示す。
蓄積配信システム1は、蓄積配信サーバ2とRAID装置9(第2ストレージ装置の一例)を備える。
蓄積配信サーバ2は、データ蓄積制御部3、ファイル管理テーブル4(管理テーブルの一例)、データ配信制御部5及び小規模ストレージ8(第1ストレージ装置の一例)を備える。
この蓄積配信サーバ2は、標準的なOS(Operating System)を搭載している。蓄積配信サーバ2は、OSのファイルシステム機能を利用して、小規模ストレージ8とRAID装置9に対してそれぞれファイルをオープンし、データを読み書きした後、ファイルをクローズすることが可能である。
ここで、小規模ストレージ8は、所定の記録容量を有している。小規模ストレージ8は、ファイル(1)〜(3)で表される複数のファイル8aに書込まれたデータを蓄積する。
RAID装置9は、小規模ストレージ8よりも大きい記録容量を有している。RAID装置9として、例えば、HDD(Hard disk drive)が用いられる。RAID装置9は、ファイル(m)、(n)、(1)〜(3)で表される複数のファイル9aに書込まれたデータを冗長化して蓄積する。RAID装置9は、例えば、RAID5で構成されている。
以下の説明では、データ蓄積制御部3が転送元装置20から転送された書込データ22を、小規模ストレージ8に書込むファイル8aと、RAID装置9に書込むファイル9aとを「書込ファイル」と呼ぶ場合がある。逆に、データ配信制御部5が転送先装置30に読込データ32を転送するために、小規模ストレージ8から読込むファイル8aと、RAID装置9から読込むファイル9aを「読込ファイル」と呼ぶ場合がある。そして、書込ファイルと読込ファイルは、同じファイルを指すことがあり、書込データ22と読込データ32も同じデータを指すことがある。
データ蓄積制御部3は、書込データ22を一時的にバッファリングする書込バッファ6を備える。このデータ蓄積制御部3は、転送元装置20から受信する要求21に従って、転送元装置20から転送された書込データ22を書込バッファ6に一旦バッファリングした後、小規模ストレージ8とRAID装置9の書込ファイルに書込データ22を同時に書込む制御を行う。そして、データ蓄積制御部3は、書込ファイルの管理情報をファイル管理テーブル4に記録する。
しかし、データ蓄積制御部3は、RAID装置9に何らかの障害が発生すると、RAID装置9の書込ファイルに書込データ22を書込めないことがある。このような場合に、データ蓄積制御部3は、RAID装置9の書込ファイルに書込データ22の書込みが行えない書込不能期間は小規模ストレージ8の書込ファイルに書込データ22を書込む。そして、データ蓄積制御部3は、障害が復旧した書込不能期間の経過後に、書込不能期間に小規模ストレージ8に書込んだ書込データ22を、ファイル管理テーブル4を参照して小規模ストレージ8から読込んで、RAID装置9に書込む。
ファイル管理テーブル4は、小規模ストレージ8が蓄積するファイル8aと、RAID装置9が蓄積するファイル9aの管理情報(後述する図3を参照)を保持している。ファイル管理テーブル4は、データ蓄積制御部3とデータ配信制御部5によって参照又は更新される。
データ配信制御部5は、読込データ32を一時的にバッファリングする読込バッファ7を備える。そして、データ配信制御部5は、転送先装置30から受信する要求31に従って、小規模ストレージ8又はRAID装置9の読込ファイルから読込んだ読込データ32を読込バッファ7にバッファリングした後、読込データ32として転送先装置30に配信する。同時にデータ配信制御部5は、読込ファイルの管理情報をファイル管理テーブル4に記録する。
<計算機のハードウェア構成例>
次に、蓄積配信システム1の各装置を構成する計算機10のハードウェア構成を説明する。
図2は、計算機10のハードウェア構成例を示すブロック図である。
計算機10は、いわゆるコンピュータとして用いられるハードウェアであり、蓄積配信サーバ2として用いられる。計算機10は、バス14にそれぞれ接続されたCPU(Central Processing Unit:中央処理装置)11、ROM(Read Only Memory)12、RAM(Random Access Memory)13を備える。さらに、計算機10は、表示部15、操作部16、不揮発性ストレージ17、ネットワークインタフェース18とを備える。
CPU11は、本実施の形態例に係る各機能を実現するソフトウェアのプログラムコードをROM12から読み出して実行する。RAM13には、演算処理の途中に発生した変数やパラメータ等が一時的に書き込まれる。CPU11、ROM12、RAM13を用いて、蓄積配信サーバ2内の各部の機能が実現される。
表示部15は、例えば、液晶ディスプレイモニタであり、計算機10で行われる処理の結果等をユーザに表示する。操作部16には、例えば、キーボード、マウス等が用いられ、ユーザが所定の操作入力、指示を行うことが可能である。なお、図1において、表示部15、操作部16の記載を省略している。
不揮発性ストレージ17としては、例えば、HDD、SSD(Solid State Drive)、フレキシブルディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、メモリカード等が用いられる。この不揮発性ストレージ17には、OS、各種のパラメータの他に、計算機10を機能させるためのプログラムが記録されている。この不揮発性ストレージ17によって、小規模ストレージ8が構成される。小規模ストレージ8では、データ蓄積制御部3及びデータ配信制御部5のアクセス速度を高めるためにSSDが用いられることが望ましい。
ネットワークインタフェース18には、例えば、NIC(Network Interface Card)等が用いられ、端子が接続されたLAN、専用線、ネットワークのいずれかを介して各種のデータを送受信することが可能である。これにより、蓄積配信サーバ2は、転送元装置20、転送先装置30に接続可能となる。
<ファイル管理テーブルの例>
図3は、ファイル管理テーブル4が管理する情報の例を示す。図3Aは、ファイル管理テーブル4の構成例を示し、図3Bは、ファイル管理テーブル4が管理するファイルの書込み状態と読込み状態の一覧表を示す。
図3Aに示すファイル管理テーブル4は、ファイル毎にファイル名を付したレコード(記憶領域)を確保している。そして、ファイル管理テーブル4は、レコード毎に小規模ストレージ用ファイル情報4aとRAID装置用ファイル情報4bを保持している。
小規模ストレージ用ファイル情報4aは、小規模ストレージ8に蓄積されるファイル8aの書込状態、書込開始日時、読込状態、格納場所を管理情報として管理する。
RAID装置用ファイル情報4bは、RAID装置9に蓄積される各ファイル9aの書込状態、書込開始日時、読込状態、格納場所を管理情報として管理する。
以下の説明で小規模ストレージ用ファイル情報4aとRAID装置用ファイル情報4bを区別しない場合には、「ファイル情報」と総称する場合がある。
また、データ蓄積制御部3が書込ファイルに書込データ22を書込むことを「ファイル書込」と呼び、データ配信制御部5が読込ファイルから読込データ32を読込むことを「ファイル読込」と呼ぶ。
図3Bに示すファイルの書込状態には、“待ち状態”、“ファイル書込中”、“ファイル書込完了”、“ファイル書込エラー”の4種類がある。また、ファイルの読込状態には、“待ち状態”、“ファイル読込中”、“ファイル読込完了”、“ファイル読込エラー”の4種類がある。
例えば、図3Aに示されるファイル(1)のレコードは、小規模ストレージ8とRAID装置9の両方に書込みが完了した状態であり、データ配信制御部5によって小規模ストレージ8の読込ファイルから読込データ32が読込み中であることが分かる。
<ファイル格納方法及びファイル削除方法>
次に、データ蓄積制御部3が小規模ストレージ8とRAID装置9にファイルを格納する方法と、小規模ストレージ8からファイルを削除する方法の例について、図4と図5を参照して説明する。
図4は、通常時における小規模ストレージ8とRAID装置9の書込ファイルの例を示す。
図4では小規模ストレージ8とRAID装置9の書込ファイルと、経過時間を示す時間軸が示されている。この時間軸には、データ蓄積制御部3が小規模ストレージ8とRAID装置9の書込ファイルに対して行う書込データ22の書込位置が白三角で示されている。書込位置は経過時間の時間軸に沿って上から下に進む。
データ蓄積制御部3は、転送元装置20から転送され、書込バッファ6にバッファリングした書込データ22を、小規模ストレージ8とRAID装置9の書込ファイルに同時に書き込む。そして、小規模ストレージ8には、ファイル(1)、ファイル(2)、ファイル(3)の順に、データ蓄積制御部3によって書込データ22が書込まれている。また、RAID装置9には、ファイル(m)、ファイル(n)、ファイル(1)、ファイル(2)、ファイル(3)の順に、データ蓄積制御部3によって書込データ22が書込まれている。
上述したように小規模ストレージ8は、RAID装置9と比べて記録容量が少ない。このため、データ蓄積制御部3は、ファイル管理テーブル4を参照し、小規模ストレージ8の空き容量が、小規模ストレージ8に書込む書込ファイルの容量に対して不足する場合に、書込開始日時が古い順に小規模ストレージ8に蓄積された書込ファイルを削除する。図4では、データ蓄積制御部3が、直近に書込んだファイル(1)〜(2)だけを小規模ストレージ8に残し、二点鎖線で示される古いファイル(n)を削除したことが示されている。
図5は、RAID装置9に障害が発生した時における小規模ストレージ8とRAID装置9の書込ファイルの例を示す。
ここでは、データ蓄積制御部3が小規模ストレージ8とRAID装置9にファイル(3)を同時に書込んでいる途中に、RAID装置9で障害が発生し、RAID装置9が書込不能になったことを想定する。
このとき、データ蓄積制御部3は、小規模ストレージ8のファイル(3)だけに書込データ22を書込み、RAID装置9のファイル(3)に対する書込データ22の書込みを停止する。そして、データ蓄積制御部3は、ファイル(3)に対する書込データ22の書込みを終了した後、ファイル(4)に対する書込データ22の書込みを開始する時点で、再びRAID装置9にも書込データ22の書込みを試みる。しかし、RAID装置9に発生した障害が継続していれば、データ蓄積制御部3は、小規模ストレージ8のファイル(4)だけに書込データ22を書込む。
RAID装置9が障害から復旧すると、データ蓄積制御部3は、小規模ストレージ8とRAID装置9のファイル(5)に書込データ22を同時に書込む。そして、データ蓄積制御部3は、小規模ストレージ8のファイル(3)、(4)に書込まれた書込データ22を読出して、RAID装置9のファイル(3)、(4)に書込データ22を書込む。以降は、図4に示した処理と同じ内容となる。
<データ蓄積制御部の処理の例>
次に、データ蓄積制御部3の処理の例について、図6〜図11を参照して説明する。
図6は、データ蓄積制御部3が小規模ストレージ8とRAID装置9の書込ファイルに書込データ22を書込む処理の例を示すフローチャートである。なお、データ蓄積制御部3が書込バッファ6に書込データ22をバッファリングする処理の説明は省略する。
始めに、データ蓄積制御部3は、ファイル書込開始要求が含まれる要求21を待つ(S1)。そして、データ蓄積制御部3は、転送元装置20から受信した要求21からファイル書込開始要求を取り出すと、小規模ストレージ8とRAID装置9の書込ファイルをオープンするファイルオープン処理を行う(S2)。データ蓄積制御部3は、書込ファイルをオープンした後、転送元装置20から書込データ22を受信する(S3)。そして、データ蓄積制御部3は、小規模ストレージ8とRAID装置9の書込ファイルに書込データ22を書込む書込み処理を行う(S4)。
次に、データ蓄積制御部3は、書込処理の結果を取得し、小規模ストレージ8とRAID装置9の両方に対して書込エラーが発生したかどうかを判定する(S5)。データ蓄積制御部3は、両方に書込エラーが発生したと判定すると、ファイルオープン処理で用意したファイル管理テーブル4の登録用レコードに小規模ストレージ8の書込状態として“ファイル書込みエラー”を記録する書込エラー応答を行う(S6)。そして、データ蓄積制御部3は、ステップS1に遷移して次のファイル書込開始要求を待つ。
データ蓄積制御部3は、ステップS5にて小規模ストレージ8とRAID装置9の両方又は片方に対するファイル書込みが成功したと判定すると、受信した書込データ22が最終データであるかどうかを確認する(S7)。データ蓄積制御部3は、書込データ22が最終データでないことを確認すると、再びステップS3に遷移して、次に受信する書込データ22の書込処理(S4)を行う。
データ蓄積制御部3は、書込データ22が最終データであることを確認すると、書込ファイルをクローズするファイルクローズ処理を行う(S8)。その後、データ蓄積制御部3は、小規模ストレージ8から一定時間を経過した過去ファイルを削除する過去ファイル削除処理を行い(S9)、ステップS1に遷移して次のファイル書込開始要求を待つ。
図7は、図6のステップS2に示したファイルオープン処理の例を示すフローチャートである。
このファイルオープン処理において、データ蓄積制御部3は、小規模ストレージ8の書込ファイルをオープンし(S11)、書込ファイルのオープンが成功したかどうかを判定する(S12)。
データ蓄積制御部3は、小規模ストレージ8の書込ファイルのオープンに失敗したと判定すると、オープンに失敗した書込ファイルのファイル情報を管理するための登録用レコードをファイル管理テーブル4に用意する。そして、データ蓄積制御部3は、この登録用レコードに小規模ストレージ8の書込状態として“ファイル書込エラー”をセットする(S13)。
一方、データ蓄積制御部3は、小規模ストレージ8の書込ファイルのオープンに成功したと判定すると、オープンに成功した書込ファイルのファイル情報を管理するための登録用レコードをファイル管理テーブル4に用意する。そして、データ蓄積制御部3は、この登録用レコードに小規模ストレージ8の書込ファイルに対する書込データ22の書込開始日時、書込ファイルの格納場所をセットし、書込状態に“ファイル書込中”をセットする(S14)。
次に、データ蓄積制御部3は、RAID装置9の書込ファイルをオープンする(S15)。そして、データ蓄積制御部3は、RAID装置9の書込ファイルのオープンが成功したかどうかを判定する(S16)。
データ蓄積制御部3は、RAID装置9の書込ファイルのオープンに失敗したと判定すると、ファイル管理テーブル4に用意された登録用レコードにRAID装置9の書込状態として“ファイル書込エラー”をセットする(S17)。
RAID装置9の書込ファイルのオープンに成功した場合は、ファイル管理テーブル4に用意された登録用レコードにRAID装置9の書込ファイルの格納場所をセットし、書込状態に“ファイル書込中”をセットする(S18)。ステップS17、S18で情報がセットされる登録用レコードはステップS13、S14でデータ蓄積制御部3が用意したものである。
図8は、図6のステップS4に示した書込処理の例を示すフローチャートである。
この書込処理において、データ蓄積制御部3は、ファイル管理テーブル4を参照し、書込ファイルの小規模ストレージ用ファイル情報4aとRAID装置用ファイル情報4bを読み出す(S21)。
次に、データ蓄積制御部3は、読出した小規模ストレージ用ファイル情報4aより、小規模ストレージ8の書込ファイルの書込状態が“ファイル書込中”であるかどうかを判定する(S22)。そして、書込状態が“ファイル書込中”でなければ、データ蓄積制御部3はステップS26に遷移する。
しかし、書込状態が“ファイル書込中”であれば、データ蓄積制御部3は、小規模ストレージ8の書込ファイルに書込データ22を書込む(S23)。なお、データ蓄積制御部3は、RAID装置9にデータの書込みが行えない書込不能期間においても、小規模ストレージ8の書込ファイルの書込状態が“ファイル書込中”であれば、小規模ストレージ8の書込ファイルに書込データ22を書込むことが可能である。ステップS23の後、データ蓄積制御部3は、小規模ストレージ8へのファイル書込が成功したかどうかを判定する(S24)。
データ蓄積制御部3は、小規模ストレージ8へのファイル書込が失敗したと判定すると、小規模ストレージ用ファイル情報4aの書込状態に“ファイル書込エラー”をセットする(S25)。一方、データ蓄積制御部3は、小規模ストレージ8へのファイル書込が成功したと判定すると、ステップS26に遷移する。
次に、データ蓄積制御部3は、ステップS21で読出したRAID装置用ファイル情報4bよりRAID装置9の書込ファイルの書込状態が“ファイル書込中”であるかどうかを判定する(S26)。書込状態が“ファイル書込中”でなければ、データ蓄積制御部3は書込処理を終了する。
しかし、書込状態が“ファイル書込中”であれば、データ蓄積制御部3は、RAID装置9の書込ファイルに書込データ22を書込む(S27)。そして、データ蓄積制御部3は、RAID装置9へのファイル書込が成功したかどうかを判定する(S28)。
データ蓄積制御部3は、RAID装置9へのファイル書込が失敗したと判定すると、RAID装置用ファイル情報4bの書込状態に“ファイル書込エラー”をセットする(S29)。一方、データ蓄積制御部3は、RAID装置9へのファイル書込が成功したと判定すると、書込処理を終了する。
図9は、図6のステップS8に示したファイルクローズ処理の例を示すフローチャートである。
このファイルクローズ処理において、データ蓄積制御部3は、小規模ストレージ8の書込ファイルに書込エラーが発生したか否か、つまり小規模ストレージ用ファイル情報4aの書込状態が“ファイル書込エラー”であるかどうかを判定する(S31)。データ蓄積制御部3は、書込状態が“ファイル書込エラー”であると判定すると、ステップS34に遷移する。
一方、データ蓄積制御部3は、書込状態が“ファイル書込エラー”以外であると判定すると、小規模ストレージ8の書込ファイルをクローズする(S32)。そして、データ蓄積制御部3は、小規模ストレージ用ファイル情報4aの書込状態に“ファイル書込完了”をセットする(S33)。
次に、データ蓄積制御部3は、RAID装置9の書込ファイルに書込エラーが発生し、RAID装置用ファイル情報4bの書込状態が“ファイル書込エラー”であるかどうかを判定する(S34)。データ蓄積制御部3は、書込状態が“ファイル書込エラー”であると判定すると、小規模ストレージ8へのファイル書込が正常に完了しているかどうかを判定する(S35)。
ステップS35にて小規模ストレージ8へのファイル書込が正常に完了していないと判定されると、データ蓄積制御部3は、ファイルクローズ処理を終了する。一方、データ蓄積制御部3は、小規模ストレージ8へのファイル書込が正常に完了していると判定すると、書き戻し処理(S36)を行う。この書き戻し処理は、データ蓄積制御部3が、RAID装置9に書込みが行えない書込不能期間に小規模ストレージ8に書込んだファイルを、RAID装置9への書込みを再開したときに小規模ストレージ8から読込み、RAID装置9に書込む処理である。データ蓄積制御部3は、書き戻し処理の終了後、ファイルクローズ処理を終了する。
ステップS34にてRAID装置用ファイル情報4bの書込状態が“ファイル書込エラー”以外であると判定されると、データ蓄積制御部3は、RAID装置9の書込ファイルをクローズする(S37)。そして、データ蓄積制御部3は、RAID装置用ファイル情報4bの書込状態に“ファイル書込完了”をセットし(S38)、ファイルクローズ処理を終了する。
図10は、図9のステップS36に示した書き戻し処理の例を示すフローチャートである。
この書き戻し処理において、データ蓄積制御部3は、ファイル管理テーブル4の全レコードをサーチして、RAID装置用ファイル情報4bを読出す(S41)。書き戻し処理が行われるファイルは、小規模ストレージ用ファイル情報4aの書込状態が“ファイル書込完了”であり、かつ、RAID装置用ファイル情報4bの書込状態が“ファイル書込エラー”となるファイルである。
次に、データ蓄積制御部3は、RAID装置9へのファイル書込が可能であるかどうかを判定する(S42)。データ蓄積制御部3は、RAID装置9へのファイル書込ができないと判定すると、リトライ回数が規定値以下であるかどうかを判定する(S43)。このリトライ回数は、データ蓄積制御部3が、RAID装置9にファイル書込みができなかった場合に、再びRAID装置9にファイル書込を試みる回数である。
データ蓄積制御部3は、リトライ回数が規定値以下であると判定すると、一定時間スリープした後(S45)、ステップS42に遷移して、再びRAID装置9への書込みが可能かどうかを判定する。
ステップS43にてリトライ回数が規定値を超えたと判定されると、ファイル管理テーブルのRAID装置用ファイル情報4bの書込状態に“ファイル書込エラー”をセットし(S45)、データ蓄積制御部3は書き戻し処理を終了する。
ステップS42にてRAID装置9へのファイル書込が可能であると判定されると、データ蓄積制御部3は、RAID装置用ファイル情報4bの書込状態に“ファイル書込中”をセットする(S46)。そして、データ蓄積制御部3は、小規模ストレージ8から読み出した書込データ22をRAID装置9の書込ファイルに書込む(S47)。
その後、データ蓄積制御部3は、RAID装置9へのファイル書込みが完了すると、RAID装置用ファイル情報4bの書込状態に“ファイル書込完了”をセットする(S48)。そして、データ蓄積制御部3は、RAID装置9の書込ファイルをクローズして(S49)、書き戻し処理を終了する。
図11は、図6のステップS9に示した過去ファイル削除処理の例を示すフローチャートである。
この過去ファイル削除処理において、データ蓄積制御部3は、小規模ストレージ8の蓄積済み容量が、予め設定した閾値を超えたかどうかを判定する(S51)。データ蓄積制御部3は、小規模ストレージ8の蓄積済み容量が閾値以下であると判定すると、過去ファイル削除処理を終了する。
一方、データ蓄積制御部3は、小規模ストレージ8の蓄積済み容量が閾値を超えたと判定すると、小規模ストレージ8に書込まれて一定期間が経過した書込ファイルのレコードを小規模ストレージ用ファイル情報4aから取得する(S52)。このとき、データ蓄積制御部3は、ファイル管理テーブル4の全レコードをチェックし、書込開始時刻が最も古い書込ファイルの小規模ストレージ用ファイル情報4aをファイル管理テーブル4から取得している。
次に、データ蓄積制御部3は、小規模ストレージ用ファイル情報4aのレコードに示される読込状態が“ファイル読込中”であるかどうかを判定する(S53)。データ蓄積制御部3は、小規模ストレージ8から削除する対象となる書込ファイルの読込状態が“ファイル読込中”であると判定すると、この書込ファイルはデータ配信制御部5によって読込まれている途中であるため、削除できない。この場合、データ蓄積制御部3は過去ファイル削除処理を終了する。そして、データ蓄積制御部3は、削除する対象となる書込ファイルとは異なる書込ファイルを小規模ストレージ8から削除する。このとき、小規模ストレージ8から削除される書込ファイルは、例えば、書込開始時刻が2番目に古い書込ファイルである。
ステップS53にて読込状態が“ファイル読込中”でないと判定されると、データ蓄積制御部3は、小規模ストレージ8から該当する書込ファイルを削除する(S54)。そして、データ蓄積制御部3は、削除した書込ファイルの小規模ストレージ用ファイル情報4aとRAID装置用ファイル情報4bのレコードをファイル管理テーブル4から削除して(S55)、過去ファイル削除処理を終了する。
<データ配信制御部の処理の例>
次に、データ配信制御部5の処理の例について、図12〜図14を参照して説明する。
図12は、データ配信制御部5が小規模ストレージ8又はRAID装置9の読込ファイルから読込データ32を読込む処理の例を示すフローチャートである。なお、データ配信制御部5が小規模ストレージ8とRAID装置9の読込ファイルから読み込んだ読込データ32を読込バッファ7にバッファリングする処理の説明は省略する。
始めに、データ配信制御部5は、小規模ストレージ8又はRAID装置9の読込ファイルから読込データ32を読み込むために要求31に含まれるファイル読込開始要求を待つ(S61)。データ配信制御部5は、転送先装置30から要求31を受信し、ファイル読込開始要求を読出すと、読込ファイルのオープン処理を行う(S62)。
次に、データ配信制御部5は、転送先装置30からの要求31に含まれる読込ファイルの読込要求を待つ(S63)。次に、データ配信制御部5は、要求31から読込要求を取得すると、小規模ストレージ8又はRAID装置9の読込ファイルをオープンし、この読込ファイルから読込要求された読込データ32を読み込む(S64)。なお、データ配信制御部5は、RAID装置9の書込不能期間であれば、小規模ストレージ8の読込ファイルから読込データ32を読込む。そして、データ配信制御部5は、読込データ32を転送先装置30に転送する読込データ応答を行う(S65)。
その後、データ配信制御部5は、読込データ応答を行った読込データ32が読込ファイル内の最終データであるかどうかを判定する(S66)。データ配信制御部5は、読込データ応答を行った読込データ32が読込ファイル内の最終データでないと判定すると、ステップS63に遷移して、再び読込ファイルから読込データ32を読み込む。
一方、データ配信制御部5は、読込データ応答を行った読込データ32が読込ファイル内の最終データであると判定すると、読込ファイルクローズ処理を行う(S67)。その後、データ配信制御部5は、ステップS61に遷移して、再びファイル読込開始要求を待つ。
図13は、図12のステップS62に示した読込ファイルオープン処理の例を示すフローチャートである。
この読込ファイルオープン処理において、データ配信制御部5は、転送先装置30から読込開始要求によって指定された読込ファイルの小規模ストレージ用ファイル情報4aとRAID装置用ファイル情報4bをファイル管理テーブル4から取得する(S71)。そして、データ配信制御部5は、指定された読込ファイルが小規模ストレージ8に存在するかどうかを判定する(S72)。
ここで、小規模ストレージ8は、RAID装置9よりもデータ蓄積制御部3が書込ファイルに書込データ22を書込むアクセス速度、及びデータ配信制御部5が読込ファイルから読込データ32を読込むアクセス速度が速い。このため、データ配信制御部5は、小規模ストレージ8及びRAID装置9に同じデータの読込ファイルが蓄積されていれば、小規模ストレージ8の読込ファイルから優先して読込データ32を読込んで転送先装置30に転送する。
ステップS72にて指定された読込ファイルが小規模ストレージ8に存在しないと判定されると、データ配信制御部5は、RAID装置9に読込ファイルが存在するかどうかを判定する(S73)。データ配信制御部5は、RAID装置9にも読込ファイルが存在しないと判定すると、転送先装置30に対し読込ファイルの転送不可である旨を通知して、読込ファイルオープン処理を終了する。
ステップS73にて指定された読込ファイルがRAID装置9に存在すると判定されると、データ配信制御部5は、読込対象としてRAID装置9の読込ファイルをオープンする(S74)。そして、データ配信制御部5は、RAID装置用ファイル情報4bの書込状態に“ファイル読込中”をセットして(S75)、読込ファイルオープン処理を終了する。
ステップS72にて指定された読込ファイルが小規模ストレージ8に存在すると判定されると、データ配信制御部5は、読込対象として小規模ストレージ8の読込ファイルをオープンする(S76)。そして、データ配信制御部5は、小規模ストレージ用ファイル情報4aの書込状態に“ファイル読込中”をセットして(S77)、読込ファイルオープン処理を終了する。
図14は、図12のステップS67に示した読込ファイルクローズ処理の例を示すフローチャートである。
この読込ファイルクローズ処理において、データ配信制御部5は、ファイル管理テーブル4を参照し(S81)、読込ファイルの小規模ストレージ用ファイル情報4aを取得する。そして、データ配信制御部5は、小規模ストレージ8から読込ファイルを読込んだかどうかを判定する(S82)。
データ配信制御部5は、小規模ストレージ8から読込ファイルを読込んでいないと判定すると、RAID装置用ファイル情報4bの読込状態に“ファイル読込完了”をセットし(S83)、RAID装置9の読込ファイルをクローズする(S85)。
一方、データ配信制御部5は、小規模ストレージ8から読込ファイルを読込んだと判定すると、小規模ストレージ用ファイル情報4aの読込状態に“ファイル読込完了”をセットし(S84)、小規模ストレージ8の読込ファイルをクローズする(S85)。
以上説明した一実施の形態例に係る蓄積配信システム1によれば、RAID装置9の全体をミラーリング構成とするのではなく、RAID装置9の他に小規模ストレージ8を設けている。そして、データ蓄積制御部3が小規模ストレージ8とRAID装置9に直近に書込んだファイルだけを二重化している。この蓄積配信システム1は、従来のようにRAID装置9と同じ規模のストレージ装置をミラーリング構成ではないので、蓄積配信システム1の構築コスト、運用コストを下げることができる。このため、蓄積配信システム1が大規模になるほど、システム全体のコストパフォーマンスを上げることができる。
また、ファイル管理テーブル4には、小規模ストレージ8に蓄積されるファイル8aのファイル情報と、RAID装置9に蓄積されるファイル9aのファイル情報が管理されている。そして、RAID装置9に障害が発生している間、データ蓄積制御部3は、小規模ストレージ8の書込ファイルに書込データ22を書込んでいる。このため、データ蓄積制御部3は、ファイル管理テーブル4を参照することで、RAID装置9へのファイル書込が停止した期間にRAID装置9では欠損していた書込ファイルが小規模ストレージ8に存在することが分かる。また、データ蓄積制御部3は、RAID装置9の障害が復旧すると、障害発生期間に小規模ストレージ8に書込まれた書込ファイルの書込データ22を小規模ストレージ8から読込んだ後、RAID装置9に書き戻す。これによりRAID装置9のデータに欠損が生じず、RAID装置9の信頼性を高めることができる。
また、RAID装置9に一時的に障害が発生しても、データ配信制御部5は、小規模ストレージ8に蓄積されている読込ファイルを優先的に読み出す。これにより蓄積配信システム1を停止することなく転送先装置30への読込データ32の配信を継続することができる。
また、RAID装置9の一時的な障害であれば、RAID装置9に蓄積済みのファイル9aはRAID5構成などにより冗長化されているので破損しない。このため、RAID装置9が復旧した後に、データ配信制御部5は、RAID装置9のファイル9aから読込データ32を読み出し可能である。
[変形例]
なお、RAID装置9に障害が発生したときだけでなく、RAID装置9のメンテナンスや瞬間停電によってもRAID装置9のファイル9aに書込データ22を書き込めないことがある。この場合であっても、RAID装置9のファイル9aに書込データ22を書き込めない間、データ蓄積制御部3は、小規模ストレージ8にファイル8aを蓄積しておき、RAID装置9が復旧した後、小規模ストレージ8からファイル8aを読み出してRAID装置9に書き戻すことができる。
また、上述した一実施の形態例では、小規模ストレージ8のファイル8aを削除する方法として、ファイル管理テーブル4に書込開始日時を登録しておき、書込開始日時が最も古いファイル8aから削除している。しかし、ファイル管理テーブル4にファイル8aの参照回数を登録しておくことにより、最も参照されていないファイル8aから削除することも考えられる。
また、上述した一実施の形態例では小規模ストレージ8とRAID装置9への処理をシーケンシャル処理しているが、並列処理により高速化することも可能である。
また、上述した一実施の形態例では、小規模ストレージ8とRAID装置9への書込及び読込単位をファイル毎としたが、例えば、ブロック毎であってもよい。
さらに、上述した一実施の形態例では小規模ストレージ8を蓄積配信サーバ2に内蔵する場合を示したが、小規模ストレージ8を蓄積配信サーバ2の外部に設ける構成としてもよい。
また、本発明は上述した実施の形態例に限られるものではなく、特許請求の範囲に記載した本発明の要旨を逸脱しない限りその他種々の応用例、変形例を取り得ることは勿論である。
例えば、上述した実施の形態例は本発明を分かりやすく説明するために装置及びシステムの構成を詳細且つ具体的に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることは可能であり、更にはある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加、削除、置換をすることも可能である。
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
1…蓄積配信システム、2…蓄積配信サーバ、3…データ蓄積制御部、4…ファイル管理テーブル、4a…小規模ストレージ用ファイル情報、4b…RAID装置用ファイル情報、5…データ配信制御部、8…小規模ストレージ、9…RAID装置

Claims (4)

  1. 所定の記録容量を有し、データを蓄積する第1ストレージ装置、及び前記第1ストレージ装置よりも大きい記録容量を有し、前記データを冗長化して蓄積する第2ストレージ装置がそれぞれ蓄積する前記データの管理情報として、前記第1ストレージ装置に対する前記データの書込状態、書込開始日時、読込状態、格納場所を管理する管理テーブルと、
    前記第1ストレージ装置又は前記第2ストレージ装置から読込んだ前記データを読込バッファに一時的にバッファリングした後、前記読込バッファから読み出した前記データを転送先装置に転送し、前記管理テーブルに前記管理情報を記録するデータ配信制御部と、
    転送元装置から転送された前記データを書込バッファに一時的にバッファリングした後、前記書込バッファから読み出した前記データを前記第1ストレージ装置及び前記第2ストレージ装置に書込んで、前記管理テーブルに前記管理情報を記録し、前記第2ストレージ装置に前記データの書込みが行えない書込不能期間に前記第1ストレージ装置に書込んだ前記データを、前記書込不能期間の経過後に、前記管理テーブルを参照して前記第1ストレージ装置から読込んで前記第2ストレージ装置に書込むデータ蓄積制御部と、を備え
    前記データ蓄積制御部は、前記管理テーブルを参照し、前記第1ストレージ装置の空き容量が、前記第1ストレージ装置に書込む前記データの容量に対して不足する場合に、前記書込開始日時が古い順に前記第1ストレージ装置に蓄積された前記データを削除し、前記第1ストレージ装置から削除する対象となる前記データが前記データ配信制御部によって読込まれている場合に、前記書込開始日時が削除する対象となる前記データの次に古いデータを前記第1ストレージ装置から削除する
    蓄積配信サーバ。
  2. 前記第1ストレージ装置は、前記第2ストレージ装置よりも前記データ蓄積制御部が前記データを書込むアクセス速度、及び前記データ配信制御部が前記データを読込むアクセス速度が速く、
    前記データ配信制御部は、前記第1ストレージ装置及び前記第2ストレージ装置に同じ前記データが蓄積されている場合に、前記第1ストレージ装置から優先して前記データを読込んで前記転送先装置に転送する
    請求項1に記載の蓄積配信サーバ。
  3. 前記データ配信制御部は、前記書込不能期間には、前記第1ストレージ装置から前記データを読込んで、前記データを前記転送先装置に転送する
    請求項2に記載の蓄積配信サーバ。
  4. 所定の記録容量を有し、データを蓄積する第1ストレージ装置と、
    前記第1ストレージ装置よりも大きい記録容量を有し、前記データを冗長化して蓄積する第2ストレージ装置と、
    前記第1ストレージ装置及び前記第2ストレージ装置がそれぞれ蓄積する前記データの管理情報を保持する管理テーブルと、
    前記第1ストレージ装置又は前記第2ストレージ装置から読込んだ前記データを読込バッファに一時的にバッファリングした後、前記読込バッファから読み出した前記データを転送先装置に転送し、前記管理テーブルに前記管理情報として、前記第1ストレージ装置に対する前記データの書込状態、書込開始日時、読込状態、格納場所を管理するデータ配信制御部と、
    転送元装置から転送された前記データを書込バッファに一時的にバッファリングした後、前記書込バッファから読み出した前記データを前記第1ストレージ装置及び前記第2ストレージ装置に書込んで、前記管理テーブルに前記管理情報を記録し、前記第2ストレージ装置に前記データの書込みが行えない書込不能期間に前記第1ストレージ装置に書込んだ前記データを、前記書込不能期間の経過後に、前記管理テーブルを参照して前記第1ストレージ装置から読込んで前記第2ストレージ装置に書込むデータ蓄積制御部と、を備え
    前記データ蓄積制御部は、前記管理テーブルを参照し、前記第1ストレージ装置の空き容量が、前記第1ストレージ装置に書込む前記データの容量に対して不足する場合に、前記書込開始日時が古い順に前記第1ストレージ装置に蓄積された前記データを削除し、前記第1ストレージ装置から削除する対象となる前記データが前記データ配信制御部によって読込まれている場合に、前記書込開始日時が削除する対象となる前記データの次に古いデータを前記第1ストレージ装置から削除する
    蓄積配信システム。
JP2014183215A 2014-09-09 2014-09-09 蓄積配信サーバ及び蓄積配信システム Active JP6220324B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014183215A JP6220324B2 (ja) 2014-09-09 2014-09-09 蓄積配信サーバ及び蓄積配信システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014183215A JP6220324B2 (ja) 2014-09-09 2014-09-09 蓄積配信サーバ及び蓄積配信システム

Publications (3)

Publication Number Publication Date
JP2016057811A JP2016057811A (ja) 2016-04-21
JP2016057811A5 JP2016057811A5 (ja) 2016-10-27
JP6220324B2 true JP6220324B2 (ja) 2017-10-25

Family

ID=55758585

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014183215A Active JP6220324B2 (ja) 2014-09-09 2014-09-09 蓄積配信サーバ及び蓄積配信システム

Country Status (1)

Country Link
JP (1) JP6220324B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019061483A (ja) * 2017-09-26 2019-04-18 キヤノン株式会社 記憶制御装置、その制御方法、プログラム、及び情報処理装置
US11042661B2 (en) 2018-06-08 2021-06-22 Weka.IO Ltd. Encryption for a distributed filesystem
JP7439511B2 (ja) * 2019-12-27 2024-02-28 富士フイルムビジネスイノベーション株式会社 Fax受信装置、fax受信プログラム、及びfax送受信システム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4464656B2 (ja) * 2003-11-06 2010-05-19 国立大学法人東京工業大学 コンテンツ蓄積システムおよびその方法
JP2005196490A (ja) * 2004-01-07 2005-07-21 Hitachi Ltd データ多重化のためのシステム及び方法
JP5764100B2 (ja) * 2012-08-21 2015-08-12 日本電信電話株式会社 コンテンツ配信システムおよびコンテンツ配信方法

Also Published As

Publication number Publication date
JP2016057811A (ja) 2016-04-21

Similar Documents

Publication Publication Date Title
US10223272B2 (en) Latency sensitive metadata object persistence operation for storage device
US7310711B2 (en) Hard disk drive with support for atomic transactions
US9588856B2 (en) Restoring redundancy in a storage group when a storage device in the storage group fails
CN106055431B (zh) 基于快照在线回滚的数据备份与恢复的方法及装置
TWI291103B (en) Method, storage controller, system, and computer-readable recording medium for autonomic power loss recovery for a multi-cluster storage sub-system
JP6064608B2 (ja) ストレージ装置、バックアッププログラム、およびバックアップ方法
JP2008015769A (ja) ストレージシステム及び書き込み分散方法
EP1712998A1 (en) Remote copy system and remote copy method
US11297137B2 (en) Method and apparatus for performing simple storage service seamless migration using index objects
US20060077726A1 (en) Data transfer method, storage apparatus and computer-readable storage medium
US11516287B2 (en) Method and apparatus for performing simple storage service seamless migration using index objects
JP2010079588A (ja) 仮想ボリュームを有する記憶制御装置
JP6220324B2 (ja) 蓄積配信サーバ及び蓄積配信システム
US9652325B2 (en) Storage system and method to support scheduled and operational going down of a storing unit
JP6070146B2 (ja) 情報処理装置及びバックアップ方法
JP6880769B2 (ja) 情報処理装置,制御プログラムおよび情報処理方法
JP5159777B2 (ja) 情報及びメタデータを管理し記憶する装置及び方法
US10025521B2 (en) Obtaining additional data storage from another data storage system
US8555007B2 (en) Storage system with journal disks dynamically assigned
KR20100094157A (ko) 저널링 파일 시스템을 이용한 소프트웨어 레이드에서의 일관성 유지방법
JP6665892B2 (ja) 情報処理システム,情報処理装置および制御プログラム
US7657719B2 (en) Controller for a copy operation between a host computer and hard disks, a control method thereof, and a recording medium storing a program for executing the control method
US20130031320A1 (en) Control device, control method and storage apparatus
JP2018190192A (ja) ストレージ装置およびストレージ制御プログラム
US20070260816A1 (en) RAID management apparatus, RAID management method, and computer product

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160909

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160909

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170619

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170704

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170822

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: 20170926

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170929

R150 Certificate of patent or registration of utility model

Ref document number: 6220324

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150