説明

分散型構成管理装置

【課題】分散開発を行う際、重複したソースプログラムの作成や改版を防ぐ分散型構成管理を提供する。
【解決手段】本分散型構成管理装置は、複数のサーバについて、各サーバにあるソースライブラリと、当該ソースライブラリを利用可能な利用者名と、当該ソースライブラリ内の各ソースファイル毎に当該各ソースファイルを利用可能な利用者名とを管理する分散管理データベースと、利用者からソースファイルの読み込み又は書き込み要求を受け付けるライブラリ管理制御部であって、前記要求を受け付けると、分散管理データベースを参照し、要求されたソースファイルを利用可能な利用者名を取得し、利用者に利用権があるかを判断するライブラリ管理制御部と、を備える。これにより、分散開発を行う際、全てのサーバを統括する管理制御を組み込むことにより、重複したソースプログラムの作成や改版を防ぐ。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、分散してプログラム等の開発を行う際の分散型構成管理に関する。
【背景技術】
【0002】
プログラム開発において、個々の開発環境毎に構成管理が行われていると、別の開発環境で改修されたプログラムソースを確認することができないため、誤って、同一のプログラム名のソースを別々に改修できてしまい、修正工数のムダおよび改修の内容が把握できないためプログラム品質が確保できないという事象が発生する。
【0003】
例えば、特許文献1には、ソースライブラリとディレクトリデータをマスターサーバで一元的に管理するシステムが開示されている。特許文献1によれば、ソースライブラリのディレクトリを一定時間毎に各サーバに配信することによって、ソースファイル(プログラムソース)をマスターサーバから他のサーバにチェックアウトし、ソースプログラムを修正し、管理者がマスターサーバにチェックインする。これにより、特許文献1は、同一名のソースファイルを各サーバ上に散在させることができるが、同一のソースファイル名のチェックまではできない。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2005−078157号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、ソフトウェア開発では、構成管理としてソースコードや文書などの成果物の変更履歴を管理するが、管理対象として特定されたライブラリを対象としているため、分散して開発を行う場合などは管理対象が個々に存在する。同一のプログラム名が別の分散開発環境内に存在していても総合的な管理がされていないため人手によるチェックが必要となり一元的な管理が必要となる。
【0006】
例えば、複数のサーバを利用して大規模なシステムを開発する場合などは個々のサーバにソースライブラリを作成し開発するが、システムとして一元管理されていないため、ソースライブラリ内に同一のソースファイルが存在する場合がある。このように、分散開発によるソフトウェアの開発を行う際、各サーバ毎に成果物が管理されるため、重複したソースプログラムが他のサーバに存在したり、サーバ毎に異なった修正が行われる可能性がある。
【0007】
本発明は、かかる実情に鑑み、分散開発を行う際、重複したソースプログラムの作成や改版を防ぐ分散型構成管理を提供しようとするものである。
【課題を解決するための手段】
【0008】
本発明の一実施形態における分散型構成管理装置によれば、複数のサーバについて、各サーバにあるソースライブラリと、当該ソースライブラリを利用可能な利用者名と、当該ソースライブラリ内の各ソースファイル毎に当該各ソースファイルを利用可能な利用者名とを管理する分散管理データベースと、利用者からソースファイルの読み込み又は書き込み要求を受け付けるライブラリ管理制御部であって、前記要求を受け付けると、分散管理データベースを参照し、要求されたソースファイルを利用可能な利用者名を取得し、利用者に利用権があるかを判断するライブラリ管理制御部と、を備える。これにより、分散開発を行う際、全てのサーバを統括する管理制御を組み込むことにより、重複したソースプログラムの作成や改版を防ぐものである。
【0009】
好適には、ライブラリ管理制御部は、利用者に利用権がある場合、ソースファイルの読み込み又は書き込みを行う。また、タイムスタンプ、サーバ名、ソースライブラリ名、ソースファイル名及び利用者名を含む履歴情報を管理する構成管理データベースをさらに備え、ライブラリ管理制御部は、利用者に利用権がある場合、履歴情報を構成管理データベースに登録することが好ましい。さらに好適には、分散管理データベースに、各サーバのサーバ名、ソースライブラリ名、ソースファイル名、及び、利用ユーザを含む情報を登録する。
【0010】
また、本発明の一実施形態における構成管理方法によれば、分散管理制御部が、複数のサーバについて、各サーバにあるソースライブラリと、当該ソースライブラリを利用可能な利用者名と、当該ソースライブラリ内の各ソースファイル毎に当該各ソースファイルを利用可能な利用者名とを分散管理データベースに登録するステップと、ライブラリ管理制御部が、利用者からソースファイルの読み込み又は書き込み要求を受け付けるステップと、ライブラリ管理制御部が、分散管理データベースを参照し、要求されたソースファイルを利用可能な利用者名を取得し、利用者に利用権があるかを判断するステップと、を備える。
【発明の効果】
【0011】
本発明の所定の態様によれば、複数のソースライブラリが存在する分散開発環境においても一元的で統一的な構成管理を行うことができるため、システム開発を行う任意のサーバおよびソースライブラリを一元的に管理し、同一プログラム名の重複利用を排除し、プログラムソースの不正改修を管理できるという優れた効果を奏し得る。
【0012】
つまり、本発明の所定の態様によれば、同一サーバ内に複数のソースライブラリがあっても一元的に構成管理ができ、複数のサーバを利用した開発に於いても一元的に構成管理ができる。ソースライブラリ毎またはソースライブラリ内のソースファイル毎に利用権チェックができる。システム内には一時的にも同一のソースファイルを作成することはない。
【図面の簡単な説明】
【0013】
【図1】本発明の一実施形態に係る分散型構成管理装置の概略構成を示すブロック図である。
【図2】本実施形態に係る分散管理データベース19を作成する処理フローの一例を示す。
【図3】本実施形態に係るエディタ17からの要求により、ライブラリ管理制御部16が行う分散型構成管理の処理フローの一例を示す。
【図4】本実施形態に係る分散管理データベース19に登録される情報の構成を示す図である。
【図5】本実施形態に係る構成管理データベース11に登録される情報の構成の一例を示す図である。
【発明を実施するための形態】
【0014】
以下、本発明の実施の形態について図面を参照しつつ詳細に説明する。なお、同一の要素には同一の符号を付し、重複する説明を省略する。
【0015】
図1は、本発明の一実施形態に係る分散型構成管理装置の概略構成を示すブロック図である。同図に示すように、本実施形態において、分散型構成管理装置1は、分散開発を行うサーバ1−1、1−2、・・・、1−nと、端末15から入手した各サーバ内にあるソースライブラリ名、ソースライブラリ内のソースファィル名および利用権を分散管理データベース19に登録する分散管理制御部14と、エディタ17からソースライブラリ18内のソースファィルの読み込みおよび書き込みを受け付けるライブラリ管理制御部16とを備えている。
【0016】
分散管理制御部14は各サーバにあるソースライブラリと、そのソースライブラリを参照および更新する利用者名またはソースライブラリ内のソースファイルを参照および更新する利用者名とを、端末15から入手し、分散管理データベース19を作成する。
【0017】
ライブラリ管理制御部16はソースライブラリ18内のソースファイルの読み取り要求をエディタ17から受け付けると、分散管理データベース19を参照し、要求されたソースライブラリまたはソースファイルをアクセスする利用者名を取得し、利用権があるかをチェックする。利用権がある場合はソースライブラリ18内からソースファィルを読み取り(チェックアウト)、エディタ17に払い出す。その際、ライブラリ管理制御部16は、構成管理データベース11に管理情報を登録する。管理情報としては、タイムスタンプとサーバ名とソースライブラリ名とソースファイル名と利用者名とを含むことが好ましい。
【0018】
ライブラリ管理制御部16はソースライブラリ18内へソースファイルの書き込み要求をエディタ17から受け付けると、分散管理データベース19を参照し要求されたソースライブラリまたはソースファイルのアクセス権限をチェックする。権限がある場合は、構成管理データベース11に要求を受け付けたソースファィルがチェックアウトされていたか、またはサーバ内および他のサーバ内に同一のソースファイル名が存在していないかをチェックし、名前の重複がない場合は、ソースファィルの置き換え(チェックイン)を行う。その際、ライブラリ管理制御部16は構成管理データベース11に管理情報を登録する。なお、要求が満たされていない場合は、要求を拒否する。
【0019】
次に、図2及び図3を参照して本実施形態の動作について詳細に説明する。
【0020】
図2は、本実施形態に係る分散管理データベース19を作成する処理フローの一例を示す。まず、分散管理制御部14は、各サーバの情報を取得する(S21)。取得する情報としては、サーバ名、ソースライブラリ名、ソースファイル名及び利用ユーザを含む。分散管理制御部14は、ステップS21で取得した情報に基づいて、サーバ毎の情報を分散管理データベース19に登録する(S22)。
【0021】
図3は、本実施形態に係るエディタ17からの要求により、ライブラリ管理制御部16が行う分散型構成管理の処理フローの一例を示す。まず、ライブラリ管理制御部16は、エディタ17からの要求の依頼内容を確認する(S31)。依頼内容が、ソースファイルのチェックアウト要求である場合、ライブラリ管理制御部16は、分散管理データベース19を参照し、利用者に、要求されたソースライブラリまたはソースファイルの利用権があるかを判断する(S32)。利用権がある場合、構成管理データベース11に履歴を登録する(S33)。登録する履歴情報としては、タイムスタンプ、サーバ名、ソースライブラリ名、ソースファイル名及び利用者名を含む。そして、ソースライブラリ18内からソースファイルを読み取り(チェックアウト)、エディタ17に払い出す(S34)。一方、ステップS32において利用権がない場合、エディタ17からのチェックアウト要求を拒否する(S35)。
【0022】
ステップS31において、エディタ17からの依頼内容が、ソースファイルのチェックイン要求である場合、ライブラリ管理制御部16は、分散管理データベース19を参照し、利用者に、要求されたソースライブラリまたはソースファイルの利用権があるかを判断する(S36)。利用権がある場合、要求を受けたソースファイルがチェックアウトされていたかを判断する(S37)。チェックアウトされていた場合、サーバ内および他のサーバ内に同一のソースファイル名が重複して存在していないかを判断する(S38)。重複がない場合、構成管理データベース11に履歴を登録する(S39)。登録する履歴情報としては、タイムスタンプ、サーバ名、ライブラリ名、ソースファイル名及び利用者名を含む。そして、ソースライブラリ18に対してソースファィルの上書き(チェックイン)を行う(S40)。
【0023】
また、ステップS37において、チェックアウトされていなかった場合、ライブラリ管理制御部16は、ソースファイルが存在するかを確認する(S43、S44)。ソースファイルが存在しない場合には、構成管理データベース11に履歴を登録する(S45)。登録する履歴情報としては、タイムスタンプ、サーバ名、ライブラリ名、ソースファイル名及び利用者名を含む。そして、ソースライブラリ18に、ソースファイルの新規登録を行う(S46)。
【0024】
一方、ステップS36において利用権がない場合、ステップS38においてソースファイル名が重複していた場合、または、ステップS44においてソースファイルが存在する場合、エディタ17からのチェックイン要求を拒否する(それぞれS41、S42、S47)。
【0025】
図4は、本実施形態に係る分散管理データベース19に登録される情報の構成を示す図である。分散管理データベース19には、各サーバ1−n内にあるソースライブラリ名、ソースライブラリ内のソースファィル名および利用権が登録されている。本実施形態においては、同図に示すように、各サーバ毎に、サーバ情報1−nが登録されている。各サーバ情報は、サーバ名と、アドレスと、サーバ内あるソースライブラリの情報を含む。ソースライブラリの情報は、ソースライブラリ名と利用者、及び、各ソースファイル名とその利用者名とが登録されている。
【0026】
図5は、本実施形態に係る構成管理データベース11に登録される情報の構成の一例を示す図である。本実施形態においては、同図に示すように、構成管理データベース11は、タイムスタンプと、サーバ名と、ソースライブラリ名と、ソースファイル名と、アクションを、利用者名とが対応付けて記録されている。
【0027】
なお、本発明は、上記した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内において、他の様々な形で実施することができる。このため、上記実施形態はあらゆる点で単なる例示にすぎず、限定的に解釈されるものではない。例えば、上述の各処理ステップは処理内容に矛盾を生じない範囲で任意に順番を変更して又は並列に実行することができる。
【0028】
上記の実施形態の一部又は全部は、以下の付記のようにも記載され得るが、以下には限
られない。
【0029】
(付記1)複数のサーバについて、各サーバにあるソースライブラリと、当該ソースライブラリを利用可能な利用者名と、当該ソースライブラリ内の各ソースファイル毎に当該各ソースファイルを利用可能な利用者名とを管理する分散管理データベースと、利用者からソースファイルの読み込み又は書き込み要求を受け付けるライブラリ管理制御部であって、前記要求を受け付けると、前記分散管理データベースを参照し、要求されたソースファイルを利用可能な利用者名を取得し、前記利用者に利用権があるかを判断するライブラリ管理制御部と、を備える構成管理装置。
【0030】
(付記2)前記ライブラリ管理制御部は、前記利用者に利用権がある場合、ソースファイルの読み込み又は書き込みを行うことを特徴とする付記1に記載の構成管理装置。
【0031】
(付記3)タイムスタンプ、サーバ名、ソースライブラリ名、ソースファイル名及び利用者名を含む履歴情報を管理する構成管理データベースをさらに備え、前記ライブラリ管理制御部は、前記利用者に利用権がある場合、履歴情報を前記構成管理データベースに登録することを特徴とする付記1又は2に記載の構成管理装置。
【0032】
(付記4)前記分散管理データベースに、各サーバのサーバ名、ソースライブラリ名、ソースファイル名、及び、利用ユーザを含む情報を登録する付記1ないし3のいずれかに記載の構成管理装置。
【0033】
(付記5)分散管理制御部が、複数のサーバについて、各サーバにあるソースライブラリと、当該ソースライブラリを利用可能な利用者名と、当該ソースライブラリ内の各ソースファイル毎に当該各ソースファイルを利用可能な利用者名とを分散管理データベースに登録するステップと、ライブラリ管理制御部が、利用者からソースファイルの読み込み又は書き込み要求を受け付けるステップと、前記ライブラリ管理制御部が、前記分散管理データベースを参照し、要求されたソースファイルを利用可能な利用者名を取得し、前記利用者に利用権があるかを判断するステップと、を備える構成管理方法。
【符号の説明】
【0034】
1 分散型構成管理装置、1−1〜1−n サーバ、11 構成管理データベース、14 分散管理制御部、15 端末、16 ライブラリ管理制御部、17 エディタ、18 ソースライブラリ、19 分散管理データベース

【特許請求の範囲】
【請求項1】
複数のサーバについて、各サーバにあるソースライブラリと、当該ソースライブラリを利用可能な利用者名と、当該ソースライブラリ内の各ソースファイル毎に当該各ソースファイルを利用可能な利用者名とを管理する分散管理データベースと、
利用者からソースファイルの読み込み又は書き込み要求を受け付けるライブラリ管理制御部であって、前記要求を受け付けると、前記分散管理データベースを参照し、要求されたソースファイルを利用可能な利用者名を取得し、前記利用者に利用権があるかを判断するライブラリ管理制御部と、
を備える構成管理装置。
【請求項2】
前記ライブラリ管理制御部は、前記利用者に利用権がある場合、ソースファイルの読み込み又は書き込みを行うことを特徴とする請求項1記載の構成管理装置。
【請求項3】
タイムスタンプ、サーバ名、ソースライブラリ名、ソースファイル名及び利用者名を含む履歴情報を管理する構成管理データベースをさらに備え、
前記ライブラリ管理制御部は、前記利用者に利用権がある場合、履歴情報を前記構成管理データベースに登録することを特徴とする請求項1又は2に記載の構成管理装置。
【請求項4】
前記分散管理データベースに、各サーバのサーバ名、ソースライブラリ名、ソースファイル名、及び、利用ユーザを含む情報を登録する請求項1ないし3のいずれかに記載の構成管理装置。
【請求項5】
分散管理制御部が、複数のサーバについて、各サーバにあるソースライブラリと、当該ソースライブラリを利用可能な利用者名と、当該ソースライブラリ内の各ソースファイル毎に当該各ソースファイルを利用可能な利用者名とを分散管理データベースに登録するステップと、
ライブラリ管理制御部が、利用者からソースファイルの読み込み又は書き込み要求を受け付けるステップと、
前記ライブラリ管理制御部が、前記分散管理データベースを参照し、要求されたソースファイルを利用可能な利用者名を取得し、前記利用者に利用権があるかを判断するステップと、
を備える構成管理方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate


【公開番号】特開2013−109647(P2013−109647A)
【公開日】平成25年6月6日(2013.6.6)
【国際特許分類】
【出願番号】特願2011−255228(P2011−255228)
【出願日】平成23年11月22日(2011.11.22)
【出願人】(000004237)日本電気株式会社 (19,353)
【Fターム(参考)】