WO2018072576A1 - 一种数据存储、读取、清理方法、装置及云存储系统 - Google Patents

一种数据存储、读取、清理方法、装置及云存储系统 Download PDF

Info

Publication number
WO2018072576A1
WO2018072576A1 PCT/CN2017/101821 CN2017101821W WO2018072576A1 WO 2018072576 A1 WO2018072576 A1 WO 2018072576A1 CN 2017101821 W CN2017101821 W CN 2017101821W WO 2018072576 A1 WO2018072576 A1 WO 2018072576A1
Authority
WO
WIPO (PCT)
Prior art keywords
storage
data
resource pool
resource
determining
Prior art date
Application number
PCT/CN2017/101821
Other languages
English (en)
French (fr)
Inventor
浦世亮
丁光凯
汪渭春
林起芊
王伟
Original Assignee
杭州海康威视数字技术股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 杭州海康威视数字技术股份有限公司 filed Critical 杭州海康威视数字技术股份有限公司
Priority to EP17862250.2A priority Critical patent/EP3531264B1/en
Priority to US16/343,219 priority patent/US11003367B2/en
Publication of WO2018072576A1 publication Critical patent/WO2018072576A1/zh

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/0662Virtualisation aspects
    • G06F3/0664Virtualisation aspects at device level, e.g. emulation of a storage device or system
    • 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/0662Virtualisation aspects
    • G06F3/0665Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0605Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0608Saving storage space on storage 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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/062Securing storage systems
    • G06F3/0622Securing storage systems in relation to access
    • 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/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage 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/0629Configuration or reconfiguration of storage systems
    • G06F3/0635Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
    • 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/0629Configuration or reconfiguration of storage systems
    • G06F3/0637Permissions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • 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]

Definitions

  • the present application relates to the field of cloud storage technologies, and in particular, to a data storage, reading, cleaning method, device, and cloud storage system.
  • the cloud storage system includes a management node for storing data, and a management node for managing data stored by each storage node in the system.
  • the storage node reports the metadata information of the stored data to the management node, and the management node manages the data stored by each storage node according to the received metadata information.
  • the management node manages the data stored by each storage node according to the received metadata information.
  • the device When the device needs to store data in the storage node, the device sends a resource request to the management node, and the management node allocates a storage node to the device according to the resource request and the metadata information reported by each storage node, and the device stores the data to the allocated storage.
  • the management node allocates a storage node to the device according to the resource request and the metadata information reported by each storage node, and the device stores the data to the allocated storage.
  • the device When the device needs to read the data in the storage node, the device sends a resource query request to the management node, and the management node determines the path information of the storage node where the data to be read is located according to the resource query request and the metadata information reported by each storage node. Sending the path information to the device, and the device reads the data to be read according to the path information;
  • the management node may further calculate a remaining capacity of the storage node according to the metadata information reported by each storage node, and send an instruction to clear the data to the storage node when the remaining capacity is lower than a set threshold, and the storage node presets a time point. The previous data is cleaned up to ensure that the storage space can be reused.
  • the management node receives the metadata information sent by each storage node, calculates the remaining capacity of each storage node, and sends an instruction to each storage node. This process is very complicated, and the workload of the management node is large.
  • the purpose of the embodiments of the present application is to provide a data storage, reading, and cleaning method, device, and cloud storage system, which reduce the workload of the management node.
  • the embodiment of the present application discloses a data storage method, which is applied to a management node in a cloud storage system, where the system further includes multiple storage nodes, each storage node includes M storage blocks, and N storages.
  • the blocks constitute a resource pool, and the method includes:
  • the method may further include:
  • the management node Determining, according to the first type of rights information stored in the management node, whether the first device has the right to store data in the first resource pool; wherein the first type of rights information includes the first Whether the device has the permission to store data in each resource pool;
  • the allocating the first storage block to the first device according to the resource request includes:
  • the embodiment of the present application further discloses a data reading method, which is applied to a management node in a cloud storage system, the system further includes a plurality of storage nodes, and each storage node includes M storage blocks, N.
  • the storage blocks constitute a resource pool, and the method includes:
  • the data to be read is read in a destination storage block in the destination resource pool.
  • the method may further include:
  • the management node Determining, according to the second type of rights information stored in the management node, whether the second device has the right to read data in the target resource pool; wherein the second type of rights information includes the second Whether the device has permission to read data in each resource pool;
  • the method may further include:
  • the embodiment of the present application further discloses a data cleaning method, which is applied to a management node in a cloud storage system, where the system further includes multiple storage nodes, and each storage node includes M.
  • the storage blocks, the N storage blocks constitute a resource pool, and the data in the storage block is stored according to the data storage method according to claim 1; the method comprises:
  • the determining whether the first quantity meets a preset data cleaning condition may include:
  • the calculating the resource usage rate of the resource pool according to the first quantity including:
  • the sending the clear data command to the storage node where the second storage block that is occupied by the resource pool is located may include:
  • the method may further include:
  • the step of sending a clean data command to the storage node where each second storage block is located is executed each time the preset time length is reached.
  • the embodiment of the present application further discloses a data storage device, which is applied to a management node in a cloud storage system, where the system further includes a plurality of storage nodes, each storage node includes M storage blocks, N The storage blocks form a resource pool, and the device includes:
  • a first receiving module configured to receive a resource request sent by the first device, where the resource request includes identifier information of the first resource pool;
  • An allocating module configured to allocate a first storage block to the first device according to the resource request, where the first storage block is located in the first resource pool;
  • a first sending module configured to send the first path information of the first storage block to the first device, so that the first device stores, to the first device, data to be stored according to the first path information.
  • the first storage block in a resource pool.
  • the device may further include:
  • a first determining module configured to determine, according to the first type of rights information stored in the management node, whether the first device has the right to store data in the first resource pool; wherein the first type of rights The information includes information about whether the first device has permission to store data in each resource pool; if so, the allocation module is triggered.
  • the allocating module may include:
  • a first determining sub-module configured to determine whether the first resource pool is available; if yes, triggering an allocation sub-module; if not, triggering determining a sub-module;
  • the allocating submodule configured to allocate, by the resource request, the first storage block to the first device
  • the determining sub-module is configured to determine a first domain where the first resource pool is located, where the domain is composed of multiple resource pools; according to a preset rule, determining a destination domain corresponding to the first domain, and Determining a second resource pool in the target domain;
  • a sending sub-module configured to send, to the first device, prompt information, where the prompt information carries identifier information of the second resource pool;
  • the embodiment of the present application further discloses a data reading apparatus, which is applied to a management node in a cloud storage system, the system further includes a plurality of storage nodes, and each storage node includes M storage blocks, N.
  • the storage blocks form a resource pool, and the device includes:
  • a second receiving module configured to receive a resource query request sent by the second device, where the resource query request includes identifier information of the data to be read;
  • a first determining module configured to determine a destination resource pool where the data to be read is located, and a destination storage block where the to-be-read data is located in the destination resource pool;
  • a second sending module configured to send the identifier information of the destination resource pool and the second path information of the destination storage block to the second device, so that the second device according to the identifier information and the The second path information reads the data to be read in a destination storage block in the destination resource pool.
  • the device may further include:
  • a second determining module configured to determine, according to the second type of rights information stored in the management node, whether the second device has the right to read data in the target resource pool; wherein the second type of rights The information includes whether the second device has permission to read data in each resource pool; if yes, the first determining module is triggered.
  • the device may further include:
  • Adding a module after receiving an instruction to add a right to read data in the third resource pool for the preset second device, adding the right of the second device to read data in the third resource pool .
  • the embodiment of the present application further discloses a data cleaning apparatus, which is applied to a management node in a cloud storage system, the system further includes a plurality of storage nodes, each storage node includes M storage blocks, N The storage blocks constitute a resource pool, and the data in the storage block is stored according to the data storage device of claim 13; the device comprises:
  • a second determining module configured to determine, for each resource pool, the occupied storage in the resource pool The first number of blocks
  • a third determining module configured to determine whether the first quantity meets a preset data cleaning condition; if yes, triggering a third sending module;
  • the third sending module is configured to send a clean data command to a storage node where each occupied second storage block in the resource pool is located, so that the storage node stores the second storage block included in the storage node The data is cleaned up.
  • the third determining module may include: a second determining submodule, or a calculating submodule and a third determining submodule, where
  • the second determining sub-module is configured to determine whether the first quantity is greater than a first preset threshold, and if yes, indicating that the preset data clearing condition is met;
  • the calculating submodule is configured to calculate a resource occupancy rate of the resource pool according to the first quantity
  • the third determining sub-module is configured to determine whether the resource occupancy rate is greater than a second preset threshold, and if yes, indicating that the preset data cleaning condition is met.
  • the calculating submodule is specifically configured to:
  • the third sending module is specifically configured to:
  • the device may further include:
  • a recording module configured to record a sending moment of the cleaning data instruction
  • a timing module configured to trigger the fifth sending module whenever the preset duration is reached after the sending moment.
  • the embodiment of the present application further discloses a cloud storage system, including: a management node, a plurality of storage nodes, wherein each storage node includes M storage blocks, and the N storage blocks constitute a resource pool;
  • the management node is configured to receive a resource request sent by the first device, where the resource request includes the identifier information of the first resource pool, and allocate, according to the resource request, the first storage block to the first device,
  • the first storage block is located in the first resource pool; the first path information of the first storage block is sent to the first device, so that the first device is to be stored according to the first path information.
  • Data is stored to the first memory block in the first resource pool.
  • the management node may be further configured to receive a resource query request sent by the second device, where the resource query request includes the identifier information of the data to be read, and determine the destination resource pool where the data to be read is located. And the destination storage block where the data to be read is located in the destination resource pool; the identifier information of the destination resource pool and the second path information of the destination storage block are sent to the second device, so that The second device reads the to-be-read data in a destination storage block in the destination resource pool according to the identifier information and the second path information.
  • the management node may be further configured to: determine, for each resource pool, a first quantity of the occupied storage blocks in the resource pool; determine whether the first quantity meets a preset data cleaning condition; Yes, sending a clean data command to the storage node where each occupied second storage block in the resource pool is located, so that the storage node cleans up data stored in the second storage block included by itself.
  • an embodiment of the present application further discloses an electronic device, including a processor, a communication interface, a memory, and a communication bus, wherein the processor, the communication interface, and the memory complete communication with each other through a communication bus;
  • a memory for storing a computer program
  • the processor is configured to implement any of the above data storage methods, data reading methods, and data cleaning methods when executing the program stored in the memory.
  • an embodiment of the present application further discloses a computer readable storage medium.
  • the computer readable storage medium stores therein a computer program, and when the computer program is executed by the processor, implements any of the above data storage methods, data reading methods, and data cleaning methods.
  • an embodiment of the present application further discloses a computer program, which is implemented to implement any of the above data storage methods, data reading methods, and data cleaning methods.
  • the storage blocks in the storage node are grouped into one resource pool, and the data is stored, read, and cleaned in units of resource pools, thereby reducing the workload of management.
  • the data cleaning only the data in each resource pool is cleaned.
  • the first quantity of the occupied storage blocks in the resource pool is determined; determining whether the first quantity meets the preset a data cleaning condition; if yes, sending a clean data command to a storage node where each occupied second storage block in the resource pool is located, so that the storage node cleans up data stored in the second storage block included by itself .
  • the management node determines the number of occupied storage blocks in the resource pool, and when the quantity meets the preset data cleaning condition, the data in the storage block in the resource pool is cleaned, the process is simple, and the management node is reduced. The amount of work.
  • FIG. 1 is a schematic structural diagram of a cloud storage system according to an embodiment of the present application
  • FIG. 2 is a schematic flowchart of a data storage method according to an embodiment of the present application.
  • FIG. 3 is a schematic flowchart diagram of a data reading method according to an embodiment of the present disclosure
  • FIG. 4 is a schematic flowchart of a data cleaning method according to an embodiment of the present application.
  • FIG. 5 is a schematic structural diagram of a data storage device according to an embodiment of the present disclosure.
  • FIG. 6 is a schematic structural diagram of a data reading apparatus according to an embodiment of the present application.
  • FIG. 7 is a schematic structural diagram of a data cleaning apparatus according to an embodiment of the present application.
  • FIG. 8 is a schematic structural diagram of an electronic device according to an embodiment of the present application.
  • the cloud storage system may include a management node and a plurality of storage nodes (storage node 1, storage node 2, storage node 3, storage node 3, ... storage node N) as shown in FIG. 1, wherein each storage node includes M Storage blocks, N storage blocks form a resource pool. That is to say, the virtualization node can be used to virtualize the storage node into one storage block, and the N storage blocks form a resource pool, and the management node manages the data in each resource pool.
  • the specific values of M and N can be set according to actual conditions, and M can be greater than, less than, equal to N, and there is no strict correspondence between the storage node and the resource pool.
  • M can be greater than, less than, equal to N, and there is no strict correspondence between the storage node and the resource pool.
  • three storage blocks in the storage node 1 and four storage blocks in the storage node 2 may form one resource pool, three other storage blocks in the storage node 1, and two other storage blocks in the storage node 2, and storage.
  • Two memory blocks in node 3 can form a resource pool...
  • all of the plurality of storage nodes may be formed into a resource pool, and the like, and the specific case is not limited.
  • the cloud storage system may also include multiple management nodes, which are not limited herein.
  • the data storage, cleaning, reading method and device are applied to a management node in the cloud storage system.
  • the data storage method provided by the embodiment of the present application is first described in detail below.
  • FIG. 2 is a schematic flowchart of a data storage method according to an embodiment of the present disclosure, including:
  • S201 Receive a resource request sent by the first device, where the resource request includes identifier information of the first resource pool.
  • the first device may be an image collection device or a device such as a computer used by the user, and is not limited herein.
  • the first device When the first device needs to store data in the storage node, the first device first sends a resource request to the management node to request a storage block in the resource pool to store the data. Need to explain In the first device, the identifier information of the resource pool may be obtained in advance, and the identifier information of the first resource pool in which the data is stored is determined, and the determined identifier information is carried in the resource request and sent to the management node.
  • the identifier information of the first resource pool carried in the resource request sent by the first device is 1, that is, the first resource pool is resource pool 1.
  • the management node allocates a first storage block for the first device in resource pool 1. It is assumed that the resource pool 1 includes 20 storage blocks, and the first storage block allocated by the management node for the first device is the storage block 5.
  • S203 Send the first path information of the first storage block to the first device, so that the first device stores the data to be stored into the first resource pool according to the first path information.
  • the first storage block Send the first path information of the first storage block to the first device, so that the first device stores the data to be stored into the first resource pool according to the first path information.
  • the management node sends the path information of the storage block 5 to the first device, and the first device stores the data to be stored to the storage block 5 in the resource pool 1 according to the path information of the storage block 5.
  • the management node may store the first type of rights information, where the first type of rights information may include information about whether the first device has the right to store data in each resource pool; After receiving the resource request sent by the first device, the node may first determine, according to the first type of rights information, whether the first device has the right to store data in the first resource pool; if yes, assign the first device to the first device.
  • a memory block if not, may be left unprocessed or feed back a prompt message similar to "no rights" to the first device.
  • the right to store data for the first device in the first type of rights information stored by the management node is: the first device can store data in the resource pool 1 and the resource pool 2.
  • the management node determines that the first device has the right to store data in the first resource pool (ie, resource pool 1); in this case, the management node performs the foregoing S202 and S203.
  • the above-mentioned privilege can be understood as a binding relationship.
  • the first device is bound to the resource pool 1 and the resource pool 2, and the data stored by the first device is only stored in the resource pool 1 and the resource pool 2, so that the management is performed.
  • the node can store the right of the first device to store data in resource pool 1 and resource pool 2.
  • This binding relationship can be set according to actual needs. Establish a tie between the device and the resource pool A relationship that controls the amount of data that a device can store data.
  • the process of the management node assigning the first storage block to the first device may include:
  • multiple resource pools may be divided into one domain.
  • the specific division manner may be various, for example, the resource pools belonging to the same network segment are divided into one domain, or divided according to the geographical region, and the like, which is not limited herein.
  • the management node determines the domain in which the first resource pool is located, which is referred to herein as the first domain. Normally, if the first resource pool is unavailable, most of the resource pools in the first domain are unavailable.
  • the management node may determine the destination domain corresponding to the first domain according to a preset rule.
  • a destination domain may be determined in a domain adjacent or close to the first domain. Assume that the domain where the first resource pool is located is the domain A, and the domain A is the closest to the geographic region where the domain B is located. In this case, the domain B can be determined as the destination domain.
  • the preset rule may be other, for example, the other domain of the adjacent network segment of the domain A is determined as the destination domain, and the like.
  • the management node determines the second resource pool in the domain B, and sends the prompt information to the first device, where the prompt information carries the identifier information of the second resource pool.
  • the management node also needs to add a binding relationship between the first device and the second resource pool, that is, adding the permission of the first device to store data in the second resource pool in the first type of permission information stored by the management node.
  • the degree of dispersion when storing data can be controlled, and even if the requested resource pool is unavailable, the data can be stored in a domain adjacent to or close to the requested resource pool, thereby avoiding excessive data discretization. Put extra stress on the network.
  • the storage blocks in the storage node are grouped into one resource pool, and the management node manages the data in each resource pool in units of resource pools, and the management is convenient.
  • FIG. 3 is a schematic flowchart of a data reading method according to an embodiment of the present disclosure, including:
  • S301 Receive a resource query request sent by the second device, where the resource query request includes identifier information of the data to be read.
  • the second device may be a computer or other terminal device used by the user, and is not limited herein.
  • the second device first sends a resource query request to the management node to request a storage location of the data to be read.
  • the resource query request needs to carry the identifier information of the data to be read, so that the management node can determine the storage location of the data to be read according to the identifier information.
  • S302 Determine a destination resource pool where the data to be read is located and a destination storage block where the data to be read is located in the destination resource pool.
  • the management node determines the destination resource pool and the destination storage block where the data to be read is located, according to the identification information of the data to be read carried in the received resource query request. Assume that the destination resource pool is resource pool 1, and the destination storage block is storage block 5 in resource pool 1.
  • the management node may store the second type of rights information, where the second type of rights information may include whether the second device has the right to read data in each resource pool. After the management node determines the destination resource pool, it may first determine, according to the second type of rights information, whether the second device has the right to read data in the target resource pool, and if yes, continue to determine the destination storage block, if If not, it can be left unprocessed or feedback to the second device like "no permission".
  • the above-mentioned rights can be understood as a binding relationship.
  • the second device is bound to the resource pool 1, the resource pool 2, the resource pool 3, and the resource pool 4.
  • the first device can read the four resource pools.
  • the data in this way, the management node can store the right of the second device to read data in the resource pool 1, the resource pool 2, the resource pool 3, and the resource pool 4.
  • This binding relationship can be set according to actual needs. set.
  • binding relationship in the embodiment of FIG. 3 may be different from the binding relationship in the embodiment of FIG. 2, that is, the permission of the device to store data in the resource pool may be different from the permission to read data, for example, A device can read data in resource pool 3, but cannot store data in resource pool 3.
  • the management node may modify the right of the second device stored by itself to read data in the resource pool. Specifically, the management node may add the second device to read data in the second resource pool after receiving an instruction to add a right to read data in the second resource pool for the preset second device. Permissions.
  • the management node adds the storage data permission to the device in the embodiment of FIG. 2, the corresponding read data permission of the device should also be correspondingly modified.
  • the rights of the second type of rights information stored in the management node are related to device A: device A can store data in resource pool 1 and resource pool 2, and can be in resource pool 1, resource pool 2, and resource. Data is read in pool 3 and resource pool 4.
  • the management node adds the permission that the device A can store the data in the resource pool 5.
  • the management node should also add the permission that the device A can read the data in the resource pool 5 in the second type of permission information stored therein. .
  • the "other devices” herein may be other preset devices that can read data in the resource pool 5.
  • the specific permissions added may be determined according to actual needs, and are not limited herein.
  • S303 Send the identifier information of the destination resource pool and the second path information of the destination storage block to the second device, so that the second device is configured according to the identifier information and the second path information.
  • the data to be read is read in a destination storage block in the destination resource pool.
  • the destination resource pool is the resource pool 1
  • the destination storage block is the storage block 5 in the resource pool 1.
  • the management node sends the second path information of the resource pool 1 and the storage block 5 to the second device.
  • the second device reads the data to be read from the storage block 5 in the resource pool 1.
  • the storage blocks in the storage node are grouped into one resource pool, and the management node manages the data in each resource pool in units of resource pools, and the management is convenient.
  • FIG. 4 is a schematic flowchart of a data cleaning method according to an embodiment of the present disclosure, including:
  • S401 Determine, for each resource pool, a first quantity of the occupied storage blocks in the resource pool.
  • the storage node may be virtualized into one storage block by using virtualization technology, and the capacity of each storage block may be the same.
  • each storage block has a capacity of 64 MB, or may be For others, it can be different, and is not limited here.
  • N storage blocks form a resource pool.
  • the storage node may periodically report its own usage information to the management node, and the usage information may include an identifier of each storage block included in the storage node, an identifier of the occupied storage block, and the like.
  • the management node determines the first quantity of the occupied storage blocks in each resource pool according to the information reported by the storage node.
  • S402 Determine whether the first quantity meets a preset data cleaning condition, and if yes, execute S403.
  • the first quantity is greater than a first preset threshold, and if yes, indicating that the preset data cleaning condition is met.
  • the first preset threshold can be set according to actual needs.
  • the resource usage rate of the resource pool is calculated according to the first quantity; whether the resource occupancy rate is greater than a second preset threshold, and if yes, indicating that the preset data cleaning condition is met.
  • the second quantity of the storage blocks available in the resource pool may be counted; and the resource occupancy rate of the resource pool is calculated according to the first quantity and the second quantity.
  • the second preset threshold can be set according to actual needs.
  • the method may further determine whether the resource pool needs to be cleaned up. For example, when the capacity of each storage block is 64 MB, the occupied capacity in the first resource pool may be obtained by using the first quantity of *64 MB, where the first resource pool includes The number of storage blocks *64MB gets the total capacity of the first resource pool, and the difference between the total capacity and the occupied capacity can be used as the remaining capacity of the first resource pool, which can be The remaining capacity sets a threshold. When the remaining capacity is less than the set threshold, it is determined that the resource pool needs to be cleaned up. Other methods do not limit.
  • S403 Send a clean data command to the storage node where each occupied second storage block in the resource pool is located, so that the storage node cleans data stored in the second storage block that is included by itself.
  • the storage node reports the identifier of the storage block that is occupied by itself to the management node, and the management node can determine each occupied second storage block in the resource pool, and can also determine the storage node where the second storage block is located.
  • the management node sends a clean data command to the storage node where each second storage block is located, and after receiving the instruction, the storage node cleans up the data stored in the second storage block.
  • the information reported by the storage node to the management node may further include an earliest time and a latest time in which the storage node stores data in each storage block, so that the management node may determine after the second storage block is determined.
  • the earliest time and the latest time of the data are stored in each of the second storage blocks.
  • the management node determines that the storage blocks occupied in the resource pool 1 are the storage block 3, the storage block 6, and the storage block 10, and determines that the earliest time of storing the data in the storage block 3 is August 10, 2015, and the latest time.
  • the earliest time to store data in the storage block 6 is January 1, 2016, and the latest time is August 15, 2016.
  • the earliest time to store data in the storage block 10 is May 2015. On the 4th, the latest time is July 6, 2016.
  • the management node may determine the target time in the time period corresponding to the earliest time and the latest time.
  • the specific determination manner may be various, for example, determining the intermediate time of the earliest time and the latest time as the target time, or determining a certain time in the months after the earliest time as the target time, or before the latest time A certain moment in a few months is determined as the target time, etc., and is not limited here.
  • the target time of the storage block 3 is December 10, 2015
  • the target time for storing data in the storage block 6 is May 1, 2016, the storage block.
  • the target time for storing data in 10 is September 4, 2015.
  • the management node sends clean data instructions to the storage node 3, the storage block 6, and the storage node where the storage block 10 is located, respectively.
  • the target time carried in the cleanup data command sent to the storage node where the storage block 3 is located is December 10, 2015, and the storage node where the storage block 3 is located will be stored in the block 3 in 2015. Data stored before December 10th of the year is deleted.
  • the target time carried in the cleanup data command sent to the storage node where the storage block 6 is located is May 1, 2016, and the storage node where the storage block 6 is located will be stored in the storage block 6 before May 1, 2016.
  • Data deletion; the target time carried in the cleanup data command sent to the storage node where the storage block 10 is located is September 4, 2015, and the storage node where the storage block 10 is located will be stored in the storage block 10 before September 4, 2015. Data deletion.
  • the management node may record the sending time of each clean data command; after the sending time, the storage node where the second storage block corresponding to the sending time is located each time the preset time length is reached Send clean data instructions.
  • the management node sends the cleanup data instruction to the storage node where the storage block 3 is located, the sending moment of the instruction is recorded, which is assumed to be August 17, 2016, and the preset duration is assumed to be one month. Then, the management node sends a clean data command to the storage node where the storage block 3 is located every other month, so that the storage node cleans up the data stored in the storage block 3.
  • the storage blocks in the storage node are grouped into one resource pool, and the data is stored, read, and cleaned in units of resource pools, thereby reducing the workload of management.
  • the data cleaning only the data in each resource pool is cleaned.
  • the first quantity of the occupied storage blocks in the resource pool is determined; determining whether the first quantity meets the preset a data cleaning condition; if yes, sending a clean data command to a storage node where each occupied second storage block in the resource pool is located, so that the storage node cleans up data stored in the second storage block included by itself .
  • the management node determines the number of occupied storage blocks in the resource pool, and when the quantity meets the preset data cleaning condition, the data in the storage block in the resource pool is cleaned, the process is simple, and the management node is reduced. The amount of work.
  • the present application further provides a data storage, cleaning, and reading device.
  • FIG. 5 is a schematic structural diagram of a data storage device according to an embodiment of the present disclosure, including:
  • the first receiving module 501 is configured to receive a resource request sent by the first device, where the resource request includes the identifier information of the first resource pool;
  • the allocating module 502 is configured to allocate a first storage block to the first device according to the resource request, where the first storage block is located in the first resource pool;
  • the first sending module 503 is configured to send the first path information of the first storage block to the first device, so that the first device stores the to-be-stored data according to the first path information to the The first storage block in the first resource pool.
  • the device may further include:
  • a first determining module (not shown), configured to determine, according to the first type of rights information stored in the management node, whether the first device has the right to store data in the first resource pool;
  • the first type of rights information includes information about whether the first device has rights to store data in each resource pool; if so, the allocation module 502 is triggered.
  • the allocating module 502 may include: a first determining submodule, an assigning submodule, a determining submodule, a sending submodule, and an adding submodule (not shown), where
  • a first determining sub-module configured to determine whether the first resource pool is available; if yes, triggering an allocation sub-module; if not, triggering determining a sub-module;
  • the allocating submodule configured to allocate, by the resource request, the first storage block to the first device
  • the determining sub-module is configured to determine a first domain where the first resource pool is located, where the domain is composed of multiple resource pools; according to a preset rule, determining a destination domain corresponding to the first domain, and Determining a second resource pool in the target domain;
  • a sending sub-module configured to send, to the first device, prompt information, where the prompt information carries identifier information of the second resource pool;
  • the storage blocks in the storage node are grouped into one resource pool, and the management node manages the data in each resource pool in units of resource pools, and the management is convenient.
  • FIG. 6 is a schematic structural diagram of a data reading apparatus according to an embodiment of the present disclosure, including:
  • the second receiving module 601 is configured to receive a resource query request sent by the second device, where the resource query request includes identifier information of the data to be read;
  • the first determining module 602 is configured to determine a destination resource pool where the data to be read is located and a destination storage block where the data to be read is located in the destination resource pool;
  • the second sending module 603 is configured to send the identifier information of the destination resource pool and the second path information of the destination storage block to the second device, so that the second device according to the identifier information and the The second path information reads the data to be read in a destination storage block in the destination resource pool.
  • the management node stores the right of the second device to read data in the resource pool; the device may further include:
  • a second determining module (not shown), configured to determine, according to the second type of rights information stored in the management node, whether the second device has the right to read data in the target resource pool;
  • the second type of rights information includes whether the second device has the right to read data in each resource pool; if yes, the first determining module 602 is triggered.
  • the device may further include:
  • the storage blocks in the storage node are grouped into one resource pool, and the management node manages the data in each resource pool in units of resource pools, and the management is convenient.
  • FIG. 7 is a schematic structural diagram of a data cleaning apparatus according to an embodiment of the present disclosure, including:
  • a second determining module 701 configured to determine, for each resource pool, a first quantity of the occupied storage blocks in the resource pool
  • the third determining module 702 is configured to determine whether the first quantity meets a preset data cleaning condition; if yes, trigger the fifth sending module 703;
  • a third sending module 703, configured to send, to the storage node where each occupied second storage block in the resource pool is located, a clean data command, so that the storage node stores the second storage block included in the second storage block The data is cleaned up.
  • the third determining module 702 may include: a second determining submodule, or a calculating submodule and a third determining submodule (not shown), where
  • the second determining sub-module is configured to determine whether the first quantity is greater than a first preset threshold, and if yes, indicating that the preset data clearing condition is met;
  • the calculating submodule is configured to calculate a resource occupancy rate of the resource pool according to the first quantity
  • the third determining sub-module is configured to determine whether the resource occupancy rate is greater than a second preset threshold, and if yes, indicating that the preset data cleaning condition is met.
  • the calculating submodule may be specifically used to:
  • the third sending module 703 is specifically configured to:
  • the device may further include: a recording module and a timing module (not shown), wherein
  • a recording module configured to record a sending moment of the cleaning data instruction
  • the timing module is configured to trigger the fifth sending module 703 every time the preset time length is reached after the sending time.
  • the storage blocks in the storage node are grouped into one resource pool, and the data is stored, read, and cleaned in units of resource pools, thereby reducing the workload of management.
  • the data cleaning only the data in each resource pool is cleaned.
  • the first quantity of the occupied storage blocks in the resource pool is determined; determining the first quantity is Whether the preset data cleaning condition is met; if yes, sending a clean data instruction to the storage node where each occupied second storage block in the resource pool is located, so that the storage node stores the second storage block included in itself The data is cleaned up.
  • the management node determines the number of occupied storage blocks in the resource pool, and when the quantity meets the preset data cleaning condition, the data in the storage block in the resource pool is cleaned, the process is simple, and the management node is reduced. The amount of work.
  • the embodiment of the present application further provides a cloud storage system, as shown in FIG. 1 , including: a management node, a plurality of storage nodes (storage node 1, storage node 2, storage node 3, storage node 3, storage node N), Alternatively, the cloud storage system may also include multiple management nodes, which are not limited herein. Each storage node includes M storage blocks, and N storage blocks form a resource pool.
  • the management node is configured to receive a resource request sent by the first device, where the resource request includes the identifier information of the first resource pool, and allocate, according to the resource request, the first storage block to the first device,
  • the first storage block is located in the first resource pool; the first path information of the first storage block is sent to the first device, so that the first device is to be stored according to the first path information.
  • Data is stored to the first memory block in the first resource pool.
  • the management node may be further configured to receive a resource query request sent by the second device, where the resource query request includes identifier information of the data to be read, and determine the purpose of the data to be read.
  • the resource pool and the destination storage block in which the data to be read is located in the destination resource pool; the identifier information of the destination resource pool and the second path information of the destination storage block are sent to the second device,
  • the second device reads the data to be read in a destination storage block in the destination resource pool according to the identifier information and the second path information.
  • the management node may be further configured to determine, for each resource pool, a first quantity of the occupied storage blocks in the resource pool; and determine whether the first quantity meets a preset data cleaning condition. And if so, sending a clean data command to the storage node where each occupied second storage block in the resource pool is located, so that the storage node cleans up data stored in the second storage block included by itself.
  • the storage blocks in the storage node are grouped into one resource pool, and the data is stored, read, and cleaned in units of resource pools, thereby reducing the workload of management.
  • the data cleaning only the data in each resource pool is cleaned.
  • the first quantity of the occupied storage blocks in the resource pool is determined; determining whether the first quantity is consistent Presetting data clearing conditions; if yes, sending a clean data command to a storage node where each occupied second storage block in the resource pool is located, so that the storage node stores data stored in the second storage block included by itself Clean up.
  • the management node determines the number of occupied storage blocks in the resource pool, and when the quantity meets the preset data cleaning condition, the data in the storage block in the resource pool is cleaned, the process is simple, and the management node is reduced. The amount of work.
  • the embodiment of the present application further provides an electronic device, as shown in FIG. 8, including a processor 801, a communication interface 802, a memory 803, and a communication bus 804, wherein the processor 801, the communication interface 802, and the memory 803 pass through the communication bus 804.
  • a processor 801, the communication interface 802, and the memory 803 pass through the communication bus 804.
  • the processor 801 is configured to implement the storage method in the embodiment shown in FIG. 2, the reading method in the embodiment of FIG. 3, and the cleaning method in the embodiment of FIG. 4 when the program stored in the memory 803 is executed.
  • the implementation of the present application further provides a computer readable storage medium, where the computer readable storage medium stores a computer program, and when the computer program is executed by the processor, the data storage method and the diagram in the embodiment shown in FIG. 2 are implemented.
  • the implementation of the present application further provides a computer program, when the computer program is executed, the data storage method in the embodiment shown in FIG. 2, the data reading method in the embodiment of FIG. 3, and the data cleaning in the embodiment of FIG. 4 are implemented. method.
  • the above computer readable storage medium embodiment In other words, it is substantially similar to the data storage method in the embodiment shown in FIG. 2, the data reading method in the embodiment of FIG. 3, and the data cleaning method in the embodiment of FIG. 4.
  • the data storage method in the embodiment shown in FIG. 2, the data reading method in the embodiment of FIG. 3, and the data cleaning method in the embodiment of FIG. 4 are basically similar. Therefore, the foregoing embodiments of the device, the embodiment of the electronic device, the embodiment of the computer readable storage medium, and the embodiment of the computer program are relatively simple. For related parts, refer to the description of the method embodiment.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

一种数据存储、读取、清理方法、装置及云存储系统,将存储节点中的存储块组成一个一个的资源池,以资源池为单位进行数据的存储、读取和清理,减少了管理的工作量。特别是数据清理时,仅对每个资源池中的数据进行清理,具体的,针对每个资源池,确定资源池中被占用的存储块的第一数量(S401);判断第一数量是否符合预设数据清理条件(S402);如果是,向该资源池中的每个被占用的第二存储块所在的存储节点发送清理数据指令,以使该存储节点对自身包括的第二存储块中存储的数据进行清理(S403)。也就是说,管理节点确定资源池中被占用的存储块的数量,当该数量符合预设数据清理条件时,对存储块中的数据进行清理,过程简单,减少了管理节点的工作量。

Description

一种数据存储、读取、清理方法、装置及云存储系统
本申请要求于2016年10月20日提交中国专利局、申请号为201610911405.X、发明名称为“一种数据存储、读取、清理方法、装置及云存储系统”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及云存储技术领域,特别涉及一种数据存储、读取、清理方法、装置及云存储系统。
背景技术
云存储系统中包括管理节点和存储节点,存储节点用于存储数据,管理节点用于对系统中各存储节点存储的数据进行管理。
通常情况下,存储节点将自身存储数据的元数据信息上报给管理节点,管理节点根据接收到的元数据信息对各存储节点存储的数据进行管理。比如:
设备需要在存储节点中存储数据时,设备向管理节点发送资源请求,管理节点根据该资源请求及各存储节点上报的元数据信息,为该设备分配存储节点,该设备将数据存储至分配的存储节点中;
设备需要读取存储节点中的数据时,设备向管理节点发送资源查询请求,管理节点根据该资源查询请求及各存储节点上报的元数据信息,确定待读取数据所在的存储节点的路径信息,将该路径信息发送给该设备,该设备根据该路径信息读取待读取数据;
另外,管理节点还可以根据各存储节点上报的元数据信息计算存储节点的剩余容量,当剩余容量低于设定阈值时,向该存储节点发送清理数据的指令,该存储节点将预设时间点之前的数据清理掉,保证存储空间可以重复利用。
在上述方案中,管理节点接收各个存储节点发送的元数据信息,计算各个存储节点的剩余容量,向各个存储节点发送指令,这一过程非常复杂,管理节点的工作量很大。
发明内容
本申请实施例的目的在于提供一种数据存储、读取、清理方法、装置及云存储系统,降低管理节点的工作量。
为达到上述目的,本申请实施例公开了一种数据存储方法,应用于云存储系统中的管理节点,所述系统还包括多个存储节点,每个存储节点包括M个存储块,N个存储块组成一个资源池,所述方法包括:
接收第一设备发送的资源请求,所述资源请求中包括第一资源池的标识信息;
根据所述资源请求,为所述第一设备分配第一存储块,所述第一存储块位于所述第一资源池中;
将所述第一存储块的第一路径信息发送给所述第一设备,以使所述第一设备根据所述第一路径信息将待存储数据存储至所述第一资源池中的第一存储块。
可选的,在所述接收第一设备发送的资源请求之后,还可以包括:
根据所述管理节点中存储的第一类权限信息,判断所述第一设备是否有在所述第一资源池中存储数据的权限;其中,所述第一类权限信息中包含所述第一设备是否有在各个资源池中存储数据的权限的信息;
如果是,执行所述根据所述资源请求,为所述第一设备分配第一存储块的步骤。
可选的,所述根据所述资源请求,为所述第一设备分配第一存储块,包括:
判断所述第一资源池是否可用;
如果是,根据所述资源请求,为所述第一设备分配第一存储块;
如果否,确定所述第一资源池所在的第一域,其中,域由多个资源池组成;
根据预设规则,确定所述第一域对应的目的域,并在所述目的域中确定 第二资源池;
向所述第一设备发送提示信息,所述提示信息中携带有所述第二资源池的标识信息;
添加所述第一设备在所述第二资源池中存储数据的权限。
为达到上述目的,本申请实施例还公开了一种数据读取方法,应用于云存储系统中的管理节点,所述系统还包括多个存储节点,每个存储节点包括M个存储块,N个存储块组成一个资源池,所述方法包括:
接收第二设备发送的资源查询请求,所述资源查询请求中包括待读取数据的标识信息;
确定所述待读取数据所在的目的资源池及所述待读取数据在所述目的资源池中所在的目的存储块;
将所述目的资源池的标识信息及所述目的存储块的第二路径信息发送给所述第二设备,以使所述第二设备根据所述标识信息及所述第二路径信息在所述目的资源池中的目的存储块中读取所述待读取数据。
可选的,在所述确定所述待读取数据所在的目的资源池之后,还可以包括:
根据所述管理节点中存储的第二类权限信息,判断所述第二设备是否有在所述目标资源池中读取数据的权限;其中,所述第二类权限信息中包含所述第二设备是否有在各个资源池中读取数据的权限;
如果是,执行确定所述待读取数据在所述目的资源池中所在的目的存储块的步骤。
可选的,所述方法还可以包括:
在接收到为预设的第二设备添加在第二资源池中读取数据的权限的指令后,添加所述第二设备在所述第二资源池中读取数据的权限。
为达到上述目的,本申请实施例还公开了一种数据清理方法,应用于云存储系统中的管理节点,所述系统还包括多个存储节点,每个存储节点包括M 个存储块,N个存储块组成一个资源池,存储块中的数据根据权利要求1所述的数据存储方法进行存储;所述方法包括:
针对每个资源池,确定所述资源池中被占用的存储块的第一数量;
判断所述第一数量是否符合预设数据清理条件;
如果是,向所述资源池中的每个被占用的第二存储块所在的存储节点发送清理数据指令,以使所述存储节点对自身包括的第二存储块中存储的数据进行清理。
可选的,所述判断所述第一数量是否符合预设数据清理条件,可以包括:
判断所述第一数量是否大于第一预设阈值,如果是,表示符合预设数据清理条件;
或者,根据所述第一数量,计算所述资源池的资源占用率;
判断所述资源占用率是否大于第二预设阈值,如果是,表示符合预设数据清理条件。
可选的,所述根据所述第一数量,计算所述资源池的资源占用率,包括:
统计所述资源池中可用的存储块的第二数量;
根据所述第一数量和所述第二数量,计算所述资源池的资源占用率。
可选的,所述向所述资源池中的每个被占用的第二存储块所在的存储节点发送清理数据指令,可以包括:
确定每个第二存储块中存储数据的最早时刻及最晚时刻;
在所述最早时刻及最晚时刻对应的时间段中,确定目标时刻;
向每个第二存储块所在的存储节点发送清理数据指令,所述指令中携带有所述目标时刻,以使所述存储节点将自身包括的第二存储块中存储的目标数据删除,其中,所述目标数据为存储时刻在所述目标时刻之前的数据。
可选的,所述向每个第二存储块所在的存储节点发送清理数据指令之后,还可以包括:
记录所述清理数据指令的发送时刻;
在所述发送时刻后,每当到达预设时长时,执行所述向每个第二存储块所在的存储节点发送清理数据指令的步骤。
为达到上述目的,本申请实施例还公开了一种数据存储装置,应用于云存储系统中的管理节点,所述系统还包括多个存储节点,每个存储节点包括M个存储块,N个存储块组成一个资源池,所述装置包括:
第一接收模块,用于接收第一设备发送的资源请求,所述资源请求中包括第一资源池的标识信息;
分配模块,用于根据所述资源请求,为所述第一设备分配第一存储块,所述第一存储块位于所述第一资源池中;
第一发送模块,用于将所述第一存储块的第一路径信息发送给所述第一设备,以使所述第一设备根据所述第一路径信息将待存储数据存储至所述第一资源池中的第一存储块。
可选的,所述装置还可以包括:
第一判断模块,用于根据所述管理节点中存储的第一类权限信息,判断所述第一设备是否有在所述第一资源池中存储数据的权限;其中,所述第一类权限信息中包含所述第一设备是否有在各个资源池中存储数据的权限的信息;如果是,触发所述分配模块。
可选的,所述分配模块,可以包括:
第一判断子模块,用于判断所述第一资源池是否可用;如果是,触发分配子模块,如果否,触发确定子模块;
所述分配子模块,用于根据所述资源请求,为所述第一设备分配第一存储块;
所述确定子模块,用于确定所述第一资源池所在的第一域,其中,域由多个资源池组成;根据预设规则,确定所述第一域对应的目的域,并在所述目的域中确定第二资源池;
发送子模块,用于向所述第一设备发送提示信息,所述提示信息中携带有所述第二资源池的标识信息;
添加子模块,用于添加所述第一设备在所述第二资源池中存储数据的权限。
为达到上述目的,本申请实施例还公开了一种数据读取装置,应用于云存储系统中的管理节点,所述系统还包括多个存储节点,每个存储节点包括M个存储块,N个存储块组成一个资源池,所述装置包括:
第二接收模块,用于接收第二设备发送的资源查询请求,所述资源查询请求中包括待读取数据的标识信息;
第一确定模块,用于确定所述待读取数据所在的目的资源池及所述待读取数据在所述目的资源池中所在的目的存储块;
第二发送模块,用于将所述目的资源池的标识信息及所述目的存储块的第二路径信息发送给所述第二设备,以使所述第二设备根据所述标识信息及所述第二路径信息在所述目的资源池中的目的存储块中读取所述待读取数据。
可选的,所述装置还可以包括:
第二判断模块,用于根据所述管理节点中存储的第二类权限信息,判断所述第二设备是否有在所述目标资源池中读取数据的权限;其中,所述第二类权限信息中包含所述第二设备是否有在各个资源池中读取数据的权限;如果是,触发所述第一确定模块。
可选的,所述装置还可以包括:
添加模块,用于在接收到为预设的第二设备添加在第三资源池中读取数据的权限的指令后,添加所述第二设备在所述第三资源池中读取数据的权限。
为达到上述目的,本申请实施例还公开了一种数据清理装置,应用于云存储系统中的管理节点,所述系统还包括多个存储节点,每个存储节点包括M个存储块,N个存储块组成一个资源池,存储块中的数据根据权利要求13所述的数据存储装置进行存储;所述装置包括:
第二确定模块,用于针对每个资源池,确定所述资源池中被占用的存储 块的第一数量;
第三判断模块,用于判断所述第一数量是否符合预设数据清理条件;如果是,触发第三发送模块;
所述第三发送模块,用于向所述资源池中的每个被占用的第二存储块所在的存储节点发送清理数据指令,以使所述存储节点对自身包括的第二存储块中存储的数据进行清理。
可选的,所述第三判断模块,可以包括:第二判断子模块、或者计算子模块和第三判断子模块,其中,
所述第二判断子模块,用于判断所述第一数量是否大于第一预设阈值,如果是,表示符合预设数据清理条件;
所述计算子模块,用于根据所述第一数量,计算所述资源池的资源占用率;
所述第三判断子模块,用于判断所述资源占用率是否大于第二预设阈值,如果是,表示符合预设数据清理条件。
可选的,所述计算子模块,具体可以用于:
统计所述资源池中可用的存储块的第二数量;
根据所述第一数量和所述第二数量,计算所述资源池的资源占用率。
可选的,所述第三发送模块,具体可以用于:
确定每个第二存储块中存储数据的最早时刻及最晚时刻;
在所述最早时刻及最晚时刻对应的时间段中,确定目标时刻;
向每个第二存储块所在的存储节点发送清理数据指令,所述指令中携带有所述目标时刻,以使所述存储节点将自身包括的第二存储块中存储的目标数据删除,其中,所述目标数据为存储时刻在所述目标时刻之前的数据。
可选的,所述装置还可以包括:
记录模块,用于记录所述清理数据指令的发送时刻;
定时模块,用于在所述发送时刻后,每当到达预设时长时,触发所述第五发送模块。
为达到上述目的,本申请实施例还公开了一种云存储系统,包括:管理节点,多个存储节点,其中,每个存储节点包括M个存储块,N个存储块组成一个资源池;
所述管理节点,用于接收第一设备发送的资源请求,所述资源请求中包括第一资源池的标识信息;根据所述资源请求,为所述第一设备分配第一存储块,所述第一存储块位于所述第一资源池中;将所述第一存储块的第一路径信息发送给所述第一设备,以使所述第一设备根据所述第一路径信息将待存储数据存储至所述第一资源池中的第一存储块。
可选的,所述管理节点,还可以用于接收第二设备发送的资源查询请求,所述资源查询请求中包括待读取数据的标识信息;确定所述待读取数据所在的目的资源池及所述待读取数据在所述目的资源池中所在的目的存储块;将所述目的资源池的标识信息及所述目的存储块的第二路径信息发送给所述第二设备,以使所述第二设备根据所述标识信息及所述第二路径信息在所述目的资源池中的目的存储块中读取所述待读取数据。
可选的,所述管理节点,还可以用于针对每个资源池,确定所述资源池中被占用的存储块的第一数量;判断所述第一数量是否符合预设数据清理条件;如果是,向所述资源池中的每个被占用的第二存储块所在的存储节点发送清理数据指令,以使所述存储节点对自身包括的第二存储块中存储的数据进行清理。
为达到上述目的,本申请实施例还公开了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述任一种数据存储方法、数据读取方法、数据清理方法。
为达到上述目的,本申请实施例还公开了一种计算机可读存储介质,所 述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一种数据存储方法、数据读取方法、数据清理方法。
为达到上述目的,本申请实施例还公开了一种计算机程序,所述计算机程序被执行时实现上述任一种数据存储方法、数据读取方法、数据清理方法。
应用本申请实施例,将存储节点中的存储块组成一个一个的资源池,以资源池为单位,进行数据的存储、读取和清理,减少了管理的工作量。特别是在数据清理时,仅对每个资源池中的数据进行清理,具体的,针对每个资源池,确定资源池中被占用的存储块的第一数量;判断第一数量是否符合预设数据清理条件;如果是,向该资源池中的每个被占用的第二存储块所在的存储节点发送清理数据指令,以使该存储节点对自身包括的第二存储块中存储的数据进行清理。也就是说,管理节点确定资源池中被占用的存储块的数量,当该数量符合预设数据清理条件时,对资源池中的存储块中的数据进行清理,过程简单,减少了管理节点的工作量。
附图说明
为了更清楚地说明本申请实施例和现有技术的技术方案,下面对实施例和现有技术中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的云存储系统的结构示意图;
图2为本申请实施例提供的数据存储方法的流程示意图;
图3为本申请实施例提供的数据读取方法的流程示意图;
图4为本申请实施例提供的数据清理方法的流程示意图;
图5为本申请实施例提供的数据存储装置的结构示意图;
图6为本申请实施例提供的数据读取装置的结构示意图;
图7为本申请实施例提供的数据清理装置的结构示意图;
图8为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案、及优点更加清楚明白,以下参照附图并举实施例,对本申请进一步详细说明。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为了解决上述技术问题,本申请实施例提供了一种数据存储、读取、清理方法、装置及云存储系统。该云存储系统可以如图1所示,包括管理节点和多个存储节点(存储节点1、存储节点2、存储节点3、存储节点3……存储节点N),其中,每个存储节点包括M个存储块,N个存储块组成一个资源池。也就是说,可以利用虚拟化技术,将存储节点虚拟化为一个一个的存储块,N个存储块组成一个资源池,管理节点对每个资源池中的数据进行管理。
在本实施例中,M与N的具体数值可以根据实际情况进行设定,M可以大于、小于、等于N,存储节点与资源池并没有严格的对应关系。比如,存储节点1中的三个存储块与存储节点2中的四个存储块可以组成一个资源池,存储节点1中的另三个存储块、存储节点2中的另两个存储块、存储节点3中的两个存储块可以组成一个资源池……
或者,也可以多个存储节点中的全部存储块组成一个资源池,等等,具体情况不做限定。
或者,该云存储系统也可以包括多个管理节点,在此不做限制。
该数据存储、清理、读取方法及装置应用于该云存储系统中的管理节点。下面首先对本申请实施例提供的数据存储方法进行详细说明。
图2为本申请实施例提供的数据存储方法的流程示意图,包括:
S201:接收第一设备发送的资源请求,所述资源请求中包括第一资源池的标识信息。
第一设备可以为图像采集设备,也可以为用户使用的计算机等其他设备,在此不做限制。当第一设备需要在存储节点中存储数据时,第一设备首先向管理节点发送资源请求,以请求资源池中的存储块来存储数据。需要说明的 是,第一设备中可以预先获得资源池的标识信息,并确定自身存储数据的第一资源池的标识信息,将所确定的标识信息携带在资源请求中发送给管理节点。
S202:根据所述资源请求,为所述第一设备分配第一存储块,所述第一存储块位于所述第一资源池中。
假设第一设备发送的资源请求中携带的第一资源池的标识信息为1,也就是说,第一资源池为资源池1。管理节点在资源池1中为第一设备分配第一存储块。假设资源池1中包括20个存储块,管理节点为第一设备分配的第一存储块为存储块5。
S203:将所述第一存储块的第一路径信息发送给所述第一设备,以使所述第一设备根据所述第一路径信息将待存储数据存储至所述第一资源池中的第一存储块。
延续上面的例子,管理节点将存储块5的路径信息发送给第一设备,第一设备根据存储块5的路径信息,将待存储数据存储至资源池1中的存储块5。
作为本申请的一种实施方式,管理节点中可以存储有第一类权限信息,该第一类权限信息中可以包含第一设备是否有在各个资源池中存储数据的权限的信息;这样,管理节点在接收到第一设备发送的资源请求后,可以先根据该第一类权限信息,判断第一设备是否有在第一资源池中存储数据的权限;如果有,再为第一设备分配第一存储块,如果没有,则可以不作处理,或者向第一设备反馈类似于“没有权限”之类的提示信息。
假设管理节点存储的第一类权限信息中针对第一设备存储数据的权限为:第一设备可以在资源池1和资源池2中存储数据。管理节点在接收到第一设备发送的资源请求之后,判断第一设备有在第一资源池(即资源池1)中存储数据的权限;这种情况下,管理节点执行上述S202及S203。
上述权限可以理解为一种绑定关系,比如,将第一设备与资源池1和资源池2进行绑定,第一设备存储的数据只存储在资源池1和资源池2中,这样,管理节点中便可以存储第一设备可以在资源池1和资源池2中存储数据的权限。这种绑定关系可以根据实际需求进行设定。建立设备与资源池的绑 定关系,可以对设备能够存储数据的数据量进行控制。
作为本申请的一种实施方式,管理节点为第一设备分配第一存储块的过程,可以包括:
判断所述第一资源池是否可用;
如果是,根据所述资源请求,为所述第一设备分配第一存储块;
如果否,确定所述第一资源池所在的第一域,其中,域由多个资源池组成;
根据预设规则,确定所述第一域对应的目的域,并在所述目的域中确定第二资源池;
向所述第一设备发送提示信息,所述提示信息中携带有所述第二资源池的标识信息;
添加所述第一设备在所述第二资源池中存储数据的权限。
需要说明的是,在本实施方式中,可以将多个资源池划分为一个域。具体的划分方式可以有多种,比如,将属于同一网段的资源池划分为一个域,或者根据地理区域进行划分等等,在此不作限定。
当第一设备请求的第一资源池不可用时,管理节点确定第一资源池所在的域,这里将其称为第一域。通常情况下,如果第一资源池不可用,则第一域内的资源池大部分都不可用。
因此,管理节点可以根据预设规则,确定第一域对应的目的域。具体的,可以在与第一域相邻或相近的域中确定一个目的域。假设第一资源池所在的域为域A,域A与域B所在的地理区域最接近,这时,可以将域B确定为目的域。或者,预设规则也可以为其他,比如,将与域A在相邻网段的其他域确定为目的域等,在此不做限定。
管理节点在域B中确定第二资源池,向第一设备发送提示信息,该提示信息中携带有第二资源池的标识信息。另外,管理节点还需要添加第一设备与第二资源池的绑定关系,也就是在管理节点存储的第一类权限信息中添加第一设备在第二资源池中存储数据的权限。
应用本实施方式,可以控制存储数据时的离散度,即使出现请求的资源池不可用的情况时,也能保证将数据存储在与请求的资源池相邻或相近的域内,避免了数据过度离散对网络造成额外的压力。
应用本申请图2所示实施例,将存储节点中的存储块组成一个一个的资源池,管理节点以资源池为单位,对每个资源池中的数据进行管理,管理方便。
图3为本申请实施例提供的数据读取方法的流程示意图,包括:
S301:接收第二设备发送的资源查询请求,所述资源查询请求中包括待读取数据的标识信息。
第二设备可以为用户使用的计算机或其他终端设备,在此不做限制。当第二设备需要读取数据时,第二设备首先向管理节点发送资源查询请求,以请求待读取数据的存储位置。该资源查询请求中需要携带待读取数据的标识信息,这样,管理节点才能根据该标识信息,确定待读取数据的存储位置。
S302:确定所述待读取数据所在的目的资源池及所述待读取数据在所述目的资源池中所在的目的存储块。
如上所述,管理节点根据接收到的资源查询请求中携带的待读取数据的标识信息,确定该待读取数据所在的目的资源池及目的存储块。假设目的资源池为资源池1,目的存储块为资源池1中的存储块5。
作为一种实施方式,管理节点中可以存储有第二类权限信息,该第二类权限信息中可以包含第二设备是否有在各个资源池中读取数据的权限。这样,管理节点确定出目的资源池后,可以先根据该第二类权限信息判断第二设备是否有在所述目标资源池中读取数据的权限,如果有,再继续确定目的存储块,如果没有,则可以不作处理,或者向第二设备反馈类似于“没有权限”之类的提示信息。
上述权限可以理解为一种绑定关系,比如,将第二设备与资源池1、资源池2、资源池3和资源池4进行绑定,第一设备可以读取这4个资源池中的数据,这样,管理节点中便可以存储第二设备可以在资源池1、资源池2、资源池3和资源池4中读取数据的权限。这种绑定关系可以根据实际需求进行设 定。
需要说明的是,图3实施例中的绑定关系与图2实施例中的绑定关系可以不同,也就是说,设备在资源池中存储数据的权限与读取数据的权限可以不同,比如,某设备可以读取资源池3中的数据,但是不能在资源池3中存储数据。
作为一种实施方式,管理节点可以对自身存储的第二设备在资源池中读取数据的权限进行修改。具体的,管理节点可以在接收到为预设的第二设备添加在第二资源池中读取数据的权限的指令后,添加所述第二设备在所述第二资源池中读取数据的权限。
也就是说,如果出现图2实施例中管理节点为设备添加存储数据权限的情况,那么相应的,该设备对应的读取数据的权限也应当对应修改。
举例来说,假设管理节点中原本存储的第二类权限信息中关于设备A的权限为:设备A可以在资源池1和资源池2中存储数据,可以在资源池1、资源池2、资源池3和资源池4中读取数据。之后,管理节点又添加了设备A可以在资源池5中存储数据的权限,那么,管理节点也应当在其存储的第二类权限信息中添加设备A可以在资源池5中读取数据的权限。或者,添加设备A及其他设备在资源池5中读取数据的权限。这里的“其他设备”可以为预先设定的其他可以在资源池5中读取数据的设备,添加的具体权限可以根据实际需求确定,在此不做限制。
S303:将所述目的资源池的标识信息及所述目的存储块的第二路径信息发送给所述第二设备,以使所述第二设备根据所述标识信息及所述第二路径信息在所述目的资源池中的目的存储块中读取所述待读取数据。
延续上述例子,假设目的资源池为资源池1,目的存储块为资源池1中的存储块5,管理节点将资源池1及存储块5的第二路径信息发送给第二设备。第二设备从资源池1中的存储块5中读取该待读取数据。
应用本申请图3所示实施例,将存储节点中的存储块组成一个一个的资源池,管理节点以资源池为单位,对每个资源池中的数据进行管理,管理方便。
图4为本申请实施例提供的数据清理方法的流程示意图,包括:
S401:针对每个资源池,确定所述资源池中被占用的存储块的第一数量。
在本申请所示实施例中,可以利用虚拟化技术,将存储节点虚拟化为一个一个的存储块,每个存储块的容量可以相同,比如,每个存储块容量均为64MB,或者也可以为其他,也可以不同,在此不做限定。N个存储块组成一个资源池。存储节点可以将自身使用信息定时上报给管理节点,该使用信息可以包括该存储节点中包括的每个存储块的标识、被占用的存储块的标识等等。
管理节点根据存储节点上报的信息,确定每个资源池中被占用的存储块的第一数量。
S402:判断所述第一数量是否符合预设数据清理条件,如果是,执行S403。
作为一种实施方式,可以判断所述第一数量是否大于第一预设阈值,如果是,表示符合预设数据清理条件。第一预设阈值可以根据实际需求进行设定。
作为另一种实施方式,根据所述第一数量,计算所述资源池的资源占用率;判断所述资源占用率是否大于第二预设阈值,如果是,表示符合预设数据清理条件。
需要说明的是,可能存在这样一种情况,某个资源池包含的存储块中被占用的存储块并不多,但是该资源池中大多存储块不可用,这样,也应该对该资源池进行清理。
这种情况下,可以统计所述资源池中可用的存储块的第二数量;根据所述第一数量和所述第二数量,计算所述资源池的资源占用率。第二预设阈值可以根据实际需求进行设定。
或者,还可以采用其他方式判断资源池是否需要清理,比如,当每个存储块的容量为64MB时,可以通过第一数量*64MB得到第一资源池中已占用的容量,第一资源池包含的存储块的数量*64MB得到第一资源池的总容量,总容量与已占用的容量之差可以作为第一资源池的剩余容量,可以针对该剩 余容量设定阈值,当该剩余容量小于设定的阈值时,则判断资源池需要清理。其他方式不做限制。
S403:向所述资源池中的每个被占用的第二存储块所在的存储节点发送清理数据指令,以使所述存储节点对自身包括的第二存储块中存储的数据进行清理。
如上所述,存储节点将自身被占用的存储块的标识上报给管理节点,管理节点便可以确定资源池中每个被占用的第二存储块,也可以确定第二存储块所在的存储节点。管理节点向每个第二存储块所在的存储节点发送清理数据指令,存储节点在接收到该指令后,清理第二存储块中存储的数据。
存储节点向管理节点上报的信息中还可以包括存储节点自身包括的每个存储块中存储数据的最早时刻及最晚时刻,这样,管理节点在确定出被占用的第二存储块后,可以确定每个第二存储块中存储数据的最早时刻及最晚时刻。
假设管理节点确定出资源池1中被占用的存储块为存储块3、存储块6和存储块10,并确定出存储块3中存储数据的最早时刻为2015年8月10日、最晚时刻为2016年8月9日,存储块6中存储数据的最早时刻为2016年1月1日、最晚时刻为2016年8月15日,存储块10中存储数据的最早时刻为2015年5月4日、最晚时刻为2016年7月6日。
管理节点可以在最早时刻及最晚时刻对应的时间段中,确定目标时刻。具体确定方式可以有多种,比如,将最早时刻与最晚时刻的中间时刻确定为目标时刻,或者将最早时刻之后的几个月中某一时刻确定为目标时刻,或者将最晚时刻之前的几个月中某一时刻确定为目标时刻等等,在此不做限定。
假设将最早时刻之后4个月的时刻确定为目标时刻,则确定存储块3的目标时刻为2015年12月10日,存储块6中存储数据的目标时刻为2016年5月1日,存储块10中存储数据的目标时刻为2015年9月4日。
管理节点向存储块3、存储块6和存储块10所在的存储节点分别发送清理数据指令。其中,向存储块3所在的存储节点发送的清理数据指令中携带的目标时刻为2015年12月10日,存储块3所在的存储节点将存储块3中2015 年12月10日之前存储的数据删除。类似的,向存储块6所在的存储节点发送的清理数据指令中携带的目标时刻为2016年5月1日,存储块6所在的存储节点将存储块6中2016年5月1日之前存储的数据删除;向存储块10所在的存储节点发送的清理数据指令中携带的目标时刻为2015年9月4日,存储块10所在的存储节点将存储块10中2015年9月4日之前存储的数据删除。
作为本申请的一种实施方式,管理节点可以记录每个清理数据指令的发送时刻;在该发送时刻后,每当到达预设时长时,向该发送时刻对应的第二存储块所在的存储节点发送清理数据指令。
以存储块3为例,管理节点在向存储块3所在的存储节点发送清理数据指令后,记录该指令的发送时刻,假设为2016年8月17日,另外,假设预设时长为一个月,则管理节点每隔一个月,向存储块3所在的存储节点发送清理数据指令,使该存储节点对存储块3中存储的数据进行清理。
应用本申请图4所示实施例,将存储节点中的存储块组成一个一个的资源池,以资源池为单位,进行数据的存储、读取和清理,减少了管理的工作量。特别是在数据清理时,仅对每个资源池中的数据进行清理,具体的,针对每个资源池,确定资源池中被占用的存储块的第一数量;判断第一数量是否符合预设数据清理条件;如果是,向该资源池中的每个被占用的第二存储块所在的存储节点发送清理数据指令,以使该存储节点对自身包括的第二存储块中存储的数据进行清理。也就是说,管理节点确定资源池中被占用的存储块的数量,当该数量符合预设数据清理条件时,对资源池中的存储块中的数据进行清理,过程简单,减少了管理节点的工作量。
与上述方法实施例相对应,本申请还提供一种数据存储、清理、读取装置。
图5为本申请实施例提供的数据存储装置的结构示意图,包括:
第一接收模块501,用于接收第一设备发送的资源请求,所述资源请求中包括第一资源池的标识信息;
分配模块502,用于根据所述资源请求,为所述第一设备分配第一存储块,所述第一存储块位于所述第一资源池中;
第一发送模块503,用于将所述第一存储块的第一路径信息发送给所述第一设备,以使所述第一设备根据所述第一路径信息将待存储数据存储至所述第一资源池中的第一存储块。
在本实施例中,所述装置还可以包括:
第一判断模块(图中未示出),用于根据所述管理节点中存储的第一类权限信息,判断所述第一设备是否有在所述第一资源池中存储数据的权限;其中,所述第一类权限信息中包含第一设备是否有在各个资源池中存储数据的权限的信息;如果是,触发分配模块502。
在本实施例中,分配模块502,可以包括:第一判断子模块、分配子模块、确定子模块、发送子模块和添加子模块(图中未示出),其中,
第一判断子模块,用于判断所述第一资源池是否可用;如果是,触发分配子模块,如果否,触发确定子模块;
所述分配子模块,用于根据所述资源请求,为所述第一设备分配第一存储块;
所述确定子模块,用于确定所述第一资源池所在的第一域,其中,域由多个资源池组成;根据预设规则,确定所述第一域对应的目的域,并在所述目的域中确定第二资源池;
发送子模块,用于向所述第一设备发送提示信息,所述提示信息中携带有所述第二资源池的标识信息;
添加子模块,用于添加所述第一设备在所述第二资源池中存储数据的权限。
应用本申请图5所示实施例,将存储节点中的存储块组成一个一个的资源池,管理节点以资源池为单位,对每个资源池中的数据进行管理,管理方便。
图6为本申请实施例提供的数据读取装置的结构示意图,包括:
第二接收模块601,用于接收第二设备发送的资源查询请求,所述资源查询请求中包括待读取数据的标识信息;
第一确定模块602,用于确定所述待读取数据所在的目的资源池及所述待读取数据在所述目的资源池中所在的目的存储块;
第二发送模块603,用于将所述目的资源池的标识信息及所述目的存储块的第二路径信息发送给所述第二设备,以使所述第二设备根据所述标识信息及所述第二路径信息在所述目的资源池中的目的存储块中读取所述待读取数据。
在本实施例中,所述管理节点中存储有第二设备在资源池中读取数据的权限;所述装置还可以包括:
第二判断模块(图中未示出),用于根据所述管理节点中存储的第二类权限信息,判断所述第二设备是否有在所述目标资源池中读取数据的权限;其中,所述第二类权限信息中包含第二设备是否有在各个资源池中读取数据的权限;如果是,触发第一确定模块602。
在本实施例中,所述装置还可以包括:
添加模块(图中未示出),用于在接收到为预设的第二设备添加在第三资源池中读取数据的权限的指令后,添加所述第二设备在所述第三资源池中读取数据的权限。
应用本申请图6所示实施例,将存储节点中的存储块组成一个一个的资源池,管理节点以资源池为单位,对每个资源池中的数据进行管理,管理方便。
图7为本申请实施例提供的数据清理装置的结构示意图,包括:
第二确定模块701,用于针对每个资源池,确定所述资源池中被占用的存储块的第一数量;
第三判断模块702,用于判断所述第一数量是否符合预设数据清理条件;如果是,触发第五发送模块703;
第三发送模块703,用于向所述资源池中的每个被占用的第二存储块所在的存储节点发送清理数据指令,以使所述存储节点对自身包括的第二存储块中存储的数据进行清理。
在本实施例中,第三判断模块702,可以包括:第二判断子模块、或者计算子模块和第三判断子模块(图中未示出),其中,
所述第二判断子模块,用于判断所述第一数量是否大于第一预设阈值,如果是,表示符合预设数据清理条件;
所述计算子模块,用于根据所述第一数量,计算所述资源池的资源占用率;
所述第三判断子模块,用于判断所述资源占用率是否大于第二预设阈值,如果是,表示符合预设数据清理条件。
在本实施例中,所述计算子模块,具体可以用于:
统计所述资源池中可用的存储块的第二数量;
根据所述第一数量和所述第二数量,计算所述资源池的资源占用率。
在本实施例中,第三发送模块703,具体可以用于:
确定每个第二存储块中存储数据的最早时刻及最晚时刻;
在所述最早时刻及最晚时刻对应的时间段中,确定目标时刻;
向每个第二存储块所在的存储节点发送清理数据指令,所述指令中携带有所述目标时刻,以使所述存储节点将自身包括的第二存储块中存储的目标数据删除,其中,所述目标数据为存储时刻在所述目标时刻之前的数据。
在本实施例中,所述装置还可以包括:记录模块和定时模块(图中未示出),其中,
记录模块,用于记录所述清理数据指令的发送时刻;
定时模块,用于在所述发送时刻后,每当到达预设时长时,触发第五发送模块703。
应用本申请图7所示实施例,将存储节点中的存储块组成一个一个的资源池,以资源池为单位,进行数据的存储、读取和清理,减少了管理的工作量。特别是在数据清理时,仅对每个资源池中的数据进行清理,具体的,针对每个资源池,确定资源池中被占用的存储块的第一数量;判断第一数量是 否符合预设数据清理条件;如果是,向该资源池中的每个被占用的第二存储块所在的存储节点发送清理数据指令,以使该存储节点对自身包括的第二存储块中存储的数据进行清理。也就是说,管理节点确定资源池中被占用的存储块的数量,当该数量符合预设数据清理条件时,对资源池中的存储块中的数据进行清理,过程简单,减少了管理节点的工作量。
本申请实施例还提供一种云存储系统,如图1所示,包括:管理节点,多个存储节点(存储节点1、存储节点2、存储节点3、存储节点3……存储节点N),或者,该云存储系统也可以包括多个管理节点,在此不做限制。每个存储节点包括M个存储块,N个存储块组成一个资源池。
所述管理节点,用于接收第一设备发送的资源请求,所述资源请求中包括第一资源池的标识信息;根据所述资源请求,为所述第一设备分配第一存储块,所述第一存储块位于所述第一资源池中;将所述第一存储块的第一路径信息发送给所述第一设备,以使所述第一设备根据所述第一路径信息将待存储数据存储至所述第一资源池中的第一存储块。
在本实施例中,所述管理节点,还可以用于接收第二设备发送的资源查询请求,所述资源查询请求中包括待读取数据的标识信息;确定所述待读取数据所在的目的资源池及所述待读取数据在所述目的资源池中所在的目的存储块;将所述目的资源池的标识信息及所述目的存储块的第二路径信息发送给所述第二设备,以使所述第二设备根据所述标识信息及所述第二路径信息在所述目的资源池中的目的存储块中读取所述待读取数据。
在本实施例中,所述管理节点,还可以用于针对每个资源池,确定所述资源池中被占用的存储块的第一数量;判断所述第一数量是否符合预设数据清理条件;如果是,向所述资源池中的每个被占用的第二存储块所在的存储节点发送清理数据指令,以使所述存储节点对自身包括的第二存储块中存储的数据进行清理。
应用本申请所示实施例,将存储节点中的存储块组成一个一个的资源池,以资源池为单位,进行数据的存储、读取和清理,减少了管理的工作量。特别是在数据清理时,仅对每个资源池中的数据进行清理,具体的,针对每个资源池,确定资源池中被占用的存储块的第一数量;判断第一数量是否符合 预设数据清理条件;如果是,向该资源池中的每个被占用的第二存储块所在的存储节点发送清理数据指令,以使该存储节点对自身包括的第二存储块中存储的数据进行清理。也就是说,管理节点确定资源池中被占用的存储块的数量,当该数量符合预设数据清理条件时,对资源池中的存储块中的数据进行清理,过程简单,减少了管理节点的工作量。
本申请实施例还提供了一种电子设备,如图8所示,包括处理器801、通信接口802、存储器803和通信总线804,其中,处理器801,通信接口802,存储器803通过通信总线804完成相互间的通信,
存储器803,用于存放计算机程序;
处理器801,用于执行存储器803上所存放的程序时,实现图2所示实施例中的存储方法、图3实施例中的读取方法、图4实施例中的清理方法。
本申请实施还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现图2所示实施例中的数据存储方法、图3实施例中的数据读取方法、图4实施例中的数据清理方法。
本申请实施还提供了一种计算机程序,所述计算机程序被执行时实现图2所示实施例中的数据存储方法、图3实施例中的数据读取方法、图4实施例中的数据清理方法。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同 相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于图5所示的数据存储装置实施例而言,其基本相似于图2所示的数据存储方法实施例;对于图6所示的数据读取装置实施例而言,其基本类似于图3所示的数据读取方法实施例;对于图7所示的数据清理装置实施例而言,其基本为类似于图4所示的数据清理方法实施例;对于图8所示电子设备实施例而言,其基本类似于图2所示实施例中的数据存储方法、图3实施例中的数据读取方法、图4实施例中的数据清理方法;对于上述计算机可读存储介质实施例而言,其基本类似于图2所示实施例中的数据存储方法、图3实施例中的数据读取方法、图4实施例中的数据清理方法;对于上述计算机程序实施例而言,其基本类似于图2所示实施例中的数据存储方法、图3实施例中的数据读取方法、图4实施例中的数据清理方法。所以上述各装置实施例、电子设备实施例、计算机可读存储介质实施例、计算机程序实施例描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域普通技术人员可以理解实现上述方法实施方式中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于计算机可读取存储介质中,这里所称得的存储介质,如:ROM/RAM、磁碟、光盘等。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

