説明

ファイルの構成管理システム

【課題】 ファイルの親子関係や認可状態、バージョン管理が容易なファイルの構成管理システムを提供する。
【解決手段】 ファイルを編集する複数のクライアントと、保存されているファイルに対して認可状態のステータスを与えるAuthorからなるファイル構成管理システムであって、
各クライアントおよびAuthorは管理装置から受け取ったファイルを現在の状態が識別可能な表示形式で視覚的に表示する手段と編集後のファイルをファイル保存装置へ保存する手段とを備え、
前記視覚的に表示する手段として、前記ファイルの更新履歴を親子関係が識別可能なようにツリー構造で表示すると共に、認可状態を表示し、複数のファイルの任意のリビジョンを一つのまとまりとして、グループ化して表示する手段とを備え、前記Authorはメタ情報を更新し、ファイルを認可状態、認可待ち状態、編集中状態に遷移させ、認証者にのみステータスの更新を許す手段とを備えたことを特徴とする。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、プログラムのソースやその他ファイルの共同開発を補佐するファイルの構成管理システムに関するものである。
【背景技術】
【0002】
近年、ソフトウェア開発にいては作成するプログラムが巨大化し、複数人でプログムやドキュメントを共同開発する機会が増えている。巨大なプログラムを作成する場合、大量のファイルを管理しなければならない為、ファイル構成管理システムを使いファイルの構成やバージョン管理することが多い。
【0003】
図14は、従来における一般的な構成管理システムのブロック構成図であり、各クライアント1403は管理装置1402を通じてファイル保存装置1401内にファイルを保存すると共に、その構成管理を行う。
管理装置1402の主な処理は、図16に示すチェックアウトとコミットであり、ファイル保存装置1401から各クライアント1403にファイルをコピー(チェックアウト)する処理と、クライアントで更新したファイルをファイル保存装置1401に反映する(コミット)である。
【0004】
基本的なバージョン管理方法は、図15のテーブル1501に示すように時間軸で管理することが前提であり、過去にコミットされたファイルを履歴として保存している。また、製品のリリース等のタイミングで、任意のファイルを別フォルダにコピーして管理することで、任意のファイルがリリースした時間で管理をすることが出来る。
なお、本発明に関連する先行技術文献として下記の特許文献1がある。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2006−350829号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
ところで、ソースコードやドキュメントの開発時の構成管理について、従来の構成管理システムを用いて、本体から分岐したバージョンに親子関係を持たせたファイル管理を実現するには、手動で親子関係を紐付けるしかなかった。そのため、本体から分岐したバージョンの管理に不向きであった。また、過去の履歴ファイルの表示方法が時間軸のみでしか表示できず、視覚的に表示できないという問題があった。
また、従来方法では、更新のタイミングによるズレが生じないように、チェックアウトやファイルのロックを行う必要があるため、実装が困難になるという問題があった。
【0007】
そこで、本発明は、ファイルの親子関係を自動的に構築して管理を行い、さらにファイルをユーザに対して視覚的に表示することによって、本体から分岐したバージョンの管理を容易になり、かつチェックアウトやロックを行わずに更新のタイミングによるズレを防ぐことができ、簡易的な実装が可能になるファイルの構成管理システムを提供することを目的とする。
【課題を解決するための手段】
【0008】
上記目的を達成するために、本発明のファイル構成管理システムは、ファイル保存装置を備えた管理装置と、この管理装置へファイルを保存する複数のクライアントと、保存されているファイルに対して認可状態のステータスを与えるAuthorからなるファイル構成管理システムであって、
前記管理装置は前記ファイル保存装置へファイルを保存する手段と、前記ファイルのメタ情報を更新するする更新手段と、前記ファイル保存装置からファイルを読み込み、各クライアントとAuthorに転送する手段と、各クライアントとAuthorに前記ファイルのメタ情報を通知する手段を備え、
前記各クライアントは、前記管理装置から受け取った前記ファイルを当該ファイルの現在の状態が識別可能な表示形式で視覚的に表示する手段と、表示されたファイルの編集を行う手段と、編集後のファイルを前記ファイル管理装置を通じて前記ファイル保存装置へ保存する手段とを備え、
前記Authorは、前記管理装置から受け取った前記ファイルを当該ファイルの現在の状態が識別可能な表示形式で視覚的に表示する手段と、表示されたファイルの編集を行う手段と、前記管理装置を通じてファイルのメタ情報を更新する手段と、前記管理装置を通じてファイルを前記ファイル保存装置へ保存する手段とを備え、
前記ファイル保存装置は、ファイルをツリー構造で保存するための手段と、メタ情報を書換えファイルの状態を遷移させる手段を備え、
前記クライアントは前記視覚的に表示する手段として、前記ファイルの更新履歴を親子関係が識別可能なようにツリー構造で表示すると共に、認可状態を表示し、複数のファイルの任意のリビジョンを一つのまとまりとして、グループ化して表示する手段とを備え、
前記Authorは、前記視覚的に表示する手段として、前記ファイルの更新履歴を親子関係が識別可能なようにツリー構造で表示すると共に、認可状態のファイルを示す手段と、複数のファイルの任意のリビジョンを一つのまとまりとして表示する手段と、そのメタ情報を更新し、ファイルを認可状態、認可待ち状態、編集中状態に遷移させ、認証者にのみステータスの更新を許す手段を手段とを備えたことを特徴とする。
【発明の効果】
【0009】
本発明のファイルの視覚的構成管理方法及びシステムによれば、過去データの管理を簡易にし、特に本体から分岐したバージョンのファイルの更新履歴を視覚的に簡潔に表示し、各ファイルの関連などを容易に把握することを支援することが可能になる。また、ファイルの更新のズレを防ぐための排他制御が不要の為、従来技術に比べ簡易な実装を可能とする。さらに、ファイルの表示方法が視覚的であり、任意の更新履歴などを開発者が特定し易くなるという効果がある。
【図面の簡単な説明】
【0010】
【図1】本発明の一実施の形態を示すシステム構成図である。
【図2】ファイル保存装置に格納されているデータの構成図である。
【図3】ファイルの状態遷移図である。
【図4】新しいリビジョン作成時における状態遷移図である。
【図5】リリースセットとリビジョンのデータ保存構造図である。
【図6】ファイル更新処理の概略とファイルを認可(もしくは剥奪)処理の概略を示したフローチャートである。
【図7】ファイル更新処理を示したフローチャートである。
【図8】ファイルの認可(もしくは剥奪)処理を示したフローチャートである。
【図9】クライアントにおけるファイルの一覧とファイルツリー表示画面の一例である。
【図10】クライアントにおけるリリースセットの表示画面の一例である。
【図11】クライアントにおけるファイルの編集中画面の一例である。
【図12】Authorにおけるリリースセット作成画面の一例である。
【図13】Authorにおける認可/剥奪を行う画面の一例である。
【図14】従来技術におけるシステム全体の概略構成図である。
【図15】従来技術におけるクライアントの画面の一例である。
【図16】従来技術における、チェックアウト処理とコミット処理についての概略図である。
【発明を実施するための形態】
【0011】
図1は、本発明の一実施形態を示すシステム構成図である。
この実施形態のファイル構成管理システムは、ファイル保存装置1を備えた管理装置2と、この管理装置2を通じてファイル保存装置1へファイルを保存する複数のクライアント4a、4b、4c、4nと、ファイル保存装置1に保存されたファイルに対してメタ情報を更新・登録することができるAuthor3で構成され、クライアント4a、4b、4c、4nとAuthor3はネットワークで管理装置2に接続されている。
この構成は一般的なクライアントサーバシステムの構成と同様であり、一般的なクライアントサーバシステムのクライアントに相当する部分が、クライアント4a、4b、4c、4nとAuthor3であり、サーバに相当するものが管理装置2とファイル保存装置1である。
一般的なクライアントサーバシステムと違う点は、他のクライアントとは異なる機能を備えたAuthor3を備え、垂直機能分散の構成である点が挙げられる。
【0012】
図2はファイル保存装置1に格納されるファイルのメタ情報29とデータ本体30を示す図である。
メタ情報29はデータ本体の索引情報であり、ファイルPrimaryCode21はそのデータを一意に認識するためのコードであり、Revision23はそのファイルの変更を示す改訂番号であり、Signature24はそのRevisionが認可状態であるか、認可されていない認可待ち状態であるかを示すデータであり、Author25はSignature24を更新する権利を持つユーザを示すデータであり、Releaseset26は複数のファイルを纏めてリリースする際のグループ番号を示すもの(以下リリースセット)であり、ParentNodePrimaryCode27は自身のコピー元となったファイルのPrimaryCode21であり、ChildNode1PrimaryCode28は自身をコピーしたファイルのPrimaryCode21から構成されている。
例えばPrimaryCode21が「2314」であるFileAをクライアント4aが更新する場合、管理装置2がFileAのメタ情報29が空であるコピーを作成し、一時ファイルとしてファイルを保持する。保存を行う際は、管理装置2がRevision23に新しい番号、Signature24には自動的に「認可待ち状態」というデータを付加する。さらに親に当たるファイルのChildNodenPrimaryCode28に、更新ファイルのPrimaryCode21を付加する。
【0013】
図3はファイルの状態遷移図である。
何もない初期状態31からファイルが生成されるとファイル編集状態32になる。ファイルの編集を終え、保存処理を行うとファイル編集状態32から認可待ち状態33になる。この認可待ち状態33に認可を与えると認可状態34となり、逆に認可状態34から認可を剥奪すると認可待ち状態へ推移する。このファイルの状態遷移は、Signature24を書き換えることにより実現する。
【0014】
図4はファイルを更新し、リビジョン毎にファイルをツリー状に管理する過程を示した状態遷移図である。
初期状態41から初期ファイル作成状態42への遷移は図3に示した通りである。
初期ファイル作成状態から、次の新しいリビジョンを作成するには、対象のファイルのコピーを作成し、そのファイルを編集状態図32とする状態へ遷移する(43)。さらに、コピー元のファイルをツリー構造の親、コピーしたファイルをツリー構造の子として、親子関係を持たせる。この親子関係はParentNodePrimaryCode27、ChildNode1PrimaryCode28で実現する。この一つもしくは複数ファイルの編集状態43から一つもしくは、複数ファイルが編集され保存処理を行うと、保存されたファイルが認可待ち状態となる(44)。認可待ち状態から、一つのファイルを認可すると、認可された子が認可状態としてツリーを形成した状態(46、47)となる。同様にして孫ファイル、曾孫ファイルと作成しツリー構造でバージョン管理を行う。
【0015】
図5はファイルの保存構造の概念を示した図である。
各ファイルはファイル別にツリー構造を構成54する。又、複数ファイルの各々任意リビジョンを一まとめとしたグループ(リリースセット)を形成55することが可能である。ツリー構造の中でファイルは、ファイル認可状態51、ファイル編集状態52、ファイル認可待ち状態53の3つの状態を遷移する。
【0016】
図6は、図1におけるクライアント4a〜4nから管理装置2を通して行うファイルの更新処理601と、Author3から管理装置2を通して行う認可/剥奪処理614の概要フローチャートである。
図6におけるファイルの更新処理601について、クライアント4nの表示部11は、管理装置2の読込み部6を通じてファイルのメタ情報を表示する(ステップ602)。
そして編集部12によりファイルの編集を行う。このファイル編集中にファイルのステータスを示し、新しいリビジョンのファイルが認可待ち状態や、認可状態になると管理装置2から通知を受け取り、画面に表示する(ステップ603) 。
保存指示部13が保存要求を発すると管理装置2の書込み/更新部5を通してファイル保存装置1へ書き込み、さらに各クライアント4a〜4cとAuthor3に対してファイルが保存された旨とファイルの状態が通知される。
【0017】
一方、図6における認可/剥奪処理614においては、ファイル更新処理601と同様に表示処理を行う(ステップ609)。
ここで、認可/剥奪処理を行う前に、認可待ちの状態にあるファイルにさらに編集を加える、もしくは2つ以上のファイルをマージしたいときは編集処理を行い、新しいリビジョンのファイルとして保存する(ステップ610、611)。
ファイルに対して認可/剥奪を行う際は管理装置2の書込み/更新部5を通じてファイル保存装置1にメタ情報を更新し、正規版の認可もしくは剥奪を行う(ステップ612) 。
通知処理613はファイル更新処理における通知処理606と同様に行う。
【0018】
図7は、図6におけるクライアント4nから管理装置2を通して行うファイルの更新処理を行う詳細フローチャートである。
始めにファイルの表示方法を選択し、ファイルのツリー表示かリリースセットの表示かを選択する(ステップ701、702、703)。ファイルの一覧とファイルツリーの表示例は図9に、リリースセットの表示例は図10に示す。ファイルの一覧とファイルツリーの表示とリリースセットの表示は切り替えが行える(ステップ704)。
次に、新規作成であればファイルを新たに作成し、更新であれば更新元のファイルをコピーしファイル編集状態として保存する。編集を行う為にファイルを開くと、ファイルのステータスも表示(図11)される(ステップ705、706、707)。
編集が終わり、保存要求が出されると、ファイルは認可待ち状態としてファイルツリーの構成に従いファイル保存装置1に保存される。その際、保存された旨が各クライアント4a〜4n及びAuthor3へ通知され、図11に示すようステータス画面へ即反映される(ステップ711、712、713)。
【0019】
図8は、図6におけるクライアント4nから管理装置2を通して行うファイルの認可/剥奪処理の詳細フローチャートである。
始めにファイルの表示方法について選択を行い、ファイルの一覧とツリーの表示(図13)もしくはリリースセットの表示を行う(ステップ801、802、803、804)。
もし、ファイルに編集やマージが必要であれば、新しいリビジョンとしてファイルを作成し編集やマージを行う(ステップ805、811、812)。
もし、ファイルの属性更新要求が出された場合、ファイルを認可待ち状態もしくは、認可状態としてファイルの保存を行い、続いてリリースセットの登録を行う(ステップ806、807、808、809)。
次に属性情報が更新されたら、各クライアント4a〜4n及びAuthor3へその旨を連絡する(ステップ810)
【0020】
図9はクライアント4nにおけるファイルの一覧とファイルツリー表示画面の一例である。
フォルダとファイル構成を示すブロック91と、選択された履歴を示すファイルツリー92を表す。また、ファイルのコンテキストメニュー93よりファイルのステータス画面を表示する。ここで、図9において、背景が黒の枠にファイル名を表示したものは、認可状態のファイル、背景が白の枠にファイル名を表示したものは、認可待ち状態のファイルであることを示している。
【0021】
図10はリリースセットの表示画面の一例と、図9におけるコンテキストメニュー93からリリースセット画面へ切り替える過程を示す図である。
ファイルのコンテキストメニュー93からReleaseSet55を選択すると、リリースセット画面1002を表示する。このリリースセット画面1002は、そのリリースセットを構成するファイル名(FileA〜D)とリビジョン番号(006〜018)が表示される(1002)。
【0022】
図11はファイル編集中におけるステータス表示画面1101の一例である。
ここでは、ファイルツリーと各々のリビジョンのステータスを表示し、常に最新の状況を表示する。画面1101の右側1102には編集中のファイルFile[]の編集状態を表示する。
【0023】
図12はリリースセットに新たなリビジョンを追加する画面の一例であるリリースセットを登録する機能と、リリースセットに任意のリビジョンのファイルを追加するときの画面1201の例を示す図である。リリースセットに任意のリビジョンのファイルを追加する操作はAuthor3でのみ許されている。
リリースセットに新たなリビジョンを追加する場合、追加するリリースセットの番号を画面1201に入力し、addボタンを操作し、追加する。
また、リリースセットに任意のリビジョンのファイルを追加する場合は、画面1202に追加するファイル名を入力し、addボタンを操作し、追加する。
【0024】
図13は、Author3におけるファイルのメタ情報を書き換える画面1300の一例を示す図であり、ファイルの認可/剥奪、Authorの設定、リリースセットの登録を行う。
例えば、画面1201でファイルのいずれか1つ、例えばFileAを選択し、画面1203にFileAの分岐や状態を表示し、その中のFile[003]のメタ情報を書き換える場合、画面1202に現在のメタ情報が表示されるので、それを書き換える。メタ情報はAuthor3からしか書き換えることができないようになっている。
【符号の説明】
【0025】
1…ファイル保存装置、2…管理装置、3…メタ情報の更新権限のあるクライアント端末、4a、4b、4n…クライアント端末。

