JP2011034124A - リポジトリ管理装置、リポジトリ管理方法及びリポジトリ管理プログラム - Google Patents

リポジトリ管理装置、リポジトリ管理方法及びリポジトリ管理プログラム Download PDF

Info

Publication number
JP2011034124A
JP2011034124A JP2009176653A JP2009176653A JP2011034124A JP 2011034124 A JP2011034124 A JP 2011034124A JP 2009176653 A JP2009176653 A JP 2009176653A JP 2009176653 A JP2009176653 A JP 2009176653A JP 2011034124 A JP2011034124 A JP 2011034124A
Authority
JP
Japan
Prior art keywords
editing
unit
element information
edited
editing unit
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
JP2009176653A
Other languages
English (en)
Other versions
JP5375410B2 (ja
Inventor
Kuniharu Takayama
訓治 高山
Yuji Mizobuchi
裕司 溝渕
Tadahiro Uehara
忠弘 上原
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 JP2009176653A priority Critical patent/JP5375410B2/ja
Publication of JP2011034124A publication Critical patent/JP2011034124A/ja
Application granted granted Critical
Publication of JP5375410B2 publication Critical patent/JP5375410B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】排他制御において共有情報の整合性を確保しつつリポジトリに対する処理時間を抑制可能なリポジトリ管理装置、リポジトリ管理方法及びリポジトリ管理プログラムを提供することを目的とする。
【解決手段】リポジトリ管理装置10であって、第1記録手段37を参照し、編集対象の編集単位で排他制御する手段32と、利用者による編集の結果に応じて編集対象の編集単位の変更箇所を記録する第2記録手段38と、編集の結果に応じて編集対象の編集単位と要素情報との関係を記録する第3記録手段39と、第2記録手段38及び第3記録手段39を参照し、第1記録手段37に記録されている編集単位間の共有関係の変更部分を更新する更新手段とを有することにより上記課題を解決する。
【選択図】 図3

Description

本発明は、リポジトリ管理装置、リポジトリ管理方法及びリポジトリ管理プログラムに係り、特にリポジトリの排他制御を管理するリポジトリ管理装置、リポジトリ管理方法及びリポジトリ管理プログラムに関する。
リポジトリとは、データ,プログラムなどの情報を体系的に管理するための格納庫のことである。リポジトリでは情報が要素(以下、要素情報という)ごとに管理される。要素情報は、いくつかのグループ(以下、編集単位という)ごとに一括して編集されることもある。要素情報の編集は多人数によって並行して実施されることが多かった。
リポジトリにおいて、並行編集時に不整合が生じないようにする為の基本的な方法としては個々の要素情報ごとに排他制御を行うものがあった。排他制御とは、ある者が編集している要素情報を他者が編集できないようにロックするものである。しかし、個々の要素情報ごとに排他制御を行う方法は、要素情報の数が多数になると、ロック/アンロックの確認や実施に要する時間も多大になり、リポジトリに対する処理時間が増大する。
従来は、リポジトリに対する処理時間を抑制するため、例えば以下のような方法が知られている。第1の方法は、処理格納庫を分類・階層化し、要求に応じて適切な分類・階層で排他制御するものである(例えば特許文献1参照)。
また、第2の方法は、データの整合性とアクセスの容易性の観点から、データを個別に格納するか、1つのファイルにまとめて一括して格納するかを、利用者が選択できるものである(例えば特許文献2参照)。また、第3の方法は、親子関係にあるオブジェクトを一括して排他制御するものである(例えば特許文献3参照)。
特開昭62−282337号公報 特開平5−158777号公報 特開平11−85597号公報
しかしながら、上記した従来の第1〜第3の方法は、複数の集合(第1の方法における分類・階層、第2の方法におけるファイル、第3の方法における親子関係)間に共有情報がある場合について、排他制御ができない。特に、従来の第2の方法は複数のファイル間に共有情報がある場合、処理時間を抑制するために本来一元管理すべき共有情報を複数のファイルで別々に管理するが、共有情報の整合性を確保できない。
このように、上記した従来の方法は、ある集合ごとに排他制御するとき、複数の集合間に共有情報があると、共有情報の整合性を確保しつつ、リポジトリに対する処理時間を抑制できないという問題があった。
本発明の一実施形態は、上記の点に鑑みなされたもので、排他制御において共有情報の整合性を確保しつつリポジトリに対する処理時間を抑制可能なリポジトリ管理装置、リポジトリ管理方法及びリポジトリ管理プログラムを提供することを目的とする。
上記課題を解決するため、本発明の一実施形態は、リポジトリに格納されている要素情報を編集単位で排他制御するリポジトリ管理装置であって、前記編集単位間の共有関係を記録した第1記録手段を参照し、編集対象の前記編集単位及び前記編集対象の前記編集単位と共有関係にある他の編集単位が共に編集可能であるときに、前記要素情報を前記編集対象の前記編集単位で排他制御する編集単位総括排他制御手段と、利用者による要素情報に対する編集の結果に応じて前記編集対象の前記編集単位の変更箇所を記録する第2記録手段と、前記編集の結果に応じて前記編集対象の前記編集単位と前記要素情報との関係を記録する第3記録手段と、前記第2及び第3記録手段を参照し、前記第1記録手段に記録されている前記編集単位間の共有関係の変更部分を更新する更新手段とを有する。
なお、本発明の一実施形態の構成要素、表現または構成要素の任意の組合せを、方法、装置、システム、コンピュータプログラム、記録媒体、データ構造などに適用したものも本発明の態様として有効である。
上述の如く、本発明の一実施形態によれば、排他制御において共有情報の整合性を確保しつつリポジトリに対する処理時間を抑制できる。
本実施例のリポジトリ管理システムの一例のシステム構成図である。 本実施例のリポジトリ管理システムの一例のハードウェア構成図である。 本実施例のリポジトリ管理システムの一例のブロック構成図である。 リポジトリ管理装置の編集開始の処理手順を表すフローチャートである。 編集要求,編集返答及び要素単位編集要求の一例を表したデータ構造図である。 リポジトリ管理装置の編集中の処理手順を表すフローチャートである。 リポジトリ管理装置の編集終了の処理手順を表すフローチャートである。 本実施例のリポジトリ管理システムにおける編集単位ごとの排他制御の処理手順を説明するための一例の説明図(1/2)である。 本実施例のリポジトリ管理システムにおける編集単位ごとの排他制御の処理手順を説明するための一例の説明図(2/2)である。 本実施例のリポジトリ管理システムにおける要素関係表及び共有関係表の更新の処理手順を説明するための一例の説明図(1/5)である。 本実施例のリポジトリ管理システムにおける要素関係表及び共有関係表の更新の処理手順を説明するための一例の説明図(2/5)である。 本実施例のリポジトリ管理システムにおける要素関係表及び共有関係表の更新の処理手順を説明するための一例の説明図(3/5)である。 本実施例のリポジトリ管理システムにおける要素関係表及び共有関係表の更新の処理手順を説明するための一例の説明図(4/5)である。 本実施例のリポジトリ管理システムにおける要素関係表及び共有関係表の更新の処理手順を説明するための一例の説明図(5/5)である。
次に、本発明を実施するための形態を、以下の実施例に基づき図面を参照しつつ説明していく。
図1は本実施例のリポジトリ管理システムの一例のシステム構成図である。図1のリポジトリ管理システム1はリポジトリ管理装置10,リポジトリ装置11を有する。リポジトリ管理装置10及びリポジトリ装置11は一つの筐体内に設けても良いし、複数の筐体内に分離して設けてもよい。
リポジトリ装置11は要素情報が体系的に格納されている場所である格納庫を1つ以上有している。リポジトリ管理装置10はリポジトリ装置11の格納庫に格納されている要素情報を体系的に管理する。リポジトリ管理装置10とリポジトリ装置11とが一つの筐体内に設けられている場合、図1のリポジトリ管理システム1は例えば図2に示すようなハードウェア構成により実現される。
図2は本実施例のリポジトリ管理システムの一例のハードウェア構成図である。図2のリポジトリ管理システム1は、それぞれバスBで相互に接続されている入力装置21,出力装置22,ドライブ装置23,補助記憶装置24,主記憶装置25,演算処理装置26及びインターフェース装置27を有する。
入力装置21はキーボードやマウス等である。入力装置21は、各種信号を入力するために用いられる。出力装置22はディスプレイ装置等である。出力装置22は各種ウインドウやデータ等を表示するために用いられる。インターフェース装置27は、モデム,LANカード等である。インターフェース装置27は、ネットワークに接続する為に用いられる。つまり、インターフェース装置27はネットワークに接続しないのであれば必須でない。
本実施例のリポジトリ管理プログラムは、リポジトリ管理システム1を制御する各種プログラムの少なくとも一部である。リポジトリ管理プログラムは例えば記録媒体28の配布やネットワークからのダウンロードなどによって提供される。リポジトリ管理プログラムを記録した記録媒体28は、CD−ROM、フレキシブルディスク、光磁気ディスク等の様に情報を光学的,電気的或いは磁気的に記録する記録媒体、ROM、フラッシュメモリ等の様に情報を電気的に記録する半導体メモリ等、様々なタイプの記録媒体を用いることができる。
また、リポジトリ管理プログラムを記録した記録媒体28がドライブ装置23にセットされると、リポジトリ管理プログラムは記録媒体28からドライブ装置23を介して補助記憶装置24にインストールされる。ネットワークからダウンロードされたリポジトリ管理プログラムは、インターフェース装置27を介して補助記憶装置24にインストールされる。補助記憶装置24は、インストールされたリポジトリ管理プログラムを格納すると共に、必要なファイル,データ等を格納する。
主記憶装置25は、リポジトリ管理プログラムの起動時に補助記憶装置24からリポジトリ管理プログラムを読み出して格納する。そして、演算処理装置26は主記憶装置25に格納されたリポジトリ管理プログラムに従うことで、後述するような各種処理を実現している。なお、リポジトリ装置11は例えば補助記憶装置24の分割された記憶領域の一つ(パーティション)により実現できる。
図3は本実施例のリポジトリ管理システムの一例のブロック構成図である。図3のリポジトリ管理装置10は、編集要求管理部31,編集単位総括排他制御部32,要素情報管理部33,状態表35,要素関係表36,共有関係表37,変更箇所表38を有する。図3のリポジトリ装置11は、要素情報格納庫34を有する。
編集要求管理部31はユーザ等からの編集要求を受信し管理する。編集単位総括排他制御部32は編集単位ごとに総括して排他制御を行う。要素情報管理部33はリポジトリ装置11の要素情報格納庫34と一対一に対応付けられている。要素情報管理部33は対応する要素情報格納庫34に格納されている要素情報を管理する。要素情報格納庫34は要素情報管理部33の管理により要素情報が体系的に格納されている場所である。
状態表35は編集単位ごとの編集状態(ロック、アンロック)を管理(記録)する。要素関係表36は編集単位と編集単位の構成要素である要素情報との関係を管理(記録)する。共有関係表37は編集単位間の共有関係を管理(記録)する。
共有関係表37では、それぞれの編集単位の構成要素に同一の要素情報(共有情報)が含まれるとき共有関係あり、それぞれの編集単位の構成要素に共有情報が含まれないとき共有関係なしと管理する。変更箇所表38は、編集対象の編集単位,編集対象の編集単位に追加された要素情報,編集対象の編集単位から削除された要素情報,編集対象の編集単位に追加された要素情報でも編集対象の編集単位から削除された要素情報でもない要素情報を管理(記録)する。
このように、図3のリポジトリ管理装置10は編集単位ごとに総括して排他制御する編集単位総括排他制御部32,状態表35,要素関係表36,共有関係表37,変更箇所表38を導入し、要素情報ごとではなく編集単位ごとに排他制御する。また、図3のリポジトリ管理装置10は要素関係表36及び共有関係表37により編集単位の構成要素及び編集単位間の共有関係を管理し、要素関係表36及び変更箇所表38に基づいて、共有関係表37を部分的に更新する。
例えば図3のリポジトリ管理装置10は次のように排他制御を行う。図3は、編集対象の編集単位である編集単位Bに対して、要素情報(4)を追加し、要素情報(3)を削除する指示を利用者から受信した場合の処理イメージを例示したものである。
編集要求管理部31は編集単位ごとの編集要求を利用者から受信する。編集開始時、編集単位総括排他制御部32は編集対象の編集単位の編集状態を状態表35で調べる。編集単位総括排他制御部32は最新の共有関係表37に記載された共有関係にある編集単位の編集状態を状態表35で調べる。
編集単位総括排他制御部32は編集対象の編集単位の編集状態と、編集対象の編集単位と共有関係にある編集単位の編集状態とが共にアンロックであるときに、要素単位ではなく編集単位ごとに、編集対象の編集単位の排他制御の開始処理(ロック)を行う。
編集時、編集単位総括排他制御部32は編集結果に応じて、要素関係表(編集前)36を要素関係表(編集後)39のように更新する。編集単位総括排他制御部32は編集対象の編集単位の変更箇所を、変更箇所表38に記載する。
編集終了時、編集単位総括排他制御部32は変更箇所表38に記載した、編集対象の編集単位における、編集対象の編集単位に追加された要素情報,編集対象の編集単位から削除された要素情報,編集対象の編集単位に追加された要素情報でも編集対象の編集単位から削除された要素情報でもない要素情報に基づき、共有関係表(編集前)37を共有関係表(編集後)40のように部分的に更新する。最後に、編集単位総括排他制御部32は編集対象の編集単位の排他制御の終了処理(アンロック)を行い、編集要求に対する処理を終了する。
なお、編集単位間の共有関係の更新のアルゴリズムは以下のようになる。
n個の要素情報から構成される、ある編集単位Xの
編集前の状態をX_old=[x_old(1),x_old(2),…,x_old(n)]、
編集後の状態をX_new=[x_new(1),x_new(2),…,x_new(n)]、別の編集単位Yの
編集前の状態をY_old=[y_old(1),y_old(2),…,y_old(n)]、
編集後の状態をY_new=[y_new(1),y_new(2),…,y_new(n)]、とする。
また、今回の編集対象は編集単位Xとする。編集単位Yは編集対象でないとする。このとき、X_newとY_newの共有関係X_new∧Y_newは以下のようになる。「∧」は論理積を表すものとする。「∨」は論理和を表すものとする。
X_new∧Y_new
=X_new∧Y_old
=[x_new(1),x_new(2),…,x_new(n)]∧[y_old(1),y_old(2),…,y_old(n)]
=[x_new(1)∧y_old(1)]∨[x_new(2)∧y_old(2)]∨…∨[x_new(n)∧y_old(n)]
=∨_{i=1,2,…,n}[x_new(i)∧y_old(i)]
=∨_{i|[x_old(i)=true]∧[x_new(i)=true]}[x_new(i)∧y_old(i)] ※編集対象の編集単位に追加された要素情報でも編集対象の編集単位から削除された要素情報でもない要素情報に関する項
∨∨_{i|[x_old(i)=false]∧[x_new(i)=false]}[x_new(i)∧y_old(i)] ※編集対象の編集単位に追加された要素情報でも編集対象の編集単位から削除された要素情報でもない要素情報に関する項
∨∨_{i|[x_old(i)=false]∧[x_new(i)=true]}[x_new(i)∧y_old(i)] ※編集対象の編集単位に追加された要素情報に関する項
∨∨_{i|[x_old(i)=true]∧[x_new(i)=false]}[x_new(i)∧y_old(i)] ※編集対象の編集単位から削除された要素情報に関する項
上記の関係から、編集単位間の共有関係の更新のアルゴリズムは以下のようになる。
要素情報x_new(i)が編集対象の編集単位に追加された場合
if ∃_{i}[x_old(i)=false]∧[x_new(i)=true]∧[x_new(i)∧y_old(i)] ※編集対象の編集単位に追加された要素情報に関する項
then X_newとY_newの共有関係をtrue(○)に上書き
要素情報x_new(i)が編集対象の編集単位から削除された場合
if ∃_{i}[x_old(i)=true]∧[x_new(i)=false]∧[x_new(i)∧y_old(i)] ※編集対象の編集単位から削除された要素情報に関する項
then
if ∃_{i}[x_old(i)=true]∧[x_new(i)=true]∧[x_new(i)∧y_old(i)] ※編集対象の編集単位に追加された要素情報でも編集対象の編集単位から削除された要素情報でもない要素情報に関する項
then X_newとY_newの共有関係をtrue(○)に上書き
else X_newとY_newの共有関係をfalse(×)に上書き
図4はリポジトリ管理装置の編集開始の処理手順を表すフローチャートである。編集要求管理部31は図5に示すような編集要求を受信すると、ステップS1からステップS2に進む。図5は、編集要求,編集返答及び要素単位編集要求の一例を表したデータ構造図である。
編集要求のデータ構造は、編集要求者名,編集単位名,編集区分を有する。編集区分の値は編集開始又は編集終了を表す。編集要求の編集区分の値が編集開始であれば、編集要求管理部31はステップS2からステップS3に進む。なお、編集要求の編集区分の値が編集開始でなければ、編集要求管理部31はステップS1に戻る。
ステップS3では、編集要求管理部31が編集要求の編集単位名の値を編集対象の編集単位名に代入する。ここで、編集要求の編集単位名の値を編集対象の編集単位名に代入するとは、メモリのワーク領域が用意されていて、ワーク領域に定義されている編集単位名という領域に編集要求の編集単位名の値を代入することを言う。編集要求管理部31は編集要求の編集単位名の値を編集対象の編集単位名に代入したあと、編集要求の受信を編集単位総括排他制御部32に通知する。
ステップS4に進み、編集対象の編集単位の編集情報がアンロックであり、且つ、編集対象の編集単位と共有関係にある編集単位の編集状態がアンロックであるとき、編集単位総括排他制御部32は、その旨を編集要求管理部31に通知する。
なお、編集対象の編集単位の編集情報がアンロックでなく、又は、編集対象の編集単位と共有関係にある編集単位の編集状態がアンロックでないとき、編集単位総括排他制御部32は、その旨を編集要求管理部31に通知する。
編集対象の編集単位の編集情報がアンロックでなく、又は、編集対象の編集単位と共有関係にある編集単位の編集状態がアンロックでない旨が通知されると、編集要求管理部31はステップS5に進み、図5に示すような編集返答の編集区分の値として編集拒絶を代入する。編集返答のデータ構造は、編集要求者名,編集単位名,編集区分を有する。編集区分の値は編集許可又は編集拒絶を表す。ステップS6に進み、編集要求管理部31は編集応答を返信したあと、ステップS1に戻る。
一方、編集対象の編集単位の編集情報がアンロックであり、且つ、編集対象の編集単位と共有関係にある編集単位の編集状態がアンロックである旨が通知されると、編集要求管理部31はステップS7に進み、編集返答の編集区分の値として編集許可を代入する。ステップS8に進み、編集要求管理部31は編集応答を返信する。
ステップS9に進み、編集単位総括排他制御部32は変更箇所表38を初期化する。ステップS10に進み、編集単位総括排他制御部32は変更箇所表38の「編集対象の編集単位」の欄に、編集対象の編集単位名を代入したあと、図6の編集中の処理に進む。ここで「編集対象の編集単位」の欄に編集対象の編集単位名を代入するとは、メモリのワーク領域が用意されていて、ワーク領域に定義されている「編集対象の編集単位」という領域に編集対象の編集単位名の値を代入することを言う。
図6はリポジトリ管理装置の編集中の処理手順を表すフローチャートである。編集要求管理部31は編集要求を受信すると、ステップS11からステップS12に進む。編集要求の編集区分の値が編集開始であれば、編集要求管理部31はステップS13に進む。なお、編集要求の編集区分の値が編集開始でなければ、編集要求管理部31はステップS15に進む。
ステップS13では、編集要求管理部31が、編集返答の編集区分の値として編集拒絶を代入する。ステップS14に進み、編集要求管理部31は編集応答を返信したあと、ステップS15に進む。編集要求管理部31は、編集要求の編集区分の値が編集終了であれば図7の編集終了の処理に進む。なお、編集要求管理部31は、編集要求の編集区分の値が編集終了でなければステップS16に進む。
編集要求管理部31は図5に示すような要素単位編集要求を受信すると、ステップS16からステップS17に進む。要素単位編集要求のデータ構造は、要素情報名,値,編集種別を有する。編集種別の値は追加,更新,削除を表す。
ステップS17では、編集要求管理部31が要素単位編集要求の要素情報名の値を編集対象の要素情報名に代入する。ここで、要素単位編集要求の要素情報名の値を編集対象の要素情報名に代入するとは、メモリのワーク領域が用意されていて、ワーク領域に定義されている編集対象の要素情報名という領域に要素単位編集要求の要素情報名の値を代入することを言う。
ステップS18に進み、編集要求管理部31は要素単位編集要求の値を編集対象の要素情報値に代入する。ここで、要素単位編集要求の値を編集対象の要素情報値に代入するとは、メモリのワーク領域が用意されていて、ワーク領域に定義されている編集対象の要素情報値という領域に要素単位編集要求の値を代入することを言う。
ステップS19に進み、編集要求管理部31は要素単位編集要求の編集種別の値を編集対象の編集種別に代入する。ここで、要素単位編集要求の編集種別の値を編集対象の編集種別に代入するとは、メモリのワーク領域が用意されていて、ワーク領域に定義されている編集対象の編集種別という領域に要素単位編集要求の編集種別の値を代入することを言う。以下、代入するという語句は同様な意味を有する。編集要求管理部31は、要素単位編集要求の受信を編集単位総括排他制御部32に通知する。
編集対象の編集種別が追加であるとき、編集単位総括排他制御部32はステップS20からステップS21に進み、要素情報格納庫34のうち、要素情報名が編集対象の要素情報名と等しい要素情報格納庫34と対応付けられている要素情報管理部33に対し、その要素情報格納庫34の値に、編集対象の要素情報値の値を代入する。
ステップS22に進み、編集単位総括排他制御部32は要素関係表36の編集単位名が編集対象の編集単位名であり、且つ要素情報が編集対象の要素情報名である欄に対して「○」を上書きする。ステップS23に進み、編集単位総括排他制御部32は変更箇所表38の「編集対象の編集単位」に追加された要素情報の欄に編集対象の要素情報名を追記する。
編集対象の編集種別が更新であるとき、編集単位総括排他制御部32はステップS24からステップS25に進み、要素情報格納庫34のうち、要素情報名が編集対象の要素情報名と等しい要素情報格納庫34と対応付けられている要素情報管理部33に対し、その要素情報格納庫34の値に、編集対象の要素情報値の値を代入する。
編集対象の編集種別が削除であるとき、編集単位総括排他制御部32はステップS26からステップS27に進み、要素情報格納庫34のうち、要素情報名が編集対象の要素情報名と等しい要素情報格納庫34と対応付けられている要素情報管理部33に対し、その要素情報格納庫34の値に、「(空)」を代入する。
ステップS28に進み、編集単位総括排他制御部32は要素関係表36の編集単位名が編集対象の編集単位名であり、且つ要素情報が編集対象の要素情報名である欄に対して「(空)」を上書きする。ステップS29に進み、編集単位総括排他制御部32は変更箇所表38の「編集対象の編集単位から削除された要素情報」の欄に編集対象の要素情報名を追記する。図6の編集中の処理は繰り返し行われる。
図7はリポジトリ管理装置の編集終了の処理手順を表すフローチャートである。編集単位総括排他制御部32はステップS31に進み、変更箇所表38の「編集対象の編集単位に追加された要素情報でも編集対象の編集単位から削除された要素情報でもない要素情報」の欄に、「編集対象の編集単位に追加された要素情報」の欄及び「編集対象の編集単位から削除された要素情報」の欄のいずれにも記載されていない要素情報名を追記する。
ステップS32に進み、編集単位総括排他制御部32は追加要素情報名リストに変更箇所表38の「編集対象の編集単位に追加された要素情報」の欄の追加された要素情報名の値を代入する。
ステップS33に進み、編集単位総括排他制御部32は削除要素情報名リストに変更箇所表38の「編集対象の編集単位に削除された要素情報」の欄の削除された要素情報名の値を代入する。
ステップS34に進み、編集単位総括排他制御部32は無変要素情報名リストに変更箇所表38の「編集対象の編集単位に追加された要素情報でも編集対象の編集単位から削除された要素情報でもない要素情報」の欄の追加も削除もされなかった要素情報名の値を代入する。
追加要素情報名リストが「(空)」でなければ、編集単位総括排他制御部32はステップS35からステップS36に進み、追加要素情報名リストのすべての要素情報名に対してステップS37の処理を行う。
ステップS37では、編集単位総括排他制御部32が要素関係表39において、追加要素情報名リストの要素情報名と同一の要素情報名の欄に「○」が付いている編集対象の編集単位以外の全ての編集単位名に対してステップS38〜ステップS39の処理を行う。
編集単位総括排他制御部32は追加要素情報名リストの要素情報名と同一の要素情報名の欄に「○」が付いている編集対象の編集単位以外の編集単位が存在すれば、ステップS38からステップS39に進み、共有関係表37において、存在した編集単位と編集対象の編集単位との交差欄に「○」を上書きする。
削除要素情報名リストが「(空)」でなければ、編集単位総括排他制御部32はステップS40からステップS41に進み、無変要素情報名リストのすべての要素情報名に対してステップS42の処理を行う。
ステップS42では、編集単位総括排他制御部32が要素関係表39において、無変要素情報名リストの要素情報名と同一の要素情報名の欄に「○」が付いている編集対象の編集単位以外の全ての編集単位名に対してステップS43〜ステップS45の処理を行う。
編集単位総括排他制御部32は無変要素情報名リストの要素情報名と同一の要素情報名の欄に「○」が付いている編集対象の編集単位以外の編集単位が存在すれば、ステップS43からステップS44に進み、共有関係表40において、存在した編集単位と編集対象の編集単位との交差欄に「○」を上書きする。なお、編集単位総括排他制御部32は無変要素情報名リストの要素情報名と同一の要素情報名の欄に「○」が付いていない編集対象の編集単位以外の編集単位が存在すれば、ステップS43からステップS45に進み、共有関係表37において、存在した編集単位と編集対象の編集単位との交差欄に「(空)」を上書きする。図7の編集終了の処理後、リポジトリ管理装置10は図4の編集開始の処理に戻る。
図8〜図9は、本実施例のリポジトリ管理システムにおける編集単位ごとの排他制御の処理手順を説明するための一例の説明図である。図8のリポジトリ管理装置10は編集単位Aがロック状態かつ編集単位Bがアンロック状態である。図8のリポジトリ管理装置10の編集要求管理部31は編集単位Bに対する編集要求を受信している。
図8のリポジトリ管理装置10は編集単位Bがアンロック状態である。しかし、図8のリポジトリ管理装置10は共有関係表37で管理されているように編集単位Bと共有関係にある編集単位Aがロック状態である。このため、図9のリポジトリ管理装置10の編集要求管理部31は編集拒絶の編集応答を行う。
また、図10〜図14は本実施例のリポジトリ管理システムにおける要素関係表及び共有関係表の更新の処理手順を説明するための一例の説明図である。図10のリポジトリ管理装置10は、編集単位A,B及びCがアンロック状態である。図10のリポジトリ管理装置10の編集要求管理部31は編集単位Bに対する編集要求を受信している。
図10のリポジトリ管理装置10は編集単位Bがアンロック状態である。また、図10のリポジトリ管理装置10は共有関係表37で管理されているように編集単位Bと共有関係にある編集単位Aもアンロック状態である。このため、図11のリポジトリ管理装置10の編集単位総括排他制御部32は状態表35に表されているように編集単位Bをロックする。図11のリポジトリ管理装置10の編集要求管理部31は編集受理の編集応答を行う。
図12のリポジトリ管理装置10は編集単位Bにおいて、要素情報(3)を編集単位Bから削除し、要素情報(4)を編集単位Bに追加している。なお、要素情報(3)を編集単位Bから削除し、要素情報(4)を編集単位Bに追加する処理は編集単位A及びCがアンロック状態であるため可能となっている。図12のリポジトリ管理装置10の編集単位総括排他制御部32は編集対象の編集単位Bの変更箇所に応じて、変更箇所表38及び要素関係表39のように更新する。例えば図12の要素関係表39では、編集単位Bと要素情報(3)との交差欄から「○」が削除され、編集単位Bと要素情報(4)との交差欄に「○」が追加されている。
図13のリポジトリ管理装置10は変更箇所表38を参照して、編集単位Bに追加された要素情報があるかを判定する。図13の例では編集単位Bに追加された要素情報(4)があるため、要素関係表39を参照して編集単位Bと共有関係になる編集単位がないか調べる。
図13の例では、要素情報(4)の欄に「○」が付いている編集単位Cが共有関係になる編集単位として見つかる。編集単位総括排他制御部32は共有関係になった編集単位BとCとが共有関係ありとなるように共有関係表37を共有関係表40のように更新する。具体的に、図13の共有関係表40では編集単位BとCとの交差欄に「○」が追加されている。
また、図13のリポジトリ管理装置10は変更箇所表38を参照して、編集単位Bから削除された要素情報があるかを判定する。図13の例では編集単位Bから削除された要素情報(3)があるため、変更箇所表38を参照して、追加も削除もされなかった要素情報(2)等と共有関係になる編集単位がないか調べる。
図13の例では、要素情報(2)の欄に「○」が付いている編集単位Aが共有関係になる編集単位として見つかる。編集単位総括排他制御部32は共有関係になった編集単位AとBとが共有関係ありとなるように共有関係表37を共有関係表40のように更新する。具体的に、図13の共有関係表40では編集単位AとBとの交差欄に「○」が追加(上書き)されている。
図14のリポジトリ管理装置10の編集単位総括排他制御部32は、編集単位Bをアンロックする。その後、図14のリポジトリ管理装置10の編集要求管理部31は編集要求に対する処理を終了する。
以下では本実施例のリポジトリ管理システム1について定量的評価を行う。個々の要素情報ごとに排他制御を行う基本的な方法の場合は、編集単位の要素情報数をn、その編集単位の排他制御時のロック確認数をnとすると、その編集単位の排他制御時のロック実施数がnとなる。
編集単位ごとの排他制御を行う本実施例のリポジトリ管理システム1の場合は、ある編集単位と共有関係を有する編集単位の数をm、その編集単位の排他制御時のロック確認数をmとすると、その編集単位の排他制御時のロック実施数が1となる。
個々の要素情報ごとに排他制御を行う基本的な方法と編集単位ごとの排他制御を行う本実施例のリポジトリ管理システム1とを比較すると、n>>m,1ならば、排他制御時のロック確認数が「個々の要素情報ごとに排他制御を行う基本的な方法」>>「編集単位ごとの排他制御を行う本実施例のリポジトリ管理システム1」、排他制御時のロック実施数が「個々の要素情報ごとに排他制御を行う基本的な方法」>>「編集単位ごとの排他制御を行う本実施例のリポジトリ管理システム1」となる。
したがって、個々の要素情報ごとに排他制御を行う基本的な方法よりも編集単位ごとの排他制御を行う本実施例のリポジトリ管理システム1は、ロック確認・ロック実施とも処理時間が抑制される。
また、本実施例のリポジトリ管理システム1は要素関係表36及び共有関係表37(以下では、要素関係表36及び共有関係表37を関係表と総称する)を編集結果に応じて部分的に更新する。
例えば編集の度に関係表を作り直す場合は要素情報の数をp、編集単位の数をqとすると、関係表の更新欄の数がp×qとなる。編集結果に応じて関係表を部分的に更新する本実施例のリポジトリ管理システム1の場合は、ある編集単位で追加された要素情報の数をp1、その要素情報と共有関係にある編集単位の数をq1、その編集単位で追加も削除もされなかった要素情報の数をp2、その要素情報と共有関係にある編集単位の数をq2とすると、関係表の更新欄の数がp1×q1+p2×q2となる。
編集の度に関係表を作り直す場合と編集結果に応じて関係表を部分的に更新する本実施例のリポジトリ管理システム1の場合とを比較すると、p>>p1,p2あるいはq>>q1,q2ならば、関係表の更新欄の数が「編集の度に関係表を作り直す場合」>>「編集結果に応じて関係表を部分的に更新する本実施例のリポジトリ管理システム1」となることが分かる。
したがって、編集の度に関係表を作り直す場合よりも編集結果に応じて関係表を部分的に更新する本実施例のリポジトリ管理システム1は、関係表の更新でも処理時間が抑制される。
このように、本実施例のリポジトリ管理システム1は、編集単位間に共有情報がある場合にも編集単位ごとに排他制御できるとともに、編集単位間の共有関係も効率的に更新できるため、要素情報の数が増大した場合にも整合性を確保しつつ、リポジトリに対する処理時間を抑制することができ、その結果、リポジトリを使用する使用者の作業効率を改善できる。
本発明は、以下に記載する付記のような構成が考えられる。
(付記1)
リポジトリに格納されている要素情報を編集単位で排他制御するリポジトリ管理装置であって、
前記編集単位間の共有関係を記録した第1記録手段を参照し、編集対象の前記編集単位及び前記編集対象の前記編集単位と共有関係にある他の編集単位が共に編集可能であるときに、前記要素情報を前記編集対象の前記編集単位で排他制御する編集単位総括排他制御手段と、
利用者による要素情報に対する編集の結果に応じて前記編集対象の前記編集単位の変更箇所を記録する第2記録手段と、
前記編集の結果に応じて前記編集対象の前記編集単位と前記要素情報との関係を記録する第3記録手段と、
前記第2及び第3記録手段を参照し、前記第1記録手段に記録されている前記編集単位間の共有関係の変更部分を更新する更新手段と
を有するリポジトリ管理装置。
(付記2)
前記第2記録手段は、前記編集対象の前記編集単位の変更箇所として、前記編集対象の前記編集単位に追加された要素情報,前記編集対象の前記編集対象の編集単位から削除された要素情報を記録する付記1記載のリポジトリ管理装置。
(付記3)
前記更新手段は、前記第2記録手段に前記編集対象の前記編集単位に追加された要素情報が記録されていれば、前記追加された要素情報により前記編集対象の前記編集単位と共有関係になる編集単位の有無を、前記第3記録手段を参照して判定し、前記編集対象の前記編集単位と共有関係になる他の編集単位があれば、前記第1記録手段に記録されている前記編集単位間の共有関係の変更部分を更新する
付記1又は2記載のリポジトリ管理装置。
(付記4)
前記更新手段は、前記第2記録手段に前記編集対象の前記編集単位から削除された要素情報が記録されていれば、前記第2記録手段に記録されている前記編集対象の前記編集単位に追加された要素情報でも編集対象の前記編集単位から削除された要素情報でもない要素情報により前記編集対象の前記編集単位と共有関係になる編集単位の有無を、前記第3記録手段を参照して判定し、前記第1記録手段に記録されている前記編集単位間の共有関係の変更部分を更新する付記1乃至3何れか一項記載のリポジトリ管理装置。
(付記5)
リポジトリに格納されている要素情報を編集単位で排他制御するリポジトリ管理装置によって実行されるリポジトリ管理方法であって、
前記リポジトリ管理装置が、
前記編集単位間の共有関係を記録した第1記録手段を参照し、編集対象の前記編集単位及び前記編集対象の前記編集単位と共有関係にある他の編集単位が共に編集可能であるときに、前記要素情報を前記編集対象の前記編集単位で排他制御する編集単位総括排他制御ステップと、
利用者による要素情報に対する編集の結果に応じて前記編集対象の前記編集単位の変更箇所を記録する第2記録ステップと、
前記編集の結果に応じて前記編集対象の前記編集単位と前記要素情報との関係を記録する第3記録ステップと、
前記第2及び第3記録ステップにおける記録を参照し、前記第1記録手段に記録されている前記編集単位間の共有関係の変更部分を更新する更新ステップと
を実行するリポジトリ管理方法。
(付記6)
リポジトリに格納されている要素情報を編集単位で排他制御するコンピュータを、
前記編集単位間の共有関係を記録した第1記録手段を参照し、編集対象の前記編集単位及び前記編集対象の前記編集単位と共有関係にある他の編集単位が共に編集可能であるときに、前記要素情報を前記編集対象の前記編集単位で排他制御する編集単位総括排他制御手段と、
前記編集単位総括排他制御手段による編集結果に応じて前記編集対象の前記編集単位の変更箇所を第2記録手段に記録する手段と、
前記編集単位総括排他制御手段による編集結果に応じて前記編集対象の前記編集単位と前記要素情報との関係を第3記録手段に記録する手段と、
前記第2及び第3記録手段を参照し、前記第1記録手段に記録されている前記編集単位間の共有関係の変更部分を更新する更新手段と
して機能させるためのリポジトリ管理プログラム。
本発明は、具体的に開示された実施例に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
1 リポジトリ管理システム
10 リポジトリ管理装置
11 リポジトリ装置
21 入力装置
22 出力装置
23 ドライブ装置
24 補助記憶装置
25 主記憶装置
26 演算処理装置
27 インターフェース装置
31 編集要求管理部
32 編集単位総括排他制御部
33 要素情報管理部
34 要素情報格納庫
35 状態表
36 要素関係表(編集前)
37 共有関係表(編集前)
38 変更箇所表
39 要素関係表(編集後)
40 共有関係表(編集後)
B バス

Claims (4)

  1. リポジトリに格納されている要素情報を編集単位で排他制御するリポジトリ管理装置であって、
    前記編集単位間の共有関係を記録した第1記録手段を参照し、編集対象の前記編集単位及び前記編集対象の前記編集単位と共有関係にある他の編集単位が共に編集可能であるときに、前記要素情報を前記編集対象の前記編集単位で排他制御する編集単位総括排他制御手段と、
    利用者による要素情報に対する編集の結果に応じて前記編集対象の前記編集単位の変更箇所を記録する第2記録手段と、
    前記編集の結果に応じて前記編集対象の前記編集単位と前記要素情報との関係を記録する第3記録手段と、
    前記第2及び第3記録手段を参照し、前記第1記録手段に記録されている前記編集単位間の共有関係の変更部分を更新する更新手段と
    を有するリポジトリ管理装置。
  2. 前記第2記録手段は、前記編集対象の前記編集単位の変更箇所として、前記編集対象の前記編集単位に追加された要素情報,前記編集対象の前記編集対象の編集単位から削除された要素情報を記録する請求項1記載のリポジトリ管理装置。
  3. リポジトリに格納されている要素情報を編集単位で排他制御するリポジトリ管理装置によって実行されるリポジトリ管理方法であって、
    前記リポジトリ管理装置が、
    前記編集単位間の共有関係を記録した第1記録手段を参照し、編集対象の前記編集単位及び前記編集対象の前記編集単位と共有関係にある他の編集単位が共に編集可能であるときに、前記要素情報を前記編集対象の前記編集単位で排他制御する編集単位総括排他制御ステップと、
    利用者による要素情報に対する編集の結果に応じて前記編集対象の前記編集単位の変更箇所を記録する第2記録ステップと、
    前記編集の結果に応じて前記編集対象の前記編集単位と前記要素情報との関係を記録する第3記録ステップと、
    前記第2及び第3記録ステップにおける記録を参照し、前記第1記録手段に記録されている前記編集単位間の共有関係の変更部分を更新する更新ステップと
    を実行するリポジトリ管理方法。
  4. リポジトリに格納されている要素情報を編集単位で排他制御するコンピュータを、
    前記編集単位間の共有関係を記録した第1記録手段を参照し、編集対象の前記編集単位及び前記編集対象の前記編集単位と共有関係にある他の編集単位が共に編集可能であるときに、前記要素情報を前記編集対象の前記編集単位で排他制御する編集単位総括排他制御手段と、
    前記編集単位総括排他制御手段による編集結果に応じて前記編集対象の前記編集単位の変更箇所を第2記録手段に記録する手段と、
    前記編集単位総括排他制御手段による編集結果に応じて前記編集対象の前記編集単位と前記要素情報との関係を第3記録手段に記録する手段と、
    前記第2及び第3記録手段を参照し、前記第1記録手段に記録されている前記編集単位間の共有関係の変更部分を更新する更新手段と
    して機能させるためのリポジトリ管理プログラム。
JP2009176653A 2009-07-29 2009-07-29 リポジトリ管理装置、リポジトリ管理方法及びリポジトリ管理プログラム Expired - Fee Related JP5375410B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009176653A JP5375410B2 (ja) 2009-07-29 2009-07-29 リポジトリ管理装置、リポジトリ管理方法及びリポジトリ管理プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009176653A JP5375410B2 (ja) 2009-07-29 2009-07-29 リポジトリ管理装置、リポジトリ管理方法及びリポジトリ管理プログラム

Publications (2)

Publication Number Publication Date
JP2011034124A true JP2011034124A (ja) 2011-02-17
JP5375410B2 JP5375410B2 (ja) 2013-12-25

Family

ID=43763173

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009176653A Expired - Fee Related JP5375410B2 (ja) 2009-07-29 2009-07-29 リポジトリ管理装置、リポジトリ管理方法及びリポジトリ管理プログラム

Country Status (1)

Country Link
JP (1) JP5375410B2 (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04310147A (ja) * 1991-04-09 1992-11-02 Hitachi Ltd 排他制御方法
JPH05158777A (ja) * 1991-12-05 1993-06-25 Hitachi Ltd データ管理システム
JPH0612310A (ja) * 1992-06-25 1994-01-21 Mitsubishi Electric Corp ファイル同時編集装置
JP2003150431A (ja) * 2001-11-15 2003-05-23 Mitsubishi Electric Corp サーバ装置及びこれを用いたプラント制御システム
JP2007328392A (ja) * 2006-06-06 2007-12-20 Fuji Xerox Co Ltd 文書編集システム、文書編集制御サーバ、サーバ用プログラム、ユーザ端末、端末用プログラム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04310147A (ja) * 1991-04-09 1992-11-02 Hitachi Ltd 排他制御方法
JPH05158777A (ja) * 1991-12-05 1993-06-25 Hitachi Ltd データ管理システム
JPH0612310A (ja) * 1992-06-25 1994-01-21 Mitsubishi Electric Corp ファイル同時編集装置
JP2003150431A (ja) * 2001-11-15 2003-05-23 Mitsubishi Electric Corp サーバ装置及びこれを用いたプラント制御システム
JP2007328392A (ja) * 2006-06-06 2007-12-20 Fuji Xerox Co Ltd 文書編集システム、文書編集制御サーバ、サーバ用プログラム、ユーザ端末、端末用プログラム

Also Published As

Publication number Publication date
JP5375410B2 (ja) 2013-12-25

Similar Documents

Publication Publication Date Title
US7191195B2 (en) Distributed file sharing system and a file access control method of efficiently searching for access rights
US7539680B2 (en) Revision control for database of evolved design
KR101573965B1 (ko) 분산형 저장 시스템 내의 데이터의 원자 다중 변경
JP2536975B2 (ja) 部品表処理およびプロジェクトネットワ―ク処理のための方法およびシステム
US5251315A (en) Atomic check-in check-out document copy commands partitioned into document interchange architecture system operands
KR101738647B1 (ko) 데이터 유지 시스템
US20080271157A1 (en) Evaluating removal of access permissions
EP1913451B1 (en) Server-side project manager
JP2004227569A (ja) 永続フレームワーク用単一キャッシュによる事象駆動型トランザクション状態の管理
JPH05134913A (ja) データ処理方法及び装置
JPH06161854A (ja) バージョン済みデータベース管理システムにおける関係のソースおよびターゲットの解決
KR101661789B1 (ko) 양방향 동기 중에 자기 참조 필드의 동기
US10803028B2 (en) Multiphase approach to data availability
JP5375410B2 (ja) リポジトリ管理装置、リポジトリ管理方法及びリポジトリ管理プログラム
CN114253950B (zh) 管理数据库的方法和装置
JP2007249422A (ja) 組織構成管理システム、そのプログラム
US20150363424A1 (en) Distributed Data Authority System
JP2004054779A (ja) アクセス権管理システム
JP2007233969A (ja) データベースシステム
JP4777057B2 (ja) 人事管理サーバ
JP2007257603A (ja) リスト登録対象情報取得システム、方法、プログラム及び装置
JP4400254B2 (ja) ファイル管理装置およびファイル管理プログラム
JP2006215665A (ja) データ管理装置、データ管理システム、データ処理装置、データ管理方法、プログラム、及び記憶媒体
JP2016045698A (ja) 更新処理プログラム、装置、及び方法
US11625365B2 (en) Method for managing virtual file, apparatus for the same, computer program for the same, and recording medium storing computer program thereof

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120405

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130816

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: 20130827

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130909

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees