CN102855294A - 一种智能哈希数据布局方法、集群存储系统及其方法 - Google Patents

一种智能哈希数据布局方法、集群存储系统及其方法 Download PDF

Info

Publication number
CN102855294A
CN102855294A CN2012102872744A CN201210287274A CN102855294A CN 102855294 A CN102855294 A CN 102855294A CN 2012102872744 A CN2012102872744 A CN 2012102872744A CN 201210287274 A CN201210287274 A CN 201210287274A CN 102855294 A CN102855294 A CN 102855294A
Authority
CN
China
Prior art keywords
data
storage
memory node
file
data layout
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.)
Granted
Application number
CN2012102872744A
Other languages
English (en)
Other versions
CN102855294B (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.)
BEIJING LIANCHUANG XINAN TECHNOLOGY CO LTD
Original Assignee
BEIJING LIANCHUANG XINAN TECHNOLOGY CO LTD
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 BEIJING LIANCHUANG XINAN TECHNOLOGY CO LTD filed Critical BEIJING LIANCHUANG XINAN TECHNOLOGY CO LTD
Priority to CN201210287274.4A priority Critical patent/CN102855294B/zh
Publication of CN102855294A publication Critical patent/CN102855294A/zh
Application granted granted Critical
Publication of CN102855294B publication Critical patent/CN102855294B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种智能哈希数据布局方法、集群存储系统及其方法,智能哈希数据布局方法用于对一个数据卷中的存储节点进行布局,数据以目录为基本单位进行哈希分布,文件的父目录利用扩展属性记录存储节点的映射信息,子文件在父目录所属存储节点中进行分布。子文件在父目录所属存储节点中进行分布具体包括如下情况之一:所述子文件在父目录所属存储节点中进行散列分布;所述子文件在父目录所属存储节点中进行条带二级分布;所述子文件在父目录所属存储节点中进行复制二级分布;所述子文件在父目录所属存储节点中先进行条带二级分布再进行复制三级分布。本发明的方法和系统可显著提高集存存储系统的扩展性、性能、可用性和适用性,可极大减小存储服务器的负载压力。

Description

一种智能哈希数据布局方法、集群存储系统及其方法
技术领域
本发明涉及数据存储技术领域,尤其涉及一种智能哈希数据布局方法、集群存储系统及其方法。
背景技术
云存储和大数据背景下,数据呈现爆炸式增长趋势。根据研究显示,2020年数字宇宙将达到35.2ZB,比2009年的0.8ZB猛增44倍,这其中80%以上为非结构化数据。高性能计算、医学影像、石油和天然气勘探、数字媒体和社会化WEB等大量数据密集型应用导致数据的井喷,不断对存储方法提出新的严峻挑战。集群存储是一种横向扩展(Scale-out)存储架构,具有容量和性能线性扩展的优势,已经得到全球市场的广泛认可。集群存储技术其中涉及两大关键问题,即元数据管理和数据布局,这两者直接决定着系统的扩展性、性能和可靠性等特性。
集群存储现有技术方案主要是采用专用元数据服务来管理元数据,数据布局信息也保存在元数据服务器上。集中式或分布式元数据管理存在性能瓶颈、单点故障、数据一致性等一系列相关问题,直接影响到系统性能和扩展性。数据布局方式主要采用条带(Stripe)、镜像(Mirror)、哈希(Hash)、一致性哈希(DHT)等方式,它们普通存在的问题是可扩展性不高,当集群规模扩展时大量数据需要迁移并重新分布。其中,哈希和一致性哈希还存在数据分布不均衡的问题。另外,不同数据布局方式在性能、可用性和扩展性方面有不同表现,而在特定集群存储工程实现中往往只会采用单一或两种简单组合的方式,适用的数据负载有限,降低了集群存储系统的应用范围。
集群(Cluster)是由多个节点构成的一种松散耦合的节点集合,协同起来对外提供服务。集群主要分为高性能集群HPC(High Performance Cluster)、高可用集群HAC(High Availablity Cluster)和负载均衡集群LBC(Load BalancingCluster)。集群存储系统是指协同多个节点提供高性能、高可用或负载均衡的存储服务系统,消除单点故障和性能瓶问题,并且具有Scale-Out横向高扩展能力,实现容量和性能线性扩展。集群存储技术其中涉及两大关键问题,即元数据管理和数据布局,这两者直接决定着系统的扩展性、性能和可靠性等特性。集群存储现有技术方案主要是采用专用元数据服务来存储和管理数据布局信息,数据布局方式主要采用条带(Stripe)、镜像(Mirror)、哈希(Hash)、一致性哈希(DHT)等方式。
基于元数据服务的数据布局管理模型如图1所示,元数据服务器记录存储服务器集群信息和数据布局信息,并进行数据布局管理。该模型下,请求数据前需要向元数据服务请求数据布局信息,读数据直接返回对应的布局信息,写新数据需要为其分配布局信息,更新或追加数据可能需要修改布局信息。这些都由元数据服务处理,之后把数据布局信息返回给存储客户端。客户端获取到数据对应的布局信息,即可确定数据位于存储服务器集群的具体位置,然后直接向相关存储服务器请求数据并处理响应,这个过程是可以并发进行的。不难发现,数据布局管理依赖于元数据服务器,集中式元数据服务模型存在性能瓶颈和单点故障问题,分布式元数据服务模型解决了上述两个问题,但同时引入了设计复杂性、性能开销和元数据同步一致性等问题,这些问题直接影响到系统性能和扩展性。
条带(Stripe)相当于RAID0,即分片存储。RAID0由多块磁盘组成,数据条带技术将数据以块的方式分布存储在多个磁盘中,从而可以对数据进行并发处理。这样写入和读取数据就可以在多个磁盘上同时进行,并发产生非常高的聚合I/O,有效提高了整体I/O性能,而且具有良好的线性扩展性。这对大容量数据尤其显著,如果不分块,数据只能按顺序存储在磁盘阵列的磁盘上,需要时再按顺序读取。而通过条带技术,可获得数倍与顺序访问的性能提升。集群存储中的条带分布与此相似,数据被划分成固定长度的数据分片以Round-Robin轮转方式存储在多个存储节点上,如图2所示。采用条带方式,数据分布在多个存储节点上,读写操作可以在多个节点上并发执行,提高了多用户访问的并发度和聚合I/O带宽,这是集群存储提供高性能的重要方法。条带能够突破单个节点容量限制,提供超大容量数据支持。另外,条带还可以提高存储空间利用率,避免单个存储节点容量不足而总容量有余时写入数据失败的情况发生,并且能够维持节点之间的容量负载均衡。数据条带技术的分块大小选择非常关键,分块粒度越小,并行处理能力就越强,数据存取速度就越高,但同时就会增加处理开销。实际应用中,要根据数据特征和需求来选择合适的分块大小,在数据存取随机性和并发处理能力之间进行平衡,以争取尽可能高的整体性能。数据条带是基于提高I/O性能而提出的,也就是说它只关注性能,而对数据可靠性、可用性没有任何改善。实际上,其中任何一个分块损坏都会导致整个数据不可用,采用数据条带技术反而增加了数据发生丢失的概率。
镜像(Mirror)相当于RAID1,是一种冗余技术用来提高可用性。RAID1为磁盘提供保护功能,防止磁盘发生故障而造成数据丢失。它会同时在阵列中产生两个完全相同的数据副本,分布在两个不同的磁盘驱动器组上。镜像提供了完全的数据冗余能力,当一个数据副本失效不可用时,外部系统仍可正常访问另一副本,不会对应用系统运行和性能产生影响。而且,镜像不需要额外的计算和校验,故障修复非常快,直接复制即可。镜像技术可以从多个副本进行并发读取数据,提供更高的读I/O性能,但不能并行写数据,写多个副本会会导致一定的I/O性能降低。集群存储中的镜像通常称为复制(Replication),可以实现两路及以上的多路复制,如图3所示。采用镜像方式,同一份数据会在多个存储节点上保留多份,用于提高可用性和并发读性能,这个与复制数量成正比。复制技术提供了非常高的数据安全性,其代价也是非常昂贵的,一是存储效率低于50%(1/复制数量),二是写性能下降,二是复制一致性问题复杂。镜像主要用于提高数据可用性,但高成本等问题限制了镜像的广泛应用,主要应用于至关重要的数据保护。
哈希方式是集群存储最为常见的数据分布方式,其方法是按照数据的某一特征计算哈希值,并将哈希值与集群中的存储节点建立映射关系,从而将不同哈希值的数据分布到不同的节点上,如图4所示。数据特征可以是本体相关的,如文件名,也可以是与应用逻辑相关的值,如用户ID。哈希方式相当于一张大哈希表,每个存储节点相当于哈希桶,被分配一段哈希范围区间,数据根据哈希值分布到各个桶中。只要哈希函数的散列特性较好,哈希方式可以为均匀地将数据分布到集群中去。哈希方式要记录的元信息也非常简单,任何时候节点只需知道哈希函数的计算方式以及存储节点的哈希值范围,就可以确定数据所在的节点位置。哈希分布数据的缺点突出表现为可扩展性不高,一旦集群规模需要扩展,由于节点哈希范围发生变化,导致几乎所有的数据都被迁移并重新分布。另一个重要问题是,一旦所采用数据特征值的数据严重不均,则会出现负载严重不均衡的状态。这种情况下,如果某个存储节点负载过大,有可能扩展集群规模也无法解决负载不均衡的状态。
一致性哈希是另一种在工程中使用较为广泛的数据分布方式,最初在P2P网络中作为分布式哈希表(DHT)的常用数据分布算法,如图5所示。一致性哈希的基本方式是使用一个哈希函数计算数据或数据特征的哈希值,令该哈希函数的输出值域为一个封闭的环,即哈希函数输出的最大值是最小值的前序。将节点随机分布到这个环上,每个节点负责处理从自己开始顺时针至下一个节点的全部哈希值域上的数据。哈希分布数据的方式在集群扩容时非常复杂,往往需要倍增节点个数,与此相比,一致性哈希的优点在于可以任意动态添加、删除节点,每次仅影响一致性哈希环上相邻怕节点。使用一致性哈希的方式需要将节点在一致性哈希环上的位置作为元信息加以管理,这点比直接使用哈希分布数据的方式要复杂。最基本的一致性哈希算法有很明显的缺点,随机分布节点的方式使得很难均匀地分布哈希值域,尤其在动态增加节点后,即使原先的分布均匀也很难保证继续均匀,由此带来的另一个较为严重的缺点是,当一个节点异常时,该节点的压力全部转移到相邻的一个节点,当加入一个新节点时只能为一个相邻节点分摊压力。为此一种常见的改进算法是引入虚拟节点的概念,系统初始时就创建许多虚节点,虚节点的个数一般远大于实际集群物理节点的数量,将虚节点均匀分布到一致性哈希值域上,其功能与基本一致性哈希算法中的节点相同。为每个节点分配若干虚节点,操作数据时,首先通过数据的哈希值在环上找到对应的虚节点,进而查找到元数据找到对应的真实节点。虚拟节点方法优点之一是,一个节点不可用时可由多个节点来分担压力,另一个是新节点可以负载多个原有节点的压力,从全局看,较容易实现扩容时的负载均衡。
现有集群存储技术主要采用专用元数据服务来管理数据布局,包括数据布局的分配策略和数据布局信息的持久存储。这种方法依赖元数据服务器,集中式或分布式元数据管理存在性能瓶颈、单点故障、数据一致性等一系列相关问题,直接影响到系统性能和扩展性。
发明内容
为了使集群存储系统实现线性性能扩展,使得存储服务器的负载压力减小,本发明提出了一种智能哈希数据布局方法,用于对一个数据卷中的存储节点进行布局,数据以目录为基本单位进行哈希分布,文件的父目录利用扩展属性记录存储节点的映射信息,子文件在父目录所属存储节点中进行分布。
进一步地,对所述存储节点预设容量阈值,在将目标文件写入目标存储节点之前,判断所述目标存储节点的可用存储容量是否在所述预设容量阈值以下,若是则将所述目标文件写入所述目标存储节点,否则将所述目标文件写入优先队列中容量负载最小的存储节点并创建一个从所述目标存储节点至所述容量负载最小的存储节点的文件链接。
进一步地,所述方法还包括写新数据操作,所述写新数据操作包括:
S1、存储客户端对请求文件名计算哈希值;
S2、所述存储客户端根据内存中维护的数据分布集群节点,向各所述数据分布集群节点请求所述请求文件的父目录的哈希分布信息;
S3、使用所述哈希值在所述父目录的哈希分布信息中查找所述请求文件的目标存储节点;
S4、判断所述目标存储节点的可用存储容量是否在预设的容量阈值以下,若是则确定所述目标存储节点为所述请求文件的实际存储节点并执行步骤S6,否则执行步骤S5;
S5、从优先队列中选择容量负载最小的存储节点作为所述请求文件的实际存储节点,并创建一个从所述实际存储节点至所述目标存储节点的文件链接,执行步骤S6;
S6、所述存储客户端与所述实际存储节点直接进行I/O请求,写入新数据。
进一步地,所述智能哈希数据布局方法还包括采用后台自动负载均衡技术对存储节点进行负载平滑处理。
进一步地,所述子文件在父目录所属存储节点中进行分布具体包括如下情况之一:所述子文件在父目录所属存储节点中进行条带二级分布;所述子文件在父目录所属存储节点中进行复制二级分布;所述子文件在父目录所属存储节点中先进行条带二级分布再进行复制三级分布。
本发明还提出了一种集群存储系统,包括存储客户端和存储服务器集群,每个存储服务器集群对应一个数据卷,每个数据卷采用一种数据布局方法对所述数据卷中的存储节点进行布局,每个数据卷包括一个数据布局配置文件;
所述数据布局方法包括智能哈希数据布局方法;
所述数据布局配置文件包括对应数据卷相关的存储节点集合、对应数据卷的数据布局方法以及对应数据卷的分配策略;
所述存储客户端在启动时将需要的数据卷的数据布局配置文件装载到内存中,所述存储客户端利用数据卷的数据布局配置文件对所述数据卷的元数据操作和I/O数据操作进行协调和控制。
进一步地,所述数据布局方法还包括:数据以块为基本单位进行条带分布;数据以目录为基本单位进行复制分布;数据以块为基本单位进行条带一级分布再进行复制二级分布。
本发明还提出了一种集群存储方法,该方法基于包括存储客户端和存储服务器集群的系统实现,每个存储服务器集群对应一个数据卷,每个数据卷采用一种数据布局方法对所述数据卷中的存储节点进行布局,包括数据存储方式和数据布局方法;
所述数据存储的方式包括,每个数据卷包括一个数据布局配置文件,所述数据布局配置文件包括对应数据卷相关的存储节点集合、对应数据卷的数据布局方法以及对应数据卷的分配策略,存储客户端在启动时将需要的数据卷的数据布局配置文件装载到内存中,所述存储客户端利用数据卷的数据布局配置文件对所述数据卷的元数据操作和I/O数据操作进行协调和控制;
所述数据布局方法包括智能哈希数据布局方法。
进一步地,所述数据布局方法还包括:数据以块为基本单位进行条带分布;数据以目录为基本单位进行复制分布;数据以块为基本单位进行条带一级分布再进行复制二级分布。
本发明的方法和系统不需要元数据服务器保存数据布局信息,消除了对元数据服务器的依赖,避免了元数据管理的性能瓶颈、单点故障、数据一致性等一系列相关问题,可显著提高集存存储系统的扩展性、性能、可用性和适用性,可极大减小存储服务器的负载压力。
附图说明
图1是背景技术中基于元数据服务的数据布局管理模型;
图2是背景技术中条带数据分布模式;
图3是背景技术中镜像数据分布模式;
图4是背景技术中哈希数据分布模式;
图5是背景技术中一致性哈希数据分布模式;
图6是本发明实施例一所述智能哈希数据布局方法的写新数据流程图;
图7是本发明实施例一所述一种智能哈希数据布局模式;
图8是本发明实施例二所述集群存储系统结构示意图。
具体实施方式
下面结合附图并通过具体实施方式来进一步说明本发明的技术方案。
实施例一
本发明实施例公开了一种智能哈希数据布局方法,用于对一个数据卷中的存储节点进行布局,数据以目录为基本单位进行哈希分布,文件的父目录利用扩展属性记录存储节点的映射信息,子文件在父目录所属存储节点中进行分布。
本实施例所述智能哈希数据布局方法采用哈希数据分布作为基础分布算法,并进一步地对扩展性、数据迁移和重新分布、分布不均衡问题进行智能优化处理。本实施例所述智能哈希数据布局方法通过目录扩展属性记录数据的分布信息,使得新增节点不会影响现有文件数据分布,只参加新目录下的数据分布,能极大提高集群扩展能力,新扩展存储节点不会导致数据重新分布和迁移,它将从此后的新创建目录开始参与存储分布调度,不会对前端数据访问产生影响。
传统的哈希方式以文件为单位进行分布,计算哈希值并在分布集群中匹配存储节点,如果文件大小差异甚大或者哈希值严重不均,则会出现负载严重不均衡的状态,这种问题通过负载均衡技术也无法解决。本智能哈希数据布局方法所述智能哈希采用存储节点设置容量阈值和建立文件链接的方式来解决,使用更加弹性的方法选择存储节点。系统中维护一个可用存储容量优先的节点队列,当哈希算法得到的目标存储节点可用容量比例达到所设阈值,比如75%时,则从这个优先队列中选择容量负载最小的节点作为文件实际存储的节点,并在目标节点上建立一个指向这个节点的链接文件,保证哈希算法仍然正常工作的同时集群容量负载保持相对均衡。如此,哈希算法仍然可以正常工作,并且能够保证集群容量负载的相对均衡。
图6是本发明实施例一所述智能哈希数据布局方法的写新数据流程图;,如图6所示,智能哈希数据布局方法中写新数据流程如下:
S601、存储客户端对请求文件名计算哈希值hkey;
S602、存储客户端根据内存中维护的数据分布集群节点,向各所述数据分布集群节点请求所述请求文件的父目录的哈希分布信息;
S603、使用哈希值hkey在父目录的哈希分布信息中查找请求文件的目标存储节点tnode;
S604、判断目标存储节点tnode的可用存储容量是否在预设的容量阈值以下,若是则执行步骤S605,否则执行步骤S606;
S605、确定目标存储节点tnode为请求文件的实际存储节点tsnode,执行步骤S607;
S606、从优先队列中选择容量负载最小的存储节点作为所述请求文件的实际存储节点tsnode,并创建一个从所述实际存储节点tsnode至所述目标存储节点tnode的文件链接,执行步骤S607;
S607、所述存储客户端与所述实际存储节点tsnode直接进行I/O请求,写入新数据。
进一步地,本智能哈希数据布局方法采用后台自动负载均衡技术对存储集群进行负载平滑处理,保证整个集群节点负载最终处理相对均衡的状态,各个节点并发执行,减小对前端正常访问的影响并使集群尽快达到负载均衡状态。负载均衡过程中充分考虑集群负载状态,选择在系统负载较的时段进行以减小对前端正常访问的影响;并且各个节点是并发执行的,提高负载均衡性能使得集群尽快达到负载均衡状态。
本智能哈希数据布局方法采用了智能哈希、条带和复制三种基本数据布局方式作为基础,并对这三种基本方式进行标准模块化设计,通过简单灵活的组合实现更加复杂的复合数据布局方式。其中,智能哈希布局方式是整个系统最为关键的部分,它直接决定着集群存储的扩展性和高性能。
智能哈希方式读写性能高,但不具备容错能力,可用性方面存在不足;条带分布方式并发读性能非常高,写性能有一定降低,同样不存在容错能力;复制分布方式具有很高的容错能力,读性能很高,但是存储利用率低,并且写性能有所降低。本智能哈希数据布局方法还可采用堆积木方式对三种基本数据布局模块进行组合,形成各种复合的数据布局方式,包括“智能哈希+条带”、“智能哈希+复制”、“智能哈希+条带+复制”三种。
其中,“智能哈希+条带”方法为:数据以目录为基本单位进行哈希分布,文件的父目录利用扩展属性记录存储节点的映射信息,子文件在父目录所属存储节点中进行条带二级分布;“智能哈希+复制”方法为:数据以目录为基本单位进行哈希分布,文件的父目录利用扩展属性记录存储节点的映射信息,子文件在父目录所属存储节点中进行复制二级分布;“智能哈希+条带+复制”方法为:数据以目录为基本单位进行哈希分布,文件的父目录利用扩展属性记录存储节点的映射信息,子文件在父目录所属存储节点中进行条带二级分布再进行复制三级分布。
通过这种简单灵活地组合,实现复杂功能的数据布局模式,同时获得高扩展、高性能、高可用等特性,不同需求的应用可以根据具体情况选择不同的组合。这种机制的实现,一是要求客户端数据布局感知,并且节点需要自行处理布局分配策略;二是要求基本数据布局模块标准化,接口标准良好定义并具务互操作性。如此设计就可以将多个模块有机组合,通过多层功能调用传递实现复合数据布局模块。复合数据布局方式可以通过简单灵活的组合,满足不同应用对性能、扩展性、可用性等指标的一维或多维需求,有效拓宽数据应用负载的适用范围。
图7是本发明实施例一所述一种复合智能哈希数据布局模式;,如图7所示,采用“智能哈希+条带+复制”组合布局方式,通过这种简单灵活地组合,实现复杂功能的数据布局模式,同时获得高扩展、高性能、高可用等特性,不同需求的应用可以根据具体情况选择不同的组合。复合方式通过数据布局配置文件实现,形成一棵倒立的数据布局树,叶子节点是实际存储数据的节点;中间节点为超级节点,作为上一级数据布局的虚拟子节点;根结点位于客户端,它为智能哈希布局方式,作为整个复合布局的基础。
实施例二
本发明实施例提供了一种集群存储系统,图8是本实施例所述集群存储系统结构示意图,如图8所示,本数据存储系统包括存储客户端和存储服务器集群。
每个存储服务器集群对应一个数据卷,每个数据卷采用一种数据布局方式对所述数据卷中的存储节点进行布局。每个数据卷包括一个数据布局配置文件,所述数据布局配置文件包括对应数据卷相关的存储节点集合、对应数据卷的数据布局方式以及对应数据卷的分配策略;所述数据布局方式包括如实施例一所述的智能哈希数据布局方式或数据以目录为基本单位进行复制分布;数据以块为基本单位进行条带一级分布再进行复制二级分布。
其中,“条带+复制”方法为:数据以目录为基本单位进行条带一级分布再进行复制二级分布。
存储客户端启动时,将数据布局配置文件装载并进行解析并驻留在内存中,之后元数据操作和I/O数据操作均需要布局管理模块的协调和控制。与基于元数据服务的数据布局管理模型相比,客户端感知的数据管理模型的显著优势是消除了对元数据服务器的依赖,因此也消除了元数据服务带来的性能瓶颈、单点故障、数据一致性等问题。每个存储客户端都独立各自管理数据布局、元数据和I/O,不需要再与元数据服务器进行通信,这种机制完全并发化了性数据访问,实现了线性性能扩展。另外,存储客户端承担了数据布局管理的主要工作,这个负载分散到各个客户端是微小的,却极大减小了存储服务器的负载压力。
本集群存储系统中,客户端感知消除了对元数据服务器的依赖,避免了元数据管理的性能瓶颈、单点故障、数据一致性等一系列相关问题;智能哈希方式解决了哈希和一致性哈希的扩展性、数据迁移和重新分布、分布不均衡问题;堆积木式构造的多种复合数据布局方式,有效拓宽了数据应用负载的适用范围。本发明专利所实现的数据布局方法和系统,可显著提高集群存储系统的扩展性、性能、可用性和适用性。
基于元数据服务的数据布局管理模型依赖元数据服务器,集中式或分布式元数据管理存在性能瓶颈、单点故障、数据一致性等一系列相关问题,直接影响到系统性能和扩展性。本方法提出客户端感知的数据布局管理模型,使用配置文件方式确定数据布局管理策略,每个数据卷对应一个确定的数据布局配置文件,并被分发到需要访问该数据卷的客户端节点上。这种管理模型消除了对元数据服务器的依赖,因此也消除了元数据服务带来的性能瓶颈、单点故障、数据一致性等问题。
实施例三
本发明实施例提供了一种集群存储方法,该方法基于包括存储客户端和存储服务器集群的系统实现,每个存储服务器集群对应一个数据卷,每个数据卷采用一种数据布局方式对所述数据卷中的存储节点进行布局,包括数据存储方式和数据布局方式;所述数据布局方式为包括如实施例一所述的智能哈希数据布局方式或数据以目录为基本单位进行复制分布;数据以块为基本单位进行条带一级分布再进行复制二级分布。
其中,“条带+复制”方法为:数据以目录为基本单位进行条带一级分布再进行复制二级分布。
其中,数据存储的方式包括,每个数据卷包括一个数据布局配置文件,所述数据布局配置文件包括对应数据卷相关的存储节点集合、对应数据卷的数据布局方式以及对应数据卷的分配策略,存储客户端在启动时将需要的数据卷的数据布局配置文件装载到内存中,所述存储客户端利用数据卷的数据布局配置文件对所述数据卷的元数据操作和I/O数据操作进行协调和控制。
本发明实施例一所述智能哈希数据布局方法能极大提高集群扩展能力,新扩展存储节点不会导致数据重新分布和迁移,不会对前端数据访问产生影响;本发明实施例二所述的集群存储系统和本发明实施例三所述的集群存储方法,消除了对元数据服务器的依赖,因此也消除了元数据服务带来的性能瓶颈、单点故障、数据一致性等问题,可显著提高集存存储系统的扩展性、性能、可用性和适用性,可极大减小存储服务器的负载压力。
以上实施例提供的技术方案中的全部或部分内容可以通过软件编程实现,其软件程序存储在可读取的存储介质中,存储介质例如:计算机中的硬盘、光盘或软盘。
上述仅为本发明的较佳实施例及所运用技术原理,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围内。

Claims (9)

1.一种智能哈希数据布局方法,用于对一个数据卷中的存储节点进行布局,其特征在于,数据以目录为基本单位进行哈希分布,文件的父目录利用扩展属性记录存储节点的映射信息,子文件在父目录所属存储节点中进行分布。
2.如权利要求1所述的智能哈希数据布局方法,其特征在于,对所述存储节点预设容量阈值,在将目标文件写入目标存储节点之前,判断所述目标存储节点的可用存储容量是否在所述预设容量阈值以下,若是则将所述目标文件写入所述目标存储节点,否则将所述目标文件写入优先队列中容量负载最小的存储节点并创建一个从所述目标存储节点至所述容量负载最小的存储节点的文件链接。
3.如权利要求2所述的智能哈希数据布局方法,其特征在于,所述方法还包括写新数据操作,所述写新数据操作包括:
S1、存储客户端对请求文件名计算哈希值;
S2、所述存储客户端根据内存中维护的数据分布集群节点,向各所述数据分布集群节点请求所述请求文件的父目录的哈希分布信息;
S3、使用所述哈希值在所述父目录的哈希分布信息中查找所述请求文件的目标存储节点;
S4、判断所述目标存储节点的可用存储容量是否在预设的容量阈值以下,若是则确定所述目标存储节点为所述请求文件的实际存储节点并执行步骤S6,否则执行步骤S5;
S5、从优先队列中选择容量负载最小的存储节点作为所述请求文件的实际存储节点,并创建一个从所述实际存储节点至所述目标存储节点的文件链接,执行步骤S6;
S6、所述存储客户端与所述实际存储节点直接进行I/O请求,写入新数据。
4.如权利要求3所述的智能哈希数据布局方法,其特征在于,所述智能哈希数据布局方法还包括采用后台自动负载均衡技术对存储节点进行负载平滑处理。
5.如权利要求4所述的智能哈希数据布局方法,其特征在于,所述子文件在父目录所属存储节点中进行分布具体包括如下情况之一:所述子文件在父目录所属存储节点中进行条带二级分布;所述子文件在父目录所属存储节点中进行复制二级分布;所述子文件在父目录所属存储节点中先进行条带二级分布再进行复制三级分布。
6.一种集群存储系统,包括存储客户端和存储服务器集群,其特征在于,每个存储服务器集群对应一个数据卷,每个数据卷采用一种数据布局方法对所述数据卷中的存储节点进行布局,每个数据卷包括一个数据布局配置文件;
所述数据布局方法包括如权利要求1至5之一所述的智能哈希数据布局方法;
所述数据布局配置文件包括对应数据卷相关的存储节点集合、对应数据卷的数据布局方法以及对应数据卷的分配策略;
所述存储客户端在启动时将需要的数据卷的数据布局配置文件装载到内存中,所述存储客户端利用数据卷的数据布局配置文件对所述数据卷的元数据操作和I/O数据操作进行协调和控制。
7.如权利要求6所述的集群存储系统,其特征在于,所述数据布局方法还包括:数据以块为基本单位进行条带分布;数据以目录为基本单位进行复制分布;数据以块为基本单位进行条带一级分布再进行复制二级分布。
8.一种集群存储方法,该方法基于包括存储客户端和存储服务器集群的系统实现,其特征在于,每个存储服务器集群对应一个数据卷,每个数据卷采用一种数据布局方法对所述数据卷中的存储节点进行布局,包括数据存储方式和数据布局方法;
所述数据存储的方式包括,每个数据卷包括一个数据布局配置文件,所述数据布局配置文件包括对应数据卷相关的存储节点集合、对应数据卷的数据布局方法以及对应数据卷的分配策略,存储客户端在启动时将需要的数据卷的数据布局配置文件装载到内存中,所述存储客户端利用数据卷的数据布局配置文件对所述数据卷的元数据操作和I/O数据操作进行协调和控制;
所述数据布局方法包括如权利要求1至5之一所述的智能哈希数据布局方法。
9.如权利要求8所述的集群存储方法,其特征在于,所述数据布局方法还包括:数据以块为基本单位进行条带分布;数据以目录为基本单位进行复制分布;数据以块为基本单位进行条带一级分布再进行复制二级分布。
CN201210287274.4A 2012-08-13 2012-08-13 一种智能哈希数据布局方法、集群存储系统及其方法 Active CN102855294B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210287274.4A CN102855294B (zh) 2012-08-13 2012-08-13 一种智能哈希数据布局方法、集群存储系统及其方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210287274.4A CN102855294B (zh) 2012-08-13 2012-08-13 一种智能哈希数据布局方法、集群存储系统及其方法

Publications (2)

Publication Number Publication Date
CN102855294A true CN102855294A (zh) 2013-01-02
CN102855294B CN102855294B (zh) 2016-12-21

Family

ID=47401882

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210287274.4A Active CN102855294B (zh) 2012-08-13 2012-08-13 一种智能哈希数据布局方法、集群存储系统及其方法

Country Status (1)

Country Link
CN (1) CN102855294B (zh)

Cited By (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103281358A (zh) * 2013-05-07 2013-09-04 汉柏科技有限公司 一种基于一致性hash算法存储资源的方法
CN103441906A (zh) * 2013-09-25 2013-12-11 哈尔滨工业大学 基于自主计算的代理缓存集群异常检测系统
CN103914264A (zh) * 2014-03-12 2014-07-09 汉柏科技有限公司 一种矩阵硬盘的数据存储方法及系统
CN104508699A (zh) * 2012-07-27 2015-04-08 三星电子株式会社 内容传输方法和使用该方法的系统、装置和计算机可读记录介质
CN104580439A (zh) * 2014-12-30 2015-04-29 创新科存储技术(深圳)有限公司 一种云存储系统中使数据均匀分布的方法
CN104580393A (zh) * 2014-12-18 2015-04-29 北京蓝汛通信技术有限责任公司 用于服务器集群系统的扩容方法、装置及服务器集群系统
CN105007330A (zh) * 2015-08-04 2015-10-28 电子科技大学 分布式流数据存储系统的存储资源调度模型的建模方法
CN106021462A (zh) * 2016-05-17 2016-10-12 深圳市中博科创信息技术有限公司 集群文件系统文件存储的方法及集群文件系统
CN106339181A (zh) * 2016-08-19 2017-01-18 华为技术有限公司 存储系统中数据处理方法和装置
CN106412612A (zh) * 2016-09-27 2017-02-15 中央电视台 一种节目文件的整备方法、装置及系统
CN106446263A (zh) * 2016-10-18 2017-02-22 北京航空航天大学 一种多媒体文件云存储平台及使用该云存储平台去冗的方法
CN106570091A (zh) * 2016-10-20 2017-04-19 北京鲸鲨软件科技有限公司 一种增强分布式集群文件系统的高可用性的方法
CN107810501A (zh) * 2015-04-30 2018-03-16 奈飞公司 分层高速缓存填充
US10210174B2 (en) 2015-12-17 2019-02-19 Red Hat, Inc. Enforcing consistency of file to storage node mapping
CN109413130A (zh) * 2017-12-30 2019-03-01 广东技术师范学院 一种云存储系统
CN109815174A (zh) * 2018-12-13 2019-05-28 创新科软件技术(深圳)有限公司 一种多磁盘并发访问方法和装置
WO2019134222A1 (zh) * 2018-01-08 2019-07-11 平安科技(深圳)有限公司 Docker镜像库文件存储方法、终端、设备以及存储介质
CN110222013A (zh) * 2019-06-11 2019-09-10 深信服科技股份有限公司 一种集群存储容量确定的方法、系统、设备及存储介质
CN110245122A (zh) * 2019-05-08 2019-09-17 华为技术有限公司 一种数据处理的方法和kv存储系统
CN110765094A (zh) * 2019-10-24 2020-02-07 重庆紫光华山智安科技有限公司 文件创建方法、装置、系统及存储介质
CN111338571A (zh) * 2020-02-18 2020-06-26 腾讯科技(深圳)有限公司 任务处理方法、装置、设备及存储介质
CN111723148A (zh) * 2020-04-10 2020-09-29 浙江大华技术股份有限公司 数据存储方法及装置、存储介质、电子装置
CN112306688A (zh) * 2020-10-30 2021-02-02 天地伟业技术有限公司 一种创新的适用于云存储的哈希一致算法
CN112749136A (zh) * 2021-01-21 2021-05-04 北京明略昭辉科技有限公司 一种基于GlusterFS的文件存储方法及系统
CN113010526A (zh) * 2021-04-19 2021-06-22 星辰天合(北京)数据科技有限公司 基于对象存储服务的存储方法及装置
CN113505177A (zh) * 2021-07-08 2021-10-15 中国工商银行股份有限公司 分布式系统集群在线分片扩容方法及装置
CN114629908A (zh) * 2022-03-28 2022-06-14 浙江邦盛科技股份有限公司 一种基于服务器节点硬件资源密度的数据分片方法
WO2024002349A1 (zh) * 2022-07-01 2024-01-04 中兴通讯股份有限公司 文件管理方法、服务器、存储节点、文件存储系统、客户端

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008033662A1 (en) * 2006-09-11 2008-03-20 Microsoft Corporation Dynamic network load balancing using roundtrip heuristic
CN101692239A (zh) * 2009-10-19 2010-04-07 浙江大学 一种分布式文件系统元数据分配方法
CN102624911A (zh) * 2012-03-14 2012-08-01 中山大学 一种基于集群的可视媒体存储系统
CN102855284A (zh) * 2012-08-03 2013-01-02 北京联创信安科技有限公司 一种集群存储系统的数据管理方法及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008033662A1 (en) * 2006-09-11 2008-03-20 Microsoft Corporation Dynamic network load balancing using roundtrip heuristic
CN101692239A (zh) * 2009-10-19 2010-04-07 浙江大学 一种分布式文件系统元数据分配方法
CN102624911A (zh) * 2012-03-14 2012-08-01 中山大学 一种基于集群的可视媒体存储系统
CN102855284A (zh) * 2012-08-03 2013-01-02 北京联创信安科技有限公司 一种集群存储系统的数据管理方法及系统

Cited By (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104508699A (zh) * 2012-07-27 2015-04-08 三星电子株式会社 内容传输方法和使用该方法的系统、装置和计算机可读记录介质
CN104508699B (zh) * 2012-07-27 2019-12-10 三星电子株式会社 内容传输方法和使用该方法的系统、装置和计算机可读记录介质
US9826026B2 (en) 2012-07-27 2017-11-21 Samsung Electronics Co., Ltd. Content transmission method and system, device and computer-readable recording medium that uses the same
CN103281358A (zh) * 2013-05-07 2013-09-04 汉柏科技有限公司 一种基于一致性hash算法存储资源的方法
WO2014180139A1 (zh) * 2013-05-07 2014-11-13 汉柏科技有限公司 一种基于一致性hash算法存储资源的方法
CN103281358B (zh) * 2013-05-07 2016-04-20 汉柏科技有限公司 一种基于一致性hash算法存储资源的方法
CN103441906A (zh) * 2013-09-25 2013-12-11 哈尔滨工业大学 基于自主计算的代理缓存集群异常检测系统
CN103914264A (zh) * 2014-03-12 2014-07-09 汉柏科技有限公司 一种矩阵硬盘的数据存储方法及系统
CN103914264B (zh) * 2014-03-12 2017-09-12 汉柏科技有限公司 一种矩阵硬盘的数据存储方法及系统
CN104580393B (zh) * 2014-12-18 2017-12-15 北京蓝汛通信技术有限责任公司 用于服务器集群系统的扩容方法、装置及服务器集群系统
CN104580393A (zh) * 2014-12-18 2015-04-29 北京蓝汛通信技术有限责任公司 用于服务器集群系统的扩容方法、装置及服务器集群系统
CN104580439A (zh) * 2014-12-30 2015-04-29 创新科存储技术(深圳)有限公司 一种云存储系统中使数据均匀分布的方法
CN107810501A (zh) * 2015-04-30 2018-03-16 奈飞公司 分层高速缓存填充
US11675740B2 (en) 2015-04-30 2023-06-13 Netflix, Inc. Tiered cache filling
US11010341B2 (en) 2015-04-30 2021-05-18 Netflix, Inc. Tiered cache filling
CN107810501B (zh) * 2015-04-30 2022-01-11 奈飞公司 分层高速缓存填充
CN105007330B (zh) * 2015-08-04 2019-01-08 电子科技大学 分布式流数据存储系统的存储资源调度模型的建模方法
CN105007330A (zh) * 2015-08-04 2015-10-28 电子科技大学 分布式流数据存储系统的存储资源调度模型的建模方法
US11243918B2 (en) 2015-12-17 2022-02-08 Red Hat, Inc. Enforcing consistency of file to storage node mapping
US10210174B2 (en) 2015-12-17 2019-02-19 Red Hat, Inc. Enforcing consistency of file to storage node mapping
CN106021462A (zh) * 2016-05-17 2016-10-12 深圳市中博科创信息技术有限公司 集群文件系统文件存储的方法及集群文件系统
CN106339181A (zh) * 2016-08-19 2017-01-18 华为技术有限公司 存储系统中数据处理方法和装置
CN106339181B (zh) * 2016-08-19 2019-05-24 华为技术有限公司 存储系统中数据处理方法和装置
CN106412612A (zh) * 2016-09-27 2017-02-15 中央电视台 一种节目文件的整备方法、装置及系统
CN106412612B (zh) * 2016-09-27 2019-09-17 中央电视台 一种节目文件的整备方法、装置及系统
CN106446263B (zh) * 2016-10-18 2020-06-09 北京航空航天大学 一种多媒体文件云存储平台及使用该云存储平台去冗的方法
CN106446263A (zh) * 2016-10-18 2017-02-22 北京航空航天大学 一种多媒体文件云存储平台及使用该云存储平台去冗的方法
CN106570091A (zh) * 2016-10-20 2017-04-19 北京鲸鲨软件科技有限公司 一种增强分布式集群文件系统的高可用性的方法
CN109413130A (zh) * 2017-12-30 2019-03-01 广东技术师范学院 一种云存储系统
WO2019134222A1 (zh) * 2018-01-08 2019-07-11 平安科技(深圳)有限公司 Docker镜像库文件存储方法、终端、设备以及存储介质
CN109815174A (zh) * 2018-12-13 2019-05-28 创新科软件技术(深圳)有限公司 一种多磁盘并发访问方法和装置
CN110245122A (zh) * 2019-05-08 2019-09-17 华为技术有限公司 一种数据处理的方法和kv存储系统
CN110245122B (zh) * 2019-05-08 2022-08-09 华为技术有限公司 一种数据处理的方法和kv存储系统
CN110222013A (zh) * 2019-06-11 2019-09-10 深信服科技股份有限公司 一种集群存储容量确定的方法、系统、设备及存储介质
CN110765094A (zh) * 2019-10-24 2020-02-07 重庆紫光华山智安科技有限公司 文件创建方法、装置、系统及存储介质
CN110765094B (zh) * 2019-10-24 2020-08-11 重庆紫光华山智安科技有限公司 文件创建方法、装置、系统及存储介质
CN111338571A (zh) * 2020-02-18 2020-06-26 腾讯科技(深圳)有限公司 任务处理方法、装置、设备及存储介质
CN111338571B (zh) * 2020-02-18 2021-08-17 腾讯科技(深圳)有限公司 任务处理方法、装置、设备及存储介质
CN111723148A (zh) * 2020-04-10 2020-09-29 浙江大华技术股份有限公司 数据存储方法及装置、存储介质、电子装置
CN111723148B (zh) * 2020-04-10 2024-01-26 浙江大华技术股份有限公司 数据存储方法及装置、存储介质、电子装置
CN112306688A (zh) * 2020-10-30 2021-02-02 天地伟业技术有限公司 一种创新的适用于云存储的哈希一致算法
CN112749136A (zh) * 2021-01-21 2021-05-04 北京明略昭辉科技有限公司 一种基于GlusterFS的文件存储方法及系统
CN112749136B (zh) * 2021-01-21 2024-04-19 北京明略昭辉科技有限公司 一种基于GlusterFS的文件存储方法及系统
CN113010526A (zh) * 2021-04-19 2021-06-22 星辰天合(北京)数据科技有限公司 基于对象存储服务的存储方法及装置
CN113505177A (zh) * 2021-07-08 2021-10-15 中国工商银行股份有限公司 分布式系统集群在线分片扩容方法及装置
CN114629908B (zh) * 2022-03-28 2023-10-13 浙江邦盛科技股份有限公司 一种基于服务器节点硬件资源密度的数据分片方法
CN114629908A (zh) * 2022-03-28 2022-06-14 浙江邦盛科技股份有限公司 一种基于服务器节点硬件资源密度的数据分片方法
WO2024002349A1 (zh) * 2022-07-01 2024-01-04 中兴通讯股份有限公司 文件管理方法、服务器、存储节点、文件存储系统、客户端

Also Published As

Publication number Publication date
CN102855294B (zh) 2016-12-21

Similar Documents

Publication Publication Date Title
CN102855294A (zh) 一种智能哈希数据布局方法、集群存储系统及其方法
CN101997918B (zh) 异构san环境中的海量存储资源按需分配的实现方法
US7721044B1 (en) Expanding the storage capacity of a virtualized data storage system
CN102255962B (zh) 一种分布式存储方法、装置和系统
JP5539683B2 (ja) 拡張可能な2次ストレージシステムと方法
CN102096557B (zh) 一种独立磁盘冗余阵列的扩容方法、装置及系统
CN100452046C (zh) 一种海量文件的存储方法及系统
US7529887B1 (en) Methods, systems, and computer program products for postponing bitmap transfers and eliminating configuration information transfers during trespass operations in a disk array environment
CN103761059B (zh) 一种用于海量数据管理的多盘位存储方法及系统
CN103455577A (zh) 云主机镜像文件的多备份就近存储和读取方法及系统
CN104317742A (zh) 一种优化空间管理的自动精简配置方法
CN103647797A (zh) 一种分布式文件系统及其数据访问方法
CN102123176B (zh) 一种网络存储系统空间分配管理方法及装置
CN102821138A (zh) 一种适用于云存储系统的元数据分布式存储方法
CN110058822A (zh) 一种磁盘阵列横向拓展方法
CN102523258A (zh) 一种面向云操作系统的数据存储架构及其负载均衡方法
CN101976181A (zh) 一种存储资源的管理方法及管理装置
CN104054076B (zh) 数据存储方法、数据库存储节点故障处理方法及装置
CN110188084A (zh) 一种分布式文件存储系统及文件存储方法
Shirinbab et al. Performance Evaluation of Distributed Storage Systems for Cloud Computing.
US20200341639A1 (en) Lattice layout of replicated data across different failure domains
CN103473258A (zh) 云存储文件系统
JP2006331076A (ja) データ記憶システム及び記憶方法
CN103823641B (zh) 一种在线扩容的虚拟卷系统及其实现方法
CN101997919B (zh) 一种存储资源的管理方法及管理装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: 100085 No. 1, building 3, building ten, No. 8, 813 street, Beijing, Haidian District

Applicant after: Beijing Lianchuang Xinan Technology Co.,Ltd.

Address before: 100085, room 712, room 7, block D, Jinyu Ka Wah building, No. 9, 3rd Street, Haidian District, Beijing

Applicant before: Beijing Lianchuang Xinan Technology Co.,Ltd.

COR Change of bibliographic data
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220511

Address after: 1610, 16th floor, 101-2-16th floor, building 21, Rongda Road, Chaoyang District, Beijing 100012

Patentee after: Zhongguancun Technology Leasing Co.,Ltd.

Address before: 100085 813, 8th floor, building 3, courtyard 1, Shangdi 10th Street, Haidian District, Beijing

Patentee before: Beijing Lianchuang Xinan Technology Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20240308

Address after: Room 01, 3rd Floor, Building 1, No. 33 Dijin Road, Haidian District, Beijing, 100095

Patentee after: Beijing Lianchuang Xinan Technology Co.,Ltd.

Country or region after: China

Address before: 1610, 16th floor, 101-2-16th floor, building 21, Rongda Road, Chaoyang District, Beijing 100012

Patentee before: Zhongguancun Technology Leasing Co.,Ltd.

Country or region before: China