CN114153394A - Data storage management method, device and equipment - Google Patents

Data storage management method, device and equipment Download PDF

Info

Publication number
CN114153394A
CN114153394A CN202111439238.0A CN202111439238A CN114153394A CN 114153394 A CN114153394 A CN 114153394A CN 202111439238 A CN202111439238 A CN 202111439238A CN 114153394 A CN114153394 A CN 114153394A
Authority
CN
China
Prior art keywords
data block
zone
data
target
index
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.)
Pending
Application number
CN202111439238.0A
Other languages
Chinese (zh)
Inventor
王志豪
戴恩亮
罗心
江文龙
周明伟
应秀梅
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang Dahua Technology Co Ltd
Original Assignee
Zhejiang Dahua Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhejiang Dahua Technology Co Ltd filed Critical Zhejiang Dahua Technology Co Ltd
Priority to CN202111439238.0A priority Critical patent/CN114153394A/en
Publication of CN114153394A publication Critical patent/CN114153394A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • 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/13File access structures, e.g. distributed indices
    • G06F16/134Distributed indices
    • 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/17Details of further file system functions
    • G06F16/172Caching, prefetching or hoarding of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0643Management of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]

Abstract

The application provides a data storage management method, a data storage management device and data storage management equipment, wherein the method comprises the following steps: responding to a data writing instruction, writing a data block into the zone, taking the unique identifier of the data block as a key, taking the position information of the data block as a value, generating a data block index in a key-value form, and writing the data block index into a storage area corresponding to index information in a memory; when the data volume of the storage area reaches a set threshold value, packaging the data of the storage area into a file and storing the file into the CMR area; in response to a data reading instruction, retrieving a first target key matched with a target identifier in the instruction in a data block index; and positioning the corresponding first target value according to the first target key, and reading the target data block according to the position information of the data block in the first target value, so that the data block and the metadata index information thereof are efficiently stored and managed by using the SMR disk.

Description

Data storage management method, device and equipment
Technical Field
The present application relates to the field of data storage technologies, and in particular, to a data storage management method, apparatus, and device.
Background
SMR (Shingled magnetic recording disk), which increases the disk density in a unit space by sacrificing random write data by reducing track write amplification to obtain a higher storage space. The SMR disk comprises a CMR (traditional magnetic recording) area and an SMR (tile-shaped magnet recording) area, wherein the CMR area is small, random reading and writing are supported, the CMR area generally accounts for 1% of the capacity of the whole SMR disk, and the rest is the SMR area; the SMR area does not support random writing, and can only use 256MB as a minimum unit of continuous writing and deletion (referred to as a zone), and there is a write pointer in each zone for controlling sequential writing of data in the zone.
With the continuous development of distributed object storage technology, the amount of stored data also shows a trend of explosive growth. To meet the ever-increasing data storage requirements, it is desirable to be able to apply SMR disks to distributed object storage systems, reducing user costs while achieving greater storage capacity.
In a distributed object storage system, files (files) are divided into different objects (objects)), each object being divided into different data blocks (blocks). The mapping relation between the file and the object and the mapping relation between the object and the data block are stored in the metadata management node, and the content of the data block is stored in the data node. Therefore, how to realize efficient storage and management of data blocks and metadata index information thereof by using the SMR disk in the SMR disk-based distributed object storage system is a hot spot of current distributed object storage system research.
At present, when a data block is stored in an SMR disk, a metadata management node will divide a user file into a plurality of data blocks with the same size, and select a data node with the same number as the file division to store a data block file of which a service data stream is divided, after the data node receives the service data block, a zone block of the SMR disk will be selected to write the data block, and after the data block is written, corresponding index data will be generated and written into the zone.
Disclosure of Invention
The application provides a data storage management method, which realizes efficient storage and management of data blocks and metadata index information thereof by using an SMR disk.
In a first aspect, the present application provides a data storage management method, which is applied to a SMR disk-based distributed object storage system, and the method includes:
responding to a data writing instruction, writing a data block into a zone, taking the unique identifier of the data block as a key, taking the position information of the data block as a value, generating a data block index in a key-value form, and writing the data block index into a storage area corresponding to index information in a memory;
when the data volume of the storage area reaches a set threshold value, packaging the data of the storage area into a file and storing the file into the CMR area;
in response to a data reading instruction, retrieving a first target key matched with a target identifier in a data block index according to the target identifier of a target data block in the data reading instruction;
and positioning a corresponding first target value according to the first target key, and reading a target data block according to the position information of the data block in the first target value.
In one possible implementation manner, after writing the data block into the zone in response to the write data instruction, the method further includes:
if the zone is not used before the data block is written, taking the unique identification of the zone as a key, taking the current data storage information in the zone as a value, generating a zone index in a key-value form, and writing the zone index into the storage area in the memory;
and if the zone is used before the data block is written, retrieving a second target key matched with the unique identification of the zone from a zone index, positioning a corresponding second target value according to the second target key, and updating the second target value by using the current data storage information of the zone.
In one possible implementation manner, after writing the data block into the zone in response to the write data instruction, the method further includes:
and taking the position information of the zone and the number of any data block in the zone as keys, taking the unique identifier of the data block as value, generating a zone and data block index mapping in a key-value form, and writing the zone and data block index mapping into the storage area.
In one possible implementation, the method further includes:
responding to a zone deleting instruction, retrieving a second target key matched with the unique identification of the target zone in a zone index according to the unique identification of the target zone in the zone deleting instruction, positioning a corresponding second target value according to the second target key, and deleting the second target key and the second target value;
according to the position information of the target zone in the zone deleting instruction, at least one third target key matched with the position information of the target zone is searched in zone and data block index mapping, a corresponding third target value is positioned according to each third target key, a unique identifier of the data block in the third target key is obtained, and the third target key and the third target value are deleted;
and according to the acquired unique identifier of the data block, retrieving a first target key matched with the unique identifier of the acquired data block from the data block index, positioning a corresponding first target value according to the first target key, and deleting the first target key and the first target value.
In one possible implementation, the method further includes:
traversing the zone index in response to the SMR disk global data determination instruction;
and determining a value corresponding to each key in the traversed zone index to obtain data storage information in each zone.
In one possible implementation, the method further includes:
responding to a query instruction of a data block in a zone, and retrieving at least one third target key matched with the position information of the target zone in the zone and data block index mapping according to the position information of the target zone carried in the query instruction;
and positioning a corresponding third target value according to each third target key, and generating a corresponding read data instruction according to the unique identifier of the data block in the third target key.
In a possible implementation manner, the unique identifier of the data block includes a data block prefix, an identifier of a file where the data block is located, an identifier of an object where the data block is located, and an identifier of the data block, where the data block prefix is used to identify a writing status of the data block;
the unique identification of the zone comprises a zone prefix and zone position information, wherein the zone prefix is used for identifying the index type as a zone index.
In a possible implementation manner, the location information of the data block includes an in-disk offset of the data block and a length of the data block, and the value corresponding to the unique identifier of the data block further includes attribute information of the data block;
the data storage information comprises attribute information of the zone, the position of a write pointer in the zone and the number of data blocks in the zone.
In a second aspect, the present application provides a data storage management apparatus applied to a SMR disk-based distributed object storage system, the apparatus including:
the data block index generating module is used for responding to a data writing instruction, writing a data block into the zone, taking the unique identifier of the data block as a key, taking the position information of the data block as a value, generating a data block index in a key-value form, and writing the data block index into a storage area corresponding to the index information in the memory; when the data volume of the storage area reaches a set threshold value, packaging the data of the storage area into a file and storing the file into the CMR area;
the data reading module is used for responding to a data reading instruction and retrieving a first target key matched with a target identification in a data block index according to the target identification of a target data block in the data reading instruction; and positioning a corresponding first target value according to the first target key, and reading a target data block according to the position information of the data block in the first target value.
In a third aspect, the present application provides a data storage management device, including a memory, a processor, and a computer program stored on the memory and executable on the processor, wherein the processor executes the computer program to perform the following steps:
responding to a data writing instruction, writing a data block into a zone, taking the unique identifier of the data block as a key, taking the position information of the data block as a value, generating a data block index in a key-value form, and writing the data block index into a storage area corresponding to index information in a memory;
when the data volume of the storage area reaches a set threshold value, packaging the data of the storage area into a file and storing the file into the CMR area;
in response to a data reading instruction, retrieving a first target key matched with a target identifier in a data block index according to the target identifier of a target data block in the data reading instruction;
and positioning a corresponding first target value according to the first target key, and reading a target data block according to the position information of the data block in the first target value.
In a fourth aspect, the present application provides a computer readable storage medium having stored thereon computer program instructions which, when executed by a processor, perform the steps of:
responding to a data writing instruction, writing a data block into a zone, taking the unique identifier of the data block as a key, taking the position information of the data block as a value, generating a data block index in a key-value form, and writing the data block index into a storage area corresponding to index information in a memory;
when the data volume of the storage area reaches a set threshold value, packaging the data of the storage area into a file and storing the file into the CMR area;
in response to a data reading instruction, retrieving a first target key matched with a target identifier in a data block index according to the target identifier of a target data block in the data reading instruction;
and positioning a corresponding first target value according to the first target key, and reading a target data block according to the position information of the data block in the first target value.
Based on the data storage management method provided by the application, the application has the following beneficial effects:
generating data block index information in a key-value form, rapidly indexing a key value of a data block index according to a unique identifier of the data block, positioning a value according to the key value of the data block, and reading the data block; and the standard file system of the CMR area is used for storing the data block index, so that the reading and writing speed of the index information is high, and the IO operation on the SMR disk is less.
Drawings
In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings needed to be used in the description of the embodiments will be briefly introduced below, and it is obvious that the drawings in the following description are only some embodiments of the present application, and it is obvious for those skilled in the art to obtain other drawings based on these drawings without inventive exercise.
Fig. 1 is a schematic diagram of a distributed object storage system according to an embodiment of the present application;
fig. 2 is a flowchart of a data storage management method according to an embodiment of the present application;
FIG. 3 is a schematic diagram of a SMR disk management format provided by an embodiment of the present application;
fig. 4 is a schematic diagram of an index information organization structure according to an embodiment of the present application;
FIG. 5 is a schematic diagram of a data storage management apparatus according to an embodiment of the present application;
fig. 6 is a schematic diagram of a data storage management device according to an embodiment of the present application.
Detailed Description
In order to make the objects, technical solutions and advantages of the present application clearer, the present application will be described in further detail with reference to the accompanying drawings, and it is obvious that the described embodiments are only a part of the embodiments of the present application, and not all embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present application.
It should be noted that the terms "first," "second," and the like in the description and claims of this application and in the drawings described above are used for distinguishing between similar elements and not necessarily for describing a particular sequential or chronological order. It is to be understood that the data so used is interchangeable under appropriate circumstances such that the embodiments of the application described herein are capable of operation in sequences other than those illustrated or described herein.
The application scenario described in the embodiment of the present application is for more clearly illustrating the technical solution of the embodiment of the present application, and does not form a limitation on the technical solution provided in the embodiment of the present application, and it can be known by a person skilled in the art that with the occurrence of a new application scenario, the technical solution provided in the embodiment of the present application is also applicable to similar technical problems.
As shown in fig. 1, in a distributed object storage system, a file (file) is divided into different objects (objects), each of which is divided into different data blocks (blocks). Wherein the mapping relation of the file and the object, the object to the data block is stored in the metadata management node, the content of the data block is stored in the data node, and each data node is provided with a plurality of data disks (SMR/CMR disks).
With the continuous development of distributed object storage technology, the amount of stored data also shows an explosive growth trend, and in order to meet the growing data storage requirement, it is desirable to apply an SMR disk to a distributed object storage system, so as to reduce the user cost on the premise of obtaining a larger storage capacity. In order to solve the above problems, the present application provides a data storage management method, which is used for storing and managing a data block and metadata index information thereof by using an SMR disk, and has the problems of slow read-write speed, and possible generation of IO wait and blocking.
Example 1
As shown in fig. 2, an embodiment of the present application provides a data storage management method, where the data instruction includes a write data instruction and a read data instruction, and the method includes the following steps:
step 201, responding to a data writing instruction, writing a data block into a zone, taking the unique identifier of the data block as a key, taking the position information of the data block as a value, generating a data block index in a key-value form, and writing the data block index into a storage area corresponding to the index information in a memory;
receiving a data writing instruction, firstly inquiring whether the residual space in the used zone can also meet the requirement of data block writing, if so, writing the data block into the zone in sequence, otherwise, writing the data block into the used zone in sequence until the used zone is fully written, then feeding back the writing length of the data block to a metadata node, and after re-allocating a new data block identifier to the part which is not written in the data block, writing the new data block identifier into the rest zones.
After the data block is written into the zone, the unique identifier of the data block is used as a key, the position information of the data block is used as a value, a data block index in a key-value form is generated, and the data block index is written into a storage area corresponding to the index information in the memory in a binary form, wherein the storage area corresponding to the index information is also used for storing the zone index and zone and data block index mapping.
It should be noted that the storage structures in the storage areas corresponding to the index information in the memory are ordered, and can be updated in place at any time while supporting query at any time, and the key value storage area and the value storage area are predefined in the storage areas, and the one-to-one correspondence relationship between the key and the value is recorded.
As an optional implementation manner, the unique identifier of the data block includes a data block Prefix (data block Prefix), an identifier (id) of a file in which the data block is located, an identifier (id) of an object in which the data block is located, and an identifier (id) of the data block, where the data block Prefix is used to identify a writing status of the data block.
The data block writing state includes writing, writing recovery and the like, and different states are distinguished by different prefixes (prefixes).
As an optional implementation manner, the location information of the data block includes an in-disk offset of the data block, and the value corresponding to the unique identifier of the data block further includes attribute information of the data block and a length of the data block.
The data block attribute information includes information such as data block write time and data block read time, and the in-disc offset of the data block is a global offset of the data block in the SMR area of the SMR disc.
Step 202, when the data amount of the storage area reaches a set threshold value, packaging the data of the storage area into a file and storing the file into a CMR area;
when the data quantity of the index information stored in the storage area in the memory reaches a set threshold value, all the index information in the storage area is packaged into a file, the file is stored in the specified position of the CMR area of the SMR disk, a plurality of data storage files are formed after the file is stored in the CMR area for multiple times, and a background can automatically combine the plurality of files into one file according to configuration.
Step 203, responding to a data reading instruction, and retrieving a first target key matched with a target identifier in a data block index according to the target identifier of a target data block in the data reading instruction;
when a data reading instruction is received, first retrieving a first target key matched with the target identifier in a storage area corresponding to index information in a memory according to the target identifier of a target data block in the data reading instruction, and if the first target key is not retrieved, then retrieving the first target key in the storage area corresponding to the index information in the CMR area.
Step 204, positioning a corresponding first target value according to the first target key, and reading a target data block according to the position information of the data block in the first target value;
after the position information of the data block, namely the in-disk offset of the data block and the length of the data block, is determined, the initial position of the zone where the data block is located is determined according to the in-disk offset of the data block, the specific position of the data block in the zone is determined according to the length of the data block, and the data block is read.
For example, after the corresponding first target value is located according to the first target key, it is determined that the in-disk offset of the data block is 2000MB, the length of the data block is 40MB, and since the storage space corresponding to the zone is 256MB, it is determined that the zone start offset corresponding to the zone where the data block is located is 1792MB, and the start position of the data block in the zone is 208MB, and it is determined that the position of the data block in the zone is from 208MB to 248 MB.
By the method, the data block index information is quickly written in, and the position of the data block is quickly retrieved and read according to the data block index.
Before the step 201, the CMR area of the SMR disk needs to be partitioned separately, formatted into systems such as xfs/ext4, and mounted, and the CMR partition is managed by the standard file system, so that the IO cache/merge function of the standard file system is fully utilized to reduce the random IO operation of the disk. The CMR area is used for recording index information, the data partition (SMR area) is used for storing block data, and one or more block data may be stored in each zone sequentially, as shown in fig. 3.
In step 201, in response to the data writing command, after the data block is written into the zone, the corresponding zone index is also generated/updated.
In implementation, if the zone is not used before the data block is written, the zone index is also correspondingly generated after the data block is written into the zone, and if the zone is used before the data block is written, the zone index corresponding to the zone already exists in the storage area of the index information, so that the value in the zone index can be updated according to the current data storage information of the zone.
As an optional implementation manner, after writing the data block into the zone in response to the write data instruction, the method further includes:
if the zone is not used before the data block is written, taking the unique identification of the zone as a key, taking the current data storage information in the zone as a value, generating a zone index in a key-value form, and writing the zone index into the storage area in the memory;
and if the zone is used before the data block is written, retrieving a second target key matched with the unique identification of the zone from a zone index, positioning a corresponding second target value according to the second target key, and updating the second target value by using the current data storage information of the zone.
In implementation, the unique identifier of the zone is used as a key, the current data storage information in the zone is used as a value, a zone index in a key-value form is generated, and then the zone index is written into the storage area in the memory in a binary form.
As an optional implementation manner, the unique identifier of the zone includes a zone prefix (zone prefix) and zone location information, where the zone prefix is used to identify that the index type is a zone index.
The zone location information includes a zone start offset, a unique zone may be located according to the zone start offset, and the zone prefix (zone prefix) is used to identify the index as a zone index, so as to facilitate subsequent index information query.
As an optional implementation manner, the data storage information includes attribute information of the zone, a write pointer position in the zone, and a number of data blocks in the zone.
The attribute information of the zone includes information such as writing time of the data block in the zone, and modification time of the data block in the zone.
When the SMR disk is started and global data needs to be read to determine the use condition of the zones, the data storage information in each zone may be obtained by traversing the zone index, and as an optional implementation, the method further includes:
traversing the zone index in response to the SMR disk global data determination instruction;
and determining a value corresponding to each key in the traversed zone index to obtain data storage information in each zone.
In implementation, because data stored in the memory is not reserved when the SMR disk is started, after receiving an SMR disk global data determination instruction, traversing the zone index to the index information storage area of the CMR area, where all zone indexes are indexed by the zone prefix first, and then traversing is performed.
In step 201, after the data block is written into the zone in response to the write data command, a corresponding zone and a data block index map are also generated, as shown in fig. 4.
As an optional implementation manner, after writing the data block into the zone in response to the write data instruction, the method further includes:
and taking the position information of the zone and the number of any data block in the zone as keys, taking the unique identifier of the data block as value, generating a zone and data block index mapping in a key-value form, and writing the zone and data block index mapping into the storage area.
In implementation, the position information of the zone and the number of any data block in the zone are used as keys, the unique identifier of the data block is used as value, a zone and data block index map in a key-value form is generated, and then the zone and data block index map is written into the storage area in the memory in a binary form.
The zone position information includes a zone start offset, and the number of any data block in the zone is used to identify the data block as the second data block stored in the zone.
As an optional implementation, the method further comprises:
responding to a query instruction of a data block in a zone, and retrieving at least one third target key matched with the position information of the target zone in the zone and data block index mapping according to the position information of the target zone carried in the query instruction;
and positioning a corresponding third target value according to each third target key, and generating a corresponding read data instruction according to the unique identifier of the data block in the third target key.
In implementation, when at least one third target key matching the position information of the target zone is retrieved in the zone and data block index map according to the position information of the target zone carried in the query instruction, at least one third target key matching the position information of the target zone is retrieved in a storage area corresponding to the index information in the memory first, and if the at least one third target key is not retrieved, the at least one third target key is retrieved in a storage area corresponding to the index information in the CMR area.
In this embodiment of the application, if all data blocks in a zone need to be deleted, a zone index corresponding to the zone, and a data block index corresponding to at least one data block stored in the zone and index mapping between the zone and the data block are also required to be deleted.
As an optional implementation, the method further includes:
responding to a zone deleting instruction, retrieving a second target key matched with the unique identification of the target zone in a zone index according to the unique identification of the target zone in the zone deleting instruction, positioning a corresponding second target value according to the second target key, and deleting the second target key and the second target value;
according to the position information of the target zone in the zone deleting instruction, at least one third target key matched with the position information of the target zone is searched in zone and data block index mapping, a corresponding third target value is positioned according to each third target key, a unique identifier of the data block in the third target key is obtained, and the third target key and the third target value are deleted;
and according to the acquired unique identifier of the data block, retrieving a first target key matched with the unique identifier of the acquired data block from the data block index, positioning a corresponding first target value according to the first target key, and deleting the first target key and the first target value.
When the second target key matched with the unique identifier of the target zone is searched in the zone index, at least one third target key matched with the position information of the target zone is searched in zone and data block index mapping, and the first target key matched with the unique identifier of the obtained data block is searched in the data block index, firstly, the storage area corresponding to the index information in the memory is searched, and if the corresponding key is not searched, the storage area corresponding to the index information in the CMR area is searched.
In the embodiment of the application, in order to ensure the reliability of the index information on the SMR disk, the index information is backed up in a mode of recording files of the index information through hard links, the backed up backup information is stored in a CMR area of the SMR disk, and the IO operation and the storage service of the SMR disk are not influenced by backing up the index information through the mode.
Example 2
A data storage management method according to the present application is described above, and an apparatus for performing the data storage management is described below.
Referring to fig. 5, an embodiment of the present application provides a data storage management apparatus, including:
a data block index generating module 501, configured to respond to a write data instruction, write a data block into a zone, use the unique identifier of the data block as a key, use the location information of the data block as a value, generate a data block index in a key-value form, and write the data block index into a storage area corresponding to index information in a memory; when the data volume of the storage area reaches a set threshold value, packaging the data of the storage area into a file and storing the file into the CMR area;
a data reading module 502, configured to respond to a data reading instruction, and retrieve, according to a target identifier of a target data block in the data reading instruction, a first target key matched with the target identifier in a data block index; and positioning a corresponding first target value according to the first target key, and reading a target data block according to the position information of the data block in the first target value.
Optionally, after the data block is written into the zone in response to the write data command, the apparatus further includes:
a zone index generating module, configured to, if the zone is not used before the data block is written, take the unique identifier of the zone as a key, take current data storage information in the zone as a value, generate a zone index in a key-value form, and write the zone index into the storage area in the memory;
and the zone index updating module is used for searching a second target key matched with the unique identifier of the zone in the zone index if the zone is used before the data block is written, positioning a corresponding second target value according to the second target key, and updating the second target value by using the current data storage information of the zone.
Optionally, after the data block is written into the zone in response to the write data command, the apparatus further includes:
and the zone and data block index mapping generation module is used for taking the position information of the zone and the number of any data block in the zone as keys, taking the unique identifier of the data block as value, generating a zone and data block index mapping in a key-value form, and writing the zone and data block index mapping into the storage area.
Optionally, the zone index generating module is further configured to:
responding to a zone deleting instruction, retrieving a second target key matched with the unique identification of the target zone in a zone index according to the unique identification of the target zone in the zone deleting instruction, positioning a corresponding second target value according to the second target key, and deleting the second target key and the second target value;
according to the position information of the target zone in the zone deleting instruction, at least one third target key matched with the position information of the target zone is searched in zone and data block index mapping, a corresponding third target value is positioned according to each third target key, a unique identifier of the data block in the third target key is obtained, and the third target key and the third target value are deleted;
and according to the acquired unique identifier of the data block, retrieving a first target key matched with the unique identifier of the acquired data block from the data block index, positioning a corresponding first target value according to the first target key, and deleting the first target key and the first target value.
Optionally, the zone index generating module is further configured to:
traversing the zone index in response to the SMR disk global data determination instruction;
and determining a value corresponding to each key in the traversed zone index to obtain data storage information in each zone.
Optionally, the zone and data block index map generating module is further configured to:
responding to a query instruction of a data block in a zone, and retrieving at least one third target key matched with the position information of the target zone in the zone and data block index mapping according to the position information of the target zone carried in the query instruction;
and positioning a corresponding third target value according to each third target key, and generating a corresponding read data instruction according to the unique identifier of the data block in the third target key.
Optionally, the unique identifier of the data block includes a data block prefix, an identifier of a file where the data block is located, an identifier of an object where the data block is located, and an identifier of the data block, where the data block prefix is used to identify a write status of the data block;
the unique identification of the zone comprises a zone prefix and zone position information, wherein the zone prefix is used for identifying the index type as a zone index.
Optionally, the location information of the data block includes an in-disk offset of the data block and a length of the data block, and the value corresponding to the unique identifier of the data block further includes attribute information of the data block;
the data storage information comprises attribute information of the zone, the position of a write pointer in the zone and the number of data blocks in the zone.
Example 3
Having described the data storage management method and apparatus of an exemplary embodiment of the present application, a device according to another exemplary embodiment of the present application is next described.
As will be appreciated by one skilled in the art, aspects of the present application may be embodied as a system, method or program product. Accordingly, various aspects of the present application may be embodied in the form of: an entirely hardware embodiment, an entirely software embodiment (including firmware, microcode, etc.) or an embodiment combining hardware and software aspects that may all generally be referred to herein as a "circuit," module "or" system.
In some possible embodiments, an apparatus according to the present application may include at least one processor, and at least one memory. Wherein the memory stores program code which, when executed by the processor, causes the processor to perform the steps of the data storage management method according to various exemplary embodiments of the present application described above in the present specification. For example, the processor may perform steps as in a data storage management method:
responding to a data writing instruction, writing a data block into a zone, taking the unique identifier of the data block as a key, taking the position information of the data block as a value, generating a data block index in a key-value form, and writing the data block index into a storage area corresponding to index information in a memory;
when the data volume of the storage area reaches a set threshold value, packaging the data of the storage area into a file and storing the file into the CMR area;
in response to a data reading instruction, retrieving a first target key matched with a target identifier in a data block index according to the target identifier of a target data block in the data reading instruction;
and positioning a corresponding first target value according to the first target key, and reading a target data block according to the position information of the data block in the first target value.
The apparatus 130 according to this embodiment of the present application is described below with reference to fig. 6. The device 130 shown in fig. 6 is only an example and should not bring any limitation to the function and scope of use of the embodiments of the present application.
As shown in fig. 6, the device 130 is in the form of a general purpose device. Components of device 130 may include, but are not limited to: the at least one processor 131, the at least one memory 132, and a bus 133 that connects the various system components (including the memory 132 and the processor 131).
Bus 133 represents one or more of any of several types of bus structures, including a memory bus or memory controller, a peripheral bus, a processor, or a local bus using any of a variety of bus architectures.
The memory 132 may include readable media in the form of volatile memory, such as Random Access Memory (RAM)1321 and/or cache memory 1322, and may further include Read Only Memory (ROM) 1323.
Memory 132 may also include a program/utility 1325 having a set (at least one) of program modules 1324, such program modules 1324 including, but not limited to: an operating system, one or more application programs, other program modules, and program data, each of which, or some combination thereof, may comprise an implementation of a network environment.
Device 130 may also communicate with one or more external devices 134 (e.g., keyboard, pointing device, etc.), with one or more devices that enable a user to interact with device 130, and/or with any devices (e.g., router, modem, etc.) that enable device 130 to communicate with one or more other devices. Such communication may occur via input/output (I/O) interfaces 135. Also, the device 130 may communicate with one or more networks (e.g., a Local Area Network (LAN), a Wide Area Network (WAN) and/or a public network, such as the Internet) via the network adapter 136. As shown, network adapter 136 communicates with other modules for device 130 over bus 133. It should be understood that although not shown in the figures, other hardware and/or software modules may be used in conjunction with device 130, including but not limited to: microcode, device drivers, redundant processors, external disk drive arrays, RAID systems, tape drives, and data backup storage systems, among others.
Optionally, after the processor writes the data block into the zone in response to the write data instruction, the processor is further configured to:
if the zone is not used before the data block is written, taking the unique identification of the zone as a key, taking the current data storage information in the zone as a value, generating a zone index in a key-value form, and writing the zone index into the storage area in the memory;
and if the zone is used before the data block is written, retrieving a second target key matched with the unique identification of the zone from a zone index, positioning a corresponding second target value according to the second target key, and updating the second target value by using the current data storage information of the zone.
Optionally, after the processor writes the data block into the zone in response to the write data instruction, the processor is further configured to:
and taking the position information of the zone and the number of any data block in the zone as keys, taking the unique identifier of the data block as value, generating a zone and data block index mapping in a key-value form, and writing the zone and data block index mapping into the storage area.
Optionally, the processor is further configured to:
responding to a zone deleting instruction, retrieving a second target key matched with the unique identification of the target zone in a zone index according to the unique identification of the target zone in the zone deleting instruction, positioning a corresponding second target value according to the second target key, and deleting the second target key and the second target value;
according to the position information of the target zone in the zone deleting instruction, at least one third target key matched with the position information of the target zone is searched in zone and data block index mapping, a corresponding third target value is positioned according to each third target key, a unique identifier of the data block in the third target key is obtained, and the third target key and the third target value are deleted;
and according to the acquired unique identifier of the data block, retrieving a first target key matched with the unique identifier of the acquired data block from the data block index, positioning a corresponding first target value according to the first target key, and deleting the first target key and the first target value.
Optionally, the processor is further configured to:
traversing the zone index in response to the SMR disk global data determination instruction;
and determining a value corresponding to each key in the traversed zone index to obtain data storage information in each zone.
Optionally, the processor is further configured to:
responding to a query instruction of a data block in a zone, and retrieving at least one third target key matched with the position information of the target zone in the zone and data block index mapping according to the position information of the target zone carried in the query instruction;
and positioning a corresponding third target value according to each third target key, and generating a corresponding read data instruction according to the unique identifier of the data block in the third target key.
Optionally, the unique identifier of the data block includes a data block prefix, an identifier of a file where the data block is located, an identifier of an object where the data block is located, and an identifier of the data block, where the data block prefix is used to identify a write status of the data block;
the unique identification of the zone comprises a zone prefix and zone position information, wherein the zone prefix is used for identifying the index type as a zone index.
Optionally, the location information of the data block includes an in-disk offset of the data block and a length of the data block, and the value corresponding to the unique identifier of the data block further includes attribute information of the data block;
the data storage information comprises attribute information of the zone, the position of a write pointer in the zone and the number of data blocks in the zone.
In some possible embodiments, aspects of a data storage management method provided herein may also be implemented in the form of a program product including program code for causing a computer device to perform the steps of a data storage management method according to various exemplary embodiments of the present application described above in this specification when the program product is run on the computer device.
The program product may employ any combination of one or more readable media. The readable medium may be a readable signal medium or a readable storage medium. A readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination of the foregoing. More specific examples (a non-exhaustive list) of the readable storage medium include: an electrical connection having one or more wires, a portable disk, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
The program product for monitoring of embodiments of the present application may employ a portable compact disc read only memory (CD-ROM) and include program code, and may be run on a device. However, the program product of the present application is not limited thereto, and in this document, a readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
A readable signal medium may include a propagated data signal with readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated data signal may take many forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A readable signal medium may also be any readable medium that is not a readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device.
Program code embodied on a readable medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.
Program code for carrying out operations of the present application may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, C + + or the like and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code may execute entirely on the user device, partly on the user device, as a stand-alone software package, partly on the user device and partly on a remote device, or entirely on the remote device or server. In the case of remote devices, the remote devices may be connected to the user device through any kind of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or may be connected to external devices (e.g., through the internet using an internet service provider).
It should be noted that although several units or sub-units of the apparatus are mentioned in the above detailed description, such division is merely exemplary and not mandatory. Indeed, the features and functions of two or more units described above may be embodied in one unit, according to embodiments of the application. Conversely, the features and functions of one unit described above may be further divided into embodiments by a plurality of units.
Further, while the operations of the methods of the present application are depicted in the drawings in a particular order, this does not require or imply that these operations must be performed in this particular order, or that all of the illustrated operations must be performed, to achieve desirable results. Additionally or alternatively, certain steps may be omitted, multiple steps combined into one step execution, and/or one step broken down into multiple step executions.
As will be appreciated by one skilled in the art, embodiments of the present application may be provided as a method, system, or computer program product. Accordingly, the present application may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present application may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and the like) having computer-usable program code embodied therein.
The present application is described with reference to flowchart illustrations and block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the application. It will be understood that each flow and/or block of the flow diagrams and block diagrams, and combinations of flows and blocks in the flow diagrams and block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart flow or flows and block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and block diagram block or blocks.
While the preferred embodiments of the present application have been described, additional variations and modifications in those embodiments may occur to those skilled in the art once they learn of the basic inventive concepts. Therefore, it is intended that the appended claims be interpreted as including preferred embodiments and all alterations and modifications as fall within the scope of the application.
It will be apparent to those skilled in the art that various changes and modifications may be made in the present application without departing from the spirit and scope of the application. Thus, if such modifications and variations of the present application fall within the scope of the claims of the present application and their equivalents, the present application is intended to include such modifications and variations as well.

Claims (11)

1. A data storage management method is applied to a distributed object storage system based on an SMR disk, and is characterized by comprising the following steps:
responding to a data writing instruction, writing a data block into a zone, taking the unique identifier of the data block as a key, taking the position information of the data block as a value, generating a data block index in a key-value form, and writing the data block index into a storage area corresponding to index information in a memory;
when the data volume of the storage area reaches a set threshold value, packaging the data of the storage area into a file and storing the file into the CMR area;
in response to a data reading instruction, retrieving a first target key matched with a target identifier in a data block index according to the target identifier of a target data block in the data reading instruction;
and positioning a corresponding first target value according to the first target key, and reading a target data block according to the position information of the data block in the first target value.
2. The method of claim 1, wherein after writing the block of data to the zone in response to the write data instruction, further comprising:
if the zone is not used before the data block is written, taking the unique identification of the zone as a key, taking the current data storage information in the zone as a value, generating a zone index in a key-value form, and writing the zone index into the storage area in the memory;
and if the zone is used before the data block is written, retrieving a second target key matched with the unique identification of the zone from a zone index, positioning a corresponding second target value according to the second target key, and updating the second target value by using the current data storage information of the zone.
3. The method of claim 1 or 2, wherein after writing the block of data to the zone in response to the write data instruction, further comprising:
and taking the position information of the zone and the number of any data block in the zone as keys, taking the unique identifier of the data block as value, generating a zone and data block index mapping in a key-value form, and writing the zone and data block index mapping into the storage area.
4. The method of claim 3, further comprising:
responding to a zone deleting instruction, retrieving a second target key matched with the unique identification of the target zone in a zone index according to the unique identification of the target zone in the zone deleting instruction, positioning a corresponding second target value according to the second target key, and deleting the second target key and the second target value;
according to the position information of the target zone in the zone deleting instruction, at least one third target key matched with the position information of the target zone is searched in zone and data block index mapping, a corresponding third target value is positioned according to each third target key, a unique identifier of the data block in the third target key is obtained, and the third target key and the third target value are deleted;
and according to the acquired unique identifier of the data block, retrieving a first target key matched with the unique identifier of the acquired data block from the data block index, positioning a corresponding first target value according to the first target key, and deleting the first target key and the first target value.
5. The method of claim 2, further comprising:
traversing the zone index in response to the SMR disk global data determination instruction;
and determining a value corresponding to each key in the traversed zone index to obtain data storage information in each zone.
6. The method of claim 3, further comprising:
responding to a query instruction of a data block in a zone, and retrieving at least one third target key matched with the position information of the target zone in the zone and data block index mapping according to the position information of the target zone carried in the query instruction;
and positioning a corresponding third target value according to each third target key, and generating a corresponding read data instruction according to the unique identifier of the data block in the third target key.
7. The method of claim 2, wherein the unique identifier of the data block comprises a data block prefix, an identifier of a file in which the data block is located, an identifier of an object in which the data block is located, and an identifier of the data block, wherein the data block prefix is used to identify a writing status of the data block;
the unique identification of the zone comprises a zone prefix and zone position information, wherein the zone prefix is used for identifying the index type as a zone index.
8. The method of claim 3, wherein the location information of the data block comprises an in-disk offset of the data block and a length of the data block, and wherein the value corresponding to the unique identifier of the data block further comprises attribute information of the data block;
the data storage information comprises attribute information of the zone, the position of a write pointer in the zone and the number of data blocks in the zone.
9. A data storage management device is applied to a distributed object storage system based on an SMR disk, and is characterized by comprising:
the data block index generating module is used for responding to a data writing instruction, writing a data block into the zone, taking the unique identifier of the data block as a key, taking the position information of the data block as a value, generating a data block index in a key-value form, and writing the data block index into a storage area corresponding to the index information in the memory; when the data volume of the storage area reaches a set threshold value, packaging the data of the storage area into a file and storing the file into the CMR area;
the data reading module is used for responding to a data reading instruction and retrieving a first target key matched with a target identification in a data block index according to the target identification of a target data block in the data reading instruction; and positioning a corresponding first target value according to the first target key, and reading a target data block according to the position information of the data block in the first target value.
10. A data storage management apparatus comprising a memory, a processor and a computer program stored on the memory and executable on the processor, wherein the processor implements the data storage management method of any one of claims 1 to 8 when executing the computer program.
11. A computer storage medium having a computer program stored thereon, the program, when being executed by a processor, performing the steps of the data storage management method according to any one of claims 1 to 8.
CN202111439238.0A 2021-11-30 2021-11-30 Data storage management method, device and equipment Pending CN114153394A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111439238.0A CN114153394A (en) 2021-11-30 2021-11-30 Data storage management method, device and equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111439238.0A CN114153394A (en) 2021-11-30 2021-11-30 Data storage management method, device and equipment

Publications (1)

Publication Number Publication Date
CN114153394A true CN114153394A (en) 2022-03-08

Family

ID=80454906

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111439238.0A Pending CN114153394A (en) 2021-11-30 2021-11-30 Data storage management method, device and equipment

Country Status (1)

Country Link
CN (1) CN114153394A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116955363A (en) * 2023-09-21 2023-10-27 北京四维纵横数据技术有限公司 Method, device, computer equipment and medium for creating index of modeless data
CN117270789A (en) * 2023-10-25 2023-12-22 苏州元脑智能科技有限公司 Data control method and system based on distributed storage and electronic equipment

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8959281B1 (en) * 2012-11-09 2015-02-17 Western Digital Technologies, Inc. Data management for a storage device
CN105354151A (en) * 2014-08-19 2016-02-24 阿里巴巴集团控股有限公司 Cache management method and device
CN108255408A (en) * 2016-12-28 2018-07-06 中国电信股份有限公司 Date storage method and system
CN110149803A (en) * 2018-08-27 2019-08-20 深圳市锐明技术股份有限公司 Date storage method, system and terminal device
CN111399762A (en) * 2019-11-27 2020-07-10 杭州海康威视系统技术有限公司 Data storage method, device and storage system
CN111506251A (en) * 2019-01-30 2020-08-07 杭州海康威视系统技术有限公司 Data processing method, data processing device, SMR storage system and storage medium
CN113419686A (en) * 2021-07-12 2021-09-21 杭州海康威视数字技术股份有限公司 RAID reconstruction method and device
CN113568582A (en) * 2021-07-30 2021-10-29 重庆紫光华山智安科技有限公司 Data management method and device and storage equipment

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8959281B1 (en) * 2012-11-09 2015-02-17 Western Digital Technologies, Inc. Data management for a storage device
CN105354151A (en) * 2014-08-19 2016-02-24 阿里巴巴集团控股有限公司 Cache management method and device
CN108255408A (en) * 2016-12-28 2018-07-06 中国电信股份有限公司 Date storage method and system
CN110149803A (en) * 2018-08-27 2019-08-20 深圳市锐明技术股份有限公司 Date storage method, system and terminal device
CN111506251A (en) * 2019-01-30 2020-08-07 杭州海康威视系统技术有限公司 Data processing method, data processing device, SMR storage system and storage medium
CN111399762A (en) * 2019-11-27 2020-07-10 杭州海康威视系统技术有限公司 Data storage method, device and storage system
CN113419686A (en) * 2021-07-12 2021-09-21 杭州海康威视数字技术股份有限公司 RAID reconstruction method and device
CN113568582A (en) * 2021-07-30 2021-10-29 重庆紫光华山智安科技有限公司 Data management method and device and storage equipment

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116955363A (en) * 2023-09-21 2023-10-27 北京四维纵横数据技术有限公司 Method, device, computer equipment and medium for creating index of modeless data
CN116955363B (en) * 2023-09-21 2023-12-26 北京四维纵横数据技术有限公司 Method, device, computer equipment and medium for creating index of modeless data
CN117270789A (en) * 2023-10-25 2023-12-22 苏州元脑智能科技有限公司 Data control method and system based on distributed storage and electronic equipment
CN117270789B (en) * 2023-10-25 2024-02-06 苏州元脑智能科技有限公司 Data control method and system based on distributed storage and electronic equipment