Claims (28)

  1. 一种数据存储方法,其特征在于,应用于云存储系统中的管理节点,所述系统还包括多个存储节点,每个存储节点包括M个存储块,N个存储块组成一个资源池,所述方法包括:
    接收第一设备发送的资源请求,所述资源请求中包括第一资源池的标识信息;
    根据所述资源请求,为所述第一设备分配第一存储块,所述第一存储块位于所述第一资源池中;
    将所述第一存储块的第一路径信息发送给所述第一设备,以使所述第一设备根据所述第一路径信息将待存储数据存储至所述第一资源池中的第一存储块。
  2. 根据权利要求1所述的方法,其特征在于,在接收第一设备发送的资源请求之后,还包括:
    根据所述管理节点中存储的第一类权限信息,判断所述第一设备是否有在所述第一资源池中存储数据的权限;其中,所述第一类权限信息中包含所述第一设备是否有在各个资源池中存储数据的权限的信息;
    如果是,执行所述根据所述资源请求,为所述第一设备分配第一存储块的步骤。
  3. 根据权利要求2所述的方法,其特征在于,所述根据所述资源请求,为所述第一设备分配第一存储块,包括:
    判断所述第一资源池是否可用;
    如果是,根据所述资源请求,为所述第一设备分配第一存储块;
    如果否,确定所述第一资源池所在的第一域,其中,域由多个资源池组成;
    根据预设规则,确定所述第一域对应的目的域,并在所述目的域中确定第二资源池;
    向所述第一设备发送提示信息,所述提示信息中携带有所述第二资源池的标识信息;
    添加所述第一设备在所述第二资源池中存储数据的权限。
  4. 一种数据读取方法,其特征在于,应用于云存储系统中的管理节点,所述系统还包括多个存储节点,每个存储节点包括M个存储块,N个存储块组成一个资源池,所述方法包括:
    接收第二设备发送的资源查询请求,所述资源查询请求中包括待读取数据的标识信息;
    确定所述待读取数据所在的目的资源池及所述待读取数据在所述目的资源池中所在的目的存储块;
    将所述目的资源池的标识信息及所述目的存储块的第二路径信息发送给所述第二设备,以使所述第二设备根据所述标识信息及所述第二路径信息在所述目的资源池中的目的存储块中读取所述待读取数据。
  5. 根据权利要求4所述的方法,其特征在于,在所述确定所述待读取数据所在的目的资源池之后,还包括:
    根据所述管理节点中存储的第二类权限信息,判断所述第二设备是否有在所述目标资源池中读取数据的权限;其中,所述第二类权限信息中包含所述第二设备是否有在各个资源池中读取数据的权限;
    如果是,执行确定所述待读取数据在所述目的资源池中所在的目的存储块的步骤。
  6. 根据权利要求5所述的方法,其特征在于,所述方法还包括:
    在接收到为预设的第二设备添加在第二资源池中读取数据的权限的指令后,添加所述第二设备在所述第二资源池中读取数据的权限。
  7. 一种数据清理方法,其特征在于,应用于云存储系统中的管理节点,所述系统还包括多个存储节点,每个存储节点包括M个存储块,N个存储块组成一个资源池,存储块中的数据根据权利要求1所述的数据存储方法进行存储;所述方法包括:
    针对每个资源池,确定所述资源池中被占用的存储块的第一数量;
    判断所述第一数量是否符合预设数据清理条件;
    如果是,向所述资源池中的每个被占用的第二存储块所在的存储节点发送清理数据指令,以使所述存储节点对自身包括的第二存储块中存储的数据进行清理。
  8. 根据权利要求7所述的方法,其特征在于,所述判断所述第一数量是否符合预设数据清理条件,包括:
    判断所述第一数量是否大于第一预设阈值,如果是,表示符合预设数据清理条件;
    或者,根据所述第一数量,计算所述资源池的资源占用率;
    判断所述资源占用率是否大于第二预设阈值,如果是,表示符合预设数据清理条件。
  9. 根据权利要求8所述的方法,其特征在于,所述根据所述第一数量,计算所述资源池的资源占用率,包括:
    统计所述资源池中可用的存储块的第二数量;
    根据所述第一数量和所述第二数量,计算所述资源池的资源占用率。
  10. 根据权利要求7所述的方法,其特征在于,所述向所述资源池中的每个被占用的第二存储块所在的存储节点发送清理数据指令,包括:
    确定每个第二存储块中存储数据的最早时刻及最晚时刻;
    在所述最早时刻及最晚时刻对应的时间段中,确定目标时刻;
    向每个第二存储块所在的存储节点发送清理数据指令,所述指令中携带有所述目标时刻,以使所述存储节点将自身包括的第二存储块中存储的目标数据删除,其中,所述目标数据为存储时刻在所述目标时刻之前的数据。
  11. 根据权利要求7所述的方法,其特征在于,所述向每个第二存储块所在的存储节点发送清理数据指令之后,还包括:
    记录所述清理数据指令的发送时刻;
    在所述发送时刻后,每当到达预设时长时,执行所述向每个第二存储块所在的存储节点发送清理数据指令的步骤。
  12. 一种数据存储装置,其特征在于,应用于云存储系统中的管理节点,所述系统还包括多个存储节点,每个存储节点包括M个存储块,N个存储块组成一个资源池,所述装置包括:
    第一接收模块,用于接收第一设备发送的资源请求,所述资源请求中包括第一资源池的标识信息;
    分配模块,用于根据所述资源请求,为所述第一设备分配第一存储块,所述第一存储块位于所述第一资源池中;
    第一发送模块,用于将所述第一存储块的第一路径信息发送给所述第一设备,以使所述第一设备根据所述第一路径信息将待存储数据存储至所述第一资源池中的第一存储块。
  13. 根据权利要求12所述的装置,其特征在于,所述装置还包括:
    第一判断模块,用于根据所述管理节点中存储的第一类权限信息,判断所述第一设备是否有在所述第一资源池中存储数据的权限;其中,所述第一类权限信息中包含所述第一设备是否有在各个资源池中存储数据的权限的信息;如果是,触发所述分配模块。
  14. 根据权利要求13所述的装置,其特征在于,所述分配模块,包括:
    第一判断子模块,用于判断所述第一资源池是否可用;如果是,触发分配子模块,如果否,触发确定子模块;
    所述分配子模块,用于根据所述资源请求,为所述第一设备分配第一存储块;
    所述确定子模块,用于确定所述第一资源池所在的第一域,其中,域由多个资源池组成;根据预设规则,确定所述第一域对应的目的域,并在所述目的域中确定第二资源池;
    发送子模块,用于向所述第一设备发送提示信息,所述提示信息中携带有所述第二资源池的标识信息;
    添加子模块,用于添加所述第一设备在所述第二资源池中存储数据的权限。
  15. 一种数据读取装置,其特征在于,应用于云存储系统中的管理节点,所述系统还包括多个存储节点,每个存储节点包括M个存储块,N个存储块组成一个资源池,所述装置包括:
    第二接收模块,用于接收第二设备发送的资源查询请求,所述资源查询请求中包括待读取数据的标识信息;
    第一确定模块,用于确定所述待读取数据所在的目的资源池及所述待读取数据在所述目的资源池中所在的目的存储块;
    第二发送模块,用于将所述目的资源池的标识信息及所述目的存储块的第二路径信息发送给所述第二设备,以使所述第二设备根据所述标识信息及所述第二路径信息在所述目的资源池中的目的存储块中读取所述待读取数据。
  16. 根据权利要求15所述的装置,其特征在于,所述装置还包括:
    第二判断模块,用于根据所述管理节点中存储的第二类权限信息,判断所述第二设备是否有在所述目标资源池中读取数据的权限;其中,所述第二类权限信息中包含所述第二设备是否有在各个资源池中读取数据的权限;如果是,触发所述第一确定模块。
  17. 根据权利要求16所述的装置,其特征在于,所述装置还包括:
    添加模块,用于在接收到为预设的第二设备添加在第三资源池中读取数据的权限的指令后,添加所述第二设备在所述第三资源池中读取数据的权限。
  18. 一种数据清理装置,其特征在于,应用于云存储系统中的管理节点,所述系统还包括多个存储节点,每个存储节点包括M个存储块,N个存储块组成一个资源池,存储块中的数据根据权利要求13所述的数据存储装置进行存储;所述装置包括:
    第二确定模块,用于针对每个资源池,确定所述资源池中被占用的存储 块的第一数量;
    第三判断模块,用于判断所述第一数量是否符合预设数据清理条件;如果是,触发第三发送模块;
    所述第三发送模块,用于向所述资源池中的每个被占用的第二存储块所在的存储节点发送清理数据指令,以使所述存储节点对自身包括的第二存储块中存储的数据进行清理。
  19. 根据权利要求18所述的装置,其特征在于,所述第三判断模块,包括:第二判断子模块、或者计算子模块和第三判断子模块,其中,
    所述第二判断子模块,用于判断所述第一数量是否大于第一预设阈值,如果是,表示符合预设数据清理条件;
    所述计算子模块,用于根据所述第一数量,计算所述资源池的资源占用率;
    所述第三判断子模块,用于判断所述资源占用率是否大于第二预设阈值,如果是,表示符合预设数据清理条件。
  20. 根据权利要求19所述的装置,其特征在于,所述计算子模块,具体用于:
    统计所述资源池中可用的存储块的第二数量;
    根据所述第一数量和所述第二数量,计算所述资源池的资源占用率。
  21. 根据权利要求18所述的装置,其特征在于,所述第三发送模块,具体用于:
    确定每个第二存储块中存储数据的最早时刻及最晚时刻;
    在所述最早时刻及最晚时刻对应的时间段中,确定目标时刻;
    向每个第二存储块所在的存储节点发送清理数据指令,所述指令中携带有所述目标时刻,以使所述存储节点将自身包括的第二存储块中存储的目标数据删除,其中,所述目标数据为存储时刻在所述目标时刻之前的数据。
  22. 根据权利要求18所述的装置,其特征在于,所述装置还包括:
    记录模块,用于记录所述清理数据指令的发送时刻;
    定时模块,用于在所述发送时刻后,每当到达预设时长时,触发所述第五发送模块。
  23. 一种云存储系统,其特征在于,包括:管理节点,多个存储节点,其中,每个存储节点包括M个存储块,N个存储块组成一个资源池;
    所述管理节点,用于接收第一设备发送的资源请求,所述资源请求中包括第一资源池的标识信息;根据所述资源请求,为所述第一设备分配第一存储块,所述第一存储块位于所述第一资源池中;将所述第一存储块的第一路径信息发送给所述第一设备,以使所述第一设备根据所述第一路径信息将待存储数据存储至所述第一资源池中的第一存储块。
  24. 根据权利要求23所述的系统,其特征在于,
    所述管理节点,还用于接收第二设备发送的资源查询请求,所述资源查询请求中包括待读取数据的标识信息;确定所述待读取数据所在的目的资源池及所述待读取数据在所述目的资源池中所在的目的存储块;将所述目的资源池的标识信息及所述目的存储块的第二路径信息发送给所述第二设备,以使所述第二设备根据所述标识信息及所述第二路径信息在所述目的资源池中的目的存储块中读取所述待读取数据。
  25. 根据权利要求23所述的系统,其特征在于,
    所述管理节点,还用于针对每个资源池,确定所述资源池中被占用的存储块的第一数量;判断所述第一数量是否符合预设数据清理条件;如果是,向所述资源池中的每个被占用的第二存储块所在的存储节点发送清理数据指令,以使所述存储节点对自身包括的第二存储块中存储的数据进行清理。
  26. 一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
    存储器,用于存放计算机程序;
    处理器,用于执行存储器上所存放的程序时,实现权利要求1-11任一所述的方法步骤。
  27. 一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-11任一所述的方法步骤。
  28. 一种计算机程序,其特征在于,所述计算机程序被执行时实现权利要求1-11任一所述的方法步骤。
