分布式存储的方法、装置及系统制造方法及图纸

技术编号:17784148 阅读:85 留言:0更新日期:2018-04-22 15:33
本发明专利技术涉及分布式存储的方法、装置及系统。所述方法包括:获取各存储服务节点的状态信息,根据所述状态信息确定各存储服务节点的优先级;根据优先级由高到低的顺序选取预置数量的存储服务节点,作为被分配服务节点;向各个被分配服务节点分配相同数据。本发明专利技术使得数据能够分散开存储在不同物理位置的介质上,提高了容灾性能,有利于保证数据可靠性。

【技术实现步骤摘要】
分布式存储的方法、装置及系统
本专利技术涉及数据存储
,特别是涉及分布式存储的方法、分布式存储的装置以及分布式存储的系统。
技术介绍
在大型分布式存储的业务场景下,随着用户量数据量的增多,硬件发生故障已经是极为常见的现象,在庞大的集群里,每天可能都会发生磁盘故障、主机故障,甚至网络交换机故障、机架电源故障等;对于这些物理层面的故障,会导致数据的副本数下降,集群数据可靠性降低。现有分布式存储技术中,对于数据的物理位置分布主要有两大类:对等分布和自由组织。对等分布就是将同一数据的多个备份分布在对等的磁盘、以及对等的偏移位置上,将多备份的物理信息映射到逻辑索引信息上,提供数据的快速访问;在数据出现故障时,便于找出其他备份进行修复。自由组织则不对数据分布作限制,数据上传时将同一数据的多个备份自由的分布在存储集群中,多备份的物理信息依赖元数据中心的索引记录;当数据出现故障时,查询元数据中心的索引,找出其他可用备份进行修复。然而,对于对等分布,数据会出现在某三块对等盘集中访问的情况,影响磁盘上所有数据访问;若出现对等损坏的三块磁盘时,涉及到的数据将全部丢失;修复损坏的磁盘时,其他两备份必须要为修复提供一定带宽,有可能引起数据访问过热,导致修复慢的情况。对于自由组织,缺乏对物理多备份进行交换机容灾、机架隔离,可靠性和可用性难以保障;修复过程中,可能出现大量数据都需要查找元数据中心的索引信息,影响全局用户正常访问。在保证分布式存储集群的数据可靠性、以及快速修复已经损坏的磁盘上的数据方面,上述两种分布式存储技术的效果差强人意。
技术实现思路
基于此,本专利技术实施例提供的分布式存储的方法、装置及系统,能够在数据损坏时,快速修复损坏的数据,保证数据的可靠性。本专利技术一方面提供分布式存储的方法,包括:获取各存储服务节点的状态信息,根据所述状态信息确定各存储服务节点的优先级;根据优先级由高到低的顺序选取预置数量的存储服务节点,作为被分配服务节点;向各个被分配服务节点分配相同数据。本专利技术另一方面提供分布式存储的装置,包括:优先级确定单元,用于获取各存储服务节点的状态信息,根据所述状态信息确定各存储服务节点的优先级;节点选取单元,用于根据优先级由高到低的顺序选取预置数量的存储服务节点,作为被分配服务节点;数据存储单元,用于向各个被分配服务节点分配相同数据。本专利技术另一方面提供分布式存储的系统,包括客户端,以及上述的分布式存储的装置;所述客户端与所述分布式存储的装置通信连接。上述技术方案,在分配存储资源时,根据各存储服务节点的状态信息确定各存储服务节点的优先级;根据实际需要选取预置数量的最高优先级的存储服务节点,作为被分配服务节点;进而向各个被分配服务节点分配相同数据。使得多备份数据能够分散开存储在不同物理位置的介质上,基于此容灾分布机制,进一步保证了数据可靠性;同时也有利于实现存储量和磁盘负载在集群内的均衡。附图说明图1为实现分布式存储的系统环境示意图;图2为图1中物理存储环境的示意图;图3为一实施例的分布式存储的方法的示意性流程图;图4为一实施例中获取各存储服务节点的状态信息的示意性流程图;图5为一实施例中建立存储链结构的示意性流程图;图6为一实施例中客户端有上传数据需要存储时请求分配的示意性流程图;图7为一实施例中分布式存储的效果的示意图;图8为另一实施例的分布式存储的方法的示意性流程图;图9为另一实施例中数据均衡处理的示意性流程图;图10为又一实施例的分布式存储的装置的示意性结构;图11为又一实施例的分布式存储的装置的示意性结构。具体实施方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。图1为实现分布式存储的系统环境示意图。如图1所示,包括客户端client100、存储资源管理服务200(以下也称为ChunkMaster)、若干存储服务节点300(以下也称为ChunkNode)以及物理存储环境400。其中,客户端client100只需与存储资源管理服务200通信,根据需要向存储资源管理服务200发出相应的任务指令。一个存储资源管理服务200同时管理多个存储服务节点300,可实时获取到各个存储服务节点300的状态信息,以及对存储服务节点300的存储资源进行分配;每个存储服务节点300可对应物理存储环境400中多个具体磁盘。此外,存储资源管理服务200还负责向客户端client100提供存储资源的分配信息。进一步的,图2为图1中物理存储环境400示意图,例如高性能文件系统(HighPerformanceFileSystem,简称HPFS)提供的存储资源,包括若干个分离设置的机架(机架1、机架2…机架n);每个机架内设置有若干个磁盘Disk,例如图2所示的Disk1~Disk120;每个磁盘被划分为若干个大小相同的存储块,例如每个磁盘均被划分为120个特定类型的存储块Chunk。基于此存储资源,以下实施例将以Chunk为例进行说明。Chunk是整个文件系统的基本存储空间分配单元,多个位于不同机器上不同磁盘的Chunk构成了整个文件系统可用的存储空间。而Chunk之间可以互相配对,形成应用态的Raid1(一种磁盘阵列)存储。一个用户角度的文件被划分为多个数据片,一般定长划分,这些数据片可存储在不同的Chunk上。各Chunk可由一个Chunkinode(即Chunk的索引节点)来描述,Chunkinode中有一个offset(偏移量)变量表明其datasection(数据域)的已使用区间位置;而数据片的inode(即数据片的索引节点)主要是保存了一个offset和length(数据片长度),分别表示该数据片在Chunk里的偏移量和数据片长度,这样有利于保证访问效率。其中,在Chunk中的数据片删除时,Chunk可能不会立即回收对应的存储空间,只在Chunkinode中记录相关信息;如果删除很频繁,导致每个Chunk已使用区间会有很多空洞而不能重复利用,可通过对Chunk重新进行初始化来解决该问题。由于Chunk里面的数据片的inode并不是代表真正的文件,因此在这样的分布式文件系统中还需要有一索引层,该索引层可由Chunkmaster进行管理。读取文件时,通过该索引层可找出数据片所在的Chunk,访问这些Chunk可读取对应的数据。结合图1、图2所示的环境示意图,以下对分布式存储的方法及分布式存储的装置的各实施例分别进行说明。图3为一实施例的分布式存储的方法的示意性流程图;本实施例的方法可应用于图1所示的存储资源管理服务,即步骤S11~S13的执行主体可以为存储资源管理服务。当然,存储资源管理服务并不属于步骤的限定条件,也适用于在实现分布式存储的过程中能够执行其中一个或多个步骤的主体。参考图3所示,本实施例中的分布式存储的方法包括以下步骤:S11,获取各存储服务节点的状态信息,根据所述状态信息确定各存储服务节点的优先级;本实施例中优先级的高低反映各存储服务节点的可用性,将影响各存储服务节点被分配的优先顺序,优先级高的存储服务节点优先被分配,以改善数据访问效率。优选的,获取的状态信息包括但不限于存储介质剩余本文档来自技高网...
分布式存储的方法、装置及系统

【技术保护点】
一种分布式存储的方法,其特征在于,包括:获取各存储服务节点的状态信息,根据所述状态信息确定各存储服务节点的优先级;根据优先级由高到低的顺序选取预置数量的存储服务节点,作为被分配服务节点;向各个被分配服务节点分配相同数据。

【技术特征摘要】
1.一种分布式存储的方法,其特征在于,包括:获取各存储服务节点的状态信息,根据所述状态信息确定各存储服务节点的优先级;根据优先级由高到低的顺序选取预置数量的存储服务节点,作为被分配服务节点;向各个被分配服务节点分配相同数据。2.根据权利要求1所述的分布式存储的方法,其特征在于,获取各存储服务节点的状态信息之前包括:获取各存储服务节点的存储介质的空闲存储块信息,根据空闲存储块信息建立用于指示物理存储顺序的存储链结构;所述向各个被分配服务节点分配相同数据包括:获取各个被分配服务节点的存储链结构,根据存储链结构向各个被分配服务节点分配相同数据。3.根据权利要求2所述的分布式存储的方法,其特征在于,获取各存储服务节点的存储介质的空闲存储块信息之前,还包括:接收添加空闲存储资源的指令,分别对各存储服务节点的存储介质的存储块进行初始化。4.根据权利要求2所述的分布式存储的方法,其特征在于,根据存储链结构向各个被分配服务节点分配相同数据之后,还包括:重新获取各存储服务节点的存储介质的空闲存储块信息,对所述存储链结构进行更新。5.根据权利要求1所述的分布式存储的方法,其特征在于,所述状态信息包括:存储介质剩余空间信息、流量信息、每秒读写操作次数信息、存储介质负载信息中两种以上。6.根据权利要求5所述的分布式存储的方法,其特征在于,根据所述状态信息确定各存储服务节点的优先级包括:获取不同状态信息对应的权重,根据获取到的状态信息及其对应的权重计算各存储服务节点的优先级。7.根据权利要求2所述的分布式存储的方法,其特征在于,根据所述状态信息确定各存储服务节点的优先级之后,还包括:获取优先级低于第一预置值的第一存储服务节点,获取优先级高于第二预置值的第二存储服务节点;将所述第一存储服务节点的数据转存至所述第二存储服务节点。8.根据权利要求7所述的分布式存储的方法,其特征在于,将所述第一存储服务节点的数据转存至所述第二存储服务节点之后,还包括:重新获取各存储服务节点的存储介质的空闲存储块信息,对所述存储链结构进行更新。9.根据权利要求1至8任一所述的分布式...

【专利技术属性】
技术研发人员:姜文瀚
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东,44

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

1