Similar Documents

Publication Publication Date Title
CN101258493B (en) System and method for performing a search operation within a sequential access data storage subsystem
US9747317B2 (en) Preserving past states of file system nodes
US9569458B2 (en) Preserving a state using snapshots with selective tuple versioning
US8250033B1 (en) Replication of a data set using differential snapshots
US7574435B2 (en) Hierarchical storage management of metadata
CN1760875B (en) Transparent migration of files among various types of storage volumes based on file access properties
US9021175B2 (en) Method for reordering access to reduce total seek time on tape media
CN109086388B (en) Block chain data storage method, device, equipment and medium
US9996557B2 (en) Database storage system based on optical disk and method using the system
US8959301B2 (en) Accessing data in a storage system
US10671294B2 (en) Recalling files stored on a tape
US7864478B2 (en) Verification of a tape data storage cartridge
US20190213171A1 (en) Directory Deletion Method and Apparatus, and Storage Server
CN104461390A (en) Method and device for writing data into imbricate magnetic recording SMR hard disk
CN114153394A (en) Data storage management method, device and equipment
CN113568582B (en) Data management method, device and storage equipment
WO2018171296A1 (en) File merging method and controller
US8935470B1 (en) Pruning a filemark cache used to cache filemark metadata for virtual tapes
US10620865B2 (en) Writing files to multiple tapes
US11409720B2 (en) Metadata reduction in a distributed storage system
US10891266B2 (en) File handling in a hierarchical storage system
US9875046B2 (en) Tape backup and restore in a disk storage environment with intelligent data placement
US20080270742A1 (en) System and method for storage structure reorganization
US9009430B2 (en) Restoration of data from a backup storage volume
US11803469B2 (en) Storing data in a log-structured format in a two-tier storage system

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination