JP6607941B2 - データ処理方法、装置、およびシステム - Google Patents
データ処理方法、装置、およびシステム Download PDFInfo
- Publication number
- JP6607941B2 JP6607941B2 JP2017528138A JP2017528138A JP6607941B2 JP 6607941 B2 JP6607941 B2 JP 6607941B2 JP 2017528138 A JP2017528138 A JP 2017528138A JP 2017528138 A JP2017528138 A JP 2017528138A JP 6607941 B2 JP6607941 B2 JP 6607941B2
- Authority
- JP
- Japan
- Prior art keywords
- strip
- written
- read
- version number
- file
- 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.)
- Active
Links
- 238000003672 processing method Methods 0.000 title claims description 8
- 238000000034 method Methods 0.000 claims description 118
- 238000013500 data storage Methods 0.000 claims description 28
- 238000004590 computer program Methods 0.000 claims description 19
- 238000005516 engineering process Methods 0.000 claims description 8
- 230000001174 ascending effect Effects 0.000 claims description 6
- 238000013507 mapping Methods 0.000 description 53
- 230000006870 function Effects 0.000 description 12
- 238000004364 calculation method Methods 0.000 description 10
- 239000012634 fragment Substances 0.000 description 9
- 230000005540 biological transmission Effects 0.000 description 8
- 230000008859 change Effects 0.000 description 8
- 230000000295 complement effect Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 8
- 238000007726 management method Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 238000006243 chemical reaction Methods 0.000 description 4
- 239000013589 supplement Substances 0.000 description 4
- 238000012795 verification Methods 0.000 description 4
- 238000003491 array Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000035939 shock Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
- G06F16/128—Details of file system snapshots on the file-level, e.g. snapshot creation, administration, deletion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1461—Backup scheduling policy
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1464—Management of the backup or restore process for networked environments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
- G06F16/122—File system administration, e.g. details of archiving or snapshots using management policies
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0647—Migration mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/84—Using snapshots, i.e. a logical point-in-time copy of the data
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Human Computer Interaction (AREA)
- Quality & Reliability (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Retry When Errors Occur (AREA)
- Mobile Radio Communication Systems (AREA)
Description
オブジェクトがバックアップされている場合には、ストリップ記憶モジュールは、書込み予定のストリップを、オブジェクトID、書込み予定のストリップのバージョン番号、および書込み予定のストリップのオフセットを使用して決定される記憶位置に書き込むようにさらに構成される、または、オブジェクトがバックアップされていない場合には、ストリップ記憶モジュールは、書込み予定のストリップを使用して接合オブジェクトを作成し、その後、接合オブジェクトを書込み予定のストリップのバージョン番号およびオブジェクトIDを使用して決定される記憶位置に書き込むようにさらに構成される。
クライアントサーバは、書込み予定のデータのオフセットおよび書込み予定のデータのサイズに従って、書込み予定のデータを書込み予定のストリップを含む複数のストリップに分割し、書込み予定のストリップが属するオブジェクトのIDを決定し、書込み予定のストリップのオフセットを取得し、ストリップ書込み要求を作成してストリップ書込み要求をオブジェクトストレージデバイスに送信し、オブジェクトストレージデバイスは、ストリップ書込み要求を受信することであって、ストリップ書込み要求は、書込み予定のストリップ、書込み予定のストリップのバージョン番号、書込み予定のストリップのオフセット、および書込み予定のストリップのオブジェクトIDを搬送し、書込み予定のストリップのバージョン番号は、書込み予定のストリップが属するファイルの最新のスナップショットのスナップショットIDに対応しており、書込み予定のストリップのオフセットは、書込み予定のストリップが属するオブジェクト内の書込み予定のストリップの位置を表しており、書込み予定のストリップのオブジェクトIDは、書込み予定のストリップが属するオブジェクトのIDである、受信することを行い、書込み予定のストリップのバージョン番号およびオブジェクトIDを使用して決定されるオブジェクトがバックアップされているかどうかを決定し、オブジェクトがバックアップされている場合には、書込み予定のストリップを、オブジェクトID、書込み予定のストリップのバージョン番号、および書込み予定のストリップのオフセットを使用して決定される記憶位置に書き込む、または、オブジェクトがバックアップされていない場合には、書込み予定のストリップを使用して接合オブジェクトを作成し、その後、接合オブジェクトを書込み予定のストリップのバージョン番号およびオブジェクトIDを使用して決定される記憶位置に書き込むように構成される。
12 オブジェクトストレージデバイス
41 クライアントサーバ
411 プロセッサ
412 記憶媒体
413 インターフェース
42 オブジェクト処理デバイス
421 プロセッサ
422 記憶媒体
423 インターフェース
424 ハードディスク
51 クライアントサービング装置
511 ストリップ要求生成モジュール
512 ストリップ要求送信モジュール
513 スナップショットモジュール
52 オブジェクトストレージ装置
521 ストリップ要求受信モジュール
522 ストリップ記憶モジュール
523 ストリップ読出しモジュール
Claims (45)
- データストレージ方法であって、前記方法は、
オブジェクトストレージデバイス(OSD)によって、クライアントサーバによって送信されたストリップ書込み要求を受信するステップであって、前記ストリップ書込み要求は、書込み予定のストリップ、前記書込み予定のストリップのバージョン番号、前記書込み予定のストリップのオフセット、および前記書込み予定のストリップのオブジェクトIDを搬送し、前記書込み予定のストリップの前記バージョン番号は、前記書込み予定のストリップが属するファイルまたはボリュームの最新のスナップショットのスナップショットIDに対応しており、前記書込み予定のストリップの前記オフセットは、前記書込み予定のストリップが属するオブジェクト内の前記書込み予定のストリップの位置を表しており、前記書込み予定のストリップの前記オブジェクトIDは、前記書込み予定のストリップが属する前記オブジェクトのIDであり、前記オブジェクトは、前記ファイルまたは前記ボリュームに属する、ステップと、
前記OSDによって、前記書込み予定のストリップを、前記オブジェクトID、前記書込み予定のストリップの前記バージョン番号、および前記書込み予定のストリップの前記オフセットを使用して決定される記憶位置に書き込むステップとを含む、方法。 - クライアントサーバによって送信されたストリップ書込み要求を受信する前に、前記方法は、
前記クライアントサーバによって、前記書込み予定のストリップが属する前記ファイルまたは前記ボリュームのスナップショットを作成し、前記最新のスナップショットの前記スナップショットIDを生成するステップと、
前記最新のスナップショットの前記スナップショットIDに従って前記書込み予定のストリップの前記バージョン番号を生成するステップとをさらに含む、請求項1に記載の方法。 - 前記方法は、
前記クライアントサーバによって、前記ファイルまたは前記ボリュームのメタデータに対して前記ファイルまたは前記ボリュームに属する前記書込み予定のストリップの前記バージョン番号を更新するステップをさらに含む、請求項2に記載の方法。 - 前記OSDによって、ストリップ書込み要求を受信するステップの前に、前記方法は、
前記クライアントサーバによって、ファイル書込み要求を受信するステップであって、前記ファイル書込み要求は、書込み予定のデータ、前記書込み予定のデータのオフセット、およびファイル名を搬送し、前記書込み予定のデータは、前記ファイルの一部である、ステップと、
前記クライアントサーバによって、前記ファイル名に従ってファイル識別子(FID)を取得し、前記FIDに従って前記ファイルの前記メタデータに対するクエリを行って前記ファイルのバージョン番号を取得し、前記ファイルの前記バージョン番号を前記書込み予定のストリップの前記バージョン番号として使用するステップであって、前記ファイルの前記バージョン番号は、前記書込み予定のストリップが属する前記ファイルの前記最新のスナップショットの前記スナップショットIDに対応している、ステップと、
前記書込み予定のデータの前記オフセットおよび前記書込み予定のデータのサイズに従って前記クライアントサーバによって、前記書込み予定のデータを前記書込み予定のストリップを含む複数のストリップに分割し、前記書込み予定のストリップが属する前記オブジェクトの前記IDを決定し、前記書込み予定のストリップの前記オフセットを取得するステップと、
前記ストリップ書込み要求を作成するステップとをさらに含む、請求項3に記載の方法。 - 前記OSDによって、ストリップ書込み要求を受信するステップの前に、前記方法は、
前記クライアントサーバによって、ボリューム書込み要求を受信するステップであって、前記ボリューム書込み要求は、書込み予定のデータ、前記書込み予定のデータのオフセット、およびボリュームIDを搬送し、前記書込み予定のデータは、前記ボリュームの一部である、ステップと、
前記クライアントサーバによって、前記ボリュームIDに従って前記ボリュームの前記メタデータに対するクエリを行って前記ボリュームのバージョン番号を取得し、前記ボリュームの前記バージョン番号を前記書込み予定のストリップの前記バージョン番号として使用するステップであって、前記ボリュームの前記バージョン番号は、前記書込み予定のストリップが属する前記ボリュームの前記最新のスナップショットの前記スナップショットIDに対応している、ステップと、
前記書込み予定のデータの前記オフセットおよび前記書込み予定のデータのサイズに従って前記クライアントサーバによって、前記書込み予定のデータを前記書込み予定のストリップを含む複数のストリップに分割し、前記書込み予定のストリップが属する前記オブジェクトの前記IDを決定し、前記書込み予定のストリップの前記オフセットを取得するステップと、
前記ストリップ書込み要求を作成するステップとをさらに含む、請求項3に記載の方法。 - データストレージ方法であって、前記方法は、
オブジェクトストレージデバイス(OSD)によって、クライアントサーバによって送信されたストリップ書込み要求を受信するステップであって、前記ストリップ書込み要求は、書込み予定のストリップ、前記書込み予定のストリップのバージョン番号、前記書込み予定のストリップのオフセット、および前記書込み予定のストリップのオブジェクトIDを搬送し、前記書込み予定のストリップの前記バージョン番号は、前記書込み予定のストリップが属するファイルまたはボリュームの最新のスナップショットのスナップショットIDに対応しており、前記書込み予定のストリップの前記オフセットは、前記書込み予定のストリップが属するオブジェクト内の前記書込み予定のストリップの位置を表しており、前記書込み予定のストリップの前記オブジェクトIDは、前記書込み予定のストリップが属する前記オブジェクトのIDであり、前記オブジェクトは、前記ファイルまたは前記ボリュームに属する、ステップと、
前記OSDによって、前記書込み予定のストリップの前記バージョン番号および前記オブジェクトIDを使用して決定されるオブジェクトがバックアップされているかどうかを決定するステップと、
前記オブジェクトがバックアップされている場合には、前記OSDによって、前記書込み予定のストリップを、前記オブジェクトID、前記書込み予定のストリップの前記バージョン番号、および前記書込み予定のストリップの前記オフセットを使用して決定される記憶位置に書き込むステップ、または、
前記オブジェクトがバックアップされていない場合には、前記OSDによって、前記書込み予定のストリップを使用して接合オブジェクトを作成し、その後、前記接合オブジェクトを前記書込み予定のストリップの前記バージョン番号および前記オブジェクトIDを使用して決定される記憶位置に書き込むステップとを含む、方法。 - 前記OSDによって、前記書込み予定のストリップを使用して接合オブジェクトを作成することは、
前記OSDによって、そのオフセットが前記書込み予定のストリップの前記オフセットとは異なるストリップを取得するために、前記書込み予定のストリップの前記オブジェクトIDのオブジェクトセットに属するバックアップされているオブジェクトから最新のスナップショット時刻を有するオブジェクトを選択し、前記書込み予定のストリップおよびそのオフセットが前記書込み予定のストリップの前記オフセットとは異なる前記ストリップを使用して前記接合オブジェクトを構成することを特に含み、
前記OSDに記憶されているとともに、そのオブジェクトIDが前記書込み予定のストリップの前記オブジェクトIDと同一であり、そのバージョン番号が前記書込み予定のストリップの前記バージョン番号とは異なるオブジェクトのセットは、前記書込み予定のストリップの前記オブジェクトIDの前記オブジェクトセットとしてみなされる、請求項6に記載の方法。 - 前記クライアントサーバによって送信されたストリップ書込み要求を受信するステップの前に、前記方法は、
前記クライアントサーバによって、前記書込み予定のストリップが属する前記ファイルまたは前記ボリュームのスナップショットを作成し、前記最新のスナップショットの前記スナップショットIDを生成するステップと、
前記最新のスナップショットの前記スナップショットIDに従って前記書込み予定のストリップの前記バージョン番号を生成するステップと、
前記クライアントサーバによって、前記ファイルまたは前記ボリュームのメタデータに対して前記ファイルまたは前記ボリュームに属する前記書込み予定のストリップの前記バージョン番号を更新するステップとをさらに含む、請求項6または7に記載の方法。 - データ処理方法であって、前記方法は、
オブジェクトストレージデバイス(OSD)によって、クライアントサーバによって送信されたストリップ書込み要求を受信するステップであって、前記ストリップ書込み要求は、書込み予定のストリップ、前記書込み予定のストリップのバージョン番号、前記書込み予定のストリップのオフセット、および前記書込み予定のストリップのオブジェクトIDを搬送し、前記書込み予定のストリップの前記バージョン番号は、前記書込み予定のストリップが属するファイルまたはボリュームの最新のスナップショットのスナップショットIDに対応しており、前記書込み予定のストリップの前記オフセットは、前記書込み予定のストリップが属するオブジェクト内の前記書込み予定のストリップの位置を表しており、前記書込み予定のストリップの前記オブジェクトIDは、前記書込み予定のストリップが属する前記オブジェクトのIDであり、前記オブジェクトは、前記ファイルまたは前記ボリュームに属する、ステップと、
前記OSDによって、前記書込み予定のストリップの前記バージョン番号、前記書込み予定のストリップの前記オブジェクトID、および前記書込み予定のストリップの前記オフセットを使用して決定されるストリップがバックアップされているかどうかを決定するステップと、
前記ストリップがバックアップされている場合には、前記書込み予定のストリップを、前記書込み予定のストリップの前記バージョン番号、前記書込み予定のストリップの前記オブジェクトID、および前記書込み予定のストリップの前記オフセットを使用して決定される記憶位置に書き込むステップ、または、
前記ストリップがバックアップされていない場合には、前記OSD内のベースバージョンのオブジェクト内にあるとともに、そのオフセットが前記書込み予定のストリップの前記オフセットであり、そのサイズが前記書込み予定のストリップのサイズであるデータを、前記書込み予定のストリップの前記バージョン番号、前記書込み予定のストリップの前記オフセット、および前記書込み予定のストリップの前記オブジェクトIDを使用して決定される前記記憶位置にバックアップすることであって、前記ベースバージョンの前記オブジェクトのオブジェクトIDは、前記書込み予定のストリップの前記オブジェクトIDと同一であり、前記ベースバージョンの前記オブジェクトのバージョン番号は、ベースバージョン番号であり、前記ベースバージョン番号の値は、0またはヌルである、バックアップすることを行い、前記書込み予定のストリップを、前記書込み予定のストリップの前記オブジェクトID、前記ベースバージョン番号、および前記書込み予定のストリップの前記オフセットを使用して決定される記憶位置に書き込むステップとを含む、方法。 - 前記クライアントサーバによって送信されたストリップ書込み要求を受信するステップの前に、前記方法は、
前記クライアントサーバによって、前記書込み予定のストリップが属する前記ファイルまたは前記ボリュームのスナップショットを作成し、前記最新のスナップショットの前記スナップショットIDを生成するステップと、
前記最新のスナップショットの前記スナップショットIDに従って前記書込み予定のストリップの前記バージョン番号を生成するステップとをさらに含む、請求項9に記載の方法。 - 前記方法は、
前記クライアントサーバによって、前記ファイルまたは前記ボリュームのメタデータに対して前記ファイルまたは前記ボリュームに属する前記書込み予定のストリップの前記バージョン番号を更新するステップをさらに含む、請求項10に記載の方法。 - 前記OSDによって、ストリップ書込み要求を受信するステップの前に、前記方法は、
前記クライアントサーバによって、ファイル書込み要求を受信するステップであって、前記ファイル書込み要求は、書込み予定のデータ、前記書込み予定のデータのオフセット、およびファイル名を搬送し、前記書込み予定のデータは、前記ファイルの一部である、ステップと、
前記クライアントサーバによって、前記ファイル名に従ってファイル識別子(FID)を取得し、前記FIDに従って前記ファイルの前記メタデータに対するクエリを行って前記ファイルのバージョン番号を取得し、前記ファイルの前記バージョン番号を前記書込み予定のストリップの前記バージョン番号として使用するステップであって、前記ファイルの前記バージョン番号は、前記書込み予定のストリップが属する前記ファイルの前記最新のスナップショットの前記スナップショットIDに対応している、ステップと、
前記書込み予定のデータの前記オフセットおよび前記書込み予定のデータのサイズに従って前記クライアントサーバによって、前記書込み予定のデータを前記書込み予定のストリップを含む複数のストリップに分割し、前記書込み予定のストリップが属する前記オブジェクトの前記IDを決定し、前記書込み予定のストリップの前記オフセットを取得するステップと、
前記ストリップ書込み要求を作成するステップとをさらに含む、請求項11に記載の方法。 - 前記OSDによって、ストリップ書込み要求を受信するステップの前に、前記方法は、
前記クライアントサーバによって、ボリューム書込み要求を受信するステップであって、前記ボリューム書込み要求は、書込み予定のデータ、前記書込み予定のデータのオフセット、およびボリュームIDを搬送し、前記書込み予定のデータは、前記ボリュームの一部である、ステップと、
前記クライアントサーバによって、前記ボリュームIDに従って前記ボリュームの前記メタデータに対するクエリを行って前記ボリュームのバージョン番号を取得し、前記ボリュームの前記バージョン番号を前記書込み予定のストリップの前記バージョン番号として使用するステップであって、前記ボリュームの前記バージョン番号は、前記書込み予定のストリップが属する前記ボリュームの前記最新のスナップショットの前記スナップショットIDに対応している、ステップと、
前記書込み予定のデータの前記オフセットおよび前記書込み予定のデータのサイズに従って前記クライアントサーバによって、前記書込み予定のデータセグメントを前記書込み予定のストリップを含む複数のストリップに分割し、前記書込み予定のストリップが属する前記オブジェクトの前記IDを決定し、前記書込み予定のストリップの前記オフセットを取得するステップと、
前記ストリップ書込み要求を作成するステップとをさらに含む、請求項11に記載の方法。 - データ処理方法であって、前記方法は、
オブジェクトストレージデバイス(OSD)によって、クライアントサーバによって送信されたストリップ書込み要求を受信するステップであって、前記ストリップ書込み要求は、書込み予定のストリップ、前記書込み予定のストリップのバージョン番号、前記書込み予定のストリップのオフセット、および前記書込み予定のストリップのオブジェクトIDを搬送し、前記書込み予定のストリップの前記バージョン番号は、前記書込み予定のストリップが属するファイルまたはボリュームの最新のスナップショットのスナップショットIDに対応しており、前記書込み予定のストリップの前記オフセットは、前記書込み予定のストリップが属するオブジェクト内の前記書込み予定のストリップの位置を表しており、前記書込み予定のストリップの前記オブジェクトIDは、前記書込み予定のストリップが属する前記オブジェクトのIDであり、前記オブジェクトは、前記ファイルまたは前記ボリュームに属する、ステップと、
前記OSDによって、前記書込み予定のストリップの前記バージョン番号および前記オブジェクトIDを使用して決定されるオブジェクトがバックアップされているかどうかを決定するステップと、
前記オブジェクトがバックアップされている場合には、前記OSDによって、前記書込み予定のストリップを、前記オブジェクトID、前記オブジェクトのバージョン番号、および前記書込み予定のストリップの前記オフセットを使用して決定される記憶位置に書き込むステップ、または、
前記オブジェクトがバックアップされていない場合には、前記OSD内のベースバージョンのオブジェクトを前記書込み予定のストリップの前記バージョン番号および前記オブジェクトIDを使用して決定される記憶位置にバックアップすることであって、前記ベースバージョンの前記オブジェクトのオブジェクトIDは、前記書込み予定のストリップの前記オブジェクトIDと同一であり、前記ベースバージョンの前記オブジェクトのバージョン番号は、ベースバージョン番号であり、前記ベースバージョン番号の値は、0またはヌルである、バックアップすることを行い、
前記OSDによって、前記書込み予定のストリップを、前記書込み予定のストリップの前記オブジェクトID、前記ベースバージョン番号、および前記オフセットを使用して決定される記憶位置に書き込むステップとを含む、方法。 - データ読出し方法であって、前記方法は、
オブジェクトストレージデバイス(OSD)によって、クライアントサーバによって送信されたストリップ読出し要求を受信するステップであって、前記ストリップ読出し要求は、読出し予定のストリップのサイズ、前記読出し予定のストリップのオフセット、前記読出し予定のストリップのバージョン番号、および前記読出し予定のストリップのオブジェクトIDを搬送し、前記読出し予定のストリップの前記バージョン番号は、前記読出し予定のストリップが属するファイルまたはボリュームの最新のスナップショットのスナップショットIDに対応しており、前記読出し予定のストリップの前記オブジェクトIDは、前記読出し予定のストリップが属するオブジェクトのIDであり、前記オブジェクトは、前記ファイルまたは前記ボリュームに属する、ステップと、
前記OSDによって、前記オブジェクトID、前記読出し予定のストリップの前記バージョン番号、および前記読出し予定のストリップの前記オフセットを使用して決定されるストリップがバックアップされているかどうかを決定するステップと、
前記ストリップがバックアップされている場合には、前記オブジェクトID、前記読出し予定のストリップの前記バージョン番号、前記読出し予定のストリップの前記オフセット、および前記読出し予定のストリップの前記サイズを使用して決定されるデータを読み出し、前記読み出したデータを前記読出し予定のストリップとして使用し、前記読出し予定のストリップを前記クライアントサーバに送信するステップ、または、
前記ストリップがバックアップされていない場合には、オブジェクトのスナップショット時刻の降順に従って1つずつ、前記読出し予定のストリップの前記オフセットを使用して決定される記憶位置に有効データを記憶しているオブジェクトが見つかるまで、そのオブジェクトIDが前記読出し予定のストリップの前記オブジェクトIDと同一であり、そのバージョン番号が前記読出し予定のストリップの前記バージョン番号とは異なる前記オブジェクトを探索し、前記見つけた有効データを前記読出し予定のストリップとして使用し、前記読出し予定のストリップを前記クライアントサーバに送信するステップとを含む、方法。 - 前記方法は、
前記OSDの書込みモードがリダイレクト・オン・ファースト・ライト(ROW)である場合には、前記オブジェクトの前記スナップショット時刻の前記降順がバージョン番号の降順である、または、
前記OSDの書込みモードがコピー・オン・ライト(COW)である場合には、前記オブジェクトの前記スナップショット時刻の前記降順がバージョン番号の昇順であることをさらに含む、請求項15に記載の方法。 - 前記OSDによって、クライアントサーバによって送信されたストリップ読出し要求を受信するステップの前に、前記方法は、
前記クライアントサーバによって、ファイル読出し要求を受信するステップであって、前記ファイル読出し要求は、ファイル名、読出し予定のデータのサイズ、および前記読出し予定のデータのオフセットを搬送し、前記読出し予定のデータは、前記ファイルの一部である、ステップと、
前記クライアントサーバによって、前記ファイル名に従ってファイル識別子(FID)を取得し、前記FIDに従って前記ファイルのメタデータに対するクエリを行って前記ファイルのバージョン番号を取得し、前記ファイルの前記バージョン番号を前記読出し予定のストリップの前記バージョン番号として使用するステップであって、前記ファイルの前記バージョン番号は、前記読出し予定のストリップが属する前記ファイルの前記最新のスナップショットの前記スナップショットIDに対応している、ステップと、
前記読出し予定のデータの前記オフセットおよび前記読出し予定のデータの前記サイズに従って前記クライアントサーバによって、前記読出し予定のストリップが属する前記オブジェクトの前記IDを決定し、前記読出し予定のストリップの前記オフセットを取得するステップと、
前記ストリップ読出し要求を生成するステップとをさらに含む、請求項15または16に記載の方法。 - 前記OSDによって、クライアントサーバによって送信されたストリップ書込み要求を受信するステップの前に、前記方法は、
前記クライアントサーバによって、ボリューム読出し要求を受信するステップであって、前記ボリューム読出し要求は、ボリュームID、読出し予定のデータのサイズ、および前記読出し予定のデータのオフセットを搬送し、前記読出し予定のデータは、前記ボリュームの一部である、ステップと、
前記クライアントサーバによって、前記ボリュームIDに従って前記ボリュームのメタデータに対するクエリを行って前記ボリュームのバージョン番号を取得し、前記ボリュームの前記バージョン番号を前記読出し予定のストリップの前記バージョン番号として使用するステップであって、前記ボリュームの前記バージョン番号は、前記読出し予定のストリップが属する前記ボリュームの前記最新のスナップショットの前記スナップショットIDに対応している、ステップと、
前記読出し予定のデータの前記オフセットおよび前記読出し予定のデータの前記サイズに従って前記クライアントサーバによって、前記読出し予定のストリップが属する前記オブジェクトの前記IDを決定し、前記読出し予定のストリップの前記オフセットを取得するステップと、
前記ストリップ読出し要求を生成するステップとをさらに含む、請求項15または16に記載の方法。 - オブジェクトストレージシステムに適用される、データ読出し方法であって、前記オブジェクトストレージシステムは、オブジェクトベースストレージデバイス(OSD)と、クライアントサーバとを含み、前記方法は、
前記OSDによって、前記クライアントサーバによって送信されたストリップ読出し要求を受信するステップであって、前記ストリップ読出し要求は、読出し予定のストリップのサイズ、前記読出し予定のストリップのオフセット、前記読出し予定のストリップのバージョン番号、および前記読出し予定のストリップのオブジェクトIDを搬送し、前記読出し予定のストリップの前記バージョン番号は、前記読出し予定のストリップが属するファイルまたはボリュームの最新のスナップショットのスナップショットIDに対応しており、前記読出し予定のストリップの前記オブジェクトIDは、前記読出し予定のストリップが属するオブジェクトのIDであり、前記オブジェクトは、前記ファイルまたは前記ボリュームに属する、ステップと、
前記OSDによって、前記オブジェクトIDおよび前記読出し予定のストリップの前記バージョン番号を使用して決定されるオブジェクトがバックアップされているかどうかを決定するステップと、
前記オブジェクトがバックアップされている場合には、前記オブジェクトID、前記読出し予定のストリップの前記バージョン番号、前記読出し予定のストリップの前記オフセット、および前記読出し予定のストリップの前記サイズを使用して決定されるデータを読み出し、前記読み出したデータを前記読出し予定のストリップとして使用し、前記読出し予定のストリップを前記クライアントサーバに送信するステップ、または、
前記オブジェクトがバックアップされていない場合には、オブジェクトのスナップショット時刻の降順に従って1つずつ、前記読出し予定のストリップの前記オフセットを使用して決定される記憶位置に有効データを記憶しているオブジェクトが見つかるまで、そのオブジェクトIDが前記読出し予定のストリップの前記オブジェクトIDと同一であり、そのバージョン番号が前記読出し予定のストリップの前記バージョン番号とは異なる前記オブジェクトを探索し、前記見つけた有効データを前記読出し予定のストリップとして使用し、前記読出し予定のストリップを前記クライアントサーバに送信するステップとを含む、方法。 - オブジェクトベースストレージ技術を使用するデータストレージ装置であって、前記装置は、
クライアントサーバによって送信されたストリップ書込み要求を受信するように構成される、ストリップ要求受信モジュールであって、前記ストリップ書込み要求は、書込み予定のストリップ、前記書込み予定のストリップのバージョン番号、前記書込み予定のストリップのオフセット、および前記書込み予定のストリップのオブジェクトIDを搬送し、前記書込み予定のストリップの前記バージョン番号は、前記書込み予定のストリップが属するファイルまたはボリュームの最新のスナップショットのスナップショットIDに対応しており、前記書込み予定のストリップの前記オフセットは、前記書込み予定のストリップが属するオブジェクト内の前記書込み予定のストリップの位置を表しており、前記書込み予定のストリップの前記オブジェクトIDは、前記書込み予定のストリップが属する前記オブジェクトのIDであり、前記オブジェクトは、前記ファイルまたは前記ボリュームに属する、ストリップ要求受信モジュールと、
前記書込み予定のストリップを、前記オブジェクトID、前記書込み予定のストリップの前記バージョン番号、および前記書込み予定のストリップの前記オフセットを使用して決定される記憶位置に書き込むように構成される、ストリップ記憶モジュールとを備える、装置。 - オブジェクトベースストレージ技術を使用するデータストレージ装置であって、前記装置は、
クライアントサーバによって送信されたストリップ書込み要求を受信するように構成される、ストリップ要求受信モジュールであって、前記ストリップ書込み要求は、書込み予定のストリップ、前記書込み予定のストリップのバージョン番号、前記書込み予定のストリップのオフセット、および前記書込み予定のストリップのオブジェクトIDを搬送し、前記書込み予定のストリップの前記バージョン番号は、前記書込み予定のストリップが属するファイルまたはボリュームの最新のスナップショットのスナップショットIDに対応しており、前記書込み予定のストリップの前記オフセットは、前記書込み予定のストリップが属するオブジェクト内の前記書込み予定のストリップの位置を表しており、前記書込み予定のストリップの前記オブジェクトIDは、前記書込み予定のストリップが属する前記オブジェクトのIDであり、前記オブジェクトは、前記ファイルまたは前記ボリュームに属する、ストリップ要求受信モジュールと、
前記書込み予定のストリップの前記バージョン番号および前記オブジェクトIDを使用して決定されるオブジェクトがバックアップされているかどうかを決定するように構成される、ストリップ記憶モジュールとを備え、
前記オブジェクトがバックアップされている場合には、前記ストリップ記憶モジュールは、前記書込み予定のストリップを、前記オブジェクトID、前記書込み予定のストリップの前記バージョン番号、および前記書込み予定のストリップの前記オフセットを使用して決定される記憶位置に書き込むようにさらに構成される、または、
前記オブジェクトがバックアップされていない場合には、前記ストリップ記憶モジュールは、前記書込み予定のストリップを使用して接合オブジェクトを作成し、その後、前記接合オブジェクトを前記書込み予定のストリップの前記バージョン番号および前記オブジェクトIDを使用して決定される記憶位置に書き込むようにさらに構成される、装置。 - 前記ストリップ記憶モジュールが前記書込み予定のストリップを使用して接合オブジェクトを作成するようにさらに構成されることは、
前記ストリップ記憶モジュールが、そのオフセットが前記書込み予定のストリップの前記オフセットとは異なるストリップを取得するために、前記書込み予定のストリップの前記オブジェクトIDのオブジェクトセットに属するバックアップされているオブジェクトから最新のスナップショット時刻を有するオブジェクトを選択し、前記書込み予定のストリップおよびそのオフセットが前記書込み予定のストリップの前記オフセットとは異なる前記ストリップを使用して前記接合オブジェクトを構成するように構成されることを特に含み、
前記データストレージ装置に記憶されているとともに、そのオブジェクトIDが前記書込み予定のストリップの前記オブジェクトIDと同一であり、そのバージョン番号が前記書込み予定のストリップの前記バージョン番号とは異なるオブジェクトのセットは、前記書込み予定のストリップの前記オブジェクトIDの前記オブジェクトセットとしてみなされる、請求項21に記載の装置。 - オブジェクトベースストレージ技術を使用するデータ処理装置であって、前記装置は、
クライアントサーバによって送信されたストリップ書込み要求を受信するように構成される、ストリップ要求受信モジュールであって、前記ストリップ書込み要求は、書込み予定のストリップ、前記書込み予定のストリップのバージョン番号、前記書込み予定のストリップのオフセット、および前記書込み予定のストリップのオブジェクトIDを搬送し、前記書込み予定のストリップの前記バージョン番号は、前記書込み予定のストリップが属するファイルまたはボリュームの最新のスナップショットのスナップショットIDに対応しており、前記書込み予定のストリップの前記オフセットは、前記書込み予定のストリップが属するオブジェクト内の前記書込み予定のストリップの位置を表しており、前記書込み予定のストリップの前記オブジェクトIDは、前記書込み予定のストリップが属する前記オブジェクトのIDであり、前記オブジェクトは、前記ファイルまたは前記ボリュームに属する、ストリップ要求受信モジュールと、
前記書込み予定のストリップの前記バージョン番号、前記書込み予定のストリップの前記オブジェクトID、および前記書込み予定のストリップの前記オフセットを使用して決定されるストリップがバックアップされているかどうかを決定し、
前記ストリップがバックアップされている場合には、前記書込み予定のストリップを、前記書込み予定のストリップの前記バージョン番号、前記書込み予定のストリップの前記オブジェクトID、および前記書込み予定のストリップの前記オフセットを使用して決定される記憶位置に書き込む、または、
前記ストリップがバックアップされていない場合には、前記データ処理装置内のベースバージョンのオブジェクト内にあるとともに、そのオフセットが前記書込み予定のストリップの前記オフセットであり、そのサイズが前記書込み予定のストリップのサイズであるデータを、前記書込み予定のストリップの前記バージョン番号、前記書込み予定のストリップの前記オフセット、および前記書込み予定のストリップの前記オブジェクトIDを使用して決定される前記記憶位置にバックアップすることであって、前記ベースバージョンの前記オブジェクトのオブジェクトIDは、前記書込み予定のストリップの前記オブジェクトIDと同一であり、前記ベースバージョンの前記オブジェクトのバージョン番号は、ベースバージョン番号であり、前記ベースバージョン番号の値は、0またはヌルである、バックアップすることを行い、前記書込み予定のストリップを、前記書込み予定のストリップの前記オブジェクトID、前記ベースバージョン番号、および前記書込み予定のストリップの前記オフセットを使用して決定される記憶位置に書き込むように構成される、ストリップ記憶モジュールとを備える、装置。 - オブジェクトベースストレージ技術を使用するデータ処理装置であって、前記装置は、
クライアントサーバによって送信されたストリップ書込み要求を受信するように構成される、ストリップ要求受信モジュールであって、前記ストリップ書込み要求は、書込み予定のストリップ、前記書込み予定のストリップのバージョン番号、前記書込み予定のストリップのオフセット、および前記書込み予定のストリップのオブジェクトIDを搬送し、前記書込み予定のストリップの前記バージョン番号は、前記書込み予定のストリップが属するファイルまたはボリュームの最新のスナップショットのスナップショットIDに対応しており、前記書込み予定のストリップの前記オフセットは、前記書込み予定のストリップが属するオブジェクト内の前記書込み予定のストリップの位置を表しており、前記書込み予定のストリップの前記オブジェクトIDは、前記書込み予定のストリップが属する前記オブジェクトのIDであり、前記オブジェクトは、前記ファイルまたは前記ボリュームに属する、ストリップ要求受信モジュールと、
前記書込み予定のストリップの前記バージョン番号および前記オブジェクトIDを使用して決定されるオブジェクトがバックアップされているかどうかを決定し、
前記オブジェクトがバックアップされている場合には、前記書込み予定のストリップを、前記オブジェクトID、前記オブジェクトのバージョン番号、および前記書込み予定のストリップの前記オフセットを使用して決定される記憶位置に書き込む、または、
前記オブジェクトがバックアップされていない場合には、ベースバージョンのオブジェクトを前記書込み予定のストリップの前記バージョン番号および前記オブジェクトIDを使用して決定される記憶位置にバックアップすることであって、前記ベースバージョンの前記オブジェクトのオブジェクトIDは、前記書込み予定のストリップの前記オブジェクトIDと同一であり、前記ベースバージョンの前記オブジェクトのバージョン番号は、ベースバージョン番号であり、前記ベースバージョン番号の値は、0またはヌルである、バックアップすることを行うように構成される、ストリップ記憶モジュールであって、
前記ストリップ記憶モジュールは、前記オブジェクトがバックアップされていない場合には、前記書込み予定のストリップを、前記書込み予定のストリップの前記オブジェクトID、前記ベースバージョン番号、および前記オフセットを使用して決定される記憶位置に書き込むようにさらに構成される、ストリップ記憶モジュールとを備える、装置。 - オブジェクトベースストレージ技術を使用するデータ読出し装置であって、前記装置は、
クライアントサーバによって送信されたストリップ読出し要求を受信するように構成される、ストリップ要求受信モジュールであって、前記ストリップ読出し要求は、読出し予定のストリップのサイズ、前記読出し予定のストリップのオフセット、前記読出し予定のストリップのバージョン番号、および前記読出し予定のストリップのオブジェクトIDを搬送し、前記読出し予定のストリップの前記バージョン番号は、前記読出し予定のストリップが属するファイルまたはボリュームの最新のスナップショットのスナップショットIDに対応しており、前記読出し予定のストリップの前記オブジェクトIDは、前記読出し予定のストリップが属するオブジェクトのIDであり、前記オブジェクトは、前記ファイルまたは前記ボリュームに属する、ストリップ要求受信モジュールと、
前記オブジェクトID、前記読出し予定のストリップの前記バージョン番号、および前記読出し予定のストリップの前記オフセットを使用して決定されるストリップがバックアップされているかどうかを決定し、
前記ストリップがバックアップされている場合には、前記オブジェクトID、前記読出し予定のストリップの前記バージョン番号、前記読出し予定のストリップの前記オフセット、および前記読出し予定のストリップの前記サイズを使用して決定されるデータを読み出し、前記読み出したデータを前記読出し予定のストリップとして使用し、前記読出し予定のストリップを前記クライアントサーバに送信する、または、
前記ストリップがバックアップされていない場合には、オブジェクトのスナップショット時刻の降順に従って1つずつ、前記読出し予定のストリップの前記オフセットを使用して決定される記憶位置に有効データを記憶しているオブジェクトが見つかるまで、そのオブジェクトIDが前記読出し予定のストリップの前記オブジェクトIDと同一であり、そのバージョン番号が前記読出し予定のストリップの前記バージョン番号とは異なる前記オブジェクトを探索し、前記見つけた有効データを前記読出し予定のストリップとして使用し、前記読出し予定のストリップを前記クライアントサーバに送信することを行うように構成される、ストリップ読出しモジュールとを備える、装置。 - 前記オブジェクトの前記スナップショット時刻の前記降順は、
前記データ読出し装置の書込みモードがリダイレクト・オン・ファースト・ライト(ROW)
である場合には、前記オブジェクトの前記スナップショット時刻の前記降順がバージョン番号の降順である、または、
前記データ読出し装置の書込みモードがコピー・オン・ライト(COW)である場合には、前記オブジェクトの前記スナップショット時刻の前記降順がバージョン番号の昇順であることを特に含む、請求項25に記載の装置。 - オブジェクトベースストレージ技術を使用するデータ読出し装置であって、前記装置は、
クライアントサーバによって送信されたストリップ読出し要求を受信するように構成される、ストリップ要求受信モジュールであって、前記ストリップ読出し要求は、読出し予定のストリップのサイズ、前記読出し予定のストリップのオフセット、前記読出し予定のストリップのバージョン番号、および前記読出し予定のストリップのオブジェクトIDを搬送し、前記読出し予定のストリップの前記バージョン番号は、前記読出し予定のストリップが属するファイルまたはボリュームの最新のスナップショットのスナップショットIDに対応しており、前記読出し予定のストリップの前記オブジェクトIDは、前記読出し予定のストリップが属するオブジェクトのIDであり、前記オブジェクトは、前記ファイルまたは前記ボリュームに属する、ストリップ要求受信モジュールと、
前記オブジェクトIDおよび前記読出し予定のストリップの前記バージョン番号を使用して決定されるオブジェクトがバックアップされているかどうかを決定し、
前記オブジェクトがバックアップされている場合には、前記オブジェクトID、前記読出し予定のストリップの前記バージョン番号、前記読出し予定のストリップの前記オフセット、および前記読出し予定のストリップの前記サイズを使用して決定されるデータを読み出し、前記読み出したデータを前記読出し予定のストリップとして使用し、前記読出し予定のストリップを前記クライアントサーバに送信する、または、
前記オブジェクトがバックアップされていない場合には、オブジェクトのスナップショット時刻の降順に従って1つずつ、前記読出し予定のストリップの前記オフセットを使用して決定される記憶位置に有効データを記憶しているオブジェクトが見つかるまで、そのオブジェクトIDが前記読出し予定のストリップの前記オブジェクトIDと同一であり、そのバージョン番号が前記読出し予定のストリップの前記バージョン番号とは異なる前記オブジェクトを探索し、前記見つけた有効データを前記読出し予定のストリップとして使用し、前記読出し予定のストリップを前記クライアントサーバに送信することを行うように構成される、ストリップ読出しモジュールとを備える、装置。 - クライアントサーバと、オブジェクトストレージデバイス(OSD)とを含む、データストレージシステムであって、
前記クライアントサーバは、
ファイル書込み要求を受信するように構成され、前記ファイル書込み要求は、書込み予定のデータ、前記書込み予定のデータのオフセット、およびファイル名を搬送し、前記書込み予定のデータは、ファイルの一部であり、
前記クライアントサーバは、前記ファイル名に従ってファイル識別子(FID)を取得し、前記FIDに従って前記ファイルのメタデータに対するクエリを行って前記ファイルのバージョン番号を取得し、前記ファイルの前記バージョン番号は、前記ファイルの最新のスナップショットのスナップショットIDに対応しており、
前記クライアントサーバは、前記書込み予定のデータの前記オフセットおよび前記書込み予定のデータのサイズに従って、前記書込み予定のデータを書込み予定のストリップを含む複数のストリップに分割し、前記書込み予定のストリップが属するオブジェクトのIDを決定し、前記書込み予定のストリップのオフセットを取得し、
ストリップ書込み要求を作成して前記ストリップ書込み要求を前記オブジェクトストレージデバイスに送信し、
前記オブジェクトストレージデバイスは、
前記ストリップ書込み要求を受信するように構成され、前記ストリップ書込み要求は、前記書込み予定のストリップ、前記書込み予定のストリップのバージョン番号、前記書込み予定のストリップの前記オフセット、および前記書込み予定のストリップのオブジェクトIDを搬送し、前記ファイルの前記バージョン番号は、前記書込み予定のストリップの前記バージョン番号であり、前記書込み予定のストリップの前記オフセットは、前記書込み予定のストリップが属する前記オブジェクト内の前記書込み予定のストリップの位置を表しており、前記書込み予定のストリップの前記オブジェクトIDは、前記書込み予定のストリップが属する前記オブジェクトの前記IDであり、前記オブジェクトは、前記ファイルに属し、
前記OSDは、前記書込み予定のストリップを、前記オブジェクトID、前記書込み予定のストリップの前記バージョン番号、および前記書込み予定のストリップの前記オフセットを使用して決定される記憶位置に書き込む、データストレージシステム。 - 前記クライアントサーバは、
前記ストリップ書込み要求を送信する前に、前記書込み予定のストリップが属する前記ファイルのスナップショットを作成し、前記最新のスナップショットの前記スナップショットIDを生成し、
前記最新のスナップショットの前記スナップショットIDに従って前記書込み予定のストリップの前記バージョン番号を生成し、
前記ファイルの前記メタデータに対して前記ファイルに属する前記書込み予定のストリップの前記バージョン番号を更新するようにさらに構成される、請求項28に記載のシステム。 - クライアントサーバと、オブジェクトストレージデバイス(OSD)とを含む、データストレージシステムであって、
前記クライアントサーバは、
ボリューム書込み要求を受信することであって、前記ボリューム書込み要求は、書込み予定のデータ、前記書込み予定のデータのオフセット、およびボリュームIDを搬送し、前記書込み予定のデータは、ボリュームの一部である、受信することを行い、
前記ボリュームIDに従って前記ボリュームのメタデータに対するクエリを行って前記ボリュームのバージョン番号を取得することであって、前記ボリュームの前記バージョン番号は、前記ボリュームの最新のスナップショットのスナップショットIDに対応している、取得することを行い、
前記書込み予定のデータの前記オフセットおよび前記書込み予定のデータのサイズに従って、前記書込み予定のデータセグメントを書込み予定のストリップを含む複数のストリップに分割し、前記書込み予定のストリップが属するオブジェクトのIDを決定し、前記書込み予定のストリップのオフセットを取得し、
ストリップ書込み要求を作成して前記ストリップ書込み要求を前記オブジェクトストレージデバイスに送信するように構成され、
前記オブジェクトストレージデバイスは、
前記ストリップ書込み要求を受信するように構成され、前記ストリップ書込み要求は、前記書込み予定のストリップ、前記書込み予定のストリップのバージョン番号、前記書込み予定のストリップの前記オフセット、および前記書込み予定のストリップのオブジェクトIDを搬送し、前記ボリュームの前記バージョン番号は、前記書込み予定のストリップの前記バージョン番号であり、前記書込み予定のストリップの前記オフセットは、前記書込み予定のストリップが属する前記オブジェクト内の前記書込み予定のストリップの位置を表しており、前記書込み予定のストリップの前記オブジェクトIDは、前記書込み予定のストリップが属する前記オブジェクトの前記IDであり、前記オブジェクトは、前記ボリュームに属し、
前記OSDは、前記書込み予定のストリップを、前記オブジェクトID、前記書込み予定のストリップの前記バージョン番号、および前記書込み予定のストリップの前記オフセットを使用して決定される記憶位置に書き込む、データストレージシステム。 - 前記クライアントサーバは、
前記ストリップ書込み要求を送信する前に、前記書込み予定のストリップが属する前記ボリュームのスナップショットを作成し、前記最新のスナップショットの前記スナップショットIDを生成し、
前記最新のスナップショットの前記スナップショットIDに従って前記書込み予定のストリップの前記バージョン番号を生成し、
前記ボリュームの前記メタデータに対して前記ボリュームに属する前記書込み予定のストリップの前記バージョン番号を更新するようにさらに構成される、請求項30に記載のシステム。 - クライアントサーバと、オブジェクトストレージデバイスとを含む、データストレージシステムであって、
前記クライアントサーバは、
ファイル書込み要求を受信するように構成され、前記ファイル書込み要求は、書込み予定のデータ、前記書込み予定のデータのオフセット、およびファイル名を搬送し、前記書込み予定のデータは、ファイルの一部であり、
前記クライアントサーバは、前記ファイル名に従ってファイル識別子(FID)を取得し、前記FIDに従って前記ファイルのメタデータに対するクエリを行って前記ファイルのバージョン番号を取得し、前記ファイルの前記バージョン番号は、前記ファイルの最新のスナップショットのスナップショットIDに対応しており、
前記クライアントサーバは、前記書込み予定のデータの前記オフセットおよび前記書込み予定のデータのサイズに従って、前記書込み予定のデータを書込み予定のストリップを含む複数のストリップに分割し、前記書込み予定のストリップが属するオブジェクトのIDを決定し、前記書込み予定のストリップのオフセットを取得し、
ストリップ書込み要求を作成して前記ストリップ書込み要求を前記オブジェクトストレージデバイスに送信し、
前記オブジェクトストレージデバイスは、
前記ストリップ書込み要求を受信することであって、前記ストリップ書込み要求は、前記書込み予定のストリップ、前記書込み予定のストリップのバージョン番号、前記書込み予定のストリップの前記オフセット、および前記書込み予定のストリップのオブジェクトIDを搬送し、前記書込み予定のストリップの前記バージョン番号は、前記書込み予定のストリップが属する前記ファイルの前記最新のスナップショットの前記スナップショットIDに対応しており、前記書込み予定のストリップの前記オフセットは、前記書込み予定のストリップが属する前記オブジェクト内の前記書込み予定のストリップの位置を表しており、前記書込み予定のストリップの前記オブジェクトIDは、前記書込み予定のストリップが属する前記オブジェクトの前記IDであり、前記オブジェクトは、前記ファイルに属する、受信することを行い、
前記書込み予定のストリップの前記バージョン番号および前記オブジェクトIDを使用して決定されるオブジェクトがバックアップされているかどうかを決定し、
前記オブジェクトがバックアップされている場合には、前記書込み予定のストリップを、前記オブジェクトID、前記書込み予定のストリップの前記バージョン番号、および前記書込み予定のストリップの前記オフセットを使用して決定される記憶位置に書き込む、または、
前記オブジェクトがバックアップされていない場合には、前記書込み予定のストリップを使用して接合オブジェクトを作成し、その後、前記接合オブジェクトを前記書込み予定のストリップの前記バージョン番号および前記オブジェクトIDを使用して決定される記憶位置に書き込むように構成される、データストレージシステム。 - 前記オブジェクトストレージデバイスは、前記書込み予定のストリップを使用して接合オブジェクトを作成するように構成され、
そのオフセットが前記書込み予定のストリップの前記オフセットとは異なるストリップを取得するために、前記書込み予定のストリップの前記オブジェクトIDのオブジェクトセットに属するバックアップされているオブジェクトから最新のスナップショット時刻を有するオブジェクトを選択し、前記書込み予定のストリップおよびそのオフセットが前記書込み予定のストリップの前記オフセットとは異なる前記ストリップを使用して前記接合オブジェクトを構成することを特に含み、
前記オブジェクトストレージデバイスに記憶されているとともに、そのオブジェクトIDが前記書込み予定のストリップの前記オブジェクトIDと同一であり、そのバージョン番号が前記書込み予定のストリップの前記バージョン番号とは異なるオブジェクトのセットは、前記書込み予定のストリップの前記オブジェクトIDの前記オブジェクトセットとしてみなされる、請求項32に記載のシステム。 - クライアントサーバと、オブジェクトストレージデバイスとを含む、データストレージシステムであって、
前記クライアントサーバは、
ボリューム書込み要求を受信することであって、前記ボリューム書込み要求は、書込み予定のデータ、前記書込み予定のデータのオフセット、およびボリュームIDを搬送し、前記書込み予定のデータは、ボリュームの一部である、受信することを行い、
前記ボリュームIDに従って前記ボリュームのメタデータに対するクエリを行って前記ボリュームのバージョン番号を取得することであって、前記ボリュームの前記バージョン番号は、前記ボリュームの最新のスナップショットのスナップショットIDに対応している、取得することを行い、
前記書込み予定のデータの前記オフセットおよび前記書込み予定のデータのサイズに従って、書込み予定のデータセグメントを前記書込み予定のストリップを含む複数のストリップに分割し、前記書込み予定のストリップが属するオブジェクトのIDを決定し、前記書込み予定のストリップのオフセットを取得し、
ストリップ書込み要求を作成して前記ストリップ書込み要求を前記オブジェクトストレージデバイスに送信するように構成され、
前記オブジェクトストレージデバイスは、
前記ストリップ書込み要求を受信することであって、前記ストリップ書込み要求は、前記書込み予定のストリップ、前記書込み予定のストリップのバージョン番号、前記書込み予定のストリップの前記オフセット、および前記書込み予定のストリップのオブジェクトIDを搬送し、前記書込み予定のストリップの前記バージョン番号は、前記書込み予定のストリップが属する前記ボリュームの前記最新のスナップショットの前記スナップショットIDに対応している、前記書込み予定のストリップの前記オフセットは、前記書込み予定のストリップが属する前記オブジェクト内の前記書込み予定のストリップの位置を表しており、前記書込み予定のストリップの前記オブジェクトIDは、前記書込み予定のストリップが属する前記オブジェクトの前記IDであり、前記オブジェクトは、前記ボリュームに属する、受信することを行い、
前記書込み予定のストリップの前記バージョン番号および前記オブジェクトIDを使用して決定されるオブジェクトがバックアップされているかどうかを決定し、
前記オブジェクトがバックアップされている場合には、前記書込み予定のストリップを、前記オブジェクトID、前記書込み予定のストリップの前記バージョン番号、および前記書込み予定のストリップの前記オフセットを使用して決定される記憶位置に書き込む、または、
前記オブジェクトがバックアップされていない場合には、前記書込み予定のストリップを使用して接合オブジェクトを作成し、その後、前記接合オブジェクトを前記書込み予定のストリップの前記バージョン番号および前記オブジェクトIDを使用して決定される記憶位置に書き込むように構成される、データストレージシステム。 - 前記オブジェクトストレージデバイスは、前記書込み予定のストリップを使用して接合オブジェクトを作成するように構成され、
そのオフセットが前記書込み予定のストリップの前記オフセットとは異なるストリップを取得するために、前記書込み予定のストリップの前記オブジェクトIDのオブジェクトセットに属するバックアップされているオブジェクトから最新のスナップショット時刻を有するオブジェクトを選択し、前記書込み予定のストリップおよびそのオフセットが前記書込み予定のストリップの前記オフセットとは異なる前記ストリップを使用して前記接合オブジェクトを構成することを特に含み、
前記オブジェクトストレージデバイスに記憶されているとともに、そのオブジェクトIDが前記書込み予定のストリップの前記オブジェクトIDと同一であり、そのバージョン番号が前記書込み予定のストリップの前記バージョン番号とは異なるオブジェクトのセットは、前記書込み予定のストリップの前記オブジェクトIDの前記オブジェクトセットとしてみなされる、請求項34に記載のシステム。 - クライアントサーバと、オブジェクトストレージデバイスとを含む、データ読出しシステムであって、
前記クライアントサーバは、
ファイル読出し要求を受信することであって、前記ファイル読出し要求は、ファイル名、読出し予定のデータのサイズ、および前記読出し予定のデータのオフセットを搬送し、前記読出し予定のデータは、ファイルの一部である、受信することを行い、
前記ファイル名に従ってファイル識別子(FID)を取得し、前記FIDに従って前記ファイルのメタデータに対するクエリを行って前記ファイルのバージョン番号を取得することであって、前記ファイルの前記バージョン番号は、前記ファイルの最新のスナップショットのスナップショットIDに対応している、取得することを行い、
前記読出し予定のデータの前記オフセットおよび前記読出し予定のデータの前記サイズに従って、読出し予定のストリップが属するオブジェクトのIDを決定し、前記読出し予定のストリップのオフセットを取得し、
ストリップ読出し要求を生成して前記ストリップ読出し要求を送信するように構成され、
前記オブジェクトストレージデバイスは、
前記ストリップ読出し要求を受信することであって、前記ストリップ読出し要求は、前記読出し予定のストリップのサイズ、前記読出し予定のストリップの前記オフセット、前記読出し予定のストリップのバージョン番号、および前記読出し予定のストリップのオブジェクトIDを搬送し、前記読出し予定のストリップの前記バージョン番号は、前記読出し予定のストリップが属する前記ファイルの前記最新のスナップショットの前記スナップショットIDに対応しており、前記読出し予定のストリップの前記オブジェクトIDは、前記読出し予定のストリップが属する前記オブジェクトの前記IDであり、前記オブジェクトは、前記ファイルに属する、受信することを行い、
前記オブジェクトID、前記読出し予定のストリップの前記バージョン番号、および前記読出し予定のストリップの前記オフセットを使用して決定されるストリップがバックアップされているかどうかを決定し、
前記ストリップがバックアップされている場合には、前記オブジェクトID、前記読出し予定のストリップの前記バージョン番号、前記読出し予定のストリップの前記オフセット、および前記読出し予定のストリップの前記サイズを使用して決定されるデータを読み出し、前記読み出したデータを前記読出し予定のストリップとして使用し、前記読出し予定のストリップを前記クライアントサーバに送信する、または、
前記ストリップがバックアップされていない場合には、オブジェクトのスナップショット時刻の降順に従って1つずつ、前記読出し予定のストリップの前記オフセットを使用して決定される記憶位置に有効データを記憶しているオブジェクトが見つかるまで、そのオブジェクトIDが前記読出し予定のストリップの前記オブジェクトIDと同一であり、そのバージョン番号が前記読出し予定のストリップの前記バージョン番号とは異なる前記オブジェクトを探索し、前記見つけた有効データを前記読出し予定のストリップとして使用し、前記読出し予定のストリップを前記クライアントサーバに送信することを行うように構成される、データ読出しシステム。 - クライアントサーバと、オブジェクトストレージデバイスとを含む、データ読出しシステムであって、
前記クライアントサーバは、
ボリューム読出し要求を受信することであって、前記ボリューム読出し要求は、ボリュームID、読出し予定のデータのサイズ、および前記読出し予定のデータのオフセットを搬送し、前記読出し予定のデータは、ボリュームの一部である、受信することを行い、
前記ボリュームIDに従って前記ボリュームのメタデータに対するクエリを行って前記ボリュームのバージョン番号を取得することであって、前記ボリュームの前記バージョン番号は、前記ボリュームの最新のスナップショットのスナップショットIDに対応している、取得することを行い、
前記読出し予定のデータの前記オフセットおよび前記読出し予定のデータの前記サイズに従って、読出し予定のストリップが属するオブジェクトのIDを決定し、前記読出し予定のストリップのオフセットを取得し、
ストリップ読出し要求を生成して前記ストリップ読出し要求を送信するように構成され、
前記オブジェクトストレージデバイスは、
前記ストリップ読出し要求を受信することであって、前記ストリップ読出し要求は、前記読出し予定のストリップのサイズ、前記読出し予定のストリップの前記オフセット、前記読出し予定のストリップのバージョン番号、および前記読出し予定のストリップのオブジェクトIDを搬送し、前記読出し予定のストリップの前記バージョン番号は、前記読出し予定のストリップが属する前記ボリュームの前記最新のスナップショットの前記スナップショットIDに対応しており、前記読出し予定のストリップの前記オブジェクトIDは、前記読出し予定のストリップが属する前記オブジェクトの前記IDであり、前記オブジェクトは、前記ボリュームに属する、受信することを行い、
前記オブジェクトID、前記読出し予定のストリップの前記バージョン番号、および前記読出し予定のストリップの前記オフセットを使用して決定されるストリップがバックアップされているかどうかを決定し、
前記ストリップがバックアップされている場合には、前記オブジェクトID、前記読出し予定のストリップの前記バージョン番号、前記読出し予定のストリップの前記オフセット、および前記読出し予定のストリップの前記サイズを使用して決定されるデータを読み出し、前記読み出したデータを前記読出し予定のストリップとして使用し、前記読出し予定のストリップを前記クライアントサーバに送信する、または、
前記ストリップがバックアップされていない場合には、オブジェクトのスナップショット時刻の降順に従って1つずつ、前記読出し予定のストリップの前記オフセットを使用して決定される記憶位置に有効データを記憶しているオブジェクトが見つかるまで、そのオブジェクトIDが前記読出し予定のストリップの前記オブジェクトIDと同一であり、そのバージョン番号が前記読出し予定のストリップの前記バージョン番号とは異なる前記オブジェクトを探索し、前記見つけた有効データを前記読出し予定のストリップとして使用し、前記読出し予定のストリップを前記クライアントサーバに送信することを行うように構成される、データ読出しシステム。 - プロセッサと、前記プロセッサに接続されている記憶媒体およびインターフェースとを備える、オブジェクトストレージデバイスであって、
前記インターフェースは、クライアントサーバによって送信されたストリップ書込み要求を受信するように構成され、前記ストリップ書込み要求は、書込み予定のストリップ、前記書込み予定のストリップのバージョン番号、前記書込み予定のストリップのオフセット、および前記書込み予定のストリップのオブジェクトIDを搬送し、前記書込み予定のストリップの前記バージョン番号は、前記書込み予定のストリップが属するファイルまたはボリュームの最新のスナップショットのスナップショットIDに対応しており、前記書込み予定のストリップの前記オフセットは、前記書込み予定のストリップが属するオブジェクト内の前記書込み予定のストリップの位置を表しており、前記書込み予定のストリップの前記オブジェクトIDは、前記書込み予定のストリップが属する前記オブジェクトのIDであり、前記オブジェクトは、前記ファイルまたは前記ボリュームに属し、
前記記憶媒体は、コンピュータプログラムを記憶しており、
前記プロセッサは、前記コンピュータプログラムを起動することによって、
前記書込み予定のストリップを、前記オブジェクトID、前記書込み予定のストリップの前記バージョン番号、および前記書込み予定のストリップの前記オフセットを使用して決定される記憶位置に書き込むステップを実行する、オブジェクトストレージデバイス。 - プロセッサと、前記プロセッサに接続されている記憶媒体およびインターフェースとを備える、オブジェクトストレージデバイスであって、
前記インターフェースは、クライアントサーバによって送信されたストリップ書込み要求を受信するように構成され、前記ストリップ書込み要求は、書込み予定のストリップ、前記書込み予定のストリップのバージョン番号、前記書込み予定のストリップのオフセット、および前記書込み予定のストリップのオブジェクトIDを搬送し、前記書込み予定のストリップの前記バージョン番号は、前記書込み予定のストリップが属するファイルまたはボリュームの最新のスナップショットのスナップショットIDに対応しており、前記書込み予定のストリップの前記オフセットは、前記書込み予定のストリップが属するオブジェクト内の前記書込み予定のストリップの位置を表しており、前記書込み予定のストリップの前記オブジェクトIDは、前記書込み予定のストリップが属する前記オブジェクトのIDであり、前記オブジェクトは、前記ファイルまたは前記ボリュームに属し、
前記記憶媒体は、コンピュータプログラムを記憶しており、
前記プロセッサは、前記コンピュータプログラムを起動することによって、
前記書込み予定のストリップの前記バージョン番号および前記オブジェクトIDを使用して決定されるオブジェクトがバックアップされているかどうかを決定するステップを実行し、
前記オブジェクトがバックアップされている場合には、前記コンピュータプログラムは、前記書込み予定のストリップを、前記オブジェクトID、前記書込み予定のストリップの前記バージョン番号、および前記書込み予定のストリップの前記オフセットを使用して決定される記憶位置に書き込むステップをさらに含む、または、
前記オブジェクトがバックアップされていない場合には、前記コンピュータプログラムは、前記書込み予定のストリップを使用して接合オブジェクトを作成し、その後、前記接合オブジェクトを前記書込み予定のストリップの前記バージョン番号および前記オブジェクトIDを使用して決定される記憶位置に書き込むステップをさらに含む、オブジェクトストレージデバイス。 - 前記プロセッサが前記書込み予定のストリップを使用して接合オブジェクトを作成することは、
前記プロセッサが、そのオフセットが前記書込み予定のストリップの前記オフセットとは異なるストリップを取得するために、前記書込み予定のストリップの前記オブジェクトIDのオブジェクトセットに属するバックアップされているオブジェクトから最新のスナップショット時刻を有するオブジェクトを選択し、前記書込み予定のストリップおよびそのオフセットが前記書込み予定のストリップの前記オフセットとは異なる前記ストリップを使用して前記接合オブジェクトを構成するように構成されることを特に含み、
前記オブジェクトストレージデバイスに記憶されているとともに、そのオブジェクトIDが前記書込み予定のストリップの前記オブジェクトIDと同一であり、そのバージョン番号が前記書込み予定のストリップの前記バージョン番号とは異なるオブジェクトのセットは、前記書込み予定のストリップの前記オブジェクトIDの前記オブジェクトセットとしてみなされる、請求項39に記載のオブジェクトストレージデバイス。 - プロセッサと、前記プロセッサに接続されている記憶媒体およびインターフェースとを備える、オブジェクトストレージデバイスであって、
前記インターフェースは、クライアントサーバによって送信されたストリップ書込み要求を受信するように構成され、前記ストリップ書込み要求は、書込み予定のストリップ、前記書込み予定のストリップのバージョン番号、前記書込み予定のストリップのオフセット、および前記書込み予定のストリップのオブジェクトIDを搬送し、前記書込み予定のストリップの前記バージョン番号は、前記書込み予定のストリップが属するファイルまたはボリュームの最新のスナップショットのスナップショットIDに対応しており、前記書込み予定のストリップの前記オフセットは、前記書込み予定のストリップが属するオブジェクト内の前記書込み予定のストリップの位置を表しており、前記書込み予定のストリップの前記オブジェクトIDは、前記書込み予定のストリップが属する前記オブジェクトのIDであり、前記オブジェクトは、前記ファイルまたは前記ボリュームに属し、
前記記憶媒体は、コンピュータプログラムを記憶しており、
前記プロセッサは、前記コンピュータプログラムを起動することによって、
前記書込み予定のストリップの前記バージョン番号、前記書込み予定のストリップの前記オブジェクトID、および前記書込み予定のストリップの前記オフセットを使用して決定されるストリップがバックアップされているかどうかを決定するステップと、
前記ストリップがバックアップされている場合には、前記書込み予定のストリップを、前記書込み予定のストリップの前記バージョン番号、前記書込み予定のストリップの前記オブジェクトID、および前記書込み予定のストリップの前記オフセットを使用して決定される記憶位置に書き込むステップ、または、
前記ストリップがバックアップされていない場合には、前記オブジェクトストレージデバイス内のベースバージョンのオブジェクト内にあるとともに、そのオフセットが前記書込み予定のストリップの前記オフセットであり、そのサイズが前記書込み予定のストリップのサイズであるデータを、前記書込み予定のストリップの前記バージョン番号、前記書込み予定のストリップの前記オフセット、および前記書込み予定のストリップの前記オブジェクトIDを使用して決定される前記記憶位置にバックアップすることであって、前記ベースバージョンの前記オブジェクトのオブジェクトIDは、前記書込み予定のストリップの前記オブジェクトIDと同一であり、前記ベースバージョンの前記オブジェクトのバージョン番号は、ベースバージョン番号であり、前記ベースバージョン番号の値は、0またはヌルである、バックアップすることを行い、前記書込み予定のストリップを、前記書込み予定のストリップの前記オブジェクトID、前記ベースバージョン番号、および前記書込み予定のストリップの前記オフセットを使用して決定される記憶位置に書き込むステップとを実行する、オブジェクトストレージデバイス。 - プロセッサと、前記プロセッサに接続されている記憶媒体およびインターフェースとを備える、オブジェクトストレージデバイスであって、
前記インターフェースは、クライアントサーバによって送信されたストリップ書込み要求を受信するように構成され、前記ストリップ書込み要求は、書込み予定のストリップ、前記書込み予定のストリップのバージョン番号、前記書込み予定のストリップのオフセット、および前記書込み予定のストリップのオブジェクトIDを搬送し、前記書込み予定のストリップの前記バージョン番号は、前記書込み予定のストリップが属するファイルまたはボリュームの最新のスナップショットのスナップショットIDに対応しており、前記書込み予定のストリップの前記オフセットは、前記書込み予定のストリップが属するオブジェクト内の前記書込み予定のストリップの位置を表しており、前記書込み予定のストリップの前記オブジェクトIDは、前記書込み予定のストリップが属する前記オブジェクトのIDであり、前記オブジェクトは、前記ファイルまたは前記ボリュームに属し、
前記記憶媒体は、コンピュータプログラムを記憶しており、
前記プロセッサは、前記コンピュータプログラムを起動することによって、
前記書込み予定のストリップの前記バージョン番号および前記オブジェクトIDを使用して決定されるオブジェクトがバックアップされているかどうかを決定するステップと、
前記オブジェクトがバックアップされている場合には、前記オブジェクトストレージデバイスによって、前記書込み予定のストリップを、前記オブジェクトID、前記オブジェクトのバージョン番号、および前記書込み予定のストリップの前記オフセットを使用して決定される記憶位置に書き込むステップ、または、
前記オブジェクトがバックアップされていない場合には、前記オブジェクトストレージデバイスによって、ベースバージョンのオブジェクトを、前記書込み予定のストリップの前記バージョン番号および前記オブジェクトIDを使用して決定される記憶位置にバックアップするステップであって、前記ベースバージョンの前記オブジェクトのオブジェクトIDは、前記書込み予定のストリップの前記オブジェクトIDと同一であり、前記ベースバージョンの前記オブジェクトのバージョン番号は、ベースバージョン番号であり、前記ベースバージョン番号の値は、0またはヌルである、バックアップするステップと、
前記オブジェクトがバックアップされていない場合には、前記オブジェクトストレージデバイスによって、前記書込み予定のストリップを、前記書込み予定のストリップの前記オブジェクトID、前記ベースバージョン番号、および前記オフセットを使用して決定される記憶位置に書き込むステップとを実行する、オブジェクトストレージデバイス。 - プロセッサと、前記プロセッサに接続されている記憶媒体およびインターフェースとを備える、オブジェクトストレージデバイスであって、
前記インターフェースは、クライアントサーバによって送信されたストリップ読出し要求を受信するように構成され、前記ストリップ読出し要求は、読出し予定のストリップのサイズ、前記読出し予定のストリップのオフセット、前記読出し予定のストリップのバージョン番号、および前記読出し予定のストリップのオブジェクトIDを搬送し、前記読出し予定のストリップの前記バージョン番号は、前記読出し予定のストリップが属するファイルまたはボリュームの最新のスナップショットのスナップショットIDに対応しており、前記読出し予定のストリップの前記オブジェクトIDは、前記読出し予定のストリップが属するオブジェクトのIDであり、前記オブジェクトは、前記ファイルまたは前記ボリュームに属し、
前記記憶媒体は、コンピュータプログラムを記憶しており、
前記プロセッサは、前記コンピュータプログラムを起動することによって、
前記オブジェクトID、前記読出し予定のストリップの前記バージョン番号、および前記読出し予定のストリップの前記オフセットを使用して決定されるストリップがバックアップされているかどうかを決定するステップと、
前記ストリップがバックアップされている場合には、前記オブジェクトID、前記読出し予定のストリップの前記バージョン番号、前記読出し予定のストリップの前記オフセット、および前記読出し予定のストリップの前記サイズを使用して決定されるデータを読み出し、前記読み出したデータを前記読出し予定のストリップとして使用し、前記読出し予定のストリップを前記クライアントサーバに送信するステップ、または、
前記ストリップがバックアップされていない場合には、オブジェクトのスナップショット時刻の降順に従って1つずつ、前記読出し予定のストリップの前記オフセットを使用して決定される記憶位置に有効データを記憶しているオブジェクトが見つかるまで、そのオブジェクトIDが前記読出し予定のストリップの前記オブジェクトIDと同一であり、そのバージョン番号が前記読出し予定のストリップの前記バージョン番号とは異なる前記オブジェクトを探索し、前記見つけた有効データを前記読出し予定のストリップとして使用し、前記読出し予定のストリップを前記クライアントサーバに送信するステップとを実行する、オブジェクトストレージデバイス。 - 前記オブジェクトの前記スナップショット時刻の前記降順は、
前記オブジェクトストレージデバイスの書込みモードがリダイレクト・オン・ファースト・ライト(ROW)である場合には、前記オブジェクトの前記スナップショット時刻の前記降順がバージョン番号の降順である、または、
前記オブジェクトストレージデバイスの書込みモードがコピー・オン・ライト(COW)である場合には、前記オブジェクトの前記スナップショット時刻の前記降順がバージョン番号の昇順であることを特に含む、請求項43に記載のオブジェクトストレージデバイス。 - プロセッサと、前記プロセッサに接続されている記憶媒体およびインターフェースとを備える、オブジェクトストレージデバイスであって、
前記インターフェースは、クライアントサーバによって送信されたストリップ読出し要求を受信するように構成され、前記ストリップ読出し要求は、読出し予定のストリップのサイズ、前記読出し予定のストリップのオフセット、前記読出し予定のストリップのバージョン番号、および前記読出し予定のストリップのオブジェクトIDを搬送し、前記読出し予定のストリップの前記バージョン番号は、前記読出し予定のストリップが属するファイルまたはボリュームの最新のスナップショットのスナップショットIDに対応しており、前記読出し予定のストリップの前記オブジェクトIDは、前記読出し予定のストリップが属するオブジェクトのIDであり、前記オブジェクトは、前記ファイルまたは前記ボリュームに属し、
前記記憶媒体は、コンピュータプログラムを記憶しており、
前記プロセッサは、前記コンピュータプログラムを起動することによって、
前記オブジェクトIDおよび前記読出し予定のストリップの前記バージョン番号を使用して決定されるオブジェクトがバックアップされているかどうかを決定するステップと、
前記オブジェクトがバックアップされている場合には、前記オブジェクトID、前記読出し予定のストリップの前記バージョン番号、前記読出し予定のストリップの前記オフセット、および前記読出し予定のストリップの前記サイズを使用して決定されるデータを読み出し、前記読み出したデータを前記読出し予定のストリップとして使用し、前記読出し予定のストリップを前記クライアントサーバに送信するステップ、または、
前記オブジェクトがバックアップされていない場合には、オブジェクトのスナップショット時刻の降順に従って1つずつ、前記読出し予定のストリップの前記オフセットを使用して決定される記憶位置に有効データを記憶しているオブジェクトが見つかるまで、そのオブジェクトIDが前記読出し予定のストリップの前記オブジェクトIDと同一であり、そのバージョン番号が前記読出し予定のストリップの前記バージョン番号とは異なる前記オブジェクトを探索し、前記見つけた有効データを前記読出し予定のストリップとして使用し、前記読出し予定のストリップを前記クライアントサーバに送信するステップとを実行する、オブジェクトストレージデバイス。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2014/095223 WO2016101283A1 (zh) | 2014-12-27 | 2014-12-27 | 一种数据处理方法装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017537397A JP2017537397A (ja) | 2017-12-14 |
JP6607941B2 true JP6607941B2 (ja) | 2019-11-20 |
Family
ID=56149009
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017528138A Active JP6607941B2 (ja) | 2014-12-27 | 2014-12-27 | データ処理方法、装置、およびシステム |
Country Status (10)
Country | Link |
---|---|
US (3) | US11032368B2 (ja) |
EP (1) | EP3203386A4 (ja) |
JP (1) | JP6607941B2 (ja) |
KR (1) | KR102030786B1 (ja) |
CN (2) | CN108733761B (ja) |
AU (1) | AU2014415350B2 (ja) |
BR (1) | BR112017011412B1 (ja) |
CA (1) | CA2965715C (ja) |
SG (1) | SG11201703410YA (ja) |
WO (1) | WO2016101283A1 (ja) |
Families Citing this family (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108021333B (zh) * | 2016-11-03 | 2021-08-24 | 阿里巴巴集团控股有限公司 | 随机读写数据的系统、装置及方法 |
US10691350B2 (en) | 2016-11-15 | 2020-06-23 | StorageOS Limited | Method for provisioning a volume of data including placing data based on rules associated with the volume |
US10353632B2 (en) | 2016-11-15 | 2019-07-16 | StorageOS Limited | System and method for storing data blocks in a volume of data |
US10733305B2 (en) | 2016-11-15 | 2020-08-04 | StorageOS Limited | System and method for implementing cryptography in a storage system |
CN108604201B (zh) * | 2016-12-30 | 2022-02-25 | 华为技术有限公司 | 一种快照回滚方法、装置、存储控制器和系统 |
CN106708443B (zh) * | 2017-01-03 | 2020-01-17 | 北京百度网讯科技有限公司 | 数据读写方法及装置 |
US10652330B2 (en) * | 2017-01-15 | 2020-05-12 | Google Llc | Object storage in cloud with reference counting using versions |
JP6724252B2 (ja) | 2017-04-14 | 2020-07-15 | 華為技術有限公司Huawei Technologies Co.,Ltd. | データ処理方法、記憶システムおよび切り換え装置 |
US10547683B2 (en) * | 2017-06-26 | 2020-01-28 | Christopher Squires | Object based storage systems that utilize direct memory access |
US20190114232A1 (en) * | 2017-10-17 | 2019-04-18 | Christopher Squires | Local and offloaded snapshots for volatile memory |
CN110309100B (zh) * | 2018-03-22 | 2023-05-23 | 腾讯科技(深圳)有限公司 | 一种快照对象生成方法和装置 |
CN110837479B (zh) * | 2018-08-17 | 2023-09-01 | 华为云计算技术有限公司 | 数据处理方法、相关设备及计算机存储介质 |
CN110874181B (zh) * | 2018-08-31 | 2021-12-17 | 杭州海康威视系统技术有限公司 | 一种数据更新方法及更新装置 |
CN109634526B (zh) * | 2018-12-11 | 2022-04-22 | 浪潮(北京)电子信息产业有限公司 | 一种基于对象存储的数据操作方法及相关装置 |
CN109669634B (zh) * | 2018-12-17 | 2022-03-04 | 浪潮电子信息产业股份有限公司 | 一种数据落盘方法、装置、设备及可读存储介质 |
WO2020132849A1 (zh) * | 2018-12-25 | 2020-07-02 | 华为技术有限公司 | 分布式存储系统中数据存储方法、装置及计算机程序产品 |
US11163730B2 (en) * | 2019-05-13 | 2021-11-02 | Microsoft Technology Licensing, Llc | Hard link operations for files in a file system |
CN110674518A (zh) * | 2019-09-26 | 2020-01-10 | 海南新软软件有限公司 | 一种设备标识信息生成方法、装置及系统 |
CN110769062A (zh) * | 2019-10-29 | 2020-02-07 | 广东睿江云计算股份有限公司 | 一种分布式存储的异地灾备方法 |
CN112835511B (zh) * | 2019-11-25 | 2022-09-20 | 浙江宇视科技有限公司 | 分布式存储集群的数据写入方法、装置、设备和介质 |
CN111064801B (zh) * | 2019-12-26 | 2023-06-13 | 浪潮电子信息产业股份有限公司 | 一种基于分布式文件系统的osd通信方法、装置及介质 |
US11609834B2 (en) * | 2020-01-21 | 2023-03-21 | Druva Inc. | Event based aggregation for distributed scale-out storage systems |
CN111352594B (zh) * | 2020-03-12 | 2023-06-20 | 湖州旻合科技有限公司 | eFuse中写入数据、读取数据的方法及装置 |
CN111857602B (zh) * | 2020-07-31 | 2022-10-28 | 重庆紫光华山智安科技有限公司 | 数据处理方法、装置、数据节点及存储介质 |
CN111966845B (zh) * | 2020-08-31 | 2023-11-17 | 重庆紫光华山智安科技有限公司 | 图片管理方法、装置、存储节点及存储介质 |
CN112261097B (zh) * | 2020-10-15 | 2023-11-24 | 科大讯飞股份有限公司 | 用于分布式存储系统的对象定位方法及电子设备 |
CN114697351B (zh) * | 2020-12-30 | 2023-03-10 | 华为技术有限公司 | 一种存储管理方法、设备及介质 |
CN113821377B (zh) * | 2021-08-27 | 2023-12-22 | 济南浪潮数据技术有限公司 | 一种分布式存储集群的数据恢复方法、系统及存储介质 |
CN113742140B (zh) * | 2021-11-03 | 2022-03-18 | 统信软件技术有限公司 | 一种文件备份方法、装置及计算设备 |
CN115981875B (zh) * | 2023-03-21 | 2023-08-25 | 人工智能与数字经济广东省实验室(广州) | 内存存储系统的增量更新方法、装置、设备、介质和产品 |
Family Cites Families (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6651147B2 (en) | 2001-05-08 | 2003-11-18 | International Business Machines Corporation | Data placement and allocation using virtual contiguity |
US6957362B2 (en) | 2002-08-06 | 2005-10-18 | Emc Corporation | Instantaneous restoration of a production copy from a snapshot copy in a data storage system |
US7209933B2 (en) * | 2003-12-12 | 2007-04-24 | Oracle International Corporation | Object versioning |
US7386663B2 (en) * | 2004-05-13 | 2008-06-10 | Cousins Robert E | Transaction-based storage system and method that uses variable sized objects to store data |
AU2005304759B2 (en) * | 2004-11-05 | 2012-05-17 | Drobo, Inc. | Dynamically expandable and contractible fault-tolerant storage system permitting variously sized storage devices and method |
US7228320B2 (en) | 2004-11-17 | 2007-06-05 | Hitachi, Ltd. | System and method for creating an object-level snapshot in a storage system |
US20060204134A1 (en) | 2005-03-01 | 2006-09-14 | James Modrall | Method and system of viewing digitized roll film images |
US7373366B1 (en) * | 2005-06-10 | 2008-05-13 | American Megatrends, Inc. | Method, system, apparatus, and computer-readable medium for taking and managing snapshots of a storage volume |
US7716171B2 (en) | 2005-08-18 | 2010-05-11 | Emc Corporation | Snapshot indexing |
CN100355899C (zh) | 2006-04-14 | 2007-12-19 | 清华大学 | 一种对具荚膜细菌发酵液过滤预处理方法 |
US8285758B1 (en) * | 2007-06-30 | 2012-10-09 | Emc Corporation | Tiering storage between multiple classes of storage on the same container file system |
US20100082538A1 (en) * | 2008-09-29 | 2010-04-01 | Heiko Rentsch | Isolated replication of shared objects |
US8099572B1 (en) * | 2008-09-30 | 2012-01-17 | Emc Corporation | Efficient backup and restore of storage objects in a version set |
JP5244979B2 (ja) * | 2009-02-23 | 2013-07-24 | 株式会社日立製作所 | ストレージシステムおよびその制御方法 |
CN101515296A (zh) * | 2009-03-06 | 2009-08-26 | 成都市华为赛门铁克科技有限公司 | 数据更新方法和装置 |
US8285681B2 (en) | 2009-06-30 | 2012-10-09 | Commvault Systems, Inc. | Data object store and server for a cloud storage environment, including data deduplication and data management across multiple cloud storage sites |
CN101783814A (zh) * | 2009-12-29 | 2010-07-21 | 上海交通大学 | 海量存储系统的元数据存储方法 |
US8918674B2 (en) * | 2010-01-28 | 2014-12-23 | Cleversafe, Inc. | Directory file system in a dispersed storage network |
US8825602B1 (en) | 2010-03-15 | 2014-09-02 | Symantec Corporation | Systems and methods for providing data protection in object-based storage environments |
US9852150B2 (en) | 2010-05-03 | 2017-12-26 | Panzura, Inc. | Avoiding client timeouts in a distributed filesystem |
US9824095B1 (en) | 2010-05-03 | 2017-11-21 | Panzura, Inc. | Using overlay metadata in a cloud controller to generate incremental snapshots for a distributed filesystem |
US8396905B2 (en) | 2010-11-16 | 2013-03-12 | Actifio, Inc. | System and method for improved garbage collection operations in a deduplicated store by tracking temporal relationships among copies |
EP2754027B1 (en) * | 2011-09-14 | 2017-08-23 | Hitachi, Ltd. | Method for creating clone file, and file system adopting the same |
US9804928B2 (en) | 2011-11-14 | 2017-10-31 | Panzura, Inc. | Restoring an archived file in a distributed filesystem |
US9635132B1 (en) | 2011-12-15 | 2017-04-25 | Amazon Technologies, Inc. | Service and APIs for remote volume-based block storage |
US9817834B1 (en) * | 2012-10-01 | 2017-11-14 | Veritas Technologies Llc | Techniques for performing an incremental backup |
US9742873B2 (en) | 2012-11-29 | 2017-08-22 | International Business Machines Corporation | Adjustment to managed-infrastructure-as-a-service cloud standard |
US9092837B2 (en) | 2012-11-29 | 2015-07-28 | International Business Machines Corporation | Use of snapshots to reduce risk in migration to a standard virtualized environment |
CN104079600B (zh) | 2013-03-27 | 2018-10-12 | 中兴通讯股份有限公司 | 文件存储方法、装置、访问客户端及元数据服务器系统 |
US20140344539A1 (en) * | 2013-05-20 | 2014-11-20 | Kaminario Technologies Ltd. | Managing data in a storage system |
CN103558998B (zh) | 2013-11-07 | 2016-03-30 | 华为技术有限公司 | 一种数据操作的方法和设备 |
US20150244795A1 (en) * | 2014-02-21 | 2015-08-27 | Solidfire, Inc. | Data syncing in a distributed system |
US9400741B1 (en) * | 2014-06-30 | 2016-07-26 | Emc Corporation | Reclaiming space from file system hosting many primary storage objects and their snapshots |
-
2014
- 2014-12-27 JP JP2017528138A patent/JP6607941B2/ja active Active
- 2014-12-27 CN CN201810336937.4A patent/CN108733761B/zh active Active
- 2014-12-27 WO PCT/CN2014/095223 patent/WO2016101283A1/zh active Application Filing
- 2014-12-27 BR BR112017011412-7A patent/BR112017011412B1/pt active IP Right Grant
- 2014-12-27 CA CA2965715A patent/CA2965715C/en active Active
- 2014-12-27 KR KR1020177012992A patent/KR102030786B1/ko active IP Right Grant
- 2014-12-27 SG SG11201703410YA patent/SG11201703410YA/en unknown
- 2014-12-27 EP EP14908851.0A patent/EP3203386A4/en not_active Ceased
- 2014-12-27 CN CN201480075382.2A patent/CN105993013B/zh active Active
- 2014-12-27 AU AU2014415350A patent/AU2014415350B2/en active Active
-
2017
- 2017-06-27 US US15/634,819 patent/US11032368B2/en active Active
- 2017-06-27 US US15/634,774 patent/US20170295239A1/en not_active Abandoned
-
2021
- 2021-01-27 US US17/160,032 patent/US11799959B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
KR20170068564A (ko) | 2017-06-19 |
US20170293533A1 (en) | 2017-10-12 |
BR112017011412A2 (pt) | 2018-06-26 |
EP3203386A1 (en) | 2017-08-09 |
SG11201703410YA (en) | 2017-06-29 |
US11032368B2 (en) | 2021-06-08 |
US11799959B2 (en) | 2023-10-24 |
AU2014415350A1 (en) | 2017-05-18 |
EP3203386A4 (en) | 2017-12-27 |
BR112017011412B1 (pt) | 2023-02-14 |
JP2017537397A (ja) | 2017-12-14 |
CN108733761A (zh) | 2018-11-02 |
WO2016101283A1 (zh) | 2016-06-30 |
KR102030786B1 (ko) | 2019-10-10 |
CN105993013A (zh) | 2016-10-05 |
CN108733761B (zh) | 2021-12-03 |
CN105993013B (zh) | 2018-05-04 |
US20170295239A1 (en) | 2017-10-12 |
AU2014415350B2 (en) | 2019-02-21 |
CA2965715C (en) | 2019-02-26 |
BR112017011412A8 (pt) | 2022-09-06 |
CA2965715A1 (en) | 2016-06-30 |
US20210152638A1 (en) | 2021-05-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6607941B2 (ja) | データ処理方法、装置、およびシステム | |
CN110321301B (zh) | 一种数据处理的方法及装置 | |
US10628378B2 (en) | Replication of snapshots and clones | |
JP4354233B2 (ja) | バックアップシステム及び方法 | |
KR102031588B1 (ko) | 파일 저장 시의 색인 구현 방법 및 시스템 | |
US11579777B2 (en) | Data writing method, client server, and system | |
CN111008185B (zh) | 一种数据共享方法、系统及设备 | |
US11907078B2 (en) | Data backup method, apparatus, and system | |
JP6968876B2 (ja) | 期限切れバックアップ処理方法及びバックアップサーバ | |
US11010082B2 (en) | Mechanisms for performing accurate space accounting for volume families | |
JP2016526737A (ja) | Posix互換なファイル・システム、ファイル・リストを生成する方法および記憶デバイス | |
CN111090618B (zh) | 一种数据读取方法、系统及设备 | |
CN109407975B (zh) | 写数据方法与计算节点以及分布式存储系统 | |
US20220350779A1 (en) | File system cloning method and apparatus | |
CN111444138A (zh) | 一种文件局部修改方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170609 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170609 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180723 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20181023 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20190318 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190423 |
|
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: 20190924 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20191021 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6607941 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |