CN106445423A - 基于nvram存储系统直接纠删码的优化方法和系统 - Google Patents
基于nvram存储系统直接纠删码的优化方法和系统 Download PDFInfo
- Publication number
- CN106445423A CN106445423A CN201611109316.XA CN201611109316A CN106445423A CN 106445423 A CN106445423 A CN 106445423A CN 201611109316 A CN201611109316 A CN 201611109316A CN 106445423 A CN106445423 A CN 106445423A
- Authority
- CN
- China
- Prior art keywords
- alignment
- correcting
- eleting codes
- module
- storage system
- 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.)
- Pending
Links
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/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/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
-
- 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/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了基于NVRAM存储系统直接纠删码的优化方法和系统,所述方法针对Write队列中的操作,先判断该操作是否是纠删码条带对齐的操作;如果是纠删码条带对齐的操作,则将该操作生成相应的事务并提交,继续判断提交纠删码对齐的事务;如果该操作不是纠删码条带对齐的操作,则该操作将不会提交,等到之前的所有操作处理完成后;再读取源数据补齐为纠删码条带对齐的操作再提交。本发明由原来的串行化处理操作优化成并行提交多个纠删条带对齐的操作;优化方法既能够保证客户端操作的顺序性,又能够提高写入效率,可以避免由于串行化提交导致存储系统后端IO压力不够,从而发挥海量存储系统的处理读写IO的能力。
Description
技术领域
本发明涉及数据存储技术领域,具体涉及一种基于NVRAM的海量存储系统直接纠删码的优化方法和系统。
背景技术
在计算机技术高速发展的今天,数据呈现爆炸式增长;海量存储系统的数据存储的速度越来越倍受关注。在海量存储系统NVRAM直接纠删码中一般情况下Write队列中的操作是串行化提交的;Write队列中的操作根据FIFO的原则,一次提交一个操作,并等到这个操作处理完成后再继续处理Write队列中的下一个操作;由于提交的串行化使得海量存储系统的后端的压力不够,不能充分发挥硬件的性能。
按照误码控制的不同功能,可分为检错码、纠错码和纠删码等。检错码仅具备识别错码功能 而无纠正错码功能;纠错码不仅具备识别错码功能,同时具备纠正错码功能;纠删码则不仅具备识别错码和纠正错码的功能,而且当错码超过纠正范围时可把无法纠错的信息删除。
发明内容
本发明要解决的技术问题是:本发明针对以上问题,提供一种基于NVRAM存储系统直接纠删码的优化方法。
本发明所采用的技术方案为:
基于NVRAM存储系统直接纠删码的优化方法,所述方法针对Write队列中的操作,先判断该操作是否是纠删码条带对齐的操作;如果是纠删码条带对齐的操作,则将该操作生成相应的事务并提交,继续判断提交纠删码对齐的事务;如果该操作不是纠删码条带对齐的操作,则该操作将不会提交,等到之前的所有操作处理完成后;再读取源数据补齐为纠删码条带对齐的操作再提交。
该方法主要优化待处理Write队列中的操作提交方式;不再单纯的将Write队列中的操作进行串行化提交,而是根据Write队列中的操作是否为纠删条带对齐的操作进行并行化提交;这样可以避免由于串行化提交导致存储系统后端IO压力不够,从而发挥海量存储系统的处理IO的能力,充分发挥硬件的性能。
所述方法通过三个部分:预处理模块、判断模块、提交模块实现,其中:
预处理模块:当海量存储系统的服务器端收到客户端发送的操作,预处理模块首先对这些操作进行预处理,判断这些操作的参数是否正确,以及计算操作影响数据的范围等;如果不满足条件,则直接返回给客户端,否则直接压入操作队列;
判断模块:预处理模块完成之后流程进入判断模块,在判断模块中对客户端发送的请求操作进行判断处理,根据操作对数据的影响范围来判断该操作是否为纠删码条带对齐的操作,非对齐的操作需要读取源数据补充成对齐的操作;
提交模块:循环处理Write队列中的操作,如果为纠删码条带对齐的操作,则将该操作内存中的数据生成相应的事务,提交给海量存储系统后端,并继续处理Write队列中的后续的操作;如果是非纠删码条带对齐的操作,则该操作需要等待之前的所有操作落盘成功后,再读取源数据补齐为对齐的操作并提交,直到Write队列中的操作提交完成。
所述方法主要在软件层面实现,具体流程如下:
1)客户端发送操作请求;
2)预处理模块判断客户端的操作是否合法;
3)判断模块根据这些操作影响的数据的范围信息判断是否为纠删码条带对齐的操作;
4)提交模块,根据判断模块的结果循环处理Write队列中的操作,如果为纠删码条带对齐的操作则生成相应的事务并提交,再继续处理后续的操作;如果为非纠删码条带对齐的操作,则等待该操作之前的所有操作落盘成功后,再读取源数据补齐为纠删码条带对齐的操作继续提交,直到Write队列中所有的操作提交完成。
基于NVRAM存储系统直接纠删码的优化系统,所述系统包括三个部分:预处理模块、判断模块、提交模块,其中:
预处理模块:当NVRAM海量存储系统的服务器端收到客户端发送的操作,预处理模块首先对这些操作进行预处理,判断这些操作的参数是否正确,以及计算操作影响数据的范围;如果不满足条件,则直接返回给客户端,否则直接压入操作队列;
判断模块:预处理模块完成之后流程进入判断模块,在判断模块中对客户端发送的请求操作进行判断处理,根据操作对数据的影响范围来判断该操作是否为纠删码条带对齐的操作,非对齐的操作需要读取源数据补充成对齐的操作;
提交模块:循环处理Write队列中的操作,如果为纠删码条带对齐的操作,则将该操作内存中的数据生成相应的事务,提交给海量存储系统后端,并继续处理Write队列中的后续的操作;如果是非纠删码条带对齐的操作,则该操作需要等待之前的所有操作落盘成功后,再读取源数据补齐为对齐的操作并提交,直到Write队列中的操作提交完成。
本发明的有益效果为:
本发明由原来的串行化处理操作优化成并行提交多个纠删条带对齐的操作;优化方法既能够保证客户端操作的顺序性,又能够提高写入效率,可以避免由于串行化提交导致存储系统后端IO压力不够,从而发挥海量存储系统的处理读写IO的能力。
附图说明
图1为本发明方法流程图。
具体实施方式
下面根据说明书附图,结合具体实施方式对本发明进一步说明:
实施例1
基于NVRAM存储系统直接纠删码的优化方法,所述方法针对Write队列中的操作,先判断该操作是否是纠删码条带对齐的操作;如果是纠删码条带对齐的操作,则将该操作生成相应的事务并提交,继续判断提交纠删码对齐的事务;如果该操作不是纠删码条带对齐的操作,则该操作将不会提交,等到之前的所有操作处理完成后;再读取源数据补齐为纠删码条带对齐的操作再提交。
该方法主要优化待处理Write队列中的操作提交方式;不再单纯的将Write队列中的操作进行串行化提交,而是根据Write队列中的操作是否为纠删条带对齐的操作进行并行化提交;这样可以避免由于串行化提交导致存储系统后端IO压力不够,从而发挥海量存储系统的处理IO的能力,充分发挥硬件的性能。
实施例2
在实施例1的基础上,本实施例所述方法通过三个部分:预处理模块、判断模块、提交模块实现,其中:
预处理模块:当海量存储系统的服务器端收到客户端发送的操作,预处理模块首先对这些操作进行预处理,判断这些操作的参数是否正确,以及计算操作影响数据的范围等;如果不满足条件,则直接返回给客户端,否则直接压入操作队列;
判断模块:预处理模块完成之后流程进入判断模块,在判断模块中对客户端发送的请求操作进行判断处理,根据操作对数据的影响范围来判断该操作是否为纠删码条带对齐的操作,非对齐的操作需要读取源数据补充成对齐的操作;
提交模块:循环处理Write队列中的操作,如果为纠删码条带对齐的操作,则将该操作内存中的数据生成相应的事务,提交给海量存储系统后端,并继续处理Write队列中的后续的操作;如果是非纠删码条带对齐的操作,则该操作需要等待之前的所有操作落盘成功后,再读取源数据补齐为对齐的操作并提交,直到Write队列中的操作提交完成。
实施例3
如图1所示,在实施例2的基础上,本实施例所述方法主要在软件层面实现,具体流程如下:
1)客户端发送操作请求;
2)预处理模块判断客户端的操作是否合法;
3)判断模块根据这些操作影响的数据的范围信息判断是否为纠删码条带对齐的操作;
4)提交模块,根据判断模块的结果循环处理Write队列中的操作,如果为纠删码条带对齐的操作则生成相应的事务并提交,再继续处理后续的操作;如果为非纠删码条带对齐的操作,则等待该操作之前的所有操作落盘成功后,再读取源数据补齐为纠删码条带对齐的操作继续提交,直到Write队列中所有的操作提交完成。
实施例4
基于NVRAM存储系统直接纠删码的优化系统,所述系统包括三个部分:预处理模块、判断模块、提交模块,其中:
预处理模块:当NVRAM海量存储系统的服务器端收到客户端发送的操作,预处理模块首先对这些操作进行预处理,判断这些操作的参数是否正确,以及计算操作影响数据的范围;如果不满足条件,则直接返回给客户端,否则直接压入操作队列;
判断模块:预处理模块完成之后流程进入判断模块,在判断模块中对客户端发送的请求操作进行判断处理,根据操作对数据的影响范围来判断该操作是否为纠删码条带对齐的操作,非对齐的操作需要读取源数据补充成对齐的操作;
提交模块:循环处理Write队列中的操作,如果为纠删码条带对齐的操作,则将该操作内存中的数据生成相应的事务,提交给海量存储系统后端,并继续处理Write队列中的后续的操作;如果是非纠删码条带对齐的操作,则该操作需要等待之前的所有操作落盘成功后,再读取源数据补齐为对齐的操作并提交,直到Write队列中的操作提交完成。
实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。
Claims (4)
1.基于NVRAM存储系统直接纠删码的优化方法,其特征在于,所述方法针对Write队列中的操作,先判断该操作是否是纠删码条带对齐的操作;如果是纠删码条带对齐的操作,则将该操作生成相应的事务并提交,继续判断提交纠删码对齐的事务;如果该操作不是纠删码条带对齐的操作,则该操作将不会提交,等到之前的所有操作处理完成后;再读取源数据补齐为纠删码条带对齐的操作再提交。
2.根据权利要求1所述的基于NVRAM存储系统直接纠删码的优化方法,其特征在于,所述方法通过三个部分:预处理模块、判断模块、提交模块实现,其中:
预处理模块:当NVRAM海量存储系统的服务器端收到客户端发送的操作,预处理模块首先对这些操作进行预处理,判断这些操作的参数是否正确,以及计算操作影响数据的范围;如果不满足条件,则直接返回给客户端,否则直接压入操作队列;
判断模块:预处理模块完成之后流程进入判断模块,在判断模块中对客户端发送的请求操作进行判断处理,根据操作对数据的影响范围来判断该操作是否为纠删码条带对齐的操作,非对齐的操作需要读取源数据补充成对齐的操作;
提交模块:循环处理Write队列中的操作,如果为纠删码条带对齐的操作,则将该操作内存中的数据生成相应的事务,提交给海量存储系统后端,并继续处理Write队列中的后续的操作;如果是非纠删码条带对齐的操作,则该操作需要等待之前的所有操作落盘成功后,再读取源数据补齐为对齐的操作并提交,直到Write队列中的操作提交完成。
3.根据权利要求2所述的基于NVRAM存储系统直接纠删码的优化方法,其特征在于,所述方法主要在软件层面实现,具体流程如下:
1)客户端发送操作请求;
2)预处理模块判断客户端的操作是否合法;
3)判断模块根据这些操作影响的数据的范围信息判断是否为纠删码条带对齐的操作;
4)提交模块,根据判断模块的结果循环处理Write队列中的操作,如果为纠删码条带对齐的操作则生成相应的事务并提交,再继续处理后续的操作;如果为非纠删码条带对齐的操作,则等待该操作之前的所有操作落盘成功后,再读取源数据补齐为纠删码条带对齐的操作继续提交,直到Write队列中所有的操作提交完成。
4.基于NVRAM存储系统直接纠删码的优化系统,其特征在于,所述系统包括三个部分:预处理模块、判断模块、提交模块,其中:
预处理模块:当NVRAM海量存储系统的服务器端收到客户端发送的操作,预处理模块首先对这些操作进行预处理,判断这些操作的参数是否正确,以及计算操作影响数据的范围;如果不满足条件,则直接返回给客户端,否则直接压入操作队列;
判断模块:预处理模块完成之后流程进入判断模块,在判断模块中对客户端发送的请求操作进行判断处理,根据操作对数据的影响范围来判断该操作是否为纠删码条带对齐的操作,非对齐的操作需要读取源数据补充成对齐的操作;
提交模块:循环处理Write队列中的操作,如果为纠删码条带对齐的操作,则将该操作内存中的数据生成相应的事务,提交给海量存储系统后端,并继续处理Write队列中的后续的操作;如果是非纠删码条带对齐的操作,则该操作需要等待之前的所有操作落盘成功后,再读取源数据补齐为对齐的操作并提交,直到Write队列中的操作提交完成。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611109316.XA CN106445423A (zh) | 2016-12-06 | 2016-12-06 | 基于nvram存储系统直接纠删码的优化方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611109316.XA CN106445423A (zh) | 2016-12-06 | 2016-12-06 | 基于nvram存储系统直接纠删码的优化方法和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106445423A true CN106445423A (zh) | 2017-02-22 |
Family
ID=58222819
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611109316.XA Pending CN106445423A (zh) | 2016-12-06 | 2016-12-06 | 基于nvram存储系统直接纠删码的优化方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106445423A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107608820A (zh) * | 2017-09-26 | 2018-01-19 | 郑州云海信息技术有限公司 | 一种基于纠删码的文件写入方法及相关装置 |
CN109992445A (zh) * | 2019-04-11 | 2019-07-09 | 苏州浪潮智能科技有限公司 | 一种修改写操作的处理方法、装置、电子设备及存储介质 |
CN110515541A (zh) * | 2019-07-29 | 2019-11-29 | 西安交通大学 | 分布式存储中纠删码非对齐数据更新方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102063270A (zh) * | 2010-12-28 | 2011-05-18 | 成都市华为赛门铁克科技有限公司 | 一种写操作方法及装置 |
US20120185727A1 (en) * | 2011-01-17 | 2012-07-19 | Doe Hyun Yoon | Computing system reliability |
CN102681793A (zh) * | 2012-04-16 | 2012-09-19 | 华中科技大学 | 一种基于纠删码集群存储系统的局部式数据更新方法 |
CN105183384A (zh) * | 2015-09-10 | 2015-12-23 | 浪潮(北京)电子信息产业有限公司 | 一种直接纠删的实现方法及装置 |
CN105302660A (zh) * | 2015-11-06 | 2016-02-03 | 湖南安存科技有限公司 | 面向分布式存储系统带流检测技术的纠删码写缓冲方法 |
-
2016
- 2016-12-06 CN CN201611109316.XA patent/CN106445423A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102063270A (zh) * | 2010-12-28 | 2011-05-18 | 成都市华为赛门铁克科技有限公司 | 一种写操作方法及装置 |
US20120185727A1 (en) * | 2011-01-17 | 2012-07-19 | Doe Hyun Yoon | Computing system reliability |
CN102681793A (zh) * | 2012-04-16 | 2012-09-19 | 华中科技大学 | 一种基于纠删码集群存储系统的局部式数据更新方法 |
CN105183384A (zh) * | 2015-09-10 | 2015-12-23 | 浪潮(北京)电子信息产业有限公司 | 一种直接纠删的实现方法及装置 |
CN105302660A (zh) * | 2015-11-06 | 2016-02-03 | 湖南安存科技有限公司 | 面向分布式存储系统带流检测技术的纠删码写缓冲方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107608820A (zh) * | 2017-09-26 | 2018-01-19 | 郑州云海信息技术有限公司 | 一种基于纠删码的文件写入方法及相关装置 |
CN107608820B (zh) * | 2017-09-26 | 2020-08-21 | 苏州浪潮智能科技有限公司 | 一种基于纠删码的文件写入方法及相关装置 |
CN109992445A (zh) * | 2019-04-11 | 2019-07-09 | 苏州浪潮智能科技有限公司 | 一种修改写操作的处理方法、装置、电子设备及存储介质 |
CN110515541A (zh) * | 2019-07-29 | 2019-11-29 | 西安交通大学 | 分布式存储中纠删码非对齐数据更新方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11704665B2 (en) | Method and system for offline data transfer via machine-readable code | |
US20190188657A1 (en) | Method and system for outside guarantees for a blockchain transaction | |
CN104714972B (zh) | 数据库分表建立及查询方法 | |
US20080016300A1 (en) | Asynchronous replication with write concurrency grouping | |
CN106445423A (zh) | 基于nvram存储系统直接纠删码的优化方法和系统 | |
CN107038182B (zh) | 分表数据的完备性检查方法及装置 | |
US12106268B2 (en) | System and method for detection and validation of electronic data feeds | |
US11934371B2 (en) | Data processing method and apparatus, and computer-readable storage medium | |
JP2017523513A (ja) | データ記憶方法、データ照会方法、およびそれらの装置 | |
CN105260136A (zh) | 数据读写方法及分布式存储系统 | |
CN103095686A (zh) | 热点元数据访问控制方法和服务器 | |
CN101639763B (zh) | 一种io调度方法及调度装置 | |
CN105183384B (zh) | 一种直接纠删的实现方法及装置 | |
WO2023277819A3 (zh) | 数据处理方法、系统、设备、计算机程序产品及存储功能 | |
EP3823253A3 (en) | Data processing method for mini app, apparatus, device, medium, and computer program product | |
CN106406760B (zh) | 基于云储存的直接纠删码优化方法及系统 | |
CN103034553A (zh) | 一种报表设计器智能验证的算法、方法及装置 | |
CN105556462A (zh) | 写入文件和文件元数据 | |
CN107678680A (zh) | 分布式块存储系统中纠删码并发io的方法及存储装置 | |
CN111465929B (zh) | 用于内容不可知文件标引的方法及系统 | |
CN104572638A (zh) | 数据读写方法及装置 | |
CN110928923A (zh) | 一种基于区块链的数据存储方法及系统 | |
US20230327890A1 (en) | Hiding Proof-of-Space in Blockchain Systems | |
US10108340B2 (en) | Method and system for a common processing framework for memory device controllers | |
US20140244681A1 (en) | Optimization of join queries for related data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170222 |