当前位置: 首页 > 专利查询>重庆大学专利>正文

一种去中心化的分布式异构存储系统数据分布方法技术方案

技术编号:13925131 阅读:60 留言:0更新日期:2016-10-28 05:29
本发明专利技术公开了一种去中心化的分布式异构存储系统数据分布方法,它包括以下步骤:1、将数据对象分类;2、将存储设备分类;3、将存储数据分成不同的“放置组集群”,每种存储设备的类型对应于一类“放置组集群”;4、计算待存入的每种数据对象应该放置到不同类型“放置组集群”的比例;5、利用哈希算法确定待存入的数据对象属于“放置组集群”中的哪一个“放置组”;6、利用存储系统的数据分布算法,将每个“放置组”中的数据对象存储到多个对应的存储设备中。本发明专利技术的有点是:保持了存储系统的性能、负载均衡和可扩展性,又减少了对固态硬盘的写操作次数,延长其寿命。

【技术实现步骤摘要】

本专利技术属于分布式计算机存储
,具体涉及一种去中心化的分布式异构存储系统数据分布方法
技术介绍
在大数据应用、科学计算和云计算平台中,可靠并且可扩展的存储系统对系统性能有着至关重要的作用。随着数据量增大(PB级别),存储系统的数据分布策略必须保证性能和可扩展性。去中心化的数据分布策略,比如Ceph,利用存储设备本身的处理能力提供可靠的对象存储系统。固态硬盘(SSD)读写性能优于传统的机械硬盘(HDD),越来越被广泛地应用到存储系统中,形成大规模分布式异构存储系统。然而,存储系统的数据分布策略必须考虑固态硬盘的“写耐受性”,同时保证系统的可扩展性和负载均衡,因为过多的写操作会加速固态硬盘存储介质的损耗。目前,有许多研究致力于工作流系统的数据分布和任务调度。比如在科学计算中,“工作流管理系统”会更具执行计算站点的存储资源和计算能力分配计算任务。根据工作流模型中任务的依赖关系,可以确定这些任务所需数据的数据量大小,然后将不同阶段的计算任务分配到不同的计算站点,分配方案中主要考虑减少不同站点的远程访问传输开销。Ceph利用存储设备自身的通信能力,设计出了一种新的数据分布方法,该方法分为两步,第一步利用哈希算法,将数据对象映射到“放置组”,哈希函数的输入就是数据对象的全局唯一的标识符,哈希函数的输出结果相同的数据对象被放置到同一个“放置组”。第二步利用伪随机哈希算法,将每个“放置组”分布到多个存储设备。该数据分布方法没有考虑存储系统的异构特性,这样会导致对固态硬盘产生密集的写操作。还有一些工作利用固态硬盘提升中心化的存储性能,这种中心化的数据分布策略使得系统不具备扩展性,不适合超大规模的数据应用。
技术实现思路
针对现有技术存在的不足,本专利技术所要解决的技术问题是提供一种去中心化的分布式异构存储系统数据分布方法,它通过分析数据对象的访问方式来保持存储系统的性能、负载均衡和可扩展性,同时减少对固态硬盘的写操作。本专利技术所要解决的技术问题是通过这样的技术方案实现的,它包括以下步骤:步骤1、在程序的执行过程中,统计每个数据对象被读/写的次数,将读写次数转换为权值,作为数据的访问模式;根据数据的访问模式,将数据对象分类;步骤2、根据存储设备的容量和读写性能,将存储设备分类;步骤3、将存储数据分成不同的“放置组集群”,“放置组集群”包含多个“放置组”,每种存储设备的类型对应于一类“放置组集群”;步骤4、根据存储系统的负载均衡目标和性能指标,计算待存入的每种数据对象应该放置到不同类型“放置组集群”的比例;步骤5、利用哈希算法确定待存入的数据对象属于“放置组集群”中的哪一个“放置组”;步骤6、利用存储系统的数据分布算法,将每个“放置组”中的数据对象存储到多个对应的存储设备中。固态硬盘的“放置组”会被分配到固态硬盘,机械硬盘的“放置组”会被分配到机械硬盘。本专利技术的技术效果:本专利技术根据数据对象的访问模式,将不同类别的数据分布到不同的“放置组集群”,此时需要计算待存入的不同类型数据对象放到不同的“放置组集群”的比列,用来控制“放置组集群”之间的负载均衡,在确定了每个数据对象所属的“放置组集群”之后,再利用哈希算法计算该数据对象对应的“放置组”;再把“放置组”中的数据对象分布到存储设备中。这样将数据均匀分布到存储设备中,排除了中心化的数据存储结构,既保持了存储系统的性能、负载均衡和可扩展性,又减少了对固态硬盘的写操作次数,延长其寿命。附图说明本专利技术的附图说明如下:图1为计算每种待存入数据对象存储到每种“放置组集群”的比例算法流程图;图2为本专利技术的数据存储过程图;图3为映射读密集型数据对象映射到“放置组”的示意图;图4为映射写密集型数据对象映射到“放置组”的示意图。具体实施方式下面结合附图和实施例对本专利技术作进一步说明:本专利技术包括以下步骤:步骤1、在程序的执行过程中,统计每个数据对象被读/写的次数,将读写次数转换为权值,作为数据的访问模式;根据数据的访问模式,将数据对象分类,比如读密集型,写密集型和混合型;分类方法可以采用常见的K-Means聚类算法,每种类型的数据对象有个属性值用来表示这类数据对象平均写次数;步骤2、根据存储设备的容量和读写性能,将存储设备分类,比如高速固态硬盘,低速固态硬盘,高速机械硬盘,低速机械硬盘,每种存储设备有自己的读写性能参数,比如平均读写延迟时间、容量。步骤3、将存储数据分成不同的“放置组集群”,“放置组集群”包含多个“放置组”,每种存储设备类型对应于一类“放置组集群”。“放置组集群”用来将读写属性相似的数据对象组合到一起;“放置组集群”是一个逻辑的概念,主要用来对数据对象做聚合,同时,“放置组集群”也有容量和读写性能的属性,容量就是该“放置组集群”对应的所有硬盘的容量,读写性能是这些硬盘的平均读写延迟。步骤4、根据存储系统的负载均衡目标和性能指标,计算待存入的每种数据对象应该放置到不同类型“放置组集群”的比例;例如,假设系统有3个“放置组集群”,对于读密集型数据,20%放入第一个“放置组集群”,30%放入第二个“放置组集群”,50%放入第三个“放置组集群”, 这个比例指的是放入每类“放置组集群”的个数占该类数据总数的比例。存储系统的性能指标根据存储设备的读写性能来设定,比如,要求对所有的数据对象,读取操作的平均延迟为0.2毫秒,写入操作的平均延迟为0.5毫秒。设置每种数据对象在不同类型“放置组集群”比例的目的就是要保证数据在“放置组集群”之间均衡分布。在极端的情况下,所有的数据对象都是写密集型,按照存储设备分配的目标,写密集型数据对象应分配到机械硬盘中,以便减少对固态硬盘的写操作,但如果所有数据对象都是写密集型的,那么全都会被分配到机械硬盘对应的“放置组集群”,使得固态硬盘中没有数据。为了避免这种情况,需要将同一种类型的数据对象分配到不同的“放置组集群”,用这个比例来控制“放置组集群”之间的负载均衡。步骤5、利用哈希算法确定待存入的数据对象属于“放置组集群”中的哪一个“放置组”,因为一个“放置组集群”中包含多个“放置组”。步骤6、利用存储系统的数据分布算法,将每个“放置组”中的数据对象存储到多个对应的存储设备中,固态硬盘对应“放置组集群”中的“放置组”会被分配到固态硬盘,机械硬盘对应“放置组集群”中的“放置组”会被分配到机械硬盘。一个“放置组” 存储到多个存储设备的原因是为了对同一个数据多次备份。备份数由系统初始化设置。因为同一个“放置组”对应的存储设备有多个,所以需要有个映射算法将确定每个“放置组”应该放入哪一个存储设备。上述步骤4中,计算每种待存入数据对象放置到每种“放置组集群”的比例算法流程图如图1所示:该流程开始于步骤801,然后:在步骤802,计算所有待存入数据对象的总数,即不同类型数据对象的总和;在步骤803,计算已有数据对象的总数,即在初始状态下,所有存储设备已经存储的数据对象的个数;在步骤804,根据负载均衡条件,计算每个“放置组集群”能存储的数据对象最大值;即确定每个“放置组集群”的容量;负载均衡是系统的配置参数,在所有数据对象完全平均分布的情况下,根据每个存储设备的容量增加或者减少5%都认为是负载均衡的。比如,某个“放置组集群”在完全平均分布的状态下能存储100个数据本文档来自技高网
...

【技术保护点】
一种去中心化的分布式异构存储系统数据分布方法,其特征是,包括以下步骤:步骤1、在程序的执行过程中,统计每个数据对象被读/写的次数,将读写次数转换为权值,作为数据的访问模式;根据数据的访问模式,将数据对象分类;步骤2、根据存储设备的容量和读写性能,将存储设备分类;步骤3、将存储数据分成不同的“放置组集群”,“放置组集群”包含多个“放置组”,每种存储设备的类型对应于一类“放置组集群”;步骤4、根据存储系统的负载均衡目标和性能指标,计算待存入的每种数据对象应该放置到不同类型“放置组集群”的比例;步骤5、利用哈希算法确定待存入的数据对象属于“放置组集群”中的哪一个“放置组”;步骤6、利用存储系统的数据分布算法,将每个“放置组”中的数据对象存储到多个对应的存储设备中。

【技术特征摘要】
1.一种去中心化的分布式异构存储系统数据分布方法,其特征是,包括以下步骤:步骤1、在程序的执行过程中,统计每个数据对象被读/写的次数,将读写次数转换为权值,作为数据的访问模式;根据数据的访问模式,将数据对象分类;步骤2、根据存储设备的容量和读写性能,将存储设备分类;步骤3、将存储数据分成不同的“放置组集群”,“放置组集群”包含多个“放置组”,每种存储设备的类型对应于一类“放置组集群”;步骤4、根据存储系统的负载均衡目标和性能指标,计算待存入的每种数据对象应该放置到不同类型“放置组集群”的比例;步骤5、利用哈希算法确定待存入的数据对象属于“放置组集群”中的哪一个“放置组”;步骤6、利用存储系统的数据分布算法,将每个“放置组”中的数据对象存储到多个对应的存储设备中。2.根据权利要求1所述的一种去中心化的分布式异构存储系统数据分布方法,其特征是,所述步骤4中,计算待存入每种数据对象放置到每种“放置组集群”的比例的步骤包括:步骤802,计算所有待存入数据对象的总数;步骤803,计算已有数据对象的总数;步骤804,根据负载均衡条件,计算每个“放置组集群”能存储的数据对象最大值;步骤805,将所有待存入数据对象按照平均写次数升序排列;步骤806,将所有“放置组集群”按照性能降序排列;步骤807,初始化变量i=0,用来扫描待存入数据...

【专利技术属性】
技术研发人员:沙行勉诸葛晴凤吴林
申请(专利权)人:重庆大学
类型:发明
国别省市:重庆;50

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

1