CN111459710B - 感知热度与风险的纠删码内存恢复方法、设备及内存系统 - Google Patents

感知热度与风险的纠删码内存恢复方法、设备及内存系统 Download PDF

Info

Publication number
CN111459710B
CN111459710B CN202010229943.7A CN202010229943A CN111459710B CN 111459710 B CN111459710 B CN 111459710B CN 202010229943 A CN202010229943 A CN 202010229943A CN 111459710 B CN111459710 B CN 111459710B
Authority
CN
China
Prior art keywords
risk
level
heat
block
blocks
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.)
Expired - Fee Related
Application number
CN202010229943.7A
Other languages
English (en)
Other versions
CN111459710A (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.)
Huazhong University of Science and Technology
Original Assignee
Huazhong University of Science and Technology
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 Huazhong University of Science and Technology filed Critical Huazhong University of Science and Technology
Priority to CN202010229943.7A priority Critical patent/CN111459710B/zh
Publication of CN111459710A publication Critical patent/CN111459710A/zh
Application granted granted Critical
Publication of CN111459710B publication Critical patent/CN111459710B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明公开了一种感知热度与风险的纠删码内存恢复方法、设备及内存系统,属于计算机存储技术领域,包括:在发生节点故障时,统计预设时间窗口内各分块的访问频次,以设置各分块热度等级,访问频次越多,热度等级越高;统计各条带内的失效的数据分块数和总的失效分块数,以设置各条带的风险等级;失效分块数越多,风险等级越高;总的失效分块数相同的情况下,失效的数据分块数越多,风险等级越高;将条带的风险等级作为其中分块的风险等级,结合热度等级和风险等级设置各失效分块的恢复优先级,热度等级越高、风险等级越高,恢复优先级越高;按照恢复优先级从高到低的顺序依次对失效分块进行恢复。本发明能够提高数据的可靠性、可用性和可服务性。

Description

感知热度与风险的纠删码内存恢复方法、设备及内存系统
技术领域
本发明属于计算机存储技术领域,更具体地,涉及一种感知热度与风险的纠删码恢复方法、设备及内存系统。
背景技术
信息化时代正在产生海量的数据,为了存储和计算这些数据,一般采用分布式集群聚集多个节点的存储和处理能力,来完成数据的处理。而分布式存储用内存(DRAM)来作为存储的媒介。而内存是一种易失性存储器件,一旦内存节点发生断电,系统崩溃等情况,内存节点中存储的内存数据就会丢失,造成无法挽回的损失。所以一般使用副本和纠删码这两种典型的冗余机制,在一定程度上降低内存数据丢失带来的损失。而相较于副本,纠删码保证相同冗余度前提下,具有更高的存储效率。
但是纠删码会带来昂贵的重构开销。以RS(k+r,k)纠删码为例,当一个数据分块发生故障或发生错误,需要同一条带上的k个可用数据分块进行恢复重构出该块,相较于副本的网络传输量,纠删码为其k倍,因此导致重构速度变慢,重构时间变长,在重构时间窗口内,数据丢失的可能性增大,造成数据永久丢失的风险随之变大。因此长重构时间是分布式存储大规模使用纠删码的主要问题。
现有的内存纠删码重构方法主要以下的问题:基于数据的可恢复性考虑减少重构时候需要传输的数据量或读取的数据量,但未考虑到集群中单节点故障的延迟恢复以及多节点并发故障会导致数据的不可恢复;以及针对内存数据的访问频次的倾斜没有考虑相对应的数据恢复顺序。总的来说,现有的内存纠删码重构方法,在数据的可靠性、可用性及可服务性方面还有待提高。
发明内容
针对现有技术的缺陷和改进需求,本发明提供了一种感知热度与风险的纠删码内存恢复方法、设备及内存系统,其目的在于,在发生故障时,使得访问频次较高以及更易发生数据不可恢复的高风险失效分块优先得到恢复,从而提高数据的可靠性、可用性和可服务性。
为实现上述目的,按照本发明的第一方面,提供了一种感知热度与风险的纠删码内存恢复方法,包括:
在发生节点故障时,统计预设时间窗口内各分块的访问频次,并根据访问频次设置各分块热度等级,访问频次越多,对应的热度等级越高;
统计各条带内的失效的数据分块数和总的失效分块数,并根据统计结果设置各条带的风险等级;一个条带内总的失效分块数越多,其风险等级越高;总的失效分块数相同的情况下,条带内失效的数据分块数越多,其风险等级越高;
将分块所属条带的风险等级作为分块的风险等级,结合各失效分块的热度等级和风险等级设置各失效分块的恢复优先级,失效分块的热度等级越高、风险等级越高,其恢复优先级越高;
按照恢复优先级从高到低的顺序对所有的失效分块进行排序,并按照排序后的顺序对依次对失效分块进行恢复;
其中,分块为数据分块或校验分块。
本发明根据内存中数据的访问偏斜来划分热度等级,并根据条带内失效的数据分块数和总的失效分块数来划分风险等级,并综合热度等级和风险等级确定各失效分块的恢复优先级,具体地,热度等级越高、风险等级越高,则相应的恢复优先级越高,该失效分块也会优先得到恢复,由此能够在多节点发生故障时,使得访问频次较高以及更易发生数据不可恢复的高风险失效分块首先得到恢复,从而提高数据的可靠性、可用性和可服务性。
进一步地,热度等级与热度等级的取值之间的关系、风险等级与风险等级的取值之间的关系以及恢复优先级与恢复优先级的取值之间的关系同为正相关的关系,或同为反相关的关系。
本发明中,热度等级、风险等级以及恢复优先级与各自对应的取值之间的关系同为正相关的关系或同为反相关的关系,有利于根据热度等级和风险等级准确确定对应的恢复优先级。
进一步地,结合各失效分块的热度等级和风险等级设置各失效分块的恢复优先级,包括:
根据RP=xRL+yPL+z计算失效分块的恢复优先级;
其中,RL、PL和RP分别表示失效分块的风险等级、热度等级和恢复优先级;x和y分别为用于衡量风险等级和热度等级重要性的权重系数,且x和y均大于0;z为预设的常数。
本发明在综合失效分块的热度等级和风险等级设置其恢复优先级时,会根据热度或风险的重要程度调整两者的权重,因此能够根据热度和风险对恢复优先级的实际影响准确地设置各失效分块的恢复优先级。
进一步地,条带的风险依据其中失效的数据分块数和总的失效分块数被划分为
Figure BDA0002428966980000031
个风险等级;
并且对于失效分块数为Δ数据分块且总的失效分块数为Δ的条带,其风险等级的计算方式为:
根据
Figure BDA0002428966980000032
计算该条带风险等级的序号N,将
Figure BDA0002428966980000033
个风险等级按照从高到低的顺序进行排序后,从排序结果中取第N个风险等级作为该条带的风险等级;
其中,r为条带中校验分块的数量。
本发明按照
Figure BDA0002428966980000041
计算条带的风险等级的序号N,能够在遵循总的失效分块数越多,其风险等级越高;总的失效分块数相同的情况下,失效的数据分块数越多,其风险等级越高的规律下,根据条带内失效的数据分块数Δ数据分块和总的失效分块数Δ,将其风险等级量化为对应的取值。
进一步地,热度等级与热度等级的取值之间的关系、风险等级与风险等级的取值之间的关系以及恢复优先级与恢复优先级的取值之间的关系同为反相关的关系,并且,按照风险等级从高到低的顺序
Figure BDA0002428966980000042
个风险等级的取值依次为1、2、3、……、
Figure BDA0002428966980000043
在本发明的优选方案中,设置相邻风险等级之间的取值差值为1,并从1到
Figure BDA0002428966980000044
对最高等级到最低等级之间的各风险等级进行顺序量化,能够简化计算。
进一步地,分块的热度依据访问频次被划分为三个热度等级,按照热度等级从高到低的顺序,各热度等级的取值依次P1、P2和P3;
并且,统计预设时间窗口内各分块的访问频次,并根据访问频次设置各分块热度等级,包括:
统计时间窗口内各分块的访问频次后,按照访问频次从多到少的顺序对各分块进行排序,排序结束后,将访问频次最多的前a%的分块的热度等级设为P1,将访问频次最少的后b%的分块的热度等级设为P3,并将剩余的分块的热度等级设为P2;
其中,0<a<100,0<b<100,且a+b<100。
在存储领域,根据数据的访问偏斜,一般将数据分为热数据、温数据和冷数据;本发明将分块的热度划分为三个等级,其中访问频次最高的一部分分块为最高等级,访问频次居中的一部分分块为中间等级,访问频次最低的一部分分块为最低等级,这样的热度等级划分方式与热数据、温数据、冷数据的划分相一致。
按照本发明的第二方面,提供了一种感知热度与风险的纠删码内存恢复设备,包括:热度等级设置模块、风险等级设置模块、恢复优先级设置模块以及恢复模块;
热度等级设置模块,用于在发生节点故障时,统计预设时间窗口内各分块的访问频次,并根据访问频次设置各分块热度等级,访问频次越多,对应的热度等级越高;
风险等级设置模块,用于在发生节点故障时,统计各条带内的失效的数据分块数和总的失效分块数,并根据统计结果设置各条带的风险等级;一个条带内总的失效分块数越多,其风险等级越高;总的失效分块数相同的情况下,条带内失效的数据分块数越多,其风险等级越高;
恢复优先级设置模块,用于将分块所属条带的风险等级作为分块的风险等级,结合各失效分块的热度等级和风险等级设置各失效分块的恢复优先级,失效分块的热度等级越高、风险等级越高,其恢复优先级越高;
恢复模块,按照恢复优先级从高到低的顺序对所有的失效分块进行排序,并按照排序后的顺序对依次对失效分块进行恢复;
其中,分块为数据分块或校验分块。
按照本发明的第三方面,提供了一种内存系统,包括:内存和本发明第二方面提供的感知热度与风险的纠删码内存恢复设备。
总体而言,通过本发明所构思的以上技术方案,能够取得以下有益效果:
(1)本发明根据内存中数据的访问偏斜来划分热度等级,并根据条带内失效的数据分块数和总的失效分块数来划分风险等级,并综合热度等级和风险等级确定各失效分块的恢复优先级,从而能够在多节点发生故障时,使得访问频次较高以及更易发生数据不可恢复的高风险失效分块首先得到恢复,从而提高数据的可靠性、可用性和可服务性。
(2)本发明在综合失效分块的热度等级和风险等级设置其恢复优先级时,会根据热度或风险的重要程度调整两者的权重,因此能够根据热度和风险对恢复优先级的实际影响准确地设置各失效分块的恢复优先级。
(3)本发明按照
Figure BDA0002428966980000061
计算条带的风险等级的序号N,能够在遵循总的失效分块数越多,其风险等级越高;总的失效分块数相同的情况下,失效的数据分块数越多,其风险等级越高的规律下,根据条带内失效的数据分块数Δ数据分块和总的失效分块数Δ,将其风险等级量化为对应的取值。
(4)本发明将分块的热度划分为三个等级,其中访问频次最高的一部分分块为最高等级,访问频次居中的一部分分块为中间等级,访问频次最低的一部分分块为最低等级,这样的热度等级划分方式与热数据、温数据、冷数据的划分相一致。
附图说明
图1为本发明实施例提供的感知热度与风险的纠删码内存恢复方法流程图;
图2为本发明实施例提供的内存中条带分布示意图;
图3为本发明实施例提供的内存中分块分布示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
在详细介绍本发明的技术方案之前,对本发明中所涉及的技术术语做如下简要介绍:
纠删码条带:纠删编码中一组数据分块与校验分块构成的、能够独立容错的最小的分块集合;
数据分块:将原始数据按一定大小进行划分而分成的分块叫数据分块;
校验分块:采用纠删码对数据进行编码运算得到的原始数据分块和一些冗余分块,这些冗余分块就叫校验分块;
失效分块:位于失效节点上的分块;
重构:当存储节点发生失效时,从k个正常运行的节点中读取相应的分块,再通过计算恢复失效的数据,最后恢复失效的节点的过程叫重构。
为了在发生故障时,使得访问频次较高以及更易发生数据不可恢复的高风险失效分块优先得到恢复,从而提高数据的可靠性、可用性和可服务性,本发明提供的感知热度与风险的纠删码内存恢复方法,如图1所示,包括:
在发生节点故障时,统计预设时间窗口内各分块的访问频次,并根据访问频次设置各分块热度等级,访问频次越多,对应的热度等级越高;
统计各条带内的失效的数据分块数和总的失效分块数,并根据统计结果设置各条带的风险等级;一个条带内总的失效分块数越多,其风险等级越高;总的失效分块数相同的情况下,条带内失效的数据分块数越多,其风险等级越高;
将分块所属条带的风险等级作为分块的风险等级,结合各失效分块的热度等级和风险等级设置各失效分块的恢复优先级,失效分块的热度等级越高、风险等级越高,其恢复优先级越高;
按照恢复优先级从高到低的顺序对所有的失效分块进行排序,并按照排序后的顺序对依次对失效分块进行恢复;
其中,分块为数据分块或校验分块;时间窗口的具体大小可根据实际的负载特性设定,以确保在该时间窗口内,数据分块的访问频率能够准确地反映其热度信息。
上述感知热度与风险的纠删码内存恢复方法,根据内存中数据的访问偏斜来划分热度等级,并根据条带内失效的数据分块数和总的失效分块数来划分风险等级,并综合热度等级和风险等级确定各失效分块的恢复优先级,具体地,热度等级越高、风险等级越高,则相应的恢复优先级越高,该失效分块也会优先得到恢复,由此能够在多节点发生故障时,使得访问频次较高以及更易发生数据不可恢复的高风险失效分块首先得到恢复,从而提高数据的可靠性、可用性和可服务性。
在上述感知热度与风险的纠删码内存恢复方法中,热度等级与热度等级的取值之间的关系、风险等级与风险等级的取值之间的关系以及恢复优先级与恢复优先级的取值之间的关系同为正相关的关系,或同为反相关的关系;
也即是说,置热度等级、风险等级以及恢复优先级与各自对应的取值之间的具体关系,为下面两种情况之一:
热度等级的取值越大,对应的热度等级越高;风险等级的取值越大,对应的风险等级越高;恢复优先级的取值越大,对应的恢复优先级越高;
或者,热度等级的取值越小,对应的热度等级越高;风险等级的取值越小,对应的风险等级越高;并且,恢复优先级的取值越小,对应的恢复优先级越高;
通过设置热度等级、风险等级以及恢复优先级与各自对应的取值之间的关系同为正相关的关系或同为反相关的关系,有利于根据热度等级和风险等级准确确定对应的恢复优先级;
在热度等级、风险等级以及恢复优先级与各自对应的取值之间的关系同为正相关的关系或同为反相关的关系的情况下,结合各失效分块的热度等级和风险等级设置各失效分块的恢复优先级,包括:
根据RP=xRL+yPL+z计算失效分块的恢复优先级;
其中,RL、PL和RP分别表示失效分块的风险等级、热度等级和恢复优先级;x和y分别为用于衡量风险等级和热度等级重要性的权重系数,且x和y均大于0,x和y的具体取值根据热度和风险对恢复优先级的实际影响设定;z为预设的常数;
按照上述方法计算失效分块的恢复优先级,能够根据热度和风险对恢复优先级的实际影响准确地设置各失效分块的恢复优先级。
总的失效分块数越多,其风险等级越高;由于数据分块的丢失相对于校验分块的丢失会带来更大的风险,因此总的失效分块数相同的情况下,失效的数据分块数越多,其风险等级越高;对于存在失效分块的条带来说,总的失效分块数Δ可以为r~1(r为纠删码条带内校验分块的数量),在每一个总的失效分块数Δ固定的情况下,条带内失效的数据分块数Δ数据分块可以为Δ~0,因此,
当Δ=r时,Δ数据分块从Δ减少为0时,共对应依次减小的r+1个风险等级;
当Δ=r-1时,Δ数据分块从Δ减少为0时,共对应依次减小的r个风险等级;
以此类推,直至Δ=1时,Δ数据分块从Δ减少为0时,共对应依次减小的2个风险等级;
因此,在本发明中,根据条带内失效的数据分块数Δ数据分块和总的失效分块数Δ的不同,共可划分
Figure BDA0002428966980000091
个风险等级;
在本实施例中,条带的风险依据其中失效的数据分块数和总的失效分块数被划分为
Figure BDA0002428966980000101
个风险等级;
并且对于失效分块数为Δ数据分块且总的失效分块数为Δ的条带,其风险等级的计算方式为:
根据
Figure BDA0002428966980000102
计算该条带风险等级的序号N,将
Figure BDA0002428966980000103
个风险等级按照从高到低的顺序进行排序后,从排序结果中取第N个风险等级作为该条带的风险等级;
按照
Figure BDA0002428966980000104
计算条带的风险等级的序号N,能够在遵循总的失效分块数越多,其风险等级越高;总的失效分块数相同的情况下,失效的数据分块数越多,其风险等级越高的规律下,根据条带内失效的数据分块数Δ数据分块和总的失效分块数Δ,将其风险等级量化为对应的取值。
在一个优选的实施方式中,热度等级与热度等级的取值之间的关系、风险等级与风险等级的取值之间的关系以及恢复优先级与恢复优先级的取值之间的关系同为反相关的关系,并且,按照风险等级从高到低的顺序
Figure BDA0002428966980000105
个风险等级的取值依次为1、2、3、……、
Figure BDA0002428966980000106
;具体地,各种情况所对应的风险等级的确定方法如下:
(1)Δ=r时:
(1.1)若Δ数据分块=r,则该条带的风险等级为1;
(1.2)若Δ数据分块=r-1,则该条带的风险等级为2;
(1.3)Δ数据分块每减小1,则该条带的风险等级的取值就加1,直至Δ数据分块=0,此时该条带的风险等级为r+1;
(2)Δ=r-1时:
(2.1)若Δ数据分块=r-1,则该条带的风险等级为r+2;
(2.2)若Δ数据分块=r-2,则该条带的风险等级为r+3;
(2.3)Δ数据分块每减小1,则该条带的风险等级的取值就加1,直至Δ数据分块=0,此时该条带的风险等级为2*r+1;
(3)Δ=r-2时:
(3.1)若Δ数据分块=r-2,则该条带的风险等级为2*r+2;
(3.2)若Δ数据分块=r-3,则该条带的风险等级为2*r+3;
(3.3)Δ数据分块每减小1,则该条带的风险等级的取值就加1,直至Δ数据分块=0,此时该条带的风险等级为3*r;
(4)按照上述规律,当Δ减少时,风险等级的值增加,直至Δ=1,此时,该条带的风险等级为
Figure BDA0002428966980000111
在上述优选的实施方案中,设置相邻风险等级之间的取值差值为1,并从1到
Figure BDA0002428966980000112
对最高等级到最低等级之间的各风险等级进行顺序量化,能够简化计算;应当说明的是,上述风险等级的设置方法只是一种优选的实施方案,不应理解为对本发明的唯一限定,其他的等级设置方法,只要遵循总的失效分块数越多,其风险等级越高;总的失效分块数相同的情况下,失效的数据分块数越多,其风险等级越高的规律,就能用于本发明。
在一个可选的实施方式中,分块的热度依据访问频次被划分为三个热度等级,按照热度等级从高到低的顺序,各热度等级的取值依次P1、P2和P3;
并且,统计预设时间窗口内各分块的访问频次,并根据访问频次设置各分块热度等级,包括:
统计时间窗口内各分块的访问频次后,按照访问频次从多到少的顺序对各分块进行排序,排序结束后,将访问频次最多的前a%的分块的热度等级设为P1,将访问频次最少的后b%的分块的热度等级设为P3,并将剩余的分块的热度等级设为P2;
其中,0<a<100,0<b<100,且a+b<100;a和b的取值可根据内存中数据的热度分布规律相应设定。
在存储领域,根据数据的访问偏斜,一般将数据分为热数据、温数据和冷数据;本实施例将分块的热度划分为三个等级,其中访问频次最高的一部分分块为最高等级,访问频次居中的一部分分块为中间等级,访问频次最低的一部分分块为最低等级,这样的热度等级划分方式与热数据、温数据、冷数据的划分相一致;
各热度等级的具体取值则可以根据实际的情况设定,例如,在热度等级与热度等级的取值之间的关系、风险等级与风险等级的取值之间的关系以及恢复优先级与恢复优先级的取值之间的关系同为反相关的关系时,可设置P1=1,P2=2,P3=3。
本发明还提供了一种感知热度与风险的纠删码内存恢复设备,包括:热度等级设置模块、风险等级设置模块、恢复优先级设置模块以及恢复模块;
热度等级设置模块,用于在发生节点故障时,统计预设时间窗口内各分块的访问频次,并根据访问频次设置各分块热度等级,访问频次越多,对应的热度等级越高;
风险等级设置模块,用于在发生节点故障时,统计各条带内的失效的数据分块数和总的失效分块数,并根据统计结果设置各条带的风险等级;一个条带内总的失效分块数越多,其风险等级越高;总的失效分块数相同的情况下,条带内失效的数据分块数越多,其风险等级越高;
恢复优先级设置模块,用于将分块所属条带的风险等级作为分块的风险等级,结合各失效分块的热度等级和风险等级设置各失效分块的恢复优先级,失效分块的热度等级越高、风险等级越高,其恢复优先级越高;
恢复模块,按照恢复优先级从高到低的顺序对所有的失效分块进行排序,并按照排序后的顺序对依次对失效分块进行恢复;
其中,分块为数据分块或校验分块;
在本发明实施例中,各模块的具体实施方式可参考上述方法实施例中的描述,在此将不作复述。
本发明还提供了一种内存系统,包括:内存和上述感知热度与风险的纠删码内存恢复设备。
应用实例
采用纠删码RS(6,2)编码,即其中k=4,r=2,原始数据通过RS编码为4个源数据分块以及2个校验数据分块组成的条带(即编码冗余组)。
热度等级与热度等级的取值之间的关系、风险等级与风险等级的取值之间的关系以及恢复优先级与恢复优先级的取值之间的关系同为反相关的关系;热度等级依据热数据分块的比例a%(例如,5%)和冷数据分块的比例b%(例如,80%)划分为三个等级,热度等级从高到底的取值依次为1、2、3;风险等级总数为
Figure BDA0002428966980000131
根据Δ数据分块数量为2-2、1-2、0-2、1-1、0-1,风险等级依次为1、2、3、4、5;
恢复优先级的计算方式为:RP=3*RL+PL-3,即x=3,y=1,z=-3。
如图2所示,存在四个编码冗余组,第一个编码冗余组为{D1,D2,D3,D4,P1,P2},第二个编码冗余组为{D5,D6,D7,D8,P3,P4},第三个编码冗余组为{D9,D10,D11,D12,P5,P6},第四个编码冗余组为{D13,D14,D15,D16,P7,P8}。每个编码冗余组包含的k+r=6个内存分块分别存放在8个不同存储节点的内存中,数据布局如图3所示。
如图3所示,节点4和节点6发生故障;D2、D3、D12为热数据,P3、P4、P7为冷数据;一次重构时间只能恢复2/3的失效分块;本次重构完成后,下一次失效节点为节点7。
按照上述感知热度与风险的纠删码内存恢复方法对失效数据块进行恢复,具体步骤如下:
(S1)对内存中各分块(数据分块或校验分块)进行热度等级的划分,访问频次越高的数据分块热度等级越高,热度等级划分结束后,失效的数据分块D2、D3、D12的热度等级分别为PL(D2)=PL(D3)=PL(D12)=1;失效的校验分块P3、P4、P7的热度等级分别为PL(P3)=PL(P4)=PL(P7)=3;
(S2)对失效分块所在条带内失效的数据分块数和总的失效分块数进行统计,条带面临数据丢失的风险越高的失效分块,风险等级越高(取值越小,等级越高);风险等级划分结束后,失效分块所在的条带Stripe1、Stripe2、Stripe3、Stripe4的风险等级分别为RL(Stripe1)=1,RL(Stripe2)=3,RL(Stripe3)=4,RL(Stripe4)=5,然后将失效分块的风险等级设置为为其所在条带的风险等级;
(S3)根据各失效分块的热度等级和风险等级设置其恢复优先级(取值越小,恢复优先级越高),计算结束后,失效的数据分块D2和D3的恢复优先级分别为RP(D2)=RP(D3)=1,失效的校验分块P3和P4的恢复优先级分别为RP(P3)=RP(P4)=9,失效的数据分块D12的恢复优先级为RP(D12)=10,失效的校验分块P7的恢复优先级为RP(P7)=15;
(S5)按照恢复优先级对所有的失效分块进行排序,则恢复次序为:D2>D3>P3>P4>D12>P7
(S6)按照恢复次序,分发重构任务到存储节点;
本次重构的失效分块为D2、D3、P3、P4;本次恢复可将面临丢失的条带(即高风险条带)全部恢复,等到下一次节点7失效后,再根据风险等级和热度等级进行下一次恢复。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (7)

1.一种感知热度与风险的纠删码内存恢复方法,其特征在于,包括:
在发生节点故障时,统计预设时间窗口内各分块的访问频次,并根据访问频次设置各分块热度等级,访问频次越多,对应的热度等级越高;
统计各条带内的失效的数据分块数和总的失效分块数,并根据统计结果设置各条带的风险等级;一个条带内总的失效分块数越多,其风险等级越高;总的失效分块数相同的情况下,条带内失效的数据分块数越多,其风险等级越高;
将分块所属条带的风险等级作为分块的风险等级,结合各失效分块的热度等级和风险等级设置各失效分块的恢复优先级,失效分块的热度等级越高、风险等级越高,其恢复优先级越高;
按照恢复优先级从高到低的顺序对所有的失效分块进行排序,并按照排序后的顺序对依次对失效分块进行恢复;
其中,分块为数据分块或校验分块;条带的风险依据其中失效的数据分块数和总的失效分块数被划分为
Figure FDA0002954014220000011
个风险等级;
并且对于失效分块数为Δ数据分块且总的失效分块数为Δ的条带,其风险等级的计算方式为:
计算该条带风险等级的序号为
Figure FDA0002954014220000012
Figure FDA0002954014220000013
将所述
Figure FDA0002954014220000014
个风险等级按照从高到低的顺序进行排序后,从排序结果中取第N个风险等级作为该条带的风险等级;
其中,r为条带中校验分块的数量。
2.如权利要求1所述的感知热度与风险的纠删码内存恢复方法,其特征在于,热度等级与热度等级的取值之间的关系、风险等级与风险等级的取值之间的关系以及恢复优先级与恢复优先级的取值之间的关系同为正相关的关系,或同为反相关的关系。
3.如权利要求2所述的感知热度与风险的纠删码内存恢复方法,其特征在于,结合各失效分块的热度等级和风险等级设置各失效分块的恢复优先级,包括:
根据RP=xRL+yPL+z计算失效分块的恢复优先级;
其中,RL、PL和RP分别表示失效分块的风险等级、热度等级和恢复优先级;x和y分别为用于衡量风险等级和热度等级重要性的权重系数,且x和y均大于0;z为预设的常数。
4.如权利要求3所述的感知热度与风险的纠删码内存恢复方法,其特征在于,热度等级与热度等级的取值之间的关系、风险等级与风险等级的取值之间的关系以及恢复优先级与恢复优先级的取值之间的关系同为反相关的关系,并且,按照风险等级从高到低的顺序所述
Figure FDA0002954014220000021
个风险等级的取值依次为1、2、3、……、
Figure FDA0002954014220000022
5.如权利要求1所述的感知热度与风险的纠删码内存恢复方法,其特征在于,分块的热度依据访问频次被划分为三个热度等级,按照热度等级从高到低的顺序,各热度等级的取值依次P1、P2和P3;
并且,统计预设时间窗口内各分块的访问频次,并根据访问频次设置各分块热度等级,包括:
统计所述时间窗口内各分块的访问频次后,按照访问频次从多到少的顺序对各分块进行排序,排序结束后,将访问频次最多的前a%的分块的热度等级设为P1,将访问频次最少的后b%的分块的热度等级设为P3,并将剩余的分块的热度等级设为P2;
其中,0<a<100,0<b<100,且a+b<100。
6.一种感知热度与风险的纠删码内存恢复设备,其特征在于,包括:热度等级设置模块、风险等级设置模块、恢复优先级设置模块以及恢复模块;
所述热度等级设置模块,用于在发生节点故障时,统计预设时间窗口内各分块的访问频次,并根据访问频次设置各分块热度等级,访问频次越多,对应的热度等级越高;
所述风险等级设置模块,用于在发生节点故障时,统计各条带内的失效的数据分块数和总的失效分块数,并根据统计结果设置各条带的风险等级;一个条带内总的失效分块数越多,其风险等级越高;总的失效分块数相同的情况下,条带内失效的数据分块数越多,其风险等级越高;
所述恢复优先级设置模块,用于将分块所属条带的风险等级作为分块的风险等级,结合各失效分块的热度等级和风险等级设置各失效分块的恢复优先级,失效分块的热度等级越高、风险等级越高,其恢复优先级越高;
所述恢复模块,按照恢复优先级从高到低的顺序对所有的失效分块进行排序,并按照排序后的顺序对依次对失效分块进行恢复;
其中,分块为数据分块或校验分块;条带的风险依据其中失效的数据分块数和总的失效分块数被划分为
Figure FDA0002954014220000031
个风险等级;
并且对于失效分块数为Δ数据分块且总的失效分块数为Δ的条带,其风险等级的计算方式为:
计算该条带风险等级的序号为
Figure FDA0002954014220000032
Figure FDA0002954014220000033
将所述
Figure FDA0002954014220000034
个风险等级按照从高到低的顺序进行排序后,从排序结果中取第N个风险等级作为该条带的风险等级;
其中,r为条带中校验分块的数量。
7.一种内存系统,其特征在于,包括:内存和权利要求6所述的感知热度与风险的纠删码内存恢复设备。
CN202010229943.7A 2020-03-27 2020-03-27 感知热度与风险的纠删码内存恢复方法、设备及内存系统 Expired - Fee Related CN111459710B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010229943.7A CN111459710B (zh) 2020-03-27 2020-03-27 感知热度与风险的纠删码内存恢复方法、设备及内存系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010229943.7A CN111459710B (zh) 2020-03-27 2020-03-27 感知热度与风险的纠删码内存恢复方法、设备及内存系统

Publications (2)

Publication Number Publication Date
CN111459710A CN111459710A (zh) 2020-07-28
CN111459710B true CN111459710B (zh) 2021-06-11

Family

ID=71681514

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010229943.7A Expired - Fee Related CN111459710B (zh) 2020-03-27 2020-03-27 感知热度与风险的纠删码内存恢复方法、设备及内存系统

Country Status (1)

Country Link
CN (1) CN111459710B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113051104B (zh) * 2021-03-11 2022-10-11 重庆紫光华山智安科技有限公司 基于纠删码的磁盘间数据恢复方法及相关装置
CN116340051A (zh) * 2021-12-22 2023-06-27 华为云计算技术有限公司 数据处理方法、相关装置及设备
CN117369712B (zh) * 2022-10-28 2024-07-30 华为技术有限公司 垃圾回收的方法、页面存储的方法和电子设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104536698A (zh) * 2014-12-10 2015-04-22 华为技术有限公司 一种基于raid的磁盘重构方法及相关设备
CN109597458A (zh) * 2017-09-30 2019-04-09 英特尔公司 用于空间阵列中的可配置时钟门控的处理器和方法
CN108073472B (zh) * 2017-12-12 2020-05-19 华中科技大学 一种基于热度感知的内存纠删码分布方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013061388A1 (ja) * 2011-10-28 2013-05-02 株式会社日立製作所 情報処理システム、及び、それを用いたファイル復元方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104536698A (zh) * 2014-12-10 2015-04-22 华为技术有限公司 一种基于raid的磁盘重构方法及相关设备
CN109597458A (zh) * 2017-09-30 2019-04-09 英特尔公司 用于空间阵列中的可配置时钟门控的处理器和方法
CN108073472B (zh) * 2017-12-12 2020-05-19 华中科技大学 一种基于热度感知的内存纠删码分布方法

Also Published As

Publication number Publication date
CN111459710A (zh) 2020-07-28

Similar Documents

Publication Publication Date Title
CN111459710B (zh) 感知热度与风险的纠删码内存恢复方法、设备及内存系统
CN108170555B (zh) 一种数据恢复方法及设备
CN107656832B (zh) 一种低数据重建开销的纠删码方法
CN103118133B (zh) 基于文件访问频次的混合云存储方法
CN101971168B (zh) 动态量化和提高分布式数据存储系统的可靠性
CN101868785B (zh) 生成数据存储系统的并行恢复策略
US20050166083A1 (en) RAID 6 disk array architectures
US20120260125A1 (en) Multi-disk fault-tolerant system, method for generating a check block, and method for recovering a data block
CN110427156B (zh) 一种基于分片的mbr的并行读方法
CN109491835B (zh) 一种基于动态分组码的数据容错方法
CN110750382A (zh) 用于提高数据修复性能的最小存储再生码编码方法及系统
CN115080303B (zh) Raid6磁盘阵列的编码方法、解码方法、装置及介质
CN111831223B (zh) 提高数据去重系统可扩展性的容错编码方法、装置及系统
CN109086000B (zh) 一种raid存储系统中的三容错数据布局方法
CN116501553B (zh) 数据恢复方法、装置、系统、电子设备及存储介质
CN112799604A (zh) 一种基于N-Code的RAID6磁盘阵列扩容方法及数据填充方法
WO2019227465A1 (en) Erasure coding with overlapped local reconstruction codes
CN108228382A (zh) 一种针对evenodd码单盘故障的数据恢复方法
CN114153651A (zh) 一种数据编码方法、装置、设备及介质
CN108073472B (zh) 一种基于热度感知的内存纠删码分布方法
CN116450048A (zh) Raid6磁盘阵列降级为raid5磁盘阵列的方法
CN114816837A (zh) 一种纠删码融合方法、系统、电子设备及存储介质
CN113258936B (zh) 一种基于循环移位的双重编码的构造方法
Venkatesan et al. Effect of latent errors on the reliability of data storage systems
CN115098295A (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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20210611

CF01 Termination of patent right due to non-payment of annual fee