説明

ファイル管理方法、ファイル管理プログラム、および、ファイル管理装置

【課題】更新されるファイルを効率的に管理すること。
【解決手段】DB管理装置1は、DBアクセス部11と、共有要求処理部13とを有するとともに、管理対象の電子ファイルのデータ内容を示す実体ファイルと、その実体ファイルの所在を示す管理情報データとを格納するデータベースにアクセス可能であり、共有要求処理部13は、実体ファイルの更新処理により更新される実体ファイルについて、更新前のバージョンおよび更新後のバージョンをグループ化するブランチラインを単位として、そのブランチラインと、その実体ファイルを格納する共有元データベースの所在情報とを対応付けて共有先データベースの管理情報データに書き込む。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ファイル管理方法、ファイル管理プログラム、および、ファイル管理装置に関する。
【背景技術】
【0002】
構成管理されるファイルの派生に関するシステムが、特許文献1に記載されている。
この特許文献1には、構成管理システムにおいて、派生元ファイルの実体をコピーすることにより派生先ファイルを生成する旨が記載されている。
さらに、特許文献1には、派生元と派生先との対応関係を管理し、さらに派生元で更新が行われた場合には、その更新情報を対応関係から特定できる派生先に伝達することにより、派生先への更新の反映漏れを防止する方法が記載されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2007−279883号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかし、前記した特許文献1の構成管理システムでは、派生元から派生先へのデータコピー処理を行う必要があるため、以下の2つの課題がある。
1つ目の課題は、派生を行う度に同一ファイルがコピーされていくため、当該ファイルに対して変更が必要となった場合には、派生元および派生先のファイルに対して、同一の変更が必要となり、変更の工数増大と、変更漏れのリスクが発生する点である。
2つ目の課題は、ファイルそのものをコピーするため、当該ファイルで管理されている過去のバージョンも全てコピーされてしまい、バージョンの中で仕様の相違を管理しているような場合には、派生先へ本当に必要とするバージョン以外のバージョンも渡してしまい、派生先で不要なファイルの管理と修正の受け入れが継続する点である。
【0005】
そこで、本発明は、前記した問題を解決し、更新されるファイルを効率的に管理することを、主な目的とする。
【課題を解決するための手段】
【0006】
前記課題を解決するために、本発明は、管理対象の電子ファイルが更新されるたびに、その電子ファイルに付加されるバージョンも更新するファイル管理装置によるファイル管理方法であって、
前記ファイル管理装置が、データベースアクセス部と、共有要求処理部とを有するとともに、管理対象の電子ファイルのデータ内容を示す実体ファイルと、その実体ファイルの所在を示す管理情報データとを格納するデータベースにアクセス可能であり、
前記共有要求処理部が、
前記データベースのうちの前記実体ファイルを格納する共有元データベースに対して、その実体ファイルを前記データベースのうちの共有先データベースから利用するための共有要求を受信すると、
前記実体ファイルの更新処理により更新される前記実体ファイルについて、更新前のバージョンおよび更新後のバージョンをグループ化するブランチラインを単位として、そのブランチラインと、その実体ファイルを格納する前記共有元データベースの所在情報とを対応付けて前記共有先データベースの前記管理情報データに書き込み、
前記データベースアクセス部が、
前記共有先データベースに対して、管理対象の電子ファイルへのデータアクセス要求を受信すると、
前記共有先データベースの前記管理情報データの所在情報を参照して、データアクセス要求で指定された前記実体ファイルを格納する前記共有元データベースを特定し、
その特定した前記共有元データベースに対して、前記管理情報データ内のブランチラインに含まれる所定バージョンへのデータアクセスを、実行することを特徴とする。
その他の手段は、後記する。
【発明の効果】
【0007】
本発明によれば、更新されるファイルを効率的に管理することができる。
【図面の簡単な説明】
【0008】
【図1】本発明の一実施形態に関するバージョン管理システムを示す構成図である。
【図2】本発明の一実施形態に関する2つのデータ管理DB(DB名=α,β)の一例を示す説明図である。
【図3】本発明の一実施形態に関する2つのデータ管理DB(DB名=α,β)の間でのファイルの共有要求処理を実施するときの、表示装置に表示される画面を示す画面遷移図である。
【図4】本発明の一実施形態に関する共有要求処理の実行後のデータ管理DBを示す説明図である。
【図5】本発明の一実施形態に関する共有要求処理部が実行する、共有要求処理を示すフローチャートである。
【図6】本発明の一実施形態に関する派生要求処理を実施するときの、表示装置に表示される画面を示す画面遷移図である。
【図7】本発明の一実施形態に関する派生要求処理の実行後のデータ管理DBを示す説明図である。
【図8】本発明の一実施形態に関する派生切替要求処理を実施するときの、表示装置に表示される画面を示す画面遷移図である。
【図9】本発明の一実施形態に関する派生切替要求処理の実行後のデータ管理DBを示す説明図である。
【図10】本発明の一実施形態に関する派生選択処理部が実行する、派生切替要求処理を示すフローチャートである。
【図11】本発明の一実施形態に関する共有要求処理を、2つの複数の共有先(DB名=β、γ)に対してそれぞれ実行した場合のデータ管理DBを示す説明図である。
【発明を実施するための形態】
【0009】
図1は、本実施形態のバージョン管理システムを示す構成図である。バージョン管理システムは、DB管理装置1と、利用者端末3とが、ネットワークで接続されて構成されている。なお、バージョン管理システムが扱うデータは、例えば、ソフトウェアの共通部品(ライブラリ)などが挙げられるが、バージョン(世代)が更新されるデータであれば、任意のデータ(例えば、説明用文書データ)を扱うこととしてもよい。
【0010】
DB管理装置1は、プロセッサ1aと、そのプロセッサ1aがデータを読み書きするためのメモリ(ハードウェアとしての図示は省略)と、各種データを利用者に入力させるための入力手段(ハードウェアとしての図示は省略、キーボードやマウスなど)と、他装置との通信を実行するためのインタフェース(ハードウェアとしての図示は省略)と、を備えるコンピュータ(ファイル管理装置)として構成される。
DB管理装置1のメモリには、各処理部(要求受付部10と、DBアクセス部11と、表示要求処理部12と、共有要求処理部13と、派生要求処理部14と、派生選択処理部15と、権限変更要求処理部16)を構成するためのプログラムと、そのプログラムが処理する各データ(データ管理DB20)とが、それぞれ格納される。
【0011】
データ管理DB20には、バージョン管理のリポジトリを格納する実体格納エリア21と、その実体格納エリア21に関する情報を格納する管理情報テーブル22と、が格納されている。なお、データ管理DB20は、DB管理装置1内に複数個(図1では2つ)存在してもよく、それぞれのデータ管理DB20には他のデータ管理DB20と区別するためのユニークなDB名が付されている。
【0012】
利用者端末3は、プロセッサ31と、そのプロセッサ31がデータを読み書きするためのメモリ(ハードウェアとしての図示は省略)と、他装置との通信を実行するためのインタフェース(ハードウェアとしての図示は省略)と、各種データを利用者に入力させるための入力手段(ハードウェアとしての図示は省略、キーボードやマウスなど)と、各種画面を表示するための表示装置32と、DB管理装置1との入出力に用いられるデータを一時的に格納するワークスペース33と、を含めて構成される。なお、表示装置32は、例えば、液晶ディスプレイであり、利用者端末3に内蔵されていてもよいし、アナログRGBケーブルなどで外接されていてもよい。ワークスペース33には、例えば、各要求の引数となるパラメータや、その各要求への返値となるパラメータが、それぞれファイルとして格納される。
【0013】
【表1】

