(57)【要約】【課題】本部でリリースが複数回実施されたシステムを、地方の拠点で纏めてリリースする場合、比較結果が分散していて確認に時間が掛かる、確認漏れや錯誤等で確認ミスをする恐れがある、確認結果の妥当性が第三者には判別し難い、等の問題がある。【解決手段】比較対象フォルダ入力部と、比較対象フォルダ集約部と、出力部と、表示／印刷部とを備え、前記比較対象フォルダ入力部から、比較対象としたい３つ以上のフォルダのパスが入力され、前記比較対象フォルダ集約部は、前記入力された３つ以上のフォルダのそれぞれに存在するファイルの相対パスを取得し、ファイル構造として作業用フォルダに集約し、前記出力部は、前記集約されたファイル構造の前記各フォルダに存在する前記各ファイルを、ハッシュ値に基づいて精査が必要か否かを示す複数のパターンに類別し、その結果を前記表示／印刷部に出力するファイル管理システム。【選択図】図１
2015035148.tif 000002
【特許請求の範囲】
【請求項１】
比較対象フォルダ入力部と、
比較対象フォルダ集約部と、
出力部と、
表示／印刷部とを備え、
前記比較対象フォルダ入力部から、比較対象としたい３つ以上のフォルダのパスが入力され、
前記比較対象フォルダ集約部は、前記入力された３つ以上のフォルダのそれぞれに存在するファイルの相対パスを取得し、ファイル構造として作業用フォルダに集約し、
前記出力部は、前記集約されたファイル構造の前記各フォルダに存在する前記各ファイルを、ハッシュ値に基づいて精査が必要か否かを示す複数のパターンに類別し、その結果を前記表示／印刷部に出力する
ことを特徴とするファイル管理システム。
【請求項２】
請求項１において、
前記出力部は、
ファイル構造出力部と、
ハッシュ値出力部と、
比較結果出力部とを備え、
前記ファイル構造出力部は、前記ファイル構造として、前記作業用フォルダに集約された前記各ファイルをツリー構造で出力し、該ツリー構造を利用して前記各ファイルの比較結果を表形式で表示し、
前記ハッシュ値出力部は、前記表形式の表示において、前記各フォルダに該当のファイルが存在する場合は前記ハッシュ値を取得して結果を出力し、
前記比較結果出力部は、出力された前記ハッシュ値を比較して各ファイルを、精査が必要か否かを示す前記複数のパターンに類別する
ことを特徴とするファイル管理システム。
【請求項３】
請求項２において、
前記比較結果出力部は、
前記ファイルの精査が必要か否かを示す複数のパターンとして、
複数のフォルダに存在して全て同じハッシュ値のファイルである、
複数のフォルダに存在して異なるハッシュ値のファイルが存在する、または、
ファイルは１つのフォルダにのみ存在する、
の何れかのパターンに類別する
ことを特徴とするファイル管理システム。
【請求項４】
請求項３において、
前記ファイル構造出力部は、
前記３つ以上の比較対象フォルダを、列見出しとして出力し、
前記各ファイルを前記表形式の行見出しとして前記ツリー構造で出力する
ことを特徴とするファイル管理システム。
【請求項５】
請求項１において、
改修履歴管理テーブル部と、
メール送受信部とを備え、
改修履歴管理テーブル部は、改修履歴としてファイルのパスと改修日および改修担当者の連絡先情報を有し、
メール送受信部は、精査が必要な前記パターンに類別された前記ファイルに関して、前記改修担当者宛に、精査が必要な前記ファイルのパスとネットワーク上に配置した当該比較結果のファイルのパスを記載した比較結果の精査依頼メールを送信し、その結果を受信して前記表示／印刷部に出力する
ことを特徴とするファイル管理システム。
【請求項６】
請求項２において、
前記出力部は、
比較対象フォルダ出力部を備え、
該比較対象フォルダ出力部は、前記ファイル構造の列見出しの行列位置に、比較の対象となる指定フォルダの名称を出力し、フォルダの階層構造すなわち所定の行位置に、そのフォルダ内に存在するファイル名等を出力する
ことを特徴とするファイル管理システム。
【請求項７】
請求項２において、
前記ハッシュ値出力部は、前記列見出しのフォルダと行見出しの相対パスが交差する位置に該当のフォルダ＋相対パスのファイルが存在する場合はハッシュ値を取得して結果を出力し、ファイルが存在しない場合は空白のままとする
ことを特徴とするファイル管理システム。
【請求項８】
請求項６において、
前記表示／印刷部は、
前記フォルダの階層構造において、前記比較結果出力部の前記パターンの類別及び前記ハッシュ値を含む前記表形式の表示を、画面若しくは紙面に出力する
ことを特徴とするファイル管理システム。
【請求項９】
ファイル管理システムによるファイル管理方法であって、
前記ファイル管理システムは、
比較対象フォルダ入力部と、
比較対象フォルダ集約部と、
出力部と、
表示／印刷部とを備え、
前記比較対象フォルダ入力部から、比較対象としたい３つ以上のフォルダのパスの入力を受け付け、
前記入力された３つ以上のフォルダのそれぞれに存在するファイルの相対パスを取得し、ファイル構造として作業用フォルダに集約し、
前記集約された前記ファイル構造の前記各フォルダに存在する前記各ファイルを、ハッシュ値に基づいて精査が必要か否かを示す複数のパターンに類別し、その結果を前記表示／印刷部に出力する
ことを特徴とするファイル管理方法。
【請求項１０】
請求項９において、
前記ファイルの精査が必要か否かを示す複数のパターンとして、
複数のフォルダに存在して全て同じハッシュ値のファイルである、
複数のフォルダに存在して異なるハッシュ値のファイルが存在する、あるいは、
ファイルは１つのフォルダにのみ存在する、
の何れかのパターンに類別する
ことを特徴とするファイル管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ファイル管理システム及びファイル管理方法に係り、特に、規模の大きな情報処理システムにおける、システム一括リリース用ファイルの妥当性検証のために、複数のフォルダ間のファイルの比較確認を支援する技術に関する。
【背景技術】
【０００２】
規模の大きな情報処理システムにおいて、リリース時には、通常、更新するファイルのみを媒体に格納し、リリース対象の機器にリリースを行う差分リリース方式が採用されている。
【０００３】
特許文献１には、複数の記録媒体に記録したバックアップデータの整合性を容易に確認できるようにした、システムが開示されている。
【０００４】
特許文献２には、電子ファイルの原本と謄本のハッシュ値を比較して、その真贋を物判定する方法が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１１−１７０７０７号公報
【特許文献２】特開２００６−０５３８３６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ある情報処理システムに関して、本部でリリースが複数回実施されたシステムを遠隔地の拠点にてまとめてリリースする際に、拠点での作業時間等の制約のためにリリースを１回でまとめて実施することが良く行われる。本部でのリリース頻度は多い時では２回／月に対し、拠点でのリリース頻度は半年に１回程度である。拠点でリリースを行う開発者は、本部で使用した複数回のリリース用の複数のファイルを１つの媒体にまとめ過不足がない、あるいは複数のファイルの差異が妥当であることを確認し、作業エビデンスとしてドキュメントを顧客へ提出する必要がある。すなわち、開発者は、拠点のリリース用ファイルに差異ある場合その内容の妥当性を検証し、作業エビデンスを作成する必要がある。
【０００７】
２つのフォルダ間のファイルを比較するツールは存在するが、３つ以上の多数のフォルダ間のファイルを比較するツールが存在しない。そのため、リリース時に３つ以上のフォルダが関係する時は、作業内容の妥当性を確認するのに複数のファイルがある本部用媒体と作成した拠点用媒体のファイルとをそれぞれ個別に比較して、比較した結果をまとめて突き合わせた作業エビデンスを作成し、それに基づいて、顧客の確認を得る。もし、確認した結果、本部用媒体と拠点用媒体のファイルに差異がある場合、開発者は、そのファイルの改修担当者に差異の妥当性を精査してもらい、顧客の承認を得る必要がある。
【０００８】
上記拠点でのリリースに関して、特許文献１、２等の従来技術を採用することを想定すると、以下のような処理手順とその問題点が考えられる。
【０００９】
まず、開発者の処理手順として、対象となる拠点リリース用媒体と本部の複数回のリリース用媒体をそれぞれフォルダ毎に比較する。それぞれの比較結果から拠点リリース用媒体にあるファイルが全て比較されていること、および本部リリース用媒体のファイルは全て拠点リリース用媒体に含まれていることを確認する。複数の本部リリース用媒体に存在するファイルについては直近の本部リリース用媒体と拠点リリース用媒体のファイルが一致していることを確認する。
【００１０】
ただし、本部リリース後に不具合が発覚し古いバージョンに戻した除外ファイルや、拠点独自の設定等で本部ではリリースしなかった追加ファイルがある等の理由により、上記手順では、拠点リリース用媒体のフォルダに古いバージョンのファイルが含まれていたり、本部でリリースされていないファイルが含まれていても、それらを一概に不正なファイルとは判断できない。これらのファイルは、別途、改修担当者に差異の理由を問い合わせて拠点リリース用媒体に含めたファイルの内容が妥当であることを精査してもらう必要がある。すなわち、既知の技術を用いた場合、開発者は、拠点リリース用媒体と本部リリース用媒体同士の比較、および比較結果の突合せ、および改修担当者への精査依頼をそれぞれ実施しなくてはならない。
【００１１】
これらを整理すると、従来技術の課題は、
（１）比較結果がフォルダ毎に分散しているので、拠点リリース用媒体に関して、
（ａ）各ファイルが妥当か否かの確認に時間が掛かる。
（ｂ）確認漏れや錯誤等で、確認ミスをする恐れがある。
（ｃ）確認結果の妥当性が第三者には判別し難い。
（２）各ファイルの比較結果の確認に時間が掛かるので、
（ａ）改修担当者への精査依頼が速やかに行えない。
等である。
【００１２】
すなわち、本発明の目的は、３つ以上のフォルダを比較対象とする場合であっても、開発者等がファイルの差異の有無の確認を迅速に行える手段を提供することである。
【００１３】
本発明の他の目的は、差異が発生したファイルの改修担当者へ速やかに精査を依頼するよう問題解決を行うための改善された手段を提供することである。
【課題を解決するための手段】
【００１４】
本発明のファイル管理システムは、比較対象フォルダ入力部と、比較対象フォルダ集約部と、出力部と、表示／印刷部とを備え、前記比較対象フォルダ入力部から、比較対象としたい３つ以上のフォルダのパスが入力され、前記比較対象フォルダ集約部は、前記入力された３つ以上のフォルダのそれぞれに存在するファイルの相対パスを取得し、ファイル構造として作業用フォルダに集約し、前記出力部は、前記集約されたファイル構造の前記各フォルダに存在する前記各ファイルを、ハッシュ値に基づいて精査が必要か否かを示す複数のパターンに類別し、その結果を前記表示／印刷部に出力することを特徴とする。
【発明の効果】
【００１５】
本発明によれば、３つ以上のフォルダ間の各ファイルの比較結果を、ファイル構造に基き表形式にまとめ、その結果を表示／印刷部に出力するので、開発者等がファイルの差異の有無の確認、例えばリリースファイルの妥当性の検証、を迅速に行える。また、差異が発生したファイルの改修担当者へ速やかに精査を依頼するよう問題解決を行うための改善された手段を提供することができる。
【図面の簡単な説明】
【００１６】
【図１】本発明の第１の実施例に係る、複数フォルダ間の比較確認支援システムの構成例を示す図。
【図２】本発明の対象となる、一括リリースファイルの妥当性を検証する方法の、全体的な流れを示す図。
【図３】第１の実施例における、比較対象の複数フォルダの構造をツリー表示した表示／印刷部の表示画面の例を示す図。
【図４】図１の比較対象フォルダ集約部の動作フローチャート。
【図５】第１の実施例における、比較対象フォルダ集約の対象を示す図。
【図６】図１の作業フォルダ部の一部の例を示す図。
【図７】図１の出力部の動作のフローチャート。
【図８】図７のファイル構造出力のフローチャート。
【図９】図８の指定フォルダ出力のフローチャート。
【図１０】図７の比較対象フォルダ出力のフローチャート。
【図１１】図７のハッシュ値出力フローチャート。
【図１２】図７の比較結果出力・確認のフローチャート。
【図１３】図１２の比較結果出力の例を示す図。
【図１４】図１のメール送受信部のフローチャート。
【図１５】図１３の比較結果が“１”、“２”の各ファイルに関して、改修担当者に確認した結果を、表示／出力部６の表示画面に表示した例を示す図。
【発明を実施するための形態】
【００１７】
本発明では、あるシステムで複数回リリースを実施し、それぞれのリリースで使用した複数の媒体と、１つにまとめて一括でリリースできるようにした媒体とを、ファイルのハッシュ値を用いて比較し、適正なファイルか否かの判定を行うための分類を行い、その結果を一覧表形式のドキュメントとして出力する。すなわち、コンピュータ上の３つ以上のフォルダ上のファイルのハッシュ値を取得し、相対パスが同じファイル同士のハッシュ値を比較し、分類の結果を一覧表のドキュメントとして作成する。
【００１８】
既知の技術を用いた場合、拠点リリース用媒体と本部リリース用媒体同士の比較および比較結果の突合せおよび改修担当者への精査依頼をそれぞれ実施しなくてはならないが、本発明によれば、３つ以上の媒体のイメージを格納したフォルダを全て指定した後、実行コマンドを投入するだけで、上記比較および比較結果の突合せに総当りする分類の作業が全て自動で行われるようになる。
【００１９】
以下、本発明の実施例を詳細に説明する。
図１は、本発明の第１の実施例に係る、ファイル管理システム１０の構成例を示す図である。このファイル管理システム１０は、複数フォルダ間の比較確認支援機能を備えている。
【００２０】
ここでは、あるシステムで複数回リリースを実施しそれぞれのリリースで使用した媒体を、１つにまとめて一括でリリースできるようにした媒体と比較し、結果を一覧表形式のドキュメントとして出力する、例について説明する。
【００２１】
比較対象指定フォルダ入力部１において、開発者が比較対象としたい３つ以上の指定フォルダのパスを入力する。「比較対象指定フォルダ」は、本部で作成されたリリース用媒体の媒体別のファイルのフォルダ、及び、一括リリース対象の営業拠点（ここでは拠点１）の関係するファイルを含むフォルダを指定し（指定フォルダ）、各ファイルの内容をそれぞれのフォルダへコピーしたものである。なお、以下の説明では、複数の可搬の記録媒体に記録された複数のファイル間の比較を行うケースについて説明するが、本発明はこれに限定されるものではない。例えば、各々フォルダ構造を有する複数のファイルが、サーバやパーソナルコンピュータ等の記憶装置に記録され、通信ネットワークを経由して提供されるものも含まれる。
【００２２】
作業フォルダ部２は、比較対象フォルダ部１にある各指定フォルダのファイルを全て１つのフォルダに集約するための一時フォルダである。
【００２３】
比較対象フォルダ入力部３は、比較対象指定フォルダ部１の各指定フォルダを開発者がフルパスで記入する画面インタフェースである。
【００２４】
比較対象フォルダ集約部４は、比較対象である各指定フォルダ部１の複数のフォルダに存在するファイルを、作業フォルダ部２へ集める機能を有する。すなわち、比較対象フォルダ集約部４では、ファイル管理システム１０が、それぞれのフォルダに存在するファイルの相対パスを取得し、作業用フォルダ２に、その相対パスのダミーのファイルを作成する。既に作業フォルダ２にダミーのファイルが作成されているときは何もしない。
【００２５】
出力部５は、作業フォルダに精査の必要なファイルが存在するか否かを判定する処理を行い、必要に応じて演算部８による演算を実行し、それらの結果を纏めて比較結果を作成し、それを、表示／印刷部６に出力する機能を有する。出力部５は、ＣＰＵや記憶部等を備えたコンピュータによって構成され、記憶部に保持されたプログラムを実行することにより、指定フォルダ出力部５１、ファイル構造出力部５２、比較対象フォルダ出力部５３、ハッシュ値出力部５４、及び、比較結果出力・確認部５５の各機能が実現される。表示／印刷部６は、ＧＵＩ機能を備え、入力部としても機能する。
【００２６】
出力部５の指定フォルダ出力部５１は、比較対象フォルダ入力部３からの入力に基づき、３つ以上の指定フォルダに含まれる各ファイルの複数の記録媒体等における比較対象としたいフォルダを指定する。
【００２７】
ファイル構造出力部５２は、作業用フォルダに集約されたフォルダの階層構造を比較結果（表形式）の行見出しとしてツリー構造で出力する。比較対象フォルダは列見出しとして出力する。
【００２８】
比較対象フォルダ出力部５３は、ファイル構造２２の列見出しの行列位置に、比較の対象となる指定フォルダの名称を出力し、フォルダの階層構造すなわち所定の行位置に、そのフォルダ内に存在するファイル名等を出力する。
【００２９】
ハッシュ値出力部５４は、列見出しのフォルダと行見出しの相対パスが交差する位置に該当のフォルダ＋相対パスのファイルが存在する場合はハッシュ値を取得して結果を出力する。ファイルが存在しない場合は空白のままとする。
【００３０】
すなわち、ハッシュ値出力部５４は、フォルダの階層構造に該当のファイルが存在する場合、そのファイルのバイナリ列を固定長の擬似乱数列に変換した値である、ハッシュ値を出力する。異なるバイナリ列は同一の擬似乱数列に変換されない。また同じバイナリ列は必ず同一の擬似乱数列に変換される。ハッシュ値のこれらの特徴を利用してファイルの内容をバイナリ列と解釈し、ファイルの改竄チェックや一致チェックに利用する。
【００３１】
比較結果出力・確認部５５は、出力されたハッシュ値を比較してファイルを以下の０，１，２の何れかのパターンで類別し、結果を出力するとともに、確認の必要なパターン１、２のファイルに関しては、所定の処理を行う。
【００３２】
パターン０：複数のフォルダに存在する、全て同じハッシュ値のファイルである。
【００３３】
パターン１：ファイルは１つのフォルダにのみ存在する。
【００３４】
パターン２：複数のフォルダに存在する、異なるハッシュ値のファイルである。
【００３５】
なお、用途に応じては、パターンの類別に色分け表示を併用したり、あるいは表示の数をより多くして、分かり易くし、比較・判定の容易化を図っても良い。
【００３６】
改修履歴管理テーブル部７は、改修履歴としてファイルのパスと改修日および改修担当者のメールアドレスを持つ。すなわち、改修履歴管理テーブル部７は、電子申請によるリリース依頼に対して申請者（メールアドレス）、申請日、リリース日および改修対象ファイル（ファイルパス）を登録している一覧表である。申請者メールアドレスと共にあるいはこれに代えて、電話番号やＦＡＸ番号等の連絡先情報を登録しても良い。
【００３７】
メール送受信部９は、精査が必要な結果となったファイルの改修担当者宛に精査が必要なファイルのパスとネットワーク上に配置した本比較結果のファイルのパスを記載した比較結果の精査依頼メールを送信する。すなわち、メール送受信部９は、出力部５における比較結果で精査が必要と判定されたファイルに対して、改修履歴管理テーブル部７からそのファイルのリリース依頼をした申請者のメールアドレスに対して精査依頼メールを送信する機能を有する。さらに、改修担当者から精査依頼メールを受信し、その結果を、改修履歴管理テーブル部７に記録するとともに、表示／印刷部６に確認結果等の形で出力する。なお、状況によっては、メールに代えて電話番号やＦＡＸ番号等の連絡先情報を使用しても良い。
【００３８】
図２により、本発明の対象となる、一括リリースファイルの妥当性を検証する方法の、全体的な流れを説明する。本部で３世代前のＶｅｒ．１．０のフォルダのファイルに対してリリースが複数回実施されたシステムにおいて、遠隔地の各拠点１、拠点２、−、拠点ｎにて個別にまとめてリリースする際に、各拠点での作業時間等の制約のためにリリースを１回でまとめて実施する（以下、一括リリース）。この例では、本部での３回（Ｖｅｒ．１．１−Ｖｅｒ．１．３）のリリースを受けて、拠点１でＶｅｒ．１．０からＶｅｒ．１．３への一括リリースを行うことを想定する。拠点１における一括リリースに際しては、本部で使用した複数のリリース用のファイルを１つにまとめ過不足がない、あるいはファイルの差異が妥当であることを確認するために、「Ｖｅｒ．１．３一括リリース（案）」を作成し、ファイルの改修担当者の確認を受けたものについて、作業エビデンスとしてドキュメントを顧客へ提出し、顧客の確認・承認を受けた後、拠点１におけるＶｅｒ．１．３への「一括リリース」を行う。
【００３９】
図３は、比較対象の複数のフォルダの構造をツリー表示した表示／印刷部６の表示画面の例である。すなわち、図３は、「一括リリース（案）」について、一括リリース（案）における複数フォルダ間の比較を可視化するための、表示／印刷部６に表示される表示画面の構成例を示した図である。この表示画面は、ファイルの開発者の作業用のみならず、改修担当者及び顧客の確認・承認を得るためにも利用される。
【００４０】
表示／印刷部６の表示画面は、表側部２２・表頭部２４・ハッシュ値出力部２６・パターン表示部２８の４つから構成される一覧表形式となっている。表側部２２は、作業フォルダ部２に集約された比較対象である各指定フォルダの各ファイルをツリー構造で行ヘッダとして出力している。表頭部２４は、比較対象フォルダ部１の各パスを列ヘッダとして出力している。ハッシュ値出力部２６は、表側部２２と表頭部２４の交差する箇所に「比較対象フォルダ（列ヘッダ）＋相対パス（行ヘッダ）」のファイルが存在する場合に、そのファイルのハッシュ値を出力する。ファイルが存在しない場合は空白のままとする。パターン表示部２８は、あるファイル（行）のハッシュ値の出現パターンを類別化しその類別番号を出力する。また、表示／出力部６の表示画面には、後で述べるように、各改修担当者に確認した結果を表示する、確認結果の欄もある。
【００４１】
なお、ファイル管理システム１０の表示／印刷部６の表示画面の内容は、そのまま、一覧表として紙に印刷しても良い。すなわち、「一括リリース（案）」を顧客に提示し、承認を得る媒体は、紙であっても良く、あるいは、携帯端末の表示画面であっても良い。
【００４２】
図４は、比較対象フォルダ集約部４の動作を示すフローチャートである。比較対象フォルダ集約部４は、比較対象フォルダ部１の各フォルダに存在するファイルを一つの作業フォルダ２へ集める機能を有する。
【００４３】
図５に、比較対象フォルダ部１に存在する比較対象フォルダ集約の対象の例を示す。
【００４４】
ここでは、本部での３世代前のＶｅｒ．１．０のフォルダＦＨ１のファイルに対する３回（Ｖｅｒ．１．１−Ｖｅｒ．１．３）のリリースに伴って作成された、Ｖｅｒ．１．１に対応するフォルダＦＨ２，Ｖｅｒ．１．２に対応するフォルダＦＨ３，Ｖｅｒ．１．３に対応するフォルダＦＨ４の３つのフォルダに保持されているファイルが比較の対象となる。また、拠点１のＶｅｒ．１．３の一括リリース（案）のフォルダＦＡ２も対象比較になる。なお、各フォルダＦＨ１−ＦＨ４、ＦＡ１、ＦＡ２には、各々拠点毎の設計書が添付されている。例えは、フォルダＦＨ１の階層構造の４行目に存在する“ｋｙｏｔｅｎ１．ｊｓｐ”のファイルは、拠点１で独自に設定され本部ではリリースしなかった追加ファイルであり、拠点１用に２０１０年１月１日午前０時に更新されたものであることが拠点毎の設計書に記載されており、この設計書は、関係する各フォルダＦＨ２−ＦＨ４、ＦＡ１、ＦＡ２に各々添付される。本部の３つのフォルダＦＨ２−ＦＨ４と拠点１の設計書の情報とから、拠点１のＶｅｒ．１．３の一括リリース（案）のフォルダＦＡ２において、“ｋｙｏｔｅｎ１．ｊｓｐ”のファイルが、２０１３年７月１日午前０時付で更新されている。
【００４５】
拠点１のＶｅｒ．１．３の一括リリース案の元データは、通常、本部においてＶｅｒ．１．３のリリース時に同時に作成されるものであり、構成ファイルは本部のＶｅｒ．１．３に近い。しかし、本部でのリリース後にＶｅｒ．１．３自体に不備がありその後対策が施されたような場合には、拠点１のＶｅｒ．１．３の一括リリース（案）が、本部のＶｅｒ．１．３の元データとは異なっている。
【００４６】
図４に戻って、ステップ２０２で処理の最初に、作業フォルダ部２を作成する。作業フォルダ部２は、フォルダ名が既存のフォルダと競合しないように実行時の日時をフォルダ名とする。ステップ２０４では、比較対象フォルダ部１の順位を特定するインデックスｉを初期化（１を代入）する。ステップ２０６ではｉ番目の比較対象フォルダのパスの入力有無をチェックし、パスの入力がない場合これ以上の処理は不要と判断してステップ２２４の処理終了へ移動する。パスの入力がある場合、ステップ２０８では入力された比較対象フォルダ以下に存在する全てのファイルのファイル一覧をフルパスで取得する。
【００４７】
ステップ２１０では、ファイル一覧の行を特定するインデックスｎを初期化（１を代入）する。ステップ２１２では、ステップ２０８で取得したファイル一覧のｎ行目にファイルのフルパスが記述されているかをチェックし、記述がない場合はこの比較対象フォルダの処理は終了と判断して次の比較対象フォルダをチェックするためステップ２２２へ移動する。ｎ行目にファイルのパスが記述されている場合、ステップ２１４で比較対象フォルダを基点とした相対パスを取得する。比較対象フォルダのフルパスとファイルの相対パスが与えられると、そのファイルの絶対パスが得られる。ステップ２１６では、作業フォルダのパスを基点としてステップ２１４で取得した相対パスの位置にファイルが既に存在するかをチェックし、存在する場合は何も処理をしない。存在しない場合はステップ２１８で「作業フォルダ＋相対パス」のダミーファイルを作成する。
【００４８】
図６は、作業フォルダ部２において、各指定フォルダのファイルを全て１つのフォルダとして集約された、一時フォルダの例の一部を示す図である。ここでは、４つの比較対象フォルダ（ＦＨ２−ＦＨ４、ＦＡ２）１２０−１２３に関し、共通のフォルダ（ディレクトリ＝”wwwroot￥”）と相対パスにより、各フォルダ１２０−１２３における各ファイルの位置関係と、更新日時とが得られる。
【００４９】
図４に戻って、ステップ２２０ではファイル一覧にある次のファイルを処理するためにインデックス（ｎ）に１を加算する。ステップ２２０では次の比較対象フォルダを処理するためにインデックス（ｉ）に１を加算する。
【００５０】
次に、出力部５の機能について、詳細に説明する。
図７は、出力部５における全体的な処理３００を示すフローチャートである。出力部５では、ステップ３０２で、表示画面６の表側部２２に相当する部分の処理とその結果の出力を行い、ステップ３０４で表頭部２４に相当する部分の処理とその結果の出力、ステップ３０６でハッシュ値出力部２６に相当する部分の処理とその結果の出力を行い、最後にステップ３０８でファイル別比較結果をパターン表示部２８に出力し、確認の必要なファイルに関しては精査依頼の処理を行う。
【００５１】
図８は、ファイル構造出力の処理４００を示すフローチャートである。ステップ４０２では、出力位置の行番号（Ｒｏｗ）と列番号（Ｃｏｌ）を出力開始位置の行番号および列番号で初期化して、作業フォルダ２のパスおよび出力位置の行番号と列番号を指定して指定フォルダ出力のステップ４０４を呼び出すことでファイル構造を出力する。
【００５２】
次に、図９は、指定フォルダ出力の処理５００を示すフローチャートである。処理５００では、ステップ５０２で引数として指定された行列位置（Ｒｏｗ／Ｃｏｌ）に指定フォルダの名称を出力する。ステップ５０４で指定フォルダの直下にあるファイルの有無をチェックし、ファイルが存在しない場合はサブフォルダの処理を行うためにステップ５１２へ移動する。ファイルが存在する場合はステップ５０６で出力位置の行番号（Ｒｏｗ）を１加算して、ステップ５０８で行番号（Ｒｏｗ）と列番号（Ｃｏｌ）を出力位置としてファイル名を出力する。ステップ５１０で次のファイルを検索し、ステップ５０４のファイルの有無チェックに移動する。
【００５３】
ステップ５１２で指定フォルダにサブフォルダがあるかチェックを行い、サブフォルダがない場合は、処理を終了するためにステップ５２０へ移動する。サブフォルダがある場合、ステップ５１４で行番号（Ｒｏｗ）を１加算する。ステップ５１６でサブフォルダのパスと出力位置の行番号（Ｒｏｗ）と列番号（Ｃｏｌ＋１）を指定して指定フォルダ出力処理の再起呼び出しを行う。指定フォルダ出力の処理５００と指定フォルダ出力のステップ５１６は再起呼び出し関係にある。また、行番号（Ｒｏｗ）は参照渡しの引数として渡しているので、ステップ５１６から戻ってきた際には処理された行数分加算されている。ステップ５１６の処理が終了したらステップ５１８で次のサブフォルダを検索しサブフォルダの有無チェック５１２へ移動する。
【００５４】
図１０は、比較対象フォルダ（表頭部）の出力の処理６００を示すフローチャートである。処理６００では、ステップ６０２で出力開始位置の行列番号でそれぞれＲｏｗとＣｏｌを初期化する。ステップ６０４で比較対象である指定フォルダの有無チェックを行い、指定フォルダが存在しなければ、処理を終了するためにステップ６１２の終了へ移動する。比較対象の指定フォルダが存在する場合は、ステップ６０６で指定フォルダ名を出力位置の行列番号をＲｏｗ／Ｃｏｌとして出力する。ステップ６０８では出力開始位置の列番号（Ｃｏｌ）に１を加算し、ステップ６１０で次の指定フォルダを検索する。
【００５５】
図１１は、ハッシュ値出力の処理７００を示すフローチャートである。処理７００では、ステップ７０２でＣｏｌを表頭部２４の開始位置の列番号で初期化する。列番号Ｃｏｌの位置に比較対象フォルダの記述有無をチェックし、存在しない場合は処理終了としてステップ７１８の終了へ移動する。比較対象の指定フォルダが存在すると判定されたらステップ７０６でＲｏｗを表側部２２の開始位置の行番号で初期化する。ステップ７０８でＲｏｗの位置にファイル（またはフォルダ）の記述有無をチェックし、存在しない場合は次の比較対象フォルダを処理するためにステップ７１６に移動する。ステップ７１６ではＣｏｌに１を加算する。
【００５６】
ステップ７０８でファイル（またはフォルダ）のパスが記述されていると判断されたら、ステップ７１０へ移動し「比較対象フォルダ＋相対パス」のファイルの存在有無をチェックする。ファイルが存在したら、ステップ７１２でそのファイルのハッシュ値を取得して出力位置の行列番号をそれぞれＲｏｗ／Ｃｏｌで出力する。ステップ７１４で行番号Ｒｏｗを１加算してファイルの記述有無をチェックするためにステップ７０８へ移動する。
【００５７】
図１２は、比較結果出力・確認の処理８００を示すフローチャートである。処理８００では、ステップ８０２でＣｏｌ／Ｒｏｗにファイル別のパターン表示部２８の出力位置（列）と表側部２２の開始位置（行）でそれぞれ初期化する。ステップ８０４で表側部２２のＲｏｗが示す行位置にファイル（またはフォルダ）の記述有無をチェックし、記述がない場合は処理終了としてステップ８２０の終了へ移動する。記述がある場合は、ステップ８０６において、ハッシュ値出力部２６で行位置Ｒｏｗに該当する部分のハッシュ値出力件数が１の場合、ファイルは１つのフォルダにのみ存在すると判定され、ステップ８１６で比較結果を「１」としてファイル別の、パターン表示部２８の行位置Ｒｏｗに「１」を出力する。ステップ８０６でハッシュ値の出力件数が１以外の場合、ステップ８０８に移動しステップ８０８ではハッシュ値出力部２６で行位置Ｒｏｗに該当する部分のハッシュ値出力件数が０の場合、全て同じハッシュ値のファイルが複数のフォルダに存在する、パターン０に該当するので、ステップ８１４へ移動し、ステップ８１４では比較結果を「０」としてファイル別のパターン表示部２８の行位置Ｒｏｗへ「０」を出力する。
【００５８】
ハッシュ値出力件数が１でなく、かつ、ステップ８０８でハッシュ値出力件数が０以外と判断された場合、ステップ８１０へ移動し、ハッシュ値出力部２６の行位置Ｒｏｗに該当する部分のハッシュ値が全て一致する場合は、ステップ８１４へ移動し同様にパターン表示部２８の行位置Ｒｏｗへ比較結果「０」を出力する。ステップ８１０でハッシュ値が一致しないと判断された場合は、複数のフォルダに、全て同じハッシュ値のファイルである。複数のフォルダに異なるハッシュ値のファイルが存在する、パターン２に該当するので、ステップ８１２で比較結果「２」としてパターン表示部２８の行位置Ｒｏｗへ「２」と出力する。ステップ８１８で行位置Ｒｏｗを１加算して次のファイルの処理をするためにステップ８０４へ移動する。
【００５９】
図１３に、「Ｖｅｒ．１．３一括リリース（案）」に関して、表示／出力部６の表示画面に表示される比較結果の出力例を示す。
図１３の表側部２２にファイル構造として表示されている階層構造（ツリー構造）のヘッダ名／ファイル名が、全てのフォルダに対応している。ハッシュ値出力部には、ファイルの存在する箇所（行列）に、そのファイルのハッシュ値が表示されている。パターン表示部には、各媒体のファイルの比較結果が表示されている。例えば、ファイル構造の１行目のパターンは、“０”となっているが、これは、拠点１の一括リリースファイルのフォルダのファイルのハッシュ値と、本部でＶｅｒ．１．１としてリリースされたフォルダに存在しているファイルのハッシュ値とが、同じであるためである。一方、ファイル構造の２行目のパターンは、“２”、すなわち、４つのフォルダに異なるハッシュ値のファイルが存在することを示している。図１３の表示／出力部６の表示画面を利用すれば、改修担当者への精査依頼を速やかに行える。
【００６０】
図１４は、メール送受信部の処理９００を示すフローチャートである。メール送受信部の処理９００は、チェック対象となる行列位置をそれぞれＣｏｌ／Ｒｏｗとし、ステップ９０２でＣｏｌをパターン表示部２８の出力位置（列）で初期化し、Ｒｏｗをパターン表示部２８の出力開始位置（行）でそれぞれ初期化する。ステップ９０４で行番号Ｒｏｗの位置にファイル（またはフォルダ）の記述有無をチェックし、記述がない場合は処理終了としてステップ９１４の終了へ移動する。記述がある場合は、ステップ９０６で行位置Ｒｏｗと列位置Ｃｏｌの場所の比較結果が「０」の場合次の行をチェックするためにステップ９１２へ移動しＲｏｗに１を加算する。ステップ９０６での比較結果が「０」以外の場合、例えば、図１３のファイル構造の２行目の”main．jsp”の各ファイルに関して、ステップ９０８ではステップ９１４を実行し改修履歴管理テーブル７に登録されている、改修担当者をファイルパスから特定する。ステップ９１０ではステップ９０８で特定した改修担当者のメールアドレスへ精査依頼のメールを送信する。ステップ９１２では次の行のチェックを行うためにＲｏｗに１を加算してステップ９０４へ移動する。
【００６１】
例えば、仮に、図１３のファイル構造の２行目のパターン“２”のにおいて、Ｖｅｒ．１．３のファイルに関して本部リリース後に不具合が発覚し、古いＶｅｒ．１．２のバージョンに戻したような場合には、改修担当者に差異の理由を問い合わせないと正確な判定はできない。
【００６２】
図１５は、図１３の比較結果が“１”、“２”となっているファイルに関して、拠点１の一括リリースファイルＶｅｒ．１．３（案）のフォルダのファイルの妥当性を、各改修担当者に確認した結果を、表示／出力部６の表示画面の確認結果の欄２９に表示した例である。この例では、何れのファイルも問題の無いことが確認されているので、一括リリースファイルＶｅｒ．１．３（案）のフォルダのファイルが、拠点１の正式な一括リリースファイルとして確認される。
【００６３】
もし、確認結果の欄２９で、何れかのファイルに問題があることが確認されたら、開発者は拠点１の一括リリースファイルＶｅｒ．１．３（案）に関して、必要な修正を加える。この処理は、例えば、表示／印刷部６のＧＵＩ機能等を利用して行われる。そして、一括リリースファイルＶｅｒ．１．３（修正案）について、再度、図４乃至図１４で述べた、一括リリース用媒体の妥当性検証のための複数フォルダ間の比較理を繰り返し、何れのファイルにも問題の無いことを確認できた段階で、処理を終了する。
【００６４】
このように、拠点１の「一括リリース（案）」のファイルの内容を本部の各リリースファイルと比較し、パターン“１”、“２”と判定されたファイルについては、各々、改修担当者にその妥当性を確認するので、３つ以上のフォルダを対象とする場合であっても、信頼性の高い一括リリースファイルを構成することができる。図１５の出力部６の表示画面は、拠点１の「一括リリース（案）」のファイルの内容を本部の複数回のリリースファイルと比較し、その要否や妥当性を判定した結果を一覧表の形式で示しているので、各ファイルの比較結果の確認に時間が掛からず、第三者であっても確認結果の妥当性を判別し易い。従って、図１５の出力部６の表示画面を作業エビデンスとして顧客に提示することで、その承認を得るのが容易になり、迅速に、正式なリリースを行えるようになる。
【００６５】
本発明によれば、ファイルが３つ以上の多くのフォルダ毎に分散していても、ファイルが妥当か否かの確認が必要なファイルを、ファイル構造とハッシュ値の組み合わせで取得・出力し、それらについて纏めて改修担当者に問い合わせるので、リリースファイルの妥当性の検証を容易に行える。すなわち、比較結果が妥当か否かを関係者が容易かつ正確に確認できる。また、比較すべき全てのファイルが網羅されるので、確認漏れや錯誤等で、確認ミスをする恐れはない。さらに、判定結果を一覧表の形式で表示しているので、第三者であっても確認結果の妥当性を判別し易い。
【００６６】
なお、本発明は、ファイルを管理するためのシステム構造として、複数のフォルダに代えて、ファイルをディレクトリに分類して格納し、ディレクトリに上位下位の階層関係を持たせた階層型のファイル構造であっても、同様に適用できる。
【符号の説明】
【００６７】
１・・・比較対象指定フォルダ部
２・・・作業フォルダ部
３・・・比較対象フォルダ入力部
４・・・比較対象フォルダ集約部
５・・・出力部
６・・・比較結果部
７・・・改修履歴管理テーブル部
８・・・メール送受信部
１０・・ファイル管理システム
２０・・比較結果出力例
２２・・表側部
２４・・表頭部
２６・・ハッシュ値出力部
２８・・パターン表示部。
【図１】
2015035148.tif 000003
【図２】
2015035148.tif 000004
【図３】
2015035148.tif 000005
【図４】
2015035148.tif 000006
【図５】
2015035148.tif 000007
【図６】
2015035148.tif 000008
【図７】
2015035148.tif 000009
【図８】
2015035148.tif 000010
【図９】
2015035148.tif 000011
【図１０】
2015035148.tif 000012
【図１１】
2015035148.tif 000013
【図１２】
2015035148.tif 000014
【図１３】
2015035148.tif 000015
【図１４】
2015035148.tif 000016
【図１５】
2015035148.tif 000017