CN109992445B - 一种修改写操作的处理方法、装置、电子设备及存储介质 - Google Patents
一种修改写操作的处理方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN109992445B CN109992445B CN201910290092.4A CN201910290092A CN109992445B CN 109992445 B CN109992445 B CN 109992445B CN 201910290092 A CN201910290092 A CN 201910290092A CN 109992445 B CN109992445 B CN 109992445B
- Authority
- CN
- China
- Prior art keywords
- data
- erasure
- new data
- parts
- nvram
- 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
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 19
- 238000012937 correction Methods 0.000 claims abstract description 68
- 238000000034 method Methods 0.000 claims abstract description 37
- 238000012545 processing Methods 0.000 claims abstract description 31
- 230000002159 abnormal effect Effects 0.000 claims abstract description 21
- 238000004422 calculation algorithm Methods 0.000 claims description 21
- 230000004048 modification Effects 0.000 claims description 14
- 238000012986 modification Methods 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 13
- 238000004364 calculation method Methods 0.000 claims description 6
- 238000011084 recovery Methods 0.000 abstract description 4
- 230000009286 beneficial effect Effects 0.000 abstract description 2
- 230000008569 process Effects 0.000 description 9
- 230000005856 abnormality Effects 0.000 description 6
- 230000009471 action Effects 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
Images
Classifications
-
- 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
- G06F11/1092—Rebuilding, e.g. when physically replacing a failing disk
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
- H03M13/154—Error and erasure correction, e.g. by using the error and erasure locator or Forney polynomial
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本申请公开了一种修改写操作的处理方法:通过新增于每个存储设备上的NVRAM来接收包含K+M份新数据的修改写操作,该NVRAM作为一个自带电源的高速缓存,不会因异常掉电出现数据丢失,因此也就无需在纠删条带对齐的情况下从K+M份原数据所处的存储设备中取回K+M份原数据来保证数据一致性,显著减少了读写操作的执行次数;即使纠删条带非对齐时需要取回原数据,由于不是用作数据恢复,因此只需要取回任意的K份即可,减少了执行读写操作时的数据量。相比于现有技术,减少了读写操作的执行或数据量,随之减低了对设备性能造成的影响。本申请还同时公开了一种修改写操作的处理装置、电子设备及计算机可读存储介质,具有上述有益效果。
Description
技术领域
本申请涉及分布式存储技术领域,特别涉及一种修改写操作的处理方法、装置、电子设备及计算机可读存储介质。
背景技术
纠删(Erasure Coding,EC)算法是一种数据保护方法,它将一定长度(Stripe_Width)的数据分割成K份,用K份数据通过特定的算法计算出M份冗余的校验块,将这K+M份数据存分别储在不同的位置,比如不同的磁盘、存储节点或者其它地理位置。在实际使用时,只需要K+M份中的任意K份数据就可以恢复出完整的源数据。
由于K份数据块和M块效验块分别分布在不同的存储介质上,当需要修改某部分源数据时,现有技术首先将与包含于修改写操作中的K+M份新数据对应的K+M份原数据取至本地磁盘,再将K+M份新数据写入对应K+M份原数据所处的存储设备中。这一过程中共包括一次读操作和两次写操作,一次读操作指的是从各存储设备中读取K+M原份数据的操作,两次写操作分别为将读取到的K+M份原数据写入本地磁盘的一个临时存储空间和将K+M份新数据写入对应存储设备。之所以需要将K+M份原数据先读取至本地磁盘,不仅仅处于纠删条带对齐的考虑,主要是为了防止从磁盘中将K+M份新数据分别写入对应存储设备的过程中,因磁盘异常掉电使得位于磁盘写缓存中的一些新数据丢失,最终导致无法将全部新数据写入对应的存储设备中,从而导致不满足数据一致性,因此当出现这种情况时,还能够使用预先读取来的K+M份原数据实现恢复。
按照上述过程执行的修改写操作,将会因为读写次数较多而严重影响设备性能,在修改次数较多时尤为明显。
因此,如何减少现有技术中为防止出现数据一致性问题需要较多次数的读写操作来完成一次修改写操作对设备性能造成的影响,是本领域技术人员亟待解决的问题。
发明内容
本申请的目的在于提供一种修改写操作的处理方法、装置、电子设备及计算机可读存储介质,旨在减少现有技术中为防止出现数据一致性问题需要较多次数的读写操作来完成一次修改写操作对设备性能造成的影响。
为实现上述目的,本申请提供一种修改写操作的处理方法,该方法包括:
利用预设在每个存储设备上的NVRAM接收客户端发来的修改写操作;
判断所述修改写操作中包含的K+M份新数据是否满足纠删条带对齐要求;其中,K为根据纠删算法将完整文件拆分为多个数据块的个数,M为利用所述纠删算法从K个数据块中计算得到的校验块的个数;
若满足所述纠删条带对齐要求,则将所述K+M份新数据分别写进对应的K+M份原数据所处的存储设备中;
若未满足所述纠删条带对齐要求,则将与所述K+M份新数据所处纠删条带对应的K+M份原数据中的任意K份原数据读取至所述NVRAM,并使用所述K+M份新数据替换所述K+M份原数据中的相同部分,且将替换后得到的K+M份新数据分别写进所述K+M份原数据所处的存储设备中。
可选的,判断所述修改写操作中包含的K+M份新数据是否满足纠删条带对齐要求,包括:
根据所述纠删算法确定出每个纠删条带的数据长度信息;
获取所述K+M份新数据在所述完整文件中的数据位置信息;
判断所述数据位置信息是否重合于其中一个纠删条带的数据长度信息;
若所述数据位置信息与一个纠删条带的数据长度信息重合,则判定所述K+M份新数据满足所述纠删条带对齐要求;
若所述数据位置信息与任意一个纠删条带的数据长度信息均不重合,则判定所述K+M份新数据不满足所述纠删条带对齐要求。
可选的,该处理方法还包括:
采集所述NVRAM的工作状态信息;其中,所述工作状态信息包括每次所述修改写操作的处理时长、可用存储空间的大小、满足和不满足所述纠删条带对齐要求的次数中的至少一项;
根据所述工作状态信息确定所述NVRAM的工作状态;
当所述NVRAM的工作状态为异常状态时,通过预设路径发送异常提示信息。
可选的,该处理方法还包括:
将每个所述修改写操作中包含的K+M份新数据在预设磁盘中备份存储预设时长。
为实现上述目的,本申请还提供了一种修改写操作的处理装置,包括:
修改写操作接收单元,用于利用预设在每个存储设备上的NVRAM接收客户端发来的修改写操作;
条带对齐判别单元,用于判断所述修改写操作中包含的K+M份新数据是否满足纠删条带对齐要求;其中,K为根据纠删算法将完整文件拆分为多个数据块的个数,M为利用所述纠删算法从K个数据块中计算得到的校验块的个数;
对齐处理单元,用于当满足所述纠删条带对齐要求时,将所述K+M份新数据分别写进对应的K+M份原数据所处的存储设备中;
非对齐处理单元,用于当未满足所述纠删条带对齐要求时,将与所述K+M份新数据所处纠删条带对应的K+M份原数据中的任意K份原数据读取至所述NVRAM,并使用所述K+M份新数据替换所述K+M份原数据中的相同部分,且将替换后得到的K+M份新数据分别写进所述K+M份原数据所处的存储设备中。
可选的,所述条带对齐判别单元包括:
数据长度信息确定子单元,用于根据所述纠删算法确定出每个纠删条带的数据长度信息;
数据位置信息确定子单元,用于获取所述K+M份新数据在所述完整文件中的数据位置信息;
重合判断子单元,用于判断所述数据位置信息是否重合于其中一个纠删条带的数据长度信息;
条带对齐判定子单元,用于当所述数据位置信息与一个纠删条带的数据长度信息重合时,判定所述K+M份新数据满足所述纠删条带对齐要求;
条带不对齐判定子单元,用于当所述数据位置信息与任意一个纠删条带的数据长度信息均不重合时,判定所述K+M份新数据不满足所述纠删条带对齐要求。
可选的,该处理装置还包括:
工作状态信息采集单元,用于采集所述NVRAM的工作状态信息;其中,所述工作状态信息包括每次所述修改写操作的处理时长、可用存储空间的大小、满足和不满足所述纠删条带对齐要求的次数中的至少一项;
工作状态确定单元,用于根据所述工作状态信息确定所述NVRAM的工作状态;
异常状态处理单元,用于当所述NVRAM的工作状态为异常状态时,通过预设路径发送异常提示信息。
可选的,该处理装置还包括:
冗余备份单元,用于将每个所述修改写操作中包含的K+M份新数据在预设磁盘中备份存储预设时长。
为实现上述目的,本申请还提供了一种电子设备,该电子设备包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上述内容所描述的修改写操作的处理方法。
为实现上述目的,本申请还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述内容所描述的修改写操作的处理方法。
显然,本申请所提供的修改写操作的处理方法:通过新增于每个存储设备上的NVRAM来接收包含K+M份新数据的修改写操作,该NVRAM作为一个自带电源的高速缓存,不会因异常掉电出现数据丢失,因此也就无需在纠删条带对齐的情况下从K+M份原数据所处的存储设备中取回K+M份原数据来保证数据一致性,显著减少了读写操作的执行次数;即使纠删条带非对齐时需要取回原数据,由于不是用作数据恢复,因此只需要取回任意的K份即可,减少了执行读写操作时的数据量。相比于现有技术,减少了读写操作的执行或数据量,随之减低了对设备性能造成的影响。
本申请同时还提供了一种修改写操作的处理装置、电子设备及计算机可读存储介质,具有上述有益效果,在此不再赘述。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的一种修改写操作的处理方法的流程图;
图2为本申请实施例提供的修改写操作的处理方法中一种判别是否满足纠删条带对齐要求的方法的流程图;
图3为本申请实施例提供的一种NVRAM的工作状态监测及异常提示的方法的流程图;
图4为本申请实施例提供的一种修改写操作的处理装置的结构框图。
具体实施方式
本申请的目的在于提供一种修改写操作的处理方法、装置、电子设备及计算机可读存储介质,旨在减少现有技术中为防止出现数据一致性问题需要较多次数的读写操作来完成一次修改写操作对设备性能造成的影响。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
实施例一
请参见图1,图1为本申请实施例提供的一种修改写操作的处理方法的流程图,其包括以下步骤:
S101:利用预设在每个存储设备上的NVRAM接收客户端发来的修改写操作;
本步骤旨在用NVRAM接收客户端发来的修改写操作,该NVRAM是本申请为了实现上述目的相比于现有技术新增的一个电子设备,被预先设置在每个存储设备上。
其中,NVRAM(Non-Volatile Random Access Memory,非易失性随机访问存储器)是一种不会因掉电导致存储在其中的数据丢失的RAM(Random Access Memory,随机访问存储器),常规的RAM通常都为掉电易失的易失性随机访问存储器。且本申请所使用的NVRAM还自带电源,使得该MVRAM即使在存储设备异常掉电时也能够妥善的保存数据。
需要说明的是,属于ROM(Read-Only Memory,只读存储器)的磁盘虽然也具有掉电不易失的特性,那是因为其是将数据写在了固态的磁碟中,但在实际工作过程中,为了加快存储速度,磁盘中还具有一定大小的写缓存,将实际存储在磁盘的过程,实际是先将数据写在磁盘的写缓存中,再从写缓从中转移到磁盘中。写缓存的存储介质是一种闪存芯片(一种掉电易失的RAM),相比磁碟具有更快的数据读写速度。但由于闪存芯片具有的掉电易失性,使得一旦磁盘出现异常掉电,存储在写缓存中的数据将会因掉电易失的特性被全部清空,使得数据丢失,这也正是现有技术需要保护数据一致性的原因。
为解决这一问题,本申请针对性的使用了NVRAM,一种具有掉电不易失特性的RAM来存储包含于修改写操作中的K+M份新数据,由于这K+M份新数据不会因为异常掉电出现丢失问题,也就无需为防止出现数据一致性问题多做一些额外的保障步骤,且相比于ROM的数据读写速度,RAM的数据读写速度高于其几个数量级,使得即使执行相同的操作耗时也会更短。
S102:判断修改写操作中包含的K+M份新数据是否满足纠删条带对齐要求;
在S101的基础上,本步骤旨在判断修改写操作中包含的K+M份新数据是否满足纠删条带对齐要求。其中,纠删条带对齐是指包含于修改写操作中的K+M份新数据是否对应与按照纠删算法分割出的每个数据块或计算得到的校验块的大小,即是否在替换时是采用完全替换还是部分替换。
为方便理解,将通过举例说明:假设一个8K大小的完整文件,在4K对齐的条件下,会得到两个4K大小的数据,其中的一个对应原完整文件8K中的1K~4K的部分,另一个对应原完整文件8K中的5K~8K部分。按照2+1的纠删规则,每个4K大小的数据会被首先分割为2个2K大小的数据块,再根据纠删算法从这2个2K的数据块中计算得到1个校验块,因此每个4K大小的数据都会得到2+1份数据。而假设此时修改写操作修改的是该8K大小的完整文件的1K~4K部分,也就是说需要完全替换从原1K~4K数据计算得到的2+1份数据,此种情况被称为纠删条带对齐;若修改写操作仅修改的是该8K大小的完整文件的1K~2K部分的数据,也就是并不能完全替换从原K~4K数据计算得到的2+1份数据,还需要保留原3K~4K的部分,此种情况被称为纠删条带不对齐。
简单的来说,是否满足纠删条带对齐要求是指本次修改写操作对应的文件大小是否满足最小拆分单元。
S103:将K+M份新数据分别写进对应的K+M份原数据所处的存储设备中;
本步骤建立在S102的判断结果为满足纠删条带对齐要求的基础上,因为满足纠删条带对齐要求,则说明最小单位完整,可以完全替换,因此无需取回K+M份原数据来做不完全部分的整合,直接将K+M份新数据分别写进对应的K+M份原数据所处的存储设备中即可。
S104:将与K+M份新数据所处纠删条带对应的K+M份原数据中的任意K份原数据读取至NVRAM;
本步骤建立在S102的判断结果为不满足纠删条带对齐要求的基础上,就如在S102所举的例子,因为不满足纠删条带对齐要求,因此无法直接采用完全替换的方式来进行,因为包含于修改写操作中的K+M份数据只是最小单元中的一部分,就如上面例子中的1K~2K部分,因此还需要结合原数据将其补齐为完整的最小单元。因此在此种情况下,首先需要将与K+M份新数据所处纠删条带对应的K+M份原数据中的任意K份原数据读取至NVRAM,任意K份是因为M份的校验块需要重新计算得到,因此无需全部取回,而不像现有技术中用于数据恢复时需要全部保留。
S105:使用K+M份新数据替换取回的K份原数据中的相同部分,并将替换后得到的K+M份新数据分别写进K+M份原数据所处的存储设备中。
在S104的基础上,在将K+M份原数据中的任意K份读取至NVRAM之后,本步骤就是使用K+M份新数据替换K份原数据中的相同部分,并将替换后得到的K+M份新数据分别写进K+M份原数据所处的存储设备中。需要说明的是,由于取回的K份原数据均是完整的最小单元,替换后只是将最小单元中需要修改的部分使用K+M份新数据进行替换而已,不需要修改的部分会得到保留,得到的K+M份新数据也是完整的最小单元。
为了防止意外出现,还可以进一步的将每个修改写操作中包含的K+M份新数据在预设磁盘中备份存储预设时长,以通过备份的防止未知因素引起的数据丢失问题,在原有安全机制上增加一把锁。备份存储的时长可以根据根据实际应用场景具体设置,此处不做具体限定。
本实施例通过新增于每个存储设备上的NVRAM来接收包含K+M份新数据的修改写操作,该NVRAM作为一个自带电源的高速缓存,不会因异常掉电出现数据丢失,因此也就无需在纠删条带对齐的情况下从K+M份原数据所处的存储设备中取回K+M份原数据来保证数据一致性,显著减少了读写操作的执行次数;即使纠删条带非对齐时需要取回原数据,由于不是用作数据恢复,因此只需要取回任意的K份即可,减少了执行读写操作时的数据量。相比于现有技术,减少了读写操作的执行或数据量,减低了对设备性能造成的影响。
实施例二
请参见图2,图2为本申请实施例提供的修改写操作的处理方法中一种判别是否满足纠删条带对齐要求的方法的流程图,在实施例一的基础上,本实施例旨在提供一种具体的判别是否满足纠删条带对齐要求的方法,较为简单、更易实现,包括以下步骤:
S201:根据纠删算法确定出每个纠删条带的数据长度信息;
为方便理解,举例说明,沿用之前的例子,一个8K大小的完整文件,按照4K的对齐要求,将分出两个纠删条带,第一个的数据长度信息为1K~4K,第二个的数据长度信息为5K~8K。
S202:获取K+M份新数据在完整文件中的数据位置信息;
假定包含于修改写操作中的K+M份新数据在完整文件中的1K~2K部分,这1K~2K就是本步骤描述的数据位置信息。
S203:判断数据位置信息是否重合于其中一个纠删条带的数据长度信息;
本步骤旨在判断该数据位置信息是否重合于某个纠删条带的数据长度信息。
S204:判定K+M份新数据满足纠删条带对齐要求;
假定该K+M份新数据的数据位置信息为1K~4K,因此会与第一个纠删条带的长度信息完全重合,说明该K+M份新数据是修改的一个最小单元,可以通过完全替换的方式来替换。
S205:判定K+M份新数据不满足纠删条带对齐要求。
按照上面所举的例子,由于1K~2K落在了第一个纠删条带的长度信息1K~4K中,是其中的一部分,无法按照完全替换的问题,因此不满足重合的判别要求。
实施例三
请参见图3,图3为本申请实施例提供的一种NVRAM的工作状态监测及异常提示的方法的流程图,在上述任一实施例的基础上,本实施例还提供了一种NVRAM的工作状态监测及异常提示的方法,用于保障NVRAM的持续正常运行,包括如下步骤:
S301:采集NVRAM的工作状态信息;
工作状态信息可以包括每次修改写操作的处理时长、可用存储空间的大小、满足和不满足纠删条带对齐要求的次数,以及其它任何可以表征其工作状态情况的一些参数,此处并不做具体限定,可以根据实际情况灵活选择。
S302:根据工作状态信息确定NVRAM的工作状态;
在S301的基础上,本步骤旨在根据工作状态信息确定NVRAM的工作状态,具体的分析过程可以结合历史工作状态、阈值或其它可行方式来实现,此处并不做具体限定。
S303:当NVRAM的工作状态为异常状态时,通过预设路径发送异常提示信息。
在S302的基础上,本步骤旨在当NVRAM的工作状态为异常状态时,通过预设路径及时的发送异常提示信息,以使得接收到该异常提示信息的工作人员能够及时的修复异常来保障该NVRAM的安全、持续运行。
因为情况复杂,无法一一列举进行阐述,本领域技术人员应能意识到根据本申请提供的基本方法原理结合实际情况可以存在很多的例子,在不付出足够的创造性劳动下,应均在本申请的保护范围内。
实施例四
下面请参见图4,图4为本申请实施例提供的一种修改写操作的处理装置的结构框图,该装置可以包括:
修改写操作接收单元100,用于利用预设在每个存储设备上的NVRAM接收客户端发来的修改写操作;
条带对齐判别单元200,用于判断修改写操作中包含的K+M份新数据是否满足纠删条带对齐要求;其中,K为根据纠删算法将完整文件拆分为多个数据块的个数,M为利用纠删算法从K个数据块中计算得到的校验块的个数;
对齐处理单元300,用于当满足纠删条带对齐要求时,将K+M份新数据分别写进对应的K+M份原数据所处的存储设备中;
非对齐处理单元400,用于当未满足纠删条带对齐要求时,则将与K+M份新数据所处纠删条带对应的K+M份原数据中的任意K份原数据读取至NVRAM,并使用K+M份新数据替换K+M份原数据中的相同部分,且将替换后得到的K+M份新数据分别写进K+M份原数据所处的存储设备中。
其中,条带对齐判别单元200可以包括:
数据长度信息确定子单元,用于根据纠删算法确定出每个纠删条带的数据长度信息;
数据位置信息确定子单元,用于获取K+M份新数据在完整文件中的数据位置信息;
重合判断子单元,用于判断数据位置信息是否重合于其中一个纠删条带的数据长度信息;
条带对齐判定子单元,用于当数据位置信息与一个纠删条带的数据长度信息重合时,判定K+M份新数据满足纠删条带对齐要求;
条带不对齐判定子单元,用于当数据位置信息与任意一个纠删条带的数据长度信息均不重合时,判定K+M份新数据不满足纠删条带对齐要求。
进一步的,该处理装置还可以包括:
工作状态信息采集单元,用于采集NVRAM的工作状态信息;其中,工作状态信息包括每次修改写操作的处理时长、可用存储空间的大小、满足和不满足纠删条带对齐要求的次数中的至少一项;
工作状态确定单元,用于根据工作状态信息确定NVRAM的工作状态;
异常状态处理单元,用于当NVRAM的工作状态为异常状态时,通过预设路径发送异常提示信息。
更进一步的,该处理装置还可以包括:
冗余备份单元,用于将每个修改写操作中包含的K+M份新数据在预设磁盘中备份存储预设时长。
基于上述实施例,本申请还提供了一种电子设备,该电子设备可以包括存储器和处理器,其中,该存储器中存有计算机程序,该处理器调用该存储器中的计算机程序时,可以实现上述实施例所提供的修改写操作的处理方法中的各步骤。当然,该电子设备装置还可以包括各种必要的网络接口、电源以及其它零部件等。
本申请还提供了一种计算机可读存储介质,其上存有计算机程序,该计算机程序被执行终端或处理器执行时可以实现上述实施例所提供的修改写操作的处理方法中的各步骤。该存储介质可以包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其它变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (8)
1.一种修改写操作的处理方法,其特征在于,包括:
利用预设在每个存储设备上的NVRAM接收客户端发来的修改写操作;
判断所述修改写操作中包含的K+M份新数据是否满足纠删条带对齐要求;其中,K为根据纠删算法将完整文件拆分为多个数据块的个数,M为利用所述纠删算法从K个数据块中计算得到的校验块的个数;
若满足所述纠删条带对齐要求,则将所述K+M份新数据分别写进对应的K+M份原数据所处的存储设备中;
若未满足所述纠删条带对齐要求,则将与所述K+M份新数据所处纠删条带对应的K+M份原数据中的任意K份原数据读取至所述NVRAM,并使用所述K+M份新数据替换所述K+M份原数据中的相同部分,且将替换后得到的K+M份新数据分别写进所述K+M份原数据所处的存储设备中;
还包括:
采集所述NVRAM的工作状态信息;其中,所述工作状态信息包括每次所述修改写操作的处理时长、可用存储空间的大小、满足和不满足所述纠删条带对齐要求的次数中的至少一项;
根据所述工作状态信息确定所述NVRAM的工作状态;
当所述NVRAM的工作状态为异常状态时,通过预设路径发送异常提示信息。
2.根据权利要求1所述的处理方法,其特征在于,判断所述修改写操作中包含的K+M份新数据是否满足纠删条带对齐要求,包括:
根据所述纠删算法确定出每个纠删条带的数据长度信息;
获取所述K+M份新数据在所述完整文件中的数据位置信息;
判断所述数据位置信息是否重合于其中一个纠删条带的数据长度信息;
若所述数据位置信息与一个纠删条带的数据长度信息重合,则判定所述K+M份新数据满足所述纠删条带对齐要求;
若所述数据位置信息与任意一个纠删条带的数据长度信息均不重合,则判定所述K+M份新数据不满足所述纠删条带对齐要求。
3.根据权利要求2所述的处理方法,其特征在于,还包括:
将每个所述修改写操作中包含的K+M份新数据在预设磁盘中备份存储预设时长。
4.一种修改写操作的处理装置,其特征在于,包括:
修改写操作接收单元,用于利用预设在每个存储设备上的NVRAM接收客户端发来的修改写操作;
条带对齐判别单元,用于判断所述修改写操作中包含的K+M份新数据是否满足纠删条带对齐要求;其中,K为根据纠删算法将完整文件拆分为多个数据块的个数,M为利用所述纠删算法从K个数据块中计算得到的校验块的个数;
对齐处理单元,用于当满足所述纠删条带对齐要求,将所述K+M份新数据分别写进对应的K+M份原数据所处的存储设备中;
非对齐处理单元,用于当未满足所述纠删条带对齐要求时,将与所述K+M份新数据所处纠删条带对应的K+M份原数据中的任意K份原数据读取至所述NVRAM,并使用所述K+M份新数据替换所述K+M份原数据中的相同部分,且将替换后得到的K+M份新数据分别写进所述K+M份原数据所处的存储设备中;
还包括:
工作状态信息采集单元,用于采集所述NVRAM的工作状态信息;其中,所述工作状态信息包括每次所述修改写操作的处理时长、可用存储空间的大小、满足和不满足所述纠删条带对齐要求的次数中的至少一项;
工作状态确定单元,用于根据所述工作状态信息确定所述NVRAM的工作状态;
异常状态处理单元,用于当所述NVRAM的工作状态为异常状态时,通过预设路径发送异常提示信息。
5.根据权利要求4所述的处理装置,其特征在于,所述条带对齐判别单元包括:
数据长度信息确定子单元,用于根据所述纠删算法确定出每个纠删条带的数据长度信息;
数据位置信息确定子单元,用于获取所述K+M份新数据在所述完整文件中的数据位置信息;
重合判断子单元,用于判断所述数据位置信息是否重合于其中一个纠删条带的数据长度信息;
条带对齐判定子单元,用于当所述数据位置信息与一个纠删条带的数据长度信息重合时,判定所述K+M份新数据满足所述纠删条带对齐要求;
条带不对齐判定子单元,用于当所述数据位置信息与任意一个纠删条带的数据长度信息均不重合时,判定所述K+M份新数据不满足所述纠删条带对齐要求。
6.根据权利要求5所述的处理装置,其特征在于,还包括:
冗余备份单元,用于将每个所述修改写操作中包含的K+M份新数据在预设磁盘中备份存储预设时长。
7.一种电子设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至3任一项所述的修改写操作的处理方法。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至3任一项所述的修改写操作的处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910290092.4A CN109992445B (zh) | 2019-04-11 | 2019-04-11 | 一种修改写操作的处理方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910290092.4A CN109992445B (zh) | 2019-04-11 | 2019-04-11 | 一种修改写操作的处理方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109992445A CN109992445A (zh) | 2019-07-09 |
CN109992445B true CN109992445B (zh) | 2020-10-02 |
Family
ID=67133318
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910290092.4A Active CN109992445B (zh) | 2019-04-11 | 2019-04-11 | 一种修改写操作的处理方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109992445B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112825052A (zh) * | 2019-11-20 | 2021-05-21 | 华为技术有限公司 | 确定条带一致性的方法及装置 |
CN111858126B (zh) * | 2020-07-29 | 2022-07-22 | 苏州浪潮智能科技有限公司 | 一种基于k+m纠删集群的数据处理方法及装置 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102063270B (zh) * | 2010-12-28 | 2012-09-19 | 成都市华为赛门铁克科技有限公司 | 一种写操作方法及装置 |
CN105843557B (zh) * | 2016-03-24 | 2019-03-08 | 天津书生云科技有限公司 | 冗余存储系统、冗余存储方法和冗余存储装置 |
AU2013392020B2 (en) * | 2013-08-09 | 2015-11-05 | Xfusion Digital Technologies Co., Ltd. | File processing method and storage device |
CN106445423A (zh) * | 2016-12-06 | 2017-02-22 | 郑州云海信息技术有限公司 | 基于nvram存储系统直接纠删码的优化方法和系统 |
CN106598772A (zh) * | 2016-12-13 | 2017-04-26 | 郑州云海信息技术有限公司 | 基于nvram的直接纠删码实现方法及海量存储系统 |
CN108052294B (zh) * | 2017-12-26 | 2021-05-28 | 郑州云海信息技术有限公司 | 一种分布式存储系统的修改写方法和修改写系统 |
CN108958964A (zh) * | 2018-06-27 | 2018-12-07 | 郑州云海信息技术有限公司 | 一种数据修改方法、装置、设备及可读存储介质 |
-
2019
- 2019-04-11 CN CN201910290092.4A patent/CN109992445B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN109992445A (zh) | 2019-07-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108646982B (zh) | 一种基于ubifs的数据自动修复方法及装置 | |
CN111158599B (zh) | 一种写数据的方法、装置、设备及存储介质 | |
CN105468479B (zh) | 一种磁盘阵列raid坏块处理方法及装置 | |
US8996826B2 (en) | Techniques for system recovery using change tracking | |
US10387280B2 (en) | Reporting defects in a flash memory back-up system | |
CN109992445B (zh) | 一种修改写操作的处理方法、装置、电子设备及存储介质 | |
CN111046024B (zh) | 一种共享存储数据库的数据处理方法、装置、设备及介质 | |
CN107992268B (zh) | 一种坏块标记的方法及相关装置 | |
CN110597779A (zh) | 一种分布式文件系统中的数据读写方法及相关装置 | |
CN108874312B (zh) | 数据存储方法以及存储设备 | |
CN112214175A (zh) | 数据处理方法、装置、数据节点及存储介质 | |
CN105426268B (zh) | 一种防止继电保护装置断电时文件系统损坏的方法 | |
CN108089892A (zh) | 一种系统安全启动的方法、装置、机顶盒及存储介质 | |
CN107329699B (zh) | 一种纠删重写方法及系统 | |
CN107391312B (zh) | 数据云备份方法及系统 | |
CN110729014A (zh) | Ssd存储擦除计数表备份的方法、装置、计算机设备及存储介质 | |
CN115878381A (zh) | 基于srm盘的数据恢复方法及装置、存储介质、电子装置 | |
CN109144766B (zh) | 一种数据存储、重构方法和装置、及电子设备 | |
CN110795155B (zh) | 系统启动方法及装置、电子设备、存储介质 | |
US7353348B2 (en) | Nonvolatile memory and card reader provided with the same | |
CN111124752A (zh) | 一种存储设备的备电保护的方法及装置 | |
CN111104256A (zh) | 一种数据读取方法、装置、设备及存储介质 | |
CN111124740A (zh) | 一种数据读取方法、装置、存储设备及机器可读存储介质 | |
CN105204780A (zh) | 信息处理方法、固态硬盘及电子设备 | |
CN109960472B (zh) | 基于Flash的嵌入式文件系统及文件系统操作方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |