CN111290710B - 一种基于动态调整复制因子的云副本存储方法及系统 - Google Patents
一种基于动态调整复制因子的云副本存储方法及系统 Download PDFInfo
- Publication number
- CN111290710B CN111290710B CN202010063948.7A CN202010063948A CN111290710B CN 111290710 B CN111290710 B CN 111290710B CN 202010063948 A CN202010063948 A CN 202010063948A CN 111290710 B CN111290710 B CN 111290710B
- Authority
- CN
- China
- Prior art keywords
- replication
- data block
- subset
- nodes
- priority queue
- 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
- 230000010076 replication Effects 0.000 title claims abstract description 167
- 238000000034 method Methods 0.000 title claims abstract description 35
- 239000006185 dispersion Substances 0.000 claims abstract description 15
- 230000001351 cycling effect Effects 0.000 claims description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 230000007547 defect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000004880 explosion Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
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
-
- 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/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
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
本发明提出一种基于动态调整复制因子的云副本存储方法及系统,包括:根据预设的分散宽度和分布式存储系统中节点数量,生成多个全部节点的排列,根据排列划分复制因子的复制子集;初始数据块的复制因子,将所有数据块加入与复制因子相对应的优先级队列中,根据优先级队列将数据块的副本放入相应的复制子集中;统计各数据块的访问次数,增加访问次数最高的数据块的复制因子,以将访问次数最高的数据块加入高等级的优先级队列中,降低访问次数最低的数据块的复制因子,以将访问次数最低的数据块加入低等级的优先级队列中;将各数据块上一个周期所在的优先级队列的等级与当前周期所在优先级队列的等级相比较,根据比较结果调整各数据块所在复制子集。
Description
技术领域
本发明涉及分布式存储系统的副本放置问题,具体涉及为权衡数据丢失可能性和副本数量设计的副本放置方法,属于分布式计算领域。
背景技术
当今时代是一个信息爆炸的时代,数据飞速增长,传统的存储方式已经不能满足时代的需求,为了满足需求分布式存储开始迅速发展起来,但是分布式存储系统大多由廉价的商用机组成,这就使得系统中某个节点失效变成了常态,为了保障节点失效时数据不会丢失,现有的分布式存储系统采用了放置多个副本的方式来保障数据的可靠性和可用性。
副本放置的方法会影响系统中数据的可靠性和可用性,甚至影响整个系统的性能。这就使研究副本放置技术变得十分有意义。现有的分布式存储系统如HDFS,GFS默认采用随机选择的方式来放置副本,但这种方式已经被证明了在大规模集群中当百分之一的节点同时失效时几乎必定会丢失数据,此外HDFS默认采用静态的复制因子,其默认值为3,也就是说每个数据块都会在系统中保存3份副本,这样虽然保障了数据的可靠性和可用性,但是没有区分数据块热度,存储了高热度的数据块的节点的负载会因此提升,而有的数据块几乎不被访问或访问次数低,不需要那么多数量的副本,可能使整个集群的负载不均衡。现有技术中还提出过复制子集的概念,使用其来放置副本,可以显著的降低数据丢失的概率,但其目的在于提高系统的耐久性,并没有考虑负载均衡问题。
发明内容
本发明提供了一种副本放置的方法,目标是通过减少分布式存储系统中数据丢失的概率及动态的改变数据块复副本的数量,从而提高整个系统的存储效率。该方法按照周期内数据块的访问次数来将数据块划分成不同优先级,将属于不同优先级的数据块添加到不同复制因子的复制子集中,限制其副本放置数量。此外该方法还提供了数据块在不同复制因子的复制子集间转换的方法,以达到动态改变复制因子的目的。
针对现有技术的不足,本发明提出一种基于动态调整复制因子的云副本存储方法,其中包括:
步骤1、根据预设的分散宽度和分布式存储系统中节点数量,生成多个全部节点的排列,根据该排列划分复制因子的复制子集;
步骤2、初始化该分布式存储系统中数据块的复制因子,将所有数据块加入与该复制因子相对应的优先级队列中,根据优先级队列将数据块的副本放入相应的复制子集中;
步骤3、周期性地统计各数据块的访问次数,增加访问次数最高的数据块的复制因子,以将访问次数最高的数据块加入高等级的优先级队列中,降低访问次数最低的数据块的复制因子,以将访问次数最低的数据块加入低等级的优先级队列中;
步骤4、将各数据块上一个周期所在的优先级队列的等级与当前周期所在优先级队列的等级相比较,根据比较结果调整各数据块所在的复制子集,增加或删除或保持副本。
步骤5、循环该步骤3和该步骤4动态调整该分布式存储系统中数据块的复制因子,以动态的改变各数据块复副本的数量。
所述的基于动态调整复制因子的云副本存储方法,其中该步骤1中生成多个全部节点的排列过程中包括约束条件;
判断生成的排列是否满足该约束条件,如否,则重新随机排列全部节点生成新的排列,直到生成P个满足该约束条件的排列为止。
所述的基于动态调整复制因子的云副本存储方法,其中该步骤1的中成多个全部节点的排列个数P的过程包括:
其中S为分散宽度;R为动态调整范围内最小的复制因子。
所述的基于动态调整复制因子的云副本存储方法,其中该该约束条件包括限制同一复制子集中的节点出现在该分布式存储系统的同一机架上。
所述的基于动态调整复制因子的云副本存储方法,其中该步骤4中根据比较结果调整各数据块所在的复制子集,增加或删除或保持副本,具体包括:
当比较结果为数据块上一个周期所在的优先级队列的等级R′大于当前周期所在优先级队列的等级R时,检查数据块所在的复制子集是否是某个复制因子等于R的复制子集的子集,若是,则将在复制因子等于R的复制子集中添加放置一个副本;
当R′大于R时,检查所有复制因子等于R的复制子集中是否有数据块所在的复制子集的子集,若有,则直接删除在两集合的差的节点上的副本。
本发明还提供了一种基于动态调整复制因子的云副本存储系统,其中包括:
模块1、根据预设的分散宽度和分布式存储系统中节点数量,生成多个全部节点的排列,根据该排列划分复制因子的复制子集;
模块2、初始化该分布式存储系统中数据块的复制因子,将所有数据块加入与该复制因子相对应的优先级队列中,根据优先级队列将数据块的副本放入相应的复制子集中;
模块3、周期性地统计各数据块的访问次数,增加访问次数最高的数据块的复制因子,以将访问次数最高的数据块加入高等级的优先级队列中,降低访问次数最低的数据块的复制因子,以将访问次数最低的数据块加入低等级的优先级队列中;
模块4、将各数据块上一个周期所在的优先级队列的等级与当前周期所在优先级队列的等级相比较,根据比较结果调整各数据块所在的复制子集,增加或删除或保持副本。
模块5、循环该模块3和该模块4动态调整该分布式存储系统中数据块的复制因子,以动态的改变各数据块复副本的数量。
所述的基于动态调整复制因子的云副本存储系统,其中该模块1中生成多个全部节点的排列过程中包括约束条件;
判断生成的排列是否满足该约束条件,如否,则重新随机排列全部节点生成新的排列,直到生成P个满足该约束条件的排列为止。
所述的基于动态调整复制因子的云副本存储系统,其中该模块1的中成多个全部节点的排列个数P的过程包括:
其中S为分散宽度;R为动态调整范围内最小的复制因子。
所述的基于动态调整复制因子的云副本存储系统,其中该该约束条件包括限制同一复制子集中的节点出现在该分布式存储系统的同一机架上。
所述的基于动态调整复制因子的云副本存储系统,其中该模块4中根据比较结果调整各数据块所在的复制子集,增加或删除或保持副本,具体包括:
当比较结果为数据块上一个周期所在的优先级队列的等级R′大于当前周期所在优先级队列的等级R时,检查数据块所在的复制子集是否是某个复制因子等于R的复制子集的子集,若是,则将在复制因子等于R的复制子集中添加放置一个副本;
当R′大于R时,检查所有复制因子等于R的复制子集中是否有数据块所在的复制子集的子集,若有,则直接删除在两集合的差的节点上的副本。
附图说明
图1为本发明系统流程图;
图2为优先级队列和复制子集的对应关系示意图。
具体实施方式
具体来说,本发明包括以下步骤:
A.根据用户提供的分散宽度S和分布式存储系统中的节点个数N划分复制子集。
A1.根据用户输入的S随机生成P个全部N个节点的排列。在生成排列的过程中可以增加相应的约束(如限制同一复制子集中的节点出现在同一机架上)。
A2.根据上述排列划分出不同复制因子R的复制子集。
B.基于划分好的复制子集放置副本。
B1.初始默认所有数据块的复制因子为3,将所有数据块加入到R=3的优先级队列中。
B2.根据优先级队列将数据块副本放入相应的复制子集中。在本实施例中具体为创建四个队列对象,分别用来存储不同优先级的数据块,且每个队列对应用一个复制因子R生成的所有复制子集(也就是说某一优先级队列中的数据块只能在特定的复制因子R生成的复制子集中放置副本)。优先级队列和复制子集的对应关系如下:优先级最高的队列中的数据块使用R=5的复制子集放置副本,其次高的使用R=4的复制子集放置副本,以此类推,如图2所示。在放置数据块副本时会从所有相应的复制子集中随机选择一个来放置。
C.周期性地统计数据块的访问次数,调整数据块的优先级。
C1.周期性(如以10分钟为周期)统计每个数据块被访问的次数,将数据块按周期内的被访问次数排序。
C2.将被访问次数最高的10%的数据块加入到R=5的优先级队列中。
C3.将之后10%的数据块加入到R=4的优先级队列中。
C4.将被访问次数最低的30%的数据块加入到R=2的优先级队列中。
C5.其余数据块加入到R=3的优先级队列中。
D.根据优先级动态调整副本的放置。
D1.将每个数据块上一个周期所在的优先级队列的副本因子记为R′。根据相应的从R′到R(目前所在优先级队列的复制因子)策略,调整数据块所在的复制子集,增加或删除副本。
D2.副本的放置调整完成后,回到C统计下一个周期数据块的访问次数。
本发明的优点在于提供了一种能够动态改变复制因子并降低数据丢失概率的副本放置方法,通过周期性地统计数据块的访问次数,改变数据块所处的优先级队列,根据优先级调整数据块所处的复制子集。最终达到提高存储效率的目的。
为让本发明的上述特征和效果能阐述的更明确易懂,下文特举实施例,并配合说明书附图作详细说明如下。
下面结合附图1,进一步描述本发明步骤,如图1本发明的步骤包含:A.划分复制子集;B.基于划分好的复制子集放置副本;C.周期性地统计数据块的访问次数,调整数据块的优先级;D.根据优先级动态调整副本的放置。具体的一种实施方式如下:
A.根据用户提供的分散宽度S和系统中的节点个数N划分复制子集。
A1.根据用户输入的S随机生成P个全部N个节点的排列。在生成排列的过程中可以增加相应的约束(如限制同一复制子集中的节点出现在同一机架上)。
A11.其中分散宽度S的定义为:一个数据节点的数据可以均匀的分散在S个其他节点上。(如S=4,假设有复制子集{N1,N2,N3}和{N1,N4,N5},则节点N1上的数据块,会均匀地分布在节点N2,N3,N4,N5上,这是因为使用复制子集放置副本时,同一数据块的副本只能放置在同一复制子集内)
A12.其中排列个数P由公式:生成,其中S为分散宽度;R为动态调整范围内最小的复制因子,即R=2。如果P不为整数,向上取整。
A13.其中可添加约束限制生成的排列满足需求,如果生成的排列不满足约束限制,重新随机排列全部节点生成新的排列,直到生成P个满足约束的排列为止。
A2.根据上述排列划分出不同复制因子R的复制子集。
A21.由排列生成复制子集的规则如下:按顺序将排列中每R个节点划分为一个复制子集。(例如系统中节点总数N=9,复制因子R=3,现有排列N1,N2,N3,N4,N5,N6,N7,N8,N9,则可划分出复制子集{N1,N2,N3}{N4,N5,N6}{N7,N8,N9}。)
A22.划分出不同复制因子R的复制子集的含义是:对同一排列分别使用不同复制因子R生成复制子集。(例如现有排列N1,N2,N3,N4,N5,N6。使用复制因子R=2和R=3生成复制子集,可得到复制子集{N1,N2}{N3,N4}{N5,N6}{N1,N2,N3}{N4,N5,N6})本方法使用的复制因子有R=2,R=3,R=4,R=5。
B.基于划分好的复制子集放置副本。
B1.初始默认所有数据块的复制因子为3,将所有数据块加入到R=3的优先级队列中。
B11.本方法使用了四个优先级队列,优先级从高到低为:R=5的优先级队列,R=4的优先级队列,R=3的优先级队列,R=2的优先级队列。这四个队列中的数据块分别使用R=5,R=4,R=3,R=2生成的复制子集放置副本。
B12.所有数据块的初始复制因子为3,和默认HDFS相同所有新加入的数据块的复制因子也为3。
B2.根据优先级队列将数据块副本放入相应的复制子集中。
B21.数据块的放置规则如下,第一个副本随机选择一个系统中的节点放置,其余副本放置于包含第一个副本放置节点的同一复制子集内,如有多个复制子集包含第一个副本的放置节点,随机在这些复制子集中选择一个来放置其余节点。(例如,R=3时,有复制子集{N1,N2,N3}和{N1,N4,N5},当第一个副本放置在了节点N1上,其余两个副本将放置在N2和N3上,或者N4和N5上。)
C.周期性地统计数据块的访问次数,调整数据块的优先级。
C1.周期性(如以10分钟为周期)统计每个数据块被访问的次数,将数据块按周期内的被访问次数排序。
C2.将被访问次数最高的10%的数据块加入到R=5的优先级队列中。
C3.将之后10%的数据块加入到R=4的优先级队列中。
C4.将被访问次数最低的30%的数据块加入到R=2的优先级队列中。
C5.其余数据块加入到R=3的优先级队列中。
D.根据优先级动态调整副本的放置。
D1.将每个数据块上一个周期所在的优先级队列的副本因子记为R′。根据相应的从R′到R(目前所在优先级队列的复制因子)策略,调整数据块所在的复制子集,增加或删除副本。
D11.其中从R′到R策略详细如下:当R′小于R时,也就是数据块的优先级变高时,检查数据块所在的复制子集是否是某个复制因子等于R的复制子集的子集,如果是,将在相应的复制因子等于R的复制子集中添加放置一个副本。(例如,现有一个数据块从R=2的优先级队列升到了R=3的优先级队列,需要增加一个副本。原来这个块所在的复制子集为{N1,N2},也就是说这个块存储在节点N1和N2上,共有两个副本,系统中还有一个复制子集{N1,N2,N3},检查发现{N1,N2}是{N1,N2,N3}的子集,故只需在节点N3上添加放置一份副本。)如果不是,找出数据块所在的复制子集和所有复制因子等于R的复制子集的最大公共子集,删除数据块所在的复制子集与最大公共子集的差的节点上的数据副本,在包含最大公共子集的复制因子等于R的复制子集中的非最大公共子集节点上增加放置副本。(例如,现有一个数据块从R=3的优先级队列升到了R=4的优先级队列,原来这个块所在的复制子集为{N4,N5,N6},系统中有R=4的复制子集{N1,N2,N3,N4}{N5,N6,N7,N8}。{N4,N5,N6}不是{N1,N2,N3,N4}和{N5,N6,N7,N8}的子集,找出{N4,N5,N6}和{N1,N2,N3,N4},{N5,N6,N7,N8}的最大公共子集为{N5,N6},删除{N4,N5,N6}与{N5,N6}的差上的数据块副本,也就是N4上该数据块的副本,在包含{N5,N6}的R=4的复制子集中增加放置副本,也就是在复制子集{N5,N6,N7,N8}上的N7,N8上增加放置副本。)
D12.当R′大于R时,也就是数据块的优先级变低时,检查所有复制因子等于R的复制子集中是否有数据块所在的复制子集的子集,如果有直接删除在两集合的差的节点上的副本。两集合是指两个集合,其中一个集合是当前数据块放置副本时使用的复制子集(复制子集是节点的集合),另一个集合要在复制因子等于R的所有复制子集中寻找,使这个集合与第一个集合有最多的公共部分。所以之后会优先考虑两者是否构成子集关系,再考虑两者的最大公共子集。(例如,现有一个数据块从R=3的优先级队列降到了R=2的优先级队列,需要删除一个副本。原来这个数据块所在的复制子集为{N1,N2,N3},系统中还有一个复制子集{N1,N2},检查发现{N1,N2}是{N1,N2,N3}的子集,故只需将N3上的数据副本删除即可。)如果没有,找出数据块所在的复制子集和所有复制因子等于R的复制子集的最大公共子集,删除数据块所在的复制子集与最大公共子集的差的节点上的数据副本,在包含最大公共子集的复制因子等于R的复制子集中的非最大公共子集节点上增加放置副本。(例如,现有一个数据块从R=5的优先级队列降到了R=4的优先级队列,原来这个块所在的复制子集为{N6,N7,N8,N9,N10},系统中有R=4的复制子集{N5,N6,N7,N8},{N9,N10,N11,N12}。{N5,N6,N7,N8},{N9,N10,N11,N12}不是{N6,N7,N8,N9,N10}的子集,找出{N6,N7,N8,N9,N10}和{N5,N6,N7,N8},{N9,N10,N11,N12}的最大公共子集为{N6,N7,N8},删除{N6,N7,N8,N9,N10}与{N6,N7,N8}的差上的数据块副本,也就是N9和N10上该数据块的副本,在包含{N6,N7,N8}的R=4的复制子集中增加放置副本,也就是在复制子集{N5,N6,N7,N8}上的N5上增加放置副本。)
D2.副本的放置调整完成后,回到C统计下一个周期数据块的访问次数。
本发明通过对周期内数据块的访问次数统计进行排序,将数据块加入不同的优先级队列,为不同优先级队列中的数据放置不同的副本数量,达到负载均衡的目的,本发明使用了复制子集来放置副本,大大降低数据块的丢失概率,最终提高了整个系统的存储效率,具有良好的市场前景和应用价值。
以下为与上述方法实施例对应的系统实施例,本实施方式可与上述实施方式互相配合实施。上述实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在上述实施方式中。
本发明还提供了一种基于动态调整复制因子的云副本存储系统,其中包括:
模块1、根据预设的分散宽度和分布式存储系统中节点数量,生成多个全部节点的排列,根据该排列划分复制因子的复制子集;
模块2、初始化该分布式存储系统中数据块的复制因子,将所有数据块加入与该复制因子相对应的优先级队列中,根据优先级队列将数据块的副本放入相应的复制子集中;
模块3、周期性地统计各数据块的访问次数,增加访问次数最高的数据块的复制因子,以将访问次数最高的数据块加入高等级的优先级队列中,降低访问次数最低的数据块的复制因子,以将访问次数最低的数据块加入低等级的优先级队列中;
模块4、将各数据块上一个周期所在的优先级队列的等级与当前周期所在优先级队列的等级相比较,根据比较结果调整各数据块所在的复制子集,增加或删除或保持副本。
模块5、循环该模块3和该模块4动态调整该分布式存储系统中数据块的复制因子,以动态的改变各数据块复副本的数量。
所述的基于动态调整复制因子的云副本存储系统,其中该模块1中生成多个全部节点的排列过程中包括约束条件;
判断生成的排列是否满足该约束条件,如否,则重新随机排列全部节点生成新的排列,直到生成P个满足该约束条件的排列为止。
所述的基于动态调整复制因子的云副本存储系统,其中该模块1的中成多个全部节点的排列个数P的过程包括:
其中S为分散宽度;R为动态调整范围内最小的复制因子。
所述的基于动态调整复制因子的云副本存储系统,其中该该约束条件包括限制同一复制子集中的节点出现在该分布式存储系统的同一机架上。
所述的基于动态调整复制因子的云副本存储系统,其中该模块4中根据比较结果调整各数据块所在的复制子集,增加或删除或保持副本,具体包括:
当比较结果为数据块上一个周期所在的优先级队列的等级R′大于当前周期所在优先级队列的等级R时,检查数据块所在的复制子集是否是某个复制因子等于R的复制子集的子集,若是,则将在复制因子等于R的复制子集中添加放置一个副本;
当R′大于R时,检查所有复制因子等于R的复制子集中是否有数据块所在的复制子集的子集,若有,则直接删除在两集合的差的节点上的副本。
Claims (2)
1.一种基于动态调整复制因子的云副本存储方法,其特征在于,包括:
步骤1、根据预设的分散宽度和分布式存储系统中节点数量,生成多个全部节点的排列,根据该排列划分复制因子的复制子集;
步骤2、初始化该分布式存储系统中数据块的复制因子,将所有数据块加入与该复制因子相对应的优先级队列中,根据优先级队列将数据块的副本放入相应的复制子集中;
步骤3、周期性地统计各数据块的访问次数,增加访问次数最高的数据块的复制因子,以将访问次数最高的数据块加入高等级的优先级队列中,降低访问次数最低的数据块的复制因子,以将访问次数最低的数据块加入低等级的优先级队列中;
步骤4、将各数据块上一个周期所在的优先级队列的等级与当前周期所在优先级队列的等级相比较,根据比较结果调整各数据块所在的复制子集,增加或删除或保持副本;
步骤5、循环该步骤3和该步骤4动态调整该分布式存储系统中数据块的复制因子,以动态的改变各数据块复副本的数量;
其中该步骤1中生成多个全部节点的排列过程中包括约束条件;判断生成的排列是否满足该约束条件,如否,则重新随机排列全部节点生成新的排列,直到生成P个满足该约束条件的排列为止;
该步骤1的中成多个全部节点的排列个数P的过程包括:
其中S为分散宽度,其为一个数据节点的数据可以均匀的分散在S个其他节点上;R为动态调整范围内最小的复制因子;
该步骤4中根据比较结果调整各数据块所在的复制子集,增加或删除或保持副本,具体包括:
当比较结果为数据块上一个周期所在的优先级队列的等级R′大于当前周期所在优先级队列的等级R时,检查数据块所在的复制子集是否是某个复制因子等于R的复制子集的子集,若是,则将在复制因子等于R的复制子集中添加放置一个副本;
当R′大于R时,检查所有复制因子等于R的复制子集中是否有数据块所在的复制子集的子集,若有,则直接删除在两集合的差的节点上的副本;
该约束条件包括限制同一复制子集中的节点出现在该分布式存储系统的同一机架上。
2.一种基于动态调整复制因子的云副本存储系统,其特征在于,包括:
模块1、根据预设的分散宽度和分布式存储系统中节点数量,生成多个全部节点的排列,根据该排列划分复制因子的复制子集;
模块2、初始化该分布式存储系统中数据块的复制因子,将所有数据块加入与该复制因子相对应的优先级队列中,根据优先级队列将数据块的副本放入相应的复制子集中;
模块3、周期性地统计各数据块的访问次数,增加访问次数最高的数据块的复制因子,以将访问次数最高的数据块加入高等级的优先级队列中,降低访问次数最低的数据块的复制因子,以将访问次数最低的数据块加入低等级的优先级队列中;
模块4、将各数据块上一个周期所在的优先级队列的等级与当前周期所在优先级队列的等级相比较,根据比较结果调整各数据块所在的复制子集,增加或删除或保持副本;
模块5、循环该模块3和该模块4动态调整该分布式存储系统中数据块的复制因子,以动态的改变各数据块复副本的数量;
该模块1中生成多个全部节点的排列过程中包括约束条件;判断生成的排列是否满足该约束条件,如否,则重新随机排列全部节点生成新的排列,直到生成P个满足该约束条件的排列为止;
该模块1的中成多个全部节点的排列个数P的过程包括:
其中S为分散宽度,其为一个数据节点的数据可以均匀的分散在S个其他节点上;R为动态调整范围内最小的复制因子;
该模块4中根据比较结果调整各数据块所在的复制子集,增加或删除或保持副本,具体包括:
当比较结果为数据块上一个周期所在的优先级队列的等级R′大于当前周期所在优先级队列的等级R时,检查数据块所在的复制子集是否是某个复制因子等于R的复制子集的子集,若是,则将在复制因子等于R的复制子集中添加放置一个副本;
当R′大于R时,检查所有复制因子等于R的复制子集中是否有数据块所在的复制子集的子集,若有,则直接删除在两集合的差的节点上的副本;
该约束条件包括限制同一复制子集中的节点出现在该分布式存储系统的同一机架上。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010063948.7A CN111290710B (zh) | 2020-01-20 | 2020-01-20 | 一种基于动态调整复制因子的云副本存储方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010063948.7A CN111290710B (zh) | 2020-01-20 | 2020-01-20 | 一种基于动态调整复制因子的云副本存储方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111290710A CN111290710A (zh) | 2020-06-16 |
CN111290710B true CN111290710B (zh) | 2024-04-05 |
Family
ID=71023299
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010063948.7A Active CN111290710B (zh) | 2020-01-20 | 2020-01-20 | 一种基于动态调整复制因子的云副本存储方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111290710B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111860609B (zh) * | 2020-06-29 | 2023-08-25 | 深圳大学 | 跨数据中心的数据分析方法、装置、设备及存储介质 |
CN111796973B (zh) * | 2020-06-30 | 2024-08-06 | 南京航空航天大学 | 一种面向数据中心存储故障的数据恢复调优方法 |
CN112527751B (zh) * | 2020-12-16 | 2023-10-31 | 中国联合网络通信集团有限公司 | 数据处理方法、装置、电子设备和存储介质 |
CN115277858B (zh) * | 2022-09-23 | 2022-12-20 | 太极计算机股份有限公司 | 一种大数据的数据处理方法和系统 |
KR20240060293A (ko) * | 2022-10-28 | 2024-05-08 | 삼성에스디에스 주식회사 | 키스페이스의 파티셔닝을 위한 시스템, 방법 및 컴퓨터로 판독 가능한 저장 매체 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105760391A (zh) * | 2014-12-18 | 2016-07-13 | 华为技术有限公司 | 数据动态重分布的方法、数据节点、名字节点及系统 |
CN107003933A (zh) * | 2014-05-27 | 2017-08-01 | 北京大学深圳研究生院 | 部分复制码的构建方法、装置及其数据修复的方法 |
CN107807793A (zh) * | 2017-10-27 | 2018-03-16 | 清华大学 | 分布式计算机存储系统中数据副本异构存储与访问方法 |
CN110457280A (zh) * | 2019-08-02 | 2019-11-15 | 南京邮电大学 | 一种hdfs副本再复制改进策略 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10102086B2 (en) * | 2014-12-19 | 2018-10-16 | Futurewei Technologies, Inc. | Replicated database distribution for workload balancing after cluster reconfiguration |
-
2020
- 2020-01-20 CN CN202010063948.7A patent/CN111290710B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107003933A (zh) * | 2014-05-27 | 2017-08-01 | 北京大学深圳研究生院 | 部分复制码的构建方法、装置及其数据修复的方法 |
CN105760391A (zh) * | 2014-12-18 | 2016-07-13 | 华为技术有限公司 | 数据动态重分布的方法、数据节点、名字节点及系统 |
CN107807793A (zh) * | 2017-10-27 | 2018-03-16 | 清华大学 | 分布式计算机存储系统中数据副本异构存储与访问方法 |
CN110457280A (zh) * | 2019-08-02 | 2019-11-15 | 南京邮电大学 | 一种hdfs副本再复制改进策略 |
Non-Patent Citations (3)
Title |
---|
分布式存储系统中数据修复的自适应流控机制;陈志鹏;李小勇;;信息技术(第11期);全文 * |
基于可分组设计的部分重复码研究;朱兵;李挥;陈俊;侯韩旭;周泰;;通信学报(第02期);全文 * |
异构Hadoop集群中数据副本放置策略优化;刘艳;蔡燕冬;谢晓东;张庆磊;;华中科技大学学报(自然科学版)(第07期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111290710A (zh) | 2020-06-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111290710B (zh) | 一种基于动态调整复制因子的云副本存储方法及系统 | |
US8543782B2 (en) | Content-based, compression-enhancing routing in distributed, differential electronic-data storage systems | |
CN102968503B (zh) | 数据库系统的数据处理方法以及数据库系统 | |
JP6553649B2 (ja) | クラスタリング記憶方法および装置 | |
CN106990915B (zh) | 一种基于存储介质类型和加权配额的存储资源管理方法 | |
EP4340331A2 (en) | Replicated database distribution for workload balancing after cluster reconfiguration | |
US10228857B2 (en) | Expanding variable sub-column widths as needed to store data in memory | |
CN107729535B (zh) | 一种键值数据库内布隆过滤器的配置方法 | |
CN103838860A (zh) | 一种基于动态副本策略的文件存储系统及其存储方法 | |
US8352470B2 (en) | Adaptive aggregation: improving the performance of grouping and duplicate elimination by avoiding unnecessary disk access | |
CN105242983A (zh) | 一种数据存储方法以及一种数据存储管理服务器 | |
WO2016180049A1 (zh) | 一种存储管理方法及分布式文件系统 | |
CN108073472B (zh) | 一种基于热度感知的内存纠删码分布方法 | |
KR20150035876A (ko) | 데이터 중복 제거 방법 및 장치 | |
CN103473368A (zh) | 一种基于计数排序的虚拟机实时迁移方法及系统 | |
CN112306692B (zh) | 一种分布式存储系统的归置组均衡方法和装置 | |
CN112380004B (zh) | 内存管理方法、装置、计算机可读存储介质及电子设备 | |
CN108920282A (zh) | 一种支持负载均衡的内容副本生成、放置及更新方法 | |
Berkovich et al. | Reversing the error-correction scheme for a fault-tolerant indexing | |
CN109992196B (zh) | 索引数据的存储方法及装置、存储系统 | |
Mense et al. | Spread: An adaptive scheme for redundant and fair storage in dynamic heterogeneous storage systems | |
CN107341113B (zh) | Cache的压缩方法和装置 | |
US20130290378A1 (en) | Adaptive probabilistic indexing with skip lists | |
CN107168649B (zh) | 一种分布式存储系统中数据分布的方法及装置 | |
US11036678B2 (en) | Optimizing files stored in a distributed file system |
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 |