一种数据存储方法及装置与流程

文档序号:35145698发布日期:2023-08-18 02:37阅读:42来源:国知局
一种数据存储方法及装置与流程

本技术涉及存储,尤其涉及一种数据存储方法及装置。


背景技术:

1、在存储业务中,可利用包括了多个分布式存储集群的存储系统来存储文件。存储系统可按照冗余存储机制存储文件,这样即使某个分布式存储集群故障,用户也可通过存储系统中的其他分布式存储集群写入或读取文件,从而保证了存储业务的可靠性。例如,一种冗余存储机制为纠删码(erasure coding,ec)存储机制。在ec存储机制下,一个分布式存储集群接收并存储待写入的文件之后,可划分该文件,以获得多个数据块,并基于这多个数据块,生成至少一个校验块,并可将这些数据块和校验块中的部分选择性地发送给存储系统中相应的分布式存储集群,存储系统中的部分或全部分布式存储集群存储相应的数据块或校验块,相当于第一文件被分散地存在了存储系统中的部分或全部分布式存储集群中,这样文件写入过程才算结束。在文件写入结束后,用户才能通过该分布式存储集群以及其他分布式存储集群访问该文件。

2、在ec存储机制下,即使其中一个分布式存储集群所存储的某个数据块出现异常,存储系统也可通过其他分布式存储集群中的数据块以及校验块,恢复异常的数据块,以重新获得该文件,从而保证数据存储的可靠性。但一个分布式存储集群需向其他分布式存集群发送相应数据块或校验块,需要一定的时间,并且其他分布式存储集群存储相应的数据块或校验块,也需要一定的时间,这使得用户访问存储系统中的文件需要等待的时间较长,也就导致了存储系统中的数据写入的时延较大。


技术实现思路

1、本技术实施例提供一种数据存储方法及装置,用于存储系统数据写入的时延较大。

2、第一方面,本技术实施例提供一种数据存储方法,应用于存储系统包括的多个分布式存储集群中的第一分布式存储集群,所述方法可由第一分布式存储集群执行,具体可由第一分布式存储集群中的某个设备(如服务器)上的控制器或处理器执行。所述方法包括:接收并存储第一文件;记录所述第一文件的第一元数据,所述第一元数据包括所述第一文件在所述第一分布式存储集群中的存储地址;向所述多个分布式存储集群中除了所述第一分布式存储集群之外的其他分布式存储集群发送所述第一元数据。

3、在本技术实施例中,第一分布式存储集群存储第一文件后,可记录第一文件的第一元数据,并将第一元数据发送给多个分布式存储集群中的其他分布式存储集群。第一元数据包括了第一文件在第一分布式存储集群中的存储地址,因此多个分布式存储集群均能确定第一数据在第一分布式存储集群中的存储地址,这使得任一分布式存储集群均可根据该存储位置,从第一分布式存储集群获取第一文件,也就使得,用户可通过多个分布式存储集群中的任一分布式存储集群读取该第一文件,相比现有技术,无需等待多个分布式存储集群存储完该第一文件相应的数据块或校验块,用户便可访问第一文件,减少了用户的等待时长,从而减少了存储系统写入数据的时延,提高了数据写入的效率。

4、在一种可能的实施方式中,所述方法还包括:将多个分片文件存储在所述存储系统的文件目录下,其中,所述文件目录被挂载了多个逻辑存储单元,所述多个逻辑存储单元与所述多个分布式存储集群对应,其中每个分布式存储集群对应所述多个逻辑存储单元中的至少一个逻辑存储单元,所述多个分片文件包括所述第一文件对应的多个数据块和至少一个校验块,其中一个分片文件包括所述多个数据块中的一个数据块或所述至少一个校验块中的一个校验块,所述至少一个校验块是对所述多个数据块进行校验计算获得的。

5、在该实施方式中,多个分布式存储集群提供的多个逻辑存储单元可挂载在一个文件目录下,在以ec存储机制存储第一文件时,将第一文件对应的多个分片文件存储在文件目录下,也就相当于完成了ec存储机制对应的存储过程,ec存储机制使得文件存储具有一定的冗余度,因此保证了文件存储的可靠性。并且,将第一文件对应的多个分片文件存储在文件目录下,相当于以文件形式存储了第一文件对应的多个分片文件,有便于对这多个分片文件进行管理。并且,这多个分片文件存储在了一个文件目录下,便于后续从这多个分布式存储集群快速地查找该第一文件,也就有利于提高用户读取第一文件的效率。

6、在一种可能的实施方式中,所述方法还包括:记录所述第一文件的第二元数据,所述第二元数据包括第一标识以及第二标识,所述第一标识为所述多个分片文件的标识,并且所述第一标识是根据所述第一分布式存储集群的标识、以及为所述多个分片文件分配的第一对象标识符确定的,所述第一对象标识符是所述第一分布式存储集群中的多个唯一对象标识符中的一个,所述第二标识为所述文件目录的标识;向所述其他分布式存储集群发送所述第二元数据。

7、在该实施方式中,多个分布式存储集群均获得了第二元数据,并且第二元数据中记录了多个分片文件的标识(即第一标识),因此这多个分布式存储集群均可根据第二元数据,从相应的分布式存储集群读取分片文件,从而为用户提供第一文件,使得用户可通过多个分布式存储集群中的任一分布式存储集群访问第一文件,便于用户访问第一文件。

8、在一种可能的实施方式中,所述第二标识是根据所述第一标识确定的。

9、在该实施方式中,文件目录的标识(即第二标识)与多个分片文件的标识(即第一标识)相关,有利于后续根据第一标识,确定文件目录,以便于确定和查找该文件目录。并且,由于对于不同的待写入的文件而言,所对应的第一标识不同,因此确定出的第二标识也就不同,这样有利于将不同的文件分别地存储在不同的文件目录下。

10、在一种可能的实施方式中,所述方法还包括:在将多个分片文件存储在所述存储系统的文件目录下后的时长到达第一时长时,删除所述第一文件以及所述第一元数据。

11、在该实施方式中,存储系统以ec存储机制存储第一文件之后,第一分布式存储集群可在第一时长后删除其存储的第一文件和第一元数据,即第一分布式存储集群支持延迟删除,在没有删除第一文件和第一元数据的情况下,第一分布式存储集群还可直接读取其存储的第一文件,有利于提高读取第一文件的性能。

12、第二方面,本技术实施例提供一种数据存储装置,所述装置设置在存储系统包括的多个分布式存储集群中的第一分布式存储集群中,所述装置包括:收发模块,用于接收并存储第一文件;处理模块,用于记录所述第一文件的第一元数据,所述第一元数据包括所述第一文件在所述第一分布式存储集群中的存储地址;所述收发模块,还用于向所述多个分布式存储集群中除了所述第一分布式存储集群之外的其他分布式存储集群发送所述第一元数据。

13、在一种可能的实施方式中,所述处理模块还用于:将多个分片文件存储在所述存储系统的文件目录下,其中,所述文件目录被挂载了多个逻辑存储单元,所述多个逻辑存储单元与所述多个分布式存储集群对应,其中每个分布式存储集群对应所述多个逻辑存储单元中的至少一个逻辑存储单元,所述多个分片文件包括所述第一文件对应的多个数据块和至少一个校验块,其中一个分片文件包括所述多个数据块中的一个数据块或所述至少一个校验块中的一个校验块,所述至少一个校验块是对所述多个数据块进行校验计算获得的。

14、在一种可能的实施方式中,所述处理模块,还用于记录所述第一文件的第二元数据,所述第二元数据包括第一标识以及第二标识,所述第一标识为所述多个分片文件的标识,并且所述第一标识是根据所述第一分布式存储集群的标识、以及为所述多个分片文件分配的第一对象标识符确定的,所述第一对象标识符是所述第一分布式存储集群中的多个唯一对象标识符中的一个,所述第二标识为所述文件目录的标识;所述收发模块,还用于向所述其他分布式存储集群发送所述第二元数据。

15、在一种可能的实施方式中,所述第二标识是根据所述第一标识确定的。

16、在一种可能的实施方式中,所述处理模块还用于:在将多个分片文件存储在所述存储系统的文件目录下后的时长到达第一时长时,删除所述第一文件以及所述第一元数据。

17、第三方面,本技术实施例提供一种数据存储装置,所述装置包括处理器和通信接口,其中:所述通信接口和所述处理器实现上述第一方面中任一项所述的方法。

18、例如,所述通信接口,用于接收第一文件;所述处理器,用于存储第一文件,并记录第一文件的第一元数据;所述通信接口,还用于向所述多个分布式存储集群中除了所述第一分布式存储集群之外的其他分布式存储集群发送所述第一元数据。

19、可选的,所述数据存储装置还包括存储器,所述存储器用于存储程序指令和/或数据。

20、可选的,所述存储器与所述处理器耦合设置。

21、可选的,该通信装置还包括其他部件,例如,天线,输入输出模块,接口等等。这些部件可以是硬件,软件,或者软件和硬件的结合。

22、第四方面,本技术实施例提供一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机程序,当所述计算机程序在计算机上运行时,使得所述计算机执行第一方面中任一项所述的方法。

23、第五方面,本技术实施例提供一种计算机程序产品,所述计算机程序产品存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被计算机执行时,使所述计算机执行第一方面中任一项所述的方法。

24、第六方面,本技术提供了一种芯片系统,该芯片系统包括处理器,还可以包括存储器,用于实现上述第一方面任一项所述的方法。该芯片系统可以由芯片构成,也可以包含芯片和其他分立器件。

25、上述第二方面至第六方面及其可能的实现方式的有益效果可参考对第一方面的方法及其实施方式的有益效果的描述。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1