[go: up one dir, main page]

CN111158606A - Storage method, storage device, computer equipment and storage medium - Google Patents

Storage method, storage device, computer equipment and storage medium Download PDF

Info

Publication number
CN111158606A
CN111158606A CN201911418326.5A CN201911418326A CN111158606A CN 111158606 A CN111158606 A CN 111158606A CN 201911418326 A CN201911418326 A CN 201911418326A CN 111158606 A CN111158606 A CN 111158606A
Authority
CN
China
Prior art keywords
data block
data
offset
read
uploading
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201911418326.5A
Other languages
Chinese (zh)
Other versions
CN111158606B (en
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.)
Scutech Corp
Original Assignee
Scutech Corp
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 Scutech Corp filed Critical Scutech Corp
Priority to CN201911418326.5A priority Critical patent/CN111158606B/en
Publication of CN111158606A publication Critical patent/CN111158606A/en
Application granted granted Critical
Publication of CN111158606B publication Critical patent/CN111158606B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/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
    • 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
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • 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/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]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

The application relates to a storage method, a storage device, a computer device and a storage medium. The method comprises the following steps: acquiring a plurality of data blocks according to an original file; acquiring the data type of each data block, if the data type of the data block is valid data, uploading the data block to a data object corresponding to the data block in an object storage system, and recording first data block information corresponding to the data block in a data block information part in a metadata file; if the data type of the data block is invalid data, stopping uploading the data block to the object storage system, and recording second data block information of the data block in a data block information part in the initial metadata file; and after the uploading of each data block is finished, uploading the metadata file to the object storage system and taking the metadata file as a metadata object. The method can get rid of the limitation of uploading file size in the traditional object storage system.

Description

Storage method, storage device, computer equipment and storage medium
Technical Field
The present application relates to the field of data processing technologies, and in particular, to a storage method, an apparatus, a computer device, and a storage medium.
Background
With the development of computer technology, the application of big data is more and more extensive, but the application of big data is not separated from the support of a large amount of data, and the data needs to be stored for the resource sharing of data by a plurality of platforms, so that the data storage is more challenged in the face of huge data storage requirements.
The object storage has the advantages of mass storage, infinite capacity expansion, quick access, low cost and the like, and is a storage system very suitable for static data. It supports two interfaces for uploading files: normal upload and fragmented upload. The common uploading interface uploads the file content to an object storage server at one time through an HTTP request to generate an object; the fragment uploading interface is used for dividing the file into a plurality of fragments, one fragment at each time, and finally combining the fragments into an object. The common uploading interface has limitation to the size of the file, and the typical maximum size is 5 gigabytes; the fragment upload interface has two limitations: 1) fragment number 2) fragment size, and the combination of these two limitations determines the size of the largest object that can be created and stored using the fragment upload interface, which is typically 5T bytes, in the mainstream public cloud object storage service.
If the file data to be stored is large, for example, when the backup set file generated by the application such as the backup virtual machine and the distributed database is stored, the traditional storage technology cannot meet the corresponding storage requirement because the maximum limit of the storage object is exceeded, and the traditional storage technology cannot support the storage requirement of the sparse file.
Disclosure of Invention
In view of the above, it is necessary to provide a storage method, an apparatus, a computer device, and a storage medium with good timeliness and high accuracy.
In a first aspect, an embodiment of the present invention provides a storage method, where the method includes:
acquiring a plurality of data blocks according to an original file;
acquiring the data type of each data block, if the data type of the data block is valid data, uploading the data block to a data object corresponding to the data block in an object storage system, and recording first data block information corresponding to the data block in a data block information part in a metadata file; the first data block information comprises an effective data block identifier, a data block number, a data block size, a first offset of a data block in the original file, a data object identifier of a corresponding data object and a second offset in the data object; if the data type of the data block is invalid data, stopping uploading the data block to the object storage system, and recording second data block information of the data block in a data block information part in the initial metadata file, wherein the second data block information comprises an invalid data block identifier, a data block number, a data block size and first offset of the data block in the original file;
and after the uploading of each data block is finished, uploading the metadata file to the object storage system and taking the metadata file as a metadata object.
In an embodiment of the present application, the uploading the data block to a data object corresponding to the data block in an object storage system includes:
uploading the data block to a current data object in the object storage system to serve as a fragment of the current data object, and recording the number of fragments of the current data object;
if the fragmentation number of the current data object reaches a preset fragmentation threshold value or the data block is the last data block needing to be uploaded, sending a merging instruction to the object storage system, and acquiring a new initial data object as the current data object; the merging instructions are used for merging the fragments in the current data object into the data object.
In an embodiment of the application, after the uploading of each data block is completed, and before the step of uploading the metadata file to the object storage system and serving as the metadata object, the method further includes:
generating index information corresponding to each data block according to a first offset of each data block in the original file;
and storing the index information corresponding to each data block into an index information part in the metadata file.
In one embodiment of the present application, the method further comprises:
acquiring a reading request for data to be read in the original file, wherein the reading request comprises a starting offset and an ending offset of the data to be read in the original file;
acquiring at least one data block to be read in the metadata file according to the starting offset and the ending offset;
acquiring sub-data to be read in each data block to be read according to the data block information, the starting offset and the ending offset of each data block to be read;
and determining the data to be read according to the subdata to be read in each data block to be read.
In an embodiment of the present application, the obtaining at least one data block to be read in the metadata file according to the starting offset and the ending offset includes:
if the metadata file comprises an index information part, acquiring initial index information corresponding to the initial offset and ending index information corresponding to the ending offset in the index information part, and determining the at least one data block to be read in the index information part according to the initial index information and the ending index information;
if the metadata file does not comprise an index information part, acquiring a first offset and a data block size of each data block in the data block information part, and determining a data block starting offset and a data block ending offset corresponding to each data block; and determining the at least one data block to be read according to the data block starting offset and the data block ending offset corresponding to each data block and the position relation between the starting offset and the ending offset.
In an embodiment of the present application, the obtaining sub-data to be read in each data block to be read according to the data block information of each data block to be read, the starting offset, and the ending offset includes:
acquiring the data type of each data block to be read;
if the data type of the data block to be read is valid data, acquiring a starting point and an ending point of the subdata to be read according to a first offset of the data block to be read, a size of the data block, a first offset of the data block in the original file, a data object identifier of a corresponding data object, a second offset in the data object, the starting offset and the ending offset; acquiring the subdata to be read in a corresponding data object according to the starting point and the ending point of the subdata to be read;
if the data type of the data block to be read is invalid data, obtaining the null value length of the subdata to be read according to the first offset, the data block size, the starting offset and the ending offset of the data block to be read, and generating invalid data corresponding to the null value length to serve as the subdata to be read.
In a second aspect, an embodiment of the present invention provides a storage apparatus, where the apparatus includes:
the data block generating module is used for acquiring a plurality of data blocks according to the original file;
the data block uploading module is used for acquiring the data type of each data block, uploading the data block to a data object corresponding to the data block in an object storage system if the data type of the data block is valid data, and recording first data block information corresponding to the data block in a data block information part in a metadata file; the first data block information comprises an effective data block identifier, a data block number, a data block size, a first offset of a data block in the original file, a data object identifier of a corresponding data object and a second offset in the data object; if the data type of the data block is invalid data, stopping uploading the data block to the object storage system, and recording second data block information of the data block in a data block information part in the initial metadata file, wherein the second data block information comprises an invalid data block identifier, a data block number, a data block size and first offset of the data block in the original file;
and the metadata file uploading module is used for uploading the metadata file to the object storage system after the uploading of each data block is finished and taking the metadata file as a metadata object.
In a third aspect, an embodiment of the present invention provides a computer device, including a memory and a processor, where the memory stores a computer program, and the processor implements the following steps when executing the computer program:
acquiring a plurality of data blocks according to an original file;
acquiring the data type of each data block, if the data type of the data block is valid data, uploading the data block to a data object corresponding to the data block in an object storage system, and recording first data block information corresponding to the data block in a data block information part in a metadata file; the first data block information comprises an effective data block identifier, a data block number, a data block size, a first offset of a data block in the original file, a data object identifier of a corresponding data object and a second offset in the data object; if the data type of the data block is invalid data, stopping uploading the data block to the object storage system, and recording second data block information of the data block in a data block information part in the initial metadata file, wherein the second data block information comprises an invalid data block identifier, a data block number, a data block size and first offset of the data block in the original file;
and after the uploading of each data block is finished, uploading the metadata file to the object storage system and taking the metadata file as a metadata object.
In a fourth aspect, an embodiment of the present invention provides a computer-readable storage medium, on which a computer program is stored, where the computer program, when executed by a processor, implements the following steps:
acquiring a plurality of data blocks according to an original file;
acquiring the data type of each data block, if the data type of the data block is valid data, uploading the data block to a data object corresponding to the data block in an object storage system, and recording first data block information corresponding to the data block in a data block information part in a metadata file; the first data block information comprises an effective data block identifier, a data block number, a data block size, a first offset of a data block in the original file, a data object identifier of a corresponding data object and a second offset in the data object; if the data type of the data block is invalid data, stopping uploading the data block to the object storage system, and recording second data block information of the data block in a data block information part in the initial metadata file, wherein the second data block information comprises an invalid data block identifier, a data block number, a data block size and first offset of the data block in the original file;
and after the uploading of each data block is finished, uploading the metadata file to the object storage system and taking the metadata file as a metadata object.
According to the storage method, the storage device, the computer equipment and the storage medium, a plurality of data blocks are obtained according to the original file; acquiring the data type of each data block, if the data type of the data block is valid data, uploading the data block to a data object corresponding to the data block in an object storage system, and recording first data block information corresponding to the data block in a data block information part in a metadata file; the first data block information comprises an effective data block identifier, a data block number, a data block size, a first offset of the data block in an original file, a data object identifier of a corresponding data object and a second offset in the data object; if the data type of the data block is invalid data, stopping uploading the data block to the object storage system, and recording second data block information of the data block in a data block information part in the initial metadata file, wherein the second data block information comprises an invalid data block identifier, a data block number, a data block size and first offset of the data block in the original file; and after the uploading of each data block is finished, uploading the metadata file to an object storage system and taking the metadata file as a metadata object. According to the storage method provided by the application, the original file is divided into the plurality of data blocks and stored in different data objects, the limitation of the file size in a traditional object storage system is eliminated, the corresponding storage steps are respectively carried out on the effective data blocks and the ineffective data blocks in the original file, the scheme of storing the coefficient file in the object storage system is realized, and the data blocks stored in different data objects can be rapidly and effectively read by generating the metadata object and uploading the metadata object to the object storage system.
Drawings
Fig. 1 is an implementation environment diagram of a storage method provided in an embodiment of the present application;
fig. 2 is a flowchart of a storage method according to an embodiment of the present application;
FIG. 3 is a flow chart of another storage method provided by an embodiment of the present application;
FIG. 4 is a flow chart of another storage method provided by an embodiment of the present application;
FIG. 5 is a flow chart of another storage method provided by an embodiment of the present application;
FIG. 6 is a flow chart of another storage method provided by an embodiment of the present application;
FIG. 7 is a flow chart of another storage method provided by an embodiment of the present application;
FIG. 8 is a block diagram of a memory device according to an embodiment of the present disclosure;
FIG. 9 is a block diagram of another memory device provided by an embodiment of the present application;
fig. 10 is a block diagram of a computer 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 more apparent, the present application is described in further detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative of the present application and are not intended to limit the present application.
The storage method provided by the application can be applied to the application environment shown in fig. 1. Wherein the terminal 102 communicates with the server 104 via a network. The terminal 102 may be, but not limited to, various personal computers, notebook computers, smart phones, tablet computers, and portable wearable devices, and the server 104 may be implemented by an independent server or a server cluster formed by a plurality of servers. The server is provided with an object storage system for storing data uploaded by the terminal 102.
Referring to fig. 2, it shows a storage method provided in this embodiment, which is described by taking the method applied to the terminal in fig. 1 as an example, and includes the following steps:
step 202, obtaining a plurality of data blocks according to the original file.
In an embodiment of the present application, after the terminal receives an upload instruction of an original file from a user, the terminal divides the original file into a plurality of data blocks, and in an embodiment, when the terminal performs a data block partitioning operation on the original file, any one of the partitioning manners may be used, and the size of the plurality of data blocks obtained by partitioning may be the same size or different sizes. While generating each data block, recording a first offset of each data block in the original file and a data block size of each data block, wherein the first offset is used for representing the position of a start byte of the data block in an original element.
In an embodiment of the application, the terminal may divide the data blocks of the original file according to a preset blocking method, where each data block may be uploaded after the terminal completes the blocking operation of all the data blocks of the original file, or each obtained data block may be uploaded to the object storage system when each data block is obtained. Specifically, the original file may include a common file type and a data stream type, when the original file is of the common file type, the terminal may predict file information of the original file, the file information may include a file size and a file composition, and the terminal may perform block processing on the original file according to the file information. When the original file is of a data stream type, file information of the original file cannot be acquired before data reading is completed, and the start and the end of the data stream are judged only through an end symbol of the data stream or other control modes.
In an embodiment of the present application, if there is a portion of blank data in the original file, that is, the original file is a sparse file, the continuous blank data in the original file may be divided into one data block, and the size of the data block is the length of the continuous blank data. For example, if the original file includes 1000 bytes in total, where the 100 th byte to the 300 th byte in the original file are blank data, the 100 th byte to the 300 th byte may be divided into the same data block, and the size of the data block is 201 bytes.
Step 204, acquiring the data type of each data block, if the data type of the data block is valid data, uploading the data block to a data object corresponding to the data block in an object storage system, and recording first data block information corresponding to the data block in a data block information part in a metadata file; the first data block information comprises a data block number, a data block size, a first offset of the data block in an original file, a data object identifier of a corresponding data object and a second offset in the data object; and if the data type of the data block is invalid data, stopping uploading the data block to the object storage system, and recording second data block information of the data block in a data block information part in the initial metadata file, wherein the second data block information comprises a data block number, a data block size and a first offset of the data block in the initial file.
In an embodiment of the present application, when the terminal obtains each data block, the terminal performs a corresponding storage operation according to a data type of each data block. Specifically, the data type of the data block may include valid data and invalid data, where if a real (non-empty) byte exists in the data block, the data type of the data block is valid data; and if all bytes in the data block are empty bytes, the data type of the data block is invalid data.
In an embodiment of the present application, if the data type of the data block is valid data, the data block is uploaded to a data object corresponding to the data block in an object storage system using a fragment upload interface, and in an upload process, if the upload operation of the data block is completed, the data block and first data block information corresponding to the data block are recorded in a data block information portion in a preset metadata file. When the data block is recorded, generating a data block number of the data block according to the uploading sequence of the data block, and storing the data block number into first data block information corresponding to the data block in a data information part; when data block information corresponding to the data block is recorded, obtaining a data object identifier of the data object corresponding to the data block and a second offset in the data object according to the data object uploaded by the data block and the position of the data block in the data object, and storing the data object identifier and the second offset in the data object into first data block information corresponding to the data block in a data information part; meanwhile, the data block size of the data block and the first offset of the data block in the original file are recorded in the first data block information corresponding to the data block in the data block information part in the metadata file, and specifically, the second offset is used for representing the position of the starting byte of the data block in the data object.
In an embodiment of the present application, the terminal may upload a plurality of data blocks to corresponding data objects in the object storage system at the same time, for example, three data blocks a, b, and c exist, and a data object 1 corresponding to the data block a, a data object 2 corresponding to the data block b, and a data object 3 corresponding to the data block c exist in the object storage system. At the same time, the terminal can respectively upload three data blocks a, b and c to the corresponding data object 1, data object 2 and data object 3 through a plurality of threads, if the uploading completion sequence is b, a and c, and the number of the data block corresponding to b is m, the number of the data block corresponding to a is m +1, and the number of the data block corresponding to c is m + 2. For a data block b, when the data block b is completely uploaded to a corresponding data object 2, the data block b and corresponding first data block information thereof are recorded in a data block information part of a metadata file of the terminal, wherein the first data block information comprises a data block number m, the size of the data block b, a first offset of the data block b in an original file, a data object identifier of the data object 2, and a second offset of the data block b in the data object 2.
Sparse files (sparse files) are computer files that attempt to more efficiently use the space of a file system when the contents of the file are mostly empty. The principle is that, instead of storing empty data blocks on a disk by occupying real space, only real (non-empty) data blocks are written to the disk as they are, with short information (metadata) representing the empty data blocks. When the data is stored in the object storage system, complete file data or fragment data is needed, and storage of empty data blocks in the data object is not supported, in actual use, a loose file is stored in the object storage system, and NULL (0) is needed to fill the empty data blocks in the file, which wastes a large amount of actual storage space and transmission bandwidth. Therefore, in an embodiment of the present application, when the terminal determines that the data type of the data block is invalid data, that is, all bytes in the data block are invalid data, the data block is not uploaded to the object storage system, and meanwhile, the terminal records the data block and second data block information corresponding to the data block in the metadata file, where the second data block information does not store a first offset of the data block in an original file, a data object identifier of a corresponding data object, and a second offset in the data object, compared to first data block information corresponding to valid data.
In an embodiment of the present application, the second data block information corresponding to the data block of which the data type is invalid data is stored in the metadata file, and in the process of reading the data block, the data block can be accurately restored by reading the second data block information corresponding to the data block in the metadata file in the metadata object.
And step 206, after the uploading of each data block is finished, uploading the metadata file to the object storage system and taking the metadata file as a metadata object.
In an embodiment of the application, after the terminal completes the uploading operation of all the data blocks corresponding to the original file, the metadata file also includes all the data blocks and first data block information corresponding to each data block. The terminal uploads the metadata file including all the data blocks and the corresponding first data block information to the object storage system to generate a corresponding metadata object, and at the moment, the metadata object and at least one data object corresponding to the original file are already stored in the remote object storage system, and uploading and storage are completed.
In an embodiment of the present application, the metadata file further includes an attribute information part, where the attribute information part is configured to store a file attribute of the original file, and specifically, the file attribute may include attributes of a file size, a generation time, a modification time, an owner, and the like of the original file, and optionally, the attribute information part is further configured to store a uniform prefix of a plurality of data objects used by the original file, and a storage offset of the data block information part in the metadata file.
In the storage method provided by the embodiment of the application, a plurality of data blocks are obtained according to an original file; acquiring the data type of each data block, if the data type of the data block is valid data, uploading the data block to a data object corresponding to the data block in an object storage system, and recording first data block information corresponding to the data block in a data block information part in a metadata file; the first data block information comprises a data block number, a data block size, a first offset of the data block in an original file, a data object identifier of a corresponding data object and a second offset in the data object; and after the uploading of each data block is finished, uploading the metadata file to an object storage system and taking the metadata file as a metadata object. According to the storage method provided by the application, the original file is divided into the plurality of data blocks and stored in different data objects, the limitation of the file size in the traditional object storage system is eliminated, and the data blocks stored in different data objects can be rapidly and effectively read by generating the metadata object and uploading the metadata object to the object storage system.
Referring to fig. 3, a flow chart of another storage method provided by the present embodiment is shown, which can be applied to the terminal 102 in the implementation environment described above. On the basis of the embodiment shown in fig. 2, the step 202 may specifically include the following steps:
step 302, uploading the data block to the current data object in the object storage system as the fragment of the current data object, and recording the number of fragments of the current data object.
In an embodiment of the present application, when a first data block needs to be uploaded to the object storage system, the terminal may start a new initial data object through the fragment upload interface, that is, the object storage system may assign a unique identifier of the initial data object to the terminal, where the unique identifier may represent a position of the initial data object in the object storage system, and the initial data object is empty and does not include any fragment. The terminal generates a corresponding data object name according to the initial data object set by the user, takes the initial data object as a current data object, uploads a data block to be uploaded to the current data object as a fragment of the data object when uploading the data block, and records the fragment number of the current data object.
Step 304, if the number of fragments of the current data object reaches a preset fragmentation threshold value or the data block is the last data block to be uploaded, sending a merging instruction to an object storage system, and acquiring a new initial data object as the current data object; the merge instruction is to merge the slices in the current data object into a data object.
In an embodiment of the present application, if after a data block is uploaded, the number of fragments of the current data object reaches a preset fragmentation threshold, at this time, it indicates that the current data object cannot store a newly uploaded data block. The object storage system reassigns a new initial data object to the terminal as the current data object to receive the new data block. In a further embodiment, after the number of slices of the current data object has reached the preset slice threshold, a merge instruction for the current data object is sent to an object storage system, and the object storage system merges the slices in the current data object into a final data object according to the merge instruction.
In an embodiment of the present application, if the uploaded data block is the last data block that needs to be uploaded, that is, after the uploading operation of the data block is completed, when no other data block needs to be uploaded, the terminal sends a merge instruction for the current data object to the object storage system, and the object storage system merges the fragments in the current data object into a final data object according to the merge instruction. In a specific embodiment, if there are three data blocks a, b, and c that have not yet been uploaded, the uploading step of the data block a to the corresponding data object 1 and the uploading step of the data block b to the corresponding data object 2 are being executed at one time point, and then when the data block a completes the uploading process, there are data blocks c that need to be uploaded, when the number of fragments in the data object 1 does not reach the preset fragmentation threshold value, the terminal will continue to perform the uploading operation of uploading the data block c to the data object 1, and then when the data block b completes the uploading process, no data block needs to be uploaded, therefore, the terminal sends a merge instruction to the data object 2, so that the object storage system merges the fragments in the data object 2, and similarly, after the data block c completes the uploading process, the terminal sends a merge instruction to the data object 1.
In the storage method provided by the embodiment of the application, the data block is uploaded to the current data object in the object storage system to serve as the fragment of the current data object, and the number of fragments of the current data object is recorded; if the fragmentation number of the current data object reaches a preset fragmentation threshold value or the data block is the last data block needing to be uploaded, sending a merging instruction to the object storage system, and acquiring a new initial data object as the current data object; the merging instructions are used for merging the fragments in the current data object into the data object. According to the storage method provided by the embodiment of the application, after the preset fragmentation threshold corresponding to the data object is reached, the data block is continuously uploaded to the new data object, so that the size limit of the original file to be stored is removed while the existing object storage rule is met.
Referring to fig. 4, a flowchart of another storage method provided in this embodiment is shown, which can be applied to the terminal 102 in the above implementation environment. On the basis of the above embodiment, the method may further include the steps of:
step 402, generating index information corresponding to each data block according to a first offset of each data block in the original file.
In an embodiment of the present application, before uploading the metadata file to the object storage system, a first offset of each data block in the original file may be further obtained, and index information corresponding to each data block is generated according to an order of each first offset in the original file. The index information includes a relative order of the data blocks in the original file and a first offset corresponding to each data block. In a specific embodiment, if there are three data blocks a, b, and c, where the first offset corresponding to the data block a is the 50 th byte, the first offset corresponding to the data block b is the 0 th byte, and the first offset corresponding to the data block c is the 150 th byte, the data blocks may be sorted according to the order of the first offsets, and the sorting result is b, a, and c, and then the index information corresponding to the data blocks a, b, and c may be generated as 2, 1, and 3.
In step 404, the index information corresponding to each data block is stored in the index information section of the metadata file.
In one embodiment of the present application, after the index information corresponding to each data block is obtained, the index information corresponding to each data block is recorded and stored in the index information section of the metadata file.
In one embodiment of the present application, after the index information part is generated in the metadata file, the storage offset of the index information part in the metadata file may be further recorded in the attribute information part of the metadata file.
In the storage method provided by the embodiment of the application, index information corresponding to each data block is generated according to a first offset of each data block in the original file; and storing the index information corresponding to each data block into an index information part in the metadata file. According to the storage method provided by the embodiment of the application, since the index information part in the metadata file stores the index information of each data block, namely the storage sequence of each data block in the original file is stored, when each data block is read, the corresponding original file can be quickly restored through the index information of each data block, and the reading efficiency of the file is improved.
Referring to fig. 5, a flow chart of another storage method provided by the present embodiment is shown, which can be applied to the terminal 102 in the implementation environment described above. On the basis of the embodiment shown in fig. 2, the method may further include the following steps:
step 502, a read request for data to be read in an original file is obtained, where the read request includes a start offset and an end offset of the data to be read in the original file.
In an embodiment of the present application, after the terminal uploads the original file to the object storage system, a metadata object and at least one data object corresponding to the original file are formed. If a reading request of a user for the original file is received, extracting a starting offset and an ending offset of data to be read in the original file in the reading request, wherein the starting offset is the position of a starting byte of the data to be read in the original file, and the ending offset is the position of an ending byte of the data to be read in the original file. The data to be read can be intercepted in the original file through the starting offset and the ending offset.
Step 504, at least one data block to be read is obtained from the metadata file according to the starting offset and the ending offset.
In an embodiment of the present application, a terminal may first search locally whether a metadata file corresponding to the original file exists, and if the metadata file exists locally, determine at least one data block to be read that needs to be acquired according to a data block information portion or an index information portion in the metadata file, that is, at least one data block to be read that corresponds to the data to be read.
In an embodiment of the present application, if the terminal does not find the metadata file corresponding to the original file locally, accessing the metadata object corresponding to the original file in the object storage system, and obtaining the data block information portion according to the storage offset of the data block information portion in the attribute information portion in the metadata object; or the index information part is acquired according to the storage offset of the index information part in the attribute information part in the metadata object.
Referring to fig. 6, a flow chart of another storage method provided by the present embodiment is shown, which can be applied to the terminal 102 in the implementation environment described above. On the basis of the embodiment shown in fig. 5, the step 504 may specifically include the following steps:
step 602, if the metadata file includes an index information portion, obtaining start index information corresponding to the start offset and end index information corresponding to the end offset in the index information portion, and determining at least one data block to be read in the index information portion according to the start index information and the end index information.
In an embodiment of the present application, when the metadata file includes an index information portion, a start data block corresponding to the start offset and an end data block corresponding to the end offset may be determined according to a first offset of each data block in the index information portion, start index information corresponding to the start data block and end index information corresponding to the end data block are obtained, and at least one data block to be read is determined in the index information portion according to the start index information and the end index information.
In a specific embodiment, if there are 8 data blocks a to h, the corresponding index information may be represented as 1 to 8, where a first offset corresponding to the b data block is a 30 th byte, a first offset corresponding to the c data block is a 40 th byte, a first offset corresponding to the f data block is a 210 th byte, a first offset corresponding to the g data block is a 240 th byte, at this time, a start offset is a 36 th byte, an end offset is a 230 th byte, the start data block is a b data block, corresponding start index information is 2, the end data block is an f data block, and corresponding end index information is 6, and according to the start index information 2 and the end index information 6, the index information of at least one data block to be read is 2 to 6, that is, the data blocks to be read are b to f.
Step 604, if the metadata file does not include the index information portion, obtaining a first offset and a data block size of each data block in the data block information portion, and determining a data block start offset and a data block end offset corresponding to each data block; and determining at least one data block to be read according to the data block starting offset and the data block ending offset corresponding to each data block and the position relation between the starting offset and the ending offset.
In one embodiment of the present application, if the metadata file does not include the index information portion, the first offset and the data block size of each data block may be obtained in the data block information portion of the metadata file according to the first offset B of each data blockoffAnd a data block size L, which can determine the data block start offset B of each data block in the original fileoffAnd ending offset (B)off+ L) and determining the starting offset R of the file to be readsAnd ending offset ReDetermine [ B ] corresponding to each data blockoff,Boff+L]And [ R ]s,Re]And judging whether an intersection exists or not, and if so, judging the data block as a data block to be read.
Step 506, according to the data block information, the start offset and the end offset of each data block to be read, the sub data to be read in each data block to be read is obtained.
Referring to fig. 7, a flowchart of another storage method provided in this embodiment is shown, which can be applied to the terminal 102 in the above implementation environment. On the basis of the embodiment shown in fig. 5, the step 506 may specifically include the following steps:
step 702, the data type of each data block to be read is obtained.
Step 704, if the data type of the data block to be read is valid data, acquiring a start point and an end point of the sub data to be read according to a first offset of the data block to be read, a size of the data block, a first offset of the data block in an original file, a data object identifier of a corresponding data object, and a second offset, a start offset and an end offset in the data object; and obtaining the subdata to be read in the corresponding data object according to the starting and ending point of the subdata to be read.
In an embodiment of the present application, when the data block to be read is valid data, a first offset B of the data block to be read is obtainedoffData block size L, second offset in data object SoffThe initial offset R of the data to be read in the original filesEnd offset is ReThe starting point S and the end point E for calculating the read data from the data object are formulated as:
Figure BDA0002351738240000181
Figure BDA0002351738240000182
and according to the obtained start and end points SE, obtaining the sub data to be read corresponding to each data block to be read from the data object corresponding to the data object identification.
Step 706, if the data type of the data block to be read is invalid data, obtaining the null length of the sub-data to be read according to the first offset, the size of the data block, the starting offset and the ending offset of the data block to be read, and generating invalid data corresponding to the null length as the sub-data to be read.
And step 508, determining the data to be read according to the sub-data to be read in each data block to be read.
In an embodiment of the present application, an arrangement order of sub-data to be read in each data block to be read is determined according to the first offset of each data block to be read, and the sub-data to be read can be merged into the data to be read according to the arrangement order.
In the storage method provided by the embodiment of the application, a reading request for data to be read in the original file is acquired, wherein the reading request comprises a starting offset and an ending offset of the data to be read in the original file; acquiring at least one data block to be read in the metadata file according to the starting offset and the ending offset; acquiring sub-data to be read in each data block to be read according to the data block information of each data block to be read, the starting offset and the ending offset; and determining the data to be read according to the subdata to be read in each data block to be read. According to the storage method provided by the embodiment of the application, the corresponding data block to be read can be obtained in the object storage system according to the starting offset and the ending offset corresponding to the data to be read, and the data to be read can be obtained according to each data block to be read, so that the data reading speed and stability are improved.
It should be understood that, although the steps in the above-described flowcharts are shown in order as indicated by the arrows, the steps are not necessarily performed in order as indicated by the arrows. The steps are not performed in the exact order shown and described, and may be performed in other orders, unless explicitly stated otherwise. Moreover, at least a portion of the steps in the above-described flowcharts may include multiple sub-steps or multiple stages, which are not necessarily performed at the same time, but may be performed at different times, and the order of performing the sub-steps or the stages is not necessarily sequential, but may be performed alternately or alternatingly with other steps or at least a portion of the sub-steps or stages of other steps.
Referring to fig. 8, a block diagram of a memory device 800 according to an embodiment of the present application is shown. As shown in fig. 8, the storage device 800 may include: a data block generation module 801, a data block uploading module 802, and a metadata file uploading module 803, wherein:
the data block generating module 801 is configured to obtain a plurality of data blocks according to an original file;
the data block uploading module 802 is configured to acquire a data type of each data block, upload the data block to a data object corresponding to the data block in an object storage system if the data type of the data block is valid data, and record first data block information corresponding to the data block in a data block information portion in a metadata file; the first data block information comprises an effective data block identifier, a data block number, a data block size, a first offset of a data block in the original file, a data object identifier of a corresponding data object and a second offset in the data object; if the data type of the data block is invalid data, stopping uploading the data block to the object storage system, and recording second data block information of the data block in a data block information part in the initial metadata file, wherein the second data block information comprises an invalid data block identifier, a data block number, a data block size and first offset of the data block in the original file;
the metadata file uploading module 803 is configured to upload the metadata file to the object storage system after the uploading of each data block is completed, and use the metadata file as a metadata object.
In an embodiment of the present application, the data block uploading module 802 is specifically configured to:
uploading the data blocks to a current data object in an object storage system, taking the data blocks as fragments of the current data object, and recording the number of the fragments of the current data object;
if the number of fragments of the current data object reaches a preset fragmentation threshold value or the data block is the last data block to be uploaded, sending a merging instruction to an object storage system, and acquiring a new initial data object as the current data object; the merge instruction is to merge the slices in the current data object into a data object.
Referring to fig. 9, a block diagram of a memory device 900 according to an embodiment of the present application is shown. As shown in fig. 9, the storage apparatus 900 may include, in addition to the modules included in the storage apparatus 800, optionally: an index information generating module 804 and a reading module 805. Wherein:
the index information generating module 804 is configured to generate index information corresponding to each data block according to a first offset of each data block in an original file; and storing the index information corresponding to each data block into an index information part in the metadata file.
The reading module 805 is configured to obtain a reading request for data to be read in an original file, where the reading request includes a start offset and an end offset of the data to be read in the original file; acquiring at least one data block to be read in the metadata file according to the starting offset and the ending offset; acquiring sub data to be read in each data block to be read according to the data block information, the initial offset and the end offset of each data block to be read; and determining the data to be read according to the subdata to be read in each data block to be read.
In an embodiment of the present application, the reading module 805 is further specifically configured to:
if the metadata file comprises an index information part, acquiring initial index information corresponding to the initial offset and ending index information corresponding to the ending offset in the index information part, and determining at least one data block to be read in the index information part according to the initial index information and the ending index information;
if the metadata file does not comprise an index information part, acquiring a first offset and a data block size of each data block in a data block information part, and determining a data block starting offset and a data block ending offset corresponding to each data block; and determining at least one data block to be read according to the data block starting offset and the data block ending offset corresponding to each data block and the position relation between the starting offset and the ending offset.
In an embodiment of the present application, the reading module 805 is further specifically configured to:
acquiring the data type of each data block to be read;
if the data type of the data block to be read is valid data, acquiring a starting point and an ending point of subdata to be read according to a first offset of the data block to be read, the size of the data block, a first offset of the data block in an original file, a data object identifier of a corresponding data object, a second offset, a starting offset and an ending offset in the data object; acquiring subdata to be read in a corresponding data object according to the starting and ending points of the subdata to be read;
if the data type of the data block to be read is invalid data, obtaining the null value length of the subdata to be read according to the first offset, the size of the data block, the initial offset and the ending offset of the data block to be read, and generating invalid data corresponding to the null value length to serve as the subdata to be read.
For the specific definition of the storage device, reference may be made to the above definition of the storage method, which is not described herein again. The modules in the storage device can be implemented in whole or in part by software, hardware and a combination thereof. The modules can be embedded in a hardware form or independent from a processor in the computer device, and can also be stored in a memory in the computer device in a software form, so that the processor can call and execute operations corresponding to the modules.
In one embodiment, a computer device is provided, which may be a terminal, and its internal structure diagram may be as shown in fig. 10. The computer device includes a processor, a memory, a network interface, a display screen, and an input device connected by a system bus. Wherein the processor of the computer device is configured to provide computing and control capabilities. The memory of the computer device comprises a nonvolatile storage medium and an internal memory. The non-volatile storage medium stores an operating system and a computer program. The internal memory provides an environment for the operation of an operating system and computer programs in the non-volatile storage medium. The network interface of the computer device is used for communicating with an external terminal through a network connection. The computer program is executed by a processor to implement a storage method. The display screen of the computer equipment can be a liquid crystal display screen or an electronic ink display screen, and the input device of the computer equipment can be a touch layer covered on the display screen, a key, a track ball or a touch pad arranged on the shell of the computer equipment, an external keyboard, a touch pad or a mouse and the like.
Those skilled in the art will appreciate that the architecture shown in fig. 10 is merely a block diagram of some of the structures associated with the disclosed aspects and is not intended to limit the computing devices to which the disclosed aspects apply, as particular computing devices may include more or less components than those shown, or may combine certain components, or have a different arrangement of components.
In one embodiment, a computer device is provided, comprising a memory and a processor, the memory having a computer program stored therein, the processor implementing the following steps when executing the computer program:
acquiring a plurality of data blocks according to an original file;
acquiring the data type of each data block, if the data type of the data block is valid data, uploading the data block to a data object corresponding to the data block in an object storage system, and recording first data block information corresponding to the data block in a data block information part in a metadata file; the first data block information comprises an effective data block identifier, a data block number, a data block size, a first offset of a data block in the original file, a data object identifier of a corresponding data object and a second offset in the data object; if the data type of the data block is invalid data, stopping uploading the data block to the object storage system, and recording second data block information of the data block in a data block information part in the initial metadata file, wherein the second data block information comprises an invalid data block identifier, a data block number, a data block size and first offset of the data block in the original file;
and after the uploading of each data block is finished, uploading the metadata file to an object storage system and taking the metadata file as a metadata object.
In one embodiment, a computer-readable storage medium is provided, having a computer program stored thereon, which when executed by a processor, performs the steps of:
acquiring a plurality of data blocks according to an original file;
acquiring the data type of each data block, if the data type of the data block is valid data, uploading the data block to a data object corresponding to the data block in an object storage system, and recording first data block information corresponding to the data block in a data block information part in a metadata file; the first data block information comprises an effective data block identifier, a data block number, a data block size, a first offset of a data block in the original file, a data object identifier of a corresponding data object and a second offset in the data object; if the data type of the data block is invalid data, stopping uploading the data block to the object storage system, and recording second data block information of the data block in a data block information part in the initial metadata file, wherein the second data block information comprises an invalid data block identifier, a data block number, a data block size and first offset of the data block in the original file;
and after the uploading of each data block is finished, uploading the metadata file to an object storage system and taking the metadata file as a metadata object.
It will be understood by those skilled in the art that all or part of the processes of the methods of the embodiments described above can be implemented by hardware instructions of a computer program, which can be stored in a non-volatile computer-readable storage medium, and when executed, can include the processes of the embodiments of the methods described above. Any reference to memory, storage, database, or other medium used in the embodiments provided herein may include non-volatile and/or volatile memory, among others. Non-volatile memory can include read-only memory (ROM), Programmable ROM (PROM), Electrically Programmable ROM (EPROM), Electrically Erasable Programmable ROM (EEPROM), or flash memory. Volatile memory can include Random Access Memory (RAM) or external cache memory. By way of illustration and not limitation, RAM is available in a variety of forms such as Static RAM (SRAM), Dynamic RAM (DRAM), Synchronous DRAM (SDRAM), Double Data Rate SDRAM (DDRSDRAM), Enhanced SDRAM (ESDRAM), Synchronous Link DRAM (SLDRAM), Rambus Direct RAM (RDRAM), direct bus dynamic RAM (DRDRAM), and memory bus dynamic RAM (RDRAM).
The technical features of the above embodiments can be arbitrarily combined, and for the sake of brevity, all possible combinations of the technical features in the above embodiments are not described, but should be considered as the scope of the present specification as long as there is no contradiction between the combinations of the technical features.
The above-mentioned embodiments only express several embodiments of the present application, and the description thereof is more specific and detailed, but not construed as limiting the scope of the invention. It should be noted that, for a person skilled in the art, several variations and modifications can be made without departing from the concept of the present application, which falls within the scope of protection of the present application. Therefore, the protection scope of the present patent shall be subject to the appended claims.

Claims (10)

1. A method of storage, the method comprising:
acquiring a plurality of data blocks according to an original file;
acquiring the data type of each data block, if the data type of the data block is valid data, uploading the data block to a data object corresponding to the data block in an object storage system, and recording first data block information corresponding to the data block in a data block information part in a metadata file; the first data block information comprises an effective data block identifier, a data block number, a data block size, a first offset of a data block in the original file, a data object identifier of a corresponding data object and a second offset in the data object; if the data type of the data block is invalid data, stopping uploading the data block to the object storage system, and recording second data block information of the data block in a data block information part in the initial metadata file, wherein the second data block information comprises an invalid data block identifier, a data block number, a data block size and first offset of the data block in the original file; and after the uploading of each data block is finished, uploading the metadata file to the object storage system and taking the metadata file as a metadata object.
2. The method of claim 1, wherein uploading the data block into a data object corresponding to the data block in an object storage system comprises:
uploading the data block to a current data object in the object storage system to serve as a fragment of the current data object, and recording the number of fragments of the current data object;
if the fragmentation number of the current data object reaches a preset fragmentation threshold value or the data block is the last data block needing to be uploaded, sending a merging instruction to the object storage system, and acquiring a new initial data object as the current data object; the merging instructions are used for merging the fragments in the current data object into the data object.
3. The method of any of claims 1-2, wherein after the uploading of each of the data blocks is complete and before the uploading of the metadata file to the object storage system as a metadata object, the method further comprises:
generating index information corresponding to each data block according to a first offset of each data block in the original file;
and storing the index information corresponding to each data block into an index information part in the metadata file.
4. The method of claim 3, further comprising:
acquiring a reading request for data to be read in the original file, wherein the reading request comprises a starting offset and an ending offset of the data to be read in the original file;
acquiring at least one data block to be read in the metadata file according to the starting offset and the ending offset;
acquiring sub-data to be read in each data block to be read according to the data block information, the starting offset and the ending offset of each data block to be read;
and determining the data to be read according to the subdata to be read in each data block to be read.
5. The method according to claim 4, wherein the obtaining at least one data block to be read in the metadata file according to the start offset and the end offset comprises:
if the metadata file comprises an index information part, acquiring initial index information corresponding to the initial offset and ending index information corresponding to the ending offset in the index information part, and determining the at least one data block to be read in the index information part according to the initial index information and the ending index information.
6. The method according to claim 5, wherein the obtaining at least one data block to be read in the metadata file according to the start offset and the end offset comprises:
if the metadata file does not comprise an index information part, acquiring a first offset and a data block size of each data block in the data block information part, and determining a data block starting offset and a data block ending offset corresponding to each data block; and determining the at least one data block to be read according to the data block starting offset and the data block ending offset corresponding to each data block and the position relation between the starting offset and the ending offset.
7. The method of claim 5, wherein the obtaining the sub-data to be read in each data block to be read according to the data block information of each data block to be read, the start offset, and the end offset comprises:
acquiring the data type of each data block to be read;
if the data type of the data block to be read is valid data, acquiring a starting point and an ending point of the subdata to be read according to a first offset of the data block to be read, a size of the data block, a first offset of the data block in the original file, a data object identifier of a corresponding data object, a second offset in the data object, the starting offset and the ending offset; acquiring the subdata to be read in a corresponding data object according to the starting point and the ending point of the subdata to be read;
if the data type of the data block to be read is invalid data, obtaining the null value length of the subdata to be read according to the first offset, the data block size, the starting offset and the ending offset of the data block to be read, and generating invalid data corresponding to the null value length to serve as the subdata to be read.
8. A storage device, the device comprising:
the data block generating module is used for acquiring a plurality of data blocks according to the original file;
the data block uploading module is used for acquiring the data type of each data block, uploading the data block to a data object corresponding to the data block in an object storage system if the data type of the data block is valid data, and recording first data block information corresponding to the data block in a data block information part in a metadata file; the first data block information comprises an effective data block identifier, a data block number, a data block size, a first offset of a data block in the original file, a data object identifier of a corresponding data object and a second offset in the data object; if the data type of the data block is invalid data, stopping uploading the data block to the object storage system, and recording second data block information of the data block in a data block information part in the initial metadata file, wherein the second data block information comprises an invalid data block identifier, a data block number, a data block size and first offset of the data block in the original file;
and the metadata file uploading module is used for uploading the metadata file to the object storage system after the uploading of each data block is finished and taking the metadata file as a metadata object.
9. A computer device comprising a memory and a processor, the memory storing a computer program, wherein the processor implements the steps of the method of any one of claims 1 to 7 when executing the computer program.
10. A computer-readable storage medium, on which a computer program is stored, which, when being executed by a processor, carries out the steps of the method of any one of claims 1 to 7.
CN201911418326.5A 2019-12-31 2019-12-31 Storage method, storage device, computer equipment and storage medium Active CN111158606B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911418326.5A CN111158606B (en) 2019-12-31 2019-12-31 Storage method, storage device, computer equipment and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911418326.5A CN111158606B (en) 2019-12-31 2019-12-31 Storage method, storage device, computer equipment and storage medium

Publications (2)

Publication Number Publication Date
CN111158606A true CN111158606A (en) 2020-05-15
CN111158606B CN111158606B (en) 2020-11-03

Family

ID=70560455

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911418326.5A Active CN111158606B (en) 2019-12-31 2019-12-31 Storage method, storage device, computer equipment and storage medium

Country Status (1)

Country Link
CN (1) CN111158606B (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113381995A (en) * 2021-06-08 2021-09-10 珠海格力电器股份有限公司 Data processing method and device, electronic equipment and storage medium
CN114630192A (en) * 2022-03-16 2022-06-14 深圳法政信息技术有限公司 A video recording method
CN115328858A (en) * 2022-08-19 2022-11-11 济南浪潮数据技术有限公司 Fragment uploading method, device and medium of distributed storage system

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1595523A (en) * 2003-09-12 2005-03-16 联想(北京)有限公司 A disk storage method
CN103118089A (en) * 2013-01-22 2013-05-22 华中科技大学 Safe storage method based on a plurality of cloud storage systems and system thereof
US20140089264A1 (en) * 2012-09-24 2014-03-27 Fusion-Io, Inc. Snapshots for a non-volatile device
CN103744875A (en) * 2013-12-19 2014-04-23 记忆科技(深圳)有限公司 Data rapid transferring method and system based on file system
CN104462141A (en) * 2013-09-24 2015-03-25 中国移动通信集团重庆有限公司 Data storage and query method and system and storage engine device
CN105612491A (en) * 2013-09-16 2016-05-25 网络装置公司 Management of extent based metadata with dense tree structures within a distributed storage architecture
CN106657213A (en) * 2016-09-14 2017-05-10 深圳峰创智诚科技有限公司 File transmission method and device
CN107872489A (en) * 2016-09-28 2018-04-03 杭州海康威视数字技术股份有限公司 A kind of file section method for uploading, device and cloud storage system

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1595523A (en) * 2003-09-12 2005-03-16 联想(北京)有限公司 A disk storage method
US20140089264A1 (en) * 2012-09-24 2014-03-27 Fusion-Io, Inc. Snapshots for a non-volatile device
CN103118089A (en) * 2013-01-22 2013-05-22 华中科技大学 Safe storage method based on a plurality of cloud storage systems and system thereof
CN105612491A (en) * 2013-09-16 2016-05-25 网络装置公司 Management of extent based metadata with dense tree structures within a distributed storage architecture
CN104462141A (en) * 2013-09-24 2015-03-25 中国移动通信集团重庆有限公司 Data storage and query method and system and storage engine device
CN103744875A (en) * 2013-12-19 2014-04-23 记忆科技(深圳)有限公司 Data rapid transferring method and system based on file system
CN106657213A (en) * 2016-09-14 2017-05-10 深圳峰创智诚科技有限公司 File transmission method and device
CN107872489A (en) * 2016-09-28 2018-04-03 杭州海康威视数字技术股份有限公司 A kind of file section method for uploading, device and cloud storage system

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113381995A (en) * 2021-06-08 2021-09-10 珠海格力电器股份有限公司 Data processing method and device, electronic equipment and storage medium
CN114630192A (en) * 2022-03-16 2022-06-14 深圳法政信息技术有限公司 A video recording method
CN115328858A (en) * 2022-08-19 2022-11-11 济南浪潮数据技术有限公司 Fragment uploading method, device and medium of distributed storage system

Also Published As

Publication number Publication date
CN111158606B (en) 2020-11-03

Similar Documents

Publication Publication Date Title
JP6778795B2 (en) Methods, devices and systems for storing data
CN111177302B (en) Service bill processing method, device, computer equipment and storage medium
CN105190573B (en) The reduction redundancy of storing data
US9377959B2 (en) Data storage method and apparatus
KR102031588B1 (en) Method and system for implementing index when saving file
CN111158606B (en) Storage method, storage device, computer equipment and storage medium
EP3376393B1 (en) Data storage method and apparatus
CN103955530B (en) Data reconstruction and optimization method of on-line repeating data deletion system
EP2933733A1 (en) Data processing method and device in distributed file storage system
WO2015199577A1 (en) Metadata structures for low latency and high throughput inline data compression
CN105468642A (en) Data storage method and apparatus
CN106030498A (en) Storage device, data processing method, and storage system
US20200301944A1 (en) Method and apparatus for storing off-chain data
CN112416880A (en) Method and device for optimizing storage performance of mass small files based on real-time merging
CN112632070B (en) Method and device for storing and copying massive diversified complex spacecraft simulation data
CN103067519A (en) Method and device of data distribution storage under heterogeneous platform
EP3207461A1 (en) Compression of cascading style sheet files
CN112817962B (en) Data storage method and device based on object storage and computer equipment
CN115470156A (en) RDMA-based memory use method, system, electronic device and storage medium
CN102282545B (en) Storage system
CN113791735A (en) Video data storage method and device, computer equipment and storage medium
CN115168499B (en) Database table fragmentation method and device, computer equipment and storage medium
CN111143130B (en) Data recovery method and device, computer readable storage medium and computer equipment
CN115840731A (en) File processing method, computing device and computer storage medium
CN113934362B (en) Data storage method, device, computer equipment and storage medium

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
GR01 Patent grant
GR01 Patent grant