(57)【要約】【課題】ダンプ対象のデータを複数のブロックに分割し、圧縮処理と出力処理を調整しながら並列処理することによりダンプ採取時間を短縮すること。【解決手段】ダンプ対象のデータを複数に分割したブロック１１の単位でダンプデータを記録しブロック１１毎にブロックサイズや格納位置を含むブロック管理表２４を記録するダンプファイル３１と、ダンプの実行を管理するブロック管理部２１と、ブロック管理部２１により起動され指定されたブロック１１の圧縮処理を実行し実行後にブロック管理表２４のブロックサイズを登録する圧縮部２２と、ブロック管理部２１により起動され圧縮部２２が圧縮したブロックをブロック１１毎にブロック管理部２１で指定されたダンプファイル３１へ出力するとともにブロック管理表２４の格納位置を登録した後にブロック管理表２４を指定されたダンプファイル３１へ出力する出力部２３とを有する。【選択図】      図１
2004234181.tif 000002
【特許請求の範囲】
【請求項１】
ダンプ対象のデータを複数に分割したブロック単位でダンプデータを記録する１以上のダンプファイルと、ダンプの実行を管理するブロック管理部と、ブロック管理部により起動され指定されたブロックの圧縮処理を実行する圧縮部と、ブロック管理部により起動され圧縮部が圧縮したブロックをブロック毎にブロック管理部で指定されたダンプファイルへ出力する出力部とを有し、前記圧縮部又は前記出力部は少なくとも一方が複数起動されることを特徴とするダンプ採取方式。
【請求項２】
ダンプ対象のデータを複数に分割したブロック単位でダンプデータを記録する１以上のダンプファイルと、ダンプの実行を管理するブロック管理部とを有するダンプ採取方式であって、
前記ブロック管理部は、ブロック毎に圧縮処理を順次実行する圧縮部を複数起動し、圧縮部で圧縮されたブロックをブロック毎にダンプファイルへ出力する出力部を複数起動し、圧縮部と出力部の動作中に圧縮部の進み具合と出力部の進み具合を比較して遅れている方の進み具合を早めるように調整することを特徴とするダンプ採取方式。
【請求項３】
ダンプ対象のデータを複数に分割したブロック単位でダンプデータを記録するとともにブロック毎にブロックサイズや格納位置を含む属性情報を含むブロック管理表を記録する１以上のダンプファイルと、
ダンプの実行を管理するブロック管理部と、ブロック管理部により起動され指定されたブロックの圧縮処理を実行し実行後にブロック管理表のブロックサイズを登録する圧縮部と、ブロック管理部により起動され圧縮部が圧縮したブロックをブロック毎にブロック管理部で指定されたダンプファイルへ出力するともにブロック管理表の格納位置を登録した後にブロック管理表を指定されたダンプファイルへ出力する出力部とを有することを特徴とするダンプ採取方式。
【請求項４】
ダンプ対象のデータを複数に分割したブロック単位でダンプデータを記録するとともにブロック毎のブロックサイズや格納位置を含む属性情報を含むブロック管理表を記録する１以上のダンプファイルと、ダンプの実行を管理するブロック管理部とを有するダンプ採取方式であって、
前記ブロック管理部は、ブロック毎に圧縮処理を順次実行し実行後にブロック管理表にブロックサイズを登録する圧縮部を複数起動し、圧縮部で圧縮されたブロックをブロック毎にダンプファイルへ出力するとともにブロック管理表の格納位置を登録した後にブロック管理表を指定されたダンプファイルへ出力する出力部を複数起動し、圧縮部と出力部の動作中に圧縮部の進み具合と出力部の進み具合を比較して遅れている方の進み具合を早めるように調整することを特徴とするダンプ採取方式。
【請求項５】
前記ブロック管理部は、前記圧縮部の進み具合が速い場合は起動されている前記圧縮部の少なくとも１つを中断し、前記出力部の進み具合が速い場合は起動されている前記出力部の少なくとも１つを中断するように調整することを特徴とする請求項２又は４のダンプ採取方式。
【請求項６】
前記ブロック管理部は、前記圧縮部の進み具合が速い場合は中断中の前記出力部があればそれを再開し中断中の前記出力部がなければ新たな前記出力部を起動し、前記出力部の進み具合が速い場合は中断中の前記圧縮部があればそれを再開し中断中の前記圧縮部がなければ前記圧縮部を新たに起動するように調整することを特徴とする請求項２又は４のダンプ採取方式。
【請求項７】
前記ダンプファイルは２以上あり、前記ブロック管理部は全てのブロックのダンプファイルへの出力が終了した後に前記ブロック管理表を全てのダンプファイルに出力することを特徴とする請求項３又は４のダンプ採取方式。
【請求項８】
ダンプ対象のデータを複数に分割したブロック毎に順次圧縮処理を実行する圧縮部と、圧縮部が圧縮したブロックをブロック毎に指定されたダンプファイルへ順次出力する出力部のうち、少なくとも一方を複数起動してダンプを実行することを特徴とするダンプ採取方法。
【請求項９】
ダンプ対象のデータを複数に分割したブロック毎に圧縮処理を順次実行する圧縮部を複数起動し、圧縮部で圧縮されたブロックをブロック単位でダンプデータを記録するダンプファイルへ出力する出力部を複数起動し、圧縮部と出力部の動作中に圧縮部の進み具合と出力部の進み具合を比較して遅れている方の進み具合を早めるように調整することを特徴とするダンプ採取方法。
【請求項１０】
ダンプ対象のデータを複数に分割したブロック毎に圧縮処理を順次実行し実行後にブロック毎にブロックサイズや格納位置を含む属性情報を含むブロック管理表にブロックサイズを登録する圧縮部と、圧縮部で圧縮されたブロックをブロック単位でダンプデータを記録するダンプファイルへ出力するとともにブロック管理表の格納位置を登録した後にブロック管理表を指定されたダンプファイルへ出力する出力部のうち、少なくとも一方を複数起動してダンプを実行することを特徴とするダンプ採取方法。
【請求項１１】
ダンプ対象のデータを複数に分割したブロック毎に圧縮処理を順次実行し実行後にブロック毎にブロックサイズや格納位置を含む属性情報を含むブロック管理表にブロックサイズを登録する圧縮部を複数起動し、圧縮部で圧縮されたブロックをブロック単位でダンプデータを記録するダンプファイルへ出力するとともにブロック管理表の格納位置を登録した後にブロック管理表を指定されたダンプファイルへ出力する出力部を複数起動し、圧縮部と出力部の動作中に圧縮部の進み具合と出力部の進み具合を比較して遅れている方の進み具合を早めるように調整することを特徴とするダンプ採取方法。
【請求項１２】
前記圧縮部の進み具合が速い場合は起動されている前記圧縮部の少なくとも１つを中断し、前記出力部の進み具合が速い場合は起動されている前記出力部の少なくとも１つを中断するように調整することを特徴とする請求項９又は１１のダンプ採取方法。
【請求項１３】
前記圧縮部の進み具合が速い場合は中断中の前記出力部があればそれを再開し中断中の前記出力部がなければ新たな前記出力部を起動し、前記出力部の進み具合が速い場合は中断中の前記圧縮部があればそれを再開し中断中の前記圧縮部がなければ前記圧縮部を新たに起動するように調整することを特徴とする請求項９又は１１のダンプ採取方法。
【請求項１４】
前記ダンプファイルは２以上あり、全てのブロックのダンプファイルへの出力が終了した後に前記ブロック管理表を全てのダンプファイルに出力することを特徴とする請求項１０又は１１のダンプ採取方法。
【請求項１５】
ダンプ対象のデータを複数に分割したブロック毎に順次圧縮処理を実行する圧縮部と、圧縮部が圧縮したブロックをブロック毎に指定されたダンプファイルへ順次出力する出力部のうち、少なくとも一方を複数起動してダンプを実行する手順をコンピュータに実行させることを特徴とするプログラム。
【請求項１６】
ダンプ対象のデータを複数に分割したブロック毎に圧縮処理を順次実行する圧縮部を複数起動する手順と、圧縮部で圧縮されたブロックをブロック単位でダンプデータを記録するダンプファイルへ出力する出力部を複数起動する手順と、圧縮部と出力部の動作中に圧縮部の進み具合と出力部の進み具合を比較して遅れている方の進み具合を早めるように調整する手順とをコンピュータに実行させることを特徴とするプログラム。
【請求項１７】
ダンプ対象のデータを複数に分割したブロック毎に圧縮処理を順次実行し実行後にブロック毎にブロックサイズや格納位置を含む属性情報を含むブロック管理表にブロックサイズを登録する圧縮部と、圧縮部で圧縮されたブロックをブロック単位でダンプデータを記録するダンプファイルへ出力するとともにブロック管理表の格納位置を登録した後にブロック管理表を指定されたダンプファイルへ出力する出力部のうち、少なくとも一方を複数起動してダンプを実行する手順をコンピュータに実行させることを特徴とするプログラム。
【請求項１８】
ダンプ対象のデータを複数に分割したブロック毎に圧縮処理を順次実行し実行後にブロック毎にブロックサイズや格納位置を含む属性情報を含むブロック管理表にブロックサイズを登録する圧縮部を複数起動する手順と、圧縮部で圧縮されたブロックをブロック単位でダンプデータを記録するダンプファイルへ出力するとともにブロック管理表の格納位置を登録した後にブロック管理表を指定されたダンプファイルへ出力する出力部を複数起動する手順と、圧縮部と出力部の動作中に圧縮部の進み具合と出力部の進み具合を比較して遅れている方の進み具合を早めるように調整する手順とをコンピュータに実行させることを特徴とするプログラム。
【請求項１９】
前記圧縮部の進み具合が速い場合は起動されている前記圧縮部の少なくとも１つを中断し、前記出力部の進み具合が速い場合は起動されている前記出力部の少なくとも１つを中断するように調整する手順をコンピュータに実行させることを特徴とする請求項１６又は１８のプログラム。
【請求項２０】
前記圧縮部の進み具合が速い場合は中断中の前記出力部があればそれを再開し中断中の前記出力部がなければ新たな前記出力部を起動し、前記出力部の進み具合が速い場合は中断中の前記圧縮部があればそれを再開し中断中の前記圧縮部がなければ前記圧縮部を新たに起動するように調整する手順をコンピュータに実行させることを特徴とする請求項１６又は１８のプログラム。
【請求項２１】
前記ダンプファイルは２以上あり、全てのブロックのダンプファイルへの出力が終了した後に前記ブロック管理表を全てのダンプファイルに出力する手順をコンピュータに実行させることを特徴とする請求項１７又は１８のプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はダンプ採取方式、ダンプ採取方法、及びプログラムに関し、特にダンプの採取時間を短縮させる技術に関する。
【０００２】
【従来の技術】
従来、障害が発生した際にその障害原因を解明するために、障害発生時点のデータを記録しておき、後で専門の知識を有する者により記録した情報により障害原因を解析できるような技術が知られている。障害発生時点にメモリ上に有る障害解析に有効な情報はダンプという処理により磁気ディスク等の不揮発性の外部記憶装置等に記録される。近年、システムの大規模化、メモリ容量の増大によって、ダンプするデータ容量が増大し、ダンプ採取時間が大きくなる傾向があり、ダンプするデータ容量の削減とダンプ採取時間の短縮が必要となってきている。
【０００３】
特開平９−１７１４７６号公報によれば、ダンプすべきメモリデータをページ単位に分割して圧縮処理し、その分割単位で磁気ディスクに出力して記録することにより、ダンプデータを格納する磁気ディスクの容量を削減している。また、圧縮されたデータの復元が分割単位に実行できるので、全ての復元を待たずに必要な部分から順次復元を行ってより早く必要なデータを取得し解析を始めることができる。
【０００４】
【特許文献１】
特開平９−１７１４７６号公報
【０００５】
【発明が解決しようとする課題】
上述の従来技術では、圧縮処理によりダンプにより記録するデータ容量を削減することができ、解析の際の効率を改善できるが、ダンプの採取時間を短縮することができないという問題がある。
【０００６】
本発明の目的は、ダンプ対象のデータを複数のブロックに分割し、圧縮処理と外部記憶装置への出力処理を調整しながら並列処理することによりダンプ採取時間を短縮したダンプ採取方式、ダンプ採取方法、及びプログラムを提供することにある。
【０００７】
【課題を解決するための手段】
本発明の第１のダンプ採取方式は、ダンプ対象のデータを複数に分割したブロック単位でダンプデータを記録する１以上のダンプファイルと、ダンプの実行を管理するブロック管理部と、ブロック管理部により起動され指定されたブロックの圧縮処理を実行する圧縮部と、ブロック管理部により起動され圧縮部が圧縮したブロックをブロック毎にブロック管理部で指定されたダンプファイルへ出力する出力部とを有し、前記圧縮部又は前記出力部は少なくとも一方が複数起動されることを特徴とする。
【０００８】
本発明の第２のダンプ採取方式は、ダンプ対象のデータを複数に分割したブロック単位でダンプデータを記録する１以上のダンプファイルと、ダンプの実行を管理するブロック管理部とを有するダンプ採取方式であって、
前記ブロック管理部は、ブロック毎に圧縮処理を順次実行する圧縮部を複数起動し、圧縮部で圧縮されたブロックをブロック毎にダンプファイルへ出力する出力部を複数起動し、圧縮部と出力部の動作中に圧縮部の進み具合と出力部の進み具合を比較して遅れている方の進み具合を早めるように調整することを特徴とする。
【０００９】
本発明の第３のダンプ採取方式は、ダンプ対象のデータを複数に分割したブロック単位でダンプデータを記録するとともにブロック毎にブロックサイズや格納位置を含む属性情報を含むブロック管理表を記録する１以上のダンプファイルと、
ダンプの実行を管理するブロック管理部と、ブロック管理部により起動され指定されたブロックの圧縮処理を実行し実行後にブロック管理表のブロックサイズを登録する圧縮部と、ブロック管理部により起動され圧縮部が圧縮したブロックをブロック毎にブロック管理部で指定されたダンプファイルへ出力するともにブロック管理表の格納位置を登録した後にブロック管理表を指定されたダンプファイルへ出力する出力部とを有することを特徴とする。
【００１０】
本発明の第４のダンプ採取方式は、ダンプ対象のデータを複数に分割したブロック単位でダンプデータを記録するとともにブロック毎のブロックサイズや格納位置を含む属性情報を含むブロック管理表を記録する１以上のダンプファイルと、ダンプの実行を管理するブロック管理部とを有するダンプ採取方式であって、前記ブロック管理部は、ブロック毎に圧縮処理を順次実行し実行後にブロック管理表にブロックサイズを登録する圧縮部を複数起動し、圧縮部で圧縮されたブロックをブロック毎にダンプファイルへ出力するとともにブロック管理表の格納位置を登録した後にブロック管理表を指定されたダンプファイルへ出力する出力部を複数起動し、圧縮部と出力部の動作中に圧縮部の進み具合と出力部の進み具合を比較して遅れている方の進み具合を早めるように調整することを特徴とする。
【００１１】
本発明の第５のダンプ採取方式は、本発明の第２又は第４のダンプ採取方式において、前記ブロック管理部は、前記圧縮部の進み具合が速い場合は起動されている前記圧縮部の少なくとも１つを中断し、前記出力部の進み具合が速い場合は起動されている前記出力部の少なくとも１つを中断するように調整することを特徴とする。
【００１２】
本発明の第６のダンプ採取方式は、本発明の第２又は第４のダンプ採取方式において、前記ブロック管理部は、前記圧縮部の進み具合が速い場合は中断中の前記出力部があればそれを再開し中断中の前記出力部がなければ新たな前記出力部を起動し、前記出力部の進み具合が速い場合は中断中の前記圧縮部があればそれを再開し中断中の前記圧縮部がなければ前記圧縮部を新たに起動するように調整することを特徴とする。
【００１３】
本発明の第７のダンプ採取方式は、本発明の第３又は第４のダンプ採取方式において、前記ダンプファイルは２以上あり、前記ブロック管理部は全てのブロックのダンプファイルへの出力が終了した後に前記ブロック管理表を全てのダンプファイルに出力することを特徴とする。
【００１４】
本発明の第１のダンプ採取方法は、ダンプ対象のデータを複数に分割したブロック毎に順次圧縮処理を実行する圧縮部と、圧縮部が圧縮したブロックをブロック毎に指定されたダンプファイルへ順次出力する出力部のうち、少なくとも一方を複数起動してダンプを実行する手順を有することを特徴とする。
【００１５】
本発明の第２のダンプ採取方法は、ダンプ対象のデータを複数に分割したブロック毎に圧縮処理を順次実行する圧縮部を複数起動し、圧縮部で圧縮されたブロックをブロック単位でダンプデータを記録するダンプファイルへ出力する出力部を複数起動し、圧縮部と出力部の動作中に圧縮部の進み具合と出力部の進み具合を比較して遅れている方の進み具合を早めるように調整する手順を有することを特徴とする。
【００１６】
本発明の第３のダンプ採取方法は、ダンプ対象のデータを複数に分割したブロック毎に圧縮処理を順次実行し実行後にブロック毎にブロックサイズや格納位置を含む属性情報を含むブロック管理表にブロックサイズを登録する圧縮部と、圧縮部で圧縮されたブロックをブロック単位でダンプデータを記録するダンプファイルへ出力するとともにブロック管理表の格納位置を登録した後にブロック管理表を指定されたダンプファイルへ出力する出力部のうち、少なくとも一方を複数起動してダンプを実行する手順を有することを特徴とする。
【００１７】
本発明の第４のダンプ採取方法は、ダンプ対象のデータを複数に分割したブロック毎に圧縮処理を順次実行し実行後にブロック毎にブロックサイズや格納位置を含む属性情報を含むブロック管理表にブロックサイズを登録する圧縮部を複数起動し、圧縮部で圧縮されたブロックをブロック単位でダンプデータを記録するダンプファイルへ出力するとともにブロック管理表の格納位置を登録した後にブロック管理表を指定されたダンプファイルへ出力する出力部を複数起動し、圧縮部と出力部の動作中に圧縮部の進み具合と出力部の進み具合を比較して遅れている方の進み具合を早めるように調整する手順を有することを特徴とする。
【００１８】
本発明の第５のダンプ採取方法は、本発明の第２又は第４のダンプ採取方法において、前記圧縮部の進み具合が速い場合は起動されている前記圧縮部の少なくとも１つを中断し、前記出力部の進み具合が速い場合は起動されている前記出力部の少なくとも１つを中断するように調整する手順を有することを特徴とする。
【００１９】
本発明の第６のダンプ採取方法は、本発明の第２又は第４のダンプ採取方法において、前記圧縮部の進み具合が速い場合は中断中の前記出力部があればそれを再開し中断中の前記出力部がなければ新たな前記出力部を起動し、前記出力部の進み具合が速い場合は中断中の前記圧縮部があればそれを再開し中断中の前記圧縮部がなければ前記圧縮部を新たに起動するように調整する手順を有することを特徴とする。
【００２０】
本発明の第７のダンプ採取方法は、本発明の第３又は第４のダンプ採取方法において、前記ダンプファイルは２以上あり、全てのブロックのダンプファイルへの出力が終了した後に前記ブロック管理表を全てのダンプファイルに出力する手順を有することを特徴とする。
【００２１】
本発明の第１のプログラムは、ダンプ対象のデータを複数に分割したブロック毎に順次圧縮処理を実行する圧縮部と、圧縮部が圧縮したブロックをブロック毎に指定されたダンプファイルへ順次出力する出力部のうち、少なくとも一方を複数起動してダンプを実行する手順をコンピュータに実行させることを特徴とする。
【００２２】
本発明の第２のプログラムは、ダンプ対象のデータを複数に分割したブロック毎に圧縮処理を順次実行する圧縮部を複数起動する手順と、圧縮部で圧縮されたブロックをブロック単位でダンプデータを記録するダンプファイルへ出力する出力部を複数起動する手順と、圧縮部と出力部の動作中に圧縮部の進み具合と出力部の進み具合を比較して遅れている方の進み具合を早めるように調整する手順とをコンピュータに実行させることを特徴とする。
【００２３】
本発明の第３のプログラムは、ダンプ対象のデータを複数に分割したブロック毎に圧縮処理を順次実行し実行後にブロック毎にブロックサイズや格納位置を含む属性情報を含むブロック管理表にブロックサイズを登録する圧縮部と、圧縮部で圧縮されたブロックをブロック単位でダンプデータを記録するダンプファイルへ出力するとともにブロック管理表の格納位置を登録した後にブロック管理表を指定されたダンプファイルへ出力する出力部のうち、少なくとも一方を複数起動してダンプを実行する手順をコンピュータに実行させることを特徴とする。
【００２４】
本発明の第４のプログラムは、ダンプ対象のデータを複数に分割したブロック毎に圧縮処理を順次実行し実行後にブロック毎にブロックサイズや格納位置を含む属性情報を含むブロック管理表にブロックサイズを登録する圧縮部を複数起動する手順と、圧縮部で圧縮されたブロックをブロック単位でダンプデータを記録するダンプファイルへ出力するとともにブロック管理表の格納位置を登録した後にブロック管理表を指定されたダンプファイルへ出力する出力部を複数起動する手順と、圧縮部と出力部の動作中に圧縮部の進み具合と出力部の進み具合を比較して遅れている方の進み具合を早めるように調整する手順とをコンピュータに実行させることを特徴とする。
【００２５】
本発明の第５のプログラムは、本発明の第２又は第４のプログラムにおいて、前記圧縮部の進み具合が速い場合は起動されている前記圧縮部の少なくとも１つを中断し、前記出力部の進み具合が速い場合は起動されている前記出力部の少なくとも１つを中断するように調整する手順をコンピュータに実行させることを特徴とする。
【００２６】
本発明の第６のプログラムは、本発明の第２又は第４のプログラムにおいて、前記圧縮部の進み具合が速い場合は中断中の前記出力部があればそれを再開し中断中の前記出力部がなければ新たな前記出力部を起動し、前記出力部の進み具合が速い場合は中断中の前記圧縮部があればそれを再開し中断中の前記圧縮部がなければ前記圧縮部を新たに起動するように調整する手順をコンピュータに実行させることを特徴とする。
【００２７】
本発明の第７のプログラムは、本発明の第３又は第４のプログラムにおいて、前記ダンプファイルは２以上あり、全てのブロックのダンプファイルへの出力が終了した後に前記ブロック管理表を全てのダンプファイルに出力する手順をコンピュータに実行させることを特徴とする。
【００２８】
【発明の実施の形態】
次に、本発明の実施の形態について図面を参照して詳細に説明する。図１は本発明の実施の形態の構成を示したブロック図である。図１を参照すると、本発明の構成は、主記憶装置１０と、主記憶内のダンプ対象領域をブロック１１に分割して圧縮し外部記憶装置３０へダンプ出力を行うダンプ採取部２０と、ダンプ出力を記録するダンプファイル３１を含む外部記憶装置３０とを含んでいる。
【００２９】
主記憶装置１０は、プログラムやデータを記憶する装置であり、障害発生の際に原因を究明するために有効なデータでダンプ対象となるデータを含む。図１ではダンプ対象のデータは８つのブロック１１に分割され、ブロック１１−１、ブロック１１−２、ブロック１１−３、及びブロック１１−８が表示されているが、分割数は８に限定するものではなく特に限定しない。なお、図１では主記憶装置１０のダンプ対象のデータは作業域１２を除く全てとしているが、主記憶装置１０の予め決められた部分的な領域を１以上集めた領域をダンプ対象としこれを分割するようにしてもよく、また、各分割されたブロックの大きさは同じとしてもよいし同じでなくてもよい。また、主記憶装置１０はダンプ採取部２０が動作する際はダンプ採取部２０に含まれるプログラムやデータを含む。
【００３０】
ダンプ採取部２０は、ダンプが起動された際に実行されるプログラムや作成される管理データを含んだものであり、ブロック１１毎のダンプ情報を管理するブロック管理表２４と、ブロック１１単位に圧縮・出力の実行とブロック管理表２４とを管理するブロック管理部２１と、ブロック１１の圧縮処理をする圧縮部２２と、圧縮されたブロック１１のデータを外部記憶装置３０内のダンプファイル３１に出力する出力部２３とを含む。図１では、圧縮部２２は圧縮部２２−１、圧縮部２２−２、圧縮部２２−３と３つ示し、出力部２３は出力部２３−１、出力部２３−２と２つ示しているが、これらは特に数を限定するものではなく、また実行状況に応じて変化する。
【００３１】
ブロック管理表２４はダンプ採取部２０が動作する際に主記憶装置１０上又は専用の記憶手段に置かれ、ブロック管理部２１と圧縮部２２と出力部２３とは図示しないがＣＰＵ上で実行されるプログラムであり、実行時には主記憶装置１０又は専用の記憶手段に置かれるが、どちらに置かれてもよく、以降の説明では主記憶装置１０に置かれるものとする。
【００３２】
図２はブロック管理表２４に登録される内容の一例としてブロック１１−１の内容を示している。ブロック管理表２４はブロック１１単位に登録され、登録内容としてブロック番号、ブロックサイズ、出力先のファイル名、ファイル内の格納位置、圧縮情報等の情報を含んでいる。圧縮情報は圧縮しないでダンプする特別な指示があった場合のために、出力データが圧縮されているか否かを示す情報である。
【００３３】
外部記憶装置３０は、磁気ディスク装置や複数の磁気ディスク装置を組み合わせたアレイディスク装置やＤＶＤ装置のような光ディスク装置からなり、ブロック管理表２４とブロック１１を格納するダンプファイル３１を含む。図１ではダンプファイル３１−１とダンプファイル３１−２とがそれぞれ別の磁気ディスク装置に置かれているが、ダンプファイル３１の数や配置を限定するものではなく、磁気ディスク装置へのデータ転送時間・書込時間をより短縮できるようにダンプファイル３１を割り振ればよい。
【００３４】
図３は、ダンプファイル３１−１とダンプファイル３１−１のダンプ終了後の内容を示した図であり、それぞれブロック管理表２４と、割り振られたブロック１１の圧縮後のデータを含んでいる。
【００３５】
次に、本発明の実施の形態の動作について図面を参照して説明する。図４は本発明の実施の形態の動作を示したフローチャートである。以下の説明ではダンプ対象のデータは図１に示すように８つのブロック１１に分割されており、圧縮部２２による圧縮処理はＣＰＵ上で実行され、本発明の効果を説明するためにＣＰＵは２以上あり主記憶装置１０を共有する場合を具体例にして説明していく。
【００３６】
一般に圧縮処理、出力処理の実行時間とＣＰＵ数との関連についてみると、圧縮処理がＣＰＵ内の処理（例えば演算等）が多いのに比べて出力処理は通常主記憶装置１０から外部記憶装置３０への圧縮後のデータを転送する時間が多くＣＰＵの処理時間が少ない傾向があるため、圧縮処理はＣＰＵ数に応じて処理時間の短縮効果が顕著となり、出力処理はＣＰＵが増えても処理時間は大きくは短縮されないといえる。
【００３７】
まず、ダンプが起動されるとブロック管理部２１が起動され、ブロック管理部２１は１以上の圧縮部２２と１以上の出力部２３をそれぞれＣＰＵに割り当てて起動する（Ｓ５１）。具体例では、ブロック管理部２１は、圧縮２２−１と圧縮部２２−２とをそれぞれ第１のＣＰＵと第２のＣＰＵで起動し、出力部２３−１と出力部２３−２をそれぞれ第１のＣＰＵと第２のＣＰＵで起動する。なお、ダンプの起動方法については特に限定しないが、システムが障害を検出した場合に障害を処理する手順により起動される場合や、システムの管理者や運用者がコンソールからコマンドとしてダンプを起動する場合や、これらの起動が正常に実行されない場合に専用のダンプスイッチによって起動する場合がある。
【００３８】
ここで、圧縮部２２の動作について説明する。図５は、圧縮部２２の動作を示したフローチャートである。圧縮部２２は起動されるとブロック管理部２１に対して未圧縮のブロック１１について問い合わせる（Ｓ７１）。圧縮部２２は、問い合わせの結果を判断し（Ｓ７２）、未圧縮のブロック１１が無ければ未圧縮のブロック１１が残っていないことを知らせる終了通知をブロック管理部２１へ通知して動作を終了する（Ｓ７３）。
【００３９】
問い合わせの結果未圧縮のブロック１１があればブロック管理部２１で指定されたブロック１１のデータ容量を削減する圧縮処理を実行する（Ｓ７４）。圧縮処理されたデータは、主記憶装置１０に設けられた作業域１２内の指定場所に保持される。作業域１２内の場所はブロック管理部２１から指示される。なお、作業域１２は通常ダンプ処理のために予め確保されている。
【００４０】
指定されたブロック１１の圧縮処理が終わると、ブロック管理表２４の該当するブロック１１の登録情報を更新する（Ｓ７５）。例えば、圧縮後のブロックサイズや圧縮情報を登録する。次に指定されたブロック１１の圧縮処理が終了したことを中間通知としてブロック管理部２１へ通知する。
【００４１】
続いて、出力部２３の動作について説明する。図６は出力部２３の動作を示したフローチャートである。出力部２３は、起動されると未出力で圧縮済みのブロックが有るかブロック管理部２１へ問い合わせる（Ｓ８１）。問い合わせ結果を判定し（Ｓ８２）、該当するブロックがなければ、未出力ブロックの有無をブロック管理部２１へ問い合わせる（Ｓ８３）。
【００４２】
問い合わせの結果を判定し（Ｓ８４）、未出力ブロックがなければ未出力ブロックが残っていないこと、すなわち、全てのブロック１１の出力処理が終了したことを終了通知としてブロック管理部２１へ通知する（Ｓ８９）。未出力ブロックが残っていれば圧縮済みブロックがなく圧縮処理の終了待ちの状態であることを中間通知としてブロック管理部２１へ通知する（Ｓ８８）。
【００４３】
ステップＳ８１の問い合わせの結果、該当するブロック、すなわち、圧縮済みで未出力のブロックが作業域１２にあれば、出力部２３は、ブロック管理部２１で指定された圧縮済み・未出力ブロックをブロック管理部２１で指定された主記憶装置１０の作業域１２からブロック管理部２１で指定された外部記憶装置３０のダンプファイル３１へ転送する出力処理を実行する（Ｓ８５）。
【００４４】
指定された圧縮済みブロックの出力処理が終わると、ブロック管理表２４内の該当ブロックの登録情報を更新する（Ｓ８６）。例えば、出力先ファイル名や出力先ファイル内の格納位置の情報が登録される。ブロック管理表２４の登録が終わると出力部２３は、ブロック管理表２４をダンプ先のダンプファイル３１の所定の位置に格納し、ブロックの出力処理が終了したことを中間通知としてブロック管理部２１へ通知する（Ｓ８７）。
【００４５】
ブロック管理表２４は後述するようにダンプ処理の最後に全てのダンプファイル３１に対して最終状態のものが出力されて格納されるが、ブロック単位の出力が終了した時点でブロック管理表２４を出力しておく理由は、ダンプ採取中にダンプ処理が異常終了した場合にも、出力したブロック１１のデータを有効に使用可能とすることができるためである。
【００４６】
次に、図４へ戻り図５と図６も参照して説明を続ける。ブロック管理部２１は、ステップＳ５１で圧縮部２２と出力部２３を起動した後、圧縮部２２か出力部２３の通知を待ち合わせる（Ｓ５２）。通知があると終了通知か判定し（Ｓ５３）、終了通知であれば圧縮部２２又は出力部２３に中断中のものがあるか確認する（Ｓ５４）。中断中の圧縮部２２又は出力部２３があればそれを再開して（Ｓ６１）、ステップＳ５２へ戻り次の通知を待ち合わせる。
【００４７】
ステップＳ５４で中断中の圧縮部２２又は出力部２３がなければ、まだ動作している圧縮部２２又は出力部２３があるか判定し（Ｓ５５）、動作中の圧縮部２２又は出力部２３があればステップＳ５２へ戻り次の通知を待ち合わせ、動作中の圧縮部２２又は出力部２３が１つもなければ全てのブロック１１について圧縮処理と出力処理が終了したということなので図３に示すようにブロック管理表２４を各ダンプファイル３１へ出力しダンプ処理を終了する（Ｓ５６）。
【００４８】
ステップＳ５３で通知が終了通知でなかった場合は、ブロック管理部２１は１以上の圧縮部２２で実行されている圧縮処理と１以上の出力部２３で実行されている出力処理の進み具合を比較して、予め決められた比較方法において差がなければステップＳ５２へ戻り次の通知を待ち合わせる（Ｓ５７）。この比較方法については特に限定しない。
【００４９】
進み具合に差があり出力処理が進んでいる場合（Ｓ５８）、ブロック管理部２１は出力処理の進み具合を抑えて、圧縮処理の進み具合を促進するように調整する（Ｓ５９）。例えば、出力部２３の進み具合が速い場合、ブロック管理部２１は、中断中の圧縮部２２があればそれを再開し、さらに動作中の出力部２３を１以上中断したり、圧縮部２２を新たに１以上起動したりして調整する。
【００５０】
ブロック管理部２１は進み具合の差の程度により出力部の中断と圧縮部の起動を一方だけ行ってもよいし両方行ってもよく、また、中断数と起動数は差の程度が大きくシステム構成が大きい場合には２以上としてもよい。また、中断とは実行中の処理を再開できる条件を満たした状態で停止することであり、再開の指示を受けると停止時点の処理を続行できるものとする。例えば、圧縮部２２が中断の指示を受けた場合ブロック単位の圧縮処理が終わった時点で停止状態とし中断してもよいし、ブロックの圧縮処理途中で停止状態としてもよく、特に限定しない。
【００５１】
進み具合に差があり圧縮処理が進んでいる場合（Ｓ５８）、ブロック管理部２１は圧縮処理の進み具合を抑えて、出力処理の進み具合を促進するようにする（Ｓ６０）。例えば、圧縮部２２の進み具合が速い場合、ブロック管理部２１は、中断中の出力部２３があればそれを再開し、さらに動作中の圧縮部２２を１以上中断したり、出力部２３を新たに１以上起動したりして調整する。出力部２３の進み具合が速い場合と同様に進み具合の差の程度に合わせて調整してもよい。
【００５２】
具体例での動作の流れを示した図７を参照して具体例を説明すると、ステップＳ５１で起動された圧縮部２２−１は、ブロック管理部２１に問い合わせて（Ｓ７１）、未圧縮のブロック１１−１を得る。ブロック管理部２１からはブロック１１−１のブロック番号＝００１、主記憶装置１０上のアドレス、圧縮後のデータの作業域１２内の格納位置等が指定され、起動されたＣＰＵにてブロック１１−１の圧縮処理を図７のＴ１タイミングで開始する（Ｓ７４）。同様に、圧縮部２２−２も動作してブロック１１−２の圧縮処理を開始する。
【００５３】
ステップＳ５１で起動された出力部２３−１と出力部２３−２は未出力で圧縮済みのブロックをブロック管理部２１へ問い合わせるが（Ｓ８１）、圧縮処理が終了していないため（Ｓ８２）、未出力ブロックを問い合わせる（Ｓ８３）。ブロック１１は全て未出力であるため（Ｓ８４）、圧縮済みのブロック待ち状態を知らせるための中間通知をそれぞれブロック管理部２１へ通知する（Ｓ８８）。
【００５４】
ブロック管理部２１は中間通知を受けると（Ｓ５２、Ｓ５３）、圧縮処理と出力処理との進み具合を比較する（Ｓ５７）。ここでは出力処理が実行されていないので比較できずに差がないとして次の通知を待つ。
【００５５】
圧縮部２２−１はＴ２タイミングにブロック１１−１の圧縮処理を終了すると、圧縮後のブロックサイズや圧縮情報をブロック管理表２４のブロック番号００１のエントリに登録し（Ｓ７５）、中間通知をブロック管理部２１へ通知する（Ｓ７６）。そしてまた未圧縮ブロックの問い合わせを行いブロック１１−３を得て、ブロック１１−３の圧縮処理を開始する。
【００５６】
圧縮部２２−１の中間通知を受けるとブロック管理部２１は圧縮処理と出力処理の進み具合を比較するが、この時点ではまだ出力処理時間の実績がなく比較できないため差がないとして次の通知を待ち合わせる。ブロック管理部２１は、圧縮部２２−１に続いてブロック１１−２の圧縮処理を終了した圧縮部２２−２の中間通知を受け同様の処理を行い、次の通知を待つ。
【００５７】
出力部２３−１は、タイミングＴ２の圧縮部２２−１の中間通知の後の問い合わせによりブロック１１−１の圧縮済みのブロックを取得し（Ｓ８１）、ブロック管理部２１から圧縮済みのブロックの作業域１２内の格納位置と出力先のダンプファイル３１の格納位置を得て出力処理を開始する（Ｓ８５）。図３を参照すると、出力先はダンプファイル３１−１でブロック管理表２４の格納位置のすぐ次が格納位置となる。出力部２３−２も、圧縮部２２−２の中間通知の後にブロック１１−２の圧縮済みブロックを得て出力処理を開始する。出力先はダンプファイル３１−２でブロック管理表２４の格納位置の次となる。
【００５８】
図７を参照すると具体例は１つのブロック１１の処理時間でみると圧縮処理が出力処理よりも大きくなっており、同数の圧縮部２２と出力部２３を動作させると圧縮処理の進み具合が悪く遅れることとなる。タイミングＴ２以降に開始した出力部２３−１はタイミングＴ３にてブロック１１−１の出力処理を終了して、ブロック管理表２４のブロック番号００１のエントリに出力先ダンプファイル名＝ダンプファイル３１−１、格納位置＝１番目という情報を登録し（Ｓ８６）、更新後のブロック管理表２４をダンプファイル３１−１へ出力しブロック管理部２１へ中間通知を送る（Ｓ８７）。続いて、出力部２３−１は未出力で圧縮済みのブロックを問い合わせるが（Ｓ８１）、圧縮処理が終わっていないため（Ｓ８２）、圧縮済みのブロック待ちの中間通知をする（Ｓ８８）。出力部２３−２も同様に動作する。
【００５９】
ブロック管理部２１は、タイミングＴ３で出力部２３−１のブロック終了の中間通知を受けると、進み具合を判断するが、この時点では圧縮部２２より出力部２３の処理が早く終了したことは分かるが、その差が大きいとは分からないので次の通知を待ち、出力部２３−１のブロック終了の中間通知も受け付ける。出力部２３−１と出力部２３−２の中間通知はほぼ同じ時刻に通知されるので、同様に処理される。
【００６０】
その後は、圧縮処理が終わらないために、出力部２３−１と出力部２３−２から圧縮済みブロック待ちの中間通知が繰り返し通知される。ブロック管理部２１は、出力部２３−１のブロック終了の中間通知から一定時間が経過しても圧縮部２２からのブロック終了の中間通知が来ないと圧縮部２２と出力部２３との進み具合に差があると判断し、繰り返し受ける出力部２３−１と出力部２３−２から圧縮済みブロック待ちの中間通知の処理でステップＳ５７、Ｓ５８、Ｓ５９と進み、出力部２３−２を中断し、新たに圧縮部２２−３を起動する（Ｓ５９）。具体例では第３のＣＰＵがあるものとして圧縮部２２−３を第３のＣＰＵで起動するが、ＣＰＵが２つしかない場合で圧縮部２２−３を起動しても効果が少ないのであれば起動しないようにしてもよい。
【００６１】
このように、ステップＳ５９で出力部２３−２が中断し、圧縮部２２−３が起動される。タイミングＴ３の一定時間後に起動された圧縮部２２−３は、ブロック管理部２１へ問い合わせてブロック１１−５の圧縮処理を開始する。
【００６２】
タイミングＴ４で圧縮部２２−１はブロック１１−３の圧縮処理を終了し、中間通知をした後にブロック１１−６の圧縮処理を開始する。同様に圧縮部２２−２もブロック１１−４の圧縮処理を終了し、中間通知をした後にブロック１１−７の圧縮処理を開始する。タイミングＴ４で出力部２３−１は圧縮部２２−１が圧縮処理したブロック１１−３の圧縮済みブロックの出力処理を実行し、続いてブロック１１−４の圧縮済みブロックの出力処理を実行する。
【００６３】
圧縮部２２−３は、ブロック１１−５の圧縮処理を終了した後ブロック１１−８の圧縮処理を実行する。圧縮部２２−１はタイミングＴ５でブロック１１−６の圧縮処理を終了して中間通知を行い、次の問い合わせを行うが、未圧縮ブロックは全て処理中か終了済みであり未圧縮ブロックは得られず圧縮部２２−１はブロック管理部２１へ終了通知を行って動作を終了する（Ｓ７３）。続いて圧縮部２２−２も同様にして動作を終了する。
【００６４】
ブロック管理部２１は、タイミングＴ４で圧縮部２２−１の終了通知を受けるとステップＳ５４で中断中の圧縮部２２又は出力部２３があるか探し（Ｓ５４）、出力部２３−２が中断しているのでこれを再開する（Ｓ６１）。タイミングＴ５の後に出力部２３−２が再開しブロック１１−５の圧縮済みブロックの出力処理を実行し、続けてブロック１１−７の圧縮済みブロックの出力処理を実行する。出力部２３−１はブロック１１−４に続いてブロック１１−６、ブロック１１−８の圧縮済みブロックの出力処理を実行する。
【００６５】
ブロック管理部２１は、タイミングＴ４の後圧縮部２２−１に続いて圧縮部２２２から終了通知を受けると、中断中の圧縮部２２又は出力部２３がないので動作中の圧縮部２２又は出力部２３があるか調べ、この時点ではまだ圧縮部２２−３、出力部２３−１、出力部２３−２が動作中のため次の通知を待つ。タイミングＴ６で圧縮部２２−３が終了して終了通知をし、タイミングＴ７で出力部２３−２が終了して終了通知をし、最後にタイミングＴ８で出力部２３−１が終了して終了通知をする。ブロック管理部２１は、タイミングＴ６とＴ７の終了通知に対してはタイミングＴ４の後の圧縮部２２−２からの終了通知と同様に処理する。
【００６６】
ブロック管理部２１は、タイミングＴ８で出力部２３−１から終了通知を受けると動作中の圧縮部２２も出力部２３もないのでステップＳ５５からＳ５６へ進みブロック管理表２４をダンプファイル３１−１とダンプファイル３１−２の所定位置へ格納する。
【００６７】
以上の具体例では、圧縮処理が出力処理よりも遅い場合を説明したが、逆に圧縮処理は出力処理よりも速い場合でも圧縮処理と出力処理との間の調整を行って効率よくリソースを割り当ててダンプ処理時間を短縮することができるのは容易に理解できるので、説明は省略する。
【００６８】
また、進み具合の比較方法は圧縮処理と出力処理の処理数の差分が一定値以上となったことで差があると判断してもよいし、本発明では限定しない。また、以上の説明では圧縮処理は主記憶装置１０を共有するＣＰＵで実行するとしたが、主記憶装置１０を共有する専用の圧縮手段があれば専用圧縮手段とＣＰＵとで並列処理するようにしてもよい。
【００６９】
以上のように、本発明ではダンプ対象のデータを複数のブロック１１に分けて、ブロック１１毎に圧縮処理と出力処理を行い、圧縮処理と出力処理の進み具合を比較して調整を行いダンプ処理を実行するので、ダンプ処理にかかる処理時間を大幅に短縮することができる。特に、ＣＰＵ数が大きくなるほどこの効果は顕著となる。
【００７０】
また、ブロック１１単位の出力処理が終了するたびにブロック管理表２４をダンプファイル３１に出力しているので、ダンプ途中でダンプ処理が停止した場合であっても、停止するまでにダンプされたブロック情報は有効に使うことができ、ダンプファイル３１毎にブロック管理表２４を持っているので他のダンプファイル３１の障害の影響を回避できる。特に１つのダンプファイル３１にだけブロック管理表２４を格納する場合、そのダンプファイル３１が障害を受けると全てのダンプデータが無効となってしまう。
【００７１】
以上の説明では、圧縮部２２と出力部２３とをそれぞれ複数起動してダンプ処理する動作を説明したが、いずれか一方だけを複数起動するようにしても本発明を適用できることは明らかである。例えば、ＣＰＵが１つしかないシステムでは、圧縮部２２は１つのみ起動して、出力部２３を複数起動するようにしてもよく、特に出力処理が圧縮処理に比べて遅いシステムでは十分な効果がある。
【００７２】
また、以上の説明では全て圧縮処理をするものとしたが、ブロック１１によっては圧縮をせずに出力処理を行うようにしてもよい。その場合圧縮部２２はブロック管理部２１から指定されたブロック１１に対しては圧縮をしないように指示を受け圧縮処理をせずにブロック終了の中間通知を行う。この際ブロック管理表２４の圧縮情報は圧縮なしとして登録される。
【００７３】
出力部２３は、圧縮していないブロック１１を圧縮済みのブロックと見なして出力処理を行う。この時対象ブロック１１は作業域１２ではなく元のブロック１１のまま主記憶装置１０にあり、出力部２３はブロック１１の格納位置のデータを指定されたダンプファイル３１へ出力処理する。なお、全てのブロックを圧縮しない場合は、圧縮部２２の起動はせずに出力部２３のみを複数起動して処理すればよい。
【００７４】
【発明の効果】
このように本発明によれば、ダンプ対象のデータを複数のブロックに分割して、ブロック単位に圧縮処理と出力処理を実行させるので、ダンプ採取時間を短縮できるという効果があり、さらにダンプ採取中の障害に対してより多くのダンプデータを有効にできるという効果がある。
【図面の簡単な説明】
【図１】本発明の実施の形態の機能的な構成を示す図である。
【図２】本発明の実施の形態のブロック管理表２４の内容の一例を示す図である。
【図３】本発明の実施の形態のダンプファイル３１の内容の一例を示す図である。
【図４】本発明の実施の形態のブロック管理部２１の動作を示すフローチャートである。
【図５】本発明の実施の形態の圧縮部２２の動作を示すフローチャートである。
【図６】本発明の実施の形態の出力部２３の動作を示すフローチャートである。
【図７】本発明の実施の形態の具体例の動作の時間的な流れを示す図である。
【符号の説明】
１０    主記憶装置
１１    ブロック
１２    作業域
２０    ダンプ採取部
２１    ブロック管理部
２２    圧縮部
２３    出力部
２４    ブロック管理表
３０    外部記憶装置
３１    ダンプファイル
【図１】
2004234181.tif 000003
【図２】
2004234181.tif 000004
【図３】
2004234181.tif 000005
【図４】
2004234181.tif 000006
【図５】
2004234181.tif 000007
【図６】
2004234181.tif 000008
【図７】
2004234181.tif 000009