CN103558998A - 一种数据操作的方法和设备 - Google Patents
一种数据操作的方法和设备 Download PDFInfo
- Publication number
- CN103558998A CN103558998A CN201310552304.4A CN201310552304A CN103558998A CN 103558998 A CN103558998 A CN 103558998A CN 201310552304 A CN201310552304 A CN 201310552304A CN 103558998 A CN103558998 A CN 103558998A
- Authority
- CN
- China
- Prior art keywords
- memory device
- message
- data
- version number
- data band
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000003672 processing method Methods 0.000 title abstract 4
- 238000012545 processing Methods 0.000 claims abstract description 7
- 238000000034 method Methods 0.000 claims description 27
- 230000004048 modification Effects 0.000 claims description 14
- 238000012986 modification Methods 0.000 claims description 14
- 101100121776 Arabidopsis thaliana GIG1 gene Proteins 0.000 description 9
- 101100267551 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) YME1 gene Proteins 0.000 description 9
- 230000005540 biological transmission Effects 0.000 description 7
- 230000001419 dependent effect Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 239000002699 waste material Substances 0.000 description 4
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000011084 recovery Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 241001269238 Data Species 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
Images
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
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
技术领域
本发明涉及存储领域,尤其涉及一种数据操作的方法和设备。
背景技术
由于对象存储***(Object-Based Storage System)综合了NAS和SAN的优点,因此当前在数据存储***中开始使用对象存储***作为主要存储结构。其中,对象object是对象存储***的基础单元,包含了文件数据以及相关的属性信息,方便进行管理,而OSD(Object-BasedStorage Device)是分布式存储对象存储***的基本构成单元,负责对象object的存储。为了保证存储的object的可靠性,对于同一个object,会使用多副本和纠删码(Erasure Code)的方法进行保护,即如图1所示,将一个Object会存储到不同的OSD上,每一个OSD会存有一部分Object的数据,并且在若干OSD中还会存有根据纠删码得到的校验数据,这样即使其中的少量OSD出现故障,从剩余的OSD中也根据恢复算法可以恢复出Object。
但是,倘若图1中少量的OSD中的数据需要修改,则在现有技术中,需要将对象存储***中所有的OSD进行重新写入,这样会增大对象存储***中网络流量和磁盘的吞吐量IO,造成了***资源的浪费,这里所说的***资源浪费,也被称为写惩罚(Write Penalty)。
发明内容
本发明的实施例提供一种数据操作的方法和设备,能够在存储设备中的数据条带进行修改时,仅仅对需要进行修改的存储设备进行数据的发送与接收,其余不相干的存储设备则没有磁盘吞吐量和流量的使用,从而能够降低磁盘的吞吐量和网络资源的使用。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,提供一种数据操作的方法,所述方法包括:
所述客户端向不需要修改的数据条带对应的所述存储设备发送第一消息,所述第一消息中携带不需要修改的数据条带的新版本号和旧版本号;
所述存储设备接收所述第一消息,并将所述第一消息中的所述旧版本号与所述存储设备中的数据条带的版本号进行对比,当所述第一消息中的所述旧版本号与所述存储设备中的数据条带的版本号一致时,所述存储设备将所述存储设备中的所述数据条带版本号根据所述第一消息中的新版本号进行更新,当所述第一消息中的所述旧版本号与所述存储设备中的数据条带的版本号不一致时,则所述存储设备向所述客户端发送版本号不匹配的第二消息;
所述客户端接收到所述第二消息后,向发送所述第二消息的所述存储设备发送与所述存储设备对应的数据条带,发送与所述存储设备对应的数据条带的版本号;
所述存储设备将收到的数据条带进行存储,并对收到的数据条带的版本号进行更新。
在第一种可能的实现方式中,结合第一方面,所述方法还包括:
所述客户端对于需要修改的数据条带,向所述需要修改的数据条带对应的存储设备发送第三消息,所述第三消息中包括所述需要修改的数据条带和所述数据条带对应的新版本号。
在第二种可能的实现方式中,结合第一方面的第一种可能的实现方式,所述方法还包括:
所述存储设备在接收到所述第三消息后,根据所述第三消息中的内容,对所述需要修改的数据条带进行覆盖写操作。
第二方面,提供一种数据操作的设备,所述设备包括:
发送单元,客户端向不需要修改的数据条带对应的存储设备发送第一消息,所述第一消息中携带不需要修改的数据条带的新版本号和旧版本号;
处理单元,所述存储设备接收所述第一消息,并将所述第一消息中的所述旧版本号与所述存储设备中的数据条带的版本号进行对比,当所述第一消息中的所述旧版本号与所述存储设备中的数据条带的版本号一致时,所述存储设备将所述存储设备中的所述数据条带版本号根据所述第一消息中的新版本号进行更新,当所述第一消息中的所述旧版本号与所述存储设备中的数据条带的版本号不一致时,则所述存储设备向所述客户端发送版本号不匹配的第二消息;
所述发送单元还用于,所述客户端接收到所述第二消息后,向发送所述第二消息的所述存储设备发送与所述存储设备对应的数据条带,发送与所述存储设备对应的所述数据条带的版本号;
所述处理器还用于,所述存储设备将收到的数据条带进行存储,并对收到的数据条带的版本号进行更新。
在第一种可能的实现方式中,结合第二方面,所述发送单元还用于:
所述客户端向需要修改的数据条带对应的所述存储设备发送第三消息,所述第三消息中包括所述需要修改的数据条带和所述需要修改的数据条带对应的新版本号。
在第二种可能的实现方式中,结合第二方面的第一种可能的实现方式,所述处理单元还用于:
所述存储设备在接收到所述第三消息后,根据所述第三消息中的内容,对所述需要修改的数据条带进行覆盖写操作。
本发明实施例提供的一种数据操作的方法和设备,通过客户端向不需要修改的数据条带对应的存储设备同时发送新、旧版本号,使得对应的存储设备将自身存储的数据条带版本号与客户端发送的旧版本号对比,当两者一致时,在存储设备中将版本号更新至接收到的新版本号;从而能够在存储设备中的数据条带进行修改时,仅仅对需要进行修改的存储设备进行数据的发送与接收,其余不相干的存储设备则没有磁盘吞吐量和流量的使用,从而能够降低磁盘的吞吐量和网络资源的使用,也就是降低了写惩罚。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术中存储设备的结构示意图;
图2为本发明实施例提供的一种数据操作的方法的示意图;
图3为本发明实施例提供的一种数据操作的方法的详细示意图;
图4为本发明实施例提供的一种数据存储结构示意图;
图5为本发明实施例提供的一种修改后的数据存储结构示意图;
图6为本发明实施例提供的一种数据操作的设备的结构示意图;
图7为本发明实施例提供的一种数据操作的装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在如图1所示的应用场景中,使用的存储设备为对象存储设备OSD,客户端将一对象Object通过网络互连,将待发送数据构成的数据分条在分段后,将得到的若干个数据条带连续发送至OSD1~OSD3三个不同的对象存储设备OSD中,而OSD4中存储的是根据纠删码算法生成的校验数据,这样当其中一个OSD出现故障时,可以根据其他三个OSD中存储的信息进行数据恢复,不会影响正常的数据读写操作,从而提高了数据的可靠性。
对于一段连续的,如图1所示的将数据分条分为4份的存储结构中,存在分段存储于OSD1~OSD3上的数据,如果仅对OSD2中的数据进行修改写,同时保持OSD1和OSD3数据不变,则此时需要传输和写入数据的OSD是OSD1~OSD4。其中OSD2需要存储修改后的数据,而OSD4则需要存储重新计算得到的校验数据,二者必须传输和写入数据;在现有技术规则下,OSD1和OSD3尽管没有任何修改,但是也需要进行传输和写入数据,这样就造成了二倍的磁盘吞吐量IO和网络流量浪费(对于更大数据分条的情况浪费更加严重)。
本发明实施例提供一种数据操作的方法,如图2所示,该方法包括:
101、客户端向不需要修改的数据条带对应的存储设备发送第一消息,第一消息中携带不需要修改的数据条带的新版本号和旧版本号。
这里所述的不需要修改的数据条带是指OSD中存储的数据条带没有经过修改,存储数据条带中的内容没有变化的数据条带。并且,数据条带的新旧版本号可以有多种表现形式,例如时间戳、序列号等。
102、存储设备接收所述第一消息,并将所述第一消息中的所述旧版本号与所述存储设备中的数据条带的版本号进行对比,当所述第一消息中的所述旧版本号与所述存储设备中的数据条带的版本号一致时,所述存储设备将所述存储设备中的所述数据条带版本号根据所述第一消息中的新版本号进行更新,当所述第一消息中的所述旧版本号与所述存储设备中的数据条带的版本号不一致时,则所述存储设备向所述客户端发送版本号不匹配的第二消息。
103、客户端接收到所述第二消息后,向发送所述第二消息的所述存储设备发送与所述存储设备对应的数据条带,发送与所述存储设备对应的数据条带的版本号。
104、存储设备将收到的数据条带进行存储,并对收到的数据条带的版本号进行更新。
本发明实施例提供的一种数据操作的方法,通过客户端向不需要修改的数据条带对应的存储设备同时发送新、旧版本号,使得对应的存储设备将自身存储的数据条带版本号与客户端发送的旧版本号对比,当两者一致时,在存储设备中将版本号更新至接收到的新版本号;从而能够在存储设备中的数据条带进行修改时,仅仅对需要进行修改的存储设备进行数据的发送与接收,其余不相干的存储设备则没有磁盘吞吐量和流量的使用,从而能够降低磁盘的吞吐量和网络资源的使用,也就是降低了写惩罚。
为了更详细的说明本发明提出的方法,进一步的,本发明实施例提供一种更详细的数据操作的方法:
201、客户端向不需要修改的数据条带对应的所述存储设备发送第一消息,所述第一消息中携带不需要修改的数据条带的新版本号和旧版本号。
这里所述的不需要修改的数据条带是指OSD中存储的数据条带没有经过修改,存储数据条带中的内容没有变化的数据条带。并且,数据条带的新旧版本号可以有多种表现形式,例如时间戳、序列号等。
202、存储设备接收所述第一消息,并将所述第一消息中的所述旧版本号与所述存储设备中的数据条带的版本号进行对比,当所述第一消息中的所述旧版本号与所述存储设备中的数据条带的版本号一致时,所述存储设备将所述存储设备中的所述数据条带版本号根据所述第一消息中的新版本号进行更新,当所述第一消息中的所述旧版本号与所述存储设备中的数据条带的版本号不一致时,则所述存储设备向所述客户端发送版本号不匹配的第二消息。
203、客户端接收到所述第二消息后,向发送所述第二消息的所述存储设备发送与所述存储设备对应的数据条带,发送与所述存储设备对应的数据条带的版本号。
204、存储设备将收到的数据条带进行存储,并对收到的数据条带的版本号进行更新。
进一步的,如图3所示,上述方法还包括:
205、客户端对于需要修改的数据条带,向所述需要修改的数据条带对应的存储设备发送第三消息,所述第三消息中包括所述需要修改的数据条带和所述数据条带对应的新版本号。
206、存储设备在接收到所述第三消息后,根据所述第三消息中的内容,对所述需要修改的数据条带进行覆盖写操作。
具体的,在图4中,从1到Q指代分别存储在8个OSD中的8个数据条带Strip,其中1到6是将一个Object分为6段,按照顺序一次将6段数据分别存储到OSD1~OSD6上,后边的OSD P和OSD Q存储的则是根据纠删码得到的校验数据。这里使用的对象存储设备为6+2的设计,也就是用6个OSD来存储Object数据,另外使用两个OSD来存储校验信息,这样在至多2个OSD出现故障后,都可以根据恢复算法进行正常的数据读写操作。
假设需要修改的是OSD2,则根据步骤201~205的方法,
首先,客户端会向其中不需要修改的OSD1以及OSD3~OSD6发送第一消息,该第一消息中包括上述OSD1以及OSD3~OSD6中存储的数据条带对应的新版本号和旧版本号,并且向需要修改的数据条带对应的OSD2和OSD P、OSD Q发送第三消息,该第三消息中包括需要修改的数据条带和该数据条带对应的新版本号。这里需要说明的是,由于OSD P和OSD Q存储的是校验数据,因此,只要有数据分条进行了数据修改等操作,则OSD P和OSD Q内存储的内容均需要进行重新传输写入。
其次,OSD1以及OSD3~OSD6在接收到客户端发送的第一消息后,分别在其中的每一个OSD上都进行版本号的对比,当其中每一个OSD中存储的数据条带的版本号与第一消息中的旧版本号一致时,则上述每一个OSD根据第一消息中的新版本号将原有的旧版本号进行更新;当其中有OSD中存储的数据条带的版本号与接收到的第一消息中的旧版本号不一致时,则对应的OSD会向客户端返回第二消息,该第二消息用于反馈数据条带版本号不一致的问题。而对于需要进行数据修改的OSD2和OSD P、OSD Q,在接收到第三消息后,根据第三消息中新的数据条带将原来存储的数据条带进行替换,同时将第三消息中的版本号作为本OSD中数据条带的版本号。
接着,客户端接收到所述第二消息后,向发送所述第二消息的所述存储设备发送与所述存储设备对应的数据条带,发送与所述存储设备对应的数据条带的版本号。
最后,接收到数据条带的OSD将数据条带进行存储,并根据第二消息中数据条带的版本号将OSD本身的版本号进行更新。
这样,对应图4,将其中的OSD2和OSD P、OSD Q修改后的示意图如图5所示。其中,阴影部分代表是经过修改的数据,其余的部分代表的是未经过修改的数据,最左侧的128k代表的是其中每一个OSD中的数据大小都是128k。
从图4和图5的对比中可以看出,在经过修改后,是OSD2和OSDQ中的数据不同,这样在总共的8个OSD中,经过一次修改后,仅有3个OSD的数据需要通过磁盘IO和网络流量进行更新,相比现有技术中全部8个OSD均需要进行数据更新的情况,节省了128k*5=640k的磁盘IO和网络流量,也就是节省了5/8的磁盘IO和网络流量,效果相当明显。
本发明实施例提供一种数据操作的方法,通过客户端向不需要修改的数据条带对应的存储设备同时发送新、旧版本号,使得对应的存储设备将自身存储的数据条带版本号与客户端发送的旧版本号对比,当两者一致时,在存储设备中将版本号更新至接收到的新版本号;从而能够在存储设备中的数据条带进行修改时,仅仅对需要进行修改的存储设备进行数据的发送与接收,其余不相干的存储设备则没有磁盘吞吐量和流量的使用,从而能够降低磁盘的吞吐量和网络资源的使用,也就是降低了写惩罚。
本发明实施例还提供一种数据操作的设备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 (6)
1.一种数据操作的方法,客户端将待写入的数据构成的数据分条划分为预定数量的数据条带,并将所述数据条带分别发送至预定数量的存储设备,使得每个所述存储设备存储一个所述数据条带,其特征在于,所述方法包括:
所述客户端向不需要修改的数据条带对应的所述存储设备发送第一消息,所述第一消息中携带不需要修改的数据条带的新版本号和旧版本号;
所述存储设备接收所述第一消息,并将所述第一消息中的所述旧版本号与所述存储设备中的数据条带的版本号进行对比,当所述第一消息中的所述旧版本号与所述存储设备中的数据条带的版本号一致时,所述存储设备将所述存储设备中的所述数据条带版本号根据所述第一消息中的新版本号进行更新,当所述第一消息中的所述旧版本号与所述存储设备中的数据条带的版本号不一致时,则所述存储设备向所述客户端发送版本号不匹配的第二消息;
所述客户端接收到所述第二消息后,向发送所述第二消息的所述存储设备发送与所述存储设备对应的数据条带,发送与所述存储设备对应的数据条带的版本号;
所述存储设备将收到的数据条带进行存储,并对收到的数据条带的版本号进行更新。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述客户端对于需要修改的数据条带,向所述需要修改的数据条带对应的存储设备发送第三消息,所述第三消息中包括所述需要修改的数据条带和所述数据条带对应的新版本号。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
所述存储设备在接收到所述第三消息后,根据所述第三消息中的内容,对所述需要修改的数据条带进行覆盖写操作。
4.一种数据操作的设备,其特征在于,所述设备包括:
发送单元,客户端向不需要修改的数据条带对应的存储设备发送第一消息,所述第一消息中携带不需要修改的数据条带的新版本号和旧版本号;
处理单元,所述存储设备接收所述第一消息,并将所述第一消息中的所述旧版本号与所述存储设备中的数据条带的版本号进行对比,当所述第一消息中的所述旧版本号与所述存储设备中的数据条带的版本号一致时,所述存储设备将所述存储设备中的所述数据条带版本号根据所述第一消息中的新版本号进行更新,当所述第一消息中的所述旧版本号与所述存储设备中的数据条带的版本号不一致时,则所述存储设备向所述客户端发送版本号不匹配的第二消息;
所述发送单元还用于,所述客户端接收到所述第二消息后,向发送所述第二消息的所述存储设备发送与所述存储设备对应的数据条带,发送与所述存储设备对应的所述数据条带的版本号;
所述处理器还用于,所述存储设备将收到的数据条带进行存储,并对收到的数据条带的版本号进行更新。
5.根据权利要求4所述的设备,其特征在于,所述发送单元还用于:
所述客户端向需要修改的数据条带对应的所述存储设备发送第三消息,所述第三消息中包括所述需要修改的数据条带和所述需要修改的数据条带对应的新版本号。
6.根据权利要求5所述的设备,其特征在于,所述处理单元还用于:
所述存储设备在接收到所述第三消息后,根据所述第三消息中的内容,对所述需要修改的数据条带进行覆盖写操作。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310552304.4A CN103558998B (zh) | 2013-11-07 | 2013-11-07 | 一种数据操作的方法和设备 |
PCT/CN2014/082969 WO2015067073A1 (zh) | 2013-11-07 | 2014-07-25 | 一种数据操作的方法和设备 |
EP14859802.2A EP3051408B1 (en) | 2013-11-07 | 2014-07-25 | Data operating method and device |
HUE14859802A HUE038982T2 (hu) | 2013-11-07 | 2014-07-25 | Adatmûveleti eljárás és eszköz |
US15/145,843 US10157000B2 (en) | 2013-11-07 | 2016-05-04 | Data operation method and device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310552304.4A CN103558998B (zh) | 2013-11-07 | 2013-11-07 | 一种数据操作的方法和设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103558998A true CN103558998A (zh) | 2014-02-05 |
CN103558998B CN103558998B (zh) | 2016-03-30 |
Family
ID=50013258
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310552304.4A Active CN103558998B (zh) | 2013-11-07 | 2013-11-07 | 一种数据操作的方法和设备 |
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) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015067073A1 (zh) * | 2013-11-07 | 2015-05-14 | 华为技术有限公司 | 一种数据操作的方法和设备 |
WO2016101283A1 (zh) * | 2014-12-27 | 2016-06-30 | 华为技术有限公司 | 一种数据处理方法装置及*** |
CN106708651A (zh) * | 2016-11-16 | 2017-05-24 | 北京三快在线科技有限公司 | 基于纠删码的部分写入方法及装置、存储介质、设备 |
CN109634526A (zh) * | 2018-12-11 | 2019-04-16 | 浪潮(北京)电子信息产业有限公司 | 一种基于对象存储的数据操作方法及相关装置 |
CN111367864A (zh) * | 2018-12-25 | 2020-07-03 | 深圳市茁壮网络股份有限公司 | 一种文件的无缝替换方法、读取方法及相关*** |
CN111367863A (zh) * | 2018-12-25 | 2020-07-03 | 深圳市茁壮网络股份有限公司 | 一种文件的部分修改方法及*** |
US10725662B2 (en) | 2016-02-18 | 2020-07-28 | Huawei Technologies Co., Ltd. | Data updating technology |
CN112214175A (zh) * | 2020-10-21 | 2021-01-12 | 重庆紫光华山智安科技有限公司 | 数据处理方法、装置、数据节点及存储介质 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112597243B (zh) * | 2020-12-22 | 2022-05-27 | 新华三大数据技术有限公司 | Ceph集群中加速同步状态的方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050091450A1 (en) * | 2003-10-23 | 2005-04-28 | Svend Frolund | Methods of reading and writing data |
CN101019105A (zh) * | 2003-12-02 | 2007-08-15 | 三角帆网络公司 | 使用条带化来存储数据的方法及装置 |
CN102460439A (zh) * | 2009-04-30 | 2012-05-16 | 网络存储技术公司 | 通过条带式文件***中的容量平衡进行数据分布 |
Family Cites Families (10)
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 |
TWI350526B (en) * | 2005-11-21 | 2011-10-11 | Infortrend Technology Inc | Data access methods and storage subsystems thereof |
US7961959B2 (en) * | 2006-08-24 | 2011-06-14 | Dell Products L.P. | Methods and apparatus for reducing storage size |
US8271669B2 (en) * | 2007-05-30 | 2012-09-18 | Broadcom Corporation | Method and system for extended steering tags (STAGS) to minimize memory bandwidth for content delivery servers |
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 | 华为技术有限公司 | 数据处理方法、装置及*** |
CN103558998B (zh) * | 2013-11-07 | 2016-03-30 | 华为技术有限公司 | 一种数据操作的方法和设备 |
-
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 (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050091450A1 (en) * | 2003-10-23 | 2005-04-28 | Svend Frolund | Methods of reading and writing data |
CN101019105A (zh) * | 2003-12-02 | 2007-08-15 | 三角帆网络公司 | 使用条带化来存储数据的方法及装置 |
CN102460439A (zh) * | 2009-04-30 | 2012-05-16 | 网络存储技术公司 | 通过条带式文件***中的容量平衡进行数据分布 |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10157000B2 (en) | 2013-11-07 | 2018-12-18 | Huawei Technologies Co., Ltd. | Data operation method and device |
WO2015067073A1 (zh) * | 2013-11-07 | 2015-05-14 | 华为技术有限公司 | 一种数据操作的方法和设备 |
CN108733761B (zh) * | 2014-12-27 | 2021-12-03 | 华为技术有限公司 | 一种数据处理方法装置及*** |
US11032368B2 (en) | 2014-12-27 | 2021-06-08 | Huawei Technologies Co., Ltd. | Data processing method, apparatus, and system |
US11799959B2 (en) | 2014-12-27 | 2023-10-24 | Huawei Technologies Co., Ltd. | Data processing method, apparatus, and system |
CN108733761A (zh) * | 2014-12-27 | 2018-11-02 | 华为技术有限公司 | 一种数据处理方法装置及*** |
CN105993013A (zh) * | 2014-12-27 | 2016-10-05 | 华为技术有限公司 | 一种数据处理方法装置及*** |
WO2016101283A1 (zh) * | 2014-12-27 | 2016-06-30 | 华为技术有限公司 | 一种数据处理方法装置及*** |
US11698728B2 (en) | 2016-02-18 | 2023-07-11 | Huawei Technologies Co., Ltd. | Data updating technology |
US11422703B2 (en) | 2016-02-18 | 2022-08-23 | Huawei Technologies Co., Ltd. | Data updating technology |
US10725662B2 (en) | 2016-02-18 | 2020-07-28 | Huawei Technologies Co., Ltd. | Data updating technology |
CN106708651B (zh) * | 2016-11-16 | 2020-09-11 | 北京三快在线科技有限公司 | 基于纠删码的部分写入方法及装置、存储介质、设备 |
CN106708651A (zh) * | 2016-11-16 | 2017-05-24 | 北京三快在线科技有限公司 | 基于纠删码的部分写入方法及装置、存储介质、设备 |
US11119849B2 (en) | 2016-11-16 | 2021-09-14 | Beijing Sankuai Online Technology Co., Ltd | Erasure code-based partial write-in |
WO2018090837A1 (zh) * | 2016-11-16 | 2018-05-24 | 北京三快在线科技有限公司 | 基于纠删码的部分写入方法及装置、存储介质、设备 |
CN109634526B (zh) * | 2018-12-11 | 2022-04-22 | 浪潮(北京)电子信息产业有限公司 | 一种基于对象存储的数据操作方法及相关装置 |
CN109634526A (zh) * | 2018-12-11 | 2019-04-16 | 浪潮(北京)电子信息产业有限公司 | 一种基于对象存储的数据操作方法及相关装置 |
CN111367863A (zh) * | 2018-12-25 | 2020-07-03 | 深圳市茁壮网络股份有限公司 | 一种文件的部分修改方法及*** |
CN111367864A (zh) * | 2018-12-25 | 2020-07-03 | 深圳市茁壮网络股份有限公司 | 一种文件的无缝替换方法、读取方法及相关*** |
CN112214175A (zh) * | 2020-10-21 | 2021-01-12 | 重庆紫光华山智安科技有限公司 | 数据处理方法、装置、数据节点及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
HUE038982T2 (hu) | 2018-12-28 |
EP3051408A4 (en) | 2016-09-28 |
WO2015067073A1 (zh) | 2015-05-14 |
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 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103558998B (zh) | 一种数据操作的方法和设备 | |
KR102240557B1 (ko) | 데이터 저장 방법, 장치 및 시스템 | |
US9767035B2 (en) | Pass-through tape access in a disk storage environment | |
CN103034566B (zh) | 虚拟机还原的方法和装置 | |
CN108153849B (zh) | 一种数据库表切分方法、装置、***和介质 | |
CN104461390A (zh) | 将数据写入叠瓦状磁记录smr硬盘的方法及装置 | |
US9336095B2 (en) | Computing system and related data management method thereof | |
US20140052692A1 (en) | Virtual Machine Snapshot Backup Based on Multilayer De-duplication | |
CN104636266B (zh) | 盖瓦磁记录硬盘、盖瓦磁记录硬盘写数据的方法及装置 | |
US20130080397A1 (en) | Database restore using incremental backups in reverse order | |
US10387280B2 (en) | Reporting defects in a flash memory back-up system | |
CN104932953A (zh) | 一种数据分发方法、数据存储方法、相关装置以及*** | |
CN105630632A (zh) | 一种虚拟机恢复的方法及虚拟机管理设备 | |
US10970254B2 (en) | Utilization of tail portions of a fixed size block in a deduplication environment by deduplication chunk virtualization | |
CN110018783B (zh) | 一种数据存储方法、装置及*** | |
CN103473277A (zh) | 文件***的快照方法和装置 | |
CN103440204B (zh) | 一种更新文件***的方法和存储设备 | |
CN110083379A (zh) | 一种服务器部件升级方法及相关装置 | |
CN103902562A (zh) | 一种终端数据库升级方法及相关装置 | |
CN103229150B (zh) | 数据控制方法及*** | |
US20210124517A1 (en) | Method, device and computer program product for storing data | |
CN103430178A (zh) | 数据更新方法及装置和产品 | |
CN112835528A (zh) | 脏页刷新方法和装置、电子设备和存储介质 | |
CN104572917A (zh) | 数据锁定方法、装置及分布式存储*** | |
CN110990356B (zh) | 一种用于逻辑镜像的实时自动扩容方法和*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20211222 Address after: 450046 Floor 9, building 1, Zhengshang Boya Plaza, Longzihu wisdom Island, Zhengdong New Area, Zhengzhou City, Henan Province Patentee after: xFusion Digital Technologies Co., Ltd. Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd. |