System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及存储,特别涉及一种数据分配方法及装置。
技术介绍
1、目前,随着存储系统承担的业务数据量越来越大,存储系统对应的集群规模也不断增长,但对于支持数据上量、突发流量等需要快速扩容的场景,可能存在同构机型的服务器无法及时供应,需要采用存储容量不同的异构机型的服务器进行代替,但是现有的分配方法针对异构机型的服务器,无法根据异构机型的服务器对应的存储容量来进行适应性分配,从而导致通过异构机型的服务器进行扩容会使得集群整体负载不均衡。
技术实现思路
1、本申请提供了一种数据分配方法及装置,将多个分片数据对应的分片副本数据均匀分布在每个容灾块对应的多个异构服务器的多个存储单元中,这样可以根据异构机型的服务器对应的存储容量来进行适应性的分配,从而提高了存储系统整体的负载均衡水平。
2、第一方面,本申请提供了一种数据分配方法,该方法包括:
3、获取服务数据对应的n个分片数据(shard),n为大于1的整数;
4、基于n个分片数据确定m个容灾块,m个容灾块的每个容灾块中包括n个分片数据对应的n个分片副本数据,m为大于1的整数;
5、根据m个容灾块中每个容灾块对应的多个异构服务器的多个存储单元分配的分片副本数据的数量的n次方和值,确定每个容灾块的分片副本数据的分配方式;
6、根据每个容灾块的分片副本数据的分配方式,将每个容灾块的分片副本数据分配到每个容灾块对应的多个异构服务器的多个存储单元中,n为大于1的整数。
7、可以看
8、在一个可行的示例中,根据m个容灾块中每个容灾块对应的多个异构服务器的多个存储单元分配的分片副本数据的数量的n次方和值,确定每个容灾块的分片副本数据的分配方式之前,方法还包括:确定多个存储单元中每个存储单元的容量;根据m个容灾块中每个容灾块对应的多个异构服务器的多个存储单元分配的分片副本数据的数量的n次方和值,确定每个容灾块的分片副本数据的分配方式,包括:根据m个容灾块中每个容灾块对应的多个异构服务器的多个存储单元分配的分片副本数据的数量的n次方和值、以及多个存储单元中每个存储单元的容量,确定每个容灾块的分片副本数据的分配方式。
9、在本申请中,通过确定每个存储单元的容量,并根据每个存储单元的容量对分片副本数据进行分配,从而保障每个存储单元分配的分片副本数据不会因不满足每个存储单元的容量大小而导致无法实际应用,提高了数据分配的稳定性。
10、在一个可行的示例中,在根据m个容灾块中每个容灾块对应的多个异构服务器的多个存储单元分配的分片副本数据的数量的n次方和值,确定每个容灾块的分片副本数据的分配方式之前,方法还包括:确定多个存储单元中每个存储单元的转速;根据多个存储单元中每个存储单元的转速生成每个存储单元的分配费用,每个存储单元的转速越高,每个存储单元的分配费用越低;根据m个容灾块中每个容灾块对应的多个异构服务器的多个存储单元分配的分片副本数据的数量的n次方和值,确定每个容灾块的分片副本数据的分配方式,包括:根据m个容灾块中每个容灾块对应的多个异构服务器的多个存储单元分配的分片副本数据的数量的n次方和值、以及该多个存储单元中每个存储单元分配的分片副本数据的数量与每个存储单元的分配费用的乘积,确定每个容灾块的分片副本数据的分配方式。
11、在本申请中,通过设置每个存储单元的转速的分配费用,从而根据该每个存储单元的分配费用结合每个存储单元分配的分片副本数据的数量的方式,确定每个容灾块的分片副本数据的分配方式,这样可以在满足优先将分片副本数据分配到转速高的存储单元的基础上,保证每个存储单元上的分片副本数据的分布更加均匀,从而提高了存储系统整体的负载均衡水平。
12、在一个可行的示例中,确定m个容灾块中的m个目标容灾块;根据n个主分片副本数据分别在m个目标容灾块的多个异构服务器的多个存储单元的分配数量的n次方和值,在m个目标容灾块中的每个目标容灾块中n个分片副本数据设置部分主分片副本数据和部分从分片副本数据,主分片副本数据为可读写数据,从分配副本数据为只读数据,m个目标容灾块中的主分片副本数据之间各不相同,n个主分片副本数据对应一组n个分片数据。
13、在本申请中,在本申请中,从m个目标容灾块中选择的主分片副本数据,满足在目标容灾块对应的异构服务器的至少一个存储单元的第二分配数量的n次方和值最小,这样可以使得主分片副本数据在目标容灾块对应的服务器的所有存储单元上均匀分布,从而提高存储系统的负载均衡水平。
14、在一个可行的示例中,在根据m个容灾块中每个容灾块对应的多个异构服务器的多个存储单元分配的分片副本数据的数量的n次方和值,确定每个容灾块的分片副本数据的分配方式之前,方法还包括:确定m个容灾块中的m个目标容灾块;在m个目标容灾块中的每个目标容灾块中n个分片副本数据设置部分主分片副本数据和部分从分片副本数据,主分片副本数据为可读写数据,从分配副本数据为只读数据,m个目标容灾块中的主分片副本数据之间各不相同,n个主分片副本数据对应一组n个分片数据;根据m个容灾块中每个容灾块对应的多个异构服务器的多个存储单元分配的分片副本数据的数量的n次方和值,确定每个容灾块的分片副本数据的分配方式,包括:根据m个容灾块中每个容灾块对应的多个异构服务器的多个存储单元分配的分片副本数据的第一分配数量的n次方和值,确定每个容灾块的分片副本数据的分配方式,其中,多个存储单元中每个存储单元分配的分片副本数据的第一分配数量,为在每个存储单元分配的主分片副本数据的数量乘以第一预设权值,与从分片副本数据的数量乘以第二预设权值的和,第一预设权值与第二预设权值之间不同。
15、在本申请中,通过上述方法设置主分片副本数据和从分片副本数据计算第一分配数量时的不同的预设权值,可以在对分片副本数据进行分配时,既可以保障主分片副本数据在目标容灾块对应的服务器中的至少一个存储单元上均匀分布,还可以保障分片副本数据在整个容灾块对应的服务器中的至少一个存储单元上均匀分布,从而提升了存储系统的负载均衡水平。
16、在一个可行的示例中,m个容灾块与m个服务器集对应,m个服务器集中每个服务器集包括多个异构服务器,确定m个容灾块中的m个目标容灾块,包括:本文档来自技高网...
【技术保护点】
1.一种数据分配方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
3.根据权利要求1所述的方法,其特征在于,在根据所述M个容灾块中每个容灾块对应的多个异构服务器的多个存储单元分配的分片副本数据的数量的n次方和值,确定每个容灾块的分片副本数据的分配方式之前,所述方法还包括:
4.根据权利要求2或3所述的方法,其特征在于,所述M个容灾块与M个服务器集对应,所述M个服务器集中每个服务器集包括多个异构服务器,所述确定所述M个容灾块中的m个目标容灾块,包括:
5.根据权利要求1-4任一项所述的方法,其特征在于,在根据所述M个容灾块中每个容灾块对应的多个异构服务器的多个存储单元分配的分片副本数据的数量的n次方和值,确定每个容灾块的分片副本数据的分配方式之前,所述方法还包括:
6.根据权利要求1-4任一项所述的方法,其特征在于,在根据所述M个容灾块中每个容灾块对应的多个异构服务器的多个存储单元分配的分片副本数据的数量的n次方和值,确定每个容灾块的分片副本数据的分配方式之前,所述方法还包括:<
...【技术特征摘要】
1.一种数据分配方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
3.根据权利要求1所述的方法,其特征在于,在根据所述m个容灾块中每个容灾块对应的多个异构服务器的多个存储单元分配的分片副本数据的数量的n次方和值,确定每个容灾块的分片副本数据的分配方式之前,所述方法还包括:
4.根据权利要求2或3所述的方法,其特征在于,所述m个容灾块与m个服务器集对应,所述m个服务器集中每个服务器集包括多个异构服务器,所述确定所述m个容灾块中的m个目标容灾块,包括:
5.根据权利要求1-4任一项所述的方法,其特征在于,在根据所述m个容灾块中每个容灾块对应的多个异构服务器的多个存储单元分配的分片副本数据的数量的n次方和值,确定每个容灾块的分片副本数据的分配方式之前,所述方法还包括:
6.根据权利要求1-4任一项所述的...
【专利技术属性】
技术研发人员:李茜,毛琦,
申请(专利权)人:行吟信息科技上海有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。