WO2015067073A1 - 一种数据操作的方法和设备 - Google Patents
一种数据操作的方法和设备 Download PDFInfo
- Publication number
- WO2015067073A1 WO2015067073A1 PCT/CN2014/082969 CN2014082969W WO2015067073A1 WO 2015067073 A1 WO2015067073 A1 WO 2015067073A1 CN 2014082969 W CN2014082969 W CN 2014082969W WO 2015067073 A1 WO2015067073 A1 WO 2015067073A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- storage device
- version number
- data
- message
- modified
- Prior art date
Links
- 238000011017 operating method Methods 0.000 title abstract 2
- 238000000034 method Methods 0.000 claims abstract description 29
- 238000012986 modification Methods 0.000 claims abstract description 10
- 230000004048 modification Effects 0.000 claims abstract description 10
- 238000012545 processing Methods 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 5
- 238000011084 recovery Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
- G06F3/0607—Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0613—Improving I/O performance in relation to throughput
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/219—Managing data history or versioning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2308—Concurrency control
- G06F16/2315—Optimistic concurrency control
- G06F16/2329—Optimistic concurrency control using versioning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0634—Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0689—Disk arrays, e.g. RAID, JBOD
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
Definitions
- the present invention relates to the field of storage, and in particular, to a method and an apparatus for data operation.
- the object storage system is currently used as the primary storage structure in data storage systems.
- the object object is the basic unit of the object storage system, and contains file data and related attribute information for convenient management.
- the Object-Based Storage Device (0SD) is the basic building block of the distributed storage object storage system, and is responsible for the object object. Storage. In order to ensure the reliability of the stored object, the same object will be protected by multiple copies and Erasure Code. As shown in Figure 1, an Object will be stored on different 0SDs.
- a 0SD will store a part of the Object data, and there will be check data obtained from the erasure code in several 0SDs, so that even if a small number of 0SDs fail, the rest of the 0SD can be recovered according to the recovery algorithm.
- Object the data in a small number of 0SDs in FIG. 1 needs to be modified, in the prior art, all the 0SDs in the object storage system need to be rewritten, which increases the network traffic and the throughput of the disk in the object storage system.
- a quantity of 10 causes a waste of system resources.
- the waste of system resources mentioned here is also called Write Penalty.
- the embodiments of the present invention provide a data operation method and device, which can only send and receive data to a storage device that needs to be modified when the data strips in the storage device are modified, and the remaining irrelevant storage devices No disk throughput and traffic usage, so Reduce the disk throughput and the use of network resources.
- the embodiment of the present invention uses the following technical solution:
- a data operation method is provided, where the method includes: the client is configured to correspond to a data strip that does not need to be modified.
- the device sends a first message, where the first message carries a new version number and an old version number of the data strip that need not be modified;
- the storage device uses the data stripe version number in the storage device according to the new version strip in the first message.
- the storage device sends a second message with a version number mismatch to the client; after the client receives the second message, the storage is sent to the second message.
- the device sends a data strip corresponding to the storage device, and sends a version number of the data strip corresponding to the storage device; the storage device stores the received data strip, and the received data strip
- the version number is updated.
- the method further includes: the client sending, by the data strip that needs to be modified, a third message to the storage device corresponding to the data strip that needs to be modified. And the third message includes the data strip that needs to be modified and a new version number corresponding to the data strip.
- the method further includes: After receiving the third message, the storage device performs an overwrite operation on the data strip to be modified according to the content in the third message.
- the second aspect provides a device for data operation, where the device includes: a sending unit, where the client sends a first message to a storage device corresponding to the data strip that does not need to be modified, where the first message carries no modification. a new version number and an old version number of the data strip; the processing unit, the storage device receives the first message, and strips the old version number in the first message with data in the storage device The storage device compares the data strips in the storage device when the old version number in the first message matches the version number of the data strip in the storage device.
- the version number is updated according to the new version number in the first message, and when the old version number in the first message does not match the version number of the data strip in the storage device, the storage The device sends a second message that the version number does not match to the client.
- the sending unit is further configured to: after the client receives the second message, send the message corresponding to the storage device According to the version number of the strip; the processor is further configured to, receive the storage device stores the data strip, and the version number of the received data strip is updated.
- the sending unit is further configured to: send, by the client, a third message, the third message, to the storage device corresponding to the data strip that needs to be modified.
- the processing unit is further configured to: After receiving the third message, the storage device performs an overwrite operation on the data strip to be modified according to the content in the third message.
- the method and device for data operation provided by the embodiment of the present invention, the client sends a new and old version number to the corresponding storage device of the data strip that does not need to be modified, so that the corresponding storage device stores the data strip stored by itself. The version number is compared with the old version number sent by the client.
- the version number is updated to the received new version number in the storage device; thus, when the data strip in the storage device is modified, only The storage device that needs to be modified performs data transmission and reception.
- the remaining irrelevant storage devices have no disk throughput and traffic usage, thereby reducing the disk throughput and the use of network resources, that is, reducing the write penalty.
- FIG. 1 is a schematic structural diagram of a storage device in the prior art
- FIG. 2 is a schematic diagram of a data operation method according to an embodiment of the present invention
- FIG. 3 is a detailed schematic diagram of a data operation method according to an embodiment of the present invention
- 4 is a schematic diagram of a data storage structure according to an embodiment of the present invention
- FIG. 5 is a schematic diagram of a modified data storage structure according to an embodiment of the present invention
- FIG. 6 is a data operation device according to an embodiment of the present invention
- FIG. 7 is a schematic structural diagram of an apparatus for data operation according to an embodiment of the present invention.
- the storage device used is the object storage device OSD
- the client interconnects an object Object through a network
- the data formed by the data to be sent is segmented after segmentation.
- the data strips are continuously sent to 0SD1 0SD3 three different object storage devices 0SD
- the 0SD4 stores the check data generated according to the erasure code algorithm, so that when one of the 0SDs fails, it can be based on the other three Data recovery in the 0SD data recovery does not affect normal data read and write operations, thereby improving data reliability.
- the embodiment of the invention provides a method for data operation. As shown in FIG. 2, the method includes:
- the client sends a first message to the corresponding storage device of the data strip that does not need to be modified.
- the first message carries the new version number and the old version number of the data strip that need not be modified.
- the data strips that need to be modified as described herein refer to data strips stored in the OSD that have not been modified, and the data strips in the data strips are not changed.
- the old and new version numbers of the data stripe can have multiple representations, such as timestamps, serial numbers, and the like.
- the storage device receives the first message, and compares the old version number in the first message with a version number of a data strip in the storage device, when the first message is in the first message. When the old version number is consistent with the version number of the data strip in the storage device, the storage device performs the data stripe version number in the storage device according to the new version number in the first message. Updating, when the old version number in the first message is different from the version number of the data strip in the storage device, the storage device sends a second message that the version number does not match to the client. .
- the client After receiving the second message, the client sends a data strip corresponding to the storage device to the storage device that sends the second message, and sends a version of the data strip corresponding to the storage device. number.
- the storage device stores the received data strip and updates the version number of the received data strip.
- the data operation method provided by the embodiment of the present invention sends a new and old version number to the corresponding storage device of the data strip that does not need to be modified by the client, so that the corresponding storage device stores the version number of the data stored by itself. Compared with the old version number sent by the client, when the two are consistent, the version number is updated to the received new version number in the storage device; thus, when the data strip in the storage device is modified, only the need is made.
- the modified storage device performs data transmission and reception, and the remaining irrelevant storage devices have no disk throughput and traffic usage, thereby reducing disk throughput and network resource usage, that is, reducing write penalties.
- the embodiment of the present invention provides a more detailed method of data operation:
- the client sends a first message to the storage device corresponding to the data strip that does not need to be modified, where the first message carries a new version number and an old version number of the data strip that need not be modified.
- the data strips described here that do not need to be modified refer to the data strips stored in the OSD. Modified to store data strips with no changes in the contents of the data strip. Moreover, the old and new version numbers of the data stripe can have multiple representations, such as timestamps, serial numbers, and the like.
- the storage device receives the first message, and compares the old version number in the first message with a version number of a data stripe in the storage device, when the first message is in the first message. When the old version number is consistent with the version number of the data strip in the storage device, the storage device performs the data stripe version number in the storage device according to the new version number in the first message. Updating, when the old version number in the first message is different from the version number of the data strip in the storage device, the storage device sends a second message that the version number does not match to the client. .
- the client After receiving the second message, the client sends a data strip corresponding to the storage device to the storage device that sends the second message, and sends a version of the data strip corresponding to the storage device. number.
- the storage device stores the received data strip and updates the version number of the received data strip. Further, as shown in FIG. 3, the foregoing method further includes:
- the client sends, to the data strip that needs to be modified, a third message to the corresponding storage device that needs to be modified, where the third message includes the data strip to be modified and the data strip. With the corresponding new version number.
- the storage device After receiving the third message, the storage device performs an overwrite operation on the data strip to be modified according to the content in the third message.
- an overwrite operation on the data strip to be modified according to the content in the third message.
- 8 strips of strips stored in 8 OSDs are respectively stored, wherein 1 to 6 divides an Object into 6 segments, and 6 segments of data are respectively in order.
- the latter 0SD P and 0SD Q store the check data obtained from the erasure code.
- the object storage device used here is a 6+2 design, that is, six 0SDs are used to store Object data, and two 0SDs are used to store the checksum. Therefore, after at most 2 OSD failures, normal data read and write operations can be performed according to the recovery algorithm.
- the client sends a first message to the OSD 1 and the OSD3 OSD 6 that do not need to be modified, and the first message includes the OSD 1 and the OSD3 OSD.
- the data strip stored in 6 carries a corresponding new version number and an old version number, and sends a third message to the corresponding OSD 2 and OSD P, OSD Q of the data strip to be modified, and the third message includes data to be modified.
- the OSD 1 and the OSD3 OSD 6 respectively compare the version numbers on each of the OSDs, and the version numbers of the data strips stored in each of the OSDs are When the old version numbers in the first message are the same, each of the OSDs updates the original old version number according to the new version number in the first message; when there is a version number and reception of the data strips stored in the OSD When the old version number in the first message is inconsistent, the corresponding 0SD returns a second message to the client, and the second message is used to feedback the problem that the data stripe version number is inconsistent.
- the original data strip is replaced according to the new data strip in the third message, and the third message is The version number is used as the version number of the data strip in this OSD.
- the client After receiving the second message, the client sends a data strip corresponding to the storage device to the storage device that sends the second message, and sends a version of the data strip corresponding to the storage device. number.
- the OSD receiving the data strip stores the data strip and updates the version number of the OSD itself according to the version number of the data strip in the second message.
- FIG. 5 a schematic diagram of modifying OSD 2 and OSD P and OSD Q therein is shown in FIG. 5.
- the shaded part represents the modified data
- the remaining part represents the unmodified data.
- the leftmost 128k represents that the data size in each OSD is 128k.
- the data in OSD 2 and OSD Q are different, so that in a total of 8 OSDs, after only one modification, only 3 OSD data are obtained. It needs to be updated through the disk 10 and the network traffic.
- An embodiment of the present invention provides a data operation method, in which a client sends a new and old version number to a storage device corresponding to a data strip that does not need to be modified, so that the corresponding storage device stores the version number of the data strip stored by itself. The old version number sent by the client is compared. When the two are consistent, the version number is updated to the received new version number in the storage device; thus, when the data strip in the storage device is modified, only the modification needs to be performed.
- the storage device performs data transmission and reception, and the remaining irrelevant storage devices have no disk throughput and traffic usage, thereby reducing disk throughput and network resource usage, that is, reducing write penalties.
- the embodiment of the present invention further provides a device 3 for data operation. As shown in FIG. 6, the device 3 includes: a sending unit 31, where the client sends a first message to a storage device corresponding to the data strip that does not need to be modified. The first message carries a new version number and an old version number of the data strip that need not be modified;
- the processing unit 32 the storage device receives the first message, and compares the old version number in the first message with a version number of a data stripe in the storage device, when the first When the old version number in the message is consistent with the version number of the data strip in the storage device, the storage device uses the data stripe version number in the storage device according to the first The new version number in a message is updated, and when the old version number in the first message is different from the version number of the data strip in the storage device, the storage device sends the version to the client.
- the sending unit 31 is further configured to: after receiving the second message, the client sends a version number of the data strip corresponding to the storage device;
- the processor 32 is further configured to: store, by the storage device, the received data stripe, and update the version number of the received data stripe.
- the embodiment of the present invention provides a data operation device, which simultaneously sends a new and old version number to a storage device corresponding to a data strip that does not need to be modified, so that the corresponding storage device stores the version number of the data strip stored by itself. The old version number sent by the client is compared.
- the version number is updated to the received new version number in the storage device; thus, when the data strip in the storage device is modified, only the modification needs to be performed.
- the storage device performs data transmission and reception, and the remaining irrelevant storage devices have no disk throughput and traffic usage, thereby reducing disk throughput and network resource usage, that is, reducing write penalties.
- the embodiment of the present invention further provides a device for data operation. As shown in FIG. 7, the device 4 includes: a bus 41; and a processor 42 connected to the bus 41, a memory 43, a receiver 44, and a transmitter 45.
- the memory is used to store related instructions, and the processor 42 executes related instructions for the client to send a first message to the storage device corresponding to the data strip that does not need to be modified, where the first message carries a data strip that does not need to be modified.
- New version number and old version number the processor 42 executes relevant instructions for the storage device to receive the first message, and the old version number in the first message is in the storage device Comparing the version numbers of the data strips, when the old version number in the first message is consistent with the version number of the data strips in the storage device, the storage device will be in the storage device
- the data strip version number is updated according to the new version number in the first message, when the old version number in the first message is When the version numbers of the data strips in the storage device are inconsistent, the storage device sends a second message with a version number mismatch to the client; the processor 42 executes relevant instructions for the client to receive After the second message, the data strip corresponding to the storage device is sent to the storage device that sends the second message, and the version number of
- the processor 42 is further configured to: send, by the client, a third message to the storage device corresponding to the data strip that needs to be modified, for the data strip that needs to be modified,
- the third message includes the data strip to be modified and a new version number corresponding to the data strip.
- the processor 42 is further configured to: after receiving the third message, the storage device, according to the content in the third message, to the data strip that needs to be modified. Band overwrite write operation.
- the data operation device provided by the embodiment of the present invention sends a new and old version number to the corresponding storage device of the data strip that does not need to be modified by the client, so that the corresponding storage device stores the data strip version of the storage device.
- the number is compared with the old version number sent by the client.
- the version number is updated to the received new version number in the storage device; thus, when the data strip in the storage device is modified, only for the need
- the modified storage device performs data transmission and reception, and the remaining irrelevant storage devices have no disk throughput and traffic usage, thereby reducing disk throughput and network resource usage, that is, reducing write penalties.
- the disclosed methods, apparatus, and apparatus may be implemented in other manners.
- the device embodiments described above are merely illustrative.
- the division of the unit is only a logical function division.
- there may be another division manner for example, multiple units or components may be combined or Can be integrated into another system, or some features can be ignored, or not executed.
- Another point, shown or discussed The coupling or direct coupling or communication connection between each other may be an indirect coupling or communication connection through some interface, device or unit, and may be in an electrical, mechanical or other form.
- the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, may be located in one place, or may be distributed to multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of the embodiment.
- each functional unit in each embodiment of the present invention may be integrated into one processing unit, or each unit may be physically included separately, or two or more units may be integrated into one unit.
- the above integrated unit can be implemented in the form of hardware or in the form of a hardware plus software functional unit.
- the above-described integrated unit implemented in the form of a software functional unit can be stored in a computer readable storage medium.
- the above software functional units are stored in a storage medium and include a number of steps for causing a computer device (which may be a personal computer, server, or network device, etc.) to perform the methods of the various embodiments of the present invention.
- the foregoing storage medium includes: a U disk, a mobile hard disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a disk or an optical disk, and the like, which can store program codes. Medium.
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)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Computer Security & Cryptography (AREA)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
提供一种数据操作的方法和设备,涉及存储领域,能够在存储设备中的数据条带进行修改时,仅仅对需要进行修改的存储设备进行数据的发送与接收,其余不相干的存储设备则没有磁盘吞吐量和流量的使用,从而能够降低磁盘的吞吐量和网络资源的使用,也就是降低了写惩罚。通过客户端向不需要修改的数据条带对应的存储设备同时发送新、旧版本号,使得对应的存储设备将自身存储的数据条带版本号与客户端发送的旧版本号对比,当两者一致时,在存储设备中将版本号更新至接收到的新版本号,用于数据操作中降低写惩罚。
Description
一种数据操作的方法和设备
本申请要求于 2013年 11月 7日提交中国专利局、申请号 201310552304.4、 发明名称为 "一种数据操作的方法和设备" 的中国专利申请的优先权, 其全部 内容通过引用结合在本申请中。
技术领域 本发明涉及存储领域, 尤其涉及一种数据操作的方法和设备。
背景技术
由于对象存储***( Object-Based Storage System )综合了 NAS和 SAN 的优点,因此当前在数据存储***中开始使用对象存储***作为主要存储 结构。 其中, 对象 object是对象存储***的基础单元, 包含了文件数据以 及相关的属性信息,方便进行管理,而 0SD( Object-Based Storage Device ) 是分布式存储对象存储***的基本构成单元, 负责对象 object的存储。 为 了保证存储的 object的可靠性, 对于同一个 object, 会使用多副本和纠删 码 ( Erasure Code ) 的方法进行保护, 即如图 1所示, 将一个 Object会存 储到不同的 0SD上, 每一个 0SD会存有一部分 Object的数据, 并且在 若干 0SD中还会存有根据糾删码得到的校验数据, 这样即使其中的少量 0SD出现故障, 从剩余的 0SD中也根据恢复算法可以恢复出 Object。 但是, 倘若图 1中少量的 0SD中的数据需要修改, 则在现有技术中, 需要将对象存储***中所有的 0SD进行重新写入, 这样会增大对象存储 ***中网络流量和磁盘的吞吐量 10 , 造成了***资源的浪费, 这里所说 的***资源浪费, 也被称为写惩罚 ( Write Penalty ) 。
发明内容
本发明的实施例提供一种数据操作的方法和设备,能够在存储设备中 的数据条带进行修改时,仅仅对需要进行修改的存储设备进行数据的发送 与接收, 其余不相干的存储设备则没有磁盘吞吐量和流量的使用,从而能
够降低磁盘的吞吐量和网络资源的使用。 为达到上述目的, 本发明的实施例釆用如下技术方案: 第一方面, 提供一种数据操作的方法, 所述方法包括: 所述客户端向不需要修改的数据条带对应的所述存储设备发送第一 消息, 所述第一消息中携带不需要修改的数据条带的新版本号和旧版本 号;
所述存储设备接收所述第一消息,并将所述第一消息中的所述旧版本 号与所述存储设备中的数据条带的版本号进行对比,当所述第一消息中的 所述旧版本号与所述存储设备中的数据条带的版本号一致时,所述存储设 备将所述存储设备中的所述数据条带版本号根据所述第一消息中的新版 据条带的版本号不一致时,则所述存储设备向所述客户端发送版本号不匹 配的第二消息; 所述客户端接收到所述第二消息后,向发送所述第二消息的所述存储 设备发送与所述存储设备对应的数据条带,发送与所述存储设备对应的数 据条带的版本号; 所述存储设备将收到的数据条带进行存储,并对收到的数据条带的版 本号进行更新。 在第一种可能的实现方式中, 结合第一方面, 所述方法还包括: 所述客户端对于需要修改的数据条带,向所述需要修改的数据条带对 应的存储设备发送第三消息,所述第三消息中包括所述需要修改的数据条 带和所述数据条带对应的新版本号。
在第二种可能的实现方式中, 结合第一方面的第一种可能的实现方 式, 所述方法还包括:
所述存储设备在接收到所述第三消息后, 根据所述第三消息中的内 容, 对所述需要修改的数据条带进行覆盖写操作。
第二方面, 提供一种数据操作的设备, 所述设备包括: 发送单元,客户端向不需要修改的数据条带对应的存储设备发送第一 消息, 所述第一消息中携带不需要修改的数据条带的新版本号和旧版本 号; 处理单元, 所述存储设备接收所述第一消息, 并将所述第一消息中的 所述旧版本号与所述存储设备中的数据条带的版本号进行对比,当所述第 一消息中的所述旧版本号与所述存储设备中的数据条带的版本号一致时, 所述存储设备将所述存储设备中的所述数据条带版本号根据所述第一消 息中的新版本号进行更新,当所述第一消息中的所述旧版本号与所述存储 设备中的数据条带的版本号不一致时,则所述存储设备向所述客户端发送 版本号不匹配的第二消息; 所述发送单元还用于, 所述客户端接收到所述第二消息后, 向发送所 所述存储设备对应的所述数据条带的版本号; 所述处理器还用于, 所述存储设备将收到的数据条带进行存储, 并对 收到的数据条带的版本号进行更新。 在第一种可能的实现方式中, 结合第二方面, 所述发送单元还用于: 所述客户端向需要修改的数据条带对应的所述存储设备发送第三消 息,所述第三消息中包括所述需要修改的数据条带和所述需要修改的数据 条带对应的新版本号。 在第二种可能的实现方式中, 结合第二方面的第一种可能的实现方 式, 所述处理单元还用于:
所述存储设备在接收到所述第三消息后, 根据所述第三消息中的内 容, 对所述需要修改的数据条带进行覆盖写操作。 本发明实施例提供的一种数据操作的方法和设备,通过客户端向不需 要修改的数据条带对应的存储设备同时发送新、 旧版本号, 使得对应的存 储设备将自身存储的数据条带版本号与客户端发送的旧版本号对比,当两 者一致时, 在存储设备中将版本号更新至接收到的新版本号; 从而能够在 存储设备中的数据条带进行修改时,仅仅对需要进行修改的存储设备进行 数据的发送与接收,其余不相干的存储设备则没有磁盘吞吐量和流量的使 用,从而能够降低磁盘的吞吐量和网络资源的使用,也就是降低了写惩罚。 附图说明 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对 实施例或现有技术描述中所需要使用的附图作简单地介绍, 显而易见地, 下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员 来讲, 在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附 图。
图 1为现有技术中存储设备的结构示意图; 图 2为本发明实施例提供的一种数据操作的方法的示意图; 图 3为本发明实施例提供的一种数据操作的方法的详细示意图; 图 4为本发明实施例提供的一种数据存储结构示意图; 图 5为本发明实施例提供的一种修改后的数据存储结构示意图; 图 6为本发明实施例提供的一种数据操作的设备的结构示意图; 图 7为本发明实施例提供的一种数据操作的装置的结构示意图。
具体实施方式 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进
行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例, 而不是全部的实施例。基于本发明中的实施例, 本领域普通技术人员在没 有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的 范围。
在如图 1所示的应用场景中, 使用的存储设备为对象存储设备 OSD, 客户端将一对象 Object通过网络互连, 将待发送数据构成的数据分条在 分段后,将得到的若干个数据条带连续发送至 0SD1 0SD3三个不同的对 象存储设备 0SD中, 而 0SD4中存储的是根据纠删码算法生成的校验数 据, 这样当其中一个 0SD出现故障时, 可以根据其他三个 0SD中存储的 信息进行数据恢复, 不会影响正常的数据读写操作,从而提高了数据的可 靠性。
对于一段连续的, 如图 1所示的将数据分条分为 4份的存储结构中, 存在分段存储于 0SD1 0SD3上的数据,如果仅对 0SD2中的数据进行修 改写, 同时保持 0SD1和 0SD3数据不变, 则此时需要传输和写入数据的 0SD是 0SD1~0SD4。 其中 0SD2需要存储修改后的数据, 而 0SD4则需 要存储重新计算得到的校验数据, 二者必须传输和写入数据; 在现有技术 规则下, 0SD1和 0SD3尽管没有任何修改, 但是也需要进行传输和写入 数据, 这样就造成了二倍的磁盘吞吐量 10和网络流量浪费 (对于更大数 据分条的情况浪费更加严重) 。
本发明实施例提供一种数据操作的方法, 如图 2所示, 该方法包括:
101、客户端向不需要修改的数据条带对应的存储设备发送第一消息 , 第一消息中携带不需要修改的数据条带的新版本号和旧版本号。
这里所述的不需要修改的数据条带是指 0SD中存储的数据条带没有 经过修改, 存储数据条带中的内容没有变化的数据条带。 并且, 数据条带 的新旧版本号可以有多种表现形式, 例如时间戳、 序列号等。
102、 存储设备接收所述第一消息, 并将所述第一消息中的所述旧版 本号与所述存储设备中的数据条带的版本号进行对比,当所述第一消息中 的所述旧版本号与所述存储设备中的数据条带的版本号一致时,所述存储 设备将所述存储设备中的所述数据条带版本号根据所述第一消息中的新 版本号进行更新,当所述第一消息中的所述旧版本号与所述存储设备中的 数据条带的版本号不一致时,则所述存储设备向所述客户端发送版本号不 匹配的第二消息。
103、 客户端接收到所述第二消息后, 向发送所述第二消息的所述存 储设备发送与所述存储设备对应的数据条带,发送与所述存储设备对应的 数据条带的版本号。
104、 存储设备将收到的数据条带进行存储, 并对收到的数据条带的 版本号进行更新。 本发明实施例提供的一种数据操作的方法,通过客户端向不需要修改 的数据条带对应的存储设备同时发送新、 旧版本号,使得对应的存储设备 将自身存储的数据条带版本号与客户端发送的旧版本号对比,当两者一致 时, 在存储设备中将版本号更新至接收到的新版本号; 从而能够在存储设 备中的数据条带进行修改时,仅仅对需要进行修改的存储设备进行数据的 发送与接收, 其余不相干的存储设备则没有磁盘吞吐量和流量的使用,从 而能够降低磁盘的吞吐量和网络资源的使用, 也就是降低了写惩罚。 为了更详细的说明本发明提出的方法, 进一步的, 本发明实施例提供 一种更详细的数据操作的方法:
201、 客户端向不需要修改的数据条带对应的所述存储设备发送第一 消息, 所述第一消息中携带不需要修改的数据条带的新版本号和旧版本 号。
这里所述的不需要修改的数据条带是指 OSD中存储的数据条带没有
经过修改, 存储数据条带中的内容没有变化的数据条带。 并且, 数据条带 的新旧版本号可以有多种表现形式, 例如时间戳、 序列号等。
202、 存储设备接收所述第一消息, 并将所述第一消息中的所述旧版 本号与所述存储设备中的数据条带的版本号进行对比,当所述第一消息中 的所述旧版本号与所述存储设备中的数据条带的版本号一致时,所述存储 设备将所述存储设备中的所述数据条带版本号根据所述第一消息中的新 版本号进行更新,当所述第一消息中的所述旧版本号与所述存储设备中的 数据条带的版本号不一致时,则所述存储设备向所述客户端发送版本号不 匹配的第二消息。
203、 客户端接收到所述第二消息后, 向发送所述第二消息的所述存 储设备发送与所述存储设备对应的数据条带,发送与所述存储设备对应的 数据条带的版本号。
204、 存储设备将收到的数据条带进行存储, 并对收到的数据条带的 版本号进行更新。 进一步的, 如图 3所示, 上述方法还包括:
205、 客户端对于需要修改的数据条带, 向所述需要修改的数据条带 对应的存储设备发送第三消息,所述第三消息中包括所述需要修改的数据 条带和所述数据条带对应的新版本号。
206、 存储设备在接收到所述第三消息后, 根据所述第三消息中的内 容, 对所述需要修改的数据条带进行覆盖写操作。 具体的, 在图 4中, 从 1到 Q指代分别存储在 8个 OSD中的 8个数 据条带 Strip, 其中 1到 6是将一个 Object分为 6段, 按照顺序一次将 6 段数据分别存储到 0SD1 0SD6上, 后边的 0SD P和 0SD Q存储的则是 根据纠删码得到的校验数据。这里使用的对象存储设备为 6+2的设计,也 就是用 6个 0SD来存储 Object数据, 另外使用两个 0SD来存储校验信
息, 这样在至多 2个 OSD出现故障后, 都可以根据恢复算法进行正常的 数据读写操作。 假设需要修改的是 OSD 2 , 则根据步骤 201 205的方法, 首先, 客户端会向其中不需要修改的 OSD 1 以及 OSD3 OSD 6发送 第一消息, 该第一消息中包括上述 OSD 1 以及 OSD3 OSD 6中存储的数 据条带对应的新版本号和旧版本号, 并且向需要修改的数据条带对应的 OSD 2和 OSD P、 OSD Q发送第三消息, 该第三消息中包括需要修改的 数据条带和该数据条带对应的新版本号。 这里需要说明的是, 由于 OSD P 和 OSD Q存储的是校验数据, 因此, 只要有数据分条进行了数据修改等 操作, 则 OSD P和 OSD Q内存储的内容均需要进行重新传输写入。
其次, OSD 1 以及 OSD3 OSD 6在接收到客户端发送的第一消息后, 分别在其中的每一个 OSD上都进行版本号的对比,当其中每一个 OSD中 存储的数据条带的版本号与第一消息中的旧版本号一致时,则上述每一个 OSD 根据第一消息中的新版本号将原有的旧版本号进行更新; 当其中有 OSD 中存储的数据条带的版本号与接收到的第一消息中的旧版本号不一 致时, 则对应的 0SD会向客户端返回第二消息, 该第二消息用于反馈数 据条带版本号不一致的问题。 而对于需要进行数据修改的 0SD 2和 0SD P、 OSD Q, 在接收到第三消息后, 根据第三消息中新的数据条带将原来 存储的数据条带进行替换, 同时将第三消息中的版本号作为本 0SD中数 据条带的版本号。
接着, 客户端接收到所述第二消息后, 向发送所述第二消息的所述存 储设备发送与所述存储设备对应的数据条带,发送与所述存储设备对应的 数据条带的版本号。
最后, 接收到数据条带的 OSD将数据条带进行存储, 并根据第二消 息中数据条带的版本号将 OSD本身的版本号进行更新。
这样, 对应图 4 , 将其中的 OSD 2和 OSD P、 OSD Q修改后的示意 图如图 5所示。 其中, 阴影部分代表是经过修改的数据, 其余的部分代表 的是未经过修改的数据,最左侧的 128k代表的是其中每一个 OSD中的数 据大小都是 128k。 从图 4和图 5的对比中可以看出,在经过修改后,是 OSD 2和 OSD Q 中的数据不同, 这样在总共的 8个 OSD中, 经过一次修改后, 仅有 3个 OSD的数据需要通过磁盘 10和网络流量进行更新, 相比现有技术中全部 8个 OSD均需要进行数据更新的情况, 节省了 128k*5=640k的磁盘 10和 网络流量, 也就是节省了 5/8的磁盘 10和网络流量, 效果相当明显。 本发明实施例提供一种数据操作的方法,通过客户端向不需要修改的 数据条带对应的存储设备同时发送新、 旧版本号, 使得对应的存储设备将 自身存储的数据条带版本号与客户端发送的旧版本号对比, 当两者一致 时, 在存储设备中将版本号更新至接收到的新版本号; 从而能够在存储设 备中的数据条带进行修改时,仅仅对需要进行修改的存储设备进行数据的 发送与接收, 其余不相干的存储设备则没有磁盘吞吐量和流量的使用,从 而能够降低磁盘的吞吐量和网络资源的使用, 也就是降低了写惩罚。 本发明实施例还提供一种数据操作的设备 3 , 如图 6所示, 所述设备 3包括: 发送单元 31 , 客户端向不需要修改的数据条带对应的存储设备发送 第一消息,所述第一消息中携带不需要修改的数据条带的新版本号和旧版 本号;
处理单元 32 , 所述存储设备接收所述第一消息, 并将所述第一消息 中的所述旧版本号与所述存储设备中的数据条带的版本号进行对比,当所 述第一消息中的所述旧版本号与所述存储设备中的数据条带的版本号一 致时,所述存储设备将所述存储设备中的所述数据条带版本号根据所述第
一消息中的新版本号进行更新,当所述第一消息中的所述旧版本号与所述 存储设备中的数据条带的版本号不一致时,则所述存储设备向所述客户端 发送版本号不匹配的第二消息; 所述发送单元 31还用于, 所述客户端接收到所述第二消息后, 向发 送与所述存储设备对应的所述数据条带的版本号; 所述处理器 32还用于, 所述存储设备将收到的数据条带进行存储, 并对收到的数据条带的版本号进行更新。 本发明实施例提供一种数据操作的设备,通过客户端向不需要修改的 数据条带对应的存储设备同时发送新、 旧版本号, 使得对应的存储设备将 自身存储的数据条带版本号与客户端发送的旧版本号对比, 当两者一致 时, 在存储设备中将版本号更新至接收到的新版本号; 从而能够在存储设 备中的数据条带进行修改时,仅仅对需要进行修改的存储设备进行数据的 发送与接收, 其余不相干的存储设备则没有磁盘吞吐量和流量的使用,从 而能够降低磁盘的吞吐量和网络资源的使用, 也就是降低了写惩罚。 本发明实施例还提供一种数据操作的装置, 如图 7 所示, 该装置 4 包括: 总线 41 ; 以及连接到总线 41上的处理器 42,、 存储器 43、 接收器 44和发射器 45 , 其中存储器用于存储相关指令, 该处理器 42执行相关指 令用于客户端向不需要修改的数据条带对应的存储设备发送第一消息,所 述第一消息中携带不需要修改的数据条带的新版本号和旧版本号;该处理 器 42执行相关指令用于所述存储设备接收所述第一消息, 并将所述第一 消息中的所述旧版本号与所述存储设备中的数据条带的版本号进行对比, 当所述第一消息中的所述旧版本号与所述存储设备中的数据条带的版本 号一致时,所述存储设备将所述存储设备中的所述数据条带版本号根据所 述第一消息中的新版本号进行更新,当所述第一消息中的所述旧版本号与
所述存储设备中的数据条带的版本号不一致时,则所述存储设备向所述客 户端发送版本号不匹配的第二消息; 该处理器 42执行相关指令用于所述 客户端接收到所述第二消息后,向发送所述第二消息的所述存储设备发送 与所述存储设备对应的数据条带,发送与所述存储设备对应的所述数据条 带的版本号; 该处理器 42执行相关指令用于所述存储设备将收到的数据 条带进行存储, 并对收到的数据条带的版本号进行更新。 在本发明实施例中, 可选的, 该处理器 42还用于所述客户端对于需 要修改的数据条带,向所述需要修改的数据条带对应的存储设备发送第三 消息,所述第三消息中包括所述需要修改的数据条带和所述数据条带对应 的新版本号。 在本发明实施例中, 可选的, 该处理器 42还用于所述存储设备在接 收到所述第三消息后, 根据所述第三消息中的内容,对所述需要修改的数 据条带进行覆盖写操作。
因此本发明实施例提供的一种数据操作的装置,通过客户端向不需要 修改的数据条带对应的存储设备同时发送新、 旧版本号,使得对应的存储 设备将自身存储的数据条带版本号与客户端发送的旧版本号对比,当两者 一致时, 在存储设备中将版本号更新至接收到的新版本号; 从而能够在存 储设备中的数据条带进行修改时,仅仅对需要进行修改的存储设备进行数 据的发送与接收, 其余不相干的存储设备则没有磁盘吞吐量和流量的使 用,从而能够降低磁盘的吞吐量和网络资源的使用,也就是降低了写惩罚。
在本申请所提供的几个实施例中,应该理解到,所揭露的方法,设备, 和装置, 可以通过其它的方式实现。 例如, 以上所描述的装置实施例仅仅 是示意性的, 例如, 所述单元的划分, 仅仅为一种逻辑功能划分, 实际实 现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成 到另一个***, 或一些特征可以忽略, 或不执行。 另一点, 所显示或讨论
的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单 元的间接耦合或通信连接, 可以是电性, 机械或其它的形式。 所述作为分离部件说明的单元可以是或者也可以不是物理上分开的, 作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地 方, 或者也可以分布到多个网络单元上。 可以根据实际的需要选择其中的 部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元 中, 也可以是各个单元单独物理包括, 也可以两个或两个以上单元集成在 一个单元中。 上述集成的单元既可以釆用硬件的形式实现, 也可以釆用硬 件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算 机可读取存储介质中。 上述软件功能单元存储在一个存储介质中, 包括若 干指令用以使得一台计算机设备(可以是个人计算机, 服务器, 或者网络 设备等)执行本发明各个实施例所述方法的部分步骤。 而前述的存储介质 包括: U盘、 移动硬盘、 只读存储器(Read-Only Memory , 简称 ROM ) 、 随机存取存储器 (Random Access Memory , 简称 RAM ) 、 磁碟或者光盘 等各种可以存储程序代码的介质。 以上所述, 仅为本发明的具体实施方式, 但本发明的保护范围并不局 限于此, 任何熟悉本技术领域的技术人员在本发明揭露的技术范围内, 可 轻易想到变化或替换, 都应涵盖在本发明的保护范围之内。 因此, 本发明 的保护范围应以所述权利要求的保护范围为准。
Claims
1、 一种数据操作的方法, 客户端将待写入的数据构成的数据分条 划分为预定数量的数据条带, 并将所述数据条带分别发送至预定数量 的存储设备, 使得每个所述存储设备存储一个所述数据条带, 其特征 在于, 所述方法包括: 所述客户端向不需要修改的数据条带对应的所述存储设备发送第 一消息, 所述第一消息中携带不需要修改的数据条带的新版本号和旧 版本号; 所述存储设备接收所述第一消息, 并将所述第一消息中的所述旧 版本号与所述存储设备中的数据条带的版本号进行对比, 当所述第一 消息中的所述旧版本号与所述存储设备中的数据条带的版本号一致 时, 所述存储设备将所述存储设备中的所述数据条带版本号根据所述 第一消息中的新版本号进行更新, 当所述第一消息中的所述旧版本号 与所述存储设备中的数据条带的版本号不一致时, 则所述存储设备向 所述客户端发送版本号不匹配的第二消息; 所述客户端接收到所述第二消息后, 向发送所述第二消息的所述 存储设备发送与所述存储设备对应的数据条带, 发送与所述存储设备 对应的数据条带的版本号; 所述存储设备将收到的数据条带进行存储, 并对收到的数据条带 的版本号进行更新。
2、 根据权利要求 1所述的方法, 其特征在于, 所述方法还包括: 所述客户端对于需要修改的数据条带, 向所述需要修改的数据条 带对应的存储设备发送第三消息, 所述第三消息中包括所述需要修改 的数据条带和所述数据条带对应的新版本号。
3、 根据权利要求 2所述的方法, 其特征在于, 所述方法还包括: 所述存储设备在接收到所述第三消息后, 根据所述第三消息中的 内容, 对所述需要修改的数据条带进行覆盖写操作。
4、 一种数据操作的设备, 其特征在于, 所述设备包括: 发送单元, 客户端向不需要修改的数据条带对应的存储设备发送 第一消息, 所述第一消息中携带不需要修改的数据条带的新版本号和 旧版本号; 处理单元, 所述存储设备接收所述第一消息, 并将所述第一消息 中的所述旧版本号与所述存储设备中的数据条带的版本号进行对比, 当所述第一消息中的所述旧版本号与所述存储设备中的数据条带的版 本号一致时, 所述存储设备将所述存储设备中的所述数据条带版本号 根据所述第一消息中的新版本号进行更新, 当所述第一消息中的所述 旧版本号与所述存储设备中的数据条带的版本号不一致时, 则所述存 储设备向所述客户端发送版本号不匹配的第二消息; 所述发送单元还用于, 所述客户端接收到所述第二消息后, 向发 带, 发送与所述存储设备对应的所述数据条带的版本号;
所述处理器还用于, 所述存储设备将收到的数据条带进行存储, 并对收到的数据条带的版本号进行更新。
5、 根据权利要求 4所述的设备, 其特征在于, 所述发送单元还用 于:
所述客户端向需要修改的数据条带对应的所述存储设备发送第三 消息, 所述第三消息中包括所述需要修改的数据条带和所述需要修改 的数据条带对应的新版本号。
6、 根据权利要求 5所述的设备, 其特征在于, 所述处理单元还用 于:
所述存储设备在接收到所述第三消息后, 根据所述第三消息中的 内容, 对所述需要修改的数据条带进行覆盖写操作。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP14859802.2A EP3051408B1 (en) | 2013-11-07 | 2014-07-25 | Data operating method and device |
US15/145,843 US10157000B2 (en) | 2013-11-07 | 2016-05-04 | Data operation method and device |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310552304.4A CN103558998B (zh) | 2013-11-07 | 2013-11-07 | 一种数据操作的方法和设备 |
CN201310552304.4 | 2013-11-07 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/145,843 Continuation US10157000B2 (en) | 2013-11-07 | 2016-05-04 | Data operation method and device |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2015067073A1 true WO2015067073A1 (zh) | 2015-05-14 |
Family
ID=50013258
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2014/082969 WO2015067073A1 (zh) | 2013-11-07 | 2014-07-25 | 一种数据操作的方法和设备 |
Country Status (5)
Country | Link |
---|---|
US (1) | US10157000B2 (zh) |
EP (1) | EP3051408B1 (zh) |
CN (1) | CN103558998B (zh) |
HU (1) | HUE038982T2 (zh) |
WO (1) | WO2015067073A1 (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103558998B (zh) | 2013-11-07 | 2016-03-30 | 华为技术有限公司 | 一种数据操作的方法和设备 |
BR112017011412B1 (pt) | 2014-12-27 | 2023-02-14 | Huawei Technologies Co., Ltd. | Método e aparelho de armazenamento de dados |
CN112988067B (zh) | 2016-02-18 | 2023-07-11 | 华为技术有限公司 | 数据更新技术 |
CN106708651B (zh) | 2016-11-16 | 2020-09-11 | 北京三快在线科技有限公司 | 基于纠删码的部分写入方法及装置、存储介质、设备 |
CN109634526B (zh) * | 2018-12-11 | 2022-04-22 | 浪潮(北京)电子信息产业有限公司 | 一种基于对象存储的数据操作方法及相关装置 |
CN111367863B (zh) * | 2018-12-25 | 2024-07-23 | 深圳市茁壮网络股份有限公司 | 一种文件的部分修改方法及*** |
CN111367864B (zh) * | 2018-12-25 | 2024-07-23 | 深圳市茁壮网络股份有限公司 | 一种文件的无缝替换方法、读取方法及相关*** |
CN112214175A (zh) * | 2020-10-21 | 2021-01-12 | 重庆紫光华山智安科技有限公司 | 数据处理方法、装置、数据节点及存储介质 |
CN112597243B (zh) * | 2020-12-22 | 2022-05-27 | 新华三大数据技术有限公司 | Ceph集群中加速同步状态的方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1971498A (zh) * | 2005-11-21 | 2007-05-30 | 普安科技股份有限公司 | 数据存取方法及其存储子*** |
CN101019105A (zh) * | 2003-12-02 | 2007-08-15 | 三角帆网络公司 | 使用条带化来存储数据的方法及装置 |
US20080301311A1 (en) * | 2007-05-30 | 2008-12-04 | Caitlin Bestler | Method and system for extended steering tags (stags) to minimize memory bandwidth for content delivery servers |
US7961959B2 (en) * | 2006-08-24 | 2011-06-14 | Dell Products L.P. | Methods and apparatus for reducing storage size |
CN103558998A (zh) * | 2013-11-07 | 2014-02-05 | 华为技术有限公司 | 一种数据操作的方法和设备 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9311499B2 (en) * | 2000-11-13 | 2016-04-12 | Ron M. Redlich | Data security system and with territorial, geographic and triggering event protocol |
US7043444B2 (en) * | 2001-04-13 | 2006-05-09 | I2 Technologies Us, Inc. | Synchronization of planning information in a high availability planning and scheduling architecture |
US7065618B1 (en) * | 2003-02-14 | 2006-06-20 | Google Inc. | Leasing scheme for data-modifying operations |
US20100037023A1 (en) | 2008-08-07 | 2010-02-11 | Aszmann Lawrence E | System and method for transferring data between different raid data storage types for current data and replay data |
US7284088B2 (en) * | 2003-10-23 | 2007-10-16 | Hewlett-Packard Development Company, L.P. | Methods of reading and writing data |
US8117388B2 (en) | 2009-04-30 | 2012-02-14 | Netapp, Inc. | Data distribution through capacity leveling in a striped file system |
US20130198585A1 (en) * | 2012-02-01 | 2013-08-01 | Xyratex Technology Limited | Method of, and apparatus for, improved data integrity |
CN102722340A (zh) | 2012-04-27 | 2012-10-10 | 华为技术有限公司 | 数据处理方法、装置及*** |
-
2013
- 2013-11-07 CN CN201310552304.4A patent/CN103558998B/zh active Active
-
2014
- 2014-07-25 HU HUE14859802A patent/HUE038982T2/hu unknown
- 2014-07-25 EP EP14859802.2A patent/EP3051408B1/en active Active
- 2014-07-25 WO PCT/CN2014/082969 patent/WO2015067073A1/zh active Application Filing
-
2016
- 2016-05-04 US US15/145,843 patent/US10157000B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101019105A (zh) * | 2003-12-02 | 2007-08-15 | 三角帆网络公司 | 使用条带化来存储数据的方法及装置 |
CN1971498A (zh) * | 2005-11-21 | 2007-05-30 | 普安科技股份有限公司 | 数据存取方法及其存储子*** |
US7961959B2 (en) * | 2006-08-24 | 2011-06-14 | Dell Products L.P. | Methods and apparatus for reducing storage size |
US20080301311A1 (en) * | 2007-05-30 | 2008-12-04 | Caitlin Bestler | Method and system for extended steering tags (stags) to minimize memory bandwidth for content delivery servers |
CN103558998A (zh) * | 2013-11-07 | 2014-02-05 | 华为技术有限公司 | 一种数据操作的方法和设备 |
Non-Patent Citations (1)
Title |
---|
See also references of EP3051408A4 * |
Also Published As
Publication number | Publication date |
---|---|
HUE038982T2 (hu) | 2018-12-28 |
EP3051408A4 (en) | 2016-09-28 |
CN103558998B (zh) | 2016-03-30 |
EP3051408A1 (en) | 2016-08-03 |
US10157000B2 (en) | 2018-12-18 |
EP3051408B1 (en) | 2018-07-18 |
US20160246516A1 (en) | 2016-08-25 |
CN103558998A (zh) | 2014-02-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2015067073A1 (zh) | 一种数据操作的方法和设备 | |
CN110268380B (zh) | 跨云数据存储库的文件***层次结构镜像 | |
US9606869B2 (en) | Retrieving data segments from a dispersed storage network | |
US9298386B2 (en) | System and method for improved placement of blocks in a deduplication-erasure code environment | |
US9336076B2 (en) | System and method for controlling a redundancy parity encoding amount based on deduplication indications of activity | |
US9454538B2 (en) | Low-overhead enhancement of reliability of journaled file system using solid state storage and de-duplication | |
US10659225B2 (en) | Encrypting existing live unencrypted data using age-based garbage collection | |
US11907410B2 (en) | Method and device for managing storage system | |
US20120084626A1 (en) | System and Method for Adding a Storage Device to a Cluster as a Shared Resource | |
US11416145B2 (en) | Efficient space management for high performance writable snapshots | |
US11023433B1 (en) | Systems and methods for bi-directional replication of cloud tiered data across incompatible clusters | |
WO2016057873A1 (en) | Configuration replication across distributed storage systems | |
WO2019137323A1 (zh) | 一种数据存储方法、装置及*** | |
WO2019080370A1 (zh) | 一种数据读写方法、装置和存储服务器 | |
WO2015085529A1 (zh) | 数据复制方法、数据复制装置和存储设备 | |
CN104750428A (zh) | 块储存存取和网关模块、储存***和方法与内容递送装置 | |
US11003541B2 (en) | Point-in-time copy on a remote system | |
CN111381767A (zh) | 一种数据处理方法及装置 | |
US11144206B2 (en) | Method and system for sharing data reduction metadata with storage systems |
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: 14859802 Country of ref document: EP Kind code of ref document: A1 |
|
REEP | Request for entry into the european phase |
Ref document number: 2014859802 Country of ref document: EP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2014859802 Country of ref document: EP |
|
NENP | Non-entry into the national phase |
Ref country code: DE |