PCT/CN2017/101821 2016-10-20 2017-09-15 一种数据存储、读取、清理方法、装置及云存储系统 WO2018072576A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP17862250.2A EP3531264B1 (en) 2016-10-20 2017-09-15 Data storage, reading, and cleansing method and device, and cloud storage system
US16/343,219 US11003367B2 (en) 2016-10-20 2017-09-15 Data storage, reading, and cleansing method and device, and cloud storage system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201610911405.X 2016-10-20
CN201610911405.XA CN107967117B (zh) 2016-10-20 2016-10-20 一种数据存储、读取、清理方法、装置及云存储系统

Publications (1)

Publication Number Publication Date
WO2018072576A1 true WO2018072576A1 (zh) 2018-04-26

Family

ID=61996393

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2017/101821 WO2018072576A1 (zh) 2016-10-20 2017-09-15 一种数据存储、读取、清理方法、装置及云存储系统

Country Status (4)

Country Link
US (1) US11003367B2 (zh)
EP (1) EP3531264B1 (zh)
CN (1) CN107967117B (zh)
WO (1) WO2018072576A1 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3704575A4 (en) * 2017-10-31 2021-08-25 Nokia Solutions and Networks Oy REAL-TIME VIRTUAL NETWORK FUNCTIONAL ORCHESTRATION METHOD, APPARATUS AND SYSTEM
CN111061423B (zh) * 2018-10-17 2023-09-26 杭州海康威视系统技术有限公司 一种数据处理方法、装置和管理节点
CN111221468B (zh) * 2018-11-26 2023-10-13 杭州海康威视系统技术有限公司 存储块数据删除方法、装置、电子设备及云存储系统
CN111522805B (zh) * 2020-04-23 2023-05-02 中国银行股份有限公司 分布式批量数据清理方法及系统
CN113608680A (zh) * 2021-06-29 2021-11-05 济南浪潮数据技术有限公司 超融合虚拟化系统中sds资源清理方法、装置及设备
CN115271938A (zh) * 2022-06-16 2022-11-01 芯华章科技股份有限公司 一种交易数据的处理方法、设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103257958A (zh) * 2012-02-16 2013-08-21 中兴通讯股份有限公司 一种基于云存储的翻译方法及系统
US20140330869A1 (en) * 2013-05-02 2014-11-06 International Business Machines Corporation Secure isolation of tenant resources in a multi-tenant storage system using a security gateway
CN104618482A (zh) * 2015-02-02 2015-05-13 浙江宇视科技有限公司 访问云数据的方法、服务器、传统存储设备、架构
CN105843557A (zh) * 2016-03-24 2016-08-10 天津书生云科技有限公司 冗余存储系统、冗余存储方法和冗余存储装置

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6526521B1 (en) * 1999-06-18 2003-02-25 Emc Corporation Methods and apparatus for providing data storage access
CN100583832C (zh) * 2007-03-30 2010-01-20 华为技术有限公司 数据管理方法及系统
US7904690B2 (en) * 2007-12-14 2011-03-08 Netapp, Inc. Policy based storage appliance virtualization
US20140081911A1 (en) * 2011-01-10 2014-03-20 Netapp, Inc. Optimizing automatic deletion of backup files
US8595460B2 (en) * 2011-08-26 2013-11-26 Vmware, Inc. Configuring object storage system for input/output operations
US8942715B2 (en) * 2012-08-02 2015-01-27 Apple Inc. Distributed computing in a wireless communication system
US8589659B1 (en) * 2012-11-08 2013-11-19 DSSD, Inc. Method and system for global namespace with consistent hashing
US9325791B1 (en) * 2013-03-12 2016-04-26 Western Digital Technologies, Inc. Cloud storage brokering service
US9489387B2 (en) * 2014-01-15 2016-11-08 Avigilon Corporation Storage management of data streamed from a video source device
US10067722B2 (en) * 2014-07-02 2018-09-04 Hedvig, Inc Storage system for provisioning and storing data to a virtual disk
CN105338027B (zh) * 2014-07-30 2019-01-25 杭州海康威视系统技术有限公司 进行视频数据云存储的方法、系统及装置
CN104253865B (zh) * 2014-09-18 2017-06-06 华南理工大学 一种混合型桌面云服务平台的两级管理方法
US20170063708A1 (en) * 2015-09-01 2017-03-02 International Business Machines Corporation Resource exchange service transaction for cloud computing
CN105630419B (zh) * 2015-12-25 2018-09-21 华为技术有限公司 一种资源池的分区视图发送方法及管理节点

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103257958A (zh) * 2012-02-16 2013-08-21 中兴通讯股份有限公司 一种基于云存储的翻译方法及系统
US20140330869A1 (en) * 2013-05-02 2014-11-06 International Business Machines Corporation Secure isolation of tenant resources in a multi-tenant storage system using a security gateway
CN104618482A (zh) * 2015-02-02 2015-05-13 浙江宇视科技有限公司 访问云数据的方法、服务器、传统存储设备、架构
CN105843557A (zh) * 2016-03-24 2016-08-10 天津书生云科技有限公司 冗余存储系统、冗余存储方法和冗余存储装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3531264A4

Also Published As

Publication number Publication date
EP3531264B1 (en) 2023-06-07
US11003367B2 (en) 2021-05-11
US20190250836A1 (en) 2019-08-15
EP3531264A4 (en) 2020-03-04
CN107967117B (zh) 2020-10-20
EP3531264A1 (en) 2019-08-28
CN107967117A (zh) 2018-04-27

Similar Documents

Publication Publication Date Title
WO2018072576A1 (zh) 一种数据存储、读取、清理方法、装置及云存储系统
CN102156738B (zh) 数据块处理方法、数据块存储设备及系统
US10241681B2 (en) Management of physical extents for space efficient storage volumes
WO2017140130A1 (zh) 一种视频云存储的存储资源分配方法及装置
CN103761053B (zh) 一种数据处理方法和装置
TWI533152B (zh) 資料儲存裝置及方法
US10001926B2 (en) Management of extents for space efficient storage volumes by reusing previously allocated extents
CN103761190B (zh) 数据处理方法及装置
CN110134338B (zh) 一种分布式存储系统及其数据冗余保护方法和相关设备
US9940020B2 (en) Memory management method, apparatus, and system
CN107423301B (zh) 一种数据处理的方法、相关设备及存储系统
US8756386B2 (en) Backup apparatus, backup method and computer readable medium having a backup program
WO2019170011A1 (zh) 任务分配方法及装置、分布式存储系统
US20170123975A1 (en) Centralized distributed systems and methods for managing operations
CN110147203A (zh) 一种文件管理方法、装置、电子设备及存储介质
CN103491193A (zh) 一种文件共享的方法和设备
CN109977074B (zh) 一种基于hdfs的lob数据处理方法及装置
WO2016123888A1 (zh) 内存空间调度方法及多系统终端
CN111221468A (zh) 存储块数据删除方法、装置、电子设备及云存储系统
CN109445996B (zh) 一种分配io流的方法、系统及相关组件
Khouzani et al. Architecting data placement in SSDs for efficient secure deletion implementation
WO2017122263A1 (ja) 管理計算機及び管理方法
US9146679B2 (en) Effectively limitless apparent free space on storage device
JP2016181197A (ja) 情報処理装置、方法及びプログラム
CN110019031A (zh) 一种文件创建方法及文件管理装置

Legal Events

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

Ref document number: 17862250

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2017862250

Country of ref document: EP

Effective date: 20190520