CN106406760B - 基于云储存的直接纠删码优化方法及系统 - Google Patents

基于云储存的直接纠删码优化方法及系统 Download PDF

Info

Publication number
CN106406760B
CN106406760B CN201610826659.1A CN201610826659A CN106406760B CN 106406760 B CN106406760 B CN 106406760B CN 201610826659 A CN201610826659 A CN 201610826659A CN 106406760 B CN106406760 B CN 106406760B
Authority
CN
China
Prior art keywords
cloud storage
data
client
eleting codes
affairs
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.)
Active
Application number
CN201610826659.1A
Other languages
English (en)
Other versions
CN106406760A (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.)
Zhengzhou Yunhai Information Technology Co Ltd
Original Assignee
Zhengzhou Yunhai Information Technology 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 Zhengzhou Yunhai Information Technology Co Ltd filed Critical Zhengzhou Yunhai Information Technology Co Ltd
Priority to CN201610826659.1A priority Critical patent/CN106406760B/zh
Publication of CN106406760A publication Critical patent/CN106406760A/zh
Application granted granted Critical
Publication of CN106406760B publication Critical patent/CN106406760B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • 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/085Error detection or correction by redundancy in data representation, e.g. by using checking codes using codes with inherent redundancy, e.g. n-out-of-m codes
    • 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
    • G06F11/1402Saving, restoring, recovering or retrying
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/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]

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)
  • Quality & Reliability (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请公开了一种基于云储存的直接纠删码优化方法,包括:接收客户端发送的操作,判断所述操作是否为正确操作,如果是,将所述操作写入队列;遍历所述队列中的所有操作并记录所述操作的数据范围信息,将所述操作以及所述数据范围信息分别进行合并;根据合并后的数据范围信息判断合并后的操作是否为对齐操作,如果是,则生成对齐操作事务;将所述对齐操作事务提交至云存储系统中进行数据落盘,完成数据写入。基于云储存的直接纠删码优化方法将队列中的操作遍历,并记录所述操作的数据范围信息,将所述操作以及所述数据范围信息分别进行合并,由于操作合并,即一次可以处理多个操作,提高处理效率,避免了数据的重复写入,从而提高了数据写入的效率。

Description

基于云储存的直接纠删码优化方法及系统
技术领域
本发明涉及云存储技术领域,更具体地说,涉及一种基于云储存的直接纠删码优化方法,还涉及一种基于云储存的直接纠删码优化系统。
背景技术
在计算机技术高速发展的今天,数据呈现爆炸式增长,云存储系统的数据存储的速度越来越倍受关注,其中,纠删码作为存储系统容错的主要方式越来越受到重视。
纠删码的前端存在一个缓存池,数据先写入缓存池中,满足一定条件后数据会从缓存池中转移到纠删池中,而不是有数据写入时直接写入纠删池中。在云存储系统直接纠删码中,取消了前端的缓存池,其实现原理为先将源数据读到内存中,再将队列中所有的操作应用到内存的源数据上,操作应用完成后,最后进行完全覆盖写入,存在数据重复写入的情况。
因此,如何避免直接纠删码中大量数据重复写入,提高写入效率是本领域技术人员急需要解决的技术问题。
发明内容
为解决上述技术问题,本发明提供一种基于云储存的直接纠删码优化方法,能够避免直接纠删码中大量数据重复写入,提高写入效率。
为实现上述目的,本发明提供如下技术方案:
一种基于云储存的直接纠删码优化方法,包括:
接收客户端发送的操作,判断所述操作是否为正确操作,如果是,将所述操作写入队列;
遍历所述队列中的所有操作并记录所述操作的数据范围信息,将所述操作以及所述数据范围信息分别进行合并;
根据合并后的数据范围信息判断合并后的操作是否为对齐操作,如果是,则生成对齐操作事务;
将所述对齐操作事务提交至云存储系统中进行数据落盘,完成数据写入。
优选的,在上述基于云储存的直接纠删码优化方法中,
如果所述合并后的操作不是所述对齐操作,则生成完全覆盖写操作事务;
将所述完全覆盖写操作事务提交至云存储系统中进行数据落盘,完成数据写入。
优选的,在上述基于云储存的直接纠删码优化方法中,所述将所述对齐操作事务提交至云存储系统中进行数据落盘,完成数据写入,之后还包括:将数据写入成功结果反馈至所述客户端。
优选的,在上述基于云储存的直接纠删码优化方法中,所述将数据写入成功结果反馈至所述客户端之后,还包括:
将客户端发送的所述操作从所述客户端中删除。
本发明还提供了一种基于云储存的直接纠删码优化系统,包括:
预处理模块,用于接收客户端发送的操作,判断所述操作是否为正确操作,如果是,将所述操作写入队列;
合并模块,用于遍历所述队列中的所有操作并记录所述操作的数据范围信息,将所述操作以及所述数据范围信息分别进行合并;
判断模块,用于根据合并后的数据范围信息判断合并后的操作是否为对齐操作,如果是,则生成对齐操作事务;
提交模块,用于将所述对齐操作事务提交至云存储系统中进行数据落盘,完成数据写入。
优选的,在上述基于云储存的直接纠删码优化系统中,所述判断模块还用于如果所述合并后的操作不是所述对齐操作,则生成完全覆盖写操作事务;
将所述完全覆盖写操作事务提交至云存储系统中进行数据落盘,完成数据写入。
优选的,在上述基于云储存的直接纠删码优化系统中,还包括:
反馈模块,用于将数据写入成功结果反馈至所述客户端。
优选的,在上述基于云储存的直接纠删码优化系统中,还包括:
删除模块,用于将客户端发送的所述操作从所述客户端中删除。
从上述技术方案可以看出,本发明所提供的一种基于云储存的直接纠删码优化方法,包括:接收客户端发送的操作,判断所述操作是否为正确操作,如果是,将所述操作写入队列;遍历所述队列中的所有操作并记录所述操作的数据范围信息,将所述操作以及所述数据范围信息分别进行合并;根据合并后的数据范围信息判断合并后的操作是否为对齐操作,如果是,则生成对齐操作事务;将所述对齐操作事务提交至云存储系统中进行数据落盘,完成数据写入。
直接纠删码读取磁盘的上的源有数据到内存中,再将客户端发送来的操作应用到内存中的源数据上,由于现有技术中即优化前的方法是将内存中所有数据,所有数据包括源数据和操作附带的数据以完全覆盖的形式写入磁盘上,此方法重复写入了源数据。而本发明提供的方法,首先判断了客户端的操作是否是纠删码条带对齐,如果操作是纠删码条带对齐,仅仅将操作附带的数据以追加写的形式写入磁盘,即将纠删码条带对齐的数据写入磁盘,而避免了源数据的重复写入,从而提高了数据写入的效率。
将队列中的操作遍历,并记录所述操作的数据范围信息,将所述操作以及所述数据范围信息分别进行合并,由于将操作合并,即一次可以处理多个操作,提高处理效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的一种基于云储存的直接纠删码优化方法示意图;
图2为本发明实施例提供的一种基于云储存的直接纠删码优化系统示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,图1为本发明实施例提供的一种基于云储存的直接纠删码优化方法示意图。
在一种具体的实施方式中,提供了一种基于云储存的直接纠删码优化方法,包括:
步骤S1:接收客户端发送的操作,判断所述操作是否为正确操作,如果是,将所述操作写入队列;
云存储系统的服务器收到客户端发送的操作,首先对这些操作进行预处理,判断所述操作是否为正确操作,例如判断这些操作的参数是否正确,是否是重复的操作或者是否存在可以忽略的操作,或者对这些操作的参数进行处理,如果操作不满足预设条件,则直接返回给客户端;如果满足条件,则压入队列中。
步骤S2:遍历所述队列中的所有操作并记录所述操作的数据范围信息,将所述操作以及所述数据范围信息分别进行合并;
遍历所述队列中的所有操作,将队列中的操作先应用到内存中,记录所述操作的数据范围信息,直到遍历处理完成队列中所有的操作,之后将操作以及所述数据范围信息进行合并。
步骤S3:根据合并后的数据范围信息判断合并后的操作是否为对齐操作,如果是,则生成对齐操作事务;
其中,云存储系统中所有的操作都会封装成对应的事务来处理,这样能够保证该操作应用完成,或者并未进行应用,不会出现应用一般的情况。对齐操作事务就是对齐操作执行单元,具有原子性,对齐操作为了保证其原子性都会封装成对应的事务。
步骤S4:将所述对齐操作事务提交至云存储系统中进行数据落盘,完成数据写入。
其中,根据判断结果将内存中的数据生成相应的事务,提交给云存储系统实现数据的落盘,完成数据写入,数据的落盘即文件系统缓存中的数据真正的写到硬盘上。
在上述实施方式的基础上,如果所述合并后的操作不是所述对齐操作,则生成完全覆盖写操作事务;
将所述完全覆盖写操作事务提交至云存储系统中进行数据落盘,完成数据写入。
直接纠删码读取磁盘的上的源有数据到内存中,再将客户端发送来的操作应用到内存中的源数据上,由于现有技术中即优化前的方法是将内存中所有数据,所有数据包括源数据和操作附带的数据以完全覆盖的形式写入磁盘上,此方法重复写入了源数据。而本发明提供的方法,首先判断了客户端的操作是否是纠删码条带对齐,如果操作是纠删码条带对齐,仅仅将操作附带的数据以追加写的形式写入磁盘,即将纠删码条带对齐的数据写入磁盘,而避免了源数据的重复写入,从而提高了数据写入的效率。
将队列中的操作遍历,并记录所述操作的数据范围信息,将所述操作以及所述数据范围信息分别进行合并,由于将操作合并,即一次可以处理多个操作,提高处理效率。
进一步的,在上述基于云储存的直接纠删码优化方法中,所述将所述对齐操作事务提交至云存储系统中进行数据落盘之后,还包括:
将数据写入成功结果反馈至所述客户端。
进一步的,为了减少数据处理量,加快数据处理速度,在上述基于云储存的直接纠删码优化方法中,所述将所述对齐操作结果反馈至所述客户端之后,还包括:
将客户端发送的所述操作从所述客户端中删除。
其中,落盘成功后会将列表中的客户端请求操作的结果反馈给客户端,并从列表中删除客户端的请求操作,完成与客户端整个通信过程。
如图2所示,图2为本发明实施例提供的一种基于云储存的直接纠删码优化系统示意图。
本发明还提供了一种基于云储存的直接纠删码优化系统,包括:
预处理模块100,用于接收客户端发送的操作,判断所述操作是否为正确操作,如果是,将所述操作写入队列;
合并模块200,用于遍历所述队列中的所有操作并记录所述操作的数据范围信息,将所述操作以及所述数据范围信息分别进行合并;
判断模块300,用于根据合并后的数据范围信息判断合并后的操作是否为对齐操作,如果是,则生成对齐操作事务;
提交模块400,用于将所述对齐操作事务提交至云存储系统中进行数据落盘,完成数据写入。
进一步的,在上述基于云储存的直接纠删码优化系统中,
所述判断模块300还用于如果所述合并后的操作不是所述对齐操作,则生成完全覆盖写操作事务;
所述提交模块400还用于将所述完全覆盖写操作事务提交至云存储系统中进行数据落盘,完成数据写入。
进一步的,在上述基于云储存的直接纠删码优化系统中,还包括:
反馈模块,用于将数据写入成功结果反馈至所述客户端。
进一步的,在上述基于云储存的直接纠删码优化系统中,还包括:
删除模块,用于将客户端发送的所述操作从所述客户端中删除。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (8)

1.一种基于云储存的直接纠删码优化方法,其特征在于,包括:
接收客户端发送的操作,判断所述操作是否为正确操作,如果是,将所述操作写入队列;
遍历所述队列中的所有操作并记录所述操作的数据范围信息,将所述操作以及所述数据范围信息分别进行合并;
根据合并后的数据范围信息判断合并后的操作是否为对齐操作,如果是,则生成对齐操作事务;
将所述对齐操作事务提交至云存储系统中进行数据落盘,完成数据写入。
2.如权利要求1所述的基于云储存的直接纠删码优化方法,其特征在于,
如果所述合并后的操作不是所述对齐操作,则生成完全覆盖写操作事务;
将所述完全覆盖写操作事务提交至云存储系统中进行数据落盘,完成数据写入。
3.如权利要求2所述的基于云储存的直接纠删码优化方法,其特征在于,所述将所述对齐操作事务提交至云存储系统中进行数据落盘,完成数据写入,之后还包括:
将数据写入成功结果反馈至所述客户端。
4.如权利要求3所述的基于云储存的直接纠删码优化方法,其特征在于,所述将数据写入成功结果反馈至所述客户端之后,还包括:
将客户端发送的所述操作从所述客户端中删除。
5.一种基于云储存的直接纠删码优化系统,其特征在于,包括:
预处理模块,用于接收客户端发送的操作,判断所述操作是否为正确操作,如果是,将所述操作写入队列;
合并模块,用于遍历所述队列中的所有操作并记录所述操作的数据范围信息,将所述操作以及所述数据范围信息分别进行合并;
判断模块,用于根据合并后的数据范围信息判断合并后的操作是否为对齐操作,如果是,则生成对齐操作事务;
提交模块,用于将所述对齐操作事务提交至云存储系统中进行数据落盘,完成数据写入。
6.如权利要求5所述的基于云储存的直接纠删码优化系统,其特征在于,
所述判断模块还用于如果所述合并后的操作不是所述对齐操作,则生成完全覆盖写操作事务;
所述提交模块还用于将所述完全覆盖写操作事务提交至云存储系统中进行数据落盘,完成数据写入。
7.如权利要求6所述的基于云储存的直接纠删码优化系统,其特征在于,还包括:
反馈模块,用于将数据写入成功结果反馈至所述客户端。
8.如权利要求7所述的基于云储存的直接纠删码优化系统,其特征在于,还包括:
删除模块,用于将客户端发送的所述操作从所述客户端中删除。
CN201610826659.1A 2016-09-14 2016-09-14 基于云储存的直接纠删码优化方法及系统 Active CN106406760B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610826659.1A CN106406760B (zh) 2016-09-14 2016-09-14 基于云储存的直接纠删码优化方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610826659.1A CN106406760B (zh) 2016-09-14 2016-09-14 基于云储存的直接纠删码优化方法及系统

Publications (2)

Publication Number Publication Date
CN106406760A CN106406760A (zh) 2017-02-15
CN106406760B true CN106406760B (zh) 2019-05-28

Family

ID=57996499

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610826659.1A Active CN106406760B (zh) 2016-09-14 2016-09-14 基于云储存的直接纠删码优化方法及系统

Country Status (1)

Country Link
CN (1) CN106406760B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108958964A (zh) * 2018-06-27 2018-12-07 郑州云海信息技术有限公司 一种数据修改方法、装置、设备及可读存储介质
CN109901946A (zh) * 2019-02-27 2019-06-18 深信服科技股份有限公司 一种纠删码操作方法、装置、设备及存储介质
CN111667605B (zh) * 2020-06-10 2022-07-19 阿波罗智能技术(北京)有限公司 自动驾驶测试数据存储方法、装置、电子设备
CN114415976B (zh) * 2022-03-28 2022-07-01 深圳市杉岩数据技术有限公司 一种分布式数据存储系统与方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103914402A (zh) * 2014-04-17 2014-07-09 华中科技大学 一种基于纠删码缓存的重构优化方法
CN103944981A (zh) * 2014-04-14 2014-07-23 中国科学院计算技术研究所 一种基于纠删码技术改进的云存储系统及实现方法
CN104484126A (zh) * 2014-11-13 2015-04-01 华中科技大学 一种基于纠删码的数据安全删除方法和系统
CN105183384A (zh) * 2015-09-10 2015-12-23 浪潮(北京)电子信息产业有限公司 一种直接纠删的实现方法及装置
CN105930103A (zh) * 2016-05-10 2016-09-07 南京大学 一种分布式存储ceph的纠删码覆盖写方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9612952B2 (en) * 2014-06-04 2017-04-04 Pure Storage, Inc. Automatically reconfiguring a storage memory topology
US9218244B1 (en) * 2014-06-04 2015-12-22 Pure Storage, Inc. Rebuilding data across storage nodes

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103944981A (zh) * 2014-04-14 2014-07-23 中国科学院计算技术研究所 一种基于纠删码技术改进的云存储系统及实现方法
CN103914402A (zh) * 2014-04-17 2014-07-09 华中科技大学 一种基于纠删码缓存的重构优化方法
CN104484126A (zh) * 2014-11-13 2015-04-01 华中科技大学 一种基于纠删码的数据安全删除方法和系统
CN105183384A (zh) * 2015-09-10 2015-12-23 浪潮(北京)电子信息产业有限公司 一种直接纠删的实现方法及装置
CN105930103A (zh) * 2016-05-10 2016-09-07 南京大学 一种分布式存储ceph的纠删码覆盖写方法

Also Published As

Publication number Publication date
CN106406760A (zh) 2017-02-15

Similar Documents

Publication Publication Date Title
CN106406760B (zh) 基于云储存的直接纠删码优化方法及系统
US9195668B2 (en) Log access method storage control apparatus, archive system, and method of operation
CN102945201B (zh) 已验证数据集合的非易失性介质日志记录
EP2260395B1 (en) Method and system for generating consistent snapshots for a group of data objects
CN103092905B (zh) 使用虚拟文件数据对象的列式数据库
US8868512B2 (en) Logging scheme for column-oriented in-memory databases
US7991946B2 (en) Apparatus using flash memory as storage and method of operating the same
TW522320B (en) Apparatus and method for recovering a failed database data set
CN102270155B (zh) 应用程序实例和查询存储
CN106021016A (zh) 在快照之间的虚拟时间点访问
US11003621B2 (en) Scalable enterprise content management
CN110263014A (zh) 面向时序型数据的区块链存储系统及方法
CN104166605B (zh) 基于增量数据文件的数据备份方法及系统
CN104714858A (zh) 数据备份方法及装置、数据恢复方法及装置
CN105183384B (zh) 一种直接纠删的实现方法及装置
CN102667720A (zh) 没有排序依赖的一致性
CN105677508B (zh) 一种云存储中纠删码数据的修改方法及系统
CN106855822A (zh) 用于分布式事务处理的方法及设备
CN102541691B (zh) 面向内存数据库oltp应用的日志检查点恢复方法
CN106686095A (zh) 一种基于纠删码技术的数据存储方法及装置
CN109144406A (zh) 分布式存储系统中元数据存储方法、系统及存储介质
CN105824846A (zh) 数据迁移方法及装置
CN102272751A (zh) 在数据库环境通过背景同步的数据完整性
CN107766355B (zh) 层级数据管理方法、层级数据管理系统及即时通信系统
CN105260139B (zh) 一种磁盘管理方法以及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant