太阳城集团

  • / 6
  • 下载费用:30 金币  

一种分布式系统中数据存储方法.pdf

摘要
申请专利号:

太阳城集团CN201611097372.6

申请日:

2016.12.02

公开号:

太阳城集团CN106776952A

公开日:

2017.05.31

当前法律状态:

授权

有效性:

有权

法律详情: 授权|||著录事项变更 IPC(主分类):G06F 17/30变更事项:申请人变更前:航天星图科技(北京)有限公司变更后:中科星图股份有限公司变更事项:地址变更前:101399 北京市顺义区国门商务区国家地理太阳城集团科技产业园1A—4号楼变更后:101399 北京市顺义区临空经济核心区机场东路2号(产业园1A-4号1、5、7层)|||实质审查的生效IPC(主分类):G06F 17/30申请日:20161202|||公开
IPC分类号: G06F17/30 主分类号: G06F17/30
申请人: 航天星图科技(北京)有限公司
发明人: 刘斌; 吴方才; 楚涌泉
地址: 101399 北京市顺义区国门商务区国家地理太阳城集团科技产业园1A—4号楼
优先权:
专利代理机构: 北京安博达知识产权代理有限公司 11271 代理人: 徐国文
PDF完整版下载: PDF下载
法律状态
申请(专利)号:

太阳城集团CN201611097372.6

授权太阳城集团号:

|||||||||

法律状态太阳城集团日:

太阳城集团2019.03.22|||2019.03.01|||2018.12.18|||2017.05.31

法律状态类型:

授权|||著录事项变更|||实质审查的生效|||公开

摘要

本发明涉及一种分布式系统中数据存储方法,根据存储容量、运行负载和故障频率计算确定每个节点的存储风险值,将多个节点进行分组,每个分组中包括一个存储风险值较高的节点和一个存储风险值较低的节点,使得每个分组中的平均存储风险值相对均衡,避免了冗余数据分布的若干节点均为故障频发的节点的情况,将冗余数据分布到这样存储风险均衡的分组中,方便了数据维护和降低了数据丢失风险。

权利要求书

1.一种分布式系统中数据存储方法,其特征在于,该方法包括如下步骤:
(1)将分布式系统中的m个节点i根据存储容量、运行负载和故障频率按照下述公式(a)
计算确定每个节点的存储风险值Ri:
Ri=Si×Pi+1/Fi×Qi+Gi×Ti (a);
其中Si表示节点i的存储容量,Pi表示存储容量所对应的权重,Fi表示节点i的运行历史
中的最高系统运行负载,Qi表示运行负载所对应的权重,Gi表示节点i的运行历史中的故障
频率,Ti表示故障频率所对应的权重,且Pi,Qi,Gi>1;
(2)按照存储风险值从低到高的顺序将m个节点排成一个有序排队,将有序队列中队首
第一个节点和队尾最后一个节点取出构成第一存储分组,对于剩余节点构成的有序队列按
照上述方式继续处理构成后续多个存储分组,直至有序队列中只有2个或3个节点,则将上
述2个或3个节点作为一个存储分组,最终m个节点分成k个存储分组;
(3)当系统接收到数据存储请求时,将数据切分成k个数据片段,对每个数据片段复制,
获得k组数据片段分组,每组数据片段分组中包括一个数据片段和其对应的复制数据片段;
(4)将一个数据片段分组中的数据片段和对应的复制数据片段分别存储到一个存储分
组中的两个节点中,直到k组数据片段分组中的数据片段和复制数据片段都存储到k个存储
分组中;
(5)当存储分组中的一个节点发生故障时,根据上述存储分组中的另一个节点存储的
数据片段或复制数据片段,对上述发生故障的节点进行修复;
(6)对每个节点设置一对一的端口,当节点发生故障时,上述节点对应的端口自动关
闭,当发生故障的节点成功修复后,自动开启上述节点对应的端口。
2.根据权利要求1所述的分布式系统中数据存储方法,其特征在于,当多个节点发生故
障时,对多个节点进行并行修复。
3.根据权利要求1所述的分布式系统中数据存储方法,其特征在于,一个数据片段分组
中的数据片段和对应的复制数据片段按照随机方式存储到一个存储分组中的两个节点中。

说明书

一种分布式系统中数据存储方法

【技术领域】

本发明属于数据存储领域,尤其涉及分布式系统环境下数据存储方法。

【背景技术】

一般情况下,一台机器对外提供的吞吐最高也只能达到200MBps,若采用通常的机
器镜像即几台机器上的数据完全一致的方式,修复12TB的数据需要耗时20多个小时,考虑
到正常的服务压力,修复的太阳城集团将达到几十个小时。

现有技术中提出了分布式存储方式,将数据切分为多个库,并复制几份冗余,同一
库的不同冗余分布存储于不同机器的不同位置,提高了修复速度。但是现有技术中将冗余
数据分布在不同机器上时,采用的是随机方式,对不同机器没有加以选择,造成了相同数据
分布的机器都可能是故障频发机器,因此造成数据维护困难和提高了数据丢失风险。

基于上述问题,现在亟需一种新的分布式系统存储方法,将节点按照存储风险值
进行分组,使得每个分组的平均存储风险值相对均衡,将冗余数据分布到每个分组中,方便
了数据维护和降低了数据丢失风险。

【发明内容】

为了解决现有技术中的上述问题,本发明提出了一种分布式系统中数据存储方
法。

本发明采用的技术方案如下:

一种分布式系统中数据存储方法,该方法包括如下步骤:

(1)将分布式系统中的m个节点i按照存储容量、运行负载和故障频率按照下述公
式(a)计算确定每个节点的存储风险值Ri:

Ri=Si×Pi+1/Fi×Qi+Gi×Ti (a);

其中Si表示节点i的存储容量,Pi表示存储容量所对应的权重,Fi表示节点i的运行
历史中的最高系统运行负载,Qi表示运行负载所对应的权重,Gi表示节点i的运行历史中的
故障频率,Ti表示故障频率所对应的权重,且Pi,Qi,Gi>1;

(2)按照存储风险值从低到高的顺序将m个节点排成一个有序排队,将有序队列中
队首第一个节点和队尾最后一个节点取出构成第一存储分组,对于剩余节点构成的有序队
列按照上述方式继续处理构成后续多个存储分组,直至有序队列中只有2个或3个节点,则
将上述2个或3个节点作为一个存储分组,最终m个节点分成k个存储分组;

(3)当系统接收到数据存储请求时,将数据切分成k个数据片段,对每个数据片段
复制,获得k组数据片段分组,每组数据片段分组中包括一个数据片段和其对应的复制数据
片段;

(4)将一个数据片段分组中的数据片段和对应的复制数据片段分别存储到一个存
储分组中的两个节点中,直到k组数据片段分组中的数据片段和复制数据片段都存储到k个
存储分组中;

(5)当存储分组中的一个节点发生故障时,根据上述存储分组中的另一个节点存
储的数据片段或复制数据片段,对上述发生故障的节点进行修复;

(6)对每个节点设置一对一的端口,当节点发生故障时,上述节点对应的端口自动
关闭,当发生故障的节点成功修复后,自动开启上述节点对应的端口。

本发明的有益效果包括:将多个节点进行分组,每个分组中包括一个存储风险值
较高的节点和一个存储风险值较低的节点,使得每个分组中的平均存储风险值相对均衡,
避免了冗余数据分布的若干节点均为故障频发的节点的情况,将冗余数据分布到这样存储
风险均衡的分组中,方便了数据维护和降低了数据丢失风险。

【附图说明】

此处所说明的附图是用来提供对本发明的进一步理解,构成本申请的一部分,但
并不构成对本发明的不当限定,在附图中:

图1是本发明分布式系统的结构图。

图2是本发明分布式系统中数据存储方法的流程图。

【具体实施方式】

下面将结合附图以及具体实施例来详细说明本发明,其中的示意性实施例以及说
明仅用来解释本发明,但并不作为对本发明的限定。

参见附图1,是本发明所应用的分布式系统,该系统包括多个计算节点。

参见附图2,一种分布式系统中数据存储方法,该方法包括如下步骤:

(1)将分布式系统中的m个节点i按照存储容量、运行负载和故障频率按照下述公
式(a)计算确定每个节点的存储风险值Ri:

Ri=Si×Pi+1/Fi×Qi+Gi×Ti (a);

其中Si表示节点i的存储容量,Pi表示存储容量所对应的权重,Fi表示节点i的运行
历史中的最高系统运行负载,Qi表示运行负载所对应的权重,Gi表示节点i的运行历史中的
故障频率,Ti表示故障频率所对应的权重,且Pi,Qi,Gi>1;

其中,存储容量、运行负载和故障频率是分别影响一个节点存储风险值的不同因
素,其中存储容量表示一个节点的存储能力,存储容量越大、则上述节点因为数据存储压力
造成的故障风险越低,反之越高;一个节点的运行负载越大,则上述节点因为运行超负荷所
造成的故障风险越大,反之越低;一个节点在运行历史周期内发生的故障频率越高,则表明
上述节点在以后的周期内发生故障的可能性越高,反之越低。

在一个实施方式中,存储容量、运行负载和故障频率记录在一个表中,每个节点的
存储容量可以指其计算机硬盘存储容量,将每个节点的存储容量记录在表中,监视每个节
点在预定太阳城集团周期内的多次运行所占用的系统资源,并将运行所占用的最多系统资源作为
最高系统运行负载记录在上述表中,监视每个节点在预定太阳城集团周期内的故障发生次数,作
为故障频率记录在表中;

在计算节点的存储风险值Ri时,从表中读取上述节点所对应的存储容量、运行负
载和故障频率按照上述公式(a)进行计算。

(2)按照存储风险值从低到高的顺序将m个节点排成一个有序排队,将有序队列中
队首第一个节点和队尾最后一个节点取出构成第一存储分组,对于剩余节点构成的有序队
列按照上述方式继续处理构成后续多个存储分组,直至有序队列中只有2个或3个节点,即
对应于m为偶数和奇数的情形,则将上述2个或3个节点作为一个存储分组,最终m个节点分
成k个存储分组;

(3)当系统接收到数据存储请求时,将数据切分成k个数据片段,对每个数据片段
复制,获得k组数据片段分组,每组数据片段分组中包括一个数据片段和其对应的复制数据
片段;

(4)将一个数据片段分组中的数据片段和对应的复制数据片段分别存储到一个存
储分组中的两个节点中,直到k组数据片段分组中的数据片段和复制数据片段都存储到k个
存储分组中;

由于每个分组中包括一个存储风险值较高的节点和一个存储风险值较低的节点,
使得每个分组中的平均存储风险值相对均衡,避免了冗余数据分布的若干节点均为故障频
发的节点的情况,将冗余数据分布到这样存储风险均衡的分组中,方便了数据维护和降低
了数据丢失风险。

(5)当存储分组中的一个节点发生故障时,根据上述存储分组中的另一个节点存
储的数据片段或复制数据片段,对上述发生故障的节点进行修复;

由此,将会大大提高修复数据的速度,缩短修复太阳城集团,当多个节点发生故障时,对
多个节点进行并行修复,一个数据片段分组中的数据片段和对应的复制数据片段按照随机
方式存储到一个存储分组中的两个节点中。在机器数量大于故障机器上的库的数量时,整
个修复过程的耗时通常仅需几十分钟,解决了数据高效自动修复的问题。

(6)对每个节点设置一对一的端口,当节点发生故障时,上述节点对应的端口自动
关闭,当发生故障的节点成功修复后,自动开启上述节点对应的端口。从而保障了数据的正
确读取,而且避免了使用错误列表访问端口的问题。

通过上述方法,本发明将多个节点进行分组,每个分组中包括一个存储风险值较
高的节点和一个存储风险值较低的节点,使得每个分组中的平均存储风险值相对均衡,避
免了冗余数据分布的若干节点均为故障频发的节点的情况,将冗余数据分布到这样存储风
险均衡的分组中,方便了数据维护和降低了数据丢失风险。

以上所述仅是本发明的较佳实施方式,故凡依本发明专利申请范围所述的构造、
特征及原理所做的等效变化或修饰,均包括于本发明专利申请范围内。

关 键 词:
一种 分布式 系统 数据 存储 方法
  专利查询网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
太阳城集团本文
本文标题:一种分布式系统中数据存储方法.pdf
链接地址:http://zh228.com/p-6019533.html
太阳城集团我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服客服 - 联系我们

copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备17046363号-1 
 


收起
展开
葡京赌场|welcome document.write ('');