WO2014023000A1 - 分布式数据处理方法及装置 - Google Patents

分布式数据处理方法及装置 Download PDF

Info

Publication number
WO2014023000A1
WO2014023000A1 PCT/CN2012/079876 CN2012079876W WO2014023000A1 WO 2014023000 A1 WO2014023000 A1 WO 2014023000A1 CN 2012079876 W CN2012079876 W CN 2012079876W WO 2014023000 A1 WO2014023000 A1 WO 2014023000A1
Authority
WO
WIPO (PCT)
Prior art keywords
identifier
information
data processing
node
data
Prior art date
Application number
PCT/CN2012/079876
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 CN201280002840.0A priority Critical patent/CN103180852B/zh
Priority to PCT/CN2012/079876 priority patent/WO2014023000A1/zh
Priority to EP12882854.8A priority patent/EP2821925B1/en
Publication of WO2014023000A1 publication Critical patent/WO2014023000A1/zh
Priority to US14/586,186 priority patent/US20150113218A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2237Vectors, bitmaps or matrices
    • 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/065Replication mechanisms
    • 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/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]
    • 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/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD

Definitions

  • Embodiments of the present invention relate to data storage technologies, and in particular, to a distributed data processing method and apparatus. Background technique
  • Logical volumes are virtualized.
  • Logical volumes are virtualized. Storage is no longer restricted to physical disks. the size of.
  • the file system can be extended to multiple disks, and multiple disks or disks can be aggregated into one logical volume.
  • the created logical volume can be used without the actual allocation of physical storage space when the user does not write data. When it is written, the physical storage space is dynamically allocated, thereby saving physical storage space and delaying cost investment.
  • a snapshot is a fully available copy of a specified data set that includes an image of the corresponding data at a point in time (the point in time of the copy).
  • a snapshot is a special type of logical volume that is an exact copy of a normal logical volume created by a user, or an exact copy of a normal logical volume.
  • the logical storage space of the existing normal logical volume is marked as the logical storage space of the snapshot, and a new logical storage space is allocated for use by the normal logical volume.
  • the unmodified data block is in the logical storage. It is shared with the snapshot spatially, but all subsequent modifications are written to the normal logical volume's own new logical storage space. When you delete a normal logical volume, all the snapshots created on that normal logical volume are deleted.
  • logical volumes are usually divided into multiple logical data blocks according to the same size, and logical data blocks are used as the smallest incremental unit of data.
  • a bitmap Bitmap
  • Each logical block corresponds to one bit, and is set to 1 if data has been written. Otherwise, Set to 0.
  • Bitmap Bitmap
  • Embodiments of the present invention provide a distributed data processing method and apparatus, to avoid resource consumption problems caused by global setting or reading and writing of a Bitmap in a distributed storage system.
  • an embodiment of the present invention provides a distributed data processing method, including: a cluster client processing device receives storage information of a logical volume currently used by a user sent by a management device, where the storage information of the logical volume is a description The quaternion information of each logical data block on the logical volume, where the quaternion information includes a tree identifier, a data block identifier, a branch identifier, and a node identifier;
  • the cluster client processing device receives a read or write data command sent by the user, and determines first storage information according to the read or write data command and the storage information of the logical volume, where the first storage information includes a group or a plurality of sets of quaternary information, each set of quaternary information including a first tree identifier, a first branch identifier, a first data block identifier, and a first node identifier;
  • the cluster client processing device sends a data processing command to the data processing node corresponding to each group of quaternary information, where the data processing command includes each group of quaternary information corresponding to the data processing node, And causing the data processing node corresponding to each set of quad information to perform a read or write operation according to each set of quad information.
  • the cluster client processing device determines the first storage information according to the read or write data command and the storage information of the logical volume, including:
  • the cluster client processing device acquires a first tree identifier and a first branch identifier of a logical volume corresponding to the read or write data command according to the storage information of the logical volume and the operation object information in the read or write data command, Determining one or more sets of first data block identifiers according to the storage information of the logical volume and the offset information in the read or write data command, acquiring the one or more groups The first data block identifier, the first tree identifier, and the largest node identifier corresponding to the first branch identifier, and the maximum node identifier is incremented by one to generate the first node identifier.
  • the data processing command is used to indicate a read data operation
  • the data processing node corresponding to each group of the quaternion information performs a read operation according to each set of quaternary information, including:
  • the data processing node corresponding to each set of quaternary information obtains each set of quaternion information in the data processing command, and determines a physical data block to be processed in the data storage device according to the quaternary information. If the physical data block exists, a read operation is performed directly on the physical data block.
  • the distributed data processing method further includes:
  • the data processing node decrements the first node identifier in each set of quad information by a step of 1 until the decremented quaternion information is found.
  • the physical data block exists until it exists;
  • the data processing node identifies the first branch in each set of quad information. Decrease by 1 step to find whether there is a corresponding physical data block in the parent branch until the corresponding physical data block is found.
  • the data processing command is used to indicate a write data operation
  • the data processing node corresponding to each group of quaternary information performs a write operation according to each set of quaternary information, including:
  • the data processing node corresponding to each set of the quaternary information obtains each set of quaternary information in the data processing command, and determines the physical data block to be allocated in the data storage device according to the quaternary information.
  • the write operation is performed on the physical data block to be allocated.
  • the method further includes:
  • the cluster client processing device receives a snapshot command sent by the management device, and determines second storage information according to the snapshot command and the storage information of the logical volume, where the second storage
  • the storage information includes one or more sets of quad information, and each set of quad information includes a second tree identifier, a second branch identifier, a second data block identifier, and a second node identifier;
  • the cluster client processing device acquires a second largest node identifier corresponding to the second tree identifier, the second branch identifier, and the second data block identifier, and adds the second largest node identifier to one.
  • the method further includes:
  • the cluster client processing device receives a clone command sent by the management device, and determines third storage information according to the clone command and the storage information of the logical volume, where the third storage information includes a third tree identifier, a third branch identifier, a third data block identifier, and a third node identifier; the cluster client processing device acquires a maximum branch identifier corresponding to the third tree identifier and the third data block identifier, and adds the maximum branch identifier Generating a cloned branch identifier, forming the third tree identifier, the third data block identifier, the cloned branch identifier, and the clone node identifier to form fourth storage information, and establishing the fourth storage information and the third storage
  • the cloning relationship of the information is broadcasted, wherein the clone node identifier is 0.
  • the method further includes:
  • the cluster client processing device receives a file close command sent by the management device, and deletes the storage information of the logical volume.
  • an embodiment of the present invention provides a distributed data processing method, including: a data processing node receives a data processing command sent by a cluster client processing device, where the data processing command includes one or more groups of quads Information, each set of quad information includes a first tree identifier, a first branch identifier, a first data block identifier, and a first node identifier;
  • the data processing node performs a read or write operation according to the each set of quad information in the data processing command.
  • the data processing command is used to indicate a read data operation
  • the data processing node performs a read or write operation according to the each group of quad information in the data processing command, including:
  • the data processing node acquires each set of quaternion information in the data processing command, and the root If the physical data block exists, the read operation is performed directly on the physical data block.
  • the distributed data processing method further includes:
  • the data processing node decrements the first node identifier in each set of quad information by a step of 1 until the decremented quaternion information is found.
  • the physical data block exists until it exists;
  • the data processing node identifies the first branch in each set of quad information. Decrease by 1 step to find whether there is a corresponding physical data block in the parent branch until the corresponding physical data block is found.
  • the data processing command is used to indicate a write data operation; correspondingly, the data processing node performs reading according to the each set of quad information in the data processing command or
  • the operations written include:
  • the data processing node acquires each set of quaternion information in the data processing command, and performs a write operation on the physical data block to be allocated.
  • an embodiment of the present invention provides a cluster client processing apparatus, including: a synchronization unit, configured to receive, by a management device, storage information of a logical volume currently used by a user, where the storage information of the logical volume is a description The quaternion information of each logical data block on the logical volume, where the quaternion information includes a tree identifier, a data block identifier, a branch identifier, and a node identifier;
  • the first read/write processing unit is connected to the synchronization unit, and configured to receive a read or write data command sent by the user, and determine the first storage information according to the read or write data command and the storage information of the logical volume, where
  • the first storage information includes one or more sets of quad information, and each set of quad information includes a first tree identifier, a first branch identifier, a first data block identifier, and a first node identifier;
  • a second read/write processing unit configured to be connected to the first read/write processing unit, configured to determine, according to the tree identifier and the data block identifier in each group of quad information, the storage information of each group of quaternions Data processing node; a sending unit, configured to be connected to the second read/write processing unit, configured to send a data processing command to the data processing node corresponding to each group of the quaternary information, where the data processing command includes the data processing node
  • Each set of quaternary information is such that the data processing node corresponding to each set of quaternary information performs a read or write operation according to each set of quaternary information.
  • the first read/write processing unit is further configured to acquire, according to the storage information of the logical volume and the operation object information in the read or write data command, the read or write data command. Determining, by the first tree identifier and the first branch identifier of the logical volume, one or more sets of first data block identifiers according to the storage information of the logical volume and the offset information in the read or write data command, and obtaining the One or more sets of first data block identifiers, the first tree identifier, and a maximum node identifier corresponding to the first branch identifier, and the maximum node identifier is incremented by one to generate the first node identifier.
  • the cluster client processing device further includes: a first snapshot processing unit, connected to the synchronization unit, configured to receive a snapshot command sent by the management device, according to the snapshot command And storing information of the logical volume to determine second storage information, where the second storage information includes one or more sets of quad information, and each set of quad information includes a second tree identifier, and second a branch identifier, a second data block identifier, and a second node identifier;
  • the second snapshot processing unit is connected to the first snapshot processing unit, and acquires a second largest node identifier corresponding to the second tree identifier, the second branch identifier, and the second data block identifier, where the The second largest node identifier is incremented by one.
  • the cluster client processing device further includes: a first clone processing unit, connected to the synchronization unit, configured to receive a clone command sent by the management device, according to the clone command Determining the third storage information with the storage information of the logical volume, where the third storage information includes a third tree identifier, a third branch identifier, a third data block identifier, and a third node identifier;
  • a second cloning processing unit configured to be connected to the first cloning processing unit, configured to acquire a maximum branch identifier corresponding to the third tree identifier and the third data block identifier, and add the maximum branch identifier to generate a clone a branch identifier, the third tree identifier, the third data block identifier, the clone branch identifier, and the clone node identifier are formed into fourth storage information, and the fourth storage information and the third storage information clone are established. Relationship, the cloning relationship is broadcast, wherein The clone node identifier is 0.
  • the cluster client processing device further includes: a deleting unit, connected to the synchronization unit, configured to receive a file closing command sent by the management device, and store the logical volume Information is deleted.
  • an embodiment of the present invention provides a data processing node, including:
  • the command receiving unit is configured to receive a data processing command sent by the cluster client processing device, where the data processing command includes one or more sets of quad information, each set of quad information includes a first tree identifier, and a first a branch identifier, a first data block identifier, and a first node identifier;
  • an operation unit connected to the command receiving unit, configured to perform a read or write operation according to each of the group of quad information in the data processing command.
  • the data processing command is used to indicate a read data operation
  • the operating unit is further configured to acquire each set of quaternary information in the data processing command, and determine, according to the quaternary information, a physical data block to be processed in the data storage device, if the physical If a data block exists, a read operation is performed directly on the physical data block.
  • the operating unit is further configured to: if the physical data block does not exist, decrement the first node identifier in each group of quad information by a step of 1 Until the physical data block corresponding to the decremented quaternion information is found to exist; if the first node identifier in each group of quaternion information is reduced to 0, the corresponding physical data block does not exist, The first branch identifier in each set of quad information is decremented by 1 step, and the parent branch is searched for the corresponding physical data block until the corresponding physical data block is found.
  • the data processing command is used to indicate a write data operation.
  • the operating unit is further configured to acquire each group of quaternary information in the data processing command, according to the The quaternary information determines a physical data block to be allocated in the data storage device, and performs a write operation on the physical data block to be allocated.
  • the cluster client processing device receives the storage information of the logical volume currently used by the user sent by the management device, where the storage information of the logical volume is the description logical data.
  • the quaternion information of the block includes a tree identifier, a data block identifier, a branch identifier, and a node identifier
  • the logical volume is equally divided to obtain logical data blocks of equal size
  • the read or write data command sent by the user is received, according to Read or write
  • the storage information of the data command and the logical volume determines the first storage information, and determines the data processing node corresponding to each group of the quaternary storage information according to the tree identifier and the data block identifier in each set of quaternion information, to each group of four
  • the data processing node corresponding to the tuple information sends a data processing command, so that the data processing node corresponding to each group of quad information performs a read or write operation according to each group of quad information.
  • the storage information includes a tree identifier, a branch identifier, a data block identifier, and a node identifier, and the storage information can be managed and maintained in units of each data block on the logical volume, and the form is more flexible.
  • the cluster client processing device When performing read or write data operations, the cluster client processing device only needs to determine the storage information of the corresponding logical data block, and accordingly perform corresponding operations, thereby avoiding the occupation of memory space and requiring global setting in the distributed storage system. Or the problem of resource consumption caused by reading and writing Bitmap improves the efficiency of data processing.
  • FIG. 1 is a schematic structural diagram of a distributed data processing system according to an embodiment of the present invention
  • FIG. 2 is a schematic structural diagram of a tree according to an embodiment of the present invention
  • FIG. 3 is a flowchart of a first distributed data processing method according to an embodiment of the present invention
  • FIG. 4 is a flowchart of a second distributed data processing method according to an embodiment of the present invention
  • FIG. 6 is a schematic structural diagram of still another tree according to an embodiment of the present disclosure.
  • FIG. 7 is a flowchart of a third method for processing a distributed data according to an embodiment of the present invention
  • FIG. 8 is a schematic structural diagram of a cluster client processing apparatus according to an embodiment of the present invention
  • FIG. 10 is a schematic structural diagram of a data processing node according to an embodiment of the present invention; the specific implementation manner is to make the purpose, technical solution, and advantages of the embodiment of the present invention clearer.
  • BRIEF DESCRIPTION OF THE DRAWINGS The technical solutions in the embodiments of the present invention are clearly and completely described in the accompanying drawings in the embodiments of the present invention. It is obvious that the described embodiments are a part of the embodiments of the present invention, and not all of the embodiments. All other embodiments obtained by those skilled in the art based on the embodiments of the present invention without creative efforts are within the scope of the present invention.
  • FIG. 1 is a schematic structural diagram of a distributed data processing system according to an embodiment of the present invention.
  • the exemplary diagram is an exemplary system for implementing the distributed processing method provided by the present invention, and is not the only system architecture that can be used to implement the method of the present invention.
  • Those skilled in the art can construct other systems that are not substantially transformed according to the specific embodiments of the systems and methods provided in this section.
  • the distributed data processing system of the present embodiment includes: a management device 11, at least one cluster client processing device 12, at least two data processing nodes 13, and at least two data storage devices 14.
  • User 10 acts as the user of the entire distributed system and is the initiator of the storage I/O commands and data management commands.
  • the management device 11 provides a storage management type interface to the user 10, through which the user can send a creation logical volume, create a snapshot or a linked clone, and use a data management command of the logical volume to the management device; the management device 11 receives the user 10 After the data management command is executed, the corresponding operation is performed according to the data management command.
  • the user 10 sends a command to create a logical volume
  • the user 10 is assigned a tree identifier, a branch identifier, and a node identifier of the created logical volume
  • the command of the logical volume is automatically assigned by the user 10 or automatically assigned to at least one cluster client processing device 12 served by the user 10 according to the configured rules, and the tree identifier, branch identifier and node of the logical volume used by the user 10
  • the identifier is synchronized to the at least one cluster client processing device 12 to be processed correspondingly according to the information synchronized by the management device 11 when the at least one cluster client processing device 12 receives the storage I/O command sent by the user 10.
  • the user 10 sends a command to create a snapshot or a linked clone
  • the user 10 allocates the tree identifier, the branch identifier, and the node identifier of the created snapshot volume or linked clone volume, and when the user 10 uses the logical volume, the tree identifier, the branch identifier, and the node of the created snapshot volume or linked clone volume Identifying synchronization to the at least one cluster client processing device 12, or transmitting a command to create a snapshot or linked clone to the at least one cluster client processing device 12 such that the at least one cluster client processing device 12 creates a snapshot according to the Or a link clone command, assigning a tree identifier, a branch identifier, and a node identifier of the created snapshot volume or linked clone volume based on the synchronized information; if the user 10 sends a file close command, the management device 11 closes the file The closed command is sent to the at least one cluster client processing device 12, and the
  • logical volume directly expressed in this document refers to a common logical volume created by a user in a non-snapshot format, such as “snapshot logical volume” or "linked clone logical volume”. Snapshot volume “or” linked clone volume” representation.
  • the at least one cluster client processing device 12 provides a storage service for the user 10 in the form of a logical volume for the user in the distributed data processing system, provides an entry for the user 10 to access the distributed cluster, and receives the storage I/O command of the user 10. Converting the storage I/O command of the user 10 into a data processing command of the intra-cluster protocol; the at least one cluster client processing device 12 performs data in the form of logical data blocks for the data processing node 13 in the distributed data processing system.
  • the cluster client processing device 12 is also oriented to the management device 11 provides an interface, receives data management commands sent by the management device 11, performs operations such as snapshots or link cloning.
  • the cluster client processing device 12 maintains storage information in units of each logical block on the logical volume (each logical block on the logical volume represents all normal volumes, snapshot volumes, linked clone volumes under the logical volume) Each logical data block), the storage information mainly includes the tuple information of the tree identifier, the data block identifier, the branch identifier, and the node identifier of the logical data block, for example, the first block logical data of the logical volume 0 created by the user.
  • the quad information of the block after each operation such as snapshots and linked clones.
  • the cluster client processing device 12 itself maintains storage information in units of each logical block on the logical volume, and logically obtains a volume-snapshot tree as shown in FIG.
  • each logical of each logical volume forms a volume-snap tree, and each node on the tree is identified by the quaternion information, including a tree identifier, a data block identifier, a branch identifier, and a node identifier, where the tree identifier is used to indicate that the logical data block is located.
  • the block identifier is used to indicate the location of the logical block in the logical volume, such as according to the logical volume
  • the size divides the logical volume into eight logical data blocks, which can be numbered from 0 to 7 as the data block identifier; when a new logical volume is created, the new logical volume can be created.
  • the branch ID is set to 0.
  • a clone volume is created on the logical volume
  • the clone volume is assigned a new branch ID, such as 1, and the clone relationship between the clone volume and the logical volume is recorded.
  • the node identifier is used to indicate the snapshot operation on the original logical volume or the cloned volume. Whenever a snapshot volume is created on the logical volume, the snapshot volume is assigned a new node identifier, such as 1.
  • the tree structure includes a plurality of nodes to correspond to the storage space of the logical data block in each operation state, and the quaternion information can be used to identify the nodes in the tree structure.
  • the order of the quaternion information is described by a tree identifier, a data block identifier, a branch identifier, and a node identifier.
  • Figure 2 shows a tree structure with a tree identifier of 0 and a data block ID of 0 to record the data processing for a logical block in a logical volume.
  • the node 0000 is a leaf node, representing the storage space of the logical data block 0.
  • the snapshot volume of the new logical volume is created, for the logical data block 0, a snapshot of node 0000 is created, then the node 0000 becomes the snapshot node, and the new node 0001 is added as the leaf node.
  • the node 0001 becomes a snapshot node, a new leaf child node 0002 is added, and a snapshot of the node 0002 is created.
  • the node 0002 becomes a snapshot node, and a new leaf node 0003 is added.
  • Node 0000, node 0001, node 0002, and node 0003 serve as a branch of the tree structure with a branch identifier of zero.
  • the node 0000 is cloned, and the cloned node 0010 is added.
  • the snapshot volume of the cloned volume is created, for the logical data block 0, a snapshot of the cloned node 0010 is created, and the cloned node 0010 becomes the snapshot node, and the new cloned leaf node 001 1 is added.
  • Node 0010 and node 0011 are another branch of the tree structure, and its branch identifier is 1 toast
  • the management device 1 1 , the cluster client processing device 12 and the data processing node can both implement management and operation of data based on the tree structure shown in FIG. 2 . It should be noted that in order to improve the management of the data processing process, it can be implemented by the tree structure shown in FIG. 2, but the storage space of each operation state of the block may have a corresponding physical data block, then the quaternary element The group information can identify the corresponding physical data block.
  • the at least two data processing nodes 13 provide an interface to the cluster client processing device 12, receive data processing commands for a certain logical data block forwarded by the cluster client processing device 12, and determine logical data that is currently required to be operated according to the quad data.
  • the storage space of the block, and corresponding data operations on the underlying data storage device 14 according to the determined storage space (corresponding to the physical data block).
  • the data storage device 14 is used for various operations of storing data according to commands of the data processing node 13.
  • the above-mentioned management device 11, the cluster client processing device 12, and the data processing node 13 may be implemented by software in a specific practice or may be implemented by hardware.
  • the specific implementation manner is not limited in this embodiment.
  • FIG. 3 is a flowchart of a first distributed data processing method according to an embodiment of the present invention. Figure shows the processing of data in the processing system.
  • Step A10 The cluster client processing device receives the storage information of the logical volume currently used by the user, which is sent by the management device, where the storage information of the logical volume is a quaternion information describing each logical data block on the logical volume.
  • the quaternion information includes a tree identifier, a data block identifier, a branch identifier, and a node identifier;
  • Step A20 The cluster client processing device receives a read or write data command sent by the user, and determines first storage information according to the read or write data command and the storage information of the logical volume, where the first storage information includes One or more sets of quad information, the set of quad information includes a first tree identifier, a first branch identifier, a first data block identifier, and a first node identifier; Step A30, the cluster client processing device Determining, according to the tree identifier and the data block identifier in each group of the quad information, the data processing node corresponding to each group of the quaternary storage information; Step A40, the cluster client processing device to each group The data processing node corresponding to the quaternary information sends a data processing command, where the data processing command includes each group of quaternion information corresponding to the data processing node, so that each set of quaternary information corresponds to Number The processing node performs a read or write operation according to each set of quad information.
  • the user can interact with the distributed data processing system through the terminal, and the terminal can be specifically used as a terminal for various terminal devices, such as a mobile phone, a personal computer, a tablet computer, a notebook computer, and the like.
  • the user sends a data management command to the management device through the terminal, and the data management command may specifically be used to instruct the user to create a logical volume, create a snapshot or a linked clone, and operate using the logical volume.
  • the user sends a command to create a logical volume to the management device, and the management device allocates the triplet information of the created logical volume to the user, and the triplet information includes Store information such as tree ID, branch ID, and node ID.
  • the user can specify the cluster client processing device, and the management device synchronizes the storage information of the logical volume currently used by the user to the user-specified cluster client processing device. If the user does not specify the cluster client processing device, the management device can determine the cluster client processing device according to the configured rules, and synchronize the storage information of the logical volume currently used by the user to the cluster client processing device.
  • the storage information of the logical volume is the quaternion information describing the logical data block, and the quaternion information includes a tree identifier, a data block identifier, a branch identifier, and a node identifier, and the logical volume is divided according to the preset data block capacity to obtain a size. Equal logical data blocks.
  • the cluster client processing device maintains the storage information in units of each logical block on the logical volume.
  • the terminal sends a read or write data command to the corresponding cluster client processing device, and the cluster client processing device determines the read or write data command and the storage information of the logical volume.
  • the first storage information includes one or more sets of quad information, and each set of quad information includes a first tree identifier, a first branch identifier, a first data block identifier, and a first node identifier.
  • the cluster client processing device determines a corresponding data processing node according to each set of quad information, and sends a data processing command to the data processing node, so that the data processing node performs corresponding reading according to the quaternary information in the data processing command. Or write operation.
  • the data processing node can perform a corresponding read or write operation on the data storage device.
  • the data processing command is used to indicate the read data operation
  • the data processing node transmits the read data to the cluster client processing device, and the cluster client processing device transmits the data to the user.
  • the cluster client processing device receives the storage information of the logical volume currently used by the user sent by the management device, where the storage information of the logical volume is Describe the quaternion information of the logical data block.
  • the quaternion information includes a tree identifier, a data block identifier, a branch identifier, and a node identifier.
  • the logical volume is equally divided to obtain logical data blocks of equal size, and the read or write data sent by the user is received.
  • a command determining, according to the read or write data command and the storage information of the logical volume, the first storage information, and determining, according to the tree identifier and the data block identifier in each group of the quad information, a data processing node corresponding to each group of the quad storage information And sending a data processing command to the data processing node corresponding to each group of quad-group information, so that the data processing node corresponding to each group of quad-group information performs a read or write operation according to each group of quad-group information.
  • the storage information includes a tree identifier, a branch identifier, a data block identifier, and a node identifier, and the storage information can be managed and maintained in units of each data block on the logical volume, and the form is more flexible.
  • the cluster client processing device When performing read or write data operations, the cluster client processing device only needs to determine the storage information of the corresponding logical data block, and accordingly perform corresponding operations, thereby avoiding the occupation of memory space and requiring global setting in the distributed storage system. Or the problem of resource consumption caused by reading and writing Bitmap improves the efficiency of data processing.
  • the cluster client processing device determines the first storage information according to the read or write data command and the storage information of the logical volume, which may include: the cluster client processing device according to the The storage information of the logical volume and the operation object information in the read or write data command acquire the first tree identifier and the first branch identifier of the logical volume corresponding to the read or write data command, according to the storage information of the logical volume and The offset information in the read or write data command determines one or more sets of first data block identifiers, and obtains the one or more sets of first data block identifiers, the first tree identifier, and the first branch identifier Corresponding maximum node identifier, adding 1 to the maximum node identifier to generate the first node identifier.
  • the read or write data command sent by the user carries the operation object information and the offset information.
  • the operation object information is specifically used to indicate whether the user operates a normal logical volume, a snapshot volume, or a linked clone volume.
  • the cluster client processing device acquires the first tree identifier and the first branch identifier of the logical volume corresponding to the read or write data command according to the storage information of the logical volume and the operation object information.
  • the offset information is specifically used to indicate the location of the logical data block operated by the user.
  • the cluster client processing device determines one or more sets of first data block identifiers according to the storage information of the logical volume and the offset information, and then acquires the one or more sets of first data block identifiers according to the storage information of the logical volume, A tree identifier and a maximum node identifier corresponding to the first branch identifier, and adding a maximum node identifier to generate a first node identifier.
  • the first tree identifier, the first data block identifier, and the first score If the branch identifiers are 0, 0, and 0, respectively, the node with the branch ID of 0 is the largest.
  • 3 is the first largest node identifier, and 3 is added to 1 to generate the first node identifier, which is 4. Therefore, the first stored information is 0004, and the 0004 is carried in the data processing command and sent to the corresponding data processing node. Node 0004 is added to the tree structure.
  • the cluster client processing device can update the added nodes to the management device synchronously.
  • the data processing command is used to indicate a write data operation, and the data processing command further carries data to be written.
  • the data processing node receives the data processing command, the first storage information is extracted from the data processing command.
  • the physical data block to be processed is allocated to 0004, and the data to be written is written into the physical data block to be processed.
  • the data processing command is used to indicate a read data operation, and when the data processing node receives the data processing command, the first stored information 0004 is extracted from the data processing command. If it is known that the first storage information 0004 does not exist, the first node identifier is decremented by one, and the first stored information after subtracting one is 0003, the physical data block corresponding to 0003 is obtained, and the data in the physical data block is read.
  • the data processing command is used to indicate a read data operation.
  • the data processing node corresponding to each group of the quaternion information performs a read operation according to the information of each of the quaternary groups, which may specifically include:
  • the data processing node corresponding to each set of quaternary information obtains each set of quaternion information in the data processing command, and determines a physical data block to be processed in the data storage device according to the quaternary information. If the physical data block exists, a read operation is performed directly on the physical data block.
  • the distributed data processing method may further include:
  • the data processing node decrements the first node identifier in each set of quad information by a step of 1 until the decremented quaternion information is found.
  • the physical data block exists until it exists;
  • the data processing node identifies the first branch in each set of quad information. Decrease by 1 step to find whether there is a corresponding physical data block in the parent branch until the corresponding physical data block is found.
  • the data processing command is used to indicate a write data operation.
  • the data processing node corresponding to each group of quaternion information performs a write operation according to each set of quaternary information, including:
  • the data processing node corresponding to each set of the quaternary information obtains each set of quaternary information in the data processing command, and determines the physical data block to be allocated in the data storage device according to the quaternary information.
  • the write operation is performed on the physical data block to be allocated.
  • FIG. 4 is a flowchart of a second distributed data processing method according to an embodiment of the present invention.
  • the method may further include: Step A50, the cluster Receiving, by the client processing device, a snapshot command sent by the management device, determining second storage information according to the snapshot command and the storage information of the logical volume, where the second storage information includes one or more sets of quad information
  • the each group of quad information includes a second tree identifier, a second branch identifier, a second data block identifier, and a second node identifier;
  • Step A60 The cluster client processing apparatus acquires a second largest node identifier corresponding to the second tree identifier, the second branch identifier, and the second data block identifier, and adds the second largest node identifier to .
  • the user can also perform a snapshot operation on the data, and the user sends a data management command for creating a snapshot to the management device, and the management device sends a snapshot command to the cluster client processing device.
  • the Snapshot command may carry the logical volume information, the operation object information, and the offset information, and may determine the second tree identifier and the second branch identifier according to the logical volume information, the operation object information, the offset information, and the storage information of the logical volume. And a second data block identifier and a second node identifier. As shown in FIG.
  • the second tree identifier, the second branch identifier, and the second data block identifier are respectively 0, 0, and 0, and the node identifier with the branch identifier of 0 is 3, 3
  • the second largest node identifier is incremented by one and updated to four.
  • the management device may also perform the above processing, and the cluster client processing device may not notify the data processing node, that is, the data processing node does not perform any processing on the snapshot operation, and the snapshot operation on the data is only in the cluster client. Recording in the processing device can reduce the workload of the data processing node and avoid waste of resources.
  • the method may further include: Step A70: The cluster client processing device receives a clone command sent by the management device, and determines third storage information according to the clone command and the storage information of the logical volume, where the third storage information includes a third tree. An identifier, a third branch identifier, a third data block identifier, and a third node identifier;
  • Step A80 The cluster client processing device acquires a maximum branch identifier corresponding to the third tree identifier and the third data block identifier, adds 1 to the maximum branch identifier, generates a clone branch identifier, and uses the third tree.
  • the identifier, the third data block identifier, the cloned branch identifier, and the cloned node identifier form fourth storage information, establish a clone relationship between the fourth storage information and the second storage information, and broadcast the clone relationship
  • the clone node identifier is 0.
  • the user can also perform a clone operation on the data, and the user sends a data management command to create a linked clone to the management device, and the management device sends a clone command to the cluster client processing device.
  • the cloning command may carry the logical volume information, the operation object information, and the offset information, and may determine the third tree identifier and the third branch identifier according to the logical volume information, the operation object information, the offset information, and the storage information of the logical volume.
  • the third data block identifier and the third node identifier that is, the third storage information. As shown in FIG.
  • the third storage information is 0001, and the maximum branch identifier in the tree structure corresponding to the third storage information is 1, that is, the maximum branch identifier, and the maximum branch identifier is incremented by one to generate a clone branch identifier.
  • the third tree identifier, the third data block identifier, the cloned branch identifier, and the cloned node identifier form a third storage information, and the cloned node identifier is set to 0, and the fourth storage information is 0020, corresponding to the node 0020, and the third storage is established.
  • the cloning relationship between the information 0001 and the fourth storage information is 0020.
  • the management device may also perform the above processing, and the cluster client processing device may only know the cloning relationship by broadcasting the corresponding data processing node, so that the data processing node is in the user to the data.
  • the corresponding processing is performed according to the clone relationship, and the data processing node requests the cluster client processing device when the clone relationship needs to be known, thereby reducing the processing pressure of the cluster client processing device.
  • step A20-step A40 is processing of reading or writing data commands
  • step A50 and step A60 are processing of snapshot commands
  • steps A70 and A80 are processing of clone commands
  • three processes can be executed in parallel. , does not have a necessary timing relationship.
  • step A10 the cluster client processing device receives the management device to send.
  • the method may further include: Step A90: The cluster client processing device receives a file close command sent by the management device, and deletes the storage information of the logical volume.
  • the management device sends a file close command to the cluster client processing device, and the cluster client processing device deletes the storage information of the logical volume to release the storage space. Avoid wasting storage space.
  • FIG. 7 is a flowchart of a third distributed data processing method according to an embodiment of the present invention.
  • the distributed data processing method provided in this embodiment may be combined with the method applicable to the cluster client processing apparatus provided by any embodiment of the present invention to implement a data processing process, and the specific implementation process thereof Narration.
  • the distributed data processing method can be implemented by a data processing node, which can be implemented in software and/or hardware.
  • the distributed data processing method specifically includes:
  • Step B10 The data processing node receives a data processing command sent by the cluster client processing device, where the data processing command includes one or more sets of quad information, and each set of quad information includes a first tree identifier, and the first a branch identifier, a first data block identifier, and a first node identifier;
  • Step B20 The data processing node performs a read or write operation according to each of the group of quaternary information in the data processing command.
  • the data processing node receives the data processing command sent by the cluster client processing device, where the data processing command includes one or more sets of quad information, and each set of quad information includes the first A tree identifier, a first branch identifier, a first data block identifier, and a first node identifier perform read or write operations according to each set of quad information in the data processing command.
  • the storage information includes a tree identifier, a branch identifier, a data block identifier, and a node identifier, and the storage information can be managed and maintained in units of each data block on the logical volume, and the form is more flexible.
  • the cluster client processing device When performing a read or write data operation, the cluster client processing device only needs to determine the storage information for the corresponding logical data block, and sends the data processing command to the data processing node according to the data processing node according to the stored information in the data processing command. Corresponding operations are performed on a certain physical data block to avoid the occupation of memory space, and the resource consumption problem caused by global setting or reading and writing of a Bitmap in a distributed storage system, thereby improving the efficiency of data processing.
  • the data processing command is used to indicate a read data operation.
  • the data processing node performs a read or write operation according to the each group of quaternary information in the data processing command, which may specifically include:
  • the data processing node acquires each set of quaternary information in the data processing command, and determines a physical data block to be processed in the data storage device according to the quaternary information, and if the physical data block exists, The read operation is performed directly on the physical data block.
  • the distributed data processing method may further include:
  • the data processing node decrements the first node identifier in each set of quad information by a step of 1 until the decremented quaternion information is found.
  • the physical data block exists until it exists;
  • the data processing node identifies the first branch in each set of quad information. Decrease by 1 step to find whether there is a corresponding physical data block in the parent branch until the corresponding physical data block is found.
  • a data processing command to indicate a read data operation. For example, if the quaternion information of the data processing command is 0004, the data processing node searches for the quaternary information 0004 for the corresponding physical data block. If it exists, the physical data block is the physical data block to be processed, and is read. The data stored in the physical data block. In the case of the snapshot operation and the cloning operation on the data to generate the quaternary information 0004, and without notifying the data processing node, the quaternary information 0004 may not exist in the data processing node.
  • the first node identifier is decremented by 1 step, that is, whether the physical data block corresponding to 0003 exists, if not, Then, it is found whether the physical data block corresponding to 0002 exists until it is found that there is a physical data block. If the first branch identifier is not 0, for example, the quaternion information is 0011, it indicates that the object of the read data operation is a cloned volume, and the node identifier of the quaternion information 001 1 is reduced to 0, that is, after 0010, it still does not exist.
  • the data processing command is used to indicate a write data operation.
  • the data processing node reads or writes according to each set of quaternary information in the data processing command.
  • the operations may specifically include: The data processing node acquires each set of quaternary information in the data processing command, and determines, according to the quaternary information, a physical data block to be allocated in the data storage device, where the physical data block to be allocated is used. Write.
  • the write data processing command carries the data to be written, and the write data processing of the physical data block to be processed writes the data to be written into the physical data block to be processed.
  • the quaternion information is 0004
  • the physical data block is allocated to the quaternary information 0004
  • the data to be written is AB
  • the size of the data AB to be written is the same as the size of the physical data block to be processed.
  • FIG. 8 is a schematic structural diagram of a cluster client processing apparatus according to an embodiment of the present invention. As shown in FIG. 8, the cluster client processing apparatus provided in this embodiment may implement various steps of the distributed data processing method applied to the cluster client processing apparatus according to any embodiment of the present invention, and details are not described herein.
  • the cluster client processing apparatus specifically includes a synchronization unit 21, a first read/write processing unit 22, a second read/write processing unit 23, and a transmitting unit 24.
  • the synchronization unit 21 is configured to receive, by the management device, storage information of a logical volume currently used by the user, where the storage information of the logical volume is quaternary information describing each logical data block on the logical volume, and the fourth
  • the tuple information includes a tree identifier, a data block identifier, a branch identifier, and a node identifier.
  • the first read/write processing unit 22 is connected to the synchronization unit 21, and configured to receive a read or write data command sent by the user, and determine the first storage information according to the read or write data command and the storage information of the logical volume, where
  • the first storage information includes one or more sets of quad information, and each set of quad information includes a first tree identifier, a first branch identifier, a first data block identifier, and a first node identifier.
  • the second read/write processing unit 23 is connected to the first read/write processing unit 22, and configured to determine, according to the tree identifier and the data block identifier in each set of quad information, the storage information of each set of quads. Corresponding data processing node.
  • the sending unit 24 is connected to the second read/write processing unit 23, and configured to send a data processing command to the data processing node corresponding to each group of the quad information, wherein the data processing command includes the data processing node Corresponding to each set of quads information,
  • the data processing node corresponding to each set of quad-group information performs an operation of reading or writing according to each set of quad-group information.
  • the synchronization unit 21 receives the storage information of the logical volume currently used by the user sent by the management device, where the storage information of the logical volume is the quaternion information describing the logical data block, and the quaternion information.
  • the tree identifier, the data block identifier, the branch identifier, and the node identifier are divided into logical data blocks of equal size, and the first read/write processing unit 22 receives the read or write data command sent by the user, according to the read or write data.
  • the storage information of the command and the logical volume determines the first storage information
  • the second read/write processing unit 23 determines the data processing node corresponding to each group of the quad storage information according to the tree identifier and the data block identifier in each set of the quad information.
  • the sending unit 24 sends a data processing command to the data processing node corresponding to each group of quad-group information, so that the data processing node corresponding to each group of quad-group information performs a read or write operation according to each group of quad-group information. .
  • the storage information includes a tree identifier, a branch identifier, a data block identifier, and a node identifier, and the storage information can be managed and maintained in units of each data block on the logical volume, and the form is more flexible.
  • the cluster client processing device When performing read or write data operations, the cluster client processing device only needs to determine the storage information of the corresponding logical data block, and accordingly perform corresponding operations, thereby avoiding the occupation of memory space and requiring global setting in the distributed storage system. Or the problem of resource consumption caused by reading and writing Bitmap improves the efficiency of data processing.
  • FIG. 9 is a schematic structural diagram of another cluster client processing apparatus according to an embodiment of the present invention.
  • the first read/write processing unit 22 is further configured to acquire the read or write data according to the storage information of the logical volume and the operation object information in the read or write data command.
  • the cluster client processing apparatus may further include a first snapshot processing unit 25 and a second snapshot processing unit 26, and the snapshot processing unit 25 is connected to the synchronization unit 21 for receiving a snapshot command sent by the management device, determining second storage information according to the snapshot command and storage information of the logical volume, where the second storage information
  • the group includes four or more sets of quad information, and the set of quad information includes a second tree identifier, a second branch identifier, a second data block identifier, and a second node identifier.
  • the second snapshot processing unit 26 And acquiring, by the first snapshot processing unit 25, a second largest node identifier corresponding to the second tree identifier, the second branch identifier, and the second data block identifier, and adding the second largest node identifier 1.
  • the data processing node may not be notified, that is, the data processing node does not perform any processing on the snapshot operation, and the snapshot operation of the data is only recorded in the cluster client processing device, which can reduce the work of the data processing node. Quantity, avoiding waste of resources.
  • the cluster client processing apparatus may further include a first clone processing unit 27 and a second clone processing unit 28.
  • the first clone processing unit 27 is connected to the synchronization unit 21, and configured to receive a clone command sent by the management device, and determine third storage information according to the clone command and the storage information of the logical volume, where
  • the third storage information includes a third tree identifier, a third branch identifier, a third data block identifier, and a third node identifier.
  • the second clone processing unit 28 is connected to the first clone processing unit 27, and configured to acquire a maximum branch identifier corresponding to the third tree identifier and the third data block identifier, and add the maximum branch identifier Generating a cloned branch identifier, forming the third tree identifier, the third data block identifier, the cloned branch identifier, and the clone node identifier to form fourth storage information, and establishing the fourth storage information and the third storage
  • the cloning relationship of the information is broadcasted, wherein the clone node identifier is 0.
  • the cloning relationship may be only known by the corresponding data processing node in the form of broadcast, so that the data processing node performs the read or write operation on the data according to the cloning relationship.
  • the data processing node requests the cluster client processing device when it needs to know the clone relationship, which reduces the processing pressure of the cluster client processing device.
  • the cluster client processing device further includes a deleting unit 29, and the deleting unit 29 is connected to the synchronization unit 21, and configured to receive a file closing command sent by the management device, and the logical volume is The storage information is deleted.
  • the deleting unit 29 is connected to the synchronization unit 21, and configured to receive a file closing command sent by the management device, and the logical volume is The storage information is deleted.
  • FIG. 10 is a schematic structural diagram of a data processing node according to an embodiment of the present invention. As shown in Figure 10, The data processing node provided in this embodiment may implement various steps of the distributed data processing method applied to the data processing node according to any embodiment of the present invention, and details are not described herein again.
  • the data processing node provided in this embodiment specifically includes a command receiving unit 31 and an operation unit 32.
  • the command receiving unit 31 is configured to receive a data processing command sent by the cluster client processing device, where the data processing command includes one or more sets of quad information, and each set of quad information includes a first tree identifier, The first branch identifier, the first data block identifier, and the first node identifier.
  • the operation unit 32 is connected to the command receiving unit 31 for performing a read or write operation according to the each group of quaternary information in the data processing command.
  • the data processing node receives the data processing command sent by the cluster client processing device, where the data processing command includes one or more sets of quad information, and each set of quad information includes the first The tree identifier, the first branch identifier, the first data block identifier, and the first node identifier, the operation unit 32 performs a read or write operation according to each group of quad information in the data processing command.
  • the storage information includes a tree identifier, a branch identifier, a data block identifier, and a node identifier, and the storage information can be managed and maintained in units of each data block on the logical volume, and the form is more flexible.
  • the cluster client processing device When performing a read or write data operation, the cluster client processing device only needs to determine the storage information for the corresponding logical data block, and sends the data processing command to the data processing node according to the data processing node according to the stored information in the data processing command. Corresponding operations are performed on a certain physical data block to avoid the occupation of memory space, and the resource consumption problem caused by global setting or reading and writing of a Bitmap in a distributed storage system, thereby improving the efficiency of data processing.
  • the data processing command is used to indicate a read data operation.
  • the operating unit 32 is further configured to acquire each group of quad information in the data processing command, and determine, according to the quaternary information, a physical data block to be processed in the data storage device, if When a physical data block exists, a read operation is performed directly on the physical data block.
  • the operating unit 32 is further configured to: if the physical data block does not exist, decrement the first node identifier in each set of quad information by a step of 1 until the search is performed.
  • the physical data block corresponding to the decremented quaternion information is present; if the first node identifier in each group of quaternion information is reduced to 0, and there is no corresponding physical data block, each group is The first branch identifier in the quaternion information is decremented by a step of 1 to find whether the corresponding physical data block exists in the parent branch until the corresponding physical data block is found.
  • the data processing command is used to indicate a write data operation.
  • the operating unit 32 is further configured to acquire each set of quad information in the data processing command, and determine, according to the quaternary information, a physical data block to be allocated in the data storage device, where the Write operations on the allocated physical data blocks.

