JP2012079259A - 更新管理装置、更新管理方法および更新管理プログラム - Google Patents

更新管理装置、更新管理方法および更新管理プログラム Download PDF

Info

Publication number
JP2012079259A
JP2012079259A JP2010226510A JP2010226510A JP2012079259A JP 2012079259 A JP2012079259 A JP 2012079259A JP 2010226510 A JP2010226510 A JP 2010226510A JP 2010226510 A JP2010226510 A JP 2010226510A JP 2012079259 A JP2012079259 A JP 2012079259A
Authority
JP
Japan
Prior art keywords
data
update
revision
symbol string
types
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2010226510A
Other languages
English (en)
Other versions
JP5630190B2 (ja
Inventor
Tomonori Yamashita
智規 山下
Tomohisa Suzuki
智久 鈴木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2010226510A priority Critical patent/JP5630190B2/ja
Priority to US13/225,692 priority patent/US20120089580A1/en
Publication of JP2012079259A publication Critical patent/JP2012079259A/ja
Application granted granted Critical
Publication of JP5630190B2 publication Critical patent/JP5630190B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)

Abstract

【課題】複数の種類のデータを含むデータ集合の版数管理を容易にする。
【解決手段】検出手段1bは、記憶手段1aに格納されたデータ集合2aの中の1またはそれ以上の種類のデータの更新を検出する。管理手段1cは、検出結果に応じて、複数の種類に対応する複数の部分を含む記号列3aを生成し、データ集合2aの版数を示す情報として記憶手段1aに格納する。管理手段1cは、更新前の版数を示す記号列3から、複数の部分のうち更新が検出されたデータの種類に対応する部分の記号Q1を記号Q2に変更し、更新後の版数を示す記号列3aとする。
【選択図】図1

Description

本発明は、データの更新を管理する更新管理装置、更新管理方法および更新管理プログラムに関する。
情報処理システムでは、ユーザの業務の進行に伴って、記憶装置に格納されたデータが繰り返し更新される場合がある。そこで、データの更新状況を効率的に管理するために、リビジョン管理システムが利用されることがある。リビジョン管理は、バージョン管理や版数管理と呼ばれることもある。リビジョン管理システムは、データの更新日時や更新内容などの更新履歴を保持し、過去のある時点のデータを確認できるようにする。
リビジョン管理システムは、複数のユーザが共有データを更新する場合に用いられることもある。例えば、プロジェクトに関するデータを複数人で共有するために、リビジョン管理の機能をもつプロジェクト管理システムが利用されることがある。プロジェクト管理システムに関し、修正されたファイルを登録する際、当該ファイルの修正版数を更新し、修正内容を示す差分情報と修正版数とを対応付けて記憶するものが提案されている。
なお、ファイル管理装置に関し、ファイルを更新する際、当該ファイルの変更量が所定の基準限度を超えるときは、新規なベースファイルとして指定されるように、変更量が基準限度を超えないときは、差分情報として利用されるように、更新後のファイルを管理するものが提案されている。
特開2004−139588号公報(段落[0045]) 特開平6−187206号公報(段落[0012])
ところで、データを管理する場合、個々のデータの単位ではなく、複数の種類のデータを含むデータ集合の単位で、更新状況を管理したい場合がある。例えば、プロジェクト管理では、プロジェクトのスケジュールを記載した文書やプロジェクトで作成された成果物など、複数の種類のデータを管理することがある。その場合、プロジェクトに関するデータ全体の更新状況を一括して把握したいということが考えられる。
しかし、複数の種類のデータを含むデータ集合の版数をどのように管理するかが問題となる。例えば、ユーザが明示的にデータ集合に版数を付与する方法では、ユーザの作業負担が大きい、版数の定義ミスが生じやすいといった問題が生じる。また、版数を示す整数(例えば、1,2,3,…)をデータ集合に付与し、データ集合に含まれる何れかのデータが更新される毎に整数を機械的にインクリメントしていく方法では、複数の種類のデータの間の関係を把握するのが容易でないという問題がある。
本発明はこのような点に鑑みてなされたものであり、複数の種類のデータを含むデータ集合の版数管理を容易にする更新管理装置、更新管理方法および更新管理プログラムを提供することを目的とする。
上記課題を解決するために、複数の種類のデータを含むデータ集合の更新を管理する更新管理装置が提供される。更新管理装置は、検出手段と管理手段を有する。検出手段は、記憶装置に格納されたデータ集合の中の1またはそれ以上の種類のデータの更新を検出する。管理手段は、検出結果に応じて、複数の種類に対応する複数の部分を含む記号列を生成し、データ集合の版数を示す情報として記憶装置に格納する。管理手段は、更新前の版数を示す記号列から、複数の部分のうち更新が検出されたデータの種類に対応する部分の記号を変更し、更新後の版数を示す記号列とする。
また、上記課題を解決するために、複数の種類のデータを含むデータ集合の更新を管理するコンピュータによって実行される更新管理方法が提供される。更新管理方法では、記憶装置に格納されたデータ集合の中の1またはそれ以上の種類のデータの更新を検出する。検出結果に応じて、複数の種類に対応する複数の部分を含む記号列を生成し、データ集合の版数を示す情報として記憶装置に格納する。記号列の生成では、更新前の版数を示す記号列から、複数の部分のうち更新が検出されたデータの種類に対応する部分の記号を変更し、更新後の版数を示す記号列とする。また、上記課題を解決するために、更新管理方法をコンピュータに実行させる更新管理プログラムが提供される。
上記更新管理装置、更新管理方法および更新管理プログラムによれば、複数の種類のデータを含むデータ集合の版数管理が容易となる。
第1の実施の形態の更新管理装置を示す図である。 第2の実施の形態のプロジェクト管理システムを示す図である。 プロジェクト管理装置のハードウェア構成を示す図である。 プロジェクト管理装置の機能を示すブロック図である。 プロセスデータのデータ構造例を示す図である。 タスクデータのデータ構造例を示す図である。 成果物データの具体例を示す図である。 リビジョン管理テーブルのデータ構造例を示す図である。 更新ログテーブルのデータ構造例を示す図である。 リポジトリのディレクトリ構造例を示す図である。 制御テーブルのデータ構造例を示す図である。 バックアップ処理を示すフローチャートである。 バックアップデータ抽出処理を示すフローチャートである。 リビジョン番号選択画面の例を示す図である。
以下、本実施の形態を図面を参照して説明する。
[第1の実施の形態]
図1は、第1の実施の形態の更新管理装置を示す図である。更新管理装置1は、複数の種類のデータの更新を管理する。更新管理装置1は、記憶手段1a、検出手段1bおよび管理手段1cを有する。
記憶手段1aは、複数の種類のデータを含むデータ集合2を記憶する。データ集合2には、複数の種類(図1の例では、3種類)のデータA1,B1,C1が含まれる。また、記憶手段1aは、データ集合2の版数を示す記号列3を記憶する。記号列3には、複数の種類に対応する複数の部分(図1の例では、記号P1,Q1,R1に相当する部分)が含まれる。図1において、記号P1はデータA1に対応し、記号Q1はデータB1に対応し、記号R1はデータC1に対応している。記号P1,Q1,R1は、数字でもよい。
なお、記憶手段1aは、更新管理装置1の外部の記憶装置であってもよい。例えば、記憶手段1aは、更新管理装置1が接続されたネットワーク上のデータベース装置により実現されてもよい。
検出手段1bは、記憶手段1aに格納されたデータ集合2aの中の1またはそれ以上の種類のデータの更新を検出する。更新を検出するタイミングは、記憶手段1aにデータが書き込まれた後でもよいし、データが書き込まれる前(例えば、データ書き込み命令が入力された時点)でもよい。
管理手段1cは、検出手段1bの検出結果に応じて、複数の種類に対応する複数の部分を含む記号列3aを生成し、データ集合2aの版数を示す情報として記憶手段1aに格納する。このとき、管理手段1cは、更新前の版数を示す記号列3から、複数の部分のうち更新が検出されたデータの種類に対応する部分の記号を変更し、更新後の版数を示す記号列3aとする。2以上の種類のデータの更新が検出された場合、2以上の部分の記号を同時に変更してもよい。また、複数の部分のうち更新が検出されなかったデータの種類に対応する部分の記号は、変更しなくてもよい。
例えば、検出手段1bは、データ集合2aについて、データ集合2に含まれるデータB1がデータB2に更新されたことを検出する。すると、管理手段1cは、記号列3に含まれる記号P1,Q1,R1のうち更新が検出されたデータB2に対応する部分の記号Q1を記号Q2に変更し、記号列3aを得る。記号P1,Q1,R1のうち更新が検出されなかったデータA1,C1に対応する部分の記号P1,R1は変更しなくてもよい。その場合、記号列3aは、記号P1,Q2,R1を含むことになる。
更新管理装置1によれば、検出手段1bにより、記憶手段1aに格納されたデータ集合2の中の1またはそれ以上の種類のデータの更新が検出される。管理手段1cにより、検出結果に応じて、複数の種類に対応する複数の部分を含む記号列3aが生成され、データ集合2aの版数を示す情報として記憶手段1aに格納される。このとき、管理手段1cにより、更新前の版数を示す記号列3から、複数の部分のうち更新が検出されたデータの種類に対応する部分の記号が変更され、更新後の版数を示す記号列3aとされる。
これにより、複数の種類のデータを含むデータ集合の版数管理が容易となる。具体的には、記号列3,3aを確認すれば、それぞれの時点で、データ集合2,2aに含まれる各種類のデータがどの程度まで更新されていたかを容易に把握できる。例えば、記号列3aを確認すれば、データA1,B1,C1のうちデータA1,C1は更新されておらずデータB1がデータB2に更新されている、という時点が存在することを把握することができる。このため、過去のある時点における複数の種類のデータのレビューなどが容易になる。
なお、検出手段1bは、更新の検出時、各種類のデータが更新の前後でどの程度変更されたかを表す指標(変更量)を算出してもよい。変更量としては、例えば、更新前後でのデータサイズの変化割合や、更新前後での文字数または行数の変化割合などを用いることができる。管理手段1cは、検出手段1bで算出された変更量が所定の基準値より大きい場合に記号列3aを生成し、変更量が基準値より大きくない場合に記号列3aを生成しないようにしてもよい。これにより、変更量が大きい場合に限定して、データ集合2の版数が変更されるようにすることができる。
以下に説明する第2の実施の形態では、更新管理装置1をシステム開発プロジェクトの管理を支援するプロジェクト管理システムに適用した場合の例を説明する。ただし、第1の実施の形態の更新管理装置1は、プロジェクト管理システム以外の情報処理システム、例えば、ファイルサーバなどに適用することもできる。
[第2の実施の形態]
図2は、第2の実施の形態のプロジェクト管理システムを示す図である。第2の実施の形態に係るプロジェクト管理システムは、システム開発を行うプロジェクトの管理を支援する。第2の実施の形態のプロジェクト管理システムは、端末装置21,22,23およびプロジェクト管理装置100を含む。端末装置21,22,23およびプロジェクト管理装置100は、ネットワーク10に接続されている。
端末装置21,22,23は、システム開発エンジニアなどのプロジェクトの参加者が操作するコンピュータである。端末装置21,22,23のユーザは、端末装置21,22,23を用いてデータの作成や更新などの作業を行う。
プロジェクト管理装置100は、プロジェクトの進捗状況の管理を支援するサーバコンピュータである。プロジェクト管理装置100は、プロジェクトに関する情報(プロジェクト情報)を保持するリポジトリを有する。プロジェクト情報は、複数の種類のデータを含むデータ集合である。プロジェクト情報には、以下の3種類のデータが含まれる。
(1)第1の種類のデータは、プロセスデータである。プロセスデータは、プロジェクトの工程(プロセス)を示すデータである。プロセスは、複数の作業単位(タスク)を含む。プロセスデータには、例えば、複数のタスクの実行順序および各タスクの実行予定日を示すレコードが含まれる。
(2)第2の種類のデータは、タスクデータである。タスクデータは、プロセスに含まれる複数のタスクそれぞれの具体的な内容に関するデータである。タスクデータには、例えば、各タスクの進捗状況を示すレコードが含まれる。
(3)第3の種類のデータは、成果物データである。成果物データは、タスクの実行の過程で成果物として得られるデータである。成果物データの中には、タスクの途中で作成されるものもあるし、タスクの完了時点で作成されるものもある。また、作成された成果物データは、同一または異なるタスクの中で更新されることもある。例えば、「設計」というタスクでは、成果物データとして設計書のデータが作成されることが考えられる。「見積」というタスクでは、見積書のデータが作成されることが考えられる。
ユーザは、端末装置21,22,23を操作して、プロジェクト管理装置100に格納されたプロジェクト情報を閲覧および更新できる。プロジェクト管理装置100は、プロジェクト情報を一元管理することで、効率的にプロジェクト管理を行えるよう支援する。
図3は、プロジェクト管理装置のハードウェア構成を示す図である。プロジェクト管理装置100は、CPU(Central Processing Unit)101、ROM(Read Only Memory)102、RAM(Random Access Memory)103、HDD(Hard Disk Drive)104、グラフィック処理装置105、入力インタフェース106、記録媒体読取装置107および通信インタフェース108を有する。
CPU101は、OS(Operating System)プログラムやアプリケーションプログラムを実行して、プロジェクト管理装置100全体を制御する。
ROM102は、プロジェクト管理装置100の起動時に実行されるBIOS(Basic Input / Output System)プログラムなどの所定のプログラムを記憶する。ROM102は、書き換え可能な不揮発性メモリであってもよい。
RAM103は、CPU101が実行するOSプログラムやアプリケーションプログラムの少なくとも一部を一時的に記憶する。また、RAM103は、CPU101の処理に用いられるデータの少なくとも一部を一時的に記憶する。
HDD104は、OSプログラムやアプリケーションプログラムを記憶する。また、HDD104は、CPU101の処理に用いられるデータを記憶する。なお、HDD104に代えて(または、HDD104と併せて)、SSD(Solid State Drive)など他の種類の不揮発性の記憶装置を用いてもよい。
グラフィック処理装置105は、モニタ11に接続される。グラフィック処理装置105は、CPU101からの命令に従って、画像をモニタ11に表示させる。
入力インタフェース106は、キーボード12やマウス13などの入力デバイスに接続される。入力インタフェース106は、入力デバイスから送られる入力信号をCPU101に出力する。
記録媒体読取装置107は、記録媒体14に記憶されたデータを読み取る読取装置である。記録媒体14には、例えば、プロジェクト管理装置100に実行させるプログラムが記録されている。プロジェクト管理装置100は、例えば、記録媒体14に記録されたプロジェクト管理プログラムを実行することで、後述するようなプロジェクト管理機能を実現することができる。すなわち、プロジェクト管理の処理内容を記述したプログラムは、コンピュータ読み取り可能な記録媒体14に記録して配布することが可能である。
記録媒体14としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリを使用できる。磁気記録装置には、HDD、フレキシブルディスク(FD)、磁気テープなどがある。光ディスクには、CD(Compact Disc)、CD−R(Recordable)/RW(ReWritable)、DVD(Digital Versatile Disc)、DVD−R/RW/RAMなどがある。光磁気記録媒体には、MO(Magneto-Optical disk)などがある。半導体メモリには、USB(Universal Serial Bus)メモリなどのフラッシュメモリがある。
通信インタフェース108は、ネットワーク10に接続される。通信インタフェース108は、ネットワーク10を介して端末装置21,22,23とデータ通信を行える。
なお、ネットワーク10に接続された他のサーバ装置(図示せず)にプロジェクト管理プログラムを格納しておいてもよい。その場合、プロジェクト管理装置100は、当該サーバ装置からプログラムをダウンロードして実行することもできる。端末装置21,22,23もプロジェクト管理装置100と同様のハードウェア構成により実現できる。
図4は、プロジェクト管理装置の機能を示すブロック図である。プロジェクト管理装置100は、リポジトリ110、制御データ記憶部120、更新部130、変更量算出部140、リビジョン管理部150、データ管理部160、抽出部170および表示処理部180を有する。これらのユニットの機能は、CPU101がプロジェクト管理プログラムを実行することにより、プロジェクト管理装置100上に実現される。ただし、これらのユニットの機能の全部または一部を専用のハードウェアで実装してもよい。
リポジトリ110は、プロジェクト情報を記憶する記憶領域(例えば、RAM103またはHDD104に確保された領域)である。プロジェクト情報には、前述の通り、プロセスデータ、タスクデータおよび成果物データが含まれる。プロジェクト情報は、プロジェクトの進行に伴って更新される。リポジトリ110は、最新のプロジェクト情報に加えて、各版のプロジェクト情報のバックアップデータを、リビジョン番号を付与して管理する。リビジョン番号は、プロジェクト情報全体の版数を表す記号列である。リポジトリ110は、リビジョン番号の一覧を示すリビジョン管理テーブルを記憶する。
制御データ記憶部120は、制御データを記憶する。制御データは、変更量算出部140、リビジョン管理部150およびデータ管理部160の動作を設定するための設定データである。
更新部130は、端末装置21,22,23からチェックインのコマンドを受け付け、リポジトリ110に格納されたプロジェクト情報を更新する。チェックインでは、端末装置21,22,23がプロジェクト管理装置100に、新規データの追加や既存データの更新を依頼する。端末装置21,22,23は、端末装置21,22,23上で作成・編集されたデータについてユーザがチェックインの操作を行うと、チェックインのコマンドをプロジェクト管理装置100に送信する。更新部130は、受け付けたチェックインのコマンドに基づいて、リポジトリ110へのデータの追加やリポジトリ110に格納されたデータの上書きなど、プロジェクト情報の更新を行う。また、更新部130は、プロジェクト情報の更新を行うと、変更量算出部140にその旨を通知する。
変更量算出部140は、更新部130からプロジェクト情報の更新を行った旨の通知を受けると、3種類のデータのうち何れの種類のデータが更新されたか検出する。また、変更量算出部140は、最新のバックアップデータと更新後のデータとを比較し、データの変更量を算出する。そして、算出した変更量に基づいて、リビジョン番号を変更するか否か判定する。リビジョン番号を変更すると判定した場合、変更量算出部140は、更新されたデータの種類をリビジョン管理部150に通知し、変化量をデータ管理部160に通知する。
リビジョン管理部150は、変更量算出部140から更新されたデータの種類が通知されると、リポジトリ110に格納されているリビジョン管理テーブルを参照し、最新のリビジョン番号を確認する。そして、最新のリビジョン番号の中の更新されたデータに対応する部分を特定し、特定した部分の記号を変更した新たなリビジョン番号を生成する。リビジョン管理部150は、生成したリビジョン番号をデータ管理部160に通知する。
データ管理部160は、データの変更量に応じた方法で、プロジェクト情報のバックアップを行う。具体的には、データ管理部160は、変更量算出部140から通知された変更量に応じて、完全バックアップまたは差分バックアップを選択し、更新後のプロジェクト情報についてのバックアップデータを作成する。そして、リビジョン管理部150から通知されたリビジョン番号と作成したバックアップデータとを対応付けて、リポジトリ110に格納する。その際、リビジョン管理テーブルを更新する。
抽出部170は、端末装置21,22,23からチェックアウトのコマンドを受け付け、リポジトリ110に格納されたプロジェクト情報を抽出する。チェックアウトでは、端末装置21,22,23がプロジェクト管理装置100に、最新または特定のリビジョン番号のプロジェクト情報の抽出を依頼する。端末装置21,22,23は、ユーザがチェックアウトの操作を行うと、チェックアウトのコマンドをプロジェクト管理装置100に送信する。抽出部170は、受け付けたコマンドに基づいて、最新または指定されたリビジョン番号のプロジェクト情報を、リポジトリ110から抽出する。
表示処理部180は、ユーザがチェックアウトの操作を行うためのGUI(Graphical User Interface)を、端末装置21,22,23に提供する。例えば、表示処理部180は、リポジトリ110に格納されたリビジョン管理テーブルからリビジョン番号の一覧を取得し、リビジョン番号を選択するための画面のデータを端末装置21,22,23に送信する。ユーザは、例えば、端末装置21,22,23のモニタに表示された操作画面を見て入力デバイスを操作し、抽出するプロジェクト情報のリビジョン番号を選択することができる。また、表示処理部180は、ユーザのチェックアウト操作に応じて、プロセスデータなどのデータを表示した画面を提供してもよい。
なお、端末装置21,22,23は、チェックアウトによりプロジェクト管理装置100から取得したデータをユーザに提示することができる。ユーザは、取得されたデータを更新し、更新後のデータについてチェックイン操作を行うことも可能である。
次に、プロセスデータ、タスクデータおよび成果物データのバックアップデータについて説明する。リポジトリ110は、バックアップデータをデータの種類毎に管理する。各種類のバックアップデータには、プロジェクト情報全体のリビジョンを示すリビジョン番号とは別に、各種類内でのリビジョンを示す(すなわち、各種類内でバックアップデータの作成された順序を示す)リビジョンIDが付与される。
図5は、プロセスデータのデータ構造例を示す図である。プロセスデータ111,111a,111b,・・・は、リポジトリ110に格納される。プロセスデータ111,111a,111b,・・・は、プロセスデータの各リビジョンのバックアップデータである。プロセスデータ111は、最も古いリビジョン(リビジョンID=v1)のデータである。プロセスデータ111aは、v1の次のリビジョン(v2)のデータであり、プロセスデータ111bは、v2の次のリビジョン(v3)のデータである。なお、以下の説明では、プロセスデータ111のデータ構造例を説明するが、プロセスデータ111a,111b,・・・のデータ構造もプロセスデータ111と同様である。
プロセスデータ111には、タスクID、タスク名、開始予定日および終了予定日の項目が設けられている。各項目の横方向に並べられた情報同士が互いに関連付けられて、プロセスデータの1つのレコードを構成する。タスクIDの項目には、タスクを識別するための識別情報が設定される。タスク名の項目には、タスクの名称が設定される。開始予定日の項目には、タスクの開始予定日が設定される。終了予定日の項目には、タスクの終了予定日が設定される。
例えば、プロセスデータ111には、タスクIDが“1”、タスク名が“設計工程”、開始予定日が“2010/1/1”、終了予定日が“2010/1/5”というレコードが記録される。これは、設計工程はプロセスの最初に実行するタスクであり、開始予定日が2010年1月1日、終了予定日が2010年1月5日であることを示している。
図6は、タスクデータのデータ構造例を示す図である。タスクデータ112,112a,112b,・・・は、リポジトリ110に格納される。タスクデータ112,112a,112b,・・・は、タスクデータの各リビジョンのバックアップデータである。タスクデータ112は、最も古いリビジョン(リビジョンID=v1)のデータである。タスクデータ112aは、v1の次のリビジョン(v2)のデータであり、タスクデータ112bは、v2の次のリビジョン(v3)のデータである。なお、以下の説明では、タスクデータ112のデータ構造例を説明するが、タスクデータ112a,112b,・・・のデータ構造もタスクデータ112と同様である。
タスクデータ112には、タスクID、作業内容およびタスク属性の項目が設けられている。各項目の横方向に並べられた情報同士が互いに関連付けられて、1つのタスクの具体的な内容を示す。タスクIDの項目には、タスクを識別するための識別情報が設定される。作業内容の項目には、タスクの具体的な作業内容を示すテキストが設定される。タスク属性の項目には、タスクの進捗実績を示す情報が設定される。タスク属性には、例えば、タスクの実際の開始日、現在の進捗率、タスクの実際の終了日などが含まれる。
例えば、タスクデータ112には、タスクIDが“1”、タスク名が“仕様書作成”、開始日が“2010/1/3”、進捗率が“30%”、終了日が“−”(未設定)というレコードが記録される。これは、設計工程の作業内容は“設計書作成”であり、2010年1月3日に開始され、予定作業量の30%まで作業が進んでいることを示している。
図7は、成果物データの具体例を示す図である。成果物データ113,113a,114,114a,・・・は、リポジトリ110に格納される。成果物データ113,113a,114,114a,・・・は、成果物データ(例えば、文書ファイル)の各リビジョンのバックアップデータである。成果物データ113,114は、最も古いリビジョン(リビジョンID=v1)のデータである。成果物データ113a,114aは、v1の次のリビジョン(v2)のデータである。
成果物データ113,113aは、仕様を記載した仕様書ファイルである。成果物データ113のファイル名は“仕様書v1.dat”であり、成果物データ113aのファイル名は“仕様書v2.dat”である。設計書ファイル114,114aは、設計内容を記載した設計書ファイルである。成果物データ114のファイル名は“設計書v1.dat”であり、成果物データ114aのファイル名は“設計書v2.dat”である。
図8は、リビジョン管理テーブルのデータ構造例を示す図である。リビジョン管理テーブル115は、リポジトリ110に格納される。リビジョン管理テーブル115には、リビジョン番号、親番号および保存日時の項目が設けられている。各項目の横方向に並べられた情報同士が互いに関連付けられて、1つのリビジョンに関する情報を構成する。
リビジョン番号の項目には、プロジェクト情報全体のリビジョンを示すリビジョン番号が設定される。親番号の項目には、リビジョン番号の項目が示すリビジョンの1つ前のリビジョンに付与されていたリビジョン番号が設定される。保存日時の項目には、新たなリビジョン番号が付与されてバックアップデータが作成された日時が設定される。
ここで、リビジョン番号は、“x.y.z”のように3桁の値を含む。“.(ピリオド)”は、各桁を区切るための区切り記号である。“x”を1桁目、“y”を2桁目、“z”を3桁目とする(すなわち、1桁目を最上位桁、3桁目を最下位桁とする)。第1桁(x)はプロセスデータのリビジョンIDに対応し、第2桁(y)はタスクデータのリビジョンIDに対応し、第3桁(z)は成果物データのリビジョンIDに対応する。
例えば、リビジョン管理テーブル115には、リビジョン番号が“1.0.0”、親番号が“−”(未設定)、保存日時が“2010/1/1 10:00”というレコードが記録される。これは、プロジェクト情報に対して最初のリビジョン番号が2010年1月1日10時00分に付与されたことを示している。また、このとき、リポジトリ110にプロセスデータが登録され、タスクデータおよび成果物データは未登録であることを示している。なお、下位の桁の“0”を省略して表記してもよい。例えば、“1.0.0”を“1”と表記してもよい。
また、例えば、リビジョン管理テーブル115には、リビジョン番号が“1.1.0”、親番号が“1.0.0”、保存日時が“2010/1/2 10:00”というレコードが記録される。これは、プロジェクト情報に対して、“1.0.0”の次のリビジョン番号として、“1.1.0”が2010年1月2日10時00分に付与されたことを示している。また、このとき、プロセスデータは前リビジョンから変更がなく(または、変更量が小さく)、リポジトリ110にタスクデータが登録され、成果物データは未登録であることを示している。なお、上記のように、下位の桁の“0”を省略して、“1.0.0”を“1.1”と表記してもよい。
更に、例えば、リビジョン管理テーブル115には、リビジョン番号が“1.2.0”、親番号が“1.1.0”、保存日時が“2010/1/3 10:00”というレコードが記録される。これは、プロジェクト情報に対して、“1.1.0”の次のリビジョン番号として、“1.2.0”が2010年1月3日10時00分に付与されたことを示している。また、このとき、プロセスデータは前リビジョンから変更がなく(または、変更量が小さく)、前リビジョンからタスクデータが更新され、成果物データは未登録であることを示している。
更に、例えば、リビジョン管理テーブル115には、リビジョン番号が“1.3.1”、親番号が“1.2.0”、保存日時が“2010/1/5 10:00”というレコードが記録される。これは、プロジェクト情報に対して、“1.2.0”の次のリビジョン番号として、“1.3.1”が2010年1月5日10時00分に付与されたことを示している。また、このとき、プロセスデータは前リビジョンから変更がなく(または、変更量が小さく)、前リビジョンからタスクデータが更新され、リポジトリ110に成果物データが登録されたことを示している。
なお、リビジョン番号のフォーマットは、上記形式に限らず種々の形式を採用することができる。例えば、各桁の値(x,y,z)は、10進数ではなく2進数・8進数・16進数などで表記してもよい。また、例えば単調増加させるものではなく、単調減少させるものでもよい。更に多くの種類のデータを扱う場合には、3よりも多くの桁数を設けてもよい。また、プロジェクト責任者の操作により、桁数を増減できるようにしてもよい。また、上記説明では各桁を区切る区切り記号(例えば、ピリオド)を用いたが、他の方法により各桁を識別可能としてもよい。例えば、各桁で表現すべき数値の上限を予め予測し、各桁の字数を固定してもよい。例えば、3種類のデータそれぞれのリビジョンを4文字で表現する(すなわち、リビジョン番号全体を12文字とする)と定義しておけば、区切り記号を使用せず、“000100020003”といったフォーマットで表現できる。
図9は、更新ログテーブルのデータ構造例を示す図である。更新ログテーブル116,116a,116bは、データ管理部160がデータの種類毎に生成してリポジトリ110に格納する。更新ログテーブル116は、プロセスデータの更新ログを記録したテーブルであり、更新ログテーブル116aは、タスクデータの更新ログを記録したテーブルであり、更新ログテーブル116bは、成果物データの更新ログを記録したテーブルである。なお、以下の説明では、更新ログテーブル116のデータ構造例を説明するが、更新ログテーブル116a,116bのデータ構造も更新ログテーブル116と同様である。
更新ログテーブル116には、リビジョンID、方式およびファイル名の項目が設けられている。各項目の横方向に並べられた情報同士が互いに関連付けられて、プロセスデータの1つのリビジョンについての情報を構成する。リビジョンIDの項目には、プロセスデータのリビジョンを示すIDが設定される。方式の項目には、バックアップが完全バックアップであるか差分バックアップであるかを示す情報(“完全”または“差分”)が設定される。ファイル名の項目には、バックアップデータのファイル名が設定される。
例えば、更新ログテーブル116には、リビジョンIDが“v1”、方式が“完全”、ファイル名が“プロセスv1.dat”という情報が設定される。これは、リビジョン“v1”のプロセスデータが、完全バックアップとしてバックアップされ、“プロセスv1.dat”としてリポジトリ110に保存されていることを示している。なお、リビジョンID=v1は、プロジェクト情報全体のリビジョン番号の第1桁の“1”に対応する。
また、例えば、更新ログテーブル116には、リビジョンIDが“v2”、方式が“差分“、ファイル名が“プロセスv2.dat”という情報が設定される。これは、リビジョン“v2”のプロセスデータが、差分バックアップとしてバックアップされ、“プロセスv2.dat”としてリポジトリ110に保存されていることを示している。なお、リビジョンID=v2は、リビジョン番号の第1桁の“2”に対応する。
ここで、プロセスデータの差分バックアップでは、直前のリビジョンのプロセスデータからの差分がバックアップデータに記録される。すなわち、“プロセスv2.dat”には、直前のリビジョン(v1)のバックアップデータである“プロセスv1.dat”からの差分が記録されている。これに対し、完全バックアップでは、プロセスデータ全体がバックアップデータに記録される。すなわち、“プロセスv1.dat”には、プロセスデータ全体が記録されている。
なお、完全バックアップと差分バックアップの何れを選択するかは、データの種類毎に決定することが可能である。すなわち、複数の種類のデータを同時にバックアップする場合、プロセスデータのバックアップが完全か差分か、タスクデータのバックアップが完全か差分か、成果物データのバックアップが完全か差分か、はそれぞれ独立に選択できる。そして、データの種類毎に、完全バックアップまたは差分バックアップが実行される。
また、データの種類によって、データが1つのファイルに纏めて記録される場合と、複数のファイルに分散して記録される場合とが有り得る。例えば、プロセスデータとタスクデータは、それぞれ1つのファイルに記録しておくことが考えられる。一方、成果物データは、複数のファイル(例えば、仕様書ファイルと設計書ファイル)の集合であることが考えられる。ここで、前者と後者とではバックアップの具体的な方法が異なってもよい。
例えば、前者の種類のデータについては、完全バックアップでは1つのファイル全体をコピーし、差分バックアップではファイルに記載された内容の差分を算出して差分を示すデータを生成する方法が考えられる。一方、後者の種類のデータについては、完全バックアップでは全てのファイルをコピーし、差分バックアップでは複数のファイルのうち更新されたファイルをコピーする方法が考えられる。例えば、仕様書ファイルのみが更新された場合、完全バックアップでは仕様書ファイルと設計ファイルの両方をコピーし、差分バックアップでは更新された仕様書ファイルのみをコピーすることが考えられる。ただし、後者の種類のデータの差分バックアップでも、前者の種類の差分バックアップと同様に、ファイルに記載された内容の差分を算出して差分を示すデータを生成してもよい。
図10は、リポジトリのディレクトリ構造例を示す図である。リポジトリ110は、バックアップデータを管理するため、図10に示すような階層構造を有するディレクトリ50,51,51a,51b,51cを保持する。
ディレクトリ50は、ルートディレクトリである。ディレクトリ51は、ディレクトリ50の配下のディレクトリであり、“dat”という名前が付与されている。ディレクトリ51a,51b,51cは、ディレクトリ51の配下のディレクトリであり、それぞれ“process”,“task”,“result”という名前が付与されている。また、ディレクトリ51には、リビジョン管理テーブル115が格納されている。
ディレクトリ51aは、プロセスデータ111,111a,・・・とプロセスデータに関する更新ログテーブル116とを格納する。ディレクトリ51bは、タスクデータ112,112a,・・・とタスクデータに関する更新ログテーブル116aとを格納する。ディレクトリ51cは、成果物データ113,113a,114,114a・・・と成果物データに関する更新ログテーブル116bとを格納する。
図11は、制御テーブルのデータ構造例を示す図である。制御テーブル121は、制御データ記憶部120に格納される。制御テーブル121には、項番、ルール名および条件の項目が設けられている。各項目の横方向に並べられた情報同士が互いに関連付けられて、1つの制御ルールを示す情報を構成する。
項番の項目には、制御ルールのレコードを識別するための番号が設定される。ルール名の項目には、どの様な処理に関する判定ルールであるかを示す名称が設定される。条件の項目には、判定ルールの具体的な内容が設定される。
例えば、制御テーブル121には、項番が“1”、ルール名が“リビジョン更新判定ルール”、条件が“前回リビジョン更新から変更量30%以上”というレコードが記録される。これは、更新後のプロジェクト情報に新たなリビジョン番号を付与してバックアップを行うか否かを判定するためのルールである。そして、前リビジョンからの変更量が30%以上である場合に新たなリビジョン番号を付与する(すなわち、変更量が30%未満であれば新たなリビジョン番号を付与しない)ことを示している。
また、例えば、制御テーブル121には、項番が“2”、ルール名が“バックアップ取得判定ルール”、条件が“変更量が50%以上では完全バックアップ、変更量が50%未満では差分バックアップ”というレコードが記録される。これは、完全バックアップと差分バックアップの何れを実行するか判定するためのルールである。そして、データの種類毎に、前リビジョンからの変更量が50%以上か否かによって、何れのバックアップ方法を選択するか判定することを示している。変更量が50%以上の場合、完全バックアップが実行され、変更量が50%未満の場合、差分バックアップが実行される。
ここで、リビジョン更新判定ルールは、変更量算出部140により参照される。変更量算出部140は、データの種類毎に、リポジトリ110に格納された更新前後のデータを比較して変更量を算出することで、リビジョン更新判定ルールに従った判定を行う。変更量を算出する方法として、例えば、次のような方法が考えられる。
(1)プロセスデータでは、タスク数の増加・減少や予定日の変更が発生し得る。そこで、変更量算出部140は、更新前後のプロセスデータの間で変更があったレコードの数をカウントすることで、変更量を算出する方法が考えられる。例えば、更新後のプロセスデータに含まれる全レコードのうち、更新前のプロセスデータと同一のものが存在しないレコード(更新または追加されたレコード)の割合を算出することが考えられる。そして、上記の項番“1”の判定ルールに従えば、変更量算出部140は、算出した割合が30%以上であるか否かの判定を行う。
(2)タスクデータでは、作業内容およびタスク属性の追記・修正が発生し得る。そこで、変更量算出部140は、タスクデータに含まれる全項目(作業内容・開始日・進捗率・終了日など)のうち、更新前のタスクデータから変更があった項目の割合を算出することが考えられる。そして、上記の項番“1”の判定ルールに従えば、変更量算出部140は、算出した割合が30%以上であるか否かの判定を行う。
(3)成果物データでは、文章や図面などのデータを含むファイルの追加やファイルの内容の修正が発生し得る。そこで、変更量算出部140は、更新前の成果物データからのデータサイズの変更量を算出する方法が考えられる。また、更新前後のファイルの内容を分析し、文章の文字数や行数の変更量を算出する方法も考えられる。そして、上記の項番“1”の判定ルールに従えば、変更量算出部140は、算出した数量が更新前の成果物データの数量(データサイズ・文字数・行数など)全体の何パーセントに相当するか算出して、算出した割合が30%以上であるか否かの判定を行う。
また、バックアップ取得判定ルールは、データ管理部160により参照される。データ管理部160は、データの種類毎に、変更量算出部140が算出した変更量を用いてバックアップ取得判定ルールに従った判定を行う。上記の項番“2”の判定ルールに従えば、データ管理部160は、変更量が50%以上の場合には完全バックアップを選択し、変更量が50%未満の場合には差分バックアップを選択する。
なお、図11に示した判定ルールは一例であり、プロジェクト責任者は、制御テーブル121を更新することで、判定ルールを変更できる。例えば、リビジョン更新判定ルールの閾値を小さくすることで、短い時間間隔でリビジョン番号が更新され、プロジェクト情報の更新状況を細かく管理できるようになる。一方、リビジョン更新判定ルールの閾値を大きくすることで、バックアップが実行される時間間隔を長くでき、リポジトリ110の記憶領域を節約することができる。
また、リビジョン更新判定ルールでは、データの種類毎に閾値を変えてもよい。例えば、プロセスデータについては、更新量に拘わらずバックアップを実行する、という条件を設定してもよい。また、バックアップ取得判定ルールでは、経過期間やバックアップ回数に基づいて判定するようにしてもよい。例えば、前回完全バックアップを実行してから1ヶ月以上経過していれば、変更量に拘わらず完全バックアップを実行する、という条件を設定してもよい。また、差分バックアップを5回連続で実行した後は、変更量に拘わらず完全バックアップを実行する、という条件を設定してもよい。
同じ種類のルールとして複数の条件が設定された場合、これら複数の条件はOR(論理和)として適用することが考えられる。例えば、バックアップ取得判定ルールとして、図11に示した変更量基準、上記の経過期間基準およびバックアップ回数基準の3つの条件が規定されている場合、データ管理部160は、何れか1つの条件に合致すれば完全バックアップを実行すると判定するようにしてもよい。
次に、プロジェクト管理装置100で実行されるバックアップ処理を説明する。
図12は、バックアップ処理を示すフローチャートである。以下、図12に示す処理をステップ番号に沿って説明する。
(ステップS11)更新部130は、端末装置21,22,23からチェックインのコマンドを受け付ける。これにより、プロセスデータ、タスクデータおよび成果物データのうち少なくとも1種類のデータが更新されたことを認識する。更新部130は、データ更新が発生したことを変更量算出部140に通知する。その際、更新部130は、更新されたデータの種類を変更量算出部140に通知してもよい。
(ステップS12)変更量算出部140は、更新されたデータの種類を判定する。すなわち、更新されたデータが、プロセスデータ、タスクデータおよび成果物データの何れであるかを判定する。なお、複数の種類のデータが同時に更新されることも有り得る。
(ステップS13)変更量算出部140は、ステップS12で判定した種類について、更新後の最新のデータと1つ前のリビジョンのデータ(バックアップデータ)とを、リポジトリ110から取得する。そして、各種類のデータの変更量を算出する。変更量の算出方法は、図11で説明した方法を用いることができる。例えば、成果物データであれば、ファイルのデータサイズの増加量(または減少量)や、ファイル内の文字数や行数の増加量(または減少量)を算出する方法が考えられる。
(ステップS14)変更量算出部140は、制御データ記憶部120に記憶された制御テーブル121を参照して、リビジョン更新判定ルールを確認する。そして、変更量算出部140は、リビジョン更新判定ルールの条件に合致するか否か判定する。例えば、ステップS13で算出した変更量が30%以上か否か判定する。条件に合致する場合、処理をステップS15に進める。条件に合致しない場合、処理を終了する。なお、複数の種類のデータが更新されている場合、変更量算出部140はデータの種類毎に判定を行い、少なくとも1つの種類のデータについて条件に合致すれば、処理をステップS15に進める。
(ステップS15)リビジョン管理部150は、リポジトリ110に格納されたリビジョン管理テーブル115から、1つ前のリビジョン番号を取得する。そして、リビジョン番号に含まれる複数の桁の中で、ステップS14で条件に合致すると判定されたデータの種類に対応する桁を特定する。すなわち、プロセスデータであれば第1桁、タスクデータであれば第2桁、成果物データであれば第3桁を特定する。
(ステップS16)リビジョン管理部150は、ステップS15で特定した桁の数値をインクリメント(1だけ加算)した、新たなリビジョン番号を生成する。そして、リビジョン管理部150は、生成したリビジョン番号をデータ管理部160に通知する。ステップS14で条件に合致すると判定されたデータの種類が複数ある場合、複数の桁の数値がインクリメントされる。例えば、タスクデータの変更量と成果物データの変更量が共に30%以上であるとき、1つ前のリビジョン番号の第2桁と第3桁の数値がそれぞれインクリメントされる。
(ステップS17)データ管理部160は、制御テーブル121を参照して、バックアップ取得判定ルールを確認する。そして、データ管理部160は、バックアップ取得判定ルールの条件に合致するか否か判定する。例えば、ステップS13で算出した変更量が50%以上か否か判定する。条件に合致する場合(完全バックアップと判定される場合)、処理をステップS18に進める。条件に合致しない場合(差分バックアップと判定される場合)、処理をステップS19に進める。なお、バックアップを実行するデータの種類が複数ある場合、データの種類毎に判定を行う。
(ステップS18)データ管理部160は、ステップS17で条件に合致すると判定された種類のデータについて、完全バックアップを実行する。そして、処理をステップS20に進める。なお、完全バックアップの方法は、前述の方法を用いることができる。
(ステップS19)データ管理部160は、ステップS17で条件に合致しないと判定された種類のデータについて、差分バックアップを実行する。そして、処理をステップS20に進める。なお、差分バックアップの方法は、前述の方法を用いることができる。
(ステップS20)データ管理部160は、更新ログテーブル116,116a,116bのうち、バックアップを実行したデータの種類に対応する更新ログテーブルを更新する。また、リビジョン管理部150から通知されたリビジョン番号を、親番号(1つ前のリビジョン番号)および保存日時と併せてリビジョン管理テーブル115に設定する。
このようにして、リビジョン管理部150は、データの変更量が第1の条件を満たすとき、リビジョン番号の更新を行う。データ管理部160は、データの変更量が第2の条件を満たすか否かに応じて、更新後の最新データについて完全バックアップまたは差分バックアップを実行する。また、データ管理部160は、新たなリビジョン番号をバックアップデータと対応付けてリポジトリ110に記録する。
次に、プロジェクト管理装置100で実行されるバックアップデータ抽出処理を説明する。抽出部170は、更新ログテーブル116,116a,116bを参照することで、リビジョン番号に対応するプロジェクト情報(プロセスデータ、タスクデータおよび成果物データを含む)を抽出することができる。
図13は、バックアップデータ抽出処理を示すフローチャートである。以下、図13に示す処理をステップ番号に沿って説明する。
(ステップS21)抽出部170は、端末装置21,22,23からチェックアウトのコマンドを受け付ける。チェックアウトのコマンドには、所望のリビジョンを示すリビジョン番号が含まれる。ここでは、一例として、リビジョン番号=“1.5.2”が指定されたものとする。
(ステップS22)抽出部170は、ステップS21で取得したリビジョン番号から、第1桁の値を抽出する。リビジョン番号=“1.5.2”の場合、“1”を抽出する。
(ステップS23)抽出部170は、プロセスデータに関する更新ログテーブル116から、ステップS22で抽出した値に対応するリビジョンIDのレコードを検索する。そして、抽出部170は、検索されたレコードが示すファイル名のデータを、リポジトリ110から取得する。リビジョン番号=“1.5.2”の場合、リビジョンID=“v1”のレコードが検索され、“プロセスv1.dat”がリポジトリ110から取得される。
なお、抽出部170は、取得したデータが差分バックアップのデータである場合、その直近の完全バックアップまでのデータを遡って取得し、完全バックアップおよび差分バックアップのデータから、所望のリビジョンのプロセスデータを復元する。
(ステップS24)抽出部170は、ステップS21で取得したリビジョン番号から、第2桁の値を抽出する。リビジョン番号=“1.5.2”の場合、“5”を抽出する。
(ステップS25)抽出部170は、タスクデータに関する更新ログテーブル116aから、ステップS24で抽出した値に対応するリビジョンIDのレコードを検索する。そして、抽出部170は、検索されたレコードが示すファイル名のデータを、リポジトリ110から取得する。リビジョン番号=“1.5.2”の場合、リビジョンID=“v5”のレコードが検索され、“タスクv5.dat”がリポジトリ110から取得される。
なお、抽出部170は、取得したデータが差分バックアップのデータである場合、プロセスデータの場合と同様にして、所望のリビジョンのタスクデータを復元する。例えば、“タスクv5.dat”が差分バックアップのデータの場合、抽出部170は、完全バックアップのデータ“タスクv3.dat”と差分バックアップのデータ“タスクv4.dat”をリポジトリ110から更に取得する。そして、“タスクv3.dat”,“タスクv4.dat”,“タスクv5.dat”から、タスクデータを復元する。
(ステップS26)抽出部170は、ステップS21で取得したリビジョン番号から、第3桁の値を抽出する。リビジョン番号=“1.5.2”の場合、“2”を抽出する。
(ステップS27)抽出部170は、成果物データに関する更新ログテーブル116bから、ステップS26で抽出した値に対応するリビジョンIDのレコードを検索する。そして、抽出部170は、検索されたレコードが示すファイル名のデータを、リポジトリ110から取得する。リビジョン番号=“1.5.2”の場合、リビジョンID=“v2”のレコードが検索され、“仕様書v2.dat”がリポジトリ110から取得される。
なお、抽出部170は、取得したデータが差分バックアップのデータである場合、他の種類のデータの場合と同様に、所望のリビジョンの成果物データを復元する。例えば、“仕様書v2.dat”が差分バックアップのデータの場合、抽出部170は、完全バックアップのデータ“仕様書v1.dat”をリポジトリ110から更に取得する。そして、“仕様書v1.dat”,“仕様書v2.dat”から、成果物データを復元する。ただし、成果物データの差分バックアップがファイル単位で行われる場合は、“仕様書v1.dat”を“仕様書v2.dat”に置き換えることで、成果物データを復元できる。
(ステップS28)抽出部170は、ステップS23で取得したプロセスデータ、ステップS25で取得したタスクデータ、および、ステップS27で取得した成果物データを纏めて、プロジェクト情報として出力する。出力されたプロジェクト情報は、端末装置21,22,23に直接送信してもよい。また、表示処理部180が提供する操作画面上にプロジェクト情報へのリンクを作成し、ユーザの操作によりダウンロード可能な状態にしてもよい。また、プロジェクト情報の少なくとも一部の内容を含む表示画面を、表示処理部180が端末装置21,22,23に提供するようにしてもよい。
このようにして、抽出部170は、リビジョン番号を含むコマンドを受け付け、リビジョン番号に含まれる3桁の値を参照することで、3種類のデータを含むプロジェクト情報をリポジトリ110から抽出することができる。抽出されたプロジェクト情報は、リビジョン番号が示すリビジョンのプロジェクト情報(すなわち、過去のある時点におけるプロジェクト情報)である。ユーザは、例えば、端末装置21,22,23のモニタに表示されるリビジョン番号選択画面を見て、チェックアウトの操作を行うことができる。
図14は、リビジョン番号選択画面の例を示す図である。リビジョン番号選択画面200は、表示処理部180によって提供される操作画面であり、端末装置21,22,23のモニタに表示される。表示処理部180は、リポジトリ110に記憶されたリビジョン管理テーブル115に基づいて、リビジョン番号選択画面200を生成する。リビジョン番号選択画面200は、リビジョン情報表示領域210および取り出しボタン220を含む。
リビジョン情報表示領域210は、プロジェクト情報のリビジョン番号と、当該リビジョン番号が示すリビジョンについての情報とを対応付けて表示する表示領域である。具体的には、各リビジョンでのデータの更新状況(何れの種類のデータが更新されたか)や、各リビジョンのバックアップデータの保存日時の一覧が表示される。図14において、丸印(○)が付された種類のデータは、1つ前のリビジョンから更新されていることを示しており、ハイフン(−)が付された種類のデータは、1つ前のリビジョンから更新されていないことを示している。
また、リビジョン情報表示領域210内には、リビジョン番号を選択するためのチェックボックスが設けられている。ユーザは、入力デバイスを用いて、チェックボックスをオン/オフにする操作を行える。チェックボックスがオンになった状態(チェックマークが入力された状態)は、特定のリビジョン番号が選択された状態を示している。図14では、リビジョン番号“1.5.2”が選択されている。
取り出しボタン220は、リビジョン情報表示領域210で選択されたリビジョン番号に対応するプロジェクト情報を、プロジェクト管理装置100から取得するためのボタンである。ユーザの操作により取り出しボタン220が押下されると、端末装置21,22,23は、リビジョン情報表示領域210で選択されたリビジョン番号を含むチェックアウトのコマンドを、プロジェクト管理装置100に送信する。プロジェクト管理装置100の抽出部170は、チェックアウトのコマンドを受け付け、図13に示した方法で、選択されたリビジョン番号に対応するプロジェクト情報をリポジトリ110から抽出する。
このように、プロジェクト管理装置100は、リビジョン番号により複数の種類のデータの更新状況を管理する。リビジョン番号に含まれる3つの桁は、3種類のデータに対応している。このため、更新前のリビジョン番号と更新後のリビジョン番号とを比較することで、何れの種類のデータが更新されたかを容易に特定することができる。
このため、リビジョン番号選択画面200を参照し、リビジョン番号の各桁の変化を確認することで、データの種類毎の更新状況を容易に把握することができる。また、ある時点において、プロジェクト情報に含まれる複数の種類のデータがどの様な状態であったかを容易に確認することができる。その結果、過去のある時点におけるプロジェクト情報全体のレビューを容易に行えるようになる。
更に、データの変更量に応じて、バックアップの方法(完全バックアップまたは差分バックアップ)を自動的に選択することができる。このため、常に完全バックアップを実行する方法に比べて、バックアップデータを記憶するための記憶領域を節約できる。また、最初に完全バックアップを実行した後は常に差分バックアップを実行する方法と比べて、任意のリビジョンのプロジェクト情報を復元する処理の負荷が抑制される。
1 更新管理装置
1a 記憶手段
1b 検出手段
1c 管理手段
2,2a データ集合
3,3a 記号列

Claims (6)

  1. 複数の種類のデータを含むデータ集合の更新を管理する更新管理装置であって、
    記憶装置に格納された前記データ集合の中の1またはそれ以上の種類のデータの更新を検出する検出手段と、
    検出結果に応じて、前記複数の種類に対応する複数の部分を含む記号列を生成し、前記データ集合の版数を示す情報として前記記憶装置に格納する管理手段と、を有し、
    前記管理手段は、更新前の版数を示す記号列から、前記複数の部分のうち更新が検出されたデータの種類に対応する部分の記号を変更し、更新後の版数を示す記号列とする、
    ことを特徴とする更新管理装置。
  2. 前記管理手段は、前記複数の部分のうち更新が検出されなかったデータの種類に対応する部分の記号を変更しないことを特徴とする請求項1記載の更新管理装置。
  3. 前記管理手段は、前記データ集合に含まれるデータの少なくとも一部を複製し、複製したデータと生成した前記更新後の版数を示す記号列とを対応付けて前記記憶装置に格納することを特徴とする請求項1または2記載の更新管理装置。
  4. 前記記憶装置では、前記複数の種類のデータの更新履歴がデータの種類毎に管理され、
    前記データ集合の版数を示す記号列が入力されると、データの種類毎に、入力された記号列に含まれる当該種類に対応する部分の記号に基づいて前記記憶装置からデータを抽出する抽出手段を更に有する、
    ことを特徴とする請求項1乃至3の何れか一項に記載の更新管理装置。
  5. 複数の種類のデータを含むデータ集合の更新を管理するコンピュータによって実行される更新管理方法であって、
    記憶装置に格納された前記データ集合の中の1またはそれ以上の種類のデータの更新を検出し、
    検出結果に応じて、前記複数の種類に対応する複数の部分を含む記号列を生成し、前記データ集合の版数を示す情報として前記記憶装置に格納する、処理を含み、
    記号列の生成では、更新前の版数を示す記号列から、前記複数の部分のうち更新が検出されたデータの種類に対応する部分の記号を変更し、更新後の版数を示す記号列とする、
    ことを特徴とする更新管理方法。
  6. 複数の種類のデータを含むデータ集合の更新を管理する更新管理プログラムであって、コンピュータに、
    記憶装置に格納された前記データ集合の中の1またはそれ以上の種類のデータの更新を検出し、
    検出結果に応じて、前記複数の種類に対応する複数の部分を含む記号列を生成し、前記データ集合の版数を示す情報として前記記憶装置に格納する、処理を実行させ、
    記号列の生成では、更新前の版数を示す記号列から、前記複数の部分のうち更新が検出されたデータの種類に対応する部分の記号を変更し、更新後の版数を示す記号列とする、
    ことを特徴とする更新管理プログラム。
