[发明专利]一种去中心化的分布式异构存储系统数据分布方法有效
申请号: | 201780026690.X | 申请日: | 2017-05-02 |
公开(公告)号: | CN109196459B | 公开(公告)日: | 2020-12-08 |
发明(设计)人: | 沙行勉;诸葛晴凤;吴林 | 申请(专利权)人: | 重庆大学 |
主分类号: | G06F3/06 | 分类号: | G06F3/06 |
代理公司: | 重庆大学专利中心 50201 | 代理人: | 唐开平 |
地址: | 400044 *** | 国省代码: | 重庆;50 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 中心 分布式 存储系统 数据 分布 方法 | ||
1.一种去中心化的分布式异构存储系统数据分布方法,其特征是,包括以下步骤:
步骤1、在程序的执行过程中,统计每个数据对象被读/写的次数,将读写次数转换为权值,作为数据的访问模式;根据数据的访问模式,将数据对象分类;
步骤2、根据存储设备的容量和读写性能,将存储设备分类;
步骤3、将存储数据分成不同的“放置组集群”,“放置组集群”包含多个“放置组”,每种存储设备的类型对应于一类“放置组集群”;
步骤4、根据存储系统的负载均衡目标和性能指标,计算待存入的每种数据对象应该放置到不同类型“放置组集群”的比例;
步骤5、利用哈希算法确定待存入的数据对象属于“放置组集群”中的哪一个“放置组”;
步骤6、利用存储系统的数据分布算法,将每个“放置组”中的数据对象存储到多个对应的存储设备中。
2.根据权利要求1所述的一种去中心化的分布式异构存储系统数据分布方法,其特征是,所述步骤4中,计算待存入每种数据对象放置到每种“放置组集群”的比例的步骤包括:
步骤802,计算所有待存入数据对象的总数;
步骤803,计算已有数据对象的总数;
步骤804,根据负载均衡条件,计算每个“放置组集群”能存储的数据对象最大值;
步骤805,将所有待存入数据对象按照平均写次数升序排列;
步骤806,将所有“放置组集群”按照性能降序排列;
步骤807,初始化变量i=0,用来扫描待存入数据对象类别;
步骤808,初始化变量j=0,用来扫描“放置组集群”类别;
步骤809,将第i类待存入的数据对象分配到第j类“放置组集群”;
步骤810,记录存储在“放置组集群”j中i类待存入的数据对象的个数;
步骤811,判断“放置组集群”j是否达到最大存储个数,如果是,执行步骤812,否则执行步骤813;
步骤813,判断是否所有待存入数据对象处理完毕,如果是,执行步骤816,否则,执行步骤814;
步骤814,处理下一类待存入数据对象,执行步骤809;
步骤812,处理下一个“放置组集群”;
步骤815,判断是否所有“放置组集群”处理完毕,如果是,执行步骤816,否则,执行步骤809;
步骤816,根据步骤810中记录的每个“放置组集群”存储的每类待存入数据对象的个数,计算每类待存入数据对象分配到每种“放置组集群”的比例。
3.根据权利要求2所述的一种去中心化的分布式异构存储系统数据分布方法,其特征是,所述步骤809中,第i类待存入的数据对象分配到第j类“放置组集群”的方法是:按照步骤805和步骤806中排好的顺序,依据步骤804所计算的“放置组集群”容量依次填充待存入的每类数据对象的个数。
4.根据权利要求1所述的一种去中心化的分布式异构存储系统数据分布方法,其特征是:步骤6中,采用伪随机哈希算法把这个“放置组”映射到不同的存储设备中。
5.一种去中心化的分布式异构存储系统数据分布方法,其特征是,包括以下步骤:
步骤1、在程序的执行过程中,统计一段时间内系统总的读写次数和被访问的数据对象的总数,用来确定该段时间内系统中数据对象的访问模式;
步骤2、根据存储设备的容量和读写性能,将存储设备分类;
步骤3、将数据对象分成不同的“放置组集群”,“放置组集群”包含多个“放置组”,每种存储设备的类型对应于一类“放置组集群”;
步骤4、对新存入的数据对象,利用均匀哈希算法将数据对象映射到“放置组集群”和“放置组”,并为每个数据对象增加一个标识,用来表示该数据对象属于哪一个“放置组集群”;
步骤5、利用存储系统的数据分布算法,将每个“放置组”中的数据对象存储到多个对应的存储设备中;
步骤6、在系统运行过程中,根据数据的访问模式,计算每个存储设备数据访问的迁移阈值,并根据这些阈值将数据对象动态迁移到合适的存储设备,以使对固态硬盘的写次数减少,并提升系统读写性能。
6.根据权利要求5所述的一种去中心化的分布式异构存储系统数据分布方法,其特征是,所述步骤6中,计算每个存储设备数据访问的迁移阈值的步骤包括:
在步骤001,获取输入参数:初始性能P0、性能提升比例β、数据对象满足负载均衡的限制值α;
在步骤002,定义以下变量:数据对象单位数k=0、数据对象从HDD移到SSD性能提升PGsh=0、从HDD移到SSD性能下降PLhs=0、从Archive HDD移到HDD性能提升PGwa=0、从ArchiveHDD移到SSD和HDD性能提升PGra=0、读操作数据记录表的行号i=0、写操作数据记录表的行号j=0;
在步骤003,判断性能提升是否满足PGsh+PGwa+PGra–PLhs=P0·β,如果是执行步骤017,否则执行步骤004;
在步骤004,将数据对象单位数k做加1操作;在初始化时,设置以k·Vssd个数据对象移动,在不能满足性能提升要求的情况下,本步骤就执行操作k=k+1,以k·Vssd个数据对象进行移动,其中Vssd表示满足负载均衡条件下从SSD中移出的数据对象个数;
在步骤005,赋值j=j+1,并读取写操作数据记录表中的第j行的数据,即找出写次数相对于上次循环增加1次的数据对象个数,j行数据的对应的写次数为W(j);j的初始值为0,即第一次执行此循环的j为1,读取写操作记录表的第1行数据;
在步骤006,若将SSD中写次数大于j-1次的数据对象移动到HDD中,判断移动的数据对象个数是否大于k·Vssd,若是,执行步骤005,否则,将阈值WS赋值为W(j),W(j)是第j行数据的写次数值,执行步骤007;
在步骤007,记录阈值WS、性能下降值PLhs,执行操作j=0,然后执行步骤008;
在步骤008,赋值i=i+1,并读取读操作数据记录表中的第i行的数据,即找出读次数相对于上次循环增加1次的数据对象个数,i行数据的对应的读次数为R(i);i的初始值为0,即第一次执行此循环的i为1,读取读操作记录表的第1行数据,该行对应读次数R(i)为0次数据的相关数据;
在步骤009,若将HDD中读次数大于i-1次的数据对象移动到SSD中,判断移动的数据对象个数是否大于等于k·Vssd,若是,则执行步骤008,否则,将阈值RH赋值为R(i),执行步骤010;
在步骤010,记录阈值RH,性能提高值PGsh,执行操作i=0,然后执行步骤011;
在步骤011,赋值i=i+1,读取读操作数据记录表中的第i行的数据,即找出读次数相对于上次循环增加1次的数据对象个数,i行数据的对应的写次数为R(i);
在步骤012,为了避免SSD存储空间不足,将Archive HDD的数据对象移到SSD与HDD中的数据单位个数比为CS/Ch,CS为SSD数据容量,Ch为HDD数据容量;判断将Archive HDD中读次数大于R(i)次的数据对象移到SSD和HDD中的个数是否大于CS/Ch·Vssd,若是,则执行步骤011,否则,将阈值RA赋值为R(i),此循环结束,执行步骤013;
在步骤013,记录阈值RA,性能提高值PGra;执行操作i=0,然后执行步骤014;
在步骤014,赋值j=j+1,并读取写操作数据记录表中的第j行的数据,即找出写次数相对于上次循环增加1次的数据对象个数,j行数据的对应的写次数为W(j);
在步骤015,将Archive HDD中写次数大于j-1的数据对象移到HDD中,判断移动的个数是大于(Ch-CS)/Ch·Vssd,若是,则执行步骤014,否则,将阈值WA赋值为W(j),此循环结束,执行步骤016;
在步骤016,记录阈值WA,性能提高值PGwa;执行操作j=0,然后执行步骤003;
在步骤017,输出阈值WS、RH、RA、WA。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于重庆大学,未经重庆大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201780026690.X/1.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置