CN108073472B - 一种基于热度感知的内存纠删码分布方法 - Google Patents

一种基于热度感知的内存纠删码分布方法 Download PDF

Info

Publication number
CN108073472B
CN108073472B CN201711318689.2A CN201711318689A CN108073472B CN 108073472 B CN108073472 B CN 108073472B CN 201711318689 A CN201711318689 A CN 201711318689A CN 108073472 B CN108073472 B CN 108073472B
Authority
CN
China
Prior art keywords
data block
data
data blocks
node
memory
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
CN201711318689.2A
Other languages
English (en)
Other versions
CN108073472A (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 CN201711318689.2A priority Critical patent/CN108073472B/zh
Publication of CN108073472A publication Critical patent/CN108073472A/zh
Application granted granted Critical
Publication of CN108073472B publication Critical patent/CN108073472B/zh
Active 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/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1044Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices with specific ECC/EDC distribution
    • 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
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • G06F11/1451Management of the data involved in backup or backup restore by selection of backup contents
    • 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/0608Saving storage space on storage systems
    • 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
    • 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/0638Organizing or formatting or addressing of data
    • 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/065Replication mechanisms
    • 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/0671In-line storage system
    • G06F3/0673Single storage device

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

一种基于热度感知的内存纠删码分布方法
技术领域
本发明属于计算机存储技术领域,更具体地,涉及一种基于热度感知的内存纠删码分布方法。
背景技术
数据量暴增的信息时代,内存存储已经成为许多数据密集型应用程序的关键组件,如OLTP和OLAP。内存容量和带宽每三年大约翻一倍,而其价格每五年降低十倍,从而,越来越多商业应用,能负担得起DRAM产品的开销,内存存储系统已逐步尝试将主要数据存放于内存中,用来支持可伸缩和低延迟的数据访问。
由于DRAM的易失性,内存存储系统在断电和系统崩溃的情况下,会引起内存数据的临时性丢失。针对此现象,通常采用冗余策略来提高内存数据的可用性。现有冗余解决方案主要包括副本和纠删码两类。副本方式既可以保证数据冗余,也能够在一定程度上可以提高访问并行性性能,但副本方式具有空间开销大的缺点,例如,三副本方式会占用数据三倍的内存空间。相较于副本,纠删码方式可以以更少内存空间来达到同等水平的容错。然而,纠删码在数据更新和故障恢复方面会带来较高的带宽开销,同时访问并行性较差。通过冗余编码计算后的数据分块组分布,可以通过随机选择节点分发,或者根据系统当前各节点的负载选择负载较低的节点分发等手段,但是整体是静态分布,即存储在节点中的数据分块以后不会在移动。
现有的内存纠删码分布方法主要存在以下问题,内存利用率和访问并发性作为衡量内存存储冗余方案的重要指标,二者不可同时兼顾;磁盘文件和内存数据的访问频次存在严重倾斜,并且数据分块的访问频次随着时间变化将引起节点负载的变化,由于访问倾斜的存在,导致节点负载不均衡,造成硬件资源的浪费以及访问性能退化和吞吐量降低。
发明内容
针对现有技术的以上缺陷或改进需求,本发明提供了一种基于热度感知的内存纠删码分布方法,其目的在于对内存中的数据分块进行热度等级的划分,访问频次越高的数据分块热度等级越高;其次,对热度等级由低变高的数据分块进行副本备份,提高访问的并行性;之后,针对热度等级由高变低的数据分块进行副本删除或者替换,节约内存空间,提高利用率,同时兼顾内存利用率和访问并发性,达到平衡,并解决随着时间变化磁盘文件和内存数据的访问频次严重倾斜所导致的节点负载不均衡问题。
为实现上述目的,本发明提供了一种基于热度感知的内存纠删码分布方法,所述方法采用纠删码数据冗余技术存储内存中的数据;同时对内存中的数据分块按访问热度进行动态划分,具体分为3个等级:0、1和2,热度等级更新为2的数据分块采用副本数据冗余技术,热度等级更新为1的数据分块采用纠删码数据冗余技术,热度等级更新为0的数据分块从内存中替换出去。
进一步地,所述热度等级更新为2的数据分块采用副本数据冗余技术具体为:当数据分块的热度等级由1升为2时,选择负载最低的节点增加该数据分块的副本数据分块。
进一步地,所述热度等级更新为1的数据分块采用纠删码数据冗余技术具体为:当数据分块的热度等级由2降为1时,选择负载最重的节点删除该数据分块的副本数据分块。
进一步地,所述热度等级更新为0的数据分块从内存中替换出去具体为:当数据分块的热度等级由1或2降为0时,将该数据分块替换出内存,替换进内存的新数据分块从负载最重的节点中选取。
进一步地,所述新数据分块的热度等级为1。
进一步地,所述数据分块的热度等级由2降为0时,删除该数据分块的所有副本数据分块。
进一步地,所述方法具体包括以下步骤:
(1)设置一个时间阈值TW以及计时器T;
(2)接收用户请求,处理请求指令;
(3)判断计时器T是否已经达到TW,若是,则转入步骤(4),否则转入步骤(7);
(4)根据时间阈值内请求指令串的访问,更新内存里每一个数据分块的访问热度等级,然后更新系统内每一个参与的节点服务器的负载;
(5)根据访问热度和节点负载,对冗余组中数据分块进行三类调整,包括增加副本,删除副本和数据分块替换;
(6)重置计时器T=0;
(7)判断请求访问的数据分块是否已经在内存中或者存放在新数据分块的队列中,若是,则转入步骤(8),否则转入步骤(9);
(8)更新请求访问的数据分块的访问频率,从内存中获取请求访问的数据分块的副本,将目标数据分块传送给代理服务器,之后转入步骤(10);
(9)从磁盘上读取目标数据分块传送给代理服务器,将数据分块插入存放新数据分块的队列中,之后转入步骤(10);
(10)判断请求指令是否已经处理完毕,若是,则流程结束,否则转入步骤(2)。
进一步地,所述步骤(5)具体包括以下子步骤:
(51)判断是否数据分块的热度等级由2更新为1,若是,则转入步骤(52),否则转入步骤(53);
(52)确定系统中存储该数据分块的节点,添加到Listsrc列表中,从Listsrc中选择负载最重的节点SN,从当前数据数据分块组移除SN中的数据分块,然后转入步骤(510);
(53)判断是否数据分块的热度等级由1更新为2,若是,则转入步骤(54),否则转入步骤(55);
(54)确定系统中除当前数据分块组节点之外的目标节点,添加到Listtgt列表中,从Listtgt中选择负载最轻的节点SN,传送该数据分块的副本给节点SN,之后转入步骤(510);
(55)判断是否数据分块的热度等级更新为0并且旧数据分块属于内存中将要被替代的数据分块集合Setold,若是则转入步骤(56),否则转入步骤(510);
(56)Setnew为将要取代旧数据分块的候选新数据分块集合,确定系统中存储Setnew中数据分块的节点,添加到Listpdr列表中,确定系统中目标节点,添加到Listtgt中,从Listtgt中选择负载最轻的节点SNtgt,若SNtgt属于Listpdr,则转入步骤(57),否则转入步骤(58);
(57)提供数据分块的节点SNpdr=SNtgt,之后转入步骤(59);
(58)从Listpdrl选择负载最重的节点作为SNpdr
(59)从SNpdr移动新数据分块到SNtgt,更新组中的冗余数据,新数据分块热度等级初始为1,移除所有旧数据分块的副本;
(510)判断数据分块组中所有数据分块是否处理完毕,是则转入步骤(511);否则返回步骤(51);
(511)更新数据分块组的数据分块列表,更新新数据分块及其副本元数据的时间戳信息。
总体而言,通过本发明所构思的以上技术方案与现有技术相比,具有以下技术特征及有益效果:
(1)据数据分块的访问频率定义热度等级,通过热度感知来调整源数据的分布和冗余策略,包括纠删码编码以及副本个数,即提高内存利用率,又保证高热度数据的并发访问性能,达到在当前数据存储访问状况下,存储利用率与访问并行性之间平衡;
(2)在选择目标节点时,根据节点负载,往负载较低的节点中添加数据,从负载较高的节点中删除数据,同时根据热度等级变化,在内存与磁盘之间进行数据交换,实现良好负载均衡同时,防止随着时间变化出现磁盘文件和内存数据的访问频次严重倾斜问题,提高整体存储性能。
附图说明
图1是本发明内存纠删码分布方法的流程图;
图2是本发明方法中数据分块移动的流程图;
图3是本发明方法中一个数据分块组的实例图;
图4是本发明方法中不同情况下数据分块移动的实例图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
以下首先就本发明的相关术语进行解释和说明:
纠删码分布:副本冗余方式,存储利用率低,用纠删码代替副本作为冗余策略,而副本用来提高并发访问性能,根据各节点负载,确定编码后的数据分块存储的节点,随着时间变化,进行副本数据分块增加或移除以及数据分块在内存与磁盘之间的转移,称是纠删码分布。
热度等级:统计一段时间窗口内数据分块的访问频次,然后依据访问频次高低将数据分块划分为热度等级2,热度等级1,热度等级0三个集合,数据分块初始化热度等级都为1。
数据分块组:为了支持条带化以及副本机制,我们将原始数据分块以及冗余数据分块构成数据分块组,并且我们为了定位同一各数据分块组中的数据分块,提出数据分块ID由数据组ID以及组内偏移Pos组成。
目标节点:当出现副本数据分块增加或者减少以及新数据分块替代旧数据分块的情况时,需要选择用于执行的数据分块,这些数据分块所在的节点称为目标节点。
供给节点:当数据分块热度等级降为0,需要选择新数据分块替代,内存队列中存储即将取代旧数据分块的节点,称为供给节点,通常选择其中负载最重的节点作为当前新数据分块的供给节点。
本发明提供了一种基于热度感知的内存纠删码分布方法,为了方便说明,本实施例按照数据分块访问频率由低到高划分为3个热度等级:PL-0、PL-1和PL-2。对于PL-2和PL-1热度等级数据分块分别采取容错为2和1的冗余策略,PL-0数据分块即将被回收或替代,所以不采用冗余策略。本实施例采用的是RS(k+r,k)编码以及副本冗余策略,RS(k+r,k)的条带由k个源数据分块和r个校验数据分块构成,k个源数据分块记为{D1,D2,…,Dk},r个校验分块记为{P1,P2,…,Pr},副本数据分块采用源数据分块的名称标记。
本实施例采用纠删码RS(4,3)编码,同时采用副本作为冗余手段并提高并发访问性能,如图3所示,原始数据通过RS编码为D1,D2,D3三个源数据分块以及P1冗余数据分块,D1,D2热度等级为1所以实现容错1即可,D3热度等级为2,所以再通过副本方式实现容错2,名称为D3的数据分块为副本,并且满足其访问频率高带来的并发访问性能需求。
如图1所示,本发明提供了一种热度感知的纠删码分布方法,具体包括如下步骤:
(1)设置一个时间阈值TW以及计时器T;
(2)接收用户请求,处理请求指令;
(3)判断计时器T是否已经达到TW,如果是,则转入步骤(4),否则转入步骤(7);
(4)根据阈值内请求指令串的访问,更新内存里每一个数据分块的访问热度等级,然后更新系统内每一个参与的节点服务器的负载;
(5)根据访问热度和节点负载,对冗余组中数据分块进行三类调整,包括增加副本,删除副本,数据分块替换,如图2所示,本步骤具体包含以下子步骤。
(5-1)判断是否旧数据分块热度等级OPL为2并且新数据分块热度等级NPL为1,如果是,则转入步骤(5-2),否则转入步骤(5-3);
(5-2)确定系统中存储该数据分块的节点,添加到Listsrc列表中,从Listsrc中选择负载最重的节点SN,从当前数据数据分块组移除SN中的数据分块,然后转入步骤(5-10);
(5-3)判断是否旧数据分块热度等级OPL为1并且新数据分块热度等级NPL为2,如果是,则转入步骤(5-4),否则转入步骤(5-5);
(5-4)确定系统中除当前数据分块组节点之外的目标节点,添加到Listtgt列表中,从Listtgt中选择负载最轻的节点SN,传送该数据分块的副本给节点SN,然后转入步骤(5-10);
(5-5)判断是否新数据分块热度等级NPL为0并且数据分块属于内存中将要被替代的数据分块集合Setold,如果是,则转入步骤(5-6),否则转入步骤(5-10);
(5-6)Setnew为将要取代旧数据分块的候选新数据分块集合,确定系统中存储Setnew中数据分块的供给节点,添加到Listpdr列表中,确定系统中目标节点,添加到Listtgt中,从Listtgt中选择负载最轻的节点SNtgt,如果SNtgt属于Listpdr,则转入步骤(5-7),否则转入步骤(5-8);
(5-7)提供数据分块的节点SNpdr=SNtgt,然后转入步骤(5-9);
(5-8)从Listpdr选择负载最重的节点作为SNpdr
(5-9)从SNpdr移动新数据分块到SNtgt,更新组中的冗余数据,新数据分块热度等级初始为1,移除所有旧数据分块及其副本;
(5-10)重复步骤(5-1)到步骤(5-9),直到数据分块组中所有数据分块处理完毕,则转入步骤(5-11);
(5-11)更新数据分块组的数据分块列表,更新新数据分块及其副本元数据的时间戳信息。
(6)重置计时器T=0;
(7)判断请求访问的数据分块是否已经在内存中或者存放在新数据分块的队列中,如果是,则转入步骤(8),否则转入步骤(9);
(8)更新请求访问的数据分块的访问频率。从内存中获取请求访问的数据分块的副本,将目标数据分块传送给代理服务器。然后转入步骤(10);
(9)从磁盘上读取目标数据分块传送给代理服务器,将数据分块插入存放新数据分块的队列中。然后转入步骤(10);
(10)判断是否请求串已经处理完毕,如果是,则流程结束,否则转入步骤(2);
如图4所示,包含了每一种热度等级变化之后数据分块组相应的变化,包括热度等级从PL2降为PL1,热度等级从PL1升为PL2,热度等级从PL2或者PL1降为PL0的情况。
(5-1)判断是否旧数据分块热度等级OPL为2并且新数据分块热度等级NPL为1,如果是,则转入步骤(5-2),否则转入步骤(5-3);
(5-2)如图4中c步所示,一段时间窗口后,数据分块D3的热度等级由2变为1,那么,存放有副本数据分块且负载较大的节点上的副本数据将被删除首先确定系统中存储该数据分块的节点,添加到Listsrc列表中,从Listsrc中选择负载最重的节点SN,从当前数据数据分块组移除SN中的数据分块,D3副本被移除,然后转入步骤(5-10);
(5-3)判断是否旧数据分块热度等级OPL为1并且新数据分块热度等级NPL为2,如果是,则转入步骤(5-4),否则转入步骤(5-5);
(5-4)如图4中b步所示,一段时间窗口后,数据分块D3的热度等级由1变为2,需要增加数据分块的副本个数,首先确定系统中除当前数据分块组节点之外的目标节点,添加到Listtgt列表中,从Listtgt中选择负载最轻的节点SN,传送该数据分块D3的副本给节点SN,然后转入步骤(5-10);
(5-5)判断是否新数据分块热度等级NPL为0并且数据分块属于内存中将要被替代的数据分块集合Setold,如果是,则转入步骤(5-6),否则转入步骤(5-10);
(5-6)如图4中d和e步所示,数据分块D3热度等级由2变为1和0,在队列中将要替代Setold中数据分块的候选数据分块集合Setnew,确定系统中存储Setnew中数据分块的供给节点,添加到Listpdr列表中,确定系统中目标节点,添加到Listtgt中,从Listtgt中选择负载最轻的节点SNtgt,如果SNtgt属于Listpdr,则转入步骤(5-7),否则转入步骤(5-8);
(5-7)提供数据分块的节点SNpdr=SNtgt,然后转入步骤(5-9);
(5-8)从Listpdr选择负载最重的节点作为SNpdr
(5-9)从SNpdr移动新数据分块D3’到SNtgt,更新组中的冗余数据P1’,新数据分块D3’热度等级初始为1,移除所有旧数据分块D3及其副本;
(5-10)重复步骤(5-1)到步骤(5-9),直到数据分块组中所有数据分块处理完毕,则转入步骤(5-11);
(5-11)更新数据分块组的数据分块列表,更新新数据分块及其副本元数据的时间戳信息。
以上内容本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (7)

1.一种基于热度感知的内存纠删码分布方法,其特征在于,所述方法采用纠删码数据冗余技术存储内存中的数据;同时对内存中的数据分块按访问热度进行动态划分,具体分为3个等级:0、1和2,热度等级更新为2的数据分块采用副本数据冗余技术,热度等级更新为1的数据分块采用纠删码数据冗余技术,热度等级更新为0的数据分块从内存中替换出去;所述方法具体包括以下步骤:
(1)设置一个时间阈值TW以及计时器T;
(2)接收用户请求,处理请求指令;
(3)判断计时器T是否已经达到TW,若是,则转入步骤(4),否则转入步骤(7);
(4)根据时间阈值内请求指令串的访问,更新内存里每一个数据分块的访问热度等级,然后更新系统内每一个参与的节点服务器的负载;
(5)根据访问热度和节点负载,对冗余组中数据分块进行三类调整,包括增加副本,删除副本和数据分块替换;
(6)重置计时器T=0;
(7)判断请求访问的数据分块是否已经在内存中或者存放在新数据分块的队列中,若是,则转入步骤(8),否则转入步骤(9);
(8)更新请求访问的数据分块的访问频率,从内存中获取请求访问的数据分块的副本,将目标数据分块传送给代理服务器,之后转入步骤(10);
(9)从磁盘上读取目标数据分块传送给代理服务器,将数据分块插入存放新数据分块的队列中,之后转入步骤(10);
(10)判断请求指令是否已经处理完毕,若是,则流程结束,否则转入步骤(2)。
2.根据权利要求1所述的一种内存纠删码分布方法,其特征在于,所述热度等级更新为2的数据分块采用副本数据冗余技术具体为:当数据分块的热度等级由1升为2时,选择负载最低的节点增加该数据分块的副本数据分块。
3.根据权利要求1所述的一种内存纠删码分布方法,其特征在于,所述热度等级更新为1的数据分块采用纠删码数据冗余技术具体为:当数据分块的热度等级由2降为1时,选择负载最重的节点删除该数据分块的副本数据分块。
4.根据权利要求1所述的一种内存纠删码分布方法,其特征在于,所述热度等级更新为0的数据分块从内存中替换出去具体为:当数据分块的热度等级由1或2降为0时,将该数据分块替换出内存,替换进内存的新数据分块从负载最重的节点中选取。
5.根据权利要求4所述的一种内存纠删码分布方法,其特征在于,所述新数据分块的热度等级为1。
6.根据权利要求4所述的一种内存纠删码分布方法,其特征在于,所述数据分块的热度等级由2降为0时,删除该数据分块的所有副本数据分块。
7.根据权利要求1所述的一种内存纠删码分布方法,其特征在于,所述步骤(5)具体包括以下子步骤:
(51)判断是否数据分块的热度等级由2更新为1,若是,则转入步骤(52),否则转入步骤(53);
(52)确定系统中存储该数据分块的节点,添加到Listsrc列表中,从Listsrc中选择负载最重的节点SN,从当前数据分块组移除SN中的数据分块,然后转入步骤(510);
(53)判断是否数据分块的热度等级由1更新为2,若是,则转入步骤(54),否则转入步骤(55);
(54)确定系统中除当前数据分块组节点之外的目标节点,添加到Listtgt列表中,从Listtgt中选择负载最轻的节点SN,传送该数据分块的副本给节点SN,之后转入步骤(510);
(55)判断是否数据分块的热度等级更新为0并且旧数据分块属于内存中将要被替代的数据分块集合Setold,若是则转入步骤(56),否则转入步骤(510);
(56)Setnew为将要取代旧数据分块的候选新数据分块集合,确定系统中存储Setnew中数据分块的节点,添加到Listpdr列表中,确定系统中目标节点,添加到Listtgt中,从Listtgt中选择负载最轻的节点SNtgt,若SNtgt属于Listpdr,则转入步骤(57),否则转入步骤(58);
(57)提供数据分块的节点SNpdr=SNtgt,之后转入步骤(59);
(58)从Listpdr选择负载最重的节点作为SNpdr
(59)从SNpdr移动新数据分块到SNtgt,更新组中的冗余数据,新数据分块热度等级初始为1,移除所有旧数据分块的副本;
(510)判断数据分块组中所有数据分块是否处理完毕,是则转入步骤(511);否则返回步骤(51);
(511)更新数据分块组的数据分块列表,更新新数据分块及其副本元数据的时间戳信息。
CN201711318689.2A 2017-12-12 2017-12-12 一种基于热度感知的内存纠删码分布方法 Active CN108073472B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711318689.2A CN108073472B (zh) 2017-12-12 2017-12-12 一种基于热度感知的内存纠删码分布方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711318689.2A CN108073472B (zh) 2017-12-12 2017-12-12 一种基于热度感知的内存纠删码分布方法

Publications (2)

Publication Number Publication Date
CN108073472A CN108073472A (zh) 2018-05-25
CN108073472B true CN108073472B (zh) 2020-05-19

Family

ID=62158060

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711318689.2A Active CN108073472B (zh) 2017-12-12 2017-12-12 一种基于热度感知的内存纠删码分布方法

Country Status (1)

Country Link
CN (1) CN108073472B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111459710A (zh) * 2020-03-27 2020-07-28 华中科技大学 感知热度与风险的纠删码内存恢复方法、设备及内存系统

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109344012B (zh) * 2018-09-14 2022-04-12 新华三技术有限公司成都分公司 数据重构控制方法、装置和设备
CN110134514B (zh) * 2019-04-18 2021-04-13 华中科技大学 基于异构内存的可扩展内存对象存储系统
CN111124295B (zh) * 2019-12-11 2021-06-04 成都信息工程大学 一种基于三元影响因子的农业数据存储处理系统及方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103118133A (zh) * 2013-02-28 2013-05-22 浙江大学 基于文件访问频次的混合云存储方法
CN105653642A (zh) * 2015-12-25 2016-06-08 曙光信息产业股份有限公司 分布式文件系统的数据管理方法和装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8458287B2 (en) * 2009-07-31 2013-06-04 Microsoft Corporation Erasure coded storage aggregation in data centers
US10552038B2 (en) * 2016-05-13 2020-02-04 International Business Machines Corporation Object storage architecture based on file_heat

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103118133A (zh) * 2013-02-28 2013-05-22 浙江大学 基于文件访问频次的混合云存储方法
CN105653642A (zh) * 2015-12-25 2016-06-08 曙光信息产业股份有限公司 分布式文件系统的数据管理方法和装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111459710A (zh) * 2020-03-27 2020-07-28 华中科技大学 感知热度与风险的纠删码内存恢复方法、设备及内存系统
CN111459710B (zh) * 2020-03-27 2021-06-11 华中科技大学 感知热度与风险的纠删码内存恢复方法、设备及内存系统

Also Published As

Publication number Publication date
CN108073472A (zh) 2018-05-25

Similar Documents

Publication Publication Date Title
US12067256B2 (en) Storage space optimization in a system with varying data redundancy schemes
CN110169040B (zh) 基于多层一致性哈希的分布式数据存储方法与系统
CN108073472B (zh) 一种基于热度感知的内存纠删码分布方法
US10031675B1 (en) Method and system for tiering data
US10620830B2 (en) Reconciling volumelets in volume cohorts
US8639669B1 (en) Method and apparatus for determining optimal chunk sizes of a deduplicated storage system
CN103827806B (zh) 闪存阵列中的逻辑扇区映射
CN110262922B (zh) 基于副本数据日志的纠删码更新方法及系统
US8214388B2 (en) System and method for adding a storage server in a distributed column chunk data store
US20130166502A1 (en) Segmented storage for database clustering
US11093387B1 (en) Garbage collection based on transmission object models
US10997153B2 (en) Transaction encoding and transaction persistence according to type of persistent storage
CN104462389A (zh) 基于分级存储的分布式文件系统实现方法
US20180165345A1 (en) Data processing device, computer-readable recording medium having recorded therein data processing program and data processing method
CN102591947A (zh) 用于数据去重复的快速且低ram占用的索引
CN102984280A (zh) 针对社交类云存储网络应用的数据备份系统和方法
Liu et al. A popularity-aware cost-effective replication scheme for high data durability in cloud storage
Friedman et al. Replicated erasure codes for storage and repair-traffic efficiency
CN115114294A (zh) 数据库存储模式的自适应方法、装置、计算机设备
US11726743B2 (en) Merging multiple sorted lists in a distributed computing system
CN106293537B (zh) 一种轻量级的数据密集型文件系统的自治块管理方法
CN113157715B (zh) 纠删码数据中心机架协同更新方法
CN112445653A (zh) 一种多时间窗口的混合容错云存储方法、装置及介质
CN111522825A (zh) 基于校验信息块共享缓存机制的高效信息更新方法及系统
Du et al. A cost-efficient data placement algorithm with high reliability in Hadoop

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