JP6292796B2 - 情報処理装置、情報処理方法及びプログラム - Google Patents

情報処理装置、情報処理方法及びプログラム Download PDF

Info

Publication number
JP6292796B2
JP6292796B2 JP2013174951A JP2013174951A JP6292796B2 JP 6292796 B2 JP6292796 B2 JP 6292796B2 JP 2013174951 A JP2013174951 A JP 2013174951A JP 2013174951 A JP2013174951 A JP 2013174951A JP 6292796 B2 JP6292796 B2 JP 6292796B2
Authority
JP
Japan
Prior art keywords
journaling
information
information processing
processing apparatus
journal log
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
Application number
JP2013174951A
Other languages
English (en)
Other versions
JP2015043178A (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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2013174951A priority Critical patent/JP6292796B2/ja
Publication of JP2015043178A publication Critical patent/JP2015043178A/ja
Application granted granted Critical
Publication of JP6292796B2 publication Critical patent/JP6292796B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Description

本発明は、情報処理装置、情報処理方法及びプログラムに関する。
記憶装置に対するファイル操作中に、電源断や記憶媒体の取り出し等の異常事象が発生すると、ファイルを管理するための情報と、ファイルの内容との間で整合性が取れなくなることがある。ジャーナリング機能付きのファイルシステム(以下、ジャーナリングファイルシステムと呼ぶ)では、更新履歴をジャーナルログとして二次記憶装置に保持することで、こういった障害が発生するリスクを低減させている。また、更新履歴には、ファイル等の操作履歴やファイルそのものの差分情報等が含まれ、どのような更新履歴を、どういった手順で保持するかによって、複数のジャーナリング方式が存在する。
特許文献1では、ジャーナリング領域に書き込むデータをスタックに溜めておき、先に二次記憶装置への更新処理が完了してジャーナルログが不要になった場合には、スタックのデータを削除するという技術が開示されている。
特許文献2では、データベースを論理的な単位に分割し、ジャーナルログの取得内容、ジャーナルログの取得の要、不要を設定してジャーナルログの取得を行う技術が開示されている。
特許文献3では、システムの負荷が小さいときには、ジャーナルログをディスクに即座に書き込むという技術が開示されている。
特開平11−203186号公報 特開平05−061751号公報 特開2004−62869号公報
従来のジャーナリングファイルシステムでは、マウントする際にジャーナリング方式を選択し、マウント中はジャーナリング方式を変更しない。そのため、従来のジャーナリングファイルシステムでは、システムの状態に応じて動的にジャーナリング方式を切り替えることができず、パフォーマンスや電力消費の観点で最適な制御を行うことが困難であった。
本発明は、効率的にデータを更新する技術を提供することを目的とする。
そこで、本発明の情報処理装置は、データの更新を管理するジャーナリングファイルシステムの実行中に、前記ジャーナリングファイルシステムジャーナリング方式を処理単位毎に決定する決定手段と、前記決定手段により決定された前記ジャーナリング方式で、処理単位毎に前記管理に係るジャーナルログを作成する作成手段と、前記作成手段により作成された前記ジャーナルログを処理単位毎に記憶領域に記録する記録手段と、を有することを特徴とする。
本発明によれば、効率的にデータを更新する技術を提供することができる。
情報処理装置のハードウェア構成の一例を示す図である。 実施形態1における情報処理装置の機能構成等の一例を示す図である。 ジャーナリング領域及びトランザクションの構成の一例を示す図である。 動作状態対応管理テーブルの一例を示す図である。 システム監視値の算出方法の概念の一例を示す図である。 実施形態1の処理の一例を示すフローチャート(その1)である。 実施形態1の処理の一例を示すフローチャート(その2)である。 実施形態2における情報処理装置の機能構成等の一例を示す図である。 個別ジャーナリングレベル管理テーブルの一例を示す図である。 実施形態2の処理の一例を示すフローチャートである。
以下、本発明を実施するための最良の形態について図面を用いて説明する。
<実施形態1>
図1は、本実施形態における情報処理装置100のハードウェア構成の一例を示す図である。
情報処理装置100は、通常、CPU101が複数のプロセスを1つずつ処理し、一定期間毎に処理を切り替える。ここで、CPU101は、演算処理等を行なうプロセッサコアを複数有していてもよい。また、情報処理装置100は、CPU101自体を複数有していてもよい。また、CPU101が二次記憶装置104等に記憶されているプログラムを一次記憶装置102に展開して実行することにより、後述する情報処理装置100の機能や、OS(Operating System)の機能及びフローチャートに係る処理が実現される。また、CPU101が前記プログラムを実行することにより、ジャーナリングファイルシステムが実現される。なお、上述したように、ジャーナリングファイルシステムは、ジャーナリング機能付きのファイルシステムである。また、ジャーナリングファイルシステムは、データの更新を管理する管理手段の一例である。ジャーナリングファイルシステムの詳細については、図2等を用いて後述する。
一次記憶装置102は、プログラム及びデータを記録するSDRAMやSRAM等を有する。一次記憶装置102に展開するプログラム、ファイル、ディレクトリ等のデータは、二次記憶装置104に記憶されている。
二次記憶装置104は、不揮発性の記憶装置であり、磁気ディスクの様に磁性体が塗布された記憶装置、書き込み回数に制限のあるNAND型フラッシュメモリを利用してデータを記録する記憶装置又は不揮発性のフラッシュメモリ等を用いることができる。また、二次記憶装置104には、半導体レーザーを利用してデータを記録する光ディスク、赤色レーザー光と、磁場とを用いてデータを記録する光磁気ディスク又は情報処理装置に対して挿抜可能な不揮発性のメモリカード等を用いることができる。二次記憶装置104は、CPU101が実行する各種のプログラムや各種のデータを記憶している。CPU101は、二次記憶装置104に記憶されているファイルの操作を、OSからI/Oコントローラ103を介して、READ要求(読出し要求)、WRITE要求(書込み要求)を行うことで実現する。なお、情報処理装置100は、複数の二次記憶装置104を有していてもよい。
本実施形態では、図2等を用いて後述するジャーナリングファイルシステムを利用する。ジャーナリングファイルシステムに記録される情報は、情報の内容にあたるデータ部分と、その情報の管理情報にあたるメタデータ部分とを有する。ファイル操作中の電源断や記憶媒体の取り出し等の異常事象が発生した場合、これらのファイルシステムに記録された情報の間で整合性が取れなくなることがある。ジャーナリングファイルシステムは、そのような事態を回避するため、ファイルやディレクトリの更新内容と、その管理情報との履歴情報を記憶装置に記録し、障害回復に利用できるようにしている。ここで、上述の履歴情報は、ジャーナルログと呼ばれる。また、ジャーナルログを記録する領域は、ジャーナリング領域と呼ばれる。また、ジャーナリング領域へジャーナルログを記録する処理は、ジャーナリングと呼ばれる。また、ジャーナリングにおいて、どのようなジャーナルログを、どういった手順で保持するかに関する方式を、ジャーナリング方式と呼ぶ。なお、ジャーナリング方式は、管理方式の一例である。更に、ジャーナリング領域に対して、前述のデータ部分及びメタデータ部分が置かれる領域のことをデータ領域と呼ぶ。
メタデータには、ファイルの管理情報(inode)の他、二次記憶装置104の各ブロックの使用状況を0と、1とで表現したブロックビットマップ、inodeの使用状況を0と、1とで区別したinodeビットマップ等がある。その他、メタデータには、空きブロック数、空きinode数等がある。また、inodeは、構成として、シンボリックリンクやデバイスファイルのようなファイルの種類を表すファイルモード、ファイルサイズ、ファイル最終参照時刻、ファイル最終状態変更時刻、ファイル最終更新時刻等の情報を含む。更に、inodeは、構成として、ファイル削除時刻、ユーザID、グループID、ファイルリンク数、使用ブロック数、ブロック番号、世代番号等の情報を含む。
次に、トランザクションについて説明する。トランザクションは、関連する複数の処理をまとめた処理単位である。なお、トランザクションは、ジャーナリングファイルシステムの整合性を保つために必要な依存関係がその中で閉じているジャーナルログの集合体を含む。トランザクションの中にあるジャーナルログが、トランザクションの外へ依存関係を波及させることはない。即ち、情報処理装置100は、障害発生等でジャーナルログより回復を行う場合、トランザクション単位毎(処理単位毎)で行う必要があり、不完全なトランザクションを回復処理に利用しない。
本実施形態では、ジャーナルログの記録内容や記録方法の違いによってジャーナリングレベルを規定している。なお、ジャーナリングレベルは、管理方式情報の一例である。例えば、ジャーナリングレベルは0から3まで4段階あるものとする。ジャーナリングレベル0は、ジャーナリングを行わないことを規定する。ジャーナリングレベル1と、ジャーナリングレベル2とは、メタデータのみをジャーナリングすることを規定する。両レベルの差異は、ジャーナリングレベル1がデータ領域の更新と、ジャーナリング領域の記録との順序が一意に定まらないことを規定するのに対し、ジャーナリングレベル2はデータ領域の更新後、ジャーナリング領域の記録が行われることを規定する点である。ジャーナリングレベル3は、メタデータのみならず、データの更新内容もジャーナリングを行うことを規定する。総じてジャーナリングレベルが高くなると信頼性が向上する反面、書き込みにかかる時間は長くなる。ジャーナリングレベルは、トランザクション単位で変更することができる。本実施形態では、ジャーナリングファイルシステムを有する情報処理装置100が自装置の状態に応じて一意に定めたジャーナリングレベルのことをジャーナリングポリシと呼ぶ。
図2は、本実施形態における情報処理装置100の機能構成等の一例を示す図である。
画像処理タスク201は、画像のフィルタやクロップ等の処理を行う。画像処理タスク201が扱うデータはクリティカル(重要)なものではなく、万が一障害が発生してデータが消失してしまっても、処理の再実行をすることができる。画像処理タスク201は、ジャーナリングファイルシステム203に対してファイル操作を要求する。その際、プログラム上では「open(filename、flags)」という書式のopen関数が用いられる。関数の引数では、「filename」にアクセスするファイルのファイル名、「flags」にアクセスした際のモード(読み込みだけなのか、書き込みも行うのか等)が指定される。open関数の処理が成功すると、画像処理タスク201は、ファイル操作に紐付けられたファイル識別子を得る。なお、ファイル識別子は、ファイル操作を識別する識別情報の一例である。画像処理タスク201は、以降のジャーナリングファイルシステム203に対するファイルの操作要求(以下、ファイル操作要求と呼ぶ)を、ファイル識別子を用いて行うことになる。
ジャーナリングファイルシステム203は、ファイルシステムコア部207、ジャーナルログ制御部208、ジャーナルログ記録部209及びジャーナルログ反映部213を有する。
ジャーナリングポリシ制御部204は、図4及び図5等を用いて後述するシステム監視値211の算出を行う。なお、システム監視値211は、監視値情報の一例である。また、ジャーナリングポリシ制御部204は、図4等を用いて後述する動作状態対応管理テーブル212を参照して、システム監視値211に対応するジャーナリングポリシに関する情報(以下、単にジャーナリングポリシという)を取得する。更に、ジャーナリングポリシ制御部204は、取得したジャーナリングポリシをジャーナルログ制御部208へ通知する。
一次記憶装置102には、システム監視値211に関する情報(以下、単にシステム監視値211という)が格納されている。
二次記憶装置104は、図3等を用いて後述するジャーナリング領域210、動作状態対応管理テーブル212、データ領域214を有する。
ファイルシステムコア部207は、ジャーナリング以外のファイル操作処理を行う中核である。
ジャーナルログ制御部208は、トランザクションの開始、終了を制御する。ファイルシステムコア部207と、ジャーナルログ制御部208とは、ファイルの更新状態を共有することで、ファイル操作と、ジャーナル操作とにおける整合性を保つ。ジャーナルログ制御部208は、トランザクションを開始する際に、最新のジャーナリングポリシに基づいて、ジャーナルログを作成する。
ジャーナルログ記録部209は、ジャーナリング領域210の内部構成を管理し、ジャーナリング領域210へジャーナルログを記録する。
ジャーナルログ反映部213は、ジャーナリング領域210内のジャーナルログの有効部分をデータ領域214へ反映させる。CPU101は、操作部等を介して受け付けたユーザの指示により、反映するトリガを予め定めることができる。例えば、反映するトリガは、ジャーナリング領域210内の有効なトランザクションが、予め設定されたサイズ(ジャーナリング領域のサイズの4分の1や2分の1等)を超えた場合としてもよい。その他、反映するトリガは、予め定められた時間(例えば5秒単位等)毎とする等してもよい。
次に、図3を用いてジャーナリング領域210の構成と、トランザクションの構成とについて説明する。
図3の(a)は、ジャーナリング領域210の構成の一例を示す図である。
ジャーナリング領域210は、ジャーナリング情報管理ブロック300及びリングバッファ301を有する。
ジャーナリング情報管理ブロック300は、開始位置情報302を含む。
リングバッファ301は、トランザクション303を含み、新しいトランザクション303の記録と、不要なトランザクション303の解放を繰り返す。
開始位置情報302は、リングバッファ301に記録された最も古いトランザクションの開始位置に関する情報(先頭アドレスやブロック番号等)を保持している。
図3の(b)は、トランザクション303の構成の一例を示す図である。
トランザクション303は、ディスクリプタブロック304、メタデータブロック305及びコミットブロック306を有する。
ディスクリプタブロック304は、トランザクション毎の管理情報を格納するブロックであり、二次記憶装置へ書き出す位置情報や、トランザクション識別用IDが格納されている。トランザクション識別用IDは数値であり、トランザクションが作成される度に加算される。
メタデータブロック305は、ジャーナルログの中核データ、即ち、更新履歴データを保持するブロックである。
コミットブロック306は、トランザクションの終了を示すブロックである。
なお、例えば、情報処理装置100は、二次記憶装置206の記憶領域の総容量の5%程度をジャーナリング領域210として確保するようにしてもよい。
次に、図4を用いて動作状態対応管理テーブル212について説明する。
図4は、動作状態対応管理テーブル212の一例を示す図である。
動作状態対応管理テーブル212は、システム監視値211に対応したジャーナリングレベルを規定したテーブルである。なお、動作状態対応管理テーブル212は、システム監視値211と、ジャーナリングレベルとが対応付けられた第1の対応情報の一例である。
例えば、図4の動作状態対応管理テーブル212は、システム監視値が0の場合はジャーナリングレベルを0、システム監視値が1以上10以下の場合はジャーナリングレベルを1と規定している。また、図4の動作状態対応管理テーブル212は、システム監視値が11以上30以下の場合はジャーナリングレベルを2、システム監視値が31以上の場合はジャーナリングレベルを3と規定している。即ち、ジャーナリングポリシ制御部204は、システム監視値211に基づいて、動作状態対応管理テーブル212を検索することで、ジャーナリングレベルに対応するジャーナリング方式を決定(第1の決定)することができる。
次に、図5を用いてシステム監視値211の算出方法について説明する。
図5は、システム監視値211の算出方法の概念の一例を示す図である。
ジャーナリングポリシ制御部204は、入力値をもとに演算を行い、システム監視値211を算出する。図5の例では、入力値が、ACPI情報401、I/O統計情報402及び起動プロセス情報403の情報量から構成される場合について示している。また、図5の例では、ジャーナリングポリシ制御部204によるシステム監視値211を算出する処理が、正規化処理404、重み付け処理405及び加算処理406から構成される場合について示している。
ACPI情報401は、ACPIのPステート情報を示す。情報処理装置100は、CPU101の使用率等に応じて動作周波数と、動作電圧とを切り替えることで消費電力を抑制する。この際、Pステートは、動作周波数が切り替え可能なシステムにおいて、どの段階で動作しているかを示す指標になる。
I/O統計情報402は、情報処理装置100の単位時間当たりの二次記憶装置104に対するI/Oアクセス量を示す。
起動プロセス情報403は、起動しているプロセスの量や種別をもとに情報処理装置100の状態を数値化したもので、数値が高いほど負荷が高いことを示す。
正規化処理404は、ACPI情報401、I/O統計情報402及び起動プロセス情報403の情報量を正規化する処理である。なお、正規化処理404において、ACPI情報401、I/O統計情報402及び起動プロセス情報403の情報量の中から一つの情報量のみを正規化してシステム監視値211とするようにしてもよい。そして、ジャーナリングポリシ制御部204は、正規化したシステム監視値211に基づいて、動作状態対応管理テーブル212からジャーナリングレベルを導出してもよい。この場合、例えば、ジャーナリングポリシ制御部204は、ACPI情報401から省電力状態であることを検出した場合、ジャーナリングレベルを下げるといった判断をすることができる。なお、ここでいう省電力状態とは、情報処理装置100の機能の一部を一時的に停止している状態のことである。また、ジャーナリングポリシ制御部204は、I/O統計情報402からI/Oアクセス量が予め定められたアクセス量より低い状態であることを検出した場合、ジャーナリングレベルを上げるといった判断をすることができる。なお、CPU101は、操作部等を介して受け付けたユーザの指示により、予めアクセス量の閾値を設定することができる。更に、ジャーナリングポリシ制御部204は、正規化処理404で正規化することにより、ACPI情報401、I/O統計情報402及び起動プロセス情報403の情報量の間での演算処理をすることができるようになる。
重み付け処理405は、正規化処理404での正規化後の各情報量の重み付けを調整するための処理である。そして、ジャーナリングポリシ制御部204が重み付け後の情報量に対して加算処理406して算出した値が、システム監視値211である。ジャーナリングポリシ制御部204は、算出したシステム監視値211に基づいて、動作状態対応管理テーブル212を検索(第1の検索)することで、複数の入力情報に基づいたジャーナリングレベルを取得することができる。
重み付け処理405による重み付けの内容及び動作状態対応管理テーブル212の内容は、情報処理装置100の使用形態に応じて変更してもよい。例えば、I/O統計情報402の重み付けを他より大きくし、動作状態対応管理テーブル212との関係を調整することによって、ジャーナリングポリシ制御部204は、書き込み量が予め定められた量より多い場合には、ジャーナリングレベルの上限を2までに留めるといった制御をすることができる。なお、CPU101は、操作部等を介して受け付けたユーザの指示により、書き込み量の閾値を予め設定することができる。また、ACPI情報401の重み付けを他より大きくし、動作状態対応管理テーブル212との関係を調整することによって、ジャーナリングポリシ制御部204は、省電力状態の場合には、ジャーナリングレベルを0にするといった制御をすることができる。また、重み付けが必要ない場合、ジャーナリングポリシ制御部204は、重み付け処理405を行わないか、重み付け処理405で各パラメータに対して同等の重み付けをすることによって、重み付けを必要としない場合と同等の効果を得ることができる。
以上、上述した方法により、ジャーナリングポリシ制御部204は、システム監視値211を算出し、更に、算出したシステム監視値211に基づいて動作状態対応管理テーブル212を検索してジャーナリングレベルを導出することができる。そして、ジャーナリングポリシ制御部204は、導出したジャーナリングレベルをジャーナリングポリシとして、ジャーナルログ制御部208へ通知する。なお、ジャーナリングポリシ制御部204が通知するタイミングは、タイマによる定期実行を契機としてもよいし、予め定められたイベントを契機としてもよい。なお、CPU101は、操作部等を介して受け付けたユーザの指示により、予め契機となるタイマの設定をすることができる。同様に、CPU101は、操作部等を介して受け付けたユーザの指示により、予め契機となるイベントの情報を設定することができる。
次に、図6を用いて、本実施形態におけるジャーナリング処理について説明する。
図6は、本実施形態における情報処理装置100が起動してからジャーナリングを実行して定常状態に至るまでの処理の一例を示すフローチャートである。
S600において、情報処理装置100の電源が投入されると、本フローチャートの処理が開始される。
S601において、情報処理装置100のOSは、ジャーナリングファイルシステム203をマウントし、処理をS602へ進める。即ち、情報処理装置100のOSがジャーナリングファイルシステム203を認識し、ジャーナリングファイルシステム203が実行中の状態となる。
S602において、ジャーナリングポリシ制御部204は、情報処理装置100の起動直後における予め定められたデフォルトのジャーナリングレベルをジャーナリングポリシとして、ジャーナルログ制御部208へ通知する。なお、デフォルトのジャーナリングレベルに関する情報は、予め二次記憶装置104等に格納されているものとする。また、CPU101は、操作部等を介して受け付けたユーザの指示により、デフォルトのジャーナリングレベルに関する情報を変更することができる。ここで、情報処理装置100は、定常状態に移行する。なお、ここでいう定常状態とは、情報処理装置100の機能が全て起動している状態のことである。定常状態において、S603と、S604との処理が並列に実行される。
S603において、ジャーナリングポリシ制御部204は、タイマによる定期実行や特定のイベント等、予め規定した契機毎に、図5等を用いて説明した方法によりジャーナリングポリシを導出し、ジャーナルログ制御部208へ通知する。
S604において、ジャーナルログ記録部209は、トランザクション単位でジャーナルログを記録する。なお、S604の処理の詳細については、図7を用いて後述する。
以上の処理により、情報処理装置100は、自装置の状態に応じてジャーナリングレベルをトランザクション単位で動的に制御することができる。
次に、図7を用いて、図6のフローチャートにおけるS604の処理について説明する。
図7は、図6のS604におけるトランザクションの周期処理の一例を示すフローチャートである。
S700において、ジャーナルログ制御部208は、トランザクションを新規に作成し、処理をS701へ進める。以降、ジャーナルログ制御部208は、作成中のトランザクションを管理する。
S701において、ジャーナルログ制御部208は、ジャーナリングポリシ制御部204から通知されたジャーナリングポリシに基づき、ジャーナルログを作成し、処理をS702へ進める。
S702において、ジャーナルログ記録部209は、ジャーナルログ制御部208が作成したジャーナルログをジャーナリング領域210へ記録し、処理をS703へ進める。
S703において、ジャーナルログ制御部208は、ファイルの更新状態をファイルシステムコア部207と共有し、トランザクションを終了可能か否か判定する。より具体的にいうと、ジャーナルログ制御部208と、ファイルシステムコア部207とは、ファイル操作と、ジャーナル操作とにおける整合性が保てていれば、トランザクションを終了可能と判定する。S703において、ジャーナルログ制御部208は、トランザクションを終了可能と判定した場合、処理をS704に進め、終了可能でないと判定した場合、処理をS701に戻す。
S704において、ジャーナルログ制御部208は、トランザクションを終了する。そして、ジャーナルログ記録部209は、残りのジャーナルログをジャーナリング領域210へ記録する。
以上の処理により、情報処理装置100は、ジャーナリングポリシに基づき、トランザクション単位でジャーナルログを作成し、作成したジャーナルログをジャーナリング領域210へ記録することができる。
以上、本実施形態によれば、情報処理装置100は、自装置の状態に応じてジャーナリングレベルをトランザクション単位で動的に制御することができる。そして、情報処理装置100は、前記ジャーナリングレベルに基づいてトランザクション単位で作成したジャーナルログをジャーナリング領域210へ記録することができる。これにより、情報処理装置100は、ジャーナリングファイルシステムによる処理において、パフォーマンスや電力消費を改善させることができる。
<実施形態2>
実施形態1で述べたように、情報処理装置100のジャーナリングポリシ制御部204は、システム監視値211を算出し、算出したシステム監視値211に基づいて動作状態対応管理テーブル212を検索することで、ジャーナリングポリシを導出する。そして、ジャーナルログ制御部208は、導出したジャーナリングポリシに基づいてジャーナルログを作成する。更に、ジャーナルログ記録部209は、ジャーナルログ制御部208により作成されたジャーナルログをジャーナリング領域210へ記録する。
ここで、実施形態1のopen関数を利用する場合、全てのタスクにおける書き込みアクセスは、情報処理装置100で一意のジャーナリングポリシに準じたジャーナリングレベルになる。しかし、一部のタスクでは、それが望ましくない場合がある。例えば、商業印刷で用いる情報処理装置では、原稿ファイルのサイズが非常に大きくなるため、二次記憶装置への書き込みに多くの時間を費やす。そのため、書き込み中に障害が発生した場合は障害の影響を受けやすくなるが、原稿内容は大変重要なデータであるため、消失を防がなければならない。こういった重要なタスクに関しては、情報処理装置100で一意のジャーナリングポリシに準ずるのではなく、例えば常にジャーナリングレベル3で処理が行われる方が望ましい。以下では、このような要件に対する実施形態について説明する。
図8は、本実施形態における情報処理装置100の機能構成等の一例を示す図である。
図8の情報処理装置100は、画像処理タスク901、原稿加工タスク902、ジャーナリングファイルシステム903、ジャーナリングポリシ制御部904、一次記憶装置102及び二次記憶装置104を有する。
ジャーナリングファイルシステム903は、ファイルシステムコア部907、ジャーナルログ制御部908、ジャーナルログ記録部909、ジャーナルログ反映部913及び個別ジャーナリングレベル管理テーブル918を有する。
一次記憶装置102は、システム監視値911を有する。
二次記憶装置104は、ジャーナリング領域910、データ領域914及び動作状態対応管理テーブル912を有する。また、ジャーナリング領域910には、レベル1用領域915、レベル2用領域916及びレベル3用領域917が含まれる。
ここで、画像処理タスク901、ジャーナリングポリシ制御部904、一次記憶装置102、二次記憶装置104、システム監視値911、動作状態対応管理テーブル912及びデータ領域914に関しては実施形態1と同様であるため、説明を省略する。
以下、主に実施形態1と異なる点について説明する。
原稿加工タスク902は、原稿ファイルの作成に関わる処理を行う。原稿加工タスク902が扱うデータはクリティカルなデータであるため、障害が発生した際には発生前の状態に確実に復元する必要がある。
画像処理タスク901及び原稿加工タスク902共に、ジャーナリングファイルシステム903に対してファイル操作要求するが、要求の仕方が異なる。画像処理タスク901の場合については、実施形態1と同様であるため説明を省略する。原稿加工タスク902の場合、プログラム上ではopen2(filename、flags、journallevel)という書式のopen2関数を用いる。関数の引数では、filenameにアクセスするファイルのファイル名、flagsにアクセスした際のモード(読み込みだけなのか、書き込みも行うのか等)及びjournallevelにジャーナリングレベルが指定される。Open2関数が呼ばれると、ファイルシステムコア部907は、ファイル操作を識別するためのファイル識別子を新たに割り当てる。また、ファイルシステムコア部907は、open2関数で渡されたジャーナリングレベルと、ファイル識別子との対応を管理するために、個別ジャーナリングレベル管理テーブル918を更新する。
図9は、個別ジャーナリングレベル管理テーブル918の一例を示す図である。なお、個別ジャーナリングレベル管理テーブル918は、ファイル識別子と、ジャーナリングレベルとが対応付けられた第2の対応情報の一例である。
図9の例は、ファイル識別子がXXXXの場合はジャーナリングレベル0、ファイル識別子がYYYYの場合はジャーナリングレベル3であることを示している。また、図9の例は、ファイル識別子がZZZZの場合はジャーナリングレベル0、ファイル識別子がAAAAの場合はジャーナリングレベル1であることを示している。即ち、ジャーナルログ制御部908は、ファイル識別子に基づいて、個別ジャーナリングレベル管理テーブル918を検索することで、ジャーナリングレベルに対応するジャーナリング方式を決定(第2の決定)することができる。
Open2関数の処理が成功することで、原稿加工タスク902は、ファイル操作に紐付けられたファイル識別子を得る。なお、タスクは、処理を実行する処理実行手段の一例である。以降のジャーナリングファイルシステム903に対するファイル操作要求は、ファイル識別子を用いて行うことになる。
ファイルシステムコア部907と、ジャーナルログ制御部908とは、ファイルの更新状態を共有することで、ファイル操作と、ジャーナル操作との整合性を保つ。ジャーナルログ制御部908は、トランザクション開始の際、個別ジャーナリングレベル管理テーブル918からファイル識別子を検索(第2の検索)する。そして、ジャーナルログ制御部908は、ファイル識別子を特定することができた場合は、対応するジャーナリングレベルに基づいてジャーナルログを作成する。一方、ジャーナルログ制御部908は、ファイル識別子を特定することができなかった場合は、最新のジャーナリングポリシに基づいてジャーナルログを作成する。
ジャーナリング領域910は、ジャーナリングレベル毎(管理方式毎)に領域が分割されている。より具体的には、ジャーナリング領域910は、レベル1用領域915、レベル2用領域916、レベル3用領域917に分かれている。ここで、レベル1用領域915は、ジャーナリングレベル1のジャーナルログを記録する記憶領域である。レベル2用領域916は、ジャーナリングレベル2のジャーナルログを記録する記憶領域である。レベル3用領域917は、ジャーナリングレベル3のジャーナルログを記録する記憶領域である。また、レベル1用領域915、レベル2用領域916及びレベル3用領域917のそれぞれが、図3で示した内部構成に含まれる。
ジャーナルログ記録部909は、ジャーナルログを、ジャーナルログのジャーナリングレベルに合ったジャーナリング領域に記録する。また、トランザクション区間中において、各々のジャーナリング領域のディスクリプタブロック304に設定するトランザクション識別用IDは、同一のものとなる。
ジャーナルログ反映部913は、ジャーナリング領域910内のジャーナルログの有効部分をデータ領域914へ反映させる。ここで、ジャーナルログ反映部913は、全ジャーナリング領域のディスクリプタブロック304に記されているトランザクション識別用IDの中から若い順にデータ領域914へ反映させる。もし、同一のトランザクション識別用IDが複数のジャーナリング領域で見つかった場合、ジャーナルログ反映部913は、全てのジャーナリング領域分の反映が終わるまで、それより後ろのトランザクション識別用IDのトランザクションの操作を行ってはならない。
次に、図10を用いて、本実施形態におけるジャーナリング処理について説明する。
情報処理装置100の電源が投入されてから定常状態に至るまでの処理の流れは、実施形態1の図6と同様であるため、説明を省略する。
図10は、図6のS604におけるトランザクションの周期処理の一例を示すフローチャートである。
S800において、ジャーナルログ制御部908は、トランザクションを新規に作成し、処理をS801へ進める。以降、ジャーナルログ制御部908は、作成中のトランザクションを管理する。
S801において、ジャーナルログ制御部908は、個別ジャーナリングレベル管理テーブル918から上述したファイル識別子を検索し、一致するファイル識別子が存在するか否かを判定する。S801において、ジャーナルログ制御部908は、一致するファイル識別子が存在すると判定した場合、処理をS803に進め、一致するファイル識別子が存在しないと判定した場合、処理をS802に進める。
S802において、ジャーナルログ制御部908は、個別ジャーナリングレベル管理テーブル918から取得したジャーナリングレベルに基づき、ジャーナルログを作成し、処理をS804へ進める。
S803において、ジャーナルログ制御部908は、ジャーナリングポリシ制御部904から通知されたジャーナリングポリシに基づき、ジャーナルログを作成し、処理をS804へ進める。
S804において、ジャーナルログ記録部909は、ジャーナリング領域910の中のジャーナリングレベルに合ったジャーナリング領域へジャーナルログを記録し、処理をS805へ進める。
S805において、ジャーナルログ制御部908は、ファイルの更新状態をファイルシステムコア部907と共有し、トランザクションを終了可能か否か判定し、トランザクションを終了可能と判定した場合、処理をS806に進める。一方、S805において、ジャーナルログ制御部908は、トランザクションを終了可能でないと判定した場合、処理をS801に戻す。なお、S805の処理は、図7のS703の処理と同様であるため、詳細な説明を省略する。
S806において、ジャーナルログ制御部908は、トランザクションを終了する。そして、ジャーナルログ記録部909は、残りのジャーナルログをジャーナリング領域910へ記録する。
以上の処理により、情報処理装置100は、処理内容に応じたジャーナリングレベルに基づき、トランザクション単位でジャーナルログを作成し、作成したジャーナルログをジャーナリングレベルに応じた記録領域に記録することができる。
以上、本実施形態によれば、情報処理装置100は、自装置の状態によらず、処理内容に応じたジャーナリングレベルに基づいてジャーナルログを作成することができる。即ち、情報処理装置100は、クリティカルなデータを処理する場合、自装置の状態に基づくジャーナリングレベルではなく、処理内容に応じたジャーナリングレベルに基づいて処理を行うことができる。また、情報処理装置100は、処理内容に応じて同時に複数のジャーナリング方式を利用することができる。更に、情報処理装置100は、作成したジャーナルログをジャーナリングレベルに応じた記録領域に記録することができる。これにより、情報処理装置100は、二次記憶装置104を有効活用しながら効率的な処理を実現することができる。
<その他の実施形態>
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(又はCPUやMPU等)がプログラムを読み出して実行する処理である。
以上、上述した各実施形態によれば、効率的にデータを更新する技術を提供することができる。
以上、本発明の好ましい形態について詳述したが、本実施形態は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。

Claims (10)

  1. データの更新を管理するジャーナリングファイルシステムの実行中に、前記ジャーナリングファイルシステムジャーナリング方式を処理単位毎に決定する決定手段と、
    前記決定手段により決定された前記ジャーナリング方式で、処理単位毎に前記管理に係るジャーナルログを作成する作成手段と、
    前記作成手段により作成された前記ジャーナルログを処理単位毎に記憶領域に記録する記録手段と、
    を有することを特徴とする情報処理装置。
  2. 前記決定手段は、前記情報処理装置の状態に基づいて、前記ジャーナリング方式を処理単位毎に決定する第1の決定手段を有することを特徴とする請求項1記載の情報処理装置。
  3. 前記決定手段は、前記ジャーナリング方式に係るジャーナリング方式情報が指定された場合、前記指定されたジャーナリング方式情報に基づいて、前記ジャーナリング方式を処理単位毎に決定する第2の決定手段を更に有することを特徴とする請求項2記載の情報処理装置。
  4. 前記第1の決定手段は、入力情報に基づいて前記情報処理装置の状態に係る監視値を処理単位毎に算出する算出手段を有し、
    前記決定手段は、前記算出手段により算出された監視値に基づいて、前記ジャーナリング方式を決定することを特徴とする請求項2又は3記載の情報処理装置。
  5. 前記算出手段は、入力情報が複数ある場合、各入力情報に対して重み付けをし、前記重み付けをした入力情報に基づいて前記監視値を処理単位毎に算出することを特徴とする請求項4記載の情報処理装置。
  6. 前記第2の決定手段は、前記ジャーナリングファイルシステムの処理を識別する識別情報に対応するジャーナリング方式情報を検索し、前記ジャーナリング方式情報に基づいて、前記ジャーナリング方式を決定することを特徴とする請求項3記載の情報処理装置。
  7. 前記第2の決定手段は、前記ジャーナリング方式情報が検索されたか否かを判定する判定手段を更に有し、
    前記判定手段によりジャーナリング方式情報が検索されたと判定された場合、処理単位毎のジャーナリング方式を、前記検索されたジャーナリング方式情報に対応するジャーナリング方式に決定し、前記判定手段によりジャーナリング方式情報が検索されなかったと判定された場合、処理単位毎のジャーナリング方式を、前記第1の決定手段により決定されたジャーナリング方式に決定することを特徴とする請求項6記載の情報処理装置。
  8. 前記記録手段は、前記作成手段により作成された前記ジャーナルログを、前記ジャーナリング方式毎に異なる記憶領域に記録することを特徴とする請求項1乃至7何れか1項記載の情報処理装置。
  9. 情報処理装置が実行する情報処理方法であって、
    データの更新を管理するジャーナリングファイルシステムの実行中に、前記ジャーナリングファイルシステムジャーナリング方式を処理単位毎に決定する決定ステップと、
    前記決定ステップにより決定された前記ジャーナリング方式で、処理単位毎に前記管理に係るジャーナルログを作成する作成ステップと、
    前記作成ステップにより作成された前記ジャーナルログを処理単位毎に記憶領域に記録する記録ステップと、
    を含むことを特徴とする情報処理方法。
  10. コンピュータに、
    データの更新を管理するジャーナリングファイルシステムの実行中に、前記ジャーナリングファイルシステムジャーナリング方式を処理単位毎に決定する決定ステップと、
    前記決定ステップにより決定された前記ジャーナリング方式で、処理単位毎に前記管理に係るジャーナルログを作成する作成ステップと、
    前記作成ステップにより作成された前記ジャーナルログを処理単位毎に記憶領域に記録する記録ステップと、
    を実行させるためのプログラム。
JP2013174951A 2013-08-26 2013-08-26 情報処理装置、情報処理方法及びプログラム Expired - Fee Related JP6292796B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013174951A JP6292796B2 (ja) 2013-08-26 2013-08-26 情報処理装置、情報処理方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013174951A JP6292796B2 (ja) 2013-08-26 2013-08-26 情報処理装置、情報処理方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2015043178A JP2015043178A (ja) 2015-03-05
JP6292796B2 true JP6292796B2 (ja) 2018-03-14

Family

ID=52696672

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013174951A Expired - Fee Related JP6292796B2 (ja) 2013-08-26 2013-08-26 情報処理装置、情報処理方法及びプログラム

Country Status (1)

Country Link
JP (1) JP6292796B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102637757B1 (ko) * 2016-06-01 2024-02-19 삼성전자 주식회사 전자 장치 및 전자 장치의 파일 데이터 저널링 방법
KR101932967B1 (ko) * 2016-12-16 2018-12-27 한양대학교 산학협력단 저널링 파일 시스템에서의 메타데이터 저장 방법 및 그 방법이 적용된 데이터 기록 장치

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2674374B2 (ja) * 1991-07-25 1997-11-12 日本電気株式会社 オンライン情報処理システムにおけるジャーナル採取方式
JP2009104488A (ja) * 2007-10-24 2009-05-14 Hitachi Ltd ストレージ装置及びその制御方法並びにストレージシステム

Also Published As

Publication number Publication date
JP2015043178A (ja) 2015-03-05

Similar Documents

Publication Publication Date Title
US9396198B2 (en) Computer system, file management method and metadata server
US8074035B1 (en) System and method for using multivolume snapshots for online data backup
US8239356B2 (en) Methods and apparatuses for data protection
US8909614B2 (en) Data access location selecting system, method, and program
US20150039837A1 (en) System and method for tiered caching and storage allocation
US20060047926A1 (en) Managing multiple snapshot copies of data
JP5290287B2 (ja) ネットワークブートシステム
JP5445463B2 (ja) 計算機システム、データ保存方法およびプログラム
JP2007183701A (ja) スナップショット再起動方法
US20140298333A1 (en) Migration processing program, migration method, and cloud computing system
JP4681247B2 (ja) ディスクアレイ装置及びディスクアレイ装置の制御方法
JPH04299748A (ja) ファイルの管理方法及び装置
JP2007183763A (ja) システム、サーバ装置及びスナップショットの形式変換方法
JP2007241486A (ja) 記憶装置システム
US20130226873A1 (en) Storage system and method for controlling storage system
CN105573859A (zh) 一种数据库的数据恢复方法和设备
JP2007323507A (ja) 記憶システム並びにこれを用いたデータの処理方法
JP2009251853A (ja) メモリデータベース、メモリデータベースシステム及びメモリデータベース更新方法
CN108475201A (zh) 一种虚拟机启动过程中的数据获取方法和云计算系统
US7849264B2 (en) Storage area management method for a storage system
CN105469001B (zh) 磁盘数据保护方法及装置
JP6292796B2 (ja) 情報処理装置、情報処理方法及びプログラム
JP2015114750A (ja) 調査用プログラム,情報処理装置及び情報処理方法
US10360990B2 (en) Information processing device, information processing method, and program
CN116648693A (zh) 用于备份文件系统的方法和设备

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160808

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170531

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170627

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180213

R151 Written notification of patent or utility model registration

Ref document number: 6292796

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees