CN103558998A - 一种数据操作的方法和设备 - Google Patents

一种数据操作的方法和设备 Download PDF

Info

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
Application number
CN201310552304.4A
Other languages
English (en)
Other versions
CN103558998B (zh
Inventor
张子奇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
XFusion Digital Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201310552304.4A priority Critical patent/CN103558998B/zh
Publication of CN103558998A publication Critical patent/CN103558998A/zh
Priority to PCT/CN2014/082969 priority patent/WO2015067073A1/zh
Priority to EP14859802.2A priority patent/EP3051408B1/en
Priority to HUE14859802A priority patent/HUE038982T2/hu
Application granted granted Critical
Publication of CN103558998B publication Critical patent/CN103558998B/zh
Priority to US15/145,843 priority patent/US10157000B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0607Improving 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
    • 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
    • G06F3/0613Improving I/O performance in relation to throughput
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • 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/21Design, administration or maintenance of databases
    • G06F16/219Managing data history or versioning
    • 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/23Updating
    • G06F16/2308Concurrency control
    • G06F16/2315Optimistic concurrency control
    • G06F16/2329Optimistic concurrency control using versioning
    • 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
    • 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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0634Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation

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所述的设备,其特征在于,所述处理单元还用于:
所述存储设备在接收到所述第三消息后,根据所述第三消息中的内容,对所述需要修改的数据条带进行覆盖写操作。
CN201310552304.4A 2013-11-07 2013-11-07 一种数据操作的方法和设备 Active CN103558998B (zh)

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)

* Cited by examiner, † Cited by third party
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 浪潮(北京)电子信息产业有限公司 一种基于对象存储的数据操作方法及相关装置
CN111367863A (zh) * 2018-12-25 2020-07-03 深圳市茁壮网络股份有限公司 一种文件的部分修改方法及系统
CN111367864A (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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112597243B (zh) * 2020-12-22 2022-05-27 新华三大数据技术有限公司 Ceph集群中加速同步状态的方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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
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
WO2010017439A1 (en) 2008-08-07 2010-02-11 Compellent Technologies System and method for transferring data between different raid data storage types for current data and replay data
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 华为技术有限公司 一种数据操作的方法和设备

Patent Citations (3)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 浪潮(北京)电子信息产业有限公司 一种基于对象存储的数据操作方法及相关装置
CN111367864A (zh) * 2018-12-25 2020-07-03 深圳市茁壮网络股份有限公司 一种文件的无缝替换方法、读取方法及相关系统
CN111367863A (zh) * 2018-12-25 2020-07-03 深圳市茁壮网络股份有限公司 一种文件的部分修改方法及系统
CN112214175A (zh) * 2020-10-21 2021-01-12 重庆紫光华山智安科技有限公司 数据处理方法、装置、数据节点及存储介质

Also Published As

Publication number Publication date
WO2015067073A1 (zh) 2015-05-14
EP3051408A4 (en) 2016-09-28
US20160246516A1 (en) 2016-08-25
EP3051408A1 (en) 2016-08-03
EP3051408B1 (en) 2018-07-18
US10157000B2 (en) 2018-12-18
CN103558998B (zh) 2016-03-30
HUE038982T2 (hu) 2018-12-28

Similar Documents

Publication Publication Date Title
CN103558998B (zh) 一种数据操作的方法和设备
KR102240557B1 (ko) 데이터 저장 방법, 장치 및 시스템
US9460098B2 (en) Virtual machine snapshot backup based on multilayer De-duplication
CN103034566B (zh) 虚拟机还原的方法和装置
CN104461390A (zh) 将数据写入叠瓦状磁记录smr硬盘的方法及装置
US9336095B2 (en) Computing system and related data management method thereof
CN104636266B (zh) 盖瓦磁记录硬盘、盖瓦磁记录硬盘写数据的方法及装置
US10387280B2 (en) Reporting defects in a flash memory back-up system
CN104932953A (zh) 一种数据分发方法、数据存储方法、相关装置以及系统
US20130080397A1 (en) Database restore using incremental backups in reverse order
CN105630632A (zh) 一种虚拟机恢复的方法及虚拟机管理设备
CN110018783B (zh) 一种数据存储方法、装置及系统
CN103473277A (zh) 文件系统的快照方法和装置
US10970254B2 (en) Utilization of tail portions of a fixed size block in a deduplication environment by deduplication chunk virtualization
CN103677674A (zh) 一种数据处理方法及装置
CN110083379A (zh) 一种服务器部件升级方法及相关装置
CN103902562A (zh) 一种终端数据库升级方法及相关装置
CN103229150B (zh) 数据控制方法及系统
CN103430178A (zh) 数据更新方法及装置和产品
CN112835528A (zh) 脏页刷新方法和装置、电子设备和存储介质
CN110990356B (zh) 一种用于逻辑镜像的实时自动扩容方法和系统
CN103440204B (zh) 一种更新文件系统的方法和存储设备
CN104268097B (zh) 一种元数据处理方法及系统
CN112748849A (zh) 用于存储数据的方法、设备和计算机程序产品
KR101676175B1 (ko) 전원 손실 이후 데이터 손실을 방지하기 위한 메모리 저장 장치 및 방법

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

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: Super fusion Digital Technology Co.,Ltd.

Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen

Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd.

TR01 Transfer of patent right