CN112947858B - 一种raid 5校验值的更新方法、装置和介质 - Google Patents
一种raid 5校验值的更新方法、装置和介质 Download PDFInfo
- Publication number
- CN112947858B CN112947858B CN202110211375.2A CN202110211375A CN112947858B CN 112947858 B CN112947858 B CN 112947858B CN 202110211375 A CN202110211375 A CN 202110211375A CN 112947858 B CN112947858 B CN 112947858B
- Authority
- CN
- China
- Prior art keywords
- data
- check value
- updated
- rule
- new
- 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
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
- 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
- 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/064—Management of blocks
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本发明实施例公开了一种RAID 5校验值的更新方法、装置和介质,获取数据条带的更新指令;更新指令中携带有待更新数据块的新状态值。待更新数据块在数据条带中的占比不同,以及数据条带的使用状态不同其对应的校验值更新方式有所差异。依据所有待更新数据块在数据条带的占比以及数据条带的使用状态,可以从建立的规则库中查询相匹配的校验值更新规则;利用校验值更新规则,对待更新数据块的新状态值进行处理,以得到数据条带的新校验值。与基于所有数据块的状态值对数据条带的校验值进行更新的方式相比,本申请依赖于校验值更新规则对待更新数据块的新状态值进行处理,可以实现数据条带校验值的更新,提升了校验值更新的效率。
Description
技术领域
本发明涉及存储设备技术领域,特别是涉及一种RAID 5校验值的更新方法、装置和计算机可读存储介质。
背景技术
RAID 5是一种存储性能、数据安全和存储成本兼顾的存储解决方案。RAID 5可以理解为是RAID 0和RAID 1的折中方案。RAID 5可以为系统提供数据安全保障。RAID 5具有和RAID 0相近似的数据读取速度,只是多了一个奇偶校验信息,写入数据的速度比对单个磁盘进行写入操作稍慢。同时由于多个数据对应一个奇偶校验信息,RAID5的磁盘空间利用率要比RAID 1高,存储成本相对较低,是目前运用较多的一种解决方案。
一个RAID 5阵列往往包含有多个数据条带,每个数据条带有其对应的数据块状态向量表,在该数据块状态向量表中记录有各数据块的状态值,以及数据条带的校验值。当数据条带中某个数据块出现异常时,依据校验值以及剩余数据块的状态值,可以确定出出现异常的数据块原本对应的状态值,从而决定是否需要对出现异常的数据块进行重建。校验值是执行数据条带恢复的重要依据。
传统方式中对于校验值的确定是将数据条带中所有数据块的状态值进行异或运算,将运算结果作为数据条带的校验值。每次对数据块执行读写操作后,都需要重新读取数据条带中所有数据块的状态值,从而确定出校验值,更新校验值的计算量往往较大,导致校验值的更新效率较低。
可见,如何提升RAID 5校验值的更新效率,是本领域技术人员需要解决的问题。
发明内容
本发明实施例的目的是提供一种RAID 5校验值的更新方法、装置和计算机可读存储介质,可以提升RAID 5校验值的更新效率。
为解决上述技术问题,本发明实施例提供一种RAID 5校验值的更新方法,包括:
获取数据条带的更新指令;其中,所述更新指令中携带有待更新数据块的新状态值;
依据所有所述待更新数据块在数据条带的占比以及所述数据条带的使用状态,从建立的规则库中查询相匹配的校验值更新规则;
利用所述校验值更新规则,对所述待更新数据块的新状态值进行处理,以得到所述数据条带的新校验值。
可选地,所述规则库包括占比为零且数据条带未使用时对应的第一校验值更新规则;占比为零且数据条带已使用时对应的第二校验值更新规则;占比不为零且占比满足预设条件时对应的第三校验值更新规则;占比不为零且占比不满足预设条件时对应的第四校验值更新规则;
其中,所述第一校验值更新规则为依据所有所述待更新数据块的新状态值,确定出所述数据条带的新校验值;所述第二校验值更新规则为依据所述数据条带的原校验值和所有所述待更新数据块的新状态值,确定出所述数据条带的新校验值;所述第三校验值更新规则为依据所述数据条带中无需更新的数据块的状态值和所有所述待更新数据块的新状态值,确定出所述数据条带的新校验值;所述第四校验值更新规则为依据所述数据条带的原校验值、所有所述待更新数据块的原状态值和所有所述待更新数据块的新状态值,确定出所述数据条带的新校验值。
可选地,所述依据所有所述待更新数据块在数据条带的占比以及所述数据条带的使用状态,从建立的规则库中查询相匹配的校验值更新规则包括:
判断所有所述待更新数据块是否在数据条带中均为空;
若所有所述待更新数据块在数据条带中均为空,则判断所述数据条带是否被使用;
若所述数据条带未被使用,则从所述规则库中获取第一校验值更新规则;
若所述数据条带已被使用,则从所述规则库中获取第二校验值更新规则;
若所有所述待更新数据块在数据条带中不均为空,则统计待更新数据块在数据条带中为空的第一个数值以及待更新数据块在数据条带中非空的第二个数值;
若第一个数值小于或等于所述第二个数值,则从所述规则库中获取第三校验值更新规则;
若第一个数值大于所述第二个数值,则从所述规则库中获取第四校验值更新规则。
可选地,当所述校验值更新规则为第一校验值更新规则时,相应的,所述利用所述校验值更新规则,对所述待更新数据块的新状态值进行处理,以得到所述数据条带的新校验值包括:
将所有所述待更新数据块的新状态值进行异或运算,将运算结果作为所述数据条带的新校验值。
可选地,当所述校验值更新规则为第二校验值更新规则时,相应的,所述利用所述校验值更新规则,对所述待更新数据块的新状态值进行处理,以得到所述数据条带的新校验值包括:
获取所述数据条带的原校验值;
将所述原校验值和所有所述待更新数据块的新状态值进行异或运算,将运算结果作为所述数据条带的新校验值。
可选地,当所述校验值更新规则为第三校验值更新规则时,相应的,所述利用所述校验值更新规则,对所述待更新数据块的新状态值进行处理,以得到所述数据条带的新校验值包括:
获取所述数据条带中无需更新的数据块的状态值;
对所述数据条带中无需更新的数据块的状态值和所有所述待更新数据块的新状态值进行异或运算,将运算结果作为所述数据条带的新校验值。
可选地,当所述校验值更新规则为第四校验值更新规则时,相应的,所述利用所述校验值更新规则,对所述待更新数据块的新状态值进行处理,以得到所述数据条带的新校验值包括:
获取所述数据条带的原校验值以及所有所述待更新数据块的原状态值;
对所述数据条带的原校验值、所有所述待更新数据块的原状态值和所有所述待更新数据块的新状态值进行异或运算,将运算结果作为所述数据条带的新校验值。
本发明实施例还提供了一种RAID 5校验值的更新装置,包括获取单元、查询单元和处理单元;
所述获取单元,用于获取数据条带的更新指令;其中,所述更新指令中携带有待更新数据块的新状态值;
所述查询单元,用于依据所有所述待更新数据块在数据条带的占比以及所述数据条带的使用状态,从建立的规则库中查询相匹配的校验值更新规则;
所述处理单元,用于利用所述校验值更新规则,对所述待更新数据块的新状态值进行处理,以得到所述数据条带的新校验值。
可选地,所述规则库包括占比为零且数据条带未使用时对应的第一校验值更新规则;占比为零且数据条带已使用时对应的第二校验值更新规则;占比不为零且占比满足预设条件时对应的第三校验值更新规则;占比不为零且占比不满足预设条件时对应的第四校验值更新规则;
其中,所述第一校验值更新规则为依据所有所述待更新数据块的新状态值,确定出所述数据条带的新校验值;所述第二校验值更新规则为依据所述数据条带的原校验值和所有所述待更新数据块的新状态值,确定出所述数据条带的新校验值;所述第三校验值更新规则为依据所述数据条带中无需更新的数据块的状态值和所有所述待更新数据块的新状态值,确定出所述数据条带的新校验值;所述第四校验值更新规则为依据所述数据条带的原校验值、所有所述待更新数据块的原状态值和所有所述待更新数据块的新状态值,确定出所述数据条带的新校验值。
可选地,所述查询单元包括第一判断子单元、第二判断子单元、第一获取子单元、第二获取子单元、统计子单元、第三获取子单元和第四获取子单元;
所述第一判断子单元,用于判断所有所述待更新数据块是否在数据条带中均为空;
所述第二判断子单元,用于若所有所述待更新数据块在数据条带中均为空,则判断所述数据条带是否被使用;
所述第一获取子单元,用于若所述数据条带未被使用,则从所述规则库中获取第一校验值更新规则;
所述第二获取子单元,用于若所述数据条带已被使用,则从所述规则库中获取第二校验值更新规则;
所述统计子单元,用于若所有所述待更新数据块在数据条带中不均为空,则统计待更新数据块在数据条带中为空的第一个数值以及待更新数据块在数据条带中非空的第二个数值;
所述第三获取子单元,用于若第一个数值小于或等于所述第二个数值,则从所述规则库中获取第三校验值更新规则;
所述第四获取子单元,用于若第一个数值大于所述第二个数值,则从所述规则库中获取第四校验值更新规则。
可选地,当所述校验值更新规则为第一校验值更新规则时,相应的,所述处理单元用于将所有所述待更新数据块的新状态值进行异或运算,将运算结果作为所述数据条带的新校验值。
可选地,当所述校验值更新规则为第二校验值更新规则时,相应的,所述处理单元用于获取所述数据条带的原校验值;将所述原校验值和所有所述待更新数据块的新状态值进行异或运算,将运算结果作为所述数据条带的新校验值。
可选地,当所述校验值更新规则为第三校验值更新规则时,相应的,所述处理单元用于获取所述数据条带中无需更新的数据块的状态值;对所述数据条带中无需更新的数据块的状态值和所有所述待更新数据块的新状态值进行异或运算,将运算结果作为所述数据条带的新校验值。
可选地,当所述校验值更新规则为第四校验值更新规则时,相应的,所述处理单元用于获取所述数据条带的原校验值以及所有所述待更新数据块的原状态值;对所述数据条带的原校验值、所有所述待更新数据块的原状态值和所有所述待更新数据块的新状态值进行异或运算,将运算结果作为所述数据条带的新校验值。
本发明实施例还提供了一种RAID 5校验值的更新装置,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序以实现如上述任意一项所述RAID 5校验值的更新方法的步骤。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任意一项所述RAID 5校验值的更新方法的步骤。
由上述技术方案可以看出,获取数据条带的更新指令;其中,更新指令中携带有待更新数据块的新状态值。待更新数据块在数据条带中的占比不同,以及数据条带的使用状态不同其对应的校验值更新方式有所差异,在实际应用中,可以将待更新数据块在数据条带中的不同占比以及数据条带在不同使用状态下对应的校验值更新方式以规则的形式进行汇总,以建立规则库。依据所有待更新数据块在数据条带的占比以及数据条带的使用状态,可以从建立的规则库中查询相匹配的校验值更新规则;利用校验值更新规则,对待更新数据块的新状态值进行处理,以得到数据条带的新校验值。与传统技术中基于所有数据块的状态值对数据条带的校验值进行更新的方式相比,本申请依赖于校验值更新规则对待更新数据块的新状态值进行处理,可以实现数据条带校验值的更新,本申请降低了校验值更新的计算量,提升了校验值更新的效率。
附图说明
为了更清楚地说明本发明实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种RAID 5校验值的更新方法的流程图;
图2为本发明实施例提供的一种RAID 5校验值的更新装置的结构示意图;
图3为本发明实施例提供的一种RAID 5校验值的更新装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本发明保护范围。
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。
接下来,详细介绍本发明实施例所提供的一种RAID 5校验值的更新方法。图1为本发明实施例提供的一种RAID 5校验值的更新方法的流程图,该方法包括:
S101:获取数据条带的更新指令。
其中,更新指令中携带有待更新数据块的新状态值。
一个数据条带可以包含多个数据块。在实际应用中,可以采用状态值表征数据块中是否存储有数据。为了便于介绍,在本发明实施例中,采用数字“1”和“0”作为状态值,例如,数字“1”表示数据块中存储有数据,数字“0”表示数据块未存储数据。
S102:依据所有待更新数据块在数据条带的占比以及数据条带的使用状态,从建立的规则库中查询相匹配的校验值更新规则。
待更新数据块在数据条带中的占比不同,以及数据条带的使用状态不同其对应的校验值更新方式会有所差异。在实际应用中,可以将待更新数据块在数据条带中的不同占比以及数据条带在不同使用状态下对应的校验值更新方式以规则的形式进行汇总,以建立规则库。
在实际应用中,规则库可以包括占比为零且数据条带未使用时对应的第一校验值更新规则;占比为零且数据条带已使用时对应的第二校验值更新规则;占比不为零且占比满足预设条件时对应的第三校验值更新规则;占比不为零且占比不满足预设条件时对应的第四校验值更新规则。
占比可以依据需要更新的数据块中已经在数据条带中存储有数据的数据块个数设置。占比为零,则说明需要更新的数据块在数据条带中并未存储数据。占比不为零,则说明需要更新的至少一个数据块在数据条带中已经存储了数据。
占比是否满足预设条件可以依据待更新数据块在数据条带中为空的个数与待更新数据块在数据条带中非空的个数的比值关系设置。例如,可以在待更新数据块在数据条带中为空的个数小于或等于待更新数据块在数据条带中非空的个数时,调用第三校验值更新规则;在待更新数据块在数据条带中为空的个数大于待更新数据块在数据条带中非空的个数时,调用第四校验值更新规则。
其中,第一校验值更新规则为依据所有待更新数据块的新状态值,确定出数据条带的新校验值;第二校验值更新规则为依据数据条带的原校验值和所有待更新数据块的新状态值,确定出数据条带的新校验值;第三校验值更新规则为依据数据条带中无需更新的数据块的状态值和所有待更新数据块的新状态值,确定出数据条带的新校验值;第四校验值更新规则为依据数据条带的原校验值、所有待更新数据块的原状态值和所有待更新数据块的新状态值,确定出数据条带的新校验值。
在具体实现中,当获取到携带有待更新数据块的新状态值的更新指令时,可以判断所有待更新数据块是否在数据条带中均为空。
若所有待更新数据块在数据条带中均为空,则说明待更新数据块在数据条带中并未存储数据即占比为零,此时可以进一步判断数据条带是否被使用。
若所有待更新数据块在数据条带中均为空并且数据条带未被使用,则可以从规则库中获取第一校验值更新规则。
若所有待更新数据块在数据条带中均为空并且数据条带已被使用,则从规则库中获取第二校验值更新规则。
若所有待更新数据块在数据条带中不均为空,则说明待更新数据块在数据条带中存储有数据即占比不为零,此时可以统计待更新数据块在数据条带中为空的第一个数值以及待更新数据块在数据条带中非空的第二个数值。
若第一个数值小于或等于第二个数值,则从规则库中获取第三校验值更新规则;若第一个数值大于第二个数值,则从规则库中获取第四校验值更新规则。
S103:利用校验值更新规则,对待更新数据块的新状态值进行处理,以得到数据条带的新校验值。
结合上述介绍的四种校验值更新规则,当校验值更新规则为第一校验值更新规则时,可以将所有待更新数据块的新状态值进行异或运算,将运算结果作为数据条带的新校验值。
以数据条带包含6个数据块为例,这6个数据块的状态值分别用d0至d5表示;Di表示待更新数据块的新状态值;P0表示数据条带的原校验值,P0'表示数据条带的新校验值。
假设,当前待更新数据块的新状态值为D0和D1,则表示需要将数据块d0和d1更新为D0和D1。如果待更新数据块D0和D1在数据条带中并未存储数据,并且数据条带未被使用,此时可以按照计算新校验值,其中,表示异或运算。
当校验值更新规则为第二校验值更新规则时,可以获取数据条带的原校验值;将原校验值和所有待更新数据块的新状态值进行异或运算,将运算结果作为数据条带的新校验值。
假设,当前待更新数据块的新状态值为D0和D1,则表示需要将数据块d0和d1更新为D0和D1。如果待更新数据块D0和D1在数据条带中并未存储数据,但是数据条带中其它数据块已经被使用,此时可以按照计算新校验值。
当校验值更新规则为第三校验值更新规则时,可以获取数据条带中无需更新的数据块的状态值;对数据条带中无需更新的数据块的状态值和所有待更新数据块的新状态值进行异或运算,将运算结果作为数据条带的新校验值。
假设,当前待更新数据块的新状态值为D0和D1,则表示需要将数据块d0和d1更新为D0和D1。如果至少一个待更新数据块D0和D1在数据条带中存储有数据,并且数据条带上第三个数据块上存储有数据,第三个数据块的状态值为d2,可以统计待更新数据块在数据条带中为空的个数,用rcw表示;统计待更新数据块在数据条带中非空的个数,用rmw表示。此时rcw≤rmw,可以按照计算新校验值。
当校验值更新规则为第四校验值更新规则时,可以获取数据条带的原校验值以及所有待更新数据块的原状态值;对数据条带的原校验值、所有待更新数据块的原状态值和所有待更新数据块的新状态值进行异或运算,将运算结果作为数据条带的新校验值。
假设,当前待更新数据块的新状态值为D0和D1,则表示需要将数据块d0和d1更新为D0和D1。如果至少一个待更新数据块D0和D1在数据条带中存储有数据,并且数据条带上所有数据块全部存储有数据,此时rcw>rmw,可以按照计算新校验值。
由上述技术方案可以看出,获取数据条带的更新指令;其中,更新指令中携带有待更新数据块的新状态值。待更新数据块在数据条带中的占比不同,以及数据条带的使用状态不同其对应的校验值更新方式有所差异,在实际应用中,可以将待更新数据块在数据条带中的不同占比以及数据条带在不同使用状态下对应的校验值更新方式以规则的形式进行汇总,以建立规则库。依据所有待更新数据块在数据条带的占比以及数据条带的使用状态,可以从建立的规则库中查询相匹配的校验值更新规则;利用校验值更新规则,对待更新数据块的新状态值进行处理,以得到数据条带的新校验值。与传统技术中基于所有数据块的状态值对数据条带的校验值进行更新的方式相比,本申请依赖于校验值更新规则对待更新数据块的新状态值进行处理,可以实现数据条带校验值的更新,本申请降低了校验值更新的计算量,提升了校验值更新的效率。
图2为本发明实施例提供的一种RAID 5校验值的更新装置的结构示意图,包括获取单元21、查询单元22和处理单元23;
获取单元21,用于获取数据条带的更新指令;其中,更新指令中携带有待更新数据块的新状态值;
查询单元22,用于依据所有待更新数据块在数据条带的占比以及数据条带的使用状态,从建立的规则库中查询相匹配的校验值更新规则;
处理单元23,用于利用校验值更新规则,对待更新数据块的新状态值进行处理,以得到数据条带的新校验值。
可选地,规则库包括占比为零且数据条带未使用时对应的第一校验值更新规则;占比为零且数据条带已使用时对应的第二校验值更新规则;占比不为零且占比满足预设条件时对应的第三校验值更新规则;占比不为零且占比不满足预设条件时对应的第四校验值更新规则;
其中,第一校验值更新规则为依据所有待更新数据块的新状态值,确定出数据条带的新校验值;第二校验值更新规则为依据数据条带的原校验值和所有待更新数据块的新状态值,确定出数据条带的新校验值;第三校验值更新规则为依据数据条带中无需更新的数据块的状态值和所有待更新数据块的新状态值,确定出数据条带的新校验值;第四校验值更新规则为依据数据条带的原校验值、所有待更新数据块的原状态值和所有待更新数据块的新状态值,确定出数据条带的新校验值。
可选地,查询单元包括第一判断子单元、第二判断子单元、第一获取子单元、第二获取子单元、统计子单元、第三获取子单元和第四获取子单元;
第一判断子单元,用于判断所有待更新数据块是否在数据条带中均为空;
第二判断子单元,用于若所有待更新数据块在数据条带中均为空,则判断数据条带是否被使用;
第一获取子单元,用于若数据条带未被使用,则从规则库中获取第一校验值更新规则;
第二获取子单元,用于若数据条带已被使用,则从规则库中获取第二校验值更新规则;
统计子单元,用于若所有待更新数据块在数据条带中不均为空,则统计待更新数据块在数据条带中为空的第一个数值以及待更新数据块在数据条带中非空的第二个数值;
第三获取子单元,用于若第一个数值小于或等于第二个数值,则从规则库中获取第三校验值更新规则;
第四获取子单元,用于若第一个数值大于第二个数值,则从规则库中获取第四校验值更新规则。
可选地,当校验值更新规则为第一校验值更新规则时,相应的,处理单元用于将所有待更新数据块的新状态值进行异或运算,将运算结果作为数据条带的新校验值。
可选地,当校验值更新规则为第二校验值更新规则时,相应的,处理单元用于获取数据条带的原校验值;将原校验值和所有待更新数据块的新状态值进行异或运算,将运算结果作为数据条带的新校验值。
可选地,当校验值更新规则为第三校验值更新规则时,相应的,处理单元用于获取数据条带中无需更新的数据块的状态值;对数据条带中无需更新的数据块的状态值和所有待更新数据块的新状态值进行异或运算,将运算结果作为数据条带的新校验值。
可选地,当校验值更新规则为第四校验值更新规则时,相应的,处理单元用于获取数据条带的原校验值以及所有待更新数据块的原状态值;对数据条带的原校验值、所有待更新数据块的原状态值和所有待更新数据块的新状态值进行异或运算,将运算结果作为数据条带的新校验值。
图2所对应实施例中特征的说明可以参见图1所对应实施例的相关说明,这里不再一一赘述。
由上述技术方案可以看出,获取数据条带的更新指令;其中,更新指令中携带有待更新数据块的新状态值。待更新数据块在数据条带中的占比不同,以及数据条带的使用状态不同其对应的校验值更新方式有所差异,在实际应用中,可以将待更新数据块在数据条带中的不同占比以及数据条带在不同使用状态下对应的校验值更新方式以规则的形式进行汇总,以建立规则库。依据所有待更新数据块在数据条带的占比以及数据条带的使用状态,可以从建立的规则库中查询相匹配的校验值更新规则;利用校验值更新规则,对待更新数据块的新状态值进行处理,以得到数据条带的新校验值。与传统技术中基于所有数据块的状态值对数据条带的校验值进行更新的方式相比,本申请依赖于校验值更新规则对待更新数据块的新状态值进行处理,可以实现数据条带校验值的更新,本申请降低了校验值更新的计算量,提升了校验值更新的效率。
图3为本发明实施例提供的一种RAID 5校验值的更新装置30的硬件结构示意图,包括:
存储器31,用于存储计算机程序;
处理器32,用于执行计算机程序以实现如上述任意实施例所述的RAID 5校验值的更新方法的步骤。
本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述任意实施例所述的RAID 5校验值的更新方法的步骤。
以上对本发明实施例所提供的一种RAID 5校验值的更新方法、装置和计算机可读存储介质进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
Claims (9)
1.一种RAID 5校验值的更新方法,其特征在于,包括:
获取数据条带的更新指令;其中,所述更新指令中携带有待更新数据块的新状态值;
依据所有所述待更新数据块在数据条带的占比以及所述数据条带的使用状态,从建立的规则库中查询相匹配的校验值更新规则;
利用所述校验值更新规则,对所述待更新数据块的新状态值进行处理,以得到所述数据条带的新校验值;
所述规则库包括占比为零且数据条带未使用时对应的第一校验值更新规则;占比为零且数据条带已使用时对应的第二校验值更新规则;占比不为零且占比满足预设条件时对应的第三校验值更新规则;占比不为零且占比不满足预设条件时对应的第四校验值更新规则;
其中,所述第一校验值更新规则为依据所有所述待更新数据块的新状态值,确定出所述数据条带的新校验值;所述第二校验值更新规则为依据所述数据条带的原校验值和所有所述待更新数据块的新状态值,确定出所述数据条带的新校验值;所述第三校验值更新规则为依据所述数据条带中无需更新的数据块的状态值和所有所述待更新数据块的新状态值,确定出所述数据条带的新校验值;所述第四校验值更新规则为依据所述数据条带的原校验值、所有所述待更新数据块的原状态值和所有所述待更新数据块的新状态值,确定出所述数据条带的新校验值。
2.根据权利要求1所述的RAID 5校验值的更新方法,其特征在于,所述依据所有所述待更新数据块在数据条带的占比以及所述数据条带的使用状态,从建立的规则库中查询相匹配的校验值更新规则包括:
判断所有所述待更新数据块是否在数据条带中均为空;
若所有所述待更新数据块在数据条带中均为空,则判断所述数据条带是否被使用;
若所述数据条带未被使用,则从所述规则库中获取第一校验值更新规则;
若所述数据条带已被使用,则从所述规则库中获取第二校验值更新规则;
若所有所述待更新数据块在数据条带中不均为空,则统计待更新数据块在数据条带中为空的第一个数值以及待更新数据块在数据条带中非空的第二个数值;
若第一个数值小于或等于所述第二个数值,则从所述规则库中获取第三校验值更新规则;
若第一个数值大于所述第二个数值,则从所述规则库中获取第四校验值更新规则。
3.根据权利要求2所述的RAID 5校验值的更新方法,其特征在于,当所述校验值更新规则为第一校验值更新规则时,相应的,所述利用所述校验值更新规则,对所述待更新数据块的新状态值进行处理,以得到所述数据条带的新校验值包括:
将所有所述待更新数据块的新状态值进行异或运算,将运算结果作为所述数据条带的新校验值。
4.根据权利要求2所述的RAID 5校验值的更新方法,其特征在于,当所述校验值更新规则为第二校验值更新规则时,相应的,所述利用所述校验值更新规则,对所述待更新数据块的新状态值进行处理,以得到所述数据条带的新校验值包括:
获取所述数据条带的原校验值;
将所述原校验值和所有所述待更新数据块的新状态值进行异或运算,将运算结果作为所述数据条带的新校验值。
5.根据权利要求2所述的RAID 5校验值的更新方法,其特征在于,当所述校验值更新规则为第三校验值更新规则时,相应的,所述利用所述校验值更新规则,对所述待更新数据块的新状态值进行处理,以得到所述数据条带的新校验值包括:
获取所述数据条带中无需更新的数据块的状态值;
对所述数据条带中无需更新的数据块的状态值和所有所述待更新数据块的新状态值进行异或运算,将运算结果作为所述数据条带的新校验值。
6.根据权利要求2所述的RAID 5校验值的更新方法,其特征在于,当所述校验值更新规则为第四校验值更新规则时,相应的,所述利用所述校验值更新规则,对所述待更新数据块的新状态值进行处理,以得到所述数据条带的新校验值包括:
获取所述数据条带的原校验值以及所有所述待更新数据块的原状态值;
对所述数据条带的原校验值、所有所述待更新数据块的原状态值和所有所述待更新数据块的新状态值进行异或运算,将运算结果作为所述数据条带的新校验值。
7.一种RAID 5校验值的更新装置,其特征在于,包括获取单元、查询单元和处理单元;
所述获取单元,用于获取数据条带的更新指令;其中,所述更新指令中携带有待更新数据块的新状态值;
所述查询单元,用于依据所有所述待更新数据块在数据条带的占比以及所述数据条带的使用状态,从建立的规则库中查询相匹配的校验值更新规则;
所述处理单元,用于利用所述校验值更新规则,对所述待更新数据块的新状态值进行处理,以得到所述数据条带的新校验值;
所述规则库包括占比为零且数据条带未使用时对应的第一校验值更新规则;占比为零且数据条带已使用时对应的第二校验值更新规则;占比不为零且占比满足预设条件时对应的第三校验值更新规则;占比不为零且占比不满足预设条件时对应的第四校验值更新规则;其中,所述第一校验值更新规则为依据所有所述待更新数据块的新状态值,确定出所述数据条带的新校验值;所述第二校验值更新规则为依据所述数据条带的原校验值和所有所述待更新数据块的新状态值,确定出所述数据条带的新校验值;所述第三校验值更新规则为依据所述数据条带中无需更新的数据块的状态值和所有所述待更新数据块的新状态值,确定出所述数据条带的新校验值;所述第四校验值更新规则为依据所述数据条带的原校验值、所有所述待更新数据块的原状态值和所有所述待更新数据块的新状态值,确定出所述数据条带的新校验值。
8.一种RAID 5校验值的更新装置,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序以实现如权利要求1至6任意一项所述RAID 5校验值的更新方法的步骤。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6任意一项所述RAID 5校验值的更新方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110211375.2A CN112947858B (zh) | 2021-02-25 | 2021-02-25 | 一种raid 5校验值的更新方法、装置和介质 |
PCT/CN2022/074066 WO2022179377A1 (zh) | 2021-02-25 | 2022-01-26 | 一种raid 5校验值的更新方法、装置和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110211375.2A CN112947858B (zh) | 2021-02-25 | 2021-02-25 | 一种raid 5校验值的更新方法、装置和介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112947858A CN112947858A (zh) | 2021-06-11 |
CN112947858B true CN112947858B (zh) | 2023-04-25 |
Family
ID=76246192
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110211375.2A Active CN112947858B (zh) | 2021-02-25 | 2021-02-25 | 一种raid 5校验值的更新方法、装置和介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN112947858B (zh) |
WO (1) | WO2022179377A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112947858B (zh) * | 2021-02-25 | 2023-04-25 | 浪潮电子信息产业股份有限公司 | 一种raid 5校验值的更新方法、装置和介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014010077A1 (ja) * | 2012-07-13 | 2014-01-16 | 富士通株式会社 | ディスクアレイ制御装置、ディスクアレイ制御方法及びディスクアレイ制御プログラム |
CN106788468A (zh) * | 2016-11-28 | 2017-05-31 | 北京三快在线科技有限公司 | 一种纠删码更新方法及装置,电子设备 |
CN108717383A (zh) * | 2018-04-03 | 2018-10-30 | 华为技术有限公司 | 一种更新校验块的方法和设备 |
CN108776665A (zh) * | 2018-04-20 | 2018-11-09 | 北京奇艺世纪科技有限公司 | 一种数据处理方法及装置 |
CN110147289A (zh) * | 2018-02-13 | 2019-08-20 | 北京京东尚科信息技术有限公司 | 异常消息筛选方法和装置以及计算机可读存储介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5522032A (en) * | 1994-05-05 | 1996-05-28 | International Business Machines Corporation | Raid level 5 with free blocks parity cache |
US6282671B1 (en) * | 1998-11-10 | 2001-08-28 | International Business Machines Corporation | Method and system for improved efficiency of parity calculation in RAID system |
CN110568993B (zh) * | 2019-08-06 | 2022-04-12 | 新华三技术有限公司成都分公司 | 一种数据更新方法及相关装置 |
CN110618895B (zh) * | 2019-09-29 | 2023-06-09 | 北京天融信网络安全技术有限公司 | 一种基于纠删码的数据更新方法、装置和存储介质 |
CN112947858B (zh) * | 2021-02-25 | 2023-04-25 | 浪潮电子信息产业股份有限公司 | 一种raid 5校验值的更新方法、装置和介质 |
-
2021
- 2021-02-25 CN CN202110211375.2A patent/CN112947858B/zh active Active
-
2022
- 2022-01-26 WO PCT/CN2022/074066 patent/WO2022179377A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014010077A1 (ja) * | 2012-07-13 | 2014-01-16 | 富士通株式会社 | ディスクアレイ制御装置、ディスクアレイ制御方法及びディスクアレイ制御プログラム |
CN106788468A (zh) * | 2016-11-28 | 2017-05-31 | 北京三快在线科技有限公司 | 一种纠删码更新方法及装置,电子设备 |
CN110147289A (zh) * | 2018-02-13 | 2019-08-20 | 北京京东尚科信息技术有限公司 | 异常消息筛选方法和装置以及计算机可读存储介质 |
CN108717383A (zh) * | 2018-04-03 | 2018-10-30 | 华为技术有限公司 | 一种更新校验块的方法和设备 |
CN108776665A (zh) * | 2018-04-20 | 2018-11-09 | 北京奇艺世纪科技有限公司 | 一种数据处理方法及装置 |
Non-Patent Citations (1)
Title |
---|
基于网络负载的自适应闪存阵列设计与实现;杨龙;《中国优秀硕士学位论文全文数据库》;20170315;第18-21页 * |
Also Published As
Publication number | Publication date |
---|---|
CN112947858A (zh) | 2021-06-11 |
WO2022179377A1 (zh) | 2022-09-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109597647B (zh) | 数据处理方法及设备 | |
US20030088542A1 (en) | System and methods for display of time-series data distribution | |
US20160246852A1 (en) | Systems and Methods for Quantile Estimation in a Distributed Data System | |
US9507833B2 (en) | Systems and methods for quantile determination in a distributed data system | |
CN107357639B (zh) | 一种分布式处理系统、数据处理的方法及设备 | |
CN112947858B (zh) | 一种raid 5校验值的更新方法、装置和介质 | |
CN112764993A (zh) | 一种节点信息收集方法、装置、设备及可读存储介质 | |
CN107291746B (zh) | 一种存储和读取数据的方法及设备 | |
CN110133519B (zh) | 电池容量的计算方法、装置及设备 | |
CN110837511A (zh) | 一种数据处理方法、系统及相关设备 | |
CN110851758B (zh) | 一种网页访客数量统计方法及装置 | |
CN108170837A (zh) | 数据离散化方法、装置、计算机设备及存储介质 | |
CN110515974A (zh) | 数据抽取方法、装置、计算机设备和存储介质 | |
CN104516823B (zh) | 一种数据存储方法和装置 | |
CN112463040B (zh) | 一种数据写入方法、装置、电子设备及存储介质 | |
CN112162951A (zh) | 一种信息检索方法、服务器及存储介质 | |
CN110515963A (zh) | 收集统计信息的方法、装置、电子设备及可读存储介质 | |
CN110909001A (zh) | 一种数据种子植入及溯源追踪的方法 | |
EP3299965A1 (en) | Method and physical device for managing linked lists | |
CN115328892B (zh) | 一种业务表单数据结构处理方法、系统、电子设备及介质 | |
CN115914120B (zh) | 消息发送方法、装置、计算机设备和计算机可读存储介质 | |
CN112380494B (zh) | 一种确定对象特征的方法及装置 | |
CN114237666A (zh) | 一种服务降级方法及装置、存储介质 | |
CN114201113B (zh) | 多对象存储桶的选择方法、装置及处理器 | |
CN111124491B (zh) | 一种批处理方法、装置、设备及存储介质 |
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 |