JP4867249B2 - Data server and program - Google Patents
Data server and program Download PDFInfo
- Publication number
- JP4867249B2 JP4867249B2 JP2005271544A JP2005271544A JP4867249B2 JP 4867249 B2 JP4867249 B2 JP 4867249B2 JP 2005271544 A JP2005271544 A JP 2005271544A JP 2005271544 A JP2005271544 A JP 2005271544A JP 4867249 B2 JP4867249 B2 JP 4867249B2
- Authority
- JP
- Japan
- Prior art keywords
- repository
- group
- data
- backup destination
- assigned
- 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.)
- Expired - Fee Related
Links
- 238000009795 derivation Methods 0.000 claims description 41
- 230000010354 integration Effects 0.000 claims description 21
- 238000013508 migration Methods 0.000 claims description 10
- 230000005012 migration Effects 0.000 claims description 10
- 230000004044 response Effects 0.000 claims description 6
- 238000007726 management method Methods 0.000 description 61
- 238000012545 processing Methods 0.000 description 23
- 238000000034 method Methods 0.000 description 22
- 238000012986 modification Methods 0.000 description 21
- 230000004048 modification Effects 0.000 description 21
- 230000008569 process Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 7
- 238000011084 recovery Methods 0.000 description 6
- 238000013500 data storage Methods 0.000 description 5
- 230000008520 organization Effects 0.000 description 5
- 238000013523 data management Methods 0.000 description 3
- 230000011218 segmentation Effects 0.000 description 3
- 238000007796 conventional method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
本発明は、一意なデータIDを付与した複数のデータを複数のリポジトリに分散して保管して管理するための技術に関する。 The present invention relates to a technique for distributing and storing a plurality of data assigned with unique data IDs in a plurality of repositories.
この分野の従来の技術として、特許文献1や特許文献2に記載の技術がある。特許文献1には、局所的に一意な識別子を用いて、システム全体で一意にオブジェクトを識別する大規模分散計算機システムが開示されている。この大規模分散計算機システムは、オブジェクトを使用する場所によってオブジェクトの識別子の表現を変えることで、各場所におけるオブジェクトの一意性を保証する。
As conventional techniques in this field, there are techniques described in
また、特許文献2には、画像データが格納されている画像保管装置を示す特定情報を管理し、外部装置より画像データの要求があった場合に、該格納されている特定情報に基づいて該画像データが格納されている画像保管装置を特定する画像位置管理装置が開示されている。
Further,
上記のようなシステムでは、それぞれデータに一意な識別子を付与することで、複数のデータを複数のリポジトリに分散して保管して管理することができる。また、データに付された識別子により一意にそのデータを特定することができるため、データの保管されているリポジトリが移動しても、同一の識別子に基づいてそのデータにアクセスすることができる。しかし、このようなシステムにおいて、バックアップされたデータをリカバリすると、データに付与された識別子の一意性の保障が維持できない場合がある。 In such a system, a unique identifier is assigned to each data, so that a plurality of data can be distributed and stored in a plurality of repositories for management. Further, since the data can be uniquely specified by the identifier attached to the data, the data can be accessed based on the same identifier even when the repository storing the data is moved. However, in such a system, when the backed up data is recovered, the uniqueness of the identifier assigned to the data may not be maintained.
本発明は、それぞれ一意なデータIDを付与した複数のデータを複数のリポジトリに分散して保管するデータサーバにおいて、たとえバックアップされたデータのリカバリを行っても、データに付与されたデータIDの一意性を保障できるようにする。 According to the present invention, in a data server that stores a plurality of data each having a unique data ID distributed and stored in a plurality of repositories, even if recovery of backed-up data is performed, the data ID assigned to the data is unique. We will ensure sex.
本発明に係るプログラムの1つの態様では、一意なデータIDが付与された少なくとも1つのデータを保管する複数のリポジトリをそれぞれ一意なリポジトリIDと対応付けて、1つのリポジトリグループとして構成し、
前記リポジトリグループに属するリポジトリに保管されたデータを当該リポジトリのリポジトリIDも含めてバックアップしたバックアップ先のリポジトリであって前記リポジトリグループに属さないバックアップ先のリポジトリについて、当該バックアップ先のリポジトリを前記リポジトリグループに追加する要求を受けた場合、前記バックアップ先のリポジトリのリポジトリIDが、前記リポジトリグループに含まれる各リポジトリに付与されている各リポジトリIDのいずれとも一致しないかを判定し、判定の結果、前記リポジトリグループに含まれるリポジトリに付与されているリポジトリIDの中に前記バックアップ先のリポジトリのリポジトリIDと一致するリポジトリIDが存在しない場合に、前記バックアップ先のリポジトリを前記リポジトリグループに追加するようにコンピュータを機能させることを特徴とする。
In one aspect of the program according to the present invention, a plurality of repositories storing at least one data to which a unique data ID is assigned are associated with each unique repository ID and configured as one repository group,
A backup destination repository that backs up data stored in a repository that belongs to the repository group including the repository ID of the repository, and the backup destination repository that does not belong to the repository group is the backup destination repository. If the repository ID of the backup destination repository does not match any of the repository IDs assigned to the respective repositories included in the repository group, the result of the determination is If the repository ID that matches the repository ID of the backup destination repository in the repository ID assigned to the repository contained in the repository group does not exist, repository of the backup destination The is characterized by causing a computer to function so as to add to the group of repositories.
また、本発明に係るプログラムの別の態様では、一意なデータIDが付与された少なくとも1つのデータを保管する複数のリポジトリをそれぞれ一意なリポジトリIDと対応付けて、1つのリポジトリグループとして構成し、リポジトリの分割もしくは統合により生じるリポジトリID間の派生関係を示す情報を生成し、前記リポジトリグループに属するリポジトリに保管されたデータを当該リポジトリのリポジトリIDも含めてバックアップしたバックアップ先のリポジトリであって前記リポジトリグループに属さないバックアップ先のリポジトリについて、当該バックアップ先のリポジトリを前記リポジトリグループに追加する要求を受けた場合、前記派生関係を示す情報を参照して、前記バックアップ先のリポジトリが前記リポジトリグループに含まれる各リポジトリの前記派生関係における先祖もしくは子孫に該当しないかを判定し、判定の結果、前記バックアップ先のリポジトリが前記リポジトリグループに含まれる各リポジトリの先祖もしくは子孫に該当しない場合に、前記バックアップ先のリポジトリを前記リポジトリグループに追加するようにコンピュータを機能させることを特徴とする。
In another aspect of the program according to the present invention, a plurality of repositories that store at least one data to which a unique data ID is assigned are associated with each unique repository ID and configured as one repository group, A backup destination repository that generates information indicating a derivation relationship between repository IDs generated by division or integration of repositories, and backs up data stored in the repository belonging to the repository group including the repository ID of the repository. for not belonging backup destination repository repository group, when receiving a request to add the backup destination repository to the repository group, by referring to the information indicating the derivation relationship, the backup destination repository the repository When determining whether or not to correspond to the ancestor or descendant of the derivation relationship of each repository included in the loop, the result of the determination, that the backup destination repository does not correspond to the ancestor or descendant of the respective repositories included in the group of repositories, The computer is caused to function so as to add the repository of the backup destination to the repository group.
さらに、本発明に係るプログラムの別の態様では、一意なデータIDが付与された少なくとも1つのデータを保管する複数のリポジトリをそれぞれ一意なリポジトリIDと対応付けて、1つのリポジトリグループとして構成し、あるリポジトリに保管されているデータが別のリポジトリに移動した場合に、移動元のリポジトリに付与されたリポジトリIDと、移動したデータに付与されたデータIDと、移動先のリポジトリに付与されたリポジトリIDとを関連づけた移動情報を生成し、前記リポジトリグループに属するリポジトリに保管されたデータを当該リポジトリのリポジトリIDも含めてバックアップしたバックアップ先のリポジトリであって前記リポジトリグループに属さないバックアップ先のリポジトリについて、当該バックアップ先のリポジトリを前記リポジトリグループに追加する要求を受けた場合、前記移動情報を参照して、前記バックアップ先のリポジトリに保管されているデータ群の中に、前記リポジトリグループに含まれるリポジトリに移動されたデータが存在しないかを判定し、判定の結果、前記バックアップ先のリポジトリに保管されているデータ群の中に、前記リポジトリグループに含まれるリポジトリに移動されたデータが存在しない場合、前記バックアップ先のリポジトリを前記リポジトリグループに追加するようにコンピュータを機能させることを特徴とする。 Furthermore, in another aspect of the program according to the present invention, a plurality of repositories that store at least one data to which a unique data ID is assigned are associated with each unique repository ID and configured as one repository group, When data stored in a repository is moved to another repository, the repository ID assigned to the source repository, the data ID assigned to the moved data, and the repository assigned to the destination repository A backup destination repository that generates movement information associated with an ID and backs up data stored in the repository belonging to the repository group including the repository ID of the repository, and does not belong to the repository group The relevant backup When receiving a request to add up the destination repository to the repository group moving, by referring to the movement information, into the data group stored in the backup destination repository, the repository included in the group of repositories If the data moved to the repository included in the repository group does not exist in the data group stored in the backup destination repository as a result of the determination, the backup is performed. A computer is made to function to add a previous repository to the repository group.
本発明によれば、それぞれ一意なデータIDを付与した複数のデータを複数のリポジトリに分散して保管するシステムにおいて、たとえバックアップされたデータのリカバリを行っても、データに付与されたデータIDの一意性を保障できる。 According to the present invention, in a system in which a plurality of data each having a unique data ID is distributed and stored in a plurality of repositories, even if the backed up data is recovered, the data ID assigned to the data Uniqueness can be guaranteed.
本発明を実施するための最良の形態(以下、実施形態と称す)について、以下、図面を用いて説明する。 The best mode for carrying out the present invention (hereinafter referred to as an embodiment) will be described below with reference to the drawings.
図1は、本実施形態に係るデータ管理システムのシステム構成を示す図である。図1に示すように、本システムでは、LAN(ローカル・エリア・ネットワーク)やインターネットなどのネットワーク60に接続されたデータサーバ10とクライアント50とから構成される。本システムは、ネットワーク60上のクライアント50からのデータ要求に応じて、要求対象のデータをデータサーバ10がクライアント50に提供する。また、データサーバ10は、ネットワーク60を介してクライアント50から提供されたデータを保管する。ここで、データは、文書データ、画像データ、動画データなど、ネットワーク60を介してデータサーバ10とクライアント50とがやり取り可能なデータ全般をいう。
FIG. 1 is a diagram showing a system configuration of a data management system according to the present embodiment. As shown in FIG. 1, this system includes a
図2は、実施形態におけるデータサーバ10の機能ブロックを示す図である。データサーバ10は、データを保管する複数のリポジトリ12と、リポジトリ12を管理するリポジトリ管理部30とから構成される。リポジトリ管理部30は、クライアント50を介してユーザにより選択されたいくつかのリポジトリ12をリポジトリグループ80として構成し、そのグループに含まれるリポジトリ12がそれぞれ連携して、複数のデータを分散して管理する。データサーバ10は、リポジトリグループに属するリポジトリ12に保管されているデータを、クライアント50に提供する。つまり、クライアント50は、リポジトリグループに属するリポジトリ12が保管するデータにアクセスして、閲覧や編集などの処理をすることができる。以下、リポジトリグループに属するリポジトリを、「所属リポジトリ」と称す。なお、本実施形態では、データサーバ10が備えるリポジトリ12をリポジトリグループとして構成し、データを分散して管理する例について説明する。しかし、他のコンピュータが備えるリポジトリをネットワーク60を介して接続して、そのコンピュータのリポジトリをリポジトリグループとして構成してもよい。
FIG. 2 is a diagram illustrating functional blocks of the
各リポジトリ12は、データ格納部14を備える。図2に示すように、データ格納部14には、保管対象となるデータ22とそのデータをグローバルに一意に特定するためのデータID24とが関連づけて格納される。また、データ格納部14には、リポジトリ12をグローバルに一意に特定するためのリポジトリID26が関連づけられている。
Each
リポジトリ管理部30は、ID生成部20と、グループ編成部32と、所属リポジトリID保持部34と、バックアップ・リカバリ処理部36とを備える。
The
ID生成部20は、グローバルに一意なデータIDやリポジトリIDを生成し、各リポジトリ12に提供する。ここで、グローバルに一意なIDとしては、例えばUUID(Universally Unique IDentifier)又はGUID(Globally Unique IDentifier)と呼ばれる128ビットの識別情報を用いることができる。ちなみに、UUIDは、グローバルな一意性を保証するために、そのUUIDを作成した時刻や作成に使用したマシンに装着されたネットワークカードのMAC(Media Access Control)アドレス等を含んでいる。クライアント50は、要求対象となるデータに対応するデータIDを示したデータ要求をデータサーバ10に送信することで、データサーバ10からそのデータ要求の応答として、要求対象データを受け取ることができる。
The
グループ編成部32は、ユーザからの指示に応じて、リポジトリグループに新たなリポジトリを追加したり、既存の所属リポジトリをリポジトリグループから除外する。所属リポジトリID保持部34は、現在リポジトリグループに属する所属リポジトリのリポジトリIDとその所属リポジトリの物理位置情報とを関連づけた所属リポジトリ情報を保持する。ここで、物理位置情報は、リポジトリ12にアクセスするために必要な情報であり、例えば、ディレクトリ名、IPアドレス、URL(Uniform Resource Locator)などである。
The
バックアップ・リカバリ処理部36は、ユーザからの指示に応じて、所属リポジトリをバックアップしたり、バックアップされたリポジトリをリカバリする。ここで、バックアップとは、ある時点でのリポジトリのスナップショットを別の記憶領域や別の記憶メディアにコピーして保存する処理のことをいう。よって、バックアップを行うことで、ある時点においてデータ格納部14に格納されているデータとそのデータID及びそのリポジトリのリポジトリIDがコピーされ、バックアップデータとして、別の記憶領域や別の記憶メディアに保存される。また、リカバリとは、別の記憶領域や別の記憶メディアに保存されたスナップショットをグループ編成部32がアクセスできる状態にすることをいう。よって、リカバリを行うことで、グループ編成部32がバックアップされたリポジトリにアクセスして、リポジトリグループに追加することができるようになる。
The backup /
このように構成されたデータ管理システムによれば、データを複数のリポジトリ12に分散して管理することができる。また、リポジトリ12をバックアップすることができるため、リポジトリグループとして構成されているリポジトリ12に障害が起きた場合にも、バックアップした時点でリポジトリ12に保管されているデータを復元することができる。しかしながら、バックアップされたリポジトリ12をリカバリして、新たにリポジトリグループ80に追加する場合、データに付与されたデータIDの一意性が保障できない場合がある。例えば、図3A,3Bに示すようなケースで、データIDの一意性が崩れる。
According to the data management system configured in this way, data can be distributed and managed in a plurality of
まず、図3Aにおいて、リポジトリグループ80にリポジトリ[X]、リポジトリ[Y]などが属する場合に、リポジトリ[X]をバックアップする(なお、リポジトリ[X]は、リポジトリID[X]を付与されたリポジトリのことを意味する。他のリポジトリについても同様とする)。その後、図3Bに示すように、バックアップされたリポジトリ[X]をリカバリして、別のリポジトリ[Z]としてリポジトリグループ80に追加する。すると、リポジトリ[X]が保管するデータのデータIDとリポジトリ[Z]が保管するデータのデータIDとは重複し、データIDの一意性が崩れてしまう。このように、バックアップされたリポジトリを、リカバリした後、リポジトリグループに追加すると、バックアップされたリポジトリが保管するデータのデータIDと既存の所属リポジトリが保管するデータのデータIDとの間でデータIDの一意性が保障できない場合がある。本システムでは、クライアント50は、データに付与されているデータIDが一意性を保っているために、所望のデータを特定して、そのデータをデータサーバ10から取得することができる。しかし、上記のように、データIDが重複し、データIDの一意性が崩れると、データを一意に特定することができず、クライアント50は、所望のデータを取得できなくなる。
First, in FIG. 3A, when the repository [X], the repository [Y], etc. belong to the
そこで、本実施形態では、バックアップされたリポジトリをリカバリして、リポジトリグループに追加する要求をユーザから受けた場合、リポジトリ管理部30は、図4に示す手順に基づいて、バックアップされたリポジトリをリポジトリグループに追加するか否かを判定する。
Therefore, in this embodiment, when receiving a request from the user to recover the backed up repository and add it to the repository group, the
まず、リポジトリ管理部30は、グループ追加対象となるリポジトリのバックアップデータに付与されたリポジトリIDを取得する(S100)。次いで、リポジトリ管理部30は、所属リポジトリID保持部34が保持する所属リポジトリ情報を参照することで、取得したリポジトリIDと一致する所属リポジトリのリポジトリIDが存在するか否かを判定する(S102)。判定の結果、取得したリポジトリIDと一致する所属リポジトリのリポジトリIDが存在する場合(S102の判定結果が、肯定「Y」)、リポジトリ管理部30は、バックアップされたリポジトリが保管するデータの中に、現在リポジトリグループに属する所属リポジトリが保管するデータと同一のデータIDが付与されたデータが存在すると判断して、そのバックアップされたリポジトリをリポジトリグループに追加せずに、処理を終了する。
First, the
一方、判定の結果、取得したリポジトリIDと一致する所属リポジトリのリポジトリIDが存在しない場合(S102の判定結果が、否定「N」)、リポジトリ管理部30は、バックアップデータをリカバリする(S104)。次いで、リポジトリ管理部30は、リカバリしたバックアップデータをリポジトリグループに新たなリポジトリとして追加する(S106)。
On the other hand, if the repository ID of the affiliated repository that matches the acquired repository ID does not exist as a result of the determination (the determination result of S102 is negative “N”), the
以上のように、本実施形態では、リポジトリ管理部30は、バックアップデータのリポジトリに付与されたリポジトリIDと同一のリポジトリIDが付与された所属リポジトリが存在する場合、バックアップデータのリポジトリをリポジトリグループに追加することを許可しない。これにより、バックアップされたリポジトリをリポジトリグループに追加することが原因で、リポジトリグループ内においてデータIDの一意性が崩れることを防止することができる。
As described above, in this embodiment, the
続いて、本実施形態の第1の変形例について説明する。第1の変形例では、リポジトリの分割および統合が行われた場合でも、バックアップされたリポジトリをリポジトリグループに追加されることが原因で、リポジトリグループ内においてデータIDの一意性が崩れることを防止する。 Then, the 1st modification of this embodiment is demonstrated. In the first modification, even when the repository is divided and integrated, the uniqueness of the data ID is prevented from being lost in the repository group due to the addition of the backed up repository to the repository group. .
まず、本題に入る前に、リポジトリの分割及び統合について、図5,図6を用いて説明する。図5は、リポジトリの分割時におけるイメージを示す。図5に示すように、リポジトリの分割とは、1つのリポジトリに保管されているデータ群を、データIDを変更せずに、複数の新たなリポジトリに分配することをいう。なお、分割前のリポジトリは、分割により消失する。次に、図6は、リポジトリの統合時におけるイメージを示す。図6に示すように、リポジトリの統合とは、複数のリポジトリに保管されているデータ群を、データIDを変更せずに、新たな1つのリポジトリにまとめることをいう。なお、統合前のリポジトリは、統合により消失する。 First, before entering the main topic, the division and integration of repositories will be described with reference to FIGS. FIG. 5 shows an image when the repository is divided. As shown in FIG. 5, the division of the repository means that a data group stored in one repository is distributed to a plurality of new repositories without changing the data ID. Note that the repository before splitting disappears due to splitting. Next, FIG. 6 shows an image at the time of repository integration. As shown in FIG. 6, repository integration refers to grouping data groups stored in a plurality of repositories into a new repository without changing the data ID. Note that the repository before integration disappears due to integration.
ここで、リポジトリを分割した後に、バックアップされたリポジトリをリポジトリグループに追加した場合に、データIDの一意性が崩れるケースについて、図7A,図7Bを用いて説明する。 Here, a case where the uniqueness of the data ID is lost when the backed up repository is added to the repository group after dividing the repository will be described with reference to FIGS. 7A and 7B.
まず、図7Aに示す通り、リポジトリ[X]をバックアップする(S200)。次いで、リポジトリ[X]を、リポジトリ[G]とリポジトリ[H]に分割する(S202)。その後、図7Bに示す通り、リポジトリ[G]が破損したため(S204)、リポジトリ[G]を破棄して、リポジトリ[X]のバックアップデータをリカバリして得られるリポジトリ[J]をリポジトリグループに追加する(S206)。すると、リポジトリ[J]に保管されているデータのデータIDと、リポジトリ[H]に保管されているデータのデータIDとが重複する。 First, as shown in FIG. 7A, the repository [X] is backed up (S200). Next, the repository [X] is divided into the repository [G] and the repository [H] (S202). After that, as shown in FIG. 7B, since the repository [G] is damaged (S204), the repository [G] is discarded and the repository [J] obtained by recovering the backup data of the repository [X] is added to the repository group. (S206). Then, the data ID of the data stored in the repository [J] and the data ID of the data stored in the repository [H] overlap.
このように、リポジトリの分割および統合が行われた後に、バックアップされたリポジトリをリポジトリグループに追加されることが原因で、リポジトリグループ内においてデータIDの一意性が崩れる場合がある。 As described above, the uniqueness of the data ID may be lost in the repository group because the backed up repository is added to the repository group after the repository is divided and integrated.
そこで、第1の変形例では、バックアップされたリポジトリをリカバリして、リポジトリグループに追加する要求をユーザから受けた場合、リポジトリ管理部30は、以下に示す手順に基づいて、バックアップされたリポジトリをリポジトリグループに追加するか否かを判定する。
Therefore, in the first modification, when the user receives a request from the user to recover the backed up repository and add it to the repository group, the
図8は、第1の変形例におけるデータサーバ10の機能ブロックを示す図である。図8において、図2と同一のブロックについては同一符号を付してある。上記の実施形態におけるデータサーバ10との違いは、分割統合処理部38と派生関係保持部28とを備える点である。
FIG. 8 is a diagram showing functional blocks of the
分割統合処理部38は、上記の通り、ユーザからの指示に基づいて、リポジトリの分割もしくは統合の処理を行う。派生関係保持部28は、リポジトリの分割もしくは統合により発生するリポジトリの派生関係の情報を保持する。つまり、派生関係保持部28には、リポジトリの分割や統合の履歴情報が保持される。
As described above, the division
図9は、リポジトリの分割および統合によって発生するリポジトリ間の派生関係を示すイメージ図である。図9では、リポジトリ[A]がリポジトリ[B]とリポジトリ[C]とに分割され、さらに、リポジトリ[C]が、リポジトリ[D],リポジトリ[E],リポジトリ[F]に分割されている。次いで、リポジトリ[B]とリポジトリ[D]とが統合され、リポジトリ[G]が生成されている。図9において、各リポジトリの各派生関係保持部28には、それぞれ各リポジトリの下に描いた派生関係情報が保持される。
FIG. 9 is an image diagram showing a derivation relationship between repositories generated by dividing and integrating repositories. In FIG. 9, repository [A] is divided into repository [B] and repository [C], and repository [C] is further divided into repository [D], repository [E], and repository [F]. . Next, the repository [B] and the repository [D] are integrated to generate the repository [G]. In FIG. 9, each derivation
図10は、リポジトリの分割時におけるリポジトリ管理部30の処理手順を示す図である。リポジトリ管理部30は、ユーザからリポジトリの分割指示を受けると、分割元のリポジトリが保持する派生関係情報を取得する(S300)。さらに、リポジトリ管理部30は、分割後の各リポジトリに対応するリポジトリIDをそれぞれ生成する(S302)。リポジトリ管理部30は、生成した各リポジトリIDに応じて、派生関係情報を更新する(S304)。つまり、分割前のリポジトリを「親」、分割後の各リポジトリを「子」となるように派生関係情報を更新する。その後、リポジトリ管理部30は、生成したリポジトリIDを分割後のリポジトリに提供するとともに、更新した派生関係情報も分割後のリポジトリに提供する(S306)。これにより、分割後のリポジトリ12にそれぞれリポジトリIDが付与され、派生関係保持部28に派生関係情報が格納される。
FIG. 10 is a diagram illustrating a processing procedure of the
図11は、リポジトリの統合時におけるリポジトリ管理部30の処理手順を示す図である。リポジトリ管理部30は、ユーザからリポジトリの統合指示を受けると、統合元の各リポジトリが保持する派生関係情報を取得する(S400)。さらに、リポジトリ管理部30は、統合後のリポジトリに対応するリポジトリIDを生成する(S402)。リポジトリ管理部30は、生成したリポジトリIDに応じて、派生関係情報を更新する(S404)。その後、リポジトリ管理部30は、生成したリポジトリIDを統合後のリポジトリに提供するとともに、更新した派生関係情報も統合後のリポジトリに提供する(S406)。これにより、統合後のリポジトリ12にリポジトリIDが付与され、派生関係保持部28に派生関係情報が格納される。
FIG. 11 is a diagram illustrating a processing procedure of the
続いて、第1の変形例におけるリポジトリ管理部30が、バックアップされたリポジトリをリポジトリグループに追加する要求をユーザから受けた場合の処理手順について、図12に示すフローチャートを用いて説明する。
Next, a processing procedure when the
まず、リポジトリ管理部30は、グループ追加対象となるリポジトリのバックアップデータに付与されたリポジトリIDを取得する(S500)。さらに、リポジトリ管理部30は、所属リポジトリID保持部34に保持された所属リポジトリ情報を参照して、現在リポジトリグループに含まれる所属リポジトリを特定し、各所属リポジトリから派生関係情報を取得する(S502)。そして、リポジトリ管理部30は、取得したリポジトリIDと、各派生関係情報とを参照して、グループ追加対象のリポジトリが、所属リポジトリの先祖または子孫に該当するか否かを判定する(S504)。判定の結果、グループ追加対象のリポジトリが、所属リポジトリの先祖または子孫に該当する場合には(S504での判定結果が、肯定「Y」)、バックアップされたリポジトリが保管するデータの中に、現在リポジトリグループに属する所属リポジトリが保管するデータと同一のデータIDが付与されたデータが存在すると判断して、そのバックアップされたリポジトリをリポジトリグループに追加せずに、処理を終了する。
First, the
一方、判定の結果、グループ追加対象のリポジトリが、所属リポジトリの先祖または子孫に該当しない場合には(S504での判定結果が、否定「N」)、リポジトリ管理部30は、バックアップデータをリカバリする(S506)。次いで、リポジトリ管理部30は、リカバリしたバックアップデータをリポジトリグループに新たなリポジトリとして追加する(S508)。
On the other hand, as a result of the determination, if the repository to which the group is to be added does not correspond to an ancestor or descendant of the belonging repository (the determination result in S504 is negative “N”), the
このように、第1の変形例では、リポジトリ管理部30は、バックアップされたリポジトリをリポジトリグループに追加する要求をユーザから受けた場合、グループ追加対象のリポジトリが、所属リポジトリの先祖または子孫に該当するかどうかを判定して、先祖または子孫に該当しない場合に、バックアップされたリポジトリをリポジトリグループに追加する。これにより、リポジトリの分割および統合が行われた後に、バックアップされたリポジトリをリポジトリグループに追加されることが原因で、リポジトリグループ内においてデータIDの一意性が崩れることを防止することができる。
As described above, in the first modification, when the
ここで、S504の判定において、グループ追加対象のリポジトリが、所属リポジトリの先祖または子孫に該当する場合としない場合の具体例について説明する。 Here, a specific example will be described in which the repository to which the group is to be added corresponds to the ancestor or descendant of the belonging repository in the determination of S504.
まず、図13Aは、グループ追加対象のリポジトリが、所属リポジトリの先祖に該当する場合の例を示す。 First, FIG. 13A shows an example in which a repository to which a group is added corresponds to an ancestor of a belonging repository.
(A−1)は、次のようなリポジトリ間の派生関係を示している。まず、リポジトリ[A]がバックアップされた後、リポジトリ[B]とリポジトリ[C]とに分割されたこを示す。さらに、リポジトリ[C]がリポジトリ[D],リポジトリ[E]とに分割されたことを示す。そして、(A−2)は、(A−1)の派生関係を持つリポジトリグループにおいて、破損等が原因によりリポジトリ[B]がリポジトリグループから除外されたことを示している。(A−2)の派生関係を持つリポジトリグループにおいて、バックアップされたリポジトリ[A]をリポジトリグループに追加しようとする。この場合、リポジトリ[A]は、所属リポジトリであるリポジトリ[D],リポジトリ[E]の先祖に該当する。よって、リポジトリ管理部30は、バックアップされたリポジトリ[A]をリポジトリグループに追加せずに、処理を終了する。
(A-1) shows the following derivation relationship between repositories. First, after the repository [A] is backed up, it is divided into the repository [B] and the repository [C]. Further, the repository [C] is divided into the repository [D] and the repository [E]. (A-2) indicates that the repository [B] is excluded from the repository group due to damage or the like in the repository group having the derivation relationship of (A-1). In the repository group having the derivation relationship (A-2), an attempt is made to add the backed up repository [A] to the repository group. In this case, the repository [A] corresponds to the ancestors of the repository [D] and the repository [E] that are the belonging repositories. Therefore, the
続いて、図13Bは、グループ追加対象のリポジトリが、所属リポジトリの子孫に該当する場合の例を示す。 Subsequently, FIG. 13B shows an example in which the repository to which the group is added corresponds to a descendant of the belonging repository.
(B−1)は、次のようなリポジトリ間の派生関係を示している。まず、リポジトリ[A]がバックアップされた後、リポジトリ[B]とリポジトリ[C]とに分割されたことを示す。さらに、リポジトリ[C]はバックアップされた後に、リポジトリ[D],リポジトリ[E]とに分割されたことを示す。(B−2)は、(B−1)の派生関係を持つリポジトリグループにおいて、破損等が原因によりリポジトリ[B],リポジトリ[D],リポジトリ[E]がリポジトリグループから除外された後に、バックアップされたリポジトリ[A]をリポジトリ[T]としてリポジトリグループに追加された場合のリポジトリ間の派生関係を示している。(B−2)の派生関係を持つリポジトリグループにおいて、バックアップされたリポジトリ[C]をさらにリポジトリグループに追加しようとする。この場合、リポジトリ[C]は、所属リポジトリであるリポジトリ[T]の子孫に該当する。よって、リポジトリ管理部30は、バックアップされたリポジトリ[C]をリポジトリグループに追加せずに、処理を終了する。
(B-1) shows the following derivation relationship between repositories. First, the repository [A] is backed up and then divided into the repository [B] and the repository [C]. Further, the repository [C] is divided into the repository [D] and the repository [E] after being backed up. (B-2) is a backup after the repository [B], repository [D], and repository [E] are excluded from the repository group due to damage or the like in the repository group having the derivation relationship of (B-1). It shows a derivation relationship between repositories when added repository [A] is added to the repository group as repository [T]. In the repository group having the derivation relationship (B-2), the backup repository [C] is further added to the repository group. In this case, the repository [C] corresponds to a descendant of the repository [T] that is the affiliated repository. Therefore, the
一方、図13Cは、グループ追加対象のリポジトリが、所属リポジトリの先祖および子孫に該当しない場合の例を示す。 On the other hand, FIG. 13C shows an example in which the repository to which the group is added does not correspond to the ancestor and descendant of the belonging repository.
(C−1)は、次のような分割及び統合が行われた場合のリポジトリ間の派生関係を示している。まず、リポジトリ[A]がリポジトリ[B]とリポジトリ[C]とに分割された後、リポジトリ[C]がリポジトリ[D]とリポジトリ[E]とに分割されたことを示す。さらに、リポジトリ[B]がバックアップされた後に、リポジトリ[B]とリポジトリ[D]とが統合され、リポジトリ[G]がリポジトリグループに追加されたことを示す。(C−2)は、(C−1)の派生関係を持つリポジトリグループにおいて、破損等が原因によりリポジトリ[G]がリポジトリグループから除外されたことを示している。(C−2)の派生関係を持つリポジトリグループにおいて、バックアップされたリポジトリ[B]をリポジトリグループに追加しようとする。この場合、リポジトリ[B]は、所属リポジトリであるリポジトリ[E]の先祖にも子孫にも該当しない。よって、リポジトリ管理部30は、バックアップされたリポジトリ[B]をリポジトリグループに追加することができる。
(C-1) shows a derivation relationship between repositories when the following division and integration are performed. First, after the repository [A] is divided into the repository [B] and the repository [C], the repository [C] is divided into the repository [D] and the repository [E]. Further, after the repository [B] is backed up, the repository [B] and the repository [D] are integrated, and the repository [G] is added to the repository group. (C-2) indicates that the repository [G] is excluded from the repository group due to damage or the like in the repository group having the derivation relationship of (C-1). In the repository group having the derivation relationship (C-2), an attempt is made to add the backed up repository [B] to the repository group. In this case, the repository [B] does not correspond to an ancestor or a descendant of the repository [E] that is the affiliated repository. Therefore, the
バックアップされたリポジトリが、所属リポジトリの先祖または子孫に該当する場合、バックアップされたリポジトリをリポジトリグループに追加すると、現在リポジトリグループに含まれる所属リポジトリとバックアップされたリポジトリとの間でデータIDの重複が生じる場合がある。そのため、第1の変形例では、バックアップされたリポジトリが、所属リポジトリの先祖または子孫に該当する場合は、バックアップされたリポジトリをリポジトリグループに追加することを禁止する。これにより、リポジトリの分割および統合が行われた後に、バックアップされたリポジトリをリポジトリグループに追加されることが原因で、リポジトリグループ内においてデータIDの一意性が崩れることを防止することができる。 If the backed up repository corresponds to an ancestor or descendant of the affiliated repository, adding the backed up repository to the repository group causes duplicate data IDs between the affiliated repository currently included in the repository group and the backed up repository. May occur. Therefore, in the first modification, when the backed up repository corresponds to an ancestor or descendant of the affiliated repository, it is prohibited to add the backed up repository to the repository group. Thereby, it is possible to prevent the uniqueness of the data ID in the repository group from being lost because the backed up repository is added to the repository group after the repository is divided and integrated.
続いて、本実施形態の第2の変形例について説明する。第2の変形例では、所属リポジトリ間でデータの移動が行われた場合でも、バックアップされたリポジトリをリポジトリグループに追加されることが原因で、リポジトリグループ内においてデータIDの一意性が崩れることを防止する。なお、データの移動とは、データとデータIDとを対にして、それらをある所属リポジトリから別の所属リポジトリへ移動させることをいう。この場合、移動元の所属リポジトリからは、移動対象となったデータおよびデータIDは消失する。 Then, the 2nd modification of this embodiment is demonstrated. In the second modification, even when data is moved between the affiliated repositories, the uniqueness of the data ID is lost in the repository group because the backed up repository is added to the repository group. To prevent. Note that data movement means that data and data ID are paired and moved from one affiliated repository to another affiliated repository. In this case, the data and the data ID to be moved disappear from the migration source repository.
ここで、データを移動した後に、バックアップされたリポジトリをリポジトリグループに追加した場合に、データIDの一意性が崩れるケースについて、図14を用いて説明する。 Here, a case where the uniqueness of the data ID is lost when the backed up repository is added to the repository group after the data is moved will be described with reference to FIG.
図14では、リポジトリグループにリポジトリ[A]とリポジトリ[B]とが存在する場合を想定する。まず、リポジトリ[A]をバックアップした後(S600)、リポジトリ[A]からデータID[a]が付与されたデータをリポジトリ[B]へ移動する(S602)。その後、リポジトリ[A]が破損したため(S604)、バックアップされたリポジトリ[A]をリストアして、リポジトリ[C]として新たにリポジトリグループに追加したとする(S606)。すると、この場合、移動されたデータのデータID[a]が、リポジトリ[B]とリポジトリ[C]との間で重複してしまう。このように、所属リポジトリ間でデータの移動が行われていた場合、バックアップされたリポジトリをリポジトリグループに追加することにより、リポジトリグループ内においてデータIDの一意性が崩れる場合がある。 In FIG. 14, it is assumed that the repository [A] and the repository [B] exist in the repository group. First, after backing up the repository [A] (S600), the data to which the data ID [a] is assigned is moved from the repository [A] to the repository [B] (S602). Thereafter, since the repository [A] is damaged (S604), it is assumed that the backed up repository [A] is restored and newly added as a repository [C] to the repository group (S606). In this case, the data ID [a] of the moved data is duplicated between the repository [B] and the repository [C]. As described above, when data is moved between the affiliated repositories, the uniqueness of the data ID may be lost in the repository group by adding the backed up repository to the repository group.
上記のようなデータIDの一意性の崩れを防止するために、リポジトリ管理部30が、バックアップされたリポジトリをリポジトリグループに追加する前に、次のような処理を行うことが考えられる。すなわち、リポジトリ管理部30が、バックアップされたリポジトリに保管されているデータのデータIDの中に、現在の所属リポジトリが保管するデータのデータIDと一致するデータIDが存在するか否かを判定する。そして、判定の結果、一致するデータIDが存在する場合には、リポジトリ管理部30は、バックアップされたリポジトリをリポジトリグループに追加しない。もしくは、リポジトリ管理部30は、データIDが一致したデータを除いて、バックアップされたリポジトリをリポジトリグループに追加する。このような処理を行うことにより、データIDの一意性の崩れを防止することができる。しかし、上記のような処理では、リポジトリグループに存在する所属リポジトリの保管するデータが大量に存在する場合、データIDが一致するデータを検索するのに時間がかかり、リポジトリ管理部30が、バックアップデータをリカバリして、リポジトリグループに追加するまでの時間が非常にかかってしまう場合がある。
In order to prevent the collapse of the uniqueness of the data ID as described above, it is conceivable that the
そこで、第2の変形例では、バックアップされたリポジトリをリカバリして、リポジトリグループに追加する要求をユーザから受けた場合、リポジトリ管理部30は、以下に示す手順に基づいて、バックアップされたリポジトリをリポジトリグループに追加するか否かを判定する。
Therefore, in the second modification, when receiving a request from the user to recover the backed up repository and add it to the repository group, the
図15は、第2の変形例におけるリポジトリ管理部30の機能ブロックを示す図である。図15において、図2と同一のブロックについては同一符号を付してある。上記の実施形態におけるデータサーバ10との違いは、移動処理部40と移動情報保持部42とを備える点である。
FIG. 15 is a diagram illustrating functional blocks of the
移動処理部40は、上述した所属リポジトリ間のデータの移動を行う。移動情報保持部42は、移動処理部40が行った際の移動情報を保持する。移動情報とは、図16に示すように、移動元のリポジトリID102と移動先リポジトリID104と移動対象データID106とを関連づけた情報である。リポジトリ管理部30は、この移動情報を参照することで、どのリポジトリからどのデータがそのリポジトリへ移動したのかを把握することができる。
The
ここで、第2の変形例におけるリポジトリ管理部30が、バックアップされたリポジトリをリポジトリグループに追加する要求をユーザから受けた場合の処理手順について、図17に示すフローチャートを用いて説明する。
Here, a processing procedure when the
まず、リポジトリ管理部30は、グループ追加対象となるリポジトリのバックアップデータに付与されたリポジトリIDを取得する(S700)。さらに、リポジトリ管理部30は、移動情報保持部42が保持する移動情報を取得する(S702)。次いで、リポジトリ管理部30は、移動情報を参照することで、グループ追加対象となるリポジトリは、移動元リポジトリに該当するか否かを判定する(S704)。判定の結果、グループ追加対象となるリポジトリが移動元リポジトリに該当しない場合(S704での判定結果が、否定「N」)、リポジトリ管理部30は、バックアップデータをリカバリする(S706)。次いで、リポジトリ管理部30は、リカバリしたバックアップデータをリポジトリグループに新たなリポジトリとして追加する(S708)。
First, the
一方、判定の結果、グループ追加対象となるリポジトリが移動元リポジトリに該当する場合(S704での判定結果が、肯定「Y」)、バックアップされたリポジトリが保管するデータの中に、現在リポジトリグループに属する所属リポジトリが保管するデータと同一のデータIDが付与されたデータが存在すると判断して、そのバックアップされたリポジトリをリポジトリグループに追加せずに、処理を終了する。 On the other hand, as a result of the determination, if the repository to which the group is to be added corresponds to the migration source repository (the determination result in S704 is affirmative “Y”), the data stored in the backed up repository is included in the current repository group. It is determined that there is data to which the same data ID as the data stored in the affiliated repository belongs, and the processing ends without adding the backed up repository to the repository group.
このように、第2の変形例では、リポジトリ管理部30は、バックアップされたリポジトリがデータの移動元となるリポジトリに該当する場合には、そのバックアップされたリポジトリをリポジトリグループに追加しない。これにより、所属リポジトリ間でデータの移動が行われていた場合に、バックアップされたリポジトリをリポジトリグループに追加したことが原因で、リポジトリグループ内においてデータIDの一意性が崩れることを防止することができる。
As described above, in the second modification, the
なお、第2の変形例では、グループ追加対象のバックアップデータがデータの移動元となるリポジトリに該当する場合には、そのバックアップデータをリポジトリグループに追加しない例について説明した。しかし、バックアップデータに含まれる移動データを削除した後に、そのバックアップデータをリポジトリグループに追加してもよい。そこで、本実施形態の第3の変形例として、移動データを削除する場合を説明する。 Note that, in the second modification, when backup data to be added to a group corresponds to a repository that is a data transfer source, an example in which the backup data is not added to a repository group has been described. However, after the migration data included in the backup data is deleted, the backup data may be added to the repository group. Therefore, a case where movement data is deleted will be described as a third modification of the present embodiment.
図18は、第3の変形例において、バックアップされたリポジトリをリポジトリグループに追加する要求をユーザから受けた場合のリポジトリ管理部30の処理手順を示すフローチャートである。図18において、図17と同一の処理については同一符号を付してある。
FIG. 18 is a flowchart illustrating a processing procedure of the
図18において、バックアップデータがデータの移動元となるリポジトリに該当する場合には(S704での判定結果が、肯定「Y」)、リポジトリ管理部30は、そのバックアップデータから移動対象データを削除した後(S705)、バックアップデータのリカバリ及びリポジトリグループの追加を行う(S706,S708)。
In FIG. 18, when the backup data corresponds to the repository from which the data is moved (the determination result in S704 is affirmative “Y”), the
以上、実施形態および各変形例によれば、リポジトリ管理部30が、バックアップされたリポジトリをリカバリして、リポジトリグループに追加することが原因で、リポジトリグループ内においてデータIDの一意性が崩れることを防止することができる。
As described above, according to the embodiment and each modification, the
なお、リポジトリ管理部30は、バックアップされたリポジトリをリカバリして、リポジトリグループに追加する要求をユーザから受けた場合、上記の実施形態および各変形例において説明した各判定をすべて満たす場合に、バックアップされたリポジトリをリポジトリグループに追加してもよい。
The
つまり、以下の3つの条件を満たす場合に、リポジトリ管理部30は、バックアップされたリポジトリをリポジトリグループに追加することを許可する。
(1)バックアップデータのリポジトリに付与されたリポジトリIDと同一のリポジトリIDを付与された所属リポジトリが存在しない。
(2)バックアップされたリポジトリが、所属リポジトリの先祖または子孫に該当しない。
(3)バックアップされたリポジトリがデータの移動元となるリポジトリに該当しない。
That is, when the following three conditions are satisfied, the
(1) There is no affiliated repository assigned the same repository ID as the repository ID assigned to the repository of backup data.
(2) The backed up repository does not correspond to the ancestor or descendant of the affiliated repository.
(3) The backed up repository does not correspond to the repository from which the data is moved.
10 データサーバ、12 リポジトリ、14 データ格納部、20 ID生成部、28 派生関係保持部、30 リポジトリ管理部、32 グループ編成部、34 所属リポジトリID保持部、36 バックアップ・リカバリ処理部、38 分割統合処理部、40 移動処理部、42 移動情報保持部、50 クライアント、60 ネットワーク、80 リポジトリグループ。 10 data servers, 12 repositories, 14 data storage units, 20 ID generation units, 28 derivation relationship holding units, 30 repository management units, 32 group organization units, 34 affiliated repository ID holding units, 36 backup / recovery processing units, 38 division integration Processing unit, 40 migration processing unit, 42 migration information holding unit, 50 clients, 60 networks, 80 repository groups.
Claims (7)
前記リポジトリグループに属するリポジトリに保管されたデータを当該リポジトリのリポジトリIDも含めてバックアップしたバックアップ先のリポジトリであって前記リポジトリグループに属さないバックアップ先のリポジトリについて、当該バックアップ先のリポジトリを前記リポジトリグループに追加する要求を受けた場合、前記バックアップ先のリポジトリのリポジトリIDが、前記リポジトリグループに含まれる各リポジトリに付与されている各リポジトリIDのいずれとも一致しないかを判定し、
判定の結果、前記リポジトリグループに含まれるリポジトリに付与されているリポジトリIDの中に前記バックアップ先のリポジトリのリポジトリIDと一致するリポジトリIDが存在しない場合に、前記バックアップ先のリポジトリを前記リポジトリグループに追加する、
ようにコンピュータを機能させるためのプログラム。 A plurality of repositories that store at least one data to which a unique data ID is assigned are respectively associated with a unique repository ID and configured as one repository group,
A backup destination repository that backs up data stored in a repository that belongs to the repository group including the repository ID of the repository, and the backup destination repository that does not belong to the repository group is the backup destination repository. The repository ID of the repository at the backup destination does not match any of the repository IDs assigned to the respective repositories included in the repository group,
As a result of the determination, if there is no repository ID that matches the repository ID of the backup destination repository among the repository IDs assigned to the repositories included in the repository group, the backup destination repository is assigned to the repository group. to add,
Program to make the computer function.
リポジトリの分割もしくは統合により生じるリポジトリID間の派生関係を示す情報を生成し、
前記リポジトリグループに属するリポジトリに保管されたデータを当該リポジトリのリポジトリIDも含めてバックアップしたバックアップ先のリポジトリであって前記リポジトリグループに属さないバックアップ先のリポジトリについて、当該バックアップ先のリポジトリを前記リポジトリグループに追加する要求を受けた場合、前記派生関係を示す情報を参照して、前記バックアップ先のリポジトリが前記リポジトリグループに含まれる各リポジトリの前記派生関係における先祖もしくは子孫に該当しないかを判定し、
判定の結果、前記バックアップ先のリポジトリが前記リポジトリグループに含まれる各リポジトリの先祖もしくは子孫に該当しない場合に、前記バックアップ先のリポジトリを前記リポジトリグループに追加する、
ようにコンピュータを機能させるためのプログラム。 A plurality of repositories that store at least one data to which a unique data ID is assigned are respectively associated with a unique repository ID and configured as one repository group,
Generate information that shows the derivation relationship between repository IDs generated by repository division or integration,
A backup destination repository that backs up data stored in a repository that belongs to the repository group including the repository ID of the repository, and the backup destination repository that does not belong to the repository group is the backup destination repository. In response to a request to add to, referring to the information indicating the derivation relationship, determine whether the backup destination repository does not correspond to an ancestor or a descendant in the derivation relationship of each repository included in the repository group,
As a result of the determination, when the backup destination repository does not correspond to an ancestor or descendant of each repository included in the repository group, the backup destination repository is added to the repository group.
Program to make the computer function.
あるリポジトリに保管されているデータが別のリポジトリに移動した場合に、移動元のリポジトリに付与されたリポジトリIDと、移動したデータに付与されたデータIDと、移動先のリポジトリに付与されたリポジトリIDとを関連づけた移動情報を生成し、
前記リポジトリグループに属するリポジトリに保管されたデータを当該リポジトリのリポジトリIDも含めてバックアップしたバックアップ先のリポジトリであって前記リポジトリグループに属さないバックアップ先のリポジトリについて、当該バックアップ先のリポジトリを前記リポジトリグループに追加する要求を受けた場合、前記移動情報を参照して、前記バックアップ先のリポジトリに保管されているデータ群の中に、前記リポジトリグループに含まれるリポジトリに移動されたデータが存在しないかを判定し、
判定の結果、前記バックアップ先のリポジトリに保管されているデータ群の中に、前記リポジトリグループに含まれるリポジトリに移動されたデータが存在しない場合、前記バックアップ先のリポジトリを前記リポジトリグループに追加する、
ようにコンピュータを機能させるためのプログラム。 A plurality of repositories that store at least one data to which a unique data ID is assigned are respectively associated with a unique repository ID and configured as one repository group,
When data stored in a repository is moved to another repository, the repository ID assigned to the source repository, the data ID assigned to the moved data, and the repository assigned to the destination repository Generate movement information in association with ID,
A backup destination repository that backs up data stored in a repository that belongs to the repository group including the repository ID of the repository, and the backup destination repository that does not belong to the repository group is the backup destination repository. In response to a request to add to the repository, the migration information is referenced to check whether data moved to the repository included in the repository group exists in the data group stored in the backup destination repository. Judgment,
Result of the determination, in the group data stored in the backup destination repository, when the mobile data in the repository that is included in the repository group does not exist, adding the backup destination repository to the repository group,
Program to make the computer function.
判定の結果、前記バックアップ先のリポジトリに保管されているデータ群の中に、前記リポジトリグループに含まれるリポジトリに移動されたデータが存在する場合、そのデータを除いて前記バックアップ先のリポジトリを前記リポジトリグループに追加する、
ようにコンピュータを機能させるためのプログラム。 In the program according to claim 3,
Result of the determination, in the data set that is stored in the backup destination repository, the repository if the data moved to the repository in the group is present, the repository the backup destination repository except that data Add to group,
Program to make the computer function.
前記リポジトリグループに属するリポジトリに保管されたデータを当該リポジトリのリポジトリIDも含めてバックアップしたバックアップ先のリポジトリであって前記リポジトリグループに属さないバックアップ先のリポジトリについて、当該バックアップ先のリポジトリを前記リポジトリグループに追加する要求を受けた場合、前記バックアップ先のリポジトリのリポジトリIDが、前記リポジトリグループに含まれる各リポジトリに付与されている各リポジトリIDのいずれかとも一致しないかを判定するID判定部と、
判定の結果、前記リポジトリグループに含まれるリポジトリに付与されているリポジトリIDの中に前記バックアップ先のリポジトリのリポジトリIDと一致するリポジトリIDが存在しない場合に、前記バックアップ先のリポジトリを前記リポジトリグループに追加するグループ追加部と、
を備えるデータサーバ。 A plurality of repositories that store at least one piece of data assigned with a unique data ID, each associated with a unique repository ID, and configured as one repository group;
A backup destination repository that backs up data stored in a repository that belongs to the repository group including the repository ID of the repository, and the backup destination repository that does not belong to the repository group is the backup destination repository. An ID determination unit that determines whether the repository ID of the repository at the backup destination does not match any of the repository IDs assigned to the repositories included in the repository group;
As a result of the determination, if there is no repository ID that matches the repository ID of the backup destination repository among the repository IDs assigned to the repositories included in the repository group, the backup destination repository is assigned to the repository group. A group addition part to be added;
A data server comprising:
リポジトリの分割もしくは統合により生じるリポジトリID間の派生関係を示す情報を生成する派生関係情報生成部と、
前記リポジトリグループに属するリポジトリに保管されたデータを当該リポジトリのリポジトリIDも含めてバックアップしたバックアップ先のリポジトリであって前記リポジトリグループに属さないバックアップ先のリポジトリについて、当該バックアップ先のリポジトリを前記リポジトリグループに追加する要求を受けた場合、前記派生関係を示す情報を参照して、前記バックアップ先のリポジトリが前記リポジトリグループに含まれる各リポジトリの前記派生関係における先祖もしくは子孫に該当しないかを判定する派生関係判定部と、
判定の結果、前記バックアップ先のリポジトリが前記リポジトリグループに含まれる各リポジトリの先祖もしくは子孫に該当しない場合に、前記バックアップ先のリポジトリを前記リポジトリグループに追加するグループ追加部と、
を備えるデータサーバ。 A plurality of repositories that store at least one piece of data assigned with a unique data ID, each associated with a unique repository ID, and configured as one repository group;
A derivation relationship information generation unit for generating information indicating a derivation relationship between repository IDs generated by division or integration of repositories;
A backup destination repository that backs up data stored in a repository that belongs to the repository group including the repository ID of the repository, and the backup destination repository that does not belong to the repository group is the backup destination repository. In response to a request to add to the database, refer to the information indicating the derivation relationship to determine whether the repository of the backup destination does not correspond to an ancestor or a descendant of the derivation relationship of each repository included in the repository group A relationship determination unit;
As a result of the determination, if the backup destination repository does not correspond to an ancestor or descendant of each repository included in the repository group, a group addition unit that adds the backup destination repository to the repository group;
A data server comprising:
あるリポジトリに保管されているデータが別のリポジトリに移動した場合に、移動元のリポジトリに付与されたリポジトリIDと、移動したデータに付与されたデータIDと、移動先のリポジトリに付与されたリポジトリIDとを関連づけた移動情報を生成する移動情報生成部と、
前記リポジトリグループに属するリポジトリに保管されたデータを当該リポジトリのリポジトリIDも含めてバックアップしたバックアップ先のリポジトリであって前記リポジトリグループに属さないバックアップ先のリポジトリについて、当該バックアップ先のリポジトリを前記リポジトリグループに追加する要求を受けた場合、前記移動情報を参照して、前記バックアップ先のリポジトリに保管されているデータ群の中に、前記リポジトリグループに含まれるリポジトリに移動されたデータが存在しないかを判定する移動判定部と、
判定の結果、前記バックアップ先のリポジトリに保管されているデータ群の中に、前記リポジトリグループに含まれるリポジトリに移動されたデータが存在しない場合、前記バックアップ先のリポジトリを前記リポジトリグループに追加するグループ追加部と、
を備えるデータサーバ。
A plurality of repositories that store at least one piece of data assigned with a unique data ID, each associated with a unique repository ID, and configured as one repository group;
When data stored in a repository is moved to another repository, the repository ID assigned to the source repository, the data ID assigned to the moved data, and the repository assigned to the destination repository A movement information generation unit that generates movement information in association with an ID;
A backup destination repository that backs up data stored in a repository that belongs to the repository group including the repository ID of the repository, and the backup destination repository that does not belong to the repository group is the backup destination repository. In response to a request to add to the repository, the migration information is referenced to check whether data moved to the repository included in the repository group exists in the data group stored in the backup destination repository. A movement determination unit for determining;
Result of the determination, in the group data stored in the backup destination repository, when the mobile data in the repository that is included in the repository group does not exist, a group of adding the backup destination repository to the repository group An additional part,
A data server comprising:
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2005271544A JP4867249B2 (en) | 2005-09-20 | 2005-09-20 | Data server and program |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2005271544A JP4867249B2 (en) | 2005-09-20 | 2005-09-20 | Data server and program |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2007086854A JP2007086854A (en) | 2007-04-05 |
| JP4867249B2 true JP4867249B2 (en) | 2012-02-01 |
Family
ID=37973810
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2005271544A Expired - Fee Related JP4867249B2 (en) | 2005-09-20 | 2005-09-20 | Data server and program |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP4867249B2 (en) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7991740B2 (en) * | 2008-03-04 | 2011-08-02 | Apple Inc. | Synchronization server process |
| JP2011175496A (en) * | 2010-02-25 | 2011-09-08 | Nec Corp | Computer management system |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2005196491A (en) * | 2004-01-07 | 2005-07-21 | Sony Corp | Backup support system, backup client, control server, recovery client, data backup method, data recovery method, and computer program thereof |
-
2005
- 2005-09-20 JP JP2005271544A patent/JP4867249B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2007086854A (en) | 2007-04-05 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP5727020B2 (en) | Cloud computing system and data synchronization method thereof | |
| US8380672B2 (en) | Backup control apparatus and method eliminating duplication of information resources | |
| JP4794143B2 (en) | System and method for managing cache objects using notification bonds | |
| CN103473277B (en) | The Snapshot Method and device of file system | |
| US20100161657A1 (en) | Metadata server and metadata management method | |
| US20050216523A1 (en) | File management method in a distributed storage system | |
| US8645978B2 (en) | Method for data maintenance | |
| CN110046062B (en) | Distributed data processing method and system | |
| EP2378437A1 (en) | Data synchronization methods in communication systems | |
| JPH1196182A (en) | Information management system, primary server, and secondary server | |
| JP4715774B2 (en) | Replication method, replication system, storage device, program | |
| CN112860480B (en) | A dual-active storage system and method for processing data | |
| US20070083485A1 (en) | File server, file providing method and recording medium | |
| JP4867249B2 (en) | Data server and program | |
| US7962600B2 (en) | WAFS disconnected-mode read-write access | |
| JP2005063374A (en) | Data management method, data management apparatus, program therefor, and recording medium | |
| JP2008524682A (en) | Rapid provisioning of computers to a homogenized resource pool | |
| JP3802977B2 (en) | Information contradiction judgment, correction apparatus and method, and information contradiction judgment and correction program in storage exchange type electronic conference system | |
| US12443446B2 (en) | Fencing off cluster services based on shared storage access keys | |
| JP2019509579A (en) | Information processing system | |
| CN106933699A (en) | A kind of data recovery, snapshot establishment, snapshot delet method and device | |
| JP4971717B2 (en) | Directory distributed storage device and data processing request transfer program | |
| WO2009123614A1 (en) | Updating retrieval codes in response to file transfers | |
| CN116915420A (en) | Synchronization methods, devices, equipment and storage media for configuration information | |
| CN113961576B (en) | Method and system for updating data by multiple indexes, electronic equipment and storage medium |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080821 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110614 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110810 |
|
| 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: 20111018 |
|
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20111031 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 4867249 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20141125 Year of fee payment: 3 |
|
| S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
| R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
| LAPS | Cancellation because of no payment of annual fees |