JP2017537397A - データ処理方法、装置、およびシステム - Google Patents
データ処理方法、装置、およびシステム Download PDFInfo
- Publication number
- JP2017537397A JP2017537397A JP2017528138A JP2017528138A JP2017537397A JP 2017537397 A JP2017537397 A JP 2017537397A JP 2017528138 A JP2017528138 A JP 2017528138A JP 2017528138 A JP2017528138 A JP 2017528138A JP 2017537397 A JP2017537397 A JP 2017537397A
- Authority
- JP
- Japan
- Prior art keywords
- strip
- written
- read
- version number
- offset
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000003672 processing method Methods 0.000 title claims description 9
- 238000000034 method Methods 0.000 claims abstract description 120
- 238000013500 data storage Methods 0.000 claims description 40
- 238000004590 computer program Methods 0.000 claims description 18
- 230000001174 ascending effect Effects 0.000 claims description 6
- 235000011888 snacks Nutrition 0.000 claims 1
- 238000013523 data management Methods 0.000 abstract description 2
- 238000013507 mapping Methods 0.000 description 54
- 230000006870 function Effects 0.000 description 13
- 238000004364 calculation method Methods 0.000 description 10
- 230000008859 change Effects 0.000 description 9
- 239000012634 fragment Substances 0.000 description 9
- 230000005540 biological transmission Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 8
- 230000000295 complement effect Effects 0.000 description 6
- 238000007726 management method Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 239000013589 supplement Substances 0.000 description 6
- 238000006243 chemical reaction Methods 0.000 description 5
- 238000012795 verification Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 2
- 238000003491 array 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
-
- 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
- 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
-
- 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)
Abstract
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を決定し、前記書込み予定のストリップの前記オフセットを取得するステップと、
前記ストリップ書込み要求を作成するステップとをさらに含む、請求項1、2、または3に記載の方法。 - 前記OSDによって、ストリップ書込み要求を受信するステップの前に、前記方法は、
前記クライアントサーバによって、ボリューム書込み要求を受信するステップであって、前記ボリューム書込み要求は、書込み予定のデータ、前記書込み予定のデータのオフセット、およびボリューム識別子IDを搬送し、前記書込み予定のデータは、前記ボリュームの一部である、ステップと、
前記クライアントサーバによって、前記ボリュームIDに従って前記ボリュームの前記メタデータに対するクエリを行って前記ボリュームのバージョン番号を取得し、前記ボリュームの前記バージョン番号を前記書込み予定のストリップの前記バージョン番号として使用するステップであって、前記ボリュームの前記バージョン番号は、前記書込み予定のストリップが属する前記ボリュームの前記最新のスナップショットの前記スナップショットIDに対応している、ステップと、
前記書込み予定のデータの前記オフセットおよび前記書込み予定のデータのサイズに従って前記クライアントサーバによって、前記書込み予定のデータセグメントを前記書込み予定のストリップを含む複数のストリップに分割し、前記書込み予定のストリップが属する前記オブジェクトの前記IDを決定し、前記書込み予定のストリップの前記オフセットを取得するステップと、
前記ストリップ書込み要求を作成するステップとをさらに含む、請求項1、2、または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と同一であり、前記ベースバージョンの前記オブジェクトのバージョン番号は、ベースバージョン番号である、バックアップすることを行い、前記書込み予定のストリップを、前記書込み予定のストリップの前記オブジェクトID、前記ベースバージョン番号、および前記書込み予定のストリップの前記オフセットを使用して決定される記憶位置に書き込むステップとを含む、方法。 - 前記クライアントサーバによって送信されたストリップ書込み要求を受信するステップの前に、前記方法は、
前記クライアントサーバによって、前記書込み予定のストリップが属する前記ファイルまたは前記ボリュームのスナップショットを作成し、前記最新のスナップショットの前記スナップショットIDを生成するステップと、
前記最新のスナップショットの前記スナップショットIDに従って前記書込み予定のストリップの前記バージョン番号を生成するステップとをさらに含む、請求項9に記載の方法。 - 前記方法は、
前記クライアントサーバによって、前記ファイルまたは前記ボリュームのメタデータに対して前記書込み予定のストリップの前記バージョン番号を更新するステップをさらに含む、請求項10に記載の方法。 - 前記OSDによって、ストリップ書込み要求を受信するステップの前に、前記方法は、
前記クライアントサーバによって、ファイル書込み要求を受信するステップであって、前記ファイル書込み要求は、書込み予定のデータ、前記書込み予定のデータのオフセット、およびファイル名を搬送し、前記書込み予定のデータは、前記ファイルの一部である、ステップと、
前記クライアントサーバによって、前記ファイル名に従ってファイル識別子FIDを取得し、前記FIDに従って前記ファイルの前記メタデータに対するクエリを行って前記ファイルのバージョン番号を取得し、前記ファイルの前記バージョン番号を前記書込み予定のストリップの前記バージョン番号として使用するステップであって、前記ファイルの前記バージョン番号は、前記書込み予定のストリップが属する前記ファイルの前記最新のスナップショットの前記スナップショットIDに対応している、ステップと、
前記書込み予定のデータの前記オフセットおよび前記書込み予定のデータのサイズに従って前記クライアントサーバによって、前記書込み予定のデータを前記書込み予定のストリップを含む複数のストリップに分割し、前記書込み予定のストリップが属する前記オブジェクトの前記IDを決定し、前記書込み予定のストリップの前記オフセットを取得するステップと、
前記ストリップ書込み要求を作成するステップとをさらに含む、請求項9、10、または11に記載の方法。 - 前記OSDによって、ストリップ書込み要求を受信するステップの前に、前記方法は、
前記クライアントサーバによって、ボリューム書込み要求を受信するステップであって、前記ボリューム書込み要求は、書込み予定のデータ、前記書込み予定のデータのオフセット、およびボリューム識別子IDを搬送し、前記書込み予定のデータは、前記ボリュームの一部である、ステップと、
前記クライアントサーバによって、前記ボリュームIDに従って前記ボリュームの前記メタデータに対するクエリを行って前記ボリュームのバージョン番号を取得し、前記ボリュームの前記バージョン番号を前記書込み予定のストリップの前記バージョン番号として使用するステップであって、前記ボリュームの前記バージョン番号は、前記書込み予定のストリップが属する前記ボリュームの前記最新のスナップショットの前記スナップショットIDに対応している、ステップと、
前記書込み予定のデータの前記オフセットおよび前記書込み予定のデータのサイズに従って前記クライアントサーバによって、前記書込み予定のデータセグメントを前記書込み予定のストリップを含む複数のストリップに分割し、前記書込み予定のストリップが属する前記オブジェクトの前記IDを決定し、前記書込み予定のストリップの前記オフセットを取得するステップと、
前記ストリップ書込み要求を作成するステップとをさらに含む、請求項9、10、または11に記載の方法。 - データ処理方法であって、前記方法は、
オブジェクトストレージデバイスOSDによって、クライアントサーバによって送信されたストリップ書込み要求を受信するステップであって、前記ストリップ書込み要求は、書込み予定のストリップ、前記書込み予定のストリップのバージョン番号、前記書込み予定のストリップのオフセット、および前記書込み予定のストリップのオブジェクトIDを搬送し、前記書込み予定のストリップの前記バージョン番号は、前記書込み予定のストリップが属するファイルまたはボリュームの最新のスナップショットのスナップショットIDに対応しており、前記書込み予定のストリップの前記オフセットは、前記書込み予定のストリップが属するオブジェクト内の前記書込み予定のストリップの位置を表しており、前記書込み予定のストリップの前記オブジェクトIDは、前記書込み予定のストリップが属する前記オブジェクトのIDである、ステップと、
前記OSDによって、前記書込み予定のストリップの前記バージョン番号および前記オブジェクトIDを使用して決定されるオブジェクトがバックアップされているかどうかを決定するステップと、
前記オブジェクトがバックアップされている場合には、前記OSDによって、前記書込み予定のストリップを、前記オブジェクトID、前記オブジェクトのバージョン番号、および前記書込み予定のストリップの前記オフセットを使用して決定される記憶位置に書き込むステップ、または、
前記オブジェクトがバックアップされていない場合には、前記OSD内のベースバージョンのオブジェクト内のデータを前記書込み予定のストリップの前記バージョン番号および前記オブジェクトIDを使用して決定される記憶位置にバックアップすることであって、前記ベースバージョンの前記オブジェクトのオブジェクトIDは、前記書込み予定のストリップの前記オブジェクトIDと同一であり、前記ベースバージョンの前記オブジェクトのバージョン番号は、ベースバージョン番号である、バックアップすることを行い、
前記OSDによって、前記書込み予定のストリップを、前記書込み予定のストリップの前記オブジェクトID、前記ベースバージョン番号、および前記オフセットを使用して決定される記憶位置に書き込むステップとを含む、方法。 - データ読出し方法であって、前記方法は、
オブジェクトストレージデバイスOSDによって、クライアントサーバによって送信されたストリップ読出し要求を受信するステップであって、前記ストリップ読出し要求は、読出し予定のストリップのサイズ、前記読出し予定のストリップのオフセット、前記読出し予定のストリップのバージョン番号、および前記読出し予定のストリップのオブジェクトIDを搬送し、前記読出し予定のストリップの前記バージョン番号は、前記読出し予定のストリップが属するファイルまたはボリュームの最新のスナップショットのスナップショットIDに対応しており、前記読出し予定のストリップの前記オブジェクトIDは、前記読出し予定のストリップが属するオブジェクトのIDである、ステップと、
前記OSDによって、前記オブジェクトID、前記読出し予定のストリップの前記バージョン番号、および前記読出し予定のストリップの前記オフセットを使用して決定されるストリップがバックアップされているかどうかを決定するステップと、
前記ストリップがバックアップされている場合には、前記オブジェクトID、前記読出し予定のストリップの前記バージョン番号、前記読出し予定のストリップの前記オフセット、および前記読出し予定のストリップの前記サイズを使用して決定されるデータを読み出し、前記読み出したデータを前記読出し予定のストリップとして使用し、前記読出し予定のストリップを前記クライアントサーバに送信するステップ、または、
前記ストリップがバックアップされていない場合には、オブジェクトのスナップショット時刻の降順に従って1つずつ、前記読出し予定のストリップの前記オフセットを使用して決定される記憶位置に有効データを記憶しているオブジェクトが見つかるまで、そのオブジェクトIDが前記読出し予定のストリップの前記オブジェクト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と同一であり、そのバージョン番号が前記書込み予定のストリップの前記バージョン番号とは異なるオブジェクトのセットは、前記書込み予定のストリップの前記オブジェクトIDの前記オブジェクトセットとしてみなされる、請求項21に記載の装置。 - データ処理装置であって、前記装置は、
クライアントサーバによって送信されたストリップ書込み要求を受信するように構成される、ストリップ要求受信モジュールであって、前記ストリップ書込み要求は、書込み予定のストリップ、前記書込み予定のストリップのバージョン番号、前記書込み予定のストリップのオフセット、および前記書込み予定のストリップのオブジェクトIDを搬送し、前記書込み予定のストリップの前記バージョン番号は、前記書込み予定のストリップが属するファイルまたはボリュームの最新のスナップショットのスナップショットIDに対応しており、前記書込み予定のストリップの前記オフセットは、前記書込み予定のストリップが属するオブジェクト内の前記書込み予定のストリップの位置を表しており、前記書込み予定のストリップの前記オブジェクトIDは、前記書込み予定のストリップが属する前記オブジェクトのIDである、ストリップ要求受信モジュールと、
前記書込み予定のストリップの前記バージョン番号、前記書込み予定のストリップの前記オブジェクトID、および前記書込み予定のストリップの前記オフセットを使用して決定されるストリップがバックアップされているかどうかを決定し、
前記ストリップがバックアップされている場合には、前記書込み予定のストリップを、前記書込み予定のストリップの前記バージョン番号、前記書込み予定のストリップの前記オブジェクトID、および前記書込み予定のストリップの前記オフセットを使用して決定される記憶位置に書き込む、または、
前記ストリップがバックアップされていない場合には、前記データストレージ装置内のベースバージョンのオブジェクト内にあるとともに、そのオフセットが前記書込み予定のストリップの前記オフセットであり、そのサイズが前記書込み予定のストリップのサイズであるデータを、前記書込み予定のストリップの前記バージョン番号、前記書込み予定のストリップの前記オフセット、および前記書込み予定のストリップの前記オブジェクトIDを使用して決定される前記記憶位置にバックアップすることであって、前記ベースバージョンの前記オブジェクトのオブジェクトIDは、前記書込み予定のストリップの前記オブジェクトIDと同一であり、前記ベースバージョンの前記オブジェクトのバージョン番号は、ベースバージョン番号である、バックアップすることを行い、前記書込み予定のストリップを、前記書込み予定のストリップの前記オブジェクトID、前記ベースバージョン番号、および前記書込み予定のストリップの前記オフセットを使用して決定される記憶位置に書き込むように構成される、ストリップ記憶モジュールとを備える、装置。 - データ処理装置であって、前記装置は、
クライアントサーバによって送信されたストリップ書込み要求を受信するように構成される、ストリップ要求受信モジュールであって、前記ストリップ書込み要求は、書込み予定のストリップ、前記書込み予定のストリップのバージョン番号、前記書込み予定のストリップのオフセット、および前記書込み予定のストリップのオブジェクトIDを搬送し、前記書込み予定のストリップの前記バージョン番号は、前記書込み予定のストリップが属するファイルまたはボリュームの最新のスナップショットのスナップショットIDに対応しており、前記書込み予定のストリップの前記オフセットは、前記書込み予定のストリップが属するオブジェクト内の前記書込み予定のストリップの位置を表しており、前記書込み予定のストリップの前記オブジェクトIDは、前記書込み予定のストリップが属する前記オブジェクトのIDである、ストリップ要求受信モジュールと、
前記書込み予定のストリップの前記バージョン番号および前記オブジェクトIDを使用して決定されるオブジェクトがバックアップされているかどうかを決定し、
前記オブジェクトがバックアップされている場合には、前記書込み予定のストリップを、前記オブジェクトID、前記オブジェクトのバージョン番号、および前記書込み予定のストリップの前記オフセットを使用して決定される記憶位置に書き込む、または、
前記オブジェクトがバックアップされていない場合には、ベースバージョンのオブジェクト内のデータを前記書込み予定のストリップの前記バージョン番号および前記オブジェクトIDを使用して決定される記憶位置にバックアップすることであって、前記ベースバージョンの前記オブジェクトのオブジェクトIDは、前記書込み予定のストリップの前記オブジェクトIDと同一であり、前記ベースバージョンの前記オブジェクトのバージョン番号は、ベースバージョン番号である、バックアップすることを行うように構成される、ストリップ記憶モジュールであって、
前記ストリップ記憶モジュールは、前記書込み予定のストリップを、前記書込み予定のストリップの前記オブジェクトID、前記ベースバージョン番号、および前記オフセットを使用して決定される記憶位置に書き込むようにさらに構成される、ストリップ記憶モジュールとを備える、装置。 - データ読出し装置であって、前記装置は、
クライアントサーバによって送信されたストリップ読出し要求を受信するように構成される、ストリップ要求受信モジュールであって、前記ストリップ読出し要求は、読出し予定のストリップのサイズ、前記読出し予定のストリップのオフセット、前記読出し予定のストリップのバージョン番号、および前記読出し予定のストリップのオブジェクトIDを搬送し、前記読出し予定のストリップの前記バージョン番号は、前記読出し予定のストリップが属するファイルまたはボリュームの最新のスナップショットのスナップショットIDに対応しており、前記読出し予定のストリップの前記オブジェクトIDは、前記読出し予定のストリップが属するオブジェクトのIDである、ストリップ要求受信モジュールと、
前記オブジェクトID、前記読出し予定のストリップの前記バージョン番号、および前記読出し予定のストリップの前記オフセットを使用して決定されるストリップがバックアップされているかどうかを決定し、
前記ストリップがバックアップされている場合には、前記オブジェクトID、前記読出し予定のストリップの前記バージョン番号、前記読出し予定のストリップの前記オフセット、および前記読出し予定のストリップの前記サイズを使用して決定されるデータを読み出し、前記読み出したデータを前記読出し予定のストリップとして使用し、前記読出し予定のストリップを前記クライアントサーバに送信する、または、
前記ストリップがバックアップされていない場合には、オブジェクトのスナップショット時刻の降順に従って1つずつ、前記読出し予定のストリップの前記オフセットを使用して決定される記憶位置に有効データを記憶しているオブジェクトが見つかるまで、そのオブジェクトIDが前記読出し予定のストリップの前記オブジェクトIDと同一であり、そのバージョン番号が前記読出し予定のストリップの前記バージョン番号とは異なる前記オブジェクトを探索し、前記見つけた有効データを前記読出し予定のストリップとして使用し、前記読出し予定のストリップを前記クライアントサーバに送信することであって、前記オブジェクトのバージョン番号は、前記読出し予定のストリップが属する前記ファイルまたは前記ボリュームの前記最新のスナップショットのものであるとともに、前記オブジェクトを生成する前に存在している前記スナップショットIDに対応している、送信することを行うように構成される、ストリップ読出しモジュールとを備える、装置。 - 前記オブジェクトの前記スナップショット時刻の前記降順は、
前記データストレージ装置の書込みモードがROWである場合には、前記オブジェクトの前記スナップショット時刻の前記降順がバージョン番号の降順である、または、
前記データストレージ装置の書込みモードがCOWである場合には、前記オブジェクトの前記スナップショット時刻の前記降順がバージョン番号の昇順であることを特に含む、請求項25に記載の装置。 - データ読出し装置であって、前記装置は、
クライアントサーバによって送信されたストリップ読出し要求を受信するように構成される、ストリップ要求受信モジュールであって、前記ストリップ読出し要求は、読出し予定のストリップのサイズ、前記読出し予定のストリップのオフセット、前記読出し予定のストリップのバージョン番号、および前記読出し予定のストリップのオブジェクトIDを搬送し、前記読出し予定のストリップの前記バージョン番号は、前記読出し予定のストリップが属するファイルまたはボリュームの最新のスナップショットのスナップショットIDに対応しており、前記読出し予定のストリップの前記オブジェクトIDは、前記読出し予定のストリップが属するオブジェクトのIDである、ストリップ要求受信モジュールと、
前記オブジェクトIDおよび前記読出し予定のストリップの前記バージョン番号を使用して決定されるオブジェクトがバックアップされているかどうかを決定し、
前記オブジェクトがバックアップされている場合には、前記オブジェクトID、前記読出し予定のストリップの前記バージョン番号、前記読出し予定のストリップの前記オフセット、および前記読出し予定のストリップの前記サイズを使用して決定されるデータを読み出し、前記読み出したデータを前記読出し予定のストリップとして使用し、前記読出し予定のストリップを前記クライアントサーバに送信する、または、
前記オブジェクトがバックアップされていない場合には、オブジェクトのスナップショット時刻の降順に従って1つずつ、前記読出し予定のストリップの前記オフセットを使用して決定される記憶位置に有効データを記憶しているオブジェクトが見つかるまで、そのオブジェクトIDが前記読出し予定のストリップの前記オブジェクトIDと同一であり、そのバージョン番号が前記読出し予定のストリップの前記バージョン番号とは異なる前記オブジェクトを探索し、前記見つけた有効データを前記読出し予定のストリップとして使用し、前記読出し予定のストリップを前記クライアントサーバに送信することであって、前記オブジェクトのバージョン番号は、前記読出し予定のストリップが属する前記ファイルまたは前記ボリュームの前記最新のスナップショットのものであるとともに、前記オブジェクトを生成する前に存在している前記スナップショットIDに対応している、送信することを行うように構成される、ストリップ読出しモジュールとを備える、装置。 - クライアントサーバと、オブジェクトストレージデバイスとを含む、データストレージシステムであって、
前記クライアントサーバは、
ファイル書込み要求を受信するように構成され、前記ファイル書込み要求は、書込み予定のデータ、前記書込み予定のデータのオフセット、およびファイル名を搬送し、前記書込み予定のデータは、ファイルの一部であり、
前記クライアントサーバは、前記ファイル名に従ってファイル識別子FIDを取得し、前記FIDに従って前記ファイルのメタデータに対するクエリを行って前記ファイルのバージョン番号を取得し、前記ファイルの前記バージョン番号は、前記ファイルの最新のスナップショットのスナップショットIDに対応しており、
前記クライアントサーバは、前記書込み予定のデータの前記オフセットおよび前記書込み予定のデータのサイズに従って、前記書込み予定のデータを書込み予定のストリップを含む複数のストリップに分割し、前記書込み予定のストリップが属するオブジェクトのIDを決定し、前記書込み予定のストリップのオフセットを取得し、
ストリップ書込み要求を作成して前記ストリップ書込み要求を前記オブジェクトストレージデバイスに送信し、
前記オブジェクトストレージデバイスは、
前記ストリップ書込み要求を受信するように構成され、前記ストリップ書込み要求は、前記書込み予定のストリップ、前記書込み予定のストリップのバージョン番号、前記書込み予定のストリップの前記オフセット、および前記書込み予定のストリップのオブジェクトIDを搬送し、前記ファイルの前記バージョン番号は、前記書込み予定のストリップの前記バージョン番号であり、前記書込み予定のストリップの前記オフセットは、前記書込み予定のストリップが属する前記オブジェクト内の前記書込み予定のストリップの位置を表しており、前記書込み予定のストリップの前記オブジェクトIDは、前記書込み予定のストリップが属する前記オブジェクトの前記IDであり、
前記OSDは、前記書込み予定のストリップを、前記オブジェクトID、前記書込み予定のストリップの前記バージョン番号、および前記書込み予定のストリップの前記オフセットを使用して決定される記憶位置に書き込む、データストレージシステム。 - 前記クライアントサーバは、
前記クライアントサーバによって送信された前記ストリップ書込み要求を受信する前に、前記書込み予定のストリップが属する前記ファイルのスナップショットを作成し、前記最新のスナップショットの前記スナップショットIDを生成し、
前記最新のスナップショットの前記スナップショットIDに従って前記書込み予定のストリップの前記バージョン番号を生成し、
前記ファイルの前記メタデータに対して前記書込み予定のストリップの前記バージョン番号を更新するようにさらに構成される、請求項28に記載のシステム。 - クライアントサーバと、オブジェクトストレージデバイスとを含む、データストレージシステムであって、
前記クライアントサーバは、
ボリューム書込み要求を受信することであって、前記ボリューム書込み要求は、書込み予定のデータ、前記書込み予定のデータのオフセット、およびボリューム識別子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、前記読出し予定のストリップの前記バージョン番号、および前記読出し予定のストリップの前記オフセットを使用して決定されるストリップがバックアップされているかどうかを決定し、
前記ストリップがバックアップされている場合には、前記オブジェクトID、前記読出し予定のストリップの前記バージョン番号、前記読出し予定のストリップの前記オフセット、および前記読出し予定のストリップの前記サイズを使用して決定されるデータを読み出し、前記読み出したデータを前記読出し予定のストリップとして使用し、前記読出し予定のストリップを前記クライアントサーバに送信する、または、
前記ストリップがバックアップされていない場合には、オブジェクトのスナップショット時刻の降順に従って1つずつ、前記読出し予定のストリップの前記オフセットを使用して決定される記憶位置に有効データを記憶しているオブジェクトが見つかるまで、そのオブジェクトIDが前記読出し予定のストリップの前記オブジェクトIDと同一であり、そのバージョン番号が前記読出し予定のストリップの前記バージョン番号とは異なる前記オブジェクトを探索し、前記見つけた有効データを前記読出し予定のストリップとして使用し、前記読出し予定のストリップを前記クライアントサーバに送信することであって、前記オブジェクトのバージョン番号は、前記読出し予定のストリップが属する前記ファイルまたは前記ボリュームの前記最新のスナップショットのものであるとともに、前記オブジェクトを生成する前に存在している前記スナップショットIDに対応している、送信することを行うように構成される、データ読出しシステム。 - プロセッサと、前記プロセッサに接続されている記憶媒体およびインターフェースとを備える、オブジェクトストレージデバイスであって、
前記インターフェースは、クライアントサーバによって送信されたストリップ書込み要求を受信するように構成され、前記ストリップ書込み要求は、書込み予定のストリップ、前記書込み予定のストリップのバージョン番号、前記書込み予定のストリップのオフセット、および前記書込み予定のストリップのオブジェクトIDを搬送し、前記書込み予定のストリップの前記バージョン番号は、前記書込み予定のストリップが属するファイルまたはボリュームの最新のスナップショットのスナップショットIDに対応しており、前記書込み予定のストリップの前記オフセットは、前記書込み予定のストリップが属するオブジェクト内の前記書込み予定のストリップの位置を表しており、前記書込み予定のストリップの前記オブジェクトIDは、前記書込み予定のストリップが属する前記オブジェクトのIDであり、
前記記憶媒体は、コンピュータプログラムを記憶しており、
前記プロセッサは、前記コンピュータプログラムを起動することによって、
前記書込み予定のストリップを、前記オブジェクトID、前記書込み予定のストリップの前記バージョン番号、および前記書込み予定のストリップの前記オフセットを使用して決定される記憶位置に書き込むステップを実行する、オブジェクトストレージデバイス。 - プロセッサと、前記プロセッサに接続されている記憶媒体およびインターフェースとを備える、オブジェクトストレージデバイスであって、
前記インターフェースは、クライアントサーバによって送信されたストリップ書込み要求を受信するように構成され、前記ストリップ書込み要求は、書込み予定のストリップ、前記書込み予定のストリップのバージョン番号、前記書込み予定のストリップのオフセット、および前記書込み予定のストリップのオブジェクトIDを搬送し、前記書込み予定のストリップの前記バージョン番号は、前記書込み予定のストリップが属するファイルまたはボリュームの最新のスナップショットのスナップショットIDに対応しており、前記書込み予定のストリップの前記オフセットは、前記書込み予定のストリップが属するオブジェクト内の前記書込み予定のストリップの位置を表しており、前記書込み予定のストリップの前記オブジェクトIDは、前記書込み予定のストリップが属する前記オブジェクトのIDであり、
前記記憶媒体は、コンピュータプログラムを記憶しており、
前記プロセッサは、前記コンピュータプログラムを起動することによって、
前記書込み予定のストリップの前記バージョン番号および前記オブジェクトIDを使用して決定されるオブジェクトがバックアップされているかどうかを決定するステップを実行し、
前記オブジェクトがバックアップされている場合には、前記ストリップ記憶モジュールは、前記書込み予定のストリップを、前記オブジェクトID、前記書込み予定のストリップの前記バージョン番号、および前記書込み予定のストリップの前記オフセットを使用して決定される記憶位置に書き込むようにさらに構成される、または、
前記オブジェクトがバックアップされていない場合には、前記ストリップ記憶モジュールは、前記書込み予定のストリップを使用して接合オブジェクトを作成し、その後、前記接合オブジェクトを前記書込み予定のストリップの前記バージョン番号および前記オブジェクトIDを使用して決定される記憶位置に書き込むようにさらに構成される、オブジェクトストレージデバイス。 - 前記プロセッサが前記書込み予定のストリップを使用して接合オブジェクトを作成することは、
前記プロセッサが、そのオフセットが前記書込み予定のストリップの前記オフセットとは異なるストリップを取得するために、前記書込み予定のストリップの前記オブジェクトIDのオブジェクトセットに属するバックアップオブジェクトから最新のスナップショット時刻を有するオブジェクトを選択し、前記書込み予定のストリップおよびそのオフセットが前記書込み予定のストリップの前記オフセットとは異なる前記ストリップを使用して前記接合オブジェクトを共同して構成するように構成されることを特に含み、
前記データストレージデバイスに記憶されているとともに、そのオブジェクトIDが前記書込み予定のストリップの前記オブジェクトIDと同一であり、そのバージョン番号が前記書込み予定のストリップの前記バージョン番号とは異なるオブジェクトのセットは、前記書込み予定のストリップの前記オブジェクトIDの前記オブジェクトセットとしてみなされる、請求項23に記載のオブジェクトストレージデバイス。 - プロセッサと、前記プロセッサに接続されている記憶媒体およびインターフェースとを備える、オブジェクトストレージデバイスであって、
前記インターフェースは、クライアントサーバによって送信されたストリップ書込み要求を受信するように構成され、前記ストリップ書込み要求は、書込み予定のストリップ、前記書込み予定のストリップのバージョン番号、前記書込み予定のストリップのオフセット、および前記書込み予定のストリップのオブジェクトIDを搬送し、前記書込み予定のストリップの前記バージョン番号は、前記書込み予定のストリップが属するファイルまたはボリュームの最新のスナップショットのスナップショットIDに対応しており、前記書込み予定のストリップの前記オフセットは、前記書込み予定のストリップが属するオブジェクト内の前記書込み予定のストリップの位置を表しており、前記書込み予定のストリップの前記オブジェクトIDは、前記書込み予定のストリップが属する前記オブジェクトのIDであり、
前記記憶媒体は、コンピュータプログラムを記憶しており、
前記プロセッサは、前記コンピュータプログラムを起動することによって、
前記書込み予定のストリップの前記バージョン番号、前記書込み予定のストリップの前記オブジェクトID、および前記書込み予定のストリップの前記オフセットを使用して決定されるストリップがバックアップされているかどうかを決定するステップと、
前記ストリップがバックアップされている場合には、前記書込み予定のストリップを、前記書込み予定のストリップの前記バージョン番号、前記書込み予定のストリップの前記オブジェクトID、および前記書込み予定のストリップの前記オフセットを使用して決定される記憶位置に書き込むステップ、または、
前記ストリップがバックアップされていない場合には、前記データストレージデバイス内のベースバージョンのオブジェクト内にあるとともに、そのオフセットが前記書込み予定のストリップの前記オフセットであり、そのサイズが前記書込み予定のストリップのサイズであるデータを、前記書込み予定のストリップの前記バージョン番号、前記書込み予定のストリップの前記オフセット、および前記書込み予定のストリップの前記オブジェクトIDを使用して決定される前記記憶位置にバックアップすることであって、前記ベースバージョンの前記オブジェクトのオブジェクトIDは、前記書込み予定のストリップの前記オブジェクトIDと同一であり、前記ベースバージョンの前記オブジェクトのバージョン番号は、ベースバージョン番号である、バックアップすることを行い、前記書込み予定のストリップを、前記書込み予定のストリップの前記オブジェクトID、前記ベースバージョン番号、および前記書込み予定のストリップの前記オフセットを使用して決定される記憶位置に書き込むステップとを実行する、オブジェクトストレージデバイス。 - プロセッサと、前記プロセッサに接続されている記憶媒体およびインターフェースとを備える、オブジェクトストレージデバイスであって、
前記インターフェースは、クライアントサーバによって送信されたストリップ書込み要求を受信するように構成され、前記ストリップ書込み要求は、書込み予定のストリップ、前記書込み予定のストリップのバージョン番号、前記書込み予定のストリップのオフセット、および前記書込み予定のストリップのオブジェクトIDを搬送し、前記書込み予定のストリップの前記バージョン番号は、前記書込み予定のストリップが属するファイルまたはボリュームの最新のスナップショットのスナップショットIDに対応しており、前記書込み予定のストリップの前記オフセットは、前記書込み予定のストリップが属するオブジェクト内の前記書込み予定のストリップの位置を表しており、前記書込み予定のストリップの前記オブジェクトIDは、前記書込み予定のストリップが属する前記オブジェクトのIDであり、
前記記憶媒体は、コンピュータプログラムを記憶しており、
前記プロセッサは、前記コンピュータプログラムを起動することによって、
前記書込み予定のストリップの前記バージョン番号および前記オブジェクトIDを使用して決定されるオブジェクトがバックアップされているかどうかを決定するステップと、
前記オブジェクトがバックアップされている場合には、前記データストレージデバイスによって、前記書込み予定のストリップを、前記オブジェクトID、前記オブジェクトのバージョン番号、および前記書込み予定のストリップの前記オフセットを使用して決定される記憶位置に書き込むステップ、または、
前記オブジェクトがバックアップされていない場合には、前記データストレージデバイスによって、ベースバージョンのオブジェクト内のデータを、前記書込み予定のストリップの前記バージョン番号および前記オブジェクトIDを使用して決定される記憶位置にバックアップするステップであって、前記ベースバージョンの前記オブジェクトのオブジェクトIDは、前記書込み予定のストリップの前記オブジェクトIDと同一であり、前記ベースバージョンの前記オブジェクトのバージョン番号は、ベースバージョン番号である、バックアップするステップと、
前記データストレージデバイスによって、前記書込み予定のストリップを、前記書込み予定のストリップの前記オブジェクトID、前記ベースバージョン番号、および前記オフセットを使用して決定される記憶位置に書き込むステップとを実行する、オブジェクトストレージデバイス。 - プロセッサと、前記プロセッサに接続されている記憶媒体およびインターフェースとを備える、オブジェクトストレージデバイスであって、
前記インターフェースは、クライアントサーバによって送信されたストリップ読出し要求を受信するように構成され、前記ストリップ読出し要求は、読出し予定のストリップのサイズ、前記読出し予定のストリップのオフセット、前記読出し予定のストリップのバージョン番号、および前記読出し予定のストリップのオブジェクトIDを搬送し、前記読出し予定のストリップの前記バージョン番号は、前記読出し予定のストリップが属するファイルまたはボリュームの最新のスナップショットのスナップショットIDに対応しており、前記読出し予定のストリップの前記オブジェクトIDは、前記読出し予定のストリップが属するオブジェクトのIDであり、
前記記憶媒体は、コンピュータプログラムを記憶しており、
前記プロセッサは、前記コンピュータプログラムを起動することによって、
前記オブジェクトID、前記読出し予定のストリップの前記バージョン番号、および前記読出し予定のストリップの前記オフセットを使用して決定されるストリップがバックアップされているかどうかを決定するステップと、
前記ストリップがバックアップされている場合には、前記オブジェクトID、前記読出し予定のストリップの前記バージョン番号、前記読出し予定のストリップの前記オフセット、および前記読出し予定のストリップの前記サイズを使用して決定されるデータを読み出し、前記読み出したデータを前記読出し予定のストリップとして使用し、前記読出し予定のストリップを前記クライアントサーバに送信するステップ、または、
前記ストリップがバックアップされていない場合には、オブジェクトのスナップショット時刻の降順に従って1つずつ、前記読出し予定のストリップの前記オフセットを使用して決定される記憶位置に有効データを記憶しているオブジェクトが見つかるまで、そのオブジェクトIDが前記読出し予定のストリップの前記オブジェクトIDと同一であり、そのバージョン番号が前記読出し予定のストリップの前記バージョン番号とは異なる前記オブジェクトを探索し、前記見つけた有効データを前記読出し予定のストリップとして使用し、前記読出し予定のストリップを前記クライアントサーバに送信するステップであって、前記オブジェクトのバージョン番号は、前記読出し予定のストリップが属する前記ファイルまたは前記ボリュームの前記最新のスナップショットのものであるとともに、前記オブジェクトを生成する前に存在している前記スナップショットIDに対応している、ステップとを実行する、オブジェクトストレージデバイス。 - 前記オブジェクトの前記スナップショット時刻の前記降順は、
前記データストレージデバイスの書込みモードがROWである場合には、前記オブジェクトの前記スナップショット時刻の前記降順がバージョン番号の降順である、または、
前記データストレージデバイスの書込みモードがCOWである場合には、前記オブジェクトの前記スナップショット時刻の前記降順がバージョン番号の昇順であることを特に含む、請求項43に記載のオブジェクトストレージデバイス。 - プロセッサと、前記プロセッサに接続されている記憶媒体およびインターフェースとを備える、オブジェクトストレージデバイスであって、
前記インターフェースは、クライアントサーバによって送信されたストリップ読出し要求を受信するように構成され、前記ストリップ読出し要求は、読出し予定のストリップのサイズ、前記読出し予定のストリップのオフセット、前記読出し予定のストリップのバージョン番号、および前記読出し予定のストリップのオブジェクトIDを搬送し、前記読出し予定のストリップの前記バージョン番号は、前記読出し予定のストリップが属するファイルまたはボリュームの最新のスナップショットのスナップショットIDに対応しており、前記読出し予定のストリップの前記オブジェクトIDは、前記読出し予定のストリップが属するオブジェクトのIDであり、
前記記憶媒体は、コンピュータプログラムを記憶しており、
前記プロセッサは、前記コンピュータプログラムを起動することによって、
前記オブジェクトIDおよび前記読出し予定のストリップの前記バージョン番号を使用して決定されるオブジェクトがバックアップされているかどうかを決定するステップと、
前記オブジェクトがバックアップされている場合には、前記オブジェクトID、前記読出し予定のストリップの前記バージョン番号、前記読出し予定のストリップの前記オフセット、および前記読出し予定のストリップの前記サイズを使用して決定されるデータを読み出し、前記読み出したデータを前記読出し予定のストリップとして使用し、前記読出し予定のストリップを前記クライアントサーバに送信するステップ、または、
前記オブジェクトがバックアップされていない場合には、オブジェクトのスナップショット時刻の降順に従って1つずつ、前記読出し予定のストリップの前記オフセットを使用して決定される記憶位置に有効データを記憶しているオブジェクトが見つかるまで、そのオブジェクトIDが前記読出し予定のストリップの前記オブジェクト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 true JP2017537397A (ja) | 2017-12-14 |
JP6607941B2 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) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021072087A (ja) * | 2019-10-29 | 2021-05-06 | 広東睿江云計算股▲ふん▼有限公司 | 分散ストレージリモート自己修復プログラム |
Families Citing this family (29)
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 |
US10733305B2 (en) | 2016-11-15 | 2020-08-04 | StorageOS Limited | System and method for implementing cryptography in a storage system |
US10353632B2 (en) | 2016-11-15 | 2019-07-16 | StorageOS Limited | System and method for storing data blocks in a volume of data |
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 | 浪潮电子信息产业股份有限公司 | 一种数据落盘方法、装置、设备及可读存储介质 |
CN111936960B (zh) * | 2018-12-25 | 2022-08-19 | 华为云计算技术有限公司 | 分布式存储系统中数据存储方法、装置及计算机程序产品 |
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 | 海南新软软件有限公司 | 一种设备标识信息生成方法、装置及系统 |
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 | 济南浪潮数据技术有限公司 | 一种分布式存储集群的数据恢复方法、系统及存储介质 |
CN114490192A (zh) * | 2021-11-03 | 2022-05-13 | 统信软件技术有限公司 | 一种文件备份方法、装置及计算设备 |
CN115981875B (zh) * | 2023-03-21 | 2023-08-25 | 人工智能与数字经济广东省实验室(广州) | 内存存储系统的增量更新方法、装置、设备、介质和产品 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006146904A (ja) * | 2004-11-17 | 2006-06-08 | Hitachi Ltd | ストレージシステムでオブジェクトレベルのスナップショットを生成するシステムと方法 |
JP2008519350A (ja) * | 2004-11-05 | 2008-06-05 | データ ロボティクス インコーポレイテッド | 仮想ホットスペアを用いて動的に拡張可能かつ縮小可能な故障許容格納システム |
JP2012505461A (ja) * | 2009-02-23 | 2012-03-01 | 株式会社日立製作所 | ストレージシステムおよびその制御方法 |
US8825602B1 (en) * | 2010-03-15 | 2014-09-02 | Symantec Corporation | Systems and methods for providing data protection in object-based storage environments |
Family Cites Families (29)
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 |
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 |
CN101515296A (zh) * | 2009-03-06 | 2009-08-26 | 成都市华为赛门铁克科技有限公司 | 数据更新方法和装置 |
US20100332401A1 (en) * | 2009-06-30 | 2010-12-30 | Anand Prahlad | Performing data storage operations with a cloud storage environment, including automatically selecting among 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 |
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 |
US9852150B2 (en) | 2010-05-03 | 2017-12-26 | Panzura, Inc. | Avoiding client timeouts in 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 |
JP5775177B2 (ja) * | 2011-09-14 | 2015-09-09 | 株式会社日立製作所 | クローンファイル作成方法と、それを用いたファイルシステム |
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 CN CN201810336937.4A patent/CN108733761B/zh active Active
- 2014-12-27 SG SG11201703410YA patent/SG11201703410YA/en unknown
- 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 CN CN201480075382.2A patent/CN105993013B/zh active Active
- 2014-12-27 EP EP14908851.0A patent/EP3203386A4/en not_active Ceased
- 2014-12-27 AU AU2014415350A patent/AU2014415350B2/en active Active
- 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 JP JP2017528138A patent/JP6607941B2/ja 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
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008519350A (ja) * | 2004-11-05 | 2008-06-05 | データ ロボティクス インコーポレイテッド | 仮想ホットスペアを用いて動的に拡張可能かつ縮小可能な故障許容格納システム |
JP2006146904A (ja) * | 2004-11-17 | 2006-06-08 | Hitachi Ltd | ストレージシステムでオブジェクトレベルのスナップショットを生成するシステムと方法 |
JP2012505461A (ja) * | 2009-02-23 | 2012-03-01 | 株式会社日立製作所 | ストレージシステムおよびその制御方法 |
US8825602B1 (en) * | 2010-03-15 | 2014-09-02 | Symantec Corporation | Systems and methods for providing data protection in object-based storage environments |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2021072087A (ja) * | 2019-10-29 | 2021-05-06 | 広東睿江云計算股▲ふん▼有限公司 | 分散ストレージリモート自己修復プログラム |
Also Published As
Publication number | Publication date |
---|---|
AU2014415350A1 (en) | 2017-05-18 |
EP3203386A1 (en) | 2017-08-09 |
KR102030786B1 (ko) | 2019-10-10 |
CN108733761B (zh) | 2021-12-03 |
CN105993013A (zh) | 2016-10-05 |
US20210152638A1 (en) | 2021-05-20 |
AU2014415350B2 (en) | 2019-02-21 |
US11799959B2 (en) | 2023-10-24 |
BR112017011412A8 (pt) | 2022-09-06 |
EP3203386A4 (en) | 2017-12-27 |
US20170295239A1 (en) | 2017-10-12 |
KR20170068564A (ko) | 2017-06-19 |
BR112017011412B1 (pt) | 2023-02-14 |
JP6607941B2 (ja) | 2019-11-20 |
CA2965715C (en) | 2019-02-26 |
CA2965715A1 (en) | 2016-06-30 |
WO2016101283A1 (zh) | 2016-06-30 |
CN108733761A (zh) | 2018-11-02 |
CN105993013B (zh) | 2018-05-04 |
US20170293533A1 (en) | 2017-10-12 |
SG11201703410YA (en) | 2017-06-29 |
US11032368B2 (en) | 2021-06-08 |
BR112017011412A2 (pt) | 2018-06-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6607941B2 (ja) | データ処理方法、装置、およびシステム | |
CN110321301B (zh) | 一种数据处理的方法及装置 | |
US10628378B2 (en) | Replication of snapshots and clones | |
KR102031588B1 (ko) | 파일 저장 시의 색인 구현 방법 및 시스템 | |
EP3905054B1 (en) | File management method, distributed storage system, and management node | |
EP3361409B1 (en) | Data deduplication method and apparatus | |
US11579777B2 (en) | Data writing method, client server, and system | |
US9031906B2 (en) | Method of managing data in asymmetric cluster file system | |
JP2005084771A (ja) | バックアップシステム及び方法 | |
JP6968876B2 (ja) | 期限切れバックアップ処理方法及びバックアップサーバ | |
CN111090618B (zh) | 一种数据读取方法、系统及设备 | |
WO2023169235A1 (zh) | 数据访问方法、系统、设备及存储介质 | |
CN110147203B (zh) | 一种文件管理方法、装置、电子设备及存储介质 | |
CN109407975B (zh) | 写数据方法与计算节点以及分布式存储系统 | |
US20220350779A1 (en) | File system cloning method and apparatus | |
JPWO2015097774A1 (ja) | 計算機システム及びデータ管理方法 | |
CN108268207B (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 |