【特許請求の範囲】
【請求項1】
ファイル保存装置を備えた管理装置と、この管理装置へファイルを保存する複数のクライアントと、保存されているファイルに対して認可状態のステータスを与えるAuthorからなるファイル構成管理システムであって、
前記管理装置は前記ファイル保存装置へファイルを保存する手段と、前記ファイルのメタ情報を更新するする更新手段と、前記ファイル保存装置からファイルを読み込み、各クライアントとAuthorに転送する手段と、各クライアントとAuthorに前記ファイルのメタ情報を通知する手段を備え、
前記各クライアントは、前記管理装置から受け取った前記ファイルを当該ファイルの現在の状態が識別可能な表示形式で視覚的に表示する手段と、表示されたファイルの編集を行う手段と、編集後のファイルを前記ファイル管理装置を通じて前記ファイル保存装置へ保存する手段とを備え、
前記Authorは、前記管理装置から受け取った前記ファイルを当該ファイルの現在の状態が識別可能な表示形式で視覚的に表示する手段と、表示されたファイルの編集を行う手段と、前記管理装置を通じてファイルのメタ情報を更新する手段と、前記管理装置を通じてファイルを前記ファイル保存装置へ保存する手段とを備え、
前記ファイル保存装置は、ファイルをツリー構造で保存するための手段と、メタ情報を書換えファイルの状態を遷移させる手段を備え、
前記クライアントは前記視覚的に表示する手段として、前記ファイルの更新履歴を親子関係が識別可能なようにツリー構造で表示すると共に、認可状態を表示し、複数のファイルの任意のリビジョンを一つのまとまりとして、グループ化して表示する手段とを備え、
前記Authorは、前記視覚的に表示する手段として、前記ファイルの更新履歴を親子関係が識別可能なようにツリー構造で表示すると共に、認可状態のファイルを示す手段と、複数のファイルの任意のリビジョンを一つのまとまりとして表示する手段と、そのメタ情報を更新し、ファイルを認可状態、認可待ち状態、編集中状態に遷移させ、認証者にのみステータスの更新を許す手段とを備えたことを特徴とするファイルの構成管理システム。

【図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

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate


【公開番号】特開2012−173780(P2012−173780A)
【公開日】平成24年9月10日(2012.9.10)
【国際特許分類】
【出願番号】特願2011−32145(P2011−32145)
【出願日】平成23年2月17日(2011.2.17)
【出願人】(000233055)株式会社日立ソリューションズ (1,610)
【Fターム(参考)】