一种分布式存储系统中的数据存储方法及装置制造方法及图纸

技术编号:27741060 阅读:22 留言:0更新日期:2021-03-19 13:34
一种分布式存储系统中的数据存储方法及装置,在该方法中,当存储系统的存储节点接收到客户端根据分区视图发送的写请求后,会根据该存储节点中多个存储设备的剩余存储空间,从该多个存储设备中确定该目标存储设备,并将与该写请求对应的待写入数据写入该目标存储设备。由于存储节点是根据每个存储设备的剩余存储空间存储待写入数据的,因此,当每个待写入数据都采用这种方式进行处理后,则在各个存储设备存储的数据的数据量可以达到一个均衡状态。

【技术实现步骤摘要】
一种分布式存储系统中的数据存储方法及装置
本申请涉及存储
,尤其涉及一种分布式存储系统中的数据存储方法及装置。
技术介绍
在分布式存储系统中,采用对存储系统的存储设备进行分区的方法,来提高存储系统的存储性能。具体的做法是:首先按照预设的规则(例如用户需求或者存储系统的存储池对应的数据冗余模式等),创建若干个分区(partition,pt),每个pt中包括固定数量的列,一个列可以认为是一个逻辑存储区域,然后,根据存储系统的均衡策略,将该若干个pt打散到存储系统的所有存储设备上。这样,存储系统中的存储设备用于为分区中的列提供存储空间。一个分区会包含多个分条,分条根据冗余算法,例如纠删码(ErasureCoding,EC)包含数据分条单元和校验分条单元,数据分条单元和校验分条单元大小相同,并且分条中数据分条单元和校验分条单元数量之和等于分区中列的数量,数据分条单元和校验分条单元统称为分条单元。一个分区中的多个分条位于相同位置的分条单元分布在相同的列上,即分布在相同的存储设备上。这样,当在该存储系统上存储数据时,存储系统可以从该若干个分区中选择一个分区,从分区中获得分条,然后根据pt与存储设备之间的映射关系,将该数据分散存储在相应的存储设备上,由于一个分区的各个列中存储的数据量均衡,从而可以保证存储系统的负载均衡。由于每个分区中存储的可能是不同业务的数据,而不同业务的数据的数据量可能不同,从而会导致同一个存储节点中属于不同分区的存储设备中存储的数据的数据量也不相同。例如,存储节点属于某个分区的存储设备已经存满数据,而该存储节点的属于其他分区的存储设备还有剩余存储空间,在这种情况下,造成存储系统中存储的负载不均衡。
技术实现思路
本申请提供一种分布式存储系统中的数据存储方法及装置,用以实现存储系统的负载均衡。第一方面,提供一种分布式存储系统中的数据存储方法,在该方法中,当存储系统的客户端获取待写入数据后,该客户端会根据分区视图向存储系统的存储节点发送写请求,该写请求用于将待写入数据写入分区的属于该存储节点的目标存储设备,该分区视图包含该分区与该目标存储设备所在的存储节点的对应关系。该存储节点在接收该写请求后,则根据该存储节点中多个存储设备的剩余存储空间,从该多个存储设备中确定该目标存储设备,并将该待写入数据写入该目标存储设备。在上述技术方案中,由于存储节点是根据每个存储设备的剩余存储空间存储待写入数据的,也就是说,在写入数据时已经考虑了各个存储设备的剩余存储空间,因此,当每个待写入数据都采用这种方式进行处理后,则在各个存储设备存储的数据的数据量可以达到一个均衡状态。进一步,由于可以实现存储系统的负载均衡,进而可以避免由于各个存储设备中存储的数据不均衡而导致无法使用某些存储设备的剩余存储空间的问题,可以提高存储空间的利用率。在一种可能的设计中,存储节点根据多个存储设备的剩余存储空间,从该多个存储设备中确定该目标存储设备,可以包括但不限于如下两种方式:第一种方式,该存储节点从该多个存储设备中选择剩余存储空间不小于阈值的存储设备作为该目标存储设备。第二种方式,该存储节点从该多个存储设备中选择剩余存储空间最大的存储设备作为该目标存储设备。在上述技术方案中,存储节点可以将待写入数据存储在剩余存储空间较大的存储设备中,这样可以避免某一个存储设备会在较短的时间内存满数据,可以使得该存储节点的各个存储设备存储的数据的数据量在较长的时间处于均衡状态。且,存储节点可以通过多种方式确定该目标存储设备,可以增加存储系统的灵活性。在一种可能的设计中,该存储节点可以建立该待写入数据的地址与该目标存储设备的存储地址之间的对应关系;其中,该存储地址为该目标存储设备存储该待写入数据的地址。在上述技术方案中,由于存储节点会根据每个存储设备的剩余存储空间确定将该待写入数据存储到哪一个存储设备,也就是说,存储节点中存储该待写入数据的存储设备,和客户端发送的写请求中指示的目标存储设备可能相同,也可能不同,因此,当存储节点存储该待写入数据后,可以建立该待写入数据的地址与存储地址的对应关系,便于后续读写过程中可以较快地获取该待写入数据。第二方面,提供一种数据存储装置,该数据存储装置可以是存储节点或者存储服务端,也可以是存储节点或者存储服务端中的装置。该数据存储装置包括处理器,用于实现上述第一方面描述的方法。该数据存储装置还可以包括存储器,用于存储程序指令和数据。该存储器与该处理器耦合,该处理器可以调用并执行该存储器中存储的程序指令,用于实现上述第一方面描述的方法中的任意一种方法。该数据存储装置还可以包括通信接口,该通信接口用于该数据存储装置与其它设备进行通信。示例性地,该其它设备为存储系统中的客户端。在一种可能的设计中,该数据存储装置包括处理器和通信接口,其中:所述通信接口,用于接收所述分布式存储系统中的客户端根据分区视图发送的写请求;所述写请求用于将待写入数据写入分区的目标存储设备;所述分区视图包含所述分区与所述目标存储设备所在的所述存储节点的对应关系,所述目标存储设备属于所述存储节点;所述处理器,用于根据所述存储节点中多个存储设备的剩余存储空间,从所述多个存储设备中确定所述目标存储设备;以及,用于将所述待写入数据写入所述目标存储设备。在一种可能的设计中,所述处理器具体用于:从所述多个存储设备中选择剩余存储空间不小于阈值的存储设备作为所述目标存储设备。在一种可能的设计中,所述处理器具体用于:从所述多个存储设备中选择剩余存储空间最大的存储设备作为所述目标存储设备。在一种可能的设计中,所述处理器还用于:建立所述待写入数据的地址与所述目标存储设备的存储地址之间的对应关系;其中,所述存储地址为所述目标存储设备存储所述待写入数据的地址。第三方面,提供一种数据存储装置,该数据存储装置可以是存储节点或者存储服务端,也可以是存储节点或者存储服务端中的装置。该数据存储装置可以包括处理模块和通信模块,这些模块可以执行上述第一方面任一种设计示例中的所执行的相应功能,具体的:所述通信模块,用于接收所述分布式存储系统中的客户端根据分区视图发送的写请求;所述写请求用于将待写入数据写入分区的目标存储设备;所述分区视图包含所述分区与所述目标存储设备所在的所述存储节点的对应关系,所述目标存储设备属于所述存储节点;所述处理模块,用于根据所述存储节点中多个存储设备的剩余存储空间,从所述多个存储设备中确定所述目标存储设备;以及,用于将所述待写入数据写入所述目标存储设备。第四方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被计算机执行时,使所述计算机执行第一方面中任意一项所述的方法。第五方面,本申请实施例提供一种计算机程序产品,所述计算机程序产品存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被计算机执行时,使所述计算机执行第一方本文档来自技高网
...

【技术保护点】
1.一种分布式存储系统中的数据存储方法,其特征在于,所述分布式存储系统包含客户端和存储节点,包括:/n所述存储节点接收所述客户端根据分区视图发送的写请求;所述写请求用于将待写入数据写入分区的目标存储设备;所述分区视图包含所述分区与所述目标存储设备所在的所述存储节点的对应关系,所述目标存储设备属于所述存储节点;/n所述存储节点根据所述存储节点中多个存储设备的剩余存储空间,从所述多个存储设备中确定所述目标存储设备;/n所述存储节点将所述待写入数据写入所述目标存储设备。/n

【技术特征摘要】
1.一种分布式存储系统中的数据存储方法,其特征在于,所述分布式存储系统包含客户端和存储节点,包括:
所述存储节点接收所述客户端根据分区视图发送的写请求;所述写请求用于将待写入数据写入分区的目标存储设备;所述分区视图包含所述分区与所述目标存储设备所在的所述存储节点的对应关系,所述目标存储设备属于所述存储节点;
所述存储节点根据所述存储节点中多个存储设备的剩余存储空间,从所述多个存储设备中确定所述目标存储设备;
所述存储节点将所述待写入数据写入所述目标存储设备。


2.根据权利要求1所述的方法,其特征在于,所述存储节点根据所述存储节点中多个存储设备的剩余存储空间,从所述多个存储设备中确定所述目标存储设备,具体包括:
所述存储节点从所述多个存储设备中选择剩余存储空间不小于阈值的存储设备作为所述目标存储设备。


3.根据权利要求1所述的方法,其特征在于,所述存储节点根据所述存储节点中多个存储设备的剩余存储空间,从所述多个存储设备中确定所述目标存储设备,具体包括:
所述存储节点从所述多个存储设备中选择剩余存储空间最大的存储设备作为所述目标存储设备。


4.根据权利要求1-3中任一项所述的方法,其特征在于,所述方法还包括:
所述存储节点建立所述待写入数据的地址与所述目标存储设备的存储地址之间的对应关系;其中,所述存储地址为所述目标存储设备存储所述待写入数据的地址。


5.一种数据存储装置,其特征在于,该数据存储装置应用在分布式存储系统中,该装置包括通信接口和处理器,其中:
所述通信接口,用于接收所述分布式存储系统中的客户端根据分区视图发送的写请求;所述写请求用于将待写入数据写入分区的目标存储设备;所述分区视图包含所述分区与所述目标存储设备所在的所述存储节点的对应关系,所述目标存储设备属于所述存储节点;
所述处理器,用于根据所述存储节点中多个存储设备的剩余存储空间,从所述多个存储设备中确定所述目标存储设备;以及,用于将所述待写入数据写入所述目标存储设备。


6.根据权利要求5所述的装置,其特征在于,所述处理器具体用于:
从所述多个存储设备中选择剩...

【专利技术属性】
技术研发人员:王道辉宋驰湛云王同雷
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东;44

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

1