Landscapes

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

Abstract

本发明实施例提供一种分布式数据处理方法及装置,该分布式数据处理方法包括:集群客户处理装置接收管理装置发送的用户当前使用的逻辑卷的存储信息;集群客户处理装置接收用户发送的读或写数据命令,根据读或写数据命令和逻辑卷的存储信息确定第一存储信息;集群客户处理装置根据每一组四元组信息中的树标识和数据块标识确定每一组四元组存储信息对应的数据处理节点;集群客户处理装置向每一组四元组信息对应的数据处理节点发送数据处理命令。本发明实施例提供的分布式数据处理方法及装置,避免了分布式存储系统中需要全局设置或者读写Bitmap而带来的资源消耗问题,提高了数据处理效果。

Description

分布式数据处理方法及装置
技术领域
本发明实施例涉及数据存储技术, 尤其涉及一种分布式数据处理方法 及装置。 背景技术
分布式数据存储技术中, 相对于磁盘、 分区这些物理卷, 可以将物理卷 的空间加以管理之后, 虚拟出逻辑卷(Logical Volume ) , 逻辑卷将存储虚拟 化, 存储不再受限于物理磁盘的大小。 使用逻辑卷, 文件系统可以扩展到多 个磁盘上, 聚合多个磁盘或磁盘分区成一个逻辑卷, 创建出来的逻辑卷在用 户没有写入数据的时候, 可以不用真实分配物理存储空间, 而是到了写入的 时候, 动态分配物理存储空间, 从而达到节省物理存储空间, 延迟成本投入 等目的。
快照 (Snapshot )是指定数据集合的一个完全可用的拷贝, 该拷贝包括 相应数据在某个时间点(拷贝的时间点)的映像。 快照是一种特殊的逻辑卷, 是用户创建的普通逻辑卷的准确拷贝, 或者说普通逻辑卷的精确的副本。 当 创建快照的时候, 将已存在的普通逻辑卷的逻辑存储空间标记为快照的逻辑 存储空间, 并分配新的逻辑存储空间供普通逻辑卷使用, 创建快照之后, 没 有修改的数据块在逻辑存储空间上和快照共享, 但是后续所有的修改都将写 入普通逻辑卷自己的新逻辑存储空间中。 删除普通逻辑卷的时候, 在该普通 逻辑卷上创建的所有快照会被全部删除。
在数据存储过程中 ,通常将逻辑卷按照相同大小划分为多个逻辑数据块 , 将逻辑数据块作为数据的最小增量单元。 在记录哪些数据块已经写入数据, 哪些没有写入的时候, 一般会采用位图 (Bitmap ) 的机制, 将每个逻辑数据 块对应一个比特位, 如果已写入数据则置为 1 , 否则置为 0。 当创建快照的时 候, 需要将当前普通逻辑卷的 Bitmap备份为创建的快照的 Bitmap, 并重置普 通逻辑卷的 Bitmap。这样在每次新写入数据的时候,都需要同步更新 Bitmap, 尤其是在分布式数据处理系统中,需要把 Bitmap的变动实时同步至各个集群 客户处理装置中。 另外, 在读取数据时, 需要集群客户端通过对当前普通逻 辑卷的 Bitmap和所有快照的 Bitmap进行查询, 确定需要的数据存储在哪个 快照或普通逻辑卷中。 如果 Bitmap緩存在内存中, 那么就会对内存造成很大 的资源消耗, 如果未緩存在内存中, 则会对存储设备自身增加资源消耗, 影 响数据处理的效率。 发明内容 本发明实施例提供一种分布式数据处理方法及装置, 以避免分布式存 储系统中需要全局设置或者读写 Bitmap而带来的资源消耗问题。
第一个方面, 本发明实施例提供一种分布式数据处理方法, 包括: 集群客户处理装置接收管理装置发送的用户当前使用的逻辑卷的存 储信息, 其中, 所述逻辑卷的存储信息为描述所述逻辑卷上每一个逻辑数 据块的四元组信息, 所述四元组信息包括树标识、 数据块标识、 分支标识 和节点标识;
所述集群客户处理装置接收用户发送的读或写数据命令, 根据所述读 或写数据命令和所述逻辑卷的存储信息确定第一存储信息, 其中, 所述第 一存储信息包括一组或多组四元组信息, 每一组四元组信息包括第一树标 识、 第一分支标识、 第一数据块标识和第一节点标识;
所述集群客户处理装置根据所述每一组四元组信息中的树标识和数 据块标识确定所述每一组四元组存储信息对应的数据处理节点;
所述集群客户处理装置向所述每一组四元组信息对应的数据处理节 点发送数据处理命令, 其中, 所述数据处理命令包含所述数据处理节点对 应的每一组四元组信息, 以使得所述每一组四元组信息对应的数据处理节 点根据所述每一组四元组信息进行读或写的操作。
在第一种可能的实现方式中, 所述集群客户处理装置根据所述读或写 数据命令和所述逻辑卷的存储信息确定第一存储信息, 包括:
所述集群客户处理装置根据所述逻辑卷的存储信息和所述读或写数 据命令中的操作对象信息获取所述读或写数据命令相应的逻辑卷的第一 树标识和第一分支标识, 根据所述逻辑卷的存储信息和所述读或写数据命 令中的偏移量信息确定一组或多组第一数据块标识, 获取所述一组或多组 第一数据块标识、 所述第一树标识和第一分支标识所对应的最大节点标 识, 将所述最大节点标识加 1生成所述第一节点标识。
结合第一方面或第一方面的第一种可能的实现方式, 在第二种可能的 实现方式中, 所述数据处理命令用以指示读数据操作;
相应地, 所述每一组四元组信息对应的数据处理节点根据所述每一组 四元组信息进行读操作, 包括:
所述每一组四元组信息对应的数据处理节点获取所述数据处理命令 中的每一组四元组信息, 根据所述四元组信息确定数据存储设备中的待处 理的物理数据块, 若所述物理数据块存在, 则直接在所述物理数据块上进 行读操作。
结合第一方面的第二种可能的实现方式, 在三种可能的实现方式中, 所述分布式数据处理方法, 还包括:
若所述物理数据块不存在, 则所述数据处理节点将所述每一组四元组 信息中的第一节点标识以 1为步长递减, 直到查找到递减后的四元组信息 对应的物理数据块存在为止;
若所述每一组四元组信息中的第一节点标识减为 0仍然不存在对应的 物理数据块时, 所述数据处理节点将所述每一组四元组信息中的第一分支 标识以 1为步长递减, 寻找父分支是否存在对应的物理数据块, 直到查找 到相应的物理数据块为止。
结合第一方面或第一方面的第一种可能的实现方式, 在第四种可能的 实现方式中, 所述数据处理命令用以指示写数据操作;
相应地, 所述每一组四元组信息对应的数据处理节点根据所述每一组 四元组信息进行写操作, 包括:
所述每一组四元组信息对应的数据处理节点获取所述数据处理命令 中的每一组四元组信息, 根据所述四元组信息确定数据存储设备中待分配 的物理数据块, 在所述待分配的物理数据块上进行写操作。
在第五种可能的实现方式中, 所述集群客户处理装置接收管理装置发 送的用户当前使用的逻辑卷的存储信息之后, 所述方法还包括:
所述集群客户处理装置接收所述管理装置发送的快照命令, 根据所述 快照命令和所述逻辑卷的存储信息确定第二存储信息, 其中, 所述第二存 储信息包括一组或多组四元组信息, 所述每一组四元组信息包括第二树标 识、 第二分支标识、 第二数据块标识和第二节点标识;
所述集群客户处理装置获取与所述第二树标识、 所述第二分支标识和 所述第二数据块标识对应的第二最大节点标识, 将所述第二最大节点标识 加 1。
在第六种可能的实现方式中, 所述集群客户处理装置接收管理装置发 送的用户当前使用的逻辑卷的存储信息之后, 所述方法还包括:
所述集群客户处理装置接收所述管理装置发送的克隆命令, 根据所述 克隆命令和所述逻辑卷的存储信息确定第三存储信息, 其中, 所述第三存 储信息包括第三树标识、第三分支标识、第三数据块标识和第三节点标识; 所述集群客户处理装置获取与所述第三树标识和所述第三数据块标 识对应的最大分支标识, 将所述最大分支标识加 1生成克隆分支标识, 将 所述第三树标识、 所述第三数据块标识、 所述克隆分支标识和克隆节点标 识形成第四存储信息, 建立所述第四存储信息与所述第三存储信息的克隆 关系, 将所述克隆关系进行广播, 其中, 所述克隆节点标识为 0。
在第七种可能的实现方式中, 所述集群客户处理装置接收管理装置发 送的用户当前使用的逻辑卷的存储信息之后, 所述方法还包括:
所述集群客户处理装置接收所述管理装置发送的文件关闭命令, 将所 述逻辑卷的存储信息删除。
第二个方面, 本发明实施例提供一种分布式数据处理方法, 包括: 数据处理节点接收集群客户处理装置发送的数据处理命令, 其中, 所 述数据处理命令包括一组或多组四元组信息, 每一组四元组信息包括第一 树标识、 第一分支标识、 第一数据块标识和第一节点标识;
所述数据处理节点根据所述数据处理命令中的所述每一组四元组信 息进行读或写的操作。
在第一种可能的实现方式中, 所述数据处理命令用以指示读数据操 作;
相应地, 所述数据处理节点根据所述数据处理命令中的所述每一组四 元组信息进行读或写的操作, 包括:
所述数据处理节点获取所述数据处理命令中的每一组四元组信息, 根 述物理数据块存在, 则直接在所述物理数据块上进行读操作。 结合第二方面的第一种可能的实现方式, 在第二种可能的实现方式 中, 所述分布式数据处理方法, 还包括:
若所述物理数据块不存在, 则所述数据处理节点将所述每一组四元组 信息中的第一节点标识以 1为步长递减, 直到查找到递减后的四元组信息 对应的物理数据块存在为止;
若所述每一组四元组信息中的第一节点标识减为 0仍然不存在对应的 物理数据块时, 所述数据处理节点将所述每一组四元组信息中的第一分支 标识以 1为步长递减, 寻找父分支是否存在对应的物理数据块, 直到查找 到相应的物理数据块为止。
在第三种可能的实现方式中, 所述数据处理命令用以指示写数据操 作; 相应地, 所述数据处理节点根据所述数据处理命令中的所述每一组四 元组信息进行读或写的操作, 包括:
所述数据处理节点获取所述数据处理命令中的每一组四元组信息, 根 待分配的物理数据块上进行写操作。
第三个方面, 本发明实施例提供一种集群客户处理装置, 包括: 同步单元, 用于接收管理装置发送的用户当前使用的逻辑卷的存储信 息, 其中, 所述逻辑卷的存储信息为描述所述逻辑卷上每一个逻辑数据块 的四元组信息, 所述四元组信息包括树标识、 数据块标识、 分支标识和节 点标识;
第一读写处理单元, 与所述同步单元相连, 用于接收用户发送的读或 写数据命令, 根据所述读或写数据命令和所述逻辑卷的存储信息确定第一 存储信息, 其中, 所述第一存储信息包括一组或多组四元组信息, 每一组 四元组信息包括第一树标识、 第一分支标识、 第一数据块标识和第一节点 标识;
第二读写处理单元, 与所述第一读写处理单元相连, 用于根据所述每 一组四元组信息中的树标识和数据块标识确定所述每一组四元组存储信 息对应的数据处理节点; 发送单元, 与所述第二读写处理单元相连, 用于向所述每一组四元组 信息对应的数据处理节点发送数据处理命令, 其中, 所述数据处理命令包 含所述数据处理节点对应的每一组四元组信息, 以使得所述每一组四元组 信息对应的数据处理节点根据所述每一组四元组信息进行读或写的操作。
在第一种可能的实现方式中, 第一读写处理单元还用于根据所述逻辑 卷的存储信息和所述读或写数据命令中的操作对象信息获取所述读或写 数据命令相应的逻辑卷的第一树标识和第一分支标识, 根据所述逻辑卷的 存储信息和所述读或写数据命令中的偏移量信息确定一组或多组第一数 据块标识, 获取所述一组或多组第一数据块标识、 所述第一树标识和第一 分支标识所对应的最大节点标识, 将所述最大节点标识加 1生成所述第一 节点标识。
在第二种可能的实现方式中, 所述集群客户处理装置, 还包括: 第一快照处理单元, 与所述同步单元相连, 用于接收所述管理装置发 送的快照命令, 根据所述快照命令和所述逻辑卷的存储信息确定第二存储 信息, 其中, 所述第二存储信息包括一组或多组四元组信息, 所述每一组 四元组信息包括第二树标识、 第二分支标识、 第二数据块标识和第二节点 标识;
第二快照处理单元, 与所述第一快照处理单元相连, 获取与所述第二 树标识、 所述第二分支标识和所述第二数据块标识对应的第二最大节点标 识, 将所述第二最大节点标识加 1。
在第三种可能的实现方式中, 所述集群客户处理装置, 还包括: 第一克隆处理单元, 与所述同步单元相连, 用于接收所述管理装置发 送的克隆命令, 根据所述克隆命令和所述逻辑卷的存储信息确定第三存储 信息, 其中, 所述第三存储信息包括第三树标识、 第三分支标识、 第三数 据块标识和第三节点标识;
第二克隆处理单元, 与所述第一克隆处理单元相连, 用于获取与所述 第三树标识和所述第三数据块标识对应的最大分支标识, 将所述最大分支 标识加 1生成克隆分支标识, 将所述第三树标识、 所述第三数据块标识、 所述克隆分支标识和克隆节点标识形成第四存储信息, 建立所述第四存储 信息与所述第三存储信息的克隆关系, 将所述克隆关系进行广播, 其中, 所述克隆节点标识为 0。
在第四种可能的实现方式中, 所述集群客户处理装置, 还包括: 删除单元, 与所述同步单元相连, 用于接收所述管理装置发送的文件 关闭命令, 将所述逻辑卷的存储信息删除。
第四个方面, 本发明实施例提供一种数据处理节点, 包括:
命令接收单元, 用于接收集群客户处理装置发送的数据处理命令, 其 中, 所述数据处理命令包括一组或多组四元组信息, 每一组四元组信息包 括第一树标识、 第一分支标识、 第一数据块标识和第一节点标识;
操作单元, 与所述命令接收单元相连, 用于根据所述数据处理命令中 的所述每一组四元组信息进行读或写的操作。
在第一种可能的实现方式中, 所述数据处理命令用以指示读数据操 作;
相应地, 所述操作单元还用于获取所述数据处理命令中的每一组四元 组信息, 根据所述四元组信息确定数据存储设备中的待处理的物理数据 块, 若所述物理数据块存在, 则直接在所述物理数据块上进行读操作。
在第二种可能的实现方式中, 所述操作单元还用于若所述物理数据块 不存在, 则将所述每一组四元组信息中的第一节点标识以 1为步长递减, 直到查找到递减后的四元组信息对应的物理数据块存在为止; 若所述每一 组四元组信息中的第一节点标识减为 0仍然不存在对应的物理数据块时, 将所述每一组四元组信息中的第一分支标识以 1为步长递减, 寻找父分支 是否存在对应的物理数据块, 直到查找到相应的物理数据块为止。
在第三种可能的实现方式中, 所述数据处理命令用以指示写数据操 作; 相应地, 所述操作单元还用于获取所述数据处理命令中的每一组四元 组信息, 根据所述四元组信息确定数据存储设备中待分配的物理数据块, 在所述待分配的物理数据块上进行写操作。
由上述技术方案可知, 本发明实施例提供的分布式数据处理方法及装 置, 集群客户处理装置接收管理装置发送的用户当前使用的逻辑卷的存储 信息, 其中, 逻辑卷的存储信息为描述逻辑数据块的四元组信息, 四元组 信息包括树标识、 数据块标识、 分支标识和节点标识, 将逻辑卷均分后得 到大小相等的逻辑数据块, 接收用户发送的读或写数据命令, 根据读或写 数据命令和逻辑卷的存储信息确定第一存储信息, 根据每一组四元组信息 中的树标识和数据块标识确定每一组四元组存储信息对应的数据处理节 点, 向每一组四元组信息对应的数据处理节点发送数据处理命令, 以使得 每一组四元组信息对应的数据处理节点根据每一组四元组信息进行读或 写的操作。 通过存储信息的设置, 该存储信息包括树标识、 分支标识、 数 据块标识和节点标识, 可以以逻辑卷上的每一个数据块为单位进行存储信 息的管理和维护, 形式更为灵活, 当用户进行读或写数据操作时, 集群客 户处理装置仅需要确定对相应的逻辑数据块的存储信息, 并据此进行相应 的操作即可, 避免内存空间的占用, 以及分布式存储系统中需要全局设置 或者读写 Bitmap而带来的资源消耗问题, 提高了数据处理的效率。 附图说明
实施例或现有技术描述中所需要使用的附图作一简单地介绍, 显而易见 地, 下面描述中的附图是本发明的一些实施例, 对于本领域普通技术人员 来讲, 在不付出创造性劳动性的前提下, 还可以根据这些附图获得其他的 附图。
图 1为本发明实施例提供的分布式数据处理系统结构示意图 图 2为本发明实施例提供的一种树结构示意图;
图 3为本发明实施例提供的第一种分布式数据处理方法流程图; 图 4为本发明实施例提供的第二种分布式数据处理方法流程图; 图 5为本发明实施例提供的另一种树结构示意图;
图 6为本发明实施例提供的再一种树结构示意图;
图 7为本发明实施例提供的第三种分布式数据处理方法流程图; 图 8为本发明实施例提供的一种集群客户处理装置结构示意图; 图 9为本发明实施例提供的另一种集群客户处理装置结构示意图; 图 10为本发明实施例提供的数据处理节点结构示意图; 具体实施方式 为使本发明实施例的目的、 技术方案和优点更加清楚, 下面将结合本 发明实施例中的附图, 对本发明实施例中的技术方案进行清楚、 完整地描 述, 显然, 所描述的实施例是本发明一部分实施例, 而不是全部的实施例。 基于本发明中的实施例, 本领域普通技术人员在没有作出创造性劳动前提 下所获得的所有其他实施例, 都属于本发明保护的范围。
图 1为本发明实施例提供的分布式数据处理系统结构示意图, 该示例 图为实施本发明所提供的分布式处理方法的一个示例性的系统, 并非唯一 的可用于实施本发明方法的系统架构, 本领域技术人员可以根据本章节中 提供的系统以及方法的具体实施方式, 构造其它未实质性变换的系统。
如图 1所示, 本实施例提供一种分布式数据处理系统包括: 管理装置 11、 至少一个集群客户处理装置 12, 至少两个数据处理节点 13以及至少 两个数据存储设备 14。用户 10作为整个分布式系统的使用者,是存储 I/O 命令和数据管理命令的发起者。
所述的管理装置 11面向用户 10提供存储管理类接口, 用户可以通过 该接口向管理装置发送创建逻辑卷、 创建快照或链接克隆, 以及使用逻辑 卷的数据管理命令; 管理装置 11接收到用户 10的数据管理命令后, 根据 所述数据管理命令执行相应操作, 若用户 10发送创建逻辑卷的命令, 则 为用户 10分配创建的逻辑卷的树标识、 分支标识和节点标识; 若用户 10 发送使用逻辑卷的命令, 则由所述用户 10指定或者按照配置的规则自动 分配为用户 10服务的至少一个集群客户处理装置 12, 并将所述用户 10 使用的逻辑卷的树标识、 分支标识和节点标识同步到所述至少一个集群客 户处理装置 12, 以当所述至少一个集群客户处理装置 12接收到用户 10 发送的存储 I/O命令时,可以根据管理装置 11同步过来的信息进行相应地 处理; 若用户 10发送创建快照或链接克隆的命令, 则为所述用户 10分配 创建的快照卷或链接克隆卷的树标识、分支标识和节点标识, 并在用户 10 使用所述逻辑卷的时候, 将创建的快照卷或链接克隆卷的树标识、 分支标 识和节点标识同步到所述至少一个集群客户处理装置 12,或者将创建快照 或链接克隆的命令发送给所述至少一个集群客户处理装置 12,以使得所述 至少一个集群客户处理装置 12根据所述创建快照或链接克隆的命令, 在 已同步的信息的基础上分配创建的快照卷或链接克隆卷的树标识、 分支标 识和节点标识; 若用户 10发送文件关闭命令, 则管理装置 11将该文件关 闭命令发送给所述至少一个集群客户处理装置 12,所述至少一个集群客户 处理装置 12将文件管理命令对应的逻辑卷、 快照卷和链接克隆卷的树标 识、 分支标识和节点标识都删除。
在此需要说明的是, 本申请文件中直接表述的 "逻辑卷" 是指用户创 建的非快照形式的普通逻辑卷, "快照逻辑卷" 或 "链接克隆逻辑卷" 此 类特殊逻辑卷使用 "快照卷" 或 "链接克隆卷" 表述。
所述至少一个集群客户处理装置 12在该分布式数据处理系统中面向 用户以逻辑卷的形式为用户 10提供存储服务, 提供用户 10访问分布式集 群的入口, 接收用户 10的存储 I/O命令, 将用户 10的存储 I/O命令转换 成集群内部协议的数据处理命令; 所述至少一个集群客户处理装置 12在 该分布式数据处理系统中面向数据处理节点 13以逻辑数据块的形式进行 数据存储(按照逻辑卷的大小将逻辑卷划分为大小相等的逻辑数据块) , 确定用户当前存储 I/O命令所涉及的逻辑卷的逻辑数据块, 并确定所述逻 辑数据块所在的数据处理节点 13 , 并向其发送数据处理命令, 该数据处理 命令包含该数据处理节点对应的 (也即数据处理节点待处理的)逻辑数据 块的树标识、 数据块标识、 分支标识和节点标识的四元组信息; 另外, 集 群客户处理装置 12还面向管理装置 11提供接口 , 接收管理装置 11发送 的数据管理命令, 进行快照或者链接克隆等操作。
具体地, 集群客户处理装置 12维护以逻辑卷上每一个逻辑数据块为 单位的存储信息(逻辑卷上的每一个逻辑数据块代表该逻辑卷下所有的普 通卷、 快照卷、 链接克隆卷上的每一个逻辑数据块) , 该存储信息主要包 括该逻辑数据块的树标识、 数据块标识、 分支标识和节点标识的四元组信 息, 例如用户所创建的逻辑卷 0的第 1块逻辑数据块的在经历了快照和链 接克隆等每一次操作之后的四元组信息。 所述的集群客户处理装置 12自 身维护以逻辑卷上每一个逻辑数据块为单位的存储信息, 将会在逻辑上得 到如图 2所示的卷-快照树,每一个逻辑卷的每一个逻辑数据块形成一个卷 -快照树, 树上的每个节点采用四元组信息进行标识, 包括树标识、 数据块 标识、 分支标识和节点标识, 其中, 树标识用以指示该逻辑数据块所位于 的逻辑卷(位于一个相同逻辑卷的所有的逻辑数据块的树标识都相同) , 数据块标识用以指示该逻辑数据块在逻辑卷中所处的位置, 如按照逻辑卷 的大小将逻辑卷划分为八个逻辑数据块, 可以将该八个逻辑数据块从 0到 7进行编号以作为该数据块标识; 当创建一个新的逻辑卷时, 可以将该新 的逻辑卷的分支标识设置为 0, 每当创建一个克隆卷到该逻辑卷上时, 为 该克隆卷分配一个新的分支标识, 如 1 , 并记录该克隆卷与逻辑卷的克隆 关系。 节点标识用以指示对原逻辑卷或对克隆卷的快照操作, 每当创建一 个快照卷到该逻辑卷上时, 为该快照卷分配一个新的节点标识, 如 1。
如图 2所示的树结构, 该树结构包括多个节点, 以对应逻辑数据块在 各个操作状态的存储空间, 可以用四元组信息来标识树结构中的节点。 为 了描述方便, 在以下实施例中, 四元组信息的顺序均以树标识、 数据块标 识、 分支标识和节点标识进行说明。 图 2示出了树标识为 0, 且数据块标 识为 0的树结构, 以记录对某个逻辑卷中的某个逻辑数据块的数据处理过 程。 当创建一个新的逻辑卷时, 对于该逻辑卷中的第一个逻辑数据块 0, 对应节点 0000, 此时该节点 0000为叶子节点, 代表该逻辑数据块 0的存 储空间。 创建该新的逻辑卷的快照卷时, 对于该逻辑数据块 0, 创建节点 0000的快照, 则该节点 0000成为快照节点, 增加新的节点 0001作为叶子 节点。 创建节点 0001的快照, 则该节点 0001成为快照节点, 增加新的叶 子节点 0002, 创建节点 0002的快照, 则该节点 0002成为快照节点, 增加 新的叶子节点 0003。 节点 0000、 节点 0001、 节点 0002和节点 0003作为 该树结构的一个分支, 其分支标识为 0。 当创建该新的逻辑卷的克隆卷时, 对于该逻辑数据块 0, 对节点 0000进行克隆, 增加克隆的节点 0010。 当 创建该克隆卷的快照卷时, 对于该逻辑数据块 0, 创建该克隆的节点 0010 的快照, 则该克隆的节点 0010成为快照节点, 增加新的克隆的叶子节点 001 1。 节点 0010和节点 0011作为该树结构的另一个分支, 其分支标识为 1„
管理装置 1 1、 集群客户处理装置 12和数据处理节点均可以以对图 2 所示树结构为基础来实现对数据的管理和操作。 值得注意的是, 为了提高 对数据处理过程的管理, 可以通过图 2所示的树结构的方式来实现, 但是 据块各个操作状态的存储空间可能存在有相应的物理数据块, 则该四元组 信息可以对相应的物理数据块进行标识。 所述的至少两个数据处理节点 13面向集群客户处理装置 12提供接 口, 接收集群客户处理装置 12转发的对某逻辑数据块的数据处理命令, 根据四元组信息确定当前所需要操作的逻辑数据块的存储空间, 并根据确 定的存储空间 (对应物理数据块)对底层数据存储设备 14的进行相应的 数据操作。
所述的数据存储设备 14用于根据数据处理节点 13的命令, 对数据进 行存储的各种操作。
上述的管理装置 11、集群客户处理装置 12以及数据处理节点 13在具 体实践中可以通过软件实现, 也可以通过硬件实现, 具体实现方式本实施 例不做限制。
上述对实施本发明方法的系统实例的各组成进行了概括性的介绍, 各 组成具体如何实施本发明提供的方法将在以下的实施例中进行更为详细 的介绍。
图 3为本发明实施例提供的第一种分布式数据处理方法流程图。 如图 处理系统中对数据的处理过程。
本实施例提供的分布式数据处理方法具体包括:
步骤 A10、 集群客户处理装置接收管理装置发送的用户当前使用的逻 辑卷的存储信息, 其中, 所述逻辑卷的存储信息为描述所述逻辑卷上每一 个逻辑数据块的四元组信息, 所述四元组信息包括树标识、 数据块标识、 分支标识和节点标识;
步骤 A20、 所述集群客户处理装置接收用户发送的读或写数据命令, 根据所述读或写数据命令和所述逻辑卷的存储信息确定第一存储信息, 其 中, 所述第一存储信息包括一组或多组四元组信息, 所述每一组四元组信 息包括第一树标识、 第一分支标识、 第一数据块标识和第一节点标识; 步骤 A30、 所述集群客户处理装置根据所述每一组四元组信息中的树 标识和数据块标识确定所述每一组四元组存储信息对应的数据处理节点; 步骤 A40、 所述集群客户处理装置向所述每一组四元组信息对应的数 据处理节点发送数据处理命令, 其中, 所述数据处理命令包含所述数据处 理节点对应的每一组四元组信息, 以使得所述每一组四元组信息对应的数 据处理节点根据所述每一组四元组信息进行读或写的操作。
具体地, 用户可以通过终端与该分布式数据处理系统进行交互, 终端 具体可以为各种终端设备, 如手机, 个人计算机, 平板电脑, 笔记本电脑 等都可以作为终端。 用户通过终端将数据管理命令发送给管理装置, 该数 据管理命令具体可以用以指示用户创建逻辑卷、 创建快照或链接克隆, 以 及使用逻辑卷的操作。 例如, 用户新创建了一个文件, 该文件对应至少一 个逻辑卷, 则用户向管理装置发送创建逻辑卷的命令, 管理装置为用户分 配创建的逻辑卷的三元组信息, 该三元组信息包括树标识、 分支标识和节 点标识等存储信息。 当用户使用该文件时, 用户可以指定集群客户处理装 置, 管理装置将用户当前使用的逻辑卷的存储信息同步到用户指定的集群 客户处理装置中。 若用户没有指定集群客户处理装置, 则管理装置可以根 据配置的规则确定集群客户处理装置, 并将用户当前使用的逻辑卷的存储 信息同步到该集群客户处理装置中。 该逻辑卷的存储信息为描述逻辑数据 块的四元组信息, 四元组信息包括树标识、 数据块标识、 分支标识和节点 标识, 将逻辑卷根据预设数据块容量均分后可以得到大小相等的逻辑数据 块。 集群客户处理装置维护该以逻辑卷上每一个逻辑数据块为单位的存储 信息。
用户需要对逻辑卷上的数据块进行读或写操作时, 通过终端将读或写 数据命令发送给相应的集群客户处理装置, 集群客户处理装置根据读或写 数据命令和逻辑卷的存储信息确定第一存储信息, 该第一存储信息包括一 组或多组四元组信息,每一组四元组信息包括第一树标识、第一分支标识、 第一数据块标识和第一节点标识。 集群客户处理装置根据每一组四元组信 息确定相应的数据处理节点, 并向该数据处理节点发送数据处理命令, 以 使得数据处理节点根据该数据处理命令中的四元组信息进行相应的读或 写的操作。 当系统中设置底层数据存储设备时, 具体的数据均存储在数据 存储设备中, 则数据处理节点可以对数据存储设备进行相应的读或写的操 作。 当数据处理命令用以指示读数据操作时, 数据处理节点将读取到的数 据发送给集群客户处理装置, 集群客户处理装置再将该数据发送给用户。
本实施例提供的分布式数据处理方法, 集群客户处理装置接收管理装 置发送的用户当前使用的逻辑卷的存储信息, 其中, 逻辑卷的存储信息为 描述逻辑数据块的四元组信息, 四元组信息包括树标识、 数据块标识、 分 支标识和节点标识, 将逻辑卷均分后得到大小相等的逻辑数据块, 接收用 户发送的读或写数据命令, 根据读或写数据命令和逻辑卷的存储信息确定 第一存储信息, 根据每一组四元组信息中的树标识和数据块标识确定每一 组四元组存储信息对应的数据处理节点, 向每一组四元组信息对应的数据 处理节点发送数据处理命令, 以使得每一组四元组信息对应的数据处理节 点根据每一组四元组信息进行读或写的操作。 通过存储信息的设置, 该存 储信息包括树标识、 分支标识、 数据块标识和节点标识, 可以以逻辑卷上 的每一个数据块为单位进行存储信息的管理和维护, 形式更为灵活, 当用 户进行读或写数据操作时, 集群客户处理装置仅需要确定对相应的逻辑数 据块的存储信息, 并据此进行相应的操作即可, 避免内存空间的占用, 以 及分布式存储系统中需要全局设置或者读写 Bitmap而带来的资源消耗问 题, 提高了数据处理的效率。
在本实施例中, 步骤 A20, 所述集群客户处理装置根据所述读或写数 据命令和所述逻辑卷的存储信息确定第一存储信息, 具体可以包括: 所述集群客户处理装置根据所述逻辑卷的存储信息和所述读或写数 据命令中的操作对象信息获取所述读或写数据命令相应的逻辑卷的第一 树标识和第一分支标识, 根据所述逻辑卷的存储信息和所述读或写数据命 令中的偏移量信息确定一组或多组第一数据块标识, 获取所述一组或多组 第一数据块标识、 所述第一树标识和第一分支标识所对应的最大节点标 识, 将所述最大节点标识加 1生成所述第一节点标识。
具体地, 用户发送的读或写数据命令中携带有操作对象信息和偏移量 信息。 操作对象信息具体用以指示用户操作的是普通逻辑卷、 快照卷还是 链接克隆卷。 集群客户处理装置根据逻辑卷的存储信息和该操作对象信息 获取该读或写数据命令相应的逻辑卷的第一树标识和第一分支标识。 偏移 量信息具体用以指示用户操作的逻辑数据块所在的位置。 集群客户处理装 置根据逻辑卷的存储信息和该偏移量信息确定一组或多组第一数据块标 识, 再根据逻辑卷的存储信息获取所述一组或多组第一数据块标识、 第一 树标识和第一分支标识所对应的最大节点标识, 将最大节点标识加 1生成 第一节点标识。 再结合图 2, 例如第一树标识、 第一数据块标识和第一分 支标识分别为 0、 0和 0, 则获取分支标识为 0的分支上节点标识最大的为
3 , 3即为第一最大节点标识, 将 3加 1生成该第一节点标识, 即为 4。 因 此, 第一存储信息为 0004, 将 0004携带在数据处理命令中发送给相应的 数据处理节点。树结构中增加节点 0004。 集群客户处理装置可以将增加的 节点同步更新给管理装置。
在一种实现方式中, 若用户进行写数据操作, 则该数据处理命令用以 指示写数据操作, 该数据处理命令中还携带有待写入的数据。 数据处理节 点接收到该数据处理命令时, 从数据处理命令中提取出第一存储信息
0004, 获知第一存储信息 0004不存在, 则为 0004分配待处理的物理数据 块, 将待写入的数据写入该待处理的物理数据块。
在另一种实现方式中, 若用户进行读数据操作, 则该数据处理命令用 以指示读数据操作, 数据处理节点接收到该数据处理命令时, 从数据处理 命令中提取第一存储信息 0004, 获知第一存储信息 0004不存在, 则将第 一节点标识减 1 , 减 1后的第一存储信息为 0003 , 获取 0003对应的物理 数据块, 读取该物理数据块中的数据。
在本实施例中, 所述数据处理命令用以指示读数据操作。 相应地, 所 述每一组四元组信息对应的数据处理节点根据所述每一组四元组信息进 行读操作, 具体可以包括:
所述每一组四元组信息对应的数据处理节点获取所述数据处理命令 中的每一组四元组信息, 根据所述四元组信息确定数据存储设备中的待处 理的物理数据块, 若所述物理数据块存在, 则直接在所述物理数据块上进 行读操作。
在本实施例中, 所述的分布式数据处理方法还可以包括:
若所述物理数据块不存在, 则所述数据处理节点将所述每一组四元组 信息中的第一节点标识以 1为步长递减, 直到查找到递减后的四元组信息 对应的物理数据块存在为止;
若所述每一组四元组信息中的第一节点标识减为 0仍然不存在对应的 物理数据块时, 所述数据处理节点将所述每一组四元组信息中的第一分支 标识以 1为步长递减, 寻找父分支是否存在对应的物理数据块, 直到查找 到相应的物理数据块为止。 在本实施例中, 所述数据处理命令用以指示写数据操作。 相应地, 所 述每一组四元组信息对应的数据处理节点根据所述每一组四元组信息进 行写操作, 包括:
所述每一组四元组信息对应的数据处理节点获取所述数据处理命令 中的每一组四元组信息, 根据所述四元组信息确定数据存储设备中待分配 的物理数据块, 在所述待分配的物理数据块上进行写操作。
图 4为本发明实施例提供的第二种分布式数据处理方法流程图。 如图 4所示, 在本实施例中, 步骤 A10, 所述集群客户处理装置接收管理装置 发送的用户当前使用的逻辑卷的存储信息之后, 所述方法还可以包括: 步骤 A50、所述集群客户处理装置接收所述管理装置发送的快照命令, 根据所述快照命令和所述逻辑卷的存储信息确定第二存储信息, 其中, 所 述第二存储信息包括一组或多组四元组信息, 所述每一组四元组信息包括 第二树标识、 第二分支标识、 第二数据块标识和第二节点标识;
步骤 A60、 所述集群客户处理装置获取与所述第二树标识、 所述第二 分支标识和所述第二数据块标识对应的第二最大节点标识, 将所述第二最 大节点标识加 1。
具体地, 用户还可以对数据进行快照操作, 则用户向管理装置发送创 建快照的数据管理命令, 管理装置再向集群客户处理装置发送快照命令。 快照命令中具体可以携带有逻辑卷信息、 操作对象信息和偏移量信息, 可 以根据逻辑卷信息、 操作对象信息和偏移量信息以及逻辑卷的存储信息确 定第二树标识、 第二分支标识、 第二数据块标识和第二节点标识。 如图 5 所示, 仍以第二树标识、 第二分支标识和第二数据块标识分别为 0、 0和 0 为例, 获取分支标识为 0的分支上节点标识最大的为 3 , 3即为第二最大 节点标识, 将该第二最大节点标识加 1 , 更新为 4。 在用户对数据的快照 操作处理过程中, 管理装置也可以进行上述处理, 集群客户处理装置可以 不通知数据处理节点, 即数据处理节点不对快照操作进行任何处理, 对数 据的快照操作只在集群客户处理装置中记录, 可以降低数据处理节点的工 作量, 避免资源的浪费。
在本实施例中, 步骤 A10, 所述集群客户处理装置接收管理装置发送 的用户当前使用的逻辑卷的存储信息之后, 所述方法还可以包括: 步骤 A70、所述集群客户处理装置接收所述管理装置发送的克隆命令, 根据所述克隆命令和所述逻辑卷的存储信息确定第三存储信息, 其中, 所 述第三存储信息包括第三树标识、 第三分支标识、 第三数据块标识和第三 节点标识;
步骤 A80、 所述集群客户处理装置获取与所述第三树标识和所述第三 数据块标识对应的最大分支标识, 将所述最大分支标识加 1生成克隆分支 标识, 将所述第三树标识、 所述第三数据块标识、 所述克隆分支标识和克 隆节点标识形成第四存储信息, 建立所述第四存储信息与所述第二存储信 息的克隆关系, 将所述克隆关系进行广播, 其中, 所述克隆节点标识为 0。
具体地, 用户还可以对数据进行克隆操作, 则用户向管理装置发送创 建链接克隆的数据管理命令, 管理装置再向集群客户处理装置发送克隆命 令。克隆命令中具体可以携带有逻辑卷信息、操作对象信息和偏移量信息, 可以根据逻辑卷信息、 操作对象信息和偏移量信息以及逻辑卷的存储信息 确定第三树标识、 第三分支标识、 第三数据块标识和第三节点标识, 即第 三存储信息。 如图 6所示, 例如第三存储信息为 0001 , 该第三存储信息对 应的树结构中分支标识最大的为 1 , 即最大分支标识, 则将该最大分支标 识加 1生成克隆分支标识, 为 2。 将第三树标识、 第三数据块标识、 克隆 分支标识和克隆节点标识形成第三存储信息, 克隆节点标识设置为 0, 则 该第四存储信息为 0020, 对应节点 0020, 并建立第三存储信息 0001与第 四存储信息为 0020的克隆关系, 图 6所示的树结构中, 反映为节点 0001 与节点 0020为父子关系。 在用户对数据的克隆操作处理过程中, 管理装 置也可以进行上述处理, 集群客户处理装置可以只将克隆关系通过广播的 形式使相应的数据处理节点获知, 以使该数据处理节点在用户对数据进行 读或写操作时, 根据该克隆关系进行相应地处理, 以及数据处理节点在需 要获知克隆关系时再向集群客户处理装置请求, 减小了集群客户处理装置 的处理压力。
值得注意的, 步骤 A20-步骤 A40是对读或写数据命令的处理, 步骤 A50和步骤 A60是对快照命令的处理, 步骤 A70和步骤 A80是对克隆命 令的处理, 三个处理过程可以并行执行, 并不具有必然的时序关系。
在本实施例中, 步骤 A10, 所述集群客户处理装置接收管理装置发送 的用户当前使用的逻辑卷的存储信息之后, 所述方法还可以包括: 步骤 A90, 所述集群客户处理装置接收所述管理装置发送的文件关闭 命令, 将所述逻辑卷的存储信息删除。
具体地, 当用户关闭正在使用的文件时, 向管理装置发送文件关闭命 令, 管理装置将文件关闭命令发送给集群客户处理装置, 集群客户处理装 置将该逻辑卷的存储信息删除以释放存储空间, 避免存储空间的浪费。
图 7为本发明实施例提供的第三种分布式数据处理方法流程图。 如图 7所示, 本实施例提供的分布式数据处理方法具体可以与本发明任意实施 例提供的适用于集群客户处理装置的方法配合实现对数据的处理过程, 其 具体实现过程, 此不再赘述。 该分布式数据处理方法可以通过数据处理节 点来执行, 该数据数据处理节点具体可以采用软件和 /或硬件的方式来实 现。
在本实施例中, 该分布式数据处理方法具体包括:
步骤 B10、数据处理节点接收集群客户处理装置发送的数据处理命令, 其中, 所述数据处理命令包括一组或多组四元组信息, 每一组四元组信息 包括第一树标识、 第一分支标识、 第一数据块标识和第一节点标识;
步骤 B20、 所述数据处理节点根据所述数据处理命令中的所述每一组 四元组信息进行读或写的操作。
本实施例提供的分布式数据处理方法, 数据处理节点接收集群客户处 理装置发送的数据处理命令, 其中, 数据处理命令包括一组或多组四元组 信息, 每一组四元组信息包括第一树标识、 第一分支标识、 第一数据块标 识和第一节点标识, 根据数据处理命令中的每一组四元组信息进行读或写 的操作。 通过存储信息的设置, 该存储信息包括树标识、 分支标识、 数据 块标识和节点标识, 可以以逻辑卷上的每一个数据块为单位进行存储信息 的管理和维护, 形式更为灵活, 当用户进行读或写数据操作时, 集群客户 处理装置仅需要确定对相应的逻辑数据块的存储信息, 并据此发送给数据 处理节点数据处理命令, 数据处理节点根据数据处理命令中的存储信息即 可对某个物理数据块进行相应地的操作, 避免内存空间的占用, 以及分布 式存储系统中需要全局设置或者读写 Bitmap而带来的资源消耗问题, 提 高了数据处理的效率。 在本实施例中, 所述数据处理命令用以指示读数据操作。 相应地, 步 骤 B20, 所述数据处理节点根据所述数据处理命令中的所述每一组四元组 信息进行读或写的操作, 具体可以包括:
所述数据处理节点获取所述数据处理命令中的每一组四元组信息, 根 据所述四元组信息确定数据存储设备中的待处理的物理数据块, 若所述物 理数据块存在, 则直接在所述物理数据块上进行读操作。
在本实施例中, 所述分布式数据处理方法还可以包括:
若所述物理数据块不存在, 则所述数据处理节点将所述每一组四元组 信息中的第一节点标识以 1为步长递减, 直到查找到递减后的四元组信息 对应的物理数据块存在为止;
若所述每一组四元组信息中的第一节点标识减为 0仍然不存在对应的 物理数据块时, 所述数据处理节点将所述每一组四元组信息中的第一分支 标识以 1为步长递减, 寻找父分支是否存在对应的物理数据块, 直到查找 到相应的物理数据块为止。
具体地, 对于用以指示读数据操作的数据处理命令。 例如该数据处理 命令的四元组信息为 0004, 则数据处理节点查找四元组信息 0004对于对 应的物理数据块是否存在, 如存在, 该物理数据块即为待处理的物理数据 块, 读取该物理数据块中存储的数据。 在对数据的快照操作和克隆操作而 产生该四元组信息 0004, 且没有通知数据处理节点的情况下,数据处理节 点中可能不存在该四元组信息 0004。 若四元组信息 0004对应的物理数据 块不存在, 且第一分支标识为 0, 则将第一节点标识以 1为步长递减, 即 查找 0003对应的物理数据块是否存在, 若不存在, 则查找 0002对应的物 理数据块是否存在, 直到查找到存在物理数据块为止。 若第一分支标识不 为 0, 例如四元组信息为 0011 , 则说明该读数据操作的对象为克隆卷, 将 四元组信息 001 1的节点标识减为 0, 即 0010后, 仍然不存在对应的物理 数据块时, 根据克隆关系可知, 0010与 0000为克隆关系, 则可以根据该 克隆关系确定 0000 , 读取 0000对应物理数据块中存储的数据。
在本实施例中, 所述数据处理命令用以指示写数据操作; 相应地, 步 骤 B20, 所述数据处理节点根据所述数据处理命令中的所述每一组四元组 信息进行读或写的操作, 具体可以包括: 所述数据处理节点获取所述数据处理命令中的每一组四元组信息, 根 据所述四元组信息确定数据存储设备中待分配的物理数据块, 在所述待分 配的物理数据块上进行写操作。
具体地, 写数据处理命令中携带有待写入的数据, 对待处理的物理数 据块进行写数据处理即将待写入的数据写入该待处理的物理数据块中。
在实际实现过程中, 可以根据待写入的数据的大小进行不同的处理。 例如, 四元组信息为 0004, 为该四元组信息 0004分配物理数据块, 待写 入的数据为 AB , 待写入的数据 AB的大小与待处理的物理数据块的大小 相同, 则可以直接将 AB写入待处理的物理数据块。 若待写入的数据为 C, 数据处理节点中 0003对应的物理数据块中存储的数据为 AB ,则可以先将 AB取出放在緩存中, 将 AB修改为 AC, 再将 AC写入 0004对应的待处 理的物理数据块中。
图 8为本发明实施例提供的一种集群客户处理装置结构示意图。 如图 8所示, 本实施例提供的集群客户处理装置具体可以实现本发明任意实施 例提供的应用于集群客户处理装置的分布式数据处理方法的各个步骤, 此 不再赘述。
本实施例提供的集群客户处理装置具体包括同步单元 21、第一读写处 理单元 22、 第二读写处理单元 23和发送单元 24。 同步单元 21用于接收 管理装置发送的用户当前使用的逻辑卷的存储信息, 其中, 所述逻辑卷的 存储信息为描述所述逻辑卷上每一个逻辑数据块的四元组信息, 所述四元 组信息包括树标识、 数据块标识、 分支标识和节点标识。 第一读写处理单 元 22与所述同步单元 21相连, 用于接收用户发送的读或写数据命令, 根 据所述读或写数据命令和所述逻辑卷的存储信息确定第一存储信息, 其 中, 所述第一存储信息包括一组或多组四元组信息, 所述每一组四元组信 息包括第一树标识、 第一分支标识、 第一数据块标识和第一节点标识。 第 二读写处理单元 23与所述第一读写处理单元 22相连, 用于根据所述每一 组四元组信息中的树标识和数据块标识确定所述每一组四元组存储信息 对应的数据处理节点。 发送单元 24与所述第二读写处理单元 23相连, 用 于向所述每一组四元组信息对应的数据处理节点发送数据处理命令, 其 中, 所述数据处理命令包含所述数据处理节点对应的每一组四元组信息, 以使得所述每一组四元组信息对应的数据处理节点根据所述每一组四元 组信息进行读或写的操作。
本实施例提供的集群客户处理装置, 同步单元 21接收管理装置发送 的用户当前使用的逻辑卷的存储信息, 其中, 逻辑卷的存储信息为描述逻 辑数据块的四元组信息, 四元组信息包括树标识、 数据块标识、 分支标识 和节点标识, 将逻辑卷均分后得到大小相等的逻辑数据块, 第一读写处理 单元 22接收用户发送的读或写数据命令, 根据读或写数据命令和逻辑卷 的存储信息确定第一存储信息, 第二读写处理单元 23根据每一组四元组 信息中的树标识和数据块标识确定每一组四元组存储信息对应的数据处 理节点, 发送单元 24向每一组四元组信息对应的数据处理节点发送数据 处理命令, 以使得每一组四元组信息对应的数据处理节点根据每一组四元 组信息进行读或写的操作。通过存储信息的设置,该存储信息包括树标识、 分支标识、 数据块标识和节点标识, 可以以逻辑卷上的每一个数据块为单 位进行存储信息的管理和维护, 形式更为灵活, 当用户进行读或写数据操 作时, 集群客户处理装置仅需要确定对相应的逻辑数据块的存储信息, 并 据此进行相应的操作即可, 避免内存空间的占用, 以及分布式存储系统中 需要全局设置或者读写 Bitmap而带来的资源消耗问题, 提高了数据处理 的效率。
图 9为本发明实施例提供的另一种集群客户处理装置结构示意图。 如 图 9所示, 在本实施例中, 第一读写处理单元 22还用于根据所述逻辑卷 的存储信息和所述读或写数据命令中的操作对象信息获取所述读或写数 据命令相应的逻辑卷的第一树标识和第一分支标识, 根据所述逻辑卷的存 储信息和所述读或写数据命令中的偏移量信息确定一组或多组第一数据 块标识, 获取所述一组或多组第一数据块标识、 所述第一树标识和第一分 支标识所对应的最大节点标识, 将所述最大节点标识加 1生成所述第一节 点标识。
进一步地, 在本实施例中, 所述集群客户处理装置可以还包括第一快 照处理单元 25和第二快照处理单元 26,所述快照处理单元 25与所述同步 单元 21相连, 用于接收所述管理装置发送的快照命令, 根据所述快照命 令和所述逻辑卷的存储信息确定第二存储信息, 其中, 所述第二存储信息 包括一组或多组四元组信息, 所述每一组四元组信息包括第二树标识、 第 二分支标识、 第二数据块标识和第二节点标识; 所述第二快照处理单元 26 与所述第一快照处理单元 25相连获取与所述第二树标识、 所述第二分支 标识和所述第二数据块标识对应的第二最大节点标识, 将所述第二最大节 点标识加 1。
在用户对数据的快照操作处理过程中, 可以不通知数据处理节点, 即 数据处理节点不对快照操作进行任何处理, 对数据的快照操作只在集群客 户处理装置中记录, 可以降低数据处理节点的工作量, 避免资源的浪费。
进一步地, 在本实施例中, 所述的集群客户处理装置还可以包括第一 克隆处理单元 27和第二克隆处理单元 28。所述第一克隆处理单元 27与所 述同步单元 21相连, 用于接收所述管理装置发送的克隆命令, 根据所述 克隆命令和所述逻辑卷的存储信息确定第三存储信息, 其中, 所述第三存 储信息包括第三树标识、第三分支标识、第三数据块标识和第三节点标识。 所述第二克隆处理单元 28与所述第一克隆处理单元 27相连, 用于获取与 所述第三树标识和所述第三数据块标识对应的最大分支标识, 将所述最大 分支标识加 1生成克隆分支标识, 将所述第三树标识、 所述第三数据块标 识、 所述克隆分支标识和克隆节点标识形成第四存储信息, 建立所述第四 存储信息与所述第三存储信息的克隆关系, 将所述克隆关系进行广播, 其 中, 所述克隆节点标识为 0。
在用户对数据的克隆操作处理过程中, 可以只将克隆关系通过广播的 形式使相应的数据处理节点获知, 以使该数据处理节点在用户对数据进行 读或写操作时, 根据该克隆关系进行相应地处理, 以及数据处理节点在需 要获知克隆关系时再向集群客户处理装置请求, 减小了集群客户处理装置 的处理压力。
在本实施例中, 所述的集群客户处理装置还包括删除单元 29, 所述删 除单元 29与所述同步单元 21相连, 用于接收所述管理装置发送的文件关 闭命令, 将所述逻辑卷的存储信息删除。 通过删除单元的设置, 可以将用 户关闭的文件对应的逻辑卷的存储信息删除以释放存储空间, 避免存储空 间的浪费。
图 10为本发明实施例提供的数据处理节点结构示意图。如图 10所示, 本实施例提供的数据处理节点具体可以实现本发明任意实施例提供的应 用于数据处理节点的分布式数据处理方法的各个步骤, 在此不再赘述。
本实施例提供的数据处理节点具体包括命令接收单元 31和操作单元 32。 所述命令接收单元 31用于接收集群客户处理装置发送的数据处理命 令, 其中, 所述数据处理命令包括一组或多组四元组信息, 每一组四元组 信息包括第一树标识、 第一分支标识、 第一数据块标识和第一节点标识。 所述操作单元 32与所述命令接收单元 31相连, 用于根据所述数据处理命 令中的所述每一组四元组信息进行读或写的操作。
本实施例提供的数据处理节点, 命令接收单元 31接收集群客户处理 装置发送的数据处理命令, 其中, 数据处理命令包括一组或多组四元组信 息, 每一组四元组信息包括第一树标识、 第一分支标识、 第一数据块标识 和第一节点标识, 操作单元 32根据数据处理命令中的每一组四元组信息 进行读或写的操作。 通过存储信息的设置, 该存储信息包括树标识、 分支 标识、 数据块标识和节点标识, 可以以逻辑卷上的每一个数据块为单位进 行存储信息的管理和维护,形式更为灵活, 当用户进行读或写数据操作时, 集群客户处理装置仅需要确定对相应的逻辑数据块的存储信息, 并据此发 送给数据处理节点数据处理命令, 数据处理节点根据数据处理命令中的存 储信息即可对某个物理数据块进行相应地的操作, 避免内存空间的占用, 以及分布式存储系统中需要全局设置或者读写 Bitmap而带来的资源消耗 问题, 提高了数据处理的效率。
在本实施例中, 所述数据处理命令用以指示读数据操作。 相应地, 所 述操作单元 32还用于获取所述数据处理命令中的每一组四元组信息, 根 据所述四元组信息确定数据存储设备中的待处理的物理数据块, 若所述物 理数据块存在, 则直接在所述物理数据块上进行读操作。
在本实施例中, 所述操作单元 32还用于若所述物理数据块不存在, 则将所述每一组四元组信息中的第一节点标识以 1为步长递减, 直到查找 到递减后的四元组信息对应的物理数据块存在为止; 若所述每一组四元组 信息中的第一节点标识减为 0仍然不存在对应的物理数据块时, 将所述每 一组四元组信息中的第一分支标识以 1为步长递减, 寻找父分支是否存在 对应的物理数据块, 直到查找到相应的物理数据块为止。 在本实施例中, 所述数据处理命令用以指示写数据操作。 相应地, 所 述操作单元 32还用于获取所述数据处理命令中的每一组四元组信息, 根 据所述四元组信息确定数据存储设备中待分配的物理数据块, 在所述待分 配的物理数据块上进行写操作。
本领域普通技术人员可以理解: 实现上述方法实施例的全部或部分步 骤可以通过程序指令相关的硬件来完成, 前述的程序可以存储于一计算机 可读取存储介质中, 该程序在执行时, 执行包括上述方法实施例的步骤; 而前述的存储介质包括: ROM、 RAM, 磁碟或者光盘等各种可以存储程 序代码的介质。
最后应说明的是: 以上实施例仅用以说明本发明的技术方案, 而非对 其限制; 尽管参照前述实施例对本发明进行了详细的说明, 本领域的普通 技术人员应当理解: 其依然可以对前述各实施例所记载的技术方案进行修 改, 或者对其中部分技术特征进行等同替换; 而这些修改或者替换, 并不 使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims

权 利 要 求 书
1、 一种分布式数据处理方法, 其特征在于, 包括:
集群客户处理装置接收管理装置发送的用户当前使用的逻辑卷的存 储信息, 其中, 所述逻辑卷的存储信息为描述所述逻辑卷上每一个逻辑数 据块的四元组信息, 所述四元组信息包括树标识、 数据块标识、 分支标识 和节点标识;
所述集群客户处理装置接收用户发送的读或写数据命令, 根据所述读 或写数据命令和所述逻辑卷的存储信息确定第一存储信息, 其中, 所述第 一存储信息包括一组或多组四元组信息, 每一组四元组信息包括第一树标 识、 第一分支标识、 第一数据块标识和第一节点标识;
所述集群客户处理装置根据所述每一组四元组信息中的树标识和数 据块标识确定所述每一组四元组存储信息对应的数据处理节点;
所述集群客户处理装置向所述每一组四元组信息对应的数据处理节 点发送数据处理命令, 其中, 所述数据处理命令包含所述数据处理节点对 应的每一组四元组信息, 以使得所述每一组四元组信息对应的数据处理节 点根据所述每一组四元组信息进行读或写的操作。
2、 根据权利要求 1所述的分布式数据处理方法, 其特征在于, 所述 集群客户处理装置根据所述读或写数据命令和所述逻辑卷的存储信息确 定第一存储信息, 包括:
所述集群客户处理装置根据所述逻辑卷的存储信息和所述读或写数 据命令中的操作对象信息获取所述读或写数据命令相应的逻辑卷的第一 树标识和第一分支标识, 根据所述逻辑卷的存储信息和所述读或写数据命 令中的偏移量信息确定一组或多组第一数据块标识, 获取所述一组或多组 第一数据块标识、 所述第一树标识和第一分支标识所对应的最大节点标 识, 将所述最大节点标识加 1生成所述第一节点标识。
3、 根据权利要求 1或 2所述的分布式数据处理方法, 其特征在于: 所述数据处理命令用以指示读数据操作;
相应地, 所述每一组四元组信息对应的数据处理节点根据所述每一组 四元组信息进行读操作, 包括:
所述每一组四元组信息对应的数据处理节点获取所述数据处理命令 中的每一组四元组信息, 根据所述四元组信息确定数据存储设备中的待处 理的物理数据块, 若所述物理数据块存在, 则直接在所述物理数据块上进 行读操作。
4、 根据权利要求 3所述的分布式数据处理方法, 其特征在于, 还包 括:
若所述物理数据块不存在, 则所述数据处理节点将所述每一组四元组 信息中的第一节点标识以 1为步长递减, 直到查找到递减后的四元组信息 对应的物理数据块存在为止;
若所述每一组四元组信息中的第一节点标识减为 0仍然不存在对应的 物理数据块时, 所述数据处理节点将所述每一组四元组信息中的第一分支 标识以 1为步长递减, 寻找父分支是否存在对应的物理数据块, 直到查找 到相应的物理数据块为止。
5、 根据权利要求 1或 2所述的分布式数据处理方法, 其特征在于: 所述数据处理命令用以指示写数据操作;
相应地, 所述每一组四元组信息对应的数据处理节点根据所述每一组 四元组信息进行写操作, 包括:
所述每一组四元组信息对应的数据处理节点获取所述数据处理命令 中的每一组四元组信息, 根据所述四元组信息确定数据存储设备中待分配 的物理数据块, 在所述待分配的物理数据块上进行写操作。
6、 根据权利要求 1所述的分布式数据处理方法, 其特征在于, 所述 集群客户处理装置接收管理装置发送的用户当前使用的逻辑卷的存储信 息之后, 所述方法还包括:
所述集群客户处理装置接收所述管理装置发送的快照命令, 根据所述 快照命令和所述逻辑卷的存储信息确定第二存储信息, 其中, 所述第二存 储信息包括一组或多组四元组信息, 所述每一组四元组信息包括第二树标 识、 第二分支标识、 第二数据块标识和第二节点标识;
所述集群客户处理装置获取与所述第二树标识、 所述第二分支标识和 所述第二数据块标识对应的第二最大节点标识, 将所述第二最大节点标识 加 1。
7、 根据权利要求 1所述的分布式数据处理方法, 其特征在于, 所述 集群客户处理装置接收管理装置发送的用户当前使用的逻辑卷的存储信 息之后, 所述方法还包括:
所述集群客户处理装置接收所述管理装置发送的克隆命令, 根据所述 克隆命令和所述逻辑卷的存储信息确定第三存储信息, 其中, 所述第三存 储信息包括第三树标识、第三分支标识、第三数据块标识和第三节点标识; 所述集群客户处理装置获取与所述第三树标识和所述第三数据块标 识对应的最大分支标识, 将所述最大分支标识加 1生成克隆分支标识, 将 所述第三树标识、 所述第三数据块标识、 所述克隆分支标识和克隆节点标 识形成第四存储信息, 建立所述第四存储信息与所述第三存储信息的克隆 关系, 将所述克隆关系进行广播, 其中, 所述克隆节点标识为 0。
8、 根据权利要求 1所述的分布式数据处理方法, 其特征在于, 所述 集群客户处理装置接收管理装置发送的用户当前使用的逻辑卷的存储信 息之后, 所述方法还包括:
所述集群客户处理装置接收所述管理装置发送的文件关闭命令, 将所 述逻辑卷的存储信息删除。
9、 一种分布式数据处理方法, 其特征在于, 包括:
数据处理节点接收集群客户处理装置发送的数据处理命令, 其中, 所 述数据处理命令包括一组或多组四元组信息, 每一组四元组信息包括第一 树标识、 第一分支标识、 第一数据块标识和第一节点标识;
所述数据处理节点根据所述数据处理命令中的所述每一组四元组信 息进行读或写的操作。
10、 根据权利要求 9所述的分布式数据处理方法, 其特征在于: 所述 数据处理命令用以指示读数据操作;
相应地, 所述数据处理节点根据所述数据处理命令中的所述每一组四 元组信息进行读或写的操作, 包括:
所述数据处理节点获取所述数据处理命令中的每一组四元组信息, 根 述物理数据块存在, 则直接在所述物理数据块上进行读操作。
1 1、 根据权利要求 10所述的分布式数据处理方法, 其特征在于, 还 包括: 若所述物理数据块不存在, 则所述数据处理节点将所述每一组四元组 信息中的第一节点标识以 1为步长递减, 直到查找到递减后的四元组信息 对应的物理数据块存在为止;
若所述每一组四元组信息中的第一节点标识减为 0仍然不存在对应的 物理数据块时, 所述数据处理节点将所述每一组四元组信息中的第一分支 标识以 1为步长递减, 寻找父分支是否存在对应的物理数据块, 直到查找 到相应的物理数据块为止。
12、 根据权利要求 9所述的分布式数据处理方法, 其特征在于: 所述 数据处理命令用以指示写数据操作; 相应地, 所述数据处理节点根据所述 数据处理命令中的所述每一组四元组信息进行读或写的操作, 包括:
所述数据处理节点获取所述数据处理命令中的每一组四元组信息, 根 待分配的物理数据块上进行写操作。
13、 一种集群客户处理装置, 其特征在于, 包括:
同步单元, 用于接收管理装置发送的用户当前使用的逻辑卷的存储信 息, 其中, 所述逻辑卷的存储信息为描述所述逻辑卷上每一个逻辑数据块 的四元组信息, 所述四元组信息包括树标识、 数据块标识、 分支标识和节 点标识;
第一读写处理单元, 与所述同步单元相连, 用于接收用户发送的读或 写数据命令, 根据所述读或写数据命令和所述逻辑卷的存储信息确定第一 存储信息, 其中, 所述第一存储信息包括一组或多组四元组信息, 每一组 四元组信息包括第一树标识、 第一分支标识、 第一数据块标识和第一节点 标识;
第二读写处理单元, 与所述第一读写处理单元相连, 用于根据所述每 一组四元组信息中的树标识和数据块标识确定所述每一组四元组存储信 息对应的数据处理节点;
发送单元, 与所述第二读写处理单元相连, 用于向所述每一组四元组 信息对应的数据处理节点发送数据处理命令, 其中, 所述数据处理命令包 含所述数据处理节点对应的每一组四元组信息, 以使得所述每一组四元组 信息对应的数据处理节点根据所述每一组四元组信息进行读或写的操作。
14、 根据权利要求 13所述的集群客户处理装置, 其特征在于: 第一读写处理单元还用于根据所述逻辑卷的存储信息和所述读或写 数据命令中的操作对象信息获取所述读或写数据命令相应的逻辑卷的第 一树标识和第一分支标识, 根据所述逻辑卷的存储信息和所述读或写数据 命令中的偏移量信息确定一组或多组第一数据块标识, 获取所述一组或多 组第一数据块标识、 所述第一树标识和第一分支标识所对应的最大节点标 识, 将所述最大节点标识加 1生成所述第一节点标识。
15、 根据权利要求 13所述的集群客户处理装置, 其特征在于, 还包 括:
第一快照处理单元, 与所述同步单元相连, 用于接收所述管理装置发 送的快照命令, 根据所述快照命令和所述逻辑卷的存储信息确定第二存储 信息, 其中, 所述第二存储信息包括一组或多组四元组信息, 所述每一组 四元组信息包括第二树标识、 第二分支标识、 第二数据块标识和第二节点 标识;
第二快照处理单元, 与所述第一快照处理单元相连, 获取与所述第二 树标识、 所述第二分支标识和所述第二数据块标识对应的第二最大节点标 识, 将所述第二最大节点标识加 1。
16、 根据权利要求 13所述的集群客户处理装置, 其特征在于, 还包 括:
第一克隆处理单元, 与所述同步单元相连, 用于接收所述管理装置发 送的克隆命令, 根据所述克隆命令和所述逻辑卷的存储信息确定第三存储 信息, 其中, 所述第三存储信息包括第三树标识、 第三分支标识、 第三数 据块标识和第三节点标识;
第二克隆处理单元, 与所述第一克隆处理单元相连, 用于获取与所述 第三树标识和所述第三数据块标识对应的最大分支标识, 将所述最大分支 标识加 1生成克隆分支标识, 将所述第三树标识、 所述第三数据块标识、 所述克隆分支标识和克隆节点标识形成第四存储信息, 建立所述第四存储 信息与所述第三存储信息的克隆关系, 将所述克隆关系进行广播, 其中, 所述克隆节点标识为 0。
17、 根据权利要求 13所述的集群客户处理装置, 其特征在于, 还包 括:
删除单元, 与所述同步单元相连, 用于接收所述管理装置发送的文件 关闭命令, 将所述逻辑卷的存储信息删除。
18、 一种数据处理节点, 其特征在于, 包括:
命令接收单元, 用于接收集群客户处理装置发送的数据处理命令, 其 中, 所述数据处理命令包括一组或多组四元组信息, 每一组四元组信息包 括第一树标识、 第一分支标识、 第一数据块标识和第一节点标识;
操作单元, 与所述命令接收单元相连, 用于根据所述数据处理命令中 的所述每一组四元组信息进行读或写的操作。
19、 根据权利要求 18所述的数据处理节点, 其特征在于: 所述数据 处理命令用以指示读数据操作;
相应地, 所述操作单元还用于获取所述数据处理命令中的每一组四元 组信息, 根据所述四元组信息确定数据存储设备中的待处理的物理数据 块, 若所述物理数据块存在, 则直接在所述物理数据块上进行读操作。
20、 根据权利要求 19所述的数据处理节点, 其特征在于: 所述操作 单元还用于若所述物理数据块不存在, 则将所述每一组四元组信息中的第 一节点标识以 1为步长递减, 直到查找到递减后的四元组信息对应的物理 数据块存在为止; 若所述每一组四元组信息中的第一节点标识减为 0仍然 不存在对应的物理数据块时, 将所述每一组四元组信息中的第一分支标识 以 1为步长递减, 寻找父分支是否存在对应的物理数据块, 直到查找到相 应的物理数据块为止。
21、 根据权利要求 19所述的数据处理节点, 其特征在于: 所述数据 处理命令用以指示写数据操作; 相应地, 所述操作单元还用于获取所述数 据处理命令中的每一组四元组信息, 根据所述四元组信息确定数据存储设 备中待分配的物理数据块, 在所述待分配的物理数据块上进行写操作。
PCT/CN2012/079876 2012-08-09 2012-08-09 分布式数据处理方法及装置 WO2014023000A1 (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201280002840.0A CN103180852B (zh) 2012-08-09 2012-08-09 分布式数据处理方法及装置
PCT/CN2012/079876 WO2014023000A1 (zh) 2012-08-09 2012-08-09 分布式数据处理方法及装置
EP12882854.8A EP2821925B1 (en) 2012-08-09 2012-08-09 Distributed data processing method and apparatus
US14/586,186 US20150113218A1 (en) 2012-08-09 2014-12-30 Distributed Data Processing Method and Apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2012/079876 WO2014023000A1 (zh) 2012-08-09 2012-08-09 分布式数据处理方法及装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US14/586,186 Continuation US20150113218A1 (en) 2012-08-09 2014-12-30 Distributed Data Processing Method and Apparatus

Publications (1)

Publication Number Publication Date
WO2014023000A1 true WO2014023000A1 (zh) 2014-02-13

Family

ID=48639395

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2012/079876 WO2014023000A1 (zh) 2012-08-09 2012-08-09 分布式数据处理方法及装置

Country Status (4)

Country Link
US (1) US20150113218A1 (zh)
EP (1) EP2821925B1 (zh)
CN (1) CN103180852B (zh)
WO (1) WO2014023000A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110909076A (zh) * 2019-10-31 2020-03-24 北京浪潮数据技术有限公司 一种存储集群数据同步方法、装置、设备及存储介质

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105354148B (zh) * 2014-08-21 2019-02-26 华为技术有限公司 一种数据处理方法及相关装置
WO2016182771A1 (en) * 2015-05-11 2016-11-17 One Factor Holdings Llc Integrated activity management system and method of using same
EP3451197B1 (en) * 2015-05-13 2021-08-25 Huawei Technologies Co., Ltd. System and method for creating selective snapshots of a database
CN105138281B (zh) * 2015-08-05 2018-12-07 华为技术有限公司 一种物理磁盘的共享方法及装置
CN105608193B (zh) * 2015-12-23 2019-03-26 深信服科技股份有限公司 分布式文件系统的数据管理方法和装置
CN107526530B (zh) * 2016-06-21 2021-02-19 伊姆西Ip控股有限责任公司 数据处理方法和设备
CN107807787B (zh) * 2016-09-08 2020-12-22 北京京东尚科信息技术有限公司 一种分布式数据存储方法和系统
CN108460045B (zh) * 2017-02-21 2022-11-18 中兴通讯股份有限公司 一种快照的处理方法及分布式块存储系统
JP6734251B2 (ja) * 2017-11-30 2020-08-05 株式会社日立製作所 システム及びその制御方法並びにプログラム
CN109960460B (zh) * 2017-12-25 2022-02-25 上海盛霄云计算技术有限公司 一种分布式存储系统
CN109597707B (zh) * 2018-10-25 2024-04-23 平安科技(深圳)有限公司 克隆卷数据拷贝方法、装置及计算机可读存储介质
CN110502187B (zh) * 2019-07-09 2020-12-04 华为技术有限公司 一种快照回滚方法及装置
CN112988034B (zh) * 2019-12-02 2024-04-12 华为云计算技术有限公司 一种分布式系统数据写入方法及装置
US11307935B2 (en) * 2020-03-31 2022-04-19 EMC IP Holding Company LLC Management of volume snapshots in a data storage system
US20220043722A1 (en) * 2020-08-07 2022-02-10 EMC IP Holding Company LLC Method and system for generating backups using pseudo-asset backups
CN114116312B (zh) * 2021-11-25 2022-08-09 北京大道云行科技有限公司 基于分布式块存储的row快照设计方法及系统
CN114564153B (zh) * 2022-02-28 2023-08-18 苏州浪潮智能科技有限公司 一种卷映射解除方法、装置、设备和存储介质
WO2023244948A1 (en) * 2022-06-14 2023-12-21 Microsoft Technology Licensing, Llc Graph-based storage management
CN115510292B (zh) * 2022-11-18 2023-03-24 四川汉唐云分布式存储技术有限公司 一种分布式存储系统树搜索管理方法、装置、设备及介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030204691A1 (en) * 2002-04-25 2003-10-30 International Business Machines Corp. Method, apparatus, and program product for facilitating serialization of input/output requests to a logical volume allowing nonserialized input/output requests
US7249218B2 (en) * 2002-08-29 2007-07-24 International Business Machines Corporation Method, system, and program for managing an out of available space condition
CN102142006A (zh) * 2010-10-27 2011-08-03 华为技术有限公司 分布式文件系统的文件处理方法及装置
CN102332004A (zh) * 2011-07-29 2012-01-25 中国科学院计算技术研究所 用于海量数据管理的数据处理方法和系统

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7743031B1 (en) * 2002-09-06 2010-06-22 3Par, Inc. Time and space efficient technique for creating virtual volume copies
US6928508B2 (en) * 2002-09-12 2005-08-09 Sun Microsystems, Inc. Method of accessing a remote device from a host by mapping an address of the device to a memory address of the host
US7836266B2 (en) * 2005-09-19 2010-11-16 International Business Machines Corporation Managing snapshot history in a data storage system
WO2010050943A1 (en) * 2008-10-30 2010-05-06 Hewlett-Packard Development Company, L.P. Creating snapshots of a file system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030204691A1 (en) * 2002-04-25 2003-10-30 International Business Machines Corp. Method, apparatus, and program product for facilitating serialization of input/output requests to a logical volume allowing nonserialized input/output requests
US7249218B2 (en) * 2002-08-29 2007-07-24 International Business Machines Corporation Method, system, and program for managing an out of available space condition
CN102142006A (zh) * 2010-10-27 2011-08-03 华为技术有限公司 分布式文件系统的文件处理方法及装置
CN102332004A (zh) * 2011-07-29 2012-01-25 中国科学院计算技术研究所 用于海量数据管理的数据处理方法和系统

Non-Patent Citations (1)

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

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110909076A (zh) * 2019-10-31 2020-03-24 北京浪潮数据技术有限公司 一种存储集群数据同步方法、装置、设备及存储介质

Also Published As

Publication number Publication date
EP2821925A4 (en) 2015-06-10
US20150113218A1 (en) 2015-04-23
CN103180852A (zh) 2013-06-26
EP2821925B1 (en) 2017-05-10
CN103180852B (zh) 2017-02-22
EP2821925A1 (en) 2015-01-07

Similar Documents

Publication Publication Date Title
WO2014023000A1 (zh) 分布式数据处理方法及装置
WO2018045820A1 (zh) 一种文件同步的方法、设备及系统
TWI549060B (zh) Access methods and devices for virtual machine data
CA2965715C (en) Data processing method, apparatus, and system
EP3361387B1 (en) Data transmission method, equipment and system
WO2017167171A1 (zh) 一种数据操作方法,服务器及存储系统
US7480654B2 (en) Achieving cache consistency while allowing concurrent changes to metadata
US9134908B2 (en) Logical volume space sharing
US10831612B2 (en) Primary node-standby node data transmission method, control node, and database system
EP2863310B1 (en) Data processing method and apparatus, and shared storage device
WO2018113580A1 (zh) 一种数据管理方法及服务器
EP2437167A1 (en) Method and system for virtual storage migration and virtual machine monitor
WO2021098267A1 (zh) 一种磁盘处理的方法、系统、设备及可读存储介质
US10552089B2 (en) Data processing for managing local and distributed storage systems by scheduling information corresponding to data write requests
JP2019135637A (ja) 情報処理方法、情報処理装置、サーバ及びコンピュータ読み取り可能な記録媒体
US11262916B2 (en) Distributed storage system, data processing method, and storage node
WO2013131448A1 (zh) 数据同步方法、系统及数据访问装置
WO2014000249A1 (zh) 快照数据处理方法及系统、存储系统、快照代理
US11023433B1 (en) Systems and methods for bi-directional replication of cloud tiered data across incompatible clusters
WO2023169235A1 (zh) 数据访问方法、系统、设备及存储介质
WO2017008648A1 (zh) 集群切换方法与设备
US20230306010A1 (en) Optimizing Storage System Performance Using Data Characteristics
WO2015109483A1 (zh) 一种存储数据的方法和装置
CN107038092B (zh) 一种数据复制方法及装置
WO2013078611A1 (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: 12882854

Country of ref document: EP

Kind code of ref document: A1

REEP Request for entry into the european phase

Ref document number: 2012882854

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2012882854

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE