CN112068976A - Data backup storage method and device, electronic equipment and storage medium - Google Patents

Data backup storage method and device, electronic equipment and storage medium Download PDF

Info

Publication number
CN112068976A
CN112068976A CN201910498627.7A CN201910498627A CN112068976A CN 112068976 A CN112068976 A CN 112068976A CN 201910498627 A CN201910498627 A CN 201910498627A CN 112068976 A CN112068976 A CN 112068976A
Authority
CN
China
Prior art keywords
data
storage
target
determining
weight
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
CN201910498627.7A
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.)
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information Technology Co Ltd
Original Assignee
Beijing Jingdong Century Trading Co Ltd
Beijing Jingdong Shangke Information 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 Beijing Jingdong Century Trading Co Ltd, Beijing Jingdong Shangke Information Technology Co Ltd filed Critical Beijing Jingdong Century Trading Co Ltd
Priority to CN201910498627.7A priority Critical patent/CN112068976A/en
Publication of CN112068976A publication Critical patent/CN112068976A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore

Abstract

The disclosure relates to a data backup storage method and device, an electronic device and a storage medium, relates to the technical field of data storage, and can be applied to an application scenario for storing a plurality of data copies. The data backup storage method comprises the following steps: responding to the data storage request, determining first target data in the data storage request, and taking the data copy quantity of the first target data as a target quantity; acquiring the equipment weight and the pre-configured fault domain level of a storage unit; determining a target number of first storage units according to the equipment weight and the fault domain level; wherein, each first storage unit is distributed in different fault domains; the first target data is stored in each first storage unit. According to the method and the device, the plurality of data copies of the same data can be stored in the storage equipment under different fault domains respectively, so that data storage across the fault domains is realized, and the performance and the reliability of the whole storage system are enhanced.

Description

Data backup storage method and device, electronic equipment and storage medium
Technical Field
The present disclosure relates to the field of data storage technologies, and in particular, to a data backup storage method, a data backup storage apparatus, an electronic device, and a storage medium.
Background
When data backup is performed at present, a client needs to communicate with a main control node for controlling data backup once before data is written in, and the data backup main control node selects a specified number of storage nodes to store the data and copy data thereof according to a storage strategy.
When the client reads the data, the client also needs to communicate with the main control node to request the storage node for inquiring the data. When a large number of data read-write requests occur, the master control node is easy to be dragged down due to the concurrent access problem. Moreover, the storage location of the data needs to be stored in the master control node as metadata, and when the metadata storage of the master control node fails, the whole storage system fails.
In addition, at present, no specific standard exists for fault domain division of data storage, and the problem of coarse granularity of fault domain division exists.
It is to be noted that the information disclosed in the above background section is only for enhancement of understanding of the background of the present disclosure, and thus may include information that does not constitute prior art known to those of ordinary skill in the art.
Disclosure of Invention
The present disclosure is directed to a data backup storage method, a data backup storage apparatus, an electronic device, and a computer-readable storage medium, so as to overcome, at least to a certain extent, system performance and reliability bottlenecks caused by a master node controlling data backup storage, and the problem of too coarse classification of a fault domain.
According to a first aspect of the present disclosure, there is provided a data backup storage method, including: responding to the data storage request, determining first target data in the data storage request, and taking the data copy quantity of the first target data as a target quantity; acquiring the equipment weight and the pre-configured fault domain level of a storage unit; determining a target number of first storage units according to the equipment weight and the fault domain level; wherein, each first storage unit is distributed in different fault domains; the first target data is stored in each first storage unit.
Optionally, before determining, in response to the data storage request, first target data in the data storage request and taking the number of data copies of the first target data as a target number, the method further includes: determining a fault domain level; determining a fault subdomain corresponding to the fault domain according to the fault domain level; and determining the intermediate storage unit corresponding to the fault subdomain.
Optionally, the method further includes: determining a basic storage unit for storing data and device information of the basic storage unit; the device information comprises a device type and a current storage capacity; determining a basic device weight of a basic storage unit according to the device information; determining an intermediate device weight for each intermediate storage unit based on the base device weight; wherein the basic device weight and the intermediate device weight are included in the device weight.
Optionally, determining the target number of first storage units according to the device weight and the fault domain level includes: determining a first data identifier of the first target data and a first device identifier of the storage unit; and respectively determining a first storage unit in the target number of fault domains according to the first data identifier, the first equipment identifier and the equipment weight.
Optionally, determining a first storage unit in the target number of fault domains according to the first data identifier, the first device identifier, and the device weight includes: performing hash operation on the first data identifier, the first equipment identifier and the equipment weight to obtain an intermediate operation result; and respectively determining a first storage unit in the target number of fault domains according to the intermediate operation result.
Optionally, after the first target data is respectively stored in the first storage units, the method further includes: responding to the data acquisition request, and determining second target data in the data acquisition request and a second data identifier corresponding to the second target data; determining a plurality of second storage units corresponding to the second data identifications; second target data is acquired from any one of the second storage units.
Optionally, the obtaining the second target data from any one of the second storage units includes: determining second device identifications corresponding to the plurality of second storage units respectively; randomly determining a second equipment identifier as a target equipment identifier; and acquiring second target data according to the target equipment identifier.
According to a second aspect of the present disclosure, there is provided a data backup storage apparatus comprising: the request response module is used for responding to the data storage request, determining first target data in the data storage request and taking the data copy quantity of the first target data as a target quantity; the information acquisition module is used for acquiring the equipment weight of the storage unit and the pre-configured fault domain level; the device determining module is used for determining a target number of first storage units according to the device weight and the fault domain level; wherein, each first storage unit is distributed in different fault domains; and the data storage module is used for respectively storing the first target data to each first storage unit.
Optionally, the information obtaining module includes a fault domain configuration unit, configured to determine a fault domain level; determining a fault subdomain corresponding to the fault domain according to the fault domain level; and determining the intermediate storage unit corresponding to the fault subdomain.
Optionally, the information obtaining module further includes a weight configuration unit, configured to determine a basic storage unit for storing data and device information of the basic storage unit; the device information comprises a device type and a current storage capacity; determining a basic device weight of a basic storage unit according to the device information; determining an intermediate device weight for each intermediate storage unit based on the base device weight; wherein the basic device weight and the intermediate device weight are included in the device weight.
Optionally, the device determining module includes a device determining unit, configured to determine a first data identifier of the first target data and a first device identifier of the storage unit; and respectively determining a first storage unit in the target number of fault domains according to the first data identifier, the first equipment identifier and the equipment weight.
Optionally, the device determining unit includes a device determining subunit, configured to perform hash operation on the first data identifier, the first device identifier, and the device weight to obtain an intermediate operation result; and respectively determining a first storage unit in the target number of fault domains according to the intermediate operation result.
Optionally, the data backup storage device includes a data obtaining module, configured to determine, in response to the data obtaining request, second target data in the data obtaining request and a second data identifier corresponding to the second target data; determining a plurality of second storage units corresponding to the second data identifications; second target data is acquired from any one of the second storage units.
Optionally, the data obtaining module includes a data obtaining unit, configured to determine second device identifiers respectively corresponding to the plurality of second storage units; randomly determining a second equipment identifier as a target equipment identifier; and acquiring second target data according to the target equipment identifier.
According to a third aspect of the present disclosure, there is provided an electronic device comprising: a processor; and a memory having computer readable instructions stored thereon which, when executed by the processor, implement the data backup storage method according to any one of the above.
According to a fourth aspect of the present disclosure, there is provided a computer readable storage medium having stored thereon a computer program which, when executed by a processor, implements a data backup storage method according to any one of the above.
In the data backup storage method in the exemplary embodiment of the present disclosure, first, in response to a data storage request, first target data in the data storage request is determined, and the number of data copies of the first target data is taken as a target number; secondly, acquiring the equipment weight and the pre-configured fault domain level of the storage unit; thirdly, determining a target number of first storage units according to the equipment weight and the fault domain level; wherein, each first storage unit is distributed in different fault domains; the first target data is stored in each first storage unit. According to the data backup storage method disclosed by the invention, on one hand, the number of the data copies in the data storage request is determined, and the number of the first storage units required to be determined in the data storage can be determined according to the number of the data copies. On the other hand, the process of determining the target number of first storage units can be carried out on the client side according to the equipment weight and the fault domain level, and the distribution of the storage nodes is not required to be carried out by the main control node, so that decentralized data backup storage is realized. In another aspect, the target number of first storage units are distributed in different fault domains, and when the master node in one fault domain is damaged, the client can read the target data from the storage units in other fault domains, so that the purpose of performing data backup storage across the fault domains is achieved. On the other hand, the user can configure the fault domain level in advance, a set of fault domain division standards with finer division granularity is defined, and the user can flexibly use the fault domain when the data backup is realized by configuring the fault domain level in advance.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the disclosure.
Drawings
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present disclosure and together with the description, serve to explain the principles of the disclosure. It is to be understood that the drawings in the following description are merely exemplary of the disclosure, and that other drawings may be derived from those drawings by one of ordinary skill in the art without the exercise of inventive faculty. In the drawings:
FIG. 1 schematically illustrates a flow chart of a data backup storage method according to an exemplary embodiment of the present disclosure;
FIG. 2 schematically illustrates a memory cell hierarchy diagram of memory cells corresponding to each hierarchy level of a memory system according to an exemplary embodiment of the present disclosure;
FIG. 3 schematically illustrates a first block diagram of a data backup storage device, according to an exemplary embodiment of the present disclosure;
FIG. 4 schematically illustrates a first block diagram of an information acquisition module according to an exemplary embodiment of the present disclosure;
FIG. 5 schematically illustrates a second block diagram of an information acquisition module according to an exemplary embodiment of the present disclosure;
FIG. 6 schematically illustrates a block diagram of a device determination module according to an exemplary embodiment of the present disclosure;
fig. 7 schematically shows a block diagram of a device determination unit according to an exemplary embodiment of the present disclosure;
FIG. 8 schematically illustrates a second block diagram of a data backup storage device, according to an exemplary embodiment of the present disclosure;
FIG. 9 schematically illustrates a block diagram of a data acquisition module according to an exemplary embodiment of the present disclosure;
FIG. 10 schematically illustrates a block diagram of an electronic device according to an exemplary embodiment of the present disclosure;
fig. 11 schematically illustrates a schematic diagram of a computer-readable storage medium according to an exemplary embodiment of the present disclosure.
Detailed Description
Example embodiments will now be described more fully with reference to the accompanying drawings. Example embodiments may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein; rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the concept of example embodiments to those skilled in the art. The same reference numerals denote the same or similar parts in the drawings, and thus, a repetitive description thereof will be omitted.
Furthermore, the described features, structures, or characteristics may be combined in any suitable manner in one or more embodiments. In the following description, numerous specific details are provided to give a thorough understanding of embodiments of the disclosure. One skilled in the relevant art will recognize, however, that the subject matter of the present disclosure can be practiced without one or more of the specific details, or with other methods, components, devices, steps, and so forth. In other instances, well-known structures, methods, devices, implementations, materials, or operations are not shown or described in detail to avoid obscuring aspects of the disclosure.
The block diagrams shown in the figures are functional entities only and do not necessarily correspond to physically separate entities. That is, these functional entities may be implemented in the form of software, or in one or more software-hardened modules, or in different networks and/or processor devices and/or microcontroller devices.
When a client performs data backup or reads data, the client needs to communicate with a main control node for controlling data backup, and when a large number of data read-write requests occur, a concurrent access problem is easy to cause and the main control node is dragged down. Moreover, the storage location of the data needs to be stored in the master control node as metadata, and when the metadata storage of the master control node fails, the whole storage system fails. In addition, at present, no specific standard exists for the division of the data storage fault domain, and the problem of coarse granularity of the division of the fault domain exists.
Based on this, in the present exemplary embodiment, first, a data backup storage method is provided, which may be implemented by using a server, or may also be implemented by using a terminal device, where the terminal device may be, for example, a mobile terminal such as a mobile phone, a tablet computer, a notebook computer, a Personal Digital Assistant (PDA), a navigation device, a wearable device, a smart band, or a fixed terminal such as a desktop computer. Referring to fig. 1, the data backup storage method may include the steps of:
step S110, responding to the data storage request, determining first target data in the data storage request, and taking the data copy quantity of the first target data as a target quantity.
In some exemplary embodiments of the present disclosure, the data storage request may be a request generated by operating a client of the data backup storage when a user needs to perform data backup. The first target data may be target data to be backed up and stored in the data storage request, and the first target data may be various types of files, which may include, but are not limited to, text files, audio files, video files, database files, and the like.
The data copy number may be the number of data copies required to backup the first target data in the data storage request, and the data copy number may be a positive integer greater than 1. For example, the number of data copies may be 3, 5, etc. The target number may be the number of storage devices for storing the first target data, the target number being equal to the number of data copies, for example, when the number of data copies is 3, the target number is also 3.
When a data storage request is received, responding to the data storage request, and determining the first target data in the data storage request and the number of data copies needing to be backed up for storage this time, so as to determine the number of storage units needed for storage this time based on the number of data copies.
It should be noted that, in other exemplary embodiments, the number of data copies of the target data may be determined according to specific storage requirements, so as to store the data copies of the target data, which is not limited in any way by this disclosure.
According to some example embodiments of the present disclosure, a fault domain level is determined; determining a fault subdomain corresponding to the fault domain according to the fault domain level; and determining the intermediate storage unit corresponding to the fault subdomain. A fault domain generally refers to a group of server, storage, and/or networking components collectively affected by a fault. For example, the fault domain may be a server rack. When the fault domain is divided into server racks, if a power distribution device of a rack top switch or server rack fails, all servers in that rack will go offline, even if the server hardware is operating properly. I.e., the server rack may be considered a failure domain.
The fault domain level can be a preset fault domain division condition for data backup storage, and the fault domain division can be designed according to the physical position and the physical facility of the data center. For example, a storage unit of a data center may be divided into a logical root node (root), a region in a geographic location (region for short), a data center (dc), a room in the data center (room), an independent power supply unit (pdu), a cabinet (rack), a layer in the cabinet, a server (server), a disk (disk) and other hierarchies from top to bottom.
Referring to fig. 2, the relationship between the various levels may be: a logical root node 210 may include multiple zones 220, a zone 220 may include multiple data centers 230, a data center 230 may include multiple rooms 240, a room 240 may include multiple independent power units 250, an independent power unit 250 may include multiple enclosures 260, an enclosure 260 may include multiple enclosure compartments 270, an enclosure compartment 270 may include multiple servers 280, a server 280 may include multiple disks 290, and target data may be stored on the disks.
The relationship between the above storage units may be: the storage unit (storage node or storage device) in each hierarchy is a child node of a storage node in the last hierarchy thereof, and is a parent node of a storage node in the next hierarchy thereof.
The fault sub-domain may be a virtual area included under the fault domain, for example, one room 240 and a plurality of storage nodes included under the room may constitute one fault sub-domain, and a plurality of intermediate storage units may be included in the fault sub-domain. The intermediate storage unit may be one or more of a region, a data center, a room in the data center, an independent power unit, a cabinet, a compartment in the cabinet, and a server.
For example, server _ id (x), layer _ id (x), rack _ id (x), pdu _ id (x), room _ id (x), dc _ id (x), and region _ id (x) may be respectively used to indicate numbers corresponding to different servers, partitions in the cabinet, the independent power supply unit, the room of the data center, and the region.
According to another exemplary embodiment of the present disclosure, a base storage unit for storing data and device information of the base storage unit are determined; the device information comprises a device type and a current storage capacity; determining a basic device weight of a basic storage unit according to the device information; determining an intermediate device weight for each intermediate storage unit based on the base device weight; wherein the basic device weight and the intermediate device weight are included in the device weight.
The base storage unit may be a storage medium for storing target data, and since the target data is stored in a magnetic disk, the base storage unit may be a magnetic disk. The device information may be information related to the underlying storage unit, for example, the device information may include, but is not limited to, a device type and a current storage capacity. The device type may be a type corresponding to the storage unit, for example, the device type may include, but is not limited to, a Hard Disk Drive (HDD), a Solid State Drive (SSD), a Hybrid Drive (HHD), and the like.
The current storage capacity may be a current available storage capacity of the basic storage unit, and as the target data is stored in the storage unit or deleted from the storage unit, the capacity of the storage unit changes accordingly, so that the current available storage capacity of the storage unit needs to be determined when the data is stored this time.
The basic device weight may be a corresponding weight of the basic storage unit in the entire storage system, for example, the basic device weight may be determined according to the current storage capacity of the basic storage unit, and the larger the current storage capacity of the basic storage unit is, the larger the corresponding basic device weight is. For example, it may be set that when the current storage capacity of the basic storage unit is 10T, the basic device weight is determined to be 1; it may be set that when the current storage capacity of the basic storage unit is 20T, the basic device weight is determined to be 2, and so on. Since the basic storage unit can be determined to be a disk, disk _ id (x) [ weight ] is used to represent the weight of the disk.
In addition, the device weight of the basic storage unit can be determined according to the requirement of data storage speed and the combination of the device type. For example, the weight of the basic device may be determined according to the data reading speed of the basic storage unit, and the faster the data reading and writing speed of the basic storage unit is, the larger the weight value of the corresponding basic device is. For example, when the device type of the basic storage unit is a mechanical hard disk, and the writing speed of the mechanical hard disk is 50M/s, the device weight of the mechanical hard disk may be set to 1; when the device type of the basic storage unit is a solid state disk, and the writing speed of the solid state disk is 150M/s, the device weight of the solid state disk may be set to 3.
It is easily understood by those skilled in the art that, when data is stored, the device weight value of the basic storage unit may be set in advance according to the device information of the basic device unit, so as to determine the storage device storing the target data according to the device weight value, and the disclosure is not limited in any way.
The intermediate device weight may be a corresponding weight of the intermediate storage unit throughout the storage system. After the weights of the basic devices are determined, the weights of the intermediate devices can be determined according to the weights of the basic devices. For example, since the server is composed of disks, the weight of the server is the sum of the weights of the disks owned by the server, and server _ id (x) [ weight ] is used to represent the weight of the server, and so on, the weight of the upper element is equal to the sum of the weights of all the sub-elements of the upper element. Layer _ id (x), weight, rack _ id (x), weight, pdu _ id (x), weight, room _ id (x), weight, dc _ id (x), weight, and region _ id (x) are used to indicate the partition, cabinet, independent power supply unit, room of data center, and device weight corresponding to the region in different cabinets in the storage system of fig. 2.
And S120, acquiring the device weight and the pre-configured fault domain level of the storage unit.
In some example embodiments of the present disclosure, the device weight may include an intermediate device weight and a base device weight. The fault domain level may be a level of fault domains that are pre-configured for data backup storage. After the device weight and the fault domain level are obtained, storage units for storing the first target data may be respectively determined in a plurality of different fault domains according to the device weight and the fault domain level, so that the first target data is stored in the storage units.
S130, determining a target number of first storage units by combining the equipment weight and the fault domain level; wherein, each first storage unit is distributed in different fault domains.
In some exemplary embodiments of the present disclosure, the target number may be a number of the first storage units. The first storage unit may be a storage unit for storing the first target data. A plurality of first storage units can be determined by combining the equipment weight and the fault domain level, and the first storage units are distributed in different fault domains respectively, so that the effect of crossing fault domains in data backup storage can be realized.
According to some exemplary embodiments of the present disclosure, a first data identification of a first target data and a first device identification of a storage unit are determined; and respectively determining a first storage unit in the target number of fault domains according to the first data identifier, the first equipment identifier and the equipment weight. The first data identification may be an identification employed for distinguishing different first target data. Since different data storage requests may correspond to different first target data, the different first target data may be distinguished. For example, when the first target data is x, the first target data x may be represented by data _ id (x). The first device identifier may be an identifier for uniquely marking each storage unit, for example, when the disk is a device for storing target data, disk _ id (x) may be used to indicate device identifiers of different disks. The device weights include an intermediate device weight and a base device weight.
After the first data identifier, the first device identifier, and the device weight are determined, the first data identifier, the first device identifier, and the device weight may be calculated to determine a target number of first storage units. For example, all the storage units may be sorted from large to small according to the weight values according to the first data identifier, the first device identifier and the device weight, and the storage units with the number of front targets are selected; taking the selected storage unit as an example, the target number of storage units of the next level of the storage unit can be determined continuously; and repeating the steps until the first storage units with the target number are determined, and ending the whole equipment determination process.
According to another exemplary embodiment of the present disclosure, after performing hash operation on the first data identifier, the first device identifier, and the device weight, an intermediate operation result is obtained; and respectively determining a first storage unit in the target number of fault domains according to the intermediate operation result. The intermediate operation result may be the device identifier corresponding to the first storage unit with the target number, which is determined by performing hash operation on the first data identifier, the first device identifier, and the device weight. According to the device identifications corresponding to the target number of first storage units, the first target data can be respectively stored in each first storage unit.
For example, when the fault domain is set as the data center and the number of data copies is 3, the specific process of data backup storage is as follows.
(1) Because the fault domain is a data center, to implement data storage across the fault domain, multiple data copies need to be stored in different data centers, and the different data centers belong to the same area. Calculating Hash (data _ id (x), region _ id (n)) multiplied region _ id (n) weight and region _ id (n) epsilon root, and taking the region _ id (m) corresponding to the maximum value from the calculation results. This step indicates that all copies of the first target data x are stored in one area.
(2) Calculate Hash (data _ id (x), dc _ id (n)). times.dc _ id (n) [ weight [ ((x)) ]]And (dc _ id (n)) epsilon _ id (m)) wherein the fault domain is the data center and the number of data copies is 3, and therefore, dc _ id (m) corresponds to each of the maximum 3 values from the calculation results of this step1)、dc_id(m2)、dc_id(m3). This step means that 3 copies of the first target data x are stored in 3 different data centers in the same area, respectively, in accordance with the requirements.
(3) Calculate Hash (data _ id (x), room _ id (n)). times.id (n) [ weight [ ]]And (room _ id (n)) e dc _ id (m)1) Get the maximum value of the corresponding room _ id (m) from the operation result1) (ii) a Calculate Hash (data _ id (x), room _ id (n)). times.id (n) [ weight [ ]]And (room _ id (n)) e dc _ id (m)2) Get from the operation result)From _ id (m) corresponding to maximum value2) (ii) a Calculate Hash (data _ id (x), room _ id (n)). times.id (n) [ weight [ ]]And (room _ id (n)) e dc _ id (m)3) Get the maximum value of the corresponding room _ id (m) from the operation result3). This step may represent selecting one room from among the 3 data centers for storing the first target data x, respectively.
(4) Calculate Hash (data _ id (x), pdu _ id (n)). times pdu _ id (n)) [ weight [ (x) ]]And (pdu _ id (n)) E room _ id (m)1) The maximum value of pdu _ id (m) is obtained from the results1) (ii) a Calculate Hash (data _ id (x), pdu _ id (n)). times pdu _ id (n)) [ weight [ (x) ]]And (pdu _ id (n)) E room _ id (m)2) The maximum value of pdu _ id (m) is obtained from the results2) (ii) a Calculate Hash (data _ id (x), pdu _ id (n)). times pdu _ id (n)) [ weight [ (x) ]]And (pdu _ id (n)) E room _ id (m)3) The maximum value of pdu _ id (m) is obtained from the results3). This step represents selecting one independent power supply unit for storing the first target data x in each room, respectively.
(5) Calculate Hash (data _ id (x), track _ id (n) x track _ id (n) [ weight [)]And (rack _ id (n) E pdu _ id (m)1) Get the maximum value corresponding rack _ id (m) from the results1) (ii) a Calculate Hash (data _ id (x), track _ id (n) x track _ id (n) [ weight [)]And (rack _ id (n) E pdu _ id (m)2) Get the maximum value corresponding rack _ id (m) from the results2) (ii) a Calculate Hash (data _ id (x), track _ id (n) x track _ id (n) [ weight [)]And (rack _ id (n) E pdu _ id (m)3) Get the maximum value corresponding rack _ id (m) from the results3). This step represents the selection of one cabinet for storing the first target data x in each of the individual power supply units, respectively.
(6) Calculate Hash (data _ id (x), layer _ id (n) x layer _ id (n) [ weight [)]And (layer _ id (n) is E rack _ id (m)1) From the results, the layer _ id (m) corresponding to the maximum value is taken from the results1) (ii) a Calculate Hash (data _ id (x), layer _ id (n) x layer _ id (n) [ weight [)]And (layer _ id (n) is E rack _ id (m)2) From the results, the layer _ id (m) corresponding to the maximum value is taken from the results2) (ii) a Calculate Hash (data _ id (x), layer _ id (n) x layer _ id (n) [ weight [)]And (layer _ id (n) is E rack _ id (m)3) From the results, the layer _ id (m) corresponding to the maximum value is taken from the results3). This step is shown in each cabinetA compartment is selected for storing the first target data x.
(7) Calculate Hash (data _ id (x), server _ id (n)) × server _ id (n)) [ weight [ (x) ]]And (server _ id (n) is epsilon layer _ id (m)1) Get the maximum value corresponding server _ id (m) from the results1) (ii) a Calculate Hash (data _ id (x), server _ id (n)) × server _ id (n)) [ weight [ (x) ]]And (server _ id (n) is epsilon layer _ id (m)2) Get the maximum value corresponding server _ id (m) from the results2) (ii) a Calculate Hash (data _ id (x), server _ id (n)) × server _ id (n)) [ weight [ (x) ]]And (server _ id (n) is epsilon layer _ id (m)3) Get the maximum value corresponding server _ id (m) from the results3). This step represents selecting one server for storing the first target data x in each of the compartments, respectively.
(8) Calculate Hash (data _ id (x), disk _ id (n)). times disk _ id (n)) [ weight [ (n) ]]And (disk _ id (n) e server _ id (m)1) Disk _ id (m) corresponding to the maximum value is taken from the result1) (ii) a Calculate Hash (data _ id (x), disk _ id (n)). times disk _ id (n)) [ weight [ (n) ]]And (disk _ id (n) e server _ id (m)2) Disk _ id (m) corresponding to the maximum value is taken from the result2) (ii) a Calculate Hash (data _ id (x), disk _ id (n)). times disk _ id (n)) [ weight [ (n) ]]And (disk _ id (n) e server _ id (m)3) Disk _ id (m) corresponding to the maximum value is taken from the result3). This step represents writing three copies of the first target data x into the calculated disk _ id (m), respectively1)、disk_id(m2)、disk_id(m3) Among them.
After the hash calculation is performed on the first data identifier, the first device representation, and the device weight, a plurality of first storage units may be determined. In the process, the Hash calculation can ensure randomness, so that the calculation result of each time does not need to select the storage unit with the largest weight, and the situations that some equipment is particularly idle, some equipment is particularly busy, and data distribution is not uniform can be avoided. In addition, the calculation of the weight is added, so that more storage units with larger weight values of the equipment can appear in the calculation result.
Through the calculation steps, three first storage units for storing the first target data can be determined, and the three first storage units are distributed in different fault domains respectively, so that three data copies of the first target data are stored in the three first storage units respectively, the effect of cross-fault-domain data storage can be achieved, and when a node in one fault domain fails, a user cannot be influenced to acquire the target data from other first storage units.
Step S140, storing the first target data in each first storage unit respectively.
In some exemplary embodiments of the present disclosure, after a plurality of first storage units are determined, the first target data may be stored in each of the first storage units, that is, the first target data is stored in a target number of first storage units, so that the target data may be subsequently obtained from any one of the first storage units.
According to some exemplary embodiments of the present disclosure, in response to a data acquisition request, second target data and a second data identifier corresponding to the second target data in the data acquisition request are determined; determining a plurality of second storage units corresponding to the second data identifications; second target data is acquired from any one of the second storage units. The data acquisition request may be a request generated when a user performs a data acquisition operation on the client. The second target data may be data to be acquired in the data acquisition request, and the type of the second target data is the same as the type of the first target data. The second data identifier may be an identifier for marking the second target data, for example, when the second target data is y, the second target data may be represented by data _ id (y). The second storage unit may be a device on which the second target data is stored.
When a data acquisition request is received, second target data and a second data identifier in the data acquisition request are determined in response to the data acquisition request, a plurality of second storage units storing the second target data are determined through the second data identifier, one second storage unit is selected from the plurality of second storage units, and the second target data are read from the second storage unit.
According to another exemplary embodiment of the present disclosure, second device identifiers respectively corresponding to a plurality of second storage units are determined; randomly determining a second equipment identifier as a target equipment identifier; and acquiring second target data according to the target equipment identifier. The second device identifier may be an identifier for uniquely marking each second storage unit, for example, when the disk is a device for storing target data, disk _ id (y) may be used to represent the second device identifier.
For example, when the number of data copies is 3, 3 second storage units can be determined, and disk _ id (n) is respectively adopted1)、disk_id(n2)、disk_id(n3) To represent the 3 second memory cells. One device identification may be randomly determined from the three second device identifications as the target device identification, e.g., disk _ id (n) may be determined2) And after the target equipment identifier is determined, acquiring second target data from a second storage unit corresponding to the target equipment identifier according to the target equipment identifier.
In addition, when determining the target device identifier, multiple selectable options may be set according to specific usage requirements, for example, the selectable options may be configured as: the most preferred access times, the least preferred device identification number, the most preferred device identification number, etc. So that the target device identification can be determined in a number of ways.
It should be noted that the terms "first", "second", and the like, used in the present disclosure, are only used for distinguishing different target data, different storage units, different data identifications, and different device identifications, and should not impose any limitation on the present disclosure.
In summary, in the data backup storage method of the present disclosure, first, in response to a data storage request, first target data in the data storage request is determined, and the number of data copies of the first target data is used as a target number; secondly, acquiring the equipment weight and the pre-configured fault domain level of the storage unit; thirdly, determining a target number of first storage units according to the equipment weight and the fault domain level; wherein, each first storage unit is distributed in different fault domains; the first target data is stored in each first storage unit. According to the data backup storage method, on one hand, when a data storage request is received, a calculation process of determining a first storage unit for storing first target data is completed at a client, and a main control node for controlling data backup is not required to be arranged to designate a corresponding storage node, so that decentralized data storage is realized, and system performance and reliability bottlenecks can be avoided. On the other hand, the first target data are respectively stored in the plurality of determined first storage units, when a node in one fault domain fails, a user can still obtain data from storage nodes in other fault domains, and the effect of data storage across fault domains is achieved. In another aspect, the user may pre-configure the fault domain level, define a set of fault domain division standards with finer division granularity, and the user may implement flexible use of the fault domain when the user performs data backup by pre-configuring the fault domain level. On the other hand, by adopting a mode of combining the equipment weight and the Hash calculation, the calculated Hash value has randomness, so that the operation result of each time is not more than that of determining the storage unit with the maximum weight, and the phenomenon that some equipment is particularly idle and some equipment is particularly busy is avoided, and the distribution of data storage is more uniform.
In addition, in the present exemplary embodiment, a data backup storage apparatus is also provided. Referring to fig. 3, the data backup storage 300 may include a request response module 310, an information acquisition module 320, a device determination module 330, and a data storage module 340.
Specifically, the request response module 310 may be configured to, in response to the data storage request, determine first target data in the data storage request, and use the data copy number of the first target data as a target number; the information obtaining module 320 may be configured to obtain the device weight and the preconfigured fault domain level of the storage unit; the device determination module 330 may be configured to determine a target number of first storage units in combination with the device weight and the fault domain level; wherein, each first storage unit is distributed in different fault domains; the data storage module 340 may be configured to store the first target data in the first storage units, respectively.
The data backup storage device 300 may determine the first target data and the number of data copies thereof in the data storage request, acquire a preconfigured failure domain level and a device weight of the storage unit, determine one first storage unit in the target number of failure domains by combining the failure domain level and the device weight, and store the first target data in the plurality of first storage units, thereby implementing decentralized and fault-domain-crossing data backup storage, and being an effective data backup storage device.
According to some exemplary embodiments of the present disclosure, referring to fig. 4, the information acquisition module 320 includes a fault domain configuration unit 410.
Specifically, the fault domain configuration unit 410 may be configured to determine a fault domain level; determining a fault subdomain corresponding to the fault domain according to the fault domain level; and determining the intermediate storage unit corresponding to the fault subdomain.
The fault domain configuration unit 410 may determine a fault domain level and a fault sub-domain corresponding to the fault domain level, and further determine intermediate storage units belonging to the fault domain, so as to determine intermediate device weights of the intermediate storage units.
According to another exemplary embodiment of the present disclosure, referring to fig. 5, the information acquisition module 510 further includes a weight configuration unit 520.
Specifically, the weight configuration unit 520 may be configured to determine a basic storage unit for storing data and device information of the basic storage unit; the device information comprises a device type and a current storage capacity; determining a basic device weight of a basic storage unit according to the device information; determining an intermediate device weight for each intermediate storage unit based on the base device weight; wherein the basic device weight and the intermediate device weight are included in the device weight.
The weight configuration unit 520 may acquire device information of the basic storage unit, determine an intermediate device weight of the intermediate storage unit according to the device information of the basic storage unit, and determine a storage unit for storing the target data based on the determined weight of the storage unit.
According to still another exemplary embodiment of the present disclosure, referring to fig. 6, the device determining module 330 may include a device determining unit 610.
Specifically, the device determining unit 610 may be configured to determine a first data identifier of the first target data and a first device identifier of the storage unit; and respectively determining a first storage unit in the target number of fault domains according to the first data identifier, the first equipment identifier and the equipment weight.
The device determining unit 610 may obtain the first data identifier and the first device identifier, and determine a first storage unit in each of a plurality of different fault domains according to information such as the first data identifier, the first device identifier, and the device weight, so as to store the first target data.
According to still another exemplary embodiment of the present disclosure, referring to fig. 7, the device determining unit 610 may include a device determining subunit 710.
Specifically, the device determining subunit 710 may be configured to perform a hash operation on the first data identifier, the first device identifier, and the device weight to obtain an intermediate operation result; and respectively determining a first storage unit in the target number of fault domains according to the intermediate operation result.
The device determining sub-unit 710 may perform a hash operation on the first data identifier, the first device identifier, the device weight, and the like, obtain an intermediate operation result, and determine the plurality of first storage units based on the obtained intermediate operation result.
In another exemplary embodiment of the present disclosure, a data backup storage 800 is provided. Referring to fig. 8, the data backup storage device 800 may further include a data acquisition module 810.
Specifically, the data obtaining module 810 may be configured to, in response to the data obtaining request, determine second target data in the data obtaining request and a second data identifier corresponding to the second target data; determining a plurality of second storage units corresponding to the second data identifications; second target data is acquired from any one of the second storage units.
The data obtaining module 810 may obtain the second target data and the second data identifier thereof in the data obtaining request, determine a plurality of second storage units corresponding to the second data identifier, that is, storage units storing the second target data, and further obtain the second target data from any one of the second storage units.
According to some exemplary embodiments of the present disclosure, referring to fig. 9, the data acquisition module 810 may include a data acquisition unit 910.
Specifically, the data obtaining unit 910 may be configured to determine second device identifiers respectively corresponding to the plurality of second storage units; randomly determining a second equipment identifier as a target equipment identifier; and acquiring second target data according to the target equipment identifier.
The data obtaining unit 910 may determine the second device identifiers respectively corresponding to the plurality of second storage units, and randomly determine a target device identifier from the plurality of second device identifiers, so as to obtain the second target data from the target storage unit corresponding to the target device identifier.
The details of each virtual data backup storage device module are already described in detail in the corresponding data backup storage method, and therefore are not described herein again.
It should be noted that although several modules or units of the data backup storage are mentioned in the above detailed description, such division is not mandatory. Indeed, the features and functionality of two or more modules or units described above may be embodied in one module or unit, according to embodiments of the present disclosure. Conversely, the features and functions of one module or unit described above may be further divided into embodiments by a plurality of modules or units.
In addition, in an exemplary embodiment of the present disclosure, an electronic device capable of implementing the above method is also provided.
As will be appreciated by one skilled in the art, aspects of the present invention may be embodied as a system, method or program product. Thus, various aspects of the invention 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.
An electronic device 1000 according to such an embodiment of the invention is described below with reference to fig. 10. The electronic device 1000 shown in fig. 10 is only an example, and should not bring any limitation to the functions and the scope of use of the embodiments of the present invention.
As shown in fig. 10, the electronic device 1000 is embodied in the form of a general purpose computing device. The components of the electronic device 1000 may include, but are not limited to: the at least one processing unit 1010, the at least one memory unit 1020, a bus 1030 connecting different system components (including the memory unit 1020 and the processing unit 1010), and a display unit 1040.
Wherein the storage unit stores program code that is executable by the processing unit 1010 to cause the processing unit 1010 to perform steps according to various exemplary embodiments of the present invention as described in the "exemplary methods" section above in this specification.
The memory unit 1020 may include readable media in the form of volatile memory units, such as a random access memory unit (RAM)1021 and/or a cache memory unit 1022, and may further include a read-only memory unit (ROM) 1023.
Storage unit 1020 may also include a program/utility 1024 having a set (at least one) of program modules 1025, such program modules 1025 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.
Bus 1030 may be any one or more of several types of bus structures including a memory unit bus or memory unit controller, a peripheral bus, an accelerated graphics port, a processing unit, and a local bus using any of a variety of bus architectures.
The electronic device 1000 may also communicate with one or more external devices 1070 (e.g., keyboard, pointing device, bluetooth device, etc.), with one or more devices that enable a user to interact with the electronic device 1000, and/or with any devices (e.g., router, modem, etc.) that enable the electronic device 1000 to communicate with one or more other computing devices. Such communication may occur through input/output (I/O) interfaces 1050. Also, the electronic device 1000 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 1060. As shown, the network adapter 1060 communicates with the other modules of the electronic device 1000 over the bus 1030. It should be appreciated that although not shown, other hardware and/or software modules may be used in conjunction with the electronic device 1000, including but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data backup storage systems, among others.
Through the above description of the embodiments, those skilled in the art will readily understand that the exemplary embodiments described herein may be implemented by software, or by software in combination with necessary hardware. Therefore, the technical solution according to the embodiments of the present disclosure may be embodied in the form of a software product, which may be stored in a non-volatile storage medium (which may be a CD-ROM, a usb disk, a removable hard disk, etc.) or on a network, and includes several instructions to enable a computing device (which may be a personal computer, a server, a terminal device, or a network device, etc.) to execute the method according to the embodiments of the present disclosure.
In an exemplary embodiment of the present disclosure, there is also provided a computer-readable storage medium having stored thereon a program product capable of implementing the above-described method of the present specification. In some possible embodiments, aspects of the invention may also be implemented in the form of a program product comprising program code means for causing a terminal device to carry out the steps according to various exemplary embodiments of the invention described in the above-mentioned "exemplary methods" section of the present description, when said program product is run on the terminal device.
Referring to fig. 11, a program product 1100 for implementing the above method according to an embodiment of the present invention is described, which may employ a portable compact disc read only memory (CD-ROM) and include program code, and may be run on a terminal device, such as a personal computer. However, the program product of the present invention is not limited in this regard and, in the present 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.
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.
A computer 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 for aspects of the present invention 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's computing device, partly on the user's device, as a stand-alone software package, partly on the user's computing device and partly on a remote computing device, or entirely on the remote computing device or server. In the case of a remote computing device, the remote computing device may be connected to the user computing device through any kind of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or may be connected to an external computing device (e.g., through the internet using an internet service provider).
Furthermore, the above-described figures are merely schematic illustrations of processes involved in methods according to exemplary embodiments of the invention, and are not intended to be limiting. It will be readily understood that the processes shown in the above figures are not intended to indicate or limit the chronological order of the processes. In addition, it is also readily understood that these processes may be performed synchronously or asynchronously, e.g., in multiple modules.
Other embodiments of the disclosure will be apparent to those skilled in the art from consideration of the specification and practice of the disclosure disclosed herein. This application is intended to cover any variations, uses, or adaptations of the disclosure following, in general, the principles of the disclosure and including such departures from the present disclosure as come within known or customary practice within the art to which the disclosure pertains. It is intended that the specification and examples be considered as exemplary only, with a true scope and spirit of the disclosure being indicated by the following claims.
It will be understood that the present disclosure is not limited to the precise arrangements described above and shown in the drawings and that various modifications and changes may be made without departing from the scope thereof. The scope of the present disclosure is to be limited only by the terms of the appended claims.

Claims (10)

1. A data backup storage method is characterized by comprising the following steps:
responding to a data storage request, determining first target data in the data storage request, and taking the data copy quantity of the first target data as a target quantity;
acquiring the equipment weight and the pre-configured fault domain level of a storage unit;
determining a target number of first storage units in combination with the device weight and the fault domain level; wherein, each first storage unit is distributed in different fault domains;
and storing the first target data into each first storage unit respectively.
2. The data backup storage method according to claim 1, wherein before determining a first target data in the data storage request in response to the data storage request and taking the number of data copies of the first target data as a target number, the method further comprises:
determining the fault domain level;
determining a fault subdomain corresponding to the fault domain according to the fault domain level;
and determining the intermediate storage unit corresponding to the fault sub-domain.
3. The data backup storage method of claim 2, wherein the method further comprises:
determining a basic storage unit for storing data and device information of the basic storage unit; wherein the device information comprises a device type and a current storage capacity;
determining a basic device weight of the basic storage unit according to the device information;
determining an intermediate device weight for each of the intermediate storage units based on the base device weight; wherein the base device weight and the intermediate device weight are included in the device weight.
4. The data backup storage method of claim 1, wherein said determining a target number of first storage units in conjunction with said device weight and said fault domain level comprises:
determining a first data identifier of the first target data and a first device identifier of the storage unit;
and respectively determining a first storage unit in the target number of fault domains according to the first data identifier, the first equipment identifier and the equipment weight.
5. The data backup storage method according to claim 4, wherein said determining a first storage unit in the target number of failure domains according to the first data identifier, the first device identifier and the device weight comprises:
performing hash operation on the first data identifier, the first equipment identifier and the equipment weight to obtain an intermediate operation result;
and respectively determining the first storage units in the target number of fault domains according to the intermediate operation result.
6. The data backup storage method according to claim 1, wherein after said storing the first target data in each of the first storage units, the method further comprises:
responding to a data acquisition request, and determining second target data in the data acquisition request and a second data identifier corresponding to the second target data;
determining a plurality of second storage units corresponding to the second data identification;
and acquiring the second target data from any one of the second storage units.
7. The data backup storage method according to claim 6, wherein said obtaining the second target data from any one of the second storage units comprises:
determining second device identifications corresponding to the plurality of second storage units respectively;
randomly determining the second equipment identifier as a target equipment identifier;
and acquiring the second target data according to the target equipment identifier.
8. A data backup storage device, comprising:
the request response module is used for responding to a data storage request, determining first target data in the data storage request and taking the data copy quantity of the first target data as a target quantity;
the information acquisition module is used for acquiring the equipment weight of the storage unit and the pre-configured fault domain level;
a device determining module, configured to determine a target number of first storage units in combination with the device weight and the fault domain level; wherein, each first storage unit is distributed in different fault domains;
and the data storage module is used for respectively storing the first target data to each first storage unit.
9. An electronic device, comprising:
a processor; and
a memory having computer readable instructions stored thereon which, when executed by the processor, implement the data backup storage method of any of claims 1 to 7.
10. A computer-readable storage medium, on which a computer program is stored which, when being executed by a processor, carries out a data backup storage method according to any one of claims 1 to 7.
CN201910498627.7A 2019-06-10 2019-06-10 Data backup storage method and device, electronic equipment and storage medium Pending CN112068976A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910498627.7A CN112068976A (en) 2019-06-10 2019-06-10 Data backup storage method and device, electronic equipment and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910498627.7A CN112068976A (en) 2019-06-10 2019-06-10 Data backup storage method and device, electronic equipment and storage medium

Publications (1)

Publication Number Publication Date
CN112068976A true CN112068976A (en) 2020-12-11

Family

ID=73658139

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910498627.7A Pending CN112068976A (en) 2019-06-10 2019-06-10 Data backup storage method and device, electronic equipment and storage medium

Country Status (1)

Country Link
CN (1) CN112068976A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113742309A (en) * 2021-08-18 2021-12-03 Oppo广东移动通信有限公司 Copy storage method and device, storage medium and computer equipment

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104583930A (en) * 2014-08-15 2015-04-29 华为技术有限公司 Method of data migration, controller and data migration apparatus
US20150355971A1 (en) * 2014-06-09 2015-12-10 International Business Machines Corporation Failure domain based storage system data stripe layout
US20160077933A1 (en) * 2014-09-12 2016-03-17 Microsoft Technology Licensing, Llc Scalable Data Storage Pools
US20160371020A1 (en) * 2015-06-16 2016-12-22 Vmware, Inc. Virtual machine data placement in a virtualized computing environment
CN107085546A (en) * 2016-02-16 2017-08-22 深圳市深信服电子科技有限公司 Data managing method and device based on failure field technique
US20180232276A1 (en) * 2017-02-15 2018-08-16 International Business Machines Corporation Handling storage unit failure in a dispersed storage network
CN108846009A (en) * 2018-04-28 2018-11-20 北京奇艺世纪科技有限公司 Copy data storage method and device in a kind of ceph
US20190065326A1 (en) * 2017-08-31 2019-02-28 International Business Machines Corporation Backup optimization in hybrid storage environment

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150355971A1 (en) * 2014-06-09 2015-12-10 International Business Machines Corporation Failure domain based storage system data stripe layout
CN104583930A (en) * 2014-08-15 2015-04-29 华为技术有限公司 Method of data migration, controller and data migration apparatus
US20160077933A1 (en) * 2014-09-12 2016-03-17 Microsoft Technology Licensing, Llc Scalable Data Storage Pools
US20160371020A1 (en) * 2015-06-16 2016-12-22 Vmware, Inc. Virtual machine data placement in a virtualized computing environment
CN107085546A (en) * 2016-02-16 2017-08-22 深圳市深信服电子科技有限公司 Data managing method and device based on failure field technique
US20180232276A1 (en) * 2017-02-15 2018-08-16 International Business Machines Corporation Handling storage unit failure in a dispersed storage network
US20190065326A1 (en) * 2017-08-31 2019-02-28 International Business Machines Corporation Backup optimization in hybrid storage environment
CN108846009A (en) * 2018-04-28 2018-11-20 北京奇艺世纪科技有限公司 Copy data storage method and device in a kind of ceph

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113742309A (en) * 2021-08-18 2021-12-03 Oppo广东移动通信有限公司 Copy storage method and device, storage medium and computer equipment

Similar Documents

Publication Publication Date Title
US10805406B2 (en) Zone redundant computing services using multiple local services in distributed computing systems
US10409696B2 (en) Scalable data storage pools
US11157457B2 (en) File management in thin provisioning storage environments
US9851906B2 (en) Virtual machine data placement in a virtualized computing environment
US11442900B2 (en) Sharing resources among remote repositories utilizing a lock file in a shared file system or a node graph in a peer-to-peer system
JP2016500183A (en) Dynamic selection of storage hierarchy
US20130055371A1 (en) Storage control method and information processing apparatus
CN102938784A (en) Method and system used for data storage and used in distributed storage system
US20170199694A1 (en) Systems and methods for dynamic storage allocation among storage servers
US10659531B2 (en) Initiator aware data migration
US10809941B2 (en) Multi-tiered storage
US20200167093A1 (en) Storage virtualization with high availability
US20210089226A1 (en) Adaptive wear leveling for drive arrays
US20180329653A1 (en) Considering input/output workload and space usage at a plurality of logical devices to select one of the logical devices to use to store an object
CN112068976A (en) Data backup storage method and device, electronic equipment and storage medium
US20170161205A1 (en) Abstracting namespace mapping in a dispersed storage network through multiple hierarchies
CN111767169A (en) Data processing method and device, electronic equipment and storage medium
CN112748848A (en) Method, apparatus and computer program product for storage management
JP2021064078A (en) Apparatus for creating extended configuration proposal of storage system including multiple nodes
US10585622B2 (en) Data writing device and method
US20170091472A1 (en) Prioritization of users during disaster recovery
JP2021513137A (en) Data migration in a tiered storage management system
CN109542674A (en) Snapshot creation method, device, equipment and the medium of distributed system
US11314442B2 (en) Maintaining namespace health within a dispersed storage network
US10712959B2 (en) Method, device and computer program product for storing data

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