为数据副本设定独立的权重因子和速度因子的方法技术

技术编号:13972239 阅读:51 留言:0更新日期:2016-11-10 22:18
为数据副本设定独立的权重因子和速度因子的方法涉及计算机技术领域。本发明专利技术主要是为每个数据副本增加一个权重,在数据读写的时候按照权重大小来依次对数据副本做读写,权重越高,越优先读写;本发明专利技术对数据写成功的返回条件可以设定,按照数据副本的权重满足设定的一致性原则,提高了系统的写效率,降低延迟;本发明专利技术根据存储节点的各自的性能设定不同速度因子,对性能好节点优先读写。

【技术实现步骤摘要】

本专利技术涉及计算机
,尤其是计算机数据存储领域。
技术介绍
在软件定义存储,分布式计算,以及大数据的应用中,都使用数据副本来存储数据。数据副本就是一份数据一般有2或者3个副本,分别存储在不同的存储节点中,目的是为了保证数据一致性和完整性。下面以三个数据副本为例来详细说明。假设有100M的数据需要存储,有3个副本,那么有同样的100M的数据分别存储在3个存储节点上。这样即使某个或者某两个存储节点失败,数据还是完整的,不会出现数据丢失。100M的数据如何存储在存储节点通过元数据表来定义。元数据表不是实际的数据,而是对实际数据存储位置的描述。假设100M按照4M一个单位来存储,那么就需要100M/4M = 25个元数据描述。具体如下表:数据单位存储节点A存储节点B存储节点C第1个4M第1个物理起始位置第1个物理起始位置第1个物理起始位置第2个4M第2个物理起始位置第2个物理起始位置第2个物理起始位置....第25个4M第25个物理起始位置第25个物理起始位置第25个物理起始位置在传统的数据副本存储中,每个节点的数据都是等权重的,按上述的例子,要写入一个4M数据,需要3个节点的3个副本都完成写入操作并正确返回才算是一次写操作完成。要读出一个4M数据,可以随机从这3个节点中任何一个读出。以上读写操作没有考虑性能开销,假设其中一个节点是一台配置不高的机器,读写性能较差,那么就会存在性能瓶颈,导致读写延迟。在一个较大服务器群中,服务器的性能和配置差别较大,这样依据现有的技术,整个系统的性能被更新慢的服务器拖累。本专利技术设计了数据副本权重,通过权重来设定数据副本的读写顺序和一致性检查,达到性能和数据完整性之间的平衡。
技术实现思路
本专利技术的为数据副本设定独立的权重因子和速度因子的方法主要是为每个数据副本增加一个权重,在数据读写的时候按照权重大小来依次对数据副本做读写,权重越高,越优先读写;本专利技术对数据写成功的返回条件可以设定,按照数据副本的权重满足设定的一致性原则,提高了系统的写效率,降低延迟;本专利技术根据存储节点的各自的性能设定不同速度因子,对性能好节点优先读写。为数据副本设定独立的权重因子和速度因子的方法,其实现步骤如下:1.为每个数据副本设定独立的权重因子,设定原则是有且只有一个副本是高权重因子,其它副本是低等权重因子;2.数据副本高权重因子的设定算法是N减去1,N为数据副本数,其它数据副本为低等权重因子,低等权重因子全部设定为1 ;3.为每个数据副本设定独立速度因子,速度因子跟数据副本所存放的存储节点读写性能有关,读写性能越高,速度因子值越大;4.数据副本速度因子最大值设定算法是:1/(N+1) ,N为数据副本数;其它数据副本的速度因子根据节点性能等级,可以自由设置,但是不能超过最大值,而且根据算法,所有数据副本的速度因子总和小于1;5.权重因子加速度因子作为数据副本权重;数据写顺序按数据副本权重依次写,数据读顺序按速度因子大小次序读;6.数据副本具有强一致性原则和弱一致性原则,数据副本权重之和大于或者等于的数据副本数,就认为满足数据强一致性原则,在没有节点失败的情况下,数据副本必须满足强一致性原则;数据副本权重之和大于或者等于的数据副本数减1,就认为符合数据弱一致性原则;在有节点失败的情况下,数据副本要求满足弱一致性原则。为数据副本设定独立的权重因子和速度因子的方法,其实现步骤也可以描述为:步骤S01. 为系统设定使用的一致性原则,可以选择强一致性原则或弱一致性原则;步骤S02. 为每个数据副本设定独立的权重因子;步骤S03. 为每个数据副本设定独立的速度因子;步骤S04. 为每个数据副本设定副本权重;步骤S05. 数据写操作,按数据副本权重依次写;步骤S06. 数据读操作,按数据副本速度因子大小从大往小读。附图说明图1是本专利技术的实现流程图。具体实施方式参看图1,实现本专利技术的为数据副本设定独立的权重因子和速度因子的方法的实施例如下:假设有100M的数据需要存储,按照3个副本方式存储在10个存储节点上,按照10M一个单元来存储,传统的数据分布表如下:数据节点1节点2节点3节点4节点5节点6节点7节点8节点9节点101-10MXXX2-10MXXX3-10MXXX4-10MXXX5-10MXXX6-10MXXX7-10MXXX8-10MXXX9-10MXXX10-10MXXXX表示节点上数据副本分布,每个存储节点都有3个数据副本。本专利技术在传统的数据分布基础上设计一个权重因子,设定原则有且只有一个副本是高权重,这个例子中,高权重因子是3-1=2,其它副本是等低权重,都是1。这样上述的数据分布表就变化为:数据节点1节点2节点3节点4节点5节点6节点7节点8节点9节点101-10MX2X1X12-10MX2X1X13-10MX2X1X14-10MX2X1X15-10MX2X1X16-10MX2X1X17-10MX2X1X18-10MX2X1X19-10MX1X2X110-10MX1X1X2X表示有数据分布,2表示权重因子为2,1表示权重因子为1。在实际环境中,有可能这10个存储节点性能不一致,因此本专利设计了一个速度因子,读写性能越高,速度因子值越大,这个最大值设定为1/(n+1)。那么所有节点速度因子加起来的最大值也小于或等于n/(n+1),小于1。这样的设计是为了在后面计算总权重的时候,速度因子不会影响到权重因子,权重因子大的权重肯定大。其它数据副本的速度因子根据节点性能可以自由设置,可以无限分级。延续上面的例子,假设10个节点中,有节点1、4、7的性能高于节点2、5、8,而节点2、5、8高于节点3、6,节点3、6高于节点9、10。这相当于有4档,根据专利对速度因子的设计,最高档的速度因子值为1/(3+1)=0.25,那么第二档设置为0.2,第三档设计为0.1,第四档设计为0.5。数据分配表中速度因子如下下表:数据节点1节点2节点3节点4节点5节点6节点7节点8节点9节点101-10M0.250.20.12-10M0.20.10.253-10M0.10.250.24-10M0.250.20.15-10M0.20.10.256-10M0.10.250.27-10M0.250.20.58-10M0.20.50.59-10M0.250.50.510-10M0.250.2X2权重因子+速度因子=数据副本权重。数据写顺序按数据副本权重依次写,数据读顺序按速度因子大小次序读。继续上述的例子,权重因子+速度因子后的数据副本权重表如下:数据节点1节点2节点3节点4节点5节点6节点7节点8节点9节点101-10MX2.25X1.2X1.12-10MX2.2X1.2X1.253-10MX2.2X1.25X1.24-10MX2.25X1.2X1.15-10MX2.2X1.1X1.256-10MX2.1X1.25X1.27-10MX2.25X1.2X1.58-10MX2.2X1.5X1.59-10MX1.25X2.5X1.510-10MX1.25X1.2X2.5X表示有数据分布,数值表示数据副本权重。有了这个表后,对数据副本的读写就根据权重值来读写。比如要写第5个10M数据,最优先写节点5的数据副本,然后写节点7的本文档来自技高网
...

【技术保护点】
为数据副本设定独立的权重因子和速度因子的方法,其特征在于实现步骤包括:1)为每个数据副本设定独立的权重因子,设定原则是有且只有一个副本是高权重因子,其它副本是低等权重因子;2)数据副本高权重因子的设定算法是N减去1,N为数据副本数,其它数据副本为低等权重因子,低等权重因子全部设定为1 ;3)为每个数据副本设定独立速度因子,速度因子跟数据副本所存放的存储节点读写性能有关,读写性能越高,速度因子值越大;4)数据副本速度因子最大值设定算法是:1/(N+1) ,N为数据副本数;其它数据副本的速度因子根据节点性能等级,可以自由设置,但是不能超过最大值,而且根据算法,所有数据副本的速度因子总和小于1;5)权重因子加速度因子作为数据副本权重;数据写顺序按数据副本权重依次写,数据读顺序按速度因子大小次序读;6)数据副本具有强一致性原则和弱一致性原则,数据副本权重之和大于或者等于的数据副本数,就认为满足数据强一致性原则,在没有节点失败的情况下,数据副本必须满足强一致性原则;数据副本权重之和大于或者等于的数据副本数减1,就认为符合数据弱一致性原则;在有节点失败的情况下,数据副本要求满足弱一致性原则。

【技术特征摘要】
1.为数据副本设定独立的权重因子和速度因子的方法,其特征在于实现步骤包括:1)为每个数据副本设定独立的权重因子,设定原则是有且只有一个副本是高权重因子,其它副本是低等权重因子;2)数据副本高权重因子的设定算法是N减去1,N为数据副本数,其它数据副本为低等权重因子,低等权重因子全部设定为1 ;3)为每个数据副本设定独立速度因子,速度因子跟数据副本所存放的存储节点读写性能有关,读写性能越高,速度因子值越大;4)数据副本速度因子最大值设定算法是:1/(N+1) ,N为数据副本数;其它数据副本的速度因子根据节点性能等级,可以自由设置,但是不能超过最大值,而且根据算法,所有数据副本的速度因子总和小于1;5)权重因子加速度因子作为数据副本权重;数据写顺序按数据副本权重依次写,数据读顺序按速度因子大小次序读;6)数...

【专利技术属性】
技术研发人员:关宁风
申请(专利权)人:北京银信长远科技股份有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1