【0014】
表1は、要求受付部10が受け付ける要求のリストを示す。DB管理装置1の要求受付部10は、データ管理DB20にアクセスするための各要求を利用者端末3から受け付け、その要求の種別に応じて、要求ごとの各処理部(DBアクセス部11と、表示要求処理部12と、共有要求処理部13と、派生要求処理部14と、派生選択処理部15と、権限変更要求処理部16)に要求の旨を通知する。
【0015】
DBアクセス部11は、バージョン管理システムに関する各要求(取得要求、登録要求、更新要求)を受け、その要求の対象となるデータ管理DB20に対して、データアクセスを実行する。
表示要求処理部12は、表示要求を受け、取得要求と同様のファイルの内容の取得処理をDBアクセス部11に依頼し、その結果を利用者端末3の表示装置32に表示させる。
共有要求処理部13は、共有要求を受け、データ管理DB20の実体格納エリア21にすでに格納されている実体ファイルを、他のデータ管理DB20にも使用できるようにする旨の処理をDBアクセス部11に依頼し、その結果として、管理情報テーブル22を更新させる。
派生要求処理部14は、派生要求を受け、データ管理DB20の実体格納エリア21にすでに格納されている実体ファイルのブランチラインを増やす旨の処理をDBアクセス部11に依頼し、その結果として、実体格納エリア21および管理情報テーブル22を更新させる。
派生選択処理部15は、派生切替要求を受け、データ管理DB20の実体格納エリア21にすでに格納されている実体ファイルの複数のブランチラインから使用する1つのブランチラインを選択する旨の処理をDBアクセス部11に依頼し、その結果として、管理情報テーブル22を更新させる。
権限変更要求処理部16は、権限変更要求を受け、データ管理DB20の実体格納エリア21にすでに格納されている実体ファイルへのアクセス権を変更する旨の処理をDBアクセス部11に依頼し、その結果として、管理情報テーブル22を更新させる。
【0016】
【表2】

【0017】
表2は、2つの管理情報テーブル22の例をそれぞれ示す。管理情報テーブル22は、含まれるデータ管理DB20ごとに作成される。管理情報テーブル22は、利用情報と、実体情報とを対応づけて管理する。
【0018】
管理情報テーブル22の利用情報は、利用者端末3がデータ管理DB20を利用するときに、各要求を発行するために参照される情報である。利用情報は、ファイル名と、格納階層名と、最新バージョンと、変更権限と、を含めて構成される。
ファイル名は、実体格納エリア21内のリポジトリのファイルを一意に特定するための名称である。
格納階層名は、実体格納エリア21内のリポジトリのファイルが格納される階層(ディレクトリや、フォルダとも呼ばれる)を特定するための名称である。
最新バージョンは、実体格納エリア21内のリポジトリのファイルの複数の版(バージョン)のうちの最新のバージョンを示す。なお、本実施形態では、「バージョン」という用語を用いたが、この「バージョン」(例えば、1.3)には、バージョン番号(例えば、「1」)に加え、そのバージョン番号におけるリビジョン番号(例えば、「.3」)を含んでもよし、含まなくてもよい。
変更権限は、実体格納エリア21内のリポジトリのファイルに対する書き込み処理のアクセス権を示す。
【0019】
管理情報テーブル22の実体情報は、利用情報のファイル名で示されるファイルが、実体ファイルとして格納されているときの、格納先などに関する情報を示す。実体情報は、DB名と、格納階層名と、実体格納パスと、ブランチラインと、を含めて構成される。
DB名は、実体ファイルの格納先を示すデータ管理DB20の名称である。なお、管理情報テーブル22のDB名は、その管理情報テーブル22が属するデータ管理DB20のDB名と同じであるときには、「−」記号などを代わりに記載して省略してもよい。
格納階層名は、DB名で指定されたデータ管理DB20内の実体ファイルの格納位置を示す。なお、管理情報テーブル22の利用情報および実体情報それぞれの格納階層名が一致するときには、実体情報の格納階層名を「−」記号などを代わりに記載して省略してもよい。
実体格納パスは、DB名および格納階層名を区切り記号「¥」で区切って連結したパスである。なお、実体格納パスの列は、DB名の列および格納階層名の列の情報から、文字列連結処理により作成可能であるため、省略可能である。
ブランチラインは、実体ファイルの派生を示す。例えば、所定ファイルのバージョンが、「1.1」→「1.2」→「1.3」→「1.4」と更新されていくときには、これらのバージョン情報の内の、小数点以下1桁目のみが変化するため、ブランチラインは、「1.*」である。ここで、「*」は、値が任意に変換するワイルドカードを示す。
【0020】
例えば、ファイル名「b.c」に着目すると、管理情報テーブル22の実体情報が「DB名=α」となっているので、DB名=αのデータ管理DB20内の実体格納エリア21に格納されていることがわかる。
そして、「DB名=α」の管理情報テーブル22(表2の上側の表)では、格納階層名「X」が利用情報および実体情報で共通するのに対し、「DB名=β」の管理情報テーブル22(表2の下側の表)では、利用情報の格納階層名「Y」は、実体情報の格納階層名「X」とは、異なる。
つまり、「DB名=α」では、ファイル名「b.c」の実体ファイルをそのまま利用情報として利用者に提示しているのに対し、「DB名=β」では、ファイル名「b.c」へのリンクファイルを利用情報として利用者に提示している。
ここで、リンクファイルは、実体ファイルを構成する1つのブランチラインへのリンク(実体格納パスなどの所在情報)を含むが、実体ファイルのデータ内容そのものは含まないファイルである(詳細は、図4参照)。そして、リンクファイルの場合、利用情報の変更権限の初期値は、変更不可を示す「なし」である。
【0021】
ここで、権限変更要求処理部16が実行する、管理情報テーブル22の変更権限について、変更可能を示す「あり」から「なし」に、または、「なし」から「あり」に変更する処理を説明する。
権限変更要求処理部16は、利用者端末3から入力された権限変更要求を受け、その権限変更要求で指定されたファイル名の実体ファイルの有無をチェックする。このチェックは、具体的には、管理情報テーブル22の実体情報の実体格納パスにアクセスし、そのパスが示す実体格納エリア21内で指定されたファイル名が存在するか否かを判断することにより、実現される。
実体ファイルが存在しないときには、権限変更要求を送信した利用者端末3に対して、「ファイルが存在しない」旨のエラーメッセージを返答する。
実体ファイルが存在するときには、管理情報テーブル22の利用情報内の「変更権限」を権限変更要求の指示通りに変更するようにDBアクセス部11に依頼し、権限変更要求を送信した利用者端末3に対して、「正常に変更した」旨のメッセージを返答する。
【0022】
【表3】

【0023】
表3は、表2の管理情報テーブル22(DB名=β)に対して、権限変更要求を実行した後の例を示す。表2の管理情報テーブル22(表2の下側の表)と比較すると、ファイル名「b.c」のレコードの利用情報内の変更権限が、「なし」から「あり」へと変更されている。これにより、以降、共有先からファイル「b.c」に対する変更が可能となる。
【0024】
図2は、2つのデータ管理DB20(DB名=α,β)の一例を示す説明図である。なお、図2において、管理情報テーブル22は、表2で説明した列の内の説明用の列だけを記載し、その他の列は記載を省略している。
【0025】
「DB名=α」のデータ管理DB20の実体格納エリア21には、3つの実体ファイル(a.c,b.c,c.c)が、それぞれ階層名「X」の下に格納されている。「DB名=α」の管理情報テーブル22には、その3つの実体ファイルそれぞれを示すレコードが、格納されている。
「DB名=β」のデータ管理DB20の実体格納エリア21には、2つの実体ファイル(d.c,e.c)および1つのリンクファイル(b.c)が、それぞれ階層名「Y」の下に格納されている。「DB名=β」の管理情報テーブル22には、その3つのファイルそれぞれを示すレコードが、格納されている。
【0026】
なお、ファイル名「b.c」のファイルは、実体ファイルが「DB名=α」のデータ管理DB20に存在するとともに、リンクファイルが「DB名=β」のデータ管理DB20にも存在する。つまり、同じファイルが、複数のデータベースで共有されている。
よって、DBアクセス部11は、「DB名=β」の実体格納エリア21のリンクファイル「b.c」にアクセスするときには、「DB名=β」の管理情報テーブル22の「実体情報」を参照して、そのリンクファイルがリンクする実体ファイルの所在(DB名=α、格納階層名=X)を求めてから、その所在にアクセスする。つまり、DBアクセス部11は、リンクファイルではなく、実体ファイルに対して、データアクセス(ファイルの読み書き)を実行する。
一方、DBアクセス部11は、「DB名=α」の実体格納エリア21の実体ファイル「b.c」には、リンクを辿ることなく、直接アクセスする。
【0027】
図3は、2つのデータ管理DB20(DB名=α,β)の間でのファイルの共有要求処理を実施するときの、表示装置32に表示される画面を示す画面遷移図である。
ファイル名「b.c」の実体ファイルは、データ管理DB20(DB名=α)内に存在する。
画面61において、利用者は、利用者端末3の入力手段(マウスなど)を介して、データ管理DB20(DB名=α)内のファイル名「b.c」を右クリックすると、そのファイルを処理対象とする要求リストが、画面62に表示される。
画面62において、利用者は、表示された要求リストから、「共有要求(シェア)」をクリックすると、その実体ファイルを指し示すリンクファイルが格納される共有先の選択欄が画面63として表示される。この共有先のリストは、あらかじめ管理者などにより設定されている、データベースリストを記憶手段から読み取ることにより、取得することができる。
画面63において、利用者は、共有先の選択欄から「DB名=β、格納階層名=Y」をクリックすると、利用者端末3は、少なくとも、右クリックされたファイル名「b.c」の実体情報(管理情報テーブル22から取得可能)と、その共有先の「DB名=β、格納階層名=Y」とを入力パラメータとしてワークスペース33に格納するとともに、その入力パラメータを引数とする共有要求を、DB管理装置1に送信する。
その共有要求を受信したDB管理装置1の共有要求処理部13は、ワークスペース33の入力パラメータを参照し、共有先(DB名=β)の管理情報テーブル22に対して、共有要求で指定されたファイル名「b.c」のレコードを追加する。
画面64において、ファイル名「b.c」のファイルが、あたかもデータ管理DB20(DB名=β)の格納階層名「Y」に存在しているかのように、アクセス可能に表示装置32に表示される。
【0028】
図4は、図3の共有要求処理の実行後のデータ管理DB20を示す説明図である。
【0029】
上側のデータ管理DB20(DB名=α)には、ファイル名「b.c」の実体ファイル(バージョン1.1〜1.4)が1つのブランチラインB1として、存在する。
【0030】
下側のデータ管理DB20(DB名=β)には、ファイル名「b.c」のリンクファイル(バージョン1.1〜1.4)が1つのブランチラインB1として、存在する。このリンクファイルは、ファイル名「b.c」の実体ファイル(バージョン1.1〜1.4)の全てのバージョンを含んでいるので、共有先のデータ管理DB20(DB名=β)では、DBアクセス部11が、全てのバージョンに対してバージョン管理システムに関する各要求(取得要求、登録要求、更新要求)を実行することができる。
【0031】
図5は、共有要求処理部13が実行する、共有要求処理を示すフローチャートである。なお、共有される実体ファイルが存在するデータ管理DB20(図4では、DB名=α)を共有元とし、共有するリンクファイルが存在するデータ管理DB20(図4では、DB名=β)を共有先として、説明する。
【0032】
S101において、共有先の管理情報テーブル22に、リンクファイル用のレコードを1つ追加する。
S102において、共有先の管理情報テーブル22の追加レコードの利用情報(変更権限)に、初期値である「なし」を書き込む。
S103において、共有先の管理情報テーブル22の追加レコードの利用情報に、共有要求で指定された各情報(ファイル名、格納階層名など)を書き込む(詳細は、図4参照)。
【0033】
S111において、共有元の管理情報テーブル22から、共有要求で指定されたファイル名のレコードを読み込む。
S112において、読み込んだ共有元のレコードの実体情報(DB名、格納階層名)が、省略されているか否かを判定する。具体的には、表2を用いて説明したように、「−」記号が記載されているか否かを判定する。S112でYesならS113へ進み、NoならS114へ進む。
S113において、省略されている共有元のレコードの実体情報を、補完する。例えば、表2で説明したように、DB名の「−」記号を、その管理情報テーブル22が属するデータ管理DB20のDB名で補完するとともに、実体情報の格納階層名の「−」記号を、利用情報の格納階層名で補完する。
S114において、共有元のレコードの実体情報のブランチラインが複数存在するか否かを判定する。S114でYesならS115へ進み、NoならS121へ進む。
S115において、複数のブランチラインから、1つのブランチラインを共有対象として選択させる。具体的には、派生選択処理部15が処理する派生選択処理(後記する図10参照)を呼び出す。
【0034】
S121において、共有元の管理情報テーブル22の読み込んだレコードの実体情報を、共有先の追加レコードの管理情報テーブル22の実体情報へと、コピーする(例えば、表2の「b.c」のレコードを参照)。なお、S113の補完処理およびS115の選択処理が実行されたときには、それぞれの処理結果の実体情報をコピーする。
S122において、S121で書き込んだブランチラインに対応する最新バージョンを共有元の管理情報テーブル22から読み取り、共有先の追加レコードの管理情報テーブル22の実体情報へと、コピーする(例えば、表2の「b.c」のレコードを参照)。
【0035】
図6は、データ管理DB20(DB名=α)での実体ファイル(b.c)に対する派生要求処理を実施するときの、表示装置32に表示される画面を示す画面遷移図である。
ここで、ファイル名「b.c」の実体ファイルは、データ管理DB20(DB名=α)内に存在し、派生要求の送信前では、1つのブランチライン(1.*、最新バージョン=1.4)が存在するものとする。
画面61において、利用者は、利用者端末3の入力手段(マウスなど)を介して、データ管理DB20(DB名=α)内のファイル名「b.c」を右クリックすると、そのファイルを処理対象とする要求リストが、画面62に表示される。
画面62において、利用者は、表示された要求リストから、「派生要求(ブランチ)」をクリックすると、その実体ファイルに対応する派生先のブランチラインの入力画面が、画面65に表示される。
画面65において、利用者は、表示された入力画面から、2つめのブランチライン(1.1.1.3)を入力して、「OK」ボタンをクリックすると、利用者端末3は、少なくとも、右クリックされたファイル名「b.c」と、入力されたブラインチライン「1.1.1.3」とを入力パラメータとしてワークスペース33に格納するとともに、その入力パラメータを引数とする派生要求を、DB管理装置1に送信する。
その派生要求を受信したDB管理装置1の派生要求処理部14は、共有先(DB名=β)の管理情報テーブル22に対して、派生要求で指定されたファイル名「b.c」のレコードの「最新バージョン」列に「1.1.1.3」を追加し、「ブランチライン」列に、「1.1.1.*」を追加する。
画面66において、ファイル名「b.c」の実体ファイルには、2つのブランチラインが存在することとなる。なお、ブランチラインが増加しても、既にあるブランチラインはそのまま存続するため、その既にあるブランチラインを共有する(リンクする)他のデータ管理DB20(例えば、DB名=β)へのデータ変更は、不要である(画面64は変化無し)。
【0036】
図7は、図4のデータ管理DB20に対して、図6の派生要求処理の実行後のデータ管理DB20を示す説明図である。
【0037】
上側のデータ管理DB20(DB名=α)には、ファイル名「b.c」の実体ファイル(バージョン1.1〜1.4)が2つのブランチラインB1,B2として、それぞれ存在する。ここで、ブランチラインB2は、ブランチラインB1から派生要求に従って派生したものである。具体的には、派生要求処理部14は、ブランチラインB1の所定バージョンのファイル(例えば、バージョン1.1のファイル)を、ブランチラインB2の所定バージョンのファイル(例えば、バージョン1.1.1.1のファイル)として、コピーする。そして、DBアクセス部11は、更新要求に従い、2つのブランチラインのファイルをそれぞれ更新することで、最新バージョンの番号を増加させる。
【0038】
下側のデータ管理DB20(DB名=β)には、ファイル名「b.c」のリンクファイル(最新バージョン1.4)が1つのブランチラインB1として、存在する。データ管理DB20(DB名=β)のブランチラインB1へのリンクは、データ管理DB20(DB名=α)のブランチラインB2が増加したとしても、とくに変更する必要がない。これにより、ブランチラインごとに独立したファイル共有が可能になるため、共有先で使用しないブランチラインが、共有先にコピーされたり削除されたりするオーバーヘッドを抑制することができる。
【0039】
【表4】

【0040】
表4は、図7のデータ管理DB20(DB名=α)の詳細を示す。表2のデータ管理DB20(DB名=α)と比較すると、ファイル名「b.c」のレコード内において、最新バージョン「1.1.1.3」およびブランチライン「1.1.1.*」がそれぞれ追加されている。
【0041】
図8は、図6の派生切替要求処理の実行後の状態から、共有先のリンクファイルにおける派生切替要求処理を実施するときの、表示装置32に表示される画面を示す画面遷移図である。
ファイル名「b.c」の実体ファイルは、データ管理DB20(DB名=α)内に存在し、2つのブランチライン(最新バージョン1.1.1.3および最新バージョン1.4)に派生されている(図8の下部参照)。
画面64において、利用者は、利用者端末3の入力手段(マウスなど)を介して、派生先のデータ管理DB20(DB名=α)内のファイル名「b.c」を右クリックすると、そのファイルを処理対象とする要求リストが、画面67に表示される。
画面67において、利用者は、表示された要求リストから、「派生切替要求」をクリックすると、その共有先の実体ファイルを構成するブランチラインの選択欄が、画面68に表示される。なお、表示される実体ファイルを構成するブランチラインは、共有元の管理情報テーブル22から取得できる(画面66参照)。
画面68において、利用者は、ブランチラインの選択欄から「最新バージョン=1.1.1.3」をクリックすると、利用者端末3は、少なくとも、右クリックされたファイル名「b.c」と、その選択されたブランチラインの特定情報(最新バージョン=1.1.1.3)とを入力パラメータとしてワークスペース33に格納するとともに、その入力パラメータを引数とする派生切替要求を、DB管理装置1に送信する。
その派生切替要求を受信したDB管理装置1の派生選択処理部15は、共有先(DB名=β)の管理情報テーブル22に対して、派生切替要求で指定されたブランチラインの情報を上書きする。
画面69において、具体的には、管理情報テーブル22のファイル名「b.c」のレコード内の利用情報の最新バージョンを指定された「1.1.1.3」で上書きする。さらに、画面では表示を省略したが、レコード内の実体情報のブランチラインを指定された「1.1.1.*」で上書きする。
これにより、実体ファイルのデータコピーに関するオーバーヘッドを発生させずに、ブランチラインの切替を実現できる。
【0042】
図9は、図7のデータ管理DB20に対して、図8の派生切替要求処理の実行後のデータ管理DB20を示す説明図である。
【0043】
上側のデータ管理DB20(DB名=α)には、ファイル名「b.c」の実体ファイルが2つのブランチラインB1,B2として、それぞれ存在する。
【0044】
下側のデータ管理DB20(DB名=β)には、ファイル名「b.c」のリンクファイル(最新バージョン1.1.1.3)が1つのブランチラインB2として、存在する。データ管理DB20(DB名=β)のブランチラインB1へのリンクは、図8の派生切替要求処理により、ブランチラインB1へのリンクからブランチラインB2へのリンクへと変更されている。
【0045】
【表5】

【0046】
表5は、図9のデータ管理DB20(DB名=β)の詳細を示す。表2のデータ管理DB20(DB名=β)と比較すると、ファイル名「b.c」のレコード内において、最新バージョンが「1.1.1.3」に、ブランチラインが「1.1.1.*」に、それぞれ変更されている。
【0047】
図10は、派生選択処理部15が実行する、派生切替要求処理を示すフローチャートである。なお、共有される実体ファイルが存在するデータ管理DB20(図9では、DB名=α)を共有元とし、共有するリンクファイルが存在するデータ管理DB20(図9では、DB名=β)を共有先として、説明する。
【0048】
S201において、利用者端末3から入力された派生切替要求を受け、その派生切替要求で指定されたファイル名の実体ファイルが存在するか否かをチェックする。このチェックは、具体的には、管理情報テーブル22の実体情報の実体格納パスにアクセスし、そのパスが示す実体格納エリア21内で指定されたファイル名が存在するか否かを判断することにより、実現される。S201でYesならS203へ進み、NoならS202へ進む。
【0049】
S202において、実体ファイルが存在しないときには、派生切替要求を送信した利用者端末3に対して、「ファイルが存在しない」旨のエラーメッセージを返答する。
【0050】
S203において、派生切替要求で指定されたファイルのブランチラインのリストを表示し、利用者に切替先のブランチラインを選択させる。そのために、派生選択処理部15は、共有元の管理情報テーブル22から、ブランチラインおよび対応する最新バージョンのリストを取得する。
【0051】
S204において、S203で選択された切替先のブランチラインへと切り替える。そのために、派生選択処理部15は、共有先の管理情報テーブル22内におけるブランチラインおよび対応する最新バージョンの組を、選択された切替先のブランチラインおよび対応する最新バージョンの組に書き換える。
【0052】
以上、図2〜図10を用いて説明した本実施形態では、一例として、1つの共有元のデータ管理DB20(DB名=α)と、1つの共有先のデータ管理DB20(DB名=β)と、のあいだでのファイルの共有管理について説明した。一方、1つの共有元に対して、複数の共有先が存在する形態としてもよい。
【0053】
図11は、共有要求処理(図5)を、2つの複数の共有先(DB名=β、γ)に対してそれぞれ実行した場合のデータ管理DB20を示す説明図である。それぞれの共有先のデータ管理DB20は、必ずしも共有元の同じブランチラインを共有する必要はない。例えば、共有先(DB名=β)のデータ管理DB20は、最新ファイル「1.1.1.3」のブランチラインB2へのリンクファイルを有しているのに対し、共有先(DB名=γ)のデータ管理DB20は、最新ファイル「1.1.1.1.1.2」のブランチラインB3へのリンクファイルを有している。
【0054】
【表6】

【0055】
表6は、図11のデータ管理DB20の状態における3つの管理情報テーブル22の例をそれぞれ示す。共有元の管理情報テーブル22(DB名=α)のファイル名「b.c」のレコードには、3つのブランチライン「1.*」、「1.1.1.*」、「1.1.1.1.1.*」が格納されている。
共有先の管理情報テーブル22(DB名=β)のファイル名「b.c」のレコードには、2つめのブランチライン「1.1.1.*」が格納されている。
共有先の管理情報テーブル22(DB名=γ)のファイル名「b.c」のレコードには、3つめのブランチライン「1.1.1.1.1.*」が格納されている。
【0056】
以上説明した本実施形態によれば、ソフトウェア共通部品のように複数の管理単位で共有するファイルに変更が発生した場合に、共有元を変更することで共有先がアクセスする時には、変更したものが参照されるため、変更漏れ/誤りの防止と変更工数の削減を図ることができる。
また、共有先では、自管理単位が参照するバージョンのみ参照するため、誤って他管理単位用のバージョンを参照することも防止できる。
さらに、共有先からの更新作業が実施できるため、個別の変更と集中管理を実現することが可能となる。
【0057】
これにより、組込みソフトウェア開発の特徴である、多種多様なモデルのソフトウェア共通部品を派生開発する際のソフトウェア変更管理を効率的に実施できる。具体的には、ソフトウェア共通部品の開発部門における複数モデルのソフトウェア共通部品の派生をブランチラインとして管理し、ソフトウェア共通部品の開発部門と製品開発部門とのソフトウェア共通部品の実体ファイルを、そのブランチライン単位で共有することにより、ソフトウェア共通部品に発生した不具合の対策漏れ/誤りの防止、および不具合対策工数の削減を図ることが可能となる。
【符号の説明】
【0058】
1 DB管理装置(ファイル管理装置)
1a プロセッサ
3 利用者端末(入力手段)
10 要求受付部
11 DBアクセス部(データベースアクセス部)
12 表示要求処理部
13 共有要求処理部
14 派生要求処理部
15 派生選択処理部
16 権限変更要求処理部
20 データ管理DB
21 実体格納エリア
22 管理情報テーブル(管理情報データ)
31 プロセッサ
32 表示装置
33 ワークスペース

【特許請求の範囲】
【請求項1】
管理対象の電子ファイルが更新されるたびに、その電子ファイルに付加されるバージョンも更新するファイル管理装置によるファイル管理方法であって、
前記ファイル管理装置は、データベースアクセス部と、共有要求処理部とを有するとともに、管理対象の電子ファイルのデータ内容を示す実体ファイルと、その実体ファイルの所在を示す管理情報データとを格納するデータベースにアクセス可能であり、
前記共有要求処理部は、
前記データベースのうちの前記実体ファイルを格納する共有元データベースに対して、その実体ファイルを前記データベースのうちの共有先データベースから利用するための共有要求を受信すると、
前記実体ファイルの更新処理により更新される前記実体ファイルについて、更新前のバージョンおよび更新後のバージョンをグループ化するブランチラインを単位として、そのブランチラインと、その実体ファイルを格納する前記共有元データベースの所在情報とを対応付けて前記共有先データベースの前記管理情報データに書き込み、
前記データベースアクセス部は、
前記共有先データベースに対して、管理対象の電子ファイルへのデータアクセス要求を受信すると、
前記共有先データベースの前記管理情報データの所在情報を参照して、データアクセス要求で指定された前記実体ファイルを格納する前記共有元データベースを特定し、
その特定した前記共有元データベースに対して、前記管理情報データ内のブランチラインに含まれる所定バージョンへのデータアクセスを、実行することを特徴とする
ファイル管理方法。
【請求項2】
前記ファイル管理装置は、さらに、派生要求処理部と、派生選択処理部と、入力手段と、を有し、
前記派生要求処理部は、
前記データベースのうちの前記実体ファイルを格納する前記共有元データベースに対して、その実体ファイルの派生元ブランチラインを新たな派生先ブランチラインへと派生するための派生要求を受信すると、
前記派生元ブランチライン内の所定バージョンのファイルを、前記派生先ブランチライン内の所定バージョンとは別のバージョンとしてデータコピーし、
前記派生選択処理部は、
前記共有先データベースの前記管理情報データに書き込むブランチラインについて、その共有元データベースの前記実体ファイルに複数のブランチラインが設定されているときには、入力手段を介して指定されたブランチラインを、前記共有先データベースの前記管理情報データに書き込むことを特徴とする
請求項1に記載のファイル管理方法。
【請求項3】
前記ファイル管理装置は、さらに、権限変更要求処理部を有し、
前記権限変更要求処理部は、
前記実体ファイルへのアクセス権を変更する権限変更要求を受信すると、その権限変更要求で指定されたアクセス権を前記共有先データベースの前記管理情報データに対してブランチラインごとに設定し、
前記データベースアクセス部は、前記共有先データベースの前記管理情報データを参照し、データアクセス要求で指定されたブランチラインへのデータアクセスのアクセス権が存在しないときには、前記実体ファイルへのデータアクセスを禁止することを特徴とする
請求項1または請求項2に記載のファイル管理方法。
【請求項4】
請求項1ないし請求項3のいずれか1項に記載のファイル管理方法を、コンピュータである前記ファイル管理装置に実行させるためのファイル管理プログラム。
【請求項5】
管理対象の電子ファイルが更新されるたびに、その電子ファイルに付加されるバージョンも更新するファイル管理装置であって、
前記ファイル管理装置は、データベースアクセス部と、共有要求処理部とを有するとともに、管理対象の電子ファイルのデータ内容を示す実体ファイルと、その実体ファイルの所在を示す管理情報データとを格納するデータベースにアクセス可能であり、
前記共有要求処理部は、
前記データベースのうちの前記実体ファイルを格納する共有元データベースに対して、その実体ファイルを前記データベースのうちの共有先データベースから利用するための共有要求を受信すると、
前記実体ファイルの更新処理により更新される前記実体ファイルについて、更新前のバージョンおよび更新後のバージョンをグループ化するブランチラインを単位として、そのブランチラインと、その実体ファイルを格納する前記共有元データベースの所在情報とを対応付けて前記共有先データベースの前記管理情報データに書き込み、
前記データベースアクセス部は、
前記共有先データベースに対して、管理対象の電子ファイルへのデータアクセス要求を受信すると、
前記共有先データベースの前記管理情報データの所在情報を参照して、データアクセス要求で指定された前記実体ファイルを格納する前記共有元データベースを特定し、
その特定した前記共有元データベースに対して、前記管理情報データ内のブランチラインに含まれる所定バージョンへのデータアクセスを、実行することを特徴とする
ファイル管理装置。
【請求項6】
前記ファイル管理装置は、さらに、派生要求処理部と、派生選択処理部と、入力手段と、を有し、
前記派生要求処理部は、
前記データベースのうちの前記実体ファイルを格納する前記共有元データベースに対して、その実体ファイルの派生元ブランチラインを新たな派生先ブランチラインへと派生するための派生要求を受信すると、
前記派生元ブランチライン内の所定バージョンのファイルを、前記派生先ブランチライン内の所定バージョンとは別のバージョンとしてデータコピーし、
前記派生選択処理部は、
前記共有先データベースの前記管理情報データに書き込むブランチラインについて、その共有元データベースの前記実体ファイルに複数のブランチラインが設定されているときには、入力手段を介して指定されたブランチラインを、前記共有先データベースの前記管理情報データに書き込むことを特徴とする
請求項5に記載のファイル管理装置。
【請求項7】
前記ファイル管理装置は、さらに、権限変更要求処理部を有し、
前記権限変更要求処理部は、
前記実体ファイルへのアクセス権を変更する権限変更要求を受信すると、その権限変更要求で指定されたアクセス権を前記共有先データベースの前記管理情報データに対してブランチラインごとに設定し、
前記データベースアクセス部は、前記共有先データベースの前記管理情報データを参照し、データアクセス要求で指定されたブランチラインへのデータアクセスのアクセス権が存在しないときには、前記実体ファイルへのデータアクセスを禁止することを特徴とする
請求項5または請求項6に記載のファイル管理装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate