WO2023178899A1 - Procédé et appareil de gestion de données d'un système de fichiers, dispositif électronique, et support d'enregistrement - Google Patents

Procédé et appareil de gestion de données d'un système de fichiers, dispositif électronique, et support d'enregistrement Download PDF

Info

Publication number
WO2023178899A1
WO2023178899A1 PCT/CN2022/107919 CN2022107919W WO2023178899A1 WO 2023178899 A1 WO2023178899 A1 WO 2023178899A1 CN 2022107919 W CN2022107919 W CN 2022107919W WO 2023178899 A1 WO2023178899 A1 WO 2023178899A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
bitmap
snapshot
item
bits
Prior art date
Application number
PCT/CN2022/107919
Other languages
English (en)
Chinese (zh)
Inventor
刘昌鑫
黄保印
汪权
Original Assignee
联想凌拓科技有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 联想凌拓科技有限公司 filed Critical 联想凌拓科技有限公司
Publication of WO2023178899A1 publication Critical patent/WO2023178899A1/fr

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types

Definitions

  • Embodiments of the present disclosure relate to a data management method and data management device for a file system, electronic equipment, and storage media.
  • Snapshot is a data backup method. Because it can be completed instantly and achieve zero-window backup of data, snapshots have become a common and basic data backup technology among many data backup technologies. Snapshots have become the cornerstone of backup in the storage industry.
  • a snapshot refers to a fully available copy of a specified data collection, which includes an image of the corresponding data at a certain point in time (the point in time when the copy starts).
  • the main function of snapshots is to enable data backup and recovery. When an application failure or file corruption occurs on the storage device, rapid data recovery can be performed to restore the data to a certain available point in time, thereby meeting the enterprise's requirements for business continuity and data reliability.
  • At least one embodiment of the present disclosure provides a data management method for a file system, wherein the file system includes file data divided into multiple data slices; the file system further includes source file items and Snapshot item, the source file item includes a first bitmap and a second bitmap, the snapshot item includes a third bitmap; multiple bits of the first bitmap correspond to the multiple data pieces one-to-one , the first bitmap is used to record the writing status of the multiple data slices; the multiple bits of the second bitmap correspond to the multiple data slices one-to-one, and the second bitmap uses In recording the snapshot generation status of the plurality of data pieces; a plurality of bits of the third bitmap correspond to the plurality of data pieces, and the third bitmap is used to record the plurality of data pieces.
  • the method includes: in response to receiving a data write request, determining whether to perform data migration according to the first bitmap and the second bitmap; in response to determining to perform data migration, performing a data migration operation and updating Corresponding bits in the first bitmap, the second bitmap, and the third bitmap.
  • determining whether to perform data migration based on the first bitmap and the second bitmap includes: determining the data slice to be operated on based on the data write request; reading The bits in the first bitmap corresponding to the data piece are read, and the bits in the second bitmap corresponding to the data piece are read; in response to the bits in the first bitmap corresponding to the data piece. If the bit corresponding to the slice is a valid value and the bit corresponding to the data slice in the second bitmap is a valid value, it is determined to perform data migration.
  • determining whether to perform data migration based on the first bitmap and the second bitmap further includes: responding to the difference between the first bitmap and the data slice. If the corresponding bit is an invalid value or the bit corresponding to the data slice in the second bitmap is an invalid value, it is determined that data migration is not performed.
  • performing the data migration operation and updating corresponding bits in the first bitmap, the second bitmap, and the third bitmap includes: reading Get the data slice corresponding to the data migration operation, construct the read data slice into a snapshot type data object and store it; update the corresponding bits in the first image to a valid value, and convert the second The corresponding bits in the bitmap are updated to invalid values, and the corresponding bits in the third bitmap are updated to valid values.
  • reading the data slice corresponding to the data migration operation constructing the read data slice into a data object of the snapshot type and storing it includes: obtaining the file path The latest snapshot version number; read the data slice corresponding to the data migration operation, and store the read data slice as a data object; add the latest snapshot version number and identification information indicating the snapshot type to the data In the information field of the object; associate the snapshot item corresponding to the latest snapshot version number with the data object.
  • the corresponding bits in the first bitmap are updated to valid values
  • the corresponding bits in the second bitmap are updated to invalid values
  • the corresponding bits in the second bitmap are updated to invalid values.
  • Updating the corresponding bits in the third bitmap to a valid value includes: updating the corresponding bits in the first bitmap of the source file item to a valid value, and updating the second bitmap of the source file item to a valid value.
  • the corresponding bits in the bitmap are updated to invalid values; the latest snapshot version number of the file path is obtained; and the corresponding bits in the third bitmap of the snapshot item corresponding to the latest snapshot version number are updated to valid values.
  • the method provided by an embodiment of the present disclosure further includes: in response to receiving the data write request, determining whether the data write request is an initial write request; in response to the data write request being the initial write request, The content of the first bitmap is synchronized to the second bitmap, and all bit positions of the third bitmap are set to invalid values.
  • the snapshot item further includes a fourth bitmap, and a plurality of bits of the fourth bitmap correspond to the plurality of data slices in a one-to-one manner.
  • the bitmap is used to record the writing status of the corresponding source file item when the snapshot item is created; the method also includes: in response to the data write request being the initial write request, converting the content of the first bitmap to Sync to the fourth bitmap.
  • a method provided by an embodiment of the present disclosure further includes: in response to receiving a snapshot read request, determining the data location according to the third bitmap of each version of the snapshot item and reading the data.
  • determining the data location and reading the data according to the third bitmap of the snapshot item of each version includes: determining the current snapshot item according to the snapshot read request, wherein the current snapshot item The snapshot item is a snapshot item of the version that needs to be read; the corresponding bit in the third bitmap of the current snapshot item is obtained; in response to the corresponding bit in the third bitmap of the current snapshot item being a valid value, Determine the data location according to the current snapshot item and read the data; in response to the corresponding bit in the third bitmap of the current snapshot item being an invalid value, obtain the third bitmap of the snapshot item with a larger version number in sequence.
  • the file system further includes a clone item, and the clone item is a copy of the snapshot item; the method further includes: in response to receiving a clone write request, based on The snapshot item associated with the clone item determines the data location, copies the required data to the storage location corresponding to the clone item, and performs a write operation.
  • a method provided by an embodiment of the present disclosure further includes: in response to receiving a clone read request, determining the data location based on the snapshot item associated with the clone item and reading the required data.
  • the The method further includes: performing a write operation on the source file item.
  • the method further includes: in response to determining not to perform data migration, The source file item performs a write operation.
  • At least one embodiment of the present disclosure also provides a data management device for a file system, wherein the file system includes file data, and the file data is divided into multiple data slices; the file system also includes source file items and a snapshot item, the source file item includes a first bitmap and a second bitmap, the snapshot item includes a third bitmap; the multiple bits of the first image are identical to the multiple data pieces.
  • the first bitmap is used to record the writing status of the multiple data slices;
  • the multiple bits of the second bitmap correspond to the multiple data slices one-to-one, and the second bitmap used to record the snapshot generation status of the plurality of data pieces;
  • a plurality of bits of the third bitmap correspond to the plurality of data pieces, and the third bitmap is used to record the plurality of data
  • the migration status of the slice; the device includes: a judgment unit configured to respond to receiving a data write request and determine whether to perform data migration according to the first bitmap and the second bitmap; a processing unit configured to respond to It is determined to perform data migration, perform a data migration operation and update corresponding bits in the first bitmap, the second bitmap, and the third bitmap.
  • At least one embodiment of the present disclosure also provides an electronic device, including the data management apparatus for a file system provided by any embodiment of the present disclosure.
  • At least one embodiment of the present disclosure also provides an electronic device, including: a processor; a memory including one or more computer program modules; wherein the one or more computer program modules are stored in the memory and configured To be executed by the processor, the one or more computer program modules include a method for implementing the data management method for a file system provided by any embodiment of the present disclosure.
  • At least one embodiment of the present disclosure also provides a storage medium for storing non-transitory computer-readable instructions.
  • the non-transitory computer-readable instructions are executed by a computer, the methods provided by any embodiment of the present disclosure can be implemented. File system data management methods.
  • Figure 1 is a schematic diagram of the file structure of a file system
  • Figure 2 is a schematic diagram of a bitmap in a file system provided by some embodiments of the present disclosure
  • Figure 3 is a schematic flowchart of a data management method for a file system provided by some embodiments of the present disclosure
  • Figure 4 is an exemplary flow chart of step S10 in Figure 3;
  • FIG. 5 is an exemplary flow chart of step S20 in Figure 3;
  • Figure 6 is an exemplary flow chart of step S21 in Figure 5;
  • Figure 7 is an exemplary flow chart of step S22 in Figure 5;
  • Figure 8 is a schematic flowchart of another data management method for a file system provided by some embodiments of the present disclosure.
  • Figure 9 is a schematic flowchart of another data management method for a file system provided by some embodiments of the present disclosure.
  • Figure 10 is an exemplary flow chart of step S80 in Figure 9;
  • Figure 11A is one of the schematic diagrams of the data structure used in the data management method provided by some embodiments of the present disclosure.
  • Figure 11B is a second schematic diagram of the data structure used in the data management method provided by some embodiments of the present disclosure.
  • Figure 12A is a schematic diagram of a read operation in a data management method provided by some embodiments of the present disclosure.
  • Figure 12B is a schematic diagram of a write operation in a data management method provided by some embodiments of the present disclosure.
  • Figure 13 is a schematic block diagram of a data management device for a file system provided by some embodiments of the present disclosure.
  • Figure 14 is a schematic block diagram of an electronic device provided by some embodiments of the present disclosure.
  • Figure 15 is a schematic block diagram of another electronic device provided by some embodiments of the present disclosure.
  • Figure 16 is a schematic diagram of a storage medium provided by some embodiments of the present disclosure.
  • Snapshots are usually used in file systems. Since file systems have complex metadata, data and other information, snapshot implementation is more complicated. For example, when generating snapshots, the cascading relationship between snapshots cannot be realized. That is, if a snapshot is taken of this directory, it will generally make it impossible to take snapshots of subdirectories. This limits the implementation of snapshots and leads to inconvenience in use. Moreover, the data part of the snapshot has a strong dependence on the Object Storage Device (OSD), which limits the optimization, reconstruction, and development of new features for OSD, and makes it inconvenient to maintain the snapshot function.
  • OSD Object Storage Device
  • At least one embodiment of the present disclosure provides a data management method and data management device, electronic device and storage medium for a file system.
  • This data management method separates the data part of the snapshot from the object storage device (OSD), reduces the dependence of the file system snapshot on the object storage device, facilitates management and maintenance of the overall snapshot function, and facilitates developers to make changes to the object storage device.
  • OSD object storage device
  • At least one embodiment of the present disclosure provides a data management method for a file system.
  • the file system includes file data, and the file data is divided into multiple data pieces.
  • the file system also includes source file entries and snapshot entries.
  • the source file item includes the first bitmap and the second bitmap, and the snapshot item includes the third bitmap.
  • Multiple bits in the first bit map correspond to multiple data slices one-to-one, and the first bit image is used to record the writing status of multiple data slices.
  • Multiple bits of the second bitmap correspond to multiple data slices one-to-one, and the second bitmap is used to record the snapshot generation status of the multiple data slices.
  • Multiple bits of the third bitmap correspond to multiple data slices one-to-one, and the third bitmap is used to record the transition status of the multiple data slices.
  • the method includes: in response to receiving a data write request, determining whether to perform data migration based on the first bitmap and the second bitmap; in response to determining to perform data migration, performing a data migration operation and updating the first bitmap and the second bitmap. , the corresponding bit in the third bitmap.
  • Metadata is data used to describe data (data about data). It mainly describes information about data attributes and is used to support functions such as indicating storage location, historical data, resource search, file recording, etc.
  • Metadata of a file system includes, for example, directory entries (dentries) and index nodes (inodes). Directory entries are used to describe the organizational form of files (or folders) in the file system, and index nodes are attribute information of files (or folders).
  • directory entries are used to describe the organizational form of files (or folders) in the file system
  • index nodes are attribute information of files (or folders).
  • each file corresponds to an index node, which serves as the unique number of the file. The file system accesses the information of the index node through the index node number (inodeid).
  • Data is the specific content of each file. Metadata can be used to obtain the attribute information of the data part, thereby determining the storage location (or storage address) of the data part, so that the data part can be read and written. .
  • Metadata can be used to obtain the attribute information of the data part, thereby determining the storage location (or storage address) of the data part, so that the data part can be read and written.
  • a tree structure reflecting the organizational information of the file system can be obtained, and then using the files (or folders) dir1, dir2, dir3, file1 , the index node number of file2 obtains the information of the corresponding index node, so that the specific content of each file (or folder) can be read, that is, the corresponding data part.
  • dir1, dir2, and dir3 represent folders
  • file1 and file2 represent files.
  • the file system includes file data, and the file data is the aforementioned data part.
  • file data refers to data in the file system other than metadata.
  • file data is divided into multiple data pieces.
  • the size of each data piece is, for example, 512K.
  • the embodiments of the present disclosure are not limited to this, and the size of each data piece can also be 256K, 1M, 2M, or any other size, which can be determined according to actual needs, such as the characteristics of the file system.
  • the file system also includes source file items and snapshot items.
  • the source file item refers to the data object for the file or folder of the file system itself
  • the snapshot item refers to the data object for the snapshot of the file system.
  • different snapshot items target different versions of snapshots.
  • the source file item includes a first bitmap and a second bitmap
  • the snapshot item includes a third bitmap.
  • the first bitmap, the second bitmap, and the third bitmap all refer to bitmaps, and "first", “second", and “third” are used to distinguish different bitmaps.
  • Each bitmap includes a plurality of bits, and the size of the bitmap (bitmap size) is, for example, 4k, or can be any other applicable size. The embodiments of the present disclosure do not limit this.
  • Multiple bits in the first bit map correspond to multiple data slices one-to-one, and the first bit image is used to record the writing status of multiple data slices.
  • each bit of the first bit map corresponds to a piece of data, and different bits correspond to different pieces of data.
  • For each bit of the first bit map when the bit is a valid value, it means that the corresponding data piece has been written, and when the bit is an invalid value, it means that the corresponding data piece has not been written. For example, you can use "1" to represent valid values and "0" to represent invalid values.
  • Multiple bits of the second bitmap correspond to multiple data slices one-to-one, and the second bitmap is used to record the snapshot generation status of the multiple data slices.
  • each bit of the second bitmap corresponds to a data piece, and different bits correspond to different data pieces.
  • when the bit is a valid value it means that the corresponding data piece has been snapshotted, and when the bit is an invalid value, it means that the corresponding data piece has not been snapshotted. For example, you can use "1" to represent valid values and "0" to represent invalid values.
  • Multiple bits of the third bitmap correspond to multiple data slices one-to-one, and the third bitmap is used to record the transition status of the multiple data slices.
  • each bit of the third bitmap corresponds to a data piece, and different bits correspond to different data pieces.
  • For each bit of the third bitmap when the bit is a valid value, it means that the corresponding data piece has been migrated. When the bit is an invalid value, it means that the corresponding data piece has not been migrated. For example, you can use "1" to represent valid values and "0" to represent invalid values.
  • data migration may refer to copy-on-write (COW). When a COW operation is performed, the corresponding data piece will be copied to a new storage location as the data part of the snapshot.
  • COW copy-on-write
  • Figure 2 is a schematic diagram of a bitmap in a file system provided by some embodiments of the present disclosure.
  • the bitmap includes multiple bits.
  • Each box in Figure 2 represents a bit in the bitmap, and each bit corresponds to a piece of data.
  • the bit may be 1 or 0, indicating different meanings.
  • the first bitmap, the second bitmap, and the third bitmap can all use similar bitmap structures, but the meanings of the bits in different bitmaps are different.
  • Figure 3 is a schematic flowchart of a data management method for a file system provided by some embodiments of the present disclosure. As shown in Figure 3, in some embodiments, the data management method includes the following operations.
  • Step S10 In response to receiving the data write request, determine whether to perform data migration based on the first bitmap and the second bitmap;
  • Step S20 In response to determining to perform data migration, perform a data migration operation and update corresponding bits in the first bitmap, the second bitmap, and the third bitmap.
  • the data write request may trigger a data write operation for the source file item, thereby modifying the file or folder of the file system itself. Since data writing operations will change the data content, if the corresponding files or folders have been snapshotted, data migration (such as COW) is required. Therefore, after receiving the data write request, it is necessary to determine whether to perform data migration based on the first bitmap and the second bitmap. For example, if the collection of snapshot items is a data warehouse, only repeated writing of the source file items will COW the data to the corresponding position of the last snapshot item, while the data of other previous versions of the snapshot items will not change.
  • data migration such as COW
  • FIG. 4 is an exemplary flow chart of step S10 in FIG. 3 .
  • the above step S10 includes the following operations.
  • Step S11 Determine the data piece to be operated according to the data write request
  • Step S12 Read the bits corresponding to the data slice in the first bitmap, and read the bits corresponding to the data slice in the second bitmap;
  • Step S13 In response to the bit in the first bitmap corresponding to the data slice being a valid value and the bit in the second bitmap corresponding to the data slice being a valid value, it is determined to perform data migration.
  • Step S14 In response to the bit in the first bitmap corresponding to the data slice being an invalid value or the bit in the second bitmap corresponding to the data slice being an invalid value, determine not to perform data migration.
  • the data write request will carry information to indicate which data slice or data slices the write request is for the write operation. Therefore, the information carried by the data write request can be parsed to determine the data slice to be operated on.
  • step S12 since the data piece that needs to be operated has been determined, based on the correspondence between the data piece and the first bitmap and the second bitmap, the bits in the first bitmap corresponding to the data piece can be determined. , and determine the bits corresponding to the data piece in the second bitmap, thereby reading the bits corresponding to the data piece in the first bitmap and the second bitmap respectively.
  • step S13 if the bit corresponding to the data piece in the first bitmap is a valid value (for example, 1) and the bit corresponding to the data piece in the second bitmap is a valid value (for example, 1) ), it is determined that data migration is required. For example, if the bit corresponding to the data piece in the first bit of the map is a valid value, it means that the data piece has been written, so file data exists. If the bit corresponding to the data slice in the second bitmap is a valid value, it means that a snapshot has been generated for the data slice. Therefore, data migration (such as COW) is required before the write operation is performed, so that after the write operation is performed, the data slice can still be processed according to the Snapshot obtains the original file data.
  • data migration such as COW
  • step S14 if the bit corresponding to the data piece in the first bitmap is an invalid value (for example, 0) or the bit corresponding to the data piece in the second bitmap is an invalid value (for example, 0) ), it is determined not to perform data migration. For example, if the bit corresponding to the data slice in the first bit of the map is an invalid value, it means that the data slice has not been written, so of course there is no need to perform data migration. If the bit corresponding to the data slice in the second bitmap is an invalid value, it means that the data slice has not been snapshotted. Therefore, even if a write operation is to be performed on the data slice, there is no need to perform data migration.
  • step S20 if it is determined to perform data migration, the data migration operation is performed and the corresponding bits in the first bitmap, the second bitmap, and the third bitmap are updated.
  • FIG. 5 is an exemplary flowchart of step S20 in FIG. 3 .
  • the above step S20 includes the following operations.
  • Step S21 Read the data slice corresponding to the data migration operation, construct the read data slice into a snapshot type data object and store it;
  • Step S22 Update the corresponding bits in the first bitmap to valid values, update the corresponding bits in the second bitmap to invalid values, and update the corresponding bits in the third bitmap to valid values.
  • the data migration operation can be similar to a normal COW, that is, the corresponding data piece is copied to a new storage location, and the snapshot of the corresponding version can be located in the new storage location, thereby facilitating Write the data piece in the original storage location.
  • the data part of the snapshot is logically abstracted, so that it can be implemented uniformly according to the file system data interface.
  • the data part in the file system can be divided into a data part corresponding to the source file item and a data part corresponding to the snapshot item.
  • a snap field can be added to the identifier (oid) of the object.
  • FIG. 6 is an exemplary flowchart of step S21 in FIG. 5 .
  • the above step S21 includes the following operations.
  • Step S211 Obtain the latest snapshot version number of the file path
  • Step S212 Read the data slice corresponding to the data migration operation, and store the read data slice as a data object;
  • Step S213 Add the latest snapshot version number and identification information indicating the snapshot type to the information field of the data object;
  • Step S214 Associate the snapshot item corresponding to the latest snapshot version number with the data object.
  • the latest snapshot version number of the file path is first obtained.
  • the file path refers to the path to the data piece to be operated, and the latest snapshot version number of the file path records the latest snapshot version of the data piece to be operated.
  • the latest snapshot version number may be 3, which means that the latest snapshot version of the data piece is the version 3 snapshot; in other examples, the latest snapshot version number may be 5, which means that the latest snapshot version number may be 5.
  • the latest snapshot version of the data sheet is the version 5 snapshot.
  • the above description of the latest snapshot version number is only illustrative, not restrictive, and does not constitute a limitation on the embodiments of the present disclosure.
  • step S212 the data slice corresponding to the data migration operation is read, and the read data slice is stored as a data object.
  • the read data piece can be constructed as a snapshot type data object.
  • snapshot type data object please refer to the previous description and will not be repeated here.
  • step S213 the latest snapshot version number and identification information indicating the snapshot type are added to the information field of the data object.
  • information describing the data object can be recorded in the information field of the data object. Therefore, the latest snapshot version number can be recorded in the information field, and identification information (such as a snap field) indicating the snapshot type can also be recorded in the information field. Therefore, when reading a data object of the snapshot type, it can be learned that the data object is the data part of the snapshot item, and the snapshot version corresponding to the data object can be learned.
  • the snapshot item corresponding to the latest snapshot version number is associated with the data object.
  • an appropriate addressing method can be used to establish a relationship between the data object and the corresponding snapshot item, so that the storage location of the data object can be located according to the corresponding snapshot item to facilitate reading of the data object.
  • the snapshot item corresponding to the data object is the snapshot item corresponding to the latest snapshot version number.
  • the latest snapshot version number is 5
  • the data object is associated with the snapshot item of version 5. Therefore, the storage location of the data object can be located based on the snapshot item of version 5, so that Read this data object.
  • step S22 the corresponding bits in the first bitmap are updated to valid values, the corresponding bits in the second bitmap are updated to invalid values, and the corresponding bits in the third bitmap are updated. Bits are updated to valid values.
  • FIG. 7 is an exemplary flowchart of step S22 in FIG. 5 .
  • the above step S22 includes the following operations.
  • Step S221 Update the corresponding bits in the first bitmap of the source file item to a valid value, and update the corresponding bits in the second bitmap of the source file item to an invalid value;
  • Step S222 Obtain the latest snapshot version number of the file path
  • Step S223 Update the corresponding bit in the third bitmap of the snapshot item corresponding to the latest snapshot version number to a valid value.
  • step S221 the corresponding bit in the first bit of the source file item is updated to a valid value (for example, updated to 1), thereby indicating that the data piece corresponding to the bit is written. Since the data slice corresponding to this bit has been migrated before the write operation, and the data slice after the write operation has not been snapshotted, the corresponding bit in the second bitmap of the source file item is updated to Invalid value (for example, updated to 0), which means that the data piece corresponding to this bit has not been snapshotted.
  • a valid value for example, updated to 1
  • step S222 the latest snapshot version number of the file path is obtained.
  • the latest snapshot version number of the file path you can refer to the previous content and will not be repeated here.
  • step S223 the corresponding bit in the third bitmap of the snapshot item corresponding to the latest snapshot version number is updated to a valid value, thereby indicating that the corresponding data piece has been processed in the snapshot item corresponding to the latest snapshot version number.
  • data migration For example, in some examples, assuming that the latest snapshot version number is 5, the bit corresponding to the data piece in the third bitmap of the snapshot item of version 5 is updated to a valid value, thereby indicating that the data piece is in the third bitmap. Data migration has been done in the snapshot item of version 5.
  • Figure 8 is a schematic flowchart of another data management method for a file system provided by some embodiments of the present disclosure.
  • the data management method may further include steps S30-S70.
  • steps S10-S20 you may refer to the above content and will not be described again here.
  • Step S30 In response to receiving the data write request, determine whether the data write request is an initial write request
  • Step S40 In response to the data write request being an initial write request, synchronize the content of the first bitmap to the second bitmap, and set all bit positions of the third bitmap to invalid values;
  • Step S50 In response to the data write request being an initial write request, synchronize the content of the first bitmap to the fourth bitmap;
  • Step S60 After performing the data migration operation and updating the corresponding bits in the first bitmap, the second bitmap, and the third bitmap, perform a write operation on the source file item;
  • Step S70 After determining whether to perform data migration based on the first bitmap and the second bitmap, in response to determining not to perform data migration, perform a write operation on the source file item.
  • step S30 after receiving the data write request, it is necessary to determine whether the data write request is an initial write request.
  • the global snapshot version number and the snapshot version number of the file path are not updated synchronously, the global snapshot version number may be delayed from the snapshot version number of the file path.
  • the second bitmap and The third bitmap may not exist before the initial write operation. Therefore, the second bitmap and the third bitmap need to be copied during the initial write operation. Therefore, it is necessary to determine whether the data write request is the first write request, which is, for example, a first cover write.
  • whether the data write request is an initial write request can be determined by determining whether the global snapshot version number and the snapshot version number of the file path are the same. If the global snapshot version number is different from the snapshot version number of the file path, it means that the data write request is the first write request; if the global snapshot version number is the same as the snapshot version number of the file path, it means that the data write request is not the first write request. ask.
  • step S40 if the data write request is an initial write request, the content of the first bitmap is synchronized to the second bitmap, and all bits of the third bitmap are set to invalid values. For example, you can copy the contents of the first bitmap to serve as the second bitmap, that is, make the second bitmap identical to the first bitmap. For example, all bits of the third bitmap are set to invalid values, which means that no data migration is performed.
  • the snapshot item in addition to the third bitmap, also includes a fourth bitmap. Multiple bits of the fourth bitmap correspond to multiple data slices one-to-one.
  • the fourth bitmap is used to record creation. This snapshot item is the writing status of the corresponding source file item.
  • the third bitmap and the fourth bitmap can be used for copying and deleting operations when reading and writing snapshot items.
  • step S50 if the data write request is an initial write request, the content of the first bit image is synchronized to the fourth bit image. For example, you can copy the contents of the first bitmap as the fourth bitmap, that is, make the fourth bitmap the same as the first bitmap. For example, when COW is triggered, the fourth bitmap does not change, and only the writing status of the source file when the snapshot item is created is recorded.
  • step S60 after performing the data migration operation and updating the corresponding bits in the first bitmap, the second bitmap, and the third bitmap (that is, after executing step S20), a write operation is performed on the source file item .
  • the write operation is triggered by a data write request, and the write operation can modify the data part of the source file item. Since before performing the operation of step S60, it has been judged whether data migration is required and each bitmap is updated when the data migration operation is performed. Therefore, the data slice can be written at this time without affecting the data that has been executed. The data portion of the data migration operation.
  • step S70 after determining whether to perform data migration based on the first bitmap and the second bitmap (that is, after executing step S10), if it is determined that data migration is not to be performed, then writing is performed on the data part of the source file item. operate. Since data migration is not required, the data portion of the source file item can be directly written.
  • Figure 9 is a schematic flowchart of another data management method for a file system provided by some embodiments of the present disclosure. As shown in Figure 9, in some embodiments, the data management method may also include the following operations.
  • Step S80 In response to receiving the snapshot read request, determine the data location according to the third bitmap of each version of the snapshot item and read the data;
  • Step S91 In response to receiving the clone write request, determine the data location based on the snapshot item associated with the clone item, copy the required data to the storage location corresponding to the clone item, and perform a write operation;
  • Step S92 In response to receiving the clone read request, determine the data location based on the snapshot item associated with the clone item and read the required data.
  • step S80 after receiving the snapshot read request, the data location is determined according to the third bitmap of the snapshot item of each version and the data is read.
  • FIG. 10 is an exemplary flowchart of step S80 in FIG. 9 .
  • the above step S80 includes the following operations.
  • Step S81 Determine the current snapshot item according to the snapshot read request, where the current snapshot item is the snapshot item of the version that needs to be read;
  • Step S82 Obtain the corresponding bits in the third bitmap of the current snapshot item
  • Step S83 In response to the corresponding bit in the third bitmap of the current snapshot item being a valid value, determine the data location according to the current snapshot item and read the data;
  • Step S84 In response to the corresponding bit in the third bitmap of the current snapshot item being an invalid value, sequentially obtain the corresponding bits in the third bitmap of the snapshot item with a larger version number until the acquired bit is a valid value. , determine the data location and read the data based on the snapshot item of the version corresponding to the valid value;
  • Step S85 In response to the fact that the corresponding bits in the third bitmap of all versions of the snapshot items are invalid values, determine the data location according to the source file item and read the data.
  • a snapshot read request can trigger a data read operation on the snapshot item, thereby reading the data portion of the snapshot item.
  • the current snapshot item is the snapshot item of the version that needs to be read.
  • a snapshot read request it is necessary to determine which version of the snapshot item among the five versions the snapshot read request is to read.
  • a snapshot read request will carry version information to know the version number of the snapshot item to be read.
  • step S82 after the current snapshot item is determined, the corresponding bits in the third bitmap of the current snapshot item are obtained.
  • the third bitmap records the migration status of each corresponding data piece.
  • step S83 if the corresponding bit in the third bitmap of the current snapshot item is a valid value, the data location is determined based on the current snapshot item and the data is read.
  • the corresponding bit in the third bitmap is a valid value, indicating that the corresponding data piece has undergone data migration, so the data location can be located based on the current snapshot item and the data can be read.
  • step S84 if the corresponding bit in the third bitmap of the current snapshot item is an invalid value, then the corresponding bits in the third bitmap of the snapshot item with a larger version number are obtained sequentially until the obtained bit
  • the bit is a valid value, and the data location is determined based on the snapshot item of the version corresponding to the valid value and the data is read.
  • the corresponding bit in the third bitmap of the current snapshot item is an invalid value, which means that the corresponding data piece has not been migrated. Therefore, the current snapshot item does not have a corresponding data part, and the data location cannot be located based on the current snapshot item. Therefore, it is necessary to obtain the corresponding bit in the third bitmap of the snapshot item with a larger version number. If the obtained bit is an invalid value, continue to obtain the corresponding bit in the third bitmap of the snapshot item with a larger version number. bit until the acquired bit is a valid value.
  • the current snapshot item is a snapshot item of version 5
  • the corresponding bit in its third bitmap is an invalid value
  • the corresponding bit in its third bitmap is If the corresponding bit is still an invalid value
  • the corresponding bit in the third bitmap of the 7th version snapshot item is a valid value, it means that the 7th version snapshot item has performed data migration for this data piece.
  • the data location can be determined based on the 7th version snapshot item and Read data.
  • step S85 if the corresponding bits in the third bitmap of all versions of the snapshot items are invalid values, the data location is determined according to the source file item and the data is read. For example, the corresponding bits in the third bitmap of all versions of the snapshot items are all invalid values, which means that no data migration has been performed on the snapshot items of all versions, so the data location can only be located and the data can be read based on the source file item.
  • the snapshot read request can be received and the read operation of the data part of the corresponding snapshot item can be completed. It should be noted that any read operation triggered by a read request will directly find the data location and will not trigger data migration.
  • the file system also includes clones, which are copies of the snapshot entries.
  • snapshot items cannot be written, but clone items can be written.
  • the clone item is an editable version of the corresponding snapshot item.
  • a clone write request can trigger a data write operation on the clone item, thereby making changes to the data portion of the clone item.
  • a clone item corresponds to a certain snapshot item, and when the clone item is generated, the content of the corresponding snapshot item is used as the content of the clone item. Therefore, it is necessary to determine the data location based on the snapshot item associated with the clone item, then copy the required data to the storage location corresponding to the clone item, and then perform the write operation.
  • clone item 1 exists in the file system, and clone item 1 is a clone version corresponding to the version 1 snapshot item, that is, clone item 1 is associated with the version 1 snapshot item.
  • clone item 1 is a clone version corresponding to the version 1 snapshot item, that is, clone item 1 is associated with the version 1 snapshot item.
  • step S80 may be used to determine the data location corresponding to the first version snapshot item, which will not be described again here. After that, copy the data to the storage location corresponding to clone item 1, and then perform the write operation for clone item 1.
  • step S92 if a clone read request is received, the data location is determined based on the snapshot item associated with the clone item and the required data is read.
  • a clone read request can trigger a data read operation on the clone item, thereby reading the data portion of the clone item.
  • clone item 1 exists in the file system, and clone item 1 is a clone version corresponding to the version 1 snapshot item, that is, clone item 1 is associated with the version 1 snapshot item.
  • step S80 may be used to determine the data location corresponding to the first version snapshot item, which will not be described again here. After that, just read the data according to the determined data location.
  • Figure 11A is one of the schematic diagrams of the data structure used by the data management method provided by some embodiments of the present disclosure.
  • the data structure is, for example, the structure of file data.
  • Fh is the file handle of any open file
  • uint32_t last_snap_id represents the global maximum snapshot version number
  • uint32_t max_peer_id represents the maximum snapshot version number of the file path.
  • uint32_t snap_id represents the id of the snapshot item. If it is a file type data object, uint32_t snap_id is all 0.
  • uint32_t peer_id represents the id of the snapshot item on the file path.
  • uint32_t snap_id is the id of the snapshot item
  • uint32_t peer_id is 0.
  • Bitmap base_alloc represents the first bitmap
  • Bitmap base_peer represents the second bitmap
  • Bitmap last_snap_alloc represents the third bitmap of the latest version of the snapshot item
  • Bitmap last_snap_peer represents the fourth bitmap of the latest version of the snapshot item.
  • Bitmap last_snap_alloc and Bitmap last_snap_peer in this data structure are redundant information that not only exists in this data structure, but is also stored in other locations in the file system.
  • Figure 11B is a second schematic diagram of the data structure used in the data management method provided by some embodiments of the present disclosure.
  • the data structure is, for example, a metadata structure.
  • uint32_t last_cow_snap_id represents the id of the snapshot item for the last data migration
  • uint32_t snap_id represents the id of the snapshot item
  • uint32_t peer_id represents the id of the snapshot item on the file path.
  • bitmap information bitmap information
  • Each operation is temporarily recorded in Fh, and then persisted to the disk.
  • the object (such as oid) dropped to the disk is determined by the metadata id (such as inodeid).
  • offset such as offset
  • bitmap such as bitmap
  • the data structure used in the embodiments of the present disclosure is not limited to the data structure shown in FIG. 11A and FIG. 11B , and any other applicable data structure may also be used, and the embodiments of the present disclosure are not limited to this.
  • the data structures shown in Figure 11A and Figure 11B are only illustrative and not restrictive.
  • the actual data structure used can also include more or less fields, parameters, functions, etc., which can be determined according to actual needs. .
  • Figure 12A is a schematic diagram of a read operation in a data management method provided by some embodiments of the present disclosure.
  • the read operation for the snapshot item and the read operation for the clone item will be briefly described below with reference to FIG. 12A.
  • the first version of the snapshot item (snapid:1) is generated, and the bit corresponding to w1 in the fourth bitmap of the snapshot item is 1.
  • a version 2 snapshot item (snapid:2) is generated, and the bits corresponding to w1 and w2 in the fourth bitmap of the snapshot item are 1 respectively.
  • a version 3 snapshot item (snapid:3) is generated, and the bits corresponding to w1, w2, and w3 in the fourth bitmap of the snapshot item are 1 respectively.
  • the bits corresponding to w1, w2, and w3 are 1, and since three snapshots were taken, the latest snapshot version number peerid of the file path is 3.
  • the data object (osd) consists of metadata id (inodeid), offset (offset), global snapshot version number (snapid) and file path snapshot version number (peerid). Data writing of snapshot items is triggered by the write process. If the corresponding bits in the third bitmap of each snapshot item larger than the current snapid are all 0, read the data object of the source file item basefs.
  • TFS_NOSNAP is the identification information indicating the read source file item. If it is TFS_NOSNAP, it is a read request for the source file item. This does not require additional operations. The process of reading the source file item in the normal file system can be used. If it is not TFS_NOSNAP, it is a read request for a snapshot item, and the value of snap_id is the version number of the snapshot item that needs to be read. This requires the process described above.
  • Figure 12B is a schematic diagram of a write operation in a data management method provided by some embodiments of the present disclosure.
  • the writing operation for the source file item and the writing operation for the clone item will be briefly described below with reference to FIG. 12B.
  • the source file item basefs namely w1, w2, and w3.
  • the first version of the snapshot item (snapid:1) is generated, and the bit corresponding to w1 in the fourth bitmap of the snapshot item is 1.
  • a version 2 snapshot item (snapid:2) is generated, and the bits corresponding to w1 and w2 in the fourth bitmap of the snapshot item are 1 respectively.
  • a version 3 snapshot item (snapid:3) is generated, and the bits corresponding to w1, w2, and w3 in the fourth bitmap of the snapshot item are 1 respectively.
  • the data corresponding to the source file item is read, and the oid of the snapshot type data object is constructed, which is composed of inodeid, offset, snapid and peerid. And, construct the data object oid to be newly written (that is, the data object of w2-1).
  • the difference between these two data objects is that the snapid of the data object of w2-1 is 0, while the snapid of the oid of the snapshot object is the version number of the largest snapshot id on the current file path.
  • the data of the original file w2 is migrated, and the snapshot item for data migration is the version 3 snapshot item.
  • the bits corresponding to w1, w2-1, and w3 in the fourth bitmap of the snapshot item are 1 respectively. Since 4 snapshots were taken, the latest snapshot version number peerid of the file path is 4.
  • the data write request refers to a write request for a source file item. For example, the judgment can be made based on the snap_id, for example, whether the snap_id is TFS_NOSNAP.
  • TFS_NOSNAP represents the identification information of the write source file item. If it is TFS_NOSNAP, it is a write operation of the source file item and a data write request. If it is not TFS_NOSNAP, it is a write operation of the snapshot item, and it will prompt that it cannot be written and return directly.
  • the data part is managed by introducing a bitmap (bitmap), and the data part in the snapshot of the distributed network attached storage (Network Attached Storage, NAS) file system is removed from the object storage device (OSD).
  • bitmap Bitmap
  • OSD object storage device
  • the data part logic of the snapshot is abstractly described, which can be easily implemented in the file system without using pointers to manage the data part.
  • the data part of the snapshot is implemented in a unified manner according to the file system data interface.
  • the data part of the snapshot and the data part of the file system are distinguished by the object name, for example, adding a snap field to the object oid.
  • the data management method provided by the embodiments of the present disclosure is not limited to application in NAS file systems, and can also be applied in file systems of any architecture. The embodiments of the present disclosure do not limit this.
  • the above-mentioned data management method for a file system may also include more or fewer steps, and the execution order of each step is not limited and may be determined according to actual needs.
  • At least one embodiment of the present disclosure also provides a data management device for a file system.
  • the data management device separates the data part of the snapshot from the object storage device, reduces the dependence of the file system snapshot on the object storage device, facilitates management and maintenance of the overall function of the snapshot, and facilitates developers to make changes to the object storage device.
  • Figure 13 is a schematic block diagram of a data management device for a file system provided by some embodiments of the present disclosure. As shown in FIG. 13 , in some embodiments, the data management device 100 includes a judgment unit 110 and a processing unit 120 .
  • a file system includes file data, and the file data is divided into multiple data pieces.
  • the file system also includes a source file item and a snapshot item.
  • the source file item includes the first bitmap and the second bitmap
  • the snapshot item includes the third bitmap.
  • Multiple bits in the first bit map correspond to multiple data slices one-to-one, and the first bit image is used to record the writing status of multiple data slices.
  • Multiple bits of the second bitmap correspond to multiple data slices one-to-one, and the second bitmap is used to record the snapshot generation status of the multiple data slices.
  • Multiple bits of the third bitmap correspond to multiple data slices one-to-one, and the third bitmap is used to record the transition status of the multiple data slices.
  • the determination unit 110 is configured to determine whether to perform data migration according to the first bitmap and the second bitmap in response to receiving the data write request. For example, the judgment unit 110 may execute step S10 of the data management method as shown in FIG. 3 .
  • the processing unit 120 is configured to perform data migration in response to the determination, perform a data migration operation and update corresponding bits in the first bitmap, the second bitmap, and the third bitmap. For example, the processing unit 120 may execute step S20 of the data management method as shown in FIG. 3 .
  • the judgment unit 110 and the processing unit 120 may be hardware, software, firmware, or any feasible combination thereof.
  • the judgment unit 110 and the processing unit 120 may be dedicated or general-purpose circuits, chips or devices, or may be a combination of a processor and a memory.
  • the embodiments of the present disclosure do not limit this.
  • each unit of the data management device 100 corresponds to each step of the aforementioned data management method.
  • the specific functions of the data management device 100 please refer to the relevant description of the data management method above. No further details will be given here.
  • the components and structures of the data management device 100 shown in Figure 13 are only exemplary and not restrictive.
  • the data management device 100 may also include other components and structures as needed.
  • At least one embodiment of the present disclosure also provides an electronic device, which includes the data management apparatus for a file system provided by any embodiment of the present disclosure.
  • This electronic device separates the data part of the snapshot from the object storage device, reduces the dependence of the file system snapshot on the object storage device, facilitates management and maintenance of the overall function of the snapshot, and facilitates developers to make changes to the object storage device.
  • FIG. 14 is a schematic block diagram of an electronic device provided by some embodiments of the present disclosure.
  • the electronic device 200 includes a data management device 210 , which may be the data management device 100 shown in FIG. 13 .
  • the electronic device 200 can be a distributed NAS system or any other system that needs to implement snapshots, and the embodiments of the present disclosure are not limited thereto.
  • the electronic device 200 please refer to the above description of the data management device 100, and will not be described again here.
  • At least one embodiment of the present disclosure also provides an electronic device.
  • the electronic device includes a processor and a memory.
  • One or more computer program modules are stored in the memory and configured to be executed by the processor.
  • One or more computers The program module includes a method for implementing the data management method for a file system provided by any embodiment of the present disclosure.
  • This electronic device separates the data part of the snapshot from the object storage device, reduces the dependence of the file system snapshot on the object storage device, facilitates management and maintenance of the overall function of the snapshot, and facilitates developers to make changes to the object storage device.
  • FIG. 15 is a schematic block diagram of another electronic device provided by some embodiments of the present disclosure.
  • the electronic device 300 includes a processor 310 and a memory 320 .
  • Memory 320 is used to store non-transitory computer-readable instructions (eg, one or more computer program modules).
  • the processor 310 is configured to execute non-transitory computer readable instructions. When the non-transitory computer readable instructions are executed by the processor 310, they may perform one or more steps in the data management method for a file system described above.
  • Memory 320 and processor 310 may be interconnected by a bus system and/or other forms of connection mechanisms (not shown).
  • the processor 310 may be a central processing unit (CPU), a graphics processing unit (GPU), a digital signal processor (DSP), or other form of processing unit with data processing capabilities and/or program execution capabilities, such as field programmable Gate array (FPGA), etc.; for example, the central processing unit (CPU) can be X86 or ARM architecture, etc.
  • the processor 310 may be a general-purpose processor or a special-purpose processor that may control other components in the electronic device 300 to perform desired functions.
  • memory 320 may include any combination of one or more computer program products, which may include various forms of computer-readable storage media, such as volatile memory and/or non-volatile memory.
  • Volatile memory may include, for example, random access memory (RAM) and/or cache memory (cache).
  • Non-volatile memory may include, for example, read-only memory (ROM), hard disk, erasable programmable read-only memory (EPROM), portable compact disk read-only memory (CD-ROM), USB memory, flash memory, and the like.
  • One or more computer program modules may be stored on the computer-readable storage medium, and the processor 310 may run the one or more computer program modules to implement various functions of the electronic device 300 .
  • Various application programs and various data, as well as various data used and/or generated by the application programs, etc. can also be stored in the computer-readable storage medium.
  • At least one embodiment of the present disclosure also provides a storage medium for storing non-transitory computer-readable instructions.
  • the non-transitory computer-readable instructions When executed by a computer, the method for file provided by any embodiment of the present disclosure can be implemented.
  • Systematic approach to data management Using this storage medium, the data part of the snapshot can be separated from the object storage device, reducing the dependence of the file system snapshot on the object storage device, making it easier to manage and maintain the overall function of the snapshot, and making it easier for developers to make changes to the object storage device.
  • Figure 16 is a schematic diagram of a storage medium provided by some embodiments of the present disclosure.
  • storage medium 400 is used to store non-transitory computer-readable instructions 410 .
  • the non-transitory computer readable instructions 410 when executed by a computer may perform one or more steps in the data management method for a file system described above.
  • the storage medium 400 can be applied to the above-mentioned electronic device.
  • the storage medium 400 may be the memory 320 in the electronic device 300 shown in FIG. 15 .
  • the storage medium 400 for relevant description of the storage medium 400, reference may be made to the corresponding description of the memory 320 in the electronic device 300 shown in FIG. 15, which will not be described again here.

Abstract

Procédé et appareil de gestion de données pour un système de fichiers, dispositif électronique, et support d'enregistrement. Un système de fichiers comprend des données de fichier, et les données de fichier sont divisées en une pluralité de tranches de données. Le système de fichiers comprend en outre un élément de fichier source et un élément d'instantané. L'élément de fichier source comprend une première table de bits et une deuxième table de bits. L'élément d'instantané comprend une troisième table de bits. La première table de bits est utilisée pour enregistrer les états d'écriture d'une pluralité de tranches de données. La deuxième table de bits est utilisée pour enregistrer les états de génération d'instantané d'une pluralité de tranches de données. La troisième table de bits est utilisée pour enregistrer les états de migration d'une pluralité de tranches de données. Le procédé consiste à : en réponse à la réception d'une demande d'écriture de données, déterminer, selon une première table de bits et une deuxième table de bits, s'il faut effectuer une migration de données (S10) ; et, en réponse à la détermination selon laquelle il faut effectuer une migration de données, exécuter une opération de migration de données et mettre à jour des bits correspondants dans la première table de bits, la deuxième table de bits et une troisième table de bits (S20). Dans le procédé décrit, la partie de données d'un instantané est séparée d'un dispositif de stockage d'objet, réduisant la dépendance d'un instantané de système de fichiers sur le dispositif de stockage d'objet, la fonction globale de l'instantané étant ainsi pratique à gérer et à maintenir.
PCT/CN2022/107919 2022-03-21 2022-07-26 Procédé et appareil de gestion de données d'un système de fichiers, dispositif électronique, et support d'enregistrement WO2023178899A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202210274271.0A CN114356849B (zh) 2022-03-21 2022-03-21 文件系统的数据管理方法及装置、电子设备及存储介质
CN202210274271.0 2022-03-21

Publications (1)

Publication Number Publication Date
WO2023178899A1 true WO2023178899A1 (fr) 2023-09-28

Family

ID=81094373

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/107919 WO2023178899A1 (fr) 2022-03-21 2022-07-26 Procédé et appareil de gestion de données d'un système de fichiers, dispositif électronique, et support d'enregistrement

Country Status (2)

Country Link
CN (1) CN114356849B (fr)
WO (1) WO2023178899A1 (fr)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114356849B (zh) * 2022-03-21 2022-05-17 联想凌拓科技有限公司 文件系统的数据管理方法及装置、电子设备及存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6434681B1 (en) * 1999-12-02 2002-08-13 Emc Corporation Snapshot copy facility for a data storage system permitting continued host read/write access
CN101482838A (zh) * 2009-02-06 2009-07-15 杭州华三通信技术有限公司 基于写时拷贝的数据写入方法及设备
CN101840362A (zh) * 2009-10-28 2010-09-22 创新科存储技术有限公司 一种改进的写时拷贝快照的实现方法和装置
CN102411524A (zh) * 2011-12-30 2012-04-11 云海创想信息技术(天津)有限公司 一种快照卷数据拷贝方法
US9547655B1 (en) * 2013-07-11 2017-01-17 Ca, Inc. Filesystem independent snapshot driver
CN113468105A (zh) * 2020-03-31 2021-10-01 阿里巴巴集团控股有限公司 数据快照的数据结构、相关数据处理方法及装置和系统
CN114356849A (zh) * 2022-03-21 2022-04-15 联想凌拓科技有限公司 文件系统的数据管理方法及装置、电子设备及存储介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106126370A (zh) * 2016-06-15 2016-11-16 上海爱数信息技术股份有限公司 基于存储快照之间增量位图的Server‑free备份方法及系统
CN106844095B (zh) * 2016-12-27 2020-04-28 上海爱数信息技术股份有限公司 文件备份方法、系统及具有该系统的客户端
CN110188068B (zh) * 2019-05-16 2024-01-23 上海爱数信息技术股份有限公司 一种保证文件系统数据一致性的卷级备份方法及装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6434681B1 (en) * 1999-12-02 2002-08-13 Emc Corporation Snapshot copy facility for a data storage system permitting continued host read/write access
CN101482838A (zh) * 2009-02-06 2009-07-15 杭州华三通信技术有限公司 基于写时拷贝的数据写入方法及设备
CN101840362A (zh) * 2009-10-28 2010-09-22 创新科存储技术有限公司 一种改进的写时拷贝快照的实现方法和装置
CN102411524A (zh) * 2011-12-30 2012-04-11 云海创想信息技术(天津)有限公司 一种快照卷数据拷贝方法
US9547655B1 (en) * 2013-07-11 2017-01-17 Ca, Inc. Filesystem independent snapshot driver
CN113468105A (zh) * 2020-03-31 2021-10-01 阿里巴巴集团控股有限公司 数据快照的数据结构、相关数据处理方法及装置和系统
CN114356849A (zh) * 2022-03-21 2022-04-15 联想凌拓科技有限公司 文件系统的数据管理方法及装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN114356849A (zh) 2022-04-15
CN114356849B (zh) 2022-05-17

Similar Documents

Publication Publication Date Title
US11461202B2 (en) Remote data replication method and system
US11947809B2 (en) Data management system
US10762038B2 (en) System and method for virtual machine conversion
US9292327B1 (en) Optimization for incremental backup of VMS
US9727273B1 (en) Scalable clusterwide de-duplication
US8417907B2 (en) Synchronizing snapshot volumes across hosts
US8515911B1 (en) Methods and apparatus for managing multiple point in time copies in a file system
JP4741371B2 (ja) システム、サーバ装置及びスナップショットの形式変換方法
JP4419884B2 (ja) データ複製装置、方法及びプログラム並びに記憶システム
US20120136832A1 (en) Incremental restore of data between storage systems having dissimilar storage operating systems associated therewith
WO2017041654A1 (fr) Procédé et appareil pour écrire et acquérir des données dans un système de stockage réparti
US20190370236A1 (en) Persistent Version Control for Data Transfer between Heterogeneous Data Stores
US10628298B1 (en) Resumable garbage collection
CN115185891B (zh) 文件系统的数据管理方法及装置、电子设备及存储介质
WO2023005688A1 (fr) Procédé et appareil d'implémentation d'instantanés, dispositif électronique et support de stockage lisible par ordinateur
WO2023178899A1 (fr) Procédé et appareil de gestion de données d'un système de fichiers, dispositif électronique, et support d'enregistrement
CN115586872A (zh) 一种容器镜像管理方法、装置、设备及存储介质
US10372683B1 (en) Method to determine a base file relationship between a current generation of files and a last replicated generation of files
Wang et al. Towards cluster-wide deduplication based on Ceph

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22932951

Country of ref document: EP

Kind code of ref document: A1