(57)【要約】【課題】ファイルが関連し合って情報が形成される場合、ファイルの更新または削除に伴う処理負荷を軽減する。【解決手段】情報を管理するプログラムは、直接的または間接的に関連する複数のファイルの中のいずれかのファイルを更新または削除する場合、参照元ファイルの識別子と参照先ファイルの識別子とを対応付けた対応情報を参照して、対象のファイルを更新または削除すると影響があるファイルを特定し（Ｓ３１）、該特定したファイルと前記対象のファイルとの間で整合性をチェックする（Ｓ３３）処理をコンピュータに実行させる。【選択図】図８
2014010782.tif 000002
【特許請求の範囲】
【請求項１】
直接的または間接的に関連する複数のファイルの中のいずれかのファイルを更新または削除する場合、参照元ファイルの識別子と参照先ファイルの識別子とを対応付けた対応情報を参照して、対象のファイルを更新または削除すると影響があるファイルを特定し、
該特定したファイルと前記対象のファイルとの間で整合性をチェックする
処理をコンピュータに実行させることを特徴とするプログラム。
【請求項２】
該特定する処理は、抽出したファイルの識別子に対応する参照元ファイルの識別子および参照先ファイルの識別子を再帰的に抽出することで、前記影響があるファイルをさらに特定する
処理をコンピュータに実行させることを特徴とする請求項１に記載のプログラム。
【請求項３】
該特定する処理によって特定されたファイルの識別子を重複のないように保持する
処理をコンピュータに実行させることを特徴とする請求項１または請求項２に記載のプログラム。
【請求項４】
該特定する処理によって特定したファイルおよび前記対象のファイルを排他ロックし、
該チェックする処理は、排他ロックしたファイルの整合性をチェックする
処理をコンピュータに実行させることを特徴とする請求項１から請求項３のいずれか１つに記載のプログラム。
【請求項５】
直接的または間接的に関連する複数のファイルの中のいずれかのファイルを更新または削除する場合、参照元ファイルの識別子と参照先ファイルの識別子とを対応付けた対応情報を参照して、対象のファイルを更新または削除すると影響があるファイルを特定する特定部と、
前記特定部によって特定されたファイルと前記対象のファイルとの間で整合性をチェックするチェック部と
を有することを特徴とする情報管理装置。
【請求項６】
コンピュータが、
直接的または間接的に関連する複数のファイルの中のいずれかのファイルを更新または削除する場合、参照元ファイルの識別子と参照先ファイルの識別子とを対応付けた対応情報を参照して、対象のファイルを更新または削除すると影響があるファイルを特定し、
該特定したファイルと前記対象のファイルとの間で整合性をチェックする
各処理を実行することを特徴とする情報管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラム、情報管理装置および情報管理方法に関する。
【背景技術】
【０００２】
複数のファイルが関連し合って、１つの定義や文書等の情報が形成される場合がある。このような場合、例えばＸＭＬ（Extensible  Markup  Language）ファイルでは、リンク先のファイルを参照するリンク機能（Ｘｌｉｎｋ）がリンク元のファイルに記述されることで、ファイル間が関連付けられている。
【０００３】
ここで、ＸＭＬファイルの内容を更新する際、ＸＭＬファイルを管理する情報管理システムは、関連する全てのファイルを排他ロックし、排他ロックした全てのファイルを解析し、更新するファイルと関連するファイルとの間の整合性をチェックする。そして、情報管理システムは、チェックが正常であればファイルの内容を更新する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−１０７２１５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、更新するファイルと関連するファイルとの間の整合性をチェックする処理の負荷は、全体のファイル数が多くなる程増大するという問題がある。すなわち、情報管理システムは、関連する全てのファイルを解析し、関連するファイルと更新するファイルとの間の整合性をチェックするので、整合性のチェックに要する処理負荷がファイル数に伴い増大する。
【０００６】
なお、上記課題は、ファイルを更新する場合だけではなく、ファイルを削除する場合にも同様に生じる課題である。
【０００７】
１つの側面では、ファイルが関連し合って情報が形成される場合、ファイルの更新または削除に伴う処理負荷を軽減することを目的とする。
【課題を解決するための手段】
【０００８】
一態様のプログラムは、直接的または間接的に関連する複数のファイルの中のいずれかのファイルを更新または削除する場合、参照元ファイルの識別子と参照先ファイルの識別子とを対応付けた対応情報を参照して、対象のファイルを更新または削除すると影響があるファイルを特定し、該特定したファイルと前記対象のファイルとの間で整合性をチェックする処理をコンピュータに実行させる。
【発明の効果】
【０００９】
一側面によれば、ファイルが関連し合って情報が形成される場合、ファイルの更新または削除に伴う処理負荷を軽減することができる。
【図面の簡単な説明】
【００１０】
【図１】図１は、実施例に係る情報管理システムの構成を示す機能ブロック図である。
【図２】図２は、実施例に係るファイル管理テーブルのデータ構造の一例を示す図である。
【図３】図３は、実施例に係る関連管理テーブルのデータ構造の一例を示す図である。
【図４】図４は、ＸＭＬファイルの関連を示す具体例を示す図である。
【図５】図５は、ＸＭＬファイルの関連を示す別の具体例を示す図である。
【図６】図６は、実施例に係る情報管理処理の全体の手順を示すフローチャートである。
【図７】図７は、ファイル登録処理の手順を示すフローチャートである。
【図８】図８は、ファイル更新処理の手順を示すフローチャートである。
【図９】図９は、ファイル削除処理の手順を示すフローチャートである。
【図１０】図１０は、関連グループリスト作成処理の手順を示すフローチャートである。
【図１１】図１１は、関連情報の抽出処理の手順を示すフローチャートである。
【図１２】図１２は、関連管理テーブルから関連ＩＤを特定する処理の手順を示すフローチャートである。
【図１３】図１３は、入力対象ＩＤリストの一例を示す図である。
【図１４】図１４は、関連グループリストの一例を示す図である。
【図１５】図１５は、整合性チェックの結果の出力例を示す図である。
【図１６】図１６は、情報管理プログラムを実行するコンピュータの一例を示す図である。
【発明を実施するための形態】
【００１１】
以下に、本願の開示するプログラム、情報管理装置および情報管理方法の実施例を図面に基づいて詳細に説明する。なお、以下の実施例では、複数のＸＭＬファイルが関連し合って形成される情報を管理する情報管理装置に適用した場合について説明するが、実施例によりこの発明が限定されるものではない。
【実施例】
【００１２】
［実施例に係る情報管理システムの構成］
図１は、実施例に係る情報管理システムの構成を示す機能ブロック図である。図１に示すように、情報管理システム９は、情報管理装置１と複数のユーザ端末２とを有する。情報管理装置１と複数のユーザ端末２とは、ＬＡＮ（Local  Area  Network）３で接続される。
【００１３】
情報管理装置１は、記憶部１０と、制御部２０とを有する。
【００１４】
記憶部１０は、例えばフラッシュメモリ（Flash  Memory）やＦＲＡＭ（登録商標）（Ferroelectric  Random  Access  Memory）等の不揮発性の半導体メモリ素子等の記憶装置に対応する。そして、記憶部１０は、複数のＸＭＬファイル１１と、ファイル管理テーブル１２と、関連管理テーブル１３とを有する。
【００１５】
ＸＭＬファイル１１は、他のＸＭＬファイル１１と互いに関連する、ＸＭＬで記述されたファイルの実体である。関連する複数のＸＭＬファイル１１によって、例えば１つの定義情報または１つの文書等の情報が形成される。ＸＭＬファイル１１の場合、複数のファイルは、Ｘｌｉｎｋにより関連付けられる。例えば、参照元のＸＭＬファイル１１に記述されたＸｌｉｎｋにより参照先のＸＭＬファイル１１のＵＲＬが参照元のＸＭＬファイル１１と関連付けられる。図１の例では、説明の便宜上、矢印によってＸＭＬファイル１１間の関連を表している。すなわち、矢印の元が参照元のＸＭＬファイル１１であり、参照元のＸＭＬファイル１１にＸｌｉｎｋが記述され、Ｘｌｉｎｋにより矢印の先のＸＭＬファイル１１のＵＲＬが記述されている。このＸＭＬファイル１１間の関連は、実際では、後述する関連管理テーブル１３によって管理される。
【００１６】
ファイル管理テーブル１２は、情報管理装置１がＸＭＬファイル１１へアクセスするためのＵＲＬ（Uniform  Resource  Locator）を記憶する。関連管理テーブル１３は、ＸＭＬファイル１１間の関連を記憶する。なお、ファイル管理テーブル１２および関連管理テーブル１３のデータ構造については、後述する。
【００１７】
制御部２０は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、これらによって種々の処理を実行する。そして、制御部２０は、例えば、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）等の集積回路またはＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）等の電子回路に対応する。さらに、制御部２０は、ファイル登録部２１と、ファイル更新部２２と、ファイル削除部２３と、関連抽出部２４と、出力部２５とを有する。
【００１８】
ファイル登録部２１は、ＸＭＬファイル１１を登録する場合に、登録するＸＭＬファイル１１のＵＲＬをファイル管理テーブル１２に登録する。また、ファイル登録部２１は、登録するＸＭＬファイル１１を解析し、他のＸＭＬファイル１１との関連を抽出する。例えば、ファイル登録部２１は、登録するＸＭＬファイル１１に記述されたＸｌｉｎｋを用いることで、他のＸＭＬファイル１１との関連を抽出する。そして、ファイル登録部２１は、抽出した関連を関連管理テーブル１３に登録する。
【００１９】
ここで、ファイル管理テーブル１２および関連管理テーブル１３のデータ構造について、図２および図３を参照して説明する。図２は、実施例に係るファイル管理テーブルのデータ構造の一例を示す図である。図３は、実施例に係る関連管理テーブルのデータ構造の一例を示す図である。
【００２０】
図２に示すように、ファイル管理テーブル１２は、ＩＤ（identification）１２ａとＵＲＬ１２ｂとを対応付けて記憶する。ＩＤ１２ａは、ＸＭＬファイル１１を識別する識別番号であり、他のＸＭＬファイル１１と重複しないように自動採番される。ＵＲＬ１２ｂは、ＸＭＬファイル１１の実体が存在する場所を指す。一例として、ＩＤ１２ａが「３９５」である場合、ＵＲＬ１１ｂとして「file:///files/aaaaa.xml」が記憶されている。
【００２１】
図３に示すように、関連管理テーブル１３は、ｆｒｏｍ１３ａとｔｏ１３ｂとを対応付けて記憶する。ｆｒｏｍ１３ａは、参照元のＸＭＬファイル１１のＩＤを記憶する。ｔｏ１３ｂは、参照先のＸＭＬファイル１１のＩＤを記憶する。すなわち、ｆｒｏｍ１３ａで示されるＸＭＬファイル１１に、ｔｏ１３ｂで示されるＸＭＬファイル１１を参照するＸｌｉｎｋが記述されている。一例として、ｆｒｏｍ１３ａが「４５２」である場合、ｔｏ１３ｂとして「６５３」および「３９６」が記憶されている。なお、ｆｒｏｍ１３ａからｔｏ１３ｂへの関連を「正関連」といい、ｔｏ１３ｂからｆｒｏｍ１３ａへの関連を「逆関連」というものとする。
【００２２】
ファイル更新部２２は、ＸＭＬファイル１１を更新する場合、更新対象のＸＭＬファイル１１を更新すると影響のあるＸＭＬファイル１１を特定する。そして、ファイル更新部２２は、特定したＸＭＬファイル１１との間で整合性チェックをしたうえで、更新対象のＸＭＬファイル１１を更新する。なお、影響のあるＸＭＬファイル１１を特定する処理は、後述する関連抽出部２４によって行われる。
【００２３】
例えば、ファイル更新部２２は、関連抽出部２４によってＸＭＬファイル１１が絞り込まれた範囲で、ＸＭＬファイル１１を排他ロックし、データの整合性のチェックを行う。また、ファイル更新部２２は、データの整合性のチェックが正常であれば、更新対象のＸＭＬファイル１１を更新する。また、ファイル更新部２２は、更新箇所について、他のＸＭＬファイル１１との関連を抽出する。そして、ファイル更新部２２は、関連が抽出されれば、関連管理テーブル１３を更新する。さらに、ファイル更新部２２は、絞り込まれた範囲でのＸＭＬファイル１１の排他ロックを解除する。一方、ファイル更新部２２は、データの整合性のチェックが異常であれば、異常である理由を後述する出力部２５を介して出力する。
【００２４】
ファイル削除部２３は、ＸＭＬファイル１１を削除する場合、削除対象のＸＭＬファイル１１を削除すると影響のあるＸＭＬファイル１１を特定する。そして、ファイル削除部２３は、特定したＸＭＬファイル１１との間で整合性チェックをしたうえで、削除対象のＸＭＬファイル１１を削除する。なお、影響のあるＸＭＬファイル１１を特定する処理は、後述する関連抽出部２４によって行われる。
【００２５】
例えば、ファイル削除部２３は、関連抽出部２４によってＸＭＬファイル１１が絞り込まれた範囲で、ＸＭＬファイル１１を排他ロックし、データの整合性のチェックを行う。また、ファイル削除部２３は、データの整合性のチェックが正常であれば、関連管理テーブル１３の、削除対象のＸＭＬファイル１１に対するレコードを削除する。すなわち、ファイル削除部２３は、関連管理テーブル１３のｆｒｏｍ１３ａまたはｔｏ１３ｂに削除対象のＸＭＬファイル１１のＩＤが設定されていれば、設定されているレコードを削除する。また、ファイル削除部２３は、削除対象のＸＭＬファイル１１に対するレコードをファイル管理テーブル１２から削除する。また、ファイル削除部２３は、削除対象のＸＭＬファイル１１を記憶部１０から削除する。さらに、ファイル削除部２３は、絞り込まれた範囲でのＸＭＬファイル１１の排他ロックを解除する。一方、ファイル削除部２３は、データの整合性のチェックが異常であれば、異常である理由を後述する出力部２５を介して出力する。
【００２６】
関連抽出部２４は、関連管理テーブル１３に記憶されたＸＭＬファイル１１の関連を用いて、更新対象のＸＭＬファイル１１を更新すると影響があるＸＭＬファイル１１を特定する。また、関連抽出部２４は、関連管理テーブル１３に記憶されたＸＭＬファイル１１の関連を用いて、削除対象のＸＭＬファイル１１を削除すると影響があるＸＭＬファイル１１を特定する。例えば、関連抽出部２４は、更新対象または削除対象（以下、対象と略記）のＸＭＬファイル１１のＩＤを用いて、当該ＩＤと関連する関連ＩＤを関連管理テーブル１３から抽出する。一例として、関連抽出部２４は、対象のＸＭＬファイル１１のＩＤが関連管理テーブル１３のｆｒｏｍ１３ａと一致するｔｏ１３ｂが示す関連ＩＤ、すなわち正関連ＩＤを抽出する。また、関連抽出部２４は、対象のＸＭＬファイル１１のＩＤが関連管理テーブル１３のｔｏ１３ｂと一致するｆｒｏｍ１３ａが示す関連ＩＤ、すなわち逆関連ＩＤを抽出する。さらに、関連抽出部２４は、抽出した正関連ＩＤおよび逆関連ＩＤを１つずつ選択し、選択したＩＤを用いて、再帰的に関連管理テーブル１３から関連ＩＤを抽出する。すなわち、関連抽出部２４は、対象のＸＭＬファイル１１のＩＤから直接的に関連する関連ＩＤだけでなく、間接的に関連する関連ＩＤを抽出する。そして、関連抽出部２４は、抽出した関連ＩＤを、関連グループとして、例えば関連グループリストに追加する。追加された関連グループリスト内の関連ＩＤが、対象のＸＭＬファイル１１と影響があるＸＭＬファイル１１のＩＤとなる。なお、関連グループリストの構成例は、後述する。
【００２７】
出力部２５は、ファイル更新部２２によってデータの整合性が異常である場合、異常である理由をファイルの更新要求を行ったユーザ端末２へ出力する。また、出力部２５は、ファイル削除部２３によってデータの整合性が異常である場合、異常である理由をファイルの削除要求を行ったユーザ端末２へ出力する。また、出力部２５は、ファイル更新部２２によって正常にファイルが更新された場合、例えば正常である旨をファイルの更新要求を行ったユーザ端末２へ出力する。また、出力部２５は、ファイル削除部２３によって正常にファイルが削除された場合、例えば正常である旨をファイルの削除要求を行ったユーザ端末２へ出力する。
【００２８】
［ＸＭＬファイルの関連を示す具体例］
ここで、ＸＭＬファイル１１の関連を示す具体例について、図４および図５を参照して説明する。図４は、ＸＭＬファイルの関連を示す具体例を示す図である。図５は、ＸＭＬファイルの関連を示す別の具体例を示す図である。
【００２９】
図４の左部で示すように、関連する複数のＸＭＬファイル１１が関連グループに含まれている。関連グループには、収集定義、データ定義、チャート定義およびレイアウト定義のＸＭＬファイル１１が関連し合っている。ここで、データ定義とは、データのスキーマを定義しているとする。収集定義とは、データの収集対象を定義しているとし、データ定義を参照している。すなわち、収集定義が参照元であり、データ定義が参照先であるので、収集定義からデータ定義への正関連を示すとともに、データ定義から収集定義への逆関連を示す。チャート定義とは、チャート図の表示形式を定義しているとし、データ定義を参照している。すなわち、チャート定義が参照元であり、データ定義が参照先であるので、チャート定義からデータ定義への正関連を示し、データ定義からチャート定義への逆関連を示す。レイアウト定義とは、チャート図の配置を定義しているとし、チャート定義を参照している。すなわち、レイアウト定義が参照元であり、チャート定義が参照先であるので、レイアウト定義からチャート定義への正関連を示し、チャート定義からレイアウト定義への逆関連を示す。
【００３０】
そして、関連グループに含まれる全ての定義に基づいて、１つの情報が形成される。図４の右部で示すように、レイアウト定義で配置が定義されたチャート図が、チャート定義で定義された表示形式で表示される。チャート図には、データ定義で定義されたデータについて、収集定義で定義された収集対象を収集した結果が表示される。
【００３１】
また、別の具体例では、図５の左部で示すように、関連する複数のＸＭＬファイル１１が関連グループに含まれている。関連グループには、図４の関連グループと同様に、収集定義、データ定義、チャート定義およびレイアウト定義のＸＭＬファイル１１が関連し合っている。
【００３２】
そして、関連グループに含まれる全ての定義に基づいて、１つの情報が形成される。図５の右部で示すように、レイアウト定義で配置が定義されたチャート図が、チャート定義で定義された表示形式で表示される。チャート図には、データ定義で定義されたデータについて、収集定義で定義された収集対象を収集した結果が表示される。
【００３３】
［情報管理処理の手順］
次に、実施例に係る情報管理処理の全体の手順について、図６を参照して説明する。図６は、実施例に係る情報管理処理の全体の手順を示すフローチャートである。なお、情報管理装置１は、何らかの要求を受け付けたとする。
【００３４】
まず、制御部２０は、受け付けた要求がＸＭＬファイル１１の登録要求であるか否かを判定する（ステップＳ１１）。ＸＭＬファイル１１の登録要求であると判定した場合（ステップＳ１１；Ｙｅｓ）、ファイル登録部２１は、ＸＭＬファイル１１の登録処理を実行する（ステップＳ１２）。そして、制御部２０は、情報管理処理を終了する。
【００３５】
一方、ＸＭＬファイル１１の登録要求でないと判定した場合（ステップＳ１１；Ｎｏ）、制御部２０は、受け付けた要求がＸＭＬファイル１１の更新要求であるか否かを判定する（ステップＳ１３）。ＸＭＬファイル１１の更新要求であると判定した場合（ステップＳ１３；Ｙｅｓ）、ファイル更新部２２は、ＸＭＬファイル１１の更新処理を実行する（ステップＳ１４）。そして、制御部２０は、情報管理処理を終了する。
【００３６】
一方、ＸＭＬファイル１１の更新要求でないと判定した場合（ステップＳ１３；Ｎｏ）、制御部２０は、受け付けた要求がＸＭＬファイル１１の削除要求であるか否かを判定する（ステップＳ１５）。ＸＭＬファイル１１の削除要求であると判定した場合（ステップＳ１５；Ｙｅｓ）、ファイル削除部２３は、ＸＭＬファイル１１の削除処理を実行する（ステップＳ１６）。そして、制御部２０は、情報管理処理を終了する。
【００３７】
一方、ＸＭＬファイル１１の削除要求でないと判定した場合（ステップＳ１５；Ｎｏ）、制御部２０は、情報管理処理を終了する。
【００３８】
［ファイル登録処理の手順］
次に、図６に示すＳ１２におけるＸＭＬファイルの登録処理の手順について、図７を参照して説明する。図７は、ファイル登録処理の手順を示すフローチャートである。
【００３９】
まず、ファイル登録部２１は、登録するＸＭＬファイル１１のＵＲＬを制御部２０から取得する。すると、ファイル登録部２１は、取得したＸＭＬファイル１１のＵＲＬをファイル管理テーブル１２へ登録する（ステップＳ２１）。このとき、ファイル登録部２１は、登録するＸＭＬファイル１１を識別するＩＤを他のＸＭＬファイル１１と重複しないように自動採番し、採番したＩＤをＵＲＬとともにファイル管理テーブル１２へ登録する。
【００４０】
そして、ファイル登録部２１は、登録するＸＭＬファイル１１を解析し（ステップＳ２２）、Ｘｌｉｎｋによる、ＸＭＬファイル１１の関連を抽出する（ステップＳ２３）。そして、ファイル登録部２１は、抽出したＸＭＬファイル１１の関連を関連管理テーブル１３へ登録する（ステップＳ２４）。すなわち、ファイル登録部２１は、登録するＸＭＬファイル１１を参照元とした当該ＸＭＬファイル１１のＩＤと参照先のＸＭＬファイル１１のＩＤとを対応付けて関連管理テーブル１３へ登録する。ここでは、ＸＭＬファイル１１の関連として正関連のみが登録される。そして、ファイル登録部２１は、ＸＭＬファイル１１の登録処理を終了する。
【００４１】
［ファイル更新処理の手順］
次に、図６に示すＳ１４におけるＸＭＬファイルの更新処理の手順について、図８を参照して説明する。図８は、ファイル更新処理の手順を示すフローチャートである。
【００４２】
まず、ファイル更新部２２は、更新するＸＭＬファイル１１のＵＲＬを制御部２０から取得する。なお、更新するＸＭＬファイル１１は、１個であっても良いし、複数個であっても良い。
【００４３】
すると、ファイル更新部２２は、取得したＵＲＬが示す更新対象の関連グループリストの作成処理を実行する（ステップＳ３１）。更新対象の関連グループリストの作成処理によって、更新対象が更新されると影響のあるＸＭＬファイル１１が絞り込まれる。そして、絞り込まれた範囲が、関連グループリストに登録される。
【００４４】
そして、ファイル更新部２２は、関連グループリストを用いて、絞り込まれた範囲でＸＭＬファイル１１を排他ロックする（ステップＳ３２）。例えば、ファイル更新部２２は、関連グループリストに含まれる関連ＩＤ（ここでは、更新対象のＩＤも含まれる）が示すＸＭＬファイル１１を排他ロックする。
【００４５】
続いて、ファイル更新部２２は、絞り込まれた範囲内で整合性チェックをする（ステップＳ３３）。例えば、ファイル更新部２２は、排他ロックされたＸＭＬファイル１１の中で、ＸＭＬファイル１１が参照するＸＭＬファイル１１があるか否かの整合性チェックをする。また、ファイル更新部２２は、排他ロックされたＸＭＬファイル１１の中で、ＸＭＬファイル１１が参照するＸＭＬファイル１１のデータがあるか否かの整合性チェックをする。一例として、ファイル更新部２２は、図４のチャート定義に含まれる１つのチャート図の表示形式を更新する場合、更新する表示形式に定義されたデータがデータ定義に定義されているか否かの整合性チェックをする。また、ファイル更新部２２は、図４のデータ定義に含まれるデータのスキーマを更新する場合、更新するスキーマで定義されたデータの収集対象が収集定義に定義されているか否かの整合性チェックをする。ここで、ファイル更新部２２は、整合性チェックが異常であれば、異常である理由を、更新要求を行ったユーザ端末２へ出力する。
【００４６】
そして、ファイル更新部２２は、整合性チェックが正常であれば、更新対象のＸＭＬファイル１１を更新する（ステップＳ３４）。そして、ファイル更新部２２は、更新対象のＸＭＬファイル１１について、Ｘｌｉｎｋによる関連を抽出する（ステップＳ３５）。例えば、ファイル更新部２２は、更新対象のＸＭＬファイル１１内の更新箇所について、他のＸＭＬファイル１１を参照先とするＸｌｉｎｋがあれば、他のＸＭＬファイル１１との関連を抽出する。
【００４７】
そして、ファイル更新部２２は、抽出したＸＭＬファイル１１の関連を関連管理テーブル１３へ更新する（ステップＳ３６）。すなわち、ファイル更新部２２は、更新対象のＸＭＬファイル１１を参照元とした当該ＸＭＬファイル１１のＩＤと参照先のＸＭＬファイル１１のＩＤとを対応付けて関連管理テーブル１３へ更新する。
【００４８】
そして、ファイル更新部２２は、関連グループリストを用いて、絞り込まれた範囲でＸＭＬファイル１１の排他ロックを解除する（ステップＳ３７）。例えば、ファイル更新部２２は、関連グループリストに含まれる関連ＩＤ（ここでは、更新対象のＩＤも含まれる）が示すＸＭＬファイル１１の排他ロックを解除する。そして、ファイル更新部２２は、ＸＭＬファイル１１の更新が正常である旨を、更新要求を行ったユーザ端末２へ出力し、ＸＭＬファイル１１の更新処理を終了する。
【００４９】
［ファイル削除処理の手順］
次に、図６に示すＳ１６におけるＸＭＬファイルの削除処理の手順について、図９を参照して説明する。図９は、ファイル削除処理の手順を示すフローチャートである。
【００５０】
まず、ファイル削除部２３は、削除するＸＭＬファイル１１のＵＲＬを制御部２０から取得する。なお、削除するＸＭＬファイル１１は、１個であっても良いし、複数個であっても良い。
【００５１】
すると、ファイル削除部２３は、取得したＵＲＬが示す削除対象の関連グループリストの作成処理を実行する（ステップＳ４１）。削除対象の関連グループリストの作成処理によって、削除対象が削除されると影響のあるＸＭＬファイル１１が絞り込まれる。そして、絞り込まれた範囲が、関連グループリストに登録される。
【００５２】
そして、ファイル削除部２３は、関連グループリストを用いて、絞り込まれた範囲でＸＭＬファイル１１を排他ロックする（ステップＳ４２）。例えば、ファイル削除部２３は、関連グループリストに含まれる関連ＩＤ（ここでは、削除対象のＩＤも含まれる）が示すＸＭＬファイル１１を排他ロックする。
【００５３】
続いて、ファイル削除部２３は、絞り込まれた範囲内で整合性チェックをする（ステップＳ４３）。例えば、ファイル削除部２３は、排他ロックされたＸＭＬファイル１１の中で、削除対象のＸＭＬファイル１１を参照するＸＭＬファイル１１があるか否かの整合性チェックをする。一例として、ファイル削除部２３は、図４の１つのチャート定義を削除する場合、削除されるチャート定義を参照する定義があるか否かの整合性チェックをする。ここで、ファイル削除部２３は、整合性チェックが異常であれば、異常である理由を、削除要求を行ったユーザ端末２へ出力する。
【００５４】
続いて、ファイル削除部２３は、整合性チェックが正常であれば、削除対象のＸＭＬファイル１１と関連する、関連管理テーブル１３のレコードを削除する（ステップＳ４４）。そして、ファイル削除部２３は、削除対象のＸＭＬファイル１１に対するレコードを、ファイル管理テーブル１２から削除する（ステップＳ４５）。そして、ファイル削除部２３は、削除対象のＸＭＬファイル１１を削除する（ステップＳ４６）。
【００５５】
そして、ファイル削除部２３は、関連グループリストを用いて、絞り込まれた範囲でＸＭＬファイル１１の排他ロックを解除する（ステップＳ４７）。例えば、ファイル削除部２３は、関連グループリストに含まれる関連ＩＤが示すＸＭＬファイル１１の排他ロックを解除する。そしてファイル削除部２３は、削除対象のＸＭＬファイル１１の削除が正常である旨を、削除要求を行ったユーザ端末２へ出力し、ＸＭＬファイル１１の削除処理を終了する。
【００５６】
［関連グループリスト作成処理の手順］
次に、図８に示すＳ３１における更新対象の関連グループリストの作成処理および図９に示すＳ４１における削除対象の関連グループリストの作成処理の手順について、図１０を参照して説明する。図１０は、関連グループリスト作成処理の手順を示すフローチャートである。
【００５７】
まず、関連抽出部２４は、対象となるＸＭＬファイル１１の複数のＵＲＬをファイル更新部２２またはファイル削除部２３から入力する。すると、関連抽出部２４は、入力したＵＲＬに対応するＩＤのリスト（「入力対象ＩＤリスト」という。）を、メモリ上に作成する（ステップＳ５１）。例えば、関連抽出部２４は、入力したＵＲＬに対応付けられたＩＤをファイル管理テーブル１１から読み出し、読み出したＩＤから入力対象ＩＤリストを作成する。
【００５８】
ここで、入力対象ＩＤリストの一例を、図１３を参照して説明する。図１３は、入力対象ＩＤリストの一例を示す図である。図１３では、入力対象のＵＲＬが複数あった場合の例である。ここでは、入力対象ＩＤリスト１４には、複数の入力対象のＵＲＬに対応するＩＤとして、１２７、１９６、１８７、２４６、２２９、２１４が登録されている。
【００５９】
図１０に戻って、関連抽出部２４は、入力対象ＩＤリスト１４からＩＤ（対象ＩＤ）を１つ取り出す（ステップＳ５２）。そして、関連抽出部２４は、ＩＤが取り出されたか否かを判定し（ステップＳ５３）、ＩＤが取り出されたと判定した場合（ステップＳ５３；Ｙｅｓ）、ステップＳ５４に移行する。
【００６０】
ステップＳ５４では、関連抽出部２４は、取り出されたＩＤが関連グループリストの関連情報に存在するか否かを判定する（ステップＳ５４）。ここで、関連情報とは、既に処理された対象ＩＤと関連した関連ＩＤが登録された情報である。例えば、関連抽出部２４によるＩＤの取り出しが初回である場合には、関連グループリストは、まだ作成されていない。この場合には、関連抽出部２４は、関連情報も作成されていない状態であるので、関連グループリストの関連情報に存在しないと判定する。また、関連抽出部２４によるＩＤの取り出しが２回目以降である場合には、関連グループリストは、作成されている。この場合には、関連抽出部２４は、取り出したＩＤが関連グループリスト内の、既に処理された対象ＩＤと関連する関連情報に存在するか否かを判定する。
【００６１】
取り出されたＩＤが関連グループリストの関連情報に存在しないと判定した場合（ステップＳ５４；Ｎｏ）、関連抽出部２４は、取り出されたＩＤと関連する関連情報を抽出する（ステップＳ５５）。そして、関連情報が抽出されると、関連抽出部２４は、抽出された関連情報を元に関連グループを１つ作成し、作成した関連グループを関連グループリストに追加し（ステップＳ５６）、ステップＳ５７に移行する。
【００６２】
一方、取り出されたＩＤが関連グループリストの関連情報に存在すると判定した場合（ステップＳ５４；Ｙｅｓ）、関連抽出部２４は、ステップＳ５７に移行する。
【００６３】
ステップＳ５７では、関連抽出部２４は、対象の関連グループに、取り出されたＩＤを対象ＩＤとして登録する（ステップＳ５７）。そして、関連抽出部２４は、次の対象ＩＤを取り出すべく、ステップＳ５２に移行する。
【００６４】
その後、入力対象ＩＤリストからＩＤが取り出されなかったと判定した場合（ステップＳ５３；Ｎｏ）、関連抽出部２４は、関連グループリストが完成されたと判断する（ステップＳ５８）。そして、関連抽出部２４は、完成した関連グループリストからファイル管理テーブル１２を用いてＸＭＬファイル１１を特定する（ステップＳ５９）。すなわち、関連抽出部２４は、関連グループリストの関連グループ毎に、関連情報に含まれた関連ＩＤに対応するＵＲＬを、ファイル管理テーブル１２を用いて特定する。関連グループ毎に特定されたＵＲＬ群が、関連グループ毎に影響のある範囲となる。
【００６５】
［関連情報の抽出処理の手順］
次に、図１０に示すＳ５５における関連情報の抽出処理の手順について、図１１を参照して説明する。図１１は、関連情報の抽出処理の手順を示すフローチャートである。
【００６６】
まず、関連抽出部２４は、関連情報の抽出を所望する対象ＩＤを入力する。そして、関連抽出部２４は、空の関連ＩＤリストをメモリ上に確保する（ステップＳ６１）。なお、関連ＩＤリストに登録される関連ＩＤは、重複しないものとする。
【００６７】
続いて、関連抽出部２４は、入力した対象ＩＤについて、関連管理テーブル１３から関連ＩＤを特定する（ステップＳ６２）。すなわち、関連抽出部２４は、対象ＩＤをパラメータとして、関連管理テーブル１３から関連ＩＤを特定する処理を呼び出す。関連管理テーブル１３から関連ＩＤを特定する処理によって、特定される関連ＩＤは、メモリ上に確保された関連ＩＤリストに登録される。
【００６８】
そして、関連抽出部２４は、関連ＩＤリストを関連情報として返却し（ステップＳ６３）、関連情報の抽出処理を終了する。
【００６９】
［関連管理テーブルから関連ＩＤを特定する処理の手順］
次に、図１１に示すＳ６２における関連管理テーブルから関連ＩＤを特定する処理の手順について、図１２を参照して説明する。図１２は、関連管理テーブルから関連ＩＤを特定する処理の手順を示すフローチャートである。
【００７０】
まず、関連抽出部２４は、対象ＩＤを入力する。すると、関連抽出部２４は、入力したＩＤを用いて、関連管理テーブル１３から正関連ＩＤを抽出する（ステップＳ７１）。例えば、関連抽出部２４は、入力したＩＤが関連管理テーブル１３のｆｒｏｍ１３ａと一致するレコードのｔｏ１３ｂが示す関連ＩＤ、すなわち正関連ＩＤを抽出する。
【００７１】
続いて、関連抽出部２４は、入力したＩＤを用いて、関連管理テーブル１３から逆関連ＩＤを抽出する（ステップＳ７２）。例えば、関連抽出部２４は、入力したＩＤが関連管理テーブル１３のｔｏ１３ｂと一致するレコードのｆｒｏｍ１３ａが示す関連ＩＤ、すなわち逆関連ＩＤを抽出する。
【００７２】
そして、関連抽出部２４は、抽出結果から一時的なＩＤリストである一時ＩＤリストを作成する（ステップＳ７３）。すなわち、関連抽出部２４は、入力した対象ＩＤと関連する正関連ＩＤおよび逆関連ＩＤを一時ＩＤリストに登録する。
【００７３】
そして、関連抽出部２４は、一時ＩＤリストからＩＤを１つ取り出す（ステップＳ７４）。そして、関連抽出部２４は、ＩＤが取り出されたか否かを判定し（ステップＳ７５）、ＩＤが取り出されたと判定した場合（ステップＳ７５；Ｙｅｓ）、ステップＳ７６に移行する。
【００７４】
ステップＳ７６では、関連抽出部２４は、取り出したＩＤが関連ＩＤリストに存在するか否かを判定する（ステップＳ７６）。取り出したＩＤが関連ＩＤリストに存在すると判定した場合（ステップＳ７６；Ｙｅｓ）、関連抽出部２４は、当該ＩＤが既に関連ＩＤとして特定されているので、次のＩＤを取り出すべく、ステップＳ７４に移行する。
【００７５】
一方、取り出したＩＤが関連ＩＤリストに存在しないと判定した場合（ステップＳ７６；Ｎｏ）、関連抽出部２４は、関連ＩＤリストに当該ＩＤを登録する（ステップＳ７７）。さらに、関連抽出部２４は、取り出したＩＤについて、関連管理テーブル１３から関連ＩＤを特定する（ステップＳ７８）。すなわち、関連抽出部２４は、取り出したＩＤをパラメータとして、関連管理テーブル１３から関連ＩＤを特定する処理を再帰呼び出しする。関連管理テーブル１３から関連ＩＤを特定する処理によって、特定される関連ＩＤは、関連ＩＤリストに登録される。これにより、関連抽出部２４は、処理中の対象ＩＤと直接的に関連するＩＤだけでなく、再帰的に関連を辿って間接的に関連するＩＤまでを特定できるのである。続いて、関連抽出部２４は、次のＩＤを取り出すべく、ステップＳ７４に移行する。
【００７６】
ステップＳ７５では、一時ＩＤリストからＩＤが取り出されなかったと判定した場合（ステップＳ７５；Ｎｏ）、関連抽出部２４は、関連管理テーブル１３から関連ＩＤを特定する処理を終了する。
【００７７】
ここで、関連グループリストの一例を、図１４を参照して説明する。図１４は、関連グループリストの一例を示す図である。図１４では、関連グループリスト１５は、複数の関連グループｇ１〜ｇ３を有する。関連グループｇ１〜ｇ３には、対象ＩＤリスト１５ａとグループ内関連ＩＤリスト１５ｂとを対応付けて記憶する。対象ＩＤリスト１５ａには、対象ＩＤが記憶される。グループ内関連ＩＤリスト１５ｂには、対象ＩＤと関連する関連ＩＤが記憶される。なお、関連グループｇ１〜ｇ３は、関連グループリスト作成処理のステップＳ５６によって作成される。また、対象ＩＤリスト１５ａは、関連グループリスト作成処理のステップＳ５７によって作成される。さらに、グループ内関連ＩＤリスト１５ｂは、関連グループリスト作成処理のステップＳ５６によって、関連情報の抽出処理（ステップＳ５５）によって抽出された関連情報を元に作成される。
【００７８】
一例として、関連グループｇ１には、対象ＩＤリスト１５ａとして「１２７」、「２１４」が記憶され、グループ内関連ＩＤリスト１５ｂには、「９８」、「１２７」、「１８３」、「２１４」、「２７６」が記憶されている。すなわち、関連抽出部２４は、対象ＩＤ「１２７」の関連情報を抽出した結果、抽出した関連情報として関連グループｇ１内のグループ内関連ＩＤリスト１５ｂを作成する。ここで、グループ内関連ＩＤリスト１５ｂに対象ＩＤ「１２７」が含まれているのは、対象ＩＤから再帰的に関連を辿る過程で他のＩＤの関連ＩＤとして対象ＩＤ「１２７」が登録される。また、対象ＩＤ「２１４」は、関連グループｇ１内のグループ内関連ＩＤリスト１５ｂに含まれているので、対象ＩＤ「１２７」と同じ関連グループｇ１に含まれることになる。
【００７９】
図１４の例のように、関連抽出部２４は、対象毎に、対象と関連する関連ＩＤを分類した関連グループｇ１〜ｇ３を作成する。この結果、ファイル更新部２２は、例えば更新対象としてＩＤ「１２７」のＸＭＬファイル１１を更新する場合、該当する関連グループｇ１内のＸＭＬファイル１１だけを排他ロックし、データの整合性をチェックすれば良いので、更新に伴う処理負荷を軽減できる。
【００８０】
次に、整合性チェックの結果の出力例を、図１５を参照して説明する。図１５は、整合性チェックの結果の出力例を示す図である。図１５の上部は、整合性チェックで問題があった場合の出力例であり、図１５の下部は、整合性チェックで問題がなかった場合の出力例である。
【００８１】
例えば、ファイル更新部２２が、ＸＭＬファイル１１のいずれかの定義を更新する際、整合性チェックが異常である場合、異常である理由をユーザ端末２へ出力する。図１５の上部の例では、ファイル更新部２２は、整合性チェックの結果、「ＸＸＸチャート定義が参照するＹＹＹデータ定義がありません。」を出力している。また、ファイル更新部２２は、整合性チェックの結果、「ＡＡＡチャート定義が参照するＺＺＺデータ定義のＢＢＢ属性がありません。」を出力している。また、ファイル更新部２２は、整合性チェックの結果、「ＡＡＡチャート定義のＣＣＣ項目が定義されていません。」を出力している。
【００８２】
その後、出力された問題の指摘箇所が修正されると、ファイル更新部２２が、再度、問題が発生した場合と同じ定義を更新する。そして、ファイル更新部２２は、問題がなければ、定義を更新し、例えば正常である旨をユーザ端末２へ出力する。図１５の下部の例では、ファイル更新部２２は、いずれの問題もないので、異常である理由のない画面を出力している。
【００８３】
［実施例の効果］
上記実施例によれば、情報管理装置１は、直接的または間接的に関連する複数のファイル（例えばＸＭＬファイル１１）の中のいずれかのファイルを更新する場合、ファイル間の参照関係を用いて、対象のファイルを更新すると影響があるファイルを特定する。また、情報管理装置１は、直接的または間接的に関連する複数のファイル（例えばＸＭＬファイル１１）の中のいずれかのファイルを削除する場合、ファイル間の参照関係を用いて、対象のファイルを削除すると影響があるファイルを特定する。そして、情報管理装置１は、特定したＸＭＬファイル１１と対象のＸＭＬファイル１１との間でデータの整合性をチェックする。かかる構成によれば、情報管理装置１は、対象のファイルを更新（または削除）すると影響があるファイルを特定することで、特定した範囲でデータの整合性チェックをすれば良いので、ファイルの更新（または削除）に伴う処理負荷を軽減できる。
【００８４】
また、上記実施例によれば、情報管理装置１は、参照元ファイルのＩＤと参照先ファイルのＩＤとを対応付けた、ファイル間の関連を管理する関連管理テーブル１３を備える。そして、情報管理装置１は、関連管理テーブル１３から、対象のファイルのＩＤに対応する参照元ファイルのＩＤおよび参照先ファイルのＩＤを抽出することで、影響があるファイルを特定する。かかる構成によれば、情報管理装置１は、対象のファイルを更新（または削除）すると直接的に影響があるファイルを容易に特定できる。
【００８５】
また、上記実施例によれば、情報管理装置１は、抽出したファイルのＩＤに対応する参照元ファイルのＩＤおよび参照先ファイルのＩＤを再帰的に抽出することで、影響があるファイルをさらに特定する。かかる構成によれば、情報管理装置１は、対象のファイルを更新（または削除）すると間接的に影響があるファイルを容易に特定できる。
【００８６】
また、上記実施例によれば、情報管理装置１は、特定されたファイルのＩＤを重複のないように保持するようにした。かかる構成によれば、情報管理装置１は、対象のファイルと関連するファイルのＩＤを重複のないように保持するので、保持したＩＤを対象のファイルとの関連として、そのまま管理することが可能となる。
【００８７】
また、上記実施例によれば、情報管理装置１は、特定したファイルおよび対象のファイルを排他ロックし、排他ロックしたファイルのデータの整合性をチェックするようにした。かかる構成によれば、情報管理装置１は、更新（または削除）に伴い、排他ロックする範囲を絞り込み、絞り込んだ範囲でデータの整合性をチェックするようにしたので、チェックする処理量を減らすことができ、更新処理時間を短縮することができる。この結果、情報管理装置１は、マルチユーザ環境である場合に、マルチユーザによる作業の阻害を可能な限り防止することができる。
【００８８】
［プログラム等］
なお、上記実施例では、情報管理装置１は、複数のＸＭＬファイル１１が関連し合って形成される定義情報や文書等の情報を管理するものと説明した。しかしながら、情報を形成する単位は、ＸＭＬファイル１１に限定されず、単なるファイルであっても良いし、文書であっても良いし、ファイルと文書とが混在するものであっても良い。要するに、情報を形成する単位は複数あって、各単位が関連し合って１つの情報が形成されるものであれば良い。
【００８９】
また、ＸＭＬファイル１１の実体は、情報管理装置１の記憶部１０に記憶されるものとして説明した。しかしながら、ＸＭＬファイル１１の実体は、これに限定されず、ネットワーク上のサーバに記憶されるものとしても良い。
【００９０】
また、情報管理装置１は、既知のパーソナルコンピュータ、ワークステーション等の情報処理装置に、上記した記憶部１０および制御部２０等の各機能を搭載することによって実現することができる。
【００９１】
また、図示した情報管理装置１の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、情報管理装置１の分散・統合の具体的態様は図示のものに限られず、その全部または一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、ファイル更新部２２と関連抽出部２４、ファイル削除部２３と関連抽出部２４とをそれぞれ１個の部として統合しても良い。一方、関連抽出部２４を正関連ＩＤおよび逆関連ＩＤを抽出する第１の抽出部と、その他の関連ＩＤを抽出する第２の抽出部とに分散しても良い。また、ファイル管理テーブル１２や関連管理テーブル１３等の記憶部１０を情報管理装置１の外部装置としてネットワーク経由で接続するようにしても良い。
【００９２】
また、上記実施例で説明した各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーション等のコンピュータで実行することによって実現することができる。そこで、以下では、図１に示した情報管理装置１と同様の機能を実現する情報管理プログラムを実行するコンピュータの一例を説明する。図１６は、情報管理プログラムを実行するコンピュータの一例を示す図である。
【００９３】
図１６に示すように、コンピュータ２００は、各種演算処理を実行するＣＰＵ２０３と、ユーザからのデータの入力を受け付ける入力装置２１５と、表示装置２０９を制御する表示制御部２０７を有する。また、コンピュータ２００は、記憶媒体からプログラム等を読取るドライブ装置２１３と、ネットワークを介して他のコンピュータとの間でデータの授受を行う通信制御部２１７とを有する。また、コンピュータ２００は、各種情報を一時記憶するメモリ２０１と、ＨＤＤ２０５を有する。そして、メモリ２０１、ＣＰＵ２０３、ＨＤＤ２０５、表示制御部２０７、ドライブ装置２１３、入力装置２１５、通信制御部２１７は、バス２１９で接続されている。
【００９４】
ドライブ装置２１３は、例えばリムーバブルディスク２１１用の装置である。ＨＤＤ２０５は、情報管理プログラム２０５ａおよび情報管理関連情報２０５ｂを記憶する。
【００９５】
ＣＰＵ２０３は、情報管理プログラム２０５ａを読み出して、情報管理プログラム２０１ａとしてメモリ２０１に展開する。そして、ＣＰＵ２０３は、メモリ２０１に展開した情報管理プログラム２０１ａを情報管理プロセスとして実行する。
【００９６】
例えば、情報管理プログラム２０１ａは、制御部２０の各機能部に対応する。情報管理関連情報２０５ｂは、ＸＭＬファイル１１、ファイル管理テーブル１２および関連管理テーブル１３に対応する。
【００９７】
なお、情報管理プログラム２０５ａについては、必ずしも最初からＨＤＤ２０５に記憶させておかなくても良い。例えば、コンピュータ２００に挿入されるフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカード等の「可搬用の物理媒体」に当該プログラムを記憶させておく。そして、コンピュータ２００がこれらから情報管理プログラム２０５ａを読み出して実行するようにしても良い。
【符号の説明】
【００９８】
１  情報管理装置
２  ユーザ端末
３  ＬＡＮ
９  情報管理システム
１０  記憶部
１１  ＸＭＬファイル
１２  ファイル管理テーブル
１３  関連管理テーブル
２０  制御部
２１  ファイル登録部
２２  ファイル更新部
２３  ファイル削除部
２４  関連抽出部
２５  出力部
【図１】
2014010782.tif 000003
【図２】
2014010782.tif 000004
【図３】
2014010782.tif 000005
【図４】
2014010782.tif 000006
【図５】
2014010782.tif 000007
【図６】
2014010782.tif 000008
【図７】
2014010782.tif 000009
【図８】
2014010782.tif 000010
【図９】
2014010782.tif 000011
【図１０】
2014010782.tif 000012
【図１１】
2014010782.tif 000013
【図１２】
2014010782.tif 000014
【図１３】
2014010782.tif 000015
【図１４】
2014010782.tif 000016
【図１５】
2014010782.tif 000017
【図１６】
2014010782.tif 000018