JP2010226510A 2010-10-06 2010-10-06 更新管理装置、更新管理方法および更新管理プログラム Expired - Fee Related JP5630190B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2010226510A JP5630190B2 (ja) 2010-10-06 2010-10-06 更新管理装置、更新管理方法および更新管理プログラム
US13/225,692 US20120089580A1 (en) 2010-10-06 2011-09-06 Update management apparatus, update management method, and computer-readable medium storing update management program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010226510A JP5630190B2 (ja) 2010-10-06 2010-10-06 更新管理装置、更新管理方法および更新管理プログラム

Publications (2)

Publication Number Publication Date
JP2012079259A true JP2012079259A (ja) 2012-04-19
JP5630190B2 JP5630190B2 (ja) 2014-11-26

Family

ID=45925918

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010226510A Expired - Fee Related JP5630190B2 (ja) 2010-10-06 2010-10-06 更新管理装置、更新管理方法および更新管理プログラム

Country Status (2)

Country Link
US (1) US20120089580A1 (ja)
JP (1) JP5630190B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170137756A (ko) * 2015-03-20 2017-12-13 디앤비 비지니스 인포메이션 솔루션스 다수의 중첩하는 소스들로부터 대량의 시간적 데이터의 어그리게이트
JP2020522779A (ja) * 2017-06-06 2020-07-30 アビニシオ テクノロジー エルエルシー ルールを編集、シミュレート、バージョン制御、及びビジネスプロセス管理する統合システム

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120266063A1 (en) * 2011-04-13 2012-10-18 Bushnell Christopher G Systems and Methods for Creating and Maintaining a Customized Version of a Master Document
US9846696B2 (en) 2012-02-29 2017-12-19 Telefonaktiebolaget Lm Ericsson (Publ) Apparatus and methods for indexing multimedia content
US9633015B2 (en) * 2012-07-26 2017-04-25 Telefonaktiebolaget Lm Ericsson (Publ) Apparatus and methods for user generated content indexing
US9164691B1 (en) * 2013-03-15 2015-10-20 Emc Corporation Intelligent configuration for snapshot based backups
US10445367B2 (en) 2013-05-14 2019-10-15 Telefonaktiebolaget Lm Ericsson (Publ) Search engine for textual content and non-textual content
JP6248435B2 (ja) * 2013-07-04 2017-12-20 富士通株式会社 ストレージ装置、およびストレージ装置の制御方法
CN105493436B (zh) 2013-08-29 2019-09-10 瑞典爱立信有限公司 用于向授权用户分发内容项目的方法、内容拥有者设备
US10311038B2 (en) 2013-08-29 2019-06-04 Telefonaktiebolaget Lm Ericsson (Publ) Methods, computer program, computer program product and indexing systems for indexing or updating index
US9747309B1 (en) * 2013-12-23 2017-08-29 EMC IP Holding Company LLC Auto-determining backup level
US10083299B2 (en) * 2015-12-16 2018-09-25 Carbonite, Inc. Systems and methods for automatic snapshotting of backups based on malicious modification detection

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02287730A (ja) * 1989-04-28 1990-11-27 Hitachi Ltd 履歴管理方式
JPH0588867A (ja) * 1991-09-27 1993-04-09 Toshiba Corp ソフトウエア構成管理方式
JPH06187206A (ja) * 1992-12-21 1994-07-08 Fuji Xerox Co Ltd ファイル管理装置
JPH08171482A (ja) * 1994-10-29 1996-07-02 Mitsubishi Electric Corp プログラムのバージョン生成方式
JPH09128279A (ja) * 1995-10-31 1997-05-16 Toshiba Corp バージョン情報管理装置
JPH11143754A (ja) * 1997-11-05 1999-05-28 Hitachi Ltd バージョン情報・構成情報表示方法および装置およびバージョン情報・構成情報表示プログラムを記録したコンピュータ読み取り可能な記録媒体
JPH11327878A (ja) * 1998-05-18 1999-11-30 Nec Corp プログラムのバージョン管理装置および方法
JP2004139588A (ja) * 2002-09-25 2004-05-13 Smg Kk プロジェクト管理装置、プロジェクト管理システムおよびプログラム
JP2009288826A (ja) * 2008-05-27 2009-12-10 Hitachi Ltd ドキュメントバージョン管理システム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7756825B2 (en) * 2003-07-31 2010-07-13 Microsoft Corporation Synchronization peer participant model
US8165994B2 (en) * 2007-12-19 2012-04-24 Microsoft Corporation Integrated governance and version audit logging

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02287730A (ja) * 1989-04-28 1990-11-27 Hitachi Ltd 履歴管理方式
JPH0588867A (ja) * 1991-09-27 1993-04-09 Toshiba Corp ソフトウエア構成管理方式
JPH06187206A (ja) * 1992-12-21 1994-07-08 Fuji Xerox Co Ltd ファイル管理装置
JPH08171482A (ja) * 1994-10-29 1996-07-02 Mitsubishi Electric Corp プログラムのバージョン生成方式
JPH09128279A (ja) * 1995-10-31 1997-05-16 Toshiba Corp バージョン情報管理装置
JPH11143754A (ja) * 1997-11-05 1999-05-28 Hitachi Ltd バージョン情報・構成情報表示方法および装置およびバージョン情報・構成情報表示プログラムを記録したコンピュータ読み取り可能な記録媒体
JPH11327878A (ja) * 1998-05-18 1999-11-30 Nec Corp プログラムのバージョン管理装置および方法
JP2004139588A (ja) * 2002-09-25 2004-05-13 Smg Kk プロジェクト管理装置、プロジェクト管理システムおよびプログラム
JP2009288826A (ja) * 2008-05-27 2009-12-10 Hitachi Ltd ドキュメントバージョン管理システム

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170137756A (ko) * 2015-03-20 2017-12-13 디앤비 비지니스 인포메이션 솔루션스 다수의 중첩하는 소스들로부터 대량의 시간적 데이터의 어그리게이트
JP2018514886A (ja) * 2015-03-20 2018-06-07 ディー アンド ビー ビジネス インフォメーション ソリューションズD&B Business Information Solutions 多数の重複するソースからの大量の時間データの集計
KR102011354B1 (ko) 2015-03-20 2019-08-16 디앤비 비지니스 인포메이션 솔루션스 다수의 중첩하는 소스들로부터 대량의 시간적 데이터의 어그리게이트
JP2020522779A (ja) * 2017-06-06 2020-07-30 アビニシオ テクノロジー エルエルシー ルールを編集、シミュレート、バージョン制御、及びビジネスプロセス管理する統合システム
JP7361609B2 (ja) 2017-06-06 2023-10-16 アビニシオ テクノロジー エルエルシー ルールを編集、シミュレート、バージョン制御、及びビジネスプロセス管理する統合システム

Also Published As

Publication number Publication date
JP5630190B2 (ja) 2014-11-26
US20120089580A1 (en) 2012-04-12

Similar Documents

Publication Publication Date Title
JP5630190B2 (ja) 更新管理装置、更新管理方法および更新管理プログラム
US8121981B2 (en) Database snapshot management
JP2009187136A (ja) 電子ファイル管理装置および電子ファイル管理方法
JP6238983B2 (ja) 開いているファイルの履歴閲覧
CN101167058B (zh) 用于恢复文件的设备、方法和系统
JP2019159556A (ja) Rpa保守支援装置及びrpa保守支援プログラム
JP2004078505A (ja) データベース操作履歴管理装置、データベース操作履歴管理方法、およびデータベース操作履歴管理プログラム
US10721305B2 (en) Presenting content using decoupled presentation resources
CN110119386B (zh) 数据处理方法、数据处理装置、介质和计算设备
US7376946B2 (en) Program management method for computer to which storage medium is attached, computer and storage medium
JP2008532103A (ja) ポータブル装置のコンテンツを更新する方法
JPWO2010044150A1 (ja) プログラム変更管理装置、プログラム変更管理プログラムおよびプログラム変更管理方法
CN114816470A (zh) 元数据库的管理方法、装置、电子设备和介质
JP5240086B2 (ja) データ管理プログラム
JP2019197405A (ja) プロジェクト状況管理装置、プロジェクト状況管理プログラム及びプロジェクト状況管理方法
JP7381290B2 (ja) 計算機システム及びデータの管理方法
JP2013171447A (ja) 情報処理装置及び情報処理プログラム
WO2016120989A1 (ja) 管理計算機及びルールの試験方法
JP2005301465A (ja) ソフトウェア資産管理方法およびシステム
JP2009176119A (ja) ファイル利用状況判定システム
US11921688B2 (en) Environment construction support device and environment construction support method
JP7021401B1 (ja) ロギング支援装置、ロギングシステム、ロギング支援方法及びプログラム
JP2019101829A (ja) ソフトウェア部品管理システム、計算機および方法
JP5076621B2 (ja) 特許分析プログラム、特許分析方法および特許分析装置
JP2011070369A (ja) データベース統合装置およびデータベース統合方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130805

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140121

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140204

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140909

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140922

R150 Certificate of patent or registration of utility model

Ref document number: 5630190

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees